From 37f02f7e6b301975977dc2f7bdcb0fb4c2609317 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leosvel=20P=C3=A9rez=20Espinosa?= Date: Thu, 23 May 2024 17:50:04 +0200 Subject: [PATCH] feat(angular): support angular 18.0.0 (#22509) ## Current Behavior ## Expected Behavior ## Related Issue(s) Fixes #25284 --- docs/generated/manifests/nx-api.json | 2 +- docs/generated/packages-metadata.json | 2 +- .../angular/executors/application.json | 6 +- .../angular/executors/browser-esbuild.json | 6 +- .../angular/executors/ng-packagr-lite.json | 4 +- .../angular/executors/webpack-browser.json | 6 +- .../angular/executors/webpack-server.json | 12 +- .../angular/generators/setup-ssr.json | 7 +- e2e/angular/src/misc.test.ts | 3 +- e2e/angular/src/ng-add.test.ts | 18 +- package.json | 30 +- packages/angular/executors.json | 2 +- packages/angular/migrations.json | 82 + packages/angular/package.json | 8 +- .../module-federation-dev-ssr.impl.ts | 12 +- .../builders/utilities/module-federation.ts | 35 +- .../src/builders/webpack-browser/schema.json | 3 +- .../src/builders/webpack-server/schema.json | 9 +- .../webpack-server/validate-options.ts | 40 - .../webpack-server/webpack-server.impl.ts | 5 +- .../executors/application/application.impl.ts | 5 +- .../src/executors/application/schema.json | 3 +- .../browser-esbuild/browser-esbuild.impl.ts | 13 +- .../src/executors/browser-esbuild/schema.json | 3 +- .../extract-i18n/extract-i18n.impl.ts | 2 +- .../module-federation-dev-server.impl.ts | 19 +- .../ng-packagr-adjustments/ng-packagr.ts | 14 +- .../pre-v17/ngc/compile-source-files.ts | 16 +- .../pre-v17/styles/stylesheet-processor.ts | 8 +- .../entry-point/write-package.transform.ts | 6 - .../src/executors/ng-packagr-lite/schema.json | 2 +- .../entry-point/compile-ngc.transform.ts | 2 +- .../ng-packagr-adjustments/ng-packagr.ts | 8 +- .../ngc/compile-source-files.ts | 16 +- .../styles/stylesheet-processor.ts | 8 +- .../executors/utilities/esbuild-extensions.ts | 6 +- .../src/executors/utilities/module-loader.ts | 2 +- .../executors/utilities/ng-compiler-cli.ts | 7 - .../ng-packagr/stylesheet-processor.ts | 36 +- .../src/executors/utilities/typescript.ts | 16 +- .../__snapshots__/application.spec.ts.snap | 47 +- .../application/application.spec.ts | 59 +- .../{base/src => base-18+/public}/favicon.ico | Bin .../src/assets/.gitkeep__tpl__ | 0 .../files/base-pre18/src/favicon.ico | Bin 0 -> 15086 bytes .../files/ng-module/src/main.ts__tpl__ | 4 +- .../src/app/app.config.ts__tpl__ | 4 +- .../application/lib/create-files.ts | 17 + .../application/lib/create-project.ts | 23 +- .../component-test/component-test.ts | 6 +- .../cypress-component-configuration.ts | 16 +- .../host/__snapshots__/host.spec.ts.snap | 24 +- .../builders/angular-devkit-karma.migrator.ts | 5 +- .../generators/ng-add/migrators/migrator.ts | 22 +- .../ng-add/migrators/projects/app.migrator.ts | 6 +- .../ng-add/migrators/projects/e2e.migrator.ts | 4 +- .../ngrx-root-store.spec.ts.snap | 16 +- .../ngrx/__snapshots__/ngrx.spec.ts.snap | 12 +- .../angular/src/generators/ngrx/ngrx.spec.ts | 18 +- .../remote/__snapshots__/remote.spec.ts.snap | 8 +- .../__snapshots__/setup-mf.spec.ts.snap | 4 +- .../setup-mf/lib/add-remote-to-host.ts | 30 +- .../generators/setup-mf/lib/fix-bootstrap.ts | 26 +- .../setup-mf/lib/setup-host-if-dynamic.ts | 16 +- .../src/generators/setup-mf/setup-mf.spec.ts | 12 +- .../src/generators/setup-mf/setup-mf.ts | 4 +- .../__snapshots__/setup-ssr.spec.ts.snap | 36 +- .../ngmodule/pre-v15-2/src/main.ts__tpl__ | 14 - .../files/ngmodule/{base => }/src/__main__ | 0 .../{base => }/src/app/__rootModuleFileName__ | 0 .../application-builder/__serverFileName__ | 7 +- .../server-builder/v17+/__serverFileName__ | 7 +- .../setup-ssr/lib/add-dependencies.ts | 7 +- .../setup-ssr/lib/generate-files.ts | 14 +- .../src/generators/setup-ssr/lib/index.ts | 1 - .../setup-ssr/lib/update-app-module.ts | 47 - .../setup-ssr/lib/validate-options.ts | 18 +- .../src/generators/setup-ssr/schema.json | 7 +- .../generators/setup-ssr/setup-ssr.spec.ts | 115 +- .../src/generators/setup-ssr/setup-ssr.ts | 4 - .../lib/generate-stories.ts | 6 +- .../src/generators/utils/version-utils.ts | 4 +- .../update-19-1-0/update-angular-cli.spec.ts | 42 + .../update-19-1-0/update-angular-cli.ts | 23 + .../src/utils/backward-compatible-versions.ts | 62 +- .../src/utils/mf/with-module-federation.ts | 2 +- packages/angular/src/utils/version-utils.ts | 5 +- packages/angular/src/utils/versions.ts | 8 +- packages/angular/tsconfig.json | 3 + packages/angular/tsconfig.lib.json | 9 +- packages/angular/tsconfig.lib.runtime.json | 6 +- .../angular/legacy-angular-versions.ts | 3 +- .../angular/standalone-workspace.ts | 2 - .../preset/__snapshots__/preset.spec.ts.snap | 3 +- packages/workspace/src/utils/versions.ts | 2 +- pnpm-lock.yaml | 3590 ++++++++++++++--- 96 files changed, 3718 insertions(+), 1196 deletions(-) delete mode 100644 packages/angular/src/builders/webpack-server/validate-options.ts delete mode 100644 packages/angular/src/executors/utilities/ng-compiler-cli.ts rename packages/angular/src/generators/application/files/{base/src => base-18+/public}/favicon.ico (100%) rename packages/angular/src/generators/application/files/{base => base-pre18}/src/assets/.gitkeep__tpl__ (100%) create mode 100644 packages/angular/src/generators/application/files/base-pre18/src/favicon.ico delete mode 100644 packages/angular/src/generators/setup-ssr/files/ngmodule/pre-v15-2/src/main.ts__tpl__ rename packages/angular/src/generators/setup-ssr/files/ngmodule/{base => }/src/__main__ (100%) rename packages/angular/src/generators/setup-ssr/files/ngmodule/{base => }/src/app/__rootModuleFileName__ (100%) delete mode 100644 packages/angular/src/generators/setup-ssr/lib/update-app-module.ts create mode 100644 packages/angular/src/migrations/update-19-1-0/update-angular-cli.spec.ts create mode 100644 packages/angular/src/migrations/update-19-1-0/update-angular-cli.ts diff --git a/docs/generated/manifests/nx-api.json b/docs/generated/manifests/nx-api.json index ce544edfe3808..5acb369ee33d0 100644 --- a/docs/generated/manifests/nx-api.json +++ b/docs/generated/manifests/nx-api.json @@ -63,7 +63,7 @@ "type": "executor" }, "/nx-api/angular/executors/ng-packagr-lite": { - "description": "Builds an Angular library with support for incremental builds.\n\nThis executor is meant to be used with buildable libraries in an incremental build scenario. It is similar to the `@nx/angular:package` executor but with some key differences:\n- For supported Angular versions lower than v16, it doesn't run `ngcc` automatically (`ngcc` is no longer available from Angular v16 onwards, for lower versions, it needs to be run separately beforehand if needed, this can be done in a `postinstall` hook on `package.json`).\n- It only produces ESM2022 bundles (ESM2020 for supported Angular versions lower than v16).", + "description": "Builds an Angular library with support for incremental builds.\n\nThis executor is meant to be used with buildable libraries in an incremental build scenario. It is similar to the `@nx/angular:package` executor but it only produces ESM2022 bundles.", "file": "generated/packages/angular/executors/ng-packagr-lite.json", "hidden": false, "name": "ng-packagr-lite", diff --git a/docs/generated/packages-metadata.json b/docs/generated/packages-metadata.json index e508db9895a37..20da3c9e98188 100644 --- a/docs/generated/packages-metadata.json +++ b/docs/generated/packages-metadata.json @@ -58,7 +58,7 @@ "type": "executor" }, { - "description": "Builds an Angular library with support for incremental builds.\n\nThis executor is meant to be used with buildable libraries in an incremental build scenario. It is similar to the `@nx/angular:package` executor but with some key differences:\n- For supported Angular versions lower than v16, it doesn't run `ngcc` automatically (`ngcc` is no longer available from Angular v16 onwards, for lower versions, it needs to be run separately beforehand if needed, this can be done in a `postinstall` hook on `package.json`).\n- It only produces ESM2022 bundles (ESM2020 for supported Angular versions lower than v16).", + "description": "Builds an Angular library with support for incremental builds.\n\nThis executor is meant to be used with buildable libraries in an incremental build scenario. It is similar to the `@nx/angular:package` executor but it only produces ESM2022 bundles.", "file": "generated/packages/angular/executors/ng-packagr-lite.json", "hidden": false, "name": "ng-packagr-lite", diff --git a/docs/generated/packages/angular/executors/application.json b/docs/generated/packages/angular/executors/application.json index c501d600d533d..768beb4385be5 100644 --- a/docs/generated/packages/angular/executors/application.json +++ b/docs/generated/packages/angular/executors/application.json @@ -38,11 +38,12 @@ }, "output": { "type": "string", + "default": "", "description": "Absolute path within the output." } }, "additionalProperties": false, - "required": ["glob", "input", "output"] + "required": ["glob", "input"] }, { "type": "string" } ] @@ -663,11 +664,12 @@ }, "output": { "type": "string", + "default": "", "description": "Absolute path within the output." } }, "additionalProperties": false, - "required": ["glob", "input", "output"] + "required": ["glob", "input"] }, { "type": "string" } ] diff --git a/docs/generated/packages/angular/executors/browser-esbuild.json b/docs/generated/packages/angular/executors/browser-esbuild.json index 227bede72b007..dfef3308469d7 100644 --- a/docs/generated/packages/angular/executors/browser-esbuild.json +++ b/docs/generated/packages/angular/executors/browser-esbuild.json @@ -38,11 +38,12 @@ }, "output": { "type": "string", + "default": "", "description": "Absolute path within the output." } }, "additionalProperties": false, - "required": ["glob", "input", "output"] + "required": ["glob", "input"] }, { "type": "string" } ] @@ -572,11 +573,12 @@ }, "output": { "type": "string", + "default": "", "description": "Absolute path within the output." } }, "additionalProperties": false, - "required": ["glob", "input", "output"] + "required": ["glob", "input"] }, { "type": "string" } ] diff --git a/docs/generated/packages/angular/executors/ng-packagr-lite.json b/docs/generated/packages/angular/executors/ng-packagr-lite.json index 048e94ac6a7b9..55f2797bfe1d8 100644 --- a/docs/generated/packages/angular/executors/ng-packagr-lite.json +++ b/docs/generated/packages/angular/executors/ng-packagr-lite.json @@ -6,7 +6,7 @@ "outputCapture": "direct-nodejs", "$schema": "https://json-schema.org/schema", "title": "ng-packagr Target", - "description": "Builds an Angular library with support for incremental builds.\n\nThis executor is meant to be used with buildable libraries in an incremental build scenario. It is similar to the `@nx/angular:package` executor but with some key differences:\n- For supported Angular versions lower than v16, it doesn't run `ngcc` automatically (`ngcc` is no longer available from Angular v16 onwards, for lower versions, it needs to be run separately beforehand if needed, this can be done in a `postinstall` hook on `package.json`).\n- It only produces ESM2022 bundles (ESM2020 for supported Angular versions lower than v16).", + "description": "Builds an Angular library with support for incremental builds.\n\nThis executor is meant to be used with buildable libraries in an incremental build scenario. It is similar to the `@nx/angular:package` executor but it only produces ESM2022 bundles.", "cli": "nx", "type": "object", "presets": [ @@ -44,7 +44,7 @@ "additionalProperties": false, "required": ["project"] }, - "description": "Builds an Angular library with support for incremental builds.\n\nThis executor is meant to be used with buildable libraries in an incremental build scenario. It is similar to the `@nx/angular:package` executor but with some key differences:\n- For supported Angular versions lower than v16, it doesn't run `ngcc` automatically (`ngcc` is no longer available from Angular v16 onwards, for lower versions, it needs to be run separately beforehand if needed, this can be done in a `postinstall` hook on `package.json`).\n- It only produces ESM2022 bundles (ESM2020 for supported Angular versions lower than v16).", + "description": "Builds an Angular library with support for incremental builds.\n\nThis executor is meant to be used with buildable libraries in an incremental build scenario. It is similar to the `@nx/angular:package` executor but it only produces ESM2022 bundles.", "aliases": [], "hidden": false, "path": "/packages/angular/src/executors/ng-packagr-lite/schema.json", diff --git a/docs/generated/packages/angular/executors/webpack-browser.json b/docs/generated/packages/angular/executors/webpack-browser.json index 436ba966bd325..940c35cf9dbaf 100644 --- a/docs/generated/packages/angular/executors/webpack-browser.json +++ b/docs/generated/packages/angular/executors/webpack-browser.json @@ -56,11 +56,12 @@ }, "output": { "type": "string", + "default": "", "description": "Absolute path within the output." } }, "additionalProperties": false, - "required": ["glob", "input", "output"] + "required": ["glob", "input"] }, { "type": "string" } ] @@ -592,11 +593,12 @@ }, "output": { "type": "string", + "default": "", "description": "Absolute path within the output." } }, "additionalProperties": false, - "required": ["glob", "input", "output"] + "required": ["glob", "input"] }, { "type": "string" } ] diff --git a/docs/generated/packages/angular/executors/webpack-server.json b/docs/generated/packages/angular/executors/webpack-server.json index f2027245e0cb5..78af011610dce 100644 --- a/docs/generated/packages/angular/executors/webpack-server.json +++ b/docs/generated/packages/angular/executors/webpack-server.json @@ -11,7 +11,7 @@ "properties": { "assets": { "type": "array", - "description": "List of static application assets. _Note: only supported in Angular versions >= 15.1.0_", + "description": "List of static application assets.", "default": [], "items": { "oneOf": [ @@ -38,11 +38,12 @@ }, "output": { "type": "string", + "default": "", "description": "Absolute path within the output." } }, "additionalProperties": false, - "required": ["glob", "input", "output"] + "required": ["glob", "input"] }, { "type": "string" } ] @@ -186,7 +187,7 @@ }, "vendorChunk": { "type": "boolean", - "description": "Generate a separate bundle containing only vendor libraries. This option should only be used for development to reduce the incremental compilation time. _Note: supported in Angular versions >= 15.1.0_", + "description": "Generate a separate bundle containing only vendor libraries. This option should only be used for development to reduce the incremental compilation time.", "default": false }, "verbose": { @@ -248,7 +249,7 @@ }, "buildOptimizer": { "type": "boolean", - "description": "Enables advanced build optimizations. _Note: only supported in Angular versions >= 16.0.0_.", + "description": "Enables advanced build optimizations.", "default": true }, "namedChunks": { @@ -323,11 +324,12 @@ }, "output": { "type": "string", + "default": "", "description": "Absolute path within the output." } }, "additionalProperties": false, - "required": ["glob", "input", "output"] + "required": ["glob", "input"] }, { "type": "string" } ] diff --git a/docs/generated/packages/angular/generators/setup-ssr.json b/docs/generated/packages/angular/generators/setup-ssr.json index 60469d53069cf..a10318cebd78a 100644 --- a/docs/generated/packages/angular/generators/setup-ssr.json +++ b/docs/generated/packages/angular/generators/setup-ssr.json @@ -19,8 +19,9 @@ "appId": { "type": "string", "format": "html-selector", - "description": "The `appId` to use with `withServerTransition`. _Note: This is only used in Angular versions <16.0.0. It's deprecated since Angular 16 and not supported since Angular 17._", - "default": "serverApp" + "description": "The `appId` to use with `withServerTransition`.", + "default": "serverApp", + "x-deprecated": "This is deprecated and ignored since Angular 16 and not supported since Angular 17." }, "main": { "type": "string", @@ -55,7 +56,7 @@ }, "hydration": { "type": "boolean", - "description": "Set up Hydration for the SSR application. It defaults to `true` for Angular versions >= 17.0.0. Otherwise, it defaults to `false`. _Note: This is only supported in Angular versions >= 16.0.0_." + "description": "Set up Hydration for the SSR application. It defaults to `true` for Angular versions >= 17.0.0. Otherwise, it defaults to `false`." }, "skipFormat": { "type": "boolean", diff --git a/e2e/angular/src/misc.test.ts b/e2e/angular/src/misc.test.ts index 9cf0222c5aeed..4c0853a5a7d0f 100644 --- a/e2e/angular/src/misc.test.ts +++ b/e2e/angular/src/misc.test.ts @@ -42,7 +42,7 @@ describe('Move Angular Project', () => { expect(moveOutput).toContain(`CREATE ${newPath}/tsconfig.json`); expect(moveOutput).toContain(`CREATE ${newPath}/tsconfig.spec.json`); expect(moveOutput).toContain(`CREATE ${newPath}/.eslintrc.json`); - expect(moveOutput).toContain(`CREATE ${newPath}/src/favicon.ico`); + expect(moveOutput).toContain(`CREATE ${newPath}/public/favicon.ico`); expect(moveOutput).toContain(`CREATE ${newPath}/src/index.html`); expect(moveOutput).toContain(`CREATE ${newPath}/src/main.ts`); expect(moveOutput).toContain(`CREATE ${newPath}/src/styles.css`); @@ -52,7 +52,6 @@ describe('Move Angular Project', () => { ); expect(moveOutput).toContain(`CREATE ${newPath}/src/app/app.component.ts`); expect(moveOutput).toContain(`CREATE ${newPath}/src/app/app.config.ts`); - expect(moveOutput).toContain(`CREATE ${newPath}/src/assets/.gitkeep`); }); /** diff --git a/e2e/angular/src/ng-add.test.ts b/e2e/angular/src/ng-add.test.ts index e0afc436b65fb..e9839f2b6e3ba 100644 --- a/e2e/angular/src/ng-add.test.ts +++ b/e2e/angular/src/ng-add.test.ts @@ -185,10 +185,7 @@ describe('convert Angular CLI workspace to an Nx workspace', () => { browser: `apps/${project}/src/main.ts`, polyfills: [`zone.js`], tsConfig: `apps/${project}/tsconfig.app.json`, - assets: [ - `apps/${project}/src/favicon.ico`, - `apps/${project}/src/assets`, - ], + assets: [{ glob: '**/*', input: `apps/${project}/public` }], styles: [`apps/${project}/src/styles.css`], scripts: [`apps/${project}/src/scripts.js`], }, @@ -197,13 +194,13 @@ describe('convert Angular CLI workspace to an Nx workspace', () => { budgets: [ { type: 'initial', - maximumWarning: '500kb', - maximumError: '1mb', + maximumWarning: '500kB', + maximumError: '1MB', }, { type: 'anyComponentStyle', - maximumWarning: '2kb', - maximumError: '4kb', + maximumWarning: '2kB', + maximumError: '4kB', }, ], outputHashing: 'all', @@ -229,10 +226,7 @@ describe('convert Angular CLI workspace to an Nx workspace', () => { options: { polyfills: [`zone.js`, `zone.js/testing`], tsConfig: `apps/${project}/tsconfig.spec.json`, - assets: [ - `apps/${project}/src/favicon.ico`, - `apps/${project}/src/assets`, - ], + assets: [{ glob: '**/*', input: `apps/${project}/public` }], styles: [`apps/${project}/src/styles.css`], scripts: [`apps/${project}/src/scripts.js`], }, diff --git a/package.json b/package.json index 1176593d1d8ac..a6ac0b61b42dd 100644 --- a/package.json +++ b/package.json @@ -25,19 +25,19 @@ }, "devDependencies": { "@actions/core": "^1.10.0", - "@angular-devkit/architect": "~0.1703.0", - "@angular-devkit/build-angular": "~17.3.0", - "@angular-devkit/core": "~17.3.0", - "@angular-devkit/schematics": "~17.3.0", - "@angular-eslint/eslint-plugin": "17.3.0", - "@angular-eslint/eslint-plugin-template": "17.3.0", - "@angular-eslint/template-parser": "17.3.0", - "@angular/cli": "~17.3.0", - "@angular/common": "~17.3.0", - "@angular/compiler": "~17.3.0", - "@angular/compiler-cli": "~17.3.0", - "@angular/core": "~17.3.0", - "@angular/router": "~17.3.0", + "@angular-devkit/architect": "~0.1800.0", + "@angular-devkit/build-angular": "~18.0.0", + "@angular-devkit/core": "~18.0.0", + "@angular-devkit/schematics": "~18.0.0", + "@angular-eslint/eslint-plugin": "~17.3.0", + "@angular-eslint/eslint-plugin-template": "~17.3.0", + "@angular-eslint/template-parser": "~17.3.0", + "@angular/cli": "~18.0.0", + "@angular/common": "~18.0.0", + "@angular/compiler": "~18.0.0", + "@angular/compiler-cli": "~18.0.0", + "@angular/core": "~18.0.0", + "@angular/router": "~18.0.0", "@babel/core": "^7.23.2", "@babel/helper-create-regexp-features-plugin": "^7.22.9", "@babel/plugin-transform-runtime": "^7.23.2", @@ -92,7 +92,7 @@ "@rollup/plugin-json": "^6.1.0", "@rollup/plugin-node-resolve": "^15.2.3", "@rollup/plugin-url": "^8.0.2", - "@schematics/angular": "~17.3.0", + "@schematics/angular": "~18.0.0", "@storybook/addon-essentials": "7.5.3", "@storybook/core-server": "7.5.3", "@storybook/react": "7.5.3", @@ -226,7 +226,7 @@ "mini-css-extract-plugin": "~2.4.7", "minimatch": "9.0.3", "next-sitemap": "^3.1.10", - "ng-packagr": "~17.3.0", + "ng-packagr": "~18.0.0", "node-fetch": "^2.6.7", "npm-package-arg": "11.0.1", "nuxt": "^3.10.0", diff --git a/packages/angular/executors.json b/packages/angular/executors.json index 7d0df96c13cb3..ea2b1a6bb2a64 100644 --- a/packages/angular/executors.json +++ b/packages/angular/executors.json @@ -8,7 +8,7 @@ "ng-packagr-lite": { "implementation": "./src/executors/ng-packagr-lite/ng-packagr-lite.impl", "schema": "./src/executors/ng-packagr-lite/schema.json", - "description": "Builds an Angular library with support for incremental builds.\n\nThis executor is meant to be used with buildable libraries in an incremental build scenario. It is similar to the `@nx/angular:package` executor but with some key differences:\n- For supported Angular versions lower than v16, it doesn't run `ngcc` automatically (`ngcc` is no longer available from Angular v16 onwards, for lower versions, it needs to be run separately beforehand if needed, this can be done in a `postinstall` hook on `package.json`).\n- It only produces ESM2022 bundles (ESM2020 for supported Angular versions lower than v16)." + "description": "Builds an Angular library with support for incremental builds.\n\nThis executor is meant to be used with buildable libraries in an incremental build scenario. It is similar to the `@nx/angular:package` executor but it only produces ESM2022 bundles." }, "package": { "implementation": "./src/executors/package/package.impl", diff --git a/packages/angular/migrations.json b/packages/angular/migrations.json index 7475bf37bb909..7912c542a27b9 100644 --- a/packages/angular/migrations.json +++ b/packages/angular/migrations.json @@ -386,6 +386,15 @@ }, "description": "Update the @angular/cli package version to ~17.3.0.", "factory": "./src/migrations/update-18-2-0/update-angular-cli" + }, + "update-angular-cli-version-18-0-0": { + "cli": "nx", + "version": "19.1.0-beta.2", + "requires": { + "@angular/core": ">=18.0.0" + }, + "description": "Update the @angular/cli package version to ~18.0.0.", + "factory": "./src/migrations/update-19-1-0/update-angular-cli" } }, "packageJsonUpdates": { @@ -1805,6 +1814,79 @@ "alwaysAddToPackageJson": false } } + }, + "19.1.0": { + "version": "19.1.0-beta.2", + "x-prompt": "Do you want to update the Angular version to v18?", + "requires": { + "@angular/core": ">=17.3.0 <18.0.0" + }, + "packages": { + "@angular-devkit/build-angular": { + "version": "~18.0.0", + "alwaysAddToPackageJson": false + }, + "@angular-devkit/core": { + "version": "~18.0.0", + "alwaysAddToPackageJson": false + }, + "@angular-devkit/schematics": { + "version": "~18.0.0", + "alwaysAddToPackageJson": false + }, + "@angular/pwa": { + "version": "~18.0.0", + "alwaysAddToPackageJson": false + }, + "@angular/ssr": { + "version": "~18.0.0", + "alwaysAddToPackageJson": false + }, + "@schematics/angular": { + "version": "~18.0.0", + "alwaysAddToPackageJson": false + }, + "@angular-devkit/architect": { + "version": "~0.1800.0", + "alwaysAddToPackageJson": false + }, + "@angular-devkit/build-webpack": { + "version": "~0.1800.0", + "alwaysAddToPackageJson": false + }, + "@angular/core": { + "version": "~18.0.0", + "alwaysAddToPackageJson": true + }, + "@angular/material": { + "version": "~18.0.0", + "alwaysAddToPackageJson": false + }, + "@angular/cdk": { + "version": "~18.0.0", + "alwaysAddToPackageJson": false + }, + "ng-packagr": { + "version": "~18.0.0", + "alwaysAddToPackageJson": false + } + } + }, + "19.1.0-jest": { + "version": "19.1.0-beta.2", + "requires": { + "@angular-devkit/build-angular": ">=15.0.0 <19.0.0", + "@angular/compiler-cli": ">=15.0.0 <19.0.0", + "@angular/core": ">=15.0.0 <19.0.0", + "@angular/platform-browser-dynamic": ">=15.0.0 <19.0.0", + "jest": "^29.0.0" + }, + "packages": { + "jest-preset-angular": { + "version": "~14.1.0", + "alwaysAddToPackageJson": false + } + } } } } diff --git a/packages/angular/package.json b/packages/angular/package.json index f2f51885cc7d1..a5cbfa8291641 100644 --- a/packages/angular/package.json +++ b/packages/angular/package.json @@ -67,10 +67,10 @@ "piscina": "^4.4.0" }, "peerDependencies": { - "@angular-devkit/build-angular": ">= 15.0.0 < 18.0.0", - "@angular-devkit/core": ">= 15.0.0 < 18.0.0", - "@angular-devkit/schematics": ">= 15.0.0 < 18.0.0", - "@schematics/angular": ">= 15.0.0 < 18.0.0", + "@angular-devkit/build-angular": ">= 16.0.0 < 19.0.0", + "@angular-devkit/core": ">= 16.0.0 < 19.0.0", + "@angular-devkit/schematics": ">= 16.0.0 < 19.0.0", + "@schematics/angular": ">= 16.0.0 < 19.0.0", "esbuild": "^0.19.2", "rxjs": "^6.5.3 || ^7.5.0" }, diff --git a/packages/angular/src/builders/module-federation-dev-ssr/module-federation-dev-ssr.impl.ts b/packages/angular/src/builders/module-federation-dev-ssr/module-federation-dev-ssr.impl.ts index a8699529bae8b..0371e8630e72b 100644 --- a/packages/angular/src/builders/module-federation-dev-ssr/module-federation-dev-ssr.impl.ts +++ b/packages/angular/src/builders/module-federation-dev-ssr/module-federation-dev-ssr.impl.ts @@ -13,6 +13,7 @@ import { from } from 'rxjs'; import { switchMap, tap } from 'rxjs/operators'; import { getInstalledAngularVersionInfo } from '../../executors/utilities/angular-version-utils'; import { + getDynamicMfManifestFile, getDynamicRemotes, getStaticRemotes, validateDevRemotes, @@ -29,11 +30,7 @@ export function executeModuleFederationDevSSRBuilder( readProjectsConfigurationFromProjectGraph(projectGraph); const project = workspaceProjects[context.target.project]; - let pathToManifestFile = join( - context.workspaceRoot, - project.sourceRoot, - 'assets/module-federation.manifest.json' - ); + let pathToManifestFile: string; if (options.pathToManifestFile) { const userPathToManifestFile = join( context.workspaceRoot, @@ -50,6 +47,11 @@ export function executeModuleFederationDevSSRBuilder( } pathToManifestFile = userPathToManifestFile; + } else { + pathToManifestFile = getDynamicMfManifestFile( + project, + context.workspaceRoot + ); } validateDevRemotes(options, workspaceProjects); diff --git a/packages/angular/src/builders/utilities/module-federation.ts b/packages/angular/src/builders/utilities/module-federation.ts index 8a125b041d0d2..7dfead3ba1a99 100644 --- a/packages/angular/src/builders/utilities/module-federation.ts +++ b/packages/angular/src/builders/utilities/module-federation.ts @@ -1,4 +1,4 @@ -import { basename, dirname, join } from 'path'; +import { join } from 'path'; import { existsSync, readFileSync } from 'fs'; import { logger, ProjectConfiguration } from '@nx/devkit'; import { registerTsProject } from '@nx/js/src/internal'; @@ -8,17 +8,18 @@ export function getDynamicRemotes( context: import('@angular-devkit/architect').BuilderContext, workspaceProjects: Record, remotesToSkip: Set, - pathToManifestFile = join( - context.workspaceRoot, - project.sourceRoot, - 'assets/module-federation.manifest.json' - ) + pathToManifestFile: string | undefined ): string[] { + pathToManifestFile ??= getDynamicMfManifestFile( + project, + context.workspaceRoot + ); + // check for dynamic remotes // we should only check for dynamic based on what we generate // and fallback to empty array - if (!existsSync(pathToManifestFile)) { + if (!pathToManifestFile || !existsSync(pathToManifestFile)) { return []; } @@ -182,3 +183,23 @@ export function validateDevRemotes( ); } } + +export function getDynamicMfManifestFile( + project: ProjectConfiguration, + workspaceRoot: string +): string | undefined { + // {sourceRoot}/assets/module-federation.manifest.json was the generated + // path for the manifest file in the past. We now generate the manifest + // file at {root}/public/module-federation.manifest.json. This check + // ensures that we can still support the old path for backwards + // compatibility since old projects may still have the manifest file + // at the old path. + return [ + join(workspaceRoot, project.root, 'public/module-federation.manifest.json'), + join( + workspaceRoot, + project.sourceRoot, + 'assets/module-federation.manifest.json' + ), + ].find((path) => existsSync(path)); +} diff --git a/packages/angular/src/builders/webpack-browser/schema.json b/packages/angular/src/builders/webpack-browser/schema.json index c3429512be890..af24f7527adbe 100644 --- a/packages/angular/src/builders/webpack-browser/schema.json +++ b/packages/angular/src/builders/webpack-browser/schema.json @@ -498,11 +498,12 @@ }, "output": { "type": "string", + "default": "", "description": "Absolute path within the output." } }, "additionalProperties": false, - "required": ["glob", "input", "output"] + "required": ["glob", "input"] }, { "type": "string" diff --git a/packages/angular/src/builders/webpack-server/schema.json b/packages/angular/src/builders/webpack-server/schema.json index 5f6b91f81c0cc..ddb8f33119901 100644 --- a/packages/angular/src/builders/webpack-server/schema.json +++ b/packages/angular/src/builders/webpack-server/schema.json @@ -8,7 +8,7 @@ "properties": { "assets": { "type": "array", - "description": "List of static application assets. _Note: only supported in Angular versions >= 15.1.0_", + "description": "List of static application assets.", "default": [], "items": { "$ref": "#/definitions/assetPattern" @@ -127,7 +127,7 @@ }, "vendorChunk": { "type": "boolean", - "description": "Generate a separate bundle containing only vendor libraries. This option should only be used for development to reduce the incremental compilation time. _Note: supported in Angular versions >= 15.1.0_", + "description": "Generate a separate bundle containing only vendor libraries. This option should only be used for development to reduce the incremental compilation time.", "default": false }, "verbose": { @@ -192,7 +192,7 @@ }, "buildOptimizer": { "type": "boolean", - "description": "Enables advanced build optimizations. _Note: only supported in Angular versions >= 16.0.0_.", + "description": "Enables advanced build optimizations.", "default": true }, "namedChunks": { @@ -271,11 +271,12 @@ }, "output": { "type": "string", + "default": "", "description": "Absolute path within the output." } }, "additionalProperties": false, - "required": ["glob", "input", "output"] + "required": ["glob", "input"] }, { "type": "string" diff --git a/packages/angular/src/builders/webpack-server/validate-options.ts b/packages/angular/src/builders/webpack-server/validate-options.ts deleted file mode 100644 index 9de47194cf709..0000000000000 --- a/packages/angular/src/builders/webpack-server/validate-options.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { stripIndents } from '@nx/devkit'; -import { lt } from 'semver'; -import type { VersionInfo } from '../../executors/utilities/angular-version-utils'; -import { getInstalledAngularVersionInfo } from '../../executors/utilities/angular-version-utils'; -import type { Schema } from './schema'; - -export function validateOptions(options: Schema): void { - const angularVersionInfo = getInstalledAngularVersionInfo(); - validateAssets(options, angularVersionInfo); - validateBuildOptimizer(options, angularVersionInfo); - validateVendorChunk(options, angularVersionInfo); -} - -function validateAssets(options: Schema, { version }: VersionInfo): void { - if ( - lt(version, '15.1.0') && - Array.isArray(options.assets) && - options.assets.length > 0 - ) { - throw new Error(stripIndents`The "assets" option is supported from Angular >= 15.1.0. You are currently using "${version}". - You can resolve this error by removing the "assets" option or by migrating to Angular 15.1.0.`); - } -} - -function validateBuildOptimizer( - options: Schema, - { major, version }: VersionInfo -): void { - if (major < 16 && options.buildOptimizer) { - throw new Error(stripIndents`The "buildOptimizer" option is supported from Angular >= 16.0.0. You are currently using "${version}". - You can resolve this error by removing the "buildOptimizer" option.`); - } -} - -function validateVendorChunk(options: Schema, { version }: VersionInfo): void { - if (lt(version, '15.1.0') && options.vendorChunk) { - throw new Error(stripIndents`The "vendorChunk" option is supported from Angular >= 15.1.0. You are currently using "${version}". - You can resolve this error by removing the "vendorChunk" option or by migrating to Angular 15.1.0.`); - } -} diff --git a/packages/angular/src/builders/webpack-server/webpack-server.impl.ts b/packages/angular/src/builders/webpack-server/webpack-server.impl.ts index 97b44bb9e81d0..8bc75fdffe23a 100644 --- a/packages/angular/src/builders/webpack-server/webpack-server.impl.ts +++ b/packages/angular/src/builders/webpack-server/webpack-server.impl.ts @@ -10,7 +10,6 @@ import { switchMap } from 'rxjs/operators'; import { createTmpTsConfigForBuildableLibs } from '../utilities/buildable-libs'; import { mergeCustomWebpackConfig } from '../utilities/webpack'; import { Schema } from './schema'; -import { validateOptions } from './validate-options'; function buildServerApp( options: Schema, @@ -55,7 +54,7 @@ function buildServerAppWithCustomWebpackConfiguration( switchMap(({ executeServerBuilder }) => executeServerBuilder(options, context as any, { webpackConfiguration: async (baseWebpackConfig) => { - // Angular 15 auto includes code from @angular/platform-server + // Angular auto includes code from @angular/platform-server // This includes the code outside the shared scope created by ModuleFederation // This code will be included in the generated code from our generators, // maintaining it within the shared scope. @@ -96,8 +95,6 @@ export function executeWebpackServerBuilder( options: Schema, context: import('@angular-devkit/architect').BuilderContext ): Observable { - validateOptions(options); - options.buildLibsFromSource ??= true; process.env.NX_BUILD_LIBS_FROM_SOURCE = `${options.buildLibsFromSource}`; diff --git a/packages/angular/src/executors/application/application.impl.ts b/packages/angular/src/executors/application/application.impl.ts index 8011793470c34..a6e4ba4b9493b 100644 --- a/packages/angular/src/executors/application/application.impl.ts +++ b/packages/angular/src/executors/application/application.impl.ts @@ -10,11 +10,12 @@ import { } from '../utilities/esbuild-extensions'; import type { ApplicationExecutorOptions } from './schema'; import { validateOptions } from './utils/validate-options'; +import type { buildApplication as buildApplicationFn } from '@angular-devkit/build-angular'; export default async function* applicationExecutor( options: ApplicationExecutorOptions, context: ExecutorContext -) { +): ReturnType { validateOptions(options); const { @@ -46,7 +47,7 @@ export default async function* applicationExecutor( { builderName: 'application', description: 'Build an application.', - optionSchema: await import('./schema.json'), + optionSchema: require('./schema.json'), }, context ); diff --git a/packages/angular/src/executors/application/schema.json b/packages/angular/src/executors/application/schema.json index 3337a6b9b3341..e8f2c8a4e5ad6 100644 --- a/packages/angular/src/executors/application/schema.json +++ b/packages/angular/src/executors/application/schema.json @@ -600,11 +600,12 @@ }, "output": { "type": "string", + "default": "", "description": "Absolute path within the output." } }, "additionalProperties": false, - "required": ["glob", "input", "output"] + "required": ["glob", "input"] }, { "type": "string" diff --git a/packages/angular/src/executors/browser-esbuild/browser-esbuild.impl.ts b/packages/angular/src/executors/browser-esbuild/browser-esbuild.impl.ts index 06736bc155eba..e9f0f1bc6cd70 100644 --- a/packages/angular/src/executors/browser-esbuild/browser-esbuild.impl.ts +++ b/packages/angular/src/executors/browser-esbuild/browser-esbuild.impl.ts @@ -1,3 +1,4 @@ +import type { buildEsbuildBrowser as buildEsbuildBrowserFn } from '@angular-devkit/build-angular/src/builders/browser-esbuild'; import { stripIndents, type ExecutorContext } from '@nx/devkit'; import type { DependentBuildableProjectNode } from '@nx/js/src/utils/buildable-libs-utils'; import { createBuilderContext } from 'nx/src/adapter/ngcli-adapter'; @@ -9,7 +10,7 @@ import type { EsBuildSchema } from './schema'; export default async function* esbuildExecutor( options: EsBuildSchema, context: ExecutorContext -) { +): ReturnType { if (options.plugins) { const { major: angularMajorVersion, version: angularVersion } = getInstalledAngularVersionInfo(); @@ -41,17 +42,15 @@ export default async function* esbuildExecutor( const plugins = await loadPlugins(pluginPaths, options.tsConfig); - const { buildEsbuildBrowser } = await import( - '@angular-devkit/build-angular/src/builders/browser-esbuild/index' - ); + const { buildEsbuildBrowser } = < + typeof import('@angular-devkit/build-angular/src/builders/browser-esbuild') + >require('@angular-devkit/build-angular/src/builders/browser-esbuild'); const builderContext = await createBuilderContext( { builderName: 'browser-esbuild', description: 'Build a browser application', - optionSchema: await import( - '@angular-devkit/build-angular/src/builders/browser-esbuild/schema.json' - ), + optionSchema: require('@angular-devkit/build-angular/src/builders/browser-esbuild/schema.json'), }, context ); diff --git a/packages/angular/src/executors/browser-esbuild/schema.json b/packages/angular/src/executors/browser-esbuild/schema.json index 8426b48a58403..2d54c72474977 100644 --- a/packages/angular/src/executors/browser-esbuild/schema.json +++ b/packages/angular/src/executors/browser-esbuild/schema.json @@ -502,11 +502,12 @@ }, "output": { "type": "string", + "default": "", "description": "Absolute path within the output." } }, "additionalProperties": false, - "required": ["glob", "input", "output"] + "required": ["glob", "input"] }, { "type": "string" diff --git a/packages/angular/src/executors/extract-i18n/extract-i18n.impl.ts b/packages/angular/src/executors/extract-i18n/extract-i18n.impl.ts index 188587df20330..2c506951e895d 100644 --- a/packages/angular/src/executors/extract-i18n/extract-i18n.impl.ts +++ b/packages/angular/src/executors/extract-i18n/extract-i18n.impl.ts @@ -29,7 +29,7 @@ export default async function* extractI18nExecutor( { builderName: 'extrct-i18n', description: 'Extracts i18n messages from source code.', - optionSchema: await import('./schema.json'), + optionSchema: require('./schema.json'), }, context ); diff --git a/packages/angular/src/executors/module-federation-dev-server/module-federation-dev-server.impl.ts b/packages/angular/src/executors/module-federation-dev-server/module-federation-dev-server.impl.ts index c5f5218ab3059..6cea689118810 100644 --- a/packages/angular/src/executors/module-federation-dev-server/module-federation-dev-server.impl.ts +++ b/packages/angular/src/executors/module-federation-dev-server/module-federation-dev-server.impl.ts @@ -25,7 +25,10 @@ import { waitForPortOpen } from '@nx/web/src/utils/wait-for-port-open'; import fileServerExecutor from '@nx/web/src/executors/file-server/file-server.impl'; import { createBuilderContext } from 'nx/src/adapter/ngcli-adapter'; import { executeDevServerBuilder } from '../../builders/dev-server/dev-server.impl'; -import { validateDevRemotes } from '../../builders/utilities/module-federation'; +import { + getDynamicMfManifestFile, + validateDevRemotes, +} from '../../builders/utilities/module-federation'; import { extname, join } from 'path'; import { existsSync } from 'fs'; @@ -63,9 +66,7 @@ export async function* moduleFederationDevServerExecutor( { builderName: '@nx/angular:webpack-browser', description: 'Build a browser application', - optionSchema: await import( - '../../builders/webpack-browser/schema.json' - ), + optionSchema: require('../../builders/webpack-browser/schema.json'), }, context ) @@ -76,12 +77,10 @@ export async function* moduleFederationDevServerExecutor( return yield* currIter; } - let pathToManifestFile = join( - context.root, - project.sourceRoot, - 'assets/module-federation.manifest.json' - ); - if (options.pathToManifestFile) { + let pathToManifestFile: string; + if (!options.pathToManifestFile) { + pathToManifestFile = getDynamicMfManifestFile(project, context.root); + } else { const userPathToManifestFile = join( context.root, options.pathToManifestFile diff --git a/packages/angular/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-packagr.ts b/packages/angular/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-packagr.ts index 4a0f807ea9faa..b5a0c099c834e 100644 --- a/packages/angular/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-packagr.ts +++ b/packages/angular/src/executors/ng-packagr-lite/ng-packagr-adjustments/ng-packagr.ts @@ -8,13 +8,13 @@ export async function getNgPackagrInstance( const { major: angularMajorVersion } = getInstalledAngularVersionInfo(); if (angularMajorVersion >= 17) { const { WRITE_BUNDLES_TRANSFORM } = await import( - './v17+/ng-package/entry-point/write-bundles.di' + './v17+/ng-package/entry-point/write-bundles.di.js' ); const { WRITE_PACKAGE_TRANSFORM } = await import( - './v17+/ng-package/entry-point/write-package.di' + './v17+/ng-package/entry-point/write-package.di.js' ); const { STYLESHEET_PROCESSOR } = await import( - '../../utilities/ng-packagr/stylesheet-processor.di' + '../../utilities/ng-packagr/stylesheet-processor.di.js' ); const packagr = ngPackagr(); @@ -28,11 +28,13 @@ export async function getNgPackagrInstance( } const { NX_ENTRY_POINT_PROVIDERS } = await import( - './pre-v17/ng-package/entry-point/entry-point.di' + './pre-v17/ng-package/entry-point/entry-point.di.js' + ); + const { nxProvideOptions } = await import( + './pre-v17/ng-package/options.di.js' ); - const { nxProvideOptions } = await import('./pre-v17/ng-package/options.di'); const { NX_PACKAGE_PROVIDERS, NX_PACKAGE_TRANSFORM } = await import( - './pre-v17/ng-package/package.di' + './pre-v17/ng-package/package.di.js' ); const packagr = new NgPackagr([ diff --git a/packages/angular/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ngc/compile-source-files.ts b/packages/angular/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ngc/compile-source-files.ts index 6d11030fdf202..6c3465b6e93b5 100644 --- a/packages/angular/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ngc/compile-source-files.ts +++ b/packages/angular/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/ngc/compile-source-files.ts @@ -6,10 +6,6 @@ * - Support Angular Compiler `incrementalDriver` for Angular < 16. */ -import type { - CompilerOptions, - ParsedConfiguration, -} from '@angular/compiler-cli'; import { BuildGraph } from 'ng-packagr/lib/graph/build-graph'; import { EntryPointNode, @@ -25,21 +21,23 @@ import * as log from 'ng-packagr/lib/utils/log'; import { join } from 'node:path'; import * as ts from 'typescript'; import { getInstalledAngularVersionInfo } from '../../../../utilities/angular-version-utils'; -import { ngCompilerCli } from '../../../../utilities/ng-compiler-cli'; +import { loadEsmModule } from '../../../../utilities/module-loader'; import { NgPackagrOptions } from '../ng-package/options.di'; import { StylesheetProcessor } from '../styles/stylesheet-processor'; export async function compileSourceFiles( graph: BuildGraph, - tsConfig: ParsedConfiguration, + tsConfig: any, moduleResolutionCache: ts.ModuleResolutionCache, options: NgPackagrOptions, - extraOptions?: Partial, + extraOptions?: Partial, stylesheetProcessor?: StylesheetProcessor ) { - const { NgtscProgram, formatDiagnostics } = await ngCompilerCli(); + const { NgtscProgram, formatDiagnostics } = await loadEsmModule( + '@angular/compiler-cli' + ); const { cacheDirectory, watch, cacheEnabled } = options; - const tsConfigOptions: CompilerOptions = { + const tsConfigOptions: ts.CompilerOptions = { ...tsConfig.options, ...extraOptions, }; diff --git a/packages/angular/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/styles/stylesheet-processor.ts b/packages/angular/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/styles/stylesheet-processor.ts index 9ffd543be438e..c5aa5fd576a16 100644 --- a/packages/angular/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/styles/stylesheet-processor.ts +++ b/packages/angular/src/executors/ng-packagr-lite/ng-packagr-adjustments/pre-v17/styles/stylesheet-processor.ts @@ -6,9 +6,8 @@ * - Added PostCSS plugin needed to support TailwindCSS. */ -import * as browserslist from 'browserslist'; +import browserslist from 'browserslist'; import { existsSync } from 'fs'; -import { EsbuildExecutor } from 'ng-packagr/lib/esbuild/esbuild-executor'; import { generateKey, readCacheEntry, @@ -16,7 +15,7 @@ import { } from 'ng-packagr/lib/utils/cache'; import * as log from 'ng-packagr/lib/utils/log'; import { dirname, extname, join } from 'path'; -import * as autoprefixer from 'autoprefixer'; +import autoprefixer from 'autoprefixer'; import * as postcssUrl from 'postcss-url'; import { pathToFileURL } from 'node:url'; import { @@ -49,7 +48,8 @@ export class StylesheetProcessor { private browserslistData: string[]; private targets: string[]; private postCssProcessor: ReturnType; - private esbuild = new EsbuildExecutor(); + private esbuild = + new (require('ng-packagr/lib/esbuild/esbuild-executor').EsbuildExecutor)(); private styleIncludePaths: string[]; constructor( diff --git a/packages/angular/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-package.transform.ts b/packages/angular/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-package.transform.ts index 43dcf43d0907b..2aca0e5df5c6f 100644 --- a/packages/angular/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-package.transform.ts +++ b/packages/angular/src/executors/ng-packagr-lite/ng-packagr-adjustments/v17+/ng-package/entry-point/write-package.transform.ts @@ -354,12 +354,6 @@ type ConditionalExport = { esm2022?: string; esm?: string; default?: string; - - // backward compat for Angular < 16 - node?: string; - esm2020?: string; - es2020?: string; - es2015?: string; }; /** diff --git a/packages/angular/src/executors/ng-packagr-lite/schema.json b/packages/angular/src/executors/ng-packagr-lite/schema.json index 703d9b7856a7a..c9ee575596926 100644 --- a/packages/angular/src/executors/ng-packagr-lite/schema.json +++ b/packages/angular/src/executors/ng-packagr-lite/schema.json @@ -3,7 +3,7 @@ "outputCapture": "direct-nodejs", "$schema": "https://json-schema.org/schema", "title": "ng-packagr Target", - "description": "Builds an Angular library with support for incremental builds.\n\nThis executor is meant to be used with buildable libraries in an incremental build scenario. It is similar to the `@nx/angular:package` executor but with some key differences:\n- For supported Angular versions lower than v16, it doesn't run `ngcc` automatically (`ngcc` is no longer available from Angular v16 onwards, for lower versions, it needs to be run separately beforehand if needed, this can be done in a `postinstall` hook on `package.json`).\n- It only produces ESM2022 bundles (ESM2020 for supported Angular versions lower than v16).", + "description": "Builds an Angular library with support for incremental builds.\n\nThis executor is meant to be used with buildable libraries in an incremental build scenario. It is similar to the `@nx/angular:package` executor but it only produces ESM2022 bundles.", "cli": "nx", "type": "object", "presets": [ diff --git a/packages/angular/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.transform.ts b/packages/angular/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.transform.ts index f2b432cff2337..c3d5885e37456 100644 --- a/packages/angular/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.transform.ts +++ b/packages/angular/src/executors/package/ng-packagr-adjustments/ng-package/entry-point/compile-ngc.transform.ts @@ -19,7 +19,7 @@ import { PackageNode, } from 'ng-packagr/lib/ng-package/nodes'; import { setDependenciesTsConfigPaths } from 'ng-packagr/lib/ts/tsconfig'; -import * as ora from 'ora'; +import ora from 'ora'; import * as path from 'path'; import * as ts from 'typescript'; import { getInstalledAngularVersionInfo } from '../../../../utilities/angular-version-utils'; diff --git a/packages/angular/src/executors/package/ng-packagr-adjustments/ng-packagr.ts b/packages/angular/src/executors/package/ng-packagr-adjustments/ng-packagr.ts index d4f4f84fb02df..b7c6d051cda75 100644 --- a/packages/angular/src/executors/package/ng-packagr-adjustments/ng-packagr.ts +++ b/packages/angular/src/executors/package/ng-packagr-adjustments/ng-packagr.ts @@ -8,7 +8,7 @@ export async function getNgPackagrInstance( const { major: angularMajorVersion } = getInstalledAngularVersionInfo(); if (angularMajorVersion >= 17) { const { STYLESHEET_PROCESSOR } = await import( - '../../utilities/ng-packagr/stylesheet-processor.di' + '../../utilities/ng-packagr/stylesheet-processor.di.js' ); const packagr = ngPackagr(); @@ -17,11 +17,11 @@ export async function getNgPackagrInstance( } const { NX_ENTRY_POINT_PROVIDERS } = await import( - './ng-package/entry-point/entry-point.di' + './ng-package/entry-point/entry-point.di.js' ); - const { nxProvideOptions } = await import('./ng-package/options.di'); + const { nxProvideOptions } = await import('./ng-package/options.di.js'); const { NX_PACKAGE_PROVIDERS, NX_PACKAGE_TRANSFORM } = await import( - './ng-package/package.di' + './ng-package/package.di.js' ); const packagr = new NgPackagr([ diff --git a/packages/angular/src/executors/package/ng-packagr-adjustments/ngc/compile-source-files.ts b/packages/angular/src/executors/package/ng-packagr-adjustments/ngc/compile-source-files.ts index 72142a20e7a46..096ec517e2f55 100644 --- a/packages/angular/src/executors/package/ng-packagr-adjustments/ngc/compile-source-files.ts +++ b/packages/angular/src/executors/package/ng-packagr-adjustments/ngc/compile-source-files.ts @@ -7,10 +7,6 @@ * - Support Angular Compiler `incrementalDriver` for Angular < 16. */ -import type { - CompilerOptions, - ParsedConfiguration, -} from '@angular/compiler-cli'; import { BuildGraph } from 'ng-packagr/lib/graph/build-graph'; import { EntryPointNode, @@ -26,22 +22,24 @@ import { import { join } from 'node:path'; import * as ts from 'typescript'; import { getInstalledAngularVersionInfo } from '../../../utilities/angular-version-utils'; -import { ngCompilerCli } from '../../../utilities/ng-compiler-cli'; +import { loadEsmModule } from '../../../utilities/module-loader'; import { NgPackagrOptions } from '../ng-package/options.di'; import { StylesheetProcessor } from '../styles/stylesheet-processor'; export async function compileSourceFiles( graph: BuildGraph, - tsConfig: ParsedConfiguration, + tsConfig: any, moduleResolutionCache: ts.ModuleResolutionCache, options: NgPackagrOptions, - extraOptions?: Partial, + extraOptions?: Partial, stylesheetProcessor?: StylesheetProcessor, ngccProcessor?: any ) { - const { NgtscProgram, formatDiagnostics } = await ngCompilerCli(); + const { NgtscProgram, formatDiagnostics } = await loadEsmModule( + '@angular/compiler-cli' + ); const { cacheDirectory, watch, cacheEnabled } = options; - const tsConfigOptions: CompilerOptions = { + const tsConfigOptions: ts.CompilerOptions = { ...tsConfig.options, ...extraOptions, }; diff --git a/packages/angular/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.ts b/packages/angular/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.ts index 2cdee3d555a3c..dc04408c3c847 100644 --- a/packages/angular/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.ts +++ b/packages/angular/src/executors/package/ng-packagr-adjustments/styles/stylesheet-processor.ts @@ -6,9 +6,8 @@ * - Added PostCSS plugin needed to support TailwindCSS. */ -import * as browserslist from 'browserslist'; +import browserslist from 'browserslist'; import { existsSync } from 'fs'; -import { EsbuildExecutor } from 'ng-packagr/lib/esbuild/esbuild-executor'; import { generateKey, readCacheEntry, @@ -16,7 +15,7 @@ import { } from 'ng-packagr/lib/utils/cache'; import * as log from 'ng-packagr/lib/utils/log'; import { dirname, extname, join } from 'path'; -import * as autoprefixer from 'autoprefixer'; +import autoprefixer from 'autoprefixer'; import * as postcssUrl from 'postcss-url'; import { pathToFileURL } from 'node:url'; import { @@ -42,7 +41,8 @@ export class StylesheetProcessor { private browserslistData: string[]; private targets: string[]; private postCssProcessor: ReturnType; - private esbuild = new EsbuildExecutor(); + private esbuild = + new (require('ng-packagr/lib/esbuild/esbuild-executor').EsbuildExecutor)(); private styleIncludePaths: string[]; constructor( diff --git a/packages/angular/src/executors/utilities/esbuild-extensions.ts b/packages/angular/src/executors/utilities/esbuild-extensions.ts index 8e2a26db74f57..8db8a62cbb859 100644 --- a/packages/angular/src/executors/utilities/esbuild-extensions.ts +++ b/packages/angular/src/executors/utilities/esbuild-extensions.ts @@ -1,7 +1,5 @@ -import type { IndexHtmlTransform } from '@angular-devkit/build-angular/src/utils/index-file/index-html-generator'; import { registerTsProject } from '@nx/js/src/internal'; import type { Plugin } from 'esbuild'; -import type { Connect } from 'vite'; import { loadModule } from './module-loader'; export type PluginSpec = { @@ -45,7 +43,7 @@ async function loadPlugin(pluginSpec: string | PluginSpec): Promise { export async function loadMiddleware( middlewareFns: string[] | undefined, tsConfig: string -): Promise { +): Promise { if (!middlewareFns?.length) { return []; } @@ -61,7 +59,7 @@ export async function loadMiddleware( export async function loadIndexHtmlTransformer( indexHtmlTransformerPath: string, tsConfig: string -): Promise { +): Promise { const cleanupTranspiler = registerTsProject(tsConfig); try { diff --git a/packages/angular/src/executors/utilities/module-loader.ts b/packages/angular/src/executors/utilities/module-loader.ts index f1e6e739e3033..600dad7cda374 100644 --- a/packages/angular/src/executors/utilities/module-loader.ts +++ b/packages/angular/src/executors/utilities/module-loader.ts @@ -45,7 +45,7 @@ let load: ((modulePath: string | URL) => Promise) | undefined; * @param modulePath The path of the module to load. * @returns A Promise that resolves to the dynamically imported module. */ -export function loadEsmModule(modulePath: string | URL): Promise { +export function loadEsmModule(modulePath: string | URL): Promise { load ??= new Function('modulePath', `return import(modulePath);`) as Exclude< typeof load, undefined diff --git a/packages/angular/src/executors/utilities/ng-compiler-cli.ts b/packages/angular/src/executors/utilities/ng-compiler-cli.ts deleted file mode 100644 index 0151c9f58ffbf..0000000000000 --- a/packages/angular/src/executors/utilities/ng-compiler-cli.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { loadEsmModule } from './module-loader'; - -export function ngCompilerCli(): Promise< - typeof import('@angular/compiler-cli') -> { - return loadEsmModule('@angular/compiler-cli'); -} diff --git a/packages/angular/src/executors/utilities/ng-packagr/stylesheet-processor.ts b/packages/angular/src/executors/utilities/ng-packagr/stylesheet-processor.ts index 5f14ac6fda6a8..d59605b7ca442 100644 --- a/packages/angular/src/executors/utilities/ng-packagr/stylesheet-processor.ts +++ b/packages/angular/src/executors/utilities/ng-packagr/stylesheet-processor.ts @@ -6,7 +6,7 @@ * config at the root of the workspace. */ -import * as browserslist from 'browserslist'; +import browserslist from 'browserslist'; import { existsSync } from 'fs'; import { dirname, join } from 'path'; const Piscina = require('piscina'); @@ -15,7 +15,7 @@ import { colors } from 'ng-packagr/lib/utils/color'; import { getTailwindConfigPath } from './tailwindcss'; import { workspaceRoot } from '@nx/devkit'; import type { PostcssConfiguration } from 'ng-packagr/lib/styles/postcss-configuration'; -import { gt } from 'semver'; +import { gt, gte } from 'semver'; import { getInstalledPackageVersionInfo } from '../angular-version-utils'; const maxWorkersVariable = process.env['NG_BUILD_MAX_WORKERS']; @@ -93,12 +93,31 @@ export class StylesheetProcessor { const { version: ngPackagrVersion } = getInstalledPackageVersionInfo('ng-packagr'); + let tailwindConfigPath: string | undefined; let postcssConfiguration: PostcssConfiguration | undefined; - if (gt(ngPackagrVersion, '17.2.0')) { + if (gte(ngPackagrVersion, '18.0.0')) { + const { + findTailwindConfiguration, + generateSearchDirectories, + loadPostcssConfiguration, + } = require('ng-packagr/lib/styles/postcss-configuration'); + let searchDirs = generateSearchDirectories([this.projectBasePath]); + postcssConfiguration = loadPostcssConfiguration(searchDirs); + // (nx-specific): we support loading the TailwindCSS config from the root of the workspace + searchDirs = generateSearchDirectories([ + this.projectBasePath, + workspaceRoot, + ]); + tailwindConfigPath = findTailwindConfiguration(searchDirs); + } else if (gt(ngPackagrVersion, '17.2.0')) { const { loadPostcssConfiguration, } = require('ng-packagr/lib/styles/postcss-configuration'); postcssConfiguration = loadPostcssConfiguration(this.projectBasePath); + tailwindConfigPath = getTailwindConfigPath( + this.projectBasePath, + workspaceRoot + ); } this.renderWorker = new Piscina({ @@ -113,10 +132,7 @@ export class StylesheetProcessor { }, workerData: { postcssConfiguration, - tailwindConfigPath: getTailwindConfigPath( - this.projectBasePath, - workspaceRoot - ), + tailwindConfigPath, projectBasePath: this.projectBasePath, browserslistData, targets: transformSupportedBrowsersToTargets(browserslistData), @@ -200,9 +216,9 @@ export class AsyncStylesheetProcessor { getInstalledPackageVersionInfo('ng-packagr'); let postcssConfiguration: PostcssConfiguration | undefined; if (ngPackagrVersion === '17.2.0') { - const { loadPostcssConfiguration } = await import( - 'ng-packagr/lib/styles/postcss-configuration' - ); + const { + loadPostcssConfiguration, + } = require('ng-packagr/lib/styles/postcss-configuration'); postcssConfiguration = await loadPostcssConfiguration( this.projectBasePath ); diff --git a/packages/angular/src/executors/utilities/typescript.ts b/packages/angular/src/executors/utilities/typescript.ts index f675b56df7eb5..805e3fcf0d14e 100644 --- a/packages/angular/src/executors/utilities/typescript.ts +++ b/packages/angular/src/executors/utilities/typescript.ts @@ -7,19 +7,13 @@ * to be the original tsconfig file. */ -import type { - CompilerOptions, - ParsedConfiguration, -} from '@angular/compiler-cli'; import { resolve } from 'path'; import * as ts from 'typescript'; -import { ngCompilerCli } from './ng-compiler-cli'; +import { loadEsmModule } from './module-loader'; -async function readDefaultTsConfig( - fileName: string -): Promise { +async function readDefaultTsConfig(fileName: string) { // these options are mandatory - const extraOptions: CompilerOptions = { + const extraOptions: ts.CompilerOptions = { target: ts.ScriptTarget.ES2020, experimentalDecorators: true, @@ -39,7 +33,7 @@ async function readDefaultTsConfig( flatModuleOutFile: 'AUTOGENERATED', }; - const { readConfiguration } = await ngCompilerCli(); + const { readConfiguration } = await loadEsmModule('@angular/compiler-cli'); return readConfiguration(fileName, extraOptions); } @@ -51,7 +45,7 @@ export async function parseRemappedTsConfigAndMergeDefaults( workspaceRoot: string, originalFilePath: string, remappedFilePath: string -): Promise { +) { const parsedConfiguration = await readDefaultTsConfig(remappedFilePath); parsedConfiguration.options.configFilePath = resolve( workspaceRoot, diff --git a/packages/angular/src/generators/application/__snapshots__/application.spec.ts.snap b/packages/angular/src/generators/application/__snapshots__/application.spec.ts.snap index 11b543fc29b5b..b49e3748b7eae 100644 --- a/packages/angular/src/generators/application/__snapshots__/application.spec.ts.snap +++ b/packages/angular/src/generators/application/__snapshots__/application.spec.ts.snap @@ -243,8 +243,10 @@ exports[`app --project-name-and-root-format=derived should generate correctly wh "executor": "@angular-devkit/build-angular:application", "options": { "assets": [ - "apps/my-dir/my-app/src/favicon.ico", - "apps/my-dir/my-app/src/assets", + { + "glob": "**/*", + "input": "apps/my-dir/my-app/public", + }, ], "browser": "apps/my-dir/my-app/src/main.ts", "index": "apps/my-dir/my-app/src/index.html", @@ -444,8 +446,10 @@ exports[`app --project-name-and-root-format=derived should generate correctly wh "executor": "@angular-devkit/build-angular:application", "options": { "assets": [ - "apps/my-app/src/favicon.ico", - "apps/my-app/src/assets", + { + "glob": "**/*", + "input": "apps/my-app/public", + }, ], "browser": "apps/my-app/src/main.ts", "index": "apps/my-app/src/index.html", @@ -620,12 +624,12 @@ bootstrapApplication(AppComponent, appConfig).catch((err) => `; exports[`app --standalone should generate a standalone app correctly with routing 2`] = ` -"import { ApplicationConfig } from '@angular/core'; +"import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core'; import { provideRouter } from '@angular/router'; import { appRoutes } from './app.routes'; export const appConfig: ApplicationConfig = { - providers: [provideRouter(appRoutes) ] + providers: [provideZoneChangeDetection({ eventCoalescing: true }), provideRouter(appRoutes) ] }; " `; @@ -698,10 +702,10 @@ bootstrapApplication(AppComponent, appConfig).catch((err) => `; exports[`app --standalone should generate a standalone app correctly without routing 2`] = ` -"import { ApplicationConfig } from '@angular/core'; +"import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core'; export const appConfig: ApplicationConfig = { - providers: [] + providers: [provideZoneChangeDetection({ eventCoalescing: true }), ] }; " `; @@ -753,6 +757,17 @@ describe('AppComponent', () => { " `; +exports[`app --standalone should should not use event coalescing in versions lower than v18 1`] = ` +"import { ApplicationConfig } from '@angular/core'; +import { provideRouter } from '@angular/router'; +import { appRoutes } from './app.routes'; + +export const appConfig: ApplicationConfig = { + providers: [provideRouter(appRoutes) ] +}; +" +`; + exports[`app --strict should enable strict type checking: app tsconfig.json 1`] = ` { "angularCompilerOptions": { @@ -819,8 +834,8 @@ exports[`app --strict should enable strict type checking: e2e tsconfig.json 1`] } `; -exports[`app angular v15 support should import "ApplicationConfig" from "@angular/platform-browser" 1`] = ` -"import { ApplicationConfig } from '@angular/platform-browser'; +exports[`app angular compat support should import "ApplicationConfig" from "@angular/platform-browser" 1`] = ` +"import { ApplicationConfig } from '@angular/core'; import { provideRouter } from '@angular/router'; import { appRoutes } from './app.routes'; @@ -940,8 +955,10 @@ exports[`app nested should create project configs 1`] = ` "executor": "@angular-devkit/build-angular:application", "options": { "assets": [ - "my-dir/my-app/src/favicon.ico", - "my-dir/my-app/src/assets", + { + "glob": "**/*", + "input": "my-dir/my-app/public", + }, ], "browser": "my-dir/my-app/src/main.ts", "index": "my-dir/my-app/src/index.html", @@ -1054,8 +1071,10 @@ exports[`app not nested should create project configs 1`] = ` "executor": "@angular-devkit/build-angular:application", "options": { "assets": [ - "my-app/src/favicon.ico", - "my-app/src/assets", + { + "glob": "**/*", + "input": "my-app/public", + }, ], "browser": "my-app/src/main.ts", "index": "my-app/src/index.html", diff --git a/packages/angular/src/generators/application/application.spec.ts b/packages/angular/src/generators/application/application.spec.ts index 514129d1c5b6b..3b4ad5b08ee04 100644 --- a/packages/angular/src/generators/application/application.spec.ts +++ b/packages/angular/src/generators/application/application.spec.ts @@ -896,6 +896,19 @@ describe('app', () => { appTree.read('standalone/src/app/nx-welcome.component.ts', 'utf-8') ).toContain('standalone: true'); }); + + it('should should not use event coalescing in versions lower than v18', async () => { + updateJson(appTree, 'package.json', (json) => ({ + ...json, + dependencies: { ...json.dependencies, '@angular/core': '~17.0.0' }, + })); + + await generateApp(appTree, 'standalone', { standalone: true }); + + expect( + appTree.read('standalone/src/app/app.config.ts', 'utf-8') + ).toMatchSnapshot(); + }); }); it('should generate correct main.ts', async () => { @@ -903,6 +916,27 @@ describe('app', () => { await generateApp(appTree, 'myapp'); // ASSERT + expect(appTree.read('myapp/src/main.ts', 'utf-8')).toMatchInlineSnapshot(` + "import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; + import { AppModule } from './app/app.module'; + + platformBrowserDynamic() + .bootstrapModule(AppModule, { + ngZoneEventCoalescing: true + }) + .catch((err) => console.error(err)); + " + `); + }); + + it('should should not use event coalescing in versions lower than v18', async () => { + updateJson(appTree, 'package.json', (json) => ({ + ...json, + dependencies: { ...json.dependencies, '@angular/core': '~17.0.0' }, + })); + + await generateApp(appTree, 'myapp'); + expect(appTree.read('myapp/src/main.ts', 'utf-8')).toMatchInlineSnapshot(` "import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { AppModule } from './app/app.module'; @@ -1190,14 +1224,14 @@ describe('app', () => { }); }); - describe('angular v15 support', () => { + describe('angular compat support', () => { beforeEach(() => { appTree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); updateJson(appTree, 'package.json', (json) => ({ ...json, dependencies: { ...json.dependencies, - '@angular/core': '~15.2.0', + '@angular/core': '~16.2.0', }, })); }); @@ -1207,13 +1241,13 @@ describe('app', () => { const { devDependencies } = readJson(appTree, 'package.json'); expect(devDependencies['@angular-devkit/build-angular']).toEqual( - backwardCompatibleVersions.angularV15.angularDevkitVersion + backwardCompatibleVersions.angularV16.angularDevkitVersion ); expect(devDependencies['@angular-devkit/schematics']).toEqual( - backwardCompatibleVersions.angularV15.angularDevkitVersion + backwardCompatibleVersions.angularV16.angularDevkitVersion ); expect(devDependencies['@schematics/angular']).toEqual( - backwardCompatibleVersions.angularV15.angularDevkitVersion + backwardCompatibleVersions.angularV16.angularDevkitVersion ); }); @@ -1264,6 +1298,21 @@ describe('app', () => { .esModuleInterop ).toBeUndefined(); }); + + it('should configure the correct assets for versions lower than v18', async () => { + updateJson(appTree, 'package.json', (json) => ({ + ...json, + dependencies: { ...json.dependencies, '@angular/core': '~17.0.0' }, + })); + + await generateApp(appTree, 'my-app', { rootProject: true }); + + const project = readProjectConfiguration(appTree, 'my-app'); + expect(project.targets.build.options.assets).toStrictEqual([ + './src/favicon.ico', + './src/assets', + ]); + }); }); }); diff --git a/packages/angular/src/generators/application/files/base/src/favicon.ico b/packages/angular/src/generators/application/files/base-18+/public/favicon.ico similarity index 100% rename from packages/angular/src/generators/application/files/base/src/favicon.ico rename to packages/angular/src/generators/application/files/base-18+/public/favicon.ico diff --git a/packages/angular/src/generators/application/files/base/src/assets/.gitkeep__tpl__ b/packages/angular/src/generators/application/files/base-pre18/src/assets/.gitkeep__tpl__ similarity index 100% rename from packages/angular/src/generators/application/files/base/src/assets/.gitkeep__tpl__ rename to packages/angular/src/generators/application/files/base-pre18/src/assets/.gitkeep__tpl__ diff --git a/packages/angular/src/generators/application/files/base-pre18/src/favicon.ico b/packages/angular/src/generators/application/files/base-pre18/src/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..317ebcb2336e0833a22dddf0ab287849f26fda57 GIT binary patch literal 15086 zcmeI332;U^%p|z7g|#(P)qFEA@4f!_@qOK2 z_lJl}!lhL!VT_U|uN7%8B2iKH??xhDa;*`g{yjTFWHvXn;2s{4R7kH|pKGdy(7z!K zgftM+Ku7~24TLlh(!g)gz|foI94G^t2^IO$uvX$3(OR0<_5L2sB)lMAMy|+`xodJ{ z_Uh_1m)~h?a;2W{dmhM;u!YGo=)OdmId_B<%^V^{ovI@y`7^g1_V9G}*f# zNzAtvou}I!W1#{M^@ROc(BZ! z+F!!_aR&Px3_reO(EW+TwlW~tv*2zr?iP7(d~a~yA|@*a89IUke+c472NXM0wiX{- zl`UrZC^1XYyf%1u)-Y)jj9;MZ!SLfd2Hl?o|80Su%Z?To_=^g_Jt0oa#CT*tjx>BI z16wec&AOWNK<#i0Qd=1O$fymLRoUR*%;h@*@v7}wApDl^w*h}!sYq%kw+DKDY)@&A z@9$ULEB3qkR#85`lb8#WZw=@})#kQig9oqy^I$dj&k4jU&^2(M3q{n1AKeGUKPFbr z1^<)aH;VsG@J|B&l>UtU#Ejv3GIqERzYgL@UOAWtW<{p#zy`WyJgpCy8$c_e%wYJL zyGHRRx38)HyjU3y{-4z6)pzb>&Q1pR)B&u01F-|&Gx4EZWK$nkUkOI|(D4UHOXg_- zw{OBf!oWQUn)Pe(=f=nt=zkmdjpO^o8ZZ9o_|4tW1ni+Un9iCW47*-ut$KQOww!;u z`0q)$s6IZO!~9$e_P9X!hqLxu`fpcL|2f^I5d4*a@Dq28;@2271v_N+5HqYZ>x;&O z05*7JT)mUe&%S0@UD)@&8SmQrMtsDfZT;fkdA!r(S=}Oz>iP)w=W508=Rc#nNn7ym z1;42c|8($ALY8#a({%1#IXbWn9-Y|0eDY$_L&j{63?{?AH{);EzcqfydD$@-B`Y3<%IIj7S7rK_N}je^=dEk%JQ4c z!tBdTPE3Tse;oYF>cnrapWq*o)m47X1`~6@(!Y29#>-#8zm&LXrXa(3=7Z)ElaQqj z-#0JJy3Fi(C#Rx(`=VXtJ63E2_bZGCz+QRa{W0e2(m3sI?LOcUBx)~^YCqZ{XEPX)C>G>U4tfqeH8L(3|pQR*zbL1 zT9e~4Tb5p9_G}$y4t`i*4t_Mr9QYvL9C&Ah*}t`q*}S+VYh0M6GxTTSXI)hMpMpIq zD1ImYqJLzbj0}~EpE-aH#VCH_udYEW#`P2zYmi&xSPs_{n6tBj=MY|-XrA;SGA_>y zGtU$?HXm$gYj*!N)_nQ59%lQdXtQZS3*#PC-{iB_sm+ytD*7j`D*k(P&IH2GHT}Eh z5697eQECVIGQAUe#eU2I!yI&%0CP#>%6MWV z@zS!p@+Y1i1b^QuuEF*13CuB zu69dve5k7&Wgb+^s|UB08Dr3u`h@yM0NTj4h7MnHo-4@xmyr7(*4$rpPwsCDZ@2be zRz9V^GnV;;?^Lk%ynzq&K(Aix`mWmW`^152Hoy$CTYVehpD-S1-W^#k#{0^L`V6CN+E z!w+xte;2vu4AmVNEFUOBmrBL>6MK@!O2*N|2=d|Y;oN&A&qv=qKn73lDD zI(+oJAdgv>Yr}8(&@ZuAZE%XUXmX(U!N+Z_sjL<1vjy1R+1IeHt`79fnYdOL{$ci7 z%3f0A*;Zt@ED&Gjm|OFTYBDe%bbo*xXAQsFz+Q`fVBH!N2)kaxN8P$c>sp~QXnv>b zwq=W3&Mtmih7xkR$YA)1Yi?avHNR6C99!u6fh=cL|KQ&PwF!n@ud^n(HNIImHD!h87!i*t?G|p0o+eelJ?B@A64_9%SBhNaJ64EvKgD&%LjLCYnNfc; znj?%*p@*?dq#NqcQFmmX($wms@CSAr9#>hUR^=I+=0B)vvGX%T&#h$kmX*s=^M2E!@N9#m?LhMvz}YB+kd zG~mbP|D(;{s_#;hsKK9lbVK&Lo734x7SIFJ9V_}2$@q?zm^7?*XH94w5Qae{7zOMUF z^?%F%)c1Y)Q?Iy?I>knw*8gYW#ok|2gdS=YYZLiD=CW|Nj;n^x!=S#iJ#`~Ld79+xXpVmUK^B(xO_vO!btA9y7w3L3-0j-y4 z?M-V{%z;JI`bk7yFDcP}OcCd*{Q9S5$iGA7*E1@tfkyjAi!;wP^O71cZ^Ep)qrQ)N z#wqw0_HS;T7x3y|`P==i3hEwK%|>fZ)c&@kgKO1~5<5xBSk?iZV?KI6&i72H6S9A* z=U(*e)EqEs?Oc04)V-~K5AUmh|62H4*`UAtItO$O(q5?6jj+K^oD!04r=6#dsxp?~}{`?&sXn#q2 zGuY~7>O2=!u@@Kfu7q=W*4egu@qPMRM>(eyYyaIE<|j%d=iWNdGsx%c!902v#ngNg z@#U-O_4xN$s_9?(`{>{>7~-6FgWpBpqXb`Ydc3OFL#&I}Irse9F_8R@4zSS*Y*o*B zXL?6*Aw!AfkNCgcr#*yj&p3ZDe2y>v$>FUdKIy_2N~}6AbHc7gA3`6$g@1o|dE>vz z4pl(j9;kyMsjaw}lO?(?Xg%4k!5%^t#@5n=WVc&JRa+XT$~#@rldvN3S1rEpU$;XgxVny7mki3 z-Hh|jUCHrUXuLr!)`w>wgO0N%KTB-1di>cj(x3Bav`7v z3G7EIbU$z>`Nad7Rk_&OT-W{;qg)-GXV-aJT#(ozdmnA~Rq3GQ_3mby(>q6Ocb-RgTUhTN)))x>m&eD;$J5Bg zo&DhY36Yg=J=$Z>t}RJ>o|@hAcwWzN#r(WJ52^g$lh^!63@hh+dR$&_dEGu&^CR*< z!oFqSqO@>xZ*nC2oiOd0eS*F^IL~W-rsrO`J`ej{=ou_q^_(<$&-3f^J z&L^MSYWIe{&pYq&9eGaArA~*kA, { + ngZoneEventCoalescing: true + }<% } %>) .catch((err) => console.error(err)); diff --git a/packages/angular/src/generators/application/files/standalone-components/src/app/app.config.ts__tpl__ b/packages/angular/src/generators/application/files/standalone-components/src/app/app.config.ts__tpl__ index aba1bdf1c7def..9655cae80bc4c 100644 --- a/packages/angular/src/generators/application/files/standalone-components/src/app/app.config.ts__tpl__ +++ b/packages/angular/src/generators/application/files/standalone-components/src/app/app.config.ts__tpl__ @@ -1,7 +1,7 @@ -import { ApplicationConfig } from <% if (angularMajorVersion >= 16) { %>'@angular/core';<% } else { %>'@angular/platform-browser';<% } %><% if (routing) { %> +import { ApplicationConfig<% if (useEventCoalescing) { %>, provideZoneChangeDetection<% } %> } from '@angular/core';<% if (routing) { %> import { provideRouter } from '@angular/router'; import { appRoutes } from './app.routes';<% } %> export const appConfig: ApplicationConfig = { - providers: [<% if (routing) { %>provideRouter(appRoutes) <% } %>] + providers: [<% if (useEventCoalescing) { %>provideZoneChangeDetection({ eventCoalescing: true }), <% } %><% if (routing) { %>provideRouter(appRoutes) <% } %>] }; diff --git a/packages/angular/src/generators/application/lib/create-files.ts b/packages/angular/src/generators/application/lib/create-files.ts index a9396186e0b9d..409817d9a5a61 100644 --- a/packages/angular/src/generators/application/lib/create-files.ts +++ b/packages/angular/src/generators/application/lib/create-files.ts @@ -36,6 +36,7 @@ export async function createFiles( angularMajorVersion, rootOffset, isUsingApplicationBuilder, + useEventCoalescing: angularMajorVersion >= 18, tpl: '', }; @@ -46,6 +47,22 @@ export async function createFiles( substitutions ); + if (angularMajorVersion >= 18) { + generateFiles( + tree, + joinPathFragments(__dirname, '../files/base-18+'), + options.appProjectRoot, + substitutions + ); + } else { + generateFiles( + tree, + joinPathFragments(__dirname, '../files/base-pre18'), + options.appProjectRoot, + substitutions + ); + } + if (options.standalone) { generateFiles( tree, diff --git a/packages/angular/src/generators/application/lib/create-project.ts b/packages/angular/src/generators/application/lib/create-project.ts index cf31041020ea4..5451263d0a9cc 100644 --- a/packages/angular/src/generators/application/lib/create-project.ts +++ b/packages/angular/src/generators/application/lib/create-project.ts @@ -1,4 +1,4 @@ -import { addProjectConfiguration, Tree } from '@nx/devkit'; +import { addProjectConfiguration, joinPathFragments, Tree } from '@nx/devkit'; import type { AngularProjectConfiguration } from '../../../utils/types'; import { getInstalledAngularVersionInfo } from '../../utils/version-utils'; import type { NormalizedSchema } from './normalized-schema'; @@ -64,12 +64,23 @@ export function createProject(tree: Tree, options: NormalizedSchema) { index: `${options.appProjectSourceRoot}/index.html`, [buildMainOptionName]: `${options.appProjectSourceRoot}/main.ts`, polyfills: ['zone.js'], - tsConfig: `${options.appProjectRoot}/tsconfig.app.json`, + tsConfig: joinPathFragments( + options.appProjectRoot, + 'tsconfig.app.json' + ), inlineStyleLanguage, - assets: [ - `${options.appProjectSourceRoot}/favicon.ico`, - `${options.appProjectSourceRoot}/assets`, - ], + assets: + angularMajorVersion >= 18 + ? [ + { + glob: '**/*', + input: joinPathFragments(options.appProjectRoot, 'public'), + }, + ] + : [ + `${options.appProjectSourceRoot}/favicon.ico`, + `${options.appProjectSourceRoot}/assets`, + ], styles: [`${options.appProjectSourceRoot}/styles.${options.style}`], scripts: [], }, diff --git a/packages/angular/src/generators/component-test/component-test.ts b/packages/angular/src/generators/component-test/component-test.ts index bfe567fe1282a..06982840f6451 100644 --- a/packages/angular/src/generators/component-test/component-test.ts +++ b/packages/angular/src/generators/component-test/component-test.ts @@ -18,9 +18,9 @@ export async function componentTestGenerator( options: ComponentTestSchema ) { ensurePackage('@nx/cypress', nxVersion); - const { assertMinimumCypressVersion } = await import( - '@nx/cypress/src/utils/cypress-version' - ); + const { assertMinimumCypressVersion } = < + typeof import('@nx/cypress/src/utils/cypress-version') + >require('@nx/cypress/src/utils/cypress-version'); assertMinimumCypressVersion(10); const { root } = readProjectConfiguration(tree, options.project); const componentDirPath = joinPathFragments(root, options.componentDir); diff --git a/packages/angular/src/generators/cypress-component-configuration/cypress-component-configuration.ts b/packages/angular/src/generators/cypress-component-configuration/cypress-component-configuration.ts index 2e02c8d622df8..648e8fa5c4739 100644 --- a/packages/angular/src/generators/cypress-component-configuration/cypress-component-configuration.ts +++ b/packages/angular/src/generators/cypress-component-configuration/cypress-component-configuration.ts @@ -74,7 +74,9 @@ async function addFiles( 'support', 'component.ts' ); - const { addMountDefinition } = await import('@nx/cypress/src/utils/config'); + const { addMountDefinition } = < + typeof import('@nx/cypress/src/utils/config') + >require('@nx/cypress/src/utils/config'); const updatedCmpContents = await addMountDefinition( tree.read(componentFile, 'utf-8') ); @@ -126,9 +128,9 @@ async function configureCypressCT( let found: FoundTarget = { target: options.buildTarget, config: undefined }; if (!options.buildTarget) { - const { findBuildConfig } = await import( - '@nx/cypress/src/utils/find-target-options' - ); + const { findBuildConfig } = < + typeof import('@nx/cypress/src/utils/find-target-options') + >require('@nx/cypress/src/utils/find-target-options'); found = await findBuildConfig(tree, { project: options.project, buildTarget: options.buildTarget, @@ -158,9 +160,9 @@ async function configureCypressCT( ctConfigOptions.buildTarget = found.target; } - const { addDefaultCTConfig, getProjectCypressConfigPath } = await import( - '@nx/cypress/src/utils/config' - ); + const { addDefaultCTConfig, getProjectCypressConfigPath } = < + typeof import('@nx/cypress/src/utils/config') + >require('@nx/cypress/src/utils/config'); const cypressConfigPath = getProjectCypressConfigPath( tree, projectConfig.root diff --git a/packages/angular/src/generators/host/__snapshots__/host.spec.ts.snap b/packages/angular/src/generators/host/__snapshots__/host.spec.ts.snap index 2e50e3c16472e..9e151a6b1ce13 100644 --- a/packages/angular/src/generators/host/__snapshots__/host.spec.ts.snap +++ b/packages/angular/src/generators/host/__snapshots__/host.spec.ts.snap @@ -96,7 +96,9 @@ exports[`Host App Generator --ssr should generate the correct files 2`] = ` import { AppModule } from './app/app.module'; platformBrowserDynamic() - .bootstrapModule(AppModule) + .bootstrapModule(AppModule, { + ngZoneEventCoalescing: true, + }) .catch((err) => console.error(err)); " `; @@ -408,13 +410,17 @@ export const appRoutes: Route[] = [ `; exports[`Host App Generator --ssr should generate the correct files for standalone 8`] = ` -"import { ApplicationConfig } from '@angular/core'; +"import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core'; import { provideRouter } from '@angular/router'; import { appRoutes } from './app.routes'; import { provideClientHydration } from '@angular/platform-browser'; export const appConfig: ApplicationConfig = { - providers: [provideClientHydration(), provideRouter(appRoutes)], + providers: [ + provideClientHydration(), + provideZoneChangeDetection({ eventCoalescing: true }), + provideRouter(appRoutes), + ], }; " `; @@ -619,13 +625,17 @@ export const appRoutes: Route[] = [ `; exports[`Host App Generator --ssr should generate the correct files for standalone when --typescript=true 8`] = ` -"import { ApplicationConfig } from '@angular/core'; +"import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core'; import { provideRouter } from '@angular/router'; import { appRoutes } from './app.routes'; import { provideClientHydration } from '@angular/platform-browser'; export const appConfig: ApplicationConfig = { - providers: [provideClientHydration(), provideRouter(appRoutes)], + providers: [ + provideClientHydration(), + provideZoneChangeDetection({ eventCoalescing: true }), + provideRouter(appRoutes), + ], }; " `; @@ -716,7 +726,9 @@ exports[`Host App Generator --ssr should generate the correct files when --types import { AppModule } from './app/app.module'; platformBrowserDynamic() - .bootstrapModule(AppModule) + .bootstrapModule(AppModule, { + ngZoneEventCoalescing: true, + }) .catch((err) => console.error(err)); " `; diff --git a/packages/angular/src/generators/ng-add/migrators/builders/angular-devkit-karma.migrator.ts b/packages/angular/src/generators/ng-add/migrators/builders/angular-devkit-karma.migrator.ts index 6c6a254bc973b..f91ccd7f821f3 100644 --- a/packages/angular/src/generators/ng-add/migrators/builders/angular-devkit-karma.migrator.ts +++ b/packages/angular/src/generators/ng-add/migrators/builders/angular-devkit-karma.migrator.ts @@ -73,8 +73,9 @@ export class AngularDevkitKarmaMigrator extends BuilderMigrator { target.options.main = target.options.main && this.convertAsset(target.options.main); target.options.polyfills = Array.isArray(target.options.polyfills) - ? target.options.polyfills.map((p) => this.convertAsset(p)) - : target.options.polyfills && this.convertAsset(target.options.polyfills); + ? target.options.polyfills.map((p) => this.convertSourceRootPath(p)) + : target.options.polyfills && + this.convertSourceRootPath(target.options.polyfills); target.options.tsConfig = target.options.tsConfig && joinPathFragments( diff --git a/packages/angular/src/generators/ng-add/migrators/migrator.ts b/packages/angular/src/generators/ng-add/migrators/migrator.ts index dd9a2fd3d140c..a4503c7cb0df9 100644 --- a/packages/angular/src/generators/ng-add/migrators/migrator.ts +++ b/packages/angular/src/generators/ng-add/migrators/migrator.ts @@ -36,9 +36,9 @@ export abstract class Migrator { protected convertAsset(asset: string | any): string | any { if (typeof asset === 'string') { - return this.convertSourceRootPath(asset); + return this.convertRootPath(asset); } else { - return { ...asset, input: this.convertSourceRootPath(asset.input) }; + return { ...asset, input: this.convertRootPath(asset.input) }; } } @@ -51,6 +51,15 @@ export abstract class Migrator { : originalPath; } + protected convertSourceRootPath(originalPath: string): string { + return originalPath?.startsWith(this.project.oldSourceRoot) + ? joinPathFragments( + this.project.newSourceRoot, + originalPath.replace(this.project.oldSourceRoot, '') + ) + : originalPath; + } + protected moveFile(from: string, to: string, required: boolean = true): void { if (!this.tree.exists(from)) { if (required) { @@ -120,15 +129,6 @@ export abstract class Migrator { }); } - private convertSourceRootPath(originalPath: string): string { - return originalPath?.startsWith(this.project.oldSourceRoot) - ? joinPathFragments( - this.project.newSourceRoot, - originalPath.replace(this.project.oldSourceRoot, '') - ) - : originalPath; - } - private getTargetValuesForOption( target: TargetConfiguration, optionPath: string diff --git a/packages/angular/src/generators/ng-add/migrators/projects/app.migrator.ts b/packages/angular/src/generators/ng-add/migrators/projects/app.migrator.ts index 34cae6c5d1c58..b96acdc9c974b 100644 --- a/packages/angular/src/generators/ng-add/migrators/projects/app.migrator.ts +++ b/packages/angular/src/generators/ng-add/migrators/projects/app.migrator.ts @@ -257,8 +257,10 @@ export class AppMigrator extends ProjectMigrator { buildOptions.polyfills = buildOptions.polyfills && (Array.isArray(buildOptions.polyfills) - ? buildOptions.polyfills.map((asset) => this.convertAsset(asset)) - : this.convertAsset(buildOptions.polyfills as string)); + ? buildOptions.polyfills.map((asset) => + this.convertSourceRootPath(asset) + ) + : this.convertSourceRootPath(buildOptions.polyfills)); buildOptions.tsConfig = buildOptions.tsConfig && joinPathFragments(this.project.newRoot, basename(buildOptions.tsConfig)); diff --git a/packages/angular/src/generators/ng-add/migrators/projects/e2e.migrator.ts b/packages/angular/src/generators/ng-add/migrators/projects/e2e.migrator.ts index d49317a7f24d6..c265287b97893 100644 --- a/packages/angular/src/generators/ng-add/migrators/projects/e2e.migrator.ts +++ b/packages/angular/src/generators/ng-add/migrators/projects/e2e.migrator.ts @@ -343,7 +343,9 @@ export class E2eMigrator extends ProjectMigrator { const addPlugin = process.env.NX_ADD_PLUGINS !== 'false' && nxJson.useInferencePlugins !== false; - const { configurationGenerator } = await import('@nx/cypress'); + const { configurationGenerator } = ( + require('@nx/cypress') + ); await configurationGenerator(this.tree, { project: this.project.name, linter: this.isProjectUsingEsLint ? Linter.EsLint : Linter.None, diff --git a/packages/angular/src/generators/ngrx-root-store/__snapshots__/ngrx-root-store.spec.ts.snap b/packages/angular/src/generators/ngrx-root-store/__snapshots__/ngrx-root-store.spec.ts.snap index ab502ac9c9ed5..f6154e3a36471 100644 --- a/packages/angular/src/generators/ngrx-root-store/__snapshots__/ngrx-root-store.spec.ts.snap +++ b/packages/angular/src/generators/ngrx-root-store/__snapshots__/ngrx-root-store.spec.ts.snap @@ -426,7 +426,7 @@ export class AppModule {} `; exports[`NgRxRootStoreGenerator Standalone APIs should add a facade when --facade=true 1`] = ` -"import { ApplicationConfig } from '@angular/core'; +"import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core'; import { provideRouter } from '@angular/router'; import { appRoutes } from './app.routes'; import { provideStore, provideState } from '@ngrx/store'; @@ -436,7 +436,7 @@ import { UsersEffects } from './+state/users.effects'; import { UsersFacade } from './+state/users.facade'; export const appConfig: ApplicationConfig = { - providers: [provideEffects(UsersEffects),provideState(fromUsers.USERS_FEATURE_KEY, fromUsers.usersReducer),UsersFacade,provideEffects(),provideStore(),provideRouter(appRoutes) ] + providers: [provideEffects(UsersEffects),provideState(fromUsers.USERS_FEATURE_KEY, fromUsers.usersReducer),UsersFacade,provideEffects(),provideStore(),provideZoneChangeDetection({ eventCoalescing: true }), provideRouter(appRoutes) ] }; " `; @@ -473,7 +473,7 @@ export class UsersFacade { `; exports[`NgRxRootStoreGenerator Standalone APIs should add a root module and root state when --minimal=false 1`] = ` -"import { ApplicationConfig } from '@angular/core'; +"import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core'; import { provideRouter } from '@angular/router'; import { appRoutes } from './app.routes'; import { provideStore, provideState } from '@ngrx/store'; @@ -482,7 +482,7 @@ import * as fromUsers from './+state/users.reducer'; import { UsersEffects } from './+state/users.effects'; export const appConfig: ApplicationConfig = { - providers: [provideEffects(UsersEffects),provideState(fromUsers.USERS_FEATURE_KEY, fromUsers.usersReducer),provideEffects(),provideStore(),provideRouter(appRoutes) ] + providers: [provideEffects(UsersEffects),provideState(fromUsers.USERS_FEATURE_KEY, fromUsers.usersReducer),provideEffects(),provideStore(),provideZoneChangeDetection({ eventCoalescing: true }), provideRouter(appRoutes) ] }; " `; @@ -722,20 +722,20 @@ describe('Users Selectors', () => { `; exports[`NgRxRootStoreGenerator Standalone APIs should add an empty root module when --minimal=true 1`] = ` -"import { ApplicationConfig } from '@angular/core'; +"import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core'; import { provideRouter } from '@angular/router'; import { appRoutes } from './app.routes'; import { provideStore } from '@ngrx/store'; import { provideEffects } from '@ngrx/effects'; export const appConfig: ApplicationConfig = { - providers: [provideEffects(),provideStore(),provideRouter(appRoutes) ] + providers: [provideEffects(),provideStore(),provideZoneChangeDetection({ eventCoalescing: true }), provideRouter(appRoutes) ] }; " `; exports[`NgRxRootStoreGenerator Standalone APIs should instrument the store devtools when "addDevTools: true" 1`] = ` -"import { ApplicationConfig, isDevMode } from '@angular/core'; +"import { ApplicationConfig, provideZoneChangeDetection, isDevMode } from '@angular/core'; import { provideRouter } from '@angular/router'; import { appRoutes } from './app.routes'; import { provideStore } from '@ngrx/store'; @@ -743,7 +743,7 @@ import { provideEffects } from '@ngrx/effects'; import { provideStoreDevtools } from '@ngrx/store-devtools'; export const appConfig: ApplicationConfig = { - providers: [provideStoreDevtools({ logOnly: !isDevMode() }),provideEffects(),provideStore(),provideRouter(appRoutes) ] + providers: [provideStoreDevtools({ logOnly: !isDevMode() }),provideEffects(),provideStore(),provideZoneChangeDetection({ eventCoalescing: true }), provideRouter(appRoutes) ] }; " `; diff --git a/packages/angular/src/generators/ngrx/__snapshots__/ngrx.spec.ts.snap b/packages/angular/src/generators/ngrx/__snapshots__/ngrx.spec.ts.snap index d29c025109be9..98d812a7df048 100644 --- a/packages/angular/src/generators/ngrx/__snapshots__/ngrx.spec.ts.snap +++ b/packages/angular/src/generators/ngrx/__snapshots__/ngrx.spec.ts.snap @@ -756,7 +756,7 @@ bootstrapApplication(AppComponent, appConfig).catch((err) => `; exports[`ngrx Standalone APIs should add a root module with feature module when minimal is set to false 2`] = ` -"import { ApplicationConfig } from '@angular/core'; +"import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core'; import { provideRouter } from '@angular/router'; import { appRoutes } from './app.routes'; import { provideStore, provideState } from '@ngrx/store'; @@ -765,7 +765,7 @@ import * as fromUsers from './+state/users.reducer'; import { UsersEffects } from './+state/users.effects'; export const appConfig: ApplicationConfig = { - providers: [provideEffects(UsersEffects),provideState(fromUsers.USERS_FEATURE_KEY, fromUsers.usersReducer),provideEffects(),provideStore(),provideRouter(appRoutes) ] + providers: [provideEffects(UsersEffects),provideState(fromUsers.USERS_FEATURE_KEY, fromUsers.usersReducer),provideEffects(),provideStore(),provideZoneChangeDetection({ eventCoalescing: true }), provideRouter(appRoutes) ] }; " `; @@ -782,14 +782,14 @@ bootstrapApplication(AppComponent, appConfig).catch((err) => `; exports[`ngrx Standalone APIs should add an empty provideStore when minimal and root are set to true 2`] = ` -"import { ApplicationConfig } from '@angular/core'; +"import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core'; import { provideRouter } from '@angular/router'; import { appRoutes } from './app.routes'; import { provideStore, provideState } from '@ngrx/store'; import { provideEffects } from '@ngrx/effects'; export const appConfig: ApplicationConfig = { - providers: [provideEffects(),provideStore(),provideRouter(appRoutes) ] + providers: [provideEffects(),provideStore(),provideZoneChangeDetection({ eventCoalescing: true }), provideRouter(appRoutes) ] }; " `; @@ -806,7 +806,7 @@ bootstrapApplication(AppComponent, appConfig).catch((err) => `; exports[`ngrx Standalone APIs should add facade provider when facade is true 2`] = ` -"import { ApplicationConfig } from '@angular/core'; +"import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core'; import { provideRouter } from '@angular/router'; import { appRoutes } from './app.routes'; import { provideStore, provideState } from '@ngrx/store'; @@ -816,7 +816,7 @@ import { UsersEffects } from './+state/users.effects'; import { UsersFacade } from './+state/users.facade'; export const appConfig: ApplicationConfig = { - providers: [provideEffects(UsersEffects),provideState(fromUsers.USERS_FEATURE_KEY, fromUsers.usersReducer),provideEffects(),provideStore(),UsersFacade,provideRouter(appRoutes) ] + providers: [provideEffects(UsersEffects),provideState(fromUsers.USERS_FEATURE_KEY, fromUsers.usersReducer),provideEffects(),provideStore(),UsersFacade,provideZoneChangeDetection({ eventCoalescing: true }), provideRouter(appRoutes) ] }; " `; diff --git a/packages/angular/src/generators/ngrx/ngrx.spec.ts b/packages/angular/src/generators/ngrx/ngrx.spec.ts index 72b2e3ea32d4c..fa1319c7dc067 100644 --- a/packages/angular/src/generators/ngrx/ngrx.spec.ts +++ b/packages/angular/src/generators/ngrx/ngrx.spec.ts @@ -674,35 +674,35 @@ export const appRoutes: Routes = [{ path: 'home', component: NxWelcomeComponent ...json, dependencies: { ...json.dependencies, - '@angular/core': '15.0.0', + '@angular/core': '16.0.0', }, })); }); - it('should install the ngrx 15 packages', async () => { + it('should install the ngrx 16 packages', async () => { await ngrxGenerator(tree, defaultOptions); const packageJson = devkit.readJson(tree, 'package.json'); expect(packageJson.dependencies['@ngrx/store']).toEqual( - backwardCompatibleVersions.angularV15.ngrxVersion + backwardCompatibleVersions.angularV16.ngrxVersion ); expect(packageJson.dependencies['@ngrx/effects']).toEqual( - backwardCompatibleVersions.angularV15.ngrxVersion + backwardCompatibleVersions.angularV16.ngrxVersion ); expect(packageJson.dependencies['@ngrx/entity']).toEqual( - backwardCompatibleVersions.angularV15.ngrxVersion + backwardCompatibleVersions.angularV16.ngrxVersion ); expect(packageJson.dependencies['@ngrx/router-store']).toEqual( - backwardCompatibleVersions.angularV15.ngrxVersion + backwardCompatibleVersions.angularV16.ngrxVersion ); expect(packageJson.dependencies['@ngrx/component-store']).toEqual( - backwardCompatibleVersions.angularV15.ngrxVersion + backwardCompatibleVersions.angularV16.ngrxVersion ); expect(packageJson.devDependencies['@ngrx/schematics']).toEqual( - backwardCompatibleVersions.angularV15.ngrxVersion + backwardCompatibleVersions.angularV16.ngrxVersion ); expect(packageJson.devDependencies['@ngrx/store-devtools']).toEqual( - backwardCompatibleVersions.angularV15.ngrxVersion + backwardCompatibleVersions.angularV16.ngrxVersion ); expect(packageJson.devDependencies['jasmine-marbles']).toBeDefined(); }); diff --git a/packages/angular/src/generators/remote/__snapshots__/remote.spec.ts.snap b/packages/angular/src/generators/remote/__snapshots__/remote.spec.ts.snap index a06a027cc6f83..7bd6129de18e3 100644 --- a/packages/angular/src/generators/remote/__snapshots__/remote.spec.ts.snap +++ b/packages/angular/src/generators/remote/__snapshots__/remote.spec.ts.snap @@ -111,7 +111,9 @@ exports[`MF Remote App Generator --ssr should generate the correct files 2`] = ` import { AppModule } from './app/app.module'; platformBrowserDynamic() - .bootstrapModule(AppModule) + .bootstrapModule(AppModule, { + ngZoneEventCoalescing: true, + }) .catch((err) => console.error(err)); " `; @@ -333,7 +335,9 @@ exports[`MF Remote App Generator --ssr should generate the correct files when -- import { AppModule } from './app/app.module'; platformBrowserDynamic() - .bootstrapModule(AppModule) + .bootstrapModule(AppModule, { + ngZoneEventCoalescing: true, + }) .catch((err) => console.error(err)); " `; diff --git a/packages/angular/src/generators/setup-mf/__snapshots__/setup-mf.spec.ts.snap b/packages/angular/src/generators/setup-mf/__snapshots__/setup-mf.spec.ts.snap index 9feb7270fd29c..5797e19c46073 100644 --- a/packages/angular/src/generators/setup-mf/__snapshots__/setup-mf.spec.ts.snap +++ b/packages/angular/src/generators/setup-mf/__snapshots__/setup-mf.spec.ts.snap @@ -3,7 +3,7 @@ exports[`Init MF --federationType=dynamic should create a host with the correct configurations 1`] = ` "import { setRemoteDefinitions } from '@nx/angular/mf'; -fetch('/assets/module-federation.manifest.json') +fetch('/module-federation.manifest.json') .then((res) => res.json()) .then(definitions => setRemoteDefinitions(definitions)) .then(() => import('./bootstrap').catch(err => console.error(err)));" @@ -12,7 +12,7 @@ fetch('/assets/module-federation.manifest.json') exports[`Init MF --federationType=dynamic should create a host with the correct configurations when --typescriptConfiguration=true 1`] = ` "import { setRemoteDefinitions } from '@nx/angular/mf'; -fetch('/assets/module-federation.manifest.json') +fetch('/module-federation.manifest.json') .then((res) => res.json()) .then(definitions => setRemoteDefinitions(definitions)) .then(() => import('./bootstrap').catch(err => console.error(err)));" diff --git a/packages/angular/src/generators/setup-mf/lib/add-remote-to-host.ts b/packages/angular/src/generators/setup-mf/lib/add-remote-to-host.ts index ffb94f3806d12..6489940335702 100644 --- a/packages/angular/src/generators/setup-mf/lib/add-remote-to-host.ts +++ b/packages/angular/src/generators/setup-mf/lib/add-remote-to-host.ts @@ -32,14 +32,8 @@ export function checkIsCommaNeeded(mfRemoteText: string) { export function addRemoteToHost(tree: Tree, options: AddRemoteOptions) { if (options.host) { const hostProject = readProjectConfiguration(tree, options.host); - const pathToMFManifest = joinPathFragments( - hostProject.sourceRoot, - 'assets/module-federation.manifest.json' - ); - const hostFederationType = determineHostFederationType( - tree, - pathToMFManifest - ); + const pathToMFManifest = getDynamicManifestFile(tree, hostProject); + const hostFederationType = !!pathToMFManifest ? 'dynamic' : 'static'; const isHostUsingTypescriptConfig = tree.exists( joinPathFragments(hostProject.root, 'module-federation.config.ts') @@ -60,11 +54,23 @@ export function addRemoteToHost(tree: Tree, options: AddRemoteOptions) { } } -function determineHostFederationType( +function getDynamicManifestFile( tree: Tree, - pathToMfManifest: string -): 'dynamic' | 'static' { - return tree.exists(pathToMfManifest) ? 'dynamic' : 'static'; + project: ProjectConfiguration +): string | undefined { + // {sourceRoot}/assets/module-federation.manifest.json was the generated + // path for the manifest file in the past. We now generate the manifest + // file at {root}/public/module-federation.manifest.json. This check + // ensures that we can still support the old path for backwards + // compatibility since old projects may still have the manifest file + // at the old path. + return [ + joinPathFragments(project.root, 'public/module-federation.manifest.json'), + joinPathFragments( + project.sourceRoot, + 'assets/module-federation.manifest.json' + ), + ].find((path) => tree.exists(path)); } function addRemoteToStaticHost( diff --git a/packages/angular/src/generators/setup-mf/lib/fix-bootstrap.ts b/packages/angular/src/generators/setup-mf/lib/fix-bootstrap.ts index 78246735d822d..9dca07307885a 100644 --- a/packages/angular/src/generators/setup-mf/lib/fix-bootstrap.ts +++ b/packages/angular/src/generators/setup-mf/lib/fix-bootstrap.ts @@ -1,5 +1,4 @@ -import type { Tree } from '@nx/devkit'; -import { joinPathFragments } from '@nx/devkit'; +import { joinPathFragments, type Tree } from '@nx/devkit'; import type { Schema } from '../schema'; export function fixBootstrap(tree: Tree, appRoot: string, options: Schema) { @@ -12,20 +11,27 @@ export function fixBootstrap(tree: Tree, appRoot: string, options: Schema) { } const bootstrapImportCode = `import('./bootstrap').catch(err => console.error(err))`; + if (options.mfType === 'remote' || options.federationType === 'static') { + tree.write(mainFilePath, `${bootstrapImportCode};`); + } else { + let manifestPath = '/assets/module-federation.manifest.json'; + if ( + tree.exists( + joinPathFragments(appRoot, 'public/module-federation.manifest.json') + ) + ) { + manifestPath = '/module-federation.manifest.json'; + } - const fetchMFManifestCode = `import { setRemoteDefinitions } from '@nx/angular/mf'; + const fetchMFManifestCode = `import { setRemoteDefinitions } from '@nx/angular/mf'; -fetch('/assets/module-federation.manifest.json') +fetch('${manifestPath}') .then((res) => res.json()) .then(definitions => setRemoteDefinitions(definitions)) .then(() => ${bootstrapImportCode});`; - tree.write( - mainFilePath, - options.mfType === 'host' && options.federationType === 'dynamic' - ? fetchMFManifestCode - : `${bootstrapImportCode};` - ); + tree.write(mainFilePath, fetchMFManifestCode); + } } const standaloneBootstrapCode = diff --git a/packages/angular/src/generators/setup-mf/lib/setup-host-if-dynamic.ts b/packages/angular/src/generators/setup-mf/lib/setup-host-if-dynamic.ts index 5717e01931854..d76ae48c3e94a 100644 --- a/packages/angular/src/generators/setup-mf/lib/setup-host-if-dynamic.ts +++ b/packages/angular/src/generators/setup-mf/lib/setup-host-if-dynamic.ts @@ -5,17 +5,25 @@ import { updateProjectConfiguration, } from '@nx/devkit'; import type { Schema } from '../schema'; +import { getInstalledAngularVersionInfo } from '../../utils/version-utils'; export function setupHostIfDynamic(tree: Tree, options: Schema) { if (options.federationType === 'static') { return; } + const { major: angularMajorVersion } = getInstalledAngularVersionInfo(tree); const project = readProjectConfiguration(tree, options.appName); - const pathToMFManifest = joinPathFragments( - project.sourceRoot, - 'assets/module-federation.manifest.json' - ); + const pathToMFManifest = + angularMajorVersion >= 18 + ? joinPathFragments( + project.root, + 'public/module-federation.manifest.json' + ) + : joinPathFragments( + project.sourceRoot, + 'assets/module-federation.manifest.json' + ); if (!tree.exists(pathToMFManifest)) { tree.write(pathToMFManifest, '{}'); diff --git a/packages/angular/src/generators/setup-mf/setup-mf.spec.ts b/packages/angular/src/generators/setup-mf/setup-mf.spec.ts index 5a7491a203e0e..322a557c11d22 100644 --- a/packages/angular/src/generators/setup-mf/setup-mf.spec.ts +++ b/packages/angular/src/generators/setup-mf/setup-mf.spec.ts @@ -518,7 +518,7 @@ describe('Init MF', () => { 'remotes: []' ); expect( - tree.exists('app1/src/assets/module-federation.manifest.json') + tree.exists('app1/public/module-federation.manifest.json') ).toBeTruthy(); expect(tree.read('app1/src/main.ts', 'utf-8')).toMatchSnapshot(); }); @@ -540,7 +540,7 @@ describe('Init MF', () => { 'remotes: []' ); expect( - tree.exists('app1/src/assets/module-federation.manifest.json') + tree.exists('app1/public/module-federation.manifest.json') ).toBeTruthy(); expect(tree.read('app1/src/main.ts', 'utf-8')).toMatchSnapshot(); }); @@ -571,7 +571,7 @@ describe('Init MF', () => { 'remotes: []' ); expect( - readJson(tree, 'app1/src/assets/module-federation.manifest.json') + readJson(tree, 'app1/public/module-federation.manifest.json') ).toEqual({ remote1: 'http://localhost:4201', }); @@ -606,7 +606,7 @@ describe('Init MF', () => { 'remotes: []' ); expect( - readJson(tree, 'app1/src/assets/module-federation.manifest.json') + readJson(tree, 'app1/public/module-federation.manifest.json') ).toEqual({ remote1: 'http://localhost:4201', }); @@ -645,7 +645,7 @@ describe('Init MF', () => { 'remotes: []' ); expect( - readJson(tree, 'app1/src/assets/module-federation.manifest.json') + readJson(tree, 'app1/public/module-federation.manifest.json') ).toEqual({ remote1: 'http://localhost:4201', }); @@ -681,7 +681,7 @@ describe('Init MF', () => { 'remotes: []' ); expect( - readJson(tree, 'app1/src/assets/module-federation.manifest.json') + readJson(tree, 'app1/public/module-federation.manifest.json') ).toEqual({ remote1: 'http://localhost:4201', }); diff --git a/packages/angular/src/generators/setup-mf/setup-mf.ts b/packages/angular/src/generators/setup-mf/setup-mf.ts index bf3f547c27b4e..11ee73929b5ff 100644 --- a/packages/angular/src/generators/setup-mf/setup-mf.ts +++ b/packages/angular/src/generators/setup-mf/setup-mf.ts @@ -56,8 +56,6 @@ export async function setupMf(tree: Tree, rawOptions: Schema) { updateTsConfig(tree, options); setupServeTarget(tree, options); - fixBootstrap(tree, projectConfig.root, options); - if (options.mfType === 'host') { setupHostIfDynamic(tree, options); updateHostAppRoutes(tree, options); @@ -78,6 +76,8 @@ export async function setupMf(tree: Tree, rawOptions: Schema) { } } + fixBootstrap(tree, projectConfig.root, options); + if (!options.skipE2E) { addCypressOnErrorWorkaround(tree, options); } diff --git a/packages/angular/src/generators/setup-ssr/__snapshots__/setup-ssr.spec.ts.snap b/packages/angular/src/generators/setup-ssr/__snapshots__/setup-ssr.spec.ts.snap index 5c6b3045c1c98..8170d0628afda 100644 --- a/packages/angular/src/generators/setup-ssr/__snapshots__/setup-ssr.spec.ts.snap +++ b/packages/angular/src/generators/setup-ssr/__snapshots__/setup-ssr.spec.ts.snap @@ -91,8 +91,10 @@ exports[`setupSSR with application builder should create the files correctly for "executor": "@angular-devkit/build-angular:application", "options": { "assets": [ - "app1/src/favicon.ico", - "app1/src/assets", + { + "glob": "**/*", + "input": "app1/public", + }, ], "browser": "app1/src/main.ts", "index": "app1/src/index.html", @@ -141,14 +143,15 @@ export function app(): express.Express { // server.get('/api/**', (req, res) => { }); // Serve static files from /browser server.get( - '*.*', + '**', express.static(browserDistFolder, { maxAge: '1y', + index: 'index.html', }) ); // All regular routes use the Angular engine - server.get('*', (req, res, next) => { + server.get('**', (req, res, next) => { const { protocol, originalUrl, baseUrl, headers } = req; commonEngine @@ -208,8 +211,10 @@ exports[`setupSSR with application builder should create the files correctly for "executor": "@angular-devkit/build-angular:application", "options": { "assets": [ - "app1/src/favicon.ico", - "app1/src/assets", + { + "glob": "**/*", + "input": "app1/public", + }, ], "browser": "app1/src/main.ts", "index": "app1/src/index.html", @@ -258,14 +263,15 @@ export function app(): express.Express { // server.get('/api/**', (req, res) => { }); // Serve static files from /browser server.get( - '*.*', + '**', express.static(browserDistFolder, { maxAge: '1y', + index: 'index.html', }) ); // All regular routes use the Angular engine - server.get('*', (req, res, next) => { + server.get('**', (req, res, next) => { const { protocol, originalUrl, baseUrl, headers } = req; commonEngine @@ -350,12 +356,13 @@ export function app(): express.Express { // Example Express Rest API endpoints // server.get('/api/**', (req, res) => { }); // Serve static files from /browser - server.get('*.*', express.static(distFolder, { - maxAge: '1y' + server.get('**', express.static(distFolder, { + maxAge: '1y', + index: 'index.html' })); // All regular routes use the Angular engine - server.get('*', (req, res, next) => { + server.get('**', (req, res, next) => { const { protocol, originalUrl, baseUrl, headers } = req; commonEngine @@ -450,12 +457,13 @@ export function app(): express.Express { // Example Express Rest API endpoints // server.get('/api/**', (req, res) => { }); // Serve static files from /browser - server.get('*.*', express.static(distFolder, { - maxAge: '1y' + server.get('**', express.static(distFolder, { + maxAge: '1y', + index: 'index.html' })); // All regular routes use the Angular engine - server.get('*', (req, res, next) => { + server.get('**', (req, res, next) => { const { protocol, originalUrl, baseUrl, headers } = req; commonEngine diff --git a/packages/angular/src/generators/setup-ssr/files/ngmodule/pre-v15-2/src/main.ts__tpl__ b/packages/angular/src/generators/setup-ssr/files/ngmodule/pre-v15-2/src/main.ts__tpl__ deleted file mode 100644 index e497f8bd532af..0000000000000 --- a/packages/angular/src/generators/setup-ssr/files/ngmodule/pre-v15-2/src/main.ts__tpl__ +++ /dev/null @@ -1,14 +0,0 @@ -import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; -import { AppModule } from './app/app.module'; - -function bootstrap() { - platformBrowserDynamic() - .bootstrapModule(AppModule) - .catch((err) => console.error(err)); -} - -if (document.readyState !== 'loading') { - bootstrap(); -} else { - document.addEventListener('DOMContentLoaded', bootstrap); -} diff --git a/packages/angular/src/generators/setup-ssr/files/ngmodule/base/src/__main__ b/packages/angular/src/generators/setup-ssr/files/ngmodule/src/__main__ similarity index 100% rename from packages/angular/src/generators/setup-ssr/files/ngmodule/base/src/__main__ rename to packages/angular/src/generators/setup-ssr/files/ngmodule/src/__main__ diff --git a/packages/angular/src/generators/setup-ssr/files/ngmodule/base/src/app/__rootModuleFileName__ b/packages/angular/src/generators/setup-ssr/files/ngmodule/src/app/__rootModuleFileName__ similarity index 100% rename from packages/angular/src/generators/setup-ssr/files/ngmodule/base/src/app/__rootModuleFileName__ rename to packages/angular/src/generators/setup-ssr/files/ngmodule/src/app/__rootModuleFileName__ diff --git a/packages/angular/src/generators/setup-ssr/files/server/application-builder/__serverFileName__ b/packages/angular/src/generators/setup-ssr/files/server/application-builder/__serverFileName__ index e0f5fa09694d6..10460604ed2f3 100644 --- a/packages/angular/src/generators/setup-ssr/files/server/application-builder/__serverFileName__ +++ b/packages/angular/src/generators/setup-ssr/files/server/application-builder/__serverFileName__ @@ -20,12 +20,13 @@ export function app(): express.Express { // Example Express Rest API endpoints // server.get('/api/**', (req, res) => { }); // Serve static files from /browser - server.get('*.*', express.static(browserDistFolder, { - maxAge: '1y' + server.get('**', express.static(browserDistFolder, { + maxAge: '1y', + index: 'index.html', })); // All regular routes use the Angular engine - server.get('*', (req, res, next) => { + server.get('**', (req, res, next) => { const { protocol, originalUrl, baseUrl, headers } = req; commonEngine diff --git a/packages/angular/src/generators/setup-ssr/files/server/server-builder/v17+/__serverFileName__ b/packages/angular/src/generators/setup-ssr/files/server/server-builder/v17+/__serverFileName__ index 5774e30795e48..082dc313e699e 100644 --- a/packages/angular/src/generators/setup-ssr/files/server/server-builder/v17+/__serverFileName__ +++ b/packages/angular/src/generators/setup-ssr/files/server/server-builder/v17+/__serverFileName__ @@ -23,12 +23,13 @@ export function app(): express.Express { // Example Express Rest API endpoints // server.get('/api/**', (req, res) => { }); // Serve static files from /browser - server.get('*.*', express.static(distFolder, { - maxAge: '1y' + server.get('**', express.static(distFolder, { + maxAge: '1y', + index: 'index.html' })); // All regular routes use the Angular engine - server.get('*', (req, res, next) => { + server.get('**', (req, res, next) => { const { protocol, originalUrl, baseUrl, headers } = req; commonEngine diff --git a/packages/angular/src/generators/setup-ssr/lib/add-dependencies.ts b/packages/angular/src/generators/setup-ssr/lib/add-dependencies.ts index 7d99903d905a5..ad3736549015c 100644 --- a/packages/angular/src/generators/setup-ssr/lib/add-dependencies.ts +++ b/packages/angular/src/generators/setup-ssr/lib/add-dependencies.ts @@ -1,6 +1,6 @@ import { addDependenciesToPackageJson, type Tree } from '@nx/devkit'; import { gte } from 'semver'; -import type { PackageCompatVersions } from '../../../utils/backward-compatible-versions'; +import type { VersionMap } from '../../../utils/backward-compatible-versions'; import { getInstalledAngularVersionInfo, getInstalledPackageVersionInfo, @@ -35,10 +35,11 @@ export function addDependencies( } else { dependencies['@nguniversal/express-engine'] = getInstalledPackageVersionInfo(tree, '@nguniversal/express-engine') - ?.version ?? (pkgVersions as PackageCompatVersions).ngUniversalVersion; + ?.version ?? + (pkgVersions as VersionMap['angularV16']).ngUniversalVersion; devDependencies['@nguniversal/builders'] = getInstalledPackageVersionInfo(tree, '@nguniversal/builders')?.version ?? - (pkgVersions as PackageCompatVersions).ngUniversalVersion; + (pkgVersions as VersionMap['angularV16']).ngUniversalVersion; } addDependenciesToPackageJson(tree, dependencies, devDependencies); diff --git a/packages/angular/src/generators/setup-ssr/lib/generate-files.ts b/packages/angular/src/generators/setup-ssr/lib/generate-files.ts index 13766c8e4a3a8..651d235b029f3 100644 --- a/packages/angular/src/generators/setup-ssr/lib/generate-files.ts +++ b/packages/angular/src/generators/setup-ssr/lib/generate-files.ts @@ -4,8 +4,6 @@ import { joinPathFragments, readProjectConfiguration, } from '@nx/devkit'; -import { lt } from 'semver'; -import { getInstalledAngularVersionInfo } from '../../utils/version-utils'; import type { Schema } from '../schema'; export function generateSSRFiles( @@ -27,7 +25,6 @@ export function generateSSRFiles( } const pathToFiles = joinPathFragments(__dirname, '..', 'files'); - const { version: angularVersion } = getInstalledAngularVersionInfo(tree); if (schema.standalone) { generateFiles( @@ -39,18 +36,9 @@ export function generateSSRFiles( } else { generateFiles( tree, - joinPathFragments(pathToFiles, 'ngmodule', 'base'), + joinPathFragments(pathToFiles, 'ngmodule'), projectRoot, { ...schema, tpl: '' } ); - - if (lt(angularVersion, '15.2.0')) { - generateFiles( - tree, - joinPathFragments(pathToFiles, 'ngmodule', 'pre-v15-2'), - projectRoot, - { ...schema, tpl: '' } - ); - } } } diff --git a/packages/angular/src/generators/setup-ssr/lib/index.ts b/packages/angular/src/generators/setup-ssr/lib/index.ts index 37961feff80be..bb50955a30d8e 100644 --- a/packages/angular/src/generators/setup-ssr/lib/index.ts +++ b/packages/angular/src/generators/setup-ssr/lib/index.ts @@ -3,7 +3,6 @@ export * from './add-server-file'; export * from './generate-files'; export * from './generate-server-ts-config'; export * from './normalize-options'; -export * from './update-app-module'; export * from './update-project-config'; export * from './validate-options'; export * from './add-hydration'; diff --git a/packages/angular/src/generators/setup-ssr/lib/update-app-module.ts b/packages/angular/src/generators/setup-ssr/lib/update-app-module.ts deleted file mode 100644 index a0d267cf2f92a..0000000000000 --- a/packages/angular/src/generators/setup-ssr/lib/update-app-module.ts +++ /dev/null @@ -1,47 +0,0 @@ -import type { Tree } from '@nx/devkit'; -import { joinPathFragments, readProjectConfiguration } from '@nx/devkit'; -import { ensureTypescript } from '@nx/js/src/utils/typescript/ensure-typescript'; -import { getInstalledAngularMajorVersion } from '../../utils/version-utils'; -import type { Schema } from '../schema'; - -export function updateAppModule(tree: Tree, schema: Schema) { - const angularMajorVersion = getInstalledAngularMajorVersion(tree); - if (angularMajorVersion >= 16) { - return; - } - - ensureTypescript(); - const { tsquery } = require('@phenomnomnominal/tsquery'); - // read the content of app module - const projectConfig = readProjectConfiguration(tree, schema.project); - const pathToAppModule = joinPathFragments( - projectConfig.sourceRoot, - 'app/app.module.ts' - ); - const fileContents = tree.read(pathToAppModule, 'utf-8'); - - const ast = tsquery.ast(fileContents); - const browserModuleImportNodes = tsquery( - ast, - 'PropertyAssignment:has(Identifier[name=imports]) > ArrayLiteralExpression Identifier[name=BrowserModule]', - { visitAllChildren: true } - ); - - if (browserModuleImportNodes.length === 0) { - throw new Error( - `Could not find BrowserModule declaration in ${pathToAppModule}. Please ensure this is correct.` - ); - } - - const browserModuleNode = browserModuleImportNodes[0]; - - const newFileContents = `${fileContents.slice( - 0, - browserModuleNode.getEnd() - )}.withServerTransition({ appId: '${schema.appId}' })${fileContents.slice( - browserModuleNode.getEnd(), - fileContents.length - )}`; - - tree.write(pathToAppModule, newFileContents); -} diff --git a/packages/angular/src/generators/setup-ssr/lib/validate-options.ts b/packages/angular/src/generators/setup-ssr/lib/validate-options.ts index 3f0e648925b43..23b1b0d3ed167 100644 --- a/packages/angular/src/generators/setup-ssr/lib/validate-options.ts +++ b/packages/angular/src/generators/setup-ssr/lib/validate-options.ts @@ -1,14 +1,11 @@ import type { Tree } from '@nx/devkit'; -import { readProjectConfiguration, stripIndents } from '@nx/devkit'; +import { readProjectConfiguration } from '@nx/devkit'; import { validateProject as validateExistingProject } from '../../utils/validations'; import type { Schema } from '../schema'; -import { getInstalledAngularVersionInfo } from '../../utils/version-utils'; -import { lt } from 'semver'; export function validateOptions(tree: Tree, options: Schema): void { validateProject(tree, options.project); validateBuildTarget(tree, options.project); - validateHydrationOption(tree, options.hydration); } function validateProject(tree: Tree, project: string): void { @@ -31,16 +28,3 @@ function validateBuildTarget(tree: Tree, project: string): void { ); } } - -function validateHydrationOption(tree: Tree, hydration: boolean): void { - if (!hydration) { - return; - } - - const installedAngularVersion = getInstalledAngularVersionInfo(tree).version; - - if (lt(installedAngularVersion, '16.0.0')) { - throw new Error(stripIndents`The "hydration" option is only supported in Angular >= 16.0.0. You are currently using "${installedAngularVersion}". - You can resolve this error by removing the "hydration" option or by migrating to Angular 16.0.0.`); - } -} diff --git a/packages/angular/src/generators/setup-ssr/schema.json b/packages/angular/src/generators/setup-ssr/schema.json index 294874ed65cef..0f6e875fb213c 100644 --- a/packages/angular/src/generators/setup-ssr/schema.json +++ b/packages/angular/src/generators/setup-ssr/schema.json @@ -19,8 +19,9 @@ "appId": { "type": "string", "format": "html-selector", - "description": "The `appId` to use with `withServerTransition`. _Note: This is only used in Angular versions <16.0.0. It's deprecated since Angular 16 and not supported since Angular 17._", - "default": "serverApp" + "description": "The `appId` to use with `withServerTransition`.", + "default": "serverApp", + "x-deprecated": "This is deprecated and ignored since Angular 16 and not supported since Angular 17." }, "main": { "type": "string", @@ -55,7 +56,7 @@ }, "hydration": { "type": "boolean", - "description": "Set up Hydration for the SSR application. It defaults to `true` for Angular versions >= 17.0.0. Otherwise, it defaults to `false`. _Note: This is only supported in Angular versions >= 16.0.0_." + "description": "Set up Hydration for the SSR application. It defaults to `true` for Angular versions >= 17.0.0. Otherwise, it defaults to `false`." }, "skipFormat": { "type": "boolean", diff --git a/packages/angular/src/generators/setup-ssr/setup-ssr.spec.ts b/packages/angular/src/generators/setup-ssr/setup-ssr.spec.ts index fb18673bf58f2..ce3fc2c1fef02 100644 --- a/packages/angular/src/generators/setup-ssr/setup-ssr.spec.ts +++ b/packages/angular/src/generators/setup-ssr/setup-ssr.spec.ts @@ -48,7 +48,9 @@ describe('setupSSR', () => { import { AppModule } from './app/app.module'; platformBrowserDynamic() - .bootstrapModule(AppModule) + .bootstrapModule(AppModule, { + ngZoneEventCoalescing: true, + }) .catch((err) => console.error(err)); " `); @@ -214,7 +216,9 @@ describe('setupSSR', () => { import { AppModule } from './app/app.module'; platformBrowserDynamic() - .bootstrapModule(AppModule) + .bootstrapModule(AppModule, { + ngZoneEventCoalescing: true + }) .catch((err) => console.error(err)); " `); @@ -464,13 +468,13 @@ describe('setupSSR', () => { // ASSERT expect(tree.read('app1/src/app/app.config.ts', 'utf-8')) .toMatchInlineSnapshot(` - "import { ApplicationConfig } from '@angular/core'; + "import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core'; import { provideRouter } from '@angular/router'; import { appRoutes } from './app.routes'; import { provideClientHydration } from '@angular/platform-browser'; export const appConfig: ApplicationConfig = { - providers: [provideClientHydration(),provideRouter(appRoutes) ] + providers: [provideClientHydration(),provideZoneChangeDetection({ eventCoalescing: true }), provideRouter(appRoutes) ] }; " `); @@ -542,12 +546,12 @@ describe('setupSSR', () => { expect(tree.read('app1/src/app/app.config.ts', 'utf-8')) .toMatchInlineSnapshot(` - "import { ApplicationConfig } from '@angular/core'; + "import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core'; import { provideRouter, withEnabledBlockingInitialNavigation } from '@angular/router'; import { appRoutes } from './app.routes'; export const appConfig: ApplicationConfig = { - providers: [provideRouter(appRoutes, withEnabledBlockingInitialNavigation()) ] + providers: [provideZoneChangeDetection({ eventCoalescing: true }), provideRouter(appRoutes, withEnabledBlockingInitialNavigation()) ] }; " `); @@ -567,7 +571,7 @@ describe('setupSSR', () => { updateJson(tree, 'package.json', (json) => ({ ...json, dependencies: { - '@angular/core': '15.2.0', + '@angular/core': '16.2.0', }, })); @@ -578,63 +582,22 @@ describe('setupSSR', () => { const pkgJson = readJson(tree, 'package.json'); expect(pkgJson.dependencies['@angular/ssr']).toBeUndefined(); expect(pkgJson.dependencies['@angular/platform-server']).toEqual( - backwardCompatibleVersions.angularV15.angularVersion + backwardCompatibleVersions.angularV16.angularVersion ); expect(pkgJson.dependencies['@nguniversal/express-engine']).toEqual( - backwardCompatibleVersions.angularV15.ngUniversalVersion + backwardCompatibleVersions.angularV16.ngUniversalVersion ); expect(pkgJson.devDependencies['@nguniversal/builders']).toEqual( - backwardCompatibleVersions.angularV15.ngUniversalVersion + backwardCompatibleVersions.angularV16.ngUniversalVersion ); }); - it('should add "withServerTransition" call to app module for angular versions lower than 16', async () => { - // ARRANGE - const tree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - updateJson(tree, 'package.json', (json) => ({ - ...json, - dependencies: { ...json.dependencies, '@angular/core': '^15.2.0' }, - })); - - await generateTestApplication(tree, { - name: 'app1', - standalone: false, - skipFormat: true, - }); - - // ACT - await setupSsr(tree, { project: 'app1', skipFormat: true }); - - // ASSERT - expect(tree.read('app1/src/app/app.module.ts', 'utf-8')) - .toMatchInlineSnapshot(` - "import { NgModule } from '@angular/core'; - import { BrowserModule } from '@angular/platform-browser'; - import { RouterModule } from '@angular/router'; - import { AppComponent } from './app.component'; - import { appRoutes } from './app.routes'; - import { NxWelcomeComponent } from './nx-welcome.component'; - - @NgModule({ - declarations: [AppComponent, NxWelcomeComponent], - imports: [ - BrowserModule.withServerTransition({ appId: 'serverApp' }), - RouterModule.forRoot(appRoutes, { initialNavigation: 'enabledBlocking' }), - ], - providers: [], - bootstrap: [AppComponent], - }) - export class AppModule {} - " - `); - }); - it('should set "initialNavigation: enabledBlocking" in "RouterModule.forRoot" options', async () => { // ARRANGE const tree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); updateJson(tree, 'package.json', (json) => ({ ...json, - dependencies: { ...json.dependencies, '@angular/core': '^15.2.0' }, + dependencies: { ...json.dependencies, '@angular/core': '^16.2.0' }, })); await generateTestApplication(tree, { @@ -659,7 +622,7 @@ describe('setupSSR', () => { @NgModule({ declarations: [AppComponent, NxWelcomeComponent], imports: [ - BrowserModule.withServerTransition({ appId: 'serverApp' }), + BrowserModule, RouterModule.forRoot(appRoutes, { initialNavigation: 'enabledBlocking' }), ], providers: [], @@ -675,7 +638,7 @@ describe('setupSSR', () => { const tree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); updateJson(tree, 'package.json', (json) => ({ ...json, - dependencies: { ...json.dependencies, '@angular/core': '^15.2.0' }, + dependencies: { ...json.dependencies, '@angular/core': '^16.2.0' }, })); await generateTestApplication(tree, { name: 'app1', skipFormat: true }); @@ -686,7 +649,7 @@ describe('setupSSR', () => { // ASSERT expect(tree.read('app1/src/app/app.config.ts', 'utf-8')) .toMatchInlineSnapshot(` - "import { ApplicationConfig } from '@angular/platform-browser'; + "import { ApplicationConfig } from '@angular/core'; import { provideRouter, withEnabledBlockingInitialNavigation } from '@angular/router'; import { appRoutes } from './app.routes'; @@ -697,48 +660,12 @@ describe('setupSSR', () => { `); }); - it('should wrap bootstrap call for Angular versions lower than 15.2', async () => { - // ARRANGE - const tree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - await generateTestApplication(tree, { - name: 'app1', - standalone: false, - skipFormat: true, - }); - updateJson(tree, 'package.json', (json) => ({ - ...json, - dependencies: { '@angular/core': '15.1.0' }, - })); - - // ACT - await setupSsr(tree, { project: 'app1', skipFormat: true }); - - // ASSERT - expect(tree.read('app1/src/main.ts', 'utf-8')).toMatchInlineSnapshot(` - "import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; - import { AppModule } from './app/app.module'; - - function bootstrap() { - platformBrowserDynamic() - .bootstrapModule(AppModule) - .catch((err) => console.error(err)); - } - - if (document.readyState !== 'loading') { - bootstrap(); - } else { - document.addEventListener('DOMContentLoaded', bootstrap); - } - " - `); - }); - it('should generate a correct server.ts', async () => { const tree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); updateJson(tree, 'package.json', (json) => ({ ...json, dependencies: { - '@angular/core': '15.2.0', + '@angular/core': '16.2.0', }, })); await generateTestApplication(tree, { @@ -757,7 +684,7 @@ describe('setupSSR', () => { updateJson(tree, 'package.json', (json) => ({ ...json, dependencies: { - '@angular/core': '15.2.0', + '@angular/core': '16.2.0', }, })); await generateTestApplication(tree, { name: 'app1', skipFormat: true }); @@ -766,7 +693,7 @@ describe('setupSSR', () => { expect(tree.read('app1/src/app/app.config.ts', 'utf-8')) .toMatchInlineSnapshot(` - "import { ApplicationConfig } from '@angular/platform-browser'; + "import { ApplicationConfig } from '@angular/core'; import { provideRouter, withEnabledBlockingInitialNavigation } from '@angular/router'; import { appRoutes } from './app.routes'; diff --git a/packages/angular/src/generators/setup-ssr/setup-ssr.ts b/packages/angular/src/generators/setup-ssr/setup-ssr.ts index 14916e371d2b9..49b0626855c35 100644 --- a/packages/angular/src/generators/setup-ssr/setup-ssr.ts +++ b/packages/angular/src/generators/setup-ssr/setup-ssr.ts @@ -14,7 +14,6 @@ import { normalizeOptions, setRouterInitialNavigation, setServerTsConfigOptionsForApplicationBuilder, - updateAppModule, updateProjectConfigForApplicationBuilder, updateProjectConfigForBrowserBuilder, validateOptions, @@ -35,9 +34,6 @@ export async function setupSsr(tree: Tree, schema: Schema) { } generateSSRFiles(tree, options, isUsingApplicationBuilder); - if (!options.standalone) { - updateAppModule(tree, options); - } if (options.hydration) { addHydration(tree, options); } diff --git a/packages/angular/src/generators/storybook-configuration/lib/generate-stories.ts b/packages/angular/src/generators/storybook-configuration/lib/generate-stories.ts index 97b42004b25e6..5625f25aec914 100644 --- a/packages/angular/src/generators/storybook-configuration/lib/generate-stories.ts +++ b/packages/angular/src/generators/storybook-configuration/lib/generate-stories.ts @@ -10,9 +10,9 @@ export async function generateStories( ) { const project = readProjectConfiguration(tree, options.project); ensurePackage('@nx/cypress', nxVersion); - const { getE2eProjectName } = await import( - '@nx/cypress/src/utils/project-name' - ); + const { getE2eProjectName } = < + typeof import('@nx/cypress/src/utils/project-name') + >require('@nx/cypress/src/utils/project-name'); const e2eProjectName = getE2eProjectName( options.project, project.root, diff --git a/packages/angular/src/generators/utils/version-utils.ts b/packages/angular/src/generators/utils/version-utils.ts index 45b120640be7a..d06ae58cacfce 100644 --- a/packages/angular/src/generators/utils/version-utils.ts +++ b/packages/angular/src/generators/utils/version-utils.ts @@ -60,10 +60,10 @@ export function versions( ): PackageLatestVersions | PackageCompatVersions { const majorAngularVersion = getInstalledAngularMajorVersion(tree); switch (majorAngularVersion) { - case 15: - return backwardCompatibleVersions.angularV15; case 16: return backwardCompatibleVersions.angularV16; + case 17: + return backwardCompatibleVersions.angularV17; default: return latestVersions; } diff --git a/packages/angular/src/migrations/update-19-1-0/update-angular-cli.spec.ts b/packages/angular/src/migrations/update-19-1-0/update-angular-cli.spec.ts new file mode 100644 index 0000000000000..d62b620f6e9c3 --- /dev/null +++ b/packages/angular/src/migrations/update-19-1-0/update-angular-cli.spec.ts @@ -0,0 +1,42 @@ +import { readJson, Tree, writeJson } from '@nx/devkit'; +import { createTreeWithEmptyWorkspace } from '@nx/devkit/testing'; +import updateAngularCli, { angularCliVersion } from './update-angular-cli'; + +describe('update-angular-cli migration', () => { + let tree: Tree; + + beforeEach(() => { + tree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); + }); + + it('should update @angular/cli version when defined as a dev dependency', async () => { + writeJson(tree, 'package.json', { + devDependencies: { '@angular/cli': '~13.3.0' }, + }); + + await updateAngularCli(tree); + + const { devDependencies } = readJson(tree, 'package.json'); + expect(devDependencies['@angular/cli']).toBe(angularCliVersion); + }); + + it('should update @angular/cli version when defined as a dependency', async () => { + writeJson(tree, 'package.json', { + dependencies: { '@angular/cli': '~13.3.0' }, + }); + + await updateAngularCli(tree); + + const { dependencies } = readJson(tree, 'package.json'); + expect(dependencies['@angular/cli']).toBe(angularCliVersion); + }); + + it('should not add @angular/cli to package.json when it is not set', async () => { + const initialPackageJson = readJson(tree, 'package.json'); + + await updateAngularCli(tree); + + const packageJson = readJson(tree, 'package.json'); + expect(packageJson).toStrictEqual(initialPackageJson); + }); +}); diff --git a/packages/angular/src/migrations/update-19-1-0/update-angular-cli.ts b/packages/angular/src/migrations/update-19-1-0/update-angular-cli.ts new file mode 100644 index 0000000000000..bb2aca2cc613c --- /dev/null +++ b/packages/angular/src/migrations/update-19-1-0/update-angular-cli.ts @@ -0,0 +1,23 @@ +import { formatFiles, Tree, updateJson } from '@nx/devkit'; + +export const angularCliVersion = '~18.0.0'; + +export default async function (tree: Tree) { + let shouldFormat = false; + + updateJson(tree, 'package.json', (json) => { + if (json.devDependencies?.['@angular/cli']) { + json.devDependencies['@angular/cli'] = angularCliVersion; + shouldFormat = true; + } else if (json.dependencies?.['@angular/cli']) { + json.dependencies['@angular/cli'] = angularCliVersion; + shouldFormat = true; + } + + return json; + }); + + if (shouldFormat) { + await formatFiles(tree); + } +} diff --git a/packages/angular/src/utils/backward-compatible-versions.ts b/packages/angular/src/utils/backward-compatible-versions.ts index 1fa0d1687a78e..08704d9d4d57c 100644 --- a/packages/angular/src/utils/backward-compatible-versions.ts +++ b/packages/angular/src/utils/backward-compatible-versions.ts @@ -1,74 +1,82 @@ import * as latestVersions from './versions'; -type SupportedVersions = 'angularV15' | 'angularV16'; +type SupportedVersions = 'angularV16' | 'angularV17'; -export type LatestPackageVersionNames = Exclude< +type LatestPackageVersionNames = Exclude< keyof typeof latestVersions, 'nxVersion' >; -export type CompatPackageVersionNames = +type CompatPackageVersionNames = | LatestPackageVersionNames // Can be removed when dropping support for Angular v16 | 'ngUniversalVersion'; +export type PackageVersionNames = + | LatestPackageVersionNames + | CompatPackageVersionNames; + +export type VersionMap = { + angularV16: Record; + angularV17: Record< + Exclude, + string + >; +}; + export type PackageLatestVersions = Record; -export type PackageCompatVersions = Record; +export type PackageCompatVersions = VersionMap[SupportedVersions]; -export const backwardCompatibleVersions: Record< - SupportedVersions, - PackageCompatVersions -> = { - angularV15: { - angularVersion: '~15.2.0', - angularDevkitVersion: '~15.2.0', - ngPackagrVersion: '~15.2.2', - ngrxVersion: '~15.3.0', +export const backwardCompatibleVersions: VersionMap = { + angularV16: { + angularVersion: '~16.2.0', + angularDevkitVersion: '~16.2.0', + ngPackagrVersion: '~16.2.0', + ngrxVersion: '~16.0.0', rxjsVersion: '~7.8.0', - zoneJsVersion: '~0.12.0', + zoneJsVersion: '~0.13.0', angularJsVersion: '1.7.9', tsLibVersion: '^2.3.0', - ngUniversalVersion: '~15.1.0', + ngUniversalVersion: '~16.2.0', corsVersion: '~2.8.5', typesCorsVersion: '~2.8.5', expressVersion: '~4.18.2', typesExpressVersion: '4.17.14', browserSyncVersion: '^3.0.0', moduleFederationNodeVersion: '~1.0.5', - angularEslintVersion: '~15.0.0', + angularEslintVersion: '~16.0.0', tailwindVersion: '^3.0.2', postcssVersion: '^8.4.5', postcssUrlVersion: '~10.1.3', autoprefixerVersion: '^10.4.0', tsNodeVersion: '10.9.1', - jestPresetAngularVersion: '~13.0.0', + jestPresetAngularVersion: '~13.1.0', typesNodeVersion: '16.11.7', jasmineMarblesVersion: '^0.9.2', jsoncEslintParserVersion: '^2.1.0', }, - angularV16: { - angularVersion: '~16.2.0', - angularDevkitVersion: '~16.2.0', - ngPackagrVersion: '~16.2.0', - ngrxVersion: '~16.0.0', + angularV17: { + angularVersion: '~17.3.0', + angularDevkitVersion: '~17.3.0', + ngPackagrVersion: '~17.3.0', + ngrxVersion: '~17.0.0', rxjsVersion: '~7.8.0', - zoneJsVersion: '~0.13.0', + zoneJsVersion: '~0.14.3', angularJsVersion: '1.7.9', tsLibVersion: '^2.3.0', - ngUniversalVersion: '~16.2.0', corsVersion: '~2.8.5', typesCorsVersion: '~2.8.5', expressVersion: '~4.18.2', typesExpressVersion: '4.17.14', browserSyncVersion: '^3.0.0', moduleFederationNodeVersion: '~1.0.5', - angularEslintVersion: '~16.0.0', + angularEslintVersion: '~17.3.0', tailwindVersion: '^3.0.2', postcssVersion: '^8.4.5', postcssUrlVersion: '~10.1.3', autoprefixerVersion: '^10.4.0', tsNodeVersion: '10.9.1', - jestPresetAngularVersion: '~13.1.0', - typesNodeVersion: '16.11.7', + jestPresetAngularVersion: '~14.0.3', + typesNodeVersion: '18.16.9', jasmineMarblesVersion: '^0.9.2', jsoncEslintParserVersion: '^2.1.0', }, diff --git a/packages/angular/src/utils/mf/with-module-federation.ts b/packages/angular/src/utils/mf/with-module-federation.ts index 16db41cfa36fb..2676ef4682718 100644 --- a/packages/angular/src/utils/mf/with-module-federation.ts +++ b/packages/angular/src/utils/mf/with-module-federation.ts @@ -1,6 +1,6 @@ import { ModuleFederationConfig } from '@nx/webpack/src/utils/module-federation'; import { getModuleFederationConfig } from './utils'; -import ModuleFederationPlugin = require('webpack/lib/container/ModuleFederationPlugin'); +import ModuleFederationPlugin from 'webpack/lib/container/ModuleFederationPlugin'; export async function withModuleFederation(options: ModuleFederationConfig) { if (global.NX_GRAPH_CREATION) { diff --git a/packages/angular/src/utils/version-utils.ts b/packages/angular/src/utils/version-utils.ts index da43c68647e94..469296ba582ec 100644 --- a/packages/angular/src/utils/version-utils.ts +++ b/packages/angular/src/utils/version-utils.ts @@ -1,16 +1,15 @@ import { coerce, major } from 'semver'; import type { - CompatPackageVersionNames, - LatestPackageVersionNames, PackageCompatVersions, PackageLatestVersions, + PackageVersionNames, } from './backward-compatible-versions'; import { backwardCompatibleVersions } from './backward-compatible-versions'; import * as versions from './versions'; import { angularVersion } from './versions'; export function getPkgVersionForAngularMajorVersion( - pkgVersionName: LatestPackageVersionNames | CompatPackageVersionNames, + pkgVersionName: PackageVersionNames, angularMajorVersion: number ): string { return angularMajorVersion < major(coerce(angularVersion)) diff --git a/packages/angular/src/utils/versions.ts b/packages/angular/src/utils/versions.ts index 6119a72bde973..98fa0d0526384 100644 --- a/packages/angular/src/utils/versions.ts +++ b/packages/angular/src/utils/versions.ts @@ -1,8 +1,8 @@ export const nxVersion = require('../../package.json').version; -export const angularVersion = '~17.3.0'; -export const angularDevkitVersion = '~17.3.0'; -export const ngPackagrVersion = '~17.3.0'; +export const angularVersion = '~18.0.0'; +export const angularDevkitVersion = '~18.0.0'; +export const ngPackagrVersion = '~18.0.0'; export const ngrxVersion = '~17.0.0'; export const rxjsVersion = '~7.8.0'; export const zoneJsVersion = '~0.14.3'; @@ -23,7 +23,7 @@ export const postcssUrlVersion = '~10.1.3'; export const autoprefixerVersion = '^10.4.0'; export const tsNodeVersion = '10.9.1'; -export const jestPresetAngularVersion = '~14.0.3'; +export const jestPresetAngularVersion = '~14.1.0'; export const typesNodeVersion = '18.16.9'; export const jasmineMarblesVersion = '^0.9.2'; diff --git a/packages/angular/tsconfig.json b/packages/angular/tsconfig.json index f7495fd20f1fd..2e3d8202fb528 100644 --- a/packages/angular/tsconfig.json +++ b/packages/angular/tsconfig.json @@ -10,6 +10,9 @@ { "path": "./tsconfig.lib.json" }, + { + "path": "./tsconfig.lib.runtime.json" + }, { "path": "./tsconfig.spec.json" } diff --git a/packages/angular/tsconfig.lib.json b/packages/angular/tsconfig.lib.json index b54ee18bfc3ee..06747b0ecc367 100644 --- a/packages/angular/tsconfig.lib.json +++ b/packages/angular/tsconfig.lib.json @@ -1,7 +1,8 @@ { "extends": "./tsconfig.json", "compilerOptions": { - "module": "commonjs", + "moduleResolution": "node16", + "module": "node16", "outDir": "../../dist/out-tsc", "declaration": true, "types": ["node"] @@ -12,7 +13,11 @@ "**/*_spec.ts", "**/*_test.ts", "jest.config.ts", - "test-setup.ts" + "test-setup.ts", + "index.ts", + "src/runtime/**/*", + "mf/**/*", + "testing/**/*" ], "include": ["**/*.ts"] } diff --git a/packages/angular/tsconfig.lib.runtime.json b/packages/angular/tsconfig.lib.runtime.json index 8224d616b975c..74595eb446b2b 100644 --- a/packages/angular/tsconfig.lib.runtime.json +++ b/packages/angular/tsconfig.lib.runtime.json @@ -1,8 +1,10 @@ { - "extends": "./tsconfig.lib.json", + "extends": "./tsconfig.json", "compilerOptions": { - "module": "esnext" + "module": "esnext", + "declaration": true }, + "include": ["index.ts", "src/runtime/**/*", "mf/**/*", "testing/**/*"], "angularCompilerOptions": { "compilationMode": "partial" } diff --git a/packages/nx/src/command-line/init/implementation/angular/legacy-angular-versions.ts b/packages/nx/src/command-line/init/implementation/angular/legacy-angular-versions.ts index 86afc96f1715f..6cbde226d733f 100644 --- a/packages/nx/src/command-line/init/implementation/angular/legacy-angular-versions.ts +++ b/packages/nx/src/command-line/init/implementation/angular/legacy-angular-versions.ts @@ -19,9 +19,10 @@ import { connectExistingRepoToNxCloudPrompt } from '../../../connect/connect-to- // key is major Angular version and value is Nx version to use const nxAngularLegacyVersionMap: Record = { 14: '~17.0.0', + 15: '~19.0.0', }; // min major angular version supported in latest Nx -const minMajorAngularVersionSupported = 15; +const minMajorAngularVersionSupported = 16; // version when the Nx CLI changed from @nrwl/tao & @nrwl/cli to nx const versionWithConsolidatedPackages = '13.9.0'; // version when packages were rescoped from @nrwl/* to @nx/* diff --git a/packages/nx/src/command-line/init/implementation/angular/standalone-workspace.ts b/packages/nx/src/command-line/init/implementation/angular/standalone-workspace.ts index 4fb909600de14..9b739048c53c0 100644 --- a/packages/nx/src/command-line/init/implementation/angular/standalone-workspace.ts +++ b/packages/nx/src/command-line/init/implementation/angular/standalone-workspace.ts @@ -138,8 +138,6 @@ function createNxJson( inputs: ['default', '^production'], }; } - // Angular 15 workspaces still support defaultProject. Support was removed in Angular 16. - nxJson.defaultProject = angularJson.defaultProject; writeJsonFile(join(repoRoot, 'nx.json'), nxJson); } diff --git a/packages/workspace/src/generators/preset/__snapshots__/preset.spec.ts.snap b/packages/workspace/src/generators/preset/__snapshots__/preset.spec.ts.snap index fbf8af63e9cc2..cdf7cf047b2e3 100644 --- a/packages/workspace/src/generators/preset/__snapshots__/preset.spec.ts.snap +++ b/packages/workspace/src/generators/preset/__snapshots__/preset.spec.ts.snap @@ -7,6 +7,7 @@ exports[`preset should create files (preset = angular-monorepo) 1`] = ` "tsconfig.app.json", "tsconfig.editor.json", "tsconfig.json", + "public", ".eslintrc.json", "jest.config.ts", "tsconfig.spec.json", @@ -15,8 +16,6 @@ exports[`preset should create files (preset = angular-monorepo) 1`] = ` exports[`preset should create files (preset = angular-monorepo) 2`] = ` [ - "assets", - "favicon.ico", "index.html", "styles.css", "app", diff --git a/packages/workspace/src/utils/versions.ts b/packages/workspace/src/utils/versions.ts index af4c8db8e535e..64fc2904067ac 100644 --- a/packages/workspace/src/utils/versions.ts +++ b/packages/workspace/src/utils/versions.ts @@ -4,4 +4,4 @@ export const typescriptVersion = '~5.4.2'; // TODO: remove when preset generation is reworked and // deps are not installed from workspace -export const angularCliVersion = '~17.3.0'; +export const angularCliVersion = '~18.0.0'; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7c97c21185160..7ca7bcd91d289 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -150,44 +150,44 @@ devDependencies: specifier: ^1.10.0 version: 1.10.0 '@angular-devkit/architect': - specifier: ~0.1703.0 - version: 0.1703.0 + specifier: ~0.1800.0 + version: 0.1800.0 '@angular-devkit/build-angular': - specifier: ~17.3.0 - version: 17.3.0(@angular/compiler-cli@17.3.0)(@swc/core@1.3.86)(@types/express@4.17.14)(@types/node@18.19.8)(html-webpack-plugin@5.5.0)(jest-environment-jsdom@29.4.3)(jest@29.4.3)(ng-packagr@17.3.0)(stylus@0.59.0)(tailwindcss@3.4.3)(typescript@5.4.2)(webpack-cli@5.1.4) + specifier: ~18.0.0 + version: 18.0.0(@angular/compiler-cli@18.0.0)(@swc/core@1.3.86)(@types/node@18.19.8)(html-webpack-plugin@5.5.0)(jest-environment-jsdom@29.4.3)(jest@29.4.3)(ng-packagr@18.0.0)(stylus@0.59.0)(tailwindcss@3.4.3)(typescript@5.4.2)(webpack-cli@5.1.4) '@angular-devkit/core': - specifier: ~17.3.0 - version: 17.3.0 + specifier: ~18.0.0 + version: 18.0.0 '@angular-devkit/schematics': - specifier: ~17.3.0 - version: 17.3.0 + specifier: ~18.0.0 + version: 18.0.0 '@angular-eslint/eslint-plugin': - specifier: 17.3.0 + specifier: ~17.3.0 version: 17.3.0(eslint@8.57.0)(typescript@5.4.2) '@angular-eslint/eslint-plugin-template': - specifier: 17.3.0 + specifier: ~17.3.0 version: 17.3.0(eslint@8.57.0)(typescript@5.4.2) '@angular-eslint/template-parser': - specifier: 17.3.0 + specifier: ~17.3.0 version: 17.3.0(eslint@8.57.0)(typescript@5.4.2) '@angular/cli': - specifier: ~17.3.0 - version: 17.3.0 + specifier: ~18.0.0 + version: 18.0.0 '@angular/common': - specifier: ~17.3.0 - version: 17.3.0(@angular/core@17.3.0)(rxjs@7.8.1) + specifier: ~18.0.0 + version: 18.0.0(@angular/core@18.0.0)(rxjs@7.8.1) '@angular/compiler': - specifier: ~17.3.0 - version: 17.3.0(@angular/core@17.3.0) + specifier: ~18.0.0 + version: 18.0.0(@angular/core@18.0.0) '@angular/compiler-cli': - specifier: ~17.3.0 - version: 17.3.0(@angular/compiler@17.3.0)(typescript@5.4.2) + specifier: ~18.0.0 + version: 18.0.0(@angular/compiler@18.0.0)(typescript@5.4.2) '@angular/core': - specifier: ~17.3.0 - version: 17.3.0(rxjs@7.8.1)(zone.js@0.14.3) + specifier: ~18.0.0 + version: 18.0.0(rxjs@7.8.1)(zone.js@0.14.3) '@angular/router': - specifier: ~17.3.0 - version: 17.3.0(@angular/common@17.3.0)(@angular/core@17.3.0)(@angular/platform-browser@17.3.0)(rxjs@7.8.1) + specifier: ~18.0.0 + version: 18.0.0(@angular/common@18.0.0)(@angular/core@18.0.0)(@angular/platform-browser@18.0.0)(rxjs@7.8.1) '@babel/core': specifier: ^7.23.2 version: 7.23.2 @@ -253,13 +253,13 @@ devDependencies: version: 9.1.6(@nestjs/common@9.1.6)(@nestjs/core@9.1.6)(@nestjs/platform-express@9.1.6) '@ngrx/effects': specifier: 17.0.1 - version: 17.0.1(@angular/core@17.3.0)(@ngrx/store@17.0.1)(rxjs@7.8.1) + version: 17.0.1(@angular/core@18.0.0)(@ngrx/store@17.0.1)(rxjs@7.8.1) '@ngrx/router-store': specifier: 17.0.1 - version: 17.0.1(@angular/common@17.3.0)(@angular/core@17.3.0)(@angular/router@17.3.0)(@ngrx/store@17.0.1)(rxjs@7.8.1) + version: 17.0.1(@angular/common@18.0.0)(@angular/core@18.0.0)(@angular/router@18.0.0)(@ngrx/store@17.0.1)(rxjs@7.8.1) '@ngrx/store': specifier: 17.0.1 - version: 17.0.1(@angular/core@17.3.0)(rxjs@7.8.1) + version: 17.0.1(@angular/core@18.0.0)(rxjs@7.8.1) '@nuxt/kit': specifier: ^3.10.0 version: 3.10.0(rollup@4.14.3) @@ -268,7 +268,7 @@ devDependencies: version: 3.10.0(rollup@4.14.3) '@nx/angular': specifier: 19.1.0-beta.1 - version: 19.1.0-beta.1(@angular-devkit/build-angular@17.3.0)(@angular-devkit/core@17.3.0)(@angular-devkit/schematics@17.3.0)(@schematics/angular@17.3.0)(@swc-node/register@1.8.0)(@swc/core@1.3.86)(@types/node@18.19.8)(@zkochan/js-yaml@0.0.7)(esbuild@0.19.5)(eslint@8.57.0)(html-webpack-plugin@5.5.0)(nx@19.1.0-beta.1)(rxjs@7.8.1)(typescript@5.4.2)(verdaccio@5.31.0)(webpack-cli@5.1.4) + version: 19.1.0-beta.1(@angular-devkit/build-angular@18.0.0)(@angular-devkit/core@18.0.0)(@angular-devkit/schematics@18.0.0)(@schematics/angular@18.0.0)(@swc-node/register@1.8.0)(@swc/core@1.3.86)(@types/node@18.19.8)(@zkochan/js-yaml@0.0.7)(esbuild@0.19.5)(eslint@8.57.0)(html-webpack-plugin@5.5.0)(nx@19.1.0-beta.1)(rxjs@7.8.1)(typescript@5.4.2)(verdaccio@5.31.0)(webpack-cli@5.1.4) '@nx/cypress': specifier: 19.1.0-beta.1 version: 19.1.0-beta.1(@swc-node/register@1.8.0)(@swc/core@1.3.86)(@types/node@18.19.8)(@zkochan/js-yaml@0.0.7)(cypress@13.9.0)(nx@19.1.0-beta.1)(typescript@5.4.2)(verdaccio@5.31.0) @@ -351,8 +351,8 @@ devDependencies: specifier: ^8.0.2 version: 8.0.2(rollup@4.14.3) '@schematics/angular': - specifier: ~17.3.0 - version: 17.3.0 + specifier: ~18.0.0 + version: 18.0.0 '@storybook/addon-essentials': specifier: 7.5.3 version: 7.5.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) @@ -751,10 +751,10 @@ devDependencies: version: 9.0.3 next-sitemap: specifier: ^3.1.10 - version: 3.1.29(@next/env@14.0.4)(next@14.2.3) + version: 3.1.29(@next/env@14.2.3)(next@14.2.3) ng-packagr: - specifier: ~17.3.0 - version: 17.3.0(@angular/compiler-cli@17.3.0)(tailwindcss@3.4.3)(tslib@2.4.0)(typescript@5.4.2) + specifier: ~18.0.0 + version: 18.0.0(@angular/compiler-cli@18.0.0)(tailwindcss@3.4.3)(tslib@2.4.0)(typescript@5.4.2) node-fetch: specifier: ^2.6.7 version: 2.6.7 @@ -1146,33 +1146,33 @@ packages: '@jridgewell/trace-mapping': 0.3.25 dev: true - /@angular-devkit/architect@0.1703.0: - resolution: {integrity: sha512-2X2cswI4TIwtQxCe5U9f4jeiDjAb8r89XLpU0QwEHyZyWx02uhYHO3FDMJq/NxCS95IUAQOBGBhbD4ey4Hl9cQ==} - engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + /@angular-devkit/architect@0.1800.0: + resolution: {integrity: sha512-B28h/+Og1F8/QWlizmOl3Iv3svH9uIJ456gw331RgtUMrYszU6WPlk1izG38PV++NKK9vv9NcqQsJCEvxY9ipg==} + 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': 17.3.0 + '@angular-devkit/core': 18.0.0 rxjs: 7.8.1 transitivePeerDependencies: - chokidar dev: true - /@angular-devkit/build-angular@17.3.0(@angular/compiler-cli@17.3.0)(@swc/core@1.3.86)(@types/express@4.17.14)(@types/node@18.19.8)(html-webpack-plugin@5.5.0)(jest-environment-jsdom@29.4.3)(jest@29.4.3)(ng-packagr@17.3.0)(stylus@0.59.0)(tailwindcss@3.4.3)(typescript@5.4.2)(webpack-cli@5.1.4): - resolution: {integrity: sha512-mC70mZK/liITM4VlGL6hmYPkVsZwAb+X3TxwodBl/g8p/sYijDhK/4QJHzmcHTxLYQQS6nS5CUcr9ARQFkGN2w==} - engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + /@angular-devkit/build-angular@18.0.0(@angular/compiler-cli@18.0.0)(@swc/core@1.3.86)(@types/node@18.19.8)(html-webpack-plugin@5.5.0)(jest-environment-jsdom@29.4.3)(jest@29.4.3)(ng-packagr@18.0.0)(stylus@0.59.0)(tailwindcss@3.4.3)(typescript@5.4.2)(webpack-cli@5.1.4): + resolution: {integrity: sha512-EZDn/2h24mldx8c8zbJ5BAz8YmXmPhdbFOILPixsTInJJ9/iKX+cFioyscqzRDkVuISMA8AagC+5E2ZIhCjiPQ==} + 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': ^17.0.0 - '@angular/localize': ^17.0.0 - '@angular/platform-server': ^17.0.0 - '@angular/service-worker': ^17.0.0 + '@angular/compiler-cli': ^18.0.0 + '@angular/localize': ^18.0.0 + '@angular/platform-server': ^18.0.0 + '@angular/service-worker': ^18.0.0 '@web/test-runner': ^0.18.0 browser-sync: ^3.0.2 jest: ^29.5.0 jest-environment-jsdom: ^29.5.0 karma: ^6.3.0 - ng-packagr: ^17.0.0 + ng-packagr: ^18.0.0 protractor: ^7.0.0 tailwindcss: ^2.0.0 || ^3.0.0 - typescript: '>=5.2 <5.5' + typescript: '>=5.4 <5.5' peerDependenciesMeta: '@angular/localize': optional: true @@ -1198,80 +1198,80 @@ packages: optional: true dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.1703.0 - '@angular-devkit/build-webpack': 0.1703.0(webpack-dev-server@4.15.1)(webpack@5.90.3) - '@angular-devkit/core': 17.3.0 - '@angular/compiler-cli': 17.3.0(@angular/compiler@17.3.0)(typescript@5.4.2) - '@babel/core': 7.24.0 - '@babel/generator': 7.23.6 + '@angular-devkit/architect': 0.1800.0 + '@angular-devkit/build-webpack': 0.1800.0(webpack-dev-server@5.0.4)(webpack@5.91.0) + '@angular-devkit/core': 18.0.0 + '@angular/build': 18.0.0(@angular/compiler-cli@18.0.0)(@types/node@18.19.8)(less@4.2.0)(postcss@8.4.38)(stylus@0.59.0)(tailwindcss@3.4.3)(terser@5.31.0)(typescript@5.4.2) + '@angular/compiler-cli': 18.0.0(@angular/compiler@18.0.0)(typescript@5.4.2) + '@babel/core': 7.24.5 + '@babel/generator': 7.24.5 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/plugin-transform-async-generator-functions': 7.23.9(@babel/core@7.24.0) - '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-runtime': 7.24.0(@babel/core@7.24.0) - '@babel/preset-env': 7.24.0(@babel/core@7.24.0) - '@babel/runtime': 7.24.0 + '@babel/helper-split-export-declaration': 7.24.5 + '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.5) + '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-runtime': 7.24.3(@babel/core@7.24.5) + '@babel/preset-env': 7.24.5(@babel/core@7.24.5) + '@babel/runtime': 7.24.5 '@discoveryjs/json-ext': 0.5.7 - '@ngtools/webpack': 17.3.0(@angular/compiler-cli@17.3.0)(typescript@5.4.2)(webpack@5.90.3) - '@vitejs/plugin-basic-ssl': 1.1.0(vite@5.1.5) + '@ngtools/webpack': 18.0.0(@angular/compiler-cli@18.0.0)(typescript@5.4.2)(webpack@5.91.0) + '@vitejs/plugin-basic-ssl': 1.1.0(vite@5.2.11) ansi-colors: 4.1.3 - autoprefixer: 10.4.18(postcss@8.4.35) - babel-loader: 9.1.3(@babel/core@7.24.0)(webpack@5.90.3) + autoprefixer: 10.4.19(postcss@8.4.38) + babel-loader: 9.1.3(@babel/core@7.24.5)(webpack@5.91.0) babel-plugin-istanbul: 6.1.1 - browserslist: 4.22.2 - copy-webpack-plugin: 11.0.0(webpack@5.90.3) + browserslist: 4.23.0 + copy-webpack-plugin: 11.0.0(webpack@5.91.0) critters: 0.0.22 - css-loader: 6.10.0(webpack@5.90.3) - esbuild-wasm: 0.20.1 + css-loader: 7.1.1(webpack@5.91.0) + esbuild-wasm: 0.21.3 fast-glob: 3.3.2 - http-proxy-middleware: 2.0.6(@types/express@4.17.14) + http-proxy-middleware: 3.0.0 https-proxy-agent: 7.0.4 - inquirer: 9.2.15 + inquirer: 9.2.22 jest: 29.4.3(@types/node@18.19.8)(ts-node@10.9.1) jest-environment-jsdom: 29.4.3 jsonc-parser: 3.2.1 karma-source-map-support: 1.4.0 less: 4.2.0 - less-loader: 11.1.0(less@4.2.0)(webpack@5.90.3) - license-webpack-plugin: 4.0.2(webpack@5.90.3) + less-loader: 12.2.0(less@4.2.0)(webpack@5.91.0) + license-webpack-plugin: 4.0.2(webpack@5.91.0) loader-utils: 3.2.1 - magic-string: 0.30.8 - mini-css-extract-plugin: 2.8.1(webpack@5.90.3) + magic-string: 0.30.10 + mini-css-extract-plugin: 2.9.0(webpack@5.91.0) mrmime: 2.0.0 - ng-packagr: 17.3.0(@angular/compiler-cli@17.3.0)(tailwindcss@3.4.3)(tslib@2.4.0)(typescript@5.4.2) + ng-packagr: 18.0.0(@angular/compiler-cli@18.0.0)(tailwindcss@3.4.3)(tslib@2.4.0)(typescript@5.4.2) open: 8.4.2 ora: 5.4.1 parse5-html-rewriting-stream: 7.0.0 - picomatch: 4.0.1 - piscina: 4.4.0 - postcss: 8.4.35 - postcss-loader: 8.1.1(postcss@8.4.35)(typescript@5.4.2)(webpack@5.90.3) + picomatch: 4.0.2 + piscina: 4.5.0 + postcss: 8.4.38 + postcss-loader: 8.1.1(postcss@8.4.38)(typescript@5.4.2)(webpack@5.91.0) resolve-url-loader: 5.0.0 rxjs: 7.8.1 - sass: 1.71.1 - sass-loader: 14.1.1(sass@1.71.1)(webpack@5.90.3) - semver: 7.6.0 - source-map-loader: 5.0.0(webpack@5.90.3) + sass: 1.77.2 + sass-loader: 14.2.1(sass@1.77.2)(webpack@5.91.0) + semver: 7.6.2 + source-map-loader: 5.0.0(webpack@5.91.0) source-map-support: 0.5.21 tailwindcss: 3.4.3(ts-node@10.9.1) - terser: 5.29.1 + terser: 5.31.0 tree-kill: 1.2.2 tslib: 2.6.2 typescript: 5.4.2 - undici: 6.7.1 - vite: 5.1.5(@types/node@18.19.8)(less@4.2.0)(sass@1.71.1)(stylus@0.59.0)(terser@5.29.1) - watchpack: 2.4.0 - webpack: 5.90.3(@swc/core@1.3.86)(esbuild@0.20.1)(webpack-cli@5.1.4) - webpack-dev-middleware: 6.1.1(webpack@5.90.3) - webpack-dev-server: 4.15.1(webpack-cli@5.1.4)(webpack@5.90.3) + undici: 6.18.0 + vite: 5.2.11(@types/node@18.19.8)(less@4.2.0)(sass@1.77.2)(stylus@0.59.0)(terser@5.31.0) + watchpack: 2.4.1 + webpack: 5.91.0(@swc/core@1.3.86)(esbuild@0.21.3)(webpack-cli@5.1.4) + webpack-dev-middleware: 7.2.1(webpack@5.91.0) + webpack-dev-server: 5.0.4(webpack-cli@5.1.4)(webpack@5.91.0) webpack-merge: 5.10.0 - webpack-subresource-integrity: 5.1.0(html-webpack-plugin@5.5.0)(webpack@5.90.3) + webpack-subresource-integrity: 5.1.0(html-webpack-plugin@5.5.0)(webpack@5.91.0) optionalDependencies: - esbuild: 0.20.1 + esbuild: 0.21.3 transitivePeerDependencies: - '@rspack/core' - '@swc/core' - - '@types/express' - '@types/node' - bufferutil - chokidar @@ -1288,17 +1288,17 @@ packages: - webpack-cli dev: true - /@angular-devkit/build-webpack@0.1703.0(webpack-dev-server@4.15.1)(webpack@5.90.3): - resolution: {integrity: sha512-IEaLzV5lolURJhMKM4naW6pYTDjI5E8I+97o/kbSa0yakvGOBwg7yRmfc54T1M0Z4nmifPsj4OVRGhBaa6dgXA==} - engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + /@angular-devkit/build-webpack@0.1800.0(webpack-dev-server@5.0.4)(webpack@5.91.0): + resolution: {integrity: sha512-L61mW+aGK+opsokUZkj7q1/gnSyF3qz+FsAqdVyTvwBta3KKr8xzNR75fwvzZ9+qD8bum5oAOgtyw+tvPMMt3g==} + 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: ^4.0.0 + webpack-dev-server: ^5.0.2 dependencies: - '@angular-devkit/architect': 0.1703.0 + '@angular-devkit/architect': 0.1800.0 rxjs: 7.8.1 - webpack: 5.90.3(@swc/core@1.3.86)(esbuild@0.20.1)(webpack-cli@5.1.4) - webpack-dev-server: 4.15.1(webpack-cli@5.1.4)(webpack@5.90.3) + webpack: 5.91.0(@swc/core@1.3.86)(esbuild@0.21.3)(webpack-cli@5.1.4) + webpack-dev-server: 5.0.4(webpack-cli@5.1.4)(webpack@5.91.0) transitivePeerDependencies: - chokidar dev: true @@ -1337,19 +1337,19 @@ packages: source-map: 0.7.4 dev: true - /@angular-devkit/core@17.3.0: - resolution: {integrity: sha512-ldErhMYq8rcFOhWQ0syQdLy6IYb/LL0erigj7gCMOf59oJgM7B13o/ZTOCvyJttUZ9IP0HB98Gi3epEuJ30VLg==} - engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + /@angular-devkit/core@18.0.0: + resolution: {integrity: sha512-mFD4QgyM1SwPjk6slJsqAXX7oTNduYbA5zgyf29/9wNUagUaz0vdonwxFlHv+D5pPmX/tRY5mqxYD68F7FiC9g==} + 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: ^3.5.2 peerDependenciesMeta: chokidar: optional: true dependencies: - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) + ajv: 8.13.0 + ajv-formats: 3.0.1(ajv@8.13.0) jsonc-parser: 3.2.1 - picomatch: 4.0.1 + picomatch: 4.0.2 rxjs: 7.8.1 source-map: 0.7.4 dev: true @@ -1395,13 +1395,13 @@ packages: - chokidar dev: true - /@angular-devkit/schematics@17.3.0: - resolution: {integrity: sha512-EW4Y8W/KTlvvT2fw3bh9hY7quDF2b9EaF+KftEqoDRWYbw0tlF8hWIdlfA6JxQC12d6uefh3kDNj5am0Il2oNQ==} - engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + /@angular-devkit/schematics@18.0.0: + resolution: {integrity: sha512-whvMDjnLd5ObyfO+HGZdPMtY8Ac+kVyVq2RigpKQmOoQOk8eMZw4iRsTOGzvaKXhFcFnTbT5O3c6Pvo42aCaAA==} + 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': 17.3.0 + '@angular-devkit/core': 18.0.0 jsonc-parser: 3.2.1 - magic-string: 0.30.8 + magic-string: 0.30.10 ora: 5.4.1 rxjs: 7.8.1 transitivePeerDependencies: @@ -1470,27 +1470,92 @@ packages: - supports-color dev: true - /@angular/cli@17.3.0: - resolution: {integrity: sha512-xwxlimNP4MECkdzjc0+m7lGxighcH0ncAfEo9yUo+r+4EFalB/Q7DAQPIU1xkbBk8iJwcFhGFAnS1IeLur15kQ==} - engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + /@angular/build@18.0.0(@angular/compiler-cli@18.0.0)(@types/node@18.19.8)(less@4.2.0)(postcss@8.4.38)(stylus@0.59.0)(tailwindcss@3.4.3)(terser@5.31.0)(typescript@5.4.2): + resolution: {integrity: sha512-CVE/08mH7LhcHte0UN9ETZ+d7ewPPLbtdMXYnCNvbbAqfOCaPQ62agDzBE9sHOLlyn6fkFX2G4mwyKV+AQbQnw==} + 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': ^18.0.0 + '@angular/localize': ^18.0.0 + '@angular/platform-server': ^18.0.0 + '@angular/service-worker': ^18.0.0 + less: ^4.2.0 + postcss: ^8.4.0 + tailwindcss: ^2.0.0 || ^3.0.0 + typescript: '>=5.4 <5.5' + peerDependenciesMeta: + '@angular/localize': + optional: true + '@angular/platform-server': + optional: true + '@angular/service-worker': + optional: true + less: + optional: true + postcss: + optional: true + tailwindcss: + optional: true + dependencies: + '@ampproject/remapping': 2.3.0 + '@angular-devkit/architect': 0.1800.0 + '@angular/compiler-cli': 18.0.0(@angular/compiler@18.0.0)(typescript@5.4.2) + '@babel/core': 7.24.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-split-export-declaration': 7.24.5 + '@vitejs/plugin-basic-ssl': 1.1.0(vite@5.2.11) + ansi-colors: 4.1.3 + browserslist: 4.23.0 + critters: 0.0.22 + esbuild: 0.21.3 + fast-glob: 3.3.2 + https-proxy-agent: 7.0.4 + inquirer: 9.2.22 + less: 4.2.0 + lmdb: 3.0.8 + magic-string: 0.30.10 + mrmime: 2.0.0 + ora: 5.4.1 + parse5-html-rewriting-stream: 7.0.0 + picomatch: 4.0.2 + piscina: 4.5.0 + postcss: 8.4.38 + sass: 1.77.2 + semver: 7.6.2 + tailwindcss: 3.4.3(ts-node@10.9.1) + typescript: 5.4.2 + undici: 6.18.0 + vite: 5.2.11(@types/node@18.19.8)(less@4.2.0)(sass@1.77.2)(stylus@0.59.0)(terser@5.31.0) + watchpack: 2.4.1 + transitivePeerDependencies: + - '@types/node' + - chokidar + - lightningcss + - stylus + - sugarss + - supports-color + - terser + dev: true + + /@angular/cli@18.0.0: + resolution: {integrity: sha512-SzPMju4L7Lr59k72PNmEznCSfHGtoDSmDl3lbLoumnIKlZoejnIgEipzXSjTkBk23rHAAUevlpDUUhkOIoAppg==} + 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.1703.0 - '@angular-devkit/core': 17.3.0 - '@angular-devkit/schematics': 17.3.0 - '@schematics/angular': 17.3.0 + '@angular-devkit/architect': 0.1800.0 + '@angular-devkit/core': 18.0.0 + '@angular-devkit/schematics': 18.0.0 + '@schematics/angular': 18.0.0 '@yarnpkg/lockfile': 1.1.0 ansi-colors: 4.1.3 ini: 4.1.2 - inquirer: 9.2.15 + inquirer: 9.2.22 jsonc-parser: 3.2.1 - npm-package-arg: 11.0.1 - npm-pick-manifest: 9.0.0 - open: 8.4.2 + npm-package-arg: 11.0.2 + npm-pick-manifest: 9.0.1 ora: 5.4.1 - pacote: 17.0.6 + pacote: 18.0.6 resolve: 1.22.8 - semver: 7.6.0 + semver: 7.6.2 symbol-observable: 4.0.0 yargs: 17.7.2 transitivePeerDependencies: @@ -1499,33 +1564,33 @@ packages: - supports-color dev: true - /@angular/common@17.3.0(@angular/core@17.3.0)(rxjs@7.8.1): - resolution: {integrity: sha512-JnS6jbLl2RxsvGFUOBGeoyviNLEjZKRhn3uK4Ein3DENPv0BeSFMjif9Dp4ReUCnqoD4QQVG0X/r1GFaqHn2pw==} + /@angular/common@18.0.0(@angular/core@18.0.0)(rxjs@7.8.1): + resolution: {integrity: sha512-s43ZcOhXTUlkdOPMiMtr4Pz1qKIS8nClXhaahY0JBQZYGsOSn7NR42SoEeB8/ixktfY60s3SLhizXTKMAYtOTA==} engines: {node: ^18.13.0 || >=20.9.0} peerDependencies: - '@angular/core': 17.3.0 + '@angular/core': 18.0.0 rxjs: ^6.5.3 || ^7.4.0 dependencies: - '@angular/core': 17.3.0(rxjs@7.8.1)(zone.js@0.14.3) + '@angular/core': 18.0.0(rxjs@7.8.1)(zone.js@0.14.3) rxjs: 7.8.1 tslib: 2.6.2 dev: true - /@angular/compiler-cli@17.3.0(@angular/compiler@17.3.0)(typescript@5.4.2): - resolution: {integrity: sha512-ewo+pb0QUC69Ey15z4vPteoBeO81HitqplysOoeXbyVBjMnKmZl3343wx7ukgcI97lmj4d38d1r4AnIoO5n/Vw==} + /@angular/compiler-cli@18.0.0(@angular/compiler@18.0.0)(typescript@5.4.2): + resolution: {integrity: sha512-fy9MBSHDM/YAyrIWa15JV1ZrpuSc51HHUSA3W/UKrDqUqSfYyj11/0PeYkdIWUD/dACZSrEge3nVnYCjdyJqPA==} engines: {node: ^18.13.0 || >=20.9.0} hasBin: true peerDependencies: - '@angular/compiler': 17.3.0 - typescript: '>=5.2 <5.5' + '@angular/compiler': 18.0.0 + typescript: '>=5.4 <5.5' dependencies: - '@angular/compiler': 17.3.0(@angular/core@17.3.0) - '@babel/core': 7.23.9 + '@angular/compiler': 18.0.0(@angular/core@18.0.0) + '@babel/core': 7.24.4 '@jridgewell/sourcemap-codec': 1.4.15 - chokidar: 3.5.3 + chokidar: 3.6.0 convert-source-map: 1.9.0 reflect-metadata: 0.2.1 - semver: 7.6.0 + semver: 7.6.2 tslib: 2.6.2 typescript: 5.4.2 yargs: 17.7.2 @@ -1533,21 +1598,21 @@ packages: - supports-color dev: true - /@angular/compiler@17.3.0(@angular/core@17.3.0): - resolution: {integrity: sha512-lZBD5mFq7SzFJydZwW2jvnQGmtcU1s3e548hl4MSZpRgt13m5UmBQKbyMOvVN2WxKvWKlmDlywsAJlMSXepYig==} + /@angular/compiler@18.0.0(@angular/core@18.0.0): + resolution: {integrity: sha512-KbyjUfpdVE8+6fiHqo4PgVrGppYUhlU1JVAj6dqeUug9lQ5HBcANfiZ7p8CA2lU3gvIZ1cj+ZDKA1NEB1wvvtQ==} engines: {node: ^18.13.0 || >=20.9.0} peerDependencies: - '@angular/core': 17.3.0 + '@angular/core': 18.0.0 peerDependenciesMeta: '@angular/core': optional: true dependencies: - '@angular/core': 17.3.0(rxjs@7.8.1)(zone.js@0.14.3) + '@angular/core': 18.0.0(rxjs@7.8.1)(zone.js@0.14.3) tslib: 2.6.2 dev: true - /@angular/core@17.3.0(rxjs@7.8.1)(zone.js@0.14.3): - resolution: {integrity: sha512-umwsNFl/wEMTCUVvNl5iieEgHA+ESxSMcjedZGFWNGnpUxKTgYFYNG41/1wNZfPrS0+uRPHuYU9IHD+NR2s/Rw==} + /@angular/core@18.0.0(rxjs@7.8.1)(zone.js@0.14.3): + resolution: {integrity: sha512-tpR7HIY4MJuM9ETpG15IvBr1wsI8Cyec3ZxYFe/27FKHARvxDbqIrT9QevmC6lxg1NdfD990G2XphYML1EyJ8g==} engines: {node: ^18.13.0 || >=20.9.0} peerDependencies: rxjs: ^6.5.3 || ^7.4.0 @@ -1558,34 +1623,34 @@ packages: zone.js: 0.14.3 dev: true - /@angular/platform-browser@17.3.0(@angular/common@17.3.0)(@angular/core@17.3.0): - resolution: {integrity: sha512-sIquvbq04KMOdpk1VdVFt7kVhOk/Rk+hI3M4raarMK5EbZ16nLYzpqjc2OZetUpKy6LB/FemClgNUShj9NlrqA==} + /@angular/platform-browser@18.0.0(@angular/common@18.0.0)(@angular/core@18.0.0): + resolution: {integrity: sha512-fOqXQn15H33xGTGgNBUwXAg5KRpqcdsVfipFBuD1GMbjMLQAx/AagxsBavRiq3mKEdHZyQ+hI4mvaKQWOPKUOQ==} engines: {node: ^18.13.0 || >=20.9.0} peerDependencies: - '@angular/animations': 17.3.0 - '@angular/common': 17.3.0 - '@angular/core': 17.3.0 + '@angular/animations': 18.0.0 + '@angular/common': 18.0.0 + '@angular/core': 18.0.0 peerDependenciesMeta: '@angular/animations': optional: true dependencies: - '@angular/common': 17.3.0(@angular/core@17.3.0)(rxjs@7.8.1) - '@angular/core': 17.3.0(rxjs@7.8.1)(zone.js@0.14.3) + '@angular/common': 18.0.0(@angular/core@18.0.0)(rxjs@7.8.1) + '@angular/core': 18.0.0(rxjs@7.8.1)(zone.js@0.14.3) tslib: 2.6.2 dev: true - /@angular/router@17.3.0(@angular/common@17.3.0)(@angular/core@17.3.0)(@angular/platform-browser@17.3.0)(rxjs@7.8.1): - resolution: {integrity: sha512-OBMAfjaSfEdEYqfYsAemDvknYZV69ABFf06hhduNLhB5QgbPrZCbNptnlrCPx4YDrzcANj2hrcyAmAVNTk8Giw==} + /@angular/router@18.0.0(@angular/common@18.0.0)(@angular/core@18.0.0)(@angular/platform-browser@18.0.0)(rxjs@7.8.1): + resolution: {integrity: sha512-bytfTypkJbHDv2QkD8jT2w63DWKicSYi5l7N+LPukb9/0pl3XYXKJ8cjlVLbiFvoo5Oz2oBFWYFucWsaPqDw3A==} engines: {node: ^18.13.0 || >=20.9.0} peerDependencies: - '@angular/common': 17.3.0 - '@angular/core': 17.3.0 - '@angular/platform-browser': 17.3.0 + '@angular/common': 18.0.0 + '@angular/core': 18.0.0 + '@angular/platform-browser': 18.0.0 rxjs: ^6.5.3 || ^7.4.0 dependencies: - '@angular/common': 17.3.0(@angular/core@17.3.0)(rxjs@7.8.1) - '@angular/core': 17.3.0(rxjs@7.8.1)(zone.js@0.14.3) - '@angular/platform-browser': 17.3.0(@angular/common@17.3.0)(@angular/core@17.3.0) + '@angular/common': 18.0.0(@angular/core@18.0.0)(rxjs@7.8.1) + '@angular/core': 18.0.0(rxjs@7.8.1)(zone.js@0.14.3) + '@angular/platform-browser': 18.0.0(@angular/common@18.0.0)(@angular/core@18.0.0) rxjs: 7.8.1 tslib: 2.6.2 dev: true @@ -1624,10 +1689,23 @@ packages: '@babel/highlight': 7.23.4 chalk: 2.4.2 + /@babel/code-frame@7.24.2: + resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.24.5 + picocolors: 1.0.0 + dev: true + /@babel/compat-data@7.23.5: resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} engines: {node: '>=6.9.0'} + /@babel/compat-data@7.24.4: + resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/core@7.23.2: resolution: {integrity: sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==} engines: {node: '>=6.9.0'} @@ -1654,7 +1732,7 @@ packages: resolution: {integrity: sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==} engines: {node: '>=6.9.0'} dependencies: - '@ampproject/remapping': 2.2.1 + '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.23.5 '@babel/generator': 7.23.6 '@babel/helper-compilation-targets': 7.23.6 @@ -1719,6 +1797,52 @@ packages: - supports-color dev: true + /@babel/core@7.24.4: + resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) + '@babel/helpers': 7.24.5 + '@babel/parser': 7.24.5 + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.5 + '@babel/types': 7.24.0 + convert-source-map: 2.0.0 + debug: 4.3.4(supports-color@8.1.1) + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/core@7.24.5: + resolution: {integrity: sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5) + '@babel/helpers': 7.24.5 + '@babel/parser': 7.24.5 + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.5 + '@babel/types': 7.24.5 + convert-source-map: 2.0.0 + debug: 4.3.4(supports-color@8.1.1) + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/generator@7.23.6: resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} engines: {node: '>=6.9.0'} @@ -1728,6 +1852,16 @@ packages: '@jridgewell/trace-mapping': 0.3.21 jsesc: 2.5.2 + /@babel/generator@7.24.5: + resolution: {integrity: sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.5 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + dev: true + /@babel/helper-annotate-as-pure@7.22.5: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} @@ -1878,6 +2012,24 @@ packages: semver: 6.3.1 dev: true + /@babel/helper-create-class-features-plugin@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.24.5 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.24.5 + semver: 6.3.1 + dev: true + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.7): resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} engines: {node: '>=6.9.0'} @@ -1902,6 +2054,18 @@ packages: semver: 6.3.1 dev: true + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.5): + resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-annotate-as-pure': 7.22.5 + regexpu-core: 5.3.2 + semver: 6.3.1 + dev: true + /@babel/helper-create-regexp-features-plugin@7.22.9(@babel/core@7.23.2): resolution: {integrity: sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==} engines: {node: '>=6.9.0'} @@ -1938,6 +2102,18 @@ packages: semver: 6.3.1 dev: true + /@babel/helper-create-regexp-features-plugin@7.22.9(@babel/core@7.24.5): + resolution: {integrity: sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-annotate-as-pure': 7.22.5 + regexpu-core: 5.3.2 + semver: 6.3.1 + dev: true + /@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.23.7): resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==} peerDependencies: @@ -1999,6 +2175,21 @@ packages: - supports-color dev: true + /@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.5): + resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.24.0 + debug: 4.3.4(supports-color@8.1.1) + lodash.debounce: 4.0.8 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/helper-environment-visitor@7.22.20: resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} engines: {node: '>=6.9.0'} @@ -2020,7 +2211,14 @@ packages: resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.24.0 + dev: true + + /@babel/helper-member-expression-to-functions@7.24.5: + resolution: {integrity: sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.5 dev: true /@babel/helper-module-imports@7.22.15: @@ -2029,6 +2227,13 @@ packages: dependencies: '@babel/types': 7.23.6 + /@babel/helper-module-imports@7.24.3: + resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + dev: true + /@babel/helper-module-transforms@7.22.5: resolution: {integrity: sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==} engines: {node: '>=6.9.0'} @@ -2100,11 +2305,53 @@ packages: '@babel/helper-validator-identifier': 7.22.20 dev: true + /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + dev: true + + /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.5): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + dev: true + + /@babel/helper-module-transforms@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.24.3 + '@babel/helper-simple-access': 7.24.5 + '@babel/helper-split-export-declaration': 7.24.5 + '@babel/helper-validator-identifier': 7.24.5 + dev: true + /@babel/helper-optimise-call-expression@7.22.5: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.24.0 dev: true /@babel/helper-plugin-utils@7.22.5: @@ -2117,6 +2364,11 @@ packages: engines: {node: '>=6.9.0'} dev: true + /@babel/helper-plugin-utils@7.24.5: + resolution: {integrity: sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.7): resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} engines: {node: '>=6.9.0'} @@ -2141,6 +2393,18 @@ packages: '@babel/helper-wrap-function': 7.22.20 dev: true + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.5): + resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-wrap-function': 7.22.20 + dev: true + /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.2): resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} engines: {node: '>=6.9.0'} @@ -2225,17 +2489,36 @@ packages: '@babel/helper-optimise-call-expression': 7.22.5 dev: true + /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + dev: true + /@babel/helper-simple-access@7.22.5: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.23.6 + /@babel/helper-simple-access@7.24.5: + resolution: {integrity: sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.5 + dev: true + /@babel/helper-skip-transparent-expression-wrappers@7.22.5: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.24.0 dev: true /@babel/helper-split-export-declaration@7.22.6: @@ -2244,14 +2527,31 @@ packages: dependencies: '@babel/types': 7.23.9 + /@babel/helper-split-export-declaration@7.24.5: + resolution: {integrity: sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.5 + dev: true + /@babel/helper-string-parser@7.23.4: resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} engines: {node: '>=6.9.0'} + /@babel/helper-string-parser@7.24.1: + resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/helper-validator-identifier@7.22.20: resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} + /@babel/helper-validator-identifier@7.24.5: + resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/helper-validator-option@7.22.5: resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==} engines: {node: '>=6.9.0'} @@ -2266,8 +2566,8 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/helper-function-name': 7.23.0 - '@babel/template': 7.23.9 - '@babel/types': 7.23.9 + '@babel/template': 7.24.0 + '@babel/types': 7.24.0 dev: true /@babel/helpers@7.23.8: @@ -2302,6 +2602,17 @@ packages: - supports-color dev: true + /@babel/helpers@7.24.5: + resolution: {integrity: sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.5 + '@babel/types': 7.24.5 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/highlight@7.22.20: resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==} engines: {node: '>=6.9.0'} @@ -2319,6 +2630,16 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 + /@babel/highlight@7.24.5: + resolution: {integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.24.5 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.0 + dev: true + /@babel/parser@7.23.6: resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==} engines: {node: '>=6.0.0'} @@ -2342,6 +2663,25 @@ packages: '@babel/types': 7.24.0 dev: true + /@babel/parser@7.24.5: + resolution: {integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.24.5 + dev: true + + /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-LdXRi1wEMTrHVR4Zc9F8OewC3vdm5h4QB6L71zy6StmYeqGi1b3ttIO8UC+BfZKcH9jdr4aI249rBkm+3+YvHw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.7): resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} engines: {node: '>=6.9.0'} @@ -2362,6 +2702,16 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.23.7): resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==} engines: {node: '>=6.9.0'} @@ -2386,6 +2736,18 @@ packages: '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.24.0) dev: true + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-transform-optional-chaining': 7.24.5(@babel/core@7.24.5) + dev: true + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.24.0): resolution: {integrity: sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==} engines: {node: '>=6.9.0'} @@ -2397,6 +2759,17 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.23.7): resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} engines: {node: '>=6.9.0'} @@ -2405,7 +2778,7 @@ packages: dependencies: '@babel/core': 7.23.7 '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.7) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.7) dev: true @@ -2419,7 +2792,7 @@ packages: dependencies: '@babel/core': 7.23.7 '@babel/helper-create-class-features-plugin': 7.23.10(@babel/core@7.23.7) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.24.0 dev: true /@babel/plugin-proposal-class-static-block@7.21.0(@babel/core@7.23.7): @@ -2430,7 +2803,7 @@ packages: dependencies: '@babel/core': 7.23.7 '@babel/helper-create-class-features-plugin': 7.23.10(@babel/core@7.23.7) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.7) dev: true @@ -2465,7 +2838,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.7) dev: true @@ -2476,7 +2849,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.7) dev: true @@ -2487,7 +2860,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.7) dev: true @@ -2498,7 +2871,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.7) dev: true @@ -2509,7 +2882,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.7) dev: true @@ -2520,7 +2893,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.7) dev: true @@ -2533,7 +2906,7 @@ packages: '@babel/compat-data': 7.23.5 '@babel/core': 7.23.7 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.7) '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.7) dev: true @@ -2545,7 +2918,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.7) dev: true @@ -2556,7 +2929,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.7) dev: true @@ -2569,7 +2942,7 @@ packages: dependencies: '@babel/core': 7.23.7 '@babel/helper-create-class-features-plugin': 7.23.10(@babel/core@7.23.7) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.24.0 dev: true /@babel/plugin-proposal-private-property-in-object@7.21.0(@babel/core@7.23.7): @@ -2582,7 +2955,7 @@ packages: '@babel/core': 7.23.7 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-create-class-features-plugin': 7.23.10(@babel/core@7.23.7) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.7) dev: true @@ -2595,6 +2968,15 @@ packages: '@babel/core': 7.24.0 dev: true + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.5): + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + dev: true + /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.23.7): resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} engines: {node: '>=4'} @@ -2603,7 +2985,7 @@ packages: dependencies: '@babel/core': 7.23.7 '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.23.7) - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.24.0 dev: true /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.2): @@ -2633,6 +3015,15 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.5): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.23.2): resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: @@ -2678,6 +3069,15 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.5): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.7): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} @@ -2698,6 +3098,16 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.5): + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-decorators@7.23.3(@babel/core@7.23.2): resolution: {integrity: sha512-cf7Niq4/+/juY67E0PbgH0TDhLQ5J7zS8C/Q5FFx+DWyrRa9sUQdTXkjqKu8zGvuqr7vw1muKiukseihU+PJDA==} engines: {node: '>=6.9.0'} @@ -2746,6 +3156,15 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.5): + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.7): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: @@ -2764,6 +3183,15 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.5): + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-flow@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==} engines: {node: '>=6.9.0'} @@ -2794,6 +3222,16 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.24.0): resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==} engines: {node: '>=6.9.0'} @@ -2804,6 +3242,16 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.2): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: @@ -2822,6 +3270,15 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.5): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.2): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: @@ -2849,6 +3306,15 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.5): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} engines: {node: '>=6.9.0'} @@ -2956,6 +3422,15 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.5): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.2): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: @@ -2983,6 +3458,15 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.5): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.2): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: @@ -3010,6 +3494,15 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.5): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.2): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: @@ -3037,6 +3530,15 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.5): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.2): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: @@ -3064,6 +3566,15 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.5): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.2): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: @@ -3091,6 +3602,15 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.5): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.7): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} @@ -3111,6 +3631,16 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.5): + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.2): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} @@ -3141,6 +3671,16 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.5): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} engines: {node: '>=6.9.0'} @@ -3212,6 +3752,17 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.5): + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.0 + dev: true + /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.23.7): resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==} engines: {node: '>=6.9.0'} @@ -3232,6 +3783,16 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-async-generator-functions@7.23.9(@babel/core@7.24.0): resolution: {integrity: sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==} engines: {node: '>=6.9.0'} @@ -3245,6 +3806,19 @@ packages: '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.0) dev: true + /@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.5): + resolution: {integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.5) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.23.7): resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==} engines: {node: '>=6.9.0'} @@ -3269,6 +3843,18 @@ packages: '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.0) dev: true + /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-module-imports': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.23.7): resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==} engines: {node: '>=6.9.0'} @@ -3289,6 +3875,16 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.23.7): resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==} engines: {node: '>=6.9.0'} @@ -3309,6 +3905,16 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-transform-block-scoping@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-sMfBc3OxghjC95BkYrYocHL3NaOplrcaunblzwXhGmlPwpmfsxr4vK+mBBt49r+S240vahmv+kUxkeKgs+haCw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.24.0): resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==} engines: {node: '>=6.9.0'} @@ -3320,6 +3926,17 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.24.0): resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==} engines: {node: '>=6.9.0'} @@ -3332,6 +3949,18 @@ packages: '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.0) dev: true + /@babel/plugin-transform-class-static-block@7.24.4(@babel/core@7.24.5): + resolution: {integrity: sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.5 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-classes@7.23.8(@babel/core@7.23.7): resolution: {integrity: sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==} engines: {node: '>=6.9.0'} @@ -3366,6 +3995,23 @@ packages: globals: 11.12.0 dev: true + /@babel/plugin-transform-classes@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-gWkLP25DFj2dwe9Ck8uwMOpko4YsqyfZJrOmqqcegeDYEbp7rmn4U6UQZNj08UF6MaX39XenSpKRCvpDRBtZ7Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5) + '@babel/helper-split-export-declaration': 7.24.5 + globals: 11.12.0 + dev: true + /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.23.7): resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==} engines: {node: '>=6.9.0'} @@ -3388,6 +4034,17 @@ packages: '@babel/template': 7.23.9 dev: true + /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/template': 7.24.0 + dev: true + /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.23.7): resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==} engines: {node: '>=6.9.0'} @@ -3408,6 +4065,16 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-transform-destructuring@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-SZuuLyfxvsm+Ah57I/i1HVjveBENYK9ue8MJ7qkc7ndoNjqquJiElzA7f5yaAXjyW2hKojosOTAQQRX50bPSVg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.23.7): resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==} engines: {node: '>=6.9.0'} @@ -3430,6 +4097,17 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.23.7): resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==} engines: {node: '>=6.9.0'} @@ -3450,6 +4128,16 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.24.0): resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==} engines: {node: '>=6.9.0'} @@ -3461,6 +4149,17 @@ packages: '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.0) dev: true + /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.23.7): resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==} engines: {node: '>=6.9.0'} @@ -3483,6 +4182,17 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.24.0): resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==} engines: {node: '>=6.9.0'} @@ -3494,6 +4204,17 @@ packages: '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.0) dev: true + /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-flow-strip-types@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==} engines: {node: '>=6.9.0'} @@ -3527,6 +4248,17 @@ packages: '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true + /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + dev: true + /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.23.7): resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==} engines: {node: '>=6.9.0'} @@ -3551,6 +4283,18 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.24.0): resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==} engines: {node: '>=6.9.0'} @@ -3562,6 +4306,17 @@ packages: '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.0) dev: true + /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-literals@7.23.3(@babel/core@7.23.7): resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==} engines: {node: '>=6.9.0'} @@ -3582,6 +4337,16 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.24.0): resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==} engines: {node: '>=6.9.0'} @@ -3593,6 +4358,17 @@ packages: '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.0) dev: true + /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.23.7): resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==} engines: {node: '>=6.9.0'} @@ -3613,6 +4389,16 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.23.7): resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==} engines: {node: '>=6.9.0'} @@ -3635,6 +4421,17 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-modules-commonjs@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==} engines: {node: '>=6.9.0'} @@ -3715,6 +4512,18 @@ packages: '@babel/helper-simple-access': 7.22.5 dev: true + /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.5 + '@babel/helper-simple-access': 7.22.5 + dev: true + /@babel/plugin-transform-modules-systemjs@7.23.9(@babel/core@7.23.7): resolution: {integrity: sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==} engines: {node: '>=6.9.0'} @@ -3741,6 +4550,19 @@ packages: '@babel/helper-validator-identifier': 7.22.20 dev: true + /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.5 + '@babel/helper-validator-identifier': 7.22.20 + dev: true + /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.23.7): resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==} engines: {node: '>=6.9.0'} @@ -3763,6 +4585,17 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.7): resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} @@ -3785,6 +4618,17 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.5): + resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-create-regexp-features-plugin': 7.22.9(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.23.7): resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==} engines: {node: '>=6.9.0'} @@ -3805,6 +4649,16 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.24.0): resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==} engines: {node: '>=6.9.0'} @@ -3816,6 +4670,17 @@ packages: '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.0) dev: true + /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.24.0): resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==} engines: {node: '>=6.9.0'} @@ -3827,6 +4692,17 @@ packages: '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.0) dev: true + /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-object-rest-spread@7.24.0(@babel/core@7.24.0): resolution: {integrity: sha512-y/yKMm7buHpFFXfxVFS4Vk1ToRJDilIa6fKRioB9Vjichv58TDGXTvqV0dN7plobAmTW5eSEGXDngE+Mm+uO+w==} engines: {node: '>=6.9.0'} @@ -3841,6 +4717,19 @@ packages: '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.24.0) dev: true + /@babel/plugin-transform-object-rest-spread@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-7EauQHszLGM3ay7a161tTQH7fj+3vVM/gThlz5HpFtnygTxjrlvoeq7MPVA1Vy9Q555OB8SnAOsMkLShNkkrHA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.23.7): resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==} engines: {node: '>=6.9.0'} @@ -3863,6 +4752,17 @@ packages: '@babel/helper-replace-supers': 7.22.20(@babel/core@7.24.0) dev: true + /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.24.0): resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==} engines: {node: '>=6.9.0'} @@ -3874,6 +4774,17 @@ packages: '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.0) dev: true + /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.23.7): resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==} engines: {node: '>=6.9.0'} @@ -3898,6 +4809,18 @@ packages: '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.0) dev: true + /@babel/plugin-transform-optional-chaining@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-xWCkmwKT+ihmA6l7SSTpk8e4qQl/274iNbSKRRS8mpqFR32ksy36+a+LWY8OXCCEefF8WFlnOHVsaDI2231wBg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.23.7): resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} engines: {node: '>=6.9.0'} @@ -3918,6 +4841,16 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-transform-parameters@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.24.0): resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==} engines: {node: '>=6.9.0'} @@ -3929,6 +4862,17 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.24.0): resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==} engines: {node: '>=6.9.0'} @@ -3942,6 +4886,19 @@ packages: '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.0) dev: true + /@babel/plugin-transform-private-property-in-object@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-JM4MHZqnWR04jPMujQDTBVRnqxpLLpx2tkn7iPn+Hmsc0Gnb79yvRWOkvqFOx3Z7P7VxiRIR22c4eGSNj87OBQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.5 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.5) + dev: true + /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.23.7): resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==} engines: {node: '>=6.9.0'} @@ -3962,6 +4919,16 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-react-constant-elements@7.21.3(@babel/core@7.23.7): resolution: {integrity: sha512-4DVcFeWe/yDYBLp0kBmOGFJ6N2UYg7coGid1gdxb4co62dy/xISDMaYBXBVXEDhfgMk7qkbcYiGtwd5Q/hwDDQ==} engines: {node: '>=6.9.0'} @@ -4042,24 +5009,24 @@ packages: '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.24.0) dev: true - /@babel/plugin-transform-react-jsx-self@7.22.5(@babel/core@7.23.9): + /@babel/plugin-transform-react-jsx-self@7.22.5(@babel/core@7.24.0): resolution: {integrity: sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.0 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-react-jsx-source@7.22.5(@babel/core@7.23.9): + /@babel/plugin-transform-react-jsx-source@7.22.5(@babel/core@7.24.0): resolution: {integrity: sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.0 + '@babel/helper-plugin-utils': 7.24.0 dev: true /@babel/plugin-transform-react-jsx@7.22.5(@babel/core@7.23.2): @@ -4159,6 +5126,17 @@ packages: regenerator-transform: 0.15.2 dev: true + /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + regenerator-transform: 0.15.2 + dev: true + /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.23.7): resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==} engines: {node: '>=6.9.0'} @@ -4179,6 +5157,16 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-runtime@7.23.2(@babel/core@7.23.2): resolution: {integrity: sha512-XOntj6icgzMS58jPVtQpiuF6ZFWxQiJavISGx5KGjRj+3gqZr8+N6Kx+N9BApWzgS+DOjIZfXXj0ZesenOWDyA==} engines: {node: '>=6.9.0'} @@ -4213,6 +5201,23 @@ packages: - supports-color dev: true + /@babel/plugin-transform-runtime@7.24.3(@babel/core@7.24.5): + resolution: {integrity: sha512-J0BuRPNlNqlMTRJ72eVptpt9VcInbxO6iP3jaxr+1NPhC0UkKL+6oeX6VXMEYdADnuqmMmsBspt4d5w8Y/TCbQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-module-imports': 7.24.3 + '@babel/helper-plugin-utils': 7.24.0 + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.5) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.5) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.5) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.23.7): resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==} engines: {node: '>=6.9.0'} @@ -4233,6 +5238,16 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-spread@7.23.3(@babel/core@7.23.7): resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==} engines: {node: '>=6.9.0'} @@ -4255,6 +5270,17 @@ packages: '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true + /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + dev: true + /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.23.7): resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==} engines: {node: '>=6.9.0'} @@ -4275,6 +5301,16 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.23.7): resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==} engines: {node: '>=6.9.0'} @@ -4295,6 +5331,16 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.23.7): resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==} engines: {node: '>=6.9.0'} @@ -4315,6 +5361,16 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-transform-typeof-symbol@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-UTGnhYVZtTAjdwOTzT+sCyXmTn8AhaxOS/MjG9REclZ6ULHWF9KoCZur0HSGU7hk8PdBFKKbYe6+gqdXWz84Jg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-typescript@7.22.9(@babel/core@7.23.2): resolution: {integrity: sha512-BnVR1CpKiuD0iobHPaM1iLvcwPYN2uVFAqoLVSpEDKWuOikoCv5HbKLxclhKYUXlWkX86DoZGtqI4XhbOsyrMg==} engines: {node: '>=6.9.0'} @@ -4400,6 +5456,16 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.24.0): resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==} engines: {node: '>=6.9.0'} @@ -4411,6 +5477,17 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.23.7): resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==} engines: {node: '>=6.9.0'} @@ -4433,6 +5510,17 @@ packages: '@babel/helper-plugin-utils': 7.22.5 dev: true + /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.24.0): resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==} engines: {node: '>=6.9.0'} @@ -4444,6 +5532,17 @@ packages: '@babel/helper-plugin-utils': 7.24.0 dev: true + /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.5): + resolution: {integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/preset-env@7.21.4(@babel/core@7.23.7): resolution: {integrity: sha512-2W57zHs2yDLm6GD5ZpvNn71lZ0B/iypSdIeq25OurDKji6AdzV07qp4s3n1/x5BqtiGaTrPN3nerlSCaC5qNTw==} engines: {node: '>=6.9.0'} @@ -4621,6 +5720,98 @@ packages: - supports-color dev: true + /@babel/preset-env@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-UGK2ifKtcC8i5AI4cH+sbLLuLc2ktYSFJgBAXorKAsHUZmrQ1q6aQ6i3BvU24wWs2AAKqQB6kq3N9V9Gw1HiMQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.24.4 + '@babel/core': 7.24.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.5) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.5) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.5) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.5) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.5) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.5) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.5) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.5) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.5) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.5) + '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.5) + '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-block-scoping': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-class-static-block': 7.24.4(@babel/core@7.24.5) + '@babel/plugin-transform-classes': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-destructuring': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.5) + '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-object-rest-spread': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-optional-chaining': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-private-property-in-object': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-typeof-symbol': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.5) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.5) + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.5) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.5) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.5) + core-js-compat: 3.35.1 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/preset-flow@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-ta2qZ+LSiGCrP5pgcGt8xMnnkXQrq8Sa4Ulhy06BOlF5QbLw9q5hIx7bn5MrsvyTGAfh6kTOo07Q+Pfld/8Y5Q==} engines: {node: '>=6.9.0'} @@ -4628,7 +5819,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.23.2 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-option': 7.23.5 '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.23.2) dev: true @@ -4639,10 +5830,10 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.23.7 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.23.7) '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.23.7) - '@babel/types': 7.23.9 + '@babel/types': 7.24.0 esutils: 2.0.3 dev: true @@ -4657,6 +5848,17 @@ packages: esutils: 2.0.3 dev: true + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.5): + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/types': 7.23.9 + esutils: 2.0.3 + dev: true + /@babel/preset-react@7.22.5(@babel/core@7.23.2): resolution: {integrity: sha512-M+Is3WikOpEJHgR385HbuCITPTaPRaNkibTEa9oiofmJvIsrceb4yp9RL9Kb+TE8LznmeyZqpP+Lopwcx59xPQ==} engines: {node: '>=6.9.0'} @@ -4790,18 +5992,18 @@ packages: regenerator-runtime: 0.14.0 dev: true - /@babel/runtime@7.24.0: - resolution: {integrity: sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==} + /@babel/runtime@7.24.4: + resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.0 - dev: true - /@babel/runtime@7.24.4: - resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==} + /@babel/runtime@7.24.5: + resolution: {integrity: sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.0 + dev: true /@babel/standalone@7.23.10: resolution: {integrity: sha512-xqWviI/pt1Zb/d+6ilWa5IDL2mkDzsBnlHbreqnfyP3/QB/ofQ1bNVcHj8YQX154Rf/xZKR6y0s1ydVF3nAS8g==} @@ -4844,8 +6046,8 @@ packages: '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.23.9 - '@babel/types': 7.23.9 + '@babel/parser': 7.24.0 + '@babel/types': 7.24.0 debug: 4.3.4(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: @@ -4905,6 +6107,24 @@ packages: - supports-color dev: true + /@babel/traverse@7.24.5: + resolution: {integrity: sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.24.5 + '@babel/parser': 7.24.5 + '@babel/types': 7.24.5 + debug: 4.3.4(supports-color@8.1.1) + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/types@7.23.6: resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==} engines: {node: '>=6.9.0'} @@ -4930,6 +6150,15 @@ packages: to-fast-properties: 2.0.0 dev: true + /@babel/types@7.24.5: + resolution: {integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.24.1 + '@babel/helper-validator-identifier': 7.24.5 + to-fast-properties: 2.0.0 + dev: true + /@base2/pretty-print-object@1.0.1: resolution: {integrity: sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==} dev: true @@ -5180,6 +6409,15 @@ packages: dev: true optional: true + /@esbuild/aix-ppc64@0.21.3: + resolution: {integrity: sha512-yTgnwQpFVYfvvo4SvRFB0SwrW8YjOxEoT7wfMT7Ol5v7v5LDNvSGo67aExmxOb87nQNeWPVvaGBNfQ7BXcrZ9w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-arm64@0.17.6: resolution: {integrity: sha512-YnYSCceN/dUzUr5kdtUzB+wZprCafuD89Hs0Aqv9QSdwhYQybhXTaSTcrl6X/aWThn1a/j0eEpUBGOE7269REg==} engines: {node: '>=12'} @@ -5233,6 +6471,15 @@ packages: dev: true optional: true + /@esbuild/android-arm64@0.21.3: + resolution: {integrity: sha512-c+ty9necz3zB1Y+d/N+mC6KVVkGUUOcm4ZmT5i/Fk5arOaY3i6CA3P5wo/7+XzV8cb4GrI/Zjp8NuOQ9Lfsosw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-arm@0.17.6: resolution: {integrity: sha512-bSC9YVUjADDy1gae8RrioINU6e1lCkg3VGVwm0QQ2E1CWcC4gnMce9+B6RpxuSsrsXsk1yojn7sp1fnG8erE2g==} engines: {node: '>=12'} @@ -5286,6 +6533,15 @@ packages: dev: true optional: true + /@esbuild/android-arm@0.21.3: + resolution: {integrity: sha512-bviJOLMgurLJtF1/mAoJLxDZDL6oU5/ztMHnJQRejbJrSc9FFu0QoUoFhvi6qSKJEw9y5oGyvr9fuDtzJ30rNQ==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-x64@0.17.6: resolution: {integrity: sha512-MVcYcgSO7pfu/x34uX9u2QIZHmXAB7dEiLQC5bBl5Ryqtpj9lT2sg3gNDEsrPEmimSJW2FXIaxqSQ501YLDsZQ==} engines: {node: '>=12'} @@ -5339,6 +6595,15 @@ packages: dev: true optional: true + /@esbuild/android-x64@0.21.3: + resolution: {integrity: sha512-JReHfYCRK3FVX4Ra+y5EBH1b9e16TV2OxrPAvzMsGeES0X2Ndm9ImQRI4Ket757vhc5XBOuGperw63upesclRw==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/darwin-arm64@0.17.6: resolution: {integrity: sha512-bsDRvlbKMQMt6Wl08nHtFz++yoZHsyTOxnjfB2Q95gato+Yi4WnRl13oC2/PJJA9yLCoRv9gqT/EYX0/zDsyMA==} engines: {node: '>=12'} @@ -5392,6 +6657,15 @@ packages: dev: true optional: true + /@esbuild/darwin-arm64@0.21.3: + resolution: {integrity: sha512-U3fuQ0xNiAkXOmQ6w5dKpEvXQRSpHOnbw7gEfHCRXPeTKW9sBzVck6C5Yneb8LfJm0l6le4NQfkNPnWMSlTFUQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@esbuild/darwin-x64@0.17.6: resolution: {integrity: sha512-xh2A5oPrYRfMFz74QXIQTQo8uA+hYzGWJFoeTE8EvoZGHb+idyV4ATaukaUvnnxJiauhs/fPx3vYhU4wiGfosg==} engines: {node: '>=12'} @@ -5445,6 +6719,15 @@ packages: dev: true optional: true + /@esbuild/darwin-x64@0.21.3: + resolution: {integrity: sha512-3m1CEB7F07s19wmaMNI2KANLcnaqryJxO1fXHUV5j1rWn+wMxdUYoPyO2TnAbfRZdi7ADRwJClmOwgT13qlP3Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@esbuild/freebsd-arm64@0.17.6: resolution: {integrity: sha512-EnUwjRc1inT4ccZh4pB3v1cIhohE2S4YXlt1OvI7sw/+pD+dIE4smwekZlEPIwY6PhU6oDWwITrQQm5S2/iZgg==} engines: {node: '>=12'} @@ -5498,6 +6781,15 @@ packages: dev: true optional: true + /@esbuild/freebsd-arm64@0.21.3: + resolution: {integrity: sha512-fsNAAl5pU6wmKHq91cHWQT0Fz0vtyE1JauMzKotrwqIKAswwP5cpHUCxZNSTuA/JlqtScq20/5KZ+TxQdovU/g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/freebsd-x64@0.17.6: resolution: {integrity: sha512-Uh3HLWGzH6FwpviUcLMKPCbZUAFzv67Wj5MTwK6jn89b576SR2IbEp+tqUHTr8DIl0iDmBAf51MVaP7pw6PY5Q==} engines: {node: '>=12'} @@ -5551,6 +6843,15 @@ packages: dev: true optional: true + /@esbuild/freebsd-x64@0.21.3: + resolution: {integrity: sha512-tci+UJ4zP5EGF4rp8XlZIdq1q1a/1h9XuronfxTMCNBslpCtmk97Q/5qqy1Mu4zIc0yswN/yP/BLX+NTUC1bXA==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-arm64@0.17.6: resolution: {integrity: sha512-bUR58IFOMJX523aDVozswnlp5yry7+0cRLCXDsxnUeQYJik1DukMY+apBsLOZJblpH+K7ox7YrKrHmJoWqVR9w==} engines: {node: '>=12'} @@ -5604,6 +6905,15 @@ packages: dev: true optional: true + /@esbuild/linux-arm64@0.21.3: + resolution: {integrity: sha512-vvG6R5g5ieB4eCJBQevyDMb31LMHthLpXTc2IGkFnPWS/GzIFDnaYFp558O+XybTmYrVjxnryru7QRleJvmZ6Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-arm@0.17.6: resolution: {integrity: sha512-7YdGiurNt7lqO0Bf/U9/arrPWPqdPqcV6JCZda4LZgEn+PTQ5SMEI4MGR52Bfn3+d6bNEGcWFzlIxiQdS48YUw==} engines: {node: '>=12'} @@ -5657,6 +6967,15 @@ packages: dev: true optional: true + /@esbuild/linux-arm@0.21.3: + resolution: {integrity: sha512-f6kz2QpSuyHHg01cDawj0vkyMwuIvN62UAguQfnNVzbge2uWLhA7TCXOn83DT0ZvyJmBI943MItgTovUob36SQ==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-ia32@0.17.6: resolution: {integrity: sha512-ujp8uoQCM9FRcbDfkqECoARsLnLfCUhKARTP56TFPog8ie9JG83D5GVKjQ6yVrEVdMie1djH86fm98eY3quQkQ==} engines: {node: '>=12'} @@ -5710,6 +7029,15 @@ packages: dev: true optional: true + /@esbuild/linux-ia32@0.21.3: + resolution: {integrity: sha512-HjCWhH7K96Na+66TacDLJmOI9R8iDWDDiqe17C7znGvvE4sW1ECt9ly0AJ3dJH62jHyVqW9xpxZEU1jKdt+29A==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-loong64@0.17.6: resolution: {integrity: sha512-y2NX1+X/Nt+izj9bLoiaYB9YXT/LoaQFYvCkVD77G/4F+/yuVXYCWz4SE9yr5CBMbOxOfBcy/xFL4LlOeNlzYQ==} engines: {node: '>=12'} @@ -5763,6 +7091,15 @@ packages: dev: true optional: true + /@esbuild/linux-loong64@0.21.3: + resolution: {integrity: sha512-BGpimEccmHBZRcAhdlRIxMp7x9PyJxUtj7apL2IuoG9VxvU/l/v1z015nFs7Si7tXUwEsvjc1rOJdZCn4QTU+Q==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-mips64el@0.17.6: resolution: {integrity: sha512-09AXKB1HDOzXD+j3FdXCiL/MWmZP0Ex9eR8DLMBVcHorrWJxWmY8Nms2Nm41iRM64WVx7bA/JVHMv081iP2kUA==} engines: {node: '>=12'} @@ -5816,6 +7153,15 @@ packages: dev: true optional: true + /@esbuild/linux-mips64el@0.21.3: + resolution: {integrity: sha512-5rMOWkp7FQGtAH3QJddP4w3s47iT20hwftqdm7b+loe95o8JU8ro3qZbhgMRy0VuFU0DizymF1pBKkn3YHWtsw==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-ppc64@0.17.6: resolution: {integrity: sha512-AmLhMzkM8JuqTIOhxnX4ubh0XWJIznEynRnZAVdA2mMKE6FAfwT2TWKTwdqMG+qEaeyDPtfNoZRpJbD4ZBv0Tg==} engines: {node: '>=12'} @@ -5869,6 +7215,15 @@ packages: dev: true optional: true + /@esbuild/linux-ppc64@0.21.3: + resolution: {integrity: sha512-h0zj1ldel89V5sjPLo5H1SyMzp4VrgN1tPkN29TmjvO1/r0MuMRwJxL8QY05SmfsZRs6TF0c/IDH3u7XYYmbAg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-riscv64@0.17.6: resolution: {integrity: sha512-Y4Ri62PfavhLQhFbqucysHOmRamlTVK10zPWlqjNbj2XMea+BOs4w6ASKwQwAiqf9ZqcY9Ab7NOU4wIgpxwoSQ==} engines: {node: '>=12'} @@ -5922,6 +7277,15 @@ packages: dev: true optional: true + /@esbuild/linux-riscv64@0.21.3: + resolution: {integrity: sha512-dkAKcTsTJ+CRX6bnO17qDJbLoW37npd5gSNtSzjYQr0svghLJYGYB0NF1SNcU1vDcjXLYS5pO4qOW4YbFama4A==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-s390x@0.17.6: resolution: {integrity: sha512-SPUiz4fDbnNEm3JSdUW8pBJ/vkop3M1YwZAVwvdwlFLoJwKEZ9L98l3tzeyMzq27CyepDQ3Qgoba44StgbiN5Q==} engines: {node: '>=12'} @@ -5975,6 +7339,15 @@ packages: dev: true optional: true + /@esbuild/linux-s390x@0.21.3: + resolution: {integrity: sha512-vnD1YUkovEdnZWEuMmy2X2JmzsHQqPpZElXx6dxENcIwTu+Cu5ERax6+Ke1QsE814Zf3c6rxCfwQdCTQ7tPuXA==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-x64@0.17.6: resolution: {integrity: sha512-a3yHLmOodHrzuNgdpB7peFGPx1iJ2x6m+uDvhP2CKdr2CwOaqEFMeSqYAHU7hG+RjCq8r2NFujcd/YsEsFgTGw==} engines: {node: '>=12'} @@ -6028,6 +7401,15 @@ packages: dev: true optional: true + /@esbuild/linux-x64@0.21.3: + resolution: {integrity: sha512-IOXOIm9WaK7plL2gMhsWJd+l2bfrhfilv0uPTptoRoSb2p09RghhQQp9YY6ZJhk/kqmeRt6siRdMSLLwzuT0KQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/netbsd-x64@0.17.6: resolution: {integrity: sha512-EanJqcU/4uZIBreTrnbnre2DXgXSa+Gjap7ifRfllpmyAU7YMvaXmljdArptTHmjrkkKm9BK6GH5D5Yo+p6y5A==} engines: {node: '>=12'} @@ -6081,6 +7463,15 @@ packages: dev: true optional: true + /@esbuild/netbsd-x64@0.21.3: + resolution: {integrity: sha512-uTgCwsvQ5+vCQnqM//EfDSuomo2LhdWhFPS8VL8xKf+PKTCrcT/2kPPoWMTs22aB63MLdGMJiE3f1PHvCDmUOw==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/openbsd-x64@0.17.6: resolution: {integrity: sha512-xaxeSunhQRsTNGFanoOkkLtnmMn5QbA0qBhNet/XLVsc+OVkpIWPHcr3zTW2gxVU5YOHFbIHR9ODuaUdNza2Vw==} engines: {node: '>=12'} @@ -6134,6 +7525,15 @@ packages: dev: true optional: true + /@esbuild/openbsd-x64@0.21.3: + resolution: {integrity: sha512-vNAkR17Ub2MgEud2Wag/OE4HTSI6zlb291UYzHez/psiKarp0J8PKGDnAhMBcHFoOHMXHfExzmjMojJNbAStrQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/sunos-x64@0.17.6: resolution: {integrity: sha512-gnMnMPg5pfMkZvhHee21KbKdc6W3GR8/JuE0Da1kjwpK6oiFU3nqfHuVPgUX2rsOx9N2SadSQTIYV1CIjYG+xw==} engines: {node: '>=12'} @@ -6187,6 +7587,15 @@ packages: dev: true optional: true + /@esbuild/sunos-x64@0.21.3: + resolution: {integrity: sha512-W8H9jlGiSBomkgmouaRoTXo49j4w4Kfbl6I1bIdO/vT0+0u4f20ko3ELzV3hPI6XV6JNBVX+8BC+ajHkvffIJA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-arm64@0.17.6: resolution: {integrity: sha512-G95n7vP1UnGJPsVdKXllAJPtqjMvFYbN20e8RK8LVLhlTiSOH1sd7+Gt7rm70xiG+I5tM58nYgwWrLs6I1jHqg==} engines: {node: '>=12'} @@ -6240,6 +7649,15 @@ packages: dev: true optional: true + /@esbuild/win32-arm64@0.21.3: + resolution: {integrity: sha512-EjEomwyLSCg8Ag3LDILIqYCZAq/y3diJ04PnqGRgq8/4O3VNlXyMd54j/saShaN4h5o5mivOjAzmU6C3X4v0xw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-ia32@0.17.6: resolution: {integrity: sha512-96yEFzLhq5bv9jJo5JhTs1gI+1cKQ83cUpyxHuGqXVwQtY5Eq54ZEsKs8veKtiKwlrNimtckHEkj4mRh4pPjsg==} engines: {node: '>=12'} @@ -6293,6 +7711,15 @@ packages: dev: true optional: true + /@esbuild/win32-ia32@0.21.3: + resolution: {integrity: sha512-WGiE/GgbsEwR33++5rzjiYsKyHywE8QSZPF7Rfx9EBfK3Qn3xyR6IjyCr5Uk38Kg8fG4/2phN7sXp4NPWd3fcw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-x64@0.17.6: resolution: {integrity: sha512-n6d8MOyUrNp6G4VSpRcgjs5xj4A91svJSaiwLIDWVWEsZtpN5FA9NlBbZHDmAJc2e8e6SF4tkBD3HAvPF+7igA==} engines: {node: '>=12'} @@ -6346,6 +7773,15 @@ packages: dev: true optional: true + /@esbuild/win32-x64@0.21.3: + resolution: {integrity: sha512-xRxC0jaJWDLYvcUvjQmHCJSfMrgmUuvsoXgDeU/wTorQ1ngDdUBuFtgY3W1Pc5sprGAvZBtWdJX7RPg/iZZUqA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -6533,6 +7969,11 @@ packages: engines: {node: '>=6.9.0'} dev: true + /@inquirer/figures@1.0.2: + resolution: {integrity: sha512-4F1MBwVr3c/m4bAUef6LgkvBfSjzwH+OfldgHqcuacWwSUetFebM2wi58WfG9uk1rR98U6GwLed4asLJbwdV5w==} + engines: {node: '>=18'} + dev: true + /@ioredis/commands@1.2.0: resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==} dev: true @@ -6767,7 +8208,7 @@ packages: resolution: {integrity: sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.23.9 + '@babel/core': 7.24.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.21 babel-plugin-istanbul: 6.1.1 @@ -6886,7 +8327,7 @@ packages: resolution: {integrity: sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==} dependencies: '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.21 + '@jridgewell/trace-mapping': 0.3.25 /@jridgewell/sourcemap-codec@1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} @@ -6924,6 +8365,37 @@ packages: resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} dev: false + /@jsonjoy.com/base64@1.1.2(tslib@2.6.2): + resolution: {integrity: sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + dependencies: + tslib: 2.6.2 + dev: true + + /@jsonjoy.com/json-pack@1.0.4(tslib@2.6.2): + resolution: {integrity: sha512-aOcSN4MeAtFROysrbqG137b7gaDDSmVrl5mpo6sT/w+kcXpWnzhMjmY/Fh/sDx26NBxyIE7MB1seqLeCAzy9Sg==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + dependencies: + '@jsonjoy.com/base64': 1.1.2(tslib@2.6.2) + '@jsonjoy.com/util': 1.1.3(tslib@2.6.2) + hyperdyperid: 1.2.0 + thingies: 1.21.0(tslib@2.6.2) + tslib: 2.6.2 + dev: true + + /@jsonjoy.com/util@1.1.3(tslib@2.6.2): + resolution: {integrity: sha512-g//kkF4kOwUjemValCtOc/xiYzmwMRmWq3Bn+YnzOzuZLHq2PpMOxxIayN3cKbo7Ko2Np65t6D9H81IvXbXhqg==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + dependencies: + tslib: 2.6.2 + dev: true + /@jspm/core@2.0.1: resolution: {integrity: sha512-Lg3PnLp0QXpxwLIAuuJboLeRaIhrgJjeuh797QADg3xz8wGLugQOS5DpsE8A6i6Adgzf+bacllkKZG3J0tGfDw==} dev: true @@ -6954,6 +8426,61 @@ packages: call-bind: 1.0.5 dev: true + /@ljharb/through@2.3.13: + resolution: {integrity: sha512-/gKJun8NNiWGZJkGzI/Ragc53cOdcLNdzjLaIa+GEjguQs0ulsurx8WN0jijdK9yPqDvziX995sMRLyLt1uZMQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + dev: true + + /@lmdb/lmdb-darwin-arm64@3.0.8: + resolution: {integrity: sha512-+lFwFvU+zQ9zVIFETNtmW++syh3Ps5JS8MPQ8zOYtQZoU+dTR8ivWHTaE2QVk1JG2payGDLUAvpndLAjGMdeeA==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@lmdb/lmdb-darwin-x64@3.0.8: + resolution: {integrity: sha512-T98rfsgfdQMS5/mqdsPb6oHSJ+iBYNa+PQDLtXLh6rzTEBsYP9x2uXxIj6VS4qXVDWXVi8rv85NCOG+UBOsHXQ==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@lmdb/lmdb-linux-arm64@3.0.8: + resolution: {integrity: sha512-uEBGCQIChsixpykL0pjCxfF64btv64vzsb1NoM5u0qvabKvKEvErhXGoqovyldDu9u1T/fswD8Kf6ih0vJEvDQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@lmdb/lmdb-linux-arm@3.0.8: + resolution: {integrity: sha512-gVNCi3bYWatdPMeFpFjuZl6bzVL55FkeZU3sPeU+NsMRXC+Zl3qOx3M6cM4OMlJWbhHjYjf2b8q83K0mczaiWQ==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@lmdb/lmdb-linux-x64@3.0.8: + resolution: {integrity: sha512-6v0B4sa9ulNezmDZtVpLjNHmA0qZzUl3001YJ2RF0naxsuv/Jq/xEwNYpOzfcdizHfpCE0oBkWzk/r+Slr+0zw==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@lmdb/lmdb-win32-x64@3.0.8: + resolution: {integrity: sha512-lDLGRIMqdwYD39vinwNqqZUxCdL2m2iIdn+0HyQgIHEiT0g5rIAlzaMKzoGWon5NQumfxXFk9y0DarttkR7C1w==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@ltd/j-toml@1.38.0: resolution: {integrity: sha512-lYtBcmvHustHQtg4X7TXUu1Xa/tbLC3p2wLvgQI+fWVySguVZJF60Snxijw5EiohumxZbR10kWYFFebh1zotiw==} dev: true @@ -6969,7 +8496,7 @@ packages: nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.6.0 + semver: 7.6.2 tar: 6.2.0 transitivePeerDependencies: - encoding @@ -7086,6 +8613,54 @@ packages: - verdaccio dev: true + /@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.2: + resolution: {integrity: sha512-9bfjwDxIDWmmOKusUcqdS4Rw+SETlp9Dy39Xui9BEGEk19dDwH0jhipwFzEff/pFg95NKymc6TOTbRKcWeRqyQ==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.2: + resolution: {integrity: sha512-lwriRAHm1Yg4iDf23Oxm9n/t5Zpw1lVnxYU3HnJPTi2lJRkKTrps1KVgvL6m7WvmhYVt/FIsssWay+k45QHeuw==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.2: + resolution: {integrity: sha512-FU20Bo66/f7He9Fp9sP2zaJ1Q8L9uLPZQDub/WlUip78JlPeMbVL8546HbZfcW9LNciEXc8d+tThSJjSC+tmsg==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@msgpackr-extract/msgpackr-extract-linux-arm@3.0.2: + resolution: {integrity: sha512-MOI9Dlfrpi2Cuc7i5dXdxPbFIgbDBGgKR5F2yWEa6FVEtSWncfVNKW5AKjImAQ6CZlBK9tympdsZJ2xThBiWWA==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@msgpackr-extract/msgpackr-extract-linux-x64@3.0.2: + resolution: {integrity: sha512-gsWNDCklNy7Ajk0vBBf9jEx04RUxuDQfBse918Ww+Qb9HCPoGzS+XJTLe96iN3BVK7grnLiYghP/M4L8VsaHeA==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@msgpackr-extract/msgpackr-extract-win32-x64@3.0.2: + resolution: {integrity: sha512-O+6Gs8UeDbyFpbSh2CPEz/UOrrdWPTBYNblZK5CxxLisYt4kGX3Sc+czffFonyjiGSq3jWLwJS/CCJc7tBr4sQ==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@napi-rs/canvas-android-arm64@0.1.30: resolution: {integrity: sha512-RaJvfg5x8QV+3WVqxwi1dt05mqiDuQF/w4wj8b6SHbxbVLfzZ5T0M9PFBTvjNU88GxiiVYUihxJeCCDs1sXP0g==} engines: {node: '>= 10'} @@ -7414,10 +8989,6 @@ packages: urlpattern-polyfill: 8.0.2 dev: true - /@next/env@14.0.4: - resolution: {integrity: sha512-irQnbMLbUNQpP1wcE5NstJtbuA/69kRfzBrpAD7Gsn8zm/CY6YQYc3HQBz8QPxwISG26tIm5afvvVbu508oBeQ==} - dev: true - /@next/env@14.2.3: resolution: {integrity: sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA==} @@ -7499,16 +9070,16 @@ packages: requiresBuild: true optional: true - /@ngrx/effects@17.0.1(@angular/core@17.3.0)(@ngrx/store@17.0.1)(rxjs@7.8.1): + /@ngrx/effects@17.0.1(@angular/core@18.0.0)(@ngrx/store@17.0.1)(rxjs@7.8.1): resolution: {integrity: sha512-U7ewZpUoJlLrWyZVyzAMU6Qfxmte7Noi9n/pJb5BR3pWmdHnU+VPs08xnSIQUa0US7K6dJJRTGtcEpEvv/IT4A==} peerDependencies: '@angular/core': ^17.0.0 '@ngrx/store': 17.0.1 rxjs: ^6.5.3 || ^7.5.0 dependencies: - '@angular/core': 17.3.0(rxjs@7.8.1)(zone.js@0.14.3) + '@angular/core': 18.0.0(rxjs@7.8.1)(zone.js@0.14.3) '@ngrx/operators': 17.0.0-beta.0(rxjs@7.8.1) - '@ngrx/store': 17.0.1(@angular/core@17.3.0)(rxjs@7.8.1) + '@ngrx/store': 17.0.1(@angular/core@18.0.0)(rxjs@7.8.1) rxjs: 7.8.1 tslib: 2.6.2 dev: true @@ -7522,7 +9093,7 @@ packages: tslib: 2.6.2 dev: true - /@ngrx/router-store@17.0.1(@angular/common@17.3.0)(@angular/core@17.3.0)(@angular/router@17.3.0)(@ngrx/store@17.0.1)(rxjs@7.8.1): + /@ngrx/router-store@17.0.1(@angular/common@18.0.0)(@angular/core@18.0.0)(@angular/router@18.0.0)(@ngrx/store@17.0.1)(rxjs@7.8.1): resolution: {integrity: sha512-O4kz/yvIaAfG0Hzloj24RqL17E1oddQ7wpxjU6UrTr/oZkX1/lIehaSxSJIVzq02vQWShIq0RFo/t8ac5mzqZQ==} peerDependencies: '@angular/common': ^17.0.0 @@ -7531,36 +9102,36 @@ packages: '@ngrx/store': 17.0.1 rxjs: ^6.5.3 || ^7.5.0 dependencies: - '@angular/common': 17.3.0(@angular/core@17.3.0)(rxjs@7.8.1) - '@angular/core': 17.3.0(rxjs@7.8.1)(zone.js@0.14.3) - '@angular/router': 17.3.0(@angular/common@17.3.0)(@angular/core@17.3.0)(@angular/platform-browser@17.3.0)(rxjs@7.8.1) - '@ngrx/store': 17.0.1(@angular/core@17.3.0)(rxjs@7.8.1) + '@angular/common': 18.0.0(@angular/core@18.0.0)(rxjs@7.8.1) + '@angular/core': 18.0.0(rxjs@7.8.1)(zone.js@0.14.3) + '@angular/router': 18.0.0(@angular/common@18.0.0)(@angular/core@18.0.0)(@angular/platform-browser@18.0.0)(rxjs@7.8.1) + '@ngrx/store': 17.0.1(@angular/core@18.0.0)(rxjs@7.8.1) rxjs: 7.8.1 tslib: 2.6.2 dev: true - /@ngrx/store@17.0.1(@angular/core@17.3.0)(rxjs@7.8.1): + /@ngrx/store@17.0.1(@angular/core@18.0.0)(rxjs@7.8.1): resolution: {integrity: sha512-BmVzN+fqyz0ZrVEmJ+jrNwePMKcpNL49vb8sbQ3yDDftxgZz2HqRKFMexqlXpz5ixwK5LqTOblHNQOgi9irsTw==} peerDependencies: '@angular/core': ^17.0.0 rxjs: ^6.5.3 || ^7.5.0 dependencies: - '@angular/core': 17.3.0(rxjs@7.8.1)(zone.js@0.14.3) + '@angular/core': 18.0.0(rxjs@7.8.1)(zone.js@0.14.3) rxjs: 7.8.1 tslib: 2.6.2 dev: true - /@ngtools/webpack@17.3.0(@angular/compiler-cli@17.3.0)(typescript@5.4.2)(webpack@5.90.3): - resolution: {integrity: sha512-wNTCDPPEtjP4mxYerLVLCMwOCTEOD2HqZMVXD8pJbarrGPMuoyglUZuqNSIS5KVqR+fFez6JEUnMvC3QSqf58w==} - engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + /@ngtools/webpack@18.0.0(@angular/compiler-cli@18.0.0)(typescript@5.4.2)(webpack@5.91.0): + resolution: {integrity: sha512-wcJp15H52RgEiZOcq/8YlgF53dNR2C+ap6mof8HziD5lTXmkPLKn1US0gqHixu5njkWKslCzu2td/k2Fg6r5Kg==} + 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': ^17.0.0 - typescript: '>=5.2 <5.5' + '@angular/compiler-cli': ^18.0.0 + typescript: '>=5.4 <5.5' webpack: ^5.54.0 dependencies: - '@angular/compiler-cli': 17.3.0(@angular/compiler@17.3.0)(typescript@5.4.2) + '@angular/compiler-cli': 18.0.0(@angular/compiler@18.0.0)(typescript@5.4.2) typescript: 5.4.2 - webpack: 5.90.3(@swc/core@1.3.86)(esbuild@0.20.1)(webpack-cli@5.1.4) + webpack: 5.91.0(@swc/core@1.3.86)(esbuild@0.21.3)(webpack-cli@5.1.4) dev: true /@nodelib/fs.scandir@2.1.5: @@ -7586,7 +9157,7 @@ packages: engines: {node: ^16.14.0 || >=18.0.0} dependencies: http-proxy-agent: 7.0.0 - https-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.4 lru-cache: 10.2.0 socks-proxy-agent: 8.0.2 transitivePeerDependencies: @@ -7598,14 +9169,14 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: '@gar/promisify': 1.1.3 - semver: 7.6.0 + semver: 7.6.2 dev: true /@npmcli/fs@3.1.0: resolution: {integrity: sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - semver: 7.6.0 + semver: 7.6.2 dev: true /@npmcli/git@4.1.0: @@ -7618,7 +9189,7 @@ packages: proc-log: 3.0.0 promise-inflight: 1.0.1 promise-retry: 2.0.1 - semver: 7.6.0 + semver: 7.6.2 which: 3.0.1 transitivePeerDependencies: - bluebird @@ -7630,11 +9201,11 @@ packages: dependencies: '@npmcli/promise-spawn': 7.0.0 lru-cache: 10.2.0 - npm-pick-manifest: 9.0.0 + npm-pick-manifest: 9.0.1 proc-log: 3.0.0 promise-inflight: 1.0.1 promise-retry: 2.0.1 - semver: 7.6.0 + semver: 7.6.2 which: 4.0.0 transitivePeerDependencies: - bluebird @@ -7678,6 +9249,21 @@ packages: - bluebird dev: true + /@npmcli/package-json@5.1.0: + resolution: {integrity: sha512-1aL4TuVrLS9sf8quCLerU3H9J4vtCtgu8VauYozrmEyU57i/EdKleCnsQ7vpnABIH6c9mnTxcH5sFkO3BlV8wQ==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@npmcli/git': 5.0.3 + glob: 10.3.12 + hosted-git-info: 7.0.0 + json-parse-even-better-errors: 3.0.0 + normalize-package-data: 6.0.0 + proc-log: 4.2.0 + semver: 7.6.2 + transitivePeerDependencies: + - bluebird + dev: true + /@npmcli/promise-spawn@6.0.2: resolution: {integrity: sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -7692,6 +9278,11 @@ packages: which: 4.0.0 dev: true + /@npmcli/redact@2.0.0: + resolution: {integrity: sha512-SEjCPAVHWYUIQR+Yn03kJmrJjZDtJLYpj300m3HV9OTRZNpC5YpbMsM3eTkECyT4aWj8lDr9WeY6TWefpubtYQ==} + engines: {node: ^16.14.0 || >=18.0.0} + dev: true + /@npmcli/run-script@7.0.1: resolution: {integrity: sha512-Od/JMrgkjZ8alyBE0IzeqZDiF1jgMez9Gkc/OYrCkHHiXNwM0wc6s7+h+xM7kYDZkS0tAoOLr9VvygyE5+2F7g==} engines: {node: ^16.14.0 || >=18.0.0} @@ -7706,10 +9297,25 @@ packages: - supports-color dev: true - /@nrwl/angular@19.1.0-beta.1(@angular-devkit/build-angular@17.3.0)(@angular-devkit/core@17.3.0)(@angular-devkit/schematics@17.3.0)(@schematics/angular@17.3.0)(@swc-node/register@1.8.0)(@swc/core@1.3.86)(@types/node@18.19.8)(@zkochan/js-yaml@0.0.7)(esbuild@0.19.5)(eslint@8.57.0)(html-webpack-plugin@5.5.0)(nx@19.1.0-beta.1)(rxjs@7.8.1)(typescript@5.4.2)(verdaccio@5.31.0)(webpack-cli@5.1.4): + /@npmcli/run-script@8.1.0: + resolution: {integrity: sha512-y7efHHwghQfk28G2z3tlZ67pLG0XdfYbcVG26r7YIXALRsrVQcTq4/tdenSmdOrEsNahIYA/eh8aEVROWGFUDg==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@npmcli/node-gyp': 3.0.0 + '@npmcli/package-json': 5.1.0 + '@npmcli/promise-spawn': 7.0.0 + node-gyp: 10.1.0 + proc-log: 4.2.0 + which: 4.0.0 + transitivePeerDependencies: + - bluebird + - supports-color + dev: true + + /@nrwl/angular@19.1.0-beta.1(@angular-devkit/build-angular@18.0.0)(@angular-devkit/core@18.0.0)(@angular-devkit/schematics@18.0.0)(@schematics/angular@18.0.0)(@swc-node/register@1.8.0)(@swc/core@1.3.86)(@types/node@18.19.8)(@zkochan/js-yaml@0.0.7)(esbuild@0.19.5)(eslint@8.57.0)(html-webpack-plugin@5.5.0)(nx@19.1.0-beta.1)(rxjs@7.8.1)(typescript@5.4.2)(verdaccio@5.31.0)(webpack-cli@5.1.4): resolution: {integrity: sha512-2wHpuTmBziHY9UjvKAd7uMzO4FSK1IdODBimpIBBUkfX8NWlKAOCreAMc9vte+z6rhx90ixBzQ/Za1c1/lqNMg==} dependencies: - '@nx/angular': 19.1.0-beta.1(@angular-devkit/build-angular@17.3.0)(@angular-devkit/core@17.3.0)(@angular-devkit/schematics@17.3.0)(@schematics/angular@17.3.0)(@swc-node/register@1.8.0)(@swc/core@1.3.86)(@types/node@18.19.8)(@zkochan/js-yaml@0.0.7)(esbuild@0.19.5)(eslint@8.57.0)(html-webpack-plugin@5.5.0)(nx@19.1.0-beta.1)(rxjs@7.8.1)(typescript@5.4.2)(verdaccio@5.31.0)(webpack-cli@5.1.4) + '@nx/angular': 19.1.0-beta.1(@angular-devkit/build-angular@18.0.0)(@angular-devkit/core@18.0.0)(@angular-devkit/schematics@18.0.0)(@schematics/angular@18.0.0)(@swc-node/register@1.8.0)(@swc/core@1.3.86)(@types/node@18.19.8)(@zkochan/js-yaml@0.0.7)(esbuild@0.19.5)(eslint@8.57.0)(html-webpack-plugin@5.5.0)(nx@19.1.0-beta.1)(rxjs@7.8.1)(typescript@5.4.2)(verdaccio@5.31.0)(webpack-cli@5.1.4) tslib: 2.6.2 transitivePeerDependencies: - '@angular-devkit/build-angular' @@ -8094,7 +9700,7 @@ packages: pkg-types: 1.0.3 prompts: 2.4.2 rc9: 2.1.1 - semver: 7.6.0 + semver: 7.6.2 dev: true /@nuxt/devtools@1.0.8(nuxt@3.10.0)(rollup@4.14.3)(vite@5.0.8): @@ -8131,7 +9737,7 @@ packages: pkg-types: 1.0.3 rc9: 2.1.1 scule: 1.2.0 - semver: 7.6.0 + semver: 7.6.2 simple-git: 3.22.0 sirv: 2.0.4 unimport: 3.7.1(rollup@4.14.3) @@ -8235,12 +9841,12 @@ packages: '@rollup/plugin-replace': 5.0.5(rollup@4.14.3) '@vitejs/plugin-vue': 5.0.3(vite@5.0.12)(vue@3.4.15) '@vitejs/plugin-vue-jsx': 3.1.0(vite@5.0.12)(vue@3.4.15) - autoprefixer: 10.4.17(postcss@8.4.35) + autoprefixer: 10.4.18(postcss@8.4.35) clear: 0.1.0 consola: 3.2.3 cssnano: 6.0.3(postcss@8.4.35) defu: 6.1.4 - esbuild: 0.20.0 + esbuild: 0.20.1 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 externality: 1.0.2 @@ -8298,7 +9904,7 @@ packages: - encoding dev: true - /@nx/angular@19.1.0-beta.1(@angular-devkit/build-angular@17.3.0)(@angular-devkit/core@17.3.0)(@angular-devkit/schematics@17.3.0)(@schematics/angular@17.3.0)(@swc-node/register@1.8.0)(@swc/core@1.3.86)(@types/node@18.19.8)(@zkochan/js-yaml@0.0.7)(esbuild@0.19.5)(eslint@8.57.0)(html-webpack-plugin@5.5.0)(nx@19.1.0-beta.1)(rxjs@7.8.1)(typescript@5.4.2)(verdaccio@5.31.0)(webpack-cli@5.1.4): + /@nx/angular@19.1.0-beta.1(@angular-devkit/build-angular@18.0.0)(@angular-devkit/core@18.0.0)(@angular-devkit/schematics@18.0.0)(@schematics/angular@18.0.0)(@swc-node/register@1.8.0)(@swc/core@1.3.86)(@types/node@18.19.8)(@zkochan/js-yaml@0.0.7)(esbuild@0.19.5)(eslint@8.57.0)(html-webpack-plugin@5.5.0)(nx@19.1.0-beta.1)(rxjs@7.8.1)(typescript@5.4.2)(verdaccio@5.31.0)(webpack-cli@5.1.4): resolution: {integrity: sha512-RM4KbszqDK/13oVgVbJOY+ZuMS8V1DUf0+uFAORoaCPld3q1ZnE3nsJGEJ3VjTguTMP3oRiFuCNPgRt/MWBxmA==} peerDependencies: '@angular-devkit/build-angular': '>= 15.0.0 < 18.0.0' @@ -8311,10 +9917,10 @@ packages: esbuild: optional: true dependencies: - '@angular-devkit/build-angular': 17.3.0(@angular/compiler-cli@17.3.0)(@swc/core@1.3.86)(@types/express@4.17.14)(@types/node@18.19.8)(html-webpack-plugin@5.5.0)(jest-environment-jsdom@29.4.3)(jest@29.4.3)(ng-packagr@17.3.0)(stylus@0.59.0)(tailwindcss@3.4.3)(typescript@5.4.2)(webpack-cli@5.1.4) - '@angular-devkit/core': 17.3.0 - '@angular-devkit/schematics': 17.3.0 - '@nrwl/angular': 19.1.0-beta.1(@angular-devkit/build-angular@17.3.0)(@angular-devkit/core@17.3.0)(@angular-devkit/schematics@17.3.0)(@schematics/angular@17.3.0)(@swc-node/register@1.8.0)(@swc/core@1.3.86)(@types/node@18.19.8)(@zkochan/js-yaml@0.0.7)(esbuild@0.19.5)(eslint@8.57.0)(html-webpack-plugin@5.5.0)(nx@19.1.0-beta.1)(rxjs@7.8.1)(typescript@5.4.2)(verdaccio@5.31.0)(webpack-cli@5.1.4) + '@angular-devkit/build-angular': 18.0.0(@angular/compiler-cli@18.0.0)(@swc/core@1.3.86)(@types/node@18.19.8)(html-webpack-plugin@5.5.0)(jest-environment-jsdom@29.4.3)(jest@29.4.3)(ng-packagr@18.0.0)(stylus@0.59.0)(tailwindcss@3.4.3)(typescript@5.4.2)(webpack-cli@5.1.4) + '@angular-devkit/core': 18.0.0 + '@angular-devkit/schematics': 18.0.0 + '@nrwl/angular': 19.1.0-beta.1(@angular-devkit/build-angular@18.0.0)(@angular-devkit/core@18.0.0)(@angular-devkit/schematics@18.0.0)(@schematics/angular@18.0.0)(@swc-node/register@1.8.0)(@swc/core@1.3.86)(@types/node@18.19.8)(@zkochan/js-yaml@0.0.7)(esbuild@0.19.5)(eslint@8.57.0)(html-webpack-plugin@5.5.0)(nx@19.1.0-beta.1)(rxjs@7.8.1)(typescript@5.4.2)(verdaccio@5.31.0)(webpack-cli@5.1.4) '@nx/devkit': 19.1.0-beta.1(nx@19.1.0-beta.1) '@nx/eslint': 19.1.0-beta.1(@swc-node/register@1.8.0)(@swc/core@1.3.86)(@types/node@18.19.8)(@zkochan/js-yaml@0.0.7)(nx@19.1.0-beta.1)(verdaccio@5.31.0) '@nx/js': 19.1.0-beta.1(@swc-node/register@1.8.0)(@swc/core@1.3.86)(@types/node@18.19.8)(nx@19.1.0-beta.1)(typescript@5.4.2)(verdaccio@5.31.0) @@ -8322,7 +9928,7 @@ packages: '@nx/webpack': 19.1.0-beta.1(@swc-node/register@1.8.0)(@swc/core@1.3.86)(@types/node@18.19.8)(esbuild@0.19.5)(html-webpack-plugin@5.5.0)(nx@19.1.0-beta.1)(typescript@5.4.2)(verdaccio@5.31.0)(webpack-cli@5.1.4) '@nx/workspace': 19.1.0-beta.1(@swc-node/register@1.8.0)(@swc/core@1.3.86) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.4.2) - '@schematics/angular': 17.3.0 + '@schematics/angular': 18.0.0 '@typescript-eslint/type-utils': 7.4.0(eslint@8.57.0)(typescript@5.4.2) chalk: 4.1.2 esbuild: 0.19.5 @@ -9689,13 +11295,13 @@ packages: /@radix-ui/number@1.0.1: resolution: {integrity: sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg==} dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 dev: true /@radix-ui/primitive@1.0.1: resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==} dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 dev: true /@radix-ui/react-arrow@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1): @@ -9711,7 +11317,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) '@types/react': 18.3.1 '@types/react-dom': 18.3.0 @@ -9732,7 +11338,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.3.1) '@radix-ui/react-context': 1.0.1(@types/react@18.3.1)(react@18.3.1) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) @@ -9752,7 +11358,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@types/react': 18.3.1 react: 18.3.1 dev: true @@ -9766,7 +11372,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@types/react': 18.3.1 react: 18.3.1 dev: true @@ -9780,7 +11386,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@types/react': 18.3.1 react: 18.3.1 dev: true @@ -9798,7 +11404,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.3.1) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) @@ -9819,7 +11425,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@types/react': 18.3.1 react: 18.3.1 dev: true @@ -9837,7 +11443,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.3.1) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.1)(react@18.3.1) @@ -9856,7 +11462,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.1)(react@18.3.1) '@types/react': 18.3.1 react: 18.3.1 @@ -9875,7 +11481,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@floating-ui/react-dom': 2.0.1(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.3.1) @@ -9905,7 +11511,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) '@types/react': 18.3.1 '@types/react-dom': 18.3.0 @@ -9926,7 +11532,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@radix-ui/react-slot': 1.0.2(@types/react@18.3.1)(react@18.3.1) '@types/react': 18.3.1 '@types/react-dom': 18.3.0 @@ -9947,7 +11553,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.3.1) @@ -9976,7 +11582,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@radix-ui/number': 1.0.1 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) @@ -10017,7 +11623,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) '@types/react': 18.3.1 '@types/react-dom': 18.3.0 @@ -10034,7 +11640,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.1)(react@18.3.1) '@types/react': 18.3.1 react: 18.3.1 @@ -10053,7 +11659,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-context': 1.0.1(@types/react@18.3.1)(react@18.3.1) '@radix-ui/react-direction': 1.0.1(@types/react@18.3.1)(react@18.3.1) @@ -10080,7 +11686,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.1)(react@18.3.1) @@ -10103,7 +11709,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-context': 1.0.1(@types/react@18.3.1)(react@18.3.1) '@radix-ui/react-direction': 1.0.1(@types/react@18.3.1)(react@18.3.1) @@ -10126,7 +11732,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@types/react': 18.3.1 react: 18.3.1 dev: true @@ -10140,7 +11746,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.1)(react@18.3.1) '@types/react': 18.3.1 react: 18.3.1 @@ -10155,7 +11761,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.1)(react@18.3.1) '@types/react': 18.3.1 react: 18.3.1 @@ -10170,7 +11776,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@types/react': 18.3.1 react: 18.3.1 dev: true @@ -10184,7 +11790,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@types/react': 18.3.1 react: 18.3.1 dev: true @@ -10198,7 +11804,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@radix-ui/rect': 1.0.1 '@types/react': 18.3.1 react: 18.3.1 @@ -10213,7 +11819,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.1)(react@18.3.1) '@types/react': 18.3.1 react: 18.3.1 @@ -10232,7 +11838,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.1)(react-dom@18.3.1)(react@18.3.1) '@types/react': 18.3.1 '@types/react-dom': 18.3.0 @@ -10243,7 +11849,7 @@ packages: /@radix-ui/rect@1.0.1: resolution: {integrity: sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==} dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 dev: true /@reduxjs/toolkit@1.9.0(react-redux@8.0.5)(react@18.3.1): @@ -10538,6 +12144,19 @@ packages: rollup: 4.14.3 dev: true + /@rollup/plugin-json@6.1.0(rollup@4.18.0): + resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.18.0) + rollup: 4.18.0 + dev: true + /@rollup/plugin-node-resolve@15.2.3(rollup@4.14.3): resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} engines: {node: '>=14.0.0'} @@ -10556,6 +12175,24 @@ packages: rollup: 4.14.3 dev: true + /@rollup/plugin-node-resolve@15.2.3(rollup@4.18.0): + resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.78.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.18.0) + '@types/resolve': 1.20.2 + deepmerge: 4.3.1 + is-builtin-module: 3.2.1 + is-module: 1.0.0 + resolve: 1.22.8 + rollup: 4.18.0 + dev: true + /@rollup/plugin-replace@5.0.5(rollup@4.14.3): resolution: {integrity: sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==} engines: {node: '>=14.0.0'} @@ -10582,7 +12219,7 @@ packages: rollup: 4.14.3 serialize-javascript: 6.0.2 smob: 1.4.1 - terser: 5.27.0 + terser: 5.29.1 dev: true /@rollup/plugin-url@8.0.2(rollup@4.14.3): @@ -10651,6 +12288,21 @@ packages: rollup: 4.14.3 dev: true + /@rollup/pluginutils@5.1.0(rollup@4.18.0): + resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.5 + estree-walker: 2.0.2 + picomatch: 2.3.1 + rollup: 4.18.0 + dev: true + /@rollup/rollup-android-arm-eabi@4.14.3: resolution: {integrity: sha512-X9alQ3XM6I9IlSlmC8ddAvMSyG1WuHk5oUnXGw+yUBs3BFoTizmG1La/Gr8fVJvDWAq+zlYTZ9DBgrlKRVY06g==} cpu: [arm] @@ -10659,6 +12311,14 @@ packages: dev: true optional: true + /@rollup/rollup-android-arm-eabi@4.18.0: + resolution: {integrity: sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-android-arm64@4.14.3: resolution: {integrity: sha512-eQK5JIi+POhFpzk+LnjKIy4Ks+pwJ+NXmPxOCSvOKSNRPONzKuUvWE+P9JxGZVxrtzm6BAYMaL50FFuPe0oWMQ==} cpu: [arm64] @@ -10667,6 +12327,14 @@ packages: dev: true optional: true + /@rollup/rollup-android-arm64@4.18.0: + resolution: {integrity: sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-darwin-arm64@4.14.3: resolution: {integrity: sha512-Od4vE6f6CTT53yM1jgcLqNfItTsLt5zE46fdPaEmeFHvPs5SjZYlLpHrSiHEKR1+HdRfxuzXHjDOIxQyC3ptBA==} cpu: [arm64] @@ -10675,6 +12343,14 @@ packages: dev: true optional: true + /@rollup/rollup-darwin-arm64@4.18.0: + resolution: {integrity: sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-darwin-x64@4.14.3: resolution: {integrity: sha512-0IMAO21axJeNIrvS9lSe/PGthc8ZUS+zC53O0VhF5gMxfmcKAP4ESkKOCwEi6u2asUrt4mQv2rjY8QseIEb1aw==} cpu: [x64] @@ -10683,6 +12359,14 @@ packages: dev: true optional: true + /@rollup/rollup-darwin-x64@4.18.0: + resolution: {integrity: sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-arm-gnueabihf@4.14.3: resolution: {integrity: sha512-ge2DC7tHRHa3caVEoSbPRJpq7azhG+xYsd6u2MEnJ6XzPSzQsTKyXvh6iWjXRf7Rt9ykIUWHtl0Uz3T6yXPpKw==} cpu: [arm] @@ -10691,6 +12375,14 @@ packages: dev: true optional: true + /@rollup/rollup-linux-arm-gnueabihf@4.18.0: + resolution: {integrity: sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-arm-musleabihf@4.14.3: resolution: {integrity: sha512-ljcuiDI4V3ySuc7eSk4lQ9wU8J8r8KrOUvB2U+TtK0TiW6OFDmJ+DdIjjwZHIw9CNxzbmXY39wwpzYuFDwNXuw==} cpu: [arm] @@ -10699,6 +12391,14 @@ packages: dev: true optional: true + /@rollup/rollup-linux-arm-musleabihf@4.18.0: + resolution: {integrity: sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-arm64-gnu@4.14.3: resolution: {integrity: sha512-Eci2us9VTHm1eSyn5/eEpaC7eP/mp5n46gTRB3Aar3BgSvDQGJZuicyq6TsH4HngNBgVqC5sDYxOzTExSU+NjA==} cpu: [arm64] @@ -10707,6 +12407,14 @@ packages: dev: true optional: true + /@rollup/rollup-linux-arm64-gnu@4.18.0: + resolution: {integrity: sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-arm64-musl@4.14.3: resolution: {integrity: sha512-UrBoMLCq4E92/LCqlh+blpqMz5h1tJttPIniwUgOFJyjWI1qrtrDhhpHPuFxULlUmjFHfloWdixtDhSxJt5iKw==} cpu: [arm64] @@ -10715,6 +12423,14 @@ packages: dev: true optional: true + /@rollup/rollup-linux-arm64-musl@4.18.0: + resolution: {integrity: sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-powerpc64le-gnu@4.14.3: resolution: {integrity: sha512-5aRjvsS8q1nWN8AoRfrq5+9IflC3P1leMoy4r2WjXyFqf3qcqsxRCfxtZIV58tCxd+Yv7WELPcO9mY9aeQyAmw==} cpu: [ppc64] @@ -10723,6 +12439,14 @@ packages: dev: true optional: true + /@rollup/rollup-linux-powerpc64le-gnu@4.18.0: + resolution: {integrity: sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-riscv64-gnu@4.14.3: resolution: {integrity: sha512-sk/Qh1j2/RJSX7FhEpJn8n0ndxy/uf0kI/9Zc4b1ELhqULVdTfN6HL31CDaTChiBAOgLcsJ1sgVZjWv8XNEsAQ==} cpu: [riscv64] @@ -10731,6 +12455,14 @@ packages: dev: true optional: true + /@rollup/rollup-linux-riscv64-gnu@4.18.0: + resolution: {integrity: sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-s390x-gnu@4.14.3: resolution: {integrity: sha512-jOO/PEaDitOmY9TgkxF/TQIjXySQe5KVYB57H/8LRP/ux0ZoO8cSHCX17asMSv3ruwslXW/TLBcxyaUzGRHcqg==} cpu: [s390x] @@ -10739,6 +12471,14 @@ packages: dev: true optional: true + /@rollup/rollup-linux-s390x-gnu@4.18.0: + resolution: {integrity: sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-x64-gnu@4.14.3: resolution: {integrity: sha512-8ybV4Xjy59xLMyWo3GCfEGqtKV5M5gCSrZlxkPGvEPCGDLNla7v48S662HSGwRd6/2cSneMQWiv+QzcttLrrOA==} cpu: [x64] @@ -10747,6 +12487,14 @@ packages: dev: true optional: true + /@rollup/rollup-linux-x64-gnu@4.18.0: + resolution: {integrity: sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==} + 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] @@ -10755,6 +12503,14 @@ packages: dev: true optional: true + /@rollup/rollup-linux-x64-musl@4.18.0: + resolution: {integrity: sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-win32-arm64-msvc@4.14.3: resolution: {integrity: sha512-+4h2WrGOYsOumDQ5S2sYNyhVfrue+9tc9XcLWLh+Kw3UOxAvrfOrSMFon60KspcDdytkNDh7K2Vs6eMaYImAZg==} cpu: [arm64] @@ -10763,6 +12519,14 @@ packages: dev: true optional: true + /@rollup/rollup-win32-arm64-msvc@4.18.0: + resolution: {integrity: sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-win32-ia32-msvc@4.14.3: resolution: {integrity: sha512-T1l7y/bCeL/kUwh9OD4PQT4aM7Bq43vX05htPJJ46RTI4r5KNt6qJRzAfNfM+OYMNEVBWQzR2Gyk+FXLZfogGw==} cpu: [ia32] @@ -10771,6 +12535,14 @@ packages: dev: true optional: true + /@rollup/rollup-win32-ia32-msvc@4.18.0: + resolution: {integrity: sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-win32-x64-msvc@4.14.3: resolution: {integrity: sha512-/BypzV0H1y1HzgYpxqRaXGBRqfodgoBBCcsrujT6QRcakDQdfU+Lq9PENPh5jB4I44YWq+0C2eHsHya+nZY1sA==} cpu: [x64] @@ -10779,8 +12551,16 @@ packages: dev: true optional: true - /@rollup/wasm-node@4.9.6: - resolution: {integrity: sha512-B3FpAkroTE6q+MRHzv8XLBgPbxdjJiy5UnduZNQ/4lxeF1JT2O/OAr0JPpXeRG/7zpKm/kdqU/4m6AULhmnSqw==} + /@rollup/rollup-win32-x64-msvc@4.18.0: + resolution: {integrity: sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/wasm-node@4.18.0: + resolution: {integrity: sha512-DkLoyblRMhJw9ZogW9zCpyH0CNJ+7GaM7Ty+Vl+G21z/Gr7uKBaXqcJqwWUiNYVxTOgxZrxhDG6pmOFxOuswvw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: @@ -10793,12 +12573,12 @@ packages: resolution: {integrity: sha512-RbhOOTCNoCrbfkRyoXODZp75MlpiHMgbE5MEBZAnnnLyQNgrigEj4p0lzsMDyc1zVsJDLrivB58tgg3emX0eEA==} dev: true - /@schematics/angular@17.3.0: - resolution: {integrity: sha512-QqugP4Uyxk966VaUb/Jk5LQ5rE1BV4v2TmniPZtN3GZ6MDkpvPnFvlysvoq6y+7uiRhCLiT1DsBIwc9vXz3vWA==} - engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + /@schematics/angular@18.0.0: + resolution: {integrity: sha512-cFah74mKIg+mCGur1Q1BmsQ/u+Ne/0MOwIxe2oYSlzDpktOuKAUItPFe4GHxm9Mu5qZzOX0Z4RRnSojU8XgZEw==} + 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': 17.3.0 - '@angular-devkit/schematics': 17.3.0 + '@angular-devkit/core': 18.0.0 + '@angular-devkit/schematics': 18.0.0 jsonc-parser: 3.2.1 transitivePeerDependencies: - chokidar @@ -11270,7 +13050,7 @@ packages: express: 4.18.2 find-cache-dir: 3.3.2 fs-extra: 11.2.0 - magic-string: 0.30.7 + magic-string: 0.30.8 rollup: 3.28.0 typescript: 5.4.2 vite: 5.0.8(@types/node@18.19.8)(less@4.1.3)(sass@1.55.0)(stylus@0.59.0) @@ -11287,7 +13067,7 @@ packages: typescript: optional: true dependencies: - '@babel/core': 7.23.9 + '@babel/core': 7.24.0 '@storybook/channels': 7.5.3 '@storybook/client-logger': 7.5.3 '@storybook/core-common': 7.5.3 @@ -11299,7 +13079,7 @@ packages: '@swc/core': 1.3.86(@swc/helpers@0.5.3) '@types/node': 18.19.8 '@types/semver': 7.5.2 - babel-loader: 9.1.3(@babel/core@7.23.9)(webpack@5.88.0) + babel-loader: 9.1.3(@babel/core@7.24.0)(webpack@5.88.0) babel-plugin-named-exports-order: 0.0.2 browser-assert: 1.2.1 case-sensitive-paths-webpack-plugin: 2.4.0 @@ -11311,7 +13091,7 @@ packages: html-webpack-plugin: 5.5.0(webpack@5.88.0) path-browserify: 1.0.1 process: 0.11.10 - semver: 7.6.0 + semver: 7.6.2 style-loader: 3.3.1(webpack@5.88.0) swc-loader: 0.2.3(@swc/core@1.3.86)(webpack@5.88.0) terser-webpack-plugin: 5.3.9(@swc/core@1.3.86)(esbuild@0.19.5)(webpack@5.88.0) @@ -11628,7 +13408,7 @@ packages: memoizerific: 1.11.3 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - semver: 7.6.0 + semver: 7.6.2 store2: 2.14.2 telejson: 7.1.0 ts-dedent: 2.2.0 @@ -11706,7 +13486,7 @@ packages: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) react-refresh: 0.11.0 - semver: 7.6.0 + semver: 7.6.2 typescript: 5.4.2 webpack: 5.88.0(@swc/core@1.3.86)(esbuild@0.19.5)(webpack-cli@5.1.4) transitivePeerDependencies: @@ -12055,15 +13835,6 @@ packages: - supports-color dev: true - /@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.23.9): - resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - dev: true - /@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.24.0): resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} engines: {node: '>=14'} @@ -12073,15 +13844,6 @@ packages: '@babel/core': 7.24.0 dev: true - /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.23.9): - resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - dev: true - /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.24.0): resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} engines: {node: '>=14'} @@ -12091,15 +13853,6 @@ packages: '@babel/core': 7.24.0 dev: true - /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.23.9): - resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - dev: true - /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.24.0): resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} engines: {node: '>=14'} @@ -12109,15 +13862,6 @@ packages: '@babel/core': 7.24.0 dev: true - /@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.23.9): - resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - dev: true - /@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.24.0): resolution: {integrity: sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==} engines: {node: '>=14'} @@ -12127,15 +13871,6 @@ packages: '@babel/core': 7.24.0 dev: true - /@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.23.9): - resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - dev: true - /@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.24.0): resolution: {integrity: sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==} engines: {node: '>=14'} @@ -12145,15 +13880,6 @@ packages: '@babel/core': 7.24.0 dev: true - /@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.23.9): - resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==} - engines: {node: '>=14'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - dev: true - /@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.24.0): resolution: {integrity: sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==} engines: {node: '>=14'} @@ -12163,13 +13889,13 @@ packages: '@babel/core': 7.24.0 dev: true - /@svgr/babel-plugin-transform-react-native-svg@8.0.0(@babel/core@7.23.9): + /@svgr/babel-plugin-transform-react-native-svg@8.0.0(@babel/core@7.24.0): resolution: {integrity: sha512-UKrY3860AQICgH7g+6h2zkoxeVEPLYwX/uAjmqo4PIq2FIHppwhIqZstIyTz0ZtlwreKR41O3W3BzsBBiJV2Aw==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 + '@babel/core': 7.24.0 dev: true /@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.24.0): @@ -12181,15 +13907,6 @@ packages: '@babel/core': 7.24.0 dev: true - /@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.23.9): - resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==} - engines: {node: '>=12'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - dev: true - /@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.24.0): resolution: {integrity: sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==} engines: {node: '>=12'} @@ -12199,21 +13916,21 @@ packages: '@babel/core': 7.24.0 dev: true - /@svgr/babel-preset@8.0.0(@babel/core@7.23.9): + /@svgr/babel-preset@8.0.0(@babel/core@7.24.0): resolution: {integrity: sha512-KLcjiZychInVrhs86OvcYPLTFu9L5XV2vj0XAaE1HwE3J3jLmIzRY8ttdeAg/iFyp8nhavJpafpDZTt+1LIpkQ==} engines: {node: '>=14'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.9 - '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.23.9) - '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.23.9) - '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.23.9) - '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.23.9) - '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.23.9) - '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.23.9) - '@svgr/babel-plugin-transform-react-native-svg': 8.0.0(@babel/core@7.23.9) - '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.23.9) + '@babel/core': 7.24.0 + '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.24.0) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.24.0) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.24.0) + '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.24.0) + '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.24.0) + '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.24.0) + '@svgr/babel-plugin-transform-react-native-svg': 8.0.0(@babel/core@7.24.0) + '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.24.0) dev: true /@svgr/babel-preset@8.1.0(@babel/core@7.24.0): @@ -12237,8 +13954,8 @@ packages: resolution: {integrity: sha512-aJKtc+Pie/rFYsVH/unSkDaZGvEeylNv/s2cP+ta9/rYWxRVvoV/S4Qw65Kmrtah4CBK5PM6ISH9qUH7IJQCng==} engines: {node: '>=14'} dependencies: - '@babel/core': 7.23.9 - '@svgr/babel-preset': 8.0.0(@babel/core@7.23.9) + '@babel/core': 7.24.0 + '@svgr/babel-preset': 8.0.0(@babel/core@7.24.0) camelcase: 6.3.0 cosmiconfig: 8.3.6(typescript@5.4.2) snake-case: 3.0.4 @@ -12265,7 +13982,7 @@ packages: resolution: {integrity: sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==} engines: {node: '>=14'} dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.24.0 entities: 4.5.0 dev: true @@ -12275,8 +13992,8 @@ packages: peerDependencies: '@svgr/core': '*' dependencies: - '@babel/core': 7.23.9 - '@svgr/babel-preset': 8.0.0(@babel/core@7.23.9) + '@babel/core': 7.24.0 + '@svgr/babel-preset': 8.0.0(@babel/core@7.24.0) '@svgr/core': 8.0.0(typescript@5.4.2) '@svgr/hast-util-to-babel-ast': 8.0.0 svg-parser: 2.0.4 @@ -12728,7 +14445,7 @@ packages: /@types/babel__traverse@7.18.2: resolution: {integrity: sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.24.0 dev: true /@types/body-parser@1.19.2: @@ -12742,6 +14459,12 @@ packages: dependencies: '@types/node': 18.19.8 + /@types/bonjour@3.5.13: + resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} + dependencies: + '@types/node': 18.19.8 + dev: true + /@types/btoa-lite@1.0.0: resolution: {integrity: sha512-wJsiX1tosQ+J5+bY5LrSahHxr2wT+uME5UDwdN1kg4frt40euqA+wzECkmq4t5QbveHiJepfdThgQrPw6KiSlg==} dev: true @@ -12761,6 +14484,13 @@ packages: '@types/express-serve-static-core': 4.17.32 '@types/node': 18.19.8 + /@types/connect-history-api-fallback@1.5.4: + resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} + dependencies: + '@types/express-serve-static-core': 4.17.32 + '@types/node': 18.19.8 + dev: true + /@types/connect@3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: @@ -12835,6 +14565,15 @@ packages: '@types/qs': 6.9.7 '@types/range-parser': 1.2.4 + /@types/express-serve-static-core@4.19.1: + resolution: {integrity: sha512-ej0phymbFLoCB26dbbq5PGScsf2JAJ4IJHjG10LalgUV36XKTmA4GdA+PVllKvRk0sEKt64X8975qFnkSi0hqA==} + dependencies: + '@types/node': 18.19.8 + '@types/qs': 6.9.7 + '@types/range-parser': 1.2.4 + '@types/send': 0.17.4 + dev: true + /@types/express@4.17.14: resolution: {integrity: sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==} dependencies: @@ -12851,6 +14590,15 @@ packages: '@types/qs': 6.9.7 '@types/serve-static': 1.15.2 + /@types/express@4.17.21: + resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} + dependencies: + '@types/body-parser': 1.19.2 + '@types/express-serve-static-core': 4.19.1 + '@types/qs': 6.9.7 + '@types/serve-static': 1.15.7 + dev: true + /@types/find-cache-dir@3.2.1: resolution: {integrity: sha512-frsJrz2t/CeGifcu/6uRo4b+SzAwT4NYCVPu1GN8IB9XTzrpPkGuV0tmh9mN+/L0PklAlsC3u5Fxt0ju00LXIw==} dev: true @@ -13050,6 +14798,10 @@ packages: resolution: {integrity: sha512-Rllzc5KHk0Al5/WANwgSPl1/CwjqCy+AZrGd78zuK+jO9aDM6ffblZ+zIjgPNAaEBmlO0RYDvLNh7wD0zKVgEg==} dev: true + /@types/mime@1.3.5: + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + dev: true + /@types/mime@3.0.1: resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==} @@ -13075,6 +14827,12 @@ packages: form-data: 3.0.1 dev: true + /@types/node-forge@1.3.11: + resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} + dependencies: + '@types/node': 18.19.8 + dev: true + /@types/node@18.19.8: resolution: {integrity: sha512-g1pZtPhsvGVTwmeVoexWZLTQaOvXwoSq//pTL0DHeNzUDrFnir4fgETdhjhIxjVnN+hKOuh98+E1eMLnUXstFg==} dependencies: @@ -13138,15 +14896,32 @@ packages: /@types/retry@0.12.0: resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + /@types/retry@0.12.2: + resolution: {integrity: sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==} + dev: true + /@types/semver@7.5.2: resolution: {integrity: sha512-7aqorHYgdNO4DM36stTiGO3DvKoex9TQRwsJU6vMaFGyqpBA1MNZkz+PG3gaNUPpTAOYhT1WR7M1JyA3fbS9Cw==} dev: true + /@types/send@0.17.4: + resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} + dependencies: + '@types/mime': 1.3.5 + '@types/node': 18.19.8 + dev: true + /@types/serve-index@1.9.1: resolution: {integrity: sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==} dependencies: '@types/express': 4.17.14 + /@types/serve-index@1.9.4: + resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} + dependencies: + '@types/express': 4.17.14 + dev: true + /@types/serve-static@1.15.0: resolution: {integrity: sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==} dependencies: @@ -13160,6 +14935,14 @@ packages: '@types/mime': 3.0.1 '@types/node': 18.19.8 + /@types/serve-static@1.15.7: + resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} + dependencies: + '@types/http-errors': 2.0.2 + '@types/node': 18.19.8 + '@types/send': 0.17.4 + dev: true + /@types/sinonjs__fake-timers@8.1.1: resolution: {integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==} dev: true @@ -13173,6 +14956,12 @@ packages: dependencies: '@types/node': 18.19.8 + /@types/sockjs@0.3.36: + resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} + dependencies: + '@types/node': 18.19.8 + dev: true + /@types/stack-utils@2.0.1: resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} dev: true @@ -13212,6 +15001,12 @@ packages: '@types/node': 18.19.8 dev: true + /@types/ws@8.5.10: + resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} + dependencies: + '@types/node': 18.19.8 + dev: true + /@types/ws@8.5.3: resolution: {integrity: sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==} dependencies: @@ -13461,7 +15256,7 @@ packages: debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 - semver: 7.6.0 + semver: 7.6.2 tsutils: 3.21.0(typescript@5.4.2) typescript: 5.4.2 transitivePeerDependencies: @@ -13505,7 +15300,7 @@ packages: globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 - semver: 7.6.0 + semver: 7.6.2 ts-api-utils: 1.0.3(typescript@5.4.2) typescript: 5.4.2 transitivePeerDependencies: @@ -13527,7 +15322,7 @@ packages: globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 - semver: 7.6.0 + semver: 7.6.2 ts-api-utils: 1.0.3(typescript@5.4.2) typescript: 5.4.2 transitivePeerDependencies: @@ -13549,7 +15344,7 @@ packages: globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 - semver: 7.6.0 + semver: 7.6.2 ts-api-utils: 1.0.3(typescript@5.4.2) typescript: 5.4.2 transitivePeerDependencies: @@ -13570,7 +15365,7 @@ packages: '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.2) eslint: 8.57.0 eslint-scope: 5.1.1 - semver: 7.6.0 + semver: 7.6.2 transitivePeerDependencies: - supports-color - typescript @@ -13589,7 +15384,7 @@ packages: '@typescript-eslint/types': 7.2.0 '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.4.2) eslint: 8.57.0 - semver: 7.6.0 + semver: 7.6.2 transitivePeerDependencies: - supports-color - typescript @@ -13608,7 +15403,7 @@ packages: '@typescript-eslint/types': 7.3.1 '@typescript-eslint/typescript-estree': 7.3.1(typescript@5.4.2) eslint: 8.57.0 - semver: 7.6.0 + semver: 7.6.2 transitivePeerDependencies: - supports-color - typescript @@ -14005,13 +15800,13 @@ packages: semver: 7.6.0 dev: true - /@vitejs/plugin-basic-ssl@1.1.0(vite@5.1.5): + /@vitejs/plugin-basic-ssl@1.1.0(vite@5.2.11): resolution: {integrity: sha512-wO4Dk/rm8u7RNhOf95ZzcEmC9rYOncYgvq4z3duaJrCgjN8BxAnDVyndanfcJZ0O6XZzHz6Q0hTimxTg8Y9g/A==} engines: {node: '>=14.6.0'} peerDependencies: vite: ^3.0.0 || ^4.0.0 || ^5.0.0 dependencies: - vite: 5.1.5(@types/node@18.19.8)(less@4.2.0)(sass@1.71.1)(stylus@0.59.0)(terser@5.29.1) + vite: 5.2.11(@types/node@18.19.8)(less@4.2.0)(sass@1.77.2)(stylus@0.59.0)(terser@5.31.0) dev: true /@vitejs/plugin-react@3.1.0(vite@5.0.8): @@ -14020,9 +15815,9 @@ packages: peerDependencies: vite: ^4.1.0-beta.0 dependencies: - '@babel/core': 7.23.9 - '@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.23.9) - '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.23.9) + '@babel/core': 7.24.0 + '@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.24.0) + '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.24.0) magic-string: 0.27.0 react-refresh: 0.14.0 vite: 5.0.8(@types/node@18.19.8)(less@4.1.3)(sass@1.55.0)(stylus@0.59.0) @@ -14105,7 +15900,7 @@ packages: vue: optional: true dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.24.0 '@rollup/pluginutils': 5.1.0(rollup@4.14.3) '@vue/compiler-sfc': 3.4.15 ast-kit: 0.11.3(rollup@4.14.3) @@ -14132,9 +15927,9 @@ packages: '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.24.0) - '@babel/template': 7.23.9 + '@babel/template': 7.24.0 '@babel/traverse': 7.24.0 - '@babel/types': 7.23.9 + '@babel/types': 7.24.0 '@vue/babel-helper-vue-transform-on': 1.2.1 '@vue/babel-plugin-resolve-type': 1.2.1(@babel/core@7.24.0) camelcase: 6.3.0 @@ -14153,7 +15948,7 @@ packages: '@babel/core': 7.24.0 '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.24.0 - '@babel/parser': 7.23.9 + '@babel/parser': 7.24.0 '@vue/compiler-sfc': 3.4.15 dev: true @@ -14244,6 +16039,13 @@ packages: '@webassemblyjs/helper-numbers': 1.11.6 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + /@webassemblyjs/ast@1.12.1: + resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} + dependencies: + '@webassemblyjs/helper-numbers': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + dev: true + /@webassemblyjs/floating-point-hex-parser@1.11.6: resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} @@ -14253,6 +16055,10 @@ packages: /@webassemblyjs/helper-buffer@1.11.6: resolution: {integrity: sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==} + /@webassemblyjs/helper-buffer@1.12.1: + resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==} + dev: true + /@webassemblyjs/helper-numbers@1.11.6: resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} dependencies: @@ -14271,6 +16077,15 @@ packages: '@webassemblyjs/helper-wasm-bytecode': 1.11.6 '@webassemblyjs/wasm-gen': 1.11.6 + /@webassemblyjs/helper-wasm-section@1.12.1: + resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==} + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/wasm-gen': 1.12.1 + dev: true + /@webassemblyjs/ieee754@1.11.6: resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} dependencies: @@ -14296,6 +16111,19 @@ packages: '@webassemblyjs/wasm-parser': 1.11.6 '@webassemblyjs/wast-printer': 1.11.6 + /@webassemblyjs/wasm-edit@1.12.1: + resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==} + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/helper-wasm-section': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-opt': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + '@webassemblyjs/wast-printer': 1.12.1 + dev: true + /@webassemblyjs/wasm-gen@1.11.6: resolution: {integrity: sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==} dependencies: @@ -14305,6 +16133,16 @@ packages: '@webassemblyjs/leb128': 1.11.6 '@webassemblyjs/utf8': 1.11.6 + /@webassemblyjs/wasm-gen@1.12.1: + resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==} + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 + dev: true + /@webassemblyjs/wasm-opt@1.11.6: resolution: {integrity: sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==} dependencies: @@ -14313,6 +16151,15 @@ packages: '@webassemblyjs/wasm-gen': 1.11.6 '@webassemblyjs/wasm-parser': 1.11.6 + /@webassemblyjs/wasm-opt@1.12.1: + resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==} + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 + dev: true + /@webassemblyjs/wasm-parser@1.11.6: resolution: {integrity: sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==} dependencies: @@ -14323,12 +16170,30 @@ packages: '@webassemblyjs/leb128': 1.11.6 '@webassemblyjs/utf8': 1.11.6 + /@webassemblyjs/wasm-parser@1.12.1: + resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==} + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/helper-api-error': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 + dev: true + /@webassemblyjs/wast-printer@1.11.6: resolution: {integrity: sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==} dependencies: '@webassemblyjs/ast': 1.11.6 '@xtuc/long': 4.2.2 + /@webassemblyjs/wast-printer@1.12.1: + resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==} + dependencies: + '@webassemblyjs/ast': 1.12.1 + '@xtuc/long': 4.2.2 + dev: true + /@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.88.0): resolution: {integrity: sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==} engines: {node: '>=14.15.0'} @@ -14485,6 +16350,11 @@ packages: /abbrev@1.1.1: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + /abbrev@2.0.0: + resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + /abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} @@ -14671,6 +16541,17 @@ packages: dependencies: ajv: 8.12.0 + /ajv-formats@3.0.1(ajv@8.13.0): + resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + dependencies: + ajv: 8.13.0 + dev: true + /ajv-keywords@3.5.2(ajv@6.12.6): resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} peerDependencies: @@ -14702,6 +16583,15 @@ packages: require-from-string: 2.0.2 uri-js: 4.4.1 + /ajv@8.13.0: + resolution: {integrity: sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: true + /algoliasearch@4.14.2: resolution: {integrity: sha512-ngbEQonGEmf8dyEh5f+uOIihv4176dgbuOZspiuhmTTBRBuzWu3KCGHre6uHj5YyuC7pNvQGzB6ZNJyZi0z+Sg==} dependencies: @@ -15067,7 +16957,7 @@ packages: resolution: {integrity: sha512-qdwwKEhckRk0XE22/xDdmU3v/60E8Edu4qFhgTLIhGGDs/PAJwLw9pQn8Rj99PitlbBZbYpx0k/lbir4kg0SuA==} engines: {node: '>=16.14.0'} dependencies: - '@babel/parser': 7.23.9 + '@babel/parser': 7.24.0 '@rollup/pluginutils': 5.1.0(rollup@4.14.3) pathe: 1.1.2 transitivePeerDependencies: @@ -15078,7 +16968,7 @@ packages: resolution: {integrity: sha512-kbL7ERlqjXubdDd+szuwdlQ1xUxEz9mCz1+m07ftNVStgwRb2RWw+U6oKo08PAvOishMxiqz1mlJyLl8yQx2Qg==} engines: {node: '>=16.14.0'} dependencies: - '@babel/parser': 7.23.9 + '@babel/parser': 7.24.0 '@rollup/pluginutils': 5.1.0(rollup@4.14.3) pathe: 1.1.2 transitivePeerDependencies: @@ -15107,7 +16997,7 @@ packages: resolution: {integrity: sha512-NsyHMxBh4dmdEHjBo1/TBZvCKxffmZxRYhmclfu0PP6Aftre47jOHYaYaNqJcV0bxihxFXhDkzLHUwHc0ocd0Q==} engines: {node: '>=16.14.0'} dependencies: - '@babel/parser': 7.23.9 + '@babel/parser': 7.24.0 ast-kit: 0.9.5(rollup@4.14.3) transitivePeerDependencies: - rollup @@ -15180,15 +17070,15 @@ packages: postcss-value-parser: 4.2.0 dev: true - /autoprefixer@10.4.17(postcss@8.4.35): - resolution: {integrity: sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==} + /autoprefixer@10.4.18(postcss@8.4.35): + resolution: {integrity: sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: browserslist: 4.23.0 - caniuse-lite: 1.0.30001579 + caniuse-lite: 1.0.30001599 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -15196,8 +17086,8 @@ packages: postcss-value-parser: 4.2.0 dev: true - /autoprefixer@10.4.18(postcss@8.4.35): - resolution: {integrity: sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==} + /autoprefixer@10.4.19(postcss@8.4.38): + resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: @@ -15208,7 +17098,7 @@ packages: fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.35 + postcss: 8.4.38 postcss-value-parser: 4.2.0 dev: true @@ -15233,7 +17123,7 @@ packages: /axios@1.6.2: resolution: {integrity: sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==} dependencies: - follow-redirects: 1.15.2 + follow-redirects: 1.15.2(debug@4.3.4) form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -15304,19 +17194,6 @@ packages: webpack: 5.88.0(@swc/core@1.3.86)(esbuild@0.19.5)(webpack-cli@5.1.4) dev: true - /babel-loader@9.1.3(@babel/core@7.23.9)(webpack@5.88.0): - resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@babel/core': ^7.12.0 - webpack: '>=5' - dependencies: - '@babel/core': 7.23.9 - find-cache-dir: 4.0.0 - schema-utils: 4.2.0 - webpack: 5.88.0(@swc/core@1.3.86)(esbuild@0.19.5)(webpack-cli@5.1.4) - dev: true - /babel-loader@9.1.3(@babel/core@7.24.0)(webpack@5.88.0): resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} engines: {node: '>= 14.15.0'} @@ -15330,17 +17207,17 @@ packages: webpack: 5.88.0(@swc/core@1.3.86)(esbuild@0.19.5)(webpack-cli@5.1.4) dev: true - /babel-loader@9.1.3(@babel/core@7.24.0)(webpack@5.90.3): + /babel-loader@9.1.3(@babel/core@7.24.5)(webpack@5.91.0): resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} engines: {node: '>= 14.15.0'} peerDependencies: '@babel/core': ^7.12.0 webpack: '>=5' dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.5 find-cache-dir: 4.0.0 schema-utils: 4.2.0 - webpack: 5.90.3(@swc/core@1.3.86)(esbuild@0.20.1)(webpack-cli@5.1.4) + webpack: 5.91.0(@swc/core@1.3.86)(esbuild@0.21.3)(webpack-cli@5.1.4) dev: true /babel-plugin-add-react-displayname@0.0.5: @@ -15364,7 +17241,7 @@ packages: resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} engines: {node: '>=8'} dependencies: - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.24.0 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-instrument: 5.2.1 @@ -15408,6 +17285,19 @@ packages: - supports-color dev: true + /babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.5): + resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/compat-data': 7.23.5 + '@babel/core': 7.24.5 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.5) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + /babel-plugin-polyfill-corejs2@0.4.8(@babel/core@7.23.2): resolution: {integrity: sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==} peerDependencies: @@ -15434,6 +17324,18 @@ packages: - supports-color dev: true + /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.5): + resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.5) + core-js-compat: 3.37.1 + transitivePeerDependencies: + - supports-color + dev: true + /babel-plugin-polyfill-corejs3@0.6.0(@babel/core@7.23.7): resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==} peerDependencies: @@ -15503,6 +17405,17 @@ packages: - supports-color dev: true + /babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.24.5): + resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.5) + transitivePeerDependencies: + - supports-color + dev: true + /babel-plugin-react-docgen@4.2.1: resolution: {integrity: sha512-UQ0NmGHj/HAqi5Bew8WvNfCk8wSsmdgNd8ZdMjBCICtyCJCq9LiqgqvjCYe570/Wg7AQArSq1VQ60Dd/CHN7mQ==} dependencies: @@ -15660,7 +17573,7 @@ packages: engines: {node: '>=12'} dependencies: bin-version: 6.0.0 - semver: 7.6.0 + semver: 7.6.2 semver-truncate: 2.0.0 dev: true @@ -15780,6 +17693,13 @@ packages: fast-deep-equal: 3.1.3 multicast-dns: 7.2.5 + /bonjour-service@1.2.1: + resolution: {integrity: sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==} + dependencies: + fast-deep-equal: 3.1.3 + multicast-dns: 7.2.5 + dev: true + /boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} dev: true @@ -15943,7 +17863,7 @@ packages: /builtins@5.0.1: resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} dependencies: - semver: 7.6.0 + semver: 7.6.2 dev: true /bundle-name@4.1.0: @@ -16017,7 +17937,7 @@ packages: fs-minipass: 2.1.0 glob: 8.1.0 infer-owner: 1.0.4 - lru-cache: 7.14.0 + lru-cache: 7.18.3 minipass: 3.3.4 minipass-collect: 1.0.2 minipass-flush: 1.0.5 @@ -16059,7 +17979,7 @@ packages: fs-minipass: 3.0.0 glob: 10.3.12 lru-cache: 10.2.0 - minipass: 7.0.3 + minipass: 7.0.4 minipass-collect: 1.0.2 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 @@ -16099,6 +18019,17 @@ packages: get-intrinsic: 1.2.2 set-function-length: 1.2.0 + /call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + set-function-length: 1.2.2 + dev: true + /call-me-maybe@1.0.1: resolution: {integrity: sha512-wCyFsDQkKPwwF8BDwOiWNx/9K45L/hvggQiDbve+viMNMQnWhrlYIuBk09offfwCRtCO9P6XwUttufzU11WCVw==} dev: false @@ -16960,7 +18891,7 @@ packages: webpack: 5.88.0(@swc/core@1.3.86)(esbuild@0.19.5)(webpack-cli@5.1.4) dev: true - /copy-webpack-plugin@11.0.0(webpack@5.90.3): + /copy-webpack-plugin@11.0.0(webpack@5.91.0): resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -16972,7 +18903,7 @@ packages: normalize-path: 3.0.0 schema-utils: 4.2.0 serialize-javascript: 6.0.2 - webpack: 5.90.3(@swc/core@1.3.86)(esbuild@0.20.1)(webpack-cli@5.1.4) + webpack: 5.91.0(@swc/core@1.3.86)(esbuild@0.21.3)(webpack-cli@5.1.4) dev: true /core-js-compat@3.35.1: @@ -16981,6 +18912,12 @@ packages: browserslist: 4.23.0 dev: true + /core-js-compat@3.37.1: + resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==} + dependencies: + browserslist: 4.23.0 + dev: true + /core-js-pure@3.26.0: resolution: {integrity: sha512-LiN6fylpVBVwT8twhhluD9TzXmZQQsr2I2eIKtWNbZI1XMfBT7CV18itaN6RA7EtQd/SDdRx/wzvAShX2HvhQA==} requiresBuild: true @@ -17121,7 +19058,7 @@ packages: dom-serializer: 2.0.0 domhandler: 5.0.3 htmlparser2: 8.0.2 - postcss: 8.4.35 + postcss: 8.4.38 postcss-media-query-parser: 0.2.3 dev: true @@ -17241,27 +19178,27 @@ packages: webpack: 5.88.0(@swc/core@1.3.86)(esbuild@0.19.5)(webpack-cli@5.1.4) dev: true - /css-loader@6.10.0(webpack@5.90.3): - resolution: {integrity: sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw==} - engines: {node: '>= 12.13.0'} + /css-loader@7.1.1(webpack@5.91.0): + resolution: {integrity: sha512-OxIR5P2mjO1PSXk44bWuQ8XtMK4dpEqpIyERCx3ewOo3I8EmbcxMPUc5ScLtQfgXtOojoMv57So4V/C02HQLsw==} + engines: {node: '>= 18.12.0'} peerDependencies: '@rspack/core': 0.x || 1.x - webpack: ^5.0.0 + webpack: ^5.27.0 peerDependenciesMeta: '@rspack/core': optional: true webpack: optional: true dependencies: - icss-utils: 5.1.0(postcss@8.4.35) - postcss: 8.4.35 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.35) - postcss-modules-local-by-default: 4.0.4(postcss@8.4.35) - postcss-modules-scope: 3.1.1(postcss@8.4.35) - postcss-modules-values: 4.0.0(postcss@8.4.35) + icss-utils: 5.1.0(postcss@8.4.38) + postcss: 8.4.38 + postcss-modules-extract-imports: 3.1.0(postcss@8.4.38) + postcss-modules-local-by-default: 4.0.5(postcss@8.4.38) + postcss-modules-scope: 3.2.0(postcss@8.4.38) + postcss-modules-values: 4.0.0(postcss@8.4.38) postcss-value-parser: 4.2.0 semver: 7.6.2 - webpack: 5.90.3(@swc/core@1.3.86)(esbuild@0.20.1)(webpack-cli@5.1.4) + webpack: 5.91.0(@swc/core@1.3.86)(esbuild@0.21.3)(webpack-cli@5.1.4) dev: true /css-minimizer-webpack-plugin@5.0.0(esbuild@0.19.5)(webpack@5.88.0): @@ -17868,6 +19805,15 @@ packages: gopd: 1.0.1 has-property-descriptors: 1.0.1 + /define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + gopd: 1.0.1 + dev: true + /define-lazy-prop@2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} engines: {node: '>=8'} @@ -18293,6 +20239,14 @@ packages: graceful-fs: 4.2.11 tapable: 2.2.1 + /enhanced-resolve@5.16.1: + resolution: {integrity: sha512-4U5pNsuDl0EhuZpq46M5xPslstkviJuhrdobaRDBk2Jy2KO37FDAJl4lb2KlNabxT0m4MTK2UHNrsAcphE8nyw==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + dev: true + /enquirer@2.3.6: resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} engines: {node: '>=8.6'} @@ -18433,6 +20387,18 @@ packages: which-typed-array: 1.1.13 dev: true + /es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.4 + dev: true + + /es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + dev: true + /es-iterator-helpers@1.0.15: resolution: {integrity: sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==} dependencies: @@ -18549,14 +20515,8 @@ packages: - supports-color dev: true - /esbuild-wasm@0.20.0: - resolution: {integrity: sha512-Lc9KeQCg1Zf8kCtfDXgy29rx0x8dOuhDWbkP76Wc64q7ctOOc1Zv1C39AxiE+y4N6ONyXtJk4HKpM7jlU7/jSA==} - engines: {node: '>=12'} - hasBin: true - dev: true - - /esbuild-wasm@0.20.1: - resolution: {integrity: sha512-6v/WJubRsjxBbQdz6izgvx7LsVFvVaGmSdwrFHmEzoVgfXL89hkKPoQHsnVI2ngOkcBUQT9kmAM1hVL1k/Av4A==} + /esbuild-wasm@0.21.3: + resolution: {integrity: sha512-DMOV+eeVra0yVq3XIojfczdEQsz+RiFnpEj7lqs8Gux9mlTpN7yIbw0a4KzLspn0Uhw6UVEH3nUAidSqc/rcQg==} engines: {node: '>=12'} hasBin: true dev: true @@ -18743,6 +20703,37 @@ packages: '@esbuild/win32-x64': 0.20.1 dev: true + /esbuild@0.21.3: + resolution: {integrity: sha512-Kgq0/ZsAPzKrbOjCQcjoSmPoWhlcVnGAUo7jvaLHoxW1Drto0KGkR1xBNg2Cp43b9ImvxmPEJZ9xkfcnqPsfBw==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.3 + '@esbuild/android-arm': 0.21.3 + '@esbuild/android-arm64': 0.21.3 + '@esbuild/android-x64': 0.21.3 + '@esbuild/darwin-arm64': 0.21.3 + '@esbuild/darwin-x64': 0.21.3 + '@esbuild/freebsd-arm64': 0.21.3 + '@esbuild/freebsd-x64': 0.21.3 + '@esbuild/linux-arm': 0.21.3 + '@esbuild/linux-arm64': 0.21.3 + '@esbuild/linux-ia32': 0.21.3 + '@esbuild/linux-loong64': 0.21.3 + '@esbuild/linux-mips64el': 0.21.3 + '@esbuild/linux-ppc64': 0.21.3 + '@esbuild/linux-riscv64': 0.21.3 + '@esbuild/linux-s390x': 0.21.3 + '@esbuild/linux-x64': 0.21.3 + '@esbuild/netbsd-x64': 0.21.3 + '@esbuild/openbsd-x64': 0.21.3 + '@esbuild/sunos-x64': 0.21.3 + '@esbuild/win32-arm64': 0.21.3 + '@esbuild/win32-ia32': 0.21.3 + '@esbuild/win32-x64': 0.21.3 + dev: true + /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} @@ -19228,7 +21219,7 @@ packages: engines: {node: '>=8.3.0'} dependencies: '@babel/traverse': 7.24.0 - '@babel/types': 7.23.9 + '@babel/types': 7.24.0 c8: 7.13.0 transitivePeerDependencies: - supports-color @@ -19448,6 +21439,10 @@ packages: jest-util: 29.7.0 dev: true + /exponential-backoff@3.1.1: + resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} + dev: true + /express-rate-limit@5.5.1: resolution: {integrity: sha512-MTjE2eIbHv5DyfuFz4zLYWxpqVhEhkTiwFGuB74Q9CSou2WHO52nlE5y3Zlg6SIsiYUIPj6ifFxnkPz6O3sIUg==} dev: true @@ -19968,7 +21963,7 @@ packages: resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} dev: true - /follow-redirects@1.15.2: + /follow-redirects@1.15.2(debug@4.3.4): resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} engines: {node: '>=4.0'} peerDependencies: @@ -19976,6 +21971,8 @@ packages: peerDependenciesMeta: debug: optional: true + dependencies: + debug: 4.3.4(supports-color@8.1.1) /for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -20038,7 +22035,7 @@ packages: dependencies: '@babel/code-frame': 7.23.5 chalk: 4.1.2 - chokidar: 3.5.3 + chokidar: 3.6.0 cosmiconfig: 7.0.1 deepmerge: 4.3.1 fs-extra: 10.1.0 @@ -20046,7 +22043,7 @@ packages: minimatch: 3.1.2 node-abort-controller: 3.1.1 schema-utils: 3.2.0 - semver: 7.6.0 + semver: 7.6.2 tapable: 2.2.1 typescript: 5.4.2 webpack: 5.88.0(@swc/core@1.3.86)(esbuild@0.19.5)(webpack-cli@5.1.4) @@ -20069,7 +22066,7 @@ packages: minimatch: 3.1.2 node-abort-controller: 3.1.1 schema-utils: 3.2.0 - semver: 7.6.0 + semver: 7.6.2 tapable: 2.2.1 typescript: 5.3.3 webpack: 5.90.1(@swc/core@1.3.86)(esbuild@0.19.5)(webpack-cli@5.1.4) @@ -20342,6 +22339,17 @@ packages: has-symbols: 1.0.3 hasown: 2.0.0 + /get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + has-proto: 1.0.1 + has-symbols: 1.0.3 + hasown: 2.0.0 + dev: true + /get-nonce@1.0.1: resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} engines: {node: '>=6'} @@ -20871,6 +22879,12 @@ packages: dependencies: get-intrinsic: 1.2.2 + /has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + dependencies: + es-define-property: 1.0.0 + dev: true + /has-proto@1.0.1: resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} engines: {node: '>= 0.4'} @@ -21028,6 +23042,10 @@ packages: /html-entities@2.3.3: resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==} + /html-entities@2.5.2: + resolution: {integrity: sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==} + dev: true + /html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} dev: true @@ -21043,7 +23061,7 @@ packages: he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.27.0 + terser: 5.29.1 dev: true /html-tags@3.2.0: @@ -21160,7 +23178,7 @@ packages: dependencies: '@types/express': 4.17.14 '@types/http-proxy': 1.17.14 - http-proxy: 1.18.1 + http-proxy: 1.18.1(debug@4.3.4) is-glob: 4.0.3 is-plain-obj: 3.0.0 micromatch: 4.0.5 @@ -21179,19 +23197,52 @@ packages: dependencies: '@types/express': 4.17.15 '@types/http-proxy': 1.17.14 - http-proxy: 1.18.1 + http-proxy: 1.18.1(debug@4.3.4) is-glob: 4.0.3 is-plain-obj: 3.0.0 micromatch: 4.0.5 transitivePeerDependencies: - debug - /http-proxy@1.18.1: + /http-proxy-middleware@2.0.6(@types/express@4.17.21): + resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@types/express': ^4.17.13 + peerDependenciesMeta: + '@types/express': + optional: true + dependencies: + '@types/express': 4.17.21 + '@types/http-proxy': 1.17.14 + http-proxy: 1.18.1(debug@4.3.4) + is-glob: 4.0.3 + is-plain-obj: 3.0.0 + micromatch: 4.0.5 + transitivePeerDependencies: + - debug + dev: true + + /http-proxy-middleware@3.0.0: + resolution: {integrity: sha512-36AV1fIaI2cWRzHo+rbcxhe3M3jUDCNzc4D5zRl57sEWRAxdXYtw7FSQKYY6PDKssiAKjLYypbssHk+xs/kMXw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@types/http-proxy': 1.17.14 + debug: 4.3.4(supports-color@8.1.1) + http-proxy: 1.18.1(debug@4.3.4) + is-glob: 4.0.3 + is-plain-obj: 3.0.0 + micromatch: 4.0.5 + transitivePeerDependencies: + - supports-color + dev: true + + /http-proxy@1.18.1(debug@4.3.4): resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.2 + follow-redirects: 1.15.2(debug@4.3.4) requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -21206,7 +23257,7 @@ packages: corser: 2.0.1 he: 1.2.0 html-encoding-sniffer: 3.0.0 - http-proxy: 1.18.1 + http-proxy: 1.18.1(debug@4.3.4) mime: 1.6.0 minimist: 1.2.7 opener: 1.5.2 @@ -21259,16 +23310,6 @@ packages: - supports-color dev: true - /https-proxy-agent@7.0.2: - resolution: {integrity: sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==} - engines: {node: '>= 14'} - dependencies: - agent-base: 7.1.0 - debug: 4.3.4(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - dev: true - /https-proxy-agent@7.0.4: resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} engines: {node: '>= 14'} @@ -21314,6 +23355,11 @@ packages: hasBin: true dev: true + /hyperdyperid@1.2.0: + resolution: {integrity: sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==} + engines: {node: '>=10.18'} + dev: true + /iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -21349,6 +23395,15 @@ packages: postcss: 8.4.35 dev: true + /icss-utils@5.1.0(postcss@8.4.38): + resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.38 + dev: true + /identity-obj-proxy@3.0.0: resolution: {integrity: sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==} engines: {node: '>=4'} @@ -21539,17 +23594,17 @@ packages: wrap-ansi: 6.2.0 dev: true - /inquirer@9.2.15: - resolution: {integrity: sha512-vI2w4zl/mDluHt9YEQ/543VTCwPKWiHzKtm9dM2V0NdFcqEexDAjUHzO1oA60HRNaVifGXXM1tRRNluLVHa0Kg==} + /inquirer@9.2.22: + resolution: {integrity: sha512-SqLLa/Oe5rZUagTR9z+Zd6izyatHglbmbvVofo1KzuVB54YHleWzeHNLoR7FOICGOeQSqeLh1cordb3MzhGcEw==} engines: {node: '>=18'} dependencies: - '@ljharb/through': 2.3.12 + '@inquirer/figures': 1.0.2 + '@ljharb/through': 2.3.13 ansi-escapes: 4.3.2 chalk: 5.3.0 cli-cursor: 3.1.0 cli-width: 4.1.0 external-editor: 3.1.0 - figures: 3.2.0 lodash: 4.17.21 mute-stream: 1.0.0 ora: 5.4.1 @@ -21618,6 +23673,11 @@ packages: resolution: {integrity: sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==} engines: {node: '>= 10'} + /ipaddr.js@2.2.0: + resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==} + engines: {node: '>= 10'} + dev: true + /iron-webcrypto@1.0.0: resolution: {integrity: sha512-anOK1Mktt8U1Xi7fCM3RELTuYbnFikQY5VtrDj7kPgpejV7d43tWKhzgioO0zpkazLEL/j/iayRqnJhrGfqUsg==} dev: true @@ -21875,6 +23935,11 @@ packages: 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'} + dev: true + /is-number-object@1.0.7: resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} engines: {node: '>= 0.4'} @@ -22637,7 +24702,7 @@ packages: jest-util: 29.7.0 natural-compare: 1.4.0 pretty-format: 29.7.0 - semver: 7.6.0 + semver: 7.6.2 transitivePeerDependencies: - supports-color dev: true @@ -22941,7 +25006,7 @@ packages: jws: 3.2.2 lodash: 4.17.21 ms: 2.1.3 - semver: 7.6.0 + semver: 7.6.2 dev: true /jsonwebtoken@9.0.2: @@ -23095,16 +25160,21 @@ packages: webpack: 5.88.0(@swc/core@1.3.86)(esbuild@0.19.5)(webpack-cli@5.1.4) dev: true - /less-loader@11.1.0(less@4.2.0)(webpack@5.90.3): - resolution: {integrity: sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==} - engines: {node: '>= 14.15.0'} + /less-loader@12.2.0(less@4.2.0)(webpack@5.91.0): + resolution: {integrity: sha512-MYUxjSQSBUQmowc0l5nPieOYwMzGPUaTzB6inNW/bdPEG9zOL3eAAD1Qw5ZxSPk7we5dMojHwNODYMV1hq4EVg==} + engines: {node: '>= 18.12.0'} peerDependencies: + '@rspack/core': 0.x || 1.x less: ^3.5.0 || ^4.0.0 webpack: ^5.0.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true dependencies: - klona: 2.0.5 less: 4.2.0 - webpack: 5.90.3(@swc/core@1.3.86)(esbuild@0.20.1)(webpack-cli@5.1.4) + webpack: 5.91.0(@swc/core@1.3.86)(esbuild@0.21.3)(webpack-cli@5.1.4) dev: true /less@4.1.3: @@ -23186,7 +25256,7 @@ packages: webpack-sources: 3.2.3 dev: true - /license-webpack-plugin@4.0.2(webpack@5.90.3): + /license-webpack-plugin@4.0.2(webpack@5.91.0): resolution: {integrity: sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==} peerDependencies: webpack: '*' @@ -23194,7 +25264,7 @@ packages: webpack: optional: true dependencies: - webpack: 5.90.3(@swc/core@1.3.86)(esbuild@0.20.1)(webpack-cli@5.1.4) + webpack: 5.91.0(@swc/core@1.3.86)(esbuild@0.21.3)(webpack-cli@5.1.4) webpack-sources: 3.2.3 dev: true @@ -23262,6 +25332,25 @@ packages: wrap-ansi: 7.0.0 dev: true + /lmdb@3.0.8: + resolution: {integrity: sha512-9rp8JT4jPhCRJUL7vRARa2N06OLSYzLwQsEkhC6Qu5XbcLyM/XBLMzDlgS/K7l7c5CdURLdDk9uE+hPFIogHTQ==} + hasBin: true + requiresBuild: true + dependencies: + msgpackr: 1.10.2 + node-addon-api: 6.1.0 + node-gyp-build-optional-packages: 5.1.1 + ordered-binary: 1.5.1 + weak-lru-cache: 1.2.2 + optionalDependencies: + '@lmdb/lmdb-darwin-arm64': 3.0.8 + '@lmdb/lmdb-darwin-x64': 3.0.8 + '@lmdb/lmdb-linux-arm': 3.0.8 + '@lmdb/lmdb-linux-arm64': 3.0.8 + '@lmdb/lmdb-linux-x64': 3.0.8 + '@lmdb/lmdb-win32-x64': 3.0.8 + dev: true + /load-json-file@4.0.0: resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} engines: {node: '>=4'} @@ -23560,6 +25649,12 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 dev: true + /magic-string@0.30.10: + resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + /magic-string@0.30.2: resolution: {integrity: sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==} engines: {node: '>=12'} @@ -23591,8 +25686,8 @@ packages: /magicast@0.3.3: resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==} dependencies: - '@babel/parser': 7.23.9 - '@babel/types': 7.23.9 + '@babel/parser': 7.24.0 + '@babel/types': 7.24.0 source-map-js: 1.0.2 dev: true @@ -23626,7 +25721,7 @@ packages: http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1 is-lambda: 1.0.1 - lru-cache: 7.14.0 + lru-cache: 7.18.3 minipass: 3.3.4 minipass-collect: 1.0.2 minipass-fetch: 2.1.2 @@ -23866,7 +25961,7 @@ packages: /media-query-parser@2.0.2: resolution: {integrity: sha512-1N4qp+jE0pL5Xv4uEcwVUhIkwdUO3S/9gML90nqKA7v7FcOS5vUtatfzok9S9U1EJU8dHWlcv95WLnKmmxZI9w==} dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 dev: true /media-typer@0.3.0: @@ -23886,6 +25981,16 @@ packages: dependencies: fs-monkey: 1.0.3 + /memfs@4.9.2: + resolution: {integrity: sha512-f16coDZlTG1jskq3mxarwB+fGRrd0uXWt+o1WIhRfOwbXQZqUDsTVxQBFK9JjRQHblg8eAG2JSbprDXKjc7ijQ==} + engines: {node: '>= 4.0.0'} + dependencies: + '@jsonjoy.com/json-pack': 1.0.4(tslib@2.6.2) + '@jsonjoy.com/util': 1.1.3(tslib@2.6.2) + sonic-forest: 1.0.3(tslib@2.6.2) + tslib: 2.6.2 + dev: true + /memoizee@0.4.15: resolution: {integrity: sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==} dependencies: @@ -24022,7 +26127,7 @@ packages: resolution: {integrity: sha512-L0syTWJUdWzfUmKgkScr6fSBVTh6QDr8eKEkRtn40OBd8LPagrJGySBboWSgbyn9eIb4ayW3Y347HxgXBSAjmg==} engines: {node: '>=18'} dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 dev: true /metro-source-map@0.80.5: @@ -24030,7 +26135,7 @@ packages: engines: {node: '>=18'} dependencies: '@babel/traverse': 7.24.0 - '@babel/types': 7.23.9 + '@babel/types': 7.24.0 invariant: 2.2.4 metro-symbolicate: 0.80.5 nullthrows: 1.1.1 @@ -24062,7 +26167,7 @@ packages: dependencies: '@babel/core': 7.24.0 '@babel/generator': 7.23.6 - '@babel/template': 7.23.9 + '@babel/template': 7.24.0 '@babel/traverse': 7.24.0 nullthrows: 1.1.1 transitivePeerDependencies: @@ -24075,8 +26180,8 @@ packages: dependencies: '@babel/core': 7.24.0 '@babel/generator': 7.23.6 - '@babel/parser': 7.23.9 - '@babel/types': 7.23.9 + '@babel/parser': 7.24.0 + '@babel/types': 7.24.0 metro: 0.80.5 metro-babel-transformer: 0.80.5 metro-cache: 0.80.5 @@ -24492,15 +26597,15 @@ packages: webpack: 5.88.0(@swc/core@1.3.86)(esbuild@0.19.5)(webpack-cli@5.1.4) dev: true - /mini-css-extract-plugin@2.8.1(webpack@5.90.3): - resolution: {integrity: sha512-/1HDlyFRxWIZPI1ZpgqlZ8jMw/1Dp/dl3P0L1jtZ+zVcHqwPhGwaJwKL00WVgfnBy6PWCde9W65or7IIETImuA==} + /mini-css-extract-plugin@2.9.0(webpack@5.91.0): + resolution: {integrity: sha512-Zs1YsZVfemekSZG+44vBsYTLQORkPMwnlv+aehcxK/NLKC+EGhDB39/YePYYqx/sTk6NnYpuqikhSn7+JIevTA==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 dependencies: schema-utils: 4.2.0 tapable: 2.2.1 - webpack: 5.90.3(@swc/core@1.3.86)(esbuild@0.20.1)(webpack-cli@5.1.4) + webpack: 5.91.0(@swc/core@1.3.86)(esbuild@0.21.3)(webpack-cli@5.1.4) dev: true /mini-svg-data-uri@1.4.4: @@ -24725,6 +26830,28 @@ packages: /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + /msgpackr-extract@3.0.2: + resolution: {integrity: sha512-SdzXp4kD/Qf8agZ9+iTu6eql0m3kWm1A2y1hkpTeVNENutaB0BwHlSvAIaMxwntmRUAUjon2V4L8Z/njd0Ct8A==} + hasBin: true + requiresBuild: true + dependencies: + node-gyp-build-optional-packages: 5.0.7 + optionalDependencies: + '@msgpackr-extract/msgpackr-extract-darwin-arm64': 3.0.2 + '@msgpackr-extract/msgpackr-extract-darwin-x64': 3.0.2 + '@msgpackr-extract/msgpackr-extract-linux-arm': 3.0.2 + '@msgpackr-extract/msgpackr-extract-linux-arm64': 3.0.2 + '@msgpackr-extract/msgpackr-extract-linux-x64': 3.0.2 + '@msgpackr-extract/msgpackr-extract-win32-x64': 3.0.2 + dev: true + optional: true + + /msgpackr@1.10.2: + resolution: {integrity: sha512-L60rsPynBvNE+8BWipKKZ9jHcSGbtyJYIwjRq0VrIvQ08cRjntGXJYW/tmciZ2IHWIY8WEW32Qa2xbh5+SKBZA==} + optionalDependencies: + msgpackr-extract: 3.0.2 + dev: true + /multer@1.4.4-lts.1: resolution: {integrity: sha512-WeSGziVj6+Z2/MwQo3GvqzgR+9Uc+qt8SwHKh3gvNPiISKfsMfG4SvCOFYlxxgkXt7yIV2i1yczehm0EOKIxIg==} engines: {node: '>= 6.0.0'} @@ -24845,7 +26972,7 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /next-sitemap@3.1.29(@next/env@14.0.4)(next@14.2.3): + /next-sitemap@3.1.29(@next/env@14.2.3)(next@14.2.3): resolution: {integrity: sha512-7UQyfpI7obOdB11aCswWYfqRn5CR0YSmWHo1r/uarrFfZD5PyyAWtQlgP6jNqDW0eX1ZJWERBwmJ2dLjl4nT8Q==} engines: {node: '>=14.18'} hasBin: true @@ -24854,7 +26981,7 @@ packages: next: '*' dependencies: '@corex/deepmerge': 4.0.29 - '@next/env': 14.0.4 + '@next/env': 14.2.3 minimist: 1.2.7 next: 14.2.3(@babel/core@7.23.2)(@playwright/test@1.36.1)(react-dom@18.3.1)(react@18.3.1)(sass@1.55.0) dev: true @@ -24905,32 +27032,32 @@ packages: - '@babel/core' - babel-plugin-macros - /ng-packagr@17.3.0(@angular/compiler-cli@17.3.0)(tailwindcss@3.4.3)(tslib@2.4.0)(typescript@5.4.2): - resolution: {integrity: sha512-kMSqxeDgv88SWCoapWNRRN1UdBgwu9/Pw/j7u2WFGmzrIWUFivNWBBSSL94kMxr2La+Z9wMwiL8EwKNvmCpg2A==} - engines: {node: ^18.13.0 || >=20.9.0} + /ng-packagr@18.0.0(@angular/compiler-cli@18.0.0)(tailwindcss@3.4.3)(tslib@2.4.0)(typescript@5.4.2): + resolution: {integrity: sha512-fIkMk2nOAuhsLGOiCQUVdXpOI2WUdnMX/u8VXMRWVD0i+nLJdcWb1mmRb4TAYgqimy7M47OgQFKQrv/SBMgqGQ==} + engines: {node: ^18.19.1 || >=20.11.1} hasBin: true peerDependencies: - '@angular/compiler-cli': ^17.0.0 || ^17.2.0-next.0 || ^17.3.0-next.0 + '@angular/compiler-cli': ^18.0.0-next.0 || ^18.1.0-next.0 tailwindcss: ^2.0.0 || ^3.0.0 tslib: ^2.3.0 - typescript: '>=5.2 <5.5' + typescript: '>=5.4 <5.5' peerDependenciesMeta: tailwindcss: optional: true dependencies: - '@angular/compiler-cli': 17.3.0(@angular/compiler@17.3.0)(typescript@5.4.2) - '@rollup/plugin-json': 6.1.0(rollup@4.14.3) - '@rollup/plugin-node-resolve': 15.2.3(rollup@4.14.3) - '@rollup/wasm-node': 4.9.6 + '@angular/compiler-cli': 18.0.0(@angular/compiler@18.0.0)(typescript@5.4.2) + '@rollup/plugin-json': 6.1.0(rollup@4.18.0) + '@rollup/plugin-node-resolve': 15.2.3(rollup@4.18.0) + '@rollup/wasm-node': 4.18.0 ajv: 8.12.0 ansi-colors: 4.1.3 - browserslist: 4.22.2 + browserslist: 4.23.0 cacache: 18.0.0 - chokidar: 3.5.3 + chokidar: 3.6.0 commander: 12.0.0 convert-source-map: 2.0.0 dependency-graph: 1.0.0 - esbuild-wasm: 0.20.0 + esbuild: 0.21.3 fast-glob: 3.3.2 find-cache-dir: 3.3.2 injection-js: 2.4.0 @@ -24940,13 +27067,12 @@ packages: piscina: 4.4.0 postcss: 8.4.35 rxjs: 7.8.1 - sass: 1.70.0 + sass: 1.71.1 tailwindcss: 3.4.3(ts-node@10.9.1) tslib: 2.4.0 typescript: 5.4.2 optionalDependencies: - esbuild: 0.20.1 - rollup: 4.14.3 + rollup: 4.18.0 dev: true /nice-napi@1.0.2: @@ -24985,7 +27111,7 @@ packages: archiver: 6.0.1 c12: 1.6.1 chalk: 5.3.0 - chokidar: 3.5.3 + chokidar: 3.6.0 citty: 0.1.5 consola: 3.2.3 cookie-es: 1.0.0 @@ -25023,7 +27149,7 @@ packages: rollup: 4.14.3 rollup-plugin-visualizer: 5.12.0(rollup@4.14.3) scule: 1.2.0 - semver: 7.6.0 + semver: 7.6.2 serve-placeholder: 2.0.1 serve-static: 1.15.0 std-env: 3.7.0 @@ -25068,6 +27194,10 @@ packages: /node-addon-api@3.2.1: resolution: {integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==} + /node-addon-api@6.1.0: + resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} + dev: true + /node-addon-api@7.1.0: resolution: {integrity: sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==} engines: {node: ^16 || ^18 || >= 20} @@ -25123,10 +27253,43 @@ packages: resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} engines: {node: '>= 6.13.0'} + /node-gyp-build-optional-packages@5.0.7: + resolution: {integrity: sha512-YlCCc6Wffkx0kHkmam79GKvDQ6x+QZkMjFGrIMxgFNILFvGSbCp2fCBC55pGTT9gVaz8Na5CLmxt/urtzRv36w==} + hasBin: true + requiresBuild: true + dev: true + optional: true + + /node-gyp-build-optional-packages@5.1.1: + resolution: {integrity: sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==} + hasBin: true + dependencies: + detect-libc: 2.0.2 + dev: true + /node-gyp-build@4.5.0: resolution: {integrity: sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==} hasBin: true + /node-gyp@10.1.0: + resolution: {integrity: sha512-B4J5M1cABxPc5PwfjhbV5hoy2DP9p8lFXASnEN6hugXOa61416tnTZ29x9sSwAd0o99XNIcpvDDy1swAExsVKA==} + engines: {node: ^16.14.0 || >=18.0.0} + hasBin: true + dependencies: + env-paths: 2.2.1 + exponential-backoff: 3.1.1 + glob: 10.3.12 + graceful-fs: 4.2.11 + make-fetch-happen: 13.0.0 + nopt: 7.2.1 + proc-log: 3.0.0 + semver: 7.6.2 + tar: 6.2.0 + which: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: true + /node-gyp@9.3.0: resolution: {integrity: sha512-A6rJWfXFz7TQNjpldJ915WFb1LnhO4lIve3ANPbWreuEoLoKlFT3sxIepPBkLhM27crW8YmN+pjlgbasH6cH/Q==} engines: {node: ^12.22 || ^14.13 || >=16} @@ -25139,7 +27302,7 @@ packages: nopt: 6.0.0 npmlog: 6.0.2 rimraf: 3.0.2 - semver: 7.6.0 + semver: 7.6.2 tar: 6.2.0 which: 2.0.2 transitivePeerDependencies: @@ -25188,6 +27351,14 @@ packages: abbrev: 1.1.1 dev: true + /nopt@7.2.1: + resolution: {integrity: sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + dependencies: + abbrev: 2.0.0 + dev: true + /normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: @@ -25202,7 +27373,7 @@ packages: dependencies: hosted-git-info: 4.1.0 is-core-module: 2.13.1 - semver: 7.6.0 + semver: 7.6.2 validate-npm-package-license: 3.0.4 dev: true @@ -25212,7 +27383,7 @@ packages: dependencies: hosted-git-info: 6.1.1 is-core-module: 2.13.1 - semver: 7.6.0 + semver: 7.6.2 validate-npm-package-license: 3.0.4 dev: true @@ -25222,7 +27393,7 @@ packages: dependencies: hosted-git-info: 7.0.0 is-core-module: 2.13.1 - semver: 7.6.0 + semver: 7.6.2 validate-npm-package-license: 3.0.4 dev: true @@ -25251,7 +27422,7 @@ packages: resolution: {integrity: sha512-SBU9oFglRVZnfElwAtF14NivyulDqF1VKqqwNsFW9HDcbHMAPHpRSsVFgKuwFGq/hVvWZExz62Th0kvxn/XE7Q==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - semver: 7.6.0 + semver: 7.6.2 dev: true /npm-normalize-package-bin@1.0.1: @@ -25269,7 +27440,7 @@ packages: dependencies: hosted-git-info: 6.1.1 proc-log: 3.0.0 - semver: 7.6.0 + semver: 7.6.2 validate-npm-package-name: 5.0.0 dev: true @@ -25283,6 +27454,16 @@ packages: validate-npm-package-name: 5.0.0 dev: true + /npm-package-arg@11.0.2: + resolution: {integrity: sha512-IGN0IAwmhDJwy13Wc8k+4PEbTPhpJnMtfR53ZbOyjkvmEcLS4nCwp6mvMWjS5sUjeiW3mpx6cHmuhKEu9XmcQw==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + hosted-git-info: 7.0.0 + proc-log: 4.2.0 + semver: 7.6.2 + validate-npm-package-name: 5.0.0 + dev: true + /npm-packlist@8.0.0: resolution: {integrity: sha512-ErAGFB5kJUciPy1mmx/C2YFbvxoJ0QJ9uwkCZOeR6CqLLISPZBOiFModAbSXnjjlwW5lOhuhXva+fURsSGJqyw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -25297,7 +27478,7 @@ packages: npm-install-checks: 6.0.0 npm-normalize-package-bin: 3.0.0 npm-package-arg: 10.1.0 - semver: 7.6.0 + semver: 7.6.2 dev: true /npm-pick-manifest@9.0.0: @@ -25307,7 +27488,17 @@ packages: npm-install-checks: 6.0.0 npm-normalize-package-bin: 3.0.0 npm-package-arg: 11.0.1 - semver: 7.6.0 + semver: 7.6.2 + dev: true + + /npm-pick-manifest@9.0.1: + resolution: {integrity: sha512-Udm1f0l2nXb3wxDpKjfohwgdFUSV50UVwzEIpDXVsbDMXVIEF81a/i0UhuQbhrPMMmdiq3+YMFLFIRVLs3hxQw==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + npm-install-checks: 6.0.0 + npm-normalize-package-bin: 3.0.0 + npm-package-arg: 11.0.1 + semver: 7.6.2 dev: true /npm-registry-fetch@16.0.0: @@ -25325,6 +27516,22 @@ packages: - supports-color dev: true + /npm-registry-fetch@17.0.1: + resolution: {integrity: sha512-fLu9MTdZTlJAHUek/VLklE6EpIiP3VZpTiuN7OOMCt2Sd67NCpSEetMaxHHEZiZxllp8ZLsUpvbEszqTFEc+wA==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@npmcli/redact': 2.0.0 + make-fetch-happen: 13.0.0 + minipass: 7.0.4 + minipass-fetch: 3.0.0 + minipass-json-stream: 1.0.1 + minizlib: 2.1.2 + npm-package-arg: 11.0.1 + proc-log: 4.2.0 + transitivePeerDependencies: + - supports-color + dev: true + /npm-run-path@2.0.2: resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} engines: {node: '>=4'} @@ -25941,6 +28148,10 @@ packages: wcwidth: 1.0.1 dev: true + /ordered-binary@1.5.1: + resolution: {integrity: sha512-5VyHfHY3cd0iza71JepYG50My+YUbrFtGoUz2ooEydPyPM7Aai/JW098juLr+RG6+rDJuzNNTsEQu2DZa1A41A==} + dev: true + /os-filter-obj@2.0.0: resolution: {integrity: sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==} engines: {node: '>=4'} @@ -26065,6 +28276,15 @@ packages: '@types/retry': 0.12.0 retry: 0.13.1 + /p-retry@6.2.0: + resolution: {integrity: sha512-JA6nkq6hKyWLLasXQXUrO4z8BUZGUt/LjlJxx8Gb2+2ntodU/SS63YZ8b0LUTbQ8ZB9iwOfhEPhg4ykKnn2KsA==} + engines: {node: '>=16.17'} + dependencies: + '@types/retry': 0.12.2 + is-network-error: 1.1.0 + retry: 0.13.1 + dev: true + /p-timeout@3.2.0: resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} engines: {node: '>=8'} @@ -26092,7 +28312,7 @@ packages: '@npmcli/run-script': 7.0.1 cacache: 18.0.0 fs-minipass: 3.0.0 - minipass: 7.0.3 + minipass: 7.0.4 npm-package-arg: 11.0.1 npm-packlist: 8.0.0 npm-pick-manifest: 9.0.0 @@ -26109,6 +28329,33 @@ packages: - supports-color dev: true + /pacote@18.0.6: + resolution: {integrity: sha512-+eK3G27SMwsB8kLIuj4h1FUhHtwiEUo21Tw8wNjmvdlpOEr613edv+8FUsTj/4F/VN5ywGE19X18N7CC2EJk6A==} + engines: {node: ^16.14.0 || >=18.0.0} + hasBin: true + dependencies: + '@npmcli/git': 5.0.3 + '@npmcli/installed-package-contents': 2.0.1 + '@npmcli/package-json': 5.1.0 + '@npmcli/promise-spawn': 7.0.0 + '@npmcli/run-script': 8.1.0 + cacache: 18.0.0 + fs-minipass: 3.0.0 + minipass: 7.0.4 + npm-package-arg: 11.0.1 + npm-packlist: 8.0.0 + npm-pick-manifest: 9.0.1 + npm-registry-fetch: 17.0.1 + proc-log: 4.2.0 + promise-retry: 2.0.1 + sigstore: 2.2.1 + ssri: 10.0.4 + tar: 6.2.0 + transitivePeerDependencies: + - bluebird + - supports-color + dev: true + /pako@0.2.9: resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} dev: true @@ -26369,8 +28616,8 @@ packages: engines: {node: '>=10'} dev: true - /picomatch@4.0.1: - resolution: {integrity: sha512-xUXwsxNjwTQ8K3GnT4pCJm+xq3RUPQbmkYJTP5aFIfNIvbcc/4MUxgBaaRSZJ6yGJZiGSyYlM6MzwTsRk8SYCg==} + /picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} engines: {node: '>=12'} dev: true @@ -26472,6 +28719,12 @@ packages: nice-napi: 1.0.2 dev: true + /piscina@4.5.0: + resolution: {integrity: sha512-iBaLWI56PFP81cfBSomWTmhOo9W2/yhIOL+Tk8O1vBCpK39cM0tGxB+wgYjG31qq4ohGvysfXSdnj8h7g4rZxA==} + optionalDependencies: + nice-napi: 1.0.2 + dev: true + /pkg-dir@4.2.0: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} @@ -26519,7 +28772,7 @@ packages: resolution: {integrity: sha512-Sz2Lkdxz6F2Pgnpi9U5Ng/WdWAUZxmHrNPoVlm3aAemxoy2Qy7LGjQg4uf8qKelDAUW94F4np3iH2YPf2qefcQ==} engines: {node: '>=10'} dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 dev: true /portfinder@1.0.32: @@ -27029,7 +29282,7 @@ packages: webpack: 5.88.0(@swc/core@1.3.86)(esbuild@0.19.5)(webpack-cli@5.1.4) dev: true - /postcss-loader@8.1.1(postcss@8.4.35)(typescript@5.4.2)(webpack@5.90.3): + /postcss-loader@8.1.1(postcss@8.4.38)(typescript@5.4.2)(webpack@5.91.0): resolution: {integrity: sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==} engines: {node: '>= 18.12.0'} peerDependencies: @@ -27044,9 +29297,9 @@ packages: dependencies: cosmiconfig: 9.0.0(typescript@5.4.2) jiti: 1.21.0 - postcss: 8.4.35 + postcss: 8.4.38 semver: 7.6.2 - webpack: 5.90.3(@swc/core@1.3.86)(esbuild@0.20.1)(webpack-cli@5.1.4) + webpack: 5.91.0(@swc/core@1.3.86)(esbuild@0.21.3)(webpack-cli@5.1.4) transitivePeerDependencies: - typescript dev: true @@ -27295,6 +29548,15 @@ packages: postcss: 8.4.35 dev: true + /postcss-modules-extract-imports@3.1.0(postcss@8.4.38): + resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.38 + dev: true + /postcss-modules-local-by-default@4.0.4(postcss@8.4.19): resolution: {integrity: sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==} engines: {node: ^10 || ^12 || >= 14} @@ -27319,6 +29581,18 @@ packages: postcss-value-parser: 4.2.0 dev: true + /postcss-modules-local-by-default@4.0.5(postcss@8.4.38): + resolution: {integrity: sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + icss-utils: 5.1.0(postcss@8.4.38) + postcss: 8.4.38 + postcss-selector-parser: 6.0.15 + postcss-value-parser: 4.2.0 + dev: true + /postcss-modules-scope@3.1.1(postcss@8.4.19): resolution: {integrity: sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==} engines: {node: ^10 || ^12 || >= 14} @@ -27339,6 +29613,16 @@ packages: postcss-selector-parser: 6.0.15 dev: true + /postcss-modules-scope@3.2.0(postcss@8.4.38): + resolution: {integrity: sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.38 + postcss-selector-parser: 6.0.15 + dev: true + /postcss-modules-values@4.0.0(postcss@8.4.19): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} @@ -27359,6 +29643,16 @@ packages: postcss: 8.4.35 dev: true + /postcss-modules-values@4.0.0(postcss@8.4.38): + resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + icss-utils: 5.1.0(postcss@8.4.38) + postcss: 8.4.38 + dev: true + /postcss-modules@4.3.1(postcss@8.4.19): resolution: {integrity: sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==} peerDependencies: @@ -28029,6 +30323,15 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 + /postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.2.0 + dev: true + /preact@10.6.4: resolution: {integrity: sha512-WyosM7pxGcndU8hY0OQlLd54tOU+qmG45QXj2dAYrL11HoyU/EzOSTlpJsirbBr1QW7lICxSsVJJmcmUglovHQ==} dev: false @@ -28139,6 +30442,11 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true + /proc-log@4.2.0: + resolution: {integrity: sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + /process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} @@ -28418,7 +30726,7 @@ packages: dependencies: '@babel/core': 7.24.0 '@babel/generator': 7.23.6 - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 ast-types: 0.14.2 commander: 2.20.3 doctrine: 3.0.0 @@ -28434,7 +30742,7 @@ packages: resolution: {integrity: sha512-gF+p+1ZwC2eO66bt763Tepmh5q9kDiFIrqW3YjUV/a+L96h0m5+/wSFQoOHL2cffyrPMZMxP03IgbggJ11QbOw==} engines: {node: '>=14.18.0'} dependencies: - '@babel/core': 7.23.9 + '@babel/core': 7.24.0 '@babel/traverse': 7.23.2 '@babel/types': 7.23.6 '@types/babel__core': 7.20.1 @@ -28891,6 +31199,7 @@ packages: /reflect-metadata@0.2.1: resolution: {integrity: sha512-i5lLI6iw9AU3Uu4szRNPPEkomnkjRTaVt9hy/bn5g/oSzekBSMeLZblcjP74AW0vBabqERLLIrz+gR8QYR54Tw==} + deprecated: This version has a critical bug in fallback handling. Please upgrade to reflect-metadata@0.2.2 or newer. dev: true /reflect.getprototypeof@1.0.4: @@ -28937,7 +31246,7 @@ packages: /regenerator-transform@0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.4 dev: true /regex-parser@2.2.11: @@ -29227,6 +31536,14 @@ packages: glob: 9.3.5 dev: true + /rimraf@5.0.7: + resolution: {integrity: sha512-nV6YcJo5wbLW77m+8KjH8aB/7/rxQy9SZ0HY5shnwULfS+9nmTtVXAJET5NdZmCzA4fPI/Hm1wo/Po/4mopOdg==} + engines: {node: '>=14.18'} + hasBin: true + dependencies: + glob: 10.3.12 + dev: true + /rollup-plugin-copy@3.5.0: resolution: {integrity: sha512-wI8D5dvYovRMx/YYKtUNt3Yxaw4ORC9xo6Gt9t22kveWz1enG9QrhVlagzwrxSC455xD1dHMKhIJkbsQ7d48BA==} engines: {node: '>=8.3'} @@ -29334,6 +31651,33 @@ packages: fsevents: 2.3.3 dev: true + /rollup@4.18.0: + resolution: {integrity: sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + requiresBuild: true + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.18.0 + '@rollup/rollup-android-arm64': 4.18.0 + '@rollup/rollup-darwin-arm64': 4.18.0 + '@rollup/rollup-darwin-x64': 4.18.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.18.0 + '@rollup/rollup-linux-arm-musleabihf': 4.18.0 + '@rollup/rollup-linux-arm64-gnu': 4.18.0 + '@rollup/rollup-linux-arm64-musl': 4.18.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.18.0 + '@rollup/rollup-linux-riscv64-gnu': 4.18.0 + '@rollup/rollup-linux-s390x-gnu': 4.18.0 + '@rollup/rollup-linux-x64-gnu': 4.18.0 + '@rollup/rollup-linux-x64-musl': 4.18.0 + '@rollup/rollup-win32-arm64-msvc': 4.18.0 + '@rollup/rollup-win32-ia32-msvc': 4.18.0 + '@rollup/rollup-win32-x64-msvc': 4.18.0 + fsevents: 2.3.3 + dev: true + /run-applescript@7.0.0: resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} engines: {node: '>=18'} @@ -29435,8 +31779,8 @@ packages: webpack: 5.88.0(@swc/core@1.3.86)(esbuild@0.19.5)(webpack-cli@5.1.4) dev: true - /sass-loader@14.1.1(sass@1.71.1)(webpack@5.90.3): - resolution: {integrity: sha512-QX8AasDg75monlybel38BZ49JP5Z+uSKfKwF2rO7S74BywaRmGQMUBw9dtkS+ekyM/QnP+NOrRYq8ABMZ9G8jw==} + /sass-loader@14.2.1(sass@1.77.2)(webpack@5.91.0): + resolution: {integrity: sha512-G0VcnMYU18a4N7VoNDegg2OuMjYtxnqzQWARVWCIVSZwJeiL9kg8QMsuIZOplsJgTzZLF6jGxI3AClj8I9nRdQ==} engines: {node: '>= 18.12.0'} peerDependencies: '@rspack/core': 0.x || 1.x @@ -29457,8 +31801,8 @@ packages: optional: true dependencies: neo-async: 2.6.2 - sass: 1.71.1 - webpack: 5.90.3(@swc/core@1.3.86)(esbuild@0.20.1)(webpack-cli@5.1.4) + sass: 1.77.2 + webpack: 5.91.0(@swc/core@1.3.86)(esbuild@0.21.3)(webpack-cli@5.1.4) dev: true /sass@1.55.0: @@ -29470,22 +31814,22 @@ packages: immutable: 4.1.0 source-map-js: 1.0.2 - /sass@1.70.0: - resolution: {integrity: sha512-uUxNQ3zAHeAx5nRFskBnrWzDUJrrvpCPD5FNAoRvTi0WwremlheES3tg+56PaVtCs5QDRX5CBLxxKMDJMEa1WQ==} + /sass@1.71.1: + resolution: {integrity: sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==} engines: {node: '>=14.0.0'} hasBin: true dependencies: - chokidar: 3.5.3 + chokidar: 3.6.0 immutable: 4.1.0 source-map-js: 1.0.2 dev: true - /sass@1.71.1: - resolution: {integrity: sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==} + /sass@1.77.2: + resolution: {integrity: sha512-eb4GZt1C3avsX3heBNlrc7I09nyT00IUuo4eFhAbeXWU2fvA7oXI53SxODVAA+zgZCk9aunAZgO+losjR3fAwA==} engines: {node: '>=14.0.0'} hasBin: true dependencies: - chokidar: 3.5.3 + chokidar: 3.6.0 immutable: 4.1.0 source-map-js: 1.0.2 dev: true @@ -29569,6 +31913,14 @@ packages: dependencies: node-forge: 1.3.1 + /selfsigned@2.4.1: + resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} + engines: {node: '>=10'} + dependencies: + '@types/node-forge': 1.3.11 + node-forge: 1.3.1 + dev: true + /semver-regex@4.0.5: resolution: {integrity: sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw==} engines: {node: '>=12'} @@ -29739,6 +32091,18 @@ packages: gopd: 1.0.1 has-property-descriptors: 1.0.1 + /set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + dev: true + /set-function-name@2.0.1: resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} engines: {node: '>= 0.4'} @@ -30006,6 +32370,16 @@ packages: atomic-sleep: 1.0.0 dev: true + /sonic-forest@1.0.3(tslib@2.6.2): + resolution: {integrity: sha512-dtwajos6IWMEWXdEbW1IkEkyL2gztCAgDplRIX+OT5aRKnEd5e7r7YCxRgXZdhRP1FBdOBf8axeTPhzDv8T4wQ==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + dependencies: + tree-dump: 1.0.1(tslib@2.6.2) + tslib: 2.6.2 + dev: true + /sort-keys-length@1.0.1: resolution: {integrity: sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==} engines: {node: '>=0.10.0'} @@ -30024,6 +32398,11 @@ packages: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} + /source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + dev: true + /source-map-loader@3.0.2(webpack@5.88.0): resolution: {integrity: sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==} engines: {node: '>= 12.13.0'} @@ -30036,7 +32415,7 @@ packages: webpack: 5.88.0(@swc/core@1.3.86)(esbuild@0.19.5)(webpack-cli@5.1.4) dev: true - /source-map-loader@5.0.0(webpack@5.90.3): + /source-map-loader@5.0.0(webpack@5.91.0): resolution: {integrity: sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA==} engines: {node: '>= 18.12.0'} peerDependencies: @@ -30044,7 +32423,7 @@ packages: dependencies: iconv-lite: 0.6.3 source-map-js: 1.0.2 - webpack: 5.90.3(@swc/core@1.3.86)(esbuild@0.20.1)(webpack-cli@5.1.4) + webpack: 5.91.0(@swc/core@1.3.86)(esbuild@0.21.3)(webpack-cli@5.1.4) dev: true /source-map-support@0.5.13: @@ -30964,7 +33343,7 @@ packages: webpack: 5.90.1(@swc/core@1.3.86)(esbuild@0.19.5)(webpack-cli@5.1.4) dev: true - /terser-webpack-plugin@5.3.10(@swc/core@1.3.86)(esbuild@0.20.1)(webpack@5.90.3): + /terser-webpack-plugin@5.3.10(@swc/core@1.3.86)(esbuild@0.21.3)(webpack@5.91.0): resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -30982,12 +33361,12 @@ packages: dependencies: '@jridgewell/trace-mapping': 0.3.25 '@swc/core': 1.3.86(@swc/helpers@0.5.3) - esbuild: 0.20.1 + esbuild: 0.21.3 jest-worker: 27.5.1 schema-utils: 3.2.0 serialize-javascript: 6.0.2 terser: 5.29.1 - webpack: 5.90.3(@swc/core@1.3.86)(esbuild@0.20.1)(webpack-cli@5.1.4) + webpack: 5.91.0(@swc/core@1.3.86)(esbuild@0.21.3)(webpack-cli@5.1.4) dev: true /terser-webpack-plugin@5.3.6(@swc/core@1.3.86)(esbuild@0.19.5)(webpack@5.88.0): @@ -31038,7 +33417,7 @@ packages: jest-worker: 27.5.1 schema-utils: 3.2.0 serialize-javascript: 6.0.1 - terser: 5.27.0 + terser: 5.29.1 webpack: 5.88.0(@swc/core@1.3.86)(esbuild@0.19.5)(webpack-cli@5.1.4) /terser@5.17.1: @@ -31052,8 +33431,8 @@ packages: source-map-support: 0.5.21 dev: true - /terser@5.27.0: - resolution: {integrity: sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==} + /terser@5.29.1: + resolution: {integrity: sha512-lZQ/fyaIGxsbGxApKmoPTODIzELy3++mXhS5hOqaAWZjQtpq/hFHAc+rm29NND1rYRxRWKcjuARNwULNXa5RtQ==} engines: {node: '>=10'} hasBin: true dependencies: @@ -31062,8 +33441,8 @@ packages: commander: 2.20.3 source-map-support: 0.5.21 - /terser@5.29.1: - resolution: {integrity: sha512-lZQ/fyaIGxsbGxApKmoPTODIzELy3++mXhS5hOqaAWZjQtpq/hFHAc+rm29NND1rYRxRWKcjuARNwULNXa5RtQ==} + /terser@5.31.0: + resolution: {integrity: sha512-Q1JFAoUKE5IMfI4Z/lkE/E6+SwgzO+x4tq4v1AyBLRj8VSYvRO6A/rQrPg1yud4g0En9EKI1TvFRF2tQFcoUkg==} engines: {node: '>=10'} hasBin: true dependencies: @@ -31102,6 +33481,15 @@ packages: dependencies: any-promise: 1.3.0 + /thingies@1.21.0(tslib@2.6.2): + resolution: {integrity: sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==} + engines: {node: '>=10.18'} + peerDependencies: + tslib: ^2 + dependencies: + tslib: 2.6.2 + dev: true + /thread-stream@0.15.2: resolution: {integrity: sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==} dependencies: @@ -31272,6 +33660,15 @@ packages: resolution: {integrity: sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==} dev: true + /tree-dump@1.0.1(tslib@2.6.2): + resolution: {integrity: sha512-WCkcRBVPSlHHq1dc/px9iOfqklvzCbdRwvlNfxGZsrHqf6aZttfPrd7DJTt6oR10dwUfpFFQeVTkPbBIZxX/YA==} + engines: {node: '>=10.0'} + peerDependencies: + tslib: '2' + dependencies: + tslib: 2.6.2 + dev: true + /tree-kill@1.2.2: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true @@ -31718,9 +34115,9 @@ packages: '@fastify/busboy': 2.0.0 dev: true - /undici@6.7.1: - resolution: {integrity: sha512-+Wtb9bAQw6HYWzCnxrPTMVEV3Q1QjYanI0E4q02ehReMuquQdLTEFEYbfs7hcImVYKcQkWSwT6buEmSVIiDDtQ==} - engines: {node: '>=18.0'} + /undici@6.18.0: + resolution: {integrity: sha512-nT8jjv/fE9Et1ilR6QoW8ingRTY2Pp4l2RUrdzV5Yz35RJDrtPc1DXvuNqcpsJSGIRHFdt3YKKktTzJA6r0fTA==} + engines: {node: '>=18.17'} dev: true /unenv@1.9.0: @@ -31958,7 +34355,7 @@ packages: '@rollup/pluginutils': 5.1.0(rollup@4.14.3) '@vue-macros/common': 1.10.1(rollup@4.14.3)(vue@3.4.15) ast-walker-scope: 0.5.0(rollup@4.14.3) - chokidar: 3.5.3 + chokidar: 3.6.0 fast-glob: 3.3.2 json5: 2.2.3 local-pkg: 0.4.3 @@ -31977,7 +34374,7 @@ packages: resolution: {integrity: sha512-BfJEpWBu3aE/AyHx8VaNE/WgouoQxgH9baAiH82JjX8cqVyi3uJQstqwD5J+SZxIK326SZIhsSZlALXVBCknTQ==} dependencies: acorn: 8.11.3 - chokidar: 3.5.3 + chokidar: 3.6.0 webpack-sources: 3.2.3 webpack-virtual-modules: 0.6.1 dev: true @@ -32024,7 +34421,7 @@ packages: optional: true dependencies: anymatch: 3.1.3 - chokidar: 3.5.3 + chokidar: 3.6.0 destr: 2.0.2 h3: 1.10.1 ioredis: 5.3.2 @@ -32552,13 +34949,13 @@ packages: '@babel/code-frame': 7.23.5 ansi-escapes: 4.3.2 chalk: 4.1.2 - chokidar: 3.5.3 + chokidar: 3.6.0 commander: 8.3.0 eslint: 8.57.0 fast-glob: 3.2.7 fs-extra: 11.2.0 npm-run-path: 4.0.1 - semver: 7.6.0 + semver: 7.6.2 strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 5.4.2 @@ -32731,8 +35128,8 @@ packages: fsevents: 2.3.3 dev: true - /vite@5.1.5(@types/node@18.19.8)(less@4.2.0)(sass@1.71.1)(stylus@0.59.0)(terser@5.29.1): - resolution: {integrity: sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==} + /vite@5.2.11(@types/node@18.19.8)(less@4.2.0)(sass@1.77.2)(stylus@0.59.0)(terser@5.31.0): + resolution: {integrity: sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -32760,13 +35157,13 @@ packages: optional: true dependencies: '@types/node': 18.19.8 - esbuild: 0.19.5 + esbuild: 0.20.1 less: 4.2.0 - postcss: 8.4.35 + postcss: 8.4.38 rollup: 4.14.3 - sass: 1.71.1 + sass: 1.77.2 stylus: 0.59.0 - terser: 5.29.1 + terser: 5.31.0 optionalDependencies: fsevents: 2.3.3 dev: true @@ -32841,7 +35238,7 @@ packages: engines: {vscode: ^1.52.0} dependencies: minimatch: 3.1.2 - semver: 7.6.0 + semver: 7.6.2 vscode-languageserver-protocol: 3.16.0 dev: true @@ -32934,6 +35331,14 @@ packages: glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 + /watchpack@2.4.1: + resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==} + engines: {node: '>=10.13.0'} + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + dev: true + /wbuf@1.7.3: resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} dependencies: @@ -32945,6 +35350,10 @@ packages: defaults: 1.0.4 dev: true + /weak-lru-cache@1.2.2: + resolution: {integrity: sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==} + dev: true + /weak-napi@2.0.2: resolution: {integrity: sha512-LcOSVFrghtVXf4QH+DLIy8iPiCktV7lVbqRDYP+bDPpLzC41RCHQPMyQOnPpWO41Ie4CmnDxS+mbL72r5xFMMQ==} requiresBuild: true @@ -33027,20 +35436,6 @@ packages: schema-utils: 4.2.0 webpack: 5.88.0(@swc/core@1.3.86)(esbuild@0.19.5)(webpack-cli@5.1.4) - /webpack-dev-middleware@5.3.3(webpack@5.90.3): - resolution: {integrity: sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==} - engines: {node: '>= 12.13.0'} - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - dependencies: - colorette: 2.0.20 - memfs: 3.5.0 - mime-types: 2.1.35 - range-parser: 1.2.1 - schema-utils: 4.2.0 - webpack: 5.90.3(@swc/core@1.3.86)(esbuild@0.20.1)(webpack-cli@5.1.4) - dev: true - /webpack-dev-middleware@6.1.1(webpack@5.88.0): resolution: {integrity: sha512-y51HrHaFeeWir0YO4f0g+9GwZawuigzcAdRNon6jErXy/SqV/+O6eaVAzDqE6t3e3NpGeR5CS+cCDaTC+V3yEQ==} engines: {node: '>= 14.15.0'} @@ -33058,9 +35453,9 @@ packages: webpack: 5.88.0(@swc/core@1.3.86)(esbuild@0.19.5)(webpack-cli@5.1.4) dev: true - /webpack-dev-middleware@6.1.1(webpack@5.90.3): - resolution: {integrity: sha512-y51HrHaFeeWir0YO4f0g+9GwZawuigzcAdRNon6jErXy/SqV/+O6eaVAzDqE6t3e3NpGeR5CS+cCDaTC+V3yEQ==} - engines: {node: '>= 14.15.0'} + /webpack-dev-middleware@7.2.1(webpack@5.91.0): + resolution: {integrity: sha512-hRLz+jPQXo999Nx9fXVdKlg/aehsw1ajA9skAneGmT03xwmyuhvF93p6HUKKbWhXdcERtGTzUCtIQr+2IQegrA==} + engines: {node: '>= 18.12.0'} peerDependencies: webpack: ^5.0.0 peerDependenciesMeta: @@ -33068,11 +35463,12 @@ packages: optional: true dependencies: colorette: 2.0.20 - memfs: 3.5.0 + memfs: 4.9.2 mime-types: 2.1.35 + on-finished: 2.4.1 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.90.3(@swc/core@1.3.86)(esbuild@0.20.1)(webpack-cli@5.1.4) + webpack: 5.91.0(@swc/core@1.3.86)(esbuild@0.21.3)(webpack-cli@5.1.4) dev: true /webpack-dev-server@4.11.1(webpack-cli@5.1.4)(webpack@5.88.0): @@ -33175,12 +35571,12 @@ packages: - utf-8-validate dev: true - /webpack-dev-server@4.15.1(webpack-cli@5.1.4)(webpack@5.90.3): - resolution: {integrity: sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==} - engines: {node: '>= 12.13.0'} + /webpack-dev-server@5.0.4(webpack-cli@5.1.4)(webpack@5.91.0): + resolution: {integrity: sha512-dljXhUgx3HqKP2d8J/fUMvhxGhzjeNVarDLcbO/EWMSgRizDkxHQDZQaLFL5VJY9tRBj2Gz+rvCEYYvhbqPHNA==} + engines: {node: '>= 18.12.0'} hasBin: true peerDependencies: - webpack: ^4.37.0 || ^5.0.0 + webpack: ^5.0.0 webpack-cli: '*' peerDependenciesMeta: webpack: @@ -33188,37 +35584,37 @@ packages: webpack-cli: optional: true dependencies: - '@types/bonjour': 3.5.10 - '@types/connect-history-api-fallback': 1.3.5 - '@types/express': 4.17.14 - '@types/serve-index': 1.9.1 - '@types/serve-static': 1.15.2 - '@types/sockjs': 0.3.33 - '@types/ws': 8.5.5 + '@types/bonjour': 3.5.13 + '@types/connect-history-api-fallback': 1.5.4 + '@types/express': 4.17.21 + '@types/serve-index': 1.9.4 + '@types/serve-static': 1.15.7 + '@types/sockjs': 0.3.36 + '@types/ws': 8.5.10 ansi-html-community: 0.0.8 - bonjour-service: 1.0.14 - chokidar: 3.5.3 + bonjour-service: 1.2.1 + chokidar: 3.6.0 colorette: 2.0.20 compression: 1.7.4 connect-history-api-fallback: 2.0.0 default-gateway: 6.0.3 - express: 4.18.2 + express: 4.19.2 graceful-fs: 4.2.11 - html-entities: 2.3.3 - http-proxy-middleware: 2.0.6(@types/express@4.17.14) - ipaddr.js: 2.0.1 + html-entities: 2.5.2 + http-proxy-middleware: 2.0.6(@types/express@4.17.21) + ipaddr.js: 2.2.0 launch-editor: 2.6.1 - open: 8.4.2 - p-retry: 4.6.2 - rimraf: 3.0.2 + open: 10.0.3 + p-retry: 6.2.0 + rimraf: 5.0.7 schema-utils: 4.2.0 - selfsigned: 2.1.1 + selfsigned: 2.4.1 serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack: 5.90.3(@swc/core@1.3.86)(esbuild@0.20.1)(webpack-cli@5.1.4) + webpack: 5.91.0(@swc/core@1.3.86)(esbuild@0.21.3)(webpack-cli@5.1.4) webpack-cli: 5.1.4(webpack-dev-server@4.11.1)(webpack@5.88.0) - webpack-dev-middleware: 5.3.3(webpack@5.90.3) + webpack-dev-middleware: 7.2.1(webpack@5.91.0) ws: 8.16.0 transitivePeerDependencies: - bufferutil @@ -33275,7 +35671,7 @@ packages: webpack: 5.88.0(@swc/core@1.3.86)(esbuild@0.19.5)(webpack-cli@5.1.4) dev: true - /webpack-subresource-integrity@5.1.0(html-webpack-plugin@5.5.0)(webpack@5.90.3): + /webpack-subresource-integrity@5.1.0(html-webpack-plugin@5.5.0)(webpack@5.91.0): resolution: {integrity: sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==} engines: {node: '>= 12'} peerDependencies: @@ -33287,7 +35683,7 @@ packages: dependencies: html-webpack-plugin: 5.5.0(webpack@5.88.0) typed-assert: 1.0.9 - webpack: 5.90.3(@swc/core@1.3.86)(esbuild@0.20.1)(webpack-cli@5.1.4) + webpack: 5.91.0(@swc/core@1.3.86)(esbuild@0.21.3)(webpack-cli@5.1.4) dev: true /webpack-virtual-modules@0.5.0: @@ -33379,8 +35775,8 @@ packages: - uglify-js dev: true - /webpack@5.90.3(@swc/core@1.3.86)(esbuild@0.20.1)(webpack-cli@5.1.4): - resolution: {integrity: sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==} + /webpack@5.91.0(@swc/core@1.3.86)(esbuild@0.21.3)(webpack-cli@5.1.4): + resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -33391,14 +35787,14 @@ packages: dependencies: '@types/eslint-scope': 3.7.4 '@types/estree': 1.0.5 - '@webassemblyjs/ast': 1.11.6 - '@webassemblyjs/wasm-edit': 1.11.6 - '@webassemblyjs/wasm-parser': 1.11.6 + '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/wasm-edit': 1.12.1 + '@webassemblyjs/wasm-parser': 1.12.1 acorn: 8.11.3 acorn-import-assertions: 1.9.0(acorn@8.11.3) browserslist: 4.23.0 chrome-trace-event: 1.0.3 - enhanced-resolve: 5.15.0 + enhanced-resolve: 5.16.1 es-module-lexer: 1.4.1 eslint-scope: 5.1.1 events: 3.3.0 @@ -33410,8 +35806,8 @@ packages: neo-async: 2.6.2 schema-utils: 3.2.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.3.86)(esbuild@0.20.1)(webpack@5.90.3) - watchpack: 2.4.0 + terser-webpack-plugin: 5.3.10(@swc/core@1.3.86)(esbuild@0.21.3)(webpack@5.91.0) + watchpack: 2.4.1 webpack-cli: 5.1.4(webpack-dev-server@4.11.1)(webpack@5.88.0) webpack-sources: 3.2.3 transitivePeerDependencies: