@medplum/dosespot-react 4.3.8 → 4.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs.map +2 -2
- package/dist/esm/index.mjs.map +2 -2
- package/package.json +13 -12
package/dist/cjs/index.cjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.ts", "../../src/common.ts", "../../src/useDoseSpotIFrame.ts", "../../src/useDoseSpotNotifications.ts"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": "wpBAAA,
|
|
4
|
+
"sourcesContent": ["// SPDX-FileCopyrightText: Copyright Orangebot, Inc. and Medplum contributors\n// SPDX-License-Identifier: Apache-2.0\nexport * from './common';\nexport * from './useDoseSpotIFrame';\nexport * from './useDoseSpotNotifications';\n", "// SPDX-FileCopyrightText: Copyright Orangebot, Inc. and Medplum contributors\n// SPDX-License-Identifier: Apache-2.0\nimport { Identifier } from '@medplum/fhirtypes';\n\nexport const MEDPLUM_BOT_SYSTEM = 'https://www.medplum.com/bots';\n\nexport const DOSESPOT_PATIENT_ID_SYSTEM = 'https://dosespot.com/patient-id';\n\nexport const DOSESPOT_PATIENT_SYNC_BOT: Identifier = { system: MEDPLUM_BOT_SYSTEM, value: 'dosespot-patient-sync-bot' };\n\nexport const DOSESPOT_IFRAME_BOT: Identifier = { system: MEDPLUM_BOT_SYSTEM, value: 'dosespot-iframe-bot' };\n\nexport const DOSESPOT_MEDICATION_HISTORY_BOT: Identifier = {\n system: MEDPLUM_BOT_SYSTEM,\n value: 'dosespot-medication-history-bot',\n};\n\nexport const DOSESPOT_PRESCRIPTIONS_SYNC_BOT: Identifier = {\n system: MEDPLUM_BOT_SYSTEM,\n value: 'dosespot-prescriptions-sync-bot',\n};\n\nexport const DOSESPOT_NOTIFICATION_COUNTS_BOT: Identifier = {\n system: MEDPLUM_BOT_SYSTEM,\n value: 'dosespot-notification-counts-bot',\n};\n\nexport interface DoseSpotNotificationCountsResponse {\n PendingPrescriptionsCount: number;\n PendingRxChangeCount: number;\n RefillRequestsCount: number;\n TransactionErrorsCount: number;\n}\n", "// SPDX-FileCopyrightText: Copyright Orangebot, Inc. and Medplum contributors\n// SPDX-License-Identifier: Apache-2.0\nimport { useMedplum } from '@medplum/react-hooks';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport { DOSESPOT_IFRAME_BOT, DOSESPOT_PATIENT_SYNC_BOT } from './common';\n\nexport interface DoseSpotIFrameOptions {\n readonly patientId?: string;\n readonly onPatientSyncSuccess?: () => void;\n readonly onIframeSuccess?: (url: string) => void;\n readonly onError?: (err: unknown) => void;\n}\n\nexport function useDoseSpotIFrame(options: DoseSpotIFrameOptions): string | undefined {\n const medplum = useMedplum();\n const { patientId, onPatientSyncSuccess, onIframeSuccess, onError } = options;\n const initializingRef = useRef<boolean>(false);\n const [iframeUrl, setIframeUrl] = useState<string | undefined>(undefined);\n\n const onPatientSyncSuccessRef = useRef(onPatientSyncSuccess);\n onPatientSyncSuccessRef.current = onPatientSyncSuccess;\n\n const onIframeSuccessRef = useRef(onIframeSuccess);\n onIframeSuccessRef.current = onIframeSuccess;\n\n const onErrorRef = useRef(onError);\n onErrorRef.current = onError;\n\n const initPage = useCallback(async () => {\n if (initializingRef.current) {\n return;\n }\n\n initializingRef.current = true;\n try {\n if (patientId) {\n await medplum.executeBot(DOSESPOT_PATIENT_SYNC_BOT, { patientId });\n onPatientSyncSuccessRef.current?.();\n }\n const result = await medplum.executeBot(DOSESPOT_IFRAME_BOT, { patientId });\n if (result.url) {\n setIframeUrl(result.url);\n onIframeSuccessRef.current?.(result.url);\n }\n } catch (err: unknown) {\n onErrorRef.current?.(err);\n }\n }, [medplum, patientId]);\n\n useEffect(() => {\n initPage().catch(console.error);\n }, [initPage]);\n\n return iframeUrl;\n}\n", "// SPDX-FileCopyrightText: Copyright Orangebot, Inc. and Medplum contributors\n// SPDX-License-Identifier: Apache-2.0\nimport { useMedplum } from '@medplum/react-hooks';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport { DOSESPOT_NOTIFICATION_COUNTS_BOT, DoseSpotNotificationCountsResponse } from './common';\n\nexport interface DoseSpotNotificationsOptions {\n readonly refreshIntervalMilliseconds?: number;\n readonly onChange?: (count: number) => void;\n readonly onError?: (err: unknown) => void;\n}\n\nconst DEFAULT_REFRESH_INTERVAL_MILLISECONDS = 10000;\n\nexport function useDoseSpotNotifications(options?: DoseSpotNotificationsOptions): number | undefined {\n const medplum = useMedplum();\n const { onChange, onError } = options ?? {};\n const hasDoseSpot = medplum.getProjectMembership()?.identifier?.some((i) => i.system?.includes('dosespot'));\n const refreshInterval = options?.refreshIntervalMilliseconds ?? DEFAULT_REFRESH_INTERVAL_MILLISECONDS;\n const timerRef = useRef<NodeJS.Timeout | undefined>(undefined);\n const [unreadCount, setUnreadCount] = useState<number | undefined>(undefined);\n\n const stopTimer = useCallback(() => {\n const timerId = timerRef.current;\n if (timerId) {\n clearInterval(timerId);\n }\n }, []);\n\n const updateCount = useCallback(async () => {\n try {\n const result = (await medplum.executeBot(\n DOSESPOT_NOTIFICATION_COUNTS_BOT,\n {}\n )) as DoseSpotNotificationCountsResponse;\n\n let newCount = 0;\n if (result.PendingPrescriptionsCount) {\n newCount += result.PendingPrescriptionsCount;\n }\n if (result.PendingRxChangeCount) {\n newCount += result.PendingRxChangeCount;\n }\n if (result.RefillRequestsCount) {\n newCount += result.RefillRequestsCount;\n }\n if (result.TransactionErrorsCount) {\n newCount += result.TransactionErrorsCount;\n }\n if (newCount !== unreadCount) {\n setUnreadCount(newCount);\n onChange?.(newCount);\n }\n } catch (err: unknown) {\n onError?.(err);\n stopTimer();\n }\n }, [medplum, unreadCount, onChange, onError, stopTimer]);\n\n const startTimer = useCallback(() => {\n timerRef.current = setInterval(() => {\n updateCount().catch(console.error);\n }, refreshInterval);\n }, [updateCount, refreshInterval]);\n\n useEffect(() => {\n // Start an interval timer to update the count every 5 seconds\n if (hasDoseSpot) {\n startTimer();\n }\n\n // Clear the interval timer when the component is unmounted\n return stopTimer;\n }, [hasDoseSpot, startTimer, stopTimer]);\n\n return unreadCount;\n}\n"],
|
|
5
|
+
"mappings": "wpBAAA,8kBCIO,IAAM,mBAAqB,+BAErB,2BAA6B,kCAE7B,0BAAwC,CAAE,OAAQ,mBAAoB,MAAO,2BAA4B,EAEzG,oBAAkC,CAAE,OAAQ,mBAAoB,MAAO,qBAAsB,EAE7F,gCAA8C,CACzD,OAAQ,mBACR,MAAO,iCACT,EAEa,gCAA8C,CACzD,OAAQ,mBACR,MAAO,iCACT,EAEa,iCAA+C,CAC1D,OAAQ,mBACR,MAAO,kCACT,ECvBA,uBAA2B,gCAC3B,aAAyD,iBAUlD,SAAS,kBAAkB,QAAoD,CACpF,IAAM,WAAU,+BAAW,EACrB,CAAE,UAAW,qBAAsB,gBAAiB,OAAQ,EAAI,QAChE,mBAAkB,qBAAgB,EAAK,EACvC,CAAC,UAAW,YAAY,KAAI,uBAA6B,MAAS,EAElE,2BAA0B,qBAAO,oBAAoB,EAC3D,wBAAwB,QAAU,qBAElC,IAAM,sBAAqB,qBAAO,eAAe,EACjD,mBAAmB,QAAU,gBAE7B,IAAM,cAAa,qBAAO,OAAO,EACjC,WAAW,QAAU,QAErB,IAAM,YAAW,0BAAY,SAAY,CACvC,GAAI,iBAAgB,QAIpB,iBAAgB,QAAU,GAC1B,GAAI,CACE,YACF,MAAM,QAAQ,WAAW,0BAA2B,CAAE,SAAU,CAAC,EACjE,wBAAwB,UAAU,GAEpC,IAAM,OAAS,MAAM,QAAQ,WAAW,oBAAqB,CAAE,SAAU,CAAC,EACtE,OAAO,MACT,aAAa,OAAO,GAAG,EACvB,mBAAmB,UAAU,OAAO,GAAG,EAE3C,OAAS,IAAc,CACrB,WAAW,UAAU,GAAG,CAC1B,EACF,EAAG,CAAC,QAAS,SAAS,CAAC,EAEvB,iCAAU,IAAM,CACd,SAAS,EAAE,MAAM,QAAQ,KAAK,CAChC,EAAG,CAAC,QAAQ,CAAC,EAEN,SACT,CCpDA,IAAAA,oBAA2B,gCAC3BC,cAAyD,iBASzD,IAAM,sCAAwC,IAEvC,SAAS,yBAAyB,QAA4D,CACnG,IAAM,WAAU,gCAAW,EACrB,CAAE,SAAU,OAAQ,EAAI,SAAW,CAAC,EACpC,YAAc,QAAQ,qBAAqB,GAAG,YAAY,KAAM,GAAM,EAAE,QAAQ,SAAS,UAAU,CAAC,EACpG,gBAAkB,SAAS,6BAA+B,sCAC1D,YAAW,sBAAmC,MAAS,EACvD,CAAC,YAAa,cAAc,KAAI,wBAA6B,MAAS,EAEtE,aAAY,2BAAY,IAAM,CAClC,IAAM,QAAU,SAAS,QACrB,SACF,cAAc,OAAO,CAEzB,EAAG,CAAC,CAAC,EAEC,eAAc,2BAAY,SAAY,CAC1C,GAAI,CACF,IAAM,OAAU,MAAM,QAAQ,WAC5B,iCACA,CAAC,CACH,EAEI,SAAW,EACX,OAAO,4BACT,UAAY,OAAO,2BAEjB,OAAO,uBACT,UAAY,OAAO,sBAEjB,OAAO,sBACT,UAAY,OAAO,qBAEjB,OAAO,yBACT,UAAY,OAAO,wBAEjB,WAAa,cACf,eAAe,QAAQ,EACvB,WAAW,QAAQ,EAEvB,OAAS,IAAc,CACrB,UAAU,GAAG,EACb,UAAU,CACZ,CACF,EAAG,CAAC,QAAS,YAAa,SAAU,QAAS,SAAS,CAAC,EAEjD,cAAa,2BAAY,IAAM,CACnC,SAAS,QAAU,YAAY,IAAM,CACnC,YAAY,EAAE,MAAM,QAAQ,KAAK,CACnC,EAAG,eAAe,CACpB,EAAG,CAAC,YAAa,eAAe,CAAC,EAEjC,kCAAU,KAEJ,aACF,WAAW,EAIN,WACN,CAAC,YAAa,WAAY,SAAS,CAAC,EAEhC,WACT",
|
|
6
6
|
"names": ["import_react_hooks", "import_react"]
|
|
7
7
|
}
|
package/dist/esm/index.mjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/common.ts", "../../src/useDoseSpotIFrame.ts", "../../src/useDoseSpotNotifications.ts"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["// SPDX-FileCopyrightText: Copyright Orangebot, Inc. and Medplum contributors\n// SPDX-License-Identifier: Apache-2.0\nimport { Identifier } from '@medplum/fhirtypes';\n\nexport const MEDPLUM_BOT_SYSTEM = 'https://www.medplum.com/bots';\n\nexport const DOSESPOT_PATIENT_ID_SYSTEM = 'https://dosespot.com/patient-id';\n\nexport const DOSESPOT_PATIENT_SYNC_BOT: Identifier = { system: MEDPLUM_BOT_SYSTEM, value: 'dosespot-patient-sync-bot' };\n\nexport const DOSESPOT_IFRAME_BOT: Identifier = { system: MEDPLUM_BOT_SYSTEM, value: 'dosespot-iframe-bot' };\n\nexport const DOSESPOT_MEDICATION_HISTORY_BOT: Identifier = {\n system: MEDPLUM_BOT_SYSTEM,\n value: 'dosespot-medication-history-bot',\n};\n\nexport const DOSESPOT_PRESCRIPTIONS_SYNC_BOT: Identifier = {\n system: MEDPLUM_BOT_SYSTEM,\n value: 'dosespot-prescriptions-sync-bot',\n};\n\nexport const DOSESPOT_NOTIFICATION_COUNTS_BOT: Identifier = {\n system: MEDPLUM_BOT_SYSTEM,\n value: 'dosespot-notification-counts-bot',\n};\n\nexport interface DoseSpotNotificationCountsResponse {\n PendingPrescriptionsCount: number;\n PendingRxChangeCount: number;\n RefillRequestsCount: number;\n TransactionErrorsCount: number;\n}\n", "// SPDX-FileCopyrightText: Copyright Orangebot, Inc. and Medplum contributors\n// SPDX-License-Identifier: Apache-2.0\nimport { useMedplum } from '@medplum/react-hooks';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport { DOSESPOT_IFRAME_BOT, DOSESPOT_PATIENT_SYNC_BOT } from './common';\n\nexport interface DoseSpotIFrameOptions {\n readonly patientId?: string;\n readonly onPatientSyncSuccess?: () => void;\n readonly onIframeSuccess?: (url: string) => void;\n readonly onError?: (err: unknown) => void;\n}\n\nexport function useDoseSpotIFrame(options: DoseSpotIFrameOptions): string | undefined {\n const medplum = useMedplum();\n const { patientId, onPatientSyncSuccess, onIframeSuccess, onError } = options;\n const initializingRef = useRef<boolean>(false);\n const [iframeUrl, setIframeUrl] = useState<string | undefined>(undefined);\n\n const onPatientSyncSuccessRef = useRef(onPatientSyncSuccess);\n onPatientSyncSuccessRef.current = onPatientSyncSuccess;\n\n const onIframeSuccessRef = useRef(onIframeSuccess);\n onIframeSuccessRef.current = onIframeSuccess;\n\n const onErrorRef = useRef(onError);\n onErrorRef.current = onError;\n\n const initPage = useCallback(async () => {\n if (initializingRef.current) {\n return;\n }\n\n initializingRef.current = true;\n try {\n if (patientId) {\n await medplum.executeBot(DOSESPOT_PATIENT_SYNC_BOT, { patientId });\n onPatientSyncSuccessRef.current?.();\n }\n const result = await medplum.executeBot(DOSESPOT_IFRAME_BOT, { patientId });\n if (result.url) {\n setIframeUrl(result.url);\n onIframeSuccessRef.current?.(result.url);\n }\n } catch (err: unknown) {\n onErrorRef.current?.(err);\n }\n }, [medplum, patientId]);\n\n useEffect(() => {\n initPage().catch(console.error);\n }, [initPage]);\n\n return iframeUrl;\n}\n", "// SPDX-FileCopyrightText: Copyright Orangebot, Inc. and Medplum contributors\n// SPDX-License-Identifier: Apache-2.0\nimport { useMedplum } from '@medplum/react-hooks';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport { DOSESPOT_NOTIFICATION_COUNTS_BOT, DoseSpotNotificationCountsResponse } from './common';\n\nexport interface DoseSpotNotificationsOptions {\n readonly refreshIntervalMilliseconds?: number;\n readonly onChange?: (count: number) => void;\n readonly onError?: (err: unknown) => void;\n}\n\nconst DEFAULT_REFRESH_INTERVAL_MILLISECONDS = 10000;\n\nexport function useDoseSpotNotifications(options?: DoseSpotNotificationsOptions): number | undefined {\n const medplum = useMedplum();\n const { onChange, onError } = options ?? {};\n const hasDoseSpot = medplum.getProjectMembership()?.identifier?.some((i) => i.system?.includes('dosespot'));\n const refreshInterval = options?.refreshIntervalMilliseconds ?? DEFAULT_REFRESH_INTERVAL_MILLISECONDS;\n const timerRef = useRef<NodeJS.Timeout | undefined>(undefined);\n const [unreadCount, setUnreadCount] = useState<number | undefined>(undefined);\n\n const stopTimer = useCallback(() => {\n const timerId = timerRef.current;\n if (timerId) {\n clearInterval(timerId);\n }\n }, []);\n\n const updateCount = useCallback(async () => {\n try {\n const result = (await medplum.executeBot(\n DOSESPOT_NOTIFICATION_COUNTS_BOT,\n {}\n )) as DoseSpotNotificationCountsResponse;\n\n let newCount = 0;\n if (result.PendingPrescriptionsCount) {\n newCount += result.PendingPrescriptionsCount;\n }\n if (result.PendingRxChangeCount) {\n newCount += result.PendingRxChangeCount;\n }\n if (result.RefillRequestsCount) {\n newCount += result.RefillRequestsCount;\n }\n if (result.TransactionErrorsCount) {\n newCount += result.TransactionErrorsCount;\n }\n if (newCount !== unreadCount) {\n setUnreadCount(newCount);\n onChange?.(newCount);\n }\n } catch (err: unknown) {\n onError?.(err);\n stopTimer();\n }\n }, [medplum, unreadCount, onChange, onError, stopTimer]);\n\n const startTimer = useCallback(() => {\n timerRef.current = setInterval(() => {\n updateCount().catch(console.error);\n }, refreshInterval);\n }, [updateCount, refreshInterval]);\n\n useEffect(() => {\n // Start an interval timer to update the count every 5 seconds\n if (hasDoseSpot) {\n startTimer();\n }\n\n // Clear the interval timer when the component is unmounted\n return stopTimer;\n }, [hasDoseSpot, startTimer, stopTimer]);\n\n return unreadCount;\n}\n"],
|
|
5
|
+
"mappings": "AAIO,IAAM,mBAAqB,+BAErB,2BAA6B,kCAE7B,0BAAwC,CAAE,OAAQ,mBAAoB,MAAO,2BAA4B,EAEzG,oBAAkC,CAAE,OAAQ,mBAAoB,MAAO,qBAAsB,EAE7F,gCAA8C,CACzD,OAAQ,mBACR,MAAO,iCACT,EAEa,gCAA8C,CACzD,OAAQ,mBACR,MAAO,iCACT,EAEa,iCAA+C,CAC1D,OAAQ,mBACR,MAAO,kCACT,ECvBA,OAAS,eAAkB,uBAC3B,OAAS,YAAa,UAAW,OAAQ,aAAgB,QAUlD,SAAS,kBAAkB,QAAoD,CACpF,IAAM,QAAU,WAAW,EACrB,CAAE,UAAW,qBAAsB,gBAAiB,OAAQ,EAAI,QAChE,gBAAkB,OAAgB,EAAK,EACvC,CAAC,UAAW,YAAY,EAAI,SAA6B,MAAS,EAElE,wBAA0B,OAAO,oBAAoB,EAC3D,wBAAwB,QAAU,qBAElC,IAAM,mBAAqB,OAAO,eAAe,EACjD,mBAAmB,QAAU,gBAE7B,IAAM,WAAa,OAAO,OAAO,EACjC,WAAW,QAAU,QAErB,IAAM,SAAW,YAAY,SAAY,CACvC,GAAI,iBAAgB,QAIpB,iBAAgB,QAAU,GAC1B,GAAI,CACE,YACF,MAAM,QAAQ,WAAW,0BAA2B,CAAE,SAAU,CAAC,EACjE,wBAAwB,UAAU,GAEpC,IAAM,OAAS,MAAM,QAAQ,WAAW,oBAAqB,CAAE,SAAU,CAAC,EACtE,OAAO,MACT,aAAa,OAAO,GAAG,EACvB,mBAAmB,UAAU,OAAO,GAAG,EAE3C,OAAS,IAAc,CACrB,WAAW,UAAU,GAAG,CAC1B,EACF,EAAG,CAAC,QAAS,SAAS,CAAC,EAEvB,iBAAU,IAAM,CACd,SAAS,EAAE,MAAM,QAAQ,KAAK,CAChC,EAAG,CAAC,QAAQ,CAAC,EAEN,SACT,CCpDA,OAAS,cAAAA,gBAAkB,uBAC3B,OAAS,eAAAC,aAAa,aAAAC,WAAW,UAAAC,QAAQ,YAAAC,cAAgB,QASzD,IAAM,sCAAwC,IAEvC,SAAS,yBAAyB,QAA4D,CACnG,IAAM,QAAUC,YAAW,EACrB,CAAE,SAAU,OAAQ,EAAI,SAAW,CAAC,EACpC,YAAc,QAAQ,qBAAqB,GAAG,YAAY,KAAM,GAAM,EAAE,QAAQ,SAAS,UAAU,CAAC,EACpG,gBAAkB,SAAS,6BAA+B,sCAC1D,SAAWC,QAAmC,MAAS,EACvD,CAAC,YAAa,cAAc,EAAIC,UAA6B,MAAS,EAEtE,UAAYC,aAAY,IAAM,CAClC,IAAM,QAAU,SAAS,QACrB,SACF,cAAc,OAAO,CAEzB,EAAG,CAAC,CAAC,EAEC,YAAcA,aAAY,SAAY,CAC1C,GAAI,CACF,IAAM,OAAU,MAAM,QAAQ,WAC5B,iCACA,CAAC,CACH,EAEI,SAAW,EACX,OAAO,4BACT,UAAY,OAAO,2BAEjB,OAAO,uBACT,UAAY,OAAO,sBAEjB,OAAO,sBACT,UAAY,OAAO,qBAEjB,OAAO,yBACT,UAAY,OAAO,wBAEjB,WAAa,cACf,eAAe,QAAQ,EACvB,WAAW,QAAQ,EAEvB,OAAS,IAAc,CACrB,UAAU,GAAG,EACb,UAAU,CACZ,CACF,EAAG,CAAC,QAAS,YAAa,SAAU,QAAS,SAAS,CAAC,EAEjD,WAAaA,aAAY,IAAM,CACnC,SAAS,QAAU,YAAY,IAAM,CACnC,YAAY,EAAE,MAAM,QAAQ,KAAK,CACnC,EAAG,eAAe,CACpB,EAAG,CAAC,YAAa,eAAe,CAAC,EAEjC,OAAAC,WAAU,KAEJ,aACF,WAAW,EAIN,WACN,CAAC,YAAa,WAAY,SAAS,CAAC,EAEhC,WACT",
|
|
6
6
|
"names": ["useMedplum", "useCallback", "useEffect", "useRef", "useState", "useMedplum", "useRef", "useState", "useCallback", "useEffect"]
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@medplum/dosespot-react",
|
|
3
|
-
"version": "4.3.
|
|
3
|
+
"version": "4.3.9",
|
|
4
4
|
"description": "Medplum DoseSpot React SDK",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"medplum",
|
|
@@ -55,29 +55,30 @@
|
|
|
55
55
|
"build": "npm run clean && tsc --project tsconfig.build.json && node esbuild.mjs && npm run api-extractor",
|
|
56
56
|
"clean": "rimraf dist",
|
|
57
57
|
"lint": "eslint src/",
|
|
58
|
+
"lint:fix": "eslint src/ --fix",
|
|
58
59
|
"test": "vitest run",
|
|
59
60
|
"test:watch": "vitest watch"
|
|
60
61
|
},
|
|
61
62
|
"devDependencies": {
|
|
62
|
-
"@medplum/core": "4.3.
|
|
63
|
-
"@medplum/fhirtypes": "4.3.
|
|
64
|
-
"@medplum/mock": "4.3.
|
|
65
|
-
"@medplum/react": "4.3.
|
|
63
|
+
"@medplum/core": "4.3.9",
|
|
64
|
+
"@medplum/fhirtypes": "4.3.9",
|
|
65
|
+
"@medplum/mock": "4.3.9",
|
|
66
|
+
"@medplum/react": "4.3.9",
|
|
66
67
|
"@testing-library/jest-dom": "6.6.4",
|
|
67
68
|
"@testing-library/react": "16.3.0",
|
|
68
69
|
"@types/node": "20.19.9",
|
|
69
|
-
"@types/react": "19.1.
|
|
70
|
-
"@types/react-dom": "19.1.
|
|
70
|
+
"@types/react": "19.1.9",
|
|
71
|
+
"@types/react-dom": "19.1.7",
|
|
71
72
|
"@vitejs/plugin-react": "4.7.0",
|
|
72
73
|
"jsdom": "26.1.0",
|
|
73
|
-
"react": "19.1.
|
|
74
|
-
"react-dom": "19.1.
|
|
74
|
+
"react": "19.1.1",
|
|
75
|
+
"react-dom": "19.1.1",
|
|
75
76
|
"vitest": "3.2.4"
|
|
76
77
|
},
|
|
77
78
|
"peerDependencies": {
|
|
78
|
-
"@medplum/core": "4.3.
|
|
79
|
-
"@medplum/fhirtypes": "4.3.
|
|
80
|
-
"@medplum/react-hooks": "4.3.
|
|
79
|
+
"@medplum/core": "4.3.9",
|
|
80
|
+
"@medplum/fhirtypes": "4.3.9",
|
|
81
|
+
"@medplum/react-hooks": "4.3.9",
|
|
81
82
|
"react": "^18.0.0 || ^19.0.0"
|
|
82
83
|
},
|
|
83
84
|
"engines": {
|