diff --git a/packages/esm-patient-search-app/src/patient-search-page/patient-banner/contact-details/contact-details.scss b/packages/esm-patient-search-app/src/patient-search-page/patient-banner/contact-details/contact-details.scss
index 8a442bc2a..cc4078bbd 100644
--- a/packages/esm-patient-search-app/src/patient-search-page/patient-banner/contact-details/contact-details.scss
+++ b/packages/esm-patient-search-app/src/patient-search-page/patient-banner/contact-details/contact-details.scss
@@ -1,3 +1,4 @@
+@use '@carbon/colors';
@use '@carbon/styles/scss/spacing';
@use '@carbon/styles/scss/type';
@import '~@openmrs/esm-styleguide/src/vars';
@@ -13,6 +14,25 @@
color: $text-02;
}
+.deceased {
+ .contactDetails,
+ .heading,
+ .row,
+ .row > .col {
+ color: $ui-02;
+ background-color: colors.$gray-80;
+ }
+
+ .menu {
+ fill: colors.$blue-40;
+ }
+
+ &:focus,
+ &:hover {
+ background-color: colors.$gray-90;
+ }
+}
+
.row {
@include type.type-style('body-compact-01');
display: flex;
diff --git a/packages/esm-patient-search-app/translations/en.json b/packages/esm-patient-search-app/translations/en.json
index 281f89c8e..279f4527f 100644
--- a/packages/esm-patient-search-app/translations/en.json
+++ b/packages/esm-patient-search-app/translations/en.json
@@ -13,6 +13,7 @@
"errorCopy": "Sorry, there was a an error. You can try to reload this page, or contact the site administrator and quote the error code above.",
"female": "Female",
"filtersAppliedText": "search queries added",
+ "hideDetails": "Hide details",
"male": "Male",
"monthOfBirth": "Month of Birth",
"nextPage": "Next page",
@@ -34,8 +35,7 @@
"searchResultsCount": "{count} search result{plural}",
"searchResultsCount_plural": "{count} search result{plural}",
"sex": "Sex",
- "showAllDetails": "Show all details",
- "showLess": "Show less",
+ "showDetails": "Show details",
"trySearchWithPatientUniqueID": "Try to search again using the patient's unique ID number",
"unknown": "Unknown",
"yearOfBirth": "Year of Birth",
diff --git a/packages/esm-patient-search-app/translations/fr.json b/packages/esm-patient-search-app/translations/fr.json
index e159308fa..8e1e5f867 100644
--- a/packages/esm-patient-search-app/translations/fr.json
+++ b/packages/esm-patient-search-app/translations/fr.json
@@ -13,6 +13,7 @@
"errorCopy": "Désolé, une erreur s'est produite. Vous pouvez tenter de rafraîchir la page, ou bien contacter l'administrateur du site et transmettre le message d'erreur ci-dessus.",
"female": "Femme",
"filtersAppliedText": "Rechercher les requêtes ajoutées",
+ "hideDetails": "cacher les informations",
"male": "Homme",
"month": "Mois",
"nextPage": "Page suivante",
@@ -35,7 +36,7 @@
"searchResults": "Résultats de recherche",
"searchResultsText": "résultats de recherche",
"sex": "Sexe",
- "showAllDetails": "Afficher toutes les informations",
+ "showDetails": "Afficher les informations",
"showLess": "Afficher moins",
"trySearchWithPatientUniqueID": "Essayez de chercher par l'identifiant unique du patient",
"unknown": "Inconnu",
diff --git a/packages/esm-patient-search-app/translations/he.json b/packages/esm-patient-search-app/translations/he.json
index 389b7d427..a7773aafc 100644
--- a/packages/esm-patient-search-app/translations/he.json
+++ b/packages/esm-patient-search-app/translations/he.json
@@ -13,6 +13,7 @@
"errorCopy": "מצטערים, אירעה שגיאה. ניתן לנסות לטעון מחדש את הדף או ליצור קשר עם מנהל האתר ולציין את קוד השגיאה שמופיע למעלה.",
"female": "נקבה",
"filtersAppliedText": "תוספו שאילתות חיפוש",
+ "hideDetails": "הסתר פרטים",
"male": "זכר",
"month": "חודש",
"nextPage": "הדף הבא",
@@ -35,8 +36,7 @@
"searchResults": "תוצאות חיפוש",
"searchResultsText": "תוצאות חיפוש",
"sex": "מין",
- "showAllDetails": "הצג את כל הפרטים",
- "showLess": "הצג פחות",
+ "showDetails": "הראה פרטים",
"trySearchWithPatientUniqueID": "נסה לחפש עם מספר הזיהוי הייחודי של המטופל",
"unknown": "לא ידוע",
"year": "שנה"
diff --git a/packages/esm-patient-search-app/translations/km.json b/packages/esm-patient-search-app/translations/km.json
index 4f2537489..d36442b59 100644
--- a/packages/esm-patient-search-app/translations/km.json
+++ b/packages/esm-patient-search-app/translations/km.json
@@ -13,6 +13,7 @@
"errorCopy": "សូមអភ័យទោស មានកំហុសមួយ។ អ្នកអាចព្យាយាមផ្ទុកទំព័រនេះឡើងវិញ ឬទាក់ទងអ្នកគ្រប់គ្រងគេហទំព័រ ហើយដកស្រង់កូដកំហុសខាងលើ។",
"female": "ស្រី",
"filtersAppliedText": "សំណួរស្វែងរកបានបន្ថែម",
+ "hideDetails": "ព័ត៌មានលម្អិតលាក់",
"male": "ប្រុស",
"month": "ខែ",
"nextPage": "ទំពរ័បន្ទាប់",
@@ -35,8 +36,7 @@
"searchResults": "លទ្ធផលស្វែងរក",
"searchResultsText": "លទ្ធផលស្វែងរក",
"sex": "ភេទ",
- "showAllDetails": "បង្ហាញព័ត៌មានលម្អិតទាំងអស់",
- "showLess": "បង្ហាញឱ្យឃើញតិច",
+ "showDetails": "បង្ហាញព័ត៌មានលម្អិត",
"trySearchWithPatientUniqueID": "ព្យាយាមស្វែងរកដោយប្រើអត្តលេខតែមួយគត់របស់អ្នកជំងឺ",
"unknown": "មិនដឹង",
"year": "ឆ្នាំ"
From 399a70ec5a96c25b52fb18704f333c26d160d106 Mon Sep 17 00:00:00 2001
From: Vineet Sharma
Date: Wed, 21 Jun 2023 14:36:54 +0530
Subject: [PATCH 07/17] (feat) O3-2098 & O3-1755 & O3-1834: Allow ordering
fields and showing possible entries for an address field for address
hierarchy (#725)
* Ordering address fields and fetching possible entries for address fields
* Updated translations
* Allow entering values and selecting values from dropdown
* autoComplete off on address fields
* Keyboard navigation in place
* Final changes
* Clicking entry update bug fixed
* Review changes
* Fixed and improved tests for the address component
---
.../field/address/address-field.component.tsx | 199 ++++++++++++++++--
.../address-hierarchy-levels.component.tsx | 68 ++++++
.../address/address-hierarchy.component.tsx | 143 -------------
.../address/address-hierarchy.resource.tsx | 102 +++++++++
.../custom-address-field.component.tsx | 30 +++
.../address/tests/address-hierarchy.test.tsx | 140 ++++++++++++
.../mocks.ts} | 83 +-------
.../field/custom-field.component.tsx | 2 +-
.../field/field.component.tsx | 4 +-
.../combo-input/combo-input.component.tsx | 164 +++++++++------
.../input/combo-input/combo-input.test.tsx | 43 ----
.../combo-input/selection-tick.component.tsx | 20 ++
.../src/patient-registration/input/input.scss | 7 +-
.../patient-registration-context.ts | 1 +
.../patient-registration.component.tsx | 1 +
.../translations/en.json | 1 +
16 files changed, 657 insertions(+), 351 deletions(-)
create mode 100644 packages/esm-patient-registration-app/src/patient-registration/field/address/address-hierarchy-levels.component.tsx
delete mode 100644 packages/esm-patient-registration-app/src/patient-registration/field/address/address-hierarchy.component.tsx
create mode 100644 packages/esm-patient-registration-app/src/patient-registration/field/address/address-hierarchy.resource.tsx
create mode 100644 packages/esm-patient-registration-app/src/patient-registration/field/address/custom-address-field.component.tsx
create mode 100644 packages/esm-patient-registration-app/src/patient-registration/field/address/tests/address-hierarchy.test.tsx
rename packages/esm-patient-registration-app/src/patient-registration/field/address/{address-hierarchy.test.tsx => tests/mocks.ts} (53%)
delete mode 100644 packages/esm-patient-registration-app/src/patient-registration/input/combo-input/combo-input.test.tsx
create mode 100644 packages/esm-patient-registration-app/src/patient-registration/input/combo-input/selection-tick.component.tsx
diff --git a/packages/esm-patient-registration-app/src/patient-registration/field/address/address-field.component.tsx b/packages/esm-patient-registration-app/src/patient-registration/field/address/address-field.component.tsx
index 1001141b2..3a329d9b2 100644
--- a/packages/esm-patient-registration-app/src/patient-registration/field/address/address-field.component.tsx
+++ b/packages/esm-patient-registration-app/src/patient-registration/field/address/address-field.component.tsx
@@ -1,30 +1,191 @@
-import React from 'react';
+import React, { useEffect, useState, useContext, useMemo } from 'react';
import { useTranslation } from 'react-i18next';
-import { Input } from '../../input/basic-input/input/input.component';
+import { ResourcesContext } from '../../../offline.resources';
+import { SkeletonText, InlineNotification } from '@carbon/react';
import styles from '../field.scss';
-import { FieldDefinition } from '../../../config-schema';
-import { Field } from 'formik';
+import { Input } from '../../input/basic-input/input/input.component';
+import { useConfig } from '@openmrs/esm-framework';
+import AddressSearchComponent from './address-search.component';
+import { PatientRegistrationContext } from '../../patient-registration-context';
+import { useOrderedAddressHierarchyLevels } from './address-hierarchy.resource';
+import AddressHierarchyLevels from './address-hierarchy-levels.component';
-export interface AddressFieldProps {
- fieldDefinition: FieldDefinition;
+function parseString(xmlDockAsString: string) {
+ const parser = new DOMParser();
+ return parser.parseFromString(xmlDockAsString, 'text/xml');
+}
+function getTagAsDocument(tagName: string, template: XMLDocument) {
+ const tmp = template.getElementsByTagName(tagName)[0];
+ return tmp ? parseString(tmp.outerHTML) : parseString('');
}
-export const AddressField: React.FC = ({ fieldDefinition }) => {
+export const AddressComponent: React.FC = () => {
+ const [selected, setSelected] = useState('');
+ const [addressLayout, setAddressLayout] = useState<
+ Array<{
+ id: string;
+ name: string;
+ value: string;
+ label: string;
+ }>
+ >([]);
const { t } = useTranslation();
+ const { addressTemplate } = useContext(ResourcesContext);
+ const addressTemplateXml = addressTemplate?.results[0].value;
+ const setSelectedValue = (value: string) => {
+ setSelected(value);
+ };
+ const config = useConfig();
+ const {
+ fieldConfigurations: {
+ address: {
+ useAddressHierarchy: { enabled, useQuickSearch, searchAddressByLevel },
+ },
+ },
+ } = config;
+
+ const { setFieldValue, values, setInitialFormValues } = useContext(PatientRegistrationContext);
+ const { orderedFields, isLoadingFieldOrder, errorFetchingFieldOrder } = useOrderedAddressHierarchyLevels();
+
+ useEffect(() => {
+ const templateXmlDoc = parseString(addressTemplateXml);
+ const elementDefaults = getTagAsDocument('elementDefaults', templateXmlDoc);
+ const defaultValuesEntries = elementDefaults.getElementsByTagName('entry');
+ const defaultValues = Object.fromEntries(
+ Array.prototype.map.call(defaultValuesEntries, (entry: Element) => {
+ const [name, value] = Array.from(entry.getElementsByTagName('string'));
+ return [name.innerHTML, value.innerHTML];
+ }),
+ );
+ const nameMappings = getTagAsDocument('nameMappings', templateXmlDoc);
+ const properties =
+ Array.from(nameMappings.getElementsByTagName('property')).length > 0
+ ? nameMappings.getElementsByTagName('property')
+ : nameMappings.getElementsByTagName('entry');
+
+ const propertiesObj = Array.prototype.map.call(properties, (property: Element) => {
+ const name = property.getAttribute('name') ?? property.getElementsByTagName('string')[0].innerHTML;
+ const label = property.getAttribute('value') ?? property.getElementsByTagName('string')[1].innerHTML;
+ /*
+ DO NOT REMOVE THIS COMMENT UNLESS YOU UNDERSTAND WHY IT IS HERE
+
+ t('postalCode', 'Postal code')
+ t('address1', 'Address line 1')
+ t('address2', 'Address line 2')
+ t('countyDistrict', 'District')
+ t('stateProvince', 'State')
+ t('cityVillage', 'city')
+ t('country', 'Country')
+ t('countyDistrict', 'District')
+ */
+ const value = defaultValues[name];
+ setInitialFormValues((initialFormValues) => ({
+ ...initialFormValues,
+ address: {
+ ...(initialFormValues.address ?? {}),
+ [name]: value,
+ },
+ }));
+ return {
+ id: name,
+ name,
+ value,
+ label,
+ };
+ });
+ setAddressLayout(propertiesObj);
+ }, [t, addressTemplateXml, setFieldValue, values, setInitialFormValues]);
+
+ const orderedAddressFields = useMemo(() => {
+ if (isLoadingFieldOrder || errorFetchingFieldOrder) {
+ return [];
+ }
+
+ const orderMap = Object.fromEntries(orderedFields.map((field, indx) => [field, indx]));
+
+ return [...addressLayout].sort(
+ (existingField1, existingField2) => orderMap[existingField1.name] - orderMap[existingField2.name],
+ );
+ }, [isLoadingFieldOrder, errorFetchingFieldOrder, orderedFields, addressLayout]);
+ if (!addressTemplate) {
+ return (
+
+
+
+ );
+ }
+
+ if (!enabled) {
+ return (
+
+ {addressLayout.map((attributes, index) => (
+
+ ))}
+
+ );
+ }
+
+ if (isLoadingFieldOrder) {
+ return (
+
+
+
+ );
+ }
+
+ if (errorFetchingFieldOrder) {
+ return (
+
+
+
+ );
+ }
+
+ return (
+
+ {useQuickSearch && }
+ {searchAddressByLevel ? (
+
+ ) : (
+ orderedAddressFields.map((attributes, index) => (
+
+ ))
+ )}
+
+ );
+};
+
+const AddressComponentContainer = ({ children }) => {
+ const { t } = useTranslation();
return (
-
-
- {({ field, form: { touched, errors }, meta }) => {
- return (
-
- );
- }}
-
+
+
{t('addressHeader', 'Address')}
+
+ {children}
+
);
};
diff --git a/packages/esm-patient-registration-app/src/patient-registration/field/address/address-hierarchy-levels.component.tsx b/packages/esm-patient-registration-app/src/patient-registration/field/address/address-hierarchy-levels.component.tsx
new file mode 100644
index 000000000..bdb1e1e34
--- /dev/null
+++ b/packages/esm-patient-registration-app/src/patient-registration/field/address/address-hierarchy-levels.component.tsx
@@ -0,0 +1,68 @@
+import React, { useCallback, useMemo } from 'react';
+import { useTranslation } from 'react-i18next';
+import { useAddressEntries, useAddressEntryFetchConfig } from './address-hierarchy.resource';
+import { useField } from 'formik';
+import ComboInput from '../../input/combo-input/combo-input.component';
+import { InlineNotification } from '@carbon/react';
+
+interface AddressHierarchyLevelsProps {
+ orderedAddressFields: Array
;
+}
+
+const AddressHierarchyLevels: React.FC = ({ orderedAddressFields }) => {
+ const { t } = useTranslation();
+
+ return (
+ <>
+ {orderedAddressFields.map((attribute) => (
+
+ ))}
+ >
+ );
+};
+
+export default AddressHierarchyLevels;
+
+interface AddressComboBoxProps {
+ attribute: {
+ id: string;
+ name: string;
+ value: string;
+ label: string;
+ };
+}
+
+const AddressComboBox: React.FC = ({ attribute }) => {
+ const { t } = useTranslation();
+ const [field, meta, helpers] = useField(`address.${attribute.name}`);
+ const { fetchEntriesForField, searchString, updateChildElements } = useAddressEntryFetchConfig(attribute.name);
+ const { entries } = useAddressEntries(fetchEntriesForField, searchString);
+
+ const handleInputChange = useCallback((newValue) => {
+ helpers.setValue(newValue);
+ }, []);
+
+ const handleSelection = useCallback(
+ (selectedItem) => {
+ if (meta.value !== selectedItem) {
+ helpers.setValue(selectedItem);
+ updateChildElements();
+ }
+ },
+ [updateChildElements, helpers.setValue],
+ );
+
+ return (
+
+ );
+};
diff --git a/packages/esm-patient-registration-app/src/patient-registration/field/address/address-hierarchy.component.tsx b/packages/esm-patient-registration-app/src/patient-registration/field/address/address-hierarchy.component.tsx
deleted file mode 100644
index bc786e201..000000000
--- a/packages/esm-patient-registration-app/src/patient-registration/field/address/address-hierarchy.component.tsx
+++ /dev/null
@@ -1,143 +0,0 @@
-import React, { useEffect, useState, useContext } from 'react';
-import { useTranslation } from 'react-i18next';
-import { ResourcesContext } from '../../../offline.resources';
-import { ComboInput } from '../../input/combo-input/combo-input.component';
-import { SkeletonText } from '@carbon/react';
-import styles from '../field.scss';
-import { Input } from '../../input/basic-input/input/input.component';
-import { useConfig } from '@openmrs/esm-framework';
-import AddressSearchComponent from './address-search.component';
-import { PatientRegistrationContext } from '../../patient-registration-context';
-
-function parseString(xmlDockAsString: string) {
- const parser = new DOMParser();
- return parser.parseFromString(xmlDockAsString, 'text/xml');
-}
-function getTagAsDocument(tagName: string, template: XMLDocument) {
- const tmp = template.getElementsByTagName(tagName)[0];
- return tmp ? parseString(tmp.outerHTML) : parseString('');
-}
-
-export const AddressHierarchy: React.FC = () => {
- const [selected, setSelected] = useState('');
- const [addressLayout, setAddressLayout] = useState([]);
- const { t } = useTranslation();
- const { addressTemplate } = useContext(ResourcesContext);
- const addressTemplateXml = addressTemplate?.results[0].value;
- const setSelectedValue = (value: string) => {
- setSelected(value);
- };
- const config = useConfig();
- const {
- fieldConfigurations: {
- address: {
- useAddressHierarchy: { enabled, useQuickSearch, searchAddressByLevel },
- },
- },
- } = config;
-
- const { setFieldValue, values } = useContext(PatientRegistrationContext);
-
- useEffect(() => {
- const templateXmlDoc = parseString(addressTemplateXml);
- const elementDefaults = getTagAsDocument('elementDefaults', templateXmlDoc);
- const defaultValuesEntries = elementDefaults.getElementsByTagName('entry');
- const defaultValues = Object.fromEntries(
- Array.prototype.map.call(defaultValuesEntries, (entry: Element) => {
- const [name, value] = Array.from(entry.getElementsByTagName('string'));
- return [name.innerHTML, value.innerHTML];
- }),
- );
- const nameMappings = getTagAsDocument('nameMappings', templateXmlDoc);
- const properties =
- Array.from(nameMappings.getElementsByTagName('property')).length > 0
- ? nameMappings.getElementsByTagName('property')
- : nameMappings.getElementsByTagName('entry');
-
- const propertiesObj = Array.prototype.map.call(properties, (property: Element) => {
- const name = property.getAttribute('name') ?? property.getElementsByTagName('string')[0].innerHTML;
- const label = property.getAttribute('value') ?? property.getElementsByTagName('string')[1].innerHTML;
- /*
- DO NOT REMOVE THIS COMMENT UNLESS YOU UNDERSTAND WHY IT IS HERE
-
- t('postalCode', 'Postal code')
- t('address1', 'Address line 1')
- t('address2', 'Address line 2')
- t('countyDistrict', 'District')
- t('stateProvince', 'State')
- t('cityVillage', 'city')
- t('country', 'Country')
- t('countyDistrict', 'District')
- */
- const value = defaultValues[name];
- if (!values?.address?.[name] && value) {
- setFieldValue(`address.${name}`, value);
- }
- return {
- id: name,
- name,
- value,
- label,
- };
- });
- setAddressLayout(propertiesObj);
- }, [t, addressTemplateXml, setFieldValue, values]);
-
- if (!addressTemplate) {
- return (
-
-
{t('addressHeader', 'Address')}
-
-
- );
- }
-
- return (
-
-
{t('addressHeader', 'Address')}
-
-
- );
-};
diff --git a/packages/esm-patient-registration-app/src/patient-registration/field/address/address-hierarchy.resource.tsx b/packages/esm-patient-registration-app/src/patient-registration/field/address/address-hierarchy.resource.tsx
new file mode 100644
index 000000000..204ce43e1
--- /dev/null
+++ b/packages/esm-patient-registration-app/src/patient-registration/field/address/address-hierarchy.resource.tsx
@@ -0,0 +1,102 @@
+import { FetchResponse, openmrsFetch } from '@openmrs/esm-framework';
+import { useField } from 'formik';
+import { useCallback, useContext, useEffect, useMemo } from 'react';
+import useSWRImmutable from 'swr/immutable';
+import { PatientRegistrationContext } from '../../patient-registration-context';
+
+interface AddressFields {
+ addressField: string;
+}
+
+export function useOrderedAddressHierarchyLevels() {
+ const url = '/module/addresshierarchy/ajax/getOrderedAddressHierarchyLevels.form';
+ const { data, isLoading, error } = useSWRImmutable>>(url, openmrsFetch);
+
+ const results = useMemo(
+ () => ({
+ orderedFields: data?.data?.map((field) => field.addressField),
+ isLoadingFieldOrder: isLoading,
+ errorFetchingFieldOrder: error,
+ }),
+ [data, isLoading, error],
+ );
+
+ return results;
+}
+
+export function useAddressEntries(fetchResults, searchString) {
+ const { data, isLoading, error } = useSWRImmutable>>(
+ fetchResults
+ ? `module/addresshierarchy/ajax/getChildAddressHierarchyEntries.form?searchString=${searchString}`
+ : null,
+ openmrsFetch,
+ );
+
+ useEffect(() => {
+ if (error) {
+ console.error(error);
+ }
+ }, [error]);
+
+ const results = useMemo(
+ () => ({
+ entries: data?.data?.map((item) => item.name),
+ isLoadingAddressEntries: isLoading,
+ errorFetchingAddressEntries: error,
+ }),
+ [data, isLoading, error],
+ );
+ return results;
+}
+
+/**
+ * This hook is being used to fetch ordered address fields as configured in the address hierarchy
+ * This hook returns the valid search term for valid fields to get suitable entries for the field
+ * This also returns the function to reset the lower ordered fields if the value of a field is changed.
+ */
+export function useAddressEntryFetchConfig(addressField: string) {
+ const { orderedFields, isLoadingFieldOrder, errorFetchingFieldOrder } = useOrderedAddressHierarchyLevels();
+ const { setFieldValue } = useContext(PatientRegistrationContext);
+ const [, { value: addressValues }] = useField('address');
+
+ const index = useMemo(
+ () => (!isLoadingFieldOrder ? orderedFields.findIndex((field) => field === addressField) : -1),
+ [orderedFields, addressField, isLoadingFieldOrder],
+ );
+
+ const addressFieldSearchConfig = useMemo(() => {
+ let fetchEntriesForField = true;
+ const previousSelectedFields = orderedFields?.slice(0, index) ?? [];
+ let previousSelectedValues = [];
+ for (const fieldName of previousSelectedFields) {
+ if (!addressValues[fieldName]) {
+ fetchEntriesForField = false;
+ break;
+ }
+ previousSelectedValues.push(addressValues[fieldName]);
+ }
+ return {
+ fetchEntriesForField,
+ searchString: previousSelectedValues.join('|'),
+ };
+ }, [orderedFields, index, addressValues]);
+
+ const updateChildElements = useCallback(() => {
+ if (isLoadingFieldOrder) {
+ return;
+ }
+ orderedFields.slice(index + 1).map((fieldName) => {
+ setFieldValue(`address.${fieldName}`, '');
+ });
+ }, [index, isLoadingFieldOrder, orderedFields, setFieldValue]);
+
+ const results = useMemo(
+ () => ({
+ ...addressFieldSearchConfig,
+ updateChildElements,
+ }),
+ [addressFieldSearchConfig, updateChildElements],
+ );
+
+ return results;
+}
diff --git a/packages/esm-patient-registration-app/src/patient-registration/field/address/custom-address-field.component.tsx b/packages/esm-patient-registration-app/src/patient-registration/field/address/custom-address-field.component.tsx
new file mode 100644
index 000000000..1001141b2
--- /dev/null
+++ b/packages/esm-patient-registration-app/src/patient-registration/field/address/custom-address-field.component.tsx
@@ -0,0 +1,30 @@
+import React from 'react';
+import { useTranslation } from 'react-i18next';
+import { Input } from '../../input/basic-input/input/input.component';
+import styles from '../field.scss';
+import { FieldDefinition } from '../../../config-schema';
+import { Field } from 'formik';
+
+export interface AddressFieldProps {
+ fieldDefinition: FieldDefinition;
+}
+
+export const AddressField: React.FC = ({ fieldDefinition }) => {
+ const { t } = useTranslation();
+
+ return (
+
+
+ {({ field, form: { touched, errors }, meta }) => {
+ return (
+
+ );
+ }}
+
+
+ );
+};
diff --git a/packages/esm-patient-registration-app/src/patient-registration/field/address/tests/address-hierarchy.test.tsx b/packages/esm-patient-registration-app/src/patient-registration/field/address/tests/address-hierarchy.test.tsx
new file mode 100644
index 000000000..20b011434
--- /dev/null
+++ b/packages/esm-patient-registration-app/src/patient-registration/field/address/tests/address-hierarchy.test.tsx
@@ -0,0 +1,140 @@
+import React from 'react';
+import { cleanup, render, screen } from '@testing-library/react';
+import { AddressComponent } from '../address-field.component';
+import { Formik, Form } from 'formik';
+import { Resources, ResourcesContext } from '../../../../offline.resources';
+import { PatientRegistrationContext } from '../../../patient-registration-context';
+import { useConfig } from '@openmrs/esm-framework';
+import { useOrderedAddressHierarchyLevels } from '../address-hierarchy.resource';
+import { mockResponse1, mockResponse2, mockedOrderedFields } from './mocks';
+import AddressHierarchyLevels from '../address-hierarchy-levels.component';
+
+jest.mock('@openmrs/esm-framework', () => ({
+ ...jest.requireActual('@openmrs/esm-framework'),
+ useConfig: jest.fn(),
+}));
+
+jest.mock('../address-hierarchy.resource', () => ({
+ ...(jest.requireActual('../address-hierarchy.resource') as jest.Mock),
+ useOrderedAddressHierarchyLevels: jest.fn(),
+}));
+
+async function testAddressHierarchy(mockResponse) {
+ await render(
+
+
+
+
+ ,
+ );
+
+ const countryInput = screen.getByLabelText('Country (optional)');
+ expect(countryInput).toBeInTheDocument();
+ expect(countryInput).toHaveAttribute('name', 'address.country');
+ const stateInput = screen.getByLabelText('State (optional)');
+ expect(stateInput).toBeInTheDocument();
+ expect(stateInput).toHaveAttribute('name', 'address.stateProvince');
+ const cityInput = screen.getByLabelText('City (optional)');
+ expect(cityInput).toBeInTheDocument();
+ expect(cityInput).toHaveAttribute('name', 'address.cityVillage');
+ const address1Input = screen.getByLabelText('Address line 1 (optional)');
+ expect(address1Input).toBeInTheDocument();
+ expect(address1Input).toHaveAttribute('name', 'address.address1');
+ const address2Input = screen.getByLabelText('Address line 2 (optional)');
+ expect(address2Input).toBeInTheDocument();
+ expect(address2Input).toHaveAttribute('name', 'address.address2');
+ const postalCodeInput = screen.getByLabelText('Postcode (optional)');
+ expect(postalCodeInput).toBeInTheDocument();
+ expect(postalCodeInput).toHaveAttribute('name', 'address.postalCode');
+}
+
+function testInputFieldOrder() {
+ // Fields must be in the order of the orderedFields
+ const inputs = screen.getAllByRole('textbox');
+ inputs.forEach((input, indx) => {
+ const inputName = input.getAttribute('name');
+ // Names are in the format of address.${name}
+ const fieldName = inputName.split('.')?.[1];
+ expect(fieldName).toBe(mockedOrderedFields[indx]);
+ });
+}
+
+describe('address hierarchy', () => {
+ beforeAll(() => {
+ (useOrderedAddressHierarchyLevels as jest.Mock).mockImplementation(() => ({
+ orderedFields: mockedOrderedFields,
+ isLoadingFieldOrder: false,
+ errorFetchingFieldOrder: null,
+ }));
+ });
+
+ beforeEach(cleanup);
+
+ it('renders text input fields matching addressTemplate config', async () => {
+ (useConfig as jest.Mock).mockImplementation(() => ({
+ fieldConfigurations: {
+ address: {
+ useAddressHierarchy: {
+ enabled: false,
+ useQuickSearch: false,
+ searchAddressByLevel: false,
+ },
+ },
+ },
+ }));
+ testAddressHierarchy(mockResponse1);
+ // For cleaning up the input fields generated in first render
+ cleanup();
+ testAddressHierarchy(mockResponse2);
+ });
+
+ it('renders combo input fields matching addressTemplate config', async () => {
+ (useConfig as jest.Mock).mockImplementation(() => ({
+ fieldConfigurations: {
+ address: {
+ useAddressHierarchy: {
+ enabled: true,
+ useQuickSearch: true,
+ searchAddressByLevel: false,
+ },
+ },
+ },
+ }));
+
+ testAddressHierarchy(mockResponse1);
+ const searchBox = screen.getByRole('searchbox');
+ expect(searchBox).toBeInTheDocument();
+ expect(searchBox.getAttribute('placeholder')).toBe('Search address');
+ testInputFieldOrder();
+ // For cleaning up the input fields generated in first render
+ cleanup();
+ testAddressHierarchy(mockResponse2);
+ testInputFieldOrder();
+ });
+
+ it('renders combo input fields matching addressTemplate config and ordered fields', async () => {
+ (useConfig as jest.Mock).mockImplementation(() => ({
+ fieldConfigurations: {
+ address: {
+ useAddressHierarchy: {
+ enabled: true,
+ useQuickSearch: false,
+ searchAddressByLevel: true,
+ },
+ },
+ },
+ }));
+
+ testAddressHierarchy(mockResponse1);
+ testInputFieldOrder();
+ // For cleaning up the input fields generated in first render
+ cleanup();
+ testAddressHierarchy(mockResponse2);
+ testInputFieldOrder();
+ });
+});
diff --git a/packages/esm-patient-registration-app/src/patient-registration/field/address/address-hierarchy.test.tsx b/packages/esm-patient-registration-app/src/patient-registration/field/address/tests/mocks.ts
similarity index 53%
rename from packages/esm-patient-registration-app/src/patient-registration/field/address/address-hierarchy.test.tsx
rename to packages/esm-patient-registration-app/src/patient-registration/field/address/tests/mocks.ts
index cdf5831f6..fa3b1d6fa 100644
--- a/packages/esm-patient-registration-app/src/patient-registration/field/address/address-hierarchy.test.tsx
+++ b/packages/esm-patient-registration-app/src/patient-registration/field/address/tests/mocks.ts
@@ -1,17 +1,4 @@
-import React from 'react';
-import { render, screen } from '@testing-library/react';
-import { AddressHierarchy } from './address-hierarchy.component';
-import { Formik, Form } from 'formik';
-import { Resources, ResourcesContext } from '../../../offline.resources';
-import { PatientRegistrationContext } from '../../patient-registration-context';
-import { useConfig } from '@openmrs/esm-framework';
-
-jest.mock('@openmrs/esm-framework', () => ({
- ...jest.requireActual('@openmrs/esm-framework'),
- useConfig: jest.fn(),
-}));
-
-const mockResponse1 = {
+export const mockResponse1 = {
results: [
{
value:
@@ -44,7 +31,7 @@ const mockResponse1 = {
],
};
-const mockResponse2 = {
+export const mockResponse2 = {
results: [
{
value:
@@ -114,68 +101,4 @@ const mockResponse2 = {
],
};
-async function testAddressHierarchy(mockResponse) {
- await render(
-
-
-
-
- ,
- );
- const countryInput = screen.getByLabelText('Country (optional)');
- expect(countryInput).toBeInTheDocument();
- expect(countryInput).toHaveAttribute('name', 'address.country');
- const stateInput = screen.getByLabelText('State (optional)');
- expect(stateInput).toBeInTheDocument();
- expect(stateInput).toHaveAttribute('name', 'address.stateProvince');
- const cityInput = screen.getByLabelText('City (optional)');
- expect(cityInput).toBeInTheDocument();
- expect(cityInput).toHaveAttribute('name', 'address.cityVillage');
- const address1Input = screen.getByLabelText('Address line 1 (optional)');
- expect(address1Input).toBeInTheDocument();
- expect(address1Input).toHaveAttribute('name', 'address.address1');
- const address2Input = screen.getByLabelText('Address line 2 (optional)');
- expect(address2Input).toBeInTheDocument();
- expect(address2Input).toHaveAttribute('name', 'address.address2');
- const postalCodeInput = screen.getByLabelText('Postcode (optional)');
- expect(postalCodeInput).toBeInTheDocument();
- expect(postalCodeInput).toHaveAttribute('name', 'address.postalCode');
-}
-
-describe('address hierarchy', () => {
- it('renders text input fields matching addressTemplate config', async () => {
- (useConfig as jest.Mock).mockImplementation(() => ({
- fieldConfigurations: {
- address: {
- useAddressHierarchy: {
- enabled: false,
- useQuickSearch: false,
- searchAddressByLevel: false,
- },
- },
- },
- }));
- testAddressHierarchy(mockResponse1);
- testAddressHierarchy(mockResponse2);
- });
-
- it('renders combo input fields matching addressTemplate config', async () => {
- (useConfig as jest.Mock).mockImplementation(() => ({
- fieldConfigurations: {
- address: {
- useAddressHierarchy: {
- enabled: true,
- useQuickSearch: false,
- searchAddressByLevel: true,
- },
- },
- },
- }));
- testAddressHierarchy(mockResponse1);
- testAddressHierarchy(mockResponse2);
- });
-});
+export const mockedOrderedFields = ['country', 'stateProvince', 'cityVillage', 'postalCode', 'address1', 'address2'];
diff --git a/packages/esm-patient-registration-app/src/patient-registration/field/custom-field.component.tsx b/packages/esm-patient-registration-app/src/patient-registration/field/custom-field.component.tsx
index 41d7d2c88..3b9f35ea2 100644
--- a/packages/esm-patient-registration-app/src/patient-registration/field/custom-field.component.tsx
+++ b/packages/esm-patient-registration-app/src/patient-registration/field/custom-field.component.tsx
@@ -1,7 +1,7 @@
import { useConfig } from '@openmrs/esm-framework';
import React from 'react';
import { RegistrationConfig } from '../../config-schema';
-import { AddressField } from './address/address-field.component';
+import { AddressField } from './address/custom-address-field.component';
import { ObsField } from './obs/obs-field.component';
import { PersonAttributeField } from './person-attributes/person-attribute-field.component';
diff --git a/packages/esm-patient-registration-app/src/patient-registration/field/field.component.tsx b/packages/esm-patient-registration-app/src/patient-registration/field/field.component.tsx
index 528278ca8..d8bfa31cc 100644
--- a/packages/esm-patient-registration-app/src/patient-registration/field/field.component.tsx
+++ b/packages/esm-patient-registration-app/src/patient-registration/field/field.component.tsx
@@ -6,7 +6,7 @@ import { DobField } from './dob/dob.component';
import { reportError, useConfig } from '@openmrs/esm-framework';
import { builtInFields, RegistrationConfig } from '../../config-schema';
import { CustomField } from './custom-field.component';
-import { AddressHierarchy } from './address/address-hierarchy.component';
+import { AddressComponent } from './address/address-field.component';
export interface FieldProps {
name: string;
@@ -35,7 +35,7 @@ export function Field({ name }: FieldProps) {
case 'dob':
return ;
case 'address':
- return ;
+ return ;
case 'id':
return ;
default:
diff --git a/packages/esm-patient-registration-app/src/patient-registration/input/combo-input/combo-input.component.tsx b/packages/esm-patient-registration-app/src/patient-registration/input/combo-input/combo-input.component.tsx
index f15862a81..646ccbab4 100644
--- a/packages/esm-patient-registration-app/src/patient-registration/input/combo-input/combo-input.component.tsx
+++ b/packages/esm-patient-registration-app/src/patient-registration/input/combo-input/combo-input.component.tsx
@@ -1,76 +1,116 @@
-import React, { useState } from 'react';
-import { ComboBox, ComboBoxProps, Layer } from '@carbon/react';
-import { useField } from 'formik';
-import { useTranslation } from 'react-i18next';
-import { performAdressHierarchyWithParentSearch } from '../../../resource';
+import React, { useCallback, useMemo, useRef, useState } from 'react';
+import { TextInput, Layer } from '@carbon/react';
+import SelectionTick from './selection-tick.component';
+import styles from '../input.scss';
-interface ComboInputProps extends Omit {
+interface ComboInputProps {
+ entries: Array;
name: string;
- labelText: string;
- placeholder?: string;
- setSelectedValue: any;
- selected: string;
- textFieldName: string;
- required?: boolean;
+ fieldProps: {
+ value: string;
+ labelText: string;
+ [x: string]: any;
+ };
+ handleInputChange: (newValue: string) => void;
+ handleSelection: (newSelection) => void;
}
-export const ComboInput: React.FC = ({
- name,
- labelText,
- placeholder,
- setSelectedValue,
- selected,
- textFieldName,
- required,
-}) => {
- const { t } = useTranslation();
- const [field, _, helpers] = useField(name);
- const [listItems, setListItems] = useState([]);
- const [error, setError] = useState();
- const { setValue } = helpers;
- const comboLabelText = !required ? `${labelText} (${t('optional', 'optional')})` : labelText;
- const comboBoxEvent = (text, id) => {
- if (text == '') {
- } else {
- performAdressHierarchyWithParentSearch(textFieldName.replace(' ', ''), selected, text)
- .then((value) => {
- setListItems(value.data.map((parent1) => ({ id: parent1['uuid'], text: parent1['name'] })));
- })
- .catch((err) => {
- setError(err);
- });
+const ComboInput: React.FC = ({ entries, fieldProps, handleInputChange, handleSelection }) => {
+ const [highlightedEntry, setHighlightedEntry] = useState(-1);
+ const { value = '' } = fieldProps;
+ const [showEntries, setShowEntries] = useState(false);
+ const comboInputRef = useRef(null);
+
+ const handleFocus = useCallback(() => {
+ setShowEntries(true);
+ setHighlightedEntry(-1);
+ }, [setShowEntries, setHighlightedEntry]);
+
+ const handleBlur = useCallback(
+ (e) => {
+ // This check is in place to not hide the entries when an entry is clicked
+ // Else the onClick of the entry will not be counted.
+ if (!comboInputRef?.current?.contains(e.target)) {
+ setShowEntries(false);
+ }
+ setHighlightedEntry(-1);
+ },
+ [setShowEntries, setHighlightedEntry],
+ );
+
+ const filteredEntries = useMemo(() => {
+ if (!entries) {
+ return [];
}
- };
+ if (!value) {
+ return entries;
+ }
+ return entries.filter((entry) => entry.toLowerCase().includes(value.toLowerCase()));
+ }, [entries, value]);
- if (error) {
- return {t(`${error.message}`)};
- }
+ const handleOptionClick = useCallback(
+ (newSelection: string, e: KeyboardEvent = null) => {
+ e?.preventDefault();
+ handleSelection(newSelection);
+ setShowEntries(false);
+ },
+ [handleSelection, setShowEntries],
+ );
+
+ const handleKeyPress = useCallback(
+ (e: KeyboardEvent) => {
+ const totalResults = filteredEntries.length ?? 0;
+ if (e.key === 'ArrowUp') {
+ setHighlightedEntry((prev) => Math.max(-1, prev - 1));
+ } else if (e.key === 'ArrowDown') {
+ setHighlightedEntry((prev) => Math.min(totalResults - 1, prev + 1));
+ } else if (e.key === 'Enter' && highlightedEntry > -1) {
+ handleOptionClick(filteredEntries[highlightedEntry], e);
+ }
+ },
+ [highlightedEntry, handleOptionClick, filteredEntries, setHighlightedEntry],
+ );
return (
-
+
- {
- comboBoxEvent(event, name);
- setValue(event);
- }}
- items={listItems}
- itemToString={(item) => item?.text ?? ''}
- {...field}
- onChange={(e) => {
- if (Boolean(e.selectedItem)) {
- setSelectedValue(e.selectedItem.id);
- setValue(e.selectedItem.text);
- } else {
- setSelectedValue(undefined);
- setValue(undefined);
- }
- }}
- placeholder={placeholder}
- titleText={comboLabelText}
+ handleInputChange(e.target.value)}
+ onFocus={handleFocus}
+ onBlur={handleBlur}
+ autoComplete={'off'}
+ onKeyDown={handleKeyPress}
/>
+
+ {showEntries && (
+
+ )}
+
);
};
+
+export default ComboInput;
diff --git a/packages/esm-patient-registration-app/src/patient-registration/input/combo-input/combo-input.test.tsx b/packages/esm-patient-registration-app/src/patient-registration/input/combo-input/combo-input.test.tsx
deleted file mode 100644
index e0a7bf768..000000000
--- a/packages/esm-patient-registration-app/src/patient-registration/input/combo-input/combo-input.test.tsx
+++ /dev/null
@@ -1,43 +0,0 @@
-import { fireEvent, render, screen, waitFor } from '@testing-library/react';
-import { Form, Formik } from 'formik';
-import { ComboInput } from './combo-input.component';
-import React from 'react';
-
-describe('Combo box input', () => {
- const setupInput = async () => {
- const selected = null;
- const setSelectedValue = null;
- render(
-
-
- ,
- );
- return screen.getByLabelText('Text') as HTMLInputElement;
- };
-
- it('exists', async () => {
- const input = await setupInput();
- expect(input.type).toEqual('text');
- });
-
- it('can input data', async () => {
- const input = await setupInput();
- const expected = 'Some Text';
-
- fireEvent.change(input, { target: { value: expected } });
- fireEvent.blur(input);
-
- await waitFor(() => expect(input.value).toEqual(expected));
- });
-});
diff --git a/packages/esm-patient-registration-app/src/patient-registration/input/combo-input/selection-tick.component.tsx b/packages/esm-patient-registration-app/src/patient-registration/input/combo-input/selection-tick.component.tsx
new file mode 100644
index 000000000..fefc0b7f9
--- /dev/null
+++ b/packages/esm-patient-registration-app/src/patient-registration/input/combo-input/selection-tick.component.tsx
@@ -0,0 +1,20 @@
+import React from 'react';
+
+function SelectionTick() {
+ return (
+
+ );
+}
+
+export default SelectionTick;
diff --git a/packages/esm-patient-registration-app/src/patient-registration/input/input.scss b/packages/esm-patient-registration-app/src/patient-registration/input/input.scss
index 558a437fb..5ea727b9a 100644
--- a/packages/esm-patient-registration-app/src/patient-registration/input/input.scss
+++ b/packages/esm-patient-registration-app/src/patient-registration/input/input.scss
@@ -18,7 +18,8 @@
color: $text-02;
}
-.textID {
+.textID,
+.comboInput {
margin-bottom: spacing.$spacing-05;
}
@@ -106,3 +107,7 @@
@include type.type-style('label-01');
color: $danger;
}
+
+.comboInputEntries {
+ position: relative;
+}
diff --git a/packages/esm-patient-registration-app/src/patient-registration/patient-registration-context.ts b/packages/esm-patient-registration-app/src/patient-registration/patient-registration-context.ts
index 81427aae4..53b13656c 100644
--- a/packages/esm-patient-registration-app/src/patient-registration/patient-registration-context.ts
+++ b/packages/esm-patient-registration-app/src/patient-registration/patient-registration-context.ts
@@ -14,6 +14,7 @@ export interface PatientRegistrationContextProps {
currentPhoto: string;
isOffline: boolean;
initialFormValues: FormValues;
+ setInitialFormValues?: React.Dispatch
>;
}
export const PatientRegistrationContext = createContext(undefined);
diff --git a/packages/esm-patient-registration-app/src/patient-registration/patient-registration.component.tsx b/packages/esm-patient-registration-app/src/patient-registration/patient-registration.component.tsx
index e65e40a24..71380be97 100644
--- a/packages/esm-patient-registration-app/src/patient-registration/patient-registration.component.tsx
+++ b/packages/esm-patient-registration-app/src/patient-registration/patient-registration.component.tsx
@@ -203,6 +203,7 @@ export const PatientRegistration: React.FC = ({ savePa
currentPhoto: photo?.imageSrc,
isOffline,
initialFormValues: props.initialValues,
+ setInitialFormValues,
}}>
{sections.map((section, index) => (
Date: Fri, 23 Jun 2023 12:42:22 +0530
Subject: [PATCH 08/17] (BREAKING) Migrate esm-patient-management to use
routes.json (#733)
* BREAKING: Migrate esm-patient-management to routes.json
* Add routes.json for patient-registration-app
* Fix bogus import
* Bump openmrs and openmrs-esm-framework
* Bump peer deps and framework
* Update jest config
* Add routes.json for outpatient-app
* Migrate `esm-active-visits-app` to use routes.json
* Migrate `esm-appointments-app` to use routes.json
* Migrate `esm-patient-lists-app to use routes.json
* Bump core to v5.0.2 + add css-loader and @swc-node/loaderz
---------
Co-authored-by: Ian
Co-authored-by: Dennis Kigen
---
jest.config.js | 38 +
jest.config.json | 40 -
package.json | 6 +-
packages/esm-active-visits-app/package.json | 2 +-
packages/esm-active-visits-app/src/index.ts | 29 +-
.../esm-active-visits-app/src/routes.json | 21 +
packages/esm-appointments-app/package.json | 2 +-
packages/esm-appointments-app/src/index.ts | 70 +-
packages/esm-appointments-app/src/routes.json | 45 +
packages/esm-outpatient-app/package.json | 2 +-
packages/esm-outpatient-app/src/index.ts | 211 +--
packages/esm-outpatient-app/src/routes.json | 74 +
packages/esm-patient-list-app/package.json | 2 +-
.../esm-patient-list-app/src/api/types.ts | 2 +-
packages/esm-patient-list-app/src/index.ts | 107 +-
packages/esm-patient-list-app/src/routes.json | 41 +
.../esm-patient-registration-app/package.json | 2 +-
.../esm-patient-registration-app/src/index.ts | 120 +-
.../src/patient-registration/form-manager.ts | 1 +
.../src/root.component.tsx | 18 +-
.../src/routes.json | 46 +
packages/esm-patient-search-app/package.json | 2 +-
packages/esm-patient-search-app/src/index.ts | 66 +-
.../esm-patient-search-app/src/routes.json | 26 +
yarn.lock | 1479 ++++++++++-------
25 files changed, 1384 insertions(+), 1068 deletions(-)
create mode 100644 jest.config.js
delete mode 100644 jest.config.json
create mode 100644 packages/esm-active-visits-app/src/routes.json
create mode 100644 packages/esm-appointments-app/src/routes.json
create mode 100644 packages/esm-outpatient-app/src/routes.json
create mode 100644 packages/esm-patient-list-app/src/routes.json
create mode 100644 packages/esm-patient-registration-app/src/routes.json
create mode 100644 packages/esm-patient-search-app/src/routes.json
diff --git a/jest.config.js b/jest.config.js
new file mode 100644
index 000000000..1b2ac8b2c
--- /dev/null
+++ b/jest.config.js
@@ -0,0 +1,38 @@
+/**
+ * @returns {Promise}
+ */
+module.exports = {
+ transform: {
+ '^.+\\.(j|t)sx?$': '@swc/jest',
+ },
+ transformIgnorePatterns: ['/node_modules/(?!@openmrs)'],
+ moduleNameMapper: {
+ '\\.(s?css)$': 'identity-obj-proxy',
+ '@openmrs/esm-framework': '@openmrs/esm-framework/mock',
+ '^lodash-es/(.*)$': 'lodash/$1',
+ '^uuid$': '/node_modules/uuid/dist/index.js',
+ '^dexie$': require.resolve('dexie'),
+ },
+ collectCoverageFrom: [
+ '**/src/**/*.component.tsx',
+ '!**/node_modules/**',
+ '!**/vendor/**',
+ '!**/src/**/*.test.*',
+ '!**/src/declarations.d.tsx',
+ '!**/e2e/**',
+ ],
+ coverageThreshold: {
+ global: {
+ statements: 80,
+ branches: 80,
+ functions: 80,
+ lines: 80,
+ },
+ },
+ setupFilesAfterEnv: ['/tools/setupTests.ts'],
+ testPathIgnorePatterns: ['/packages/esm-form-entry-app', '/e2e'],
+ testEnvironment: 'jsdom',
+ testEnvironmentOptions: {
+ url: 'http://localhost/',
+ },
+};
diff --git a/jest.config.json b/jest.config.json
deleted file mode 100644
index d25890bd8..000000000
--- a/jest.config.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "transform": {
- "^.+\\.tsx?$": "@swc/jest"
- },
- "transformIgnorePatterns": [
- "/node_modules/(?!@openmrs)"
- ],
- "moduleNameMapper": {
- "\\.(s?css)$": "identity-obj-proxy",
- "@openmrs/esm-framework": "@openmrs/esm-framework/mock",
- "lodash-es": "lodash"
- },
- "collectCoverageFrom": [
- "**/packages/**/*.tsx",
- "!**/node_modules/**",
- "!**/vendor/**",
- "!**/src/**/*.test.*",
- "!**/src/declarations.d.tsx",
- "!**/e2e/**"
- ],
- "coverageThreshold": {
- "global": {
- "statements": 8,
- "branches": 5,
- "functions": 7,
- "lines": 8
- }
- },
- "setupFilesAfterEnv": [
- "/tools/setupTests.ts"
- ],
- "testEnvironment": "jsdom",
- "testEnvironmentOptions": {
- "url": "http://localhost/"
- },
- "resolver": "/jest-resolver.js",
- "testPathIgnorePatterns" : [
- "/e2e"
- ]
-}
diff --git a/package.json b/package.json
index 366b656fc..744f1a893 100644
--- a/package.json
+++ b/package.json
@@ -12,8 +12,8 @@
"release": "lerna version --no-git-tag-version",
"verify": "turbo run lint && turbo run typescript",
"prettier": "prettier --config prettier.config.js --write \"packages/**/*.{ts,tsx,css,scss}\" \"e2e/**/*.ts\"",
- "test": "cross-env TZ=UTC jest --config jest.config.json --verbose false --passWithNoTests",
- "test-watch": "cross-env TZ=UTC jest --watch --config jest.config.json",
+ "test": "cross-env TZ=UTC jest --config jest.config.js --verbose false --passWithNoTests",
+ "test-watch": "cross-env TZ=UTC jest --watch --config jest.config.js",
"test-e2e": "playwright test",
"coverage": "yarn test --coverage",
"postinstall": "husky install",
@@ -28,6 +28,7 @@
"@carbon/react": "^1.12.0",
"@openmrs/esm-framework": "next",
"@playwright/test": "1.34.0",
+ "@swc-node/loader": "^1.3.5",
"@swc/core": "^1.2.165",
"@swc/jest": "^0.2.20",
"@testing-library/dom": "^8.13.0",
@@ -47,6 +48,7 @@
"babel-preset-minify": "^0.5.1",
"concurrently": "^5.3.0",
"cross-env": "^7.0.3",
+ "css-loader": "^6.8.1",
"dayjs": "^1.8.36",
"dotenv": "^16.0.3",
"eslint": "^7.20.0",
diff --git a/packages/esm-active-visits-app/package.json b/packages/esm-active-visits-app/package.json
index 2a2a33530..9e8b064ea 100644
--- a/packages/esm-active-visits-app/package.json
+++ b/packages/esm-active-visits-app/package.json
@@ -38,7 +38,7 @@
"lodash-es": "^4.17.15"
},
"peerDependencies": {
- "@openmrs/esm-framework": "4.x",
+ "@openmrs/esm-framework": "5.x",
"dayjs": "1.x",
"react": "^18.1.0",
"react-dom": "^18.1.0",
diff --git a/packages/esm-active-visits-app/src/index.ts b/packages/esm-active-visits-app/src/index.ts
index 1cf98f4a3..77836daa4 100644
--- a/packages/esm-active-visits-app/src/index.ts
+++ b/packages/esm-active-visits-app/src/index.ts
@@ -1,28 +1,16 @@
import { defineConfigSchema, getAsyncLifecycle } from '@openmrs/esm-framework';
import { configSchema } from './config-schema';
-declare var __VERSION__: string;
-// __VERSION__ is replaced by Webpack with the version from package.json
-const version = __VERSION__;
+const moduleName = '@openmrs/esm-active-visits-app';
-const importTranslation = require.context('../translations', false, /.json$/, 'lazy');
-
-const backendDependencies = {
- 'webservices.rest': '^2.2.0',
-};
-
-const frontendDependencies = {
- '@openmrs/esm-framework': process.env.FRAMEWORK_VERSION,
+const options = {
+ featureName: 'active-visits',
+ moduleName,
};
-function setupOpenMRS() {
- const moduleName = '@openmrs/esm-active-visits-app';
-
- const options = {
- featureName: 'active-visits',
- moduleName,
- };
+export const importTranslation = require.context('../translations', false, /.json$/, 'lazy');
+export function startupApp() {
defineConfigSchema(moduleName, configSchema);
return {
@@ -42,4 +30,7 @@ function setupOpenMRS() {
};
}
-export { backendDependencies, frontendDependencies, importTranslation, setupOpenMRS, version };
+export const activeVisits = () =>
+ getAsyncLifecycle(() => import('./active-visits-widget/active-visits.component'), options);
+
+export const visitDetail = () => getAsyncLifecycle(() => import('./visits-summary/visit-detail.component'), options);
diff --git a/packages/esm-active-visits-app/src/routes.json b/packages/esm-active-visits-app/src/routes.json
new file mode 100644
index 000000000..55f181dae
--- /dev/null
+++ b/packages/esm-active-visits-app/src/routes.json
@@ -0,0 +1,21 @@
+{
+ "$schema": "https://json.openmrs.org/routes.schema.json",
+ "backendDependencies": {
+ "webservices.rest": "^2.2.0"
+ },
+ "extensions": [
+ {
+ "name": "active-visits-widget",
+ "slot": "homepage-widget-slot",
+ "component": "activeVisits",
+ "order": 0
+ },
+ {
+ "name": "visit-summary-widget",
+ "slot": "visit-summary-slot",
+ "component": "visitDetail",
+ "order": 0
+ }
+ ],
+ "pages": []
+}
\ No newline at end of file
diff --git a/packages/esm-appointments-app/package.json b/packages/esm-appointments-app/package.json
index bbf1c87b3..e3947e01b 100644
--- a/packages/esm-appointments-app/package.json
+++ b/packages/esm-appointments-app/package.json
@@ -40,7 +40,7 @@
"yup": "^0.32.11"
},
"peerDependencies": {
- "@openmrs/esm-framework": "4.x",
+ "@openmrs/esm-framework": "5.x",
"react": "18.x",
"react-i18next": "11.x",
"react-router-dom": "6.x"
diff --git a/packages/esm-appointments-app/src/index.ts b/packages/esm-appointments-app/src/index.ts
index 5f7e763a4..4d22917b4 100644
--- a/packages/esm-appointments-app/src/index.ts
+++ b/packages/esm-appointments-app/src/index.ts
@@ -3,15 +3,7 @@ import { configSchema } from './config-schema';
import { createDashboardLink } from './createDashboardLink';
import { dashboardMeta, appointmentCalendarDashboardMeta } from './dashboard.meta';
-declare var __VERSION__: string;
-// __VERSION__ is replaced by Webpack with the version from package.json
-const version = __VERSION__;
-
-const importTranslation = require.context('../translations', false, /.json$/, 'lazy');
-
-const backendDependencies = {
- 'webservices.rest': '^2.2.0',
-};
+export const importTranslation = require.context('../translations', false, /.json$/, 'lazy');
const moduleName = '@openmrs/esm-appointments-app';
@@ -20,7 +12,7 @@ const options = {
moduleName,
};
-function setupOpenMRS() {
+export function startupApp() {
const appointmentsBasePath = `${window.spaBase}/home/appointments`;
defineConfigSchema(moduleName, configSchema);
@@ -37,52 +29,16 @@ function setupOpenMRS() {
parent: `${window.spaBase}`,
},
]);
-
- return {
- extensions: [
- {
- name: 'home-appointments',
- slot: 'homepage-widgets-slot',
- order: 1,
- load: getAsyncLifecycle(() => import('./home-appointments'), options),
- },
- {
- name: 'clinical-appointments-dashboard-link',
- slot: 'homepage-dashboard-slot',
- load: getSyncLifecycle(createDashboardLink(dashboardMeta), options),
- meta: dashboardMeta,
- online: true,
- offline: true,
- },
- {
- name: 'appointments-calendar-dashboard-link',
- slot: 'calendar-dashboard-slot',
- load: getSyncLifecycle(createDashboardLink(appointmentCalendarDashboardMeta), options),
- online: true,
- offline: true,
- },
- {
- name: 'clinical-appointments-dashboard',
- slot: 'clinical-appointments-dashboard-slot',
- load: getAsyncLifecycle(() => import('./appointments.component'), options),
- online: true,
- offline: true,
- },
- {
- name: 'todays-appointments-dashboard',
- slot: 'todays-appointment-slot',
- load: getAsyncLifecycle(() => import('./home-appointments/'), options),
- online: true,
- offline: true,
- },
- {
- name: 'check-in-appointment-modal',
- load: getAsyncLifecycle(() => import('./home-appointments/check-in-modal/check-in-modal.component'), options),
- online: true,
- offline: false,
- },
- ],
- };
}
-export { backendDependencies, importTranslation, setupOpenMRS, version };
+export const appointmentsDashboardLink = () => getSyncLifecycle(createDashboardLink(dashboardMeta), options);
+
+export const appointmentsCalendarDashboardLink = () =>
+ getSyncLifecycle(createDashboardLink(appointmentCalendarDashboardMeta), options);
+
+export const appointmentsDashboard = () => getAsyncLifecycle(() => import('./appointments.component'), options);
+
+export const checkInModal = () =>
+ getAsyncLifecycle(() => import('./home-appointments/check-in-modal/check-in-modal.component'), options);
+
+export const homeAppointments = () => getAsyncLifecycle(() => import('./home-appointments'), options);
diff --git a/packages/esm-appointments-app/src/routes.json b/packages/esm-appointments-app/src/routes.json
new file mode 100644
index 000000000..8b12c12a9
--- /dev/null
+++ b/packages/esm-appointments-app/src/routes.json
@@ -0,0 +1,45 @@
+{
+ "$schema": "https://json.openmrs.org/routes.schema.json",
+ "backendDependencies": {
+ "webservices.rest": "^2.2.0"
+ },
+ "extensions": [
+ {
+ "name": "home-appointments",
+ "slot": "homepage-widgets-slot",
+ "component": "homeAppointments",
+ "order": 1
+ },
+ {
+ "name": "clinical-appointments-dashboard-link",
+ "slot": "homepage-dashboard-slot",
+ "component": "appointmentsDashboardLink",
+ "meta": {
+ "name": "appointments",
+ "slot": "clinical-appointments-dashboard-slot",
+ "title": "Appointments"
+ }
+ },
+ {
+ "name": "appointments-calendar-dashboard-link",
+ "slot": "calendar-dashboard-slot",
+ "component": "appointmentsCalendarDashboardLink"
+ },
+ {
+ "name": "check-in-appointment-modal",
+ "slot": "todays-appointment-slot",
+ "component": "checkInModal"
+ },
+ {
+ "name": "clinical-appointments-dashboard",
+ "slot": "clinical-appointments-dashboard-slot",
+ "component": "appointmentsDashboard"
+ },
+ {
+ "name": "todays-appointments-dashboard",
+ "slot": "todays-appointment-slot",
+ "component": "homeAppointments"
+ }
+ ],
+ "pages": []
+}
\ No newline at end of file
diff --git a/packages/esm-outpatient-app/package.json b/packages/esm-outpatient-app/package.json
index de0e13c06..327e11d11 100644
--- a/packages/esm-outpatient-app/package.json
+++ b/packages/esm-outpatient-app/package.json
@@ -38,7 +38,7 @@
"lodash-es": "^4.17.15"
},
"peerDependencies": {
- "@openmrs/esm-framework": "4.x",
+ "@openmrs/esm-framework": "5.x",
"react": "^18.1.0",
"react-i18next": "11.x",
"react-router-dom": "6.x"
diff --git a/packages/esm-outpatient-app/src/index.ts b/packages/esm-outpatient-app/src/index.ts
index 4f4097eec..ef367cd4c 100644
--- a/packages/esm-outpatient-app/src/index.ts
+++ b/packages/esm-outpatient-app/src/index.ts
@@ -3,141 +3,98 @@ import { configSchema } from './config-schema';
import { createDashboardLink } from './createDashboardLink';
import { dashboardMeta } from './dashboard.meta';
-declare var __VERSION__: string;
-// __VERSION__ is replaced by Webpack with the version from package.json
-const version = __VERSION__;
+export const importTranslation = require.context('../translations', false, /.json$/, 'lazy');
-const importTranslation = require.context('../translations', false, /.json$/, 'lazy');
+const moduleName = '@openmrs/esm-outpatient-app';
-const backendDependencies = {
- 'webservices.rest': '^2.2.0',
+const options = {
+ featureName: 'outpatient',
+ moduleName,
};
-function setupOpenMRS() {
- const moduleName = '@openmrs/esm-outpatient-app';
+export const appointmentsList = getAsyncLifecycle(
+ () => import('./queue-patient-linelists/scheduled-appointments-table.component'),
+ options,
+);
- const options = {
- featureName: 'outpatient',
+export const queueList = getAsyncLifecycle(
+ () => import('./queue-patient-linelists/queue-services-table.component'),
+ options,
+);
+
+export const outpatientSideNav = getAsyncLifecycle(() => import('./side-menu/side-menu.component'), options);
+
+export const serviceQueuesDashboardLink = getSyncLifecycle(createDashboardLink(dashboardMeta), options);
+
+export const homeDashboard = getAsyncLifecycle(() => import('./home.component'), options);
+
+export const editQueueEntryStatusModal = getAsyncLifecycle(
+ () => import('./active-visits/change-status-dialog.component'),
+ {
+ featureName: 'edit queue status',
+ moduleName,
+ },
+);
+
+export const patientInfoBannerSlot = getAsyncLifecycle(() => import('./patient-info/patient-info.component'), {
+ featureName: 'patient info slot',
+ moduleName,
+});
+
+export const addPatientToQueue = getAsyncLifecycle(() => import('./patient-search/visit-form/visit-form.component'), {
+ featureName: 'patient info slot',
+ moduleName,
+});
+
+export const removeQueueEntry = getAsyncLifecycle(
+ () => import('./remove-queue-entry-dialog/remove-queue-entry.component'),
+ {
+ featureName: 'remove queue entry and end visit',
+ moduleName,
+ },
+);
+
+export const clearAllQueueEntries = getAsyncLifecycle(
+ () => import('./clear-queue-entries-dialog/clear-queue-entries-dialog.component'),
+ {
+ featureName: 'clear all queue entries and end visits',
moduleName,
- };
+ },
+);
+export const addVisitToQueueModal = getAsyncLifecycle(
+ () => import('./add-patient-toqueue/add-patient-toqueue-dialog.component'),
+ {
+ featureName: 'add visit to queue',
+ moduleName,
+ },
+);
+
+export const transitionQueueEntryStatusModal = getAsyncLifecycle(
+ () => import('./transition-queue-entry/transition-queue-entry-dialog.component'),
+ {
+ featureName: 'transition queue status',
+ moduleName,
+ },
+);
+
+export const previousVisitSummaryWidget = getAsyncLifecycle(() => import('./past-visit/past-visit.component'), options);
+
+export const addProviderToRoomModal = getAsyncLifecycle(
+ () => import('./add-provider-queue-room/add-provider-queue-room.component'),
+ {
+ featureName: 'add provider queue room',
+ moduleName,
+ },
+);
+
+export const addQueueEntryWidget = getAsyncLifecycle(
+ () => import('./patient-search/visit-form-queue-fields/visit-form-queue-fields.component'),
+ options,
+);
+
+export function startupApp() {
registerBreadcrumbs([]);
defineConfigSchema(moduleName, configSchema);
-
- return {
- pages: [
- {
- load: getAsyncLifecycle(
- () => import('./queue-patient-linelists/scheduled-appointments-table.component'),
- options,
- ),
- route: /^appointments-list/,
- online: true,
- offline: true,
- },
- {
- load: getAsyncLifecycle(() => import('./queue-patient-linelists/queue-services-table.component'), options),
- route: /^queue-list/,
- online: true,
- offline: true,
- },
- ],
- extensions: [
- {
- id: 'outpatient-side-nav-ext',
- slot: 'outpatient-sidebar-slot',
- load: getAsyncLifecycle(() => import('./side-menu/side-menu.component'), options),
- online: true,
- offline: true,
- },
- {
- id: 'service-queues-dashboard-link',
- slot: 'homepage-dashboard-slot',
- load: getSyncLifecycle(createDashboardLink(dashboardMeta), options),
- meta: dashboardMeta,
- online: true,
- offline: true,
- },
- {
- id: 'home-dashboard',
- slot: 'service-queues-dashboard-slot',
- load: getAsyncLifecycle(() => import('./home.component'), options),
- online: true,
- offline: true,
- },
- {
- id: 'edit-queue-entry-status-modal',
- load: getAsyncLifecycle(() => import('./active-visits/change-status-dialog.component'), {
- featureName: 'edit queue status',
- moduleName,
- }),
- },
- {
- id: 'patient-info-banner-slot',
- load: getAsyncLifecycle(() => import('./patient-info/patient-info.component'), {
- featureName: 'patient info slot',
- moduleName,
- }),
- },
- {
- id: 'add-patient-to-queue',
- slot: 'add-patient-to-queue-slot',
- load: getAsyncLifecycle(() => import('./patient-search/visit-form/visit-form.component'), {
- featureName: 'patient info slot',
- moduleName,
- }),
- },
- {
- id: 'remove-queue-entry',
- load: getAsyncLifecycle(() => import('./remove-queue-entry-dialog/remove-queue-entry.component'), {
- featureName: 'remove queue entry and end visit',
- moduleName,
- }),
- },
- {
- id: 'clear-all-queue-entries',
- load: getAsyncLifecycle(() => import('./clear-queue-entries-dialog/clear-queue-entries-dialog.component'), {
- featureName: 'clear all queue entries and end visits',
- moduleName,
- }),
- },
- {
- id: 'add-visit-to-queue-modal',
- load: getAsyncLifecycle(() => import('./add-patient-toqueue/add-patient-toqueue-dialog.component'), {
- featureName: 'add visit to queue',
- moduleName,
- }),
- },
- {
- id: 'transition-queue-entry-status-modal',
- load: getAsyncLifecycle(() => import('./transition-queue-entry/transition-queue-entry-dialog.component'), {
- featureName: 'transition queue status',
- moduleName,
- }),
- },
- {
- id: 'previous-visit-summary-widget',
- slot: 'previous-visit-summary-slot',
- load: getAsyncLifecycle(() => import('./past-visit/past-visit.component'), options),
- },
- {
- id: 'add-provider-to-room-modal',
- load: getAsyncLifecycle(() => import('./add-provider-queue-room/add-provider-queue-room.component'), {
- featureName: 'add provider queue room',
- moduleName,
- }),
- },
- {
- id: 'add-queue-entry-widget',
- slot: 'add-queue-entry-slot',
- load: getAsyncLifecycle(
- () => import('./patient-search/visit-form-queue-fields/visit-form-queue-fields.component'),
- options,
- ),
- },
- ],
- };
}
-
-export { backendDependencies, importTranslation, setupOpenMRS, version };
diff --git a/packages/esm-outpatient-app/src/routes.json b/packages/esm-outpatient-app/src/routes.json
new file mode 100644
index 000000000..c39cb473c
--- /dev/null
+++ b/packages/esm-outpatient-app/src/routes.json
@@ -0,0 +1,74 @@
+{
+ "$schema": "https://json.openmrs.org/routes.schema.json",
+ "backendDependencies": {
+ "webservices.rest": "^2.2.0"
+ },
+ "pages": [{
+ "component": "appointmentsList",
+ "route": "appointments-list",
+ "online": true,
+ "offline": true
+ }, {
+ "component": "queueList",
+ "route": "queue-list",
+ "online": true,
+ "offline": true
+ }],
+ "extensions": [{
+ "name": "outpatient-side-nav-ext",
+ "component": "outpatientSideNav",
+ "slot": "outpatient-sidebar-slot",
+ "online": true,
+ "offline": true
+ }, {
+ "name": "service-queues-dashboard-link",
+ "component": "homepage-dashboard-slot",
+ "slot": "homepage-dashboard-slot",
+ "meta": {
+ "name": "service-queues",
+ "slot": "service-queues-dashboard-slot",
+ "title": "Service queues"
+ },
+ "online": true,
+ "offline": true
+ }, {
+ "name": "home-dashboard",
+ "component": "homeDashboard",
+ "slot": "service-queues-dashboard-slot",
+ "online": true,
+ "offline": true
+ }, {
+ "name": "edit-queue-entry-status-modal",
+ "component": "editQueueEntryStatusModal"
+ }, {
+ "name": "patient-info-banner-slot",
+ "component": "patientInfoBannerSlot"
+ }, {
+ "name": "add-patient-to-queue",
+ "component": "addPatientToQueue",
+ "slot": "add-patient-to-queue-slot"
+ }, {
+ "name": "remove-queue-entry",
+ "component": "removeQueueEntry"
+ }, {
+ "name": "clear-all-queue-entries",
+ "component": "clearAllQueueEntries"
+ }, {
+ "name": "add-visit-to-queue-modal",
+ "component": "addVisitToQueueModal"
+ }, {
+ "name": "transition-queue-entry-status-modal",
+ "component": "transitionQueueEntryStatusModal"
+ }, {
+ "name": "previous-visit-summary-widget",
+ "component": "previousVisitSummaryWidget",
+ "slot": "previous-visit-summary-slot"
+ }, {
+ "name": "add-provider-to-room-modal",
+ "component": "addProviderToRoomModal"
+ }, {
+ "name": "add-queue-entry-widget",
+ "component": "addQueueEntryWidget",
+ "slot": "add-queue-entry-slot"
+ }]
+}
\ No newline at end of file
diff --git a/packages/esm-patient-list-app/package.json b/packages/esm-patient-list-app/package.json
index d97df4a0b..51a3cb653 100644
--- a/packages/esm-patient-list-app/package.json
+++ b/packages/esm-patient-list-app/package.json
@@ -39,7 +39,7 @@
"lodash-es": "^4.17.15"
},
"peerDependencies": {
- "@openmrs/esm-framework": "4.x",
+ "@openmrs/esm-framework": "5.x",
"react": "18.x",
"react-i18next": "11.x",
"react-router-dom": "6.x"
diff --git a/packages/esm-patient-list-app/src/api/types.ts b/packages/esm-patient-list-app/src/api/types.ts
index 355f49928..c1b45be5f 100644
--- a/packages/esm-patient-list-app/src/api/types.ts
+++ b/packages/esm-patient-list-app/src/api/types.ts
@@ -1,4 +1,4 @@
-import { OpenmrsResource } from '@openmrs/esm-api';
+import type { OpenmrsResource } from '@openmrs/esm-framework';
export enum PatientListType {
STARRED = 'Starred',
diff --git a/packages/esm-patient-list-app/src/index.ts b/packages/esm-patient-list-app/src/index.ts
index 55a128ad7..a63aeec01 100644
--- a/packages/esm-patient-list-app/src/index.ts
+++ b/packages/esm-patient-list-app/src/index.ts
@@ -5,27 +5,16 @@ import { createDashboardLink } from './createDashboardLink';
import { dashboardMeta } from './dashboard.meta';
import { setupOffline } from './offline';
-declare var __VERSION__: string;
-// __VERSION__ is replaced by Webpack with the version from package.json
-const version = __VERSION__;
-
-const backendDependencies = {
- 'webservices.rest': '^2.2.0',
-};
-
-const frontendDependencies = {
- '@openmrs/esm-framework': process.env.FRAMEWORK_VERSION,
-};
-
-const importTranslation = require.context('../translations', false, /.json$/, 'lazy');
-
const moduleName = '@openmrs/esm-patient-list-app';
+
const options = {
featureName: 'patient list',
moduleName,
};
-function setupOpenMRS() {
+export const importTranslation = require.context('../translations', false, /.json$/, 'lazy');
+
+export function startupApp() {
const patientListsBasePath = `${window.spaBase}/home/patient-lists`;
async function getListName(patientListUuid: string): Promise {
@@ -47,66 +36,32 @@ function setupOpenMRS() {
parent: patientListsBasePath,
},
]);
-
- return {
- pages: [
- {
- load: getAsyncLifecycle(() => import('./root.component'), options),
- route: 'patient-lists',
- online: { syncUserPropertiesChangesOnLoad: true },
- offline: { syncUserPropertiesChangesOnLoad: false },
- },
- ],
- extensions: [
- {
- id: 'patient-lists-dashboard-link',
- slot: 'homepage-dashboard-slot',
- load: getSyncLifecycle(createDashboardLink(dashboardMeta), options),
- meta: dashboardMeta,
- online: true,
- offline: true,
- },
- {
- id: 'patient-lists-dashboard',
- slot: 'patient-lists-dashboard-slot',
- load: getAsyncLifecycle(() => import('./root.component'), options),
- online: true,
- offline: true,
- },
- {
- id: 'add-patient-to-patient-list-button',
- slot: 'patient-actions-slot',
- load: getAsyncLifecycle(() => import('./add-patient-to-patient-list-menu-item.component'), {
- featureName: 'patient-actions-slot',
- moduleName,
- }),
- },
- {
- name: 'patient-list-action-menu',
- slot: 'action-menu-non-chart-items-slot',
- load: getAsyncLifecycle(() => import('./patient-list-action-button.component'), {
- featureName: 'patient-list-action-menu-item',
- moduleName,
- }),
- },
- {
- id: 'add-patient-to-patient-list-modal',
- load: getAsyncLifecycle(() => import('./add-patient/add-patient.component'), {
- featureName: 'patient-actions-modal',
- moduleName,
- }),
- },
- {
- id: 'patient-table',
- load: getAsyncLifecycle(() => import('./patient-table/patient-table.component'), {
- featureName: 'patient-table',
- moduleName,
- }),
- online: true,
- offline: true,
- },
- ],
- };
}
-export { backendDependencies, frontendDependencies, importTranslation, setupOpenMRS, version };
+export const root = () => getAsyncLifecycle(() => import('./root.component'), options);
+
+export const addPatientToListModal = () =>
+ getAsyncLifecycle(() => import('./add-patient/add-patient.component'), {
+ featureName: 'patient-actions-modal',
+ moduleName,
+ });
+
+export const addPatientToPatientListMenuItem = () =>
+ getAsyncLifecycle(() => import('./add-patient-to-patient-list-menu-item.component'), {
+ featureName: 'patient-actions-slot',
+ moduleName,
+ });
+
+export const patientListActionButton = () =>
+ getAsyncLifecycle(() => import('./patient-list-action-button.component'), {
+ featureName: 'patient-list-action-menu-item',
+ moduleName,
+ });
+
+export const patientListDashboardLink = () => getSyncLifecycle(createDashboardLink(dashboardMeta), options);
+
+export const patientTable = () =>
+ getAsyncLifecycle(() => import('./patient-table/patient-table.component'), {
+ featureName: 'patient-table',
+ moduleName,
+ });
diff --git a/packages/esm-patient-list-app/src/routes.json b/packages/esm-patient-list-app/src/routes.json
new file mode 100644
index 000000000..bbf93cdd6
--- /dev/null
+++ b/packages/esm-patient-list-app/src/routes.json
@@ -0,0 +1,41 @@
+{
+ "$schema": "https://json.openmrs.org/routes.schema.json",
+ "backendDependencies": {
+ "webservices.rest": "^2.2.0"
+ },
+ "pages": [
+ {
+ "component": "root",
+ "route": "patient-lists"
+ }
+ ],
+ "extensions": [
+ {
+ "name": "patient-lists-dashboard-link",
+ "component": "patientListDashboardLink",
+ "meta": {
+ "name": "patient-lists",
+ "slot": "patient-lists-dashboard-slot",
+ "title": "Patient lists"
+ }
+ },
+ {
+ "name": "patient-table",
+ "component": "patientTable"
+ },
+ {
+ "name": "add-patient-to-patient-list-modal",
+ "component": "addPatientToListModal"
+ },
+ {
+ "name": "patient-list-action-menu",
+ "component": "patientListActionButton",
+ "slot": "action-menu-non-chart-items-slot"
+ },
+ {
+ "name": "add-patient-to-patient-list-button",
+ "slot": "patient-actions-slot",
+ "component": "addPatientToPatientListMenuItem"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/packages/esm-patient-registration-app/package.json b/packages/esm-patient-registration-app/package.json
index 96b5dcd4c..0d0f141dc 100644
--- a/packages/esm-patient-registration-app/package.json
+++ b/packages/esm-patient-registration-app/package.json
@@ -43,7 +43,7 @@
"yup": "^0.29.1"
},
"peerDependencies": {
- "@openmrs/esm-framework": "4.x",
+ "@openmrs/esm-framework": "5.x",
"dayjs": "1.x",
"react": "18.x",
"react-i18next": "11.x",
diff --git a/packages/esm-patient-registration-app/src/index.ts b/packages/esm-patient-registration-app/src/index.ts
index 58f7ff622..f6746674e 100644
--- a/packages/esm-patient-registration-app/src/index.ts
+++ b/packages/esm-patient-registration-app/src/index.ts
@@ -1,25 +1,16 @@
import { registerBreadcrumbs, defineConfigSchema, getAsyncLifecycle } from '@openmrs/esm-framework';
-import { FormManager } from './patient-registration/form-manager';
import { esmPatientRegistrationSchema } from './config-schema';
import { moduleName, patientRegistration } from './constants';
import { setupOffline } from './offline';
-declare var __VERSION__: string;
-// __VERSION__ is replaced by Webpack with the version from package.json
-const version = __VERSION__;
+export const importTranslation = require.context('../translations', false, /.json$/, 'lazy');
-const importTranslation = require.context('../translations', false, /.json$/, 'lazy');
-
-const backendDependencies = {
- 'webservices.rest': '^2.24.0',
+const options = {
+ featureName: 'Patient Registration',
+ moduleName,
};
-function setupOpenMRS() {
- const options = {
- featureName: 'Patient Registration',
- moduleName,
- };
-
+export function startupApp() {
defineConfigSchema(moduleName, esmPatientRegistrationSchema);
registerBreadcrumbs([
@@ -36,78 +27,33 @@ function setupOpenMRS() {
]);
setupOffline();
-
- return {
- pages: [
- {
- load: getAsyncLifecycle(() => import('./root.component'), options),
- route: 'patient-registration',
- online: {
- savePatientForm: FormManager.savePatientFormOnline,
- isOffline: false,
- },
- offline: {
- savePatientForm: FormManager.savePatientFormOffline,
- isOffline: true,
- },
- },
- {
- load: getAsyncLifecycle(() => import('./root.component'), {
- featureName: 'edit-patient-details-form',
- moduleName,
- }),
- route: /patient\/([a-zA-Z0-9\-]+)\/edit/,
- online: {
- savePatientForm: FormManager.savePatientFormOnline,
- },
- offline: {
- savePatientForm: FormManager.savePatientFormOffline,
- },
- },
- ],
- extensions: [
- {
- id: 'add-patient-action',
- slot: 'top-nav-actions-slot',
- load: getAsyncLifecycle(() => import('./add-patient-link'), options),
- online: true,
- offline: true,
- },
- {
- id: 'cancel-patient-edit-modal',
- load: getAsyncLifecycle(() => import('./widgets/cancel-patient-edit.component'), options),
- online: true,
- offline: true,
- },
- {
- id: 'patient-photo-widget',
- slot: 'patient-photo-slot',
- load: getAsyncLifecycle(() => import('./widgets/display-photo.component'), options),
- online: true,
- offline: true,
- },
- {
- id: 'edit-patient-details-button',
- slot: 'patient-actions-slot',
- load: getAsyncLifecycle(() => import('./widgets/edit-patient-details-button.component'), options),
- online: true,
- offline: true,
- },
- {
- id: 'edit-patient-details-button',
- slot: 'patient-search-actions-slot',
- load: getAsyncLifecycle(() => import('./widgets/edit-patient-details-button.component'), options),
- online: true,
- offline: true,
- },
- {
- id: 'delete-identifier-confirmation-modal',
- load: getAsyncLifecycle(() => import('./widgets/delete-identifier-confirmation-modal'), options),
- online: true,
- offline: true,
- },
- ],
- };
}
-export { backendDependencies, importTranslation, setupOpenMRS, version };
+export const root = getAsyncLifecycle(() => import('./root.component'), options);
+
+export const editPatient = getAsyncLifecycle(() => import('./root.component'), {
+ featureName: 'edit-patient-details-form',
+ moduleName,
+});
+
+export const addPatientLink = getAsyncLifecycle(() => import('./add-patient-link'), options);
+
+export const cancelPatientEditModal = getAsyncLifecycle(
+ () => import('./widgets/cancel-patient-edit.component'),
+ options,
+);
+
+export const patientPhoto = getAsyncLifecycle(() => import('./widgets/display-photo.component'), options);
+
+export const editPatientDetailsButton = getAsyncLifecycle(
+ () => import('./widgets/edit-patient-details-button.component'),
+ {
+ featureName: 'edit-patient-details',
+ moduleName,
+ },
+);
+
+export const deleteIdentifierConfirmationModal = getAsyncLifecycle(
+ () => import('./widgets/delete-identifier-confirmation-modal'),
+ options,
+);
diff --git a/packages/esm-patient-registration-app/src/patient-registration/form-manager.ts b/packages/esm-patient-registration-app/src/patient-registration/form-manager.ts
index e7b2c654b..685cd95e4 100644
--- a/packages/esm-patient-registration-app/src/patient-registration/form-manager.ts
+++ b/packages/esm-patient-registration-app/src/patient-registration/form-manager.ts
@@ -39,6 +39,7 @@ export type SavePatientForm = (
savePatientTransactionManager: SavePatientTransactionManager,
abortController?: AbortController,
) => Promise;
+
export class FormManager {
static savePatientFormOffline: SavePatientForm = async (
isNewPatient,
diff --git a/packages/esm-patient-registration-app/src/root.component.tsx b/packages/esm-patient-registration-app/src/root.component.tsx
index f81953f40..c300f8a24 100644
--- a/packages/esm-patient-registration-app/src/root.component.tsx
+++ b/packages/esm-patient-registration-app/src/root.component.tsx
@@ -1,24 +1,20 @@
-import React from 'react';
+import React, { useMemo } from 'react';
import { BrowserRouter, Route, Routes } from 'react-router-dom';
import { Grid, Row } from '@carbon/react';
-import { ExtensionSlot, useSession } from '@openmrs/esm-framework';
+import { ExtensionSlot, useConnectivity, useSession } from '@openmrs/esm-framework';
import {
- Resources,
ResourcesContext,
fetchAddressTemplate,
fetchAllRelationshipTypes,
fetchPatientIdentifierTypesWithSources,
} from './offline.resources';
-import { SavePatientForm } from './patient-registration/form-manager';
+import { FormManager } from './patient-registration/form-manager';
import { PatientRegistration, PatientRegistrationProps } from './patient-registration/patient-registration.component';
import useSWRImmutable from 'swr/immutable';
import styles from './root.scss';
-export interface RootProps extends PatientRegistrationProps, Resources {
- savePatientForm: SavePatientForm;
- isOffline: boolean;
-}
-export default function Root({ savePatientForm, isOffline }: RootProps) {
+export default function Root() {
+ const isOffline = useConnectivity();
const currentSession = useSession();
const { data: addressTemplate } = useSWRImmutable('patientRegistrationAddressTemplate', fetchAddressTemplate);
const { data: relationshipTypes } = useSWRImmutable(
@@ -29,6 +25,10 @@ export default function Root({ savePatientForm, isOffline }: RootProps) {
'patientRegistrationPatientIdentifiers',
fetchPatientIdentifierTypesWithSources,
);
+ const savePatientForm = useMemo(
+ () => (isOffline ? FormManager.savePatientFormOffline : FormManager.savePatientFormOnline),
+ [isOffline],
+ );
return (
diff --git a/packages/esm-patient-registration-app/src/routes.json b/packages/esm-patient-registration-app/src/routes.json
new file mode 100644
index 000000000..a1204a0ee
--- /dev/null
+++ b/packages/esm-patient-registration-app/src/routes.json
@@ -0,0 +1,46 @@
+{
+ "$schema": "https://json.openmrs.org/routes.schema.json",
+ "backendDependencies": {
+ "webservices.rest": "^2.24.0"
+ },
+ "pages": [{
+ "component": "root",
+ "route": "patient-registration",
+ "online": true,
+ "offline": true
+ }, {
+ "component": "editPatient",
+ "routeRegex": "patient\\/([a-zA-Z0-9\\-]+)\\/edit",
+ "online": true,
+ "offline": true
+ }],
+ "extensions": [{
+ "component": "addPatientLink",
+ "name": "add-patient-action",
+ "slot": "top-nav-actions-slot",
+ "online": true,
+ "offline": true
+ }, {
+ "component": "cancelPatientEditModal",
+ "name": "cancel-patient-edit-modal",
+ "online": true,
+ "offline": true
+ }, {
+ "component": "patientPhoto",
+ "name": "patient-photo-widget",
+ "slot": "patient-photo-slot",
+ "online": true,
+ "offline": true
+ }, {
+ "component": "editPatientDetailsButton",
+ "name": "edit-patient-details-button",
+ "slot": "patient-actions-slot",
+ "online": true,
+ "offline": true
+ }, {
+ "component": "deleteIdentifierConfirmationModal",
+ "name": "delete-identifier-confirmation-modal",
+ "online": true,
+ "offline": true
+ }]
+}
diff --git a/packages/esm-patient-search-app/package.json b/packages/esm-patient-search-app/package.json
index ffff78d95..2236130d4 100644
--- a/packages/esm-patient-search-app/package.json
+++ b/packages/esm-patient-search-app/package.json
@@ -38,7 +38,7 @@
"lodash-es": "^4.17.15"
},
"peerDependencies": {
- "@openmrs/esm-framework": "4.x",
+ "@openmrs/esm-framework": "5.x",
"react": "^18.1.0",
"react-i18next": "11.x",
"react-router-dom": "6.x"
diff --git a/packages/esm-patient-search-app/src/index.ts b/packages/esm-patient-search-app/src/index.ts
index e267da461..666260142 100644
--- a/packages/esm-patient-search-app/src/index.ts
+++ b/packages/esm-patient-search-app/src/index.ts
@@ -8,28 +8,29 @@ import {
} from '@openmrs/esm-framework';
import { configSchema } from './config-schema';
-declare var __VERSION__: string;
-// __VERSION__ is replaced by Webpack with the version from package.json
-const version = __VERSION__;
+const moduleName = '@openmrs/esm-patient-search-app';
-const importTranslation = require.context('../translations', false, /.json$/, 'lazy');
-
-const backendDependencies = {
- 'webservices.rest': '^2.2.0',
+const options = {
+ featureName: 'patient-search',
+ moduleName,
};
-const frontendDependencies = {
- '@openmrs/esm-framework': process.env.FRAMEWORK_VERSION,
-};
+export const importTranslation = require.context('../translations', false, /.json$/, 'lazy');
+
+export const root = getAsyncLifecycle(() => import('./root.component'), options);
-function setupOpenMRS() {
- const moduleName = '@openmrs/esm-patient-search-app';
+export const patientSearchIcon = getAsyncLifecycle(() => import('./patient-search-icon'), options);
- const options = {
- featureName: 'patient-search',
- moduleName,
- };
+// This extension renders the a Patient-Search Button, which when clicked, opens the search bar in an overlay.
+export const patientSearchButton = getAsyncLifecycle(
+ () => import('./patient-search-button/patient-search-button.component'),
+ options,
+);
+// P.S. This extension is not compatible with the tablet view.
+export const patientSearchBar = getAsyncLifecycle(() => import('./compact-patient-search-extension'), options);
+
+export function startupApp() {
defineConfigSchema(moduleName, configSchema);
setupDynamicOfflineDataHandler({
@@ -52,37 +53,4 @@ function setupOpenMRS() {
await fetchCurrentPatient(patientUuid);
},
});
-
- return {
- pages: [
- {
- route: /^search/,
- load: getAsyncLifecycle(() => import('./root.component'), options),
- },
- ],
- extensions: [
- {
- id: 'patient-search-icon',
- slot: 'top-nav-actions-slot',
- order: 0,
- load: getAsyncLifecycle(() => import('./patient-search-icon'), options),
- },
- {
- // This extension renders the a Patient-Search Button, which when clicked, opens the search bar in an overlay.
- id: 'patient-search-button',
- slot: 'patient-search-button-slot',
- load: getAsyncLifecycle(() => import('./patient-search-button/patient-search-button.component'), options),
- offline: true,
- },
- {
- // P.S. This extension is not compatible with the tablet view.
- id: 'patient-search-bar',
- slot: 'patient-search-bar-slot',
- load: getAsyncLifecycle(() => import('./compact-patient-search-extension'), options),
- offline: true,
- },
- ],
- };
}
-
-export { backendDependencies, frontendDependencies, importTranslation, setupOpenMRS, version };
diff --git a/packages/esm-patient-search-app/src/routes.json b/packages/esm-patient-search-app/src/routes.json
new file mode 100644
index 000000000..f79651220
--- /dev/null
+++ b/packages/esm-patient-search-app/src/routes.json
@@ -0,0 +1,26 @@
+{
+ "$schema": "https://json.openmrs.org/routes.schema.json",
+ "backendDependencies": {
+ "webservices.rest": "^2.2.0"
+ },
+ "pages": [{
+ "component": "root",
+ "route": "search"
+ }],
+ "extensions": [{
+ "name": "patient-search-icon",
+ "component": "patientSearchIcon",
+ "slot": "top-nav-actions-slot",
+ "order": 0
+ }, {
+ "name": "patient-search-button",
+ "component": "patientSearchButton",
+ "slot": "patient-search-button-slot",
+ "offline": true
+ }, {
+ "name": "patient-search-bar",
+ "component": "patientSearchBar",
+ "slot": "patient-search-bar-slot",
+ "offline": true
+ }]
+}
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index e78d5a73e..9f9caca75 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -60,7 +60,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/core@npm:^7.11.1, @babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.17.9":
+"@babel/core@npm:^7.11.1, @babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3":
version: 7.19.6
resolution: "@babel/core@npm:7.19.6"
dependencies:
@@ -1312,7 +1312,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/types@npm:^7.0.0, @babel/types@npm:^7.17.0, @babel/types@npm:^7.18.10, @babel/types@npm:^7.18.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.19.0, @babel/types@npm:^7.19.4, @babel/types@npm:^7.20.0, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3":
+"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.10, @babel/types@npm:^7.18.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.19.0, @babel/types@npm:^7.19.4, @babel/types@npm:^7.20.0, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3":
version: 7.20.0
resolution: "@babel/types@npm:7.20.0"
dependencies:
@@ -1502,160 +1502,6 @@ __metadata:
languageName: node
linkType: hard
-"@esbuild/android-arm64@npm:0.16.17":
- version: 0.16.17
- resolution: "@esbuild/android-arm64@npm:0.16.17"
- conditions: os=android & cpu=arm64
- languageName: node
- linkType: hard
-
-"@esbuild/android-arm@npm:0.16.17":
- version: 0.16.17
- resolution: "@esbuild/android-arm@npm:0.16.17"
- conditions: os=android & cpu=arm
- languageName: node
- linkType: hard
-
-"@esbuild/android-x64@npm:0.16.17":
- version: 0.16.17
- resolution: "@esbuild/android-x64@npm:0.16.17"
- conditions: os=android & cpu=x64
- languageName: node
- linkType: hard
-
-"@esbuild/darwin-arm64@npm:0.16.17":
- version: 0.16.17
- resolution: "@esbuild/darwin-arm64@npm:0.16.17"
- conditions: os=darwin & cpu=arm64
- languageName: node
- linkType: hard
-
-"@esbuild/darwin-x64@npm:0.16.17":
- version: 0.16.17
- resolution: "@esbuild/darwin-x64@npm:0.16.17"
- conditions: os=darwin & cpu=x64
- languageName: node
- linkType: hard
-
-"@esbuild/freebsd-arm64@npm:0.16.17":
- version: 0.16.17
- resolution: "@esbuild/freebsd-arm64@npm:0.16.17"
- conditions: os=freebsd & cpu=arm64
- languageName: node
- linkType: hard
-
-"@esbuild/freebsd-x64@npm:0.16.17":
- version: 0.16.17
- resolution: "@esbuild/freebsd-x64@npm:0.16.17"
- conditions: os=freebsd & cpu=x64
- languageName: node
- linkType: hard
-
-"@esbuild/linux-arm64@npm:0.16.17":
- version: 0.16.17
- resolution: "@esbuild/linux-arm64@npm:0.16.17"
- conditions: os=linux & cpu=arm64
- languageName: node
- linkType: hard
-
-"@esbuild/linux-arm@npm:0.16.17":
- version: 0.16.17
- resolution: "@esbuild/linux-arm@npm:0.16.17"
- conditions: os=linux & cpu=arm
- languageName: node
- linkType: hard
-
-"@esbuild/linux-ia32@npm:0.16.17":
- version: 0.16.17
- resolution: "@esbuild/linux-ia32@npm:0.16.17"
- conditions: os=linux & cpu=ia32
- languageName: node
- linkType: hard
-
-"@esbuild/linux-loong64@npm:0.16.17":
- version: 0.16.17
- resolution: "@esbuild/linux-loong64@npm:0.16.17"
- conditions: os=linux & cpu=loong64
- languageName: node
- linkType: hard
-
-"@esbuild/linux-mips64el@npm:0.16.17":
- version: 0.16.17
- resolution: "@esbuild/linux-mips64el@npm:0.16.17"
- conditions: os=linux & cpu=mips64el
- languageName: node
- linkType: hard
-
-"@esbuild/linux-ppc64@npm:0.16.17":
- version: 0.16.17
- resolution: "@esbuild/linux-ppc64@npm:0.16.17"
- conditions: os=linux & cpu=ppc64
- languageName: node
- linkType: hard
-
-"@esbuild/linux-riscv64@npm:0.16.17":
- version: 0.16.17
- resolution: "@esbuild/linux-riscv64@npm:0.16.17"
- conditions: os=linux & cpu=riscv64
- languageName: node
- linkType: hard
-
-"@esbuild/linux-s390x@npm:0.16.17":
- version: 0.16.17
- resolution: "@esbuild/linux-s390x@npm:0.16.17"
- conditions: os=linux & cpu=s390x
- languageName: node
- linkType: hard
-
-"@esbuild/linux-x64@npm:0.16.17":
- version: 0.16.17
- resolution: "@esbuild/linux-x64@npm:0.16.17"
- conditions: os=linux & cpu=x64
- languageName: node
- linkType: hard
-
-"@esbuild/netbsd-x64@npm:0.16.17":
- version: 0.16.17
- resolution: "@esbuild/netbsd-x64@npm:0.16.17"
- conditions: os=netbsd & cpu=x64
- languageName: node
- linkType: hard
-
-"@esbuild/openbsd-x64@npm:0.16.17":
- version: 0.16.17
- resolution: "@esbuild/openbsd-x64@npm:0.16.17"
- conditions: os=openbsd & cpu=x64
- languageName: node
- linkType: hard
-
-"@esbuild/sunos-x64@npm:0.16.17":
- version: 0.16.17
- resolution: "@esbuild/sunos-x64@npm:0.16.17"
- conditions: os=sunos & cpu=x64
- languageName: node
- linkType: hard
-
-"@esbuild/win32-arm64@npm:0.16.17":
- version: 0.16.17
- resolution: "@esbuild/win32-arm64@npm:0.16.17"
- conditions: os=win32 & cpu=arm64
- languageName: node
- linkType: hard
-
-"@esbuild/win32-ia32@npm:0.16.17":
- version: 0.16.17
- resolution: "@esbuild/win32-ia32@npm:0.16.17"
- conditions: os=win32 & cpu=ia32
- languageName: node
- linkType: hard
-
-"@esbuild/win32-x64@npm:0.16.17":
- version: 0.16.17
- resolution: "@esbuild/win32-x64@npm:0.16.17"
- conditions: os=win32 & cpu=x64
- languageName: node
- linkType: hard
-
"@eslint/eslintrc@npm:^0.4.3":
version: 0.4.3
resolution: "@eslint/eslintrc@npm:0.4.3"
@@ -2561,6 +2407,16 @@ __metadata:
languageName: node
linkType: hard
+"@jridgewell/source-map@npm:^0.3.3":
+ version: 0.3.3
+ resolution: "@jridgewell/source-map@npm:0.3.3"
+ dependencies:
+ "@jridgewell/gen-mapping": ^0.3.0
+ "@jridgewell/trace-mapping": ^0.3.9
+ checksum: ae1302146339667da5cd6541260ecbef46ae06819a60f88da8f58b3e64682f787c09359933d050dea5d2173ea7fa40f40dd4d4e7a8d325c5892cccd99aaf8959
+ languageName: node
+ linkType: hard
+
"@jridgewell/sourcemap-codec@npm:1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.10":
version: 1.4.14
resolution: "@jridgewell/sourcemap-codec@npm:1.4.14"
@@ -2568,7 +2424,7 @@ __metadata:
languageName: node
linkType: hard
-"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.13, @jridgewell/trace-mapping@npm:^0.3.14, @jridgewell/trace-mapping@npm:^0.3.9":
+"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.13, @jridgewell/trace-mapping@npm:^0.3.9":
version: 0.3.17
resolution: "@jridgewell/trace-mapping@npm:0.3.17"
dependencies:
@@ -2578,6 +2434,16 @@ __metadata:
languageName: node
linkType: hard
+"@jridgewell/trace-mapping@npm:^0.3.17":
+ version: 0.3.18
+ resolution: "@jridgewell/trace-mapping@npm:0.3.18"
+ dependencies:
+ "@jridgewell/resolve-uri": 3.1.0
+ "@jridgewell/sourcemap-codec": 1.4.14
+ checksum: 0572669f855260808c16fe8f78f5f1b4356463b11d3f2c7c0b5580c8ba1cbf4ae53efe9f627595830856e57dbac2325ac17eb0c3dd0ec42102e6f227cc289c02
+ languageName: node
+ linkType: hard
+
"@leichtgewicht/ip-codec@npm:^2.0.1":
version: 2.0.4
resolution: "@leichtgewicht/ip-codec@npm:2.0.4"
@@ -3677,7 +3543,7 @@ __metadata:
lodash-es: ^4.17.15
webpack: ^5.74.0
peerDependencies:
- "@openmrs/esm-framework": 4.x
+ "@openmrs/esm-framework": 5.x
dayjs: 1.x
react: ^18.1.0
react-dom: ^18.1.0
@@ -3685,28 +3551,31 @@ __metadata:
languageName: unknown
linkType: soft
-"@openmrs/esm-api@npm:^4.2.1-pre.619":
- version: 4.2.1-pre.619
- resolution: "@openmrs/esm-api@npm:4.2.1-pre.619"
+"@openmrs/esm-api@npm:^5.0.2-pre.818":
+ version: 5.0.2-pre.818
+ resolution: "@openmrs/esm-api@npm:5.0.2-pre.818"
dependencies:
"@types/fhir": 0.0.31
lodash-es: ^4.17.21
peerDependencies:
"@openmrs/esm-config": 4.x
"@openmrs/esm-error-handling": 4.x
- checksum: ce77513cf82c31c2e8123b730bdef08804cdb44920c4799df777cbad1f4004e09a3259358b6acfeb4edfd4f7139b81900f71d32f6ec7a576680f5dc6663b5689
+ "@openmrs/esm-offline": 4.x
+ checksum: 61f069bca8c6dce5043d1efef86f005cc7c512e3403fc6f4374380cc26ce09e456fc7442f5617d084d3598b67396061c23a32da5f7c9d1bebeb1263fcfc6fc2f
languageName: node
linkType: hard
-"@openmrs/esm-app-shell@npm:4.2.1-pre.619":
- version: 4.2.1-pre.619
- resolution: "@openmrs/esm-app-shell@npm:4.2.1-pre.619"
+"@openmrs/esm-app-shell@npm:5.0.2-pre.818":
+ version: 5.0.2-pre.818
+ resolution: "@openmrs/esm-app-shell@npm:5.0.2-pre.818"
dependencies:
"@carbon/react": ^1.12.0
- "@openmrs/esm-framework": 4.2.1-pre.619
- "@openmrs/esm-styleguide": 4.2.1-pre.619
+ "@openmrs/esm-framework": 5.0.2-pre.818
+ "@openmrs/esm-styleguide": 5.0.2-pre.818
+ "@swc-node/loader": ^1.3.5
dayjs: ^1.10.4
dexie: ^3.0.3
+ html-webpack-plugin: ^5.5.0
i18next: ^19.6.0
i18next-browser-languagedetector: ^4.3.1
i18next-icu: ^1.4.2
@@ -3719,11 +3588,14 @@ __metadata:
rxjs: ^6.5.3
single-spa: ^5.9.2
systemjs: ^6.8.3
+ webpack: ^5.88.0
+ webpack-pwa-manifest: ^4.3.0
workbox-core: ^6.1.5
workbox-routing: ^6.1.5
workbox-strategies: ^6.1.5
+ workbox-webpack-plugin: ^6.1.5
workbox-window: ^6.1.5
- checksum: 39204eca3e969b93923220d609a3b89265fcd0b4bfd5e9d481bc02a1a94903c6ad2bf3f902adf049ef1096372ae4c746d3f849fec3b069b72a8970749c0e39c7
+ checksum: b6f7b399e24d90542c252827d06bdc9c6d09a85cbd1623d7f01d32cb7023b92559bde97d01ab01ae585f23a32ddc3ce9779f831df1a3b79944c9286afe161265
languageName: node
linkType: hard
@@ -3737,50 +3609,58 @@ __metadata:
webpack: ^5.74.0
yup: ^0.32.11
peerDependencies:
- "@openmrs/esm-framework": 4.x
+ "@openmrs/esm-framework": 5.x
react: 18.x
react-i18next: 11.x
react-router-dom: 6.x
languageName: unknown
linkType: soft
-"@openmrs/esm-breadcrumbs@npm:^4.2.1-pre.619":
- version: 4.2.1-pre.619
- resolution: "@openmrs/esm-breadcrumbs@npm:4.2.1-pre.619"
+"@openmrs/esm-breadcrumbs@npm:^5.0.2-pre.818":
+ version: 5.0.2-pre.818
+ resolution: "@openmrs/esm-breadcrumbs@npm:5.0.2-pre.818"
dependencies:
path-to-regexp: 6.1.0
peerDependencies:
"@openmrs/esm-state": 4.x
- checksum: 60b6cf7eaecd76e4d5c5546d9c7ebe8086272bce6792eef980be11fecce4ce5ec75582ed7b85612b28defa550ebb887ed8915d8c9a92941b1e39cb9043a02fed
+ checksum: 293b0f44109f88ae03c282fd25f01ddd95da7ff9ea05d06c5c3c1894ec6fcc99961a25ebb056519ca9582edb9dd0743d4c0cc7a57b2adc8be4e57934fb32a718
languageName: node
linkType: hard
-"@openmrs/esm-config@npm:^4.2.1-pre.619":
- version: 4.2.1-pre.619
- resolution: "@openmrs/esm-config@npm:4.2.1-pre.619"
+"@openmrs/esm-config@npm:^5.0.2-pre.818":
+ version: 5.0.2-pre.818
+ resolution: "@openmrs/esm-config@npm:5.0.2-pre.818"
dependencies:
ramda: ^0.26.1
peerDependencies:
"@openmrs/esm-globals": 4.x
"@openmrs/esm-state": 4.x
single-spa: 5.x
- systemjs: 6.x
- checksum: b74e9fb87621706ba450cdf08610453a4d8f98b132a306a868fa7f622eaa2b56ce275e24639a7354e2ca33acbb4b9d3d160c5c2cca92bf63cc05cba25bfb017a
+ checksum: 96597fe3701f34fcbdb599e86ce8757e7b020df6dbc62f661862d7d2bf81124a4906c3974e713516ac2b37fde62e156fbca816209cf15ac3dda4b0357389dc29
+ languageName: node
+ linkType: hard
+
+"@openmrs/esm-dynamic-loading@npm:^5.0.2-pre.818":
+ version: 5.0.2-pre.818
+ resolution: "@openmrs/esm-dynamic-loading@npm:5.0.2-pre.818"
+ peerDependencies:
+ "@openmrs/esm-globals": 4.x
+ checksum: 72589debbb74fcd9a0508a29c5312f3ec82c650096b92b576a25a529e94c0595b0d2689ead29fdb1a17bc3ff2645a12a2847a33533e3b0d260f8486e9e5b816e
languageName: node
linkType: hard
-"@openmrs/esm-error-handling@npm:^4.2.1-pre.619":
- version: 4.2.1-pre.619
- resolution: "@openmrs/esm-error-handling@npm:4.2.1-pre.619"
+"@openmrs/esm-error-handling@npm:^5.0.2-pre.818":
+ version: 5.0.2-pre.818
+ resolution: "@openmrs/esm-error-handling@npm:5.0.2-pre.818"
peerDependencies:
"@openmrs/esm-globals": 4.x
- checksum: 1b27d43290174bcb34d0a96180afb632fabdafe54324aa7ddbf1ac3886e6b5746b57c7e5849cfcbd76b35d51f59d53d4eae245d9f04e3133adaec0d68b602826
+ checksum: bf3d4c024aba20ae0e51b3c4e95eccdcc86edf6a1c94eb2c9044f415925793409199f9bdc980b5dbcb7f73a607977ff8eadedd4e3a7ecd62231851b42a00fbcb
languageName: node
linkType: hard
-"@openmrs/esm-extensions@npm:^4.2.1-pre.619":
- version: 4.2.1-pre.619
- resolution: "@openmrs/esm-extensions@npm:4.2.1-pre.619"
+"@openmrs/esm-extensions@npm:^5.0.2-pre.818":
+ version: 5.0.2-pre.818
+ resolution: "@openmrs/esm-extensions@npm:5.0.2-pre.818"
dependencies:
lodash-es: ^4.17.21
peerDependencies:
@@ -3788,46 +3668,55 @@ __metadata:
"@openmrs/esm-config": 4.x
"@openmrs/esm-state": 4.x
single-spa: 5.x
- checksum: 4d9a13715d381aecaedd17692150b531ef50ad3c89ea9f7dbb04ba625322cd5bd1dff334f9917a5a31552d3217e00c20432bb5409b5d64fd0e261224622f7fe8
- languageName: node
- linkType: hard
-
-"@openmrs/esm-framework@npm:4.2.1-pre.619, @openmrs/esm-framework@npm:next":
- version: 4.2.1-pre.619
- resolution: "@openmrs/esm-framework@npm:4.2.1-pre.619"
- dependencies:
- "@openmrs/esm-api": ^4.2.1-pre.619
- "@openmrs/esm-breadcrumbs": ^4.2.1-pre.619
- "@openmrs/esm-config": ^4.2.1-pre.619
- "@openmrs/esm-error-handling": ^4.2.1-pre.619
- "@openmrs/esm-extensions": ^4.2.1-pre.619
- "@openmrs/esm-globals": ^4.2.1-pre.619
- "@openmrs/esm-offline": ^4.2.1-pre.619
- "@openmrs/esm-react-utils": ^4.2.1-pre.619
- "@openmrs/esm-state": ^4.2.1-pre.619
- "@openmrs/esm-styleguide": ^4.2.1-pre.619
- "@openmrs/esm-utils": ^4.2.1-pre.619
+ checksum: 4d6f8fabe3c5cfa73141badc1f8b87d8fa1bfba779f90ef5a6ab757d94d36662bc7f189e333253d327b86d8a33272d231ff531340d7e6edc8f109cc30c78439e
+ languageName: node
+ linkType: hard
+
+"@openmrs/esm-framework@npm:5.0.2-pre.818, @openmrs/esm-framework@npm:next":
+ version: 5.0.2-pre.818
+ resolution: "@openmrs/esm-framework@npm:5.0.2-pre.818"
+ dependencies:
+ "@openmrs/esm-api": ^5.0.2-pre.818
+ "@openmrs/esm-breadcrumbs": ^5.0.2-pre.818
+ "@openmrs/esm-config": ^5.0.2-pre.818
+ "@openmrs/esm-dynamic-loading": ^5.0.2-pre.818
+ "@openmrs/esm-error-handling": ^5.0.2-pre.818
+ "@openmrs/esm-extensions": ^5.0.2-pre.818
+ "@openmrs/esm-globals": ^5.0.2-pre.818
+ "@openmrs/esm-offline": ^5.0.2-pre.818
+ "@openmrs/esm-react-utils": ^5.0.2-pre.818
+ "@openmrs/esm-state": ^5.0.2-pre.818
+ "@openmrs/esm-styleguide": ^5.0.2-pre.818
+ "@openmrs/esm-utils": ^5.0.2-pre.818
dayjs: ^1.10.7
- checksum: 9a91d80b571cf4a1c33ae89115e3d45b06b359205ea6ac39eb39624e20a00cc3e104d850ae2c02e72e2a1d1071dc78742eacb30031f8023a603204be4909b08c
+ peerDependencies:
+ dayjs: 1.x
+ i18next: 19.x
+ react: 18.x
+ react-dom: 18.x
+ react-i18next: 11.x
+ rxjs: 6.x
+ single-spa: 5.x
+ checksum: 2c733464f87948fc0368a36c55dcf902559c96b6408498bf412fb2330d4d6618b18710a04dd2360b684fb1daeb668c41d6ea117d8133effb58260abf222f5640
languageName: node
linkType: hard
-"@openmrs/esm-globals@npm:^4.2.1-pre.619":
- version: 4.2.1-pre.619
- resolution: "@openmrs/esm-globals@npm:4.2.1-pre.619"
+"@openmrs/esm-globals@npm:^5.0.2-pre.818":
+ version: 5.0.2-pre.818
+ resolution: "@openmrs/esm-globals@npm:5.0.2-pre.818"
peerDependencies:
single-spa: 5.x
- checksum: 745f7df1eb9d1725270378a47aac6ced73495f9a35b61df7cc21c0664aaa6682a8dab16282f3d996411450a6fdcb0a91a486ca9e51ff19ad4abcecd681ed872f
+ checksum: 99b3f215574b07633e9cf238ff67bc170a33029d4622f2c816f81b9199dba32c2197105aa65bfe546757109597da5565089722e8ba915096c433ad7f9bcd6245
languageName: node
linkType: hard
-"@openmrs/esm-offline@npm:^4.2.1-pre.619":
- version: 4.2.1-pre.619
- resolution: "@openmrs/esm-offline@npm:4.2.1-pre.619"
+"@openmrs/esm-offline@npm:^5.0.2-pre.818":
+ version: 5.0.2-pre.818
+ resolution: "@openmrs/esm-offline@npm:5.0.2-pre.818"
dependencies:
dexie: ^3.0.3
- lodash-es: 4.17.21
- uuid: ^8.3.2
+ lodash-es: ^4.17.21
+ uuid: ^9.0.0
workbox-window: ^6.1.5
peerDependencies:
"@openmrs/esm-api": 4.x
@@ -3835,7 +3724,7 @@ __metadata:
"@openmrs/esm-state": 4.x
"@openmrs/esm-styleguide": 4.x
rxjs: 6.x
- checksum: b019bae0488810a336656a2f4c8fc46e575adfc76d08656788c5f52e0aabd94f46ca7fa9e3d17e4dd43ceedf9f14ee9ad3016c5898c0326a08d481047daea034
+ checksum: 8200f9a82d4f0bfd055b4326ee42ac82267bdaae27d6fb6e3e8bcba2e1eec3c05bdddd302e28dc71b8b9722c8894105362205970334f6089ed489fab5f33b93d
languageName: node
linkType: hard
@@ -3847,7 +3736,7 @@ __metadata:
lodash-es: ^4.17.15
webpack: ^5.74.0
peerDependencies:
- "@openmrs/esm-framework": 4.x
+ "@openmrs/esm-framework": 5.x
react: ^18.1.0
react-i18next: 11.x
react-router-dom: 6.x
@@ -3863,7 +3752,7 @@ __metadata:
lodash-es: ^4.17.15
webpack: ^5.74.0
peerDependencies:
- "@openmrs/esm-framework": 4.x
+ "@openmrs/esm-framework": 5.x
react: 18.x
react-i18next: 11.x
react-router-dom: 6.x
@@ -3878,6 +3767,7 @@ __metadata:
"@carbon/react": ^1.12.0
"@openmrs/esm-framework": next
"@playwright/test": 1.34.0
+ "@swc-node/loader": ^1.3.5
"@swc/core": ^1.2.165
"@swc/jest": ^0.2.20
"@testing-library/dom": ^8.13.0
@@ -3897,6 +3787,7 @@ __metadata:
babel-preset-minify: ^0.5.1
concurrently: ^5.3.0
cross-env: ^7.0.3
+ css-loader: ^6.8.1
dayjs: ^1.8.36
dotenv: ^16.0.3
eslint: ^7.20.0
@@ -3943,7 +3834,7 @@ __metadata:
webpack: ^5.74.0
yup: ^0.29.1
peerDependencies:
- "@openmrs/esm-framework": 4.x
+ "@openmrs/esm-framework": 5.x
dayjs: 1.x
react: 18.x
react-i18next: 11.x
@@ -3959,19 +3850,19 @@ __metadata:
lodash-es: ^4.17.15
webpack: ^5.74.0
peerDependencies:
- "@openmrs/esm-framework": 4.x
+ "@openmrs/esm-framework": 5.x
react: ^18.1.0
react-i18next: 11.x
react-router-dom: 6.x
languageName: unknown
linkType: soft
-"@openmrs/esm-react-utils@npm:^4.2.1-pre.619":
- version: 4.2.1-pre.619
- resolution: "@openmrs/esm-react-utils@npm:4.2.1-pre.619"
+"@openmrs/esm-react-utils@npm:^5.0.2-pre.818":
+ version: 5.0.2-pre.818
+ resolution: "@openmrs/esm-react-utils@npm:5.0.2-pre.818"
dependencies:
lodash-es: ^4.17.21
- single-spa-react: ^5.0.0
+ single-spa-react: ~5.0.0
swr: ^2.0.1
peerDependencies:
"@openmrs/esm-api": 4.x
@@ -3984,74 +3875,70 @@ __metadata:
react: 18.x
react-dom: 18.x
react-i18next: 11.x
- checksum: f16b67a28d5bb0dff1331a28e6ee7fcdee036016828f02afe93de70381744c93f6d1a51434e76a9a863ebeeb9a3b2131e628f3117a1ef640a3f1a25e91964f7e
+ checksum: 2334180abc1f542dac23ca95d605a3920dfac43dfcc8c5b3789101f557033fe859c39c0318337642636518c85a5e96df2685087fc16c8aaee05c814e96ff9485
languageName: node
linkType: hard
-"@openmrs/esm-state@npm:^4.2.1-pre.619":
- version: 4.2.1-pre.619
- resolution: "@openmrs/esm-state@npm:4.2.1-pre.619"
+"@openmrs/esm-state@npm:^5.0.2-pre.818":
+ version: 5.0.2-pre.818
+ resolution: "@openmrs/esm-state@npm:5.0.2-pre.818"
dependencies:
- unistore: ^3.5.2
- checksum: a1e5bf51d01619b77af3ecf50db669ea9b7dfd2005b7d1cc27d4e84f17d90ff9feec6aac3a510233128cd85ddb165e8ce98f609b1140e68150343a32419d476c
+ zustand: ^4.3.6
+ checksum: 48724501bfbb863d9bd2cf91ed13c293a64aac6e741b64cf5a47fb76c5dc5e66a3ec8ab8eec5fee25aba34b0df3980826fc2351ce4a472cb3fa3cb2ac338052a
languageName: node
linkType: hard
-"@openmrs/esm-styleguide@npm:4.2.1-pre.619, @openmrs/esm-styleguide@npm:^4.2.1-pre.619":
- version: 4.2.1-pre.619
- resolution: "@openmrs/esm-styleguide@npm:4.2.1-pre.619"
+"@openmrs/esm-styleguide@npm:5.0.2-pre.818, @openmrs/esm-styleguide@npm:^5.0.2-pre.818":
+ version: 5.0.2-pre.818
+ resolution: "@openmrs/esm-styleguide@npm:5.0.2-pre.818"
dependencies:
"@carbon/charts": ^1.6.3
"@carbon/react": ^1.12.0
d3: ^7.8.0
lodash-es: ^4.17.21
peerDependencies:
- "@openmrs/esm-extensions": 4.x
- "@openmrs/esm-react-utils": 4.x
- "@openmrs/esm-state": 4.x
+ "@openmrs/esm-framework": 4.x
react: 18.x
react-dom: 18.x
rxjs: 6.x
- checksum: a01a5b0ce383c930fb7fc54d15eadddf709fd3a9bfed7c4e2f2d59ee5f0c660d84cfa2f4eb1eed323ee528cf7f7bdc03a6fd8dc46cc77efaa9e6b97324539187
+ checksum: dc56184dfb7f337235dd906b3f395e92a6ae8cd15f30d11012794d0079124c2fc0c9a4e4bb9ce2f60df942c99c0143431364350400451e8915a23d48f22039e0
languageName: node
linkType: hard
-"@openmrs/esm-utils@npm:^4.2.1-pre.619":
- version: 4.2.1-pre.619
- resolution: "@openmrs/esm-utils@npm:4.2.1-pre.619"
+"@openmrs/esm-utils@npm:^5.0.2-pre.818":
+ version: 5.0.2-pre.818
+ resolution: "@openmrs/esm-utils@npm:5.0.2-pre.818"
dependencies:
semver: 7.3.2
peerDependencies:
dayjs: 1.x
i18next: 19.x
rxjs: 6.x
- checksum: c0065167807e8e79b7d56f2e5c3fa9bcd347dc9591fb56c70b62ea085b9813db29474502dc870ca7683d2a35cffd741b993115e2baaba1ad0af0a911d1b723fa
+ checksum: 5605b77dffef057c1a5bc8ddd594f68378b8eec2e4194fefdcd432bf33b4579c2f6982f1efa0c92ddacc3255666cf81fad3cde341a611540594f6b5277beb9fa
languageName: node
linkType: hard
-"@openmrs/webpack-config@npm:4.2.1-pre.619":
- version: 4.2.1-pre.619
- resolution: "@openmrs/webpack-config@npm:4.2.1-pre.619"
+"@openmrs/webpack-config@npm:5.0.2-pre.818":
+ version: 5.0.2-pre.818
+ resolution: "@openmrs/webpack-config@npm:5.0.2-pre.818"
dependencies:
- "@babel/core": ^7.17.9
- "@babel/types": ^7.17.0
- "@swc/core": ^1.2.165
+ "@swc-node/loader": ^1.3.5
+ "@swc/core": ^1.3.58
babel-preset-minify: ^0.5.1
clean-webpack-plugin: ^4.0.0
+ copy-webpack-plugin: ^11.0.0
css-loader: ^5.2.4
fork-ts-checker-webpack-plugin: ^6.5.0
lodash: ^4.17.21
sass: ^1.44.0
sass-loader: ^12.3.0
style-loader: ^3.3.1
- swc-loader: ^0.1.15
- systemjs-webpack-interop: ^2.3.7
- webpack: ^5.74.0
+ webpack: ^5.88.0
webpack-bundle-analyzer: ^4.5.0
webpack-stats-plugin: ^1.0.3
peerDependencies:
webpack: 5.x
- checksum: 09a8b0ff9f9f3e87103b36096c14ed20f002bbd9944130e6d417b4f1ff9eae2091dd25e7a28b7e2500576d4410116aba2cf902e1b530154003ee256b167f8273
+ checksum: fb12b87fb2544ac4042a0847ad2ed162ef5fca1d5bc29c123452ddf056bdd83998d5d3c85866c9856948f25e3fd39068e4ec1bc653c686956aa5ccf703ac47c1
languageName: node
linkType: hard
@@ -4207,6 +4094,55 @@ __metadata:
languageName: node
linkType: hard
+"@swc-node/core@npm:^1.10.3":
+ version: 1.10.3
+ resolution: "@swc-node/core@npm:1.10.3"
+ peerDependencies:
+ "@swc/core": ">= 1.3"
+ checksum: 6e3e50a44d7a1c1aa62599d83c58f21568c1da03422124b46634488aba02747939063eeb1a2710aab0ab9f14f347386226a017ed72e6ba608d4a26532cd426af
+ languageName: node
+ linkType: hard
+
+"@swc-node/loader@npm:^1.3.5":
+ version: 1.3.5
+ resolution: "@swc-node/loader@npm:1.3.5"
+ dependencies:
+ "@swc-node/core": ^1.10.3
+ "@swc-node/register": ^1.6.5
+ peerDependencies:
+ typescript: ">= 4.3"
+ webpack: ">= 5.0.0"
+ checksum: f28208a5298d64f2452e048db279d3e9da2eaa5d4d146f8a6b78508f1a70bab3e8e56e1e19cff455d1001ea4af792589d73dd3a2a5ce5f8ef565dbed5622e8b7
+ languageName: node
+ linkType: hard
+
+"@swc-node/register@npm:^1.6.5":
+ version: 1.6.5
+ resolution: "@swc-node/register@npm:1.6.5"
+ dependencies:
+ "@swc-node/core": ^1.10.3
+ "@swc-node/sourcemap-support": ^0.3.0
+ colorette: ^2.0.19
+ debug: ^4.3.4
+ pirates: ^4.0.5
+ tslib: ^2.5.0
+ peerDependencies:
+ "@swc/core": ">= 1.3"
+ typescript: ">= 4.3"
+ checksum: 490b2c6d04d4be3e80f3cc4aeccd4e064f49100e7e21675de3e2a125d844857589a3e0b91a17f088c471cbb20725a02fadc9edd244c08253d1bae19b2e88e8e6
+ languageName: node
+ linkType: hard
+
+"@swc-node/sourcemap-support@npm:^0.3.0":
+ version: 0.3.0
+ resolution: "@swc-node/sourcemap-support@npm:0.3.0"
+ dependencies:
+ source-map-support: ^0.5.21
+ tslib: ^2.5.0
+ checksum: a3c837ed790238ef88682eb342b75d756eba5eb3b6cfe6cf14a597bd78dfc9a9797f1e54a4977c1297e5324fba2e33bd76ab8aa9c396ad463693de2001180c9e
+ languageName: node
+ linkType: hard
+
"@swc/core-android-arm-eabi@npm:1.3.11":
version: 1.3.11
resolution: "@swc/core-android-arm-eabi@npm:1.3.11"
@@ -4232,6 +4168,13 @@ __metadata:
languageName: node
linkType: hard
+"@swc/core-darwin-arm64@npm:1.3.66":
+ version: 1.3.66
+ resolution: "@swc/core-darwin-arm64@npm:1.3.66"
+ conditions: os=darwin & cpu=arm64
+ languageName: node
+ linkType: hard
+
"@swc/core-darwin-x64@npm:1.3.11":
version: 1.3.11
resolution: "@swc/core-darwin-x64@npm:1.3.11"
@@ -4239,6 +4182,13 @@ __metadata:
languageName: node
linkType: hard
+"@swc/core-darwin-x64@npm:1.3.66":
+ version: 1.3.66
+ resolution: "@swc/core-darwin-x64@npm:1.3.66"
+ conditions: os=darwin & cpu=x64
+ languageName: node
+ linkType: hard
+
"@swc/core-freebsd-x64@npm:1.3.11":
version: 1.3.11
resolution: "@swc/core-freebsd-x64@npm:1.3.11"
@@ -4257,6 +4207,13 @@ __metadata:
languageName: node
linkType: hard
+"@swc/core-linux-arm-gnueabihf@npm:1.3.66":
+ version: 1.3.66
+ resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.66"
+ conditions: os=linux & cpu=arm
+ languageName: node
+ linkType: hard
+
"@swc/core-linux-arm64-gnu@npm:1.3.11":
version: 1.3.11
resolution: "@swc/core-linux-arm64-gnu@npm:1.3.11"
@@ -4264,6 +4221,13 @@ __metadata:
languageName: node
linkType: hard
+"@swc/core-linux-arm64-gnu@npm:1.3.66":
+ version: 1.3.66
+ resolution: "@swc/core-linux-arm64-gnu@npm:1.3.66"
+ conditions: os=linux & cpu=arm64 & libc=glibc
+ languageName: node
+ linkType: hard
+
"@swc/core-linux-arm64-musl@npm:1.3.11":
version: 1.3.11
resolution: "@swc/core-linux-arm64-musl@npm:1.3.11"
@@ -4271,6 +4235,13 @@ __metadata:
languageName: node
linkType: hard
+"@swc/core-linux-arm64-musl@npm:1.3.66":
+ version: 1.3.66
+ resolution: "@swc/core-linux-arm64-musl@npm:1.3.66"
+ conditions: os=linux & cpu=arm64 & libc=musl
+ languageName: node
+ linkType: hard
+
"@swc/core-linux-x64-gnu@npm:1.3.11":
version: 1.3.11
resolution: "@swc/core-linux-x64-gnu@npm:1.3.11"
@@ -4278,6 +4249,13 @@ __metadata:
languageName: node
linkType: hard
+"@swc/core-linux-x64-gnu@npm:1.3.66":
+ version: 1.3.66
+ resolution: "@swc/core-linux-x64-gnu@npm:1.3.66"
+ conditions: os=linux & cpu=x64 & libc=glibc
+ languageName: node
+ linkType: hard
+
"@swc/core-linux-x64-musl@npm:1.3.11":
version: 1.3.11
resolution: "@swc/core-linux-x64-musl@npm:1.3.11"
@@ -4285,6 +4263,13 @@ __metadata:
languageName: node
linkType: hard
+"@swc/core-linux-x64-musl@npm:1.3.66":
+ version: 1.3.66
+ resolution: "@swc/core-linux-x64-musl@npm:1.3.66"
+ conditions: os=linux & cpu=x64 & libc=musl
+ languageName: node
+ linkType: hard
+
"@swc/core-win32-arm64-msvc@npm:1.3.11":
version: 1.3.11
resolution: "@swc/core-win32-arm64-msvc@npm:1.3.11"
@@ -4294,6 +4279,13 @@ __metadata:
languageName: node
linkType: hard
+"@swc/core-win32-arm64-msvc@npm:1.3.66":
+ version: 1.3.66
+ resolution: "@swc/core-win32-arm64-msvc@npm:1.3.66"
+ conditions: os=win32 & cpu=arm64
+ languageName: node
+ linkType: hard
+
"@swc/core-win32-ia32-msvc@npm:1.3.11":
version: 1.3.11
resolution: "@swc/core-win32-ia32-msvc@npm:1.3.11"
@@ -4303,6 +4295,13 @@ __metadata:
languageName: node
linkType: hard
+"@swc/core-win32-ia32-msvc@npm:1.3.66":
+ version: 1.3.66
+ resolution: "@swc/core-win32-ia32-msvc@npm:1.3.66"
+ conditions: os=win32 & cpu=ia32
+ languageName: node
+ linkType: hard
+
"@swc/core-win32-x64-msvc@npm:1.3.11":
version: 1.3.11
resolution: "@swc/core-win32-x64-msvc@npm:1.3.11"
@@ -4310,6 +4309,13 @@ __metadata:
languageName: node
linkType: hard
+"@swc/core-win32-x64-msvc@npm:1.3.66":
+ version: 1.3.66
+ resolution: "@swc/core-win32-x64-msvc@npm:1.3.66"
+ conditions: os=win32 & cpu=x64
+ languageName: node
+ linkType: hard
+
"@swc/core@npm:^1.2.165":
version: 1.3.11
resolution: "@swc/core@npm:1.3.11"
@@ -4360,6 +4366,50 @@ __metadata:
languageName: node
linkType: hard
+"@swc/core@npm:^1.3.58":
+ version: 1.3.66
+ resolution: "@swc/core@npm:1.3.66"
+ dependencies:
+ "@swc/core-darwin-arm64": 1.3.66
+ "@swc/core-darwin-x64": 1.3.66
+ "@swc/core-linux-arm-gnueabihf": 1.3.66
+ "@swc/core-linux-arm64-gnu": 1.3.66
+ "@swc/core-linux-arm64-musl": 1.3.66
+ "@swc/core-linux-x64-gnu": 1.3.66
+ "@swc/core-linux-x64-musl": 1.3.66
+ "@swc/core-win32-arm64-msvc": 1.3.66
+ "@swc/core-win32-ia32-msvc": 1.3.66
+ "@swc/core-win32-x64-msvc": 1.3.66
+ peerDependencies:
+ "@swc/helpers": ^0.5.0
+ dependenciesMeta:
+ "@swc/core-darwin-arm64":
+ optional: true
+ "@swc/core-darwin-x64":
+ optional: true
+ "@swc/core-linux-arm-gnueabihf":
+ optional: true
+ "@swc/core-linux-arm64-gnu":
+ optional: true
+ "@swc/core-linux-arm64-musl":
+ optional: true
+ "@swc/core-linux-x64-gnu":
+ optional: true
+ "@swc/core-linux-x64-musl":
+ optional: true
+ "@swc/core-win32-arm64-msvc":
+ optional: true
+ "@swc/core-win32-ia32-msvc":
+ optional: true
+ "@swc/core-win32-x64-msvc":
+ optional: true
+ peerDependenciesMeta:
+ "@swc/helpers":
+ optional: true
+ checksum: e6029c648ba47c522bed51a9f2fee606f82de1f9233e2e89197e43b0a4867054174ca05e825e688cdc4de332221c0da2e12ba7ba875549e8b5432aa70fe19263
+ languageName: node
+ linkType: hard
+
"@swc/jest@npm:^0.2.20":
version: 0.2.23
resolution: "@swc/jest@npm:0.2.23"
@@ -4576,10 +4626,10 @@ __metadata:
languageName: node
linkType: hard
-"@types/estree@npm:^0.0.51":
- version: 0.0.51
- resolution: "@types/estree@npm:0.0.51"
- checksum: e56a3bcf759fd9185e992e7fdb3c6a5f81e8ff120e871641607581fb3728d16c811702a7d40fa5f869b7f7b4437ab6a87eb8d98ffafeee51e85bbe955932a189
+"@types/estree@npm:^1.0.0":
+ version: 1.0.1
+ resolution: "@types/estree@npm:1.0.1"
+ checksum: e9aa175eacb797216fafce4d41e8202c7a75555bc55232dee0f9903d7171f8f19f0ae7d5191bb1a88cb90e65468be508c0df850a9fb81b4433b293a5a749899d
languageName: node
linkType: hard
@@ -5109,154 +5159,154 @@ __metadata:
languageName: node
linkType: hard
-"@webassemblyjs/ast@npm:1.11.1":
- version: 1.11.1
- resolution: "@webassemblyjs/ast@npm:1.11.1"
+"@webassemblyjs/ast@npm:1.11.6, @webassemblyjs/ast@npm:^1.11.5":
+ version: 1.11.6
+ resolution: "@webassemblyjs/ast@npm:1.11.6"
dependencies:
- "@webassemblyjs/helper-numbers": 1.11.1
- "@webassemblyjs/helper-wasm-bytecode": 1.11.1
- checksum: 1eee1534adebeece635362f8e834ae03e389281972611408d64be7895fc49f48f98fddbbb5339bf8a72cb101bcb066e8bca3ca1bf1ef47dadf89def0395a8d87
+ "@webassemblyjs/helper-numbers": 1.11.6
+ "@webassemblyjs/helper-wasm-bytecode": 1.11.6
+ checksum: 38ef1b526ca47c210f30975b06df2faf1a8170b1636ce239fc5738fc231ce28389dd61ecedd1bacfc03cbe95b16d1af848c805652080cb60982836eb4ed2c6cf
languageName: node
linkType: hard
-"@webassemblyjs/floating-point-hex-parser@npm:1.11.1":
- version: 1.11.1
- resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.11.1"
- checksum: b8efc6fa08e4787b7f8e682182d84dfdf8da9d9c77cae5d293818bc4a55c1f419a87fa265ab85252b3e6c1fd323d799efea68d825d341a7c365c64bc14750e97
+"@webassemblyjs/floating-point-hex-parser@npm:1.11.6":
+ version: 1.11.6
+ resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.11.6"
+ checksum: 29b08758841fd8b299c7152eda36b9eb4921e9c584eb4594437b5cd90ed6b920523606eae7316175f89c20628da14326801090167cc7fbffc77af448ac84b7e2
languageName: node
linkType: hard
-"@webassemblyjs/helper-api-error@npm:1.11.1":
- version: 1.11.1
- resolution: "@webassemblyjs/helper-api-error@npm:1.11.1"
- checksum: 0792813f0ed4a0e5ee0750e8b5d0c631f08e927f4bdfdd9fe9105dc410c786850b8c61bff7f9f515fdfb149903bec3c976a1310573a4c6866a94d49bc7271959
+"@webassemblyjs/helper-api-error@npm:1.11.6":
+ version: 1.11.6
+ resolution: "@webassemblyjs/helper-api-error@npm:1.11.6"
+ checksum: e8563df85161096343008f9161adb138a6e8f3c2cc338d6a36011aa55eabb32f2fd138ffe63bc278d009ada001cc41d263dadd1c0be01be6c2ed99076103689f
languageName: node
linkType: hard
-"@webassemblyjs/helper-buffer@npm:1.11.1":
- version: 1.11.1
- resolution: "@webassemblyjs/helper-buffer@npm:1.11.1"
- checksum: a337ee44b45590c3a30db5a8b7b68a717526cf967ada9f10253995294dbd70a58b2da2165222e0b9830cd4fc6e4c833bf441a721128d1fe2e9a7ab26b36003ce
+"@webassemblyjs/helper-buffer@npm:1.11.6":
+ version: 1.11.6
+ resolution: "@webassemblyjs/helper-buffer@npm:1.11.6"
+ checksum: b14d0573bf680d22b2522e8a341ec451fddd645d1f9c6bd9012ccb7e587a2973b86ab7b89fe91e1c79939ba96095f503af04369a3b356c8023c13a5893221644
languageName: node
linkType: hard
-"@webassemblyjs/helper-numbers@npm:1.11.1":
- version: 1.11.1
- resolution: "@webassemblyjs/helper-numbers@npm:1.11.1"
+"@webassemblyjs/helper-numbers@npm:1.11.6":
+ version: 1.11.6
+ resolution: "@webassemblyjs/helper-numbers@npm:1.11.6"
dependencies:
- "@webassemblyjs/floating-point-hex-parser": 1.11.1
- "@webassemblyjs/helper-api-error": 1.11.1
+ "@webassemblyjs/floating-point-hex-parser": 1.11.6
+ "@webassemblyjs/helper-api-error": 1.11.6
"@xtuc/long": 4.2.2
- checksum: 44d2905dac2f14d1e9b5765cf1063a0fa3d57295c6d8930f6c59a36462afecc6e763e8a110b97b342a0f13376166c5d41aa928e6ced92e2f06b071fd0db59d3a
+ checksum: f4b562fa219f84368528339e0f8d273ad44e047a07641ffcaaec6f93e5b76fd86490a009aa91a294584e1436d74b0a01fa9fde45e333a4c657b58168b04da424
languageName: node
linkType: hard
-"@webassemblyjs/helper-wasm-bytecode@npm:1.11.1":
- version: 1.11.1
- resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.11.1"
- checksum: eac400113127832c88f5826bcc3ad1c0db9b3dbd4c51a723cfdb16af6bfcbceb608170fdaac0ab7731a7e18b291be7af68a47fcdb41cfe0260c10857e7413d97
+"@webassemblyjs/helper-wasm-bytecode@npm:1.11.6":
+ version: 1.11.6
+ resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.11.6"
+ checksum: 3535ef4f1fba38de3475e383b3980f4bbf3de72bbb631c2b6584c7df45be4eccd62c6ff48b5edd3f1bcff275cfd605a37679ec199fc91fd0a7705d7f1e3972dc
languageName: node
linkType: hard
-"@webassemblyjs/helper-wasm-section@npm:1.11.1":
- version: 1.11.1
- resolution: "@webassemblyjs/helper-wasm-section@npm:1.11.1"
+"@webassemblyjs/helper-wasm-section@npm:1.11.6":
+ version: 1.11.6
+ resolution: "@webassemblyjs/helper-wasm-section@npm:1.11.6"
dependencies:
- "@webassemblyjs/ast": 1.11.1
- "@webassemblyjs/helper-buffer": 1.11.1
- "@webassemblyjs/helper-wasm-bytecode": 1.11.1
- "@webassemblyjs/wasm-gen": 1.11.1
- checksum: 617696cfe8ecaf0532763162aaf748eb69096fb27950219bb87686c6b2e66e11cd0614d95d319d0ab1904bc14ebe4e29068b12c3e7c5e020281379741fe4bedf
+ "@webassemblyjs/ast": 1.11.6
+ "@webassemblyjs/helper-buffer": 1.11.6
+ "@webassemblyjs/helper-wasm-bytecode": 1.11.6
+ "@webassemblyjs/wasm-gen": 1.11.6
+ checksum: b2cf751bf4552b5b9999d27bbb7692d0aca75260140195cb58ea6374d7b9c2dc69b61e10b211a0e773f66209c3ddd612137ed66097e3684d7816f854997682e9
languageName: node
linkType: hard
-"@webassemblyjs/ieee754@npm:1.11.1":
- version: 1.11.1
- resolution: "@webassemblyjs/ieee754@npm:1.11.1"
+"@webassemblyjs/ieee754@npm:1.11.6":
+ version: 1.11.6
+ resolution: "@webassemblyjs/ieee754@npm:1.11.6"
dependencies:
"@xtuc/ieee754": ^1.2.0
- checksum: 23a0ac02a50f244471631802798a816524df17e56b1ef929f0c73e3cde70eaf105a24130105c60aff9d64a24ce3b640dad443d6f86e5967f922943a7115022ec
+ checksum: 13574b8e41f6ca39b700e292d7edf102577db5650fe8add7066a320aa4b7a7c09a5056feccac7a74eb68c10dea9546d4461412af351f13f6b24b5f32379b49de
languageName: node
linkType: hard
-"@webassemblyjs/leb128@npm:1.11.1":
- version: 1.11.1
- resolution: "@webassemblyjs/leb128@npm:1.11.1"
+"@webassemblyjs/leb128@npm:1.11.6":
+ version: 1.11.6
+ resolution: "@webassemblyjs/leb128@npm:1.11.6"
dependencies:
"@xtuc/long": 4.2.2
- checksum: 33ccc4ade2f24de07bf31690844d0b1ad224304ee2062b0e464a610b0209c79e0b3009ac190efe0e6bd568b0d1578d7c3047fc1f9d0197c92fc061f56224ff4a
+ checksum: 7ea942dc9777d4b18a5ebfa3a937b30ae9e1d2ce1fee637583ed7f376334dd1d4274f813d2e250056cca803e0952def4b954913f1a3c9068bcd4ab4ee5143bf0
languageName: node
linkType: hard
-"@webassemblyjs/utf8@npm:1.11.1":
- version: 1.11.1
- resolution: "@webassemblyjs/utf8@npm:1.11.1"
- checksum: 972c5cfc769d7af79313a6bfb96517253a270a4bf0c33ba486aa43cac43917184fb35e51dfc9e6b5601548cd5931479a42e42c89a13bb591ffabebf30c8a6a0b
+"@webassemblyjs/utf8@npm:1.11.6":
+ version: 1.11.6
+ resolution: "@webassemblyjs/utf8@npm:1.11.6"
+ checksum: 807fe5b5ce10c390cfdd93e0fb92abda8aebabb5199980681e7c3743ee3306a75729bcd1e56a3903980e96c885ee53ef901fcbaac8efdfa480f9c0dae1d08713
languageName: node
linkType: hard
-"@webassemblyjs/wasm-edit@npm:1.11.1":
- version: 1.11.1
- resolution: "@webassemblyjs/wasm-edit@npm:1.11.1"
+"@webassemblyjs/wasm-edit@npm:^1.11.5":
+ version: 1.11.6
+ resolution: "@webassemblyjs/wasm-edit@npm:1.11.6"
dependencies:
- "@webassemblyjs/ast": 1.11.1
- "@webassemblyjs/helper-buffer": 1.11.1
- "@webassemblyjs/helper-wasm-bytecode": 1.11.1
- "@webassemblyjs/helper-wasm-section": 1.11.1
- "@webassemblyjs/wasm-gen": 1.11.1
- "@webassemblyjs/wasm-opt": 1.11.1
- "@webassemblyjs/wasm-parser": 1.11.1
- "@webassemblyjs/wast-printer": 1.11.1
- checksum: 6d7d9efaec1227e7ef7585a5d7ff0be5f329f7c1c6b6c0e906b18ed2e9a28792a5635e450aca2d136770d0207225f204eff70a4b8fd879d3ac79e1dcc26dbeb9
+ "@webassemblyjs/ast": 1.11.6
+ "@webassemblyjs/helper-buffer": 1.11.6
+ "@webassemblyjs/helper-wasm-bytecode": 1.11.6
+ "@webassemblyjs/helper-wasm-section": 1.11.6
+ "@webassemblyjs/wasm-gen": 1.11.6
+ "@webassemblyjs/wasm-opt": 1.11.6
+ "@webassemblyjs/wasm-parser": 1.11.6
+ "@webassemblyjs/wast-printer": 1.11.6
+ checksum: 29ce75870496d6fad864d815ebb072395a8a3a04dc9c3f4e1ffdc63fc5fa58b1f34304a1117296d8240054cfdbc38aca88e71fb51483cf29ffab0a61ef27b481
languageName: node
linkType: hard
-"@webassemblyjs/wasm-gen@npm:1.11.1":
- version: 1.11.1
- resolution: "@webassemblyjs/wasm-gen@npm:1.11.1"
+"@webassemblyjs/wasm-gen@npm:1.11.6":
+ version: 1.11.6
+ resolution: "@webassemblyjs/wasm-gen@npm:1.11.6"
dependencies:
- "@webassemblyjs/ast": 1.11.1
- "@webassemblyjs/helper-wasm-bytecode": 1.11.1
- "@webassemblyjs/ieee754": 1.11.1
- "@webassemblyjs/leb128": 1.11.1
- "@webassemblyjs/utf8": 1.11.1
- checksum: 1f6921e640293bf99fb16b21e09acb59b340a79f986c8f979853a0ae9f0b58557534b81e02ea2b4ef11e929d946708533fd0693c7f3712924128fdafd6465f5b
+ "@webassemblyjs/ast": 1.11.6
+ "@webassemblyjs/helper-wasm-bytecode": 1.11.6
+ "@webassemblyjs/ieee754": 1.11.6
+ "@webassemblyjs/leb128": 1.11.6
+ "@webassemblyjs/utf8": 1.11.6
+ checksum: a645a2eecbea24833c3260a249704a7f554ef4a94c6000984728e94bb2bc9140a68dfd6fd21d5e0bbb09f6dfc98e083a45760a83ae0417b41a0196ff6d45a23a
languageName: node
linkType: hard
-"@webassemblyjs/wasm-opt@npm:1.11.1":
- version: 1.11.1
- resolution: "@webassemblyjs/wasm-opt@npm:1.11.1"
+"@webassemblyjs/wasm-opt@npm:1.11.6":
+ version: 1.11.6
+ resolution: "@webassemblyjs/wasm-opt@npm:1.11.6"
dependencies:
- "@webassemblyjs/ast": 1.11.1
- "@webassemblyjs/helper-buffer": 1.11.1
- "@webassemblyjs/wasm-gen": 1.11.1
- "@webassemblyjs/wasm-parser": 1.11.1
- checksum: 21586883a20009e2b20feb67bdc451bbc6942252e038aae4c3a08e6f67b6bae0f5f88f20bfc7bd0452db5000bacaf5ab42b98cf9aa034a6c70e9fc616142e1db
+ "@webassemblyjs/ast": 1.11.6
+ "@webassemblyjs/helper-buffer": 1.11.6
+ "@webassemblyjs/wasm-gen": 1.11.6
+ "@webassemblyjs/wasm-parser": 1.11.6
+ checksum: b4557f195487f8e97336ddf79f7bef40d788239169aac707f6eaa2fa5fe243557c2d74e550a8e57f2788e70c7ae4e7d32f7be16101afe183d597b747a3bdd528
languageName: node
linkType: hard
-"@webassemblyjs/wasm-parser@npm:1.11.1":
- version: 1.11.1
- resolution: "@webassemblyjs/wasm-parser@npm:1.11.1"
+"@webassemblyjs/wasm-parser@npm:1.11.6, @webassemblyjs/wasm-parser@npm:^1.11.5":
+ version: 1.11.6
+ resolution: "@webassemblyjs/wasm-parser@npm:1.11.6"
dependencies:
- "@webassemblyjs/ast": 1.11.1
- "@webassemblyjs/helper-api-error": 1.11.1
- "@webassemblyjs/helper-wasm-bytecode": 1.11.1
- "@webassemblyjs/ieee754": 1.11.1
- "@webassemblyjs/leb128": 1.11.1
- "@webassemblyjs/utf8": 1.11.1
- checksum: 1521644065c360e7b27fad9f4bb2df1802d134dd62937fa1f601a1975cde56bc31a57b6e26408b9ee0228626ff3ba1131ae6f74ffb7d718415b6528c5a6dbfc2
+ "@webassemblyjs/ast": 1.11.6
+ "@webassemblyjs/helper-api-error": 1.11.6
+ "@webassemblyjs/helper-wasm-bytecode": 1.11.6
+ "@webassemblyjs/ieee754": 1.11.6
+ "@webassemblyjs/leb128": 1.11.6
+ "@webassemblyjs/utf8": 1.11.6
+ checksum: 8200a8d77c15621724a23fdabe58d5571415cda98a7058f542e670ea965dd75499f5e34a48675184947c66f3df23adf55df060312e6d72d57908e3f049620d8a
languageName: node
linkType: hard
-"@webassemblyjs/wast-printer@npm:1.11.1":
- version: 1.11.1
- resolution: "@webassemblyjs/wast-printer@npm:1.11.1"
+"@webassemblyjs/wast-printer@npm:1.11.6":
+ version: 1.11.6
+ resolution: "@webassemblyjs/wast-printer@npm:1.11.6"
dependencies:
- "@webassemblyjs/ast": 1.11.1
+ "@webassemblyjs/ast": 1.11.6
"@xtuc/long": 4.2.2
- checksum: f15ae4c2441b979a3b4fce78f3d83472fb22350c6dc3fd34bfe7c3da108e0b2360718734d961bba20e7716cb8578e964b870da55b035e209e50ec9db0378a3f7
+ checksum: d2fa6a4c427325ec81463e9c809aa6572af6d47f619f3091bf4c4a6fc34f1da3df7caddaac50b8e7a457f8784c62cd58c6311b6cb69b0162ccd8d4c072f79cf8
languageName: node
linkType: hard
@@ -5364,12 +5414,12 @@ __metadata:
languageName: node
linkType: hard
-"acorn-import-assertions@npm:^1.7.6":
- version: 1.8.0
- resolution: "acorn-import-assertions@npm:1.8.0"
+"acorn-import-assertions@npm:^1.9.0":
+ version: 1.9.0
+ resolution: "acorn-import-assertions@npm:1.9.0"
peerDependencies:
acorn: ^8
- checksum: 5c4cf7c850102ba7ae0eeae0deb40fb3158c8ca5ff15c0bca43b5c47e307a1de3d8ef761788f881343680ea374631ae9e9615ba8876fee5268dbe068c98bcba6
+ checksum: 944fb2659d0845c467066bdcda2e20c05abe3aaf11972116df457ce2627628a81764d800dd55031ba19de513ee0d43bb771bc679cc0eda66dc8b4fade143bc0c
languageName: node
linkType: hard
@@ -5414,6 +5464,15 @@ __metadata:
languageName: node
linkType: hard
+"acorn@npm:^8.8.2":
+ version: 8.8.2
+ resolution: "acorn@npm:8.8.2"
+ bin:
+ acorn: bin/acorn
+ checksum: f790b99a1bf63ef160c967e23c46feea7787e531292bb827126334612c234ed489a0dc2c7ba33156416f0ffa8d25bf2b0fdb7f35c2ba60eb3e960572bece4001
+ languageName: node
+ linkType: hard
+
"adler-32@npm:~1.3.0":
version: 1.3.1
resolution: "adler-32@npm:1.3.1"
@@ -5815,13 +5874,6 @@ __metadata:
languageName: node
linkType: hard
-"array-union@npm:^3.0.1":
- version: 3.0.1
- resolution: "array-union@npm:3.0.1"
- checksum: 47b29f88258e8f37ffb93ddaa327d4308edd950b52943c172b73558afdd3fa74cfd68816ba5aa4b894242cf281fa3c6d0362ae057e4a18bddbaedbe46ebe7112
- languageName: node
- linkType: hard
-
"array-uniq@npm:^1.0.1":
version: 1.0.3
resolution: "array-uniq@npm:1.0.3"
@@ -7375,6 +7427,13 @@ __metadata:
languageName: node
linkType: hard
+"colorette@npm:^2.0.19":
+ version: 2.0.20
+ resolution: "colorette@npm:2.0.20"
+ checksum: 0c016fea2b91b733eb9f4bcdb580018f52c0bc0979443dad930e5037a968237ac53d9beb98e218d2e9235834f8eebce7f8e080422d6194e957454255bde71d3d
+ languageName: node
+ linkType: hard
+
"colors@npm:~1.4.0":
version: 1.4.0
resolution: "colors@npm:1.4.0"
@@ -7727,19 +7786,19 @@ __metadata:
languageName: node
linkType: hard
-"copy-webpack-plugin@npm:^10.0.0":
- version: 10.2.4
- resolution: "copy-webpack-plugin@npm:10.2.4"
+"copy-webpack-plugin@npm:^11.0.0":
+ version: 11.0.0
+ resolution: "copy-webpack-plugin@npm:11.0.0"
dependencies:
- fast-glob: ^3.2.7
+ fast-glob: ^3.2.11
glob-parent: ^6.0.1
- globby: ^12.0.2
+ globby: ^13.1.1
normalize-path: ^3.0.0
schema-utils: ^4.0.0
serialize-javascript: ^6.0.0
peerDependencies:
webpack: ^5.1.0
- checksum: 87f0f4530ab3e58ec06a7c3182028dfd8cc85b045a0d18c4464caafeae1ed1141c2aad6eae37e100a74a72b69dc48c93af358c07038b7a22f490a678c0ab142e
+ checksum: df4f8743f003a29ee7dd3d9b1789998a3a99051c92afb2ba2203d3dacfa696f4e757b275560fafb8f206e520a0aa78af34b990324a0e36c2326cefdeef3ca82e
languageName: node
linkType: hard
@@ -7906,6 +7965,24 @@ __metadata:
languageName: node
linkType: hard
+"css-loader@npm:^6.8.1":
+ version: 6.8.1
+ resolution: "css-loader@npm:6.8.1"
+ dependencies:
+ icss-utils: ^5.1.0
+ postcss: ^8.4.21
+ postcss-modules-extract-imports: ^3.0.0
+ postcss-modules-local-by-default: ^4.0.3
+ postcss-modules-scope: ^3.0.0
+ postcss-modules-values: ^4.0.0
+ postcss-value-parser: ^4.2.0
+ semver: ^7.3.8
+ peerDependencies:
+ webpack: ^5.0.0
+ checksum: 7c1784247bdbe76dc5c55fb1ac84f1d4177a74c47259942c9cfdb7a8e6baef11967a0bc85ac285f26bd26d5059decb848af8154a03fdb4f4894f41212f45eef3
+ languageName: node
+ linkType: hard
+
"css-select@npm:^4.1.3":
version: 4.3.0
resolution: "css-select@npm:4.3.0"
@@ -8539,7 +8616,7 @@ __metadata:
languageName: node
linkType: hard
-"debug@npm:4, debug@npm:^4.0.1, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.3":
+"debug@npm:4, debug@npm:^4.0.1, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.3, debug@npm:^4.3.4":
version: 4.3.4
resolution: "debug@npm:4.3.4"
dependencies:
@@ -9144,13 +9221,13 @@ __metadata:
languageName: node
linkType: hard
-"enhanced-resolve@npm:^5.10.0":
- version: 5.10.0
- resolution: "enhanced-resolve@npm:5.10.0"
+"enhanced-resolve@npm:^5.14.1, enhanced-resolve@npm:^5.15.0":
+ version: 5.15.0
+ resolution: "enhanced-resolve@npm:5.15.0"
dependencies:
graceful-fs: ^4.2.4
tapable: ^2.2.0
- checksum: 0bb9830704db271610f900e8d79d70a740ea16f251263362b0c91af545576d09fe50103496606c1300a05e588372d6f9780a9bc2e30ce8ef9b827ec8f44687ff
+ checksum: fbd8cdc9263be71cc737aa8a7d6c57b43d6aa38f6cc75dde6fcd3598a130cc465f979d2f4d01bb3bf475acb43817749c79f8eef9be048683602ca91ab52e4f11
languageName: node
linkType: hard
@@ -9285,10 +9362,10 @@ __metadata:
languageName: node
linkType: hard
-"es-module-lexer@npm:^0.9.0":
- version: 0.9.3
- resolution: "es-module-lexer@npm:0.9.3"
- checksum: 84bbab23c396281db2c906c766af58b1ae2a1a2599844a504df10b9e8dc77ec800b3211fdaa133ff700f5703d791198807bba25d9667392d27a5e9feda344da8
+"es-module-lexer@npm:^1.2.1":
+ version: 1.3.0
+ resolution: "es-module-lexer@npm:1.3.0"
+ checksum: 48fd9f504a9d2a894126f75c8b7ccc6273a289983e9b67255f165bfd9ae765d50100218251e94e702ca567826905ea2f7b3b4a0c4d74d3ce99cce3a2a606a238
languageName: node
linkType: hard
@@ -9298,117 +9375,24 @@ __metadata:
dependencies:
is-callable: ^1.1.4
is-date-object: ^1.0.1
- is-symbol: ^1.0.2
- checksum: 4ead6671a2c1402619bdd77f3503991232ca15e17e46222b0a41a5d81aebc8740a77822f5b3c965008e631153e9ef0580540007744521e72de8e33599fca2eed
- languageName: node
- linkType: hard
-
-"es6-promise@npm:^4.0.3":
- version: 4.2.8
- resolution: "es6-promise@npm:4.2.8"
- checksum: 95614a88873611cb9165a85d36afa7268af5c03a378b35ca7bda9508e1d4f1f6f19a788d4bc755b3fd37c8ebba40782018e02034564ff24c9d6fa37e959ad57d
- languageName: node
- linkType: hard
-
-"es6-promisify@npm:^5.0.0":
- version: 5.0.0
- resolution: "es6-promisify@npm:5.0.0"
- dependencies:
- es6-promise: ^4.0.3
- checksum: fbed9d791598831413be84a5374eca8c24800ec71a16c1c528c43a98e2dadfb99331483d83ae6094ddb9b87e6f799a15d1553cebf756047e0865c753bc346b92
- languageName: node
- linkType: hard
-
-"esbuild-loader@npm:^2.20.0":
- version: 2.21.0
- resolution: "esbuild-loader@npm:2.21.0"
- dependencies:
- esbuild: ^0.16.17
- joycon: ^3.0.1
- json5: ^2.2.0
- loader-utils: ^2.0.0
- tapable: ^2.2.0
- webpack-sources: ^1.4.3
- peerDependencies:
- webpack: ^4.40.0 || ^5.0.0
- checksum: a0456ed7794e2c220a6068e92d739bc19765bff352bf7e44442aa8127631cc517ecd02a3ee969e31fa6b6a91befeac928296488c95e3818a776cd3b11d46348c
- languageName: node
- linkType: hard
-
-"esbuild@npm:^0.16.17":
- version: 0.16.17
- resolution: "esbuild@npm:0.16.17"
- dependencies:
- "@esbuild/android-arm": 0.16.17
- "@esbuild/android-arm64": 0.16.17
- "@esbuild/android-x64": 0.16.17
- "@esbuild/darwin-arm64": 0.16.17
- "@esbuild/darwin-x64": 0.16.17
- "@esbuild/freebsd-arm64": 0.16.17
- "@esbuild/freebsd-x64": 0.16.17
- "@esbuild/linux-arm": 0.16.17
- "@esbuild/linux-arm64": 0.16.17
- "@esbuild/linux-ia32": 0.16.17
- "@esbuild/linux-loong64": 0.16.17
- "@esbuild/linux-mips64el": 0.16.17
- "@esbuild/linux-ppc64": 0.16.17
- "@esbuild/linux-riscv64": 0.16.17
- "@esbuild/linux-s390x": 0.16.17
- "@esbuild/linux-x64": 0.16.17
- "@esbuild/netbsd-x64": 0.16.17
- "@esbuild/openbsd-x64": 0.16.17
- "@esbuild/sunos-x64": 0.16.17
- "@esbuild/win32-arm64": 0.16.17
- "@esbuild/win32-ia32": 0.16.17
- "@esbuild/win32-x64": 0.16.17
- dependenciesMeta:
- "@esbuild/android-arm":
- optional: true
- "@esbuild/android-arm64":
- optional: true
- "@esbuild/android-x64":
- optional: true
- "@esbuild/darwin-arm64":
- optional: true
- "@esbuild/darwin-x64":
- optional: true
- "@esbuild/freebsd-arm64":
- optional: true
- "@esbuild/freebsd-x64":
- optional: true
- "@esbuild/linux-arm":
- optional: true
- "@esbuild/linux-arm64":
- optional: true
- "@esbuild/linux-ia32":
- optional: true
- "@esbuild/linux-loong64":
- optional: true
- "@esbuild/linux-mips64el":
- optional: true
- "@esbuild/linux-ppc64":
- optional: true
- "@esbuild/linux-riscv64":
- optional: true
- "@esbuild/linux-s390x":
- optional: true
- "@esbuild/linux-x64":
- optional: true
- "@esbuild/netbsd-x64":
- optional: true
- "@esbuild/openbsd-x64":
- optional: true
- "@esbuild/sunos-x64":
- optional: true
- "@esbuild/win32-arm64":
- optional: true
- "@esbuild/win32-ia32":
- optional: true
- "@esbuild/win32-x64":
- optional: true
- bin:
- esbuild: bin/esbuild
- checksum: 4c2cc609ecfb426554bc3f75beb92d89eb2d0c515cfceebaa36c7599d7dcaab7056b70f6d6b51e72b45951ddf9021ee28e356cf205f8e42cc055d522312ea30c
+ is-symbol: ^1.0.2
+ checksum: 4ead6671a2c1402619bdd77f3503991232ca15e17e46222b0a41a5d81aebc8740a77822f5b3c965008e631153e9ef0580540007744521e72de8e33599fca2eed
+ languageName: node
+ linkType: hard
+
+"es6-promise@npm:^4.0.3":
+ version: 4.2.8
+ resolution: "es6-promise@npm:4.2.8"
+ checksum: 95614a88873611cb9165a85d36afa7268af5c03a378b35ca7bda9508e1d4f1f6f19a788d4bc755b3fd37c8ebba40782018e02034564ff24c9d6fa37e959ad57d
+ languageName: node
+ linkType: hard
+
+"es6-promisify@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "es6-promisify@npm:5.0.0"
+ dependencies:
+ es6-promise: ^4.0.3
+ checksum: fbed9d791598831413be84a5374eca8c24800ec71a16c1c528c43a98e2dadfb99331483d83ae6094ddb9b87e6f799a15d1553cebf756047e0865c753bc346b92
languageName: node
linkType: hard
@@ -9985,7 +9969,7 @@ __metadata:
languageName: node
linkType: hard
-"fast-glob@npm:^3.2.7, fast-glob@npm:^3.2.9":
+"fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.9":
version: 3.2.12
resolution: "fast-glob@npm:3.2.12"
dependencies:
@@ -10899,17 +10883,16 @@ __metadata:
languageName: node
linkType: hard
-"globby@npm:^12.0.2":
- version: 12.2.0
- resolution: "globby@npm:12.2.0"
+"globby@npm:^13.1.1":
+ version: 13.1.4
+ resolution: "globby@npm:13.1.4"
dependencies:
- array-union: ^3.0.1
dir-glob: ^3.0.1
- fast-glob: ^3.2.7
- ignore: ^5.1.9
+ fast-glob: ^3.2.11
+ ignore: ^5.2.0
merge2: ^1.4.1
slash: ^4.0.0
- checksum: 2539379a7fff3473d3e7c68b4540ba38f36970f43f760e36e301515d5cb98a0c5736554957d90390906bee632327beb2f9518d1acd6911f61e436db11b0da5b5
+ checksum: e8bc13879972082d590cd1b0e27080d90d2e12fff7eeb2cee9329c29115ace14cc5b9f899e3d6beb136ba826307a727016658919a6f383e1511d698acee81741
languageName: node
linkType: hard
@@ -11589,7 +11572,7 @@ __metadata:
languageName: node
linkType: hard
-"ignore@npm:^5.1.4, ignore@npm:^5.1.8, ignore@npm:^5.1.9, ignore@npm:^5.2.0":
+"ignore@npm:^5.1.4, ignore@npm:^5.1.8, ignore@npm:^5.2.0":
version: 5.2.0
resolution: "ignore@npm:5.2.0"
checksum: 6b1f926792d614f64c6c83da3a1f9c83f6196c2839aa41e1e32dd7b8d174cef2e329d75caabb62cb61ce9dc432f75e67d07d122a037312db7caa73166a1bdb77
@@ -13153,13 +13136,6 @@ __metadata:
languageName: node
linkType: hard
-"joycon@npm:^3.0.1":
- version: 3.1.1
- resolution: "joycon@npm:3.1.1"
- checksum: 8003c9c3fc79c5c7602b1c7e9f7a2df2e9916f046b0dbad862aa589be78c15734d11beb9fe846f5e06138df22cb2ad29961b6a986ba81c4920ce2b15a7f11067
- languageName: node
- linkType: hard
-
"jpeg-js@npm:^0.4.2":
version: 0.4.4
resolution: "jpeg-js@npm:0.4.4"
@@ -14624,6 +14600,15 @@ __metadata:
languageName: node
linkType: hard
+"nanoid@npm:^3.3.6":
+ version: 3.3.6
+ resolution: "nanoid@npm:3.3.6"
+ bin:
+ nanoid: bin/nanoid.cjs
+ checksum: 7d0eda657002738aa5206107bd0580aead6c95c460ef1bdd0b1a87a9c7ae6277ac2e9b945306aaa5b32c6dcb7feaf462d0f552e7f8b5718abfc6ead5c94a71b3
+ languageName: node
+ linkType: hard
+
"nanomatch@npm:^1.2.9":
version: 1.2.13
resolution: "nanomatch@npm:1.2.13"
@@ -15270,19 +15255,19 @@ __metadata:
linkType: hard
"openmrs@npm:next":
- version: 4.2.1-pre.619
- resolution: "openmrs@npm:4.2.1-pre.619"
+ version: 5.0.2-pre.818
+ resolution: "openmrs@npm:5.0.2-pre.818"
dependencies:
- "@openmrs/esm-app-shell": 4.2.1-pre.619
- "@openmrs/webpack-config": 4.2.1-pre.619
+ "@openmrs/esm-app-shell": 5.0.2-pre.818
+ "@openmrs/webpack-config": 5.0.2-pre.818
"@pnpm/npm-conf": ^2.1.0
+ "@swc-node/loader": ^1.3.5
autoprefixer: ^10.4.2
axios: ^0.21.1
browserslist-config-openmrs: ^1.0.1
- copy-webpack-plugin: ^10.0.0
+ copy-webpack-plugin: ^11.0.0
cssnano: ^5.0.16
ejs: ^3.1.8
- esbuild-loader: ^2.20.0
glob: ^7.1.3
html-webpack-plugin: ^5.5.0
inquirer: ^7.3.3
@@ -15293,8 +15278,8 @@ __metadata:
postcss-loader: ^6.2.1
rimraf: ^3.0.2
tar: ^6.0.5
- typescript: ~4.5.2
- webpack: ^5.74.0
+ typescript: ^4.6.4
+ webpack: ^5.88.0
webpack-cli: ^4.10.0
webpack-dev-server: ^4.10.1
webpack-pwa-manifest: ^4.3.0
@@ -15302,7 +15287,7 @@ __metadata:
yargs: ^17.6.2
bin:
openmrs: dist/cli.js
- checksum: 0c20f6fd014dc62fa452a3b207fc7c79eeee398585fc40d9cf80e7421f7a86c9048a1623aacb087490a7fc0c194a512fe196905d2714aefa11adabf085ba9888
+ checksum: 7559eece07650a507e646765b2d8c0331a29977525c367326fad9dcc1d33232a62bb2ba0a62e33ab3501eaca3d3ab0c5f8e2077ca27943ce3b52bd7c7609627e
languageName: node
linkType: hard
@@ -15911,7 +15896,7 @@ __metadata:
languageName: node
linkType: hard
-"pirates@npm:^4.0.4":
+"pirates@npm:^4.0.4, pirates@npm:^4.0.5":
version: 4.0.5
resolution: "pirates@npm:4.0.5"
checksum: c9994e61b85260bec6c4fc0307016340d9b0c4f4b6550a957afaaff0c9b1ad58fbbea5cfcf083860a25cb27a375442e2b0edf52e2e1e40e69934e08dcc52d227
@@ -16152,6 +16137,19 @@ __metadata:
languageName: node
linkType: hard
+"postcss-modules-local-by-default@npm:^4.0.3":
+ version: 4.0.3
+ resolution: "postcss-modules-local-by-default@npm:4.0.3"
+ dependencies:
+ icss-utils: ^5.0.0
+ postcss-selector-parser: ^6.0.2
+ postcss-value-parser: ^4.1.0
+ peerDependencies:
+ postcss: ^8.1.0
+ checksum: 2f8083687f3d6067885f8863dd32dbbb4f779cfcc7e52c17abede9311d84faf6d3ed8760e7c54c6380281732ae1f78e5e56a28baf3c271b33f450a11c9e30485
+ languageName: node
+ linkType: hard
+
"postcss-modules-scope@npm:^3.0.0":
version: 3.0.0
resolution: "postcss-modules-scope@npm:3.0.0"
@@ -16359,6 +16357,17 @@ __metadata:
languageName: node
linkType: hard
+"postcss@npm:^8.4.21":
+ version: 8.4.24
+ resolution: "postcss@npm:8.4.24"
+ dependencies:
+ nanoid: ^3.3.6
+ picocolors: ^1.0.0
+ source-map-js: ^1.0.2
+ checksum: 814e2126dacfea313588eda09cc99a9b4c26ec55c059188aa7a916d20d26d483483106dc5ff9e560731b59f45c5bb91b945dfadc670aed875cc90ddbbf4e787d
+ languageName: node
+ linkType: hard
+
"prelude-ls@npm:^1.2.1":
version: 1.2.1
resolution: "prelude-ls@npm:1.2.1"
@@ -17719,7 +17728,7 @@ __metadata:
languageName: node
linkType: hard
-"schema-utils@npm:^3.0.0, schema-utils@npm:^3.1.0, schema-utils@npm:^3.1.1":
+"schema-utils@npm:^3.0.0, schema-utils@npm:^3.1.1":
version: 3.1.1
resolution: "schema-utils@npm:3.1.1"
dependencies:
@@ -17730,6 +17739,28 @@ __metadata:
languageName: node
linkType: hard
+"schema-utils@npm:^3.1.2":
+ version: 3.2.0
+ resolution: "schema-utils@npm:3.2.0"
+ dependencies:
+ "@types/json-schema": ^7.0.8
+ ajv: ^6.12.5
+ ajv-keywords: ^3.5.2
+ checksum: e8c590c525a58e135658dbe614c60e4821f98eb4c257c962ad61f72ad1e48b23148c7edd9295dbd5f9fc525ff8c6f448af0a932871fe9c9e1f523d1dbef917c8
+ languageName: node
+ linkType: hard
+
+"schema-utils@npm:^3.2.0":
+ version: 3.3.0
+ resolution: "schema-utils@npm:3.3.0"
+ dependencies:
+ "@types/json-schema": ^7.0.8
+ ajv: ^6.12.5
+ ajv-keywords: ^3.5.2
+ checksum: ea56971926fac2487f0757da939a871388891bc87c6a82220d125d587b388f1704788f3706e7f63a7b70e49fc2db974c41343528caea60444afd5ce0fe4b85c0
+ languageName: node
+ linkType: hard
+
"schema-utils@npm:^4.0.0":
version: 4.0.0
resolution: "schema-utils@npm:4.0.0"
@@ -17796,6 +17827,17 @@ __metadata:
languageName: node
linkType: hard
+"semver@npm:^7.3.8":
+ version: 7.5.3
+ resolution: "semver@npm:7.5.3"
+ dependencies:
+ lru-cache: ^6.0.0
+ bin:
+ semver: bin/semver.js
+ checksum: 9d58db16525e9f749ad0a696a1f27deabaa51f66e91d2fa2b0db3de3e9644e8677de3b7d7a03f4c15bc81521e0c3916d7369e0572dbde250d9bedf5194e2a8a7
+ languageName: node
+ linkType: hard
+
"send@npm:0.18.0":
version: 0.18.0
resolution: "send@npm:0.18.0"
@@ -17835,6 +17877,15 @@ __metadata:
languageName: node
linkType: hard
+"serialize-javascript@npm:^6.0.1":
+ version: 6.0.1
+ resolution: "serialize-javascript@npm:6.0.1"
+ dependencies:
+ randombytes: ^2.1.0
+ checksum: 3c4f4cb61d0893b988415bdb67243637333f3f574e9e9cc9a006a2ced0b390b0b3b44aef8d51c951272a9002ec50885eefdc0298891bc27eb2fe7510ea87dc4f
+ languageName: node
+ linkType: hard
+
"serve-index@npm:^1.9.1":
version: 1.9.1
resolution: "serve-index@npm:1.9.1"
@@ -17974,9 +18025,9 @@ __metadata:
languageName: node
linkType: hard
-"single-spa-react@npm:^5.0.0":
- version: 5.0.0
- resolution: "single-spa-react@npm:5.0.0"
+"single-spa-react@npm:~5.0.0":
+ version: 5.0.2
+ resolution: "single-spa-react@npm:5.0.2"
dependencies:
browserslist-config-single-spa: ^1.0.1
peerDependencies:
@@ -17988,7 +18039,7 @@ __metadata:
optional: true
"@types/react-dom":
optional: true
- checksum: 6b3d0c69720eaef494964f36a5c41fc601d80fcb1fead87bd73c9a7c2db53155ac70111626eec7d75260452f2a867c9139c88269900a2e5cb718264db4863ec7
+ checksum: 3c2503384ab27aed7e4f9f5c6a40cf5aae120cae1749244aba12647159354c143ac03669bfc41a43533077c874866b7042dad9463abe253da198da3f200d8fe1
languageName: node
linkType: hard
@@ -18197,7 +18248,7 @@ __metadata:
languageName: node
linkType: hard
-"source-map-support@npm:~0.5.20":
+"source-map-support@npm:^0.5.21, source-map-support@npm:~0.5.20":
version: 0.5.21
resolution: "source-map-support@npm:0.5.21"
dependencies:
@@ -18828,16 +18879,6 @@ __metadata:
languageName: node
linkType: hard
-"swc-loader@npm:^0.1.15":
- version: 0.1.16
- resolution: "swc-loader@npm:0.1.16"
- peerDependencies:
- "@swc/core": ^1.2.147
- webpack: ">=2"
- checksum: 168ddd62105a74884f8bc1dbecc913d8c542a55baeb484c22590dfe5f89f081dbdd4012ad8d04fb3b0c230729babee25b82a71208e573874b4156a074ab7d3d2
- languageName: node
- linkType: hard
-
"swr@npm:^2.0.1":
version: 2.0.1
resolution: "swr@npm:2.0.1"
@@ -18870,15 +18911,6 @@ __metadata:
languageName: node
linkType: hard
-"systemjs-webpack-interop@npm:^2.3.7":
- version: 2.3.7
- resolution: "systemjs-webpack-interop@npm:2.3.7"
- peerDependencies:
- webpack: "*"
- checksum: 6a294aa45281b208a43a2e8e358a58e1f37605c322c40180d5cc3bd7a283d4b5c310110274f8b2e96e6d8bf081a101bda6301f962669a1b0722bbd9043ce6933
- languageName: node
- linkType: hard
-
"systemjs@npm:^6.8.3":
version: 6.13.0
resolution: "systemjs@npm:6.13.0"
@@ -18992,15 +19024,15 @@ __metadata:
languageName: node
linkType: hard
-"terser-webpack-plugin@npm:^5.1.3":
- version: 5.3.6
- resolution: "terser-webpack-plugin@npm:5.3.6"
+"terser-webpack-plugin@npm:^5.3.7":
+ version: 5.3.9
+ resolution: "terser-webpack-plugin@npm:5.3.9"
dependencies:
- "@jridgewell/trace-mapping": ^0.3.14
+ "@jridgewell/trace-mapping": ^0.3.17
jest-worker: ^27.4.5
schema-utils: ^3.1.1
- serialize-javascript: ^6.0.0
- terser: ^5.14.1
+ serialize-javascript: ^6.0.1
+ terser: ^5.16.8
peerDependencies:
webpack: ^5.1.0
peerDependenciesMeta:
@@ -19010,11 +19042,11 @@ __metadata:
optional: true
uglify-js:
optional: true
- checksum: 8f3448d7fdb0434ce6a0c09d95c462bfd2f4a5a430233d854163337f734a7f5c07c74513d16081e06d4ca33d366d5b1a36f5444219bc41a7403afd6162107bad
+ checksum: 41705713d6f9cb83287936b21e27c658891c78c4392159f5148b5623f0e8c48559869779619b058382a4c9758e7820ea034695e57dc7c474b4962b79f553bc5f
languageName: node
linkType: hard
-"terser@npm:^5.0.0, terser@npm:^5.10.0, terser@npm:^5.14.1":
+"terser@npm:^5.0.0, terser@npm:^5.10.0":
version: 5.15.1
resolution: "terser@npm:5.15.1"
dependencies:
@@ -19028,6 +19060,20 @@ __metadata:
languageName: node
linkType: hard
+"terser@npm:^5.16.8":
+ version: 5.18.0
+ resolution: "terser@npm:5.18.0"
+ dependencies:
+ "@jridgewell/source-map": ^0.3.3
+ acorn: ^8.8.2
+ commander: ^2.20.0
+ source-map-support: ~0.5.20
+ bin:
+ terser: bin/terser
+ checksum: d01eb9805a978b3338b68fd2d9e35c1cd4cad78ea093dc92c7b3c38965232f0af0f95e0c6d90920ecf600a74135c608aebae26302c036c01393a590e1918bb90
+ languageName: node
+ linkType: hard
+
"test-exclude@npm:^6.0.0":
version: 6.0.0
resolution: "test-exclude@npm:6.0.0"
@@ -19346,6 +19392,13 @@ __metadata:
languageName: node
linkType: hard
+"tslib@npm:^2.5.0":
+ version: 2.5.2
+ resolution: "tslib@npm:2.5.2"
+ checksum: 4d3c1e238b94127ed0e88aa0380db3c2ddae581dc0f4bae5a982345e9f50ee5eda90835b8bfba99b02df10a5734470be197158c36f9129ac49fdc14a6a9da222
+ languageName: node
+ linkType: hard
+
"tsutils@npm:^3.21.0":
version: 3.21.0
resolution: "tsutils@npm:3.21.0"
@@ -19552,43 +19605,23 @@ __metadata:
languageName: node
linkType: hard
-"typescript@npm:^4.0.3, typescript@npm:^4.2.4":
- version: 4.8.4
- resolution: "typescript@npm:4.8.4"
- bin:
- tsc: bin/tsc
- tsserver: bin/tsserver
- checksum: 3e4f061658e0c8f36c820802fa809e0fd812b85687a9a2f5430bc3d0368e37d1c9605c3ce9b39df9a05af2ece67b1d844f9f6ea8ff42819f13bcb80f85629af0
- languageName: node
- linkType: hard
-
-"typescript@npm:~4.5.2":
- version: 4.5.5
- resolution: "typescript@npm:4.5.5"
- bin:
- tsc: bin/tsc
- tsserver: bin/tsserver
- checksum: 506f4c919dc8aeaafa92068c997f1d213b9df4d9756d0fae1a1e7ab66b585ab3498050e236113a1c9e57ee08c21ec6814ca7a7f61378c058d79af50a4b1f5a5e
- languageName: node
- linkType: hard
-
-"typescript@patch:typescript@^4.0.3#~builtin, typescript@patch:typescript@^4.2.4#~builtin":
- version: 4.8.4
- resolution: "typescript@patch:typescript@npm%3A4.8.4#~builtin::version=4.8.4&hash=1a91c8"
+"typescript@npm:^4.0.3, typescript@npm:^4.2.4, typescript@npm:^4.6.4":
+ version: 4.9.5
+ resolution: "typescript@npm:4.9.5"
bin:
tsc: bin/tsc
tsserver: bin/tsserver
- checksum: c981e82b77a5acdcc4e69af9c56cdecf5b934a87a08e7b52120596701e389a878b8e3f860e73ffb287bf649cc47a8c741262ce058148f71de4cdd88bb9c75153
+ checksum: ee000bc26848147ad423b581bd250075662a354d84f0e06eb76d3b892328d8d4440b7487b5a83e851b12b255f55d71835b008a66cbf8f255a11e4400159237db
languageName: node
linkType: hard
-"typescript@patch:typescript@~4.5.2#~builtin":
- version: 4.5.5
- resolution: "typescript@patch:typescript@npm%3A4.5.5#~builtin::version=4.5.5&hash=bcec9a"
+"typescript@patch:typescript@^4.0.3#~builtin, typescript@patch:typescript@^4.2.4#~builtin, typescript@patch:typescript@^4.6.4#~builtin":
+ version: 4.9.5
+ resolution: "typescript@patch:typescript@npm%3A4.9.5#~builtin::version=4.9.5&hash=289587"
bin:
tsc: bin/tsc
tsserver: bin/tsserver
- checksum: 858c61fa63f7274ca4aaaffeced854d550bf416cff6e558c4884041b3311fb662f476f167cf5c9f8680c607239797e26a2ee0bcc6467fbc05bfcb218e1c6c671
+ checksum: 1f8f3b6aaea19f0f67cba79057674ba580438a7db55057eb89cc06950483c5d632115c14077f6663ea76fd09fce3c190e6414bb98582ec80aa5a4eaf345d5b68
languageName: node
linkType: hard
@@ -19760,18 +19793,6 @@ __metadata:
languageName: node
linkType: hard
-"unistore@npm:^3.5.2":
- version: 3.5.2
- resolution: "unistore@npm:3.5.2"
- peerDependenciesMeta:
- preact:
- optional: true
- react:
- optional: true
- checksum: 0f7b3301190c7ebe2e5e0b3529f140b28e1de84518285169ee7b54b3e86defee64e9f3a652b59f07aefe5aa1b7d8282474ba342ff491e3ff9023aeb085f50339
- languageName: node
- linkType: hard
-
"universal-user-agent@npm:^4.0.0":
version: 4.0.1
resolution: "universal-user-agent@npm:4.0.1"
@@ -19885,7 +19906,7 @@ __metadata:
languageName: node
linkType: hard
-"use-sync-external-store@npm:^1.2.0":
+"use-sync-external-store@npm:1.2.0, use-sync-external-store@npm:^1.2.0":
version: 1.2.0
resolution: "use-sync-external-store@npm:1.2.0"
peerDependencies:
@@ -19958,6 +19979,15 @@ __metadata:
languageName: node
linkType: hard
+"uuid@npm:^9.0.0":
+ version: 9.0.0
+ resolution: "uuid@npm:9.0.0"
+ bin:
+ uuid: dist/bin/uuid
+ checksum: 8dd2c83c43ddc7e1c71e36b60aea40030a6505139af6bee0f382ebcd1a56f6cd3028f7f06ffb07f8cf6ced320b76aea275284b224b002b289f89fe89c389b028
+ languageName: node
+ linkType: hard
+
"v8-compile-cache@npm:^2.0.3":
version: 2.3.0
resolution: "v8-compile-cache@npm:2.3.0"
@@ -20368,20 +20398,57 @@ __metadata:
linkType: hard
"webpack@npm:^5.74.0":
- version: 5.74.0
- resolution: "webpack@npm:5.74.0"
+ version: 5.86.0
+ resolution: "webpack@npm:5.86.0"
+ dependencies:
+ "@types/eslint-scope": ^3.7.3
+ "@types/estree": ^1.0.0
+ "@webassemblyjs/ast": ^1.11.5
+ "@webassemblyjs/wasm-edit": ^1.11.5
+ "@webassemblyjs/wasm-parser": ^1.11.5
+ acorn: ^8.7.1
+ acorn-import-assertions: ^1.9.0
+ browserslist: ^4.14.5
+ chrome-trace-event: ^1.0.2
+ enhanced-resolve: ^5.14.1
+ es-module-lexer: ^1.2.1
+ eslint-scope: 5.1.1
+ events: ^3.2.0
+ glob-to-regexp: ^0.4.1
+ graceful-fs: ^4.2.9
+ json-parse-even-better-errors: ^2.3.1
+ loader-runner: ^4.2.0
+ mime-types: ^2.1.27
+ neo-async: ^2.6.2
+ schema-utils: ^3.1.2
+ tapable: ^2.1.1
+ terser-webpack-plugin: ^5.3.7
+ watchpack: ^2.4.0
+ webpack-sources: ^3.2.3
+ peerDependenciesMeta:
+ webpack-cli:
+ optional: true
+ bin:
+ webpack: bin/webpack.js
+ checksum: 682b1aa8328bb9d52ae66a1d0a1078af88f9e3b3b3a9c9e1ce203e669581a8e61d522420ef253130eacd510d24d7275b840c1311d50bd048d6fd7c1af186ce55
+ languageName: node
+ linkType: hard
+
+"webpack@npm:^5.88.0":
+ version: 5.88.0
+ resolution: "webpack@npm:5.88.0"
dependencies:
"@types/eslint-scope": ^3.7.3
- "@types/estree": ^0.0.51
- "@webassemblyjs/ast": 1.11.1
- "@webassemblyjs/wasm-edit": 1.11.1
- "@webassemblyjs/wasm-parser": 1.11.1
+ "@types/estree": ^1.0.0
+ "@webassemblyjs/ast": ^1.11.5
+ "@webassemblyjs/wasm-edit": ^1.11.5
+ "@webassemblyjs/wasm-parser": ^1.11.5
acorn: ^8.7.1
- acorn-import-assertions: ^1.7.6
+ acorn-import-assertions: ^1.9.0
browserslist: ^4.14.5
chrome-trace-event: ^1.0.2
- enhanced-resolve: ^5.10.0
- es-module-lexer: ^0.9.0
+ enhanced-resolve: ^5.15.0
+ es-module-lexer: ^1.2.1
eslint-scope: 5.1.1
events: ^3.2.0
glob-to-regexp: ^0.4.1
@@ -20390,9 +20457,9 @@ __metadata:
loader-runner: ^4.2.0
mime-types: ^2.1.27
neo-async: ^2.6.2
- schema-utils: ^3.1.0
+ schema-utils: ^3.2.0
tapable: ^2.1.1
- terser-webpack-plugin: ^5.1.3
+ terser-webpack-plugin: ^5.3.7
watchpack: ^2.4.0
webpack-sources: ^3.2.3
peerDependenciesMeta:
@@ -20400,7 +20467,7 @@ __metadata:
optional: true
bin:
webpack: bin/webpack.js
- checksum: 320c41369a75051b19e18c63f408b3dcc481852e992f83d311771c5ec0f05f2946385e8ebef62030cf3587f0a3d2f12779ffdb191569a966847289ba7313f946
+ checksum: 9fd1568b34ec2e99ba97c8509a15ab2576ec80c396e7015551ec814b24cfc11de173acba3e114dafe95f1a6d460781b09d6201e6a1fb15110e1d01a09f61a283
languageName: node
linkType: hard
@@ -20635,6 +20702,16 @@ __metadata:
languageName: node
linkType: hard
+"workbox-background-sync@npm:6.6.0":
+ version: 6.6.0
+ resolution: "workbox-background-sync@npm:6.6.0"
+ dependencies:
+ idb: ^7.0.1
+ workbox-core: 6.6.0
+ checksum: ac2990110643aef62ca0be54e962296de7b09593b0262bd09fe4893978a42fa1f256c6d989ed472a31ae500b2255b80c6678530a6024eafb0b2f3a93a3c94a5f
+ languageName: node
+ linkType: hard
+
"workbox-broadcast-update@npm:6.5.4":
version: 6.5.4
resolution: "workbox-broadcast-update@npm:6.5.4"
@@ -20644,6 +20721,15 @@ __metadata:
languageName: node
linkType: hard
+"workbox-broadcast-update@npm:6.6.0":
+ version: 6.6.0
+ resolution: "workbox-broadcast-update@npm:6.6.0"
+ dependencies:
+ workbox-core: 6.6.0
+ checksum: 46a74b3b703244eb363e1731a2d6fe1fb2cd9b82d454733dfc6941fd35b76a852685f56db92408383ac50d564c2fd4282f0c6c4db60ba9beb5f311ea8f944dc7
+ languageName: node
+ linkType: hard
+
"workbox-build@npm:6.5.4":
version: 6.5.4
resolution: "workbox-build@npm:6.5.4"
@@ -20689,6 +20775,51 @@ __metadata:
languageName: node
linkType: hard
+"workbox-build@npm:6.6.0":
+ version: 6.6.0
+ resolution: "workbox-build@npm:6.6.0"
+ dependencies:
+ "@apideck/better-ajv-errors": ^0.3.1
+ "@babel/core": ^7.11.1
+ "@babel/preset-env": ^7.11.0
+ "@babel/runtime": ^7.11.2
+ "@rollup/plugin-babel": ^5.2.0
+ "@rollup/plugin-node-resolve": ^11.2.1
+ "@rollup/plugin-replace": ^2.4.1
+ "@surma/rollup-plugin-off-main-thread": ^2.2.3
+ ajv: ^8.6.0
+ common-tags: ^1.8.0
+ fast-json-stable-stringify: ^2.1.0
+ fs-extra: ^9.0.1
+ glob: ^7.1.6
+ lodash: ^4.17.20
+ pretty-bytes: ^5.3.0
+ rollup: ^2.43.1
+ rollup-plugin-terser: ^7.0.0
+ source-map: ^0.8.0-beta.0
+ stringify-object: ^3.3.0
+ strip-comments: ^2.0.1
+ tempy: ^0.6.0
+ upath: ^1.2.0
+ workbox-background-sync: 6.6.0
+ workbox-broadcast-update: 6.6.0
+ workbox-cacheable-response: 6.6.0
+ workbox-core: 6.6.0
+ workbox-expiration: 6.6.0
+ workbox-google-analytics: 6.6.0
+ workbox-navigation-preload: 6.6.0
+ workbox-precaching: 6.6.0
+ workbox-range-requests: 6.6.0
+ workbox-recipes: 6.6.0
+ workbox-routing: 6.6.0
+ workbox-strategies: 6.6.0
+ workbox-streams: 6.6.0
+ workbox-sw: 6.6.0
+ workbox-window: 6.6.0
+ checksum: cd1a6c413659c2fd66f4438012f65b211cc748bb594c79bf0d9a60de0cefff3f8a4a23ab06f32c62064c37397ffffc1b77d3328658b7556ea7ff88e57f6ee4fd
+ languageName: node
+ linkType: hard
+
"workbox-cacheable-response@npm:6.5.4":
version: 6.5.4
resolution: "workbox-cacheable-response@npm:6.5.4"
@@ -20698,6 +20829,15 @@ __metadata:
languageName: node
linkType: hard
+"workbox-cacheable-response@npm:6.6.0":
+ version: 6.6.0
+ resolution: "workbox-cacheable-response@npm:6.6.0"
+ dependencies:
+ workbox-core: 6.6.0
+ checksum: 9e4e00c53679fd2020874cbdf54bb17560fd12353120ea08ca6213e5a11bf08139072616d79f5f8ab80d09f00efde94b003fe9bf5b6e23815be30d7aca760835
+ languageName: node
+ linkType: hard
+
"workbox-core@npm:6.5.4, workbox-core@npm:^6.1.5":
version: 6.5.4
resolution: "workbox-core@npm:6.5.4"
@@ -20705,6 +20845,13 @@ __metadata:
languageName: node
linkType: hard
+"workbox-core@npm:6.6.0":
+ version: 6.6.0
+ resolution: "workbox-core@npm:6.6.0"
+ checksum: 7d773a866b73a733780c52b895f9cf7bec926c9187395c307174deefba9a0a2fcd1edce0d1ca12b8a6c95ca9cf7755ccc1885b03bc82ebcfc4843e015bd84d7b
+ languageName: node
+ linkType: hard
+
"workbox-expiration@npm:6.5.4":
version: 6.5.4
resolution: "workbox-expiration@npm:6.5.4"
@@ -20715,6 +20862,16 @@ __metadata:
languageName: node
linkType: hard
+"workbox-expiration@npm:6.6.0":
+ version: 6.6.0
+ resolution: "workbox-expiration@npm:6.6.0"
+ dependencies:
+ idb: ^7.0.1
+ workbox-core: 6.6.0
+ checksum: b100b9c512754bc3e1a9c7c7d20d215d72c601a7b956333ca7753704a771a9f00e1732e9b774da4549bae390dd3cd138c6392f6a25fd67f7dcd84f89b0df7e9c
+ languageName: node
+ linkType: hard
+
"workbox-google-analytics@npm:6.5.4":
version: 6.5.4
resolution: "workbox-google-analytics@npm:6.5.4"
@@ -20727,6 +20884,18 @@ __metadata:
languageName: node
linkType: hard
+"workbox-google-analytics@npm:6.6.0":
+ version: 6.6.0
+ resolution: "workbox-google-analytics@npm:6.6.0"
+ dependencies:
+ workbox-background-sync: 6.6.0
+ workbox-core: 6.6.0
+ workbox-routing: 6.6.0
+ workbox-strategies: 6.6.0
+ checksum: 7b287da7517ae416aae8ea1494830bb517a29ab9786b2a8b8bf98971377b83715070e784399065ab101d4bba381ab0abbb8bd0962b3010bc01f54fdafb0b6702
+ languageName: node
+ linkType: hard
+
"workbox-navigation-preload@npm:6.5.4":
version: 6.5.4
resolution: "workbox-navigation-preload@npm:6.5.4"
@@ -20736,6 +20905,15 @@ __metadata:
languageName: node
linkType: hard
+"workbox-navigation-preload@npm:6.6.0":
+ version: 6.6.0
+ resolution: "workbox-navigation-preload@npm:6.6.0"
+ dependencies:
+ workbox-core: 6.6.0
+ checksum: d254465648e45ec6b6d7c3471354336501901d3872622ea9ba1aa1f935d4d52941d0f92fa6c06e7363e10dbac4874d5d4bff7d99cbe094925046f562a37e88cc
+ languageName: node
+ linkType: hard
+
"workbox-precaching@npm:6.5.4":
version: 6.5.4
resolution: "workbox-precaching@npm:6.5.4"
@@ -20747,6 +20925,17 @@ __metadata:
languageName: node
linkType: hard
+"workbox-precaching@npm:6.6.0":
+ version: 6.6.0
+ resolution: "workbox-precaching@npm:6.6.0"
+ dependencies:
+ workbox-core: 6.6.0
+ workbox-routing: 6.6.0
+ workbox-strategies: 6.6.0
+ checksum: 62e5ee2e40568a56d4131bba461623579f56b9bd273aa7d2805e43151057f413c2ef32fb3d007aff0a5ac3ad84d5feae87408284249a487a5d51c3775c46c816
+ languageName: node
+ linkType: hard
+
"workbox-range-requests@npm:6.5.4":
version: 6.5.4
resolution: "workbox-range-requests@npm:6.5.4"
@@ -20756,6 +20945,15 @@ __metadata:
languageName: node
linkType: hard
+"workbox-range-requests@npm:6.6.0":
+ version: 6.6.0
+ resolution: "workbox-range-requests@npm:6.6.0"
+ dependencies:
+ workbox-core: 6.6.0
+ checksum: a55d1a364b2155548695dc8f6f85baade196d7d1bec980bcdbda80236803b14167995a81b944cffe932a94c4d556466773121afe3661a6f0a13403cbe96d8d9f
+ languageName: node
+ linkType: hard
+
"workbox-recipes@npm:6.5.4":
version: 6.5.4
resolution: "workbox-recipes@npm:6.5.4"
@@ -20770,6 +20968,20 @@ __metadata:
languageName: node
linkType: hard
+"workbox-recipes@npm:6.6.0":
+ version: 6.6.0
+ resolution: "workbox-recipes@npm:6.6.0"
+ dependencies:
+ workbox-cacheable-response: 6.6.0
+ workbox-core: 6.6.0
+ workbox-expiration: 6.6.0
+ workbox-precaching: 6.6.0
+ workbox-routing: 6.6.0
+ workbox-strategies: 6.6.0
+ checksum: f2ecf38502260703e4b0dcef67e3ac26d615f2c90f6d863ca7308db52454f67934ba842fd577ee807d9f510f1a277fd66af7caf57d39e50a181d05dbb3e550a7
+ languageName: node
+ linkType: hard
+
"workbox-routing@npm:6.5.4, workbox-routing@npm:^6.1.5":
version: 6.5.4
resolution: "workbox-routing@npm:6.5.4"
@@ -20779,6 +20991,15 @@ __metadata:
languageName: node
linkType: hard
+"workbox-routing@npm:6.6.0":
+ version: 6.6.0
+ resolution: "workbox-routing@npm:6.6.0"
+ dependencies:
+ workbox-core: 6.6.0
+ checksum: 7a70b836196eb67332d33a94c0b57859781fe869e81a9c95452d3f4f368d3199f8c3da632dbc10425fde902a1930cf8cfd83f6434ad2b586904ce68cd9f35c6d
+ languageName: node
+ linkType: hard
+
"workbox-strategies@npm:6.5.4, workbox-strategies@npm:^6.1.5":
version: 6.5.4
resolution: "workbox-strategies@npm:6.5.4"
@@ -20788,6 +21009,15 @@ __metadata:
languageName: node
linkType: hard
+"workbox-strategies@npm:6.6.0":
+ version: 6.6.0
+ resolution: "workbox-strategies@npm:6.6.0"
+ dependencies:
+ workbox-core: 6.6.0
+ checksum: 236232a77fb4a4847d1e9ae6c7c9bd9c6b9449209baab9d8d90f78240326a9c0f69551b408ebf9e76610d86da15563bf27439b7e885a7bac01dfd08047c0dd7b
+ languageName: node
+ linkType: hard
+
"workbox-streams@npm:6.5.4":
version: 6.5.4
resolution: "workbox-streams@npm:6.5.4"
@@ -20798,6 +21028,16 @@ __metadata:
languageName: node
linkType: hard
+"workbox-streams@npm:6.6.0":
+ version: 6.6.0
+ resolution: "workbox-streams@npm:6.6.0"
+ dependencies:
+ workbox-core: 6.6.0
+ workbox-routing: 6.6.0
+ checksum: 64a295e48e44e3fa4743b5baec646fc9117428e7592033475e38c461e45c294910712f322c32417d354b22999902ef8035119e070e61e159e531d878d991fc33
+ languageName: node
+ linkType: hard
+
"workbox-sw@npm:6.5.4":
version: 6.5.4
resolution: "workbox-sw@npm:6.5.4"
@@ -20805,6 +21045,28 @@ __metadata:
languageName: node
linkType: hard
+"workbox-sw@npm:6.6.0":
+ version: 6.6.0
+ resolution: "workbox-sw@npm:6.6.0"
+ checksum: bb5f8695de02f89c7955465dcbd568299915565008dc8a068c5d19c1347f75d417640b9f61590e16b169b703e77d02f8b1e10c4b241f74f43cfe76175bfa5fed
+ languageName: node
+ linkType: hard
+
+"workbox-webpack-plugin@npm:^6.1.5":
+ version: 6.6.0
+ resolution: "workbox-webpack-plugin@npm:6.6.0"
+ dependencies:
+ fast-json-stable-stringify: ^2.1.0
+ pretty-bytes: ^5.4.1
+ upath: ^1.2.0
+ webpack-sources: ^1.4.3
+ workbox-build: 6.6.0
+ peerDependencies:
+ webpack: ^4.4.0 || ^5.9.0
+ checksum: b8e04a342f2d45086f28ae56e4806d74dd153c3b750855533a55954f4e85752113e76a6d79a32206eb697a342725897834c9e7976894374d8698cd950477d37a
+ languageName: node
+ linkType: hard
+
"workbox-webpack-plugin@npm:^6.4.1":
version: 6.5.4
resolution: "workbox-webpack-plugin@npm:6.5.4"
@@ -20830,6 +21092,16 @@ __metadata:
languageName: node
linkType: hard
+"workbox-window@npm:6.6.0":
+ version: 6.6.0
+ resolution: "workbox-window@npm:6.6.0"
+ dependencies:
+ "@types/trusted-types": ^2.0.2
+ workbox-core: 6.6.0
+ checksum: bb1dd031c1525317ceffbdc3e4f502a70dce461fd6355146e1050c1090f3c640bf65edf42a5d2a3b91b4d0c313df32c1405d88bf701d44c0e3ebc492cd77fe14
+ languageName: node
+ linkType: hard
+
"wrap-ansi@npm:^5.1.0":
version: 5.1.0
resolution: "wrap-ansi@npm:5.1.0"
@@ -21194,3 +21466,20 @@ __metadata:
checksum: 43a16786b47cc910fed4891cebdd89df6d6e31702e9462e8f969c73eac88551ce750732608012201ea6b93802c8847cb0aa27b5d57370640f4ecf30f9f97d4b0
languageName: node
linkType: hard
+
+"zustand@npm:^4.3.6":
+ version: 4.3.8
+ resolution: "zustand@npm:4.3.8"
+ dependencies:
+ use-sync-external-store: 1.2.0
+ peerDependencies:
+ immer: ">=9.0"
+ react: ">=16.8"
+ peerDependenciesMeta:
+ immer:
+ optional: true
+ react:
+ optional: true
+ checksum: 24db6bf063ce1fc8b2ee238f13211a88f43236541a716e5f6f706f613c671a45332465f9ed06d694f8c353da3d24c53ea668e5712a86aceda9ad74f6c433e8c0
+ languageName: node
+ linkType: hard
From 3962249756a6e02bfe08951d9ffc116b2738bc42 Mon Sep 17 00:00:00 2001
From: Ian <52504170+ibacher@users.noreply.github.com>
Date: Fri, 23 Jun 2023 15:58:09 -0400
Subject: [PATCH 09/17] (fix) Exports should reference the result of getSync /
getAsync (#736)
---
packages/esm-active-visits-app/src/index.ts | 21 ++---------
packages/esm-appointments-app/src/index.ts | 12 ++++---
packages/esm-patient-list-app/src/index.ts | 39 ++++++++++-----------
3 files changed, 28 insertions(+), 44 deletions(-)
diff --git a/packages/esm-active-visits-app/src/index.ts b/packages/esm-active-visits-app/src/index.ts
index 77836daa4..fe63dcd45 100644
--- a/packages/esm-active-visits-app/src/index.ts
+++ b/packages/esm-active-visits-app/src/index.ts
@@ -12,25 +12,8 @@ export const importTranslation = require.context('../translations', false, /.jso
export function startupApp() {
defineConfigSchema(moduleName, configSchema);
-
- return {
- extensions: [
- {
- name: 'active-visits-widget',
- slot: 'homepage-widgets-slot',
- order: 0,
- load: getAsyncLifecycle(() => import('./active-visits-widget/active-visits.component'), options),
- },
- {
- id: 'visit-summary-widget',
- slot: 'visit-summary-slot',
- load: getAsyncLifecycle(() => import('./visits-summary/visit-detail.component'), options),
- },
- ],
- };
}
-export const activeVisits = () =>
- getAsyncLifecycle(() => import('./active-visits-widget/active-visits.component'), options);
+export const activeVisits = getAsyncLifecycle(() => import('./active-visits-widget/active-visits.component'), options);
-export const visitDetail = () => getAsyncLifecycle(() => import('./visits-summary/visit-detail.component'), options);
+export const visitDetail = getAsyncLifecycle(() => import('./visits-summary/visit-detail.component'), options);
diff --git a/packages/esm-appointments-app/src/index.ts b/packages/esm-appointments-app/src/index.ts
index 4d22917b4..a16852827 100644
--- a/packages/esm-appointments-app/src/index.ts
+++ b/packages/esm-appointments-app/src/index.ts
@@ -31,14 +31,16 @@ export function startupApp() {
]);
}
-export const appointmentsDashboardLink = () => getSyncLifecycle(createDashboardLink(dashboardMeta), options);
+export const appointmentsDashboardLink = getSyncLifecycle(createDashboardLink(dashboardMeta), options);
export const appointmentsCalendarDashboardLink = () =>
getSyncLifecycle(createDashboardLink(appointmentCalendarDashboardMeta), options);
-export const appointmentsDashboard = () => getAsyncLifecycle(() => import('./appointments.component'), options);
+export const appointmentsDashboard = getAsyncLifecycle(() => import('./appointments.component'), options);
-export const checkInModal = () =>
- getAsyncLifecycle(() => import('./home-appointments/check-in-modal/check-in-modal.component'), options);
+export const checkInModal = getAsyncLifecycle(
+ () => import('./home-appointments/check-in-modal/check-in-modal.component'),
+ options,
+);
-export const homeAppointments = () => getAsyncLifecycle(() => import('./home-appointments'), options);
+export const homeAppointments = getAsyncLifecycle(() => import('./home-appointments'), options);
diff --git a/packages/esm-patient-list-app/src/index.ts b/packages/esm-patient-list-app/src/index.ts
index a63aeec01..e64aad742 100644
--- a/packages/esm-patient-list-app/src/index.ts
+++ b/packages/esm-patient-list-app/src/index.ts
@@ -38,30 +38,29 @@ export function startupApp() {
]);
}
-export const root = () => getAsyncLifecycle(() => import('./root.component'), options);
+export const root = getAsyncLifecycle(() => import('./root.component'), options);
-export const addPatientToListModal = () =>
- getAsyncLifecycle(() => import('./add-patient/add-patient.component'), {
- featureName: 'patient-actions-modal',
- moduleName,
- });
+export const addPatientToListModal = getAsyncLifecycle(() => import('./add-patient/add-patient.component'), {
+ featureName: 'patient-actions-modal',
+ moduleName,
+});
-export const addPatientToPatientListMenuItem = () =>
- getAsyncLifecycle(() => import('./add-patient-to-patient-list-menu-item.component'), {
+export const addPatientToPatientListMenuItem = getAsyncLifecycle(
+ () => import('./add-patient-to-patient-list-menu-item.component'),
+ {
featureName: 'patient-actions-slot',
moduleName,
- });
+ },
+);
-export const patientListActionButton = () =>
- getAsyncLifecycle(() => import('./patient-list-action-button.component'), {
- featureName: 'patient-list-action-menu-item',
- moduleName,
- });
+export const patientListActionButton = getAsyncLifecycle(() => import('./patient-list-action-button.component'), {
+ featureName: 'patient-list-action-menu-item',
+ moduleName,
+});
-export const patientListDashboardLink = () => getSyncLifecycle(createDashboardLink(dashboardMeta), options);
+export const patientListDashboardLink = getSyncLifecycle(createDashboardLink(dashboardMeta), options);
-export const patientTable = () =>
- getAsyncLifecycle(() => import('./patient-table/patient-table.component'), {
- featureName: 'patient-table',
- moduleName,
- });
+export const patientTable = getAsyncLifecycle(() => import('./patient-table/patient-table.component'), {
+ featureName: 'patient-table',
+ moduleName,
+});
From f933f51635dfc629586d05362a8b1838c1c47bbb Mon Sep 17 00:00:00 2001
From: Dennis Kigen
Date: Sat, 24 Jun 2023 01:01:19 +0300
Subject: [PATCH 10/17] (fix) Fix wrong `component` name in outpatients app
routes (#738)
---
packages/esm-outpatient-app/src/routes.json | 151 +++++++++++---------
1 file changed, 84 insertions(+), 67 deletions(-)
diff --git a/packages/esm-outpatient-app/src/routes.json b/packages/esm-outpatient-app/src/routes.json
index c39cb473c..a31fc46c6 100644
--- a/packages/esm-outpatient-app/src/routes.json
+++ b/packages/esm-outpatient-app/src/routes.json
@@ -3,72 +3,89 @@
"backendDependencies": {
"webservices.rest": "^2.2.0"
},
- "pages": [{
- "component": "appointmentsList",
- "route": "appointments-list",
- "online": true,
- "offline": true
- }, {
- "component": "queueList",
- "route": "queue-list",
- "online": true,
- "offline": true
- }],
- "extensions": [{
- "name": "outpatient-side-nav-ext",
- "component": "outpatientSideNav",
- "slot": "outpatient-sidebar-slot",
- "online": true,
- "offline": true
- }, {
- "name": "service-queues-dashboard-link",
- "component": "homepage-dashboard-slot",
- "slot": "homepage-dashboard-slot",
- "meta": {
- "name": "service-queues",
+ "pages": [
+ {
+ "component": "appointmentsList",
+ "route": "appointments-list",
+ "online": true,
+ "offline": true
+ },
+ {
+ "component": "queueList",
+ "route": "queue-list",
+ "online": true,
+ "offline": true
+ }
+ ],
+ "extensions": [
+ {
+ "name": "outpatient-side-nav-ext",
+ "component": "outpatientSideNav",
+ "slot": "outpatient-sidebar-slot",
+ "online": true,
+ "offline": true
+ },
+ {
+ "name": "service-queues-dashboard-link",
+ "component": "serviceQueuesDashboardLink",
+ "slot": "homepage-dashboard-slot",
+ "meta": {
+ "name": "service-queues",
+ "slot": "service-queues-dashboard-slot",
+ "title": "Service queues"
+ },
+ "online": true,
+ "offline": true
+ },
+ {
+ "name": "home-dashboard",
+ "component": "homeDashboard",
"slot": "service-queues-dashboard-slot",
- "title": "Service queues"
- },
- "online": true,
- "offline": true
- }, {
- "name": "home-dashboard",
- "component": "homeDashboard",
- "slot": "service-queues-dashboard-slot",
- "online": true,
- "offline": true
- }, {
- "name": "edit-queue-entry-status-modal",
- "component": "editQueueEntryStatusModal"
- }, {
- "name": "patient-info-banner-slot",
- "component": "patientInfoBannerSlot"
- }, {
- "name": "add-patient-to-queue",
- "component": "addPatientToQueue",
- "slot": "add-patient-to-queue-slot"
- }, {
- "name": "remove-queue-entry",
- "component": "removeQueueEntry"
- }, {
- "name": "clear-all-queue-entries",
- "component": "clearAllQueueEntries"
- }, {
- "name": "add-visit-to-queue-modal",
- "component": "addVisitToQueueModal"
- }, {
- "name": "transition-queue-entry-status-modal",
- "component": "transitionQueueEntryStatusModal"
- }, {
- "name": "previous-visit-summary-widget",
- "component": "previousVisitSummaryWidget",
- "slot": "previous-visit-summary-slot"
- }, {
- "name": "add-provider-to-room-modal",
- "component": "addProviderToRoomModal"
- }, {
- "name": "add-queue-entry-widget",
- "component": "addQueueEntryWidget",
- "slot": "add-queue-entry-slot"
- }]
+ "online": true,
+ "offline": true
+ },
+ {
+ "name": "edit-queue-entry-status-modal",
+ "component": "editQueueEntryStatusModal"
+ },
+ {
+ "name": "patient-info-banner-slot",
+ "component": "patientInfoBannerSlot"
+ },
+ {
+ "name": "add-patient-to-queue",
+ "component": "addPatientToQueue",
+ "slot": "add-patient-to-queue-slot"
+ },
+ {
+ "name": "remove-queue-entry",
+ "component": "removeQueueEntry"
+ },
+ {
+ "name": "clear-all-queue-entries",
+ "component": "clearAllQueueEntries"
+ },
+ {
+ "name": "add-visit-to-queue-modal",
+ "component": "addVisitToQueueModal"
+ },
+ {
+ "name": "transition-queue-entry-status-modal",
+ "component": "transitionQueueEntryStatusModal"
+ },
+ {
+ "name": "previous-visit-summary-widget",
+ "component": "previousVisitSummaryWidget",
+ "slot": "previous-visit-summary-slot"
+ },
+ {
+ "name": "add-provider-to-room-modal",
+ "component": "addProviderToRoomModal"
+ },
+ {
+ "name": "add-queue-entry-widget",
+ "component": "addQueueEntryWidget",
+ "slot": "add-queue-entry-slot"
+ }
+ ]
}
\ No newline at end of file
From 4dc471d3d883225a3cdb9f02ff2ae6bc07dc5022 Mon Sep 17 00:00:00 2001
From: Dennis Kigen
Date: Sat, 24 Jun 2023 01:02:25 +0300
Subject: [PATCH 11/17] (chore) Switch back to `swc-loader` (#737)
---
package.json | 2 +-
yarn.lock | 254 ++++++++++++++++++++-------------------------------
2 files changed, 102 insertions(+), 154 deletions(-)
diff --git a/package.json b/package.json
index 744f1a893..86a806365 100644
--- a/package.json
+++ b/package.json
@@ -28,7 +28,6 @@
"@carbon/react": "^1.12.0",
"@openmrs/esm-framework": "next",
"@playwright/test": "1.34.0",
- "@swc-node/loader": "^1.3.5",
"@swc/core": "^1.2.165",
"@swc/jest": "^0.2.20",
"@testing-library/dom": "^8.13.0",
@@ -72,6 +71,7 @@
"react-router-dom": "^6.3.0",
"sass": "^1.29.0",
"sass-loader": "^10.1.0",
+ "swc-loader": "^0.2.3",
"turbo": "^1.6.3",
"typedoc": "^0.22.15",
"typescript": "^4.0.3",
diff --git a/yarn.lock b/yarn.lock
index 9f9caca75..c4173e85a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3551,9 +3551,9 @@ __metadata:
languageName: unknown
linkType: soft
-"@openmrs/esm-api@npm:^5.0.2-pre.818":
- version: 5.0.2-pre.818
- resolution: "@openmrs/esm-api@npm:5.0.2-pre.818"
+"@openmrs/esm-api@npm:^5.0.3-pre.827":
+ version: 5.0.3-pre.827
+ resolution: "@openmrs/esm-api@npm:5.0.3-pre.827"
dependencies:
"@types/fhir": 0.0.31
lodash-es: ^4.17.21
@@ -3561,18 +3561,17 @@ __metadata:
"@openmrs/esm-config": 4.x
"@openmrs/esm-error-handling": 4.x
"@openmrs/esm-offline": 4.x
- checksum: 61f069bca8c6dce5043d1efef86f005cc7c512e3403fc6f4374380cc26ce09e456fc7442f5617d084d3598b67396061c23a32da5f7c9d1bebeb1263fcfc6fc2f
+ checksum: 3a42e4f9734f28770f636dace4dff475c15ee6ee6b4819bb5fde37c6bc7a47fe7da9bb4c0c3b51e34cdd870b107d2046d33fb3fd6ca043012320d49c5588ef7d
languageName: node
linkType: hard
-"@openmrs/esm-app-shell@npm:5.0.2-pre.818":
- version: 5.0.2-pre.818
- resolution: "@openmrs/esm-app-shell@npm:5.0.2-pre.818"
+"@openmrs/esm-app-shell@npm:5.0.3-pre.827":
+ version: 5.0.3-pre.827
+ resolution: "@openmrs/esm-app-shell@npm:5.0.3-pre.827"
dependencies:
"@carbon/react": ^1.12.0
- "@openmrs/esm-framework": 5.0.2-pre.818
- "@openmrs/esm-styleguide": 5.0.2-pre.818
- "@swc-node/loader": ^1.3.5
+ "@openmrs/esm-framework": 5.0.3-pre.827
+ "@openmrs/esm-styleguide": 5.0.3-pre.827
dayjs: ^1.10.4
dexie: ^3.0.3
html-webpack-plugin: ^5.5.0
@@ -3587,6 +3586,7 @@ __metadata:
react-router-dom: ^6.3.0
rxjs: ^6.5.3
single-spa: ^5.9.2
+ swc-loader: ^0.2.3
systemjs: ^6.8.3
webpack: ^5.88.0
webpack-pwa-manifest: ^4.3.0
@@ -3595,7 +3595,7 @@ __metadata:
workbox-strategies: ^6.1.5
workbox-webpack-plugin: ^6.1.5
workbox-window: ^6.1.5
- checksum: b6f7b399e24d90542c252827d06bdc9c6d09a85cbd1623d7f01d32cb7023b92559bde97d01ab01ae585f23a32ddc3ce9779f831df1a3b79944c9286afe161265
+ checksum: 2e52ecd2cde36139da7b8b275dfbc77d6f778ea06e3eb3f9952010f30b3c86dd613e5012d2a87473c4f460f3867add156a56ebbb7241f5810411910b2b7fcee8
languageName: node
linkType: hard
@@ -3616,51 +3616,51 @@ __metadata:
languageName: unknown
linkType: soft
-"@openmrs/esm-breadcrumbs@npm:^5.0.2-pre.818":
- version: 5.0.2-pre.818
- resolution: "@openmrs/esm-breadcrumbs@npm:5.0.2-pre.818"
+"@openmrs/esm-breadcrumbs@npm:^5.0.3-pre.827":
+ version: 5.0.3-pre.827
+ resolution: "@openmrs/esm-breadcrumbs@npm:5.0.3-pre.827"
dependencies:
path-to-regexp: 6.1.0
peerDependencies:
"@openmrs/esm-state": 4.x
- checksum: 293b0f44109f88ae03c282fd25f01ddd95da7ff9ea05d06c5c3c1894ec6fcc99961a25ebb056519ca9582edb9dd0743d4c0cc7a57b2adc8be4e57934fb32a718
+ checksum: f70534b9da127a153e92cdd357d6c30afae68b9589fa973be17fe67d173947b582a2c5c5d7ebad99eec18b9dfd9126cf5c1cca538c6d2127bb5b3d31fc54e5ed
languageName: node
linkType: hard
-"@openmrs/esm-config@npm:^5.0.2-pre.818":
- version: 5.0.2-pre.818
- resolution: "@openmrs/esm-config@npm:5.0.2-pre.818"
+"@openmrs/esm-config@npm:^5.0.3-pre.827":
+ version: 5.0.3-pre.827
+ resolution: "@openmrs/esm-config@npm:5.0.3-pre.827"
dependencies:
ramda: ^0.26.1
peerDependencies:
"@openmrs/esm-globals": 4.x
"@openmrs/esm-state": 4.x
single-spa: 5.x
- checksum: 96597fe3701f34fcbdb599e86ce8757e7b020df6dbc62f661862d7d2bf81124a4906c3974e713516ac2b37fde62e156fbca816209cf15ac3dda4b0357389dc29
+ checksum: 72d9cb35eef3e7977169fbcde609648c7549c59979148e9839925bc0d3ccea16a2d35d868e689e7cc9de9d9ddc07d05132d4a2c828b23c8ba91a8282fba50594
languageName: node
linkType: hard
-"@openmrs/esm-dynamic-loading@npm:^5.0.2-pre.818":
- version: 5.0.2-pre.818
- resolution: "@openmrs/esm-dynamic-loading@npm:5.0.2-pre.818"
+"@openmrs/esm-dynamic-loading@npm:^5.0.3-pre.827":
+ version: 5.0.3-pre.827
+ resolution: "@openmrs/esm-dynamic-loading@npm:5.0.3-pre.827"
peerDependencies:
"@openmrs/esm-globals": 4.x
- checksum: 72589debbb74fcd9a0508a29c5312f3ec82c650096b92b576a25a529e94c0595b0d2689ead29fdb1a17bc3ff2645a12a2847a33533e3b0d260f8486e9e5b816e
+ checksum: 18445909ca6c4b631c5f61d3cc254a3bf4a44d301002d426165fe7db444c183b3df1f7efd46666c4d029a05c90baf50821d314d3b92fdea85229247501602926
languageName: node
linkType: hard
-"@openmrs/esm-error-handling@npm:^5.0.2-pre.818":
- version: 5.0.2-pre.818
- resolution: "@openmrs/esm-error-handling@npm:5.0.2-pre.818"
+"@openmrs/esm-error-handling@npm:^5.0.3-pre.827":
+ version: 5.0.3-pre.827
+ resolution: "@openmrs/esm-error-handling@npm:5.0.3-pre.827"
peerDependencies:
"@openmrs/esm-globals": 4.x
- checksum: bf3d4c024aba20ae0e51b3c4e95eccdcc86edf6a1c94eb2c9044f415925793409199f9bdc980b5dbcb7f73a607977ff8eadedd4e3a7ecd62231851b42a00fbcb
+ checksum: 378e60668a3d69663bedb009e122a61776ae8cf3c5b3f3460ec89b056dd4774cad9f284989e114eb4d312757db8cc26f2b2ecb0903be9dacb981476923362d8a
languageName: node
linkType: hard
-"@openmrs/esm-extensions@npm:^5.0.2-pre.818":
- version: 5.0.2-pre.818
- resolution: "@openmrs/esm-extensions@npm:5.0.2-pre.818"
+"@openmrs/esm-extensions@npm:^5.0.3-pre.827":
+ version: 5.0.3-pre.827
+ resolution: "@openmrs/esm-extensions@npm:5.0.3-pre.827"
dependencies:
lodash-es: ^4.17.21
peerDependencies:
@@ -3668,26 +3668,26 @@ __metadata:
"@openmrs/esm-config": 4.x
"@openmrs/esm-state": 4.x
single-spa: 5.x
- checksum: 4d6f8fabe3c5cfa73141badc1f8b87d8fa1bfba779f90ef5a6ab757d94d36662bc7f189e333253d327b86d8a33272d231ff531340d7e6edc8f109cc30c78439e
- languageName: node
- linkType: hard
-
-"@openmrs/esm-framework@npm:5.0.2-pre.818, @openmrs/esm-framework@npm:next":
- version: 5.0.2-pre.818
- resolution: "@openmrs/esm-framework@npm:5.0.2-pre.818"
- dependencies:
- "@openmrs/esm-api": ^5.0.2-pre.818
- "@openmrs/esm-breadcrumbs": ^5.0.2-pre.818
- "@openmrs/esm-config": ^5.0.2-pre.818
- "@openmrs/esm-dynamic-loading": ^5.0.2-pre.818
- "@openmrs/esm-error-handling": ^5.0.2-pre.818
- "@openmrs/esm-extensions": ^5.0.2-pre.818
- "@openmrs/esm-globals": ^5.0.2-pre.818
- "@openmrs/esm-offline": ^5.0.2-pre.818
- "@openmrs/esm-react-utils": ^5.0.2-pre.818
- "@openmrs/esm-state": ^5.0.2-pre.818
- "@openmrs/esm-styleguide": ^5.0.2-pre.818
- "@openmrs/esm-utils": ^5.0.2-pre.818
+ checksum: cf4e287628965300582608f733871c55ba5efda159fa217488a5e459411987e69c0ec561507c11d4aa8deb59d6d2aef71e56fefed2b08ce9540605e4cb6694a7
+ languageName: node
+ linkType: hard
+
+"@openmrs/esm-framework@npm:5.0.3-pre.827, @openmrs/esm-framework@npm:next":
+ version: 5.0.3-pre.827
+ resolution: "@openmrs/esm-framework@npm:5.0.3-pre.827"
+ dependencies:
+ "@openmrs/esm-api": ^5.0.3-pre.827
+ "@openmrs/esm-breadcrumbs": ^5.0.3-pre.827
+ "@openmrs/esm-config": ^5.0.3-pre.827
+ "@openmrs/esm-dynamic-loading": ^5.0.3-pre.827
+ "@openmrs/esm-error-handling": ^5.0.3-pre.827
+ "@openmrs/esm-extensions": ^5.0.3-pre.827
+ "@openmrs/esm-globals": ^5.0.3-pre.827
+ "@openmrs/esm-offline": ^5.0.3-pre.827
+ "@openmrs/esm-react-utils": ^5.0.3-pre.827
+ "@openmrs/esm-state": ^5.0.3-pre.827
+ "@openmrs/esm-styleguide": ^5.0.3-pre.827
+ "@openmrs/esm-utils": ^5.0.3-pre.827
dayjs: ^1.10.7
peerDependencies:
dayjs: 1.x
@@ -3697,22 +3697,22 @@ __metadata:
react-i18next: 11.x
rxjs: 6.x
single-spa: 5.x
- checksum: 2c733464f87948fc0368a36c55dcf902559c96b6408498bf412fb2330d4d6618b18710a04dd2360b684fb1daeb668c41d6ea117d8133effb58260abf222f5640
+ checksum: ac75ac7288f6bb8e5687e2fe6adebb2f139c03aca87463b4f17830e6de06e50ea82d78d6fedc16e57e0fdbda999de9676d56e4a28bdb9a3f0fb211f43c9f6631
languageName: node
linkType: hard
-"@openmrs/esm-globals@npm:^5.0.2-pre.818":
- version: 5.0.2-pre.818
- resolution: "@openmrs/esm-globals@npm:5.0.2-pre.818"
+"@openmrs/esm-globals@npm:^5.0.3-pre.827":
+ version: 5.0.3-pre.827
+ resolution: "@openmrs/esm-globals@npm:5.0.3-pre.827"
peerDependencies:
single-spa: 5.x
- checksum: 99b3f215574b07633e9cf238ff67bc170a33029d4622f2c816f81b9199dba32c2197105aa65bfe546757109597da5565089722e8ba915096c433ad7f9bcd6245
+ checksum: 5c2009ac22c4392405c642ed8d866cc8361bbcb2c51f6e4899ece2059ada6967c15d1301fe63889beeaa9838833b8f2635187d10e0a3fd1a2980cbd843ffe9fc
languageName: node
linkType: hard
-"@openmrs/esm-offline@npm:^5.0.2-pre.818":
- version: 5.0.2-pre.818
- resolution: "@openmrs/esm-offline@npm:5.0.2-pre.818"
+"@openmrs/esm-offline@npm:^5.0.3-pre.827":
+ version: 5.0.3-pre.827
+ resolution: "@openmrs/esm-offline@npm:5.0.3-pre.827"
dependencies:
dexie: ^3.0.3
lodash-es: ^4.17.21
@@ -3724,7 +3724,7 @@ __metadata:
"@openmrs/esm-state": 4.x
"@openmrs/esm-styleguide": 4.x
rxjs: 6.x
- checksum: 8200f9a82d4f0bfd055b4326ee42ac82267bdaae27d6fb6e3e8bcba2e1eec3c05bdddd302e28dc71b8b9722c8894105362205970334f6089ed489fab5f33b93d
+ checksum: 0dca265c87213998df664985fcd17b8d490fe8bed32a1ce21dd523ca6eca9b7e840bec5510afe022c8b25d00b6cd68e2629712ff3ad0fc3c00cc817cc48188eb
languageName: node
linkType: hard
@@ -3767,7 +3767,6 @@ __metadata:
"@carbon/react": ^1.12.0
"@openmrs/esm-framework": next
"@playwright/test": 1.34.0
- "@swc-node/loader": ^1.3.5
"@swc/core": ^1.2.165
"@swc/jest": ^0.2.20
"@testing-library/dom": ^8.13.0
@@ -3811,6 +3810,7 @@ __metadata:
react-router-dom: ^6.3.0
sass: ^1.29.0
sass-loader: ^10.1.0
+ swc-loader: ^0.2.3
swr: ^2.0.1
turbo: ^1.6.3
typedoc: ^0.22.15
@@ -3857,9 +3857,9 @@ __metadata:
languageName: unknown
linkType: soft
-"@openmrs/esm-react-utils@npm:^5.0.2-pre.818":
- version: 5.0.2-pre.818
- resolution: "@openmrs/esm-react-utils@npm:5.0.2-pre.818"
+"@openmrs/esm-react-utils@npm:^5.0.3-pre.827":
+ version: 5.0.3-pre.827
+ resolution: "@openmrs/esm-react-utils@npm:5.0.3-pre.827"
dependencies:
lodash-es: ^4.17.21
single-spa-react: ~5.0.0
@@ -3875,22 +3875,22 @@ __metadata:
react: 18.x
react-dom: 18.x
react-i18next: 11.x
- checksum: 2334180abc1f542dac23ca95d605a3920dfac43dfcc8c5b3789101f557033fe859c39c0318337642636518c85a5e96df2685087fc16c8aaee05c814e96ff9485
+ checksum: 3f041302f0666ec2db325561753187593f432f1c0c49286ca9f50fa73b11c3ece4f8f32c61856a15f964b1fbd5a41c6ac9b1d609e21032ffda02584d8e2d76b7
languageName: node
linkType: hard
-"@openmrs/esm-state@npm:^5.0.2-pre.818":
- version: 5.0.2-pre.818
- resolution: "@openmrs/esm-state@npm:5.0.2-pre.818"
+"@openmrs/esm-state@npm:^5.0.3-pre.827":
+ version: 5.0.3-pre.827
+ resolution: "@openmrs/esm-state@npm:5.0.3-pre.827"
dependencies:
zustand: ^4.3.6
- checksum: 48724501bfbb863d9bd2cf91ed13c293a64aac6e741b64cf5a47fb76c5dc5e66a3ec8ab8eec5fee25aba34b0df3980826fc2351ce4a472cb3fa3cb2ac338052a
+ checksum: b55c0fce425484a7e0f6db9ce444e1a3729a57dadfdd48330e8c8bf69f31d70f51b0043a8251e4b6204be27bf8d33796942fdd399688b29860a4fb25a6cd9117
languageName: node
linkType: hard
-"@openmrs/esm-styleguide@npm:5.0.2-pre.818, @openmrs/esm-styleguide@npm:^5.0.2-pre.818":
- version: 5.0.2-pre.818
- resolution: "@openmrs/esm-styleguide@npm:5.0.2-pre.818"
+"@openmrs/esm-styleguide@npm:5.0.3-pre.827, @openmrs/esm-styleguide@npm:^5.0.3-pre.827":
+ version: 5.0.3-pre.827
+ resolution: "@openmrs/esm-styleguide@npm:5.0.3-pre.827"
dependencies:
"@carbon/charts": ^1.6.3
"@carbon/react": ^1.12.0
@@ -3901,28 +3901,27 @@ __metadata:
react: 18.x
react-dom: 18.x
rxjs: 6.x
- checksum: dc56184dfb7f337235dd906b3f395e92a6ae8cd15f30d11012794d0079124c2fc0c9a4e4bb9ce2f60df942c99c0143431364350400451e8915a23d48f22039e0
+ checksum: e6afd5466ea4a3ec0ca2c090b4fd2c35786ea03e7fd1c52f9a7af19f131e395f57312ddd5ce09e7fa0e7e2586986d433b6f05d56b2b3eca13d97c17d24578c66
languageName: node
linkType: hard
-"@openmrs/esm-utils@npm:^5.0.2-pre.818":
- version: 5.0.2-pre.818
- resolution: "@openmrs/esm-utils@npm:5.0.2-pre.818"
+"@openmrs/esm-utils@npm:^5.0.3-pre.827":
+ version: 5.0.3-pre.827
+ resolution: "@openmrs/esm-utils@npm:5.0.3-pre.827"
dependencies:
semver: 7.3.2
peerDependencies:
dayjs: 1.x
i18next: 19.x
rxjs: 6.x
- checksum: 5605b77dffef057c1a5bc8ddd594f68378b8eec2e4194fefdcd432bf33b4579c2f6982f1efa0c92ddacc3255666cf81fad3cde341a611540594f6b5277beb9fa
+ checksum: 40d65f2267f825c590e572e55af5a77476f0c888ab2a4b74570dab9b2ab6f69327e3623e0755254379c521091413fac2fb94a97919c86485aa94202940bf331a
languageName: node
linkType: hard
-"@openmrs/webpack-config@npm:5.0.2-pre.818":
- version: 5.0.2-pre.818
- resolution: "@openmrs/webpack-config@npm:5.0.2-pre.818"
+"@openmrs/webpack-config@npm:5.0.3-pre.827":
+ version: 5.0.3-pre.827
+ resolution: "@openmrs/webpack-config@npm:5.0.3-pre.827"
dependencies:
- "@swc-node/loader": ^1.3.5
"@swc/core": ^1.3.58
babel-preset-minify: ^0.5.1
clean-webpack-plugin: ^4.0.0
@@ -3933,12 +3932,13 @@ __metadata:
sass: ^1.44.0
sass-loader: ^12.3.0
style-loader: ^3.3.1
+ swc-loader: ^0.2.3
webpack: ^5.88.0
webpack-bundle-analyzer: ^4.5.0
webpack-stats-plugin: ^1.0.3
peerDependencies:
webpack: 5.x
- checksum: fb12b87fb2544ac4042a0847ad2ed162ef5fca1d5bc29c123452ddf056bdd83998d5d3c85866c9856948f25e3fd39068e4ec1bc653c686956aa5ccf703ac47c1
+ checksum: 2e3493e224acc24789cdeec7d8d54b35ff3601b7744aa7ab44b823af9ee2e3149c8d010d9de5450f0df51e7e634c73c9fe30fbc7e6d30ea4de9fabed9fb5659c
languageName: node
linkType: hard
@@ -4094,55 +4094,6 @@ __metadata:
languageName: node
linkType: hard
-"@swc-node/core@npm:^1.10.3":
- version: 1.10.3
- resolution: "@swc-node/core@npm:1.10.3"
- peerDependencies:
- "@swc/core": ">= 1.3"
- checksum: 6e3e50a44d7a1c1aa62599d83c58f21568c1da03422124b46634488aba02747939063eeb1a2710aab0ab9f14f347386226a017ed72e6ba608d4a26532cd426af
- languageName: node
- linkType: hard
-
-"@swc-node/loader@npm:^1.3.5":
- version: 1.3.5
- resolution: "@swc-node/loader@npm:1.3.5"
- dependencies:
- "@swc-node/core": ^1.10.3
- "@swc-node/register": ^1.6.5
- peerDependencies:
- typescript: ">= 4.3"
- webpack: ">= 5.0.0"
- checksum: f28208a5298d64f2452e048db279d3e9da2eaa5d4d146f8a6b78508f1a70bab3e8e56e1e19cff455d1001ea4af792589d73dd3a2a5ce5f8ef565dbed5622e8b7
- languageName: node
- linkType: hard
-
-"@swc-node/register@npm:^1.6.5":
- version: 1.6.5
- resolution: "@swc-node/register@npm:1.6.5"
- dependencies:
- "@swc-node/core": ^1.10.3
- "@swc-node/sourcemap-support": ^0.3.0
- colorette: ^2.0.19
- debug: ^4.3.4
- pirates: ^4.0.5
- tslib: ^2.5.0
- peerDependencies:
- "@swc/core": ">= 1.3"
- typescript: ">= 4.3"
- checksum: 490b2c6d04d4be3e80f3cc4aeccd4e064f49100e7e21675de3e2a125d844857589a3e0b91a17f088c471cbb20725a02fadc9edd244c08253d1bae19b2e88e8e6
- languageName: node
- linkType: hard
-
-"@swc-node/sourcemap-support@npm:^0.3.0":
- version: 0.3.0
- resolution: "@swc-node/sourcemap-support@npm:0.3.0"
- dependencies:
- source-map-support: ^0.5.21
- tslib: ^2.5.0
- checksum: a3c837ed790238ef88682eb342b75d756eba5eb3b6cfe6cf14a597bd78dfc9a9797f1e54a4977c1297e5324fba2e33bd76ab8aa9c396ad463693de2001180c9e
- languageName: node
- linkType: hard
-
"@swc/core-android-arm-eabi@npm:1.3.11":
version: 1.3.11
resolution: "@swc/core-android-arm-eabi@npm:1.3.11"
@@ -7427,13 +7378,6 @@ __metadata:
languageName: node
linkType: hard
-"colorette@npm:^2.0.19":
- version: 2.0.20
- resolution: "colorette@npm:2.0.20"
- checksum: 0c016fea2b91b733eb9f4bcdb580018f52c0bc0979443dad930e5037a968237ac53d9beb98e218d2e9235834f8eebce7f8e080422d6194e957454255bde71d3d
- languageName: node
- linkType: hard
-
"colors@npm:~1.4.0":
version: 1.4.0
resolution: "colors@npm:1.4.0"
@@ -8616,7 +8560,7 @@ __metadata:
languageName: node
linkType: hard
-"debug@npm:4, debug@npm:^4.0.1, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.3, debug@npm:^4.3.4":
+"debug@npm:4, debug@npm:^4.0.1, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.3":
version: 4.3.4
resolution: "debug@npm:4.3.4"
dependencies:
@@ -15255,13 +15199,13 @@ __metadata:
linkType: hard
"openmrs@npm:next":
- version: 5.0.2-pre.818
- resolution: "openmrs@npm:5.0.2-pre.818"
+ version: 5.0.3-pre.827
+ resolution: "openmrs@npm:5.0.3-pre.827"
dependencies:
- "@openmrs/esm-app-shell": 5.0.2-pre.818
- "@openmrs/webpack-config": 5.0.2-pre.818
+ "@openmrs/esm-app-shell": 5.0.3-pre.827
+ "@openmrs/webpack-config": 5.0.3-pre.827
"@pnpm/npm-conf": ^2.1.0
- "@swc-node/loader": ^1.3.5
+ "@swc/core": ^1.3.58
autoprefixer: ^10.4.2
axios: ^0.21.1
browserslist-config-openmrs: ^1.0.1
@@ -15277,6 +15221,7 @@ __metadata:
postcss: ^8.4.6
postcss-loader: ^6.2.1
rimraf: ^3.0.2
+ swc-loader: ^0.2.3
tar: ^6.0.5
typescript: ^4.6.4
webpack: ^5.88.0
@@ -15287,7 +15232,7 @@ __metadata:
yargs: ^17.6.2
bin:
openmrs: dist/cli.js
- checksum: 7559eece07650a507e646765b2d8c0331a29977525c367326fad9dcc1d33232a62bb2ba0a62e33ab3501eaca3d3ab0c5f8e2077ca27943ce3b52bd7c7609627e
+ checksum: 4236575e96be7f9d56ecd263fbc6c1b3e1adefd4513a2a2271a2a4ad65ac84282654917f25e6470411202ad84da374087df263e87759bd482dac008543fc8d35
languageName: node
linkType: hard
@@ -15896,7 +15841,7 @@ __metadata:
languageName: node
linkType: hard
-"pirates@npm:^4.0.4, pirates@npm:^4.0.5":
+"pirates@npm:^4.0.4":
version: 4.0.5
resolution: "pirates@npm:4.0.5"
checksum: c9994e61b85260bec6c4fc0307016340d9b0c4f4b6550a957afaaff0c9b1ad58fbbea5cfcf083860a25cb27a375442e2b0edf52e2e1e40e69934e08dcc52d227
@@ -18248,7 +18193,7 @@ __metadata:
languageName: node
linkType: hard
-"source-map-support@npm:^0.5.21, source-map-support@npm:~0.5.20":
+"source-map-support@npm:~0.5.20":
version: 0.5.21
resolution: "source-map-support@npm:0.5.21"
dependencies:
@@ -18879,6 +18824,16 @@ __metadata:
languageName: node
linkType: hard
+"swc-loader@npm:^0.2.3":
+ version: 0.2.3
+ resolution: "swc-loader@npm:0.2.3"
+ peerDependencies:
+ "@swc/core": ^1.2.147
+ webpack: ">=2"
+ checksum: 010d84d399525c0185d36d62c86c55ae017e7a90046bc8a39be4b7e07526924037868049f6037bc966da98151cb2600934b96a66279b742d3c413a718b427251
+ languageName: node
+ linkType: hard
+
"swr@npm:^2.0.1":
version: 2.0.1
resolution: "swr@npm:2.0.1"
@@ -19392,13 +19347,6 @@ __metadata:
languageName: node
linkType: hard
-"tslib@npm:^2.5.0":
- version: 2.5.2
- resolution: "tslib@npm:2.5.2"
- checksum: 4d3c1e238b94127ed0e88aa0380db3c2ddae581dc0f4bae5a982345e9f50ee5eda90835b8bfba99b02df10a5734470be197158c36f9129ac49fdc14a6a9da222
- languageName: node
- linkType: hard
-
"tsutils@npm:^3.21.0":
version: 3.21.0
resolution: "tsutils@npm:3.21.0"
From 1423283acf69f0c459cfbdfc87f389f1e22bb91c Mon Sep 17 00:00:00 2001
From: Dennis Kigen
Date: Sat, 24 Jun 2023 02:19:39 +0300
Subject: [PATCH 12/17] (fix) More fixes for routes (#740)
---
packages/esm-outpatient-app/src/routes.json | 4 ++--
packages/esm-patient-list-app/src/routes.json | 6 ++++++
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/packages/esm-outpatient-app/src/routes.json b/packages/esm-outpatient-app/src/routes.json
index a31fc46c6..b18462510 100644
--- a/packages/esm-outpatient-app/src/routes.json
+++ b/packages/esm-outpatient-app/src/routes.json
@@ -6,13 +6,13 @@
"pages": [
{
"component": "appointmentsList",
- "route": "appointments-list",
+ "routeRegex": "^appointments-list",
"online": true,
"offline": true
},
{
"component": "queueList",
- "route": "queue-list",
+ "routeRegex": "^queue-list",
"online": true,
"offline": true
}
diff --git a/packages/esm-patient-list-app/src/routes.json b/packages/esm-patient-list-app/src/routes.json
index bbf93cdd6..c02ad0e12 100644
--- a/packages/esm-patient-list-app/src/routes.json
+++ b/packages/esm-patient-list-app/src/routes.json
@@ -13,12 +13,18 @@
{
"name": "patient-lists-dashboard-link",
"component": "patientListDashboardLink",
+ "slot": "homepage-dashboard-slot",
"meta": {
"name": "patient-lists",
"slot": "patient-lists-dashboard-slot",
"title": "Patient lists"
}
},
+ {
+ "name": "patient-lists-dashboard",
+ "component": "root",
+ "slot": "patient-lists-dashboard-slot"
+ },
{
"name": "patient-table",
"component": "patientTable"
From 2f168bdd96f04e5d34a59c1da853f4a09d4c7796 Mon Sep 17 00:00:00 2001
From: Dennis Kigen
Date: Sat, 24 Jun 2023 02:24:06 +0300
Subject: [PATCH 13/17] (fix) Remove incorrect `order` property from routes
(#739)
---
packages/esm-active-visits-app/src/routes.json | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/packages/esm-active-visits-app/src/routes.json b/packages/esm-active-visits-app/src/routes.json
index 55f181dae..f6f08512b 100644
--- a/packages/esm-active-visits-app/src/routes.json
+++ b/packages/esm-active-visits-app/src/routes.json
@@ -13,8 +13,7 @@
{
"name": "visit-summary-widget",
"slot": "visit-summary-slot",
- "component": "visitDetail",
- "order": 0
+ "component": "visitDetail"
}
],
"pages": []
From fe18000f5d971a568d5e564a517647cfbbf7f502 Mon Sep 17 00:00:00 2001
From: Dennis Kigen
Date: Fri, 23 Jun 2023 16:57:34 -0700
Subject: [PATCH 14/17] (fix) Fix typo in slot name
---
packages/esm-active-visits-app/src/routes.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/packages/esm-active-visits-app/src/routes.json b/packages/esm-active-visits-app/src/routes.json
index f6f08512b..ba74eb6c2 100644
--- a/packages/esm-active-visits-app/src/routes.json
+++ b/packages/esm-active-visits-app/src/routes.json
@@ -6,7 +6,7 @@
"extensions": [
{
"name": "active-visits-widget",
- "slot": "homepage-widget-slot",
+ "slot": "homepage-widgets-slot",
"component": "activeVisits",
"order": 0
},
@@ -17,4 +17,4 @@
}
],
"pages": []
-}
\ No newline at end of file
+}
From 554b13bcf61be04184d065806b51df9d90639d85 Mon Sep 17 00:00:00 2001
From: Dennis Kigen
Date: Mon, 26 Jun 2023 14:13:54 +0300
Subject: [PATCH 15/17] (fix) Fix Appointments calendar dashboard link
extension config (#742)
---
packages/esm-appointments-app/src/index.ts | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/packages/esm-appointments-app/src/index.ts b/packages/esm-appointments-app/src/index.ts
index a16852827..44a1bb204 100644
--- a/packages/esm-appointments-app/src/index.ts
+++ b/packages/esm-appointments-app/src/index.ts
@@ -33,8 +33,10 @@ export function startupApp() {
export const appointmentsDashboardLink = getSyncLifecycle(createDashboardLink(dashboardMeta), options);
-export const appointmentsCalendarDashboardLink = () =>
- getSyncLifecycle(createDashboardLink(appointmentCalendarDashboardMeta), options);
+export const appointmentsCalendarDashboardLink = getSyncLifecycle(
+ createDashboardLink(appointmentCalendarDashboardMeta),
+ options,
+);
export const appointmentsDashboard = getAsyncLifecycle(() => import('./appointments.component'), options);
From 3e52e5951e8a94c54bb5c38b62a1dd37bd74f7b6 Mon Sep 17 00:00:00 2001
From: Ian <52504170+ibacher@users.noreply.github.com>
Date: Tue, 27 Jun 2023 15:08:30 -0400
Subject: [PATCH 16/17] (chore) Update to newer versions of openmrs and
@openmrs/esm-framework (#743)
---
yarn.lock | 166 +++++++++++++++++++++++++++---------------------------
1 file changed, 83 insertions(+), 83 deletions(-)
diff --git a/yarn.lock b/yarn.lock
index c4173e85a..ffc431262 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3551,9 +3551,9 @@ __metadata:
languageName: unknown
linkType: soft
-"@openmrs/esm-api@npm:^5.0.3-pre.827":
- version: 5.0.3-pre.827
- resolution: "@openmrs/esm-api@npm:5.0.3-pre.827"
+"@openmrs/esm-api@npm:^5.0.3-pre.846":
+ version: 5.0.3-pre.846
+ resolution: "@openmrs/esm-api@npm:5.0.3-pre.846"
dependencies:
"@types/fhir": 0.0.31
lodash-es: ^4.17.21
@@ -3561,17 +3561,17 @@ __metadata:
"@openmrs/esm-config": 4.x
"@openmrs/esm-error-handling": 4.x
"@openmrs/esm-offline": 4.x
- checksum: 3a42e4f9734f28770f636dace4dff475c15ee6ee6b4819bb5fde37c6bc7a47fe7da9bb4c0c3b51e34cdd870b107d2046d33fb3fd6ca043012320d49c5588ef7d
+ checksum: 66e02f30e4a30536d835dc8630cc9e3d7866330e57bedc7cc629bf338b30558a51b03980ce19b7e83eba35011f57edcaf28e8e01c102f47e407f3d06b8043349
languageName: node
linkType: hard
-"@openmrs/esm-app-shell@npm:5.0.3-pre.827":
- version: 5.0.3-pre.827
- resolution: "@openmrs/esm-app-shell@npm:5.0.3-pre.827"
+"@openmrs/esm-app-shell@npm:5.0.3-pre.846":
+ version: 5.0.3-pre.846
+ resolution: "@openmrs/esm-app-shell@npm:5.0.3-pre.846"
dependencies:
"@carbon/react": ^1.12.0
- "@openmrs/esm-framework": 5.0.3-pre.827
- "@openmrs/esm-styleguide": 5.0.3-pre.827
+ "@openmrs/esm-framework": 5.0.3-pre.846
+ "@openmrs/esm-styleguide": 5.0.3-pre.846
dayjs: ^1.10.4
dexie: ^3.0.3
html-webpack-plugin: ^5.5.0
@@ -3595,7 +3595,7 @@ __metadata:
workbox-strategies: ^6.1.5
workbox-webpack-plugin: ^6.1.5
workbox-window: ^6.1.5
- checksum: 2e52ecd2cde36139da7b8b275dfbc77d6f778ea06e3eb3f9952010f30b3c86dd613e5012d2a87473c4f460f3867add156a56ebbb7241f5810411910b2b7fcee8
+ checksum: d2630dc61cbcd26345a2685b9b52ec3744807e703a8af2341ffc7c48d7b5a9d06d7071fef86976fa24e33e3b5f737e517c8b30a18c493e01e7b283fd6944b400
languageName: node
linkType: hard
@@ -3616,51 +3616,51 @@ __metadata:
languageName: unknown
linkType: soft
-"@openmrs/esm-breadcrumbs@npm:^5.0.3-pre.827":
- version: 5.0.3-pre.827
- resolution: "@openmrs/esm-breadcrumbs@npm:5.0.3-pre.827"
+"@openmrs/esm-breadcrumbs@npm:^5.0.3-pre.846":
+ version: 5.0.3-pre.846
+ resolution: "@openmrs/esm-breadcrumbs@npm:5.0.3-pre.846"
dependencies:
path-to-regexp: 6.1.0
peerDependencies:
"@openmrs/esm-state": 4.x
- checksum: f70534b9da127a153e92cdd357d6c30afae68b9589fa973be17fe67d173947b582a2c5c5d7ebad99eec18b9dfd9126cf5c1cca538c6d2127bb5b3d31fc54e5ed
+ checksum: 80fe62635efe320dfd6e74f1f6d4730bf627f3451888d5b78951100868581aca922cad8bb7b3e4ac6f2068e6af55157a23ec1bf81f659720f33ff75a05cd76e1
languageName: node
linkType: hard
-"@openmrs/esm-config@npm:^5.0.3-pre.827":
- version: 5.0.3-pre.827
- resolution: "@openmrs/esm-config@npm:5.0.3-pre.827"
+"@openmrs/esm-config@npm:^5.0.3-pre.846":
+ version: 5.0.3-pre.846
+ resolution: "@openmrs/esm-config@npm:5.0.3-pre.846"
dependencies:
ramda: ^0.26.1
peerDependencies:
"@openmrs/esm-globals": 4.x
"@openmrs/esm-state": 4.x
single-spa: 5.x
- checksum: 72d9cb35eef3e7977169fbcde609648c7549c59979148e9839925bc0d3ccea16a2d35d868e689e7cc9de9d9ddc07d05132d4a2c828b23c8ba91a8282fba50594
+ checksum: 208c1fddc6af6ca2499b4881f9a16cd279ea3ef264b82cdde0c7abfb7d55530c768d42abc1f3aa10eaecb405995fb8e03bc028c461f2464b14ad9bf9d9420486
languageName: node
linkType: hard
-"@openmrs/esm-dynamic-loading@npm:^5.0.3-pre.827":
- version: 5.0.3-pre.827
- resolution: "@openmrs/esm-dynamic-loading@npm:5.0.3-pre.827"
+"@openmrs/esm-dynamic-loading@npm:^5.0.3-pre.846":
+ version: 5.0.3-pre.846
+ resolution: "@openmrs/esm-dynamic-loading@npm:5.0.3-pre.846"
peerDependencies:
"@openmrs/esm-globals": 4.x
- checksum: 18445909ca6c4b631c5f61d3cc254a3bf4a44d301002d426165fe7db444c183b3df1f7efd46666c4d029a05c90baf50821d314d3b92fdea85229247501602926
+ checksum: a71098117aef13d19a04d6871c49c1531ca105d032adbf64fd23604c8e4bd27c7adb467a27b809ea46351f4e8030a55afcebb0a4219808d0dcad84668550d31b
languageName: node
linkType: hard
-"@openmrs/esm-error-handling@npm:^5.0.3-pre.827":
- version: 5.0.3-pre.827
- resolution: "@openmrs/esm-error-handling@npm:5.0.3-pre.827"
+"@openmrs/esm-error-handling@npm:^5.0.3-pre.846":
+ version: 5.0.3-pre.846
+ resolution: "@openmrs/esm-error-handling@npm:5.0.3-pre.846"
peerDependencies:
"@openmrs/esm-globals": 4.x
- checksum: 378e60668a3d69663bedb009e122a61776ae8cf3c5b3f3460ec89b056dd4774cad9f284989e114eb4d312757db8cc26f2b2ecb0903be9dacb981476923362d8a
+ checksum: c899aa829383e739b575c0428291966cab87b6a16b86beb56d8a2654ac17c329c2018a9542d7e1dbadaa55163b1380f81fab821784da8839180e72385c708142
languageName: node
linkType: hard
-"@openmrs/esm-extensions@npm:^5.0.3-pre.827":
- version: 5.0.3-pre.827
- resolution: "@openmrs/esm-extensions@npm:5.0.3-pre.827"
+"@openmrs/esm-extensions@npm:^5.0.3-pre.846":
+ version: 5.0.3-pre.846
+ resolution: "@openmrs/esm-extensions@npm:5.0.3-pre.846"
dependencies:
lodash-es: ^4.17.21
peerDependencies:
@@ -3668,26 +3668,26 @@ __metadata:
"@openmrs/esm-config": 4.x
"@openmrs/esm-state": 4.x
single-spa: 5.x
- checksum: cf4e287628965300582608f733871c55ba5efda159fa217488a5e459411987e69c0ec561507c11d4aa8deb59d6d2aef71e56fefed2b08ce9540605e4cb6694a7
- languageName: node
- linkType: hard
-
-"@openmrs/esm-framework@npm:5.0.3-pre.827, @openmrs/esm-framework@npm:next":
- version: 5.0.3-pre.827
- resolution: "@openmrs/esm-framework@npm:5.0.3-pre.827"
- dependencies:
- "@openmrs/esm-api": ^5.0.3-pre.827
- "@openmrs/esm-breadcrumbs": ^5.0.3-pre.827
- "@openmrs/esm-config": ^5.0.3-pre.827
- "@openmrs/esm-dynamic-loading": ^5.0.3-pre.827
- "@openmrs/esm-error-handling": ^5.0.3-pre.827
- "@openmrs/esm-extensions": ^5.0.3-pre.827
- "@openmrs/esm-globals": ^5.0.3-pre.827
- "@openmrs/esm-offline": ^5.0.3-pre.827
- "@openmrs/esm-react-utils": ^5.0.3-pre.827
- "@openmrs/esm-state": ^5.0.3-pre.827
- "@openmrs/esm-styleguide": ^5.0.3-pre.827
- "@openmrs/esm-utils": ^5.0.3-pre.827
+ checksum: 258f08331703a4e688121f7106d92f0e9eaf1cf26d05fc549a2723c098d8519b82372b0d701052e6a5bd29e1ea340ed60f24bf4cd588b191060276790078571b
+ languageName: node
+ linkType: hard
+
+"@openmrs/esm-framework@npm:5.0.3-pre.846, @openmrs/esm-framework@npm:next":
+ version: 5.0.3-pre.846
+ resolution: "@openmrs/esm-framework@npm:5.0.3-pre.846"
+ dependencies:
+ "@openmrs/esm-api": ^5.0.3-pre.846
+ "@openmrs/esm-breadcrumbs": ^5.0.3-pre.846
+ "@openmrs/esm-config": ^5.0.3-pre.846
+ "@openmrs/esm-dynamic-loading": ^5.0.3-pre.846
+ "@openmrs/esm-error-handling": ^5.0.3-pre.846
+ "@openmrs/esm-extensions": ^5.0.3-pre.846
+ "@openmrs/esm-globals": ^5.0.3-pre.846
+ "@openmrs/esm-offline": ^5.0.3-pre.846
+ "@openmrs/esm-react-utils": ^5.0.3-pre.846
+ "@openmrs/esm-state": ^5.0.3-pre.846
+ "@openmrs/esm-styleguide": ^5.0.3-pre.846
+ "@openmrs/esm-utils": ^5.0.3-pre.846
dayjs: ^1.10.7
peerDependencies:
dayjs: 1.x
@@ -3697,22 +3697,22 @@ __metadata:
react-i18next: 11.x
rxjs: 6.x
single-spa: 5.x
- checksum: ac75ac7288f6bb8e5687e2fe6adebb2f139c03aca87463b4f17830e6de06e50ea82d78d6fedc16e57e0fdbda999de9676d56e4a28bdb9a3f0fb211f43c9f6631
+ checksum: a6a844e7dc3f734122b291768ead75767f27482cb399d47a09c885c8054e5747d31f3c92dc1b1ea6f74bfb64ea167b5f79fe14220ece8f5929298c6cbac40dee
languageName: node
linkType: hard
-"@openmrs/esm-globals@npm:^5.0.3-pre.827":
- version: 5.0.3-pre.827
- resolution: "@openmrs/esm-globals@npm:5.0.3-pre.827"
+"@openmrs/esm-globals@npm:^5.0.3-pre.846":
+ version: 5.0.3-pre.846
+ resolution: "@openmrs/esm-globals@npm:5.0.3-pre.846"
peerDependencies:
single-spa: 5.x
- checksum: 5c2009ac22c4392405c642ed8d866cc8361bbcb2c51f6e4899ece2059ada6967c15d1301fe63889beeaa9838833b8f2635187d10e0a3fd1a2980cbd843ffe9fc
+ checksum: b19eaf9145adf6377ab43ad218bd13c506f101520b92fc9f0cda75ed40a00955a5c16f3777ffd47155e613625fc7d7db012c8e15c824afed0ff8cd85f481e72c
languageName: node
linkType: hard
-"@openmrs/esm-offline@npm:^5.0.3-pre.827":
- version: 5.0.3-pre.827
- resolution: "@openmrs/esm-offline@npm:5.0.3-pre.827"
+"@openmrs/esm-offline@npm:^5.0.3-pre.846":
+ version: 5.0.3-pre.846
+ resolution: "@openmrs/esm-offline@npm:5.0.3-pre.846"
dependencies:
dexie: ^3.0.3
lodash-es: ^4.17.21
@@ -3724,7 +3724,7 @@ __metadata:
"@openmrs/esm-state": 4.x
"@openmrs/esm-styleguide": 4.x
rxjs: 6.x
- checksum: 0dca265c87213998df664985fcd17b8d490fe8bed32a1ce21dd523ca6eca9b7e840bec5510afe022c8b25d00b6cd68e2629712ff3ad0fc3c00cc817cc48188eb
+ checksum: ab4325e53794d8f70db0569086aa405a0f9194ea771d78540208755f244e146182b5ae40286152e8446490fd4214d91f1a660973fc852660db9f2d694a7f3aaa
languageName: node
linkType: hard
@@ -3857,9 +3857,9 @@ __metadata:
languageName: unknown
linkType: soft
-"@openmrs/esm-react-utils@npm:^5.0.3-pre.827":
- version: 5.0.3-pre.827
- resolution: "@openmrs/esm-react-utils@npm:5.0.3-pre.827"
+"@openmrs/esm-react-utils@npm:^5.0.3-pre.846":
+ version: 5.0.3-pre.846
+ resolution: "@openmrs/esm-react-utils@npm:5.0.3-pre.846"
dependencies:
lodash-es: ^4.17.21
single-spa-react: ~5.0.0
@@ -3875,22 +3875,22 @@ __metadata:
react: 18.x
react-dom: 18.x
react-i18next: 11.x
- checksum: 3f041302f0666ec2db325561753187593f432f1c0c49286ca9f50fa73b11c3ece4f8f32c61856a15f964b1fbd5a41c6ac9b1d609e21032ffda02584d8e2d76b7
+ checksum: 6aade00f8031216485ca05533b4777258c9e9b623ac2e2494356e26d093946b89e3026a871fc8eb1e8c1be07d39a2dce0f76e5fb3026e6b3e51c52014a1b0593
languageName: node
linkType: hard
-"@openmrs/esm-state@npm:^5.0.3-pre.827":
- version: 5.0.3-pre.827
- resolution: "@openmrs/esm-state@npm:5.0.3-pre.827"
+"@openmrs/esm-state@npm:^5.0.3-pre.846":
+ version: 5.0.3-pre.846
+ resolution: "@openmrs/esm-state@npm:5.0.3-pre.846"
dependencies:
zustand: ^4.3.6
- checksum: b55c0fce425484a7e0f6db9ce444e1a3729a57dadfdd48330e8c8bf69f31d70f51b0043a8251e4b6204be27bf8d33796942fdd399688b29860a4fb25a6cd9117
+ checksum: 396d85fe53f81c3695848d72f04f2e39bd2a71997417653e86cfb6f679a1f1559821c6484bdde3f70b26873f615344edcd1eac1974650da8c39636cfcd9b64ca
languageName: node
linkType: hard
-"@openmrs/esm-styleguide@npm:5.0.3-pre.827, @openmrs/esm-styleguide@npm:^5.0.3-pre.827":
- version: 5.0.3-pre.827
- resolution: "@openmrs/esm-styleguide@npm:5.0.3-pre.827"
+"@openmrs/esm-styleguide@npm:5.0.3-pre.846, @openmrs/esm-styleguide@npm:^5.0.3-pre.846":
+ version: 5.0.3-pre.846
+ resolution: "@openmrs/esm-styleguide@npm:5.0.3-pre.846"
dependencies:
"@carbon/charts": ^1.6.3
"@carbon/react": ^1.12.0
@@ -3901,26 +3901,26 @@ __metadata:
react: 18.x
react-dom: 18.x
rxjs: 6.x
- checksum: e6afd5466ea4a3ec0ca2c090b4fd2c35786ea03e7fd1c52f9a7af19f131e395f57312ddd5ce09e7fa0e7e2586986d433b6f05d56b2b3eca13d97c17d24578c66
+ checksum: 13c6ceeb1ced15bd2ca96be347d399a20a0e2a88de23f5670224a20f8b81e9afa8c86f28b14e6fbd8153917514a328d91a279b64cf006ca7b34af26fc41a419d
languageName: node
linkType: hard
-"@openmrs/esm-utils@npm:^5.0.3-pre.827":
- version: 5.0.3-pre.827
- resolution: "@openmrs/esm-utils@npm:5.0.3-pre.827"
+"@openmrs/esm-utils@npm:^5.0.3-pre.846":
+ version: 5.0.3-pre.846
+ resolution: "@openmrs/esm-utils@npm:5.0.3-pre.846"
dependencies:
semver: 7.3.2
peerDependencies:
dayjs: 1.x
i18next: 19.x
rxjs: 6.x
- checksum: 40d65f2267f825c590e572e55af5a77476f0c888ab2a4b74570dab9b2ab6f69327e3623e0755254379c521091413fac2fb94a97919c86485aa94202940bf331a
+ checksum: a6a136d67f1aba88922b7e6f4bd64dbd77bac57df35ed54f580c4d016539d65fda8f03580684fbcb1b20ec5d413e12e4125857ec553531e7ac5896ac442add1b
languageName: node
linkType: hard
-"@openmrs/webpack-config@npm:5.0.3-pre.827":
- version: 5.0.3-pre.827
- resolution: "@openmrs/webpack-config@npm:5.0.3-pre.827"
+"@openmrs/webpack-config@npm:5.0.3-pre.846":
+ version: 5.0.3-pre.846
+ resolution: "@openmrs/webpack-config@npm:5.0.3-pre.846"
dependencies:
"@swc/core": ^1.3.58
babel-preset-minify: ^0.5.1
@@ -3938,7 +3938,7 @@ __metadata:
webpack-stats-plugin: ^1.0.3
peerDependencies:
webpack: 5.x
- checksum: 2e3493e224acc24789cdeec7d8d54b35ff3601b7744aa7ab44b823af9ee2e3149c8d010d9de5450f0df51e7e634c73c9fe30fbc7e6d30ea4de9fabed9fb5659c
+ checksum: 4f4a16d6114536e3c3ee2c90cef97e8c5f0448b0dd1f3bed693c6ceab03fbd3c75369371b9dfdb5f575ccdc4ebcac835545149ec39368c5d49dc257400476fc0
languageName: node
linkType: hard
@@ -15199,11 +15199,11 @@ __metadata:
linkType: hard
"openmrs@npm:next":
- version: 5.0.3-pre.827
- resolution: "openmrs@npm:5.0.3-pre.827"
+ version: 5.0.3-pre.846
+ resolution: "openmrs@npm:5.0.3-pre.846"
dependencies:
- "@openmrs/esm-app-shell": 5.0.3-pre.827
- "@openmrs/webpack-config": 5.0.3-pre.827
+ "@openmrs/esm-app-shell": 5.0.3-pre.846
+ "@openmrs/webpack-config": 5.0.3-pre.846
"@pnpm/npm-conf": ^2.1.0
"@swc/core": ^1.3.58
autoprefixer: ^10.4.2
@@ -15232,7 +15232,7 @@ __metadata:
yargs: ^17.6.2
bin:
openmrs: dist/cli.js
- checksum: 4236575e96be7f9d56ecd263fbc6c1b3e1adefd4513a2a2271a2a4ad65ac84282654917f25e6470411202ad84da374087df263e87759bd482dac008543fc8d35
+ checksum: 10a7f9aee91ff868f99ac16319dae5b87300f72d7e52f97bb55d866f0d13c93ee10b36475af53c9a0a5954a07d980af1810347f4f925fcf6499ea3b63b214bc8
languageName: node
linkType: hard
From 541a7fb0fdbdb6bc5c8590b9e0a0d2d26110bb29 Mon Sep 17 00:00:00 2001
From: Vineet Sharma
Date: Thu, 29 Jun 2023 14:38:18 +0530
Subject: [PATCH 17/17] Fixed the incorrect assignment to isOffline (#746)
---
.../src/root.component.tsx | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/packages/esm-patient-registration-app/src/root.component.tsx b/packages/esm-patient-registration-app/src/root.component.tsx
index c300f8a24..bdbe564c7 100644
--- a/packages/esm-patient-registration-app/src/root.component.tsx
+++ b/packages/esm-patient-registration-app/src/root.component.tsx
@@ -14,7 +14,7 @@ import useSWRImmutable from 'swr/immutable';
import styles from './root.scss';
export default function Root() {
- const isOffline = useConnectivity();
+ const isOnline = useConnectivity();
const currentSession = useSession();
const { data: addressTemplate } = useSWRImmutable('patientRegistrationAddressTemplate', fetchAddressTemplate);
const { data: relationshipTypes } = useSWRImmutable(
@@ -26,8 +26,8 @@ export default function Root() {
fetchPatientIdentifierTypesWithSources,
);
const savePatientForm = useMemo(
- () => (isOffline ? FormManager.savePatientFormOffline : FormManager.savePatientFormOnline),
- [isOffline],
+ () => (isOnline ? FormManager.savePatientFormOnline : FormManager.savePatientFormOffline),
+ [isOnline],
);
return (
@@ -47,11 +47,11 @@ export default function Root() {
}
+ element={}
/>
}
+ element={}
/>