diff --git a/packages/sdks/angular-sdk/projects/angular-sdk/src/lib/components/descope/descope.component.ts b/packages/sdks/angular-sdk/projects/angular-sdk/src/lib/components/descope/descope.component.ts index f3f1604b5..2423bef55 100644 --- a/packages/sdks/angular-sdk/projects/angular-sdk/src/lib/components/descope/descope.component.ts +++ b/packages/sdks/angular-sdk/projects/angular-sdk/src/lib/components/descope/descope.component.ts @@ -63,7 +63,9 @@ export class DescopeComponent implements OnInit, OnChanges { ngOnInit() { const sdk = this.authService.descopeSdk; // Capture the class context in a variable - DescopeWc.sdkConfigOverrides = { + const WebComponent: any = customElements?.get('descope-wc') || DescopeWc; + + WebComponent.sdkConfigOverrides = { // Overrides the web-component's base headers to indicate usage via the React SDK baseHeaders, // Disables token persistence within the web-component to delegate token management @@ -126,10 +128,16 @@ export class DescopeComponent implements OnInit, OnChanges { this.webComponent.setAttribute('auto-focus', this.autoFocus.toString()); } if (this.validateOnBlur) { - this.webComponent.setAttribute('validate-on-blur', this.autoFocus.toString()); + this.webComponent.setAttribute( + 'validate-on-blur', + this.autoFocus.toString() + ); } if (this.restartOnError) { - this.webComponent.setAttribute('restart-on-error', this.autoFocus.toString()); + this.webComponent.setAttribute( + 'restart-on-error', + this.autoFocus.toString() + ); } if (this.debug) { this.webComponent.setAttribute('debug', this.debug.toString()); diff --git a/packages/sdks/react-sdk/src/components/AccessKeyManagement.tsx b/packages/sdks/react-sdk/src/components/AccessKeyManagement.tsx index 5834f1ea3..18b4b9d8d 100644 --- a/packages/sdks/react-sdk/src/components/AccessKeyManagement.tsx +++ b/packages/sdks/react-sdk/src/components/AccessKeyManagement.tsx @@ -10,7 +10,7 @@ const AccessKeyManagementWC = lazy(async () => { return { default: withPropsMapping( React.forwardRef((props, ref) => ( - + )), ), }; @@ -27,8 +27,8 @@ const AccessKeyManagement = React.forwardRef< const { projectId, baseUrl, baseStaticUrl } = React.useContext(Context); return ( - - + - + ); }); diff --git a/packages/sdks/react-sdk/src/components/ApplicationsPortal.tsx b/packages/sdks/react-sdk/src/components/ApplicationsPortal.tsx index e10922a90..ff54c2317 100644 --- a/packages/sdks/react-sdk/src/components/ApplicationsPortal.tsx +++ b/packages/sdks/react-sdk/src/components/ApplicationsPortal.tsx @@ -10,7 +10,7 @@ const ApplicationsPortalWC = lazy(async () => { return { default: withPropsMapping( React.forwardRef((props, ref) => ( - + )), ), }; @@ -27,8 +27,8 @@ const ApplicationsPortal = React.forwardRef< const { projectId, baseUrl, baseStaticUrl } = React.useContext(Context); return ( - - + - + ); }); diff --git a/packages/sdks/react-sdk/src/components/AuditManagement.tsx b/packages/sdks/react-sdk/src/components/AuditManagement.tsx index 8a330c68b..c810470bf 100644 --- a/packages/sdks/react-sdk/src/components/AuditManagement.tsx +++ b/packages/sdks/react-sdk/src/components/AuditManagement.tsx @@ -10,7 +10,7 @@ const AuditManagementWC = lazy(async () => { return { default: withPropsMapping( React.forwardRef((props, ref) => ( - + )), ), }; @@ -25,8 +25,8 @@ const AuditManagement = React.forwardRef( const { projectId, baseUrl, baseStaticUrl } = React.useContext(Context); return ( - - + ( 'logger.prop': logger, }} /> - + ); }, ); diff --git a/packages/sdks/react-sdk/src/components/Descope.tsx b/packages/sdks/react-sdk/src/components/Descope.tsx index c2012b58a..44a13ea22 100644 --- a/packages/sdks/react-sdk/src/components/Descope.tsx +++ b/packages/sdks/react-sdk/src/components/Descope.tsx @@ -14,8 +14,11 @@ import withPropsMapping from './withPropsMapping'; // web-component code uses browser API, but can be used in SSR apps, hence the lazy loading const DescopeWC = lazy(async () => { - const module = await import('@descope/web-component'); - module.default.sdkConfigOverrides = { + const WebComponent: any = + customElements?.get('descope-wc') || + (await import('@descope/web-component').then((module) => module.default)); + + WebComponent.sdkConfigOverrides = { // Overrides the web-component's base headers to indicate usage via the React SDK baseHeaders, // Disables token persistence within the web-component to delegate token management @@ -39,7 +42,7 @@ const DescopeWC = lazy(async () => { return { default: withPropsMapping( React.forwardRef((props, ref) => ( - + )), ), }; @@ -147,9 +150,9 @@ const Descope = React.forwardRef( * it can be removed once this issue will be solved * https://bugs.chromium.org/p/chromium/issues/detail?id=1404106#c2 */ -
- - + + ( 'logger.prop': logger, }} /> - - +
+ ); }, ); diff --git a/packages/sdks/react-sdk/src/components/RoleManagement.tsx b/packages/sdks/react-sdk/src/components/RoleManagement.tsx index 7e3e1cb74..9c91c7b7e 100644 --- a/packages/sdks/react-sdk/src/components/RoleManagement.tsx +++ b/packages/sdks/react-sdk/src/components/RoleManagement.tsx @@ -10,7 +10,7 @@ const RoleManagementWC = lazy(async () => { return { default: withPropsMapping( React.forwardRef((props, ref) => ( - + )), ), }; @@ -25,8 +25,8 @@ const RoleManagement = React.forwardRef( const { projectId, baseUrl, baseStaticUrl } = React.useContext(Context); return ( - - + ( 'logger.prop': logger, }} /> - + ); }, ); diff --git a/packages/sdks/react-sdk/src/components/UserManagement.tsx b/packages/sdks/react-sdk/src/components/UserManagement.tsx index 5b50f9665..831c4823b 100644 --- a/packages/sdks/react-sdk/src/components/UserManagement.tsx +++ b/packages/sdks/react-sdk/src/components/UserManagement.tsx @@ -10,7 +10,7 @@ const UserManagementWC = lazy(async () => { return { default: withPropsMapping( React.forwardRef((props, ref) => ( - + )), ), }; @@ -25,8 +25,8 @@ const UserManagement = React.forwardRef( const { projectId, baseUrl, baseStaticUrl } = React.useContext(Context); return ( - - + ( 'logger.prop': logger, }} /> - + ); }, ); diff --git a/packages/sdks/react-sdk/src/components/UserProfile.tsx b/packages/sdks/react-sdk/src/components/UserProfile.tsx index d21af9e13..7ee9c4059 100644 --- a/packages/sdks/react-sdk/src/components/UserProfile.tsx +++ b/packages/sdks/react-sdk/src/components/UserProfile.tsx @@ -16,7 +16,7 @@ const UserProfileWC = lazy(async () => { return { default: withPropsMapping( React.forwardRef((props, ref) => ( - + )), ), }; @@ -39,8 +39,8 @@ const UserProfile = React.forwardRef( }, [innerRef, onLogout]); return ( - - + ( 'logger.prop': logger, }} /> - + ); }, ); diff --git a/packages/sdks/react-sdk/src/components/withPropsMapping/index.tsx b/packages/sdks/react-sdk/src/components/withPropsMapping/index.tsx index 8926ba6ba..27a8852ff 100644 --- a/packages/sdks/react-sdk/src/components/withPropsMapping/index.tsx +++ b/packages/sdks/react-sdk/src/components/withPropsMapping/index.tsx @@ -24,17 +24,21 @@ const withPropsMapping =

>( Component: ComponentType, ) => React.forwardRef((props, ref) => { - const { prop, attr, rest } = useMemo(() => Object.entries(props).reduce( - (acc, [key, value]) => { - const { trimmedKey, category } = transformKey(key); - if (category === 'prop') acc.prop.push([trimmedKey, value]); - else if (category === 'attr') - acc.attr.push([kebabCase(trimmedKey), transformAttrValue(value)]); - else Object.assign(acc.rest, { [kebabCase(trimmedKey)]: value }); - return acc; - }, - { attr: [], prop: [], rest: {} }, - ), [props]); + const { prop, attr, rest } = useMemo( + () => + Object.entries(props).reduce( + (acc, [key, value]) => { + const { trimmedKey, category } = transformKey(key); + if (category === 'prop') acc.prop.push([trimmedKey, value]); + else if (category === 'attr') + acc.attr.push([kebabCase(trimmedKey), transformAttrValue(value)]); + else Object.assign(acc.rest, { [kebabCase(trimmedKey)]: value }); + return acc; + }, + { attr: [], prop: [], rest: {} }, + ), + [props], + ); const currRef = useRef(null); diff --git a/packages/sdks/react-sdk/src/components/withPropsMapping/utils.ts b/packages/sdks/react-sdk/src/components/withPropsMapping/utils.ts index fa2bef033..93ff848f1 100644 --- a/packages/sdks/react-sdk/src/components/withPropsMapping/utils.ts +++ b/packages/sdks/react-sdk/src/components/withPropsMapping/utils.ts @@ -1,4 +1,3 @@ - export const transformKey = (key: string) => { // eslint-disable-next-line no-sparse-arrays const [, trimmedKey, category] = /(.*)\.(prop|attr)$/.exec(key) || [ @@ -10,6 +9,4 @@ export const transformKey = (key: string) => { }; export const transformAttrValue = (value: any) => - typeof value === 'string' || value == null - ? value - : JSON.stringify(value); + typeof value === 'string' || value == null ? value : JSON.stringify(value); diff --git a/packages/sdks/vue-sdk/src/Descope.vue b/packages/sdks/vue-sdk/src/Descope.vue index f23097881..12a39d525 100644 --- a/packages/sdks/vue-sdk/src/Descope.vue +++ b/packages/sdks/vue-sdk/src/Descope.vue @@ -36,7 +36,9 @@ import { computed } from 'vue'; import { getGlobalSdk } from './sdk'; import type { JWTResponse, ErrorResponse } from './types'; -DescopeWcClass.sdkConfigOverrides = { +const WebComponent: any = customElements?.get('descope-wc') || DescopeWcClass; + +WebComponent.sdkConfigOverrides = { // Overrides the web-component's base headers to indicate usage via the React SDK baseHeaders, // Disables token persistence within the web-component to delegate token management diff --git a/packages/sdks/web-component/src/lib/descope-wc/BaseDescopeWc.ts b/packages/sdks/web-component/src/lib/descope-wc/BaseDescopeWc.ts index 91759a502..4499338d4 100644 --- a/packages/sdks/web-component/src/lib/descope-wc/BaseDescopeWc.ts +++ b/packages/sdks/web-component/src/lib/descope-wc/BaseDescopeWc.ts @@ -229,7 +229,7 @@ class BaseDescopeWc extends BaseClass { } #syncStateIdFromUrl() { - const { stepId, executionId } = getRunIdsFromUrl(); + const { stepId, executionId } = getRunIdsFromUrl(this.flowId); this.#flowState.update({ stepId, executionId }); } @@ -517,7 +517,7 @@ class BaseDescopeWc extends BaseClass { redirectAuthCodeChallenge, redirectAuthInitiator, ssoQueryParams, - } = handleUrlParams(); + } = handleUrlParams(this.flowId, this.loggerWrapper); // we want to update the state when user clicks on back in the browser window.addEventListener('popstate', this.#eventsCbRefs.popstate); diff --git a/packages/sdks/web-component/src/lib/helpers/helpers.ts b/packages/sdks/web-component/src/lib/helpers/helpers.ts index 0a2cb1016..4227f61cf 100644 --- a/packages/sdks/web-component/src/lib/helpers/helpers.ts +++ b/packages/sdks/web-component/src/lib/helpers/helpers.ts @@ -57,6 +57,11 @@ function resetUrlParam(paramName: string) { } } +const getFlowIdFromExecId = (executionId: string) => { + const regex = /(.*)\|#\|.*/; + return regex.exec(executionId)?.[1] || ''; +}; + export async function fetchContent( url: string, returnType: T, @@ -109,10 +114,17 @@ export function getAnimationDirection( return undefined; } -export const getRunIdsFromUrl = () => { - const [executionId = '', stepId = ''] = (getFlowUrlParam() || '').split('_'); +export const getRunIdsFromUrl = (flowId: string) => { + let [executionId = '', stepId = ''] = (getFlowUrlParam() || '').split('_'); + const executionFlowId = getFlowIdFromExecId(executionId); + + // if the flow id does not match, this execution id is not for this flow + if (!flowId || (executionFlowId && executionFlowId !== flowId)) { + executionId = ''; + stepId = ''; + } - return { executionId, stepId }; + return { executionId, stepId, executionFlowId }; }; export const setRunIdsOnUrl = (executionId: string, stepId: string) => { @@ -284,8 +296,21 @@ export const getElementDescopeAttributes = (ele: HTMLElement) => export const getFlowConfig = (config: Record, flowId: string) => config?.flows?.[flowId] || {}; -export const handleUrlParams = () => { - const { executionId, stepId } = getRunIdsFromUrl(); +export const handleUrlParams = ( + flowId: string, + logger: { debug: (...data: any[]) => void }, +) => { + const { executionId, stepId, executionFlowId } = getRunIdsFromUrl(flowId); + + // if the flow id does not match, we do not want to read & remove any query params + // because it's probably belongs to another flow + if (executionFlowId && flowId !== executionFlowId) { + logger.debug( + 'Flow id does not match the execution flow id, skipping url params handling', + ); + return { ssoQueryParams: {} }; + } + if (executionId || stepId) { clearRunIdsFromUrl(); } diff --git a/packages/sdks/web-component/src/lib/mixins/formMountMixin.ts b/packages/sdks/web-component/src/lib/mixins/formMountMixin.ts index 4321ebde7..13bf433d1 100644 --- a/packages/sdks/web-component/src/lib/mixins/formMountMixin.ts +++ b/packages/sdks/web-component/src/lib/mixins/formMountMixin.ts @@ -26,7 +26,7 @@ export const formMountMixin = createSingletonMixin( if (this.#shouldMountInFormEle()) { this.#handleOuterForm(); } - super['connectedCallback']?.(); + super.connectedCallback?.(); } }, ); diff --git a/packages/sdks/web-component/test/helpers/index.test.ts b/packages/sdks/web-component/test/helpers/index.test.ts index 558888749..55d05d2b7 100644 --- a/packages/sdks/web-component/test/helpers/index.test.ts +++ b/packages/sdks/web-component/test/helpers/index.test.ts @@ -59,9 +59,40 @@ describe('helpers', () => { writable: true, value: new URL('http://localhost'), }); - window.location.search = `?${URL_RUN_IDS_PARAM_NAME}=8_9`; - expect(getRunIdsFromUrl()).toEqual({ executionId: '8', stepId: '9' }); + window.location.search = `?${URL_RUN_IDS_PARAM_NAME}=8|#|a_9`; + expect(getRunIdsFromUrl('8')).toEqual({ + executionFlowId: '8', + executionId: '8|#|a', + stepId: '9', + }); + }); + + it('getRunIds should return the correct query param when there is no flow Id', () => { + Object.defineProperty(window, 'location', { + writable: true, + value: new URL('http://localhost'), + }); + window.location.search = `?${URL_RUN_IDS_PARAM_NAME}=8|#|a_9`; + expect(getRunIdsFromUrl('')).toEqual({ + executionFlowId: '8', + executionId: '', + stepId: '', + }); }); + + it('getRunIds should return the correct query param when exec id is wrong', () => { + Object.defineProperty(window, 'location', { + writable: true, + value: new URL('http://localhost'), + }); + window.location.search = `?${URL_RUN_IDS_PARAM_NAME}=8`; + expect(getRunIdsFromUrl('8')).toEqual({ + executionFlowId: '', + executionId: '8', + stepId: '', + }); + }); + it('setRunIds should pushstate new URL with query param', () => { Object.defineProperty(window, 'location', { writable: true, diff --git a/packages/widgets/user-profile-widget/package.json b/packages/widgets/user-profile-widget/package.json index 2b8d5fbae..bd9a6e255 100644 --- a/packages/widgets/user-profile-widget/package.json +++ b/packages/widgets/user-profile-widget/package.json @@ -7,7 +7,7 @@ "url": "https://github.com/descope/descope-js/issues", "email": "help@descope.com" }, - "main": "dist/index.js", + "main": "dist/cjs/index.js", "module": "dist/esm/index.js", "types": "dist/index.d.ts", "description": "Descope user profile widget", diff --git a/packages/widgets/user-profile-widget/rollup.config.mjs b/packages/widgets/user-profile-widget/rollup.config.mjs index 6f6b5863b..0c34cfe0f 100644 --- a/packages/widgets/user-profile-widget/rollup.config.mjs +++ b/packages/widgets/user-profile-widget/rollup.config.mjs @@ -39,6 +39,8 @@ export default [ }), typescript({ rootDir: './src/lib', + declarationDir: 'dist/dts', + declaration: true, }), commonjs(), nodeResolve(), @@ -55,16 +57,20 @@ export default [ }, { input, - output: { - dir: 'dist/esm', - format: 'esm', - sourcemap: true, - }, + output: [ + { + dir: 'dist/esm', + format: 'esm', + sourcemap: true, + }, + { + dir: 'dist/cjs', + format: 'cjs', + sourcemap: true, + }, + ], plugins: [ - typescript({ - rootDir: './src/lib', - declarationDir: 'dist/esm/dts', - }), + typescript(), define({ replacements: { BUILD_VERSION: JSON.stringify(packageJson.version), diff --git a/packages/widgets/user-profile-widget/src/lib/widget/index.ts b/packages/widgets/user-profile-widget/src/lib/widget/index.ts index dea7ac28a..70d88cf82 100644 --- a/packages/widgets/user-profile-widget/src/lib/widget/index.ts +++ b/packages/widgets/user-profile-widget/src/lib/widget/index.ts @@ -1,5 +1,4 @@ import { compose } from '@descope/sdk-helpers'; -import WebComponent from '@descope/web-component'; import { initMixin } from './mixins/initMixin/initMixin'; declare const BUILD_VERSION: string; @@ -8,6 +7,13 @@ const rootMixin = (superclass: CustomElementConstructor) => class RootMixinClass extends initMixin(superclass) { async init() { await super.init?.(); + + const WebComponent: any = + customElements.get('descope-wc') || + (await import('@descope/web-component').then( + (module) => module.default, + )); + WebComponent.sdkConfigOverrides = { baseHeaders: { 'x-descope-widget-type': 'user-profile-widget', diff --git a/packages/widgets/user-profile-widget/tsconfig.json b/packages/widgets/user-profile-widget/tsconfig.json index aab36c601..a3b0373c9 100644 --- a/packages/widgets/user-profile-widget/tsconfig.json +++ b/packages/widgets/user-profile-widget/tsconfig.json @@ -11,8 +11,7 @@ "moduleResolution": "node", "resolveJsonModule": true, "isolatedModules": true, - "declaration": true, - "declarationDir": "dist/dts", + "declaration": false, "noErrorTruncation": true, "typeRoots": ["./node_modules/@types"] }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e7f3f7705..31eebf25c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -299,7 +299,7 @@ importers: version: 6.1.0(rollup@4.13.0)(typescript@5.4.5) rollup-plugin-esbuild: specifier: ^6.0.0 - version: 6.1.1(esbuild@0.24.0)(rollup@4.13.0) + version: 6.1.1(esbuild@0.24.2)(rollup@4.13.0) rollup-plugin-inject-process-env: specifier: ^1.3.1 version: 1.3.1 @@ -308,7 +308,7 @@ importers: version: 2.0.5 ts-jest: specifier: ^29.0.0 - version: 29.1.2(@babel/core@7.26.0)(esbuild@0.24.0)(jest@29.7.0)(typescript@5.4.5) + version: 29.1.2(@babel/core@7.26.0)(esbuild@0.24.2)(jest@29.7.0)(typescript@5.4.5) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@20.14.9)(typescript@5.4.5) @@ -431,7 +431,7 @@ importers: version: 6.1.0(rollup@4.13.0)(typescript@5.4.5) rollup-plugin-esbuild: specifier: ^6.0.0 - version: 6.1.1(esbuild@0.24.0)(rollup@4.13.0) + version: 6.1.1(esbuild@0.24.2)(rollup@4.13.0) rollup-plugin-inject-process-env: specifier: ^1.3.1 version: 1.3.1 @@ -440,7 +440,7 @@ importers: version: 2.0.5 ts-jest: specifier: ^29.0.0 - version: 29.1.2(@babel/core@7.26.0)(esbuild@0.24.0)(jest@29.7.0)(typescript@5.4.5) + version: 29.1.2(@babel/core@7.26.0)(esbuild@0.24.2)(jest@29.7.0)(typescript@5.4.5) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@20.14.9)(typescript@5.4.5) @@ -584,7 +584,7 @@ importers: version: 6.1.0(rollup@4.13.0)(typescript@5.4.5) rollup-plugin-esbuild: specifier: ^6.0.0 - version: 6.1.1(esbuild@0.24.0)(rollup@4.13.0) + version: 6.1.1(esbuild@0.24.2)(rollup@4.13.0) rollup-plugin-inject-process-env: specifier: ^1.3.1 version: 1.3.1 @@ -596,7 +596,7 @@ importers: version: 1.2.1(rollup@4.13.0) ts-jest: specifier: ^29.0.0 - version: 29.1.2(@babel/core@7.26.0)(esbuild@0.24.0)(jest@29.7.0)(typescript@5.4.5) + version: 29.1.2(@babel/core@7.26.0)(esbuild@0.24.2)(jest@29.7.0)(typescript@5.4.5) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@20.14.9)(typescript@5.4.5) @@ -1614,7 +1614,7 @@ importers: version: 1.0.2 ts-jest: specifier: ^29.0.0 - version: 29.1.5(@babel/core@7.26.0)(esbuild@0.24.0)(jest@29.7.0)(typescript@5.4.5) + version: 29.1.5(@babel/core@7.26.0)(esbuild@0.24.2)(jest@29.7.0)(typescript@5.4.5) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@20.14.9)(typescript@5.4.5) @@ -1750,7 +1750,7 @@ importers: version: 6.1.0(rollup@4.14.3)(typescript@5.4.5) rollup-plugin-esbuild: specifier: ^6.0.0 - version: 6.1.1(esbuild@0.24.0)(rollup@4.14.3) + version: 6.1.1(esbuild@0.24.2)(rollup@4.14.3) rollup-plugin-inject-process-env: specifier: ^1.3.1 version: 1.3.1 @@ -1759,7 +1759,7 @@ importers: version: 2.0.5 ts-jest: specifier: ^29.0.0 - version: 29.1.5(@babel/core@7.26.0)(esbuild@0.24.0)(jest@29.7.0)(typescript@5.4.5) + version: 29.1.5(@babel/core@7.26.0)(esbuild@0.24.2)(jest@29.7.0)(typescript@5.4.5) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@20.14.9)(typescript@5.4.5) @@ -1939,7 +1939,7 @@ importers: version: 1.0.2 ts-jest: specifier: ^29.0.0 - version: 29.1.5(@babel/core@7.26.0)(esbuild@0.24.0)(jest@29.7.0)(typescript@5.4.5) + version: 29.1.5(@babel/core@7.26.0)(esbuild@0.24.2)(jest@29.7.0)(typescript@5.4.5) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@20.14.9)(typescript@5.4.5) @@ -2295,7 +2295,7 @@ importers: version: 1.0.2 ts-jest: specifier: ^29.0.0 - version: 29.1.5(@babel/core@7.26.0)(esbuild@0.24.0)(jest@29.7.0)(typescript@5.4.5) + version: 29.1.5(@babel/core@7.26.0)(esbuild@0.24.2)(jest@29.7.0)(typescript@5.4.5) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@20.14.9)(typescript@5.4.5) @@ -2473,7 +2473,7 @@ importers: version: 1.0.2 ts-jest: specifier: ^29.0.0 - version: 29.1.5(@babel/core@7.26.0)(esbuild@0.24.0)(jest@29.7.0)(typescript@5.4.5) + version: 29.1.5(@babel/core@7.26.0)(esbuild@0.24.2)(jest@29.7.0)(typescript@5.4.5) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@20.14.9)(typescript@5.4.5) @@ -2654,7 +2654,7 @@ importers: version: 1.0.2 ts-jest: specifier: ^29.0.0 - version: 29.1.5(@babel/core@7.26.0)(esbuild@0.24.0)(jest@29.7.0)(typescript@5.4.5) + version: 29.1.5(@babel/core@7.26.0)(esbuild@0.24.2)(jest@29.7.0)(typescript@5.4.5) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@20.14.9)(typescript@5.4.5) @@ -2839,7 +2839,7 @@ importers: version: 1.0.2 ts-jest: specifier: ^29.0.0 - version: 29.1.5(@babel/core@7.26.0)(esbuild@0.24.0)(jest@29.7.0)(typescript@5.4.5) + version: 29.1.5(@babel/core@7.26.0)(esbuild@0.24.2)(jest@29.7.0)(typescript@5.4.5) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@20.14.9)(typescript@5.4.5) @@ -7823,8 +7823,8 @@ packages: dev: true optional: true - /@esbuild/aix-ppc64@0.24.0: - resolution: {integrity: sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==} + /@esbuild/aix-ppc64@0.24.2: + resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] @@ -7859,8 +7859,8 @@ packages: dev: true optional: true - /@esbuild/android-arm64@0.24.0: - resolution: {integrity: sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==} + /@esbuild/android-arm64@0.24.2: + resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} engines: {node: '>=18'} cpu: [arm64] os: [android] @@ -7895,8 +7895,8 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.24.0: - resolution: {integrity: sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==} + /@esbuild/android-arm@0.24.2: + resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} engines: {node: '>=18'} cpu: [arm] os: [android] @@ -7931,8 +7931,8 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.24.0: - resolution: {integrity: sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==} + /@esbuild/android-x64@0.24.2: + resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} engines: {node: '>=18'} cpu: [x64] os: [android] @@ -7967,8 +7967,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.24.0: - resolution: {integrity: sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==} + /@esbuild/darwin-arm64@0.24.2: + resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] @@ -8003,8 +8003,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.24.0: - resolution: {integrity: sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==} + /@esbuild/darwin-x64@0.24.2: + resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} engines: {node: '>=18'} cpu: [x64] os: [darwin] @@ -8039,8 +8039,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.24.0: - resolution: {integrity: sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==} + /@esbuild/freebsd-arm64@0.24.2: + resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] @@ -8075,8 +8075,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.24.0: - resolution: {integrity: sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==} + /@esbuild/freebsd-x64@0.24.2: + resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] @@ -8111,8 +8111,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.24.0: - resolution: {integrity: sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==} + /@esbuild/linux-arm64@0.24.2: + resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} engines: {node: '>=18'} cpu: [arm64] os: [linux] @@ -8147,8 +8147,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.24.0: - resolution: {integrity: sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==} + /@esbuild/linux-arm@0.24.2: + resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} engines: {node: '>=18'} cpu: [arm] os: [linux] @@ -8183,8 +8183,8 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.24.0: - resolution: {integrity: sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==} + /@esbuild/linux-ia32@0.24.2: + resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} engines: {node: '>=18'} cpu: [ia32] os: [linux] @@ -8219,8 +8219,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.24.0: - resolution: {integrity: sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==} + /@esbuild/linux-loong64@0.24.2: + resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} engines: {node: '>=18'} cpu: [loong64] os: [linux] @@ -8255,8 +8255,8 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.24.0: - resolution: {integrity: sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==} + /@esbuild/linux-mips64el@0.24.2: + resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] @@ -8291,8 +8291,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.24.0: - resolution: {integrity: sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==} + /@esbuild/linux-ppc64@0.24.2: + resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] @@ -8327,8 +8327,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.24.0: - resolution: {integrity: sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==} + /@esbuild/linux-riscv64@0.24.2: + resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] @@ -8363,8 +8363,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.24.0: - resolution: {integrity: sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==} + /@esbuild/linux-s390x@0.24.2: + resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} engines: {node: '>=18'} cpu: [s390x] os: [linux] @@ -8399,8 +8399,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.24.0: - resolution: {integrity: sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==} + /@esbuild/linux-x64@0.24.2: + resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} engines: {node: '>=18'} cpu: [x64] os: [linux] @@ -8408,6 +8408,15 @@ packages: dev: true optional: true + /@esbuild/netbsd-arm64@0.24.2: + resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/netbsd-x64@0.18.17: resolution: {integrity: sha512-/jGlhWR7Sj9JPZHzXyyMZ1RFMkNPjC6QIAan0sDOtIo2TYk3tZn5UDrkE0XgsTQCxWTTOcMPf9p6Rh2hXtl5TQ==} engines: {node: '>=12'} @@ -8435,8 +8444,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.24.0: - resolution: {integrity: sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==} + /@esbuild/netbsd-x64@0.24.2: + resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] @@ -8444,8 +8453,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-arm64@0.24.0: - resolution: {integrity: sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==} + /@esbuild/openbsd-arm64@0.24.2: + resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] @@ -8480,8 +8489,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.24.0: - resolution: {integrity: sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==} + /@esbuild/openbsd-x64@0.24.2: + resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] @@ -8516,8 +8525,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.24.0: - resolution: {integrity: sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==} + /@esbuild/sunos-x64@0.24.2: + resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} engines: {node: '>=18'} cpu: [x64] os: [sunos] @@ -8552,8 +8561,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.24.0: - resolution: {integrity: sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==} + /@esbuild/win32-arm64@0.24.2: + resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} engines: {node: '>=18'} cpu: [arm64] os: [win32] @@ -8588,8 +8597,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.24.0: - resolution: {integrity: sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==} + /@esbuild/win32-ia32@0.24.2: + resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} engines: {node: '>=18'} cpu: [ia32] os: [win32] @@ -8624,8 +8633,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.24.0: - resolution: {integrity: sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==} + /@esbuild/win32-x64@0.24.2: + resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -15228,6 +15237,14 @@ packages: is-array-buffer: 3.0.4 dev: true + /array-buffer-byte-length@1.0.2: + resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.3 + is-array-buffer: 3.0.5 + dev: true + /array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} dev: true @@ -15303,7 +15320,7 @@ packages: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.6 + es-abstract: 1.23.7 es-shim-unscopables: 1.0.2 dev: true @@ -15345,10 +15362,10 @@ packages: resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} engines: {node: '>= 0.4'} dependencies: - array-buffer-byte-length: 1.0.1 + array-buffer-byte-length: 1.0.2 call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.6 + es-abstract: 1.23.7 es-errors: 1.3.0 get-intrinsic: 1.2.6 is-array-buffer: 3.0.5 @@ -16355,10 +16372,6 @@ packages: resolution: {integrity: sha512-jRGVy3iSGO5Uutn2owlb5gR6qsGngTw9ZTb4ali9f3glshcNmJ2noam4Mo9zia5P9Dk3jNNydy7vQjuE5dQmfg==} dev: true - /caniuse-lite@1.0.30001672: - resolution: {integrity: sha512-XhW1vRo1ob6aeK2w3rTohwTPBLse/rvjq+s3RTSBwnlZqoFFjx9cHsShJjAIbLsLjyoacaTxpLZy9v3gg6zypw==} - dev: false - /caniuse-lite@1.0.30001690: resolution: {integrity: sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==} @@ -17765,6 +17778,15 @@ packages: is-data-view: 1.0.1 dev: true + /data-view-buffer@1.0.2: + resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + is-data-view: 1.0.2 + dev: true + /data-view-byte-length@1.0.1: resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} engines: {node: '>= 0.4'} @@ -17774,6 +17796,15 @@ packages: is-data-view: 1.0.1 dev: true + /data-view-byte-length@1.0.2: + resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.3 + es-errors: 1.3.0 + is-data-view: 1.0.2 + dev: true + /data-view-byte-offset@1.0.0: resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} engines: {node: '>= 0.4'} @@ -18501,24 +18532,24 @@ packages: which-typed-array: 1.1.15 dev: true - /es-abstract@1.23.6: - resolution: {integrity: sha512-Ifco6n3yj2tMZDWNLyloZrytt9lqqlwvS83P3HtaETR0NUOYnIULGGHpktqYGObGy+8wc1okO25p8TjemhImvA==} + /es-abstract@1.23.7: + resolution: {integrity: sha512-OygGC8kIcDhXX+6yAZRGLqwi2CmEXCbLQixeGUgYeR+Qwlppqmo7DIDr8XibtEBZp+fJcoYpoatp5qwLMEdcqQ==} engines: {node: '>= 0.4'} dependencies: - array-buffer-byte-length: 1.0.1 + array-buffer-byte-length: 1.0.2 arraybuffer.prototype.slice: 1.0.4 available-typed-arrays: 1.0.7 call-bind: 1.0.8 call-bound: 1.0.3 - data-view-buffer: 1.0.1 - data-view-byte-length: 1.0.1 + data-view-buffer: 1.0.2 + data-view-byte-length: 1.0.2 data-view-byte-offset: 1.0.1 es-define-property: 1.0.1 es-errors: 1.3.0 es-object-atoms: 1.0.0 es-set-tostringtag: 2.0.3 es-to-primitive: 1.3.0 - function.prototype.name: 1.1.7 + function.prototype.name: 1.1.8 get-intrinsic: 1.2.6 get-symbol-description: 1.1.0 globalthis: 1.0.4 @@ -18531,7 +18562,6 @@ packages: is-array-buffer: 3.0.5 is-callable: 1.2.7 is-data-view: 1.0.2 - is-negative-zero: 2.0.3 is-regex: 1.2.1 is-shared-array-buffer: 1.0.4 is-string: 1.1.1 @@ -18606,13 +18636,14 @@ packages: safe-array-concat: 1.1.2 dev: true - /es-iterator-helpers@1.2.0: - resolution: {integrity: sha512-tpxqxncxnpw3c93u8n3VOzACmRFoVmWJqbWXvX/JfKbkhBw1oslgPrUfeSt2psuqyEJFD6N/9lg5i7bsKpoq+Q==} + /es-iterator-helpers@1.2.1: + resolution: {integrity: sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.8 + call-bound: 1.0.3 define-properties: 1.2.1 - es-abstract: 1.23.6 + es-abstract: 1.23.7 es-errors: 1.3.0 es-set-tostringtag: 2.0.3 function-bind: 1.1.2 @@ -18786,36 +18817,37 @@ packages: '@esbuild/win32-x64': 0.21.5 dev: true - /esbuild@0.24.0: - resolution: {integrity: sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==} + /esbuild@0.24.2: + resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} engines: {node: '>=18'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/aix-ppc64': 0.24.0 - '@esbuild/android-arm': 0.24.0 - '@esbuild/android-arm64': 0.24.0 - '@esbuild/android-x64': 0.24.0 - '@esbuild/darwin-arm64': 0.24.0 - '@esbuild/darwin-x64': 0.24.0 - '@esbuild/freebsd-arm64': 0.24.0 - '@esbuild/freebsd-x64': 0.24.0 - '@esbuild/linux-arm': 0.24.0 - '@esbuild/linux-arm64': 0.24.0 - '@esbuild/linux-ia32': 0.24.0 - '@esbuild/linux-loong64': 0.24.0 - '@esbuild/linux-mips64el': 0.24.0 - '@esbuild/linux-ppc64': 0.24.0 - '@esbuild/linux-riscv64': 0.24.0 - '@esbuild/linux-s390x': 0.24.0 - '@esbuild/linux-x64': 0.24.0 - '@esbuild/netbsd-x64': 0.24.0 - '@esbuild/openbsd-arm64': 0.24.0 - '@esbuild/openbsd-x64': 0.24.0 - '@esbuild/sunos-x64': 0.24.0 - '@esbuild/win32-arm64': 0.24.0 - '@esbuild/win32-ia32': 0.24.0 - '@esbuild/win32-x64': 0.24.0 + '@esbuild/aix-ppc64': 0.24.2 + '@esbuild/android-arm': 0.24.2 + '@esbuild/android-arm64': 0.24.2 + '@esbuild/android-x64': 0.24.2 + '@esbuild/darwin-arm64': 0.24.2 + '@esbuild/darwin-x64': 0.24.2 + '@esbuild/freebsd-arm64': 0.24.2 + '@esbuild/freebsd-x64': 0.24.2 + '@esbuild/linux-arm': 0.24.2 + '@esbuild/linux-arm64': 0.24.2 + '@esbuild/linux-ia32': 0.24.2 + '@esbuild/linux-loong64': 0.24.2 + '@esbuild/linux-mips64el': 0.24.2 + '@esbuild/linux-ppc64': 0.24.2 + '@esbuild/linux-riscv64': 0.24.2 + '@esbuild/linux-s390x': 0.24.2 + '@esbuild/linux-x64': 0.24.2 + '@esbuild/netbsd-arm64': 0.24.2 + '@esbuild/netbsd-x64': 0.24.2 + '@esbuild/openbsd-arm64': 0.24.2 + '@esbuild/openbsd-x64': 0.24.2 + '@esbuild/sunos-x64': 0.24.2 + '@esbuild/win32-arm64': 0.24.2 + '@esbuild/win32-ia32': 0.24.2 + '@esbuild/win32-x64': 0.24.2 dev: true /escalade@3.1.2: @@ -20137,7 +20169,7 @@ packages: array.prototype.flatmap: 1.3.3 array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 - es-iterator-helpers: 1.2.0 + es-iterator-helpers: 1.2.1 eslint: 8.57.0 estraverse: 5.3.0 hasown: 2.0.2 @@ -20149,7 +20181,7 @@ packages: prop-types: 15.8.1 resolve: 2.0.0-next.5 semver: 6.3.1 - string.prototype.matchall: 4.0.11 + string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 dev: true @@ -21160,11 +21192,12 @@ packages: functions-have-names: 1.2.3 dev: true - /function.prototype.name@1.1.7: - resolution: {integrity: sha512-2g4x+HqTJKM9zcJqBSpjoRmdcPFtJM60J3xJisTQSXBWka5XqyBN/2tNUgma1mztTXyDuUsEtYe5qcs7xYzYQA==} + /function.prototype.name@1.1.8: + resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.8 + call-bound: 1.0.3 define-properties: 1.2.1 functions-have-names: 1.2.3 hasown: 2.0.2 @@ -23352,10 +23385,10 @@ packages: jest-environment-jsdom: 29.7.0 jest-util: 29.7.0 pretty-format: 29.7.0 - ts-jest: 29.1.5(@babel/core@7.26.0)(esbuild@0.24.0)(jest@29.7.0)(typescript@4.9.3) + ts-jest: 29.1.5(@babel/core@7.26.0)(esbuild@0.24.2)(jest@29.7.0)(typescript@4.9.3) typescript: 4.9.3 optionalDependencies: - esbuild: 0.24.0 + esbuild: 0.24.2 transitivePeerDependencies: - '@babel/core' - '@jest/transform' @@ -25201,7 +25234,7 @@ packages: '@next/env': 14.2.10 '@swc/helpers': 0.5.5 busboy: 1.6.0 - caniuse-lite: 1.0.30001672 + caniuse-lite: 1.0.30001690 graceful-fs: 4.2.11 postcss: 8.4.31 react: 18.3.1 @@ -27656,7 +27689,7 @@ packages: call-bind: 1.0.8 define-properties: 1.2.1 dunder-proto: 1.0.1 - es-abstract: 1.23.6 + es-abstract: 1.23.7 es-errors: 1.3.0 get-intrinsic: 1.2.6 gopd: 1.2.0 @@ -28167,7 +28200,7 @@ packages: - supports-color dev: true - /rollup-plugin-esbuild@6.1.1(esbuild@0.24.0)(rollup@4.13.0): + /rollup-plugin-esbuild@6.1.1(esbuild@0.24.2)(rollup@4.13.0): resolution: {integrity: sha512-CehMY9FAqJD5OUaE/Mi1r5z0kNeYxItmRO2zG4Qnv2qWKF09J2lTy5GUzjJR354ZPrLkCj4fiBN41lo8PzBUhw==} engines: {node: '>=14.18.0'} peerDependencies: @@ -28177,14 +28210,14 @@ packages: '@rollup/pluginutils': 5.1.0(rollup@4.13.0) debug: 4.3.4 es-module-lexer: 1.4.2 - esbuild: 0.24.0 + esbuild: 0.24.2 get-tsconfig: 4.7.3 rollup: 4.13.0 transitivePeerDependencies: - supports-color dev: true - /rollup-plugin-esbuild@6.1.1(esbuild@0.24.0)(rollup@4.14.3): + /rollup-plugin-esbuild@6.1.1(esbuild@0.24.2)(rollup@4.14.3): resolution: {integrity: sha512-CehMY9FAqJD5OUaE/Mi1r5z0kNeYxItmRO2zG4Qnv2qWKF09J2lTy5GUzjJR354ZPrLkCj4fiBN41lo8PzBUhw==} engines: {node: '>=14.18.0'} peerDependencies: @@ -28194,7 +28227,7 @@ packages: '@rollup/pluginutils': 5.1.0(rollup@4.14.3) debug: 4.3.4 es-module-lexer: 1.4.2 - esbuild: 0.24.0 + esbuild: 0.24.2 get-tsconfig: 4.7.3 rollup: 4.14.3 transitivePeerDependencies: @@ -29413,7 +29446,7 @@ packages: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.6 + es-abstract: 1.23.7 dev: true /string.prototype.matchall@4.0.11: @@ -29434,11 +29467,30 @@ packages: side-channel: 1.0.6 dev: true + /string.prototype.matchall@4.0.12: + resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.3 + define-properties: 1.2.1 + es-abstract: 1.23.7 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.6 + gopd: 1.2.0 + has-symbols: 1.1.0 + internal-slot: 1.1.0 + regexp.prototype.flags: 1.5.3 + set-function-name: 2.0.2 + side-channel: 1.1.0 + dev: true + /string.prototype.repeat@1.0.0: resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==} dependencies: define-properties: 1.2.1 - es-abstract: 1.23.6 + es-abstract: 1.23.7 dev: true /string.prototype.trim@1.2.10: @@ -29449,7 +29501,7 @@ packages: call-bound: 1.0.3 define-data-property: 1.1.4 define-properties: 1.2.1 - es-abstract: 1.23.6 + es-abstract: 1.23.7 es-object-atoms: 1.0.0 has-property-descriptors: 1.0.2 dev: true @@ -30084,7 +30136,7 @@ packages: yargs-parser: 20.2.9 dev: true - /ts-jest@29.1.2(@babel/core@7.26.0)(esbuild@0.24.0)(jest@29.7.0)(typescript@5.4.5): + /ts-jest@29.1.2(@babel/core@7.26.0)(esbuild@0.24.2)(jest@29.7.0)(typescript@5.4.5): resolution: {integrity: sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==} engines: {node: ^16.10.0 || ^18.0.0 || >=20.0.0} hasBin: true @@ -30107,7 +30159,7 @@ packages: dependencies: '@babel/core': 7.26.0 bs-logger: 0.2.6 - esbuild: 0.24.0 + esbuild: 0.24.2 fast-json-stable-stringify: 2.1.0 jest: 29.7.0(@types/node@20.14.9)(ts-node@10.9.2) jest-util: 29.7.0 @@ -30195,7 +30247,7 @@ packages: yargs-parser: 21.1.1 dev: true - /ts-jest@29.1.5(@babel/core@7.26.0)(esbuild@0.24.0)(jest@29.7.0)(typescript@4.9.3): + /ts-jest@29.1.5(@babel/core@7.26.0)(esbuild@0.24.2)(jest@29.7.0)(typescript@4.9.3): resolution: {integrity: sha512-UuClSYxM7byvvYfyWdFI+/2UxMmwNyJb0NPkZPQE2hew3RurV7l7zURgOHAd/1I1ZdPpe3GUsXNXAcN8TFKSIg==} engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} hasBin: true @@ -30221,7 +30273,7 @@ packages: dependencies: '@babel/core': 7.26.0 bs-logger: 0.2.6 - esbuild: 0.24.0 + esbuild: 0.24.2 fast-json-stable-stringify: 2.1.0 jest: 29.7.0(@types/node@20.14.9)(ts-node@10.9.2) jest-util: 29.7.0 @@ -30233,7 +30285,7 @@ packages: yargs-parser: 21.1.1 dev: true - /ts-jest@29.1.5(@babel/core@7.26.0)(esbuild@0.24.0)(jest@29.7.0)(typescript@5.4.5): + /ts-jest@29.1.5(@babel/core@7.26.0)(esbuild@0.24.2)(jest@29.7.0)(typescript@5.4.5): resolution: {integrity: sha512-UuClSYxM7byvvYfyWdFI+/2UxMmwNyJb0NPkZPQE2hew3RurV7l7zURgOHAd/1I1ZdPpe3GUsXNXAcN8TFKSIg==} engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} hasBin: true @@ -30259,7 +30311,7 @@ packages: dependencies: '@babel/core': 7.26.0 bs-logger: 0.2.6 - esbuild: 0.24.0 + esbuild: 0.24.2 fast-json-stable-stringify: 2.1.0 jest: 29.7.0(@types/node@20.14.9)(ts-node@10.9.2) jest-util: 29.7.0 @@ -31854,7 +31906,7 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bound: 1.0.3 - function.prototype.name: 1.1.7 + function.prototype.name: 1.1.8 has-tostringtag: 1.0.2 is-async-function: 2.0.0 is-date-object: 1.1.0