From 899dcf25a7c9af328b7113ebad6f99ad6a895824 Mon Sep 17 00:00:00 2001 From: Alexander Gebuhr Date: Thu, 12 Sep 2024 08:35:30 +0200 Subject: [PATCH 01/20] Update of version from v18 to v19 --- .npmrc | 4 +- CHANGELOG.md | 11 + README.md | 24 +- angular.json | 6 +- apps/demo-e2e/protractor.conf.azure.js | 2 +- apps/demo-e2e/protractor.conf.js | 2 +- apps/demo/karma.conf.js | 2 +- .../editor-menu/editor-menu.component.ts | 3 +- apps/demo/src/assets/config.json | 12 +- apps/demo/src/assets/config.prod.json | 12 +- dynamic-forms-cd.yml | 4 +- dynamic-forms-ci.yml | 4 +- dynamic-forms-e2e.yml | 4 +- dynamic-forms-publish.yml | 4 +- .../dynamic-form-input-mask.module.spec.ts | 16 +- .../src/lib/dynamic-form-input-mask.module.ts | 15 +- libs/bootstrap/karma.conf.js | 2 +- libs/bootstrap/ng-package.json | 2 +- libs/bootstrap/package.json | 7 +- .../dynamic-form-action.module.spec.ts | 9 +- .../dynamic-form-action.module.ts | 9 +- .../dynamic-form-element.module.spec.ts | 38 +- .../dynamic-form-element.module.ts | 15 +- .../dynamic-form-accordion.component.spec.ts | 2 - .../dynamic-form-accordion.module.spec.ts | 8 +- .../dynamic-form-accordion.module.ts | 11 +- .../dynamic-form-items.module.ts | 14 - .../dynamic-form-tabs.component.spec.ts | 2 - .../dynamic-form-tabs.module.spec.ts | 8 +- .../dynamic-form-tabs.module.ts | 11 +- .../dynamic-form-modal.component.spec.ts | 2 - .../dynamic-form-modal.module.spec.ts | 8 +- .../dynamic-form-modal.module.ts | 24 +- ...amic-form-control-errors.component.spec.ts | 2 - ...dynamic-form-control-errors.module.spec.ts | 10 +- .../dynamic-form-control-errors.module.ts | 11 +- ...namic-form-control-hints.component.spec.ts | 2 - .../dynamic-form-control-hints.module.spec.ts | 10 +- .../dynamic-form-control-hints.module.ts | 22 +- ...namic-form-control-label.component.spec.ts | 2 - .../dynamic-form-control-label.module.spec.ts | 10 +- .../dynamic-form-control-label.module.ts | 11 +- .../dynamic-form-field-wrapper.module.ts | 27 +- .../dynamic-form-input.module.spec.ts | 6 +- .../dynamic-form-input.module.ts | 16 - .../src/lib/dynamic-forms.module.spec.ts | 5 +- .../bootstrap/src/lib/dynamic-forms.module.ts | 26 +- libs/bootstrap/src/public_api.ts | 1 - libs/core/karma.conf.js | 2 +- libs/core/ng-package.json | 2 +- libs/core/package.json | 5 +- .../dynamic-form-action.module.spec.ts | 38 +- .../dynamic-form-action.module.ts | 39 +- .../dynamic-form-icon.module.spec.ts | 11 +- .../dynamic-form-icon.module.ts | 16 +- .../dynamic-form-array.component.spec.ts | 2 - .../dynamic-form-array.module.spec.ts | 7 +- .../dynamic-form-array.module.ts | 22 +- .../dynamic-form-config.module.spec.ts | 93 +- .../dynamic-form-config.module.ts | 88 +- .../dynamic-form-control.component.spec.ts | 2 - .../dynamic-form-control.module.spec.ts | 7 +- .../dynamic-form-control.module.ts | 17 +- .../dynamic-form-dictionary.component.spec.ts | 2 - .../dynamic-form-dictionary.module.spec.ts | 7 +- .../dynamic-form-dictionary.module.ts | 22 +- .../dynamic-form-element.component.spec.ts | 2 - .../dynamic-form-element.module.spec.ts | 3 +- .../dynamic-form-element.module.ts | 10 - .../dynamic-form-elements.component.spec.ts | 2 - .../dynamic-form-modal.module.spec.ts | 6 +- .../dynamic-form-modal.module.ts | 16 +- .../dynamic-form-error.module.spec.ts | 32 +- .../dynamic-form-error.module.ts | 40 +- .../dynamic-form-evaluation.module.spec.ts | 25 +- .../dynamic-form-evaluation.module.ts | 24 +- .../dynamic-form-field.module.spec.ts | 204 +- .../dynamic-form-field.module.ts | 16 +- .../dynamic-form-group.component.spec.ts | 2 - .../dynamic-form-group.module.spec.ts | 9 +- .../dynamic-form-group.module.ts | 20 +- .../dynamic-form-file.module.ts | 8 - .../dynamic-form-textbox.module.spec.ts | 6 +- .../dynamic-form-textbox.module.ts | 16 +- .../dynamic-form-library.module.spec.ts | 41 +- .../dynamic-form-library.module.ts | 16 +- .../dynamic-form-theme.module.spec.ts | 11 +- .../dynamic-form-theme.module.ts | 16 +- .../dynamic-form-validation.module.spec.ts | 60 +- .../dynamic-form-validation.module.ts | 139 - .../dynamic-form-validation.service.spec.ts | 3 +- .../core/src/lib/dynamic-forms.module.spec.ts | 18 - libs/core/src/lib/dynamic-forms.module.ts | 21 +- libs/karma.conf.js | 4 +- libs/markdown/karma.conf.js | 2 +- libs/markdown/ng-package.json | 2 +- libs/markdown/package.json | 7 +- .../lib/dynamic-form-markdown.module.spec.ts | 8 +- .../src/lib/dynamic-form-markdown.module.ts | 15 +- .../lib/dynamic-form-markdown.service.spec.ts | 4 +- .../dynamic-form-input-mask.module.spec.ts | 16 +- .../src/lib/dynamic-form-input-mask.module.ts | 15 +- libs/material/karma.conf.js | 2 +- libs/material/ng-package.json | 2 +- libs/material/package.json | 7 +- .../dynamic-form-action.module.spec.ts | 13 +- .../dynamic-form-action.module.ts | 21 +- .../dynamic-form-element.module.spec.ts | 38 +- .../dynamic-form-element.module.ts | 15 +- .../dynamic-form-accordion.component.spec.ts | 2 - .../dynamic-form-accordion.module.spec.ts | 8 +- .../dynamic-form-accordion.module.ts | 23 +- .../dynamic-form-items.module.ts | 14 - .../dynamic-form-tabs.component.spec.ts | 2 - .../dynamic-form-tabs.module.spec.ts | 8 +- .../dynamic-form-tabs.module.ts | 23 +- .../dynamic-form-modal.component.spec.ts | 3 +- .../dynamic-form-modal.module.spec.ts | 8 +- .../dynamic-form-modal.module.ts | 23 +- .../dynamic-form-input.module.spec.ts | 6 +- .../dynamic-form-input.module.ts | 16 - .../src/lib/dynamic-forms.module.spec.ts | 5 +- libs/material/src/lib/dynamic-forms.module.ts | 27 +- libs/material/src/public_api.ts | 1 - package-lock.json | 5315 +++++++++++------ package.json | 57 +- tsconfig.json | 14 +- 127 files changed, 3935 insertions(+), 3397 deletions(-) delete mode 100644 libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-items.module.ts delete mode 100644 libs/material/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-items.module.ts diff --git a/.npmrc b/.npmrc index c83fbeb3..dc34a6fa 100644 --- a/.npmrc +++ b/.npmrc @@ -1 +1,3 @@ -@dynamic-forms:registry=https://registry.npmjs.org \ No newline at end of file +@dynamic-forms:registry=https://registry.npmjs.org + +legacy-peer-deps=true \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f5b6117..d9207827 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,16 @@ # Changelog +## 19.0.0-next.0 + +* **core:** update to angular 19(next) +* **core:** removed all deprecated modules +* **bootstrap:** update to angular 19 (next) +* **bootstrap:** removed all deprecated modules +* **material:** update to angular and angular material 19 (next) +* **material:** removed all deprecated modules +* **markdown:** update to angular 19 (next) +* **markdown:** removed all deprecated modules + ## 18.1.0 (2024-09-28) * Release without any notable changes in comparison to 18.1.0-rc.0 diff --git a/README.md b/README.md index ce1d1135..98b1f406 100644 --- a/README.md +++ b/README.md @@ -65,6 +65,13 @@ This is an [**Angular**](https://angular.dev) project for dynamic forms based on ## **Packages** +### **Version 19** [![Build Status](https://dev.azure.com/alexandergebuhr/dynamic-forms/_apis/build/status/dynamic-forms-publish?branchName=refs/tags/19.0.0-next.0)](https://dev.azure.com/alexandergebuhr/dynamic-forms/_build/latest?definitionId=45&branchName=refs/tags/19.0.0-next.0) + +- `npm install @dynamic-forms/core@19.0.0-next.0` +- `npm install @dynamic-forms/bootstrap@19.0.0-next.0` +- `npm install @dynamic-forms/material@19.0.0-next.0` +- `npm install @dynamic-forms/markdown@19.0.0-next.0` + ### **Version 18** [![Build Status](https://dev.azure.com/alexandergebuhr/dynamic-forms/_apis/build/status/dynamic-forms-publish?branchName=refs/tags/18.1.0)](https://dev.azure.com/alexandergebuhr/dynamic-forms/_build/latest?definitionId=45&branchName=refs/tags/18.1.0) - `npm install @dynamic-forms/core@18.1.0` @@ -93,14 +100,12 @@ This is an [**Angular**](https://angular.dev) project for dynamic forms based on - `npm install @dynamic-forms/material@15.1.0` - `npm install @dynamic-forms/markdown@15.1.0` -### **Version 14** [![Build Status](https://dev.azure.com/alexandergebuhr/dynamic-forms/_apis/build/status/v14/dynamic-forms-v14-publish?branchName=refs/tags/14.1.0)](https://dev.azure.com/alexandergebuhr/dynamic-forms/_build/latest?definitionId=32&branchName=refs/tags/14.1.0) +## **Demos** -- `npm install @dynamic-forms/core@14.1.0` -- `npm install @dynamic-forms/bootstrap@14.1.0` -- `npm install @dynamic-forms/material@14.1.0` -- `npm install @dynamic-forms/markdown@14.1.0` +### **Version 19** [![Build Status](https://dev.azure.com/alexandergebuhr/dynamic-forms/_apis/build/status/dynamic-forms-cd?branchName=19.0.x)](https://dev.azure.com/alexandergebuhr/dynamic-forms/_build/latest?definitionId=43&branchName=19.0.x) -## **Demos** +- Built with [Angular 19](https://next.angular.dev/) +- Environments include [DEV](https://dynamic-forms.azurewebsites.net/v19/dev/) and [PROD](https://dynamic-forms.azurewebsites.net/v19/) ### **Version 18** [![Build Status](https://dev.azure.com/alexandergebuhr/dynamic-forms/_apis/build/status/dynamic-forms-cd?branchName=18.1.x)](https://dev.azure.com/alexandergebuhr/dynamic-forms/_build/latest?definitionId=43&branchName=18.1.x) @@ -120,9 +125,4 @@ This is an [**Angular**](https://angular.dev) project for dynamic forms based on ### **Version 15** [![Build Status](https://dev.azure.com/alexandergebuhr/dynamic-forms/_apis/build/status/dynamic-forms-v15-cd?branchName=15.0.x)](https://dev.azure.com/alexandergebuhr/dynamic-forms/_build/latest?definitionId=39&branchName=15.0.x) - Built with [Angular 15](https://v15.angular.io/) -- Environments include [DEV](https://dynamic-forms.azurewebsites.net/v15/dev/) and [PROD](https://dynamic-forms.azurewebsites.net/v15/) - -### **Version 14** [![Build Status](https://dev.azure.com/alexandergebuhr/dynamic-forms/_apis/build/status/dynamic-forms-v14-cd?branchName=14.0.x)](https://dev.azure.com/alexandergebuhr/dynamic-forms/_build/latest?definitionId=30&branchName=14.0.x) - -- Built with [Angular 14](https://v14.angular.io/) -- Environments include [DEV](https://dynamic-forms.azurewebsites.net/v14/dev/) and [PROD](https://dynamic-forms.azurewebsites.net/v14/) \ No newline at end of file +- Environments include [DEV](https://dynamic-forms.azurewebsites.net/v15/dev/) and [PROD](https://dynamic-forms.azurewebsites.net/v15/) \ No newline at end of file diff --git a/angular.json b/angular.json index 923d0460..706f4d19 100644 --- a/angular.json +++ b/angular.json @@ -203,7 +203,7 @@ "builder": "@angular-devkit/build-angular:application", "options": { "outputPath": { - "base": "dist/v18/@dynamic-forms/demo", + "base": "dist/v19/@dynamic-forms/demo", "browser": "" }, "index": "apps/demo/src/index.html", @@ -246,7 +246,7 @@ ], "stylePreprocessorOptions": { "includePaths": [ - "dist/v18" + "dist/v19" ] }, "styles": [ @@ -316,7 +316,7 @@ ], "stylePreprocessorOptions": { "includePaths": [ - "dist/v18" + "dist/v19" ] }, "styles": [ diff --git a/apps/demo-e2e/protractor.conf.azure.js b/apps/demo-e2e/protractor.conf.azure.js index edc220e0..35103b1f 100644 --- a/apps/demo-e2e/protractor.conf.azure.js +++ b/apps/demo-e2e/protractor.conf.azure.js @@ -16,7 +16,7 @@ const specReporter = new SpecReporter({ }); const beautifulReporter = new BeautifulReporter({ - baseDirectory: 'dist/v18/e2e', + baseDirectory: 'dist/v19/e2e', screenshotsSubfolder: 'screenshots', jsonsSubfolder: 'jsons', takeScreenShotsOnlyForFailedSpecs: false, diff --git a/apps/demo-e2e/protractor.conf.js b/apps/demo-e2e/protractor.conf.js index b5eb4bca..4cec3ba7 100644 --- a/apps/demo-e2e/protractor.conf.js +++ b/apps/demo-e2e/protractor.conf.js @@ -11,7 +11,7 @@ const specReporter = new SpecReporter({ }); const beautifulReporter = new BeautifulReporter({ - baseDirectory: 'dist/v18/e2e', + baseDirectory: 'dist/v19/e2e', screenshotsSubfolder: 'screenshots', jsonsSubfolder: 'jsons', takeScreenShotsOnlyForFailedSpecs: false, diff --git a/apps/demo/karma.conf.js b/apps/demo/karma.conf.js index a61c66d5..2b355d20 100644 --- a/apps/demo/karma.conf.js +++ b/apps/demo/karma.conf.js @@ -17,7 +17,7 @@ module.exports = function (config) { clearContext: false // leave Jasmine Spec Runner output visible in browser }, junitReporter: { - outputDir: require('path').join(__dirname, '../../dist/v18/tests'), + outputDir: require('path').join(__dirname, '../../dist/v19/tests'), outputFile: 'dynamic-forms-demo.junit.xml', useBrowserName: false }, diff --git a/apps/demo/src/app/layout/header/editor-menu/editor-menu.component.ts b/apps/demo/src/app/layout/header/editor-menu/editor-menu.component.ts index 365754f9..0eb7ec47 100644 --- a/apps/demo/src/app/layout/header/editor-menu/editor-menu.component.ts +++ b/apps/demo/src/app/layout/header/editor-menu/editor-menu.component.ts @@ -3,7 +3,6 @@ import { Component } from '@angular/core'; import { MatButtonModule } from '@angular/material/button'; import { MatIconModule } from '@angular/material/icon'; import { MatMenuModule } from '@angular/material/menu'; -import { RouterLink, RouterLinkActive } from '@angular/router'; import { Select } from '@ngxs/store'; import { Observable } from 'rxjs'; import { ExampleMenuItem } from '../../../state/examples/examples.model'; @@ -14,7 +13,7 @@ import { EditorMenuPanelComponent } from './editor-menu-panel.component'; standalone: true, selector: 'app-editor-menu', templateUrl: './editor-menu.component.html', - imports: [AsyncPipe, RouterLink, RouterLinkActive, MatButtonModule, MatIconModule, MatMenuModule, EditorMenuPanelComponent], + imports: [AsyncPipe, MatButtonModule, MatIconModule, MatMenuModule, EditorMenuPanelComponent], }) export class EditorMenuComponent { @Select(ExamplesState.menuItems) diff --git a/apps/demo/src/assets/config.json b/apps/demo/src/assets/config.json index 17f8aba2..3872ac47 100644 --- a/apps/demo/src/assets/config.json +++ b/apps/demo/src/assets/config.json @@ -1,5 +1,5 @@ { - "version": "18.1.0", + "version": "19.0.0-next.0", "build": "187", "buildUrl": "https://dev.azure.com/alexandergebuhr/dynamic-forms/_build?definitionId=39&_a=summary", "release": "17", @@ -9,12 +9,16 @@ }, "repository": { "url": "https://github.com/dynamic-forms/dynamic-forms", - "branch": "18.1.x", + "branch": "19.0.x", "branchPath": "tree/{{branch}}", "libraryPath": "libs/{{library}}", "commit": null }, "versions": [ + { + "name": "19.0.0-next.0", + "url": "https://dynamic-forms.azurewebsites.net/v19/dev" + }, { "name": "18.1.0", "url": "https://dynamic-forms.azurewebsites.net/v18/dev" @@ -30,10 +34,6 @@ { "name": "15.1.0", "url": "https://dynamic-forms.azurewebsites.net/v15/dev" - }, - { - "name": "14.1.0", - "url": "https://dynamic-forms.azurewebsites.net/v14/dev" } ] } diff --git a/apps/demo/src/assets/config.prod.json b/apps/demo/src/assets/config.prod.json index 3bb18e01..48d62604 100644 --- a/apps/demo/src/assets/config.prod.json +++ b/apps/demo/src/assets/config.prod.json @@ -1,5 +1,5 @@ { - "version": "18.1.0", + "version": "19.0.0-next.0", "build": "187", "buildUrl": "https://dev.azure.com/alexandergebuhr/dynamic-forms/_build?definitionId=39&_a=summary", "release": "17", @@ -9,12 +9,16 @@ }, "repository": { "url": "https://github.com/dynamic-forms/dynamic-forms", - "branch": "18.1.x", + "branch": "19.0.x", "branchPath": "tree/{{branch}}", "libraryPath": "libs/{{library}}", "commit": null }, "versions": [ + { + "name": "19.0.0-next.0", + "url": "https://dynamic-forms.azurewebsites.net/v19" + }, { "name": "18.1.0", "url": "https://dynamic-forms.azurewebsites.net/v18" @@ -30,10 +34,6 @@ { "name": "15.1.0", "url": "https://dynamic-forms.azurewebsites.net/v15" - }, - { - "name": "14.1.0", - "url": "https://dynamic-forms.azurewebsites.net/v14" } ] } diff --git a/dynamic-forms-cd.yml b/dynamic-forms-cd.yml index 807d14e6..bcc656d5 100644 --- a/dynamic-forms-cd.yml +++ b/dynamic-forms-cd.yml @@ -8,9 +8,9 @@ pool: variables: - name: branch_pattern - value: 18.*.x + value: 19.*.x - name: major_version_name - value: v18 + value: v19 steps: - task: Npm@1 diff --git a/dynamic-forms-ci.yml b/dynamic-forms-ci.yml index aa4a5b9a..cf7d9d25 100644 --- a/dynamic-forms-ci.yml +++ b/dynamic-forms-ci.yml @@ -8,9 +8,9 @@ pool: variables: - name: branch_pattern - value: 18.*.x + value: 19.*.x - name: major_version_name - value: v18 + value: v19 steps: - task: Npm@1 diff --git a/dynamic-forms-e2e.yml b/dynamic-forms-e2e.yml index f1fb03dc..3a52757e 100644 --- a/dynamic-forms-e2e.yml +++ b/dynamic-forms-e2e.yml @@ -8,9 +8,9 @@ pool: variables: - name: branch_pattern - value: 18.*.x + value: 19.*.x - name: major_version_name - value: v18 + value: v19 steps: - task: Npm@1 diff --git a/dynamic-forms-publish.yml b/dynamic-forms-publish.yml index 1f5ca559..1cd420b8 100644 --- a/dynamic-forms-publish.yml +++ b/dynamic-forms-publish.yml @@ -8,9 +8,9 @@ pool: variables: - name: branch_pattern - value: 18.*.x + value: 19.*.x - name: major_version_name - value: v18 + value: v19 steps: - task: Npm@1 diff --git a/libs/bootstrap/input-mask/src/lib/dynamic-form-input-mask.module.spec.ts b/libs/bootstrap/input-mask/src/lib/dynamic-form-input-mask.module.spec.ts index e7e3d7b0..7ef6e52b 100644 --- a/libs/bootstrap/input-mask/src/lib/dynamic-form-input-mask.module.spec.ts +++ b/libs/bootstrap/input-mask/src/lib/dynamic-form-input-mask.module.spec.ts @@ -3,18 +3,11 @@ import { bsDynamicFormLibrary } from '@dynamic-forms/bootstrap'; import { DYNAMIC_FORM_INPUT_TYPE_CONFIG, DynamicFormInputTypeConfig, provideDynamicForms } from '@dynamic-forms/core'; import { DynamicFormInputMaskConverterService } from '@dynamic-forms/core/input-mask'; import { withBsDynamicFormInputMaskConverters } from './dynamic-form-input-mask-converter'; -import { BsDynamicFormInputMaskModule, bsDynamicFormInputMaskType, withBsDynamicFormInputMask } from './dynamic-form-input-mask.module'; +import { bsDynamicFormInputMaskType, withBsDynamicFormInputMask } from './dynamic-form-input-mask.module'; describe('BsDynamicFormInputMaskModule', () => { describe('withBsDynamicFormInputMask', () => { const testModules: { name: string; def: TestModuleMetadata }[] = [ - { - name: 'BsDynamicFormInputMaskModule', - def: { - imports: [BsDynamicFormInputMaskModule], - providers: provideDynamicForms(bsDynamicFormLibrary), - }, - }, { name: 'provideDynamicForms', def: { providers: provideDynamicForms(bsDynamicFormLibrary, withBsDynamicFormInputMask()) }, @@ -45,13 +38,6 @@ describe('BsDynamicFormInputMaskModule', () => { describe('withBsDynamicFormInputMaskConverters', () => { const testModules: { name: string; def: TestModuleMetadata }[] = [ - { - name: 'BsDynamicFormInputMaskModule', - def: { - imports: [BsDynamicFormInputMaskModule], - providers: provideDynamicForms(bsDynamicFormLibrary, withBsDynamicFormInputMaskConverters()), - }, - }, { name: 'provideDynamicForms', def: { providers: provideDynamicForms(bsDynamicFormLibrary, withBsDynamicFormInputMask(), withBsDynamicFormInputMaskConverters()) }, diff --git a/libs/bootstrap/input-mask/src/lib/dynamic-form-input-mask.module.ts b/libs/bootstrap/input-mask/src/lib/dynamic-form-input-mask.module.ts index c1ad4a8a..801c9bc0 100644 --- a/libs/bootstrap/input-mask/src/lib/dynamic-form-input-mask.module.ts +++ b/libs/bootstrap/input-mask/src/lib/dynamic-form-input-mask.module.ts @@ -1,12 +1,5 @@ -import { NgModule } from '@angular/core'; import { bsDynamicFormLibrary } from '@dynamic-forms/bootstrap'; -import { - DynamicFormInputType, - DynamicFormsFeature, - importDynamicFormsProviders, - mergeDynamicFormsFeatures, - withDynamicFormInputs, -} from '@dynamic-forms/core'; +import { DynamicFormInputType, DynamicFormsFeature, mergeDynamicFormsFeatures, withDynamicFormInputs } from '@dynamic-forms/core'; import { DynamicFormInputMaskControl, withDynamicFormInputMaskConverterService } from '@dynamic-forms/core/input-mask'; import { BsDynamicFormInputMaskComponent } from './dynamic-form-input-mask.component'; @@ -20,9 +13,3 @@ export const bsDynamicFormInputMaskType: DynamicFormInputType = { export function withBsDynamicFormInputMask(): DynamicFormsFeature { return mergeDynamicFormsFeatures(withDynamicFormInputs(bsDynamicFormInputMaskType), withDynamicFormInputMaskConverterService()); } - -/** - * @deprecated Use {@link withBsDynamicFormInputMask} instead. - */ -@NgModule({ providers: importDynamicFormsProviders(withBsDynamicFormInputMask()) }) -export class BsDynamicFormInputMaskModule {} diff --git a/libs/bootstrap/karma.conf.js b/libs/bootstrap/karma.conf.js index 5d8a662a..cc77a901 100644 --- a/libs/bootstrap/karma.conf.js +++ b/libs/bootstrap/karma.conf.js @@ -17,7 +17,7 @@ module.exports = function (config) { clearContext: false // leave Jasmine Spec Runner output visible in browser }, junitReporter: { - outputDir: require('path').join(__dirname, '../../dist/v18/tests'), + outputDir: require('path').join(__dirname, '../../dist/v19/tests'), outputFile: 'dynamic-forms-bootstrap.junit.xml', useBrowserName: false }, diff --git a/libs/bootstrap/ng-package.json b/libs/bootstrap/ng-package.json index 08319176..94bb3108 100644 --- a/libs/bootstrap/ng-package.json +++ b/libs/bootstrap/ng-package.json @@ -1,6 +1,6 @@ { "$schema": "../../node_modules/ng-packagr/ng-package.schema.json", - "dest": "../../dist/v18/@dynamic-forms/bootstrap", + "dest": "../../dist/v19/@dynamic-forms/bootstrap", "lib": { "entryFile": "src/public_api.ts", "styleIncludePaths": ["assets"] diff --git a/libs/bootstrap/package.json b/libs/bootstrap/package.json index 959ecd9c..6e034347 100644 --- a/libs/bootstrap/package.json +++ b/libs/bootstrap/package.json @@ -1,6 +1,6 @@ { "name": "@dynamic-forms/bootstrap", - "version": "18.1.0", + "version": "19.0.0-next.0", "author": "dynamic-forms", "description": "dynamic-forms - component library using bootstrap", "keywords": [ @@ -24,14 +24,15 @@ "@angular/common": "^18.0.0", "@angular/core": "^18.0.0", "@angular/forms": "^18.0.0", - "@dynamic-forms/core": "18.1.0", + "@dynamic-forms/core": "19.0.0-next.0", "bootstrap": "^5.2.3", "inputmask": "^5.0.8", "rxjs": "^7.4.0" }, "publishConfig": { "registry": "https://registry.npmjs.org", - "access": "public" + "access": "public", + "tag": "next" }, "sideEffects": false } diff --git a/libs/bootstrap/src/lib/dynamic-form-action/dynamic-form-action.module.spec.ts b/libs/bootstrap/src/lib/dynamic-form-action/dynamic-form-action.module.spec.ts index a2688e5a..3f6b07ab 100644 --- a/libs/bootstrap/src/lib/dynamic-form-action/dynamic-form-action.module.spec.ts +++ b/libs/bootstrap/src/lib/dynamic-form-action/dynamic-form-action.module.spec.ts @@ -1,10 +1,9 @@ import { TestBed, TestModuleMetadata, inject } from '@angular/core/testing'; import { DYNAMIC_FORM_ACTION_TYPE_CONFIG, DynamicFormActionTypeConfig, importDynamicFormsProviders } from '@dynamic-forms/core'; -import { BsDynamicFormActionModule, bsDynamicFormActionTypes, withBsDynamicFormActionDefaultFeatures } from './dynamic-form-action.module'; +import { bsDynamicFormActionTypes, withBsDynamicFormActionDefaultFeatures } from './dynamic-form-action.module'; describe('BsDynamicFormActionModule', () => { const testModules: { name: string; def: TestModuleMetadata }[] = [ - { name: 'BsDynamicFormActionModule', def: { imports: [BsDynamicFormActionModule] } }, { name: 'withBsDynamicFormActionDefaultFeatures', def: { providers: importDynamicFormsProviders(...withBsDynamicFormActionDefaultFeatures()) }, @@ -17,9 +16,9 @@ describe('BsDynamicFormActionModule', () => { }); it('provides DYNAMIC_FORM_ACTION_TYPE_CONFIG', inject([DYNAMIC_FORM_ACTION_TYPE_CONFIG], (config: DynamicFormActionTypeConfig) => { - expect(config.length).toBe(4); - expect(config[2]).toEqual(bsDynamicFormActionTypes[0]); - expect(config[3]).toEqual(bsDynamicFormActionTypes[1]); + expect(config.length).toBe(2); + expect(config[0]).toEqual(bsDynamicFormActionTypes[0]); + expect(config[1]).toEqual(bsDynamicFormActionTypes[1]); })); }); }); diff --git a/libs/bootstrap/src/lib/dynamic-form-action/dynamic-form-action.module.ts b/libs/bootstrap/src/lib/dynamic-form-action/dynamic-form-action.module.ts index b790e276..2cab6758 100644 --- a/libs/bootstrap/src/lib/dynamic-form-action/dynamic-form-action.module.ts +++ b/libs/bootstrap/src/lib/dynamic-form-action/dynamic-form-action.module.ts @@ -1,5 +1,4 @@ -import { NgModule } from '@angular/core'; -import { DynamicFormsFeature, importDynamicFormsProviders, withDynamicFormActions } from '@dynamic-forms/core'; +import { DynamicFormsFeature, withDynamicFormActions } from '@dynamic-forms/core'; import { bsDynamicFormButtonType } from './dynamic-form-button/dynamic-form-button-type'; import { bsDynamicFormIconType } from './dynamic-form-icon/dynamic-form-icon-type'; @@ -8,9 +7,3 @@ export const bsDynamicFormActionTypes = [bsDynamicFormButtonType, bsDynamicFormI export function withBsDynamicFormActionDefaultFeatures(): DynamicFormsFeature[] { return [withDynamicFormActions(...bsDynamicFormActionTypes)]; } - -/** - * @deprecated Use {@link withBsDynamicFormActionDefaultFeatures} instead. - */ -@NgModule({ providers: importDynamicFormsProviders(...withBsDynamicFormActionDefaultFeatures()) }) -export class BsDynamicFormActionModule {} diff --git a/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-element.module.spec.ts b/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-element.module.spec.ts index b3090ae3..b337f39f 100644 --- a/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-element.module.spec.ts +++ b/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-element.module.spec.ts @@ -1,30 +1,18 @@ -import { TestBed, TestModuleMetadata, inject } from '@angular/core/testing'; +import { TestBed, inject } from '@angular/core/testing'; import { DYNAMIC_FORM_ELEMENT_TYPE_CONFIG, DynamicFormElementTypeConfig, importDynamicFormsProviders } from '@dynamic-forms/core'; -import { - BsDynamicFormElementModule, - bsDynamicFormElementTypes, - withBsDynamicFormElementDefaultFeatures, -} from './dynamic-form-element.module'; +import { bsDynamicFormElementTypes, withBsDynamicFormElementDefaultFeatures } from './dynamic-form-element.module'; -describe('BsDynamicFormElementModule', () => { - const testModules: { name: string; def: TestModuleMetadata }[] = [ - { name: 'BsDynamicFormElementModule', def: { imports: [BsDynamicFormElementModule] } }, - { - name: 'withBsDynamicFormElementDefaultFeatures', - def: { providers: importDynamicFormsProviders(...withBsDynamicFormElementDefaultFeatures()) }, - }, - ]; - - testModules.forEach(testModule => { - beforeEach(() => { - TestBed.configureTestingModule(testModule.def); +describe('withBsDynamicFormElementDefaultFeatures', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: importDynamicFormsProviders(...withBsDynamicFormElementDefaultFeatures()), }); - - it('provides DYNAMIC_FORM_ELEMENT_TYPE_CONFIG', inject([DYNAMIC_FORM_ELEMENT_TYPE_CONFIG], (config: DynamicFormElementTypeConfig) => { - expect(config.length).toBe(6); - expect(config[3]).toEqual(bsDynamicFormElementTypes[0]); - expect(config[4]).toEqual(bsDynamicFormElementTypes[1]); - expect(config[5]).toEqual(bsDynamicFormElementTypes[2]); - })); }); + + it('provides DYNAMIC_FORM_ELEMENT_TYPE_CONFIG', inject([DYNAMIC_FORM_ELEMENT_TYPE_CONFIG], (config: DynamicFormElementTypeConfig) => { + expect(config.length).toBe(3); + expect(config[0]).toEqual(bsDynamicFormElementTypes[0]); + expect(config[1]).toEqual(bsDynamicFormElementTypes[1]); + expect(config[2]).toEqual(bsDynamicFormElementTypes[2]); + })); }); diff --git a/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-element.module.ts b/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-element.module.ts index 958a6f1d..ae439ed3 100644 --- a/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-element.module.ts +++ b/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-element.module.ts @@ -1,23 +1,10 @@ -import { NgModule } from '@angular/core'; import { DynamicFormsFeature, withDynamicFormElements, withDynamicFormModalActionHandlers } from '@dynamic-forms/core'; import { bsDynamicFormAccordionType } from './dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.module'; -import { BsDynamicFormItemsModule } from './dynamic-form-items/dynamic-form-items.module'; import { bsDynamicFormTabsType } from './dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.module'; -import { BsDynamicFormModalModule, bsDynamicFormModalType } from './dynamic-form-modal/dynamic-form-modal.module'; +import { bsDynamicFormModalType } from './dynamic-form-modal/dynamic-form-modal.module'; export const bsDynamicFormElementTypes = [bsDynamicFormAccordionType, bsDynamicFormTabsType, bsDynamicFormModalType]; export function withBsDynamicFormElementDefaultFeatures(): DynamicFormsFeature[] { return [withDynamicFormElements(...bsDynamicFormElementTypes), withDynamicFormModalActionHandlers()]; } - -const modules = [BsDynamicFormItemsModule, BsDynamicFormModalModule]; - -/** - * @deprecated Use {@link withBsDynamicFormElementDefaultFeatures} instead. - */ -@NgModule({ - imports: modules, - exports: modules, -}) -export class BsDynamicFormElementModule {} diff --git a/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.component.spec.ts b/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.component.spec.ts index 13c9ef19..9653c7f7 100644 --- a/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.component.spec.ts +++ b/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.component.spec.ts @@ -9,7 +9,6 @@ import { DynamicFormLibraryService, } from '@dynamic-forms/core'; import { BsDynamicFormAccordionComponent } from './dynamic-form-accordion.component'; -import { BsDynamicFormAccordionModule } from './dynamic-form-accordion.module'; describe('BsDynamicFormAccordionComponent', () => { let fixture: ComponentFixture; @@ -18,7 +17,6 @@ describe('BsDynamicFormAccordionComponent', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [BsDynamicFormAccordionModule], providers: [ { provide: DynamicFormLibraryService, diff --git a/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.module.spec.ts b/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.module.spec.ts index 82a46260..02a18412 100644 --- a/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.module.spec.ts +++ b/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.module.spec.ts @@ -1,11 +1,11 @@ import { TestBed, inject } from '@angular/core/testing'; -import { DYNAMIC_FORM_ELEMENT_TYPE_CONFIG, DynamicFormElementTypeConfig } from '@dynamic-forms/core'; -import { BsDynamicFormAccordionModule, bsDynamicFormAccordionType } from './dynamic-form-accordion.module'; +import { DYNAMIC_FORM_ELEMENT_TYPE_CONFIG, DynamicFormElementTypeConfig, importDynamicFormsProviders } from '@dynamic-forms/core'; +import { bsDynamicFormAccordionType, withBsDynamicFormAccordion } from './dynamic-form-accordion.module'; -describe('BsDynamicFormAccordionModule', () => { +describe('withBsDynamicFormAccordion', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [BsDynamicFormAccordionModule], + providers: importDynamicFormsProviders(withBsDynamicFormAccordion()), }); }); diff --git a/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.module.ts b/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.module.ts index 73ea6b22..11c6a84c 100644 --- a/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.module.ts +++ b/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.module.ts @@ -1,5 +1,4 @@ -import { NgModule } from '@angular/core'; -import { DynamicFormElementType, dynamicFormItemsFactory, importDynamicFormsProviders, withDynamicFormElements } from '@dynamic-forms/core'; +import { DynamicFormElementType, DynamicFormsFeature, dynamicFormItemsFactory, withDynamicFormElements } from '@dynamic-forms/core'; import { bsDynamicFormLibrary } from '../../../dynamic-form-library/dynamic-form-library'; import { BsDynamicFormAccordionComponent } from './dynamic-form-accordion.component'; @@ -10,8 +9,6 @@ export const bsDynamicFormAccordionType: DynamicFormElementType = { libraryName: bsDynamicFormLibrary.name, }; -/** - * @deprecated Use {@link withBsDynamicFormElementDefaultFeatures} instead. - */ -@NgModule({ providers: importDynamicFormsProviders(withDynamicFormElements(bsDynamicFormAccordionType)) }) -export class BsDynamicFormAccordionModule {} +export function withBsDynamicFormAccordion(): DynamicFormsFeature { + return withDynamicFormElements(bsDynamicFormAccordionType); +} diff --git a/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-items.module.ts b/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-items.module.ts deleted file mode 100644 index a298283b..00000000 --- a/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-items.module.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { NgModule } from '@angular/core'; -import { BsDynamicFormAccordionModule } from './dynamic-form-accordion/dynamic-form-accordion.module'; -import { BsDynamicFormTabsModule } from './dynamic-form-tabs/dynamic-form-tabs.module'; - -const modules = [BsDynamicFormAccordionModule, BsDynamicFormTabsModule]; - -/** - * @deprecated Use {@link withBsDynamicFormElementDefaultFeatures} instead. - */ -@NgModule({ - imports: modules, - exports: modules, -}) -export class BsDynamicFormItemsModule {} diff --git a/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.component.spec.ts b/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.component.spec.ts index 9c155f4a..d969937e 100644 --- a/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.component.spec.ts +++ b/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.component.spec.ts @@ -9,7 +9,6 @@ import { DynamicFormLibraryService, } from '@dynamic-forms/core'; import { BsDynamicFormTabsComponent } from './dynamic-form-tabs.component'; -import { BsDynamicFormTabsModule } from './dynamic-form-tabs.module'; describe('BsDynamicFormTabsComponent', () => { let fixture: ComponentFixture; @@ -18,7 +17,6 @@ describe('BsDynamicFormTabsComponent', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [BsDynamicFormTabsModule], providers: [ { provide: DynamicFormLibraryService, diff --git a/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.module.spec.ts b/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.module.spec.ts index b346b202..523fe840 100644 --- a/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.module.spec.ts +++ b/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.module.spec.ts @@ -1,11 +1,11 @@ import { TestBed, inject } from '@angular/core/testing'; -import { DYNAMIC_FORM_ELEMENT_TYPE_CONFIG, DynamicFormElementTypeConfig } from '@dynamic-forms/core'; -import { BsDynamicFormTabsModule, bsDynamicFormTabsType } from './dynamic-form-tabs.module'; +import { DYNAMIC_FORM_ELEMENT_TYPE_CONFIG, DynamicFormElementTypeConfig, importDynamicFormsProviders } from '@dynamic-forms/core'; +import { bsDynamicFormTabsType, withBsDynamicFormTabs } from './dynamic-form-tabs.module'; -describe('BsDynamicFormTabsModule', () => { +describe('withBsDynamicFormTabs', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [BsDynamicFormTabsModule], + providers: importDynamicFormsProviders(withBsDynamicFormTabs()), }); }); diff --git a/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.module.ts b/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.module.ts index 4058e186..49c337c4 100644 --- a/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.module.ts +++ b/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.module.ts @@ -1,5 +1,4 @@ -import { NgModule } from '@angular/core'; -import { DynamicFormElementType, dynamicFormItemsFactory, importDynamicFormsProviders, withDynamicFormElements } from '@dynamic-forms/core'; +import { DynamicFormElementType, DynamicFormsFeature, dynamicFormItemsFactory, withDynamicFormElements } from '@dynamic-forms/core'; import { bsDynamicFormLibrary } from '../../../dynamic-form-library/dynamic-form-library'; import { BsDynamicFormTabsComponent } from './dynamic-form-tabs.component'; @@ -10,8 +9,6 @@ export const bsDynamicFormTabsType: DynamicFormElementType = { libraryName: bsDynamicFormLibrary.name, }; -/** - * @deprecated Use {@link withBsDynamicFormElementDefaultFeatures} instead. - */ -@NgModule({ providers: importDynamicFormsProviders(withDynamicFormElements(bsDynamicFormTabsType)) }) -export class BsDynamicFormTabsModule {} +export function withBsDynamicFormTabs(): DynamicFormsFeature { + return withDynamicFormElements(bsDynamicFormTabsType); +} diff --git a/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.component.spec.ts b/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.component.spec.ts index 2c5c68be..56578188 100644 --- a/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.component.spec.ts +++ b/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.component.spec.ts @@ -10,7 +10,6 @@ import { DynamicFormModalDefinition, } from '@dynamic-forms/core'; import { BsDynamicFormModalComponent } from './dynamic-form-modal.component'; -import { BsDynamicFormModalModule } from './dynamic-form-modal.module'; describe('BsDynamicFormModalComponent', () => { let fixture: ComponentFixture; @@ -20,7 +19,6 @@ describe('BsDynamicFormModalComponent', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [BsDynamicFormModalModule], providers: [ { provide: DynamicFormLibraryService, diff --git a/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.module.spec.ts b/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.module.spec.ts index f1f551b6..a175c6c3 100644 --- a/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.module.spec.ts +++ b/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.module.spec.ts @@ -1,11 +1,11 @@ import { TestBed, inject } from '@angular/core/testing'; -import { DYNAMIC_FORM_ELEMENT_TYPE_CONFIG, DynamicFormElementTypeConfig } from '@dynamic-forms/core'; -import { BsDynamicFormModalModule, bsDynamicFormModalType } from './dynamic-form-modal.module'; +import { DYNAMIC_FORM_ELEMENT_TYPE_CONFIG, DynamicFormElementTypeConfig, importDynamicFormsProviders } from '@dynamic-forms/core'; +import { bsDynamicFormModalType, withBsDynamicFormModal } from './dynamic-form-modal.module'; -describe('BsDynamicFormModalModule', () => { +describe('withBsDynamicFormModal', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [BsDynamicFormModalModule], + providers: importDynamicFormsProviders(withBsDynamicFormModal()), }); }); diff --git a/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.module.ts b/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.module.ts index 54667f9b..778a880f 100644 --- a/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.module.ts +++ b/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.module.ts @@ -1,12 +1,4 @@ -import { NgModule } from '@angular/core'; -import { - DynamicFormConfigModule, - DynamicFormElementType, - DynamicFormModalModule, - dynamicFormModalFactory, - importDynamicFormsProviders, - withDynamicFormElements, -} from '@dynamic-forms/core'; +import { DynamicFormElementType, DynamicFormsFeature, dynamicFormModalFactory, withDynamicFormElements } from '@dynamic-forms/core'; import { bsDynamicFormLibrary } from '../../dynamic-form-library/dynamic-form-library'; import { BsDynamicFormModalComponent } from './dynamic-form-modal.component'; @@ -17,14 +9,6 @@ export const bsDynamicFormModalType: DynamicFormElementType = { libraryName: bsDynamicFormLibrary.name, }; -const modules = [DynamicFormConfigModule, DynamicFormModalModule]; - -/** - * @deprecated Use {@link withBsDynamicFormElementDefaultFeatures} instead. - */ -@NgModule({ - imports: modules, - exports: modules, - providers: importDynamicFormsProviders(withDynamicFormElements(bsDynamicFormModalType)), -}) -export class BsDynamicFormModalModule {} +export function withBsDynamicFormModal(): DynamicFormsFeature { + return withDynamicFormElements(bsDynamicFormModalType); +} diff --git a/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-errors/dynamic-form-control-errors.component.spec.ts b/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-errors/dynamic-form-control-errors.component.spec.ts index edbc0ce0..ea717c5c 100644 --- a/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-errors/dynamic-form-control-errors.component.spec.ts +++ b/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-errors/dynamic-form-control-errors.component.spec.ts @@ -8,7 +8,6 @@ import { DynamicFormValidationService, } from '@dynamic-forms/core'; import { BsDynamicFormControlErrorsComponent } from './dynamic-form-control-errors.component'; -import { BsDynamicFormControlErrorsModule } from './dynamic-form-control-errors.module'; @Component({ standalone: true, @@ -22,7 +21,6 @@ class DynamicFormInputTestComponent extends DynamicFormInputBase { } @NgModule({ - imports: [BsDynamicFormControlErrorsModule], providers: [ { provide: DynamicFormLibraryService, diff --git a/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-errors/dynamic-form-control-errors.module.spec.ts b/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-errors/dynamic-form-control-errors.module.spec.ts index c23bdd8c..26c53a86 100644 --- a/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-errors/dynamic-form-control-errors.module.spec.ts +++ b/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-errors/dynamic-form-control-errors.module.spec.ts @@ -1,11 +1,15 @@ import { TestBed, inject } from '@angular/core/testing'; -import { DYNAMIC_FORM_FIELD_WRAPPER_TYPE_CONFIG, DynamicFormFieldWrapperTypeConfig } from '@dynamic-forms/core'; -import { BsDynamicFormControlErrorsModule, bsDynamicFormControlErrorsType } from './dynamic-form-control-errors.module'; +import { + DYNAMIC_FORM_FIELD_WRAPPER_TYPE_CONFIG, + DynamicFormFieldWrapperTypeConfig, + importDynamicFormsProviders, +} from '@dynamic-forms/core'; +import { bsDynamicFormControlErrorsType, withBsDynamicFormControlErrors } from './dynamic-form-control-errors.module'; describe('BsDynamicFormControlErrorsModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [BsDynamicFormControlErrorsModule], + providers: importDynamicFormsProviders(withBsDynamicFormControlErrors()), }); }); diff --git a/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-errors/dynamic-form-control-errors.module.ts b/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-errors/dynamic-form-control-errors.module.ts index 61064048..ec6966d7 100644 --- a/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-errors/dynamic-form-control-errors.module.ts +++ b/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-errors/dynamic-form-control-errors.module.ts @@ -1,5 +1,4 @@ -import { NgModule } from '@angular/core'; -import { DynamicFormFieldWrapperType, importDynamicFormsProviders, withDynamicFormFieldWrappers } from '@dynamic-forms/core'; +import { DynamicFormFieldWrapperType, DynamicFormsFeature, withDynamicFormFieldWrappers } from '@dynamic-forms/core'; import { bsDynamicFormLibrary } from '../../dynamic-form-library/dynamic-form-library'; import { BsDynamicFormControlErrorsComponent } from './dynamic-form-control-errors.component'; @@ -9,8 +8,6 @@ export const bsDynamicFormControlErrorsType: DynamicFormFieldWrapperType = { libraryName: bsDynamicFormLibrary.name, }; -/** - * @deprecated Use {@link withBsDynamicFormFieldWrapperDefaultFeatures} instead. - */ -@NgModule({ providers: importDynamicFormsProviders(withDynamicFormFieldWrappers(bsDynamicFormControlErrorsType)) }) -export class BsDynamicFormControlErrorsModule {} +export function withBsDynamicFormControlErrors(): DynamicFormsFeature { + return withDynamicFormFieldWrappers(bsDynamicFormControlErrorsType); +} diff --git a/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-hints/dynamic-form-control-hints.component.spec.ts b/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-hints/dynamic-form-control-hints.component.spec.ts index 67773238..7f9274f0 100644 --- a/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-hints/dynamic-form-control-hints.component.spec.ts +++ b/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-hints/dynamic-form-control-hints.component.spec.ts @@ -8,7 +8,6 @@ import { DynamicFormValidationService, } from '@dynamic-forms/core'; import { BsDynamicFormControlHintsComponent } from './dynamic-form-control-hints.component'; -import { BsDynamicFormControlHintsModule } from './dynamic-form-control-hints.module'; @Component({ standalone: true, @@ -22,7 +21,6 @@ class DynamicFormInputTestComponent extends DynamicFormInputBase { } @NgModule({ - imports: [BsDynamicFormControlHintsModule], providers: [ { provide: DynamicFormLibraryService, diff --git a/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-hints/dynamic-form-control-hints.module.spec.ts b/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-hints/dynamic-form-control-hints.module.spec.ts index 17dbb7ee..e996c886 100644 --- a/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-hints/dynamic-form-control-hints.module.spec.ts +++ b/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-hints/dynamic-form-control-hints.module.spec.ts @@ -1,11 +1,15 @@ import { TestBed, inject } from '@angular/core/testing'; -import { DYNAMIC_FORM_FIELD_WRAPPER_TYPE_CONFIG, DynamicFormFieldWrapperTypeConfig } from '@dynamic-forms/core'; -import { BsDynamicFormControlHintsModule, bsDynamicFormControlHintsType } from './dynamic-form-control-hints.module'; +import { + DYNAMIC_FORM_FIELD_WRAPPER_TYPE_CONFIG, + DynamicFormFieldWrapperTypeConfig, + importDynamicFormsProviders, +} from '@dynamic-forms/core'; +import { bsDynamicFormControlHintsType, withBsDynamicFormControlHints } from './dynamic-form-control-hints.module'; describe('BsDynamicFormControlHintsModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [BsDynamicFormControlHintsModule], + providers: importDynamicFormsProviders(withBsDynamicFormControlHints()), }); }); diff --git a/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-hints/dynamic-form-control-hints.module.ts b/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-hints/dynamic-form-control-hints.module.ts index 4214cda1..94ebefdb 100644 --- a/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-hints/dynamic-form-control-hints.module.ts +++ b/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-hints/dynamic-form-control-hints.module.ts @@ -1,10 +1,4 @@ -import { NgModule } from '@angular/core'; -import { - DynamicFormConfigModule, - DynamicFormFieldWrapperType, - importDynamicFormsProviders, - withDynamicFormFieldWrappers, -} from '@dynamic-forms/core'; +import { DynamicFormFieldWrapperType, DynamicFormsFeature, withDynamicFormFieldWrappers } from '@dynamic-forms/core'; import { bsDynamicFormLibrary } from '../../dynamic-form-library/dynamic-form-library'; import { BsDynamicFormControlHintsComponent } from './dynamic-form-control-hints.component'; @@ -14,14 +8,6 @@ export const bsDynamicFormControlHintsType: DynamicFormFieldWrapperType = { libraryName: bsDynamicFormLibrary.name, }; -const modules = [DynamicFormConfigModule]; - -/** - * @deprecated Use {@link withBsDynamicFormFieldWrapperDefaultFeatures} instead. - */ -@NgModule({ - imports: modules, - exports: modules, - providers: importDynamicFormsProviders(withDynamicFormFieldWrappers(bsDynamicFormControlHintsType)), -}) -export class BsDynamicFormControlHintsModule {} +export function withBsDynamicFormControlHints(): DynamicFormsFeature { + return withDynamicFormFieldWrappers(bsDynamicFormControlHintsType); +} diff --git a/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-label/dynamic-form-control-label.component.spec.ts b/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-label/dynamic-form-control-label.component.spec.ts index 3b1355b1..4ab26875 100644 --- a/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-label/dynamic-form-control-label.component.spec.ts +++ b/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-label/dynamic-form-control-label.component.spec.ts @@ -8,7 +8,6 @@ import { DynamicFormValidationService, } from '@dynamic-forms/core'; import { BsDynamicFormControlLabelComponent } from './dynamic-form-control-label.component'; -import { BsDynamicFormControlLabelModule } from './dynamic-form-control-label.module'; @Component({ standalone: true, @@ -22,7 +21,6 @@ class DynamicFormInputTestComponent extends DynamicFormInputBase { } @NgModule({ - imports: [BsDynamicFormControlLabelModule], providers: [ { provide: DynamicFormLibraryService, diff --git a/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-label/dynamic-form-control-label.module.spec.ts b/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-label/dynamic-form-control-label.module.spec.ts index f07c01ed..f587338a 100644 --- a/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-label/dynamic-form-control-label.module.spec.ts +++ b/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-label/dynamic-form-control-label.module.spec.ts @@ -1,11 +1,15 @@ import { TestBed, inject } from '@angular/core/testing'; -import { DYNAMIC_FORM_FIELD_WRAPPER_TYPE_CONFIG, DynamicFormFieldWrapperTypeConfig } from '@dynamic-forms/core'; -import { BsDynamicFormControlLabelModule, bsDynamicFormControlLabelType } from './dynamic-form-control-label.module'; +import { + DYNAMIC_FORM_FIELD_WRAPPER_TYPE_CONFIG, + DynamicFormFieldWrapperTypeConfig, + importDynamicFormsProviders, +} from '@dynamic-forms/core'; +import { bsDynamicFormControlLabelType, withBsDynamicFormControlLabel } from './dynamic-form-control-label.module'; describe('BsDynamicFormControlLabelModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [BsDynamicFormControlLabelModule], + providers: importDynamicFormsProviders(withBsDynamicFormControlLabel()), }); }); diff --git a/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-label/dynamic-form-control-label.module.ts b/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-label/dynamic-form-control-label.module.ts index 00affcd2..2438610a 100644 --- a/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-label/dynamic-form-control-label.module.ts +++ b/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-label/dynamic-form-control-label.module.ts @@ -1,5 +1,4 @@ -import { NgModule } from '@angular/core'; -import { DynamicFormFieldWrapperType, importDynamicFormsProviders, withDynamicFormFieldWrappers } from '@dynamic-forms/core'; +import { DynamicFormFieldWrapperType, DynamicFormsFeature, withDynamicFormFieldWrappers } from '@dynamic-forms/core'; import { bsDynamicFormLibrary } from '../../dynamic-form-library/dynamic-form-library'; import { BsDynamicFormControlLabelComponent } from './dynamic-form-control-label.component'; @@ -9,8 +8,6 @@ export const bsDynamicFormControlLabelType: DynamicFormFieldWrapperType = { libraryName: bsDynamicFormLibrary.name, }; -/** - * @deprecated Use {@link withBsDynamicFormFieldWrapperDefaultFeatures} instead. - */ -@NgModule({ providers: importDynamicFormsProviders(withDynamicFormFieldWrappers(bsDynamicFormControlLabelType)) }) -export class BsDynamicFormControlLabelModule {} +export function withBsDynamicFormControlLabel(): DynamicFormsFeature { + return withDynamicFormFieldWrappers(bsDynamicFormControlLabelType); +} diff --git a/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-field-wrapper.module.ts b/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-field-wrapper.module.ts index 5f71950e..39a5a17c 100644 --- a/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-field-wrapper.module.ts +++ b/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-field-wrapper.module.ts @@ -1,17 +1,7 @@ -import { NgModule } from '@angular/core'; import { DynamicFormsFeature, withDynamicFormFieldWrappers } from '@dynamic-forms/core'; -import { - BsDynamicFormControlErrorsModule, - bsDynamicFormControlErrorsType, -} from './dynamic-form-control-errors/dynamic-form-control-errors.module'; -import { - BsDynamicFormControlHintsModule, - bsDynamicFormControlHintsType, -} from './dynamic-form-control-hints/dynamic-form-control-hints.module'; -import { - BsDynamicFormControlLabelModule, - bsDynamicFormControlLabelType, -} from './dynamic-form-control-label/dynamic-form-control-label.module'; +import { bsDynamicFormControlErrorsType } from './dynamic-form-control-errors/dynamic-form-control-errors.module'; +import { bsDynamicFormControlHintsType } from './dynamic-form-control-hints/dynamic-form-control-hints.module'; +import { bsDynamicFormControlLabelType } from './dynamic-form-control-label/dynamic-form-control-label.module'; export const bsDynamicFormFieldWrapperTypes = [ bsDynamicFormControlErrorsType, @@ -22,14 +12,3 @@ export const bsDynamicFormFieldWrapperTypes = [ export function withBsDynamicFormFieldWrapperDefaultFeatures(): DynamicFormsFeature[] { return [withDynamicFormFieldWrappers(...bsDynamicFormFieldWrapperTypes)]; } - -const modules = [BsDynamicFormControlErrorsModule, BsDynamicFormControlHintsModule, BsDynamicFormControlLabelModule]; - -/** - * @deprecated Use {@link withBsDynamicFormFieldWrapperDefaultFeatures} instead. - */ -@NgModule({ - imports: modules, - exports: modules, -}) -export class BsDynamicFormFieldWrapperModule {} diff --git a/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-input.module.spec.ts b/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-input.module.spec.ts index beafb9ec..ee79307c 100644 --- a/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-input.module.spec.ts +++ b/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-input.module.spec.ts @@ -1,10 +1,10 @@ import { TestBed, inject } from '@angular/core/testing'; -import { DYNAMIC_FORM_INPUT_TYPE_CONFIG, DynamicFormInputTypeConfig } from '@dynamic-forms/core'; -import { BsDynamicFormInputModule, bsDynamicFormInputTypes } from './dynamic-form-input.module'; +import { DYNAMIC_FORM_INPUT_TYPE_CONFIG, DynamicFormInputTypeConfig, importDynamicFormsProviders } from '@dynamic-forms/core'; +import { bsDynamicFormInputTypes, withBsDynamicFormInputDefaultFeatures } from './dynamic-form-input.module'; describe('BsDynamicFormInputModule', () => { beforeEach(() => { - TestBed.configureTestingModule({ imports: [BsDynamicFormInputModule] }); + TestBed.configureTestingModule({ providers: importDynamicFormsProviders(...withBsDynamicFormInputDefaultFeatures()) }); }); it('provides DYNAMIC_FORM_INPUT_TYPE_CONFIG', inject([DYNAMIC_FORM_INPUT_TYPE_CONFIG], (config: DynamicFormInputTypeConfig) => { diff --git a/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-input.module.ts b/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-input.module.ts index 840ebac1..d9f1a4c0 100644 --- a/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-input.module.ts +++ b/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-input.module.ts @@ -1,9 +1,5 @@ -import { NgModule } from '@angular/core'; import { - DynamicFormFileModule, - DynamicFormTextboxModule, DynamicFormsFeature, - importDynamicFormsProviders, withDynamicFormDatepickerValidators, withDynamicFormFileValidators, withDynamicFormInputs, @@ -45,15 +41,3 @@ export function withBsDynamicFormInputDefaultFeatures(): DynamicFormsFeature[] { ...withDynamicFormDatepickerValidators(), ]; } - -const modules = [DynamicFormFileModule, DynamicFormTextboxModule]; - -/** - * @deprecated Use {@link withBsDynamicFormInputDefaultFeatures} instead. - */ -@NgModule({ - imports: modules, - exports: modules, - providers: importDynamicFormsProviders(withDynamicFormInputs(...bsDynamicFormInputTypes)), -}) -export class BsDynamicFormInputModule {} diff --git a/libs/bootstrap/src/lib/dynamic-forms.module.spec.ts b/libs/bootstrap/src/lib/dynamic-forms.module.spec.ts index b1975445..eb8aae04 100644 --- a/libs/bootstrap/src/lib/dynamic-forms.module.spec.ts +++ b/libs/bootstrap/src/lib/dynamic-forms.module.spec.ts @@ -20,12 +20,11 @@ import { provideDynamicForms, } from '@dynamic-forms/core'; import { bsDynamicFormLibrary } from './dynamic-form-library/dynamic-form-library'; -import { BsDynamicFormsModule, provideBsDynamicForms, provideBsDynamicFormsWithDefaultFeatures } from './dynamic-forms.module'; +import { provideBsDynamicForms, provideBsDynamicFormsWithDefaultFeatures } from './dynamic-forms.module'; describe('BsDynamicFormsModule', () => { describe('without providers', () => { const testModules: { name: string; def: TestModuleMetadata }[] = [ - { name: 'BsDynamicFormsModule', def: { imports: [BsDynamicFormsModule] } }, { name: 'provideDynamicForms', def: { providers: provideDynamicForms() } }, ]; @@ -86,7 +85,6 @@ describe('BsDynamicFormsModule', () => { describe('forRoot', () => { const testModules: { name: string; def: TestModuleMetadata }[] = [ - { name: 'BsDynamicFormsModule.root', def: { imports: [BsDynamicFormsModule.forRoot()] } }, { name: 'provideBsDynamicFormsWithDefaultFeatures', def: { providers: provideBsDynamicFormsWithDefaultFeatures() } }, ]; @@ -163,7 +161,6 @@ describe('BsDynamicFormsModule', () => { describe('forRoot with config', () => { const config = { theme: 'theme', idBuilder: { createId: () => 'dynamic-form-id' } }; const testModules: { name: string; def: TestModuleMetadata }[] = [ - { name: 'BsDynamicFormsModule', def: { imports: [BsDynamicFormsModule.forRoot(config)] } }, { name: 'provideBsDynamicFormsWithDefaultFeatures', def: { providers: provideBsDynamicFormsWithDefaultFeatures(config) } }, ]; diff --git a/libs/bootstrap/src/lib/dynamic-forms.module.ts b/libs/bootstrap/src/lib/dynamic-forms.module.ts index e4575ffa..409ac740 100644 --- a/libs/bootstrap/src/lib/dynamic-forms.module.ts +++ b/libs/bootstrap/src/lib/dynamic-forms.module.ts @@ -1,14 +1,11 @@ -import { ModuleWithProviders, NgModule, Provider } from '@angular/core'; +import { Provider } from '@angular/core'; import { DynamicFormIdBuilder, DynamicFormsFeature, - DynamicFormsModule, - importDynamicFormsProviders, provideDynamicForms, provideDynamicFormsWithDefaultFeatures, withDynamicFormValidation, withDynamicFormsIdBuilder, - withDynamicFormsLibrary, withDynamicFormsTheme, } from '@dynamic-forms/core'; import { withBsDynamicFormActionDefaultFeatures } from './dynamic-form-action/dynamic-form-action.module'; @@ -47,24 +44,3 @@ export function provideBsDynamicFormsWithDefaultFeatures( const features = [...bsDynamicFormsDefaultFeatures, ...getDynamicFormsFeatures(config), ...additionalFeatures]; return provideDynamicFormsWithDefaultFeatures(bsDynamicFormLibrary, ...features); } - -/** - * @deprecated Use {@link provideBsDynamicFormsWithDefaultFeatures} instead. - */ -@NgModule({ - imports: [DynamicFormsModule], - exports: [DynamicFormsModule], - providers: provideDynamicFormsWithDefaultFeatures(null, ...bsDynamicFormsDefaultFeatures, withDynamicFormValidation()), -}) -export class BsDynamicFormsModule { - /** - * @deprecated Use {@link provideBsDynamicFormsWithDefaultFeatures} instead. - */ - static forRoot( - config?: { theme?: string; idBuilder?: DynamicFormIdBuilder }, - ...additionalFeatures: DynamicFormsFeature[] - ): ModuleWithProviders { - const features = [withDynamicFormsLibrary(bsDynamicFormLibrary), ...getDynamicFormsFeatures(config), ...additionalFeatures]; - return { ngModule: BsDynamicFormsModule, providers: importDynamicFormsProviders(...features) }; - } -} diff --git a/libs/bootstrap/src/public_api.ts b/libs/bootstrap/src/public_api.ts index 3323e983..753f918c 100644 --- a/libs/bootstrap/src/public_api.ts +++ b/libs/bootstrap/src/public_api.ts @@ -10,7 +10,6 @@ export * from './lib/dynamic-form-action/dynamic-form-icon/dynamic-form-icon-typ export * from './lib/dynamic-form-action/dynamic-form-icon/dynamic-form-icon.component'; export * from './lib/dynamic-form-dialog/dynamic-form-dialog.component'; export * from './lib/dynamic-form-element/dynamic-form-element.module'; -export * from './lib/dynamic-form-element/dynamic-form-items/dynamic-form-items.module'; export * from './lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.component'; export * from './lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.module'; export * from './lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.component'; diff --git a/libs/core/karma.conf.js b/libs/core/karma.conf.js index 00736127..c4bf2f81 100644 --- a/libs/core/karma.conf.js +++ b/libs/core/karma.conf.js @@ -17,7 +17,7 @@ module.exports = function (config) { clearContext: false // leave Jasmine Spec Runner output visible in browser }, junitReporter: { - outputDir: require('path').join(__dirname, '../../dist/v18/tests'), + outputDir: require('path').join(__dirname, '../../dist/v19/tests'), outputFile: 'dynamic-forms-core.junit.xml', useBrowserName: false }, diff --git a/libs/core/ng-package.json b/libs/core/ng-package.json index f7ef1f3b..82ee42ae 100644 --- a/libs/core/ng-package.json +++ b/libs/core/ng-package.json @@ -1,6 +1,6 @@ { "$schema": "../../node_modules/ng-packagr/ng-package.schema.json", - "dest": "../../dist/v18/@dynamic-forms/core", + "dest": "../../dist/v19/@dynamic-forms/core", "lib": { "entryFile": "src/public_api.ts", "styleIncludePaths": ["assets"] diff --git a/libs/core/package.json b/libs/core/package.json index cae685ea..17113052 100644 --- a/libs/core/package.json +++ b/libs/core/package.json @@ -1,6 +1,6 @@ { "name": "@dynamic-forms/core", - "version": "18.1.0", + "version": "19.0.0-next.0", "author": "dynamic-forms", "description": "dynamic-forms - core library", "keywords": [ @@ -30,7 +30,8 @@ }, "publishConfig": { "registry": "https://registry.npmjs.org", - "access": "public" + "access": "public", + "tag": "next" }, "sideEffects": false } diff --git a/libs/core/src/lib/dynamic-form-action/dynamic-form-action.module.spec.ts b/libs/core/src/lib/dynamic-form-action/dynamic-form-action.module.spec.ts index dcc5ac9b..8c04ff29 100644 --- a/libs/core/src/lib/dynamic-form-action/dynamic-form-action.module.spec.ts +++ b/libs/core/src/lib/dynamic-form-action/dynamic-form-action.module.spec.ts @@ -5,15 +5,18 @@ import { importDynamicFormsProviders } from '../dynamic-forms.module'; import { DynamicFormAction } from './dynamic-form-action'; import { DynamicFormActionHandler } from './dynamic-form-action-handler'; import { DYNAMIC_FORM_ACTION_HANDLER_CONFIG, DynamicFormActionHandlerConfig } from './dynamic-form-action-handler-config'; -import { DynamicFormActionModule, dynamicFormDialogHandlers, withDynamicFormActionDefaultFeatures } from './dynamic-form-action.module'; +import { + dynamicFormDialogHandlers, + withDynamicFormActionDefaultFeatures, + withDynamicFormActionHandlerFactory, + withDynamicFormActionHandlers, +} from './dynamic-form-action.module'; import { DynamicFormActionService } from './dynamic-form-action.service'; describe('DynamicFormActionModule', () => { describe('without providers', () => { beforeEach(() => { - TestBed.configureTestingModule({ - imports: [DynamicFormActionModule], - }); + TestBed.configureTestingModule({}); }); it('does not provide DynamicFormActionService', () => { @@ -28,7 +31,6 @@ describe('DynamicFormActionModule', () => { describe('with default features provided', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormActionModule], providers: importDynamicFormsProviders(...withDynamicFormActionDefaultFeatures()), }); }); @@ -49,12 +51,12 @@ describe('DynamicFormActionModule', () => { describe('with default features and DynamicFormLibraryService provided', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormActionModule], providers: [ { provide: DynamicFormLibraryService, useValue: new DynamicFormLibraryService(dynamicFormLibrary), }, + DynamicFormActionService, ...importDynamicFormsProviders(...withDynamicFormActionDefaultFeatures()), ], }); @@ -104,13 +106,7 @@ describe('DynamicFormActionModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormActionModule.withHandler(handler)], - providers: [ - { - provide: DynamicFormLibraryService, - useValue: new DynamicFormLibraryService({ name: 'test' }), - }, - ], + providers: importDynamicFormsProviders(withDynamicFormActionHandlers(handler)), }); }); @@ -132,13 +128,7 @@ describe('DynamicFormActionModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormActionModule.withHandlers(handlers)], - providers: [ - { - provide: DynamicFormLibraryService, - useValue: new DynamicFormLibraryService({ name: 'test' }), - }, - ], + providers: importDynamicFormsProviders(withDynamicFormActionHandlers(...handlers)), }); }); @@ -159,13 +149,7 @@ describe('DynamicFormActionModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormActionModule.withHandlerFactory(handlerFactory, [])], - providers: [ - { - provide: DynamicFormLibraryService, - useValue: new DynamicFormLibraryService({ name: 'test' }), - }, - ], + providers: importDynamicFormsProviders(withDynamicFormActionHandlerFactory(handlerFactory, [])), }); }); diff --git a/libs/core/src/lib/dynamic-form-action/dynamic-form-action.module.ts b/libs/core/src/lib/dynamic-form-action/dynamic-form-action.module.ts index ecf10996..38136a91 100644 --- a/libs/core/src/lib/dynamic-form-action/dynamic-form-action.module.ts +++ b/libs/core/src/lib/dynamic-form-action/dynamic-form-action.module.ts @@ -1,4 +1,4 @@ -import { ModuleWithProviders, NgModule, Provider } from '@angular/core'; +import { Provider } from '@angular/core'; import { DynamicFormElement } from '../dynamic-form-element/dynamic-form-element'; import { dynamicFormLibrary } from '../dynamic-form-library/dynamic-form-library'; import { DynamicFormsFeature } from '../dynamic-forms-feature'; @@ -65,40 +65,3 @@ export function withDynamicFormActionHandlerFactory( - handler: DynamicFormActionHandler, - ): ModuleWithProviders { - const feature = withDynamicFormActionHandlers(handler); - return { ngModule: DynamicFormActionModule, providers: feature.providers }; - } - - /** - * @deprecated Use {@link withDynamicFormActionHandlers} instead. - */ - static withHandlers( - handlers: DynamicFormActionHandler[], - ): ModuleWithProviders { - const feature = withDynamicFormActionHandlers(...handlers); - return { ngModule: DynamicFormActionModule, providers: feature.providers }; - } - - /** - * @deprecated Use {@link withDynamicFormActionHandlerFactory} instead. - */ - static withHandlerFactory( - handlerFactory: (...depTypes: any[]) => DynamicFormActionHandler, - deps?: any[], - ): ModuleWithProviders { - const feature = withDynamicFormActionHandlerFactory(handlerFactory, deps); - return { ngModule: DynamicFormActionModule, providers: feature.providers }; - } -} diff --git a/libs/core/src/lib/dynamic-form-action/dynamic-form-icon/dynamic-form-icon.module.spec.ts b/libs/core/src/lib/dynamic-form-action/dynamic-form-icon/dynamic-form-icon.module.spec.ts index 05405986..ff60d953 100644 --- a/libs/core/src/lib/dynamic-form-action/dynamic-form-icon/dynamic-form-icon.module.spec.ts +++ b/libs/core/src/lib/dynamic-form-action/dynamic-form-icon/dynamic-form-icon.module.spec.ts @@ -1,15 +1,14 @@ import { TestBed, inject } from '@angular/core/testing'; import { DynamicFormLibraryService } from '../../dynamic-form-library/dynamic-form-library.service'; +import { importDynamicFormsProviders } from '../../dynamic-forms.module'; import { DYNAMIC_FORM_ICON_CONFIGS, DynamicFormIconConfig, DynamicFormIconConfigs } from './dynamic-form-icon-config'; -import { DynamicFormIconModule } from './dynamic-form-icon.module'; +import { withDynamicFormIcons } from './dynamic-form-icon.module'; import { DynamicFormIconService } from './dynamic-form-icon.service'; describe('DynamicFormIconModule', () => { describe('without providers', () => { beforeEach(() => { - TestBed.configureTestingModule({ - imports: [DynamicFormIconModule], - }); + TestBed.configureTestingModule({}); }); it('does not provide DynamicFormIconService', () => { @@ -20,12 +19,12 @@ describe('DynamicFormIconModule', () => { describe('with DynamicFormLibraryService provided', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormIconModule], providers: [ { provide: DynamicFormLibraryService, useValue: new DynamicFormLibraryService({ name: 'test' }), }, + DynamicFormIconService, ], }); }); @@ -41,12 +40,12 @@ describe('DynamicFormIconModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormIconModule.withIcons(config)], providers: [ { provide: DynamicFormLibraryService, useValue: new DynamicFormLibraryService({ name: 'test' }), }, + importDynamicFormsProviders(withDynamicFormIcons(config)), ], }); }); diff --git a/libs/core/src/lib/dynamic-form-action/dynamic-form-icon/dynamic-form-icon.module.ts b/libs/core/src/lib/dynamic-form-action/dynamic-form-icon/dynamic-form-icon.module.ts index 61e9b01c..570fdd4e 100644 --- a/libs/core/src/lib/dynamic-form-action/dynamic-form-icon/dynamic-form-icon.module.ts +++ b/libs/core/src/lib/dynamic-form-action/dynamic-form-icon/dynamic-form-icon.module.ts @@ -1,4 +1,4 @@ -import { ModuleWithProviders, NgModule, Provider } from '@angular/core'; +import { Provider } from '@angular/core'; import { DynamicFormsFeature } from '../../dynamic-forms-feature'; import { DYNAMIC_FORM_ICON_CONFIGS, DynamicFormIconConfig } from './dynamic-form-icon-config'; import { DynamicFormIconService } from './dynamic-form-icon.service'; @@ -9,17 +9,3 @@ export function withDynamicFormIcons(iconConfig: DynamicFormIconConfig): Dynamic const provider = { provide: DYNAMIC_FORM_ICON_CONFIGS, useValue: iconConfig, multi: true }; return { providers: [provider] }; } - -/** - * @deprecated Use {@link dynamicFormIconProviders} instead. - */ -@NgModule({ providers: dynamicFormIconProviders }) -export class DynamicFormIconModule { - /** - * @deprecated Use {@link withDynamicFormIcons} instead. - */ - static withIcons(iconConfig: DynamicFormIconConfig): ModuleWithProviders { - const feature = withDynamicFormIcons(iconConfig); - return { ngModule: DynamicFormIconModule, providers: feature.providers }; - } -} diff --git a/libs/core/src/lib/dynamic-form-array/dynamic-form-array.component.spec.ts b/libs/core/src/lib/dynamic-form-array/dynamic-form-array.component.spec.ts index 62040022..ee7a0f3c 100644 --- a/libs/core/src/lib/dynamic-form-array/dynamic-form-array.component.spec.ts +++ b/libs/core/src/lib/dynamic-form-array/dynamic-form-array.component.spec.ts @@ -10,7 +10,6 @@ import { DynamicFormValidationService } from '../dynamic-form-validation/dynamic import { DynamicFormArray } from './dynamic-form-array'; import { DynamicFormArrayDefinition } from './dynamic-form-array-definition'; import { DynamicFormArrayComponent } from './dynamic-form-array.component'; -import { DynamicFormArrayModule } from './dynamic-form-array.module'; describe('DynamicFormArrayComponent', () => { let fixture: ComponentFixture; @@ -23,7 +22,6 @@ describe('DynamicFormArrayComponent', () => { builder = {} as any; TestBed.configureTestingModule({ - imports: [DynamicFormArrayModule], providers: [ { provide: DynamicFormLibraryService, diff --git a/libs/core/src/lib/dynamic-form-array/dynamic-form-array.module.spec.ts b/libs/core/src/lib/dynamic-form-array/dynamic-form-array.module.spec.ts index 44e96bdd..6f87b86a 100644 --- a/libs/core/src/lib/dynamic-form-array/dynamic-form-array.module.spec.ts +++ b/libs/core/src/lib/dynamic-form-array/dynamic-form-array.module.spec.ts @@ -8,17 +8,18 @@ import { DynamicFormElement } from '../dynamic-form-element/dynamic-form-element import { DynamicFormField } from '../dynamic-form-field/dynamic-form-field'; import { dynamicFormLibrary } from '../dynamic-form-library/dynamic-form-library'; import { DynamicFormLibraryService } from '../dynamic-form-library/dynamic-form-library.service'; +import { importDynamicFormsProviders } from '../dynamic-forms.module'; import { DynamicFormArray } from './dynamic-form-array'; import { dynamicFormArrayValidatorTypes } from './dynamic-form-array-validator-type'; import { DYNAMIC_FORM_ARRAY_VALIDATOR_TYPE_CONFIG, DynamicFormArrayValidatorTypeConfig } from './dynamic-form-array-validator-type-config'; import { - DynamicFormArrayModule, dynamicFormArrayClearFieldsHandler, dynamicFormArrayMoveFieldDownHandler, dynamicFormArrayMoveFieldUpHandler, dynamicFormArrayPopFieldHandler, dynamicFormArrayRemoveFieldHandler, dynamicFormArrayType, + withDynamicFormArrayDefaultFeatures, } from './dynamic-form-array.module'; describe('DynamicFormArrayModule', () => { @@ -28,7 +29,6 @@ describe('DynamicFormArrayModule', () => { formBuilder = MockService(DynamicFormBuilder); TestBed.configureTestingModule({ - imports: [DynamicFormArrayModule], providers: [ { provide: DynamicFormLibraryService, @@ -38,6 +38,9 @@ describe('DynamicFormArrayModule', () => { provide: DynamicFormBuilder, useValue: formBuilder, }, + DynamicFormConfigService, + DynamicFormActionService, + importDynamicFormsProviders(...withDynamicFormArrayDefaultFeatures()), ], }); }); diff --git a/libs/core/src/lib/dynamic-form-array/dynamic-form-array.module.ts b/libs/core/src/lib/dynamic-form-array/dynamic-form-array.module.ts index fb6c80f2..fca3e7cc 100644 --- a/libs/core/src/lib/dynamic-form-array/dynamic-form-array.module.ts +++ b/libs/core/src/lib/dynamic-form-array/dynamic-form-array.module.ts @@ -1,18 +1,12 @@ -import { NgModule } from '@angular/core'; import { DynamicFormBuilder } from '../dynamic-form/dynamic-form.builder'; import { DynamicFormAction } from '../dynamic-form-action/dynamic-form-action'; import { DynamicFormActionHandler } from '../dynamic-form-action/dynamic-form-action-handler'; -import { - DynamicFormActionModule, - withDynamicFormActionHandlerFactory, - withDynamicFormActionHandlers, -} from '../dynamic-form-action/dynamic-form-action.module'; -import { DynamicFormConfigModule, withDynamicFormFields } from '../dynamic-form-config/dynamic-form-config.module'; +import { withDynamicFormActionHandlerFactory, withDynamicFormActionHandlers } from '../dynamic-form-action/dynamic-form-action.module'; +import { withDynamicFormFields } from '../dynamic-form-config/dynamic-form-config.module'; import { DynamicFormFieldType } from '../dynamic-form-field/dynamic-form-field-type'; import { dynamicFormLibrary } from '../dynamic-form-library/dynamic-form-library'; import { withDynamicFormArrayValidators } from '../dynamic-form-validation/dynamic-form-validation.module'; import { DynamicFormsFeature } from '../dynamic-forms-feature'; -import { importDynamicFormsProviders } from '../dynamic-forms.module'; import { DynamicFormArray } from './dynamic-form-array'; import { dynamicFormArrayFactory } from './dynamic-form-array-factory'; import { dynamicFormArrayValidatorTypes } from './dynamic-form-array-validator-type'; @@ -113,15 +107,3 @@ export function withDynamicFormArrayDefaultFeatures(): DynamicFormsFeature[] { withDynamicFormActionHandlerFactory(dynamicFormArrayPushFieldHandlerFactory, [DynamicFormBuilder]), ]; } - -const modules = [DynamicFormActionModule, DynamicFormConfigModule]; - -/** - * @deprecated Use {@link withDynamicFormArrayDefaultFeatures} instead. - */ -@NgModule({ - imports: modules, - exports: modules, - providers: importDynamicFormsProviders(...withDynamicFormArrayDefaultFeatures()), -}) -export class DynamicFormArrayModule {} diff --git a/libs/core/src/lib/dynamic-form-config/dynamic-form-config.module.spec.ts b/libs/core/src/lib/dynamic-form-config/dynamic-form-config.module.spec.ts index 598524fc..85a26497 100644 --- a/libs/core/src/lib/dynamic-form-config/dynamic-form-config.module.spec.ts +++ b/libs/core/src/lib/dynamic-form-config/dynamic-form-config.module.spec.ts @@ -13,14 +13,21 @@ import { import { DynamicFormInputType } from '../dynamic-form-input/dynamic-form-input-type'; import { DYNAMIC_FORM_INPUT_TYPE_CONFIG, DynamicFormInputTypeConfig } from '../dynamic-form-input/dynamic-form-input-type-config'; import { DynamicFormLibraryService } from '../dynamic-form-library/dynamic-form-library.service'; -import { DynamicFormConfigModule } from './dynamic-form-config.module'; +import { importDynamicFormsProviders } from '../dynamic-forms.module'; +import { + withDynamicFormActions, + withDynamicFormElements, + withDynamicFormFieldWrappers, + withDynamicFormFields, + withDynamicFormInputs, +} from './dynamic-form-config.module'; import { DynamicFormConfigService } from './dynamic-form-config.service'; describe('DynamicFormConfigModule', () => { describe('without providers', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormConfigModule], + providers: [DynamicFormConfigService], }); }); @@ -32,12 +39,12 @@ describe('DynamicFormConfigModule', () => { describe('with DynamicFormLibraryService provided', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormConfigModule], providers: [ { provide: DynamicFormLibraryService, useValue: new DynamicFormLibraryService({ name: 'test' }), }, + DynamicFormConfigService, ], }); }); @@ -53,13 +60,7 @@ describe('DynamicFormConfigModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormConfigModule.withElement(type)], - providers: [ - { - provide: DynamicFormLibraryService, - useValue: new DynamicFormLibraryService({ name: 'test' }), - }, - ], + providers: importDynamicFormsProviders(withDynamicFormElements(type)), }); }); @@ -78,13 +79,7 @@ describe('DynamicFormConfigModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormConfigModule.withElements(types)], - providers: [ - { - provide: DynamicFormLibraryService, - useValue: new DynamicFormLibraryService({ name: 'test' }), - }, - ], + providers: importDynamicFormsProviders(withDynamicFormElements(...types)), }); }); @@ -100,13 +95,7 @@ describe('DynamicFormConfigModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormConfigModule.withField(type)], - providers: [ - { - provide: DynamicFormLibraryService, - useValue: new DynamicFormLibraryService({ name: 'test' }), - }, - ], + providers: importDynamicFormsProviders(withDynamicFormFields(type)), }); }); @@ -125,13 +114,7 @@ describe('DynamicFormConfigModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormConfigModule.withFields(types)], - providers: [ - { - provide: DynamicFormLibraryService, - useValue: new DynamicFormLibraryService({ name: 'test' }), - }, - ], + providers: importDynamicFormsProviders(withDynamicFormFields(...types)), }); }); @@ -147,13 +130,7 @@ describe('DynamicFormConfigModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormConfigModule.withAction(type)], - providers: [ - { - provide: DynamicFormLibraryService, - useValue: new DynamicFormLibraryService({ name: 'test' }), - }, - ], + providers: importDynamicFormsProviders(withDynamicFormActions(type)), }); }); @@ -172,13 +149,7 @@ describe('DynamicFormConfigModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormConfigModule.withActions(types)], - providers: [ - { - provide: DynamicFormLibraryService, - useValue: new DynamicFormLibraryService({ name: 'test' }), - }, - ], + providers: importDynamicFormsProviders(withDynamicFormActions(...types)), }); }); @@ -194,13 +165,7 @@ describe('DynamicFormConfigModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormConfigModule.withInput(type)], - providers: [ - { - provide: DynamicFormLibraryService, - useValue: new DynamicFormLibraryService({ name: 'test' }), - }, - ], + providers: importDynamicFormsProviders(withDynamicFormInputs(type)), }); }); @@ -219,13 +184,7 @@ describe('DynamicFormConfigModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormConfigModule.withInputs(types)], - providers: [ - { - provide: DynamicFormLibraryService, - useValue: new DynamicFormLibraryService({ name: 'test' }), - }, - ], + providers: importDynamicFormsProviders(withDynamicFormInputs(...types)), }); }); @@ -241,13 +200,7 @@ describe('DynamicFormConfigModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormConfigModule.withFieldWrapper(type)], - providers: [ - { - provide: DynamicFormLibraryService, - useValue: new DynamicFormLibraryService({ name: 'test' }), - }, - ], + providers: importDynamicFormsProviders(withDynamicFormFieldWrappers(type)), }); }); @@ -269,13 +222,7 @@ describe('DynamicFormConfigModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormConfigModule.withFieldWrappers(types)], - providers: [ - { - provide: DynamicFormLibraryService, - useValue: new DynamicFormLibraryService({ name: 'test' }), - }, - ], + providers: importDynamicFormsProviders(withDynamicFormFieldWrappers(...types)), }); }); diff --git a/libs/core/src/lib/dynamic-form-config/dynamic-form-config.module.ts b/libs/core/src/lib/dynamic-form-config/dynamic-form-config.module.ts index cb1df85a..1be346bd 100644 --- a/libs/core/src/lib/dynamic-form-config/dynamic-form-config.module.ts +++ b/libs/core/src/lib/dynamic-form-config/dynamic-form-config.module.ts @@ -1,4 +1,4 @@ -import { ModuleWithProviders, NgModule, Provider } from '@angular/core'; +import { Provider } from '@angular/core'; import { DynamicFormActionType } from '../dynamic-form-action/dynamic-form-action-type'; import { DYNAMIC_FORM_ACTION_TYPE_CONFIG } from '../dynamic-form-action/dynamic-form-action-type-config'; import { DynamicFormElementType } from '../dynamic-form-element/dynamic-form-element-type'; @@ -68,89 +68,3 @@ export function withDynamicFormFieldWrappers(...fieldWrapperTypes: DynamicFormFi }); return { providers }; } - -/** - * @deprecated Use {@link dynamicFormConfigProviders} instead. - */ -@NgModule({ providers: dynamicFormConfigProviders }) -export class DynamicFormConfigModule { - /** - * @deprecated Use {@link withDynamicFormElements} instead. - */ - static withElement(elementType: DynamicFormElementType): ModuleWithProviders { - const feature = withDynamicFormElements(elementType); - return { ngModule: DynamicFormConfigModule, providers: feature.providers }; - } - - /** - * @deprecated Use {@link withDynamicFormElements} instead. - */ - static withElements(elementTypes: DynamicFormElementType[]): ModuleWithProviders { - const feature = withDynamicFormElements(...elementTypes); - return { ngModule: DynamicFormConfigModule, providers: feature.providers }; - } - - /** - * @deprecated Use {@link withDynamicFormFields} instead. - */ - static withField(fieldType: DynamicFormFieldType): ModuleWithProviders { - const feature = withDynamicFormFields(fieldType); - return { ngModule: DynamicFormConfigModule, providers: feature.providers }; - } - - /** - * @deprecated Use {@link withDynamicFormFields} instead. - */ - static withFields(fieldTypes: DynamicFormFieldType[]): ModuleWithProviders { - const feature = withDynamicFormFields(...fieldTypes); - return { ngModule: DynamicFormConfigModule, providers: feature.providers }; - } - - /** - * @deprecated Use {@link withDynamicFormActions} instead. - */ - static withAction(actionType: DynamicFormActionType): ModuleWithProviders { - const feature = withDynamicFormActions(actionType); - return { ngModule: DynamicFormConfigModule, providers: feature.providers }; - } - - /** - * @deprecated Use {@link withDynamicFormActions} instead. - */ - static withActions(actionTypes: DynamicFormActionType[]): ModuleWithProviders { - const feature = withDynamicFormActions(...actionTypes); - return { ngModule: DynamicFormConfigModule, providers: feature.providers }; - } - - /** - * @deprecated Use {@link withDynamicFormInputs} instead. - */ - static withInput(inputType: DynamicFormInputType): ModuleWithProviders { - const feature = withDynamicFormInputs(inputType); - return { ngModule: DynamicFormConfigModule, providers: feature.providers }; - } - - /** - * @deprecated Use {@link withDynamicFormInputs} instead. - */ - static withInputs(inputTypes: DynamicFormInputType[]): ModuleWithProviders { - const feature = withDynamicFormInputs(...inputTypes); - return { ngModule: DynamicFormConfigModule, providers: feature.providers }; - } - - /** - * @deprecated Use {@link withDynamicFormFieldWrappers} instead. - */ - static withFieldWrapper(fieldWrapperType: DynamicFormFieldWrapperType): ModuleWithProviders { - const feature = withDynamicFormFieldWrappers(fieldWrapperType); - return { ngModule: DynamicFormConfigModule, providers: feature.providers }; - } - - /** - * @deprecated Use {@link withDynamicFormFieldWrappers} instead. - */ - static withFieldWrappers(fieldWrapperTypes: DynamicFormFieldWrapperType[]): ModuleWithProviders { - const feature = withDynamicFormFieldWrappers(...fieldWrapperTypes); - return { ngModule: DynamicFormConfigModule, providers: feature.providers }; - } -} diff --git a/libs/core/src/lib/dynamic-form-control/dynamic-form-control.component.spec.ts b/libs/core/src/lib/dynamic-form-control/dynamic-form-control.component.spec.ts index 4440a655..1a261ea6 100644 --- a/libs/core/src/lib/dynamic-form-control/dynamic-form-control.component.spec.ts +++ b/libs/core/src/lib/dynamic-form-control/dynamic-form-control.component.spec.ts @@ -16,7 +16,6 @@ import { DynamicFormValidationService } from '../dynamic-form-validation/dynamic import { DynamicFormControl } from './dynamic-form-control'; import { DynamicFormControlDefinition } from './dynamic-form-control-definition'; import { DynamicFormControlComponent } from './dynamic-form-control.component'; -import { DynamicFormControlModule } from './dynamic-form-control.module'; @Component({ standalone: true, @@ -41,7 +40,6 @@ class DynamicFormInputTwoComponent extends DynamicFormInputBase { } @NgModule({ - imports: [DynamicFormControlModule], providers: [ { provide: DynamicFormLibraryService, diff --git a/libs/core/src/lib/dynamic-form-control/dynamic-form-control.module.spec.ts b/libs/core/src/lib/dynamic-form-control/dynamic-form-control.module.spec.ts index 071f056c..b827b6fa 100644 --- a/libs/core/src/lib/dynamic-form-control/dynamic-form-control.module.spec.ts +++ b/libs/core/src/lib/dynamic-form-control/dynamic-form-control.module.spec.ts @@ -3,6 +3,7 @@ import { DynamicFormActionService } from '../dynamic-form-action/dynamic-form-ac import { DynamicFormConfigService } from '../dynamic-form-config/dynamic-form-config.service'; import { dynamicFormLibrary } from '../dynamic-form-library/dynamic-form-library'; import { DynamicFormLibraryService } from '../dynamic-form-library/dynamic-form-library.service'; +import { importDynamicFormsProviders } from '../dynamic-forms.module'; import { dynamicFormControlEvaluatorTypes } from './dynamic-form-control-evaluator-type'; import { DYNAMIC_FORM_CONTROL_EVALUATOR_TYPE_CONFIG, @@ -13,17 +14,19 @@ import { DYNAMIC_FORM_CONTROL_VALIDATOR_TYPE_CONFIG, DynamicFormControlValidatorTypeConfig, } from './dynamic-form-control-validator-type-config'; -import { DynamicFormControlModule, dynamicFormControlType } from './dynamic-form-control.module'; +import { dynamicFormControlType, withDynamicFormControlDefaultFeatures } from './dynamic-form-control.module'; describe('DynamicFormControlModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormControlModule], providers: [ { provide: DynamicFormLibraryService, useValue: new DynamicFormLibraryService(dynamicFormLibrary), }, + DynamicFormConfigService, + DynamicFormActionService, + importDynamicFormsProviders(...withDynamicFormControlDefaultFeatures()), ], }); }); diff --git a/libs/core/src/lib/dynamic-form-control/dynamic-form-control.module.ts b/libs/core/src/lib/dynamic-form-control/dynamic-form-control.module.ts index 402fb606..275af55a 100644 --- a/libs/core/src/lib/dynamic-form-control/dynamic-form-control.module.ts +++ b/libs/core/src/lib/dynamic-form-control/dynamic-form-control.module.ts @@ -1,12 +1,9 @@ -import { NgModule } from '@angular/core'; -import { DynamicFormActionModule } from '../dynamic-form-action/dynamic-form-action.module'; -import { DynamicFormConfigModule, withDynamicFormFields } from '../dynamic-form-config/dynamic-form-config.module'; +import { withDynamicFormFields } from '../dynamic-form-config/dynamic-form-config.module'; import { withDynamicFormControlEvaluators } from '../dynamic-form-evaluation/dynamic-form-evaluation.module'; import { DynamicFormFieldType } from '../dynamic-form-field/dynamic-form-field-type'; import { dynamicFormLibrary } from '../dynamic-form-library/dynamic-form-library'; import { withDynamicFormControlValidators } from '../dynamic-form-validation/dynamic-form-validation.module'; import { DynamicFormsFeature } from '../dynamic-forms-feature'; -import { importDynamicFormsProviders } from '../dynamic-forms.module'; import { dynamicFormControlEvaluatorTypes } from './dynamic-form-control-evaluator-type'; import { dynamicFormControlFactory } from './dynamic-form-control-factory'; import { dynamicFormControlValidatorTypes } from './dynamic-form-control-validator-type'; @@ -26,15 +23,3 @@ export function withDynamicFormControlDefaultFeatures(): DynamicFormsFeature[] { withDynamicFormControlEvaluators(...dynamicFormControlEvaluatorTypes), ]; } - -const modules = [DynamicFormActionModule, DynamicFormConfigModule]; - -/** - * @deprecated Use {@link withDynamicFormControlDefaultFeatures} instead. - */ -@NgModule({ - imports: modules, - exports: modules, - providers: importDynamicFormsProviders(...withDynamicFormControlDefaultFeatures()), -}) -export class DynamicFormControlModule {} diff --git a/libs/core/src/lib/dynamic-form-dictionary/dynamic-form-dictionary.component.spec.ts b/libs/core/src/lib/dynamic-form-dictionary/dynamic-form-dictionary.component.spec.ts index f179236a..73b10d8e 100644 --- a/libs/core/src/lib/dynamic-form-dictionary/dynamic-form-dictionary.component.spec.ts +++ b/libs/core/src/lib/dynamic-form-dictionary/dynamic-form-dictionary.component.spec.ts @@ -10,7 +10,6 @@ import { DynamicFormValidationService } from '../dynamic-form-validation/dynamic import { DynamicFormDictionary } from './dynamic-form-dictionary'; import { DynamicFormDictionaryDefinition } from './dynamic-form-dictionary-definition'; import { DynamicFormDictionaryComponent } from './dynamic-form-dictionary.component'; -import { DynamicFormDictionaryModule } from './dynamic-form-dictionary.module'; describe('DynamicFormDictionaryComponent', () => { let fixture: ComponentFixture; @@ -23,7 +22,6 @@ describe('DynamicFormDictionaryComponent', () => { builder = {} as any; TestBed.configureTestingModule({ - imports: [DynamicFormDictionaryModule], providers: [ { provide: DynamicFormLibraryService, diff --git a/libs/core/src/lib/dynamic-form-dictionary/dynamic-form-dictionary.module.spec.ts b/libs/core/src/lib/dynamic-form-dictionary/dynamic-form-dictionary.module.spec.ts index 07be16a2..ea53db81 100644 --- a/libs/core/src/lib/dynamic-form-dictionary/dynamic-form-dictionary.module.spec.ts +++ b/libs/core/src/lib/dynamic-form-dictionary/dynamic-form-dictionary.module.spec.ts @@ -9,13 +9,14 @@ import { DynamicFormElement } from '../dynamic-form-element/dynamic-form-element import { DynamicFormField } from '../dynamic-form-field/dynamic-form-field'; import { dynamicFormLibrary } from '../dynamic-form-library/dynamic-form-library'; import { DynamicFormLibraryService } from '../dynamic-form-library/dynamic-form-library.service'; +import { importDynamicFormsProviders } from '../dynamic-forms.module'; import { DynamicFormDictionary } from './dynamic-form-dictionary'; import { dynamicFormDictionaryValidatorTypes } from './dynamic-form-dictionary-validator-type'; import { DYNAMIC_FORM_DICTIONARY_VALIDATOR_TYPE_CONFIG, DynamicFormDictionaryValidatorTypeConfig, } from './dynamic-form-dictionary-validator-type-config'; -import { DynamicFormDictionaryModule, dynamicFormDictionaryType } from './dynamic-form-dictionary.module'; +import { dynamicFormDictionaryType, withDynamicFormDictionaryDefaultFeatures } from './dynamic-form-dictionary.module'; describe('DynamicFormDictionaryModule', () => { let formBuilder: DynamicFormBuilder; @@ -24,7 +25,6 @@ describe('DynamicFormDictionaryModule', () => { formBuilder = MockService(DynamicFormBuilder); TestBed.configureTestingModule({ - imports: [DynamicFormDictionaryModule], providers: [ { provide: DynamicFormLibraryService, @@ -34,6 +34,9 @@ describe('DynamicFormDictionaryModule', () => { provide: DynamicFormBuilder, useValue: formBuilder, }, + DynamicFormConfigService, + DynamicFormActionService, + importDynamicFormsProviders(...withDynamicFormDictionaryDefaultFeatures()), ], }); }); diff --git a/libs/core/src/lib/dynamic-form-dictionary/dynamic-form-dictionary.module.ts b/libs/core/src/lib/dynamic-form-dictionary/dynamic-form-dictionary.module.ts index cbd2971a..5bce8705 100644 --- a/libs/core/src/lib/dynamic-form-dictionary/dynamic-form-dictionary.module.ts +++ b/libs/core/src/lib/dynamic-form-dictionary/dynamic-form-dictionary.module.ts @@ -1,19 +1,13 @@ -import { NgModule } from '@angular/core'; import { DynamicFormBuilder } from '../dynamic-form/dynamic-form.builder'; import { DynamicFormAction } from '../dynamic-form-action/dynamic-form-action'; import { DynamicFormActionHandler } from '../dynamic-form-action/dynamic-form-action-handler'; -import { - DynamicFormActionModule, - withDynamicFormActionHandlerFactory, - withDynamicFormActionHandlers, -} from '../dynamic-form-action/dynamic-form-action.module'; -import { DynamicFormConfigModule, withDynamicFormFields } from '../dynamic-form-config/dynamic-form-config.module'; +import { withDynamicFormActionHandlerFactory, withDynamicFormActionHandlers } from '../dynamic-form-action/dynamic-form-action.module'; +import { withDynamicFormFields } from '../dynamic-form-config/dynamic-form-config.module'; import { DynamicFormField } from '../dynamic-form-field/dynamic-form-field'; import { DynamicFormFieldType } from '../dynamic-form-field/dynamic-form-field-type'; import { dynamicFormLibrary } from '../dynamic-form-library/dynamic-form-library'; import { withDynamicFormDictionaryValidators } from '../dynamic-form-validation/dynamic-form-validation.module'; import { DynamicFormsFeature } from '../dynamic-forms-feature'; -import { importDynamicFormsProviders } from '../dynamic-forms.module'; import { DynamicFormDictionary } from './dynamic-form-dictionary'; import { dynamicFormDictionaryFactory } from './dynamic-form-dictionary-factory'; import { dynamicFormDictionaryValidatorTypes } from './dynamic-form-dictionary-validator-type'; @@ -88,15 +82,3 @@ export function withDynamicFormDictionaryDefaultFeatures(): DynamicFormsFeature[ withDynamicFormActionHandlerFactory(dynamicFormDictionaryRegisterFieldHandlerFactory, [DynamicFormBuilder]), ]; } - -const modules = [DynamicFormActionModule, DynamicFormConfigModule]; - -/** - * @deprecated Use {@link withDynamicFormDictionaryDefaultFeatures} instead. - */ -@NgModule({ - imports: modules, - exports: modules, - providers: importDynamicFormsProviders(...withDynamicFormDictionaryDefaultFeatures()), -}) -export class DynamicFormDictionaryModule {} diff --git a/libs/core/src/lib/dynamic-form-element/dynamic-form-element.component.spec.ts b/libs/core/src/lib/dynamic-form-element/dynamic-form-element.component.spec.ts index a754a914..61b97b92 100644 --- a/libs/core/src/lib/dynamic-form-element/dynamic-form-element.component.spec.ts +++ b/libs/core/src/lib/dynamic-form-element/dynamic-form-element.component.spec.ts @@ -11,7 +11,6 @@ import { DynamicFormElementBase } from './dynamic-form-element-base'; import { DynamicFormElementDefinition } from './dynamic-form-element-definition'; import { DynamicFormElementType } from './dynamic-form-element-type'; import { DynamicFormElementComponent } from './dynamic-form-element.component'; -import { DynamicFormElementModule } from './dynamic-form-element.module'; @Component({ standalone: true, @@ -21,7 +20,6 @@ import { DynamicFormElementModule } from './dynamic-form-element.module'; class DynamicFormElementBaseComponent extends DynamicFormElementBase {} @NgModule({ - imports: [DynamicFormElementModule], providers: [ { provide: DynamicFormConfigService, diff --git a/libs/core/src/lib/dynamic-form-element/dynamic-form-element.module.spec.ts b/libs/core/src/lib/dynamic-form-element/dynamic-form-element.module.spec.ts index d8d14b5b..c159a03d 100644 --- a/libs/core/src/lib/dynamic-form-element/dynamic-form-element.module.spec.ts +++ b/libs/core/src/lib/dynamic-form-element/dynamic-form-element.module.spec.ts @@ -1,11 +1,10 @@ import { TestBed, TestModuleMetadata, inject } from '@angular/core/testing'; import { importDynamicFormsProviders } from '../dynamic-forms.module'; import { DYNAMIC_FORM_ELEMENT_TYPE_CONFIG, DynamicFormElementTypeConfig } from './dynamic-form-element-type-config'; -import { DynamicFormElementModule, dynamicFormElementTypes, withDynamicFormElementDefaultFeatures } from './dynamic-form-element.module'; +import { dynamicFormElementTypes, withDynamicFormElementDefaultFeatures } from './dynamic-form-element.module'; describe('DynamicFormElementModule', () => { const testModules: { name: string; def: TestModuleMetadata }[] = [ - { name: 'DynamicFormElementModule', def: { imports: [DynamicFormElementModule] } }, { name: 'withDynamicFormElementDefaultFeatures', def: { providers: importDynamicFormsProviders(...withDynamicFormElementDefaultFeatures()) }, diff --git a/libs/core/src/lib/dynamic-form-element/dynamic-form-element.module.ts b/libs/core/src/lib/dynamic-form-element/dynamic-form-element.module.ts index 7ebbe409..46c59b2b 100644 --- a/libs/core/src/lib/dynamic-form-element/dynamic-form-element.module.ts +++ b/libs/core/src/lib/dynamic-form-element/dynamic-form-element.module.ts @@ -1,7 +1,5 @@ -import { NgModule } from '@angular/core'; import { withDynamicFormElements } from '../dynamic-form-config/dynamic-form-config.module'; import { DynamicFormsFeature } from '../dynamic-forms-feature'; -import { importDynamicFormsProviders } from '../dynamic-forms.module'; import { dynamicFormContainerType } from './dynamic-form-container/dynamic-form-container-type'; import { dynamicFormContentType } from './dynamic-form-content/dynamic-form-content-type'; import { dynamicFormTextType } from './dynamic-form-text/dynamic-form-text-type'; @@ -11,11 +9,3 @@ export const dynamicFormElementTypes = [dynamicFormContainerType, dynamicFormCon export function withDynamicFormElementDefaultFeatures(): DynamicFormsFeature[] { return [withDynamicFormElements(...dynamicFormElementTypes)]; } - -/** - * @deprecated Use {@link withDynamicFormElementDefaultFeatures} instead. - */ -@NgModule({ - providers: importDynamicFormsProviders(...withDynamicFormElementDefaultFeatures()), -}) -export class DynamicFormElementModule {} diff --git a/libs/core/src/lib/dynamic-form-element/dynamic-form-elements.component.spec.ts b/libs/core/src/lib/dynamic-form-element/dynamic-form-elements.component.spec.ts index 2a219361..a489193c 100644 --- a/libs/core/src/lib/dynamic-form-element/dynamic-form-elements.component.spec.ts +++ b/libs/core/src/lib/dynamic-form-element/dynamic-form-elements.component.spec.ts @@ -7,7 +7,6 @@ import { DynamicFormErrorHandler } from '../dynamic-form-error/dynamic-form-erro import { DynamicFormElement } from './dynamic-form-element'; import { DynamicFormElementBase } from './dynamic-form-element-base'; import { DynamicFormElementComponent } from './dynamic-form-element.component'; -import { DynamicFormElementModule } from './dynamic-form-element.module'; import { DynamicFormElementsComponent } from './dynamic-form-elements.component'; @Component({ @@ -18,7 +17,6 @@ import { DynamicFormElementsComponent } from './dynamic-form-elements.component' class DynamicFormElementBaseComponent extends DynamicFormElementBase {} @NgModule({ - imports: [DynamicFormElementModule], providers: [ { provide: DynamicFormConfigService, diff --git a/libs/core/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.module.spec.ts b/libs/core/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.module.spec.ts index 77bd0184..ef7ca9ca 100644 --- a/libs/core/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.module.spec.ts +++ b/libs/core/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.module.spec.ts @@ -2,26 +2,28 @@ import { TestBed, inject } from '@angular/core/testing'; import { DynamicFormActionService } from '../../dynamic-form-action/dynamic-form-action.service'; import { dynamicFormLibrary } from '../../dynamic-form-library/dynamic-form-library'; import { DynamicFormLibraryService } from '../../dynamic-form-library/dynamic-form-library.service'; +import { importDynamicFormsProviders } from '../../dynamic-forms.module'; import { DynamicFormModal } from './dynamic-form-modal'; import { - DynamicFormModalModule, dynamicFormModalCloseHandler, dynamicFormModalMaximizeHandler, dynamicFormModalMinimizeHandler, dynamicFormModalOpenHandler, dynamicFormModalToggleHandler, dynamicFormModalToggleSizeHandler, + withDynamicFormModalActionHandlers, } from './dynamic-form-modal.module'; describe('DynamicFormModalModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormModalModule], providers: [ { provide: DynamicFormLibraryService, useValue: new DynamicFormLibraryService(dynamicFormLibrary), }, + DynamicFormActionService, + importDynamicFormsProviders(withDynamicFormModalActionHandlers()), ], }); }); diff --git a/libs/core/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.module.ts b/libs/core/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.module.ts index 4476e7d0..87775980 100644 --- a/libs/core/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.module.ts +++ b/libs/core/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.module.ts @@ -1,9 +1,7 @@ -import { NgModule } from '@angular/core'; import { DynamicFormActionHandler } from '../../dynamic-form-action/dynamic-form-action-handler'; -import { DynamicFormActionModule, withDynamicFormActionHandlers } from '../../dynamic-form-action/dynamic-form-action.module'; +import { withDynamicFormActionHandlers } from '../../dynamic-form-action/dynamic-form-action.module'; import { dynamicFormLibrary } from '../../dynamic-form-library/dynamic-form-library'; import { DynamicFormsFeature } from '../../dynamic-forms-feature'; -import { importDynamicFormsProviders } from '../../dynamic-forms.module'; import { DynamicFormModal } from './dynamic-form-modal'; export const dynamicFormModalOpen = (modal: DynamicFormModal): void => modal.open(); @@ -66,15 +64,3 @@ export const dynamicFormModalActionHandlers = [ export function withDynamicFormModalActionHandlers(): DynamicFormsFeature { return withDynamicFormActionHandlers(...dynamicFormModalActionHandlers); } - -const modules = [DynamicFormActionModule]; - -/** - * @deprecated Use {@link withDynamicFormModalActionHandlers} instead. - */ -@NgModule({ - imports: modules, - exports: modules, - providers: importDynamicFormsProviders(withDynamicFormModalActionHandlers()), -}) -export class DynamicFormModalModule {} diff --git a/libs/core/src/lib/dynamic-form-error/dynamic-form-error.module.spec.ts b/libs/core/src/lib/dynamic-form-error/dynamic-form-error.module.spec.ts index 45b6efc7..d9966fe2 100644 --- a/libs/core/src/lib/dynamic-form-error/dynamic-form-error.module.spec.ts +++ b/libs/core/src/lib/dynamic-form-error/dynamic-form-error.module.spec.ts @@ -1,9 +1,15 @@ import { TestBed, inject } from '@angular/core/testing'; import { DynamicFormLibraryService } from '../dynamic-form-library/dynamic-form-library.service'; +import { importDynamicFormsProviders } from '../dynamic-forms.module'; import { dynamicFormConsoleLogger } from './dynamic-form-console.logger'; import { DYNAMIC_FORM_ERROR_SETTINGS, DynamicFormErrorSettings } from './dynamic-form-error-settings'; import { DynamicFormErrorHandler } from './dynamic-form-error.handler'; -import { DynamicFormErrorModule } from './dynamic-form-error.module'; +import { + dynamicFormErrorProviders, + withDynamicFormErrorSettings, + withDynamicFormLoggerSettings, + withDynamicFormLoggers, +} from './dynamic-form-error.module'; import { DynamicFormLogLevel } from './dynamic-form-log-level'; import { DYNAMIC_FORM_LOGGER_SETTINGS, DynamicFormLoggerSettings } from './dynamic-form-logger-settings'; import { DynamicFormLoggerType } from './dynamic-form-logger-type'; @@ -13,9 +19,7 @@ import { DynamicFormLogger } from './dynamic-form.logger'; describe('DynamicFormErrorModule', () => { describe('without providers', () => { beforeEach(() => { - TestBed.configureTestingModule({ - imports: [DynamicFormErrorModule], - }); + TestBed.configureTestingModule({ providers: dynamicFormErrorProviders }); }); it('does not provide DynamicFormErrorHandler', () => { @@ -38,12 +42,12 @@ describe('DynamicFormErrorModule', () => { describe('with DynamicFormLibraryService provided', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormErrorModule], providers: [ { provide: DynamicFormLibraryService, useValue: new DynamicFormLibraryService({ name: 'test' }), }, + ...dynamicFormErrorProviders, ], }); }); @@ -62,7 +66,7 @@ describe('DynamicFormErrorModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormErrorModule.withErrorSettings(errorSettings)], + providers: importDynamicFormsProviders(withDynamicFormErrorSettings(errorSettings)), }); }); @@ -76,7 +80,7 @@ describe('DynamicFormErrorModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormErrorModule.withLoggerSettings(loggerSettings)], + providers: importDynamicFormsProviders(withDynamicFormLoggerSettings(loggerSettings)), }); }); @@ -90,13 +94,13 @@ describe('DynamicFormErrorModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormErrorModule.withLogger(loggerType)], + providers: importDynamicFormsProviders(withDynamicFormLoggers(loggerType)), }); }); it('provides DYNAMIC_FORM_LOGGER_TYPE_CONFIG', inject([DYNAMIC_FORM_LOGGER_TYPE_CONFIG], (config: DynamicFormLoggerTypeConfig) => { - expect(config.length).toBe(2); - expect(config[1]).toBe(loggerType); + expect(config.length).toBe(1); + expect(config[0]).toBe(loggerType); })); }); @@ -105,14 +109,14 @@ describe('DynamicFormErrorModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormErrorModule.withLoggers(loggerTypes)], + providers: importDynamicFormsProviders(withDynamicFormLoggers(...loggerTypes)), }); }); it('provides DYNAMIC_FORM_LOGGER_TYPE_CONFIG', inject([DYNAMIC_FORM_LOGGER_TYPE_CONFIG], (config: DynamicFormLoggerTypeConfig) => { - expect(config.length).toBe(3); - expect(config[1]).toBe(loggerTypes[0]); - expect(config[2]).toBe(loggerTypes[1]); + expect(config.length).toBe(2); + expect(config[0]).toBe(loggerTypes[0]); + expect(config[1]).toBe(loggerTypes[1]); })); }); }); diff --git a/libs/core/src/lib/dynamic-form-error/dynamic-form-error.module.ts b/libs/core/src/lib/dynamic-form-error/dynamic-form-error.module.ts index dadbfe35..65c731cc 100644 --- a/libs/core/src/lib/dynamic-form-error/dynamic-form-error.module.ts +++ b/libs/core/src/lib/dynamic-form-error/dynamic-form-error.module.ts @@ -1,4 +1,4 @@ -import { ModuleWithProviders, NgModule, Provider } from '@angular/core'; +import { Provider } from '@angular/core'; import { DynamicFormsFeature } from '../dynamic-forms-feature'; import { dynamicFormConsoleLogger } from './dynamic-form-console.logger'; import { DYNAMIC_FORM_ERROR_SETTINGS, DynamicFormErrorSettings } from './dynamic-form-error-settings'; @@ -38,41 +38,3 @@ export function withDynamicFormLoggers(...loggerTypes: DynamicFormLoggerType[]): }); return { providers }; } - -/** - * @deprecated Use {@link dynamicFormErrorProviders} instead. - */ -@NgModule({ providers: dynamicFormErrorProviders }) -export class DynamicFormErrorModule { - /** - * @deprecated Use {@link withDynamicFormErrorSettings} instead. - */ - static withErrorSettings(settings: DynamicFormErrorSettings): ModuleWithProviders { - const feature = withDynamicFormErrorSettings(settings); - return { ngModule: DynamicFormErrorModule, providers: feature.providers }; - } - - /** - * @deprecated Use {@link withDynamicFormLoggerSettings} instead. - */ - static withLoggerSettings(settings: DynamicFormLoggerSettings): ModuleWithProviders { - const feature = withDynamicFormLoggerSettings(settings); - return { ngModule: DynamicFormErrorModule, providers: feature.providers }; - } - - /** - * @deprecated Use {@link withDynamicFormLoggers} instead. - */ - static withLogger(loggerType: DynamicFormLoggerType): ModuleWithProviders { - const feature = withDynamicFormLoggers(loggerType); - return { ngModule: DynamicFormErrorModule, providers: feature.providers }; - } - - /** - * @deprecated Use {@link withDynamicFormLoggers} instead. - */ - static withLoggers(loggerTypes: DynamicFormLoggerType[]): ModuleWithProviders { - const feature = withDynamicFormLoggers(...loggerTypes); - return { ngModule: DynamicFormErrorModule, providers: feature.providers }; - } -} diff --git a/libs/core/src/lib/dynamic-form-evaluation/dynamic-form-evaluation.module.spec.ts b/libs/core/src/lib/dynamic-form-evaluation/dynamic-form-evaluation.module.spec.ts index b9053daf..851d00c2 100644 --- a/libs/core/src/lib/dynamic-form-evaluation/dynamic-form-evaluation.module.spec.ts +++ b/libs/core/src/lib/dynamic-form-evaluation/dynamic-form-evaluation.module.spec.ts @@ -5,15 +5,14 @@ import { DynamicFormControlEvaluatorTypeConfig, } from '../dynamic-form-control/dynamic-form-control-evaluator-type-config'; import { DynamicFormLibraryService } from '../dynamic-form-library/dynamic-form-library.service'; +import { importDynamicFormsProviders } from '../dynamic-forms.module'; import { DynamicFormEvaluationBuilder } from './dynamic-form-evaluation.builder'; -import { DynamicFormEvaluationModule } from './dynamic-form-evaluation.module'; +import { withDynamicFormControlEvaluators } from './dynamic-form-evaluation.module'; describe('DynamicFormEvaluationModule', () => { describe('without providers', () => { beforeEach(() => { - TestBed.configureTestingModule({ - imports: [DynamicFormEvaluationModule], - }); + TestBed.configureTestingModule({}); }); it('does not provide DynamicFormEvaluationBuilder', () => { @@ -24,12 +23,12 @@ describe('DynamicFormEvaluationModule', () => { describe('with DynamicFormLibraryService provided', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormEvaluationModule], providers: [ { provide: DynamicFormLibraryService, useValue: new DynamicFormLibraryService({ name: 'test' }), }, + DynamicFormEvaluationBuilder, ], }); }); @@ -48,13 +47,7 @@ describe('DynamicFormEvaluationModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormEvaluationModule.withControlEvaluator(controlEvaluatorType)], - providers: [ - { - provide: DynamicFormLibraryService, - useValue: new DynamicFormLibraryService({ name: 'test' }), - }, - ], + providers: importDynamicFormsProviders(withDynamicFormControlEvaluators(controlEvaluatorType)), }); }); @@ -75,13 +68,7 @@ describe('DynamicFormEvaluationModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormEvaluationModule.withControlEvaluators(controlEvaluatorTypes)], - providers: [ - { - provide: DynamicFormLibraryService, - useValue: new DynamicFormLibraryService({ name: 'test' }), - }, - ], + providers: importDynamicFormsProviders(withDynamicFormControlEvaluators(...controlEvaluatorTypes)), }); }); diff --git a/libs/core/src/lib/dynamic-form-evaluation/dynamic-form-evaluation.module.ts b/libs/core/src/lib/dynamic-form-evaluation/dynamic-form-evaluation.module.ts index 4b240a9f..3b01aeed 100644 --- a/libs/core/src/lib/dynamic-form-evaluation/dynamic-form-evaluation.module.ts +++ b/libs/core/src/lib/dynamic-form-evaluation/dynamic-form-evaluation.module.ts @@ -1,4 +1,4 @@ -import { ModuleWithProviders, NgModule, Provider } from '@angular/core'; +import { Provider } from '@angular/core'; import { DynamicFormControlEvaluatorType } from '../dynamic-form-control/dynamic-form-control-evaluator-type'; import { DYNAMIC_FORM_CONTROL_EVALUATOR_TYPE_CONFIG } from '../dynamic-form-control/dynamic-form-control-evaluator-type-config'; import { DynamicFormsFeature } from '../dynamic-forms-feature'; @@ -16,25 +16,3 @@ export function withDynamicFormControlEvaluators(...controlEvaluatorTypes: Dynam }); return { providers }; } - -/** - * @deprecated Use {@link dynamicFormEvaluationProviders} instead. - */ -@NgModule({ providers: dynamicFormEvaluationProviders }) -export class DynamicFormEvaluationModule { - /** - * @deprecated Use {@link withDynamicFormControlEvaluators} instead. - */ - static withControlEvaluator(controlEvaluatorType: DynamicFormControlEvaluatorType): ModuleWithProviders { - const feature = withDynamicFormControlEvaluators(controlEvaluatorType); - return { ngModule: DynamicFormEvaluationModule, providers: feature.providers }; - } - - /** - * @deprecated Use {@link withDynamicFormControlEvaluators} instead. - */ - static withControlEvaluators(controlEvaluatorTypes: DynamicFormControlEvaluatorType[]): ModuleWithProviders { - const feature = withDynamicFormControlEvaluators(...controlEvaluatorTypes); - return { ngModule: DynamicFormEvaluationModule, providers: feature.providers }; - } -} diff --git a/libs/core/src/lib/dynamic-form-field/dynamic-form-field.module.spec.ts b/libs/core/src/lib/dynamic-form-field/dynamic-form-field.module.spec.ts index 87d2a795..4284bb51 100644 --- a/libs/core/src/lib/dynamic-form-field/dynamic-form-field.module.spec.ts +++ b/libs/core/src/lib/dynamic-form-field/dynamic-form-field.module.spec.ts @@ -1,4 +1,4 @@ -import { TestBed, TestModuleMetadata, inject } from '@angular/core/testing'; +import { TestBed, inject } from '@angular/core/testing'; import { DynamicForm } from '../dynamic-form/dynamic-form'; import { DynamicFormAction } from '../dynamic-form-action/dynamic-form-action'; import { DynamicFormActionService } from '../dynamic-form-action/dynamic-form-action.service'; @@ -8,7 +8,6 @@ import { DynamicFormLibraryService } from '../dynamic-form-library/dynamic-form- import { importDynamicFormsProviders } from '../dynamic-forms.module'; import { DynamicFormField } from './dynamic-form-field'; import { - DynamicFormFieldModule, dynamicFormFieldClearHandler, dynamicFormFieldResetDefaultHandler, dynamicFormFieldResetEmptyHandler, @@ -19,142 +18,137 @@ import { } from './dynamic-form-field.module'; describe('DynamicFormFieldModule', () => { - const libraryProvider = { provide: DynamicFormLibraryService, useValue: new DynamicFormLibraryService(dynamicFormLibrary) }; - const testModules: { name: string; def: TestModuleMetadata }[] = [ - { - name: 'DynamicFormFieldModule', - def: { imports: [DynamicFormFieldModule], providers: [libraryProvider] }, - }, - { - name: 'withDynamicFormFieldDefaultFeatures', - def: { providers: [...importDynamicFormsProviders(...withDynamicFormFieldDefaultFeatures()), libraryProvider] }, - }, - ]; - - testModules.forEach(testModule => { - beforeEach(() => { - TestBed.configureTestingModule(testModule.def); + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [ + { + provide: DynamicFormLibraryService, + useValue: new DynamicFormLibraryService(dynamicFormLibrary), + }, + DynamicFormActionService, + importDynamicFormsProviders(...withDynamicFormFieldDefaultFeatures()), + ], }); + }); - it('provides DYNAMIC_FORM_ACTION_HANDLERS', inject([DynamicFormActionService], (service: DynamicFormActionService) => { - const handlers = service.handlers; + it('provides DYNAMIC_FORM_ACTION_HANDLERS', inject([DynamicFormActionService], (service: DynamicFormActionService) => { + const handlers = service.handlers; - expect(handlers.length).toBe(12); - expect(handlers[0]).toEqual(dynamicFormFieldClearHandler); - expect(handlers[0].func).toEqual(jasmine.any(Function)); - expect(handlers[0].libraryName).toEqual(dynamicFormLibrary.name); - expect(handlers[1]).toEqual(dynamicFormFieldResetHandler); - expect(handlers[1].func).toEqual(jasmine.any(Function)); - expect(handlers[1].libraryName).toEqual(dynamicFormLibrary.name); - expect(handlers[2]).toEqual(dynamicFormFieldResetEmptyHandler); - expect(handlers[2].func).toEqual(jasmine.any(Function)); - expect(handlers[2].libraryName).toEqual(dynamicFormLibrary.name); - expect(handlers[3]).toEqual(dynamicFormFieldResetDefaultHandler); - expect(handlers[3].func).toEqual(jasmine.any(Function)); - expect(handlers[3].libraryName).toEqual(dynamicFormLibrary.name); - expect(handlers[4]).toEqual(dynamicFormFieldValidateHandler); - expect(handlers[4].func).toEqual(jasmine.any(Function)); - expect(handlers[4].libraryName).toEqual(dynamicFormLibrary.name); - expect(handlers[5]).toEqual(dynamicFormSubmitHandler); - expect(handlers[5].func).toEqual(jasmine.any(Function)); - expect(handlers[5].libraryName).toEqual(dynamicFormLibrary.name); - })); + expect(handlers.length).toBe(6); + expect(handlers[0]).toEqual(dynamicFormFieldClearHandler); + expect(handlers[0].func).toEqual(jasmine.any(Function)); + expect(handlers[0].libraryName).toEqual(dynamicFormLibrary.name); + expect(handlers[1]).toEqual(dynamicFormFieldResetHandler); + expect(handlers[1].func).toEqual(jasmine.any(Function)); + expect(handlers[1].libraryName).toEqual(dynamicFormLibrary.name); + expect(handlers[2]).toEqual(dynamicFormFieldResetEmptyHandler); + expect(handlers[2].func).toEqual(jasmine.any(Function)); + expect(handlers[2].libraryName).toEqual(dynamicFormLibrary.name); + expect(handlers[3]).toEqual(dynamicFormFieldResetDefaultHandler); + expect(handlers[3].func).toEqual(jasmine.any(Function)); + expect(handlers[3].libraryName).toEqual(dynamicFormLibrary.name); + expect(handlers[4]).toEqual(dynamicFormFieldValidateHandler); + expect(handlers[4].func).toEqual(jasmine.any(Function)); + expect(handlers[4].libraryName).toEqual(dynamicFormLibrary.name); + expect(handlers[5]).toEqual(dynamicFormSubmitHandler); + expect(handlers[5].func).toEqual(jasmine.any(Function)); + expect(handlers[5].libraryName).toEqual(dynamicFormLibrary.name); + })); - it('handler calls reset of field', inject([DynamicFormActionService], (service: DynamicFormActionService) => { - const handler = service.handlers.find(h => h.type === 'reset'); - const field = { reset: () => {} } as DynamicFormField; + it('handler calls reset of field', inject([DynamicFormActionService], (service: DynamicFormActionService) => { + const handler = service.handlers.find(h => h.type === 'reset'); + const field = { reset: () => {} } as DynamicFormField; - spyOn(field, 'reset'); + spyOn(field, 'reset'); - handler.func(field, null); + handler.func(field, null); - expect(field.reset).toHaveBeenCalled(); - })); + expect(field.reset).toHaveBeenCalled(); + })); - it('handler calls clear of field', inject([DynamicFormActionService], (service: DynamicFormActionService) => { - const handler = service.handlers.find(h => h.type === 'clear'); - const field = { clear: () => {} } as DynamicFormField; + it('handler calls clear of field', inject([DynamicFormActionService], (service: DynamicFormActionService) => { + const handler = service.handlers.find(h => h.type === 'clear'); + const field = { clear: () => {} } as DynamicFormField; - spyOn(field, 'clear'); + spyOn(field, 'clear'); - handler.func(field, null); + handler.func(field, null); - expect(field.clear).toHaveBeenCalled(); - })); + expect(field.clear).toHaveBeenCalled(); + })); - it('handler calls resetEmpty of field', inject([DynamicFormActionService], (service: DynamicFormActionService) => { - const handler = service.handlers.find(h => h.type === 'resetEmpty'); - const field = { resetEmpty: () => {} } as DynamicFormField; + it('handler calls resetEmpty of field', inject([DynamicFormActionService], (service: DynamicFormActionService) => { + const handler = service.handlers.find(h => h.type === 'resetEmpty'); + const field = { resetEmpty: () => {} } as DynamicFormField; - spyOn(field, 'resetEmpty'); + spyOn(field, 'resetEmpty'); - handler.func(field, null); + handler.func(field, null); - expect(field.resetEmpty).toHaveBeenCalled(); - })); + expect(field.resetEmpty).toHaveBeenCalled(); + })); - it('handler calls resetDefault of field', inject([DynamicFormActionService], (service: DynamicFormActionService) => { - const handler = service.handlers.find(h => h.type === 'resetDefault'); - const field = { resetDefault: () => {} } as DynamicFormField; + it('handler calls resetDefault of field', inject([DynamicFormActionService], (service: DynamicFormActionService) => { + const handler = service.handlers.find(h => h.type === 'resetDefault'); + const field = { resetDefault: () => {} } as DynamicFormField; - spyOn(field, 'resetDefault'); + spyOn(field, 'resetDefault'); - handler.func(field, null); + handler.func(field, null); - expect(field.resetDefault).toHaveBeenCalled(); - })); + expect(field.resetDefault).toHaveBeenCalled(); + })); - it('handler calls validate of field', inject([DynamicFormActionService], (service: DynamicFormActionService) => { - const handler = service.handlers.find(h => h.type === 'validate'); - const field = { validate: () => {} } as DynamicFormField; + it('handler calls validate of field', inject([DynamicFormActionService], (service: DynamicFormActionService) => { + const handler = service.handlers.find(h => h.type === 'validate'); + const field = { validate: () => {} } as DynamicFormField; - spyOn(field, 'validate'); + spyOn(field, 'validate'); - handler.func(field, null); + handler.func(field, null); - expect(field.validate).toHaveBeenCalled(); - })); + expect(field.validate).toHaveBeenCalled(); + })); - it('handler returns root form', inject([DynamicFormActionService], (service: DynamicFormActionService) => { - const handler = service.handlers.find(h => h.type === 'submit'); - const root = { submit: () => {} } as DynamicForm; - const action = { root } as DynamicFormAction; + it('handler returns root form', inject([DynamicFormActionService], (service: DynamicFormActionService) => { + const handler = service.handlers.find(h => h.type === 'submit'); + const root = { submit: () => {} } as DynamicForm; + const action = { root } as DynamicFormAction; + + const form = handler.elementFunc(action); - const form = handler.elementFunc(action); + expect(form).toBe(root); + })); - expect(form).toBe(root); - })); + it('handler calls submit of form', inject([DynamicFormActionService], (service: DynamicFormActionService) => { + const handler = service.handlers.find(h => h.type === 'submit'); + const form = { submit: () => {} } as DynamicForm; + const field = {} as DynamicFormField; + const action = { root: form, parent: field as DynamicFormElement } as DynamicFormAction; - it('handler calls submit of form', inject([DynamicFormActionService], (service: DynamicFormActionService) => { + spyOn(form, 'submit'); + + handler.func(form, action); + + expect(form.submit).toHaveBeenCalled(); + })); + + it('handler calls closeDialog of parent action and submit of form', inject( + [DynamicFormActionService], + (service: DynamicFormActionService) => { const handler = service.handlers.find(h => h.type === 'submit'); const form = { submit: () => {} } as DynamicForm; - const field = {} as DynamicFormField; - const action = { root: form, parent: field as DynamicFormElement } as DynamicFormAction; + const dialog = {} as DynamicForm; + const dialogAction = { dialog, dialogOpen: true, closeDialog: () => {} } as DynamicFormAction; + const action = { root: form, parent: dialogAction as DynamicFormElement } as DynamicFormAction; spyOn(form, 'submit'); + spyOn(dialogAction, 'closeDialog'); handler.func(form, action); expect(form.submit).toHaveBeenCalled(); - })); - - it('handler calls closeDialog of parent action and submit of form', inject( - [DynamicFormActionService], - (service: DynamicFormActionService) => { - const handler = service.handlers.find(h => h.type === 'submit'); - const form = { submit: () => {} } as DynamicForm; - const dialog = {} as DynamicForm; - const dialogAction = { dialog, dialogOpen: true, closeDialog: () => {} } as DynamicFormAction; - const action = { root: form, parent: dialogAction as DynamicFormElement } as DynamicFormAction; - - spyOn(form, 'submit'); - spyOn(dialogAction, 'closeDialog'); - - handler.func(form, action); - - expect(form.submit).toHaveBeenCalled(); - expect(dialogAction.closeDialog).toHaveBeenCalled(); - }, - )); - }); + expect(dialogAction.closeDialog).toHaveBeenCalled(); + }, + )); }); diff --git a/libs/core/src/lib/dynamic-form-field/dynamic-form-field.module.ts b/libs/core/src/lib/dynamic-form-field/dynamic-form-field.module.ts index 6a8e88ab..bbc88f80 100644 --- a/libs/core/src/lib/dynamic-form-field/dynamic-form-field.module.ts +++ b/libs/core/src/lib/dynamic-form-field/dynamic-form-field.module.ts @@ -1,11 +1,9 @@ -import { NgModule } from '@angular/core'; import { DynamicForm } from '../dynamic-form/dynamic-form'; import { DynamicFormAction } from '../dynamic-form-action/dynamic-form-action'; import { DynamicFormActionHandler } from '../dynamic-form-action/dynamic-form-action-handler'; -import { DynamicFormActionModule, withDynamicFormActionHandlers } from '../dynamic-form-action/dynamic-form-action.module'; +import { withDynamicFormActionHandlers } from '../dynamic-form-action/dynamic-form-action.module'; import { dynamicFormLibrary } from '../dynamic-form-library/dynamic-form-library'; import { DynamicFormsFeature } from '../dynamic-forms-feature'; -import { importDynamicFormsProviders } from '../dynamic-forms.module'; import { DynamicFormField } from './dynamic-form-field'; export const dynamicFormFieldClear = (field: DynamicFormField): void => field.clear(); @@ -77,15 +75,3 @@ export const dynamicFormFieldActionHandlerDefaults = [ export function withDynamicFormFieldDefaultFeatures(): DynamicFormsFeature[] { return [withDynamicFormActionHandlers(...dynamicFormFieldActionHandlerDefaults)]; } - -const modules = [DynamicFormActionModule]; - -/** - * @deprecated Use {@link withDynamicFormFieldDefaultFeatures} instead. - */ -@NgModule({ - imports: modules, - exports: modules, - providers: importDynamicFormsProviders(...withDynamicFormFieldDefaultFeatures()), -}) -export class DynamicFormFieldModule {} diff --git a/libs/core/src/lib/dynamic-form-group/dynamic-form-group.component.spec.ts b/libs/core/src/lib/dynamic-form-group/dynamic-form-group.component.spec.ts index 4399a1da..5d502c9c 100644 --- a/libs/core/src/lib/dynamic-form-group/dynamic-form-group.component.spec.ts +++ b/libs/core/src/lib/dynamic-form-group/dynamic-form-group.component.spec.ts @@ -9,7 +9,6 @@ import { DynamicFormValidationService } from '../dynamic-form-validation/dynamic import { DynamicFormGroup } from './dynamic-form-group'; import { DynamicFormGroupDefinition } from './dynamic-form-group-definition'; import { DynamicFormGroupComponent } from './dynamic-form-group.component'; -import { DynamicFormGroupModule } from './dynamic-form-group.module'; describe('DynamicFormGroupComponent', () => { let fixture: ComponentFixture; @@ -20,7 +19,6 @@ describe('DynamicFormGroupComponent', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormGroupModule], providers: [ { provide: DynamicFormLibraryService, diff --git a/libs/core/src/lib/dynamic-form-group/dynamic-form-group.module.spec.ts b/libs/core/src/lib/dynamic-form-group/dynamic-form-group.module.spec.ts index 343dc1f8..b146d106 100644 --- a/libs/core/src/lib/dynamic-form-group/dynamic-form-group.module.spec.ts +++ b/libs/core/src/lib/dynamic-form-group/dynamic-form-group.module.spec.ts @@ -3,19 +3,22 @@ import { DynamicFormActionService } from '../dynamic-form-action/dynamic-form-ac import { DynamicFormConfigService } from '../dynamic-form-config/dynamic-form-config.service'; import { dynamicFormLibrary } from '../dynamic-form-library/dynamic-form-library'; import { DynamicFormLibraryService } from '../dynamic-form-library/dynamic-form-library.service'; +import { importDynamicFormsProviders } from '../dynamic-forms.module'; import { dynamicFormGroupValidatorTypes } from './dynamic-form-group-validator-type'; import { DYNAMIC_FORM_GROUP_VALIDATOR_TYPE_CONFIG, DynamicFormGroupValidatorTypeConfig } from './dynamic-form-group-validator-type-config'; -import { DynamicFormGroupModule, dynamicFormGroupType } from './dynamic-form-group.module'; +import { dynamicFormGroupType, withDynamicFormGroupDefaultFeatures } from './dynamic-form-group.module'; describe('DynamicFormGroupModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormGroupModule], providers: [ { provide: DynamicFormLibraryService, useValue: new DynamicFormLibraryService(dynamicFormLibrary), }, + DynamicFormConfigService, + DynamicFormActionService, + importDynamicFormsProviders(...withDynamicFormGroupDefaultFeatures()), ], }); }); @@ -40,6 +43,6 @@ describe('DynamicFormGroupModule', () => { it('provides DYNAMIC_FORM_ACTION_HANDLERS', inject([DynamicFormActionService], (service: DynamicFormActionService) => { const handlers = service.handlers; - expect(handlers.length).toBe(6); + expect(handlers.length).toBe(0); })); }); diff --git a/libs/core/src/lib/dynamic-form-group/dynamic-form-group.module.ts b/libs/core/src/lib/dynamic-form-group/dynamic-form-group.module.ts index 9ae34a6f..fa189959 100644 --- a/libs/core/src/lib/dynamic-form-group/dynamic-form-group.module.ts +++ b/libs/core/src/lib/dynamic-form-group/dynamic-form-group.module.ts @@ -1,12 +1,8 @@ -import { NgModule } from '@angular/core'; -import { DynamicFormConfigModule, withDynamicFormFields } from '../dynamic-form-config/dynamic-form-config.module'; -import { DynamicFormElementModule } from '../dynamic-form-element/dynamic-form-element.module'; +import { withDynamicFormFields } from '../dynamic-form-config/dynamic-form-config.module'; import { DynamicFormFieldType } from '../dynamic-form-field/dynamic-form-field-type'; -import { DynamicFormFieldModule } from '../dynamic-form-field/dynamic-form-field.module'; import { dynamicFormLibrary } from '../dynamic-form-library/dynamic-form-library'; -import { DynamicFormValidationModule, withDynamicFormGroupValidators } from '../dynamic-form-validation/dynamic-form-validation.module'; +import { withDynamicFormGroupValidators } from '../dynamic-form-validation/dynamic-form-validation.module'; import { DynamicFormsFeature } from '../dynamic-forms-feature'; -import { importDynamicFormsProviders } from '../dynamic-forms.module'; import { dynamicFormGroupFactory } from './dynamic-form-group-factory'; import { dynamicFormGroupValidatorTypes } from './dynamic-form-group-validator-type'; import { DynamicFormGroupComponent } from './dynamic-form-group.component'; @@ -21,15 +17,3 @@ export const dynamicFormGroupType: DynamicFormFieldType = { export function withDynamicFormGroupDefaultFeatures(): DynamicFormsFeature[] { return [withDynamicFormFields(dynamicFormGroupType), withDynamicFormGroupValidators(...dynamicFormGroupValidatorTypes)]; } - -const modules = [DynamicFormConfigModule, DynamicFormElementModule, DynamicFormFieldModule, DynamicFormValidationModule]; - -/** - * @deprecated Use {@link withDynamicFormGroupDefaultFeatures} instead. - */ -@NgModule({ - imports: modules, - exports: modules, - providers: importDynamicFormsProviders(...withDynamicFormGroupDefaultFeatures()), -}) -export class DynamicFormGroupModule {} diff --git a/libs/core/src/lib/dynamic-form-input/dynamic-form-file/dynamic-form-file.module.ts b/libs/core/src/lib/dynamic-form-input/dynamic-form-file/dynamic-form-file.module.ts index daf098a9..2ad5b5d4 100644 --- a/libs/core/src/lib/dynamic-form-input/dynamic-form-file/dynamic-form-file.module.ts +++ b/libs/core/src/lib/dynamic-form-input/dynamic-form-file/dynamic-form-file.module.ts @@ -1,15 +1,7 @@ -import { NgModule } from '@angular/core'; import { withDynamicFormControlValidators } from '../../dynamic-form-validation/dynamic-form-validation.module'; import { DynamicFormsFeature } from '../../dynamic-forms-feature'; -import { importDynamicFormsProviders } from '../../dynamic-forms.module'; import { dynamicFormFileMaxSizeValidatorType } from './dynamic-form-file-validators'; export function withDynamicFormFileValidators(): DynamicFormsFeature { return withDynamicFormControlValidators(dynamicFormFileMaxSizeValidatorType); } - -/** - * @deprecated Use {@link withDynamicFormFileValidators} instead. - */ -@NgModule({ providers: importDynamicFormsProviders(withDynamicFormFileValidators()) }) -export class DynamicFormFileModule {} diff --git a/libs/core/src/lib/dynamic-form-input/dynamic-form-textbox/dynamic-form-textbox.module.spec.ts b/libs/core/src/lib/dynamic-form-input/dynamic-form-textbox/dynamic-form-textbox.module.spec.ts index be540b3b..f7c68319 100644 --- a/libs/core/src/lib/dynamic-form-input/dynamic-form-textbox/dynamic-form-textbox.module.spec.ts +++ b/libs/core/src/lib/dynamic-form-input/dynamic-form-textbox/dynamic-form-textbox.module.spec.ts @@ -2,18 +2,20 @@ import { TestBed, inject } from '@angular/core/testing'; import { DynamicFormActionService } from '../../dynamic-form-action/dynamic-form-action.service'; import { dynamicFormLibrary } from '../../dynamic-form-library/dynamic-form-library'; import { DynamicFormLibraryService } from '../../dynamic-form-library/dynamic-form-library.service'; +import { importDynamicFormsProviders } from '../../dynamic-forms.module'; import { DynamicFormTextboxControl } from './dynamic-form-textbox'; -import { DynamicFormTextboxModule, dynamicFormTextboxToggleAsTextTypeHandler } from './dynamic-form-textbox.module'; +import { dynamicFormTextboxToggleAsTextTypeHandler, withDynamicFormTextboxActionHandlers } from './dynamic-form-textbox.module'; describe('DynamicFormTextboxModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormTextboxModule], providers: [ { provide: DynamicFormLibraryService, useValue: new DynamicFormLibraryService(dynamicFormLibrary), }, + DynamicFormActionService, + importDynamicFormsProviders(withDynamicFormTextboxActionHandlers()), ], }); }); diff --git a/libs/core/src/lib/dynamic-form-input/dynamic-form-textbox/dynamic-form-textbox.module.ts b/libs/core/src/lib/dynamic-form-input/dynamic-form-textbox/dynamic-form-textbox.module.ts index 042305f2..1228d499 100644 --- a/libs/core/src/lib/dynamic-form-input/dynamic-form-textbox/dynamic-form-textbox.module.ts +++ b/libs/core/src/lib/dynamic-form-input/dynamic-form-textbox/dynamic-form-textbox.module.ts @@ -1,10 +1,8 @@ -import { NgModule } from '@angular/core'; import { DynamicFormActionHandler } from '../../dynamic-form-action/dynamic-form-action-handler'; -import { DynamicFormActionModule, withDynamicFormActionHandlers } from '../../dynamic-form-action/dynamic-form-action.module'; +import { withDynamicFormActionHandlers } from '../../dynamic-form-action/dynamic-form-action.module'; import { DynamicFormControl } from '../../dynamic-form-control/dynamic-form-control'; import { dynamicFormLibrary } from '../../dynamic-form-library/dynamic-form-library'; import { DynamicFormsFeature } from '../../dynamic-forms-feature'; -import { importDynamicFormsProviders } from '../../dynamic-forms.module'; import { DynamicFormTextbox } from './dynamic-form-textbox'; export const dynamicFormTextboxToggleAsTextType = (field: DynamicFormControl): void => { @@ -21,15 +19,3 @@ export const dynamicFormTextboxToggleAsTextTypeHandler: DynamicFormActionHandler export function withDynamicFormTextboxActionHandlers(): DynamicFormsFeature { return withDynamicFormActionHandlers(dynamicFormTextboxToggleAsTextTypeHandler); } - -const modules = [DynamicFormActionModule]; - -/** - * @deprecated Use {@link withDynamicFormTextboxActionHandlers} instead. - */ -@NgModule({ - imports: modules, - exports: modules, - providers: importDynamicFormsProviders(withDynamicFormTextboxActionHandlers()), -}) -export class DynamicFormTextboxModule {} diff --git a/libs/core/src/lib/dynamic-form-library/dynamic-form-library.module.spec.ts b/libs/core/src/lib/dynamic-form-library/dynamic-form-library.module.spec.ts index 45ce1ecf..a2294033 100644 --- a/libs/core/src/lib/dynamic-form-library/dynamic-form-library.module.spec.ts +++ b/libs/core/src/lib/dynamic-form-library/dynamic-form-library.module.spec.ts @@ -1,15 +1,13 @@ -import { TestBed, TestModuleMetadata, inject } from '@angular/core/testing'; +import { TestBed, inject } from '@angular/core/testing'; import { importDynamicFormsProviders } from '../dynamic-forms.module'; import { DYNAMIC_FORM_LIBRARY, DynamicFormLibrary } from './dynamic-form-library'; -import { DynamicFormLibraryModule, withDynamicFormsLibrary } from './dynamic-form-library.module'; +import { withDynamicFormsLibrary } from './dynamic-form-library.module'; import { DynamicFormLibraryService } from './dynamic-form-library.service'; describe('DynamicFormLibraryModule', () => { describe('without providers', () => { beforeEach(() => { - TestBed.configureTestingModule({ - imports: [DynamicFormLibraryModule], - }); + TestBed.configureTestingModule({}); }); it('does not provide DYNAMIC_FORM_LIBRARY', () => { @@ -26,29 +24,20 @@ describe('DynamicFormLibraryModule', () => { name: 'test', references: ['test-core', 'test-core-extended'], }; - const testModules: { name: string; def: TestModuleMetadata }[] = [ - { name: 'DynamicFormLibraryModule', def: { imports: [DynamicFormLibraryModule.forLibrary(testLibrary)] } }, - { - name: 'withDynamicFormsLibrary', - def: { imports: [DynamicFormLibraryModule], providers: importDynamicFormsProviders(withDynamicFormsLibrary(testLibrary)) }, - }, - ]; - - testModules.forEach(testModule => { - describe(`${testModule.name}`, () => { - beforeEach(() => { - TestBed.configureTestingModule(testModule.def); - }); - - it('provides DYNAMIC_FORM_LIBRARY', inject([DYNAMIC_FORM_LIBRARY], (library: DynamicFormLibrary) => { - expect(library).toEqual(testLibrary); - })); - it('provides DynamicFormLibraryService', inject([DynamicFormLibraryService], (service: DynamicFormLibraryService) => { - expect(service).toBeTruthy(); - expect(service.library).toEqual(testLibrary); - })); + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [DynamicFormLibraryService, importDynamicFormsProviders(withDynamicFormsLibrary(testLibrary))], }); }); + + it('provides DYNAMIC_FORM_LIBRARY', inject([DYNAMIC_FORM_LIBRARY], (library: DynamicFormLibrary) => { + expect(library).toEqual(testLibrary); + })); + + it('provides DynamicFormLibraryService', inject([DynamicFormLibraryService], (service: DynamicFormLibraryService) => { + expect(service).toBeTruthy(); + expect(service.library).toEqual(testLibrary); + })); }); }); diff --git a/libs/core/src/lib/dynamic-form-library/dynamic-form-library.module.ts b/libs/core/src/lib/dynamic-form-library/dynamic-form-library.module.ts index c29fb532..bfe1b763 100644 --- a/libs/core/src/lib/dynamic-form-library/dynamic-form-library.module.ts +++ b/libs/core/src/lib/dynamic-form-library/dynamic-form-library.module.ts @@ -1,4 +1,4 @@ -import { ModuleWithProviders, NgModule, Provider } from '@angular/core'; +import { Provider } from '@angular/core'; import { DynamicFormsFeature } from '../dynamic-forms-feature'; import { DYNAMIC_FORM_LIBRARY, DynamicFormLibrary } from './dynamic-form-library'; import { DynamicFormLibraryService } from './dynamic-form-library.service'; @@ -8,17 +8,3 @@ export const dynamicFormLibraryProviders: Provider[] = [DynamicFormLibraryServic export function withDynamicFormsLibrary(library: DynamicFormLibrary): DynamicFormsFeature { return { providers: [{ provide: DYNAMIC_FORM_LIBRARY, useValue: library }] }; } - -/** - * @deprecated Use {@link dynamicFormLibraryProviders} instead. - */ -@NgModule({ providers: dynamicFormLibraryProviders }) -export class DynamicFormLibraryModule { - /** - * @deprecated Use {@link provideDynamicForms} instead. - */ - static forLibrary(library: DynamicFormLibrary): ModuleWithProviders { - const provider = { provide: DYNAMIC_FORM_LIBRARY, useValue: library }; - return { ngModule: DynamicFormLibraryModule, providers: [provider] }; - } -} diff --git a/libs/core/src/lib/dynamic-form-theme/dynamic-form-theme.module.spec.ts b/libs/core/src/lib/dynamic-form-theme/dynamic-form-theme.module.spec.ts index 6083ca9a..5f5adb16 100644 --- a/libs/core/src/lib/dynamic-form-theme/dynamic-form-theme.module.spec.ts +++ b/libs/core/src/lib/dynamic-form-theme/dynamic-form-theme.module.spec.ts @@ -1,15 +1,14 @@ import { TestBed, inject } from '@angular/core/testing'; import { DynamicFormLibraryService } from '../dynamic-form-library/dynamic-form-library.service'; +import { importDynamicFormsProviders } from '../dynamic-forms.module'; import { DYNAMIC_FORM_COLOR_CONFIGS, DynamicFormColorConfig, DynamicFormColorConfigs } from './dynamic-form-color-config'; import { DynamicFormColorService } from './dynamic-form-color.service'; -import { DynamicFormThemeModule } from './dynamic-form-theme.module'; +import { withDynamicFormColors } from './dynamic-form-theme.module'; describe('DynamicFormThemeModule', () => { describe('without providers', () => { beforeEach(() => { - TestBed.configureTestingModule({ - imports: [DynamicFormThemeModule], - }); + TestBed.configureTestingModule({}); }); it('does not provide DynamicFormColorService', () => { @@ -20,12 +19,12 @@ describe('DynamicFormThemeModule', () => { describe('with DynamicFormLibraryService provided', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormThemeModule], providers: [ { provide: DynamicFormLibraryService, useValue: new DynamicFormLibraryService({ name: 'test' }), }, + DynamicFormColorService, ], }); }); @@ -41,12 +40,12 @@ describe('DynamicFormThemeModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormThemeModule.withColors(config)], providers: [ { provide: DynamicFormLibraryService, useValue: new DynamicFormLibraryService({ name: 'test' }), }, + importDynamicFormsProviders(withDynamicFormColors(config)), ], }); }); diff --git a/libs/core/src/lib/dynamic-form-theme/dynamic-form-theme.module.ts b/libs/core/src/lib/dynamic-form-theme/dynamic-form-theme.module.ts index b701caef..5b8daa11 100644 --- a/libs/core/src/lib/dynamic-form-theme/dynamic-form-theme.module.ts +++ b/libs/core/src/lib/dynamic-form-theme/dynamic-form-theme.module.ts @@ -1,4 +1,4 @@ -import { ModuleWithProviders, NgModule, Provider } from '@angular/core'; +import { Provider } from '@angular/core'; import { DynamicFormsFeature } from '../dynamic-forms-feature'; import { DYNAMIC_FORM_COLOR_CONFIGS, DynamicFormColorConfig } from './dynamic-form-color-config'; import { DynamicFormColorService } from './dynamic-form-color.service'; @@ -8,17 +8,3 @@ export const dynamicFormThemeProviders: Provider[] = [DynamicFormColorService]; export function withDynamicFormColors(colorConfig: DynamicFormColorConfig): DynamicFormsFeature { return { providers: [{ provide: DYNAMIC_FORM_COLOR_CONFIGS, useValue: colorConfig, multi: true }] }; } - -/** - * @deprecated Use {@link dynamicFormThemeProviders} instead. - */ -@NgModule({ providers: dynamicFormThemeProviders }) -export class DynamicFormThemeModule { - /** - * @deprecated Use {@link withDynamicFormColors} instead. - */ - static withColors(colorConfig: DynamicFormColorConfig): ModuleWithProviders { - const feature = withDynamicFormColors(colorConfig); - return { ngModule: DynamicFormThemeModule, providers: feature.providers }; - } -} diff --git a/libs/core/src/lib/dynamic-form-validation/dynamic-form-validation.module.spec.ts b/libs/core/src/lib/dynamic-form-validation/dynamic-form-validation.module.spec.ts index 9f8f999e..cd83a6e7 100644 --- a/libs/core/src/lib/dynamic-form-validation/dynamic-form-validation.module.spec.ts +++ b/libs/core/src/lib/dynamic-form-validation/dynamic-form-validation.module.spec.ts @@ -26,8 +26,19 @@ import { DynamicFormValidationConfigs, dynamicFormValidationConfig, } from '../dynamic-form-validation/dynamic-form-validation-config'; +import { importDynamicFormsProviders } from '../dynamic-forms.module'; import { DynamicFormValidationBuilder } from './dynamic-form-validation.builder'; -import { DynamicFormValidationModule } from './dynamic-form-validation.module'; +import { + withDynamicFormArrayValidatorFactory, + withDynamicFormArrayValidators, + withDynamicFormControlValidatorFactory, + withDynamicFormControlValidators, + withDynamicFormDictionaryValidatorFactory, + withDynamicFormDictionaryValidators, + withDynamicFormGroupValidatorFactory, + withDynamicFormGroupValidators, + withDynamicFormValidation, +} from './dynamic-form-validation.module'; import { DynamicFormValidationService } from './dynamic-form-validation.service'; class Dependency {} @@ -35,9 +46,7 @@ class Dependency {} describe('DynamicFormValidationModule', () => { describe('without providers', () => { beforeEach(() => { - TestBed.configureTestingModule({ - imports: [DynamicFormValidationModule], - }); + TestBed.configureTestingModule({}); }); it('does not provide DynamicFormValidationBuilder', () => { @@ -52,12 +61,13 @@ describe('DynamicFormValidationModule', () => { describe('with DynamicFormLibraryService provided', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormValidationModule], providers: [ { provide: DynamicFormLibraryService, useValue: new DynamicFormLibraryService({ name: 'test' }), }, + DynamicFormValidationBuilder, + DynamicFormValidationService, ], }); }); @@ -80,12 +90,12 @@ describe('DynamicFormValidationModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormValidationModule.withControlValidator(controlValidatorType)], providers: [ { provide: DynamicFormLibraryService, useValue: new DynamicFormLibraryService({ name: 'test' }), }, + importDynamicFormsProviders(withDynamicFormControlValidators(controlValidatorType)), ], }); }); @@ -107,12 +117,12 @@ describe('DynamicFormValidationModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormValidationModule.withControlValidators(controlValidatorTypes)], providers: [ { provide: DynamicFormLibraryService, useValue: new DynamicFormLibraryService({ name: 'test' }), }, + importDynamicFormsProviders(withDynamicFormControlValidators(...controlValidatorTypes)), ], }); }); @@ -139,7 +149,6 @@ describe('DynamicFormValidationModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormValidationModule.withControlValidatorFactory(controlValidatorTypeFactory, [Dependency])], providers: [ { provide: Dependency, @@ -149,6 +158,7 @@ describe('DynamicFormValidationModule', () => { provide: DynamicFormLibraryService, useValue: new DynamicFormLibraryService({ name: 'test' }), }, + importDynamicFormsProviders(withDynamicFormControlValidatorFactory(controlValidatorTypeFactory, [Dependency])), ], }); }); @@ -176,12 +186,12 @@ describe('DynamicFormValidationModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormValidationModule.withGroupValidator(groupValidatorType)], providers: [ { provide: DynamicFormLibraryService, useValue: new DynamicFormLibraryService({ name: 'test' }), }, + importDynamicFormsProviders(withDynamicFormGroupValidators(groupValidatorType)), ], }); }); @@ -203,12 +213,12 @@ describe('DynamicFormValidationModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormValidationModule.withGroupValidators(groupValidatorTypes)], providers: [ { provide: DynamicFormLibraryService, useValue: new DynamicFormLibraryService({ name: 'test' }), }, + importDynamicFormsProviders(withDynamicFormGroupValidators(...groupValidatorTypes)), ], }); }); @@ -235,7 +245,6 @@ describe('DynamicFormValidationModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormValidationModule.withGroupValidatorFactory(groupValidatorTypeFactory, [Dependency])], providers: [ { provide: Dependency, @@ -245,6 +254,7 @@ describe('DynamicFormValidationModule', () => { provide: DynamicFormLibraryService, useValue: new DynamicFormLibraryService({ name: 'test' }), }, + importDynamicFormsProviders(withDynamicFormGroupValidatorFactory(groupValidatorTypeFactory, [Dependency])), ], }); }); @@ -272,12 +282,12 @@ describe('DynamicFormValidationModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormValidationModule.withArrayValidator(arrayValidatorType)], providers: [ { provide: DynamicFormLibraryService, useValue: new DynamicFormLibraryService({ name: 'test' }), }, + importDynamicFormsProviders(withDynamicFormArrayValidators(arrayValidatorType)), ], }); }); @@ -299,12 +309,12 @@ describe('DynamicFormValidationModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormValidationModule.withArrayValidators(arrayValidatorTypes)], providers: [ { provide: DynamicFormLibraryService, useValue: new DynamicFormLibraryService({ name: 'test' }), }, + importDynamicFormsProviders(withDynamicFormArrayValidators(...arrayValidatorTypes)), ], }); }); @@ -331,7 +341,6 @@ describe('DynamicFormValidationModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormValidationModule.withArrayValidatorFactory(arrayValidatorTypeFactory, [Dependency])], providers: [ { provide: Dependency, @@ -341,6 +350,7 @@ describe('DynamicFormValidationModule', () => { provide: DynamicFormLibraryService, useValue: new DynamicFormLibraryService({ name: 'test' }), }, + importDynamicFormsProviders(withDynamicFormArrayValidatorFactory(arrayValidatorTypeFactory, [Dependency])), ], }); }); @@ -368,12 +378,12 @@ describe('DynamicFormValidationModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormValidationModule.withDictionaryValidator(dictionaryValidatorType)], providers: [ { provide: DynamicFormLibraryService, useValue: new DynamicFormLibraryService({ name: 'test' }), }, + importDynamicFormsProviders(withDynamicFormDictionaryValidators(dictionaryValidatorType)), ], }); }); @@ -395,12 +405,12 @@ describe('DynamicFormValidationModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormValidationModule.withDictionaryValidators(dictionaryValidatorTypes)], providers: [ { provide: DynamicFormLibraryService, useValue: new DynamicFormLibraryService({ name: 'test' }), }, + importDynamicFormsProviders(withDynamicFormDictionaryValidators(...dictionaryValidatorTypes)), ], }); }); @@ -427,7 +437,6 @@ describe('DynamicFormValidationModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormValidationModule.withDictionaryValidatorFactory(dictionaryValidatorTypeFactory, [Dependency])], providers: [ { provide: Dependency, @@ -437,6 +446,7 @@ describe('DynamicFormValidationModule', () => { provide: DynamicFormLibraryService, useValue: new DynamicFormLibraryService({ name: 'test' }), }, + importDynamicFormsProviders(withDynamicFormDictionaryValidatorFactory(dictionaryValidatorTypeFactory, [Dependency])), ], }); }); @@ -458,13 +468,7 @@ describe('DynamicFormValidationModule', () => { describe('withValidation for default config', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormValidationModule.withValidation()], - providers: [ - { - provide: DynamicFormLibraryService, - useValue: new DynamicFormLibraryService({ name: 'test' }), - }, - ], + providers: importDynamicFormsProviders(withDynamicFormValidation()), }); }); @@ -480,13 +484,7 @@ describe('DynamicFormValidationModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormValidationModule.withValidation(config)], - providers: [ - { - provide: DynamicFormLibraryService, - useValue: new DynamicFormLibraryService({ name: 'test' }), - }, - ], + providers: importDynamicFormsProviders(withDynamicFormValidation(config)), }); }); diff --git a/libs/core/src/lib/dynamic-form-validation/dynamic-form-validation.module.ts b/libs/core/src/lib/dynamic-form-validation/dynamic-form-validation.module.ts index ce7f33d4..c558df3d 100644 --- a/libs/core/src/lib/dynamic-form-validation/dynamic-form-validation.module.ts +++ b/libs/core/src/lib/dynamic-form-validation/dynamic-form-validation.module.ts @@ -1,4 +1,3 @@ -import { ModuleWithProviders, NgModule } from '@angular/core'; import { DynamicFormArrayAsyncValidatorType, DynamicFormArrayValidatorType } from '../dynamic-form-array/dynamic-form-array-validator-type'; import { DYNAMIC_FORM_ARRAY_VALIDATOR_TYPE_CONFIG } from '../dynamic-form-array/dynamic-form-array-validator-type-config'; import { @@ -116,141 +115,3 @@ export function withDynamicFormValidation(config?: DynamicFormValidationConfig): export function withDynamicFormValidationDefaults(additionalConfig?: DynamicFormValidationConfig): DynamicFormsFeature[] { return [withDynamicFormValidation(), withDynamicFormValidation(additionalConfig)]; } - -/** - * @deprecated Use {@link dynamicFormValidationProviders} instead. - */ -@NgModule({ providers: dynamicFormValidationProviders }) -export class DynamicFormValidationModule { - /** - * @deprecated Use {@link withDynamicFormControlValidators} instead. - */ - static withControlValidator( - type: DynamicFormControlValidatorType | DynamicFormControlAsyncValidatorType, - ): ModuleWithProviders { - const feature = withDynamicFormControlValidators(type); - return { ngModule: DynamicFormValidationModule, providers: feature.providers }; - } - - /** - * @deprecated Use {@link withDynamicFormControlValidators} instead. - */ - static withControlValidators( - types: (DynamicFormControlValidatorType | DynamicFormControlAsyncValidatorType)[], - ): ModuleWithProviders { - const feature = withDynamicFormControlValidators(...types); - return { ngModule: DynamicFormValidationModule, providers: feature.providers }; - } - - /** - * @deprecated Use {@link withDynamicFormControlValidatorFactory} instead. - */ - static withControlValidatorFactory( - typeFactory: (...depTypes: any[]) => DynamicFormControlValidatorType | DynamicFormControlAsyncValidatorType, - deps?: any[], - ): ModuleWithProviders { - const feature = withDynamicFormControlValidatorFactory(typeFactory, deps); - return { ngModule: DynamicFormValidationModule, providers: feature.providers }; - } - - /** - * @deprecated Use {@link withDynamicFormGroupValidators} instead. - */ - static withGroupValidator( - type: DynamicFormGroupValidatorType | DynamicFormGroupAsyncValidatorType, - ): ModuleWithProviders { - const feature = withDynamicFormGroupValidators(type); - return { ngModule: DynamicFormValidationModule, providers: feature.providers }; - } - - /** - * @deprecated Use {@link withDynamicFormGroupValidators} instead. - */ - static withGroupValidators( - types: (DynamicFormGroupValidatorType | DynamicFormGroupAsyncValidatorType)[], - ): ModuleWithProviders { - const feature = withDynamicFormGroupValidators(...types); - return { ngModule: DynamicFormValidationModule, providers: feature.providers }; - } - - /** - * @deprecated Use {@link withDynamicFormGroupValidatorFactory} instead. - */ - static withGroupValidatorFactory( - typeFactory: (...depTypes: any[]) => DynamicFormGroupValidatorType | DynamicFormGroupAsyncValidatorType, - deps?: any[], - ): ModuleWithProviders { - const feature = withDynamicFormGroupValidatorFactory(typeFactory, deps); - return { ngModule: DynamicFormValidationModule, providers: feature.providers }; - } - - /** - * @deprecated Use {@link withDynamicFormArrayValidators} instead. - */ - static withArrayValidator( - type: DynamicFormArrayValidatorType | DynamicFormArrayAsyncValidatorType, - ): ModuleWithProviders { - const feature = withDynamicFormArrayValidators(type); - return { ngModule: DynamicFormValidationModule, providers: feature.providers }; - } - - /** - * @deprecated Use {@link withDynamicFormArrayValidators} instead. - */ - static withArrayValidators( - types: (DynamicFormArrayValidatorType | DynamicFormArrayAsyncValidatorType)[], - ): ModuleWithProviders { - const feature = withDynamicFormArrayValidators(...types); - return { ngModule: DynamicFormValidationModule, providers: feature.providers }; - } - - /** - * @deprecated Use {@link withDynamicFormArrayValidatorFactory} instead. - */ - static withArrayValidatorFactory( - typeFactory: (...depTypes: any[]) => DynamicFormArrayValidatorType | DynamicFormArrayAsyncValidatorType, - deps?: any[], - ): ModuleWithProviders { - const feature = withDynamicFormArrayValidatorFactory(typeFactory, deps); - return { ngModule: DynamicFormValidationModule, providers: feature.providers }; - } - - /** - * @deprecated Use {@link withDynamicFormDictionaryValidators} instead. - */ - static withDictionaryValidator( - type: DynamicFormDictionaryValidatorType | DynamicFormDictionaryAsyncValidatorType, - ): ModuleWithProviders { - const feature = withDynamicFormDictionaryValidators(type); - return { ngModule: DynamicFormValidationModule, providers: feature.providers }; - } - - /** - * @deprecated Use {@link withDynamicFormDictionaryValidators} instead. - */ - static withDictionaryValidators( - types: (DynamicFormDictionaryValidatorType | DynamicFormDictionaryAsyncValidatorType)[], - ): ModuleWithProviders { - const feature = withDynamicFormDictionaryValidators(...types); - return { ngModule: DynamicFormValidationModule, providers: feature.providers }; - } - - /** - * @deprecated Use {@link withDynamicFormDictionaryValidatorFactory} instead. - */ - static withDictionaryValidatorFactory( - typeFactory: (...depTypes: any[]) => DynamicFormDictionaryValidatorType | DynamicFormDictionaryAsyncValidatorType, - deps?: any[], - ): ModuleWithProviders { - const feature = withDynamicFormDictionaryValidatorFactory(typeFactory, deps); - return { ngModule: DynamicFormValidationModule, providers: feature.providers }; - } - - /** - * @deprecated Use {@link withDynamicFormValidation} instead. - */ - static withValidation(config?: DynamicFormValidationConfig): ModuleWithProviders { - const feature = withDynamicFormValidation(config); - return { ngModule: DynamicFormValidationModule, providers: feature.providers }; - } -} diff --git a/libs/core/src/lib/dynamic-form-validation/dynamic-form-validation.service.spec.ts b/libs/core/src/lib/dynamic-form-validation/dynamic-form-validation.service.spec.ts index 8cabb06f..76b75cb2 100644 --- a/libs/core/src/lib/dynamic-form-validation/dynamic-form-validation.service.spec.ts +++ b/libs/core/src/lib/dynamic-form-validation/dynamic-form-validation.service.spec.ts @@ -6,19 +6,18 @@ import { DynamicFormValidationConfigs, dynamicFormErrorMessageTemplate, } from './dynamic-form-validation-config'; -import { DynamicFormValidationModule } from './dynamic-form-validation.module'; import { DynamicFormValidationService } from './dynamic-form-validation.service'; describe('DynamicFormValidationService', () => { describe('without validation config', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormValidationModule], providers: [ { provide: DynamicFormLibraryService, useValue: new DynamicFormLibraryService({ name: 'test' }), }, + DynamicFormValidationService, ], }); }); diff --git a/libs/core/src/lib/dynamic-forms.module.spec.ts b/libs/core/src/lib/dynamic-forms.module.spec.ts index 3df473df..ced7285d 100644 --- a/libs/core/src/lib/dynamic-forms.module.spec.ts +++ b/libs/core/src/lib/dynamic-forms.module.spec.ts @@ -17,9 +17,7 @@ import { DYNAMIC_FORM_VALIDATION_CONFIGS } from './dynamic-form-validation/dynam import { DynamicFormValidationBuilder } from './dynamic-form-validation/dynamic-form-validation.builder'; import { DynamicFormValidationService } from './dynamic-form-validation/dynamic-form-validation.service'; import { - DynamicFormsModule, dynamicFormsDefaultFeatures, - importDynamicFormsProviders, mergeDynamicFormsFeatures, provideDynamicForms, provideDynamicFormsWithDefaultFeatures, @@ -28,8 +26,6 @@ import { describe('DynamicFormsModule', () => { describe('without DYNAMIC_FORM_LIBRARY using', () => { const testModules: { name: string; def: TestModuleMetadata }[] = [ - { name: 'DynamicFormsModule', def: { imports: [DynamicFormsModule] } }, - { name: 'DynamicFormsModule.withFeatures', def: { imports: [DynamicFormsModule.withFeatures()] } }, { name: 'provideDynamicForms', def: { providers: provideDynamicForms() } }, ]; @@ -108,10 +104,6 @@ describe('DynamicFormsModule', () => { describe('with DYNAMIC_FORM_LIBRARY using', () => { const testModules: { name: string; def: TestModuleMetadata }[] = [ - { - name: 'DynamicFormsModule', - def: { imports: [DynamicFormsModule], providers: [{ provide: DYNAMIC_FORM_LIBRARY, useValue: dynamicFormLibrary }] }, - }, { name: 'provideDynamicForms', def: { providers: provideDynamicForms(dynamicFormLibrary) } }, ]; @@ -208,16 +200,6 @@ describe('DynamicFormsModule', () => { describe('with DYNAMIC_FORM_LIBRARY and default features using', () => { const testModules: { name: string; def: TestModuleMetadata }[] = [ - { - name: 'DynamicFormsModule', - def: { - imports: [DynamicFormsModule], - providers: [ - { provide: DYNAMIC_FORM_LIBRARY, useValue: dynamicFormLibrary }, - ...importDynamicFormsProviders(...dynamicFormsDefaultFeatures), - ], - }, - }, { name: 'provideDynamicForms', def: { providers: provideDynamicForms(dynamicFormLibrary, ...dynamicFormsDefaultFeatures) } }, { name: 'provideDynamicForms', diff --git a/libs/core/src/lib/dynamic-forms.module.ts b/libs/core/src/lib/dynamic-forms.module.ts index b4ac6c27..b5cfced9 100644 --- a/libs/core/src/lib/dynamic-forms.module.ts +++ b/libs/core/src/lib/dynamic-forms.module.ts @@ -1,7 +1,6 @@ -import { ModuleWithProviders, NgModule, Provider } from '@angular/core'; +import { Provider } from '@angular/core'; import { DynamicFormComponentFactory } from './dynamic-form/dynamic-form-component.factory'; import { DynamicFormBuilder } from './dynamic-form/dynamic-form.builder'; -import { DynamicFormComponent } from './dynamic-form/dynamic-form.component'; import { dynamicFormActionProviders, withDynamicFormActionDefaultFeatures } from './dynamic-form-action/dynamic-form-action.module'; import { dynamicFormIconProviders } from './dynamic-form-action/dynamic-form-icon/dynamic-form-icon.module'; import { withDynamicFormArrayDefaultFeatures } from './dynamic-form-array/dynamic-form-array.module'; @@ -80,21 +79,3 @@ export function provideDynamicFormsWithDefaultFeatures( const features = [...dynamicFormsDefaultFeatures, ...additionalFeatures]; return provideDynamicForms(library, ...features); } - -/** - * @deprecated Use {@link provideDynamicForms} in combination with standalone component {@link DynamicFormComponent} instead. - */ -@NgModule({ - imports: [DynamicFormComponent], - exports: [DynamicFormComponent], - providers: provideDynamicForms(), -}) -export class DynamicFormsModule { - /** - * @deprecated Use {@link provideDynamicForms} instead. - */ - static withFeatures(...features: DynamicFormsFeature[]): ModuleWithProviders { - const providers = importDynamicFormsProviders(...features); - return { ngModule: DynamicFormsModule, providers }; - } -} diff --git a/libs/karma.conf.js b/libs/karma.conf.js index 5e78a3e4..c7dbd24c 100644 --- a/libs/karma.conf.js +++ b/libs/karma.conf.js @@ -17,12 +17,12 @@ module.exports = function (config) { clearContext: false // leave Jasmine Spec Runner output visible in browser }, junitReporter: { - outputDir: require('path').join(__dirname, '../dist/v18/tests'), + outputDir: require('path').join(__dirname, '../dist/v19/tests'), outputFile: 'dynamic-forms-libs.junit.xml', useBrowserName: false }, coverageReporter: { - dir: require('path').join(__dirname, '../dist/v18/tests'), + dir: require('path').join(__dirname, '../dist/v19/tests'), subdir: '.', reporters: [ { type: 'html' }, diff --git a/libs/markdown/karma.conf.js b/libs/markdown/karma.conf.js index b747599f..fc917eec 100644 --- a/libs/markdown/karma.conf.js +++ b/libs/markdown/karma.conf.js @@ -17,7 +17,7 @@ module.exports = function (config) { clearContext: false // leave Jasmine Spec Runner output visible in browser }, junitReporter: { - outputDir: require('path').join(__dirname, '../../dist/v18/tests'), + outputDir: require('path').join(__dirname, '../../dist/v19/tests'), outputFile: 'dynamic-forms-markdown.junit.xml', useBrowserName: false }, diff --git a/libs/markdown/ng-package.json b/libs/markdown/ng-package.json index 4764e6c8..5a4a3523 100644 --- a/libs/markdown/ng-package.json +++ b/libs/markdown/ng-package.json @@ -1,6 +1,6 @@ { "$schema": "../../node_modules/ng-packagr/ng-package.schema.json", - "dest": "../../dist/v18/@dynamic-forms/markdown", + "dest": "../../dist/v19/@dynamic-forms/markdown", "lib": { "entryFile": "src/public_api.ts", "styleIncludePaths": ["assets"] diff --git a/libs/markdown/package.json b/libs/markdown/package.json index 77c25ae2..cddf931b 100644 --- a/libs/markdown/package.json +++ b/libs/markdown/package.json @@ -1,6 +1,6 @@ { "name": "@dynamic-forms/markdown", - "version": "18.1.0", + "version": "19.0.0-next.0", "author": "dynamic-forms", "description": "dynamic-forms - markdown library", "keywords": [ @@ -23,13 +23,14 @@ "peerDependencies": { "@angular/common": "^18.0.0", "@angular/core": "^18.0.0", - "@dynamic-forms/core": "18.1.0", + "@dynamic-forms/core": "19.0.0-next.0", "marked": "^14.0.0", "rxjs": "^7.4.0" }, "publishConfig": { "registry": "https://registry.npmjs.org", - "access": "public" + "access": "public", + "tag": "next" }, "sideEffects": false } diff --git a/libs/markdown/src/lib/dynamic-form-markdown.module.spec.ts b/libs/markdown/src/lib/dynamic-form-markdown.module.spec.ts index 38e79b1d..b3dab821 100644 --- a/libs/markdown/src/lib/dynamic-form-markdown.module.spec.ts +++ b/libs/markdown/src/lib/dynamic-form-markdown.module.spec.ts @@ -1,21 +1,21 @@ import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http'; import { provideHttpClientTesting } from '@angular/common/http/testing'; import { TestBed, inject } from '@angular/core/testing'; -import { BrowserModule } from '@angular/platform-browser'; import { DynamicFormConfigService, DynamicFormLibraryService, dynamicFormLibrary } from '@dynamic-forms/core'; -import { DynamicFormMarkdownModule, dynamicFormMarkdownType } from './dynamic-form-markdown.module'; +import { dynamicFormMarkdownType, provideDynamicFormsMarkdown } from './dynamic-form-markdown.module'; import { DynamicFormMarkdownService } from './dynamic-form-markdown.service'; describe('DynamicFormMarkdownModule', () => { describe('without providers', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [DynamicFormMarkdownModule], providers: [ { provide: DynamicFormLibraryService, useValue: new DynamicFormLibraryService(dynamicFormLibrary), }, + DynamicFormConfigService, + provideDynamicFormsMarkdown(), ], }); }); @@ -36,10 +36,10 @@ describe('DynamicFormMarkdownModule', () => { describe('with providers of BrowserModule and HttpClientModule', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [BrowserModule, DynamicFormMarkdownModule], providers: [ provideHttpClient(withInterceptorsFromDi()), provideHttpClientTesting(), + provideDynamicFormsMarkdown(), { provide: DynamicFormLibraryService, useValue: new DynamicFormLibraryService(dynamicFormLibrary), diff --git a/libs/markdown/src/lib/dynamic-form-markdown.module.ts b/libs/markdown/src/lib/dynamic-form-markdown.module.ts index 18cf2a00..a79a44cc 100644 --- a/libs/markdown/src/lib/dynamic-form-markdown.module.ts +++ b/libs/markdown/src/lib/dynamic-form-markdown.module.ts @@ -1,6 +1,5 @@ -import { NgModule, Provider } from '@angular/core'; +import { Provider } from '@angular/core'; import { - DynamicFormConfigModule, DynamicFormElementType, DynamicFormsFeature, dynamicFormLibrary, @@ -24,15 +23,3 @@ export function withDynamicFormsMarkdownFeatures(): DynamicFormsFeature[] { export function provideDynamicFormsMarkdown(): Provider[] { return importDynamicFormsProviders(...withDynamicFormsMarkdownFeatures()); } - -const modules = [DynamicFormConfigModule]; - -/** - * @deprecated Use {@link provideDynamicFormsMarkdown} instead. - */ -@NgModule({ - imports: modules, - exports: modules, - providers: provideDynamicFormsMarkdown(), -}) -export class DynamicFormMarkdownModule {} diff --git a/libs/markdown/src/lib/dynamic-form-markdown.service.spec.ts b/libs/markdown/src/lib/dynamic-form-markdown.service.spec.ts index fc5f25c8..ca4905c2 100644 --- a/libs/markdown/src/lib/dynamic-form-markdown.service.spec.ts +++ b/libs/markdown/src/lib/dynamic-form-markdown.service.spec.ts @@ -4,7 +4,7 @@ import { SecurityContext } from '@angular/core'; import { TestBed } from '@angular/core/testing'; import { DomSanitizer } from '@angular/platform-browser'; import { MockService } from 'ng-mocks'; -import { DynamicFormMarkdownModule } from './dynamic-form-markdown.module'; +import { provideDynamicFormsMarkdown } from './dynamic-form-markdown.module'; import { DynamicFormMarkdownService } from './dynamic-form-markdown.service'; describe('DynamicFormMarkdownService', () => { @@ -17,10 +17,10 @@ describe('DynamicFormMarkdownService', () => { spyOn(domSanitizer, 'sanitize').and.callFake((_context, value) => value as string); TestBed.configureTestingModule({ - imports: [DynamicFormMarkdownModule], providers: [ provideHttpClient(withInterceptorsFromDi()), provideHttpClientTesting(), + provideDynamicFormsMarkdown(), { provide: DomSanitizer, useValue: domSanitizer, diff --git a/libs/material/input-mask/src/lib/dynamic-form-input-mask.module.spec.ts b/libs/material/input-mask/src/lib/dynamic-form-input-mask.module.spec.ts index d5562d63..8999b149 100644 --- a/libs/material/input-mask/src/lib/dynamic-form-input-mask.module.spec.ts +++ b/libs/material/input-mask/src/lib/dynamic-form-input-mask.module.spec.ts @@ -3,18 +3,11 @@ import { DYNAMIC_FORM_INPUT_TYPE_CONFIG, DynamicFormInputTypeConfig, provideDyna import { DynamicFormInputMaskConverterService } from '@dynamic-forms/core/input-mask'; import { matDynamicFormLibrary } from '@dynamic-forms/material'; import { withMatDynamicFormInputMaskConverters } from './dynamic-form-input-mask-converter'; -import { MatDynamicFormInputMaskModule, matDynamicFormInputMaskType, withMatDynamicFormInputMask } from './dynamic-form-input-mask.module'; +import { matDynamicFormInputMaskType, withMatDynamicFormInputMask } from './dynamic-form-input-mask.module'; describe('MatDynamicFormInputMaskModule', () => { describe('withMatDynamicFormInputMask', () => { const testModules: { name: string; def: TestModuleMetadata }[] = [ - { - name: 'MatDynamicFormInputMaskModule', - def: { - imports: [MatDynamicFormInputMaskModule], - providers: provideDynamicForms(matDynamicFormLibrary), - }, - }, { name: 'provideDynamicForms', def: { providers: provideDynamicForms(matDynamicFormLibrary, withMatDynamicFormInputMask()) }, @@ -45,13 +38,6 @@ describe('MatDynamicFormInputMaskModule', () => { describe('withMatDynamicFormInputMaskConverters', () => { const testModules: { name: string; def: TestModuleMetadata }[] = [ - { - name: 'MatDynamicFormInputMaskModule', - def: { - imports: [MatDynamicFormInputMaskModule], - providers: provideDynamicForms(matDynamicFormLibrary, withMatDynamicFormInputMaskConverters()), - }, - }, { name: 'provideDynamicForms', def: { diff --git a/libs/material/input-mask/src/lib/dynamic-form-input-mask.module.ts b/libs/material/input-mask/src/lib/dynamic-form-input-mask.module.ts index 3c0df186..435eb672 100644 --- a/libs/material/input-mask/src/lib/dynamic-form-input-mask.module.ts +++ b/libs/material/input-mask/src/lib/dynamic-form-input-mask.module.ts @@ -1,11 +1,4 @@ -import { NgModule } from '@angular/core'; -import { - DynamicFormInputType, - DynamicFormsFeature, - importDynamicFormsProviders, - mergeDynamicFormsFeatures, - withDynamicFormInputs, -} from '@dynamic-forms/core'; +import { DynamicFormInputType, DynamicFormsFeature, mergeDynamicFormsFeatures, withDynamicFormInputs } from '@dynamic-forms/core'; import { DynamicFormInputMaskControl, withDynamicFormInputMaskConverterService } from '@dynamic-forms/core/input-mask'; import { matDynamicFormLibrary } from '@dynamic-forms/material'; import { MatDynamicFormInputMaskComponent } from './dynamic-form-input-mask.component'; @@ -20,9 +13,3 @@ export const matDynamicFormInputMaskType: DynamicFormInputType = { export function withMatDynamicFormInputMask(): DynamicFormsFeature { return mergeDynamicFormsFeatures(withDynamicFormInputs(matDynamicFormInputMaskType), withDynamicFormInputMaskConverterService()); } - -/** - * @deprecated Use {@link withMatDynamicFormInputMask} instead. - */ -@NgModule({ providers: importDynamicFormsProviders(withMatDynamicFormInputMask()) }) -export class MatDynamicFormInputMaskModule {} diff --git a/libs/material/karma.conf.js b/libs/material/karma.conf.js index b37f4153..d38755da 100644 --- a/libs/material/karma.conf.js +++ b/libs/material/karma.conf.js @@ -17,7 +17,7 @@ module.exports = function (config) { clearContext: false // leave Jasmine Spec Runner output visible in browser }, junitReporter: { - outputDir: require('path').join(__dirname, '../../dist/v18/tests'), + outputDir: require('path').join(__dirname, '../../dist/v19/tests'), outputFile: 'dynamic-forms-material.junit.xml', useBrowserName: false }, diff --git a/libs/material/ng-package.json b/libs/material/ng-package.json index 5dc74c8d..82d65310 100644 --- a/libs/material/ng-package.json +++ b/libs/material/ng-package.json @@ -1,6 +1,6 @@ { "$schema": "../../node_modules/ng-packagr/ng-package.schema.json", - "dest": "../../dist/v18/@dynamic-forms/material", + "dest": "../../dist/v19/@dynamic-forms/material", "lib": { "entryFile": "src/public_api.ts", "styleIncludePaths": ["assets"] diff --git a/libs/material/package.json b/libs/material/package.json index dda4b495..73cd6f70 100644 --- a/libs/material/package.json +++ b/libs/material/package.json @@ -1,6 +1,6 @@ { "name": "@dynamic-forms/material", - "version": "18.1.0", + "version": "19.0.0-next.0", "author": "dynamic-forms", "description": "dynamic-forms - component library using material", "keywords": [ @@ -25,14 +25,15 @@ "@angular/core": "^18.0.0", "@angular/forms": "^18.0.0", "@angular/material": "^18.0.0", - "@dynamic-forms/core": "18.1.0", + "@dynamic-forms/core": "19.0.0-next.0", "bootstrap": "^5.2.3", "inputmask": "^5.0.8", "rxjs": "^7.4.0" }, "publishConfig": { "registry": "https://registry.npmjs.org", - "access": "public" + "access": "public", + "tag": "next" }, "sideEffects": false } diff --git a/libs/material/src/lib/dynamic-form-action/dynamic-form-action.module.spec.ts b/libs/material/src/lib/dynamic-form-action/dynamic-form-action.module.spec.ts index b6cbf6ff..6c849dc5 100644 --- a/libs/material/src/lib/dynamic-form-action/dynamic-form-action.module.spec.ts +++ b/libs/material/src/lib/dynamic-form-action/dynamic-form-action.module.spec.ts @@ -1,14 +1,9 @@ import { TestBed, TestModuleMetadata, inject } from '@angular/core/testing'; import { DYNAMIC_FORM_ACTION_TYPE_CONFIG, DynamicFormActionTypeConfig, importDynamicFormsProviders } from '@dynamic-forms/core'; -import { - MatDynamicFormActionModule, - matDynamicFormActionTypes, - withMatDynamicFormActionDefaultFeatures, -} from './dynamic-form-action.module'; +import { matDynamicFormActionTypes, withMatDynamicFormActionDefaultFeatures } from './dynamic-form-action.module'; describe('MatDynamicFormActionModule', () => { const testModules: { name: string; def: TestModuleMetadata }[] = [ - { name: 'MatDynamicFormActionModule', def: { imports: [MatDynamicFormActionModule] } }, { name: 'withMatDynamicFormActions', def: { providers: importDynamicFormsProviders(...withMatDynamicFormActionDefaultFeatures()) }, @@ -21,9 +16,9 @@ describe('MatDynamicFormActionModule', () => { }); it('provides DYNAMIC_FORM_ACTION_TYPE_CONFIG', inject([DYNAMIC_FORM_ACTION_TYPE_CONFIG], (config: DynamicFormActionTypeConfig) => { - expect(config.length).toBe(4); - expect(config[2]).toEqual(matDynamicFormActionTypes[0]); - expect(config[3]).toEqual(matDynamicFormActionTypes[1]); + expect(config.length).toBe(2); + expect(config[0]).toEqual(matDynamicFormActionTypes[0]); + expect(config[1]).toEqual(matDynamicFormActionTypes[1]); })); }); }); diff --git a/libs/material/src/lib/dynamic-form-action/dynamic-form-action.module.ts b/libs/material/src/lib/dynamic-form-action/dynamic-form-action.module.ts index da41c4fc..7050daae 100644 --- a/libs/material/src/lib/dynamic-form-action/dynamic-form-action.module.ts +++ b/libs/material/src/lib/dynamic-form-action/dynamic-form-action.module.ts @@ -1,11 +1,4 @@ -import { NgModule } from '@angular/core'; -import { - DynamicFormActionModule, - DynamicFormConfigModule, - DynamicFormsFeature, - importDynamicFormsProviders, - withDynamicFormActions, -} from '@dynamic-forms/core'; +import { DynamicFormsFeature, withDynamicFormActions } from '@dynamic-forms/core'; import { matDynamicFormButtonType } from './dynamic-form-button/dynamic-form-button-type'; import { matDynamicFormIconType } from './dynamic-form-icon/dynamic-form-icon-type'; @@ -14,15 +7,3 @@ export const matDynamicFormActionTypes = [matDynamicFormButtonType, matDynamicFo export function withMatDynamicFormActionDefaultFeatures(): DynamicFormsFeature[] { return [withDynamicFormActions(...matDynamicFormActionTypes)]; } - -const modules = [DynamicFormActionModule, DynamicFormConfigModule]; - -/** - * @deprecated Use {@link withMatDynamicFormActionDefaultFeatures} instead. - */ -@NgModule({ - imports: modules, - exports: modules, - providers: importDynamicFormsProviders(...withMatDynamicFormActionDefaultFeatures()), -}) -export class MatDynamicFormActionModule {} diff --git a/libs/material/src/lib/dynamic-form-element/dynamic-form-element.module.spec.ts b/libs/material/src/lib/dynamic-form-element/dynamic-form-element.module.spec.ts index 1ca39964..b64571f0 100644 --- a/libs/material/src/lib/dynamic-form-element/dynamic-form-element.module.spec.ts +++ b/libs/material/src/lib/dynamic-form-element/dynamic-form-element.module.spec.ts @@ -1,30 +1,18 @@ -import { TestBed, TestModuleMetadata, inject } from '@angular/core/testing'; +import { TestBed, inject } from '@angular/core/testing'; import { DYNAMIC_FORM_ELEMENT_TYPE_CONFIG, DynamicFormElementTypeConfig, importDynamicFormsProviders } from '@dynamic-forms/core'; -import { - MatDynamicFormElementModule, - matDynamicFormElementTypes, - withMatDynamicFormElementDefaultFeatures, -} from './dynamic-form-element.module'; +import { matDynamicFormElementTypes, withMatDynamicFormElementDefaultFeatures } from './dynamic-form-element.module'; -describe('MatDynamicFormElementModule', () => { - const testModules: { name: string; def: TestModuleMetadata }[] = [ - { name: 'MatDynamicFormElementModule', def: { imports: [MatDynamicFormElementModule] } }, - { - name: 'withMatDynamicFormElementDefaultFeatures', - def: { providers: importDynamicFormsProviders(...withMatDynamicFormElementDefaultFeatures()) }, - }, - ]; - - testModules.forEach(testModule => { - beforeEach(() => { - TestBed.configureTestingModule(testModule.def); +describe('withMatDynamicFormElementDefaultFeatures', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: importDynamicFormsProviders(...withMatDynamicFormElementDefaultFeatures()), }); - - it('provides DYNAMIC_FORM_ELEMENT_TYPE_CONFIG', inject([DYNAMIC_FORM_ELEMENT_TYPE_CONFIG], (config: DynamicFormElementTypeConfig) => { - expect(config.length).toBe(6); - expect(config[3]).toEqual(matDynamicFormElementTypes[0]); - expect(config[4]).toEqual(matDynamicFormElementTypes[1]); - expect(config[5]).toEqual(matDynamicFormElementTypes[2]); - })); }); + + it('provides DYNAMIC_FORM_ELEMENT_TYPE_CONFIG', inject([DYNAMIC_FORM_ELEMENT_TYPE_CONFIG], (config: DynamicFormElementTypeConfig) => { + expect(config.length).toBe(3); + expect(config[0]).toEqual(matDynamicFormElementTypes[0]); + expect(config[1]).toEqual(matDynamicFormElementTypes[1]); + expect(config[2]).toEqual(matDynamicFormElementTypes[2]); + })); }); diff --git a/libs/material/src/lib/dynamic-form-element/dynamic-form-element.module.ts b/libs/material/src/lib/dynamic-form-element/dynamic-form-element.module.ts index 66e9e037..3f7d5552 100644 --- a/libs/material/src/lib/dynamic-form-element/dynamic-form-element.module.ts +++ b/libs/material/src/lib/dynamic-form-element/dynamic-form-element.module.ts @@ -1,23 +1,10 @@ -import { NgModule } from '@angular/core'; import { DynamicFormsFeature, withDynamicFormElements, withDynamicFormModalActionHandlers } from '@dynamic-forms/core'; import { matDynamicFormAccordionType } from './dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.module'; -import { MatDynamicFormItemsModule } from './dynamic-form-items/dynamic-form-items.module'; import { matDynamicFormTabsType } from './dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.module'; -import { MatDynamicFormModalModule, matDynamicFormModalType } from './dynamic-form-modal/dynamic-form-modal.module'; +import { matDynamicFormModalType } from './dynamic-form-modal/dynamic-form-modal.module'; export const matDynamicFormElementTypes = [matDynamicFormAccordionType, matDynamicFormTabsType, matDynamicFormModalType]; export function withMatDynamicFormElementDefaultFeatures(): DynamicFormsFeature[] { return [withDynamicFormElements(...matDynamicFormElementTypes), withDynamicFormModalActionHandlers()]; } - -const modules = [MatDynamicFormItemsModule, MatDynamicFormModalModule]; - -/** - * @deprecated Use {@link withMatDynamicFormElementDefaultFeatures} instead. - */ -@NgModule({ - imports: modules, - exports: modules, -}) -export class MatDynamicFormElementModule {} diff --git a/libs/material/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.component.spec.ts b/libs/material/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.component.spec.ts index 363fb638..5b74fc88 100644 --- a/libs/material/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.component.spec.ts +++ b/libs/material/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.component.spec.ts @@ -9,7 +9,6 @@ import { DynamicFormLibraryService, } from '@dynamic-forms/core'; import { MatDynamicFormAccordionComponent } from './dynamic-form-accordion.component'; -import { MatDynamicFormAccordionModule } from './dynamic-form-accordion.module'; describe('MatDynamicFormAccordionComponent', () => { let fixture: ComponentFixture; @@ -18,7 +17,6 @@ describe('MatDynamicFormAccordionComponent', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [MatDynamicFormAccordionModule], providers: [ { provide: DynamicFormLibraryService, diff --git a/libs/material/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.module.spec.ts b/libs/material/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.module.spec.ts index bce806aa..175f118d 100644 --- a/libs/material/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.module.spec.ts +++ b/libs/material/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.module.spec.ts @@ -1,11 +1,11 @@ import { TestBed, inject } from '@angular/core/testing'; -import { DYNAMIC_FORM_ELEMENT_TYPE_CONFIG, DynamicFormElementTypeConfig } from '@dynamic-forms/core'; -import { MatDynamicFormAccordionModule, matDynamicFormAccordionType } from './dynamic-form-accordion.module'; +import { DYNAMIC_FORM_ELEMENT_TYPE_CONFIG, DynamicFormElementTypeConfig, importDynamicFormsProviders } from '@dynamic-forms/core'; +import { matDynamicFormAccordionType, withMatDynamicFormAccordion } from './dynamic-form-accordion.module'; -describe('MatDynamicFormAccordionModule', () => { +describe('withMatDynamicFormAccordion', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [MatDynamicFormAccordionModule], + providers: importDynamicFormsProviders(withMatDynamicFormAccordion()), }); }); diff --git a/libs/material/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.module.ts b/libs/material/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.module.ts index f06c0120..a843ba43 100644 --- a/libs/material/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.module.ts +++ b/libs/material/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.module.ts @@ -1,11 +1,4 @@ -import { NgModule } from '@angular/core'; -import { - DynamicFormConfigModule, - DynamicFormElementType, - dynamicFormItemsFactory, - importDynamicFormsProviders, - withDynamicFormElements, -} from '@dynamic-forms/core'; +import { DynamicFormElementType, DynamicFormsFeature, dynamicFormItemsFactory, withDynamicFormElements } from '@dynamic-forms/core'; import { matDynamicFormLibrary } from '../../../dynamic-form-library/dynamic-form-library'; import { MatDynamicFormAccordionComponent } from './dynamic-form-accordion.component'; @@ -16,14 +9,6 @@ export const matDynamicFormAccordionType: DynamicFormElementType = { libraryName: matDynamicFormLibrary.name, }; -const modules = [DynamicFormConfigModule]; - -/** - * @deprecated Use {@link withMatDynamicFormElementDefaultFeatures} instead. - */ -@NgModule({ - imports: modules, - exports: modules, - providers: importDynamicFormsProviders(withDynamicFormElements(matDynamicFormAccordionType)), -}) -export class MatDynamicFormAccordionModule {} +export function withMatDynamicFormAccordion(): DynamicFormsFeature { + return withDynamicFormElements(matDynamicFormAccordionType); +} diff --git a/libs/material/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-items.module.ts b/libs/material/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-items.module.ts deleted file mode 100644 index 94002ea2..00000000 --- a/libs/material/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-items.module.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { NgModule } from '@angular/core'; -import { MatDynamicFormAccordionModule } from './dynamic-form-accordion/dynamic-form-accordion.module'; -import { MatDynamicFormTabsModule } from './dynamic-form-tabs/dynamic-form-tabs.module'; - -const modules = [MatDynamicFormAccordionModule, MatDynamicFormTabsModule]; - -/** - * @deprecated Use {@link withMatDynamicFormElementDefaultFeatures} instead. - */ -@NgModule({ - imports: modules, - exports: modules, -}) -export class MatDynamicFormItemsModule {} diff --git a/libs/material/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.component.spec.ts b/libs/material/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.component.spec.ts index fecb9218..e1093060 100644 --- a/libs/material/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.component.spec.ts +++ b/libs/material/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.component.spec.ts @@ -9,7 +9,6 @@ import { DynamicFormLibraryService, } from '@dynamic-forms/core'; import { MatDynamicFormTabsComponent } from './dynamic-form-tabs.component'; -import { MatDynamicFormTabsModule } from './dynamic-form-tabs.module'; describe('MatDynamicFormTabsComponent', () => { let fixture: ComponentFixture; @@ -18,7 +17,6 @@ describe('MatDynamicFormTabsComponent', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [MatDynamicFormTabsModule], providers: [ { provide: DynamicFormLibraryService, diff --git a/libs/material/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.module.spec.ts b/libs/material/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.module.spec.ts index 84f920c8..71a9feb7 100644 --- a/libs/material/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.module.spec.ts +++ b/libs/material/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.module.spec.ts @@ -1,11 +1,11 @@ import { TestBed, inject } from '@angular/core/testing'; -import { DYNAMIC_FORM_ELEMENT_TYPE_CONFIG, DynamicFormElementTypeConfig } from '@dynamic-forms/core'; -import { MatDynamicFormTabsModule, matDynamicFormTabsType } from './dynamic-form-tabs.module'; +import { DYNAMIC_FORM_ELEMENT_TYPE_CONFIG, DynamicFormElementTypeConfig, importDynamicFormsProviders } from '@dynamic-forms/core'; +import { matDynamicFormTabsType, withMatDynamicFormTabs } from './dynamic-form-tabs.module'; -describe('MatDynamicFormTabsModule', () => { +describe('withMatDynamicFormTabs', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [MatDynamicFormTabsModule], + providers: importDynamicFormsProviders(withMatDynamicFormTabs()), }); }); diff --git a/libs/material/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.module.ts b/libs/material/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.module.ts index c014183d..86752671 100644 --- a/libs/material/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.module.ts +++ b/libs/material/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.module.ts @@ -1,11 +1,4 @@ -import { NgModule } from '@angular/core'; -import { - DynamicFormConfigModule, - DynamicFormElementType, - dynamicFormItemsFactory, - importDynamicFormsProviders, - withDynamicFormElements, -} from '@dynamic-forms/core'; +import { DynamicFormElementType, DynamicFormsFeature, dynamicFormItemsFactory, withDynamicFormElements } from '@dynamic-forms/core'; import { matDynamicFormLibrary } from '../../../dynamic-form-library/dynamic-form-library'; import { MatDynamicFormTabsComponent } from './dynamic-form-tabs.component'; @@ -16,14 +9,6 @@ export const matDynamicFormTabsType: DynamicFormElementType = { libraryName: matDynamicFormLibrary.name, }; -const modules = [DynamicFormConfigModule]; - -/** - * @deprecated Use {@link withMatDynamicFormElementDefaultFeatures} instead. - */ -@NgModule({ - imports: modules, - exports: modules, - providers: importDynamicFormsProviders(withDynamicFormElements(matDynamicFormTabsType)), -}) -export class MatDynamicFormTabsModule {} +export function withMatDynamicFormTabs(): DynamicFormsFeature { + return withDynamicFormElements(matDynamicFormTabsType); +} diff --git a/libs/material/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.component.spec.ts b/libs/material/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.component.spec.ts index 6fa2aca7..2bcd96e0 100644 --- a/libs/material/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.component.spec.ts +++ b/libs/material/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.component.spec.ts @@ -10,7 +10,6 @@ import { DynamicFormModalDefinition, } from '@dynamic-forms/core'; import { MatDynamicFormModalComponent } from './dynamic-form-modal.component'; -import { MatDynamicFormModalModule } from './dynamic-form-modal.module'; describe('MatDynamicFormModalComponent', () => { let fixture: ComponentFixture; @@ -20,7 +19,7 @@ describe('MatDynamicFormModalComponent', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [NoopAnimationsModule, MatDynamicFormModalModule], + imports: [NoopAnimationsModule], providers: [ { provide: DynamicFormLibraryService, diff --git a/libs/material/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.module.spec.ts b/libs/material/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.module.spec.ts index 4666d1bb..45b56888 100644 --- a/libs/material/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.module.spec.ts +++ b/libs/material/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.module.spec.ts @@ -1,11 +1,11 @@ import { TestBed, inject } from '@angular/core/testing'; -import { DYNAMIC_FORM_ELEMENT_TYPE_CONFIG, DynamicFormElementTypeConfig } from '@dynamic-forms/core'; -import { MatDynamicFormModalModule, matDynamicFormModalType } from './dynamic-form-modal.module'; +import { DYNAMIC_FORM_ELEMENT_TYPE_CONFIG, DynamicFormElementTypeConfig, importDynamicFormsProviders } from '@dynamic-forms/core'; +import { matDynamicFormModalType, withMatDynamicFormModal } from './dynamic-form-modal.module'; -describe('MatDynamicFormModalModule', () => { +describe('withMatDynamicFormModal', () => { beforeEach(() => { TestBed.configureTestingModule({ - imports: [MatDynamicFormModalModule], + providers: importDynamicFormsProviders(withMatDynamicFormModal()), }); }); diff --git a/libs/material/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.module.ts b/libs/material/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.module.ts index 59d36835..d667d840 100644 --- a/libs/material/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.module.ts +++ b/libs/material/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.module.ts @@ -1,11 +1,4 @@ -import { NgModule } from '@angular/core'; -import { - DynamicFormElementType, - DynamicFormModalModule, - dynamicFormModalFactory, - importDynamicFormsProviders, - withDynamicFormElements, -} from '@dynamic-forms/core'; +import { DynamicFormElementType, DynamicFormsFeature, dynamicFormModalFactory, withDynamicFormElements } from '@dynamic-forms/core'; import { matDynamicFormLibrary } from '../../dynamic-form-library/dynamic-form-library'; import { MatDynamicFormModalComponent } from './dynamic-form-modal.component'; @@ -16,14 +9,6 @@ export const matDynamicFormModalType: DynamicFormElementType = { libraryName: matDynamicFormLibrary.name, }; -const modules = [DynamicFormModalModule]; - -/** - * @deprecated Use {@link withMatDynamicFormElementDefaultFeatures} instead. - */ -@NgModule({ - imports: modules, - exports: modules, - providers: importDynamicFormsProviders(withDynamicFormElements(matDynamicFormModalType)), -}) -export class MatDynamicFormModalModule {} +export function withMatDynamicFormModal(): DynamicFormsFeature { + return withDynamicFormElements(matDynamicFormModalType); +} diff --git a/libs/material/src/lib/dynamic-form-input/dynamic-form-input.module.spec.ts b/libs/material/src/lib/dynamic-form-input/dynamic-form-input.module.spec.ts index 1e2bda72..9665b3ce 100644 --- a/libs/material/src/lib/dynamic-form-input/dynamic-form-input.module.spec.ts +++ b/libs/material/src/lib/dynamic-form-input/dynamic-form-input.module.spec.ts @@ -1,10 +1,10 @@ import { TestBed, inject } from '@angular/core/testing'; -import { DYNAMIC_FORM_INPUT_TYPE_CONFIG, DynamicFormInputTypeConfig } from '@dynamic-forms/core'; -import { MatDynamicFormInputModule, matDynamicFormInputTypes } from './dynamic-form-input.module'; +import { DYNAMIC_FORM_INPUT_TYPE_CONFIG, DynamicFormInputTypeConfig, importDynamicFormsProviders } from '@dynamic-forms/core'; +import { matDynamicFormInputTypes, withMatDynamicFormInputDefaultFeatures } from './dynamic-form-input.module'; describe('MatDynamicFormInputModule', () => { beforeEach(() => { - TestBed.configureTestingModule({ imports: [MatDynamicFormInputModule] }); + TestBed.configureTestingModule({ providers: importDynamicFormsProviders(...withMatDynamicFormInputDefaultFeatures()) }); }); it('provides DYNAMIC_FORM_INPUT_TYPE_CONFIG', inject([DYNAMIC_FORM_INPUT_TYPE_CONFIG], (config: DynamicFormInputTypeConfig) => { diff --git a/libs/material/src/lib/dynamic-form-input/dynamic-form-input.module.ts b/libs/material/src/lib/dynamic-form-input/dynamic-form-input.module.ts index a9aeeec3..4f0f6f17 100644 --- a/libs/material/src/lib/dynamic-form-input/dynamic-form-input.module.ts +++ b/libs/material/src/lib/dynamic-form-input/dynamic-form-input.module.ts @@ -1,10 +1,6 @@ -import { NgModule } from '@angular/core'; import { MAT_FORM_FIELD_DEFAULT_OPTIONS, MatFormFieldDefaultOptions } from '@angular/material/form-field'; import { - DynamicFormFileModule, - DynamicFormTextboxModule, DynamicFormsFeature, - importDynamicFormsProviders, withDynamicFormFileValidators, withDynamicFormInputs, withDynamicFormTextboxActionHandlers, @@ -53,15 +49,3 @@ export function withMatDynamicFormInputDefaultFeatures( withMatDynamicFormFieldDefaultOptions(options), ]; } - -const modules = [DynamicFormFileModule, DynamicFormTextboxModule]; - -/** - * @deprecated Use {@link withMatDynamicFormInputDefaultFeatures} instead. - */ -@NgModule({ - imports: modules, - exports: modules, - providers: importDynamicFormsProviders(withDynamicFormInputs(...matDynamicFormInputTypes), withMatDynamicFormFieldDefaultOptions()), -}) -export class MatDynamicFormInputModule {} diff --git a/libs/material/src/lib/dynamic-forms.module.spec.ts b/libs/material/src/lib/dynamic-forms.module.spec.ts index be3030b5..66e308e5 100644 --- a/libs/material/src/lib/dynamic-forms.module.spec.ts +++ b/libs/material/src/lib/dynamic-forms.module.spec.ts @@ -19,12 +19,11 @@ import { provideDynamicForms, } from '@dynamic-forms/core'; import { matDynamicFormLibrary } from './dynamic-form-library/dynamic-form-library'; -import { MatDynamicFormsModule, provideMatDynamicForms, provideMatDynamicFormsWithDefaultFeatures } from './dynamic-forms.module'; +import { provideMatDynamicForms, provideMatDynamicFormsWithDefaultFeatures } from './dynamic-forms.module'; describe('MatDynamicFormsModule', () => { describe('without providers', () => { const testModules: { name: string; def: TestModuleMetadata }[] = [ - { name: 'MatDynamicFormsModule', def: { imports: [MatDynamicFormsModule] } }, { name: 'provideDynamicForms', def: { providers: provideDynamicForms() } }, ]; @@ -89,7 +88,6 @@ describe('MatDynamicFormsModule', () => { describe('forRoot', () => { const testModules: { name: string; def: TestModuleMetadata }[] = [ - { name: 'MatDynamicFormsModule.root', def: { imports: [MatDynamicFormsModule.forRoot()] } }, { name: 'provideMatDynamicFormsWithDefaultFeatures', def: { providers: provideMatDynamicFormsWithDefaultFeatures() } }, ]; @@ -174,7 +172,6 @@ describe('MatDynamicFormsModule', () => { describe('forRoot with config', () => { const config = { theme: 'theme', idBuilder: { createId: () => 'dynamic-form-id' } }; const testModules: { name: string; def: TestModuleMetadata }[] = [ - { name: 'MatDynamicFormsModule', def: { imports: [MatDynamicFormsModule.forRoot(config)] } }, { name: 'provideMatDynamicFormsWithDefaultFeatures', def: { providers: provideMatDynamicFormsWithDefaultFeatures(config) } }, ]; diff --git a/libs/material/src/lib/dynamic-forms.module.ts b/libs/material/src/lib/dynamic-forms.module.ts index 2b36588a..21e0436d 100644 --- a/libs/material/src/lib/dynamic-forms.module.ts +++ b/libs/material/src/lib/dynamic-forms.module.ts @@ -1,16 +1,12 @@ -import { ModuleWithProviders, NgModule, Provider } from '@angular/core'; +import { Provider } from '@angular/core'; import { DynamicFormIdBuilder, DynamicFormValidationConfig, DynamicFormsFeature, - DynamicFormsModule, - importDynamicFormsProviders, provideDynamicForms, provideDynamicFormsWithDefaultFeatures, - withDynamicFormValidation, withDynamicFormValidationDefaults, withDynamicFormsIdBuilder, - withDynamicFormsLibrary, withDynamicFormsTheme, } from '@dynamic-forms/core'; import { withMatDynamicFormActionDefaultFeatures } from './dynamic-form-action/dynamic-form-action.module'; @@ -55,24 +51,3 @@ export function provideMatDynamicFormsWithDefaultFeatures( const features = [...matDynamicFormsDefaultFeatures, ...getDynamicFormsFeatures(config), ...additionalFeatures]; return provideDynamicFormsWithDefaultFeatures(matDynamicFormLibrary, ...features); } - -/** - * @deprecated Use {@link provideMatDynamicFormsWithDefaultFeatures} instead. - */ -@NgModule({ - imports: [DynamicFormsModule], - exports: [DynamicFormsModule], - providers: provideDynamicFormsWithDefaultFeatures(null, ...matDynamicFormsDefaultFeatures, withDynamicFormValidation()), -}) -export class MatDynamicFormsModule { - /** - * @deprecated Use {@link provideMatDynamicFormsWithDefaultFeatures} instead. - */ - static forRoot( - config?: { theme?: string; idBuilder?: DynamicFormIdBuilder }, - ...additionalFeatures: DynamicFormsFeature[] - ): ModuleWithProviders { - const features = [withDynamicFormsLibrary(matDynamicFormLibrary), ...getDynamicFormsFeatures(config), ...additionalFeatures]; - return { ngModule: MatDynamicFormsModule, providers: importDynamicFormsProviders(...features) }; - } -} diff --git a/libs/material/src/public_api.ts b/libs/material/src/public_api.ts index 880fe9f5..30e2b3ef 100644 --- a/libs/material/src/public_api.ts +++ b/libs/material/src/public_api.ts @@ -11,7 +11,6 @@ export * from './lib/dynamic-form-action/dynamic-form-icon/dynamic-form-icon.com export * from './lib/dynamic-form-converter/datetime-adapter'; export * from './lib/dynamic-form-dialog/dynamic-form-dialog.component'; export * from './lib/dynamic-form-element/dynamic-form-element.module'; -export * from './lib/dynamic-form-element/dynamic-form-items/dynamic-form-items.module'; export * from './lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.component'; export * from './lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.module'; export * from './lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.component'; diff --git a/package-lock.json b/package-lock.json index d3a5a1f9..5af94d5d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,25 +1,26 @@ { "name": "@dynamic-forms/common", - "version": "18.1.0", + "version": "19.0.0-next.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@dynamic-forms/common", - "version": "18.1.0", - "license": "MIT", - "dependencies": { - "@angular/animations": "^18.2.6", - "@angular/cdk": "^18.2.6", - "@angular/common": "^18.2.6", - "@angular/compiler": "^18.2.6", - "@angular/core": "^18.2.6", - "@angular/forms": "^18.2.6", - "@angular/material": "^18.2.6", - "@angular/platform-browser": "^18.2.6", - "@angular/platform-browser-dynamic": "^18.2.6", - "@angular/router": "^18.2.6", - "@angular/ssr": "^18.2.6", + "version": "19.0.0-next.0", + "license": "MIT", + "dependencies": { + "@angular/animations": "^19.0.0-next.7", + "@angular/cdk": "^19.0.0-next.6", + "@angular/common": "^19.0.0-next.7", + "@angular/compiler": "^19.0.0-next.7", + "@angular/core": "^19.0.0-next.7", + "@angular/forms": "^19.0.0-next.7", + "@angular/material": "^19.0.0-next.6", + "@angular/platform-browser": "^19.0.0-next.7", + "@angular/platform-browser-dynamic": "^19.0.0-next.7", + "@angular/platform-server": "^19.0.0-next.7", + "@angular/router": "^19.0.0-next.7", + "@angular/ssr": "^19.0.0-next.8", "@ngxs/storage-plugin": "^18.1.1", "@ngxs/store": "^18.1.1", "bootstrap": "^5.2.3", @@ -29,30 +30,30 @@ "rxjs": "^7.4.0", "tslib": "^2.6.3", "uuid": "^10.0.0", - "zone.js": "~0.14.10" + "zone.js": "~0.15.0" }, "devDependencies": { - "@angular-devkit/build-angular": "^18.2.6", - "@angular-devkit/core": "^18.2.6", - "@angular-devkit/schematics": "^18.2.6", + "@angular-devkit/build-angular": "^19.0.0-next.8", + "@angular-devkit/core": "^19.0.0-next.8", + "@angular-devkit/schematics": "^19.0.0-next.8", "@angular-eslint/builder": "^18.3.1", "@angular-eslint/eslint-plugin": "^18.3.1", "@angular-eslint/eslint-plugin-template": "^18.3.1", "@angular-eslint/schematics": "^18.3.1", "@angular-eslint/template-parser": "^18.3.1", - "@angular/cli": "^18.2.6", - "@angular/compiler-cli": "^18.2.6", - "@angular/language-service": "^18.2.6", + "@angular/cli": "^19.0.0-next.8", + "@angular/compiler-cli": "^19.0.0-next.7", + "@angular/language-service": "^19.0.0-next.7", "@compodoc/compodoc": "^1.1.25", "@types/inputmask": "^5.0.7", "@types/jasmine": "~5.1.4", "@types/jasminewd2": "~2.0.13", - "@types/node": "~22.7.3", + "@types/node": "~22.7.4", "@types/uuid": "^10.0.0", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@typescript-eslint/utils": "^7.18.0", - "chromedriver": "^129.0.0", + "chromedriver": "^129.0.1", "eslint": "^8.57.1", "eslint-config-prettier": "^9.1.0", "eslint-import-resolver-typescript": "^3.6.3", @@ -70,7 +71,7 @@ "karma-jasmine-html-reporter": "^2.1.0", "karma-junit-reporter": "^2.0.1", "ng-mocks": "^14.13.1", - "ng-packagr": "^18.2.1", + "ng-packagr": "^19.0.0-next.3", "prettier": "^3.3.3", "prettier-eslint": "^16.3.0", "protractor": "~7.0.0", @@ -99,13 +100,13 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.1802.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.6.tgz", - "integrity": "sha512-oF7cPFdTLxeuvXkK/opSdIxZ1E4LrBbmuytQ/nCoAGOaKBWdqvwagRZ6jVhaI0Gwu48rkcV7Zhesg/ESNnROdw==", + "version": "0.1900.0-next.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1900.0-next.8.tgz", + "integrity": "sha512-W/MVRRJekDIsgqOZWyMKHHwrMNIjzfljZCGKzy1Y7R4ns2pe4Y2v7o5rZ4IIJpes38n8aoEQsZRgoLGW4wG/Sg==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "18.2.6", + "@angular-devkit/core": "19.0.0-next.8", "rxjs": "7.8.1" }, "engines": { @@ -115,39 +116,39 @@ } }, "node_modules/@angular-devkit/build-angular": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-18.2.6.tgz", - "integrity": "sha512-u12cJZttgs5j7gICHWSmcaTCu0EFXEzKqI8nkYCwq2MtuJlAXiMQSXYuEP9OU3Go4vMAPtQh2kShyOWCX5b4EQ==", + "version": "19.0.0-next.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-19.0.0-next.8.tgz", + "integrity": "sha512-sID6IsIhkoQLg5aMC2Cu2a5pEFnBfAQUGNGC1C49hclixQMF4pekZ2k2YtVPhxvv33MtxZ2RCTxkjXof/yW4tA==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1802.6", - "@angular-devkit/build-webpack": "0.1802.6", - "@angular-devkit/core": "18.2.6", - "@angular/build": "18.2.6", + "@angular-devkit/architect": "0.1900.0-next.8", + "@angular-devkit/build-webpack": "0.1900.0-next.8", + "@angular-devkit/core": "19.0.0-next.8", + "@angular/build": "19.0.0-next.8", "@babel/core": "7.25.2", - "@babel/generator": "7.25.0", + "@babel/generator": "7.25.6", "@babel/helper-annotate-as-pure": "7.24.7", "@babel/helper-split-export-declaration": "7.24.7", - "@babel/plugin-transform-async-generator-functions": "7.25.0", + "@babel/plugin-transform-async-generator-functions": "7.25.4", "@babel/plugin-transform-async-to-generator": "7.24.7", - "@babel/plugin-transform-runtime": "7.24.7", - "@babel/preset-env": "7.25.3", - "@babel/runtime": "7.25.0", + "@babel/plugin-transform-runtime": "7.25.4", + "@babel/preset-env": "7.25.4", + "@babel/runtime": "7.25.6", "@discoveryjs/json-ext": "0.6.1", - "@ngtools/webpack": "18.2.6", + "@ngtools/webpack": "19.0.0-next.8", "@vitejs/plugin-basic-ssl": "1.1.0", "ansi-colors": "4.1.3", "autoprefixer": "10.4.20", - "babel-loader": "9.1.3", + "babel-loader": "9.2.1", "browserslist": "^4.21.5", "copy-webpack-plugin": "12.0.2", "critters": "0.0.24", "css-loader": "7.1.2", - "esbuild-wasm": "0.23.0", + "esbuild-wasm": "0.24.0", "fast-glob": "3.3.2", - "http-proxy-middleware": "3.0.0", + "http-proxy-middleware": "3.0.2", "https-proxy-agent": "7.0.5", "istanbul-lib-instrument": "6.0.3", "jsonc-parser": "3.3.1", @@ -157,30 +158,30 @@ "license-webpack-plugin": "4.0.2", "loader-utils": "3.3.1", "magic-string": "0.30.11", - "mini-css-extract-plugin": "2.9.0", + "mini-css-extract-plugin": "2.9.1", "mrmime": "2.0.0", "open": "10.1.0", "ora": "5.4.1", "parse5-html-rewriting-stream": "7.0.0", "picomatch": "4.0.2", - "piscina": "4.6.1", - "postcss": "8.4.41", + "piscina": "4.7.0", + "postcss": "8.4.47", "postcss-loader": "8.1.1", "resolve-url-loader": "5.0.0", "rxjs": "7.8.1", - "sass": "1.77.6", - "sass-loader": "16.0.0", + "sass": "1.79.3", + "sass-loader": "16.0.2", "semver": "7.6.3", "source-map-loader": "5.0.0", "source-map-support": "0.5.21", - "terser": "5.31.6", + "terser": "5.33.0", "tree-kill": "1.2.2", - "tslib": "2.6.3", - "vite": "5.4.6", - "watchpack": "2.4.1", + "tslib": "2.7.0", + "vite": "5.4.8", + "watchpack": "2.4.2", "webpack": "5.94.0", "webpack-dev-middleware": "7.4.2", - "webpack-dev-server": "5.0.4", + "webpack-dev-server": "5.1.0", "webpack-merge": "6.0.1", "webpack-subresource-integrity": "5.1.0" }, @@ -190,22 +191,23 @@ "yarn": ">= 1.13.0" }, "optionalDependencies": { - "esbuild": "0.23.0" + "esbuild": "0.24.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", - "@web/test-runner": "^0.18.0", + "@angular/compiler-cli": "^19.0.0-next.0", + "@angular/localize": "^19.0.0-next.0", + "@angular/platform-server": "^19.0.0-next.0", + "@angular/service-worker": "^19.0.0-next.0", + "@angular/ssr": "^19.0.0-next.8", + "@web/test-runner": "^0.19.0", "browser-sync": "^3.0.2", "jest": "^29.5.0", "jest-environment-jsdom": "^29.5.0", "karma": "^6.3.0", - "ng-packagr": "^18.0.0", + "ng-packagr": "^19.0.0-next.0", "protractor": "^7.0.0", "tailwindcss": "^2.0.0 || ^3.0.0", - "typescript": ">=5.4 <5.6" + "typescript": ">=5.5 <5.7" }, "peerDependenciesMeta": { "@angular/localize": { @@ -217,6 +219,9 @@ "@angular/service-worker": { "optional": true }, + "@angular/ssr": { + "optional": true + }, "@web/test-runner": { "optional": true }, @@ -243,6 +248,414 @@ } } }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/aix-ppc64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.0.tgz", + "integrity": "sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/android-arm": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.0.tgz", + "integrity": "sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/android-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.0.tgz", + "integrity": "sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/android-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.0.tgz", + "integrity": "sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/darwin-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.0.tgz", + "integrity": "sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/darwin-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.0.tgz", + "integrity": "sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/freebsd-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.0.tgz", + "integrity": "sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/freebsd-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.0.tgz", + "integrity": "sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/linux-arm": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.0.tgz", + "integrity": "sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/linux-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.0.tgz", + "integrity": "sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/linux-ia32": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.0.tgz", + "integrity": "sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/linux-loong64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.0.tgz", + "integrity": "sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/linux-mips64el": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.0.tgz", + "integrity": "sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/linux-ppc64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.0.tgz", + "integrity": "sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/linux-riscv64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.0.tgz", + "integrity": "sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/linux-s390x": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.0.tgz", + "integrity": "sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/linux-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.0.tgz", + "integrity": "sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/netbsd-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.0.tgz", + "integrity": "sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/openbsd-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.0.tgz", + "integrity": "sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/openbsd-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.0.tgz", + "integrity": "sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/sunos-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.0.tgz", + "integrity": "sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/win32-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.0.tgz", + "integrity": "sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/win32-ia32": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.0.tgz", + "integrity": "sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/win32-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.0.tgz", + "integrity": "sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/@angular-devkit/build-angular/node_modules/debug": { "version": "4.3.5", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", @@ -274,6 +687,47 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@angular-devkit/build-angular/node_modules/esbuild": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.0.tgz", + "integrity": "sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.24.0", + "@esbuild/android-arm": "0.24.0", + "@esbuild/android-arm64": "0.24.0", + "@esbuild/android-x64": "0.24.0", + "@esbuild/darwin-arm64": "0.24.0", + "@esbuild/darwin-x64": "0.24.0", + "@esbuild/freebsd-arm64": "0.24.0", + "@esbuild/freebsd-x64": "0.24.0", + "@esbuild/linux-arm": "0.24.0", + "@esbuild/linux-arm64": "0.24.0", + "@esbuild/linux-ia32": "0.24.0", + "@esbuild/linux-loong64": "0.24.0", + "@esbuild/linux-mips64el": "0.24.0", + "@esbuild/linux-ppc64": "0.24.0", + "@esbuild/linux-riscv64": "0.24.0", + "@esbuild/linux-s390x": "0.24.0", + "@esbuild/linux-x64": "0.24.0", + "@esbuild/netbsd-x64": "0.24.0", + "@esbuild/openbsd-arm64": "0.24.0", + "@esbuild/openbsd-x64": "0.24.0", + "@esbuild/sunos-x64": "0.24.0", + "@esbuild/win32-arm64": "0.24.0", + "@esbuild/win32-ia32": "0.24.0", + "@esbuild/win32-x64": "0.24.0" + } + }, "node_modules/@angular-devkit/build-angular/node_modules/https-proxy-agent": { "version": "7.0.5", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", @@ -360,24 +814,6 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/@angular-devkit/build-angular/node_modules/sass": { - "version": "1.77.6", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.6.tgz", - "integrity": "sha512-ByXE1oLD79GVq9Ht1PeHWCPMPB8XHpBuz1r85oByKHjZY6qV6rWnQovQzXJXuQ/XyE1Oj3iPk3lo28uzaRA2/Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/@angular-devkit/build-angular/node_modules/semver": { "version": "7.6.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", @@ -392,13 +828,13 @@ } }, "node_modules/@angular-devkit/build-webpack": { - "version": "0.1802.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1802.6.tgz", - "integrity": "sha512-JMLcXFaitJplwZMKkqhbYirINCRD6eOPZuIGaIOVynXYGWgvJkLT9t5C2wm9HqSLtp1K7NcYG2Y7PtTVR4krnQ==", + "version": "0.1900.0-next.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1900.0-next.8.tgz", + "integrity": "sha512-R45M+vmC4ECoYJtXxGvq3aNazO77/qA5nrg+S59u9RnuH4r6mvczB3yufctXNfZ1Saki1WX9UuZUqh4SLdsqjQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.1802.6", + "@angular-devkit/architect": "0.1900.0-next.8", "rxjs": "7.8.1" }, "engines": { @@ -412,9 +848,9 @@ } }, "node_modules/@angular-devkit/core": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.2.6.tgz", - "integrity": "sha512-la4CFvs5PcRWSkQ/H7TB5cPZirFVA9GoWk5LzIk8si6VjWBJRm8b3keKJoC9LlNeABRUIR5z0ocYkyQQUhdMfg==", + "version": "19.0.0-next.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.0.0-next.8.tgz", + "integrity": "sha512-WqZchrpDLv4I1niB3arBAH6GFkmkuUi7VQ9pr0AqxxlhY0riyCo0qsqS+qOum7uDu/ktBgX4BDo+bRxO8z/FYA==", "dev": true, "license": "MIT", "dependencies": { @@ -431,7 +867,7 @@ "yarn": ">= 1.13.0" }, "peerDependencies": { - "chokidar": "^3.5.2" + "chokidar": "^4.0.0" }, "peerDependenciesMeta": { "chokidar": { @@ -495,13 +931,13 @@ } }, "node_modules/@angular-devkit/schematics": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-18.2.6.tgz", - "integrity": "sha512-uIttrQ2cQ2PWAFFVPeCoNR8xvs7tPJ2i8gzqsIwYdge107xDC6u9CqfgmBqPDSFpWj+IiC2Jwcm8Z4HYKU4+7A==", + "version": "19.0.0-next.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-19.0.0-next.8.tgz", + "integrity": "sha512-TP78h7+Dv5NIBYRHtfh29x7m2D5q3X0BR+FoMe2jfL+c9ASH+XvypIJ2mqYE5Hvz99izhfKIJ3Uzvd4nJR1cBg==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "18.2.6", + "@angular-devkit/core": "19.0.0-next.8", "jsonc-parser": "3.3.1", "magic-string": "0.30.11", "ora": "5.4.1", @@ -654,9 +1090,9 @@ } }, "node_modules/@angular/animations": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-18.2.6.tgz", - "integrity": "sha512-vy9wy+Q9beiRxkEO8wNxFQ63AqAujGvk8AUHepxxIT7QNNc512TNKz8uH+feWDPO38Dm2obwYQHMGzs3WO7pUA==", + "version": "19.0.0-next.7", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-19.0.0-next.7.tgz", + "integrity": "sha512-3MEA7JxnmkmLHYDft8qO2m8QplBL9z0EeTCWgRbKESRjx+BVkytrhWtIR1L9d28159hO6LeJ0Wk3N1lJsrjqKQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -665,41 +1101,41 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "18.2.6" + "@angular/core": "19.0.0-next.7" } }, "node_modules/@angular/build": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular/build/-/build-18.2.6.tgz", - "integrity": "sha512-TQzX6Mi7uXFvmz7+OVl4Za7WawYPcx+B5Ewm6IY/DdMyB9P/Z4tbKb1LO+ynWUXYwm7avXo6XQQ4m5ArDY5F/A==", + "version": "19.0.0-next.8", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-19.0.0-next.8.tgz", + "integrity": "sha512-8Y6VhfKOACKZmKMlbDNs7REePj1qpj0M15rIRWrhQ4led1HMwjE7pa+sOG/6Xcbdrp6g9QKMBXQPZyKv1RZKgg==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1802.6", + "@angular-devkit/architect": "0.1900.0-next.8", "@babel/core": "7.25.2", "@babel/helper-annotate-as-pure": "7.24.7", "@babel/helper-split-export-declaration": "7.24.7", - "@babel/plugin-syntax-import-attributes": "7.24.7", - "@inquirer/confirm": "3.1.22", + "@babel/plugin-syntax-import-attributes": "7.25.6", + "@inquirer/confirm": "4.0.1", "@vitejs/plugin-basic-ssl": "1.1.0", "browserslist": "^4.23.0", "critters": "0.0.24", - "esbuild": "0.23.0", + "esbuild": "0.24.0", "fast-glob": "3.3.2", "https-proxy-agent": "7.0.5", "listr2": "8.2.4", - "lmdb": "3.0.13", + "lmdb": "3.1.3", "magic-string": "0.30.11", "mrmime": "2.0.0", "parse5-html-rewriting-stream": "7.0.0", "picomatch": "4.0.2", - "piscina": "4.6.1", + "piscina": "4.7.0", "rollup": "4.22.4", - "sass": "1.77.6", + "sass": "1.79.3", "semver": "7.6.3", - "vite": "5.4.6", - "watchpack": "2.4.1" + "vite": "5.4.8", + "watchpack": "2.4.2" }, "engines": { "node": "^18.19.1 || ^20.11.1 || >=22.0.0", @@ -707,14 +1143,16 @@ "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", + "@angular/compiler": "^19.0.0-next.0", + "@angular/compiler-cli": "^19.0.0-next.0", + "@angular/localize": "^19.0.0-next.0", + "@angular/platform-server": "^19.0.0-next.0", + "@angular/service-worker": "^19.0.0-next.0", + "@angular/ssr": "^19.0.0-next.8", "less": "^4.2.0", "postcss": "^8.4.0", "tailwindcss": "^2.0.0 || ^3.0.0", - "typescript": ">=5.4 <5.6" + "typescript": ">=5.5 <5.7" }, "peerDependenciesMeta": { "@angular/localize": { @@ -726,6 +1164,9 @@ "@angular/service-worker": { "optional": true }, + "@angular/ssr": { + "optional": true + }, "less": { "optional": true }, @@ -737,6 +1178,414 @@ } } }, + "node_modules/@angular/build/node_modules/@esbuild/aix-ppc64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.0.tgz", + "integrity": "sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/android-arm": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.0.tgz", + "integrity": "sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/android-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.0.tgz", + "integrity": "sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/android-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.0.tgz", + "integrity": "sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/darwin-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.0.tgz", + "integrity": "sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/darwin-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.0.tgz", + "integrity": "sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/freebsd-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.0.tgz", + "integrity": "sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/freebsd-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.0.tgz", + "integrity": "sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/linux-arm": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.0.tgz", + "integrity": "sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/linux-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.0.tgz", + "integrity": "sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/linux-ia32": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.0.tgz", + "integrity": "sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/linux-loong64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.0.tgz", + "integrity": "sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/linux-mips64el": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.0.tgz", + "integrity": "sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/linux-ppc64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.0.tgz", + "integrity": "sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/linux-riscv64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.0.tgz", + "integrity": "sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/linux-s390x": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.0.tgz", + "integrity": "sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/linux-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.0.tgz", + "integrity": "sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/netbsd-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.0.tgz", + "integrity": "sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/openbsd-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.0.tgz", + "integrity": "sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/openbsd-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.0.tgz", + "integrity": "sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/sunos-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.0.tgz", + "integrity": "sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/win32-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.0.tgz", + "integrity": "sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/win32-ia32": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.0.tgz", + "integrity": "sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@angular/build/node_modules/@esbuild/win32-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.0.tgz", + "integrity": "sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/@angular/build/node_modules/debug": { "version": "4.3.7", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", @@ -755,6 +1604,46 @@ } } }, + "node_modules/@angular/build/node_modules/esbuild": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.0.tgz", + "integrity": "sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.24.0", + "@esbuild/android-arm": "0.24.0", + "@esbuild/android-arm64": "0.24.0", + "@esbuild/android-x64": "0.24.0", + "@esbuild/darwin-arm64": "0.24.0", + "@esbuild/darwin-x64": "0.24.0", + "@esbuild/freebsd-arm64": "0.24.0", + "@esbuild/freebsd-x64": "0.24.0", + "@esbuild/linux-arm": "0.24.0", + "@esbuild/linux-arm64": "0.24.0", + "@esbuild/linux-ia32": "0.24.0", + "@esbuild/linux-loong64": "0.24.0", + "@esbuild/linux-mips64el": "0.24.0", + "@esbuild/linux-ppc64": "0.24.0", + "@esbuild/linux-riscv64": "0.24.0", + "@esbuild/linux-s390x": "0.24.0", + "@esbuild/linux-x64": "0.24.0", + "@esbuild/netbsd-x64": "0.24.0", + "@esbuild/openbsd-arm64": "0.24.0", + "@esbuild/openbsd-x64": "0.24.0", + "@esbuild/sunos-x64": "0.24.0", + "@esbuild/win32-arm64": "0.24.0", + "@esbuild/win32-ia32": "0.24.0", + "@esbuild/win32-x64": "0.24.0" + } + }, "node_modules/@angular/build/node_modules/https-proxy-agent": { "version": "7.0.5", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", @@ -789,24 +1678,6 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/@angular/build/node_modules/sass": { - "version": "1.77.6", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.6.tgz", - "integrity": "sha512-ByXE1oLD79GVq9Ht1PeHWCPMPB8XHpBuz1r85oByKHjZY6qV6rWnQovQzXJXuQ/XyE1Oj3iPk3lo28uzaRA2/Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/@angular/build/node_modules/semver": { "version": "7.6.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", @@ -821,9 +1692,9 @@ } }, "node_modules/@angular/cdk": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-18.2.6.tgz", - "integrity": "sha512-Gfq/iv4zhlKYpdQkDaBRwxI71NHNUHM1Cs1XhnZ0/oFct5HXvSv1RHRGTKqBJLLACaAPzZKXJ/UglLoyO5CNiQ==", + "version": "19.0.0-next.6", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-19.0.0-next.6.tgz", + "integrity": "sha512-3XXZIs8Jtxa1FkNhvRwo62ru5BPj+02rs2TPdfK0R8AApS7tyNslO5QeyZRFDjnTLpISesZj//ycKeRfRdJedQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -832,26 +1703,26 @@ "parse5": "^7.1.2" }, "peerDependencies": { - "@angular/common": "^18.0.0 || ^19.0.0", - "@angular/core": "^18.0.0 || ^19.0.0", + "@angular/common": "^19.0.0-0 || ^19.1.0-0 || ^19.2.0-0 || ^19.3.0-0 || ^20.0.0-0", + "@angular/core": "^19.0.0-0 || ^19.1.0-0 || ^19.2.0-0 || ^19.3.0-0 || ^20.0.0-0", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/cli": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-18.2.6.tgz", - "integrity": "sha512-tdXsnV/w+Rgu8q0zFsLU5L9ImTVqrTol1vppHaQkJ/vuoHy+s8ZEbBqhVrO/ffosNb2xseUybGYvqMS4zkNQjg==", + "version": "19.0.0-next.8", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-19.0.0-next.8.tgz", + "integrity": "sha512-62GO/N8GnxJ5SH2BkwDxi0nC7m2cGJIyMQMGYCT0xAvctvPJ4T1OwPZn267SY56056hcAc8Ui7iWyy0JJqhRsg==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.1802.6", - "@angular-devkit/core": "18.2.6", - "@angular-devkit/schematics": "18.2.6", - "@inquirer/prompts": "5.3.8", + "@angular-devkit/architect": "0.1900.0-next.8", + "@angular-devkit/core": "19.0.0-next.8", + "@angular-devkit/schematics": "19.0.0-next.8", + "@inquirer/prompts": "6.0.1", "@listr2/prompt-adapter-inquirer": "2.0.15", - "@schematics/angular": "18.2.6", + "@schematics/angular": "19.0.0-next.8", "@yarnpkg/lockfile": "1.1.0", - "ini": "4.1.3", + "ini": "5.0.0", "jsonc-parser": "3.3.1", "listr2": "8.2.4", "npm-package-arg": "11.0.3", @@ -1006,9 +1877,9 @@ } }, "node_modules/@angular/common": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-18.2.6.tgz", - "integrity": "sha512-89793ow+wrI1c7C6kyMbnweLNIZHzXthosxAEjipRZGBrqBYjvTtkE45Fl+5yBa3JO7bAhyGkUnEoyvWtZIAEA==", + "version": "19.0.0-next.7", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-19.0.0-next.7.tgz", + "integrity": "sha512-tcuHGKAkzqUxu3CJgtS7sKOxvNcK1cUfFqKYqGnxl6E4P3fEBVB5Z8onVk4IdKvdrDzYPIUkBhktcwa1iy3I/Q==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1017,14 +1888,14 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "18.2.6", + "@angular/core": "19.0.0-next.7", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-18.2.6.tgz", - "integrity": "sha512-3tX2/Qw+bZ8XzKitviH8jzNGyY0uohhehhBB57OJOCc+yr4ojy/7SYFnun1lSsRnDztdCE461641X4iQLCQ94w==", + "version": "19.0.0-next.7", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-19.0.0-next.7.tgz", + "integrity": "sha512-L5Uc0o1Oh5MVyXDGVRb0hD5LYEZpvRAW7SUGqgffX/GAIaNIqSnoucRon4Lx/7dEjyijSIEpnq4xEz7SNBb1Ew==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1033,7 +1904,7 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "18.2.6" + "@angular/core": "19.0.0-next.7" }, "peerDependenciesMeta": { "@angular/core": { @@ -1042,9 +1913,9 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-18.2.6.tgz", - "integrity": "sha512-b5x9STfjNiNM/S0D+CnqRP9UOxPtSz1+RlCH5WdOMiW/p8j5p6dBix8YYgTe6Wg3OD7eItD2pnFQKgF/dWiopA==", + "version": "19.0.0-next.7", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-19.0.0-next.7.tgz", + "integrity": "sha512-h3Z/tMj83ARjOPW8UN8IKtRtVnbE7p5RTpVD4BvJcW9k5KAV+KeDV0vjcL7uZ80K+JZOrHq7za+CT+T9RLXAXA==", "dev": true, "license": "MIT", "dependencies": { @@ -1066,8 +1937,8 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/compiler": "18.2.6", - "typescript": ">=5.4 <5.6" + "@angular/compiler": "19.0.0-next.7", + "typescript": ">=5.5 <5.7" } }, "node_modules/@angular/compiler-cli/node_modules/ansi-regex": { @@ -1075,6 +1946,7 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -1084,6 +1956,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -1099,6 +1972,7 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -1113,6 +1987,7 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -1124,16 +1999,15 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@angular/compiler-cli/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -1146,6 +2020,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -1158,6 +2033,7 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -1175,6 +2051,7 @@ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, + "license": "ISC", "engines": { "node": ">=10" } @@ -1184,6 +2061,7 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, + "license": "MIT", "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -1202,14 +2080,15 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, + "license": "ISC", "engines": { "node": ">=12" } }, "node_modules/@angular/core": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-18.2.6.tgz", - "integrity": "sha512-PjFad2j4YBwLVTw+0Te8CJCa/tV0W8caTHG8aOjj3ObdL6ihGI+FKnwerLc9RVzDFd14BOO4C6/+LbOQAh3Ltw==", + "version": "19.0.0-next.7", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-19.0.0-next.7.tgz", + "integrity": "sha512-PmhSd46559A8uVQPVqbkr/uyefHKyyS6jhvIWN3sYX9xWjEnDcoTHzRFwa9aPVIEthzZ3q3P/Rm/IepfBqz02A==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1219,13 +2098,13 @@ }, "peerDependencies": { "rxjs": "^6.5.3 || ^7.4.0", - "zone.js": "~0.14.10" + "zone.js": "~0.15.0" } }, "node_modules/@angular/forms": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-18.2.6.tgz", - "integrity": "sha512-quGkUqTxlBaLB8C/RnpfFG57fdmNF5RQ+368N89Ma++2lpIsVAHaGZZn4yOyo3wNYaM2jBxNqaYxOzZNUl5Tig==", + "version": "19.0.0-next.7", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-19.0.0-next.7.tgz", + "integrity": "sha512-OjNqQnQwl5JWHNiVtR2E5u2BoPknPmJkq2tnjcRO8QxbYUqm+hLkby4o5gqS1OvBsxJytj8vPuTBNv4a9iq7uA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1234,16 +2113,16 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "18.2.6", - "@angular/core": "18.2.6", - "@angular/platform-browser": "18.2.6", + "@angular/common": "19.0.0-next.7", + "@angular/core": "19.0.0-next.7", + "@angular/platform-browser": "19.0.0-next.7", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/language-service": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-18.2.6.tgz", - "integrity": "sha512-GBvBvS2llh+/l2YhO7UO5o3GftlvQQoXnw3v0hcNoHKwcnvqXV4CCi+T2WOaZyK0iB8Is4QRbMrpJUC66HokZg==", + "version": "19.0.0-next.7", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-19.0.0-next.7.tgz", + "integrity": "sha512-Rv6zjgHx3XjfnHYl4+VeIli/Z3XPwbkYXFtWXg9e6FcbOpGsShdtucha4ZiRNiVe4tHXJEU3D0Pcb624IheXYQ==", "dev": true, "license": "MIT", "engines": { @@ -1251,27 +2130,27 @@ } }, "node_modules/@angular/material": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-18.2.6.tgz", - "integrity": "sha512-ObxC/vomSb9QF3vIztuiInQzws+D6u09Dhfx6uNFjtyICqxEFpF7+Qx7QVDWrsuXOgxZTKgacK8f46iV8hWUfg==", + "version": "19.0.0-next.6", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-19.0.0-next.6.tgz", + "integrity": "sha512-Spi0nAdvOwsYmyBZyLJfLYIos1eYBPQ2DMPg+mt5x2dCwqYsFIu9ZTxWJD2hEhGOXVgDi+PciXlmljMnGu8iVA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/animations": "^18.0.0 || ^19.0.0", - "@angular/cdk": "18.2.6", - "@angular/common": "^18.0.0 || ^19.0.0", - "@angular/core": "^18.0.0 || ^19.0.0", - "@angular/forms": "^18.0.0 || ^19.0.0", - "@angular/platform-browser": "^18.0.0 || ^19.0.0", + "@angular/animations": "^19.0.0-0 || ^19.1.0-0 || ^19.2.0-0 || ^19.3.0-0 || ^20.0.0-0", + "@angular/cdk": "19.0.0-next.6", + "@angular/common": "^19.0.0-0 || ^19.1.0-0 || ^19.2.0-0 || ^19.3.0-0 || ^20.0.0-0", + "@angular/core": "^19.0.0-0 || ^19.1.0-0 || ^19.2.0-0 || ^19.3.0-0 || ^20.0.0-0", + "@angular/forms": "^19.0.0-0 || ^19.1.0-0 || ^19.2.0-0 || ^19.3.0-0 || ^20.0.0-0", + "@angular/platform-browser": "^19.0.0-0 || ^19.1.0-0 || ^19.2.0-0 || ^19.3.0-0 || ^20.0.0-0", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/platform-browser": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-18.2.6.tgz", - "integrity": "sha512-RA8UMiYNLga+QMwpKcDw1357gYPfPyY/rmLeezMak//BbsENFYQOJ4Z6DBOBNiPlHxmBsUJMGaKdlpQhfCROyQ==", + "version": "19.0.0-next.7", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-19.0.0-next.7.tgz", + "integrity": "sha512-CEoSpvrs4D8NT1cL2Uwsij6U62SZUeCtgBJ4Phm9gGM8aQE7fC/zKGBRSHuMxI8yAA+5ekMIKnLe8wpqSPltuQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1280,9 +2159,9 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/animations": "18.2.6", - "@angular/common": "18.2.6", - "@angular/core": "18.2.6" + "@angular/animations": "19.0.0-next.7", + "@angular/common": "19.0.0-next.7", + "@angular/core": "19.0.0-next.7" }, "peerDependenciesMeta": { "@angular/animations": { @@ -1291,9 +2170,9 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-18.2.6.tgz", - "integrity": "sha512-kGBU3FNc+DF9r33hwHZqiWoZgQbCDdEIucU0NCLCIg0Hw6/Q9Hr2ndjxQI+WynCPg0JeBn34jpouvpeJer3YDQ==", + "version": "19.0.0-next.7", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-19.0.0-next.7.tgz", + "integrity": "sha512-GZMO9eJmKPbRO7bQHPuWaRX+AF1hKxo5sN8/FS0i8D0pYeN64z3M3dY/0bFfl41BcqCII+sIfaFrOomRNhc+lw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1302,16 +2181,36 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "18.2.6", - "@angular/compiler": "18.2.6", - "@angular/core": "18.2.6", - "@angular/platform-browser": "18.2.6" + "@angular/common": "19.0.0-next.7", + "@angular/compiler": "19.0.0-next.7", + "@angular/core": "19.0.0-next.7", + "@angular/platform-browser": "19.0.0-next.7" + } + }, + "node_modules/@angular/platform-server": { + "version": "19.0.0-next.7", + "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-19.0.0-next.7.tgz", + "integrity": "sha512-n5VdZ5Xwa01kHdp290h4/T9ypXATYco2gbedcdMHeZzOsSLnRdsI/Pk7RbjcGvksyo9iXs8GmMHTJzMyhJbpNw==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0", + "xhr2": "^0.2.0" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0" + }, + "peerDependencies": { + "@angular/animations": "19.0.0-next.7", + "@angular/common": "19.0.0-next.7", + "@angular/compiler": "19.0.0-next.7", + "@angular/core": "19.0.0-next.7", + "@angular/platform-browser": "19.0.0-next.7" } }, "node_modules/@angular/router": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-18.2.6.tgz", - "integrity": "sha512-t57Sqja8unHhZlPr+4CWnQacuox2M4p2pMHps+31wt337qH6mKf4jqDmK0dE/MFdRyKjT2a2E/2NwtxXxcWNuw==", + "version": "19.0.0-next.7", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-19.0.0-next.7.tgz", + "integrity": "sha512-w0XiG5vmzuoDhHGMQhTxJoHjM3wy1LG+EL3oVCeVdn+6LFrtQMDjKpIpqu7huXBKmcfPwbFKHm8EKDsiZkWSJA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1320,24 +2219,25 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "18.2.6", - "@angular/core": "18.2.6", - "@angular/platform-browser": "18.2.6", + "@angular/common": "19.0.0-next.7", + "@angular/core": "19.0.0-next.7", + "@angular/platform-browser": "19.0.0-next.7", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/ssr": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular/ssr/-/ssr-18.2.6.tgz", - "integrity": "sha512-xqRrWPXZmWeBh1Jx+7yCuBKjutyyGaq0epcDJOVyYH0h6a0+q5TcMhvhJVRE6BW6J+Bbvxr8+5y4Inr2EGDJsA==", + "version": "19.0.0-next.8", + "resolved": "https://registry.npmjs.org/@angular/ssr/-/ssr-19.0.0-next.8.tgz", + "integrity": "sha512-dPPfTFMT2oAmk3GZI5BnhO/Im8YnFvciQzSExP50iqEvi012rUjc14Vno9BGV8T5HnQu/tAbq4RGY/bSyuCfFA==", "license": "MIT", "dependencies": { - "critters": "0.0.24", "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/common": "^18.0.0", - "@angular/core": "^18.0.0" + "@angular/common": "^19.0.0-next.0", + "@angular/core": "^19.0.0-next.0", + "@angular/platform-server": "^19.0.0-next.0", + "@angular/router": "^19.0.0-next.0" } }, "node_modules/@babel/code-frame": { @@ -1355,9 +2255,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.2.tgz", - "integrity": "sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz", + "integrity": "sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==", "dev": true, "license": "MIT", "engines": { @@ -1434,13 +2334,13 @@ } }, "node_modules/@babel/generator": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz", - "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz", + "integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.25.0", + "@babel/types": "^7.25.6", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" @@ -1518,9 +2418,9 @@ "dev": true }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.0.tgz", - "integrity": "sha512-GYM6BxeQsETc9mnct+nIIpf63SAyzvyYN7UB/IlTyd+MBg06afFGp0mIeUqGyWgS2mxad6vqbMrHVlaL3m70sQ==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz", + "integrity": "sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1529,7 +2429,7 @@ "@babel/helper-optimise-call-expression": "^7.24.7", "@babel/helper-replace-supers": "^7.25.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/traverse": "^7.25.0", + "@babel/traverse": "^7.25.4", "semver": "^6.3.1" }, "engines": { @@ -1550,9 +2450,9 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.0.tgz", - "integrity": "sha512-q0T+dknZS+L5LDazIP+02gEZITG5unzvb6yIjcmj5i0eFrs5ToBV2m2JGH4EsE/gtP8ygEGLGApBgRIZkTm7zg==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz", + "integrity": "sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==", "dev": true, "license": "MIT", "dependencies": { @@ -1838,13 +2738,13 @@ } }, "node_modules/@babel/parser": { - "version": "7.25.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.3.tgz", - "integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", + "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.25.2" + "@babel/types": "^7.25.6" }, "bin": { "parser": "bin/babel-parser.js" @@ -2029,13 +2929,13 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz", - "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz", + "integrity": "sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -2203,16 +3103,16 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.0.tgz", - "integrity": "sha512-uaIi2FdqzjpAMvVqvB51S42oC2JEVgh0LDsGfZVDysWE8LrJtQC2jvKmOqEYThKyB7bDEb7BP1GYWDm7tABA0Q==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.4.tgz", + "integrity": "sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-remap-async-to-generator": "^7.25.0", "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/traverse": "^7.25.0" + "@babel/traverse": "^7.25.4" }, "engines": { "node": ">=6.9.0" @@ -2272,14 +3172,14 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz", - "integrity": "sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.4.tgz", + "integrity": "sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -2307,17 +3207,17 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.0.tgz", - "integrity": "sha512-xyi6qjr/fYU304fiRwFbekzkqVJZ6A7hOjWZd+89FVcBqPV3S9Wuozz82xdpLspckeaafntbzglaW4pqpzvtSw==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.4.tgz", + "integrity": "sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-compilation-targets": "^7.25.2", "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-replace-supers": "^7.25.0", - "@babel/traverse": "^7.25.0", + "@babel/traverse": "^7.25.4", "globals": "^11.1.0" }, "engines": { @@ -2788,14 +3688,14 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz", - "integrity": "sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.4.tgz", + "integrity": "sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -2873,16 +3773,16 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.7.tgz", - "integrity": "sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.4.tgz", + "integrity": "sha512-8hsyG+KUYGY0coX6KUCDancA0Vw225KJ2HJO0yCNr1vq5r+lJTleDaJf0K7iOhjw4SWhu03TMBzYTJ9krmzULQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.8", "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.1", + "babel-plugin-polyfill-corejs3": "^0.10.6", "babel-plugin-polyfill-regenerator": "^0.6.1", "semver": "^6.3.1" }, @@ -3035,14 +3935,14 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz", - "integrity": "sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.4.tgz", + "integrity": "sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8" }, "engines": { "node": ">=6.9.0" @@ -3052,13 +3952,13 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.25.3", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.3.tgz", - "integrity": "sha512-QsYW7UeAaXvLPX9tdVliMJE7MD7M6MLYVTovRTIwhoYQVFHR1rM4wO8wqAezYi3/BpSD+NzVCZ69R6smWiIi8g==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.4.tgz", + "integrity": "sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.25.2", + "@babel/compat-data": "^7.25.4", "@babel/helper-compilation-targets": "^7.25.2", "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-validator-option": "^7.24.8", @@ -3087,13 +3987,13 @@ "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", "@babel/plugin-transform-arrow-functions": "^7.24.7", - "@babel/plugin-transform-async-generator-functions": "^7.25.0", + "@babel/plugin-transform-async-generator-functions": "^7.25.4", "@babel/plugin-transform-async-to-generator": "^7.24.7", "@babel/plugin-transform-block-scoped-functions": "^7.24.7", "@babel/plugin-transform-block-scoping": "^7.25.0", - "@babel/plugin-transform-class-properties": "^7.24.7", + "@babel/plugin-transform-class-properties": "^7.25.4", "@babel/plugin-transform-class-static-block": "^7.24.7", - "@babel/plugin-transform-classes": "^7.25.0", + "@babel/plugin-transform-classes": "^7.25.4", "@babel/plugin-transform-computed-properties": "^7.24.7", "@babel/plugin-transform-destructuring": "^7.24.8", "@babel/plugin-transform-dotall-regex": "^7.24.7", @@ -3121,7 +4021,7 @@ "@babel/plugin-transform-optional-catch-binding": "^7.24.7", "@babel/plugin-transform-optional-chaining": "^7.24.8", "@babel/plugin-transform-parameters": "^7.24.7", - "@babel/plugin-transform-private-methods": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.25.4", "@babel/plugin-transform-private-property-in-object": "^7.24.7", "@babel/plugin-transform-property-literals": "^7.24.7", "@babel/plugin-transform-regenerator": "^7.24.7", @@ -3134,10 +4034,10 @@ "@babel/plugin-transform-unicode-escapes": "^7.24.7", "@babel/plugin-transform-unicode-property-regex": "^7.24.7", "@babel/plugin-transform-unicode-regex": "^7.24.7", - "@babel/plugin-transform-unicode-sets-regex": "^7.24.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.4", "@babel/preset-modules": "0.1.6-no-external-plugins", "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-corejs3": "^0.10.6", "babel-plugin-polyfill-regenerator": "^0.6.1", "core-js-compat": "^3.37.1", "semver": "^6.3.1" @@ -3180,9 +4080,9 @@ "dev": true }, "node_modules/@babel/runtime": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.0.tgz", - "integrity": "sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.6.tgz", + "integrity": "sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3208,17 +4108,17 @@ } }, "node_modules/@babel/traverse": { - "version": "7.25.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.3.tgz", - "integrity": "sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz", + "integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.25.0", - "@babel/parser": "^7.25.3", + "@babel/generator": "^7.25.6", + "@babel/parser": "^7.25.6", "@babel/template": "^7.25.0", - "@babel/types": "^7.25.2", + "@babel/types": "^7.25.6", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -3252,9 +4152,9 @@ "license": "MIT" }, "node_modules/@babel/types": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.2.tgz", - "integrity": "sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", + "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", "dev": true, "license": "MIT", "dependencies": { @@ -3769,9 +4669,9 @@ } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.0.tgz", - "integrity": "sha512-3sG8Zwa5fMcA9bgqB8AfWPQ+HFke6uD3h1s3RIwUNK8EG7a4buxvuFTs3j1IMs2NXAk9F30C/FF4vxRgQCcmoQ==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.1.tgz", + "integrity": "sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==", "cpu": [ "ppc64" ], @@ -3786,9 +4686,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.0.tgz", - "integrity": "sha512-+KuOHTKKyIKgEEqKbGTK8W7mPp+hKinbMBeEnNzjJGyFcWsfrXjSTNluJHCY1RqhxFurdD8uNXQDei7qDlR6+g==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.1.tgz", + "integrity": "sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==", "cpu": [ "arm" ], @@ -3803,9 +4703,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.0.tgz", - "integrity": "sha512-EuHFUYkAVfU4qBdyivULuu03FhJO4IJN9PGuABGrFy4vUuzk91P2d+npxHcFdpUnfYKy0PuV+n6bKIpHOB3prQ==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.1.tgz", + "integrity": "sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==", "cpu": [ "arm64" ], @@ -3820,9 +4720,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.0.tgz", - "integrity": "sha512-WRrmKidLoKDl56LsbBMhzTTBxrsVwTKdNbKDalbEZr0tcsBgCLbEtoNthOW6PX942YiYq8HzEnb4yWQMLQuipQ==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.1.tgz", + "integrity": "sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==", "cpu": [ "x64" ], @@ -3837,9 +4737,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.0.tgz", - "integrity": "sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.1.tgz", + "integrity": "sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==", "cpu": [ "arm64" ], @@ -3854,9 +4754,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.0.tgz", - "integrity": "sha512-IMQ6eme4AfznElesHUPDZ+teuGwoRmVuuixu7sv92ZkdQcPbsNHzutd+rAfaBKo8YK3IrBEi9SLLKWJdEvJniQ==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.1.tgz", + "integrity": "sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==", "cpu": [ "x64" ], @@ -3871,9 +4771,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.0.tgz", - "integrity": "sha512-0muYWCng5vqaxobq6LB3YNtevDFSAZGlgtLoAc81PjUfiFz36n4KMpwhtAd4he8ToSI3TGyuhyx5xmiWNYZFyw==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.1.tgz", + "integrity": "sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==", "cpu": [ "arm64" ], @@ -3888,9 +4788,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.0.tgz", - "integrity": "sha512-XKDVu8IsD0/q3foBzsXGt/KjD/yTKBCIwOHE1XwiXmrRwrX6Hbnd5Eqn/WvDekddK21tfszBSrE/WMaZh+1buQ==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.1.tgz", + "integrity": "sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==", "cpu": [ "x64" ], @@ -3905,9 +4805,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.0.tgz", - "integrity": "sha512-SEELSTEtOFu5LPykzA395Mc+54RMg1EUgXP+iw2SJ72+ooMwVsgfuwXo5Fn0wXNgWZsTVHwY2cg4Vi/bOD88qw==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.1.tgz", + "integrity": "sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==", "cpu": [ "arm" ], @@ -3922,9 +4822,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.0.tgz", - "integrity": "sha512-j1t5iG8jE7BhonbsEg5d9qOYcVZv/Rv6tghaXM/Ug9xahM0nX/H2gfu6X6z11QRTMT6+aywOMA8TDkhPo8aCGw==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.1.tgz", + "integrity": "sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==", "cpu": [ "arm64" ], @@ -3939,9 +4839,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.0.tgz", - "integrity": "sha512-P7O5Tkh2NbgIm2R6x1zGJJsnacDzTFcRWZyTTMgFdVit6E98LTxO+v8LCCLWRvPrjdzXHx9FEOA8oAZPyApWUA==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.1.tgz", + "integrity": "sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==", "cpu": [ "ia32" ], @@ -3956,9 +4856,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.0.tgz", - "integrity": "sha512-InQwepswq6urikQiIC/kkx412fqUZudBO4SYKu0N+tGhXRWUqAx+Q+341tFV6QdBifpjYgUndV1hhMq3WeJi7A==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.1.tgz", + "integrity": "sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==", "cpu": [ "loong64" ], @@ -3973,9 +4873,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.0.tgz", - "integrity": "sha512-J9rflLtqdYrxHv2FqXE2i1ELgNjT+JFURt/uDMoPQLcjWQA5wDKgQA4t/dTqGa88ZVECKaD0TctwsUfHbVoi4w==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.1.tgz", + "integrity": "sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==", "cpu": [ "mips64el" ], @@ -3990,9 +4890,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.0.tgz", - "integrity": "sha512-cShCXtEOVc5GxU0fM+dsFD10qZ5UpcQ8AM22bYj0u/yaAykWnqXJDpd77ublcX6vdDsWLuweeuSNZk4yUxZwtw==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.1.tgz", + "integrity": "sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==", "cpu": [ "ppc64" ], @@ -4007,9 +4907,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.0.tgz", - "integrity": "sha512-HEtaN7Y5UB4tZPeQmgz/UhzoEyYftbMXrBCUjINGjh3uil+rB/QzzpMshz3cNUxqXN7Vr93zzVtpIDL99t9aRw==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.1.tgz", + "integrity": "sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==", "cpu": [ "riscv64" ], @@ -4024,9 +4924,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.0.tgz", - "integrity": "sha512-WDi3+NVAuyjg/Wxi+o5KPqRbZY0QhI9TjrEEm+8dmpY9Xir8+HE/HNx2JoLckhKbFopW0RdO2D72w8trZOV+Wg==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.1.tgz", + "integrity": "sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==", "cpu": [ "s390x" ], @@ -4041,9 +4941,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.0.tgz", - "integrity": "sha512-a3pMQhUEJkITgAw6e0bWA+F+vFtCciMjW/LPtoj99MhVt+Mfb6bbL9hu2wmTZgNd994qTAEw+U/r6k3qHWWaOQ==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.1.tgz", + "integrity": "sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==", "cpu": [ "x64" ], @@ -4058,9 +4958,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.0.tgz", - "integrity": "sha512-cRK+YDem7lFTs2Q5nEv/HHc4LnrfBCbH5+JHu6wm2eP+d8OZNoSMYgPZJq78vqQ9g+9+nMuIsAO7skzphRXHyw==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.1.tgz", + "integrity": "sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==", "cpu": [ "x64" ], @@ -4075,9 +4975,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.0.tgz", - "integrity": "sha512-suXjq53gERueVWu0OKxzWqk7NxiUWSUlrxoZK7usiF50C6ipColGR5qie2496iKGYNLhDZkPxBI3erbnYkU0rQ==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.1.tgz", + "integrity": "sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==", "cpu": [ "arm64" ], @@ -4092,9 +4992,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.0.tgz", - "integrity": "sha512-6p3nHpby0DM/v15IFKMjAaayFhqnXV52aEmv1whZHX56pdkK+MEaLoQWj+H42ssFarP1PcomVhbsR4pkz09qBg==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.1.tgz", + "integrity": "sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==", "cpu": [ "x64" ], @@ -4109,9 +5009,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.0.tgz", - "integrity": "sha512-BFelBGfrBwk6LVrmFzCq1u1dZbG4zy/Kp93w2+y83Q5UGYF1d8sCzeLI9NXjKyujjBBniQa8R8PzLFAUrSM9OA==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.1.tgz", + "integrity": "sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==", "cpu": [ "x64" ], @@ -4126,9 +5026,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.0.tgz", - "integrity": "sha512-lY6AC8p4Cnb7xYHuIxQ6iYPe6MfO2CC43XXKo9nBXDb35krYt7KGhQnOkRGar5psxYkircpCqfbNDB4uJbS2jQ==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.1.tgz", + "integrity": "sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==", "cpu": [ "arm64" ], @@ -4143,9 +5043,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.0.tgz", - "integrity": "sha512-7L1bHlOTcO4ByvI7OXVI5pNN6HSu6pUQq9yodga8izeuB1KcT2UkHaH6118QJwopExPn0rMHIseCTx1CRo/uNA==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.1.tgz", + "integrity": "sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==", "cpu": [ "ia32" ], @@ -4160,9 +5060,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.0.tgz", - "integrity": "sha512-Arm+WgUFLUATuoxCJcahGuk6Yj9Pzxd6l11Zb/2aAuv5kWWvvfhLFo2fni4uSK5vzlUdCGZ/BdV5tH8klj8p8g==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.1.tgz", + "integrity": "sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==", "cpu": [ "x64" ], @@ -4408,15 +5308,15 @@ "license": "BSD-3-Clause" }, "node_modules/@inquirer/checkbox": { - "version": "2.4.7", - "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-2.4.7.tgz", - "integrity": "sha512-5YwCySyV1UEgqzz34gNsC38eKxRBtlRDpJLlKcRtTjlYA/yDKuc1rfw+hjw+2WJxbAZtaDPsRl5Zk7J14SBoBw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-3.0.1.tgz", + "integrity": "sha512-0hm2nrToWUdD6/UHnel/UKGdk1//ke5zGUpHIvk5ZWmaKezlGxZkOJXNSWsdxO/rEqTkbB3lNC2J6nBElV2aAQ==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^9.0.10", - "@inquirer/figures": "^1.0.5", - "@inquirer/type": "^1.5.2", + "@inquirer/core": "^9.2.1", + "@inquirer/figures": "^1.0.6", + "@inquirer/type": "^2.0.0", "ansi-escapes": "^4.3.2", "yoctocolors-cjs": "^2.1.2" }, @@ -4424,34 +5324,59 @@ "node": ">=18" } }, + "node_modules/@inquirer/checkbox/node_modules/@inquirer/type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz", + "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==", + "dev": true, + "license": "MIT", + "dependencies": { + "mute-stream": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@inquirer/confirm": { - "version": "3.1.22", - "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-3.1.22.tgz", - "integrity": "sha512-gsAKIOWBm2Q87CDfs9fEo7wJT3fwWIJfnDGMn9Qy74gBnNFOACDNfhUzovubbJjWnKLGBln7/NcSmZwj5DuEXg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-4.0.1.tgz", + "integrity": "sha512-46yL28o2NJ9doViqOy0VDcoTzng7rAb6yPQKU7VDLqkmbCaH4JqK4yk4XqlzNWy9PVC5pG1ZUXPBQv+VqnYs2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^9.2.1", + "@inquirer/type": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/confirm/node_modules/@inquirer/type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz", + "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^9.0.10", - "@inquirer/type": "^1.5.2" + "mute-stream": "^1.0.0" }, "engines": { "node": ">=18" } }, "node_modules/@inquirer/core": { - "version": "9.0.10", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.0.10.tgz", - "integrity": "sha512-TdESOKSVwf6+YWDz8GhS6nKscwzkIyakEzCLJ5Vh6O3Co2ClhCJ0A4MG909MUWfaWdpJm7DE45ii51/2Kat9tA==", + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.2.1.tgz", + "integrity": "sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/figures": "^1.0.5", - "@inquirer/type": "^1.5.2", + "@inquirer/figures": "^1.0.6", + "@inquirer/type": "^2.0.0", "@types/mute-stream": "^0.0.4", - "@types/node": "^22.1.0", + "@types/node": "^22.5.5", "@types/wrap-ansi": "^3.0.0", "ansi-escapes": "^4.3.2", - "cli-spinners": "^2.9.2", "cli-width": "^4.1.0", "mute-stream": "^1.0.0", "signal-exit": "^4.1.0", @@ -4463,6 +5388,19 @@ "node": ">=18" } }, + "node_modules/@inquirer/core/node_modules/@inquirer/type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz", + "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==", + "dev": true, + "license": "MIT", + "dependencies": { + "mute-stream": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@inquirer/core/node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -4500,39 +5438,65 @@ } }, "node_modules/@inquirer/editor": { - "version": "2.1.22", - "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-2.1.22.tgz", - "integrity": "sha512-K1QwTu7GCK+nKOVRBp5HY9jt3DXOfPGPr6WRDrPImkcJRelG9UTx2cAtK1liXmibRrzJlTWOwqgWT3k2XnS62w==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-3.0.1.tgz", + "integrity": "sha512-VA96GPFaSOVudjKFraokEEmUQg/Lub6OXvbIEZU1SDCmBzRkHGhxoFAVaF30nyiB4m5cEbDgiI2QRacXZ2hw9Q==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^9.0.10", - "@inquirer/type": "^1.5.2", + "@inquirer/core": "^9.2.1", + "@inquirer/type": "^2.0.0", "external-editor": "^3.1.0" }, "engines": { "node": ">=18" } }, + "node_modules/@inquirer/editor/node_modules/@inquirer/type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz", + "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==", + "dev": true, + "license": "MIT", + "dependencies": { + "mute-stream": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@inquirer/expand": { - "version": "2.1.22", - "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-2.1.22.tgz", - "integrity": "sha512-wTZOBkzH+ItPuZ3ZPa9lynBsdMp6kQ9zbjVPYEtSBG7UulGjg2kQiAnUjgyG4SlntpTce5bOmXAPvE4sguXjpA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-3.0.1.tgz", + "integrity": "sha512-ToG8d6RIbnVpbdPdiN7BCxZGiHOTomOX94C2FaT5KOHupV40tKEDozp12res6cMIfRKrXLJyexAZhWVHgbALSQ==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^9.0.10", - "@inquirer/type": "^1.5.2", + "@inquirer/core": "^9.2.1", + "@inquirer/type": "^2.0.0", "yoctocolors-cjs": "^2.1.2" }, "engines": { "node": ">=18" } }, + "node_modules/@inquirer/expand/node_modules/@inquirer/type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz", + "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==", + "dev": true, + "license": "MIT", + "dependencies": { + "mute-stream": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@inquirer/figures": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.5.tgz", - "integrity": "sha512-79hP/VWdZ2UVc9bFGJnoQ/lQMpL74mGgzSYX1xUqCVk7/v73vJCMw1VuyWN1jGkZ9B3z7THAbySqGbCNefcjfA==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.6.tgz", + "integrity": "sha512-yfZzps3Cso2UbM7WlxKwZQh2Hs6plrbjs1QnzQDZhK2DgyCo6D8AaHps9olkNcUFlcYERMqU3uJSp1gmy3s/qQ==", "dev": true, "license": "MIT", "engines": { @@ -4540,111 +5504,176 @@ } }, "node_modules/@inquirer/input": { - "version": "2.2.9", - "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-2.2.9.tgz", - "integrity": "sha512-7Z6N+uzkWM7+xsE+3rJdhdG/+mQgejOVqspoW+w0AbSZnL6nq5tGMEVASaYVWbkoSzecABWwmludO2evU3d31g==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-3.0.1.tgz", + "integrity": "sha512-BDuPBmpvi8eMCxqC5iacloWqv+5tQSJlUafYWUe31ow1BVXjW2a5qe3dh4X/Z25Wp22RwvcaLCc2siHobEOfzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^9.2.1", + "@inquirer/type": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/input/node_modules/@inquirer/type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz", + "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^9.0.10", - "@inquirer/type": "^1.5.2" + "mute-stream": "^1.0.0" }, "engines": { "node": ">=18" } }, "node_modules/@inquirer/number": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-1.0.10.tgz", - "integrity": "sha512-kWTxRF8zHjQOn2TJs+XttLioBih6bdc5CcosXIzZsrTY383PXI35DuhIllZKu7CdXFi2rz2BWPN9l0dPsvrQOA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-2.0.1.tgz", + "integrity": "sha512-QpR8jPhRjSmlr/mD2cw3IR8HRO7lSVOnqUvQa8scv1Lsr3xoAMMworcYW3J13z3ppjBFBD2ef1Ci6AE5Qn8goQ==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^9.0.10", - "@inquirer/type": "^1.5.2" + "@inquirer/core": "^9.2.1", + "@inquirer/type": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/number/node_modules/@inquirer/type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz", + "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==", + "dev": true, + "license": "MIT", + "dependencies": { + "mute-stream": "^1.0.0" }, "engines": { "node": ">=18" } }, "node_modules/@inquirer/password": { - "version": "2.1.22", - "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-2.1.22.tgz", - "integrity": "sha512-5Fxt1L9vh3rAKqjYwqsjU4DZsEvY/2Gll+QkqR4yEpy6wvzLxdSgFhUcxfDAOtO4BEoTreWoznC0phagwLU5Kw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-3.0.1.tgz", + "integrity": "sha512-haoeEPUisD1NeE2IanLOiFr4wcTXGWrBOyAyPZi1FfLJuXOzNmxCJPgUrGYKVh+Y8hfGJenIfz5Wb/DkE9KkMQ==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^9.0.10", - "@inquirer/type": "^1.5.2", + "@inquirer/core": "^9.2.1", + "@inquirer/type": "^2.0.0", "ansi-escapes": "^4.3.2" }, "engines": { "node": ">=18" } }, + "node_modules/@inquirer/password/node_modules/@inquirer/type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz", + "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==", + "dev": true, + "license": "MIT", + "dependencies": { + "mute-stream": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@inquirer/prompts": { - "version": "5.3.8", - "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-5.3.8.tgz", - "integrity": "sha512-b2BudQY/Si4Y2a0PdZZL6BeJtl8llgeZa7U2j47aaJSCeAl1e4UI7y8a9bSkO3o/ZbZrgT5muy/34JbsjfIWxA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-6.0.1.tgz", + "integrity": "sha512-yl43JD/86CIj3Mz5mvvLJqAOfIup7ncxfJ0Btnl0/v5TouVUyeEdcpknfgc+yMevS/48oH9WAkkw93m7otLb/A==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/checkbox": "^2.4.7", - "@inquirer/confirm": "^3.1.22", - "@inquirer/editor": "^2.1.22", - "@inquirer/expand": "^2.1.22", - "@inquirer/input": "^2.2.9", - "@inquirer/number": "^1.0.10", - "@inquirer/password": "^2.1.22", - "@inquirer/rawlist": "^2.2.4", - "@inquirer/search": "^1.0.7", - "@inquirer/select": "^2.4.7" + "@inquirer/checkbox": "^3.0.1", + "@inquirer/confirm": "^4.0.1", + "@inquirer/editor": "^3.0.1", + "@inquirer/expand": "^3.0.1", + "@inquirer/input": "^3.0.1", + "@inquirer/number": "^2.0.1", + "@inquirer/password": "^3.0.1", + "@inquirer/rawlist": "^3.0.1", + "@inquirer/search": "^2.0.1", + "@inquirer/select": "^3.0.1" }, "engines": { "node": ">=18" } }, "node_modules/@inquirer/rawlist": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-2.2.4.tgz", - "integrity": "sha512-pb6w9pWrm7EfnYDgQObOurh2d2YH07+eDo3xQBsNAM2GRhliz6wFXGi1thKQ4bN6B0xDd6C3tBsjdr3obsCl3Q==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-3.0.1.tgz", + "integrity": "sha512-VgRtFIwZInUzTiPLSfDXK5jLrnpkuSOh1ctfaoygKAdPqjcjKYmGh6sCY1pb0aGnCGsmhUxoqLDUAU0ud+lGXQ==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^9.0.10", - "@inquirer/type": "^1.5.2", + "@inquirer/core": "^9.2.1", + "@inquirer/type": "^2.0.0", "yoctocolors-cjs": "^2.1.2" }, "engines": { "node": ">=18" } }, + "node_modules/@inquirer/rawlist/node_modules/@inquirer/type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz", + "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==", + "dev": true, + "license": "MIT", + "dependencies": { + "mute-stream": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@inquirer/search": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-1.0.7.tgz", - "integrity": "sha512-p1wpV+3gd1eST/o5N3yQpYEdFNCzSP0Klrl+5bfD3cTTz8BGG6nf4Z07aBW0xjlKIj1Rp0y3x/X4cZYi6TfcLw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-2.0.1.tgz", + "integrity": "sha512-r5hBKZk3g5MkIzLVoSgE4evypGqtOannnB3PKTG9NRZxyFRKcfzrdxXXPcoJQsxJPzvdSU2Rn7pB7lw0GCmGAg==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^9.0.10", - "@inquirer/figures": "^1.0.5", - "@inquirer/type": "^1.5.2", + "@inquirer/core": "^9.2.1", + "@inquirer/figures": "^1.0.6", + "@inquirer/type": "^2.0.0", "yoctocolors-cjs": "^2.1.2" }, "engines": { "node": ">=18" } }, + "node_modules/@inquirer/search/node_modules/@inquirer/type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz", + "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==", + "dev": true, + "license": "MIT", + "dependencies": { + "mute-stream": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@inquirer/select": { - "version": "2.4.7", - "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-2.4.7.tgz", - "integrity": "sha512-JH7XqPEkBpNWp3gPCqWqY8ECbyMoFcCZANlL6pV9hf59qK6dGmkOlx1ydyhY+KZ0c5X74+W6Mtp+nm2QX0/MAQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-3.0.1.tgz", + "integrity": "sha512-lUDGUxPhdWMkN/fHy1Lk7pF3nK1fh/gqeyWXmctefhxLYxlDsc7vsPBEpxrfVGDsVdyYJsiJoD4bJ1b623cV1Q==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^9.0.10", - "@inquirer/figures": "^1.0.5", - "@inquirer/type": "^1.5.2", + "@inquirer/core": "^9.2.1", + "@inquirer/figures": "^1.0.6", + "@inquirer/type": "^2.0.0", "ansi-escapes": "^4.3.2", "yoctocolors-cjs": "^2.1.2" }, @@ -4652,10 +5681,23 @@ "node": ">=18" } }, + "node_modules/@inquirer/select/node_modules/@inquirer/type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz", + "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==", + "dev": true, + "license": "MIT", + "dependencies": { + "mute-stream": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@inquirer/type": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-1.5.2.tgz", - "integrity": "sha512-w9qFkumYDCNyDZmNQjf/n6qQuvQ4dMC3BJesY4oF+yr0CxR5vxujflAVeIcS6U336uzi9GM0kAfZlLrZ9UTkpA==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-1.5.3.tgz", + "integrity": "sha512-xUQ14WQGR/HK5ei+2CvgcwoH9fQ4PgPGmVFSN0pc1+fVyDL3MREhyAY7nxEErSu6CkllBM3D7e3e+kOvtu+eIg==", "dev": true, "license": "MIT", "dependencies": { @@ -4924,9 +5966,9 @@ } }, "node_modules/@lmdb/lmdb-darwin-arm64": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.0.13.tgz", - "integrity": "sha512-uiKPB0Fv6WEEOZjruu9a6wnW/8jrjzlZbxXscMB8kuCJ1k6kHpcBnuvaAWcqhbI7rqX5GKziwWEdD+wi2gNLfA==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.1.3.tgz", + "integrity": "sha512-VV667lP23gIsQkb80rnQwAHjj6F1uZp30qTnvLSlep3pOomzXcQBMFp4ZmJLeGJnnPy54JjNsYBFyg9X95wCPw==", "cpu": [ "arm64" ], @@ -4938,9 +5980,9 @@ ] }, "node_modules/@lmdb/lmdb-darwin-x64": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.0.13.tgz", - "integrity": "sha512-bEVIIfK5mSQoG1R19qA+fJOvCB+0wVGGnXHT3smchBVahYBdlPn2OsZZKzlHWfb1E+PhLBmYfqB5zQXFP7hJig==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.1.3.tgz", + "integrity": "sha512-kuhKKJxGCQr9gBtUd7cVBBn6OtwQg7vIiD5gHEZb+jWLJulg6N4uPSLTab8W9tvpb3ryRTAejMt7F89/2MoRrQ==", "cpu": [ "x64" ], @@ -4952,9 +5994,9 @@ ] }, "node_modules/@lmdb/lmdb-linux-arm": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.0.13.tgz", - "integrity": "sha512-Yml1KlMzOnXj/tnW7yX8U78iAzTk39aILYvCPbqeewAq1kSzl+w59k/fiVkTBfvDi/oW/5YRxL+Fq+Y1Fr1r2Q==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.1.3.tgz", + "integrity": "sha512-R0CkYoJPHUfxPe2LaAqMGwTf5+1eXchUMNISO8OKEvKkS/zg2emIYTOb29v1k8WGSmdJkgQneBav/W3h5NorzA==", "cpu": [ "arm" ], @@ -4966,9 +6008,9 @@ ] }, "node_modules/@lmdb/lmdb-linux-arm64": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.0.13.tgz", - "integrity": "sha512-afbVrsMgZ9dUTNUchFpj5VkmJRxvht/u335jUJ7o23YTbNbnpmXif3VKQGCtnjSh+CZaqm6N3CPG8KO3zwyZ1Q==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.1.3.tgz", + "integrity": "sha512-XnSHGKsJ1Fr5LBjyDkG7JnVJlduhg7AhV1J6YQujStsKnehuiidsNW0InEJrAO4QMHqquwnCfLvU9PPJfpFVYw==", "cpu": [ "arm64" ], @@ -4980,9 +6022,9 @@ ] }, "node_modules/@lmdb/lmdb-linux-x64": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.0.13.tgz", - "integrity": "sha512-vOtxu0xC0SLdQ2WRXg8Qgd8T32ak4SPqk5zjItRszrJk2BdeXqfGxBJbP7o4aOvSPSmSSv46Lr1EP4HXU8v7Kg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.1.3.tgz", + "integrity": "sha512-epvFL9/Tem00evtuq05kqWbRppJ4G/D8wa6LnQmOu779VmbrY6+M3v3h4fnt2QqMQt3+J6Cg/gZACDlDcH+eUw==", "cpu": [ "x64" ], @@ -4994,9 +6036,9 @@ ] }, "node_modules/@lmdb/lmdb-win32-x64": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.0.13.tgz", - "integrity": "sha512-UCrMJQY/gJnOl3XgbWRZZUvGGBuKy6i0YNSptgMzHBjs+QYDYR1Mt/RLTOPy4fzzves65O1EDmlL//OzEqoLlA==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.1.3.tgz", + "integrity": "sha512-S6P96biJyrt/CUYSP0v4OH1U9ITzHhHCh1kn7hHOscS3S1+T/D74sCJKQ9xb/Raos2NJHqtZ8EyQVEVjOzmqbg==", "cpu": [ "x64" ], @@ -5091,10 +6133,315 @@ "win32" ] }, + "node_modules/@napi-rs/nice": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice/-/nice-1.0.1.tgz", + "integrity": "sha512-zM0mVWSXE0a0h9aKACLwKmD6nHcRiKrPpCfvaKqG1CqDEyjEawId0ocXxVzPMCAm6kkWr2P025msfxXEnt8UGQ==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "optionalDependencies": { + "@napi-rs/nice-android-arm-eabi": "1.0.1", + "@napi-rs/nice-android-arm64": "1.0.1", + "@napi-rs/nice-darwin-arm64": "1.0.1", + "@napi-rs/nice-darwin-x64": "1.0.1", + "@napi-rs/nice-freebsd-x64": "1.0.1", + "@napi-rs/nice-linux-arm-gnueabihf": "1.0.1", + "@napi-rs/nice-linux-arm64-gnu": "1.0.1", + "@napi-rs/nice-linux-arm64-musl": "1.0.1", + "@napi-rs/nice-linux-ppc64-gnu": "1.0.1", + "@napi-rs/nice-linux-riscv64-gnu": "1.0.1", + "@napi-rs/nice-linux-s390x-gnu": "1.0.1", + "@napi-rs/nice-linux-x64-gnu": "1.0.1", + "@napi-rs/nice-linux-x64-musl": "1.0.1", + "@napi-rs/nice-win32-arm64-msvc": "1.0.1", + "@napi-rs/nice-win32-ia32-msvc": "1.0.1", + "@napi-rs/nice-win32-x64-msvc": "1.0.1" + } + }, + "node_modules/@napi-rs/nice-android-arm-eabi": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm-eabi/-/nice-android-arm-eabi-1.0.1.tgz", + "integrity": "sha512-5qpvOu5IGwDo7MEKVqqyAxF90I6aLj4n07OzpARdgDRfz8UbBztTByBp0RC59r3J1Ij8uzYi6jI7r5Lws7nn6w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-android-arm64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm64/-/nice-android-arm64-1.0.1.tgz", + "integrity": "sha512-GqvXL0P8fZ+mQqG1g0o4AO9hJjQaeYG84FRfZaYjyJtZZZcMjXW5TwkL8Y8UApheJgyE13TQ4YNUssQaTgTyvA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-darwin-arm64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-arm64/-/nice-darwin-arm64-1.0.1.tgz", + "integrity": "sha512-91k3HEqUl2fsrz/sKkuEkscj6EAj3/eZNCLqzD2AA0TtVbkQi8nqxZCZDMkfklULmxLkMxuUdKe7RvG/T6s2AA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-darwin-x64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-x64/-/nice-darwin-x64-1.0.1.tgz", + "integrity": "sha512-jXnMleYSIR/+TAN/p5u+NkCA7yidgswx5ftqzXdD5wgy/hNR92oerTXHc0jrlBisbd7DpzoaGY4cFD7Sm5GlgQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-freebsd-x64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-freebsd-x64/-/nice-freebsd-x64-1.0.1.tgz", + "integrity": "sha512-j+iJ/ezONXRQsVIB/FJfwjeQXX7A2tf3gEXs4WUGFrJjpe/z2KB7sOv6zpkm08PofF36C9S7wTNuzHZ/Iiccfw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm-gnueabihf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm-gnueabihf/-/nice-linux-arm-gnueabihf-1.0.1.tgz", + "integrity": "sha512-G8RgJ8FYXYkkSGQwywAUh84m946UTn6l03/vmEXBYNJxQJcD+I3B3k5jmjFG/OPiU8DfvxutOP8bi+F89MCV7Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm64-gnu": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-gnu/-/nice-linux-arm64-gnu-1.0.1.tgz", + "integrity": "sha512-IMDak59/W5JSab1oZvmNbrms3mHqcreaCeClUjwlwDr0m3BoR09ZiN8cKFBzuSlXgRdZ4PNqCYNeGQv7YMTjuA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm64-musl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-musl/-/nice-linux-arm64-musl-1.0.1.tgz", + "integrity": "sha512-wG8fa2VKuWM4CfjOjjRX9YLIbysSVV1S3Kgm2Fnc67ap/soHBeYZa6AGMeR5BJAylYRjnoVOzV19Cmkco3QEPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-ppc64-gnu": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-ppc64-gnu/-/nice-linux-ppc64-gnu-1.0.1.tgz", + "integrity": "sha512-lxQ9WrBf0IlNTCA9oS2jg/iAjQyTI6JHzABV664LLrLA/SIdD+I1i3Mjf7TsnoUbgopBcCuDztVLfJ0q9ubf6Q==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-riscv64-gnu": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-riscv64-gnu/-/nice-linux-riscv64-gnu-1.0.1.tgz", + "integrity": "sha512-3xs69dO8WSWBb13KBVex+yvxmUeEsdWexxibqskzoKaWx9AIqkMbWmE2npkazJoopPKX2ULKd8Fm9veEn0g4Ig==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-s390x-gnu": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-s390x-gnu/-/nice-linux-s390x-gnu-1.0.1.tgz", + "integrity": "sha512-lMFI3i9rlW7hgToyAzTaEybQYGbQHDrpRkg+1gJWEpH0PLAQoZ8jiY0IzakLfNWnVda1eTYYlxxFYzW8Rqczkg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-x64-gnu": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-gnu/-/nice-linux-x64-gnu-1.0.1.tgz", + "integrity": "sha512-XQAJs7DRN2GpLN6Fb+ZdGFeYZDdGl2Fn3TmFlqEL5JorgWKrQGRUrpGKbgZ25UeZPILuTKJ+OowG2avN8mThBA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-x64-musl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-musl/-/nice-linux-x64-musl-1.0.1.tgz", + "integrity": "sha512-/rodHpRSgiI9o1faq9SZOp/o2QkKQg7T+DK0R5AkbnI/YxvAIEHf2cngjYzLMQSQgUhxym+LFr+UGZx4vK4QdQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-arm64-msvc": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-arm64-msvc/-/nice-win32-arm64-msvc-1.0.1.tgz", + "integrity": "sha512-rEcz9vZymaCB3OqEXoHnp9YViLct8ugF+6uO5McifTedjq4QMQs3DHz35xBEGhH3gJWEsXMUbzazkz5KNM5YUg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-ia32-msvc": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-ia32-msvc/-/nice-win32-ia32-msvc-1.0.1.tgz", + "integrity": "sha512-t7eBAyPUrWL8su3gDxw9xxxqNwZzAqKo0Szv3IjVQd1GpXXVkb6vBBQUuxfIYaXMzZLwlxRQ7uzM2vdUE9ULGw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-x64-msvc": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-x64-msvc/-/nice-win32-x64-msvc-1.0.1.tgz", + "integrity": "sha512-JlF+uDcatt3St2ntBG8H02F1mM45i5SF9W+bIKiReVE6wiy3o16oBP/yxt+RZ+N6LbCImJXJ6bXNO2kn9AXicg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, "node_modules/@ngtools/webpack": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-18.2.6.tgz", - "integrity": "sha512-7HwOPE1EOgcHnpt4brSiT8G2CcXB50G0+CbCBaKGy4LYCG3Y3mrlzF5Fup9HvMJ6Tzqd62RqzpKKYBiGUT7hxg==", + "version": "19.0.0-next.8", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-19.0.0-next.8.tgz", + "integrity": "sha512-QiU/7CtMzNyUDFiR791rZwSOeU0O6HIBTh+qKQo7L1R+Tp53nOspNBzcJm58SUVa0W8apB6b5T0MedZjmbcohA==", "dev": true, "license": "MIT", "engines": { @@ -5103,8 +6450,8 @@ "yarn": ">= 1.13.0" }, "peerDependencies": { - "@angular/compiler-cli": "^18.0.0", - "typescript": ">=5.4 <5.6", + "@angular/compiler-cli": "^19.0.0-next.0", + "typescript": ">=5.5 <5.7", "webpack": "^5.54.0" } }, @@ -5148,6 +6495,7 @@ "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -5160,6 +6508,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, "engines": { "node": ">= 8" } @@ -5168,6 +6517,7 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -5557,22 +6907,12 @@ "url": "https://opencollective.com/unts" } }, - "node_modules/@popperjs/core": { - "version": "2.11.8", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", - "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", - "license": "MIT", - "peer": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/popperjs" - } - }, "node_modules/@rollup/plugin-json": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.1.0.tgz", "integrity": "sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==", "dev": true, + "license": "MIT", "dependencies": { "@rollup/pluginutils": "^5.1.0" }, @@ -5588,36 +6928,12 @@ } } }, - "node_modules/@rollup/plugin-node-resolve": { - "version": "15.2.3", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz", - "integrity": "sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^5.0.1", - "@types/resolve": "1.20.2", - "deepmerge": "^4.2.2", - "is-builtin-module": "^3.2.1", - "is-module": "^1.0.0", - "resolve": "^1.22.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^2.78.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, "node_modules/@rollup/pluginutils": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", "dev": true, + "license": "MIT", "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", @@ -5860,10 +7176,11 @@ ] }, "node_modules/@rollup/wasm-node": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/wasm-node/-/wasm-node-4.18.0.tgz", - "integrity": "sha512-DkLoyblRMhJw9ZogW9zCpyH0CNJ+7GaM7Ty+Vl+G21z/Gr7uKBaXqcJqwWUiNYVxTOgxZrxhDG6pmOFxOuswvw==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/wasm-node/-/wasm-node-4.21.2.tgz", + "integrity": "sha512-AJCfdXkpe5EX+jfWOMYuFl3ZomTQyfx4V4geRmChdTwAo05FdpnobwqtYn0mo7Mf1qVN7mniI7kdG98vKDVd2g==", "dev": true, + "license": "MIT", "dependencies": { "@types/estree": "1.0.5" }, @@ -5886,14 +7203,14 @@ "license": "MIT" }, "node_modules/@schematics/angular": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-18.2.6.tgz", - "integrity": "sha512-Y988EoOEQDLEyHu3414T6AeVUyx21AexBHQNbUNQkK8cxlxyB6m1eH1cx6vFgLRFUTsLVv+C6Ln/ICNTfLcG4A==", + "version": "19.0.0-next.8", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-19.0.0-next.8.tgz", + "integrity": "sha512-oUUMk/ufNUiEZxXobj9GSZeU6AijTl50YJAHcCkCA9zPzv9GPQWA1Mc0YqztJSTT+3uUaPpIZDfkfsWAa4+sdA==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "18.2.6", - "@angular-devkit/schematics": "18.2.6", + "@angular-devkit/core": "19.0.0-next.8", + "@angular-devkit/schematics": "19.0.0-next.8", "jsonc-parser": "3.3.1" }, "engines": { @@ -6033,61 +7350,6 @@ "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", "dev": true }, - "node_modules/@ts-morph/common": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.22.0.tgz", - "integrity": "sha512-HqNBuV/oIlMKdkLshXd1zKBqNQCsuPEsgQOkfFQ/eUKjRlwndXW1AjN9LVkBEIukm00gGXSRmfkl0Wv5VXLnlw==", - "license": "MIT", - "peer": true, - "dependencies": { - "fast-glob": "^3.3.2", - "minimatch": "^9.0.3", - "mkdirp": "^3.0.1", - "path-browserify": "^1.0.1" - } - }, - "node_modules/@ts-morph/common/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "license": "MIT", - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@ts-morph/common/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "license": "ISC", - "peer": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@ts-morph/common/node_modules/mkdirp": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", - "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", - "license": "MIT", - "peer": true, - "bin": { - "mkdirp": "dist/cjs/src/bin.js" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@tsconfig/node10": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", @@ -6221,18 +7483,6 @@ "@types/node": "*" } }, - "node_modules/@types/eslint": { - "version": "8.56.10", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz", - "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, "node_modules/@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", @@ -6253,22 +7503,9 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.0.tgz", - "integrity": "sha512-AbXMTZGt40T+KON9/Fdxx0B2WK5hsgxcfXJLr5bFpZ7b4JCex2WyQPTEKdXqfHiY5nKKBScZ7yCoO6Pvgxfvnw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "node_modules/@types/express/node_modules/@types/express-serve-static-core": { - "version": "4.19.6", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", - "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", + "version": "4.19.5", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.5.tgz", + "integrity": "sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==", "dev": true, "license": "MIT", "dependencies": { @@ -6286,10 +7523,11 @@ "license": "MIT" }, "node_modules/@types/http-proxy": { - "version": "1.17.14", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", - "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", + "version": "1.17.15", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz", + "integrity": "sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -6345,9 +7583,9 @@ } }, "node_modules/@types/node": { - "version": "22.7.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.3.tgz", - "integrity": "sha512-qXKfhXXqGTyBskvWEzJZPUxSslAiLaB6JGP1ic/XTH9ctGgzdgYguuLP1C601aRTSDNlLb0jbKqXjZ48GNraSA==", + "version": "22.7.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.4.tgz", + "integrity": "sha512-y+NPi1rFzDs1NdQHHToqeiX2TIS79SWEAw9GYhkkx8bD0ChpfqC+n2j5OXOCpzfojBEBt6DnEnnG9MY0zk1XLg==", "dev": true, "license": "MIT", "dependencies": { @@ -6371,9 +7609,9 @@ "dev": true }, "node_modules/@types/qs": { - "version": "6.9.16", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.16.tgz", - "integrity": "sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==", + "version": "6.9.15", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", + "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==", "dev": true, "license": "MIT" }, @@ -6384,12 +7622,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/resolve": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", - "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", - "dev": true - }, "node_modules/@types/retry": { "version": "0.12.2", "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", @@ -7589,10 +8821,11 @@ } }, "node_modules/babel-loader": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", - "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz", + "integrity": "sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==", "dev": true, + "license": "MIT", "dependencies": { "find-cache-dir": "^4.0.0", "schema-utils": "^4.0.0" @@ -7610,6 +8843,7 @@ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", "dev": true, + "license": "MIT", "dependencies": { "common-path-prefix": "^3.0.0", "pkg-dir": "^7.0.0" @@ -7626,6 +8860,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^7.1.0", "path-exists": "^5.0.0" @@ -7642,6 +8877,7 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^6.0.0" }, @@ -7657,6 +8893,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", "dev": true, + "license": "MIT", "dependencies": { "yocto-queue": "^1.0.0" }, @@ -7672,6 +8909,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^4.0.0" }, @@ -7687,6 +8925,7 @@ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", "dev": true, + "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } @@ -7696,6 +8935,7 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", "dev": true, + "license": "MIT", "dependencies": { "find-up": "^6.3.0" }, @@ -7707,10 +8947,11 @@ } }, "node_modules/babel-loader/node_modules/yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", + "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", "dev": true, + "license": "MIT", "engines": { "node": ">=12.20" }, @@ -7742,13 +8983,14 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", - "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.1", - "core-js-compat": "^3.36.1" + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -7769,7 +9011,8 @@ "node_modules/balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true }, "node_modules/base64-js": { "version": "1.3.1", @@ -7888,6 +9131,7 @@ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "dev": true, + "license": "MIT", "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.5", @@ -7942,6 +9186,7 @@ "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.0.6" }, @@ -7966,7 +9211,8 @@ "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true }, "node_modules/bootstrap": { "version": "5.2.3", @@ -8014,6 +9260,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, "dependencies": { "fill-range": "^7.1.1" }, @@ -8111,18 +9358,6 @@ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "dev": true }, - "node_modules/builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/bundle-name": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", @@ -8453,9 +9688,9 @@ } }, "node_modules/chromedriver": { - "version": "129.0.0", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-129.0.0.tgz", - "integrity": "sha512-B1ccqD6hDjNrw94FeqdynIotn1ZV/TnFrkRz2Rync2kzSnq6D6IrSkN1w5Pnuvnc98QhN2xujxDXxkqEqy/PWg==", + "version": "129.0.1", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-129.0.1.tgz", + "integrity": "sha512-thJqK3c7p9rIhmjBvs/cgaK0Hk30g7LbnmMXQ2aLnn75ZOiEl/2GBcgc6fw+4GIw1SmOYhnNmaEI1iTP3qob0w==", "dev": true, "hasInstallScript": true, "license": "Apache-2.0", @@ -8653,13 +9888,6 @@ "node": ">=6" } }, - "node_modules/code-block-writer": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-12.0.0.tgz", - "integrity": "sha512-q4dMFMlXtKR3XNBHyMHt/3pwYNA69EDk00lloMOaaUMKPUXBw6lpXtbu3MMVG6/uOihGnRDOlkyqsONEUj60+w==", - "license": "MIT", - "peer": true - }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -8735,7 +9963,8 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/common-tags": { "version": "1.8.2", @@ -8750,7 +9979,8 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/compare-versions": { "version": "6.1.0", @@ -8974,9 +10204,9 @@ } }, "node_modules/core-js-compat": { - "version": "3.38.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.0.tgz", - "integrity": "sha512-75LAicdLa4OJVwFxFbQR3NdnZjNgX6ILpVcVzcC4T2smerB5lELMrJQQQoWV6TiuC/vlaFqgU2tKQx9w5s0e0A==", + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", + "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", "dev": true, "license": "MIT", "dependencies": { @@ -9060,6 +10290,7 @@ "version": "0.0.24", "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.24.tgz", "integrity": "sha512-Oyqew0FGM0wYUSNqR0L6AteO5MpMoUU0rhKRieXeiKs+PmRTxiJMyaunYB2KF6fQ3dzChXKCpbFOEJx3OQ1v/Q==", + "dev": true, "license": "Apache-2.0", "dependencies": { "chalk": "^4.1.0", @@ -9075,6 +10306,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -9090,6 +10322,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -9106,6 +10339,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -9118,6 +10352,7 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, "license": "MIT" }, "node_modules/cross-spawn": { @@ -9208,6 +10443,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.1.0", @@ -9223,6 +10459,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, "engines": { "node": ">= 6" }, @@ -9383,15 +10620,6 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/default-browser": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", @@ -9420,19 +10648,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "execa": "^5.0.0" - }, - "engines": { - "node": ">= 10" - } - }, "node_modules/defaults": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", @@ -9609,6 +10824,7 @@ "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-1.0.0.tgz", "integrity": "sha512-cW3gggJ28HZ/LExwxP2B++aiKxhJXMSIt9K48FOXQkm+vuG5gyatXnLsONRJdzO/7VfjDIiaOOa/bs4l464Lwg==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -9729,6 +10945,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", @@ -9742,6 +10959,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, "funding": [ { "type": "github", @@ -9753,6 +10971,7 @@ "version": "5.0.3", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, "dependencies": { "domelementtype": "^2.3.0" }, @@ -9767,6 +10986,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", @@ -9960,6 +11180,7 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "devOptional": true, "engines": { "node": ">=0.12" }, @@ -10180,9 +11401,9 @@ "dev": true }, "node_modules/esbuild": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.0.tgz", - "integrity": "sha512-1lvV17H2bMYda/WaFb2jLPeHU3zml2k4/yagNMG8Q/YtfMjCwEUZa2eXXMgZTVSL5q1n4H7sQ0X6CdJDqqeCFA==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.1.tgz", + "integrity": "sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -10193,36 +11414,36 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.23.0", - "@esbuild/android-arm": "0.23.0", - "@esbuild/android-arm64": "0.23.0", - "@esbuild/android-x64": "0.23.0", - "@esbuild/darwin-arm64": "0.23.0", - "@esbuild/darwin-x64": "0.23.0", - "@esbuild/freebsd-arm64": "0.23.0", - "@esbuild/freebsd-x64": "0.23.0", - "@esbuild/linux-arm": "0.23.0", - "@esbuild/linux-arm64": "0.23.0", - "@esbuild/linux-ia32": "0.23.0", - "@esbuild/linux-loong64": "0.23.0", - "@esbuild/linux-mips64el": "0.23.0", - "@esbuild/linux-ppc64": "0.23.0", - "@esbuild/linux-riscv64": "0.23.0", - "@esbuild/linux-s390x": "0.23.0", - "@esbuild/linux-x64": "0.23.0", - "@esbuild/netbsd-x64": "0.23.0", - "@esbuild/openbsd-arm64": "0.23.0", - "@esbuild/openbsd-x64": "0.23.0", - "@esbuild/sunos-x64": "0.23.0", - "@esbuild/win32-arm64": "0.23.0", - "@esbuild/win32-ia32": "0.23.0", - "@esbuild/win32-x64": "0.23.0" + "@esbuild/aix-ppc64": "0.23.1", + "@esbuild/android-arm": "0.23.1", + "@esbuild/android-arm64": "0.23.1", + "@esbuild/android-x64": "0.23.1", + "@esbuild/darwin-arm64": "0.23.1", + "@esbuild/darwin-x64": "0.23.1", + "@esbuild/freebsd-arm64": "0.23.1", + "@esbuild/freebsd-x64": "0.23.1", + "@esbuild/linux-arm": "0.23.1", + "@esbuild/linux-arm64": "0.23.1", + "@esbuild/linux-ia32": "0.23.1", + "@esbuild/linux-loong64": "0.23.1", + "@esbuild/linux-mips64el": "0.23.1", + "@esbuild/linux-ppc64": "0.23.1", + "@esbuild/linux-riscv64": "0.23.1", + "@esbuild/linux-s390x": "0.23.1", + "@esbuild/linux-x64": "0.23.1", + "@esbuild/netbsd-x64": "0.23.1", + "@esbuild/openbsd-arm64": "0.23.1", + "@esbuild/openbsd-x64": "0.23.1", + "@esbuild/sunos-x64": "0.23.1", + "@esbuild/win32-arm64": "0.23.1", + "@esbuild/win32-ia32": "0.23.1", + "@esbuild/win32-x64": "0.23.1" } }, "node_modules/esbuild-wasm": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.23.0.tgz", - "integrity": "sha512-6jP8UmWy6R6TUUV8bMuC3ZyZ6lZKI56x0tkxyCIqWwRRJ/DgeQKneh/Oid5EoGoPFLrGNkz47ZEtWAYuiY/u9g==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.24.0.tgz", + "integrity": "sha512-xhNn5tL1AhkPg4ft59yXT6FkwKXiPSYyz1IeinJHUJpjvOHOIPvdmFQc0pGdjxlKSbzZc2mNmtVOWAR1EF/JAg==", "dev": true, "license": "MIT", "bin": { @@ -11053,7 +12274,8 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/esutils": { "version": "2.0.2", @@ -11104,40 +12326,6 @@ "node": ">=0.8.x" } }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/execa/node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10.17.0" - } - }, "node_modules/exit": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", @@ -11434,6 +12622,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -11449,6 +12638,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -11469,9 +12659,9 @@ "dev": true }, "node_modules/fast-uri": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.2.tgz", - "integrity": "sha512-GR6f0hD7XXyNJa25Tb9BuIdN0tdr+0BMi6/CJPH3wJO1JjNG3n/VsSw38AwRdKZABm8lGbPfakLRkYzx2V9row==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", + "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==", "dev": true, "license": "MIT" }, @@ -11479,6 +12669,7 @@ "version": "1.12.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.12.0.tgz", "integrity": "sha512-VNX0QkHK3RsXVKr9KrlUv/FoTa0NdbYoHHl7uXHv2rzyHSlxjdNAKug2twd9luJxpcyNeAgf5iPPMutJO67Dfg==", + "dev": true, "dependencies": { "reusify": "^1.0.4" } @@ -11520,6 +12711,7 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, "dependencies": { "to-regex-range": "^5.0.1" }, @@ -11550,6 +12742,7 @@ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dev": true, + "license": "MIT", "dependencies": { "commondir": "^1.0.1", "make-dir": "^3.0.2", @@ -11880,19 +13073,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/get-symbol-description": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", @@ -12307,6 +13487,7 @@ "version": "8.0.2", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "dev": true, "funding": [ "https://github.com/fb55/htmlparser2?sponsor=1", { @@ -12464,29 +13645,31 @@ "dev": true }, "node_modules/http-proxy-middleware": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-3.0.0.tgz", - "integrity": "sha512-36AV1fIaI2cWRzHo+rbcxhe3M3jUDCNzc4D5zRl57sEWRAxdXYtw7FSQKYY6PDKssiAKjLYypbssHk+xs/kMXw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-3.0.2.tgz", + "integrity": "sha512-fBLFpmvDzlxdckwZRjM0wWtwDZ4KBtQ8NFqhrFKoEtK4myzuiumBuNTxD+F4cVbXfOZljIbrynmvByofDzT7Ag==", "dev": true, + "license": "MIT", "dependencies": { - "@types/http-proxy": "^1.17.10", - "debug": "^4.3.4", + "@types/http-proxy": "^1.17.15", + "debug": "^4.3.6", "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.5" + "is-glob": "^4.0.3", + "is-plain-object": "^5.0.0", + "micromatch": "^4.0.8" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/http-proxy-middleware/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, + "license": "MIT", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -12497,11 +13680,22 @@ } } }, + "node_modules/http-proxy-middleware/node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/http-proxy-middleware/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" }, "node_modules/http-signature": { "version": "1.2.0", @@ -12712,10 +13906,11 @@ "dev": true }, "node_modules/immutable": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", - "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==", - "dev": true + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", + "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==", + "dev": true, + "license": "MIT" }, "node_modules/import-fresh": { "version": "3.3.0", @@ -12777,13 +13972,13 @@ "dev": true }, "node_modules/ini": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.3.tgz", - "integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-5.0.0.tgz", + "integrity": "sha512-+N0ngpO3e7cRUWOJAS7qw0IZIVc6XPrW4MlFBdD066F2L4k1L6ker3hLqSq7iXxU5tgS4WGkIUElWn5vogAEnw==", "dev": true, "license": "ISC", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/injection-js": { @@ -12791,6 +13986,7 @@ "resolved": "https://registry.npmjs.org/injection-js/-/injection-js-2.4.0.tgz", "integrity": "sha512-6jiJt0tCAo9zjHbcwLiPL+IuNe9SQ6a9g0PEzafThW3fOQi0mrmiJGBJvDD6tmhPh8cQHIQtCOrJuBfQME4kPA==", "dev": true, + "license": "MIT", "dependencies": { "tslib": "^2.0.0" } @@ -12925,21 +14121,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-builtin-module": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", - "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", - "dev": true, - "dependencies": { - "builtin-modules": "^3.3.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-bun-module": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-1.1.0.tgz", @@ -13040,6 +14221,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -13057,6 +14239,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -13112,12 +14295,6 @@ "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", "dev": true }, - "node_modules/is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", - "dev": true - }, "node_modules/is-negative-zero": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", @@ -13147,6 +14324,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, "engines": { "node": ">=0.12.0" } @@ -13213,6 +14391,7 @@ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -14400,9 +15579,9 @@ } }, "node_modules/lmdb": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.0.13.tgz", - "integrity": "sha512-UGe+BbaSUQtAMZobTb4nHvFMrmvuAQKSeaqAX2meTEQjfsbpl5sxdHD8T72OnwD4GU9uwNhYXIVe4QGs8N9Zyw==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.1.3.tgz", + "integrity": "sha512-WQcfSoOTw+XfBXQN4dRN1Ke5vv+NgmOWs4wH8oh4jYFmPZIaVPiQVF+0nGdjQDLGDcrMMyr2C34cG6WZPes6xQ==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -14417,21 +15596,14 @@ "download-lmdb-prebuilds": "bin/download-prebuilds.js" }, "optionalDependencies": { - "@lmdb/lmdb-darwin-arm64": "3.0.13", - "@lmdb/lmdb-darwin-x64": "3.0.13", - "@lmdb/lmdb-linux-arm": "3.0.13", - "@lmdb/lmdb-linux-arm64": "3.0.13", - "@lmdb/lmdb-linux-x64": "3.0.13", - "@lmdb/lmdb-win32-x64": "3.0.13" + "@lmdb/lmdb-darwin-arm64": "3.1.3", + "@lmdb/lmdb-darwin-x64": "3.1.3", + "@lmdb/lmdb-linux-arm": "3.1.3", + "@lmdb/lmdb-linux-arm64": "3.1.3", + "@lmdb/lmdb-linux-x64": "3.1.3", + "@lmdb/lmdb-win32-x64": "3.1.3" } }, - "node_modules/lmdb/node_modules/node-addon-api": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", - "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", - "dev": true, - "license": "MIT" - }, "node_modules/loader-runner": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", @@ -14986,9 +16158,9 @@ } }, "node_modules/memfs": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.12.0.tgz", - "integrity": "sha512-74wDsex5tQDSClVkeK1vtxqYCAgCoXxx+K4NSHzgU/muYVYByFqa+0RnrPO9NM6naWm1+G9JmZ0p6QHhXmeYfA==", + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.11.1.tgz", + "integrity": "sha512-LZcMTBAgqUUKNXZagcZxvXXfgF1bHX7Y7nQ0QyEiNbRJgE29GhgPd8Yna1VQcLlPiHt/5RFJMWYN9Uv/VPNvjQ==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -15025,6 +16197,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, "engines": { "node": ">= 8" } @@ -15043,6 +16216,7 @@ "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, "license": "MIT", "dependencies": { "braces": "^3.0.3", @@ -15108,10 +16282,11 @@ } }, "node_modules/mini-css-extract-plugin": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.0.tgz", - "integrity": "sha512-Zs1YsZVfemekSZG+44vBsYTLQORkPMwnlv+aehcxK/NLKC+EGhDB39/YePYYqx/sTk6NnYpuqikhSn7+JIevTA==", + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.1.tgz", + "integrity": "sha512-+Vyi+GCCOHnrJ2VPS+6aPoXN2k2jgUzDRhTFLjjTBn23qyXJXkjUWQgTL+mXpF5/A8ixLdCc6kWsoeOjKGejKQ==", "dev": true, + "license": "MIT", "dependencies": { "schema-utils": "^4.0.0", "tapable": "^2.2.1" @@ -15454,6 +16629,7 @@ "version": "3.3.7", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, "funding": [ { "type": "github", @@ -15562,14 +16738,13 @@ } }, "node_modules/ng-packagr": { - "version": "18.2.1", - "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-18.2.1.tgz", - "integrity": "sha512-dy9ZDpZb3QpAz+Y/m8VAu7ctr2VrnRU3gmQwJagnNybVJtCsKn3lZA3IW7Z7GTLoG5IALSPouiCgiB/C8ozv7w==", + "version": "19.0.0-next.3", + "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-19.0.0-next.3.tgz", + "integrity": "sha512-KC+NDXIwwvYetiTzd+wgCA+7xIeFiKpevpDG7m883GX8SCq90mISVxFaNOtaYOeP0Hl0Zh85fS87GJaZGpGLog==", "dev": true, "license": "MIT", "dependencies": { "@rollup/plugin-json": "^6.1.0", - "@rollup/plugin-node-resolve": "^15.2.3", "@rollup/wasm-node": "^4.18.0", "ajv": "^8.12.0", "ansi-colors": "^4.1.3", @@ -15601,10 +16776,10 @@ "rollup": "^4.18.0" }, "peerDependencies": { - "@angular/compiler-cli": "^18.0.0 || ^18.2.0-next.0", + "@angular/compiler-cli": "^19.0.0-next.0", "tailwindcss": "^2.0.0 || ^3.0.0", "tslib": "^2.3.0", - "typescript": ">=5.4 <5.6" + "typescript": ">=5.5 <5.7" }, "peerDependenciesMeta": { "tailwindcss": { @@ -15613,15 +16788,16 @@ } }, "node_modules/ng-packagr/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, + "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -15629,10 +16805,11 @@ } }, "node_modules/ng-packagr/node_modules/commander": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-12.0.0.tgz", - "integrity": "sha512-MwVNWlYjDTtOjX5PiD7o5pK0UrFU/OYgcJfjjK4RaHZETNtjJqrZa9Y9ds88+A+f+d5lv+561eZ+yCKoS3gbAA==", + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" } @@ -15641,35 +16818,22 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/ng-packagr/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/nice-napi": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", - "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==", "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "!win32" - ], - "dependencies": { - "node-addon-api": "^3.0.0", - "node-gyp-build": "^4.2.2" - } + "license": "MIT" }, "node_modules/node-addon-api": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", - "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", "dev": true, - "optional": true + "license": "MIT" }, "node_modules/node-forge": { "version": "1.3.1", @@ -15705,18 +16869,6 @@ "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/node-gyp-build": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz", - "integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==", - "dev": true, - "optional": true, - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, "node_modules/node-gyp-build-optional-packages": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", @@ -16039,6 +17191,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "dev": true, "dependencies": { "boolbase": "^1.0.0" }, @@ -16535,13 +17688,6 @@ "node": ">= 14" } }, - "node_modules/package-json-from-dist": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", - "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", - "dev": true, - "license": "BlueOak-1.0.0" - }, "node_modules/pacote": { "version": "18.0.6", "resolved": "https://registry.npmjs.org/pacote/-/pacote-18.0.6.tgz", @@ -16694,6 +17840,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true, "license": "MIT" }, "node_modules/path-exists": { @@ -16829,12 +17976,14 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "dev": true, "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, "engines": { "node": ">=8.6" }, @@ -16873,13 +18022,13 @@ } }, "node_modules/piscina": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.6.1.tgz", - "integrity": "sha512-z30AwWGtQE+Apr+2WBZensP2lIvwoaMcOPkQlIEmSGMJNUvaYACylPYrQM6wSdUNJlnDVMSpLv7xTMJqlVshOA==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.7.0.tgz", + "integrity": "sha512-b8hvkpp9zS0zsfa939b/jXbe64Z2gZv0Ha7FYPNUiDIB1y2AtxcOZdfP8xN8HFjUaqQiT9gRlfjAsoL8vdJ1Iw==", "dev": true, "license": "MIT", "optionalDependencies": { - "nice-napi": "^1.0.2" + "@napi-rs/nice": "^1.0.1" } }, "node_modules/pkg-dir": { @@ -16887,6 +18036,7 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, + "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -16910,9 +18060,10 @@ } }, "node_modules/postcss": { - "version": "8.4.41", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", - "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "dev": true, "funding": [ { "type": "opencollective", @@ -16930,8 +18081,8 @@ "license": "MIT", "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.0.1", - "source-map-js": "^1.2.0" + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12 || >=14" @@ -16987,6 +18138,7 @@ "version": "0.2.3", "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "dev": true, "license": "MIT" }, "node_modules/postcss-modules-extract-imports": { @@ -17675,6 +18827,7 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, "funding": [ { "type": "github", @@ -17767,10 +18920,11 @@ } }, "node_modules/reflect-metadata": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.1.tgz", - "integrity": "sha512-i5lLI6iw9AU3Uu4szRNPPEkomnkjRTaVt9hy/bn5g/oSzekBSMeLZblcjP74AW0vBabqERLLIrz+gR8QYR54Tw==", - "dev": true + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", + "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", + "dev": true, + "license": "Apache-2.0" }, "node_modules/regenerate": { "version": "1.4.2", @@ -18038,6 +19192,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -18114,6 +19269,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, "funding": [ { "type": "github", @@ -18194,13 +19350,13 @@ "dev": true }, "node_modules/sass": { - "version": "1.77.8", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.8.tgz", - "integrity": "sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==", + "version": "1.79.3", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.79.3.tgz", + "integrity": "sha512-m7dZxh0W9EZ3cw50Me5GOuYm/tVAJAn91SUnohLRo9cXBixGUOdvmryN+dXpwR831bhoY3Zv7rEFt85PUwTmzA==", "dev": true, "license": "MIT", "dependencies": { - "chokidar": ">=3.0.0 <4.0.0", + "chokidar": "^4.0.0", "immutable": "^4.0.0", "source-map-js": ">=0.6.2 <2.0.0" }, @@ -18212,9 +19368,9 @@ } }, "node_modules/sass-loader": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.0.tgz", - "integrity": "sha512-n13Z+3rU9A177dk4888czcVFiC8CL9dii4qpXWUg3YIIgZEvi9TCFKjOQcbK0kJM7DJu9VucrZFddvNfYCPwtw==", + "version": "16.0.2", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.2.tgz", + "integrity": "sha512-Ll6iXZ1EYwYT19SqW4mSBb76vSSi8JgzElmzIerhEGgzB5hRjDQIWsPmuk1UrAXkR16KJHqVY0eH+5/uw9Tmfw==", "dev": true, "license": "MIT", "dependencies": { @@ -18252,6 +19408,36 @@ } } }, + "node_modules/sass/node_modules/chokidar": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", + "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/sass/node_modules/readdirp": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.1.tgz", + "integrity": "sha512-GkMg9uOTpIWWKbSsgwb5fA4EavTR+SG/PMPoAY8hkhHfEEY0/vqljY+XHqtDf2cr2IJtoNRDbrrEpZUiZCkYRw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/saucelabs": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz", @@ -18385,6 +19571,7 @@ "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", "dev": true, + "license": "MIT", "dependencies": { "debug": "2.6.9", "depd": "2.0.0", @@ -18613,6 +19800,7 @@ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dev": true, + "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "es-errors": "^1.3.0", @@ -18915,6 +20103,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" @@ -19425,6 +20614,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -19436,6 +20626,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, "engines": { "node": ">=8" } @@ -19583,9 +20774,9 @@ "dev": true }, "node_modules/terser": { - "version": "5.31.6", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.6.tgz", - "integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==", + "version": "5.33.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.33.0.tgz", + "integrity": "sha512-JuPVaB7s1gdFKPKTelwUyRq5Sid2A3Gko2S0PncwdBq7kN9Ti9HPWDQ06MPsEDGsZeVESjKEnyGy68quBk1w6g==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -19715,6 +20906,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, "dependencies": { "is-number": "^7.0.0" }, @@ -19799,17 +20991,6 @@ "typescript": ">=4.2.0" } }, - "node_modules/ts-morph": { - "version": "21.0.1", - "resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-21.0.1.tgz", - "integrity": "sha512-dbDtVdEAncKctzrVZ+Nr7kHpHkv+0JDJb2MjjpBaj8bFeCkePU9rHfMklmhuLFnpeq/EJZk2IhStY6NzqgjOkg==", - "license": "MIT", - "peer": true, - "dependencies": { - "@ts-morph/common": "~0.22.0", - "code-block-writer": "^12.0.0" - } - }, "node_modules/ts-node": { "version": "10.9.2", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", @@ -19887,9 +21068,9 @@ } }, "node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", "license": "0BSD" }, "node_modules/tuf-js": { @@ -20410,9 +21591,9 @@ } }, "node_modules/vite": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.6.tgz", - "integrity": "sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==", + "version": "5.4.8", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.8.tgz", + "integrity": "sha512-FqrItQ4DT1NC4zCUqMB4c4AZORMKIa0m8/URVCZ77OZ/QSNeJ54bU1vrFADbDsuwfIPcgknRkmqakQcgnL4GiQ==", "dev": true, "license": "MIT", "dependencies": { @@ -20899,35 +22080,6 @@ "@esbuild/win32-x64": "0.21.5" } }, - "node_modules/vite/node_modules/postcss": { - "version": "8.4.47", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", - "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.1.0", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, "node_modules/void-elements": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", @@ -21025,9 +22177,9 @@ } }, "node_modules/watchpack": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", - "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", "dev": true, "license": "MIT", "dependencies": { @@ -21233,9 +22385,9 @@ } }, "node_modules/webpack-dev-server": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.0.4.tgz", - "integrity": "sha512-dljXhUgx3HqKP2d8J/fUMvhxGhzjeNVarDLcbO/EWMSgRizDkxHQDZQaLFL5VJY9tRBj2Gz+rvCEYYvhbqPHNA==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.1.0.tgz", + "integrity": "sha512-aQpaN81X6tXie1FoOB7xlMfCsN19pSvRAeYUHOdFWOlhpQ/LlbfTqYwwmEDFV0h8GGuqmCmKmT+pxcUV/Nt2gQ==", "dev": true, "license": "MIT", "dependencies": { @@ -21252,8 +22404,7 @@ "colorette": "^2.0.10", "compression": "^1.7.4", "connect-history-api-fallback": "^2.0.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", + "express": "^4.19.2", "graceful-fs": "^4.2.6", "html-entities": "^2.4.0", "http-proxy-middleware": "^2.0.3", @@ -21261,14 +22412,13 @@ "launch-editor": "^2.6.1", "open": "^10.0.3", "p-retry": "^6.2.0", - "rimraf": "^5.0.5", "schema-utils": "^4.2.0", "selfsigned": "^2.4.1", "serve-index": "^1.9.1", "sockjs": "^0.3.24", "spdy": "^4.0.2", - "webpack-dev-middleware": "^7.1.0", - "ws": "^8.16.0" + "webpack-dev-middleware": "^7.4.2", + "ws": "^8.18.0" }, "bin": { "webpack-dev-server": "bin/webpack-dev-server.js" @@ -21292,16 +22442,6 @@ } } }, - "node_modules/webpack-dev-server/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/webpack-dev-server/node_modules/define-lazy-prop": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", @@ -21315,27 +22455,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/webpack-dev-server/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "dev": true, - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/webpack-dev-server/node_modules/http-proxy-middleware": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", @@ -21377,38 +22496,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/webpack-dev-server/node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/webpack-dev-server/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/webpack-dev-server/node_modules/open": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", @@ -21428,20 +22515,26 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/webpack-dev-server/node_modules/rimraf": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz", - "integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==", + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^10.3.7" + "license": "MIT", + "engines": { + "node": ">=10.0.0" }, - "bin": { - "rimraf": "dist/esm/bin.mjs" + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, "node_modules/webpack-merge": { @@ -21828,6 +22921,15 @@ } } }, + "node_modules/xhr2": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/xhr2/-/xhr2-0.2.1.tgz", + "integrity": "sha512-sID0rrVCqkVNUn8t6xuv9+6FViXjUVXq8H5rWOH2rz9fDNQEd4g0EA2XlcEdJXRz5BMEn4O1pJFdT+z4YHhoWw==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, "node_modules/xml2js": { "version": "0.4.23", "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", @@ -21957,9 +23059,9 @@ "dev": true }, "node_modules/zone.js": { - "version": "0.14.10", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.14.10.tgz", - "integrity": "sha512-YGAhaO7J5ywOXW6InXNlLmfU194F8lVgu7bRntUF3TiG8Y3nBK0x1UJJuHUP/e8IyihkjCYqhCScpSwnlaSRkQ==", + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.15.0.tgz", + "integrity": "sha512-9oxn0IIjbCZkJ67L+LkhYWRyAy7axphb3VgE2MBDlOqnmHMPWGYMxJxBYFueFq/JGY2GMwS0rU+UCLunEmy5UA==", "license": "MIT" } }, @@ -21981,49 +23083,49 @@ } }, "@angular-devkit/architect": { - "version": "0.1802.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.6.tgz", - "integrity": "sha512-oF7cPFdTLxeuvXkK/opSdIxZ1E4LrBbmuytQ/nCoAGOaKBWdqvwagRZ6jVhaI0Gwu48rkcV7Zhesg/ESNnROdw==", + "version": "0.1900.0-next.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1900.0-next.8.tgz", + "integrity": "sha512-W/MVRRJekDIsgqOZWyMKHHwrMNIjzfljZCGKzy1Y7R4ns2pe4Y2v7o5rZ4IIJpes38n8aoEQsZRgoLGW4wG/Sg==", "dev": true, "requires": { - "@angular-devkit/core": "18.2.6", + "@angular-devkit/core": "19.0.0-next.8", "rxjs": "7.8.1" } }, "@angular-devkit/build-angular": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-18.2.6.tgz", - "integrity": "sha512-u12cJZttgs5j7gICHWSmcaTCu0EFXEzKqI8nkYCwq2MtuJlAXiMQSXYuEP9OU3Go4vMAPtQh2kShyOWCX5b4EQ==", + "version": "19.0.0-next.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-19.0.0-next.8.tgz", + "integrity": "sha512-sID6IsIhkoQLg5aMC2Cu2a5pEFnBfAQUGNGC1C49hclixQMF4pekZ2k2YtVPhxvv33MtxZ2RCTxkjXof/yW4tA==", "dev": true, "requires": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1802.6", - "@angular-devkit/build-webpack": "0.1802.6", - "@angular-devkit/core": "18.2.6", - "@angular/build": "18.2.6", + "@angular-devkit/architect": "0.1900.0-next.8", + "@angular-devkit/build-webpack": "0.1900.0-next.8", + "@angular-devkit/core": "19.0.0-next.8", + "@angular/build": "19.0.0-next.8", "@babel/core": "7.25.2", - "@babel/generator": "7.25.0", + "@babel/generator": "7.25.6", "@babel/helper-annotate-as-pure": "7.24.7", "@babel/helper-split-export-declaration": "7.24.7", - "@babel/plugin-transform-async-generator-functions": "7.25.0", + "@babel/plugin-transform-async-generator-functions": "7.25.4", "@babel/plugin-transform-async-to-generator": "7.24.7", - "@babel/plugin-transform-runtime": "7.24.7", - "@babel/preset-env": "7.25.3", - "@babel/runtime": "7.25.0", + "@babel/plugin-transform-runtime": "7.25.4", + "@babel/preset-env": "7.25.4", + "@babel/runtime": "7.25.6", "@discoveryjs/json-ext": "0.6.1", - "@ngtools/webpack": "18.2.6", + "@ngtools/webpack": "19.0.0-next.8", "@vitejs/plugin-basic-ssl": "1.1.0", "ansi-colors": "4.1.3", "autoprefixer": "10.4.20", - "babel-loader": "9.1.3", + "babel-loader": "9.2.1", "browserslist": "^4.21.5", "copy-webpack-plugin": "12.0.2", "critters": "0.0.24", "css-loader": "7.1.2", - "esbuild": "0.23.0", - "esbuild-wasm": "0.23.0", + "esbuild": "0.24.0", + "esbuild-wasm": "0.24.0", "fast-glob": "3.3.2", - "http-proxy-middleware": "3.0.0", + "http-proxy-middleware": "3.0.2", "https-proxy-agent": "7.0.5", "istanbul-lib-instrument": "6.0.3", "jsonc-parser": "3.3.1", @@ -22033,34 +23135,202 @@ "license-webpack-plugin": "4.0.2", "loader-utils": "3.3.1", "magic-string": "0.30.11", - "mini-css-extract-plugin": "2.9.0", + "mini-css-extract-plugin": "2.9.1", "mrmime": "2.0.0", "open": "10.1.0", "ora": "5.4.1", "parse5-html-rewriting-stream": "7.0.0", "picomatch": "4.0.2", - "piscina": "4.6.1", - "postcss": "8.4.41", + "piscina": "4.7.0", + "postcss": "8.4.47", "postcss-loader": "8.1.1", "resolve-url-loader": "5.0.0", "rxjs": "7.8.1", - "sass": "1.77.6", - "sass-loader": "16.0.0", + "sass": "1.79.3", + "sass-loader": "16.0.2", "semver": "7.6.3", "source-map-loader": "5.0.0", "source-map-support": "0.5.21", - "terser": "5.31.6", + "terser": "5.33.0", "tree-kill": "1.2.2", - "tslib": "2.6.3", - "vite": "5.4.6", - "watchpack": "2.4.1", + "tslib": "2.7.0", + "vite": "5.4.8", + "watchpack": "2.4.2", "webpack": "5.94.0", "webpack-dev-middleware": "7.4.2", - "webpack-dev-server": "5.0.4", + "webpack-dev-server": "5.1.0", "webpack-merge": "6.0.1", "webpack-subresource-integrity": "5.1.0" }, "dependencies": { + "@esbuild/aix-ppc64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.0.tgz", + "integrity": "sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.0.tgz", + "integrity": "sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.0.tgz", + "integrity": "sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.0.tgz", + "integrity": "sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.0.tgz", + "integrity": "sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.0.tgz", + "integrity": "sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.0.tgz", + "integrity": "sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.0.tgz", + "integrity": "sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.0.tgz", + "integrity": "sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.0.tgz", + "integrity": "sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.0.tgz", + "integrity": "sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.0.tgz", + "integrity": "sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.0.tgz", + "integrity": "sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.0.tgz", + "integrity": "sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.0.tgz", + "integrity": "sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.0.tgz", + "integrity": "sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.0.tgz", + "integrity": "sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.0.tgz", + "integrity": "sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.0.tgz", + "integrity": "sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.0.tgz", + "integrity": "sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.0.tgz", + "integrity": "sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.0.tgz", + "integrity": "sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.0.tgz", + "integrity": "sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.0.tgz", + "integrity": "sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==", + "dev": true, + "optional": true + }, "debug": { "version": "4.3.5", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", @@ -22076,6 +23346,39 @@ "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", "dev": true }, + "esbuild": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.0.tgz", + "integrity": "sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==", + "dev": true, + "optional": true, + "requires": { + "@esbuild/aix-ppc64": "0.24.0", + "@esbuild/android-arm": "0.24.0", + "@esbuild/android-arm64": "0.24.0", + "@esbuild/android-x64": "0.24.0", + "@esbuild/darwin-arm64": "0.24.0", + "@esbuild/darwin-x64": "0.24.0", + "@esbuild/freebsd-arm64": "0.24.0", + "@esbuild/freebsd-x64": "0.24.0", + "@esbuild/linux-arm": "0.24.0", + "@esbuild/linux-arm64": "0.24.0", + "@esbuild/linux-ia32": "0.24.0", + "@esbuild/linux-loong64": "0.24.0", + "@esbuild/linux-mips64el": "0.24.0", + "@esbuild/linux-ppc64": "0.24.0", + "@esbuild/linux-riscv64": "0.24.0", + "@esbuild/linux-s390x": "0.24.0", + "@esbuild/linux-x64": "0.24.0", + "@esbuild/netbsd-x64": "0.24.0", + "@esbuild/openbsd-arm64": "0.24.0", + "@esbuild/openbsd-x64": "0.24.0", + "@esbuild/sunos-x64": "0.24.0", + "@esbuild/win32-arm64": "0.24.0", + "@esbuild/win32-ia32": "0.24.0", + "@esbuild/win32-x64": "0.24.0" + } + }, "https-proxy-agent": { "version": "7.0.5", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", @@ -22132,17 +23435,6 @@ "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "dev": true }, - "sass": { - "version": "1.77.6", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.6.tgz", - "integrity": "sha512-ByXE1oLD79GVq9Ht1PeHWCPMPB8XHpBuz1r85oByKHjZY6qV6rWnQovQzXJXuQ/XyE1Oj3iPk3lo28uzaRA2/Q==", - "dev": true, - "requires": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - } - }, "semver": { "version": "7.6.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", @@ -22152,19 +23444,19 @@ } }, "@angular-devkit/build-webpack": { - "version": "0.1802.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1802.6.tgz", - "integrity": "sha512-JMLcXFaitJplwZMKkqhbYirINCRD6eOPZuIGaIOVynXYGWgvJkLT9t5C2wm9HqSLtp1K7NcYG2Y7PtTVR4krnQ==", + "version": "0.1900.0-next.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1900.0-next.8.tgz", + "integrity": "sha512-R45M+vmC4ECoYJtXxGvq3aNazO77/qA5nrg+S59u9RnuH4r6mvczB3yufctXNfZ1Saki1WX9UuZUqh4SLdsqjQ==", "dev": true, "requires": { - "@angular-devkit/architect": "0.1802.6", + "@angular-devkit/architect": "0.1900.0-next.8", "rxjs": "7.8.1" } }, "@angular-devkit/core": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.2.6.tgz", - "integrity": "sha512-la4CFvs5PcRWSkQ/H7TB5cPZirFVA9GoWk5LzIk8si6VjWBJRm8b3keKJoC9LlNeABRUIR5z0ocYkyQQUhdMfg==", + "version": "19.0.0-next.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.0.0-next.8.tgz", + "integrity": "sha512-WqZchrpDLv4I1niB3arBAH6GFkmkuUi7VQ9pr0AqxxlhY0riyCo0qsqS+qOum7uDu/ktBgX4BDo+bRxO8z/FYA==", "dev": true, "requires": { "ajv": "8.17.1", @@ -22211,12 +23503,12 @@ } }, "@angular-devkit/schematics": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-18.2.6.tgz", - "integrity": "sha512-uIttrQ2cQ2PWAFFVPeCoNR8xvs7tPJ2i8gzqsIwYdge107xDC6u9CqfgmBqPDSFpWj+IiC2Jwcm8Z4HYKU4+7A==", + "version": "19.0.0-next.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-19.0.0-next.8.tgz", + "integrity": "sha512-TP78h7+Dv5NIBYRHtfh29x7m2D5q3X0BR+FoMe2jfL+c9ASH+XvypIJ2mqYE5Hvz99izhfKIJ3Uzvd4nJR1cBg==", "dev": true, "requires": { - "@angular-devkit/core": "18.2.6", + "@angular-devkit/core": "19.0.0-next.8", "jsonc-parser": "3.3.1", "magic-string": "0.30.11", "ora": "5.4.1", @@ -22227,8 +23519,7 @@ "version": "18.3.1", "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-18.3.1.tgz", "integrity": "sha512-cPc7Ye9zDs5M4i+feL6vob+mh7yX5vxvOS5KQIhneUrp5e9D+IGuNFMmBLlOPpmklSc9XJBtuvI5Zjuh4z1ETw==", - "dev": true, - "requires": {} + "dev": true }, "@angular-eslint/bundled-angular-compiler": { "version": "18.3.1", @@ -22317,46 +23608,214 @@ } }, "@angular/animations": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-18.2.6.tgz", - "integrity": "sha512-vy9wy+Q9beiRxkEO8wNxFQ63AqAujGvk8AUHepxxIT7QNNc512TNKz8uH+feWDPO38Dm2obwYQHMGzs3WO7pUA==", + "version": "19.0.0-next.7", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-19.0.0-next.7.tgz", + "integrity": "sha512-3MEA7JxnmkmLHYDft8qO2m8QplBL9z0EeTCWgRbKESRjx+BVkytrhWtIR1L9d28159hO6LeJ0Wk3N1lJsrjqKQ==", "requires": { "tslib": "^2.3.0" } }, "@angular/build": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular/build/-/build-18.2.6.tgz", - "integrity": "sha512-TQzX6Mi7uXFvmz7+OVl4Za7WawYPcx+B5Ewm6IY/DdMyB9P/Z4tbKb1LO+ynWUXYwm7avXo6XQQ4m5ArDY5F/A==", + "version": "19.0.0-next.8", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-19.0.0-next.8.tgz", + "integrity": "sha512-8Y6VhfKOACKZmKMlbDNs7REePj1qpj0M15rIRWrhQ4led1HMwjE7pa+sOG/6Xcbdrp6g9QKMBXQPZyKv1RZKgg==", "dev": true, "requires": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1802.6", + "@angular-devkit/architect": "0.1900.0-next.8", "@babel/core": "7.25.2", "@babel/helper-annotate-as-pure": "7.24.7", "@babel/helper-split-export-declaration": "7.24.7", - "@babel/plugin-syntax-import-attributes": "7.24.7", - "@inquirer/confirm": "3.1.22", + "@babel/plugin-syntax-import-attributes": "7.25.6", + "@inquirer/confirm": "4.0.1", "@vitejs/plugin-basic-ssl": "1.1.0", "browserslist": "^4.23.0", "critters": "0.0.24", - "esbuild": "0.23.0", + "esbuild": "0.24.0", "fast-glob": "3.3.2", "https-proxy-agent": "7.0.5", "listr2": "8.2.4", - "lmdb": "3.0.13", + "lmdb": "3.1.3", "magic-string": "0.30.11", "mrmime": "2.0.0", "parse5-html-rewriting-stream": "7.0.0", "picomatch": "4.0.2", - "piscina": "4.6.1", + "piscina": "4.7.0", "rollup": "4.22.4", - "sass": "1.77.6", + "sass": "1.79.3", "semver": "7.6.3", - "vite": "5.4.6", - "watchpack": "2.4.1" + "vite": "5.4.8", + "watchpack": "2.4.2" }, "dependencies": { + "@esbuild/aix-ppc64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.0.tgz", + "integrity": "sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.0.tgz", + "integrity": "sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.0.tgz", + "integrity": "sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.0.tgz", + "integrity": "sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.0.tgz", + "integrity": "sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.0.tgz", + "integrity": "sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.0.tgz", + "integrity": "sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.0.tgz", + "integrity": "sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.0.tgz", + "integrity": "sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.0.tgz", + "integrity": "sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.0.tgz", + "integrity": "sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.0.tgz", + "integrity": "sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.0.tgz", + "integrity": "sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.0.tgz", + "integrity": "sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.0.tgz", + "integrity": "sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.0.tgz", + "integrity": "sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.0.tgz", + "integrity": "sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.0.tgz", + "integrity": "sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.0.tgz", + "integrity": "sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.0.tgz", + "integrity": "sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.0.tgz", + "integrity": "sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.0.tgz", + "integrity": "sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.0.tgz", + "integrity": "sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.0.tgz", + "integrity": "sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==", + "dev": true, + "optional": true + }, "debug": { "version": "4.3.7", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", @@ -22366,6 +23825,38 @@ "ms": "^2.1.3" } }, + "esbuild": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.0.tgz", + "integrity": "sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==", + "dev": true, + "requires": { + "@esbuild/aix-ppc64": "0.24.0", + "@esbuild/android-arm": "0.24.0", + "@esbuild/android-arm64": "0.24.0", + "@esbuild/android-x64": "0.24.0", + "@esbuild/darwin-arm64": "0.24.0", + "@esbuild/darwin-x64": "0.24.0", + "@esbuild/freebsd-arm64": "0.24.0", + "@esbuild/freebsd-x64": "0.24.0", + "@esbuild/linux-arm": "0.24.0", + "@esbuild/linux-arm64": "0.24.0", + "@esbuild/linux-ia32": "0.24.0", + "@esbuild/linux-loong64": "0.24.0", + "@esbuild/linux-mips64el": "0.24.0", + "@esbuild/linux-ppc64": "0.24.0", + "@esbuild/linux-riscv64": "0.24.0", + "@esbuild/linux-s390x": "0.24.0", + "@esbuild/linux-x64": "0.24.0", + "@esbuild/netbsd-x64": "0.24.0", + "@esbuild/openbsd-arm64": "0.24.0", + "@esbuild/openbsd-x64": "0.24.0", + "@esbuild/sunos-x64": "0.24.0", + "@esbuild/win32-arm64": "0.24.0", + "@esbuild/win32-ia32": "0.24.0", + "@esbuild/win32-x64": "0.24.0" + } + }, "https-proxy-agent": { "version": "7.0.5", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", @@ -22388,17 +23879,6 @@ "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "dev": true }, - "sass": { - "version": "1.77.6", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.6.tgz", - "integrity": "sha512-ByXE1oLD79GVq9Ht1PeHWCPMPB8XHpBuz1r85oByKHjZY6qV6rWnQovQzXJXuQ/XyE1Oj3iPk3lo28uzaRA2/Q==", - "dev": true, - "requires": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - } - }, "semver": { "version": "7.6.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", @@ -22408,28 +23888,28 @@ } }, "@angular/cdk": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-18.2.6.tgz", - "integrity": "sha512-Gfq/iv4zhlKYpdQkDaBRwxI71NHNUHM1Cs1XhnZ0/oFct5HXvSv1RHRGTKqBJLLACaAPzZKXJ/UglLoyO5CNiQ==", + "version": "19.0.0-next.6", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-19.0.0-next.6.tgz", + "integrity": "sha512-3XXZIs8Jtxa1FkNhvRwo62ru5BPj+02rs2TPdfK0R8AApS7tyNslO5QeyZRFDjnTLpISesZj//ycKeRfRdJedQ==", "requires": { "parse5": "^7.1.2", "tslib": "^2.3.0" } }, "@angular/cli": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-18.2.6.tgz", - "integrity": "sha512-tdXsnV/w+Rgu8q0zFsLU5L9ImTVqrTol1vppHaQkJ/vuoHy+s8ZEbBqhVrO/ffosNb2xseUybGYvqMS4zkNQjg==", + "version": "19.0.0-next.8", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-19.0.0-next.8.tgz", + "integrity": "sha512-62GO/N8GnxJ5SH2BkwDxi0nC7m2cGJIyMQMGYCT0xAvctvPJ4T1OwPZn267SY56056hcAc8Ui7iWyy0JJqhRsg==", "dev": true, "requires": { - "@angular-devkit/architect": "0.1802.6", - "@angular-devkit/core": "18.2.6", - "@angular-devkit/schematics": "18.2.6", - "@inquirer/prompts": "5.3.8", + "@angular-devkit/architect": "0.1900.0-next.8", + "@angular-devkit/core": "19.0.0-next.8", + "@angular-devkit/schematics": "19.0.0-next.8", + "@inquirer/prompts": "6.0.1", "@listr2/prompt-adapter-inquirer": "2.0.15", - "@schematics/angular": "18.2.6", + "@schematics/angular": "19.0.0-next.8", "@yarnpkg/lockfile": "1.1.0", - "ini": "4.1.3", + "ini": "5.0.0", "jsonc-parser": "3.3.1", "listr2": "8.2.4", "npm-package-arg": "11.0.3", @@ -22538,25 +24018,25 @@ } }, "@angular/common": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-18.2.6.tgz", - "integrity": "sha512-89793ow+wrI1c7C6kyMbnweLNIZHzXthosxAEjipRZGBrqBYjvTtkE45Fl+5yBa3JO7bAhyGkUnEoyvWtZIAEA==", + "version": "19.0.0-next.7", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-19.0.0-next.7.tgz", + "integrity": "sha512-tcuHGKAkzqUxu3CJgtS7sKOxvNcK1cUfFqKYqGnxl6E4P3fEBVB5Z8onVk4IdKvdrDzYPIUkBhktcwa1iy3I/Q==", "requires": { "tslib": "^2.3.0" } }, "@angular/compiler": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-18.2.6.tgz", - "integrity": "sha512-3tX2/Qw+bZ8XzKitviH8jzNGyY0uohhehhBB57OJOCc+yr4ojy/7SYFnun1lSsRnDztdCE461641X4iQLCQ94w==", + "version": "19.0.0-next.7", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-19.0.0-next.7.tgz", + "integrity": "sha512-L5Uc0o1Oh5MVyXDGVRb0hD5LYEZpvRAW7SUGqgffX/GAIaNIqSnoucRon4Lx/7dEjyijSIEpnq4xEz7SNBb1Ew==", "requires": { "tslib": "^2.3.0" } }, "@angular/compiler-cli": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-18.2.6.tgz", - "integrity": "sha512-b5x9STfjNiNM/S0D+CnqRP9UOxPtSz1+RlCH5WdOMiW/p8j5p6dBix8YYgTe6Wg3OD7eItD2pnFQKgF/dWiopA==", + "version": "19.0.0-next.7", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-19.0.0-next.7.tgz", + "integrity": "sha512-h3Z/tMj83ARjOPW8UN8IKtRtVnbE7p5RTpVD4BvJcW9k5KAV+KeDV0vjcL7uZ80K+JZOrHq7za+CT+T9RLXAXA==", "dev": true, "requires": { "@babel/core": "7.25.2", @@ -22611,13 +24091,10 @@ "dev": true }, "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true }, "strip-ansi": { "version": "6.0.1", @@ -22669,65 +24146,73 @@ } }, "@angular/core": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-18.2.6.tgz", - "integrity": "sha512-PjFad2j4YBwLVTw+0Te8CJCa/tV0W8caTHG8aOjj3ObdL6ihGI+FKnwerLc9RVzDFd14BOO4C6/+LbOQAh3Ltw==", + "version": "19.0.0-next.7", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-19.0.0-next.7.tgz", + "integrity": "sha512-PmhSd46559A8uVQPVqbkr/uyefHKyyS6jhvIWN3sYX9xWjEnDcoTHzRFwa9aPVIEthzZ3q3P/Rm/IepfBqz02A==", "requires": { "tslib": "^2.3.0" } }, "@angular/forms": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-18.2.6.tgz", - "integrity": "sha512-quGkUqTxlBaLB8C/RnpfFG57fdmNF5RQ+368N89Ma++2lpIsVAHaGZZn4yOyo3wNYaM2jBxNqaYxOzZNUl5Tig==", + "version": "19.0.0-next.7", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-19.0.0-next.7.tgz", + "integrity": "sha512-OjNqQnQwl5JWHNiVtR2E5u2BoPknPmJkq2tnjcRO8QxbYUqm+hLkby4o5gqS1OvBsxJytj8vPuTBNv4a9iq7uA==", "requires": { "tslib": "^2.3.0" } }, "@angular/language-service": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-18.2.6.tgz", - "integrity": "sha512-GBvBvS2llh+/l2YhO7UO5o3GftlvQQoXnw3v0hcNoHKwcnvqXV4CCi+T2WOaZyK0iB8Is4QRbMrpJUC66HokZg==", + "version": "19.0.0-next.7", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-19.0.0-next.7.tgz", + "integrity": "sha512-Rv6zjgHx3XjfnHYl4+VeIli/Z3XPwbkYXFtWXg9e6FcbOpGsShdtucha4ZiRNiVe4tHXJEU3D0Pcb624IheXYQ==", "dev": true }, "@angular/material": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-18.2.6.tgz", - "integrity": "sha512-ObxC/vomSb9QF3vIztuiInQzws+D6u09Dhfx6uNFjtyICqxEFpF7+Qx7QVDWrsuXOgxZTKgacK8f46iV8hWUfg==", + "version": "19.0.0-next.6", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-19.0.0-next.6.tgz", + "integrity": "sha512-Spi0nAdvOwsYmyBZyLJfLYIos1eYBPQ2DMPg+mt5x2dCwqYsFIu9ZTxWJD2hEhGOXVgDi+PciXlmljMnGu8iVA==", "requires": { "tslib": "^2.3.0" } }, "@angular/platform-browser": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-18.2.6.tgz", - "integrity": "sha512-RA8UMiYNLga+QMwpKcDw1357gYPfPyY/rmLeezMak//BbsENFYQOJ4Z6DBOBNiPlHxmBsUJMGaKdlpQhfCROyQ==", + "version": "19.0.0-next.7", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-19.0.0-next.7.tgz", + "integrity": "sha512-CEoSpvrs4D8NT1cL2Uwsij6U62SZUeCtgBJ4Phm9gGM8aQE7fC/zKGBRSHuMxI8yAA+5ekMIKnLe8wpqSPltuQ==", "requires": { "tslib": "^2.3.0" } }, "@angular/platform-browser-dynamic": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-18.2.6.tgz", - "integrity": "sha512-kGBU3FNc+DF9r33hwHZqiWoZgQbCDdEIucU0NCLCIg0Hw6/Q9Hr2ndjxQI+WynCPg0JeBn34jpouvpeJer3YDQ==", + "version": "19.0.0-next.7", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-19.0.0-next.7.tgz", + "integrity": "sha512-GZMO9eJmKPbRO7bQHPuWaRX+AF1hKxo5sN8/FS0i8D0pYeN64z3M3dY/0bFfl41BcqCII+sIfaFrOomRNhc+lw==", "requires": { "tslib": "^2.3.0" } }, + "@angular/platform-server": { + "version": "19.0.0-next.7", + "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-19.0.0-next.7.tgz", + "integrity": "sha512-n5VdZ5Xwa01kHdp290h4/T9ypXATYco2gbedcdMHeZzOsSLnRdsI/Pk7RbjcGvksyo9iXs8GmMHTJzMyhJbpNw==", + "requires": { + "tslib": "^2.3.0", + "xhr2": "^0.2.0" + } + }, "@angular/router": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-18.2.6.tgz", - "integrity": "sha512-t57Sqja8unHhZlPr+4CWnQacuox2M4p2pMHps+31wt337qH6mKf4jqDmK0dE/MFdRyKjT2a2E/2NwtxXxcWNuw==", + "version": "19.0.0-next.7", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-19.0.0-next.7.tgz", + "integrity": "sha512-w0XiG5vmzuoDhHGMQhTxJoHjM3wy1LG+EL3oVCeVdn+6LFrtQMDjKpIpqu7huXBKmcfPwbFKHm8EKDsiZkWSJA==", "requires": { "tslib": "^2.3.0" } }, "@angular/ssr": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@angular/ssr/-/ssr-18.2.6.tgz", - "integrity": "sha512-xqRrWPXZmWeBh1Jx+7yCuBKjutyyGaq0epcDJOVyYH0h6a0+q5TcMhvhJVRE6BW6J+Bbvxr8+5y4Inr2EGDJsA==", + "version": "19.0.0-next.8", + "resolved": "https://registry.npmjs.org/@angular/ssr/-/ssr-19.0.0-next.8.tgz", + "integrity": "sha512-dPPfTFMT2oAmk3GZI5BnhO/Im8YnFvciQzSExP50iqEvi012rUjc14Vno9BGV8T5HnQu/tAbq4RGY/bSyuCfFA==", "requires": { - "critters": "0.0.24", "tslib": "^2.3.0" } }, @@ -22742,9 +24227,9 @@ } }, "@babel/compat-data": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.2.tgz", - "integrity": "sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz", + "integrity": "sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==", "dev": true }, "@babel/core": { @@ -22800,12 +24285,12 @@ } }, "@babel/generator": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz", - "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz", + "integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==", "dev": true, "requires": { - "@babel/types": "^7.25.0", + "@babel/types": "^7.25.6", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" @@ -22867,9 +24352,9 @@ } }, "@babel/helper-create-class-features-plugin": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.0.tgz", - "integrity": "sha512-GYM6BxeQsETc9mnct+nIIpf63SAyzvyYN7UB/IlTyd+MBg06afFGp0mIeUqGyWgS2mxad6vqbMrHVlaL3m70sQ==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz", + "integrity": "sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.24.7", @@ -22877,7 +24362,7 @@ "@babel/helper-optimise-call-expression": "^7.24.7", "@babel/helper-replace-supers": "^7.25.0", "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/traverse": "^7.25.0", + "@babel/traverse": "^7.25.4", "semver": "^6.3.1" }, "dependencies": { @@ -22890,9 +24375,9 @@ } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.0.tgz", - "integrity": "sha512-q0T+dknZS+L5LDazIP+02gEZITG5unzvb6yIjcmj5i0eFrs5ToBV2m2JGH4EsE/gtP8ygEGLGApBgRIZkTm7zg==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz", + "integrity": "sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.24.7", @@ -23088,12 +24573,12 @@ } }, "@babel/parser": { - "version": "7.25.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.3.tgz", - "integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", + "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", "dev": true, "requires": { - "@babel/types": "^7.25.2" + "@babel/types": "^7.25.6" } }, "@babel/plugin-bugfix-firefox-class-in-computed-class-key": { @@ -23149,8 +24634,7 @@ "version": "7.21.0-placeholder-for-preset-env.2", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "dev": true, - "requires": {} + "dev": true }, "@babel/plugin-syntax-async-generators": { "version": "7.8.4", @@ -23207,12 +24691,12 @@ } }, "@babel/plugin-syntax-import-attributes": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz", - "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz", + "integrity": "sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.24.8" } }, "@babel/plugin-syntax-import-meta": { @@ -23325,15 +24809,15 @@ } }, "@babel/plugin-transform-async-generator-functions": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.0.tgz", - "integrity": "sha512-uaIi2FdqzjpAMvVqvB51S42oC2JEVgh0LDsGfZVDysWE8LrJtQC2jvKmOqEYThKyB7bDEb7BP1GYWDm7tABA0Q==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.4.tgz", + "integrity": "sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-remap-async-to-generator": "^7.25.0", "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/traverse": "^7.25.0" + "@babel/traverse": "^7.25.4" } }, "@babel/plugin-transform-async-to-generator": { @@ -23366,13 +24850,13 @@ } }, "@babel/plugin-transform-class-properties": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz", - "integrity": "sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.4.tgz", + "integrity": "sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" } }, "@babel/plugin-transform-class-static-block": { @@ -23387,16 +24871,16 @@ } }, "@babel/plugin-transform-classes": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.0.tgz", - "integrity": "sha512-xyi6qjr/fYU304fiRwFbekzkqVJZ6A7hOjWZd+89FVcBqPV3S9Wuozz82xdpLspckeaafntbzglaW4pqpzvtSw==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.4.tgz", + "integrity": "sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-compilation-targets": "^7.25.2", "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-replace-supers": "^7.25.0", - "@babel/traverse": "^7.25.0", + "@babel/traverse": "^7.25.4", "globals": "^11.1.0" } }, @@ -23672,13 +25156,13 @@ } }, "@babel/plugin-transform-private-methods": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz", - "integrity": "sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.4.tgz", + "integrity": "sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" } }, "@babel/plugin-transform-private-property-in-object": { @@ -23722,15 +25206,15 @@ } }, "@babel/plugin-transform-runtime": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.7.tgz", - "integrity": "sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.4.tgz", + "integrity": "sha512-8hsyG+KUYGY0coX6KUCDancA0Vw225KJ2HJO0yCNr1vq5r+lJTleDaJf0K7iOhjw4SWhu03TMBzYTJ9krmzULQ==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.8", "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.1", + "babel-plugin-polyfill-corejs3": "^0.10.6", "babel-plugin-polyfill-regenerator": "^0.6.1", "semver": "^6.3.1" }, @@ -23819,22 +25303,22 @@ } }, "@babel/plugin-transform-unicode-sets-regex": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz", - "integrity": "sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.4.tgz", + "integrity": "sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8" } }, "@babel/preset-env": { - "version": "7.25.3", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.3.tgz", - "integrity": "sha512-QsYW7UeAaXvLPX9tdVliMJE7MD7M6MLYVTovRTIwhoYQVFHR1rM4wO8wqAezYi3/BpSD+NzVCZ69R6smWiIi8g==", + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.4.tgz", + "integrity": "sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==", "dev": true, "requires": { - "@babel/compat-data": "^7.25.2", + "@babel/compat-data": "^7.25.4", "@babel/helper-compilation-targets": "^7.25.2", "@babel/helper-plugin-utils": "^7.24.8", "@babel/helper-validator-option": "^7.24.8", @@ -23863,13 +25347,13 @@ "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", "@babel/plugin-transform-arrow-functions": "^7.24.7", - "@babel/plugin-transform-async-generator-functions": "^7.25.0", + "@babel/plugin-transform-async-generator-functions": "^7.25.4", "@babel/plugin-transform-async-to-generator": "^7.24.7", "@babel/plugin-transform-block-scoped-functions": "^7.24.7", "@babel/plugin-transform-block-scoping": "^7.25.0", - "@babel/plugin-transform-class-properties": "^7.24.7", + "@babel/plugin-transform-class-properties": "^7.25.4", "@babel/plugin-transform-class-static-block": "^7.24.7", - "@babel/plugin-transform-classes": "^7.25.0", + "@babel/plugin-transform-classes": "^7.25.4", "@babel/plugin-transform-computed-properties": "^7.24.7", "@babel/plugin-transform-destructuring": "^7.24.8", "@babel/plugin-transform-dotall-regex": "^7.24.7", @@ -23897,7 +25381,7 @@ "@babel/plugin-transform-optional-catch-binding": "^7.24.7", "@babel/plugin-transform-optional-chaining": "^7.24.8", "@babel/plugin-transform-parameters": "^7.24.7", - "@babel/plugin-transform-private-methods": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.25.4", "@babel/plugin-transform-private-property-in-object": "^7.24.7", "@babel/plugin-transform-property-literals": "^7.24.7", "@babel/plugin-transform-regenerator": "^7.24.7", @@ -23910,10 +25394,10 @@ "@babel/plugin-transform-unicode-escapes": "^7.24.7", "@babel/plugin-transform-unicode-property-regex": "^7.24.7", "@babel/plugin-transform-unicode-regex": "^7.24.7", - "@babel/plugin-transform-unicode-sets-regex": "^7.24.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.4", "@babel/preset-modules": "0.1.6-no-external-plugins", "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-corejs3": "^0.10.6", "babel-plugin-polyfill-regenerator": "^0.6.1", "core-js-compat": "^3.37.1", "semver": "^6.3.1" @@ -23945,9 +25429,9 @@ "dev": true }, "@babel/runtime": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.0.tgz", - "integrity": "sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.6.tgz", + "integrity": "sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==", "dev": true, "requires": { "regenerator-runtime": "^0.14.0" @@ -23965,16 +25449,16 @@ } }, "@babel/traverse": { - "version": "7.25.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.3.tgz", - "integrity": "sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz", + "integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==", "dev": true, "requires": { "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.25.0", - "@babel/parser": "^7.25.3", + "@babel/generator": "^7.25.6", + "@babel/parser": "^7.25.6", "@babel/template": "^7.25.0", - "@babel/types": "^7.25.2", + "@babel/types": "^7.25.6", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -23997,9 +25481,9 @@ } }, "@babel/types": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.2.tgz", - "integrity": "sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==", + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", + "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", "dev": true, "requires": { "@babel/helper-string-parser": "^7.24.8", @@ -24358,170 +25842,170 @@ } }, "@esbuild/aix-ppc64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.0.tgz", - "integrity": "sha512-3sG8Zwa5fMcA9bgqB8AfWPQ+HFke6uD3h1s3RIwUNK8EG7a4buxvuFTs3j1IMs2NXAk9F30C/FF4vxRgQCcmoQ==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.1.tgz", + "integrity": "sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==", "dev": true, "optional": true }, "@esbuild/android-arm": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.0.tgz", - "integrity": "sha512-+KuOHTKKyIKgEEqKbGTK8W7mPp+hKinbMBeEnNzjJGyFcWsfrXjSTNluJHCY1RqhxFurdD8uNXQDei7qDlR6+g==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.1.tgz", + "integrity": "sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==", "dev": true, "optional": true }, "@esbuild/android-arm64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.0.tgz", - "integrity": "sha512-EuHFUYkAVfU4qBdyivULuu03FhJO4IJN9PGuABGrFy4vUuzk91P2d+npxHcFdpUnfYKy0PuV+n6bKIpHOB3prQ==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.1.tgz", + "integrity": "sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==", "dev": true, "optional": true }, "@esbuild/android-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.0.tgz", - "integrity": "sha512-WRrmKidLoKDl56LsbBMhzTTBxrsVwTKdNbKDalbEZr0tcsBgCLbEtoNthOW6PX942YiYq8HzEnb4yWQMLQuipQ==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.1.tgz", + "integrity": "sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==", "dev": true, "optional": true }, "@esbuild/darwin-arm64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.0.tgz", - "integrity": "sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.1.tgz", + "integrity": "sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==", "dev": true, "optional": true }, "@esbuild/darwin-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.0.tgz", - "integrity": "sha512-IMQ6eme4AfznElesHUPDZ+teuGwoRmVuuixu7sv92ZkdQcPbsNHzutd+rAfaBKo8YK3IrBEi9SLLKWJdEvJniQ==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.1.tgz", + "integrity": "sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==", "dev": true, "optional": true }, "@esbuild/freebsd-arm64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.0.tgz", - "integrity": "sha512-0muYWCng5vqaxobq6LB3YNtevDFSAZGlgtLoAc81PjUfiFz36n4KMpwhtAd4he8ToSI3TGyuhyx5xmiWNYZFyw==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.1.tgz", + "integrity": "sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==", "dev": true, "optional": true }, "@esbuild/freebsd-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.0.tgz", - "integrity": "sha512-XKDVu8IsD0/q3foBzsXGt/KjD/yTKBCIwOHE1XwiXmrRwrX6Hbnd5Eqn/WvDekddK21tfszBSrE/WMaZh+1buQ==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.1.tgz", + "integrity": "sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==", "dev": true, "optional": true }, "@esbuild/linux-arm": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.0.tgz", - "integrity": "sha512-SEELSTEtOFu5LPykzA395Mc+54RMg1EUgXP+iw2SJ72+ooMwVsgfuwXo5Fn0wXNgWZsTVHwY2cg4Vi/bOD88qw==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.1.tgz", + "integrity": "sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==", "dev": true, "optional": true }, "@esbuild/linux-arm64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.0.tgz", - "integrity": "sha512-j1t5iG8jE7BhonbsEg5d9qOYcVZv/Rv6tghaXM/Ug9xahM0nX/H2gfu6X6z11QRTMT6+aywOMA8TDkhPo8aCGw==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.1.tgz", + "integrity": "sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==", "dev": true, "optional": true }, "@esbuild/linux-ia32": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.0.tgz", - "integrity": "sha512-P7O5Tkh2NbgIm2R6x1zGJJsnacDzTFcRWZyTTMgFdVit6E98LTxO+v8LCCLWRvPrjdzXHx9FEOA8oAZPyApWUA==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.1.tgz", + "integrity": "sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==", "dev": true, "optional": true }, "@esbuild/linux-loong64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.0.tgz", - "integrity": "sha512-InQwepswq6urikQiIC/kkx412fqUZudBO4SYKu0N+tGhXRWUqAx+Q+341tFV6QdBifpjYgUndV1hhMq3WeJi7A==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.1.tgz", + "integrity": "sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==", "dev": true, "optional": true }, "@esbuild/linux-mips64el": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.0.tgz", - "integrity": "sha512-J9rflLtqdYrxHv2FqXE2i1ELgNjT+JFURt/uDMoPQLcjWQA5wDKgQA4t/dTqGa88ZVECKaD0TctwsUfHbVoi4w==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.1.tgz", + "integrity": "sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==", "dev": true, "optional": true }, "@esbuild/linux-ppc64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.0.tgz", - "integrity": "sha512-cShCXtEOVc5GxU0fM+dsFD10qZ5UpcQ8AM22bYj0u/yaAykWnqXJDpd77ublcX6vdDsWLuweeuSNZk4yUxZwtw==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.1.tgz", + "integrity": "sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==", "dev": true, "optional": true }, "@esbuild/linux-riscv64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.0.tgz", - "integrity": "sha512-HEtaN7Y5UB4tZPeQmgz/UhzoEyYftbMXrBCUjINGjh3uil+rB/QzzpMshz3cNUxqXN7Vr93zzVtpIDL99t9aRw==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.1.tgz", + "integrity": "sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==", "dev": true, "optional": true }, "@esbuild/linux-s390x": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.0.tgz", - "integrity": "sha512-WDi3+NVAuyjg/Wxi+o5KPqRbZY0QhI9TjrEEm+8dmpY9Xir8+HE/HNx2JoLckhKbFopW0RdO2D72w8trZOV+Wg==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.1.tgz", + "integrity": "sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==", "dev": true, "optional": true }, "@esbuild/linux-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.0.tgz", - "integrity": "sha512-a3pMQhUEJkITgAw6e0bWA+F+vFtCciMjW/LPtoj99MhVt+Mfb6bbL9hu2wmTZgNd994qTAEw+U/r6k3qHWWaOQ==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.1.tgz", + "integrity": "sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==", "dev": true, "optional": true }, "@esbuild/netbsd-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.0.tgz", - "integrity": "sha512-cRK+YDem7lFTs2Q5nEv/HHc4LnrfBCbH5+JHu6wm2eP+d8OZNoSMYgPZJq78vqQ9g+9+nMuIsAO7skzphRXHyw==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.1.tgz", + "integrity": "sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==", "dev": true, "optional": true }, "@esbuild/openbsd-arm64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.0.tgz", - "integrity": "sha512-suXjq53gERueVWu0OKxzWqk7NxiUWSUlrxoZK7usiF50C6ipColGR5qie2496iKGYNLhDZkPxBI3erbnYkU0rQ==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.1.tgz", + "integrity": "sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==", "dev": true, "optional": true }, "@esbuild/openbsd-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.0.tgz", - "integrity": "sha512-6p3nHpby0DM/v15IFKMjAaayFhqnXV52aEmv1whZHX56pdkK+MEaLoQWj+H42ssFarP1PcomVhbsR4pkz09qBg==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.1.tgz", + "integrity": "sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==", "dev": true, "optional": true }, "@esbuild/sunos-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.0.tgz", - "integrity": "sha512-BFelBGfrBwk6LVrmFzCq1u1dZbG4zy/Kp93w2+y83Q5UGYF1d8sCzeLI9NXjKyujjBBniQa8R8PzLFAUrSM9OA==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.1.tgz", + "integrity": "sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==", "dev": true, "optional": true }, "@esbuild/win32-arm64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.0.tgz", - "integrity": "sha512-lY6AC8p4Cnb7xYHuIxQ6iYPe6MfO2CC43XXKo9nBXDb35krYt7KGhQnOkRGar5psxYkircpCqfbNDB4uJbS2jQ==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.1.tgz", + "integrity": "sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==", "dev": true, "optional": true }, "@esbuild/win32-ia32": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.0.tgz", - "integrity": "sha512-7L1bHlOTcO4ByvI7OXVI5pNN6HSu6pUQq9yodga8izeuB1KcT2UkHaH6118QJwopExPn0rMHIseCTx1CRo/uNA==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.1.tgz", + "integrity": "sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==", "dev": true, "optional": true }, "@esbuild/win32-x64": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.0.tgz", - "integrity": "sha512-Arm+WgUFLUATuoxCJcahGuk6Yj9Pzxd6l11Zb/2aAuv5kWWvvfhLFo2fni4uSK5vzlUdCGZ/BdV5tH8klj8p8g==", + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.1.tgz", + "integrity": "sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==", "dev": true, "optional": true }, @@ -24695,41 +26179,62 @@ "dev": true }, "@inquirer/checkbox": { - "version": "2.4.7", - "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-2.4.7.tgz", - "integrity": "sha512-5YwCySyV1UEgqzz34gNsC38eKxRBtlRDpJLlKcRtTjlYA/yDKuc1rfw+hjw+2WJxbAZtaDPsRl5Zk7J14SBoBw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-3.0.1.tgz", + "integrity": "sha512-0hm2nrToWUdD6/UHnel/UKGdk1//ke5zGUpHIvk5ZWmaKezlGxZkOJXNSWsdxO/rEqTkbB3lNC2J6nBElV2aAQ==", "dev": true, "requires": { - "@inquirer/core": "^9.0.10", - "@inquirer/figures": "^1.0.5", - "@inquirer/type": "^1.5.2", + "@inquirer/core": "^9.2.1", + "@inquirer/figures": "^1.0.6", + "@inquirer/type": "^2.0.0", "ansi-escapes": "^4.3.2", "yoctocolors-cjs": "^2.1.2" + }, + "dependencies": { + "@inquirer/type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz", + "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==", + "dev": true, + "requires": { + "mute-stream": "^1.0.0" + } + } } }, "@inquirer/confirm": { - "version": "3.1.22", - "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-3.1.22.tgz", - "integrity": "sha512-gsAKIOWBm2Q87CDfs9fEo7wJT3fwWIJfnDGMn9Qy74gBnNFOACDNfhUzovubbJjWnKLGBln7/NcSmZwj5DuEXg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-4.0.1.tgz", + "integrity": "sha512-46yL28o2NJ9doViqOy0VDcoTzng7rAb6yPQKU7VDLqkmbCaH4JqK4yk4XqlzNWy9PVC5pG1ZUXPBQv+VqnYs2w==", "dev": true, "requires": { - "@inquirer/core": "^9.0.10", - "@inquirer/type": "^1.5.2" + "@inquirer/core": "^9.2.1", + "@inquirer/type": "^2.0.0" + }, + "dependencies": { + "@inquirer/type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz", + "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==", + "dev": true, + "requires": { + "mute-stream": "^1.0.0" + } + } } }, "@inquirer/core": { - "version": "9.0.10", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.0.10.tgz", - "integrity": "sha512-TdESOKSVwf6+YWDz8GhS6nKscwzkIyakEzCLJ5Vh6O3Co2ClhCJ0A4MG909MUWfaWdpJm7DE45ii51/2Kat9tA==", + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.2.1.tgz", + "integrity": "sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==", "dev": true, "requires": { - "@inquirer/figures": "^1.0.5", - "@inquirer/type": "^1.5.2", + "@inquirer/figures": "^1.0.6", + "@inquirer/type": "^2.0.0", "@types/mute-stream": "^0.0.4", - "@types/node": "^22.1.0", + "@types/node": "^22.5.5", "@types/wrap-ansi": "^3.0.0", "ansi-escapes": "^4.3.2", - "cli-spinners": "^2.9.2", "cli-width": "^4.1.0", "mute-stream": "^1.0.0", "signal-exit": "^4.1.0", @@ -24738,6 +26243,15 @@ "yoctocolors-cjs": "^2.1.2" }, "dependencies": { + "@inquirer/type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz", + "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==", + "dev": true, + "requires": { + "mute-stream": "^1.0.0" + } + }, "ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -24762,122 +26276,210 @@ } }, "@inquirer/editor": { - "version": "2.1.22", - "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-2.1.22.tgz", - "integrity": "sha512-K1QwTu7GCK+nKOVRBp5HY9jt3DXOfPGPr6WRDrPImkcJRelG9UTx2cAtK1liXmibRrzJlTWOwqgWT3k2XnS62w==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-3.0.1.tgz", + "integrity": "sha512-VA96GPFaSOVudjKFraokEEmUQg/Lub6OXvbIEZU1SDCmBzRkHGhxoFAVaF30nyiB4m5cEbDgiI2QRacXZ2hw9Q==", "dev": true, "requires": { - "@inquirer/core": "^9.0.10", - "@inquirer/type": "^1.5.2", + "@inquirer/core": "^9.2.1", + "@inquirer/type": "^2.0.0", "external-editor": "^3.1.0" + }, + "dependencies": { + "@inquirer/type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz", + "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==", + "dev": true, + "requires": { + "mute-stream": "^1.0.0" + } + } } }, "@inquirer/expand": { - "version": "2.1.22", - "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-2.1.22.tgz", - "integrity": "sha512-wTZOBkzH+ItPuZ3ZPa9lynBsdMp6kQ9zbjVPYEtSBG7UulGjg2kQiAnUjgyG4SlntpTce5bOmXAPvE4sguXjpA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-3.0.1.tgz", + "integrity": "sha512-ToG8d6RIbnVpbdPdiN7BCxZGiHOTomOX94C2FaT5KOHupV40tKEDozp12res6cMIfRKrXLJyexAZhWVHgbALSQ==", "dev": true, "requires": { - "@inquirer/core": "^9.0.10", - "@inquirer/type": "^1.5.2", + "@inquirer/core": "^9.2.1", + "@inquirer/type": "^2.0.0", "yoctocolors-cjs": "^2.1.2" + }, + "dependencies": { + "@inquirer/type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz", + "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==", + "dev": true, + "requires": { + "mute-stream": "^1.0.0" + } + } } }, "@inquirer/figures": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.5.tgz", - "integrity": "sha512-79hP/VWdZ2UVc9bFGJnoQ/lQMpL74mGgzSYX1xUqCVk7/v73vJCMw1VuyWN1jGkZ9B3z7THAbySqGbCNefcjfA==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.6.tgz", + "integrity": "sha512-yfZzps3Cso2UbM7WlxKwZQh2Hs6plrbjs1QnzQDZhK2DgyCo6D8AaHps9olkNcUFlcYERMqU3uJSp1gmy3s/qQ==", "dev": true }, "@inquirer/input": { - "version": "2.2.9", - "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-2.2.9.tgz", - "integrity": "sha512-7Z6N+uzkWM7+xsE+3rJdhdG/+mQgejOVqspoW+w0AbSZnL6nq5tGMEVASaYVWbkoSzecABWwmludO2evU3d31g==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-3.0.1.tgz", + "integrity": "sha512-BDuPBmpvi8eMCxqC5iacloWqv+5tQSJlUafYWUe31ow1BVXjW2a5qe3dh4X/Z25Wp22RwvcaLCc2siHobEOfzg==", "dev": true, "requires": { - "@inquirer/core": "^9.0.10", - "@inquirer/type": "^1.5.2" + "@inquirer/core": "^9.2.1", + "@inquirer/type": "^2.0.0" + }, + "dependencies": { + "@inquirer/type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz", + "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==", + "dev": true, + "requires": { + "mute-stream": "^1.0.0" + } + } } }, "@inquirer/number": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-1.0.10.tgz", - "integrity": "sha512-kWTxRF8zHjQOn2TJs+XttLioBih6bdc5CcosXIzZsrTY383PXI35DuhIllZKu7CdXFi2rz2BWPN9l0dPsvrQOA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-2.0.1.tgz", + "integrity": "sha512-QpR8jPhRjSmlr/mD2cw3IR8HRO7lSVOnqUvQa8scv1Lsr3xoAMMworcYW3J13z3ppjBFBD2ef1Ci6AE5Qn8goQ==", "dev": true, "requires": { - "@inquirer/core": "^9.0.10", - "@inquirer/type": "^1.5.2" + "@inquirer/core": "^9.2.1", + "@inquirer/type": "^2.0.0" + }, + "dependencies": { + "@inquirer/type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz", + "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==", + "dev": true, + "requires": { + "mute-stream": "^1.0.0" + } + } } }, "@inquirer/password": { - "version": "2.1.22", - "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-2.1.22.tgz", - "integrity": "sha512-5Fxt1L9vh3rAKqjYwqsjU4DZsEvY/2Gll+QkqR4yEpy6wvzLxdSgFhUcxfDAOtO4BEoTreWoznC0phagwLU5Kw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-3.0.1.tgz", + "integrity": "sha512-haoeEPUisD1NeE2IanLOiFr4wcTXGWrBOyAyPZi1FfLJuXOzNmxCJPgUrGYKVh+Y8hfGJenIfz5Wb/DkE9KkMQ==", "dev": true, "requires": { - "@inquirer/core": "^9.0.10", - "@inquirer/type": "^1.5.2", + "@inquirer/core": "^9.2.1", + "@inquirer/type": "^2.0.0", "ansi-escapes": "^4.3.2" + }, + "dependencies": { + "@inquirer/type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz", + "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==", + "dev": true, + "requires": { + "mute-stream": "^1.0.0" + } + } } }, "@inquirer/prompts": { - "version": "5.3.8", - "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-5.3.8.tgz", - "integrity": "sha512-b2BudQY/Si4Y2a0PdZZL6BeJtl8llgeZa7U2j47aaJSCeAl1e4UI7y8a9bSkO3o/ZbZrgT5muy/34JbsjfIWxA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-6.0.1.tgz", + "integrity": "sha512-yl43JD/86CIj3Mz5mvvLJqAOfIup7ncxfJ0Btnl0/v5TouVUyeEdcpknfgc+yMevS/48oH9WAkkw93m7otLb/A==", "dev": true, "requires": { - "@inquirer/checkbox": "^2.4.7", - "@inquirer/confirm": "^3.1.22", - "@inquirer/editor": "^2.1.22", - "@inquirer/expand": "^2.1.22", - "@inquirer/input": "^2.2.9", - "@inquirer/number": "^1.0.10", - "@inquirer/password": "^2.1.22", - "@inquirer/rawlist": "^2.2.4", - "@inquirer/search": "^1.0.7", - "@inquirer/select": "^2.4.7" + "@inquirer/checkbox": "^3.0.1", + "@inquirer/confirm": "^4.0.1", + "@inquirer/editor": "^3.0.1", + "@inquirer/expand": "^3.0.1", + "@inquirer/input": "^3.0.1", + "@inquirer/number": "^2.0.1", + "@inquirer/password": "^3.0.1", + "@inquirer/rawlist": "^3.0.1", + "@inquirer/search": "^2.0.1", + "@inquirer/select": "^3.0.1" } }, "@inquirer/rawlist": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-2.2.4.tgz", - "integrity": "sha512-pb6w9pWrm7EfnYDgQObOurh2d2YH07+eDo3xQBsNAM2GRhliz6wFXGi1thKQ4bN6B0xDd6C3tBsjdr3obsCl3Q==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-3.0.1.tgz", + "integrity": "sha512-VgRtFIwZInUzTiPLSfDXK5jLrnpkuSOh1ctfaoygKAdPqjcjKYmGh6sCY1pb0aGnCGsmhUxoqLDUAU0ud+lGXQ==", "dev": true, "requires": { - "@inquirer/core": "^9.0.10", - "@inquirer/type": "^1.5.2", + "@inquirer/core": "^9.2.1", + "@inquirer/type": "^2.0.0", "yoctocolors-cjs": "^2.1.2" + }, + "dependencies": { + "@inquirer/type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz", + "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==", + "dev": true, + "requires": { + "mute-stream": "^1.0.0" + } + } } }, "@inquirer/search": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-1.0.7.tgz", - "integrity": "sha512-p1wpV+3gd1eST/o5N3yQpYEdFNCzSP0Klrl+5bfD3cTTz8BGG6nf4Z07aBW0xjlKIj1Rp0y3x/X4cZYi6TfcLw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-2.0.1.tgz", + "integrity": "sha512-r5hBKZk3g5MkIzLVoSgE4evypGqtOannnB3PKTG9NRZxyFRKcfzrdxXXPcoJQsxJPzvdSU2Rn7pB7lw0GCmGAg==", "dev": true, "requires": { - "@inquirer/core": "^9.0.10", - "@inquirer/figures": "^1.0.5", - "@inquirer/type": "^1.5.2", + "@inquirer/core": "^9.2.1", + "@inquirer/figures": "^1.0.6", + "@inquirer/type": "^2.0.0", "yoctocolors-cjs": "^2.1.2" + }, + "dependencies": { + "@inquirer/type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz", + "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==", + "dev": true, + "requires": { + "mute-stream": "^1.0.0" + } + } } }, "@inquirer/select": { - "version": "2.4.7", - "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-2.4.7.tgz", - "integrity": "sha512-JH7XqPEkBpNWp3gPCqWqY8ECbyMoFcCZANlL6pV9hf59qK6dGmkOlx1ydyhY+KZ0c5X74+W6Mtp+nm2QX0/MAQ==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-3.0.1.tgz", + "integrity": "sha512-lUDGUxPhdWMkN/fHy1Lk7pF3nK1fh/gqeyWXmctefhxLYxlDsc7vsPBEpxrfVGDsVdyYJsiJoD4bJ1b623cV1Q==", "dev": true, "requires": { - "@inquirer/core": "^9.0.10", - "@inquirer/figures": "^1.0.5", - "@inquirer/type": "^1.5.2", + "@inquirer/core": "^9.2.1", + "@inquirer/figures": "^1.0.6", + "@inquirer/type": "^2.0.0", "ansi-escapes": "^4.3.2", "yoctocolors-cjs": "^2.1.2" + }, + "dependencies": { + "@inquirer/type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz", + "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==", + "dev": true, + "requires": { + "mute-stream": "^1.0.0" + } + } } }, "@inquirer/type": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-1.5.2.tgz", - "integrity": "sha512-w9qFkumYDCNyDZmNQjf/n6qQuvQ4dMC3BJesY4oF+yr0CxR5vxujflAVeIcS6U336uzi9GM0kAfZlLrZ9UTkpA==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-1.5.3.tgz", + "integrity": "sha512-xUQ14WQGR/HK5ei+2CvgcwoH9fQ4PgPGmVFSN0pc1+fVyDL3MREhyAY7nxEErSu6CkllBM3D7e3e+kOvtu+eIg==", "dev": true, "requires": { "mute-stream": "^1.0.0" @@ -25016,8 +26618,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==", - "dev": true, - "requires": {} + "dev": true }, "@jsonjoy.com/json-pack": { "version": "1.1.0", @@ -25035,8 +26636,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.3.0.tgz", "integrity": "sha512-Cebt4Vk7k1xHy87kHY7KSPLT77A7Ev7IfOblyLZhtYEhrdQ6fX4EoLq3xOQ3O/DRMEh2ok5nyC180E+ABS8Wmw==", - "dev": true, - "requires": {} + "dev": true }, "@leichtgewicht/ip-codec": { "version": "2.0.5", @@ -25054,44 +26654,44 @@ } }, "@lmdb/lmdb-darwin-arm64": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.0.13.tgz", - "integrity": "sha512-uiKPB0Fv6WEEOZjruu9a6wnW/8jrjzlZbxXscMB8kuCJ1k6kHpcBnuvaAWcqhbI7rqX5GKziwWEdD+wi2gNLfA==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.1.3.tgz", + "integrity": "sha512-VV667lP23gIsQkb80rnQwAHjj6F1uZp30qTnvLSlep3pOomzXcQBMFp4ZmJLeGJnnPy54JjNsYBFyg9X95wCPw==", "dev": true, "optional": true }, "@lmdb/lmdb-darwin-x64": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.0.13.tgz", - "integrity": "sha512-bEVIIfK5mSQoG1R19qA+fJOvCB+0wVGGnXHT3smchBVahYBdlPn2OsZZKzlHWfb1E+PhLBmYfqB5zQXFP7hJig==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.1.3.tgz", + "integrity": "sha512-kuhKKJxGCQr9gBtUd7cVBBn6OtwQg7vIiD5gHEZb+jWLJulg6N4uPSLTab8W9tvpb3ryRTAejMt7F89/2MoRrQ==", "dev": true, "optional": true }, "@lmdb/lmdb-linux-arm": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.0.13.tgz", - "integrity": "sha512-Yml1KlMzOnXj/tnW7yX8U78iAzTk39aILYvCPbqeewAq1kSzl+w59k/fiVkTBfvDi/oW/5YRxL+Fq+Y1Fr1r2Q==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.1.3.tgz", + "integrity": "sha512-R0CkYoJPHUfxPe2LaAqMGwTf5+1eXchUMNISO8OKEvKkS/zg2emIYTOb29v1k8WGSmdJkgQneBav/W3h5NorzA==", "dev": true, "optional": true }, "@lmdb/lmdb-linux-arm64": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.0.13.tgz", - "integrity": "sha512-afbVrsMgZ9dUTNUchFpj5VkmJRxvht/u335jUJ7o23YTbNbnpmXif3VKQGCtnjSh+CZaqm6N3CPG8KO3zwyZ1Q==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.1.3.tgz", + "integrity": "sha512-XnSHGKsJ1Fr5LBjyDkG7JnVJlduhg7AhV1J6YQujStsKnehuiidsNW0InEJrAO4QMHqquwnCfLvU9PPJfpFVYw==", "dev": true, "optional": true }, "@lmdb/lmdb-linux-x64": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.0.13.tgz", - "integrity": "sha512-vOtxu0xC0SLdQ2WRXg8Qgd8T32ak4SPqk5zjItRszrJk2BdeXqfGxBJbP7o4aOvSPSmSSv46Lr1EP4HXU8v7Kg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.1.3.tgz", + "integrity": "sha512-epvFL9/Tem00evtuq05kqWbRppJ4G/D8wa6LnQmOu779VmbrY6+M3v3h4fnt2QqMQt3+J6Cg/gZACDlDcH+eUw==", "dev": true, "optional": true }, "@lmdb/lmdb-win32-x64": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.0.13.tgz", - "integrity": "sha512-UCrMJQY/gJnOl3XgbWRZZUvGGBuKy6i0YNSptgMzHBjs+QYDYR1Mt/RLTOPy4fzzves65O1EDmlL//OzEqoLlA==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.1.3.tgz", + "integrity": "sha512-S6P96biJyrt/CUYSP0v4OH1U9ITzHhHCh1kn7hHOscS3S1+T/D74sCJKQ9xb/Raos2NJHqtZ8EyQVEVjOzmqbg==", "dev": true, "optional": true }, @@ -25137,12 +26737,148 @@ "dev": true, "optional": true }, - "@ngtools/webpack": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-18.2.6.tgz", - "integrity": "sha512-7HwOPE1EOgcHnpt4brSiT8G2CcXB50G0+CbCBaKGy4LYCG3Y3mrlzF5Fup9HvMJ6Tzqd62RqzpKKYBiGUT7hxg==", + "@napi-rs/nice": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice/-/nice-1.0.1.tgz", + "integrity": "sha512-zM0mVWSXE0a0h9aKACLwKmD6nHcRiKrPpCfvaKqG1CqDEyjEawId0ocXxVzPMCAm6kkWr2P025msfxXEnt8UGQ==", "dev": true, - "requires": {} + "optional": true, + "requires": { + "@napi-rs/nice-android-arm-eabi": "1.0.1", + "@napi-rs/nice-android-arm64": "1.0.1", + "@napi-rs/nice-darwin-arm64": "1.0.1", + "@napi-rs/nice-darwin-x64": "1.0.1", + "@napi-rs/nice-freebsd-x64": "1.0.1", + "@napi-rs/nice-linux-arm-gnueabihf": "1.0.1", + "@napi-rs/nice-linux-arm64-gnu": "1.0.1", + "@napi-rs/nice-linux-arm64-musl": "1.0.1", + "@napi-rs/nice-linux-ppc64-gnu": "1.0.1", + "@napi-rs/nice-linux-riscv64-gnu": "1.0.1", + "@napi-rs/nice-linux-s390x-gnu": "1.0.1", + "@napi-rs/nice-linux-x64-gnu": "1.0.1", + "@napi-rs/nice-linux-x64-musl": "1.0.1", + "@napi-rs/nice-win32-arm64-msvc": "1.0.1", + "@napi-rs/nice-win32-ia32-msvc": "1.0.1", + "@napi-rs/nice-win32-x64-msvc": "1.0.1" + } + }, + "@napi-rs/nice-android-arm-eabi": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm-eabi/-/nice-android-arm-eabi-1.0.1.tgz", + "integrity": "sha512-5qpvOu5IGwDo7MEKVqqyAxF90I6aLj4n07OzpARdgDRfz8UbBztTByBp0RC59r3J1Ij8uzYi6jI7r5Lws7nn6w==", + "dev": true, + "optional": true + }, + "@napi-rs/nice-android-arm64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm64/-/nice-android-arm64-1.0.1.tgz", + "integrity": "sha512-GqvXL0P8fZ+mQqG1g0o4AO9hJjQaeYG84FRfZaYjyJtZZZcMjXW5TwkL8Y8UApheJgyE13TQ4YNUssQaTgTyvA==", + "dev": true, + "optional": true + }, + "@napi-rs/nice-darwin-arm64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-arm64/-/nice-darwin-arm64-1.0.1.tgz", + "integrity": "sha512-91k3HEqUl2fsrz/sKkuEkscj6EAj3/eZNCLqzD2AA0TtVbkQi8nqxZCZDMkfklULmxLkMxuUdKe7RvG/T6s2AA==", + "dev": true, + "optional": true + }, + "@napi-rs/nice-darwin-x64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-x64/-/nice-darwin-x64-1.0.1.tgz", + "integrity": "sha512-jXnMleYSIR/+TAN/p5u+NkCA7yidgswx5ftqzXdD5wgy/hNR92oerTXHc0jrlBisbd7DpzoaGY4cFD7Sm5GlgQ==", + "dev": true, + "optional": true + }, + "@napi-rs/nice-freebsd-x64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-freebsd-x64/-/nice-freebsd-x64-1.0.1.tgz", + "integrity": "sha512-j+iJ/ezONXRQsVIB/FJfwjeQXX7A2tf3gEXs4WUGFrJjpe/z2KB7sOv6zpkm08PofF36C9S7wTNuzHZ/Iiccfw==", + "dev": true, + "optional": true + }, + "@napi-rs/nice-linux-arm-gnueabihf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm-gnueabihf/-/nice-linux-arm-gnueabihf-1.0.1.tgz", + "integrity": "sha512-G8RgJ8FYXYkkSGQwywAUh84m946UTn6l03/vmEXBYNJxQJcD+I3B3k5jmjFG/OPiU8DfvxutOP8bi+F89MCV7Q==", + "dev": true, + "optional": true + }, + "@napi-rs/nice-linux-arm64-gnu": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-gnu/-/nice-linux-arm64-gnu-1.0.1.tgz", + "integrity": "sha512-IMDak59/W5JSab1oZvmNbrms3mHqcreaCeClUjwlwDr0m3BoR09ZiN8cKFBzuSlXgRdZ4PNqCYNeGQv7YMTjuA==", + "dev": true, + "optional": true + }, + "@napi-rs/nice-linux-arm64-musl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-musl/-/nice-linux-arm64-musl-1.0.1.tgz", + "integrity": "sha512-wG8fa2VKuWM4CfjOjjRX9YLIbysSVV1S3Kgm2Fnc67ap/soHBeYZa6AGMeR5BJAylYRjnoVOzV19Cmkco3QEPw==", + "dev": true, + "optional": true + }, + "@napi-rs/nice-linux-ppc64-gnu": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-ppc64-gnu/-/nice-linux-ppc64-gnu-1.0.1.tgz", + "integrity": "sha512-lxQ9WrBf0IlNTCA9oS2jg/iAjQyTI6JHzABV664LLrLA/SIdD+I1i3Mjf7TsnoUbgopBcCuDztVLfJ0q9ubf6Q==", + "dev": true, + "optional": true + }, + "@napi-rs/nice-linux-riscv64-gnu": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-riscv64-gnu/-/nice-linux-riscv64-gnu-1.0.1.tgz", + "integrity": "sha512-3xs69dO8WSWBb13KBVex+yvxmUeEsdWexxibqskzoKaWx9AIqkMbWmE2npkazJoopPKX2ULKd8Fm9veEn0g4Ig==", + "dev": true, + "optional": true + }, + "@napi-rs/nice-linux-s390x-gnu": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-s390x-gnu/-/nice-linux-s390x-gnu-1.0.1.tgz", + "integrity": "sha512-lMFI3i9rlW7hgToyAzTaEybQYGbQHDrpRkg+1gJWEpH0PLAQoZ8jiY0IzakLfNWnVda1eTYYlxxFYzW8Rqczkg==", + "dev": true, + "optional": true + }, + "@napi-rs/nice-linux-x64-gnu": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-gnu/-/nice-linux-x64-gnu-1.0.1.tgz", + "integrity": "sha512-XQAJs7DRN2GpLN6Fb+ZdGFeYZDdGl2Fn3TmFlqEL5JorgWKrQGRUrpGKbgZ25UeZPILuTKJ+OowG2avN8mThBA==", + "dev": true, + "optional": true + }, + "@napi-rs/nice-linux-x64-musl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-musl/-/nice-linux-x64-musl-1.0.1.tgz", + "integrity": "sha512-/rodHpRSgiI9o1faq9SZOp/o2QkKQg7T+DK0R5AkbnI/YxvAIEHf2cngjYzLMQSQgUhxym+LFr+UGZx4vK4QdQ==", + "dev": true, + "optional": true + }, + "@napi-rs/nice-win32-arm64-msvc": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-arm64-msvc/-/nice-win32-arm64-msvc-1.0.1.tgz", + "integrity": "sha512-rEcz9vZymaCB3OqEXoHnp9YViLct8ugF+6uO5McifTedjq4QMQs3DHz35xBEGhH3gJWEsXMUbzazkz5KNM5YUg==", + "dev": true, + "optional": true + }, + "@napi-rs/nice-win32-ia32-msvc": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-ia32-msvc/-/nice-win32-ia32-msvc-1.0.1.tgz", + "integrity": "sha512-t7eBAyPUrWL8su3gDxw9xxxqNwZzAqKo0Szv3IjVQd1GpXXVkb6vBBQUuxfIYaXMzZLwlxRQ7uzM2vdUE9ULGw==", + "dev": true, + "optional": true + }, + "@napi-rs/nice-win32-x64-msvc": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-x64-msvc/-/nice-win32-x64-msvc-1.0.1.tgz", + "integrity": "sha512-JlF+uDcatt3St2ntBG8H02F1mM45i5SF9W+bIKiReVE6wiy3o16oBP/yxt+RZ+N6LbCImJXJ6bXNO2kn9AXicg==", + "dev": true, + "optional": true + }, + "@ngtools/webpack": { + "version": "19.0.0-next.8", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-19.0.0-next.8.tgz", + "integrity": "sha512-QiU/7CtMzNyUDFiR791rZwSOeU0O6HIBTh+qKQo7L1R+Tp53nOspNBzcJm58SUVa0W8apB6b5T0MedZjmbcohA==", + "dev": true }, "@ngxs/storage-plugin": { "version": "18.1.1", @@ -25164,6 +26900,7 @@ "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, "requires": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -25172,12 +26909,14 @@ "@nodelib/fs.stat": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true }, "@nodelib/fs.walk": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, "requires": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -25452,12 +27191,6 @@ "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", "dev": true }, - "@popperjs/core": { - "version": "2.11.8", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", - "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", - "peer": true - }, "@rollup/plugin-json": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.1.0.tgz", @@ -25467,20 +27200,6 @@ "@rollup/pluginutils": "^5.1.0" } }, - "@rollup/plugin-node-resolve": { - "version": "15.2.3", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz", - "integrity": "sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^5.0.1", - "@types/resolve": "1.20.2", - "deepmerge": "^4.2.2", - "is-builtin-module": "^3.2.1", - "is-module": "^1.0.0", - "resolve": "^1.22.1" - } - }, "@rollup/pluginutils": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", @@ -25605,9 +27324,9 @@ "optional": true }, "@rollup/wasm-node": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/@rollup/wasm-node/-/wasm-node-4.18.0.tgz", - "integrity": "sha512-DkLoyblRMhJw9ZogW9zCpyH0CNJ+7GaM7Ty+Vl+G21z/Gr7uKBaXqcJqwWUiNYVxTOgxZrxhDG6pmOFxOuswvw==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/@rollup/wasm-node/-/wasm-node-4.21.2.tgz", + "integrity": "sha512-AJCfdXkpe5EX+jfWOMYuFl3ZomTQyfx4V4geRmChdTwAo05FdpnobwqtYn0mo7Mf1qVN7mniI7kdG98vKDVd2g==", "dev": true, "requires": { "@types/estree": "1.0.5", @@ -25621,13 +27340,13 @@ "dev": true }, "@schematics/angular": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-18.2.6.tgz", - "integrity": "sha512-Y988EoOEQDLEyHu3414T6AeVUyx21AexBHQNbUNQkK8cxlxyB6m1eH1cx6vFgLRFUTsLVv+C6Ln/ICNTfLcG4A==", + "version": "19.0.0-next.8", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-19.0.0-next.8.tgz", + "integrity": "sha512-oUUMk/ufNUiEZxXobj9GSZeU6AijTl50YJAHcCkCA9zPzv9GPQWA1Mc0YqztJSTT+3uUaPpIZDfkfsWAa4+sdA==", "dev": true, "requires": { - "@angular-devkit/core": "18.2.6", - "@angular-devkit/schematics": "18.2.6", + "@angular-devkit/core": "19.0.0-next.8", + "@angular-devkit/schematics": "19.0.0-next.8", "jsonc-parser": "3.3.1" } }, @@ -25729,44 +27448,6 @@ "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", "dev": true }, - "@ts-morph/common": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.22.0.tgz", - "integrity": "sha512-HqNBuV/oIlMKdkLshXd1zKBqNQCsuPEsgQOkfFQ/eUKjRlwndXW1AjN9LVkBEIukm00gGXSRmfkl0Wv5VXLnlw==", - "peer": true, - "requires": { - "fast-glob": "^3.3.2", - "minimatch": "^9.0.3", - "mkdirp": "^3.0.1", - "path-browserify": "^1.0.1" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "peer": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "peer": true, - "requires": { - "brace-expansion": "^2.0.1" - } - }, - "mkdirp": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", - "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", - "peer": true - } - } - }, "@tsconfig/node10": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", @@ -25886,18 +27567,6 @@ "@types/node": "*" } }, - "@types/eslint": { - "version": "8.56.10", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz", - "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, "@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", @@ -25914,26 +27583,12 @@ "@types/express-serve-static-core": "^4.17.33", "@types/qs": "*", "@types/serve-static": "*" - }, - "dependencies": { - "@types/express-serve-static-core": { - "version": "4.19.6", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", - "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - } } }, "@types/express-serve-static-core": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.0.tgz", - "integrity": "sha512-AbXMTZGt40T+KON9/Fdxx0B2WK5hsgxcfXJLr5bFpZ7b4JCex2WyQPTEKdXqfHiY5nKKBScZ7yCoO6Pvgxfvnw==", + "version": "4.19.5", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.5.tgz", + "integrity": "sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==", "dev": true, "requires": { "@types/node": "*", @@ -25949,9 +27604,9 @@ "dev": true }, "@types/http-proxy": { - "version": "1.17.14", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", - "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", + "version": "1.17.15", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz", + "integrity": "sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==", "dev": true, "requires": { "@types/node": "*" @@ -26006,9 +27661,9 @@ } }, "@types/node": { - "version": "22.7.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.3.tgz", - "integrity": "sha512-qXKfhXXqGTyBskvWEzJZPUxSslAiLaB6JGP1ic/XTH9ctGgzdgYguuLP1C601aRTSDNlLb0jbKqXjZ48GNraSA==", + "version": "22.7.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.4.tgz", + "integrity": "sha512-y+NPi1rFzDs1NdQHHToqeiX2TIS79SWEAw9GYhkkx8bD0ChpfqC+n2j5OXOCpzfojBEBt6DnEnnG9MY0zk1XLg==", "dev": true, "requires": { "undici-types": "~6.19.2" @@ -26030,9 +27685,9 @@ "dev": true }, "@types/qs": { - "version": "6.9.16", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.16.tgz", - "integrity": "sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==", + "version": "6.9.15", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", + "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==", "dev": true }, "@types/range-parser": { @@ -26041,12 +27696,6 @@ "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", "dev": true }, - "@types/resolve": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", - "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", - "dev": true - }, "@types/retry": { "version": "0.12.2", "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", @@ -26310,8 +27959,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.1.0.tgz", "integrity": "sha512-wO4Dk/rm8u7RNhOf95ZzcEmC9rYOncYgvq4z3duaJrCgjN8BxAnDVyndanfcJZ0O6XZzHz6Q0hTimxTg8Y9g/A==", - "dev": true, - "requires": {} + "dev": true }, "@webassemblyjs/ast": { "version": "1.12.1", @@ -26503,15 +28151,13 @@ "version": "1.9.5", "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", - "dev": true, - "requires": {} + "dev": true }, "acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} + "dev": true }, "adjust-sourcemap-loader": { "version": "4.0.0", @@ -26623,8 +28269,7 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} + "dev": true }, "ansi-colors": { "version": "4.1.3", @@ -26900,9 +28545,9 @@ "dev": true }, "babel-loader": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", - "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz", + "integrity": "sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==", "dev": true, "requires": { "find-cache-dir": "^4.0.0", @@ -26972,9 +28617,9 @@ } }, "yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", + "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", "dev": true } } @@ -26999,13 +28644,13 @@ } }, "babel-plugin-polyfill-corejs3": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", - "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.6.1", - "core-js-compat": "^3.36.1" + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" } }, "babel-plugin-polyfill-regenerator": { @@ -27020,7 +28665,8 @@ "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true }, "base64-js": { "version": "1.3.1", @@ -27180,13 +28826,13 @@ "boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true }, "bootstrap": { "version": "5.2.3", "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.2.3.tgz", - "integrity": "sha512-cEKPM+fwb3cT8NzQZYEu4HilJ3anCrWqh3CHAok1p9jXqMPsPTBhU25fBckEJHJ/p+tTxTFTsFQGM+gaHpi3QQ==", - "requires": {} + "integrity": "sha512-cEKPM+fwb3cT8NzQZYEu4HilJ3anCrWqh3CHAok1p9jXqMPsPTBhU25fBckEJHJ/p+tTxTFTsFQGM+gaHpi3QQ==" }, "bootstrap.native": { "version": "5.0.12", @@ -27212,6 +28858,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, "requires": { "fill-range": "^7.1.1" } @@ -27268,12 +28915,6 @@ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "dev": true }, - "builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", - "dev": true - }, "bundle-name": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", @@ -27509,9 +29150,9 @@ "dev": true }, "chromedriver": { - "version": "129.0.0", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-129.0.0.tgz", - "integrity": "sha512-B1ccqD6hDjNrw94FeqdynIotn1ZV/TnFrkRz2Rync2kzSnq6D6IrSkN1w5Pnuvnc98QhN2xujxDXxkqEqy/PWg==", + "version": "129.0.1", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-129.0.1.tgz", + "integrity": "sha512-thJqK3c7p9rIhmjBvs/cgaK0Hk30g7LbnmMXQ2aLnn75ZOiEl/2GBcgc6fw+4GIw1SmOYhnNmaEI1iTP3qob0w==", "dev": true, "requires": { "@testim/chrome-version": "^1.1.4", @@ -27645,12 +29286,6 @@ "shallow-clone": "^3.0.0" } }, - "code-block-writer": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-12.0.0.tgz", - "integrity": "sha512-q4dMFMlXtKR3XNBHyMHt/3pwYNA69EDk00lloMOaaUMKPUXBw6lpXtbu3MMVG6/uOihGnRDOlkyqsONEUj60+w==", - "peer": true - }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -27873,9 +29508,9 @@ } }, "core-js-compat": { - "version": "3.38.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.0.tgz", - "integrity": "sha512-75LAicdLa4OJVwFxFbQR3NdnZjNgX6ILpVcVzcC4T2smerB5lELMrJQQQoWV6TiuC/vlaFqgU2tKQx9w5s0e0A==", + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", + "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", "dev": true, "requires": { "browserslist": "^4.23.3" @@ -27936,6 +29571,7 @@ "version": "0.0.24", "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.24.tgz", "integrity": "sha512-Oyqew0FGM0wYUSNqR0L6AteO5MpMoUU0rhKRieXeiKs+PmRTxiJMyaunYB2KF6fQ3dzChXKCpbFOEJx3OQ1v/Q==", + "dev": true, "requires": { "chalk": "^4.1.0", "css-select": "^5.1.0", @@ -27950,6 +29586,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "requires": { "color-convert": "^2.0.1" } @@ -27958,6 +29595,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -27967,6 +29605,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "requires": { "color-name": "~1.1.4" } @@ -27974,7 +29613,8 @@ "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true } } }, @@ -28034,6 +29674,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, "requires": { "boolbase": "^1.0.0", "css-what": "^6.1.0", @@ -28045,7 +29686,8 @@ "css-what": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true }, "cssesc": { "version": "3.0.0", @@ -28157,12 +29799,6 @@ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, - "deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true - }, "default-browser": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", @@ -28179,15 +29815,6 @@ "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", "dev": true }, - "default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "dev": true, - "requires": { - "execa": "^5.0.0" - } - }, "defaults": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", @@ -28412,6 +30039,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, "requires": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", @@ -28421,12 +30049,14 @@ "domelementtype": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true }, "domhandler": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, "requires": { "domelementtype": "^2.3.0" } @@ -28435,6 +30065,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, "requires": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", @@ -28596,7 +30227,8 @@ "entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==" + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "devOptional": true }, "env-paths": { "version": "2.2.1", @@ -28772,41 +30404,41 @@ "dev": true }, "esbuild": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.0.tgz", - "integrity": "sha512-1lvV17H2bMYda/WaFb2jLPeHU3zml2k4/yagNMG8Q/YtfMjCwEUZa2eXXMgZTVSL5q1n4H7sQ0X6CdJDqqeCFA==", - "dev": true, - "requires": { - "@esbuild/aix-ppc64": "0.23.0", - "@esbuild/android-arm": "0.23.0", - "@esbuild/android-arm64": "0.23.0", - "@esbuild/android-x64": "0.23.0", - "@esbuild/darwin-arm64": "0.23.0", - "@esbuild/darwin-x64": "0.23.0", - "@esbuild/freebsd-arm64": "0.23.0", - "@esbuild/freebsd-x64": "0.23.0", - "@esbuild/linux-arm": "0.23.0", - "@esbuild/linux-arm64": "0.23.0", - "@esbuild/linux-ia32": "0.23.0", - "@esbuild/linux-loong64": "0.23.0", - "@esbuild/linux-mips64el": "0.23.0", - "@esbuild/linux-ppc64": "0.23.0", - "@esbuild/linux-riscv64": "0.23.0", - "@esbuild/linux-s390x": "0.23.0", - "@esbuild/linux-x64": "0.23.0", - "@esbuild/netbsd-x64": "0.23.0", - "@esbuild/openbsd-arm64": "0.23.0", - "@esbuild/openbsd-x64": "0.23.0", - "@esbuild/sunos-x64": "0.23.0", - "@esbuild/win32-arm64": "0.23.0", - "@esbuild/win32-ia32": "0.23.0", - "@esbuild/win32-x64": "0.23.0" + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.1.tgz", + "integrity": "sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==", + "dev": true, + "requires": { + "@esbuild/aix-ppc64": "0.23.1", + "@esbuild/android-arm": "0.23.1", + "@esbuild/android-arm64": "0.23.1", + "@esbuild/android-x64": "0.23.1", + "@esbuild/darwin-arm64": "0.23.1", + "@esbuild/darwin-x64": "0.23.1", + "@esbuild/freebsd-arm64": "0.23.1", + "@esbuild/freebsd-x64": "0.23.1", + "@esbuild/linux-arm": "0.23.1", + "@esbuild/linux-arm64": "0.23.1", + "@esbuild/linux-ia32": "0.23.1", + "@esbuild/linux-loong64": "0.23.1", + "@esbuild/linux-mips64el": "0.23.1", + "@esbuild/linux-ppc64": "0.23.1", + "@esbuild/linux-riscv64": "0.23.1", + "@esbuild/linux-s390x": "0.23.1", + "@esbuild/linux-x64": "0.23.1", + "@esbuild/netbsd-x64": "0.23.1", + "@esbuild/openbsd-arm64": "0.23.1", + "@esbuild/openbsd-x64": "0.23.1", + "@esbuild/sunos-x64": "0.23.1", + "@esbuild/win32-arm64": "0.23.1", + "@esbuild/win32-ia32": "0.23.1", + "@esbuild/win32-x64": "0.23.1" } }, "esbuild-wasm": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.23.0.tgz", - "integrity": "sha512-6jP8UmWy6R6TUUV8bMuC3ZyZ6lZKI56x0tkxyCIqWwRRJ/DgeQKneh/Oid5EoGoPFLrGNkz47ZEtWAYuiY/u9g==", + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.24.0.tgz", + "integrity": "sha512-xhNn5tL1AhkPg4ft59yXT6FkwKXiPSYyz1IeinJHUJpjvOHOIPvdmFQc0pGdjxlKSbzZc2mNmtVOWAR1EF/JAg==", "dev": true }, "escalade": { @@ -29032,8 +30664,7 @@ "version": "9.1.0", "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", - "dev": true, - "requires": {} + "dev": true }, "eslint-import-resolver-node": { "version": "0.3.9", @@ -29259,8 +30890,7 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/eslint-plugin-prefer-arrow/-/eslint-plugin-prefer-arrow-1.2.3.tgz", "integrity": "sha512-J9I5PKCOJretVuiZRGvPQxCbllxGAV/viI20JO3LYblAodofBxyMnZAJ+WGeClHgANnSJberTNoFWWjrWKBuXQ==", - "dev": true, - "requires": {} + "dev": true }, "eslint-plugin-prettier": { "version": "5.2.1", @@ -29405,31 +31035,6 @@ "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "dependencies": { - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - } - } - }, "exit": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", @@ -29643,6 +31248,7 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -29655,6 +31261,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, "requires": { "is-glob": "^4.0.1" } @@ -29674,15 +31281,16 @@ "dev": true }, "fast-uri": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.2.tgz", - "integrity": "sha512-GR6f0hD7XXyNJa25Tb9BuIdN0tdr+0BMi6/CJPH3wJO1JjNG3n/VsSw38AwRdKZABm8lGbPfakLRkYzx2V9row==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", + "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==", "dev": true }, "fastq": { "version": "1.12.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.12.0.tgz", "integrity": "sha512-VNX0QkHK3RsXVKr9KrlUv/FoTa0NdbYoHHl7uXHv2rzyHSlxjdNAKug2twd9luJxpcyNeAgf5iPPMutJO67Dfg==", + "dev": true, "requires": { "reusify": "^1.0.4" } @@ -29718,6 +31326,7 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, "requires": { "to-regex-range": "^5.0.1" } @@ -29962,12 +31571,6 @@ "hasown": "^2.0.0" } }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true - }, "get-symbol-description": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", @@ -30267,6 +31870,7 @@ "version": "8.0.2", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "dev": true, "requires": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", @@ -30390,32 +31994,38 @@ } }, "http-proxy-middleware": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-3.0.0.tgz", - "integrity": "sha512-36AV1fIaI2cWRzHo+rbcxhe3M3jUDCNzc4D5zRl57sEWRAxdXYtw7FSQKYY6PDKssiAKjLYypbssHk+xs/kMXw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-3.0.2.tgz", + "integrity": "sha512-fBLFpmvDzlxdckwZRjM0wWtwDZ4KBtQ8NFqhrFKoEtK4myzuiumBuNTxD+F4cVbXfOZljIbrynmvByofDzT7Ag==", "dev": true, "requires": { - "@types/http-proxy": "^1.17.10", - "debug": "^4.3.4", + "@types/http-proxy": "^1.17.15", + "debug": "^4.3.6", "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.5" + "is-glob": "^4.0.3", + "is-plain-object": "^5.0.0", + "micromatch": "^4.0.8" }, "dependencies": { "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, "requires": { - "ms": "2.1.2" + "ms": "^2.1.3" } }, + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true + }, "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true } } @@ -30501,8 +32111,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true, - "requires": {} + "dev": true }, "ieee754": { "version": "1.2.1", @@ -30559,9 +32168,9 @@ "dev": true }, "immutable": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", - "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", + "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==", "dev": true }, "import-fresh": { @@ -30611,9 +32220,9 @@ "dev": true }, "ini": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.3.tgz", - "integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-5.0.0.tgz", + "integrity": "sha512-+N0ngpO3e7cRUWOJAS7qw0IZIVc6XPrW4MlFBdD066F2L4k1L6ker3hLqSq7iXxU5tgS4WGkIUElWn5vogAEnw==", "dev": true }, "injection-js": { @@ -30722,15 +32331,6 @@ "has-tostringtag": "^1.0.0" } }, - "is-builtin-module": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", - "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", - "dev": true, - "requires": { - "builtin-modules": "^3.3.0" - } - }, "is-bun-module": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-1.1.0.tgz", @@ -30790,7 +32390,8 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true }, "is-fullwidth-code-point": { "version": "3.0.0", @@ -30802,6 +32403,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, "requires": { "is-extglob": "^2.1.1" } @@ -30835,12 +32437,6 @@ "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", "dev": true }, - "is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", - "dev": true - }, "is-negative-zero": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", @@ -30856,7 +32452,8 @@ "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true }, "is-number-object": { "version": "1.0.7", @@ -31545,8 +33142,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-2.1.0.tgz", "integrity": "sha512-sPQE1+nlsn6Hwb5t+HHwyy0A1FNCVKuL1192b+XNauMYWThz2kweiBVW1DqloRpVvZIJkIoHVB7XRpK78n1xbQ==", - "dev": true, - "requires": {} + "dev": true }, "karma-junit-reporter": { "version": "2.0.1", @@ -31664,8 +33260,7 @@ "version": "12.2.0", "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-12.2.0.tgz", "integrity": "sha512-MYUxjSQSBUQmowc0l5nPieOYwMzGPUaTzB6inNW/bdPEG9zOL3eAAD1Qw5ZxSPk7we5dMojHwNODYMV1hq4EVg==", - "dev": true, - "requires": {} + "dev": true }, "levn": { "version": "0.4.1", @@ -31773,30 +33368,22 @@ } }, "lmdb": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.0.13.tgz", - "integrity": "sha512-UGe+BbaSUQtAMZobTb4nHvFMrmvuAQKSeaqAX2meTEQjfsbpl5sxdHD8T72OnwD4GU9uwNhYXIVe4QGs8N9Zyw==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.1.3.tgz", + "integrity": "sha512-WQcfSoOTw+XfBXQN4dRN1Ke5vv+NgmOWs4wH8oh4jYFmPZIaVPiQVF+0nGdjQDLGDcrMMyr2C34cG6WZPes6xQ==", "dev": true, "requires": { - "@lmdb/lmdb-darwin-arm64": "3.0.13", - "@lmdb/lmdb-darwin-x64": "3.0.13", - "@lmdb/lmdb-linux-arm": "3.0.13", - "@lmdb/lmdb-linux-arm64": "3.0.13", - "@lmdb/lmdb-linux-x64": "3.0.13", - "@lmdb/lmdb-win32-x64": "3.0.13", + "@lmdb/lmdb-darwin-arm64": "3.1.3", + "@lmdb/lmdb-darwin-x64": "3.1.3", + "@lmdb/lmdb-linux-arm": "3.1.3", + "@lmdb/lmdb-linux-arm64": "3.1.3", + "@lmdb/lmdb-linux-x64": "3.1.3", + "@lmdb/lmdb-win32-x64": "3.1.3", "msgpackr": "^1.10.2", "node-addon-api": "^6.1.0", "node-gyp-build-optional-packages": "5.2.2", "ordered-binary": "^1.4.1", "weak-lru-cache": "^1.2.2" - }, - "dependencies": { - "node-addon-api": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", - "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", - "dev": true - } } }, "loader-runner": { @@ -32180,9 +33767,9 @@ "dev": true }, "memfs": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.12.0.tgz", - "integrity": "sha512-74wDsex5tQDSClVkeK1vtxqYCAgCoXxx+K4NSHzgU/muYVYByFqa+0RnrPO9NM6naWm1+G9JmZ0p6QHhXmeYfA==", + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.11.1.tgz", + "integrity": "sha512-LZcMTBAgqUUKNXZagcZxvXXfgF1bHX7Y7nQ0QyEiNbRJgE29GhgPd8Yna1VQcLlPiHt/5RFJMWYN9Uv/VPNvjQ==", "dev": true, "requires": { "@jsonjoy.com/json-pack": "^1.0.3", @@ -32206,7 +33793,8 @@ "merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true }, "methods": { "version": "1.1.2", @@ -32218,6 +33806,7 @@ "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, "requires": { "braces": "^3.0.3", "picomatch": "^2.3.1" @@ -32257,9 +33846,9 @@ "dev": true }, "mini-css-extract-plugin": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.0.tgz", - "integrity": "sha512-Zs1YsZVfemekSZG+44vBsYTLQORkPMwnlv+aehcxK/NLKC+EGhDB39/YePYYqx/sTk6NnYpuqikhSn7+JIevTA==", + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.1.tgz", + "integrity": "sha512-+Vyi+GCCOHnrJ2VPS+6aPoXN2k2jgUzDRhTFLjjTBn23qyXJXkjUWQgTL+mXpF5/A8ixLdCc6kWsoeOjKGejKQ==", "dev": true, "requires": { "schema-utils": "^4.0.0", @@ -32521,7 +34110,8 @@ "nanoid": { "version": "3.3.7", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==" + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true }, "natural-compare": { "version": "1.4.0", @@ -32592,17 +34182,15 @@ "version": "14.13.1", "resolved": "https://registry.npmjs.org/ng-mocks/-/ng-mocks-14.13.1.tgz", "integrity": "sha512-eyfnjXeC108SqVD09i/cBwCpKkK0JjBoAg8jp7oQS2HS081K3WJTttFpgLGeLDYKmZsZ6nYpI+HHNQ3OksaJ7A==", - "dev": true, - "requires": {} + "dev": true }, "ng-packagr": { - "version": "18.2.1", - "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-18.2.1.tgz", - "integrity": "sha512-dy9ZDpZb3QpAz+Y/m8VAu7ctr2VrnRU3gmQwJagnNybVJtCsKn3lZA3IW7Z7GTLoG5IALSPouiCgiB/C8ozv7w==", + "version": "19.0.0-next.3", + "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-19.0.0-next.3.tgz", + "integrity": "sha512-KC+NDXIwwvYetiTzd+wgCA+7xIeFiKpevpDG7m883GX8SCq90mISVxFaNOtaYOeP0Hl0Zh85fS87GJaZGpGLog==", "dev": true, "requires": { "@rollup/plugin-json": "^6.1.0", - "@rollup/plugin-node-resolve": "^15.2.3", "@rollup/wasm-node": "^4.18.0", "ajv": "^8.12.0", "ansi-colors": "^4.1.3", @@ -32627,21 +34215,21 @@ }, "dependencies": { "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "requires": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" } }, "commander": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-12.0.0.tgz", - "integrity": "sha512-MwVNWlYjDTtOjX5PiD7o5pK0UrFU/OYgcJfjjK4RaHZETNtjJqrZa9Y9ds88+A+f+d5lv+561eZ+yCKoS3gbAA==", + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", "dev": true }, "convert-source-map": { @@ -32658,23 +34246,11 @@ } } }, - "nice-napi": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", - "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==", - "dev": true, - "optional": true, - "requires": { - "node-addon-api": "^3.0.0", - "node-gyp-build": "^4.2.2" - } - }, "node-addon-api": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", - "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", - "dev": true, - "optional": true + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", + "dev": true }, "node-forge": { "version": "1.3.1", @@ -32760,13 +34336,6 @@ } } }, - "node-gyp-build": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz", - "integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==", - "dev": true, - "optional": true - }, "node-gyp-build-optional-packages": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", @@ -32933,6 +34502,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "dev": true, "requires": { "boolbase": "^1.0.0" } @@ -33282,12 +34852,6 @@ "netmask": "^2.0.2" } }, - "package-json-from-dist": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", - "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", - "dev": true - }, "pacote": { "version": "18.0.6", "resolved": "https://registry.npmjs.org/pacote/-/pacote-18.0.6.tgz", @@ -33402,7 +34966,8 @@ "path-browserify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true }, "path-exists": { "version": "4.0.0", @@ -33511,12 +35076,14 @@ "picocolors": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", - "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==" + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "dev": true }, "picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true }, "pify": { "version": "2.3.0", @@ -33540,12 +35107,12 @@ } }, "piscina": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.6.1.tgz", - "integrity": "sha512-z30AwWGtQE+Apr+2WBZensP2lIvwoaMcOPkQlIEmSGMJNUvaYACylPYrQM6wSdUNJlnDVMSpLv7xTMJqlVshOA==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.7.0.tgz", + "integrity": "sha512-b8hvkpp9zS0zsfa939b/jXbe64Z2gZv0Ha7FYPNUiDIB1y2AtxcOZdfP8xN8HFjUaqQiT9gRlfjAsoL8vdJ1Iw==", "dev": true, "requires": { - "nice-napi": "^1.0.2" + "@napi-rs/nice": "^1.0.1" } }, "pkg-dir": { @@ -33570,13 +35137,14 @@ "dev": true }, "postcss": { - "version": "8.4.41", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", - "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "dev": true, "requires": { "nanoid": "^3.3.7", - "picocolors": "^1.0.1", - "source-map-js": "^1.2.0" + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" } }, "postcss-loader": { @@ -33604,14 +35172,14 @@ "postcss-media-query-parser": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", - "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==" + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "dev": true }, "postcss-modules-extract-imports": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", - "dev": true, - "requires": {} + "dev": true }, "postcss-modules-local-by-default": { "version": "4.0.5", @@ -34094,7 +35662,8 @@ "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true }, "randombytes": { "version": "2.1.0", @@ -34162,9 +35731,9 @@ } }, "reflect-metadata": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.1.tgz", - "integrity": "sha512-i5lLI6iw9AU3Uu4szRNPPEkomnkjRTaVt9hy/bn5g/oSzekBSMeLZblcjP74AW0vBabqERLLIrz+gR8QYR54Tw==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", + "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", "dev": true }, "regenerate": { @@ -34380,7 +35949,8 @@ "reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true }, "rfdc": { "version": "1.4.1", @@ -34433,6 +36003,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, "requires": { "queue-microtask": "^1.2.2" } @@ -34489,20 +36060,37 @@ "dev": true }, "sass": { - "version": "1.77.8", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.8.tgz", - "integrity": "sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==", + "version": "1.79.3", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.79.3.tgz", + "integrity": "sha512-m7dZxh0W9EZ3cw50Me5GOuYm/tVAJAn91SUnohLRo9cXBixGUOdvmryN+dXpwR831bhoY3Zv7rEFt85PUwTmzA==", "dev": true, "requires": { - "chokidar": ">=3.0.0 <4.0.0", + "chokidar": "^4.0.0", "immutable": "^4.0.0", "source-map-js": ">=0.6.2 <2.0.0" + }, + "dependencies": { + "chokidar": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", + "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", + "dev": true, + "requires": { + "readdirp": "^4.0.1" + } + }, + "readdirp": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.1.tgz", + "integrity": "sha512-GkMg9uOTpIWWKbSsgwb5fA4EavTR+SG/PMPoAY8hkhHfEEY0/vqljY+XHqtDf2cr2IJtoNRDbrrEpZUiZCkYRw==", + "dev": true + } } }, "sass-loader": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.0.tgz", - "integrity": "sha512-n13Z+3rU9A177dk4888czcVFiC8CL9dii4qpXWUg3YIIgZEvi9TCFKjOQcbK0kJM7DJu9VucrZFddvNfYCPwtw==", + "version": "16.0.2", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.2.tgz", + "integrity": "sha512-Ll6iXZ1EYwYT19SqW4mSBb76vSSi8JgzElmzIerhEGgzB5hRjDQIWsPmuk1UrAXkR16KJHqVY0eH+5/uw9Tmfw==", "dev": true, "requires": { "neo-async": "^2.6.2" @@ -35022,7 +36610,8 @@ "source-map-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==" + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true }, "source-map-loader": { "version": "5.0.0", @@ -35410,6 +36999,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "requires": { "has-flag": "^4.0.0" }, @@ -35417,7 +37007,8 @@ "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true } } }, @@ -35531,9 +37122,9 @@ } }, "terser": { - "version": "5.31.6", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.6.tgz", - "integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==", + "version": "5.33.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.33.0.tgz", + "integrity": "sha512-JuPVaB7s1gdFKPKTelwUyRq5Sid2A3Gko2S0PncwdBq7kN9Ti9HPWDQ06MPsEDGsZeVESjKEnyGy68quBk1w6g==", "dev": true, "requires": { "@jridgewell/source-map": "^0.3.3", @@ -35578,8 +37169,7 @@ "version": "1.21.0", "resolved": "https://registry.npmjs.org/thingies/-/thingies-1.21.0.tgz", "integrity": "sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==", - "dev": true, - "requires": {} + "dev": true }, "through": { "version": "2.3.8", @@ -35615,6 +37205,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, "requires": { "is-number": "^7.0.0" } @@ -35650,8 +37241,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.0.2.tgz", "integrity": "sha512-dpev9ABuLWdEubk+cIaI9cHwRNNDjkBBLXTwI4UCUFdQ5xXKqNXoK4FEciw/vxf+NQ7Cb7sGUyeUtORvHIdRXQ==", - "dev": true, - "requires": {} + "dev": true }, "tree-kill": { "version": "1.2.2", @@ -35663,18 +37253,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", - "dev": true, - "requires": {} - }, - "ts-morph": { - "version": "21.0.1", - "resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-21.0.1.tgz", - "integrity": "sha512-dbDtVdEAncKctzrVZ+Nr7kHpHkv+0JDJb2MjjpBaj8bFeCkePU9rHfMklmhuLFnpeq/EJZk2IhStY6NzqgjOkg==", - "peer": true, - "requires": { - "@ts-morph/common": "~0.22.0", - "code-block-writer": "^12.0.0" - } + "dev": true }, "ts-node": { "version": "10.9.2", @@ -35729,9 +37308,9 @@ } }, "tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==" }, "tuf-js": { "version": "2.2.1", @@ -36097,9 +37676,9 @@ } }, "vite": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.6.tgz", - "integrity": "sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==", + "version": "5.4.8", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.8.tgz", + "integrity": "sha512-FqrItQ4DT1NC4zCUqMB4c4AZORMKIa0m8/URVCZ77OZ/QSNeJ54bU1vrFADbDsuwfIPcgknRkmqakQcgnL4GiQ==", "dev": true, "requires": { "esbuild": "^0.21.3", @@ -36299,17 +37878,6 @@ "@esbuild/win32-ia32": "0.21.5", "@esbuild/win32-x64": "0.21.5" } - }, - "postcss": { - "version": "8.4.47", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", - "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", - "dev": true, - "requires": { - "nanoid": "^3.3.7", - "picocolors": "^1.1.0", - "source-map-js": "^1.2.1" - } } } }, @@ -36377,9 +37945,9 @@ } }, "watchpack": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", - "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", "dev": true, "requires": { "glob-to-regexp": "^0.4.1", @@ -36542,9 +38110,9 @@ } }, "webpack-dev-server": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.0.4.tgz", - "integrity": "sha512-dljXhUgx3HqKP2d8J/fUMvhxGhzjeNVarDLcbO/EWMSgRizDkxHQDZQaLFL5VJY9tRBj2Gz+rvCEYYvhbqPHNA==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.1.0.tgz", + "integrity": "sha512-aQpaN81X6tXie1FoOB7xlMfCsN19pSvRAeYUHOdFWOlhpQ/LlbfTqYwwmEDFV0h8GGuqmCmKmT+pxcUV/Nt2gQ==", "dev": true, "requires": { "@types/bonjour": "^3.5.13", @@ -36560,8 +38128,7 @@ "colorette": "^2.0.10", "compression": "^1.7.4", "connect-history-api-fallback": "^2.0.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", + "express": "^4.19.2", "graceful-fs": "^4.2.6", "html-entities": "^2.4.0", "http-proxy-middleware": "^2.0.3", @@ -36569,45 +38136,21 @@ "launch-editor": "^2.6.1", "open": "^10.0.3", "p-retry": "^6.2.0", - "rimraf": "^5.0.5", "schema-utils": "^4.2.0", "selfsigned": "^2.4.1", "serve-index": "^1.9.1", "sockjs": "^0.3.24", "spdy": "^4.0.2", - "webpack-dev-middleware": "^7.1.0", - "ws": "^8.16.0" + "webpack-dev-middleware": "^7.4.2", + "ws": "^8.18.0" }, "dependencies": { - "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, "define-lazy-prop": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", "dev": true }, - "glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "dev": true, - "requires": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - } - }, "http-proxy-middleware": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", @@ -36630,25 +38173,6 @@ "is-inside-container": "^1.0.0" } }, - "jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "dev": true, - "requires": { - "@isaacs/cliui": "^8.0.2", - "@pkgjs/parseargs": "^0.11.0" - } - }, - "minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - }, "open": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", @@ -36661,14 +38185,11 @@ "is-wsl": "^3.1.0" } }, - "rimraf": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.10.tgz", - "integrity": "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==", - "dev": true, - "requires": { - "glob": "^10.3.7" - } + "ws": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "dev": true } } }, @@ -36926,8 +38447,12 @@ "version": "8.17.1", "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", - "dev": true, - "requires": {} + "dev": true + }, + "xhr2": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/xhr2/-/xhr2-0.2.1.tgz", + "integrity": "sha512-sID0rrVCqkVNUn8t6xuv9+6FViXjUVXq8H5rWOH2rz9fDNQEd4g0EA2XlcEdJXRz5BMEn4O1pJFdT+z4YHhoWw==" }, "xml2js": { "version": "0.4.23", @@ -37030,9 +38555,9 @@ "dev": true }, "zone.js": { - "version": "0.14.10", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.14.10.tgz", - "integrity": "sha512-YGAhaO7J5ywOXW6InXNlLmfU194F8lVgu7bRntUF3TiG8Y3nBK0x1UJJuHUP/e8IyihkjCYqhCScpSwnlaSRkQ==" + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.15.0.tgz", + "integrity": "sha512-9oxn0IIjbCZkJ67L+LkhYWRyAy7axphb3VgE2MBDlOqnmHMPWGYMxJxBYFueFq/JGY2GMwS0rU+UCLunEmy5UA==" } } } diff --git a/package.json b/package.json index 7c2e4361..feca27f6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@dynamic-forms/common", - "version": "18.1.0", + "version": "19.0.0-next.0", "author": "dynamic-forms", "description": "dynamic-forms is an Angular project for dynamic forms based on JSON.", "keywords": [ @@ -55,27 +55,28 @@ "serve:doc:bootstrap": "cd libs/bootstrap && npx compodoc -c doc.json --serve --watch", "serve:doc:material": "cd libs/material && npx compodoc -c doc.json --serve --watch", "serve:doc:markdown": "cd libs/markdown && npx compodoc -c doc.json --serve --watch", - "build:localhost": "npm run build:libs && npm run cover:libs && npm run doc:libs && npm run build:demo -- --base-href=/v18/", - "build:localhost:prod": "npm run build:libs && npm run cover:libs && npm run doc:libs && npm run build:demo:prod -- --base-href=/v18/", - "publish:core": "cd dist/v18/@dynamic-forms/core && npm publish --access public", - "publish:bootstrap": "cd dist/v18/@dynamic-forms/bootstrap && npm publish --access public", - "publish:material": "cd dist/v18/@dynamic-forms/material && npm publish --access public", - "publish:markdown": "cd dist/v18/@dynamic-forms/markdown && npm publish --access public", + "build:localhost": "npm run build:libs && npm run cover:libs && npm run doc:libs && npm run build:demo -- --base-href=/v19/", + "build:localhost:prod": "npm run build:libs && npm run cover:libs && npm run doc:libs && npm run build:demo:prod -- --base-href=/v19/", + "publish:core": "cd dist/v19/@dynamic-forms/core && npm publish --access public", + "publish:bootstrap": "cd dist/v19/@dynamic-forms/bootstrap && npm publish --access public", + "publish:material": "cd dist/v19/@dynamic-forms/material && npm publish --access public", + "publish:markdown": "cd dist/v19/@dynamic-forms/markdown && npm publish --access public", "publish:libs": "npm run publish:core && npm run publish:bootstrap && npm run publish:material && npm run publish:markdown" }, "private": true, "dependencies": { - "@angular/animations": "^18.2.6", - "@angular/cdk": "^18.2.6", - "@angular/common": "^18.2.6", - "@angular/compiler": "^18.2.6", - "@angular/core": "^18.2.6", - "@angular/forms": "^18.2.6", - "@angular/material": "^18.2.6", - "@angular/platform-browser": "^18.2.6", - "@angular/platform-browser-dynamic": "^18.2.6", - "@angular/router": "^18.2.6", - "@angular/ssr": "^18.2.6", + "@angular/animations": "^19.0.0-next.7", + "@angular/cdk": "^19.0.0-next.6", + "@angular/common": "^19.0.0-next.7", + "@angular/compiler": "^19.0.0-next.7", + "@angular/core": "^19.0.0-next.7", + "@angular/forms": "^19.0.0-next.7", + "@angular/material": "^19.0.0-next.6", + "@angular/platform-browser": "^19.0.0-next.7", + "@angular/platform-browser-dynamic": "^19.0.0-next.7", + "@angular/platform-server": "^19.0.0-next.7", + "@angular/router": "^19.0.0-next.7", + "@angular/ssr": "^19.0.0-next.8", "@ngxs/storage-plugin": "^18.1.1", "@ngxs/store": "^18.1.1", "bootstrap": "^5.2.3", @@ -85,30 +86,30 @@ "rxjs": "^7.4.0", "tslib": "^2.6.3", "uuid": "^10.0.0", - "zone.js": "~0.14.10" + "zone.js": "~0.15.0" }, "devDependencies": { - "@angular-devkit/build-angular": "^18.2.6", - "@angular-devkit/core": "^18.2.6", - "@angular-devkit/schematics": "^18.2.6", + "@angular-devkit/build-angular": "^19.0.0-next.8", + "@angular-devkit/core": "^19.0.0-next.8", + "@angular-devkit/schematics": "^19.0.0-next.8", "@angular-eslint/builder": "^18.3.1", "@angular-eslint/eslint-plugin": "^18.3.1", "@angular-eslint/eslint-plugin-template": "^18.3.1", "@angular-eslint/schematics": "^18.3.1", "@angular-eslint/template-parser": "^18.3.1", - "@angular/cli": "^18.2.6", - "@angular/compiler-cli": "^18.2.6", - "@angular/language-service": "^18.2.6", + "@angular/cli": "^19.0.0-next.8", + "@angular/compiler-cli": "^19.0.0-next.7", + "@angular/language-service": "^19.0.0-next.7", "@compodoc/compodoc": "^1.1.25", "@types/inputmask": "^5.0.7", "@types/jasmine": "~5.1.4", "@types/jasminewd2": "~2.0.13", - "@types/node": "~22.7.3", + "@types/node": "~22.7.4", "@types/uuid": "^10.0.0", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@typescript-eslint/utils": "^7.18.0", - "chromedriver": "^129.0.0", + "chromedriver": "^129.0.1", "eslint": "^8.57.1", "eslint-config-prettier": "^9.1.0", "eslint-import-resolver-typescript": "^3.6.3", @@ -126,7 +127,7 @@ "karma-jasmine-html-reporter": "^2.1.0", "karma-junit-reporter": "^2.0.1", "ng-mocks": "^14.13.1", - "ng-packagr": "^18.2.1", + "ng-packagr": "^19.0.0-next.3", "prettier": "^3.3.3", "prettier-eslint": "^16.3.0", "protractor": "~7.0.0", diff --git a/tsconfig.json b/tsconfig.json index cf958931..6455b5b8 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -26,25 +26,25 @@ ], "paths": { "@dynamic-forms/core": [ - "dist/v18/@dynamic-forms/core" + "dist/v19/@dynamic-forms/core" ], "@dynamic-forms/core/input-mask": [ - "dist/v18/@dynamic-forms/core/input-mask" + "dist/v19/@dynamic-forms/core/input-mask" ], "@dynamic-forms/bootstrap": [ - "dist/v18/@dynamic-forms/bootstrap" + "dist/v19/@dynamic-forms/bootstrap" ], "@dynamic-forms/bootstrap/input-mask": [ - "dist/v18/@dynamic-forms/bootstrap/input-mask" + "dist/v19/@dynamic-forms/bootstrap/input-mask" ], "@dynamic-forms/material": [ - "dist/v18/@dynamic-forms/material" + "dist/v19/@dynamic-forms/material" ], "@dynamic-forms/material/input-mask": [ - "dist/v18/@dynamic-forms/material/input-mask" + "dist/v19/@dynamic-forms/material/input-mask" ], "@dynamic-forms/markdown": [ - "dist/v18/@dynamic-forms/markdown" + "dist/v19/@dynamic-forms/markdown" ] }, "useDefineForClassFields": false From c83bebcc728706e8c9d8b95b2e542cb0545cbe2d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 10 Oct 2024 14:18:19 +0000 Subject: [PATCH 02/20] Bump cookie, socket.io and express Bumps [cookie](https://github.com/jshttp/cookie), [socket.io](https://github.com/socketio/socket.io) and [express](https://github.com/expressjs/express). These dependencies needed to be updated together. Updates `cookie` from 0.4.2 to 0.7.2 - [Release notes](https://github.com/jshttp/cookie/releases) - [Commits](https://github.com/jshttp/cookie/compare/v0.4.2...v0.7.2) Updates `socket.io` from 4.7.4 to 4.8.0 - [Release notes](https://github.com/socketio/socket.io/releases) - [Changelog](https://github.com/socketio/socket.io/blob/main/CHANGELOG.md) - [Commits](https://github.com/socketio/socket.io/compare/4.7.4...socket.io@4.8.0) Updates `express` from 4.21.0 to 4.21.1 - [Release notes](https://github.com/expressjs/express/releases) - [Changelog](https://github.com/expressjs/express/blob/4.21.1/History.md) - [Commits](https://github.com/expressjs/express/compare/4.21.0...4.21.1) --- updated-dependencies: - dependency-name: cookie dependency-type: indirect - dependency-name: socket.io dependency-type: indirect - dependency-name: express dependency-type: indirect ... Signed-off-by: dependabot[bot] --- package-lock.json | 115 ++++++++++++++++++++++------------------------ 1 file changed, 56 insertions(+), 59 deletions(-) diff --git a/package-lock.json b/package-lock.json index d3a5a1f9..8f91ebb1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8874,9 +8874,9 @@ } }, "node_modules/cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", "dev": true, "engines": { "node": ">= 0.6" @@ -9883,18 +9883,17 @@ } }, "node_modules/engine.io": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.5.tgz", - "integrity": "sha512-C5Pn8Wk+1vKBoHghJODM63yk8MvrO9EWZUfkAt5HAqIgPE4/8FF0PEGHXtEd40l223+cE5ABWuPzm38PHFXfMA==", + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.2.tgz", + "integrity": "sha512-gmNvsYi9C8iErnZdVcJnvCpSKbWTt1E8+JZo8b+daLninywUWi5NQ5STSHZ9rFjFO7imNcvb8Pc5pe/wMR5xEw==", "dev": true, - "license": "MIT", "dependencies": { "@types/cookie": "^0.4.1", "@types/cors": "^2.8.12", "@types/node": ">=10.0.0", "accepts": "~1.3.4", "base64id": "2.0.0", - "cookie": "~0.4.1", + "cookie": "~0.7.2", "cors": "~2.8.5", "debug": "~4.3.1", "engine.io-parser": "~5.2.1", @@ -9905,21 +9904,21 @@ } }, "node_modules/engine.io-parser": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.2.tgz", - "integrity": "sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", + "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", "dev": true, "engines": { "node": ">=10.0.0" } }, "node_modules/engine.io/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -9931,9 +9930,9 @@ } }, "node_modules/engine.io/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, "node_modules/enhanced-resolve": { @@ -11154,18 +11153,17 @@ "dev": true }, "node_modules/express": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz", - "integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz", + "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==", "dev": true, - "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.6.0", + "cookie": "0.7.1", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", @@ -11197,11 +11195,10 @@ } }, "node_modules/express/node_modules/cookie": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } @@ -18719,16 +18716,16 @@ } }, "node_modules/socket.io": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.4.tgz", - "integrity": "sha512-DcotgfP1Zg9iP/dH9zvAQcWrE0TtbMVwXmlV4T4mqsvY+gw+LqUGPfx2AoVyRk0FLME+GQhufDMyacFmw7ksqw==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.0.tgz", + "integrity": "sha512-8U6BEgGjQOfGz3HHTYaC/L1GaxDCJ/KM0XTkJly0EhZ5U/du9uNEZy4ZgYzEzIqlx2CMm25CrCqr1ck899eLNA==", "dev": true, "dependencies": { "accepts": "~1.3.4", "base64id": "~2.0.0", "cors": "~2.8.5", "debug": "~4.3.2", - "engine.io": "~6.5.2", + "engine.io": "~6.6.0", "socket.io-adapter": "~2.5.2", "socket.io-parser": "~4.2.4" }, @@ -27810,9 +27807,9 @@ } }, "cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", "dev": true }, "cookie-signature": { @@ -28537,9 +28534,9 @@ } }, "engine.io": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.5.tgz", - "integrity": "sha512-C5Pn8Wk+1vKBoHghJODM63yk8MvrO9EWZUfkAt5HAqIgPE4/8FF0PEGHXtEd40l223+cE5ABWuPzm38PHFXfMA==", + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.2.tgz", + "integrity": "sha512-gmNvsYi9C8iErnZdVcJnvCpSKbWTt1E8+JZo8b+daLninywUWi5NQ5STSHZ9rFjFO7imNcvb8Pc5pe/wMR5xEw==", "dev": true, "requires": { "@types/cookie": "^0.4.1", @@ -28547,7 +28544,7 @@ "@types/node": ">=10.0.0", "accepts": "~1.3.4", "base64id": "2.0.0", - "cookie": "~0.4.1", + "cookie": "~0.7.2", "cors": "~2.8.5", "debug": "~4.3.1", "engine.io-parser": "~5.2.1", @@ -28555,26 +28552,26 @@ }, "dependencies": { "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, "requires": { - "ms": "2.1.2" + "ms": "^2.1.3" } }, "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true } } }, "engine.io-parser": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.2.tgz", - "integrity": "sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", + "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", "dev": true }, "enhanced-resolve": { @@ -29443,9 +29440,9 @@ "dev": true }, "express": { - "version": "4.21.0", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz", - "integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz", + "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==", "dev": true, "requires": { "accepts": "~1.3.8", @@ -29453,7 +29450,7 @@ "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.6.0", + "cookie": "0.7.1", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", @@ -29482,9 +29479,9 @@ }, "dependencies": { "cookie": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", "dev": true }, "depd": { @@ -34871,16 +34868,16 @@ "dev": true }, "socket.io": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.4.tgz", - "integrity": "sha512-DcotgfP1Zg9iP/dH9zvAQcWrE0TtbMVwXmlV4T4mqsvY+gw+LqUGPfx2AoVyRk0FLME+GQhufDMyacFmw7ksqw==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.0.tgz", + "integrity": "sha512-8U6BEgGjQOfGz3HHTYaC/L1GaxDCJ/KM0XTkJly0EhZ5U/du9uNEZy4ZgYzEzIqlx2CMm25CrCqr1ck899eLNA==", "dev": true, "requires": { "accepts": "~1.3.4", "base64id": "~2.0.0", "cors": "~2.8.5", "debug": "~4.3.2", - "engine.io": "~6.5.2", + "engine.io": "~6.6.0", "socket.io-adapter": "~2.5.2", "socket.io-parser": "~4.2.4" }, From 4f8494169e88d47500ccca02807fc6e01195eade Mon Sep 17 00:00:00 2001 From: Alexander Gebuhr Date: Mon, 4 Nov 2024 09:32:53 +0100 Subject: [PATCH 03/20] Update of angular --- apps/demo/src/app/app.service.ts | 5 - apps/demo/src/main.ts | 11 +- libs/bootstrap/package.json | 6 +- .../lib/dynamic-form-input-mask-base.spec.ts | 2 +- .../dynamic-form-input-mask.directive.spec.ts | 4 +- libs/core/package.json | 6 +- .../dynamic-form-file-base.spec.ts | 2 +- libs/markdown/package.json | 4 +- libs/material/package.json | 8 +- package-lock.json | 2032 ++++++++--------- package.json | 44 +- 11 files changed, 1028 insertions(+), 1096 deletions(-) diff --git a/apps/demo/src/app/app.service.ts b/apps/demo/src/app/app.service.ts index 29453c80..bc64395c 100644 --- a/apps/demo/src/app/app.service.ts +++ b/apps/demo/src/app/app.service.ts @@ -22,8 +22,3 @@ export class AppService { this.iconService.register(); } } - -export const appInitializer = - (appService: AppService): (() => void) => - () => - appService.init(); diff --git a/apps/demo/src/main.ts b/apps/demo/src/main.ts index 47337261..5c407e74 100644 --- a/apps/demo/src/main.ts +++ b/apps/demo/src/main.ts @@ -1,5 +1,5 @@ import { HTTP_INTERCEPTORS, provideHttpClient } from '@angular/common/http'; -import { APP_INITIALIZER, enableProdMode } from '@angular/core'; +import { enableProdMode, inject, provideAppInitializer } from '@angular/core'; import { bootstrapApplication } from '@angular/platform-browser'; import { provideAnimations } from '@angular/platform-browser/animations'; import { provideRouter, withComponentInputBinding } from '@angular/router'; @@ -7,7 +7,7 @@ import { provideStore } from '@ngxs/store'; import { appStateFeatures, appStateOptions, appStates } from './app/app-states'; import { AppComponent } from './app/app.component'; import { appRoutes } from './app/app.routes'; -import { AppService, appInitializer } from './app/app.service'; +import { AppService } from './app/app.service'; import { HttpRequestInterceptor } from './app/services/http-request.interceptor'; import { environment } from './environments/environment'; @@ -21,12 +21,7 @@ bootstrapApplication(AppComponent, { provideHttpClient(), provideRouter(appRoutes, withComponentInputBinding()), provideStore(appStates, appStateOptions, ...appStateFeatures), - { - provide: APP_INITIALIZER, - useFactory: appInitializer, - deps: [AppService], - multi: true, - }, + provideAppInitializer(() => inject(AppService).init()), { provide: HTTP_INTERCEPTORS, useClass: HttpRequestInterceptor, diff --git a/libs/bootstrap/package.json b/libs/bootstrap/package.json index 6e034347..51d9413d 100644 --- a/libs/bootstrap/package.json +++ b/libs/bootstrap/package.json @@ -21,9 +21,9 @@ "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/common": "^18.0.0", - "@angular/core": "^18.0.0", - "@angular/forms": "^18.0.0", + "@angular/common": "^19.0.0-rc.0", + "@angular/core": "^19.0.0-rc.0", + "@angular/forms": "^19.0.0-rc.0", "@dynamic-forms/core": "19.0.0-next.0", "bootstrap": "^5.2.3", "inputmask": "^5.0.8", diff --git a/libs/core/input-mask/src/lib/dynamic-form-input-mask-base.spec.ts b/libs/core/input-mask/src/lib/dynamic-form-input-mask-base.spec.ts index 00fc3873..66e4ecb0 100644 --- a/libs/core/input-mask/src/lib/dynamic-form-input-mask-base.spec.ts +++ b/libs/core/input-mask/src/lib/dynamic-form-input-mask-base.spec.ts @@ -16,8 +16,8 @@ import { DynamicFormInputMaskConverterService } from './dynamic-form-input-mask- import { DynamicFormInputMaskDirective } from './dynamic-form-input-mask.directive'; @Component({ - selector: 'dynamic-form-input-mask-test', standalone: true, + selector: 'dynamic-form-input-mask-test', template: ``, imports: [ReactiveFormsModule, DynamicFormInputMaskDirective], }) diff --git a/libs/core/input-mask/src/lib/dynamic-form-input-mask.directive.spec.ts b/libs/core/input-mask/src/lib/dynamic-form-input-mask.directive.spec.ts index 14b89f97..10e1788f 100644 --- a/libs/core/input-mask/src/lib/dynamic-form-input-mask.directive.spec.ts +++ b/libs/core/input-mask/src/lib/dynamic-form-input-mask.directive.spec.ts @@ -20,16 +20,16 @@ export abstract class DynamicFormInputMaskTestComponentBase { } @Component({ - selector: 'dynamic-form-input-mask-test', standalone: true, + selector: 'dynamic-form-input-mask-test', template: '', imports: [DynamicFormInputMaskDirective, ReactiveFormsModule], }) export class DynamicFormInputMaskTestComponent extends DynamicFormInputMaskTestComponentBase {} @Component({ - selector: 'dynamic-form-input-mask-test-without-form-control', standalone: true, + selector: 'dynamic-form-input-mask-test-without-form-control', template: '', imports: [DynamicFormInputMaskDirective], }) diff --git a/libs/core/package.json b/libs/core/package.json index 17113052..c9ba3873 100644 --- a/libs/core/package.json +++ b/libs/core/package.json @@ -21,9 +21,9 @@ "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/common": "^18.0.0", - "@angular/core": "^18.0.0", - "@angular/forms": "^18.0.0", + "@angular/common": "^19.0.0-rc.0", + "@angular/core": "^19.0.0-rc.0", + "@angular/forms": "^19.0.0-rc.0", "bootstrap": "^5.2.3", "inputmask": "^5.0.8", "rxjs": "^7.4.0" diff --git a/libs/core/src/lib/dynamic-form-input/dynamic-form-file/dynamic-form-file-base.spec.ts b/libs/core/src/lib/dynamic-form-input/dynamic-form-file/dynamic-form-file-base.spec.ts index 9d53e83b..9c90ebb7 100644 --- a/libs/core/src/lib/dynamic-form-input/dynamic-form-file/dynamic-form-file-base.spec.ts +++ b/libs/core/src/lib/dynamic-form-input/dynamic-form-file/dynamic-form-file-base.spec.ts @@ -14,8 +14,8 @@ import { DynamicFormFileBase } from './dynamic-form-file-base'; import { DynamicFormFileDirective } from './dynamic-form-file.directive'; @Component({ - selector: 'dynamic-form-file-test', standalone: true, + selector: 'dynamic-form-file-test', template: ``, imports: [ReactiveFormsModule, DynamicFormFileDirective], }) diff --git a/libs/markdown/package.json b/libs/markdown/package.json index cddf931b..9a84a631 100644 --- a/libs/markdown/package.json +++ b/libs/markdown/package.json @@ -21,8 +21,8 @@ "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/common": "^18.0.0", - "@angular/core": "^18.0.0", + "@angular/common": "^19.0.0-rc.0", + "@angular/core": "^19.0.0-rc.0", "@dynamic-forms/core": "19.0.0-next.0", "marked": "^14.0.0", "rxjs": "^7.4.0" diff --git a/libs/material/package.json b/libs/material/package.json index 73cd6f70..5bdd52b8 100644 --- a/libs/material/package.json +++ b/libs/material/package.json @@ -21,10 +21,10 @@ "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/common": "^18.0.0", - "@angular/core": "^18.0.0", - "@angular/forms": "^18.0.0", - "@angular/material": "^18.0.0", + "@angular/common": "^19.0.0-rc.0", + "@angular/core": "^19.0.0-rc.0", + "@angular/forms": "^19.0.0-rc.0", + "@angular/material": "^19.0.0-rc.0", "@dynamic-forms/core": "19.0.0-next.0", "bootstrap": "^5.2.3", "inputmask": "^5.0.8", diff --git a/package-lock.json b/package-lock.json index cb6ae787..338fe71e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,18 +9,18 @@ "version": "19.0.0-next.0", "license": "MIT", "dependencies": { - "@angular/animations": "^19.0.0-next.11", - "@angular/cdk": "^19.0.0-next.10", - "@angular/common": "^19.0.0-next.11", - "@angular/compiler": "^19.0.0-next.11", - "@angular/core": "^19.0.0-next.11", - "@angular/forms": "^19.0.0-next.11", - "@angular/material": "^19.0.0-next.10", - "@angular/platform-browser": "^19.0.0-next.11", - "@angular/platform-browser-dynamic": "^19.0.0-next.11", - "@angular/platform-server": "^19.0.0-next.11", - "@angular/router": "^19.0.0-next.11", - "@angular/ssr": "^19.0.0-next.13", + "@angular/animations": "^19.0.0-rc.1", + "@angular/cdk": "^19.0.0-rc.1", + "@angular/common": "^19.0.0-rc.1", + "@angular/compiler": "^19.0.0-rc.1", + "@angular/core": "^19.0.0-rc.1", + "@angular/forms": "^19.0.0-rc.1", + "@angular/material": "^19.0.0-rc.1", + "@angular/platform-browser": "^19.0.0-rc.1", + "@angular/platform-browser-dynamic": "^19.0.0-rc.1", + "@angular/platform-server": "^19.0.0-rc.1", + "@angular/router": "^19.0.0-rc.1", + "@angular/ssr": "^19.0.0-rc.1", "@ngxs/storage-plugin": "^18.1.4", "@ngxs/store": "^18.1.4", "bootstrap": "^5.2.3", @@ -29,31 +29,31 @@ "monaco-editor": "^0.51.0", "rxjs": "^7.4.0", "tslib": "^2.6.3", - "uuid": "^11.0.2", + "uuid": "^11.0.3", "zone.js": "~0.15.0" }, "devDependencies": { - "@angular-devkit/build-angular": "^19.0.0-next.13", - "@angular-devkit/core": "^19.0.0-next.13", - "@angular-devkit/schematics": "^19.0.0-next.13", + "@angular-devkit/build-angular": "^19.0.0-rc.1", + "@angular-devkit/core": "^19.0.0-rc.1", + "@angular-devkit/schematics": "^19.0.0-rc.1", "@angular-eslint/builder": "^18.4.0", "@angular-eslint/eslint-plugin": "^18.4.0", "@angular-eslint/eslint-plugin-template": "^18.4.0", "@angular-eslint/schematics": "^18.4.0", "@angular-eslint/template-parser": "^18.4.0", - "@angular/cli": "^19.0.0-next.13", - "@angular/compiler-cli": "^19.0.0-next.11", - "@angular/language-service": "^19.0.0-next.11", + "@angular/cli": "^19.0.0-rc.1", + "@angular/compiler-cli": "^19.0.0-rc.1", + "@angular/language-service": "^19.0.0-rc.1", "@compodoc/compodoc": "^1.1.26", "@types/inputmask": "^5.0.7", "@types/jasmine": "~5.1.4", "@types/jasminewd2": "~2.0.13", - "@types/node": "~22.8.4", + "@types/node": "~22.9.0", "@types/uuid": "^10.0.0", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@typescript-eslint/utils": "^7.18.0", - "chromedriver": "^130.0.1", + "chromedriver": "^130.0.4", "eslint": "^8.57.1", "eslint-config-prettier": "^9.1.0", "eslint-import-resolver-typescript": "^3.6.3", @@ -71,7 +71,7 @@ "karma-jasmine-html-reporter": "^2.1.0", "karma-junit-reporter": "^2.0.1", "ng-mocks": "^14.13.1", - "ng-packagr": "^19.0.0-next.7", + "ng-packagr": "^19.0.0-rc.0", "prettier": "^3.3.3", "prettier-eslint": "^16.3.0", "protractor": "~7.0.0", @@ -100,13 +100,13 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.1900.0-next.13", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1900.0-next.13.tgz", - "integrity": "sha512-Vv2Ts6xDDBBp7an+NGJI/SH5xZI9cvzZzxkTr2Or4klF/pD0EIFb5o8YdfD+mXiAQLZ1jKY07DOa/r6Hu1svRQ==", + "version": "0.1900.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1900.0-rc.1.tgz", + "integrity": "sha512-rGSNZUouoxdrrEqST4LJm/8zUWR6GFhT/hCDfyVusKx9SzBDTE+IQZ4ZJn/S9fZbwjaoIQqfHxUnNWoQMma6jQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "19.0.0-next.13", + "@angular-devkit/core": "19.0.0-rc.1", "rxjs": "7.8.1" }, "engines": { @@ -116,28 +116,28 @@ } }, "node_modules/@angular-devkit/build-angular": { - "version": "19.0.0-next.13", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-19.0.0-next.13.tgz", - "integrity": "sha512-FkfsIwYn2zW/adJrqPbbFVosOBlMQWCB1GSZpKT3w5R3NA6NBxVaBwkHONyE9fVZhOKcH8Ob59KeW+l9EN2aWA==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-19.0.0-rc.1.tgz", + "integrity": "sha512-gC3UiZbcWurdm0KQz7Ot5hQx55/nQjH9apMzFFTTRCG+adBDknFQAcIRD8teMxTZcmh1tscl2GsPl38fmWCrZw==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1900.0-next.13", - "@angular-devkit/build-webpack": "0.1900.0-next.13", - "@angular-devkit/core": "19.0.0-next.13", - "@angular/build": "19.0.0-next.13", - "@babel/core": "7.25.9", - "@babel/generator": "7.25.9", + "@angular-devkit/architect": "0.1900.0-rc.1", + "@angular-devkit/build-webpack": "0.1900.0-rc.1", + "@angular-devkit/core": "19.0.0-rc.1", + "@angular/build": "19.0.0-rc.1", + "@babel/core": "7.26.0", + "@babel/generator": "7.26.2", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", "@babel/plugin-transform-async-generator-functions": "7.25.9", "@babel/plugin-transform-async-to-generator": "7.25.9", "@babel/plugin-transform-runtime": "7.25.9", - "@babel/preset-env": "7.25.9", - "@babel/runtime": "7.25.9", - "@discoveryjs/json-ext": "0.6.2", - "@ngtools/webpack": "19.0.0-next.13", + "@babel/preset-env": "7.26.0", + "@babel/runtime": "7.26.0", + "@discoveryjs/json-ext": "0.6.3", + "@ngtools/webpack": "19.0.0-rc.1", "@vitejs/plugin-basic-ssl": "1.1.0", "ansi-colors": "4.1.3", "autoprefixer": "10.4.20", @@ -155,7 +155,7 @@ "less-loader": "12.2.0", "license-webpack-plugin": "4.0.2", "loader-utils": "3.3.1", - "mini-css-extract-plugin": "2.9.1", + "mini-css-extract-plugin": "2.9.2", "open": "10.1.0", "ora": "5.4.1", "picomatch": "4.0.2", @@ -164,15 +164,15 @@ "postcss-loader": "8.1.1", "resolve-url-loader": "5.0.0", "rxjs": "7.8.1", - "sass": "1.80.3", - "sass-loader": "16.0.2", + "sass": "1.80.6", + "sass-loader": "16.0.3", "semver": "7.6.3", "source-map-loader": "5.0.0", "source-map-support": "0.5.21", "terser": "5.36.0", "tree-kill": "1.2.2", - "tslib": "2.8.0", - "webpack": "5.95.0", + "tslib": "2.8.1", + "webpack": "5.96.1", "webpack-dev-middleware": "7.4.2", "webpack-dev-server": "5.1.0", "webpack-merge": "6.0.1", @@ -191,7 +191,7 @@ "@angular/localize": "^19.0.0-next.0", "@angular/platform-server": "^19.0.0-next.0", "@angular/service-worker": "^19.0.0-next.0", - "@angular/ssr": "^19.0.0-next.13", + "@angular/ssr": "^19.0.0-rc.1", "@web/test-runner": "^0.19.0", "browser-sync": "^3.0.2", "jest": "^29.5.0", @@ -241,72 +241,6 @@ } } }, - "node_modules/@angular-devkit/build-angular/node_modules/@babel/core": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.9.tgz", - "integrity": "sha512-WYvQviPw+Qyib0v92AwNIrdLISTp7RfDkM7bPqBvpbnhY4wq8HvHBZREVdYDXk98C8BkOIVnHAY3yvj7AVISxQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.25.9", - "@babel/generator": "^7.25.9", - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-module-transforms": "^7.25.9", - "@babel/helpers": "^7.25.9", - "@babel/parser": "^7.25.9", - "@babel/template": "^7.25.9", - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@angular-devkit/build-angular/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/@angular-devkit/build-angular/node_modules/define-lazy-prop": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", @@ -353,13 +287,6 @@ "node": ">=10" } }, - "node_modules/@angular-devkit/build-angular/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, "node_modules/@angular-devkit/build-angular/node_modules/open": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", @@ -406,13 +333,13 @@ } }, "node_modules/@angular-devkit/build-webpack": { - "version": "0.1900.0-next.13", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1900.0-next.13.tgz", - "integrity": "sha512-R5ekESPf9RDXRc/MYoHZtJ0cswD5ALs+7k/80ILJ1mn+a0dfQHQEBE46PH6oWTIuBeOQFt83NhaG5qeinabf3g==", + "version": "0.1900.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1900.0-rc.1.tgz", + "integrity": "sha512-848B3sav/e9Qh8+rHekBeeJ+9TxWlAnF8NCOieB672b73VvMFbJMb449P/9EO9NGt/MnFgmU52oPTspB4OOekg==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.1900.0-next.13", + "@angular-devkit/architect": "0.1900.0-rc.1", "rxjs": "7.8.1" }, "engines": { @@ -426,9 +353,9 @@ } }, "node_modules/@angular-devkit/core": { - "version": "19.0.0-next.13", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.0.0-next.13.tgz", - "integrity": "sha512-DTvR8UVS12AdhnnHN5+0prYPOlXFYfqyuQ5GoX6W+DU8FIyhm/5tP9cFHMLC9sltoxSV42GrApjjiwRjmVz7vw==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.0.0-rc.1.tgz", + "integrity": "sha512-o5PGugUaQkUETHGqz700Zt1xMIynPbrIW5tfezy30/HjOJy/CPJzIsnwupLpQ95sDV2YeJsYJrF5rEVxigZBEQ==", "dev": true, "license": "MIT", "dependencies": { @@ -509,13 +436,13 @@ } }, "node_modules/@angular-devkit/schematics": { - "version": "19.0.0-next.13", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-19.0.0-next.13.tgz", - "integrity": "sha512-/ZNtby4Emuu7mKQpT3LBZxjziVkd8hxHhouWxts0D3J7l/6nMr4UcVstY8GcdFTCsmF98RaEAPpL0p1Mb4s0vg==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-19.0.0-rc.1.tgz", + "integrity": "sha512-06cEyXFIEOqfBwqHQFCzE2NtyCE8bdm3Ky5ZZaUsxmg0L09llEj+DIUYhS+0CqXH+074Yik9ghgFJXf3UIxRCQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "19.0.0-next.13", + "@angular-devkit/core": "19.0.0-rc.1", "jsonc-parser": "3.3.1", "magic-string": "0.30.12", "ora": "5.4.1", @@ -669,9 +596,9 @@ } }, "node_modules/@angular/animations": { - "version": "19.0.0-next.11", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-19.0.0-next.11.tgz", - "integrity": "sha512-8L9h72pjYBdlhYfKNL5SFq7CHZwk71mkpCFmw0dS1B8z+dt3KmWoqIi6WfWuqtzuIuOyPfDUi1JSNz/imb2fZA==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-19.0.0-rc.1.tgz", + "integrity": "sha512-q/w1C0f9ZmpKA0LSYIwnHu9n875rXGWKZDy6MmAsYC2enhsMIqqWJmIvT+EJghhGX+Tv8u/3KejWNaR0OGeQqQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -680,26 +607,26 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "19.0.0-next.11" + "@angular/core": "19.0.0-rc.1" } }, "node_modules/@angular/build": { - "version": "19.0.0-next.13", - "resolved": "https://registry.npmjs.org/@angular/build/-/build-19.0.0-next.13.tgz", - "integrity": "sha512-5fDOzdKbN/TJtRb8SXLvIkJYBJ/26QwLr+5yGjqhOFNwbe2MaxhZcALofQP3EwCsNvyXvFtct+fmnviCops3QA==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-19.0.0-rc.1.tgz", + "integrity": "sha512-/sxyGODMoN26OEJVuhDQcePOGebGncIWOKMhc689mr9aUNegFa+sE7jYvtpVOc+LIA1dFwU/biTG7kcKwpN+yA==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1900.0-next.13", - "@babel/core": "7.25.9", + "@angular-devkit/architect": "0.1900.0-rc.1", + "@babel/core": "7.26.0", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", - "@babel/plugin-syntax-import-attributes": "7.25.9", - "@inquirer/confirm": "5.0.0", + "@babel/plugin-syntax-import-attributes": "7.26.0", + "@inquirer/confirm": "5.0.1", "@vitejs/plugin-basic-ssl": "1.1.0", + "beasties": "0.1.0", "browserslist": "^4.23.0", - "critters": "0.0.25", "esbuild": "0.24.0", "fast-glob": "3.3.2", "https-proxy-agent": "7.0.5", @@ -710,8 +637,8 @@ "parse5-html-rewriting-stream": "7.0.0", "picomatch": "4.0.2", "piscina": "4.7.0", - "rollup": "4.24.0", - "sass": "1.80.3", + "rollup": "4.24.4", + "sass": "1.80.6", "semver": "7.6.3", "vite": "5.4.10", "watchpack": "2.4.2" @@ -722,7 +649,7 @@ "yarn": ">= 1.13.0" }, "optionalDependencies": { - "lmdb": "3.1.3" + "lmdb": "3.1.4" }, "peerDependencies": { "@angular/compiler": "^19.0.0-next.9", @@ -730,7 +657,7 @@ "@angular/localize": "^19.0.0-next.9", "@angular/platform-server": "^19.0.0-next.9", "@angular/service-worker": "^19.0.0-next.9", - "@angular/ssr": "^19.0.0-next.13", + "@angular/ssr": "^19.0.0-rc.1", "less": "^4.2.0", "postcss": "^8.4.0", "tailwindcss": "^2.0.0 || ^3.0.0", @@ -760,54 +687,6 @@ } } }, - "node_modules/@angular/build/node_modules/@babel/core": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.9.tgz", - "integrity": "sha512-WYvQviPw+Qyib0v92AwNIrdLISTp7RfDkM7bPqBvpbnhY4wq8HvHBZREVdYDXk98C8BkOIVnHAY3yvj7AVISxQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.25.9", - "@babel/generator": "^7.25.9", - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-module-transforms": "^7.25.9", - "@babel/helpers": "^7.25.9", - "@babel/parser": "^7.25.9", - "@babel/template": "^7.25.9", - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@angular/build/node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@angular/build/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, "node_modules/@angular/build/node_modules/debug": { "version": "4.3.7", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", @@ -891,9 +770,9 @@ } }, "node_modules/@angular/cdk": { - "version": "19.0.0-next.10", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-19.0.0-next.10.tgz", - "integrity": "sha512-yewcnBgaifnpmV92qW9FEUvsuGQDSAfP7kaCRAFgiam458gAnjK0M8gJWzinyHRvH41ytM6/rgpApSj4vXSRMw==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-19.0.0-rc.1.tgz", + "integrity": "sha512-aNpSadgqq3bpyZ/OsCiAl/TGMzUZYqAltctgYS3kXIrSphamus+9wOR7SF1dK87RUX/RWj3SMpol6e4kLmyfpw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -908,18 +787,18 @@ } }, "node_modules/@angular/cli": { - "version": "19.0.0-next.13", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-19.0.0-next.13.tgz", - "integrity": "sha512-IPUIKhB+65jq7XTiIhCW7cFO6H6EJeL7DtgZ9ZeQBPqt/3+Fq3VHEu7mWTEaNhWZLm5hY6xS5bmgS40ZCAPApQ==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-19.0.0-rc.1.tgz", + "integrity": "sha512-xZu/uts0fS6ZPfRfee3bMFx7XIsR3SMI6qL/n13j+Z+cRqdofyLOPiZeySf2RiWBXhYyUHIk4E1kT5giN/RABg==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.1900.0-next.13", - "@angular-devkit/core": "19.0.0-next.13", - "@angular-devkit/schematics": "19.0.0-next.13", - "@inquirer/prompts": "7.0.0", + "@angular-devkit/architect": "0.1900.0-rc.1", + "@angular-devkit/core": "19.0.0-rc.1", + "@angular-devkit/schematics": "19.0.0-rc.1", + "@inquirer/prompts": "7.0.1", "@listr2/prompt-adapter-inquirer": "2.0.17", - "@schematics/angular": "19.0.0-next.13", + "@schematics/angular": "19.0.0-rc.1", "@yarnpkg/lockfile": "1.1.0", "ini": "5.0.0", "jsonc-parser": "3.3.1", @@ -1043,9 +922,9 @@ } }, "node_modules/@angular/common": { - "version": "19.0.0-next.11", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-19.0.0-next.11.tgz", - "integrity": "sha512-kdwoH5KOL+V24E6t41LG90jUJejF356mWoYLkYqZSlqqY1nm9QuX5z2RiFxvWFgUimfbts3AgJ9ehdPnQczyVw==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-19.0.0-rc.1.tgz", + "integrity": "sha512-a1s7EUvFokp5GGyf5TPERyyX9lz6zvgyrHDX43kmSSvDTl6ZkcfUM0dy7FNrJuLoesa09Z3ZcvMYxIvLpNMaUA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1054,14 +933,14 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "19.0.0-next.11", + "@angular/core": "19.0.0-rc.1", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "19.0.0-next.11", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-19.0.0-next.11.tgz", - "integrity": "sha512-eJqjMmSNoHbIp5VBh3zSDF6WpxcWhO8c4fHmd6dVHIbLP+HUGQQ0dl18sJ0X2eqkHESFLfWYk8Vjm2p6jcOIGw==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-19.0.0-rc.1.tgz", + "integrity": "sha512-t+wP9Z2CArUD7VJns56Mpcf/IcQe8kJVwHgiD9cm/fF07w9qMMTQjkCvvppkwFvZzZQ4W2FnwpzFko/wVN0SMw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1070,7 +949,7 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "19.0.0-next.11" + "@angular/core": "19.0.0-rc.1" }, "peerDependenciesMeta": { "@angular/core": { @@ -1079,13 +958,13 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "19.0.0-next.11", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-19.0.0-next.11.tgz", - "integrity": "sha512-/TBXiYL6+2pV0PhFMfnYkyIoE3KsAhSntbxTuKXn4X3d2r5YIl3bVuAU/XLIkLRg4HVy+JUZYCOHlqNhUfg0ig==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-19.0.0-rc.1.tgz", + "integrity": "sha512-zOlucVAtfxsywyClM6dMl7T42VA1Ir71C6sr5ry4gnRu9JZc2HjTsXTdRH+v4MV4/WD9vGOR0XxWQqRGbuQ3Rw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "7.25.2", + "@babel/core": "7.26.0", "@jridgewell/sourcemap-codec": "^1.4.14", "chokidar": "^4.0.0", "convert-source-map": "^1.5.1", @@ -1103,7 +982,7 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/compiler": "19.0.0-next.11", + "@angular/compiler": "19.0.0-rc.1", "typescript": ">=5.5 <5.7" } }, @@ -1246,9 +1125,9 @@ } }, "node_modules/@angular/core": { - "version": "19.0.0-next.11", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-19.0.0-next.11.tgz", - "integrity": "sha512-szUSipRfptrUAz/boXBFbjQNebt17t6ewVADxVQN2M8ioyNxgH7oHObELDF9bHZwVOjUPESj0b2hte7pf3pGrQ==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-19.0.0-rc.1.tgz", + "integrity": "sha512-DQTo0A8W14XXdjcRSwSIfDoGPL5QrMXAgZn97RS8SPvBeM2J+uEx4gQe5AeFASn+/75zgrq1ImZuKzu47GrJmw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1262,9 +1141,9 @@ } }, "node_modules/@angular/forms": { - "version": "19.0.0-next.11", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-19.0.0-next.11.tgz", - "integrity": "sha512-XYVLAZCBuy/rfZ7dBWWhJtzoZI4DZ92Ob0TelWMf76f3+p/bdXmUaJ7dQEWxFiJV7zYcwsr3yI9WgLpOzXRBfQ==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-19.0.0-rc.1.tgz", + "integrity": "sha512-kKeU5GhLjc0VQCGNJxeOXo5WN/urgdWELQnD4niErQcsaFjezol7dntSlOW3IzHpZlf3vL6+fc/wI68JOeHbpw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1273,16 +1152,16 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "19.0.0-next.11", - "@angular/core": "19.0.0-next.11", - "@angular/platform-browser": "19.0.0-next.11", + "@angular/common": "19.0.0-rc.1", + "@angular/core": "19.0.0-rc.1", + "@angular/platform-browser": "19.0.0-rc.1", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/language-service": { - "version": "19.0.0-next.11", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-19.0.0-next.11.tgz", - "integrity": "sha512-gDX3/TSF2tgp7IgvaQYbpO7mY0B5b+JUftK1jRAbiKkaFDOyhyNCpOSg0wWFnccqI7hiRO4SuYZfhjDYeIxfSA==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-19.0.0-rc.1.tgz", + "integrity": "sha512-t8o7+22YyjKDHglRg5rOo8Vk06HyQymcC9BWgDvqbfx6q7HL9aTfSHCfzx2I4SIej+3/h0vt3IIAtMWm9AmRGw==", "dev": true, "license": "MIT", "engines": { @@ -1290,16 +1169,16 @@ } }, "node_modules/@angular/material": { - "version": "19.0.0-next.10", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-19.0.0-next.10.tgz", - "integrity": "sha512-8DxrG01xyE0M7OtB/9QVfGwxRvydKqoDZBZ9FCPmIz31Cn7pcKDg0OgGB5ORT9kZokATt0prOn2NUWI53+THLw==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-19.0.0-rc.1.tgz", + "integrity": "sha512-PCT4t4JL1INyLj0WEtGOVeS6i7Xk8wQa1sXqFV4nJADD+TPLFkvGFaW/mnXjKGFNXq8BAPe/lZ26uPFgy0HGfA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { "@angular/animations": "^19.0.0-0 || ^19.1.0-0 || ^19.2.0-0 || ^19.3.0-0 || ^20.0.0-0", - "@angular/cdk": "19.0.0-next.10", + "@angular/cdk": "19.0.0-rc.1", "@angular/common": "^19.0.0-0 || ^19.1.0-0 || ^19.2.0-0 || ^19.3.0-0 || ^20.0.0-0", "@angular/core": "^19.0.0-0 || ^19.1.0-0 || ^19.2.0-0 || ^19.3.0-0 || ^20.0.0-0", "@angular/forms": "^19.0.0-0 || ^19.1.0-0 || ^19.2.0-0 || ^19.3.0-0 || ^20.0.0-0", @@ -1308,9 +1187,9 @@ } }, "node_modules/@angular/platform-browser": { - "version": "19.0.0-next.11", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-19.0.0-next.11.tgz", - "integrity": "sha512-+JuwZV5P4K9hbbchR+hA9pE6950qOfkt3RRUe/+oCuF5ZqcZyPrOdnP94u+pPlFtdlFLFoOgO9VBpN67w9YfQA==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-19.0.0-rc.1.tgz", + "integrity": "sha512-OAuh8qyqMWl/BTR3yd5cn3Joz0Zw9gEM7dMPiBJWsqhm2xLG1w5lJ/1bpBkYa6Pl7/HEacHkjrw+sLg0VIeIGA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1319,9 +1198,9 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/animations": "19.0.0-next.11", - "@angular/common": "19.0.0-next.11", - "@angular/core": "19.0.0-next.11" + "@angular/animations": "19.0.0-rc.1", + "@angular/common": "19.0.0-rc.1", + "@angular/core": "19.0.0-rc.1" }, "peerDependenciesMeta": { "@angular/animations": { @@ -1330,9 +1209,9 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "19.0.0-next.11", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-19.0.0-next.11.tgz", - "integrity": "sha512-sDWyUuMwu1oTJPOr9sWhjOrhbLM6KWgsnKgrH8hYepbX6/zOYOtUJcDLjIE0BPZCX5hiaR4+7VAPW0tBVaeLdQ==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-19.0.0-rc.1.tgz", + "integrity": "sha512-uHdAJiElXKNOpHuaa9TYfCOarw24Na25LWbVk9hWuLoEMCnN5hh028Tzep5l+g/BNDXR7dXeIvLMa/LBUqEZjQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1341,16 +1220,16 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "19.0.0-next.11", - "@angular/compiler": "19.0.0-next.11", - "@angular/core": "19.0.0-next.11", - "@angular/platform-browser": "19.0.0-next.11" + "@angular/common": "19.0.0-rc.1", + "@angular/compiler": "19.0.0-rc.1", + "@angular/core": "19.0.0-rc.1", + "@angular/platform-browser": "19.0.0-rc.1" } }, "node_modules/@angular/platform-server": { - "version": "19.0.0-next.11", - "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-19.0.0-next.11.tgz", - "integrity": "sha512-B9C+rSlNYHM7/imBXxfEsEREH7q5AiaJ/UhEPtJ1kXGVGHZUyF4AY1MTdBkX0A+udsbRs11z9XtpOpAPa830YQ==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-19.0.0-rc.1.tgz", + "integrity": "sha512-pFZRl05Lse4vFejkW1LbxVY2jFY5xVuHZJ6oxzmRKmtj/fpDuI/dcfFbNMk6CPx9zisMbney3NU5LMa/6VnR8w==", "license": "MIT", "dependencies": { "tslib": "^2.3.0", @@ -1360,17 +1239,17 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/animations": "19.0.0-next.11", - "@angular/common": "19.0.0-next.11", - "@angular/compiler": "19.0.0-next.11", - "@angular/core": "19.0.0-next.11", - "@angular/platform-browser": "19.0.0-next.11" + "@angular/animations": "19.0.0-rc.1", + "@angular/common": "19.0.0-rc.1", + "@angular/compiler": "19.0.0-rc.1", + "@angular/core": "19.0.0-rc.1", + "@angular/platform-browser": "19.0.0-rc.1" } }, "node_modules/@angular/router": { - "version": "19.0.0-next.11", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-19.0.0-next.11.tgz", - "integrity": "sha512-xc0N8rXI8XtkbfWo09qhGrmYQAMOvDOyin0UHDVaUqdAeb4CwGhejmQvVNXCEtlR5knLcWMJ4Rb3erIOWXDCVQ==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-19.0.0-rc.1.tgz", + "integrity": "sha512-fHHY+y2gRfQ6Xt0MF0+Ry/MV1aEXyTNssht/r+J94Y4dIF1LN7TcCbos7fWPus0dENkUOcaoVO2Eod3r+Rm99Q==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1379,16 +1258,16 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "19.0.0-next.11", - "@angular/core": "19.0.0-next.11", - "@angular/platform-browser": "19.0.0-next.11", + "@angular/common": "19.0.0-rc.1", + "@angular/core": "19.0.0-rc.1", + "@angular/platform-browser": "19.0.0-rc.1", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/ssr": { - "version": "19.0.0-next.13", - "resolved": "https://registry.npmjs.org/@angular/ssr/-/ssr-19.0.0-next.13.tgz", - "integrity": "sha512-gn23WkS8q5RbiBa8DiPOY7COQIdKDuys5b9pEKB8OAH+Lfcr4jspSYJohDQ0ZgbEQP9aSYoxiRHPaMn7Cvp/VQ==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/ssr/-/ssr-19.0.0-rc.1.tgz", + "integrity": "sha512-DbWzJK7vAjksTKXTD9YRiytJdVMqk7uB75eZCvU3vclhtKnk9F6dCaE7fidRX0qXRRCWYS5I/H9NYRmbqw7PZw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1426,22 +1305,22 @@ } }, "node_modules/@babel/core": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", - "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", + "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.25.0", - "@babel/helper-compilation-targets": "^7.25.2", - "@babel/helper-module-transforms": "^7.25.2", - "@babel/helpers": "^7.25.0", - "@babel/parser": "^7.25.0", - "@babel/template": "^7.25.0", - "@babel/traverse": "^7.25.2", - "@babel/types": "^7.25.2", + "@babel/code-frame": "^7.26.0", + "@babel/generator": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.0", + "@babel/parser": "^7.26.0", + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.26.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -1495,13 +1374,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.9.tgz", - "integrity": "sha512-omlUGkr5EaoIJrhLf9CJ0TvjBRpd9+AXRG//0GEQ9THSo8wPiTlbpy1/Ow8ZTrbXpjd9FHXfbFQx32I04ht0FA==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.2.tgz", + "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.25.9", + "@babel/parser": "^7.26.2", + "@babel/types": "^7.26.0", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" @@ -2010,9 +1890,9 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.9.tgz", - "integrity": "sha512-u3EN9ub8LyYvgTnrgp8gboElouayiwPdnM7x5tcnW3iSt09/lQYPwMNK40I9IUxo7QOZhAsPHCmmuO7EPdruqg==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", + "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", "dev": true, "license": "MIT", "dependencies": { @@ -2699,6 +2579,23 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz", + "integrity": "sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/plugin-transform-reserved-words": { "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz", @@ -2895,13 +2792,13 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.9.tgz", - "integrity": "sha512-XqDEt+hfsQukahSX9JOBDHhpUHDhj2zGSxoqWQFCMajOSBnbhBdgON/bU/5PkBA1yX5tqW6tTzuIPVsZTQ7h5Q==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.0.tgz", + "integrity": "sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.25.9", + "@babel/compat-data": "^7.26.0", "@babel/helper-compilation-targets": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9", "@babel/helper-validator-option": "^7.25.9", @@ -2911,8 +2808,8 @@ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9", "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-import-assertions": "^7.25.9", - "@babel/plugin-syntax-import-attributes": "^7.25.9", + "@babel/plugin-syntax-import-assertions": "^7.26.0", + "@babel/plugin-syntax-import-attributes": "^7.26.0", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", "@babel/plugin-transform-arrow-functions": "^7.25.9", "@babel/plugin-transform-async-generator-functions": "^7.25.9", @@ -2920,7 +2817,7 @@ "@babel/plugin-transform-block-scoped-functions": "^7.25.9", "@babel/plugin-transform-block-scoping": "^7.25.9", "@babel/plugin-transform-class-properties": "^7.25.9", - "@babel/plugin-transform-class-static-block": "^7.25.9", + "@babel/plugin-transform-class-static-block": "^7.26.0", "@babel/plugin-transform-classes": "^7.25.9", "@babel/plugin-transform-computed-properties": "^7.25.9", "@babel/plugin-transform-destructuring": "^7.25.9", @@ -2953,6 +2850,7 @@ "@babel/plugin-transform-private-property-in-object": "^7.25.9", "@babel/plugin-transform-property-literals": "^7.25.9", "@babel/plugin-transform-regenerator": "^7.25.9", + "@babel/plugin-transform-regexp-modifiers": "^7.26.0", "@babel/plugin-transform-reserved-words": "^7.25.9", "@babel/plugin-transform-shorthand-properties": "^7.25.9", "@babel/plugin-transform-spread": "^7.25.9", @@ -3002,9 +2900,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.9.tgz", - "integrity": "sha512-4zpTHZ9Cm6L9L+uIqghQX8ZXg8HKFcjYO3qHoO8zTmRm6HQUJ8SSJ+KRvbMBZn0EGVlT4DRYeQ/6hjlyXBh+Kg==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz", + "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==", "dev": true, "license": "MIT", "dependencies": { @@ -3698,9 +3596,9 @@ } }, "node_modules/@discoveryjs/json-ext": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.2.tgz", - "integrity": "sha512-GHZT40sAqBY7qdKaD7XtaohbX00VDfWjX7A6d0c/dc9bR/2h5I51cVh+TbNKCytBkfV+L+n0bR7OZWNt5r4/CQ==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.3.tgz", + "integrity": "sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==", "dev": true, "license": "MIT", "engines": { @@ -4338,17 +4236,20 @@ } }, "node_modules/@inquirer/confirm": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.0.0.tgz", - "integrity": "sha512-6QEzj6bZg8atviRIL+pR0tODC854cYSjvZxkyCarr8DVaOJPEyuGys7GmEG3W0Rb8kKSQec7P6okt0sJvNneFw==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.0.1.tgz", + "integrity": "sha512-6ycMm7k7NUApiMGfVc32yIPp28iPKxhGRMqoNDiUjq2RyTAkbs5Fx0TdzBqhabcKvniDdAAvHCmsRjnNfTsogw==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.0.0", + "@inquirer/core": "^10.0.1", "@inquirer/type": "^3.0.0" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" } }, "node_modules/@inquirer/core": { @@ -4507,25 +4408,28 @@ } }, "node_modules/@inquirer/prompts": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.0.0.tgz", - "integrity": "sha512-y8kX/TmyBqV0H1i3cWbhiTljcuBtgVgyVXAVub3ba1j5/G+dxhYohK1JLRkaosPGKKf3LnEJsYK+GPabpfnaHw==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.0.1.tgz", + "integrity": "sha512-cu2CpGC2hz7WTt2VBvdkzahDvYice6vYA/8Dm7Fy3tRNzKuQTF2EY3CV4H2GamveWE6tA2XzyXtbWX8+t4WMQg==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/checkbox": "^4.0.0", - "@inquirer/confirm": "^5.0.0", - "@inquirer/editor": "^4.0.0", - "@inquirer/expand": "^4.0.0", - "@inquirer/input": "^4.0.0", - "@inquirer/number": "^3.0.0", - "@inquirer/password": "^4.0.0", - "@inquirer/rawlist": "^4.0.0", - "@inquirer/search": "^3.0.0", - "@inquirer/select": "^4.0.0" + "@inquirer/checkbox": "^4.0.1", + "@inquirer/confirm": "^5.0.1", + "@inquirer/editor": "^4.0.1", + "@inquirer/expand": "^4.0.1", + "@inquirer/input": "^4.0.1", + "@inquirer/number": "^3.0.1", + "@inquirer/password": "^4.0.1", + "@inquirer/rawlist": "^4.0.1", + "@inquirer/search": "^3.0.1", + "@inquirer/select": "^4.0.1" }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" } }, "node_modules/@inquirer/rawlist": { @@ -4893,9 +4797,9 @@ } }, "node_modules/@lmdb/lmdb-darwin-arm64": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.1.3.tgz", - "integrity": "sha512-VV667lP23gIsQkb80rnQwAHjj6F1uZp30qTnvLSlep3pOomzXcQBMFp4ZmJLeGJnnPy54JjNsYBFyg9X95wCPw==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.1.4.tgz", + "integrity": "sha512-bXwBegGNDGAlshGqUmV8MxVFPsqEpU2yWWxoJ4AA4UkEd7gA1Rzh7KtvM5Tww0dQfp5t+P/SjNV3vjpAgof+uA==", "cpu": [ "arm64" ], @@ -4907,9 +4811,9 @@ ] }, "node_modules/@lmdb/lmdb-darwin-x64": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.1.3.tgz", - "integrity": "sha512-kuhKKJxGCQr9gBtUd7cVBBn6OtwQg7vIiD5gHEZb+jWLJulg6N4uPSLTab8W9tvpb3ryRTAejMt7F89/2MoRrQ==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.1.4.tgz", + "integrity": "sha512-cb1/yeoUfWhVWqo8VImUWo6bXVn57AHPX98VqIkpfRw5Yh0z2DHPBZmsELb1OLJKeikAAOyxM+vPWRJYtAg9rw==", "cpu": [ "x64" ], @@ -4921,9 +4825,9 @@ ] }, "node_modules/@lmdb/lmdb-linux-arm": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.1.3.tgz", - "integrity": "sha512-R0CkYoJPHUfxPe2LaAqMGwTf5+1eXchUMNISO8OKEvKkS/zg2emIYTOb29v1k8WGSmdJkgQneBav/W3h5NorzA==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.1.4.tgz", + "integrity": "sha512-9O3kU6i7crV0vi+ImbZG6SkD+T8sxjbugq4pY424tjV8X/EjSfs1E0n25We5Z7qpJFxZSJZKsv40tJlz1w4pLg==", "cpu": [ "arm" ], @@ -4935,9 +4839,9 @@ ] }, "node_modules/@lmdb/lmdb-linux-arm64": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.1.3.tgz", - "integrity": "sha512-XnSHGKsJ1Fr5LBjyDkG7JnVJlduhg7AhV1J6YQujStsKnehuiidsNW0InEJrAO4QMHqquwnCfLvU9PPJfpFVYw==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.1.4.tgz", + "integrity": "sha512-Hs1cmv8SKEkczsiQbRYVeqI7vzpJ0LI29RyeaVNDDFJxzoua7IcuyG0wSXu12kpXlGTTLVOh1Wp4rK79Ixpxmg==", "cpu": [ "arm64" ], @@ -4949,9 +4853,9 @@ ] }, "node_modules/@lmdb/lmdb-linux-x64": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.1.3.tgz", - "integrity": "sha512-epvFL9/Tem00evtuq05kqWbRppJ4G/D8wa6LnQmOu779VmbrY6+M3v3h4fnt2QqMQt3+J6Cg/gZACDlDcH+eUw==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.1.4.tgz", + "integrity": "sha512-e/xPxFjSBzuN7/nb5WBYO1t9X1NBiNYy+gvWB3rb95K2W5qJU9fnjx+CNFp7ucvQZWF08EsVzMBa7eXKGGmHjg==", "cpu": [ "x64" ], @@ -4963,9 +4867,9 @@ ] }, "node_modules/@lmdb/lmdb-win32-x64": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.1.3.tgz", - "integrity": "sha512-S6P96biJyrt/CUYSP0v4OH1U9ITzHhHCh1kn7hHOscS3S1+T/D74sCJKQ9xb/Raos2NJHqtZ8EyQVEVjOzmqbg==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.1.4.tgz", + "integrity": "sha512-mUcWgKmpbquKaDEcJ+FBtJpcqHvJW2Ce+GKMP/B/Hm9IxGjUfGs0aGlax2Nh/mjzXx/7qfwyCGD8y+KXfDuMsA==", "cpu": [ "x64" ], @@ -5366,9 +5270,9 @@ } }, "node_modules/@ngtools/webpack": { - "version": "19.0.0-next.13", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-19.0.0-next.13.tgz", - "integrity": "sha512-7QVpml62BlN9qMArPzrxMkMyjCBVK4+BhSgwaVUdkFVHTi8H3l70Jw8g3FtRC1grKZ4ZIqUXg9NO/oppaWe/QQ==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-19.0.0-rc.1.tgz", + "integrity": "sha512-0NrAnfodGdJYND9MG7PGlTf2rBydRl0zUBSLjbpxMygxfSXix0ZBqgmojr/1bsBr6wksoVRvPmsDwP6Ad0R19A==", "dev": true, "license": "MIT", "engines": { @@ -5851,6 +5755,7 @@ "integrity": "sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { "detect-libc": "^1.0.3", "is-glob": "^4.0.3", @@ -6137,6 +6042,7 @@ "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", "dev": true, "license": "Apache-2.0", + "optional": true, "bin": { "detect-libc": "bin/detect-libc.js" }, @@ -6149,7 +6055,8 @@ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", @@ -6219,9 +6126,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.0.tgz", - "integrity": "sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.4.tgz", + "integrity": "sha512-jfUJrFct/hTA0XDM5p/htWKoNNTbDLY0KRwEt6pyOA6k2fmk0WVwl65PdUdJZgzGEHWx+49LilkcSaumQRyNQw==", "cpu": [ "arm" ], @@ -6233,9 +6140,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.0.tgz", - "integrity": "sha512-ijLnS1qFId8xhKjT81uBHuuJp2lU4x2yxa4ctFPtG+MqEE6+C5f/+X/bStmxapgmwLwiL3ih122xv8kVARNAZA==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.4.tgz", + "integrity": "sha512-j4nrEO6nHU1nZUuCfRKoCcvh7PIywQPUCBa2UsootTHvTHIoIu2BzueInGJhhvQO/2FTRdNYpf63xsgEqH9IhA==", "cpu": [ "arm64" ], @@ -6247,9 +6154,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.0.tgz", - "integrity": "sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.4.tgz", + "integrity": "sha512-GmU/QgGtBTeraKyldC7cDVVvAJEOr3dFLKneez/n7BvX57UdhOqDsVwzU7UOnYA7AAOt+Xb26lk79PldDHgMIQ==", "cpu": [ "arm64" ], @@ -6261,9 +6168,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.0.tgz", - "integrity": "sha512-X6/nOwoFN7RT2svEQWUsW/5C/fYMBe4fnLK9DQk4SX4mgVBiTA9h64kjUYPvGQ0F/9xwJ5U5UfTbl6BEjaQdBQ==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.4.tgz", + "integrity": "sha512-N6oDBiZCBKlwYcsEPXGDE4g9RoxZLK6vT98M8111cW7VsVJFpNEqvJeIPfsCzbf0XEakPslh72X0gnlMi4Ddgg==", "cpu": [ "x64" ], @@ -6274,10 +6181,38 @@ "darwin" ] }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.24.4.tgz", + "integrity": "sha512-py5oNShCCjCyjWXCZNrRGRpjWsF0ic8f4ieBNra5buQz0O/U6mMXCpC1LvrHuhJsNPgRt36tSYMidGzZiJF6mw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.24.4.tgz", + "integrity": "sha512-L7VVVW9FCnTTp4i7KrmHeDsDvjB4++KOBENYtNYAiYl96jeBThFfhP6HVxL74v4SiZEVDH/1ILscR5U9S4ms4g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.0.tgz", - "integrity": "sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.4.tgz", + "integrity": "sha512-10ICosOwYChROdQoQo589N5idQIisxjaFE/PAnX2i0Zr84mY0k9zul1ArH0rnJ/fpgiqfu13TFZR5A5YJLOYZA==", "cpu": [ "arm" ], @@ -6289,9 +6224,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.0.tgz", - "integrity": "sha512-it2BW6kKFVh8xk/BnHfakEeoLPv8STIISekpoF+nBgWM4d55CZKc7T4Dx1pEbTnYm/xEKMgy1MNtYuoA8RFIWw==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.4.tgz", + "integrity": "sha512-ySAfWs69LYC7QhRDZNKqNhz2UKN8LDfbKSMAEtoEI0jitwfAG2iZwVqGACJT+kfYvvz3/JgsLlcBP+WWoKCLcw==", "cpu": [ "arm" ], @@ -6303,9 +6238,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.0.tgz", - "integrity": "sha512-i0xTLXjqap2eRfulFVlSnM5dEbTVque/3Pi4g2y7cxrs7+a9De42z4XxKLYJ7+OhE3IgxvfQM7vQc43bwTgPwA==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.4.tgz", + "integrity": "sha512-uHYJ0HNOI6pGEeZ/5mgm5arNVTI0nLlmrbdph+pGXpC9tFHFDQmDMOEqkmUObRfosJqpU8RliYoGz06qSdtcjg==", "cpu": [ "arm64" ], @@ -6317,9 +6252,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.0.tgz", - "integrity": "sha512-9E6MKUJhDuDh604Qco5yP/3qn3y7SLXYuiC0Rpr89aMScS2UAmK1wHP2b7KAa1nSjWJc/f/Lc0Wl1L47qjiyQw==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.4.tgz", + "integrity": "sha512-38yiWLemQf7aLHDgTg85fh3hW9stJ0Muk7+s6tIkSUOMmi4Xbv5pH/5Bofnsb6spIwD5FJiR+jg71f0CH5OzoA==", "cpu": [ "arm64" ], @@ -6331,9 +6266,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.0.tgz", - "integrity": "sha512-2XFFPJ2XMEiF5Zi2EBf4h73oR1V/lycirxZxHZNc93SqDN/IWhYYSYj8I9381ikUFXZrz2v7r2tOVk2NBwxrWw==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.4.tgz", + "integrity": "sha512-q73XUPnkwt9ZNF2xRS4fvneSuaHw2BXuV5rI4cw0fWYVIWIBeDZX7c7FWhFQPNTnE24172K30I+dViWRVD9TwA==", "cpu": [ "ppc64" ], @@ -6345,9 +6280,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.0.tgz", - "integrity": "sha512-M3Dg4hlwuntUCdzU7KjYqbbd+BLq3JMAOhCKdBE3TcMGMZbKkDdJ5ivNdehOssMCIokNHFOsv7DO4rlEOfyKpg==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.4.tgz", + "integrity": "sha512-Aie/TbmQi6UXokJqDZdmTJuZBCU3QBDA8oTKRGtd4ABi/nHgXICulfg1KI6n9/koDsiDbvHAiQO3YAUNa/7BCw==", "cpu": [ "riscv64" ], @@ -6359,9 +6294,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.0.tgz", - "integrity": "sha512-mjBaoo4ocxJppTorZVKWFpy1bfFj9FeCMJqzlMQGjpNPY9JwQi7OuS1axzNIk0nMX6jSgy6ZURDZ2w0QW6D56g==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.4.tgz", + "integrity": "sha512-P8MPErVO/y8ohWSP9JY7lLQ8+YMHfTI4bAdtCi3pC2hTeqFJco2jYspzOzTUB8hwUWIIu1xwOrJE11nP+0JFAQ==", "cpu": [ "s390x" ], @@ -6373,9 +6308,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.0.tgz", - "integrity": "sha512-ZXFk7M72R0YYFN5q13niV0B7G8/5dcQ9JDp8keJSfr3GoZeXEoMHP/HlvqROA3OMbMdfr19IjCeNAnPUG93b6A==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.4.tgz", + "integrity": "sha512-K03TljaaoPK5FOyNMZAAEmhlyO49LaE4qCsr0lYHUKyb6QacTNF9pnfPpXnFlFD3TXuFbFbz7tJ51FujUXkXYA==", "cpu": [ "x64" ], @@ -6387,9 +6322,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.0.tgz", - "integrity": "sha512-w1i+L7kAXZNdYl+vFvzSZy8Y1arS7vMgIy8wusXJzRrPyof5LAb02KGr1PD2EkRcl73kHulIID0M501lN+vobQ==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.4.tgz", + "integrity": "sha512-VJYl4xSl/wqG2D5xTYncVWW+26ICV4wubwN9Gs5NrqhJtayikwCXzPL8GDsLnaLU3WwhQ8W02IinYSFJfyo34Q==", "cpu": [ "x64" ], @@ -6401,9 +6336,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.0.tgz", - "integrity": "sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.4.tgz", + "integrity": "sha512-ku2GvtPwQfCqoPFIJCqZ8o7bJcj+Y54cZSr43hHca6jLwAiCbZdBUOrqE6y29QFajNAzzpIOwsckaTFmN6/8TA==", "cpu": [ "arm64" ], @@ -6415,9 +6350,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.0.tgz", - "integrity": "sha512-xrNcGDU0OxVcPTH/8n/ShH4UevZxKIO6HJFK0e15XItZP2UcaiLFd5kiX7hJnqCbSztUF8Qot+JWBC/QXRPYWQ==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.4.tgz", + "integrity": "sha512-V3nCe+eTt/W6UYNr/wGvO1fLpHUrnlirlypZfKCT1fG6hWfqhPgQV/K/mRBXBpxc0eKLIF18pIOFVPh0mqHjlg==", "cpu": [ "ia32" ], @@ -6429,9 +6364,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.0.tgz", - "integrity": "sha512-fbMkAF7fufku0N2dE5TBXcNlg0pt0cJue4xBRE2Qc5Vqikxr4VCgKj/ht6SMdFcOacVA9rqF70APJ8RN/4vMJw==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.4.tgz", + "integrity": "sha512-LTw1Dfd0mBIEqUVCxbvTE/LLo+9ZxVC9k99v1v4ahg9Aak6FpqOfNu5kRkeTAn0wphoC4JU7No1/rL+bBCEwhg==", "cpu": [ "x64" ], @@ -6470,14 +6405,14 @@ "license": "MIT" }, "node_modules/@schematics/angular": { - "version": "19.0.0-next.13", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-19.0.0-next.13.tgz", - "integrity": "sha512-TuyEl6vP23NlxO1A02YLEVqXon+NVNQetgwdDPwTBwK/YQqErGPjAwqqhKXMLVAuEEHcs0krPBjvyT44MZkUBQ==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-19.0.0-rc.1.tgz", + "integrity": "sha512-ognh6k5b6r8SGaYiUVMeW+TM4nwvq/VIkhVY8vnbkSWCoywaRUh7IFbwQ1UlCkc2WAogSR+4lmv6cEsy5X72NQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "19.0.0-next.13", - "@angular-devkit/schematics": "19.0.0-next.13", + "@angular-devkit/core": "19.0.0-rc.1", + "@angular-devkit/schematics": "19.0.0-rc.1", "jsonc-parser": "3.3.1" }, "engines": { @@ -7170,6 +7105,28 @@ "@types/node": "*" } }, + "node_modules/@types/eslint": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, "node_modules/@types/estree": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", @@ -7261,9 +7218,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.8.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.4.tgz", - "integrity": "sha512-SpNNxkftTJOPk0oN+y2bIqurEXHTA2AOZ3EJDDKeJ5VzkvvORSvmQXGQarcOzWV1ac7DCaPBEdMDxBsM+d8jWw==", + "version": "22.9.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.0.tgz", + "integrity": "sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==", "dev": true, "license": "MIT", "dependencies": { @@ -7710,73 +7667,73 @@ } }, "node_modules/@webassemblyjs/ast": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", - "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", "dev": true, "license": "MIT", "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" } }, "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", "dev": true, "license": "MIT" }, "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", "dev": true, "license": "MIT" }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", - "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", "dev": true, "license": "MIT" }, "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", "dev": true, "license": "MIT", "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", "dev": true, "license": "MIT" }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", - "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", "dev": true, "license": "MIT", "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" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" } }, "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", "dev": true, "license": "MIT", "dependencies": { @@ -7784,9 +7741,9 @@ } }, "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -7794,79 +7751,79 @@ } }, "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", "dev": true, "license": "MIT" }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", - "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", "dev": true, "license": "MIT", "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" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", - "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", "dev": true, "license": "MIT", "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" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", - "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", "dev": true, "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", - "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", "dev": true, "license": "MIT", "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" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", - "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", "dev": true, "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/ast": "1.14.1", "@xtuc/long": "4.2.2" } }, @@ -7914,9 +7871,9 @@ } }, "node_modules/acorn": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", "dev": true, "license": "MIT", "bin": { @@ -7926,16 +7883,6 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-attributes": { - "version": "1.9.5", - "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", - "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^8" - } - }, "node_modules/acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", @@ -8747,6 +8694,43 @@ "integrity": "sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms=", "dev": true }, + "node_modules/beasties": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/beasties/-/beasties-0.1.0.tgz", + "integrity": "sha512-+Ssscd2gVG24qRNC+E2g88D+xsQW4xwakWtKAiGEQ3Pw54/FGdyo9RrfxhGhEv6ilFVbB7r3Lgx+QnAxnSpECw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "htmlparser2": "^9.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", + "postcss-media-query-parser": "^0.2.3" + } + }, + "node_modules/beasties/node_modules/htmlparser2": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz", + "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.1.0", + "entities": "^4.5.0" + } + }, "node_modules/big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", @@ -9345,9 +9329,9 @@ } }, "node_modules/chromedriver": { - "version": "130.0.1", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-130.0.1.tgz", - "integrity": "sha512-JH+OxDZ7gVv02r9oXwj4mQ8JCtj62g0fCD1LMUUYdB/4mPxn/E2ys+1IzXItoE7vXM9fGVc9R1akvXLqwwuSww==", + "version": "130.0.4", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-130.0.4.tgz", + "integrity": "sha512-lpR+PWXszij1k4Ig3t338Zvll9HtCTiwoLM7n4pCCswALHxzmgwaaIFBh3rt9+5wRk9D07oFblrazrBxwaYYAQ==", "dev": true, "hasInstallScript": true, "license": "Apache-2.0", @@ -9953,23 +9937,6 @@ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", "dev": true }, - "node_modules/critters": { - "version": "0.0.25", - "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.25.tgz", - "integrity": "sha512-ROF/tjJyyRdM8/6W0VqoN5Ql05xAGnkf5b7f3sTEl1bI5jTQQf8O918RD/V9tEb9pRY/TKcvJekDbJtniHyPtQ==", - "deprecated": "Ownership of Critters has moved to the Nuxt team, who will be maintaining the project going forward. If you'd like to keep using Critters, please switch to the actively-maintained fork at https://github.com/danielroe/beasties", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "chalk": "^4.1.0", - "css-select": "^5.1.0", - "dom-serializer": "^2.0.0", - "domhandler": "^5.0.2", - "htmlparser2": "^8.0.2", - "postcss": "^8.4.23", - "postcss-media-query-parser": "^0.2.3" - } - }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -15069,9 +15036,9 @@ } }, "node_modules/lmdb": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.1.3.tgz", - "integrity": "sha512-WQcfSoOTw+XfBXQN4dRN1Ke5vv+NgmOWs4wH8oh4jYFmPZIaVPiQVF+0nGdjQDLGDcrMMyr2C34cG6WZPes6xQ==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.1.4.tgz", + "integrity": "sha512-M3P0HBm0e6SUCrWqMf+wjs5LTRQekh1TtC10e3NjCfLECCXLRXHFROG2kErdyyv2MQ5335Qvb3KQKCSLUuwUDg==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -15080,19 +15047,19 @@ "msgpackr": "^1.10.2", "node-addon-api": "^6.1.0", "node-gyp-build-optional-packages": "5.2.2", - "ordered-binary": "^1.4.1", + "ordered-binary": "^1.5.2", "weak-lru-cache": "^1.2.2" }, "bin": { "download-lmdb-prebuilds": "bin/download-prebuilds.js" }, "optionalDependencies": { - "@lmdb/lmdb-darwin-arm64": "3.1.3", - "@lmdb/lmdb-darwin-x64": "3.1.3", - "@lmdb/lmdb-linux-arm": "3.1.3", - "@lmdb/lmdb-linux-arm64": "3.1.3", - "@lmdb/lmdb-linux-x64": "3.1.3", - "@lmdb/lmdb-win32-x64": "3.1.3" + "@lmdb/lmdb-darwin-arm64": "3.1.4", + "@lmdb/lmdb-darwin-x64": "3.1.4", + "@lmdb/lmdb-linux-arm": "3.1.4", + "@lmdb/lmdb-linux-arm64": "3.1.4", + "@lmdb/lmdb-linux-x64": "3.1.4", + "@lmdb/lmdb-win32-x64": "3.1.4" } }, "node_modules/loader-runner": { @@ -15736,9 +15703,9 @@ } }, "node_modules/mini-css-extract-plugin": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.1.tgz", - "integrity": "sha512-+Vyi+GCCOHnrJ2VPS+6aPoXN2k2jgUzDRhTFLjjTBn23qyXJXkjUWQgTL+mXpF5/A8ixLdCc6kWsoeOjKGejKQ==", + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.2.tgz", + "integrity": "sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==", "dev": true, "license": "MIT", "dependencies": { @@ -16004,9 +15971,9 @@ "dev": true }, "node_modules/msgpackr": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.0.tgz", - "integrity": "sha512-I8qXuuALqJe5laEBYoFykChhSXLikZmUhccjGsPuSJ/7uPip2TJ7lwdIQwWSAi0jGZDXv4WOP8Qg65QZRuXxXw==", + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.2.tgz", + "integrity": "sha512-F9UngXRlPyWCDEASDpTf6c9uNhGPTqnTeLVt7bN+bU1eajoR/8V9ys2BRaV5C/e5ihE6sJ9uPIKaYt6bFuO32g==", "dev": true, "license": "MIT", "optional": true, @@ -16184,9 +16151,9 @@ } }, "node_modules/ng-packagr": { - "version": "19.0.0-next.7", - "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-19.0.0-next.7.tgz", - "integrity": "sha512-tJrr3YEd6MqlgWHyPyG53wnimt/TPh52HXV+jmaeZnwMmrkuwJXhJGuRr56X6hsTBPyYsdSqEszgAgSoGyN5tQ==", + "version": "19.0.0-rc.0", + "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-19.0.0-rc.0.tgz", + "integrity": "sha512-s+9tynvmsqNflv4qM8/Fli/Mv2omFTpau7bWlgjakHBh5GCNM2YHu1rqUsc70JWmOmHDQ9LHTvxQyD5VdF3msg==", "dev": true, "license": "MIT", "dependencies": { @@ -17330,9 +17297,9 @@ } }, "node_modules/ordered-binary": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.5.2.tgz", - "integrity": "sha512-JTo+4+4Fw7FreyAvlSLjb1BBVaxEQAacmjD3jjuyPZclpbEghTvQZbXBb2qPd2LeIMxiHwXBZUcpmG2Gl/mDEA==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.5.3.tgz", + "integrity": "sha512-oGFr3T+pYdTGJ+YFEILMpS3es+GiIbs9h/XQrclBXUtd44ey7XwfsMzM31f64I1SQOawDoDr/D823kNCADI8TA==", "dev": true, "license": "MIT", "optional": true @@ -18044,9 +18011,9 @@ "dev": true }, "node_modules/picocolors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", - "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "dev": true, "license": "ISC" }, @@ -19289,9 +19256,9 @@ } }, "node_modules/rollup": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.0.tgz", - "integrity": "sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.4.tgz", + "integrity": "sha512-vGorVWIsWfX3xbcyAS+I047kFKapHYivmkaT63Smj77XwvLSJos6M1xGqZnBPFQFBRZDOcG1QnYEIxAvTr/HjA==", "dev": true, "license": "MIT", "dependencies": { @@ -19305,22 +19272,24 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.24.0", - "@rollup/rollup-android-arm64": "4.24.0", - "@rollup/rollup-darwin-arm64": "4.24.0", - "@rollup/rollup-darwin-x64": "4.24.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.24.0", - "@rollup/rollup-linux-arm-musleabihf": "4.24.0", - "@rollup/rollup-linux-arm64-gnu": "4.24.0", - "@rollup/rollup-linux-arm64-musl": "4.24.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.24.0", - "@rollup/rollup-linux-riscv64-gnu": "4.24.0", - "@rollup/rollup-linux-s390x-gnu": "4.24.0", - "@rollup/rollup-linux-x64-gnu": "4.24.0", - "@rollup/rollup-linux-x64-musl": "4.24.0", - "@rollup/rollup-win32-arm64-msvc": "4.24.0", - "@rollup/rollup-win32-ia32-msvc": "4.24.0", - "@rollup/rollup-win32-x64-msvc": "4.24.0", + "@rollup/rollup-android-arm-eabi": "4.24.4", + "@rollup/rollup-android-arm64": "4.24.4", + "@rollup/rollup-darwin-arm64": "4.24.4", + "@rollup/rollup-darwin-x64": "4.24.4", + "@rollup/rollup-freebsd-arm64": "4.24.4", + "@rollup/rollup-freebsd-x64": "4.24.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.24.4", + "@rollup/rollup-linux-arm-musleabihf": "4.24.4", + "@rollup/rollup-linux-arm64-gnu": "4.24.4", + "@rollup/rollup-linux-arm64-musl": "4.24.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.24.4", + "@rollup/rollup-linux-riscv64-gnu": "4.24.4", + "@rollup/rollup-linux-s390x-gnu": "4.24.4", + "@rollup/rollup-linux-x64-gnu": "4.24.4", + "@rollup/rollup-linux-x64-musl": "4.24.4", + "@rollup/rollup-win32-arm64-msvc": "4.24.4", + "@rollup/rollup-win32-ia32-msvc": "4.24.4", + "@rollup/rollup-win32-x64-msvc": "4.24.4", "fsevents": "~2.3.2" } }, @@ -19421,13 +19390,12 @@ "dev": true }, "node_modules/sass": { - "version": "1.80.3", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.80.3.tgz", - "integrity": "sha512-ptDWyVmDMVielpz/oWy3YP3nfs7LpJTHIJZboMVs8GEC9eUmtZTZhMHlTW98wY4aEorDfjN38+Wr/XjskFWcfA==", + "version": "1.80.6", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.80.6.tgz", + "integrity": "sha512-ccZgdHNiBF1NHBsWvacvT5rju3y1d/Eu+8Ex6c21nHp2lZGLBEtuwc415QfiI1PJa1TpCo3iXwwSRjRpn2Ckjg==", "dev": true, "license": "MIT", "dependencies": { - "@parcel/watcher": "^2.4.1", "chokidar": "^4.0.0", "immutable": "^4.0.0", "source-map-js": ">=0.6.2 <2.0.0" @@ -19437,12 +19405,15 @@ }, "engines": { "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" } }, "node_modules/sass-loader": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.2.tgz", - "integrity": "sha512-Ll6iXZ1EYwYT19SqW4mSBb76vSSi8JgzElmzIerhEGgzB5hRjDQIWsPmuk1UrAXkR16KJHqVY0eH+5/uw9Tmfw==", + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.3.tgz", + "integrity": "sha512-gosNorT1RCkuCMyihv6FBRR7BMV06oKRAs+l4UMp1mlcVg9rWN6KMmUj3igjQwmYys4mDP3etEYJgiHRbgHCHA==", "dev": true, "license": "MIT", "dependencies": { @@ -21140,9 +21111,9 @@ } }, "node_modules/tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "license": "0BSD" }, "node_modules/tuf-js": { @@ -21900,9 +21871,9 @@ } }, "node_modules/uuid": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.0.2.tgz", - "integrity": "sha512-14FfcOJmqdjbBPdDjFQyk/SdT4NySW4eM0zcG+HqbHP5jzuH56xO3J1DGhgs/cEMCfwYi3HQI1gnTO62iaG+tQ==", + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.0.3.tgz", + "integrity": "sha512-d0z310fCWv5dJwnX1Y/MncBAqGMKEzlBb1AOf7z9K8ALnd0utBX/msg/fA0+sbyN1ihbMsLhrBlnl1ak7Wa0rg==", "funding": [ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" @@ -22682,19 +22653,19 @@ } }, "node_modules/webpack": { - "version": "5.95.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.95.0.tgz", - "integrity": "sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==", + "version": "5.96.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.96.1.tgz", + "integrity": "sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "^1.0.5", + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.6", "@webassemblyjs/ast": "^1.12.1", "@webassemblyjs/wasm-edit": "^1.12.1", "@webassemblyjs/wasm-parser": "^1.12.1", - "acorn": "^8.7.1", - "acorn-import-attributes": "^1.9.5", - "browserslist": "^4.21.10", + "acorn": "^8.14.0", + "browserslist": "^4.24.0", "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^5.17.1", "es-module-lexer": "^1.2.1", @@ -23388,37 +23359,37 @@ } }, "@angular-devkit/architect": { - "version": "0.1900.0-next.13", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1900.0-next.13.tgz", - "integrity": "sha512-Vv2Ts6xDDBBp7an+NGJI/SH5xZI9cvzZzxkTr2Or4klF/pD0EIFb5o8YdfD+mXiAQLZ1jKY07DOa/r6Hu1svRQ==", + "version": "0.1900.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1900.0-rc.1.tgz", + "integrity": "sha512-rGSNZUouoxdrrEqST4LJm/8zUWR6GFhT/hCDfyVusKx9SzBDTE+IQZ4ZJn/S9fZbwjaoIQqfHxUnNWoQMma6jQ==", "dev": true, "requires": { - "@angular-devkit/core": "19.0.0-next.13", + "@angular-devkit/core": "19.0.0-rc.1", "rxjs": "7.8.1" } }, "@angular-devkit/build-angular": { - "version": "19.0.0-next.13", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-19.0.0-next.13.tgz", - "integrity": "sha512-FkfsIwYn2zW/adJrqPbbFVosOBlMQWCB1GSZpKT3w5R3NA6NBxVaBwkHONyE9fVZhOKcH8Ob59KeW+l9EN2aWA==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-19.0.0-rc.1.tgz", + "integrity": "sha512-gC3UiZbcWurdm0KQz7Ot5hQx55/nQjH9apMzFFTTRCG+adBDknFQAcIRD8teMxTZcmh1tscl2GsPl38fmWCrZw==", "dev": true, "requires": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1900.0-next.13", - "@angular-devkit/build-webpack": "0.1900.0-next.13", - "@angular-devkit/core": "19.0.0-next.13", - "@angular/build": "19.0.0-next.13", - "@babel/core": "7.25.9", - "@babel/generator": "7.25.9", + "@angular-devkit/architect": "0.1900.0-rc.1", + "@angular-devkit/build-webpack": "0.1900.0-rc.1", + "@angular-devkit/core": "19.0.0-rc.1", + "@angular/build": "19.0.0-rc.1", + "@babel/core": "7.26.0", + "@babel/generator": "7.26.2", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", "@babel/plugin-transform-async-generator-functions": "7.25.9", "@babel/plugin-transform-async-to-generator": "7.25.9", "@babel/plugin-transform-runtime": "7.25.9", - "@babel/preset-env": "7.25.9", - "@babel/runtime": "7.25.9", - "@discoveryjs/json-ext": "0.6.2", - "@ngtools/webpack": "19.0.0-next.13", + "@babel/preset-env": "7.26.0", + "@babel/runtime": "7.26.0", + "@discoveryjs/json-ext": "0.6.3", + "@ngtools/webpack": "19.0.0-rc.1", "@vitejs/plugin-basic-ssl": "1.1.0", "ansi-colors": "4.1.3", "autoprefixer": "10.4.20", @@ -23437,7 +23408,7 @@ "less-loader": "12.2.0", "license-webpack-plugin": "4.0.2", "loader-utils": "3.3.1", - "mini-css-extract-plugin": "2.9.1", + "mini-css-extract-plugin": "2.9.2", "open": "10.1.0", "ora": "5.4.1", "picomatch": "4.0.2", @@ -23446,67 +23417,21 @@ "postcss-loader": "8.1.1", "resolve-url-loader": "5.0.0", "rxjs": "7.8.1", - "sass": "1.80.3", - "sass-loader": "16.0.2", + "sass": "1.80.6", + "sass-loader": "16.0.3", "semver": "7.6.3", "source-map-loader": "5.0.0", "source-map-support": "0.5.21", "terser": "5.36.0", "tree-kill": "1.2.2", - "tslib": "2.8.0", - "webpack": "5.95.0", + "tslib": "2.8.1", + "webpack": "5.96.1", "webpack-dev-middleware": "7.4.2", "webpack-dev-server": "5.1.0", "webpack-merge": "6.0.1", "webpack-subresource-integrity": "5.1.0" }, "dependencies": { - "@babel/core": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.9.tgz", - "integrity": "sha512-WYvQviPw+Qyib0v92AwNIrdLISTp7RfDkM7bPqBvpbnhY4wq8HvHBZREVdYDXk98C8BkOIVnHAY3yvj7AVISxQ==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.25.9", - "@babel/generator": "^7.25.9", - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-module-transforms": "^7.25.9", - "@babel/helpers": "^7.25.9", - "@babel/parser": "^7.25.9", - "@babel/template": "^7.25.9", - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "requires": { - "ms": "^2.1.3" - } - }, "define-lazy-prop": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", @@ -23535,12 +23460,6 @@ "semver": "^7.5.4" } }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, "open": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", @@ -23568,19 +23487,19 @@ } }, "@angular-devkit/build-webpack": { - "version": "0.1900.0-next.13", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1900.0-next.13.tgz", - "integrity": "sha512-R5ekESPf9RDXRc/MYoHZtJ0cswD5ALs+7k/80ILJ1mn+a0dfQHQEBE46PH6oWTIuBeOQFt83NhaG5qeinabf3g==", + "version": "0.1900.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1900.0-rc.1.tgz", + "integrity": "sha512-848B3sav/e9Qh8+rHekBeeJ+9TxWlAnF8NCOieB672b73VvMFbJMb449P/9EO9NGt/MnFgmU52oPTspB4OOekg==", "dev": true, "requires": { - "@angular-devkit/architect": "0.1900.0-next.13", + "@angular-devkit/architect": "0.1900.0-rc.1", "rxjs": "7.8.1" } }, "@angular-devkit/core": { - "version": "19.0.0-next.13", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.0.0-next.13.tgz", - "integrity": "sha512-DTvR8UVS12AdhnnHN5+0prYPOlXFYfqyuQ5GoX6W+DU8FIyhm/5tP9cFHMLC9sltoxSV42GrApjjiwRjmVz7vw==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.0.0-rc.1.tgz", + "integrity": "sha512-o5PGugUaQkUETHGqz700Zt1xMIynPbrIW5tfezy30/HjOJy/CPJzIsnwupLpQ95sDV2YeJsYJrF5rEVxigZBEQ==", "dev": true, "requires": { "ajv": "8.17.1", @@ -23627,12 +23546,12 @@ } }, "@angular-devkit/schematics": { - "version": "19.0.0-next.13", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-19.0.0-next.13.tgz", - "integrity": "sha512-/ZNtby4Emuu7mKQpT3LBZxjziVkd8hxHhouWxts0D3J7l/6nMr4UcVstY8GcdFTCsmF98RaEAPpL0p1Mb4s0vg==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-19.0.0-rc.1.tgz", + "integrity": "sha512-06cEyXFIEOqfBwqHQFCzE2NtyCE8bdm3Ky5ZZaUsxmg0L09llEj+DIUYhS+0CqXH+074Yik9ghgFJXf3UIxRCQ==", "dev": true, "requires": { - "@angular-devkit/core": "19.0.0-next.13", + "@angular-devkit/core": "19.0.0-rc.1", "jsonc-parser": "3.3.1", "magic-string": "0.30.12", "ora": "5.4.1", @@ -23732,84 +23651,47 @@ } }, "@angular/animations": { - "version": "19.0.0-next.11", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-19.0.0-next.11.tgz", - "integrity": "sha512-8L9h72pjYBdlhYfKNL5SFq7CHZwk71mkpCFmw0dS1B8z+dt3KmWoqIi6WfWuqtzuIuOyPfDUi1JSNz/imb2fZA==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-19.0.0-rc.1.tgz", + "integrity": "sha512-q/w1C0f9ZmpKA0LSYIwnHu9n875rXGWKZDy6MmAsYC2enhsMIqqWJmIvT+EJghhGX+Tv8u/3KejWNaR0OGeQqQ==", "requires": { "tslib": "^2.3.0" } }, "@angular/build": { - "version": "19.0.0-next.13", - "resolved": "https://registry.npmjs.org/@angular/build/-/build-19.0.0-next.13.tgz", - "integrity": "sha512-5fDOzdKbN/TJtRb8SXLvIkJYBJ/26QwLr+5yGjqhOFNwbe2MaxhZcALofQP3EwCsNvyXvFtct+fmnviCops3QA==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-19.0.0-rc.1.tgz", + "integrity": "sha512-/sxyGODMoN26OEJVuhDQcePOGebGncIWOKMhc689mr9aUNegFa+sE7jYvtpVOc+LIA1dFwU/biTG7kcKwpN+yA==", "dev": true, "requires": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1900.0-next.13", - "@babel/core": "7.25.9", + "@angular-devkit/architect": "0.1900.0-rc.1", + "@babel/core": "7.26.0", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", - "@babel/plugin-syntax-import-attributes": "7.25.9", - "@inquirer/confirm": "5.0.0", + "@babel/plugin-syntax-import-attributes": "7.26.0", + "@inquirer/confirm": "5.0.1", "@vitejs/plugin-basic-ssl": "1.1.0", + "beasties": "0.1.0", "browserslist": "^4.23.0", - "critters": "0.0.25", "esbuild": "0.24.0", "fast-glob": "3.3.2", "https-proxy-agent": "7.0.5", "istanbul-lib-instrument": "6.0.3", "listr2": "8.2.5", - "lmdb": "3.1.3", + "lmdb": "3.1.4", "magic-string": "0.30.12", "mrmime": "2.0.0", "parse5-html-rewriting-stream": "7.0.0", "picomatch": "4.0.2", "piscina": "4.7.0", - "rollup": "4.24.0", - "sass": "1.80.3", + "rollup": "4.24.4", + "sass": "1.80.6", "semver": "7.6.3", "vite": "5.4.10", "watchpack": "2.4.2" }, "dependencies": { - "@babel/core": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.9.tgz", - "integrity": "sha512-WYvQviPw+Qyib0v92AwNIrdLISTp7RfDkM7bPqBvpbnhY4wq8HvHBZREVdYDXk98C8BkOIVnHAY3yvj7AVISxQ==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.25.9", - "@babel/generator": "^7.25.9", - "@babel/helper-compilation-targets": "^7.25.9", - "@babel/helper-module-transforms": "^7.25.9", - "@babel/helpers": "^7.25.9", - "@babel/parser": "^7.25.9", - "@babel/template": "^7.25.9", - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, "debug": { "version": "4.3.7", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", @@ -23863,26 +23745,26 @@ } }, "@angular/cdk": { - "version": "19.0.0-next.10", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-19.0.0-next.10.tgz", - "integrity": "sha512-yewcnBgaifnpmV92qW9FEUvsuGQDSAfP7kaCRAFgiam458gAnjK0M8gJWzinyHRvH41ytM6/rgpApSj4vXSRMw==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-19.0.0-rc.1.tgz", + "integrity": "sha512-aNpSadgqq3bpyZ/OsCiAl/TGMzUZYqAltctgYS3kXIrSphamus+9wOR7SF1dK87RUX/RWj3SMpol6e4kLmyfpw==", "requires": { "parse5": "^7.1.2", "tslib": "^2.3.0" } }, "@angular/cli": { - "version": "19.0.0-next.13", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-19.0.0-next.13.tgz", - "integrity": "sha512-IPUIKhB+65jq7XTiIhCW7cFO6H6EJeL7DtgZ9ZeQBPqt/3+Fq3VHEu7mWTEaNhWZLm5hY6xS5bmgS40ZCAPApQ==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-19.0.0-rc.1.tgz", + "integrity": "sha512-xZu/uts0fS6ZPfRfee3bMFx7XIsR3SMI6qL/n13j+Z+cRqdofyLOPiZeySf2RiWBXhYyUHIk4E1kT5giN/RABg==", "dev": true, "requires": { - "@angular-devkit/architect": "0.1900.0-next.13", - "@angular-devkit/core": "19.0.0-next.13", - "@angular-devkit/schematics": "19.0.0-next.13", - "@inquirer/prompts": "7.0.0", + "@angular-devkit/architect": "0.1900.0-rc.1", + "@angular-devkit/core": "19.0.0-rc.1", + "@angular-devkit/schematics": "19.0.0-rc.1", + "@inquirer/prompts": "7.0.1", "@listr2/prompt-adapter-inquirer": "2.0.17", - "@schematics/angular": "19.0.0-next.13", + "@schematics/angular": "19.0.0-rc.1", "@yarnpkg/lockfile": "1.1.0", "ini": "5.0.0", "jsonc-parser": "3.3.1", @@ -23969,28 +23851,28 @@ } }, "@angular/common": { - "version": "19.0.0-next.11", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-19.0.0-next.11.tgz", - "integrity": "sha512-kdwoH5KOL+V24E6t41LG90jUJejF356mWoYLkYqZSlqqY1nm9QuX5z2RiFxvWFgUimfbts3AgJ9ehdPnQczyVw==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-19.0.0-rc.1.tgz", + "integrity": "sha512-a1s7EUvFokp5GGyf5TPERyyX9lz6zvgyrHDX43kmSSvDTl6ZkcfUM0dy7FNrJuLoesa09Z3ZcvMYxIvLpNMaUA==", "requires": { "tslib": "^2.3.0" } }, "@angular/compiler": { - "version": "19.0.0-next.11", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-19.0.0-next.11.tgz", - "integrity": "sha512-eJqjMmSNoHbIp5VBh3zSDF6WpxcWhO8c4fHmd6dVHIbLP+HUGQQ0dl18sJ0X2eqkHESFLfWYk8Vjm2p6jcOIGw==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-19.0.0-rc.1.tgz", + "integrity": "sha512-t+wP9Z2CArUD7VJns56Mpcf/IcQe8kJVwHgiD9cm/fF07w9qMMTQjkCvvppkwFvZzZQ4W2FnwpzFko/wVN0SMw==", "requires": { "tslib": "^2.3.0" } }, "@angular/compiler-cli": { - "version": "19.0.0-next.11", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-19.0.0-next.11.tgz", - "integrity": "sha512-/TBXiYL6+2pV0PhFMfnYkyIoE3KsAhSntbxTuKXn4X3d2r5YIl3bVuAU/XLIkLRg4HVy+JUZYCOHlqNhUfg0ig==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-19.0.0-rc.1.tgz", + "integrity": "sha512-zOlucVAtfxsywyClM6dMl7T42VA1Ir71C6sr5ry4gnRu9JZc2HjTsXTdRH+v4MV4/WD9vGOR0XxWQqRGbuQ3Rw==", "dev": true, "requires": { - "@babel/core": "7.25.2", + "@babel/core": "7.26.0", "@jridgewell/sourcemap-codec": "^1.4.14", "chokidar": "^4.0.0", "convert-source-map": "^1.5.1", @@ -24088,72 +23970,72 @@ } }, "@angular/core": { - "version": "19.0.0-next.11", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-19.0.0-next.11.tgz", - "integrity": "sha512-szUSipRfptrUAz/boXBFbjQNebt17t6ewVADxVQN2M8ioyNxgH7oHObELDF9bHZwVOjUPESj0b2hte7pf3pGrQ==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-19.0.0-rc.1.tgz", + "integrity": "sha512-DQTo0A8W14XXdjcRSwSIfDoGPL5QrMXAgZn97RS8SPvBeM2J+uEx4gQe5AeFASn+/75zgrq1ImZuKzu47GrJmw==", "requires": { "tslib": "^2.3.0" } }, "@angular/forms": { - "version": "19.0.0-next.11", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-19.0.0-next.11.tgz", - "integrity": "sha512-XYVLAZCBuy/rfZ7dBWWhJtzoZI4DZ92Ob0TelWMf76f3+p/bdXmUaJ7dQEWxFiJV7zYcwsr3yI9WgLpOzXRBfQ==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-19.0.0-rc.1.tgz", + "integrity": "sha512-kKeU5GhLjc0VQCGNJxeOXo5WN/urgdWELQnD4niErQcsaFjezol7dntSlOW3IzHpZlf3vL6+fc/wI68JOeHbpw==", "requires": { "tslib": "^2.3.0" } }, "@angular/language-service": { - "version": "19.0.0-next.11", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-19.0.0-next.11.tgz", - "integrity": "sha512-gDX3/TSF2tgp7IgvaQYbpO7mY0B5b+JUftK1jRAbiKkaFDOyhyNCpOSg0wWFnccqI7hiRO4SuYZfhjDYeIxfSA==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-19.0.0-rc.1.tgz", + "integrity": "sha512-t8o7+22YyjKDHglRg5rOo8Vk06HyQymcC9BWgDvqbfx6q7HL9aTfSHCfzx2I4SIej+3/h0vt3IIAtMWm9AmRGw==", "dev": true }, "@angular/material": { - "version": "19.0.0-next.10", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-19.0.0-next.10.tgz", - "integrity": "sha512-8DxrG01xyE0M7OtB/9QVfGwxRvydKqoDZBZ9FCPmIz31Cn7pcKDg0OgGB5ORT9kZokATt0prOn2NUWI53+THLw==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-19.0.0-rc.1.tgz", + "integrity": "sha512-PCT4t4JL1INyLj0WEtGOVeS6i7Xk8wQa1sXqFV4nJADD+TPLFkvGFaW/mnXjKGFNXq8BAPe/lZ26uPFgy0HGfA==", "requires": { "tslib": "^2.3.0" } }, "@angular/platform-browser": { - "version": "19.0.0-next.11", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-19.0.0-next.11.tgz", - "integrity": "sha512-+JuwZV5P4K9hbbchR+hA9pE6950qOfkt3RRUe/+oCuF5ZqcZyPrOdnP94u+pPlFtdlFLFoOgO9VBpN67w9YfQA==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-19.0.0-rc.1.tgz", + "integrity": "sha512-OAuh8qyqMWl/BTR3yd5cn3Joz0Zw9gEM7dMPiBJWsqhm2xLG1w5lJ/1bpBkYa6Pl7/HEacHkjrw+sLg0VIeIGA==", "requires": { "tslib": "^2.3.0" } }, "@angular/platform-browser-dynamic": { - "version": "19.0.0-next.11", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-19.0.0-next.11.tgz", - "integrity": "sha512-sDWyUuMwu1oTJPOr9sWhjOrhbLM6KWgsnKgrH8hYepbX6/zOYOtUJcDLjIE0BPZCX5hiaR4+7VAPW0tBVaeLdQ==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-19.0.0-rc.1.tgz", + "integrity": "sha512-uHdAJiElXKNOpHuaa9TYfCOarw24Na25LWbVk9hWuLoEMCnN5hh028Tzep5l+g/BNDXR7dXeIvLMa/LBUqEZjQ==", "requires": { "tslib": "^2.3.0" } }, "@angular/platform-server": { - "version": "19.0.0-next.11", - "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-19.0.0-next.11.tgz", - "integrity": "sha512-B9C+rSlNYHM7/imBXxfEsEREH7q5AiaJ/UhEPtJ1kXGVGHZUyF4AY1MTdBkX0A+udsbRs11z9XtpOpAPa830YQ==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-19.0.0-rc.1.tgz", + "integrity": "sha512-pFZRl05Lse4vFejkW1LbxVY2jFY5xVuHZJ6oxzmRKmtj/fpDuI/dcfFbNMk6CPx9zisMbney3NU5LMa/6VnR8w==", "requires": { "tslib": "^2.3.0", "xhr2": "^0.2.0" } }, "@angular/router": { - "version": "19.0.0-next.11", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-19.0.0-next.11.tgz", - "integrity": "sha512-xc0N8rXI8XtkbfWo09qhGrmYQAMOvDOyin0UHDVaUqdAeb4CwGhejmQvVNXCEtlR5knLcWMJ4Rb3erIOWXDCVQ==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-19.0.0-rc.1.tgz", + "integrity": "sha512-fHHY+y2gRfQ6Xt0MF0+Ry/MV1aEXyTNssht/r+J94Y4dIF1LN7TcCbos7fWPus0dENkUOcaoVO2Eod3r+Rm99Q==", "requires": { "tslib": "^2.3.0" } }, "@angular/ssr": { - "version": "19.0.0-next.13", - "resolved": "https://registry.npmjs.org/@angular/ssr/-/ssr-19.0.0-next.13.tgz", - "integrity": "sha512-gn23WkS8q5RbiBa8DiPOY7COQIdKDuys5b9pEKB8OAH+Lfcr4jspSYJohDQ0ZgbEQP9aSYoxiRHPaMn7Cvp/VQ==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@angular/ssr/-/ssr-19.0.0-rc.1.tgz", + "integrity": "sha512-DbWzJK7vAjksTKXTD9YRiytJdVMqk7uB75eZCvU3vclhtKnk9F6dCaE7fidRX0qXRRCWYS5I/H9NYRmbqw7PZw==", "requires": { "tslib": "^2.3.0" } @@ -24176,21 +24058,21 @@ "dev": true }, "@babel/core": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", - "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", + "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", "dev": true, "requires": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.25.0", - "@babel/helper-compilation-targets": "^7.25.2", - "@babel/helper-module-transforms": "^7.25.2", - "@babel/helpers": "^7.25.0", - "@babel/parser": "^7.25.0", - "@babel/template": "^7.25.0", - "@babel/traverse": "^7.25.2", - "@babel/types": "^7.25.2", + "@babel/code-frame": "^7.26.0", + "@babel/generator": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.0", + "@babel/parser": "^7.26.0", + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.26.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -24228,12 +24110,13 @@ } }, "@babel/generator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.9.tgz", - "integrity": "sha512-omlUGkr5EaoIJrhLf9CJ0TvjBRpd9+AXRG//0GEQ9THSo8wPiTlbpy1/Ow8ZTrbXpjd9FHXfbFQx32I04ht0FA==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.2.tgz", + "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==", "dev": true, "requires": { - "@babel/types": "^7.25.9", + "@babel/parser": "^7.26.2", + "@babel/types": "^7.26.0", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" @@ -24576,9 +24459,9 @@ } }, "@babel/plugin-syntax-import-attributes": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.9.tgz", - "integrity": "sha512-u3EN9ub8LyYvgTnrgp8gboElouayiwPdnM7x5tcnW3iSt09/lQYPwMNK40I9IUxo7QOZhAsPHCmmuO7EPdruqg==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", + "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.25.9" @@ -24979,6 +24862,16 @@ "regenerator-transform": "^0.15.2" } }, + "@babel/plugin-transform-regexp-modifiers": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz", + "integrity": "sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + } + }, "@babel/plugin-transform-reserved-words": { "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz", @@ -25096,12 +24989,12 @@ } }, "@babel/preset-env": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.9.tgz", - "integrity": "sha512-XqDEt+hfsQukahSX9JOBDHhpUHDhj2zGSxoqWQFCMajOSBnbhBdgON/bU/5PkBA1yX5tqW6tTzuIPVsZTQ7h5Q==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.0.tgz", + "integrity": "sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==", "dev": true, "requires": { - "@babel/compat-data": "^7.25.9", + "@babel/compat-data": "^7.26.0", "@babel/helper-compilation-targets": "^7.25.9", "@babel/helper-plugin-utils": "^7.25.9", "@babel/helper-validator-option": "^7.25.9", @@ -25111,8 +25004,8 @@ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9", "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-import-assertions": "^7.25.9", - "@babel/plugin-syntax-import-attributes": "^7.25.9", + "@babel/plugin-syntax-import-assertions": "^7.26.0", + "@babel/plugin-syntax-import-attributes": "^7.26.0", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", "@babel/plugin-transform-arrow-functions": "^7.25.9", "@babel/plugin-transform-async-generator-functions": "^7.25.9", @@ -25120,7 +25013,7 @@ "@babel/plugin-transform-block-scoped-functions": "^7.25.9", "@babel/plugin-transform-block-scoping": "^7.25.9", "@babel/plugin-transform-class-properties": "^7.25.9", - "@babel/plugin-transform-class-static-block": "^7.25.9", + "@babel/plugin-transform-class-static-block": "^7.26.0", "@babel/plugin-transform-classes": "^7.25.9", "@babel/plugin-transform-computed-properties": "^7.25.9", "@babel/plugin-transform-destructuring": "^7.25.9", @@ -25153,6 +25046,7 @@ "@babel/plugin-transform-private-property-in-object": "^7.25.9", "@babel/plugin-transform-property-literals": "^7.25.9", "@babel/plugin-transform-regenerator": "^7.25.9", + "@babel/plugin-transform-regexp-modifiers": "^7.26.0", "@babel/plugin-transform-reserved-words": "^7.25.9", "@babel/plugin-transform-shorthand-properties": "^7.25.9", "@babel/plugin-transform-spread": "^7.25.9", @@ -25191,9 +25085,9 @@ } }, "@babel/runtime": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.9.tgz", - "integrity": "sha512-4zpTHZ9Cm6L9L+uIqghQX8ZXg8HKFcjYO3qHoO8zTmRm6HQUJ8SSJ+KRvbMBZn0EGVlT4DRYeQ/6hjlyXBh+Kg==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz", + "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==", "dev": true, "requires": { "regenerator-runtime": "^0.14.0" @@ -25685,9 +25579,9 @@ } }, "@discoveryjs/json-ext": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.2.tgz", - "integrity": "sha512-GHZT40sAqBY7qdKaD7XtaohbX00VDfWjX7A6d0c/dc9bR/2h5I51cVh+TbNKCytBkfV+L+n0bR7OZWNt5r4/CQ==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.3.tgz", + "integrity": "sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==", "dev": true }, "@es-joy/jsdoccomment": { @@ -26008,12 +25902,12 @@ } }, "@inquirer/confirm": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.0.0.tgz", - "integrity": "sha512-6QEzj6bZg8atviRIL+pR0tODC854cYSjvZxkyCarr8DVaOJPEyuGys7GmEG3W0Rb8kKSQec7P6okt0sJvNneFw==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.0.1.tgz", + "integrity": "sha512-6ycMm7k7NUApiMGfVc32yIPp28iPKxhGRMqoNDiUjq2RyTAkbs5Fx0TdzBqhabcKvniDdAAvHCmsRjnNfTsogw==", "dev": true, "requires": { - "@inquirer/core": "^10.0.0", + "@inquirer/core": "^10.0.1", "@inquirer/type": "^3.0.0" } }, @@ -26117,21 +26011,21 @@ } }, "@inquirer/prompts": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.0.0.tgz", - "integrity": "sha512-y8kX/TmyBqV0H1i3cWbhiTljcuBtgVgyVXAVub3ba1j5/G+dxhYohK1JLRkaosPGKKf3LnEJsYK+GPabpfnaHw==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.0.1.tgz", + "integrity": "sha512-cu2CpGC2hz7WTt2VBvdkzahDvYice6vYA/8Dm7Fy3tRNzKuQTF2EY3CV4H2GamveWE6tA2XzyXtbWX8+t4WMQg==", "dev": true, "requires": { - "@inquirer/checkbox": "^4.0.0", - "@inquirer/confirm": "^5.0.0", - "@inquirer/editor": "^4.0.0", - "@inquirer/expand": "^4.0.0", - "@inquirer/input": "^4.0.0", - "@inquirer/number": "^3.0.0", - "@inquirer/password": "^4.0.0", - "@inquirer/rawlist": "^4.0.0", - "@inquirer/search": "^3.0.0", - "@inquirer/select": "^4.0.0" + "@inquirer/checkbox": "^4.0.1", + "@inquirer/confirm": "^5.0.1", + "@inquirer/editor": "^4.0.1", + "@inquirer/expand": "^4.0.1", + "@inquirer/input": "^4.0.1", + "@inquirer/number": "^3.0.1", + "@inquirer/password": "^4.0.1", + "@inquirer/rawlist": "^4.0.1", + "@inquirer/search": "^3.0.1", + "@inquirer/select": "^4.0.1" } }, "@inquirer/rawlist": { @@ -26371,44 +26265,44 @@ } }, "@lmdb/lmdb-darwin-arm64": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.1.3.tgz", - "integrity": "sha512-VV667lP23gIsQkb80rnQwAHjj6F1uZp30qTnvLSlep3pOomzXcQBMFp4ZmJLeGJnnPy54JjNsYBFyg9X95wCPw==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.1.4.tgz", + "integrity": "sha512-bXwBegGNDGAlshGqUmV8MxVFPsqEpU2yWWxoJ4AA4UkEd7gA1Rzh7KtvM5Tww0dQfp5t+P/SjNV3vjpAgof+uA==", "dev": true, "optional": true }, "@lmdb/lmdb-darwin-x64": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.1.3.tgz", - "integrity": "sha512-kuhKKJxGCQr9gBtUd7cVBBn6OtwQg7vIiD5gHEZb+jWLJulg6N4uPSLTab8W9tvpb3ryRTAejMt7F89/2MoRrQ==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.1.4.tgz", + "integrity": "sha512-cb1/yeoUfWhVWqo8VImUWo6bXVn57AHPX98VqIkpfRw5Yh0z2DHPBZmsELb1OLJKeikAAOyxM+vPWRJYtAg9rw==", "dev": true, "optional": true }, "@lmdb/lmdb-linux-arm": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.1.3.tgz", - "integrity": "sha512-R0CkYoJPHUfxPe2LaAqMGwTf5+1eXchUMNISO8OKEvKkS/zg2emIYTOb29v1k8WGSmdJkgQneBav/W3h5NorzA==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.1.4.tgz", + "integrity": "sha512-9O3kU6i7crV0vi+ImbZG6SkD+T8sxjbugq4pY424tjV8X/EjSfs1E0n25We5Z7qpJFxZSJZKsv40tJlz1w4pLg==", "dev": true, "optional": true }, "@lmdb/lmdb-linux-arm64": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.1.3.tgz", - "integrity": "sha512-XnSHGKsJ1Fr5LBjyDkG7JnVJlduhg7AhV1J6YQujStsKnehuiidsNW0InEJrAO4QMHqquwnCfLvU9PPJfpFVYw==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.1.4.tgz", + "integrity": "sha512-Hs1cmv8SKEkczsiQbRYVeqI7vzpJ0LI29RyeaVNDDFJxzoua7IcuyG0wSXu12kpXlGTTLVOh1Wp4rK79Ixpxmg==", "dev": true, "optional": true }, "@lmdb/lmdb-linux-x64": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.1.3.tgz", - "integrity": "sha512-epvFL9/Tem00evtuq05kqWbRppJ4G/D8wa6LnQmOu779VmbrY6+M3v3h4fnt2QqMQt3+J6Cg/gZACDlDcH+eUw==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.1.4.tgz", + "integrity": "sha512-e/xPxFjSBzuN7/nb5WBYO1t9X1NBiNYy+gvWB3rb95K2W5qJU9fnjx+CNFp7ucvQZWF08EsVzMBa7eXKGGmHjg==", "dev": true, "optional": true }, "@lmdb/lmdb-win32-x64": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.1.3.tgz", - "integrity": "sha512-S6P96biJyrt/CUYSP0v4OH1U9ITzHhHCh1kn7hHOscS3S1+T/D74sCJKQ9xb/Raos2NJHqtZ8EyQVEVjOzmqbg==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.1.4.tgz", + "integrity": "sha512-mUcWgKmpbquKaDEcJ+FBtJpcqHvJW2Ce+GKMP/B/Hm9IxGjUfGs0aGlax2Nh/mjzXx/7qfwyCGD8y+KXfDuMsA==", "dev": true, "optional": true }, @@ -26592,9 +26486,9 @@ "optional": true }, "@ngtools/webpack": { - "version": "19.0.0-next.13", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-19.0.0-next.13.tgz", - "integrity": "sha512-7QVpml62BlN9qMArPzrxMkMyjCBVK4+BhSgwaVUdkFVHTi8H3l70Jw8g3FtRC1grKZ4ZIqUXg9NO/oppaWe/QQ==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-19.0.0-rc.1.tgz", + "integrity": "sha512-0NrAnfodGdJYND9MG7PGlTf2rBydRl0zUBSLjbpxMygxfSXix0ZBqgmojr/1bsBr6wksoVRvPmsDwP6Ad0R19A==", "dev": true }, "@ngxs/storage-plugin": { @@ -26912,6 +26806,7 @@ "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz", "integrity": "sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==", "dev": true, + "optional": true, "requires": { "@parcel/watcher-android-arm64": "2.4.1", "@parcel/watcher-darwin-arm64": "2.4.1", @@ -26935,13 +26830,15 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", - "dev": true + "dev": true, + "optional": true }, "node-addon-api": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", - "dev": true + "dev": true, + "optional": true } } }, @@ -27063,114 +26960,128 @@ } }, "@rollup/rollup-android-arm-eabi": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.0.tgz", - "integrity": "sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.4.tgz", + "integrity": "sha512-jfUJrFct/hTA0XDM5p/htWKoNNTbDLY0KRwEt6pyOA6k2fmk0WVwl65PdUdJZgzGEHWx+49LilkcSaumQRyNQw==", "dev": true, "optional": true }, "@rollup/rollup-android-arm64": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.0.tgz", - "integrity": "sha512-ijLnS1qFId8xhKjT81uBHuuJp2lU4x2yxa4ctFPtG+MqEE6+C5f/+X/bStmxapgmwLwiL3ih122xv8kVARNAZA==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.4.tgz", + "integrity": "sha512-j4nrEO6nHU1nZUuCfRKoCcvh7PIywQPUCBa2UsootTHvTHIoIu2BzueInGJhhvQO/2FTRdNYpf63xsgEqH9IhA==", "dev": true, "optional": true }, "@rollup/rollup-darwin-arm64": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.0.tgz", - "integrity": "sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.4.tgz", + "integrity": "sha512-GmU/QgGtBTeraKyldC7cDVVvAJEOr3dFLKneez/n7BvX57UdhOqDsVwzU7UOnYA7AAOt+Xb26lk79PldDHgMIQ==", "dev": true, "optional": true }, "@rollup/rollup-darwin-x64": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.0.tgz", - "integrity": "sha512-X6/nOwoFN7RT2svEQWUsW/5C/fYMBe4fnLK9DQk4SX4mgVBiTA9h64kjUYPvGQ0F/9xwJ5U5UfTbl6BEjaQdBQ==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.4.tgz", + "integrity": "sha512-N6oDBiZCBKlwYcsEPXGDE4g9RoxZLK6vT98M8111cW7VsVJFpNEqvJeIPfsCzbf0XEakPslh72X0gnlMi4Ddgg==", + "dev": true, + "optional": true + }, + "@rollup/rollup-freebsd-arm64": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.24.4.tgz", + "integrity": "sha512-py5oNShCCjCyjWXCZNrRGRpjWsF0ic8f4ieBNra5buQz0O/U6mMXCpC1LvrHuhJsNPgRt36tSYMidGzZiJF6mw==", + "dev": true, + "optional": true + }, + "@rollup/rollup-freebsd-x64": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.24.4.tgz", + "integrity": "sha512-L7VVVW9FCnTTp4i7KrmHeDsDvjB4++KOBENYtNYAiYl96jeBThFfhP6HVxL74v4SiZEVDH/1ILscR5U9S4ms4g==", "dev": true, "optional": true }, "@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.0.tgz", - "integrity": "sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.4.tgz", + "integrity": "sha512-10ICosOwYChROdQoQo589N5idQIisxjaFE/PAnX2i0Zr84mY0k9zul1ArH0rnJ/fpgiqfu13TFZR5A5YJLOYZA==", "dev": true, "optional": true }, "@rollup/rollup-linux-arm-musleabihf": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.0.tgz", - "integrity": "sha512-it2BW6kKFVh8xk/BnHfakEeoLPv8STIISekpoF+nBgWM4d55CZKc7T4Dx1pEbTnYm/xEKMgy1MNtYuoA8RFIWw==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.4.tgz", + "integrity": "sha512-ySAfWs69LYC7QhRDZNKqNhz2UKN8LDfbKSMAEtoEI0jitwfAG2iZwVqGACJT+kfYvvz3/JgsLlcBP+WWoKCLcw==", "dev": true, "optional": true }, "@rollup/rollup-linux-arm64-gnu": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.0.tgz", - "integrity": "sha512-i0xTLXjqap2eRfulFVlSnM5dEbTVque/3Pi4g2y7cxrs7+a9De42z4XxKLYJ7+OhE3IgxvfQM7vQc43bwTgPwA==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.4.tgz", + "integrity": "sha512-uHYJ0HNOI6pGEeZ/5mgm5arNVTI0nLlmrbdph+pGXpC9tFHFDQmDMOEqkmUObRfosJqpU8RliYoGz06qSdtcjg==", "dev": true, "optional": true }, "@rollup/rollup-linux-arm64-musl": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.0.tgz", - "integrity": "sha512-9E6MKUJhDuDh604Qco5yP/3qn3y7SLXYuiC0Rpr89aMScS2UAmK1wHP2b7KAa1nSjWJc/f/Lc0Wl1L47qjiyQw==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.4.tgz", + "integrity": "sha512-38yiWLemQf7aLHDgTg85fh3hW9stJ0Muk7+s6tIkSUOMmi4Xbv5pH/5Bofnsb6spIwD5FJiR+jg71f0CH5OzoA==", "dev": true, "optional": true }, "@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.0.tgz", - "integrity": "sha512-2XFFPJ2XMEiF5Zi2EBf4h73oR1V/lycirxZxHZNc93SqDN/IWhYYSYj8I9381ikUFXZrz2v7r2tOVk2NBwxrWw==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.4.tgz", + "integrity": "sha512-q73XUPnkwt9ZNF2xRS4fvneSuaHw2BXuV5rI4cw0fWYVIWIBeDZX7c7FWhFQPNTnE24172K30I+dViWRVD9TwA==", "dev": true, "optional": true }, "@rollup/rollup-linux-riscv64-gnu": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.0.tgz", - "integrity": "sha512-M3Dg4hlwuntUCdzU7KjYqbbd+BLq3JMAOhCKdBE3TcMGMZbKkDdJ5ivNdehOssMCIokNHFOsv7DO4rlEOfyKpg==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.4.tgz", + "integrity": "sha512-Aie/TbmQi6UXokJqDZdmTJuZBCU3QBDA8oTKRGtd4ABi/nHgXICulfg1KI6n9/koDsiDbvHAiQO3YAUNa/7BCw==", "dev": true, "optional": true }, "@rollup/rollup-linux-s390x-gnu": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.0.tgz", - "integrity": "sha512-mjBaoo4ocxJppTorZVKWFpy1bfFj9FeCMJqzlMQGjpNPY9JwQi7OuS1axzNIk0nMX6jSgy6ZURDZ2w0QW6D56g==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.4.tgz", + "integrity": "sha512-P8MPErVO/y8ohWSP9JY7lLQ8+YMHfTI4bAdtCi3pC2hTeqFJco2jYspzOzTUB8hwUWIIu1xwOrJE11nP+0JFAQ==", "dev": true, "optional": true }, "@rollup/rollup-linux-x64-gnu": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.0.tgz", - "integrity": "sha512-ZXFk7M72R0YYFN5q13niV0B7G8/5dcQ9JDp8keJSfr3GoZeXEoMHP/HlvqROA3OMbMdfr19IjCeNAnPUG93b6A==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.4.tgz", + "integrity": "sha512-K03TljaaoPK5FOyNMZAAEmhlyO49LaE4qCsr0lYHUKyb6QacTNF9pnfPpXnFlFD3TXuFbFbz7tJ51FujUXkXYA==", "dev": true, "optional": true }, "@rollup/rollup-linux-x64-musl": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.0.tgz", - "integrity": "sha512-w1i+L7kAXZNdYl+vFvzSZy8Y1arS7vMgIy8wusXJzRrPyof5LAb02KGr1PD2EkRcl73kHulIID0M501lN+vobQ==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.4.tgz", + "integrity": "sha512-VJYl4xSl/wqG2D5xTYncVWW+26ICV4wubwN9Gs5NrqhJtayikwCXzPL8GDsLnaLU3WwhQ8W02IinYSFJfyo34Q==", "dev": true, "optional": true }, "@rollup/rollup-win32-arm64-msvc": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.0.tgz", - "integrity": "sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.4.tgz", + "integrity": "sha512-ku2GvtPwQfCqoPFIJCqZ8o7bJcj+Y54cZSr43hHca6jLwAiCbZdBUOrqE6y29QFajNAzzpIOwsckaTFmN6/8TA==", "dev": true, "optional": true }, "@rollup/rollup-win32-ia32-msvc": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.0.tgz", - "integrity": "sha512-xrNcGDU0OxVcPTH/8n/ShH4UevZxKIO6HJFK0e15XItZP2UcaiLFd5kiX7hJnqCbSztUF8Qot+JWBC/QXRPYWQ==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.4.tgz", + "integrity": "sha512-V3nCe+eTt/W6UYNr/wGvO1fLpHUrnlirlypZfKCT1fG6hWfqhPgQV/K/mRBXBpxc0eKLIF18pIOFVPh0mqHjlg==", "dev": true, "optional": true }, "@rollup/rollup-win32-x64-msvc": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.0.tgz", - "integrity": "sha512-fbMkAF7fufku0N2dE5TBXcNlg0pt0cJue4xBRE2Qc5Vqikxr4VCgKj/ht6SMdFcOacVA9rqF70APJ8RN/4vMJw==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.4.tgz", + "integrity": "sha512-LTw1Dfd0mBIEqUVCxbvTE/LLo+9ZxVC9k99v1v4ahg9Aak6FpqOfNu5kRkeTAn0wphoC4JU7No1/rL+bBCEwhg==", "dev": true, "optional": true }, @@ -27191,13 +27102,13 @@ "dev": true }, "@schematics/angular": { - "version": "19.0.0-next.13", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-19.0.0-next.13.tgz", - "integrity": "sha512-TuyEl6vP23NlxO1A02YLEVqXon+NVNQetgwdDPwTBwK/YQqErGPjAwqqhKXMLVAuEEHcs0krPBjvyT44MZkUBQ==", + "version": "19.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-19.0.0-rc.1.tgz", + "integrity": "sha512-ognh6k5b6r8SGaYiUVMeW+TM4nwvq/VIkhVY8vnbkSWCoywaRUh7IFbwQ1UlCkc2WAogSR+4lmv6cEsy5X72NQ==", "dev": true, "requires": { - "@angular-devkit/core": "19.0.0-next.13", - "@angular-devkit/schematics": "19.0.0-next.13", + "@angular-devkit/core": "19.0.0-rc.1", + "@angular-devkit/schematics": "19.0.0-rc.1", "jsonc-parser": "3.3.1" } }, @@ -27696,6 +27607,26 @@ "@types/node": "*" } }, + "@types/eslint": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, "@types/estree": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", @@ -27781,9 +27712,9 @@ "dev": true }, "@types/node": { - "version": "22.8.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.4.tgz", - "integrity": "sha512-SpNNxkftTJOPk0oN+y2bIqurEXHTA2AOZ3EJDDKeJ5VzkvvORSvmQXGQarcOzWV1ac7DCaPBEdMDxBsM+d8jWw==", + "version": "22.9.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.0.tgz", + "integrity": "sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==", "dev": true, "requires": { "undici-types": "~6.19.8" @@ -28076,148 +28007,148 @@ "dev": true }, "@webassemblyjs/ast": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", - "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", "dev": true, "requires": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" } }, "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", "dev": true }, "@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", "dev": true }, "@webassemblyjs/helper-buffer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", - "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", "dev": true }, "@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", "dev": true, "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", "@xtuc/long": "4.2.2" } }, "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", "dev": true }, "@webassemblyjs/helper-wasm-section": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", - "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.12.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" } }, "@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" } }, "@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", "dev": true, "requires": { "@xtuc/long": "4.2.2" } }, "@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", "dev": true }, "@webassemblyjs/wasm-edit": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", - "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", "dev": true, "requires": { - "@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" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" } }, "@webassemblyjs/wasm-gen": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", - "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", "dev": true, "requires": { - "@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" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" } }, "@webassemblyjs/wasm-opt": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", - "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.12.1", - "@webassemblyjs/helper-buffer": "1.12.1", - "@webassemblyjs/wasm-gen": "1.12.1", - "@webassemblyjs/wasm-parser": "1.12.1" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" } }, "@webassemblyjs/wasm-parser": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", - "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", "dev": true, "requires": { - "@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" + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" } }, "@webassemblyjs/wast-printer": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", - "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/ast": "1.14.1", "@xtuc/long": "4.2.2" } }, @@ -28256,15 +28187,9 @@ } }, "acorn": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", - "dev": true - }, - "acorn-import-attributes": { - "version": "1.9.5", - "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", - "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", "dev": true }, "acorn-jsx": { @@ -28827,6 +28752,36 @@ "integrity": "sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms=", "dev": true }, + "beasties": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/beasties/-/beasties-0.1.0.tgz", + "integrity": "sha512-+Ssscd2gVG24qRNC+E2g88D+xsQW4xwakWtKAiGEQ3Pw54/FGdyo9RrfxhGhEv6ilFVbB7r3Lgx+QnAxnSpECw==", + "dev": true, + "requires": { + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "htmlparser2": "^9.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", + "postcss-media-query-parser": "^0.2.3" + }, + "dependencies": { + "htmlparser2": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz", + "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.1.0", + "entities": "^4.5.0" + } + } + } + }, "big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", @@ -29240,9 +29195,9 @@ "dev": true }, "chromedriver": { - "version": "130.0.1", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-130.0.1.tgz", - "integrity": "sha512-JH+OxDZ7gVv02r9oXwj4mQ8JCtj62g0fCD1LMUUYdB/4mPxn/E2ys+1IzXItoE7vXM9fGVc9R1akvXLqwwuSww==", + "version": "130.0.4", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-130.0.4.tgz", + "integrity": "sha512-lpR+PWXszij1k4Ig3t338Zvll9HtCTiwoLM7n4pCCswALHxzmgwaaIFBh3rt9+5wRk9D07oFblrazrBxwaYYAQ==", "dev": true, "requires": { "@testim/chrome-version": "^1.1.4", @@ -29663,21 +29618,6 @@ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", "dev": true }, - "critters": { - "version": "0.0.25", - "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.25.tgz", - "integrity": "sha512-ROF/tjJyyRdM8/6W0VqoN5Ql05xAGnkf5b7f3sTEl1bI5jTQQf8O918RD/V9tEb9pRY/TKcvJekDbJtniHyPtQ==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "css-select": "^5.1.0", - "dom-serializer": "^2.0.0", - "domhandler": "^5.0.2", - "htmlparser2": "^8.0.2", - "postcss": "^8.4.23", - "postcss-media-query-parser": "^0.2.3" - } - }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -33330,22 +33270,22 @@ } }, "lmdb": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.1.3.tgz", - "integrity": "sha512-WQcfSoOTw+XfBXQN4dRN1Ke5vv+NgmOWs4wH8oh4jYFmPZIaVPiQVF+0nGdjQDLGDcrMMyr2C34cG6WZPes6xQ==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.1.4.tgz", + "integrity": "sha512-M3P0HBm0e6SUCrWqMf+wjs5LTRQekh1TtC10e3NjCfLECCXLRXHFROG2kErdyyv2MQ5335Qvb3KQKCSLUuwUDg==", "dev": true, "optional": true, "requires": { - "@lmdb/lmdb-darwin-arm64": "3.1.3", - "@lmdb/lmdb-darwin-x64": "3.1.3", - "@lmdb/lmdb-linux-arm": "3.1.3", - "@lmdb/lmdb-linux-arm64": "3.1.3", - "@lmdb/lmdb-linux-x64": "3.1.3", - "@lmdb/lmdb-win32-x64": "3.1.3", + "@lmdb/lmdb-darwin-arm64": "3.1.4", + "@lmdb/lmdb-darwin-x64": "3.1.4", + "@lmdb/lmdb-linux-arm": "3.1.4", + "@lmdb/lmdb-linux-arm64": "3.1.4", + "@lmdb/lmdb-linux-x64": "3.1.4", + "@lmdb/lmdb-win32-x64": "3.1.4", "msgpackr": "^1.10.2", "node-addon-api": "^6.1.0", "node-gyp-build-optional-packages": "5.2.2", - "ordered-binary": "^1.4.1", + "ordered-binary": "^1.5.2", "weak-lru-cache": "^1.2.2" } }, @@ -33781,9 +33721,9 @@ "dev": true }, "mini-css-extract-plugin": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.1.tgz", - "integrity": "sha512-+Vyi+GCCOHnrJ2VPS+6aPoXN2k2jgUzDRhTFLjjTBn23qyXJXkjUWQgTL+mXpF5/A8ixLdCc6kWsoeOjKGejKQ==", + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.2.tgz", + "integrity": "sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==", "dev": true, "requires": { "schema-utils": "^4.0.0", @@ -33981,9 +33921,9 @@ "dev": true }, "msgpackr": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.0.tgz", - "integrity": "sha512-I8qXuuALqJe5laEBYoFykChhSXLikZmUhccjGsPuSJ/7uPip2TJ7lwdIQwWSAi0jGZDXv4WOP8Qg65QZRuXxXw==", + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.2.tgz", + "integrity": "sha512-F9UngXRlPyWCDEASDpTf6c9uNhGPTqnTeLVt7bN+bU1eajoR/8V9ys2BRaV5C/e5ihE6sJ9uPIKaYt6bFuO32g==", "dev": true, "optional": true, "requires": { @@ -34106,9 +34046,9 @@ "dev": true }, "ng-packagr": { - "version": "19.0.0-next.7", - "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-19.0.0-next.7.tgz", - "integrity": "sha512-tJrr3YEd6MqlgWHyPyG53wnimt/TPh52HXV+jmaeZnwMmrkuwJXhJGuRr56X6hsTBPyYsdSqEszgAgSoGyN5tQ==", + "version": "19.0.0-rc.0", + "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-19.0.0-rc.0.tgz", + "integrity": "sha512-s+9tynvmsqNflv4qM8/Fli/Mv2omFTpau7bWlgjakHBh5GCNM2YHu1rqUsc70JWmOmHDQ9LHTvxQyD5VdF3msg==", "dev": true, "requires": { "@rollup/plugin-json": "^6.1.0", @@ -34882,9 +34822,9 @@ } }, "ordered-binary": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.5.2.tgz", - "integrity": "sha512-JTo+4+4Fw7FreyAvlSLjb1BBVaxEQAacmjD3jjuyPZclpbEghTvQZbXBb2qPd2LeIMxiHwXBZUcpmG2Gl/mDEA==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.5.3.tgz", + "integrity": "sha512-oGFr3T+pYdTGJ+YFEILMpS3es+GiIbs9h/XQrclBXUtd44ey7XwfsMzM31f64I1SQOawDoDr/D823kNCADI8TA==", "dev": true, "optional": true }, @@ -35394,9 +35334,9 @@ "dev": true }, "picocolors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", - "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "dev": true }, "picomatch": { @@ -36280,27 +36220,29 @@ } }, "rollup": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.0.tgz", - "integrity": "sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==", - "dev": true, - "requires": { - "@rollup/rollup-android-arm-eabi": "4.24.0", - "@rollup/rollup-android-arm64": "4.24.0", - "@rollup/rollup-darwin-arm64": "4.24.0", - "@rollup/rollup-darwin-x64": "4.24.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.24.0", - "@rollup/rollup-linux-arm-musleabihf": "4.24.0", - "@rollup/rollup-linux-arm64-gnu": "4.24.0", - "@rollup/rollup-linux-arm64-musl": "4.24.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.24.0", - "@rollup/rollup-linux-riscv64-gnu": "4.24.0", - "@rollup/rollup-linux-s390x-gnu": "4.24.0", - "@rollup/rollup-linux-x64-gnu": "4.24.0", - "@rollup/rollup-linux-x64-musl": "4.24.0", - "@rollup/rollup-win32-arm64-msvc": "4.24.0", - "@rollup/rollup-win32-ia32-msvc": "4.24.0", - "@rollup/rollup-win32-x64-msvc": "4.24.0", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.4.tgz", + "integrity": "sha512-vGorVWIsWfX3xbcyAS+I047kFKapHYivmkaT63Smj77XwvLSJos6M1xGqZnBPFQFBRZDOcG1QnYEIxAvTr/HjA==", + "dev": true, + "requires": { + "@rollup/rollup-android-arm-eabi": "4.24.4", + "@rollup/rollup-android-arm64": "4.24.4", + "@rollup/rollup-darwin-arm64": "4.24.4", + "@rollup/rollup-darwin-x64": "4.24.4", + "@rollup/rollup-freebsd-arm64": "4.24.4", + "@rollup/rollup-freebsd-x64": "4.24.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.24.4", + "@rollup/rollup-linux-arm-musleabihf": "4.24.4", + "@rollup/rollup-linux-arm64-gnu": "4.24.4", + "@rollup/rollup-linux-arm64-musl": "4.24.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.24.4", + "@rollup/rollup-linux-riscv64-gnu": "4.24.4", + "@rollup/rollup-linux-s390x-gnu": "4.24.4", + "@rollup/rollup-linux-x64-gnu": "4.24.4", + "@rollup/rollup-linux-x64-musl": "4.24.4", + "@rollup/rollup-win32-arm64-msvc": "4.24.4", + "@rollup/rollup-win32-ia32-msvc": "4.24.4", + "@rollup/rollup-win32-x64-msvc": "4.24.4", "@types/estree": "1.0.6", "fsevents": "~2.3.2" } @@ -36372,9 +36314,9 @@ "dev": true }, "sass": { - "version": "1.80.3", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.80.3.tgz", - "integrity": "sha512-ptDWyVmDMVielpz/oWy3YP3nfs7LpJTHIJZboMVs8GEC9eUmtZTZhMHlTW98wY4aEorDfjN38+Wr/XjskFWcfA==", + "version": "1.80.6", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.80.6.tgz", + "integrity": "sha512-ccZgdHNiBF1NHBsWvacvT5rju3y1d/Eu+8Ex6c21nHp2lZGLBEtuwc415QfiI1PJa1TpCo3iXwwSRjRpn2Ckjg==", "dev": true, "requires": { "@parcel/watcher": "^2.4.1", @@ -36401,9 +36343,9 @@ } }, "sass-loader": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.2.tgz", - "integrity": "sha512-Ll6iXZ1EYwYT19SqW4mSBb76vSSi8JgzElmzIerhEGgzB5hRjDQIWsPmuk1UrAXkR16KJHqVY0eH+5/uw9Tmfw==", + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.3.tgz", + "integrity": "sha512-gosNorT1RCkuCMyihv6FBRR7BMV06oKRAs+l4UMp1mlcVg9rWN6KMmUj3igjQwmYys4mDP3etEYJgiHRbgHCHA==", "dev": true, "requires": { "neo-async": "^2.6.2" @@ -37618,9 +37560,9 @@ } }, "tslib": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", - "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==" + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" }, "tuf-js": { "version": "3.0.1", @@ -38123,9 +38065,9 @@ "dev": true }, "uuid": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.0.2.tgz", - "integrity": "sha512-14FfcOJmqdjbBPdDjFQyk/SdT4NySW4eM0zcG+HqbHP5jzuH56xO3J1DGhgs/cEMCfwYi3HQI1gnTO62iaG+tQ==" + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.0.3.tgz", + "integrity": "sha512-d0z310fCWv5dJwnX1Y/MncBAqGMKEzlBb1AOf7z9K8ALnd0utBX/msg/fA0+sbyN1ihbMsLhrBlnl1ak7Wa0rg==" }, "v8-compile-cache-lib": { "version": "3.0.1", @@ -38546,18 +38488,18 @@ } }, "webpack": { - "version": "5.95.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.95.0.tgz", - "integrity": "sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==", + "version": "5.96.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.96.1.tgz", + "integrity": "sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA==", "dev": true, "requires": { - "@types/estree": "^1.0.5", + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.6", "@webassemblyjs/ast": "^1.12.1", "@webassemblyjs/wasm-edit": "^1.12.1", "@webassemblyjs/wasm-parser": "^1.12.1", - "acorn": "^8.7.1", - "acorn-import-attributes": "^1.9.5", - "browserslist": "^4.21.10", + "acorn": "^8.14.0", + "browserslist": "^4.24.0", "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^5.17.1", "es-module-lexer": "^1.2.1", diff --git a/package.json b/package.json index a69f7a64..5e71e564 100644 --- a/package.json +++ b/package.json @@ -65,18 +65,18 @@ }, "private": true, "dependencies": { - "@angular/animations": "^19.0.0-next.11", - "@angular/cdk": "^19.0.0-next.10", - "@angular/common": "^19.0.0-next.11", - "@angular/compiler": "^19.0.0-next.11", - "@angular/core": "^19.0.0-next.11", - "@angular/forms": "^19.0.0-next.11", - "@angular/material": "^19.0.0-next.10", - "@angular/platform-browser": "^19.0.0-next.11", - "@angular/platform-browser-dynamic": "^19.0.0-next.11", - "@angular/platform-server": "^19.0.0-next.11", - "@angular/router": "^19.0.0-next.11", - "@angular/ssr": "^19.0.0-next.13", + "@angular/animations": "^19.0.0-rc.1", + "@angular/cdk": "^19.0.0-rc.1", + "@angular/common": "^19.0.0-rc.1", + "@angular/compiler": "^19.0.0-rc.1", + "@angular/core": "^19.0.0-rc.1", + "@angular/forms": "^19.0.0-rc.1", + "@angular/material": "^19.0.0-rc.1", + "@angular/platform-browser": "^19.0.0-rc.1", + "@angular/platform-browser-dynamic": "^19.0.0-rc.1", + "@angular/platform-server": "^19.0.0-rc.1", + "@angular/router": "^19.0.0-rc.1", + "@angular/ssr": "^19.0.0-rc.1", "@ngxs/storage-plugin": "^18.1.4", "@ngxs/store": "^18.1.4", "bootstrap": "^5.2.3", @@ -85,31 +85,31 @@ "monaco-editor": "^0.51.0", "rxjs": "^7.4.0", "tslib": "^2.6.3", - "uuid": "^11.0.2", + "uuid": "^11.0.3", "zone.js": "~0.15.0" }, "devDependencies": { - "@angular-devkit/build-angular": "^19.0.0-next.13", - "@angular-devkit/core": "^19.0.0-next.13", - "@angular-devkit/schematics": "^19.0.0-next.13", + "@angular-devkit/build-angular": "^19.0.0-rc.1", + "@angular-devkit/core": "^19.0.0-rc.1", + "@angular-devkit/schematics": "^19.0.0-rc.1", "@angular-eslint/builder": "^18.4.0", "@angular-eslint/eslint-plugin": "^18.4.0", "@angular-eslint/eslint-plugin-template": "^18.4.0", "@angular-eslint/schematics": "^18.4.0", "@angular-eslint/template-parser": "^18.4.0", - "@angular/cli": "^19.0.0-next.13", - "@angular/compiler-cli": "^19.0.0-next.11", - "@angular/language-service": "^19.0.0-next.11", + "@angular/cli": "^19.0.0-rc.1", + "@angular/compiler-cli": "^19.0.0-rc.1", + "@angular/language-service": "^19.0.0-rc.1", "@compodoc/compodoc": "^1.1.26", "@types/inputmask": "^5.0.7", "@types/jasmine": "~5.1.4", "@types/jasminewd2": "~2.0.13", - "@types/node": "~22.8.4", + "@types/node": "~22.9.0", "@types/uuid": "^10.0.0", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@typescript-eslint/utils": "^7.18.0", - "chromedriver": "^130.0.1", + "chromedriver": "^130.0.4", "eslint": "^8.57.1", "eslint-config-prettier": "^9.1.0", "eslint-import-resolver-typescript": "^3.6.3", @@ -127,7 +127,7 @@ "karma-jasmine-html-reporter": "^2.1.0", "karma-junit-reporter": "^2.0.1", "ng-mocks": "^14.13.1", - "ng-packagr": "^19.0.0-next.7", + "ng-packagr": "^19.0.0-rc.0", "prettier": "^3.3.3", "prettier-eslint": "^16.3.0", "protractor": "~7.0.0", From bd55889daff3c2a329ae8a689472a321a970443c Mon Sep 17 00:00:00 2001 From: Alexander Gebuhr Date: Mon, 11 Nov 2024 08:50:39 +0100 Subject: [PATCH 04/20] Migration from protractor to playwright --- .gitignore | 5 + angular.json | 12 +- apps/demo-e2e/protractor.conf.azure.js | 56 - apps/demo-e2e/protractor.conf.js | 51 - apps/demo-e2e/src/app.e2e-spec.ts | 19 - apps/demo-e2e/src/app.po.ts | 7 - apps/demo-e2e/src/app.spec.ts | 10 + apps/demo-e2e/src/editor/editor.e2e-spec.ts | 22 - apps/demo-e2e/src/editor/editor.po.ts | 7 - apps/demo-e2e/src/editor/editor.spec.ts | 16 + apps/demo-e2e/src/examples/elements.ts | 144 +- .../src/examples/examples.e2e-spec.ts | 122 - apps/demo-e2e/src/examples/examples.po.ts | 191 - apps/demo-e2e/src/examples/examples.spec.ts | 196 + apps/demo-e2e/src/page-base.ts | 31 - dynamic-forms-e2e.yml | 21 +- .../dynamic-form-input-mask.directive.spec.ts | 12 + .../lib/dynamic-form-input-mask.directive.ts | 4 + .../dynamic-form-file.directive.spec.ts | 12 + .../dynamic-form-file.directive.ts | 4 + package-lock.json | 3251 ++--------------- package.json | 12 +- playwright.config.ts | 74 + 23 files changed, 783 insertions(+), 3496 deletions(-) delete mode 100644 apps/demo-e2e/protractor.conf.azure.js delete mode 100644 apps/demo-e2e/protractor.conf.js delete mode 100644 apps/demo-e2e/src/app.e2e-spec.ts delete mode 100644 apps/demo-e2e/src/app.po.ts create mode 100644 apps/demo-e2e/src/app.spec.ts delete mode 100644 apps/demo-e2e/src/editor/editor.e2e-spec.ts delete mode 100644 apps/demo-e2e/src/editor/editor.po.ts create mode 100644 apps/demo-e2e/src/editor/editor.spec.ts delete mode 100644 apps/demo-e2e/src/examples/examples.e2e-spec.ts delete mode 100644 apps/demo-e2e/src/examples/examples.po.ts create mode 100644 apps/demo-e2e/src/examples/examples.spec.ts delete mode 100644 apps/demo-e2e/src/page-base.ts create mode 100644 playwright.config.ts diff --git a/.gitignore b/.gitignore index d593f6f7..aa68b251 100644 --- a/.gitignore +++ b/.gitignore @@ -51,3 +51,8 @@ testem.log .DS_Store Thumbs.db + +# Playwright +/test-results/ +/playwright-report/ +/playwright/.cache/ diff --git a/angular.json b/angular.json index 706f4d19..f92e9a88 100644 --- a/angular.json +++ b/angular.json @@ -335,21 +335,13 @@ } }, "e2e": { - "builder": "@angular-devkit/build-angular:protractor", + "builder": "playwright-ng-schematics:playwright", "options": { - "protractorConfig": "apps/demo-e2e/protractor.conf.js", "devServerTarget": "dynamic-forms-demo:serve" }, "configurations": { "production": { "devServerTarget": "dynamic-forms-demo:serve:production" - }, - "azure": { - "protractorConfig": "apps/demo-e2e/protractor.conf.azure.js" - }, - "azure-production": { - "devServerTarget": "dynamic-forms-demo:serve:production", - "protractorConfig": "apps/demo-e2e/protractor.conf.azure.js" } } } @@ -362,4 +354,4 @@ "@angular-eslint/schematics" ] } -} +} \ No newline at end of file diff --git a/apps/demo-e2e/protractor.conf.azure.js b/apps/demo-e2e/protractor.conf.azure.js deleted file mode 100644 index 35103b1f..00000000 --- a/apps/demo-e2e/protractor.conf.azure.js +++ /dev/null @@ -1,56 +0,0 @@ -// Protractor configuration file, see link for more information -// https://github.com/angular/protractor/blob/master/lib/config.ts - -const os = require('os'); -const path = require('path'); -const { SpecReporter } = require('jasmine-spec-reporter'); -const BeautifulReporter = require('protractor-beautiful-reporter'); - -const chromeDriverFileName = os.type() === 'Windows_NT' ? 'chromedriver.exe' : 'chromedriver'; -const chromeDriver = process.env.CHROMEWEBDRIVER ? path.join(process.env.CHROMEWEBDRIVER, chromeDriverFileName) : null; - -const specReporter = new SpecReporter({ - spec: { - displayStacktrace: true - } -}); - -const beautifulReporter = new BeautifulReporter({ - baseDirectory: 'dist/v19/e2e', - screenshotsSubfolder: 'screenshots', - jsonsSubfolder: 'jsons', - takeScreenShotsOnlyForFailedSpecs: false, - docName: 'report.html', - docTitle: 'dynamic-forms - demo - e2e', - preserveDirectory: false -}); - -exports.config = { - allScriptsTimeout: 11000, - specs: [ - './src/**/*.e2e-spec.ts' - ], - capabilities: { - browserName: 'chrome', - chromeOptions: { - args: [ '--headless' ] - } - }, - chromeDriver: chromeDriver, - directConnect: true, - baseUrl: 'http://localhost:4200/', - framework: 'jasmine', - jasmineNodeOpts: { - showColors: true, - defaultTimeoutInterval: 60000, - print: function() {} - }, - onPrepare() { - require('ts-node').register({ - project: require('path').join(__dirname, './tsconfig.e2e.json') - }); - jasmine.getEnv().addReporter(specReporter); - jasmine.getEnv().addReporter(beautifulReporter.getJasmine2Reporter()); - }, - SELENIUM_PROMISE_MANAGER: false -}; diff --git a/apps/demo-e2e/protractor.conf.js b/apps/demo-e2e/protractor.conf.js deleted file mode 100644 index 4cec3ba7..00000000 --- a/apps/demo-e2e/protractor.conf.js +++ /dev/null @@ -1,51 +0,0 @@ -// Protractor configuration file, see link for more information -// https://github.com/angular/protractor/blob/master/lib/config.ts - -const { SpecReporter } = require('jasmine-spec-reporter'); -const BeautifulReporter = require('protractor-beautiful-reporter'); - -const specReporter = new SpecReporter({ - spec: { - displayStacktrace: true - } -}); - -const beautifulReporter = new BeautifulReporter({ - baseDirectory: 'dist/v19/e2e', - screenshotsSubfolder: 'screenshots', - jsonsSubfolder: 'jsons', - takeScreenShotsOnlyForFailedSpecs: false, - docName: 'report.html', - docTitle: 'dynamic-forms - demo - e2e', - preserveDirectory: false -}); - -exports.config = { - allScriptsTimeout: 11000, - specs: [ - './src/**/*.e2e-spec.ts' - ], - capabilities: { - browserName: 'chrome', - chromeOptions: { - args: [] - } - }, - chromeDriver: require(`chromedriver/lib/chromedriver`).path, - directConnect: true, - baseUrl: 'http://localhost:4200/', - framework: 'jasmine', - jasmineNodeOpts: { - showColors: true, - defaultTimeoutInterval: 60000, - print: function() {} - }, - onPrepare() { - require('ts-node').register({ - project: require('path').join(__dirname, './tsconfig.e2e.json') - }); - jasmine.getEnv().addReporter(specReporter); - jasmine.getEnv().addReporter(beautifulReporter.getJasmine2Reporter()); - }, - SELENIUM_PROMISE_MANAGER: false -}; diff --git a/apps/demo-e2e/src/app.e2e-spec.ts b/apps/demo-e2e/src/app.e2e-spec.ts deleted file mode 100644 index 9060cb70..00000000 --- a/apps/demo-e2e/src/app.e2e-spec.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { browser } from 'protractor'; -import remote from 'selenium-webdriver/remote'; -import { AppPage } from './app.po'; - -describe('dynamic-forms demo app', () => { - let page: AppPage; - - beforeEach(() => { - browser.setFileDetector(new remote.FileDetector()); - page = new AppPage(); - }); - - it('has url and title', async () => { - await page.navigateTo(); - - expect(await page.getUrl()).toContain('/home'); - expect(await page.getTitle()).toEqual('dynamic-forms'); - }); -}); diff --git a/apps/demo-e2e/src/app.po.ts b/apps/demo-e2e/src/app.po.ts deleted file mode 100644 index dd366fd2..00000000 --- a/apps/demo-e2e/src/app.po.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { Page } from './page-base'; - -export class AppPage extends Page { - constructor() { - super('/'); - } -} diff --git a/apps/demo-e2e/src/app.spec.ts b/apps/demo-e2e/src/app.spec.ts new file mode 100644 index 00000000..87f72cdd --- /dev/null +++ b/apps/demo-e2e/src/app.spec.ts @@ -0,0 +1,10 @@ +import { expect, test } from '@playwright/test'; + +test.describe('dynamic-forms demo app', () => { + test('has url and title', async ({ page }) => { + await page.goto('http://localhost:4200/home'); + + await expect(page).toHaveURL('/home'); + await expect(page).toHaveTitle('dynamic-forms'); + }); +}); diff --git a/apps/demo-e2e/src/editor/editor.e2e-spec.ts b/apps/demo-e2e/src/editor/editor.e2e-spec.ts deleted file mode 100644 index 739cfe18..00000000 --- a/apps/demo-e2e/src/editor/editor.e2e-spec.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { EditorPage } from './editor.po'; - -describe('dynamic-forms demo editor', () => { - const themes = ['bootstrap', 'material']; - - themes.forEach(theme => { - describe(`for theme ${theme}`, () => { - let page: EditorPage; - - beforeEach(() => { - page = new EditorPage(theme); - }); - - it('has url and title', async () => { - await page.navigateTo(); - - expect(await page.getUrl()).toContain(`/editor/${theme}`); - expect(await page.getTitle()).toEqual('dynamic-forms'); - }); - }); - }); -}); diff --git a/apps/demo-e2e/src/editor/editor.po.ts b/apps/demo-e2e/src/editor/editor.po.ts deleted file mode 100644 index 9a68799f..00000000 --- a/apps/demo-e2e/src/editor/editor.po.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { Page } from '../page-base'; - -export class EditorPage extends Page { - constructor(public theme: string) { - super(`/editor/${theme}`); - } -} diff --git a/apps/demo-e2e/src/editor/editor.spec.ts b/apps/demo-e2e/src/editor/editor.spec.ts new file mode 100644 index 00000000..c2497217 --- /dev/null +++ b/apps/demo-e2e/src/editor/editor.spec.ts @@ -0,0 +1,16 @@ +import { expect, test } from '@playwright/test'; + +test.describe('dynamic-forms demo editor', () => { + const themes = ['bootstrap', 'material']; + + themes.forEach(theme => { + test.describe(`for theme ${theme}`, () => { + test('has url and title', async ({ page }) => { + await page.goto(`http://localhost:4200/editor/${theme}`); + + await expect(page).toHaveURL(`/editor/${theme}`); + await expect(page).toHaveTitle('dynamic-forms'); + }); + }); + }); +}); diff --git a/apps/demo-e2e/src/examples/elements.ts b/apps/demo-e2e/src/examples/elements.ts index c340e2c9..587ccbfd 100644 --- a/apps/demo-e2e/src/examples/elements.ts +++ b/apps/demo-e2e/src/examples/elements.ts @@ -1,7 +1,13 @@ import PATH from 'path'; -import { By, ElementArrayFinder, ElementFinder, protractor } from 'protractor'; +import { Locator, Page } from '@playwright/test'; -const KEY = protractor.Key; +const KEY = { + ARROW_DOWN: 'ArrowDown', + ENTER: 'Enter', + ESCAPE: 'Escape', + SPACE: 'Space', + TAB: 'Tab', +}; export class Control { private readonly _types: string[] = [ @@ -20,33 +26,34 @@ export class Control { ]; constructor( - public element: ElementFinder, public theme: string, + public locator: Locator, + public page: Page, ) {} - findElement(css: string): ElementFinder { - return this.element.element(By.css(css)); + findInput(css: string): Locator { + return this.locator.locator(`css=${css}`).first(); } - findElements(css: string): ElementArrayFinder { - return this.element.all(By.css(css)); + async isPresent(): Promise { + return (await this.locator.count()) > 0; } - async isPresent(): Promise { - return this.element.isPresent(); + async isVisible(): Promise { + return this.locator.isVisible(); } async isEditable(): Promise { - const hidden = await this.element.getAttribute('hidden'); + const hidden = await this.locator.getAttribute('hidden'); if (hidden === 'true') { return false; } - const className = await this.element.getAttribute('class'); + const className = await this.locator.getAttribute('class'); return !(className.includes('hidden') || className.includes('readonly')); } async getControlType(): Promise { - const className = await this.element.getAttribute('class'); + const className = await this.locator.getAttribute('class'); return this.getType(className); } @@ -54,19 +61,19 @@ export class Control { const controlType = await this.getControlType(); switch (controlType) { case 'file': - return new Input(controlType, this, this.findElement('input[type="file"]')); + return new Input(controlType, this, this.findInput('input[type="file"]'), this.page); case 'radio': - return new Input(controlType, this, this.findElements('input[type="radio"]')); + return new Input(controlType, this, this.findInput('input[type="radio"]'), this.page); case 'select': - return new Input(controlType, this, this.findElement('select,mat-select')); + return new Input(controlType, this, this.findInput('select,mat-select'), this.page); case 'switch': - return new Input(controlType, this, this.findElements('input[type="checkbox"],mat-slide-toggle')); + return new Input(controlType, this, this.findInput('input[type="checkbox"],mat-slide-toggle'), this.page); case 'textarea': - return new Input(controlType, this, this.findElement('textarea')); + return new Input(controlType, this, this.findInput('textarea'), this.page); case 'toggle': - return new Input(controlType, this, this.findElements('input[type="radio"],mat-button-toggle')); + return new Input(controlType, this, this.findInput('input[type="radio"],mat-button-toggle'), this.page); default: - return new Input(controlType, this, this.findElement('input')); + return new Input(controlType, this, this.findInput('input'), this.page); } } @@ -76,85 +83,78 @@ export class Control { } export class Input { - readonly inputElement: ElementFinder; + private static readonly inputIdsForFalse = ['hidden-input', 'hidden', 'disabled-input', 'disabled', 'readonly-input', 'readonly']; constructor( public controlType: string, public control: Control, - public inputElements: ElementFinder | ElementArrayFinder, - ) { - this.inputElement = this.inputElements instanceof ElementArrayFinder ? this.inputElements.get(0) : this.inputElements; - } + public locator: Locator, + public page: Page, + ) {} async isPresent(): Promise { - return this.inputElement.isPresent(); + return (await this.locator.count()) > 0; + } + + async isVisible(): Promise { + return this.locator.isVisible(); } async isEditable(): Promise { - return (await this.control.isEditable()) && (await this.inputElement.isEnabled()); + return (await this.control.isEditable()) && (await this.locator.isEnabled()); } async getInputId(): Promise { - return this.inputElement.getAttribute('id'); + return this.locator.getAttribute('id'); } async getInputType(): Promise { - return this.inputElement.getAttribute('type'); + return this.locator.getAttribute('type'); } async isInputForFalse(): Promise { - const inputId = await this.inputElement.getAttribute('id'); - switch (inputId) { - case 'input-hidden': - case 'input-hidden-input': - case 'input-disabled': - case 'input-disabled-input': - case 'input-readonly': - case 'input-readonly-input': - return true; - default: - return false; - } + const inputId = await this.locator.getAttribute('id'); + return Input.inputIdsForFalse.includes(inputId); } async getInputValue(): Promise { if (this.controlType === 'checkbox') { - return this.inputElement.getAttribute('checked'); + return this.locator.isChecked(); } if (this.controlType === 'file') { - const element = this.control.findElement('input:not([type="file"])'); - const files = await element.getAttribute('value'); + const element = this.control.findInput('input:not([type="file"])'); + const files = await element.inputValue(); return files ? files.trim() : files; } if (this.controlType === 'radio') { - const element = this.control.findElement('input[type="radio"]:checked'); - return (await element.isPresent()) ? true : false; + const element = this.control.findInput('input[type="radio"]:checked'); + return (await element.isVisible()) ? true : false; } if (this.controlType === 'select') { if (this.control.theme === 'material') { - const element = this.control.findElement('span.mat-mdc-select-value-text'); - return (await element.isPresent()) ? element.getText() : null; + const element = this.control.findInput('span.mat-mdc-select-value-text'); + return (await element.isVisible()) ? element.innerText() : null; } - const element = await this.inputElement.getAttribute('value'); + const element = await this.locator.inputValue(); return element !== 'null' ? element : null; } if (this.controlType === 'switch') { - const element = this.control.findElement('input[type="checkbox"]:checked,mat-slide-toggle.mat-mdc-slide-toggle-checked'); - return (await element.isPresent()) ? true : false; + const element = this.control.findInput('input[type="checkbox"]:checked,mat-slide-toggle.mat-mdc-slide-toggle-checked'); + return (await element.isVisible()) ? true : false; } if (this.controlType === 'toggle') { - const element = this.control.findElement('input[type="radio"]:checked,mat-button-toggle.mat-button-toggle-checked'); - return (await element.isPresent()) ? true : false; + const element = this.control.findInput('input[type="radio"]:checked,mat-button-toggle.mat-button-toggle-checked'); + return (await element.isVisible()) ? true : false; } - const element = await this.inputElement.getAttribute('value'); - return element ? element.trim() : element; + const value = await this.locator.inputValue(); + return value ? value.trim() : value; } async checkInputValue(): Promise { @@ -165,18 +165,20 @@ export class Input { async editInputValue(): Promise { if (this.controlType === 'checkbox') { if ((await this.isInputForFalse()) && !(await this.getInputValue())) { - await this.inputElement.sendKeys(KEY.SPACE); + await this.locator.press(KEY.SPACE); } - return this.inputElement.sendKeys(KEY.SPACE); + return this.locator.press(KEY.SPACE); } if (this.controlType === 'file') { - const file = PATH.resolve(__dirname, 'file.txt'); - return this.inputElement.sendKeys(file); + const fileChooserPromise = this.page.waitForEvent('filechooser'); + await this.control.findInput('button').click(); + const fileChooser = await fileChooserPromise; + return await fileChooser.setFiles(PATH.resolve(__dirname, 'file.txt')); } if (this.controlType === 'radio') { - return this.inputElement.sendKeys(KEY.SPACE); + return this.locator.press(KEY.SPACE); } if (this.controlType === 'select') { @@ -184,21 +186,33 @@ export class Input { this.control.theme !== 'material' ? [KEY.ARROW_DOWN, KEY.ARROW_DOWN, KEY.ENTER, KEY.ESCAPE] : [KEY.ARROW_DOWN, KEY.ENTER, KEY.ESCAPE]; - await this.inputElement.click(); - return this.inputElement.sendKeys(...keys); + + await this.locator.click(); + + for (const key of keys) { + await this.locator.press(key); + } + + return; } if (this.controlType === 'switch') { - return this.control.theme !== 'material' ? this.inputElement.sendKeys(KEY.SPACE) : this.inputElement.click(); + return this.control.theme !== 'material' ? this.locator.press(KEY.SPACE) : this.locator.click(); } if (this.controlType === 'toggle') { - return this.control.theme !== 'material' ? this.inputElement.sendKeys(KEY.SPACE) : this.inputElement.click(); + return this.control.theme !== 'material' ? this.locator.press(KEY.SPACE) : this.locator.click(); } const inputType = await this.getInputType(); const value = await this.getEditInputValue(inputType); - return value ? this.inputElement.sendKeys(value, KEY.TAB) : Promise.resolve(); + + if (!value) { + return Promise.resolve(); + } + + await this.locator.fill(value.toString()); + return this.locator.press(KEY.TAB); } private async getEditInputValue(type?: string): Promise { @@ -210,7 +224,7 @@ export class Input { case 'numberbox': return 5; case 'datepicker': - return '01-01-2020'; + return '2020-01-01'; case 'textarea': return 'Line 1\nLine 2'; case 'textbox': diff --git a/apps/demo-e2e/src/examples/examples.e2e-spec.ts b/apps/demo-e2e/src/examples/examples.e2e-spec.ts deleted file mode 100644 index e7e8af78..00000000 --- a/apps/demo-e2e/src/examples/examples.e2e-spec.ts +++ /dev/null @@ -1,122 +0,0 @@ -import examplesConfig from '../../../demo/src/assets/examples-menu.json'; -import { Example, ExamplesPage } from './examples.po'; -import { ExampleMenu, ExampleMenuGroup, ExampleMenuItem, ExamplesMenu } from 'apps/demo/src/app/state/examples/examples.model'; - -export const getExamples = (items: ExampleMenuItem[], namePrefix?: string): Example[] => - items.reduce((result, item) => { - const name = namePrefix ? `${namePrefix} - ${item.label}` : item.label; - const group = item as ExampleMenuGroup; - if (group.items && group.items.length) { - return result.concat(getExamples(group.items, name)); - } - const example = item as ExampleMenu; - if (example.id) { - return result.concat({ id: example.id, modelId: example.modelId, name }); - } - return result; - }, []); - -describe('dynamic-forms demo examples', () => { - const themes = ['bootstrap', 'material']; - const examples = getExamples((examplesConfig as ExamplesMenu).items); - - themes.forEach(theme => { - describe(`for theme ${theme}`, () => { - let page: ExamplesPage; - - beforeEach(() => { - page = new ExamplesPage(theme); - }); - - it('has url and title', async () => { - await page.navigateTo(); - - expect(await page.getUrl()).toContain(`/examples/${theme}`); - expect(await page.getTitle()).toEqual('dynamic-forms'); - }); - - examples.forEach(example => { - const description = example.modelId - ? `for example "${example.name}" with id "${example.id}" and model id "${example.modelId}"` - : `for example "${example.name}" with id "${example.id}"`; - - describe(description, () => { - it('has url, title and form', async () => { - await page.navigateToExample(example); - - const url = await page.getUrl(); - - expect(url).toContain(`/examples/${theme}/${example.id}`); - - await page.waitForElement('dynamic-form', 5000); - - const formTestResult = await page.getFormTestResult(); - expect(formTestResult.rootPresent).toBe(true); - expect(formTestResult.wrapperPresent).toBe(true); - expect(formTestResult.formPresent).toBe(true); - - if (formTestResult.actionCount !== 0 && formTestResult.controlCount === 0) { - const formFieldAddButton = page.findFormFieldAddButton(); - if (await formFieldAddButton.isPresent()) { - await formFieldAddButton.click(); - } - } - - const formActionTestResult = await page.getFormActionTestResult(); - expect(formActionTestResult.actionCount).toBe(formTestResult.actionCount); - expect(formActionTestResult.buttonCount + formActionTestResult.anchorCount).toBe(formTestResult.actionCount); - - const formModalTestResult = await page.getFormModalTestResults(); - if (formModalTestResult.modalOpenButtonPresent) { - expect(formModalTestResult.modalPresent).toBe(true); - expect(formModalTestResult.modalCloseButtonPresent).toBe(true); - } - - const controls = formModalTestResult.modalControls || formTestResult.controls; - const controlTestResults = await page.getFormControlTestResults(controls); - for (const controlTestResult of controlTestResults.values()) { - expect(controlTestResult.type).toBeTruthy(); - expect(controlTestResult.present).toBe(true); - expect(controlTestResult.inputPresent).toBe(true); - if (controlTestResult.inputEditable) { - expect(controlTestResult.inputValuePassed).toBe(true); - } - } - - const formItemsTestResult = await page.getFormItemsTestResult(theme); - for (let headerIndex = 1; headerIndex < formItemsTestResult.itemHeaderCount; headerIndex++) { - const itemHeader = formItemsTestResult.itemHeaders.get(headerIndex); - const itemHeaderClassName = await itemHeader.getAttribute('class'); - const itemHeaderPresent = await itemHeader.isPresent(); - const itemHeaderDisabled = itemHeaderClassName.includes('disabled'); - if (itemHeaderPresent && !itemHeaderDisabled) { - await itemHeader.click(); - } - - const item = page.getFormItemLast(formItemsTestResult.items); - const itemControls = page.getFormControls(item); - const itemControlTestResults = await page.getFormControlTestResults(itemControls); - for (const itemControlTestResult of itemControlTestResults.values()) { - expect(itemControlTestResult.type).toBeTruthy(); - expect(itemControlTestResult.present).toBe(true); - expect(itemControlTestResult.inputPresent).toBe(true); - if (itemControlTestResult.inputEditable) { - expect(itemControlTestResult.inputValuePassed).toBe(true); - } - } - } - - if (formTestResult.controlCount !== 0 && formModalTestResult.modalCloseButtonPresent) { - await formModalTestResult.modalCloseButton.click(); - } - - const submitButton = page.findFormSubmitButton(); - if ((await submitButton.isPresent()) && (await submitButton.isEnabled())) { - await submitButton.click(); - } - }); - }); - }); - }); - }); -}); diff --git a/apps/demo-e2e/src/examples/examples.po.ts b/apps/demo-e2e/src/examples/examples.po.ts deleted file mode 100644 index a0f6acaa..00000000 --- a/apps/demo-e2e/src/examples/examples.po.ts +++ /dev/null @@ -1,191 +0,0 @@ -import { By, ElementArrayFinder, ElementFinder, element } from 'protractor'; -import { Page } from '../page-base'; -import { Control } from './elements'; - -export interface Example { - id: string; - modelId: string; - name: string; -} - -export interface FormTestResult { - rootPresent: boolean; - wrapperPresent: boolean; - formPresent: boolean; - actions: ElementArrayFinder; - actionCount: number; - controls: ElementArrayFinder; - controlCount: number; -} - -export interface FormModalTestResult { - modalPresent: boolean; - modalControls?: ElementArrayFinder; - modalOpenButton: ElementFinder; - modalOpenButtonPresent: boolean; - modalCloseButton?: ElementFinder; - modalCloseButtonPresent?: boolean; -} - -export interface FormActionTestResult { - actionCount: number; - buttonCount: number; - anchorCount: number; -} - -export interface FormItemsTestResult { - items?: ElementFinder; - itemsPresent: boolean; - itemHeaders?: ElementArrayFinder; - itemHeaderCount?: number; -} - -export interface FormControlTestResult { - id: string; - type: string; - present: boolean; - inputPresent: boolean; - inputEditable: boolean; - inputValuePassed?: boolean; -} - -export class ExamplesPage extends Page { - constructor(public theme: string) { - super(`/examples/${theme}`); - } - - async navigateToExample(example: Example): Promise { - const relativeUrl = example.modelId ? `${example.id}/models/${example.modelId}` : example.id; - await this.navigateTo(relativeUrl); - } - - async getFormTestResult(): Promise { - const root = element(By.css('dynamic-form')); - const rootPresent = await root.isPresent(); - const wrapper = root.element(By.css('.dynamic-form-wrapper')); - const wrapperPresent = await wrapper.isPresent(); - const form = wrapper.element(By.css('form.dynamic-form')); - const formPresent = await form.isPresent(); - const actions = form.all(By.css('.dynamic-form-header,.dynamic-form-footer')).all(By.css('dynamic-form-element')); - const actionCount = await actions.count(); - const controls = this.getFormControls(form); - const controlCount = await controls.count(); - return { rootPresent, wrapperPresent, formPresent, actions, actionCount, controls, controlCount }; - } - - async getFormActionTestResult(): Promise { - const actionWrappers = element.all(By.css('.dynamic-form-header,.dynamic-form-footer')); - const actions = actionWrappers.all(By.css('dynamic-form-element')); - const actionCount = await actions.count(); - const buttons = actions.all(By.css('button')); - const buttonCount = await buttons.count(); - const anchors = actions.all(By.css('a')); - const anchorCount = await anchors.count(); - - if (actionCount === 0) { - return { actionCount, buttonCount, anchorCount }; - } - - const validateButton = actions.all(By.css('button[id="action-validate"]')).first(); - const resetButton = actions.all(By.css('button[id="action-reset"]')).first(); - const resetDefaultButton = actions.all(By.css('button[id="action-reset-default"]')).first(); - - if ((await resetButton.isPresent()) && (await resetButton.isEnabled())) { - await resetButton.click(); - } - - if ((await validateButton.isPresent()) && (await validateButton.isEnabled())) { - await validateButton.click(); - } - - if ((await resetDefaultButton.isPresent()) && (await resetDefaultButton.isEnabled())) { - await resetDefaultButton.click(); - } - - if ((await validateButton.isPresent()) && (await validateButton.isEnabled())) { - await validateButton.click(); - } - - return { actionCount, buttonCount, anchorCount }; - } - - async getFormModalTestResults(): Promise { - const form = element(By.css('form.dynamic-form')); - const modalOpenButton = form.element(By.css('button[id*="openModal"]')); - const modalOpenButtonPresent = await modalOpenButton.isPresent(); - - if (!modalOpenButtonPresent) { - return { modalPresent: false, modalOpenButton, modalOpenButtonPresent, modalCloseButtonPresent: false }; - } - - await modalOpenButton.click(); - - const modal = element(By.css('.dynamic-form-modal')); - const modalPresent = await modal.isPresent(); - const modalControls = modalPresent ? this.getFormControls(modal) : undefined; - const modalCloseButton = modal.all(By.css('button[id*="closeModal"]')).first(); - const modalCloseButtonPresent = await modalCloseButton.isPresent(); - return { modalPresent, modalControls, modalOpenButton, modalOpenButtonPresent, modalCloseButton, modalCloseButtonPresent }; - } - - async getFormItemsTestResult(theme: string): Promise { - const form = element(By.css('form.dynamic-form')); - const items = form.element(By.css('.dynamic-form-items')); - const itemsPresent = await items.isPresent(); - if (!itemsPresent) { - return { items, itemsPresent }; - } - - const itemHeaders = items.all(By.css(theme === 'material' ? '.mdc-tab' : '.dynamic-form-item-header')); - const itemHeaderCount = await itemHeaders.count(); - return { items, itemsPresent, itemHeaders, itemHeaderCount }; - } - - async getFormControlTestResults(controls: ElementArrayFinder): Promise { - const results = [] as FormControlTestResult[]; - const count = await controls.count(); - for (let index = 0; index < count; index++) { - const control = new Control(controls.get(index), this.theme); - const result = await this.getFormControlTestResult(control); - results.push(result); - } - return results; - } - - async getFormControlTestResult(control: Control): Promise { - const input = await control.getInput(); - const inputId = await input.getInputId(); - const result = { - id: inputId, - type: await control.getControlType(), - present: await control.isPresent(), - inputPresent: await input.isPresent(), - inputEditable: await input.isEditable(), - }; - if (result.inputEditable) { - if (!(await input.getInputValue()) || (await input.isInputForFalse())) { - await input.editInputValue(); - } - return { ...result, inputValuePassed: await input.checkInputValue() }; - } - return result; - } - - getFormItemLast(formItems: ElementFinder): ElementFinder { - return formItems.all(By.css('.dynamic-form-item')).last(); - } - - getFormControls(formElement: ElementFinder): ElementArrayFinder { - return formElement.all(By.css('div.dynamic-form-control')); - } - - findFormFieldAddButton(): ElementFinder { - const form = element(By.css('form.dynamic-form')); - return form.element(By.css('button[id*="pushArrayField"],button[id*="registerDictionaryField"]')); - } - - findFormSubmitButton(): ElementFinder { - const actionWrappers = element.all(By.css('.dynamic-form-header,.dynamic-form-footer')); - return actionWrappers.all(By.css('button[id="action-submit"]')).first(); - } -} diff --git a/apps/demo-e2e/src/examples/examples.spec.ts b/apps/demo-e2e/src/examples/examples.spec.ts new file mode 100644 index 00000000..e9e2c087 --- /dev/null +++ b/apps/demo-e2e/src/examples/examples.spec.ts @@ -0,0 +1,196 @@ +import { expect, test } from '@playwright/test'; +import examplesConfig from '../../../demo/src/assets/examples-menu.json'; +import { Control } from './elements'; +import { ExampleMenu, ExampleMenuGroup, ExampleMenuItem, ExamplesMenu } from 'apps/demo/src/app/state/examples/examples.model'; + +export interface Example { + id: string; + modelId: string; + name: string; +} + +export const getExamples = (items: ExampleMenuItem[], namePrefix?: string): Example[] => + items.reduce((result, item) => { + const name = namePrefix ? `${namePrefix} - ${item.label}` : item.label; + const group = item as ExampleMenuGroup; + if (group.items && group.items.length) { + return result.concat(getExamples(group.items, name)); + } + const example = item as ExampleMenu; + if (example.id) { + return result.concat({ id: example.id, modelId: example.modelId, name }); + } + return result; + }, []); + +test.describe('dynamic-forms demo examples', () => { + const themes = ['bootstrap', 'material']; + const examples = getExamples((examplesConfig as ExamplesMenu).items); + + themes.forEach(theme => { + test.describe(`for theme ${theme}`, () => { + test.beforeEach(async ({ page }) => { + await page.goto(`http://localhost:4200/examples/${theme}`); + }); + + test('has url and title', async ({ page }) => { + await expect(page).toHaveURL(`/examples/${theme}`); + await expect(page).toHaveTitle('dynamic-forms'); + }); + + examples.forEach(example => { + const description = example.modelId + ? `for example "${example.name}" with id "${example.id}" and model id "${example.modelId}"` + : `for example "${example.name}" with id "${example.id}"`; + + test.describe(description, () => { + test('has url, title and form', async ({ page }) => { + const exampleUrl = example.modelId ? `${example.id}/models/${example.modelId}` : example.id; + + await page.goto( + `http://localhost:4200/examples/${theme}/${exampleUrl}`, + example.modelId ? { waitUntil: 'networkidle' } : undefined, + ); + + await expect(page).toHaveURL(`/examples/${theme}/${exampleUrl}`); + + const root = page.locator('css=dynamic-form'); + const wrapper = root.locator('css=.dynamic-form-wrapper'); + const form = wrapper.locator('css=form.dynamic-form'); + + await expect(root).toBeVisible(); + await expect(wrapper).toBeVisible(); + await expect(form).toBeVisible(); + + const actions = form.locator('css=.dynamic-form-header,.dynamic-form-footer').locator('css=dynamic-form-element'); + const controls = form.locator('css=div.dynamic-form-control'); + + const actionCount = await actions.count(); + const controlCount = await controls.count(); + + if (actionCount !== 0 && controlCount === 0) { + const formFieldAddButton = form.locator('css=button[id*="pushArrayField"],button[id*="registerDictionaryField"]'); + if (await formFieldAddButton.isVisible()) { + await formFieldAddButton.click(); + } + } + + if (actionCount !== 0) { + const buttons = actions.locator('css=button'); + const anchors = actions.locator('css=a'); + + const buttonCount = await buttons.count(); + const anchorCount = await anchors.count(); + + expect(buttonCount + anchorCount).toBe(actionCount); + + const validateButton = actions.locator('css=button[id="action-validate"]').first(); + const resetButton = actions.locator('css=button[id="action-reset"]').first(); + const resetDefaultButton = actions.locator('css=button[id="action-reset-default"]').first(); + + if ((await resetButton.isVisible()) && (await resetButton.isEnabled())) { + await resetButton.click(); + } + + if ((await validateButton.isVisible()) && (await validateButton.isEnabled())) { + await validateButton.click(); + } + + if ((await resetDefaultButton.isVisible()) && (await resetDefaultButton.isEnabled())) { + await resetDefaultButton.click(); + } + + if ((await validateButton.isVisible()) && (await validateButton.isEnabled())) { + await validateButton.click(); + } + } + + const modal = page.locator('css=.dynamic-form-modal'); + const modalOpenButton = form.locator('css=button[id*="openModal"]'); + const modalCloseButton = modal.locator('css=button[id*="closeModal"]').first(); + + if ((await modalOpenButton.isVisible()) && (await modalOpenButton.isEnabled())) { + await modalOpenButton.click(); + + await expect(modal).toBeVisible(); + await expect(modalCloseButton).toBeVisible(); + } + + const items = form.locator('css=.dynamic-form-items'); + const itemCount = await items.count(); + + const itemsHeaders = items.locator(`css=${theme === 'material' ? '.mdc-tab' : '.dynamic-form-item-header'}`); + const itemHeaderCount = await itemsHeaders.count(); + + const groups = itemCount > 0 ? items : (await modal.isVisible()) ? modal : form; + const groupCount = await groups.count(); + + for (let groupIndex = 0; groupIndex < groupCount; groupIndex++) { + const group = groups.nth(groupIndex); + + if (itemCount > 0 && groupIndex < itemHeaderCount) { + const itemHeader = groups.nth(groupIndex); + const itemHeaderClassName = await itemHeader.getAttribute('class'); + const itemHeaderVisible = await itemHeader.isVisible(); + const itemHeaderDisabled = itemHeaderClassName.includes('disabled'); + + if (itemHeaderVisible && !itemHeaderDisabled) { + await itemHeader.click(); + } + } + + const groupControls = group.locator('css=div.dynamic-form-control'); + const groupControlCount = await groupControls.count(); + + for (let index = 0; index < groupControlCount; index++) { + const locator = groupControls.nth(index); + const control = new Control(theme, locator, page); + const input = await control.getInput(); + + const result = { + id: await input.getInputId(), + type: await control.getControlType(), + present: await control.isPresent(), + visible: await control.isVisible(), + inputPresent: await input.isPresent(), + inputVisible: await input.isVisible(), + inputEditable: await input.isEditable(), + }; + + expect(result.type).toBeTruthy(); + expect(result.present).toBe(true); + expect(result.inputPresent).toBe(true); + + if (result.inputVisible && result.inputEditable) { + const inputValue = await input.getInputValue(); + const inputForFalse = await input.isInputForFalse(); + if ((!inputValue && !inputForFalse) || (inputValue && inputForFalse)) { + await input.editInputValue(); + } + + // console.log({ id: result.id, inputValue: await input.getInputValue() }); + + expect(await input.checkInputValue()).toBe(true); + } + } + } + + if (controlCount === 0) { + return; + } + + if ((await modalCloseButton.isVisible()) && (await modalCloseButton.isEnabled())) { + await modalCloseButton.click(); + } + + const submitButton = page.locator('css=.dynamic-form-header,.dynamic-form-footer').locator('css=button[id="action-submit"]'); + + if ((await submitButton.isVisible()) && (await submitButton.isEnabled())) { + await submitButton.click(); + } + }); + }); + }); + }); + }); +}); diff --git a/apps/demo-e2e/src/page-base.ts b/apps/demo-e2e/src/page-base.ts deleted file mode 100644 index c1af1fd8..00000000 --- a/apps/demo-e2e/src/page-base.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { By, ElementArrayFinder, ElementFinder, browser, by, element } from 'protractor'; - -export abstract class Page { - constructor(protected baseUrl: string) {} - - async navigateTo(relativeUrl?: string): Promise { - await browser.waitForAngularEnabled(false); - await browser.get(relativeUrl ? `${this.baseUrl}/${relativeUrl}` : this.baseUrl); - await this.waitForElement('app-root', 5000); - } - - async getUrl(): Promise { - return await browser.getCurrentUrl(); - } - - async getTitle(): Promise { - return await browser.getTitle(); - } - - findElement(selector: string): ElementFinder { - return element(by.css(selector)); - } - - findElements(selector: string): ElementArrayFinder { - return element.all(by.css(selector)); - } - - async waitForElement(selector: string, timeout?: number): Promise { - await browser.wait(() => element(By.css(selector)).isPresent(), timeout); - } -} diff --git a/dynamic-forms-e2e.yml b/dynamic-forms-e2e.yml index 3a52757e..a4542d94 100644 --- a/dynamic-forms-e2e.yml +++ b/dynamic-forms-e2e.yml @@ -18,6 +18,8 @@ steps: inputs: command: custom customCommand: install +- script: npx playwright install --with-deps + displayName: 'Install Playwright browsers' - task: Npm@1 displayName: npm build libs inputs: @@ -28,9 +30,18 @@ steps: continueOnError: True inputs: command: custom - customCommand: run e2e:azure:prod -- task: PublishProtractorReport@1 - displayName: publish e2e report - continueOnError: True + customCommand: run e2e +# - task: PublishProtractorReport@1 +# displayName: publish e2e report +# continueOnError: True +# inputs: +# cwd: $(System.DefaultWorkingDirectory)/dist/${{ variables.major_version_name }}/e2e +- task: PublishTestResults@2 + displayName: 'Publish test results' inputs: - cwd: $(System.DefaultWorkingDirectory)/dist/${{ variables.major_version_name }}/e2e \ No newline at end of file + searchFolder: $(System.DefaultWorkingDirectory)/dist/${{ variables.major_version_name }}/e2e + testResultsFormat: 'JUnit' + testResultsFiles: 'junit-results.xml' + mergeTestResults: true + failTaskOnFailedTests: true + testRunTitle: 'e2e Tests' \ No newline at end of file diff --git a/libs/core/input-mask/src/lib/dynamic-form-input-mask.directive.spec.ts b/libs/core/input-mask/src/lib/dynamic-form-input-mask.directive.spec.ts index 10e1788f..bdb43a1a 100644 --- a/libs/core/input-mask/src/lib/dynamic-form-input-mask.directive.spec.ts +++ b/libs/core/input-mask/src/lib/dynamic-form-input-mask.directive.spec.ts @@ -303,6 +303,18 @@ describe('DynamicFormInputMaskDirective', () => { expect(handler.onChange).toHaveBeenCalledOnceWith('value'); }); }); + + describe('setDisabledState', () => { + it('sets disabled of input element', () => { + directive.setDisabledState(true); + + expect(nativeElement.disabled).toBeTrue(); + + directive.setDisabledState(false); + + expect(nativeElement.disabled).toBeFalse(); + }); + }); }); describe('with TestBed using DynamicFormInputMaskTestComponent', () => { diff --git a/libs/core/input-mask/src/lib/dynamic-form-input-mask.directive.ts b/libs/core/input-mask/src/lib/dynamic-form-input-mask.directive.ts index 304cabcd..9f76f334 100644 --- a/libs/core/input-mask/src/lib/dynamic-form-input-mask.directive.ts +++ b/libs/core/input-mask/src/lib/dynamic-form-input-mask.directive.ts @@ -69,6 +69,10 @@ export class DynamicFormInputMaskDirective implements ControlValueAccessor, Afte this._onTouched = onTouched; } + setDisabledState(isDisabled: boolean): void { + this.nativeElement.disabled = isDisabled; + } + private get nativeElement(): HTMLInputElement { return this.elementRef.nativeElement; } diff --git a/libs/core/src/lib/dynamic-form-input/dynamic-form-file/dynamic-form-file.directive.spec.ts b/libs/core/src/lib/dynamic-form-input/dynamic-form-file/dynamic-form-file.directive.spec.ts index 9adf1b40..9b44fe4c 100644 --- a/libs/core/src/lib/dynamic-form-input/dynamic-form-file/dynamic-form-file.directive.spec.ts +++ b/libs/core/src/lib/dynamic-form-input/dynamic-form-file/dynamic-form-file.directive.spec.ts @@ -87,6 +87,18 @@ describe('DynamicFormFileDirective', () => { expect(nativeElement.multiple).toBeUndefined(); }); + describe('setDisabledState', () => { + it('sets disabled of input element', () => { + directive.setDisabledState(true); + + expect(nativeElement.disabled).toBeTrue(); + + directive.setDisabledState(false); + + expect(nativeElement.disabled).toBeFalse(); + }); + }); + it('openFileExplorer clicks native element', () => { spyOn(nativeElement, 'click'); diff --git a/libs/core/src/lib/dynamic-form-input/dynamic-form-file/dynamic-form-file.directive.ts b/libs/core/src/lib/dynamic-form-input/dynamic-form-file/dynamic-form-file.directive.ts index 9b73e016..071d683d 100644 --- a/libs/core/src/lib/dynamic-form-input/dynamic-form-file/dynamic-form-file.directive.ts +++ b/libs/core/src/lib/dynamic-form-input/dynamic-form-file/dynamic-form-file.directive.ts @@ -81,6 +81,10 @@ export class DynamicFormFileDirective implements ControlValueAccessor, OnInit, O this._onTouched = onTouched; } + setDisabledState(isDisabled: boolean): void { + this.nativeElement.disabled = isDisabled; + } + private get nativeElement(): HTMLInputElement { return this.elementRef.nativeElement; } diff --git a/package-lock.json b/package-lock.json index 338fe71e..f3ac7ac8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -45,6 +45,7 @@ "@angular/compiler-cli": "^19.0.0-rc.1", "@angular/language-service": "^19.0.0-rc.1", "@compodoc/compodoc": "^1.1.26", + "@playwright/test": "1.48.2", "@types/inputmask": "^5.0.7", "@types/jasmine": "~5.1.4", "@types/jasminewd2": "~2.0.13", @@ -53,7 +54,6 @@ "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@typescript-eslint/utils": "^7.18.0", - "chromedriver": "^130.0.4", "eslint": "^8.57.1", "eslint-config-prettier": "^9.1.0", "eslint-import-resolver-typescript": "^3.6.3", @@ -72,10 +72,9 @@ "karma-junit-reporter": "^2.0.1", "ng-mocks": "^14.13.1", "ng-packagr": "^19.0.0-rc.0", + "playwright-ng-schematics": "^1.1.1", "prettier": "^3.3.3", "prettier-eslint": "^16.3.0", - "protractor": "~7.0.0", - "protractor-beautiful-reporter": "^1.3.6", "ts-node": "~10.9.2", "typescript": "^5.5.4" } @@ -6081,6 +6080,22 @@ "url": "https://opencollective.com/unts" } }, + "node_modules/@playwright/test": { + "version": "1.48.2", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.48.2.tgz", + "integrity": "sha512-54w1xCWfXuax7dz4W2M9uw0gDyh+ti/0K/MxcCUxChFh37kkdxPdfZDw5QBbuPUJHr1CiHJ1hXgSs+GgeQc5Zw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "playwright": "1.48.2" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@rollup/plugin-json": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.1.0.tgz", @@ -6902,12 +6917,6 @@ "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", "dev": true }, - "node_modules/@testim/chrome-version": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@testim/chrome-version/-/chrome-version-1.1.4.tgz", - "integrity": "sha512-kIhULpw9TrGYnHp/8VfdcneIcxKnLixmADtukQRtJUmsVlMg0niMkwV0xZmi8hqa57xqilIHjWFA0GKvEjVU5g==", - "dev": true - }, "node_modules/@thednp/event-listener": { "version": "2.0.8", "resolved": "https://registry.npmjs.org/@thednp/event-listener/-/event-listener-2.0.8.tgz", @@ -6930,12 +6939,6 @@ "pnpm": ">=8.6.0" } }, - "node_modules/@tootallnate/quickjs-emscripten": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", - "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", - "dev": true - }, "node_modules/@ts-morph/common": { "version": "0.25.0", "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.25.0.tgz", @@ -7237,12 +7240,6 @@ "@types/node": "*" } }, - "node_modules/@types/q": { - "version": "0.0.32", - "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz", - "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=", - "dev": true - }, "node_modules/@types/qs": { "version": "6.9.15", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", @@ -7264,12 +7261,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/selenium-webdriver": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.17.tgz", - "integrity": "sha512-tGomyEuzSC1H28y2zlW6XPCaDaXFaD6soTdb4GNdmte2qfHtrKqhy0ZFs4r/1hpazCfEZqeTSRLvSasmEx89uw==", - "dev": true - }, "node_modules/@types/send": { "version": "0.17.4", "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", @@ -7330,16 +7321,6 @@ "@types/node": "*" } }, - "node_modules/@types/yauzl": { - "version": "2.10.3", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", - "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", - "dev": true, - "optional": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "7.18.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz", @@ -7919,15 +7900,6 @@ "node": ">=8.9.0" } }, - "node_modules/adm-zip": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz", - "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==", - "dev": true, - "engines": { - "node": ">=6.0" - } - }, "node_modules/agent-base": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", @@ -8207,27 +8179,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", - "dev": true, - "dependencies": { - "array-uniq": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/array.prototype.findlastindex": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", @@ -8307,39 +8258,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, "node_modules/autoprefixer": { "version": "10.4.20", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", @@ -8393,46 +8311,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", - "dev": true - }, - "node_modules/axios": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.4.tgz", - "integrity": "sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==", - "dev": true, - "dependencies": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "node_modules/axios/node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/axobject-query": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", @@ -8664,30 +8542,12 @@ "node": ">= 0.8" } }, - "node_modules/basic-ftp": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz", - "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==", - "dev": true, - "engines": { - "node": ">=10.0.0" - } - }, "node_modules/batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", "dev": true }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, "node_modules/bcryptjs": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", @@ -8771,21 +8631,6 @@ "node": ">= 6" } }, - "node_modules/blocking-proxy": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz", - "integrity": "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "blocking-proxy": "built/lib/bin.js" - }, - "engines": { - "node": ">=6.9.x" - } - }, "node_modules/body-parser": { "version": "1.20.3", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", @@ -8962,15 +8807,6 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/browserstack": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.6.0.tgz", - "integrity": "sha512-HJDJ0TSlmkwnt9RZ+v5gFpa1XZTBYTj0ywvLwJ3241J7vMw2jAsGNVhKHtmCOyg+VxeLZyaibO9UL71AsUeDIw==", - "dev": true, - "dependencies": { - "https-proxy-agent": "^2.2.1" - } - }, "node_modules/buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", @@ -8995,15 +8831,6 @@ "ieee754": "^1.1.13" } }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "dev": true, - "engines": { - "node": "*" - } - }, "node_modules/buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", @@ -9141,15 +8968,6 @@ "node": "*" } }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/caniuse-lite": { "version": "1.0.30001675", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001675.tgz", @@ -9171,12 +8989,6 @@ ], "license": "CC-BY-4.0" }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -9328,36 +9140,6 @@ "node": ">=6.0" } }, - "node_modules/chromedriver": { - "version": "130.0.4", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-130.0.4.tgz", - "integrity": "sha512-lpR+PWXszij1k4Ig3t338Zvll9HtCTiwoLM7n4pCCswALHxzmgwaaIFBh3rt9+5wRk9D07oFblrazrBxwaYYAQ==", - "dev": true, - "hasInstallScript": true, - "license": "Apache-2.0", - "dependencies": { - "@testim/chrome-version": "^1.1.4", - "axios": "^1.7.4", - "compare-versions": "^6.1.0", - "extract-zip": "^2.0.1", - "proxy-agent": "^6.4.0", - "proxy-from-env": "^1.1.0", - "tcp-port-used": "^1.0.2" - }, - "bin": { - "chromedriver": "bin/chromedriver" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/circular-json": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", - "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", - "deprecated": "CircularJSON is in maintenance only, flatted is its successor.", - "dev": true - }, "node_modules/clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", @@ -9473,38 +9255,6 @@ "node": ">= 12" } }, - "node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/clone": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", @@ -9581,18 +9331,6 @@ "node": ">=0.1.90" } }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -9633,12 +9371,6 @@ "dev": true, "license": "MIT" }, - "node_modules/compare-versions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-6.1.0.tgz", - "integrity": "sha512-LNZQXhqUvqUTotpZ00qLSaify3b4VFD588aRr8MKFw4CMUr98ytzCW5wDH5qx/DEY5kCDXcbcRuCqL0szEf2tg==", - "dev": true - }, "node_modules/compressible": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", @@ -10062,27 +9794,6 @@ "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", "dev": true }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/data-uri-to-buffer": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", - "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==", - "dev": true, - "engines": { - "node": ">= 14" - } - }, "node_modules/data-view-buffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", @@ -10161,15 +9872,6 @@ "callsite": "^1.0.0" } }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -10256,116 +9958,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/degenerator": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", - "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", - "dev": true, - "dependencies": { - "ast-types": "^0.13.4", - "escodegen": "^2.1.0", - "esprima": "^4.0.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/degenerator/node_modules/ast-types": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", - "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", - "dev": true, - "dependencies": { - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/degenerator/node_modules/escodegen": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", - "dev": true, - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/degenerator/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/degenerator/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/del": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", - "integrity": "sha512-Z4fzpbIRjOu7lO5jCETSWoqUDVe0IPOlfugBsF6suen2LKDlVb4QZpKEM9P+buNJ4KI1eN7I083w/pbKUpsrWQ==", - "dev": true, - "dependencies": { - "globby": "^5.0.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "rimraf": "^2.2.8" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/del/node_modules/globby": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", - "integrity": "sha512-HJRTIH2EeH44ka+LWig+EqT2ONSYpVlNfx6pyd592/VF1TbfljJ7elwie7oSwcViLGqOdWocSdu2txwBF9bjmQ==", - "dev": true, - "dependencies": { - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", @@ -10556,16 +10148,6 @@ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "dev": true }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -10923,21 +10505,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es6-promise": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz", - "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==", - "dev": true - }, - "node_modules/es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", - "dev": true, - "dependencies": { - "es6-promise": "^4.0.3" - } - }, "node_modules/es6-shim": { "version": "0.35.8", "resolved": "https://registry.npmjs.org/es6-shim/-/es6-shim-0.35.8.tgz", @@ -11700,19 +11267,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/esquery": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", @@ -11822,15 +11376,6 @@ "node": ">=0.8.x" } }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/exponential-backoff": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", @@ -12022,73 +11567,6 @@ "node": ">=0.6.0" } }, - "node_modules/extract-zip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", - "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "get-stream": "^5.1.0", - "yauzl": "^2.10.0" - }, - "bin": { - "extract-zip": "cli.js" - }, - "engines": { - "node": ">= 10.17.0" - }, - "optionalDependencies": { - "@types/yauzl": "^2.9.1" - } - }, - "node_modules/extract-zip/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/extract-zip/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/extract-zip/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true, - "engines": [ - "node >=0.6.0" - ] - }, "node_modules/fancy-log": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-2.0.0.tgz", @@ -12181,15 +11659,6 @@ "node": ">=0.8.0" } }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "dev": true, - "dependencies": { - "pend": "~1.2.0" - } - }, "node_modules/fdir": { "version": "6.4.2", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.2.tgz", @@ -12380,29 +11849,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -12613,53 +12059,6 @@ "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } }, - "node_modules/get-uri": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.3.tgz", - "integrity": "sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==", - "dev": true, - "dependencies": { - "basic-ftp": "^5.0.2", - "data-uri-to-buffer": "^6.0.2", - "debug": "^4.3.4", - "fs-extra": "^11.2.0" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/get-uri/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/get-uri/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0" - } - }, "node_modules/glob": { "version": "7.1.4", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", @@ -12820,29 +12219,6 @@ "node": ">=0.10.0" } }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "deprecated": "this library is no longer supported", - "dev": true, - "dependencies": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", @@ -13207,61 +12583,6 @@ "dev": true, "license": "MIT" }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, - "node_modules/https-proxy-agent": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", - "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", - "dev": true, - "dependencies": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/https-proxy-agent/node_modules/agent-base": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", - "dev": true, - "dependencies": { - "es6-promisify": "^5.0.0" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/https-proxy-agent/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/https-proxy-agent/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, "node_modules/human-signals": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", @@ -13412,12 +12733,6 @@ "node": ">=0.10.0" } }, - "node_modules/immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", - "dev": true - }, "node_modules/immutable": { "version": "4.3.7", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", @@ -13549,15 +12864,6 @@ "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", "dev": true }, - "node_modules/ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/ipaddr.js": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", @@ -13842,39 +13148,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha512-cnS56eR9SPAscL77ik76ATVqoPARTqPIVkMDVxRaWH06zT+6+CzIroYRJ0VVvm0Z1zfAvxvz9i/D3Ppjaqt5Nw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", - "dev": true, - "dependencies": { - "is-path-inside": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-path-in-cwd/node_modules/is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha512-qhsCR/Esx4U4hg/9I19OVUAJkGWtjRYHMRgUMZE2TDdj+Ag+kttZanLupfddNyglzz50cUlmWzUaI37GDfNx/g==", - "dev": true, - "dependencies": { - "path-is-inside": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-path-inside": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", @@ -13998,12 +13271,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, "node_modules/is-unicode-supported": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", @@ -14016,12 +13283,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-url": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", - "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", - "dev": true - }, "node_modules/is-weakref": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", @@ -14052,20 +13313,6 @@ "node": ">=8" } }, - "node_modules/is2": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/is2/-/is2-2.0.9.tgz", - "integrity": "sha512-rZkHeBn9Zzq52sd9IUIV3a5mfwBY+o2HePMh0wkGBM4z4qjvy2GwVxQ6nNXSfw6MmVP6gf1QIlWjiOavhM3x5g==", - "dev": true, - "dependencies": { - "deep-is": "^0.1.3", - "ip-regex": "^4.1.0", - "is-url": "^1.2.4" - }, - "engines": { - "node": ">=v0.10.0" - } - }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -14100,12 +13347,6 @@ "node": ">=0.10.0" } }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, "node_modules/istanbul-lib-coverage": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", @@ -14231,20 +13472,6 @@ "@pkgjs/parseargs": "^0.11.0" } }, - "node_modules/jasmine": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz", - "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=", - "dev": true, - "dependencies": { - "exit": "^0.1.2", - "glob": "^7.0.6", - "jasmine-core": "~2.8.0" - }, - "bin": { - "jasmine": "bin/jasmine.js" - } - }, "node_modules/jasmine-core": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.4.0.tgz", @@ -14261,21 +13488,6 @@ "colors": "1.4.0" } }, - "node_modules/jasmine/node_modules/jasmine-core": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz", - "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=", - "dev": true - }, - "node_modules/jasminewd2": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz", - "integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=", - "dev": true, - "engines": { - "node": ">= 6.9.x" - } - }, "node_modules/jest-worker": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", @@ -14323,12 +13535,6 @@ "dev": true, "license": "MIT" }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, "node_modules/jsdoc-type-pratt-parser": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.1.0.tgz", @@ -14364,12 +13570,6 @@ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, - "node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true - }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -14382,12 +13582,6 @@ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", @@ -14438,33 +13632,6 @@ ], "license": "MIT" }, - "node_modules/jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dev": true, - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/jszip": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", - "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", - "dev": true, - "dependencies": { - "lie": "~3.3.0", - "pako": "~1.0.2", - "readable-stream": "~2.3.6", - "setimmediate": "^1.0.5" - } - }, "node_modules/karma": { "version": "6.4.4", "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.4.tgz", @@ -14774,15 +13941,6 @@ "node": ">=0.10.0" } }, - "node_modules/klaw-sync": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-2.1.0.tgz", - "integrity": "sha1-PTvNhgDnv971MjHHOf8FOu1WDkQ=", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.11" - } - }, "node_modules/launch-editor": { "version": "2.9.1", "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.9.1.tgz", @@ -14910,15 +14068,6 @@ } } }, - "node_modules/lie": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", - "dev": true, - "dependencies": { - "immediate": "~3.0.5" - } - }, "node_modules/lines-and-columns": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", @@ -16125,15 +15274,6 @@ "node": ">= 10" } }, - "node_modules/netmask": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", - "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", - "dev": true, - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/ng-mocks": { "version": "14.13.1", "resolved": "https://registry.npmjs.org/ng-mocks/-/ng-mocks-14.13.1.tgz", @@ -17051,15 +16191,6 @@ "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true, - "engines": { - "node": "*" - } - }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -17408,74 +16539,6 @@ "node": ">=6" } }, - "node_modules/pac-proxy-agent": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.1.tgz", - "integrity": "sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A==", - "dev": true, - "dependencies": { - "@tootallnate/quickjs-emscripten": "^0.23.0", - "agent-base": "^7.0.2", - "debug": "^4.3.4", - "get-uri": "^6.0.1", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.2", - "pac-resolver": "^7.0.0", - "socks-proxy-agent": "^8.0.2" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/pac-proxy-agent/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/pac-proxy-agent/node_modules/https-proxy-agent": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", - "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", - "dev": true, - "dependencies": { - "agent-base": "^7.0.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/pac-proxy-agent/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/pac-resolver": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", - "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", - "dev": true, - "dependencies": { - "degenerator": "^5.0.0", - "netmask": "^2.0.2" - }, - "engines": { - "node": ">= 14" - } - }, "node_modules/package-json-from-dist": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", @@ -17784,12 +16847,6 @@ "node": ">=18" } }, - "node_modules/pako": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.7.tgz", - "integrity": "sha512-3HNK5tW4x8o5mO8RuHZp3Ydw9icZXx0RANAOMzlMzx7LVXhMJ4mo3MOBpzyd7r/+RUu8BmndP47LXT+vzjtWcQ==", - "dev": true - }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -17926,12 +16983,6 @@ "node": ">=0.10.0" } }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", - "dev": true - }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -17998,18 +17049,6 @@ "through": "~2.3" } }, - "node_modules/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - "dev": true - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -18029,57 +17068,221 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "node_modules/piscina": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.7.0.tgz", + "integrity": "sha512-b8hvkpp9zS0zsfa939b/jXbe64Z2gZv0Ha7FYPNUiDIB1y2AtxcOZdfP8xN8HFjUaqQiT9gRlfjAsoL8vdJ1Iw==", + "dev": true, + "license": "MIT", + "optionalDependencies": { + "@napi-rs/nice": "^1.0.1" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "node_modules/playwright": { + "version": "1.48.2", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.48.2.tgz", + "integrity": "sha512-NjYvYgp4BPmiwfe31j4gHLa3J7bD2WiBz8Lk2RoSsmX38SVIARZ18VYjxLjAcDsAhA+F4iSEXTSGgjua0rrlgQ==", "dev": true, + "license": "Apache-2.0", + "dependencies": { + "playwright-core": "1.48.2" + }, + "bin": { + "playwright": "cli.js" + }, "engines": { - "node": ">=0.10.0" + "node": ">=18" + }, + "optionalDependencies": { + "fsevents": "2.3.2" } }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "node_modules/playwright-core": { + "version": "1.48.2", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.48.2.tgz", + "integrity": "sha512-sjjw+qrLFlriJo64du+EK0kJgZzoQPsabGF4lBvsid+3CNIZIYLgnMj9V6JY5VhM2Peh20DJWIVpVljLLnlawA==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/playwright-ng-schematics": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/playwright-ng-schematics/-/playwright-ng-schematics-1.1.1.tgz", + "integrity": "sha512-hsdw++d2eYaoX+AQ/scBIQ7faAKHavG1qM2W8s0VBxZfmxbampb7b2gGADe5cURKUNSPQZg8QEztQPHRzo8jCA==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "pinkie": "^2.0.0" + "@angular-devkit/architect": "0.1800.6", + "@angular-devkit/core": "18.0.6", + "@angular-devkit/schematics": "18.0.6" + } + }, + "node_modules/playwright-ng-schematics/node_modules/@angular-devkit/architect": { + "version": "0.1800.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1800.6.tgz", + "integrity": "sha512-VJ08XM9XR8d3ldXEMIeaiamBSvQqX+ucIKw73zubP37yFVAuvXriDOFskcouVUT0RxWXIZVcNxrgp2t3FE4F6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "18.0.6", + "rxjs": "7.8.1" }, "engines": { - "node": ">=0.10.0" + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" } }, - "node_modules/piscina": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.7.0.tgz", - "integrity": "sha512-b8hvkpp9zS0zsfa939b/jXbe64Z2gZv0Ha7FYPNUiDIB1y2AtxcOZdfP8xN8HFjUaqQiT9gRlfjAsoL8vdJ1Iw==", + "node_modules/playwright-ng-schematics/node_modules/@angular-devkit/core": { + "version": "18.0.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.0.6.tgz", + "integrity": "sha512-07U0S2fpUBjkg4k6uAEQQHSFfearyHGrONlgkxAlk7HWM5jfHp/8D2+ui1OFZgXpSAHF2C5gULbze/2o9ZNgag==", "dev": true, "license": "MIT", - "optionalDependencies": { - "@napi-rs/nice": "^1.0.1" + "dependencies": { + "ajv": "8.13.0", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.2.1", + "picomatch": "4.0.2", + "rxjs": "7.8.1", + "source-map": "0.7.4" + }, + "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 + } } }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "node_modules/playwright-ng-schematics/node_modules/@angular-devkit/schematics": { + "version": "18.0.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-18.0.6.tgz", + "integrity": "sha512-lzjPp8qWV4p3reyKZ2QRF7rQYc17WMCR61vKldQJBuJrS30yx87x22ASn4BCAo7kKKRv8gXJmoXjCPDFlcfRsw==", "dev": true, "license": "MIT", "dependencies": { - "find-up": "^4.0.0" + "@angular-devkit/core": "18.0.6", + "jsonc-parser": "3.2.1", + "magic-string": "0.30.10", + "ora": "5.4.1", + "rxjs": "7.8.1" }, "engines": { - "node": ">=8" + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/playwright-ng-schematics/node_modules/ajv": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.13.0.tgz", + "integrity": "sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.4.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/playwright-ng-schematics/node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/playwright-ng-schematics/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/playwright-ng-schematics/node_modules/jsonc-parser": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", + "dev": true, + "license": "MIT" + }, + "node_modules/playwright-ng-schematics/node_modules/magic-string": { + "version": "0.30.10", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", + "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, + "node_modules/playwright-ng-schematics/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/playwright/node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, "node_modules/possible-typed-array-names": { @@ -18574,127 +17777,6 @@ "hammerjs": "^2.0.8" } }, - "node_modules/protractor": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/protractor/-/protractor-7.0.0.tgz", - "integrity": "sha512-UqkFjivi4GcvUQYzqGYNe0mLzfn5jiLmO8w9nMhQoJRLhy2grJonpga2IWhI6yJO30LibWXJJtA4MOIZD2GgZw==", - "dev": true, - "dependencies": { - "@types/q": "^0.0.32", - "@types/selenium-webdriver": "^3.0.0", - "blocking-proxy": "^1.0.0", - "browserstack": "^1.5.1", - "chalk": "^1.1.3", - "glob": "^7.0.3", - "jasmine": "2.8.0", - "jasminewd2": "^2.1.0", - "q": "1.4.1", - "saucelabs": "^1.5.0", - "selenium-webdriver": "3.6.0", - "source-map-support": "~0.4.0", - "webdriver-js-extender": "2.1.0", - "webdriver-manager": "^12.1.7", - "yargs": "^15.3.1" - }, - "bin": { - "protractor": "bin/protractor", - "webdriver-manager": "bin/webdriver-manager" - }, - "engines": { - "node": ">=10.13.x" - } - }, - "node_modules/protractor-beautiful-reporter": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/protractor-beautiful-reporter/-/protractor-beautiful-reporter-1.3.6.tgz", - "integrity": "sha512-lALPJJV8li3AqweEfKcXSRBK/QSe82FyB13b1+6NQvrAkE6YyoZ91pYg1ZNUcaZU0HO+pPAmbF4mfW+5FLvieg==", - "dev": true, - "dependencies": { - "circular-json": "^0.3.1", - "fs-extra": "^3.0.1", - "klaw-sync": "^2.1.0", - "mkdirp": "~0.3.5" - } - }, - "node_modules/protractor-beautiful-reporter/node_modules/fs-extra": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", - "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^3.0.0", - "universalify": "^0.1.0" - } - }, - "node_modules/protractor-beautiful-reporter/node_modules/jsonfile": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", - "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/protractor-beautiful-reporter/node_modules/mkdirp": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz", - "integrity": "sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc=", - "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", - "dev": true - }, - "node_modules/protractor/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/protractor/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/protractor/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/protractor/node_modules/source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "dev": true, - "dependencies": { - "source-map": "^0.5.6" - } - }, - "node_modules/protractor/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -18719,76 +17801,6 @@ "node": ">= 0.10" } }, - "node_modules/proxy-agent": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.4.0.tgz", - "integrity": "sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==", - "dev": true, - "dependencies": { - "agent-base": "^7.0.2", - "debug": "^4.3.4", - "http-proxy-agent": "^7.0.1", - "https-proxy-agent": "^7.0.3", - "lru-cache": "^7.14.1", - "pac-proxy-agent": "^7.0.1", - "proxy-from-env": "^1.1.0", - "socks-proxy-agent": "^8.0.2" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/proxy-agent/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/proxy-agent/node_modules/https-proxy-agent": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", - "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", - "dev": true, - "dependencies": { - "agent-base": "^7.0.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/proxy-agent/node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/proxy-agent/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true - }, "node_modules/proxy-middleware": { "version": "0.15.0", "resolved": "https://registry.npmjs.org/proxy-middleware/-/proxy-middleware-0.15.0.tgz", @@ -18805,12 +17817,6 @@ "dev": true, "optional": true }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", - "dev": true - }, "node_modules/pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -18830,16 +17836,6 @@ "node": ">=6" } }, - "node_modules/q": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", - "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", - "dev": true, - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } - }, "node_modules/qjobs": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", @@ -18849,15 +17845,6 @@ "node": ">=0.9" } }, - "node_modules/qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -19059,48 +18046,6 @@ "regjsparser": "bin/parser" } }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dev": true, - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/request/node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true, - "bin": { - "uuid": "bin/uuid" - } - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -19119,12 +18064,6 @@ "node": ">=0.10.0" } }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, "node_modules/require-relative": { "version": "0.8.7", "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz", @@ -19243,18 +18182,6 @@ "dev": true, "license": "MIT" }, - "node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, "node_modules/rollup": { "version": "4.24.4", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.4.tgz", @@ -19481,23 +18408,12 @@ "url": "https://paulmillr.com/funding/" } }, - "node_modules/saucelabs": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz", - "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==", - "dev": true, - "dependencies": { - "https-proxy-agent": "^2.2.1" - }, - "engines": { - "node": "*" - } - }, "node_modules/sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true + "dev": true, + "optional": true }, "node_modules/schema-utils": { "version": "4.2.0", @@ -19559,33 +18475,6 @@ "dev": true, "license": "MIT" }, - "node_modules/selenium-webdriver": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz", - "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==", - "dev": true, - "dependencies": { - "jszip": "^3.1.3", - "rimraf": "^2.5.4", - "tmp": "0.0.30", - "xml2js": "^0.4.17" - }, - "engines": { - "node": ">= 6.9.0" - } - }, - "node_modules/selenium-webdriver/node_modules/tmp": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz", - "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=", - "dev": true, - "dependencies": { - "os-tmpdir": "~1.0.1" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/selfsigned": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", @@ -19605,6 +18494,7 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, + "optional": true, "bin": { "semver": "bin/semver" } @@ -19745,12 +18635,6 @@ "node": ">= 0.8" } }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, "node_modules/set-function-length": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", @@ -19782,12 +18666,6 @@ "node": ">= 0.4" } }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", - "dev": true - }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -20347,31 +19225,6 @@ "node": "*" } }, - "node_modules/sshpk": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.0.tgz", - "integrity": "sha512-Zhev35/y7hRMcID/upReIvRse+I9SVhyVre/KTJSJQWMz3C3+G+HpO7m1wK/yckEtujKZ7dS4hkVxAnmHaIGVQ==", - "dev": true, - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/ssri": { "version": "10.0.5", "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz", @@ -20777,39 +19630,6 @@ "node": ">=8" } }, - "node_modules/tcp-port-used": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.2.tgz", - "integrity": "sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA==", - "dev": true, - "dependencies": { - "debug": "4.3.1", - "is2": "^2.0.6" - } - }, - "node_modules/tcp-port-used/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/tcp-port-used/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, "node_modules/terser": { "version": "5.36.0", "resolved": "https://registry.npmjs.org/terser/-/terser-5.36.0.tgz", @@ -20972,19 +19792,6 @@ "node": ">=0.6" } }, - "node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, "node_modules/tree-dump": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.0.2.tgz", @@ -21507,24 +20314,6 @@ "node": ">=18" } }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -21791,15 +20580,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/unix-crypt-td-js": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/unix-crypt-td-js/-/unix-crypt-td-js-1.1.4.tgz", @@ -21919,20 +20699,6 @@ "node": ">= 0.8" } }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, "node_modules/vis": { "version": "4.21.0-EOL", "resolved": "https://registry.npmjs.org/vis/-/vis-4.21.0-EOL.tgz", @@ -22574,84 +21340,6 @@ "license": "MIT", "optional": true }, - "node_modules/webdriver-js-extender": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-2.1.0.tgz", - "integrity": "sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ==", - "dev": true, - "dependencies": { - "@types/selenium-webdriver": "^3.0.0", - "selenium-webdriver": "^3.0.1" - }, - "engines": { - "node": ">=6.9.x" - } - }, - "node_modules/webdriver-manager": { - "version": "12.1.9", - "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.9.tgz", - "integrity": "sha512-Yl113uKm8z4m/KMUVWHq1Sjtla2uxEBtx2Ue3AmIlnlPAKloDn/Lvmy6pqWCUersVISpdMeVpAaGbNnvMuT2LQ==", - "dev": true, - "dependencies": { - "adm-zip": "^0.5.2", - "chalk": "^1.1.1", - "del": "^2.2.0", - "glob": "^7.0.3", - "ini": "^1.3.4", - "minimist": "^1.2.0", - "q": "^1.4.1", - "request": "^2.87.0", - "rimraf": "^2.5.2", - "semver": "^5.3.0", - "xml2js": "^0.4.17" - }, - "bin": { - "webdriver-manager": "bin/webdriver-manager" - }, - "engines": { - "node": ">=6.9.x" - } - }, - "node_modules/webdriver-manager/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webdriver-manager/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", - "dev": true, - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webdriver-manager/node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "node_modules/webdriver-manager/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/webpack": { "version": "5.96.1", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.96.1.tgz", @@ -23010,12 +21698,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, "node_modules/which-typed-array": { "version": "1.1.15", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", @@ -23221,85 +21903,12 @@ "node": ">= 6" } }, - "node_modules/xml2js": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", - "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", - "dev": true, - "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", - "dev": true - }, "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/yargs": { - "version": "15.3.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz", - "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==", - "dev": true, - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", - "dev": true, - "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, "node_modules/yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", @@ -26939,6 +25548,15 @@ "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", "dev": true }, + "@playwright/test": { + "version": "1.48.2", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.48.2.tgz", + "integrity": "sha512-54w1xCWfXuax7dz4W2M9uw0gDyh+ti/0K/MxcCUxChFh37kkdxPdfZDw5QBbuPUJHr1CiHJ1hXgSs+GgeQc5Zw==", + "dev": true, + "requires": { + "playwright": "1.48.2" + } + }, "@rollup/plugin-json": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.1.0.tgz", @@ -27439,12 +26057,6 @@ "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", "dev": true }, - "@testim/chrome-version": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@testim/chrome-version/-/chrome-version-1.1.4.tgz", - "integrity": "sha512-kIhULpw9TrGYnHp/8VfdcneIcxKnLixmADtukQRtJUmsVlMg0niMkwV0xZmi8hqa57xqilIHjWFA0GKvEjVU5g==", - "dev": true - }, "@thednp/event-listener": { "version": "2.0.8", "resolved": "https://registry.npmjs.org/@thednp/event-listener/-/event-listener-2.0.8.tgz", @@ -27457,12 +26069,6 @@ "integrity": "sha512-PQ388ZznrgnkikwkDCqqFfkGAYWXS2ijFmXD63Ej47Md6VrV5WJqhgQilhu3tSkzddtbDJlz4tQTj4RYVrWUoA==", "dev": true }, - "@tootallnate/quickjs-emscripten": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", - "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", - "dev": true - }, "@ts-morph/common": { "version": "0.25.0", "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.25.0.tgz", @@ -27729,12 +26335,6 @@ "@types/node": "*" } }, - "@types/q": { - "version": "0.0.32", - "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz", - "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=", - "dev": true - }, "@types/qs": { "version": "6.9.15", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", @@ -27753,12 +26353,6 @@ "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==", "dev": true }, - "@types/selenium-webdriver": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.17.tgz", - "integrity": "sha512-tGomyEuzSC1H28y2zlW6XPCaDaXFaD6soTdb4GNdmte2qfHtrKqhy0ZFs4r/1hpazCfEZqeTSRLvSasmEx89uw==", - "dev": true - }, "@types/send": { "version": "0.17.4", "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", @@ -27813,16 +26407,6 @@ "@types/node": "*" } }, - "@types/yauzl": { - "version": "2.10.3", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", - "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", - "dev": true, - "optional": true, - "requires": { - "@types/node": "*" - } - }, "@typescript-eslint/eslint-plugin": { "version": "7.18.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz", @@ -28221,12 +26805,6 @@ } } }, - "adm-zip": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz", - "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==", - "dev": true - }, "agent-base": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", @@ -28419,21 +26997,6 @@ "is-string": "^1.0.7" } }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", - "dev": true - }, "array.prototype.findlastindex": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", @@ -28488,33 +27051,6 @@ "is-shared-array-buffer": "^1.0.2" } }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", - "dev": true - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, "autoprefixer": { "version": "10.4.20", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", @@ -28538,42 +27074,6 @@ "possible-typed-array-names": "^1.0.0" } }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", - "dev": true - }, - "axios": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.4.tgz", - "integrity": "sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==", - "dev": true, - "requires": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - }, - "dependencies": { - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - } - } - }, "axobject-query": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", @@ -28725,27 +27225,12 @@ "safe-buffer": "5.1.2" } }, - "basic-ftp": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz", - "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==", - "dev": true - }, "batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", "dev": true }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, "bcryptjs": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", @@ -28818,15 +27303,6 @@ } } }, - "blocking-proxy": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz", - "integrity": "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, "body-parser": { "version": "1.20.3", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", @@ -28941,15 +27417,6 @@ "update-browserslist-db": "^1.1.1" } }, - "browserstack": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.6.0.tgz", - "integrity": "sha512-HJDJ0TSlmkwnt9RZ+v5gFpa1XZTBYTj0ywvLwJ3241J7vMw2jAsGNVhKHtmCOyg+VxeLZyaibO9UL71AsUeDIw==", - "dev": true, - "requires": { - "https-proxy-agent": "^2.2.1" - } - }, "buffer": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", @@ -28960,12 +27427,6 @@ "ieee754": "^1.1.13" } }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "dev": true - }, "buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", @@ -29065,24 +27526,12 @@ "integrity": "sha512-0vdNRFXn5q+dtOqjfFtmtlI9N2eVZ7LMyEV2iKC5mEEFvSg/69Ml6b/WU2qF8W1nLRa0wiSrDT3Y5jOHZCwKPQ==", "dev": true }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, "caniuse-lite": { "version": "1.0.30001675", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001675.tgz", "integrity": "sha512-/wV1bQwPrkLiQMjaJF5yUMVM/VdRPOCU8QZ+PmG6uW6DvYSrNY1bpwHI/3mOcUosLaJCzYDi5o91IQB51ft6cg==", "dev": true }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -29194,27 +27643,6 @@ "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", "dev": true }, - "chromedriver": { - "version": "130.0.4", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-130.0.4.tgz", - "integrity": "sha512-lpR+PWXszij1k4Ig3t338Zvll9HtCTiwoLM7n4pCCswALHxzmgwaaIFBh3rt9+5wRk9D07oFblrazrBxwaYYAQ==", - "dev": true, - "requires": { - "@testim/chrome-version": "^1.1.4", - "axios": "^1.7.4", - "compare-versions": "^6.1.0", - "extract-zip": "^2.0.1", - "proxy-agent": "^6.4.0", - "proxy-from-env": "^1.1.0", - "tcp-port-used": "^1.0.2" - } - }, - "circular-json": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", - "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", - "dev": true - }, "clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", @@ -29286,34 +27714,6 @@ "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", "dev": true }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, "clone": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", @@ -29370,15 +27770,6 @@ "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "dev": true }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -29409,12 +27800,6 @@ "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", "dev": true }, - "compare-versions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-6.1.0.tgz", - "integrity": "sha512-LNZQXhqUvqUTotpZ00qLSaify3b4VFD588aRr8MKFw4CMUr98ytzCW5wDH5qx/DEY5kCDXcbcRuCqL0szEf2tg==", - "dev": true - }, "compressible": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", @@ -29695,21 +28080,6 @@ "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", "dev": true }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "data-uri-to-buffer": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", - "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==", - "dev": true - }, "data-view-buffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", @@ -29767,12 +28137,6 @@ "callsite": "^1.0.0" } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, "deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -29832,90 +28196,6 @@ "object-keys": "^1.1.1" } }, - "degenerator": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", - "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", - "dev": true, - "requires": { - "ast-types": "^0.13.4", - "escodegen": "^2.1.0", - "esprima": "^4.0.1" - }, - "dependencies": { - "ast-types": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", - "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", - "dev": true, - "requires": { - "tslib": "^2.0.1" - } - }, - "escodegen": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", - "dev": true, - "requires": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "source-map": "~0.6.1" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - } - } - }, - "del": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", - "integrity": "sha512-Z4fzpbIRjOu7lO5jCETSWoqUDVe0IPOlfugBsF6suen2LKDlVb4QZpKEM9P+buNJ4KI1eN7I083w/pbKUpsrWQ==", - "dev": true, - "requires": { - "globby": "^5.0.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "rimraf": "^2.2.8" - }, - "dependencies": { - "globby": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", - "integrity": "sha512-HJRTIH2EeH44ka+LWig+EqT2ONSYpVlNfx6pyd592/VF1TbfljJ7elwie7oSwcViLGqOdWocSdu2txwBF9bjmQ==", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - } - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", @@ -30059,16 +28339,6 @@ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "dev": true }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -30351,21 +28621,6 @@ "is-symbol": "^1.0.2" } }, - "es6-promise": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz", - "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==", - "dev": true - }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", - "dev": true, - "requires": { - "es6-promise": "^4.0.3" - } - }, "es6-shim": { "version": "0.35.8", "resolved": "https://registry.npmjs.org/es6-shim/-/es6-shim-0.35.8.tgz", @@ -30880,12 +29135,6 @@ "eslint-visitor-keys": "^3.4.1" } }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, "esquery": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", @@ -30971,12 +29220,6 @@ "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true - }, "exponential-backoff": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", @@ -31115,50 +29358,6 @@ } } }, - "extract-zip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", - "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", - "dev": true, - "requires": { - "@types/yauzl": "^2.9.1", - "debug": "^4.1.1", - "get-stream": "^5.1.0", - "yauzl": "^2.10.0" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, "fancy-log": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-2.0.0.tgz", @@ -31240,15 +29439,6 @@ "websocket-driver": ">=0.5.1" } }, - "fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "dev": true, - "requires": { - "pend": "~1.2.0" - } - }, "fdir": { "version": "6.4.2", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.2.tgz", @@ -31376,23 +29566,6 @@ } } }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, "forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -31533,44 +29706,6 @@ "resolve-pkg-maps": "^1.0.0" } }, - "get-uri": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.3.tgz", - "integrity": "sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==", - "dev": true, - "requires": { - "basic-ftp": "^5.0.2", - "data-uri-to-buffer": "^6.0.2", - "debug": "^4.3.4", - "fs-extra": "^11.2.0" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, "glob": { "version": "7.1.4", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", @@ -31691,22 +29826,6 @@ } } }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "dev": true, - "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" - } - }, "has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", @@ -31972,53 +30091,6 @@ } } }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "https-proxy-agent": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", - "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", - "dev": true, - "requires": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" - }, - "dependencies": { - "agent-base": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", - "dev": true, - "requires": { - "es6-promisify": "^5.0.0" - } - }, - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, "human-signals": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", @@ -32103,12 +30175,6 @@ "dev": true, "optional": true }, - "immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", - "dev": true - }, "immutable": { "version": "4.3.7", "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", @@ -32216,12 +30282,6 @@ } } }, - "ip-regex": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", - "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", - "dev": true - }, "ipaddr.js": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", @@ -32396,32 +30456,6 @@ "has-tostringtag": "^1.0.0" } }, - "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha512-cnS56eR9SPAscL77ik76ATVqoPARTqPIVkMDVxRaWH06zT+6+CzIroYRJ0VVvm0Z1zfAvxvz9i/D3Ppjaqt5Nw==", - "dev": true - }, - "is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", - "dev": true, - "requires": { - "is-path-inside": "^1.0.0" - }, - "dependencies": { - "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha512-qhsCR/Esx4U4hg/9I19OVUAJkGWtjRYHMRgUMZE2TDdj+Ag+kttZanLupfddNyglzz50cUlmWzUaI37GDfNx/g==", - "dev": true, - "requires": { - "path-is-inside": "^1.0.1" - } - } - } - }, "is-path-inside": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", @@ -32495,24 +30529,12 @@ "which-typed-array": "^1.1.14" } }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, "is-unicode-supported": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true }, - "is-url": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", - "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", - "dev": true - }, "is-weakref": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", @@ -32537,17 +30559,6 @@ "is-docker": "^2.0.0" } }, - "is2": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/is2/-/is2-2.0.9.tgz", - "integrity": "sha512-rZkHeBn9Zzq52sd9IUIV3a5mfwBY+o2HePMh0wkGBM4z4qjvy2GwVxQ6nNXSfw6MmVP6gf1QIlWjiOavhM3x5g==", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "ip-regex": "^4.1.0", - "is-url": "^1.2.4" - } - }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -32572,12 +30583,6 @@ "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, "istanbul-lib-coverage": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", @@ -32670,25 +30675,6 @@ "@pkgjs/parseargs": "^0.11.0" } }, - "jasmine": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz", - "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=", - "dev": true, - "requires": { - "exit": "^0.1.2", - "glob": "^7.0.6", - "jasmine-core": "~2.8.0" - }, - "dependencies": { - "jasmine-core": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz", - "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=", - "dev": true - } - } - }, "jasmine-core": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.4.0.tgz", @@ -32704,12 +30690,6 @@ "colors": "1.4.0" } }, - "jasminewd2": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz", - "integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=", - "dev": true - }, "jest-worker": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", @@ -32744,12 +30724,6 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, "jsdoc-type-pratt-parser": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.1.0.tgz", @@ -32774,12 +30748,6 @@ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true - }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -32792,12 +30760,6 @@ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, "json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", @@ -32834,30 +30796,6 @@ "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", "dev": true }, - "jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - } - }, - "jszip": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", - "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", - "dev": true, - "requires": { - "lie": "~3.3.0", - "pako": "~1.0.2", - "readable-stream": "~2.3.6", - "setimmediate": "^1.0.5" - } - }, "karma": { "version": "6.4.4", "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.4.tgz", @@ -33094,15 +31032,6 @@ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, - "klaw-sync": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-2.1.0.tgz", - "integrity": "sha1-PTvNhgDnv971MjHHOf8FOu1WDkQ=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11" - } - }, "launch-editor": { "version": "2.9.1", "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.9.1.tgz", @@ -33183,15 +31112,6 @@ "webpack-sources": "^3.0.0" } }, - "lie": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", - "dev": true, - "requires": { - "immediate": "~3.0.5" - } - }, "lines-and-columns": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", @@ -34033,12 +31953,6 @@ "integrity": "sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==", "dev": true }, - "netmask": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", - "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", - "dev": true - }, "ng-mocks": { "version": "14.13.1", "resolved": "https://registry.npmjs.org/ng-mocks/-/ng-mocks-14.13.1.tgz", @@ -34647,12 +32561,6 @@ "boolbase": "^1.0.0" } }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -34896,59 +32804,6 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, - "pac-proxy-agent": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.1.tgz", - "integrity": "sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A==", - "dev": true, - "requires": { - "@tootallnate/quickjs-emscripten": "^0.23.0", - "agent-base": "^7.0.2", - "debug": "^4.3.4", - "get-uri": "^6.0.1", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.2", - "pac-resolver": "^7.0.0", - "socks-proxy-agent": "^8.0.2" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "https-proxy-agent": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", - "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", - "dev": true, - "requires": { - "agent-base": "^7.0.2", - "debug": "4" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "pac-resolver": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", - "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", - "dev": true, - "requires": { - "degenerator": "^5.0.0", - "netmask": "^2.0.2" - } - }, "package-json-from-dist": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", @@ -35160,12 +33015,6 @@ } } }, - "pako": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.7.tgz", - "integrity": "sha512-3HNK5tW4x8o5mO8RuHZp3Ydw9icZXx0RANAOMzlMzx7LVXhMJ4mo3MOBpzyd7r/+RUu8BmndP47LXT+vzjtWcQ==", - "dev": true - }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -35264,12 +33113,6 @@ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", - "dev": true - }, "path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -35321,18 +33164,6 @@ "through": "~2.3" } }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - "dev": true - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, "picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -35345,27 +33176,6 @@ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, "piscina": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.7.0.tgz", @@ -35384,6 +33194,129 @@ "find-up": "^4.0.0" } }, + "playwright": { + "version": "1.48.2", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.48.2.tgz", + "integrity": "sha512-NjYvYgp4BPmiwfe31j4gHLa3J7bD2WiBz8Lk2RoSsmX38SVIARZ18VYjxLjAcDsAhA+F4iSEXTSGgjua0rrlgQ==", + "dev": true, + "requires": { + "fsevents": "2.3.2", + "playwright-core": "1.48.2" + }, + "dependencies": { + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + } + } + }, + "playwright-core": { + "version": "1.48.2", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.48.2.tgz", + "integrity": "sha512-sjjw+qrLFlriJo64du+EK0kJgZzoQPsabGF4lBvsid+3CNIZIYLgnMj9V6JY5VhM2Peh20DJWIVpVljLLnlawA==", + "dev": true + }, + "playwright-ng-schematics": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/playwright-ng-schematics/-/playwright-ng-schematics-1.1.1.tgz", + "integrity": "sha512-hsdw++d2eYaoX+AQ/scBIQ7faAKHavG1qM2W8s0VBxZfmxbampb7b2gGADe5cURKUNSPQZg8QEztQPHRzo8jCA==", + "dev": true, + "requires": { + "@angular-devkit/architect": "0.1800.6", + "@angular-devkit/core": "18.0.6", + "@angular-devkit/schematics": "18.0.6" + }, + "dependencies": { + "@angular-devkit/architect": { + "version": "0.1800.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1800.6.tgz", + "integrity": "sha512-VJ08XM9XR8d3ldXEMIeaiamBSvQqX+ucIKw73zubP37yFVAuvXriDOFskcouVUT0RxWXIZVcNxrgp2t3FE4F6w==", + "dev": true, + "requires": { + "@angular-devkit/core": "18.0.6", + "rxjs": "7.8.1" + } + }, + "@angular-devkit/core": { + "version": "18.0.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.0.6.tgz", + "integrity": "sha512-07U0S2fpUBjkg4k6uAEQQHSFfearyHGrONlgkxAlk7HWM5jfHp/8D2+ui1OFZgXpSAHF2C5gULbze/2o9ZNgag==", + "dev": true, + "requires": { + "ajv": "8.13.0", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.2.1", + "picomatch": "4.0.2", + "rxjs": "7.8.1", + "source-map": "0.7.4" + } + }, + "@angular-devkit/schematics": { + "version": "18.0.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-18.0.6.tgz", + "integrity": "sha512-lzjPp8qWV4p3reyKZ2QRF7rQYc17WMCR61vKldQJBuJrS30yx87x22ASn4BCAo7kKKRv8gXJmoXjCPDFlcfRsw==", + "dev": true, + "requires": { + "@angular-devkit/core": "18.0.6", + "jsonc-parser": "3.2.1", + "magic-string": "0.30.10", + "ora": "5.4.1", + "rxjs": "7.8.1" + } + }, + "ajv": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.13.0.tgz", + "integrity": "sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.4.1" + } + }, + "ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dev": true, + "requires": { + "ajv": "^8.0.0" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "jsonc-parser": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", + "dev": true + }, + "magic-string": { + "version": "0.30.10", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", + "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, + "picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true + } + } + }, "possible-typed-array-names": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", @@ -35682,111 +33615,6 @@ "hammerjs": "^2.0.8" } }, - "protractor": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/protractor/-/protractor-7.0.0.tgz", - "integrity": "sha512-UqkFjivi4GcvUQYzqGYNe0mLzfn5jiLmO8w9nMhQoJRLhy2grJonpga2IWhI6yJO30LibWXJJtA4MOIZD2GgZw==", - "dev": true, - "requires": { - "@types/q": "^0.0.32", - "@types/selenium-webdriver": "^3.0.0", - "blocking-proxy": "^1.0.0", - "browserstack": "^1.5.1", - "chalk": "^1.1.3", - "glob": "^7.0.3", - "jasmine": "2.8.0", - "jasminewd2": "^2.1.0", - "q": "1.4.1", - "saucelabs": "^1.5.0", - "selenium-webdriver": "3.6.0", - "source-map-support": "~0.4.0", - "webdriver-js-extender": "2.1.0", - "webdriver-manager": "^12.1.7", - "yargs": "^15.3.1" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "dev": true, - "requires": { - "source-map": "^0.5.6" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "protractor-beautiful-reporter": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/protractor-beautiful-reporter/-/protractor-beautiful-reporter-1.3.6.tgz", - "integrity": "sha512-lALPJJV8li3AqweEfKcXSRBK/QSe82FyB13b1+6NQvrAkE6YyoZ91pYg1ZNUcaZU0HO+pPAmbF4mfW+5FLvieg==", - "dev": true, - "requires": { - "circular-json": "^0.3.1", - "fs-extra": "^3.0.1", - "klaw-sync": "^2.1.0", - "mkdirp": "~0.3.5" - }, - "dependencies": { - "fs-extra": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", - "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^3.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", - "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "mkdirp": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz", - "integrity": "sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc=", - "dev": true - } - } - }, "proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -35805,61 +33633,6 @@ } } }, - "proxy-agent": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.4.0.tgz", - "integrity": "sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==", - "dev": true, - "requires": { - "agent-base": "^7.0.2", - "debug": "^4.3.4", - "http-proxy-agent": "^7.0.1", - "https-proxy-agent": "^7.0.3", - "lru-cache": "^7.14.1", - "pac-proxy-agent": "^7.0.1", - "proxy-from-env": "^1.1.0", - "socks-proxy-agent": "^8.0.2" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "https-proxy-agent": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", - "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", - "dev": true, - "requires": { - "agent-base": "^7.0.2", - "debug": "4" - } - }, - "lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true - }, "proxy-middleware": { "version": "0.15.0", "resolved": "https://registry.npmjs.org/proxy-middleware/-/proxy-middleware-0.15.0.tgz", @@ -35873,12 +33646,6 @@ "dev": true, "optional": true }, - "psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", - "dev": true - }, "pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -35895,24 +33662,12 @@ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true }, - "q": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", - "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", - "dev": true - }, "qjobs": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", "dev": true }, - "qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "dev": true - }, "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -36067,42 +33822,6 @@ "jsesc": "~3.0.2" } }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - } - } - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -36115,12 +33834,6 @@ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, "require-relative": { "version": "0.8.7", "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz", @@ -36210,15 +33923,6 @@ "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", "dev": true }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, "rollup": { "version": "4.24.4", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.4.tgz", @@ -36351,20 +34055,12 @@ "neo-async": "^2.6.2" } }, - "saucelabs": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz", - "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==", - "dev": true, - "requires": { - "https-proxy-agent": "^2.2.1" - } - }, "sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true + "dev": true, + "optional": true }, "schema-utils": { "version": "4.2.0", @@ -36413,29 +34109,6 @@ "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", "dev": true }, - "selenium-webdriver": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz", - "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==", - "dev": true, - "requires": { - "jszip": "^3.1.3", - "rimraf": "^2.5.4", - "tmp": "0.0.30", - "xml2js": "^0.4.17" - }, - "dependencies": { - "tmp": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz", - "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.1" - } - } - } - }, "selfsigned": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", @@ -36450,7 +34123,8 @@ "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true + "dev": true, + "optional": true }, "send": { "version": "0.19.0", @@ -36566,12 +34240,6 @@ } } }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, "set-function-length": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", @@ -36597,12 +34265,6 @@ "has-property-descriptors": "^1.0.0" } }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", - "dev": true - }, "setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -37020,23 +34682,6 @@ "through": "2" } }, - "sshpk": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.0.tgz", - "integrity": "sha512-Zhev35/y7hRMcID/upReIvRse+I9SVhyVre/KTJSJQWMz3C3+G+HpO7m1wK/yckEtujKZ7dS4hkVxAnmHaIGVQ==", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, "ssri": { "version": "10.0.5", "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz", @@ -37341,33 +34986,6 @@ } } }, - "tcp-port-used": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.2.tgz", - "integrity": "sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA==", - "dev": true, - "requires": { - "debug": "4.3.1", - "is2": "^2.0.6" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, "terser": { "version": "5.36.0", "resolved": "https://registry.npmjs.org/terser/-/terser-5.36.0.tgz", @@ -37469,16 +35087,6 @@ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, "tree-dump": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.0.2.tgz", @@ -37828,21 +35436,6 @@ } } }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, "type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -38015,12 +35608,6 @@ "imurmurhash": "^0.1.4" } }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - }, "unix-crypt-td-js": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/unix-crypt-td-js/-/unix-crypt-td-js-1.1.4.tgz", @@ -38097,17 +35684,6 @@ "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", "dev": true }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, "vis": { "version": "4.21.0-EOL", "resolved": "https://registry.npmjs.org/vis/-/vis-4.21.0-EOL.tgz", @@ -38425,68 +36001,6 @@ "dev": true, "optional": true }, - "webdriver-js-extender": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-2.1.0.tgz", - "integrity": "sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ==", - "dev": true, - "requires": { - "@types/selenium-webdriver": "^3.0.0", - "selenium-webdriver": "^3.0.1" - } - }, - "webdriver-manager": { - "version": "12.1.9", - "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.9.tgz", - "integrity": "sha512-Yl113uKm8z4m/KMUVWHq1Sjtla2uxEBtx2Ue3AmIlnlPAKloDn/Lvmy6pqWCUersVISpdMeVpAaGbNnvMuT2LQ==", - "dev": true, - "requires": { - "adm-zip": "^0.5.2", - "chalk": "^1.1.1", - "del": "^2.2.0", - "glob": "^7.0.3", - "ini": "^1.3.4", - "minimist": "^1.2.0", - "q": "^1.4.1", - "request": "^2.87.0", - "rimraf": "^2.5.2", - "semver": "^5.3.0", - "xml2js": "^0.4.17" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", - "dev": true - } - } - }, "webpack": { "version": "5.96.1", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.96.1.tgz", @@ -38705,12 +36219,6 @@ "is-symbol": "^1.0.3" } }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, "which-typed-array": { "version": "1.1.15", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", @@ -38852,73 +36360,12 @@ "resolved": "https://registry.npmjs.org/xhr2/-/xhr2-0.2.1.tgz", "integrity": "sha512-sID0rrVCqkVNUn8t6xuv9+6FViXjUVXq8H5rWOH2rz9fDNQEd4g0EA2XlcEdJXRz5BMEn4O1pJFdT+z4YHhoWw==" }, - "xml2js": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", - "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", - "dev": true, - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - } - }, - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "dev": true - }, - "y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", - "dev": true - }, "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "yargs": { - "version": "15.3.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz", - "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.1" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", - "dev": true, - "requires": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" - } - }, "yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", diff --git a/package.json b/package.json index 5e71e564..fc42c5c0 100644 --- a/package.json +++ b/package.json @@ -23,10 +23,7 @@ "build": "ng build", "test": "ng test", "lint": "ng lint", - "e2e": "ng e2e --no-webdriver-update", - "e2e:prod": "ng e2e --no-webdriver-update --configuration=production", - "e2e:azure": "ng e2e --no-webdriver-update --configuration=azure", - "e2e:azure:prod": "ng e2e --no-webdriver-update --configuration=azure-production", + "e2e": "ng e2e", "build:ivy": "ngcc", "build:core": "ng build dynamic-forms-core --configuration=production", "build:bootstrap": "ng build dynamic-forms-bootstrap --configuration=production", @@ -101,6 +98,7 @@ "@angular/compiler-cli": "^19.0.0-rc.1", "@angular/language-service": "^19.0.0-rc.1", "@compodoc/compodoc": "^1.1.26", + "@playwright/test": "1.48.2", "@types/inputmask": "^5.0.7", "@types/jasmine": "~5.1.4", "@types/jasminewd2": "~2.0.13", @@ -109,7 +107,6 @@ "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@typescript-eslint/utils": "^7.18.0", - "chromedriver": "^130.0.4", "eslint": "^8.57.1", "eslint-config-prettier": "^9.1.0", "eslint-import-resolver-typescript": "^3.6.3", @@ -128,11 +125,10 @@ "karma-junit-reporter": "^2.0.1", "ng-mocks": "^14.13.1", "ng-packagr": "^19.0.0-rc.0", + "playwright-ng-schematics": "^1.1.1", "prettier": "^3.3.3", "prettier-eslint": "^16.3.0", - "protractor": "~7.0.0", - "protractor-beautiful-reporter": "^1.3.6", "ts-node": "~10.9.2", "typescript": "^5.5.4" } -} \ No newline at end of file +} diff --git a/playwright.config.ts b/playwright.config.ts new file mode 100644 index 00000000..979ef273 --- /dev/null +++ b/playwright.config.ts @@ -0,0 +1,74 @@ +import { defineConfig, devices } from '@playwright/test'; + +/** + * Read environment variables from file. + * https://github.com/motdotla/dotenv + */ +// require('dotenv').config(); + +/** + * See https://playwright.dev/docs/test-configuration. + */ +export default defineConfig({ + testDir: './apps/demo-e2e/src', + outputDir: 'dist/v19/e2e', + /* Run tests in files in parallel */ + fullyParallel: true, + /* Fail the build on CI if you accidentally left test.only in the source code. */ + forbidOnly: !!process.env['CI'], + /* Retry on CI only */ + retries: process.env['CI'] ? 2 : 0, + /* Opt out of parallel tests on CI. */ + workers: process.env['CI'] ? 1 : undefined, + /* Reporter to use. See https://playwright.dev/docs/test-reporters */ + reporter: [ + ['html', { outputFolder: 'dist/v19/e2e', open: 'never' }], + ['junit', { outputFile: 'dist/v19/e2e/junit-results.xml' }], + ], + /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ + use: { + /* Base URL to use in actions like `await page.goto('/')`. */ + baseURL: process.env['PLAYWRIGHT_TEST_BASE_URL'] ?? 'http://localhost:4200', + + /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ + trace: 'on-first-retry', + }, + + /* Configure projects for major browsers */ + projects: [ + { + name: 'chromium', + use: { ...devices['Desktop Chrome'] }, + }, + + // { + // name: 'firefox', + // use: { ...devices['Desktop Firefox'] }, + // }, + + // { + // name: 'webkit', + // use: { ...devices['Desktop Safari'] }, + // }, + + /* Test against mobile viewports. */ + // { + // name: 'Mobile Chrome', + // use: { ...devices['Pixel 5'] }, + // }, + // { + // name: 'Mobile Safari', + // use: { ...devices['iPhone 12'] }, + // }, + + /* Test against branded browsers. */ + // { + // name: 'Microsoft Edge', + // use: { ...devices['Desktop Edge'], channel: 'msedge' }, + // }, + // { + // name: 'Google Chrome', + // use: { ...devices['Desktop Chrome'], channel: 'chrome' }, + // }, + ], +}); From 2a702f646486f10b5f353566a455f4da351306d2 Mon Sep 17 00:00:00 2001 From: Alexander Gebuhr Date: Mon, 18 Nov 2024 00:17:45 +0100 Subject: [PATCH 05/20] Improvements --- apps/demo-e2e/src/examples/examples.spec.ts | 43 ++++++++++++++++++--- dynamic-forms-e2e.yml | 4 +- playwright.config.ts | 6 +-- 3 files changed, 43 insertions(+), 10 deletions(-) diff --git a/apps/demo-e2e/src/examples/examples.spec.ts b/apps/demo-e2e/src/examples/examples.spec.ts index e9e2c087..046a0f92 100644 --- a/apps/demo-e2e/src/examples/examples.spec.ts +++ b/apps/demo-e2e/src/examples/examples.spec.ts @@ -44,7 +44,7 @@ test.describe('dynamic-forms demo examples', () => { : `for example "${example.name}" with id "${example.id}"`; test.describe(description, () => { - test('has url, title and form', async ({ page }) => { + test('has url, title and form', async ({ page }, testInfo) => { const exampleUrl = example.modelId ? `${example.id}/models/${example.modelId}` : example.id; await page.goto( @@ -62,6 +62,11 @@ test.describe('dynamic-forms demo examples', () => { await expect(wrapper).toBeVisible(); await expect(form).toBeVisible(); + testInfo.attach('example-loaded', { + body: await page.screenshot(), + contentType: 'image/png', + }); + const actions = form.locator('css=.dynamic-form-header,.dynamic-form-footer').locator('css=dynamic-form-element'); const controls = form.locator('css=div.dynamic-form-control'); @@ -114,12 +119,23 @@ test.describe('dynamic-forms demo examples', () => { await expect(modal).toBeVisible(); await expect(modalCloseButton).toBeVisible(); + + testInfo.attach('example-modal-opened', { + body: await page.screenshot(), + contentType: 'image/png', + }); } - const items = form.locator('css=.dynamic-form-items'); + const itemsWrapper = form.locator('css=.dynamic-form-items'); + + const items = itemsWrapper.locator( + `css=${theme === 'material' ? '.mat-mdc-tab-body,.mat-expansion-panel' : '.dynamic-form-item'}`, + ); const itemCount = await items.count(); - const itemsHeaders = items.locator(`css=${theme === 'material' ? '.mdc-tab' : '.dynamic-form-item-header'}`); + const itemsHeaders = itemsWrapper.locator( + `css=${theme === 'material' ? '.mdc-tab,.mat-expansion-panel-header' : '.dynamic-form-item-header'}`, + ); const itemHeaderCount = await itemsHeaders.count(); const groups = itemCount > 0 ? items : (await modal.isVisible()) ? modal : form; @@ -128,8 +144,8 @@ test.describe('dynamic-forms demo examples', () => { for (let groupIndex = 0; groupIndex < groupCount; groupIndex++) { const group = groups.nth(groupIndex); - if (itemCount > 0 && groupIndex < itemHeaderCount) { - const itemHeader = groups.nth(groupIndex); + if (itemCount > 0 && groupIndex > 0 && groupIndex < itemHeaderCount) { + const itemHeader = itemsHeaders.nth(groupIndex); const itemHeaderClassName = await itemHeader.getAttribute('class'); const itemHeaderVisible = await itemHeader.isVisible(); const itemHeaderDisabled = itemHeaderClassName.includes('disabled'); @@ -139,6 +155,8 @@ test.describe('dynamic-forms demo examples', () => { } } + expect(group).toBeVisible(); + const groupControls = group.locator('css=div.dynamic-form-control'); const groupControlCount = await groupControls.count(); @@ -173,6 +191,11 @@ test.describe('dynamic-forms demo examples', () => { expect(await input.checkInputValue()).toBe(true); } } + + testInfo.attach(`example-edited-group-${groupIndex + 1}`, { + body: await page.screenshot(), + contentType: 'image/png', + }); } if (controlCount === 0) { @@ -181,12 +204,22 @@ test.describe('dynamic-forms demo examples', () => { if ((await modalCloseButton.isVisible()) && (await modalCloseButton.isEnabled())) { await modalCloseButton.click(); + + testInfo.attach('example-modal-closed', { + body: await page.screenshot(), + contentType: 'image/png', + }); } const submitButton = page.locator('css=.dynamic-form-header,.dynamic-form-footer').locator('css=button[id="action-submit"]'); if ((await submitButton.isVisible()) && (await submitButton.isEnabled())) { await submitButton.click(); + + testInfo.attach(`example-submitted`, { + body: await page.screenshot(), + contentType: 'image/png', + }); } }); }); diff --git a/dynamic-forms-e2e.yml b/dynamic-forms-e2e.yml index a4542d94..063d089f 100644 --- a/dynamic-forms-e2e.yml +++ b/dynamic-forms-e2e.yml @@ -39,9 +39,9 @@ steps: - task: PublishTestResults@2 displayName: 'Publish test results' inputs: - searchFolder: $(System.DefaultWorkingDirectory)/dist/${{ variables.major_version_name }}/e2e + searchFolder: $(System.DefaultWorkingDirectory)/dist/${{ variables.major_version_name }}/e2e/junit testResultsFormat: 'JUnit' - testResultsFiles: 'junit-results.xml' + testResultsFiles: 'results.xml' mergeTestResults: true failTaskOnFailedTests: true testRunTitle: 'e2e Tests' \ No newline at end of file diff --git a/playwright.config.ts b/playwright.config.ts index 979ef273..5b162fe7 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -11,7 +11,7 @@ import { defineConfig, devices } from '@playwright/test'; */ export default defineConfig({ testDir: './apps/demo-e2e/src', - outputDir: 'dist/v19/e2e', + outputDir: 'dist/v19/e2e/html', /* Run tests in files in parallel */ fullyParallel: true, /* Fail the build on CI if you accidentally left test.only in the source code. */ @@ -22,8 +22,8 @@ export default defineConfig({ workers: process.env['CI'] ? 1 : undefined, /* Reporter to use. See https://playwright.dev/docs/test-reporters */ reporter: [ - ['html', { outputFolder: 'dist/v19/e2e', open: 'never' }], - ['junit', { outputFile: 'dist/v19/e2e/junit-results.xml' }], + ['html', { outputFolder: 'dist/v19/e2e/html', open: 'never' }], + ['junit', { outputFile: 'dist/v19/e2e/junit/results.xml' }], ], /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ use: { From 1a228499789e6d6ef81176e58bde7ef91f0b13be Mon Sep 17 00:00:00 2001 From: Alexander Gebuhr Date: Mon, 18 Nov 2024 21:50:07 +0100 Subject: [PATCH 06/20] Added allure playwright report --- dynamic-forms-e2e.yml | 8 ++- package-lock.json | 131 ++++++++++++++++++++++++++++++++++++++++-- package.json | 1 + playwright.config.ts | 1 + 4 files changed, 134 insertions(+), 7 deletions(-) diff --git a/dynamic-forms-e2e.yml b/dynamic-forms-e2e.yml index 063d089f..288ddaef 100644 --- a/dynamic-forms-e2e.yml +++ b/dynamic-forms-e2e.yml @@ -44,4 +44,10 @@ steps: testResultsFiles: 'results.xml' mergeTestResults: true failTaskOnFailedTests: true - testRunTitle: 'e2e Tests' \ No newline at end of file + testRunTitle: 'e2e Tests' + +- task: PublishAllureReport@1 + displayName: Publish Report + inputs: + allureVersion: 2.27.0 + testResultsDir: $(System.DefaultWorkingDirectory)/dist/${{ variables.major_version_name }}/e2e/allure \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index f3ac7ac8..6d3de62a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -54,6 +54,7 @@ "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@typescript-eslint/utils": "^7.18.0", + "allure-playwright": "^3.0.6", "eslint": "^8.57.1", "eslint-config-prettier": "^9.1.0", "eslint-import-resolver-typescript": "^3.6.3", @@ -8013,6 +8014,37 @@ "ajv": "^6.9.1" } }, + "node_modules/allure-js-commons": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/allure-js-commons/-/allure-js-commons-3.0.6.tgz", + "integrity": "sha512-q3r3Cj3sG6hR7jH8SGkfNleLJK+yFAGwzyFDGzIfu+WLZ4yeFcBZHkWuq7QreRpxvsZWNby/38jhrj5yYFwQ2g==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "md5": "^2.3.0" + }, + "peerDependencies": { + "allure-playwright": "3.0.6" + }, + "peerDependenciesMeta": { + "allure-playwright": { + "optional": true + } + } + }, + "node_modules/allure-playwright": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/allure-playwright/-/allure-playwright-3.0.6.tgz", + "integrity": "sha512-CYhIopRjtb1LoTHD0WhH1njd6cEz0J9B+YSSAzLmI/6FP1RPZJFqAyPg/RY8c2BObxM+98T9yZzwSdZ4l3YxjQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "allure-js-commons": "3.0.6" + }, + "peerDependencies": { + "@playwright/test": ">=1.36.0" + } + }, "node_modules/ansi-colors": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", @@ -9013,6 +9045,16 @@ "dev": true, "license": "MIT" }, + "node_modules/charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": "*" + } + }, "node_modules/cheerio": { "version": "1.0.0-rc.12", "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", @@ -9670,10 +9712,11 @@ "dev": true }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -9698,6 +9741,16 @@ "node": ">= 8" } }, + "node_modules/crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": "*" + } + }, "node_modules/css-loader": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.2.tgz", @@ -12924,6 +12977,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true, + "license": "MIT" + }, "node_modules/is-bun-module": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-1.1.0.tgz", @@ -14718,6 +14778,18 @@ "node": ">= 18" } }, + "node_modules/md5": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -26888,6 +26960,24 @@ "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true }, + "allure-js-commons": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/allure-js-commons/-/allure-js-commons-3.0.6.tgz", + "integrity": "sha512-q3r3Cj3sG6hR7jH8SGkfNleLJK+yFAGwzyFDGzIfu+WLZ4yeFcBZHkWuq7QreRpxvsZWNby/38jhrj5yYFwQ2g==", + "dev": true, + "requires": { + "md5": "^2.3.0" + } + }, + "allure-playwright": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/allure-playwright/-/allure-playwright-3.0.6.tgz", + "integrity": "sha512-CYhIopRjtb1LoTHD0WhH1njd6cEz0J9B+YSSAzLmI/6FP1RPZJFqAyPg/RY8c2BObxM+98T9yZzwSdZ4l3YxjQ==", + "dev": true, + "requires": { + "allure-js-commons": "3.0.6" + } + }, "ansi-colors": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", @@ -27548,6 +27638,12 @@ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", "dev": true }, + "charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", + "dev": true + }, "cheerio": { "version": "1.0.0-rc.12", "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", @@ -28004,9 +28100,9 @@ "dev": true }, "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "requires": { "path-key": "^3.1.0", @@ -28025,6 +28121,12 @@ } } }, + "crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "dev": true + }, "css-loader": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.2.tgz", @@ -30323,6 +30425,12 @@ "has-tostringtag": "^1.0.0" } }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, "is-bun-module": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-1.1.0.tgz", @@ -31555,6 +31663,17 @@ "resolved": "https://registry.npmjs.org/marked/-/marked-14.1.2.tgz", "integrity": "sha512-f3r0yqpz31VXiDB/wj9GaOB0a2PRLQl6vJmXiFrniNwjkKdvakqJRULhjFKJpxOchlCRiG5fcacoUZY5Xa6PEQ==" }, + "md5": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "dev": true, + "requires": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", diff --git a/package.json b/package.json index fc42c5c0..423ecd1a 100644 --- a/package.json +++ b/package.json @@ -107,6 +107,7 @@ "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@typescript-eslint/utils": "^7.18.0", + "allure-playwright": "^3.0.6", "eslint": "^8.57.1", "eslint-config-prettier": "^9.1.0", "eslint-import-resolver-typescript": "^3.6.3", diff --git a/playwright.config.ts b/playwright.config.ts index 5b162fe7..335e04e8 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -24,6 +24,7 @@ export default defineConfig({ reporter: [ ['html', { outputFolder: 'dist/v19/e2e/html', open: 'never' }], ['junit', { outputFile: 'dist/v19/e2e/junit/results.xml' }], + ['allure-playwright', { resultsDir: 'dist/v19/e2e/allure' }], ], /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ use: { From 6f521768e0a39ebfb2c14e42656e289642fa02d1 Mon Sep 17 00:00:00 2001 From: Alexander Gebuhr Date: Mon, 18 Nov 2024 22:12:24 +0100 Subject: [PATCH 07/20] Update of pipeline --- dynamic-forms-e2e.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dynamic-forms-e2e.yml b/dynamic-forms-e2e.yml index 288ddaef..dc1971fa 100644 --- a/dynamic-forms-e2e.yml +++ b/dynamic-forms-e2e.yml @@ -43,7 +43,7 @@ steps: testResultsFormat: 'JUnit' testResultsFiles: 'results.xml' mergeTestResults: true - failTaskOnFailedTests: true + failTaskOnFailedTests: false testRunTitle: 'e2e Tests' - task: PublishAllureReport@1 From 43466e3d19754bc11b8a3eaa0df91d96466187de Mon Sep 17 00:00:00 2001 From: Alexander Gebuhr Date: Tue, 19 Nov 2024 21:40:07 +0100 Subject: [PATCH 08/20] Update of angular --- libs/bootstrap/package.json | 6 +- libs/core/package.json | 6 +- libs/markdown/package.json | 4 +- libs/material/package.json | 8 +- package-lock.json | 1758 +++++++++++++++-------------------- package.json | 44 +- tsconfig.json | 3 +- 7 files changed, 810 insertions(+), 1019 deletions(-) diff --git a/libs/bootstrap/package.json b/libs/bootstrap/package.json index 51d9413d..21bcebf2 100644 --- a/libs/bootstrap/package.json +++ b/libs/bootstrap/package.json @@ -21,9 +21,9 @@ "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/common": "^19.0.0-rc.0", - "@angular/core": "^19.0.0-rc.0", - "@angular/forms": "^19.0.0-rc.0", + "@angular/common": "^19.0.0", + "@angular/core": "^19.0.0", + "@angular/forms": "^19.0.0", "@dynamic-forms/core": "19.0.0-next.0", "bootstrap": "^5.2.3", "inputmask": "^5.0.8", diff --git a/libs/core/package.json b/libs/core/package.json index c9ba3873..fa494554 100644 --- a/libs/core/package.json +++ b/libs/core/package.json @@ -21,9 +21,9 @@ "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/common": "^19.0.0-rc.0", - "@angular/core": "^19.0.0-rc.0", - "@angular/forms": "^19.0.0-rc.0", + "@angular/common": "^19.0.0", + "@angular/core": "^19.0.0", + "@angular/forms": "^19.0.0", "bootstrap": "^5.2.3", "inputmask": "^5.0.8", "rxjs": "^7.4.0" diff --git a/libs/markdown/package.json b/libs/markdown/package.json index 9a84a631..3f553dbc 100644 --- a/libs/markdown/package.json +++ b/libs/markdown/package.json @@ -21,8 +21,8 @@ "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/common": "^19.0.0-rc.0", - "@angular/core": "^19.0.0-rc.0", + "@angular/common": "^19.0.0", + "@angular/core": "^19.0.0", "@dynamic-forms/core": "19.0.0-next.0", "marked": "^14.0.0", "rxjs": "^7.4.0" diff --git a/libs/material/package.json b/libs/material/package.json index 5bdd52b8..dd6658ef 100644 --- a/libs/material/package.json +++ b/libs/material/package.json @@ -21,10 +21,10 @@ "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/common": "^19.0.0-rc.0", - "@angular/core": "^19.0.0-rc.0", - "@angular/forms": "^19.0.0-rc.0", - "@angular/material": "^19.0.0-rc.0", + "@angular/common": "^19.0.0", + "@angular/core": "^19.0.0", + "@angular/forms": "^19.0.0", + "@angular/material": "^19.0.0", "@dynamic-forms/core": "19.0.0-next.0", "bootstrap": "^5.2.3", "inputmask": "^5.0.8", diff --git a/package-lock.json b/package-lock.json index 6d3de62a..0a14c8f7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,18 +9,18 @@ "version": "19.0.0-next.0", "license": "MIT", "dependencies": { - "@angular/animations": "^19.0.0-rc.1", - "@angular/cdk": "^19.0.0-rc.1", - "@angular/common": "^19.0.0-rc.1", - "@angular/compiler": "^19.0.0-rc.1", - "@angular/core": "^19.0.0-rc.1", - "@angular/forms": "^19.0.0-rc.1", - "@angular/material": "^19.0.0-rc.1", - "@angular/platform-browser": "^19.0.0-rc.1", - "@angular/platform-browser-dynamic": "^19.0.0-rc.1", - "@angular/platform-server": "^19.0.0-rc.1", - "@angular/router": "^19.0.0-rc.1", - "@angular/ssr": "^19.0.0-rc.1", + "@angular/animations": "^19.0.0", + "@angular/cdk": "^19.0.0", + "@angular/common": "^19.0.0", + "@angular/compiler": "^19.0.0", + "@angular/core": "^19.0.0", + "@angular/forms": "^19.0.0", + "@angular/material": "^19.0.0", + "@angular/platform-browser": "^19.0.0", + "@angular/platform-browser-dynamic": "^19.0.0", + "@angular/platform-server": "^19.0.0", + "@angular/router": "^19.0.0", + "@angular/ssr": "^19.0.0", "@ngxs/storage-plugin": "^18.1.4", "@ngxs/store": "^18.1.4", "bootstrap": "^5.2.3", @@ -33,23 +33,23 @@ "zone.js": "~0.15.0" }, "devDependencies": { - "@angular-devkit/build-angular": "^19.0.0-rc.1", - "@angular-devkit/core": "^19.0.0-rc.1", - "@angular-devkit/schematics": "^19.0.0-rc.1", + "@angular-devkit/build-angular": "^19.0.0", + "@angular-devkit/core": "^19.0.0", + "@angular-devkit/schematics": "^19.0.0", "@angular-eslint/builder": "^18.4.0", "@angular-eslint/eslint-plugin": "^18.4.0", "@angular-eslint/eslint-plugin-template": "^18.4.0", "@angular-eslint/schematics": "^18.4.0", "@angular-eslint/template-parser": "^18.4.0", - "@angular/cli": "^19.0.0-rc.1", - "@angular/compiler-cli": "^19.0.0-rc.1", - "@angular/language-service": "^19.0.0-rc.1", + "@angular/cli": "^19.0.0", + "@angular/compiler-cli": "^19.0.0", + "@angular/language-service": "^19.0.0", "@compodoc/compodoc": "^1.1.26", - "@playwright/test": "1.48.2", + "@playwright/test": "1.49.0", "@types/inputmask": "^5.0.7", "@types/jasmine": "~5.1.4", "@types/jasminewd2": "~2.0.13", - "@types/node": "~22.9.0", + "@types/node": "~22.9.1", "@types/uuid": "^10.0.0", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", @@ -59,7 +59,7 @@ "eslint-config-prettier": "^9.1.0", "eslint-import-resolver-typescript": "^3.6.3", "eslint-plugin-import": "^2.31.0", - "eslint-plugin-jsdoc": "^50.4.3", + "eslint-plugin-jsdoc": "^50.5.0", "eslint-plugin-prefer-arrow": "^1.2.3", "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-unused-imports": "^3.2.0", @@ -72,7 +72,7 @@ "karma-jasmine-html-reporter": "^2.1.0", "karma-junit-reporter": "^2.0.1", "ng-mocks": "^14.13.1", - "ng-packagr": "^19.0.0-rc.0", + "ng-packagr": "^19.0.0", "playwright-ng-schematics": "^1.1.1", "prettier": "^3.3.3", "prettier-eslint": "^16.3.0", @@ -100,13 +100,13 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.1900.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1900.0-rc.1.tgz", - "integrity": "sha512-rGSNZUouoxdrrEqST4LJm/8zUWR6GFhT/hCDfyVusKx9SzBDTE+IQZ4ZJn/S9fZbwjaoIQqfHxUnNWoQMma6jQ==", + "version": "0.1900.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1900.0.tgz", + "integrity": "sha512-oC2CyKf9olKvthEwp2wmkKw+H9NhpnK9cWYHvajWeCRJ8A4DLaKwfMuZ9lioi92QPourrJzoikgp7C6m2AuuZQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "19.0.0-rc.1", + "@angular-devkit/core": "19.0.0", "rxjs": "7.8.1" }, "engines": { @@ -116,17 +116,17 @@ } }, "node_modules/@angular-devkit/build-angular": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-19.0.0-rc.1.tgz", - "integrity": "sha512-gC3UiZbcWurdm0KQz7Ot5hQx55/nQjH9apMzFFTTRCG+adBDknFQAcIRD8teMxTZcmh1tscl2GsPl38fmWCrZw==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-19.0.0.tgz", + "integrity": "sha512-Q4owTwm4bLK5qYHvPehx1/55O0vWRShDGsoHOYgm8mMLc++hr7xWpF8HptVG7AP9O8Qq95Cpz9+N4iMqyWlyUw==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1900.0-rc.1", - "@angular-devkit/build-webpack": "0.1900.0-rc.1", - "@angular-devkit/core": "19.0.0-rc.1", - "@angular/build": "19.0.0-rc.1", + "@angular-devkit/architect": "0.1900.0", + "@angular-devkit/build-webpack": "0.1900.0", + "@angular-devkit/core": "19.0.0", + "@angular/build": "19.0.0", "@babel/core": "7.26.0", "@babel/generator": "7.26.2", "@babel/helper-annotate-as-pure": "7.25.9", @@ -137,7 +137,7 @@ "@babel/preset-env": "7.26.0", "@babel/runtime": "7.26.0", "@discoveryjs/json-ext": "0.6.3", - "@ngtools/webpack": "19.0.0-rc.1", + "@ngtools/webpack": "19.0.0", "@vitejs/plugin-basic-ssl": "1.1.0", "ansi-colors": "4.1.3", "autoprefixer": "10.4.20", @@ -160,11 +160,11 @@ "ora": "5.4.1", "picomatch": "4.0.2", "piscina": "4.7.0", - "postcss": "8.4.47", + "postcss": "8.4.49", "postcss-loader": "8.1.1", "resolve-url-loader": "5.0.0", "rxjs": "7.8.1", - "sass": "1.80.6", + "sass": "1.80.7", "sass-loader": "16.0.3", "semver": "7.6.3", "source-map-loader": "5.0.0", @@ -187,17 +187,17 @@ "esbuild": "0.24.0" }, "peerDependencies": { - "@angular/compiler-cli": "^19.0.0-next.0", - "@angular/localize": "^19.0.0-next.0", - "@angular/platform-server": "^19.0.0-next.0", - "@angular/service-worker": "^19.0.0-next.0", - "@angular/ssr": "^19.0.0-rc.1", + "@angular/compiler-cli": "^19.0.0", + "@angular/localize": "^19.0.0", + "@angular/platform-server": "^19.0.0", + "@angular/service-worker": "^19.0.0", + "@angular/ssr": "^19.0.0", "@web/test-runner": "^0.19.0", "browser-sync": "^3.0.2", "jest": "^29.5.0", "jest-environment-jsdom": "^29.5.0", "karma": "^6.3.0", - "ng-packagr": "^19.0.0-next.0", + "ng-packagr": "^19.0.0", "protractor": "^7.0.0", "tailwindcss": "^2.0.0 || ^3.0.0", "typescript": ">=5.5 <5.7" @@ -333,13 +333,13 @@ } }, "node_modules/@angular-devkit/build-webpack": { - "version": "0.1900.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1900.0-rc.1.tgz", - "integrity": "sha512-848B3sav/e9Qh8+rHekBeeJ+9TxWlAnF8NCOieB672b73VvMFbJMb449P/9EO9NGt/MnFgmU52oPTspB4OOekg==", + "version": "0.1900.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1900.0.tgz", + "integrity": "sha512-mpsjpkp+SBd/16zmRTNDUiTXvcuMObGpcssOGqjf9MhaeSECYpU2J1MyXO+uXqnQ5ECAc/UK954Lv6bWwbusEw==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.1900.0-rc.1", + "@angular-devkit/architect": "0.1900.0", "rxjs": "7.8.1" }, "engines": { @@ -353,9 +353,9 @@ } }, "node_modules/@angular-devkit/core": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.0.0-rc.1.tgz", - "integrity": "sha512-o5PGugUaQkUETHGqz700Zt1xMIynPbrIW5tfezy30/HjOJy/CPJzIsnwupLpQ95sDV2YeJsYJrF5rEVxigZBEQ==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.0.0.tgz", + "integrity": "sha512-/EJQOKVFb9vsFbPR+57C7fJHFVr7le9Ru6aormIKw24xyZZHtt5X4rwdeN7l6Zkv8F0cJ2EoTSiQoY17090DLQ==", "dev": true, "license": "MIT", "dependencies": { @@ -436,13 +436,13 @@ } }, "node_modules/@angular-devkit/schematics": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-19.0.0-rc.1.tgz", - "integrity": "sha512-06cEyXFIEOqfBwqHQFCzE2NtyCE8bdm3Ky5ZZaUsxmg0L09llEj+DIUYhS+0CqXH+074Yik9ghgFJXf3UIxRCQ==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-19.0.0.tgz", + "integrity": "sha512-90pGZtpZgjDk1UgRBatfeqYP6qUZL9fLh+8zIpavOr2ey5bW2lADO7mS2Qrc7U1SmGqnxQXQQ7uIS+50gYm0tQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "19.0.0-rc.1", + "@angular-devkit/core": "19.0.0", "jsonc-parser": "3.3.1", "magic-string": "0.30.12", "ora": "5.4.1", @@ -596,9 +596,9 @@ } }, "node_modules/@angular/animations": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-19.0.0-rc.1.tgz", - "integrity": "sha512-q/w1C0f9ZmpKA0LSYIwnHu9n875rXGWKZDy6MmAsYC2enhsMIqqWJmIvT+EJghhGX+Tv8u/3KejWNaR0OGeQqQ==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-19.0.0.tgz", + "integrity": "sha512-+uZTvEXjYh8PZKB4ijk8uuH1K+Tz/A67mUlltFv9pYKtnmbZAeS/PI66g/7pigRYDvEgid1fvlAANeBShAiPZQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -607,23 +607,23 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "19.0.0-rc.1" + "@angular/core": "19.0.0" } }, "node_modules/@angular/build": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/build/-/build-19.0.0-rc.1.tgz", - "integrity": "sha512-/sxyGODMoN26OEJVuhDQcePOGebGncIWOKMhc689mr9aUNegFa+sE7jYvtpVOc+LIA1dFwU/biTG7kcKwpN+yA==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-19.0.0.tgz", + "integrity": "sha512-OLyUwAVCSqW589l19g19aP2O1NpBMRPsqKmYLaTYvYSIcZkNRJPxOcsCIDGB3FUQUEjpouYtzPA3RtBuJWsCwQ==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1900.0-rc.1", + "@angular-devkit/architect": "0.1900.0", "@babel/core": "7.26.0", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", "@babel/plugin-syntax-import-attributes": "7.26.0", - "@inquirer/confirm": "5.0.1", + "@inquirer/confirm": "5.0.2", "@vitejs/plugin-basic-ssl": "1.1.0", "beasties": "0.1.0", "browserslist": "^4.23.0", @@ -637,10 +637,10 @@ "parse5-html-rewriting-stream": "7.0.0", "picomatch": "4.0.2", "piscina": "4.7.0", - "rollup": "4.24.4", - "sass": "1.80.6", + "rollup": "4.26.0", + "sass": "1.80.7", "semver": "7.6.3", - "vite": "5.4.10", + "vite": "5.4.11", "watchpack": "2.4.2" }, "engines": { @@ -649,15 +649,15 @@ "yarn": ">= 1.13.0" }, "optionalDependencies": { - "lmdb": "3.1.4" + "lmdb": "3.1.5" }, "peerDependencies": { - "@angular/compiler": "^19.0.0-next.9", - "@angular/compiler-cli": "^19.0.0-next.9", - "@angular/localize": "^19.0.0-next.9", - "@angular/platform-server": "^19.0.0-next.9", - "@angular/service-worker": "^19.0.0-next.9", - "@angular/ssr": "^19.0.0-rc.1", + "@angular/compiler": "^19.0.0", + "@angular/compiler-cli": "^19.0.0", + "@angular/localize": "^19.0.0", + "@angular/platform-server": "^19.0.0", + "@angular/service-worker": "^19.0.0", + "@angular/ssr": "^19.0.0", "less": "^4.2.0", "postcss": "^8.4.0", "tailwindcss": "^2.0.0 || ^3.0.0", @@ -687,38 +687,6 @@ } } }, - "node_modules/@angular/build/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@angular/build/node_modules/https-proxy-agent": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", - "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.0.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, "node_modules/@angular/build/node_modules/istanbul-lib-instrument": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", @@ -736,13 +704,6 @@ "node": ">=10" } }, - "node_modules/@angular/build/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, "node_modules/@angular/build/node_modules/picomatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", @@ -770,9 +731,9 @@ } }, "node_modules/@angular/cdk": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-19.0.0-rc.1.tgz", - "integrity": "sha512-aNpSadgqq3bpyZ/OsCiAl/TGMzUZYqAltctgYS3kXIrSphamus+9wOR7SF1dK87RUX/RWj3SMpol6e4kLmyfpw==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-19.0.0.tgz", + "integrity": "sha512-KcOYhCwN4Bw3L4+W4ymTfPGqRjrkwD8M5jX8GM7YsZ5DsX9OEd/gNrwRvjn+8JItzimXLXdGrcqXrMTxkq7QPA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -781,24 +742,24 @@ "parse5": "^7.1.2" }, "peerDependencies": { - "@angular/common": "^19.0.0-0 || ^19.1.0-0 || ^19.2.0-0 || ^19.3.0-0 || ^20.0.0-0", - "@angular/core": "^19.0.0-0 || ^19.1.0-0 || ^19.2.0-0 || ^19.3.0-0 || ^20.0.0-0", + "@angular/common": "^19.0.0 || ^20.0.0", + "@angular/core": "^19.0.0 || ^20.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/cli": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-19.0.0-rc.1.tgz", - "integrity": "sha512-xZu/uts0fS6ZPfRfee3bMFx7XIsR3SMI6qL/n13j+Z+cRqdofyLOPiZeySf2RiWBXhYyUHIk4E1kT5giN/RABg==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-19.0.0.tgz", + "integrity": "sha512-7FTNkMtTuaXp4CCWZlRIwFZtnkDJg+YjqAuloDNGhIXDjDsb9gWihepWpWXSMBTg4XI1OdsT+oYt38Z0YMck0A==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.1900.0-rc.1", - "@angular-devkit/core": "19.0.0-rc.1", - "@angular-devkit/schematics": "19.0.0-rc.1", - "@inquirer/prompts": "7.0.1", - "@listr2/prompt-adapter-inquirer": "2.0.17", - "@schematics/angular": "19.0.0-rc.1", + "@angular-devkit/architect": "0.1900.0", + "@angular-devkit/core": "19.0.0", + "@angular-devkit/schematics": "19.0.0", + "@inquirer/prompts": "7.1.0", + "@listr2/prompt-adapter-inquirer": "2.0.18", + "@schematics/angular": "19.0.0", "@yarnpkg/lockfile": "1.1.0", "ini": "5.0.0", "jsonc-parser": "3.3.1", @@ -922,9 +883,9 @@ } }, "node_modules/@angular/common": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-19.0.0-rc.1.tgz", - "integrity": "sha512-a1s7EUvFokp5GGyf5TPERyyX9lz6zvgyrHDX43kmSSvDTl6ZkcfUM0dy7FNrJuLoesa09Z3ZcvMYxIvLpNMaUA==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-19.0.0.tgz", + "integrity": "sha512-kb2iS26GZS0vyR3emAQbIiQifnK5M5vnbclEHni+pApDEU5V9FufbdRP3vCxs28UHZvAZKB0LrxkTrnT6T+z5g==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -933,14 +894,14 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "19.0.0-rc.1", + "@angular/core": "19.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-19.0.0-rc.1.tgz", - "integrity": "sha512-t+wP9Z2CArUD7VJns56Mpcf/IcQe8kJVwHgiD9cm/fF07w9qMMTQjkCvvppkwFvZzZQ4W2FnwpzFko/wVN0SMw==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-19.0.0.tgz", + "integrity": "sha512-Uw2Yy25pdqfzKsS9WofnIq1zvknlVYyy03LYO7NMKHlFWiy8q8SIXN7WKPFhiHlOfyACXipp4eZb9m3+IbOfSA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -949,7 +910,7 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "19.0.0-rc.1" + "@angular/core": "19.0.0" }, "peerDependenciesMeta": { "@angular/core": { @@ -958,9 +919,9 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-19.0.0-rc.1.tgz", - "integrity": "sha512-zOlucVAtfxsywyClM6dMl7T42VA1Ir71C6sr5ry4gnRu9JZc2HjTsXTdRH+v4MV4/WD9vGOR0XxWQqRGbuQ3Rw==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-19.0.0.tgz", + "integrity": "sha512-2PxpsIeppoDLAx7A6i0GE10WjC+Fkz8tTQioa7r4y/+eYnniEjJFIQM/8lbkOnRVcuYoeXoNyYWr3fEQAyO4LA==", "dev": true, "license": "MIT", "dependencies": { @@ -982,7 +943,7 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/compiler": "19.0.0-rc.1", + "@angular/compiler": "19.0.0", "typescript": ">=5.5 <5.7" } }, @@ -1125,9 +1086,9 @@ } }, "node_modules/@angular/core": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-19.0.0-rc.1.tgz", - "integrity": "sha512-DQTo0A8W14XXdjcRSwSIfDoGPL5QrMXAgZn97RS8SPvBeM2J+uEx4gQe5AeFASn+/75zgrq1ImZuKzu47GrJmw==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-19.0.0.tgz", + "integrity": "sha512-aNG2kd30BOM/zf0jC+aEVG8OA27IwqCki9EkmyRNYnaP2O5Mj1n7JpCyZGI+0LrWTJ2UUCfRNZiZdZwmNThr1Q==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1141,9 +1102,9 @@ } }, "node_modules/@angular/forms": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-19.0.0-rc.1.tgz", - "integrity": "sha512-kKeU5GhLjc0VQCGNJxeOXo5WN/urgdWELQnD4niErQcsaFjezol7dntSlOW3IzHpZlf3vL6+fc/wI68JOeHbpw==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-19.0.0.tgz", + "integrity": "sha512-gM4bUdlIJ0uRYNwoVMbXiZt4+bZzPXzyQ7ByNIOVKEAI0PN9Jz1dR1pSeQgIoUvKQbhwsVKVUoa7Tn1hoqwvTg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1152,16 +1113,16 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "19.0.0-rc.1", - "@angular/core": "19.0.0-rc.1", - "@angular/platform-browser": "19.0.0-rc.1", + "@angular/common": "19.0.0", + "@angular/core": "19.0.0", + "@angular/platform-browser": "19.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/language-service": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-19.0.0-rc.1.tgz", - "integrity": "sha512-t8o7+22YyjKDHglRg5rOo8Vk06HyQymcC9BWgDvqbfx6q7HL9aTfSHCfzx2I4SIej+3/h0vt3IIAtMWm9AmRGw==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-19.0.0.tgz", + "integrity": "sha512-oXDZ+gOTVFhpGg+Cp/3Mo0aa214eCF13dEboRYTIM/m1jnsTHcIlfhRpkw+FLUSEN9MTVK5xVfx5gUudI7T0rg==", "dev": true, "license": "MIT", "engines": { @@ -1169,27 +1130,27 @@ } }, "node_modules/@angular/material": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-19.0.0-rc.1.tgz", - "integrity": "sha512-PCT4t4JL1INyLj0WEtGOVeS6i7Xk8wQa1sXqFV4nJADD+TPLFkvGFaW/mnXjKGFNXq8BAPe/lZ26uPFgy0HGfA==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-19.0.0.tgz", + "integrity": "sha512-j7dDFUh8dqiysuWu32biukDTHScajUYHFR9Srhn98kBwnXMob5y1paMoOx5RQO5DU4KCxKaKx8HcHJBJeTKHjw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/animations": "^19.0.0-0 || ^19.1.0-0 || ^19.2.0-0 || ^19.3.0-0 || ^20.0.0-0", - "@angular/cdk": "19.0.0-rc.1", - "@angular/common": "^19.0.0-0 || ^19.1.0-0 || ^19.2.0-0 || ^19.3.0-0 || ^20.0.0-0", - "@angular/core": "^19.0.0-0 || ^19.1.0-0 || ^19.2.0-0 || ^19.3.0-0 || ^20.0.0-0", - "@angular/forms": "^19.0.0-0 || ^19.1.0-0 || ^19.2.0-0 || ^19.3.0-0 || ^20.0.0-0", - "@angular/platform-browser": "^19.0.0-0 || ^19.1.0-0 || ^19.2.0-0 || ^19.3.0-0 || ^20.0.0-0", + "@angular/animations": "^19.0.0 || ^20.0.0", + "@angular/cdk": "19.0.0", + "@angular/common": "^19.0.0 || ^20.0.0", + "@angular/core": "^19.0.0 || ^20.0.0", + "@angular/forms": "^19.0.0 || ^20.0.0", + "@angular/platform-browser": "^19.0.0 || ^20.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/platform-browser": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-19.0.0-rc.1.tgz", - "integrity": "sha512-OAuh8qyqMWl/BTR3yd5cn3Joz0Zw9gEM7dMPiBJWsqhm2xLG1w5lJ/1bpBkYa6Pl7/HEacHkjrw+sLg0VIeIGA==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-19.0.0.tgz", + "integrity": "sha512-g9Qkv+KgEmXLVeg+dw1edmWsRBspUGeJMOBf2UX1kUCw6txeco+pzCMimouB5LQYHfs6cD6oC+FwINm0HNwrhg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1198,9 +1159,9 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/animations": "19.0.0-rc.1", - "@angular/common": "19.0.0-rc.1", - "@angular/core": "19.0.0-rc.1" + "@angular/animations": "19.0.0", + "@angular/common": "19.0.0", + "@angular/core": "19.0.0" }, "peerDependenciesMeta": { "@angular/animations": { @@ -1209,9 +1170,9 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-19.0.0-rc.1.tgz", - "integrity": "sha512-uHdAJiElXKNOpHuaa9TYfCOarw24Na25LWbVk9hWuLoEMCnN5hh028Tzep5l+g/BNDXR7dXeIvLMa/LBUqEZjQ==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-19.0.0.tgz", + "integrity": "sha512-ljvycDe0etmTBDzbCFakpsItywddpKEyCZGMKRvz5TdND1N1qqXydxAF1kLzP5H7F/QOMdP4/T/T1HS+6AUpkw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1220,16 +1181,16 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "19.0.0-rc.1", - "@angular/compiler": "19.0.0-rc.1", - "@angular/core": "19.0.0-rc.1", - "@angular/platform-browser": "19.0.0-rc.1" + "@angular/common": "19.0.0", + "@angular/compiler": "19.0.0", + "@angular/core": "19.0.0", + "@angular/platform-browser": "19.0.0" } }, "node_modules/@angular/platform-server": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-19.0.0-rc.1.tgz", - "integrity": "sha512-pFZRl05Lse4vFejkW1LbxVY2jFY5xVuHZJ6oxzmRKmtj/fpDuI/dcfFbNMk6CPx9zisMbney3NU5LMa/6VnR8w==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-19.0.0.tgz", + "integrity": "sha512-eQ+mT2DvIp+tQO268WJQ5CO9nB+jcXNYqUzEfAqAhUNnpxCn3j6d8GNjx16GOVkHVBrVJvW32WPBCG4fzoi0sQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0", @@ -1239,17 +1200,17 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/animations": "19.0.0-rc.1", - "@angular/common": "19.0.0-rc.1", - "@angular/compiler": "19.0.0-rc.1", - "@angular/core": "19.0.0-rc.1", - "@angular/platform-browser": "19.0.0-rc.1" + "@angular/animations": "19.0.0", + "@angular/common": "19.0.0", + "@angular/compiler": "19.0.0", + "@angular/core": "19.0.0", + "@angular/platform-browser": "19.0.0" } }, "node_modules/@angular/router": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-19.0.0-rc.1.tgz", - "integrity": "sha512-fHHY+y2gRfQ6Xt0MF0+Ry/MV1aEXyTNssht/r+J94Y4dIF1LN7TcCbos7fWPus0dENkUOcaoVO2Eod3r+Rm99Q==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-19.0.0.tgz", + "integrity": "sha512-uFyT8DWVLGY8k0AZjpK7iyMO/WwT4/+b09Ax0uUEbdcRxTXSOg8/U/AVzQWtxzxI80/vJE2WZMmhIJFUTYwhKA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1258,25 +1219,25 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "19.0.0-rc.1", - "@angular/core": "19.0.0-rc.1", - "@angular/platform-browser": "19.0.0-rc.1", + "@angular/common": "19.0.0", + "@angular/core": "19.0.0", + "@angular/platform-browser": "19.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/ssr": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/ssr/-/ssr-19.0.0-rc.1.tgz", - "integrity": "sha512-DbWzJK7vAjksTKXTD9YRiytJdVMqk7uB75eZCvU3vclhtKnk9F6dCaE7fidRX0qXRRCWYS5I/H9NYRmbqw7PZw==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular/ssr/-/ssr-19.0.0.tgz", + "integrity": "sha512-gzGDhLTlfVZFdoXl1NGRViLE7F9UPsBOVIE7PE3TlY/+/dHNJlIb9UrVGe0iI+sbLlPC8csGUE1040PSzs6+3g==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/common": "^19.0.0-next.0", - "@angular/core": "^19.0.0-next.0", - "@angular/platform-server": "^19.0.0-next.0", - "@angular/router": "^19.0.0-next.0" + "@angular/common": "^19.0.0", + "@angular/core": "^19.0.0", + "@angular/platform-server": "^19.0.0", + "@angular/router": "^19.0.0" } }, "node_modules/@babel/code-frame": { @@ -4216,15 +4177,15 @@ "license": "BSD-3-Clause" }, "node_modules/@inquirer/checkbox": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.0.1.tgz", - "integrity": "sha512-ehJjmNPdguajc1hStvjN7DJNVjwG5LC1mgGMGFjCmdkn2fxB2GtULftMnlaqNmvMdPpqdaSoOFpl86VkLtG4pQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.0.2.tgz", + "integrity": "sha512-+gznPl8ip8P8HYHYecDtUtdsh1t2jvb+sWCD72GAiZ9m45RqwrLmReDaqdC0umQfamtFXVRoMVJ2/qINKGm9Tg==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.0.1", - "@inquirer/figures": "^1.0.7", - "@inquirer/type": "^3.0.0", + "@inquirer/core": "^10.1.0", + "@inquirer/figures": "^1.0.8", + "@inquirer/type": "^3.0.1", "ansi-escapes": "^4.3.2", "yoctocolors-cjs": "^2.1.2" }, @@ -4236,14 +4197,14 @@ } }, "node_modules/@inquirer/confirm": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.0.1.tgz", - "integrity": "sha512-6ycMm7k7NUApiMGfVc32yIPp28iPKxhGRMqoNDiUjq2RyTAkbs5Fx0TdzBqhabcKvniDdAAvHCmsRjnNfTsogw==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.0.2.tgz", + "integrity": "sha512-KJLUHOaKnNCYzwVbryj3TNBxyZIrr56fR5N45v6K9IPrbT6B7DcudBMfylkV1A8PUdJE15mybkEQyp2/ZUpxUA==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.0.1", - "@inquirer/type": "^3.0.0" + "@inquirer/core": "^10.1.0", + "@inquirer/type": "^3.0.1" }, "engines": { "node": ">=18" @@ -4253,14 +4214,14 @@ } }, "node_modules/@inquirer/core": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.0.1.tgz", - "integrity": "sha512-KKTgjViBQUi3AAssqjUFMnMO3CM3qwCHvePV9EW+zTKGKafFGFF01sc1yOIYjLJ7QU52G/FbzKc+c01WLzXmVQ==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.0.tgz", + "integrity": "sha512-I+ETk2AL+yAVbvuKx5AJpQmoaWhpiTFOg/UJb7ZkMAK4blmtG8ATh5ct+T/8xNld0CZG/2UhtkdMwpgvld92XQ==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/figures": "^1.0.7", - "@inquirer/type": "^3.0.0", + "@inquirer/figures": "^1.0.8", + "@inquirer/type": "^3.0.1", "ansi-escapes": "^4.3.2", "cli-width": "^4.1.0", "mute-stream": "^2.0.0", @@ -4310,14 +4271,14 @@ } }, "node_modules/@inquirer/editor": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.0.1.tgz", - "integrity": "sha512-qAHHJ6hs343eNtCKgV2wV5CImFxYG8J1pl/YCeI5w9VoW7QpulRUU26+4NsMhjR6zDRjKBsH/rRjCIcaAOHsrg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.1.0.tgz", + "integrity": "sha512-K1gGWsxEqO23tVdp5MT3H799OZ4ER1za7Dlc8F4um0W7lwSv0KGR/YyrUEyimj0g7dXZd8XknM/5QA2/Uy+TbA==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.0.1", - "@inquirer/type": "^3.0.0", + "@inquirer/core": "^10.1.0", + "@inquirer/type": "^3.0.1", "external-editor": "^3.1.0" }, "engines": { @@ -4328,14 +4289,14 @@ } }, "node_modules/@inquirer/expand": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.1.tgz", - "integrity": "sha512-9anjpdc802YInXekwePsa5LWySzVMHbhVS6v6n5IJxrl8w09mODOeP69wZ1d0WrOvot2buQSmYp4lW/pq8y+zQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.2.tgz", + "integrity": "sha512-WdgCX1cUtinz+syKyZdJomovULYlKUWZbVYZzhf+ZeeYf4htAQ3jLymoNs3koIAKfZZl3HUBb819ClCBfyznaw==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.0.1", - "@inquirer/type": "^3.0.0", + "@inquirer/core": "^10.1.0", + "@inquirer/type": "^3.0.1", "yoctocolors-cjs": "^2.1.2" }, "engines": { @@ -4346,9 +4307,9 @@ } }, "node_modules/@inquirer/figures": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.7.tgz", - "integrity": "sha512-m+Trk77mp54Zma6xLkLuY+mvanPxlE4A7yNKs2HBiyZ4UkVs28Mv5c/pgWrHeInx+USHeX/WEPzjrWrcJiQgjw==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.8.tgz", + "integrity": "sha512-tKd+jsmhq21AP1LhexC0pPwsCxEhGgAkg28byjJAd+xhmIs8LUX8JbUc3vBf3PhLxWiB5EvyBE5X7JSPAqMAqg==", "dev": true, "license": "MIT", "engines": { @@ -4356,14 +4317,14 @@ } }, "node_modules/@inquirer/input": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.0.1.tgz", - "integrity": "sha512-m+SliZ2m43cDRIpAdQxfv5QOeAQCuhS8TGLvtzEP1An4IH1kBES4RLMRgE/fC+z29aN8qYG8Tq/eXQQKTYwqAg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.0.2.tgz", + "integrity": "sha512-yCLCraigU085EcdpIVEDgyfGv4vBiE4I+k1qRkc9C5dMjWF42ADMGy1RFU94+eZlz4YlkmFsiyHZy0W1wdhaNg==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.0.1", - "@inquirer/type": "^3.0.0" + "@inquirer/core": "^10.1.0", + "@inquirer/type": "^3.0.1" }, "engines": { "node": ">=18" @@ -4373,14 +4334,14 @@ } }, "node_modules/@inquirer/number": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.1.tgz", - "integrity": "sha512-gF3erqfm0snpwBjbyKXUUe17QJ7ebm49btXApajrM0rgCCoYX0o9W5NCuYNae87iPxaIJVjtuoQ42DX32IdbMA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.2.tgz", + "integrity": "sha512-MKQhYofdUNk7eqJtz52KvM1dH6R93OMrqHduXCvuefKrsiMjHiMwjc3NZw5Imm2nqY7gWd9xdhYrtcHMJQZUxA==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.0.1", - "@inquirer/type": "^3.0.0" + "@inquirer/core": "^10.1.0", + "@inquirer/type": "^3.0.1" }, "engines": { "node": ">=18" @@ -4390,14 +4351,14 @@ } }, "node_modules/@inquirer/password": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.1.tgz", - "integrity": "sha512-D7zUuX4l4ZpL3D7/SWu9ibijP09jigwHi/gfUHLx5GMS5oXzuMfPV2xPMG1tskco4enTx70HA0VtMXecerpvbg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.2.tgz", + "integrity": "sha512-tQXGSu7IO07gsYlGy3VgXRVsbOWqFBMbqAUrJSc1PDTQQ5Qdm+QVwkP0OC0jnUZ62D19iPgXOMO+tnWG+HhjNQ==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.0.1", - "@inquirer/type": "^3.0.0", + "@inquirer/core": "^10.1.0", + "@inquirer/type": "^3.0.1", "ansi-escapes": "^4.3.2" }, "engines": { @@ -4408,22 +4369,22 @@ } }, "node_modules/@inquirer/prompts": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.0.1.tgz", - "integrity": "sha512-cu2CpGC2hz7WTt2VBvdkzahDvYice6vYA/8Dm7Fy3tRNzKuQTF2EY3CV4H2GamveWE6tA2XzyXtbWX8+t4WMQg==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.1.0.tgz", + "integrity": "sha512-5U/XiVRH2pp1X6gpNAjWOglMf38/Ys522ncEHIKT1voRUvSj/DQnR22OVxHnwu5S+rCFaUiPQ57JOtMFQayqYA==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/checkbox": "^4.0.1", - "@inquirer/confirm": "^5.0.1", - "@inquirer/editor": "^4.0.1", - "@inquirer/expand": "^4.0.1", - "@inquirer/input": "^4.0.1", - "@inquirer/number": "^3.0.1", - "@inquirer/password": "^4.0.1", - "@inquirer/rawlist": "^4.0.1", - "@inquirer/search": "^3.0.1", - "@inquirer/select": "^4.0.1" + "@inquirer/checkbox": "^4.0.2", + "@inquirer/confirm": "^5.0.2", + "@inquirer/editor": "^4.1.0", + "@inquirer/expand": "^4.0.2", + "@inquirer/input": "^4.0.2", + "@inquirer/number": "^3.0.2", + "@inquirer/password": "^4.0.2", + "@inquirer/rawlist": "^4.0.2", + "@inquirer/search": "^3.0.2", + "@inquirer/select": "^4.0.2" }, "engines": { "node": ">=18" @@ -4433,14 +4394,14 @@ } }, "node_modules/@inquirer/rawlist": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.0.1.tgz", - "integrity": "sha512-0LuMOgaWs7W8JNcbiKkoFwyWFDEeCmLqDCygF0hidQUVa6J5grFVRZxrpompiWDFM49Km2rf7WoZwRo1uf1yWQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.0.2.tgz", + "integrity": "sha512-3XGcskMoVF8H0Dl1S5TSZ3rMPPBWXRcM0VeNVsS4ByWeWjSeb0lPqfnBg6N7T0608I1B2bSVnbi2cwCrmOD1Yw==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.0.1", - "@inquirer/type": "^3.0.0", + "@inquirer/core": "^10.1.0", + "@inquirer/type": "^3.0.1", "yoctocolors-cjs": "^2.1.2" }, "engines": { @@ -4451,15 +4412,15 @@ } }, "node_modules/@inquirer/search": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.0.1.tgz", - "integrity": "sha512-ehMqjiO0pAf+KtdONKeCLVy4i3fy3feyRRhDrvzWhiwB8JccgKn7eHFr39l+Nx/FaZAhr0YxIJvkK5NuNvG+Ww==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.0.2.tgz", + "integrity": "sha512-Zv4FC7w4dJ13BOJfKRQCICQfShinGjb1bCEIHxTSnjj2telu3+3RHwHubPG9HyD4aix5s+lyAMEK/wSFD75HLA==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.0.1", - "@inquirer/figures": "^1.0.7", - "@inquirer/type": "^3.0.0", + "@inquirer/core": "^10.1.0", + "@inquirer/figures": "^1.0.8", + "@inquirer/type": "^3.0.1", "yoctocolors-cjs": "^2.1.2" }, "engines": { @@ -4470,15 +4431,15 @@ } }, "node_modules/@inquirer/select": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.0.1.tgz", - "integrity": "sha512-tVRatFRGU49bxFCKi/3P+C0E13KZduNFbWuHWRx0L2+jbiyKRpXgHp9qiRHWRk/KarhYBXzH/di6w3VQ5aJd5w==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.0.2.tgz", + "integrity": "sha512-uSWUzaSYAEj0hlzxa1mUB6VqrKaYx0QxGBLZzU4xWFxaSyGaXxsSE4OSOwdU24j0xl8OajgayqFXW0l2bkl2kg==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.0.1", - "@inquirer/figures": "^1.0.7", - "@inquirer/type": "^3.0.0", + "@inquirer/core": "^10.1.0", + "@inquirer/figures": "^1.0.8", + "@inquirer/type": "^3.0.1", "ansi-escapes": "^4.3.2", "yoctocolors-cjs": "^2.1.2" }, @@ -4490,9 +4451,9 @@ } }, "node_modules/@inquirer/type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.0.tgz", - "integrity": "sha512-YYykfbw/lefC7yKj7nanzQXILM7r3suIvyFlCcMskc99axmsSewXWkAfXKwMbgxL76iAFVmRwmYdwNZNc8gjog==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.1.tgz", + "integrity": "sha512-+ksJMIy92sOAiAccGpcKZUc3bYO07cADnscIxHBknEm3uNts3movSmBofc1908BNy5edKscxYeAdaX1NXkHS6A==", "dev": true, "license": "MIT", "engines": { @@ -4758,9 +4719,9 @@ "license": "MIT" }, "node_modules/@listr2/prompt-adapter-inquirer": { - "version": "2.0.17", - "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-2.0.17.tgz", - "integrity": "sha512-RqeiaslWDOP6d5QqQdg+PxB3sC5QBTnti84LEzYtxRsQlHf5+IzFiJOhrnHIxuaEwtbtlU8pugIcc6e6lrobkQ==", + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-2.0.18.tgz", + "integrity": "sha512-0hz44rAcrphyXcA8IS7EJ2SCoaBZD2u5goE8S/e+q/DL+dOGpqpcLidVOFeLG3VgML62SXmfRLAhWt0zL1oW4Q==", "dev": true, "license": "MIT", "dependencies": { @@ -4770,7 +4731,7 @@ "node": ">=18.0.0" }, "peerDependencies": { - "@inquirer/prompts": ">= 3 < 7" + "@inquirer/prompts": ">= 3 < 8" } }, "node_modules/@listr2/prompt-adapter-inquirer/node_modules/@inquirer/type": { @@ -4797,9 +4758,9 @@ } }, "node_modules/@lmdb/lmdb-darwin-arm64": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.1.4.tgz", - "integrity": "sha512-bXwBegGNDGAlshGqUmV8MxVFPsqEpU2yWWxoJ4AA4UkEd7gA1Rzh7KtvM5Tww0dQfp5t+P/SjNV3vjpAgof+uA==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.1.5.tgz", + "integrity": "sha512-ue5PSOzHMCIYrfvPP/MRS6hsKKLzqqhcdAvJCO8uFlDdj598EhgnacuOTuqA6uBK5rgiZXfDWyb7DVZSiBKxBA==", "cpu": [ "arm64" ], @@ -4811,9 +4772,9 @@ ] }, "node_modules/@lmdb/lmdb-darwin-x64": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.1.4.tgz", - "integrity": "sha512-cb1/yeoUfWhVWqo8VImUWo6bXVn57AHPX98VqIkpfRw5Yh0z2DHPBZmsELb1OLJKeikAAOyxM+vPWRJYtAg9rw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.1.5.tgz", + "integrity": "sha512-CGhsb0R5vE6mMNCoSfxHFD8QTvBHM51gs4DBeigTYHWnYv2V5YpJkC4rMo5qAAFifuUcc0+a8a3SIU0c9NrfNw==", "cpu": [ "x64" ], @@ -4825,9 +4786,9 @@ ] }, "node_modules/@lmdb/lmdb-linux-arm": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.1.4.tgz", - "integrity": "sha512-9O3kU6i7crV0vi+ImbZG6SkD+T8sxjbugq4pY424tjV8X/EjSfs1E0n25We5Z7qpJFxZSJZKsv40tJlz1w4pLg==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.1.5.tgz", + "integrity": "sha512-3WeW328DN+xB5PZdhSWmqE+t3+44xWXEbqQ+caWJEZfOFdLp9yklBZEbVqVdqzznkoaXJYxTCp996KD6HmANeg==", "cpu": [ "arm" ], @@ -4839,9 +4800,9 @@ ] }, "node_modules/@lmdb/lmdb-linux-arm64": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.1.4.tgz", - "integrity": "sha512-Hs1cmv8SKEkczsiQbRYVeqI7vzpJ0LI29RyeaVNDDFJxzoua7IcuyG0wSXu12kpXlGTTLVOh1Wp4rK79Ixpxmg==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.1.5.tgz", + "integrity": "sha512-LAjaoOcBHGj6fiYB8ureiqPoph4eygbXu4vcOF+hsxiY74n8ilA7rJMmGUT0K0JOB5lmRQHSmor3mytRjS4qeQ==", "cpu": [ "arm64" ], @@ -4853,9 +4814,9 @@ ] }, "node_modules/@lmdb/lmdb-linux-x64": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.1.4.tgz", - "integrity": "sha512-e/xPxFjSBzuN7/nb5WBYO1t9X1NBiNYy+gvWB3rb95K2W5qJU9fnjx+CNFp7ucvQZWF08EsVzMBa7eXKGGmHjg==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.1.5.tgz", + "integrity": "sha512-k/IklElP70qdCXOQixclSl2GPLFiopynGoKX1FqDd1/H0E3Fo1oPwjY2rEVu+0nS3AOw1sryStdXk8CW3cVIsw==", "cpu": [ "x64" ], @@ -4867,9 +4828,9 @@ ] }, "node_modules/@lmdb/lmdb-win32-x64": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.1.4.tgz", - "integrity": "sha512-mUcWgKmpbquKaDEcJ+FBtJpcqHvJW2Ce+GKMP/B/Hm9IxGjUfGs0aGlax2Nh/mjzXx/7qfwyCGD8y+KXfDuMsA==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.1.5.tgz", + "integrity": "sha512-KYar6W8nraZfSJspcK7Kp7hdj238X/FNauYbZyrqPBrtsXI1hvI4/KcRcRGP50aQoV7fkKDyJERlrQGMGTZUsA==", "cpu": [ "x64" ], @@ -5270,9 +5231,9 @@ } }, "node_modules/@ngtools/webpack": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-19.0.0-rc.1.tgz", - "integrity": "sha512-0NrAnfodGdJYND9MG7PGlTf2rBydRl0zUBSLjbpxMygxfSXix0ZBqgmojr/1bsBr6wksoVRvPmsDwP6Ad0R19A==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-19.0.0.tgz", + "integrity": "sha512-UuLK1P184R12l6obaVzGk5yzCMQNwfahlkhNapbntvvFw27O76nEYVFM5y8tPkhC3XrsH4v6Ag21q+WADkR9jQ==", "dev": true, "license": "MIT", "engines": { @@ -5281,7 +5242,7 @@ "yarn": ">= 1.13.0" }, "peerDependencies": { - "@angular/compiler-cli": "^19.0.0-next.0", + "@angular/compiler-cli": "^19.0.0", "typescript": ">=5.5 <5.7", "webpack": "^5.54.0" } @@ -5384,38 +5345,6 @@ "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/@npmcli/agent/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@npmcli/agent/node_modules/https-proxy-agent": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", - "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.0.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, "node_modules/@npmcli/agent/node_modules/lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", @@ -5423,13 +5352,6 @@ "dev": true, "license": "ISC" }, - "node_modules/@npmcli/agent/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, "node_modules/@npmcli/fs": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", @@ -6082,13 +6004,13 @@ } }, "node_modules/@playwright/test": { - "version": "1.48.2", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.48.2.tgz", - "integrity": "sha512-54w1xCWfXuax7dz4W2M9uw0gDyh+ti/0K/MxcCUxChFh37kkdxPdfZDw5QBbuPUJHr1CiHJ1hXgSs+GgeQc5Zw==", + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.49.0.tgz", + "integrity": "sha512-DMulbwQURa8rNIQrf94+jPJQ4FmOVdpE5ZppRNvWVjvhC+6sOeo28r8MgIpQRYouXRtt/FCCXU7zn20jnHR4Qw==", "dev": true, "license": "Apache-2.0", "dependencies": { - "playwright": "1.48.2" + "playwright": "1.49.0" }, "bin": { "playwright": "cli.js" @@ -6142,9 +6064,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.4.tgz", - "integrity": "sha512-jfUJrFct/hTA0XDM5p/htWKoNNTbDLY0KRwEt6pyOA6k2fmk0WVwl65PdUdJZgzGEHWx+49LilkcSaumQRyNQw==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.26.0.tgz", + "integrity": "sha512-gJNwtPDGEaOEgejbaseY6xMFu+CPltsc8/T+diUTTbOQLqD+bnrJq9ulH6WD69TqwqWmrfRAtUv30cCFZlbGTQ==", "cpu": [ "arm" ], @@ -6156,9 +6078,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.4.tgz", - "integrity": "sha512-j4nrEO6nHU1nZUuCfRKoCcvh7PIywQPUCBa2UsootTHvTHIoIu2BzueInGJhhvQO/2FTRdNYpf63xsgEqH9IhA==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.26.0.tgz", + "integrity": "sha512-YJa5Gy8mEZgz5JquFruhJODMq3lTHWLm1fOy+HIANquLzfIOzE9RA5ie3JjCdVb9r46qfAQY/l947V0zfGJ0OQ==", "cpu": [ "arm64" ], @@ -6170,9 +6092,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.4.tgz", - "integrity": "sha512-GmU/QgGtBTeraKyldC7cDVVvAJEOr3dFLKneez/n7BvX57UdhOqDsVwzU7UOnYA7AAOt+Xb26lk79PldDHgMIQ==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.26.0.tgz", + "integrity": "sha512-ErTASs8YKbqTBoPLp/kA1B1Um5YSom8QAc4rKhg7b9tyyVqDBlQxy7Bf2wW7yIlPGPg2UODDQcbkTlruPzDosw==", "cpu": [ "arm64" ], @@ -6184,9 +6106,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.4.tgz", - "integrity": "sha512-N6oDBiZCBKlwYcsEPXGDE4g9RoxZLK6vT98M8111cW7VsVJFpNEqvJeIPfsCzbf0XEakPslh72X0gnlMi4Ddgg==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.26.0.tgz", + "integrity": "sha512-wbgkYDHcdWW+NqP2mnf2NOuEbOLzDblalrOWcPyY6+BRbVhliavon15UploG7PpBRQ2bZJnbmh8o3yLoBvDIHA==", "cpu": [ "x64" ], @@ -6198,9 +6120,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.24.4.tgz", - "integrity": "sha512-py5oNShCCjCyjWXCZNrRGRpjWsF0ic8f4ieBNra5buQz0O/U6mMXCpC1LvrHuhJsNPgRt36tSYMidGzZiJF6mw==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.26.0.tgz", + "integrity": "sha512-Y9vpjfp9CDkAG4q/uwuhZk96LP11fBz/bYdyg9oaHYhtGZp7NrbkQrj/66DYMMP2Yo/QPAsVHkV891KyO52fhg==", "cpu": [ "arm64" ], @@ -6212,9 +6134,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.24.4.tgz", - "integrity": "sha512-L7VVVW9FCnTTp4i7KrmHeDsDvjB4++KOBENYtNYAiYl96jeBThFfhP6HVxL74v4SiZEVDH/1ILscR5U9S4ms4g==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.26.0.tgz", + "integrity": "sha512-A/jvfCZ55EYPsqeaAt/yDAG4q5tt1ZboWMHEvKAH9Zl92DWvMIbnZe/f/eOXze65aJaaKbL+YeM0Hz4kLQvdwg==", "cpu": [ "x64" ], @@ -6226,9 +6148,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.4.tgz", - "integrity": "sha512-10ICosOwYChROdQoQo589N5idQIisxjaFE/PAnX2i0Zr84mY0k9zul1ArH0rnJ/fpgiqfu13TFZR5A5YJLOYZA==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.26.0.tgz", + "integrity": "sha512-paHF1bMXKDuizaMODm2bBTjRiHxESWiIyIdMugKeLnjuS1TCS54MF5+Y5Dx8Ui/1RBPVRE09i5OUlaLnv8OGnA==", "cpu": [ "arm" ], @@ -6240,9 +6162,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.4.tgz", - "integrity": "sha512-ySAfWs69LYC7QhRDZNKqNhz2UKN8LDfbKSMAEtoEI0jitwfAG2iZwVqGACJT+kfYvvz3/JgsLlcBP+WWoKCLcw==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.26.0.tgz", + "integrity": "sha512-cwxiHZU1GAs+TMxvgPfUDtVZjdBdTsQwVnNlzRXC5QzIJ6nhfB4I1ahKoe9yPmoaA/Vhf7m9dB1chGPpDRdGXg==", "cpu": [ "arm" ], @@ -6254,9 +6176,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.4.tgz", - "integrity": "sha512-uHYJ0HNOI6pGEeZ/5mgm5arNVTI0nLlmrbdph+pGXpC9tFHFDQmDMOEqkmUObRfosJqpU8RliYoGz06qSdtcjg==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.26.0.tgz", + "integrity": "sha512-4daeEUQutGRCW/9zEo8JtdAgtJ1q2g5oHaoQaZbMSKaIWKDQwQ3Yx0/3jJNmpzrsScIPtx/V+1AfibLisb3AMQ==", "cpu": [ "arm64" ], @@ -6268,9 +6190,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.4.tgz", - "integrity": "sha512-38yiWLemQf7aLHDgTg85fh3hW9stJ0Muk7+s6tIkSUOMmi4Xbv5pH/5Bofnsb6spIwD5FJiR+jg71f0CH5OzoA==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.26.0.tgz", + "integrity": "sha512-eGkX7zzkNxvvS05ROzJ/cO/AKqNvR/7t1jA3VZDi2vRniLKwAWxUr85fH3NsvtxU5vnUUKFHKh8flIBdlo2b3Q==", "cpu": [ "arm64" ], @@ -6282,9 +6204,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.4.tgz", - "integrity": "sha512-q73XUPnkwt9ZNF2xRS4fvneSuaHw2BXuV5rI4cw0fWYVIWIBeDZX7c7FWhFQPNTnE24172K30I+dViWRVD9TwA==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.26.0.tgz", + "integrity": "sha512-Odp/lgHbW/mAqw/pU21goo5ruWsytP7/HCC/liOt0zcGG0llYWKrd10k9Fj0pdj3prQ63N5yQLCLiE7HTX+MYw==", "cpu": [ "ppc64" ], @@ -6296,9 +6218,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.4.tgz", - "integrity": "sha512-Aie/TbmQi6UXokJqDZdmTJuZBCU3QBDA8oTKRGtd4ABi/nHgXICulfg1KI6n9/koDsiDbvHAiQO3YAUNa/7BCw==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.26.0.tgz", + "integrity": "sha512-MBR2ZhCTzUgVD0OJdTzNeF4+zsVogIR1U/FsyuFerwcqjZGvg2nYe24SAHp8O5sN8ZkRVbHwlYeHqcSQ8tcYew==", "cpu": [ "riscv64" ], @@ -6310,9 +6232,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.4.tgz", - "integrity": "sha512-P8MPErVO/y8ohWSP9JY7lLQ8+YMHfTI4bAdtCi3pC2hTeqFJco2jYspzOzTUB8hwUWIIu1xwOrJE11nP+0JFAQ==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.26.0.tgz", + "integrity": "sha512-YYcg8MkbN17fMbRMZuxwmxWqsmQufh3ZJFxFGoHjrE7bv0X+T6l3glcdzd7IKLiwhT+PZOJCblpnNlz1/C3kGQ==", "cpu": [ "s390x" ], @@ -6324,9 +6246,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.4.tgz", - "integrity": "sha512-K03TljaaoPK5FOyNMZAAEmhlyO49LaE4qCsr0lYHUKyb6QacTNF9pnfPpXnFlFD3TXuFbFbz7tJ51FujUXkXYA==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.26.0.tgz", + "integrity": "sha512-ZuwpfjCwjPkAOxpjAEjabg6LRSfL7cAJb6gSQGZYjGhadlzKKywDkCUnJ+KEfrNY1jH5EEoSIKLCb572jSiglA==", "cpu": [ "x64" ], @@ -6338,9 +6260,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.4.tgz", - "integrity": "sha512-VJYl4xSl/wqG2D5xTYncVWW+26ICV4wubwN9Gs5NrqhJtayikwCXzPL8GDsLnaLU3WwhQ8W02IinYSFJfyo34Q==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.26.0.tgz", + "integrity": "sha512-+HJD2lFS86qkeF8kNu0kALtifMpPCZU80HvwztIKnYwym3KnA1os6nsX4BGSTLtS2QVAGG1P3guRgsYyMA0Yhg==", "cpu": [ "x64" ], @@ -6352,9 +6274,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.4.tgz", - "integrity": "sha512-ku2GvtPwQfCqoPFIJCqZ8o7bJcj+Y54cZSr43hHca6jLwAiCbZdBUOrqE6y29QFajNAzzpIOwsckaTFmN6/8TA==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.26.0.tgz", + "integrity": "sha512-WUQzVFWPSw2uJzX4j6YEbMAiLbs0BUysgysh8s817doAYhR5ybqTI1wtKARQKo6cGop3pHnrUJPFCsXdoFaimQ==", "cpu": [ "arm64" ], @@ -6366,9 +6288,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.4.tgz", - "integrity": "sha512-V3nCe+eTt/W6UYNr/wGvO1fLpHUrnlirlypZfKCT1fG6hWfqhPgQV/K/mRBXBpxc0eKLIF18pIOFVPh0mqHjlg==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.26.0.tgz", + "integrity": "sha512-D4CxkazFKBfN1akAIY6ieyOqzoOoBV1OICxgUblWxff/pSjCA2khXlASUx7mK6W1oP4McqhgcCsu6QaLj3WMWg==", "cpu": [ "ia32" ], @@ -6380,9 +6302,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.4.tgz", - "integrity": "sha512-LTw1Dfd0mBIEqUVCxbvTE/LLo+9ZxVC9k99v1v4ahg9Aak6FpqOfNu5kRkeTAn0wphoC4JU7No1/rL+bBCEwhg==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.26.0.tgz", + "integrity": "sha512-2x8MO1rm4PGEP0xWbubJW5RtbNLk3puzAMaLQd3B3JHVw4KcHlmXcO+Wewx9zCoo7EUFiMlu/aZbCJ7VjMzAag==", "cpu": [ "x64" ], @@ -6421,14 +6343,14 @@ "license": "MIT" }, "node_modules/@schematics/angular": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-19.0.0-rc.1.tgz", - "integrity": "sha512-ognh6k5b6r8SGaYiUVMeW+TM4nwvq/VIkhVY8vnbkSWCoywaRUh7IFbwQ1UlCkc2WAogSR+4lmv6cEsy5X72NQ==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-19.0.0.tgz", + "integrity": "sha512-2U8dlhURoQfS99ZF67RVeARFeJn4Z0Lg2dfYbGj+ooRH5YMtAZq8zAIRCfyC3OMiJEZM6BbGigCD6gNoAhP0RQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "19.0.0-rc.1", - "@angular-devkit/schematics": "19.0.0-rc.1", + "@angular-devkit/core": "19.0.0", + "@angular-devkit/schematics": "19.0.0", "jsonc-parser": "3.3.1" }, "engines": { @@ -6562,24 +6484,6 @@ "node": ">=18" } }, - "node_modules/@sigstore/sign/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/@sigstore/sign/node_modules/glob": { "version": "10.4.5", "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", @@ -6601,20 +6505,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@sigstore/sign/node_modules/https-proxy-agent": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", - "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.0.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, "node_modules/@sigstore/sign/node_modules/jackspeak": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", @@ -6738,13 +6628,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@sigstore/sign/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, "node_modules/@sigstore/sign/node_modules/negotiator": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", @@ -7222,9 +7105,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.9.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.0.tgz", - "integrity": "sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==", + "version": "22.9.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.1.tgz", + "integrity": "sha512-p8Yy/8sw1caA8CdRIQBG5tiLHmxtQKObCijiAa9Ez+d4+PRffM4054xbju0msf+cvhJpnFEeNjxmVT/0ipktrg==", "dev": true, "license": "MIT", "dependencies": { @@ -10903,9 +10786,9 @@ } }, "node_modules/eslint-plugin-jsdoc": { - "version": "50.4.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-50.4.3.tgz", - "integrity": "sha512-uWtwFxGRv6B8sU63HZM5dAGDhgsatb+LONwmILZJhdRALLOkCX2HFZhdL/Kw2ls8SQMAVEfK+LmnEfxInRN8HA==", + "version": "50.5.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-50.5.0.tgz", + "integrity": "sha512-xTkshfZrUbiSHXBwZ/9d5ulZ2OcHXxSvm/NPo494H/hadLRJwOq5PMV0EUpMqsb9V+kQo+9BAgi6Z7aJtdBp2A==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -12636,6 +12519,45 @@ "dev": true, "license": "MIT" }, + "node_modules/https-proxy-agent": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, "node_modules/human-signals": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", @@ -12787,9 +12709,9 @@ } }, "node_modules/immutable": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", - "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.0.3.tgz", + "integrity": "sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw==", "dev": true, "license": "MIT" }, @@ -14245,30 +14167,30 @@ } }, "node_modules/lmdb": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.1.4.tgz", - "integrity": "sha512-M3P0HBm0e6SUCrWqMf+wjs5LTRQekh1TtC10e3NjCfLECCXLRXHFROG2kErdyyv2MQ5335Qvb3KQKCSLUuwUDg==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.1.5.tgz", + "integrity": "sha512-46Mch5Drq+A93Ss3gtbg+Xuvf5BOgIuvhKDWoGa3HcPHI6BL2NCOkRdSx1D4VfzwrxhnsjbyIVsLRlQHu6URvw==", "dev": true, "hasInstallScript": true, "license": "MIT", "optional": true, "dependencies": { - "msgpackr": "^1.10.2", + "msgpackr": "^1.11.2", "node-addon-api": "^6.1.0", "node-gyp-build-optional-packages": "5.2.2", - "ordered-binary": "^1.5.2", + "ordered-binary": "^1.5.3", "weak-lru-cache": "^1.2.2" }, "bin": { "download-lmdb-prebuilds": "bin/download-prebuilds.js" }, "optionalDependencies": { - "@lmdb/lmdb-darwin-arm64": "3.1.4", - "@lmdb/lmdb-darwin-x64": "3.1.4", - "@lmdb/lmdb-linux-arm": "3.1.4", - "@lmdb/lmdb-linux-arm64": "3.1.4", - "@lmdb/lmdb-linux-x64": "3.1.4", - "@lmdb/lmdb-win32-x64": "3.1.4" + "@lmdb/lmdb-darwin-arm64": "3.1.5", + "@lmdb/lmdb-darwin-x64": "3.1.5", + "@lmdb/lmdb-linux-arm": "3.1.5", + "@lmdb/lmdb-linux-arm64": "3.1.5", + "@lmdb/lmdb-linux-x64": "3.1.5", + "@lmdb/lmdb-win32-x64": "3.1.5" } }, "node_modules/loader-runner": { @@ -15363,9 +15285,9 @@ } }, "node_modules/ng-packagr": { - "version": "19.0.0-rc.0", - "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-19.0.0-rc.0.tgz", - "integrity": "sha512-s+9tynvmsqNflv4qM8/Fli/Mv2omFTpau7bWlgjakHBh5GCNM2YHu1rqUsc70JWmOmHDQ9LHTvxQyD5VdF3msg==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-19.0.0.tgz", + "integrity": "sha512-CKJlpZO6sL3+RpXbmtH7wEHnqgktOkmvmoUpTUUuNOA6m3JRypvDZHW29hFzvgFkxTJI13QHuBWauuG42rtIUA==", "dev": true, "license": "MIT", "dependencies": { @@ -15937,24 +15859,6 @@ "node": ">=18" } }, - "node_modules/npm-registry-fetch/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/npm-registry-fetch/node_modules/glob": { "version": "10.4.5", "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", @@ -15976,20 +15880,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm-registry-fetch/node_modules/https-proxy-agent": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", - "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.0.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, "node_modules/npm-registry-fetch/node_modules/jackspeak": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", @@ -16113,13 +16003,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm-registry-fetch/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, "node_modules/npm-registry-fetch/node_modules/negotiator": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", @@ -16526,8 +16409,9 @@ "node_modules/os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -17164,13 +17048,13 @@ } }, "node_modules/playwright": { - "version": "1.48.2", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.48.2.tgz", - "integrity": "sha512-NjYvYgp4BPmiwfe31j4gHLa3J7bD2WiBz8Lk2RoSsmX38SVIARZ18VYjxLjAcDsAhA+F4iSEXTSGgjua0rrlgQ==", + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.49.0.tgz", + "integrity": "sha512-eKpmys0UFDnfNb3vfsf8Vx2LEOtflgRebl0Im2eQQnYMA4Aqd+Zw8bEOB+7ZKvN76901mRnqdsiOGKxzVTbi7A==", "dev": true, "license": "Apache-2.0", "dependencies": { - "playwright-core": "1.48.2" + "playwright-core": "1.49.0" }, "bin": { "playwright": "cli.js" @@ -17183,9 +17067,9 @@ } }, "node_modules/playwright-core": { - "version": "1.48.2", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.48.2.tgz", - "integrity": "sha512-sjjw+qrLFlriJo64du+EK0kJgZzoQPsabGF4lBvsid+3CNIZIYLgnMj9V6JY5VhM2Peh20DJWIVpVljLLnlawA==", + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.49.0.tgz", + "integrity": "sha512-R+3KKTQF3npy5GTiKH/T+kdhoJfJojjHESR1YEWhYuEKRVfVaxH3+4+GvXE5xyCngCxhxnykk0Vlah9v8fs3jA==", "dev": true, "license": "Apache-2.0", "bin": { @@ -17367,9 +17251,9 @@ } }, "node_modules/postcss": { - "version": "8.4.47", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", - "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "version": "8.4.49", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", "dev": true, "funding": [ { @@ -17388,7 +17272,7 @@ "license": "MIT", "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.1.0", + "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, "engines": { @@ -18255,9 +18139,9 @@ "license": "MIT" }, "node_modules/rollup": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.4.tgz", - "integrity": "sha512-vGorVWIsWfX3xbcyAS+I047kFKapHYivmkaT63Smj77XwvLSJos6M1xGqZnBPFQFBRZDOcG1QnYEIxAvTr/HjA==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.26.0.tgz", + "integrity": "sha512-ilcl12hnWonG8f+NxU6BlgysVA0gvY2l8N0R84S1HcINbW20bvwuCngJkkInV6LXhwRpucsW5k1ovDwEdBVrNg==", "dev": true, "license": "MIT", "dependencies": { @@ -18271,24 +18155,24 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.24.4", - "@rollup/rollup-android-arm64": "4.24.4", - "@rollup/rollup-darwin-arm64": "4.24.4", - "@rollup/rollup-darwin-x64": "4.24.4", - "@rollup/rollup-freebsd-arm64": "4.24.4", - "@rollup/rollup-freebsd-x64": "4.24.4", - "@rollup/rollup-linux-arm-gnueabihf": "4.24.4", - "@rollup/rollup-linux-arm-musleabihf": "4.24.4", - "@rollup/rollup-linux-arm64-gnu": "4.24.4", - "@rollup/rollup-linux-arm64-musl": "4.24.4", - "@rollup/rollup-linux-powerpc64le-gnu": "4.24.4", - "@rollup/rollup-linux-riscv64-gnu": "4.24.4", - "@rollup/rollup-linux-s390x-gnu": "4.24.4", - "@rollup/rollup-linux-x64-gnu": "4.24.4", - "@rollup/rollup-linux-x64-musl": "4.24.4", - "@rollup/rollup-win32-arm64-msvc": "4.24.4", - "@rollup/rollup-win32-ia32-msvc": "4.24.4", - "@rollup/rollup-win32-x64-msvc": "4.24.4", + "@rollup/rollup-android-arm-eabi": "4.26.0", + "@rollup/rollup-android-arm64": "4.26.0", + "@rollup/rollup-darwin-arm64": "4.26.0", + "@rollup/rollup-darwin-x64": "4.26.0", + "@rollup/rollup-freebsd-arm64": "4.26.0", + "@rollup/rollup-freebsd-x64": "4.26.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.26.0", + "@rollup/rollup-linux-arm-musleabihf": "4.26.0", + "@rollup/rollup-linux-arm64-gnu": "4.26.0", + "@rollup/rollup-linux-arm64-musl": "4.26.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.26.0", + "@rollup/rollup-linux-riscv64-gnu": "4.26.0", + "@rollup/rollup-linux-s390x-gnu": "4.26.0", + "@rollup/rollup-linux-x64-gnu": "4.26.0", + "@rollup/rollup-linux-x64-musl": "4.26.0", + "@rollup/rollup-win32-arm64-msvc": "4.26.0", + "@rollup/rollup-win32-ia32-msvc": "4.26.0", + "@rollup/rollup-win32-x64-msvc": "4.26.0", "fsevents": "~2.3.2" } }, @@ -18389,14 +18273,14 @@ "dev": true }, "node_modules/sass": { - "version": "1.80.6", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.80.6.tgz", - "integrity": "sha512-ccZgdHNiBF1NHBsWvacvT5rju3y1d/Eu+8Ex6c21nHp2lZGLBEtuwc415QfiI1PJa1TpCo3iXwwSRjRpn2Ckjg==", + "version": "1.80.7", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.80.7.tgz", + "integrity": "sha512-MVWvN0u5meytrSjsU7AWsbhoXi1sc58zADXFllfZzbsBT1GHjjar6JwBINYPRrkx/zqnQ6uqbQuHgE95O+C+eQ==", "dev": true, "license": "MIT", "dependencies": { "chokidar": "^4.0.0", - "immutable": "^4.0.0", + "immutable": "^5.0.2", "source-map-js": ">=0.6.2 <2.0.0" }, "bin": { @@ -20123,20 +20007,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/tuf-js/node_modules/https-proxy-agent": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", - "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^7.0.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, "node_modules/tuf-js/node_modules/jackspeak": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", @@ -20786,9 +20656,9 @@ } }, "node_modules/vite": { - "version": "5.4.10", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.10.tgz", - "integrity": "sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==", + "version": "5.4.11", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.11.tgz", + "integrity": "sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==", "dev": true, "license": "MIT", "dependencies": { @@ -21869,6 +21739,7 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -21922,17 +21793,19 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" @@ -22040,26 +21913,26 @@ } }, "@angular-devkit/architect": { - "version": "0.1900.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1900.0-rc.1.tgz", - "integrity": "sha512-rGSNZUouoxdrrEqST4LJm/8zUWR6GFhT/hCDfyVusKx9SzBDTE+IQZ4ZJn/S9fZbwjaoIQqfHxUnNWoQMma6jQ==", + "version": "0.1900.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1900.0.tgz", + "integrity": "sha512-oC2CyKf9olKvthEwp2wmkKw+H9NhpnK9cWYHvajWeCRJ8A4DLaKwfMuZ9lioi92QPourrJzoikgp7C6m2AuuZQ==", "dev": true, "requires": { - "@angular-devkit/core": "19.0.0-rc.1", + "@angular-devkit/core": "19.0.0", "rxjs": "7.8.1" } }, "@angular-devkit/build-angular": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-19.0.0-rc.1.tgz", - "integrity": "sha512-gC3UiZbcWurdm0KQz7Ot5hQx55/nQjH9apMzFFTTRCG+adBDknFQAcIRD8teMxTZcmh1tscl2GsPl38fmWCrZw==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-19.0.0.tgz", + "integrity": "sha512-Q4owTwm4bLK5qYHvPehx1/55O0vWRShDGsoHOYgm8mMLc++hr7xWpF8HptVG7AP9O8Qq95Cpz9+N4iMqyWlyUw==", "dev": true, "requires": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1900.0-rc.1", - "@angular-devkit/build-webpack": "0.1900.0-rc.1", - "@angular-devkit/core": "19.0.0-rc.1", - "@angular/build": "19.0.0-rc.1", + "@angular-devkit/architect": "0.1900.0", + "@angular-devkit/build-webpack": "0.1900.0", + "@angular-devkit/core": "19.0.0", + "@angular/build": "19.0.0", "@babel/core": "7.26.0", "@babel/generator": "7.26.2", "@babel/helper-annotate-as-pure": "7.25.9", @@ -22070,7 +21943,7 @@ "@babel/preset-env": "7.26.0", "@babel/runtime": "7.26.0", "@discoveryjs/json-ext": "0.6.3", - "@ngtools/webpack": "19.0.0-rc.1", + "@ngtools/webpack": "19.0.0", "@vitejs/plugin-basic-ssl": "1.1.0", "ansi-colors": "4.1.3", "autoprefixer": "10.4.20", @@ -22094,11 +21967,11 @@ "ora": "5.4.1", "picomatch": "4.0.2", "piscina": "4.7.0", - "postcss": "8.4.47", + "postcss": "8.4.49", "postcss-loader": "8.1.1", "resolve-url-loader": "5.0.0", "rxjs": "7.8.1", - "sass": "1.80.6", + "sass": "1.80.7", "sass-loader": "16.0.3", "semver": "7.6.3", "source-map-loader": "5.0.0", @@ -22168,19 +22041,19 @@ } }, "@angular-devkit/build-webpack": { - "version": "0.1900.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1900.0-rc.1.tgz", - "integrity": "sha512-848B3sav/e9Qh8+rHekBeeJ+9TxWlAnF8NCOieB672b73VvMFbJMb449P/9EO9NGt/MnFgmU52oPTspB4OOekg==", + "version": "0.1900.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1900.0.tgz", + "integrity": "sha512-mpsjpkp+SBd/16zmRTNDUiTXvcuMObGpcssOGqjf9MhaeSECYpU2J1MyXO+uXqnQ5ECAc/UK954Lv6bWwbusEw==", "dev": true, "requires": { - "@angular-devkit/architect": "0.1900.0-rc.1", + "@angular-devkit/architect": "0.1900.0", "rxjs": "7.8.1" } }, "@angular-devkit/core": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.0.0-rc.1.tgz", - "integrity": "sha512-o5PGugUaQkUETHGqz700Zt1xMIynPbrIW5tfezy30/HjOJy/CPJzIsnwupLpQ95sDV2YeJsYJrF5rEVxigZBEQ==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.0.0.tgz", + "integrity": "sha512-/EJQOKVFb9vsFbPR+57C7fJHFVr7le9Ru6aormIKw24xyZZHtt5X4rwdeN7l6Zkv8F0cJ2EoTSiQoY17090DLQ==", "dev": true, "requires": { "ajv": "8.17.1", @@ -22227,12 +22100,12 @@ } }, "@angular-devkit/schematics": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-19.0.0-rc.1.tgz", - "integrity": "sha512-06cEyXFIEOqfBwqHQFCzE2NtyCE8bdm3Ky5ZZaUsxmg0L09llEj+DIUYhS+0CqXH+074Yik9ghgFJXf3UIxRCQ==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-19.0.0.tgz", + "integrity": "sha512-90pGZtpZgjDk1UgRBatfeqYP6qUZL9fLh+8zIpavOr2ey5bW2lADO7mS2Qrc7U1SmGqnxQXQQ7uIS+50gYm0tQ==", "dev": true, "requires": { - "@angular-devkit/core": "19.0.0-rc.1", + "@angular-devkit/core": "19.0.0", "jsonc-parser": "3.3.1", "magic-string": "0.30.12", "ora": "5.4.1", @@ -22332,26 +22205,26 @@ } }, "@angular/animations": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-19.0.0-rc.1.tgz", - "integrity": "sha512-q/w1C0f9ZmpKA0LSYIwnHu9n875rXGWKZDy6MmAsYC2enhsMIqqWJmIvT+EJghhGX+Tv8u/3KejWNaR0OGeQqQ==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-19.0.0.tgz", + "integrity": "sha512-+uZTvEXjYh8PZKB4ijk8uuH1K+Tz/A67mUlltFv9pYKtnmbZAeS/PI66g/7pigRYDvEgid1fvlAANeBShAiPZQ==", "requires": { "tslib": "^2.3.0" } }, "@angular/build": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/build/-/build-19.0.0-rc.1.tgz", - "integrity": "sha512-/sxyGODMoN26OEJVuhDQcePOGebGncIWOKMhc689mr9aUNegFa+sE7jYvtpVOc+LIA1dFwU/biTG7kcKwpN+yA==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-19.0.0.tgz", + "integrity": "sha512-OLyUwAVCSqW589l19g19aP2O1NpBMRPsqKmYLaTYvYSIcZkNRJPxOcsCIDGB3FUQUEjpouYtzPA3RtBuJWsCwQ==", "dev": true, "requires": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1900.0-rc.1", + "@angular-devkit/architect": "0.1900.0", "@babel/core": "7.26.0", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", "@babel/plugin-syntax-import-attributes": "7.26.0", - "@inquirer/confirm": "5.0.1", + "@inquirer/confirm": "5.0.2", "@vitejs/plugin-basic-ssl": "1.1.0", "beasties": "0.1.0", "browserslist": "^4.23.0", @@ -22360,38 +22233,19 @@ "https-proxy-agent": "7.0.5", "istanbul-lib-instrument": "6.0.3", "listr2": "8.2.5", - "lmdb": "3.1.4", + "lmdb": "3.1.5", "magic-string": "0.30.12", "mrmime": "2.0.0", "parse5-html-rewriting-stream": "7.0.0", "picomatch": "4.0.2", "piscina": "4.7.0", - "rollup": "4.24.4", - "sass": "1.80.6", + "rollup": "4.26.0", + "sass": "1.80.7", "semver": "7.6.3", - "vite": "5.4.10", + "vite": "5.4.11", "watchpack": "2.4.2" }, "dependencies": { - "debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "requires": { - "ms": "^2.1.3" - } - }, - "https-proxy-agent": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", - "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", - "dev": true, - "requires": { - "agent-base": "^7.0.2", - "debug": "4" - } - }, "istanbul-lib-instrument": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", @@ -22405,12 +22259,6 @@ "semver": "^7.5.4" } }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, "picomatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", @@ -22426,26 +22274,26 @@ } }, "@angular/cdk": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-19.0.0-rc.1.tgz", - "integrity": "sha512-aNpSadgqq3bpyZ/OsCiAl/TGMzUZYqAltctgYS3kXIrSphamus+9wOR7SF1dK87RUX/RWj3SMpol6e4kLmyfpw==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-19.0.0.tgz", + "integrity": "sha512-KcOYhCwN4Bw3L4+W4ymTfPGqRjrkwD8M5jX8GM7YsZ5DsX9OEd/gNrwRvjn+8JItzimXLXdGrcqXrMTxkq7QPA==", "requires": { "parse5": "^7.1.2", "tslib": "^2.3.0" } }, "@angular/cli": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-19.0.0-rc.1.tgz", - "integrity": "sha512-xZu/uts0fS6ZPfRfee3bMFx7XIsR3SMI6qL/n13j+Z+cRqdofyLOPiZeySf2RiWBXhYyUHIk4E1kT5giN/RABg==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-19.0.0.tgz", + "integrity": "sha512-7FTNkMtTuaXp4CCWZlRIwFZtnkDJg+YjqAuloDNGhIXDjDsb9gWihepWpWXSMBTg4XI1OdsT+oYt38Z0YMck0A==", "dev": true, "requires": { - "@angular-devkit/architect": "0.1900.0-rc.1", - "@angular-devkit/core": "19.0.0-rc.1", - "@angular-devkit/schematics": "19.0.0-rc.1", - "@inquirer/prompts": "7.0.1", - "@listr2/prompt-adapter-inquirer": "2.0.17", - "@schematics/angular": "19.0.0-rc.1", + "@angular-devkit/architect": "0.1900.0", + "@angular-devkit/core": "19.0.0", + "@angular-devkit/schematics": "19.0.0", + "@inquirer/prompts": "7.1.0", + "@listr2/prompt-adapter-inquirer": "2.0.18", + "@schematics/angular": "19.0.0", "@yarnpkg/lockfile": "1.1.0", "ini": "5.0.0", "jsonc-parser": "3.3.1", @@ -22532,25 +22380,25 @@ } }, "@angular/common": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-19.0.0-rc.1.tgz", - "integrity": "sha512-a1s7EUvFokp5GGyf5TPERyyX9lz6zvgyrHDX43kmSSvDTl6ZkcfUM0dy7FNrJuLoesa09Z3ZcvMYxIvLpNMaUA==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-19.0.0.tgz", + "integrity": "sha512-kb2iS26GZS0vyR3emAQbIiQifnK5M5vnbclEHni+pApDEU5V9FufbdRP3vCxs28UHZvAZKB0LrxkTrnT6T+z5g==", "requires": { "tslib": "^2.3.0" } }, "@angular/compiler": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-19.0.0-rc.1.tgz", - "integrity": "sha512-t+wP9Z2CArUD7VJns56Mpcf/IcQe8kJVwHgiD9cm/fF07w9qMMTQjkCvvppkwFvZzZQ4W2FnwpzFko/wVN0SMw==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-19.0.0.tgz", + "integrity": "sha512-Uw2Yy25pdqfzKsS9WofnIq1zvknlVYyy03LYO7NMKHlFWiy8q8SIXN7WKPFhiHlOfyACXipp4eZb9m3+IbOfSA==", "requires": { "tslib": "^2.3.0" } }, "@angular/compiler-cli": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-19.0.0-rc.1.tgz", - "integrity": "sha512-zOlucVAtfxsywyClM6dMl7T42VA1Ir71C6sr5ry4gnRu9JZc2HjTsXTdRH+v4MV4/WD9vGOR0XxWQqRGbuQ3Rw==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-19.0.0.tgz", + "integrity": "sha512-2PxpsIeppoDLAx7A6i0GE10WjC+Fkz8tTQioa7r4y/+eYnniEjJFIQM/8lbkOnRVcuYoeXoNyYWr3fEQAyO4LA==", "dev": true, "requires": { "@babel/core": "7.26.0", @@ -22651,72 +22499,72 @@ } }, "@angular/core": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-19.0.0-rc.1.tgz", - "integrity": "sha512-DQTo0A8W14XXdjcRSwSIfDoGPL5QrMXAgZn97RS8SPvBeM2J+uEx4gQe5AeFASn+/75zgrq1ImZuKzu47GrJmw==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-19.0.0.tgz", + "integrity": "sha512-aNG2kd30BOM/zf0jC+aEVG8OA27IwqCki9EkmyRNYnaP2O5Mj1n7JpCyZGI+0LrWTJ2UUCfRNZiZdZwmNThr1Q==", "requires": { "tslib": "^2.3.0" } }, "@angular/forms": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-19.0.0-rc.1.tgz", - "integrity": "sha512-kKeU5GhLjc0VQCGNJxeOXo5WN/urgdWELQnD4niErQcsaFjezol7dntSlOW3IzHpZlf3vL6+fc/wI68JOeHbpw==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-19.0.0.tgz", + "integrity": "sha512-gM4bUdlIJ0uRYNwoVMbXiZt4+bZzPXzyQ7ByNIOVKEAI0PN9Jz1dR1pSeQgIoUvKQbhwsVKVUoa7Tn1hoqwvTg==", "requires": { "tslib": "^2.3.0" } }, "@angular/language-service": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-19.0.0-rc.1.tgz", - "integrity": "sha512-t8o7+22YyjKDHglRg5rOo8Vk06HyQymcC9BWgDvqbfx6q7HL9aTfSHCfzx2I4SIej+3/h0vt3IIAtMWm9AmRGw==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-19.0.0.tgz", + "integrity": "sha512-oXDZ+gOTVFhpGg+Cp/3Mo0aa214eCF13dEboRYTIM/m1jnsTHcIlfhRpkw+FLUSEN9MTVK5xVfx5gUudI7T0rg==", "dev": true }, "@angular/material": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-19.0.0-rc.1.tgz", - "integrity": "sha512-PCT4t4JL1INyLj0WEtGOVeS6i7Xk8wQa1sXqFV4nJADD+TPLFkvGFaW/mnXjKGFNXq8BAPe/lZ26uPFgy0HGfA==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-19.0.0.tgz", + "integrity": "sha512-j7dDFUh8dqiysuWu32biukDTHScajUYHFR9Srhn98kBwnXMob5y1paMoOx5RQO5DU4KCxKaKx8HcHJBJeTKHjw==", "requires": { "tslib": "^2.3.0" } }, "@angular/platform-browser": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-19.0.0-rc.1.tgz", - "integrity": "sha512-OAuh8qyqMWl/BTR3yd5cn3Joz0Zw9gEM7dMPiBJWsqhm2xLG1w5lJ/1bpBkYa6Pl7/HEacHkjrw+sLg0VIeIGA==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-19.0.0.tgz", + "integrity": "sha512-g9Qkv+KgEmXLVeg+dw1edmWsRBspUGeJMOBf2UX1kUCw6txeco+pzCMimouB5LQYHfs6cD6oC+FwINm0HNwrhg==", "requires": { "tslib": "^2.3.0" } }, "@angular/platform-browser-dynamic": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-19.0.0-rc.1.tgz", - "integrity": "sha512-uHdAJiElXKNOpHuaa9TYfCOarw24Na25LWbVk9hWuLoEMCnN5hh028Tzep5l+g/BNDXR7dXeIvLMa/LBUqEZjQ==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-19.0.0.tgz", + "integrity": "sha512-ljvycDe0etmTBDzbCFakpsItywddpKEyCZGMKRvz5TdND1N1qqXydxAF1kLzP5H7F/QOMdP4/T/T1HS+6AUpkw==", "requires": { "tslib": "^2.3.0" } }, "@angular/platform-server": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-19.0.0-rc.1.tgz", - "integrity": "sha512-pFZRl05Lse4vFejkW1LbxVY2jFY5xVuHZJ6oxzmRKmtj/fpDuI/dcfFbNMk6CPx9zisMbney3NU5LMa/6VnR8w==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-19.0.0.tgz", + "integrity": "sha512-eQ+mT2DvIp+tQO268WJQ5CO9nB+jcXNYqUzEfAqAhUNnpxCn3j6d8GNjx16GOVkHVBrVJvW32WPBCG4fzoi0sQ==", "requires": { "tslib": "^2.3.0", "xhr2": "^0.2.0" } }, "@angular/router": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-19.0.0-rc.1.tgz", - "integrity": "sha512-fHHY+y2gRfQ6Xt0MF0+Ry/MV1aEXyTNssht/r+J94Y4dIF1LN7TcCbos7fWPus0dENkUOcaoVO2Eod3r+Rm99Q==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-19.0.0.tgz", + "integrity": "sha512-uFyT8DWVLGY8k0AZjpK7iyMO/WwT4/+b09Ax0uUEbdcRxTXSOg8/U/AVzQWtxzxI80/vJE2WZMmhIJFUTYwhKA==", "requires": { "tslib": "^2.3.0" } }, "@angular/ssr": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@angular/ssr/-/ssr-19.0.0-rc.1.tgz", - "integrity": "sha512-DbWzJK7vAjksTKXTD9YRiytJdVMqk7uB75eZCvU3vclhtKnk9F6dCaE7fidRX0qXRRCWYS5I/H9NYRmbqw7PZw==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@angular/ssr/-/ssr-19.0.0.tgz", + "integrity": "sha512-gzGDhLTlfVZFdoXl1NGRViLE7F9UPsBOVIE7PE3TlY/+/dHNJlIb9UrVGe0iI+sbLlPC8csGUE1040PSzs6+3g==", "requires": { "tslib": "^2.3.0" } @@ -24570,36 +24418,36 @@ "dev": true }, "@inquirer/checkbox": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.0.1.tgz", - "integrity": "sha512-ehJjmNPdguajc1hStvjN7DJNVjwG5LC1mgGMGFjCmdkn2fxB2GtULftMnlaqNmvMdPpqdaSoOFpl86VkLtG4pQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.0.2.tgz", + "integrity": "sha512-+gznPl8ip8P8HYHYecDtUtdsh1t2jvb+sWCD72GAiZ9m45RqwrLmReDaqdC0umQfamtFXVRoMVJ2/qINKGm9Tg==", "dev": true, "requires": { - "@inquirer/core": "^10.0.1", - "@inquirer/figures": "^1.0.7", - "@inquirer/type": "^3.0.0", + "@inquirer/core": "^10.1.0", + "@inquirer/figures": "^1.0.8", + "@inquirer/type": "^3.0.1", "ansi-escapes": "^4.3.2", "yoctocolors-cjs": "^2.1.2" } }, "@inquirer/confirm": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.0.1.tgz", - "integrity": "sha512-6ycMm7k7NUApiMGfVc32yIPp28iPKxhGRMqoNDiUjq2RyTAkbs5Fx0TdzBqhabcKvniDdAAvHCmsRjnNfTsogw==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.0.2.tgz", + "integrity": "sha512-KJLUHOaKnNCYzwVbryj3TNBxyZIrr56fR5N45v6K9IPrbT6B7DcudBMfylkV1A8PUdJE15mybkEQyp2/ZUpxUA==", "dev": true, "requires": { - "@inquirer/core": "^10.0.1", - "@inquirer/type": "^3.0.0" + "@inquirer/core": "^10.1.0", + "@inquirer/type": "^3.0.1" } }, "@inquirer/core": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.0.1.tgz", - "integrity": "sha512-KKTgjViBQUi3AAssqjUFMnMO3CM3qwCHvePV9EW+zTKGKafFGFF01sc1yOIYjLJ7QU52G/FbzKc+c01WLzXmVQ==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.0.tgz", + "integrity": "sha512-I+ETk2AL+yAVbvuKx5AJpQmoaWhpiTFOg/UJb7ZkMAK4blmtG8ATh5ct+T/8xNld0CZG/2UhtkdMwpgvld92XQ==", "dev": true, "requires": { - "@inquirer/figures": "^1.0.7", - "@inquirer/type": "^3.0.0", + "@inquirer/figures": "^1.0.8", + "@inquirer/type": "^3.0.1", "ansi-escapes": "^4.3.2", "cli-width": "^4.1.0", "mute-stream": "^2.0.0", @@ -24633,122 +24481,122 @@ } }, "@inquirer/editor": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.0.1.tgz", - "integrity": "sha512-qAHHJ6hs343eNtCKgV2wV5CImFxYG8J1pl/YCeI5w9VoW7QpulRUU26+4NsMhjR6zDRjKBsH/rRjCIcaAOHsrg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.1.0.tgz", + "integrity": "sha512-K1gGWsxEqO23tVdp5MT3H799OZ4ER1za7Dlc8F4um0W7lwSv0KGR/YyrUEyimj0g7dXZd8XknM/5QA2/Uy+TbA==", "dev": true, "requires": { - "@inquirer/core": "^10.0.1", - "@inquirer/type": "^3.0.0", + "@inquirer/core": "^10.1.0", + "@inquirer/type": "^3.0.1", "external-editor": "^3.1.0" } }, "@inquirer/expand": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.1.tgz", - "integrity": "sha512-9anjpdc802YInXekwePsa5LWySzVMHbhVS6v6n5IJxrl8w09mODOeP69wZ1d0WrOvot2buQSmYp4lW/pq8y+zQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.2.tgz", + "integrity": "sha512-WdgCX1cUtinz+syKyZdJomovULYlKUWZbVYZzhf+ZeeYf4htAQ3jLymoNs3koIAKfZZl3HUBb819ClCBfyznaw==", "dev": true, "requires": { - "@inquirer/core": "^10.0.1", - "@inquirer/type": "^3.0.0", + "@inquirer/core": "^10.1.0", + "@inquirer/type": "^3.0.1", "yoctocolors-cjs": "^2.1.2" } }, "@inquirer/figures": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.7.tgz", - "integrity": "sha512-m+Trk77mp54Zma6xLkLuY+mvanPxlE4A7yNKs2HBiyZ4UkVs28Mv5c/pgWrHeInx+USHeX/WEPzjrWrcJiQgjw==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.8.tgz", + "integrity": "sha512-tKd+jsmhq21AP1LhexC0pPwsCxEhGgAkg28byjJAd+xhmIs8LUX8JbUc3vBf3PhLxWiB5EvyBE5X7JSPAqMAqg==", "dev": true }, "@inquirer/input": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.0.1.tgz", - "integrity": "sha512-m+SliZ2m43cDRIpAdQxfv5QOeAQCuhS8TGLvtzEP1An4IH1kBES4RLMRgE/fC+z29aN8qYG8Tq/eXQQKTYwqAg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.0.2.tgz", + "integrity": "sha512-yCLCraigU085EcdpIVEDgyfGv4vBiE4I+k1qRkc9C5dMjWF42ADMGy1RFU94+eZlz4YlkmFsiyHZy0W1wdhaNg==", "dev": true, "requires": { - "@inquirer/core": "^10.0.1", - "@inquirer/type": "^3.0.0" + "@inquirer/core": "^10.1.0", + "@inquirer/type": "^3.0.1" } }, "@inquirer/number": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.1.tgz", - "integrity": "sha512-gF3erqfm0snpwBjbyKXUUe17QJ7ebm49btXApajrM0rgCCoYX0o9W5NCuYNae87iPxaIJVjtuoQ42DX32IdbMA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.2.tgz", + "integrity": "sha512-MKQhYofdUNk7eqJtz52KvM1dH6R93OMrqHduXCvuefKrsiMjHiMwjc3NZw5Imm2nqY7gWd9xdhYrtcHMJQZUxA==", "dev": true, "requires": { - "@inquirer/core": "^10.0.1", - "@inquirer/type": "^3.0.0" + "@inquirer/core": "^10.1.0", + "@inquirer/type": "^3.0.1" } }, "@inquirer/password": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.1.tgz", - "integrity": "sha512-D7zUuX4l4ZpL3D7/SWu9ibijP09jigwHi/gfUHLx5GMS5oXzuMfPV2xPMG1tskco4enTx70HA0VtMXecerpvbg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.2.tgz", + "integrity": "sha512-tQXGSu7IO07gsYlGy3VgXRVsbOWqFBMbqAUrJSc1PDTQQ5Qdm+QVwkP0OC0jnUZ62D19iPgXOMO+tnWG+HhjNQ==", "dev": true, "requires": { - "@inquirer/core": "^10.0.1", - "@inquirer/type": "^3.0.0", + "@inquirer/core": "^10.1.0", + "@inquirer/type": "^3.0.1", "ansi-escapes": "^4.3.2" } }, "@inquirer/prompts": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.0.1.tgz", - "integrity": "sha512-cu2CpGC2hz7WTt2VBvdkzahDvYice6vYA/8Dm7Fy3tRNzKuQTF2EY3CV4H2GamveWE6tA2XzyXtbWX8+t4WMQg==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.1.0.tgz", + "integrity": "sha512-5U/XiVRH2pp1X6gpNAjWOglMf38/Ys522ncEHIKT1voRUvSj/DQnR22OVxHnwu5S+rCFaUiPQ57JOtMFQayqYA==", "dev": true, "requires": { - "@inquirer/checkbox": "^4.0.1", - "@inquirer/confirm": "^5.0.1", - "@inquirer/editor": "^4.0.1", - "@inquirer/expand": "^4.0.1", - "@inquirer/input": "^4.0.1", - "@inquirer/number": "^3.0.1", - "@inquirer/password": "^4.0.1", - "@inquirer/rawlist": "^4.0.1", - "@inquirer/search": "^3.0.1", - "@inquirer/select": "^4.0.1" + "@inquirer/checkbox": "^4.0.2", + "@inquirer/confirm": "^5.0.2", + "@inquirer/editor": "^4.1.0", + "@inquirer/expand": "^4.0.2", + "@inquirer/input": "^4.0.2", + "@inquirer/number": "^3.0.2", + "@inquirer/password": "^4.0.2", + "@inquirer/rawlist": "^4.0.2", + "@inquirer/search": "^3.0.2", + "@inquirer/select": "^4.0.2" } }, "@inquirer/rawlist": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.0.1.tgz", - "integrity": "sha512-0LuMOgaWs7W8JNcbiKkoFwyWFDEeCmLqDCygF0hidQUVa6J5grFVRZxrpompiWDFM49Km2rf7WoZwRo1uf1yWQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.0.2.tgz", + "integrity": "sha512-3XGcskMoVF8H0Dl1S5TSZ3rMPPBWXRcM0VeNVsS4ByWeWjSeb0lPqfnBg6N7T0608I1B2bSVnbi2cwCrmOD1Yw==", "dev": true, "requires": { - "@inquirer/core": "^10.0.1", - "@inquirer/type": "^3.0.0", + "@inquirer/core": "^10.1.0", + "@inquirer/type": "^3.0.1", "yoctocolors-cjs": "^2.1.2" } }, "@inquirer/search": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.0.1.tgz", - "integrity": "sha512-ehMqjiO0pAf+KtdONKeCLVy4i3fy3feyRRhDrvzWhiwB8JccgKn7eHFr39l+Nx/FaZAhr0YxIJvkK5NuNvG+Ww==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.0.2.tgz", + "integrity": "sha512-Zv4FC7w4dJ13BOJfKRQCICQfShinGjb1bCEIHxTSnjj2telu3+3RHwHubPG9HyD4aix5s+lyAMEK/wSFD75HLA==", "dev": true, "requires": { - "@inquirer/core": "^10.0.1", - "@inquirer/figures": "^1.0.7", - "@inquirer/type": "^3.0.0", + "@inquirer/core": "^10.1.0", + "@inquirer/figures": "^1.0.8", + "@inquirer/type": "^3.0.1", "yoctocolors-cjs": "^2.1.2" } }, "@inquirer/select": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.0.1.tgz", - "integrity": "sha512-tVRatFRGU49bxFCKi/3P+C0E13KZduNFbWuHWRx0L2+jbiyKRpXgHp9qiRHWRk/KarhYBXzH/di6w3VQ5aJd5w==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.0.2.tgz", + "integrity": "sha512-uSWUzaSYAEj0hlzxa1mUB6VqrKaYx0QxGBLZzU4xWFxaSyGaXxsSE4OSOwdU24j0xl8OajgayqFXW0l2bkl2kg==", "dev": true, "requires": { - "@inquirer/core": "^10.0.1", - "@inquirer/figures": "^1.0.7", - "@inquirer/type": "^3.0.0", + "@inquirer/core": "^10.1.0", + "@inquirer/figures": "^1.0.8", + "@inquirer/type": "^3.0.1", "ansi-escapes": "^4.3.2", "yoctocolors-cjs": "^2.1.2" } }, "@inquirer/type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.0.tgz", - "integrity": "sha512-YYykfbw/lefC7yKj7nanzQXILM7r3suIvyFlCcMskc99axmsSewXWkAfXKwMbgxL76iAFVmRwmYdwNZNc8gjog==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.1.tgz", + "integrity": "sha512-+ksJMIy92sOAiAccGpcKZUc3bYO07cADnscIxHBknEm3uNts3movSmBofc1908BNy5edKscxYeAdaX1NXkHS6A==", "dev": true }, "@isaacs/cliui": { @@ -24920,9 +24768,9 @@ "dev": true }, "@listr2/prompt-adapter-inquirer": { - "version": "2.0.17", - "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-2.0.17.tgz", - "integrity": "sha512-RqeiaslWDOP6d5QqQdg+PxB3sC5QBTnti84LEzYtxRsQlHf5+IzFiJOhrnHIxuaEwtbtlU8pugIcc6e6lrobkQ==", + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-2.0.18.tgz", + "integrity": "sha512-0hz44rAcrphyXcA8IS7EJ2SCoaBZD2u5goE8S/e+q/DL+dOGpqpcLidVOFeLG3VgML62SXmfRLAhWt0zL1oW4Q==", "dev": true, "requires": { "@inquirer/type": "^1.5.5" @@ -24946,44 +24794,44 @@ } }, "@lmdb/lmdb-darwin-arm64": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.1.4.tgz", - "integrity": "sha512-bXwBegGNDGAlshGqUmV8MxVFPsqEpU2yWWxoJ4AA4UkEd7gA1Rzh7KtvM5Tww0dQfp5t+P/SjNV3vjpAgof+uA==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.1.5.tgz", + "integrity": "sha512-ue5PSOzHMCIYrfvPP/MRS6hsKKLzqqhcdAvJCO8uFlDdj598EhgnacuOTuqA6uBK5rgiZXfDWyb7DVZSiBKxBA==", "dev": true, "optional": true }, "@lmdb/lmdb-darwin-x64": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.1.4.tgz", - "integrity": "sha512-cb1/yeoUfWhVWqo8VImUWo6bXVn57AHPX98VqIkpfRw5Yh0z2DHPBZmsELb1OLJKeikAAOyxM+vPWRJYtAg9rw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.1.5.tgz", + "integrity": "sha512-CGhsb0R5vE6mMNCoSfxHFD8QTvBHM51gs4DBeigTYHWnYv2V5YpJkC4rMo5qAAFifuUcc0+a8a3SIU0c9NrfNw==", "dev": true, "optional": true }, "@lmdb/lmdb-linux-arm": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.1.4.tgz", - "integrity": "sha512-9O3kU6i7crV0vi+ImbZG6SkD+T8sxjbugq4pY424tjV8X/EjSfs1E0n25We5Z7qpJFxZSJZKsv40tJlz1w4pLg==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.1.5.tgz", + "integrity": "sha512-3WeW328DN+xB5PZdhSWmqE+t3+44xWXEbqQ+caWJEZfOFdLp9yklBZEbVqVdqzznkoaXJYxTCp996KD6HmANeg==", "dev": true, "optional": true }, "@lmdb/lmdb-linux-arm64": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.1.4.tgz", - "integrity": "sha512-Hs1cmv8SKEkczsiQbRYVeqI7vzpJ0LI29RyeaVNDDFJxzoua7IcuyG0wSXu12kpXlGTTLVOh1Wp4rK79Ixpxmg==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.1.5.tgz", + "integrity": "sha512-LAjaoOcBHGj6fiYB8ureiqPoph4eygbXu4vcOF+hsxiY74n8ilA7rJMmGUT0K0JOB5lmRQHSmor3mytRjS4qeQ==", "dev": true, "optional": true }, "@lmdb/lmdb-linux-x64": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.1.4.tgz", - "integrity": "sha512-e/xPxFjSBzuN7/nb5WBYO1t9X1NBiNYy+gvWB3rb95K2W5qJU9fnjx+CNFp7ucvQZWF08EsVzMBa7eXKGGmHjg==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.1.5.tgz", + "integrity": "sha512-k/IklElP70qdCXOQixclSl2GPLFiopynGoKX1FqDd1/H0E3Fo1oPwjY2rEVu+0nS3AOw1sryStdXk8CW3cVIsw==", "dev": true, "optional": true }, "@lmdb/lmdb-win32-x64": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.1.4.tgz", - "integrity": "sha512-mUcWgKmpbquKaDEcJ+FBtJpcqHvJW2Ce+GKMP/B/Hm9IxGjUfGs0aGlax2Nh/mjzXx/7qfwyCGD8y+KXfDuMsA==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.1.5.tgz", + "integrity": "sha512-KYar6W8nraZfSJspcK7Kp7hdj238X/FNauYbZyrqPBrtsXI1hvI4/KcRcRGP50aQoV7fkKDyJERlrQGMGTZUsA==", "dev": true, "optional": true }, @@ -25167,9 +25015,9 @@ "optional": true }, "@ngtools/webpack": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-19.0.0-rc.1.tgz", - "integrity": "sha512-0NrAnfodGdJYND9MG7PGlTf2rBydRl0zUBSLjbpxMygxfSXix0ZBqgmojr/1bsBr6wksoVRvPmsDwP6Ad0R19A==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-19.0.0.tgz", + "integrity": "sha512-UuLK1P184R12l6obaVzGk5yzCMQNwfahlkhNapbntvvFw27O76nEYVFM5y8tPkhC3XrsH4v6Ag21q+WADkR9jQ==", "dev": true }, "@ngxs/storage-plugin": { @@ -25233,36 +25081,11 @@ "socks-proxy-agent": "^8.0.3" }, "dependencies": { - "debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "requires": { - "ms": "^2.1.3" - } - }, - "https-proxy-agent": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", - "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", - "dev": true, - "requires": { - "agent-base": "^7.0.2", - "debug": "4" - } - }, "lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true } } }, @@ -25621,12 +25444,12 @@ "dev": true }, "@playwright/test": { - "version": "1.48.2", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.48.2.tgz", - "integrity": "sha512-54w1xCWfXuax7dz4W2M9uw0gDyh+ti/0K/MxcCUxChFh37kkdxPdfZDw5QBbuPUJHr1CiHJ1hXgSs+GgeQc5Zw==", + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.49.0.tgz", + "integrity": "sha512-DMulbwQURa8rNIQrf94+jPJQ4FmOVdpE5ZppRNvWVjvhC+6sOeo28r8MgIpQRYouXRtt/FCCXU7zn20jnHR4Qw==", "dev": true, "requires": { - "playwright": "1.48.2" + "playwright": "1.49.0" } }, "@rollup/plugin-json": { @@ -25650,128 +25473,128 @@ } }, "@rollup/rollup-android-arm-eabi": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.4.tgz", - "integrity": "sha512-jfUJrFct/hTA0XDM5p/htWKoNNTbDLY0KRwEt6pyOA6k2fmk0WVwl65PdUdJZgzGEHWx+49LilkcSaumQRyNQw==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.26.0.tgz", + "integrity": "sha512-gJNwtPDGEaOEgejbaseY6xMFu+CPltsc8/T+diUTTbOQLqD+bnrJq9ulH6WD69TqwqWmrfRAtUv30cCFZlbGTQ==", "dev": true, "optional": true }, "@rollup/rollup-android-arm64": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.4.tgz", - "integrity": "sha512-j4nrEO6nHU1nZUuCfRKoCcvh7PIywQPUCBa2UsootTHvTHIoIu2BzueInGJhhvQO/2FTRdNYpf63xsgEqH9IhA==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.26.0.tgz", + "integrity": "sha512-YJa5Gy8mEZgz5JquFruhJODMq3lTHWLm1fOy+HIANquLzfIOzE9RA5ie3JjCdVb9r46qfAQY/l947V0zfGJ0OQ==", "dev": true, "optional": true }, "@rollup/rollup-darwin-arm64": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.4.tgz", - "integrity": "sha512-GmU/QgGtBTeraKyldC7cDVVvAJEOr3dFLKneez/n7BvX57UdhOqDsVwzU7UOnYA7AAOt+Xb26lk79PldDHgMIQ==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.26.0.tgz", + "integrity": "sha512-ErTASs8YKbqTBoPLp/kA1B1Um5YSom8QAc4rKhg7b9tyyVqDBlQxy7Bf2wW7yIlPGPg2UODDQcbkTlruPzDosw==", "dev": true, "optional": true }, "@rollup/rollup-darwin-x64": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.4.tgz", - "integrity": "sha512-N6oDBiZCBKlwYcsEPXGDE4g9RoxZLK6vT98M8111cW7VsVJFpNEqvJeIPfsCzbf0XEakPslh72X0gnlMi4Ddgg==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.26.0.tgz", + "integrity": "sha512-wbgkYDHcdWW+NqP2mnf2NOuEbOLzDblalrOWcPyY6+BRbVhliavon15UploG7PpBRQ2bZJnbmh8o3yLoBvDIHA==", "dev": true, "optional": true }, "@rollup/rollup-freebsd-arm64": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.24.4.tgz", - "integrity": "sha512-py5oNShCCjCyjWXCZNrRGRpjWsF0ic8f4ieBNra5buQz0O/U6mMXCpC1LvrHuhJsNPgRt36tSYMidGzZiJF6mw==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.26.0.tgz", + "integrity": "sha512-Y9vpjfp9CDkAG4q/uwuhZk96LP11fBz/bYdyg9oaHYhtGZp7NrbkQrj/66DYMMP2Yo/QPAsVHkV891KyO52fhg==", "dev": true, "optional": true }, "@rollup/rollup-freebsd-x64": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.24.4.tgz", - "integrity": "sha512-L7VVVW9FCnTTp4i7KrmHeDsDvjB4++KOBENYtNYAiYl96jeBThFfhP6HVxL74v4SiZEVDH/1ILscR5U9S4ms4g==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.26.0.tgz", + "integrity": "sha512-A/jvfCZ55EYPsqeaAt/yDAG4q5tt1ZboWMHEvKAH9Zl92DWvMIbnZe/f/eOXze65aJaaKbL+YeM0Hz4kLQvdwg==", "dev": true, "optional": true }, "@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.4.tgz", - "integrity": "sha512-10ICosOwYChROdQoQo589N5idQIisxjaFE/PAnX2i0Zr84mY0k9zul1ArH0rnJ/fpgiqfu13TFZR5A5YJLOYZA==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.26.0.tgz", + "integrity": "sha512-paHF1bMXKDuizaMODm2bBTjRiHxESWiIyIdMugKeLnjuS1TCS54MF5+Y5Dx8Ui/1RBPVRE09i5OUlaLnv8OGnA==", "dev": true, "optional": true }, "@rollup/rollup-linux-arm-musleabihf": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.4.tgz", - "integrity": "sha512-ySAfWs69LYC7QhRDZNKqNhz2UKN8LDfbKSMAEtoEI0jitwfAG2iZwVqGACJT+kfYvvz3/JgsLlcBP+WWoKCLcw==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.26.0.tgz", + "integrity": "sha512-cwxiHZU1GAs+TMxvgPfUDtVZjdBdTsQwVnNlzRXC5QzIJ6nhfB4I1ahKoe9yPmoaA/Vhf7m9dB1chGPpDRdGXg==", "dev": true, "optional": true }, "@rollup/rollup-linux-arm64-gnu": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.4.tgz", - "integrity": "sha512-uHYJ0HNOI6pGEeZ/5mgm5arNVTI0nLlmrbdph+pGXpC9tFHFDQmDMOEqkmUObRfosJqpU8RliYoGz06qSdtcjg==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.26.0.tgz", + "integrity": "sha512-4daeEUQutGRCW/9zEo8JtdAgtJ1q2g5oHaoQaZbMSKaIWKDQwQ3Yx0/3jJNmpzrsScIPtx/V+1AfibLisb3AMQ==", "dev": true, "optional": true }, "@rollup/rollup-linux-arm64-musl": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.4.tgz", - "integrity": "sha512-38yiWLemQf7aLHDgTg85fh3hW9stJ0Muk7+s6tIkSUOMmi4Xbv5pH/5Bofnsb6spIwD5FJiR+jg71f0CH5OzoA==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.26.0.tgz", + "integrity": "sha512-eGkX7zzkNxvvS05ROzJ/cO/AKqNvR/7t1jA3VZDi2vRniLKwAWxUr85fH3NsvtxU5vnUUKFHKh8flIBdlo2b3Q==", "dev": true, "optional": true }, "@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.4.tgz", - "integrity": "sha512-q73XUPnkwt9ZNF2xRS4fvneSuaHw2BXuV5rI4cw0fWYVIWIBeDZX7c7FWhFQPNTnE24172K30I+dViWRVD9TwA==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.26.0.tgz", + "integrity": "sha512-Odp/lgHbW/mAqw/pU21goo5ruWsytP7/HCC/liOt0zcGG0llYWKrd10k9Fj0pdj3prQ63N5yQLCLiE7HTX+MYw==", "dev": true, "optional": true }, "@rollup/rollup-linux-riscv64-gnu": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.4.tgz", - "integrity": "sha512-Aie/TbmQi6UXokJqDZdmTJuZBCU3QBDA8oTKRGtd4ABi/nHgXICulfg1KI6n9/koDsiDbvHAiQO3YAUNa/7BCw==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.26.0.tgz", + "integrity": "sha512-MBR2ZhCTzUgVD0OJdTzNeF4+zsVogIR1U/FsyuFerwcqjZGvg2nYe24SAHp8O5sN8ZkRVbHwlYeHqcSQ8tcYew==", "dev": true, "optional": true }, "@rollup/rollup-linux-s390x-gnu": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.4.tgz", - "integrity": "sha512-P8MPErVO/y8ohWSP9JY7lLQ8+YMHfTI4bAdtCi3pC2hTeqFJco2jYspzOzTUB8hwUWIIu1xwOrJE11nP+0JFAQ==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.26.0.tgz", + "integrity": "sha512-YYcg8MkbN17fMbRMZuxwmxWqsmQufh3ZJFxFGoHjrE7bv0X+T6l3glcdzd7IKLiwhT+PZOJCblpnNlz1/C3kGQ==", "dev": true, "optional": true }, "@rollup/rollup-linux-x64-gnu": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.4.tgz", - "integrity": "sha512-K03TljaaoPK5FOyNMZAAEmhlyO49LaE4qCsr0lYHUKyb6QacTNF9pnfPpXnFlFD3TXuFbFbz7tJ51FujUXkXYA==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.26.0.tgz", + "integrity": "sha512-ZuwpfjCwjPkAOxpjAEjabg6LRSfL7cAJb6gSQGZYjGhadlzKKywDkCUnJ+KEfrNY1jH5EEoSIKLCb572jSiglA==", "dev": true, "optional": true }, "@rollup/rollup-linux-x64-musl": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.4.tgz", - "integrity": "sha512-VJYl4xSl/wqG2D5xTYncVWW+26ICV4wubwN9Gs5NrqhJtayikwCXzPL8GDsLnaLU3WwhQ8W02IinYSFJfyo34Q==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.26.0.tgz", + "integrity": "sha512-+HJD2lFS86qkeF8kNu0kALtifMpPCZU80HvwztIKnYwym3KnA1os6nsX4BGSTLtS2QVAGG1P3guRgsYyMA0Yhg==", "dev": true, "optional": true }, "@rollup/rollup-win32-arm64-msvc": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.4.tgz", - "integrity": "sha512-ku2GvtPwQfCqoPFIJCqZ8o7bJcj+Y54cZSr43hHca6jLwAiCbZdBUOrqE6y29QFajNAzzpIOwsckaTFmN6/8TA==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.26.0.tgz", + "integrity": "sha512-WUQzVFWPSw2uJzX4j6YEbMAiLbs0BUysgysh8s817doAYhR5ybqTI1wtKARQKo6cGop3pHnrUJPFCsXdoFaimQ==", "dev": true, "optional": true }, "@rollup/rollup-win32-ia32-msvc": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.4.tgz", - "integrity": "sha512-V3nCe+eTt/W6UYNr/wGvO1fLpHUrnlirlypZfKCT1fG6hWfqhPgQV/K/mRBXBpxc0eKLIF18pIOFVPh0mqHjlg==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.26.0.tgz", + "integrity": "sha512-D4CxkazFKBfN1akAIY6ieyOqzoOoBV1OICxgUblWxff/pSjCA2khXlASUx7mK6W1oP4McqhgcCsu6QaLj3WMWg==", "dev": true, "optional": true }, "@rollup/rollup-win32-x64-msvc": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.4.tgz", - "integrity": "sha512-LTw1Dfd0mBIEqUVCxbvTE/LLo+9ZxVC9k99v1v4ahg9Aak6FpqOfNu5kRkeTAn0wphoC4JU7No1/rL+bBCEwhg==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.26.0.tgz", + "integrity": "sha512-2x8MO1rm4PGEP0xWbubJW5RtbNLk3puzAMaLQd3B3JHVw4KcHlmXcO+Wewx9zCoo7EUFiMlu/aZbCJ7VjMzAag==", "dev": true, "optional": true }, @@ -25792,13 +25615,13 @@ "dev": true }, "@schematics/angular": { - "version": "19.0.0-rc.1", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-19.0.0-rc.1.tgz", - "integrity": "sha512-ognh6k5b6r8SGaYiUVMeW+TM4nwvq/VIkhVY8vnbkSWCoywaRUh7IFbwQ1UlCkc2WAogSR+4lmv6cEsy5X72NQ==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-19.0.0.tgz", + "integrity": "sha512-2U8dlhURoQfS99ZF67RVeARFeJn4Z0Lg2dfYbGj+ooRH5YMtAZq8zAIRCfyC3OMiJEZM6BbGigCD6gNoAhP0RQ==", "dev": true, "requires": { - "@angular-devkit/core": "19.0.0-rc.1", - "@angular-devkit/schematics": "19.0.0-rc.1", + "@angular-devkit/core": "19.0.0", + "@angular-devkit/schematics": "19.0.0", "jsonc-parser": "3.3.1" } }, @@ -25894,15 +25717,6 @@ "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", "dev": true }, - "debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "requires": { - "ms": "^2.1.3" - } - }, "glob": { "version": "10.4.5", "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", @@ -25917,16 +25731,6 @@ "path-scurry": "^1.11.1" } }, - "https-proxy-agent": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", - "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", - "dev": true, - "requires": { - "agent-base": "^7.0.2", - "debug": "4" - } - }, "jackspeak": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", @@ -26008,12 +25812,6 @@ "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", "dev": true }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, "negotiator": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", @@ -26390,9 +26188,9 @@ "dev": true }, "@types/node": { - "version": "22.9.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.0.tgz", - "integrity": "sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==", + "version": "22.9.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.1.tgz", + "integrity": "sha512-p8Yy/8sw1caA8CdRIQBG5tiLHmxtQKObCijiAa9Ez+d4+PRffM4054xbju0msf+cvhJpnFEeNjxmVT/0ipktrg==", "dev": true, "requires": { "undici-types": "~6.19.8" @@ -29105,9 +28903,9 @@ } }, "eslint-plugin-jsdoc": { - "version": "50.4.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-50.4.3.tgz", - "integrity": "sha512-uWtwFxGRv6B8sU63HZM5dAGDhgsatb+LONwmILZJhdRALLOkCX2HFZhdL/Kw2ls8SQMAVEfK+LmnEfxInRN8HA==", + "version": "50.5.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-50.5.0.tgz", + "integrity": "sha512-xTkshfZrUbiSHXBwZ/9d5ulZ2OcHXxSvm/NPo494H/hadLRJwOq5PMV0EUpMqsb9V+kQo+9BAgi6Z7aJtdBp2A==", "dev": true, "requires": { "@es-joy/jsdoccomment": "~0.49.0", @@ -30193,6 +29991,33 @@ } } }, + "https-proxy-agent": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", + "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", + "dev": true, + "requires": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "dependencies": { + "debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "requires": { + "ms": "^2.1.3" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, "human-signals": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", @@ -30278,9 +30103,9 @@ "optional": true }, "immutable": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", - "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.0.3.tgz", + "integrity": "sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw==", "dev": true }, "import-fresh": { @@ -31298,22 +31123,22 @@ } }, "lmdb": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.1.4.tgz", - "integrity": "sha512-M3P0HBm0e6SUCrWqMf+wjs5LTRQekh1TtC10e3NjCfLECCXLRXHFROG2kErdyyv2MQ5335Qvb3KQKCSLUuwUDg==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.1.5.tgz", + "integrity": "sha512-46Mch5Drq+A93Ss3gtbg+Xuvf5BOgIuvhKDWoGa3HcPHI6BL2NCOkRdSx1D4VfzwrxhnsjbyIVsLRlQHu6URvw==", "dev": true, "optional": true, "requires": { - "@lmdb/lmdb-darwin-arm64": "3.1.4", - "@lmdb/lmdb-darwin-x64": "3.1.4", - "@lmdb/lmdb-linux-arm": "3.1.4", - "@lmdb/lmdb-linux-arm64": "3.1.4", - "@lmdb/lmdb-linux-x64": "3.1.4", - "@lmdb/lmdb-win32-x64": "3.1.4", - "msgpackr": "^1.10.2", + "@lmdb/lmdb-darwin-arm64": "3.1.5", + "@lmdb/lmdb-darwin-x64": "3.1.5", + "@lmdb/lmdb-linux-arm": "3.1.5", + "@lmdb/lmdb-linux-arm64": "3.1.5", + "@lmdb/lmdb-linux-x64": "3.1.5", + "@lmdb/lmdb-win32-x64": "3.1.5", + "msgpackr": "^1.11.2", "node-addon-api": "^6.1.0", "node-gyp-build-optional-packages": "5.2.2", - "ordered-binary": "^1.5.2", + "ordered-binary": "^1.5.3", "weak-lru-cache": "^1.2.2" } }, @@ -32079,9 +31904,9 @@ "dev": true }, "ng-packagr": { - "version": "19.0.0-rc.0", - "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-19.0.0-rc.0.tgz", - "integrity": "sha512-s+9tynvmsqNflv4qM8/Fli/Mv2omFTpau7bWlgjakHBh5GCNM2YHu1rqUsc70JWmOmHDQ9LHTvxQyD5VdF3msg==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-19.0.0.tgz", + "integrity": "sha512-CKJlpZO6sL3+RpXbmtH7wEHnqgktOkmvmoUpTUUuNOA6m3JRypvDZHW29hFzvgFkxTJI13QHuBWauuG42rtIUA==", "dev": true, "requires": { "@rollup/plugin-json": "^6.1.0", @@ -32466,15 +32291,6 @@ "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", "dev": true }, - "debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "requires": { - "ms": "^2.1.3" - } - }, "glob": { "version": "10.4.5", "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", @@ -32489,16 +32305,6 @@ "path-scurry": "^1.11.1" } }, - "https-proxy-agent": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", - "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", - "dev": true, - "requires": { - "agent-base": "^7.0.2", - "debug": "4" - } - }, "jackspeak": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", @@ -32580,12 +32386,6 @@ "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", "dev": true }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, "negotiator": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", @@ -32868,7 +32668,7 @@ "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", "dev": true }, "p-limit": { @@ -33314,13 +33114,13 @@ } }, "playwright": { - "version": "1.48.2", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.48.2.tgz", - "integrity": "sha512-NjYvYgp4BPmiwfe31j4gHLa3J7bD2WiBz8Lk2RoSsmX38SVIARZ18VYjxLjAcDsAhA+F4iSEXTSGgjua0rrlgQ==", + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.49.0.tgz", + "integrity": "sha512-eKpmys0UFDnfNb3vfsf8Vx2LEOtflgRebl0Im2eQQnYMA4Aqd+Zw8bEOB+7ZKvN76901mRnqdsiOGKxzVTbi7A==", "dev": true, "requires": { "fsevents": "2.3.2", - "playwright-core": "1.48.2" + "playwright-core": "1.49.0" }, "dependencies": { "fsevents": { @@ -33333,9 +33133,9 @@ } }, "playwright-core": { - "version": "1.48.2", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.48.2.tgz", - "integrity": "sha512-sjjw+qrLFlriJo64du+EK0kJgZzoQPsabGF4lBvsid+3CNIZIYLgnMj9V6JY5VhM2Peh20DJWIVpVljLLnlawA==", + "version": "1.49.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.49.0.tgz", + "integrity": "sha512-R+3KKTQF3npy5GTiKH/T+kdhoJfJojjHESR1YEWhYuEKRVfVaxH3+4+GvXE5xyCngCxhxnykk0Vlah9v8fs3jA==", "dev": true }, "playwright-ng-schematics": { @@ -33443,13 +33243,13 @@ "dev": true }, "postcss": { - "version": "8.4.47", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", - "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "version": "8.4.49", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", "dev": true, "requires": { "nanoid": "^3.3.7", - "picocolors": "^1.1.0", + "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, @@ -34043,29 +33843,29 @@ "dev": true }, "rollup": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.4.tgz", - "integrity": "sha512-vGorVWIsWfX3xbcyAS+I047kFKapHYivmkaT63Smj77XwvLSJos6M1xGqZnBPFQFBRZDOcG1QnYEIxAvTr/HjA==", - "dev": true, - "requires": { - "@rollup/rollup-android-arm-eabi": "4.24.4", - "@rollup/rollup-android-arm64": "4.24.4", - "@rollup/rollup-darwin-arm64": "4.24.4", - "@rollup/rollup-darwin-x64": "4.24.4", - "@rollup/rollup-freebsd-arm64": "4.24.4", - "@rollup/rollup-freebsd-x64": "4.24.4", - "@rollup/rollup-linux-arm-gnueabihf": "4.24.4", - "@rollup/rollup-linux-arm-musleabihf": "4.24.4", - "@rollup/rollup-linux-arm64-gnu": "4.24.4", - "@rollup/rollup-linux-arm64-musl": "4.24.4", - "@rollup/rollup-linux-powerpc64le-gnu": "4.24.4", - "@rollup/rollup-linux-riscv64-gnu": "4.24.4", - "@rollup/rollup-linux-s390x-gnu": "4.24.4", - "@rollup/rollup-linux-x64-gnu": "4.24.4", - "@rollup/rollup-linux-x64-musl": "4.24.4", - "@rollup/rollup-win32-arm64-msvc": "4.24.4", - "@rollup/rollup-win32-ia32-msvc": "4.24.4", - "@rollup/rollup-win32-x64-msvc": "4.24.4", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.26.0.tgz", + "integrity": "sha512-ilcl12hnWonG8f+NxU6BlgysVA0gvY2l8N0R84S1HcINbW20bvwuCngJkkInV6LXhwRpucsW5k1ovDwEdBVrNg==", + "dev": true, + "requires": { + "@rollup/rollup-android-arm-eabi": "4.26.0", + "@rollup/rollup-android-arm64": "4.26.0", + "@rollup/rollup-darwin-arm64": "4.26.0", + "@rollup/rollup-darwin-x64": "4.26.0", + "@rollup/rollup-freebsd-arm64": "4.26.0", + "@rollup/rollup-freebsd-x64": "4.26.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.26.0", + "@rollup/rollup-linux-arm-musleabihf": "4.26.0", + "@rollup/rollup-linux-arm64-gnu": "4.26.0", + "@rollup/rollup-linux-arm64-musl": "4.26.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.26.0", + "@rollup/rollup-linux-riscv64-gnu": "4.26.0", + "@rollup/rollup-linux-s390x-gnu": "4.26.0", + "@rollup/rollup-linux-x64-gnu": "4.26.0", + "@rollup/rollup-linux-x64-musl": "4.26.0", + "@rollup/rollup-win32-arm64-msvc": "4.26.0", + "@rollup/rollup-win32-ia32-msvc": "4.26.0", + "@rollup/rollup-win32-x64-msvc": "4.26.0", "@types/estree": "1.0.6", "fsevents": "~2.3.2" } @@ -34137,14 +33937,14 @@ "dev": true }, "sass": { - "version": "1.80.6", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.80.6.tgz", - "integrity": "sha512-ccZgdHNiBF1NHBsWvacvT5rju3y1d/Eu+8Ex6c21nHp2lZGLBEtuwc415QfiI1PJa1TpCo3iXwwSRjRpn2Ckjg==", + "version": "1.80.7", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.80.7.tgz", + "integrity": "sha512-MVWvN0u5meytrSjsU7AWsbhoXi1sc58zADXFllfZzbsBT1GHjjar6JwBINYPRrkx/zqnQ6uqbQuHgE95O+C+eQ==", "dev": true, "requires": { "@parcel/watcher": "^2.4.1", "chokidar": "^4.0.0", - "immutable": "^4.0.0", + "immutable": "^5.0.2", "source-map-js": ">=0.6.2 <2.0.0" }, "dependencies": { @@ -35382,16 +35182,6 @@ "path-scurry": "^1.11.1" } }, - "https-proxy-agent": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", - "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", - "dev": true, - "requires": { - "agent-base": "^7.0.2", - "debug": "4" - } - }, "jackspeak": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", @@ -35817,9 +35607,9 @@ } }, "vite": { - "version": "5.4.10", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.10.tgz", - "integrity": "sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==", + "version": "5.4.11", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.11.tgz", + "integrity": "sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==", "dev": true, "requires": { "esbuild": "^0.21.3", @@ -36424,12 +36214,12 @@ "dev": true }, "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" } } } diff --git a/package.json b/package.json index 423ecd1a..f36a6e25 100644 --- a/package.json +++ b/package.json @@ -62,18 +62,18 @@ }, "private": true, "dependencies": { - "@angular/animations": "^19.0.0-rc.1", - "@angular/cdk": "^19.0.0-rc.1", - "@angular/common": "^19.0.0-rc.1", - "@angular/compiler": "^19.0.0-rc.1", - "@angular/core": "^19.0.0-rc.1", - "@angular/forms": "^19.0.0-rc.1", - "@angular/material": "^19.0.0-rc.1", - "@angular/platform-browser": "^19.0.0-rc.1", - "@angular/platform-browser-dynamic": "^19.0.0-rc.1", - "@angular/platform-server": "^19.0.0-rc.1", - "@angular/router": "^19.0.0-rc.1", - "@angular/ssr": "^19.0.0-rc.1", + "@angular/animations": "^19.0.0", + "@angular/cdk": "^19.0.0", + "@angular/common": "^19.0.0", + "@angular/compiler": "^19.0.0", + "@angular/core": "^19.0.0", + "@angular/forms": "^19.0.0", + "@angular/material": "^19.0.0", + "@angular/platform-browser": "^19.0.0", + "@angular/platform-browser-dynamic": "^19.0.0", + "@angular/platform-server": "^19.0.0", + "@angular/router": "^19.0.0", + "@angular/ssr": "^19.0.0", "@ngxs/storage-plugin": "^18.1.4", "@ngxs/store": "^18.1.4", "bootstrap": "^5.2.3", @@ -86,23 +86,23 @@ "zone.js": "~0.15.0" }, "devDependencies": { - "@angular-devkit/build-angular": "^19.0.0-rc.1", - "@angular-devkit/core": "^19.0.0-rc.1", - "@angular-devkit/schematics": "^19.0.0-rc.1", + "@angular-devkit/build-angular": "^19.0.0", + "@angular-devkit/core": "^19.0.0", + "@angular-devkit/schematics": "^19.0.0", "@angular-eslint/builder": "^18.4.0", "@angular-eslint/eslint-plugin": "^18.4.0", "@angular-eslint/eslint-plugin-template": "^18.4.0", "@angular-eslint/schematics": "^18.4.0", "@angular-eslint/template-parser": "^18.4.0", - "@angular/cli": "^19.0.0-rc.1", - "@angular/compiler-cli": "^19.0.0-rc.1", - "@angular/language-service": "^19.0.0-rc.1", + "@angular/cli": "^19.0.0", + "@angular/compiler-cli": "^19.0.0", + "@angular/language-service": "^19.0.0", "@compodoc/compodoc": "^1.1.26", - "@playwright/test": "1.48.2", + "@playwright/test": "1.49.0", "@types/inputmask": "^5.0.7", "@types/jasmine": "~5.1.4", "@types/jasminewd2": "~2.0.13", - "@types/node": "~22.9.0", + "@types/node": "~22.9.1", "@types/uuid": "^10.0.0", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", @@ -112,7 +112,7 @@ "eslint-config-prettier": "^9.1.0", "eslint-import-resolver-typescript": "^3.6.3", "eslint-plugin-import": "^2.31.0", - "eslint-plugin-jsdoc": "^50.4.3", + "eslint-plugin-jsdoc": "^50.5.0", "eslint-plugin-prefer-arrow": "^1.2.3", "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-unused-imports": "^3.2.0", @@ -125,7 +125,7 @@ "karma-jasmine-html-reporter": "^2.1.0", "karma-junit-reporter": "^2.0.1", "ng-mocks": "^14.13.1", - "ng-packagr": "^19.0.0-rc.0", + "ng-packagr": "^19.0.0", "playwright-ng-schematics": "^1.1.1", "prettier": "^3.3.3", "prettier-eslint": "^16.3.0", diff --git a/tsconfig.json b/tsconfig.json index 6455b5b8..9028a26a 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -54,7 +54,8 @@ "fullTemplateTypeCheck": true, "skipTemplateCodegen": true, "strictInjectionParameters": true, - "strictMetadataEmit": true + "strictMetadataEmit": true, + "strictStandalone": true }, "exclude": [ "node_modules/**/*", From b788854e7fc6191be3aecb406346751a13435252 Mon Sep 17 00:00:00 2001 From: Alexander Gebuhr Date: Thu, 21 Nov 2024 23:11:39 +0100 Subject: [PATCH 09/20] Improvements --- apps/demo-e2e/src/examples/elements.ts | 77 ++++++++++++--------- apps/demo-e2e/src/examples/examples.spec.ts | 22 ++++-- 2 files changed, 60 insertions(+), 39 deletions(-) diff --git a/apps/demo-e2e/src/examples/elements.ts b/apps/demo-e2e/src/examples/elements.ts index 587ccbfd..fe1bf4e6 100644 --- a/apps/demo-e2e/src/examples/elements.ts +++ b/apps/demo-e2e/src/examples/elements.ts @@ -26,17 +26,18 @@ export class Control { ]; constructor( - public theme: string, - public locator: Locator, - public page: Page, + readonly theme: string, + readonly locator: Locator, + readonly page: Page, ) {} - findInput(css: string): Locator { + locate(css: string): Locator { return this.locator.locator(`css=${css}`).first(); } async isPresent(): Promise { - return (await this.locator.count()) > 0; + const count = await this.locator.count(); + return count > 0; } async isVisible(): Promise { @@ -61,19 +62,19 @@ export class Control { const controlType = await this.getControlType(); switch (controlType) { case 'file': - return new Input(controlType, this, this.findInput('input[type="file"]'), this.page); + return new Input(this.page, controlType, this, this.locate('input:not([type="file"])')); case 'radio': - return new Input(controlType, this, this.findInput('input[type="radio"]'), this.page); + return new Input(this.page, controlType, this, this.locate('input[type="radio"]')); case 'select': - return new Input(controlType, this, this.findInput('select,mat-select'), this.page); + return new Input(this.page, controlType, this, this.locate('select,mat-select')); case 'switch': - return new Input(controlType, this, this.findInput('input[type="checkbox"],mat-slide-toggle'), this.page); + return new Input(this.page, controlType, this, this.locate('input[type="checkbox"],mat-slide-toggle')); case 'textarea': - return new Input(controlType, this, this.findInput('textarea'), this.page); + return new Input(this.page, controlType, this, this.locate('textarea')); case 'toggle': - return new Input(controlType, this, this.findInput('input[type="radio"],mat-button-toggle'), this.page); + return new Input(this.page, controlType, this, this.locate('input[type="radio"],mat-button-toggle')); default: - return new Input(controlType, this, this.findInput('input'), this.page); + return new Input(this.page, controlType, this, this.locate('input')); } } @@ -86,22 +87,25 @@ export class Input { private static readonly inputIdsForFalse = ['hidden-input', 'hidden', 'disabled-input', 'disabled', 'readonly-input', 'readonly']; constructor( - public controlType: string, - public control: Control, - public locator: Locator, - public page: Page, + readonly page: Page, + readonly controlType: string, + readonly control: Control, + readonly locator: Locator, ) {} async isPresent(): Promise { - return (await this.locator.count()) > 0; + const count = await this.locator.count(); + return count > 0; } async isVisible(): Promise { - return this.locator.isVisible(); + return await this.locator.isVisible(); } async isEditable(): Promise { - return (await this.control.isEditable()) && (await this.locator.isEnabled()); + const controlEditable = await this.control.isEditable(); + const inputEditable = await this.locator.isEnabled(); + return controlEditable && inputEditable; } async getInputId(): Promise { @@ -123,20 +127,21 @@ export class Input { } if (this.controlType === 'file') { - const element = this.control.findInput('input:not([type="file"])'); - const files = await element.inputValue(); + const files = await this.locator.inputValue(); return files ? files.trim() : files; } if (this.controlType === 'radio') { - const element = this.control.findInput('input[type="radio"]:checked'); - return (await element.isVisible()) ? true : false; + const element = this.control.locate('input[type="radio"]:checked'); + const elementVisible = await element.isVisible(); + return elementVisible ? true : false; } if (this.controlType === 'select') { if (this.control.theme === 'material') { - const element = this.control.findInput('span.mat-mdc-select-value-text'); - return (await element.isVisible()) ? element.innerText() : null; + const element = this.control.locate('span.mat-mdc-select-value-text'); + const elementVisible = await element.isVisible(); + return elementVisible ? element.innerText() : null; } const element = await this.locator.inputValue(); @@ -144,13 +149,15 @@ export class Input { } if (this.controlType === 'switch') { - const element = this.control.findInput('input[type="checkbox"]:checked,mat-slide-toggle.mat-mdc-slide-toggle-checked'); - return (await element.isVisible()) ? true : false; + const element = this.control.locate('input[type="checkbox"]:checked,mat-slide-toggle.mat-mdc-slide-toggle-checked'); + const elementVisible = await element.isVisible(); + return elementVisible ? true : false; } if (this.controlType === 'toggle') { - const element = this.control.findInput('input[type="radio"]:checked,mat-button-toggle.mat-button-toggle-checked'); - return (await element.isVisible()) ? true : false; + const element = this.control.locate('input[type="radio"]:checked,mat-button-toggle.mat-button-toggle-checked'); + const elementVisible = await element.isVisible(); + return elementVisible ? true : false; } const value = await this.locator.inputValue(); @@ -159,12 +166,15 @@ export class Input { async checkInputValue(): Promise { const inputValue = await this.getInputValue(); - return (await this.isInputForFalse()) ? !inputValue : !!inputValue; + const inputForFalse = await this.isInputForFalse(); + return inputForFalse ? !inputValue : !!inputValue; } async editInputValue(): Promise { if (this.controlType === 'checkbox') { - if ((await this.isInputForFalse()) && !(await this.getInputValue())) { + const inputForFalse = await this.isInputForFalse(); + const inputValue = await this.getInputValue(); + if (inputForFalse && !inputValue) { await this.locator.press(KEY.SPACE); } return this.locator.press(KEY.SPACE); @@ -172,9 +182,9 @@ export class Input { if (this.controlType === 'file') { const fileChooserPromise = this.page.waitForEvent('filechooser'); - await this.control.findInput('button').click(); + await this.control.locate('button').click(); const fileChooser = await fileChooserPromise; - return await fileChooser.setFiles(PATH.resolve(__dirname, 'file.txt')); + return fileChooser.setFiles(PATH.resolve(__dirname, 'file.txt')); } if (this.controlType === 'radio') { @@ -212,6 +222,7 @@ export class Input { } await this.locator.fill(value.toString()); + // await this.locator.fill(value.toString(), { force: true }); return this.locator.press(KEY.TAB); } diff --git a/apps/demo-e2e/src/examples/examples.spec.ts b/apps/demo-e2e/src/examples/examples.spec.ts index 046a0f92..3dea4168 100644 --- a/apps/demo-e2e/src/examples/examples.spec.ts +++ b/apps/demo-e2e/src/examples/examples.spec.ts @@ -129,7 +129,7 @@ test.describe('dynamic-forms demo examples', () => { const itemsWrapper = form.locator('css=.dynamic-form-items'); const items = itemsWrapper.locator( - `css=${theme === 'material' ? '.mat-mdc-tab-body,.mat-expansion-panel' : '.dynamic-form-item'}`, + `css=${theme === 'material' ? '.mat-mdc-tab-body,.mat-expansion-panel-body' : '.dynamic-form-item'}`, ); const itemCount = await items.count(); @@ -146,16 +146,23 @@ test.describe('dynamic-forms demo examples', () => { if (itemCount > 0 && groupIndex > 0 && groupIndex < itemHeaderCount) { const itemHeader = itemsHeaders.nth(groupIndex); - const itemHeaderClassName = await itemHeader.getAttribute('class'); + const itemHeaderClass = await itemHeader.getAttribute('class'); const itemHeaderVisible = await itemHeader.isVisible(); - const itemHeaderDisabled = itemHeaderClassName.includes('disabled'); + const itemHeaderClassDisabled = itemHeaderClass.includes('disabled'); + const itemHeaderAriaDisabled = (await itemHeader.getAttribute('aria-disabled')) === 'true'; + const itemHeaderDisabled = itemHeaderClassDisabled || itemHeaderAriaDisabled; + const itemHeaderExpanded = itemHeaderClass.includes('expanded'); - if (itemHeaderVisible && !itemHeaderDisabled) { + if (itemHeaderDisabled) { + continue; + } + + if (itemHeaderVisible && !itemHeaderDisabled && !itemHeaderExpanded) { await itemHeader.click(); } } - expect(group).toBeVisible(); + await expect(group).toBeVisible(); const groupControls = group.locator('css=div.dynamic-form-control'); const groupControlCount = await groupControls.count(); @@ -182,13 +189,16 @@ test.describe('dynamic-forms demo examples', () => { if (result.inputVisible && result.inputEditable) { const inputValue = await input.getInputValue(); const inputForFalse = await input.isInputForFalse(); + + await expect(input.locator).toBeVisible(); + if ((!inputValue && !inputForFalse) || (inputValue && inputForFalse)) { await input.editInputValue(); } // console.log({ id: result.id, inputValue: await input.getInputValue() }); - expect(await input.checkInputValue()).toBe(true); + expect(await input.checkInputValue(), `input with id '${result.id} failed value check'`).toBe(true); } } From dc8cf4d1a856c2384c5786f8e37c8d47a9db8aec Mon Sep 17 00:00:00 2001 From: Alexander Gebuhr Date: Thu, 21 Nov 2024 23:11:39 +0100 Subject: [PATCH 10/20] Improvements --- apps/demo-e2e/src/examples/elements.ts | 77 ++++++++++++--------- apps/demo-e2e/src/examples/examples.spec.ts | 22 ++++-- 2 files changed, 60 insertions(+), 39 deletions(-) diff --git a/apps/demo-e2e/src/examples/elements.ts b/apps/demo-e2e/src/examples/elements.ts index 587ccbfd..fe1bf4e6 100644 --- a/apps/demo-e2e/src/examples/elements.ts +++ b/apps/demo-e2e/src/examples/elements.ts @@ -26,17 +26,18 @@ export class Control { ]; constructor( - public theme: string, - public locator: Locator, - public page: Page, + readonly theme: string, + readonly locator: Locator, + readonly page: Page, ) {} - findInput(css: string): Locator { + locate(css: string): Locator { return this.locator.locator(`css=${css}`).first(); } async isPresent(): Promise { - return (await this.locator.count()) > 0; + const count = await this.locator.count(); + return count > 0; } async isVisible(): Promise { @@ -61,19 +62,19 @@ export class Control { const controlType = await this.getControlType(); switch (controlType) { case 'file': - return new Input(controlType, this, this.findInput('input[type="file"]'), this.page); + return new Input(this.page, controlType, this, this.locate('input:not([type="file"])')); case 'radio': - return new Input(controlType, this, this.findInput('input[type="radio"]'), this.page); + return new Input(this.page, controlType, this, this.locate('input[type="radio"]')); case 'select': - return new Input(controlType, this, this.findInput('select,mat-select'), this.page); + return new Input(this.page, controlType, this, this.locate('select,mat-select')); case 'switch': - return new Input(controlType, this, this.findInput('input[type="checkbox"],mat-slide-toggle'), this.page); + return new Input(this.page, controlType, this, this.locate('input[type="checkbox"],mat-slide-toggle')); case 'textarea': - return new Input(controlType, this, this.findInput('textarea'), this.page); + return new Input(this.page, controlType, this, this.locate('textarea')); case 'toggle': - return new Input(controlType, this, this.findInput('input[type="radio"],mat-button-toggle'), this.page); + return new Input(this.page, controlType, this, this.locate('input[type="radio"],mat-button-toggle')); default: - return new Input(controlType, this, this.findInput('input'), this.page); + return new Input(this.page, controlType, this, this.locate('input')); } } @@ -86,22 +87,25 @@ export class Input { private static readonly inputIdsForFalse = ['hidden-input', 'hidden', 'disabled-input', 'disabled', 'readonly-input', 'readonly']; constructor( - public controlType: string, - public control: Control, - public locator: Locator, - public page: Page, + readonly page: Page, + readonly controlType: string, + readonly control: Control, + readonly locator: Locator, ) {} async isPresent(): Promise { - return (await this.locator.count()) > 0; + const count = await this.locator.count(); + return count > 0; } async isVisible(): Promise { - return this.locator.isVisible(); + return await this.locator.isVisible(); } async isEditable(): Promise { - return (await this.control.isEditable()) && (await this.locator.isEnabled()); + const controlEditable = await this.control.isEditable(); + const inputEditable = await this.locator.isEnabled(); + return controlEditable && inputEditable; } async getInputId(): Promise { @@ -123,20 +127,21 @@ export class Input { } if (this.controlType === 'file') { - const element = this.control.findInput('input:not([type="file"])'); - const files = await element.inputValue(); + const files = await this.locator.inputValue(); return files ? files.trim() : files; } if (this.controlType === 'radio') { - const element = this.control.findInput('input[type="radio"]:checked'); - return (await element.isVisible()) ? true : false; + const element = this.control.locate('input[type="radio"]:checked'); + const elementVisible = await element.isVisible(); + return elementVisible ? true : false; } if (this.controlType === 'select') { if (this.control.theme === 'material') { - const element = this.control.findInput('span.mat-mdc-select-value-text'); - return (await element.isVisible()) ? element.innerText() : null; + const element = this.control.locate('span.mat-mdc-select-value-text'); + const elementVisible = await element.isVisible(); + return elementVisible ? element.innerText() : null; } const element = await this.locator.inputValue(); @@ -144,13 +149,15 @@ export class Input { } if (this.controlType === 'switch') { - const element = this.control.findInput('input[type="checkbox"]:checked,mat-slide-toggle.mat-mdc-slide-toggle-checked'); - return (await element.isVisible()) ? true : false; + const element = this.control.locate('input[type="checkbox"]:checked,mat-slide-toggle.mat-mdc-slide-toggle-checked'); + const elementVisible = await element.isVisible(); + return elementVisible ? true : false; } if (this.controlType === 'toggle') { - const element = this.control.findInput('input[type="radio"]:checked,mat-button-toggle.mat-button-toggle-checked'); - return (await element.isVisible()) ? true : false; + const element = this.control.locate('input[type="radio"]:checked,mat-button-toggle.mat-button-toggle-checked'); + const elementVisible = await element.isVisible(); + return elementVisible ? true : false; } const value = await this.locator.inputValue(); @@ -159,12 +166,15 @@ export class Input { async checkInputValue(): Promise { const inputValue = await this.getInputValue(); - return (await this.isInputForFalse()) ? !inputValue : !!inputValue; + const inputForFalse = await this.isInputForFalse(); + return inputForFalse ? !inputValue : !!inputValue; } async editInputValue(): Promise { if (this.controlType === 'checkbox') { - if ((await this.isInputForFalse()) && !(await this.getInputValue())) { + const inputForFalse = await this.isInputForFalse(); + const inputValue = await this.getInputValue(); + if (inputForFalse && !inputValue) { await this.locator.press(KEY.SPACE); } return this.locator.press(KEY.SPACE); @@ -172,9 +182,9 @@ export class Input { if (this.controlType === 'file') { const fileChooserPromise = this.page.waitForEvent('filechooser'); - await this.control.findInput('button').click(); + await this.control.locate('button').click(); const fileChooser = await fileChooserPromise; - return await fileChooser.setFiles(PATH.resolve(__dirname, 'file.txt')); + return fileChooser.setFiles(PATH.resolve(__dirname, 'file.txt')); } if (this.controlType === 'radio') { @@ -212,6 +222,7 @@ export class Input { } await this.locator.fill(value.toString()); + // await this.locator.fill(value.toString(), { force: true }); return this.locator.press(KEY.TAB); } diff --git a/apps/demo-e2e/src/examples/examples.spec.ts b/apps/demo-e2e/src/examples/examples.spec.ts index 046a0f92..3dea4168 100644 --- a/apps/demo-e2e/src/examples/examples.spec.ts +++ b/apps/demo-e2e/src/examples/examples.spec.ts @@ -129,7 +129,7 @@ test.describe('dynamic-forms demo examples', () => { const itemsWrapper = form.locator('css=.dynamic-form-items'); const items = itemsWrapper.locator( - `css=${theme === 'material' ? '.mat-mdc-tab-body,.mat-expansion-panel' : '.dynamic-form-item'}`, + `css=${theme === 'material' ? '.mat-mdc-tab-body,.mat-expansion-panel-body' : '.dynamic-form-item'}`, ); const itemCount = await items.count(); @@ -146,16 +146,23 @@ test.describe('dynamic-forms demo examples', () => { if (itemCount > 0 && groupIndex > 0 && groupIndex < itemHeaderCount) { const itemHeader = itemsHeaders.nth(groupIndex); - const itemHeaderClassName = await itemHeader.getAttribute('class'); + const itemHeaderClass = await itemHeader.getAttribute('class'); const itemHeaderVisible = await itemHeader.isVisible(); - const itemHeaderDisabled = itemHeaderClassName.includes('disabled'); + const itemHeaderClassDisabled = itemHeaderClass.includes('disabled'); + const itemHeaderAriaDisabled = (await itemHeader.getAttribute('aria-disabled')) === 'true'; + const itemHeaderDisabled = itemHeaderClassDisabled || itemHeaderAriaDisabled; + const itemHeaderExpanded = itemHeaderClass.includes('expanded'); - if (itemHeaderVisible && !itemHeaderDisabled) { + if (itemHeaderDisabled) { + continue; + } + + if (itemHeaderVisible && !itemHeaderDisabled && !itemHeaderExpanded) { await itemHeader.click(); } } - expect(group).toBeVisible(); + await expect(group).toBeVisible(); const groupControls = group.locator('css=div.dynamic-form-control'); const groupControlCount = await groupControls.count(); @@ -182,13 +189,16 @@ test.describe('dynamic-forms demo examples', () => { if (result.inputVisible && result.inputEditable) { const inputValue = await input.getInputValue(); const inputForFalse = await input.isInputForFalse(); + + await expect(input.locator).toBeVisible(); + if ((!inputValue && !inputForFalse) || (inputValue && inputForFalse)) { await input.editInputValue(); } // console.log({ id: result.id, inputValue: await input.getInputValue() }); - expect(await input.checkInputValue()).toBe(true); + expect(await input.checkInputValue(), `input with id '${result.id} failed value check'`).toBe(true); } } From 8feaf745274b78d90f1c477bf01bd9d79c17dc71 Mon Sep 17 00:00:00 2001 From: Alexander Gebuhr Date: Sun, 24 Nov 2024 17:56:09 +0100 Subject: [PATCH 11/20] Update of packages and improvements --- angular.json | 3 +- .../demo-e2e/playwright.config.ts | 10 +- apps/demo-e2e/src/examples/examples.spec.ts | 18 + dynamic-forms-e2e.yml | 8 +- package-lock.json | 1052 +++++++++++------ package.json | 65 +- 6 files changed, 767 insertions(+), 389 deletions(-) rename playwright.config.ts => apps/demo-e2e/playwright.config.ts (87%) diff --git a/angular.json b/angular.json index f92e9a88..6774883a 100644 --- a/angular.json +++ b/angular.json @@ -337,7 +337,8 @@ "e2e": { "builder": "playwright-ng-schematics:playwright", "options": { - "devServerTarget": "dynamic-forms-demo:serve" + "devServerTarget": "dynamic-forms-demo:serve", + "config": "apps/demo-e2e/playwright.config.ts" }, "configurations": { "production": { diff --git a/playwright.config.ts b/apps/demo-e2e/playwright.config.ts similarity index 87% rename from playwright.config.ts rename to apps/demo-e2e/playwright.config.ts index 335e04e8..5ec80ff1 100644 --- a/playwright.config.ts +++ b/apps/demo-e2e/playwright.config.ts @@ -10,8 +10,8 @@ import { defineConfig, devices } from '@playwright/test'; * See https://playwright.dev/docs/test-configuration. */ export default defineConfig({ - testDir: './apps/demo-e2e/src', - outputDir: 'dist/v19/e2e/html', + testDir: './src', + outputDir: '../../dist/v19/e2e/html', /* Run tests in files in parallel */ fullyParallel: true, /* Fail the build on CI if you accidentally left test.only in the source code. */ @@ -22,9 +22,9 @@ export default defineConfig({ workers: process.env['CI'] ? 1 : undefined, /* Reporter to use. See https://playwright.dev/docs/test-reporters */ reporter: [ - ['html', { outputFolder: 'dist/v19/e2e/html', open: 'never' }], - ['junit', { outputFile: 'dist/v19/e2e/junit/results.xml' }], - ['allure-playwright', { resultsDir: 'dist/v19/e2e/allure' }], + ['html', { outputFolder: '../../dist/v19/e2e/html', open: 'never' }], + ['junit', { outputFile: '../../dist/v19/e2e/junit/results.xml' }], + ['allure-playwright', { resultsDir: '../../dist/v19/e2e/allure' }], ], /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ use: { diff --git a/apps/demo-e2e/src/examples/examples.spec.ts b/apps/demo-e2e/src/examples/examples.spec.ts index 3dea4168..6b145666 100644 --- a/apps/demo-e2e/src/examples/examples.spec.ts +++ b/apps/demo-e2e/src/examples/examples.spec.ts @@ -226,6 +226,24 @@ test.describe('dynamic-forms demo examples', () => { if ((await submitButton.isVisible()) && (await submitButton.isEnabled())) { await submitButton.click(); + const modal = page.locator('css=.dynamic-form-modal'); + const modalVisible = await modal.isVisible(); + + if (!modalVisible) { + const dialog = page.locator('css=app-form-submit-dialog'); + const content = dialog.locator('css=.mat-mdc-tab-body-content').first(); + const model = content.locator('css=pre'); + + await expect(dialog).toBeVisible(); + await expect(content).toBeVisible(); + await expect(model).toBeVisible(); + + testInfo.attach(`example-submitted-model`, { + body: await model.innerText(), + contentType: 'application/json', + }); + } + testInfo.attach(`example-submitted`, { body: await page.screenshot(), contentType: 'image/png', diff --git a/dynamic-forms-e2e.yml b/dynamic-forms-e2e.yml index dc1971fa..7cf7ba53 100644 --- a/dynamic-forms-e2e.yml +++ b/dynamic-forms-e2e.yml @@ -30,12 +30,7 @@ steps: continueOnError: True inputs: command: custom - customCommand: run e2e -# - task: PublishProtractorReport@1 -# displayName: publish e2e report -# continueOnError: True -# inputs: -# cwd: $(System.DefaultWorkingDirectory)/dist/${{ variables.major_version_name }}/e2e + customCommand: run e2e:prod - task: PublishTestResults@2 displayName: 'Publish test results' inputs: @@ -45,7 +40,6 @@ steps: mergeTestResults: true failTaskOnFailedTests: false testRunTitle: 'e2e Tests' - - task: PublishAllureReport@1 displayName: Publish Report inputs: diff --git a/package-lock.json b/package-lock.json index 56108c19..de7f9d96 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,23 +9,23 @@ "version": "19.0.0-next.0", "license": "MIT", "dependencies": { - "@angular/animations": "^19.0.0", - "@angular/cdk": "^19.0.0", - "@angular/common": "^19.0.0", - "@angular/compiler": "^19.0.0", - "@angular/core": "^19.0.0", - "@angular/forms": "^19.0.0", - "@angular/material": "^19.0.0", - "@angular/platform-browser": "^19.0.0", - "@angular/platform-browser-dynamic": "^19.0.0", - "@angular/platform-server": "^19.0.0", - "@angular/router": "^19.0.0", - "@angular/ssr": "^19.0.0", + "@angular/animations": "^19.0.1", + "@angular/cdk": "^19.0.1", + "@angular/common": "^19.0.1", + "@angular/compiler": "^19.0.1", + "@angular/core": "^19.0.1", + "@angular/forms": "^19.0.1", + "@angular/material": "^19.0.1", + "@angular/platform-browser": "^19.0.1", + "@angular/platform-browser-dynamic": "^19.0.1", + "@angular/platform-server": "^19.0.1", + "@angular/router": "^19.0.1", + "@angular/ssr": "^19.0.2", "@ngxs/storage-plugin": "^18.1.6", "@ngxs/store": "^18.1.6", "bootstrap": "^5.2.3", "inputmask": "^5.0.9", - "marked": "^14.1.4", + "marked": "^15.0.3", "monaco-editor": "^0.50.0", "rxjs": "^7.4.0", "tslib": "^2.6.3", @@ -33,23 +33,23 @@ "zone.js": "~0.15.0" }, "devDependencies": { - "@angular-devkit/build-angular": "^19.0.0", - "@angular-devkit/core": "^19.0.0", - "@angular-devkit/schematics": "^19.0.0", - "@angular-eslint/builder": "^18.4.0", - "@angular-eslint/eslint-plugin": "^18.4.0", - "@angular-eslint/eslint-plugin-template": "^18.4.0", - "@angular-eslint/schematics": "^18.4.0", - "@angular-eslint/template-parser": "^18.4.0", - "@angular/cli": "^19.0.0", - "@angular/compiler-cli": "^19.0.0", - "@angular/language-service": "^19.0.0", + "@angular-devkit/build-angular": "^19.0.2", + "@angular-devkit/core": "^19.0.2", + "@angular-devkit/schematics": "^19.0.2", + "@angular-eslint/builder": "^18.4.3", + "@angular-eslint/eslint-plugin": "^18.4.3", + "@angular-eslint/eslint-plugin-template": "^18.4.3", + "@angular-eslint/schematics": "^18.4.3", + "@angular-eslint/template-parser": "^18.4.3", + "@angular/cli": "^19.0.2", + "@angular/compiler-cli": "^19.0.1", + "@angular/language-service": "^19.0.1", "@compodoc/compodoc": "^1.1.26", "@playwright/test": "1.49.0", "@types/inputmask": "^5.0.7", - "@types/jasmine": "~5.1.4", + "@types/jasmine": "~5.1.5", "@types/jasminewd2": "~2.0.13", - "@types/node": "~22.9.1", + "@types/node": "~22.10.1", "@types/uuid": "^10.0.0", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", @@ -60,7 +60,7 @@ "eslint-config-prettier": "^9.1.0", "eslint-import-resolver-typescript": "^3.6.3", "eslint-plugin-import": "^2.31.0", - "eslint-plugin-jsdoc": "^50.5.0", + "eslint-plugin-jsdoc": "^50.6.0", "eslint-plugin-prefer-arrow": "^1.2.3", "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-unused-imports": "^3.2.0", @@ -73,12 +73,12 @@ "karma-jasmine-html-reporter": "^2.1.0", "karma-junit-reporter": "^2.0.1", "ng-mocks": "^14.13.1", - "ng-packagr": "^19.0.0", - "playwright-ng-schematics": "^1.1.1", - "prettier": "^3.3.3", + "ng-packagr": "^19.0.1", + "playwright-ng-schematics": "^1.2.1", + "prettier": "^3.4.1", "prettier-eslint": "^16.3.0", "ts-node": "~10.9.2", - "typescript": "^5.5.4" + "typescript": "~5.6.3" } }, "node_modules/@aduh95/viz.js": { @@ -101,13 +101,13 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.1900.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1900.0.tgz", - "integrity": "sha512-oC2CyKf9olKvthEwp2wmkKw+H9NhpnK9cWYHvajWeCRJ8A4DLaKwfMuZ9lioi92QPourrJzoikgp7C6m2AuuZQ==", + "version": "0.1900.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1900.2.tgz", + "integrity": "sha512-rGUgOgN/jb3Pyx3E1JsUbwQQZp4C0M/t0lwyWIFjUpndl27aBDjO2y5hzeG0B1+FgOuSNg8BPOYaEIO5vSCspw==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "19.0.0", + "@angular-devkit/core": "19.0.2", "rxjs": "7.8.1" }, "engines": { @@ -117,17 +117,17 @@ } }, "node_modules/@angular-devkit/build-angular": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-19.0.0.tgz", - "integrity": "sha512-Q4owTwm4bLK5qYHvPehx1/55O0vWRShDGsoHOYgm8mMLc++hr7xWpF8HptVG7AP9O8Qq95Cpz9+N4iMqyWlyUw==", + "version": "19.0.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-19.0.2.tgz", + "integrity": "sha512-F7wwo0fVshrlnTyBuqP6abt95soOsO+H/dYLn0JVud+SXhbSXpKDxZovlIBUKh1kj0BXny7erTYHmPWVtZpfsg==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1900.0", - "@angular-devkit/build-webpack": "0.1900.0", - "@angular-devkit/core": "19.0.0", - "@angular/build": "19.0.0", + "@angular-devkit/architect": "0.1900.2", + "@angular-devkit/build-webpack": "0.1900.2", + "@angular-devkit/core": "19.0.2", + "@angular/build": "19.0.2", "@babel/core": "7.26.0", "@babel/generator": "7.26.2", "@babel/helper-annotate-as-pure": "7.25.9", @@ -138,7 +138,7 @@ "@babel/preset-env": "7.26.0", "@babel/runtime": "7.26.0", "@discoveryjs/json-ext": "0.6.3", - "@ngtools/webpack": "19.0.0", + "@ngtools/webpack": "19.0.2", "@vitejs/plugin-basic-ssl": "1.1.0", "ansi-colors": "4.1.3", "autoprefixer": "10.4.20", @@ -192,7 +192,7 @@ "@angular/localize": "^19.0.0", "@angular/platform-server": "^19.0.0", "@angular/service-worker": "^19.0.0", - "@angular/ssr": "^19.0.0", + "@angular/ssr": "^19.0.2", "@web/test-runner": "^0.19.0", "browser-sync": "^3.0.2", "jest": "^29.5.0", @@ -334,13 +334,13 @@ } }, "node_modules/@angular-devkit/build-webpack": { - "version": "0.1900.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1900.0.tgz", - "integrity": "sha512-mpsjpkp+SBd/16zmRTNDUiTXvcuMObGpcssOGqjf9MhaeSECYpU2J1MyXO+uXqnQ5ECAc/UK954Lv6bWwbusEw==", + "version": "0.1900.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1900.2.tgz", + "integrity": "sha512-4JHkY6908YsIWh9FM/6ihsVZyWAM4/C91D8S4v/aZhVLt37HwTAxbecPbYNbexgDca81LI5TAqR8cwb0syIkWA==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.1900.0", + "@angular-devkit/architect": "0.1900.2", "rxjs": "7.8.1" }, "engines": { @@ -354,9 +354,9 @@ } }, "node_modules/@angular-devkit/core": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.0.0.tgz", - "integrity": "sha512-/EJQOKVFb9vsFbPR+57C7fJHFVr7le9Ru6aormIKw24xyZZHtt5X4rwdeN7l6Zkv8F0cJ2EoTSiQoY17090DLQ==", + "version": "19.0.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.0.2.tgz", + "integrity": "sha512-p5pTx9rAtJUfoa7BP6R5U7dGFWHrrgpYpVyF3jwqYIu0h1C0rJIyY8q/HlkvzFxgfWag1qRf15oANq3G9fqdwg==", "dev": true, "license": "MIT", "dependencies": { @@ -437,13 +437,13 @@ } }, "node_modules/@angular-devkit/schematics": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-19.0.0.tgz", - "integrity": "sha512-90pGZtpZgjDk1UgRBatfeqYP6qUZL9fLh+8zIpavOr2ey5bW2lADO7mS2Qrc7U1SmGqnxQXQQ7uIS+50gYm0tQ==", + "version": "19.0.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-19.0.2.tgz", + "integrity": "sha512-bwq8ReC92gGFTd2BeNBWCnOqIKu2YKNvwMVc7dl+D154WO2gzCaK2J5nL97qm5EjoUoXgvFRs84ysSAnLFzBxQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "19.0.0", + "@angular-devkit/core": "19.0.2", "jsonc-parser": "3.3.1", "magic-string": "0.30.12", "ora": "5.4.1", @@ -456,32 +456,135 @@ } }, "node_modules/@angular-eslint/builder": { - "version": "18.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-18.4.0.tgz", - "integrity": "sha512-FOzGHX/nHSV1wSduSsabsx3aqC1nfde0opEpEDSOJhxExDxKCwoS1XPy1aERGyKip4ZVA6phC3dLtoBH3QMkVQ==", + "version": "18.4.3", + "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-18.4.3.tgz", + "integrity": "sha512-NzmrXlr7GFE+cjwipY/CxBscZXNqnuK0us1mO6Z2T6MeH6m+rRcdlY/rZyKoRniyNNvuzl6vpEsfMIMmnfebrA==", "dev": true, "license": "MIT", + "dependencies": { + "@angular-devkit/architect": ">= 0.1800.0 < 0.1900.0", + "@angular-devkit/core": ">= 18.0.0 < 19.0.0" + }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0", "typescript": "*" } }, + "node_modules/@angular-eslint/builder/node_modules/@angular-devkit/architect": { + "version": "0.1802.12", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.12.tgz", + "integrity": "sha512-bepVb2/GtJppYKaeW8yTGE6egmoWZ7zagFDsmBdbF+BYp+HmeoPsclARcdryBPVq68zedyTRdvhWSUTbw1AYuw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "18.2.12", + "rxjs": "7.8.1" + }, + "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" + } + }, + "node_modules/@angular-eslint/builder/node_modules/@angular-devkit/core": { + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.2.12.tgz", + "integrity": "sha512-NtB6ypsaDyPE6/fqWOdfTmACs+yK5RqfH5tStEzWFeeDsIEDYKsJ06ypuRep7qTjYus5Rmttk0Ds+cFgz8JdUQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.17.1", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.2", + "rxjs": "7.8.1", + "source-map": "0.7.4" + }, + "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 + } + } + }, + "node_modules/@angular-eslint/builder/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@angular-eslint/builder/node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/@angular-eslint/builder/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/@angular-eslint/builder/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/@angular-eslint/bundled-angular-compiler": { - "version": "18.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-18.4.0.tgz", - "integrity": "sha512-HlFHt2qgdd+jqyVIkCXmrjHauXo/XY3Rp0UNabk83ejGi/raM/6lEFI7iFWzHxLyiAKk4OgGI5W26giSQw991A==", + "version": "18.4.3", + "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-18.4.3.tgz", + "integrity": "sha512-zdrA8mR98X+U4YgHzUKmivRU+PxzwOL/j8G7eTOvBuq8GPzsP+hvak+tyxlgeGm9HsvpFj9ERHLtJ0xDUPs8fg==", "dev": true, "license": "MIT" }, "node_modules/@angular-eslint/eslint-plugin": { - "version": "18.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-18.4.0.tgz", - "integrity": "sha512-Saz9lkWPN3da7ZKW17UsOSN7DeY+TPh+wz/6GCNZCh67Uw2wvMC9agb+4hgpZNXYCP5+u7erqzxQmBoWnS/A+A==", + "version": "18.4.3", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-18.4.3.tgz", + "integrity": "sha512-AyJbupiwTBR81P6T59v+aULEnPpZBCBxL2S5QFWfAhNCwWhcof4GihvdK2Z87yhvzDGeAzUFSWl/beJfeFa+PA==", "dev": true, "license": "MIT", "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.4.0", - "@angular-eslint/utils": "18.4.0" + "@angular-eslint/bundled-angular-compiler": "18.4.3", + "@angular-eslint/utils": "18.4.3" }, "peerDependencies": { "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", @@ -490,14 +593,14 @@ } }, "node_modules/@angular-eslint/eslint-plugin-template": { - "version": "18.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-18.4.0.tgz", - "integrity": "sha512-n3uZFCy76DnggPqjSVFV3gYD1ik7jCG28o2/HO4kobcMNKnwW8XAlFUagQ4TipNQh7fQiAefsEqvv2quMsYDVw==", + "version": "18.4.3", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-18.4.3.tgz", + "integrity": "sha512-ijGlX2N01ayMXTpeQivOA31AszO8OEbu9ZQUCxnu9AyMMhxyi2q50bujRChAvN9YXQfdQtbxuajxV6+aiWb5BQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.4.0", - "@angular-eslint/utils": "18.4.0", + "@angular-eslint/bundled-angular-compiler": "18.4.3", + "@angular-eslint/utils": "18.4.3", "aria-query": "5.3.2", "axobject-query": "4.1.0" }, @@ -509,21 +612,141 @@ } }, "node_modules/@angular-eslint/schematics": { - "version": "18.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-18.4.0.tgz", - "integrity": "sha512-ssqe+0YCfekbWIXNdCrHfoPK/bPZAWybs0Bn/b99dfd8h8uyXkERo9AzIOx4Uyj/08SkP9aPL/0uOOEHDsRGwQ==", + "version": "18.4.3", + "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-18.4.3.tgz", + "integrity": "sha512-D5maKn5e6n58+8n7jLFLD4g+RGPOPeDSsvPc1sqial5tEKLxAJQJS9WZ28oef3bhkob6C60D+1H0mMmEEVvyVA==", "dev": true, "license": "MIT", "dependencies": { - "@angular-eslint/eslint-plugin": "18.4.0", - "@angular-eslint/eslint-plugin-template": "18.4.0", - "ignore": "5.3.2", + "@angular-devkit/core": ">= 18.0.0 < 19.0.0", + "@angular-devkit/schematics": ">= 18.0.0 < 19.0.0", + "@angular-eslint/eslint-plugin": "18.4.3", + "@angular-eslint/eslint-plugin-template": "18.4.3", + "ignore": "6.0.2", "semver": "7.6.3", "strip-json-comments": "3.1.1" + } + }, + "node_modules/@angular-eslint/schematics/node_modules/@angular-devkit/core": { + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.2.12.tgz", + "integrity": "sha512-NtB6ypsaDyPE6/fqWOdfTmACs+yK5RqfH5tStEzWFeeDsIEDYKsJ06ypuRep7qTjYus5Rmttk0Ds+cFgz8JdUQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.17.1", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.2", + "rxjs": "7.8.1", + "source-map": "0.7.4" + }, + "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-devkit/core": ">= 18.0.0 < 19.0.0", - "@angular-devkit/schematics": ">= 18.0.0 < 19.0.0" + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-eslint/schematics/node_modules/@angular-devkit/schematics": { + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-18.2.12.tgz", + "integrity": "sha512-mMea9txHbnCX5lXLHlo0RAgfhFHDio45/jMsREM2PA8UtVf2S8ltXz7ZwUrUyMQRv8vaSfn4ijDstF4hDMnRgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "18.2.12", + "jsonc-parser": "3.3.1", + "magic-string": "0.30.11", + "ora": "5.4.1", + "rxjs": "7.8.1" + }, + "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" + } + }, + "node_modules/@angular-eslint/schematics/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@angular-eslint/schematics/node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/@angular-eslint/schematics/node_modules/ignore": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-6.0.2.tgz", + "integrity": "sha512-InwqeHHN2XpumIkMvpl/DCJVrAHgCsG5+cn1XlnLWGwtZBm8QJfSusItfrwx81CTp5agNZqpKU2J/ccC5nGT4A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@angular-eslint/schematics/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/@angular-eslint/schematics/node_modules/magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/@angular-eslint/schematics/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, "node_modules/@angular-eslint/schematics/node_modules/semver": { @@ -540,13 +763,13 @@ } }, "node_modules/@angular-eslint/template-parser": { - "version": "18.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-18.4.0.tgz", - "integrity": "sha512-VTep3Xd3IOaRIPL+JN/TV4/2DqUPbjtF3TNY15diD/llnrEhqFnmsvMihexbQyTqzOG+zU554oK44YfvAtHOrw==", + "version": "18.4.3", + "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-18.4.3.tgz", + "integrity": "sha512-JZMPtEB8yNip3kg4WDEWQyObSo2Hwf+opq2ElYuwe85GQkGhfJSJ2CQYo4FSwd+c5MUQAqESNRg9QqGYauDsiw==", "dev": true, "license": "MIT", "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.4.0", + "@angular-eslint/bundled-angular-compiler": "18.4.3", "eslint-scope": "^8.0.2" }, "peerDependencies": { @@ -582,13 +805,13 @@ } }, "node_modules/@angular-eslint/utils": { - "version": "18.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-18.4.0.tgz", - "integrity": "sha512-At1yS8GRviGBoaupiQwEOL4/IcZJCE/+2vpXdItMWPGB1HWetxlKAUZTMmIBX/r5Z7CoXxl+LbqpGhrhyzIQAg==", + "version": "18.4.3", + "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-18.4.3.tgz", + "integrity": "sha512-w0bJ9+ELAEiPBSTPPm9bvDngfu1d8JbzUhvs2vU+z7sIz/HMwUZT5S4naypj2kNN0gZYGYrW0lt+HIbW87zTAQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-eslint/bundled-angular-compiler": "18.4.0" + "@angular-eslint/bundled-angular-compiler": "18.4.3" }, "peerDependencies": { "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", @@ -597,9 +820,9 @@ } }, "node_modules/@angular/animations": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-19.0.0.tgz", - "integrity": "sha512-+uZTvEXjYh8PZKB4ijk8uuH1K+Tz/A67mUlltFv9pYKtnmbZAeS/PI66g/7pigRYDvEgid1fvlAANeBShAiPZQ==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-19.0.1.tgz", + "integrity": "sha512-1TZ3meVmoMuQwXaHSCeIGq8tmGcwobCQM2AQ6hfK+j6eyWTSx8BdWWi+Z1iIjiYFx3pJljQiWLAHULZ66Ep/GQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -608,18 +831,18 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "19.0.0" + "@angular/core": "19.0.1" } }, "node_modules/@angular/build": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular/build/-/build-19.0.0.tgz", - "integrity": "sha512-OLyUwAVCSqW589l19g19aP2O1NpBMRPsqKmYLaTYvYSIcZkNRJPxOcsCIDGB3FUQUEjpouYtzPA3RtBuJWsCwQ==", + "version": "19.0.2", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-19.0.2.tgz", + "integrity": "sha512-i2mSg9ZoPto3IMNi/HnP2ZOwvcmaPEKrS7EOYeu1m1W9InuZ55ssMqrjKpeohKVYHwep8QmFrmDERbqutaN2hg==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1900.0", + "@angular-devkit/architect": "0.1900.2", "@babel/core": "7.26.0", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -658,7 +881,7 @@ "@angular/localize": "^19.0.0", "@angular/platform-server": "^19.0.0", "@angular/service-worker": "^19.0.0", - "@angular/ssr": "^19.0.0", + "@angular/ssr": "^19.0.2", "less": "^4.2.0", "postcss": "^8.4.0", "tailwindcss": "^2.0.0 || ^3.0.0", @@ -732,9 +955,9 @@ } }, "node_modules/@angular/cdk": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-19.0.0.tgz", - "integrity": "sha512-KcOYhCwN4Bw3L4+W4ymTfPGqRjrkwD8M5jX8GM7YsZ5DsX9OEd/gNrwRvjn+8JItzimXLXdGrcqXrMTxkq7QPA==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-19.0.1.tgz", + "integrity": "sha512-dIqYBQISvxlpXIU10625rURPjniQV1emXbFF6wAEE48iqx9mm9WZ11KZU4heqA3qp/betZYcVY2Hwc7fLKp4Uw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -749,18 +972,18 @@ } }, "node_modules/@angular/cli": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-19.0.0.tgz", - "integrity": "sha512-7FTNkMtTuaXp4CCWZlRIwFZtnkDJg+YjqAuloDNGhIXDjDsb9gWihepWpWXSMBTg4XI1OdsT+oYt38Z0YMck0A==", + "version": "19.0.2", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-19.0.2.tgz", + "integrity": "sha512-TlPrs3hRkHWrQEKwHde9l2F4IgT5tWTx4zFcllzBh2dW9iRpqXSYRb82xNHsbopdAu4lXjsYl7JilV2DQPZEaA==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.1900.0", - "@angular-devkit/core": "19.0.0", - "@angular-devkit/schematics": "19.0.0", + "@angular-devkit/architect": "0.1900.2", + "@angular-devkit/core": "19.0.2", + "@angular-devkit/schematics": "19.0.2", "@inquirer/prompts": "7.1.0", "@listr2/prompt-adapter-inquirer": "2.0.18", - "@schematics/angular": "19.0.0", + "@schematics/angular": "19.0.2", "@yarnpkg/lockfile": "1.1.0", "ini": "5.0.0", "jsonc-parser": "3.3.1", @@ -884,9 +1107,9 @@ } }, "node_modules/@angular/common": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-19.0.0.tgz", - "integrity": "sha512-kb2iS26GZS0vyR3emAQbIiQifnK5M5vnbclEHni+pApDEU5V9FufbdRP3vCxs28UHZvAZKB0LrxkTrnT6T+z5g==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-19.0.1.tgz", + "integrity": "sha512-FWAyHlEhPeLHvNLuzSl2rlksK/fVVB5O3soBYOeiKScN1vlAdALbwPDIHhimhNFBV8kmtc144WjkcTxt8MK/4g==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -895,14 +1118,14 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "19.0.0", + "@angular/core": "19.0.1", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-19.0.0.tgz", - "integrity": "sha512-Uw2Yy25pdqfzKsS9WofnIq1zvknlVYyy03LYO7NMKHlFWiy8q8SIXN7WKPFhiHlOfyACXipp4eZb9m3+IbOfSA==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-19.0.1.tgz", + "integrity": "sha512-loyI701+As+sWsE4yr9HpIPBqIohpNrGby/hsXtr+zJTMUWp/sKZlavctVtUsWWJhwHMevoybdgd3N9NY97F7g==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -911,7 +1134,7 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/core": "19.0.0" + "@angular/core": "19.0.1" }, "peerDependenciesMeta": { "@angular/core": { @@ -920,9 +1143,9 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-19.0.0.tgz", - "integrity": "sha512-2PxpsIeppoDLAx7A6i0GE10WjC+Fkz8tTQioa7r4y/+eYnniEjJFIQM/8lbkOnRVcuYoeXoNyYWr3fEQAyO4LA==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-19.0.1.tgz", + "integrity": "sha512-dIpJCRPmmgmPyAqkOwhP4IEj+T5H4s3x39sCCBohqr2mlZcTXp/Fir8CXnMHlzawh4eXm4pvHjvh/bmMH4efrA==", "dev": true, "license": "MIT", "dependencies": { @@ -944,7 +1167,7 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/compiler": "19.0.0", + "@angular/compiler": "19.0.1", "typescript": ">=5.5 <5.7" } }, @@ -1087,9 +1310,9 @@ } }, "node_modules/@angular/core": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-19.0.0.tgz", - "integrity": "sha512-aNG2kd30BOM/zf0jC+aEVG8OA27IwqCki9EkmyRNYnaP2O5Mj1n7JpCyZGI+0LrWTJ2UUCfRNZiZdZwmNThr1Q==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-19.0.1.tgz", + "integrity": "sha512-+VpWcg2aC/dY9TM6fsj00enZ6RP5wpRqk/SeRe3UP3Je/n+vWIgHJTb1ZLNeOIvDaE86BhKPMwFS0QVjoEGQFA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1103,9 +1326,9 @@ } }, "node_modules/@angular/forms": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-19.0.0.tgz", - "integrity": "sha512-gM4bUdlIJ0uRYNwoVMbXiZt4+bZzPXzyQ7ByNIOVKEAI0PN9Jz1dR1pSeQgIoUvKQbhwsVKVUoa7Tn1hoqwvTg==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-19.0.1.tgz", + "integrity": "sha512-PNMQVi97ZK9X7fQeO1li6LxoL9U6v7ByC+4kj7xHAcOGaBCB+EJ/ZPKCKeaGn4G7mJd3iH8SMVzoUQc028KIcw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1114,16 +1337,16 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "19.0.0", - "@angular/core": "19.0.0", - "@angular/platform-browser": "19.0.0", + "@angular/common": "19.0.1", + "@angular/core": "19.0.1", + "@angular/platform-browser": "19.0.1", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/language-service": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-19.0.0.tgz", - "integrity": "sha512-oXDZ+gOTVFhpGg+Cp/3Mo0aa214eCF13dEboRYTIM/m1jnsTHcIlfhRpkw+FLUSEN9MTVK5xVfx5gUudI7T0rg==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-19.0.1.tgz", + "integrity": "sha512-1gpC3oYaD3kcOg7lElZId70wz9SSD/mYDDq6UFn0XGX7HXcmxdFQFxEmYil/7aUHU7mhju0Bse7cAsSdm1vL+w==", "dev": true, "license": "MIT", "engines": { @@ -1131,16 +1354,16 @@ } }, "node_modules/@angular/material": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-19.0.0.tgz", - "integrity": "sha512-j7dDFUh8dqiysuWu32biukDTHScajUYHFR9Srhn98kBwnXMob5y1paMoOx5RQO5DU4KCxKaKx8HcHJBJeTKHjw==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-19.0.1.tgz", + "integrity": "sha512-pAZ+cgBUAJjXmwAY4u1NXuxcxJKHts0s7ZNpf6JGUu+yWArLOc/BwFTDO9Htzz2E82eMH417d1ny4fpYwdgIZg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { "@angular/animations": "^19.0.0 || ^20.0.0", - "@angular/cdk": "19.0.0", + "@angular/cdk": "19.0.1", "@angular/common": "^19.0.0 || ^20.0.0", "@angular/core": "^19.0.0 || ^20.0.0", "@angular/forms": "^19.0.0 || ^20.0.0", @@ -1149,9 +1372,9 @@ } }, "node_modules/@angular/platform-browser": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-19.0.0.tgz", - "integrity": "sha512-g9Qkv+KgEmXLVeg+dw1edmWsRBspUGeJMOBf2UX1kUCw6txeco+pzCMimouB5LQYHfs6cD6oC+FwINm0HNwrhg==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-19.0.1.tgz", + "integrity": "sha512-ycl6GsK5avKz2PKyKR8G3eqH5rWdzTqRfYStN+1Ufhopx9jmCQ9r0JSIekoHJ8W2KDZfojWp6f4izDMvKnUpvA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1160,9 +1383,9 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/animations": "19.0.0", - "@angular/common": "19.0.0", - "@angular/core": "19.0.0" + "@angular/animations": "19.0.1", + "@angular/common": "19.0.1", + "@angular/core": "19.0.1" }, "peerDependenciesMeta": { "@angular/animations": { @@ -1171,9 +1394,9 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-19.0.0.tgz", - "integrity": "sha512-ljvycDe0etmTBDzbCFakpsItywddpKEyCZGMKRvz5TdND1N1qqXydxAF1kLzP5H7F/QOMdP4/T/T1HS+6AUpkw==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-19.0.1.tgz", + "integrity": "sha512-A8sM0NTwZPFpv5kWSUeRhMENCw8kmBxR9CX9TMVeU6u9TP+IT3SFhUWhDQZNbmJAHhyAuk5B1gBJ/aoz0/OBcw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1182,16 +1405,16 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "19.0.0", - "@angular/compiler": "19.0.0", - "@angular/core": "19.0.0", - "@angular/platform-browser": "19.0.0" + "@angular/common": "19.0.1", + "@angular/compiler": "19.0.1", + "@angular/core": "19.0.1", + "@angular/platform-browser": "19.0.1" } }, "node_modules/@angular/platform-server": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-19.0.0.tgz", - "integrity": "sha512-eQ+mT2DvIp+tQO268WJQ5CO9nB+jcXNYqUzEfAqAhUNnpxCn3j6d8GNjx16GOVkHVBrVJvW32WPBCG4fzoi0sQ==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-19.0.1.tgz", + "integrity": "sha512-PcWS04PayxY/hw1z9RAXNMgrkMKybp9Cam6mXyncs7wTCvpigZJRDIze7GQgaKScIRk7vEizhjibP/sIFicA4Q==", "license": "MIT", "dependencies": { "tslib": "^2.3.0", @@ -1201,17 +1424,17 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/animations": "19.0.0", - "@angular/common": "19.0.0", - "@angular/compiler": "19.0.0", - "@angular/core": "19.0.0", - "@angular/platform-browser": "19.0.0" + "@angular/animations": "19.0.1", + "@angular/common": "19.0.1", + "@angular/compiler": "19.0.1", + "@angular/core": "19.0.1", + "@angular/platform-browser": "19.0.1" } }, "node_modules/@angular/router": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-19.0.0.tgz", - "integrity": "sha512-uFyT8DWVLGY8k0AZjpK7iyMO/WwT4/+b09Ax0uUEbdcRxTXSOg8/U/AVzQWtxzxI80/vJE2WZMmhIJFUTYwhKA==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-19.0.1.tgz", + "integrity": "sha512-/9f7RxVqOTASFhpqla7x9V58SE8Yv4SClKRikvv5Tn5EGDbSVR3DgGu6qENP57A2pVPW4Ho5er5KKT35HjhcFw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1220,16 +1443,16 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "19.0.0", - "@angular/core": "19.0.0", - "@angular/platform-browser": "19.0.0", + "@angular/common": "19.0.1", + "@angular/core": "19.0.1", + "@angular/platform-browser": "19.0.1", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/ssr": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular/ssr/-/ssr-19.0.0.tgz", - "integrity": "sha512-gzGDhLTlfVZFdoXl1NGRViLE7F9UPsBOVIE7PE3TlY/+/dHNJlIb9UrVGe0iI+sbLlPC8csGUE1040PSzs6+3g==", + "version": "19.0.2", + "resolved": "https://registry.npmjs.org/@angular/ssr/-/ssr-19.0.2.tgz", + "integrity": "sha512-Ufm8/XsgqwBUA016fmjTHFtrHAkRX/BKwI3g0HNy0yTj7ygbqqN6UIQBnPAIXYlu3Yid9Sc2g5x3c27MIyExLQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -5232,9 +5455,9 @@ } }, "node_modules/@ngtools/webpack": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-19.0.0.tgz", - "integrity": "sha512-UuLK1P184R12l6obaVzGk5yzCMQNwfahlkhNapbntvvFw27O76nEYVFM5y8tPkhC3XrsH4v6Ag21q+WADkR9jQ==", + "version": "19.0.2", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-19.0.2.tgz", + "integrity": "sha512-wHAIItix6zAOczdLjY9Z/e4mtpBDSzBkN//N6GHoGtjtCSzqZg4uPg5KG7B5tpVb/u6IMRK+4hhu9Vu8lhzz8g==", "dev": true, "license": "MIT", "engines": { @@ -6344,14 +6567,14 @@ "license": "MIT" }, "node_modules/@schematics/angular": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-19.0.0.tgz", - "integrity": "sha512-2U8dlhURoQfS99ZF67RVeARFeJn4Z0Lg2dfYbGj+ooRH5YMtAZq8zAIRCfyC3OMiJEZM6BbGigCD6gNoAhP0RQ==", + "version": "19.0.2", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-19.0.2.tgz", + "integrity": "sha512-KPNKJRcuJ9kWctcW+g7WzmCEHpjNnYbNVyiU/MvKdQX0uhGXnXE13YMVfgYIf/0KeHcVp5dkAwg5dkmm9PGNTw==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "19.0.0", - "@angular-devkit/schematics": "19.0.0", + "@angular-devkit/core": "19.0.2", + "@angular-devkit/schematics": "19.0.2", "jsonc-parser": "3.3.1" }, "engines": { @@ -7072,10 +7295,11 @@ "dev": true }, "node_modules/@types/jasmine": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.4.tgz", - "integrity": "sha512-px7OMFO/ncXxixDe1zR13V1iycqWae0MxTaw62RpFlksUi5QuNWgQJFkTQjIOvrmutJbI7Fp2Y2N1F6D2R4G6w==", - "dev": true + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.5.tgz", + "integrity": "sha512-SaCZ3kM5NjOiJqMRYwHpLbTfUC2Dyk1KS3QanNFsUYPGTk70CWVK/J9ueun6zNhw/UkgV7xl8V4ZLQZNRbfnNw==", + "dev": true, + "license": "MIT" }, "node_modules/@types/jasminewd2": { "version": "2.0.13", @@ -7106,13 +7330,13 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.9.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.1.tgz", - "integrity": "sha512-p8Yy/8sw1caA8CdRIQBG5tiLHmxtQKObCijiAa9Ez+d4+PRffM4054xbju0msf+cvhJpnFEeNjxmVT/0ipktrg==", + "version": "22.10.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.1.tgz", + "integrity": "sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~6.19.8" + "undici-types": "~6.20.0" } }, "node_modules/@types/node-forge": { @@ -10787,9 +11011,9 @@ } }, "node_modules/eslint-plugin-jsdoc": { - "version": "50.5.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-50.5.0.tgz", - "integrity": "sha512-xTkshfZrUbiSHXBwZ/9d5ulZ2OcHXxSvm/NPo494H/hadLRJwOq5PMV0EUpMqsb9V+kQo+9BAgi6Z7aJtdBp2A==", + "version": "50.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-50.6.0.tgz", + "integrity": "sha512-tCNp4fR79Le3dYTPB0dKEv7yFyvGkUCa+Z3yuTrrNGGOxBlXo9Pn0PEgroOZikUQOGjxoGMVKNjrOHcYEdfszg==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -14690,9 +14914,9 @@ "dev": true }, "node_modules/marked": { - "version": "14.1.4", - "resolved": "https://registry.npmjs.org/marked/-/marked-14.1.4.tgz", - "integrity": "sha512-vkVZ8ONmUdPnjCKc5uTRvmkRbx4EAi2OkTOXmfTDhZz3OFqMNBM1oTTWwTr4HY4uAEojhzPf+Fy8F1DWa3Sndg==", + "version": "15.0.3", + "resolved": "https://registry.npmjs.org/marked/-/marked-15.0.3.tgz", + "integrity": "sha512-Ai0cepvl2NHnTcO9jYDtcOEtVBNVYR31XnEA3BndO7f5As1wzpcOceSUM8FDkNLJNIODcLpDTWay/qQhqbuMvg==", "license": "MIT", "bin": { "marked": "bin/marked.js" @@ -15286,9 +15510,9 @@ } }, "node_modules/ng-packagr": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-19.0.0.tgz", - "integrity": "sha512-CKJlpZO6sL3+RpXbmtH7wEHnqgktOkmvmoUpTUUuNOA6m3JRypvDZHW29hFzvgFkxTJI13QHuBWauuG42rtIUA==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-19.0.1.tgz", + "integrity": "sha512-PnXa/y3ce3v4bKJNtUBS7qcNoyv5g/tSthoMe23NyMV5kjNY4+hJT7h64zK+8tnJWTelCbIpoep7tmSPsOifBA==", "dev": true, "license": "MIT", "dependencies": { @@ -17081,9 +17305,9 @@ } }, "node_modules/playwright-ng-schematics": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/playwright-ng-schematics/-/playwright-ng-schematics-1.1.1.tgz", - "integrity": "sha512-hsdw++d2eYaoX+AQ/scBIQ7faAKHavG1qM2W8s0VBxZfmxbampb7b2gGADe5cURKUNSPQZg8QEztQPHRzo8jCA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/playwright-ng-schematics/-/playwright-ng-schematics-1.2.1.tgz", + "integrity": "sha512-t7h+YLYAbCMH/BPJd/FQKvBriMaTVCOpXZ6/4To8N9BmWzBlUJayLSlXqLYtv5gQ5f6LpelHzZXchPHJ1nnjIw==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -17426,9 +17650,9 @@ } }, "node_modules/prettier": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", - "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.1.tgz", + "integrity": "sha512-G+YdqtITVZmOJje6QkXQWzl3fSfMxFwm1tjTyo9exhkmWSqC4Yhd1+lug++IlR2mvRVAxEDDWYkQdeSztajqgg==", "dev": true, "license": "MIT", "bin": { @@ -20375,9 +20599,9 @@ "dev": true }, "node_modules/typescript": { - "version": "5.5.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", - "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", + "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", "dev": true, "license": "Apache-2.0", "bin": { @@ -20436,9 +20660,9 @@ } }, "node_modules/undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", "dev": true, "license": "MIT" }, @@ -21914,26 +22138,26 @@ } }, "@angular-devkit/architect": { - "version": "0.1900.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1900.0.tgz", - "integrity": "sha512-oC2CyKf9olKvthEwp2wmkKw+H9NhpnK9cWYHvajWeCRJ8A4DLaKwfMuZ9lioi92QPourrJzoikgp7C6m2AuuZQ==", + "version": "0.1900.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1900.2.tgz", + "integrity": "sha512-rGUgOgN/jb3Pyx3E1JsUbwQQZp4C0M/t0lwyWIFjUpndl27aBDjO2y5hzeG0B1+FgOuSNg8BPOYaEIO5vSCspw==", "dev": true, "requires": { - "@angular-devkit/core": "19.0.0", + "@angular-devkit/core": "19.0.2", "rxjs": "7.8.1" } }, "@angular-devkit/build-angular": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-19.0.0.tgz", - "integrity": "sha512-Q4owTwm4bLK5qYHvPehx1/55O0vWRShDGsoHOYgm8mMLc++hr7xWpF8HptVG7AP9O8Qq95Cpz9+N4iMqyWlyUw==", + "version": "19.0.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-19.0.2.tgz", + "integrity": "sha512-F7wwo0fVshrlnTyBuqP6abt95soOsO+H/dYLn0JVud+SXhbSXpKDxZovlIBUKh1kj0BXny7erTYHmPWVtZpfsg==", "dev": true, "requires": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1900.0", - "@angular-devkit/build-webpack": "0.1900.0", - "@angular-devkit/core": "19.0.0", - "@angular/build": "19.0.0", + "@angular-devkit/architect": "0.1900.2", + "@angular-devkit/build-webpack": "0.1900.2", + "@angular-devkit/core": "19.0.2", + "@angular/build": "19.0.2", "@babel/core": "7.26.0", "@babel/generator": "7.26.2", "@babel/helper-annotate-as-pure": "7.25.9", @@ -21944,7 +22168,7 @@ "@babel/preset-env": "7.26.0", "@babel/runtime": "7.26.0", "@discoveryjs/json-ext": "0.6.3", - "@ngtools/webpack": "19.0.0", + "@ngtools/webpack": "19.0.2", "@vitejs/plugin-basic-ssl": "1.1.0", "ansi-colors": "4.1.3", "autoprefixer": "10.4.20", @@ -22042,19 +22266,19 @@ } }, "@angular-devkit/build-webpack": { - "version": "0.1900.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1900.0.tgz", - "integrity": "sha512-mpsjpkp+SBd/16zmRTNDUiTXvcuMObGpcssOGqjf9MhaeSECYpU2J1MyXO+uXqnQ5ECAc/UK954Lv6bWwbusEw==", + "version": "0.1900.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1900.2.tgz", + "integrity": "sha512-4JHkY6908YsIWh9FM/6ihsVZyWAM4/C91D8S4v/aZhVLt37HwTAxbecPbYNbexgDca81LI5TAqR8cwb0syIkWA==", "dev": true, "requires": { - "@angular-devkit/architect": "0.1900.0", + "@angular-devkit/architect": "0.1900.2", "rxjs": "7.8.1" } }, "@angular-devkit/core": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.0.0.tgz", - "integrity": "sha512-/EJQOKVFb9vsFbPR+57C7fJHFVr7le9Ru6aormIKw24xyZZHtt5X4rwdeN7l6Zkv8F0cJ2EoTSiQoY17090DLQ==", + "version": "19.0.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.0.2.tgz", + "integrity": "sha512-p5pTx9rAtJUfoa7BP6R5U7dGFWHrrgpYpVyF3jwqYIu0h1C0rJIyY8q/HlkvzFxgfWag1qRf15oANq3G9fqdwg==", "dev": true, "requires": { "ajv": "8.17.1", @@ -22101,12 +22325,12 @@ } }, "@angular-devkit/schematics": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-19.0.0.tgz", - "integrity": "sha512-90pGZtpZgjDk1UgRBatfeqYP6qUZL9fLh+8zIpavOr2ey5bW2lADO7mS2Qrc7U1SmGqnxQXQQ7uIS+50gYm0tQ==", + "version": "19.0.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-19.0.2.tgz", + "integrity": "sha512-bwq8ReC92gGFTd2BeNBWCnOqIKu2YKNvwMVc7dl+D154WO2gzCaK2J5nL97qm5EjoUoXgvFRs84ysSAnLFzBxQ==", "dev": true, "requires": { - "@angular-devkit/core": "19.0.0", + "@angular-devkit/core": "19.0.2", "jsonc-parser": "3.3.1", "magic-string": "0.30.12", "ora": "5.4.1", @@ -22114,52 +22338,192 @@ } }, "@angular-eslint/builder": { - "version": "18.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-18.4.0.tgz", - "integrity": "sha512-FOzGHX/nHSV1wSduSsabsx3aqC1nfde0opEpEDSOJhxExDxKCwoS1XPy1aERGyKip4ZVA6phC3dLtoBH3QMkVQ==", - "dev": true + "version": "18.4.3", + "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-18.4.3.tgz", + "integrity": "sha512-NzmrXlr7GFE+cjwipY/CxBscZXNqnuK0us1mO6Z2T6MeH6m+rRcdlY/rZyKoRniyNNvuzl6vpEsfMIMmnfebrA==", + "dev": true, + "requires": { + "@angular-devkit/architect": ">= 0.1800.0 < 0.1900.0", + "@angular-devkit/core": ">= 18.0.0 < 19.0.0" + }, + "dependencies": { + "@angular-devkit/architect": { + "version": "0.1802.12", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.12.tgz", + "integrity": "sha512-bepVb2/GtJppYKaeW8yTGE6egmoWZ7zagFDsmBdbF+BYp+HmeoPsclARcdryBPVq68zedyTRdvhWSUTbw1AYuw==", + "dev": true, + "requires": { + "@angular-devkit/core": "18.2.12", + "rxjs": "7.8.1" + } + }, + "@angular-devkit/core": { + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.2.12.tgz", + "integrity": "sha512-NtB6ypsaDyPE6/fqWOdfTmACs+yK5RqfH5tStEzWFeeDsIEDYKsJ06ypuRep7qTjYus5Rmttk0Ds+cFgz8JdUQ==", + "dev": true, + "requires": { + "ajv": "8.17.1", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.2", + "rxjs": "7.8.1", + "source-map": "0.7.4" + } + }, + "ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + } + }, + "ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dev": true, + "requires": { + "ajv": "^8.0.0" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true + } + } }, "@angular-eslint/bundled-angular-compiler": { - "version": "18.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-18.4.0.tgz", - "integrity": "sha512-HlFHt2qgdd+jqyVIkCXmrjHauXo/XY3Rp0UNabk83ejGi/raM/6lEFI7iFWzHxLyiAKk4OgGI5W26giSQw991A==", + "version": "18.4.3", + "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-18.4.3.tgz", + "integrity": "sha512-zdrA8mR98X+U4YgHzUKmivRU+PxzwOL/j8G7eTOvBuq8GPzsP+hvak+tyxlgeGm9HsvpFj9ERHLtJ0xDUPs8fg==", "dev": true }, "@angular-eslint/eslint-plugin": { - "version": "18.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-18.4.0.tgz", - "integrity": "sha512-Saz9lkWPN3da7ZKW17UsOSN7DeY+TPh+wz/6GCNZCh67Uw2wvMC9agb+4hgpZNXYCP5+u7erqzxQmBoWnS/A+A==", + "version": "18.4.3", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-18.4.3.tgz", + "integrity": "sha512-AyJbupiwTBR81P6T59v+aULEnPpZBCBxL2S5QFWfAhNCwWhcof4GihvdK2Z87yhvzDGeAzUFSWl/beJfeFa+PA==", "dev": true, "requires": { - "@angular-eslint/bundled-angular-compiler": "18.4.0", - "@angular-eslint/utils": "18.4.0" + "@angular-eslint/bundled-angular-compiler": "18.4.3", + "@angular-eslint/utils": "18.4.3" } }, "@angular-eslint/eslint-plugin-template": { - "version": "18.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-18.4.0.tgz", - "integrity": "sha512-n3uZFCy76DnggPqjSVFV3gYD1ik7jCG28o2/HO4kobcMNKnwW8XAlFUagQ4TipNQh7fQiAefsEqvv2quMsYDVw==", + "version": "18.4.3", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-18.4.3.tgz", + "integrity": "sha512-ijGlX2N01ayMXTpeQivOA31AszO8OEbu9ZQUCxnu9AyMMhxyi2q50bujRChAvN9YXQfdQtbxuajxV6+aiWb5BQ==", "dev": true, "requires": { - "@angular-eslint/bundled-angular-compiler": "18.4.0", - "@angular-eslint/utils": "18.4.0", + "@angular-eslint/bundled-angular-compiler": "18.4.3", + "@angular-eslint/utils": "18.4.3", "aria-query": "5.3.2", "axobject-query": "4.1.0" } }, "@angular-eslint/schematics": { - "version": "18.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-18.4.0.tgz", - "integrity": "sha512-ssqe+0YCfekbWIXNdCrHfoPK/bPZAWybs0Bn/b99dfd8h8uyXkERo9AzIOx4Uyj/08SkP9aPL/0uOOEHDsRGwQ==", + "version": "18.4.3", + "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-18.4.3.tgz", + "integrity": "sha512-D5maKn5e6n58+8n7jLFLD4g+RGPOPeDSsvPc1sqial5tEKLxAJQJS9WZ28oef3bhkob6C60D+1H0mMmEEVvyVA==", "dev": true, "requires": { - "@angular-eslint/eslint-plugin": "18.4.0", - "@angular-eslint/eslint-plugin-template": "18.4.0", - "ignore": "5.3.2", + "@angular-devkit/core": ">= 18.0.0 < 19.0.0", + "@angular-devkit/schematics": ">= 18.0.0 < 19.0.0", + "@angular-eslint/eslint-plugin": "18.4.3", + "@angular-eslint/eslint-plugin-template": "18.4.3", + "ignore": "6.0.2", "semver": "7.6.3", "strip-json-comments": "3.1.1" }, "dependencies": { + "@angular-devkit/core": { + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.2.12.tgz", + "integrity": "sha512-NtB6ypsaDyPE6/fqWOdfTmACs+yK5RqfH5tStEzWFeeDsIEDYKsJ06ypuRep7qTjYus5Rmttk0Ds+cFgz8JdUQ==", + "dev": true, + "requires": { + "ajv": "8.17.1", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.2", + "rxjs": "7.8.1", + "source-map": "0.7.4" + } + }, + "@angular-devkit/schematics": { + "version": "18.2.12", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-18.2.12.tgz", + "integrity": "sha512-mMea9txHbnCX5lXLHlo0RAgfhFHDio45/jMsREM2PA8UtVf2S8ltXz7ZwUrUyMQRv8vaSfn4ijDstF4hDMnRgQ==", + "dev": true, + "requires": { + "@angular-devkit/core": "18.2.12", + "jsonc-parser": "3.3.1", + "magic-string": "0.30.11", + "ora": "5.4.1", + "rxjs": "7.8.1" + } + }, + "ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + } + }, + "ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dev": true, + "requires": { + "ajv": "^8.0.0" + } + }, + "ignore": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-6.0.2.tgz", + "integrity": "sha512-InwqeHHN2XpumIkMvpl/DCJVrAHgCsG5+cn1XlnLWGwtZBm8QJfSusItfrwx81CTp5agNZqpKU2J/ccC5nGT4A==", + "dev": true + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "magic-string": { + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true + }, "semver": { "version": "7.6.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", @@ -22169,12 +22533,12 @@ } }, "@angular-eslint/template-parser": { - "version": "18.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-18.4.0.tgz", - "integrity": "sha512-VTep3Xd3IOaRIPL+JN/TV4/2DqUPbjtF3TNY15diD/llnrEhqFnmsvMihexbQyTqzOG+zU554oK44YfvAtHOrw==", + "version": "18.4.3", + "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-18.4.3.tgz", + "integrity": "sha512-JZMPtEB8yNip3kg4WDEWQyObSo2Hwf+opq2ElYuwe85GQkGhfJSJ2CQYo4FSwd+c5MUQAqESNRg9QqGYauDsiw==", "dev": true, "requires": { - "@angular-eslint/bundled-angular-compiler": "18.4.0", + "@angular-eslint/bundled-angular-compiler": "18.4.3", "eslint-scope": "^8.0.2" }, "dependencies": { @@ -22197,30 +22561,30 @@ } }, "@angular-eslint/utils": { - "version": "18.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-18.4.0.tgz", - "integrity": "sha512-At1yS8GRviGBoaupiQwEOL4/IcZJCE/+2vpXdItMWPGB1HWetxlKAUZTMmIBX/r5Z7CoXxl+LbqpGhrhyzIQAg==", + "version": "18.4.3", + "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-18.4.3.tgz", + "integrity": "sha512-w0bJ9+ELAEiPBSTPPm9bvDngfu1d8JbzUhvs2vU+z7sIz/HMwUZT5S4naypj2kNN0gZYGYrW0lt+HIbW87zTAQ==", "dev": true, "requires": { - "@angular-eslint/bundled-angular-compiler": "18.4.0" + "@angular-eslint/bundled-angular-compiler": "18.4.3" } }, "@angular/animations": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-19.0.0.tgz", - "integrity": "sha512-+uZTvEXjYh8PZKB4ijk8uuH1K+Tz/A67mUlltFv9pYKtnmbZAeS/PI66g/7pigRYDvEgid1fvlAANeBShAiPZQ==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-19.0.1.tgz", + "integrity": "sha512-1TZ3meVmoMuQwXaHSCeIGq8tmGcwobCQM2AQ6hfK+j6eyWTSx8BdWWi+Z1iIjiYFx3pJljQiWLAHULZ66Ep/GQ==", "requires": { "tslib": "^2.3.0" } }, "@angular/build": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular/build/-/build-19.0.0.tgz", - "integrity": "sha512-OLyUwAVCSqW589l19g19aP2O1NpBMRPsqKmYLaTYvYSIcZkNRJPxOcsCIDGB3FUQUEjpouYtzPA3RtBuJWsCwQ==", + "version": "19.0.2", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-19.0.2.tgz", + "integrity": "sha512-i2mSg9ZoPto3IMNi/HnP2ZOwvcmaPEKrS7EOYeu1m1W9InuZ55ssMqrjKpeohKVYHwep8QmFrmDERbqutaN2hg==", "dev": true, "requires": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1900.0", + "@angular-devkit/architect": "0.1900.2", "@babel/core": "7.26.0", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -22275,26 +22639,26 @@ } }, "@angular/cdk": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-19.0.0.tgz", - "integrity": "sha512-KcOYhCwN4Bw3L4+W4ymTfPGqRjrkwD8M5jX8GM7YsZ5DsX9OEd/gNrwRvjn+8JItzimXLXdGrcqXrMTxkq7QPA==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-19.0.1.tgz", + "integrity": "sha512-dIqYBQISvxlpXIU10625rURPjniQV1emXbFF6wAEE48iqx9mm9WZ11KZU4heqA3qp/betZYcVY2Hwc7fLKp4Uw==", "requires": { "parse5": "^7.1.2", "tslib": "^2.3.0" } }, "@angular/cli": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-19.0.0.tgz", - "integrity": "sha512-7FTNkMtTuaXp4CCWZlRIwFZtnkDJg+YjqAuloDNGhIXDjDsb9gWihepWpWXSMBTg4XI1OdsT+oYt38Z0YMck0A==", + "version": "19.0.2", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-19.0.2.tgz", + "integrity": "sha512-TlPrs3hRkHWrQEKwHde9l2F4IgT5tWTx4zFcllzBh2dW9iRpqXSYRb82xNHsbopdAu4lXjsYl7JilV2DQPZEaA==", "dev": true, "requires": { - "@angular-devkit/architect": "0.1900.0", - "@angular-devkit/core": "19.0.0", - "@angular-devkit/schematics": "19.0.0", + "@angular-devkit/architect": "0.1900.2", + "@angular-devkit/core": "19.0.2", + "@angular-devkit/schematics": "19.0.2", "@inquirer/prompts": "7.1.0", "@listr2/prompt-adapter-inquirer": "2.0.18", - "@schematics/angular": "19.0.0", + "@schematics/angular": "19.0.2", "@yarnpkg/lockfile": "1.1.0", "ini": "5.0.0", "jsonc-parser": "3.3.1", @@ -22381,25 +22745,25 @@ } }, "@angular/common": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-19.0.0.tgz", - "integrity": "sha512-kb2iS26GZS0vyR3emAQbIiQifnK5M5vnbclEHni+pApDEU5V9FufbdRP3vCxs28UHZvAZKB0LrxkTrnT6T+z5g==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-19.0.1.tgz", + "integrity": "sha512-FWAyHlEhPeLHvNLuzSl2rlksK/fVVB5O3soBYOeiKScN1vlAdALbwPDIHhimhNFBV8kmtc144WjkcTxt8MK/4g==", "requires": { "tslib": "^2.3.0" } }, "@angular/compiler": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-19.0.0.tgz", - "integrity": "sha512-Uw2Yy25pdqfzKsS9WofnIq1zvknlVYyy03LYO7NMKHlFWiy8q8SIXN7WKPFhiHlOfyACXipp4eZb9m3+IbOfSA==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-19.0.1.tgz", + "integrity": "sha512-loyI701+As+sWsE4yr9HpIPBqIohpNrGby/hsXtr+zJTMUWp/sKZlavctVtUsWWJhwHMevoybdgd3N9NY97F7g==", "requires": { "tslib": "^2.3.0" } }, "@angular/compiler-cli": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-19.0.0.tgz", - "integrity": "sha512-2PxpsIeppoDLAx7A6i0GE10WjC+Fkz8tTQioa7r4y/+eYnniEjJFIQM/8lbkOnRVcuYoeXoNyYWr3fEQAyO4LA==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-19.0.1.tgz", + "integrity": "sha512-dIpJCRPmmgmPyAqkOwhP4IEj+T5H4s3x39sCCBohqr2mlZcTXp/Fir8CXnMHlzawh4eXm4pvHjvh/bmMH4efrA==", "dev": true, "requires": { "@babel/core": "7.26.0", @@ -22500,72 +22864,72 @@ } }, "@angular/core": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-19.0.0.tgz", - "integrity": "sha512-aNG2kd30BOM/zf0jC+aEVG8OA27IwqCki9EkmyRNYnaP2O5Mj1n7JpCyZGI+0LrWTJ2UUCfRNZiZdZwmNThr1Q==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-19.0.1.tgz", + "integrity": "sha512-+VpWcg2aC/dY9TM6fsj00enZ6RP5wpRqk/SeRe3UP3Je/n+vWIgHJTb1ZLNeOIvDaE86BhKPMwFS0QVjoEGQFA==", "requires": { "tslib": "^2.3.0" } }, "@angular/forms": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-19.0.0.tgz", - "integrity": "sha512-gM4bUdlIJ0uRYNwoVMbXiZt4+bZzPXzyQ7ByNIOVKEAI0PN9Jz1dR1pSeQgIoUvKQbhwsVKVUoa7Tn1hoqwvTg==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-19.0.1.tgz", + "integrity": "sha512-PNMQVi97ZK9X7fQeO1li6LxoL9U6v7ByC+4kj7xHAcOGaBCB+EJ/ZPKCKeaGn4G7mJd3iH8SMVzoUQc028KIcw==", "requires": { "tslib": "^2.3.0" } }, "@angular/language-service": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-19.0.0.tgz", - "integrity": "sha512-oXDZ+gOTVFhpGg+Cp/3Mo0aa214eCF13dEboRYTIM/m1jnsTHcIlfhRpkw+FLUSEN9MTVK5xVfx5gUudI7T0rg==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-19.0.1.tgz", + "integrity": "sha512-1gpC3oYaD3kcOg7lElZId70wz9SSD/mYDDq6UFn0XGX7HXcmxdFQFxEmYil/7aUHU7mhju0Bse7cAsSdm1vL+w==", "dev": true }, "@angular/material": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-19.0.0.tgz", - "integrity": "sha512-j7dDFUh8dqiysuWu32biukDTHScajUYHFR9Srhn98kBwnXMob5y1paMoOx5RQO5DU4KCxKaKx8HcHJBJeTKHjw==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-19.0.1.tgz", + "integrity": "sha512-pAZ+cgBUAJjXmwAY4u1NXuxcxJKHts0s7ZNpf6JGUu+yWArLOc/BwFTDO9Htzz2E82eMH417d1ny4fpYwdgIZg==", "requires": { "tslib": "^2.3.0" } }, "@angular/platform-browser": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-19.0.0.tgz", - "integrity": "sha512-g9Qkv+KgEmXLVeg+dw1edmWsRBspUGeJMOBf2UX1kUCw6txeco+pzCMimouB5LQYHfs6cD6oC+FwINm0HNwrhg==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-19.0.1.tgz", + "integrity": "sha512-ycl6GsK5avKz2PKyKR8G3eqH5rWdzTqRfYStN+1Ufhopx9jmCQ9r0JSIekoHJ8W2KDZfojWp6f4izDMvKnUpvA==", "requires": { "tslib": "^2.3.0" } }, "@angular/platform-browser-dynamic": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-19.0.0.tgz", - "integrity": "sha512-ljvycDe0etmTBDzbCFakpsItywddpKEyCZGMKRvz5TdND1N1qqXydxAF1kLzP5H7F/QOMdP4/T/T1HS+6AUpkw==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-19.0.1.tgz", + "integrity": "sha512-A8sM0NTwZPFpv5kWSUeRhMENCw8kmBxR9CX9TMVeU6u9TP+IT3SFhUWhDQZNbmJAHhyAuk5B1gBJ/aoz0/OBcw==", "requires": { "tslib": "^2.3.0" } }, "@angular/platform-server": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-19.0.0.tgz", - "integrity": "sha512-eQ+mT2DvIp+tQO268WJQ5CO9nB+jcXNYqUzEfAqAhUNnpxCn3j6d8GNjx16GOVkHVBrVJvW32WPBCG4fzoi0sQ==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-19.0.1.tgz", + "integrity": "sha512-PcWS04PayxY/hw1z9RAXNMgrkMKybp9Cam6mXyncs7wTCvpigZJRDIze7GQgaKScIRk7vEizhjibP/sIFicA4Q==", "requires": { "tslib": "^2.3.0", "xhr2": "^0.2.0" } }, "@angular/router": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-19.0.0.tgz", - "integrity": "sha512-uFyT8DWVLGY8k0AZjpK7iyMO/WwT4/+b09Ax0uUEbdcRxTXSOg8/U/AVzQWtxzxI80/vJE2WZMmhIJFUTYwhKA==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-19.0.1.tgz", + "integrity": "sha512-/9f7RxVqOTASFhpqla7x9V58SE8Yv4SClKRikvv5Tn5EGDbSVR3DgGu6qENP57A2pVPW4Ho5er5KKT35HjhcFw==", "requires": { "tslib": "^2.3.0" } }, "@angular/ssr": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@angular/ssr/-/ssr-19.0.0.tgz", - "integrity": "sha512-gzGDhLTlfVZFdoXl1NGRViLE7F9UPsBOVIE7PE3TlY/+/dHNJlIb9UrVGe0iI+sbLlPC8csGUE1040PSzs6+3g==", + "version": "19.0.2", + "resolved": "https://registry.npmjs.org/@angular/ssr/-/ssr-19.0.2.tgz", + "integrity": "sha512-Ufm8/XsgqwBUA016fmjTHFtrHAkRX/BKwI3g0HNy0yTj7ygbqqN6UIQBnPAIXYlu3Yid9Sc2g5x3c27MIyExLQ==", "requires": { "tslib": "^2.3.0" } @@ -25016,9 +25380,9 @@ "optional": true }, "@ngtools/webpack": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-19.0.0.tgz", - "integrity": "sha512-UuLK1P184R12l6obaVzGk5yzCMQNwfahlkhNapbntvvFw27O76nEYVFM5y8tPkhC3XrsH4v6Ag21q+WADkR9jQ==", + "version": "19.0.2", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-19.0.2.tgz", + "integrity": "sha512-wHAIItix6zAOczdLjY9Z/e4mtpBDSzBkN//N6GHoGtjtCSzqZg4uPg5KG7B5tpVb/u6IMRK+4hhu9Vu8lhzz8g==", "dev": true }, "@ngxs/storage-plugin": { @@ -25616,13 +25980,13 @@ "dev": true }, "@schematics/angular": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-19.0.0.tgz", - "integrity": "sha512-2U8dlhURoQfS99ZF67RVeARFeJn4Z0Lg2dfYbGj+ooRH5YMtAZq8zAIRCfyC3OMiJEZM6BbGigCD6gNoAhP0RQ==", + "version": "19.0.2", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-19.0.2.tgz", + "integrity": "sha512-KPNKJRcuJ9kWctcW+g7WzmCEHpjNnYbNVyiU/MvKdQX0uhGXnXE13YMVfgYIf/0KeHcVp5dkAwg5dkmm9PGNTw==", "dev": true, "requires": { - "@angular-devkit/core": "19.0.0", - "@angular-devkit/schematics": "19.0.0", + "@angular-devkit/core": "19.0.2", + "@angular-devkit/schematics": "19.0.2", "jsonc-parser": "3.3.1" } }, @@ -26156,9 +26520,9 @@ "dev": true }, "@types/jasmine": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.4.tgz", - "integrity": "sha512-px7OMFO/ncXxixDe1zR13V1iycqWae0MxTaw62RpFlksUi5QuNWgQJFkTQjIOvrmutJbI7Fp2Y2N1F6D2R4G6w==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.5.tgz", + "integrity": "sha512-SaCZ3kM5NjOiJqMRYwHpLbTfUC2Dyk1KS3QanNFsUYPGTk70CWVK/J9ueun6zNhw/UkgV7xl8V4ZLQZNRbfnNw==", "dev": true }, "@types/jasminewd2": { @@ -26189,12 +26553,12 @@ "dev": true }, "@types/node": { - "version": "22.9.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.1.tgz", - "integrity": "sha512-p8Yy/8sw1caA8CdRIQBG5tiLHmxtQKObCijiAa9Ez+d4+PRffM4054xbju0msf+cvhJpnFEeNjxmVT/0ipktrg==", + "version": "22.10.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.1.tgz", + "integrity": "sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ==", "dev": true, "requires": { - "undici-types": "~6.19.8" + "undici-types": "~6.20.0" } }, "@types/node-forge": { @@ -28904,9 +29268,9 @@ } }, "eslint-plugin-jsdoc": { - "version": "50.5.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-50.5.0.tgz", - "integrity": "sha512-xTkshfZrUbiSHXBwZ/9d5ulZ2OcHXxSvm/NPo494H/hadLRJwOq5PMV0EUpMqsb9V+kQo+9BAgi6Z7aJtdBp2A==", + "version": "50.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-50.6.0.tgz", + "integrity": "sha512-tCNp4fR79Le3dYTPB0dKEv7yFyvGkUCa+Z3yuTrrNGGOxBlXo9Pn0PEgroOZikUQOGjxoGMVKNjrOHcYEdfszg==", "dev": true, "requires": { "@es-joy/jsdoccomment": "~0.49.0", @@ -31485,9 +31849,9 @@ "dev": true }, "marked": { - "version": "14.1.4", - "resolved": "https://registry.npmjs.org/marked/-/marked-14.1.4.tgz", - "integrity": "sha512-vkVZ8ONmUdPnjCKc5uTRvmkRbx4EAi2OkTOXmfTDhZz3OFqMNBM1oTTWwTr4HY4uAEojhzPf+Fy8F1DWa3Sndg==" + "version": "15.0.3", + "resolved": "https://registry.npmjs.org/marked/-/marked-15.0.3.tgz", + "integrity": "sha512-Ai0cepvl2NHnTcO9jYDtcOEtVBNVYR31XnEA3BndO7f5As1wzpcOceSUM8FDkNLJNIODcLpDTWay/qQhqbuMvg==" }, "md5": { "version": "2.3.0", @@ -31905,9 +32269,9 @@ "dev": true }, "ng-packagr": { - "version": "19.0.0", - "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-19.0.0.tgz", - "integrity": "sha512-CKJlpZO6sL3+RpXbmtH7wEHnqgktOkmvmoUpTUUuNOA6m3JRypvDZHW29hFzvgFkxTJI13QHuBWauuG42rtIUA==", + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-19.0.1.tgz", + "integrity": "sha512-PnXa/y3ce3v4bKJNtUBS7qcNoyv5g/tSthoMe23NyMV5kjNY4+hJT7h64zK+8tnJWTelCbIpoep7tmSPsOifBA==", "dev": true, "requires": { "@rollup/plugin-json": "^6.1.0", @@ -33140,9 +33504,9 @@ "dev": true }, "playwright-ng-schematics": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/playwright-ng-schematics/-/playwright-ng-schematics-1.1.1.tgz", - "integrity": "sha512-hsdw++d2eYaoX+AQ/scBIQ7faAKHavG1qM2W8s0VBxZfmxbampb7b2gGADe5cURKUNSPQZg8QEztQPHRzo8jCA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/playwright-ng-schematics/-/playwright-ng-schematics-1.2.1.tgz", + "integrity": "sha512-t7h+YLYAbCMH/BPJd/FQKvBriMaTVCOpXZ6/4To8N9BmWzBlUJayLSlXqLYtv5gQ5f6LpelHzZXchPHJ1nnjIw==", "dev": true, "requires": { "@angular-devkit/architect": "0.1800.6", @@ -33340,9 +33704,9 @@ "dev": true }, "prettier": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", - "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.1.tgz", + "integrity": "sha512-G+YdqtITVZmOJje6QkXQWzl3fSfMxFwm1tjTyo9exhkmWSqC4Yhd1+lug++IlR2mvRVAxEDDWYkQdeSztajqgg==", "dev": true }, "prettier-eslint": { @@ -35430,9 +35794,9 @@ "dev": true }, "typescript": { - "version": "5.5.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", - "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", + "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", "dev": true }, "ua-parser-js": { @@ -35461,9 +35825,9 @@ } }, "undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", "dev": true }, "unicode-canonical-property-names-ecmascript": { diff --git a/package.json b/package.json index 7ed9ff35..f7ea9cfb 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,8 @@ "build": "ng build", "test": "ng test", "lint": "ng lint", - "e2e": "ng e2e", + "e2e": "ng e2e dynamic-forms-demo", + "e2e:prod": "ng e2e dynamic-forms-demo --configuration=production", "build:ivy": "ngcc", "build:core": "ng build dynamic-forms-core --configuration=production", "build:bootstrap": "ng build dynamic-forms-bootstrap --configuration=production", @@ -62,23 +63,23 @@ }, "private": true, "dependencies": { - "@angular/animations": "^19.0.0", - "@angular/cdk": "^19.0.0", - "@angular/common": "^19.0.0", - "@angular/compiler": "^19.0.0", - "@angular/core": "^19.0.0", - "@angular/forms": "^19.0.0", - "@angular/material": "^19.0.0", - "@angular/platform-browser": "^19.0.0", - "@angular/platform-browser-dynamic": "^19.0.0", - "@angular/platform-server": "^19.0.0", - "@angular/router": "^19.0.0", - "@angular/ssr": "^19.0.0", + "@angular/animations": "^19.0.1", + "@angular/cdk": "^19.0.1", + "@angular/common": "^19.0.1", + "@angular/compiler": "^19.0.1", + "@angular/core": "^19.0.1", + "@angular/forms": "^19.0.1", + "@angular/material": "^19.0.1", + "@angular/platform-browser": "^19.0.1", + "@angular/platform-browser-dynamic": "^19.0.1", + "@angular/platform-server": "^19.0.1", + "@angular/router": "^19.0.1", + "@angular/ssr": "^19.0.2", "@ngxs/storage-plugin": "^18.1.6", "@ngxs/store": "^18.1.6", "bootstrap": "^5.2.3", "inputmask": "^5.0.9", - "marked": "^14.1.4", + "marked": "^15.0.3", "monaco-editor": "^0.50.0", "rxjs": "^7.4.0", "tslib": "^2.6.3", @@ -86,23 +87,23 @@ "zone.js": "~0.15.0" }, "devDependencies": { - "@angular-devkit/build-angular": "^19.0.0", - "@angular-devkit/core": "^19.0.0", - "@angular-devkit/schematics": "^19.0.0", - "@angular-eslint/builder": "^18.4.0", - "@angular-eslint/eslint-plugin": "^18.4.0", - "@angular-eslint/eslint-plugin-template": "^18.4.0", - "@angular-eslint/schematics": "^18.4.0", - "@angular-eslint/template-parser": "^18.4.0", - "@angular/cli": "^19.0.0", - "@angular/compiler-cli": "^19.0.0", - "@angular/language-service": "^19.0.0", + "@angular-devkit/build-angular": "^19.0.2", + "@angular-devkit/core": "^19.0.2", + "@angular-devkit/schematics": "^19.0.2", + "@angular-eslint/builder": "^18.4.3", + "@angular-eslint/eslint-plugin": "^18.4.3", + "@angular-eslint/eslint-plugin-template": "^18.4.3", + "@angular-eslint/schematics": "^18.4.3", + "@angular-eslint/template-parser": "^18.4.3", + "@angular/cli": "^19.0.2", + "@angular/compiler-cli": "^19.0.1", + "@angular/language-service": "^19.0.1", "@compodoc/compodoc": "^1.1.26", "@playwright/test": "1.49.0", "@types/inputmask": "^5.0.7", - "@types/jasmine": "~5.1.4", + "@types/jasmine": "~5.1.5", "@types/jasminewd2": "~2.0.13", - "@types/node": "~22.9.1", + "@types/node": "~22.10.1", "@types/uuid": "^10.0.0", "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", @@ -113,7 +114,7 @@ "eslint-config-prettier": "^9.1.0", "eslint-import-resolver-typescript": "^3.6.3", "eslint-plugin-import": "^2.31.0", - "eslint-plugin-jsdoc": "^50.5.0", + "eslint-plugin-jsdoc": "^50.6.0", "eslint-plugin-prefer-arrow": "^1.2.3", "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-unused-imports": "^3.2.0", @@ -126,11 +127,11 @@ "karma-jasmine-html-reporter": "^2.1.0", "karma-junit-reporter": "^2.0.1", "ng-mocks": "^14.13.1", - "ng-packagr": "^19.0.0", - "playwright-ng-schematics": "^1.1.1", - "prettier": "^3.3.3", + "ng-packagr": "^19.0.1", + "playwright-ng-schematics": "^1.2.1", + "prettier": "^3.4.1", "prettier-eslint": "^16.3.0", "ts-node": "~10.9.2", - "typescript": "^5.5.4" + "typescript": "~5.6.3" } } From 465c0f0afa01ee2606cdfa0250eb86896940e219 Mon Sep 17 00:00:00 2001 From: Alexander Gebuhr Date: Fri, 29 Nov 2024 22:13:33 +0100 Subject: [PATCH 12/20] Fix azure pipeline report for e2e --- angular.json | 3 +-- .../playwright.config.ts => playwright.config.ts | 10 +++++----- 2 files changed, 6 insertions(+), 7 deletions(-) rename apps/demo-e2e/playwright.config.ts => playwright.config.ts (87%) diff --git a/angular.json b/angular.json index 6774883a..f92e9a88 100644 --- a/angular.json +++ b/angular.json @@ -337,8 +337,7 @@ "e2e": { "builder": "playwright-ng-schematics:playwright", "options": { - "devServerTarget": "dynamic-forms-demo:serve", - "config": "apps/demo-e2e/playwright.config.ts" + "devServerTarget": "dynamic-forms-demo:serve" }, "configurations": { "production": { diff --git a/apps/demo-e2e/playwright.config.ts b/playwright.config.ts similarity index 87% rename from apps/demo-e2e/playwright.config.ts rename to playwright.config.ts index 5ec80ff1..335e04e8 100644 --- a/apps/demo-e2e/playwright.config.ts +++ b/playwright.config.ts @@ -10,8 +10,8 @@ import { defineConfig, devices } from '@playwright/test'; * See https://playwright.dev/docs/test-configuration. */ export default defineConfig({ - testDir: './src', - outputDir: '../../dist/v19/e2e/html', + testDir: './apps/demo-e2e/src', + outputDir: 'dist/v19/e2e/html', /* Run tests in files in parallel */ fullyParallel: true, /* Fail the build on CI if you accidentally left test.only in the source code. */ @@ -22,9 +22,9 @@ export default defineConfig({ workers: process.env['CI'] ? 1 : undefined, /* Reporter to use. See https://playwright.dev/docs/test-reporters */ reporter: [ - ['html', { outputFolder: '../../dist/v19/e2e/html', open: 'never' }], - ['junit', { outputFile: '../../dist/v19/e2e/junit/results.xml' }], - ['allure-playwright', { resultsDir: '../../dist/v19/e2e/allure' }], + ['html', { outputFolder: 'dist/v19/e2e/html', open: 'never' }], + ['junit', { outputFile: 'dist/v19/e2e/junit/results.xml' }], + ['allure-playwright', { resultsDir: 'dist/v19/e2e/allure' }], ], /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ use: { From 861c9352e676e5b2fdc61901ac2acf28c6480603 Mon Sep 17 00:00:00 2001 From: Alexander Gebuhr Date: Mon, 2 Dec 2024 19:48:08 +0100 Subject: [PATCH 13/20] Update of azure pipelines --- dynamic-forms-cd.yml | 43 ++++++++++----------------------------- dynamic-forms-ci.yml | 33 ++++++++---------------------- dynamic-forms-e2e.yml | 18 ++++++---------- dynamic-forms-publish.yml | 23 +++++++-------------- 4 files changed, 33 insertions(+), 84 deletions(-) diff --git a/dynamic-forms-cd.yml b/dynamic-forms-cd.yml index bcc656d5..c94a45b1 100644 --- a/dynamic-forms-cd.yml +++ b/dynamic-forms-cd.yml @@ -13,31 +13,19 @@ variables: value: v19 steps: -- task: Npm@1 - displayName: npm install +- task: UseNode@1 inputs: - command: custom - customCommand: install -- task: Npm@1 + version: 22.x +- script: npm install + displayName: npm install +- script: npm run lint displayName: npm lint - inputs: - command: custom - customCommand: run lint -- task: Npm@1 +- script: npm run build:libs displayName: npm build libs - inputs: - command: custom - customCommand: run build:libs -- task: Npm@1 +- script: npm run test:libs displayName: npm test libs - inputs: - command: custom - customCommand: run test:libs -- task: Npm@1 +- script: npm run test:demo displayName: npm test demo - inputs: - command: custom - customCommand: run test:demo - task: PublishTestResults@2 displayName: Publish test results continueOnError: True @@ -48,22 +36,13 @@ steps: inputs: codeCoverageTool: Cobertura summaryFileLocation: dist/${{ variables.major_version_name }}/tests/cobertura-coverage.xml -- task: Npm@1 +- script: npm run cover:libs displayName: npm cover libs - inputs: - command: custom - customCommand: run cover:libs -- task: Npm@1 +- script: npm run doc:libs displayName: npm doc libs continueOnError: True - inputs: - command: custom - customCommand: run doc:libs -- task: Npm@1 +- script: npm run build:demo:prod -- --base-href=#{BaseHref}# displayName: npm build demo - inputs: - command: custom - customCommand: run build:demo:prod -- --base-href=#{BaseHref}# - task: PublishBuildArtifacts@1 displayName: Publish Artifact inputs: diff --git a/dynamic-forms-ci.yml b/dynamic-forms-ci.yml index cf7d9d25..7bacd7d5 100644 --- a/dynamic-forms-ci.yml +++ b/dynamic-forms-ci.yml @@ -13,26 +13,17 @@ variables: value: v19 steps: -- task: Npm@1 - displayName: npm install +- task: UseNode@1 inputs: - command: custom - customCommand: install -- task: Npm@1 + version: 22.x +- script: npm install + displayName: npm install +- script: npm run lint displayName: npm lint - inputs: - command: custom - customCommand: run lint -- task: Npm@1 +- script: npm run build:libs displayName: npm build libs - inputs: - command: custom - customCommand: run build:libs -- task: Npm@1 +- script: npm run test:libs displayName: npm test libs - inputs: - command: custom - customCommand: run test:libs - task: PublishTestResults@2 displayName: Publish test results inputs: @@ -42,13 +33,7 @@ steps: inputs: codeCoverageTool: Cobertura summaryFileLocation: dist/${{ variables.major_version_name }}/tests/cobertura-coverage.xml -- task: Npm@1 +- script: npm run test:demo displayName: npm test demo - inputs: - command: custom - customCommand: run test:demo -- task: Npm@1 +- script: npm run build:demo:prod displayName: npm build demo - inputs: - command: custom - customCommand: run build:demo:prod diff --git a/dynamic-forms-e2e.yml b/dynamic-forms-e2e.yml index 7cf7ba53..1258fe5a 100644 --- a/dynamic-forms-e2e.yml +++ b/dynamic-forms-e2e.yml @@ -13,24 +13,18 @@ variables: value: v19 steps: -- task: Npm@1 - displayName: npm install +- task: UseNode@1 inputs: - command: custom - customCommand: install + version: 22.x +- script: npm install + displayName: npm install - script: npx playwright install --with-deps displayName: 'Install Playwright browsers' -- task: Npm@1 +- script: npm run build:libs displayName: npm build libs - inputs: - command: custom - customCommand: run build:libs -- task: Npm@1 +- script: npm run run e2e:prod displayName: npm e2e continueOnError: True - inputs: - command: custom - customCommand: run e2e:prod - task: PublishTestResults@2 displayName: 'Publish test results' inputs: diff --git a/dynamic-forms-publish.yml b/dynamic-forms-publish.yml index 1cd420b8..7ddff55b 100644 --- a/dynamic-forms-publish.yml +++ b/dynamic-forms-publish.yml @@ -13,26 +13,17 @@ variables: value: v19 steps: -- task: Npm@1 - displayName: npm install +- task: UseNode@1 inputs: - command: custom - customCommand: install -- task: Npm@1 + version: 22.x +- script: npm install + displayName: npm install +- script: npm run lint displayName: npm lint - inputs: - command: custom - customCommand: run lint -- task: Npm@1 +- script: npm run build:libs displayName: npm build libs - inputs: - command: custom - customCommand: run build:libs -- task: Npm@1 +- script: npm run test:libs displayName: npm test libs - inputs: - command: custom - customCommand: run test:libs - task: PublishTestResults@2 displayName: Publish test results continueOnError: True From aa1b2ed5bab2a13e1e0a7610ead14cd171e5935b Mon Sep 17 00:00:00 2001 From: Alexander Gebuhr Date: Mon, 2 Dec 2024 19:54:03 +0100 Subject: [PATCH 14/20] Fixed issue in e2e pipeline --- dynamic-forms-e2e.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dynamic-forms-e2e.yml b/dynamic-forms-e2e.yml index 1258fe5a..f494c189 100644 --- a/dynamic-forms-e2e.yml +++ b/dynamic-forms-e2e.yml @@ -22,7 +22,7 @@ steps: displayName: 'Install Playwright browsers' - script: npm run build:libs displayName: npm build libs -- script: npm run run e2e:prod +- script: npm run e2e:prod displayName: npm e2e continueOnError: True - task: PublishTestResults@2 From dfff9fd387f0b2ad7d6f148a69846f7ee7f906f6 Mon Sep 17 00:00:00 2001 From: Alexander Gebuhr Date: Wed, 4 Dec 2024 21:05:54 +0100 Subject: [PATCH 15/20] Update of angular and angular eslint --- .eslintrc.json | 1 + apps/demo/src/app/app.component.ts | 1 - apps/demo/src/app/docs/changelog.component.ts | 1 - apps/demo/src/app/docs/docs.component.ts | 1 - .../bootstrap/bootstrap-editor.component.ts | 1 - apps/demo/src/app/editor/form-editor-base.ts | 2 +- .../app/editor/form-editor-log-data.pipe.ts | 2 +- .../app/editor/form-editor-log-level.pipe.ts | 2 +- .../app/editor/form-editor-logs.component.ts | 1 - .../src/app/editor/form-editor.component.ts | 1 - .../material/material-editor.component.ts | 1 - .../bootstrap/bootstrap-examples.component.ts | 1 - .../app/examples/form-example.component.ts | 1 - .../material/material-examples.component.ts | 1 - .../bootstrap/bootstrap-form.component.ts | 1 - apps/demo/src/app/form/form-base.ts | 2 +- apps/demo/src/app/form/form-data.pipe.ts | 2 +- .../app/form/form-submit-dialog.component.ts | 1 - .../form/material/material-form.component.ts | 1 - apps/demo/src/app/home/home.component.ts | 1 - .../app/layout/content/content.component.ts | 1 - .../sidebar-menu/sidebar-menu.component.ts | 1 - .../content/sidebar/sidebar.component.ts | 1 - .../src/app/layout/footer/footer.component.ts | 1 - .../docs-menu/docs-menu-items.component.ts | 1 - .../header/docs-menu/docs-menu.component.ts | 1 - .../editor-menu-panel.component.ts | 1 - .../editor-menu/editor-menu.component.ts | 1 - .../examples-menu-panel.component.ts | 1 - .../examples-menu/examples-menu.component.ts | 1 - .../src/app/layout/header/header.component.ts | 1 - .../notifications-toggle.component.ts | 1 - .../app/layout/header/pipes/code-url.pipe.ts | 2 +- .../preferences-menu.component.ts | 1 - .../sidebar-toggle.component.ts | 1 - .../versions-menu/versions-menu.component.ts | 1 - .../notifications/notifications.component.ts | 1 - .../app/layout/progress/progress.component.ts | 1 - .../demo/src/app/license/license.component.ts | 1 - .../src/app/markdown/markdown.component.ts | 1 - .../src/app/monaco/monaco-editor.component.ts | 1 - .../dynamic-form-input-mask.component.spec.ts | 2 +- .../lib/dynamic-form-input-mask.component.ts | 1 - .../dynamic-form-button.component.ts | 1 - .../dynamic-form-icon.component.ts | 1 - .../dynamic-form-dialog.component.spec.ts | 1 - .../dynamic-form-dialog.component.ts | 1 - .../dynamic-form-accordion.component.ts | 1 - .../dynamic-form-tabs.component.ts | 1 - .../dynamic-form-modal.component.ts | 1 - ...amic-form-control-errors.component.spec.ts | 1 - .../dynamic-form-control-errors.component.ts | 1 - ...namic-form-control-hints.component.spec.ts | 1 - .../dynamic-form-control-hints.component.ts | 1 - ...namic-form-control-label.component.spec.ts | 1 - .../dynamic-form-control-label.component.ts | 1 - .../dynamic-form-checkbox.component.ts | 1 - .../dynamic-form-combobox.component.ts | 1 - .../dynamic-form-datepicker.component.ts | 1 - .../dynamic-form-file.component.spec.ts | 2 +- .../dynamic-form-file.component.ts | 1 - .../dynamic-form-input-wrapper.component.ts | 1 - .../dynamic-form-numberbox.component.ts | 1 - .../dynamic-form-radio.component.ts | 1 - .../dynamic-form-select.component.ts | 1 - .../dynamic-form-switch.component.ts | 1 - .../dynamic-form-textarea.component.ts | 1 - .../dynamic-form-textbox.component.ts | 1 - .../dynamic-form-toggle.component.ts | 1 - .../lib/dynamic-form-input-mask-base.spec.ts | 1 - .../src/lib/dynamic-form-input-mask-base.ts | 2 +- .../dynamic-form-input-mask.directive.spec.ts | 2 - .../lib/dynamic-form-input-mask.directive.ts | 1 - .../dynamic-form-action-base.ts | 2 +- .../dynamic-form-button-base.spec.ts | 1 - .../dynamic-form-icon-base.spec.ts | 1 - .../dynamic-form-icon.pipe.ts | 5 +- .../dynamic-form-array.component.ts | 1 - .../dynamic-form-control.component.spec.ts | 2 - .../dynamic-form-control.component.ts | 1 - .../dynamic-form-dictionary.component.ts | 1 - .../dynamic-form-container.component.ts | 1 - .../dynamic-form-content.component.ts | 1 - .../dynamic-form-element-base.ts | 2 +- .../dynamic-form-element.component.spec.ts | 1 - .../dynamic-form-element.component.ts | 1 - .../dynamic-form-elements.component.spec.ts | 1 - .../dynamic-form-elements.component.ts | 1 - .../dynamic-form-items-base.ts | 2 +- .../dynamic-form-text.component.ts | 1 - .../dynamic-form-field-wrapper-base.spec.ts | 2 - .../dynamic-form-field-wrapper-base.ts | 2 +- .../dynamic-form-group.component.ts | 1 - .../dynamic-form-file-base.spec.ts | 1 - .../dynamic-form-file-base.ts | 2 +- .../dynamic-form-file.directive.ts | 1 - .../dynamic-form-input-base.spec.ts | 1 - .../dynamic-form-color.pipe.ts | 5 +- .../dynamic-form-component.factory.spec.ts | 7 - .../dynamic-form/dynamic-form.component.ts | 1 - .../lib/dynamic-form-markdown.component.ts | 1 - .../dynamic-form-input-mask.component.spec.ts | 2 +- .../lib/dynamic-form-input-mask.component.ts | 4 +- .../dynamic-form-button.component.ts | 1 - .../dynamic-form-icon.component.ts | 1 - .../dynamic-form-dialog.component.spec.ts | 1 - .../dynamic-form-dialog.component.ts | 1 - .../dynamic-form-accordion.component.ts | 1 - .../dynamic-form-tabs.component.ts | 1 - .../dynamic-form-modal.component.ts | 1 - .../dynamic-form-checkbox.component.ts | 1 - .../dynamic-form-combobox.component.ts | 1 - .../dynamic-form-datepicker.component.ts | 1 - .../dynamic-form-file.component.spec.ts | 2 +- .../dynamic-form-file.component.ts | 1 - .../dynamic-form-input-wrapper.component.ts | 1 - .../dynamic-form-numberbox.component.ts | 1 - .../dynamic-form-radio.component.ts | 1 - .../dynamic-form-select.component.ts | 1 - .../dynamic-form-switch.component.ts | 1 - .../dynamic-form-textarea.component.ts | 1 - .../dynamic-form-textbox.component.ts | 1 - .../dynamic-form-toggle.component.ts | 1 - package-lock.json | 979 ++++++------------ package.json | 56 +- 125 files changed, 368 insertions(+), 826 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 9a477f1b..9e5756a4 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -27,6 +27,7 @@ }, "rules": { "@angular-eslint/use-injectable-provided-in": "off", + "@angular-eslint/prefer-standalone": "error", "@angular-eslint/prefer-on-push-component-change-detection": "off", "@typescript-eslint/consistent-type-definitions": "error", "@typescript-eslint/dot-notation": "off", diff --git a/apps/demo/src/app/app.component.ts b/apps/demo/src/app/app.component.ts index d81d14b1..ed21b747 100644 --- a/apps/demo/src/app/app.component.ts +++ b/apps/demo/src/app/app.component.ts @@ -6,7 +6,6 @@ import { NotificationsComponent } from './layout/notifications/notifications.com import { ProgressComponent } from './layout/progress/progress.component'; @Component({ - standalone: true, selector: 'app-root', templateUrl: './app.component.html', styleUrl: './app.component.scss', diff --git a/apps/demo/src/app/docs/changelog.component.ts b/apps/demo/src/app/docs/changelog.component.ts index 90c74425..0396768c 100644 --- a/apps/demo/src/app/docs/changelog.component.ts +++ b/apps/demo/src/app/docs/changelog.component.ts @@ -2,7 +2,6 @@ import { Component } from '@angular/core'; import { MarkdownComponent } from '../markdown/markdown.component'; @Component({ - standalone: true, selector: 'app-changelog', templateUrl: './changelog.component.html', imports: [MarkdownComponent], diff --git a/apps/demo/src/app/docs/docs.component.ts b/apps/demo/src/app/docs/docs.component.ts index 0916a2ef..bc33d1ac 100644 --- a/apps/demo/src/app/docs/docs.component.ts +++ b/apps/demo/src/app/docs/docs.component.ts @@ -2,7 +2,6 @@ import { Component, Input } from '@angular/core'; import { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser'; @Component({ - standalone: true, selector: 'app-docs', templateUrl: './docs.component.html', styleUrl: './docs.component.scss', diff --git a/apps/demo/src/app/editor/bootstrap/bootstrap-editor.component.ts b/apps/demo/src/app/editor/bootstrap/bootstrap-editor.component.ts index 063b7d6b..bb6d95c7 100644 --- a/apps/demo/src/app/editor/bootstrap/bootstrap-editor.component.ts +++ b/apps/demo/src/app/editor/bootstrap/bootstrap-editor.component.ts @@ -5,7 +5,6 @@ import { FormEditorBase } from '../form-editor-base'; import { FormEditorComponent } from '../form-editor.component'; @Component({ - standalone: true, selector: 'app-bootstrap-editor', templateUrl: './bootstrap-editor.component.html', imports: [FormEditorComponent, BootstrapFormComponent], diff --git a/apps/demo/src/app/editor/form-editor-base.ts b/apps/demo/src/app/editor/form-editor-base.ts index b14e9f79..8d81bbae 100644 --- a/apps/demo/src/app/editor/form-editor-base.ts +++ b/apps/demo/src/app/editor/form-editor-base.ts @@ -3,7 +3,7 @@ import { ActivatedRoute } from '@angular/router'; import { Subscription } from 'rxjs'; import { FormEditorData } from './form-editor-data'; -@Directive({ standalone: true }) +@Directive({}) export abstract class FormEditorBase implements OnDestroy { private _subscriptions = new Subscription(); private _data: FormEditorData; diff --git a/apps/demo/src/app/editor/form-editor-log-data.pipe.ts b/apps/demo/src/app/editor/form-editor-log-data.pipe.ts index 24df59d8..0631ec05 100644 --- a/apps/demo/src/app/editor/form-editor-log-data.pipe.ts +++ b/apps/demo/src/app/editor/form-editor-log-data.pipe.ts @@ -1,7 +1,7 @@ import { Pipe, PipeTransform } from '@angular/core'; import { DynamicFormLog } from '@dynamic-forms/core'; -@Pipe({ standalone: true, name: 'appEditorLogData' }) +@Pipe({ name: 'appEditorLogData' }) export class FormEditorLogDataPipe implements PipeTransform { transform(log: DynamicFormLog): string { return log.data.map(item => (item instanceof Error && item.stack ? item.stack : item)).join('\n'); diff --git a/apps/demo/src/app/editor/form-editor-log-level.pipe.ts b/apps/demo/src/app/editor/form-editor-log-level.pipe.ts index 64d13ef7..d224c7d1 100644 --- a/apps/demo/src/app/editor/form-editor-log-level.pipe.ts +++ b/apps/demo/src/app/editor/form-editor-log-level.pipe.ts @@ -1,7 +1,7 @@ import { Pipe, PipeTransform } from '@angular/core'; import { DynamicFormLogLevel } from '@dynamic-forms/core'; -@Pipe({ standalone: true, name: 'appEditorLogLevel' }) +@Pipe({ name: 'appEditorLogLevel' }) export class FormEditorLogLevelPipe implements PipeTransform { private readonly values = { [DynamicFormLogLevel.Error]: 'Error', diff --git a/apps/demo/src/app/editor/form-editor-logs.component.ts b/apps/demo/src/app/editor/form-editor-logs.component.ts index c0081da6..a4646fd1 100644 --- a/apps/demo/src/app/editor/form-editor-logs.component.ts +++ b/apps/demo/src/app/editor/form-editor-logs.component.ts @@ -9,7 +9,6 @@ import { FormEditorLogDataPipe } from './form-editor-log-data.pipe'; import { FormEditorLogLevelPipe } from './form-editor-log-level.pipe'; @Component({ - standalone: true, selector: 'app-form-editor-logs', templateUrl: './form-editor-logs.component.html', styleUrl: './form-editor-logs.component.scss', diff --git a/apps/demo/src/app/editor/form-editor.component.ts b/apps/demo/src/app/editor/form-editor.component.ts index b9f1d215..4f9c920f 100644 --- a/apps/demo/src/app/editor/form-editor.component.ts +++ b/apps/demo/src/app/editor/form-editor.component.ts @@ -14,7 +14,6 @@ import { FormEditorData } from './form-editor-data'; import { FormEditorLogsComponent } from './form-editor-logs.component'; @Component({ - standalone: true, selector: 'app-form-editor', templateUrl: './form-editor.component.html', styleUrl: './form-editor.component.scss', diff --git a/apps/demo/src/app/editor/material/material-editor.component.ts b/apps/demo/src/app/editor/material/material-editor.component.ts index cb6f4803..de1da845 100644 --- a/apps/demo/src/app/editor/material/material-editor.component.ts +++ b/apps/demo/src/app/editor/material/material-editor.component.ts @@ -5,7 +5,6 @@ import { FormEditorBase } from '../form-editor-base'; import { FormEditorComponent } from '../form-editor.component'; @Component({ - standalone: true, selector: 'app-material-editor', templateUrl: './material-editor.component.html', imports: [FormEditorComponent, MaterialFormComponent], diff --git a/apps/demo/src/app/examples/bootstrap/bootstrap-examples.component.ts b/apps/demo/src/app/examples/bootstrap/bootstrap-examples.component.ts index 35737e16..183d7bb3 100644 --- a/apps/demo/src/app/examples/bootstrap/bootstrap-examples.component.ts +++ b/apps/demo/src/app/examples/bootstrap/bootstrap-examples.component.ts @@ -7,7 +7,6 @@ import { FormExampleBase } from '../form-example-base'; import { FormExampleComponent } from '../form-example.component'; @Component({ - standalone: true, selector: 'app-bootstrap-examples', templateUrl: './bootstrap-examples.component.html', imports: [AsyncPipe, FormExampleComponent, BootstrapFormComponent], diff --git a/apps/demo/src/app/examples/form-example.component.ts b/apps/demo/src/app/examples/form-example.component.ts index f2aa1ebc..d3282c3f 100644 --- a/apps/demo/src/app/examples/form-example.component.ts +++ b/apps/demo/src/app/examples/form-example.component.ts @@ -5,7 +5,6 @@ import { FormBase } from '../form/form-base'; import { MarkdownComponent } from '../markdown/markdown.component'; @Component({ - standalone: true, selector: 'app-form-example', templateUrl: './form-example.component.html', imports: [JsonPipe, MatTabsModule, MarkdownComponent], diff --git a/apps/demo/src/app/examples/material/material-examples.component.ts b/apps/demo/src/app/examples/material/material-examples.component.ts index fd15577a..590891eb 100644 --- a/apps/demo/src/app/examples/material/material-examples.component.ts +++ b/apps/demo/src/app/examples/material/material-examples.component.ts @@ -7,7 +7,6 @@ import { FormExampleBase } from '../form-example-base'; import { FormExampleComponent } from '../form-example.component'; @Component({ - standalone: true, selector: 'app-material-examples', templateUrl: './material-examples.component.html', imports: [AsyncPipe, FormExampleComponent, MaterialFormComponent], diff --git a/apps/demo/src/app/form/bootstrap/bootstrap-form.component.ts b/apps/demo/src/app/form/bootstrap/bootstrap-form.component.ts index 57681795..7de8d631 100644 --- a/apps/demo/src/app/form/bootstrap/bootstrap-form.component.ts +++ b/apps/demo/src/app/form/bootstrap/bootstrap-form.component.ts @@ -4,7 +4,6 @@ import { FormBase } from '../form-base'; import { BootstrapFormModule } from './bootstrap-form.module'; @Component({ - standalone: true, selector: 'app-bootstrap-form', templateUrl: './bootstrap-form.component.html', styleUrl: './bootstrap-form.component.scss', diff --git a/apps/demo/src/app/form/form-base.ts b/apps/demo/src/app/form/form-base.ts index 5e48ad19..6b4b135f 100644 --- a/apps/demo/src/app/form/form-base.ts +++ b/apps/demo/src/app/form/form-base.ts @@ -4,7 +4,7 @@ import { DynamicFormComponent, DynamicFormDefinition } from '@dynamic-forms/core import { FormData } from './form-data'; import { FormSubmitBase } from './form-submit-base'; -@Directive({ standalone: true }) +@Directive({}) export abstract class FormBase extends FormSubmitBase implements DoCheck { @ViewChild(DynamicFormComponent) form: DynamicFormComponent; diff --git a/apps/demo/src/app/form/form-data.pipe.ts b/apps/demo/src/app/form/form-data.pipe.ts index d5bb96da..74d2cec0 100644 --- a/apps/demo/src/app/form/form-data.pipe.ts +++ b/apps/demo/src/app/form/form-data.pipe.ts @@ -1,6 +1,6 @@ import { Pipe, PipeTransform } from '@angular/core'; -@Pipe({ standalone: true, name: 'appFormData' }) +@Pipe({ name: 'appFormData' }) export class FormDataPipe implements PipeTransform { transform(formData: FormData): { key: string; name: string }[] { if (!formData) { diff --git a/apps/demo/src/app/form/form-submit-dialog.component.ts b/apps/demo/src/app/form/form-submit-dialog.component.ts index e35221b6..952d409f 100644 --- a/apps/demo/src/app/form/form-submit-dialog.component.ts +++ b/apps/demo/src/app/form/form-submit-dialog.component.ts @@ -7,7 +7,6 @@ import { DynamicFormSubmit } from '@dynamic-forms/core'; import { FormDataPipe } from './form-data.pipe'; @Component({ - standalone: true, selector: 'app-form-submit-dialog', templateUrl: './form-submit-dialog.component.html', imports: [JsonPipe, MatButtonModule, MatDialogModule, MatTabsModule, FormDataPipe], diff --git a/apps/demo/src/app/form/material/material-form.component.ts b/apps/demo/src/app/form/material/material-form.component.ts index 054f6d13..7695dd23 100644 --- a/apps/demo/src/app/form/material/material-form.component.ts +++ b/apps/demo/src/app/form/material/material-form.component.ts @@ -4,7 +4,6 @@ import { FormBase } from '../form-base'; import { MaterialFormModule } from './material-form.module'; @Component({ - standalone: true, selector: 'app-material-form', templateUrl: './material-form.component.html', styleUrl: './material-form.component.scss', diff --git a/apps/demo/src/app/home/home.component.ts b/apps/demo/src/app/home/home.component.ts index 73f44c09..8f6be52e 100644 --- a/apps/demo/src/app/home/home.component.ts +++ b/apps/demo/src/app/home/home.component.ts @@ -2,7 +2,6 @@ import { Component } from '@angular/core'; import { MarkdownComponent } from '../markdown/markdown.component'; @Component({ - standalone: true, selector: 'app-home', templateUrl: './home.component.html', styleUrl: './home.component.scss', diff --git a/apps/demo/src/app/layout/content/content.component.ts b/apps/demo/src/app/layout/content/content.component.ts index dda2c882..abf2261d 100644 --- a/apps/demo/src/app/layout/content/content.component.ts +++ b/apps/demo/src/app/layout/content/content.component.ts @@ -10,7 +10,6 @@ import { LAYOUT, Layout } from '../../state/layout/layout.model'; import { SidebarComponent } from './sidebar/sidebar.component'; @Component({ - standalone: true, selector: 'app-content', templateUrl: './content.component.html', styleUrl: './content.component.scss', diff --git a/apps/demo/src/app/layout/content/sidebar/sidebar-menu/sidebar-menu.component.ts b/apps/demo/src/app/layout/content/sidebar/sidebar-menu/sidebar-menu.component.ts index cba6646a..90c412e1 100644 --- a/apps/demo/src/app/layout/content/sidebar/sidebar-menu/sidebar-menu.component.ts +++ b/apps/demo/src/app/layout/content/sidebar/sidebar-menu/sidebar-menu.component.ts @@ -16,7 +16,6 @@ import { CodeUrlPipe } from '../../../header/pipes/code-url.pipe'; import { SidebarMenuItem } from './sidebar-menu.model'; @Component({ - standalone: true, selector: 'app-sidebar-menu', templateUrl: './sidebar-menu.component.html', styleUrl: './sidebar-menu.component.scss', diff --git a/apps/demo/src/app/layout/content/sidebar/sidebar.component.ts b/apps/demo/src/app/layout/content/sidebar/sidebar.component.ts index 145b8e72..152fd410 100644 --- a/apps/demo/src/app/layout/content/sidebar/sidebar.component.ts +++ b/apps/demo/src/app/layout/content/sidebar/sidebar.component.ts @@ -2,7 +2,6 @@ import { Component } from '@angular/core'; import { SidebarMenuComponent } from './sidebar-menu/sidebar-menu.component'; @Component({ - standalone: true, selector: 'app-sidebar', templateUrl: './sidebar.component.html', styleUrl: './sidebar.component.scss', diff --git a/apps/demo/src/app/layout/footer/footer.component.ts b/apps/demo/src/app/layout/footer/footer.component.ts index 01f01d50..5c061daa 100644 --- a/apps/demo/src/app/layout/footer/footer.component.ts +++ b/apps/demo/src/app/layout/footer/footer.component.ts @@ -7,7 +7,6 @@ import { Observable } from 'rxjs'; import { CONFIG, Config } from '../../state/config/config.model'; @Component({ - standalone: true, selector: 'app-footer', templateUrl: './footer.component.html', styleUrl: './footer.component.scss', diff --git a/apps/demo/src/app/layout/header/docs-menu/docs-menu-items.component.ts b/apps/demo/src/app/layout/header/docs-menu/docs-menu-items.component.ts index 9d5d0e51..51f41185 100644 --- a/apps/demo/src/app/layout/header/docs-menu/docs-menu-items.component.ts +++ b/apps/demo/src/app/layout/header/docs-menu/docs-menu-items.component.ts @@ -5,7 +5,6 @@ import { Repository } from '../../../state/config/config.model'; import { CodeUrlPipe } from '../pipes/code-url.pipe'; @Component({ - standalone: true, selector: 'app-docs-menu-items', templateUrl: './docs-menu-items.component.html', styleUrl: './docs-menu-items.component.scss', diff --git a/apps/demo/src/app/layout/header/docs-menu/docs-menu.component.ts b/apps/demo/src/app/layout/header/docs-menu/docs-menu.component.ts index d6dacee0..067f2f94 100644 --- a/apps/demo/src/app/layout/header/docs-menu/docs-menu.component.ts +++ b/apps/demo/src/app/layout/header/docs-menu/docs-menu.component.ts @@ -11,7 +11,6 @@ import { ConfigState } from '../../../state/config/config.state'; import { DocsMenuItemsComponent } from './docs-menu-items.component'; @Component({ - standalone: true, selector: 'app-docs-menu', templateUrl: './docs-menu.component.html', styleUrl: './docs-menu.component.scss', diff --git a/apps/demo/src/app/layout/header/editor-menu/editor-menu-panel.component.ts b/apps/demo/src/app/layout/header/editor-menu/editor-menu-panel.component.ts index 5adc1285..0572d9f0 100644 --- a/apps/demo/src/app/layout/header/editor-menu/editor-menu-panel.component.ts +++ b/apps/demo/src/app/layout/header/editor-menu/editor-menu-panel.component.ts @@ -4,7 +4,6 @@ import { RouterLink, RouterLinkActive } from '@angular/router'; import { ExampleMenuItem } from '../../../state/examples/examples.model'; @Component({ - standalone: true, selector: 'app-editor-menu-panel', templateUrl: './editor-menu-panel.component.html', styleUrl: './editor-menu-panel.component.scss', diff --git a/apps/demo/src/app/layout/header/editor-menu/editor-menu.component.ts b/apps/demo/src/app/layout/header/editor-menu/editor-menu.component.ts index 0eb7ec47..0280da4b 100644 --- a/apps/demo/src/app/layout/header/editor-menu/editor-menu.component.ts +++ b/apps/demo/src/app/layout/header/editor-menu/editor-menu.component.ts @@ -10,7 +10,6 @@ import { ExamplesState } from '../../../state/examples/examples.state'; import { EditorMenuPanelComponent } from './editor-menu-panel.component'; @Component({ - standalone: true, selector: 'app-editor-menu', templateUrl: './editor-menu.component.html', imports: [AsyncPipe, MatButtonModule, MatIconModule, MatMenuModule, EditorMenuPanelComponent], diff --git a/apps/demo/src/app/layout/header/examples-menu/examples-menu-panel.component.ts b/apps/demo/src/app/layout/header/examples-menu/examples-menu-panel.component.ts index 0066fdde..63cb4696 100644 --- a/apps/demo/src/app/layout/header/examples-menu/examples-menu-panel.component.ts +++ b/apps/demo/src/app/layout/header/examples-menu/examples-menu-panel.component.ts @@ -4,7 +4,6 @@ import { RouterLink, RouterLinkActive } from '@angular/router'; import { ExampleMenuItem } from '../../../state/examples/examples.model'; @Component({ - standalone: true, selector: 'app-examples-menu-panel', templateUrl: './examples-menu-panel.component.html', styleUrl: './examples-menu-panel.component.scss', diff --git a/apps/demo/src/app/layout/header/examples-menu/examples-menu.component.ts b/apps/demo/src/app/layout/header/examples-menu/examples-menu.component.ts index 0dcfc268..ec94b67a 100644 --- a/apps/demo/src/app/layout/header/examples-menu/examples-menu.component.ts +++ b/apps/demo/src/app/layout/header/examples-menu/examples-menu.component.ts @@ -10,7 +10,6 @@ import { ExamplesState } from '../../../state/examples/examples.state'; import { ExamplesMenuPanelComponent } from './examples-menu-panel.component'; @Component({ - standalone: true, selector: 'app-examples-menu', templateUrl: './examples-menu.component.html', styleUrl: './examples-menu.component.scss', diff --git a/apps/demo/src/app/layout/header/header.component.ts b/apps/demo/src/app/layout/header/header.component.ts index 3594daf5..6576f347 100644 --- a/apps/demo/src/app/layout/header/header.component.ts +++ b/apps/demo/src/app/layout/header/header.component.ts @@ -18,7 +18,6 @@ import { SidebarToggleComponent } from './sidebar-toggle/sidebar-toggle.componen import { VersionsMenuComponent } from './versions-menu/versions-menu.component'; @Component({ - standalone: true, selector: 'app-header', templateUrl: './header.component.html', styleUrl: './header.component.scss', diff --git a/apps/demo/src/app/layout/header/notifications-toggle/notifications-toggle.component.ts b/apps/demo/src/app/layout/header/notifications-toggle/notifications-toggle.component.ts index 9d5e4fba..36b3a967 100644 --- a/apps/demo/src/app/layout/header/notifications-toggle/notifications-toggle.component.ts +++ b/apps/demo/src/app/layout/header/notifications-toggle/notifications-toggle.component.ts @@ -8,7 +8,6 @@ import { NotificationsToggle } from '../../../state/notifications/notifications. import { NotificationsState } from '../../../state/notifications/notifications.state'; @Component({ - standalone: true, selector: 'app-notifications-toggle', templateUrl: './notifications-toggle.component.html', styleUrl: './notifications-toggle.component.scss', diff --git a/apps/demo/src/app/layout/header/pipes/code-url.pipe.ts b/apps/demo/src/app/layout/header/pipes/code-url.pipe.ts index fe59aa5b..5d1e9914 100644 --- a/apps/demo/src/app/layout/header/pipes/code-url.pipe.ts +++ b/apps/demo/src/app/layout/header/pipes/code-url.pipe.ts @@ -1,7 +1,7 @@ import { Pipe, PipeTransform } from '@angular/core'; import { Repository } from '../../../state/config/config.model'; -@Pipe({ standalone: true, name: 'appCodeUrl' }) +@Pipe({ name: 'appCodeUrl' }) export class CodeUrlPipe implements PipeTransform { transform(repo: Repository, library?: string): string { const branchPath = this.getBranchPath(repo); diff --git a/apps/demo/src/app/layout/header/preferences-menu/preferences-menu.component.ts b/apps/demo/src/app/layout/header/preferences-menu/preferences-menu.component.ts index 3fe86888..c3102ae2 100644 --- a/apps/demo/src/app/layout/header/preferences-menu/preferences-menu.component.ts +++ b/apps/demo/src/app/layout/header/preferences-menu/preferences-menu.component.ts @@ -15,7 +15,6 @@ import { PreferencesState } from '../../../state/preferences/preferences.state'; import preferencesDefinition from './preferences-form.json'; @Component({ - standalone: true, selector: 'app-preferences-menu', templateUrl: './preferences-menu.component.html', styleUrl: './preferences-menu.component.scss', diff --git a/apps/demo/src/app/layout/header/sidebar-toggle/sidebar-toggle.component.ts b/apps/demo/src/app/layout/header/sidebar-toggle/sidebar-toggle.component.ts index b5a9c52f..75062fb2 100644 --- a/apps/demo/src/app/layout/header/sidebar-toggle/sidebar-toggle.component.ts +++ b/apps/demo/src/app/layout/header/sidebar-toggle/sidebar-toggle.component.ts @@ -5,7 +5,6 @@ import { Store } from '@ngxs/store'; import { SidebarToggle } from '../../../state/layout/layout.actions'; @Component({ - standalone: true, selector: 'app-sidebar-toggle', templateUrl: './sidebar-toggle.component.html', styleUrl: './sidebar-toggle.component.scss', diff --git a/apps/demo/src/app/layout/header/versions-menu/versions-menu.component.ts b/apps/demo/src/app/layout/header/versions-menu/versions-menu.component.ts index d8cbc41c..24fd37aa 100644 --- a/apps/demo/src/app/layout/header/versions-menu/versions-menu.component.ts +++ b/apps/demo/src/app/layout/header/versions-menu/versions-menu.component.ts @@ -9,7 +9,6 @@ import { Version } from '../../../state/config/config.model'; import { ConfigState } from '../../../state/config/config.state'; @Component({ - standalone: true, selector: 'app-versions-menu', templateUrl: './versions-menu.component.html', styleUrl: './versions-menu.component.scss', diff --git a/apps/demo/src/app/layout/notifications/notifications.component.ts b/apps/demo/src/app/layout/notifications/notifications.component.ts index 5b949298..6d90f630 100644 --- a/apps/demo/src/app/layout/notifications/notifications.component.ts +++ b/apps/demo/src/app/layout/notifications/notifications.component.ts @@ -8,7 +8,6 @@ import { NotificationItemPop } from '../../state/notifications/notifications.act import { NOTIFICATIONS, NotificationItem, Notifications } from '../../state/notifications/notifications.model'; @Component({ - standalone: true, selector: 'app-notifications', templateUrl: './notifications.component.html', styleUrl: './notifications.component.scss', diff --git a/apps/demo/src/app/layout/progress/progress.component.ts b/apps/demo/src/app/layout/progress/progress.component.ts index e4086583..261dc155 100644 --- a/apps/demo/src/app/layout/progress/progress.component.ts +++ b/apps/demo/src/app/layout/progress/progress.component.ts @@ -6,7 +6,6 @@ import { Observable } from 'rxjs'; import { PROGRESS, Progress } from '../../state/progress/progress.model'; @Component({ - standalone: true, selector: 'app-progress', templateUrl: './progress.component.html', styleUrl: './progress.component.scss', diff --git a/apps/demo/src/app/license/license.component.ts b/apps/demo/src/app/license/license.component.ts index 5defcad1..790111d2 100644 --- a/apps/demo/src/app/license/license.component.ts +++ b/apps/demo/src/app/license/license.component.ts @@ -2,7 +2,6 @@ import { Component } from '@angular/core'; import { MarkdownComponent } from '../markdown/markdown.component'; @Component({ - standalone: true, selector: 'app-license', templateUrl: './license.component.html', imports: [MarkdownComponent], diff --git a/apps/demo/src/app/markdown/markdown.component.ts b/apps/demo/src/app/markdown/markdown.component.ts index 18806196..1e4b7e25 100644 --- a/apps/demo/src/app/markdown/markdown.component.ts +++ b/apps/demo/src/app/markdown/markdown.component.ts @@ -3,7 +3,6 @@ import { DynamicFormMarkdownComponent, DynamicFormMarkdownService } from '@dynam import { MarkdownElement } from './markdown.element'; @Component({ - standalone: true, selector: 'app-markdown', templateUrl: './markdown.component.html', styleUrl: './markdown.component.scss', diff --git a/apps/demo/src/app/monaco/monaco-editor.component.ts b/apps/demo/src/app/monaco/monaco-editor.component.ts index 365d6ecb..c2242eb6 100644 --- a/apps/demo/src/app/monaco/monaco-editor.component.ts +++ b/apps/demo/src/app/monaco/monaco-editor.component.ts @@ -25,7 +25,6 @@ import { MonacoEditorService } from './monaco-editor.service'; declare let monaco: MonacoModule; @Component({ - standalone: true, selector: 'app-monaco-editor', templateUrl: './monaco-editor.component.html', styleUrl: './monaco-editor.component.scss', diff --git a/libs/bootstrap/input-mask/src/lib/dynamic-form-input-mask.component.spec.ts b/libs/bootstrap/input-mask/src/lib/dynamic-form-input-mask.component.spec.ts index 42f59f07..10543218 100644 --- a/libs/bootstrap/input-mask/src/lib/dynamic-form-input-mask.component.spec.ts +++ b/libs/bootstrap/input-mask/src/lib/dynamic-form-input-mask.component.spec.ts @@ -18,7 +18,7 @@ import { import { MockService } from 'ng-mocks'; import { BsDynamicFormInputMaskComponent } from './dynamic-form-input-mask.component'; -@Component({ selector: 'bs-dynamic-form-action-test', standalone: true, template: '' }) +@Component({ selector: 'bs-dynamic-form-action-test', template: '' }) export class TestDynamicFormActionComponent {} describe('BsDynamicFormInputMaskComponent', () => { diff --git a/libs/bootstrap/input-mask/src/lib/dynamic-form-input-mask.component.ts b/libs/bootstrap/input-mask/src/lib/dynamic-form-input-mask.component.ts index b7396529..932d4277 100644 --- a/libs/bootstrap/input-mask/src/lib/dynamic-form-input-mask.component.ts +++ b/libs/bootstrap/input-mask/src/lib/dynamic-form-input-mask.component.ts @@ -5,7 +5,6 @@ import { DynamicFormValidationService } from '@dynamic-forms/core'; import { DynamicFormInputMaskBase, DynamicFormInputMaskDirective } from '@dynamic-forms/core/input-mask'; @Component({ - standalone: true, selector: 'bs-dynamic-form-input-mask', templateUrl: './dynamic-form-input-mask.component.html', imports: [ReactiveFormsModule, DynamicFormInputMaskDirective, BsDynamicFormInputWrapperComponent], diff --git a/libs/bootstrap/src/lib/dynamic-form-action/dynamic-form-button/dynamic-form-button.component.ts b/libs/bootstrap/src/lib/dynamic-form-action/dynamic-form-button/dynamic-form-button.component.ts index 0ce9cd99..2232ba97 100644 --- a/libs/bootstrap/src/lib/dynamic-form-action/dynamic-form-button/dynamic-form-button.component.ts +++ b/libs/bootstrap/src/lib/dynamic-form-action/dynamic-form-button/dynamic-form-button.component.ts @@ -4,7 +4,6 @@ import { DynamicFormActionService, DynamicFormButtonBase, DynamicFormColorPipe } import { BsDynamicFormDialogComponent } from '../../dynamic-form-dialog/dynamic-form-dialog.component'; @Component({ - standalone: true, selector: 'bs-dynamic-form-button', templateUrl: './dynamic-form-button.component.html', imports: [NgClass, DynamicFormColorPipe, BsDynamicFormDialogComponent], diff --git a/libs/bootstrap/src/lib/dynamic-form-action/dynamic-form-icon/dynamic-form-icon.component.ts b/libs/bootstrap/src/lib/dynamic-form-action/dynamic-form-icon/dynamic-form-icon.component.ts index 105e1b52..6624ee43 100644 --- a/libs/bootstrap/src/lib/dynamic-form-action/dynamic-form-icon/dynamic-form-icon.component.ts +++ b/libs/bootstrap/src/lib/dynamic-form-action/dynamic-form-icon/dynamic-form-icon.component.ts @@ -4,7 +4,6 @@ import { DynamicFormActionService, DynamicFormColorPipe, DynamicFormIconBase, Dy import { BsDynamicFormDialogComponent } from '../../dynamic-form-dialog/dynamic-form-dialog.component'; @Component({ - standalone: true, selector: 'bs-dynamic-form-icon', templateUrl: './dynamic-form-icon.component.html', imports: [NgClass, DynamicFormColorPipe, DynamicFormIconPipe, BsDynamicFormDialogComponent], diff --git a/libs/bootstrap/src/lib/dynamic-form-dialog/dynamic-form-dialog.component.spec.ts b/libs/bootstrap/src/lib/dynamic-form-dialog/dynamic-form-dialog.component.spec.ts index 6d9b6ecc..e8c8b290 100644 --- a/libs/bootstrap/src/lib/dynamic-form-dialog/dynamic-form-dialog.component.spec.ts +++ b/libs/bootstrap/src/lib/dynamic-form-dialog/dynamic-form-dialog.component.spec.ts @@ -14,7 +14,6 @@ import { of } from 'rxjs'; import { BsDynamicFormDialogComponent } from './dynamic-form-dialog.component'; @Component({ - standalone: true, selector: 'bs-dynamic-form-action-test', template: `
Dynamic Form Action
`, }) diff --git a/libs/bootstrap/src/lib/dynamic-form-dialog/dynamic-form-dialog.component.ts b/libs/bootstrap/src/lib/dynamic-form-dialog/dynamic-form-dialog.component.ts index 73c4b467..b0ad5cc3 100644 --- a/libs/bootstrap/src/lib/dynamic-form-dialog/dynamic-form-dialog.component.ts +++ b/libs/bootstrap/src/lib/dynamic-form-dialog/dynamic-form-dialog.component.ts @@ -4,7 +4,6 @@ import { DynamicFormAction, DynamicFormElement, DynamicFormElementsComponent } f import { Observable } from 'rxjs'; @Component({ - standalone: true, selector: 'bs-dynamic-form-dialog', templateUrl: './dynamic-form-dialog.component.html', imports: [AsyncPipe, NgClass, NgStyle, DynamicFormElementsComponent], diff --git a/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.component.ts b/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.component.ts index 48693e17..4e161f88 100644 --- a/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.component.ts +++ b/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-accordion/dynamic-form-accordion.component.ts @@ -3,7 +3,6 @@ import { Component } from '@angular/core'; import { DynamicFormAccordionBase, DynamicFormElementsComponent } from '@dynamic-forms/core'; @Component({ - standalone: true, selector: 'bs-dynamic-form-accordion', templateUrl: './dynamic-form-accordion.component.html', imports: [NgClass, DynamicFormElementsComponent], diff --git a/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.component.ts b/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.component.ts index 762f08c7..d7346006 100644 --- a/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.component.ts +++ b/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-items/dynamic-form-tabs/dynamic-form-tabs.component.ts @@ -3,7 +3,6 @@ import { Component } from '@angular/core'; import { DynamicFormElementsComponent, DynamicFormTabsBase } from '@dynamic-forms/core'; @Component({ - standalone: true, selector: 'bs-dynamic-form-tabs', templateUrl: './dynamic-form-tabs.component.html', imports: [NgClass, DynamicFormElementsComponent], diff --git a/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.component.ts b/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.component.ts index 00f55b0f..4029a258 100644 --- a/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.component.ts +++ b/libs/bootstrap/src/lib/dynamic-form-element/dynamic-form-modal/dynamic-form-modal.component.ts @@ -3,7 +3,6 @@ import { DynamicFormElementComponent, DynamicFormModalBase } from '@dynamic-form import { BsDynamicFormDialogComponent } from '../../dynamic-form-dialog/dynamic-form-dialog.component'; @Component({ - standalone: true, selector: 'bs-dynamic-form-modal', templateUrl: './dynamic-form-modal.component.html', imports: [DynamicFormElementComponent, BsDynamicFormDialogComponent], diff --git a/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-errors/dynamic-form-control-errors.component.spec.ts b/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-errors/dynamic-form-control-errors.component.spec.ts index ea717c5c..64d7f900 100644 --- a/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-errors/dynamic-form-control-errors.component.spec.ts +++ b/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-errors/dynamic-form-control-errors.component.spec.ts @@ -10,7 +10,6 @@ import { import { BsDynamicFormControlErrorsComponent } from './dynamic-form-control-errors.component'; @Component({ - standalone: true, selector: 'bs-dynamic-form-input-test', template: `
Dynamic Input
`, }) diff --git a/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-errors/dynamic-form-control-errors.component.ts b/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-errors/dynamic-form-control-errors.component.ts index 3f4f1150..6892f72c 100644 --- a/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-errors/dynamic-form-control-errors.component.ts +++ b/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-errors/dynamic-form-control-errors.component.ts @@ -2,7 +2,6 @@ import { Component, ViewContainerRef } from '@angular/core'; import { DynamicFormControlWrapperBase, DynamicFormValidationService } from '@dynamic-forms/core'; @Component({ - standalone: true, selector: 'bs-dynamic-form-control-errors', templateUrl: './dynamic-form-control-errors.component.html', }) diff --git a/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-hints/dynamic-form-control-hints.component.spec.ts b/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-hints/dynamic-form-control-hints.component.spec.ts index 7f9274f0..4c3b5199 100644 --- a/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-hints/dynamic-form-control-hints.component.spec.ts +++ b/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-hints/dynamic-form-control-hints.component.spec.ts @@ -10,7 +10,6 @@ import { import { BsDynamicFormControlHintsComponent } from './dynamic-form-control-hints.component'; @Component({ - standalone: true, selector: 'bs-dynamic-form-input-test', template: `
Dynamic Input
`, }) diff --git a/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-hints/dynamic-form-control-hints.component.ts b/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-hints/dynamic-form-control-hints.component.ts index 74b8da99..85deee5f 100644 --- a/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-hints/dynamic-form-control-hints.component.ts +++ b/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-hints/dynamic-form-control-hints.component.ts @@ -2,7 +2,6 @@ import { Component, ViewContainerRef } from '@angular/core'; import { DynamicFormControlHints, DynamicFormControlWrapperBase, DynamicFormValidationService } from '@dynamic-forms/core'; @Component({ - standalone: true, selector: 'bs-dynamic-form-control-hints', templateUrl: './dynamic-form-control-hints.component.html', }) diff --git a/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-label/dynamic-form-control-label.component.spec.ts b/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-label/dynamic-form-control-label.component.spec.ts index 4ab26875..419adb03 100644 --- a/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-label/dynamic-form-control-label.component.spec.ts +++ b/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-label/dynamic-form-control-label.component.spec.ts @@ -10,7 +10,6 @@ import { import { BsDynamicFormControlLabelComponent } from './dynamic-form-control-label.component'; @Component({ - standalone: true, selector: 'bs-dynamic-form-input-test', template: `
Dynamic Input
`, }) diff --git a/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-label/dynamic-form-control-label.component.ts b/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-label/dynamic-form-control-label.component.ts index b8d87093..f7338bd2 100644 --- a/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-label/dynamic-form-control-label.component.ts +++ b/libs/bootstrap/src/lib/dynamic-form-field/dynamic-form-control-label/dynamic-form-control-label.component.ts @@ -2,7 +2,6 @@ import { Component, ViewContainerRef } from '@angular/core'; import { DynamicFormControlValidation, DynamicFormControlWrapperBase, DynamicFormValidationService } from '@dynamic-forms/core'; @Component({ - standalone: true, selector: 'bs-dynamic-form-control-label', templateUrl: './dynamic-form-control-label.component.html', }) diff --git a/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-checkbox/dynamic-form-checkbox.component.ts b/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-checkbox/dynamic-form-checkbox.component.ts index 6d5143bd..c57b2d0b 100644 --- a/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-checkbox/dynamic-form-checkbox.component.ts +++ b/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-checkbox/dynamic-form-checkbox.component.ts @@ -3,7 +3,6 @@ import { ReactiveFormsModule } from '@angular/forms'; import { DynamicFormCheckbox, DynamicFormInputBase, DynamicFormValidationService } from '@dynamic-forms/core'; @Component({ - standalone: true, selector: 'bs-dynamic-form-checkbox', templateUrl: './dynamic-form-checkbox.component.html', imports: [ReactiveFormsModule], diff --git a/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-combobox/dynamic-form-combobox.component.ts b/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-combobox/dynamic-form-combobox.component.ts index 5fa4a352..199117cd 100644 --- a/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-combobox/dynamic-form-combobox.component.ts +++ b/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-combobox/dynamic-form-combobox.component.ts @@ -4,7 +4,6 @@ import { DynamicFormCombobox, DynamicFormInputBase, DynamicFormValidationService import { BsDynamicFormInputWrapperComponent } from '../dynamic-form-input-wrapper/dynamic-form-input-wrapper.component'; @Component({ - standalone: true, selector: 'bs-dynamic-form-combobox', templateUrl: './dynamic-form-combobox.component.html', imports: [ReactiveFormsModule, BsDynamicFormInputWrapperComponent], diff --git a/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-datepicker/dynamic-form-datepicker.component.ts b/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-datepicker/dynamic-form-datepicker.component.ts index ee8c4f6e..a9f52ff5 100644 --- a/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-datepicker/dynamic-form-datepicker.component.ts +++ b/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-datepicker/dynamic-form-datepicker.component.ts @@ -4,7 +4,6 @@ import { DynamicFormDatepicker, DynamicFormInputBase, DynamicFormValidationServi import { BsDynamicFormInputWrapperComponent } from '../dynamic-form-input-wrapper/dynamic-form-input-wrapper.component'; @Component({ - standalone: true, selector: 'bs-dynamic-form-datepicker', templateUrl: './dynamic-form-datepicker.component.html', imports: [ReactiveFormsModule, BsDynamicFormInputWrapperComponent], diff --git a/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-file/dynamic-form-file.component.spec.ts b/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-file/dynamic-form-file.component.spec.ts index 9eeb9217..4ed31330 100644 --- a/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-file/dynamic-form-file.component.spec.ts +++ b/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-file/dynamic-form-file.component.spec.ts @@ -20,7 +20,7 @@ import { import { MockService } from 'ng-mocks'; import { BsDynamicFormFileComponent } from './dynamic-form-file.component'; -@Component({ selector: 'bs-dynamic-form-action-test', standalone: true, template: '' }) +@Component({ selector: 'bs-dynamic-form-action-test', template: '' }) export class TestDynamicFormActionComponent {} describe('BsDynamicFormFileComponent', () => { diff --git a/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-file/dynamic-form-file.component.ts b/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-file/dynamic-form-file.component.ts index c196654f..216969ff 100644 --- a/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-file/dynamic-form-file.component.ts +++ b/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-file/dynamic-form-file.component.ts @@ -4,7 +4,6 @@ import { DynamicFormBuilder, DynamicFormFileBase, DynamicFormFileDirective, Dyna import { BsDynamicFormInputWrapperComponent } from '../dynamic-form-input-wrapper/dynamic-form-input-wrapper.component'; @Component({ - standalone: true, selector: 'bs-dynamic-form-file', templateUrl: './dynamic-form-file.component.html', imports: [ReactiveFormsModule, DynamicFormFileDirective, BsDynamicFormInputWrapperComponent], diff --git a/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-input-wrapper/dynamic-form-input-wrapper.component.ts b/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-input-wrapper/dynamic-form-input-wrapper.component.ts index 5ee78cb8..b462aaa8 100644 --- a/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-input-wrapper/dynamic-form-input-wrapper.component.ts +++ b/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-input-wrapper/dynamic-form-input-wrapper.component.ts @@ -3,7 +3,6 @@ import { Component, Input, TemplateRef } from '@angular/core'; import { DynamicFormControlAddOn, DynamicFormElementComponent } from '@dynamic-forms/core'; @Component({ - standalone: true, selector: 'bs-dynamic-form-input-wrapper', templateUrl: './dynamic-form-input-wrapper.component.html', imports: [NgTemplateOutlet, DynamicFormElementComponent], diff --git a/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-numberbox/dynamic-form-numberbox.component.ts b/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-numberbox/dynamic-form-numberbox.component.ts index b5c0406e..2e141f1e 100644 --- a/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-numberbox/dynamic-form-numberbox.component.ts +++ b/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-numberbox/dynamic-form-numberbox.component.ts @@ -4,7 +4,6 @@ import { DynamicFormInputBase, DynamicFormNumberbox, DynamicFormValidationServic import { BsDynamicFormInputWrapperComponent } from '../dynamic-form-input-wrapper/dynamic-form-input-wrapper.component'; @Component({ - standalone: true, selector: 'bs-dynamic-form-numberbox', templateUrl: './dynamic-form-numberbox.component.html', imports: [ReactiveFormsModule, BsDynamicFormInputWrapperComponent], diff --git a/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-radio/dynamic-form-radio.component.ts b/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-radio/dynamic-form-radio.component.ts index 5255071c..8d10a602 100644 --- a/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-radio/dynamic-form-radio.component.ts +++ b/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-radio/dynamic-form-radio.component.ts @@ -3,7 +3,6 @@ import { ReactiveFormsModule } from '@angular/forms'; import { DynamicFormInputBase, DynamicFormRadio, DynamicFormValidationService } from '@dynamic-forms/core'; @Component({ - standalone: true, selector: 'bs-dynamic-form-radio', templateUrl: './dynamic-form-radio.component.html', imports: [ReactiveFormsModule], diff --git a/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-select/dynamic-form-select.component.ts b/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-select/dynamic-form-select.component.ts index 2d210f1e..0ae3ea6e 100644 --- a/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-select/dynamic-form-select.component.ts +++ b/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-select/dynamic-form-select.component.ts @@ -4,7 +4,6 @@ import { DynamicFormInputBase, DynamicFormSelect, DynamicFormValidationService } import { BsDynamicFormInputWrapperComponent } from '../dynamic-form-input-wrapper/dynamic-form-input-wrapper.component'; @Component({ - standalone: true, selector: 'bs-dynamic-form-select', templateUrl: './dynamic-form-select.component.html', imports: [ReactiveFormsModule, BsDynamicFormInputWrapperComponent], diff --git a/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-switch/dynamic-form-switch.component.ts b/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-switch/dynamic-form-switch.component.ts index 7eac3c10..4481d7cc 100644 --- a/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-switch/dynamic-form-switch.component.ts +++ b/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-switch/dynamic-form-switch.component.ts @@ -3,7 +3,6 @@ import { ReactiveFormsModule } from '@angular/forms'; import { DynamicFormInputBase, DynamicFormSwitch, DynamicFormValidationService } from '@dynamic-forms/core'; @Component({ - standalone: true, selector: 'bs-dynamic-form-switch', templateUrl: './dynamic-form-switch.component.html', imports: [ReactiveFormsModule], diff --git a/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-textarea/dynamic-form-textarea.component.ts b/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-textarea/dynamic-form-textarea.component.ts index e318c5ec..ba2130cc 100644 --- a/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-textarea/dynamic-form-textarea.component.ts +++ b/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-textarea/dynamic-form-textarea.component.ts @@ -4,7 +4,6 @@ import { DynamicFormInputBase, DynamicFormTextarea, DynamicFormValidationService import { BsDynamicFormInputWrapperComponent } from '../dynamic-form-input-wrapper/dynamic-form-input-wrapper.component'; @Component({ - standalone: true, selector: 'bs-dynamic-form-textarea', templateUrl: './dynamic-form-textarea.component.html', imports: [ReactiveFormsModule, BsDynamicFormInputWrapperComponent], diff --git a/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-textbox/dynamic-form-textbox.component.ts b/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-textbox/dynamic-form-textbox.component.ts index f664e80b..cb742efc 100644 --- a/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-textbox/dynamic-form-textbox.component.ts +++ b/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-textbox/dynamic-form-textbox.component.ts @@ -4,7 +4,6 @@ import { DynamicFormInputBase, DynamicFormTextbox, DynamicFormValidationService import { BsDynamicFormInputWrapperComponent } from '../dynamic-form-input-wrapper/dynamic-form-input-wrapper.component'; @Component({ - standalone: true, selector: 'bs-dynamic-form-textbox', templateUrl: './dynamic-form-textbox.component.html', imports: [ReactiveFormsModule, BsDynamicFormInputWrapperComponent], diff --git a/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-toggle/dynamic-form-toggle.component.ts b/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-toggle/dynamic-form-toggle.component.ts index db9281ef..af272401 100644 --- a/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-toggle/dynamic-form-toggle.component.ts +++ b/libs/bootstrap/src/lib/dynamic-form-input/dynamic-form-toggle/dynamic-form-toggle.component.ts @@ -3,7 +3,6 @@ import { ReactiveFormsModule } from '@angular/forms'; import { DynamicFormInputBase, DynamicFormToggle, DynamicFormValidationService } from '@dynamic-forms/core'; @Component({ - standalone: true, selector: 'bs-dynamic-form-toggle', templateUrl: './dynamic-form-toggle.component.html', imports: [ReactiveFormsModule], diff --git a/libs/core/input-mask/src/lib/dynamic-form-input-mask-base.spec.ts b/libs/core/input-mask/src/lib/dynamic-form-input-mask-base.spec.ts index 66e4ecb0..78455a65 100644 --- a/libs/core/input-mask/src/lib/dynamic-form-input-mask-base.spec.ts +++ b/libs/core/input-mask/src/lib/dynamic-form-input-mask-base.spec.ts @@ -16,7 +16,6 @@ import { DynamicFormInputMaskConverterService } from './dynamic-form-input-mask- import { DynamicFormInputMaskDirective } from './dynamic-form-input-mask.directive'; @Component({ - standalone: true, selector: 'dynamic-form-input-mask-test', template: ``, imports: [ReactiveFormsModule, DynamicFormInputMaskDirective], diff --git a/libs/core/input-mask/src/lib/dynamic-form-input-mask-base.ts b/libs/core/input-mask/src/lib/dynamic-form-input-mask-base.ts index 0a8bc0f9..7121b6bb 100644 --- a/libs/core/input-mask/src/lib/dynamic-form-input-mask-base.ts +++ b/libs/core/input-mask/src/lib/dynamic-form-input-mask-base.ts @@ -4,7 +4,7 @@ import { DynamicFormInputMask, DynamicFormInputMaskDefinition, DynamicFormInputM import { DynamicFormInputMaskControl } from './dynamic-form-input-mask-control'; import { DynamicFormInputMaskDirective } from './dynamic-form-input-mask.directive'; -@Directive({ standalone: true }) +@Directive({}) export abstract class DynamicFormInputMaskBase extends DynamicFormInputBase< DynamicFormInputMask, diff --git a/libs/core/input-mask/src/lib/dynamic-form-input-mask.directive.spec.ts b/libs/core/input-mask/src/lib/dynamic-form-input-mask.directive.spec.ts index bdb43a1a..99c111a3 100644 --- a/libs/core/input-mask/src/lib/dynamic-form-input-mask.directive.spec.ts +++ b/libs/core/input-mask/src/lib/dynamic-form-input-mask.directive.spec.ts @@ -20,7 +20,6 @@ export abstract class DynamicFormInputMaskTestComponentBase { } @Component({ - standalone: true, selector: 'dynamic-form-input-mask-test', template: '', imports: [DynamicFormInputMaskDirective, ReactiveFormsModule], @@ -28,7 +27,6 @@ export abstract class DynamicFormInputMaskTestComponentBase { export class DynamicFormInputMaskTestComponent extends DynamicFormInputMaskTestComponentBase {} @Component({ - standalone: true, selector: 'dynamic-form-input-mask-test-without-form-control', template: '', imports: [DynamicFormInputMaskDirective], diff --git a/libs/core/input-mask/src/lib/dynamic-form-input-mask.directive.ts b/libs/core/input-mask/src/lib/dynamic-form-input-mask.directive.ts index 9f76f334..cf381d8b 100644 --- a/libs/core/input-mask/src/lib/dynamic-form-input-mask.directive.ts +++ b/libs/core/input-mask/src/lib/dynamic-form-input-mask.directive.ts @@ -7,7 +7,6 @@ import { DynamicFormInputMaskConverter } from './dynamic-form-input-mask-convert import { DynamicFormInputMaskConverterService } from './dynamic-form-input-mask-converter.service'; @Directive({ - standalone: true, selector: '[dynamicFormInputMask]', exportAs: 'dynamicFormInputMask', providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: DynamicFormInputMaskDirective, multi: true }], diff --git a/libs/core/src/lib/dynamic-form-action/dynamic-form-action-base.ts b/libs/core/src/lib/dynamic-form-action/dynamic-form-action-base.ts index a2364bf6..3dd38295 100644 --- a/libs/core/src/lib/dynamic-form-action/dynamic-form-action-base.ts +++ b/libs/core/src/lib/dynamic-form-action/dynamic-form-action-base.ts @@ -10,7 +10,7 @@ import { DynamicFormActionDefinition } from './dynamic-form-action-definition'; import { DynamicFormActionTemplate } from './dynamic-form-action-template'; import { DynamicFormActionService } from './dynamic-form-action.service'; -@Directive({ standalone: true }) +@Directive({}) export abstract class DynamicFormActionBase< Template extends DynamicFormActionTemplate = DynamicFormActionTemplate, Definition extends DynamicFormActionDefinition