From 20e310d48f070260a896c9fab0f2b96ef5ccbb3a Mon Sep 17 00:00:00 2001 From: nirgur Date: Tue, 11 Feb 2025 18:30:06 +0200 Subject: [PATCH] feat: Custom screens support RELEASE (#1012) This PR brings custom screens support to the flows SDKs It introduce a new function `onScreenUpdate` (more details in the readme) It's dependent on [this](https://github.com/descope/orchestrationservice/pull/3145/) PR to be deployed so we will get also the first screen name ## Related Issues Related https://github.com/descope/etc/issues/570 --------- Co-authored-by: Gil Shapira --- package.json | 2 +- packages/libs/sdk-helpers/src/state.ts | 8 +- .../src/mixins/configMixin/types.ts | 2 + packages/sdks/angular-sdk/README.md | 31 + .../descope/descope.component.spec.ts | 1 + .../components/descope/descope.component.ts | 13 + .../sign-in-flow/sign-in-flow.component.html | 1 + .../sign-in-flow/sign-in-flow.component.ts | 11 +- .../sign-up-flow/sign-up-flow.component.html | 1 + .../sign-up-flow/sign-up-flow.component.ts | 11 +- .../sign-up-or-in-flow.component.html | 1 + .../sign-up-or-in-flow.component.ts | 11 +- .../demo-app/src/app/app.component.spec.ts | 2 +- packages/sdks/core-js-sdk/src/createSdk.ts | 76 +- packages/sdks/nextjs-sdk/rollup.config.mjs | 34 +- packages/sdks/react-sdk/README.md | 69 + .../src/components/AccessKeyManagement.tsx | 11 +- .../src/components/ApplicationsPortal.tsx | 11 +- .../src/components/AuditManagement.tsx | 11 +- .../sdks/react-sdk/src/components/Descope.tsx | 7 +- .../src/components/RoleManagement.tsx | 11 +- .../src/components/UserManagement.tsx | 11 +- packages/sdks/react-sdk/src/types.ts | 10 + packages/sdks/vue-sdk/README.md | 31 + .../sdks/vue-sdk/example/components/Login.vue | 10 +- packages/sdks/vue-sdk/src/Descope.vue | 17 +- packages/sdks/vue-sdk/src/UserProfile.vue | 2 +- packages/sdks/vue-sdk/tests/Descope.test.ts | 12 +- packages/sdks/web-component/README.md | 77 +- packages/sdks/web-component/rollup.config.mjs | 2 + .../sdks/web-component/src/app/index.html | 29 +- .../src/lib/constants/customScreens.ts | 8 + .../src/lib/descope-wc/BaseDescopeWc.ts | 9 +- .../src/lib/descope-wc/DescopeWc.ts | 224 +- .../src/lib/descope-wc/initTemplate.ts | 10 +- .../src/lib/helpers/conditions.ts | 2 + .../web-component/src/lib/helpers/helpers.ts | 39 +- .../web-component/src/lib/helpers/state.ts | 12 +- packages/sdks/web-component/src/lib/types.ts | 44 +- .../web-component/test/descope-wc.test.ts | 188 +- .../web-component/test/helpers/state.test.ts | 4 +- .../src/app/index.html | 2 +- pnpm-lock.yaml | 2944 +++++++++++++---- 43 files changed, 3079 insertions(+), 933 deletions(-) create mode 100644 packages/sdks/web-component/src/lib/constants/customScreens.ts diff --git a/package.json b/package.json index 30d419e50..9cad8dcf8 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "preversion:ci": "sh ./tools/scripts/latestTag.sh", "version:ci": "pnpm affected:ci --target version --noVerify=true --parallel 1", "postversion:ci": "pnpm run build:ci", - "print-affected:ci": "nx print-affected --base=$(sh ./tools/scripts/latestTag.sh) --select=projects", + "print-affected:ci": "nx show projects --affected --base=$(sh ./tools/scripts/latestTag.sh) --select=projects", "format": "nx format:write", "format:ci": "nx format:check", "postinstall": "pnpm update @descope/web-components-ui" diff --git a/packages/libs/sdk-helpers/src/state.ts b/packages/libs/sdk-helpers/src/state.ts index 814239686..099837eaa 100644 --- a/packages/libs/sdk-helpers/src/state.ts +++ b/packages/libs/sdk-helpers/src/state.ts @@ -57,11 +57,11 @@ export class State { #token = 0; - #updateOnlyOnChange = false; + #forceUpdate = true; - constructor(init: T = {} as T, { updateOnlyOnChange = true } = {}) { + constructor(init: T = {} as T, { forceUpdate = false } = {}) { this.#state = init; - this.#updateOnlyOnChange = updateOnlyOnChange; + this.#forceUpdate = forceUpdate; } get current() { @@ -73,7 +73,7 @@ export class State { typeof newState === 'function' ? newState(this.#state) : newState; const nextState = { ...this.#state, ...internalNewState }; - if (!this.#updateOnlyOnChange || !compareObjects(this.#state, nextState)) { + if (this.#forceUpdate || !compareObjects(this.#state, nextState)) { const prevState = this.#state; this.#state = nextState; Object.freeze(this.#state); diff --git a/packages/libs/sdk-mixins/src/mixins/configMixin/types.ts b/packages/libs/sdk-mixins/src/mixins/configMixin/types.ts index 3e4f8e90d..9bcb127b2 100644 --- a/packages/libs/sdk-mixins/src/mixins/configMixin/types.ts +++ b/packages/libs/sdk-mixins/src/mixins/configMixin/types.ts @@ -39,11 +39,13 @@ export type ClientCondition = { export type ClientConditionResult = { screenId: string; + screenName: string; interactionId: string; }; export type FlowConfig = { startScreenId?: string; + startScreenName?: string; version: number; targetLocales?: string[]; conditions?: ClientCondition[]; diff --git a/packages/sdks/angular-sdk/README.md b/packages/sdks/angular-sdk/README.md index ff3d1ddf7..216939ac4 100644 --- a/packages/sdks/angular-sdk/README.md +++ b/packages/sdks/angular-sdk/README.md @@ -203,6 +203,37 @@ export class AppComponent { > ``` +### `onScreenUpdate` + +A function that is called whenever there is a new screen state and after every next call. It receives the following parameters: + +- `screenName`: The name of the screen that is about to be rendered +- `context`: An object containing the upcoming screen context +- `next`: A function that, when called, continues the flow execution +- `ref`: A reference to the descope-wc node + +The function can be sync or async, and should return a boolean indicating whether a custom screen should be rendered: + +- `true`: Render a custom screen +- `false`: Render the default flow screen + +This function allows rendering custom screens instead of the default flow screens. +It can be useful for highly customized UIs or specific logic not covered by the default screens + +To render a custom screen, its elements should be appended as children of the `descope` component + +Usage example: + +```javascript +function onScreenUpdate(screenName, context, next, ref) { + if (screenName === 'My Custom Screen') { + return true; + } + + return false; +} +``` + #### Standalone Mode All components in the sdk are standalone, so you can use them by directly importing them to your components. diff --git a/packages/sdks/angular-sdk/projects/angular-sdk/src/lib/components/descope/descope.component.spec.ts b/packages/sdks/angular-sdk/projects/angular-sdk/src/lib/components/descope/descope.component.spec.ts index 8ad8743e5..14f5d9556 100644 --- a/packages/sdks/angular-sdk/projects/angular-sdk/src/lib/components/descope/descope.component.spec.ts +++ b/packages/sdks/angular-sdk/projects/angular-sdk/src/lib/components/descope/descope.component.spec.ts @@ -62,6 +62,7 @@ describe('DescopeComponent', () => { debug: jest.fn() }; component.errorTransformer = jest.fn(); + component.onScreenUpdate = jest.fn(); component.client = {}; component.form = {}; component.storeLastAuthenticatedUser = true; 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 7baeffa23..d00f4aea3 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 @@ -38,6 +38,15 @@ export class DescopeComponent implements OnInit, OnChanges { @Input() debug: boolean; @Input() errorTransformer: (error: { text: string; type: string }) => string; + @Input() onScreenUpdate: ( + screenName: string, + context: Record, + next: ( + interactionId: string, + form: Record + ) => Promise, + ref: HTMLElement + ) => boolean | Promise; @Input() client: Record; @Input() form: Record; @Input() logger: ILogger; @@ -155,6 +164,10 @@ export class DescopeComponent implements OnInit, OnChanges { this.webComponent.errorTransformer = this.errorTransformer; } + if (this.onScreenUpdate) { + this.webComponent.onScreenUpdate = this.onScreenUpdate; + } + if (this.client) { this.webComponent.setAttribute('client', JSON.stringify(this.client)); } diff --git a/packages/sdks/angular-sdk/projects/angular-sdk/src/lib/components/sign-in-flow/sign-in-flow.component.html b/packages/sdks/angular-sdk/projects/angular-sdk/src/lib/components/sign-in-flow/sign-in-flow.component.html index d2483e87f..d9de91196 100644 --- a/packages/sdks/angular-sdk/projects/angular-sdk/src/lib/components/sign-in-flow/sign-in-flow.component.html +++ b/packages/sdks/angular-sdk/projects/angular-sdk/src/lib/components/sign-in-flow/sign-in-flow.component.html @@ -12,6 +12,7 @@ [restartOnError]="restartOnError" [debug]="debug" [errorTransformer]="errorTransformer" + [onScreenUpdate]="onScreenUpdate" [client]="client" [form]="form" [logger]="logger" diff --git a/packages/sdks/angular-sdk/projects/angular-sdk/src/lib/components/sign-in-flow/sign-in-flow.component.ts b/packages/sdks/angular-sdk/projects/angular-sdk/src/lib/components/sign-in-flow/sign-in-flow.component.ts index ff5eb3f81..aed4bdc62 100644 --- a/packages/sdks/angular-sdk/projects/angular-sdk/src/lib/components/sign-in-flow/sign-in-flow.component.ts +++ b/packages/sdks/angular-sdk/projects/angular-sdk/src/lib/components/sign-in-flow/sign-in-flow.component.ts @@ -20,9 +20,18 @@ export class SignInFlowComponent { @Input() autoFocus: true | false | 'skipFirstScreen'; @Input() validateOnBlur: boolean; @Input() restartOnError: boolean; - + @Input() debug: boolean; @Input() errorTransformer: (error: { text: string; type: string }) => string; + @Input() onScreenUpdate: ( + screenName: string, + context: Record, + next: ( + interactionId: string, + form: Record + ) => Promise, + ref: HTMLElement + ) => boolean | Promise; @Input() client: Record; @Input() form: Record; @Input() logger: ILogger; diff --git a/packages/sdks/angular-sdk/projects/angular-sdk/src/lib/components/sign-up-flow/sign-up-flow.component.html b/packages/sdks/angular-sdk/projects/angular-sdk/src/lib/components/sign-up-flow/sign-up-flow.component.html index 31eaeb775..031235ee1 100644 --- a/packages/sdks/angular-sdk/projects/angular-sdk/src/lib/components/sign-up-flow/sign-up-flow.component.html +++ b/packages/sdks/angular-sdk/projects/angular-sdk/src/lib/components/sign-up-flow/sign-up-flow.component.html @@ -12,6 +12,7 @@ [restartOnError]="restartOnError" [debug]="debug" [errorTransformer]="errorTransformer" + [onScreenUpdate]="onScreenUpdate" [client]="client" [form]="form" [logger]="logger" diff --git a/packages/sdks/angular-sdk/projects/angular-sdk/src/lib/components/sign-up-flow/sign-up-flow.component.ts b/packages/sdks/angular-sdk/projects/angular-sdk/src/lib/components/sign-up-flow/sign-up-flow.component.ts index 0dff55933..ab90c9057 100644 --- a/packages/sdks/angular-sdk/projects/angular-sdk/src/lib/components/sign-up-flow/sign-up-flow.component.ts +++ b/packages/sdks/angular-sdk/projects/angular-sdk/src/lib/components/sign-up-flow/sign-up-flow.component.ts @@ -20,9 +20,18 @@ export class SignUpFlowComponent { @Input() autoFocus: true | false | 'skipFirstScreen'; @Input() validateOnBlur: boolean; @Input() restartOnError: boolean; - + @Input() debug: boolean; @Input() errorTransformer: (error: { text: string; type: string }) => string; + @Input() onScreenUpdate: ( + screenName: string, + context: Record, + next: ( + interactionId: string, + form: Record + ) => Promise, + ref: HTMLElement + ) => boolean | Promise; @Input() client: Record; @Input() form: Record; @Input() logger: ILogger; diff --git a/packages/sdks/angular-sdk/projects/angular-sdk/src/lib/components/sign-up-or-in-flow/sign-up-or-in-flow.component.html b/packages/sdks/angular-sdk/projects/angular-sdk/src/lib/components/sign-up-or-in-flow/sign-up-or-in-flow.component.html index 14dc176e1..f34f713a5 100644 --- a/packages/sdks/angular-sdk/projects/angular-sdk/src/lib/components/sign-up-or-in-flow/sign-up-or-in-flow.component.html +++ b/packages/sdks/angular-sdk/projects/angular-sdk/src/lib/components/sign-up-or-in-flow/sign-up-or-in-flow.component.html @@ -12,6 +12,7 @@ [restartOnError]="restartOnError" [debug]="debug" [errorTransformer]="errorTransformer" + [onScreenUpdate]="onScreenUpdate" [client]="client" [form]="form" [logger]="logger" diff --git a/packages/sdks/angular-sdk/projects/angular-sdk/src/lib/components/sign-up-or-in-flow/sign-up-or-in-flow.component.ts b/packages/sdks/angular-sdk/projects/angular-sdk/src/lib/components/sign-up-or-in-flow/sign-up-or-in-flow.component.ts index a15624a48..7c8bdf27b 100644 --- a/packages/sdks/angular-sdk/projects/angular-sdk/src/lib/components/sign-up-or-in-flow/sign-up-or-in-flow.component.ts +++ b/packages/sdks/angular-sdk/projects/angular-sdk/src/lib/components/sign-up-or-in-flow/sign-up-or-in-flow.component.ts @@ -20,9 +20,18 @@ export class SignUpOrInFlowComponent { @Input() autoFocus: true | false | 'skipFirstScreen'; @Input() validateOnBlur: boolean; @Input() restartOnError: boolean; - + @Input() debug: boolean; @Input() errorTransformer: (error: { text: string; type: string }) => string; + @Input() onScreenUpdate: ( + screenName: string, + context: Record, + next: ( + interactionId: string, + form: Record + ) => Promise, + ref: HTMLElement + ) => boolean | Promise; @Input() client: Record; @Input() form: Record; @Input() logger: ILogger; diff --git a/packages/sdks/angular-sdk/projects/demo-app/src/app/app.component.spec.ts b/packages/sdks/angular-sdk/projects/demo-app/src/app/app.component.spec.ts index f03a13c41..d0859052d 100644 --- a/packages/sdks/angular-sdk/projects/demo-app/src/app/app.component.spec.ts +++ b/packages/sdks/angular-sdk/projects/demo-app/src/app/app.component.spec.ts @@ -24,7 +24,7 @@ describe('AppComponent', () => { providers: [ DescopeAuthConfig, { provide: DescopeAuthConfig, useValue: { projectId: 'test' } } - ], + ] }).compileComponents(); }); diff --git a/packages/sdks/core-js-sdk/src/createSdk.ts b/packages/sdks/core-js-sdk/src/createSdk.ts index c5dac4a0b..05e900b59 100644 --- a/packages/sdks/core-js-sdk/src/createSdk.ts +++ b/packages/sdks/core-js-sdk/src/createSdk.ts @@ -24,48 +24,48 @@ const withSdkConfigValidations = withValidations([ /** Add the ability to pass multiple hooks instead of one when creating an SDK instance */ const withMultipleHooks = (createSdk: (config: SdkConfig) => T) => - ( - config: Omit & { - hooks?: { - beforeRequest?: BeforeRequest | BeforeRequest[]; - afterRequest?: AfterRequest | AfterRequest[]; - transformResponse?: Hooks['transformResponse']; - }; - }, - ) => { - const beforeRequest: BeforeRequest = (conf) => { - // get the before hooks from the config while function is running - // because the hooks might change after sdk creation - const beforeRequestHooks = [].concat(config.hooks?.beforeRequest || []); - return beforeRequestHooks?.reduce((acc, fn) => fn(acc), conf); - }; - - const afterRequest: AfterRequest = async (req, res) => { - // get the after hooks from the config while function is running - // because the hooks might change after sdk creation - const afterRequestHooks = [].concat(config.hooks?.afterRequest || []); - // do not remove this check - on old versions of react-native it is required - if (afterRequestHooks.length == 0) return; - const results = await Promise.allSettled( - afterRequestHooks?.map((fn) => fn(req, res?.clone())), - ); - // eslint-disable-next-line no-console - results.forEach( - (result) => - result.status === 'rejected' && config.logger?.error(result.reason), - ); + ( + config: Omit & { + hooks?: { + beforeRequest?: BeforeRequest | BeforeRequest[]; + afterRequest?: AfterRequest | AfterRequest[]; + transformResponse?: Hooks['transformResponse']; }; + }, + ) => { + const beforeRequest: BeforeRequest = (conf) => { + // get the before hooks from the config while function is running + // because the hooks might change after sdk creation + const beforeRequestHooks = [].concat(config.hooks?.beforeRequest || []); + return beforeRequestHooks?.reduce((acc, fn) => fn(acc), conf); + }; - return createSdk({ - ...config, - hooks: { - beforeRequest, - afterRequest, - transformResponse: config.hooks?.transformResponse, - }, - }); + const afterRequest: AfterRequest = async (req, res) => { + // get the after hooks from the config while function is running + // because the hooks might change after sdk creation + const afterRequestHooks = [].concat(config.hooks?.afterRequest || []); + // do not remove this check - on old versions of react-native it is required + if (afterRequestHooks.length == 0) return; + const results = await Promise.allSettled( + afterRequestHooks?.map((fn) => fn(req, res?.clone())), + ); + // eslint-disable-next-line no-console + results.forEach( + (result) => + result.status === 'rejected' && config.logger?.error(result.reason), + ); }; + return createSdk({ + ...config, + hooks: { + beforeRequest, + afterRequest, + transformResponse: config.hooks?.transformResponse, + }, + }); + }; + /** Descope SDK client */ export default withSdkConfigValidations( withMultipleHooks( diff --git a/packages/sdks/nextjs-sdk/rollup.config.mjs b/packages/sdks/nextjs-sdk/rollup.config.mjs index 7529d91c4..707d84419 100644 --- a/packages/sdks/nextjs-sdk/rollup.config.mjs +++ b/packages/sdks/nextjs-sdk/rollup.config.mjs @@ -26,7 +26,7 @@ const commonPlugins = (outputDir) => [ }), typescript({ tsconfig: './tsconfig.json', - declaration: false, + declaration: false }), // swcPreserveDirectives(), preserveDirectives({ supressPreserveModulesWarning: true }), @@ -89,20 +89,20 @@ const configurations = ['server', 'client', ''].flatMap((entry) => { }); export default [ - ...configurations, - { - input: 'src/index.ts', - output: [{ dir: './dist', format: 'esm' }], - plugins: [ - typescript({ - tsconfig: './tsconfig.json', - compilerOptions: { - rootDir: './src', - declaration: true, - declarationDir: './dist/types', - }, - }), - noEmit({ match: (file) => file.endsWith('.js') }), - ], - }, + ...configurations, + { + input: 'src/index.ts', + output: [{ dir: './dist', format: 'esm' }], + plugins: [ + typescript({ + tsconfig: './tsconfig.json', + compilerOptions: { + rootDir: './src', + declaration: true, + declarationDir: './dist/types' + } + }), + noEmit({ match: (file) => file.endsWith('.js') }) + ] + } ]; diff --git a/packages/sdks/react-sdk/README.md b/packages/sdks/react-sdk/README.md index dc4365e9d..ddca429c8 100644 --- a/packages/sdks/react-sdk/README.md +++ b/packages/sdks/react-sdk/README.md @@ -166,6 +166,75 @@ const App = () => { } ``` +### `onScreenUpdate` + +A function that is called whenever there is a new screen state and after every next call. It receives the following parameters: + +- `screenName`: The name of the screen that is about to be rendered +- `context`: An object containing the upcoming screen state +- `next`: A function that, when called, continues the flow execution +- `ref`: A reference to the descope-wc node + +The function can be sync or async, and should return a boolean indicating whether a custom screen should be rendered: + +- `true`: Render a custom screen +- `false`: Render the default flow screen + +This function allows rendering custom screens instead of the default flow screens. +It can be useful for highly customized UIs or specific logic not covered by the default screens + +To render a custom screen, its elements should be appended as children of the `Descope` component + +Usage example: + +```javascript +const CustomScreen = ({onClick, setForm}) => { + const onChange = (e) => setForm({ email: e.target.value }) + + return ( + <> + + + +)} + +const Login = () => { + const [state, setState] = useState(); + const [form, setForm] = useState(); + + const onScreenUpdate = (screenName, context, next) => { + setState({screenName, context, next}) + + if (screenName === 'My Custom Screen') { + return true; + } + + return false; + }; + + return {state.screenName === 'My Custom Screen' && { + // replace with the button interaction id + state.next('interactionId', form) + }} + setForm={setForm}/>} + +} + +``` + ### Use the `useDescope`, `useSession` and `useUser` hooks in your components in order to get authentication state, user details and utilities This can be helpful to implement application-specific logic. Examples: diff --git a/packages/sdks/react-sdk/src/components/AccessKeyManagement.tsx b/packages/sdks/react-sdk/src/components/AccessKeyManagement.tsx index 7e8ab353d..88a8748aa 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) => ( - + )), ), }; @@ -24,11 +24,12 @@ const AccessKeyManagement = React.forwardRef< useImperativeHandle(ref, () => innerRef); - const { projectId, baseUrl, baseStaticUrl, baseCdnUrl } = React.useContext(Context); + const { projectId, baseUrl, baseStaticUrl, baseCdnUrl } = + 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 63f6b3da9..dd80fb749 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) => ( - + )), ), }; @@ -24,11 +24,12 @@ const ApplicationsPortal = React.forwardRef< useImperativeHandle(ref, () => innerRef); - const { projectId, baseUrl, baseStaticUrl, baseCdnUrl } = React.useContext(Context); + const { projectId, baseUrl, baseStaticUrl, baseCdnUrl } = + 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 a99c1d2df..96cd6b93d 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) => ( - + )), ), }; @@ -22,11 +22,12 @@ const AuditManagement = React.forwardRef( useImperativeHandle(ref, () => innerRef); - const { projectId, baseUrl, baseStaticUrl, baseCdnUrl } = React.useContext(Context); + const { projectId, baseUrl, baseStaticUrl, baseCdnUrl } = + 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 6d93c9e72..e161c8e9c 100644 --- a/packages/sdks/react-sdk/src/components/Descope.tsx +++ b/packages/sdks/react-sdk/src/components/Descope.tsx @@ -69,6 +69,8 @@ const Descope = React.forwardRef( restartOnError, errorTransformer, styleId, + onScreenUpdate, + children, }, ref, ) => { @@ -181,8 +183,11 @@ const Descope = React.forwardRef( // props 'errorTransformer.prop': errorTransformer, 'logger.prop': logger, + 'onScreenUpdate.prop': onScreenUpdate, }} - /> + > + {children} + ); diff --git a/packages/sdks/react-sdk/src/components/RoleManagement.tsx b/packages/sdks/react-sdk/src/components/RoleManagement.tsx index a5f2d2e43..b78d89951 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) => ( - + )), ), }; @@ -22,11 +22,12 @@ const RoleManagement = React.forwardRef( useImperativeHandle(ref, () => innerRef); - const { projectId, baseUrl, baseStaticUrl, baseCdnUrl } = React.useContext(Context); + const { projectId, baseUrl, baseStaticUrl, baseCdnUrl } = + 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 47d384dca..1e1be6918 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) => ( - + )), ), }; @@ -22,11 +22,12 @@ const UserManagement = React.forwardRef( useImperativeHandle(ref, () => innerRef); - const { projectId, baseUrl, baseStaticUrl, baseCdnUrl } = React.useContext(Context); + const { projectId, baseUrl, baseStaticUrl, baseCdnUrl } = + React.useContext(Context); return ( - - + ( 'logger.prop': logger, }} /> - + ); }, ); diff --git a/packages/sdks/react-sdk/src/types.ts b/packages/sdks/react-sdk/src/types.ts index 18f354c5e..a4074f226 100644 --- a/packages/sdks/react-sdk/src/types.ts +++ b/packages/sdks/react-sdk/src/types.ts @@ -128,6 +128,16 @@ export type DescopeProps = { // use to override client context in flow execution client?: Record; styleId?: string; + onScreenUpdate?: ( + screenName: string, + context: Record, + next: ( + interactionId: string, + form: Record, + ) => Promise, + ref: HTMLElement, + ) => boolean | Promise; + children?: React.ReactNode; }; export type UserManagementProps = WidgetProps; diff --git a/packages/sdks/vue-sdk/README.md b/packages/sdks/vue-sdk/README.md index 4c6fc2740..99fa84d01 100644 --- a/packages/sdks/vue-sdk/README.md +++ b/packages/sdks/vue-sdk/README.md @@ -87,6 +87,37 @@ const handleReady = () => { ``` +### `onScreenUpdate` + +A function that is called whenever there is a new screen state and after every next call. It receives the following parameters: + +- `screenName`: The name of the screen that is about to be rendered +- `context`: An object containing the upcoming screen state +- `next`: A function that, when called, continues the flow execution +- `ref`: A reference to the descope-wc node + +The function can be sync or async, and should return a boolean indicating whether a custom screen should be rendered: + +- `true`: Render a custom screen +- `false`: Render the default flow screen + +This function allows rendering custom screens instead of the default flow screens. +It can be useful for highly customized UIs or specific logic not covered by the default screens + +To render a custom screen, its elements should be appended as children of the `Descope` component + +Usage example: + +```javascript +function onScreenUpdate(screenName, context, next) { + if (screenName === 'My Custom Screen') { + return true; + } + + return false; +} +``` + ### Use the `useDescope`, `useSession` and `useUser` functions in your components in order to get authentication state, user details and utilities This can be helpful to implement application-specific logic. Examples: diff --git a/packages/sdks/vue-sdk/example/components/Login.vue b/packages/sdks/vue-sdk/example/components/Login.vue index a9023a144..ca4427e1f 100644 --- a/packages/sdks/vue-sdk/example/components/Login.vue +++ b/packages/sdks/vue-sdk/example/components/Login.vue @@ -11,9 +11,11 @@ @error="handleError" @ready="handleReady" :errorTransformer="errorTransformer" + :onScreenUpdate="onScreenUpdate" :form="form" :client="client" - /> + > + @@ -44,6 +46,12 @@ const errorTransformer = (error) => { return translationMap[error.type] || error.text; }; +const onScreenUpdate = (screenName, context, next) => { + console.log('Screen update', screenName, context, next); + + return false; +}; + const { isLoading, isAuthenticated } = useSession(); const flowId = process.env.VUE_APP_DESCOPE_FLOW_ID || 'sign-up-or-in'; const form = {}; // { email: 'myemail@domain.com' }; // found in context key: form.email diff --git a/packages/sdks/vue-sdk/src/Descope.vue b/packages/sdks/vue-sdk/src/Descope.vue index 18dbcb69f..300e16344 100644 --- a/packages/sdks/vue-sdk/src/Descope.vue +++ b/packages/sdks/vue-sdk/src/Descope.vue @@ -19,12 +19,15 @@ :restart-on-error="restartOnError" :store-last-authenticated-user="storeLastAuthenticatedUser" :errorTransformer.prop="errorTransformer" + :onScreenUpdate.prop="onScreenUpdate" :form.attr="formStr" :client.attr="clientStr" @success="onSuccess" @error="onError" @ready="onReady" - /> + > + + @@ -95,6 +98,9 @@ const props = defineProps({ errorTransformer: { type: Function, }, + onScreenUpdate: { + type: Function, + }, form: { type: Object, }, @@ -111,8 +117,13 @@ const emit = defineEmits<{ (e: 'error', payload: CustomEvent): void; (e: 'ready', payload: CustomEvent>): void; }>(); -const { projectId, baseUrl, baseStaticUrl, storeLastAuthenticatedUser, baseCdnUrl } = - useOptions(); +const { + projectId, + baseUrl, + baseStaticUrl, + storeLastAuthenticatedUser, + baseCdnUrl, +} = useOptions(); const sdk = useDescope(); const formStr = computed(() => (props.form ? JSON.stringify(props.form) : '')); diff --git a/packages/sdks/vue-sdk/src/UserProfile.vue b/packages/sdks/vue-sdk/src/UserProfile.vue index 7ebc5bf5e..fbd6c52cd 100644 --- a/packages/sdks/vue-sdk/src/UserProfile.vue +++ b/packages/sdks/vue-sdk/src/UserProfile.vue @@ -34,5 +34,5 @@ defineProps({ }, }); -const { projectId, baseUrl, baseStaticUrl, baseCdnUrl} = useOptions(); +const { projectId, baseUrl, baseStaticUrl, baseCdnUrl } = useOptions(); diff --git a/packages/sdks/vue-sdk/tests/Descope.test.ts b/packages/sdks/vue-sdk/tests/Descope.test.ts index 153824011..86822fb57 100644 --- a/packages/sdks/vue-sdk/tests/Descope.test.ts +++ b/packages/sdks/vue-sdk/tests/Descope.test.ts @@ -23,6 +23,7 @@ describe('Descope.vue', () => { const errorTransformer = (error: { text: string; type: string }) => { return error.text || error.type; }; + const onScreenUpdate = () => false; const wrapper = mount(Descope, { props: { flowId: 'test-flow-id', @@ -34,6 +35,7 @@ describe('Descope.vue', () => { redirectUrl: 'test-redirect-url', autoFocus: true, errorTransformer, + onScreenUpdate, form: { test: 'a' }, client: { test: 'b' }, styleId: 'test-style-id', @@ -53,6 +55,7 @@ describe('Descope.vue', () => { expect(descopeWc.attributes('redirect-url')).toBe('test-redirect-url'); expect(descopeWc.attributes('auto-focus')).toBe('true'); expect(wrapper.vm.errorTransformer).toBe(errorTransformer); + expect(wrapper.vm.onScreenUpdate).toBe(onScreenUpdate); expect(descopeWc.attributes('form')).toBe('{"test":"a"}'); expect(wrapper.vm.client).toStrictEqual({ test: 'b' }); expect(descopeWc.attributes('style-id')).toBe('test-style-id'); @@ -61,14 +64,15 @@ describe('Descope.vue', () => { it('renders a DescopeWc component with empty props', () => { const wrapper = mount(Descope, { props: { - form: null, - client: null, + flowId: 'test-flow-id', + form: {}, + client: {}, }, }); const descopeWc = wrapper.find('descope-wc'); - expect(descopeWc.attributes('form')).toBe(''); - expect(wrapper.vm.client).toBeNull(); + expect(descopeWc.attributes('form')).toEqual('{}'); + expect(wrapper.vm.client).toEqual({}); }); it('init sdk config', async () => { diff --git a/packages/sdks/web-component/README.md b/packages/sdks/web-component/README.md index f93bd35b2..2dd47b821 100644 --- a/packages/sdks/web-component/README.md +++ b/packages/sdks/web-component/README.md @@ -71,22 +71,22 @@ NOTE: This package is a part of a monorepo. so if you make changes in a dependen ## Optional Attributes -| Attribute | Available options | Default value | -| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------- | -| base-url | Custom Descope base URL | **""** | -| theme | **"light"** - Light theme
**"dark"** - Dark theme
**"os"** - Auto select a theme based on the OS theme settings | **"light"** | -| debug | **"true"** - Enable debugger
**"false"** - Disable debugger | **"false"** | -| preview | **"true"** - Run flow in a preview mode
**"false"** - Do run flow in a preview mode | **"false"** | -| auto-focus | **"true"** - Automatically focus on the first input of each screen
**"false"** - Do not automatically focus on screen's inputs
**"skipFirstScreen"** - Automatically focus on the first input of each screen, except first screen | **"true"** | +| Attribute | Available options | Default value | +| ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | +| base-url | Custom Descope base URL | **""** | +| theme | **"light"** - Light theme
**"dark"** - Dark theme
**"os"** - Auto select a theme based on the OS theme settings | **"light"** | +| debug | **"true"** - Enable debugger
**"false"** - Disable debugger | **"false"** | +| preview | **"true"** - Run flow in a preview mode
**"false"** - Do run flow in a preview mode | **"false"** | +| auto-focus | **"true"** - Automatically focus on the first input of each screen
**"false"** - Do not automatically focus on screen's inputs
**"skipFirstScreen"** - Automatically focus on the first input of each screen, except first screen | **"true"** | -| validate-on-blur | **"true"** - Triggers the input validation upon blur in addition to the validation on submit
**"false"** - Do not triggers validation upon blur
| **"false"** | +| validate-on-blur | **"true"** - Triggers the input validation upon blur in addition to the validation on submit
**"false"** - Do not triggers validation upon blur
| **"false"** | -| restart-on-error | **"true"** - In case of flow version mismatch, will restart the flow if the components version was not changed
**"false"** - Do not restart the flow automatically
| **"false"** | +| restart-on-error | **"true"** - In case of flow version mismatch, will restart the flow if the components version was not changed
**"false"** - Do not restart the flow automatically
| **"false"** | -| storage-prefix | **String** - A prefix to add to the key of the local storage when persisting tokens | **""** | -| store-last-authenticated-user | **"true"** - Stores last-authenticated user details in local storage when flow is completed
**"false"** - Do not store last-auth user details. Disabling this flag may cause last-authenticated user features to not function properly | **"true"** | -| keep-last-authenticated-user-after-logout | **"true"** - Do not clear the last authenticated user details from the browser storage after logout
**"false"** - Clear the last authenticated user details from the browser storage after logout | **"false"** | -| style-id | **"String"** - Set a specific style to load rather then the default style | **""** | +| storage-prefix | **String** - A prefix to add to the key of the local storage when persisting tokens | **""** | +| store-last-authenticated-user | **"true"** - Stores last-authenticated user details in local storage when flow is completed
**"false"** - Do not store last-auth user details. Disabling this flag may cause last-authenticated user features to not function properly | **"true"** | +| keep-last-authenticated-user-after-logout | **"true"** - Do not clear the last authenticated user details from the browser storage after logout
**"false"** - Clear the last authenticated user details from the browser storage after logout | **"false"** | +| style-id | **"String"** - Set a specific style to load rather then the default style | **""** | ## Optional Properties @@ -131,6 +131,57 @@ const descopeWcEle = document.getElementsByTagName('descope-wc')[0]; descopeWcEle.logger = logger; ``` +### `onScreenUpdate` + +A function that is called whenever there is a new screen state and after every next call. It receives the following parameters: + +- `screenName`: The name of the screen that is about to be rendered +- `context`: An object containing the upcoming screen state +- `next`: A function that, when called, continues the flow execution +- `ref`: A reference to the descope-wc node + +The function can be sync or async, and should return a boolean indicating whether a custom screen should be rendered: + +- `true`: Render a custom screen +- `false`: Render the default flow screen + +This function allows rendering custom screens instead of the default flow screens. +It can be useful for highly customized UIs or specific logic not covered by the default screens + +To render a custom screen, its elements should be appended as children of the `descope-wc` component + +Usage example: + +```javascript +function onScreenUpdate(screenName, context, next, ref) { + if (screenName === 'My Custom Screen') { + ref.innerHTML = ` +
+ + +
+ `; + + ref.closest('form').addEventListener('submit', (e) => { + e.preventDefault(); + const formData = new FormData(e.target); + const data = Object.fromEntries(formData.entries()); + + // replace with the button interaction id + next('interactionId', data); + }); + + return true; + } + + return false; +} + +const descopeWcEle = document.querySelector('descope-wc'); + +descopeWcEle.onScreenUpdate = onScreenUpdate; +``` + ## Events ### `error` - Fired when an error occurs. The event detail contains the error object. diff --git a/packages/sdks/web-component/rollup.config.mjs b/packages/sdks/web-component/rollup.config.mjs index b2ebea223..292235a22 100644 --- a/packages/sdks/web-component/rollup.config.mjs +++ b/packages/sdks/web-component/rollup.config.mjs @@ -49,11 +49,13 @@ export default [ dir: 'dist/esm', format: 'esm', preserveModules: true, + sourcemap: true, }, { dir: 'dist/cjs', format: 'cjs', preserveModules: true, + sourcemap: true, }, ], plugins: [ diff --git a/packages/sdks/web-component/src/app/index.html b/packages/sdks/web-component/src/app/index.html index 05d94287f..92cb5c41d 100644 --- a/packages/sdks/web-component/src/app/index.html +++ b/packages/sdks/web-component/src/app/index.html @@ -59,7 +59,7 @@ }; return translationMap[error.type] || error.text; } - const descopeWcEle = document.getElementsByTagName('descope-wc')[0]; + const descopeWcEle = document.querySelector('descope-wc'); descopeWcEle.errorTransformer = translateError; descopeWcEle.addEventListener('error', (e) => @@ -74,6 +74,33 @@ // Alternatively, it can be hidden. For example: // document.querySelector('.loading')?.style.display = 'none'; }); + descopeWcEle.addEventListener('screen-updated', (e) => { + console.log('screen-updated', e.detail); + }); + + diff --git a/packages/sdks/web-component/src/lib/constants/customScreens.ts b/packages/sdks/web-component/src/lib/constants/customScreens.ts new file mode 100644 index 000000000..6f31a319e --- /dev/null +++ b/packages/sdks/web-component/src/lib/constants/customScreens.ts @@ -0,0 +1,8 @@ +export const EXCLUDED_STATE_KEYS = [ + 'cssVars', + 'componentsConfig', + 'inputs', + 'errorText', + 'errorType', + 'clientScripts', +]; 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 94bf11786..382bdebd5 100644 --- a/packages/sdks/web-component/src/lib/descope-wc/BaseDescopeWc.ts +++ b/packages/sdks/web-component/src/lib/descope-wc/BaseDescopeWc.ts @@ -109,6 +109,10 @@ class BaseDescopeWc extends BaseClass { rootElement: HTMLDivElement; + contentRootElement: HTMLDivElement; + + slotElement: HTMLSlotElement; + #debuggerEle: HTMLElement & { updateData: (data: DebuggerMessage | DebuggerMessage[]) => void; }; @@ -133,8 +137,9 @@ class BaseDescopeWc extends BaseClass { #initShadowDom() { this.shadowRoot.appendChild(initTemplate.content.cloneNode(true)); - - this.rootElement = this.shadowRoot.querySelector('#root'); + this.slotElement = document.createElement('slot'); + this.slotElement.classList.add('hidden'); + this.rootElement.appendChild(this.slotElement); } get flowId() { diff --git a/packages/sdks/web-component/src/lib/descope-wc/DescopeWc.ts b/packages/sdks/web-component/src/lib/descope-wc/DescopeWc.ts index a4c557fa2..a848e7f28 100644 --- a/packages/sdks/web-component/src/lib/descope-wc/DescopeWc.ts +++ b/packages/sdks/web-component/src/lib/descope-wc/DescopeWc.ts @@ -30,6 +30,7 @@ import { State, submitForm, timeoutPromise, + transformStepStateForCustomScreen, updateScreenFromScreenState, updateTemplateFromScreenState, withMemCache, @@ -45,6 +46,7 @@ import { setPhoneAutoDetectDefaultCode, } from '../helpers/templates'; import { + CustomScreenState, Direction, FlowState, NextFn, @@ -72,13 +74,20 @@ class DescopeWc extends BaseDescopeWc { flowState: State; stepState = new State({} as StepState, { - updateOnlyOnChange: false, + forceUpdate: true, }); #pollingTimeout: NodeJS.Timeout; #conditionalUiAbortController = null; + onScreenUpdate: ( + screenName: string, + context: CustomScreenState, + next: StepState['next'], + ref: typeof this, + ) => boolean | Promise; + constructor() { const flowState = new State({ deferredRedirect: false, @@ -184,7 +193,21 @@ class DescopeWc extends BaseDescopeWc { }); } - async init() { + init() { + // when running in a webview (mobile SDK) we want to lazy init the component + // so the mobile SDK will be able to register all the necessary callbacks + // before the component will start loading the flow + if (!(window as any).isDescopeBridge) { + // eslint-disable-next-line no-underscore-dangle + return this._init(); + } + // eslint-disable-next-line no-underscore-dangle + (this as any).lazyInit = this._init; + return undefined; + } + + // eslint-disable-next-line no-underscore-dangle + async _init() { if (this.shadowRoot.isConnected) { this.flowState?.subscribe(this.onFlowChange.bind(this)); this.stepState?.subscribe(this.onStepChange.bind(this)); @@ -272,6 +295,45 @@ class DescopeWc extends BaseDescopeWc { } } + async #handleCustomScreen(stepStateUpdate: Partial) { + const { next, stepName, ...state } = { + ...this.stepState.current, + ...stepStateUpdate, + }; + + const isCustomScreen: boolean = Boolean( + await this.onScreenUpdate?.( + stepName, + transformStepStateForCustomScreen(state), + next, + this, + ), + ); + + if (isCustomScreen) { + this.loggerWrapper.debug('Rendering a custom screen'); + this.contentRootElement.innerHTML = ''; + this.#dispatchPageEvents({ + isFirstScreen: !this.stepState.current.htmlFilename, + stepName: stepStateUpdate.stepName, + }); + + // we are unsubscribing all the listeners because we are going to render a custom screen + // and we do not want that onStepChange will be called + this.stepState.unsubscribeAll(); + const subscribeId = this.stepState.subscribe(() => { + // after state was updated, we want to re-subscribe the onStepChange listener + this.stepState.unsubscribe(subscribeId); + this.stepState?.subscribe(this.onStepChange.bind(this)); + }); + } + + this.#toggleScreenVisibility(isCustomScreen); + // in order to call onScreenUpdate after every next call + // and not only when there is a state change, we need to force update when we are rendering a custom screen + this.flowState.forceUpdate = isCustomScreen; + } + async onFlowChange( currentState: FlowState, prevState: FlowState, @@ -308,6 +370,7 @@ class DescopeWc extends BaseDescopeWc { } = currentState; let startScreenId: string; + let startScreenName: string; let conditionInteractionId: string; const abTestingKey = getABTestingKey(); const loginId = this.sdk.getLastUserLoginId(); @@ -349,10 +412,11 @@ class DescopeWc extends BaseDescopeWc { } if (flowConfig.conditions) { - ({ startScreenId, conditionInteractionId } = calculateConditions( - { loginId, code, token, abTestingKey }, - flowConfig.conditions, - )); + ({ startScreenId, conditionInteractionId, startScreenName } = + calculateConditions( + { loginId, code, token, abTestingKey }, + flowConfig.conditions, + )); } else if (flowConfig.condition) { ({ startScreenId, conditionInteractionId } = calculateCondition( flowConfig.condition, @@ -364,6 +428,7 @@ class DescopeWc extends BaseDescopeWc { }, )); } else { + startScreenName = flowConfig.startScreenName; startScreenId = flowConfig.startScreenId; } @@ -589,6 +654,8 @@ class DescopeWc extends BaseDescopeWc { }, htmlFilename: `${readyScreenId}.html`, htmlLocaleFilename: filenameWithLocale, + screenId: readyScreenId, + stepName: currentState.stepName || startScreenName, samlIdpUsername, oidcLoginHint, oidcPrompt, @@ -602,13 +669,8 @@ class DescopeWc extends BaseDescopeWc { // But if any of the sso params are not empty, this optimization doesn't happen // because Descope may decide not to show the first screen (in cases like a user is already logged in) - this is more relevant for SSO scenarios if (showFirstScreenOnExecutionInit(startScreenId, ssoQueryParams)) { - stepStateUpdate.next = ( - interactionId, - version, - componentsVersion, - inputs, - ) => - this.sdk.flow.start( + stepStateUpdate.next = async (interactionId, inputs) => { + const res = await this.sdk.flow.start( flowId, { tenant, @@ -624,7 +686,7 @@ class DescopeWc extends BaseDescopeWc { }, conditionInteractionId, interactionId, - componentsVersion, + projectConfig.componentsVersion, flowVersions, { ...this.formConfigValues, @@ -634,20 +696,49 @@ class DescopeWc extends BaseDescopeWc { ...(token && { token }), }, ); + + this.#handleSdkResponse(res); + + return res; + }; } else if ( isChanged('projectId') || isChanged('baseUrl') || isChanged('executionId') || isChanged('stepId') ) { - stepStateUpdate.next = (...args) => - this.sdk.flow.next(executionId, stepId, ...args); + stepStateUpdate.next = async (interactionId, input) => { + const res = await this.sdk.flow.next( + executionId, + stepId, + interactionId, + flowConfig.version, + projectConfig.componentsVersion, + input, + ); + + this.#handleSdkResponse(res); + + return res; + }; } + this.loggerWrapper.debug( + 'Going to render screen with id', + stepStateUpdate.screenId, + ); + + await this.#handleCustomScreen(stepStateUpdate); + // update step state this.stepState.update(stepStateUpdate); } + #toggleScreenVisibility = (isCustomScreen: boolean) => { + this.contentRootElement.classList.toggle('hidden', isCustomScreen); + this.slotElement.classList.toggle('hidden', !isCustomScreen); + }; + #handlePollingResponse = ( executionId: string, stepId: string, @@ -845,6 +936,7 @@ class DescopeWc extends BaseDescopeWc { this.flowState.update({ stepId, + stepName, executionId, action, redirectTo: redirect?.url, @@ -926,22 +1018,14 @@ class DescopeWc extends BaseDescopeWc { // we need the abort controller so we can cancel the current webauthn session in case the user clicked on a webauthn button, and we need to start a new session this.#conditionalUiAbortController = new AbortController(); - const flowConfig = await this.getFlowConfig(); - const projectConfig = await this.getProjectConfig(); // we should not wait for this fn, it will call next when the user uses his passkey on the input this.sdk.webauthn.helpers .conditional(options, this.#conditionalUiAbortController) .then(async (response) => { - const resp = await next( - conditionalUiInput.id, - flowConfig.version, - projectConfig.componentsVersion, - { - transactionId, - response, - }, - ); - this.#handleSdkResponse(resp); + next(conditionalUiInput.id, { + transactionId, + response, + }); }) .catch((err) => { if (err.name !== 'AbortError') { @@ -952,6 +1036,23 @@ class DescopeWc extends BaseDescopeWc { } } + #dispatchPageEvents({ + isFirstScreen, + stepName, + }: { + isFirstScreen: boolean; + stepName: string; + }) { + if (isFirstScreen) { + // Dispatch when the first page is ready + // So user can show a loader until his event is triggered + this.#dispatch('ready', {}); + } + + this.#dispatch('page-updated', { screenName: stepName }); + this.#dispatch('screen-updated', { screenName: stepName }); + } + async onStepChange(currentState: StepState, prevState: StepState) { const { htmlFilename, @@ -962,6 +1063,8 @@ class DescopeWc extends BaseDescopeWc { openInNewTabUrl, } = currentState; + this.loggerWrapper.debug('Rendering a flow screen'); + const stepTemplate = document.createElement('template'); stepTemplate.innerHTML = await this.getPageContent( htmlFilename, @@ -1007,8 +1110,8 @@ class DescopeWc extends BaseDescopeWc { const injectNextPage = async () => { await loadDescopeUiComponents; - // put the totp and notp variable on the root element, which is the top level 'div' inside the shadowroot - const rootElement = this.shadowRoot.querySelector('div'); + // put the totp and notp variable on the root element, which is the top level 'div' inside the shadowRoot + const rootElement = this.contentRootElement; setTOTPVariable(rootElement, screenState?.totp?.image); setNOTPVariable(rootElement, screenState?.notp?.image); @@ -1016,7 +1119,7 @@ class DescopeWc extends BaseDescopeWc { // set dynamic css variables that should be set at runtime setCssVars(rootElement, clone, screenState.cssVars, this.loggerWrapper); - this.rootElement.replaceChildren(clone); + rootElement.replaceChildren(clone); // If before html url was empty, we deduce its the first time a screen is shown const isFirstScreen = !prevState.htmlFilename; @@ -1025,37 +1128,29 @@ class DescopeWc extends BaseDescopeWc { setTimeout(() => { this.#updateExternalInputs(); - handleAutoFocus(this.rootElement, this.autoFocus, isFirstScreen); - if (this.validateOnBlur) { - handleReportValidityOnBlur(this.rootElement); + handleReportValidityOnBlur(rootElement); } // we need to wait for all components to render before we can set its value - updateScreenFromScreenState(this.rootElement, screenState); + updateScreenFromScreenState(rootElement, screenState); + + this.#dispatchPageEvents({ + isFirstScreen, + stepName: currentState.stepName, + }); + + handleAutoFocus(rootElement, this.autoFocus, isFirstScreen); }); this.#hydrate(next); - if (isFirstScreen) { - // Dispatch when the first page is ready - // So user can show a loader until his event is triggered - this.#dispatch('ready', {}); - } - this.#dispatch('page-updated', {}); - const loader = this.rootElement.querySelector( + + const loader = rootElement.querySelector( `[${ELEMENT_TYPE_ATTRIBUTE}="polling"]`, ); if (loader) { - const flowConfig = await this.getFlowConfig(); - const projectConfig = await this.getProjectConfig(); // Loader component in the screen triggers polling interaction - const response = await next( - CUSTOM_INTERACTIONS.polling, - flowConfig.version, - projectConfig.componentsVersion, - {}, - ); - this.#handleSdkResponse(response); + next(CUSTOM_INTERACTIONS.polling, {}); } // open in a new tab should be done after the screen is rendered @@ -1158,7 +1253,9 @@ class DescopeWc extends BaseDescopeWc { // the slotted inputs it needs clearPreviousExternalInputs(); - const eles = this.rootElement.querySelectorAll('[external-input="true"]'); + const eles = this.contentRootElement.querySelectorAll( + '[external-input="true"]', + ); eles.forEach((ele) => this.#handleExternalInputs(ele)); } @@ -1213,16 +1310,7 @@ class DescopeWc extends BaseDescopeWc { origin: this.nativeOptions?.origin || window.location.origin, }; - const flowConfig = await this.getFlowConfig(); - const projectConfig = await this.getProjectConfig(); - const sdkResp = await next( - submitterId, - flowConfig.version, - projectConfig.componentsVersion, - actionArgs, - ); - - this.#handleSdkResponse(sdkResp); + next(submitterId, actionArgs); this.#handleStoreCredentials(formData); } @@ -1230,7 +1318,7 @@ class DescopeWc extends BaseDescopeWc { ); #addPasscodeAutoSubmitListeners(next: NextFn) { - this.rootElement + this.contentRootElement .querySelectorAll(`descope-passcode[data-auto-submit="true"]`) .forEach((passcode: HTMLInputElement) => { passcode.addEventListener('input', () => { @@ -1245,7 +1333,7 @@ class DescopeWc extends BaseDescopeWc { #hydrate(next: NextFn) { // hydrating the page // Adding event listeners to all buttons without the exclude attribute - this.rootElement + this.contentRootElement .querySelectorAll( `descope-button:not([${DESCOPE_ATTRIBUTE_EXCLUDE_NEXT_BUTTON}])`, ) @@ -1260,10 +1348,10 @@ class DescopeWc extends BaseDescopeWc { } #handleAnimation(injectNextPage: () => void, direction: Direction) { - this.rootElement.addEventListener( + this.contentRootElement.addEventListener( 'transitionend', () => { - this.rootElement.classList.remove('fade-out'); + this.contentRootElement.classList.remove('fade-out'); injectNextPage(); }, { once: true }, @@ -1273,14 +1361,14 @@ class DescopeWc extends BaseDescopeWc { direction === Direction.forward ? 'slide-forward' : 'slide-backward'; Array.from( - this.rootElement.getElementsByClassName('input-container'), + this.contentRootElement.getElementsByClassName('input-container'), ).forEach((ele, i) => { // eslint-disable-next-line no-param-reassign (ele as HTMLElement).style['transition-delay'] = `${i * 40}ms`; ele.classList.add(transitionClass); }); - this.rootElement.classList.add('fade-out'); + this.contentRootElement.classList.add('fade-out'); } #dispatch(eventName: string, detail: any) { diff --git a/packages/sdks/web-component/src/lib/descope-wc/initTemplate.ts b/packages/sdks/web-component/src/lib/descope-wc/initTemplate.ts index 7bb41ccf0..98f73218d 100644 --- a/packages/sdks/web-component/src/lib/descope-wc/initTemplate.ts +++ b/packages/sdks/web-component/src/lib/descope-wc/initTemplate.ts @@ -9,10 +9,14 @@ initTemplate.innerHTML = ` #root { height: 100%; - transition: opacity 300ms ease-in-out; display: flex; + flex-direction: column; } + #content-root { + transition: opacity 300ms ease-in-out; + } + #root[data-theme] { background-color: transparent; } @@ -21,6 +25,10 @@ initTemplate.innerHTML = ` opacity: 0.1; } + .hidden { + display: none; + } + `; diff --git a/packages/sdks/web-component/src/lib/helpers/conditions.ts b/packages/sdks/web-component/src/lib/helpers/conditions.ts index d5f41ea7b..8c11f7a45 100644 --- a/packages/sdks/web-component/src/lib/helpers/conditions.ts +++ b/packages/sdks/web-component/src/lib/helpers/conditions.ts @@ -36,6 +36,7 @@ export const calculateCondition = ( : condition.unmet; return { startScreenId: conditionResult?.screenId, + startScreenName: conditionResult?.screenName, conditionInteractionId: conditionResult?.interactionId, }; }; @@ -56,6 +57,7 @@ export const calculateConditions = ( ? {} : { startScreenId: conditionResult.met.screenId, + startScreenName: conditionResult.met.screenName, conditionInteractionId: conditionResult.met.interactionId, }; }; diff --git a/packages/sdks/web-component/src/lib/helpers/helpers.ts b/packages/sdks/web-component/src/lib/helpers/helpers.ts index 4227f61cf..c1daa19b2 100644 --- a/packages/sdks/web-component/src/lib/helpers/helpers.ts +++ b/packages/sdks/web-component/src/lib/helpers/helpers.ts @@ -23,7 +23,15 @@ import { THIRD_PARTY_APP_STATE_ID_PARAM_NAME, APPLICATION_SCOPES_PARAM_NAME, } from '../constants'; -import { AutoFocusOptions, Direction, Locale, SSOQueryParams } from '../types'; +import { EXCLUDED_STATE_KEYS } from '../constants/customScreens'; +import { + AutoFocusOptions, + CustomScreenState, + Direction, + Locale, + SSOQueryParams, + StepState, +} from '../types'; const MD_COMPONENTS = ['descope-enriched-text']; @@ -644,3 +652,32 @@ export const clearPreviousExternalInputs = () => { export const shouldHandleMarkdown = (compName: string) => MD_COMPONENTS.includes(compName); + +const omitBy = >( + obj: T, + predicate: (value: any, key: keyof T) => boolean, +): T => + Object.fromEntries( + Object.entries(obj).filter( + ([key, value]) => !predicate(value, key as keyof T), + ), + ) as T; + +export const transformStepStateForCustomScreen = ( + state: Partial, +) => { + const sanitizedState: CustomScreenState = omitBy( + state.screenState, + (_, key) => EXCLUDED_STATE_KEYS.includes(key) || key.startsWith('_'), + ); + + const { + screenState: { errorText, errorType }, + } = state; + + if (errorText || errorType) { + sanitizedState.error = { text: errorText, type: errorType }; + } + + return sanitizedState; +}; diff --git a/packages/sdks/web-component/src/lib/helpers/state.ts b/packages/sdks/web-component/src/lib/helpers/state.ts index 5fc05eba0..c7d4a6b69 100644 --- a/packages/sdks/web-component/src/lib/helpers/state.ts +++ b/packages/sdks/web-component/src/lib/helpers/state.ts @@ -53,23 +53,27 @@ class State { #token = 0; - #updateOnlyOnChange = false; + #forceUpdateAll = true; - constructor(init: T = {} as T, { updateOnlyOnChange = true } = {}) { + constructor(init: T = {} as T, { forceUpdate = false } = {}) { this.#state = init; - this.#updateOnlyOnChange = updateOnlyOnChange; + this.#forceUpdateAll = forceUpdate; } get current() { return { ...this.#state }; } + set forceUpdate(forceUpdate: boolean) { + this.#forceUpdateAll = forceUpdate; + } + update = (newState: Partial | UpdateStateCb) => { const internalNewState = typeof newState === 'function' ? newState(this.#state) : newState; const nextState = { ...this.#state, ...internalNewState }; - if (!this.#updateOnlyOnChange || !compareObjects(this.#state, nextState)) { + if (this.#forceUpdateAll || !compareObjects(this.#state, nextState)) { const prevState = this.#state; this.#state = nextState; Object.freeze(this.#state); diff --git a/packages/sdks/web-component/src/lib/types.ts b/packages/sdks/web-component/src/lib/types.ts index 233d7b97d..a07fcc042 100644 --- a/packages/sdks/web-component/src/lib/types.ts +++ b/packages/sdks/web-component/src/lib/types.ts @@ -10,10 +10,23 @@ export type SdkFlowNext = Sdk['flow']['next']; export type ComponentsConfig = Record; export type CssVars = Record; -type OmitFirstArg = F extends (x: any, ...args: infer P) => infer R - ? (...args: P) => R +type KeepArgsByIndex = F extends ( + ...args: infer A +) => infer R + ? (...args: PickArgsByIndex) => R : never; +type PickArgsByIndex< + All extends readonly any[], + Indices extends readonly number[], +> = { + [K in keyof Indices]: Indices[K] extends keyof All ? All[Indices[K]] : never; +}; + +type Project = { + name: string; +}; + export enum Direction { backward = 'backward', forward = 'forward', @@ -32,8 +45,18 @@ export interface ScreenState { form?: Record; inputs?: Record; // Backward compatibility lastAuth?: LastAuthState; + project?: Project; totp?: { image?: string; provisionUrl?: string }; notp?: { image?: string; redirectUrl?: string }; + clientScripts?: unknown; + selfProvisionDomains?: unknown; + user?: unknown; + sso?: unknown; + dynamicSelects?: unknown; + keysInUse?: unknown; + genericForm?: unknown; + linkId?: unknown; + sentTo?: unknown; } export type SSOQueryParams = { @@ -64,6 +87,7 @@ export type FlowState = { baseUrl: string; tenant: string; stepId: string; + stepName: string; executionId: string; action: string; redirectTo: string; @@ -91,6 +115,8 @@ export type FlowState = { export type StepState = { screenState: ScreenState; + screenId: string; + stepName: string; htmlFilename: string; htmlLocaleFilename: string; next: NextFn; @@ -99,11 +125,21 @@ export type StepState = { openInNewTabUrl?: string; } & OIDCOptions; +export type CustomScreenState = Omit< + ScreenState, + 'cssVars' | 'componentsConfig' | 'inputs' +> & { + error?: { + text: ScreenState['errorText']; + type: ScreenState['errorType']; + }; +}; + export type DebugState = { isDebug: boolean; }; -export type NextFn = OmitFirstArg>; +export type NextFn = KeepArgsByIndex; export type NextFnReturnPromiseValue = Awaited>; export type DebuggerMessage = { @@ -128,6 +164,7 @@ type Operator = export interface ClientConditionResult { screenId: string; + screenName: string; interactionId: string; } @@ -183,6 +220,7 @@ type ThemeTemplate = { export type FlowConfig = { startScreenId?: string; + startScreenName?: string; version: number; targetLocales?: string[]; conditions?: ClientCondition[]; diff --git a/packages/sdks/web-component/test/descope-wc.test.ts b/packages/sdks/web-component/test/descope-wc.test.ts index 10f3f72a5..619f71a16 100644 --- a/packages/sdks/web-component/test/descope-wc.test.ts +++ b/packages/sdks/web-component/test/descope-wc.test.ts @@ -1177,7 +1177,7 @@ describe('web-component', () => { const shadowEle = document.getElementsByTagName('descope-wc')[0].shadowRoot; - const rootEle = shadowEle.querySelector('#root'); + const rootEle = shadowEle.querySelector('#content-root'); await waitFor( () => expect(rootEle).toHaveStyle({ @@ -1242,7 +1242,7 @@ describe('web-component', () => { document.body.innerHTML = ``; await waitFor(() => screen.getByShadowText('It works!'), { - timeout: WAIT_TIMEOUT, + timeout: 20000, }); window.location.search = `?${URL_RUN_IDS_PARAM_NAME}=0_1`; @@ -1252,7 +1252,7 @@ describe('web-component', () => { fireEvent.popState(window); const shadowEle = document.getElementsByTagName('descope-wc')[0].shadowRoot; - const rootEle = shadowEle.querySelector('#root'); + const rootEle = shadowEle.querySelector('#content-root'); const spyAddEventListener = jest.spyOn(rootEle, 'addEventListener'); spyAddEventListener.mockImplementationOnce( @@ -1260,7 +1260,7 @@ describe('web-component', () => { ); await waitFor(() => screen.findByShadowText('It updated!'), { - timeout: WAIT_TIMEOUT, + timeout: 20000, }); }); @@ -4491,7 +4491,7 @@ describe('web-component', () => { }); // Should called after the page is loaded - expect(ready).toBeCalledTimes(1); + await waitFor(() => expect(ready).toBeCalledTimes(1), { timeout: 20000 }); pageContent = 'Second Page'; @@ -4702,14 +4702,14 @@ describe('web-component', () => { const shadowEle = document.getElementsByTagName('descope-wc')[0].shadowRoot; - const rootEle = shadowEle.querySelector('#root'); + const rootEle = shadowEle.querySelector('#content-root'); await waitFor( () => expect(rootEle).toHaveStyle({ '--var-name': 'value', }), - { timeout: WAIT_TIMEOUT }, + { timeout: 20000 }, ); }); }); @@ -4846,4 +4846,178 @@ describe('web-component', () => { { timeout: WAIT_TIMEOUT }, ); }); + + describe('custom screen', () => { + it('should call the onScreenUpdate with the correct params', async () => { + startMock.mockReturnValue( + generateSdkResponse({ + screenState: { + user: { name: 'john' }, + inputs: {}, + cssVars: {}, + componentsConfig: {}, + errorText: 'errorText', + errorType: 'errorType', + clientScripts: {}, + _key: {}, + }, + }), + ); + + pageContent = `
Loaded123
ho!`; + + document.body.innerHTML = `

Custom element test

`; + + const descopeWc = document.querySelector('descope-wc'); + const onScreenUpdate = jest.fn(); + descopeWc.onScreenUpdate = onScreenUpdate; + + await waitFor(() => screen.getByShadowText('Loaded123'), { + timeout: WAIT_TIMEOUT, + }); + + await waitFor(() => expect(onScreenUpdate).toHaveBeenCalledTimes(1)); + + await waitFor(() => + expect(onScreenUpdate).toHaveBeenCalledWith( + 'Step Name', + { + form: {}, + lastAuth: { loginId: undefined, name: undefined }, + user: { name: 'john' }, + error: { + text: 'errorText', + type: 'errorType', + }, + }, + expect.any(Function), + expect.any(HTMLElement), + ), + ); + }); + it('should render a flow screen when onScreenUpdate returns false', async () => { + startMock.mockReturnValue(generateSdkResponse()); + + pageContent = `
Loaded123
ho!`; + + document.body.innerHTML = `

Custom element test

`; + + const descopeWc = document.querySelector('descope-wc'); + const onScreenUpdate = jest.fn(() => false); + descopeWc.onScreenUpdate = onScreenUpdate; + + await waitFor(() => expect(onScreenUpdate).toHaveBeenCalledTimes(1), { + timeout: WAIT_TIMEOUT, + }); + + await waitFor(() => screen.getByShadowText('Loaded123'), { + timeout: WAIT_TIMEOUT, + }); + + await waitFor( + () => + expect(descopeWc.shadowRoot.querySelector('slot')).toHaveClass( + 'hidden', + ), + { + timeout: 20000, + }, + ); + }); + it('should render a custom screen when onScreenUpdate returns true', async () => { + startMock.mockReturnValue(generateSdkResponse()); + + pageContent = `
Loaded123
ho!`; + + document.body.innerHTML = `

Custom element test

`; + + const descopeWc = document.querySelector('descope-wc'); + const onScreenUpdate = jest.fn(() => true); + descopeWc.onScreenUpdate = onScreenUpdate; + + await waitFor(() => expect(onScreenUpdate).toHaveBeenCalledTimes(1), { + timeout: WAIT_TIMEOUT, + }); + + await waitFor( + () => + expect(screen.queryByShadowText('Loaded123')).not.toBeInTheDocument(), + { + timeout: WAIT_TIMEOUT, + }, + ); + + await waitFor( + () => + expect(descopeWc.shadowRoot.querySelector('slot')).not.toHaveClass( + 'hidden', + ), + { + timeout: 20000, + }, + ); + }); + it('should call onScreenUpdate when rendering a custom screen even if there is no state change', async () => { + startMock.mockReturnValue(generateSdkResponse()); + + nextMock.mockReturnValue(generateSdkResponse()); + + pageContent = `
Loaded123
ho!`; + + document.body.innerHTML = `

Custom element test

`; + + const descopeWc = document.querySelector('descope-wc'); + const onScreenUpdate = jest.fn(() => true); + descopeWc.onScreenUpdate = onScreenUpdate; + + await waitFor(() => expect(onScreenUpdate).toHaveBeenCalledTimes(1), { + timeout: WAIT_TIMEOUT, + }); + + const next = onScreenUpdate.mock.calls[0][2]; + + next('bla', {}); + + await waitFor(() => expect(onScreenUpdate).toHaveBeenCalledTimes(2), { + timeout: 20000, + }); + + expect(onScreenUpdate.mock.calls[0][1]).toEqual( + onScreenUpdate.mock.calls[1][1], + ); + }); + it('should allow lazy render when window attribute is set (for mobile)', async () => { + startMock.mockReturnValue(generateSdkResponse()); + + window.isDescopeBridge = true; + + pageContent = `
Loaded123
ho!`; + + document.body.innerHTML = `

Custom element test

`; + + const descopeWc = document.querySelector('descope-wc'); + + await waitFor( + () => expect(descopeWc.lazyInit).toEqual(expect.any(Function)), + { timeout: 20000 }, + ); + + await waitFor( + () => + expect(screen.queryByShadowText('Loaded123')).not.toBeInTheDocument(), + { + timeout: WAIT_TIMEOUT, + }, + ); + + descopeWc.lazyInit(); + + await waitFor( + () => expect(screen.queryByShadowText('Loaded123')).toBeInTheDocument(), + { + timeout: WAIT_TIMEOUT, + }, + ); + }); + }); }); diff --git a/packages/sdks/web-component/test/helpers/state.test.ts b/packages/sdks/web-component/test/helpers/state.test.ts index 6d6170690..adbcd1f7b 100644 --- a/packages/sdks/web-component/test/helpers/state.test.ts +++ b/packages/sdks/web-component/test/helpers/state.test.ts @@ -67,11 +67,11 @@ describe('state', () => { expect(subscriber1).not.toBeCalled(); }); - it('update should call subscriber when objects are equal and updateOnlyOnChange is false', () => { + it('update should call subscriber when objects are equal and forceUpdate is true', () => { const init = { a: { b: 1 } }; const data = { a: { b: 1 } }; - const state = new State(init, { updateOnlyOnChange: false }); + const state = new State(init, { forceUpdate: true }); const subscriber1 = jest.fn(); state.subscribe(subscriber1); diff --git a/packages/widgets/audit-management-widget/src/app/index.html b/packages/widgets/audit-management-widget/src/app/index.html index 95e656568..6f432732c 100644 --- a/packages/widgets/audit-management-widget/src/app/index.html +++ b/packages/widgets/audit-management-widget/src/app/index.html @@ -33,7 +33,7 @@ - +
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1117346d6..6298ae07b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -83,7 +83,7 @@ importers: version: 3.1.0 ts-jest: specifier: 29.2.5 - version: 29.2.5(@babel/core@7.26.0)(esbuild@0.25.0)(jest@29.7.0)(typescript@5.7.3) + version: 29.2.5(@babel/core@7.26.8)(jest@29.7.0)(typescript@5.7.3) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@20.17.13)(typescript@5.7.3) @@ -146,7 +146,7 @@ importers: version: 6.6.0(eslint@8.57.1) jest: specifier: ^29.0.0 - version: 29.7.0(@types/node@20.17.13)(ts-node@10.9.2) + version: 29.7.0(@types/node@22.13.1)(ts-node@10.9.2) jest-environment-jsdom: specifier: ^29.0.0 version: 29.7.0 @@ -170,14 +170,16 @@ importers: version: 6.1.0(rollup@4.14.3)(typescript@5.6.3) ts-jest: specifier: ^29.0.0 - version: 29.1.5(@babel/core@7.26.0)(jest@29.7.0)(typescript@5.6.3) + version: 29.1.5(@babel/core@7.26.8)(jest@29.7.0)(typescript@5.6.3) ts-node: specifier: 10.9.2 - version: 10.9.2(@types/node@20.17.13)(typescript@5.6.3) + version: 10.9.2(@types/node@22.13.1)(typescript@5.6.3) typescript: specifier: ^5.0.2 version: 5.6.3 + packages/libs/escape-markdown/dist/cjs: {} + packages/libs/sdk-component-drivers: dependencies: '@descope/sdk-helpers': @@ -306,14 +308,16 @@ importers: version: 2.0.5 ts-jest: specifier: ^29.0.0 - version: 29.1.2(@babel/core@7.26.0)(esbuild@0.25.0)(jest@29.7.0)(typescript@5.4.5) + version: 29.1.2(@babel/core@7.26.8)(esbuild@0.25.0)(jest@29.7.0)(typescript@5.4.5) ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.7.1)(@types/node@20.17.13)(typescript@5.4.5) + version: 10.9.2(@types/node@20.17.13)(typescript@5.4.5) typescript: specifier: ^5.0.2 version: 5.4.5 + packages/libs/sdk-component-drivers/dist/cjs: {} + packages/libs/sdk-helpers: dependencies: tslib: @@ -436,14 +440,16 @@ importers: version: 2.0.5 ts-jest: specifier: ^29.0.0 - version: 29.1.2(@babel/core@7.26.0)(esbuild@0.25.0)(jest@29.7.0)(typescript@5.4.5) + version: 29.1.2(@babel/core@7.26.8)(esbuild@0.25.0)(jest@29.7.0)(typescript@5.4.5) ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.7.1)(@types/node@20.17.13)(typescript@5.4.5) + version: 10.9.2(@types/node@20.17.13)(typescript@5.4.5) typescript: specifier: ^5.0.2 version: 5.4.5 + packages/libs/sdk-helpers/dist/cjs: {} + packages/libs/sdk-mixins: dependencies: '@descope/sdk-component-drivers': @@ -590,14 +596,16 @@ 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.25.0)(jest@29.7.0)(typescript@5.4.5) + version: 29.1.2(@babel/core@7.26.8)(esbuild@0.25.0)(jest@29.7.0)(typescript@5.4.5) ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.7.1)(@types/node@20.17.13)(typescript@5.4.5) + version: 10.9.2(@types/node@20.17.13)(typescript@5.4.5) typescript: specifier: ^5.0.2 version: 5.4.5 + packages/libs/sdk-mixins/dist/cjs: {} + packages/sdks/angular-sdk: dependencies: '@descope/access-key-management-widget': @@ -633,7 +641,7 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: ^19.0.0 - version: 19.1.5(@angular/compiler-cli@19.1.4)(@angular/compiler@19.1.4)(@types/node@20.17.13)(jest-environment-jsdom@29.7.0)(jest@29.7.0)(ng-packagr@16.2.3)(typescript@5.7.3)(vite@6.1.0) + version: 19.1.6(@angular/compiler-cli@19.1.4)(@angular/compiler@19.1.4)(@types/node@22.13.1)(jest-environment-jsdom@29.7.0)(jest@29.7.0)(ng-packagr@16.2.3)(typescript@5.7.3)(vite@6.1.0) '@angular-eslint/builder': specifier: 19.0.2 version: 19.0.2(eslint@8.57.0)(typescript@5.7.3) @@ -654,7 +662,7 @@ importers: version: 19.1.4(@angular/core@19.1.4) '@angular/cli': specifier: ^19.0.0 - version: 19.1.5(@types/node@20.17.13) + version: 19.1.6(@types/node@22.13.1) '@angular/common': specifier: ^19.0.0 version: 19.1.4(@angular/core@19.1.4)(rxjs@7.8.1) @@ -696,10 +704,10 @@ importers: version: 4.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@2.8.8) jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.17.13)(ts-node@10.9.2) + version: 29.7.0(@types/node@22.13.1)(ts-node@10.9.2) jest-preset-angular: specifier: ^13.1.2 - version: 13.1.6(@angular-devkit/build-angular@19.1.5)(@angular/compiler-cli@19.1.4)(@angular/core@19.1.4)(@angular/platform-browser-dynamic@19.1.4)(@babel/core@7.26.0)(jest@29.7.0)(typescript@5.7.3) + version: 13.1.6(@angular-devkit/build-angular@19.1.6)(@angular/compiler-cli@19.1.4)(@angular/core@19.1.4)(@angular/platform-browser-dynamic@19.1.4)(@babel/core@7.26.8)(jest@29.7.0)(typescript@5.7.3) lint-staged: specifier: ^15.2.0 version: 15.2.7 @@ -725,6 +733,133 @@ importers: specifier: ~0.15.0 version: 0.15.0 + packages/sdks/angular-sdk/projects/angular-sdk: + dependencies: + '@descope/access-key-management-widget': + specifier: workspace:* + version: link:../../../../widgets/access-key-management-widget + '@descope/applications-portal-widget': + specifier: workspace:* + version: link:../../../../widgets/applications-portal-widget + '@descope/audit-management-widget': + specifier: workspace:* + version: link:../../../../widgets/audit-management-widget + '@descope/core-js-sdk': + specifier: workspace:* + version: link:../../../core-js-sdk + '@descope/role-management-widget': + specifier: workspace:* + version: link:../../../../widgets/role-management-widget + '@descope/user-management-widget': + specifier: workspace:* + version: link:../../../../widgets/user-management-widget + '@descope/user-profile-widget': + specifier: workspace:* + version: link:../../../../widgets/user-profile-widget + '@descope/web-component': + specifier: workspace:* + version: link:../../../web-component + '@descope/web-js-sdk': + specifier: workspace:* + version: link:../../../web-js-sdk + tslib: + specifier: ^2.3.0 + version: 2.8.1 + devDependencies: + '@angular-devkit/build-angular': + specifier: ^19.0.0 + version: 19.1.6(@angular/compiler-cli@19.1.4)(@angular/compiler@19.1.4)(@types/node@22.13.1)(jest-environment-jsdom@29.7.0)(jest@29.7.0)(ng-packagr@16.2.3)(typescript@5.7.3)(vite@6.1.0) + '@angular-eslint/builder': + specifier: 19.0.2 + version: 19.0.2(eslint@8.57.1)(typescript@5.7.3) + '@angular-eslint/eslint-plugin': + specifier: 19.0.2 + version: 19.0.2(@typescript-eslint/utils@8.24.0)(eslint@8.57.1)(typescript@5.7.3) + '@angular-eslint/eslint-plugin-template': + specifier: 19.0.2 + version: 19.0.2(@typescript-eslint/types@8.24.0)(@typescript-eslint/utils@8.24.0)(eslint@8.57.1)(typescript@5.7.3) + '@angular-eslint/schematics': + specifier: 19.0.2 + version: 19.0.2(@typescript-eslint/types@8.24.0)(@typescript-eslint/utils@8.24.0)(eslint@8.57.1)(typescript@5.7.3) + '@angular-eslint/template-parser': + specifier: 19.0.2 + version: 19.0.2(eslint@8.57.1)(typescript@5.7.3) + '@angular/animations': + specifier: ^19.0.0 + version: 19.1.4(@angular/core@19.1.4) + '@angular/cli': + specifier: ^19.0.0 + version: 19.1.6(@types/node@22.13.1) + '@angular/common': + specifier: ^19.0.0 + version: 19.1.4(@angular/core@19.1.4)(rxjs@7.8.1) + '@angular/compiler': + specifier: ^19.0.0 + version: 19.1.4(@angular/core@19.1.4) + '@angular/compiler-cli': + specifier: ^19.0.0 + version: 19.1.4(@angular/compiler@19.1.4)(typescript@5.7.3) + '@angular/core': + specifier: ^19.0.0 + version: 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) + '@angular/forms': + specifier: ^19.0.0 + version: 19.1.4(@angular/common@19.1.4)(@angular/core@19.1.4)(@angular/platform-browser@19.1.4)(rxjs@7.8.1) + '@angular/platform-browser': + specifier: ^19.0.0 + version: 19.1.4(@angular/animations@19.1.4)(@angular/common@19.1.4)(@angular/core@19.1.4) + '@angular/platform-browser-dynamic': + specifier: ^19.0.0 + version: 19.1.4(@angular/common@19.1.4)(@angular/compiler@19.1.4)(@angular/core@19.1.4)(@angular/platform-browser@19.1.4) + '@angular/router': + specifier: ^19.0.0 + version: 19.1.4(@angular/common@19.1.4)(@angular/core@19.1.4)(@angular/platform-browser@19.1.4)(rxjs@7.8.1) + '@types/jest': + specifier: ^29.5.5 + version: 29.5.14 + '@typescript-eslint/eslint-plugin': + specifier: 6.21.0 + version: 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.1)(typescript@5.7.3) + '@typescript-eslint/parser': + specifier: 6.21.0 + version: 6.21.0(eslint@8.57.1)(typescript@5.7.3) + eslint: + specifier: ^8.51.0 + version: 8.57.1 + eslint-plugin-prettier: + specifier: ^4.2.1 + version: 4.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@2.8.8) + jest: + specifier: ^29.7.0 + version: 29.7.0(@types/node@22.13.1)(ts-node@10.9.2) + jest-preset-angular: + specifier: ^13.1.2 + version: 13.1.6(@angular-devkit/build-angular@19.1.6)(@angular/compiler-cli@19.1.4)(@angular/core@19.1.4)(@angular/platform-browser-dynamic@19.1.4)(@babel/core@7.26.8)(jest@29.7.0)(typescript@5.7.3) + lint-staged: + specifier: ^15.2.0 + version: 15.2.7 + ng-mocks: + specifier: ^14.11.0 + version: 14.13.0(@angular/common@19.1.4)(@angular/core@19.1.4)(@angular/forms@19.1.4)(@angular/platform-browser@19.1.4) + ng-packagr: + specifier: ^16.2.3 + version: 16.2.3(@angular/compiler-cli@19.1.4)(tslib@2.8.1)(typescript@5.7.3) + prettier: + specifier: 2.8.8 + version: 2.8.8 + pretty-quick: + specifier: ^3.1.3 + version: 3.3.1(prettier@2.8.8) + rxjs: + specifier: ~7.8.1 + version: 7.8.1 + typescript: + specifier: ^5.5.0 + version: 5.7.3 + zone.js: + specifier: ~0.15.0 + version: 0.15.0 + packages/sdks/core-js-sdk: dependencies: jwt-decode: @@ -844,14 +979,16 @@ importers: version: 2.0.5 ts-jest: specifier: ^29.0.0 - version: 29.1.5(@babel/core@7.26.0)(esbuild@0.25.0)(jest@29.7.0)(typescript@5.4.5) + version: 29.1.5(@babel/core@7.26.8)(esbuild@0.25.0)(jest@29.7.0)(typescript@5.4.5) ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.7.1)(@types/node@20.17.13)(typescript@5.4.5) + version: 10.9.2(@types/node@20.17.13)(typescript@5.4.5) typescript: specifier: ^5.0.2 version: 5.4.5 + packages/sdks/core-js-sdk/dist/cjs: {} + packages/sdks/nextjs-sdk: dependencies: '@descope/core-js-sdk': @@ -875,7 +1012,7 @@ importers: optionalDependencies: '@descope/web-js-sdk': specifier: '>=1' - version: 1.23.9 + version: link:../web-js-sdk devDependencies: '@babel/core': specifier: 7.26.0 @@ -894,19 +1031,19 @@ importers: version: 1.2.5 '@rollup/plugin-alias': specifier: 5.1.1 - version: 5.1.1(rollup@4.34.6) + version: 5.1.1(rollup@4.22.4) '@rollup/plugin-commonjs': specifier: ^28.0.0 - version: 28.0.2(rollup@4.34.6) + version: 28.0.2(rollup@4.22.4) '@rollup/plugin-node-resolve': specifier: ^15.2.3 - version: 15.2.3(rollup@4.34.6) + version: 15.2.3(rollup@4.22.4) '@rollup/plugin-replace': specifier: ^5.0.5 - version: 5.0.7(rollup@4.34.6) + version: 5.0.7(rollup@4.22.4) '@rollup/plugin-typescript': specifier: ^8.5.0 - version: 8.5.0(rollup@4.34.6)(tslib@2.8.1)(typescript@5.4.5) + version: 8.5.0(rollup@4.22.4)(tslib@2.8.1)(typescript@5.4.5) '@swc/core': specifier: ^1.4.0 version: 1.7.1 @@ -933,7 +1070,7 @@ importers: version: 19.0.4(eslint-plugin-import@2.31.0)(eslint-plugin-jsx-a11y@6.10.2)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.37.4)(eslint@8.57.1) eslint-config-airbnb-typescript: specifier: 17.1.0 - version: 17.1.0(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint-plugin-import@2.31.0)(eslint@8.57.1) + version: 17.1.0(@typescript-eslint/eslint-plugin@6.21.0)(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.31.0)(eslint@8.57.1) eslint-config-prettier: specifier: 8.10.0 version: 8.10.0(eslint@8.57.1) @@ -945,10 +1082,10 @@ importers: version: 2.7.1(eslint-plugin-import@2.31.0)(eslint@8.57.1) eslint-plugin-import: specifier: 2.31.0 - version: 2.31.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@2.7.1)(eslint@8.57.1) + version: 2.31.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@2.7.1)(eslint@8.57.1) eslint-plugin-jest: specifier: 28.10.0 - version: 28.10.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.57.1)(jest@29.7.0)(typescript@5.4.5) + version: 28.10.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.1)(jest@29.7.0)(typescript@5.4.5) eslint-plugin-jest-dom: specifier: 4.0.3 version: 4.0.3(eslint@8.57.1) @@ -969,7 +1106,7 @@ importers: version: 1.2.3(eslint@8.57.1) eslint-plugin-prettier: specifier: 4.2.1 - version: 4.2.1(eslint-config-prettier@8.10.0)(eslint@8.57.1)(prettier@2.8.8) + version: 4.2.1(eslint-config-prettier@8.10.0)(eslint@8.57.1)(prettier@3.5.0) eslint-plugin-promise: specifier: 6.6.0 version: 6.6.0(eslint@8.57.1) @@ -987,10 +1124,10 @@ importers: version: 3.1.1 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.17.13)(ts-node@10.9.2) + version: 29.7.0(@types/node@22.13.1)(ts-node@10.9.2) jest-config: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.17.13)(ts-node@10.9.2) + version: 29.7.0(@types/node@22.13.1)(ts-node@10.9.2) jest-environment-jsdom: specifier: ^29.7.0 version: 29.7.0 @@ -1008,49 +1145,49 @@ importers: version: 15.1.7(@babel/core@7.26.0)(react-dom@18.3.1)(react@18.3.1) rollup: specifier: ^4.0.0 - version: 4.34.6 + version: 4.22.4 rollup-plugin-auto-external: specifier: ^2.0.0 - version: 2.0.0(rollup@4.34.6) + version: 2.0.0(rollup@4.22.4) rollup-plugin-browsersync: specifier: ^1.0.0 version: 1.3.3 rollup-plugin-define: specifier: ^1.0.1 - version: 1.0.1(rollup@4.34.6) + version: 1.0.1(rollup@4.22.4) rollup-plugin-delete: specifier: ^2.0.0 version: 2.0.0 rollup-plugin-dotenv: specifier: ^0.5.0 - version: 0.5.1(rollup@4.34.6) + version: 0.5.1(rollup@4.22.4) rollup-plugin-dts: specifier: ^6.1.1 - version: 6.1.1(rollup@4.34.6)(typescript@5.4.5) + version: 6.1.1(rollup@4.22.4)(typescript@5.4.5) rollup-plugin-livereload: specifier: ^2.0.5 version: 2.0.5 rollup-plugin-no-emit: specifier: 1.2.1 - version: 1.2.1(rollup@4.34.6) + version: 1.2.1(rollup@4.22.4) rollup-plugin-preserve-directives: specifier: ^0.4.0 - version: 0.4.0(rollup@4.34.6) + version: 0.4.0(rollup@4.22.4) rollup-plugin-serve: specifier: ^2.0.3 version: 2.0.3 rollup-plugin-swc3: specifier: ^0.12.0 - version: 0.12.1(@swc/core@1.7.1)(rollup@4.34.6) + version: 0.12.1(@swc/core@1.7.1)(rollup@4.22.4) rollup-plugin-terser: specifier: ^7.0.2 - version: 7.0.2(rollup@4.34.6) + version: 7.0.2(rollup@4.22.4) rollup-swc-preserve-directives: specifier: ^0.7.0 - version: 0.7.0(rollup@4.34.6) + version: 0.7.0(rollup@4.22.4) ts-node: specifier: ^10.9.2 - version: 10.9.2(@swc/core@1.7.1)(@types/node@20.17.13)(typescript@5.4.5) + version: 10.9.2(@swc/core@1.7.1)(@types/node@22.13.1)(typescript@5.4.5) typescript: specifier: ^5.0.2 version: 5.4.5 @@ -1059,10 +1196,10 @@ importers: dependencies: '@descope/nextjs-sdk': specifier: file:../.. - version: file:packages/sdks/nextjs-sdk(@types/react@18.3.18)(next@14.2.21)(react@18.3.1) + version: file:packages/sdks/nextjs-sdk(@types/react@19.0.8)(next@14.2.21)(react@18.3.1) next: specifier: ^14.2.10 - version: 14.2.21(@babel/core@7.26.0)(react-dom@18.3.1)(react@18.3.1) + version: 14.2.21(@babel/core@7.26.8)(react-dom@18.3.1)(react@18.3.1) react: specifier: ^18.2.0 version: 18.3.1 @@ -1074,10 +1211,10 @@ importers: dependencies: '@descope/nextjs-sdk': specifier: file:../.. - version: file:packages/sdks/nextjs-sdk(@types/react@18.3.18)(next@14.2.10)(react@18.3.1) + version: file:packages/sdks/nextjs-sdk(@types/react@19.0.8)(next@14.2.10)(react@18.3.1) next: specifier: 14.2.10 - version: 14.2.10(@babel/core@7.26.0)(react-dom@18.3.1)(react@18.3.1) + version: 14.2.10(@babel/core@7.26.8)(react-dom@18.3.1)(react@18.3.1) react: specifier: ^18.2.0 version: 18.3.1 @@ -1138,16 +1275,16 @@ importers: version: 1.21.0 '@rollup/plugin-commonjs': specifier: ^28.0.0 - version: 28.0.2(rollup@4.14.3) + version: 28.0.2(rollup@4.22.4) '@rollup/plugin-node-resolve': specifier: ^15.0.0 - version: 15.0.2(rollup@4.14.3) + version: 15.0.2(rollup@4.22.4) '@rollup/plugin-replace': specifier: ^5.0.0 - version: 5.0.2(rollup@4.14.3) + version: 5.0.2(rollup@4.22.4) '@rollup/plugin-typescript': specifier: ^11.0.0 - version: 11.1.6(rollup@4.14.3)(tslib@2.8.1)(typescript@5.4.5) + version: 11.1.6(rollup@4.22.4)(tslib@2.8.1)(typescript@5.4.5) '@testing-library/jest-dom': specifier: 5.17.0 version: 5.17.0 @@ -1189,7 +1326,7 @@ importers: version: 19.0.4(eslint-plugin-import@2.31.0)(eslint-plugin-jsx-a11y@6.10.2)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.37.4)(eslint@8.57.1) eslint-config-airbnb-typescript: specifier: 17.1.0 - version: 17.1.0(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint-plugin-import@2.31.0)(eslint@8.57.1) + version: 17.1.0(@typescript-eslint/eslint-plugin@6.21.0)(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.31.0)(eslint@8.57.1) eslint-config-prettier: specifier: 8.10.0 version: 8.10.0(eslint@8.57.1) @@ -1198,13 +1335,13 @@ importers: version: 17.1.0(eslint-plugin-import@2.31.0)(eslint-plugin-n@15.7.0)(eslint-plugin-promise@6.6.0)(eslint@8.57.1) eslint-import-resolver-typescript: specifier: 3.6.1 - version: 3.6.1(@typescript-eslint/parser@5.62.0)(eslint-plugin-import@2.31.0)(eslint@8.57.1) + version: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.31.0)(eslint@8.57.1) eslint-plugin-import: specifier: 2.31.0 - version: 2.31.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1) + version: 2.31.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1) eslint-plugin-jest: specifier: 28.10.0 - version: 28.10.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.57.1)(jest@29.7.0)(typescript@5.4.5) + version: 28.10.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.1)(jest@29.7.0)(typescript@5.4.5) eslint-plugin-jest-dom: specifier: 4.0.3 version: 4.0.3(eslint@8.57.1) @@ -1270,37 +1407,37 @@ importers: version: 6.28.1(react-dom@18.3.1)(react@18.3.1) rollup: specifier: ^4.0.0 - version: 4.14.3 + version: 4.22.4 rollup-plugin-auto-external: specifier: ^2.0.0 - version: 2.0.0(rollup@4.14.3) + version: 2.0.0(rollup@4.22.4) rollup-plugin-browsersync: specifier: ^1.3.3 version: 1.3.3 rollup-plugin-define: specifier: ^1.0.1 - version: 1.0.1(rollup@4.14.3) + version: 1.0.1(rollup@4.22.4) rollup-plugin-delete: specifier: ^2.0.0 version: 2.0.0 rollup-plugin-dotenv: specifier: ^0.5.0 - version: 0.5.1(rollup@4.14.3) + version: 0.5.1(rollup@4.22.4) rollup-plugin-dts: specifier: ^6.1.1 - version: 6.1.1(rollup@4.14.3)(typescript@5.4.5) + version: 6.1.1(rollup@4.22.4)(typescript@5.4.5) rollup-plugin-livereload: specifier: ^2.0.5 version: 2.0.5 rollup-plugin-no-emit: specifier: 1.2.1 - version: 1.2.1(rollup@4.14.3) + version: 1.2.1(rollup@4.22.4) rollup-plugin-serve: specifier: ^3.0.0 version: 3.0.0 rollup-plugin-terser: specifier: ^7.0.2 - version: 7.0.2(rollup@4.14.3) + version: 7.0.2(rollup@4.22.4) scheduler: specifier: ^0.25.0 version: 0.25.0 @@ -1314,6 +1451,8 @@ importers: specifier: ^5.0.2 version: 5.4.5 + packages/sdks/react-sdk/dist/cjs: {} + packages/sdks/vue-sdk: dependencies: '@descope/access-key-management-widget': @@ -1346,10 +1485,10 @@ importers: devDependencies: '@rollup/plugin-node-resolve': specifier: ^15.0.0 - version: 15.2.3(rollup@4.14.3) + version: 15.2.3(rollup@4.22.4) '@rollup/plugin-typescript': specifier: ^11.1.0 - version: 11.1.6(rollup@4.14.3)(tslib@2.6.3)(typescript@5.4.5) + version: 11.1.6(rollup@4.22.4)(tslib@2.6.3)(typescript@5.4.5) '@types/jest': specifier: ^27.0.1 version: 27.5.2 @@ -1385,10 +1524,10 @@ importers: version: 2.4.6 '@vue/vue3-jest': specifier: ^27.0.0-alpha.1 - version: 27.0.0(@babel/core@7.26.0)(babel-jest@27.5.1)(jest@29.7.0)(ts-jest@27.1.5)(typescript@5.4.5)(vue@3.4.31) + version: 27.0.0(@babel/core@7.26.8)(babel-jest@27.5.1)(jest@29.7.0)(ts-jest@27.1.5)(typescript@5.4.5)(vue@3.4.31) babel-jest: specifier: ^27.0.6 - version: 27.5.1(@babel/core@7.26.0) + version: 27.5.1(@babel/core@7.26.8) eslint: specifier: ^7.32.0 version: 7.32.0 @@ -1421,34 +1560,34 @@ importers: version: 3.3.1(prettier@2.8.8) rollup: specifier: ^4.0.0 - version: 4.14.3 + version: 4.22.4 rollup-plugin-auto-external: specifier: ^2.0.0 - version: 2.0.0(rollup@4.14.3) + version: 2.0.0(rollup@4.22.4) rollup-plugin-commonjs: specifier: ^10.1.0 - version: 10.1.0(rollup@4.14.3) + version: 10.1.0(rollup@4.22.4) rollup-plugin-define: specifier: 1.0.1 - version: 1.0.1(rollup@4.14.3) + version: 1.0.1(rollup@4.22.4) rollup-plugin-delete: specifier: ^2.0.0 version: 2.0.0 rollup-plugin-dts: specifier: ^6.1.1 - version: 6.1.1(rollup@4.14.3)(typescript@5.4.5) + version: 6.1.1(rollup@4.22.4)(typescript@5.4.5) rollup-plugin-terser: specifier: ^7.0.2 - version: 7.0.2(rollup@4.14.3) + version: 7.0.2(rollup@4.22.4) rollup-plugin-typescript2: specifier: ^0.36.0 - version: 0.36.0(rollup@4.14.3)(typescript@5.4.5) + version: 0.36.0(rollup@4.22.4)(typescript@5.4.5) rollup-plugin-vue: specifier: ^6.0.0 version: 6.0.0(@vue/compiler-sfc@3.5.13) ts-jest: specifier: ^27.0.4 - version: 27.1.5(@babel/core@7.26.0)(@types/jest@27.5.2)(babel-jest@27.5.1)(jest@29.7.0)(typescript@5.4.5) + version: 27.1.5(@babel/core@7.26.8)(@types/jest@27.5.2)(babel-jest@27.5.1)(jest@29.7.0)(typescript@5.4.5) tslib: specifier: ^2.3.1 version: 2.6.3 @@ -1488,16 +1627,16 @@ importers: version: 1.2.5 '@rollup/plugin-commonjs': specifier: ^28.0.0 - version: 28.0.2(rollup@4.14.3) + version: 28.0.2(rollup@4.22.4) '@rollup/plugin-node-resolve': specifier: ^15.0.0 - version: 15.0.2(rollup@4.14.3) + version: 15.0.2(rollup@4.22.4) '@rollup/plugin-replace': specifier: ^5.0.0 - version: 5.0.2(rollup@4.14.3) + version: 5.0.2(rollup@4.22.4) '@rollup/plugin-typescript': specifier: ^11.0.0 - version: 11.1.6(rollup@4.14.3)(tslib@2.8.1)(typescript@5.4.5) + version: 11.1.6(rollup@4.22.4)(tslib@2.8.1)(typescript@5.4.5) '@testing-library/dom': specifier: ^10.0.0 version: 10.1.0 @@ -1578,25 +1717,25 @@ importers: version: 4.0.0(prettier@3.1.0) rollup: specifier: ^4.0.0 - version: 4.14.3 + version: 4.22.4 rollup-plugin-browsersync: specifier: ^1.3.3 version: 1.3.3 rollup-plugin-define: specifier: ^1.0.1 - version: 1.0.1(rollup@4.14.3) + version: 1.0.1(rollup@4.22.4) rollup-plugin-delete: specifier: ^2.0.0 version: 2.0.0 rollup-plugin-dts: specifier: ^6.0.0 - version: 6.1.0(rollup@4.14.3)(typescript@5.4.5) + version: 6.1.0(rollup@4.22.4)(typescript@5.4.5) rollup-plugin-livereload: specifier: ^2.0.5 version: 2.0.5 rollup-plugin-terser: specifier: 7.0.2 - version: 7.0.2(rollup@4.14.3) + version: 7.0.2(rollup@4.22.4) shadow-dom-testing-library: specifier: ^1.2.0 version: 1.10.0(@testing-library/dom@10.1.0) @@ -1605,10 +1744,10 @@ importers: version: 1.0.2 ts-jest: specifier: ^29.0.0 - version: 29.1.5(@babel/core@7.26.0)(esbuild@0.25.0)(jest@29.7.0)(typescript@5.4.5) + version: 29.1.5(@babel/core@7.26.8)(esbuild@0.25.0)(jest@29.7.0)(typescript@5.4.5) ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.7.1)(@types/node@20.17.13)(typescript@5.4.5) + version: 10.9.2(@types/node@20.17.13)(typescript@5.4.5) typescript: specifier: ^5.0.2 version: 5.4.5 @@ -1750,14 +1889,16 @@ importers: version: 2.0.5 ts-jest: specifier: ^29.0.0 - version: 29.1.5(@babel/core@7.26.0)(esbuild@0.25.0)(jest@29.7.0)(typescript@5.4.5) + version: 29.1.5(@babel/core@7.26.8)(esbuild@0.25.0)(jest@29.7.0)(typescript@5.4.5) ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.7.1)(@types/node@20.17.13)(typescript@5.4.5) + version: 10.9.2(@types/node@20.17.13)(typescript@5.4.5) typescript: specifier: ^5.0.2 version: 5.4.5 + packages/sdks/web-js-sdk/dist/cjs: {} + packages/widgets/access-key-management-widget: dependencies: '@descope/sdk-component-drivers': @@ -1928,10 +2069,10 @@ importers: version: 1.0.2 ts-jest: specifier: ^29.0.0 - version: 29.1.5(@babel/core@7.26.0)(esbuild@0.25.0)(jest@29.7.0)(typescript@5.4.5) + version: 29.1.5(@babel/core@7.26.8)(esbuild@0.25.0)(jest@29.7.0)(typescript@5.4.5) ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.7.1)(@types/node@20.17.13)(typescript@5.4.5) + version: 10.9.2(@types/node@20.17.13)(typescript@5.4.5) typescript: specifier: ^5.0.2 version: 5.4.5 @@ -2106,7 +2247,7 @@ importers: version: 1.0.2 ts-jest: specifier: ^29.0.0 - version: 29.1.5(@babel/core@7.26.0)(jest@29.7.0)(typescript@5.5.4) + version: 29.1.5(@babel/core@7.26.8)(jest@29.7.0)(typescript@5.5.4) ts-node: specifier: 10.9.2 version: 10.9.2(@types/node@20.17.13)(typescript@5.5.4) @@ -2158,16 +2299,16 @@ importers: version: 1.47.0 '@rollup/plugin-commonjs': specifier: ^28.0.0 - version: 28.0.2(rollup@4.14.3) + version: 28.0.2(rollup@4.22.4) '@rollup/plugin-node-resolve': specifier: ^15.0.0 - version: 15.0.2(rollup@4.14.3) + version: 15.0.2(rollup@4.22.4) '@rollup/plugin-replace': specifier: ^5.0.0 - version: 5.0.2(rollup@4.14.3) + version: 5.0.2(rollup@4.22.4) '@rollup/plugin-typescript': specifier: ^11.0.0 - version: 11.1.6(rollup@4.14.3)(tslib@2.8.1)(typescript@5.4.5) + version: 11.1.6(rollup@4.22.4)(tslib@2.8.1)(typescript@5.4.5) '@testing-library/dom': specifier: ^10.0.0 version: 10.1.0 @@ -2194,7 +2335,7 @@ importers: version: 19.0.4(eslint-plugin-import@2.31.0)(eslint-plugin-jsx-a11y@6.10.2)(eslint-plugin-react-hooks@4.6.2)(eslint-plugin-react@7.37.4)(eslint@8.57.1) eslint-config-airbnb-typescript: specifier: 17.1.0 - version: 17.1.0(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint-plugin-import@2.31.0)(eslint@8.57.1) + version: 17.1.0(@typescript-eslint/eslint-plugin@6.21.0)(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.31.0)(eslint@8.57.1) eslint-config-prettier: specifier: 9.1.0 version: 9.1.0(eslint@8.57.1) @@ -2203,13 +2344,13 @@ importers: version: 17.1.0(eslint-plugin-import@2.31.0)(eslint-plugin-n@17.9.0)(eslint-plugin-promise@6.6.0)(eslint@8.57.1) eslint-import-resolver-typescript: specifier: 3.6.1 - version: 3.6.1(@typescript-eslint/parser@5.62.0)(eslint-plugin-import@2.31.0)(eslint@8.57.1) + version: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.31.0)(eslint@8.57.1) eslint-plugin-import: specifier: 2.31.0 - version: 2.31.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1) + version: 2.31.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1) eslint-plugin-jest: specifier: 28.10.0 - version: 28.10.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.57.1)(jest@29.7.0)(typescript@5.4.5) + version: 28.10.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.1)(jest@29.7.0)(typescript@5.4.5) eslint-plugin-jest-dom: specifier: 5.4.0 version: 5.4.0(@testing-library/dom@10.1.0)(eslint@8.57.1) @@ -2248,7 +2389,7 @@ importers: version: 3.3.1(prettier@3.1.0) rollup: specifier: ^4.0.0 - version: 4.14.3 + version: 4.22.4 rollup-plugin-banner2: specifier: ^1.2.2 version: 1.2.2 @@ -2257,22 +2398,22 @@ importers: version: 1.3.3 rollup-plugin-define: specifier: ^1.0.1 - version: 1.0.1(rollup@4.14.3) + version: 1.0.1(rollup@4.22.4) rollup-plugin-delete: specifier: ^2.0.0 version: 2.0.0 rollup-plugin-dts: specifier: ^4.2.2 - version: 4.2.3(rollup@4.14.3)(typescript@5.4.5) + version: 4.2.3(rollup@4.22.4)(typescript@5.4.5) rollup-plugin-livereload: specifier: ^2.0.5 version: 2.0.5 rollup-plugin-svg-import: specifier: 3.0.0 - version: 3.0.0(rollup@4.14.3) + version: 3.0.0(rollup@4.22.4) rollup-plugin-terser: specifier: 7.0.2 - version: 7.0.2(rollup@4.14.3) + version: 7.0.2(rollup@4.22.4) serve: specifier: 14.2.4 version: 14.2.4 @@ -2284,10 +2425,10 @@ importers: version: 1.0.2 ts-jest: specifier: ^29.0.0 - version: 29.1.5(@babel/core@7.26.0)(esbuild@0.25.0)(jest@29.7.0)(typescript@5.4.5) + version: 29.1.5(@babel/core@7.26.8)(esbuild@0.25.0)(jest@29.7.0)(typescript@5.4.5) ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.7.1)(@types/node@20.17.13)(typescript@5.4.5) + version: 10.9.2(@types/node@20.17.13)(typescript@5.4.5) typescript: specifier: ^5.0.2 version: 5.4.5 @@ -2462,10 +2603,10 @@ importers: version: 1.0.2 ts-jest: specifier: ^29.0.0 - version: 29.1.5(@babel/core@7.26.0)(esbuild@0.25.0)(jest@29.7.0)(typescript@5.4.5) + version: 29.1.5(@babel/core@7.26.8)(esbuild@0.25.0)(jest@29.7.0)(typescript@5.4.5) ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.7.1)(@types/node@20.17.13)(typescript@5.4.5) + version: 10.9.2(@types/node@20.17.13)(typescript@5.4.5) typescript: specifier: ^5.0.2 version: 5.4.5 @@ -2643,10 +2784,10 @@ importers: version: 1.0.2 ts-jest: specifier: ^29.0.0 - version: 29.1.5(@babel/core@7.26.0)(esbuild@0.25.0)(jest@29.7.0)(typescript@5.4.5) + version: 29.1.5(@babel/core@7.26.8)(esbuild@0.25.0)(jest@29.7.0)(typescript@5.4.5) ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.7.1)(@types/node@20.17.13)(typescript@5.4.5) + version: 10.9.2(@types/node@20.17.13)(typescript@5.4.5) typescript: specifier: ^5.0.2 version: 5.4.5 @@ -2828,10 +2969,10 @@ importers: version: 1.0.2 ts-jest: specifier: ^29.0.0 - version: 29.1.5(@babel/core@7.26.0)(esbuild@0.25.0)(jest@29.7.0)(typescript@5.4.5) + version: 29.1.5(@babel/core@7.26.8)(esbuild@0.25.0)(jest@29.7.0)(typescript@5.4.5) ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.7.1)(@types/node@20.17.13)(typescript@5.4.5) + version: 10.9.2(@types/node@20.17.13)(typescript@5.4.5) typescript: specifier: ^5.0.2 version: 5.4.5 @@ -2860,28 +3001,28 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} dependencies: - '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - /@angular-devkit/architect@0.1901.5: - resolution: {integrity: sha512-zlRudZx34FkFZnSdaQCjxDleHwbQYNLdBFcLi+FBwt0UXqxmhbEIasK3l/3kCOC3QledrjUzVXgouji+OZ/WGQ==} + /@angular-devkit/architect@0.1901.6: + resolution: {integrity: sha512-JiMrs3T1A7RyF5bh0PLGKDjTR8sa/kh8w63+dW0azcNok30tKjLjwJRPTpePokWefjmRgfKaf/iZ8yfFBnpGpA==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} dependencies: - '@angular-devkit/core': 19.1.5 + '@angular-devkit/core': 19.1.6 rxjs: 7.8.1 transitivePeerDependencies: - chokidar dev: true - /@angular-devkit/build-angular@19.1.5(@angular/compiler-cli@19.1.4)(@angular/compiler@19.1.4)(@types/node@20.17.13)(jest-environment-jsdom@29.7.0)(jest@29.7.0)(ng-packagr@16.2.3)(typescript@5.7.3)(vite@6.1.0): - resolution: {integrity: sha512-ny7ktNOTxaEi6cS3V6XFP5bbJkgiMt3OUNUYLdfdbv4y6wolVlPVHKl+wb4xs6tgbnmx63+e6zGpoDMCRytgcg==} + /@angular-devkit/build-angular@19.1.6(@angular/compiler-cli@19.1.4)(@angular/compiler@19.1.4)(@types/node@22.13.1)(jest-environment-jsdom@29.7.0)(jest@29.7.0)(ng-packagr@16.2.3)(typescript@5.7.3)(vite@6.1.0): + resolution: {integrity: sha512-QZtzkD0PQnBMpIwXyFTa9ZqN2wIEssh8V2VBRXzp0GXOZYvU18ICdZwJCXbRU2Bixwk8mrDALfMfryDWovJkGQ==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: '@angular/compiler-cli': ^19.0.0 '@angular/localize': ^19.0.0 '@angular/platform-server': ^19.0.0 '@angular/service-worker': ^19.0.0 - '@angular/ssr': ^19.1.5 + '@angular/ssr': ^19.1.6 '@web/test-runner': ^0.19.0 browser-sync: ^3.0.2 jest: ^29.5.0 @@ -2918,10 +3059,10 @@ packages: optional: true dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.1901.5 - '@angular-devkit/build-webpack': 0.1901.5(webpack-dev-server@5.2.0)(webpack@5.97.1) - '@angular-devkit/core': 19.1.5 - '@angular/build': 19.1.5(@angular/compiler-cli@19.1.4)(@angular/compiler@19.1.4)(@types/node@20.17.13)(less@4.2.1)(ng-packagr@16.2.3)(postcss@8.4.49)(terser@5.37.0)(typescript@5.7.3) + '@angular-devkit/architect': 0.1901.6 + '@angular-devkit/build-webpack': 0.1901.6(webpack-dev-server@5.2.0)(webpack@5.97.1) + '@angular-devkit/core': 19.1.6 + '@angular/build': 19.1.6(@angular/compiler-cli@19.1.4)(@angular/compiler@19.1.4)(@types/node@22.13.1)(less@4.2.1)(ng-packagr@16.2.3)(postcss@8.4.49)(terser@5.37.0)(typescript@5.7.3) '@angular/compiler-cli': 19.1.4(@angular/compiler@19.1.4)(typescript@5.7.3) '@babel/core': 7.26.0 '@babel/generator': 7.26.3 @@ -2933,7 +3074,7 @@ packages: '@babel/preset-env': 7.26.0(@babel/core@7.26.0) '@babel/runtime': 7.26.0 '@discoveryjs/json-ext': 0.6.3 - '@ngtools/webpack': 19.1.5(@angular/compiler-cli@19.1.4)(typescript@5.7.3)(webpack@5.97.1) + '@ngtools/webpack': 19.1.6(@angular/compiler-cli@19.1.4)(typescript@5.7.3)(webpack@5.97.1) '@vitejs/plugin-basic-ssl': 1.2.0(vite@6.1.0) ansi-colors: 4.1.3 autoprefixer: 10.4.20(postcss@8.4.49) @@ -2945,7 +3086,7 @@ packages: fast-glob: 3.3.3 http-proxy-middleware: 3.0.3 istanbul-lib-instrument: 6.0.3 - jest: 29.7.0(@types/node@20.17.13)(ts-node@10.9.2) + jest: 29.7.0(@types/node@22.13.1)(ts-node@10.9.2) jest-environment-jsdom: 29.7.0 jsonc-parser: 3.3.1 karma-source-map-support: 1.4.0 @@ -3003,14 +3144,14 @@ packages: - yaml dev: true - /@angular-devkit/build-webpack@0.1901.5(webpack-dev-server@5.2.0)(webpack@5.97.1): - resolution: {integrity: sha512-UxEoF7F8L1GpH/N4me7VGe5ZPfxIiVHyhw5/ck3rcVbT6YD22/GYFGSJRGYP+D7LLTJ7OOQvfD6Bc/q62HhWvA==} + /@angular-devkit/build-webpack@0.1901.6(webpack-dev-server@5.2.0)(webpack@5.97.1): + resolution: {integrity: sha512-QNcc1XrmkyPuUBn0OGZjUAZZiKstaEHWkk1lSXN2YqRasGcoQjZdKZC3/Xl6ng/A4WjNSFFpImSIiSRI8xd0Og==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: webpack: ^5.30.0 webpack-dev-server: ^5.0.2 dependencies: - '@angular-devkit/architect': 0.1901.5 + '@angular-devkit/architect': 0.1901.6 rxjs: 7.8.1 webpack: 5.97.1(esbuild@0.24.2) webpack-dev-server: 5.2.0(webpack@5.97.1) @@ -3018,8 +3159,8 @@ packages: - chokidar dev: true - /@angular-devkit/core@19.1.5: - resolution: {integrity: sha512-wGKV+i5mCM/Hd/3CsdrIYcVi5G2Wg/D5941bUDXivrbsqHfKVINxAkI3OI1eaD90VnAL8ICrQEoAhh6ni2Umkg==} + /@angular-devkit/core@19.1.6: + resolution: {integrity: sha512-4s1RpYFGb/yP6OZ1dnYmU7maFYdhZS9pnUHKKiL9rSDhUHkX+VZlf9WFFrHv2RMWg+evrrwPtiFOTMBLShUi8g==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: chokidar: ^4.0.0 @@ -3035,11 +3176,11 @@ packages: source-map: 0.7.4 dev: true - /@angular-devkit/schematics@19.1.5: - resolution: {integrity: sha512-8QjOlO2CktcTT0TWcaABea2xSePxoPKaZu96+6gc8oZzj/y8DbdGiO9mRvIac9+m4hiZI41Cqm1W+yMsCzYMkA==} + /@angular-devkit/schematics@19.1.6: + resolution: {integrity: sha512-6ljZSVTFqnk0utnXLLd82wM6nj68984n5gfrpT1PlOff6MHHNH2YCfwNSlwg6Q5UfDxhEDIT9/MTLnXd6znIRQ==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} dependencies: - '@angular-devkit/core': 19.1.5 + '@angular-devkit/core': 19.1.6 jsonc-parser: 3.3.1 magic-string: 0.30.17 ora: 5.4.1 @@ -3054,14 +3195,28 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '*' dependencies: - '@angular-devkit/architect': 0.1901.5 - '@angular-devkit/core': 19.1.5 + '@angular-devkit/architect': 0.1901.6 + '@angular-devkit/core': 19.1.6 eslint: 8.57.0 typescript: 5.7.3 transitivePeerDependencies: - chokidar dev: true + /@angular-eslint/builder@19.0.2(eslint@8.57.1)(typescript@5.7.3): + resolution: {integrity: sha512-BdmMSndQt2fSBiTVniskUcUpQaeweUapbsL0IDfQ7a13vL0NVXpc3K89YXuVE/xsb08uHtqphuwxPAAj6kX3OA==} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '*' + dependencies: + '@angular-devkit/architect': 0.1901.6 + '@angular-devkit/core': 19.1.6 + eslint: 8.57.1 + typescript: 5.7.3 + transitivePeerDependencies: + - chokidar + dev: true + /@angular-eslint/bundled-angular-compiler@19.0.2: resolution: {integrity: sha512-HPmp92r70SNO/0NdIaIhxrgVSpomqryuUk7jszvNRtu+OzYCJGcbLhQD38T3dbBWT/AV0QXzyzExn6/2ai9fEw==} dev: true @@ -3084,6 +3239,24 @@ packages: typescript: 5.7.3 dev: true + /@angular-eslint/eslint-plugin-template@19.0.2(@typescript-eslint/types@8.24.0)(@typescript-eslint/utils@8.24.0)(eslint@8.57.1)(typescript@5.7.3): + resolution: {integrity: sha512-f/OCF9ThnxQ8m0eNYPwnCrySQPhYfCOF6STL7F9LnS8Bs3ZeW3/oT1yLaMIZ1Eg0ogIkgxksMAJZjrJPUPBD1Q==} + peerDependencies: + '@typescript-eslint/types': ^7.11.0 || ^8.0.0 + '@typescript-eslint/utils': ^7.11.0 || ^8.0.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '*' + dependencies: + '@angular-eslint/bundled-angular-compiler': 19.0.2 + '@angular-eslint/utils': 19.0.2(@typescript-eslint/utils@8.24.0)(eslint@8.57.1)(typescript@5.7.3) + '@typescript-eslint/types': 8.24.0 + '@typescript-eslint/utils': 8.24.0(eslint@8.57.1)(typescript@5.7.3) + aria-query: 5.3.2 + axobject-query: 4.1.0 + eslint: 8.57.1 + typescript: 5.7.3 + dev: true + /@angular-eslint/eslint-plugin@19.0.2(@typescript-eslint/utils@8.24.0)(eslint@8.57.0)(typescript@5.7.3): resolution: {integrity: sha512-DLuNVVGGFicSThOcMSJyNje+FZSPdG0B3lCBRiqcgKH/16kfM4pV8MobPM7RGK2NhaOmmZ4zzJNwpwWPSgi+Lw==} peerDependencies: @@ -3098,11 +3271,25 @@ packages: typescript: 5.7.3 dev: true + /@angular-eslint/eslint-plugin@19.0.2(@typescript-eslint/utils@8.24.0)(eslint@8.57.1)(typescript@5.7.3): + resolution: {integrity: sha512-DLuNVVGGFicSThOcMSJyNje+FZSPdG0B3lCBRiqcgKH/16kfM4pV8MobPM7RGK2NhaOmmZ4zzJNwpwWPSgi+Lw==} + peerDependencies: + '@typescript-eslint/utils': ^7.11.0 || ^8.0.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '*' + dependencies: + '@angular-eslint/bundled-angular-compiler': 19.0.2 + '@angular-eslint/utils': 19.0.2(@typescript-eslint/utils@8.24.0)(eslint@8.57.1)(typescript@5.7.3) + '@typescript-eslint/utils': 8.24.0(eslint@8.57.1)(typescript@5.7.3) + eslint: 8.57.1 + typescript: 5.7.3 + dev: true + /@angular-eslint/schematics@19.0.2(@typescript-eslint/types@8.24.0)(@typescript-eslint/utils@8.24.0)(eslint@8.57.0)(typescript@5.7.3): resolution: {integrity: sha512-wI4SyiAnUCrpigtK6PHRlVWMC9vWljqmlLhbsJV5O5yDajlmRdvgXvSHDefhJm0hSfvZYRXuiAARYv2+QVfnGA==} dependencies: - '@angular-devkit/core': 19.1.5 - '@angular-devkit/schematics': 19.1.5 + '@angular-devkit/core': 19.1.6 + '@angular-devkit/schematics': 19.1.6 '@angular-eslint/eslint-plugin': 19.0.2(@typescript-eslint/utils@8.24.0)(eslint@8.57.0)(typescript@5.7.3) '@angular-eslint/eslint-plugin-template': 19.0.2(@typescript-eslint/types@8.24.0)(@typescript-eslint/utils@8.24.0)(eslint@8.57.0)(typescript@5.7.3) ignore: 6.0.2 @@ -3116,6 +3303,24 @@ packages: - typescript dev: true + /@angular-eslint/schematics@19.0.2(@typescript-eslint/types@8.24.0)(@typescript-eslint/utils@8.24.0)(eslint@8.57.1)(typescript@5.7.3): + resolution: {integrity: sha512-wI4SyiAnUCrpigtK6PHRlVWMC9vWljqmlLhbsJV5O5yDajlmRdvgXvSHDefhJm0hSfvZYRXuiAARYv2+QVfnGA==} + dependencies: + '@angular-devkit/core': 19.1.6 + '@angular-devkit/schematics': 19.1.6 + '@angular-eslint/eslint-plugin': 19.0.2(@typescript-eslint/utils@8.24.0)(eslint@8.57.1)(typescript@5.7.3) + '@angular-eslint/eslint-plugin-template': 19.0.2(@typescript-eslint/types@8.24.0)(@typescript-eslint/utils@8.24.0)(eslint@8.57.1)(typescript@5.7.3) + ignore: 6.0.2 + semver: 7.6.3 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - '@typescript-eslint/types' + - '@typescript-eslint/utils' + - chokidar + - eslint + - typescript + dev: true + /@angular-eslint/template-parser@19.0.2(eslint@8.57.0)(typescript@5.7.3): resolution: {integrity: sha512-z3rZd2sBfuYcFf9rGDsB2zz2fbGX8kkF+0ftg9eocyQmzWrlZHFmuw9ha7oP/Mz8gpblyCS/aa1U/Srs6gz0UQ==} peerDependencies: @@ -3128,6 +3333,18 @@ packages: typescript: 5.7.3 dev: true + /@angular-eslint/template-parser@19.0.2(eslint@8.57.1)(typescript@5.7.3): + resolution: {integrity: sha512-z3rZd2sBfuYcFf9rGDsB2zz2fbGX8kkF+0ftg9eocyQmzWrlZHFmuw9ha7oP/Mz8gpblyCS/aa1U/Srs6gz0UQ==} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '*' + dependencies: + '@angular-eslint/bundled-angular-compiler': 19.0.2 + eslint: 8.57.1 + eslint-scope: 8.2.0 + typescript: 5.7.3 + dev: true + /@angular-eslint/utils@19.0.2(@typescript-eslint/utils@8.24.0)(eslint@8.57.0)(typescript@5.7.3): resolution: {integrity: sha512-HotBT8OKr7zCaX1S9k27JuhRiTVIbbYVl6whlb3uwdMIPIWY8iOcEh1tjI4qDPUafpLfR72Dhwi5bO1E17F3/Q==} peerDependencies: @@ -3141,6 +3358,19 @@ packages: typescript: 5.7.3 dev: true + /@angular-eslint/utils@19.0.2(@typescript-eslint/utils@8.24.0)(eslint@8.57.1)(typescript@5.7.3): + resolution: {integrity: sha512-HotBT8OKr7zCaX1S9k27JuhRiTVIbbYVl6whlb3uwdMIPIWY8iOcEh1tjI4qDPUafpLfR72Dhwi5bO1E17F3/Q==} + peerDependencies: + '@typescript-eslint/utils': ^7.11.0 || ^8.0.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '*' + dependencies: + '@angular-eslint/bundled-angular-compiler': 19.0.2 + '@typescript-eslint/utils': 8.24.0(eslint@8.57.1)(typescript@5.7.3) + eslint: 8.57.1 + typescript: 5.7.3 + dev: true + /@angular/animations@19.1.4(@angular/core@19.1.4): resolution: {integrity: sha512-QGswsf/X+k7TijIgBzL6V8+KcArFAgebY6zM0L/Len8v5PNzPzdjJH99+P++5AOLiJctYKfISUwnlMbDb50NrA==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0} @@ -3151,8 +3381,8 @@ packages: tslib: 2.8.1 dev: true - /@angular/build@19.1.5(@angular/compiler-cli@19.1.4)(@angular/compiler@19.1.4)(@types/node@20.17.13)(less@4.2.1)(ng-packagr@16.2.3)(postcss@8.4.49)(terser@5.37.0)(typescript@5.7.3): - resolution: {integrity: sha512-byoHcv0/s6WGWap59s43N/eC+4NsviuTnGoj+iR0ayubk8snn6jdkZLbFDfnTuQlTiu4ok8/XcksjzeMkgGyyw==} + /@angular/build@19.1.6(@angular/compiler-cli@19.1.4)(@angular/compiler@19.1.4)(@types/node@22.13.1)(less@4.2.1)(ng-packagr@16.2.3)(postcss@8.4.49)(terser@5.37.0)(typescript@5.7.3): + resolution: {integrity: sha512-6zGdMxMITBj5oVRDKcOL+ufrCSsPLPd5AeRcGkaCYQDshaOmn0UXL4HQylU3nswhVT0dtCd4eDA7fh2dlyVF6A==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: '@angular/compiler': ^19.0.0 @@ -3160,7 +3390,7 @@ packages: '@angular/localize': ^19.0.0 '@angular/platform-server': ^19.0.0 '@angular/service-worker': ^19.0.0 - '@angular/ssr': ^19.1.5 + '@angular/ssr': ^19.1.6 less: ^4.2.0 ng-packagr: ^19.0.0 postcss: ^8.4.0 @@ -3185,15 +3415,15 @@ packages: optional: true dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.1901.5 - '@angular-devkit/core': 19.1.5 + '@angular-devkit/architect': 0.1901.6 + '@angular-devkit/core': 19.1.6 '@angular/compiler': 19.1.4(@angular/core@19.1.4) '@angular/compiler-cli': 19.1.4(@angular/compiler@19.1.4)(typescript@5.7.3) '@babel/core': 7.26.0 '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-split-export-declaration': 7.24.7 '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0) - '@inquirer/confirm': 5.1.1(@types/node@20.17.13) + '@inquirer/confirm': 5.1.1(@types/node@22.13.1) '@vitejs/plugin-basic-ssl': 1.2.0(vite@6.0.11) beasties: 0.2.0 browserslist: 4.24.4 @@ -3214,7 +3444,7 @@ packages: sass: 1.83.1 semver: 7.6.3 typescript: 5.7.3 - vite: 6.0.11(@types/node@20.17.13)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + vite: 6.0.11(@types/node@22.13.1)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) watchpack: 2.4.2 optionalDependencies: lmdb: 3.2.2 @@ -3232,17 +3462,17 @@ packages: - yaml dev: true - /@angular/cli@19.1.5(@types/node@20.17.13): - resolution: {integrity: sha512-bedjH3jUcrLgN3GOTTuvjbPcY3Lm0YcYBVY35S1ugI88UK6nbtttiRdgK++Qk2Q8wbg6zuaBAr4ACbfPMsnRaA==} + /@angular/cli@19.1.6(@types/node@22.13.1): + resolution: {integrity: sha512-5H9Ri+YNPBnac/h1wTPQ+9mLSXfT1n99FwCtMVy6YnG+akRqOKFmPWB29hkFQAgfXi/MYIj+rQKv+d/9yWJibQ==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true dependencies: - '@angular-devkit/architect': 0.1901.5 - '@angular-devkit/core': 19.1.5 - '@angular-devkit/schematics': 19.1.5 - '@inquirer/prompts': 7.2.1(@types/node@20.17.13) + '@angular-devkit/architect': 0.1901.6 + '@angular-devkit/core': 19.1.6 + '@angular-devkit/schematics': 19.1.6 + '@inquirer/prompts': 7.2.1(@types/node@22.13.1) '@listr2/prompt-adapter-inquirer': 2.0.18(@inquirer/prompts@7.2.1) - '@schematics/angular': 19.1.5 + '@schematics/angular': 19.1.6 '@yarnpkg/lockfile': 1.1.0 ini: 5.0.0 jsonc-parser: 3.3.1 @@ -3287,7 +3517,7 @@ packages: chokidar: 4.0.3 convert-source-map: 1.9.0 reflect-metadata: 0.2.2 - semver: 7.7.1 + semver: 7.7.0 tslib: 2.8.1 typescript: 5.7.3 yargs: 17.7.2 @@ -3440,6 +3670,30 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color + dev: true + + /@babel/core@7.26.8: + resolution: {integrity: sha512-l+lkXCHS6tQEc5oUpK28xBOZ6+HwaH7YwoYQbLFiYb4nS2/l1tKnZEtEWkD0GuiYdvArf9qBS0XlQGXzPMsNqQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.8 + '@babel/helper-compilation-targets': 7.26.5 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.8) + '@babel/helpers': 7.26.7 + '@babel/parser': 7.26.8 + '@babel/template': 7.26.8 + '@babel/traverse': 7.26.8 + '@babel/types': 7.26.8 + '@types/gensync': 1.0.4 + convert-source-map: 2.0.0 + debug: 4.4.0 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color /@babel/generator@7.26.3: resolution: {integrity: sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==} @@ -3447,9 +3701,9 @@ packages: dependencies: '@babel/parser': 7.26.7 '@babel/types': 7.26.7 - '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - jsesc: 3.1.0 + jsesc: 3.0.2 dev: true /@babel/generator@7.26.5: @@ -3458,16 +3712,19 @@ packages: dependencies: '@babel/parser': 7.26.7 '@babel/types': 7.26.7 - '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - jsesc: 3.1.0 + jsesc: 3.0.2 - /@babel/helper-annotate-as-pure@7.24.7: - resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} + /@babel/generator@7.26.8: + resolution: {integrity: sha512-ef383X5++iZHWAXX0SXQR6ZyQhw/0KtTkrTz61WXRhFM6dhpHulO/RJz79L8S6ugZHJkOOkUrUdxgdF2YiPFnA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.26.7 - dev: true + '@babel/parser': 7.26.8 + '@babel/types': 7.26.8 + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 3.1.0 /@babel/helper-annotate-as-pure@7.25.9: resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==} @@ -3504,12 +3761,12 @@ packages: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-environment-visitor': 7.24.7 '@babel/helper-function-name': 7.24.7 '@babel/helper-member-expression-to-functions': 7.24.8 '@babel/helper-optimise-call-expression': 7.24.7 - '@babel/helper-replace-supers': 7.24.7(@babel/core@7.26.0) + '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.0) '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 '@babel/helper-split-export-declaration': 7.24.7 semver: 6.3.1 @@ -3542,7 +3799,7 @@ packages: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.26.0 - '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-annotate-as-pure': 7.25.9 regexpu-core: 5.3.2 semver: 6.3.1 dev: true @@ -3559,36 +3816,6 @@ packages: semver: 6.3.1 dev: true - /@babel/helper-define-polyfill-provider@0.4.3(@babel/core@7.26.0): - resolution: {integrity: sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-compilation-targets': 7.26.5 - '@babel/helper-plugin-utils': 7.24.8 - debug: 4.4.0 - lodash.debounce: 4.0.8 - resolve: 1.22.4 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/helper-define-polyfill-provider@0.5.0(@babel/core@7.26.0): - resolution: {integrity: sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-compilation-targets': 7.26.5 - '@babel/helper-plugin-utils': 7.24.8 - debug: 4.4.0 - lodash.debounce: 4.0.8 - resolve: 1.22.4 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.26.0): resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==} peerDependencies: @@ -3599,7 +3826,7 @@ packages: '@babel/helper-plugin-utils': 7.26.5 debug: 4.4.0 lodash.debounce: 4.0.8 - resolve: 1.22.4 + resolve: 1.22.10 transitivePeerDependencies: - supports-color dev: true @@ -3619,6 +3846,13 @@ packages: '@babel/types': 7.26.7 dev: true + /@babel/helper-hoist-variables@7.24.7: + resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.26.7 + dev: true + /@babel/helper-member-expression-to-functions@7.24.8: resolution: {integrity: sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==} engines: {node: '>=6.9.0'} @@ -3677,6 +3911,20 @@ packages: '@babel/traverse': 7.26.7 transitivePeerDependencies: - supports-color + dev: true + + /@babel/helper-module-transforms@7.26.0(@babel/core@7.26.8): + resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.26.7 + transitivePeerDependencies: + - supports-color /@babel/helper-optimise-call-expression@7.24.7: resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==} @@ -3748,8 +3996,8 @@ packages: resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.26.7 - '@babel/types': 7.26.7 + '@babel/traverse': 7.24.8 + '@babel/types': 7.24.8 transitivePeerDependencies: - supports-color dev: true @@ -3790,6 +4038,11 @@ packages: resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} engines: {node: '>=6.9.0'} + /@babel/helper-validator-identifier@7.24.7: + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/helper-validator-identifier@7.25.9: resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} engines: {node: '>=6.9.0'} @@ -3832,7 +4085,7 @@ packages: '@babel/helper-validator-identifier': 7.25.9 chalk: 2.4.2 js-tokens: 4.0.0 - picocolors: 1.1.1 + picocolors: 1.1.0 dev: true /@babel/parser@7.24.8: @@ -3856,7 +4109,6 @@ packages: hasBin: true dependencies: '@babel/types': 7.26.8 - dev: true /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.9(@babel/core@7.26.0): resolution: {integrity: sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==} @@ -3927,7 +4179,7 @@ packages: dependencies: '@babel/core': 7.26.0 '@babel/helper-create-class-features-plugin': 7.24.8(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color dev: true @@ -3966,6 +4218,15 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.26.8): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.24.8 + dev: true + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.26.0): resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: @@ -3975,6 +4236,15 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.26.8): + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.24.8 + dev: true + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.26.0): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: @@ -3984,6 +4254,15 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.26.8): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.24.8 + dev: true + /@babel/plugin-syntax-decorators@7.23.3(@babel/core@7.26.0): resolution: {integrity: sha512-cf7Niq4/+/juY67E0PbgH0TDhLQ5J7zS8C/Q5FFx+DWyrRa9sUQdTXkjqKu8zGvuqr7vw1muKiukseihU+PJDA==} engines: {node: '>=6.9.0'} @@ -3991,7 +4270,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.26.0): @@ -4032,6 +4311,15 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.26.8): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.24.8 + dev: true + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.26.0): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: @@ -4041,6 +4329,15 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.26.8): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.24.8 + dev: true + /@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.26.0): resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} engines: {node: '>=6.9.0'} @@ -4048,7 +4345,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.0): @@ -4070,6 +4367,15 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.26.8): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.24.8 + dev: true + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.26.0): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: @@ -4079,6 +4385,15 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.26.8): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.24.8 + dev: true + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.26.0): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: @@ -4088,6 +4403,15 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.26.8): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.24.8 + dev: true + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.26.0): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: @@ -4097,6 +4421,15 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.26.8): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.24.8 + dev: true + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.26.0): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: @@ -4106,6 +4439,15 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.26.8): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.24.8 + dev: true + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.26.0): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: @@ -4115,6 +4457,15 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.26.8): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.24.8 + dev: true + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.26.0): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} @@ -4125,6 +4476,16 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: true + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.26.8): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-plugin-utils': 7.24.8 + dev: true + /@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.26.0): resolution: {integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==} engines: {node: '>=6.9.0'} @@ -4132,7 +4493,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.0): @@ -4214,19 +4575,6 @@ packages: '@babel/helper-plugin-utils': 7.26.5 dev: true - /@babel/plugin-transform-class-properties@7.24.7(@babel/core@7.26.0): - resolution: {integrity: sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-create-class-features-plugin': 7.24.8(@babel/core@7.26.0) - '@babel/helper-plugin-utils': 7.24.8 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.26.0): resolution: {integrity: sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==} engines: {node: '>=6.9.0'} @@ -4447,6 +4795,20 @@ packages: - supports-color dev: true + /@babel/plugin-transform-modules-commonjs@7.24.8(@babel/core@7.26.8): + resolution: {integrity: sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.8 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.8) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-simple-access': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/plugin-transform-modules-commonjs@7.26.3(@babel/core@7.26.0): resolution: {integrity: sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==} engines: {node: '>=6.9.0'} @@ -4705,18 +5067,18 @@ packages: '@babel/helper-plugin-utils': 7.26.5 dev: true - /@babel/plugin-transform-runtime@7.23.4(@babel/core@7.26.0): - resolution: {integrity: sha512-ITwqpb6V4btwUG0YJR82o2QvmWrLgDnx/p2A3CTPYGaRgULkDiC0DRA2C4jlRB9uXGUEfaSS/IGHfVW+ohzYDw==} + /@babel/plugin-transform-runtime@7.24.7(@babel/core@7.26.0): + resolution: {integrity: sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.26.0 '@babel/helper-module-imports': 7.25.9 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.26.0) - babel-plugin-polyfill-corejs3: 0.8.6(@babel/core@7.26.0) - babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.26.0) + babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.26.0) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.26.0) semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -4983,7 +5345,7 @@ packages: resolution: {integrity: sha512-NdUTHcPe4C99WxPub+K9l9tK5/lV4UXIoaHSYgzco9BCyjKAAwzdBI+wWtYqHt7LJdbo74ZjRPJgzVweq1sz0w==} engines: {node: '>=6.9.0'} dependencies: - regenerator-runtime: 0.14.1 + regenerator-runtime: 0.14.0 dev: true /@babel/runtime@7.25.6: @@ -5000,18 +5362,11 @@ packages: regenerator-runtime: 0.14.1 dev: true - /@babel/runtime@7.26.7: - resolution: {integrity: sha512-AOPI3D+a8dXnja+iwsUqGRjr1BbZIe771sXdapOtYI531gSqpi92vXivKcq2asu/DFpdl1ceFAKZyRzK2PCVcQ==} - engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: 0.14.1 - dev: true - /@babel/template@7.24.7: resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.26.2 + '@babel/code-frame': 7.24.7 '@babel/parser': 7.24.8 '@babel/types': 7.24.8 dev: true @@ -5024,6 +5379,32 @@ packages: '@babel/parser': 7.26.7 '@babel/types': 7.26.7 + /@babel/template@7.26.8: + resolution: {integrity: sha512-iNKaX3ZebKIsCvJ+0jd6embf+Aulaa3vNBqZ41kM7iTWjx5qzWKXGHiJUW3+nTpQ18SG11hdF8OAzKrpXkb96Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/parser': 7.26.8 + '@babel/types': 7.26.8 + + /@babel/traverse@7.24.8: + resolution: {integrity: sha512-t0P1xxAPzEDcEPmjprAQq19NWum4K0EQPjMwZQZbHt+GiZqvjCHjj755Weq1YRPVzBI+3zSfvScfpnuIecVFJQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.5 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-hoist-variables': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/parser': 7.24.8 + '@babel/types': 7.24.8 + debug: 4.4.0 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/traverse@7.26.7: resolution: {integrity: sha512-1x1sgeyRLC3r5fQOM0/xtQKsYjyxmFjaOrLJNtZ81inNjyJHGIolTULPiSc/2qe1/qfpFLisLQYFnnZl7QoedA==} engines: {node: '>=6.9.0'} @@ -5038,11 +5419,34 @@ packages: transitivePeerDependencies: - supports-color + /@babel/traverse@7.26.8: + resolution: {integrity: sha512-nic9tRkjYH0oB2dzr/JoGIm+4Q6SuYeLEiIiZDwBscRMYFJ+tMAz98fuel9ZnbXViA2I0HVSSRRK8DW5fjXStA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.8 + '@babel/parser': 7.26.8 + '@babel/template': 7.26.8 + '@babel/types': 7.26.8 + debug: 4.4.0 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + /@babel/types@7.24.8: resolution: {integrity: sha512-SkSBEHwwJRU52QEVZBmMBnE5Ux2/6WU1grdYyOhpbCNxbmJrDuDCphBzKZSO3taf0zztp+qkWlymE5tVL5l0TA==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.24.8 + '@babel/helper-validator-identifier': 7.24.7 + to-fast-properties: 2.0.0 + dev: true + + /@babel/types@7.25.8: + resolution: {integrity: sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 to-fast-properties: 2.0.0 dev: true @@ -5060,7 +5464,6 @@ packages: dependencies: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 - dev: true /@bcoe/v8-coverage@0.2.3: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} @@ -5148,7 +5551,7 @@ packages: engines: {node: '>=v18'} dependencies: '@commitlint/types': 19.0.3 - semver: 7.7.0 + semver: 7.7.1 dev: true /@commitlint/lint@19.1.0: @@ -6074,6 +6477,16 @@ packages: eslint-visitor-keys: 3.4.3 dev: true + /@eslint-community/eslint-utils@4.4.1(eslint@8.57.1): + resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.1 + eslint-visitor-keys: 3.4.3 + dev: true + /@eslint-community/regexpp@4.10.0: resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} @@ -6106,7 +6519,7 @@ packages: engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: '@eslint/object-schema': 2.1.6 - debug: 4.4.0 + debug: 4.3.7 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -6124,7 +6537,7 @@ packages: engines: {node: ^10.12.0 || >=12.0.0} dependencies: ajv: 6.12.6 - debug: 4.3.7 + debug: 4.4.0 espree: 7.3.1 globals: 13.24.0 ignore: 4.0.6 @@ -6141,7 +6554,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 - debug: 4.4.0 + debug: 4.3.7 espree: 9.6.1 globals: 13.24.0 ignore: 5.3.2 @@ -6158,7 +6571,7 @@ packages: engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: ajv: 6.12.6 - debug: 4.4.0 + debug: 4.3.7 espree: 10.3.0 globals: 14.0.0 ignore: 5.3.2 @@ -6249,7 +6662,7 @@ packages: deprecated: Use @eslint/config-array instead dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.4.0 + debug: 4.3.7 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -6261,7 +6674,7 @@ packages: deprecated: Use @eslint/config-array instead dependencies: '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.7 + debug: 4.4.0 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -6477,7 +6890,7 @@ packages: dev: true optional: true - /@inquirer/checkbox@4.1.1(@types/node@20.17.13): + /@inquirer/checkbox@4.1.1(@types/node@22.13.1): resolution: {integrity: sha512-os5kFd/52gZTl/W6xqMfhaKVJHQM8V/U1P8jcSaQJ/C4Qhdrf2jEXdA/HaxfQs9iiUA/0yzYhk5d3oRHTxGDDQ==} engines: {node: '>=18'} peerDependencies: @@ -6486,10 +6899,10 @@ packages: '@types/node': optional: true dependencies: - '@inquirer/core': 10.1.6(@types/node@20.17.13) + '@inquirer/core': 10.1.6(@types/node@22.13.1) '@inquirer/figures': 1.0.10 - '@inquirer/type': 3.0.4(@types/node@20.17.13) - '@types/node': 20.17.13 + '@inquirer/type': 3.0.4(@types/node@22.13.1) + '@types/node': 22.13.1 ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 dev: true @@ -6502,18 +6915,18 @@ packages: '@inquirer/type': 1.5.1 dev: true - /@inquirer/confirm@5.1.1(@types/node@20.17.13): + /@inquirer/confirm@5.1.1(@types/node@22.13.1): resolution: {integrity: sha512-vVLSbGci+IKQvDOtzpPTCOiEJCNidHcAq9JYVoWTW0svb5FiwSLotkM+JXNXejfjnzVYV9n0DTBythl9+XgTxg==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' dependencies: - '@inquirer/core': 10.1.6(@types/node@20.17.13) - '@inquirer/type': 3.0.4(@types/node@20.17.13) - '@types/node': 20.17.13 + '@inquirer/core': 10.1.6(@types/node@22.13.1) + '@inquirer/type': 3.0.4(@types/node@22.13.1) + '@types/node': 22.13.1 dev: true - /@inquirer/confirm@5.1.5(@types/node@20.17.13): + /@inquirer/confirm@5.1.5(@types/node@22.13.1): resolution: {integrity: sha512-ZB2Cz8KeMINUvoeDi7IrvghaVkYT2RB0Zb31EaLWOE87u276w4wnApv0SH2qWaJ3r0VSUa3BIuz7qAV2ZvsZlg==} engines: {node: '>=18'} peerDependencies: @@ -6522,12 +6935,12 @@ packages: '@types/node': optional: true dependencies: - '@inquirer/core': 10.1.6(@types/node@20.17.13) - '@inquirer/type': 3.0.4(@types/node@20.17.13) - '@types/node': 20.17.13 + '@inquirer/core': 10.1.6(@types/node@22.13.1) + '@inquirer/type': 3.0.4(@types/node@22.13.1) + '@types/node': 22.13.1 dev: true - /@inquirer/core@10.1.6(@types/node@20.17.13): + /@inquirer/core@10.1.6(@types/node@22.13.1): resolution: {integrity: sha512-Bwh/Zk6URrHwZnSSzAZAKH7YgGYi0xICIBDFOqBQoXNNAzBHw/bgXgLmChfp+GyR3PnChcTbiCTZGC6YJNJkMA==} engines: {node: '>=18'} peerDependencies: @@ -6537,8 +6950,8 @@ packages: optional: true dependencies: '@inquirer/figures': 1.0.10 - '@inquirer/type': 3.0.4(@types/node@20.17.13) - '@types/node': 20.17.13 + '@inquirer/type': 3.0.4(@types/node@22.13.1) + '@types/node': 22.13.1 ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -6566,7 +6979,7 @@ packages: yoctocolors-cjs: 2.1.2 dev: true - /@inquirer/editor@4.2.6(@types/node@20.17.13): + /@inquirer/editor@4.2.6(@types/node@22.13.1): resolution: {integrity: sha512-l0smvr8g/KAVdXx4I92sFxZiaTG4kFc06cFZw+qqwTirwdUHMFLnouXBB9OafWhpO3cfEkEz2CdPoCmor3059A==} engines: {node: '>=18'} peerDependencies: @@ -6575,13 +6988,13 @@ packages: '@types/node': optional: true dependencies: - '@inquirer/core': 10.1.6(@types/node@20.17.13) - '@inquirer/type': 3.0.4(@types/node@20.17.13) - '@types/node': 20.17.13 + '@inquirer/core': 10.1.6(@types/node@22.13.1) + '@inquirer/type': 3.0.4(@types/node@22.13.1) + '@types/node': 22.13.1 external-editor: 3.1.0 dev: true - /@inquirer/expand@4.0.8(@types/node@20.17.13): + /@inquirer/expand@4.0.8(@types/node@22.13.1): resolution: {integrity: sha512-k0ouAC6L+0Yoj/j0ys2bat0fYcyFVtItDB7h+pDFKaDDSFJey/C/YY1rmIOqkmFVZ5rZySeAQuS8zLcKkKRLmg==} engines: {node: '>=18'} peerDependencies: @@ -6590,9 +7003,9 @@ packages: '@types/node': optional: true dependencies: - '@inquirer/core': 10.1.6(@types/node@20.17.13) - '@inquirer/type': 3.0.4(@types/node@20.17.13) - '@types/node': 20.17.13 + '@inquirer/core': 10.1.6(@types/node@22.13.1) + '@inquirer/type': 3.0.4(@types/node@22.13.1) + '@types/node': 22.13.1 yoctocolors-cjs: 2.1.2 dev: true @@ -6606,7 +7019,7 @@ packages: engines: {node: '>=18'} dev: true - /@inquirer/input@4.1.5(@types/node@20.17.13): + /@inquirer/input@4.1.5(@types/node@22.13.1): resolution: {integrity: sha512-bB6wR5wBCz5zbIVBPnhp94BHv/G4eKbUEjlpCw676pI2chcvzTx1MuwZSCZ/fgNOdqDlAxkhQ4wagL8BI1D3Zg==} engines: {node: '>=18'} peerDependencies: @@ -6615,12 +7028,12 @@ packages: '@types/node': optional: true dependencies: - '@inquirer/core': 10.1.6(@types/node@20.17.13) - '@inquirer/type': 3.0.4(@types/node@20.17.13) - '@types/node': 20.17.13 + '@inquirer/core': 10.1.6(@types/node@22.13.1) + '@inquirer/type': 3.0.4(@types/node@22.13.1) + '@types/node': 22.13.1 dev: true - /@inquirer/number@3.0.8(@types/node@20.17.13): + /@inquirer/number@3.0.8(@types/node@22.13.1): resolution: {integrity: sha512-CTKs+dT1gw8dILVWATn8Ugik1OHLkkfY82J+Musb57KpmF6EKyskv8zmMiEJPzOnLTZLo05X/QdMd8VH9oulXw==} engines: {node: '>=18'} peerDependencies: @@ -6629,12 +7042,12 @@ packages: '@types/node': optional: true dependencies: - '@inquirer/core': 10.1.6(@types/node@20.17.13) - '@inquirer/type': 3.0.4(@types/node@20.17.13) - '@types/node': 20.17.13 + '@inquirer/core': 10.1.6(@types/node@22.13.1) + '@inquirer/type': 3.0.4(@types/node@22.13.1) + '@types/node': 22.13.1 dev: true - /@inquirer/password@4.0.8(@types/node@20.17.13): + /@inquirer/password@4.0.8(@types/node@22.13.1): resolution: {integrity: sha512-MgA+Z7o3K1df2lGY649fyOBowHGfrKRz64dx3+b6c1w+h2W7AwBoOkHhhF/vfhbs5S4vsKNCuDzS3s9r5DpK1g==} engines: {node: '>=18'} peerDependencies: @@ -6643,32 +7056,32 @@ packages: '@types/node': optional: true dependencies: - '@inquirer/core': 10.1.6(@types/node@20.17.13) - '@inquirer/type': 3.0.4(@types/node@20.17.13) - '@types/node': 20.17.13 + '@inquirer/core': 10.1.6(@types/node@22.13.1) + '@inquirer/type': 3.0.4(@types/node@22.13.1) + '@types/node': 22.13.1 ansi-escapes: 4.3.2 dev: true - /@inquirer/prompts@7.2.1(@types/node@20.17.13): + /@inquirer/prompts@7.2.1(@types/node@22.13.1): resolution: {integrity: sha512-v2JSGri6/HXSfoGIwuKEn8sNCQK6nsB2BNpy2lSX6QH9bsECrMv93QHnj5+f+1ZWpF/VNioIV2B/PDox8EvGuQ==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' dependencies: - '@inquirer/checkbox': 4.1.1(@types/node@20.17.13) - '@inquirer/confirm': 5.1.5(@types/node@20.17.13) - '@inquirer/editor': 4.2.6(@types/node@20.17.13) - '@inquirer/expand': 4.0.8(@types/node@20.17.13) - '@inquirer/input': 4.1.5(@types/node@20.17.13) - '@inquirer/number': 3.0.8(@types/node@20.17.13) - '@inquirer/password': 4.0.8(@types/node@20.17.13) - '@inquirer/rawlist': 4.0.8(@types/node@20.17.13) - '@inquirer/search': 3.0.8(@types/node@20.17.13) - '@inquirer/select': 4.0.8(@types/node@20.17.13) - '@types/node': 20.17.13 + '@inquirer/checkbox': 4.1.1(@types/node@22.13.1) + '@inquirer/confirm': 5.1.5(@types/node@22.13.1) + '@inquirer/editor': 4.2.6(@types/node@22.13.1) + '@inquirer/expand': 4.0.8(@types/node@22.13.1) + '@inquirer/input': 4.1.5(@types/node@22.13.1) + '@inquirer/number': 3.0.8(@types/node@22.13.1) + '@inquirer/password': 4.0.8(@types/node@22.13.1) + '@inquirer/rawlist': 4.0.8(@types/node@22.13.1) + '@inquirer/search': 3.0.8(@types/node@22.13.1) + '@inquirer/select': 4.0.8(@types/node@22.13.1) + '@types/node': 22.13.1 dev: true - /@inquirer/rawlist@4.0.8(@types/node@20.17.13): + /@inquirer/rawlist@4.0.8(@types/node@22.13.1): resolution: {integrity: sha512-hl7rvYW7Xl4un8uohQRUgO6uc2hpn7PKqfcGkCOWC0AA4waBxAv6MpGOFCEDrUaBCP+pXPVqp4LmnpWmn1E1+g==} engines: {node: '>=18'} peerDependencies: @@ -6677,13 +7090,13 @@ packages: '@types/node': optional: true dependencies: - '@inquirer/core': 10.1.6(@types/node@20.17.13) - '@inquirer/type': 3.0.4(@types/node@20.17.13) - '@types/node': 20.17.13 + '@inquirer/core': 10.1.6(@types/node@22.13.1) + '@inquirer/type': 3.0.4(@types/node@22.13.1) + '@types/node': 22.13.1 yoctocolors-cjs: 2.1.2 dev: true - /@inquirer/search@3.0.8(@types/node@20.17.13): + /@inquirer/search@3.0.8(@types/node@22.13.1): resolution: {integrity: sha512-ihSE9D3xQAupNg/aGDZaukqoUSXG2KfstWosVmFCG7jbMQPaj2ivxWtsB+CnYY/T4D6LX1GHKixwJLunNCffww==} engines: {node: '>=18'} peerDependencies: @@ -6692,14 +7105,14 @@ packages: '@types/node': optional: true dependencies: - '@inquirer/core': 10.1.6(@types/node@20.17.13) + '@inquirer/core': 10.1.6(@types/node@22.13.1) '@inquirer/figures': 1.0.10 - '@inquirer/type': 3.0.4(@types/node@20.17.13) - '@types/node': 20.17.13 + '@inquirer/type': 3.0.4(@types/node@22.13.1) + '@types/node': 22.13.1 yoctocolors-cjs: 2.1.2 dev: true - /@inquirer/select@4.0.8(@types/node@20.17.13): + /@inquirer/select@4.0.8(@types/node@22.13.1): resolution: {integrity: sha512-Io2prxFyN2jOCcu4qJbVoilo19caiD3kqkD3WR0q3yDA5HUCo83v4LrRtg55ZwniYACW64z36eV7gyVbOfORjA==} engines: {node: '>=18'} peerDependencies: @@ -6708,10 +7121,10 @@ packages: '@types/node': optional: true dependencies: - '@inquirer/core': 10.1.6(@types/node@20.17.13) + '@inquirer/core': 10.1.6(@types/node@22.13.1) '@inquirer/figures': 1.0.10 - '@inquirer/type': 3.0.4(@types/node@20.17.13) - '@types/node': 20.17.13 + '@inquirer/type': 3.0.4(@types/node@22.13.1) + '@types/node': 22.13.1 ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 dev: true @@ -6730,7 +7143,7 @@ packages: mute-stream: 1.0.0 dev: true - /@inquirer/type@3.0.4(@types/node@20.17.13): + /@inquirer/type@3.0.4(@types/node@22.13.1): resolution: {integrity: sha512-2MNFrDY8jkFYc9Il9DgLsHhMzuHnOYM1+CUYVWbzu9oT0hC7V7EcYvdCKeoll/Fcci04A+ERZ9wcc7cQ8lTkIA==} engines: {node: '>=18'} peerDependencies: @@ -6739,7 +7152,7 @@ packages: '@types/node': optional: true dependencies: - '@types/node': 20.17.13 + '@types/node': 22.13.1 dev: true /@isaacs/cliui@8.0.2: @@ -6960,7 +7373,7 @@ packages: glob: 7.2.3 graceful-fs: 4.2.11 istanbul-lib-coverage: 3.2.0 - istanbul-lib-instrument: 6.0.1 + istanbul-lib-instrument: 6.0.3 istanbul-lib-report: 3.0.0 istanbul-lib-source-maps: 4.0.1 istanbul-reports: 3.1.5 @@ -7114,9 +7527,8 @@ packages: engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping': 0.3.25 - dev: true /@jridgewell/gen-mapping@0.3.8: resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} @@ -7158,7 +7570,7 @@ packages: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: '@jridgewell/resolve-uri': 3.1.1 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 dev: true /@jscutlery/semver@5.2.0(@nx/devkit@18.3.5): @@ -7227,7 +7639,7 @@ packages: peerDependencies: '@inquirer/prompts': '>= 3 < 8' dependencies: - '@inquirer/prompts': 7.2.1(@types/node@20.17.13) + '@inquirer/prompts': 7.2.1(@types/node@22.13.1) '@inquirer/type': 1.5.5 dev: true @@ -7907,8 +8319,8 @@ packages: dev: true optional: true - /@ngtools/webpack@19.1.5(@angular/compiler-cli@19.1.4)(typescript@5.7.3)(webpack@5.97.1): - resolution: {integrity: sha512-oIpE5Ci/Gl2iZqa0Hs6IOxaXEDHkF/zisHcflzYGkMnYcSFj+wRgYEuBFaHLCwuxQf9OdGu31i05w849i6tY1Q==} + /@ngtools/webpack@19.1.6(@angular/compiler-cli@19.1.4)(typescript@5.7.3)(webpack@5.97.1): + resolution: {integrity: sha512-36I/y4KIRWyE35OgZXzYnDCNQ2G3VB/2awj8L3VowDyTP9enJj6V044UGpCNiKOgYerubgMN3gcPIsOzg0pLpg==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: '@angular/compiler-cli': ^19.0.0 @@ -8226,7 +8638,7 @@ packages: minimatch: 9.0.3 nx: 19.8.14 semver: 7.7.0 - tmp: 0.2.1 + tmp: 0.2.3 tslib: 2.8.1 yargs-parser: 21.1.1 dev: true @@ -8375,11 +8787,11 @@ packages: dependencies: '@babel/core': 7.26.0 '@babel/plugin-proposal-decorators': 7.23.5(@babel/core@7.26.0) - '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.26.0) - '@babel/plugin-transform-runtime': 7.23.4(@babel/core@7.26.0) + '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-runtime': 7.24.7(@babel/core@7.26.0) '@babel/preset-env': 7.26.0(@babel/core@7.26.0) '@babel/preset-typescript': 7.26.0(@babel/core@7.26.0) - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.25.6 '@nrwl/js': 19.8.4(@types/node@20.17.13)(nx@19.8.14)(typescript@5.4.5) '@nx/devkit': 19.8.4(nx@19.8.14) '@nx/workspace': 19.8.4 @@ -8425,11 +8837,11 @@ packages: dependencies: '@babel/core': 7.26.0 '@babel/plugin-proposal-decorators': 7.23.5(@babel/core@7.26.0) - '@babel/plugin-transform-class-properties': 7.24.7(@babel/core@7.26.0) - '@babel/plugin-transform-runtime': 7.23.4(@babel/core@7.26.0) + '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-transform-runtime': 7.24.7(@babel/core@7.26.0) '@babel/preset-env': 7.26.0(@babel/core@7.26.0) '@babel/preset-typescript': 7.26.0(@babel/core@7.26.0) - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.25.6 '@nrwl/js': 19.8.4(@types/node@20.17.13)(nx@19.8.14)(typescript@5.7.3) '@nx/devkit': 19.8.4(nx@19.8.14) '@nx/workspace': 19.8.4 @@ -8872,7 +9284,7 @@ packages: dependencies: detect-libc: 1.0.3 is-glob: 4.0.3 - micromatch: 4.0.7 + micromatch: 4.0.8 node-addon-api: 7.1.1 optionalDependencies: '@parcel/watcher-android-arm64': 2.5.1 @@ -8951,7 +9363,7 @@ packages: engines: {node: '>=14.0.0'} dev: true - /@rollup/plugin-alias@5.1.1(rollup@4.34.6): + /@rollup/plugin-alias@5.1.1(rollup@4.22.4): resolution: {integrity: sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -8960,7 +9372,7 @@ packages: rollup: optional: true dependencies: - rollup: 4.34.6 + rollup: 4.22.4 dev: true /@rollup/plugin-commonjs@28.0.2(rollup@4.13.0): @@ -9001,7 +9413,7 @@ packages: rollup: 4.14.3 dev: true - /@rollup/plugin-commonjs@28.0.2(rollup@4.34.6): + /@rollup/plugin-commonjs@28.0.2(rollup@4.22.4): resolution: {integrity: sha512-BEFI2EDqzl+vA1rl97IDRZ61AIwGH093d9nz8+dThxJNH8oSoB7MjWvPCX3dkaK1/RCJ/1v/R1XB15FuSs0fQw==} engines: {node: '>=16.0.0 || 14 >= 14.17'} peerDependencies: @@ -9010,14 +9422,14 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.34.6) + '@rollup/pluginutils': 5.1.0(rollup@4.22.4) commondir: 1.0.1 estree-walker: 2.0.2 fdir: 6.4.3(picomatch@4.0.2) is-reference: 1.2.1 magic-string: 0.30.17 picomatch: 4.0.2 - rollup: 4.34.6 + rollup: 4.22.4 dev: true /@rollup/plugin-json@6.1.0(rollup@3.29.4): @@ -9069,6 +9481,24 @@ packages: rollup: 4.14.3 dev: true + /@rollup/plugin-node-resolve@15.0.2(rollup@4.22.4): + resolution: {integrity: sha512-Y35fRGUjC3FaurG722uhUuG8YHOJRJQbI6/CkbRkdPotSpDj9NtIN85z1zrcyDcCQIW4qp5mgG72U+gJ0TAFEg==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.78.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.22.4) + '@types/resolve': 1.20.2 + deepmerge: 4.3.1 + is-builtin-module: 3.2.1 + is-module: 1.0.0 + resolve: 1.22.4 + rollup: 4.22.4 + dev: true + /@rollup/plugin-node-resolve@15.2.3(rollup@3.29.4): resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} engines: {node: '>=14.0.0'} @@ -9083,7 +9513,7 @@ packages: deepmerge: 4.3.1 is-builtin-module: 3.2.1 is-module: 1.0.0 - resolve: 1.22.4 + resolve: 1.22.10 rollup: 3.29.4 dev: true @@ -9101,11 +9531,11 @@ packages: deepmerge: 4.3.1 is-builtin-module: 3.2.1 is-module: 1.0.0 - resolve: 1.22.4 + resolve: 1.22.10 rollup: 4.14.3 dev: true - /@rollup/plugin-node-resolve@15.2.3(rollup@4.34.6): + /@rollup/plugin-node-resolve@15.2.3(rollup@4.22.4): resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -9114,13 +9544,13 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.34.6) + '@rollup/pluginutils': 5.1.0(rollup@4.22.4) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.4 - rollup: 4.34.6 + rollup: 4.22.4 dev: true /@rollup/plugin-replace@5.0.2(rollup@4.13.0): @@ -9151,6 +9581,20 @@ packages: rollup: 4.14.3 dev: true + /@rollup/plugin-replace@5.0.2(rollup@4.22.4): + resolution: {integrity: sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.22.4) + magic-string: 0.27.0 + rollup: 4.22.4 + dev: true + /@rollup/plugin-replace@5.0.7(rollup@4.14.3): resolution: {integrity: sha512-PqxSfuorkHz/SPpyngLyg5GCEkOcee9M1bkxiVDr41Pd61mqP1PLOoDPbpl44SB2mQGKwV/In74gqQmGITOhEQ==} engines: {node: '>=14.0.0'} @@ -9165,7 +9609,7 @@ packages: rollup: 4.14.3 dev: true - /@rollup/plugin-replace@5.0.7(rollup@4.34.6): + /@rollup/plugin-replace@5.0.7(rollup@4.22.4): resolution: {integrity: sha512-PqxSfuorkHz/SPpyngLyg5GCEkOcee9M1bkxiVDr41Pd61mqP1PLOoDPbpl44SB2mQGKwV/In74gqQmGITOhEQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -9174,9 +9618,9 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.34.6) + '@rollup/pluginutils': 5.1.0(rollup@4.22.4) magic-string: 0.30.10 - rollup: 4.34.6 + rollup: 4.22.4 dev: true /@rollup/plugin-terser@0.4.1(rollup@4.13.0): @@ -9229,7 +9673,7 @@ packages: typescript: 5.4.5 dev: true - /@rollup/plugin-typescript@11.1.6(rollup@4.14.3)(tslib@2.6.3)(typescript@5.4.5): + /@rollup/plugin-typescript@11.1.6(rollup@4.14.3)(tslib@2.8.1)(typescript@5.4.5): resolution: {integrity: sha512-R92yOmIACgYdJ7dJ97p4K69I8gg6IEHt8M7dUBxN3W6nrO8uUxX5ixl0yU/N3aZTi8WhPuICvOHXQvF6FaykAA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -9245,11 +9689,11 @@ packages: '@rollup/pluginutils': 5.1.0(rollup@4.14.3) resolve: 1.22.4 rollup: 4.14.3 - tslib: 2.6.3 + tslib: 2.8.1 typescript: 5.4.5 dev: true - /@rollup/plugin-typescript@11.1.6(rollup@4.14.3)(tslib@2.8.1)(typescript@5.4.5): + /@rollup/plugin-typescript@11.1.6(rollup@4.14.3)(tslib@2.8.1)(typescript@5.5.4): resolution: {integrity: sha512-R92yOmIACgYdJ7dJ97p4K69I8gg6IEHt8M7dUBxN3W6nrO8uUxX5ixl0yU/N3aZTi8WhPuICvOHXQvF6FaykAA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -9266,10 +9710,10 @@ packages: resolve: 1.22.4 rollup: 4.14.3 tslib: 2.8.1 - typescript: 5.4.5 + typescript: 5.5.4 dev: true - /@rollup/plugin-typescript@11.1.6(rollup@4.14.3)(tslib@2.8.1)(typescript@5.5.4): + /@rollup/plugin-typescript@11.1.6(rollup@4.14.3)(tslib@2.8.1)(typescript@5.6.3): resolution: {integrity: sha512-R92yOmIACgYdJ7dJ97p4K69I8gg6IEHt8M7dUBxN3W6nrO8uUxX5ixl0yU/N3aZTi8WhPuICvOHXQvF6FaykAA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -9286,10 +9730,10 @@ packages: resolve: 1.22.4 rollup: 4.14.3 tslib: 2.8.1 - typescript: 5.5.4 + typescript: 5.6.3 dev: true - /@rollup/plugin-typescript@11.1.6(rollup@4.14.3)(tslib@2.8.1)(typescript@5.6.3): + /@rollup/plugin-typescript@11.1.6(rollup@4.22.4)(tslib@2.6.3)(typescript@5.4.5): resolution: {integrity: sha512-R92yOmIACgYdJ7dJ97p4K69I8gg6IEHt8M7dUBxN3W6nrO8uUxX5ixl0yU/N3aZTi8WhPuICvOHXQvF6FaykAA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -9302,14 +9746,34 @@ packages: tslib: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.14.3) + '@rollup/pluginutils': 5.1.0(rollup@4.22.4) resolve: 1.22.4 - rollup: 4.14.3 + rollup: 4.22.4 + tslib: 2.6.3 + typescript: 5.4.5 + dev: true + + /@rollup/plugin-typescript@11.1.6(rollup@4.22.4)(tslib@2.8.1)(typescript@5.4.5): + resolution: {integrity: sha512-R92yOmIACgYdJ7dJ97p4K69I8gg6IEHt8M7dUBxN3W6nrO8uUxX5ixl0yU/N3aZTi8WhPuICvOHXQvF6FaykAA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.14.0||^3.0.0||^4.0.0 + tslib: '*' + typescript: '>=3.7.0' + peerDependenciesMeta: + rollup: + optional: true + tslib: + optional: true + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.22.4) + resolve: 1.22.4 + rollup: 4.22.4 tslib: 2.8.1 - typescript: 5.6.3 + typescript: 5.4.5 dev: true - /@rollup/plugin-typescript@8.5.0(rollup@4.34.6)(tslib@2.8.1)(typescript@5.4.5): + /@rollup/plugin-typescript@8.5.0(rollup@4.22.4)(tslib@2.8.1)(typescript@5.4.5): resolution: {integrity: sha512-wMv1/scv0m/rXx21wD2IsBbJFba8wGF3ErJIr6IKRfRj49S85Lszbxb4DCo8iILpluTjk2GAAu9CoZt4G3ppgQ==} engines: {node: '>=8.0.0'} peerDependencies: @@ -9320,14 +9784,14 @@ packages: tslib: optional: true dependencies: - '@rollup/pluginutils': 3.1.0(rollup@4.34.6) + '@rollup/pluginutils': 3.1.0(rollup@4.22.4) resolve: 1.22.4 - rollup: 4.34.6 + rollup: 4.22.4 tslib: 2.8.1 typescript: 5.4.5 dev: true - /@rollup/pluginutils@3.1.0(rollup@4.34.6): + /@rollup/pluginutils@3.1.0(rollup@4.22.4): resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} engines: {node: '>= 8.0.0'} peerDependencies: @@ -9336,7 +9800,7 @@ packages: '@types/estree': 0.0.39 estree-walker: 1.0.1 picomatch: 2.3.1 - rollup: 4.34.6 + rollup: 4.22.4 dev: true /@rollup/pluginutils@4.2.1: @@ -9356,7 +9820,7 @@ packages: rollup: optional: true dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 rollup: 4.13.0 @@ -9371,7 +9835,7 @@ packages: rollup: optional: true dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 rollup: 3.29.4 @@ -9386,7 +9850,7 @@ packages: rollup: optional: true dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 rollup: 4.13.0 @@ -9407,7 +9871,7 @@ packages: rollup: 4.14.3 dev: true - /@rollup/pluginutils@5.1.0(rollup@4.34.6): + /@rollup/pluginutils@5.1.0(rollup@4.22.4): resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} engines: {node: '>=14.0.0'} peerDependencies: @@ -9416,13 +9880,13 @@ packages: rollup: optional: true dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 4.34.6 + rollup: 4.22.4 dev: true - /@rollup/pluginutils@5.1.4(rollup@4.34.6): + /@rollup/pluginutils@5.1.4(rollup@4.22.4): resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -9434,7 +9898,7 @@ packages: '@types/estree': 1.0.6 estree-walker: 2.0.2 picomatch: 4.0.2 - rollup: 4.34.6 + rollup: 4.22.4 dev: true /@rollup/rollup-android-arm-eabi@4.13.0: @@ -9453,6 +9917,14 @@ packages: dev: true optional: true + /@rollup/rollup-android-arm-eabi@4.22.4: + resolution: {integrity: sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-android-arm-eabi@4.30.1: resolution: {integrity: sha512-pSWY+EVt3rJ9fQ3IqlrEUtXh3cGqGtPDH1FQlNZehO2yYxCHEX1SPsz1M//NXwYfbTlcKr9WObLnJX9FsS9K1Q==} cpu: [arm] @@ -9461,6 +9933,14 @@ packages: dev: true optional: true + /@rollup/rollup-android-arm-eabi@4.34.4: + resolution: {integrity: sha512-gGi5adZWvjtJU7Axs//CWaQbQd/vGy8KGcnEaCWiyCqxWYDxwIlAHFuSe6Guoxtd0SRvSfVTDMPd5H+4KE2kKA==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-android-arm-eabi@4.34.6: resolution: {integrity: sha512-+GcCXtOQoWuC7hhX1P00LqjjIiS/iOouHXhMdiDSnq/1DGTox4SpUvO52Xm+div6+106r+TcvOeo/cxvyEyTgg==} cpu: [arm] @@ -9485,6 +9965,14 @@ packages: dev: true optional: true + /@rollup/rollup-android-arm64@4.22.4: + resolution: {integrity: sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-android-arm64@4.30.1: resolution: {integrity: sha512-/NA2qXxE3D/BRjOJM8wQblmArQq1YoBVJjrjoTSBS09jgUisq7bqxNHJ8kjCHeV21W/9WDGwJEWSN0KQ2mtD/w==} cpu: [arm64] @@ -9493,6 +9981,14 @@ packages: dev: true optional: true + /@rollup/rollup-android-arm64@4.34.4: + resolution: {integrity: sha512-1aRlh1gqtF7vNPMnlf1vJKk72Yshw5zknR/ZAVh7zycRAGF2XBMVDAHmFQz/Zws5k++nux3LOq/Ejj1WrDR6xg==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-android-arm64@4.34.6: resolution: {integrity: sha512-E8+2qCIjciYUnCa1AiVF1BkRgqIGW9KzJeesQqVfyRITGQN+dFuoivO0hnro1DjT74wXLRZ7QF8MIbz+luGaJA==} cpu: [arm64] @@ -9517,6 +10013,14 @@ packages: dev: true optional: true + /@rollup/rollup-darwin-arm64@4.22.4: + resolution: {integrity: sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-darwin-arm64@4.30.1: resolution: {integrity: sha512-r7FQIXD7gB0WJ5mokTUgUWPl0eYIH0wnxqeSAhuIwvnnpjdVB8cRRClyKLQr7lgzjctkbp5KmswWszlwYln03Q==} cpu: [arm64] @@ -9525,6 +10029,14 @@ packages: dev: true optional: true + /@rollup/rollup-darwin-arm64@4.34.4: + resolution: {integrity: sha512-drHl+4qhFj+PV/jrQ78p9ch6A0MfNVZScl/nBps5a7u01aGf/GuBRrHnRegA9bP222CBDfjYbFdjkIJ/FurvSQ==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-darwin-arm64@4.34.6: resolution: {integrity: sha512-z9Ib+OzqN3DZEjX7PDQMHEhtF+t6Mi2z/ueChQPLS/qUMKY7Ybn5A2ggFoKRNRh1q1T03YTQfBTQCJZiepESAg==} cpu: [arm64] @@ -9549,6 +10061,14 @@ packages: dev: true optional: true + /@rollup/rollup-darwin-x64@4.22.4: + resolution: {integrity: sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-darwin-x64@4.30.1: resolution: {integrity: sha512-x78BavIwSH6sqfP2xeI1hd1GpHL8J4W2BXcVM/5KYKoAD3nNsfitQhvWSw+TFtQTLZ9OmlF+FEInEHyubut2OA==} cpu: [x64] @@ -9557,6 +10077,14 @@ packages: dev: true optional: true + /@rollup/rollup-darwin-x64@4.34.4: + resolution: {integrity: sha512-hQqq/8QALU6t1+fbNmm6dwYsa0PDD4L5r3TpHx9dNl+aSEMnIksHZkSO3AVH+hBMvZhpumIGrTFj8XCOGuIXjw==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-darwin-x64@4.34.6: resolution: {integrity: sha512-PShKVY4u0FDAR7jskyFIYVyHEPCPnIQY8s5OcXkdU8mz3Y7eXDJPdyM/ZWjkYdR2m0izD9HHWA8sGcXn+Qrsyg==} cpu: [x64] @@ -9573,6 +10101,14 @@ packages: dev: true optional: true + /@rollup/rollup-freebsd-arm64@4.34.4: + resolution: {integrity: sha512-/L0LixBmbefkec1JTeAQJP0ETzGjFtNml2gpQXA8rpLo7Md+iXQzo9kwEgzyat5Q+OG/C//2B9Fx52UxsOXbzw==} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-freebsd-arm64@4.34.6: resolution: {integrity: sha512-YSwyOqlDAdKqs0iKuqvRHLN4SrD2TiswfoLfvYXseKbL47ht1grQpq46MSiQAx6rQEN8o8URtpXARCpqabqxGQ==} cpu: [arm64] @@ -9589,6 +10125,14 @@ packages: dev: true optional: true + /@rollup/rollup-freebsd-x64@4.34.4: + resolution: {integrity: sha512-6Rk3PLRK+b8L/M6m/x6Mfj60LhAUcLJ34oPaxufA+CfqkUrDoUPQYFdRrhqyOvtOKXLJZJwxlOLbQjNYQcRQfw==} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-freebsd-x64@4.34.6: resolution: {integrity: sha512-HEP4CgPAY1RxXwwL5sPFv6BBM3tVeLnshF03HMhJYCNc6kvSqBgTMmsEjb72RkZBAWIqiPUyF1JpEBv5XT9wKQ==} cpu: [x64] @@ -9613,6 +10157,14 @@ packages: dev: true optional: true + /@rollup/rollup-linux-arm-gnueabihf@4.22.4: + resolution: {integrity: sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-arm-gnueabihf@4.30.1: resolution: {integrity: sha512-PaMRNBSqCx7K3Wc9QZkFx5+CX27WFpAMxJNiYGAXfmMIKC7jstlr32UhTgK6T07OtqR+wYlWm9IxzennjnvdJg==} cpu: [arm] @@ -9621,6 +10173,14 @@ packages: dev: true optional: true + /@rollup/rollup-linux-arm-gnueabihf@4.34.4: + resolution: {integrity: sha512-kmT3x0IPRuXY/tNoABp2nDvI9EvdiS2JZsd4I9yOcLCCViKsP0gB38mVHOhluzx+SSVnM1KNn9k6osyXZhLoCA==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-arm-gnueabihf@4.34.6: resolution: {integrity: sha512-88fSzjC5xeH9S2Vg3rPgXJULkHcLYMkh8faix8DX4h4TIAL65ekwuQMA/g2CXq8W+NJC43V6fUpYZNjaX3+IIg==} cpu: [arm] @@ -9637,6 +10197,14 @@ packages: dev: true optional: true + /@rollup/rollup-linux-arm-musleabihf@4.22.4: + resolution: {integrity: sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-arm-musleabihf@4.30.1: resolution: {integrity: sha512-B8Rcyj9AV7ZlEFqvB5BubG5iO6ANDsRKlhIxySXcF1axXYUyqwBok+XZPgIYGBgs7LDXfWfifxhw0Ik57T0Yug==} cpu: [arm] @@ -9645,6 +10213,14 @@ packages: dev: true optional: true + /@rollup/rollup-linux-arm-musleabihf@4.34.4: + resolution: {integrity: sha512-3iSA9tx+4PZcJH/Wnwsvx/BY4qHpit/u2YoZoXugWVfc36/4mRkgGEoRbRV7nzNBSCOgbWMeuQ27IQWgJ7tRzw==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-arm-musleabihf@4.34.6: resolution: {integrity: sha512-wM4ztnutBqYFyvNeR7Av+reWI/enK9tDOTKNF+6Kk2Q96k9bwhDDOlnCUNRPvromlVXo04riSliMBs/Z7RteEg==} cpu: [arm] @@ -9669,6 +10245,14 @@ packages: dev: true optional: true + /@rollup/rollup-linux-arm64-gnu@4.22.4: + resolution: {integrity: sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-arm64-gnu@4.30.1: resolution: {integrity: sha512-hqVyueGxAj3cBKrAI4aFHLV+h0Lv5VgWZs9CUGqr1z0fZtlADVV1YPOij6AhcK5An33EXaxnDLmJdQikcn5NEw==} cpu: [arm64] @@ -9677,6 +10261,14 @@ packages: dev: true optional: true + /@rollup/rollup-linux-arm64-gnu@4.34.4: + resolution: {integrity: sha512-7CwSJW+sEhM9sESEk+pEREF2JL0BmyCro8UyTq0Kyh0nu1v0QPNY3yfLPFKChzVoUmaKj8zbdgBxUhBRR+xGxg==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-arm64-gnu@4.34.6: resolution: {integrity: sha512-9RyprECbRa9zEjXLtvvshhw4CMrRa3K+0wcp3KME0zmBe1ILmvcVHnypZ/aIDXpRyfhSYSuN4EPdCCj5Du8FIA==} cpu: [arm64] @@ -9701,6 +10293,14 @@ packages: dev: true optional: true + /@rollup/rollup-linux-arm64-musl@4.22.4: + resolution: {integrity: sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-arm64-musl@4.30.1: resolution: {integrity: sha512-i4Ab2vnvS1AE1PyOIGp2kXni69gU2DAUVt6FSXeIqUCPIR3ZlheMW3oP2JkukDfu3PsexYRbOiJrY+yVNSk9oA==} cpu: [arm64] @@ -9709,6 +10309,14 @@ packages: dev: true optional: true + /@rollup/rollup-linux-arm64-musl@4.34.4: + resolution: {integrity: sha512-GZdafB41/4s12j8Ss2izofjeFXRAAM7sHCb+S4JsI9vaONX/zQ8cXd87B9MRU/igGAJkKvmFmJJBeeT9jJ5Cbw==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-arm64-musl@4.34.6: resolution: {integrity: sha512-qTmklhCTyaJSB05S+iSovfo++EwnIEZxHkzv5dep4qoszUMX5Ca4WM4zAVUMbfdviLgCSQOu5oU8YoGk1s6M9Q==} cpu: [arm64] @@ -9725,6 +10333,14 @@ packages: dev: true optional: true + /@rollup/rollup-linux-loongarch64-gnu@4.34.4: + resolution: {integrity: sha512-uuphLuw1X6ur11675c2twC6YxbzyLSpWggvdawTUamlsoUv81aAXRMPBC1uvQllnBGls0Qt5Siw8reSIBnbdqQ==} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-loongarch64-gnu@4.34.6: resolution: {integrity: sha512-4Qmkaps9yqmpjY5pvpkfOerYgKNUGzQpFxV6rnS7c/JfYbDSU0y6WpbbredB5cCpLFGJEqYX40WUmxMkwhWCjw==} cpu: [loong64] @@ -9741,6 +10357,14 @@ packages: dev: true optional: true + /@rollup/rollup-linux-powerpc64le-gnu@4.22.4: + resolution: {integrity: sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-powerpc64le-gnu@4.30.1: resolution: {integrity: sha512-GLrZraoO3wVT4uFXh67ElpwQY0DIygxdv0BNW9Hkm3X34wu+BkqrDrkcsIapAY+N2ATEbvak0XQ9gxZtCIA5Rw==} cpu: [ppc64] @@ -9749,6 +10373,14 @@ packages: dev: true optional: true + /@rollup/rollup-linux-powerpc64le-gnu@4.34.4: + resolution: {integrity: sha512-KvLEw1os2gSmD6k6QPCQMm2T9P2GYvsMZMRpMz78QpSoEevHbV/KOUbI/46/JRalhtSAYZBYLAnT9YE4i/l4vg==} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-powerpc64le-gnu@4.34.6: resolution: {integrity: sha512-Zsrtux3PuaxuBTX/zHdLaFmcofWGzaWW1scwLU3ZbW/X+hSsFbz9wDIp6XvnT7pzYRl9MezWqEqKy7ssmDEnuQ==} cpu: [ppc64] @@ -9773,6 +10405,14 @@ packages: dev: true optional: true + /@rollup/rollup-linux-riscv64-gnu@4.22.4: + resolution: {integrity: sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-riscv64-gnu@4.30.1: resolution: {integrity: sha512-0WKLaAUUHKBtll0wvOmh6yh3S0wSU9+yas923JIChfxOaaBarmb/lBKPF0w/+jTVozFnOXJeRGZ8NvOxvk/jcw==} cpu: [riscv64] @@ -9781,6 +10421,14 @@ packages: dev: true optional: true + /@rollup/rollup-linux-riscv64-gnu@4.34.4: + resolution: {integrity: sha512-wcpCLHGM9yv+3Dql/CI4zrY2mpQ4WFergD3c9cpRowltEh5I84pRT/EuHZsG0In4eBPPYthXnuR++HrFkeqwkA==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-riscv64-gnu@4.34.6: resolution: {integrity: sha512-aK+Zp+CRM55iPrlyKiU3/zyhgzWBxLVrw2mwiQSYJRobCURb781+XstzvA8Gkjg/hbdQFuDw44aUOxVQFycrAg==} cpu: [riscv64] @@ -9797,6 +10445,14 @@ packages: dev: true optional: true + /@rollup/rollup-linux-s390x-gnu@4.22.4: + resolution: {integrity: sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-s390x-gnu@4.30.1: resolution: {integrity: sha512-GWFs97Ruxo5Bt+cvVTQkOJ6TIx0xJDD/bMAOXWJg8TCSTEK8RnFeOeiFTxKniTc4vMIaWvCplMAFBt9miGxgkA==} cpu: [s390x] @@ -9805,6 +10461,14 @@ packages: dev: true optional: true + /@rollup/rollup-linux-s390x-gnu@4.34.4: + resolution: {integrity: sha512-nLbfQp2lbJYU8obhRQusXKbuiqm4jSJteLwfjnunDT5ugBKdxqw1X9KWwk8xp1OMC6P5d0WbzxzhWoznuVK6XA==} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-s390x-gnu@4.34.6: resolution: {integrity: sha512-WoKLVrY9ogmaYPXwTH326+ErlCIgMmsoRSx6bO+l68YgJnlOXhygDYSZe/qbUJCSiCiZAQ+tKm88NcWuUXqOzw==} cpu: [s390x] @@ -9829,32 +10493,56 @@ packages: dev: true optional: true - /@rollup/rollup-linux-x64-gnu@4.30.1: - resolution: {integrity: sha512-UtgGb7QGgXDIO+tqqJ5oZRGHsDLO8SlpE4MhqpY9Llpzi5rJMvrK6ZGhsRCST2abZdBqIBeXW6WPD5fGK5SDwg==} + /@rollup/rollup-linux-x64-gnu@4.22.4: + resolution: {integrity: sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-gnu@4.34.6: - resolution: {integrity: sha512-Sht4aFvmA4ToHd2vFzwMFaQCiYm2lDFho5rPcvPBT5pCdC+GwHG6CMch4GQfmWTQ1SwRKS0dhDYb54khSrjDWw==} + /@rollup/rollup-linux-x64-gnu@4.30.1: + resolution: {integrity: sha512-UtgGb7QGgXDIO+tqqJ5oZRGHsDLO8SlpE4MhqpY9Llpzi5rJMvrK6ZGhsRCST2abZdBqIBeXW6WPD5fGK5SDwg==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-musl@4.13.0: - resolution: {integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==} + /@rollup/rollup-linux-x64-gnu@4.34.4: + resolution: {integrity: sha512-JGejzEfVzqc/XNiCKZj14eb6s5w8DdWlnQ5tWUbs99kkdvfq9btxxVX97AaxiUX7xJTKFA0LwoS0KU8C2faZRg==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-musl@4.14.3: - resolution: {integrity: sha512-s+xf1I46trOY10OqAtZ5Rm6lzHre/UiLA1J2uOhCFXWkbZrJRkYBPO6FhvGfHmdtQ3Bx793MNa7LvoWFAm93bg==} + /@rollup/rollup-linux-x64-gnu@4.34.6: + resolution: {integrity: sha512-Sht4aFvmA4ToHd2vFzwMFaQCiYm2lDFho5rPcvPBT5pCdC+GwHG6CMch4GQfmWTQ1SwRKS0dhDYb54khSrjDWw==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.13.0: + resolution: {integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.14.3: + resolution: {integrity: sha512-s+xf1I46trOY10OqAtZ5Rm6lzHre/UiLA1J2uOhCFXWkbZrJRkYBPO6FhvGfHmdtQ3Bx793MNa7LvoWFAm93bg==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.22.4: + resolution: {integrity: sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==} cpu: [x64] os: [linux] requiresBuild: true @@ -9869,6 +10557,14 @@ packages: dev: true optional: true + /@rollup/rollup-linux-x64-musl@4.34.4: + resolution: {integrity: sha512-/iFIbhzeyZZy49ozAWJ1ZR2KW6ZdYUbQXLT4O5n1cRZRoTpwExnHLjlurDXXPKEGxiAg0ujaR9JDYKljpr2fDg==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-x64-musl@4.34.6: resolution: {integrity: sha512-zmmpOQh8vXc2QITsnCiODCDGXFC8LMi64+/oPpPx5qz3pqv0s6x46ps4xoycfUiVZps5PFn1gksZzo4RGTKT+A==} cpu: [x64] @@ -9893,6 +10589,14 @@ packages: dev: true optional: true + /@rollup/rollup-win32-arm64-msvc@4.22.4: + resolution: {integrity: sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-win32-arm64-msvc@4.30.1: resolution: {integrity: sha512-WabtHWiPaFF47W3PkHnjbmWawnX/aE57K47ZDT1BXTS5GgrBUEpvOzq0FI0V/UYzQJgdb8XlhVNH8/fwV8xDjw==} cpu: [arm64] @@ -9901,6 +10605,14 @@ packages: dev: true optional: true + /@rollup/rollup-win32-arm64-msvc@4.34.4: + resolution: {integrity: sha512-qORc3UzoD5UUTneiP2Afg5n5Ti1GAW9Gp5vHPxzvAFFA3FBaum9WqGvYXGf+c7beFdOKNos31/41PRMUwh1tpA==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-win32-arm64-msvc@4.34.6: resolution: {integrity: sha512-3/q1qUsO/tLqGBaD4uXsB6coVGB3usxw3qyeVb59aArCgedSF66MPdgRStUd7vbZOsko/CgVaY5fo2vkvPLWiA==} cpu: [arm64] @@ -9925,6 +10637,14 @@ packages: dev: true optional: true + /@rollup/rollup-win32-ia32-msvc@4.22.4: + resolution: {integrity: sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-win32-ia32-msvc@4.30.1: resolution: {integrity: sha512-pxHAU+Zv39hLUTdQQHUVHf4P+0C47y/ZloorHpzs2SXMRqeAWmGghzAhfOlzFHHwjvgokdFAhC4V+6kC1lRRfw==} cpu: [ia32] @@ -9933,6 +10653,14 @@ packages: dev: true optional: true + /@rollup/rollup-win32-ia32-msvc@4.34.4: + resolution: {integrity: sha512-5g7E2PHNK2uvoD5bASBD9aelm44nf1w4I5FEI7MPHLWcCSrR8JragXZWgKPXk5i2FU3JFfa6CGZLw2RrGBHs2Q==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-win32-ia32-msvc@4.34.6: resolution: {integrity: sha512-oLHxuyywc6efdKVTxvc0135zPrRdtYVjtVD5GUm55I3ODxhU/PwkQFD97z16Xzxa1Fz0AEe4W/2hzRtd+IfpOA==} cpu: [ia32] @@ -9957,6 +10685,14 @@ packages: dev: true optional: true + /@rollup/rollup-win32-x64-msvc@4.22.4: + resolution: {integrity: sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-win32-x64-msvc@4.30.1: resolution: {integrity: sha512-D6qjsXGcvhTjv0kI4fU8tUuBDF/Ueee4SVX79VfNDXZa64TfCW1Slkb6Z7O1p7vflqZjcmOVdZlqf8gvJxc6og==} cpu: [x64] @@ -9965,6 +10701,14 @@ packages: dev: true optional: true + /@rollup/rollup-win32-x64-msvc@4.34.4: + resolution: {integrity: sha512-p0scwGkR4kZ242xLPBuhSckrJ734frz6v9xZzD+kHVYRAkSUmdSLCIJRfql6H5//aF8Q10K+i7q8DiPfZp0b7A==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-win32-x64-msvc@4.34.6: resolution: {integrity: sha512-0PVwmgzZ8+TZ9oGBmdZoQVXflbvuwzN/HRclujpl4N/q3i+y0lqLw8n1bXA8ru3sApDjlmONaNAuYr38y1Kr9w==} cpu: [x64] @@ -9977,12 +10721,12 @@ packages: resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} dev: true - /@schematics/angular@19.1.5: - resolution: {integrity: sha512-Yks2QD87z2qJhVLi6O0tQDBG4pyX5n5c8BYEyZ+yiThjzIXBRkHjWS1jIFvd/y1+yU/NQFHYG/sy8sVOxfQ9IA==} + /@schematics/angular@19.1.6: + resolution: {integrity: sha512-TxFp6iHBqXcuyZIW84HA4z3XkAMz3wTw46K3GNhzyfhFTFD0YD+DtaR3MfQ+vcj3YUYu9j44zrB9nchzugR9Ew==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} dependencies: - '@angular-devkit/core': 19.1.5 - '@angular-devkit/schematics': 19.1.5 + '@angular-devkit/core': 19.1.6 + '@angular-devkit/schematics': 19.1.6 jsonc-parser: 3.3.1 transitivePeerDependencies: - chokidar @@ -10240,7 +10984,7 @@ packages: engines: {node: '>=18'} dependencies: '@babel/code-frame': 7.23.5 - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.23.5 '@types/aria-query': 5.0.1 aria-query: 5.3.0 chalk: 4.1.2 @@ -10254,7 +10998,7 @@ packages: engines: {node: '>=18'} dependencies: '@babel/code-frame': 7.24.7 - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.25.6 '@types/aria-query': 5.0.4 aria-query: 5.3.0 chalk: 4.1.2 @@ -10268,7 +11012,7 @@ packages: engines: {node: '>=12'} dependencies: '@babel/code-frame': 7.26.2 - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.26.0 '@types/aria-query': 5.0.4 aria-query: 5.1.3 chalk: 4.1.2 @@ -10282,7 +11026,7 @@ packages: engines: {node: '>=14'} dependencies: '@babel/code-frame': 7.26.2 - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.26.0 '@types/aria-query': 5.0.4 aria-query: 5.1.3 chalk: 4.1.2 @@ -10296,7 +11040,7 @@ packages: engines: {node: '>=8', npm: '>=6', yarn: '>=1'} dependencies: '@adobe/css-tools': 4.4.0 - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.23.5 '@types/testing-library__jest-dom': 5.14.9 aria-query: 5.3.0 chalk: 3.0.0 @@ -10334,7 +11078,7 @@ packages: chalk: 3.0.0 css.escape: 1.5.1 dom-accessibility-api: 0.6.3 - jest: 29.7.0(@types/node@20.17.13)(ts-node@10.9.2) + jest: 29.7.0(@types/node@22.13.1)(ts-node@10.9.2) lodash: 4.17.21 redent: 3.0.0 dev: true @@ -10368,7 +11112,7 @@ packages: react-test-renderer: optional: true dependencies: - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.23.5 '@types/react': 18.3.18 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -10404,7 +11148,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.25.6 '@testing-library/dom': 10.4.0 '@types/react': 18.3.18 '@types/react-dom': 18.3.5(@types/react@18.3.18) @@ -10566,7 +11310,7 @@ packages: /@types/eslint@8.56.10: resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==} dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 '@types/json-schema': 7.0.15 dev: true @@ -10600,6 +11344,9 @@ packages: '@types/serve-static': 1.15.7 dev: true + /@types/gensync@1.0.4: + resolution: {integrity: sha512-C3YYeRQWp2fmq9OryX+FoDy8nXS6scQ7dPptD8LnFDAUNcKWJjXQKDNJD3HVm+kOUsXhTOkpi69vI4EuAr95bA==} + /@types/glob@7.2.0: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: @@ -10633,12 +11380,6 @@ packages: resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} dev: true - /@types/http-proxy@1.17.14: - resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} - dependencies: - '@types/node': 20.17.13 - dev: true - /@types/http-proxy@1.17.15: resolution: {integrity: sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==} dependencies: @@ -10738,6 +11479,12 @@ packages: undici-types: 6.19.8 dev: true + /@types/node@22.13.1: + resolution: {integrity: sha512-jK8uzQlrvXqEU91UxiK5J7pKHyzgnI1Qnl0QDHIgVGuolJhRb9EEl28Cj9b3rGR8B2lhFCtvIm5os8lFnO/1Ew==} + dependencies: + undici-types: 6.20.0 + dev: true + /@types/normalize-package-data@2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} dev: true @@ -10791,6 +11538,7 @@ packages: dependencies: '@types/prop-types': 15.7.12 csstype: 3.1.3 + dev: true /@types/react@18.3.3: resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} @@ -10799,6 +11547,12 @@ packages: csstype: 3.1.3 dev: false + /@types/react@19.0.8: + resolution: {integrity: sha512-9P/o1IGdfmQxrujGbIMDyYaaCykhLKc0NGCtYcECNUr9UAaDe4gwvV9bR6tvd5Br1SG0j+PBpbKr2UYY8CwqSw==} + dependencies: + csstype: 3.1.3 + dev: false + /@types/relateurl@0.2.29: resolution: {integrity: sha512-QSvevZ+IRww2ldtfv1QskYsqVVVwCKQf1XbwtcyyoRvLIQzfyPhj/C+3+PKzSDRdiyejaiLgnq//XTkleorpLg==} dev: true @@ -10865,7 +11619,7 @@ packages: /@types/testing-library__jest-dom@5.14.9: resolution: {integrity: sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==} dependencies: - '@types/jest': 29.5.12 + '@types/jest': 29.5.14 dev: true /@types/tough-cookie@4.0.2: @@ -10944,35 +11698,65 @@ packages: - supports-color dev: true - /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.1)(typescript@5.4.5): - resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.7.3): + resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - '@typescript-eslint/parser': ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@5.4.5) - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.1)(typescript@5.4.5) - '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@5.4.5) - debug: 4.3.4 + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.7.3) + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.7.3) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.7.3) + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.4.0 + eslint: 8.57.0 + graphemer: 1.4.0 + ignore: 5.3.2 + natural-compare: 1.4.0 + semver: 7.7.1 + ts-api-utils: 1.3.0(typescript@5.7.3) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.1)(typescript@5.4.5): + resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.4.0 eslint: 8.57.1 graphemer: 1.4.0 - ignore: 5.3.1 - natural-compare-lite: 1.4.0 - semver: 7.6.0 - tsutils: 3.21.0(typescript@5.4.5) + ignore: 5.3.2 + natural-compare: 1.4.0 + semver: 7.7.1 + ts-api-utils: 1.3.0(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.7.3): + /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.1)(typescript@5.7.3): resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -10983,18 +11767,18 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.11.1 - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.7.3) + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.7.3) '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.7.3) - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.7.3) + '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.1)(typescript@5.7.3) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.1)(typescript@5.7.3) '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.7 - eslint: 8.57.0 + debug: 4.4.0 + eslint: 8.57.1 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - semver: 7.7.0 + semver: 7.7.1 ts-api-utils: 1.3.0(typescript@5.7.3) typescript: 5.7.3 transitivePeerDependencies: @@ -11129,27 +11913,49 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.4.5): - resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.7.3): + resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5) - debug: 4.3.4 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.7.3) + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.4.0 + eslint: 8.57.0 + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.4.5): + resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.4.0 eslint: 8.57.1 typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.7.3): + /@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.3): resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -11163,8 +11969,8 @@ packages: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.7.3) '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.7 - eslint: 8.57.0 + debug: 4.4.0 + eslint: 8.57.1 typescript: 5.7.3 transitivePeerDependencies: - supports-color @@ -11314,7 +12120,7 @@ packages: dependencies: '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5) '@typescript-eslint/utils': 5.62.0(eslint@7.32.0)(typescript@5.4.5) - debug: 4.3.7 + debug: 4.4.0 eslint: 7.32.0 tsutils: 3.21.0(typescript@5.4.5) typescript: 5.4.5 @@ -11322,27 +12128,47 @@ packages: - supports-color dev: true - /@typescript-eslint/type-utils@5.62.0(eslint@8.57.1)(typescript@5.4.5): - resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.7.3): + resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: '*' + eslint: ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5) - '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@5.4.5) - debug: 4.3.7 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.7.3) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.7.3) + debug: 4.4.0 + eslint: 8.57.0 + ts-api-utils: 1.3.0(typescript@5.7.3) + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/type-utils@6.21.0(eslint@8.57.1)(typescript@5.4.5): + resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.1)(typescript@5.4.5) + debug: 4.4.0 eslint: 8.57.1 - tsutils: 3.21.0(typescript@5.4.5) + ts-api-utils: 1.3.0(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.7.3): + /@typescript-eslint/type-utils@6.21.0(eslint@8.57.1)(typescript@5.7.3): resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -11353,9 +12179,9 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.7.3) - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.7.3) - debug: 4.3.7 - eslint: 8.57.0 + '@typescript-eslint/utils': 6.21.0(eslint@8.57.1)(typescript@5.7.3) + debug: 4.4.0 + eslint: 8.57.1 ts-api-utils: 1.3.0(typescript@5.7.3) typescript: 5.7.3 transitivePeerDependencies: @@ -11503,13 +12329,35 @@ packages: debug: 4.4.0 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.7.0 + semver: 7.7.1 tsutils: 3.21.0(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true + /@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5): + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.4.0 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.3 + semver: 7.7.1 + ts-api-utils: 1.3.0(typescript@5.4.5) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/typescript-estree@6.21.0(typescript@5.7.3): resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} engines: {node: ^16.0.0 || >=18.0.0} @@ -11521,11 +12369,11 @@ packages: dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.7 + debug: 4.4.0 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 - semver: 7.7.0 + semver: 7.7.1 ts-api-utils: 1.3.0(typescript@5.7.3) typescript: 5.7.3 transitivePeerDependencies: @@ -11716,7 +12564,7 @@ packages: '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5) eslint: 7.32.0 eslint-scope: 5.1.1 - semver: 7.6.0 + semver: 7.7.1 transitivePeerDependencies: - supports-color - typescript @@ -11736,7 +12584,7 @@ packages: '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5) eslint: 8.57.1 eslint-scope: 5.1.1 - semver: 7.6.0 + semver: 7.7.1 transitivePeerDependencies: - supports-color - typescript @@ -11755,7 +12603,45 @@ packages: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.7.3) eslint: 8.57.0 - semver: 7.7.0 + semver: 7.7.1 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/utils@6.21.0(eslint@8.57.1)(typescript@5.4.5): + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) + eslint: 8.57.1 + semver: 7.7.1 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/utils@6.21.0(eslint@8.57.1)(typescript@5.7.3): + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.7.3) + eslint: 8.57.1 + semver: 7.7.1 transitivePeerDependencies: - supports-color - typescript @@ -11842,18 +12728,35 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@8.24.0(eslint@8.57.0)(typescript@5.7.3): + /@typescript-eslint/utils@8.24.0(eslint@8.57.0)(typescript@5.7.3): + resolution: {integrity: sha512-07rLuUBElvvEb1ICnafYWr4hk8/U7X9RDCOqd9JcAMtjh/9oRmcfN4yGzbPVirgMR0+HLVHehmu19CWeh7fsmQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.8.0' + dependencies: + '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.0) + '@typescript-eslint/scope-manager': 8.24.0 + '@typescript-eslint/types': 8.24.0 + '@typescript-eslint/typescript-estree': 8.24.0(typescript@5.7.3) + eslint: 8.57.0 + typescript: 5.7.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@8.24.0(eslint@8.57.1)(typescript@5.7.3): resolution: {integrity: sha512-07rLuUBElvvEb1ICnafYWr4hk8/U7X9RDCOqd9JcAMtjh/9oRmcfN4yGzbPVirgMR0+HLVHehmu19CWeh7fsmQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1) '@typescript-eslint/scope-manager': 8.24.0 '@typescript-eslint/types': 8.24.0 '@typescript-eslint/typescript-estree': 8.24.0(typescript@5.7.3) - eslint: 8.57.0 + eslint: 8.57.1 typescript: 5.7.3 transitivePeerDependencies: - supports-color @@ -12294,7 +13197,7 @@ packages: peerDependencies: vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 dependencies: - vite: 6.0.11(@types/node@20.17.13)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) + vite: 6.0.11(@types/node@22.13.1)(less@4.2.1)(sass@1.83.1)(terser@5.37.0) dev: true /@vitejs/plugin-basic-ssl@1.2.0(vite@6.1.0): @@ -12303,7 +13206,7 @@ packages: peerDependencies: vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 dependencies: - vite: 6.1.0(@types/node@20.17.13)(less@4.2.1) + vite: 6.1.0(@types/node@22.13.1)(less@4.2.1) dev: true /@vue/babel-helper-vue-jsx-merge-props@1.4.0: @@ -12324,7 +13227,7 @@ packages: dependencies: '@babel/core': 7.26.0 '@babel/helper-module-imports': 7.22.15 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.26.0) '@babel/template': 7.25.9 '@babel/traverse': 7.26.7 @@ -12346,7 +13249,7 @@ packages: '@babel/code-frame': 7.26.2 '@babel/core': 7.26.0 '@babel/helper-module-imports': 7.22.15 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/parser': 7.26.7 '@vue/compiler-sfc': 3.4.31 dev: true @@ -12386,9 +13289,9 @@ packages: '@babel/plugin-proposal-decorators': 7.23.5(@babel/core@7.26.0) '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.26.0) '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.26.0) - '@babel/plugin-transform-runtime': 7.23.4(@babel/core@7.26.0) + '@babel/plugin-transform-runtime': 7.25.9(@babel/core@7.26.0) '@babel/preset-env': 7.26.0(@babel/core@7.26.0) - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.26.0 '@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.26.0) '@vue/babel-preset-jsx': 1.4.0(@babel/core@7.26.0)(vue@3.4.31) babel-plugin-dynamic-import-node: 2.3.3 @@ -12603,14 +13506,14 @@ packages: '@types/jest': 27.5.2 '@vue/cli-service': 5.0.8(@vue/compiler-sfc@3.5.13)(prettier@2.8.8)(vue@3.4.31) '@vue/cli-shared-utils': 5.0.8 - '@vue/vue3-jest': 27.0.0(@babel/core@7.26.0)(babel-jest@27.5.1)(jest@29.7.0)(ts-jest@27.1.5)(typescript@5.4.5)(vue@3.4.31) + '@vue/vue3-jest': 27.0.0(@babel/core@7.26.8)(babel-jest@27.5.1)(jest@29.7.0)(ts-jest@27.1.5)(typescript@5.4.5)(vue@3.4.31) babel-jest: 27.5.1(@babel/core@7.26.0) deepmerge: 4.3.1 jest: 29.7.0(@types/node@20.17.13)(ts-node@10.9.2) jest-serializer-vue: 2.0.2 jest-transform-stub: 2.0.0 jest-watch-typeahead: 1.1.0(jest@29.7.0) - ts-jest: 27.1.5(@babel/core@7.26.0)(@types/jest@27.5.2)(babel-jest@27.5.1)(jest@29.7.0)(typescript@5.4.5) + ts-jest: 27.1.5(@babel/core@7.26.8)(@types/jest@27.5.2)(babel-jest@27.5.1)(jest@29.7.0)(typescript@5.4.5) transitivePeerDependencies: - encoding - supports-color @@ -12844,7 +13747,7 @@ packages: '@vue/shared': 3.4.31 estree-walker: 2.0.2 magic-string: 0.30.17 - postcss: 8.4.39 + postcss: 8.5.1 source-map-js: 1.2.0 dev: true @@ -13019,7 +13922,7 @@ packages: vue-component-type-helpers: 2.0.26 dev: true - /@vue/vue3-jest@27.0.0(@babel/core@7.26.0)(babel-jest@27.5.1)(jest@29.7.0)(ts-jest@27.1.5)(typescript@5.4.5)(vue@3.4.31): + /@vue/vue3-jest@27.0.0(@babel/core@7.26.8)(babel-jest@27.5.1)(jest@29.7.0)(ts-jest@27.1.5)(typescript@5.4.5)(vue@3.4.31): resolution: {integrity: sha512-VL61CgZBoQqayXfzlZJHHpZuX4lsT8dmdZMJzADhdAJjKu26JBpypHr/2ppevxItljPiuALQW4MKhhCXZRXnLg==} peerDependencies: '@babel/core': 7.x @@ -13034,15 +13937,15 @@ packages: typescript: optional: true dependencies: - '@babel/core': 7.26.0 - '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.26.0) - babel-jest: 27.5.1(@babel/core@7.26.0) + '@babel/core': 7.26.8 + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.26.8) + babel-jest: 27.5.1(@babel/core@7.26.8) chalk: 2.4.2 convert-source-map: 1.9.0 css-tree: 2.3.1 jest: 29.7.0(@types/node@20.17.13)(ts-node@10.9.2) source-map: 0.5.6 - ts-jest: 27.1.5(@babel/core@7.26.0)(@types/jest@27.5.2)(babel-jest@27.5.1)(jest@29.7.0)(typescript@5.4.5) + ts-jest: 27.1.5(@babel/core@7.26.8)(@types/jest@27.5.2)(babel-jest@27.5.1)(jest@29.7.0)(typescript@5.4.5) tsconfig: 7.0.0 typescript: 5.4.5 vue: 3.4.31(typescript@5.4.5) @@ -13442,7 +14345,7 @@ packages: indent-string: 4.0.0 dev: true - /ajv-formats@2.1.1(ajv@8.12.0): + /ajv-formats@2.1.1(ajv@8.17.1): resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} peerDependencies: ajv: ^8.0.0 @@ -13450,7 +14353,7 @@ packages: ajv: optional: true dependencies: - ajv: 8.12.0 + ajv: 8.17.1 dev: true /ajv-formats@3.0.1(ajv@8.17.1): @@ -13472,12 +14375,12 @@ packages: ajv: 6.12.6 dev: true - /ajv-keywords@5.1.0(ajv@8.12.0): + /ajv-keywords@5.1.0(ajv@8.17.1): resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} peerDependencies: ajv: ^8.8.2 dependencies: - ajv: 8.12.0 + ajv: 8.17.1 fast-deep-equal: 3.1.3 dev: true @@ -13669,12 +14572,12 @@ packages: resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.8 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.9 - es-object-atoms: 1.1.1 - get-intrinsic: 1.2.7 - is-string: 1.1.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.4 + is-string: 1.0.7 dev: true /array-union@2.1.0: @@ -13698,11 +14601,11 @@ packages: resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.8 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.9 + es-abstract: 1.23.3 es-errors: 1.3.0 - es-object-atoms: 1.1.1 + es-object-atoms: 1.0.0 es-shim-unscopables: 1.0.2 dev: true @@ -13710,9 +14613,19 @@ packages: resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.8 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.9 + es-abstract: 1.23.3 + es-shim-unscopables: 1.0.2 + dev: true + + /array.prototype.flatmap@1.3.2: + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 es-shim-unscopables: 1.0.2 dev: true @@ -13737,6 +14650,20 @@ packages: es-shim-unscopables: 1.0.2 dev: true + /arraybuffer.prototype.slice@1.0.3: + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + is-array-buffer: 3.0.4 + is-shared-array-buffer: 1.0.3 + dev: true + /arraybuffer.prototype.slice@1.0.4: resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} engines: {node: '>= 0.4'} @@ -13829,7 +14756,7 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.24.4 - caniuse-lite: 1.0.30001697 + caniuse-lite: 1.0.30001696 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 @@ -13891,6 +14818,25 @@ packages: - supports-color dev: true + /babel-jest@27.5.1(@babel/core@7.26.8): + resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + '@babel/core': ^7.8.0 + dependencies: + '@babel/core': 7.26.8 + '@jest/transform': 27.5.1 + '@jest/types': 27.5.1 + '@types/babel__core': 7.20.0 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 27.5.1(@babel/core@7.26.8) + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + dev: true + /babel-jest@29.7.0(@babel/core@7.26.0): resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -13943,8 +14889,8 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.26.0) + '@babel/helper-plugin-utils': 7.26.5 + '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.0) '@babel/traverse': 7.26.7 transitivePeerDependencies: - supports-color @@ -13953,14 +14899,14 @@ packages: /babel-plugin-dynamic-import-node@2.3.3: resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} dependencies: - object.assign: 4.1.7 + object.assign: 4.1.5 dev: true /babel-plugin-istanbul@6.1.1: resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} engines: {node: '>=8'} dependencies: - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-instrument: 5.2.1 @@ -13992,9 +14938,9 @@ packages: /babel-plugin-macros@2.8.0: resolution: {integrity: sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==} dependencies: - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.26.0 cosmiconfig: 6.0.0 - resolve: 1.22.4 + resolve: 1.22.10 dev: true /babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.26.0): @@ -14022,29 +14968,6 @@ packages: - supports-color dev: true - /babel-plugin-polyfill-corejs3@0.8.6(@babel/core@7.26.0): - resolution: {integrity: sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.26.0) - core-js-compat: 3.37.1 - transitivePeerDependencies: - - supports-color - dev: true - - /babel-plugin-polyfill-regenerator@0.5.5(@babel/core@7.26.0): - resolution: {integrity: sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.26.0) - transitivePeerDependencies: - - supports-color - dev: true - /babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.26.0): resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==} peerDependencies: @@ -14066,7 +14989,7 @@ packages: optional: true dependencies: '@babel/core': 7.26.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /babel-preset-current-node-syntax@1.0.1(@babel/core@7.26.0): @@ -14089,6 +15012,26 @@ packages: '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.26.0) dev: true + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.26.8): + resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.8 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.26.8) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.26.8) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.26.8) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.26.8) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.26.8) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.26.8) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.8) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.26.8) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.26.8) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.26.8) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.8) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.26.8) + dev: true + /babel-preset-jest@27.5.1(@babel/core@7.26.0): resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -14100,6 +15043,17 @@ packages: babel-preset-current-node-syntax: 1.0.1(@babel/core@7.26.0) dev: true + /babel-preset-jest@27.5.1(@babel/core@7.26.8): + resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.8 + babel-plugin-jest-hoist: 27.5.1 + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.26.8) + dev: true + /babel-preset-jest@29.6.3(@babel/core@7.26.0): resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -14363,10 +15317,10 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001697 - electron-to-chromium: 1.5.92 + caniuse-lite: 1.0.30001696 + electron-to-chromium: 1.5.90 node-releases: 2.0.19 - update-browserslist-db: 1.1.2(browserslist@4.24.4) + update-browserslist-db: 1.1.1(browserslist@4.24.4) /bs-logger@0.2.6: resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} @@ -14414,7 +15368,7 @@ packages: /builtins@5.0.1: resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} dependencies: - semver: 7.6.0 + semver: 7.7.1 dev: true /bundle-name@4.1.0: @@ -14544,7 +15498,7 @@ packages: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: browserslist: 4.24.4 - caniuse-lite: 1.0.30001697 + caniuse-lite: 1.0.30001696 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 dev: true @@ -14563,10 +15517,6 @@ packages: /caniuse-lite@1.0.30001696: resolution: {integrity: sha512-pDCPkvzfa39ehJtJ+OwGT/2yvT2SbjfHhiIW2LWOAcMQ7BzwxT/XuyUp4OTOd0XFWA6BKw0JalnBHgSi5DGJBQ==} - dev: false - - /caniuse-lite@1.0.30001697: - resolution: {integrity: sha512-GwNPlWJin8E+d7Gxq96jxM6w0w+VFeyyXRsjU58emtkYqnbwHqXm5uT2uCmO0RQE9htWknOP4xtBlLmM/gWxvQ==} /case-sensitive-paths-webpack-plugin@2.4.0: resolution: {integrity: sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==} @@ -15417,7 +16367,7 @@ packages: peerDependencies: webpack: ^5.1.0 dependencies: - fast-glob: 3.3.1 + fast-glob: 3.3.3 glob-parent: 6.0.2 globby: 11.1.0 normalize-path: 3.0.0 @@ -15555,6 +16505,25 @@ packages: - ts-node dev: true + /create-jest@29.7.0(@types/node@22.13.1)(ts-node@10.9.2): + resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + dependencies: + '@jest/types': 29.6.3 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-config: 29.7.0(@types/node@22.13.1)(ts-node@10.9.2) + jest-util: 29.7.0 + prompts: 2.4.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + dev: true + /create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: true @@ -15920,6 +16889,15 @@ packages: whatwg-url: 11.0.0 dev: true + /data-view-buffer@1.0.1: + resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + dev: true + /data-view-buffer@1.0.2: resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} engines: {node: '>= 0.4'} @@ -15929,6 +16907,15 @@ packages: 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'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + 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'} @@ -15938,6 +16925,15 @@ packages: 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'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + dev: true + /data-view-byte-offset@1.0.1: resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} engines: {node: '>= 0.4'} @@ -16464,8 +17460,8 @@ packages: resolution: {integrity: sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==} dev: true - /electron-to-chromium@1.5.92: - resolution: {integrity: sha512-BeHgmNobs05N1HMmMZ7YIuHfYBGlq/UmvlsTgg+fsbFs9xVMj+xJHFg19GN04+9Q+r8Xnh9LXqaYIyEWElnNgQ==} + /electron-to-chromium@1.5.90: + resolution: {integrity: sha512-C3PN4aydfW91Natdyd449Kw+BzhLmof6tzy5W1pFC5SpQxVXT+oyiyOG9AgYYSN9OdA/ik3YkCrpwqI8ug5Tug==} /element-internals-polyfill@1.3.11: resolution: {integrity: sha512-SQLQNVY4wMdpnP/F/HtalJbpEenQd46Avtjm5hvUdeTs3QU0zHFNX5/AmtQIPPcfzePb0ipCkQGY4GwYJIhLJA==} @@ -16569,8 +17565,8 @@ packages: tapable: 2.2.1 dev: true - /enhanced-resolve@5.18.1: - resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==} + /enhanced-resolve@5.18.0: + resolution: {integrity: sha512-0/r0MySGYG8YqlayBZ6MuCfECmHFdJ5qyPh8s8wa5Hnm6SaFLSK1VYCbj+NKp090Nm1caZhD+QTnmxO7esYGyQ==} engines: {node: '>=10.13.0'} dependencies: graceful-fs: 4.2.11 @@ -16628,6 +17624,58 @@ packages: stackframe: 1.3.4 dev: true + /es-abstract@1.23.3: + resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.1 + arraybuffer.prototype.slice: 1.0.3 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + data-view-buffer: 1.0.1 + data-view-byte-length: 1.0.1 + data-view-byte-offset: 1.0.0 + es-define-property: 1.0.0 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-set-tostringtag: 2.0.3 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.6 + get-intrinsic: 1.2.4 + get-symbol-description: 1.0.2 + globalthis: 1.0.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + internal-slot: 1.0.7 + is-array-buffer: 3.0.4 + is-callable: 1.2.7 + is-data-view: 1.0.1 + is-negative-zero: 2.0.3 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.3 + is-string: 1.0.7 + is-typed-array: 1.1.13 + is-weakref: 1.0.2 + object-inspect: 1.13.1 + object-keys: 1.1.1 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.2 + safe-array-concat: 1.1.2 + safe-regex-test: 1.0.3 + string.prototype.trim: 1.2.9 + string.prototype.trimend: 1.0.8 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.2 + typed-array-byte-length: 1.0.1 + typed-array-byte-offset: 1.0.2 + typed-array-length: 1.0.6 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.15 + dev: true + /es-abstract@1.23.9: resolution: {integrity: sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==} engines: {node: '>= 0.4'} @@ -16760,6 +17808,15 @@ packages: es-errors: 1.3.0 dev: true + /es-set-tostringtag@2.0.3: + resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.4 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + dev: true + /es-set-tostringtag@2.1.0: resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} engines: {node: '>= 0.4'} @@ -16776,6 +17833,15 @@ packages: hasown: 2.0.2 dev: true + /es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + dev: true + /es-to-primitive@1.3.0: resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} engines: {node: '>= 0.4'} @@ -16949,7 +18015,7 @@ packages: eslint: '>=6.0.0' dependencies: eslint: 8.57.1 - semver: 7.7.0 + semver: 7.7.1 dev: true /eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.31.0)(eslint@8.57.1): @@ -16967,7 +18033,7 @@ packages: semver: 6.3.1 dev: true - /eslint-config-airbnb-typescript@17.1.0(@typescript-eslint/eslint-plugin@5.62.0)(@typescript-eslint/parser@5.62.0)(eslint-plugin-import@2.31.0)(eslint@8.57.1): + /eslint-config-airbnb-typescript@17.1.0(@typescript-eslint/eslint-plugin@6.21.0)(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.31.0)(eslint@8.57.1): resolution: {integrity: sha512-GPxI5URre6dDpJ0CtcthSZVBAfI+Uw7un5OYNVxP2EYi3H81Jw701yFP7AU+/vCE7xBtFmjge7kfhhk4+RAiig==} peerDependencies: '@typescript-eslint/eslint-plugin': ^5.13.0 || ^6.0.0 @@ -16975,11 +18041,11 @@ packages: eslint: ^7.32.0 || ^8.2.0 eslint-plugin-import: ^2.25.3 dependencies: - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.1)(typescript@5.4.5) - '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.4.5) eslint: 8.57.1 eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0)(eslint@8.57.1) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@2.7.1)(eslint@8.57.1) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@2.7.1)(eslint@8.57.1) dev: true /eslint-config-airbnb-typescript@18.0.0(@typescript-eslint/eslint-plugin@7.18.0)(@typescript-eslint/parser@7.18.0)(eslint-plugin-import@2.31.0)(eslint@8.57.1): @@ -17024,7 +18090,7 @@ packages: dependencies: eslint: 8.57.1 eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0)(eslint@8.57.1) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@2.7.1)(eslint@8.57.1) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@2.7.1)(eslint@8.57.1) eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.1) eslint-plugin-react: 7.37.4(eslint@8.57.1) eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) @@ -17078,7 +18144,7 @@ packages: eslint-plugin-promise: ^6.0.0 dependencies: eslint: 8.57.1 - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@2.7.1)(eslint@8.57.1) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@2.7.1)(eslint@8.57.1) eslint-plugin-n: 15.7.0(eslint@8.57.1) eslint-plugin-promise: 6.6.0(eslint@8.57.1) dev: true @@ -17117,7 +18183,7 @@ packages: dependencies: debug: 4.3.4 eslint: 8.57.1 - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@2.7.1)(eslint@8.57.1) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@2.7.1)(eslint@8.57.1) glob: 7.2.3 is-glob: 4.0.3 resolve: 1.22.4 @@ -17126,7 +18192,7 @@ packages: - supports-color dev: true - /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.62.0)(eslint-plugin-import@2.31.0)(eslint@8.57.1): + /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.31.0)(eslint@8.57.1): resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -17136,8 +18202,8 @@ packages: debug: 4.3.7 enhanced-resolve: 5.17.0 eslint: 8.57.1 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1) fast-glob: 3.3.1 get-tsconfig: 4.7.3 is-core-module: 2.13.1 @@ -17195,7 +18261,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.12.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@2.7.1)(eslint@8.57.1): + /eslint-module-utils@2.12.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@2.7.1)(eslint@8.57.1): resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} engines: {node: '>=4'} peerDependencies: @@ -17216,7 +18282,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.4.5) debug: 3.2.7 eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 @@ -17225,7 +18291,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.12.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1): + /eslint-module-utils@2.12.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1): resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} engines: {node: '>=4'} peerDependencies: @@ -17246,11 +18312,11 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.4.5) debug: 3.2.7 eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@5.62.0)(eslint-plugin-import@2.31.0)(eslint@8.57.1) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.31.0)(eslint@8.57.1) transitivePeerDependencies: - supports-color dev: true @@ -17315,7 +18381,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -17336,10 +18402,10 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.4.5) debug: 3.2.7 eslint: 8.57.1 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@5.62.0)(eslint-plugin-import@2.31.0)(eslint@8.57.1) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.31.0)(eslint@8.57.1) transitivePeerDependencies: - supports-color dev: true @@ -17425,7 +18491,7 @@ packages: regexpp: 3.2.0 dev: true - /eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@2.7.1)(eslint@8.57.1): + /eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@2.7.1)(eslint@8.57.1): resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==} engines: {node: '>=4'} peerDependencies: @@ -17436,25 +18502,25 @@ packages: optional: true dependencies: '@rtsao/scc': 1.1.0 - '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.4.5) array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 - array.prototype.flatmap: 1.3.3 + array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@2.7.1)(eslint@8.57.1) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@2.7.1)(eslint@8.57.1) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 minimatch: 3.1.2 object.fromentries: 2.0.8 object.groupby: 1.0.3 - object.values: 1.2.1 + object.values: 1.2.0 semver: 6.3.1 - string.prototype.trimend: 1.0.9 + string.prototype.trimend: 1.0.8 tsconfig-paths: 3.15.0 transitivePeerDependencies: - eslint-import-resolver-typescript @@ -17462,7 +18528,7 @@ packages: - supports-color dev: true - /eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1): + /eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1): resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==} engines: {node: '>=4'} peerDependencies: @@ -17473,25 +18539,25 @@ packages: optional: true dependencies: '@rtsao/scc': 1.1.0 - '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.4.5) array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 - array.prototype.flatmap: 1.3.3 + array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.1) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 minimatch: 3.1.2 object.fromentries: 2.0.8 object.groupby: 1.0.3 - object.values: 1.2.1 + object.values: 1.2.0 semver: 6.3.1 - string.prototype.trimend: 1.0.9 + string.prototype.trimend: 1.0.8 tsconfig-paths: 3.15.0 transitivePeerDependencies: - eslint-import-resolver-typescript @@ -17514,7 +18580,7 @@ packages: array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 - array.prototype.flatmap: 1.3.3 + array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 eslint: 8.57.1 @@ -17526,9 +18592,9 @@ packages: minimatch: 3.1.2 object.fromentries: 2.0.8 object.groupby: 1.0.3 - object.values: 1.2.1 + object.values: 1.2.0 semver: 6.3.1 - string.prototype.trimend: 1.0.9 + string.prototype.trimend: 1.0.8 tsconfig-paths: 3.15.0 transitivePeerDependencies: - eslint-import-resolver-typescript @@ -17551,7 +18617,7 @@ packages: array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 - array.prototype.flatmap: 1.3.3 + array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 eslint: 8.57.1 @@ -17563,9 +18629,9 @@ packages: minimatch: 3.1.2 object.fromentries: 2.0.8 object.groupby: 1.0.3 - object.values: 1.2.1 + object.values: 1.2.0 semver: 6.3.1 - string.prototype.trimend: 1.0.9 + string.prototype.trimend: 1.0.8 tsconfig-paths: 3.15.0 transitivePeerDependencies: - eslint-import-resolver-typescript @@ -17626,7 +18692,7 @@ packages: eslint: 8.57.1 dev: true - /eslint-plugin-jest@28.10.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.57.1)(jest@29.7.0)(typescript@5.4.5): + /eslint-plugin-jest@28.10.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.1)(jest@29.7.0)(typescript@5.4.5): resolution: {integrity: sha512-hyMWUxkBH99HpXT3p8hc7REbEZK3D+nk8vHXGgpB+XXsi0gO4PxMSP+pjfUzb67GnV9yawV9a53eUmcde1CCZA==} engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} peerDependencies: @@ -17639,10 +18705,10 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.1)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.1)(typescript@5.4.5) '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.4.5) eslint: 8.57.1 - jest: 29.7.0(@types/node@20.17.13)(ts-node@10.9.2) + jest: 29.7.0(@types/node@22.13.1)(ts-node@10.9.2) transitivePeerDependencies: - supports-color - typescript @@ -17708,7 +18774,7 @@ packages: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0)(eslint@8.57.1)(typescript@5.6.3) '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.6.3) eslint: 8.57.1 - jest: 29.7.0(@types/node@20.17.13)(ts-node@10.9.2) + jest: 29.7.0(@types/node@22.13.1)(ts-node@10.9.2) transitivePeerDependencies: - supports-color - typescript @@ -17722,7 +18788,7 @@ packages: dependencies: aria-query: 5.3.2 array-includes: 3.1.8 - array.prototype.flatmap: 1.3.3 + array.prototype.flatmap: 1.3.2 ast-types-flow: 0.0.8 axe-core: 4.10.2 axobject-query: 4.1.0 @@ -17734,7 +18800,7 @@ packages: language-tags: 1.0.9 minimatch: 3.1.2 object.fromentries: 2.0.8 - safe-regex-test: 1.1.0 + safe-regex-test: 1.0.3 string.prototype.includes: 2.0.1 dev: true @@ -17802,7 +18868,41 @@ packages: prettier-linter-helpers: 1.0.0 dev: true - /eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.10.0)(eslint@8.57.1)(prettier@2.8.8): + /eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.10.0)(eslint@8.57.1)(prettier@2.8.8): + resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} + engines: {node: '>=12.0.0'} + peerDependencies: + eslint: '>=7.28.0' + eslint-config-prettier: '*' + prettier: '>=2.0.0' + peerDependenciesMeta: + eslint-config-prettier: + optional: true + dependencies: + eslint: 8.57.1 + eslint-config-prettier: 8.10.0(eslint@8.57.1) + prettier: 2.8.8 + prettier-linter-helpers: 1.0.0 + dev: true + + /eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.10.0)(eslint@8.57.1)(prettier@3.5.0): + resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} + engines: {node: '>=12.0.0'} + peerDependencies: + eslint: '>=7.28.0' + eslint-config-prettier: '*' + prettier: '>=2.0.0' + peerDependenciesMeta: + eslint-config-prettier: + optional: true + dependencies: + eslint: 8.57.1 + eslint-config-prettier: 8.10.0(eslint@8.57.1) + prettier: 3.5.0 + prettier-linter-helpers: 1.0.0 + dev: true + + /eslint-plugin-prettier@4.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@2.8.8): resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} engines: {node: '>=12.0.0'} peerDependencies: @@ -17813,13 +18913,13 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 8.57.1 - eslint-config-prettier: 8.10.0(eslint@8.57.1) + eslint: 8.57.0 + eslint-config-prettier: 9.1.0(eslint@9.18.0) prettier: 2.8.8 prettier-linter-helpers: 1.0.0 dev: true - /eslint-plugin-prettier@4.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@2.8.8): + /eslint-plugin-prettier@4.2.1(eslint-config-prettier@9.1.0)(eslint@8.57.1)(prettier@2.8.8): resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} engines: {node: '>=12.0.0'} peerDependencies: @@ -17830,7 +18930,7 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 8.57.0 + eslint: 8.57.1 eslint-config-prettier: 9.1.0(eslint@9.18.0) prettier: 2.8.8 prettier-linter-helpers: 1.0.0 @@ -18183,7 +19283,7 @@ packages: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.4.0 + debug: 4.3.7 doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -18239,7 +19339,7 @@ packages: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.0 + debug: 4.3.7 escape-string-regexp: 4.0.0 eslint-scope: 8.2.0 eslint-visitor-keys: 4.2.0 @@ -18575,7 +19675,7 @@ packages: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.7 + micromatch: 4.0.8 dev: true /fast-glob@3.3.1: @@ -18888,7 +19988,7 @@ packages: '@babel/code-frame': 7.26.2 '@types/json-schema': 7.0.15 chalk: 4.1.2 - chokidar: 3.5.3 + chokidar: 3.6.0 cosmiconfig: 6.0.0 deepmerge: 4.3.1 eslint: 7.32.0 @@ -19014,6 +20114,16 @@ packages: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} dev: true + /function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + functions-have-names: 1.2.3 + dev: true + /function.prototype.name@1.1.8: resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} engines: {node: '>= 0.4'} @@ -19117,6 +20227,15 @@ packages: engines: {node: '>=16'} dev: true + /get-symbol-description@1.0.2: + resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + dev: true + /get-symbol-description@1.1.0: resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} engines: {node: '>= 0.4'} @@ -19243,7 +20362,7 @@ packages: engines: {node: '>= 0.4'} dependencies: define-properties: 1.2.1 - gopd: 1.2.0 + gopd: 1.0.1 dev: true /globby@10.0.2: @@ -19253,7 +20372,7 @@ packages: '@types/glob': 7.2.0 array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.3.1 + fast-glob: 3.3.3 glob: 7.2.3 ignore: 5.3.2 merge2: 1.4.1 @@ -19266,7 +20385,7 @@ packages: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.3.1 + fast-glob: 3.3.3 ignore: 5.3.2 merge2: 1.4.1 slash: 3.0.0 @@ -19489,7 +20608,7 @@ packages: he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.31.3 + terser: 5.37.0 dev: true /html-tags@2.0.0: @@ -19594,8 +20713,8 @@ packages: - supports-color dev: true - /http-proxy-middleware@2.0.6(@types/express@4.17.21)(debug@4.3.4): - resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} + /http-proxy-middleware@2.0.7(@types/express@4.17.21): + resolution: {integrity: sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==} engines: {node: '>=12.0.0'} peerDependencies: '@types/express': ^4.17.13 @@ -19604,16 +20723,16 @@ packages: optional: true dependencies: '@types/express': 4.17.21 - '@types/http-proxy': 1.17.14 - http-proxy: 1.18.1(debug@4.3.4) + '@types/http-proxy': 1.17.15 + http-proxy: 1.18.1 is-glob: 4.0.3 is-plain-obj: 3.0.0 - micromatch: 4.0.7 + micromatch: 4.0.8 transitivePeerDependencies: - debug dev: true - /http-proxy-middleware@2.0.7(@types/express@4.17.21): + /http-proxy-middleware@2.0.7(@types/express@4.17.21)(debug@4.3.4): resolution: {integrity: sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==} engines: {node: '>=12.0.0'} peerDependencies: @@ -19623,11 +20742,11 @@ packages: optional: true dependencies: '@types/express': 4.17.21 - '@types/http-proxy': 1.17.14 - http-proxy: 1.18.1 + '@types/http-proxy': 1.17.15 + http-proxy: 1.18.1(debug@4.3.4) is-glob: 4.0.3 is-plain-obj: 3.0.0 - micromatch: 4.0.7 + micromatch: 4.0.8 transitivePeerDependencies: - debug dev: true @@ -19993,6 +21112,7 @@ packages: /is-arrayish@0.3.2: resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + requiresBuild: true dev: true /is-async-function@2.1.1: @@ -20082,6 +21202,13 @@ packages: hasown: 2.0.2 dev: true + /is-data-view@1.0.1: + resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + engines: {node: '>= 0.4'} + dependencies: + is-typed-array: 1.1.13 + dev: true + /is-data-view@1.0.2: resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} engines: {node: '>= 0.4'} @@ -20207,6 +21334,11 @@ packages: resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} dev: true + /is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + dev: true + /is-network-error@1.1.0: resolution: {integrity: sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==} engines: {node: '>=16'} @@ -20379,6 +21511,13 @@ packages: text-extensions: 2.4.0 dev: true + /is-typed-array@1.1.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} + engines: {node: '>= 0.4'} + dependencies: + which-typed-array: 1.1.15 + dev: true + /is-typed-array@1.1.15: resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} engines: {node: '>= 0.4'} @@ -20400,6 +21539,12 @@ packages: engines: {node: '>= 0.4'} dev: true + /is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + dependencies: + call-bind: 1.0.7 + dev: true + /is-weakref@1.1.1: resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} engines: {node: '>= 0.4'} @@ -20473,25 +21618,12 @@ packages: /istanbul-lib-instrument@5.2.1: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} - dependencies: - '@babel/core': 7.26.0 - '@babel/parser': 7.24.8 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.0 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: true - - /istanbul-lib-instrument@6.0.1: - resolution: {integrity: sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==} - engines: {node: '>=10'} dependencies: '@babel/core': 7.26.0 '@babel/parser': 7.26.7 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 - semver: 7.7.1 + semver: 6.3.1 transitivePeerDependencies: - supports-color dev: true @@ -20678,6 +21810,34 @@ packages: - ts-node dev: true + /jest-cli@29.7.0(@types/node@22.13.1)(ts-node@10.9.2): + resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 29.7.0(ts-node@10.9.2) + '@jest/test-result': 29.7.0 + '@jest/types': 29.6.3 + chalk: 4.1.2 + create-jest: 29.7.0(@types/node@22.13.1)(ts-node@10.9.2) + exit: 0.1.2 + import-local: 3.1.0 + jest-config: 29.7.0(@types/node@22.13.1)(ts-node@10.9.2) + jest-util: 29.7.0 + jest-validate: 29.7.0 + yargs: 17.7.1 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + dev: true + /jest-config@29.7.0(@types/node@20.14.7)(ts-node@10.9.1): resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -20708,7 +21868,7 @@ packages: jest-runner: 29.7.0 jest-util: 29.7.0 jest-validate: 29.7.0 - micromatch: 4.0.7 + micromatch: 4.0.8 parse-json: 5.2.0 pretty-format: 29.7.0 slash: 3.0.0 @@ -20749,7 +21909,7 @@ packages: jest-runner: 29.7.0 jest-util: 29.7.0 jest-validate: 29.7.0 - micromatch: 4.0.7 + micromatch: 4.0.8 parse-json: 5.2.0 pretty-format: 29.7.0 slash: 3.0.0 @@ -20790,12 +21950,53 @@ packages: jest-runner: 29.7.0 jest-util: 29.7.0 jest-validate: 29.7.0 - micromatch: 4.0.7 + micromatch: 4.0.8 + parse-json: 5.2.0 + pretty-format: 29.7.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + ts-node: 10.9.2(@types/node@20.17.13)(typescript@5.7.3) + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + dev: true + + /jest-config@29.7.0(@types/node@22.13.1)(ts-node@10.9.2): + resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@types/node': '*' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + ts-node: + optional: true + dependencies: + '@babel/core': 7.26.0 + '@jest/test-sequencer': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 22.13.1 + babel-jest: 29.7.0(@babel/core@7.26.0) + chalk: 4.1.2 + ci-info: 3.8.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.7.0 + jest-environment-node: 29.7.0 + jest-get-type: 29.6.3 + jest-regex-util: 29.6.3 + jest-resolve: 29.7.0 + jest-runner: 29.7.0 + jest-util: 29.7.0 + jest-validate: 29.7.0 + micromatch: 4.0.8 parse-json: 5.2.0 pretty-format: 29.7.0 slash: 3.0.0 strip-json-comments: 3.1.1 - ts-node: 10.9.2(@types/node@20.17.13)(typescript@5.6.3) + ts-node: 10.9.2(@types/node@22.13.1)(typescript@5.6.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -20921,7 +22122,7 @@ packages: jest-serializer: 27.5.1 jest-util: 27.5.1 jest-worker: 27.5.1 - micromatch: 4.0.7 + micromatch: 4.0.8 walker: 1.0.8 optionalDependencies: fsevents: 2.3.3 @@ -20983,7 +22184,7 @@ packages: '@types/stack-utils': 2.0.1 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.7 + micromatch: 4.0.8 pretty-format: 28.1.3 slash: 3.0.0 stack-utils: 2.0.6 @@ -21025,7 +22226,7 @@ packages: jest-resolve: 29.7.0 dev: true - /jest-preset-angular@13.1.6(@angular-devkit/build-angular@19.1.5)(@angular/compiler-cli@19.1.4)(@angular/core@19.1.4)(@angular/platform-browser-dynamic@19.1.4)(@babel/core@7.26.0)(jest@29.7.0)(typescript@5.7.3): + /jest-preset-angular@13.1.6(@angular-devkit/build-angular@19.1.6)(@angular/compiler-cli@19.1.4)(@angular/core@19.1.4)(@angular/platform-browser-dynamic@19.1.4)(@babel/core@7.26.8)(jest@29.7.0)(typescript@5.7.3): resolution: {integrity: sha512-0pXSm6168Qn+qKp7DpzYoaIp0uyMHdQaWYVp8jlw7Mh+NEBtrBjKqts3kLeBHgAhGMQArp07S2IxZ6eCr8fc7Q==} engines: {node: ^14.15.0 || >=16.10.0} peerDependencies: @@ -21036,17 +22237,17 @@ packages: jest: ^29.0.0 typescript: '>=4.4' dependencies: - '@angular-devkit/build-angular': 19.1.5(@angular/compiler-cli@19.1.4)(@angular/compiler@19.1.4)(@types/node@20.17.13)(jest-environment-jsdom@29.7.0)(jest@29.7.0)(ng-packagr@16.2.3)(typescript@5.7.3)(vite@6.1.0) + '@angular-devkit/build-angular': 19.1.6(@angular/compiler-cli@19.1.4)(@angular/compiler@19.1.4)(@types/node@22.13.1)(jest-environment-jsdom@29.7.0)(jest@29.7.0)(ng-packagr@16.2.3)(typescript@5.7.3)(vite@6.1.0) '@angular/compiler-cli': 19.1.4(@angular/compiler@19.1.4)(typescript@5.7.3) '@angular/core': 19.1.4(rxjs@7.8.1)(zone.js@0.15.0) '@angular/platform-browser-dynamic': 19.1.4(@angular/common@19.1.4)(@angular/compiler@19.1.4)(@angular/core@19.1.4)(@angular/platform-browser@19.1.4) bs-logger: 0.2.6 esbuild-wasm: 0.23.0 - jest: 29.7.0(@types/node@20.17.13)(ts-node@10.9.2) + jest: 29.7.0(@types/node@22.13.1)(ts-node@10.9.2) jest-environment-jsdom: 29.7.0 jest-util: 29.7.0 pretty-format: 29.7.0 - ts-jest: 29.2.5(@babel/core@7.26.0)(esbuild@0.25.0)(jest@29.7.0)(typescript@5.7.3) + ts-jest: 29.1.5(@babel/core@7.26.8)(esbuild@0.25.0)(jest@29.7.0)(typescript@5.7.3) typescript: 5.7.3 optionalDependencies: esbuild: 0.25.0 @@ -21096,7 +22297,7 @@ packages: jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) jest-util: 29.7.0 jest-validate: 29.7.0 - resolve: 1.22.4 + resolve: 1.22.10 resolve.exports: 2.0.2 slash: 3.0.0 dev: true @@ -21182,7 +22383,7 @@ packages: '@babel/generator': 7.26.5 '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.26.0) '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.26.0) - '@babel/types': 7.26.7 + '@babel/types': 7.25.8 '@jest/expect-utils': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 @@ -21377,6 +22578,27 @@ packages: - ts-node dev: true + /jest@29.7.0(@types/node@22.13.1)(ts-node@10.9.2): + resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 29.7.0(ts-node@10.9.2) + '@jest/types': 29.6.3 + import-local: 3.1.0 + jest-cli: 29.7.0(@types/node@22.13.1)(ts-node@10.9.2) + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + dev: true + /jiti@1.21.0: resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} hasBin: true @@ -21489,7 +22711,6 @@ packages: resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} engines: {node: '>=6'} hasBin: true - dev: true /jsesc@3.1.0: resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} @@ -21550,7 +22771,7 @@ packages: resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.12.1 + acorn: 8.14.0 eslint-visitor-keys: 3.4.3 espree: 9.6.1 semver: 7.7.1 @@ -21595,8 +22816,8 @@ packages: dependencies: array-includes: 3.1.8 array.prototype.flat: 1.3.2 - object.assign: 4.1.7 - object.values: 1.2.1 + object.assign: 4.1.5 + object.values: 1.2.0 dev: true /jwt-decode@4.0.0: @@ -22768,7 +23989,7 @@ packages: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} dev: true - /next@14.2.10(@babel/core@7.26.0)(react-dom@18.3.1)(react@18.3.1): + /next@14.2.10(@babel/core@7.26.8)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-sDDExXnh33cY3RkS9JuFEKaS4HmlWmDKP1VJioucCG6z5KuA008DPsDZOzi8UfqEk3Ii+2NCQSJrfbEWtZZfww==} engines: {node: '>=18.17.0'} hasBin: true @@ -22794,7 +24015,7 @@ packages: postcss: 8.4.31 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - styled-jsx: 5.1.1(@babel/core@7.26.0)(react@18.3.1) + styled-jsx: 5.1.1(@babel/core@7.26.8)(react@18.3.1) optionalDependencies: '@next/swc-darwin-arm64': 14.2.10 '@next/swc-darwin-x64': 14.2.10 @@ -22810,7 +24031,7 @@ packages: - babel-plugin-macros dev: false - /next@14.2.21(@babel/core@7.26.0)(react-dom@18.3.1)(react@18.3.1): + /next@14.2.21(@babel/core@7.26.8)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-rZmLwucLHr3/zfDMYbJXbw0ZeoBpirxkXuvsJbk7UPorvPYZhP7vq7aHbKnU7dQNCYIimRrbB2pp3xmf+wsYUg==} engines: {node: '>=18.17.0'} hasBin: true @@ -22836,7 +24057,7 @@ packages: postcss: 8.4.31 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - styled-jsx: 5.1.1(@babel/core@7.26.0)(react@18.3.1) + styled-jsx: 5.1.1(@babel/core@7.26.8)(react@18.3.1) optionalDependencies: '@next/swc-darwin-arm64': 14.2.21 '@next/swc-darwin-x64': 14.2.21 @@ -22877,7 +24098,7 @@ packages: '@swc/counter': 0.1.3 '@swc/helpers': 0.5.15 busboy: 1.6.0 - caniuse-lite: 1.0.30001697 + caniuse-lite: 1.0.30001696 postcss: 8.4.31 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -22955,6 +24176,50 @@ packages: esbuild: 0.19.12 dev: true + /ng-packagr@16.2.3(@angular/compiler-cli@19.1.4)(tslib@2.8.1)(typescript@5.7.3): + resolution: {integrity: sha512-VTJ7Qtge52+1subkhmF5nOqLNbVutA8/igJ0A5vH6Mgpb8Z/3HeZomtD1SHzZF5Dqp+p+QPHE548FWYu1MdMSQ==} + engines: {node: ^16.14.0 || >=18.10.0} + hasBin: true + peerDependencies: + '@angular/compiler-cli': ^16.0.0 || ^16.2.0-next.0 + tailwindcss: ^2.0.0 || ^3.0.0 + tslib: ^2.3.0 + typescript: '>=4.9.3 <5.2' + peerDependenciesMeta: + tailwindcss: + optional: true + dependencies: + '@angular/compiler-cli': 19.1.4(@angular/compiler@19.1.4)(typescript@5.7.3) + '@rollup/plugin-json': 6.1.0(rollup@3.29.4) + '@rollup/plugin-node-resolve': 15.2.3(rollup@3.29.4) + ajv: 8.12.0 + ansi-colors: 4.1.3 + autoprefixer: 10.4.19(postcss@8.4.39) + browserslist: 4.23.2 + cacache: 18.0.4 + chokidar: 3.5.3 + commander: 11.1.0 + convert-source-map: 2.0.0 + dependency-graph: 0.11.0 + esbuild-wasm: 0.19.12 + fast-glob: 3.3.1 + find-cache-dir: 3.3.2 + injection-js: 2.4.0 + jsonc-parser: 3.2.0 + less: 4.2.0 + ora: 5.4.1 + piscina: 4.6.1 + postcss: 8.4.39 + postcss-url: 10.1.3(postcss@8.4.39) + rollup: 3.29.4 + rxjs: 7.8.1 + sass: 1.77.8 + tslib: 2.8.1 + typescript: 5.7.3 + optionalDependencies: + esbuild: 0.19.12 + dev: true + /ngx-deploy-npm@8.0.1(@nx/devkit@18.3.5)(tslib@2.8.1): resolution: {integrity: sha512-JVgC7OYaa7oqvuVFkm7W+LJ+8+ihmr09NdmIVBcuUAKMzG2rvsnFGc7ymHQJ4RBK2iRVV4oOHtsaruqCBIHprA==} engines: {node: '>=18.0.0'} @@ -23095,7 +24360,7 @@ packages: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.4 + resolve: 1.22.10 semver: 5.7.1 validate-npm-package-license: 3.0.4 dev: true @@ -23105,7 +24370,7 @@ packages: engines: {node: ^16.14.0 || >=18.0.0} dependencies: hosted-git-info: 7.0.1 - is-core-module: 2.13.1 + is-core-module: 2.16.1 semver: 7.7.1 validate-npm-package-license: 3.0.4 dev: true @@ -23419,19 +24684,28 @@ packages: resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.8 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.9 - es-object-atoms: 1.1.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 dev: true /object.groupby@1.0.3: resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.8 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.9 + es-abstract: 1.23.3 + dev: true + + /object.values@1.2.0: + resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 dev: true /object.values@1.2.1: @@ -24785,6 +26059,12 @@ packages: hasBin: true dev: true + /prettier@3.5.0: + resolution: {integrity: sha512-quyMrVt6svPS7CjQ9gKb3GLEX/rl3BCL2oa/QkNcXv4YNVBC9olt3s+H7ukto06q7B1Qz46PbrKLO34PR6vXcA==} + engines: {node: '>=14'} + hasBin: true + dev: true + /pretty-error@4.0.0: resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} dependencies: @@ -25096,7 +26376,7 @@ packages: peerDependencies: react: '>=16.13.1' dependencies: - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.26.0 react: 18.3.1 dev: true @@ -25279,6 +26559,10 @@ packages: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} dev: true + /regenerator-runtime@0.14.0: + resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} + dev: true + /regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} dev: true @@ -25286,7 +26570,7 @@ packages: /regenerator-transform@0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: - '@babel/runtime': 7.26.7 + '@babel/runtime': 7.26.0 dev: true /regex-parser@2.3.0: @@ -25487,7 +26771,7 @@ packages: resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} hasBin: true dependencies: - is-core-module: 2.13.1 + is-core-module: 2.16.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 dev: true @@ -25606,7 +26890,7 @@ packages: semver: 5.7.1 dev: true - /rollup-plugin-auto-external@2.0.0(rollup@4.34.6): + /rollup-plugin-auto-external@2.0.0(rollup@4.22.4): resolution: {integrity: sha512-HQM3ZkZYfSam1uoZtAB9sK26EiAsfs1phrkf91c/YX+S07wugyRXSigBxrIwiLr5EPPilKYmoMxsrnlGBsXnuQ==} engines: {node: '>=6'} peerDependencies: @@ -25614,7 +26898,7 @@ packages: dependencies: builtins: 2.0.1 read-pkg: 3.0.0 - rollup: 4.34.6 + rollup: 4.22.4 safe-resolve: 1.0.0 semver: 5.7.1 dev: true @@ -25637,7 +26921,7 @@ packages: - utf-8-validate dev: true - /rollup-plugin-commonjs@10.1.0(rollup@4.14.3): + /rollup-plugin-commonjs@10.1.0(rollup@4.22.4): resolution: {integrity: sha512-jlXbjZSQg8EIeAAvepNwhJj++qJWNJw1Cl0YnOqKtP5Djx+fFGkp3WRh+W0ASCaFG5w1jhmzDxgu3SJuVxPF4Q==} deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-commonjs. peerDependencies: @@ -25647,7 +26931,7 @@ packages: is-reference: 1.2.1 magic-string: 0.25.9 resolve: 1.22.4 - rollup: 4.14.3 + rollup: 4.22.4 rollup-pluginutils: 2.8.2 dev: true @@ -25663,7 +26947,7 @@ packages: rollup: 4.14.3 dev: true - /rollup-plugin-define@1.0.1(rollup@4.34.6): + /rollup-plugin-define@1.0.1(rollup@4.22.4): resolution: {integrity: sha512-SM/CKFpLvWq5xBEf84ff/ooT3KodXPVITCkRliyNccuq8SZMpzthN/Bp7JkWScbGTX5lo1SF3cjxKKDjnnFCuA==} peerDependencies: rollup: ^1.20.0 || ^2.0.0 @@ -25672,7 +26956,7 @@ packages: ast-matcher: 1.1.1 escape-string-regexp: 4.0.0 magic-string: 0.25.9 - rollup: 4.34.6 + rollup: 4.22.4 dev: true /rollup-plugin-delete@2.0.0: @@ -25682,29 +26966,18 @@ packages: del: 5.1.0 dev: true - /rollup-plugin-dotenv@0.5.1(rollup@4.14.3): - resolution: {integrity: sha512-ARUPDmeKAw3niZ2Ajv0qKNRryIWFMW796oJSS1hNdop3HF63Vljio/QRmG6ob0aQzzVUrFq6vW1p4jOE6xDQrQ==} - engines: {node: '>=14'} - peerDependencies: - rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 - dependencies: - '@rollup/plugin-replace': 5.0.7(rollup@4.14.3) - dotenv: 16.3.1 - rollup: 4.14.3 - dev: true - - /rollup-plugin-dotenv@0.5.1(rollup@4.34.6): + /rollup-plugin-dotenv@0.5.1(rollup@4.22.4): resolution: {integrity: sha512-ARUPDmeKAw3niZ2Ajv0qKNRryIWFMW796oJSS1hNdop3HF63Vljio/QRmG6ob0aQzzVUrFq6vW1p4jOE6xDQrQ==} engines: {node: '>=14'} peerDependencies: rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 dependencies: - '@rollup/plugin-replace': 5.0.7(rollup@4.34.6) + '@rollup/plugin-replace': 5.0.7(rollup@4.22.4) dotenv: 16.3.1 - rollup: 4.34.6 + rollup: 4.22.4 dev: true - /rollup-plugin-dts@4.2.3(rollup@4.14.3)(typescript@5.4.5): + /rollup-plugin-dts@4.2.3(rollup@4.22.4)(typescript@5.4.5): resolution: {integrity: sha512-jlcpItqM2efqfIiKzDB/IKOS9E9fDvbkJSGw5GtK/PqPGS9eC3R3JKyw2VvpTktZA+TNgJRMu1NTv244aTUzzQ==} engines: {node: '>=v12.22.12'} peerDependencies: @@ -25712,7 +26985,7 @@ packages: typescript: ^4.1 dependencies: magic-string: 0.26.7 - rollup: 4.14.3 + rollup: 4.22.4 typescript: 5.4.5 optionalDependencies: '@babel/code-frame': 7.26.2 @@ -25774,21 +27047,21 @@ packages: '@babel/code-frame': 7.26.2 dev: true - /rollup-plugin-dts@6.1.1(rollup@4.14.3)(typescript@5.4.5): - resolution: {integrity: sha512-aSHRcJ6KG2IHIioYlvAOcEq6U99sVtqDDKVhnwt70rW6tsz3tv5OSjEiWcgzfsHdLyGXZ/3b/7b/+Za3Y6r1XA==} + /rollup-plugin-dts@6.1.0(rollup@4.22.4)(typescript@5.4.5): + resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==} engines: {node: '>=16'} peerDependencies: rollup: ^3.29.4 || ^4 typescript: ^4.5 || ^5.0 dependencies: - magic-string: 0.30.17 - rollup: 4.14.3 + magic-string: 0.30.12 + rollup: 4.22.4 typescript: 5.4.5 optionalDependencies: '@babel/code-frame': 7.26.2 dev: true - /rollup-plugin-dts@6.1.1(rollup@4.34.6)(typescript@5.4.5): + /rollup-plugin-dts@6.1.1(rollup@4.22.4)(typescript@5.4.5): resolution: {integrity: sha512-aSHRcJ6KG2IHIioYlvAOcEq6U99sVtqDDKVhnwt70rW6tsz3tv5OSjEiWcgzfsHdLyGXZ/3b/7b/+Za3Y6r1XA==} engines: {node: '>=16'} peerDependencies: @@ -25796,7 +27069,7 @@ packages: typescript: ^4.5 || ^5.0 dependencies: magic-string: 0.30.17 - rollup: 4.34.6 + rollup: 4.22.4 typescript: 5.4.5 optionalDependencies: '@babel/code-frame': 7.26.2 @@ -25863,18 +27136,7 @@ packages: rollup: 4.13.0 dev: true - /rollup-plugin-no-emit@1.2.1(rollup@4.14.3): - resolution: {integrity: sha512-ncXgtJg84pVe1K/HAzThMO0w8ttxKU/mqOyUruXNdZaFFisAOF9lQY7yjdTGw536mk754tcRWP43bG6/keyQhQ==} - peerDependencies: - rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - rollup: 4.14.3 - dev: true - - /rollup-plugin-no-emit@1.2.1(rollup@4.34.6): + /rollup-plugin-no-emit@1.2.1(rollup@4.22.4): resolution: {integrity: sha512-ncXgtJg84pVe1K/HAzThMO0w8ttxKU/mqOyUruXNdZaFFisAOF9lQY7yjdTGw536mk754tcRWP43bG6/keyQhQ==} peerDependencies: rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 @@ -25882,17 +27144,17 @@ packages: rollup: optional: true dependencies: - rollup: 4.34.6 + rollup: 4.22.4 dev: true - /rollup-plugin-preserve-directives@0.4.0(rollup@4.34.6): + /rollup-plugin-preserve-directives@0.4.0(rollup@4.22.4): resolution: {integrity: sha512-gx4nBxYm5BysmEQS+e2tAMrtFxrGvk+Pe5ppafRibQi0zlW7VYAbEGk6IKDw9sJGPdFWgVTE0o4BU4cdG0Fylg==} peerDependencies: rollup: 2.x || 3.x || 4.x dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.34.6) + '@rollup/pluginutils': 5.1.0(rollup@4.22.4) magic-string: 0.30.10 - rollup: 4.34.6 + rollup: 4.22.4 dev: true /rollup-plugin-serve@2.0.3: @@ -25919,7 +27181,17 @@ packages: rollup: 4.14.3 dev: true - /rollup-plugin-swc3@0.12.1(@swc/core@1.7.1)(rollup@4.34.6): + /rollup-plugin-svg-import@3.0.0(rollup@4.22.4): + resolution: {integrity: sha512-5fUESTM5hdqJojrwO53JQUO7NespLNx4iLeMsToQfuaGGqGT5sz85Ns5gCDNxLO6yBPbn7p0A/6YA+Rq3clg4Q==} + engines: {node: '>=18.0.0'} + peerDependencies: + rollup: ^3.0.0||^4.0.0 + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.22.4) + rollup: 4.22.4 + dev: true + + /rollup-plugin-swc3@0.12.1(@swc/core@1.7.1)(rollup@4.22.4): resolution: {integrity: sha512-iNV1T432XvyejZ19/41C2gLbXxEOiiJynPPAFF0WzwwFT5FHx7SstAp0yjJRLyrbZjfIhoWJVl3hX3c3Stv/GQ==} engines: {node: '>=16'} peerDependencies: @@ -25928,11 +27200,11 @@ packages: dependencies: '@dual-bundle/import-meta-resolve': 4.1.0 '@fastify/deepmerge': 2.0.2 - '@rollup/pluginutils': 5.1.4(rollup@4.34.6) + '@rollup/pluginutils': 5.1.4(rollup@4.22.4) '@swc/core': 1.7.1 get-tsconfig: 4.10.0 - rollup: 4.34.6 - rollup-preserve-directives: 1.1.3(rollup@4.34.6) + rollup: 4.22.4 + rollup-preserve-directives: 1.1.3(rollup@4.22.4) dev: true /rollup-plugin-terser@7.0.2(rollup@4.14.3): @@ -25948,7 +27220,7 @@ packages: terser: 5.31.3 dev: true - /rollup-plugin-terser@7.0.2(rollup@4.34.6): + /rollup-plugin-terser@7.0.2(rollup@4.22.4): resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser peerDependencies: @@ -25956,12 +27228,12 @@ packages: dependencies: '@babel/code-frame': 7.24.7 jest-worker: 26.6.2 - rollup: 4.34.6 + rollup: 4.22.4 serialize-javascript: 4.0.0 terser: 5.31.3 dev: true - /rollup-plugin-typescript2@0.36.0(rollup@4.14.3)(typescript@5.4.5): + /rollup-plugin-typescript2@0.36.0(rollup@4.22.4)(typescript@5.4.5): resolution: {integrity: sha512-NB2CSQDxSe9+Oe2ahZbf+B4bh7pHwjV5L+RSYpCu7Q5ROuN94F9b6ioWwKfz3ueL3KTtmX4o2MUH2cgHDIEUsw==} peerDependencies: rollup: '>=1.26.3' @@ -25970,8 +27242,8 @@ packages: '@rollup/pluginutils': 4.2.1 find-cache-dir: 3.3.2 fs-extra: 10.1.0 - rollup: 4.14.3 - semver: 7.7.1 + rollup: 4.22.4 + semver: 7.7.0 tslib: 2.8.1 typescript: 5.4.5 dev: true @@ -25995,22 +27267,22 @@ packages: estree-walker: 0.6.1 dev: true - /rollup-preserve-directives@1.1.3(rollup@4.34.6): + /rollup-preserve-directives@1.1.3(rollup@4.22.4): resolution: {integrity: sha512-oXqxd6ZzkoQej8Qt0k+S/yvO2+S4CEVEVv2g85oL15o0cjAKTKEuo2MzyA8FcsBBXbtytBzBMFAbhvQg4YyPUQ==} peerDependencies: rollup: ^2.0.0 || ^3.0.0 || ^4.0.0 dependencies: magic-string: 0.30.17 - rollup: 4.34.6 + rollup: 4.22.4 dev: true - /rollup-swc-preserve-directives@0.7.0(rollup@4.34.6): + /rollup-swc-preserve-directives@0.7.0(rollup@4.22.4): resolution: {integrity: sha512-CdIBzkTMPE2uiR9y4s2NmLkcCL+QzUZWE9JjJROkgdUcs3LFNOGK7DMX0/Gau4Ds59+C/PrMLdSG+sTolbEqbg==} peerDependencies: rollup: ^2.0.0 || ^3.0.0 || ^4.0.0 dependencies: '@napi-rs/magic-string': 0.3.4 - rollup: 4.34.6 + rollup: 4.22.4 dev: true /rollup@3.29.4: @@ -26070,6 +27342,32 @@ packages: fsevents: 2.3.3 dev: true + /rollup@4.22.4: + resolution: {integrity: sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.22.4 + '@rollup/rollup-android-arm64': 4.22.4 + '@rollup/rollup-darwin-arm64': 4.22.4 + '@rollup/rollup-darwin-x64': 4.22.4 + '@rollup/rollup-linux-arm-gnueabihf': 4.22.4 + '@rollup/rollup-linux-arm-musleabihf': 4.22.4 + '@rollup/rollup-linux-arm64-gnu': 4.22.4 + '@rollup/rollup-linux-arm64-musl': 4.22.4 + '@rollup/rollup-linux-powerpc64le-gnu': 4.22.4 + '@rollup/rollup-linux-riscv64-gnu': 4.22.4 + '@rollup/rollup-linux-s390x-gnu': 4.22.4 + '@rollup/rollup-linux-x64-gnu': 4.22.4 + '@rollup/rollup-linux-x64-musl': 4.22.4 + '@rollup/rollup-win32-arm64-msvc': 4.22.4 + '@rollup/rollup-win32-ia32-msvc': 4.22.4 + '@rollup/rollup-win32-x64-msvc': 4.22.4 + fsevents: 2.3.3 + dev: true + /rollup@4.30.1: resolution: {integrity: sha512-mlJ4glW020fPuLi7DkM/lN97mYEZGWeqBnrljzN0gs7GLctqX3lNWxKQ7Gl712UAX+6fog/L3jh4gb7R6aVi3w==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -26099,6 +27397,35 @@ packages: fsevents: 2.3.3 dev: true + /rollup@4.34.4: + resolution: {integrity: sha512-spF66xoyD7rz3o08sHP7wogp1gZ6itSq22SGa/IZTcUDXDlOyrShwMwkVSB+BUxFRZZCUYqdb3KWDEOMVQZxuw==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.6 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.34.4 + '@rollup/rollup-android-arm64': 4.34.4 + '@rollup/rollup-darwin-arm64': 4.34.4 + '@rollup/rollup-darwin-x64': 4.34.4 + '@rollup/rollup-freebsd-arm64': 4.34.4 + '@rollup/rollup-freebsd-x64': 4.34.4 + '@rollup/rollup-linux-arm-gnueabihf': 4.34.4 + '@rollup/rollup-linux-arm-musleabihf': 4.34.4 + '@rollup/rollup-linux-arm64-gnu': 4.34.4 + '@rollup/rollup-linux-arm64-musl': 4.34.4 + '@rollup/rollup-linux-loongarch64-gnu': 4.34.4 + '@rollup/rollup-linux-powerpc64le-gnu': 4.34.4 + '@rollup/rollup-linux-riscv64-gnu': 4.34.4 + '@rollup/rollup-linux-s390x-gnu': 4.34.4 + '@rollup/rollup-linux-x64-gnu': 4.34.4 + '@rollup/rollup-linux-x64-musl': 4.34.4 + '@rollup/rollup-win32-arm64-msvc': 4.34.4 + '@rollup/rollup-win32-ia32-msvc': 4.34.4 + '@rollup/rollup-win32-x64-msvc': 4.34.4 + fsevents: 2.3.3 + dev: true + /rollup@4.34.6: resolution: {integrity: sha512-wc2cBWqJgkU3Iz5oztRkQbfVkbxoz5EhnCGOrnJvnLnQ7O0WhQUYyv18qQI79O8L7DdHrrlJNeCHd4VGpnaXKQ==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -26154,6 +27481,16 @@ packages: tslib: 2.8.1 dev: true + /safe-array-concat@1.1.2: + resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} + engines: {node: '>=0.4'} + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + has-symbols: 1.0.3 + isarray: 2.0.5 + dev: true + /safe-array-concat@1.1.3: resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} engines: {node: '>=0.4'} @@ -26181,6 +27518,15 @@ packages: isarray: 2.0.5 dev: true + /safe-regex-test@1.0.3: + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-regex: 1.1.4 + dev: true + /safe-regex-test@1.1.0: resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} engines: {node: '>= 0.4'} @@ -26229,7 +27575,7 @@ packages: engines: {node: '>=14.0.0'} hasBin: true dependencies: - chokidar: 3.5.3 + chokidar: 3.6.0 immutable: 4.3.7 source-map-js: 1.2.0 dev: true @@ -26300,9 +27646,9 @@ packages: engines: {node: '>= 12.13.0'} dependencies: '@types/json-schema': 7.0.15 - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - ajv-keywords: 5.1.0(ajv@8.12.0) + ajv: 8.17.1 + ajv-formats: 2.1.1(ajv@8.17.1) + ajv-keywords: 5.1.0(ajv@8.17.1) dev: true /secure-compare@3.0.1: @@ -27141,9 +28487,9 @@ packages: resolution: {integrity: sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.8 + call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.23.9 + es-abstract: 1.23.3 dev: true /string.prototype.matchall@4.0.12: @@ -27185,6 +28531,24 @@ packages: has-property-descriptors: 1.0.2 dev: true + /string.prototype.trim@1.2.9: + resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + dev: true + + /string.prototype.trimend@1.0.8: + resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + dev: true + /string.prototype.trimend@1.0.9: resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} engines: {node: '>= 0.4'} @@ -27199,9 +28563,9 @@ packages: resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.8 + call-bind: 1.0.7 define-properties: 1.2.1 - es-object-atoms: 1.1.1 + es-object-atoms: 1.0.0 dev: true /string_decoder@1.1.1: @@ -27294,7 +28658,7 @@ packages: through: 2.3.8 dev: true - /styled-jsx@5.1.1(@babel/core@7.26.0)(react@18.3.1): + /styled-jsx@5.1.1(@babel/core@7.26.8)(react@18.3.1): resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: @@ -27307,7 +28671,7 @@ packages: babel-plugin-macros: optional: true dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.8 client-only: 0.0.1 react: 18.3.1 dev: false @@ -27493,8 +28857,8 @@ packages: esbuild: 0.24.2 jest-worker: 27.5.1 schema-utils: 3.3.0 - serialize-javascript: 6.0.1 - terser: 5.31.3 + serialize-javascript: 6.0.2 + terser: 5.37.0 webpack: 5.97.1(esbuild@0.24.2) dev: true @@ -27518,7 +28882,7 @@ packages: jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.1 - terser: 5.31.3 + terser: 5.37.0 webpack: 5.93.0 dev: true @@ -27550,7 +28914,7 @@ packages: hasBin: true dependencies: '@jridgewell/source-map': 0.3.3 - acorn: 8.12.1 + acorn: 8.14.0 commander: 2.20.3 source-map-support: 0.5.21 dev: true @@ -27624,13 +28988,6 @@ packages: os-tmpdir: 1.0.2 dev: true - /tmp@0.2.1: - resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} - engines: {node: '>=8.17.0'} - dependencies: - rimraf: 3.0.2 - dev: true - /tmp@0.2.3: resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} engines: {node: '>=14.14'} @@ -27757,7 +29114,7 @@ packages: typescript: 5.7.3 dev: true - /ts-jest@27.1.5(@babel/core@7.26.0)(@types/jest@27.5.2)(babel-jest@27.5.1)(jest@29.7.0)(typescript@5.4.5): + /ts-jest@27.1.5(@babel/core@7.26.8)(@types/jest@27.5.2)(babel-jest@27.5.1)(jest@29.7.0)(typescript@5.4.5): resolution: {integrity: sha512-Xv6jBQPoBEvBq/5i2TeSG9tt/nqkbpcurrEG1b+2yfBrcJelOZF9Ml6dmyMh7bcW9JyFbRYpR5rxROSlBLTZHA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} hasBin: true @@ -27778,9 +29135,9 @@ packages: esbuild: optional: true dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.8 '@types/jest': 27.5.2 - babel-jest: 27.5.1(@babel/core@7.26.0) + babel-jest: 27.5.1(@babel/core@7.26.8) bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 jest: 29.7.0(@types/node@20.17.13)(ts-node@10.9.2) @@ -27793,7 +29150,7 @@ packages: yargs-parser: 20.2.9 dev: true - /ts-jest@29.1.2(@babel/core@7.26.0)(esbuild@0.25.0)(jest@29.7.0)(typescript@5.4.5): + /ts-jest@29.1.2(@babel/core@7.26.8)(esbuild@0.25.0)(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 @@ -27814,7 +29171,7 @@ packages: esbuild: optional: true dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.8 bs-logger: 0.2.6 esbuild: 0.25.0 fast-json-stable-stringify: 2.1.0 @@ -27866,7 +29223,7 @@ packages: yargs-parser: 21.1.1 dev: true - /ts-jest@29.1.5(@babel/core@7.26.0)(esbuild@0.25.0)(jest@29.7.0)(typescript@5.4.5): + /ts-jest@29.1.5(@babel/core@7.26.8)(esbuild@0.25.0)(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 @@ -27890,7 +29247,7 @@ packages: esbuild: optional: true dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.8 bs-logger: 0.2.6 esbuild: 0.25.0 fast-json-stable-stringify: 2.1.0 @@ -27904,7 +29261,7 @@ packages: yargs-parser: 21.1.1 dev: true - /ts-jest@29.1.5(@babel/core@7.26.0)(jest@29.7.0)(typescript@5.5.4): + /ts-jest@29.1.5(@babel/core@7.26.8)(esbuild@0.25.0)(jest@29.7.0)(typescript@5.7.3): resolution: {integrity: sha512-UuClSYxM7byvvYfyWdFI+/2UxMmwNyJb0NPkZPQE2hew3RurV7l7zURgOHAd/1I1ZdPpe3GUsXNXAcN8TFKSIg==} engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} hasBin: true @@ -27928,7 +29285,45 @@ packages: esbuild: optional: true dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.8 + bs-logger: 0.2.6 + esbuild: 0.25.0 + fast-json-stable-stringify: 2.1.0 + jest: 29.7.0(@types/node@22.13.1)(ts-node@10.9.2) + jest-util: 29.7.0 + json5: 2.2.3 + lodash.memoize: 4.1.2 + make-error: 1.3.6 + semver: 7.6.0 + typescript: 5.7.3 + yargs-parser: 21.1.1 + dev: true + + /ts-jest@29.1.5(@babel/core@7.26.8)(jest@29.7.0)(typescript@5.5.4): + resolution: {integrity: sha512-UuClSYxM7byvvYfyWdFI+/2UxMmwNyJb0NPkZPQE2hew3RurV7l7zURgOHAd/1I1ZdPpe3GUsXNXAcN8TFKSIg==} + engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@babel/core': '>=7.0.0-beta.0 <8' + '@jest/transform': ^29.0.0 + '@jest/types': ^29.0.0 + babel-jest: ^29.0.0 + esbuild: '*' + jest: ^29.0.0 + typescript: '>=4.3 <6' + peerDependenciesMeta: + '@babel/core': + optional: true + '@jest/transform': + optional: true + '@jest/types': + optional: true + babel-jest: + optional: true + esbuild: + optional: true + dependencies: + '@babel/core': 7.26.8 bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 jest: 29.7.0(@types/node@20.17.13)(ts-node@10.9.2) @@ -27941,7 +29336,7 @@ packages: yargs-parser: 21.1.1 dev: true - /ts-jest@29.1.5(@babel/core@7.26.0)(jest@29.7.0)(typescript@5.6.3): + /ts-jest@29.1.5(@babel/core@7.26.8)(jest@29.7.0)(typescript@5.6.3): resolution: {integrity: sha512-UuClSYxM7byvvYfyWdFI+/2UxMmwNyJb0NPkZPQE2hew3RurV7l7zURgOHAd/1I1ZdPpe3GUsXNXAcN8TFKSIg==} engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} hasBin: true @@ -27965,10 +29360,10 @@ packages: esbuild: optional: true dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.8 bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@20.17.13)(ts-node@10.9.2) + jest: 29.7.0(@types/node@22.13.1)(ts-node@10.9.2) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -27978,7 +29373,7 @@ packages: yargs-parser: 21.1.1 dev: true - /ts-jest@29.2.5(@babel/core@7.26.0)(esbuild@0.25.0)(jest@29.7.0)(typescript@5.7.3): + /ts-jest@29.2.5(@babel/core@7.26.8)(jest@29.7.0)(typescript@5.7.3): resolution: {integrity: sha512-KD8zB2aAZrcKIdGk4OwpJggeLcH1FgrICqDSROWqlnJXGCXK4Mn6FcdK2B6670Xr73lHMG1kHw8R87A0ecZ+vA==} engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} hasBin: true @@ -28002,17 +29397,16 @@ packages: esbuild: optional: true dependencies: - '@babel/core': 7.26.0 + '@babel/core': 7.26.8 bs-logger: 0.2.6 ejs: 3.1.10 - esbuild: 0.25.0 fast-json-stable-stringify: 2.1.0 jest: 29.7.0(@types/node@20.17.13)(ts-node@10.9.2) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 - semver: 7.7.1 + semver: 7.7.0 typescript: 5.7.3 yargs-parser: 21.1.1 dev: true @@ -28126,7 +29520,7 @@ packages: yn: 3.1.1 dev: true - /ts-node@10.9.2(@swc/core@1.7.1)(@types/node@20.17.13)(typescript@5.4.5): + /ts-node@10.9.2(@swc/core@1.7.1)(@types/node@22.13.1)(typescript@5.4.5): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -28146,7 +29540,7 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.3 - '@types/node': 20.17.13 + '@types/node': 22.13.1 acorn: 8.12.1 acorn-walk: 8.2.0 arg: 4.1.3 @@ -28158,7 +29552,7 @@ packages: yn: 3.1.1 dev: true - /ts-node@10.9.2(@types/node@20.17.13)(typescript@5.5.4): + /ts-node@10.9.2(@types/node@20.17.13)(typescript@5.4.5): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -28184,12 +29578,12 @@ packages: create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.5.4 + typescript: 5.4.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: true - /ts-node@10.9.2(@types/node@20.17.13)(typescript@5.6.3): + /ts-node@10.9.2(@types/node@20.17.13)(typescript@5.5.4): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -28215,7 +29609,7 @@ packages: create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.6.3 + typescript: 5.5.4 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: true @@ -28251,6 +29645,37 @@ packages: yn: 3.1.1 dev: true + /ts-node@10.9.2(@types/node@22.13.1)(typescript@5.6.3): + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.9 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.3 + '@types/node': 22.13.1 + acorn: 8.12.1 + acorn-walk: 8.2.0 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.6.3 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + dev: true + /tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} dependencies: @@ -28376,6 +29801,15 @@ packages: mime-types: 2.1.35 dev: true + /typed-array-buffer@1.0.2: + resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-typed-array: 1.1.13 + dev: true + /typed-array-buffer@1.0.3: resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} engines: {node: '>= 0.4'} @@ -28385,6 +29819,17 @@ packages: is-typed-array: 1.1.15 dev: true + /typed-array-byte-length@1.0.1: + resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + dev: true + /typed-array-byte-length@1.0.3: resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} engines: {node: '>= 0.4'} @@ -28396,6 +29841,18 @@ packages: is-typed-array: 1.1.15 dev: true + /typed-array-byte-offset@1.0.2: + resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + dev: true + /typed-array-byte-offset@1.0.4: resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} engines: {node: '>= 0.4'} @@ -28409,6 +29866,18 @@ packages: reflect.getprototypeof: 1.0.10 dev: true + /typed-array-length@1.0.6: + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + possible-typed-array-names: 1.0.0 + dev: true + /typed-array-length@1.0.7: resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} engines: {node: '>= 0.4'} @@ -28471,6 +29940,15 @@ packages: dev: true optional: true + /unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + dependencies: + call-bind: 1.0.7 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + dev: true + /unbox-primitive@1.1.0: resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} engines: {node: '>= 0.4'} @@ -28489,6 +29967,10 @@ packages: resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} dev: true + /undici-types@6.20.0: + resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} + dev: true + /unicode-canonical-property-names-ecmascript@2.0.0: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} engines: {node: '>=4'} @@ -28594,8 +30076,8 @@ packages: picocolors: 1.1.1 dev: true - /update-browserslist-db@1.1.2(browserslist@4.24.4): - resolution: {integrity: sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==} + /update-browserslist-db@1.1.1(browserslist@4.24.4): + resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -28691,7 +30173,7 @@ packages: engines: {node: '>= 0.8'} dev: true - /vite@6.0.11(@types/node@20.17.13)(less@4.2.1)(sass@1.83.1)(terser@5.37.0): + /vite@6.0.11(@types/node@22.13.1)(less@4.2.1)(sass@1.83.1)(terser@5.37.0): resolution: {integrity: sha512-4VL9mQPKoHy4+FE0NnRE/kbY51TOfaknxAjt3fJbGJxhIpBZiqVzlZDEesWWsuREXHwNdAoOFZ9MkPEVXczHwg==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true @@ -28731,18 +30213,18 @@ packages: yaml: optional: true dependencies: - '@types/node': 20.17.13 + '@types/node': 22.13.1 esbuild: 0.24.2 less: 4.2.1 postcss: 8.5.1 - rollup: 4.34.6 + rollup: 4.34.4 sass: 1.83.1 terser: 5.37.0 optionalDependencies: fsevents: 2.3.3 dev: true - /vite@6.1.0(@types/node@20.17.13)(less@4.2.1): + /vite@6.1.0(@types/node@22.13.1)(less@4.2.1): resolution: {integrity: sha512-RjjMipCKVoR4hVfPY6GQTgveinjNuyLw+qruksLDvA5ktI1150VmcMBKmQaEWJhg/j6Uaf6dNCNA0AfdzUb/hQ==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true @@ -28782,7 +30264,7 @@ packages: yaml: optional: true dependencies: - '@types/node': 20.17.13 + '@types/node': 22.13.1 esbuild: 0.24.2 less: 4.2.1 postcss: 8.5.2 @@ -28801,14 +30283,14 @@ packages: peerDependencies: eslint: '>=6.0.0' dependencies: - debug: 4.3.7 + debug: 4.4.0 eslint: 7.32.0 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 esquery: 1.5.0 lodash: 4.17.21 - semver: 7.6.0 + semver: 7.7.1 transitivePeerDependencies: - supports-color dev: true @@ -29030,7 +30512,7 @@ packages: gzip-size: 6.0.0 html-escaper: 2.0.2 opener: 1.5.2 - picocolors: 1.0.1 + picocolors: 1.1.1 sirv: 2.0.4 ws: 7.5.9 transitivePeerDependencies: @@ -29101,7 +30583,7 @@ packages: '@types/ws': 8.5.11 ansi-html-community: 0.0.8 bonjour-service: 1.2.1 - chokidar: 3.5.3 + chokidar: 3.6.0 colorette: 2.0.20 compression: 1.7.4 connect-history-api-fallback: 2.0.0 @@ -29109,7 +30591,7 @@ packages: express: 4.19.2 graceful-fs: 4.2.11 html-entities: 2.5.2 - http-proxy-middleware: 2.0.6(@types/express@4.17.21)(debug@4.3.4) + http-proxy-middleware: 2.0.7(@types/express@4.17.21)(debug@4.3.4) ipaddr.js: 2.2.0 launch-editor: 2.8.0 open: 8.4.2 @@ -29230,7 +30712,7 @@ packages: optional: true dependencies: '@types/eslint-scope': 3.7.7 - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/wasm-edit': 1.12.1 '@webassemblyjs/wasm-parser': 1.12.1 @@ -29277,7 +30759,7 @@ packages: acorn: 8.14.0 browserslist: 4.24.4 chrome-trace-event: 1.0.4 - enhanced-resolve: 5.18.1 + enhanced-resolve: 5.18.0 es-module-lexer: 1.4.2 eslint-scope: 5.1.1 events: 3.3.0 @@ -29290,7 +30772,7 @@ packages: schema-utils: 3.3.0 tapable: 2.2.1 terser-webpack-plugin: 5.3.10(esbuild@0.24.2)(webpack@5.97.1) - watchpack: 2.4.1 + watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: - '@swc/core' @@ -29742,7 +31224,7 @@ packages: resolution: {integrity: sha512-9oxn0IIjbCZkJ67L+LkhYWRyAy7axphb3VgE2MBDlOqnmHMPWGYMxJxBYFueFq/JGY2GMwS0rU+UCLunEmy5UA==} dev: true - file:packages/sdks/nextjs-sdk(@types/react@18.3.18)(next@14.2.10)(react@18.3.1): + file:packages/sdks/nextjs-sdk(@types/react@19.0.8)(next@14.2.10)(react@18.3.1): resolution: {directory: packages/sdks/nextjs-sdk, type: directory} id: file:packages/sdks/nextjs-sdk name: '@descope/nextjs-sdk' @@ -29756,8 +31238,8 @@ packages: '@descope/node-sdk': 1.6.13 '@descope/react-sdk': link:packages/sdks/react-sdk '@descope/web-component': link:packages/sdks/web-component - '@types/react': 18.3.18 - next: 14.2.10(@babel/core@7.26.0)(react-dom@18.3.1)(react@18.3.1) + '@types/react': 19.0.8 + next: 14.2.10(@babel/core@7.26.8)(react-dom@18.3.1)(react@18.3.1) react: 18.3.1 optionalDependencies: '@descope/web-js-sdk': 1.23.9 @@ -29765,7 +31247,7 @@ packages: - encoding dev: false - file:packages/sdks/nextjs-sdk(@types/react@18.3.18)(next@14.2.21)(react@18.3.1): + file:packages/sdks/nextjs-sdk(@types/react@19.0.8)(next@14.2.21)(react@18.3.1): resolution: {directory: packages/sdks/nextjs-sdk, type: directory} id: file:packages/sdks/nextjs-sdk name: '@descope/nextjs-sdk' @@ -29779,8 +31261,8 @@ packages: '@descope/node-sdk': 1.6.13 '@descope/react-sdk': link:packages/sdks/react-sdk '@descope/web-component': link:packages/sdks/web-component - '@types/react': 18.3.18 - next: 14.2.21(@babel/core@7.26.0)(react-dom@18.3.1)(react@18.3.1) + '@types/react': 19.0.8 + next: 14.2.21(@babel/core@7.26.8)(react-dom@18.3.1)(react@18.3.1) react: 18.3.1 optionalDependencies: '@descope/web-js-sdk': 1.23.9