From 59a205f0805ed45b1fc1c3bc58dae8a17bc6ecaf Mon Sep 17 00:00:00 2001
From: Bhavik Agarwal <73033511+Bhavik-ag@users.noreply.github.com>
Date: Wed, 21 Feb 2024 13:29:49 +0530
Subject: [PATCH 04/12] added warning on doctor notes usage if not subscribed
(#7224)
* added warning on doctor notes usage if not subscribed
* removing unnecessary console logs
---
.../Facility/PatientNotesSlideover.tsx | 29 +++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/src/Components/Facility/PatientNotesSlideover.tsx b/src/Components/Facility/PatientNotesSlideover.tsx
index 8943d7fe21a..2e04312d277 100644
--- a/src/Components/Facility/PatientNotesSlideover.tsx
+++ b/src/Components/Facility/PatientNotesSlideover.tsx
@@ -12,6 +12,8 @@ import routes from "../../Redux/api";
import { PatientNoteStateType } from "./models";
import useKeyboardShortcut from "use-keyboard-shortcut";
import AutoExpandingTextInputFormField from "../Form/FormFields/AutoExpandingTextInputFormField.js";
+import * as Sentry from "@sentry/browser";
+import useAuthUser from "../../Common/hooks/useAuthUser";
interface PatientNotesProps {
patientId: string;
@@ -26,6 +28,33 @@ export default function PatientNotesSlideover(props: PatientNotesProps) {
const [reload, setReload] = useState(false);
const [focused, setFocused] = useState(false);
+ const { username } = useAuthUser();
+
+ const intialSubscriptionState = async () => {
+ try {
+ const res = await request(routes.getUserPnconfig, {
+ pathParams: { username },
+ });
+ const reg = await navigator.serviceWorker.ready;
+ const subscription = await reg.pushManager.getSubscription();
+ if (!subscription && !res.data?.pf_endpoint) {
+ Notification.Warn({
+ msg: "Please subscribe to notifications to get live updates on doctor notes.",
+ });
+ } else if (subscription?.endpoint !== res.data?.pf_endpoint) {
+ Notification.Warn({
+ msg: "Please subscribe to notifications on this device to get live updates on doctor notes.",
+ });
+ }
+ } catch (error) {
+ Sentry.captureException(error);
+ }
+ };
+
+ useEffect(() => {
+ intialSubscriptionState();
+ }, []);
+
const initialData: PatientNoteStateType = {
notes: [],
cPage: 1,
From af27333a33cc216ff2eaab2296f4068b94af0919 Mon Sep 17 00:00:00 2001
From: Rithvik Nishad
Date: Wed, 21 Feb 2024 13:30:21 +0530
Subject: [PATCH 05/12] =?UTF-8?q?Migrate=20useDispatch=20to=20useQuery=20f?=
=?UTF-8?q?or=20=F0=9F=93=82=20File=20Upload=20module=20(#7174)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* fixes #7170; Migrate useDispatch to useQuery for File Upload module
* fetch on mount
---
src/Components/Patient/FileUpload.tsx | 418 ++++++++----------
src/Components/Patient/UpdateStatusDialog.tsx | 68 +--
src/Components/Patient/models.tsx | 28 +-
src/Redux/actions.tsx | 27 --
src/Redux/api.tsx | 13 +-
5 files changed, 262 insertions(+), 292 deletions(-)
diff --git a/src/Components/Patient/FileUpload.tsx b/src/Components/Patient/FileUpload.tsx
index 77c67abeadd..6f9ca63d51b 100644
--- a/src/Components/Patient/FileUpload.tsx
+++ b/src/Components/Patient/FileUpload.tsx
@@ -3,21 +3,12 @@ import CircularProgress from "../Common/components/CircularProgress";
import {
useCallback,
useState,
- useEffect,
useRef,
lazy,
ChangeEvent,
+ useEffect,
} from "react";
-import { useDispatch } from "react-redux";
-import { statusType, useAbortableEffect } from "../../Common/utils";
-import {
- viewUpload,
- retrieveUpload,
- createUpload,
- getPatient,
- editUpload,
-} from "../../Redux/actions";
-import { FileUploadModel } from "./models";
+import { CreateFileResponse, FileUploadModel } from "./models";
import * as Notification from "../../Utils/Notifications.js";
import { VoiceRecorder } from "../../Utils/VoiceRecorder";
import Pagination from "../Common/Pagination";
@@ -39,6 +30,9 @@ import AuthorizedChild from "../../CAREUI/misc/AuthorizedChild";
import Page from "../Common/components/Page";
import FilePreviewDialog from "../Common/FilePreviewDialog";
import useAuthUser from "../../Common/hooks/useAuthUser";
+import useQuery from "../../Utils/request/useQuery";
+import routes from "../../Redux/api";
+import request from "../../Utils/request/request";
const Loading = lazy(() => import("../Common/Loading"));
@@ -145,7 +139,6 @@ export const FileUpload = (props: FileUploadProps) => {
claimId,
} = props;
const id = patientId;
- const dispatch: any = useDispatch();
const [isLoading, setIsLoading] = useState(false);
const [uploadedArchievedFiles, setuploadedArchievedFiles] = useState<
Array
@@ -157,7 +150,6 @@ export const FileUpload = (props: FileUploadProps) => {
useState>([{}]);
const [uploadStarted, setUploadStarted] = useState(false);
const [audiouploadStarted, setAudioUploadStarted] = useState(false);
- const [reload, setReload] = useState(false);
const [uploadPercent, setUploadPercent] = useState(0);
const [uploadFileName, setUploadFileName] = useState("");
const [uploadFileError, setUploadFileError] = useState("");
@@ -204,8 +196,6 @@ export const FileUpload = (props: FileUploadProps) => {
const [totalDischargeSummaryFilesCount, setTotalDischargeSummaryFilesCount] =
useState(0);
const [offset, setOffset] = useState(0);
- const [facilityName, setFacilityName] = useState("");
- const [patientName, setPatientName] = useState("");
const [modalOpenForEdit, setModalOpenForEdit] = useState(false);
const [modalOpenForCamera, setModalOpenForCamera] = useState(false);
const [modalOpenForArchive, setModalOpenForArchive] = useState(false);
@@ -219,28 +209,15 @@ export const FileUpload = (props: FileUploadProps) => {
const [sortFileState, setSortFileState] = useState("UNARCHIVED");
const authUser = useAuthUser();
const limit = RESULTS_PER_PAGE_LIMIT;
- const [isActive, setIsActive] = useState(true);
const [tabs, setTabs] = useState([
{ name: "Unarchived Files", value: "UNARCHIVED" },
{ name: "Archived Files", value: "ARCHIVED" },
]);
- useEffect(() => {
- async function fetchPatientName() {
- if (patientId) {
- const res = await dispatch(getPatient({ id: patientId }));
- if (res.data) {
- setPatientName(res.data.name);
- setFacilityName(res.data.facility_object.name);
- setIsActive(res.data.is_active);
- }
- } else {
- setPatientName("");
- setFacilityName("");
- }
- }
- fetchPatientName();
- }, [dispatch, patientId]);
+ const { data: patient } = useQuery(routes.getPatient, {
+ pathParams: { id: patientId },
+ prefetch: !!patientId,
+ });
const captureImage = () => {
setPreviewImage(webRef.current.getScreenshot());
@@ -298,104 +275,93 @@ export const FileUpload = (props: FileUploadProps) => {
}
};
- const fetchData = useCallback(
- async (status: statusType) => {
- setIsLoading(true);
- const unarchivedFileData = {
+ const fetchData = useCallback(async () => {
+ setIsLoading(true);
+
+ const unarchivedQuery = await request(routes.viewUpload, {
+ query: {
file_type: type,
associating_id: getAssociatedId(),
is_archived: false,
limit: limit,
offset: offset,
- };
- let res = await dispatch(viewUpload(unarchivedFileData));
- if (!status.aborted) {
- if (res?.data) {
- audio_urls(res.data.results);
- setuploadedUnarchievedFiles(
- res?.data?.results?.filter(
- (file: FileUploadModel) =>
- file.upload_completed || file.file_category === "AUDIO"
- )
- );
- setTotalUnarchievedFilesCount(res.data.count);
- }
- setIsLoading(false);
- }
- const archivedFileData = {
+ },
+ });
+
+ if (unarchivedQuery.data) {
+ audio_urls(unarchivedQuery.data.results);
+ setuploadedUnarchievedFiles(
+ unarchivedQuery.data.results?.filter(
+ (file) => file.upload_completed || file.file_category === "AUDIO"
+ )
+ );
+ setTotalUnarchievedFilesCount(unarchivedQuery.data.count);
+ }
+
+ const archivedQuery = await request(routes.viewUpload, {
+ query: {
file_type: type,
associating_id: getAssociatedId(),
is_archived: true,
limit: limit,
offset: offset,
- };
- res = await dispatch(viewUpload(archivedFileData));
- if (!status.aborted) {
- if (res?.data) {
- setuploadedArchievedFiles(res.data.results);
- setTotalArchievedFilesCount(res.data.count);
- }
- setIsLoading(false);
- }
- if (type === "CONSULTATION") {
- const dischargeSummaryFileData = {
+ },
+ });
+
+ if (archivedQuery.data) {
+ setuploadedArchievedFiles(archivedQuery.data.results);
+ setTotalArchievedFilesCount(archivedQuery.data.count);
+ }
+
+ if (type === "CONSULTATION") {
+ const dischargeSummaryQuery = await request(routes.viewUpload, {
+ query: {
file_type: "DISCHARGE_SUMMARY",
associating_id: getAssociatedId(),
is_archived: false,
limit: limit,
offset: offset,
- };
- res = await dispatch(viewUpload(dischargeSummaryFileData));
- if (!status.aborted) {
- if (res?.data) {
- setuploadedDischargeSummaryFiles(res.data.results);
- setTotalDischargeSummaryFilesCount(res.data.count);
- if (res?.data?.results?.length > 0) {
- setTabs([
- ...tabs,
- {
- name: "Discharge Summary",
- value: "DISCHARGE_SUMMARY",
- },
- ]);
- }
- }
+ },
+ });
+ if (dischargeSummaryQuery.data) {
+ setuploadedDischargeSummaryFiles(dischargeSummaryQuery.data.results);
+ setTotalDischargeSummaryFilesCount(dischargeSummaryQuery.data.count);
+ if (dischargeSummaryQuery.data?.results?.length) {
+ setTabs([
+ ...tabs,
+ {
+ name: "Discharge Summary",
+ value: "DISCHARGE_SUMMARY",
+ },
+ ]);
}
- setIsLoading(false);
}
- },
- [dispatch, id, offset]
- );
+ }
- // Store all audio urls for each audio file
- const audio_urls = (files: any) => {
- let audio_files = files || [];
- audio_files = audio_files.filter(
- (x: FileUploadModel) => x.file_category === "AUDIO"
- );
+ setIsLoading(false);
+ }, [id, offset]);
- const getURL = async (audio_files: any) => {
- const data = { file_type: type, associating_id: getAssociatedId() };
- const all_urls: any = {};
+ useEffect(() => {
+ fetchData();
+ }, [fetchData]);
- for (const x of audio_files) {
- if (x.id) {
- const responseData = await dispatch(retrieveUpload(data, x.id));
- all_urls[`${x.id}`] = responseData.data.read_signed_url;
- }
- }
- seturl(all_urls);
- };
- getURL(audio_files);
+ // Store all audio urls for each audio file
+ const audio_urls = async (files: FileUploadModel[]) => {
+ const audioFiles = files.filter((x) => x.file_category === "AUDIO");
+ const query = { file_type: type, associating_id: getAssociatedId() };
+ const urls = await Promise.all(
+ audioFiles.map(async (file) => {
+ const id = file.id as string;
+ const { data } = await request(routes.retrieveUpload, {
+ query,
+ pathParams: { id: id as string },
+ });
+ return [id, data?.read_signed_url];
+ })
+ );
+ seturl(Object.fromEntries(urls));
};
- useAbortableEffect(
- (status: statusType) => {
- fetchData(status);
- },
- [dispatch, fetchData, id, reload]
- );
-
// Function to extract the extension of the file
const getExtension = (url: string) => {
const div1 = url.split("?")[0].split(".");
@@ -473,28 +439,35 @@ export const FileUpload = (props: FileUploadProps) => {
return "fa-solid fa-file-medical";
};
- const loadFile = async (id: any) => {
+ const loadFile = async (id: string) => {
setFileUrl("");
setFileState({ ...file_state, open: true });
- const data = {
- file_type: sortFileState === "DISCHARGE_SUMMARY" ? sortFileState : type,
- associating_id: getAssociatedId(),
- };
- const responseData = await dispatch(retrieveUpload(data, id));
- const file_extension = getExtension(responseData.data.read_signed_url);
- if (file_extension === "pdf") {
- window.open(responseData.data.read_signed_url, "_blank");
+ const { data } = await request(routes.retrieveUpload, {
+ query: {
+ file_type: sortFileState === "DISCHARGE_SUMMARY" ? sortFileState : type,
+ associating_id: getAssociatedId(),
+ },
+ pathParams: { id },
+ });
+
+ if (!data) return;
+
+ const signedUrl = data.read_signed_url as string;
+ const extension = getExtension(signedUrl);
+
+ if (extension === "pdf") {
+ window.open(signedUrl, "_blank");
setFileState({ ...file_state, open: false });
} else {
setFileState({
...file_state,
open: true,
- name: responseData.data.name,
- extension: file_extension,
- isImage: ExtImage.includes(file_extension),
+ name: data.name as string,
+ extension,
+ isImage: ExtImage.includes(extension),
});
- downloadFileUrl(responseData.data.read_signed_url);
- setFileUrl(responseData.data.read_signed_url);
+ downloadFileUrl(signedUrl);
+ setFileUrl(signedUrl);
}
};
@@ -518,63 +491,54 @@ export const FileUpload = (props: FileUploadProps) => {
}
};
- const partialupdateFileName = async (id: any, name: string) => {
- const data = {
- file_type: sortFileState === "DISCHARGE_SUMMARY" ? sortFileState : type,
- name: name,
- associating_id: getAssociatedId(),
- };
- if (validateEditFileName(name)) {
- const res = await dispatch(
- editUpload({ name: data.name }, id, data.file_type, data.associating_id)
- );
- if (res && res.status === 200) {
- fetchData(res.status);
- Notification.Success({
- msg: "File name changed successfully",
- });
- setbtnloader(false);
- setModalOpenForEdit(false);
- } else {
- setbtnloader(false);
- }
- } else {
+ const partialupdateFileName = async (id: string, name: string) => {
+ if (!validateEditFileName(name)) {
setbtnloader(false);
+ return;
}
+
+ const fileType =
+ sortFileState === "DISCHARGE_SUMMARY" ? sortFileState : type;
+
+ const { res } = await request(routes.editUpload, {
+ body: { name },
+ pathParams: {
+ id,
+ fileType,
+ associatingId: getAssociatedId(),
+ },
+ });
+
+ if (res?.ok) {
+ fetchData();
+ Notification.Success({ msg: "File name changed successfully" });
+ setModalOpenForEdit(false);
+ }
+ setbtnloader(false);
};
- const archiveFile = async (id: any, archiveReason: string) => {
- const data = {
- file_type: type,
- is_archived: true,
- archive_reason: archiveReason,
- associating_id: getAssociatedId(),
- };
- if (validateArchiveReason(archiveReason)) {
- const res = await dispatch(
- editUpload(
- {
- is_archived: data.is_archived,
- archive_reason: data.archive_reason,
- },
- id,
- data.file_type,
- data.associating_id
- )
- );
- if (res && res.status === 200) {
- fetchData(res.status);
- Notification.Success({
- msg: "File archived successfully",
- });
- setbtnloader(false);
- setModalOpenForArchive(false);
- } else {
- setbtnloader(false);
- }
- } else {
+ const archiveFile = async (id: string, archive_reason: string) => {
+ if (!validateArchiveReason(archiveReason)) {
setbtnloader(false);
+ return;
}
+
+ const { res } = await request(routes.editUpload, {
+ body: { is_archived: true, archive_reason },
+ pathParams: {
+ id,
+ fileType: type,
+ associatingId: getAssociatedId(),
+ },
+ });
+
+ if (res?.ok) {
+ fetchData();
+ Notification.Success({ msg: "File archived successfully" });
+ setModalOpenForArchive(false);
+ }
+
+ setbtnloader(false);
};
const renderFileUpload = (item: FileUploadModel) => {
@@ -739,7 +703,7 @@ export const FileUpload = (props: FileUploadProps) => {
{
- loadFile(item.id);
+ loadFile(item.id!);
}}
className="m-1 w-full sm:w-auto"
>
@@ -932,9 +896,9 @@ export const FileUpload = (props: FileUploadProps) => {
setFile(f);
};
- const uploadfile = (response: any) => {
- const url = response.data.signed_url;
- const internal_name = response.data.internal_name;
+ const uploadfile = async (data: CreateFileResponse) => {
+ const url = data.signed_url;
+ const internal_name = data.internal_name;
const f = file;
if (!f) return;
const newFile = new File([f], `${internal_name}`);
@@ -951,6 +915,7 @@ export const FileUpload = (props: FileUploadProps) => {
setUploadPercent(percentCompleted);
},
};
+
return new Promise((resolve, reject) => {
axios
.put(url, newFile, config)
@@ -959,13 +924,12 @@ export const FileUpload = (props: FileUploadProps) => {
// setUploadSuccess(true);
setFile(null);
setUploadFileName("");
- setReload(!reload);
- fetchData({ aborted: false });
+ fetchData();
Notification.Success({
msg: "File Uploaded Successfully",
});
setUploadFileError("");
- resolve(response);
+ resolve();
})
.catch((e) => {
Notification.Error({
@@ -994,18 +958,18 @@ export const FileUpload = (props: FileUploadProps) => {
}
return true;
};
- const markUploadComplete = async (response: any) => {
- return dispatch(
- editUpload(
- { upload_completed: true },
- response.data.id,
- type,
- getAssociatedId()
- )
- );
+ const markUploadComplete = (data: CreateFileResponse) => {
+ return request(routes.editUpload, {
+ body: { upload_completed: true },
+ pathParams: {
+ id: data.id,
+ fileType: type,
+ associatingId: getAssociatedId(),
+ },
+ });
};
- const handleUpload = async (status: any) => {
+ const handleUpload = async () => {
if (!validateFileUpload()) return;
const f = file;
@@ -1013,24 +977,23 @@ export const FileUpload = (props: FileUploadProps) => {
const filename = uploadFileName === "" && f ? f.name : uploadFileName;
const name = f?.name;
setUploadStarted(true);
- // setUploadSuccess(false);
- const requestData = {
- original_name: name,
- file_type: type,
- name: filename,
- associating_id: getAssociatedId(),
- file_category: category,
- mime_type: f?.type,
- };
- dispatch(createUpload(requestData))
- .then(uploadfile)
- .then(markUploadComplete)
- .catch(() => {
- setUploadStarted(false);
- })
- .then(() => {
- fetchData(status);
- });
+
+ const { data } = await request(routes.createUpload, {
+ body: {
+ original_name: name,
+ file_type: type,
+ name: filename,
+ associating_id: getAssociatedId(),
+ file_category: category,
+ mime_type: f?.type,
+ },
+ });
+
+ if (data) {
+ await uploadfile(data);
+ await markUploadComplete(data);
+ await fetchData();
+ }
};
const createAudioBlob = (createdBlob: Blob) => {
@@ -1071,7 +1034,7 @@ export const FileUpload = (props: FileUploadProps) => {
setAudioUploadStarted(false);
// setUploadSuccess(true);
setAudioName("");
- setReload(!reload);
+ fetchData();
Notification.Success({
msg: "File Uploaded Successfully",
});
@@ -1102,16 +1065,17 @@ export const FileUpload = (props: FileUploadProps) => {
const filename =
audioName.trim().length === 0 ? Date.now().toString() : audioName.trim();
setAudioUploadStarted(true);
- // setUploadSuccess(false);
- const requestData = {
- original_name: name,
- file_type: type,
- name: filename,
- associating_id: getAssociatedId(),
- file_category: category,
- mime_type: audioBlob?.type,
- };
- dispatch(createUpload(requestData))
+
+ request(routes.createUpload, {
+ body: {
+ original_name: name,
+ file_type: type,
+ name: filename,
+ associating_id: getAssociatedId(),
+ file_category: category,
+ mime_type: audioBlob?.type,
+ },
+ })
.then(uploadAudiofile)
.catch(() => {
setAudioUploadStarted(false);
@@ -1318,7 +1282,7 @@ export const FileUpload = (props: FileUploadProps) => {
onSubmit={(event: any) => {
event.preventDefault();
setbtnloader(true);
- partialupdateFileName(modalDetails?.id, editFileName);
+ partialupdateFileName(modalDetails!.id!, editFileName);
}}
className="flex w-full flex-col"
>
@@ -1364,7 +1328,7 @@ export const FileUpload = (props: FileUploadProps) => {
onSubmit={(event: any) => {
event.preventDefault();
setbtnloader(true);
- archiveFile(modalDetails?.id, archiveReason);
+ archiveFile(modalDetails!.id!, archiveReason);
}}
className="mx-2 my-4 flex w-full flex-col"
>
@@ -1433,8 +1397,8 @@ export const FileUpload = (props: FileUploadProps) => {
hideBack={hideBack}
breadcrumbs={false}
crumbsReplacements={{
- [facilityId]: { name: facilityName },
- [patientId]: { name: patientName },
+ [facilityId]: { name: patient?.facility_object?.name },
+ [patientId]: { name: patient?.name },
}}
backUrl={
type === "CONSULTATION"
@@ -1558,8 +1522,12 @@ export const FileUpload = (props: FileUploadProps) => {
handleUpload({ status })}
+ disabled={
+ !file ||
+ !uploadFileName ||
+ (patient && !patient.is_active)
+ }
+ onClick={handleUpload}
className="w-full"
>
diff --git a/src/Components/Patient/UpdateStatusDialog.tsx b/src/Components/Patient/UpdateStatusDialog.tsx
index 11f442b7a65..c302aa1b957 100644
--- a/src/Components/Patient/UpdateStatusDialog.tsx
+++ b/src/Components/Patient/UpdateStatusDialog.tsx
@@ -5,10 +5,8 @@ import {
SAMPLE_TEST_RESULT,
SAMPLE_FLOW_RULES,
} from "../../Common/constants";
-import { SampleTestModel } from "./models";
+import { CreateFileResponse, SampleTestModel } from "./models";
import * as Notification from "../../Utils/Notifications.js";
-import { createUpload, editUpload } from "../../Redux/actions";
-import { useDispatch } from "react-redux";
import { header_content_type, LinearProgressWithLabel } from "./FileUpload";
import { Submit } from "../Common/components/ButtonV2";
import CareIcon from "../../CAREUI/icons/CareIcon";
@@ -18,6 +16,8 @@ import { FieldChangeEvent } from "../Form/FormFields/Utils";
import TextFormField from "../Form/FormFields/TextFormField";
import CheckBoxFormField from "../Form/FormFields/CheckBoxFormField";
import { useTranslation } from "react-i18next";
+import request from "../../Utils/request/request";
+import routes from "../../Redux/api";
interface Props {
sample: SampleTestModel;
@@ -62,7 +62,6 @@ const UpdateStatusDialog = (props: Props) => {
const [uploadPercent, setUploadPercent] = useState(0);
const [uploadStarted, setUploadStarted] = useState(false);
const [uploadDone, setUploadDone] = useState(false);
- const redux_dispatch: any = useDispatch();
const currentStatus = SAMPLE_TEST_STATUS.find(
(i) => i.text === sample.status
@@ -97,9 +96,10 @@ const UpdateStatusDialog = (props: Props) => {
dispatch({ type: "set_form", form });
};
- const uploadfile = (response: any) => {
- const url = response.data.signed_url;
- const internal_name = response.data.internal_name;
+ const uploadfile = (data: CreateFileResponse) => {
+ const url = data.signed_url;
+ const internal_name = data.internal_name;
+
const f = file;
if (f === undefined) return;
const newFile = new File([f], `${internal_name}`);
@@ -116,29 +116,27 @@ const UpdateStatusDialog = (props: Props) => {
setUploadPercent(percentCompleted);
},
};
+
axios
.put(url, newFile, config)
.then(() => {
setUploadStarted(false);
setUploadDone(true);
- redux_dispatch(
- editUpload(
- { upload_completed: true },
- response.data.id,
- "SAMPLE_MANAGEMENT",
- sample.id?.toString() ?? ""
- )
- );
- Notification.Success({
- msg: "File Uploaded Successfully",
+ request(routes.editUpload, {
+ pathParams: {
+ id: data.id,
+ fileType: "SAMPLE_MANAGEMENT",
+ associatingId: sample.id?.toString() ?? "",
+ },
+ body: { upload_completed: true },
});
+
+ Notification.Success({ msg: "File Uploaded Successfully" });
})
- .catch(() => {
- setUploadStarted(false);
- });
+ .catch(() => setUploadStarted(false));
};
- const onFileChange = (e: React.ChangeEvent): any => {
+ const onFileChange = (e: React.ChangeEvent) => {
if (e.target.files == null) {
throw new Error("Error finding e.target.files");
}
@@ -155,19 +153,21 @@ const UpdateStatusDialog = (props: Props) => {
const name = f.name;
setUploadStarted(true);
setUploadDone(false);
- const requestData = {
- original_name: name,
- file_type: "SAMPLE_MANAGEMENT",
- name: `${sample.patient_name} Sample Report`,
- associating_id: sample.id,
- file_category: category,
- mime_type: contentType,
- };
- redux_dispatch(createUpload(requestData))
- .then(uploadfile)
- .catch(() => {
- setUploadStarted(false);
- });
+
+ const { data } = await request(routes.createUpload, {
+ body: {
+ original_name: name,
+ file_type: "SAMPLE_MANAGEMENT",
+ name: `${sample.patient_name} Sample Report`,
+ associating_id: sample.id,
+ file_category: category,
+ mime_type: contentType,
+ },
+ });
+
+ if (data) {
+ uploadfile(data);
+ }
};
return (
diff --git a/src/Components/Patient/models.tsx b/src/Components/Patient/models.tsx
index fc87bedcb14..05eb780069d 100644
--- a/src/Components/Patient/models.tsx
+++ b/src/Components/Patient/models.tsx
@@ -147,7 +147,7 @@ export interface SampleTestModel {
is_unusual_course?: boolean;
sample_type?: string;
sample_type_other?: string;
- id?: number;
+ id?: string;
status?: string;
result?: string;
icmr_category?: string;
@@ -337,16 +337,36 @@ export interface FacilityNameModel {
// File Upload Models
+type FileCategory = "UNSPECIFIED" | "XRAY" | "AUDIO" | "IDENTITY_PROOF";
+
+export interface CreateFileRequest {
+ file_type: string;
+ file_category: FileCategory;
+ name: string;
+ associating_id: string;
+ original_name: string;
+ mime_type: string;
+}
+
+export interface CreateFileResponse {
+ id: string;
+ file_type: string;
+ file_category: FileCategory;
+ signed_url: string;
+ internal_name: string;
+}
+
export interface FileUploadModel {
id?: string;
name?: string;
created_date?: string;
upload_completed?: boolean;
- uploaded_by?: { username?: string };
- file_category?: string;
+ uploaded_by?: PerformedByModel;
+ file_category?: FileCategory;
+ read_signed_url?: string;
is_archived?: boolean;
archive_reason?: string;
extension?: string;
- archived_by?: { username?: string };
+ archived_by?: PerformedByModel;
archived_datetime?: string;
}
diff --git a/src/Redux/actions.tsx b/src/Redux/actions.tsx
index cfe298bda82..c11a5f9de59 100644
--- a/src/Redux/actions.tsx
+++ b/src/Redux/actions.tsx
@@ -175,33 +175,6 @@ export const externalResult = (pathParam: object) => {
return fireRequest("externalResult", [], {}, pathParam);
};
-// FileUpload
-
-export const createUpload = (params: object) => {
- return fireRequest("createUpload", [], params);
-};
-
-export const viewUpload = (params: object) => {
- return fireRequest("viewUpload", [], params);
-};
-
-export const retrieveUpload = (params: object, fileId: string) => {
- return fireRequest("retrieveUpload", [], params, { fileId: fileId });
-};
-
-export const editUpload = (
- params: object,
- fileId: string,
- fileType: string,
- associatingId: string
-) => {
- return fireRequest("editUpload", [], params, {
- fileId,
- fileType,
- associatingId,
- });
-};
-
// Investigation
export const listInvestigations = (
diff --git a/src/Redux/api.tsx b/src/Redux/api.tsx
index eb75f23c77c..524d2311557 100644
--- a/src/Redux/api.tsx
+++ b/src/Redux/api.tsx
@@ -75,7 +75,10 @@ import {
} from "../Components/Users/models";
import { Prescription } from "../Components/Medicine/models";
import {
+ CreateFileRequest,
+ CreateFileResponse,
DailyRoundsModel,
+ FileUploadModel,
PatientModel,
SampleReportModel,
SampleTestModel,
@@ -1015,18 +1018,24 @@ const routes = {
createUpload: {
path: "/api/v1/files/",
method: "POST",
+ TBody: Type(),
+ TRes: Type(),
},
viewUpload: {
path: "/api/v1/files/",
method: "GET",
+ TRes: Type>(),
},
retrieveUpload: {
- path: "/api/v1/files/{fileId}/",
+ path: "/api/v1/files/{id}/",
method: "GET",
+ TRes: Type(),
},
editUpload: {
- path: "/api/v1/files/{fileId}/?file_type={fileType}&associating_id={associatingId}",
+ path: "/api/v1/files/{id}/?file_type={fileType}&associating_id={associatingId}",
method: "PATCH",
+ TBody: Type>(),
+ TRes: Type(),
},
// Investigation
From 925eb6b894f05b1bd19cca1d6dbb8c8ee110ab4c Mon Sep 17 00:00:00 2001
From: Onkar Jadhav <56870381+Omkar76@users.noreply.github.com>
Date: Wed, 21 Feb 2024 13:30:53 +0530
Subject: [PATCH 06/12] Replace font-awesome icons by CareIcon component
(#7118)
* Replace font-awesome icons by CareIcon component
* More fontawesome removals
* use CareIcon instead of HTML i element
* Careicon size fixing
* fix user online icon
---------
Co-authored-by: rithviknishad
---
package-lock.json | 467 +++++++++++++++++-
package.json | 1 -
src/CAREUI/display/FilterBadge.tsx | 9 +-
src/CAREUI/icons/CareIcon.tsx | 10 +-
src/Common/constants.tsx | 38 +-
src/Components/ABDM/LinkABHANumberModal.tsx | 4 +-
src/Components/Assets/AssetImportModal.tsx | 14 +-
src/Components/Assets/AssetManage.tsx | 5 +-
src/Components/Assets/AssetsList.tsx | 6 +-
.../Assets/configure/MonitorConfigure.tsx | 3 +-
src/Components/Common/Breadcrumbs.tsx | 2 +-
src/Components/Common/CareIcon.res | 19 +
src/Components/Common/FilePreviewDialog.tsx | 21 +-
src/Components/Common/PageTitle.tsx | 8 +-
src/Components/Common/Sidebar/Sidebar.tsx | 7 +-
.../PrescriptionDropdown.tsx | 4 +-
.../PrescriptionMultiselect.tsx | 3 +-
.../CriticalCare__Index.res | 6 +-
.../Pain/CriticalCare__PainEditor.res | 5 +-
.../CriticalCare__PressureSoreEditor.res | 5 +-
.../Recording/CriticalCare__Recording.res | 14 +-
.../CriticalCare__InputGroupError.res | 2 +-
src/Components/DeathReport/DeathReport.tsx | 6 +-
.../ExternalResult/ExternalResultUpload.tsx | 6 +-
src/Components/ExternalResult/ResultItem.tsx | 5 +-
src/Components/ExternalResult/ResultList.tsx | 7 +-
src/Components/Facility/AssetCreate.tsx | 25 +-
.../Facility/Consultations/Beds.tsx | 2 +-
.../Facility/Consultations/LiveFeed.tsx | 12 +-
.../Facility/DoctorVideoSlideover.tsx | 10 +-
.../Facility/FacilityBedCapacity.tsx | 3 +-
src/Components/Facility/FacilityCard.tsx | 10 +-
.../Facility/FacilityDoctorList.tsx | 3 +-
src/Components/Facility/FacilityHome.tsx | 9 +-
.../Facility/FacilityHomeTriage.tsx | 6 +-
src/Components/Facility/FacilityUsers.tsx | 7 -
src/Components/Facility/HospitalList.tsx | 3 +-
src/Components/Facility/InventoryLog.tsx | 5 +-
.../InvestigationSuggestions.tsx | 4 +-
src/Components/Facility/TreatmentSummary.tsx | 5 +-
.../Notifications/NotificationsList.tsx | 16 +-
src/Components/Patient/FileUpload.tsx | 64 +--
src/Components/Patient/ManagePatients.tsx | 5 +-
src/Components/Patient/PatientHome.tsx | 17 +-
src/Components/Patient/PatientInfoCard.tsx | 26 +-
src/Components/Patient/PatientRegister.tsx | 5 +-
src/Components/Resource/ListView.tsx | 18 +-
src/Components/Resource/ResourceBoard.tsx | 13 +-
src/Components/Resource/ResourceDetails.tsx | 9 +-
src/Components/Shifting/ListView.tsx | 22 +-
src/Components/Shifting/ShiftDetails.tsx | 12 +-
src/Components/Shifting/ShiftingBoard.tsx | 20 +-
src/Components/Users/ManageUsers.tsx | 14 +-
src/Components/Users/UserAdd.tsx | 23 +-
src/Components/Users/UserProfile.tsx | 2 +-
src/style/index.css | 4 -
56 files changed, 800 insertions(+), 251 deletions(-)
create mode 100644 src/Components/Common/CareIcon.res
diff --git a/package-lock.json b/package-lock.json
index 648fd35ae1d..2012f059178 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,7 +11,6 @@
"dependencies": {
"@date-io/date-fns": "^2.16.0",
"@fontsource/inter": "^5.0.16",
- "@fortawesome/fontawesome-free": "^6.5.1",
"@glennsl/bs-json": "^5.0.4",
"@googlemaps/react-wrapper": "^1.1.35",
"@googlemaps/typescript-guards": "^2.0.3",
@@ -2829,15 +2828,6 @@
"resolved": "https://registry.npmjs.org/@fontsource/inter/-/inter-5.0.16.tgz",
"integrity": "sha512-qF0aH5UiZvCmneX5orJbVRoc2VTyLTV3X/7laMp03Qt28L+B9tFlZODOGUL64wDWc69YVdi1LeJB0cIgd51lvw=="
},
- "node_modules/@fortawesome/fontawesome-free": {
- "version": "6.5.1",
- "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.5.1.tgz",
- "integrity": "sha512-CNy5vSwN3fsUStPRLX7fUYojyuzoEMSXPl7zSLJ8TgtRfjv24LOnOWKT2zYwaHZCJGkdyRnTmstR0P+Ah503Gw==",
- "hasInstallScript": true,
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/@glennsl/bs-json": {
"version": "5.0.4",
"resolved": "https://registry.npmjs.org/@glennsl/bs-json/-/bs-json-5.0.4.tgz",
@@ -15944,6 +15934,8 @@
},
"node_modules/npm/node_modules/@colors/colors": {
"version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
+ "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -15954,6 +15946,8 @@
},
"node_modules/npm/node_modules/@isaacs/cliui": {
"version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
+ "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -15971,6 +15965,8 @@
},
"node_modules/npm/node_modules/@isaacs/cliui/node_modules/ansi-regex": {
"version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+ "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -15983,12 +15979,16 @@
},
"node_modules/npm/node_modules/@isaacs/cliui/node_modules/emoji-regex": {
"version": "9.2.2",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
"dev": true,
"inBundle": true,
"license": "MIT"
},
"node_modules/npm/node_modules/@isaacs/cliui/node_modules/string-width": {
"version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+ "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -16006,6 +16006,8 @@
},
"node_modules/npm/node_modules/@isaacs/cliui/node_modules/strip-ansi": {
"version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+ "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -16021,6 +16023,8 @@
},
"node_modules/npm/node_modules/@isaacs/string-locale-compare": {
"version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz",
+ "integrity": "sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==",
"dev": true,
"inBundle": true,
"license": "ISC"
@@ -16093,6 +16097,8 @@
},
"node_modules/npm/node_modules/@npmcli/disparity-colors": {
"version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/disparity-colors/-/disparity-colors-3.0.0.tgz",
+ "integrity": "sha512-5R/z157/f20Fi0Ou4ZttL51V0xz0EdPEOauFtPCEYOLInDBRCj1/TxOJ5aGTrtShxEshN2d+hXb9ZKSi5RLBcg==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -16105,6 +16111,8 @@
},
"node_modules/npm/node_modules/@npmcli/fs": {
"version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz",
+ "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -16117,6 +16125,8 @@
},
"node_modules/npm/node_modules/@npmcli/git": {
"version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-4.1.0.tgz",
+ "integrity": "sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -16136,6 +16146,8 @@
},
"node_modules/npm/node_modules/@npmcli/installed-package-contents": {
"version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz",
+ "integrity": "sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -16152,6 +16164,8 @@
},
"node_modules/npm/node_modules/@npmcli/map-workspaces": {
"version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-3.0.4.tgz",
+ "integrity": "sha512-Z0TbvXkRbacjFFLpVpV0e2mheCh+WzQpcqL+4xp49uNJOxOnIAPZyXtUxZ5Qn3QBTGKA11Exjd9a5411rBrhDg==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -16167,6 +16181,8 @@
},
"node_modules/npm/node_modules/@npmcli/metavuln-calculator": {
"version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-5.0.1.tgz",
+ "integrity": "sha512-qb8Q9wIIlEPj3WeA1Lba91R4ZboPL0uspzV0F9uwP+9AYMVB2zOoa7Pbk12g6D2NHAinSbHh6QYmGuRyHZ874Q==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -16182,6 +16198,8 @@
},
"node_modules/npm/node_modules/@npmcli/name-from-folder": {
"version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-2.0.0.tgz",
+ "integrity": "sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -16191,6 +16209,8 @@
},
"node_modules/npm/node_modules/@npmcli/node-gyp": {
"version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz",
+ "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -16200,6 +16220,8 @@
},
"node_modules/npm/node_modules/@npmcli/package-json": {
"version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-4.0.1.tgz",
+ "integrity": "sha512-lRCEGdHZomFsURroh522YvA/2cVb9oPIJrjHanCJZkiasz1BzcnLr3tBJhlV7S86MBJBuAQ33is2D60YitZL2Q==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -16218,6 +16240,8 @@
},
"node_modules/npm/node_modules/@npmcli/promise-spawn": {
"version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz",
+ "integrity": "sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -16242,6 +16266,8 @@
},
"node_modules/npm/node_modules/@npmcli/run-script": {
"version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-6.0.2.tgz",
+ "integrity": "sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -16258,6 +16284,8 @@
},
"node_modules/npm/node_modules/@pkgjs/parseargs": {
"version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
+ "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -16290,6 +16318,8 @@
},
"node_modules/npm/node_modules/@tootallnate/once": {
"version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
+ "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -16299,6 +16329,8 @@
},
"node_modules/npm/node_modules/@tufjs/canonical-json": {
"version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz",
+ "integrity": "sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -16308,6 +16340,8 @@
},
"node_modules/npm/node_modules/@tufjs/models": {
"version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-1.0.4.tgz",
+ "integrity": "sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -16321,6 +16355,8 @@
},
"node_modules/npm/node_modules/abbrev": {
"version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz",
+ "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -16342,6 +16378,8 @@
},
"node_modules/npm/node_modules/agent-base": {
"version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -16368,6 +16406,8 @@
},
"node_modules/npm/node_modules/aggregate-error": {
"version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
+ "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -16381,6 +16421,8 @@
},
"node_modules/npm/node_modules/ansi-regex": {
"version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -16390,6 +16432,8 @@
},
"node_modules/npm/node_modules/ansi-styles": {
"version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -16405,12 +16449,16 @@
},
"node_modules/npm/node_modules/aproba": {
"version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
+ "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==",
"dev": true,
"inBundle": true,
"license": "ISC"
},
"node_modules/npm/node_modules/archy": {
"version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
+ "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==",
"dev": true,
"inBundle": true,
"license": "MIT"
@@ -16430,12 +16478,16 @@
},
"node_modules/npm/node_modules/balanced-match": {
"version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
"dev": true,
"inBundle": true,
"license": "MIT"
},
"node_modules/npm/node_modules/base64-js": {
"version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
"dev": true,
"funding": [
{
@@ -16471,6 +16523,8 @@
},
"node_modules/npm/node_modules/binary-extensions": {
"version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -16478,6 +16532,17 @@
"node": ">=8"
}
},
+ "node_modules/npm/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "inBundle": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
"node_modules/npm/node_modules/buffer": {
"version": "6.0.3",
"dev": true,
@@ -16504,6 +16569,8 @@
},
"node_modules/npm/node_modules/builtins": {
"version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz",
+ "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -16536,6 +16603,8 @@
},
"node_modules/npm/node_modules/chalk": {
"version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
+ "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -16548,6 +16617,8 @@
},
"node_modules/npm/node_modules/chownr": {
"version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -16557,6 +16628,8 @@
},
"node_modules/npm/node_modules/ci-info": {
"version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz",
+ "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==",
"dev": true,
"funding": [
{
@@ -16572,6 +16645,8 @@
},
"node_modules/npm/node_modules/cidr-regex": {
"version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/cidr-regex/-/cidr-regex-3.1.1.tgz",
+ "integrity": "sha512-RBqYd32aDwbCMFJRL6wHOlDNYJsPNTt8vC82ErHF5vKt8QQzxm1FrkW8s/R5pVrXMf17sba09Uoy91PKiddAsw==",
"dev": true,
"inBundle": true,
"license": "BSD-2-Clause",
@@ -16584,6 +16659,8 @@
},
"node_modules/npm/node_modules/clean-stack": {
"version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
+ "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -16593,6 +16670,8 @@
},
"node_modules/npm/node_modules/cli-columns": {
"version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cli-columns/-/cli-columns-4.0.0.tgz",
+ "integrity": "sha512-XW2Vg+w+L9on9wtwKpyzluIPCWXjaBahI7mTcYjx+BVIYD9c3yqcv/yKC7CmdCZat4rq2yiE1UMSJC5ivKfMtQ==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -16606,6 +16685,8 @@
},
"node_modules/npm/node_modules/cli-table3": {
"version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz",
+ "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -16621,6 +16702,8 @@
},
"node_modules/npm/node_modules/clone": {
"version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -16639,6 +16722,8 @@
},
"node_modules/npm/node_modules/color-convert": {
"version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -16651,12 +16736,16 @@
},
"node_modules/npm/node_modules/color-name": {
"version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true,
"inBundle": true,
"license": "MIT"
},
"node_modules/npm/node_modules/color-support": {
"version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
+ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -16666,6 +16755,8 @@
},
"node_modules/npm/node_modules/columnify": {
"version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.6.0.tgz",
+ "integrity": "sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -16679,24 +16770,32 @@
},
"node_modules/npm/node_modules/common-ancestor-path": {
"version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz",
+ "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==",
"dev": true,
"inBundle": true,
"license": "ISC"
},
"node_modules/npm/node_modules/concat-map": {
"version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
"dev": true,
"inBundle": true,
"license": "MIT"
},
"node_modules/npm/node_modules/console-control-strings": {
"version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==",
"dev": true,
"inBundle": true,
"license": "ISC"
},
"node_modules/npm/node_modules/cross-spawn": {
"version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -16711,6 +16810,8 @@
},
"node_modules/npm/node_modules/cross-spawn/node_modules/which": {
"version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -16726,6 +16827,8 @@
},
"node_modules/npm/node_modules/cssesc": {
"version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -16738,6 +16841,8 @@
},
"node_modules/npm/node_modules/debug": {
"version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -16755,12 +16860,16 @@
},
"node_modules/npm/node_modules/debug/node_modules/ms": {
"version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true,
"inBundle": true,
"license": "MIT"
},
"node_modules/npm/node_modules/defaults": {
"version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz",
+ "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -16773,6 +16882,8 @@
},
"node_modules/npm/node_modules/delegates": {
"version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==",
"dev": true,
"inBundle": true,
"license": "MIT"
@@ -16788,6 +16899,8 @@
},
"node_modules/npm/node_modules/diff": {
"version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz",
+ "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==",
"dev": true,
"inBundle": true,
"license": "BSD-3-Clause",
@@ -16797,18 +16910,24 @@
},
"node_modules/npm/node_modules/eastasianwidth": {
"version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
+ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
"dev": true,
"inBundle": true,
"license": "MIT"
},
"node_modules/npm/node_modules/emoji-regex": {
"version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true,
"inBundle": true,
"license": "MIT"
},
"node_modules/npm/node_modules/encoding": {
"version": "0.1.13",
+ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
+ "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -16819,6 +16938,8 @@
},
"node_modules/npm/node_modules/env-paths": {
"version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
+ "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -16828,6 +16949,8 @@
},
"node_modules/npm/node_modules/err-code": {
"version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz",
+ "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==",
"dev": true,
"inBundle": true,
"license": "MIT"
@@ -16843,6 +16966,8 @@
},
"node_modules/npm/node_modules/events": {
"version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+ "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -16852,12 +16977,16 @@
},
"node_modules/npm/node_modules/exponential-backoff": {
"version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz",
+ "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==",
"dev": true,
"inBundle": true,
"license": "Apache-2.0"
},
"node_modules/npm/node_modules/fastest-levenshtein": {
"version": "1.0.16",
+ "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
+ "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -16867,6 +16996,8 @@
},
"node_modules/npm/node_modules/foreground-child": {
"version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz",
+ "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -16895,18 +17026,24 @@
},
"node_modules/npm/node_modules/fs.realpath": {
"version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
"dev": true,
"inBundle": true,
"license": "ISC"
},
"node_modules/npm/node_modules/function-bind": {
"version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
"dev": true,
"inBundle": true,
"license": "MIT"
},
"node_modules/npm/node_modules/gauge": {
"version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-5.0.1.tgz",
+ "integrity": "sha512-CmykPMJGuNan/3S4kZOpvvPYSNqSHANiWnh9XcMU2pSjtBfF0XzZ2p1bFAxTbnFxyBuPxQYHhzwaoOmUdqzvxQ==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -16946,14 +17083,27 @@
"url": "https://github.com/sponsors/isaacs"
}
},
+ "node_modules/npm/node_modules/glob/node_modules/minipass": {
+ "version": "7.0.2",
+ "dev": true,
+ "inBundle": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
"node_modules/npm/node_modules/graceful-fs": {
"version": "4.2.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
"dev": true,
"inBundle": true,
"license": "ISC"
},
"node_modules/npm/node_modules/has": {
"version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -16966,12 +17116,16 @@
},
"node_modules/npm/node_modules/has-unicode": {
"version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==",
"dev": true,
"inBundle": true,
"license": "ISC"
},
"node_modules/npm/node_modules/hosted-git-info": {
"version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz",
+ "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -16984,12 +17138,16 @@
},
"node_modules/npm/node_modules/http-cache-semantics": {
"version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
+ "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==",
"dev": true,
"inBundle": true,
"license": "BSD-2-Clause"
},
"node_modules/npm/node_modules/http-proxy-agent": {
"version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
+ "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -17004,6 +17162,8 @@
},
"node_modules/npm/node_modules/https-proxy-agent": {
"version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -17017,6 +17177,8 @@
},
"node_modules/npm/node_modules/humanize-ms": {
"version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
+ "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -17026,6 +17188,8 @@
},
"node_modules/npm/node_modules/iconv-lite": {
"version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -17059,6 +17223,8 @@
},
"node_modules/npm/node_modules/ignore-walk": {
"version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.3.tgz",
+ "integrity": "sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17071,6 +17237,8 @@
},
"node_modules/npm/node_modules/imurmurhash": {
"version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -17080,6 +17248,8 @@
},
"node_modules/npm/node_modules/indent-string": {
"version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
+ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -17089,6 +17259,8 @@
},
"node_modules/npm/node_modules/inflight": {
"version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17099,12 +17271,16 @@
},
"node_modules/npm/node_modules/inherits": {
"version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true,
"inBundle": true,
"license": "ISC"
},
"node_modules/npm/node_modules/ini": {
"version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz",
+ "integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17114,6 +17290,8 @@
},
"node_modules/npm/node_modules/init-package-json": {
"version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-5.0.0.tgz",
+ "integrity": "sha512-kBhlSheBfYmq3e0L1ii+VKe3zBTLL5lDCDWR+f9dLmEGSB3MqLlMlsolubSsyI88Bg6EA+BIMlomAnQ1SwgQBw==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17132,12 +17310,16 @@
},
"node_modules/npm/node_modules/ip": {
"version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
+ "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==",
"dev": true,
"inBundle": true,
"license": "MIT"
},
"node_modules/npm/node_modules/ip-regex": {
"version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz",
+ "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -17147,6 +17329,8 @@
},
"node_modules/npm/node_modules/is-cidr": {
"version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/is-cidr/-/is-cidr-4.0.2.tgz",
+ "integrity": "sha512-z4a1ENUajDbEl/Q6/pVBpTR1nBjjEE1X7qb7bmWYanNnPoKAvUCPFKeXV6Fe4mgTkWKBqiHIcwsI3SndiO5FeA==",
"dev": true,
"inBundle": true,
"license": "BSD-2-Clause",
@@ -17171,6 +17355,8 @@
},
"node_modules/npm/node_modules/is-fullwidth-code-point": {
"version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -17180,12 +17366,16 @@
},
"node_modules/npm/node_modules/is-lambda": {
"version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz",
+ "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==",
"dev": true,
"inBundle": true,
"license": "MIT"
},
"node_modules/npm/node_modules/isexe": {
"version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
"dev": true,
"inBundle": true,
"license": "ISC"
@@ -17210,6 +17400,8 @@
},
"node_modules/npm/node_modules/json-parse-even-better-errors": {
"version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz",
+ "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -17219,6 +17411,8 @@
},
"node_modules/npm/node_modules/json-stringify-nice": {
"version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz",
+ "integrity": "sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17228,6 +17422,8 @@
},
"node_modules/npm/node_modules/jsonparse": {
"version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
+ "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==",
"dev": true,
"engines": [
"node >= 0.2.0"
@@ -17237,18 +17433,24 @@
},
"node_modules/npm/node_modules/just-diff": {
"version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/just-diff/-/just-diff-6.0.2.tgz",
+ "integrity": "sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA==",
"dev": true,
"inBundle": true,
"license": "MIT"
},
"node_modules/npm/node_modules/just-diff-apply": {
"version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/just-diff-apply/-/just-diff-apply-5.5.0.tgz",
+ "integrity": "sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw==",
"dev": true,
"inBundle": true,
"license": "MIT"
},
"node_modules/npm/node_modules/libnpmaccess": {
"version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/libnpmaccess/-/libnpmaccess-7.0.2.tgz",
+ "integrity": "sha512-vHBVMw1JFMTgEk15zRsJuSAg7QtGGHpUSEfnbcRL1/gTBag9iEfJbyjpDmdJmwMhvpoLoNBtdAUCdGnaP32hhw==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17316,6 +17518,8 @@
},
"node_modules/npm/node_modules/libnpmhook": {
"version": "9.0.3",
+ "resolved": "https://registry.npmjs.org/libnpmhook/-/libnpmhook-9.0.3.tgz",
+ "integrity": "sha512-wMZe58sI7KLhg0+nUWZW5KdMfjNNcOIIbkoP19BDHYoUF9El7eeUWkGNxUGzpHkPKiGoQ1z/v6CYin4deebeuw==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17329,6 +17533,8 @@
},
"node_modules/npm/node_modules/libnpmorg": {
"version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/libnpmorg/-/libnpmorg-5.0.4.tgz",
+ "integrity": "sha512-YqYXLMAN0Y1eJH4w3hUFN9648xfSdvJANMsdeZTOWJOW4Pqp8qapJFzQdqCfUkg+tEuQmnaFQQKXvkMZC51+Mw==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17376,6 +17582,8 @@
},
"node_modules/npm/node_modules/libnpmsearch": {
"version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/libnpmsearch/-/libnpmsearch-6.0.2.tgz",
+ "integrity": "sha512-p+5BF19AvnVg8mcIQhy6yWhI6jHQRVMYaIaKeITEfYAffWsqbottA/WZdMtHL76hViC6SFM1WdclM1w5eAIa1g==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17388,6 +17596,8 @@
},
"node_modules/npm/node_modules/libnpmteam": {
"version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/libnpmteam/-/libnpmteam-5.0.3.tgz",
+ "integrity": "sha512-7XOGhi45s+ml6TyrhJUTyrErcoDMKGKfEtiTEco4ofU7BGGAUOalVztKMVLLJgJOOXdIAIlzCHqkTXEuSiyCiA==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17401,6 +17611,8 @@
},
"node_modules/npm/node_modules/libnpmversion": {
"version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/libnpmversion/-/libnpmversion-4.0.2.tgz",
+ "integrity": "sha512-n1X70mFHv8Piy4yos+MFWUARSkTbyV5cdsHScaIkuwYvRAF/s2VtYScDzWB4Oe8uNEuGNdjiRR1E/Dh1tMvv6g==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17417,6 +17629,8 @@
},
"node_modules/npm/node_modules/lru-cache": {
"version": "7.18.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+ "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17426,6 +17640,8 @@
},
"node_modules/npm/node_modules/make-fetch-happen": {
"version": "11.1.1",
+ "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz",
+ "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17452,6 +17668,8 @@
},
"node_modules/npm/node_modules/minimatch": {
"version": "9.0.3",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
+ "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17465,17 +17683,10 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/npm/node_modules/minimatch/node_modules/brace-expansion": {
- "version": "2.0.1",
- "dev": true,
- "inBundle": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
"node_modules/npm/node_modules/minipass": {
"version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
+ "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17485,6 +17696,8 @@
},
"node_modules/npm/node_modules/minipass-collect": {
"version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
+ "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17497,6 +17710,8 @@
},
"node_modules/npm/node_modules/minipass-collect/node_modules/minipass": {
"version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17526,6 +17741,8 @@
},
"node_modules/npm/node_modules/minipass-flush": {
"version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
+ "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17538,6 +17755,8 @@
},
"node_modules/npm/node_modules/minipass-flush/node_modules/minipass": {
"version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17550,6 +17769,8 @@
},
"node_modules/npm/node_modules/minipass-json-stream": {
"version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz",
+ "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -17560,6 +17781,8 @@
},
"node_modules/npm/node_modules/minipass-json-stream/node_modules/minipass": {
"version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17572,6 +17795,8 @@
},
"node_modules/npm/node_modules/minipass-pipeline": {
"version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
+ "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17584,6 +17809,8 @@
},
"node_modules/npm/node_modules/minipass-pipeline/node_modules/minipass": {
"version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17596,6 +17823,8 @@
},
"node_modules/npm/node_modules/minipass-sized": {
"version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz",
+ "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17608,6 +17837,8 @@
},
"node_modules/npm/node_modules/minipass-sized/node_modules/minipass": {
"version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17620,6 +17851,8 @@
},
"node_modules/npm/node_modules/minizlib": {
"version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
+ "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -17633,6 +17866,8 @@
},
"node_modules/npm/node_modules/minizlib/node_modules/minipass": {
"version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17645,6 +17880,8 @@
},
"node_modules/npm/node_modules/mkdirp": {
"version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -17657,12 +17894,16 @@
},
"node_modules/npm/node_modules/ms": {
"version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true,
"inBundle": true,
"license": "MIT"
},
"node_modules/npm/node_modules/mute-stream": {
"version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz",
+ "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17672,6 +17913,8 @@
},
"node_modules/npm/node_modules/negotiator": {
"version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -17706,12 +17949,16 @@
},
"node_modules/npm/node_modules/node-gyp/node_modules/abbrev": {
"version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
"dev": true,
"inBundle": true,
"license": "ISC"
},
"node_modules/npm/node_modules/node-gyp/node_modules/are-we-there-yet": {
"version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz",
+ "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17725,6 +17972,8 @@
},
"node_modules/npm/node_modules/node-gyp/node_modules/brace-expansion": {
"version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -17735,6 +17984,8 @@
},
"node_modules/npm/node_modules/node-gyp/node_modules/gauge": {
"version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz",
+ "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17754,6 +18005,8 @@
},
"node_modules/npm/node_modules/node-gyp/node_modules/glob": {
"version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17774,6 +18027,8 @@
},
"node_modules/npm/node_modules/node-gyp/node_modules/minimatch": {
"version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17786,6 +18041,8 @@
},
"node_modules/npm/node_modules/node-gyp/node_modules/nopt": {
"version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz",
+ "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17801,6 +18058,8 @@
},
"node_modules/npm/node_modules/node-gyp/node_modules/npmlog": {
"version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz",
+ "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17816,6 +18075,8 @@
},
"node_modules/npm/node_modules/node-gyp/node_modules/readable-stream": {
"version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -17830,12 +18091,16 @@
},
"node_modules/npm/node_modules/node-gyp/node_modules/signal-exit": {
"version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
"dev": true,
"inBundle": true,
"license": "ISC"
},
"node_modules/npm/node_modules/node-gyp/node_modules/which": {
"version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17851,6 +18116,8 @@
},
"node_modules/npm/node_modules/nopt": {
"version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.0.tgz",
+ "integrity": "sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17866,6 +18133,8 @@
},
"node_modules/npm/node_modules/normalize-package-data": {
"version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz",
+ "integrity": "sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==",
"dev": true,
"inBundle": true,
"license": "BSD-2-Clause",
@@ -17881,6 +18150,8 @@
},
"node_modules/npm/node_modules/npm-audit-report": {
"version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/npm-audit-report/-/npm-audit-report-5.0.0.tgz",
+ "integrity": "sha512-EkXrzat7zERmUhHaoren1YhTxFwsOu5jypE84k6632SXTHcQE1z8V51GC6GVZt8LxkC+tbBcKMUBZAgk8SUSbw==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17890,6 +18161,8 @@
},
"node_modules/npm/node_modules/npm-bundled": {
"version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz",
+ "integrity": "sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17914,6 +18187,8 @@
},
"node_modules/npm/node_modules/npm-normalize-package-bin": {
"version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz",
+ "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17923,6 +18198,8 @@
},
"node_modules/npm/node_modules/npm-package-arg": {
"version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz",
+ "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17938,6 +18215,8 @@
},
"node_modules/npm/node_modules/npm-packlist": {
"version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-7.0.4.tgz",
+ "integrity": "sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17965,6 +18244,8 @@
},
"node_modules/npm/node_modules/npm-profile": {
"version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/npm-profile/-/npm-profile-7.0.1.tgz",
+ "integrity": "sha512-VReArOY/fCx5dWL66cbJ2OMogTQAVVQA//8jjmjkarboki3V7UJ0XbGFW+khRwiAJFQjuH0Bqr/yF7Y5RZdkMQ==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17978,6 +18259,8 @@
},
"node_modules/npm/node_modules/npm-registry-fetch": {
"version": "14.0.5",
+ "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.5.tgz",
+ "integrity": "sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -17996,6 +18279,8 @@
},
"node_modules/npm/node_modules/npm-user-validate": {
"version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/npm-user-validate/-/npm-user-validate-2.0.0.tgz",
+ "integrity": "sha512-sSWeqAYJ2dUPStJB+AEj0DyLRltr/f6YNcvCA7phkB8/RMLMnVsQ41GMwHo/ERZLYNDsyB2wPm7pZo1mqPOl7Q==",
"dev": true,
"inBundle": true,
"license": "BSD-2-Clause",
@@ -18005,6 +18290,8 @@
},
"node_modules/npm/node_modules/npmlog": {
"version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-7.0.1.tgz",
+ "integrity": "sha512-uJ0YFk/mCQpLBt+bxN88AKd+gyqZvZDbtiNxk6Waqcj2aPRyfVx8ITawkyQynxUagInjdYT1+qj4NfA5KJJUxg==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -18020,6 +18307,8 @@
},
"node_modules/npm/node_modules/once": {
"version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -18029,6 +18318,8 @@
},
"node_modules/npm/node_modules/p-map": {
"version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
+ "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18044,6 +18335,8 @@
},
"node_modules/npm/node_modules/pacote": {
"version": "15.2.0",
+ "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.2.0.tgz",
+ "integrity": "sha512-rJVZeIwHTUta23sIZgEIM62WYwbmGbThdbnkt81ravBplQv+HjyroqnLRNH2+sLJHcGZmLRmhPwACqhfTcOmnA==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -18076,6 +18369,8 @@
},
"node_modules/npm/node_modules/parse-conflict-json": {
"version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/parse-conflict-json/-/parse-conflict-json-3.0.1.tgz",
+ "integrity": "sha512-01TvEktc68vwbJOtWZluyWeVGWjP+bZwXtPDMQVbBKzbJ/vZBif0L69KH1+cHv1SZ6e0FKLvjyHe8mqsIqYOmw==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -18090,6 +18385,8 @@
},
"node_modules/npm/node_modules/path-is-absolute": {
"version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18099,6 +18396,8 @@
},
"node_modules/npm/node_modules/path-key": {
"version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18133,6 +18432,8 @@
},
"node_modules/npm/node_modules/postcss-selector-parser": {
"version": "6.0.13",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz",
+ "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18146,6 +18447,8 @@
},
"node_modules/npm/node_modules/proc-log": {
"version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz",
+ "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -18155,6 +18458,8 @@
},
"node_modules/npm/node_modules/process": {
"version": "0.11.10",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18164,6 +18469,8 @@
},
"node_modules/npm/node_modules/promise-all-reject-late": {
"version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz",
+ "integrity": "sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -18173,6 +18480,8 @@
},
"node_modules/npm/node_modules/promise-call-limit": {
"version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/promise-call-limit/-/promise-call-limit-1.0.2.tgz",
+ "integrity": "sha512-1vTUnfI2hzui8AEIixbdAJlFY4LFDXqQswy/2eOlThAscXCY4It8FdVuI0fMJGAB2aWGbdQf/gv0skKYXmdrHA==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -18182,12 +18491,16 @@
},
"node_modules/npm/node_modules/promise-inflight": {
"version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
+ "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==",
"dev": true,
"inBundle": true,
"license": "ISC"
},
"node_modules/npm/node_modules/promise-retry": {
"version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz",
+ "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18201,6 +18514,8 @@
},
"node_modules/npm/node_modules/promzard": {
"version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/promzard/-/promzard-1.0.0.tgz",
+ "integrity": "sha512-KQVDEubSUHGSt5xLakaToDFrSoZhStB8dXLzk2xvwR67gJktrHFvpR63oZgHyK19WKbHFLXJqCPXdVR3aBP8Ig==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -18213,6 +18528,8 @@
},
"node_modules/npm/node_modules/qrcode-terminal": {
"version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz",
+ "integrity": "sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ==",
"dev": true,
"inBundle": true,
"bin": {
@@ -18221,6 +18538,8 @@
},
"node_modules/npm/node_modules/read": {
"version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/read/-/read-2.1.0.tgz",
+ "integrity": "sha512-bvxi1QLJHcaywCAEsAk4DG3nVoqiY2Csps3qzWalhj5hFqRn1d/OixkFXtLO1PrgHUcAP0FNaSY/5GYNfENFFQ==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -18233,6 +18552,8 @@
},
"node_modules/npm/node_modules/read-cmd-shim": {
"version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-4.0.0.tgz",
+ "integrity": "sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -18242,6 +18563,8 @@
},
"node_modules/npm/node_modules/read-package-json": {
"version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.4.tgz",
+ "integrity": "sha512-AEtWXYfopBj2z5N5PbkAOeNHRPUg5q+Nen7QLxV8M2zJq1ym6/lCz3fYNTCXe19puu2d06jfHhrP7v/S2PtMMw==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -18257,6 +18580,8 @@
},
"node_modules/npm/node_modules/read-package-json-fast": {
"version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz",
+ "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -18285,6 +18610,8 @@
},
"node_modules/npm/node_modules/retry": {
"version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
+ "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18294,6 +18621,8 @@
},
"node_modules/npm/node_modules/rimraf": {
"version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -18309,6 +18638,8 @@
},
"node_modules/npm/node_modules/rimraf/node_modules/brace-expansion": {
"version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18319,6 +18650,8 @@
},
"node_modules/npm/node_modules/rimraf/node_modules/glob": {
"version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -18339,6 +18672,8 @@
},
"node_modules/npm/node_modules/rimraf/node_modules/minimatch": {
"version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -18351,6 +18686,8 @@
},
"node_modules/npm/node_modules/safe-buffer": {
"version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"dev": true,
"funding": [
{
@@ -18371,6 +18708,8 @@
},
"node_modules/npm/node_modules/safer-buffer": {
"version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18378,6 +18717,8 @@
},
"node_modules/npm/node_modules/semver": {
"version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -18393,6 +18734,8 @@
},
"node_modules/npm/node_modules/semver/node_modules/lru-cache": {
"version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -18405,12 +18748,16 @@
},
"node_modules/npm/node_modules/set-blocking": {
"version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==",
"dev": true,
"inBundle": true,
"license": "ISC"
},
"node_modules/npm/node_modules/shebang-command": {
"version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18423,6 +18770,8 @@
},
"node_modules/npm/node_modules/shebang-regex": {
"version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18432,6 +18781,8 @@
},
"node_modules/npm/node_modules/signal-exit": {
"version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz",
+ "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -18461,6 +18812,8 @@
},
"node_modules/npm/node_modules/smart-buffer": {
"version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
+ "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18471,6 +18824,8 @@
},
"node_modules/npm/node_modules/socks": {
"version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
+ "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18485,6 +18840,8 @@
},
"node_modules/npm/node_modules/socks-proxy-agent": {
"version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz",
+ "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18499,6 +18856,8 @@
},
"node_modules/npm/node_modules/spdx-correct": {
"version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
+ "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
"dev": true,
"inBundle": true,
"license": "Apache-2.0",
@@ -18509,12 +18868,16 @@
},
"node_modules/npm/node_modules/spdx-exceptions": {
"version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
+ "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
"dev": true,
"inBundle": true,
"license": "CC-BY-3.0"
},
"node_modules/npm/node_modules/spdx-expression-parse": {
"version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
+ "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18525,6 +18888,8 @@
},
"node_modules/npm/node_modules/spdx-license-ids": {
"version": "3.0.13",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz",
+ "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==",
"dev": true,
"inBundle": true,
"license": "CC0-1.0"
@@ -18543,6 +18908,8 @@
},
"node_modules/npm/node_modules/string_decoder": {
"version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18552,6 +18919,8 @@
},
"node_modules/npm/node_modules/string-width": {
"version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18567,6 +18936,8 @@
"node_modules/npm/node_modules/string-width-cjs": {
"name": "string-width",
"version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18581,6 +18952,8 @@
},
"node_modules/npm/node_modules/strip-ansi": {
"version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18594,6 +18967,8 @@
"node_modules/npm/node_modules/strip-ansi-cjs": {
"name": "strip-ansi",
"version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18606,6 +18981,8 @@
},
"node_modules/npm/node_modules/supports-color": {
"version": "9.4.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.4.0.tgz",
+ "integrity": "sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18618,6 +18995,8 @@
},
"node_modules/npm/node_modules/tar": {
"version": "6.1.15",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz",
+ "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -18635,6 +19014,8 @@
},
"node_modules/npm/node_modules/tar/node_modules/fs-minipass": {
"version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
+ "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -18647,6 +19028,8 @@
},
"node_modules/npm/node_modules/tar/node_modules/fs-minipass/node_modules/minipass": {
"version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -18659,18 +19042,24 @@
},
"node_modules/npm/node_modules/text-table": {
"version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
"dev": true,
"inBundle": true,
"license": "MIT"
},
"node_modules/npm/node_modules/tiny-relative-date": {
"version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/tiny-relative-date/-/tiny-relative-date-1.3.0.tgz",
+ "integrity": "sha512-MOQHpzllWxDCHHaDno30hhLfbouoYlOI8YlMNtvKe1zXbjEVhbcEovQxvZrPvtiYW630GQDoMMarCnjfyfHA+A==",
"dev": true,
"inBundle": true,
"license": "MIT"
},
"node_modules/npm/node_modules/treeverse": {
"version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/treeverse/-/treeverse-3.0.0.tgz",
+ "integrity": "sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -18680,6 +19069,8 @@
},
"node_modules/npm/node_modules/tuf-js": {
"version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-1.1.7.tgz",
+ "integrity": "sha512-i3P9Kgw3ytjELUfpuKVDNBJvk4u5bXL6gskv572mcevPbSKCV3zt3djhmlEQ65yERjIbOSncy7U4cQJaB1CBCg==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18694,6 +19085,8 @@
},
"node_modules/npm/node_modules/unique-filename": {
"version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz",
+ "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -18706,6 +19099,8 @@
},
"node_modules/npm/node_modules/unique-slug": {
"version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz",
+ "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -18718,12 +19113,16 @@
},
"node_modules/npm/node_modules/util-deprecate": {
"version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
"dev": true,
"inBundle": true,
"license": "MIT"
},
"node_modules/npm/node_modules/validate-npm-package-license": {
"version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+ "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
"dev": true,
"inBundle": true,
"license": "Apache-2.0",
@@ -18734,6 +19133,8 @@
},
"node_modules/npm/node_modules/validate-npm-package-name": {
"version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz",
+ "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -18746,12 +19147,16 @@
},
"node_modules/npm/node_modules/walk-up-path": {
"version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/walk-up-path/-/walk-up-path-3.0.1.tgz",
+ "integrity": "sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==",
"dev": true,
"inBundle": true,
"license": "ISC"
},
"node_modules/npm/node_modules/wcwidth": {
"version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
+ "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18761,6 +19166,8 @@
},
"node_modules/npm/node_modules/which": {
"version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz",
+ "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -18776,6 +19183,8 @@
},
"node_modules/npm/node_modules/wide-align": {
"version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
+ "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -18785,6 +19194,8 @@
},
"node_modules/npm/node_modules/wrap-ansi": {
"version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
+ "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18803,6 +19214,8 @@
"node_modules/npm/node_modules/wrap-ansi-cjs": {
"name": "wrap-ansi",
"version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18820,6 +19233,8 @@
},
"node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-regex": {
"version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+ "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18832,6 +19247,8 @@
},
"node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-styles": {
"version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
+ "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18844,12 +19261,16 @@
},
"node_modules/npm/node_modules/wrap-ansi/node_modules/emoji-regex": {
"version": "9.2.2",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
"dev": true,
"inBundle": true,
"license": "MIT"
},
"node_modules/npm/node_modules/wrap-ansi/node_modules/string-width": {
"version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+ "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18867,6 +19288,8 @@
},
"node_modules/npm/node_modules/wrap-ansi/node_modules/strip-ansi": {
"version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+ "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
"dev": true,
"inBundle": true,
"license": "MIT",
@@ -18882,12 +19305,16 @@
},
"node_modules/npm/node_modules/wrappy": {
"version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
"dev": true,
"inBundle": true,
"license": "ISC"
},
"node_modules/npm/node_modules/write-file-atomic": {
"version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz",
+ "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==",
"dev": true,
"inBundle": true,
"license": "ISC",
@@ -18901,6 +19328,8 @@
},
"node_modules/npm/node_modules/yallist": {
"version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true,
"inBundle": true,
"license": "ISC"
diff --git a/package.json b/package.json
index 0f50a65a090..8fdaea4939f 100644
--- a/package.json
+++ b/package.json
@@ -51,7 +51,6 @@
"dependencies": {
"@date-io/date-fns": "^2.16.0",
"@fontsource/inter": "^5.0.16",
- "@fortawesome/fontawesome-free": "^6.5.1",
"@glennsl/bs-json": "^5.0.4",
"@googlemaps/react-wrapper": "^1.1.35",
"@googlemaps/typescript-guards": "^2.0.3",
diff --git a/src/CAREUI/display/FilterBadge.tsx b/src/CAREUI/display/FilterBadge.tsx
index 2443130981a..a4cd743b86a 100644
--- a/src/CAREUI/display/FilterBadge.tsx
+++ b/src/CAREUI/display/FilterBadge.tsx
@@ -1,3 +1,5 @@
+import CareIcon from "../icons/CareIcon";
+
export interface FilterBadgeProps {
name: string;
value: string;
@@ -17,11 +19,12 @@ const FilterBadge = ({ name, value, onRemove }: FilterBadgeProps) => {
} flex flex-row items-center rounded-full border border-gray-300 bg-white px-3 py-1 text-xs font-medium leading-4 text-gray-600`}
>
{`${name}: ${value}`}
-
+ />
);
};
diff --git a/src/CAREUI/icons/CareIcon.tsx b/src/CAREUI/icons/CareIcon.tsx
index 0c70fbfe298..27a4abe97b4 100644
--- a/src/CAREUI/icons/CareIcon.tsx
+++ b/src/CAREUI/icons/CareIcon.tsx
@@ -9,6 +9,7 @@ export interface CareIconProps {
icon?: IconName;
className?: string | undefined;
onClick?: React.MouseEventHandler | undefined;
+ id?: string;
}
/**
@@ -19,14 +20,19 @@ export interface CareIconProps {
*
* @see [icon library](https://iconscout.com/unicons/)
*/
-export default function CareIcon({ icon, className, onClick }: CareIconProps) {
+export default function CareIcon({
+ id,
+ icon,
+ className,
+ onClick,
+}: CareIconProps) {
const effectiveClassName = icon
? `care-${icon} ${className ?? ""}`
: className;
useEffect(() => transformIcons(), [effectiveClassName]);
return (
-
+
);
diff --git a/src/Common/constants.tsx b/src/Common/constants.tsx
index ada2fc6e2bf..1d3e8c8db40 100644
--- a/src/Common/constants.tsx
+++ b/src/Common/constants.tsx
@@ -547,77 +547,83 @@ export const DESIGNATION_HEALTH_CARE_WORKER = [
"OTHERS",
];
-export const NOTIFICATION_EVENTS = [
- { id: "MESSAGE", text: "Notice", icon: "fa-regular fa-message" },
+type NotificationEvent = {
+ id: string;
+ text: string;
+ icon: IconName;
+};
+
+export const NOTIFICATION_EVENTS: NotificationEvent[] = [
+ { id: "MESSAGE", text: "Notice", icon: "l-comment-alt-message" },
{
id: "PATIENT_CREATED",
text: "Patient Created",
- icon: "fa-solid fa-user-plus",
+ icon: "l-user-plus",
},
{
id: "PATIENT_UPDATED",
text: "Patient Updated",
- icon: "fa-solid fa-user-pen",
+ icon: "l-edit",
},
{
id: "PATIENT_DELETED",
text: "Patient Deleted",
- icon: "fa-solid fa-user-minus",
+ icon: "l-user-minus",
},
{
id: "PATIENT_CONSULTATION_CREATED",
text: "Patient Consultation Created",
- icon: "fa-solid fa-heart-circle-check",
+ icon: "l-heart",
},
{
id: "PATIENT_CONSULTATION_UPDATED",
text: "Patient Consultation Updated",
- icon: "fa-solid fa-heart-circle-plus",
+ icon: "l-heart-medical",
},
{
id: "PATIENT_CONSULTATION_DELETED",
text: "Patient Consultation Deleted",
- icon: "fa-solid fa-heart-circle-minus",
+ icon: "l-heartbeat",
},
{
id: "INVESTIGATION_SESSION_CREATED",
text: "Investigation Session Created",
- icon: "fa-solid fa-magnifying-glass",
+ icon: "l-search",
},
{
id: "INVESTIGATION_UPDATED",
text: "Investigation Updated",
- icon: "fa-solid fa-magnifying-glass-plus",
+ icon: "l-search-plus",
},
{
id: "PATIENT_FILE_UPLOAD_CREATED",
text: "Patient File Upload Created",
- icon: "fa-solid fa-file-medical",
+ icon: "l-file-medical",
},
{
id: "CONSULTATION_FILE_UPLOAD_CREATED",
text: "Consultation File Upload Created",
- icon: "fa-solid fa-file-waveform",
+ icon: "l-file-upload",
},
{
id: "PATIENT_CONSULTATION_UPDATE_CREATED",
text: "Patient Consultation Update Created",
- icon: "fa-solid fa-file-circle-check",
+ icon: "l-heart",
},
{
id: "PATIENT_CONSULTATION_UPDATE_UPDATED",
text: "Patient Consultation Update Updated",
- icon: "fa-solid fa-file-circle-plus",
+ icon: "l-heart-medical",
},
{
id: "SHIFTING_UPDATED",
text: "Shifting Updated",
- icon: "fa-solid fa-truck-medical",
+ icon: "l-ambulance",
},
{
id: "PATIENT_NOTE_ADDED",
text: "Patient Note Added",
- icon: "fa-solid fa-message",
+ icon: "l-notes",
},
];
diff --git a/src/Components/ABDM/LinkABHANumberModal.tsx b/src/Components/ABDM/LinkABHANumberModal.tsx
index 5d1f7469efc..6297b11152f 100644
--- a/src/Components/ABDM/LinkABHANumberModal.tsx
+++ b/src/Components/ABDM/LinkABHANumberModal.tsx
@@ -22,9 +22,9 @@ export const validateRule = (
return (
{condition ? (
-
+
) : (
-
+
)}{" "}
{
className="focus:ring-blue mx-auto mt-4 max-w-xs items-center rounded-md border border-primary-500 bg-white px-3 py-2 text-sm font-medium leading-4 text-primary-700 transition duration-150 ease-in-out hover:text-primary-500 hover:shadow focus:border-primary-300 focus:outline-none active:bg-gray-50 active:text-primary-800"
href={sample_format_asset_import}
>
- {" "}
+ {" "}
Sample Format
@@ -328,7 +333,8 @@ const AssetImportModal = ({ open, onClose, facility, onUpdate }: Props) => {
- Upload a file
+
+ Upload a file
{
data-testid="asset-import-btn"
>
{isImporting ? (
-
+
) : (
-
+
)}
{isImporting ? "Importing..." : "Import"}
diff --git a/src/Components/Assets/AssetManage.tsx b/src/Components/Assets/AssetManage.tsx
index 77bb88da3a8..b7197dd0562 100644
--- a/src/Components/Assets/AssetManage.tsx
+++ b/src/Components/Assets/AssetManage.tsx
@@ -115,13 +115,14 @@ const AssetManage = (props: AssetManageProps) => {
onClick={(_) => window.print()}
className="btn btn-primary mr-2"
>
- Print QR Code
+
+ Print QR Code
setIsPrintMode(false)}
className="btn btn-default"
>
- Close
+ Close
Print Preview
diff --git a/src/Components/Assets/AssetsList.tsx b/src/Components/Assets/AssetsList.tsx
index f210bf04535..228e940de29 100644
--- a/src/Components/Assets/AssetsList.tsx
+++ b/src/Components/Assets/AssetsList.tsx
@@ -153,7 +153,8 @@ const AssetsList = () => {
onClick={() => setIsScannerActive(false)}
className="btn btn-default mb-2"
>
-
Close Scanner
+
+ Close Scanner
{
className="w-full py-[11px]"
onClick={() => setIsScannerActive(true)}
>
- Scan Asset QR
+ Scan Asset
+ QR
{
await request(routes.createAssetBed, {
@@ -76,7 +77,7 @@ export default function MonitorConfigure({ asset }: { asset: AssetData }) {
/>
-
+
{updateLink ? "Update Bed" : "Save Bed"}
diff --git a/src/Components/Common/Breadcrumbs.tsx b/src/Components/Common/Breadcrumbs.tsx
index 4ea85b0d759..b6c39a38ef1 100644
--- a/src/Components/Common/Breadcrumbs.tsx
+++ b/src/Components/Common/Breadcrumbs.tsx
@@ -127,7 +127,7 @@ export default function Breadcrumbs(props: any) {
>
{crumb.name.match(/^\w{8}-(\w{4}-){3}\w{12}$/) ? (
-
+ #
{crumb.name.slice(0, 13) + "..."}
) : (
diff --git a/src/Components/Common/CareIcon.res b/src/Components/Common/CareIcon.res
new file mode 100644
index 00000000000..343e01f1ddb
--- /dev/null
+++ b/src/Components/Common/CareIcon.res
@@ -0,0 +1,19 @@
+type reactClass
+module CareIcon = {
+ @module("../../CAREUI/icons/CareIcon.tsx") @react.component
+ external make: (
+ ~icon: option,
+ ~className: option,
+ ~onClick: option unit>,
+ ~id: option
+ ) => React.element = "default"
+}
+
+@react.component
+let make = (
+ ~icon = ?,
+ ~className = ?,
+ ~onClick = ?,
+ ~id = ?,
+) =>
+
diff --git a/src/Components/Common/FilePreviewDialog.tsx b/src/Components/Common/FilePreviewDialog.tsx
index cb16337b238..10e909a9c70 100644
--- a/src/Components/Common/FilePreviewDialog.tsx
+++ b/src/Components/Common/FilePreviewDialog.tsx
@@ -4,6 +4,7 @@ import CircularProgress from "./components/CircularProgress";
import { useTranslation } from "react-i18next";
import { StateInterface } from "../Patient/FileUpload";
import { Dispatch, Fragment, ReactNode, SetStateAction } from "react";
+import CareIcon, { IconName } from "../../CAREUI/icons/CareIcon";
export const zoom_values = [
"h-1/6 w-1/6 my-40",
@@ -121,25 +122,25 @@ const FilePreviewDialog = (props: FilePreviewProps) => {
{[
[
t("Zoom In"),
- "magnifying-glass-plus",
+ "l-search-plus",
handleZoomIn,
file_state.zoom === zoom_values.length,
],
[
t("Zoom Out"),
- "magnifying-glass-minus",
+ "l-search-minus",
handleZoomOut,
file_state.zoom === 1,
],
[
t("Rotate Left"),
- "rotate-left",
+ "l-corner-up-left",
() => handleRotate(-90),
false,
],
[
t("Rotate Right"),
- "rotate-right",
+ "l-corner-up-right",
() => handleRotate(90),
false,
],
@@ -150,7 +151,10 @@ const FilePreviewDialog = (props: FilePreviewProps) => {
className="z-50 rounded bg-white/60 px-4 py-2 text-black backdrop-blur transition hover:bg-white/70"
disabled={button[3] as boolean}
>
-
+
{button[0] as string}
))}
@@ -164,7 +168,10 @@ const FilePreviewDialog = (props: FilePreviewProps) => {
download={`${file_state.name}.${file_state.extension}`}
className="z-50 rounded bg-white/60 px-4 py-2 text-black backdrop-blur transition hover:bg-white/70"
>
-
+
Download
)}
@@ -172,7 +179,7 @@ const FilePreviewDialog = (props: FilePreviewProps) => {
onClick={onClose}
className="z-50 rounded bg-white/60 px-4 py-2 text-black backdrop-blur transition hover:bg-white/70"
>
-
+
Close
diff --git a/src/Components/Common/PageTitle.tsx b/src/Components/Common/PageTitle.tsx
index 65091b9f315..4f29ca892e3 100644
--- a/src/Components/Common/PageTitle.tsx
+++ b/src/Components/Common/PageTitle.tsx
@@ -3,6 +3,7 @@ import Breadcrumbs from "./Breadcrumbs";
import PageHeadTitle from "./PageHeadTitle";
import { classNames } from "../../Utils/utils";
import useAppHistory from "../../Common/hooks/useAppHistory";
+import CareIcon from "../../CAREUI/icons/CareIcon";
export interface PageTitleProps {
title: string;
@@ -65,9 +66,10 @@ export default function PageTitle({
goBack(backUrl);
}}
>
-
diff --git a/src/Components/Common/Sidebar/Sidebar.tsx b/src/Components/Common/Sidebar/Sidebar.tsx
index 1d43180a97a..747fa3949da 100644
--- a/src/Components/Common/Sidebar/Sidebar.tsx
+++ b/src/Components/Common/Sidebar/Sidebar.tsx
@@ -224,9 +224,10 @@ const ToggleShrink = ({ shrinked, toggle }: ToggleShrinkProps) => (
} transition-all duration-200 ease-in-out`}
onClick={toggle}
>
-