diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index 995ad28afca..e2192d7e857 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -133,5 +133,5 @@ jobs: working-directory: packages/openslides-motion-diff/ - name: Build and run karma tests - run: npm run test-silently -- --browsers=ChromiumHeadlessNoSandbox + run: npm run test-silently working-directory: client/ diff --git a/client/angular.json b/client/angular.json index 0939b3a9715..41412ac594d 100644 --- a/client/angular.json +++ b/client/angular.json @@ -25,9 +25,7 @@ "base": "dist/client" }, "index": "src/index.html", - "polyfills": [ - "src/polyfills.ts" - ], + "polyfills": ["src/polyfills.ts"], "tsConfig": "tsconfig.app.json", "inlineStyleLanguage": "scss", "assets": [ @@ -46,19 +44,13 @@ "output": "/pdfjs/" } ], - "styles": [ - "src/styles.scss" - ], - "scripts": [ - "src/assets/jitsi/external_api.js" - ], + "styles": ["src/styles.scss"], + "scripts": ["src/assets/jitsi/external_api.js"], "webWorkerTsConfig": "tsconfig.worker.json", "serviceWorker": "ngsw-config.json", "browser": "src/main.ts", "stylePreprocessorOptions": { - "includePaths": [ - "." - ] + "includePaths": ["."] } }, "configurations": { @@ -92,6 +84,13 @@ "aot": true, "statsJson": false, "progress": false + }, + "testing": { + "aot": false, + "optimization": false, + "extractLicenses": false, + "assets": ["src/favicon.ico", "src/assets", "src/manifest.webmanifest"], + "scripts": [] } }, "defaultConfiguration": "production" @@ -115,35 +114,17 @@ } }, "test": { - "builder": "@angular/build:karma", + "builder": "@angular/build:unit-test", "options": { - "main": "src/test.ts", - "polyfills": [ - "src/polyfills.ts" - ], "tsConfig": "tsconfig.spec.json", - "karmaConfig": "karma.conf.js", - "inlineStyleLanguage": "scss", - "assets": [ - "src/favicon.ico", - "src/assets", - "src/manifest.webmanifest" - ], - "styles": [ - "src/styles.scss" - ], - "scripts": [], - "webWorkerTsConfig": "tsconfig.worker.json", - "sourceMap": false + "runner": "vitest", + "buildTarget": "::development" } }, "lint": { "builder": "@angular-eslint/builder:lint", "options": { - "lintFilePatterns": [ - "src/**/*.ts", - "src/**/*.html" - ] + "lintFilePatterns": ["src/**/*.ts", "src/**/*.html"] } } } @@ -155,35 +136,33 @@ "path": ".angular/.cache", "environment": "all" }, - "schematicCollections": [ - "@angular-eslint/schematics" - ], + "schematicCollections": ["@angular-eslint/schematics"], "analytics": false }, "schematics": { - "@schematics/angular:component": { - "type": "component" - }, - "@schematics/angular:directive": { - "type": "directive" - }, - "@schematics/angular:service": { - "type": "service" - }, - "@schematics/angular:guard": { - "typeSeparator": "." - }, - "@schematics/angular:interceptor": { - "typeSeparator": "." - }, - "@schematics/angular:module": { - "typeSeparator": "." - }, - "@schematics/angular:pipe": { - "typeSeparator": "." - }, - "@schematics/angular:resolver": { - "typeSeparator": "." - } + "@schematics/angular:component": { + "type": "component" + }, + "@schematics/angular:directive": { + "type": "directive" + }, + "@schematics/angular:service": { + "type": "service" + }, + "@schematics/angular:guard": { + "typeSeparator": "." + }, + "@schematics/angular:interceptor": { + "typeSeparator": "." + }, + "@schematics/angular:module": { + "typeSeparator": "." + }, + "@schematics/angular:pipe": { + "typeSeparator": "." + }, + "@schematics/angular:resolver": { + "typeSeparator": "." + } } } diff --git a/client/cli/tsconfig.json b/client/cli/tsconfig.json index bad0fd49b5c..c6dc08a335d 100644 --- a/client/cli/tsconfig.json +++ b/client/cli/tsconfig.json @@ -3,8 +3,10 @@ "compilerOptions": { "baseUrl": "../", "module": "commonjs", + "types": ["node"], "paths": { "*": ["*"] - } + }, + "rootDir": ".." } } diff --git a/client/eslint.config.mjs b/client/eslint.config.mjs index 0565bc90a9c..2258484eef1 100644 --- a/client/eslint.config.mjs +++ b/client/eslint.config.mjs @@ -5,7 +5,6 @@ import angular from "angular-eslint"; import prettier from "eslint-plugin-prettier/recommended"; import eslintConfigPrettier from "eslint-config-prettier"; import simpleImportSort from "eslint-plugin-simple-import-sort"; -import unusedImports from "eslint-plugin-unused-imports"; import stylistic from "@stylistic/eslint-plugin"; import eslintPluginPrettier from "eslint-plugin-prettier/recommended"; @@ -28,10 +27,10 @@ export default tseslint.config({ plugins: { "@stylistic": stylistic, "simple-import-sort": simpleImportSort, - "unused-imports": unusedImports, }, processor: angular.processInlineTemplates, rules: { + "@angular-eslint/prefer-on-push-component-change-detection": ["off"], "@angular-eslint/prefer-standalone": ["off"], "@angular-eslint/prefer-inject": ["off"], "@angular-eslint/component-selector": ["error", { @@ -70,7 +69,6 @@ export default tseslint.config({ "simple-import-sort/imports": "error", "simple-import-sort/exports": "error", - "unused-imports/no-unused-imports": "error", "no-restricted-properties": ["error", { property: "asObservable", diff --git a/client/jasmine-vitest-20260709T135139738Z.md b/client/jasmine-vitest-20260709T135139738Z.md new file mode 100644 index 00000000000..576b2ed7813 --- /dev/null +++ b/client/jasmine-vitest-20260709T135139738Z.md @@ -0,0 +1,61 @@ +# Jasmine to Vitest Refactoring Report + +Date: 2026-07-09T13:51:39.738Z + +## Summary + +| | Count | +| :---------------- | ----: | +| Files Scanned | 382 | +| Files Transformed | 347 | +| Files Skipped | 35 | +| Total TODOs | 16 | + +## TODO Overview + +| Category | Count | +| :---------------------------- | ----: | +| toBePending | 11 | +| createSpyObj-dynamic-variable | 5 | + +## Files Requiring Manual Attention + +### [`src/app/infrastructure/utils/promises/deferred.spec.ts`](./src/app/infrastructure/utils/promises/deferred.spec.ts) + +- [L8](./src/app/infrastructure/utils/promises/deferred.spec.ts#L8): toBePending + +### [`src/app/infrastructure/utils/promises/mutex.spec.ts`](./src/app/infrastructure/utils/promises/mutex.spec.ts) + +- [L10](./src/app/infrastructure/utils/promises/mutex.spec.ts#L10): toBePending + +### [`src/app/site/pages/meetings/services/main-menu.service.spec.ts`](./src/app/site/pages/meetings/services/main-menu.service.spec.ts) + +- [L51](./src/app/site/pages/meetings/services/main-menu.service.spec.ts#L51): toBePending + +### [`src/app/site/services/theme.service.spec.ts`](./src/app/site/services/theme.service.spec.ts) + +- [L17](./src/app/site/services/theme.service.spec.ts#L17): createSpyObj-dynamic-variable +- [L18](./src/app/site/services/theme.service.spec.ts#L18): createSpyObj-dynamic-variable +- [L19](./src/app/site/services/theme.service.spec.ts#L19): createSpyObj-dynamic-variable +- [L21](./src/app/site/services/theme.service.spec.ts#L21): createSpyObj-dynamic-variable +- [L24](./src/app/site/services/theme.service.spec.ts#L24): createSpyObj-dynamic-variable + +### [`src/app/ui/modules/list/services/list-search.service.spec.ts`](./src/app/ui/modules/list/services/list-search.service.spec.ts) + +- [L82](./src/app/ui/modules/list/services/list-search.service.spec.ts#L82): toBePending +- [L89](./src/app/ui/modules/list/services/list-search.service.spec.ts#L89): toBePending + +### [`src/app/worker/http/http-stream.spec.ts`](./src/app/worker/http/http-stream.spec.ts) + +- [L138](./src/app/worker/http/http-stream.spec.ts#L138): toBePending +- [L145](./src/app/worker/http/http-stream.spec.ts#L145): toBePending +- [L160](./src/app/worker/http/http-stream.spec.ts#L160): toBePending +- [L189](./src/app/worker/http/http-stream.spec.ts#L189): toBePending + +### [`src/app/worker/http/http-subscription-polling.spec.ts`](./src/app/worker/http/http-subscription-polling.spec.ts) + +- [L87](./src/app/worker/http/http-subscription-polling.spec.ts#L87): toBePending + +### [`src/app/worker/http/http-subscription-sse.spec.ts`](./src/app/worker/http/http-subscription-sse.spec.ts) + +- [L93](./src/app/worker/http/http-subscription-sse.spec.ts#L93): toBePending diff --git a/client/karma.conf.js b/client/karma.conf.js deleted file mode 100644 index 71065879bea..00000000000 --- a/client/karma.conf.js +++ /dev/null @@ -1,53 +0,0 @@ -process.env.TZ = 'UTC'; - -// Karma configuration file, see link for more information -// https://karma-runner.github.io/1.0/config/configuration-file.html -module.exports = function(config) { - config.set({ - basePath: '', - frameworks: ['jasmine', '@angular-devkit/build-angular'], - plugins: [ - require('karma-jasmine'), - require('karma-chrome-launcher'), - require('karma-jasmine-html-reporter'), - require('karma-coverage') - ], - client: { - jasmine: { - // you can add configuration options for Jasmine here - // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html - // for example, you can disable the random execution with `random: false` - // or set a specific seed with `seed: 4321` - }, - clearContext: false // leave Jasmine Spec Runner output visible in browser - }, - jasmineHtmlReporter: { - suppressAll: true // removes the duplicated traces - }, - coverageReporter: { - dir: require('path').join(__dirname, './coverage/client13'), - subdir: '.', - reporters: [ - { type: 'html' }, - { type: 'text-summary' } - ] - }, - reporters: ['progress', 'kjhtml'], - hostname: 'localhost', - listenAddress: 'localhost', - port: 9876, - colors: true, - logLevel: config.LOG_INFO, - autoWatch: true, - browsers: ['ChromiumHeadless'], - customLaunchers: { - ChromiumHeadlessNoSandbox: { - base: 'ChromiumHeadless', - flags: ['--no-sandbox'] - } - }, - singleRun: false, - restartOnFileChange: true, - browserNoActivityTimeout: 400000 - }); -}; diff --git a/client/package-lock.json b/client/package-lock.json index 586a2aac45c..1f1da4e395d 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -9,25 +9,25 @@ "version": "4.2.x-dev", "license": "MIT", "dependencies": { - "@angular/animations": "^21.2.16", - "@angular/cdk": "^21.2.14", - "@angular/common": "^21.2.17", - "@angular/compiler": "^21.2.17", - "@angular/core": "^21.2.17", - "@angular/forms": "^21.2.17", - "@angular/material": "^21.2.14", - "@angular/material-date-fns-adapter": "^21.2.14", - "@angular/platform-browser": "^21.2.17", - "@angular/platform-browser-dynamic": "^21.2.17", - "@angular/router": "^21.2.17", - "@angular/service-worker": "^21.2.17", + "@angular/animations": "^22.0.6", + "@angular/cdk": "^22.0.4", + "@angular/common": "^22.0.6", + "@angular/compiler": "^22.0.6", + "@angular/core": "^22.0.6", + "@angular/forms": "^22.0.6", + "@angular/material": "^22.0.4", + "@angular/material-date-fns-adapter": "^22.0.4", + "@angular/platform-browser": "^22.0.6", + "@angular/platform-browser-dynamic": "^22.0.6", + "@angular/router": "^22.0.6", + "@angular/service-worker": "^22.0.6", "@cantoo/pdf-lib": "^2.7.1", - "@coreui/angular-chartjs": "~5.6.25", + "@coreui/angular-chartjs": "~5.7.3", "@coreui/chartjs": "^4.1.0", "@date-fns/tz": "^1.5.0", "@intevation/tiptap-extension-office-paste": "^0.1.2", "@material/typography": "^14.0.0", - "@ngx-pwa/local-storage": "^21.0.0", + "@ngx-pwa/local-storage": "^22.0.0", "@ngx-translate/core": "^17.0.0", "@ngx-translate/http-loader": "^17.0.0", "@openslides/motion-diff": "file:../packages/openslides-motion-diff", @@ -60,9 +60,9 @@ "jszip": "^3.10.1", "lodash-es": "^4.18.1", "material-design-icons-iconfont": "^6.7.0", - "ngx-cookie-service": "^21.3.1", + "ngx-cookie-service": "^22.0.0", "ngx-date-fns": "^12.0.1", - "ngx-device-detector": "^11.0.0", + "ngx-device-detector": "^12.0.0", "ngx-file-drop": "^16.0.0", "ngx-papaparse": "^8.0.0", "pdfmake": "^0.3.11", @@ -71,22 +71,22 @@ "rxjs": "^7.8.2", "tinycolor2": "1.6.0", "video.js": "^8.23.9", - "zone.js": "^0.16.1" + "zone.js": "^0.16.2" }, "devDependencies": { - "@angular-eslint/builder": "^21.4.0", - "@angular-eslint/eslint-plugin": "^21.4.0", - "@angular-eslint/eslint-plugin-template": "^21.4.0", - "@angular-eslint/schematics": "^21.4.0", - "@angular-eslint/template-parser": "^21.3.0", - "@angular/build": "^21.2.18", - "@angular/cli": "^21.2.18", - "@angular/compiler-cli": "^21.2.17", - "@angular/language-server": "^21.2.17", - "@coreui/angular-chartjs": "^5.6.25", + "@angular-eslint/builder": "^22.0.0", + "@angular-eslint/eslint-plugin": "^22.0.0", + "@angular-eslint/eslint-plugin-template": "^22.0.0", + "@angular-eslint/schematics": "^22.0.0", + "@angular-eslint/template-parser": "^22.0.0", + "@angular/build": "^22.0.6", + "@angular/cli": "^22.0.6", + "@angular/compiler-cli": "^22.0.6", + "@angular/language-server": "^22.0.6", "@stylistic/eslint-plugin": "^5.10.0", "@types/file-saver": "^2.0.7", "@types/jasmine": "~5.1.15", + "@types/jest": "^30.0.0", "@types/js-yaml": "^4.0.9", "@types/node": "^24.10.14", "@types/pdfmake": "^0.3.3", @@ -95,28 +95,25 @@ "@types/video.js": "^7.3.58", "@typescript-eslint/eslint-plugin": "^8.63.0", "@typescript-eslint/parser": "^8.63.0", - "@vendure/ngx-translate-extract": "^10.1.3", - "angular-eslint": "^21.4.0", + "@vendure/ngx-translate-extract": "^10.2.0", + "angular-eslint": "^22.0.0", "eslint": "^9.39.4", "eslint-config-prettier": "^10.1.8", "eslint-plugin-prettier": "^5.5.6", "eslint-plugin-simple-import-sort": "^13.0.0", - "eslint-plugin-unused-imports": "^4.4.1", "fetch-mock": "^12.6.0", + "istanbul-lib-instrument": "^6.0.3", "jasmine-core": "^5.13.0", "js-yaml": "^5.2.1", - "karma": "~6.4.4", - "karma-chrome-launcher": "~3.2.0", - "karma-coverage": "~2.2.1", - "karma-jasmine": "~5.1.0", - "karma-jasmine-html-reporter": "~2.2.0", + "jsdom": "^29.1.1", "prettier": "^3.9.4", "ts-dedent": "^2.3.0", "ts-morph": "^28.0.0", "ts-node": "^10.9.2", "tsconfig-paths": "^4.2.0", - "typescript": "^5.9.3", - "typescript-eslint": "^8.63.0" + "typescript": "^6.0.3", + "typescript-eslint": "^8.63.0", + "vitest": "^4.0.8" } }, "../packages/openslides-motion-diff": { @@ -138,57 +135,57 @@ } }, "node_modules/@algolia/abtesting": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.14.1.tgz", - "integrity": "sha512-Dkj0BgPiLAaim9sbQ97UKDFHJE/880wgStAM18U++NaJ/2Cws34J5731ovJifr6E3Pv4T2CqvMXf8qLCC417Ew==", + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.18.0.tgz", + "integrity": "sha512-8siuLG+FIns1AjZ/g2SDVwHz9S+ObacDQISEJvS8XsNei1zl3FXqfqQrBpmrG7ACWCyesXHbicMJtvRbg00FEw==", "dev": true, "license": "MIT", "dependencies": { - "@algolia/client-common": "5.48.1", - "@algolia/requester-browser-xhr": "5.48.1", - "@algolia/requester-fetch": "5.48.1", - "@algolia/requester-node-http": "5.48.1" + "@algolia/client-common": "5.52.0", + "@algolia/requester-browser-xhr": "5.52.0", + "@algolia/requester-fetch": "5.52.0", + "@algolia/requester-node-http": "5.52.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/client-abtesting": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.48.1.tgz", - "integrity": "sha512-LV5qCJdj+/m9I+Aj91o+glYszrzd7CX6NgKaYdTOj4+tUYfbS62pwYgUfZprYNayhkQpVFcrW8x8ZlIHpS23Vw==", + "version": "5.52.0", + "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.52.0.tgz", + "integrity": "sha512-wtwPgyPmO7b7sQPVgoK29c1VpfS08DnnJCmxX/oU1pV2DlMRJCzQcLN7JSloYpodyKHwM8+9wOzlAM0co3TDmA==", "dev": true, "license": "MIT", "dependencies": { - "@algolia/client-common": "5.48.1", - "@algolia/requester-browser-xhr": "5.48.1", - "@algolia/requester-fetch": "5.48.1", - "@algolia/requester-node-http": "5.48.1" + "@algolia/client-common": "5.52.0", + "@algolia/requester-browser-xhr": "5.52.0", + "@algolia/requester-fetch": "5.52.0", + "@algolia/requester-node-http": "5.52.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/client-analytics": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.48.1.tgz", - "integrity": "sha512-/AVoMqHhPm14CcHq7mwB+bUJbfCv+jrxlNvRjXAuO+TQa+V37N8k1b0ijaRBPdmSjULMd8KtJbQyUyabXOu6Kg==", + "version": "5.52.0", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.52.0.tgz", + "integrity": "sha512-9KY36bRl4AH7RjqSeDDOKnjsz4IxQFBEOB8/fWmEbdQe+Isbs5jGzVJu9NEPQ1Tgwxlf8Uf07Swj3jZyMNUZ2g==", "dev": true, "license": "MIT", "dependencies": { - "@algolia/client-common": "5.48.1", - "@algolia/requester-browser-xhr": "5.48.1", - "@algolia/requester-fetch": "5.48.1", - "@algolia/requester-node-http": "5.48.1" + "@algolia/client-common": "5.52.0", + "@algolia/requester-browser-xhr": "5.52.0", + "@algolia/requester-fetch": "5.52.0", + "@algolia/requester-node-http": "5.52.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/client-common": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.48.1.tgz", - "integrity": "sha512-VXO+qu2Ep6ota28ktvBm3sG53wUHS2n7bgLWmce5jTskdlCD0/JrV4tnBm1l7qpla1CeoQb8D7ShFhad+UoSOw==", + "version": "5.52.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.52.0.tgz", + "integrity": "sha512-3a/qM3dzJqqfTx7Yrw7uGQ98I3Q0rDfb4Vkv0wEzko96l7YQMxfBVz/VbLq2N+c59GweYv6Vhp8mPeqnWJSITw==", "dev": true, "license": "MIT", "engines": { @@ -196,151 +193,151 @@ } }, "node_modules/@algolia/client-insights": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.48.1.tgz", - "integrity": "sha512-zl+Qyb0nLg+Y5YvKp1Ij+u9OaPaKg2/EPzTwKNiVyOHnQJlFxmXyUZL1EInczAZsEY8hVpPCLtNfhMhfxluXKQ==", + "version": "5.52.0", + "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.52.0.tgz", + "integrity": "sha512-Rki7ACbMcvbQW0BuM84x9dkGHY47ABmv4jU6tYssat2k02p3mIUms2YOLUAMeknhmnFsj6lb6ZzOXdMWMyc1sA==", "dev": true, "license": "MIT", "dependencies": { - "@algolia/client-common": "5.48.1", - "@algolia/requester-browser-xhr": "5.48.1", - "@algolia/requester-fetch": "5.48.1", - "@algolia/requester-node-http": "5.48.1" + "@algolia/client-common": "5.52.0", + "@algolia/requester-browser-xhr": "5.52.0", + "@algolia/requester-fetch": "5.52.0", + "@algolia/requester-node-http": "5.52.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/client-personalization": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.48.1.tgz", - "integrity": "sha512-r89Qf9Oo9mKWQXumRu/1LtvVJAmEDpn8mHZMc485pRfQUMAwSSrsnaw1tQ3sszqzEgAr1c7rw6fjBI+zrAXTOw==", + "version": "5.52.0", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.52.0.tgz", + "integrity": "sha512-96s4Uzc3kk+/f4jJXIVVGWP5XlngOGNQ1x6hW9AT59pOixHlOs5tqJg+ZUS/GQ6h/iYP0ceQcmxDQeLyCLTaDQ==", "dev": true, "license": "MIT", "dependencies": { - "@algolia/client-common": "5.48.1", - "@algolia/requester-browser-xhr": "5.48.1", - "@algolia/requester-fetch": "5.48.1", - "@algolia/requester-node-http": "5.48.1" + "@algolia/client-common": "5.52.0", + "@algolia/requester-browser-xhr": "5.52.0", + "@algolia/requester-fetch": "5.52.0", + "@algolia/requester-node-http": "5.52.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/client-query-suggestions": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.48.1.tgz", - "integrity": "sha512-TPKNPKfghKG/bMSc7mQYD9HxHRUkBZA4q1PEmHgICaSeHQscGqL4wBrKkhfPlDV1uYBKW02pbFMUhsOt7p4ZpA==", + "version": "5.52.0", + "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.52.0.tgz", + "integrity": "sha512-lqeycNpSPe5Qa0OUWpejVvYQjQWV5nQuLT0a4aq7XzRAvCxprV/6Lf841EygdD2nrFnuS58ok7Au1uOtXzpnkg==", "dev": true, "license": "MIT", "dependencies": { - "@algolia/client-common": "5.48.1", - "@algolia/requester-browser-xhr": "5.48.1", - "@algolia/requester-fetch": "5.48.1", - "@algolia/requester-node-http": "5.48.1" + "@algolia/client-common": "5.52.0", + "@algolia/requester-browser-xhr": "5.52.0", + "@algolia/requester-fetch": "5.52.0", + "@algolia/requester-node-http": "5.52.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/client-search": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.48.1.tgz", - "integrity": "sha512-4Fu7dnzQyQmMFknYwTiN/HxPbH4DyxvQ1m+IxpPp5oslOgz8m6PG5qhiGbqJzH4HiT1I58ecDiCAC716UyVA8Q==", + "version": "5.52.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.52.0.tgz", + "integrity": "sha512-ly1wETVGRo30cx61O7fetESN+ElL9c9K+bD/AVgnT1ar4c6v+/Yqjrhdtu6Fm4D0s4NZP081Isf6tunH1wUXHg==", "dev": true, "license": "MIT", "dependencies": { - "@algolia/client-common": "5.48.1", - "@algolia/requester-browser-xhr": "5.48.1", - "@algolia/requester-fetch": "5.48.1", - "@algolia/requester-node-http": "5.48.1" + "@algolia/client-common": "5.52.0", + "@algolia/requester-browser-xhr": "5.52.0", + "@algolia/requester-fetch": "5.52.0", + "@algolia/requester-node-http": "5.52.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/ingestion": { - "version": "1.48.1", - "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.48.1.tgz", - "integrity": "sha512-/RFq3TqtXDUUawwic/A9xylA2P3LDMO8dNhphHAUOU51b1ZLHrmZ6YYJm3df1APz7xLY1aht6okCQf+/vmrV9w==", + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.52.0.tgz", + "integrity": "sha512-U4EeTvgmluRjj39ykZSAd5X+a6LD5m7/mcOWDmB7hqm1R6QY0yT8jLxpNVEjYhzgEN5hcDGW6X67EWQY8KiYGQ==", "dev": true, "license": "MIT", "dependencies": { - "@algolia/client-common": "5.48.1", - "@algolia/requester-browser-xhr": "5.48.1", - "@algolia/requester-fetch": "5.48.1", - "@algolia/requester-node-http": "5.48.1" + "@algolia/client-common": "5.52.0", + "@algolia/requester-browser-xhr": "5.52.0", + "@algolia/requester-fetch": "5.52.0", + "@algolia/requester-node-http": "5.52.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/monitoring": { - "version": "1.48.1", - "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.48.1.tgz", - "integrity": "sha512-Of0jTeAZRyRhC7XzDSjJef0aBkgRcvRAaw0ooYRlOw57APii7lZdq+layuNdeL72BRq1snaJhoMMwkmLIpJScw==", + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.52.0.tgz", + "integrity": "sha512-FCPnDcILfpTE94u7BVlV4DmnSV5wE3+j25EEF+3dYPrVzkVCSoAHs318oWDGxnxsAgiL4HpL12Jc4XHmw9shpA==", "dev": true, "license": "MIT", "dependencies": { - "@algolia/client-common": "5.48.1", - "@algolia/requester-browser-xhr": "5.48.1", - "@algolia/requester-fetch": "5.48.1", - "@algolia/requester-node-http": "5.48.1" + "@algolia/client-common": "5.52.0", + "@algolia/requester-browser-xhr": "5.52.0", + "@algolia/requester-fetch": "5.52.0", + "@algolia/requester-node-http": "5.52.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/recommend": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.48.1.tgz", - "integrity": "sha512-bE7JcpFXzxF5zHwj/vkl2eiCBvyR1zQ7aoUdO+GDXxGp0DGw7nI0p8Xj6u8VmRQ+RDuPcICFQcCwRIJT5tDJFw==", + "version": "5.52.0", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.52.0.tgz", + "integrity": "sha512-br3DO7n4N8CXwTRbZS0MnB4WQ9YHfNjCwkCEzVR/wek/qNTDQKDb0nROmkFaNZ8ucUqUVKZi074dbwMwRDlK8Q==", "dev": true, "license": "MIT", "dependencies": { - "@algolia/client-common": "5.48.1", - "@algolia/requester-browser-xhr": "5.48.1", - "@algolia/requester-fetch": "5.48.1", - "@algolia/requester-node-http": "5.48.1" + "@algolia/client-common": "5.52.0", + "@algolia/requester-browser-xhr": "5.52.0", + "@algolia/requester-fetch": "5.52.0", + "@algolia/requester-node-http": "5.52.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/requester-browser-xhr": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.48.1.tgz", - "integrity": "sha512-MK3wZ2koLDnvH/AmqIF1EKbJlhRS5j74OZGkLpxI4rYvNi9Jn/C7vb5DytBnQ4KUWts7QsmbdwHkxY5txQHXVw==", + "version": "5.52.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.52.0.tgz", + "integrity": "sha512-b0T/Ca2c9KyEslKsVrGZvbe1UrrKKSdfXhBZ2pbpKahFUzJfziRZ0urbOm7V65O0tO/jwU+Lo/+bIiiyhzGt8w==", "dev": true, "license": "MIT", "dependencies": { - "@algolia/client-common": "5.48.1" + "@algolia/client-common": "5.52.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/requester-fetch": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.48.1.tgz", - "integrity": "sha512-2oDT43Y5HWRSIQMPQI4tA/W+TN/N2tjggZCUsqQV440kxzzoPGsvv9QP1GhQ4CoDa+yn6ygUsGp6Dr+a9sPPSg==", + "version": "5.52.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.52.0.tgz", + "integrity": "sha512-ozBT8J/mtD4H4IAojw8QPirlcL2gHrI1BGuZ4/ZXXO/rTE1yQ4VIPJj4mTTbwo4FbkS1MoJsD/DsrqLzhnc4/g==", "dev": true, "license": "MIT", "dependencies": { - "@algolia/client-common": "5.48.1" + "@algolia/client-common": "5.52.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/@algolia/requester-node-http": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.48.1.tgz", - "integrity": "sha512-xcaCqbhupVWhuBP1nwbk1XNvwrGljozutEiLx06mvqDf3o8cHyEgQSHS4fKJM+UAggaWVnnFW+Nne5aQ8SUJXg==", + "version": "5.52.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.52.0.tgz", + "integrity": "sha512-gyyWcLD22tnabmoit4iukCXuoRc5HYJuUjPSEa8a0D/f/NlRafpWi52AlAaa4Uu/rsl7saHsJFTNjTptWbu2+A==", "dev": true, "license": "MIT", "dependencies": { - "@algolia/client-common": "5.48.1" + "@algolia/client-common": "5.52.0" }, "engines": { "node": ">= 14.0.0" @@ -361,32 +358,32 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.2102.18", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2102.18.tgz", - "integrity": "sha512-bEkF4ApWa6FJ2+ZyFPdhQr05PgJv/oKwx+3goNRa4lSxzJO+O3KXr0ivTyE5zEJ8l4JdV3h93bsCP54Rk3v7Dw==", + "version": "0.2200.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2200.6.tgz", + "integrity": "sha512-wTjUfiT5iEMc9+9z2zo1QGtzLpXk5Xx0bV6/zTO4n6+BCC0qReuYnIYt0iJCh649Q0vHq5++0zmZZK0KyXVMZQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "21.2.18", + "@angular-devkit/core": "22.0.6", "rxjs": "7.8.2" }, "bin": { "architect": "bin/cli.js" }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "node": "^22.22.3 || ^24.15.0 || >=26.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" } }, - "node_modules/@angular-devkit/architect/node_modules/@angular-devkit/core": { - "version": "21.2.18", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.18.tgz", - "integrity": "sha512-783AuDmzAjFkOBHey7cx1mXd8CTiMg9LvG+BCxEp8i4EB7cOGYrq3lBzkwhKJq6yYpz7dNgM1QgeLk+NcrFBSA==", + "node_modules/@angular-devkit/core": { + "version": "22.0.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-22.0.6.tgz", + "integrity": "sha512-uAZ7TPn+8sDZcFtiM5nQpmqaR9lspLAf7RY7t7TXYP794001khRf+F/AhmONxmgFPWY01+eeJSvBx+FEnHCb0A==", "dev": true, "license": "MIT", "dependencies": { - "ajv": "8.18.0", + "ajv": "8.20.0", "ajv-formats": "3.0.1", "jsonc-parser": "3.3.1", "picomatch": "4.0.4", @@ -394,7 +391,7 @@ "source-map": "0.7.6" }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "node": "^22.22.3 || ^24.15.0 || >=26.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" }, @@ -407,383 +404,132 @@ } } }, - "node_modules/@angular-devkit/architect/node_modules/chokidar": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", - "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "readdirp": "^5.0.0" - }, - "engines": { - "node": ">= 20.19.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@angular-devkit/architect/node_modules/readdirp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", - "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">= 20.19.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - }, "node_modules/@angular-devkit/schematics": { - "version": "21.2.18", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.2.18.tgz", - "integrity": "sha512-PakHs+Eefx06KORDFyH4wmkIZ/wm4mI4DqhXe4XFuWJOazMQoYJxPmMeby47BD0HhvJN7BskN61CPS8HCAvICg==", + "version": "22.0.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-22.0.6.tgz", + "integrity": "sha512-7bSiye4UrxvhYvYp1YIpVSVOFQZ75EXP3EE5/ShM3cPNtUTdXJiwHkD8SiLHNhPTB6Mzrq5tp1YlAXXRg/WgLw==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "21.2.18", + "@angular-devkit/core": "22.0.6", "jsonc-parser": "3.3.1", "magic-string": "0.30.21", - "ora": "9.3.0", + "ora": "9.4.0", "rxjs": "7.8.2" }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@angular-devkit/schematics/node_modules/@angular-devkit/core": { - "version": "21.2.18", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.18.tgz", - "integrity": "sha512-783AuDmzAjFkOBHey7cx1mXd8CTiMg9LvG+BCxEp8i4EB7cOGYrq3lBzkwhKJq6yYpz7dNgM1QgeLk+NcrFBSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "8.18.0", - "ajv-formats": "3.0.1", - "jsonc-parser": "3.3.1", - "picomatch": "4.0.4", - "rxjs": "7.8.2", - "source-map": "0.7.6" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "node": "^22.22.3 || ^24.15.0 || >=26.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "chokidar": "^5.0.0" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - }, - "node_modules/@angular-devkit/schematics/node_modules/chokidar": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", - "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "readdirp": "^5.0.0" - }, - "engines": { - "node": ">= 20.19.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@angular-devkit/schematics/node_modules/readdirp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", - "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">= 20.19.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" } }, "node_modules/@angular-eslint/builder": { - "version": "21.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-21.4.0.tgz", - "integrity": "sha512-3kgGmrVaCYbLtDjC8g4BmMBbdz4thsOB8/NYly8JtXM8EuDZEk5Pz6VTRpJR02ARprwayraTTmhyvq6OGBlQ9w==", + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-22.0.0.tgz", + "integrity": "sha512-T2vWQYUhJs6iUlgocHV12OgoxbmN63f17a+tgW+3sYrKN0KAB3xuHsPOoYpRYoWqkVVC44HD441Ju4IDvo8vKg==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": ">= 0.2100.0 < 0.2200.0", - "@angular-devkit/core": ">= 21.0.0 < 22.0.0" + "@angular-devkit/architect": ">= 0.2200.0 < 0.2300.0", + "@angular-devkit/core": ">= 22.0.0 < 23.0.0" }, "peerDependencies": { - "@angular/cli": ">= 21.0.0 < 22.0.0", - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "@angular/cli": ">= 22.0.0 < 23.0.0", + "eslint": "^9.0.0 || ^10.0.0", "typescript": "*" } }, - "node_modules/@angular-eslint/builder/node_modules/@angular-devkit/core": { - "version": "21.2.8", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.8.tgz", - "integrity": "sha512-DyxCILaaic/hfcfiBjAC/SdKE1ybSQIrU62/K5Msn3gZtThZj/T7cG0VHfbmpEFcgYkrQ9caUt6MCg8OoOVDzw==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "8.18.0", - "ajv-formats": "3.0.1", - "jsonc-parser": "3.3.1", - "picomatch": "4.0.4", - "rxjs": "7.8.2", - "source-map": "0.7.6" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "chokidar": "^5.0.0" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - }, - "node_modules/@angular-eslint/builder/node_modules/chokidar": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", - "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "readdirp": "^5.0.0" - }, - "engines": { - "node": ">= 20.19.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@angular-eslint/builder/node_modules/readdirp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", - "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", + "node_modules/@angular-eslint/bundled-angular-compiler": { + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-22.0.0.tgz", + "integrity": "sha512-rv15vGDpGW8zZFaLdhQ+iIO1f0bZds/xvuxoX277hFisXp5Kt6FumJNNIb4g/qxq3xsY46a7fD6R7KvGY3smHg==", "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">= 20.19.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } + "license": "MIT" }, "node_modules/@angular-eslint/eslint-plugin": { - "version": "21.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-21.4.0.tgz", - "integrity": "sha512-mow2DMj+xBvGl5t7jzC34R8YfbHbaGNyCNFzpovtl9qc0JbuqLyg6htmt8xb05f8ZjATOr4nz0ESt6HV4c51hw==", + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-22.0.0.tgz", + "integrity": "sha512-mKLScPZhqG64ic0KIQoxqSqCdkPwtEZuTOuunvc9lYTw05MJSHRUM2yVFODlCGq97c6BN1F6KBk2I+a+KFnr1g==", "dev": true, "license": "MIT", "dependencies": { - "@angular-eslint/bundled-angular-compiler": "21.4.0", - "@angular-eslint/utils": "21.4.0", + "@angular-eslint/bundled-angular-compiler": "22.0.0", + "@angular-eslint/utils": "22.0.0", "ts-api-utils": "^2.1.0" }, "peerDependencies": { - "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "@typescript-eslint/utils": "^8.0.0", + "eslint": "^9.0.0 || ^10.0.0", "typescript": "*" } }, "node_modules/@angular-eslint/eslint-plugin-template": { - "version": "21.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-21.4.0.tgz", - "integrity": "sha512-sJEHx2WYnvOgPpzP1eHnUdRS06zgKmRxbiIR0JiCcaSen5iv1HlsMieXy//FS9TtNW+abHOy4UtDuGuSPflPFA==", + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-22.0.0.tgz", + "integrity": "sha512-y6XL5HJ8C31NpBvkVHpU3bWc+Rk9g1zRtHrs39omhuT29eEUcS3zu47HMFV6tf8rHOI97B2Mstg6qYS5XL9ATg==", "dev": true, "license": "MIT", "dependencies": { - "@angular-eslint/bundled-angular-compiler": "21.4.0", - "@angular-eslint/utils": "21.4.0", + "@angular-eslint/bundled-angular-compiler": "22.0.0", + "@angular-eslint/utils": "22.0.0", "aria-query": "5.3.2", "axobject-query": "4.1.0" }, "peerDependencies": { - "@angular-eslint/template-parser": "21.4.0", - "@typescript-eslint/types": "^7.11.0 || ^8.0.0", - "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": "*" - } - }, - "node_modules/@angular-eslint/eslint-plugin-template/node_modules/@angular-eslint/bundled-angular-compiler": { - "version": "21.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-21.4.0.tgz", - "integrity": "sha512-/3H4BPbQ1BHJkkrUsfusZtmHc+qiFWBBZ9UDPWah4xZMjflexOK9U4GYeH7nMjcuyqFnIlMMeJJNwNLGt/hmdg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@angular-eslint/eslint-plugin-template/node_modules/@angular-eslint/utils": { - "version": "21.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-21.4.0.tgz", - "integrity": "sha512-7pi+Ga7QmdH5Ig/diau6fR5L4yubgKr9TOjdCg7OeuE/zo0O3osTCNT6JOodzS/iQM1kSCJFDoIBKFeUOttiNw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-eslint/bundled-angular-compiler": "21.4.0" - }, - "peerDependencies": { - "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": "*" - } - }, - "node_modules/@angular-eslint/eslint-plugin/node_modules/@angular-eslint/bundled-angular-compiler": { - "version": "21.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-21.4.0.tgz", - "integrity": "sha512-/3H4BPbQ1BHJkkrUsfusZtmHc+qiFWBBZ9UDPWah4xZMjflexOK9U4GYeH7nMjcuyqFnIlMMeJJNwNLGt/hmdg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@angular-eslint/eslint-plugin/node_modules/@angular-eslint/utils": { - "version": "21.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-21.4.0.tgz", - "integrity": "sha512-7pi+Ga7QmdH5Ig/diau6fR5L4yubgKr9TOjdCg7OeuE/zo0O3osTCNT6JOodzS/iQM1kSCJFDoIBKFeUOttiNw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-eslint/bundled-angular-compiler": "21.4.0" - }, - "peerDependencies": { - "@typescript-eslint/utils": "^7.11.0 || ^8.0.0", - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "@angular-eslint/template-parser": "22.0.0", + "@typescript-eslint/types": "^8.0.0", + "@typescript-eslint/utils": "^8.0.0", + "eslint": "^9.0.0 || ^10.0.0", "typescript": "*" } }, "node_modules/@angular-eslint/schematics": { - "version": "21.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-21.4.0.tgz", - "integrity": "sha512-crD6Hfxs7x5bN9FCqTZI7uVSiGvprfCS3MCPOpyIQl87bRr/9aNhnicJ3ROUHv+2A713BgPHIgiCII/bxzrfPw==", + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-22.0.0.tgz", + "integrity": "sha512-gsJQx6c+WIWC5d+NAqn4rRdUzwhinUCTNmCM9x4wygV9DrbAfVG+6OFPEbaDMryNvf0HYDcnGclbIbXjukGCaw==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": ">= 21.0.0 < 22.0.0", - "@angular-devkit/schematics": ">= 21.0.0 < 22.0.0", - "@angular-eslint/eslint-plugin": "21.4.0", - "@angular-eslint/eslint-plugin-template": "21.4.0", + "@angular-devkit/core": ">= 22.0.0 < 23.0.0", + "@angular-devkit/schematics": ">= 22.0.0 < 23.0.0", + "@angular-eslint/eslint-plugin": "22.0.0", + "@angular-eslint/eslint-plugin-template": "22.0.0", "ignore": "7.0.5", - "semver": "7.7.4", + "semver": "7.8.0", "strip-json-comments": "3.1.1" }, "peerDependencies": { - "@angular/cli": ">= 21.0.0 < 22.0.0" - } - }, - "node_modules/@angular-eslint/schematics/node_modules/@angular-devkit/core": { - "version": "21.2.8", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.8.tgz", - "integrity": "sha512-DyxCILaaic/hfcfiBjAC/SdKE1ybSQIrU62/K5Msn3gZtThZj/T7cG0VHfbmpEFcgYkrQ9caUt6MCg8OoOVDzw==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "8.18.0", - "ajv-formats": "3.0.1", - "jsonc-parser": "3.3.1", - "picomatch": "4.0.4", - "rxjs": "7.8.2", - "source-map": "0.7.6" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "chokidar": "^5.0.0" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } + "@angular/cli": ">= 22.0.0 < 23.0.0" } }, - "node_modules/@angular-eslint/schematics/node_modules/chokidar": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", - "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "node_modules/@angular-eslint/schematics/node_modules/semver": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.0.tgz", + "integrity": "sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==", "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "readdirp": "^5.0.0" - }, - "engines": { - "node": ">= 20.19.0" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@angular-eslint/schematics/node_modules/readdirp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", - "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, "engines": { - "node": ">= 20.19.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" + "node": ">=10" } }, "node_modules/@angular-eslint/template-parser": { - "version": "21.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-21.4.0.tgz", - "integrity": "sha512-BaUSLSyS+43fzDoJkTMkGqNdCXq3fGnUZsfXTmrlZPJf5AYFbgAlAPGZXDJyoNWw43fux+DafdlrlKcYUSgSIw==", + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-22.0.0.tgz", + "integrity": "sha512-jU5MKQ24bBB4J99gSSexmUrLm2LvTJZCuCHhNTQ1LavWX4e1lrIxhm+6pJILOm6Cixf8jyNXnHMty6nljX8J+Q==", "dev": true, "license": "MIT", "dependencies": { - "@angular-eslint/bundled-angular-compiler": "21.4.0", + "@angular-eslint/bundled-angular-compiler": "22.0.0", "eslint-scope": "9.1.2" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "eslint": "^9.0.0 || ^10.0.0", "typescript": "*" } }, - "node_modules/@angular-eslint/template-parser/node_modules/@angular-eslint/bundled-angular-compiler": { - "version": "21.4.0", - "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-21.4.0.tgz", - "integrity": "sha512-/3H4BPbQ1BHJkkrUsfusZtmHc+qiFWBBZ9UDPWah4xZMjflexOK9U4GYeH7nMjcuyqFnIlMMeJJNwNLGt/hmdg==", - "dev": true, - "license": "MIT" - }, "node_modules/@angular-eslint/template-parser/node_modules/eslint-scope": { "version": "9.1.2", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", @@ -803,81 +549,95 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/@angular-eslint/utils": { + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-22.0.0.tgz", + "integrity": "sha512-VFodMojghnPYm+B3U+HRYrqebPMj8NyobNjVzDdY8V5XIBW+4ivOSEINIz81G48rmm/NZKwj56+bJ88bVX4KIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-eslint/bundled-angular-compiler": "22.0.0" + }, + "peerDependencies": { + "@typescript-eslint/utils": "^8.0.0", + "eslint": "^9.0.0 || ^10.0.0", + "typescript": "*" + } + }, "node_modules/@angular/animations": { - "version": "21.2.17", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-21.2.17.tgz", - "integrity": "sha512-zOW8FFa9qfbVkZ5TulxDkl1C3+gEjWfAAD5Z2MycA6pjVJQlLYPiTAGq+flOQ3yZfTT0z6kd5rejQMXWI81Dvg==", + "version": "22.0.6", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-22.0.6.tgz", + "integrity": "sha512-5bBAuKtawVK4KPq6U/yoE5yCyKymEnXNN7UJ1Lb7PUuuYmLnUXb7zJpC7HwtHTuV/0PTCkGlLE59NtcrrolTuA==", "deprecated": "@angular/animations is deprecated. Use `animate.enter` and `animate.leave` instead. For more information see: https://v22.angular.dev/guide/animations.", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + "node": "^22.22.3 || ^24.15.0 || >=26.0.0" }, "peerDependencies": { - "@angular/core": "21.2.17" + "@angular/core": "22.0.6" } }, "node_modules/@angular/build": { - "version": "21.2.18", - "resolved": "https://registry.npmjs.org/@angular/build/-/build-21.2.18.tgz", - "integrity": "sha512-9Jic0Dud6d0ULPR5SceHV86AzZE42cNWPsbLKrK1dUneaAC44GSVRTmLXcaSX/5Exa3gGjFANQw4qashgxUekQ==", + "version": "22.0.6", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-22.0.6.tgz", + "integrity": "sha512-mIp1snH1haw4pKiJwUmKyp9f31NRUTeUwqrl9W59X3Iv54egOnD1EdCc0jsW7WJVr/JHRZYVt/ooFelUB8uV8g==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.2102.18", - "@babel/core": "7.29.7", + "@angular-devkit/architect": "0.2200.6", + "@babel/core": "7.29.0", "@babel/helper-annotate-as-pure": "7.27.3", "@babel/helper-split-export-declaration": "7.24.7", - "@inquirer/confirm": "5.1.21", - "@vitejs/plugin-basic-ssl": "2.1.4", - "beasties": "0.4.1", + "@inquirer/confirm": "6.0.12", + "@vitejs/plugin-basic-ssl": "2.3.0", + "beasties": "0.4.2", "browserslist": "^4.26.0", "esbuild": "0.28.1", - "https-proxy-agent": "7.0.6", - "istanbul-lib-instrument": "6.0.3", + "https-proxy-agent": "9.0.0", "jsonc-parser": "3.3.1", - "listr2": "9.0.5", + "listr2": "10.2.1", "magic-string": "0.30.21", "mrmime": "2.0.1", - "parse5-html-rewriting-stream": "8.0.0", + "parse5-html-rewriting-stream": "8.0.1", "picomatch": "4.0.4", "piscina": "5.2.0", - "rolldown": "1.0.0-rc.4", - "sass": "1.97.3", + "rollup": "4.60.2", + "sass": "1.99.0", "semver": "7.7.4", "source-map-support": "0.5.21", - "tinyglobby": "0.2.15", - "undici": "7.28.0", - "vite": "7.3.6", + "tinyglobby": "0.2.16", + "vite": "7.3.5", "watchpack": "2.5.1" }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "node": "^22.22.3 || ^24.15.0 || >=26.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" }, "optionalDependencies": { - "lmdb": "3.5.1" + "lmdb": "3.5.4" }, "peerDependencies": { - "@angular/compiler": "^21.0.0", - "@angular/compiler-cli": "^21.0.0", - "@angular/core": "^21.0.0", - "@angular/localize": "^21.0.0", - "@angular/platform-browser": "^21.0.0", - "@angular/platform-server": "^21.0.0", - "@angular/service-worker": "^21.0.0", - "@angular/ssr": "^21.2.18", + "@angular/compiler": "^22.0.0", + "@angular/compiler-cli": "^22.0.0", + "@angular/core": "^22.0.0", + "@angular/localize": "^22.0.0", + "@angular/platform-browser": "^22.0.0", + "@angular/platform-server": "^22.0.0", + "@angular/service-worker": "^22.0.0", + "@angular/ssr": "^22.0.6", + "istanbul-lib-instrument": "^6.0.0", "karma": "^6.4.0", "less": "^4.2.0", - "ng-packagr": "^21.0.0", + "ng-packagr": "^22.0.0", "postcss": "^8.4.0", "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", "tslib": "^2.3.0", - "typescript": ">=5.9 <6.0", + "typescript": ">=6.0 <6.1", "vitest": "^4.0.8" }, "peerDependenciesMeta": { @@ -899,6 +659,9 @@ "@angular/ssr": { "optional": true }, + "istanbul-lib-instrument": { + "optional": true + }, "karma": { "optional": true }, @@ -919,47 +682,6 @@ } } }, - "node_modules/@angular/build/node_modules/@babel/core": { - "version": "7.29.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz", - "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.29.7", - "@babel/generator": "^7.29.7", - "@babel/helper-compilation-targets": "^7.29.7", - "@babel/helper-module-transforms": "^7.29.7", - "@babel/helpers": "^7.29.7", - "@babel/parser": "^7.29.7", - "@babel/template": "^7.29.7", - "@babel/traverse": "^7.29.7", - "@babel/types": "^7.29.7", - "@jridgewell/remapping": "^2.3.5", - "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/@esbuild/aix-ppc64": { "version": "0.28.1", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.1.tgz", @@ -1402,12 +1124,15 @@ "node": ">=18" } }, - "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==", + "node_modules/@angular/build/node_modules/agent-base": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-9.0.0.tgz", + "integrity": "sha512-TQf59BsZnytt8GdJKLPfUZ54g/iaUL2OWDSFCCvMOhsHduDQxO8xC4PNeyIkVcA5KwL2phPSv0douC0fgWzmnA==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">= 20" + } }, "node_modules/@angular/build/node_modules/esbuild": { "version": "0.28.1", @@ -1451,155 +1176,107 @@ "@esbuild/win32-x64": "0.28.1" } }, + "node_modules/@angular/build/node_modules/https-proxy-agent": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-9.0.0.tgz", + "integrity": "sha512-/MVmHp58WkOypgFhCLk4fzpPcFQvTJ/e6LBI7irpIO2HfxUbpmYoHF+KzipzJpxxzJu7aJNWQ0xojJ/dzV2G5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "9.0.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 20" + } + }, "node_modules/@angular/cdk": { - "version": "21.2.14", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-21.2.14.tgz", - "integrity": "sha512-806REq/CLf37nEhmmd8Q+ILN8z/RVG2vk2n8YZ/4TdHpcBCi5ux4AxLbpMmduLwGPOzPagJ6ggRzE5fnX0rmcQ==", + "version": "22.0.4", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-22.0.4.tgz", + "integrity": "sha512-XaH1ff9tOn4acPh0zWbrmJznfZqZ0KZkw5+DM5BIeM9URmAOI8xdZWmVNyaUpVSmriANFjeGZS+Sfat9S6hLOg==", "license": "MIT", "dependencies": { "parse5": "^8.0.0", "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/common": "^21.0.0 || ^22.0.0", - "@angular/core": "^21.0.0 || ^22.0.0", - "@angular/platform-browser": "^21.0.0 || ^22.0.0", + "@angular/common": "^22.0.0 || ^23.0.0", + "@angular/core": "^22.0.0 || ^23.0.0", + "@angular/platform-browser": "^22.0.0 || ^23.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/cli": { - "version": "21.2.18", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.2.18.tgz", - "integrity": "sha512-WOZF4p0SnrmBpNeiOA2pdp9OBvGnOSLWbGdRLXJykyseIiEn7+N+GZp+ZA1aNZB4SWolpYCZfTYwkpo6Sf/LXg==", + "version": "22.0.6", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-22.0.6.tgz", + "integrity": "sha512-/sEN1hVcywSML+yWrr/T7gbuGfIrZwKC+WhiOv5GksSQVUrSujWnMX4meRJ5ocG/Ie8UN48LJ7LVDsm32NBt1A==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.2102.18", - "@angular-devkit/core": "21.2.18", - "@angular-devkit/schematics": "21.2.18", - "@inquirer/prompts": "7.10.1", - "@listr2/prompt-adapter-inquirer": "3.0.5", - "@modelcontextprotocol/sdk": "1.26.0", - "@schematics/angular": "21.2.18", + "@angular-devkit/architect": "0.2200.6", + "@angular-devkit/core": "22.0.6", + "@angular-devkit/schematics": "22.0.6", + "@inquirer/prompts": "8.4.2", + "@listr2/prompt-adapter-inquirer": "4.2.3", + "@modelcontextprotocol/sdk": "1.29.0", + "@schematics/angular": "22.0.6", "@yarnpkg/lockfile": "1.1.0", - "algoliasearch": "5.48.1", + "algoliasearch": "5.52.0", "ini": "6.0.0", "jsonc-parser": "3.3.1", - "listr2": "9.0.5", + "listr2": "10.2.1", "npm-package-arg": "13.0.2", "pacote": "21.5.1", - "parse5-html-rewriting-stream": "8.0.0", + "parse5-html-rewriting-stream": "8.0.1", "semver": "7.7.4", "yargs": "18.0.0", - "zod": "4.3.6" + "zod": "4.4.2" }, "bin": { "ng": "bin/ng.js" }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "node": "^22.22.3 || ^24.15.0 || >=26.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" } }, - "node_modules/@angular/cli/node_modules/@angular-devkit/core": { - "version": "21.2.18", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.18.tgz", - "integrity": "sha512-783AuDmzAjFkOBHey7cx1mXd8CTiMg9LvG+BCxEp8i4EB7cOGYrq3lBzkwhKJq6yYpz7dNgM1QgeLk+NcrFBSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "8.18.0", - "ajv-formats": "3.0.1", - "jsonc-parser": "3.3.1", - "picomatch": "4.0.4", - "rxjs": "7.8.2", - "source-map": "0.7.6" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "chokidar": "^5.0.0" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - }, - "node_modules/@angular/cli/node_modules/chokidar": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", - "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "readdirp": "^5.0.0" - }, - "engines": { - "node": ">= 20.19.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@angular/cli/node_modules/readdirp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", - "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">= 20.19.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - }, "node_modules/@angular/common": { - "version": "21.2.17", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.2.17.tgz", - "integrity": "sha512-hqAQxRfi5ldFE42suAXRcY+JCANrUh7fuSQ/DtZ7L896id5BT/exuv6dWNBC1PyAfQmRbpD5Pt6/pd+tNLyhDQ==", + "version": "22.0.6", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-22.0.6.tgz", + "integrity": "sha512-+sC0W0FWGeZ/HKUhueCBX8kXdFQDlStbUSK6WF/32igfNYR/PdUrp2L5bU7q654yjxnMzFWDAB+Uvzv6YI/cQg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + "node": "^22.22.3 || ^24.15.0 || >=26.0.0" }, "peerDependencies": { - "@angular/core": "21.2.17", + "@angular/core": "22.0.6", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "21.2.17", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.2.17.tgz", - "integrity": "sha512-p+NdjYiwAz9Zmu2yul0LlMXaFjMISVVa24+/MVMoKFeQeI82QE8jDywPlnOSHQHvdCcQVpS7saeEriZzX3JuBQ==", + "version": "22.0.6", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-22.0.6.tgz", + "integrity": "sha512-iFHsXOA14TsxK4jowmGfogI9Jb0ApL3z8EGTGvKMialqtw088HYjwJP1LT4OlO/wgmjSTq2peZ19jLPuhevNvw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + "node": "^22.22.3 || ^24.15.0 || >=26.0.0" } }, "node_modules/@angular/compiler-cli": { - "version": "21.2.17", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.2.17.tgz", - "integrity": "sha512-KithZ3b0HBFH0NbUcswBcjpN9y09vLbarMD7qmGWTnGUBk4W8cn4sbT8zJyv9CRKg9ZcuUBeJYKUfUPn/u/5OQ==", + "version": "22.0.6", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-22.0.6.tgz", + "integrity": "sha512-HPiceCIEyIcTmOuIFiyqu04kbLoJhSUavcOy/kzJkJ2OPXtPvGKaimC4lgs0C86uFy4P6rj6PDITBe3AVHkMTA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "7.29.0", + "@babel/core": "7.29.7", "@jridgewell/sourcemap-codec": "^1.4.14", "chokidar": "^5.0.0", "convert-source-map": "^1.5.1", @@ -1613,11 +1290,11 @@ "ngc": "bundles/src/bin/ngc.js" }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + "node": "^22.22.3 || ^24.15.0 || >=26.0.0" }, "peerDependencies": { - "@angular/compiler": "21.2.17", - "typescript": ">=5.9 <6.1" + "@angular/compiler": "22.0.6", + "typescript": ">=6.0 <6.1" }, "peerDependenciesMeta": { "typescript": { @@ -1625,49 +1302,67 @@ } } }, - "node_modules/@angular/compiler-cli/node_modules/chokidar": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", - "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "node_modules/@angular/compiler-cli/node_modules/@babel/core": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz", + "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==", "dev": true, "license": "MIT", "dependencies": { - "readdirp": "^5.0.0" + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-compilation-targets": "^7.29.7", + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helpers": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7", + "@jridgewell/remapping": "^2.3.5", + "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": ">= 20.19.0" + "node": ">=6.9.0" }, "funding": { - "url": "https://paulmillr.com/funding/" + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "node_modules/@angular/compiler-cli/node_modules/readdirp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", - "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", + "node_modules/@angular/compiler-cli/node_modules/@babel/core/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", - "engines": { - "node": ">= 20.19.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" + "license": "MIT" + }, + "node_modules/@angular/compiler-cli/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/core": { - "version": "21.2.17", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-21.2.17.tgz", - "integrity": "sha512-wYHpwIdnUnjQFOJJNqRcGx7LS3u64jT+R9L0TnMR/ViBM9dQgGYImlSikkftg2yrFCNo5aKRxhG2LLskQurVdg==", + "version": "22.0.6", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-22.0.6.tgz", + "integrity": "sha512-9AYGxmZlJhjLSepZaF/cn1LTC9xRHpUPtXlyyJdauTb4f77X/P0kVdmADztgF1Qy5oMd1V9UKebAe81gmqOH2g==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + "node": "^22.22.3 || ^24.15.0 || >=26.0.0" }, "peerDependencies": { - "@angular/compiler": "21.2.17", + "@angular/compiler": "22.0.6", "rxjs": "^6.5.3 || ^7.4.0", "zone.js": "~0.15.0 || ~0.16.0" }, @@ -1681,97 +1376,98 @@ } }, "node_modules/@angular/forms": { - "version": "21.2.17", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.2.17.tgz", - "integrity": "sha512-WKu8XeRSNZo+a+aDDZ3M5OtReF7KYqR/PmZ2l1lSf6N5EEAmc+Ky4aqbRhTL/mTSfHrO4+TDJ4C5A2tFmuwIeA==", + "version": "22.0.6", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-22.0.6.tgz", + "integrity": "sha512-pZGMk1TvT+m8z2ZGm90W0sBlo6fhtMAA2baZbMt3HbGRmY23vZv1Orv9npX3Z6a9CCNDY3XBMBvkuj8g7vde9Q==", "license": "MIT", "dependencies": { "@standard-schema/spec": "^1.0.0", - "tslib": "^2.3.0" + "tslib": "^2.3.0", + "zod": "^4.0.10" }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + "node": "^22.22.3 || ^24.15.0 || >=26.0.0" }, "peerDependencies": { - "@angular/common": "21.2.17", - "@angular/core": "21.2.17", - "@angular/platform-browser": "21.2.17", + "@angular/common": "22.0.6", + "@angular/core": "22.0.6", + "@angular/platform-browser": "22.0.6", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/language-server": { - "version": "21.2.17", - "resolved": "https://registry.npmjs.org/@angular/language-server/-/language-server-21.2.17.tgz", - "integrity": "sha512-6x/BQfYSKsjB2vVF0TJ2fkB2m8wRLykaPLrUaYA2bSEtIOCI4x+8vR/nELOkyRXXZB7CtsEqX2tv89ZK7eV0TA==", + "version": "22.0.6", + "resolved": "https://registry.npmjs.org/@angular/language-server/-/language-server-22.0.6.tgz", + "integrity": "sha512-3wLhBdF/9GgW7Y4fKyW7e9TKyRC2firP9akb6Xd1TajqQzDxExdbKo+bBLML+njKWcOCknUAqR6OBNpDl/IrPA==", "dev": true, "license": "MIT", "dependencies": { - "@angular/language-service": "21.2.17", - "typescript": "5.9.3" + "@angular/language-service": "22.0.6", + "typescript": "6.0.3" }, "bin": { "ngserver": "bin/ngserver" }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + "node": "^22.22.3 || ^24.15.0 || >=26.0.0" } }, "node_modules/@angular/language-service": { - "version": "21.2.17", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-21.2.17.tgz", - "integrity": "sha512-Pq0V7VBkShQThA6QME2FjZgHLuxFpsioEoppx1i8rHFTGoJuXtBJK8iaArF7XuYaMzMRInUGfMQzsXc2WE+rmg==", + "version": "22.0.6", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-22.0.6.tgz", + "integrity": "sha512-98+yuUDyt472Z5vUEQs2YFqeF+ET2YQIWsdbhp9gTAE/oCEfnPTV9iyvqqry79UpBH0ivGeBs2ISD1QUkKsWrA==", "dev": true, "license": "MIT", "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + "node": "^22.22.3 || ^24.15.0 || >=26.0.0" } }, "node_modules/@angular/material": { - "version": "21.2.14", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-21.2.14.tgz", - "integrity": "sha512-fMQca8VRtei93JRRG9qQ+u08DCb0nga59Esoakq5yx3+A1NfdpFeUS1tBns56U04o8KAaIAwZK3NBqXz8ZKNqg==", + "version": "22.0.4", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-22.0.4.tgz", + "integrity": "sha512-htOFlTwMtcB9J4q6yPD9jJIQVJ5LfRub+KAiD4D7UU1iaCknpNuQKRfLrZh/mEdOVACI52jHAOXS3+eTkloXcQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/cdk": "21.2.14", - "@angular/common": "^21.0.0 || ^22.0.0", - "@angular/core": "^21.0.0 || ^22.0.0", - "@angular/forms": "^21.0.0 || ^22.0.0", - "@angular/platform-browser": "^21.0.0 || ^22.0.0", + "@angular/cdk": "22.0.4", + "@angular/common": "^22.0.0 || ^23.0.0", + "@angular/core": "^22.0.0 || ^23.0.0", + "@angular/forms": "^22.0.0 || ^23.0.0", + "@angular/platform-browser": "^22.0.0 || ^23.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/material-date-fns-adapter": { - "version": "21.2.14", - "resolved": "https://registry.npmjs.org/@angular/material-date-fns-adapter/-/material-date-fns-adapter-21.2.14.tgz", - "integrity": "sha512-PvfX/Y+6ml8G+Zacgmp52nerI4fQmPtCKPDweUVA5Drm8Ygoo3zdVS9UnB+74KuH56I+AS5IZ8usJSwdV+z1UQ==", + "version": "22.0.4", + "resolved": "https://registry.npmjs.org/@angular/material-date-fns-adapter/-/material-date-fns-adapter-22.0.4.tgz", + "integrity": "sha512-0TZf1eByXqPbDyXldzqxF4PSPw/x1HtjpBdKVe4QjXFxlFVaSymRWr+Xwks0UVL+QzddZWk8TS+dcU462eeZ6g==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/core": "^21.0.0 || ^22.0.0", - "@angular/material": "21.2.14", + "@angular/core": "^22.0.0 || ^23.0.0", + "@angular/material": "22.0.4", "date-fns": ">2.20.0 <5.0" } }, "node_modules/@angular/platform-browser": { - "version": "21.2.17", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.2.17.tgz", - "integrity": "sha512-ROdSliejY37g1EphYmweYdm5cHM8HY3X4tbWt4ubxmhTyYgfN3nxrxfGQ/n7Mz5tDY9VXVLIGDgjLOGYOo4uTQ==", + "version": "22.0.6", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-22.0.6.tgz", + "integrity": "sha512-DyyYRx4jXlfaenf0mwsp9jcIak/c17QCFgJKA7OauSkQnk3dL+voMYEwdigfnTIUdw+2Y9wYDywLeuM6NychNQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + "node": "^22.22.3 || ^24.15.0 || >=26.0.0" }, "peerDependencies": { - "@angular/animations": "21.2.17", - "@angular/common": "21.2.17", - "@angular/core": "21.2.17" + "@angular/animations": "22.0.6", + "@angular/common": "22.0.6", + "@angular/core": "22.0.6" }, "peerDependenciesMeta": { "@angular/animations": { @@ -1780,45 +1476,46 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "21.2.17", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-21.2.17.tgz", - "integrity": "sha512-r/BU/T8bOTghP3fIXhzYf5wcMcAmhWnAFv3p4asCCPXomaktoas70wYcMaDH+pK1LAFBxLwzBWHm36MpFlTMFg==", + "version": "22.0.6", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-22.0.6.tgz", + "integrity": "sha512-VKf8mg+BviBp3wlElZYxWFuXtMLQqd8rfm6jEzwP1Emaz2MCx69Y54dXopD81KJCqRwTmJUVxOjoubqUOlJzRw==", + "deprecated": "@angular/platform-browser-dynamic is deprecated. Use `@angular/platform-browser` instead.", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + "node": "^22.22.3 || ^24.15.0 || >=26.0.0" }, "peerDependencies": { - "@angular/common": "21.2.17", - "@angular/compiler": "21.2.17", - "@angular/core": "21.2.17", - "@angular/platform-browser": "21.2.17" + "@angular/common": "22.0.6", + "@angular/compiler": "22.0.6", + "@angular/core": "22.0.6", + "@angular/platform-browser": "22.0.6" } }, "node_modules/@angular/router": { - "version": "21.2.17", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-21.2.17.tgz", - "integrity": "sha512-RSCtK5ppAV6y6wfRLHSK2a9Wc/vm8j0wsC+/j9PH9yQmppWFVXDWsg5E39MKOIpnoYVx2+hI6eak6+wYtZTe1A==", + "version": "22.0.6", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-22.0.6.tgz", + "integrity": "sha512-s0BErBBadCXlvilob8aWke4H1FRlXDbnDfyYkjW6RkUaGQ4jzeEAzH56KsG2hf8NtBtYwkRlsLfOX9s5sPwm6w==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + "node": "^22.22.3 || ^24.15.0 || >=26.0.0" }, "peerDependencies": { - "@angular/common": "21.2.17", - "@angular/core": "21.2.17", - "@angular/platform-browser": "21.2.17", + "@angular/common": "22.0.6", + "@angular/core": "22.0.6", + "@angular/platform-browser": "22.0.6", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/service-worker": { - "version": "21.2.17", - "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-21.2.17.tgz", - "integrity": "sha512-6/uKwxBA3udngVHuIVqD8kdMV1whfym9ESB1UyjoNINx+2zj7A749X89tiV0TW2CvWpUYUE7VxpoapEiv5lvfw==", + "version": "22.0.6", + "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-22.0.6.tgz", + "integrity": "sha512-s0zE2MFVptHNd21c5sD2VXd9Dp5x6cgyDjIePKjRsfiILegX3i6pAj9xeZ6y160dsrLVmkHST+uY+oxOVMVUhg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1827,13 +1524,64 @@ "ngsw-config": "ngsw-config.js" }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + "node": "^22.22.3 || ^24.15.0 || >=26.0.0" }, "peerDependencies": { - "@angular/core": "21.2.17", + "@angular/core": "22.0.6", "rxjs": "^6.5.3 || ^7.4.0" } }, + "node_modules/@asamuzakjp/css-color": { + "version": "5.1.11", + "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-5.1.11.tgz", + "integrity": "sha512-KVw6qIiCTUQhByfTd78h2yD1/00waTmm9uy/R7Ck/ctUyAPj+AEDLkQIdJW0T8+qGgj3j5bpNKK7Q3G+LedJWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/generational-cache": "^1.0.1", + "@csstools/css-calc": "^3.2.0", + "@csstools/css-color-parser": "^4.1.0", + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-tokenizer": "^4.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/@asamuzakjp/dom-selector": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-7.1.1.tgz", + "integrity": "sha512-67RZDnYRc8H/8MLDgQCDE//zoqVFwajkepHZgmXrbwybzXOEwOWGPYGmALYl9J2DOLfFPPs6kKCqmbzV895hTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/generational-cache": "^1.0.1", + "@asamuzakjp/nwsapi": "^2.3.9", + "bidi-js": "^1.0.3", + "css-tree": "^3.2.1", + "is-potential-custom-element-name": "^1.0.1" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/@asamuzakjp/generational-cache": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@asamuzakjp/generational-cache/-/generational-cache-1.0.1.tgz", + "integrity": "sha512-wajfB8KqzMCN2KGNFdLkReeHncd0AslUSrvHVvvYWuU8ghncRJoA50kT3zP9MVL0+9g4/67H+cdvBskj9THPzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/@asamuzakjp/nwsapi": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/@asamuzakjp/nwsapi/-/nwsapi-2.3.9.tgz", + "integrity": "sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==", + "dev": true, + "license": "MIT" + }, "node_modules/@babel/code-frame": { "version": "7.29.7", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", @@ -2136,6 +1884,19 @@ "node": ">=6.9.0" } }, + "node_modules/@bramus/specificity": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@bramus/specificity/-/specificity-2.4.2.tgz", + "integrity": "sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-tree": "^3.0.0" + }, + "bin": { + "specificity": "bin/cli.js" + } + }, "node_modules/@cantoo/pdf-lib": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/@cantoo/pdf-lib/-/pdf-lib-2.7.1.tgz", @@ -2151,29 +1912,18 @@ "tslib": ">=2" } }, - "node_modules/@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.1.90" - } - }, "node_modules/@coreui/angular-chartjs": { - "version": "5.6.25", - "resolved": "https://registry.npmjs.org/@coreui/angular-chartjs/-/angular-chartjs-5.6.25.tgz", - "integrity": "sha512-xab538rl0b5xfRJjQqYspZ/NoJqrwqcVBpoR4o1C9ZEGyMrSc34O+nzjjUIoFeO+TY8ktGz517gunKFVfn6NZw==", - "dev": true, + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/@coreui/angular-chartjs/-/angular-chartjs-5.7.3.tgz", + "integrity": "sha512-2YmX+sPK8JMrpTvoESA4hL5+5jGKWcd6cet+quelz1BOTBOM5EwT00uLXkvTyorvBPma1SJp5eANhwYKF7RhKg==", "license": "MIT", "dependencies": { "lodash-es": "^4.18.1", "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/core": "^21.2.17", - "@coreui/chartjs": "^4.1.0", + "@angular/core": "^22.0.0", + "@coreui/chartjs": "^4.2.0", "chart.js": "^4.5.0" } }, @@ -2229,50 +1979,156 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@date-fns/tz": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@date-fns/tz/-/tz-1.5.0.tgz", - "integrity": "sha512-lwYN/vDPeNRULcepoE/LO2Pgx+7/RV+S9ARfbc9lr2DtGkOD7pAiruHvbR1RX3Qyf6ja47EWJDMsNK5vK08DJg==", - "license": "MIT" + "node_modules/@csstools/color-helpers": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-6.1.0.tgz", + "integrity": "sha512-064IFJdjTfUqnjpCVpMOdbr8FLQBhinbZj6yRv2An2E41O/pLEXqfFRWqGq/SxlE5PEUYTlvWsG2r8MswAVvkg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=20.19.0" + } }, - "node_modules/@emnapi/core": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.8.1.tgz", - "integrity": "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==", + "node_modules/@csstools/css-calc": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-3.2.1.tgz", + "integrity": "sha512-DtdHlgXh5ZkA43cwBcAm+huzgJiwx3ZTWVjBs94kwz2xKqSimDA3lBgCjphYgwgVUMWatSM0pDd8TILB1yrVVg==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/wasi-threads": "1.1.0", - "tslib": "^2.4.0" + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-tokenizer": "^4.0.0" } }, - "node_modules/@emnapi/runtime": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", - "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==", + "node_modules/@csstools/css-color-parser": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-4.1.9.tgz", + "integrity": "sha512-paQcIaOO53Rk5+YrBaBjm/SgrV4INImjo2BT1DtQRYr+XeTRbeAYlS+jxXp9drqvKmtFnWRJKIalDLhZZDu42A==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "license": "MIT", - "optional": true, "dependencies": { - "tslib": "^2.4.0" + "@csstools/color-helpers": "^6.1.0", + "@csstools/css-calc": "^3.2.1" + }, + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@csstools/css-parser-algorithms": "^4.0.0", + "@csstools/css-tokenizer": "^4.0.0" } }, - "node_modules/@emnapi/wasi-threads": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", - "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==", + "node_modules/@csstools/css-parser-algorithms": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-4.0.0.tgz", + "integrity": "sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@csstools/css-tokenizer": "^4.0.0" + } + }, + "node_modules/@csstools/css-syntax-patches-for-csstree": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.6.tgz", + "integrity": "sha512-TcJCWFbXLPpJYq6z7bfOyjWYJDiDg2/I4gyUC9pqPNqHFRIey0EB0q0L5cSnQDfWJg8Jd6VadakxdIez/3zkqQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "peerDependencies": { + "css-tree": "^3.2.1" + }, + "peerDependenciesMeta": { + "css-tree": { + "optional": true + } + } + }, + "node_modules/@csstools/css-tokenizer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-4.0.0.tgz", + "integrity": "sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT", + "engines": { + "node": ">=20.19.0" } }, + "node_modules/@date-fns/tz": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@date-fns/tz/-/tz-1.5.0.tgz", + "integrity": "sha512-lwYN/vDPeNRULcepoE/LO2Pgx+7/RV+S9ARfbc9lr2DtGkOD7pAiruHvbR1RX3Qyf6ja47EWJDMsNK5vK08DJg==", + "license": "MIT" + }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", - "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz", + "integrity": "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==", "cpu": [ "ppc64" ], @@ -2287,9 +2143,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", - "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz", + "integrity": "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==", "cpu": [ "arm" ], @@ -2304,9 +2160,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", - "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz", + "integrity": "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==", "cpu": [ "arm64" ], @@ -2321,9 +2177,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", - "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz", + "integrity": "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==", "cpu": [ "x64" ], @@ -2338,9 +2194,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", - "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz", + "integrity": "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==", "cpu": [ "arm64" ], @@ -2355,9 +2211,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", - "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.7.tgz", + "integrity": "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==", "cpu": [ "x64" ], @@ -2372,9 +2228,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", - "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.7.tgz", + "integrity": "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==", "cpu": [ "arm64" ], @@ -2389,9 +2245,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", - "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.7.tgz", + "integrity": "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==", "cpu": [ "x64" ], @@ -2406,9 +2262,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", - "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.7.tgz", + "integrity": "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==", "cpu": [ "arm" ], @@ -2423,9 +2279,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", - "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.7.tgz", + "integrity": "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==", "cpu": [ "arm64" ], @@ -2440,9 +2296,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", - "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.7.tgz", + "integrity": "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==", "cpu": [ "ia32" ], @@ -2457,9 +2313,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", - "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.7.tgz", + "integrity": "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==", "cpu": [ "loong64" ], @@ -2474,9 +2330,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", - "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.7.tgz", + "integrity": "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==", "cpu": [ "mips64el" ], @@ -2491,9 +2347,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", - "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.7.tgz", + "integrity": "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==", "cpu": [ "ppc64" ], @@ -2508,9 +2364,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", - "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.7.tgz", + "integrity": "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==", "cpu": [ "riscv64" ], @@ -2525,9 +2381,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", - "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.7.tgz", + "integrity": "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==", "cpu": [ "s390x" ], @@ -2542,9 +2398,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", - "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.7.tgz", + "integrity": "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==", "cpu": [ "x64" ], @@ -2559,9 +2415,9 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", - "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.7.tgz", + "integrity": "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==", "cpu": [ "arm64" ], @@ -2576,9 +2432,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", - "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.7.tgz", + "integrity": "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==", "cpu": [ "x64" ], @@ -2593,9 +2449,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", - "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.7.tgz", + "integrity": "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==", "cpu": [ "arm64" ], @@ -2610,9 +2466,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", - "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.7.tgz", + "integrity": "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==", "cpu": [ "x64" ], @@ -2627,9 +2483,9 @@ } }, "node_modules/@esbuild/openharmony-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", - "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.7.tgz", + "integrity": "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==", "cpu": [ "arm64" ], @@ -2644,9 +2500,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", - "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.7.tgz", + "integrity": "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==", "cpu": [ "x64" ], @@ -2661,9 +2517,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", - "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.7.tgz", + "integrity": "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==", "cpu": [ "arm64" ], @@ -2678,9 +2534,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", - "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.7.tgz", + "integrity": "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==", "cpu": [ "ia32" ], @@ -2695,9 +2551,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", - "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.7.tgz", + "integrity": "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==", "cpu": [ "x64" ], @@ -2960,6 +2816,24 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, + "node_modules/@exodus/bytes": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/@exodus/bytes/-/bytes-1.15.1.tgz", + "integrity": "sha512-S6mL0yNB/Abt9Ei4tq8gDhcczc4S3+vQ4ra7vxnAf+YHC02srtqxKKZghx2Dq6p0e66THKwR6r8N6P95wEty7Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@noble/hashes": "^1.8.0 || ^2.0.0" + }, + "peerDependenciesMeta": { + "@noble/hashes": { + "optional": true + } + } + }, "node_modules/@fast-csv/format": { "version": "4.3.5", "resolved": "https://registry.npmjs.org/@fast-csv/format/-/format-4.3.5.tgz", @@ -3099,30 +2973,29 @@ } }, "node_modules/@inquirer/ansi": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-1.0.2.tgz", - "integrity": "sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-2.0.7.tgz", + "integrity": "sha512-3eTuUO1vH2cZm2ZKHeQxnOqlTi9EfZDGgIe3BL3I4u+rJHocr9Fz86M4fjYABPvFnQG/gGK551HqDiIcETwU6Q==", "dev": true, "license": "MIT", "engines": { - "node": ">=18" + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" } }, "node_modules/@inquirer/checkbox": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.3.2.tgz", - "integrity": "sha512-VXukHf0RR1doGe6Sm4F0Em7SWYLTHSsbGfJdS9Ja2bX5/D5uwVOEjr07cncLROdBvmnvCATYEWlHqYmXv2IlQA==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-5.2.1.tgz", + "integrity": "sha512-b6xmA/VlTe0ZgDQHDui+Nav470u7u49nRd8/iuhOcQPO9Ch7lGuogydhi2VOmNlZ+zXcM8IcPuNSwQcdJaF/kw==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/ansi": "^1.0.2", - "@inquirer/core": "^10.3.2", - "@inquirer/figures": "^1.0.15", - "@inquirer/type": "^3.0.10", - "yoctocolors-cjs": "^2.1.3" + "@inquirer/ansi": "^2.0.7", + "@inquirer/core": "^11.2.1", + "@inquirer/figures": "^2.0.7", + "@inquirer/type": "^4.0.7" }, "engines": { - "node": ">=18" + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" }, "peerDependencies": { "@types/node": ">=18" @@ -3134,17 +3007,17 @@ } }, "node_modules/@inquirer/confirm": { - "version": "5.1.21", - "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.21.tgz", - "integrity": "sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ==", + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-6.0.12.tgz", + "integrity": "sha512-h9FgGun3QwVYNj5TWIZZ+slii73bMoBFjPfVIGtnFuL4t8gBiNDV9PcSfIzkuxvgquJKt9nr1QzszpBzTbH8Og==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.3.2", - "@inquirer/type": "^3.0.10" + "@inquirer/core": "^11.1.9", + "@inquirer/type": "^4.0.5" }, "engines": { - "node": ">=18" + "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" }, "peerDependencies": { "@types/node": ">=18" @@ -3156,23 +3029,22 @@ } }, "node_modules/@inquirer/core": { - "version": "10.3.2", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.3.2.tgz", - "integrity": "sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A==", + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-11.2.1.tgz", + "integrity": "sha512-Qd6GJT1yVyrZZCfN8W2qKF5ApmqryXRhRKCuip8h01x2w/esJQ2XIYc6f9abMIHgKQdBfFTSOdbHRLAhuM09UA==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/ansi": "^1.0.2", - "@inquirer/figures": "^1.0.15", - "@inquirer/type": "^3.0.10", + "@inquirer/ansi": "^2.0.7", + "@inquirer/figures": "^2.0.7", + "@inquirer/type": "^4.0.7", "cli-width": "^4.1.0", - "mute-stream": "^2.0.0", - "signal-exit": "^4.1.0", - "wrap-ansi": "^6.2.0", - "yoctocolors-cjs": "^2.1.3" + "fast-wrap-ansi": "^0.2.0", + "mute-stream": "^3.0.0", + "signal-exit": "^4.1.0" }, "engines": { - "node": ">=18" + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" }, "peerDependencies": { "@types/node": ">=18" @@ -3184,18 +3056,18 @@ } }, "node_modules/@inquirer/editor": { - "version": "4.2.23", - "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.23.tgz", - "integrity": "sha512-aLSROkEwirotxZ1pBaP8tugXRFCxW94gwrQLxXfrZsKkfjOYC1aRvAZuhpJOb5cu4IBTJdsCigUlf2iCOu4ZDQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-5.2.2.tgz", + "integrity": "sha512-ZRVd/oD+sYsUd5zVm0NflqEzlqfYCyHNsqkHl2oWXEUHs12tCbcSFi+wVFEvD8+LGRaMUsVrE7qeo6lSG/S1Vg==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.3.2", - "@inquirer/external-editor": "^1.0.3", - "@inquirer/type": "^3.0.10" + "@inquirer/core": "^11.2.1", + "@inquirer/external-editor": "^3.0.3", + "@inquirer/type": "^4.0.7" }, "engines": { - "node": ">=18" + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" }, "peerDependencies": { "@types/node": ">=18" @@ -3207,18 +3079,17 @@ } }, "node_modules/@inquirer/expand": { - "version": "4.0.23", - "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.23.tgz", - "integrity": "sha512-nRzdOyFYnpeYTTR2qFwEVmIWypzdAx/sIkCMeTNTcflFOovfqUk+HcFhQQVBftAh9gmGrpFj6QcGEqrDMDOiew==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-5.1.1.tgz", + "integrity": "sha512-YmQpenjbFSHAK3sOd44puHh3V1KXXr+JiNpUztoSQ4drLh2rTVzTap/YtlAVu/5xavifIlBfNEzJ/neZJ1a/1g==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.3.2", - "@inquirer/type": "^3.0.10", - "yoctocolors-cjs": "^2.1.3" + "@inquirer/core": "^11.2.1", + "@inquirer/type": "^4.0.7" }, "engines": { - "node": ">=18" + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" }, "peerDependencies": { "@types/node": ">=18" @@ -3230,17 +3101,17 @@ } }, "node_modules/@inquirer/external-editor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.3.tgz", - "integrity": "sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-3.0.3.tgz", + "integrity": "sha512-6thf5I8q7lZwzGLAxPaaGEREEkZ3nyePPDQ1oyobblxmEE8mqTLguScP7pDjUTAibiyb4hfXl+qjUEJ+di/aNA==", "dev": true, "license": "MIT", "dependencies": { "chardet": "^2.1.1", - "iconv-lite": "^0.7.0" + "iconv-lite": "^0.7.2" }, "engines": { - "node": ">=18" + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" }, "peerDependencies": { "@types/node": ">=18" @@ -3252,9 +3123,9 @@ } }, "node_modules/@inquirer/external-editor/node_modules/iconv-lite": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", - "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.3.tgz", + "integrity": "sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3269,27 +3140,27 @@ } }, "node_modules/@inquirer/figures": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.15.tgz", - "integrity": "sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-2.0.7.tgz", + "integrity": "sha512-aJ8TBPOGB6f/2qziPfElISTCEd5XOYTFckA2SGjhNmiKzfK/u4ot3v0DUzGVdUnKjN10EqnnEPck36BkyfLnJw==", "dev": true, "license": "MIT", "engines": { - "node": ">=18" + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" } }, "node_modules/@inquirer/input": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.3.1.tgz", - "integrity": "sha512-kN0pAM4yPrLjJ1XJBjDxyfDduXOuQHrBB8aLDMueuwUGn+vNpF7Gq7TvyVxx8u4SHlFFj4trmj+a2cbpG4Jn1g==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-5.1.2.tgz", + "integrity": "sha512-9K/DDBSQpOyZSkt6sOVP9Vo0TR7atX2kuILsUu0x3wVcVbe97lJwIJKMLdMw25tDYuXl/qp6erT0Xs1rfmcfZg==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.3.2", - "@inquirer/type": "^3.0.10" + "@inquirer/core": "^11.2.1", + "@inquirer/type": "^4.0.7" }, "engines": { - "node": ">=18" + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" }, "peerDependencies": { "@types/node": ">=18" @@ -3301,17 +3172,17 @@ } }, "node_modules/@inquirer/number": { - "version": "3.0.23", - "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.23.tgz", - "integrity": "sha512-5Smv0OK7K0KUzUfYUXDXQc9jrf8OHo4ktlEayFlelCjwMXz0299Y8OrI+lj7i4gCBY15UObk76q0QtxjzFcFcg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-4.1.1.tgz", + "integrity": "sha512-XF4IXAbPnGPgw0wsbC/i2tPcyfdZgDpUlhsqU0SfT4IRIGWha6Xm9VRgN5yYxJq+jnyXlfXI/nQ3ulfk0iEICA==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.3.2", - "@inquirer/type": "^3.0.10" + "@inquirer/core": "^11.2.1", + "@inquirer/type": "^4.0.7" }, "engines": { - "node": ">=18" + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" }, "peerDependencies": { "@types/node": ">=18" @@ -3323,18 +3194,18 @@ } }, "node_modules/@inquirer/password": { - "version": "4.0.23", - "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.23.tgz", - "integrity": "sha512-zREJHjhT5vJBMZX/IUbyI9zVtVfOLiTO66MrF/3GFZYZ7T4YILW5MSkEYHceSii/KtRk+4i3RE7E1CUXA2jHcA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-5.1.1.tgz", + "integrity": "sha512-3XBfF7DAsp5qeDsvN5Rd1HmbNokVvEQoUM0QLrRcybC9nX96w3Pbmu7qUsb3IT3J3jBvs2+mTXaKHOUsgHMLzg==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/ansi": "^1.0.2", - "@inquirer/core": "^10.3.2", - "@inquirer/type": "^3.0.10" + "@inquirer/ansi": "^2.0.7", + "@inquirer/core": "^11.2.1", + "@inquirer/type": "^4.0.7" }, "engines": { - "node": ">=18" + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" }, "peerDependencies": { "@types/node": ">=18" @@ -3346,25 +3217,25 @@ } }, "node_modules/@inquirer/prompts": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.10.1.tgz", - "integrity": "sha512-Dx/y9bCQcXLI5ooQ5KyvA4FTgeo2jYj/7plWfV5Ak5wDPKQZgudKez2ixyfz7tKXzcJciTxqLeK7R9HItwiByg==", + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-8.4.2.tgz", + "integrity": "sha512-XJmn/wY4AX56l1BRU+ZjDrFtg9+2uBEi4JvJQj82kwJDQKiPgSn4CEsbfGGygS4Gw6rkL4W18oATjfVfaqub2Q==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/checkbox": "^4.3.2", - "@inquirer/confirm": "^5.1.21", - "@inquirer/editor": "^4.2.23", - "@inquirer/expand": "^4.0.23", - "@inquirer/input": "^4.3.1", - "@inquirer/number": "^3.0.23", - "@inquirer/password": "^4.0.23", - "@inquirer/rawlist": "^4.1.11", - "@inquirer/search": "^3.2.2", - "@inquirer/select": "^4.4.2" + "@inquirer/checkbox": "^5.1.4", + "@inquirer/confirm": "^6.0.12", + "@inquirer/editor": "^5.1.1", + "@inquirer/expand": "^5.0.13", + "@inquirer/input": "^5.0.12", + "@inquirer/number": "^4.0.12", + "@inquirer/password": "^5.0.12", + "@inquirer/rawlist": "^5.2.8", + "@inquirer/search": "^4.1.8", + "@inquirer/select": "^5.1.4" }, "engines": { - "node": ">=18" + "node": ">=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0" }, "peerDependencies": { "@types/node": ">=18" @@ -3376,18 +3247,17 @@ } }, "node_modules/@inquirer/rawlist": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.11.tgz", - "integrity": "sha512-+LLQB8XGr3I5LZN/GuAHo+GpDJegQwuPARLChlMICNdwW7OwV2izlCSCxN6cqpL0sMXmbKbFcItJgdQq5EBXTw==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-5.3.1.tgz", + "integrity": "sha512-QqdTqQddL3qPX/PPrjobpsO25NZ4dWXgTLenrR445L2ptLEYE6Z+PD5c5CNDJNx4ugRgELAIpSIJxZaO2jJ2Og==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.3.2", - "@inquirer/type": "^3.0.10", - "yoctocolors-cjs": "^2.1.3" + "@inquirer/core": "^11.2.1", + "@inquirer/type": "^4.0.7" }, "engines": { - "node": ">=18" + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" }, "peerDependencies": { "@types/node": ">=18" @@ -3399,19 +3269,18 @@ } }, "node_modules/@inquirer/search": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.2.2.tgz", - "integrity": "sha512-p2bvRfENXCZdWF/U2BXvnSI9h+tuA8iNqtUKb9UWbmLYCRQxd8WkvwWvYn+3NgYaNwdUkHytJMGG4MMLucI1kA==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-4.2.1.tgz", + "integrity": "sha512-xJj8QWKRSrfKoBIITLZK61dD3zwo0Rz11fgDImku30/Oe81zMdIdGgrLY2h6RkJ+KZ/GhNYIRMKnH/62qBTA5g==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.3.2", - "@inquirer/figures": "^1.0.15", - "@inquirer/type": "^3.0.10", - "yoctocolors-cjs": "^2.1.3" + "@inquirer/core": "^11.2.1", + "@inquirer/figures": "^2.0.7", + "@inquirer/type": "^4.0.7" }, "engines": { - "node": ">=18" + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" }, "peerDependencies": { "@types/node": ">=18" @@ -3423,20 +3292,19 @@ } }, "node_modules/@inquirer/select": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.4.2.tgz", - "integrity": "sha512-l4xMuJo55MAe+N7Qr4rX90vypFwCajSakx59qe/tMaC1aEHWLyw68wF4o0A4SLAY4E0nd+Vt+EyskeDIqu1M6w==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-5.2.1.tgz", + "integrity": "sha512-FlDndEUww8m7BfukO2nJa25vhD+H5jxxCv4oGioKqzyWz3nPHhhw4LKdYRSlXuAx7DsdWia7iyaBPKKS95Evfw==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/ansi": "^1.0.2", - "@inquirer/core": "^10.3.2", - "@inquirer/figures": "^1.0.15", - "@inquirer/type": "^3.0.10", - "yoctocolors-cjs": "^2.1.3" + "@inquirer/ansi": "^2.0.7", + "@inquirer/core": "^11.2.1", + "@inquirer/figures": "^2.0.7", + "@inquirer/type": "^4.0.7" }, "engines": { - "node": ">=18" + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" }, "peerDependencies": { "@types/node": ">=18" @@ -3448,13 +3316,13 @@ } }, "node_modules/@inquirer/type": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.10.tgz", - "integrity": "sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-4.0.7.tgz", + "integrity": "sha512-t28inv14nMQ1PhKpsJPY+kEs/c00qzeCOS2gTNRyTjG5d6qsVA2fItxW4hkvGZ5lvanGLdtCzVIx5dwdRpN1+g==", "dev": true, "license": "MIT", "engines": { - "node": ">=18" + "node": ">=23.5.0 || ^22.13.0 || ^20.17.0" }, "peerDependencies": { "@types/node": ">=18" @@ -3498,6 +3366,85 @@ "node": ">=8" } }, + "node_modules/@jest/diff-sequences": { + "version": "30.4.0", + "resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.4.0.tgz", + "integrity": "sha512-zOpzlfUs45l6u7jm39qr87JCHUDsaeCtvL+kQe/Vn9jSnRB4/5IPXISm0h9I1vZW/o00Kn4UTJ2MOlhnUGwv3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.4.1.tgz", + "integrity": "sha512-ZBn5CglH8fBsQsvs4VWNzD4aWfUYks+IdOOQU3MEK71ol/BcVm+P+rtb1KpiFBpSWSCE27uOahyyf1vfqOVbcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/get-type": "30.1.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/get-type": { + "version": "30.1.0", + "resolved": "https://registry.npmjs.org/@jest/get-type/-/get-type-30.1.0.tgz", + "integrity": "sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/pattern": { + "version": "30.4.0", + "resolved": "https://registry.npmjs.org/@jest/pattern/-/pattern-30.4.0.tgz", + "integrity": "sha512-RAWn3+f9u8BsHijKJ71uHcFp6vmyEt6VvoWXkl6hKF3qVIuWNmudVjg12DlBPGup/frIl5UcUlH5HfEuvHpEXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "jest-regex-util": "30.4.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/schemas": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.4.1.tgz", + "integrity": "sha512-i6b4qw5qnP8c5FEeBJg/uZQ4ddrkN6Ca8qISJh0pr7a5hfn3h3v5x60BEbOC7OYAGZNMs1LfFLwnW2CuK8F57Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.34.0" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/@jest/types": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.4.1.tgz", + "integrity": "sha512-f1x/vJXIfjOlEmejYpbkbgw1gOqpPECwMvMEtBqe47j7H2Hg8h8w3o3ikhSXq3MI15kg+oQ0exWO0uCtTNJLoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/pattern": "30.4.0", + "@jest/schemas": "30.4.1", + "@types/istanbul-lib-coverage": "^2.0.6", + "@types/istanbul-reports": "^3.0.4", + "@types/node": "*", + "@types/yargs": "^17.0.33", + "chalk": "^4.1.2" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.13", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", @@ -3555,26 +3502,26 @@ "license": "MIT" }, "node_modules/@listr2/prompt-adapter-inquirer": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-3.0.5.tgz", - "integrity": "sha512-WELs+hj6xcilkloBXYf9XXK8tYEnKsgLj01Xl5ONUJpKjmT5hGVUzNUS5tooUxs7pGMrw+jFD/41WpqW4V3LDA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-4.2.3.tgz", + "integrity": "sha512-Co9U3AJ3LW0J8XBHjVoNKA79dMAyFt8EZH3OaKTMcDTj8r+6kG3vSUPq/eGLHT7P0iK3uLaFfhdFYd3033P24g==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/type": "^3.0.8" + "@inquirer/type": "^4.0.5" }, "engines": { - "node": ">=20.0.0" + "node": ">=22.13.0" }, "peerDependencies": { - "@inquirer/prompts": ">= 3 < 8", - "listr2": "9.0.5" + "@inquirer/prompts": ">= 3 < 9", + "listr2": "10.2.1" } }, "node_modules/@lmdb/lmdb-darwin-arm64": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.5.1.tgz", - "integrity": "sha512-tpfN4kKrrMpQ+If1l8bhmoNkECJi0iOu6AEdrTJvWVC+32sLxTARX5Rsu579mPImRP9YFWfWgeRQ5oav7zApQQ==", + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.5.4.tgz", + "integrity": "sha512-Kk4Kz3iyu1QiLsLZBS9Af1eSKUC8VR2T+/jyE2iAyuGw2VwK08pp5iTbZnXn6sWu0LogO/RFktMxOjiDA2sS3w==", "cpu": [ "arm64" ], @@ -3586,9 +3533,9 @@ ] }, "node_modules/@lmdb/lmdb-darwin-x64": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.5.1.tgz", - "integrity": "sha512-+a2tTfc3rmWhLAolFUWRgJtpSuu+Fw/yjn4rF406NMxhfjbMuiOUTDRvRlMFV+DzyjkwnokisskHbCWkS3Ly5w==", + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.5.4.tgz", + "integrity": "sha512-BEe5Rp3trn26oxoXOVL5HVDoiYmjUDwr8NRPkBOdUdCSBEorKI+7JrZLRKAdxO+G6cGQLgseXk0gR7qIQa7aGw==", "cpu": [ "x64" ], @@ -3600,9 +3547,9 @@ ] }, "node_modules/@lmdb/lmdb-linux-arm": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.5.1.tgz", - "integrity": "sha512-0EgcE6reYr8InjD7V37EgXcYrloqpxVPINy3ig1MwDSbl6LF/vXTYRH9OE1Ti1D8YZnB35ZH9aTcdfSb5lql2A==", + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.5.4.tgz", + "integrity": "sha512-SGbFR7816uBcTHc2ZY4S6WyOkl9bICnzqTQd2Mv4V/j24cfds88xx2nC6cm/y8zGQL7Ds31YF/5NGxjgcdM5Hw==", "cpu": [ "arm" ], @@ -3614,9 +3561,9 @@ ] }, "node_modules/@lmdb/lmdb-linux-arm64": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.5.1.tgz", - "integrity": "sha512-aoERa5B6ywXdyFeYGQ1gbQpkMkDbEo45qVoXE5QpIRavqjnyPwjOulMkmkypkmsbJ5z4Wi0TBztON8agCTG0Vg==", + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.5.4.tgz", + "integrity": "sha512-cUXEengO8o60v1SWerJTH4/RH4U3+9jC0/4njp2Z9NdmvaGzhKsbRM2wpXuRYrN8tytsoJCg0SvWEWwHAwLbCA==", "cpu": [ "arm64" ], @@ -3628,9 +3575,9 @@ ] }, "node_modules/@lmdb/lmdb-linux-x64": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.5.1.tgz", - "integrity": "sha512-SqNDY1+vpji7bh0sFH5wlWyFTOzjbDOl0/kB5RLLYDAFyd/uw3n7wyrmas3rYPpAW7z18lMOi1yKlTPv967E3g==", + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.5.4.tgz", + "integrity": "sha512-Gxq8jpgOWXwd0PUR+c9R2Ik1/uBnGd5GMIIzRRDqABCkvmjtC3KWcyhesV9jSPCz759isl0NlbsstZ2oyvk8lA==", "cpu": [ "x64" ], @@ -3642,9 +3589,9 @@ ] }, "node_modules/@lmdb/lmdb-win32-arm64": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-arm64/-/lmdb-win32-arm64-3.5.1.tgz", - "integrity": "sha512-50v0O1Lt37cwrmR9vWZK5hRW0Aw+KEmxJJ75fge/zIYdvNKB/0bSMSVR5Uc2OV9JhosIUyklOmrEvavwNJ8D6w==", + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-arm64/-/lmdb-win32-arm64-3.5.4.tgz", + "integrity": "sha512-pKv1DJ1bPZAaHkdFsSz5IDfUG8x9vntgquXF9/Dm2xuupcIe/EkLzylpoBxppFVK5vzbV561Dq26jNY2fIMA7g==", "cpu": [ "arm64" ], @@ -3656,9 +3603,9 @@ ] }, "node_modules/@lmdb/lmdb-win32-x64": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.5.1.tgz", - "integrity": "sha512-qwosvPyl+zpUlp3gRb7UcJ3H8S28XHCzkv0Y0EgQToXjQP91ZD67EHSCDmaLjtKhe+GVIW5om1KUpzVLA0l6pg==", + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.5.4.tgz", + "integrity": "sha512-JF1BmLCm9kGEVZgYmJq43zeQVdHVgAJnTi/NURWEsy6L1ZrrlSmdltS+D17QN4LODwf+1LMXAA9auIZVXtWwzw==", "cpu": [ "x64" ], @@ -3700,9 +3647,9 @@ } }, "node_modules/@modelcontextprotocol/sdk": { - "version": "1.26.0", - "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.26.0.tgz", - "integrity": "sha512-Y5RmPncpiDtTXDbLKswIJzTqu2hyBKxTNsgKqKclDbhIgg1wgtf1fRuvxgTnRfcnxtvvgbIEcqUOzZrJ6iSReg==", + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.29.0.tgz", + "integrity": "sha512-zo37mZA9hJWpULgkRpowewez1y6ML5GsXJPY8FI0tBBCd77HEvza4jDqRKOXgHNn867PVGCyTdzqpz0izu5ZjQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3741,9 +3688,9 @@ } }, "node_modules/@modelcontextprotocol/sdk/node_modules/iconv-lite": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", - "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.3.tgz", + "integrity": "sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3774,9 +3721,9 @@ } }, "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz", - "integrity": "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.4.tgz", + "integrity": "sha512-LCkGo6JDfaBhgST7UpPWgNgLINpcpabaHfyz5OBx75nUYxBsaEPxjnyNjWpeb/xBup/682QnBfRBy2/LvPutZQ==", "cpu": [ "arm64" ], @@ -3788,9 +3735,9 @@ ] }, "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz", - "integrity": "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.4.tgz", + "integrity": "sha512-zExlW9zUJKZH/tOtVMttwjKa4Xm/3KcNjnE3dPN92uCktwavMxpgCA3MoJK/DOnTWsQgo224OaST27/mPNAf+w==", "cpu": [ "x64" ], @@ -3802,9 +3749,9 @@ ] }, "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz", - "integrity": "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.4.tgz", + "integrity": "sha512-Tg3yX65f5GbtXLkrYEHE5oibZG9epyYWas7FogTTEJeDEF9JlXJzKgXaNhT3UXlTOeA+AfZpYZYZ0uPj7Cfquw==", "cpu": [ "arm" ], @@ -3816,9 +3763,9 @@ ] }, "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz", - "integrity": "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.4.tgz", + "integrity": "sha512-dgX0P/9wGPJeHFBG+ZmhgE6bmtMt7NP5CRBGyyktpopdk/mW4POnrpQsSLtKI1dwpc+pPLuXHDh6vvskyQE/sw==", "cpu": [ "arm64" ], @@ -3830,9 +3777,9 @@ ] }, "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz", - "integrity": "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.4.tgz", + "integrity": "sha512-8TNXMEjJc3QEy7R/x1INhgiU+XakDAFUzBhaz7+Rbrs8NH5UQeHQxxmzsSBJGyV6I1jW79undiQm8tOI+D+8FQ==", "cpu": [ "x64" ], @@ -3844,9 +3791,9 @@ ] }, "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz", - "integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.4.tgz", + "integrity": "sha512-CmCXPQrkbwExx3j946/PtHWHbYJiCRBRDl4BlkRQcJB/YOwQxJRTpoo7aTsortjgoJ1x7opzTSxn7C+ASSLVjQ==", "cpu": [ "x64" ], @@ -4180,27 +4127,10 @@ "node": ">= 10" } }, - "node_modules/@napi-rs/wasm-runtime": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.1.tgz", - "integrity": "sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/core": "^1.7.1", - "@emnapi/runtime": "^1.7.1", - "@tybys/wasm-util": "^0.10.1" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Brooooooklyn" - } - }, "node_modules/@ngx-pwa/local-storage": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@ngx-pwa/local-storage/-/local-storage-21.0.0.tgz", - "integrity": "sha512-MOsgo5G2HvWHOzWus868K/CLHtHmaOPvIkOharYKic6ze/+w8vz6J7KEcIcZ6zmGniEvdefNRWO+XIaah+av3w==", + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/@ngx-pwa/local-storage/-/local-storage-22.0.0.tgz", + "integrity": "sha512-k5ZamLx8YTjAkvS6x+RHYBBGbcXrR0EnvI6Xgxaf29yKcwXXA61iQ8VRpFXeLY+0B/qT/Su2auXlJ8RLaIrG9g==", "license": "MIT", "dependencies": { "tslib": "^2.5.0" @@ -4210,8 +4140,8 @@ "url": "https://github.com/sponsors/cyrilletuzi" }, "peerDependencies": { - "@angular/common": "^21.0.0", - "@angular/core": "^21.0.0", + "@angular/common": "^22.0.0", + "@angular/core": "^22.0.0", "rxjs": "^7.6.0" } }, @@ -4477,16 +4407,6 @@ "resolved": "../packages/openslides-motion-diff", "link": true }, - "node_modules/@oxc-project/types": { - "version": "0.113.0", - "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.113.0.tgz", - "integrity": "sha512-Tp3XmgxwNQ9pEN9vxgJBAqdRamHibi76iowQ38O2I4PMpcvNRQNVsU2n1x1nv9yh0XoTrGFzf7cZSGxmixxrhA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/Boshen" - } - }, "node_modules/@parcel/watcher": { "version": "2.5.6", "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.6.tgz", @@ -4616,6 +4536,9 @@ "arm" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -4637,6 +4560,9 @@ "arm" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -4658,6 +4584,9 @@ "arm64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -4679,6 +4608,9 @@ "arm64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -4700,6 +4632,9 @@ "x64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -4721,6 +4656,9 @@ "x64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -4824,17 +4762,17 @@ } }, "node_modules/@phenomnomnominal/tsquery": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-6.1.4.tgz", - "integrity": "sha512-3tHlGy/fxjJCHqIV8nelAzbRTNkCUY+k7lqBGKNuQz99H2OKGRt6oU+U2SZs6LYrbOe8mxMFl6kq6gzHapFRkw==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@phenomnomnominal/tsquery/-/tsquery-6.2.0.tgz", + "integrity": "sha512-Vo9nkhfZxDB/sBiqIY3pjDC4mOSyure+AFlEW5hcy/tRE82MqCXjRN4InnVNMldinRt0dLYqg4HAU2XPq5e1LA==", "dev": true, "license": "MIT", "dependencies": { - "@types/esquery": "^1.5.0", - "esquery": "^1.5.0" + "@types/esquery": "^1.5.4", + "esquery": "^1.7.0" }, "peerDependencies": { - "typescript": "^3 || ^4 || ^5" + "typescript": ">3.0.0" } }, "node_modules/@pkgr/core": { @@ -4861,27 +4799,38 @@ "url": "https://opencollective.com/popperjs" } }, - "node_modules/@rolldown/binding-android-arm64": { - "version": "1.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.4.tgz", - "integrity": "sha512-vRq9f4NzvbdZavhQbjkJBx7rRebDKYR9zHfO/Wg486+I7bSecdUapzCm5cyXoK+LHokTxgSq7A5baAXUZkIz0w==", + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.2.tgz", + "integrity": "sha512-dnlp69efPPg6Uaw2dVqzWRfAWRnYVb1XJ8CyyhIbZeaq4CA5/mLeZ1IEt9QqQxmbdvagjLIm2ZL8BxXv5lH4Yw==", "cpu": [ - "arm64" + "arm" ], "dev": true, "license": "MIT", "optional": true, "os": [ "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.2.tgz", + "integrity": "sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==", + "cpu": [ + "arm64" ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] }, - "node_modules/@rolldown/binding-darwin-arm64": { - "version": "1.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.4.tgz", - "integrity": "sha512-kFgEvkWLqt3YCgKB5re9RlIrx9bRsvyVUnaTakEpOPuLGzLpLapYxE9BufJNvPg8GjT6mB1alN4yN1NjzoeM8Q==", + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.2.tgz", + "integrity": "sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==", "cpu": [ "arm64" ], @@ -4890,15 +4839,12 @@ "optional": true, "os": [ "darwin" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } + ] }, - "node_modules/@rolldown/binding-darwin-x64": { - "version": "1.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.4.tgz", - "integrity": "sha512-JXmaOJGsL/+rsmMfutcDjxWM2fTaVgCHGoXS7nE8Z3c9NAYjGqHvXrAhMUZvMpHS/k7Mg+X7n/MVKb7NYWKKww==", + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.2.tgz", + "integrity": "sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==", "cpu": [ "x64" ], @@ -4907,15 +4853,26 @@ "optional": true, "os": [ "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.2.tgz", + "integrity": "sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==", + "cpu": [ + "arm64" ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] }, - "node_modules/@rolldown/binding-freebsd-x64": { - "version": "1.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.4.tgz", - "integrity": "sha512-ep3Catd6sPnHTM0P4hNEvIv5arnDvk01PfyJIJ+J3wVCG1eEaPo09tvFqdtcaTrkwQy0VWR24uz+cb4IsK53Qw==", + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.2.tgz", + "integrity": "sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==", "cpu": [ "x64" ], @@ -4924,305 +4881,70 @@ "optional": true, "os": [ "freebsd" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } + ] }, - "node_modules/@rolldown/binding-linux-arm-gnueabihf": { - "version": "1.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.4.tgz", - "integrity": "sha512-LwA5ayKIpnsgXJEwWc3h8wPiS33NMIHd9BhsV92T8VetVAbGe2qXlJwNVDGHN5cOQ22R9uYvbrQir2AB+ntT2w==", + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.2.tgz", + "integrity": "sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==", "cpu": [ "arm" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } + ] }, - "node_modules/@rolldown/binding-linux-arm64-gnu": { - "version": "1.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.4.tgz", - "integrity": "sha512-AC1WsGdlV1MtGay/OQ4J9T7GRadVnpYRzTcygV1hKnypbYN20Yh4t6O1Sa2qRBMqv1etulUknqXjc3CTIsBu6A==", + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.2.tgz", + "integrity": "sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==", "cpu": [ - "arm64" + "arm" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } + ] }, - "node_modules/@rolldown/binding-linux-arm64-musl": { - "version": "1.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.4.tgz", - "integrity": "sha512-lU+6rgXXViO61B4EudxtVMXSOfiZONR29Sys5VGSetUY7X8mg9FCKIIjcPPj8xNDeYzKl+H8F/qSKOBVFJChCQ==", + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.2.tgz", + "integrity": "sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==", "cpu": [ "arm64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } + ] }, - "node_modules/@rolldown/binding-linux-x64-gnu": { - "version": "1.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.4.tgz", - "integrity": "sha512-DZaN1f0PGp/bSvKhtw50pPsnln4T13ycDq1FrDWRiHmWt1JeW+UtYg9touPFf8yt993p8tS2QjybpzKNTxYEwg==", + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.2.tgz", + "integrity": "sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==", "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-linux-x64-musl": { - "version": "1.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.4.tgz", - "integrity": "sha512-RnGxwZLN7fhMMAItnD6dZ7lvy+TI7ba+2V54UF4dhaWa/p8I/ys1E73KO6HmPmgz92ZkfD8TXS1IMV8+uhbR9g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-openharmony-arm64": { - "version": "1.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.4.tgz", - "integrity": "sha512-6lcI79+X8klGiGd8yHuTgQRjuuJYNggmEml+RsyN596P23l/zf9FVmJ7K0KVKkFAeYEdg0iMUKyIxiV5vebDNQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-wasm32-wasi": { - "version": "1.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.4.tgz", - "integrity": "sha512-wz7ohsKCAIWy91blZ/1FlpPdqrsm1xpcEOQVveWoL6+aSPKL4VUcoYmmzuLTssyZxRpEwzuIxL/GDsvpjaBtOw==", - "cpu": [ - "wasm32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@napi-rs/wasm-runtime": "^1.1.1" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@rolldown/binding-win32-arm64-msvc": { - "version": "1.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.4.tgz", - "integrity": "sha512-cfiMrfuWCIgsFmcVG0IPuO6qTRHvF7NuG3wngX1RZzc6dU8FuBFb+J3MIR5WrdTNozlumfgL4cvz+R4ozBCvsQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/binding-win32-x64-msvc": { - "version": "1.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.4.tgz", - "integrity": "sha512-p6UeR9y7ht82AH57qwGuFYn69S6CZ7LLKdCKy/8T3zS9VTrJei2/CGsTUV45Da4Z9Rbhc7G4gyWQ/Ioamqn09g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^20.19.0 || >=22.12.0" - } - }, - "node_modules/@rolldown/pluginutils": { - "version": "1.0.0-rc.4", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.4.tgz", - "integrity": "sha512-1BrrmTu0TWfOP1riA8uakjFc9bpIUGzVKETsOtzY39pPga8zELGDl8eu1Dx7/gjM5CAz14UknsUMpBO8L+YntQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz", - "integrity": "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz", - "integrity": "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz", - "integrity": "sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz", - "integrity": "sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz", - "integrity": "sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz", - "integrity": "sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz", - "integrity": "sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz", - "integrity": "sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz", - "integrity": "sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz", - "integrity": "sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==", - "cpu": [ - "arm64" + "arm64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -5230,13 +4952,16 @@ ] }, "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz", - "integrity": "sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.2.tgz", + "integrity": "sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==", "cpu": [ "loong64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -5244,13 +4969,16 @@ ] }, "node_modules/@rollup/rollup-linux-loong64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz", - "integrity": "sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.2.tgz", + "integrity": "sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==", "cpu": [ "loong64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -5258,13 +4986,16 @@ ] }, "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz", - "integrity": "sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.2.tgz", + "integrity": "sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==", "cpu": [ "ppc64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -5272,13 +5003,16 @@ ] }, "node_modules/@rollup/rollup-linux-ppc64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz", - "integrity": "sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.2.tgz", + "integrity": "sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==", "cpu": [ "ppc64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -5286,13 +5020,16 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz", - "integrity": "sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.2.tgz", + "integrity": "sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==", "cpu": [ "riscv64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -5300,13 +5037,16 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz", - "integrity": "sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.2.tgz", + "integrity": "sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==", "cpu": [ "riscv64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -5314,13 +5054,16 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz", - "integrity": "sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.2.tgz", + "integrity": "sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==", "cpu": [ "s390x" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -5328,13 +5071,16 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz", - "integrity": "sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.2.tgz", + "integrity": "sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==", "cpu": [ "x64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -5342,13 +5088,16 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz", - "integrity": "sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.2.tgz", + "integrity": "sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==", "cpu": [ "x64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -5356,9 +5105,9 @@ ] }, "node_modules/@rollup/rollup-openbsd-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz", - "integrity": "sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.2.tgz", + "integrity": "sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==", "cpu": [ "x64" ], @@ -5370,9 +5119,9 @@ ] }, "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz", - "integrity": "sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.2.tgz", + "integrity": "sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==", "cpu": [ "arm64" ], @@ -5384,9 +5133,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz", - "integrity": "sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.2.tgz", + "integrity": "sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==", "cpu": [ "arm64" ], @@ -5398,9 +5147,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz", - "integrity": "sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.2.tgz", + "integrity": "sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==", "cpu": [ "ia32" ], @@ -5412,9 +5161,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz", - "integrity": "sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.2.tgz", + "integrity": "sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==", "cpu": [ "x64" ], @@ -5426,9 +5175,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz", - "integrity": "sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.2.tgz", + "integrity": "sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==", "cpu": [ "x64" ], @@ -5440,82 +5189,21 @@ ] }, "node_modules/@schematics/angular": { - "version": "21.2.18", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.2.18.tgz", - "integrity": "sha512-XNEWvJSUg/ljLXgGVs7picBOtzVC4abBf2+i/ds9E7GaYYVyH19Mpgk6BOuMHAgRpjPWBAeWiBkTqetiR2Ps5Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@angular-devkit/core": "21.2.18", - "@angular-devkit/schematics": "21.2.18", - "jsonc-parser": "3.3.1" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@schematics/angular/node_modules/@angular-devkit/core": { - "version": "21.2.18", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.18.tgz", - "integrity": "sha512-783AuDmzAjFkOBHey7cx1mXd8CTiMg9LvG+BCxEp8i4EB7cOGYrq3lBzkwhKJq6yYpz7dNgM1QgeLk+NcrFBSA==", + "version": "22.0.6", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-22.0.6.tgz", + "integrity": "sha512-pZP52HlQaILmFKK4/iA2OyQ7mMP2V/K6z3gxbykWgXk/MNJ605PWaptHZOuvAAp+0qsFWJbj0MLmDdR3yMhdMQ==", "dev": true, "license": "MIT", "dependencies": { - "ajv": "8.18.0", - "ajv-formats": "3.0.1", + "@angular-devkit/core": "22.0.6", + "@angular-devkit/schematics": "22.0.6", "jsonc-parser": "3.3.1", - "picomatch": "4.0.4", - "rxjs": "7.8.2", - "source-map": "0.7.6" + "typescript": "6.0.3" }, "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "node": "^22.22.3 || ^24.15.0 || >=26.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "chokidar": "^5.0.0" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - }, - "node_modules/@schematics/angular/node_modules/chokidar": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", - "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "readdirp": "^5.0.0" - }, - "engines": { - "node": ">= 20.19.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@schematics/angular/node_modules/readdirp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", - "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">= 20.19.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" } }, "node_modules/@sigstore/bundle": { @@ -5598,10 +5286,10 @@ "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/@socket.io/component-emitter": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", - "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", + "node_modules/@sinclair/typebox": { + "version": "0.34.50", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.50.tgz", + "integrity": "sha512-ydBWw0G6WFwWHzh9RK4B5c690UkreOG0llq0r+DaI7LgKgxigf8mhHzIPI3S0850g1BPkq/zpuCfrq4QFgUlTQ==", "dev": true, "license": "MIT" }, @@ -6681,26 +6369,23 @@ "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/@tybys/wasm-util": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", - "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", + "node_modules/@types/chai": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", + "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", "dev": true, "license": "MIT", - "optional": true, "dependencies": { - "tslib": "^2.4.0" + "@types/deep-eql": "*", + "assertion-error": "^2.0.1" } }, - "node_modules/@types/cors": { - "version": "2.8.17", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz", - "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==", + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } + "license": "MIT" }, "node_modules/@types/esquery": { "version": "1.5.4", @@ -6740,17 +6425,55 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/jasmine": { - "version": "5.1.15", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.15.tgz", - "integrity": "sha512-ZAC8KjmV2MJxbNTrwXFN+HKeajpXQZp6KpPiR6Aa4XvaEnjP6qh23lL/Rqb7AYzlp3h/rcwDrQ7Gg7q28cQTQg==", + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", "dev": true, "license": "MIT" }, - "node_modules/@types/js-yaml": { - "version": "4.0.9", - "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz", - "integrity": "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==", + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jasmine": { + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.15.tgz", + "integrity": "sha512-ZAC8KjmV2MJxbNTrwXFN+HKeajpXQZp6KpPiR6Aa4XvaEnjP6qh23lL/Rqb7AYzlp3h/rcwDrQ7Gg7q28cQTQg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/jest": { + "version": "30.0.0", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-30.0.0.tgz", + "integrity": "sha512-XTYugzhuwqWjws0CVz8QpM36+T+Dz5mTEBKhNs/esGLnCIlGdRy+Dq78NRjd7ls7r8BC8ZRMOrKlkO1hU0JOwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "expect": "^30.0.0", + "pretty-format": "^30.0.0" + } + }, + "node_modules/@types/js-yaml": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz", + "integrity": "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==", "dev": true, "license": "MIT" }, @@ -6802,6 +6525,13 @@ "@types/node": "*" } }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/tinycolor2": { "version": "1.4.6", "resolved": "https://registry.npmjs.org/@types/tinycolor2/-/tinycolor2-1.4.6.tgz", @@ -6816,6 +6546,23 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/yargs": { + "version": "17.0.35", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz", + "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "8.63.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.63.0.tgz", @@ -7050,17 +6797,17 @@ } }, "node_modules/@vendure/ngx-translate-extract": { - "version": "10.1.3", - "resolved": "https://registry.npmjs.org/@vendure/ngx-translate-extract/-/ngx-translate-extract-10.1.3.tgz", - "integrity": "sha512-HhtNWNc99UoOiWH5lda0gxAW0XTfASkRxQRwZ/bU9GiXMInTJxP38ouP4s/p04nivdZu5jJ/nimOxEN1TSulCw==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@vendure/ngx-translate-extract/-/ngx-translate-extract-10.2.0.tgz", + "integrity": "sha512-dIRBTa4uA7wGjt/WzLIrOQBkQulrwSQU086U3c6W29MysQM/Oz0pWClqZNCyIzpF5wpDrbl9+MIQV7T11DtwQA==", "dev": true, "license": "MIT", "dependencies": { - "@phenomnomnominal/tsquery": "^6.1.4", + "@phenomnomnominal/tsquery": "^6.2.0", "braces": "^3.0.3", "flat": "^6.0.1", - "gettext-parser": "^9.0.0", - "glob": "^13.0.0", + "gettext-parser": "^9.0.2", + "glob": "^13.0.6", "yargs": "^18.0.0" }, "bin": { @@ -7124,18 +6871,138 @@ } }, "node_modules/@vitejs/plugin-basic-ssl": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-2.1.4.tgz", - "integrity": "sha512-HXciTXN/sDBYWgeAD4V4s0DN0g72x5mlxQhHxtYu3Tt8BLa6MzcJZUyDVFCdtjNs3bfENVHVzOsmooTVuNgAAw==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-2.3.0.tgz", + "integrity": "sha512-bdyo8rB3NnQbikdMpHaML9Z1OZPBu6fFOBo+OtxsBlvMJtysWskmBcnbIDhUqgC8tcxNv/a+BcV5U+2nQMm1OQ==", "dev": true, "license": "MIT", "engines": { "node": "^18.0.0 || ^20.0.0 || >=22.0.0" }, "peerDependencies": { - "vite": "^6.0.0 || ^7.0.0" + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@vitest/expect": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.10.tgz", + "integrity": "sha512-YsCn+qAk1GWjQOWFEsEcL2gNQ0zmVmQu3T03qP6UyjhtmdtwtbuI+DASn/7iQB3HGTXkdBwGddzxPlmiql5vlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.1.0", + "@types/chai": "^5.2.2", + "@vitest/spy": "4.1.10", + "@vitest/utils": "4.1.10", + "chai": "^6.2.2", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/mocker": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.10.tgz", + "integrity": "sha512-v0xaezt+DKEmKfaxg133ldzADrwLGd7Ze1MfQQTYfvs8OqZIwbxyxaYURivwV7sWy5fqn3rH5uOrSp07bp44Ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "4.1.10", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.21" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "msw": "^2.4.9", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } } }, + "node_modules/@vitest/pretty-format": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.10.tgz", + "integrity": "sha512-W1HsjSH4MXQ9YfmmhLAoIYf1HRfekQCGngeIgcei6MP5QQGWUe0gkopdZQaVCFO+JDJMrAJGwa5pRpNpvy4P8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.10.tgz", + "integrity": "sha512-IKI6kpIH+LmpROplyLwBBaCfMgOZOMsygVa6BARD6ahA04VRuJSa6OaVG7kRvSEMD870Vd91rSSw0eegtWyLGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "4.1.10", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.10.tgz", + "integrity": "sha512-xRkfOT1qpTAi/Ti4Y1LtfRc3kEuqxGw59eN2jN9pRWMtS/XDevekhcFSqvQqjUNGksfjMJu3Y+oJ+4Ypn2OaJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.1.10", + "@vitest/utils": "4.1.10", + "magic-string": "^0.30.21", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.10.tgz", + "integrity": "sha512-PLf/Ugvoq5wO/b4rwYCR1h2PSIdXz7wnkQFMiUpLdtM7l6pqVFcQIBEHyT1+l+cj7mNwAfZHzqXqDyjvOuwbDw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.10.tgz", + "integrity": "sha512-fy9am/HWxbaGt/Sawrp90vt6Y6jQwf1RX77cz3uwoJwJVMli/e1IEwRPnMNJ7vKfPTwo0diXifkpPvwH9v7nGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.1.10", + "convert-source-map": "^2.0.0", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils/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/@xmldom/xmldom": { "version": "0.8.13", "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.13.tgz", @@ -7162,30 +7029,6 @@ "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/accepts/node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/acorn": { "version": "8.15.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", @@ -7245,9 +7088,9 @@ } }, "node_modules/ajv": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", - "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", "dev": true, "license": "MIT", "dependencies": { @@ -7280,117 +7123,55 @@ } }, "node_modules/algoliasearch": { - "version": "5.48.1", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.48.1.tgz", - "integrity": "sha512-Rf7xmeuIo7nb6S4mp4abW2faW8DauZyE2faBIKFaUfP3wnpOvNSbiI5AwVhqBNj0jPgBWEvhyCu0sLjN2q77Rg==", + "version": "5.52.0", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.52.0.tgz", + "integrity": "sha512-0ZzY9mjqV7gop/AH8pIBiAS8giXP7WcSiUfoFYIzYAK9QC5c37E4SIVtJVBMwlURc0/uNt2o4RcNRvdHa4CJ5w==", "dev": true, "license": "MIT", "dependencies": { - "@algolia/abtesting": "1.14.1", - "@algolia/client-abtesting": "5.48.1", - "@algolia/client-analytics": "5.48.1", - "@algolia/client-common": "5.48.1", - "@algolia/client-insights": "5.48.1", - "@algolia/client-personalization": "5.48.1", - "@algolia/client-query-suggestions": "5.48.1", - "@algolia/client-search": "5.48.1", - "@algolia/ingestion": "1.48.1", - "@algolia/monitoring": "1.48.1", - "@algolia/recommend": "5.48.1", - "@algolia/requester-browser-xhr": "5.48.1", - "@algolia/requester-fetch": "5.48.1", - "@algolia/requester-node-http": "5.48.1" + "@algolia/abtesting": "1.18.0", + "@algolia/client-abtesting": "5.52.0", + "@algolia/client-analytics": "5.52.0", + "@algolia/client-common": "5.52.0", + "@algolia/client-insights": "5.52.0", + "@algolia/client-personalization": "5.52.0", + "@algolia/client-query-suggestions": "5.52.0", + "@algolia/client-search": "5.52.0", + "@algolia/ingestion": "1.52.0", + "@algolia/monitoring": "1.52.0", + "@algolia/recommend": "5.52.0", + "@algolia/requester-browser-xhr": "5.52.0", + "@algolia/requester-fetch": "5.52.0", + "@algolia/requester-node-http": "5.52.0" }, "engines": { "node": ">= 14.0.0" } }, "node_modules/angular-eslint": { - "version": "21.4.0", - "resolved": "https://registry.npmjs.org/angular-eslint/-/angular-eslint-21.4.0.tgz", - "integrity": "sha512-LH7bWmtJvsubzwPoztnl1pWgI5X0VrfGTUITGSYcwn2J+SXuN/avzrKrxJmhUiIrNvLtfV+18GG6xZS1IGZdKg==", + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/angular-eslint/-/angular-eslint-22.0.0.tgz", + "integrity": "sha512-6tHLndzM6rU+2iuICakJS/hD1scK5sWLkcD7828zStT1ViA9zX8z9g/V1IlBiKEdZeMsl+m7K2DlNc34AkYyoQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": ">= 21.0.0 < 22.0.0", - "@angular-devkit/schematics": ">= 21.0.0 < 22.0.0", - "@angular-eslint/builder": "21.4.0", - "@angular-eslint/eslint-plugin": "21.4.0", - "@angular-eslint/eslint-plugin-template": "21.4.0", - "@angular-eslint/schematics": "21.4.0", - "@angular-eslint/template-parser": "21.4.0", + "@angular-devkit/core": ">= 22.0.0 < 23.0.0", + "@angular-devkit/schematics": ">= 22.0.0 < 23.0.0", + "@angular-eslint/builder": "22.0.0", + "@angular-eslint/eslint-plugin": "22.0.0", + "@angular-eslint/eslint-plugin-template": "22.0.0", + "@angular-eslint/schematics": "22.0.0", + "@angular-eslint/template-parser": "22.0.0", "@typescript-eslint/types": "^8.0.0", "@typescript-eslint/utils": "^8.0.0" }, "peerDependencies": { - "@angular/cli": ">= 21.0.0 < 22.0.0", - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "@angular/cli": ">= 22.0.0 < 23.0.0", + "eslint": "^9.0.0 || ^10.0.0", "typescript": "*", "typescript-eslint": "^8.0.0" } }, - "node_modules/angular-eslint/node_modules/@angular-devkit/core": { - "version": "21.2.15", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.2.15.tgz", - "integrity": "sha512-x7EwuQtMGHANVznHpwyEi/3lMo/kRoaxV2w7lXbRGjTezwv4SPaOBwhrIGCbAVFs5B1ziff4jZzors4owlCTgg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "8.18.0", - "ajv-formats": "3.0.1", - "jsonc-parser": "3.3.1", - "picomatch": "4.0.4", - "rxjs": "7.8.2", - "source-map": "0.7.6" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "chokidar": "^5.0.0" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - }, - "node_modules/angular-eslint/node_modules/chokidar": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", - "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "readdirp": "^5.0.0" - }, - "engines": { - "node": ">= 20.19.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/angular-eslint/node_modules/readdirp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", - "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">= 20.19.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - }, "node_modules/ansi-escapes": { "version": "7.3.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.3.0.tgz", @@ -7435,33 +7216,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/anymatch/node_modules/picomatch": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", - "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/archiver": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz", @@ -7598,6 +7352,16 @@ "node": ">= 0.4" } }, + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, "node_modules/async": { "version": "3.2.6", "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", @@ -7640,16 +7404,6 @@ ], "license": "MIT" }, - "node_modules/base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^4.5.0 || >= 5.9" - } - }, "node_modules/baseline-browser-mapping": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz", @@ -7664,9 +7418,9 @@ } }, "node_modules/beasties": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/beasties/-/beasties-0.4.1.tgz", - "integrity": "sha512-2Imdcw3LznDuxAbJM26RHniOLAzE6WgrK8OuvVXCQtNBS8rsnD9zsSEa3fHl4hHpUY7BYTlrpvtPVbvu9G6neg==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/beasties/-/beasties-0.4.2.tgz", + "integrity": "sha512-NvcGjG/7AVUAfRbvrJmHunDQS9uHnE6Q/7AkaPr8oKE8HjOlpjRG5075z/th2Tmlezk3VlaaS8+X9I1RwHJMQw==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -7684,6 +7438,16 @@ "node": ">=18.0.0" } }, + "node_modules/bidi-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz", + "integrity": "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "require-from-string": "^2.0.2" + } + }, "node_modules/big-integer": { "version": "1.6.52", "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", @@ -7706,19 +7470,6 @@ "node": "*" } }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/bl": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", @@ -7736,48 +7487,6 @@ "integrity": "sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==", "license": "MIT" }, - "node_modules/body-parser": { - "version": "1.20.5", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.5.tgz", - "integrity": "sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA==", - "dev": true, - "license": "MIT", - "dependencies": { - "bytes": "~3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "~1.2.0", - "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", - "on-finished": "~2.4.1", - "qs": "~6.15.1", - "raw-body": "~2.5.3", - "type-is": "~1.6.18", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -8029,6 +7738,16 @@ ], "license": "CC-BY-4.0" }, + "node_modules/chai": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", + "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/chainsaw": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", @@ -8059,9 +7778,9 @@ } }, "node_modules/chardet": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.1.tgz", - "integrity": "sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.2.0.tgz", + "integrity": "sha512-rddelWYNPRrXq6PtNEN2S3f6t9ILzvqaN5pVgi4kqt9jHQaXIial9PznB5iSPVlQSLNaaH22ItWz3EJtQ10+OA==", "dev": true, "license": "MIT" }, @@ -8084,16 +7803,16 @@ "license": "BSD-2-Clause" }, "node_modules/chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", "dev": true, "license": "MIT", "dependencies": { - "readdirp": "^4.0.1" + "readdirp": "^5.0.0" }, "engines": { - "node": ">= 14.16.0" + "node": ">= 20.19.0" }, "funding": { "url": "https://paulmillr.com/funding/" @@ -8109,6 +7828,22 @@ "node": ">=18" } }, + "node_modules/ci-info": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz", + "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/cli-cursor": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", @@ -8139,31 +7874,14 @@ } }, "node_modules/cli-truncate": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.1.1.tgz", - "integrity": "sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==", - "dev": true, - "license": "MIT", - "dependencies": { - "slice-ansi": "^7.1.0", - "string-width": "^8.0.0" - }, - "engines": { - "node": ">=20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-truncate/node_modules/string-width": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.0.tgz", - "integrity": "sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.2.0.tgz", + "integrity": "sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw==", "dev": true, "license": "MIT", "dependencies": { - "get-east-asian-width": "^1.5.0", - "strip-ansi": "^7.1.2" + "slice-ansi": "^8.0.0", + "string-width": "^8.2.0" }, "engines": { "node": ">=20" @@ -8210,13 +7928,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/cliui/node_modules/emoji-regex": { - "version": "10.5.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.5.0.tgz", - "integrity": "sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg==", - "dev": true, - "license": "MIT" - }, "node_modules/cliui/node_modules/string-width": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", @@ -8335,13 +8046,6 @@ "simple-swizzle": "^0.2.2" } }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true, - "license": "MIT" - }, "node_modules/compress-commons": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.2.tgz", @@ -8363,43 +8067,10 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "license": "MIT" }, - "node_modules/connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/connect/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/connect/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, "node_modules/content-disposition": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.1.tgz", - "integrity": "sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz", + "integrity": "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==", "dev": true, "license": "MIT", "engines": { @@ -8537,6 +8208,20 @@ "url": "https://github.com/sponsors/fb55" } }, + "node_modules/css-tree": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", + "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.27.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, "node_modules/css-what": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/css-what/-/css-what-7.0.0.tgz", @@ -8550,12 +8235,19 @@ "url": "https://github.com/sponsors/fb55" } }, - "node_modules/custom-event": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", - "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", + "node_modules/data-urls": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-7.0.0.tgz", + "integrity": "sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "whatwg-mimetype": "^5.0.0", + "whatwg-url": "^16.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } }, "node_modules/date-fns": { "version": "4.4.0", @@ -8567,16 +8259,6 @@ "url": "https://github.com/sponsors/kossnocorp" } }, - "node_modules/date-format": { - "version": "4.0.14", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", - "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4.0" - } - }, "node_modules/dayjs": { "version": "1.11.13", "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", @@ -8610,6 +8292,13 @@ "node": ">=0.10.0" } }, + "node_modules/decimal.js": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", + "dev": true, + "license": "MIT" + }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -8637,17 +8326,6 @@ "node": ">=6" } }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, "node_modules/detect-libc": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", @@ -8665,13 +8343,6 @@ "integrity": "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==", "license": "MIT" }, - "node_modules/di": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", - "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", - "dev": true, - "license": "MIT" - }, "node_modules/diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", @@ -8688,19 +8359,6 @@ "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==", "license": "MIT" }, - "node_modules/dom-serialize": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", - "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "custom-event": "~1.0.0", - "ent": "~2.2.0", - "extend": "^3.0.0", - "void-elements": "^2.0.0" - } - }, "node_modules/dom-serializer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", @@ -8833,15 +8491,12 @@ "dev": true, "license": "ISC" }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "node_modules/emoji-regex": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8" - } + "license": "MIT" }, "node_modules/encoding": { "version": "0.1.13", @@ -8875,71 +8530,6 @@ "once": "^1.4.0" } }, - "node_modules/engine.io": { - "version": "6.6.4", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.4.tgz", - "integrity": "sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.7.2", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~5.2.1", - "ws": "~8.17.1" - }, - "engines": { - "node": ">=10.2.0" - } - }, - "node_modules/engine.io-parser": { - "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, - "license": "MIT", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/engine.io/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/ent": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.2.tgz", - "integrity": "sha512-kKvD1tO6BM+oK9HzCPpUdRb4vKFQY/FPTFmurMvh6LlN68VMrdj77w8yp51/kDbpkFOS9J8w5W6zIzgM2H8/hw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "punycode": "^1.4.1", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/entities": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", @@ -8996,6 +8586,13 @@ "node": ">= 0.4" } }, + "node_modules/es-module-lexer": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.3.0.tgz", + "integrity": "sha512-KLdwQm2NvGLDkQDCGvmiQrhkd0JbMzXthwQAUgWjQuQdBLFa3eiBP5arXZyA+f8x+x7OXgud6bq2rxjGtHV2tw==", + "dev": true, + "license": "MIT" + }, "node_modules/es-object-atoms": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", @@ -9010,9 +8607,9 @@ } }, "node_modules/esbuild": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", - "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", + "integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -9023,32 +8620,32 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.27.3", - "@esbuild/android-arm": "0.27.3", - "@esbuild/android-arm64": "0.27.3", - "@esbuild/android-x64": "0.27.3", - "@esbuild/darwin-arm64": "0.27.3", - "@esbuild/darwin-x64": "0.27.3", - "@esbuild/freebsd-arm64": "0.27.3", - "@esbuild/freebsd-x64": "0.27.3", - "@esbuild/linux-arm": "0.27.3", - "@esbuild/linux-arm64": "0.27.3", - "@esbuild/linux-ia32": "0.27.3", - "@esbuild/linux-loong64": "0.27.3", - "@esbuild/linux-mips64el": "0.27.3", - "@esbuild/linux-ppc64": "0.27.3", - "@esbuild/linux-riscv64": "0.27.3", - "@esbuild/linux-s390x": "0.27.3", - "@esbuild/linux-x64": "0.27.3", - "@esbuild/netbsd-arm64": "0.27.3", - "@esbuild/netbsd-x64": "0.27.3", - "@esbuild/openbsd-arm64": "0.27.3", - "@esbuild/openbsd-x64": "0.27.3", - "@esbuild/openharmony-arm64": "0.27.3", - "@esbuild/sunos-x64": "0.27.3", - "@esbuild/win32-arm64": "0.27.3", - "@esbuild/win32-ia32": "0.27.3", - "@esbuild/win32-x64": "0.27.3" + "@esbuild/aix-ppc64": "0.27.7", + "@esbuild/android-arm": "0.27.7", + "@esbuild/android-arm64": "0.27.7", + "@esbuild/android-x64": "0.27.7", + "@esbuild/darwin-arm64": "0.27.7", + "@esbuild/darwin-x64": "0.27.7", + "@esbuild/freebsd-arm64": "0.27.7", + "@esbuild/freebsd-x64": "0.27.7", + "@esbuild/linux-arm": "0.27.7", + "@esbuild/linux-arm64": "0.27.7", + "@esbuild/linux-ia32": "0.27.7", + "@esbuild/linux-loong64": "0.27.7", + "@esbuild/linux-mips64el": "0.27.7", + "@esbuild/linux-ppc64": "0.27.7", + "@esbuild/linux-riscv64": "0.27.7", + "@esbuild/linux-s390x": "0.27.7", + "@esbuild/linux-x64": "0.27.7", + "@esbuild/netbsd-arm64": "0.27.7", + "@esbuild/netbsd-x64": "0.27.7", + "@esbuild/openbsd-arm64": "0.27.7", + "@esbuild/openbsd-x64": "0.27.7", + "@esbuild/openharmony-arm64": "0.27.7", + "@esbuild/sunos-x64": "0.27.7", + "@esbuild/win32-arm64": "0.27.7", + "@esbuild/win32-ia32": "0.27.7", + "@esbuild/win32-x64": "0.27.7" } }, "node_modules/escalade": { @@ -9198,22 +8795,6 @@ "eslint": ">=5.0.0" } }, - "node_modules/eslint-plugin-unused-imports": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-4.4.1.tgz", - "integrity": "sha512-oZGYUz1X3sRMGUB+0cZyK2VcvRX5lm/vB56PgNNcU+7ficUCKm66oZWKUubXWnOuPjQ8PvmXtCViXBMONPe7tQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^8.0.0-0 || ^7.0.0 || ^6.0.0 || ^5.0.0", - "eslint": "^10.0.0 || ^9.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "@typescript-eslint/eslint-plugin": { - "optional": true - } - } - }, "node_modules/eslint-scope": { "version": "8.4.0", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", @@ -9321,9 +8902,9 @@ } }, "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -9356,6 +8937,16 @@ "node": ">=4.0" } }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -9376,13 +8967,6 @@ "node": ">= 0.6" } }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true, - "license": "MIT" - }, "node_modules/eventsource": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz", @@ -9397,9 +8981,9 @@ } }, "node_modules/eventsource-parser": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.6.tgz", - "integrity": "sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.1.0.tgz", + "integrity": "sha512-kJezFj9YFAMLeORyi7aCLxLbD5/qWMQnoMVlVPyHIll7lgRJCc3JVln9Vgl9nwQi0YkMnhdGTMNn7CkRRAptMg==", "dev": true, "license": "MIT", "engines": { @@ -9426,6 +9010,34 @@ "node": ">=8.3.0" } }, + "node_modules/expect": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-30.4.1.tgz", + "integrity": "sha512-PMARsyh/JtqC20HoGqlFcIlQAyqUtW4PlI1rup1uhYJtKuwAjbvWi3GQMAn+STdHum/dk8xrKfUM1+5SAwpolA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/expect-utils": "30.4.1", + "@jest/get-type": "30.1.0", + "jest-matcher-utils": "30.4.1", + "jest-message-util": "30.4.1", + "jest-mock": "30.4.1", + "jest-util": "30.4.1" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/expect-type": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.4.0.tgz", + "integrity": "sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/exponential-backoff": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz", @@ -9478,9 +9090,9 @@ } }, "node_modules/express-rate-limit": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.5.1.tgz", - "integrity": "sha512-5O6KYmyJEpuPJV5hNTXKbAHWRqrzyu+OI3vUnSd2kXFubIVpG7ezpgxQy76Zo5GQZtrQBg86hF+CM/NX+cioiQ==", + "version": "8.5.2", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.5.2.tgz", + "integrity": "sha512-5Kb34ipNX694DH48vN9irak1Qx30nb0PLYHXfJgw4YEjiC3ZEmZJhwOp+VfiCYwFzvFTdB9QkArYS5kXa2cx2A==", "dev": true, "license": "MIT", "dependencies": { @@ -9511,22 +9123,36 @@ } }, "node_modules/express/node_modules/body-parser": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.2.tgz", - "integrity": "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.3.0.tgz", + "integrity": "sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==", "dev": true, "license": "MIT", "dependencies": { "bytes": "^3.1.2", - "content-type": "^1.0.5", + "content-type": "^2.0.0", "debug": "^4.4.3", - "http-errors": "^2.0.0", - "iconv-lite": "^0.7.0", + "http-errors": "^2.0.1", + "iconv-lite": "^0.7.2", "on-finished": "^2.4.1", - "qs": "^6.14.1", - "raw-body": "^3.0.1", - "type-is": "^2.0.1" + "qs": "^6.15.2", + "raw-body": "^3.0.2", + "type-is": "^2.1.0" + }, + "engines": { + "node": ">=18" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express/node_modules/body-parser/node_modules/content-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", + "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", + "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -9568,9 +9194,9 @@ } }, "node_modules/express/node_modules/iconv-lite": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", - "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.3.tgz", + "integrity": "sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ==", "dev": true, "license": "MIT", "dependencies": { @@ -9648,26 +9274,37 @@ } }, "node_modules/express/node_modules/type-is": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", - "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.1.0.tgz", + "integrity": "sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==", "dev": true, "license": "MIT", "dependencies": { - "content-type": "^1.0.5", + "content-type": "^2.0.0", "media-typer": "^1.1.0", "mime-types": "^3.0.0" }, "engines": { - "node": ">= 0.6" + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "node_modules/express/node_modules/type-is/node_modules/content-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz", + "integrity": "sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } }, "node_modules/fast-csv": { "version": "4.3.6", @@ -9709,6 +9346,23 @@ "dev": true, "license": "MIT" }, + "node_modules/fast-string-truncated-width": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fast-string-truncated-width/-/fast-string-truncated-width-3.0.3.tgz", + "integrity": "sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-string-width": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/fast-string-width/-/fast-string-width-3.0.2.tgz", + "integrity": "sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-string-truncated-width": "^3.0.2" + } + }, "node_modules/fast-uri": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.2.tgz", @@ -9726,6 +9380,16 @@ ], "license": "BSD-3-Clause" }, + "node_modules/fast-wrap-ansi": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/fast-wrap-ansi/-/fast-wrap-ansi-0.2.2.tgz", + "integrity": "sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-string-width": "^3.0.2" + } + }, "node_modules/fdir": { "version": "6.5.0", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", @@ -9792,64 +9456,15 @@ "node": ">=8" } }, - "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "license": "MIT", "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, - "node_modules/finalhandler/node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", - "dev": true, - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { "node": ">=10" @@ -9892,27 +9507,6 @@ "dev": true, "license": "ISC" }, - "node_modules/follow-redirects": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz", - "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, "node_modules/fontkit": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/fontkit/-/fontkit-2.0.4.tgz", @@ -9956,21 +9550,6 @@ "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", "license": "MIT" }, - "node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, "node_modules/fs-minipass": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", @@ -10291,22 +9870,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/hasown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", @@ -10321,9 +9884,9 @@ } }, "node_modules/hono": { - "version": "4.12.26", - "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.26.tgz", - "integrity": "sha512-uyZtpnYxM9CmQ7QsQknM4zN8EftNqhON1qYeIKM0Se67CCEe2c44xyGURwB0axX2fBDu1dqHrHAc1hmNT8ITkw==", + "version": "4.12.28", + "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.28.tgz", + "integrity": "sha512-YwUvVpSF7m1yOblFPrU3Hbo8XhPheBoiyfGuII6z19LnOr6JpDnyyp7LFNrfV56wS8tpvtBFGRISHN02pDdLOA==", "dev": true, "license": "MIT", "engines": { @@ -10353,6 +9916,19 @@ "node": "20 || >=22" } }, + "node_modules/html-encoding-sniffer": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-6.0.0.tgz", + "integrity": "sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@exodus/bytes": "^1.6.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, "node_modules/html-entities": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.6.0.tgz", @@ -10369,13 +9945,6 @@ ], "license": "MIT" }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true, - "license": "MIT" - }, "node_modules/htmlparser2": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.1.0.tgz", @@ -10447,21 +10016,6 @@ "node": ">= 0.8" } }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/http-proxy-agent": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", @@ -10490,19 +10044,6 @@ "node": ">= 14" } }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -10553,9 +10094,9 @@ "license": "MIT" }, "node_modules/immutable": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.5.tgz", - "integrity": "sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A==", + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.9.tgz", + "integrity": "sha512-m8nVez3rwrgmWxtLMt1ZYXB2Lv7OKYn/disyxAlSDYAlKSlFoPPfIAmAM/M5xqL4m4C/wAPw7S2/CNaUii1Hxg==", "dev": true, "license": "MIT" }, @@ -10639,19 +10180,6 @@ "integrity": "sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==", "license": "MIT" }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -10720,6 +10248,13 @@ "node": ">=0.12.0" } }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true, + "license": "MIT" + }, "node_modules/is-promise": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", @@ -10727,25 +10262,6 @@ "dev": true, "license": "MIT" }, - "node_modules/is-regex": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-unicode-supported": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", @@ -10765,19 +10281,6 @@ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "license": "MIT" }, - "node_modules/isbinaryfile": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", - "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/gjtorikian/" - } - }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -10812,71 +10315,114 @@ "node": ">=10" } }, - "node_modules/istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "node_modules/jasmine-core": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.13.0.tgz", + "integrity": "sha512-vsYjfh7lyqvZX5QgqKc4YH8phs7g96Z8bsdIFNEU3VqXhlHaq+vov/Fgn/sr6MiUczdZkyXRC3TX369Ll4Nzbw==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT" + }, + "node_modules/jest-diff": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.4.1.tgz", + "integrity": "sha512-CRpFK0RtLriVDGcPPAnR6HMVI8bSR2jnUIgralhauzYQZIb4RH9AtEInTuQr65LmmGggGcRT6HIASxwqsVsmlA==", + "dev": true, + "license": "MIT", "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" + "@jest/diff-sequences": "30.4.0", + "@jest/get-type": "30.1.0", + "chalk": "^4.1.2", + "pretty-format": "30.4.1" }, "engines": { - "node": ">=10" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "node_modules/jest-matcher-utils": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.4.1.tgz", + "integrity": "sha512-zvYfX5CaeEkFrrLS9suWe9rvJrm9J1Iv3ua8kIBv9GEPzcnsfBf0bob37la7s67fs0nlBC3EuvkOLnXQKxtx4A==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "@jest/get-type": "30.1.0", + "chalk": "^4.1.2", + "jest-diff": "30.4.1", + "pretty-format": "30.4.1" }, "engines": { - "node": ">=10" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/istanbul-lib-source-maps/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==", + "node_modules/jest-message-util": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.4.1.tgz", + "integrity": "sha512-kwCKIvq0MCW1HzLoGola9Te6JUdzgV0loyKJ3Qghrkz9i5/RRIHsL95BMQc2HBBhlBKC4j22K9p11TGHH8RBpQ==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@jest/types": "30.4.1", + "@types/stack-utils": "^2.0.3", + "chalk": "^4.1.2", + "graceful-fs": "^4.2.11", + "jest-util": "30.4.1", + "picomatch": "^4.0.3", + "pretty-format": "30.4.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.6" + }, "engines": { - "node": ">=0.10.0" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/istanbul-reports": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", - "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "node_modules/jest-mock": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.4.1.tgz", + "integrity": "sha512-/i8SVb8/NSB7RfNi8gfqu8gxLV23KaL5EpAttyb9iz8qWRIqXRLflycz/32wXsYkOnaUlx8NAKnJYtpsmXUmfw==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "@jest/types": "30.4.1", + "@types/node": "*", + "jest-util": "30.4.1" }, "engines": { - "node": ">=8" + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/jasmine-core": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.13.0.tgz", - "integrity": "sha512-vsYjfh7lyqvZX5QgqKc4YH8phs7g96Z8bsdIFNEU3VqXhlHaq+vov/Fgn/sr6MiUczdZkyXRC3TX369Ll4Nzbw==", + "node_modules/jest-regex-util": { + "version": "30.4.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.4.0.tgz", + "integrity": "sha512-mWlvLviKIgIQ8VCuM1xRdD0TWp3zlzionlmDBjuXVBs+VkmXq6FgW9T4Emr7oGz/Rk6feDCGyiugolcQEyp3mg==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/jest-util": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.4.1.tgz", + "integrity": "sha512-vjQb1sACEiv13DKJMDToJpzVW0joCsIQrmbg0fi7CyOOt+g9jTuQl2A216pWRBYhOVt53XbL/2LbMKg1BECWOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "30.4.1", + "@types/node": "*", + "chalk": "^4.1.2", + "ci-info": "^4.2.0", + "graceful-fs": "^4.2.11", + "picomatch": "^4.0.3" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } }, "node_modules/jose": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/jose/-/jose-6.1.3.tgz", - "integrity": "sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/jose/-/jose-6.2.3.tgz", + "integrity": "sha512-YYVDInQKFJfR/xa3ojUTl8c2KoTwiL1R5Wg9YCydwH0x0B9grbzlg5HC7mMjCtUJjbQ/YnGEZIhI5tCgfTb4Hw==", "dev": true, "license": "MIT", "funding": { @@ -10919,6 +10465,70 @@ "js-yaml": "bin/js-yaml.mjs" } }, + "node_modules/jsdom": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-29.1.1.tgz", + "integrity": "sha512-ECi4Fi2f7BdJtUKTflYRTiaMxIB0O6zfR1fX0GXpUrf6flp8QIYn1UT20YQqdSOfk2dfkCwS8LAFoJDEppNK5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@asamuzakjp/css-color": "^5.1.11", + "@asamuzakjp/dom-selector": "^7.1.1", + "@bramus/specificity": "^2.4.2", + "@csstools/css-syntax-patches-for-csstree": "^1.1.3", + "@exodus/bytes": "^1.15.0", + "css-tree": "^3.2.1", + "data-urls": "^7.0.0", + "decimal.js": "^10.6.0", + "html-encoding-sniffer": "^6.0.0", + "is-potential-custom-element-name": "^1.0.1", + "lru-cache": "^11.3.5", + "parse5": "^8.0.1", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^6.0.1", + "undici": "^7.25.0", + "w3c-xmlserializer": "^5.0.0", + "webidl-conversions": "^8.0.1", + "whatwg-mimetype": "^5.0.0", + "whatwg-url": "^16.0.1", + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24.0.0" + }, + "peerDependencies": { + "canvas": "^3.0.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsdom/node_modules/lru-cache": { + "version": "11.5.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.2.tgz", + "integrity": "sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/jsdom/node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, "node_modules/jsesc": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", @@ -10963,493 +10573,83 @@ "dev": true, "license": "BSD-2-Clause" }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonc-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", - "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "license": "MIT", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "dev": true, - "engines": [ - "node >= 0.2.0" - ], - "license": "MIT" - }, - "node_modules/jszip": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", - "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", - "license": "(MIT OR GPL-3.0-or-later)", - "dependencies": { - "lie": "~3.3.0", - "pako": "~1.0.2", - "readable-stream": "~2.3.6", - "setimmediate": "^1.0.5" - } - }, - "node_modules/jszip/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/jszip/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" - }, - "node_modules/jszip/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/karma": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.4.tgz", - "integrity": "sha512-LrtUxbdvt1gOpo3gxG+VAJlJAEMhbWlM4YrFQgql98FwF7+K8K12LYO4hnDdUkNjeztYrOXEMqgTajSWgmtI/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@colors/colors": "1.5.0", - "body-parser": "^1.19.0", - "braces": "^3.0.2", - "chokidar": "^3.5.1", - "connect": "^3.7.0", - "di": "^0.0.1", - "dom-serialize": "^2.2.1", - "glob": "^7.1.7", - "graceful-fs": "^4.2.6", - "http-proxy": "^1.18.1", - "isbinaryfile": "^4.0.8", - "lodash": "^4.17.21", - "log4js": "^6.4.1", - "mime": "^2.5.2", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.5", - "qjobs": "^1.2.0", - "range-parser": "^1.2.1", - "rimraf": "^3.0.2", - "socket.io": "^4.7.2", - "source-map": "^0.6.1", - "tmp": "^0.2.1", - "ua-parser-js": "^0.7.30", - "yargs": "^16.1.1" - }, - "bin": { - "karma": "bin/karma" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/karma-chrome-launcher": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz", - "integrity": "sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "which": "^1.2.1" - } - }, - "node_modules/karma-chrome-launcher/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/karma-coverage": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.1.tgz", - "integrity": "sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A==", - "dev": true, - "license": "MIT", - "dependencies": { - "istanbul-lib-coverage": "^3.2.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.1", - "istanbul-reports": "^3.0.5", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/karma-coverage/node_modules/brace-expansion": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.13.tgz", - "integrity": "sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/karma-coverage/node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/karma-coverage/node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/karma-coverage/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/karma-jasmine": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-5.1.0.tgz", - "integrity": "sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "jasmine-core": "^4.1.0" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "karma": "^6.0.0" - } - }, - "node_modules/karma-jasmine-html-reporter": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-2.2.0.tgz", - "integrity": "sha512-J0laEC43Oy2RdR5V5R3bqmdo7yRIYySq6XHKbA+e5iSAgLjhR1oICLGeSREPlJXpeyNcdJf3J17YcdhD0mRssQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "jasmine-core": "^4.0.0 || ^5.0.0 || ^6.0.0", - "karma": "^6.0.0", - "karma-jasmine": "^5.0.0" - } - }, - "node_modules/karma-jasmine/node_modules/jasmine-core": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.6.1.tgz", - "integrity": "sha512-VYz/BjjmC3klLJlLwA4Kw8ytk0zDSmbbDLNs794VnWmkcCB7I9aAL/D48VNQtmITyPvea2C3jdUMfc3kAoy0PQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/karma/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, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/karma/node_modules/brace-expansion": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.13.tgz", - "integrity": "sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/karma/node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/karma/node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/karma/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/karma/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/karma/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/karma/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/karma/node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/karma/node_modules/picomatch": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", - "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } + "license": "MIT" }, - "node_modules/karma/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" + "bin": { + "json5": "lib/cli.js" }, "engines": { - "node": ">=8.10.0" + "node": ">=6" } }, - "node_modules/karma/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==", + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } + "license": "MIT" }, - "node_modules/karma/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } + "engines": [ + "node >= 0.2.0" + ], + "license": "MIT" }, - "node_modules/karma/node_modules/strip-ansi": { - "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", + "node_modules/jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "license": "(MIT OR GPL-3.0-or-later)", "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" } }, - "node_modules/karma/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, + "node_modules/jszip/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/karma/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, + "node_modules/jszip/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/jszip/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "license": "MIT", "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/karma/node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" + "safe-buffer": "~5.1.0" } }, "node_modules/keyv": { @@ -11559,21 +10759,20 @@ "license": "ISC" }, "node_modules/listr2": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.5.tgz", - "integrity": "sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==", + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-10.2.1.tgz", + "integrity": "sha512-7I5knELsJKTUjXG+A6BkKAiGkW1i25fNa/xlUl9hFtk15WbE9jndA89xu5FzQKrY5llajE1hfZZFMILXkDHk/Q==", "dev": true, "license": "MIT", "dependencies": { - "cli-truncate": "^5.0.0", - "colorette": "^2.0.20", - "eventemitter3": "^5.0.1", + "cli-truncate": "^5.2.0", + "eventemitter3": "^5.0.4", "log-update": "^6.1.0", "rfdc": "^1.4.1", - "wrap-ansi": "^9.0.0" + "wrap-ansi": "^10.0.0" }, "engines": { - "node": ">=20.0.0" + "node": ">=22.13.0" } }, "node_modules/listr2/node_modules/ansi-styles": { @@ -11589,13 +10788,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/listr2/node_modules/emoji-regex": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", - "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", - "dev": true, - "license": "MIT" - }, "node_modules/listr2/node_modules/eventemitter3": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz", @@ -11603,46 +10795,28 @@ "dev": true, "license": "MIT" }, - "node_modules/listr2/node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/listr2/node_modules/wrap-ansi": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", - "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-10.0.0.tgz", + "integrity": "sha512-SGcvg80f0wUy2/fXES19feHMz8E0JoXv2uNgHOu4Dgi2OrCy1lqwFYEJz1BLbDI0exjPMe/ZdzZ/YpGECBG/aQ==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" + "ansi-styles": "^6.2.3", + "string-width": "^8.2.0", + "strip-ansi": "^7.1.2" }, "engines": { - "node": ">=18" + "node": ">=20" }, "funding": { "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/lmdb": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.5.1.tgz", - "integrity": "sha512-NYHA0MRPjvNX+vSw8Xxg6FLKxzAG+e7Pt8RqAQA/EehzHVXq9SxDqJIN3JL1hK0dweb884y8kIh6rkWvPyg9Wg==", + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.5.4.tgz", + "integrity": "sha512-9FKQA6G1MMtqNxfxvSBNXD/axeG2QRjYbNh0/ykRL5xYcRbCm2vXq7B9bhc7nSuKdHzr8/BHIwfPuYYH1UsXXw==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -11659,13 +10833,13 @@ "download-lmdb-prebuilds": "bin/download-prebuilds.js" }, "optionalDependencies": { - "@lmdb/lmdb-darwin-arm64": "3.5.1", - "@lmdb/lmdb-darwin-x64": "3.5.1", - "@lmdb/lmdb-linux-arm": "3.5.1", - "@lmdb/lmdb-linux-arm64": "3.5.1", - "@lmdb/lmdb-linux-x64": "3.5.1", - "@lmdb/lmdb-win32-arm64": "3.5.1", - "@lmdb/lmdb-win32-x64": "3.5.1" + "@lmdb/lmdb-darwin-arm64": "3.5.4", + "@lmdb/lmdb-darwin-x64": "3.5.4", + "@lmdb/lmdb-linux-arm": "3.5.4", + "@lmdb/lmdb-linux-arm64": "3.5.4", + "@lmdb/lmdb-linux-x64": "3.5.4", + "@lmdb/lmdb-win32-arm64": "3.5.4", + "@lmdb/lmdb-win32-x64": "3.5.4" } }, "node_modules/locate-path": { @@ -11684,13 +10858,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", - "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", - "dev": true, - "license": "MIT" - }, "node_modules/lodash-es": { "version": "4.18.1", "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.18.1.tgz", @@ -11833,12 +11000,22 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/log-update/node_modules/emoji-regex": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", - "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz", + "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } }, "node_modules/log-update/node_modules/string-width": { "version": "7.2.0", @@ -11876,23 +11053,6 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/log4js": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz", - "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "date-format": "^4.0.14", - "debug": "^4.3.4", - "flatted": "^3.2.7", - "rfdc": "^1.3.0", - "streamroller": "^3.1.5" - }, - "engines": { - "node": ">=8.0" - } - }, "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -11924,22 +11084,6 @@ "@jridgewell/sourcemap-codec": "^1.5.5" } }, - "node_modules/make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.5.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", @@ -11987,15 +11131,12 @@ "node": ">= 0.4" } }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "node_modules/mdn-data": { + "version": "2.27.1", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", + "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } + "license": "CC0-1.0" }, "node_modules/merge-descriptors": { "version": "2.0.0", @@ -12010,42 +11151,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true, - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/mimic-function": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", @@ -12312,9 +11417,9 @@ "license": "MIT" }, "node_modules/msgpackr": { - "version": "1.11.8", - "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.8.tgz", - "integrity": "sha512-bC4UGzHhVvgDNS7kn9tV8fAucIYUBuGojcaLiz7v+P63Lmtm0Xeji8B/8tYKddALXxJLpwIeBmUN3u64C4YkRA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.12.1.tgz", + "integrity": "sha512-4EUH9tQHnMmEgzW/MdAP0KIfa1T9AF+htl0ffe2n5vb2EKn9y2co8ccpgWko6S52Jy1PQZKwRnx5/KkYjtd9MQ==", "dev": true, "license": "MIT", "optional": true, @@ -12323,9 +11428,9 @@ } }, "node_modules/msgpackr-extract": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz", - "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.4.tgz", + "integrity": "sha512-4kmO/MdyUIkLIvTPr8VHLil4AtoKIoniWPIEk5+CDy0xnWC84azhSFmuJ7PxZdsYtiP5kEeQsORAVIeMgxT+Hw==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -12337,22 +11442,22 @@ "download-msgpackr-prebuilds": "bin/download-prebuilds.js" }, "optionalDependencies": { - "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3", - "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3" + "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.4", + "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.4", + "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.4", + "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.4", + "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.4", + "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.4" } }, "node_modules/mute-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", - "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-3.0.0.tgz", + "integrity": "sha512-dkEJPVvun4FryqBmZ5KhDo0K9iDXAwn08tMLDinNdRBNPcYEDiWYysLcc6k3mjTMlbP9KyylvRpd4wFtwrT9rw==", "dev": true, "license": "ISC", "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/mux.js": { @@ -12373,9 +11478,9 @@ } }, "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "version": "3.3.15", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.15.tgz", + "integrity": "sha512-y7Wygv/7mEOvxTuEQDB8StXdMRBWf1kR/tlhAzBRUFkB2jfcLOAxO/SHmOO2zgz1pVgK29/kyupn059/bCHdjA==", "dev": true, "funding": [ { @@ -12409,16 +11514,16 @@ } }, "node_modules/ngx-cookie-service": { - "version": "21.3.1", - "resolved": "https://registry.npmjs.org/ngx-cookie-service/-/ngx-cookie-service-21.3.1.tgz", - "integrity": "sha512-8VEA2W7W2W3yPXhemJoVtXxr+3WW2DNLV4OaCIKDzLdzUUxJ6SzPHMmXXa26Pg8pa+fZxHK1hZfqJfUxr9RMBw==", + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/ngx-cookie-service/-/ngx-cookie-service-22.0.0.tgz", + "integrity": "sha512-7V8am8MqTr7R1xCePfo3w+AfbunNQl+vaWPAeLtIruhsAqBXp0uunh4mYv+ikrYrdPg9pqBjckCX3ubNv8HX7w==", "license": "MIT", "dependencies": { "tslib": "^2.8.1" }, "peerDependencies": { - "@angular/common": "^21.0.0", - "@angular/core": "^21.0.0" + "@angular/common": "^22.0.0", + "@angular/core": "^22.0.0" } }, "node_modules/ngx-date-fns": { @@ -12436,16 +11541,16 @@ } }, "node_modules/ngx-device-detector": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/ngx-device-detector/-/ngx-device-detector-11.0.0.tgz", - "integrity": "sha512-vQ07MpUvVKgxGMPmNvbZ9mUcgH4cH0KMVCj9skMOciPh4sBUKNsorWE/FUs2eSYiLbtu7oq1JcPMcRuEWZ1rug==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/ngx-device-detector/-/ngx-device-detector-12.0.0.tgz", + "integrity": "sha512-n9mlKvClPP3El+pj7+v6/C+ywm4iq+xz2Jh5GRV3TH9dEc1yycvzh6lRCjd/d1ymLmGRHAD5cBlDIo5jfs1F7w==", "license": "MIT", "dependencies": { "tslib": "^2.8.1" }, "peerDependencies": { - "@angular/common": "^21.0.0", - "@angular/core": "^21.0.0" + "@angular/common": "^22.0.0", + "@angular/core": "^22.0.0" } }, "node_modules/ngx-file-drop": { @@ -12739,6 +11844,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/obug": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.3.tgz", + "integrity": "sha512-9miFgM2OFba7hB+pRgvtV84pYTBaoTHohvmIgiRt6dRIzbwEOIaNaP+dIlGs2fNFoB0SeISs0Jz5WFVRid6Xyg==", + "dev": true, + "funding": [ + "https://github.com/sponsors/sxzz", + "https://opencollective.com/debug" + ], + "license": "MIT", + "engines": { + "node": ">=12.20.0" + } + }, "node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", @@ -12796,9 +11915,9 @@ } }, "node_modules/ora": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-9.3.0.tgz", - "integrity": "sha512-lBX72MWFduWEf7v7uWf5DHp9Jn5BI8bNPGuFgtXMmr2uDz2Gz2749y3am3agSDdkhHPHYmmxEGSKH85ZLGzgXw==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-9.4.0.tgz", + "integrity": "sha512-84cglkRILFxdtA8hAvLNdMrtBpPNBTrQ9/ulg0FA7xLMnD6mifv+enAIeRmvtv+WgdCE+LPGOfQmtJRrVaIVhQ==", "dev": true, "license": "MIT", "dependencies": { @@ -12808,7 +11927,7 @@ "is-interactive": "^2.0.0", "is-unicode-supported": "^2.1.0", "log-symbols": "^7.0.1", - "stdin-discarder": "^0.3.1", + "stdin-discarder": "^0.3.2", "string-width": "^8.1.0" }, "engines": { @@ -12831,23 +11950,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/ora/node_modules/string-width": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.0.tgz", - "integrity": "sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-east-asian-width": "^1.5.0", - "strip-ansi": "^7.1.2" - }, - "engines": { - "node": ">=20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/ordered-binary": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.6.1.tgz", @@ -12974,25 +12076,25 @@ } }, "node_modules/parse5": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.0.tgz", - "integrity": "sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.1.tgz", + "integrity": "sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw==", "license": "MIT", "dependencies": { - "entities": "^6.0.0" + "entities": "^8.0.0" }, "funding": { "url": "https://github.com/inikulin/parse5?sponsor=1" } }, "node_modules/parse5-html-rewriting-stream": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-8.0.0.tgz", - "integrity": "sha512-wzh11mj8KKkno1pZEu+l2EVeWsuKDfR5KNWZOTsslfUX8lPDZx77m9T0kIoAVkFtD1nx6YF8oh4BnPHvxMtNMw==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-8.0.1.tgz", + "integrity": "sha512-NaRku2aMpUN1Sh1Gyk1KWUh2A7EJx2c6qYzvwsPtqhoHoaURshdrceYK3LunVCm3WHhm6FS7Vcczbvdh3/UIVw==", "dev": true, "license": "MIT", "dependencies": { - "entities": "^6.0.0", + "entities": "^8.0.0", "parse5": "^8.0.0", "parse5-sax-parser": "^8.0.0" }, @@ -13001,13 +12103,13 @@ } }, "node_modules/parse5-html-rewriting-stream/node_modules/entities": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-8.0.0.tgz", + "integrity": "sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA==", "dev": true, "license": "BSD-2-Clause", "engines": { - "node": ">=0.12" + "node": ">=20.19.0" }, "funding": { "url": "https://github.com/fb55/entities?sponsor=1" @@ -13027,12 +12129,12 @@ } }, "node_modules/parse5/node_modules/entities": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", - "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-8.0.0.tgz", + "integrity": "sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA==", "license": "BSD-2-Clause", "engines": { - "node": ">=0.12" + "node": ">=20.19.0" }, "funding": { "url": "https://github.com/fb55/entities?sponsor=1" @@ -13111,9 +12213,9 @@ } }, "node_modules/path-to-regexp": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", - "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz", + "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==", "dev": true, "license": "MIT", "funding": { @@ -13121,6 +12223,13 @@ "url": "https://opencollective.com/express" } }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, "node_modules/pdfkit": { "version": "0.19.1", "resolved": "https://registry.npmjs.org/pdfkit/-/pdfkit-0.19.1.tgz", @@ -13228,9 +12337,9 @@ "license": "MIT" }, "node_modules/postcss": { - "version": "8.5.12", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.12.tgz", - "integrity": "sha512-W62t/Se6rA0Az3DfCL0AqJwXuKwBeYg6nOaIgzP+xZ7N5BFCI7DYi1qs6ygUYT6rvfi6t9k65UMLJC+PHZpDAA==", + "version": "8.5.16", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.16.tgz", + "integrity": "sha512-vuwillviilfKZsg0VGj5R/YwwcHx4SLsIOI/7K6mQkWx+l5cUHTjj5g0AasTBcyXsbfTgrwsUNmVUb5xVwyPwg==", "dev": true, "funding": [ { @@ -13248,7 +12357,7 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.11", + "nanoid": "^3.3.12", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, @@ -13329,6 +12438,35 @@ "node": ">=6.0.0" } }, + "node_modules/pretty-format": { + "version": "30.4.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.4.1.tgz", + "integrity": "sha512-K6KiKMHTL4jjX4u3Kir2EW07nRfcqVTXIImx50wbjHQTcZPgg+gjVeNTIT3l3L1Rd4UefxfogquC9J37SoFyyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "30.4.1", + "ansi-styles": "^5.2.0", + "react-is-18": "npm:react-is@^18.3.1", + "react-is-19": "npm:react-is@^19.2.5" + }, + "engines": { + "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/proc-log": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.1.0.tgz", @@ -13508,20 +12646,13 @@ } }, "node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/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==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, "license": "MIT", "engines": { - "node": ">=0.9" + "node": ">=6" } }, "node_modules/qrcode": { @@ -13721,21 +12852,21 @@ "node": ">= 0.6" } }, - "node_modules/raw-body": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", - "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "node_modules/react-is-18": { + "name": "react-is", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", "dev": true, - "license": "MIT", - "dependencies": { - "bytes": "~3.1.2", - "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } + "license": "MIT" + }, + "node_modules/react-is-19": { + "name": "react-is", + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.7.tgz", + "integrity": "sha512-kZFnouyVv7eP/Phmrlo9FK+zcAdriZJvzxXHF1Sl1P377WSGe2G/JxVolhTrB/jeV47lKImhNUsijjHAAbcl/A==", + "dev": true, + "license": "MIT" }, "node_modules/readable-stream": { "version": "3.6.2", @@ -13773,13 +12904,13 @@ } }, "node_modules/readdirp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", - "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", + "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", "dev": true, "license": "MIT", "engines": { - "node": ">= 14.18.0" + "node": ">= 20.19.0" }, "funding": { "type": "individual", @@ -13828,13 +12959,6 @@ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "license": "ISC" }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "dev": true, - "license": "MIT" - }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -13875,105 +12999,10 @@ "dev": true, "license": "MIT" }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf/node_modules/brace-expansion": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.13.tgz", - "integrity": "sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/rimraf/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf/node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/rolldown": { - "version": "1.0.0-rc.4", - "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.4.tgz", - "integrity": "sha512-V2tPDUrY3WSevrvU2E41ijZlpF+5PbZu4giH+VpNraaadsJGHa4fR6IFwsocVwEXDoAdIv5qgPPxgrvKAOIPtA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@oxc-project/types": "=0.113.0", - "@rolldown/pluginutils": "1.0.0-rc.4" - }, - "bin": { - "rolldown": "bin/cli.mjs" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "optionalDependencies": { - "@rolldown/binding-android-arm64": "1.0.0-rc.4", - "@rolldown/binding-darwin-arm64": "1.0.0-rc.4", - "@rolldown/binding-darwin-x64": "1.0.0-rc.4", - "@rolldown/binding-freebsd-x64": "1.0.0-rc.4", - "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.4", - "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.4", - "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.4", - "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.4", - "@rolldown/binding-linux-x64-musl": "1.0.0-rc.4", - "@rolldown/binding-openharmony-arm64": "1.0.0-rc.4", - "@rolldown/binding-wasm32-wasi": "1.0.0-rc.4", - "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.4", - "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.4" - } - }, "node_modules/rollup": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.0.tgz", - "integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.2.tgz", + "integrity": "sha512-J9qZyW++QK/09NyN/zeO0dG/1GdGfyp9lV8ajHnRVLfo/uFsbji5mHnDgn/qYdUHyCkM2N+8VyspgZclfAh0eQ==", "dev": true, "license": "MIT", "dependencies": { @@ -13987,31 +13016,31 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.59.0", - "@rollup/rollup-android-arm64": "4.59.0", - "@rollup/rollup-darwin-arm64": "4.59.0", - "@rollup/rollup-darwin-x64": "4.59.0", - "@rollup/rollup-freebsd-arm64": "4.59.0", - "@rollup/rollup-freebsd-x64": "4.59.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.59.0", - "@rollup/rollup-linux-arm-musleabihf": "4.59.0", - "@rollup/rollup-linux-arm64-gnu": "4.59.0", - "@rollup/rollup-linux-arm64-musl": "4.59.0", - "@rollup/rollup-linux-loong64-gnu": "4.59.0", - "@rollup/rollup-linux-loong64-musl": "4.59.0", - "@rollup/rollup-linux-ppc64-gnu": "4.59.0", - "@rollup/rollup-linux-ppc64-musl": "4.59.0", - "@rollup/rollup-linux-riscv64-gnu": "4.59.0", - "@rollup/rollup-linux-riscv64-musl": "4.59.0", - "@rollup/rollup-linux-s390x-gnu": "4.59.0", - "@rollup/rollup-linux-x64-gnu": "4.59.0", - "@rollup/rollup-linux-x64-musl": "4.59.0", - "@rollup/rollup-openbsd-x64": "4.59.0", - "@rollup/rollup-openharmony-arm64": "4.59.0", - "@rollup/rollup-win32-arm64-msvc": "4.59.0", - "@rollup/rollup-win32-ia32-msvc": "4.59.0", - "@rollup/rollup-win32-x64-gnu": "4.59.0", - "@rollup/rollup-win32-x64-msvc": "4.59.0", + "@rollup/rollup-android-arm-eabi": "4.60.2", + "@rollup/rollup-android-arm64": "4.60.2", + "@rollup/rollup-darwin-arm64": "4.60.2", + "@rollup/rollup-darwin-x64": "4.60.2", + "@rollup/rollup-freebsd-arm64": "4.60.2", + "@rollup/rollup-freebsd-x64": "4.60.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.60.2", + "@rollup/rollup-linux-arm-musleabihf": "4.60.2", + "@rollup/rollup-linux-arm64-gnu": "4.60.2", + "@rollup/rollup-linux-arm64-musl": "4.60.2", + "@rollup/rollup-linux-loong64-gnu": "4.60.2", + "@rollup/rollup-linux-loong64-musl": "4.60.2", + "@rollup/rollup-linux-ppc64-gnu": "4.60.2", + "@rollup/rollup-linux-ppc64-musl": "4.60.2", + "@rollup/rollup-linux-riscv64-gnu": "4.60.2", + "@rollup/rollup-linux-riscv64-musl": "4.60.2", + "@rollup/rollup-linux-s390x-gnu": "4.60.2", + "@rollup/rollup-linux-x64-gnu": "4.60.2", + "@rollup/rollup-linux-x64-musl": "4.60.2", + "@rollup/rollup-openbsd-x64": "4.60.2", + "@rollup/rollup-openharmony-arm64": "4.60.2", + "@rollup/rollup-win32-arm64-msvc": "4.60.2", + "@rollup/rollup-win32-ia32-msvc": "4.60.2", + "@rollup/rollup-win32-x64-gnu": "4.60.2", + "@rollup/rollup-win32-x64-msvc": "4.60.2", "fsevents": "~2.3.2" } }, @@ -14067,24 +13096,6 @@ ], "license": "MIT" }, - "node_modules/safe-regex-test": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -14093,14 +13104,14 @@ "license": "MIT" }, "node_modules/sass": { - "version": "1.97.3", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.97.3.tgz", - "integrity": "sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==", + "version": "1.99.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.99.0.tgz", + "integrity": "sha512-kgW13M54DUB7IsIRM5LvJkNlpH+WhMpooUcaWGFARkF1Tc82v9mIWkCbCYf+MBvpIUBSeSOTilpZjEPr2VYE6Q==", "dev": true, "license": "MIT", "dependencies": { "chokidar": "^4.0.0", - "immutable": "^5.0.2", + "immutable": "^5.1.5", "source-map-js": ">=0.6.2 <2.0.0" }, "bin": { @@ -14113,6 +13124,36 @@ "@parcel/watcher": "^2.4.1" } }, + "node_modules/sass/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "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.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/sax": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.3.tgz", @@ -14366,6 +13407,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true, + "license": "ISC" + }, "node_modules/signal-exit": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", @@ -14406,18 +13454,28 @@ "is-arrayish": "^0.3.1" } }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/slice-ansi": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz", - "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-8.0.0.tgz", + "integrity": "sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^6.2.1", - "is-fullwidth-code-point": "^5.0.0" + "ansi-styles": "^6.2.3", + "is-fullwidth-code-point": "^5.1.0" }, "engines": { - "node": ">=18" + "node": ">=20" }, "funding": { "url": "https://github.com/chalk/slice-ansi?sponsor=1" @@ -14439,110 +13497,12 @@ "node_modules/smart-buffer": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socket.io": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz", - "integrity": "sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==", - "dev": true, - "license": "MIT", - "dependencies": { - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "cors": "~2.8.5", - "debug": "~4.3.2", - "engine.io": "~6.6.0", - "socket.io-adapter": "~2.5.2", - "socket.io-parser": "~4.2.4" - }, - "engines": { - "node": ">=10.2.0" - } - }, - "node_modules/socket.io-adapter": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz", - "integrity": "sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "~4.3.4", - "ws": "~8.17.1" - } - }, - "node_modules/socket.io-adapter/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/socket.io-parser": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", - "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", - "dev": true, - "license": "MIT", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-parser/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/socket.io/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 - } + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" } }, "node_modules/socks": { @@ -14654,42 +13614,54 @@ "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, "license": "MIT", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=10" } }, - "node_modules/stdin-discarder": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.3.1.tgz", - "integrity": "sha512-reExS1kSGoElkextOcPkel4NE99S0BWxjUHQeDFnR8S993JxpPX7KU4MNmO19NXhlJp+8dmdCbKQVNgLJh2teA==", + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, "license": "MIT", "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/streamroller": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz", - "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==", + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true, + "license": "MIT" + }, + "node_modules/std-env": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.2.0.tgz", + "integrity": "sha512-oCUKSupKTHX53EyjDtuZQ64pjLJ6yYCtpmEw0goYxtjG9KpbRe8KAsl2tBUGU9DyMcJ0RwJ8GqJAFzMXcXW1Rw==", + "dev": true, + "license": "MIT" + }, + "node_modules/stdin-discarder": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.3.2.tgz", + "integrity": "sha512-eCPu1qRxPVkl5605OTWF8Wz40b4Mf45NY5LQmVPQ599knfs5QhASUm9GbJ5BDMDOXgrnh0wyEdvzmL//YMlw0A==", "dev": true, "license": "MIT", - "dependencies": { - "date-format": "^4.0.14", - "debug": "^4.3.4", - "fs-extra": "^8.1.0" - }, "engines": { - "node": ">=8.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/string_decoder": { @@ -14701,6 +13673,23 @@ "safe-buffer": "~5.2.0" } }, + "node_modules/string-width": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.2.tgz", + "integrity": "sha512-GaPUh5gfdrYzqeVNZvUfT23vYYxXzKYidUcnMtJg/3rxRV63EFZy3k6xfKlmfeJD0176lnUV/Usr3XcwSvFzpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.5.0", + "strip-ansi": "^7.1.2" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/strip-ansi": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", @@ -14753,6 +13742,13 @@ "node": ">=8" } }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true, + "license": "MIT" + }, "node_modules/synckit": { "version": "0.11.13", "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.13.tgz", @@ -14818,21 +13814,38 @@ "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", "license": "MIT" }, + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true, + "license": "MIT" + }, "node_modules/tinycolor2": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz", "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==", "license": "MIT" }, + "node_modules/tinyexec": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.2.4.tgz", + "integrity": "sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/tinyglobby": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", "dev": true, "license": "MIT", "dependencies": { "fdir": "^6.5.0", - "picomatch": "^4.0.3" + "picomatch": "^4.0.4" }, "engines": { "node": ">=12.0.0" @@ -14841,6 +13854,36 @@ "url": "https://github.com/sponsors/SuperchupuDev" } }, + "node_modules/tinyrainbow": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.0.tgz", + "integrity": "sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tldts": { + "version": "7.4.7", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.4.7.tgz", + "integrity": "sha512-56L0/9HELHSsG1bFCzay8UoLxzRL7kpFf7Wl5q/kSYwiSJGACvro61xnKzPNM+SadxllzdtXsKDSXE7HPeqIAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tldts-core": "^7.4.7" + }, + "bin": { + "tldts": "bin/cli.js" + } + }, + "node_modules/tldts-core": { + "version": "7.4.7", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.4.7.tgz", + "integrity": "sha512-rNlAI8fKn/JckBMUSbNL/ES2kmDiurWaE49l+ikwEc9A6lFR7gMx9AhgQMQKBK4H5w4pKLH64JzZfB99uRsGNQ==", + "dev": true, + "license": "MIT" + }, "node_modules/tmp": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.7.tgz", @@ -14873,6 +13916,32 @@ "node": ">=0.6" } }, + "node_modules/tough-cookie": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.2.tgz", + "integrity": "sha512-exgYmnmL/sJpR3upZfXG5PoatXQii55xAiXGXzY+sROLZ/Y+SLcp9PgJNI9Vz37HpQ74WvDcLT8eqm+kV3FzrA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tldts": "^7.0.5" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/tr46": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-6.0.0.tgz", + "integrity": "sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "engines": { + "node": ">=20" + } + }, "node_modules/traverse": { "version": "0.3.9", "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", @@ -15009,24 +14078,10 @@ "node": ">= 0.8.0" } }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/typescript": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", "dev": true, "license": "Apache-2.0", "bin": { @@ -15061,33 +14116,6 @@ "typescript": ">=4.8.4 <6.1.0" } }, - "node_modules/ua-parser-js": { - "version": "0.7.40", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.40.tgz", - "integrity": "sha512-us1E3K+3jJppDBa3Tl0L3MOJiGhe1C6P0+nIvQAFYbxlMAx0h81eOwLmU57xgqToduDDPx3y5QsdjPfDu+FgOQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - }, - { - "type": "github", - "url": "https://github.com/sponsors/faisalman" - } - ], - "license": "MIT", - "bin": { - "ua-parser-js": "script/cli.js" - }, - "engines": { - "node": "*" - } - }, "node_modules/undici": { "version": "7.28.0", "resolved": "https://registry.npmjs.org/undici/-/undici-7.28.0.tgz", @@ -15131,16 +14159,6 @@ "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", "license": "MIT" }, - "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, - "license": "MIT", - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -15240,32 +14258,12 @@ "punycode": "^2.1.0" } }, - "node_modules/uri-js/node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "license": "MIT" }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", @@ -15354,13 +14352,13 @@ } }, "node_modules/vite": { - "version": "7.3.6", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.6.tgz", - "integrity": "sha512-4XP60spRGjSZFf1qYH+dJIkK2znL3zQfl9KkOV9MkkRR/3Dls0dxaBsQPTloEc5BLXWPL9vsOxopxyKoMmDueg==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.5.tgz", + "integrity": "sha512-KuOaNhcnGFN2zIPGA7wRmzF+lJA1sea7rHq17aiJ++9lzY1WWG6Jpwqwe1KNbRVPIqHmr8GLYx7jbrQcN/7/ww==", "dev": true, "license": "MIT", "dependencies": { - "esbuild": "^0.27.0 || ^0.28.0", + "esbuild": "^0.27.0", "fdir": "^6.5.0", "picomatch": "^4.0.3", "postcss": "^8.5.6", @@ -15428,14 +14426,94 @@ } } }, - "node_modules/void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", + "node_modules/vitest": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.10.tgz", + "integrity": "sha512-R9jUTe5S4Qb0HCd4TNqpC7oGcrMssMRGXLW80ubjWsW9VH5GF8y1Y0SFLY9AbqSk6nt0PnOx4H4WNJYZ13GUPw==", "dev": true, "license": "MIT", + "dependencies": { + "@vitest/expect": "4.1.10", + "@vitest/mocker": "4.1.10", + "@vitest/pretty-format": "4.1.10", + "@vitest/runner": "4.1.10", + "@vitest/snapshot": "4.1.10", + "@vitest/spy": "4.1.10", + "@vitest/utils": "4.1.10", + "es-module-lexer": "^2.0.0", + "expect-type": "^1.3.0", + "magic-string": "^0.30.21", + "obug": "^2.1.1", + "pathe": "^2.0.3", + "picomatch": "^4.0.3", + "std-env": "^4.0.0-rc.1", + "tinybench": "^2.9.0", + "tinyexec": "^1.0.2", + "tinyglobby": "^0.2.15", + "tinyrainbow": "^3.1.0", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" + }, "engines": { - "node": ">=0.10.0" + "node": "^20.0.0 || ^22.0.0 || >=24.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@opentelemetry/api": "^1.9.0", + "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", + "@vitest/browser-playwright": "4.1.10", + "@vitest/browser-preview": "4.1.10", + "@vitest/browser-webdriverio": "4.1.10", + "@vitest/coverage-istanbul": "4.1.10", + "@vitest/coverage-v8": "4.1.10", + "@vitest/ui": "4.1.10", + "happy-dom": "*", + "jsdom": "*", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@opentelemetry/api": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser-playwright": { + "optional": true + }, + "@vitest/browser-preview": { + "optional": true + }, + "@vitest/browser-webdriverio": { + "optional": true + }, + "@vitest/coverage-istanbul": { + "optional": true + }, + "@vitest/coverage-v8": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + }, + "vite": { + "optional": false + } } }, "node_modules/w3c-keyname": { @@ -15444,6 +14522,19 @@ "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==", "license": "MIT" }, + "node_modules/w3c-xmlserializer": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "xml-name-validator": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/watchpack": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", @@ -15466,6 +14557,41 @@ "license": "MIT", "optional": true }, + "node_modules/webidl-conversions": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-8.0.1.tgz", + "integrity": "sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=20" + } + }, + "node_modules/whatwg-mimetype": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-5.0.0.tgz", + "integrity": "sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + } + }, + "node_modules/whatwg-url": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-16.0.1.tgz", + "integrity": "sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@exodus/bytes": "^1.11.0", + "tr46": "^6.0.0", + "webidl-conversions": "^8.0.1" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -15488,6 +14614,23 @@ "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", "license": "ISC" }, + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/word-wrap": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", @@ -15568,26 +14711,14 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "license": "ISC" }, - "node_modules/ws": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", - "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "node_modules/xml-name-validator": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "node": ">=18" } }, "node_modules/xmlchars": { @@ -15653,13 +14784,6 @@ "node": "^20.19.0 || ^22.12.0 || >=23" } }, - "node_modules/yargs/node_modules/emoji-regex": { - "version": "10.5.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.5.0.tgz", - "integrity": "sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg==", - "dev": true, - "license": "MIT" - }, "node_modules/yargs/node_modules/string-width": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", @@ -15714,19 +14838,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/yoctocolors-cjs": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz", - "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/zip-stream": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.1.tgz", @@ -15806,29 +14917,28 @@ } }, "node_modules/zod": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", - "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", - "dev": true, + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.4.2.tgz", + "integrity": "sha512-IynmDyxsEsb9RKzO3J9+4SxXnl2FTFSzNBaKKaMV6tsSk0rw9gYw9gs+JFCq/qk2LCZ78KDwyj+Z289TijSkUw==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" } }, "node_modules/zod-to-json-schema": { - "version": "3.25.1", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.1.tgz", - "integrity": "sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA==", + "version": "3.25.2", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.2.tgz", + "integrity": "sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==", "dev": true, "license": "ISC", "peerDependencies": { - "zod": "^3.25 || ^4" + "zod": "^3.25.28 || ^4" } }, "node_modules/zone.js": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.16.1.tgz", - "integrity": "sha512-dpvY17vxYIW3+bNrP0ClUlaiY0CiIRK3tnoLaGoQsQcY9/I/NpzIWQ7tQNhbV7LacQMpCII6wVzuL3tuWOyfuA==", + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.16.2.tgz", + "integrity": "sha512-Eky7p2Z1Ig3NnbfodSPoARCjKBSTFMnE/ACsP1L/XJEfY4SdOFce19BsUCWVwL6K5ABZFy5J3bjcMWffX+YM3Q==", "license": "MIT" } } diff --git a/client/package.json b/client/package.json index f09044f04de..2f3220b3831 100644 --- a/client/package.json +++ b/client/package.json @@ -16,9 +16,9 @@ "build-to-dir": "npm run build -- --output-path", "build-debug": "npm run ng-high-memory -- build", "test": "npm run ng-high-memory -- test", - "test-silently": "npm run test -- --watch=false --browsers=ChromiumHeadless", - "test-coverage": "npm run test -- --watch=false --code-coverage --browsers=ChromiumHeadless --source-map", - "test-live": "npm run test -- --watch=true --browsers=Chromium", + "test-silently": "npm run test -- --watch=false", + "test-coverage": "npm run test -- --watch=false --code-coverage --source-map", + "test-live": "npm run test -- --watch=true", "lint": "ng lint", "lint-write": "ng lint --fix", "extract": "ngx-translate-extract -i ./src -o ./src/assets/i18n/template-en.pot --clean --sort --format pot", @@ -32,25 +32,25 @@ "get-available-languages": "npm run ts -- cli/get-available-languages.ts" }, "dependencies": { - "@angular/animations": "^21.2.16", - "@angular/cdk": "^21.2.14", - "@angular/common": "^21.2.17", - "@angular/compiler": "^21.2.17", - "@angular/core": "^21.2.17", - "@angular/forms": "^21.2.17", - "@angular/material": "^21.2.14", - "@angular/material-date-fns-adapter": "^21.2.14", - "@angular/platform-browser": "^21.2.17", - "@angular/platform-browser-dynamic": "^21.2.17", - "@angular/router": "^21.2.17", - "@angular/service-worker": "^21.2.17", + "@angular/animations": "^22.0.6", + "@angular/cdk": "^22.0.4", + "@angular/common": "^22.0.6", + "@angular/compiler": "^22.0.6", + "@angular/core": "^22.0.6", + "@angular/forms": "^22.0.6", + "@angular/material": "^22.0.4", + "@angular/material-date-fns-adapter": "^22.0.4", + "@angular/platform-browser": "^22.0.6", + "@angular/platform-browser-dynamic": "^22.0.6", + "@angular/router": "^22.0.6", + "@angular/service-worker": "^22.0.6", "@cantoo/pdf-lib": "^2.7.1", - "@coreui/angular-chartjs": "~5.6.25", + "@coreui/angular-chartjs": "~5.7.3", "@coreui/chartjs": "^4.1.0", "@date-fns/tz": "^1.5.0", "@intevation/tiptap-extension-office-paste": "^0.1.2", "@material/typography": "^14.0.0", - "@ngx-pwa/local-storage": "^21.0.0", + "@ngx-pwa/local-storage": "^22.0.0", "@ngx-translate/core": "^17.0.0", "@ngx-translate/http-loader": "^17.0.0", "@openslides/motion-diff": "file:../packages/openslides-motion-diff", @@ -83,9 +83,9 @@ "jszip": "^3.10.1", "lodash-es": "^4.18.1", "material-design-icons-iconfont": "^6.7.0", - "ngx-cookie-service": "^21.3.1", + "ngx-cookie-service": "^22.0.0", "ngx-date-fns": "^12.0.1", - "ngx-device-detector": "^11.0.0", + "ngx-device-detector": "^12.0.0", "ngx-file-drop": "^16.0.0", "ngx-papaparse": "^8.0.0", "pdfmake": "^0.3.11", @@ -94,22 +94,22 @@ "rxjs": "^7.8.2", "tinycolor2": "1.6.0", "video.js": "^8.23.9", - "zone.js": "^0.16.1" + "zone.js": "^0.16.2" }, "devDependencies": { - "@angular-eslint/builder": "^21.4.0", - "@angular-eslint/eslint-plugin": "^21.4.0", - "@angular-eslint/eslint-plugin-template": "^21.4.0", - "@angular-eslint/schematics": "^21.4.0", - "@angular-eslint/template-parser": "^21.3.0", - "@angular/build": "^21.2.18", - "@angular/cli": "^21.2.18", - "@angular/compiler-cli": "^21.2.17", - "@angular/language-server": "^21.2.17", - "@coreui/angular-chartjs": "^5.6.25", + "@angular-eslint/builder": "^22.0.0", + "@angular-eslint/eslint-plugin": "^22.0.0", + "@angular-eslint/eslint-plugin-template": "^22.0.0", + "@angular-eslint/schematics": "^22.0.0", + "@angular-eslint/template-parser": "^22.0.0", + "@angular/build": "^22.0.6", + "@angular/cli": "^22.0.6", + "@angular/compiler-cli": "^22.0.6", + "@angular/language-server": "^22.0.6", "@stylistic/eslint-plugin": "^5.10.0", "@types/file-saver": "^2.0.7", "@types/jasmine": "~5.1.15", + "@types/jest": "^30.0.0", "@types/js-yaml": "^4.0.9", "@types/node": "^24.10.14", "@types/pdfmake": "^0.3.3", @@ -118,28 +118,25 @@ "@types/video.js": "^7.3.58", "@typescript-eslint/eslint-plugin": "^8.63.0", "@typescript-eslint/parser": "^8.63.0", - "@vendure/ngx-translate-extract": "^10.1.3", - "angular-eslint": "^21.4.0", + "@vendure/ngx-translate-extract": "^10.2.0", + "angular-eslint": "^22.0.0", "eslint": "^9.39.4", "eslint-config-prettier": "^10.1.8", "eslint-plugin-prettier": "^5.5.6", "eslint-plugin-simple-import-sort": "^13.0.0", - "eslint-plugin-unused-imports": "^4.4.1", "fetch-mock": "^12.6.0", + "istanbul-lib-instrument": "^6.0.3", "jasmine-core": "^5.13.0", "js-yaml": "^5.2.1", - "karma": "~6.4.4", - "karma-chrome-launcher": "~3.2.0", - "karma-coverage": "~2.2.1", - "karma-jasmine": "~5.1.0", - "karma-jasmine-html-reporter": "~2.2.0", + "jsdom": "^29.1.1", "prettier": "^3.9.4", "ts-dedent": "^2.3.0", "ts-morph": "^28.0.0", "ts-node": "^10.9.2", "tsconfig-paths": "^4.2.0", - "typescript": "^5.9.3", - "typescript-eslint": "^8.63.0" + "typescript": "^6.0.3", + "typescript-eslint": "^8.63.0", + "vitest": "^4.0.8" }, "browser": { "fs": false diff --git a/client/src/app/gateways/action-worker-watch/action-worker-watch.service.spec.ts b/client/src/app/gateways/action-worker-watch/action-worker-watch.service.spec.ts index 94f11fa5500..1191a5870bb 100644 --- a/client/src/app/gateways/action-worker-watch/action-worker-watch.service.spec.ts +++ b/client/src/app/gateways/action-worker-watch/action-worker-watch.service.spec.ts @@ -33,7 +33,12 @@ function createHttpResponse( name: string, fqid: string, written: boolean, - httpMetaData?: { headers?: HttpHeaders; status?: number; statusText?: string; url?: string } + httpMetaData?: { + headers?: HttpHeaders; + status?: number; + statusText?: string; + url?: string; + } ) { const { headers, status, statusText, url } = httpMetaData ?? {}; return new HttpResponse({ @@ -112,9 +117,18 @@ function getUpdatedActionWorkerData( } class MockWaitForActionDialogService { - public closingPromptOpenFor: (Partial & { closed: number })[] = []; + public closingPromptOpenFor: (Partial & { + closed: number; + })[] = []; + public currentDialogs = new BehaviorSubject< - Record + Record< + number, + { + reason: WaitForActionReason; + data: WaitForActionData; + } + > >({}); public constructor() {} @@ -125,7 +139,11 @@ class MockWaitForActionDialogService { this.currentDialogs.next(currentDialogs); } - public async openClosingPrompt(snapshot: Partial & { closed: number }): Promise { + public async openClosingPrompt( + snapshot: Partial & { + closed: number; + } + ): Promise { this.closingPromptOpenFor.push(snapshot); } @@ -200,16 +218,25 @@ describe(`ActionWorkerWatchService`, () => { let repo: MockActionWorkerRepositoryService; let startData: ActionWorkerData; - const dialogTestCases: { test: string; gap: number; dialogExpectation: WaitForActionReason[] }[] = [ + const dialogTestCases: { + test: string; + gap: number; + dialogExpectation: WaitForActionReason[]; + }[] = [ { test: `is slow`, gap: 3000, dialogExpectation: [waitForActionReason.slow] }, { test: `is inactive`, gap: 21000, dialogExpectation: [waitForActionReason.inactive] } ]; - const durationTestCases: { test: string; gap: number; dialogExpectation: WaitForActionReason[] }[] = [ - { test: `takes long but isn't slow`, gap: 1000, dialogExpectation: undefined } - ].concat(dialogTestCases); + const durationTestCases: { + test: string; + gap: number; + dialogExpectation: WaitForActionReason[]; + }[] = [{ test: `takes long but isn't slow`, gap: 1000, dialogExpectation: undefined }].concat(dialogTestCases); - const unsubscribeFunctions: { funct: (service: ActionWorkerWatchService) => Promise; title: string }[] = [ + const unsubscribeFunctions: { + funct: (service: ActionWorkerWatchService) => Promise; + title: string; + }[] = [ { title: `unsubscribeFromWorker`, funct: async service => service.unsubscribeFromWorker(startData.id) }, { title: `unsubscribeFromWorkers`, funct: async service => service.unsubscribeFromWorkers([startData.id]) }, { title: `unsubscribeFromAllWorkers`, funct: async service => service.unsubscribeFromAllWorkers() } @@ -229,19 +256,19 @@ describe(`ActionWorkerWatchService`, () => { dialog = TestBed.inject(WaitForActionDialogService) as unknown as MockWaitForActionDialogService; modelRequest = TestBed.inject(ModelRequestService) as unknown as MockModelRequestService; repo = TestBed.inject(ActionWorkerRepositoryService) as unknown as MockActionWorkerRepositoryService; - jasmine.clock().install(); - jasmine.clock().mockDate(new Date()); + vi.useFakeTimers(); + vi.setSystemTime(new Date()); startData = getStartActionWorkerData(42); }); afterEach(() => { - jasmine.clock().uninstall(); + vi.useRealTimers(); }); it(`watch worker that wasn't written`, async () => { - await expectAsync( + await expect( service.watch(createHttpResponse(`model.action`, `action_worker/42`, false), true) - ).toBeRejectedWith( + ).rejects.toEqual( new HttpErrorResponse({ error: { success: false, @@ -254,9 +281,9 @@ describe(`ActionWorkerWatchService`, () => { }); it(`watch worker with broken fqid`, async () => { - await expectAsync( + await expect( service.watch(createHttpResponse(`model.action`, `action_worker/fourtytwo`, false), true) - ).toBeRejectedWithError(`Received invalid fqid for action worker: model.action`); + ).rejects.toThrowError(`Received invalid fqid for action worker: model.action`); }); it(`watch worker that resolves quickly`, async () => { @@ -269,7 +296,7 @@ describe(`ActionWorkerWatchService`, () => { expect((await subscriptionPromise)[ACTION_WORKER_SUBSCRIPTION]).not.toBeFalsy(); expect(service.currentWorkerIds).toEqual([startData.id]); repo.viewModelList = [createActionWorker(startData)]; - jasmine.clock().tick(1000); + vi.advanceTimersByTime(1000); const result = { success: true, status_code: 200, @@ -277,8 +304,8 @@ describe(`ActionWorkerWatchService`, () => { data: `I have a result` }; repo.viewModelList = [createActionWorker(getUpdatedActionWorkerData(startData, ActionWorkerState.end, result))]; - jasmine.clock().tick(1000); - await expectAsync(watchPromise).toBeResolvedTo( + vi.advanceTimersByTime(1000); + await expect(watchPromise).resolves.toEqual( new HttpResponse({ body: result, headers: originalResponse.headers, @@ -298,15 +325,15 @@ describe(`ActionWorkerWatchService`, () => { const watchPromise = service.watch(originalResponse, true); await subscriptionPromise; repo.viewModelList = [createActionWorker(startData)]; - jasmine.clock().tick(1000); + vi.advanceTimersByTime(1000); const result = { success: false, status_code: 500, message: `Actions handled unsuccessfully` }; repo.viewModelList = [createActionWorker(getUpdatedActionWorkerData(startData, ActionWorkerState.end, result))]; - jasmine.clock().tick(1000); - await expectAsync(watchPromise).toBeRejectedWith( + vi.advanceTimersByTime(1000); + await expect(watchPromise).rejects.toEqual( new HttpErrorResponse({ error: result, status: 500, @@ -325,7 +352,7 @@ describe(`ActionWorkerWatchService`, () => { const watchPromise = service.watch(originalResponse, true); await subscriptionPromise; repo.viewModelList = [createActionWorker(startData)]; - jasmine.clock().tick(1000); + vi.advanceTimersByTime(1000); const result = { success: false, status_code: 500, @@ -334,8 +361,8 @@ describe(`ActionWorkerWatchService`, () => { repo.viewModelList = [ createActionWorker(getUpdatedActionWorkerData(startData, ActionWorkerState.aborted, result)) ]; - jasmine.clock().tick(1000); - await expectAsync(watchPromise).toBeRejectedWith( + vi.advanceTimersByTime(1000); + await expect(watchPromise).rejects.toEqual( new HttpErrorResponse({ error: { success: false, @@ -358,9 +385,9 @@ describe(`ActionWorkerWatchService`, () => { expect(Object.keys(await subscriptionPromise).length).toBe(1); expect((await subscriptionPromise)[ACTION_WORKER_SUBSCRIPTION]).not.toBeFalsy(); expect(service.currentWorkerIds).toEqual([startData.id]); - jasmine.clock().tick(2500); + vi.advanceTimersByTime(2500); repo.viewModelList = [createActionWorker(startData)]; - jasmine.clock().tick(1000); + vi.advanceTimersByTime(1000); const result = { success: true, status_code: 200, @@ -368,8 +395,8 @@ describe(`ActionWorkerWatchService`, () => { data: `I have a result` }; repo.viewModelList = [createActionWorker(getUpdatedActionWorkerData(startData, ActionWorkerState.end, result))]; - jasmine.clock().tick(1000); - await expectAsync(watchPromise).toBeResolvedTo( + vi.advanceTimersByTime(1000); + await expect(watchPromise).resolves.toEqual( new HttpResponse({ body: result, headers: originalResponse.headers, @@ -390,7 +417,7 @@ describe(`ActionWorkerWatchService`, () => { const watchPromise = service.watch(originalResponse, true); expect((await subscriptionPromise)[ACTION_WORKER_SUBSCRIPTION]).not.toBeFalsy(); repo.viewModelList = [createActionWorker(startData)]; - jasmine.clock().tick(1000); + vi.advanceTimersByTime(1000); repo.viewModelList = [createActionWorker(getUpdatedActionWorkerData(startData, ActionWorkerState.running))]; const time = Date.now(); const dialogPromise = lastValueFrom( @@ -401,7 +428,7 @@ describe(`ActionWorkerWatchService`, () => { takeUntil(interval(500).pipe(filter(() => Date.now() - time >= test.gap + 1500))) ) ); - jasmine.clock().tick(test.gap); + vi.advanceTimersByTime(test.gap); const result = { success: true, status_code: 200, @@ -411,8 +438,8 @@ describe(`ActionWorkerWatchService`, () => { repo.viewModelList = [ createActionWorker(getUpdatedActionWorkerData(startData, ActionWorkerState.end, result)) ]; - jasmine.clock().tick(1500); - await expectAsync(watchPromise).toBeResolvedTo( + vi.advanceTimersByTime(1500); + await expect(watchPromise).resolves.toEqual( new HttpResponse({ body: result, headers: originalResponse.headers, @@ -421,7 +448,7 @@ describe(`ActionWorkerWatchService`, () => { statusText: result.message }) ); - await expectAsync(dialogPromise).toBeResolvedTo(test.dialogExpectation); + await expect(dialogPromise).resolves.toEqual(test.dialogExpectation); }); it(`watch worker that ${test.test} when wait dialog is disabled`, async () => { @@ -433,7 +460,7 @@ describe(`ActionWorkerWatchService`, () => { const watchPromise = service.watch(originalResponse, true); expect((await subscriptionPromise)[ACTION_WORKER_SUBSCRIPTION]).not.toBeFalsy(); repo.viewModelList = [createActionWorker(startData)]; - jasmine.clock().tick(1000); + vi.advanceTimersByTime(1000); repo.viewModelList = [createActionWorker(getUpdatedActionWorkerData(startData, ActionWorkerState.running))]; const time = Date.now(); const dialogPromise = lastValueFrom( @@ -444,7 +471,7 @@ describe(`ActionWorkerWatchService`, () => { takeUntil(interval(500).pipe(filter(() => Date.now() - time >= test.gap + 1500))) ) ); - jasmine.clock().tick(test.gap); + vi.advanceTimersByTime(test.gap); const result = { success: true, status_code: 200, @@ -454,8 +481,8 @@ describe(`ActionWorkerWatchService`, () => { repo.viewModelList = [ createActionWorker(getUpdatedActionWorkerData(startData, ActionWorkerState.end, result)) ]; - jasmine.clock().tick(1500); - await expectAsync(watchPromise).toBeResolvedTo( + vi.advanceTimersByTime(1500); + await expect(watchPromise).resolves.toEqual( new HttpResponse({ body: result, headers: originalResponse.headers, @@ -464,7 +491,7 @@ describe(`ActionWorkerWatchService`, () => { statusText: result.message }) ); - await expectAsync(dialogPromise).toBeResolvedTo(undefined); + await expect(dialogPromise).resolves.toEqual(undefined); service.enableWaitDialog(startData.name); }); @@ -479,7 +506,7 @@ describe(`ActionWorkerWatchService`, () => { const watchPromise = service.watch(originalResponse, true); expect((await subscriptionPromise)[ACTION_WORKER_SUBSCRIPTION]).not.toBeFalsy(); repo.viewModelList = [createActionWorker(startData)]; - jasmine.clock().tick(1000); + vi.advanceTimersByTime(1000); repo.viewModelList = [createActionWorker(getUpdatedActionWorkerData(startData, ActionWorkerState.running))]; const time = Date.now(); const dialogPromise = lastValueFrom( @@ -490,7 +517,7 @@ describe(`ActionWorkerWatchService`, () => { takeUntil(interval(500).pipe(filter(() => Date.now() - time >= test.gap + 1500))) ) ); - jasmine.clock().tick(test.gap); + vi.advanceTimersByTime(test.gap); const result = { success: true, status_code: 200, @@ -500,8 +527,8 @@ describe(`ActionWorkerWatchService`, () => { repo.viewModelList = [ createActionWorker(getUpdatedActionWorkerData(startData, ActionWorkerState.end, result)) ]; - jasmine.clock().tick(1500); - await expectAsync(watchPromise).toBeResolvedTo( + vi.advanceTimersByTime(1500); + await expect(watchPromise).resolves.toEqual( new HttpResponse({ body: result, headers: originalResponse.headers, @@ -510,7 +537,7 @@ describe(`ActionWorkerWatchService`, () => { statusText: result.message }) ); - await expectAsync(dialogPromise).toBeResolvedTo(test.dialogExpectation); + await expect(dialogPromise).resolves.toEqual(test.dialogExpectation); }); } @@ -525,15 +552,15 @@ describe(`ActionWorkerWatchService`, () => { const watchPromise = service.watch(originalResponse, true); expect((await subscriptionPromise)[ACTION_WORKER_SUBSCRIPTION]).not.toBeFalsy(); repo.viewModelList = [createActionWorker(startData)]; - jasmine.clock().tick(1000); + vi.advanceTimersByTime(1000); repo.viewModelList = [createActionWorker(getUpdatedActionWorkerData(startData, ActionWorkerState.running))]; - jasmine.clock().tick(test.gap); + vi.advanceTimersByTime(test.gap); expect(Object.values(dialog.currentDialogs.value).map(dialog => dialog.reason)).toEqual( test.dialogExpectation ); await unsubscribeFunction.funct(service); - jasmine.clock().tick(1500); - await expectAsync(watchPromise).toBeRejectedWithError( + vi.advanceTimersByTime(1500); + await expect(watchPromise).rejects.toThrowError( `Client has stopped watching worker "model.action": Stopped listening` ); }); @@ -547,10 +574,10 @@ describe(`ActionWorkerWatchService`, () => { const watchPromise = service.watch(originalResponse, true); expect((await subscriptionPromise)[ACTION_WORKER_SUBSCRIPTION]).not.toBeFalsy(); repo.viewModelList = [createActionWorker(startData)]; - jasmine.clock().tick(1000); + vi.advanceTimersByTime(1000); repo.viewModelList = [createActionWorker(getUpdatedActionWorkerData(startData, ActionWorkerState.running))]; - jasmine.clock().tick(60 * 1000 + 2000); - await expectAsync(watchPromise).toBeRejectedWithError( + vi.advanceTimersByTime(60 * 1000 + 2000); + await expect(watchPromise).rejects.toThrowError( `Client has stopped watching worker "model.action": Process has been assumed to be dead` ); expect(dialog.closingPromptOpenFor.map(worker => worker.id)).toEqual([startData.id]); @@ -565,9 +592,9 @@ describe(`ActionWorkerWatchService`, () => { service.watch(originalResponse, true); expect((await subscriptionPromise)[ACTION_WORKER_SUBSCRIPTION]).not.toBeFalsy(); repo.viewModelList = [createActionWorker(startData)]; - jasmine.clock().tick(1000); + vi.advanceTimersByTime(1000); repo.viewModelList = [createActionWorker(getUpdatedActionWorkerData(startData, ActionWorkerState.running))]; - jasmine.clock().tick(21000); + vi.advanceTimersByTime(21000); expect(Object.values(dialog.currentDialogs.value).map(dialog => dialog.reason)).toEqual([ waitForActionReason.inactive ]); @@ -575,12 +602,12 @@ describe(`ActionWorkerWatchService`, () => { service.setWaitingConfirmed(startData.id); for (let i = 0; i < 60 * 1000 * 4 + 2000; i = i + 30 * 1000) { repo.viewModelList = [createActionWorker(getUpdatedActionWorkerData(startData, ActionWorkerState.running))]; - jasmine.clock().tick(30 * 1000); + vi.advanceTimersByTime(30 * 1000); } expect(Object.values(dialog.currentDialogs.value).map(dialog => dialog.reason)).toEqual([]); for (let i = 0; i < 60 * 1000; i = i + 30 * 1000) { repo.viewModelList = [createActionWorker(getUpdatedActionWorkerData(startData, ActionWorkerState.running))]; - jasmine.clock().tick(30 * 1000); + vi.advanceTimersByTime(30 * 1000); } expect(Object.values(dialog.currentDialogs.value).map(dialog => dialog.reason)).toEqual([ waitForActionReason.inactive @@ -595,7 +622,7 @@ describe(`ActionWorkerWatchService`, () => { const watchPromise = service.watch(originalResponse, true); await subscriptionPromise; repo.viewModelList = [createActionWorker(startData)]; - jasmine.clock().tick(1000); + vi.advanceTimersByTime(1000); const result = { success: true, status_code: 200, @@ -603,11 +630,11 @@ describe(`ActionWorkerWatchService`, () => { data: `I have a result` }; repo.viewModelList = [createActionWorker(getUpdatedActionWorkerData(startData, ActionWorkerState.end, result))]; - jasmine.clock().tick(1000); + vi.advanceTimersByTime(1000); await watchPromise; expect(service.currentWorkerIds).toEqual([]); expect(modelRequest.currentSubscriptions.value).toEqual({}); - jasmine.clock().tick(11000); + vi.advanceTimersByTime(11000); // Second action worker ten seconds after closing should cause the previous to be deleted from the repo startData = getStartActionWorkerData(43); const subscriptionPromise2 = firstValueFrom( @@ -617,7 +644,7 @@ describe(`ActionWorkerWatchService`, () => { const watchPromise2 = service.watch(originalResponse2, true); await subscriptionPromise2; repo.viewModelList = [createActionWorker(startData)]; - jasmine.clock().tick(1000); + vi.advanceTimersByTime(1000); const result2 = { success: true, status_code: 200, @@ -627,7 +654,7 @@ describe(`ActionWorkerWatchService`, () => { repo.viewModelList = [ createActionWorker(getUpdatedActionWorkerData(startData, ActionWorkerState.end, result2)) ]; - jasmine.clock().tick(1000); + vi.advanceTimersByTime(1000); await watchPromise2; expect(service.currentWorkerIds).toEqual([]); expect(repo.getViewModelList().length).toBeLessThan(2); diff --git a/client/src/app/gateways/actions/action.service.spec.ts b/client/src/app/gateways/actions/action.service.spec.ts index 00351f2f1fe..845e5603fe5 100644 --- a/client/src/app/gateways/actions/action.service.spec.ts +++ b/client/src/app/gateways/actions/action.service.spec.ts @@ -10,7 +10,11 @@ const ACTION_URL = `/system/action/handle_request`; const ACTION_SEPARATELY_URL = `/system/action/handle_separately`; class MockHttpService { - public lastPosts: { path: string; data: any; queryParams: QueryParams }[] = []; + public lastPosts: { + path: string; + data: any; + queryParams: QueryParams; + }[] = []; public returnType: `response` | `error` | `nothing` | `too little` | `non-response` | `no results` = `response`; @@ -122,24 +126,24 @@ describe(`ActionService`, () => { }); it(`test sendRequests errors`, async () => { - await expectAsync(service.sendRequests([])).toBeRejectedWithError( + await expect(service.sendRequests([])).rejects.toThrowError( `The action service did not return responses for each request.` ); const actionPayload = [{ action: `majestically`, data: getActionData(6, 9) }]; http.returnType = `error`; - await expectAsync(service.sendRequests(actionPayload)).toBeRejectedWith(`Action majestically failed`); + await expect(service.sendRequests(actionPayload)).rejects.toEqual(`Action majestically failed`); http.returnType = `too little`; - await expectAsync(service.sendRequests(actionPayload)).toBeRejectedWithError( + await expect(service.sendRequests(actionPayload)).rejects.toThrowError( `The action service did not return responses for each request.` ); http.returnType = `non-response`; - await expectAsync(service.sendRequests(actionPayload)).toBeRejectedWithError( + await expect(service.sendRequests(actionPayload)).rejects.toThrowError( `Unknown return type from action service` ); http.returnType = `nothing`; - await expectAsync(service.sendRequests(actionPayload)).toBeResolvedTo(null); + await expect(service.sendRequests(actionPayload)).resolves.toEqual(null); http.returnType = `no results`; - await expectAsync(service.sendRequests(actionPayload)).toBeResolvedTo(null); + await expect(service.sendRequests(actionPayload)).resolves.toEqual(null); }); it(`test create`, async () => { diff --git a/client/src/app/gateways/error-mapping/error-map.service.spec.ts b/client/src/app/gateways/error-mapping/error-map.service.spec.ts index a9e49d0bcc3..59fec1b05e3 100644 --- a/client/src/app/gateways/error-mapping/error-map.service.spec.ts +++ b/client/src/app/gateways/error-mapping/error-map.service.spec.ts @@ -21,7 +21,13 @@ describe(`ErrorMapService`, () => { const testData: { title: string; - test: { message: string; options: { url: string; data?: any } }; + test: { + message: string; + options: { + url: string; + data?: any; + }; + }; expect: string | Error; testConditionCheck?: boolean; // Boolean value that determines wheter the error map constants still have a form that is conducive to this test }[] = [ @@ -157,7 +163,7 @@ describe(`ErrorMapService`, () => { service = TestBed.inject(ErrorMapService); - spyOn(console, `warn`); + vi.spyOn(console, `warn`).mockReturnValue(undefined); }); for (const date of testData) { @@ -184,7 +190,8 @@ describe(`ErrorMapService`, () => { expect(service.getCleanErrorMessage(`1, 2, 3, 4, 5, 6, 7, 8, 9`, { url: `test123456789` })).toBe( `Error: Number range begins with 1` ); - expect(console.warn).toHaveBeenCalledOnceWith( + expect(console.warn).toHaveBeenCalledTimes(1); + expect(console.warn).toHaveBeenCalledWith( `ErrorMapService has found multiple matches for "1, 2, 3, 4, 5, 6, 7, 8, 9"` ); diff --git a/client/src/app/gateways/export/progress-snack-bar/components/progress-snack-bar/progress-snack-bar.component.spec.ts b/client/src/app/gateways/export/progress-snack-bar/components/progress-snack-bar/progress-snack-bar.component.spec.ts index 722e439a280..4896235a4a5 100644 --- a/client/src/app/gateways/export/progress-snack-bar/components/progress-snack-bar/progress-snack-bar.component.spec.ts +++ b/client/src/app/gateways/export/progress-snack-bar/components/progress-snack-bar/progress-snack-bar.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ProgressSnackBarComponent } from './progress-snack-bar.component'; -xdescribe(`ProgressSnackBarComponent`, () => { +describe.skip(`ProgressSnackBarComponent`, () => { let component: ProgressSnackBarComponent; let fixture: ComponentFixture; diff --git a/client/src/app/gateways/http-stream/http-stream-endpoint.service.spec.ts b/client/src/app/gateways/http-stream/http-stream-endpoint.service.spec.ts index d81d6d515f9..141a6c6cdaf 100644 --- a/client/src/app/gateways/http-stream/http-stream-endpoint.service.spec.ts +++ b/client/src/app/gateways/http-stream/http-stream-endpoint.service.spec.ts @@ -89,7 +89,7 @@ describe(`HttpStreamEndpointService`, () => { ]) { it(`test isEndpointHealthy ${date.title}`, async () => { http.returnValue = date.returnValue; - await expectAsync(service.isEndpointHealthy(healthEndpointConfig)).toBeResolvedTo(date.expected); + await expect(service.isEndpointHealthy(healthEndpointConfig)).resolves.toEqual(date.expected); expect(http.lastRequests).toEqual(date.expectRequests); }); } diff --git a/client/src/app/gateways/meeting-media-adapter.service.spec.ts b/client/src/app/gateways/meeting-media-adapter.service.spec.ts index 63ffec3e14b..49167bcaa07 100644 --- a/client/src/app/gateways/meeting-media-adapter.service.spec.ts +++ b/client/src/app/gateways/meeting-media-adapter.service.spec.ts @@ -77,7 +77,7 @@ describe(`MeetingMediaAdapterService`, () => { for (const test of testCases) { it(`test ${test.functionName} function`, async () => { - await expectAsync(service[test.functionName](test.place, ...test.restPayload)).toBeResolved(); + await expect(service[test.functionName](test.place, ...test.restPayload)).resolves.not.toThrow(); expect(actionService.lastActions.length).toBe(1); expect(actionService.lastActions[0].requests).toEqual([ { action: test.expectedAction, data: [{ ...test.expectedData, place: test.place }] } diff --git a/client/src/app/gateways/presenter/presenter.service.spec.ts b/client/src/app/gateways/presenter/presenter.service.spec.ts index 5d9fa374f09..3aa7623ef45 100644 --- a/client/src/app/gateways/presenter/presenter.service.spec.ts +++ b/client/src/app/gateways/presenter/presenter.service.spec.ts @@ -17,12 +17,21 @@ class MockHttpService { } export class MockPresenterService { - public returnValueFns = new Map { error?: string; returnValue?: any }>(); + public returnValueFns = new Map< + Presenter, + (data?: any) => { + error?: string; + returnValue?: any; + } + >(); public constructor() {} public async call(presenter: Presenter, data?: D): Promise { - const fn: (data?: any) => { error?: string; returnValue?: any } = + const fn: (data?: any) => { + error?: string; + returnValue?: any; + } = this.returnValueFns.get(presenter) ?? (() => ({ error: `MockPresenterService: Called unexpected presenter` })); const returnValue = fn(data); @@ -68,7 +77,7 @@ describe(`PresenterService`, () => { const name = presenterNames[i % presenterNames.length]; const data = exampleData[i % exampleData.length]; it(`does nothing strange for "${name}" presenter with ${data.title}`, async () => { - await expectAsync(service.call(name, data.data)).toBeResolvedTo( + await expect(service.call(name, data.data)).resolves.toEqual( `/system/presenter/handle_request | [{"presenter":"${name}"${data.expected}}]` ); }); @@ -76,7 +85,7 @@ describe(`PresenterService`, () => { it(`handles wrong return value with error`, async () => { http.wrap = !http.wrap; - await expectAsync(service.call(Presenter.GET_USERS, { some: `data` })).toBeRejectedWithError( + await expect(service.call(Presenter.GET_USERS, { some: `data` })).rejects.toThrowError( `The presenter service has returned a wrong format` ); http.wrap = !http.wrap; diff --git a/client/src/app/gateways/repositories/repository-meeting-service-collector.service.spec.ts b/client/src/app/gateways/repositories/repository-meeting-service-collector.service.spec.ts index d6af6e7f959..57ef4a8c746 100644 --- a/client/src/app/gateways/repositories/repository-meeting-service-collector.service.spec.ts +++ b/client/src/app/gateways/repositories/repository-meeting-service-collector.service.spec.ts @@ -95,7 +95,7 @@ describe(`RepositoryMeetingServiceCollectorService and MeetingServiceCollectorSe ).toEqual([`A collection`, [`key1`, `key2`, `abc`], `B collection`, [`1`, `2`, `something`]]); const promise = firstValueFrom(service.getNewKeyUpdatesObservable(`A collection`).pipe(skip(1))); service.registerNewKeyUpdates(`A collection`, [`a`, `b`, `c`]); - await expectAsync(promise).toBeResolvedTo([`a`, `b`, `c`]); + await expect(promise).resolves.toEqual([`a`, `b`, `c`]); }); it(`test collectionToKeyUpdatesObservableMap for yet unknown collection`, async () => { @@ -107,6 +107,6 @@ describe(`RepositoryMeetingServiceCollectorService and MeetingServiceCollectorSe ]) ).toEqual([`C collection`, []]); service.registerNewKeyUpdates(`C collection`, [`a`, `b`, `c`]); - await expectAsync(promise).toBeResolvedTo([`a`, `b`, `c`]); + await expect(promise).resolves.toEqual([`a`, `b`, `c`]); }); }); diff --git a/client/src/app/gateways/server-time.service.spec.ts b/client/src/app/gateways/server-time.service.spec.ts index 30db61d3696..266e2078a3d 100644 --- a/client/src/app/gateways/server-time.service.spec.ts +++ b/client/src/app/gateways/server-time.service.spec.ts @@ -22,18 +22,18 @@ describe(`ServerTimeService`, () => { let service: ServerTimeService; beforeEach(() => { - jasmine.clock().install(); + vi.useFakeTimers(); TestBed.configureTestingModule({ providers: [ServerTimeService, { provide: LifecycleService, useClass: MockLifecycleService }] }); service = TestBed.inject(ServerTimeService); - spyOn(console, `error`); + vi.spyOn(console, `error`).mockReturnValue(undefined); fetchMock.mockGlobal(); }); afterEach(() => { - jasmine.clock().uninstall(); + vi.useRealTimers(); fetchMock.hardReset(); }); @@ -50,14 +50,14 @@ describe(`ServerTimeService`, () => { expect(servertime).toBeGreaterThanOrEqual(now - 1); }); - xit(`should update getServerOffsetObservable correctly`, async () => { + it.skip(`should update getServerOffsetObservable correctly`, async () => { fetchMock.get(`/assets/time.txt`, { headers: { Date: new Date(Math.floor(Date.now() / 1000) - 10).toUTCString() } }); - jasmine.clock().tick(1000); + vi.advanceTimersByTime(1000); const serverOffset = Math.floor( (await lastValueFrom(service.getServerOffsetObservable().pipe(skip(1), take(1)))) / 1000 ); @@ -65,7 +65,7 @@ describe(`ServerTimeService`, () => { expect(serverOffset).toBeGreaterThanOrEqual(9); }); - xit(`should retry`, async () => { + it.skip(`should retry`, async () => { fetchMock.get( `/assets/time.txt`, { @@ -78,14 +78,14 @@ describe(`ServerTimeService`, () => { } ); - jasmine.clock().tick(300); + vi.advanceTimersByTime(300); const updatedPromise = firstValueFrom(service.getServerOffsetObservable().pipe(skip(1), take(1))); fetchMock.modifyRoute(`time.txt`, { headers: { Date: new Date().toUTCString() } }); - await expectAsync(updatedPromise).toBeResolved(); + await expect(updatedPromise).resolves.not.toThrow(); expect(console.error).toHaveBeenCalled(); }); }); diff --git a/client/src/app/infrastructure/utils/functions.spec.ts b/client/src/app/infrastructure/utils/functions.spec.ts index 1847a4238d3..6814d1bcff4 100644 --- a/client/src/app/infrastructure/utils/functions.spec.ts +++ b/client/src/app/infrastructure/utils/functions.spec.ts @@ -35,12 +35,12 @@ describe(`utils: functions`, () => { describe(`toBase64 function`, () => { it(`test with a blob`, async () => { const blob = new Blob([`A blobbery blobby blob blob.`]); - await expectAsync(toBase64(blob)).toBeResolvedTo(`QSBibG9iYmVyeSBibG9iYnkgYmxvYiBibG9iLg==`); + await expect(toBase64(blob)).resolves.toEqual(`QSBibG9iYmVyeSBibG9iYnkgYmxvYiBibG9iLg==`); }); it(`test with a file`, async () => { const file = new File([`A filery fily file file.`], `Peter`); - await expectAsync(toBase64(file)).toBeResolvedTo(`QSBmaWxlcnkgZmlseSBmaWxlIGZpbGUu`); + await expect(toBase64(file)).resolves.toEqual(`QSBmaWxlcnkgZmlseSBmaWxlIGZpbGUu`); }); }); @@ -275,16 +275,16 @@ describe(`utils: functions`, () => { ]; beforeEach(() => { - jasmine.clock().install(); + vi.useFakeTimers(); }); afterEach(() => { - jasmine.clock().uninstall(); + vi.useRealTimers(); }); for (const date of data) { it(`test with ${date.test.toLocaleString()}`, () => { - jasmine.clock().mockDate(date.test); + vi.setSystemTime(date.test); expect(isEasterEggTime()).toBe(date.expect); }); } @@ -592,10 +592,15 @@ describe(`utils: functions`, () => { describe(`partitionModelsForUpdate function`, () => { type TestModel = Identifiable & Record; interface PartitionModelsForUpdateTestPayload { - test: { newValues: (T | Omit)[]; originals: T[] }; + test: { + newValues: (T | Omit)[]; + originals: T[]; + }; expect: ListUpdateData; } - const data: ({ title: string } & PartitionModelsForUpdateTestPayload)[] = [ + const data: ({ + title: string; + } & PartitionModelsForUpdateTestPayload)[] = [ { title: `models that should create`, test: { newValues: [{ a: 1, b: 2 }], originals: [] }, @@ -775,28 +780,28 @@ describe(`utils: functions`, () => { const l1 = [els[0], els[1]]; const l2 = [els[0], els[3]]; - expect(viewModelListEqual(l1, l2)).toBeFalse(); + expect(viewModelListEqual(l1, l2)).toBe(false); }); it(`detects change via change date switch`, () => { const l1 = [els[0], els[1]]; const l2 = [els[0], els[2]]; - expect(viewModelListEqual(l1, l2)).toBeFalse(); + expect(viewModelListEqual(l1, l2)).toBe(false); }); it(`detects change via size change`, () => { const l1 = [els[0], els[1]]; const l2 = [els[0]]; - expect(viewModelListEqual(l1, l2)).toBeFalse(); + expect(viewModelListEqual(l1, l2)).toBe(false); }); it(`detects equality`, () => { const l1 = [els[0], els[1], els[3]]; const l2 = [els[0], els[1], els[3]]; - expect(viewModelListEqual(l1, l2)).toBeTrue(); + expect(viewModelListEqual(l1, l2)).toBe(true); }); }); @@ -809,19 +814,19 @@ describe(`utils: functions`, () => { ]; it(`detects change via id switch`, () => { - expect(viewModelEqual(els[0], els[2])).toBeFalse(); + expect(viewModelEqual(els[0], els[2])).toBe(false); }); it(`detects change via change date switch`, () => { - expect(viewModelEqual(els[0], els[1])).toBeFalse(); + expect(viewModelEqual(els[0], els[1])).toBe(false); }); it(`detects change via empty`, () => { - expect(viewModelEqual(els[0], null)).toBeFalse(); + expect(viewModelEqual(els[0], null)).toBe(false); }); it(`detects equality`, () => { - expect(viewModelEqual(els[0], els[3])).toBeTrue(); + expect(viewModelEqual(els[0], els[3])).toBe(true); }); }); }); diff --git a/client/src/app/infrastructure/utils/promises/deferred.spec.ts b/client/src/app/infrastructure/utils/promises/deferred.spec.ts index 176df2c0246..9dd9be31143 100644 --- a/client/src/app/infrastructure/utils/promises/deferred.spec.ts +++ b/client/src/app/infrastructure/utils/promises/deferred.spec.ts @@ -5,7 +5,7 @@ describe(`utils: promise: deferred`, () => { const def = new Deferred(); expect(def.wasResolved).toBe(false); - await expectAsync(def).toBePending(); + await expect(def).resolves.not.toHaveResolved(); }); it(`gets resolved`, async () => { @@ -13,7 +13,7 @@ describe(`utils: promise: deferred`, () => { def.resolve(); expect(def.wasResolved).toBe(true); - await expectAsync(def).toBeResolved(); + await expect(def).resolves.not.toThrow(); }); it(`can be unresolved`, async () => { diff --git a/client/src/app/infrastructure/utils/promises/mutex.spec.ts b/client/src/app/infrastructure/utils/promises/mutex.spec.ts index 3104c0f2727..a2a738fdf3c 100644 --- a/client/src/app/infrastructure/utils/promises/mutex.spec.ts +++ b/client/src/app/infrastructure/utils/promises/mutex.spec.ts @@ -6,7 +6,8 @@ describe(`utils: promise: mutex`, () => { const firstLock = mutex.lock(); const secLock = mutex.lock(); - await expectAsync(firstLock).toBeResolved(); + await expect(firstLock).resolves.not.toThrow(); + // TODO: vitest-migration: Unsupported matcher ".toBePending()" found. Vitest does not have a direct equivalent. Please migrate this manually, for example by using `Promise.race` to check if the promise settles within a short timeout. await expectAsync(secLock).toBePending(); }); @@ -15,9 +16,9 @@ describe(`utils: promise: mutex`, () => { const firstLock = mutex.lock(); const secLock = mutex.lock(); - await expectAsync(firstLock).toBeResolved(); + await expect(firstLock).resolves.not.toThrow(); (await firstLock)(); - await expectAsync(secLock).toBeResolved(); + await expect(secLock).resolves.not.toThrow(); }); }); diff --git a/client/src/app/openslides-main-module/components/openslides-main/openslides-main.component.spec.ts b/client/src/app/openslides-main-module/components/openslides-main/openslides-main.component.spec.ts index b228070670c..d2f35173250 100644 --- a/client/src/app/openslides-main-module/components/openslides-main/openslides-main.component.spec.ts +++ b/client/src/app/openslides-main-module/components/openslides-main/openslides-main.component.spec.ts @@ -4,7 +4,7 @@ import { OpenSlidesMainModule } from '../../openslides-main.module'; import { OpenSlidesMainRoutingModule } from '../../openslides-main-routing.module'; import { OpenSlidesMainComponent } from './openslides-main.component'; -xdescribe(`OpenslidesMainComponent`, () => { +describe.skip(`OpenslidesMainComponent`, () => { let component: OpenSlidesMainComponent; let fixture: ComponentFixture; diff --git a/client/src/app/openslides-main-module/components/openslides-main/openslides-main.component.ts b/client/src/app/openslides-main-module/components/openslides-main/openslides-main.component.ts index b4b7b493164..7f40d39ab4a 100644 --- a/client/src/app/openslides-main-module/components/openslides-main/openslides-main.component.ts +++ b/client/src/app/openslides-main-module/components/openslides-main/openslides-main.component.ts @@ -1,4 +1,12 @@ -import { ApplicationRef, Component, DOCUMENT, inject, OnInit, ViewContainerRef } from '@angular/core'; +import { + ApplicationRef, + ChangeDetectionStrategy, + Component, + DOCUMENT, + inject, + OnInit, + ViewContainerRef +} from '@angular/core'; import { MatIconRegistry } from '@angular/material/icon'; import { DomSanitizer } from '@angular/platform-browser'; import { Router } from '@angular/router'; @@ -25,6 +33,7 @@ const CURRENT_LANGUAGE_STORAGE_KEY = `currentLanguage`; selector: `os-root`, templateUrl: `./openslides-main.component.html`, styleUrls: [`./openslides-main.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class OpenSlidesMainComponent implements OnInit { diff --git a/client/src/app/openslides-main-module/components/openslides-overlay-container/openslides-overlay-container.component.spec.ts b/client/src/app/openslides-main-module/components/openslides-overlay-container/openslides-overlay-container.component.spec.ts index fadfaf618bd..2c87a243741 100644 --- a/client/src/app/openslides-main-module/components/openslides-overlay-container/openslides-overlay-container.component.spec.ts +++ b/client/src/app/openslides-main-module/components/openslides-overlay-container/openslides-overlay-container.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { OpenSlidesOverlayContainerComponent } from './openslides-overlay-container.component'; -xdescribe(`OpenslidesOverlayContainerComponent`, () => { +describe.skip(`OpenslidesOverlayContainerComponent`, () => { let component: OpenSlidesOverlayContainerComponent; let fixture: ComponentFixture; diff --git a/client/src/app/openslides-main-module/components/openslides-overlay-container/openslides-overlay-container.component.ts b/client/src/app/openslides-main-module/components/openslides-overlay-container/openslides-overlay-container.component.ts index 7c4ca696136..458ff6fdd5d 100644 --- a/client/src/app/openslides-main-module/components/openslides-overlay-container/openslides-overlay-container.component.ts +++ b/client/src/app/openslides-main-module/components/openslides-overlay-container/openslides-overlay-container.component.ts @@ -1,4 +1,4 @@ -import { Component, ViewContainerRef } from '@angular/core'; +import { ChangeDetectionStrategy, Component, ViewContainerRef } from '@angular/core'; import { DomService } from 'src/app/openslides-main-module/services/dom.service'; import { SpinnerService } from 'src/app/site/modules/global-spinner'; @@ -6,6 +6,7 @@ import { SpinnerService } from 'src/app/site/modules/global-spinner'; selector: `os-openslides-overlay-container`, templateUrl: `./openslides-overlay-container.component.html`, styleUrls: [`./openslides-overlay-container.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class OpenSlidesOverlayContainerComponent { diff --git a/client/src/app/openslides-main-module/openslides-main.module.ts b/client/src/app/openslides-main-module/openslides-main.module.ts index d8c7a1d5be1..cd23f1aa42d 100644 --- a/client/src/app/openslides-main-module/openslides-main.module.ts +++ b/client/src/app/openslides-main-module/openslides-main.module.ts @@ -1,4 +1,4 @@ -import { HttpClient, provideHttpClient, withInterceptorsFromDi } from '@angular/common/http'; +import { HttpClient, provideHttpClient, withInterceptorsFromDi, withXhr } from '@angular/common/http'; import { inject, NgModule, provideAppInitializer } from '@angular/core'; import { MatSnackBarModule } from '@angular/material/snack-bar'; import { BrowserModule } from '@angular/platform-browser'; @@ -58,7 +58,7 @@ if (isFirefox && `serviceWorker` in navigator) { return initializerFn(); }), httpInterceptorProviders, - provideHttpClient(withInterceptorsFromDi()), + provideHttpClient(withXhr(), withInterceptorsFromDi()), provideTranslateService({ fallbackLang: `en`, loader: { diff --git a/client/src/app/site/modules/chip-select/components/chip-select-chip/chip-select-chip.component.spec.ts b/client/src/app/site/modules/chip-select/components/chip-select-chip/chip-select-chip.component.spec.ts index 600aa5102fb..aa97f6d8db9 100644 --- a/client/src/app/site/modules/chip-select/components/chip-select-chip/chip-select-chip.component.spec.ts +++ b/client/src/app/site/modules/chip-select/components/chip-select-chip/chip-select-chip.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ChipSelectChipComponent } from './chip-select-chip.component'; -xdescribe(`ChipSelectChipComponent`, () => { +describe.skip(`ChipSelectChipComponent`, () => { let component: ChipSelectChipComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/modules/chip-select/components/chip-select-chip/chip-select-chip.component.ts b/client/src/app/site/modules/chip-select/components/chip-select-chip/chip-select-chip.component.ts index ba62b2e8671..29d5585b766 100644 --- a/client/src/app/site/modules/chip-select/components/chip-select-chip/chip-select-chip.component.ts +++ b/client/src/app/site/modules/chip-select/components/chip-select-chip/chip-select-chip.component.ts @@ -1,9 +1,10 @@ -import { Component, TemplateRef, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, Component, TemplateRef, ViewChild } from '@angular/core'; @Component({ selector: `os-chip-select-chip`, templateUrl: `./chip-select-chip.component.html`, styleUrls: [`./chip-select-chip.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class ChipSelectChipComponent { diff --git a/client/src/app/site/modules/chip-select/components/chip-select/chip-select.component.spec.ts b/client/src/app/site/modules/chip-select/components/chip-select/chip-select.component.spec.ts index 7a47e78f096..fbc10ec9053 100644 --- a/client/src/app/site/modules/chip-select/components/chip-select/chip-select.component.spec.ts +++ b/client/src/app/site/modules/chip-select/components/chip-select/chip-select.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ChipSelectComponent } from './chip-select.component'; -xdescribe(`ChipSelectComponent`, () => { +describe.skip(`ChipSelectComponent`, () => { let component: ChipSelectComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/modules/chip-select/components/chip-select/chip-select.component.ts b/client/src/app/site/modules/chip-select/components/chip-select/chip-select.component.ts index f42ae133556..3e337a24c29 100644 --- a/client/src/app/site/modules/chip-select/components/chip-select/chip-select.component.ts +++ b/client/src/app/site/modules/chip-select/components/chip-select/chip-select.component.ts @@ -1,4 +1,4 @@ -import { AfterContentInit, Component, ContentChildren, input, QueryList } from '@angular/core'; +import { AfterContentInit, ChangeDetectionStrategy, Component, ContentChildren, input, QueryList } from '@angular/core'; import { ChipSelectChipComponent } from '../chip-select-chip/chip-select-chip.component'; @@ -6,6 +6,7 @@ import { ChipSelectChipComponent } from '../chip-select-chip/chip-select-chip.co selector: `os-chip-select`, templateUrl: `./chip-select.component.html`, styleUrls: [`./chip-select.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class ChipSelectComponent implements AfterContentInit { diff --git a/client/src/app/site/modules/global-headbar/components/account-button/account-button.component.spec.ts b/client/src/app/site/modules/global-headbar/components/account-button/account-button.component.spec.ts index b16722ee2a0..aff90da062e 100644 --- a/client/src/app/site/modules/global-headbar/components/account-button/account-button.component.spec.ts +++ b/client/src/app/site/modules/global-headbar/components/account-button/account-button.component.spec.ts @@ -3,7 +3,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { GlobalHeadbarModule } from '../../global-headbar.module'; import { AccountButtonComponent } from './account-button.component'; -xdescribe(`AccountButtonComponent`, () => { +describe.skip(`AccountButtonComponent`, () => { let component: AccountButtonComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/modules/global-headbar/components/account-button/account-button.component.ts b/client/src/app/site/modules/global-headbar/components/account-button/account-button.component.ts index 1019681824b..11a8321068e 100644 --- a/client/src/app/site/modules/global-headbar/components/account-button/account-button.component.ts +++ b/client/src/app/site/modules/global-headbar/components/account-button/account-button.component.ts @@ -1,4 +1,4 @@ -import { Component, inject, OnInit, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, Component, inject, OnInit, ViewChild } from '@angular/core'; import { MatDialog, MatDialogConfig } from '@angular/material/dialog'; import { MatMenuTrigger } from '@angular/material/menu'; import { Router } from '@angular/router'; @@ -26,6 +26,7 @@ import { AccountDialogMainComponent } from '../account-dialog-main/account-dialo selector: `os-account-button`, templateUrl: `./account-button.component.html`, styleUrls: [`./account-button.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class AccountButtonComponent extends BaseUiComponent implements OnInit { diff --git a/client/src/app/site/modules/global-headbar/components/account-dialog-main/account-dialog-main.component.ts b/client/src/app/site/modules/global-headbar/components/account-dialog-main/account-dialog-main.component.ts index 8fa91c661ae..9dae7d390cb 100644 --- a/client/src/app/site/modules/global-headbar/components/account-dialog-main/account-dialog-main.component.ts +++ b/client/src/app/site/modules/global-headbar/components/account-dialog-main/account-dialog-main.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { BaseModelRequestHandlerComponent } from 'src/app/site/base/base-model-request-handler.component'; import { getDashboardMeetingListSubscriptionConfig } from 'src/app/site/pages/organization/pages/dashboard/dashboard.subscription'; @@ -6,6 +6,7 @@ import { getDashboardMeetingListSubscriptionConfig } from 'src/app/site/pages/or selector: `os-account-dialog-main`, templateUrl: `./account-dialog-main.component.html`, styleUrls: [`./account-dialog-main.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class AccountDialogMainComponent extends BaseModelRequestHandlerComponent { diff --git a/client/src/app/site/modules/global-headbar/components/account-dialog/account-dialog.component.spec.ts b/client/src/app/site/modules/global-headbar/components/account-dialog/account-dialog.component.spec.ts index 62c9340eada..9b1ddb2a040 100644 --- a/client/src/app/site/modules/global-headbar/components/account-dialog/account-dialog.component.spec.ts +++ b/client/src/app/site/modules/global-headbar/components/account-dialog/account-dialog.component.spec.ts @@ -4,7 +4,7 @@ import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { GlobalHeadbarModule } from '../../global-headbar.module'; import { AccountDialogComponent } from './account-dialog.component'; -xdescribe(`AccountDialogComponent`, () => { +describe.skip(`AccountDialogComponent`, () => { let component: AccountDialogComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/modules/global-headbar/components/account-dialog/account-dialog.component.ts b/client/src/app/site/modules/global-headbar/components/account-dialog/account-dialog.component.ts index bb9dc92fd1e..0ebfbfbba5d 100644 --- a/client/src/app/site/modules/global-headbar/components/account-dialog/account-dialog.component.ts +++ b/client/src/app/site/modules/global-headbar/components/account-dialog/account-dialog.component.ts @@ -1,4 +1,4 @@ -import { Component, inject, OnInit, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, Component, inject, OnInit, ViewChild } from '@angular/core'; import { MatDialogRef } from '@angular/material/dialog'; import { MatSnackBar } from '@angular/material/snack-bar'; import { TranslateService } from '@ngx-translate/core'; @@ -28,6 +28,7 @@ enum MenuItems { selector: `os-account-dialog`, templateUrl: `./account-dialog.component.html`, styleUrls: [`./account-dialog.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class AccountDialogComponent extends BaseUiComponent implements OnInit { diff --git a/client/src/app/site/modules/global-headbar/components/global-headbar/global-headbar.component.spec.ts b/client/src/app/site/modules/global-headbar/components/global-headbar/global-headbar.component.spec.ts index 2fcdbadeb57..187b5a77d08 100644 --- a/client/src/app/site/modules/global-headbar/components/global-headbar/global-headbar.component.spec.ts +++ b/client/src/app/site/modules/global-headbar/components/global-headbar/global-headbar.component.spec.ts @@ -3,7 +3,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { GlobalHeadbarModule } from '../../global-headbar.module'; import { GlobalHeadbarComponent } from './global-headbar.component'; -xdescribe(`GlobalHeadbarComponent`, () => { +describe.skip(`GlobalHeadbarComponent`, () => { let component: GlobalHeadbarComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/modules/global-headbar/components/global-headbar/global-headbar.component.ts b/client/src/app/site/modules/global-headbar/components/global-headbar/global-headbar.component.ts index 58622964f3e..55879701cbe 100644 --- a/client/src/app/site/modules/global-headbar/components/global-headbar/global-headbar.component.ts +++ b/client/src/app/site/modules/global-headbar/components/global-headbar/global-headbar.component.ts @@ -1,4 +1,4 @@ -import { Component, inject } from '@angular/core'; +import { ChangeDetectionStrategy, Component, inject } from '@angular/core'; import { MatDialog } from '@angular/material/dialog'; import { ActiveMeetingService } from 'src/app/site/pages/meetings/services/active-meeting.service'; import { OrganizationService } from 'src/app/site/pages/organization/services/organization.service'; @@ -11,6 +11,7 @@ import { GlobalSearchComponent } from '../global-search/global-search.component' selector: `os-global-headbar`, templateUrl: `./global-headbar.component.html`, styleUrls: [`./global-headbar.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class GlobalHeadbarComponent { diff --git a/client/src/app/site/modules/global-headbar/components/global-search/global-search.component.html b/client/src/app/site/modules/global-headbar/components/global-search/global-search.component.html index d8d18f5ef2e..c91e746b469 100644 --- a/client/src/app/site/modules/global-headbar/components/global-search/global-search.component.html +++ b/client/src/app/site/modules/global-headbar/components/global-search/global-search.component.html @@ -100,7 +100,9 @@

@if (result.title) {

@if (result.obj?.number) { - + }

diff --git a/client/src/app/site/modules/global-headbar/components/global-search/global-search.component.spec.ts b/client/src/app/site/modules/global-headbar/components/global-search/global-search.component.spec.ts index 6930b6628b7..f2488115e64 100644 --- a/client/src/app/site/modules/global-headbar/components/global-search/global-search.component.spec.ts +++ b/client/src/app/site/modules/global-headbar/components/global-search/global-search.component.spec.ts @@ -3,7 +3,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { GlobalHeadbarModule } from '../../global-headbar.module'; import { GlobalSearchComponent } from './global-search.component'; -xdescribe(`GlobalSearchComponent`, () => { +describe.skip(`GlobalSearchComponent`, () => { let component: GlobalSearchComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/modules/global-spinner/components/global-spinner/global-spinner.component.spec.ts b/client/src/app/site/modules/global-spinner/components/global-spinner/global-spinner.component.spec.ts index 9e2be3c7af7..a56ff9f24a4 100644 --- a/client/src/app/site/modules/global-spinner/components/global-spinner/global-spinner.component.spec.ts +++ b/client/src/app/site/modules/global-spinner/components/global-spinner/global-spinner.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { GlobalSpinnerComponent } from './global-spinner.component'; -xdescribe(`GlobalSpinnerComponent`, () => { +describe.skip(`GlobalSpinnerComponent`, () => { let component: GlobalSpinnerComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/modules/global-spinner/components/global-spinner/global-spinner.component.ts b/client/src/app/site/modules/global-spinner/components/global-spinner/global-spinner.component.ts index 45ff00fba79..6dd164f4395 100644 --- a/client/src/app/site/modules/global-spinner/components/global-spinner/global-spinner.component.ts +++ b/client/src/app/site/modules/global-spinner/components/global-spinner/global-spinner.component.ts @@ -1,4 +1,4 @@ -import { Component, Input } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { ConnectionStatusService } from 'src/app/site/services/connection-status.service'; import { LifecycleService } from 'src/app/site/services/lifecycle.service'; @@ -10,6 +10,7 @@ import { UpdateService } from '../../../site-wrapper/services/update.service'; selector: `os-global-spinner`, templateUrl: `./global-spinner.component.html`, styleUrls: [`./global-spinner.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class GlobalSpinnerComponent extends SpinnerComponent { diff --git a/client/src/app/site/modules/info/components/info-actions/info-actions.component.spec.ts b/client/src/app/site/modules/info/components/info-actions/info-actions.component.spec.ts index 1861eb9f934..78a4287efab 100644 --- a/client/src/app/site/modules/info/components/info-actions/info-actions.component.spec.ts +++ b/client/src/app/site/modules/info/components/info-actions/info-actions.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { InfoActionsComponent } from './info-actions.component'; -xdescribe(`InfoActionsComponent`, () => { +describe.skip(`InfoActionsComponent`, () => { let component: InfoActionsComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/modules/info/components/info-actions/info-actions.component.ts b/client/src/app/site/modules/info/components/info-actions/info-actions.component.ts index 2ef1bf0fe9e..93d04e79a6a 100644 --- a/client/src/app/site/modules/info/components/info-actions/info-actions.component.ts +++ b/client/src/app/site/modules/info/components/info-actions/info-actions.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { BaseComponent } from 'src/app/site/base/base.component'; import { LifecycleService } from 'src/app/site/services/lifecycle.service'; @@ -6,6 +6,7 @@ import { LifecycleService } from 'src/app/site/services/lifecycle.service'; selector: `os-info-actions`, templateUrl: `./info-actions.component.html`, styleUrls: [`./info-actions.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class InfoActionsComponent extends BaseComponent { diff --git a/client/src/app/site/modules/info/components/legal-notice-content/legal-notice-content.component.spec.ts b/client/src/app/site/modules/info/components/legal-notice-content/legal-notice-content.component.spec.ts index 0073ba999ff..e096f841e38 100644 --- a/client/src/app/site/modules/info/components/legal-notice-content/legal-notice-content.component.spec.ts +++ b/client/src/app/site/modules/info/components/legal-notice-content/legal-notice-content.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { LegalNoticeContentComponent } from './legal-notice-content.component'; -xdescribe(`LegalNoticeContentComponent`, () => { +describe.skip(`LegalNoticeContentComponent`, () => { let component: LegalNoticeContentComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/modules/info/components/legal-notice-content/legal-notice-content.component.ts b/client/src/app/site/modules/info/components/legal-notice-content/legal-notice-content.component.ts index 7f62af6026f..80bef7fd85b 100644 --- a/client/src/app/site/modules/info/components/legal-notice-content/legal-notice-content.component.ts +++ b/client/src/app/site/modules/info/components/legal-notice-content/legal-notice-content.component.ts @@ -1,5 +1,5 @@ import { HttpClient } from '@angular/common/http'; -import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; +import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms'; import { TranslateService } from '@ngx-translate/core'; import { Observable } from 'rxjs'; @@ -11,6 +11,7 @@ import { BaseUiComponent } from 'src/app/ui/base/base-ui-component'; selector: `os-legal-notice-content`, templateUrl: `./legal-notice-content.component.html`, styleUrls: [`./legal-notice-content.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class LegalNoticeContentComponent extends BaseUiComponent implements OnInit { diff --git a/client/src/app/site/modules/info/components/privacy-policy-content/privacy-policy-content.component.spec.ts b/client/src/app/site/modules/info/components/privacy-policy-content/privacy-policy-content.component.spec.ts index 654af6ce88a..af30464fa3f 100644 --- a/client/src/app/site/modules/info/components/privacy-policy-content/privacy-policy-content.component.spec.ts +++ b/client/src/app/site/modules/info/components/privacy-policy-content/privacy-policy-content.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { PrivacyPolicyContentComponent } from './privacy-policy-content.component'; -xdescribe(`PrivacyPolicyContentComponent`, () => { +describe.skip(`PrivacyPolicyContentComponent`, () => { let component: PrivacyPolicyContentComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/modules/info/components/privacy-policy-content/privacy-policy-content.component.ts b/client/src/app/site/modules/info/components/privacy-policy-content/privacy-policy-content.component.ts index 62a30ea216d..037fbab01ea 100644 --- a/client/src/app/site/modules/info/components/privacy-policy-content/privacy-policy-content.component.ts +++ b/client/src/app/site/modules/info/components/privacy-policy-content/privacy-policy-content.component.ts @@ -1,4 +1,4 @@ -import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; +import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms'; import { TranslateService } from '@ngx-translate/core'; import { OML } from 'src/app/domain/definitions/organization-permission'; @@ -9,6 +9,7 @@ import { BaseUiComponent } from 'src/app/ui/base/base-ui-component'; selector: `os-privacy-policy-content`, templateUrl: `./privacy-policy-content.component.html`, styleUrls: [`./privacy-policy-content.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class PrivacyPolicyContentComponent extends BaseUiComponent implements OnInit { diff --git a/client/src/app/site/modules/site-wrapper/components/banner/banner.component.spec.ts b/client/src/app/site/modules/site-wrapper/components/banner/banner.component.spec.ts index 2ff4fc8287e..a97046b38be 100644 --- a/client/src/app/site/modules/site-wrapper/components/banner/banner.component.spec.ts +++ b/client/src/app/site/modules/site-wrapper/components/banner/banner.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { BannerComponent } from './banner.component'; -xdescribe(`BannerComponent`, () => { +describe.skip(`BannerComponent`, () => { let component: BannerComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/modules/site-wrapper/components/banner/banner.component.ts b/client/src/app/site/modules/site-wrapper/components/banner/banner.component.ts index 62cfa93e24d..1ae83b714c9 100644 --- a/client/src/app/site/modules/site-wrapper/components/banner/banner.component.ts +++ b/client/src/app/site/modules/site-wrapper/components/banner/banner.component.ts @@ -1,5 +1,5 @@ import { ComponentPortal } from '@angular/cdk/portal'; -import { Component, OnDestroy } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnDestroy } from '@angular/core'; import { Observable } from 'rxjs'; import { Constructable } from 'src/app/domain/interfaces/constructable'; @@ -9,6 +9,7 @@ import { BannerDefinition, BannerService } from '../../services/banner.service'; selector: `os-banner`, templateUrl: `./banner.component.html`, styleUrls: [`./banner.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class BannerComponent implements OnDestroy { diff --git a/client/src/app/site/modules/site-wrapper/components/site-wrapper/site-wrapper.component.spec.ts b/client/src/app/site/modules/site-wrapper/components/site-wrapper/site-wrapper.component.spec.ts index 5a2295ce935..8319957eabd 100644 --- a/client/src/app/site/modules/site-wrapper/components/site-wrapper/site-wrapper.component.spec.ts +++ b/client/src/app/site/modules/site-wrapper/components/site-wrapper/site-wrapper.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { SiteWrapperComponent } from './site-wrapper.component'; -xdescribe(`SiteWrapperComponent`, () => { +describe.skip(`SiteWrapperComponent`, () => { let component: SiteWrapperComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/modules/site-wrapper/components/site-wrapper/site-wrapper.component.ts b/client/src/app/site/modules/site-wrapper/components/site-wrapper/site-wrapper.component.ts index 120c2363845..44a9015cdd8 100644 --- a/client/src/app/site/modules/site-wrapper/components/site-wrapper/site-wrapper.component.ts +++ b/client/src/app/site/modules/site-wrapper/components/site-wrapper/site-wrapper.component.ts @@ -1,4 +1,12 @@ -import { Component, EmbeddedViewRef, OnDestroy, OnInit, TemplateRef, ViewChild } from '@angular/core'; +import { + ChangeDetectionStrategy, + Component, + EmbeddedViewRef, + OnDestroy, + OnInit, + TemplateRef, + ViewChild +} from '@angular/core'; import { MatSnackBar, MatSnackBarRef } from '@angular/material/snack-bar'; import { ActivationEnd, Router } from '@angular/router'; import { SubscriptionMap } from 'src/app/infrastructure/utils/subscription-map'; @@ -19,6 +27,7 @@ interface RoutingData { selector: `os-site-wrapper`, templateUrl: `./site-wrapper.component.html`, styleUrls: [`./site-wrapper.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class SiteWrapperComponent implements OnInit, OnDestroy { diff --git a/client/src/app/site/modules/user-components/components/password-form/password-form.component.spec.ts b/client/src/app/site/modules/user-components/components/password-form/password-form.component.spec.ts index 00cad661953..b36bee92a9a 100644 --- a/client/src/app/site/modules/user-components/components/password-form/password-form.component.spec.ts +++ b/client/src/app/site/modules/user-components/components/password-form/password-form.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { PasswordFormComponent } from './password-form.component'; -xdescribe(`PasswordFormComponent`, () => { +describe.skip(`PasswordFormComponent`, () => { let component: PasswordFormComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/modules/user-components/components/password-form/password-form.component.ts b/client/src/app/site/modules/user-components/components/password-form/password-form.component.ts index 968bc1907ba..cfef99a0fc0 100644 --- a/client/src/app/site/modules/user-components/components/password-form/password-form.component.ts +++ b/client/src/app/site/modules/user-components/components/password-form/password-form.component.ts @@ -1,4 +1,4 @@ -import { Component, EventEmitter, OnInit, Output } from '@angular/core'; +import { ChangeDetectionStrategy, Component, EventEmitter, OnInit, Output } from '@angular/core'; import { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms'; import { _ } from '@ngx-translate/core'; import { BaseComponent } from 'src/app/site/base/base.component'; @@ -25,6 +25,7 @@ const PointlessPasswordFeedback = _(`New and old passwords are identical!`); selector: `os-password-form`, templateUrl: `./password-form.component.html`, styleUrls: [`./password-form.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class PasswordFormComponent extends BaseComponent implements OnInit { diff --git a/client/src/app/site/modules/user-components/components/user-delete-dialog/user-delete-dialog.component.spec.ts b/client/src/app/site/modules/user-components/components/user-delete-dialog/user-delete-dialog.component.spec.ts index ded3f419911..0a950da33f1 100644 --- a/client/src/app/site/modules/user-components/components/user-delete-dialog/user-delete-dialog.component.spec.ts +++ b/client/src/app/site/modules/user-components/components/user-delete-dialog/user-delete-dialog.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { UserDeleteDialogComponent } from './user-delete-dialog.component'; -xdescribe(`UserDeleteDialogComponent`, () => { +describe.skip(`UserDeleteDialogComponent`, () => { let component: UserDeleteDialogComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/modules/user-components/components/user-delete-dialog/user-delete-dialog.component.ts b/client/src/app/site/modules/user-components/components/user-delete-dialog/user-delete-dialog.component.ts index ac034008d7e..a6d1e5be52b 100644 --- a/client/src/app/site/modules/user-components/components/user-delete-dialog/user-delete-dialog.component.ts +++ b/client/src/app/site/modules/user-components/components/user-delete-dialog/user-delete-dialog.component.ts @@ -1,4 +1,4 @@ -import { Component, Inject, OnInit, ViewEncapsulation } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Inject, OnInit, ViewEncapsulation } from '@angular/core'; import { MAT_DIALOG_DATA } from '@angular/material/dialog'; import { CML } from 'src/app/domain/definitions/organization-permission'; import { @@ -18,6 +18,7 @@ interface UserDeleteDialogConfig { templateUrl: `./user-delete-dialog.component.html`, styleUrls: [`./user-delete-dialog.component.scss`], encapsulation: ViewEncapsulation.None, + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class UserDeleteDialogComponent implements OnInit { diff --git a/client/src/app/site/modules/user-components/components/user-detail-view/user-detail-view.component.html b/client/src/app/site/modules/user-components/components/user-detail-view/user-detail-view.component.html index 2fa6fdfea26..91d951780ad 100644 --- a/client/src/app/site/modules/user-components/components/user-detail-view/user-detail-view.component.html +++ b/client/src/app/site/modules/user-components/components/user-detail-view/user-detail-view.component.html @@ -240,7 +240,7 @@

{{ 'Name' | translate }}

@if (user.gender) {

{{ 'Gender' | translate }}

- {{ user.gender?.name | translate }} + {{ $safeNavigationMigration(user.gender?.name) | translate }}
} diff --git a/client/src/app/site/modules/user-components/components/user-detail-view/user-detail-view.component.spec.ts b/client/src/app/site/modules/user-components/components/user-detail-view/user-detail-view.component.spec.ts index 9ea1a0a7424..7cd9b4a27de 100644 --- a/client/src/app/site/modules/user-components/components/user-detail-view/user-detail-view.component.spec.ts +++ b/client/src/app/site/modules/user-components/components/user-detail-view/user-detail-view.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { UserDetailViewComponent } from './user-detail-view.component'; -xdescribe(`UserDetailViewComponent`, () => { +describe.skip(`UserDetailViewComponent`, () => { let component: UserDetailViewComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/modules/user-components/components/user-detail-view/user-detail-view.component.ts b/client/src/app/site/modules/user-components/components/user-detail-view/user-detail-view.component.ts index d75352465b8..7a1f106390f 100644 --- a/client/src/app/site/modules/user-components/components/user-detail-view/user-detail-view.component.ts +++ b/client/src/app/site/modules/user-components/components/user-detail-view/user-detail-view.component.ts @@ -1,5 +1,6 @@ import { AfterViewInit, + ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, @@ -34,6 +35,7 @@ import { OneOfValidator } from '../../validators'; selector: `os-user-detail-view`, templateUrl: `./user-detail-view.component.html`, styleUrls: [`./user-detail-view.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class UserDetailViewComponent extends BaseUiComponent implements OnInit, AfterViewInit { diff --git a/client/src/app/site/modules/user-components/components/user-multiselect-actions/user-multiselect-actions.component.spec.ts b/client/src/app/site/modules/user-components/components/user-multiselect-actions/user-multiselect-actions.component.spec.ts index ef04d188290..9559c781c03 100644 --- a/client/src/app/site/modules/user-components/components/user-multiselect-actions/user-multiselect-actions.component.spec.ts +++ b/client/src/app/site/modules/user-components/components/user-multiselect-actions/user-multiselect-actions.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { UserMultiselectActionsComponent } from './user-multiselect-actions.component'; -xdescribe(`UserMultiselectActionsComponent`, () => { +describe.skip(`UserMultiselectActionsComponent`, () => { let component: UserMultiselectActionsComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/modules/user-components/components/user-password-form/user-password-form.component.spec.ts b/client/src/app/site/modules/user-components/components/user-password-form/user-password-form.component.spec.ts index 47ed39a8cdb..1bfb58633ef 100644 --- a/client/src/app/site/modules/user-components/components/user-password-form/user-password-form.component.spec.ts +++ b/client/src/app/site/modules/user-components/components/user-password-form/user-password-form.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { UserPasswordFormComponent } from './user-password-form.component'; -xdescribe(`UserPasswordFormComponent`, () => { +describe.skip(`UserPasswordFormComponent`, () => { let component: UserPasswordFormComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/modules/user-components/components/user-password-form/user-password-form.component.ts b/client/src/app/site/modules/user-components/components/user-password-form/user-password-form.component.ts index f1af76dc68c..bd6a17ed384 100644 --- a/client/src/app/site/modules/user-components/components/user-password-form/user-password-form.component.ts +++ b/client/src/app/site/modules/user-components/components/user-password-form/user-password-form.component.ts @@ -1,4 +1,4 @@ -import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core'; +import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core'; import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; import { Subscription } from 'rxjs'; @@ -10,6 +10,7 @@ import { PasswordForm } from '../../definitions'; selector: `os-user-password-form`, templateUrl: `./user-password-form.component.html`, styleUrls: [`./user-password-form.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class UserPasswordFormComponent implements OnInit, OnDestroy { diff --git a/client/src/app/site/modules/wait-for-action-dialog/components/stopped-waiting-for-action-dialog/stopped-waiting-for-action-dialog.component.spec.ts b/client/src/app/site/modules/wait-for-action-dialog/components/stopped-waiting-for-action-dialog/stopped-waiting-for-action-dialog.component.spec.ts index b97c89225a5..17f5ead4866 100644 --- a/client/src/app/site/modules/wait-for-action-dialog/components/stopped-waiting-for-action-dialog/stopped-waiting-for-action-dialog.component.spec.ts +++ b/client/src/app/site/modules/wait-for-action-dialog/components/stopped-waiting-for-action-dialog/stopped-waiting-for-action-dialog.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { StoppedWaitingForActionDialogComponent } from './stopped-waiting-for-action-dialog.component'; -xdescribe(`StoppedWaitingForActionDialogComponent`, () => { +describe.skip(`StoppedWaitingForActionDialogComponent`, () => { let component: StoppedWaitingForActionDialogComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/modules/wait-for-action-dialog/components/stopped-waiting-for-action-dialog/stopped-waiting-for-action-dialog.component.ts b/client/src/app/site/modules/wait-for-action-dialog/components/stopped-waiting-for-action-dialog/stopped-waiting-for-action-dialog.component.ts index d9aa17f3645..8929222efb8 100644 --- a/client/src/app/site/modules/wait-for-action-dialog/components/stopped-waiting-for-action-dialog/stopped-waiting-for-action-dialog.component.ts +++ b/client/src/app/site/modules/wait-for-action-dialog/components/stopped-waiting-for-action-dialog/stopped-waiting-for-action-dialog.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { BaseUiComponent } from 'src/app/ui/base/base-ui-component'; import { WaitForActionDialogService } from '../../services/wait-for-action-dialog.service'; @@ -7,6 +7,7 @@ import { WaitForActionDialogService } from '../../services/wait-for-action-dialo selector: `os-stopped-waiting-for-action-dialog`, templateUrl: `./stopped-waiting-for-action-dialog.component.html`, styleUrls: [`./stopped-waiting-for-action-dialog.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class StoppedWaitingForActionDialogComponent extends BaseUiComponent { diff --git a/client/src/app/site/modules/wait-for-action-dialog/components/wait-for-action-banner/wait-for-action-banner.component.spec.ts b/client/src/app/site/modules/wait-for-action-dialog/components/wait-for-action-banner/wait-for-action-banner.component.spec.ts index de683232c34..3bda8678554 100644 --- a/client/src/app/site/modules/wait-for-action-dialog/components/wait-for-action-banner/wait-for-action-banner.component.spec.ts +++ b/client/src/app/site/modules/wait-for-action-dialog/components/wait-for-action-banner/wait-for-action-banner.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { WaitForActionBannerComponent } from './wait-for-action-banner.component'; -xdescribe(`WaitForActionBannerComponent`, () => { +describe.skip(`WaitForActionBannerComponent`, () => { let component: WaitForActionBannerComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/error/components/error-main/error-main.component.spec.ts b/client/src/app/site/pages/error/components/error-main/error-main.component.spec.ts index 2ea00047d3d..f48cff904cf 100644 --- a/client/src/app/site/pages/error/components/error-main/error-main.component.spec.ts +++ b/client/src/app/site/pages/error/components/error-main/error-main.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ErrorMainComponent } from './error-main.component'; -xdescribe(`ErrorMainComponent`, () => { +describe.skip(`ErrorMainComponent`, () => { let component: ErrorMainComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/error/components/error-main/error-main.component.ts b/client/src/app/site/pages/error/components/error-main/error-main.component.ts index e96726ae9b1..b9227aba999 100644 --- a/client/src/app/site/pages/error/components/error-main/error-main.component.ts +++ b/client/src/app/site/pages/error/components/error-main/error-main.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; import { ActivatedRoute, Router } from '@angular/router'; import { AuthService } from 'src/app/site/services/auth.service'; import { FallbackRoutesService } from 'src/app/site/services/fallback-routes.service'; @@ -8,6 +8,7 @@ import { OperatorService } from 'src/app/site/services/operator.service'; selector: `os-error-main`, templateUrl: `./error-main.component.html`, styleUrls: [`./error-main.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class ErrorMainComponent implements OnInit { diff --git a/client/src/app/site/pages/login/modules/login-wrapper/components/login-wrapper/login-wrapper.component.spec.ts b/client/src/app/site/pages/login/modules/login-wrapper/components/login-wrapper/login-wrapper.component.spec.ts index c6d5c3a8073..96814d5e7e0 100644 --- a/client/src/app/site/pages/login/modules/login-wrapper/components/login-wrapper/login-wrapper.component.spec.ts +++ b/client/src/app/site/pages/login/modules/login-wrapper/components/login-wrapper/login-wrapper.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { LoginWrapperComponent } from './login-wrapper.component'; -xdescribe(`LoginWrapperComponent`, () => { +describe.skip(`LoginWrapperComponent`, () => { let component: LoginWrapperComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/login/modules/login-wrapper/components/login-wrapper/login-wrapper.component.ts b/client/src/app/site/pages/login/modules/login-wrapper/components/login-wrapper/login-wrapper.component.ts index db136f567ea..a12dea7b3a7 100644 --- a/client/src/app/site/pages/login/modules/login-wrapper/components/login-wrapper/login-wrapper.component.ts +++ b/client/src/app/site/pages/login/modules/login-wrapper/components/login-wrapper/login-wrapper.component.ts @@ -1,10 +1,11 @@ -import { Component, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; import { BaseComponent } from 'src/app/site/base/base.component'; @Component({ selector: `os-login-wrapper`, templateUrl: `./login-wrapper.component.html`, styleUrls: [`./login-wrapper.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class LoginWrapperComponent extends BaseComponent implements OnInit { diff --git a/client/src/app/site/pages/login/pages/legal-notice/components/legal-notice/legal-notice.component.spec.ts b/client/src/app/site/pages/login/pages/legal-notice/components/legal-notice/legal-notice.component.spec.ts index 13c5de925f2..bb02646698c 100644 --- a/client/src/app/site/pages/login/pages/legal-notice/components/legal-notice/legal-notice.component.spec.ts +++ b/client/src/app/site/pages/login/pages/legal-notice/components/legal-notice/legal-notice.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { LegalNoticeComponent } from './legal-notice.component'; -xdescribe(`LegalNoticeComponent`, () => { +describe.skip(`LegalNoticeComponent`, () => { let component: LegalNoticeComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/login/pages/legal-notice/components/legal-notice/legal-notice.component.ts b/client/src/app/site/pages/login/pages/legal-notice/components/legal-notice/legal-notice.component.ts index 7885038e7b1..bd9c1598d3a 100644 --- a/client/src/app/site/pages/login/pages/legal-notice/components/legal-notice/legal-notice.component.ts +++ b/client/src/app/site/pages/login/pages/legal-notice/components/legal-notice/legal-notice.component.ts @@ -1,9 +1,10 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; @Component({ selector: `os-legal-notice`, templateUrl: `./legal-notice.component.html`, styleUrls: [`./legal-notice.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class LegalNoticeComponent {} diff --git a/client/src/app/site/pages/login/pages/login-mask/components/login-mask/login-mask.component.spec.ts b/client/src/app/site/pages/login/pages/login-mask/components/login-mask/login-mask.component.spec.ts index b37e0b2e3ca..d46bc82a53f 100644 --- a/client/src/app/site/pages/login/pages/login-mask/components/login-mask/login-mask.component.spec.ts +++ b/client/src/app/site/pages/login/pages/login-mask/components/login-mask/login-mask.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { LoginMaskComponent } from './login-mask.component'; -xdescribe(`LoginMaskComponent`, () => { +describe.skip(`LoginMaskComponent`, () => { let component: LoginMaskComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/login/pages/login-mask/components/login-mask/login-mask.component.ts b/client/src/app/site/pages/login/pages/login-mask/components/login-mask/login-mask.component.ts index 9ab1c70a963..9cc226c02b1 100644 --- a/client/src/app/site/pages/login/pages/login-mask/components/login-mask/login-mask.component.ts +++ b/client/src/app/site/pages/login/pages/login-mask/components/login-mask/login-mask.component.ts @@ -1,4 +1,4 @@ -import { Component, OnDestroy, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnDestroy, OnInit } from '@angular/core'; import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; import { ActivatedRoute } from '@angular/router'; import { _ } from '@ngx-translate/core'; @@ -35,6 +35,7 @@ interface LoginValues { templateUrl: `./login-mask.component.html`, styleUrls: [`./login-mask.component.scss`], animations: [fadeInAnim], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class LoginMaskComponent extends BaseMeetingComponent implements OnInit, OnDestroy { diff --git a/client/src/app/site/pages/login/pages/privacy-policy/components/privacy-policy/privacy-policy.component.spec.ts b/client/src/app/site/pages/login/pages/privacy-policy/components/privacy-policy/privacy-policy.component.spec.ts index 8be35732881..9cf4eae5af8 100644 --- a/client/src/app/site/pages/login/pages/privacy-policy/components/privacy-policy/privacy-policy.component.spec.ts +++ b/client/src/app/site/pages/login/pages/privacy-policy/components/privacy-policy/privacy-policy.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { PrivacyPolicyComponent } from './privacy-policy.component'; -xdescribe(`PrivacyPolicyComponent`, () => { +describe.skip(`PrivacyPolicyComponent`, () => { let component: PrivacyPolicyComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/login/pages/privacy-policy/components/privacy-policy/privacy-policy.component.ts b/client/src/app/site/pages/login/pages/privacy-policy/components/privacy-policy/privacy-policy.component.ts index 8a07cdba703..6461b764ba8 100644 --- a/client/src/app/site/pages/login/pages/privacy-policy/components/privacy-policy/privacy-policy.component.ts +++ b/client/src/app/site/pages/login/pages/privacy-policy/components/privacy-policy/privacy-policy.component.ts @@ -1,9 +1,10 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; @Component({ selector: `os-privacy-policy`, templateUrl: `./privacy-policy.component.html`, styleUrls: [`./privacy-policy.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class PrivacyPolicyComponent {} diff --git a/client/src/app/site/pages/login/pages/reset-password-confirm/components/reset-password-confirm/reset-password-confirm.component.spec.ts b/client/src/app/site/pages/login/pages/reset-password-confirm/components/reset-password-confirm/reset-password-confirm.component.spec.ts index 040f2b04815..1e4c53248f3 100644 --- a/client/src/app/site/pages/login/pages/reset-password-confirm/components/reset-password-confirm/reset-password-confirm.component.spec.ts +++ b/client/src/app/site/pages/login/pages/reset-password-confirm/components/reset-password-confirm/reset-password-confirm.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ResetPasswordConfirmComponent } from './reset-password-confirm.component'; -xdescribe(`ResetPasswordConfirmComponent`, () => { +describe.skip(`ResetPasswordConfirmComponent`, () => { let component: ResetPasswordConfirmComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/login/pages/reset-password-confirm/components/reset-password-confirm/reset-password-confirm.component.ts b/client/src/app/site/pages/login/pages/reset-password-confirm/components/reset-password-confirm/reset-password-confirm.component.ts index 6d0f96be5d8..69bbe44e425 100644 --- a/client/src/app/site/pages/login/pages/reset-password-confirm/components/reset-password-confirm/reset-password-confirm.component.ts +++ b/client/src/app/site/pages/login/pages/reset-password-confirm/components/reset-password-confirm/reset-password-confirm.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; import { ActivatedRoute } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; @@ -10,6 +10,7 @@ import { UserControllerService } from 'src/app/site/services/user-controller.ser selector: `os-reset-password-confirm`, templateUrl: `./reset-password-confirm.component.html`, styleUrls: [`./reset-password-confirm.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class ResetPasswordConfirmComponent extends BaseComponent implements OnInit { diff --git a/client/src/app/site/pages/login/pages/reset-password/components/reset-password/reset-password.component.spec.ts b/client/src/app/site/pages/login/pages/reset-password/components/reset-password/reset-password.component.spec.ts index 0d8324f0638..d428e641ec4 100644 --- a/client/src/app/site/pages/login/pages/reset-password/components/reset-password/reset-password.component.spec.ts +++ b/client/src/app/site/pages/login/pages/reset-password/components/reset-password/reset-password.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ResetPasswordComponent } from './reset-password.component'; -xdescribe(`ResetPasswordComponent`, () => { +describe.skip(`ResetPasswordComponent`, () => { let component: ResetPasswordComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/login/pages/reset-password/components/reset-password/reset-password.component.ts b/client/src/app/site/pages/login/pages/reset-password/components/reset-password/reset-password.component.ts index c4807db64dd..57cc297d19e 100644 --- a/client/src/app/site/pages/login/pages/reset-password/components/reset-password/reset-password.component.ts +++ b/client/src/app/site/pages/login/pages/reset-password/components/reset-password/reset-password.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; import { TranslateService } from '@ngx-translate/core'; import { createEmailValidator } from 'src/app/infrastructure/utils/validators/email'; @@ -9,6 +9,7 @@ import { UserControllerService } from 'src/app/site/services/user-controller.ser selector: `os-reset-password`, templateUrl: `./reset-password.component.html`, styleUrls: [`./reset-password.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class ResetPasswordComponent extends BaseComponent implements OnInit { diff --git a/client/src/app/site/pages/login/pages/unsupported-browser/components/unsupported-browser/unsupported-browser.component.spec.ts b/client/src/app/site/pages/login/pages/unsupported-browser/components/unsupported-browser/unsupported-browser.component.spec.ts index 331ab4b27d1..9653646ed0b 100644 --- a/client/src/app/site/pages/login/pages/unsupported-browser/components/unsupported-browser/unsupported-browser.component.spec.ts +++ b/client/src/app/site/pages/login/pages/unsupported-browser/components/unsupported-browser/unsupported-browser.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { UnsupportedBrowserComponent } from './unsupported-browser.component'; -xdescribe(`UnsupportedBrowserComponent`, () => { +describe.skip(`UnsupportedBrowserComponent`, () => { let component: UnsupportedBrowserComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/login/pages/unsupported-browser/components/unsupported-browser/unsupported-browser.component.ts b/client/src/app/site/pages/login/pages/unsupported-browser/components/unsupported-browser/unsupported-browser.component.ts index b634391536c..38b343461c2 100644 --- a/client/src/app/site/pages/login/pages/unsupported-browser/components/unsupported-browser/unsupported-browser.component.ts +++ b/client/src/app/site/pages/login/pages/unsupported-browser/components/unsupported-browser/unsupported-browser.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; import { BrowserRecommendation, BrowserSupportService } from '../../../../services/browser-support.service'; @@ -6,6 +6,7 @@ import { BrowserRecommendation, BrowserSupportService } from '../../../../servic selector: `os-unsupported-browser`, templateUrl: `./unsupported-browser.component.html`, styleUrls: [`./unsupported-browser.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class UnsupportedBrowserComponent implements OnInit { diff --git a/client/src/app/site/pages/meetings/modules/list-of-speakers-content/components/list-of-speakers-content/list-of-speakers-content.component.spec.ts b/client/src/app/site/pages/meetings/modules/list-of-speakers-content/components/list-of-speakers-content/list-of-speakers-content.component.spec.ts index bfda118c514..a3019f4402c 100644 --- a/client/src/app/site/pages/meetings/modules/list-of-speakers-content/components/list-of-speakers-content/list-of-speakers-content.component.spec.ts +++ b/client/src/app/site/pages/meetings/modules/list-of-speakers-content/components/list-of-speakers-content/list-of-speakers-content.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ListOfSpeakersContentComponent } from './list-of-speakers-content.component'; -xdescribe(`ListOfSpeakersContentComponent`, () => { +describe.skip(`ListOfSpeakersContentComponent`, () => { let component: ListOfSpeakersContentComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/modules/list-of-speakers-content/components/list-of-speakers-entry/list-of-speakers-entry.component.spec.ts b/client/src/app/site/pages/meetings/modules/list-of-speakers-content/components/list-of-speakers-entry/list-of-speakers-entry.component.spec.ts index 213daffb5b5..6624c089390 100644 --- a/client/src/app/site/pages/meetings/modules/list-of-speakers-content/components/list-of-speakers-entry/list-of-speakers-entry.component.spec.ts +++ b/client/src/app/site/pages/meetings/modules/list-of-speakers-content/components/list-of-speakers-entry/list-of-speakers-entry.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ListOfSpeakersEntryComponent } from './list-of-speakers-entry.component'; -xdescribe(`ListOfSpeakersContentComponent`, () => { +describe.skip(`ListOfSpeakersContentComponent`, () => { let component: ListOfSpeakersEntryComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/modules/list-of-speakers-content/components/moderation-note/moderation-note.component.spec.ts b/client/src/app/site/pages/meetings/modules/list-of-speakers-content/components/moderation-note/moderation-note.component.spec.ts index 33085b8cf15..6b67fb97266 100644 --- a/client/src/app/site/pages/meetings/modules/list-of-speakers-content/components/moderation-note/moderation-note.component.spec.ts +++ b/client/src/app/site/pages/meetings/modules/list-of-speakers-content/components/moderation-note/moderation-note.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ModerationNoteComponent } from './moderation-note.component'; -xdescribe(`ModerationNoteComponent`, () => { +describe.skip(`ModerationNoteComponent`, () => { let component: ModerationNoteComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/modules/list-of-speakers-content/directives/list-of-speakers-content-title.directive.spec.ts b/client/src/app/site/pages/meetings/modules/list-of-speakers-content/directives/list-of-speakers-content-title.directive.spec.ts index 2a66fe66582..c30d93e82a1 100644 --- a/client/src/app/site/pages/meetings/modules/list-of-speakers-content/directives/list-of-speakers-content-title.directive.spec.ts +++ b/client/src/app/site/pages/meetings/modules/list-of-speakers-content/directives/list-of-speakers-content-title.directive.spec.ts @@ -1,6 +1,6 @@ import { ListOfSpeakersContentTitleDirective } from './list-of-speakers-content-title.directive'; -xdescribe(`ListOfSpeakersContentTitleDirective`, () => { +describe.skip(`ListOfSpeakersContentTitleDirective`, () => { it(`should create an instance`, () => { const directive = new ListOfSpeakersContentTitleDirective(); expect(directive).toBeTruthy(); diff --git a/client/src/app/site/pages/meetings/modules/list-of-speakers-content/modules/point-of-order-dialog/components/point-of-order-dialog/point-of-order-dialog.component.spec.ts b/client/src/app/site/pages/meetings/modules/list-of-speakers-content/modules/point-of-order-dialog/components/point-of-order-dialog/point-of-order-dialog.component.spec.ts index f22c1423ed5..4ab527c4c93 100644 --- a/client/src/app/site/pages/meetings/modules/list-of-speakers-content/modules/point-of-order-dialog/components/point-of-order-dialog/point-of-order-dialog.component.spec.ts +++ b/client/src/app/site/pages/meetings/modules/list-of-speakers-content/modules/point-of-order-dialog/components/point-of-order-dialog/point-of-order-dialog.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { PointOfOrderDialogComponent } from './point-of-order-dialog.component'; -xdescribe(`PointOfOrderDialogComponent`, () => { +describe.skip(`PointOfOrderDialogComponent`, () => { let component: PointOfOrderDialogComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/modules/list-of-speakers-content/modules/point-of-order-dialog/components/point-of-order-dialog/point-of-order-dialog.component.ts b/client/src/app/site/pages/meetings/modules/list-of-speakers-content/modules/point-of-order-dialog/components/point-of-order-dialog/point-of-order-dialog.component.ts index 277d4604516..058cd2e23dd 100644 --- a/client/src/app/site/pages/meetings/modules/list-of-speakers-content/modules/point-of-order-dialog/components/point-of-order-dialog/point-of-order-dialog.component.ts +++ b/client/src/app/site/pages/meetings/modules/list-of-speakers-content/modules/point-of-order-dialog/components/point-of-order-dialog/point-of-order-dialog.component.ts @@ -1,4 +1,4 @@ -import { Component, Inject } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Inject } from '@angular/core'; import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { BehaviorSubject, combineLatest, map } from 'rxjs'; @@ -12,6 +12,7 @@ import { PointOfOrderData } from '../../services/point-of-order-dialog.service'; selector: `os-point-of-order-dialog`, templateUrl: `./point-of-order-dialog.component.html`, styleUrls: [`./point-of-order-dialog.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class PointOfOrderDialogComponent { diff --git a/client/src/app/site/pages/meetings/modules/list-of-speakers-content/modules/speaker-user-select-dialog/components/speaker-user-select-dialog/speaker-user-select-dialog.component.spec.ts b/client/src/app/site/pages/meetings/modules/list-of-speakers-content/modules/speaker-user-select-dialog/components/speaker-user-select-dialog/speaker-user-select-dialog.component.spec.ts index fab7fef53e1..1a5c3e0d686 100644 --- a/client/src/app/site/pages/meetings/modules/list-of-speakers-content/modules/speaker-user-select-dialog/components/speaker-user-select-dialog/speaker-user-select-dialog.component.spec.ts +++ b/client/src/app/site/pages/meetings/modules/list-of-speakers-content/modules/speaker-user-select-dialog/components/speaker-user-select-dialog/speaker-user-select-dialog.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { SpeakerUserSelectDialogComponent } from './speaker-user-select-dialog.component'; -xdescribe(`SpeakerUserSelectDialogComponent`, () => { +describe.skip(`SpeakerUserSelectDialogComponent`, () => { let component: SpeakerUserSelectDialogComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/modules/list-of-speakers-content/modules/speaker-user-select-dialog/components/speaker-user-select-dialog/speaker-user-select-dialog.component.ts b/client/src/app/site/pages/meetings/modules/list-of-speakers-content/modules/speaker-user-select-dialog/components/speaker-user-select-dialog/speaker-user-select-dialog.component.ts index 6b233d3653d..1a3ce0b4af6 100644 --- a/client/src/app/site/pages/meetings/modules/list-of-speakers-content/modules/speaker-user-select-dialog/components/speaker-user-select-dialog/speaker-user-select-dialog.component.ts +++ b/client/src/app/site/pages/meetings/modules/list-of-speakers-content/modules/speaker-user-select-dialog/components/speaker-user-select-dialog/speaker-user-select-dialog.component.ts @@ -1,4 +1,4 @@ -import { Component, Inject } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Inject } from '@angular/core'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { Id } from 'src/app/domain/definitions/key-types'; import { SpeechState } from 'src/app/domain/models/speakers/speech-state'; @@ -17,6 +17,7 @@ interface SpeakerUserSelectDialogComponentData { selector: `os-speaker-user-select-dialog`, templateUrl: `./speaker-user-select-dialog.component.html`, styleUrls: [`./speaker-user-select-dialog.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class SpeakerUserSelectDialogComponent { diff --git a/client/src/app/site/pages/meetings/modules/meetings-component-collector/agenda-content-object-form/components/agenda-content-object-form/agenda-content-object-form.component.spec.ts b/client/src/app/site/pages/meetings/modules/meetings-component-collector/agenda-content-object-form/components/agenda-content-object-form/agenda-content-object-form.component.spec.ts index 4129800edc3..c4ff7696e53 100644 --- a/client/src/app/site/pages/meetings/modules/meetings-component-collector/agenda-content-object-form/components/agenda-content-object-form/agenda-content-object-form.component.spec.ts +++ b/client/src/app/site/pages/meetings/modules/meetings-component-collector/agenda-content-object-form/components/agenda-content-object-form/agenda-content-object-form.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { AgendaContentObjectFormComponent } from './agenda-content-object-form.component'; -xdescribe(`AgendaContentObjectFormComponent`, () => { +describe.skip(`AgendaContentObjectFormComponent`, () => { let component: AgendaContentObjectFormComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/modules/meetings-component-collector/agenda-content-object-form/components/agenda-content-object-form/agenda-content-object-form.component.ts b/client/src/app/site/pages/meetings/modules/meetings-component-collector/agenda-content-object-form/components/agenda-content-object-form/agenda-content-object-form.component.ts index baace53397b..373347316c8 100644 --- a/client/src/app/site/pages/meetings/modules/meetings-component-collector/agenda-content-object-form/components/agenda-content-object-form/agenda-content-object-form.component.ts +++ b/client/src/app/site/pages/meetings/modules/meetings-component-collector/agenda-content-object-form/components/agenda-content-object-form/agenda-content-object-form.component.ts @@ -1,4 +1,4 @@ -import { AfterViewInit, Component, Input, OnDestroy } from '@angular/core'; +import { AfterViewInit, ChangeDetectionStrategy, Component, Input, OnDestroy } from '@angular/core'; import { AbstractControl, UntypedFormGroup } from '@angular/forms'; import { BehaviorSubject, map, Observable, Subscription } from 'rxjs'; import { Permission } from 'src/app/domain/definitions/permission'; @@ -15,6 +15,7 @@ import { AgendaContentObjectFormService } from '../../services/agenda-content-ob selector: `os-agenda-content-object-form`, templateUrl: `./agenda-content-object-form.component.html`, styleUrls: [`./agenda-content-object-form.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class AgendaContentObjectFormComponent diff --git a/client/src/app/site/pages/meetings/modules/meetings-component-collector/attachment-control/components/attachment-control/attachment-control.component.spec.ts b/client/src/app/site/pages/meetings/modules/meetings-component-collector/attachment-control/components/attachment-control/attachment-control.component.spec.ts index c2090d2b1c2..b8dbc8e04e2 100644 --- a/client/src/app/site/pages/meetings/modules/meetings-component-collector/attachment-control/components/attachment-control/attachment-control.component.spec.ts +++ b/client/src/app/site/pages/meetings/modules/meetings-component-collector/attachment-control/components/attachment-control/attachment-control.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { AttachmentControlComponent } from './attachment-control.component'; -xdescribe(`AttachmentControlComponent`, () => { +describe.skip(`AttachmentControlComponent`, () => { let component: AttachmentControlComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/modules/meetings-component-collector/detail-view/components/detail-view-navigator/detail-view-navigator.component.spec.ts b/client/src/app/site/pages/meetings/modules/meetings-component-collector/detail-view/components/detail-view-navigator/detail-view-navigator.component.spec.ts index 5717c962272..2c79a8ecc00 100644 --- a/client/src/app/site/pages/meetings/modules/meetings-component-collector/detail-view/components/detail-view-navigator/detail-view-navigator.component.spec.ts +++ b/client/src/app/site/pages/meetings/modules/meetings-component-collector/detail-view/components/detail-view-navigator/detail-view-navigator.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { DetailViewNavigatorComponent } from './detail-view-navigator.component'; -xdescribe(`DetailViewNavigatorComponent`, () => { +describe.skip(`DetailViewNavigatorComponent`, () => { let component: DetailViewNavigatorComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/modules/meetings-component-collector/detail-view/components/detail-view-navigator/detail-view-navigator.component.ts b/client/src/app/site/pages/meetings/modules/meetings-component-collector/detail-view/components/detail-view-navigator/detail-view-navigator.component.ts index add201e9789..e7ad4525ed7 100644 --- a/client/src/app/site/pages/meetings/modules/meetings-component-collector/detail-view/components/detail-view-navigator/detail-view-navigator.component.ts +++ b/client/src/app/site/pages/meetings/modules/meetings-component-collector/detail-view/components/detail-view-navigator/detail-view-navigator.component.ts @@ -1,4 +1,4 @@ -import { Component, Input } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; import { Identifiable } from 'src/app/domain/interfaces'; import { DetailNavigable, isDetailNavigable } from 'src/app/domain/interfaces/detail-navigable'; @@ -6,6 +6,7 @@ import { DetailNavigable, isDetailNavigable } from 'src/app/domain/interfaces/de selector: `os-detail-view-navigator`, templateUrl: `./detail-view-navigator.component.html`, styleUrls: [`./detail-view-navigator.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class DetailViewNavigatorComponent { diff --git a/client/src/app/site/pages/meetings/modules/meetings-component-collector/detail-view/components/detail-view-not-found/detail-view-not-found.component.spec.ts b/client/src/app/site/pages/meetings/modules/meetings-component-collector/detail-view/components/detail-view-not-found/detail-view-not-found.component.spec.ts index a6c2838bf76..978937c71b0 100644 --- a/client/src/app/site/pages/meetings/modules/meetings-component-collector/detail-view/components/detail-view-not-found/detail-view-not-found.component.spec.ts +++ b/client/src/app/site/pages/meetings/modules/meetings-component-collector/detail-view/components/detail-view-not-found/detail-view-not-found.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { DetailViewNotFoundComponent } from './detail-view-not-found.component'; -xdescribe(`DetailViewNotFoundComponent`, () => { +describe.skip(`DetailViewNotFoundComponent`, () => { let component: DetailViewNotFoundComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/modules/meetings-component-collector/detail-view/components/detail-view-not-found/detail-view-not-found.component.ts b/client/src/app/site/pages/meetings/modules/meetings-component-collector/detail-view/components/detail-view-not-found/detail-view-not-found.component.ts index db764040c4a..90341c2242b 100644 --- a/client/src/app/site/pages/meetings/modules/meetings-component-collector/detail-view/components/detail-view-not-found/detail-view-not-found.component.ts +++ b/client/src/app/site/pages/meetings/modules/meetings-component-collector/detail-view/components/detail-view-not-found/detail-view-not-found.component.ts @@ -1,9 +1,10 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; @Component({ selector: `os-detail-view-not-found`, templateUrl: `./detail-view-not-found.component.html`, styleUrls: [`./detail-view-not-found.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class DetailViewNotFoundComponent {} diff --git a/client/src/app/site/pages/meetings/modules/meetings-component-collector/detail-view/components/detail-view/detail-view.component.spec.ts b/client/src/app/site/pages/meetings/modules/meetings-component-collector/detail-view/components/detail-view/detail-view.component.spec.ts index 0a3fb9e8e41..e9e52607544 100644 --- a/client/src/app/site/pages/meetings/modules/meetings-component-collector/detail-view/components/detail-view/detail-view.component.spec.ts +++ b/client/src/app/site/pages/meetings/modules/meetings-component-collector/detail-view/components/detail-view/detail-view.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { DetailViewComponent } from './detail-view.component'; -xdescribe(`DetailViewComponent`, () => { +describe.skip(`DetailViewComponent`, () => { let component: DetailViewComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/modules/meetings-component-collector/detail-view/components/easter-egg/easter-egg.component.spec.ts b/client/src/app/site/pages/meetings/modules/meetings-component-collector/detail-view/components/easter-egg/easter-egg.component.spec.ts index f8277ee930f..12c9b1ae717 100644 --- a/client/src/app/site/pages/meetings/modules/meetings-component-collector/detail-view/components/easter-egg/easter-egg.component.spec.ts +++ b/client/src/app/site/pages/meetings/modules/meetings-component-collector/detail-view/components/easter-egg/easter-egg.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { EasterEggComponent } from './easter-egg.component'; -xdescribe(`EasterEggComponent`, () => { +describe.skip(`EasterEggComponent`, () => { let component: EasterEggComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/modules/meetings-component-collector/detail-view/components/easter-egg/easter-egg.component.ts b/client/src/app/site/pages/meetings/modules/meetings-component-collector/detail-view/components/easter-egg/easter-egg.component.ts index 839a0c35071..6b2c8347a3b 100644 --- a/client/src/app/site/pages/meetings/modules/meetings-component-collector/detail-view/components/easter-egg/easter-egg.component.ts +++ b/client/src/app/site/pages/meetings/modules/meetings-component-collector/detail-view/components/easter-egg/easter-egg.component.ts @@ -1,10 +1,11 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { isEasterEggTime } from 'src/app/infrastructure/utils'; @Component({ selector: `os-easter-egg`, templateUrl: `./easter-egg.component.html`, styleUrls: [`./easter-egg.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class EasterEggComponent { diff --git a/client/src/app/site/pages/meetings/modules/meetings-component-collector/detail-view/components/projectable-title/projectable-title.component.spec.ts b/client/src/app/site/pages/meetings/modules/meetings-component-collector/detail-view/components/projectable-title/projectable-title.component.spec.ts index 3d9a2703632..cad01ec7ccd 100644 --- a/client/src/app/site/pages/meetings/modules/meetings-component-collector/detail-view/components/projectable-title/projectable-title.component.spec.ts +++ b/client/src/app/site/pages/meetings/modules/meetings-component-collector/detail-view/components/projectable-title/projectable-title.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ProjectableTitleComponent } from './projectable-title.component'; -xdescribe(`ProjectableTitleComponent`, () => { +describe.skip(`ProjectableTitleComponent`, () => { let component: ProjectableTitleComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/modules/meetings-component-collector/projectable-list/components/projectable-list/projectable-list.component.spec.ts b/client/src/app/site/pages/meetings/modules/meetings-component-collector/projectable-list/components/projectable-list/projectable-list.component.spec.ts index 708b77c02d9..be797ad2a37 100644 --- a/client/src/app/site/pages/meetings/modules/meetings-component-collector/projectable-list/components/projectable-list/projectable-list.component.spec.ts +++ b/client/src/app/site/pages/meetings/modules/meetings-component-collector/projectable-list/components/projectable-list/projectable-list.component.spec.ts @@ -3,7 +3,7 @@ import { BaseViewModel } from 'src/app/site/base/base-view-model'; import { ProjectableListComponent } from './projectable-list.component'; -xdescribe(`ProjectableListComponent`, () => { +describe.skip(`ProjectableListComponent`, () => { class TestViewModel extends BaseViewModel {} let component: ProjectableListComponent; diff --git a/client/src/app/site/pages/meetings/modules/meetings-component-collector/projection-dialog/components/projection-dialog/projection-dialog.component.spec.ts b/client/src/app/site/pages/meetings/modules/meetings-component-collector/projection-dialog/components/projection-dialog/projection-dialog.component.spec.ts index fc08e977ee5..c9ef6825799 100644 --- a/client/src/app/site/pages/meetings/modules/meetings-component-collector/projection-dialog/components/projection-dialog/projection-dialog.component.spec.ts +++ b/client/src/app/site/pages/meetings/modules/meetings-component-collector/projection-dialog/components/projection-dialog/projection-dialog.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ProjectionDialogComponent } from './projection-dialog.component'; -xdescribe(`ProjectionDialogComponent`, () => { +describe.skip(`ProjectionDialogComponent`, () => { let component: ProjectionDialogComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/modules/meetings-component-collector/projection-dialog/components/projection-dialog/projection-dialog.component.ts b/client/src/app/site/pages/meetings/modules/meetings-component-collector/projection-dialog/components/projection-dialog/projection-dialog.component.ts index e89c2cae844..aa7aa152a02 100644 --- a/client/src/app/site/pages/meetings/modules/meetings-component-collector/projection-dialog/components/projection-dialog/projection-dialog.component.ts +++ b/client/src/app/site/pages/meetings/modules/meetings-component-collector/projection-dialog/components/projection-dialog/projection-dialog.component.ts @@ -1,4 +1,4 @@ -import { Component, Inject, OnDestroy, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Inject, OnDestroy, OnInit } from '@angular/core'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { Subscription } from 'rxjs'; import { Id } from 'src/app/domain/definitions/key-types'; @@ -37,6 +37,7 @@ export interface ProjectionDialogConfig { selector: `os-projection-dialog`, templateUrl: `./projection-dialog.component.html`, styleUrls: [`./projection-dialog.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class ProjectionDialogComponent implements OnInit, OnDestroy { diff --git a/client/src/app/site/pages/meetings/modules/meetings-component-collector/projector-button/components/projector-button/projector-button.component.spec.ts b/client/src/app/site/pages/meetings/modules/meetings-component-collector/projector-button/components/projector-button/projector-button.component.spec.ts index 76f6404546b..c6100d6158b 100644 --- a/client/src/app/site/pages/meetings/modules/meetings-component-collector/projector-button/components/projector-button/projector-button.component.spec.ts +++ b/client/src/app/site/pages/meetings/modules/meetings-component-collector/projector-button/components/projector-button/projector-button.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ProjectorButtonComponent } from './projector-button.component'; -xdescribe(`ProjectorButtonComponent`, () => { +describe.skip(`ProjectorButtonComponent`, () => { let component: ProjectorButtonComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/modules/meetings-component-collector/projector-button/components/projector-button/projector-button.component.ts b/client/src/app/site/pages/meetings/modules/meetings-component-collector/projector-button/components/projector-button/projector-button.component.ts index f2a7a19d516..1efea7aceec 100644 --- a/client/src/app/site/pages/meetings/modules/meetings-component-collector/projector-button/components/projector-button/projector-button.component.ts +++ b/client/src/app/site/pages/meetings/modules/meetings-component-collector/projector-button/components/projector-button/projector-button.component.ts @@ -1,4 +1,4 @@ -import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core'; +import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core'; import { distinctUntilChanged, Subscription } from 'rxjs'; import { Permission } from 'src/app/domain/definitions/permission'; import { ProjectionDialogService } from 'src/app/site/pages/meetings/modules/meetings-component-collector/projection-dialog/services/projection-dialog.service'; @@ -17,6 +17,7 @@ import { selector: `os-projector-button`, templateUrl: `./projector-button.component.html`, styleUrls: [`./projector-button.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class ProjectorButtonComponent implements OnInit, OnDestroy { diff --git a/client/src/app/site/pages/meetings/modules/meetings-component-collector/speaker-button/components/speaker-button/speaker-button.component.spec.ts b/client/src/app/site/pages/meetings/modules/meetings-component-collector/speaker-button/components/speaker-button/speaker-button.component.spec.ts index ffb851ac847..3915c0a7f1a 100644 --- a/client/src/app/site/pages/meetings/modules/meetings-component-collector/speaker-button/components/speaker-button/speaker-button.component.spec.ts +++ b/client/src/app/site/pages/meetings/modules/meetings-component-collector/speaker-button/components/speaker-button/speaker-button.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { SpeakerButtonComponent } from './speaker-button.component'; -xdescribe(`SpeakerButtonComponent`, () => { +describe.skip(`SpeakerButtonComponent`, () => { let component: SpeakerButtonComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/modules/meetings-navigation/meetings-navigation-wrapper.component.spec.ts b/client/src/app/site/pages/meetings/modules/meetings-navigation/meetings-navigation-wrapper.component.spec.ts index 8a4e37d5c0c..0084a859453 100644 --- a/client/src/app/site/pages/meetings/modules/meetings-navigation/meetings-navigation-wrapper.component.spec.ts +++ b/client/src/app/site/pages/meetings/modules/meetings-navigation/meetings-navigation-wrapper.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MeetingsNavigationWrapperComponent } from './meetings-navigation-wrapper.component'; -xdescribe(`MeetingsNavigationWrapperComponent`, () => { +describe.skip(`MeetingsNavigationWrapperComponent`, () => { let component: MeetingsNavigationWrapperComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/modules/meetings-navigation/meetings-navigation-wrapper.component.ts b/client/src/app/site/pages/meetings/modules/meetings-navigation/meetings-navigation-wrapper.component.ts index f97003d5a07..33086bd1dad 100644 --- a/client/src/app/site/pages/meetings/modules/meetings-navigation/meetings-navigation-wrapper.component.ts +++ b/client/src/app/site/pages/meetings/modules/meetings-navigation/meetings-navigation-wrapper.component.ts @@ -1,5 +1,5 @@ import { CommonModule } from '@angular/common'; -import { Component, OnInit, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnInit, ViewChild } from '@angular/core'; import { MatBadgeModule } from '@angular/material/badge'; import { MatDividerModule } from '@angular/material/divider'; import { MatIconModule } from '@angular/material/icon'; @@ -29,6 +29,7 @@ import { LoadFontService } from '../../services/load-font.service'; templateUrl: `./meetings-navigation-wrapper.component.html`, styleUrls: [`./meetings-navigation-wrapper.component.scss`], animations: [navItemAnim], + changeDetection: ChangeDetectionStrategy.Eager, imports: [ CommonModule, SidenavModule, diff --git a/client/src/app/site/pages/meetings/modules/participant-search-selector/components/participant-search-selector/participant-search-selector.component.spec.ts b/client/src/app/site/pages/meetings/modules/participant-search-selector/components/participant-search-selector/participant-search-selector.component.spec.ts index 2134276316c..de8b27dd2ed 100644 --- a/client/src/app/site/pages/meetings/modules/participant-search-selector/components/participant-search-selector/participant-search-selector.component.spec.ts +++ b/client/src/app/site/pages/meetings/modules/participant-search-selector/components/participant-search-selector/participant-search-selector.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ParticipantSearchSelectorComponent } from './participant-search-selector.component'; -xdescribe(`ParticipantSearchSelectorComponent`, () => { +describe.skip(`ParticipantSearchSelectorComponent`, () => { let component: ParticipantSearchSelectorComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/modules/participant-search-selector/components/participant-search-selector/participant-search-selector.component.ts b/client/src/app/site/pages/meetings/modules/participant-search-selector/components/participant-search-selector/participant-search-selector.component.ts index bcb9a62f31f..98b79774f46 100644 --- a/client/src/app/site/pages/meetings/modules/participant-search-selector/components/participant-search-selector/participant-search-selector.component.ts +++ b/client/src/app/site/pages/meetings/modules/participant-search-selector/components/participant-search-selector/participant-search-selector.component.ts @@ -1,4 +1,4 @@ -import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core'; +import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core'; import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms'; import { MatSnackBar } from '@angular/material/snack-bar'; import { TranslateService } from '@ngx-translate/core'; @@ -21,6 +21,7 @@ import { UserSelectionData } from '../..'; selector: `os-participant-search-selector`, templateUrl: `./participant-search-selector.component.html`, styleUrls: [`./participant-search-selector.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class ParticipantSearchSelectorComponent extends BaseUiComponent implements OnInit, OnDestroy { diff --git a/client/src/app/site/pages/meetings/modules/poll/components/chart/chart.component.spec.ts b/client/src/app/site/pages/meetings/modules/poll/components/chart/chart.component.spec.ts index a68d38181ff..d970eabb06a 100644 --- a/client/src/app/site/pages/meetings/modules/poll/components/chart/chart.component.spec.ts +++ b/client/src/app/site/pages/meetings/modules/poll/components/chart/chart.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ChartComponent } from './chart.component'; -xdescribe(`ChartComponent`, () => { +describe.skip(`ChartComponent`, () => { let component: ChartComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/modules/poll/components/chart/chart.component.ts b/client/src/app/site/pages/meetings/modules/poll/components/chart/chart.component.ts index e45c196a57d..2939a775d29 100644 --- a/client/src/app/site/pages/meetings/modules/poll/components/chart/chart.component.ts +++ b/client/src/app/site/pages/meetings/modules/poll/components/chart/chart.component.ts @@ -1,4 +1,4 @@ -import { Component, Input } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; import { ChartjsComponent } from '@coreui/angular-chartjs'; import { ChartData as NgChartData, ChartOptions, ChartType } from 'chart.js'; @@ -24,6 +24,7 @@ type Label = SingleLineLabel | MultiLineLabel; selector: `os-chart`, templateUrl: `./chart.component.html`, styleUrls: [`./chart.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, imports: [ChartjsComponent] }) export class ChartComponent { diff --git a/client/src/app/site/pages/meetings/modules/poll/components/check-input/check-input.component.spec.ts b/client/src/app/site/pages/meetings/modules/poll/components/check-input/check-input.component.spec.ts index 597b9da5cc7..14601aea5c5 100644 --- a/client/src/app/site/pages/meetings/modules/poll/components/check-input/check-input.component.spec.ts +++ b/client/src/app/site/pages/meetings/modules/poll/components/check-input/check-input.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { CheckInputComponent } from './check-input.component'; -xdescribe(`CheckInputComponent`, () => { +describe.skip(`CheckInputComponent`, () => { let component: CheckInputComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/modules/poll/components/check-input/check-input.component.ts b/client/src/app/site/pages/meetings/modules/poll/components/check-input/check-input.component.ts index 03e371d699b..ed1acda8290 100644 --- a/client/src/app/site/pages/meetings/modules/poll/components/check-input/check-input.component.ts +++ b/client/src/app/site/pages/meetings/modules/poll/components/check-input/check-input.component.ts @@ -1,4 +1,4 @@ -import { Component, forwardRef, Input, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, forwardRef, Input, OnInit } from '@angular/core'; import { ControlValueAccessor, NG_VALUE_ACCESSOR, UntypedFormBuilder, UntypedFormControl } from '@angular/forms'; import { BaseUiComponent } from 'src/app/ui/base/base-ui-component'; @@ -7,6 +7,7 @@ import { BaseUiComponent } from 'src/app/ui/base/base-ui-component'; templateUrl: `./check-input.component.html`, styleUrls: [`./check-input.component.scss`], providers: [{ provide: NG_VALUE_ACCESSOR, multi: true, useExisting: forwardRef(() => CheckInputComponent) }], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class CheckInputComponent extends BaseUiComponent implements OnInit, ControlValueAccessor { diff --git a/client/src/app/site/pages/meetings/modules/poll/components/entitled-users-table/entitled-users-table.component.spec.ts b/client/src/app/site/pages/meetings/modules/poll/components/entitled-users-table/entitled-users-table.component.spec.ts index 89d535f9e11..d8a761e35b4 100644 --- a/client/src/app/site/pages/meetings/modules/poll/components/entitled-users-table/entitled-users-table.component.spec.ts +++ b/client/src/app/site/pages/meetings/modules/poll/components/entitled-users-table/entitled-users-table.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { EntitledUsersTableComponent } from './entitled-users-table.component'; -xdescribe(`EntitledUsersTableComponent`, () => { +describe.skip(`EntitledUsersTableComponent`, () => { let component: EntitledUsersTableComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/modules/poll/components/poll-cannot-vote-message/poll-cannot-vote-message.component.spec.ts b/client/src/app/site/pages/meetings/modules/poll/components/poll-cannot-vote-message/poll-cannot-vote-message.component.spec.ts index 9ecc177bc8a..f3ab44e31ed 100644 --- a/client/src/app/site/pages/meetings/modules/poll/components/poll-cannot-vote-message/poll-cannot-vote-message.component.spec.ts +++ b/client/src/app/site/pages/meetings/modules/poll/components/poll-cannot-vote-message/poll-cannot-vote-message.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { PollCannotVoteMessageComponent } from './poll-cannot-vote-message.component'; -xdescribe(`PollCannotVoteMessageComponent`, () => { +describe.skip(`PollCannotVoteMessageComponent`, () => { let component: PollCannotVoteMessageComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/modules/poll/components/poll-progress/poll-progress.component.spec.ts b/client/src/app/site/pages/meetings/modules/poll/components/poll-progress/poll-progress.component.spec.ts index de90387a82d..774155561ac 100644 --- a/client/src/app/site/pages/meetings/modules/poll/components/poll-progress/poll-progress.component.spec.ts +++ b/client/src/app/site/pages/meetings/modules/poll/components/poll-progress/poll-progress.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { PollProgressComponent } from './poll-progress.component'; -xdescribe(`PollProgressComponent`, () => { +describe.skip(`PollProgressComponent`, () => { let component: PollProgressComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/modules/poll/components/single-option-chart-table/single-option-chart-table.component.spec.ts b/client/src/app/site/pages/meetings/modules/poll/components/single-option-chart-table/single-option-chart-table.component.spec.ts index d8fd6529efd..dfa3fb7c76b 100644 --- a/client/src/app/site/pages/meetings/modules/poll/components/single-option-chart-table/single-option-chart-table.component.spec.ts +++ b/client/src/app/site/pages/meetings/modules/poll/components/single-option-chart-table/single-option-chart-table.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { SingleOptionChartTableComponent } from './single-option-chart-table.component'; -xdescribe(`SingleOptionChartTableComponent`, () => { +describe.skip(`SingleOptionChartTableComponent`, () => { let component: SingleOptionChartTableComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/modules/poll/components/single-option-chart-table/single-option-chart-table.component.ts b/client/src/app/site/pages/meetings/modules/poll/components/single-option-chart-table/single-option-chart-table.component.ts index 5a31facf538..fd17c7fe46d 100644 --- a/client/src/app/site/pages/meetings/modules/poll/components/single-option-chart-table/single-option-chart-table.component.ts +++ b/client/src/app/site/pages/meetings/modules/poll/components/single-option-chart-table/single-option-chart-table.component.ts @@ -1,4 +1,4 @@ -import { ChangeDetectorRef, Component, Input } from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core'; import { PollData, PollMethod, PollTableData, VotingResult } from 'src/app/domain/models/poll'; import { ThemeService } from 'src/app/site/services/theme.service'; @@ -9,6 +9,7 @@ import { ChartData } from '../chart/chart.component'; selector: `os-single-option-chart-table`, templateUrl: `./single-option-chart-table.component.html`, styleUrls: [`./single-option-chart-table.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class SingleOptionChartTableComponent { diff --git a/client/src/app/site/pages/meetings/modules/poll/components/votes-table/votes-table.component.spec.ts b/client/src/app/site/pages/meetings/modules/poll/components/votes-table/votes-table.component.spec.ts index 13b9542faea..0ab63650486 100644 --- a/client/src/app/site/pages/meetings/modules/poll/components/votes-table/votes-table.component.spec.ts +++ b/client/src/app/site/pages/meetings/modules/poll/components/votes-table/votes-table.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { VotesTableComponent } from './votes-table.component'; -xdescribe(`VotesTableComponent`, () => { +describe.skip(`VotesTableComponent`, () => { let component: VotesTableComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/modules/poll/modules/voting-privacy-dialog/components/voting-privacy-warning-dialog/voting-privacy-warning-dialog.component.spec.ts b/client/src/app/site/pages/meetings/modules/poll/modules/voting-privacy-dialog/components/voting-privacy-warning-dialog/voting-privacy-warning-dialog.component.spec.ts index c0b16639895..a3bbdee9b26 100644 --- a/client/src/app/site/pages/meetings/modules/poll/modules/voting-privacy-dialog/components/voting-privacy-warning-dialog/voting-privacy-warning-dialog.component.spec.ts +++ b/client/src/app/site/pages/meetings/modules/poll/modules/voting-privacy-dialog/components/voting-privacy-warning-dialog/voting-privacy-warning-dialog.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { VotingPrivacyWarningDialogComponent } from './voting-privacy-warning-dialog.component'; -xdescribe(`VotingPrivacyWarningDialogComponent`, () => { +describe.skip(`VotingPrivacyWarningDialogComponent`, () => { let component: VotingPrivacyWarningDialogComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/modules/poll/modules/voting-privacy-dialog/components/voting-privacy-warning-dialog/voting-privacy-warning-dialog.component.ts b/client/src/app/site/pages/meetings/modules/poll/modules/voting-privacy-dialog/components/voting-privacy-warning-dialog/voting-privacy-warning-dialog.component.ts index 50d335138fb..deb6394cbb6 100644 --- a/client/src/app/site/pages/meetings/modules/poll/modules/voting-privacy-dialog/components/voting-privacy-warning-dialog/voting-privacy-warning-dialog.component.ts +++ b/client/src/app/site/pages/meetings/modules/poll/modules/voting-privacy-dialog/components/voting-privacy-warning-dialog/voting-privacy-warning-dialog.component.ts @@ -1,9 +1,10 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; @Component({ selector: `os-voting-privacy-warning-dialog`, templateUrl: `./voting-privacy-warning-dialog.component.html`, styleUrls: [`./voting-privacy-warning-dialog.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class VotingPrivacyWarningDialogComponent {} diff --git a/client/src/app/site/pages/meetings/modules/poll/services/poll.service/poll.service.spec.ts b/client/src/app/site/pages/meetings/modules/poll/services/poll.service/poll.service.spec.ts index fd4ccb47bcb..b418a058efe 100644 --- a/client/src/app/site/pages/meetings/modules/poll/services/poll.service/poll.service.spec.ts +++ b/client/src/app/site/pages/meetings/modules/poll/services/poll.service/poll.service.spec.ts @@ -3,7 +3,7 @@ import { TestBed } from '@angular/core/testing'; import { PollService } from './poll.service'; // TODO: Enable test -xdescribe(`PollService`, () => { +describe.skip(`PollService`, () => { let service: PollService; beforeEach(() => { diff --git a/client/src/app/site/pages/meetings/modules/projector/components/projector/projector.component.spec.ts b/client/src/app/site/pages/meetings/modules/projector/components/projector/projector.component.spec.ts index 1fb4fe291b7..ca24d10a70e 100644 --- a/client/src/app/site/pages/meetings/modules/projector/components/projector/projector.component.spec.ts +++ b/client/src/app/site/pages/meetings/modules/projector/components/projector/projector.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ProjectorComponent } from './projector.component'; -xdescribe(`ProjectorComponent`, () => { +describe.skip(`ProjectorComponent`, () => { let component: ProjectorComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/modules/projector/components/projector/projector.component.ts b/client/src/app/site/pages/meetings/modules/projector/components/projector/projector.component.ts index 06fc37ec29b..490ec58222b 100644 --- a/client/src/app/site/pages/meetings/modules/projector/components/projector/projector.component.ts +++ b/client/src/app/site/pages/meetings/modules/projector/components/projector/projector.component.ts @@ -1,4 +1,4 @@ -import { Component, ElementRef, Input, OnDestroy, OnInit, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, Component, ElementRef, Input, OnDestroy, OnInit, ViewChild } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { BehaviorSubject, Observable } from 'rxjs'; import { UnsafeHtml } from 'src/app/domain/definitions/key-types'; @@ -17,6 +17,7 @@ import { Dimension } from '../../../../pages/projectors/definitions'; imports: [DirectivesModule, PipesModule], selector: `os-projector`, templateUrl: `./projector.component.html`, + changeDetection: ChangeDetectionStrategy.Eager, styleUrls: [`./projector.component.scss`] }) export class ProjectorComponent extends BaseUiComponent implements OnInit, OnDestroy { diff --git a/client/src/app/site/pages/meetings/modules/projector/modules/countdown-time/countdown-time.component.spec.ts b/client/src/app/site/pages/meetings/modules/projector/modules/countdown-time/countdown-time.component.spec.ts index c68b8bba381..03d12c7d03a 100644 --- a/client/src/app/site/pages/meetings/modules/projector/modules/countdown-time/countdown-time.component.spec.ts +++ b/client/src/app/site/pages/meetings/modules/projector/modules/countdown-time/countdown-time.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { CountdownTimeComponent } from './countdown-time.component'; -xdescribe(`CountdownTimeComponent`, () => { +describe.skip(`CountdownTimeComponent`, () => { let component: CountdownTimeComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/agenda/components/agenda-forward-dialog/components/agenda-forward-dialog/agenda-forward-dialog.component.spec.ts b/client/src/app/site/pages/meetings/pages/agenda/components/agenda-forward-dialog/components/agenda-forward-dialog/agenda-forward-dialog.component.spec.ts index b8cdf57db68..5d0594c5313 100644 --- a/client/src/app/site/pages/meetings/pages/agenda/components/agenda-forward-dialog/components/agenda-forward-dialog/agenda-forward-dialog.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/agenda/components/agenda-forward-dialog/components/agenda-forward-dialog/agenda-forward-dialog.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { AgendaForwardDialogComponent } from './agenda-forward-dialog.component'; -xdescribe('AgendaForwardDialogComponent', () => { +describe.skip('AgendaForwardDialogComponent', () => { let component: AgendaForwardDialogComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/agenda/components/agenda-forward-dialog/components/agenda-forward-dialog/agenda-forward-dialog.component.ts b/client/src/app/site/pages/meetings/pages/agenda/components/agenda-forward-dialog/components/agenda-forward-dialog/agenda-forward-dialog.component.ts index 70ca523f46d..f6025874903 100644 --- a/client/src/app/site/pages/meetings/pages/agenda/components/agenda-forward-dialog/components/agenda-forward-dialog/agenda-forward-dialog.component.ts +++ b/client/src/app/site/pages/meetings/pages/agenda/components/agenda-forward-dialog/components/agenda-forward-dialog/agenda-forward-dialog.component.ts @@ -1,5 +1,5 @@ import { CommonModule } from '@angular/common'; -import { Component, Inject, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Inject, OnInit } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { MatButtonModule } from '@angular/material/button'; import { MatCheckboxChange, MatCheckboxModule } from '@angular/material/checkbox'; @@ -27,6 +27,7 @@ export interface AgendaForwardDialogReturnData { selector: 'os-agenda-forward-dialog', templateUrl: './agenda-forward-dialog.component.html', styleUrl: './agenda-forward-dialog.component.scss', + changeDetection: ChangeDetectionStrategy.Eager, imports: [ CommonModule, MatCheckboxModule, diff --git a/client/src/app/site/pages/meetings/pages/agenda/components/agenda-main/agenda-main.component.spec.ts b/client/src/app/site/pages/meetings/pages/agenda/components/agenda-main/agenda-main.component.spec.ts index 1b634cc3fc9..4eb05a4721f 100644 --- a/client/src/app/site/pages/meetings/pages/agenda/components/agenda-main/agenda-main.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/agenda/components/agenda-main/agenda-main.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { AgendaMainComponent } from './agenda-main.component'; -xdescribe(`AgendaMainComponent`, () => { +describe.skip(`AgendaMainComponent`, () => { let component: AgendaMainComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/agenda/components/agenda-main/agenda-main.component.ts b/client/src/app/site/pages/meetings/pages/agenda/components/agenda-main/agenda-main.component.ts index 8e7d061bf9f..1017777622b 100644 --- a/client/src/app/site/pages/meetings/pages/agenda/components/agenda-main/agenda-main.component.ts +++ b/client/src/app/site/pages/meetings/pages/agenda/components/agenda-main/agenda-main.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { Id } from 'src/app/domain/definitions/key-types'; import { SubscriptionConfig } from 'src/app/domain/interfaces/subscription-config'; import { BaseMeetingModelRequestHandler } from 'src/app/site/pages/meetings/base/base-meeting-model-request-handler.component'; @@ -9,6 +9,7 @@ import { getAgendaListSubscriptionConfig } from '../../agenda.subscription'; selector: `os-agenda-main`, templateUrl: `./agenda-main.component.html`, styleUrls: [`./agenda-main.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class AgendaMainComponent extends BaseMeetingModelRequestHandler { diff --git a/client/src/app/site/pages/meetings/pages/agenda/modules/list-of-speakers/components/list-of-speakers-main/list-of-speakers-main.component.spec.ts b/client/src/app/site/pages/meetings/pages/agenda/modules/list-of-speakers/components/list-of-speakers-main/list-of-speakers-main.component.spec.ts index 42c658b1eb4..4b30ca170fe 100644 --- a/client/src/app/site/pages/meetings/pages/agenda/modules/list-of-speakers/components/list-of-speakers-main/list-of-speakers-main.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/agenda/modules/list-of-speakers/components/list-of-speakers-main/list-of-speakers-main.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ListOfSpeakersMainComponent } from './list-of-speakers-main.component'; -xdescribe(`TopicDetailMainComponent`, () => { +describe.skip(`TopicDetailMainComponent`, () => { let component: ListOfSpeakersMainComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/agenda/modules/list-of-speakers/components/list-of-speakers-main/list-of-speakers-main.component.ts b/client/src/app/site/pages/meetings/pages/agenda/modules/list-of-speakers/components/list-of-speakers-main/list-of-speakers-main.component.ts index dfb540ec0fa..7a70ab4aff8 100644 --- a/client/src/app/site/pages/meetings/pages/agenda/modules/list-of-speakers/components/list-of-speakers-main/list-of-speakers-main.component.ts +++ b/client/src/app/site/pages/meetings/pages/agenda/modules/list-of-speakers/components/list-of-speakers-main/list-of-speakers-main.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { Id } from 'src/app/domain/definitions/key-types'; import { ListOfSpeakers } from 'src/app/domain/models/list-of-speakers/list-of-speakers'; import { BaseModelRequestHandlerComponent } from 'src/app/site/base/base-model-request-handler.component'; @@ -10,6 +10,7 @@ import { getListOfSpeakersDetailSubscriptionConfig } from '../../../../agenda.su selector: `os-list-of-speakers-main`, templateUrl: `./list-of-speakers-main.component.html`, styleUrls: [`./list-of-speakers-main.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class ListOfSpeakersMainComponent extends BaseModelRequestHandlerComponent { diff --git a/client/src/app/site/pages/meetings/pages/agenda/modules/list-of-speakers/components/list-of-speakers/list-of-speakers.component.spec.ts b/client/src/app/site/pages/meetings/pages/agenda/modules/list-of-speakers/components/list-of-speakers/list-of-speakers.component.spec.ts index 1997079ce07..bd4d0cb7c32 100644 --- a/client/src/app/site/pages/meetings/pages/agenda/modules/list-of-speakers/components/list-of-speakers/list-of-speakers.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/agenda/modules/list-of-speakers/components/list-of-speakers/list-of-speakers.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ListOfSpeakersComponent } from './list-of-speakers.component'; -xdescribe(`ListOfSpeakersComponent`, () => { +describe.skip(`ListOfSpeakersComponent`, () => { let component: ListOfSpeakersComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/agenda/modules/list-of-speakers/components/list-of-speakers/list-of-speakers.component.ts b/client/src/app/site/pages/meetings/pages/agenda/modules/list-of-speakers/components/list-of-speakers/list-of-speakers.component.ts index 0d253a99978..ec9ca917521 100644 --- a/client/src/app/site/pages/meetings/pages/agenda/modules/list-of-speakers/components/list-of-speakers/list-of-speakers.component.ts +++ b/client/src/app/site/pages/meetings/pages/agenda/modules/list-of-speakers/components/list-of-speakers/list-of-speakers.component.ts @@ -1,4 +1,4 @@ -import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnDestroy, OnInit, ViewChild } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { Subscription } from 'rxjs'; import { Id } from 'src/app/domain/definitions/key-types'; @@ -19,6 +19,7 @@ import { ViewListOfSpeakers } from '../../view-models'; selector: `os-list-of-speakers`, templateUrl: `./list-of-speakers.component.html`, styleUrls: [`./list-of-speakers.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class ListOfSpeakersComponent extends BaseMeetingComponent implements OnInit, OnDestroy { diff --git a/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll-detail-content/topic-poll-detail-content.component.spec.ts b/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll-detail-content/topic-poll-detail-content.component.spec.ts index 2f72b19a1f9..0a9f8747248 100644 --- a/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll-detail-content/topic-poll-detail-content.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll-detail-content/topic-poll-detail-content.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { TopicPollDetailContentComponent } from './topic-poll-detail-content.component'; -xdescribe(`TopicPollDetailContentComponent`, () => { +describe.skip(`TopicPollDetailContentComponent`, () => { let component: TopicPollDetailContentComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll-dialog/topic-poll-dialog.component.spec.ts b/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll-dialog/topic-poll-dialog.component.spec.ts index 24b6373c0ea..16de69874e7 100644 --- a/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll-dialog/topic-poll-dialog.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll-dialog/topic-poll-dialog.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { TopicPollDialogComponent } from './topic-poll-dialog.component'; -xdescribe(`TopicPollDialogComponent`, () => { +describe.skip(`TopicPollDialogComponent`, () => { let component: TopicPollDialogComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll-dialog/topic-poll-dialog.component.ts b/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll-dialog/topic-poll-dialog.component.ts index 2a55e984c70..c9fbaf2f4a2 100644 --- a/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll-dialog/topic-poll-dialog.component.ts +++ b/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll-dialog/topic-poll-dialog.component.ts @@ -1,4 +1,13 @@ -import { AfterViewInit, Component, ElementRef, Inject, QueryList, ViewChild, ViewChildren } from '@angular/core'; +import { + AfterViewInit, + ChangeDetectionStrategy, + Component, + ElementRef, + Inject, + QueryList, + ViewChild, + ViewChildren +} from '@angular/core'; import { Validators } from '@angular/forms'; import { MAT_DIALOG_DATA } from '@angular/material/dialog'; import { _ } from '@ngx-translate/core'; @@ -40,6 +49,7 @@ export class TextOptionSelectable implements Selectable { selector: `os-topic-poll-dialog`, templateUrl: `./topic-poll-dialog.component.html`, styleUrls: [`./topic-poll-dialog.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class TopicPollDialogComponent extends BasePollDialogComponent implements AfterViewInit { diff --git a/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll-form/topic-poll-form.component.spec.ts b/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll-form/topic-poll-form.component.spec.ts index 03bf45c202f..013f66cad99 100644 --- a/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll-form/topic-poll-form.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll-form/topic-poll-form.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { TopicPollFormComponent } from './topic-poll-form.component'; -xdescribe(`TopicPollFormComponent`, () => { +describe.skip(`TopicPollFormComponent`, () => { let component: TopicPollFormComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll-form/topic-poll-form.component.ts b/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll-form/topic-poll-form.component.ts index b37849b2a7d..6414ef49210 100644 --- a/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll-form/topic-poll-form.component.ts +++ b/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll-form/topic-poll-form.component.ts @@ -1,4 +1,4 @@ -import { Component, ViewEncapsulation } from '@angular/core'; +import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core'; import { BasePollFormComponent, PollFormHideSelectsData @@ -10,6 +10,7 @@ import { styleUrls: [`../../../../../../../../modules/poll/components/base-poll-form/base-poll-form.component.scss`], providers: [{ provide: BasePollFormComponent, useExisting: TopicPollFormComponent }], encapsulation: ViewEncapsulation.None, + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class TopicPollFormComponent extends BasePollFormComponent { diff --git a/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll-meta-info/topic-poll-meta-info.component.spec.ts b/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll-meta-info/topic-poll-meta-info.component.spec.ts index 91fea521475..6ecc5700b7b 100644 --- a/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll-meta-info/topic-poll-meta-info.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll-meta-info/topic-poll-meta-info.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { TopicPollMetaInfoComponent } from './topic-poll-meta-info.component'; -xdescribe(`TopicPollMetaInfoComponent`, () => { +describe.skip(`TopicPollMetaInfoComponent`, () => { let component: TopicPollMetaInfoComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll-meta-info/topic-poll-meta-info.component.ts b/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll-meta-info/topic-poll-meta-info.component.ts index 5c61276ccb8..e9d2da14cd8 100644 --- a/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll-meta-info/topic-poll-meta-info.component.ts +++ b/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll-meta-info/topic-poll-meta-info.component.ts @@ -1,4 +1,4 @@ -import { Component, Input } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; import { PollPropertyVerbose } from 'src/app/domain/models/poll'; import { BasePollMetaInformationComponent } from 'src/app/site/pages/meetings/modules/poll/base/base-poll-meta-information.component'; import { ViewOption } from 'src/app/site/pages/meetings/pages/polls'; @@ -9,6 +9,7 @@ import { TopicPollMethodVerbose } from '../../definitions'; selector: `os-topic-poll-meta-info`, templateUrl: `./topic-poll-meta-info.component.html`, styleUrls: [`./topic-poll-meta-info.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class TopicPollMetaInfoComponent extends BasePollMetaInformationComponent { diff --git a/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll-vote/topic-poll-vote.component.spec.ts b/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll-vote/topic-poll-vote.component.spec.ts index 0dd27f62232..4a78f6d3354 100644 --- a/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll-vote/topic-poll-vote.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll-vote/topic-poll-vote.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { TopicPollVoteComponent } from './topic-poll-vote.component'; -xdescribe(`TopicPollVoteComponent`, () => { +describe.skip(`TopicPollVoteComponent`, () => { let component: TopicPollVoteComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll/topic-poll.component.html b/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll/topic-poll.component.html index 13d754dcce0..f922f67012d 100644 --- a/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll/topic-poll.component.html +++ b/client/src/app/site/pages/meetings/pages/agenda/modules/topics/modules/topic-poll/components/topic-poll/topic-poll.component.html @@ -47,7 +47,7 @@ diff --git a/client/src/app/site/pages/meetings/pages/mediafiles/modules/mediafile-list/components/mediafile-list/mediafile-list.component.spec.ts b/client/src/app/site/pages/meetings/pages/mediafiles/modules/mediafile-list/components/mediafile-list/mediafile-list.component.spec.ts index 3e8028f31ab..7cf861f271f 100644 --- a/client/src/app/site/pages/meetings/pages/mediafiles/modules/mediafile-list/components/mediafile-list/mediafile-list.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/mediafiles/modules/mediafile-list/components/mediafile-list/mediafile-list.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MediafileListComponent } from './mediafile-list.component'; -xdescribe(`MediafileListComponent`, () => { +describe.skip(`MediafileListComponent`, () => { let component: MediafileListComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/mediafiles/modules/mediafile-list/components/mediafile-list/mediafile-list.component.ts b/client/src/app/site/pages/meetings/pages/mediafiles/modules/mediafile-list/components/mediafile-list/mediafile-list.component.ts index 86e90b1c479..bffe7277fe8 100644 --- a/client/src/app/site/pages/meetings/pages/mediafiles/modules/mediafile-list/components/mediafile-list/mediafile-list.component.ts +++ b/client/src/app/site/pages/meetings/pages/mediafiles/modules/mediafile-list/components/mediafile-list/mediafile-list.component.ts @@ -1,4 +1,12 @@ -import { ChangeDetectorRef, Component, OnDestroy, OnInit, TemplateRef, ViewChild } from '@angular/core'; +import { + ChangeDetectionStrategy, + ChangeDetectorRef, + Component, + OnDestroy, + OnInit, + TemplateRef, + ViewChild +} from '@angular/core'; import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; import { ActivatedRoute } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; @@ -31,6 +39,7 @@ import { MediafileListGroupService } from '../../services/mediafile-list-group.s selector: `os-mediafile-list`, templateUrl: `./mediafile-list.component.html`, styleUrls: [`./mediafile-list.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class MediafileListComponent extends BaseMeetingListViewComponent implements OnInit, OnDestroy { diff --git a/client/src/app/site/pages/meetings/pages/mediafiles/modules/mediafile-upload/components/mediafile-upload/mediafile-upload.component.spec.ts b/client/src/app/site/pages/meetings/pages/mediafiles/modules/mediafile-upload/components/mediafile-upload/mediafile-upload.component.spec.ts index 0136ebb4350..72e800246cc 100644 --- a/client/src/app/site/pages/meetings/pages/mediafiles/modules/mediafile-upload/components/mediafile-upload/mediafile-upload.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/mediafiles/modules/mediafile-upload/components/mediafile-upload/mediafile-upload.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MediafileUploadComponent } from './mediafile-upload.component'; -xdescribe(`MediafileUploadComponent`, () => { +describe.skip(`MediafileUploadComponent`, () => { let component: MediafileUploadComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/mediafiles/modules/mediafile-upload/components/mediafile-upload/mediafile-upload.component.ts b/client/src/app/site/pages/meetings/pages/mediafiles/modules/mediafile-upload/components/mediafile-upload/mediafile-upload.component.ts index 5bcff2d500b..57b6ffa65c3 100644 --- a/client/src/app/site/pages/meetings/pages/mediafiles/modules/mediafile-upload/components/mediafile-upload/mediafile-upload.component.ts +++ b/client/src/app/site/pages/meetings/pages/mediafiles/modules/mediafile-upload/components/mediafile-upload/mediafile-upload.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { map, Observable } from 'rxjs'; import { MediafileControllerService } from 'src/app/site/pages/meetings/pages/mediafiles/services/mediafile-controller.service'; @@ -12,6 +12,7 @@ import { MediafileCommonService } from '../../../../services/mediafile-common.se selector: `os-mediafile-upload`, templateUrl: `./mediafile-upload.component.html`, styleUrls: [`./mediafile-upload.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class MediafileUploadComponent extends OrganizationMediafileUploadComponent implements OnInit { diff --git a/client/src/app/site/pages/meetings/pages/meeting-settings/pages/meeting-settings-group-detail/components/allocation-list/allocation-list.component.spec.ts b/client/src/app/site/pages/meetings/pages/meeting-settings/pages/meeting-settings-group-detail/components/allocation-list/allocation-list.component.spec.ts index 6e9fc2c2bfd..c4b68508296 100644 --- a/client/src/app/site/pages/meetings/pages/meeting-settings/pages/meeting-settings-group-detail/components/allocation-list/allocation-list.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/meeting-settings/pages/meeting-settings-group-detail/components/allocation-list/allocation-list.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { AllocationListComponent } from './allocation-list.component'; -xdescribe(`AllocationListComponent`, () => { +describe.skip(`AllocationListComponent`, () => { let component: AllocationListComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/meeting-settings/pages/meeting-settings-group-detail/components/meeting-settings-group-detail-field/meeting-settings-group-detail-field.component.spec.ts b/client/src/app/site/pages/meetings/pages/meeting-settings/pages/meeting-settings-group-detail/components/meeting-settings-group-detail-field/meeting-settings-group-detail-field.component.spec.ts index 8edecba1a16..21887c612ab 100644 --- a/client/src/app/site/pages/meetings/pages/meeting-settings/pages/meeting-settings-group-detail/components/meeting-settings-group-detail-field/meeting-settings-group-detail-field.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/meeting-settings/pages/meeting-settings-group-detail/components/meeting-settings-group-detail-field/meeting-settings-group-detail-field.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MeetingSettingsGroupDetailFieldComponent } from './meeting-settings-group-detail-field.component'; -xdescribe(`MeetingSettingsGroupDetailFieldComponent`, () => { +describe.skip(`MeetingSettingsGroupDetailFieldComponent`, () => { let component: MeetingSettingsGroupDetailFieldComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/meeting-settings/pages/meeting-settings-group-detail/components/meeting-settings-group-detail-main/meeting-settings-group-detail-main.component.spec.ts b/client/src/app/site/pages/meetings/pages/meeting-settings/pages/meeting-settings-group-detail/components/meeting-settings-group-detail-main/meeting-settings-group-detail-main.component.spec.ts index 62f6145c350..a69a5e40637 100644 --- a/client/src/app/site/pages/meetings/pages/meeting-settings/pages/meeting-settings-group-detail/components/meeting-settings-group-detail-main/meeting-settings-group-detail-main.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/meeting-settings/pages/meeting-settings-group-detail/components/meeting-settings-group-detail-main/meeting-settings-group-detail-main.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MeetingSettingsGroupDetailMainComponent } from './meeting-settings-group-detail-main.component'; -xdescribe(`MeetingSettingsGroupDetailMainComponent`, () => { +describe.skip(`MeetingSettingsGroupDetailMainComponent`, () => { let component: MeetingSettingsGroupDetailMainComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/meeting-settings/pages/meeting-settings-group-detail/components/meeting-settings-group-detail-main/meeting-settings-group-detail-main.component.ts b/client/src/app/site/pages/meetings/pages/meeting-settings/pages/meeting-settings-group-detail/components/meeting-settings-group-detail-main/meeting-settings-group-detail-main.component.ts index da6b944ce4b..ae9a28585f2 100644 --- a/client/src/app/site/pages/meetings/pages/meeting-settings/pages/meeting-settings-group-detail/components/meeting-settings-group-detail-main/meeting-settings-group-detail-main.component.ts +++ b/client/src/app/site/pages/meetings/pages/meeting-settings/pages/meeting-settings-group-detail/components/meeting-settings-group-detail-main/meeting-settings-group-detail-main.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { BaseModelRequestHandlerComponent } from 'src/app/site/base/base-model-request-handler.component'; import { getMotionWorkflowSubscriptionConfig } from '../../../../../motions/motions.subscription'; @@ -9,6 +9,7 @@ const MOTIONS_SETTINGS_GROUP = `motions`; selector: `os-meeting-settings-group-detail-main`, templateUrl: `./meeting-settings-group-detail-main.component.html`, styleUrls: [`./meeting-settings-group-detail-main.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class MeetingSettingsGroupDetailMainComponent extends BaseModelRequestHandlerComponent { diff --git a/client/src/app/site/pages/meetings/pages/meeting-settings/pages/meeting-settings-group-detail/components/meeting-settings-group-detail/meeting-settings-group-detail.component.spec.ts b/client/src/app/site/pages/meetings/pages/meeting-settings/pages/meeting-settings-group-detail/components/meeting-settings-group-detail/meeting-settings-group-detail.component.spec.ts index dbb81b49f9d..4976685f775 100644 --- a/client/src/app/site/pages/meetings/pages/meeting-settings/pages/meeting-settings-group-detail/components/meeting-settings-group-detail/meeting-settings-group-detail.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/meeting-settings/pages/meeting-settings-group-detail/components/meeting-settings-group-detail/meeting-settings-group-detail.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MeetingSettingsGroupDetailComponent } from './meeting-settings-group-detail.component'; -xdescribe(`MeetingSettingsGroupDetailComponent`, () => { +describe.skip(`MeetingSettingsGroupDetailComponent`, () => { let component: MeetingSettingsGroupDetailComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/meeting-settings/pages/meeting-settings-group-list/components/meeting-settings-group-list/meeting-settings-group-list.component.spec.ts b/client/src/app/site/pages/meetings/pages/meeting-settings/pages/meeting-settings-group-list/components/meeting-settings-group-list/meeting-settings-group-list.component.spec.ts index 819b97455eb..6ffa4abe029 100644 --- a/client/src/app/site/pages/meetings/pages/meeting-settings/pages/meeting-settings-group-list/components/meeting-settings-group-list/meeting-settings-group-list.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/meeting-settings/pages/meeting-settings-group-list/components/meeting-settings-group-list/meeting-settings-group-list.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MeetingSettingsGroupListComponent } from './meeting-settings-group-list.component'; -xdescribe(`MeetingSettingsGroupListComponent`, () => { +describe.skip(`MeetingSettingsGroupListComponent`, () => { let component: MeetingSettingsGroupListComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/meeting-settings/pages/meeting-settings-group-list/components/meeting-settings-group-list/meeting-settings-group-list.component.ts b/client/src/app/site/pages/meetings/pages/meeting-settings/pages/meeting-settings-group-list/components/meeting-settings-group-list/meeting-settings-group-list.component.ts index 965ae360ad7..557bc20ea5e 100644 --- a/client/src/app/site/pages/meetings/pages/meeting-settings/pages/meeting-settings-group-list/components/meeting-settings-group-list/meeting-settings-group-list.component.ts +++ b/client/src/app/site/pages/meetings/pages/meeting-settings/pages/meeting-settings-group-list/components/meeting-settings-group-list/meeting-settings-group-list.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { BaseMeetingComponent } from 'src/app/site/pages/meetings/base/base-meeting.component'; import { MeetingControllerService } from 'src/app/site/pages/meetings/services/meeting-controller.service'; @@ -13,6 +13,7 @@ import { PromptService } from 'src/app/ui/modules/prompt-dialog'; selector: `os-meeting-settings-group-list`, templateUrl: `./meeting-settings-group-list.component.html`, styleUrls: [`./meeting-settings-group-list.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class MeetingSettingsGroupListComponent extends BaseMeetingComponent implements OnInit { diff --git a/client/src/app/site/pages/meetings/pages/motions/components/motion-editor/motion-editor.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/components/motion-editor/motion-editor.component.spec.ts index bdc55303843..6ed34267912 100644 --- a/client/src/app/site/pages/meetings/pages/motions/components/motion-editor/motion-editor.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/components/motion-editor/motion-editor.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionEditorComponent } from './motion-editor.component'; -xdescribe(`MotionEditor`, () => { +describe.skip(`MotionEditor`, () => { let component: MotionEditorComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/components/motion-editor/motion-editor.component.ts b/client/src/app/site/pages/meetings/pages/motions/components/motion-editor/motion-editor.component.ts index db9edce2d5c..feb9746740d 100644 --- a/client/src/app/site/pages/meetings/pages/motions/components/motion-editor/motion-editor.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/components/motion-editor/motion-editor.component.ts @@ -1,4 +1,4 @@ -import { AfterViewInit, Component, forwardRef, inject } from '@angular/core'; +import { AfterViewInit, ChangeDetectionStrategy, Component, forwardRef, inject } from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; import OfficePaste from '@intevation/tiptap-extension-office-paste'; import { Extension } from '@tiptap/core'; @@ -29,6 +29,7 @@ import { TextStyle } from '../../../../../../../ui/modules/editor/components/edi templateUrl: `../../../../../../../ui/modules/editor/components/editor/editor.component.html`, styleUrls: [`../../../../../../../ui/modules/editor/components/editor/editor.component.scss`], providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => MotionEditorComponent), multi: true }], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class MotionEditorComponent extends EditorComponent implements AfterViewInit { diff --git a/client/src/app/site/pages/meetings/pages/motions/components/motion-forward-dialog/components/motion-forward-dialog/motion-forward-dialog.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/components/motion-forward-dialog/components/motion-forward-dialog/motion-forward-dialog.component.spec.ts index 19dbb68da73..e4d77a16846 100644 --- a/client/src/app/site/pages/meetings/pages/motions/components/motion-forward-dialog/components/motion-forward-dialog/motion-forward-dialog.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/components/motion-forward-dialog/components/motion-forward-dialog/motion-forward-dialog.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionForwardDialogComponent } from './motion-forward-dialog.component'; -xdescribe(`MotionForwardDialogComponent`, () => { +describe.skip(`MotionForwardDialogComponent`, () => { let component: MotionForwardDialogComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/components/motion-forward-dialog/components/motion-forward-dialog/motion-forward-dialog.component.ts b/client/src/app/site/pages/meetings/pages/motions/components/motion-forward-dialog/components/motion-forward-dialog/motion-forward-dialog.component.ts index 33338569807..ddf98f5a053 100644 --- a/client/src/app/site/pages/meetings/pages/motions/components/motion-forward-dialog/components/motion-forward-dialog/motion-forward-dialog.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/components/motion-forward-dialog/components/motion-forward-dialog/motion-forward-dialog.component.ts @@ -1,4 +1,4 @@ -import { Component, Inject, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Inject, OnInit } from '@angular/core'; import { MatCheckboxChange } from '@angular/material/checkbox'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { TranslateService } from '@ngx-translate/core'; @@ -23,6 +23,7 @@ export interface MotionForwardDialogReturnData { selector: `os-motion-forward-dialog`, templateUrl: `./motion-forward-dialog.component.html`, styleUrls: [`./motion-forward-dialog.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class MotionForwardDialogComponent implements OnInit { diff --git a/client/src/app/site/pages/meetings/pages/motions/components/motion-main/motion-main.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/components/motion-main/motion-main.component.spec.ts index d30cf2616f8..84bec5fcd99 100644 --- a/client/src/app/site/pages/meetings/pages/motions/components/motion-main/motion-main.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/components/motion-main/motion-main.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionMainComponent } from './motion-main.component'; -xdescribe(`MotionMainComponent`, () => { +describe.skip(`MotionMainComponent`, () => { let component: MotionMainComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/components/motion-main/motion-main.component.ts b/client/src/app/site/pages/meetings/pages/motions/components/motion-main/motion-main.component.ts index dc6f6113027..aaae8ac7cb3 100644 --- a/client/src/app/site/pages/meetings/pages/motions/components/motion-main/motion-main.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/components/motion-main/motion-main.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { Id } from 'src/app/domain/definitions/key-types'; import { SubscriptionConfig } from 'src/app/domain/interfaces/subscription-config'; @@ -14,6 +14,7 @@ import { selector: `os-motion-main`, templateUrl: `./motion-main.component.html`, styleUrls: [`./motion-main.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class MotionMainComponent extends BaseMeetingModelRequestHandler { diff --git a/client/src/app/site/pages/meetings/pages/motions/components/motion-multiselect/components/motion-multiselect-actions/motion-multiselect-actions.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/components/motion-multiselect/components/motion-multiselect-actions/motion-multiselect-actions.component.spec.ts index ddc67b07c6c..be1d92f7c20 100644 --- a/client/src/app/site/pages/meetings/pages/motions/components/motion-multiselect/components/motion-multiselect-actions/motion-multiselect-actions.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/components/motion-multiselect/components/motion-multiselect-actions/motion-multiselect-actions.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionMultiselectActionsComponent } from './motion-multiselect-actions.component'; -xdescribe(`MotionMultiselectActionsComponent`, () => { +describe.skip(`MotionMultiselectActionsComponent`, () => { let component: MotionMultiselectActionsComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/components/motion-multiselect/components/motion-multiselect-actions/motion-multiselect-actions.component.ts b/client/src/app/site/pages/meetings/pages/motions/components/motion-multiselect/components/motion-multiselect-actions/motion-multiselect-actions.component.ts index 979b14ad48b..6ff2e43ca72 100644 --- a/client/src/app/site/pages/meetings/pages/motions/components/motion-multiselect/components/motion-multiselect-actions/motion-multiselect-actions.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/components/motion-multiselect/components/motion-multiselect-actions/motion-multiselect-actions.component.ts @@ -1,4 +1,4 @@ -import { Component, EventEmitter, inject, Input, OnInit, Output } from '@angular/core'; +import { ChangeDetectionStrategy, Component, EventEmitter, inject, Input, OnInit, Output } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; import { Permission } from 'src/app/domain/definitions/permission'; @@ -20,6 +20,7 @@ import { MotionMultiselectService } from '../../services/motion-multiselect.serv selector: `os-motion-multiselect-actions`, templateUrl: `./motion-multiselect-actions.component.html`, styleUrls: [`./motion-multiselect-actions.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class MotionMultiselectActionsComponent extends BaseUiComponent implements OnInit { diff --git a/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll-detail-content/motion-poll-detail-content.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll-detail-content/motion-poll-detail-content.component.spec.ts index 7054ad3882f..0b62b35c7af 100644 --- a/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll-detail-content/motion-poll-detail-content.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll-detail-content/motion-poll-detail-content.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionPollDetailContentComponent } from './motion-poll-detail-content.component'; -xdescribe(`MotionPollDetailContentComponent`, () => { +describe.skip(`MotionPollDetailContentComponent`, () => { let component: MotionPollDetailContentComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll-dialog/motion-poll-dialog.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll-dialog/motion-poll-dialog.component.spec.ts index 8eea1f24ecc..a38ce7a0b12 100644 --- a/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll-dialog/motion-poll-dialog.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll-dialog/motion-poll-dialog.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionPollDialogComponent } from './motion-poll-dialog.component'; -xdescribe(`MotionPollDialogComponent`, () => { +describe.skip(`MotionPollDialogComponent`, () => { let component: MotionPollDialogComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll-dialog/motion-poll-dialog.component.ts b/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll-dialog/motion-poll-dialog.component.ts index 86488f55f61..2b4d716c1e5 100644 --- a/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll-dialog/motion-poll-dialog.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll-dialog/motion-poll-dialog.component.ts @@ -1,4 +1,4 @@ -import { AfterViewInit, Component, Inject } from '@angular/core'; +import { AfterViewInit, ChangeDetectionStrategy, Component, Inject } from '@angular/core'; import { MAT_DIALOG_DATA } from '@angular/material/dialog'; import { _ } from '@ngx-translate/core'; import { BaseModel } from 'src/app/domain/models/base/base-model'; @@ -18,6 +18,7 @@ export const MotionPollMethodsVerbose = { selector: `os-motion-poll-dialog`, templateUrl: `./motion-poll-dialog.component.html`, styleUrls: [`./motion-poll-dialog.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class MotionPollDialogComponent extends BasePollDialogComponent implements AfterViewInit { diff --git a/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll-form/motion-poll-form.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll-form/motion-poll-form.component.spec.ts index b6028f7d42c..51fc37131c9 100644 --- a/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll-form/motion-poll-form.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll-form/motion-poll-form.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionPollFormComponent } from './motion-poll-form.component'; -xdescribe(`MotionPollFormComponent`, () => { +describe.skip(`MotionPollFormComponent`, () => { let component: MotionPollFormComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll-form/motion-poll-form.component.ts b/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll-form/motion-poll-form.component.ts index e2bbf7f3579..4f1ad4d81c6 100644 --- a/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll-form/motion-poll-form.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll-form/motion-poll-form.component.ts @@ -1,4 +1,4 @@ -import { Component, ViewEncapsulation } from '@angular/core'; +import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core'; import { _ } from '@ngx-translate/core'; import { PollPropertyVerboseKey } from 'src/app/domain/models/poll'; import { @@ -12,6 +12,7 @@ import { styleUrls: [`../../../../../../modules/poll/components/base-poll-form/base-poll-form.component.scss`], providers: [{ provide: BasePollFormComponent, useExisting: MotionPollFormComponent }], encapsulation: ViewEncapsulation.None, + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class MotionPollFormComponent extends BasePollFormComponent { diff --git a/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll-meta-information/motion-poll-meta-information.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll-meta-information/motion-poll-meta-information.component.spec.ts index c7e7fb87c5b..0293d3137f9 100644 --- a/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll-meta-information/motion-poll-meta-information.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll-meta-information/motion-poll-meta-information.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionPollMetaInformationComponent } from './motion-poll-meta-information.component'; -xdescribe(`MotionPollMetaInformationComponent`, () => { +describe.skip(`MotionPollMetaInformationComponent`, () => { let component: MotionPollMetaInformationComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll-meta-information/motion-poll-meta-information.component.ts b/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll-meta-information/motion-poll-meta-information.component.ts index c46626dfe67..a7f9e202083 100644 --- a/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll-meta-information/motion-poll-meta-information.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll-meta-information/motion-poll-meta-information.component.ts @@ -1,10 +1,11 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { BasePollMetaInformationComponent } from 'src/app/site/pages/meetings/modules/poll/base/base-poll-meta-information.component'; @Component({ selector: `os-motion-poll-meta-information`, templateUrl: `./motion-poll-meta-information.component.html`, styleUrls: [`./motion-poll-meta-information.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class MotionPollMetaInformationComponent extends BasePollMetaInformationComponent {} diff --git a/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll-vote/motion-poll-vote.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll-vote/motion-poll-vote.component.spec.ts index fc58c115459..73416c00849 100644 --- a/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll-vote/motion-poll-vote.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll-vote/motion-poll-vote.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionPollVoteComponent } from './motion-poll-vote.component'; -xdescribe(`MotionPollVoteComponent`, () => { +describe.skip(`MotionPollVoteComponent`, () => { let component: MotionPollVoteComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll/motion-poll.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll/motion-poll.component.spec.ts index 43825ea66e5..8e21abdd660 100644 --- a/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll/motion-poll.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll/motion-poll.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionPollComponent } from './motion-poll.component'; -xdescribe(`MotionPollComponent`, () => { +describe.skip(`MotionPollComponent`, () => { let component: MotionPollComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll/motion-poll.component.ts b/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll/motion-poll.component.ts index e41b88413ed..3e79372234c 100644 --- a/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll/motion-poll.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/modules/motion-poll/components/motion-poll/motion-poll.component.ts @@ -1,4 +1,4 @@ -import { Component, EventEmitter, Input, Output } from '@angular/core'; +import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { Id } from 'src/app/domain/definitions/key-types'; import { Permission } from 'src/app/domain/definitions/permission'; @@ -15,6 +15,7 @@ import { MotionPollPdfService } from '../../services/motion-poll-pdf.service/mot selector: `os-motion-poll`, templateUrl: `./motion-poll.component.html`, styleUrls: [`./motion-poll.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class MotionPollComponent extends BasePollComponent { diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/amendments/components/amendment-list-main/amendment-list-main.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/amendments/components/amendment-list-main/amendment-list-main.component.spec.ts index 56e892d1428..9711e61dbd0 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/amendments/components/amendment-list-main/amendment-list-main.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/amendments/components/amendment-list-main/amendment-list-main.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { AmendmentListMainComponent } from './amendment-list-main.component'; -xdescribe(`AmendmentListMainComponent`, () => { +describe.skip(`AmendmentListMainComponent`, () => { let component: AmendmentListMainComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/amendments/components/amendment-list-main/amendment-list-main.component.ts b/client/src/app/site/pages/meetings/pages/motions/pages/amendments/components/amendment-list-main/amendment-list-main.component.ts index 892d8d40ab2..62f277a2812 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/amendments/components/amendment-list-main/amendment-list-main.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/amendments/components/amendment-list-main/amendment-list-main.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { Id } from 'src/app/domain/definitions/key-types'; import { SubscriptionConfig } from 'src/app/domain/interfaces/subscription-config'; import { BaseMeetingModelRequestHandler } from 'src/app/site/pages/meetings/base/base-meeting-model-request-handler.component'; @@ -9,6 +9,7 @@ import { getAmendmentListSubscriptionConfig } from '../../../../motions.subscrip selector: `os-motion-main`, templateUrl: `./amendment-list-main.component.html`, styleUrls: [`./amendment-list-main.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class AmendmentListMainComponent extends BaseMeetingModelRequestHandler { diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/amendments/components/amendment-list/amendment-list.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/amendments/components/amendment-list/amendment-list.component.spec.ts index 84e90561041..219ce83373f 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/amendments/components/amendment-list/amendment-list.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/amendments/components/amendment-list/amendment-list.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { AmendmentListComponent } from './amendment-list.component'; -xdescribe(`AmendmentListComponent`, () => { +describe.skip(`AmendmentListComponent`, () => { let component: AmendmentListComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/amendments/components/amendment-list/amendment-list.component.ts b/client/src/app/site/pages/meetings/pages/motions/pages/amendments/components/amendment-list/amendment-list.component.ts index 70e5de6e569..8cf65f70d52 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/amendments/components/amendment-list/amendment-list.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/amendments/components/amendment-list/amendment-list.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit, ViewChild, ViewEncapsulation } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnInit, ViewChild, ViewEncapsulation } from '@angular/core'; import { ActivatedRoute, ParamMap } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; import { Observable, of, switchMap } from 'rxjs'; @@ -25,6 +25,7 @@ const AMENDMENT_LIST_STORAGE_INDEX = `amendment_list`; templateUrl: `./amendment-list.component.html`, styleUrls: [`./amendment-list.component.scss`], encapsulation: ViewEncapsulation.None, + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class AmendmentListComponent extends BaseMeetingListViewComponent implements OnInit { diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/categories/components/category-detail-sort/category-detail-sort.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/categories/components/category-detail-sort/category-detail-sort.component.spec.ts index 5e6f0ea090d..5ea6764bfe7 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/categories/components/category-detail-sort/category-detail-sort.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/categories/components/category-detail-sort/category-detail-sort.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { CategoryDetailSortComponent } from './category-detail-sort.component'; -xdescribe(`CategoryDetailSortComponent`, () => { +describe.skip(`CategoryDetailSortComponent`, () => { let component: CategoryDetailSortComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/categories/components/category-detail-sort/category-detail-sort.component.ts b/client/src/app/site/pages/meetings/pages/motions/pages/categories/components/category-detail-sort/category-detail-sort.component.ts index cd4eb1d8d62..6edc0c31625 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/categories/components/category-detail-sort/category-detail-sort.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/categories/components/category-detail-sort/category-detail-sort.component.ts @@ -1,4 +1,4 @@ -import { Component, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, Component, ViewChild } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; import { BehaviorSubject, Observable } from 'rxjs'; @@ -22,6 +22,7 @@ import { MotionControllerService } from '../../../../services/common/motion-cont selector: `os-category-detail-sort`, templateUrl: `./category-detail-sort.component.html`, styleUrls: [`./category-detail-sort.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class CategoryDetailSortComponent extends BaseMeetingComponent implements CanComponentDeactivate { diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/categories/components/category-detail/category-detail.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/categories/components/category-detail/category-detail.component.spec.ts index 2055f604122..374921f6b65 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/categories/components/category-detail/category-detail.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/categories/components/category-detail/category-detail.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { CategoryDetailComponent } from './category-detail.component'; -xdescribe(`CategoryDetailComponent`, () => { +describe.skip(`CategoryDetailComponent`, () => { let component: CategoryDetailComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/categories/components/category-detail/category-detail.component.ts b/client/src/app/site/pages/meetings/pages/motions/pages/categories/components/category-detail/category-detail.component.ts index 3ecc0e0d484..c86a03dc309 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/categories/components/category-detail/category-detail.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/categories/components/category-detail/category-detail.component.ts @@ -1,4 +1,4 @@ -import { Component, TemplateRef, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, Component, TemplateRef, ViewChild } from '@angular/core'; import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; import { MatDialog, MatDialogRef } from '@angular/material/dialog'; import { MatTableDataSource } from '@angular/material/table'; @@ -22,6 +22,7 @@ import { MotionControllerService } from '../../../../services/common/motion-cont selector: `os-category-detail`, templateUrl: `./category-detail.component.html`, styleUrls: [`./category-detail.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class CategoryDetailComponent extends BaseMeetingComponent { diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/categories/components/category-list-sort/category-list-sort.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/categories/components/category-list-sort/category-list-sort.component.spec.ts index beccc977c1b..e6497b2b422 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/categories/components/category-list-sort/category-list-sort.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/categories/components/category-list-sort/category-list-sort.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { CategoryListSortComponent } from './category-list-sort.component'; -xdescribe(`CategoryListSortComponent`, () => { +describe.skip(`CategoryListSortComponent`, () => { let component: CategoryListSortComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/categories/components/category-list-sort/category-list-sort.component.ts b/client/src/app/site/pages/meetings/pages/motions/pages/categories/components/category-list-sort/category-list-sort.component.ts index 4a7779f4976..9aba7c86262 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/categories/components/category-list-sort/category-list-sort.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/categories/components/category-list-sort/category-list-sort.component.ts @@ -1,4 +1,4 @@ -import { Component, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, Component, ViewChild } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { Observable } from 'rxjs'; import { CanComponentDeactivate } from 'src/app/site/guards/watch-for-changes.guard'; @@ -13,6 +13,7 @@ import { MotionCategoryControllerService } from '../../../../modules/categories/ selector: `os-category-list-sort`, templateUrl: `./category-list-sort.component.html`, styleUrls: [`./category-list-sort.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class CategoryListSortComponent extends BaseMeetingComponent implements CanComponentDeactivate { diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/categories/components/category-list/category-list.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/categories/components/category-list/category-list.component.spec.ts index a31cc6a5a5d..a14af57e913 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/categories/components/category-list/category-list.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/categories/components/category-list/category-list.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { CategoryListComponent } from './category-list.component'; -xdescribe(`CategoryListComponent`, () => { +describe.skip(`CategoryListComponent`, () => { let component: CategoryListComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/categories/components/category-list/category-list.component.ts b/client/src/app/site/pages/meetings/pages/motions/pages/categories/components/category-list/category-list.component.ts index 308770e17e9..5b8797e7f89 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/categories/components/category-list/category-list.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/categories/components/category-list/category-list.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit, TemplateRef, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnInit, TemplateRef, ViewChild } from '@angular/core'; import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; import { MatDialog, MatDialogRef } from '@angular/material/dialog'; import { TranslateService } from '@ngx-translate/core'; @@ -17,6 +17,7 @@ const CATEGORY_LIST_STORAGE_INDEX = `category_list`; selector: `os-category-list`, templateUrl: `./category-list.component.html`, styleUrls: [`./category-list.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class CategoryListComponent extends BaseMeetingListViewComponent implements OnInit { diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/comments/components/comment-section-list/comment-section-list.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/comments/components/comment-section-list/comment-section-list.component.spec.ts index a522e389b4f..d57cce8586f 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/comments/components/comment-section-list/comment-section-list.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/comments/components/comment-section-list/comment-section-list.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { CommentSectionListComponent } from './comment-section-list.component'; -xdescribe(`CommentSectionListComponent`, () => { +describe.skip(`CommentSectionListComponent`, () => { let component: CommentSectionListComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/comments/components/comment-section-list/comment-section-list.component.ts b/client/src/app/site/pages/meetings/pages/motions/pages/comments/components/comment-section-list/comment-section-list.component.ts index 404a4beafb7..6a33e4ba3fc 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/comments/components/comment-section-list/comment-section-list.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/comments/components/comment-section-list/comment-section-list.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit, TemplateRef, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnInit, TemplateRef, ViewChild } from '@angular/core'; import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; import { MatDialog, MatDialogRef } from '@angular/material/dialog'; import { _ } from '@ngx-translate/core'; @@ -19,6 +19,7 @@ import { MotionCommentSectionControllerService } from '../../../../modules/comme selector: `os-comment-section-list`, templateUrl: `./comment-section-list.component.html`, styleUrls: [`./comment-section-list.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class CommentSectionListComponent extends BaseComponent implements OnInit { diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/comments/components/comment-section-sort/comment-section-sort.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/comments/components/comment-section-sort/comment-section-sort.component.spec.ts index 596eef622fa..8156d87f02d 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/comments/components/comment-section-sort/comment-section-sort.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/comments/components/comment-section-sort/comment-section-sort.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { CommentSectionSortComponent } from './comment-section-sort.component'; -xdescribe(`CommentSectionSortComponent`, () => { +describe.skip(`CommentSectionSortComponent`, () => { let component: CommentSectionSortComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/comments/components/comment-section-sort/comment-section-sort.component.ts b/client/src/app/site/pages/meetings/pages/motions/pages/comments/components/comment-section-sort/comment-section-sort.component.ts index b1a3ce37901..02377618a3e 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/comments/components/comment-section-sort/comment-section-sort.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/comments/components/comment-section-sort/comment-section-sort.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { BaseComponent } from 'src/app/site/base/base.component'; import { ViewMotionCommentSection } from 'src/app/site/pages/meetings/pages/motions'; @@ -9,6 +9,7 @@ import { MotionCommentSectionControllerService } from '../../../../modules/comme selector: `os-comment-section-sort`, templateUrl: `./comment-section-sort.component.html`, styleUrls: [`./comment-section-sort.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class CommentSectionSortComponent extends BaseComponent implements OnInit { diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-blocks/components/motion-block-create-dialog/components/motion-block-create-dialog/motion-block-create-dialog.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-blocks/components/motion-block-create-dialog/components/motion-block-create-dialog/motion-block-create-dialog.component.spec.ts index efc0e297788..1d594f87085 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-blocks/components/motion-block-create-dialog/components/motion-block-create-dialog/motion-block-create-dialog.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-blocks/components/motion-block-create-dialog/components/motion-block-create-dialog/motion-block-create-dialog.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionBlockCreateDialogComponent } from './motion-block-create-dialog.component'; -xdescribe(`MotionBlockCreateDialogComponent`, () => { +describe.skip(`MotionBlockCreateDialogComponent`, () => { let component: MotionBlockCreateDialogComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-blocks/components/motion-block-create-dialog/components/motion-block-create-dialog/motion-block-create-dialog.component.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-blocks/components/motion-block-create-dialog/components/motion-block-create-dialog/motion-block-create-dialog.component.ts index e067db9bfd8..858296180f9 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-blocks/components/motion-block-create-dialog/components/motion-block-create-dialog/motion-block-create-dialog.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-blocks/components/motion-block-create-dialog/components/motion-block-create-dialog/motion-block-create-dialog.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; import { MatDialogRef } from '@angular/material/dialog'; import { MotionBlock } from 'src/app/domain/models/motions/motion-block'; @@ -7,6 +7,7 @@ import { MotionBlock } from 'src/app/domain/models/motions/motion-block'; selector: `os-motion-block-create-dialog`, templateUrl: `./motion-block-create-dialog.component.html`, styleUrls: [`./motion-block-create-dialog.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class MotionBlockCreateDialogComponent { diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-blocks/components/motion-block-detail/motion-block-detail.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-blocks/components/motion-block-detail/motion-block-detail.component.spec.ts index 9b7876ccb93..574cccbad55 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-blocks/components/motion-block-detail/motion-block-detail.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-blocks/components/motion-block-detail/motion-block-detail.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionBlockDetailComponent } from './motion-block-detail.component'; -xdescribe(`MotionBlockDetailComponent`, () => { +describe.skip(`MotionBlockDetailComponent`, () => { let component: MotionBlockDetailComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-blocks/components/motion-block-detail/motion-block-detail.component.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-blocks/components/motion-block-detail/motion-block-detail.component.ts index e09b02aada7..42dc9f96fe4 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-blocks/components/motion-block-detail/motion-block-detail.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-blocks/components/motion-block-detail/motion-block-detail.component.ts @@ -1,4 +1,4 @@ -import { Component, inject, OnInit, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, Component, inject, OnInit, ViewChild } from '@angular/core'; import { UntypedFormGroup } from '@angular/forms'; import { MatDialogRef } from '@angular/material/dialog'; import { ActivatedRoute } from '@angular/router'; @@ -24,6 +24,7 @@ import { MotionBlockEditDialogService } from '../motion-block-edit-dialog/servic selector: `os-motion-block-detail`, templateUrl: `./motion-block-detail.component.html`, styleUrls: [`./motion-block-detail.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class MotionBlockDetailComponent extends BaseMeetingListViewComponent implements OnInit { diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-blocks/components/motion-block-edit-dialog/components/motion-block-edit-dialog/motion-block-edit-dialog.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-blocks/components/motion-block-edit-dialog/components/motion-block-edit-dialog/motion-block-edit-dialog.component.spec.ts index 9cf1d36ee35..c83749fb625 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-blocks/components/motion-block-edit-dialog/components/motion-block-edit-dialog/motion-block-edit-dialog.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-blocks/components/motion-block-edit-dialog/components/motion-block-edit-dialog/motion-block-edit-dialog.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionBlockEditDialogComponent } from './motion-block-edit-dialog.component'; -xdescribe(`MotionBlockEditDialogComponent`, () => { +describe.skip(`MotionBlockEditDialogComponent`, () => { let component: MotionBlockEditDialogComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-blocks/components/motion-block-edit-dialog/components/motion-block-edit-dialog/motion-block-edit-dialog.component.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-blocks/components/motion-block-edit-dialog/components/motion-block-edit-dialog/motion-block-edit-dialog.component.ts index 67d668e5cc9..596630ee91d 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-blocks/components/motion-block-edit-dialog/components/motion-block-edit-dialog/motion-block-edit-dialog.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-blocks/components/motion-block-edit-dialog/components/motion-block-edit-dialog/motion-block-edit-dialog.component.ts @@ -1,4 +1,4 @@ -import { Component, Inject } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Inject } from '@angular/core'; import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { MotionBlock } from 'src/app/domain/models/motions/motion-block'; @@ -7,6 +7,7 @@ import { MotionBlock } from 'src/app/domain/models/motions/motion-block'; selector: `os-motion-block-edit-dialog`, templateUrl: `./motion-block-edit-dialog.component.html`, styleUrls: [`./motion-block-edit-dialog.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class MotionBlockEditDialogComponent { diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-blocks/components/motion-block-list/motion-block-list.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-blocks/components/motion-block-list/motion-block-list.component.spec.ts index 8da64bf83a2..5d458eb9679 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-blocks/components/motion-block-list/motion-block-list.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-blocks/components/motion-block-list/motion-block-list.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionBlockListComponent } from './motion-block-list.component'; -xdescribe(`MotionBlockListComponent`, () => { +describe.skip(`MotionBlockListComponent`, () => { let component: MotionBlockListComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-blocks/components/motion-block-list/motion-block-list.component.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-blocks/components/motion-block-list/motion-block-list.component.ts index 429259d81fc..217933eed97 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-blocks/components/motion-block-list/motion-block-list.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-blocks/components/motion-block-list/motion-block-list.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit, ViewEncapsulation } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnInit, ViewEncapsulation } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { Observable, of } from 'rxjs'; import { Permission } from 'src/app/domain/definitions/permission'; @@ -19,6 +19,7 @@ const MOTION_BLOCK_LIST_STORAGE_INDEX = `motion_blocks`; templateUrl: `./motion-block-list.component.html`, styleUrls: [`./motion-block-list.component.scss`], encapsulation: ViewEncapsulation.None, + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class MotionBlockListComponent extends BaseMeetingListViewComponent implements OnInit { diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-call-list/components/motion-call-list/motion-call-list.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-call-list/components/motion-call-list/motion-call-list.component.spec.ts index 25bbf4c6215..e26774332f3 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-call-list/components/motion-call-list/motion-call-list.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-call-list/components/motion-call-list/motion-call-list.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionCallListComponent } from './motion-call-list.component'; -xdescribe(`MotionCallListComponent`, () => { +describe.skip(`MotionCallListComponent`, () => { let component: MotionCallListComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-call-list/components/motion-call-list/motion-call-list.component.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-call-list/components/motion-call-list/motion-call-list.component.ts index 12498b784f6..7fa29c085d0 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-call-list/components/motion-call-list/motion-call-list.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-call-list/components/motion-call-list/motion-call-list.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { BehaviorSubject, Observable } from 'rxjs'; import { FlatNode } from 'src/app/infrastructure/definitions/tree'; @@ -19,6 +19,7 @@ import { MotionPdfExportService } from '../../../../services/export/motion-pdf-e selector: `os-motion-call-list`, templateUrl: `./motion-call-list.component.html`, styleUrls: [`./motion-call-list.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class MotionCallListComponent extends BaseSortTreeViewComponent implements OnInit { diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/components/motion-detail/motion-detail.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/components/motion-detail/motion-detail.component.spec.ts index d910a9a590a..d0c0361dc64 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/components/motion-detail/motion-detail.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/components/motion-detail/motion-detail.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionDetailComponent } from './motion-detail.component'; -xdescribe(`MotionDetailComponent`, () => { +describe.skip(`MotionDetailComponent`, () => { let component: MotionDetailComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/components/motion-detail/motion-detail.component.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/components/motion-detail/motion-detail.component.ts index 6a9d96f6344..d2458b99890 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/components/motion-detail/motion-detail.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/components/motion-detail/motion-detail.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { Id, Ids } from 'src/app/domain/definitions/key-types'; import { Motion } from 'src/app/domain/models/motions/motion'; import { BaseModelRequestHandlerComponent } from 'src/app/site/base/base-model-request-handler.component'; @@ -16,6 +16,7 @@ import { MotionControllerService } from '../../../../services/common/motion-cont selector: `os-motion-detail`, templateUrl: `./motion-detail.component.html`, styleUrls: [`./motion-detail.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class MotionDetailComponent extends BaseModelRequestHandlerComponent { diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/modules/directives/listen-editing/listen-editing.directive.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/modules/directives/listen-editing/listen-editing.directive.spec.ts index 5be7881a001..c3a353a6055 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/modules/directives/listen-editing/listen-editing.directive.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/modules/directives/listen-editing/listen-editing.directive.spec.ts @@ -2,7 +2,7 @@ import { TestBed } from '@angular/core/testing'; import { ListenEditingDirective } from './listen-editing.directive'; -xdescribe(`ListenEditingDirective`, () => { +describe.skip(`ListenEditingDirective`, () => { let directive: ListenEditingDirective; beforeEach(async () => { diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/modules/motion-change-recommendation-dialog/components/motion-content-change-recommendation-dialog/motion-content-change-recommendation-dialog.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/modules/motion-change-recommendation-dialog/components/motion-content-change-recommendation-dialog/motion-content-change-recommendation-dialog.component.spec.ts index 825357cd5a6..0418a13b0cc 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/modules/motion-change-recommendation-dialog/components/motion-content-change-recommendation-dialog/motion-content-change-recommendation-dialog.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/modules/motion-change-recommendation-dialog/components/motion-content-change-recommendation-dialog/motion-content-change-recommendation-dialog.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionContentChangeRecommendationDialogComponent } from './motion-content-change-recommendation-dialog.component'; -xdescribe(`MotionContentChangeRecommendationDialogComponent`, () => { +describe.skip(`MotionContentChangeRecommendationDialogComponent`, () => { let component: MotionContentChangeRecommendationDialogComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/modules/motion-change-recommendation-dialog/components/motion-content-change-recommendation-dialog/motion-content-change-recommendation-dialog.component.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/modules/motion-change-recommendation-dialog/components/motion-content-change-recommendation-dialog/motion-content-change-recommendation-dialog.component.ts index 167d5594b97..d8b7b2c5a75 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/modules/motion-change-recommendation-dialog/components/motion-content-change-recommendation-dialog/motion-content-change-recommendation-dialog.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/modules/motion-change-recommendation-dialog/components/motion-content-change-recommendation-dialog/motion-content-change-recommendation-dialog.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { AbstractControl, ValidatorFn, Validators } from '@angular/forms'; import { _ } from '@ngx-translate/core'; import { ModificationType } from 'src/app/domain/models/motions/motions.constants'; @@ -42,6 +42,7 @@ export interface MotionContentChangeRecommendationDialogComponentData extends Ba selector: `os-motion-content-change-recommendation-dialog`, templateUrl: `./motion-content-change-recommendation-dialog.component.html`, styleUrls: [`./motion-content-change-recommendation-dialog.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class MotionContentChangeRecommendationDialogComponent extends BaseChangeRecommendationDialogComponent { diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/modules/motion-change-recommendation-dialog/components/motion-title-change-recommendation-dialog/motion-title-change-recommendation-dialog.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/modules/motion-change-recommendation-dialog/components/motion-title-change-recommendation-dialog/motion-title-change-recommendation-dialog.component.spec.ts index 4a82c029dec..c9150534a75 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/modules/motion-change-recommendation-dialog/components/motion-title-change-recommendation-dialog/motion-title-change-recommendation-dialog.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/modules/motion-change-recommendation-dialog/components/motion-title-change-recommendation-dialog/motion-title-change-recommendation-dialog.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionTitleChangeRecommendationDialogComponent } from './motion-title-change-recommendation-dialog.component'; -xdescribe(`MotionTitleChangeRecommendationDialogComponent`, () => { +describe.skip(`MotionTitleChangeRecommendationDialogComponent`, () => { let component: MotionTitleChangeRecommendationDialogComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/modules/motion-change-recommendation-dialog/components/motion-title-change-recommendation-dialog/motion-title-change-recommendation-dialog.component.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/modules/motion-change-recommendation-dialog/components/motion-title-change-recommendation-dialog/motion-title-change-recommendation-dialog.component.ts index 2d60c02c48a..7134ae97a52 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/modules/motion-change-recommendation-dialog/components/motion-title-change-recommendation-dialog/motion-title-change-recommendation-dialog.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/modules/motion-change-recommendation-dialog/components/motion-title-change-recommendation-dialog/motion-title-change-recommendation-dialog.component.ts @@ -1,4 +1,4 @@ -import { Component, ViewEncapsulation } from '@angular/core'; +import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core'; import { Validators } from '@angular/forms'; import { @@ -33,6 +33,7 @@ export interface MotionTitleChangeRecommendationDialogComponentData extends Base templateUrl: `./motion-title-change-recommendation-dialog.component.html`, styleUrls: [`./motion-title-change-recommendation-dialog.component.scss`], encapsulation: ViewEncapsulation.None, + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class MotionTitleChangeRecommendationDialogComponent extends BaseChangeRecommendationDialogComponent { diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-form/components/amendment-create-wizard/amendment-create-wizard.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-form/components/amendment-create-wizard/amendment-create-wizard.component.spec.ts index 0c7de2e06f9..9c995c8d485 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-form/components/amendment-create-wizard/amendment-create-wizard.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-form/components/amendment-create-wizard/amendment-create-wizard.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { AmendmentCreateWizardComponent } from './amendment-create-wizard.component'; -xdescribe(`AmendmentCreateWizardComponent`, () => { +describe.skip(`AmendmentCreateWizardComponent`, () => { let component: AmendmentCreateWizardComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-form/components/amendment-create-wizard/amendment-create-wizard.component.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-form/components/amendment-create-wizard/amendment-create-wizard.component.ts index 48dada0612f..446f1203cb9 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-form/components/amendment-create-wizard/amendment-create-wizard.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-form/components/amendment-create-wizard/amendment-create-wizard.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit, ViewChild, ViewEncapsulation } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnInit, ViewChild, ViewEncapsulation } from '@angular/core'; import { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms'; import { MatStepper } from '@angular/material/stepper'; import { ActivatedRoute } from '@angular/router'; @@ -24,6 +24,7 @@ import { templateUrl: `./amendment-create-wizard.component.html`, styleUrls: [`./amendment-create-wizard.component.scss`], encapsulation: ViewEncapsulation.None, + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class AmendmentCreateWizardComponent extends BaseMeetingComponent implements OnInit { diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-form/components/motion-form/motion-form.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-form/components/motion-form/motion-form.component.spec.ts index 8c2d79b66eb..6b387ea3861 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-form/components/motion-form/motion-form.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-form/components/motion-form/motion-form.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionFormComponent } from './motion-form.component'; -xdescribe(`MotionDetailFormComponent`, () => { +describe.skip(`MotionDetailFormComponent`, () => { let component: MotionFormComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-form/components/paragraph-based-amendment-editor/paragraph-based-amendment-editor.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-form/components/paragraph-based-amendment-editor/paragraph-based-amendment-editor.component.spec.ts index 7e43e0715ab..456d9dc9324 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-form/components/paragraph-based-amendment-editor/paragraph-based-amendment-editor.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-form/components/paragraph-based-amendment-editor/paragraph-based-amendment-editor.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ParagraphBasedAmendmentEditorComponent } from './paragraph-based-amendment-editor.component'; -xdescribe(`ParagraphBasedAmendmentEditorComponent`, () => { +describe.skip(`ParagraphBasedAmendmentEditorComponent`, () => { let component: ParagraphBasedAmendmentEditorComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-add-poll-button/motion-add-poll-button.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-add-poll-button/motion-add-poll-button.component.spec.ts index 30287e4ede5..2ddf8518da8 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-add-poll-button/motion-add-poll-button.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-add-poll-button/motion-add-poll-button.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionAddPollButtonComponent } from './motion-add-poll-button.component'; -xdescribe(`MotionAddPollButtonComponent`, () => { +describe.skip(`MotionAddPollButtonComponent`, () => { let component: MotionAddPollButtonComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-comment/motion-comment.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-comment/motion-comment.component.spec.ts index 53b5f0f660a..eb925b6c303 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-comment/motion-comment.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-comment/motion-comment.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionCommentComponent } from './motion-comment.component'; -xdescribe(`MotionCommentComponent`, () => { +describe.skip(`MotionCommentComponent`, () => { let component: MotionCommentComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-comments/motion-comments.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-comments/motion-comments.component.spec.ts index fdaab9e73aa..ef8436543e5 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-comments/motion-comments.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-comments/motion-comments.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionCommentsComponent } from './motion-comments.component'; -xdescribe(`MotionCommentsComponent`, () => { +describe.skip(`MotionCommentsComponent`, () => { let component: MotionCommentsComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-content/motion-content.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-content/motion-content.component.spec.ts index 373feff2981..3adbdaefd39 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-content/motion-content.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-content/motion-content.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionContentComponent } from './motion-content.component'; -xdescribe(`MotionContentComponent`, () => { +describe.skip(`MotionContentComponent`, () => { let component: MotionContentComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-delete-dialog/motion-delete-dialog.component.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-delete-dialog/motion-delete-dialog.component.ts index 2dad58766df..827ef3d6984 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-delete-dialog/motion-delete-dialog.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-delete-dialog/motion-delete-dialog.component.ts @@ -1,4 +1,4 @@ -import { Component, Inject } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Inject } from '@angular/core'; import { MatButtonModule } from '@angular/material/button'; import { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog'; import { TranslatePipe } from '@ngx-translate/core'; @@ -13,6 +13,7 @@ interface MotionDeleteDialogData { selector: `os-motion-delete-dialog`, templateUrl: `./motion-delete-dialog.component.html`, styleUrls: [`./motion-delete-dialog.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, imports: [MatDialogModule, MatButtonModule, TranslatePipe] }) export class MotionDeleteDialogComponent { diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-detail-diff-summary/motion-detail-diff-summary.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-detail-diff-summary/motion-detail-diff-summary.component.spec.ts index 5a655021d87..cb763161851 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-detail-diff-summary/motion-detail-diff-summary.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-detail-diff-summary/motion-detail-diff-summary.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionDetailDiffSummaryComponent } from './motion-detail-diff-summary.component'; -xdescribe(`MotionDetailDiffSummaryComponent`, () => { +describe.skip(`MotionDetailDiffSummaryComponent`, () => { let component: MotionDetailDiffSummaryComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-detail-diff/motion-detail-diff.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-detail-diff/motion-detail-diff.component.spec.ts index a4206d7ebba..5cac764295a 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-detail-diff/motion-detail-diff.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-detail-diff/motion-detail-diff.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionDetailDiffComponent } from './motion-detail-diff.component'; -xdescribe(`MotionDetailDiffComponent`, () => { +describe.skip(`MotionDetailDiffComponent`, () => { let component: MotionDetailDiffComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-detail-original-change-recommendations/motion-detail-original-change-recommendations.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-detail-original-change-recommendations/motion-detail-original-change-recommendations.component.spec.ts index e5788ea193e..55b86ebcbe8 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-detail-original-change-recommendations/motion-detail-original-change-recommendations.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-detail-original-change-recommendations/motion-detail-original-change-recommendations.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionDetailOriginalChangeRecommendationsComponent } from './motion-detail-original-change-recommendations.component'; -xdescribe(`MotionDetailOriginalChangeRecommendationsComponent`, () => { +describe.skip(`MotionDetailOriginalChangeRecommendationsComponent`, () => { let component: MotionDetailOriginalChangeRecommendationsComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-extension-field/motion-extension-field.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-extension-field/motion-extension-field.component.spec.ts index 937ee938f80..9d6402ac6b3 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-extension-field/motion-extension-field.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-extension-field/motion-extension-field.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionExtensionFieldComponent } from './motion-extension-field.component'; -xdescribe(`MotionExtensionFieldComponent`, () => { +describe.skip(`MotionExtensionFieldComponent`, () => { let component: MotionExtensionFieldComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-final-version/motion-final-version.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-final-version/motion-final-version.component.spec.ts index e825a58da94..3dd9ab72efe 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-final-version/motion-final-version.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-final-version/motion-final-version.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionFinalVersionComponent } from './motion-final-version.component'; -xdescribe(`MotionFinalVersionComponent`, () => { +describe.skip(`MotionFinalVersionComponent`, () => { let component: MotionFinalVersionComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-highlight-form/motion-highlight-form.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-highlight-form/motion-highlight-form.component.spec.ts index bc526300b7e..2a42b7eec6e 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-highlight-form/motion-highlight-form.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-highlight-form/motion-highlight-form.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionHighlightFormComponent } from './motion-highlight-form.component'; -xdescribe(`MotionHighlightFormComponent`, () => { +describe.skip(`MotionHighlightFormComponent`, () => { let component: MotionHighlightFormComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-manage-motion-meeting-users/motion-manage-motion-meeting-users.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-manage-motion-meeting-users/motion-manage-motion-meeting-users.component.spec.ts index f2dcd72d9d1..cf0912a7b05 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-manage-motion-meeting-users/motion-manage-motion-meeting-users.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-manage-motion-meeting-users/motion-manage-motion-meeting-users.component.spec.ts @@ -4,7 +4,7 @@ import { BaseHasMeetingUserViewModel } from 'src/app/site/pages/meetings/base/ba import { MotionManageMotionMeetingUsersComponent } from './motion-manage-motion-meeting-users.component'; -xdescribe(`MotionManageSubmittersComponent`, () => { +describe.skip(`MotionManageSubmittersComponent`, () => { let component: MotionManageMotionMeetingUsersComponent; let fixture: ComponentFixture>; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-manage-polls/motion-manage-polls.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-manage-polls/motion-manage-polls.component.spec.ts index e2751f86c1d..906d708e135 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-manage-polls/motion-manage-polls.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-manage-polls/motion-manage-polls.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionManagePollsComponent } from './motion-manage-polls.component'; -xdescribe(`MotionManagePollsComponent`, () => { +describe.skip(`MotionManagePollsComponent`, () => { let component: MotionManagePollsComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-manage-supporters/motion-manage-supporters.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-manage-supporters/motion-manage-supporters.component.spec.ts index 2308a53c467..e7b93731c9f 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-manage-supporters/motion-manage-supporters.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-manage-supporters/motion-manage-supporters.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionManageSupportersComponent } from './motion-manage-supporters.component'; -xdescribe('MotionManageSupportersComponent', () => { +describe.skip('MotionManageSupportersComponent', () => { let component: MotionManageSupportersComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-manage-timestamp/motion-manage-timestamp.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-manage-timestamp/motion-manage-timestamp.component.spec.ts index 3acd06ddb77..8b597d468fc 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-manage-timestamp/motion-manage-timestamp.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-manage-timestamp/motion-manage-timestamp.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionManageTimestampComponent } from './motion-manage-timestamp.component'; -xdescribe(`MotionManageTimestampComponent`, () => { +describe.skip(`MotionManageTimestampComponent`, () => { let component: MotionManageTimestampComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-manage-title/motion-manage-title.component.html b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-manage-title/motion-manage-title.component.html index 52f2e0560ed..dc6c1087f2c 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-manage-title/motion-manage-title.component.html +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-manage-title/motion-manage-title.component.html @@ -50,7 +50,10 @@ {{ 'Amendment to' | translate }}   - + {{ parent.number || parent.title }} diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-manage-title/motion-manage-title.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-manage-title/motion-manage-title.component.spec.ts index 247c06bf44a..d38d17b031b 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-manage-title/motion-manage-title.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-manage-title/motion-manage-title.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionManageTitleComponent } from './motion-manage-title.component'; -xdescribe(`MotionManageTitleComponent`, () => { +describe.skip(`MotionManageTitleComponent`, () => { let component: MotionManageTitleComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-meta-data/motion-meta-data.component.html b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-meta-data/motion-meta-data.component.html index 642cd8a674a..29fd1a89526 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-meta-data/motion-meta-data.component.html +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-meta-data/motion-meta-data.component.html @@ -8,7 +8,7 @@ field="submitters" secondSelectorLabel="{{ 'Committees' | translate }}" title="{{ 'Submitters' | translate }}" - [additionalInputValue]="motion?.additional_submitter" + [additionalInputValue]="$safeNavigationMigration(motion?.additional_submitter)" [loadSecondSelectorValues]="loadForwardingCommittees" [motion]="motion" [repo]="motionSubmitterRepo" @@ -52,7 +52,7 @@ [chipValue]="stateLabel" [classes]="motion.stateCssColor" [hasExtension]="!!motionState && motionState.show_state_extension_field" - [searchFieldInput]="motion?.state_extension" + [searchFieldInput]="$safeNavigationMigration(motion?.state_extension)" (succeeded)="setStateExtension($event)" > @@ -144,9 +144,9 @@

{{ 'Motion forwarded to' | translate }}

[canBeEdited]="perms.isAllowed('change_metadata', motion)" [chipValue]="recommendationLabel" [hasExtension]="!!motion.recommendation && motion.recommendation.show_recommendation_extension_field" - [internal]="motion?.state?.is_internal" + [internal]="$safeNavigationMigration(motion?.state?.is_internal)" [listValueTransformFns]="[motionTransformFn]" - [searchFieldInput]="motion?.recommendation_extension" + [searchFieldInput]="$safeNavigationMigration(motion?.recommendation_extension)" [searchLists]="searchLists" (succeeded)="setRecommendationExtension($event)" > @@ -211,7 +211,7 @@

{{ 'Referring motions' | translate }}

@if (motion?.identical_motions?.length) {

{{ 'Identical with' | translate }}

- + {{ view.numberOrTitle }} diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-meta-data/motion-meta-data.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-meta-data/motion-meta-data.component.spec.ts index e91661e53a5..0074b27461f 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-meta-data/motion-meta-data.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-meta-data/motion-meta-data.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionMetaDataComponent } from './motion-meta-data.component'; -xdescribe(`MotionMetaDataComponent`, () => { +describe.skip(`MotionMetaDataComponent`, () => { let component: MotionMetaDataComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-personal-note/motion-personal-note.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-personal-note/motion-personal-note.component.spec.ts index d58a24de2b0..d463bcc7fca 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-personal-note/motion-personal-note.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-personal-note/motion-personal-note.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionPersonalNoteComponent } from './motion-personal-note.component'; -xdescribe(`MotionPersonalNoteComponent`, () => { +describe.skip(`MotionPersonalNoteComponent`, () => { let component: MotionPersonalNoteComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-view/motion-view.component.html b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-view/motion-view.component.html index 7339121bd92..f4ed0fd7a38 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-view/motion-view.component.html +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-view/motion-view.component.html @@ -3,7 +3,7 @@ @let isMobile = vp.isMobileSubject | async; @if (originMotionsLoaded.length) { - +
@for (originMotion of originMotionsLoaded; track originMotion.id) { - +
diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-view/motion-view.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-view/motion-view.component.spec.ts index 3677fc62fe3..f22a35ae5a4 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-view/motion-view.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/motion-view/motion-view.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionViewComponent } from './motion-view.component'; -xdescribe(`MotionDetailViewComponent`, () => { +describe.skip(`MotionDetailViewComponent`, () => { let component: MotionViewComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/origin-motion-meta-data/origin-motion-meta-data.component.html b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/origin-motion-meta-data/origin-motion-meta-data.component.html index 1e0eb371cca..dc773a8e38a 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/origin-motion-meta-data/origin-motion-meta-data.component.html +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/origin-motion-meta-data/origin-motion-meta-data.component.html @@ -61,11 +61,11 @@

[canBeEdited]="false" [chipValue]="recommendationLabel" [hasExtension]="!!motion.recommendation && motion.recommendation.show_recommendation_extension_field" - [internal]="motion?.state?.is_internal" + [internal]="$safeNavigationMigration(motion?.state?.is_internal)" [listValueTransformFns]="[motionTransformFn]" - [searchFieldInput]="motion?.recommendation_extension" + [searchFieldInput]="$safeNavigationMigration(motion?.recommendation_extension)" [searchLists]="searchLists" - [title]="motion.meeting?.motions_recommendations_by" + [title]="$safeNavigationMigration(motion.meeting?.motions_recommendations_by)" (succeeded)="setRecommendationExtension($event)" > diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/origin-motion-meta-data/origin-motion-meta-data.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/origin-motion-meta-data/origin-motion-meta-data.component.spec.ts index de388cb2cec..0a1be50f2b0 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/origin-motion-meta-data/origin-motion-meta-data.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/origin-motion-meta-data/origin-motion-meta-data.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { OriginMotionMetaDataComponent } from './origin-motion-meta-data.component'; -xdescribe(`MotionMetaDataComponent`, () => { +describe.skip(`MotionMetaDataComponent`, () => { let component: OriginMotionMetaDataComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/paragraph-based-amendment/paragraph-based-amendment.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/paragraph-based-amendment/paragraph-based-amendment.component.spec.ts index d54ccf424e7..cd596d29de6 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/paragraph-based-amendment/paragraph-based-amendment.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-detail/pages/motion-view/components/paragraph-based-amendment/paragraph-based-amendment.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ParagraphBasedAmendmentComponent } from './paragraph-based-amendment.component'; -xdescribe(`ParagraphBasedAmendmentComponent`, () => { +describe.skip(`ParagraphBasedAmendmentComponent`, () => { let component: ParagraphBasedAmendmentComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-export/components/motion-export/motion-export.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-export/components/motion-export/motion-export.component.spec.ts index a613f83c89f..9b844dccdd2 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-export/components/motion-export/motion-export.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-export/components/motion-export/motion-export.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionExportComponent } from './motion-export.component'; -xdescribe(`MotionExportComponent`, () => { +describe.skip(`MotionExportComponent`, () => { let component: MotionExportComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-export/components/motion-export/motion-export.component.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-export/components/motion-export/motion-export.component.ts index 54330fc9628..bbe91c27fa8 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-export/components/motion-export/motion-export.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-export/components/motion-export/motion-export.component.ts @@ -1,5 +1,13 @@ import { CommonModule } from '@angular/common'; -import { AfterViewInit, Component, inject, OnDestroy, ViewChild, ViewEncapsulation } from '@angular/core'; +import { + AfterViewInit, + ChangeDetectionStrategy, + Component, + inject, + OnDestroy, + ViewChild, + ViewEncapsulation +} from '@angular/core'; import { ReactiveFormsModule, UntypedFormBuilder, UntypedFormGroup } from '@angular/forms'; import { MatBadgeModule } from '@angular/material/badge'; import { MatButtonModule } from '@angular/material/button'; @@ -46,6 +54,7 @@ interface SavedSelections { templateUrl: `./motion-export.component.html`, styleUrls: [`./motion-export.component.scss`], encapsulation: ViewEncapsulation.None, + changeDetection: ChangeDetectionStrategy.Eager, imports: [ CommonModule, ReactiveFormsModule, diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-list/components/motion-list/motion-list.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-list/components/motion-list/motion-list.component.spec.ts index bcf6c107ef9..3fc1658639a 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-list/components/motion-list/motion-list.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-list/components/motion-list/motion-list.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionListComponent } from './motion-list.component'; -xdescribe(`MotionListComponent`, () => { +describe.skip(`MotionListComponent`, () => { let component: MotionListComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-list/components/motion-list/motion-list.component.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-list/components/motion-list/motion-list.component.ts index f84d9346025..6ae73ad7d0c 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-list/components/motion-list/motion-list.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-list/components/motion-list/motion-list.component.ts @@ -1,4 +1,4 @@ -import { Component, inject, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, inject, OnInit } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { firstValueFrom, map } from 'rxjs'; import { OsFilterOptionCondition } from 'src/app/site/base/base-filter.service'; @@ -41,6 +41,7 @@ interface TileCategoryInformation { selector: `os-motion-list`, templateUrl: `./motion-list.component.html`, styleUrls: [`./motion-list.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class MotionListComponent extends BaseMeetingListViewComponent implements OnInit { diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-list/modules/motion-list-info-dialog/components/motion-list-info-dialog/motion-list-info-dialog.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-list/modules/motion-list-info-dialog/components/motion-list-info-dialog/motion-list-info-dialog.component.spec.ts index 93204f9027b..03fd697020b 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-list/modules/motion-list-info-dialog/components/motion-list-info-dialog/motion-list-info-dialog.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-list/modules/motion-list-info-dialog/components/motion-list-info-dialog/motion-list-info-dialog.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionListInfoDialogComponent } from './motion-list-info-dialog.component'; -xdescribe(`MotionListInfoDialogComponent`, () => { +describe.skip(`MotionListInfoDialogComponent`, () => { let component: MotionListInfoDialogComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-list/modules/motion-list-info-dialog/components/motion-list-info-dialog/motion-list-info-dialog.component.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-list/modules/motion-list-info-dialog/components/motion-list-info-dialog/motion-list-info-dialog.component.ts index fc4cc34200b..6d74bc422ed 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-list/modules/motion-list-info-dialog/components/motion-list-info-dialog/motion-list-info-dialog.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-list/modules/motion-list-info-dialog/components/motion-list-info-dialog/motion-list-info-dialog.component.ts @@ -1,4 +1,4 @@ -import { Component, Inject } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Inject } from '@angular/core'; import { MAT_DIALOG_DATA } from '@angular/material/dialog'; import { Observable } from 'rxjs'; import { deepCopy } from 'src/app/infrastructure/utils/transform-functions'; @@ -21,6 +21,7 @@ import { MotionListInfoDialogConfig } from '../../definitions'; selector: `os-motion-list-info-dialog`, templateUrl: `./motion-list-info-dialog.component.html`, styleUrls: [`./motion-list-info-dialog.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class MotionListInfoDialogComponent { diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-polls/components/motion-poll-detail/motion-poll-detail.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-polls/components/motion-poll-detail/motion-poll-detail.component.spec.ts index bcfab20858f..04e325e3669 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-polls/components/motion-poll-detail/motion-poll-detail.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-polls/components/motion-poll-detail/motion-poll-detail.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionPollDetailComponent } from './motion-poll-detail.component'; -xdescribe(`MotionPollDetailComponent`, () => { +describe.skip(`MotionPollDetailComponent`, () => { let component: MotionPollDetailComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-polls/components/motion-poll-main/motion-poll-main.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-polls/components/motion-poll-main/motion-poll-main.component.spec.ts index 1e87bfd6ba0..3ff73ec866c 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-polls/components/motion-poll-main/motion-poll-main.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-polls/components/motion-poll-main/motion-poll-main.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MotionPollMainComponent } from './motion-poll-main.component'; -xdescribe(`MotionPollMainComponent`, () => { +describe.skip(`MotionPollMainComponent`, () => { let component: MotionPollMainComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/motion-polls/components/motion-poll-main/motion-poll-main.component.ts b/client/src/app/site/pages/meetings/pages/motions/pages/motion-polls/components/motion-poll-main/motion-poll-main.component.ts index 0a85a2ebebd..286f1a116cb 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/motion-polls/components/motion-poll-main/motion-poll-main.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/motion-polls/components/motion-poll-main/motion-poll-main.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { BaseModelRequestHandlerComponent } from 'src/app/site/base/base-model-request-handler.component'; import { SequentialNumberMappingService } from 'src/app/site/pages/meetings/services/sequential-number-mapping.service'; @@ -10,6 +10,7 @@ import { getPollDetailSubscriptionConfig } from '../../../../../polls/polls.subs selector: `os-motion-poll-main`, templateUrl: `./motion-poll-main.component.html`, styleUrls: [`./motion-poll-main.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class MotionPollMainComponent extends BaseModelRequestHandlerComponent { diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/tags/components/tag-list/tag-list.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/tags/components/tag-list/tag-list.component.spec.ts index ad8820155b4..fd7e58783d8 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/tags/components/tag-list/tag-list.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/tags/components/tag-list/tag-list.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { TagListComponent } from './tag-list.component'; -xdescribe(`TagListComponent`, () => { +describe.skip(`TagListComponent`, () => { let component: TagListComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/tags/components/tag-list/tag-list.component.ts b/client/src/app/site/pages/meetings/pages/motions/pages/tags/components/tag-list/tag-list.component.ts index d22ce8b34c2..75dd7029b9e 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/tags/components/tag-list/tag-list.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/tags/components/tag-list/tag-list.component.ts @@ -1,4 +1,4 @@ -import { ChangeDetectorRef, Component, OnInit, TemplateRef, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit, TemplateRef, ViewChild } from '@angular/core'; import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; import { MatDialog, MatDialogRef } from '@angular/material/dialog'; import { TranslateService } from '@ngx-translate/core'; @@ -15,6 +15,7 @@ import { TagControllerService } from '../../../../modules/tags/services'; selector: `os-tag-list`, templateUrl: `./tag-list.component.html`, styleUrls: [`./tag-list.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class TagListComponent extends BaseMeetingListViewComponent implements OnInit { diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-detail-sort/workflow-detail-sort.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-detail-sort/workflow-detail-sort.component.spec.ts index a58391abcf1..3bab1e91b84 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-detail-sort/workflow-detail-sort.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-detail-sort/workflow-detail-sort.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { WorkflowDetailSortComponent } from './workflow-detail-sort.component'; -xdescribe(`WorkflowDetailSortComponent`, () => { +describe.skip(`WorkflowDetailSortComponent`, () => { let component: WorkflowDetailSortComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-detail-sort/workflow-detail-sort.component.ts b/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-detail-sort/workflow-detail-sort.component.ts index a30ef5eabc4..2457b6ad749 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-detail-sort/workflow-detail-sort.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-detail-sort/workflow-detail-sort.component.ts @@ -1,4 +1,4 @@ -import { Component, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, Component, ViewChild } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { BehaviorSubject, map, Observable, Subscription } from 'rxjs'; import { Id } from 'src/app/domain/definitions/key-types'; @@ -17,6 +17,7 @@ import { getMotionWorkflowDetailSubscriptionConfig } from '../../../../motions.s selector: `os-workflow-detail-sort`, templateUrl: `./workflow-detail-sort.component.html`, styleUrls: [`./workflow-detail-sort.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class WorkflowDetailSortComponent extends BaseModelRequestHandlerComponent { diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-detail/workflow-detail.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-detail/workflow-detail.component.spec.ts index c4c87b91b17..67151fea4a8 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-detail/workflow-detail.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-detail/workflow-detail.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { WorkflowDetailComponent } from './workflow-detail.component'; -xdescribe(`WorkflowDetailComponent`, () => { +describe.skip(`WorkflowDetailComponent`, () => { let component: WorkflowDetailComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-detail/workflow-detail.component.ts b/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-detail/workflow-detail.component.ts index 81b42346643..161b54c5eee 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-detail/workflow-detail.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-detail/workflow-detail.component.ts @@ -1,4 +1,4 @@ -import { ChangeDetectorRef, Component, TemplateRef, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, TemplateRef, ViewChild } from '@angular/core'; import { MatCheckboxChange } from '@angular/material/checkbox'; import { MatDialog } from '@angular/material/dialog'; import { MatTableDataSource } from '@angular/material/table'; @@ -69,6 +69,7 @@ interface RestrictionShape { selector: `os-workflow-detail`, templateUrl: `./workflow-detail.component.html`, styleUrls: [`./workflow-detail.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class WorkflowDetailComponent extends BaseMeetingComponent { diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-import/workflow-import.component.html b/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-import/workflow-import.component.html index 05225ba4f27..ecba48913d5 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-import/workflow-import.component.html +++ b/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-import/workflow-import.component.html @@ -9,7 +9,7 @@

Import workflows

{{ 'Title' | translate }}
- {{ row?.title | translate }} + {{ $safeNavigationMigration(row?.title) | translate }}
diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-import/workflow-import.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-import/workflow-import.component.spec.ts index 0f421a0b6e9..f5c502d5337 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-import/workflow-import.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-import/workflow-import.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { WorkflowImportComponent } from './workflow-import.component'; -xdescribe(`WorkflowImportComponent`, () => { +describe.skip(`WorkflowImportComponent`, () => { let component: WorkflowImportComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-import/workflow-import.component.ts b/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-import/workflow-import.component.ts index e6b6066d1a5..b7e6fdbd8cd 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-import/workflow-import.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-import/workflow-import.component.ts @@ -1,5 +1,5 @@ import { Location } from '@angular/common'; -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { UploadFileJsonProcessorService } from 'src/app/infrastructure/utils/import/json-import-file-utils'; import { FileData } from 'src/app/ui/modules/file-upload/components/file-upload/file-upload.component'; @@ -9,6 +9,7 @@ import { MotionWorkflowControllerService } from '../../../../modules/workflows/s selector: `os-workflow-import`, templateUrl: `./workflow-import.component.html`, styleUrls: [`./workflow-import.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class WorkflowImportComponent { diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-list/workflow-list.component.spec.ts b/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-list/workflow-list.component.spec.ts index d5935661902..ddde0b51210 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-list/workflow-list.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-list/workflow-list.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { WorkflowListComponent } from './workflow-list.component'; -xdescribe(`WorkflowListComponent`, () => { +describe.skip(`WorkflowListComponent`, () => { let component: WorkflowListComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-list/workflow-list.component.ts b/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-list/workflow-list.component.ts index ae94168237d..39696a73a54 100644 --- a/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-list/workflow-list.component.ts +++ b/client/src/app/site/pages/meetings/pages/motions/pages/workflows/components/workflow-list/workflow-list.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit, TemplateRef } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnInit, TemplateRef } from '@angular/core'; import { MatDialog } from '@angular/material/dialog'; import { TranslateService } from '@ngx-translate/core'; import { infoDialogSettings } from 'src/app/infrastructure/utils/dialog-settings'; @@ -15,6 +15,7 @@ const WORKFLOW_LIST_STORAGE_INDEX = `workflows`; selector: `os-workflow-list`, templateUrl: `./workflow-list.component.html`, styleUrls: [`./workflow-list.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class WorkflowListComponent extends BaseMeetingListViewComponent implements OnInit { diff --git a/client/src/app/site/pages/meetings/pages/participants/components/participant-main/participant-main.component.spec.ts b/client/src/app/site/pages/meetings/pages/participants/components/participant-main/participant-main.component.spec.ts index 8e36edab2d0..40a942e92ee 100644 --- a/client/src/app/site/pages/meetings/pages/participants/components/participant-main/participant-main.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/participants/components/participant-main/participant-main.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ParticipantMainComponent } from './participant-main.component'; -xdescribe(`ParticipantMainComponent`, () => { +describe.skip(`ParticipantMainComponent`, () => { let component: ParticipantMainComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/participants/components/participant-main/participant-main.component.ts b/client/src/app/site/pages/meetings/pages/participants/components/participant-main/participant-main.component.ts index 5951669c797..99e9b57d7d4 100644 --- a/client/src/app/site/pages/meetings/pages/participants/components/participant-main/participant-main.component.ts +++ b/client/src/app/site/pages/meetings/pages/participants/components/participant-main/participant-main.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { Id } from 'src/app/domain/definitions/key-types'; import { SubscriptionConfig } from 'src/app/domain/interfaces/subscription-config'; import { BaseMeetingModelRequestHandler } from 'src/app/site/pages/meetings/base/base-meeting-model-request-handler.component'; @@ -13,6 +13,7 @@ import { getStructureLevelListSubscriptionConfig } from '../../participants.subs selector: `os-participant-main`, templateUrl: `./participant-main.component.html`, styleUrls: [`./participant-main.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class ParticipantMainComponent extends BaseMeetingModelRequestHandler { diff --git a/client/src/app/site/pages/meetings/pages/participants/modules/groups/components/group-list/group-list.component.html b/client/src/app/site/pages/meetings/pages/participants/modules/groups/components/group-list/group-list.component.html index 32de826e8d8..d4e9f890c84 100644 --- a/client/src/app/site/pages/meetings/pages/participants/modules/groups/components/group-list/group-list.component.html +++ b/client/src/app/site/pages/meetings/pages/participants/modules/groups/components/group-list/group-list.component.html @@ -123,7 +123,7 @@

mat-button type="submit" [disabled]="!groupForm?.valid" - (click)="saveGroup(groupForm?.value)" + (click)="saveGroup($safeNavigationMigration(groupForm?.value))" > {{ 'Save' | translate }} diff --git a/client/src/app/site/pages/meetings/pages/participants/modules/groups/components/group-list/group-list.component.spec.ts b/client/src/app/site/pages/meetings/pages/participants/modules/groups/components/group-list/group-list.component.spec.ts index 4479efc2a74..4a78d3593c5 100644 --- a/client/src/app/site/pages/meetings/pages/participants/modules/groups/components/group-list/group-list.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/participants/modules/groups/components/group-list/group-list.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { GroupListComponent } from './group-list.component'; -xdescribe(`GroupListComponent`, () => { +describe.skip(`GroupListComponent`, () => { let component: GroupListComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/participants/modules/groups/components/group-list/group-list.component.ts b/client/src/app/site/pages/meetings/pages/participants/modules/groups/components/group-list/group-list.component.ts index b046d7d030b..40cdff0508d 100644 --- a/client/src/app/site/pages/meetings/pages/participants/modules/groups/components/group-list/group-list.component.ts +++ b/client/src/app/site/pages/meetings/pages/participants/modules/groups/components/group-list/group-list.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit, TemplateRef, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnInit, TemplateRef, ViewChild } from '@angular/core'; import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; import { MatDialog, MatDialogRef } from '@angular/material/dialog'; import { MatTableDataSource } from '@angular/material/table'; @@ -20,6 +20,7 @@ import { GroupControllerService } from '../../services'; selector: `os-group-list`, templateUrl: `./group-list.component.html`, styleUrls: [`./group-list.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class GroupListComponent extends BaseMeetingComponent implements OnInit, CanComponentDeactivate { diff --git a/client/src/app/site/pages/meetings/pages/participants/pages/mandate-check/components/mandate-check-list/mandate-check-list.component.html b/client/src/app/site/pages/meetings/pages/participants/pages/mandate-check/components/mandate-check-list/mandate-check-list.component.html index 45294102be4..e2b1cfb49bb 100644 --- a/client/src/app/site/pages/meetings/pages/participants/pages/mandate-check/components/mandate-check-list/mandate-check-list.component.html +++ b/client/src/app/site/pages/meetings/pages/participants/pages/mandate-check/components/mandate-check-list/mandate-check-list.component.html @@ -84,15 +84,21 @@

{{ entry.genderEntryMap.get(gender.id)?.present }} {{ displayPercent( - entry.genderEntryMap.get(gender.id)?.present / - entry.presentUserIds.length + $safeNavigationMigration( + entry.genderEntryMap.get(gender.id)?.present + ) / entry.presentUserIds.length ) }}

}
-
{{ entry.genderEntryMap.get(gender.id)?.label | translate }}
+
+ {{ + $safeNavigationMigration(entry.genderEntryMap.get(gender.id)?.label) + | translate + }} +
@if (entry.getTotalCount(gender.id)) { diff --git a/client/src/app/site/pages/meetings/pages/participants/pages/mandate-check/components/mandate-check-list/mandate-check-list.component.spec.ts b/client/src/app/site/pages/meetings/pages/participants/pages/mandate-check/components/mandate-check-list/mandate-check-list.component.spec.ts index 22907db2ed1..3c49af9bbce 100644 --- a/client/src/app/site/pages/meetings/pages/participants/pages/mandate-check/components/mandate-check-list/mandate-check-list.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/participants/pages/mandate-check/components/mandate-check-list/mandate-check-list.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MandateCheckListComponent } from './mandate-check-list.component'; -xdescribe('MandateCheckListComponent', () => { +describe.skip('MandateCheckListComponent', () => { let component: MandateCheckListComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/participants/pages/mandate-check/components/mandate-check-list/mandate-check-list.component.ts b/client/src/app/site/pages/meetings/pages/participants/pages/mandate-check/components/mandate-check-list/mandate-check-list.component.ts index 2c477f4caad..3b285b6f15c 100644 --- a/client/src/app/site/pages/meetings/pages/participants/pages/mandate-check/components/mandate-check-list/mandate-check-list.component.ts +++ b/client/src/app/site/pages/meetings/pages/participants/pages/mandate-check/components/mandate-check-list/mandate-check-list.component.ts @@ -110,7 +110,7 @@ class MandateCheckEntry implements Identifiable { ], templateUrl: './mandate-check-list.component.html', styleUrl: './mandate-check-list.component.scss', - changeDetection: ChangeDetectionStrategy.Default + changeDetection: ChangeDetectionStrategy.Eager }) export class MandateCheckListComponent extends BaseMeetingComponent implements OnDestroy, OnInit { public structureLevels: ViewStructureLevel[] = []; diff --git a/client/src/app/site/pages/meetings/pages/participants/pages/mandate-check/components/mandate-check-main/mandate-check-main.component.spec.ts b/client/src/app/site/pages/meetings/pages/participants/pages/mandate-check/components/mandate-check-main/mandate-check-main.component.spec.ts index c92a8b51d0c..4242b21d059 100644 --- a/client/src/app/site/pages/meetings/pages/participants/pages/mandate-check/components/mandate-check-main/mandate-check-main.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/participants/pages/mandate-check/components/mandate-check-main/mandate-check-main.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MandateCheckMainComponent } from './mandate-check-main.component'; -xdescribe('MandateCheckMainComponent', () => { +describe.skip('MandateCheckMainComponent', () => { let component: MandateCheckMainComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/participants/pages/mandate-check/components/mandate-check-main/mandate-check-main.component.ts b/client/src/app/site/pages/meetings/pages/participants/pages/mandate-check/components/mandate-check-main/mandate-check-main.component.ts index fd134e03277..775855963cd 100644 --- a/client/src/app/site/pages/meetings/pages/participants/pages/mandate-check/components/mandate-check-main/mandate-check-main.component.ts +++ b/client/src/app/site/pages/meetings/pages/participants/pages/mandate-check/components/mandate-check-main/mandate-check-main.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { RouterModule } from '@angular/router'; import { Id } from 'src/app/domain/definitions/key-types'; import { SubscriptionConfig } from 'src/app/domain/interfaces/subscription-config'; @@ -10,6 +10,7 @@ import { getMandateCheckSubscriptionConfig } from '../../mandate-check.subscript selector: 'os-mandate-check-main', imports: [RouterModule], templateUrl: './mandate-check-main.component.html', + changeDetection: ChangeDetectionStrategy.Eager, styleUrl: './mandate-check-main.component.scss' }) export class MandateCheckMainComponent extends BaseMeetingModelRequestHandler { diff --git a/client/src/app/site/pages/meetings/pages/participants/pages/participant-detail/components/participant-detail-edit/participant-detail-edit.component.spec.ts b/client/src/app/site/pages/meetings/pages/participants/pages/participant-detail/components/participant-detail-edit/participant-detail-edit.component.spec.ts index 1b1dae83908..b5a2eed4573 100644 --- a/client/src/app/site/pages/meetings/pages/participants/pages/participant-detail/components/participant-detail-edit/participant-detail-edit.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/participants/pages/participant-detail/components/participant-detail-edit/participant-detail-edit.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ParticipantDetailEditComponent } from './participant-detail-edit.component'; -xdescribe(`ParticipantDetailEditComponent`, () => { +describe.skip(`ParticipantDetailEditComponent`, () => { let component: ParticipantDetailEditComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/participants/pages/participant-detail/components/participant-detail-view/participant-detail-view.component.spec.ts b/client/src/app/site/pages/meetings/pages/participants/pages/participant-detail/components/participant-detail-view/participant-detail-view.component.spec.ts index a6bb90b35c4..0007cda6dd0 100644 --- a/client/src/app/site/pages/meetings/pages/participants/pages/participant-detail/components/participant-detail-view/participant-detail-view.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/participants/pages/participant-detail/components/participant-detail-view/participant-detail-view.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ParticipantDetailViewComponent } from './participant-detail-view.component'; -xdescribe(`ParticipantDetailViewComponent`, () => { +describe.skip(`ParticipantDetailViewComponent`, () => { let component: ParticipantDetailViewComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/participants/pages/participant-detail/components/participant-detail/participant-detail.component.spec.ts b/client/src/app/site/pages/meetings/pages/participants/pages/participant-detail/components/participant-detail/participant-detail.component.spec.ts index efc42e674e9..7d776eaa751 100644 --- a/client/src/app/site/pages/meetings/pages/participants/pages/participant-detail/components/participant-detail/participant-detail.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/participants/pages/participant-detail/components/participant-detail/participant-detail.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ParticipantDetailComponent } from './participant-detail.component'; -xdescribe(`ParticipantDetailComponent`, () => { +describe.skip(`ParticipantDetailComponent`, () => { let component: ParticipantDetailComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/participants/pages/participant-detail/components/participant-detail/participant-detail.component.ts b/client/src/app/site/pages/meetings/pages/participants/pages/participant-detail/components/participant-detail/participant-detail.component.ts index 2fe43a54b2f..e38ddbe7eb8 100644 --- a/client/src/app/site/pages/meetings/pages/participants/pages/participant-detail/components/participant-detail/participant-detail.component.ts +++ b/client/src/app/site/pages/meetings/pages/participants/pages/participant-detail/components/participant-detail/participant-detail.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { BaseModelRequestHandlerComponent } from 'src/app/site/base/base-model-request-handler.component'; import { getParticipantDetailSubscription } from '../../../../participants.subscription'; @@ -7,6 +7,7 @@ import { getParticipantDetailSubscription } from '../../../../participants.subsc selector: `os-participant-detail`, templateUrl: `./participant-detail.component.html`, styleUrls: [`./participant-detail.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class ParticipantDetailComponent extends BaseModelRequestHandlerComponent { diff --git a/client/src/app/site/pages/meetings/pages/participants/pages/participant-detail/pages/participant-detail-manage/components/participant-create-wizard/participant-create-wizard.component.spec.ts b/client/src/app/site/pages/meetings/pages/participants/pages/participant-detail/pages/participant-detail-manage/components/participant-create-wizard/participant-create-wizard.component.spec.ts index 393b80179f6..b03ee5026df 100644 --- a/client/src/app/site/pages/meetings/pages/participants/pages/participant-detail/pages/participant-detail-manage/components/participant-create-wizard/participant-create-wizard.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/participants/pages/participant-detail/pages/participant-detail-manage/components/participant-create-wizard/participant-create-wizard.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ParticipantCreateWizardComponent } from './participant-create-wizard.component'; -xdescribe(`ParticipantCreateWizardComponent`, () => { +describe.skip(`ParticipantCreateWizardComponent`, () => { let component: ParticipantCreateWizardComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/participants/pages/participant-detail/pages/participant-detail-manage/components/participant-create-wizard/participant-create-wizard.component.ts b/client/src/app/site/pages/meetings/pages/participants/pages/participant-detail/pages/participant-detail-manage/components/participant-create-wizard/participant-create-wizard.component.ts index a4e406f5624..75519778c36 100644 --- a/client/src/app/site/pages/meetings/pages/participants/pages/participant-detail/pages/participant-detail-manage/components/participant-create-wizard/participant-create-wizard.component.ts +++ b/client/src/app/site/pages/meetings/pages/participants/pages/participant-detail/pages/participant-detail-manage/components/participant-create-wizard/participant-create-wizard.component.ts @@ -1,5 +1,5 @@ import { StepperSelectionEvent } from '@angular/cdk/stepper'; -import { Component, OnInit, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnInit, ViewChild } from '@angular/core'; import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; import { MatStepper } from '@angular/material/stepper'; import { TranslateService } from '@ngx-translate/core'; @@ -31,6 +31,7 @@ import { ViewStructureLevel } from '../../../../../structure-levels/view-models' selector: `os-participant-create-wizard`, templateUrl: `./participant-create-wizard.component.html`, styleUrls: [`./participant-create-wizard.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class ParticipantCreateWizardComponent extends BaseMeetingComponent implements OnInit { diff --git a/client/src/app/site/pages/meetings/pages/participants/pages/participant-import/components/participant-import-list/participant-import-list.component.spec.ts b/client/src/app/site/pages/meetings/pages/participants/pages/participant-import/components/participant-import-list/participant-import-list.component.spec.ts index fe8d4d777c8..30dc36ea098 100644 --- a/client/src/app/site/pages/meetings/pages/participants/pages/participant-import/components/participant-import-list/participant-import-list.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/participants/pages/participant-import/components/participant-import-list/participant-import-list.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ParticipantImportListComponent } from './participant-import-list.component'; -xdescribe(`ParticipantImportListComponent`, () => { +describe.skip(`ParticipantImportListComponent`, () => { let component: ParticipantImportListComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/participants/pages/participant-import/components/participant-import-list/participant-import-list.component.ts b/client/src/app/site/pages/meetings/pages/participants/pages/participant-import/components/participant-import-list/participant-import-list.component.ts index f3cd580a137..6f2f4020bcf 100644 --- a/client/src/app/site/pages/meetings/pages/participants/pages/participant-import/components/participant-import-list/participant-import-list.component.ts +++ b/client/src/app/site/pages/meetings/pages/participants/pages/participant-import/components/participant-import-list/participant-import-list.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { BaseViaBackendImportListMeetingComponent } from 'src/app/site/base/base-via-backend-import-list-meeting.component'; import { ImportListHeaderDefinition } from 'src/app/ui/modules/import-list'; @@ -10,6 +10,7 @@ import { ParticipantImportService } from '../../services'; selector: `os-participant-import-list`, templateUrl: `./participant-import-list.component.html`, styleUrls: [`./participant-import-list.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class ParticipantImportListComponent extends BaseViaBackendImportListMeetingComponent { diff --git a/client/src/app/site/pages/meetings/pages/participants/pages/participant-list/components/participant-list/participant-list.component.spec.ts b/client/src/app/site/pages/meetings/pages/participants/pages/participant-list/components/participant-list/participant-list.component.spec.ts index 649bbc3dcec..22c11c4a594 100644 --- a/client/src/app/site/pages/meetings/pages/participants/pages/participant-list/components/participant-list/participant-list.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/participants/pages/participant-list/components/participant-list/participant-list.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ParticipantListComponent } from './participant-list.component'; -xdescribe(`ParticipantListComponent`, () => { +describe.skip(`ParticipantListComponent`, () => { let component: ParticipantListComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/participants/pages/participant-list/components/participant-switch-dialog/participant-switch-dialog.component.spec.ts b/client/src/app/site/pages/meetings/pages/participants/pages/participant-list/components/participant-switch-dialog/participant-switch-dialog.component.spec.ts index 5cebc2eb68e..1dc4aad26e0 100644 --- a/client/src/app/site/pages/meetings/pages/participants/pages/participant-list/components/participant-switch-dialog/participant-switch-dialog.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/participants/pages/participant-list/components/participant-switch-dialog/participant-switch-dialog.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ParticipantSwitchDialogComponent } from './participant-switch-dialog.component'; -xdescribe(`ParticipantSwitchDialogComponent`, () => { +describe.skip(`ParticipantSwitchDialogComponent`, () => { let component: ParticipantSwitchDialogComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/participants/pages/participant-list/components/participant-switch-dialog/participant-switch-dialog.component.ts b/client/src/app/site/pages/meetings/pages/participants/pages/participant-list/components/participant-switch-dialog/participant-switch-dialog.component.ts index f2c653b88f2..a237325a0e3 100644 --- a/client/src/app/site/pages/meetings/pages/participants/pages/participant-list/components/participant-switch-dialog/participant-switch-dialog.component.ts +++ b/client/src/app/site/pages/meetings/pages/participants/pages/participant-list/components/participant-switch-dialog/participant-switch-dialog.component.ts @@ -1,4 +1,4 @@ -import { Component, Inject } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Inject } from '@angular/core'; import { MAT_DIALOG_DATA } from '@angular/material/dialog'; import { UserRepositoryService } from 'src/app/gateways/repositories/users'; import { UserSelectionData } from 'src/app/site/pages/meetings/modules/participant-search-selector'; @@ -13,6 +13,7 @@ interface ParticipantSwitchDialogConfig { selector: `os-participant-switch-dialog`, templateUrl: `./participant-switch-dialog.component.html`, styleUrls: [`./participant-switch-dialog.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class ParticipantSwitchDialogComponent { diff --git a/client/src/app/site/pages/meetings/pages/participants/pages/participant-list/modules/participant-list-info-dialog/components/participant-list-info-dialog/participant-list-info-dialog.component.spec.ts b/client/src/app/site/pages/meetings/pages/participants/pages/participant-list/modules/participant-list-info-dialog/components/participant-list-info-dialog/participant-list-info-dialog.component.spec.ts index 8219a4f0b37..cfb62defcc6 100644 --- a/client/src/app/site/pages/meetings/pages/participants/pages/participant-list/modules/participant-list-info-dialog/components/participant-list-info-dialog/participant-list-info-dialog.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/participants/pages/participant-list/modules/participant-list-info-dialog/components/participant-list-info-dialog/participant-list-info-dialog.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ParticipantListInfoDialogComponent } from './participant-list-info-dialog.component'; -xdescribe(`ParticipantListInfoDialogComponent`, () => { +describe.skip(`ParticipantListInfoDialogComponent`, () => { let component: ParticipantListInfoDialogComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/participants/pages/participant-list/modules/participant-list-info-dialog/components/participant-list-info-dialog/participant-list-info-dialog.component.ts b/client/src/app/site/pages/meetings/pages/participants/pages/participant-list/modules/participant-list-info-dialog/components/participant-list-info-dialog/participant-list-info-dialog.component.ts index 434d1a3393c..87019267f90 100644 --- a/client/src/app/site/pages/meetings/pages/participants/pages/participant-list/modules/participant-list-info-dialog/components/participant-list-info-dialog/participant-list-info-dialog.component.ts +++ b/client/src/app/site/pages/meetings/pages/participants/pages/participant-list/modules/participant-list-info-dialog/components/participant-list-info-dialog/participant-list-info-dialog.component.ts @@ -1,4 +1,4 @@ -import { Component, Inject, OnDestroy, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Inject, OnDestroy, OnInit } from '@angular/core'; import { MAT_DIALOG_DATA } from '@angular/material/dialog'; import { BehaviorSubject, Observable } from 'rxjs'; import { Permission } from 'src/app/domain/definitions/permission'; @@ -22,6 +22,7 @@ import { InfoDialog } from '../../services/participant-list-info-dialog.service' selector: `os-participant-list-info-dialog`, templateUrl: `./participant-list-info-dialog.component.html`, styleUrls: [`./participant-list-info-dialog.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class ParticipantListInfoDialogComponent extends BaseUiComponent implements OnInit, OnDestroy { diff --git a/client/src/app/site/pages/meetings/pages/participants/pages/participant-password/components/participant-password/participant-password.component.spec.ts b/client/src/app/site/pages/meetings/pages/participants/pages/participant-password/components/participant-password/participant-password.component.spec.ts index cc184085a55..e3936123a2d 100644 --- a/client/src/app/site/pages/meetings/pages/participants/pages/participant-password/components/participant-password/participant-password.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/participants/pages/participant-password/components/participant-password/participant-password.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ParticipantPasswordComponent } from './participant-password.component'; -xdescribe(`ParticipantPasswordComponent`, () => { +describe.skip(`ParticipantPasswordComponent`, () => { let component: ParticipantPasswordComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/participants/pages/participant-password/components/participant-password/participant-password.component.ts b/client/src/app/site/pages/meetings/pages/participants/pages/participant-password/components/participant-password/participant-password.component.ts index e8724813c22..c722a703546 100644 --- a/client/src/app/site/pages/meetings/pages/participants/pages/participant-password/components/participant-password/participant-password.component.ts +++ b/client/src/app/site/pages/meetings/pages/participants/pages/participant-password/components/participant-password/participant-password.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; import { map, of, switchAll, tap } from 'rxjs'; @@ -14,6 +14,7 @@ import { OperatorService } from 'src/app/site/services/operator.service'; selector: `os-participant-password`, templateUrl: `./participant-password.component.html`, styleUrls: [`./participant-password.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class ParticipantPasswordComponent extends BaseMeetingComponent implements OnInit { diff --git a/client/src/app/site/pages/meetings/pages/participants/pages/participant-presence/components/participant-presence/participant-presence.component.spec.ts b/client/src/app/site/pages/meetings/pages/participants/pages/participant-presence/components/participant-presence/participant-presence.component.spec.ts index 11a00b5e24a..b8e0e0f259b 100644 --- a/client/src/app/site/pages/meetings/pages/participants/pages/participant-presence/components/participant-presence/participant-presence.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/participants/pages/participant-presence/components/participant-presence/participant-presence.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ParticipantPresenceComponent } from './participant-presence.component'; -xdescribe(`ParticipantPresenceComponent`, () => { +describe.skip(`ParticipantPresenceComponent`, () => { let component: ParticipantPresenceComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/participants/pages/participant-presence/components/participant-presence/participant-presence.component.ts b/client/src/app/site/pages/meetings/pages/participants/pages/participant-presence/components/participant-presence/participant-presence.component.ts index 75e14d526a3..e76a47e38d6 100644 --- a/client/src/app/site/pages/meetings/pages/participants/pages/participant-presence/components/participant-presence/participant-presence.component.ts +++ b/client/src/app/site/pages/meetings/pages/participants/pages/participant-presence/components/participant-presence/participant-presence.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms'; import { _ } from '@ngx-translate/core'; import { ParticipantControllerService } from 'src/app/site/pages/meetings/pages/participants/services/common/participant-controller.service/participant-controller.service'; @@ -8,6 +8,7 @@ import { ViewUser } from 'src/app/site/pages/meetings/view-models/view-user'; selector: `os-participant-presence`, templateUrl: `./participant-presence.component.html`, styleUrls: [`./participant-presence.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class ParticipantPresenceComponent implements OnInit { diff --git a/client/src/app/site/pages/meetings/pages/participants/pages/participant-speaker-list/components/participant-speaker-list/participant-speaker-list.component.spec.ts b/client/src/app/site/pages/meetings/pages/participants/pages/participant-speaker-list/components/participant-speaker-list/participant-speaker-list.component.spec.ts index a19e4bab0f2..20f256296a5 100644 --- a/client/src/app/site/pages/meetings/pages/participants/pages/participant-speaker-list/components/participant-speaker-list/participant-speaker-list.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/participants/pages/participant-speaker-list/components/participant-speaker-list/participant-speaker-list.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ParticipantSpeakerListComponent } from './participant-speaker-list.component'; -xdescribe(`ParticipantSpeakerListComponent`, () => { +describe.skip(`ParticipantSpeakerListComponent`, () => { let component: ParticipantSpeakerListComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/participants/pages/structure-levels/components/structure-level-list/structure-level-list.component.spec.ts b/client/src/app/site/pages/meetings/pages/participants/pages/structure-levels/components/structure-level-list/structure-level-list.component.spec.ts index 8299acfff30..f4229144c9b 100644 --- a/client/src/app/site/pages/meetings/pages/participants/pages/structure-levels/components/structure-level-list/structure-level-list.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/participants/pages/structure-levels/components/structure-level-list/structure-level-list.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { StructureLevelListComponent } from './structure-level-list.component'; -xdescribe(`StructureLevelListComponent`, () => { +describe.skip(`StructureLevelListComponent`, () => { let component: StructureLevelListComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/participants/pages/structure-levels/components/structure-level-list/structure-level-list.component.ts b/client/src/app/site/pages/meetings/pages/participants/pages/structure-levels/components/structure-level-list/structure-level-list.component.ts index 224a20f348d..1c5acc29c8b 100644 --- a/client/src/app/site/pages/meetings/pages/participants/pages/structure-levels/components/structure-level-list/structure-level-list.component.ts +++ b/client/src/app/site/pages/meetings/pages/participants/pages/structure-levels/components/structure-level-list/structure-level-list.component.ts @@ -1,4 +1,4 @@ -import { ChangeDetectorRef, Component, TemplateRef, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, TemplateRef, ViewChild } from '@angular/core'; import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; import { MatDialog, MatDialogRef } from '@angular/material/dialog'; import { TranslateService } from '@ngx-translate/core'; @@ -16,6 +16,7 @@ import { StructureLevelSortService } from '../../services/structure-level-sort.s selector: `os-structure-level-list`, templateUrl: `./structure-level-list.component.html`, styleUrls: [`./structure-level-list.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class StructureLevelListComponent extends BaseMeetingListViewComponent { diff --git a/client/src/app/site/pages/meetings/pages/polls/components/poll-main/poll-main.component.spec.ts b/client/src/app/site/pages/meetings/pages/polls/components/poll-main/poll-main.component.spec.ts index 7d8a3f413bc..3924341b511 100644 --- a/client/src/app/site/pages/meetings/pages/polls/components/poll-main/poll-main.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/polls/components/poll-main/poll-main.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { PollMainComponent } from './poll-main.component'; -xdescribe(`PollMainComponent`, () => { +describe.skip(`PollMainComponent`, () => { let component: PollMainComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/polls/components/poll-main/poll-main.component.ts b/client/src/app/site/pages/meetings/pages/polls/components/poll-main/poll-main.component.ts index 90d8878772f..7151a0c7b79 100644 --- a/client/src/app/site/pages/meetings/pages/polls/components/poll-main/poll-main.component.ts +++ b/client/src/app/site/pages/meetings/pages/polls/components/poll-main/poll-main.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { Id } from 'src/app/domain/definitions/key-types'; import { SubscriptionConfig } from 'src/app/domain/interfaces/subscription-config'; @@ -9,6 +9,7 @@ import { getPollListSubscriptionConfig } from '../../polls.subscription'; selector: `os-poll-main`, templateUrl: `./poll-main.component.html`, styleUrls: [`./poll-main.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class PollMainComponent extends BaseMeetingModelRequestHandler { diff --git a/client/src/app/site/pages/meetings/pages/polls/modules/poll-list/components/poll-list/poll-list.component.spec.ts b/client/src/app/site/pages/meetings/pages/polls/modules/poll-list/components/poll-list/poll-list.component.spec.ts index 85b747676a1..33b22724147 100644 --- a/client/src/app/site/pages/meetings/pages/polls/modules/poll-list/components/poll-list/poll-list.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/polls/modules/poll-list/components/poll-list/poll-list.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { PollListComponent } from './poll-list.component'; -xdescribe(`PollListComponent`, () => { +describe.skip(`PollListComponent`, () => { let component: PollListComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/polls/modules/poll-list/components/poll-list/poll-list.component.ts b/client/src/app/site/pages/meetings/pages/polls/modules/poll-list/components/poll-list/poll-list.component.ts index 5733e9f15ae..fe7e46a3edc 100644 --- a/client/src/app/site/pages/meetings/pages/polls/modules/poll-list/components/poll-list/poll-list.component.ts +++ b/client/src/app/site/pages/meetings/pages/polls/modules/poll-list/components/poll-list/poll-list.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { PollState } from 'src/app/domain/models/poll/poll-constants'; import { BaseMeetingListViewComponent } from 'src/app/site/pages/meetings/base/base-meeting-list-view.component'; @@ -14,6 +14,7 @@ const POLL_LIST_STORAGE_INDEX = `polls`; selector: `os-poll-list`, templateUrl: `./poll-list.component.html`, styleUrls: [`./poll-list.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class PollListComponent extends BaseMeetingListViewComponent { diff --git a/client/src/app/site/pages/meetings/pages/projectors/components/projector-countdown-dialog/components/projector-countdown-dialog/projector-countdown-dialog.component.spec.ts b/client/src/app/site/pages/meetings/pages/projectors/components/projector-countdown-dialog/components/projector-countdown-dialog/projector-countdown-dialog.component.spec.ts index ae65b992501..fa78465d72e 100644 --- a/client/src/app/site/pages/meetings/pages/projectors/components/projector-countdown-dialog/components/projector-countdown-dialog/projector-countdown-dialog.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/projectors/components/projector-countdown-dialog/components/projector-countdown-dialog/projector-countdown-dialog.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ProjectorCountdownDialogComponent } from './projector-countdown-dialog.component'; -xdescribe(`ProjectorCountdownDialogComponent`, () => { +describe.skip(`ProjectorCountdownDialogComponent`, () => { let component: ProjectorCountdownDialogComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/projectors/components/projector-countdown-dialog/components/projector-countdown-dialog/projector-countdown-dialog.component.ts b/client/src/app/site/pages/meetings/pages/projectors/components/projector-countdown-dialog/components/projector-countdown-dialog/projector-countdown-dialog.component.ts index 4e671676a7b..d36a1d754f0 100644 --- a/client/src/app/site/pages/meetings/pages/projectors/components/projector-countdown-dialog/components/projector-countdown-dialog/projector-countdown-dialog.component.ts +++ b/client/src/app/site/pages/meetings/pages/projectors/components/projector-countdown-dialog/components/projector-countdown-dialog/projector-countdown-dialog.component.ts @@ -1,4 +1,4 @@ -import { Component, Inject, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Inject, OnInit } from '@angular/core'; import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; import { MAT_DIALOG_DATA } from '@angular/material/dialog'; import { TranslateService } from '@ngx-translate/core'; @@ -11,6 +11,7 @@ import { CountdownDialogData } from '../../definitions'; selector: `os-projector-countdown-dialog`, templateUrl: `./projector-countdown-dialog.component.html`, styleUrls: [`./projector-countdown-dialog.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class ProjectorCountdownDialogComponent implements OnInit { diff --git a/client/src/app/site/pages/meetings/pages/projectors/components/projector-edit-dialog/components/projector-edit-dialog/projector-edit-dialog.component.spec.ts b/client/src/app/site/pages/meetings/pages/projectors/components/projector-edit-dialog/components/projector-edit-dialog/projector-edit-dialog.component.spec.ts index 47f3833d90d..f799b953283 100644 --- a/client/src/app/site/pages/meetings/pages/projectors/components/projector-edit-dialog/components/projector-edit-dialog/projector-edit-dialog.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/projectors/components/projector-edit-dialog/components/projector-edit-dialog/projector-edit-dialog.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ProjectorEditDialogComponent } from './projector-edit-dialog.component'; -xdescribe(`ProjectorEditDialogComponent`, () => { +describe.skip(`ProjectorEditDialogComponent`, () => { let component: ProjectorEditDialogComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/projectors/components/projector-main/projector-main.component.spec.ts b/client/src/app/site/pages/meetings/pages/projectors/components/projector-main/projector-main.component.spec.ts index 92c0deaed7e..d2663321a04 100644 --- a/client/src/app/site/pages/meetings/pages/projectors/components/projector-main/projector-main.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/projectors/components/projector-main/projector-main.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ProjectorMainComponent } from './projector-main.component'; -xdescribe(`ProjectorMainComponent`, () => { +describe.skip(`ProjectorMainComponent`, () => { let component: ProjectorMainComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/projectors/components/projector-main/projector-main.component.ts b/client/src/app/site/pages/meetings/pages/projectors/components/projector-main/projector-main.component.ts index 5a0276e306a..9ce52703f73 100644 --- a/client/src/app/site/pages/meetings/pages/projectors/components/projector-main/projector-main.component.ts +++ b/client/src/app/site/pages/meetings/pages/projectors/components/projector-main/projector-main.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { Id } from 'src/app/domain/definitions/key-types'; import { SubscriptionConfig } from 'src/app/domain/interfaces/subscription-config'; @@ -9,6 +9,7 @@ import { getProjectorListSubscriptionConfig } from '../../projectors.subscriptio selector: `os-projector-main`, templateUrl: `./projector-main.component.html`, styleUrls: [`./projector-main.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class ProjectorMainComponent extends BaseMeetingModelRequestHandler { diff --git a/client/src/app/site/pages/meetings/pages/projectors/components/projector-message-dialog/components/projector-message-dialog/projector-message-dialog.component.spec.ts b/client/src/app/site/pages/meetings/pages/projectors/components/projector-message-dialog/components/projector-message-dialog/projector-message-dialog.component.spec.ts index 2326a58672a..b98767d1ba5 100644 --- a/client/src/app/site/pages/meetings/pages/projectors/components/projector-message-dialog/components/projector-message-dialog/projector-message-dialog.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/projectors/components/projector-message-dialog/components/projector-message-dialog/projector-message-dialog.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ProjectorMessageDialogComponent } from './projector-message-dialog.component'; -xdescribe(`ProjectorMessageDialogComponent`, () => { +describe.skip(`ProjectorMessageDialogComponent`, () => { let component: ProjectorMessageDialogComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/projectors/components/projector-message-dialog/components/projector-message-dialog/projector-message-dialog.component.ts b/client/src/app/site/pages/meetings/pages/projectors/components/projector-message-dialog/components/projector-message-dialog/projector-message-dialog.component.ts index 6af0045f705..da2a09ee46e 100644 --- a/client/src/app/site/pages/meetings/pages/projectors/components/projector-message-dialog/components/projector-message-dialog/projector-message-dialog.component.ts +++ b/client/src/app/site/pages/meetings/pages/projectors/components/projector-message-dialog/components/projector-message-dialog/projector-message-dialog.component.ts @@ -1,4 +1,4 @@ -import { Component, Inject, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Inject, OnInit } from '@angular/core'; import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; import { MAT_DIALOG_DATA } from '@angular/material/dialog'; import { TranslateService } from '@ngx-translate/core'; @@ -10,6 +10,7 @@ import { MessageDialogData } from '../../definitions'; selector: `os-projector-message-dialog`, templateUrl: `./projector-message-dialog.component.html`, styleUrls: [`./projector-message-dialog.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class ProjectorMessageDialogComponent extends BaseComponent implements OnInit { diff --git a/client/src/app/site/pages/meetings/pages/projectors/modules/fullscreen-projector/components/fullscreen-projector-detail/fullscreen-projector-detail.component.spec.ts b/client/src/app/site/pages/meetings/pages/projectors/modules/fullscreen-projector/components/fullscreen-projector-detail/fullscreen-projector-detail.component.spec.ts index 388552653ec..16b1618edd6 100644 --- a/client/src/app/site/pages/meetings/pages/projectors/modules/fullscreen-projector/components/fullscreen-projector-detail/fullscreen-projector-detail.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/projectors/modules/fullscreen-projector/components/fullscreen-projector-detail/fullscreen-projector-detail.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { FullscreenProjectorDetailComponent } from './fullscreen-projector-detail.component'; -xdescribe(`FullscreenProjectorDetailComponent`, () => { +describe.skip(`FullscreenProjectorDetailComponent`, () => { let component: FullscreenProjectorDetailComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/projectors/modules/fullscreen-projector/components/fullscreen-projector-detail/fullscreen-projector-detail.component.ts b/client/src/app/site/pages/meetings/pages/projectors/modules/fullscreen-projector/components/fullscreen-projector-detail/fullscreen-projector-detail.component.ts index 7bf1b686fef..40ab1b7dc07 100644 --- a/client/src/app/site/pages/meetings/pages/projectors/modules/fullscreen-projector/components/fullscreen-projector-detail/fullscreen-projector-detail.component.ts +++ b/client/src/app/site/pages/meetings/pages/projectors/modules/fullscreen-projector/components/fullscreen-projector-detail/fullscreen-projector-detail.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit, ViewContainerRef } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnInit, ViewContainerRef } from '@angular/core'; import { Id } from 'src/app/domain/definitions/key-types'; import { DomService } from 'src/app/openslides-main-module/services/dom.service'; import { ViewProjector } from 'src/app/site/pages/meetings/pages/projectors'; @@ -11,6 +11,7 @@ import { FullscreenProjectorComponent } from '../fullscreen-projector/fullscreen selector: `os-fullscreen-projector-detail`, templateUrl: `./fullscreen-projector-detail.component.html`, styleUrls: [`./fullscreen-projector-detail.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class FullscreenProjectorDetailComponent implements OnInit { diff --git a/client/src/app/site/pages/meetings/pages/projectors/modules/fullscreen-projector/components/fullscreen-projector-main/fullscreen-projector-main.component.spec.ts b/client/src/app/site/pages/meetings/pages/projectors/modules/fullscreen-projector/components/fullscreen-projector-main/fullscreen-projector-main.component.spec.ts index 2cd0d0f7ede..7790c3868aa 100644 --- a/client/src/app/site/pages/meetings/pages/projectors/modules/fullscreen-projector/components/fullscreen-projector-main/fullscreen-projector-main.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/projectors/modules/fullscreen-projector/components/fullscreen-projector-main/fullscreen-projector-main.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { FullscreenProjectorMainComponent } from './fullscreen-projector-main.component'; -xdescribe(`FullscreenProjectorMainComponent`, () => { +describe.skip(`FullscreenProjectorMainComponent`, () => { let component: FullscreenProjectorMainComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/projectors/modules/fullscreen-projector/components/fullscreen-projector-main/fullscreen-projector-main.component.ts b/client/src/app/site/pages/meetings/pages/projectors/modules/fullscreen-projector/components/fullscreen-projector-main/fullscreen-projector-main.component.ts index f9a0ab88255..b75b8d76f31 100644 --- a/client/src/app/site/pages/meetings/pages/projectors/modules/fullscreen-projector/components/fullscreen-projector-main/fullscreen-projector-main.component.ts +++ b/client/src/app/site/pages/meetings/pages/projectors/modules/fullscreen-projector/components/fullscreen-projector-main/fullscreen-projector-main.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { Id } from 'src/app/domain/definitions/key-types'; import { BaseModelRequestHandlerComponent } from 'src/app/site/base/base-model-request-handler.component'; import { SequentialNumberMappingService } from 'src/app/site/pages/meetings/services/sequential-number-mapping.service'; @@ -10,6 +10,7 @@ import { ViewProjector } from '../../../../view-models'; selector: `os-fullscreen-projector-main`, templateUrl: `./fullscreen-projector-main.component.html`, styleUrls: [`./fullscreen-projector-main.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class FullscreenProjectorMainComponent extends BaseModelRequestHandlerComponent { diff --git a/client/src/app/site/pages/meetings/pages/projectors/modules/fullscreen-projector/components/fullscreen-projector/fullscreen-projector.component.spec.ts b/client/src/app/site/pages/meetings/pages/projectors/modules/fullscreen-projector/components/fullscreen-projector/fullscreen-projector.component.spec.ts index 8b8fbb2b695..6ce5b9563f1 100644 --- a/client/src/app/site/pages/meetings/pages/projectors/modules/fullscreen-projector/components/fullscreen-projector/fullscreen-projector.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/projectors/modules/fullscreen-projector/components/fullscreen-projector/fullscreen-projector.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { FullscreenProjectorComponent } from './fullscreen-projector.component'; -xdescribe(`FullscreenProjectorComponent`, () => { +describe.skip(`FullscreenProjectorComponent`, () => { let component: FullscreenProjectorComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/projectors/modules/fullscreen-projector/components/fullscreen-projector/fullscreen-projector.component.ts b/client/src/app/site/pages/meetings/pages/projectors/modules/fullscreen-projector/components/fullscreen-projector/fullscreen-projector.component.ts index f54e2ed57f2..1bc23ecd8b5 100644 --- a/client/src/app/site/pages/meetings/pages/projectors/modules/fullscreen-projector/components/fullscreen-projector/fullscreen-projector.component.ts +++ b/client/src/app/site/pages/meetings/pages/projectors/modules/fullscreen-projector/components/fullscreen-projector/fullscreen-projector.component.ts @@ -1,4 +1,4 @@ -import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core'; import { Permission } from 'src/app/domain/definitions/permission'; import { ViewProjector } from 'src/app/site/pages/meetings/pages/projectors'; import { ProjectorControllerService } from 'src/app/site/pages/meetings/pages/projectors/services/projector-controller.service'; @@ -10,6 +10,7 @@ import { Dimension } from '../../../../definitions'; selector: `os-fullscreen-projector`, templateUrl: `./fullscreen-projector.component.html`, styleUrls: [`./fullscreen-projector.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class FullscreenProjectorComponent implements OnInit { diff --git a/client/src/app/site/pages/meetings/pages/projectors/modules/projector-detail/components/countdown-controls/countdown-controls.component.spec.ts b/client/src/app/site/pages/meetings/pages/projectors/modules/projector-detail/components/countdown-controls/countdown-controls.component.spec.ts index 37bc15ce362..aa445e186c1 100644 --- a/client/src/app/site/pages/meetings/pages/projectors/modules/projector-detail/components/countdown-controls/countdown-controls.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/projectors/modules/projector-detail/components/countdown-controls/countdown-controls.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { CountdownControlsComponent } from './countdown-controls.component'; -xdescribe(`CountdownControlsComponent`, () => { +describe.skip(`CountdownControlsComponent`, () => { let component: CountdownControlsComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/projectors/modules/projector-detail/components/countdown-controls/countdown-controls.component.ts b/client/src/app/site/pages/meetings/pages/projectors/modules/projector-detail/components/countdown-controls/countdown-controls.component.ts index 4143c8e03de..76c19276950 100644 --- a/client/src/app/site/pages/meetings/pages/projectors/modules/projector-detail/components/countdown-controls/countdown-controls.component.ts +++ b/client/src/app/site/pages/meetings/pages/projectors/modules/projector-detail/components/countdown-controls/countdown-controls.component.ts @@ -1,4 +1,4 @@ -import { Component, Input } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { ProjectorCountdown } from 'src/app/domain/models/projector/projector-countdown'; import { ProjectionDialogService } from 'src/app/site/pages/meetings/modules/meetings-component-collector/projection-dialog/services/projection-dialog.service'; @@ -14,6 +14,7 @@ import { ProjectorCountdownControllerService } from '../../services/projector-co selector: `os-countdown-controls`, templateUrl: `./countdown-controls.component.html`, styleUrls: [`./countdown-controls.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class CountdownControlsComponent { diff --git a/client/src/app/site/pages/meetings/pages/projectors/modules/projector-detail/components/message-controls/message-controls.component.spec.ts b/client/src/app/site/pages/meetings/pages/projectors/modules/projector-detail/components/message-controls/message-controls.component.spec.ts index 6e259bf3313..0371e4ff132 100644 --- a/client/src/app/site/pages/meetings/pages/projectors/modules/projector-detail/components/message-controls/message-controls.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/projectors/modules/projector-detail/components/message-controls/message-controls.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MessageControlsComponent } from './message-controls.component'; -xdescribe(`MessageControlsComponent`, () => { +describe.skip(`MessageControlsComponent`, () => { let component: MessageControlsComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/projectors/modules/projector-detail/components/message-controls/message-controls.component.ts b/client/src/app/site/pages/meetings/pages/projectors/modules/projector-detail/components/message-controls/message-controls.component.ts index 9445b4924fb..5e00876956e 100644 --- a/client/src/app/site/pages/meetings/pages/projectors/modules/projector-detail/components/message-controls/message-controls.component.ts +++ b/client/src/app/site/pages/meetings/pages/projectors/modules/projector-detail/components/message-controls/message-controls.component.ts @@ -1,4 +1,4 @@ -import { Component, Input } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { ProjectionDialogService } from 'src/app/site/pages/meetings/modules/meetings-component-collector/projection-dialog/services/projection-dialog.service'; import { ViewProjector, ViewProjectorMessage } from 'src/app/site/pages/meetings/pages/projectors'; @@ -11,6 +11,7 @@ import { ProjectorMessageControllerService } from '../../services/projector-mess selector: `os-message-controls`, templateUrl: `./message-controls.component.html`, styleUrls: [`./message-controls.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class MessageControlsComponent { diff --git a/client/src/app/site/pages/meetings/pages/projectors/modules/projector-detail/components/presentation-controls/presentation-controls.component.spec.ts b/client/src/app/site/pages/meetings/pages/projectors/modules/projector-detail/components/presentation-controls/presentation-controls.component.spec.ts index 35376badc30..9adc961de83 100644 --- a/client/src/app/site/pages/meetings/pages/projectors/modules/projector-detail/components/presentation-controls/presentation-controls.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/projectors/modules/projector-detail/components/presentation-controls/presentation-controls.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { PresentationControlsComponent } from './presentation-controls.component'; -xdescribe(`PresentationControlsComponent`, () => { +describe.skip(`PresentationControlsComponent`, () => { let component: PresentationControlsComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/projectors/modules/projector-detail/components/presentation-controls/presentation-controls.component.ts b/client/src/app/site/pages/meetings/pages/projectors/modules/projector-detail/components/presentation-controls/presentation-controls.component.ts index 8d82fb66697..865694e14a9 100644 --- a/client/src/app/site/pages/meetings/pages/projectors/modules/projector-detail/components/presentation-controls/presentation-controls.component.ts +++ b/client/src/app/site/pages/meetings/pages/projectors/modules/projector-detail/components/presentation-controls/presentation-controls.component.ts @@ -1,4 +1,4 @@ -import { Component, Input } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; import { combineLatest, map, merge, mergeMap, Observable, of } from 'rxjs'; import { ViewMediafile, ViewMeetingMediafile } from 'src/app/site/pages/meetings/pages/mediafiles'; import { ViewProjection, ViewProjector } from 'src/app/site/pages/meetings/pages/projectors'; @@ -9,6 +9,7 @@ import { ProjectionControllerService } from '../../services/projection-controlle selector: `os-presentation-controls`, templateUrl: `./presentation-controls.component.html`, styleUrls: [`./presentation-controls.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class PresentationControlsComponent { diff --git a/client/src/app/site/pages/meetings/pages/projectors/modules/projector-detail/components/projector-detail/projector-detail.component.spec.ts b/client/src/app/site/pages/meetings/pages/projectors/modules/projector-detail/components/projector-detail/projector-detail.component.spec.ts index 88350213c57..33c8f0c6c32 100644 --- a/client/src/app/site/pages/meetings/pages/projectors/modules/projector-detail/components/projector-detail/projector-detail.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/projectors/modules/projector-detail/components/projector-detail/projector-detail.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ProjectorDetailComponent } from './projector-detail.component'; -xdescribe(`ProjectorDetailComponent`, () => { +describe.skip(`ProjectorDetailComponent`, () => { let component: ProjectorDetailComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/projectors/modules/projector-detail/components/projector-detail/projector-detail.component.ts b/client/src/app/site/pages/meetings/pages/projectors/modules/projector-detail/components/projector-detail/projector-detail.component.ts index ca34852a2e5..306a8f5027b 100644 --- a/client/src/app/site/pages/meetings/pages/projectors/modules/projector-detail/components/projector-detail/projector-detail.component.ts +++ b/client/src/app/site/pages/meetings/pages/projectors/modules/projector-detail/components/projector-detail/projector-detail.component.ts @@ -1,5 +1,5 @@ import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop'; -import { Component, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { _ } from '@ngx-translate/core'; import { TranslateService } from '@ngx-translate/core'; @@ -39,6 +39,7 @@ import { ProjectorMessageControllerService } from '../../services/projector-mess selector: `os-projector-detail`, templateUrl: `./projector-detail.component.html`, styleUrls: [`./projector-detail.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class ProjectorDetailComponent extends BaseMeetingComponent implements OnInit { diff --git a/client/src/app/site/pages/meetings/pages/projectors/modules/projector-list/components/projector-list-entry/projector-list-entry.component.spec.ts b/client/src/app/site/pages/meetings/pages/projectors/modules/projector-list/components/projector-list-entry/projector-list-entry.component.spec.ts index 08e8cd0765f..a12fc6dd9e4 100644 --- a/client/src/app/site/pages/meetings/pages/projectors/modules/projector-list/components/projector-list-entry/projector-list-entry.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/projectors/modules/projector-list/components/projector-list-entry/projector-list-entry.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ProjectorListEntryComponent } from './projector-list-entry.component'; -xdescribe(`ProjectorListEntryComponent`, () => { +describe.skip(`ProjectorListEntryComponent`, () => { let component: ProjectorListEntryComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/pages/projectors/modules/projector-list/components/projector-list-entry/projector-list-entry.component.ts b/client/src/app/site/pages/meetings/pages/projectors/modules/projector-list/components/projector-list-entry/projector-list-entry.component.ts index 6baad36d174..6245d176887 100644 --- a/client/src/app/site/pages/meetings/pages/projectors/modules/projector-list/components/projector-list-entry/projector-list-entry.component.ts +++ b/client/src/app/site/pages/meetings/pages/projectors/modules/projector-list/components/projector-list-entry/projector-list-entry.component.ts @@ -1,4 +1,4 @@ -import { Component, Input, ViewEncapsulation } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core'; import { _ } from '@ngx-translate/core'; import { TranslateService } from '@ngx-translate/core'; import { firstValueFrom } from 'rxjs'; @@ -17,6 +17,7 @@ import { ProjectorEditDialogService } from '../../../../components/projector-edi templateUrl: `./projector-list-entry.component.html`, styleUrls: [`./projector-list-entry.component.scss`], encapsulation: ViewEncapsulation.None, + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class ProjectorListEntryComponent { diff --git a/client/src/app/site/pages/meetings/pages/projectors/modules/projector-list/components/projector-list/projector-list.component.spec.ts b/client/src/app/site/pages/meetings/pages/projectors/modules/projector-list/components/projector-list/projector-list.component.spec.ts index 8c2524bfc46..7860a1799b4 100644 --- a/client/src/app/site/pages/meetings/pages/projectors/modules/projector-list/components/projector-list/projector-list.component.spec.ts +++ b/client/src/app/site/pages/meetings/pages/projectors/modules/projector-list/components/projector-list/projector-list.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ProjectorListComponent } from './projector-list.component'; -xdescribe(`ProjectorListComponent`, () => { +describe.skip(`ProjectorListComponent`, () => { let component: ProjectorListComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/meetings/services/main-menu.service.spec.ts b/client/src/app/site/pages/meetings/services/main-menu.service.spec.ts index 76ea3ba5db1..58d2966a8f4 100644 --- a/client/src/app/site/pages/meetings/services/main-menu.service.spec.ts +++ b/client/src/app/site/pages/meetings/services/main-menu.service.spec.ts @@ -47,7 +47,8 @@ describe(`MainMenuService`, () => { for (let j = 0; j < i; j++) { service.toggleMenu(); } - await expectAsync(promise1).toBeResolved(); + await expect(promise1).resolves.not.toThrow(); + // TODO: vitest-migration: Unsupported matcher ".toBePending()" found. Vitest does not have a direct equivalent. Please migrate this manually, for example by using `Promise.race` to check if the promise settles within a short timeout. await expectAsync(promise2).toBePending(); }); } diff --git a/client/src/app/site/pages/meetings/services/meeting-settings-definition.service/meeting-settings-definition.service.spec.ts b/client/src/app/site/pages/meetings/services/meeting-settings-definition.service/meeting-settings-definition.service.spec.ts index 5eadef335d8..dafe15a21c0 100644 --- a/client/src/app/site/pages/meetings/services/meeting-settings-definition.service/meeting-settings-definition.service.spec.ts +++ b/client/src/app/site/pages/meetings/services/meeting-settings-definition.service/meeting-settings-definition.service.spec.ts @@ -155,9 +155,9 @@ describe(`MeetingSettingsDefinitionService`, () => { let service: MeetingSettingsDefinitionService; function mockGetters(settingsDefaults = fakeSettingsDefaults): void { - spyOnProperty(service, `settings`).and.returnValue(fakeSettings); - spyOnProperty(service, `settingsDefaults`).and.returnValue(settingsDefaults); - spyOnProperty(service, `settingsMap`).and.returnValue(fakeSettingsMap as SettingsMap); + vi.spyOn(service, `settings`).mockReturnValue(fakeSettings); + vi.spyOn(service, `settingsDefaults`).mockReturnValue(settingsDefaults); + vi.spyOn(service, `settingsMap`).mockReturnValue(fakeSettingsMap as SettingsMap); } beforeEach(() => { @@ -202,9 +202,7 @@ describe(`MeetingSettingsDefinitionService`, () => { for (const haveDefaults of [true, false]) { for (const setting of fakeSettings[0].subgroups[0].settings) { - it(`test getDefaultValue for ${setting.type ?? `no given type`}${ - haveDefaults ? `` : ` if there's no defaults` - }`, () => { + it(`test getDefaultValue for ${setting.type ?? `no given type`}${haveDefaults ? `` : ` if there's no defaults`}`, () => { mockGetters(haveDefaults ? fakeSettingsDefaults : {}); expect(service.getDefaultValue(setting)).toEqual( haveDefaults @@ -216,9 +214,7 @@ describe(`MeetingSettingsDefinitionService`, () => { }); const keys = Array.isArray(setting.key) ? setting.key : [setting.key]; for (let i = 0; i < keys.length; i++) { - it(`test getDefaultValue for ${setting.type ?? `no given type`} with settings keys${ - haveDefaults ? `` : ` if there's no defaults` - } ${i + 1}`, () => { + it(`test getDefaultValue for ${setting.type ?? `no given type`} with settings keys${haveDefaults ? `` : ` if there's no defaults`} ${i + 1}`, () => { mockGetters(haveDefaults ? fakeSettingsDefaults : {}); expect(service.getDefaultValue(keys[i])).toEqual( haveDefaults diff --git a/client/src/app/site/pages/organization/modules/account-search-selector/components/account-search-selector/account-search-selector.component.spec.ts b/client/src/app/site/pages/organization/modules/account-search-selector/components/account-search-selector/account-search-selector.component.spec.ts index 98c9bb1020b..84a6c4141a4 100644 --- a/client/src/app/site/pages/organization/modules/account-search-selector/components/account-search-selector/account-search-selector.component.spec.ts +++ b/client/src/app/site/pages/organization/modules/account-search-selector/components/account-search-selector/account-search-selector.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { AccountSearchSelectorComponent } from './account-search-selector.component'; -xdescribe(`AccountSearchSelectorComponent`, () => { +describe.skip(`AccountSearchSelectorComponent`, () => { let component: AccountSearchSelectorComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/modules/account-search-selector/components/account-search-selector/account-search-selector.component.ts b/client/src/app/site/pages/organization/modules/account-search-selector/components/account-search-selector/account-search-selector.component.ts index 4602132b034..5ef9ad6aabe 100644 --- a/client/src/app/site/pages/organization/modules/account-search-selector/components/account-search-selector/account-search-selector.component.ts +++ b/client/src/app/site/pages/organization/modules/account-search-selector/components/account-search-selector/account-search-selector.component.ts @@ -1,4 +1,4 @@ -import { Component, Input, OnDestroy, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Input, OnDestroy, OnInit } from '@angular/core'; import { NgControl } from '@angular/forms'; import { MatOptionSelectionChange } from '@angular/material/core'; import { MatFormFieldControl } from '@angular/material/form-field'; @@ -24,6 +24,7 @@ import { AccountSortService } from '../../../../pages/accounts/pages/account-lis `../../../../../../../ui/modules/search-selector/components/base-search-selector/base-search-selector.component.scss` ], providers: [{ provide: MatFormFieldControl, useExisting: AccountSearchSelectorComponent }], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class AccountSearchSelectorComponent extends BaseSearchSelectorComponent implements OnInit, OnDestroy { diff --git a/client/src/app/site/pages/organization/modules/navigation/organization-navigation-wrapper/organization-navigation-wrapper.component.spec.ts b/client/src/app/site/pages/organization/modules/navigation/organization-navigation-wrapper/organization-navigation-wrapper.component.spec.ts index 38f20738105..4589b466dbe 100644 --- a/client/src/app/site/pages/organization/modules/navigation/organization-navigation-wrapper/organization-navigation-wrapper.component.spec.ts +++ b/client/src/app/site/pages/organization/modules/navigation/organization-navigation-wrapper/organization-navigation-wrapper.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { OrganizationNavigationWrapperComponent } from './organization-navigation-wrapper.component'; -xdescribe(`OrganizationNavigationWrapperComponent`, () => { +describe.skip(`OrganizationNavigationWrapperComponent`, () => { let component: OrganizationNavigationWrapperComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/modules/navigation/organization-navigation-wrapper/organization-navigation-wrapper.component.ts b/client/src/app/site/pages/organization/modules/navigation/organization-navigation-wrapper/organization-navigation-wrapper.component.ts index 82a0b440579..40bb54e87e6 100644 --- a/client/src/app/site/pages/organization/modules/navigation/organization-navigation-wrapper/organization-navigation-wrapper.component.ts +++ b/client/src/app/site/pages/organization/modules/navigation/organization-navigation-wrapper/organization-navigation-wrapper.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnInit, ViewChild } from '@angular/core'; import { NavigationEnd } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; import { Subscription } from 'rxjs'; @@ -11,6 +11,7 @@ import { SidenavComponent } from 'src/app/ui/modules/sidenav/components/sidenav/ selector: `os-organization-navigation-wrapper`, templateUrl: `./organization-navigation-wrapper.component.html`, styleUrls: [`./organization-navigation-wrapper.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class OrganizationNavigationWrapperComponent extends BaseComponent implements OnInit { diff --git a/client/src/app/site/pages/organization/modules/navigation/organization-navigation/organization-navigation.component.spec.ts b/client/src/app/site/pages/organization/modules/navigation/organization-navigation/organization-navigation.component.spec.ts index c183d552457..26e30c8a767 100644 --- a/client/src/app/site/pages/organization/modules/navigation/organization-navigation/organization-navigation.component.spec.ts +++ b/client/src/app/site/pages/organization/modules/navigation/organization-navigation/organization-navigation.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { OrganizationNavigationComponent } from './organization-navigation.component'; -xdescribe(`OrganizationNavigationComponent`, () => { +describe.skip(`OrganizationNavigationComponent`, () => { let component: OrganizationNavigationComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/modules/navigation/organization-navigation/organization-navigation.component.ts b/client/src/app/site/pages/organization/modules/navigation/organization-navigation/organization-navigation.component.ts index 7f90df272e5..505719d8486 100644 --- a/client/src/app/site/pages/organization/modules/navigation/organization-navigation/organization-navigation.component.ts +++ b/client/src/app/site/pages/organization/modules/navigation/organization-navigation/organization-navigation.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { CML, OML } from 'src/app/domain/definitions/organization-permission'; import { BaseMenuEntry, getCustomStyleForEntry } from 'src/app/site/base/base-menu-entry'; import { MainMenuService } from 'src/app/site/pages/meetings/services/main-menu.service'; @@ -14,6 +14,7 @@ interface OrgaMenuEntry extends BaseMenuEntry { selector: `os-organization-navigation`, templateUrl: `./organization-navigation.component.html`, styleUrls: [`./organization-navigation.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class OrganizationNavigationComponent { diff --git a/client/src/app/site/pages/organization/pages/accounts/components/account-main/account-main.component.spec.ts b/client/src/app/site/pages/organization/pages/accounts/components/account-main/account-main.component.spec.ts index 0dc81babb3b..4ac494c5317 100644 --- a/client/src/app/site/pages/organization/pages/accounts/components/account-main/account-main.component.spec.ts +++ b/client/src/app/site/pages/organization/pages/accounts/components/account-main/account-main.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { AccountMainComponent } from './account-main.component'; -xdescribe(`AccountMainComponent`, () => { +describe.skip(`AccountMainComponent`, () => { let component: AccountMainComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/pages/accounts/components/account-main/account-main.component.ts b/client/src/app/site/pages/organization/pages/accounts/components/account-main/account-main.component.ts index fefb9040202..89fdf0e3823 100644 --- a/client/src/app/site/pages/organization/pages/accounts/components/account-main/account-main.component.ts +++ b/client/src/app/site/pages/organization/pages/accounts/components/account-main/account-main.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { inject } from '@angular/core'; import { distinctUntilChanged, map, skip } from 'rxjs'; import { OML } from 'src/app/domain/definitions/organization-permission'; @@ -42,6 +42,7 @@ const accountListSubsciptionContent = { selector: `os-account-main`, templateUrl: `./account-main.component.html`, styleUrls: [`./account-main.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class AccountMainComponent extends BaseModelRequestHandlerComponent { diff --git a/client/src/app/site/pages/organization/pages/accounts/pages/account-detail/components/account-add-to-meetings/account-add-to-meetings.component.spec.ts b/client/src/app/site/pages/organization/pages/accounts/pages/account-detail/components/account-add-to-meetings/account-add-to-meetings.component.spec.ts index 03751811ed1..497899d2347 100644 --- a/client/src/app/site/pages/organization/pages/accounts/pages/account-detail/components/account-add-to-meetings/account-add-to-meetings.component.spec.ts +++ b/client/src/app/site/pages/organization/pages/accounts/pages/account-detail/components/account-add-to-meetings/account-add-to-meetings.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { AccountAddToMeetingsComponent } from './account-add-to-meetings.component'; -xdescribe(`AccountAddToMeetingsComponent`, () => { +describe.skip(`AccountAddToMeetingsComponent`, () => { let component: AccountAddToMeetingsComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/pages/accounts/pages/account-detail/components/account-detail-main/account-detail-main.component.spec.ts b/client/src/app/site/pages/organization/pages/accounts/pages/account-detail/components/account-detail-main/account-detail-main.component.spec.ts index 1c1beb10ada..0ea7d6dfb59 100644 --- a/client/src/app/site/pages/organization/pages/accounts/pages/account-detail/components/account-detail-main/account-detail-main.component.spec.ts +++ b/client/src/app/site/pages/organization/pages/accounts/pages/account-detail/components/account-detail-main/account-detail-main.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { AccountDetailMainComponent } from './account-detail-main.component'; -xdescribe(`AccountDetailMainComponent`, () => { +describe.skip(`AccountDetailMainComponent`, () => { let component: AccountDetailMainComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/pages/accounts/pages/account-detail/components/account-detail-main/account-detail-main.component.ts b/client/src/app/site/pages/organization/pages/accounts/pages/account-detail/components/account-detail-main/account-detail-main.component.ts index 399a1f1101b..cd8e8dc499a 100644 --- a/client/src/app/site/pages/organization/pages/accounts/pages/account-detail/components/account-detail-main/account-detail-main.component.ts +++ b/client/src/app/site/pages/organization/pages/accounts/pages/account-detail/components/account-detail-main/account-detail-main.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { BaseModelRequestHandlerComponent } from 'src/app/site/base/base-model-request-handler.component'; import { getAccountDetailSubscriptionConfig } from '../../../../accounts.subscription'; @@ -7,6 +7,7 @@ import { getAccountDetailSubscriptionConfig } from '../../../../accounts.subscri selector: `os-account-detail-main`, templateUrl: `./account-detail-main.component.html`, styleUrls: [`./account-detail-main.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class AccountDetailMainComponent extends BaseModelRequestHandlerComponent { diff --git a/client/src/app/site/pages/organization/pages/accounts/pages/account-detail/components/account-detail/account-detail.component.html b/client/src/app/site/pages/organization/pages/accounts/pages/account-detail/components/account-detail/account-detail.component.html index 26a2fcf6f15..5183afe8dcf 100644 --- a/client/src/app/site/pages/organization/pages/accounts/pages/account-detail/components/account-detail/account-detail.component.html +++ b/client/src/app/site/pages/organization/pages/accounts/pages/account-detail/components/account-detail/account-detail.component.html @@ -302,7 +302,7 @@

{{ 'Committees and meetings' | translate }}

} - diff --git a/client/src/app/site/pages/organization/pages/accounts/pages/account-detail/components/account-detail/account-detail.component.spec.ts b/client/src/app/site/pages/organization/pages/accounts/pages/account-detail/components/account-detail/account-detail.component.spec.ts index 6add0e1c7a7..33e65562af4 100644 --- a/client/src/app/site/pages/organization/pages/accounts/pages/account-detail/components/account-detail/account-detail.component.spec.ts +++ b/client/src/app/site/pages/organization/pages/accounts/pages/account-detail/components/account-detail/account-detail.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { AccountDetailComponent } from './account-detail.component'; -xdescribe(`AccountDetailComponent`, () => { +describe.skip(`AccountDetailComponent`, () => { let component: AccountDetailComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/pages/accounts/pages/account-detail/components/account-detail/account-detail.component.ts b/client/src/app/site/pages/organization/pages/accounts/pages/account-detail/components/account-detail/account-detail.component.ts index a73ac00c0d5..341dd766933 100644 --- a/client/src/app/site/pages/organization/pages/accounts/pages/account-detail/components/account-detail/account-detail.component.ts +++ b/client/src/app/site/pages/organization/pages/accounts/pages/account-detail/components/account-detail/account-detail.component.ts @@ -1,5 +1,5 @@ import { KeyValue } from '@angular/common'; -import { Component, OnInit, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnInit, ViewChild } from '@angular/core'; import { Validators } from '@angular/forms'; import { ActivatedRoute } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; @@ -39,6 +39,7 @@ interface ParticipationTableMeetingDataRow { selector: `os-account-detail`, templateUrl: `./account-detail.component.html`, styleUrls: [`./account-detail.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class AccountDetailComponent extends BaseComponent implements OnInit { diff --git a/client/src/app/site/pages/organization/pages/accounts/pages/account-detail/components/account-password/account-password.component.spec.ts b/client/src/app/site/pages/organization/pages/accounts/pages/account-detail/components/account-password/account-password.component.spec.ts index 07b2d6ffc4d..44a6f441ab7 100644 --- a/client/src/app/site/pages/organization/pages/accounts/pages/account-detail/components/account-password/account-password.component.spec.ts +++ b/client/src/app/site/pages/organization/pages/accounts/pages/account-detail/components/account-password/account-password.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { AccountPasswordComponent } from './account-password.component'; -xdescribe(`AccountPasswordComponent`, () => { +describe.skip(`AccountPasswordComponent`, () => { let component: AccountPasswordComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/pages/accounts/pages/account-detail/components/account-password/account-password.component.ts b/client/src/app/site/pages/organization/pages/accounts/pages/account-detail/components/account-password/account-password.component.ts index 1f67fb79f22..c4e9dcb36fc 100644 --- a/client/src/app/site/pages/organization/pages/accounts/pages/account-detail/components/account-password/account-password.component.ts +++ b/client/src/app/site/pages/organization/pages/accounts/pages/account-detail/components/account-password/account-password.component.ts @@ -1,4 +1,4 @@ -import { AfterViewInit, Component, OnInit } from '@angular/core'; +import { AfterViewInit, ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; import { MatSnackBar } from '@angular/material/snack-bar'; import { Id } from 'src/app/domain/definitions/key-types'; import { OML } from 'src/app/domain/definitions/organization-permission'; @@ -14,6 +14,7 @@ import { UserControllerService } from 'src/app/site/services/user-controller.ser selector: `os-account-password`, templateUrl: `./account-password.component.html`, styleUrls: [`./account-password.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class AccountPasswordComponent extends BaseComponent implements OnInit, AfterViewInit { diff --git a/client/src/app/site/pages/organization/pages/accounts/pages/account-import/components/account-import-list/account-import-list.component.spec.ts b/client/src/app/site/pages/organization/pages/accounts/pages/account-import/components/account-import-list/account-import-list.component.spec.ts index 22c48721397..350ea85939c 100644 --- a/client/src/app/site/pages/organization/pages/accounts/pages/account-import/components/account-import-list/account-import-list.component.spec.ts +++ b/client/src/app/site/pages/organization/pages/accounts/pages/account-import/components/account-import-list/account-import-list.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { AccountImportListComponent } from './account-import-list.component'; -xdescribe(`AccountImportListComponent`, () => { +describe.skip(`AccountImportListComponent`, () => { let component: AccountImportListComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/pages/accounts/pages/account-import/components/account-import-list/account-import-list.component.ts b/client/src/app/site/pages/organization/pages/accounts/pages/account-import/components/account-import-list/account-import-list.component.ts index 10b1765b961..63d93c38cac 100644 --- a/client/src/app/site/pages/organization/pages/accounts/pages/account-import/components/account-import-list/account-import-list.component.ts +++ b/client/src/app/site/pages/organization/pages/accounts/pages/account-import/components/account-import-list/account-import-list.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { BaseViaBackendImportListComponent } from 'src/app/site/base/base-via-backend-import-list.component'; import { OrganizationSettingsService } from 'src/app/site/pages/organization/services/organization-settings.service'; @@ -11,6 +11,7 @@ import { AccountImportService } from '../../services/account-import.service/acco selector: `os-account-import-list`, templateUrl: `./account-import-list.component.html`, styleUrls: [`./account-import-list.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class AccountImportListComponent extends BaseViaBackendImportListComponent { diff --git a/client/src/app/site/pages/organization/pages/accounts/pages/account-list/components/account-list-main/account-list-main.component.spec.ts b/client/src/app/site/pages/organization/pages/accounts/pages/account-list/components/account-list-main/account-list-main.component.spec.ts index 1178095065b..bd513f38563 100644 --- a/client/src/app/site/pages/organization/pages/accounts/pages/account-list/components/account-list-main/account-list-main.component.spec.ts +++ b/client/src/app/site/pages/organization/pages/accounts/pages/account-list/components/account-list-main/account-list-main.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { AccountListMainComponent } from './account-list-main.component'; -xdescribe(`AccountListMainComponent`, () => { +describe.skip(`AccountListMainComponent`, () => { let component: AccountListMainComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/pages/accounts/pages/account-list/components/account-list-main/account-list-main.component.ts b/client/src/app/site/pages/organization/pages/accounts/pages/account-list/components/account-list-main/account-list-main.component.ts index e94a3f84ce9..930abe7bd9f 100644 --- a/client/src/app/site/pages/organization/pages/accounts/pages/account-list/components/account-list-main/account-list-main.component.ts +++ b/client/src/app/site/pages/organization/pages/accounts/pages/account-list/components/account-list-main/account-list-main.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { BaseModelRequestHandlerComponent } from 'src/app/site/base/base-model-request-handler.component'; import { getMeetingUserIdsSubscriptionConfig } from '../../../../accounts.subscription'; @@ -7,6 +7,7 @@ import { getMeetingUserIdsSubscriptionConfig } from '../../../../accounts.subscr selector: `os-account-list-main`, templateUrl: `./account-list-main.component.html`, styleUrls: [`./account-list-main.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class AccountListMainComponent extends BaseModelRequestHandlerComponent { diff --git a/client/src/app/site/pages/organization/pages/accounts/pages/account-list/components/account-list/account-list.component.spec.ts b/client/src/app/site/pages/organization/pages/accounts/pages/account-list/components/account-list/account-list.component.spec.ts index f2be40989cb..7941d2b8c23 100644 --- a/client/src/app/site/pages/organization/pages/accounts/pages/account-list/components/account-list/account-list.component.spec.ts +++ b/client/src/app/site/pages/organization/pages/accounts/pages/account-list/components/account-list/account-list.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { AccountListComponent } from './account-list.component'; -xdescribe(`AccountListComponent`, () => { +describe.skip(`AccountListComponent`, () => { let component: AccountListComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/pages/accounts/pages/account-list/components/account-merge-dialog/account-merge-dialog.component.spec.ts b/client/src/app/site/pages/organization/pages/accounts/pages/account-list/components/account-merge-dialog/account-merge-dialog.component.spec.ts index 83abcb8dc6d..a1e19bffbe4 100644 --- a/client/src/app/site/pages/organization/pages/accounts/pages/account-list/components/account-merge-dialog/account-merge-dialog.component.spec.ts +++ b/client/src/app/site/pages/organization/pages/accounts/pages/account-list/components/account-merge-dialog/account-merge-dialog.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { AccountMergeDialogComponent } from './account-merge-dialog.component'; -xdescribe(`AccountMergeDialogComponent`, () => { +describe.skip(`AccountMergeDialogComponent`, () => { let component: AccountMergeDialogComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/pages/accounts/pages/gender/pages/gender-list/components/gender-list/gender-list.component.spec.ts b/client/src/app/site/pages/organization/pages/accounts/pages/gender/pages/gender-list/components/gender-list/gender-list.component.spec.ts index 9466069a2af..df77beee2a5 100644 --- a/client/src/app/site/pages/organization/pages/accounts/pages/gender/pages/gender-list/components/gender-list/gender-list.component.spec.ts +++ b/client/src/app/site/pages/organization/pages/accounts/pages/gender/pages/gender-list/components/gender-list/gender-list.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { GenderListComponent } from './gender-list.component'; -xdescribe(`GenderListComponent`, () => { +describe.skip(`GenderListComponent`, () => { let component: GenderListComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/pages/committees/modules/committee-meeting-preview/committee-meeting-preview.component.spec.ts b/client/src/app/site/pages/organization/pages/committees/modules/committee-meeting-preview/committee-meeting-preview.component.spec.ts index 71ceeb488e9..e574d19e12f 100644 --- a/client/src/app/site/pages/organization/pages/committees/modules/committee-meeting-preview/committee-meeting-preview.component.spec.ts +++ b/client/src/app/site/pages/organization/pages/committees/modules/committee-meeting-preview/committee-meeting-preview.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { CommitteeMeetingPreviewComponent } from './committee-meeting-preview.component'; -xdescribe(`CommitteeMeetingPreviewComponent`, () => { +describe.skip(`CommitteeMeetingPreviewComponent`, () => { let component: CommitteeMeetingPreviewComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/pages/committees/modules/committee-meeting-preview/committee-meeting-preview.component.ts b/client/src/app/site/pages/organization/pages/committees/modules/committee-meeting-preview/committee-meeting-preview.component.ts index d0081e86aeb..95dfd329b75 100644 --- a/client/src/app/site/pages/organization/pages/committees/modules/committee-meeting-preview/committee-meeting-preview.component.ts +++ b/client/src/app/site/pages/organization/pages/committees/modules/committee-meeting-preview/committee-meeting-preview.component.ts @@ -1,4 +1,4 @@ -import { Component, inject, Input, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core'; +import { ChangeDetectionStrategy, Component, inject, Input, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { Subscription } from 'rxjs'; import { CML, OML } from 'src/app/domain/definitions/organization-permission'; @@ -16,6 +16,7 @@ import { MeetingService } from '../services/meeting.service'; templateUrl: `./committee-meeting-preview.component.html`, styleUrls: [`./committee-meeting-preview.component.scss`], encapsulation: ViewEncapsulation.None, + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class CommitteeMeetingPreviewComponent implements OnDestroy, OnInit { diff --git a/client/src/app/site/pages/organization/pages/committees/modules/committee-meta-info/committee-meta-info.component.spec.ts b/client/src/app/site/pages/organization/pages/committees/modules/committee-meta-info/committee-meta-info.component.spec.ts index f529276dd7b..d7603e3164b 100644 --- a/client/src/app/site/pages/organization/pages/committees/modules/committee-meta-info/committee-meta-info.component.spec.ts +++ b/client/src/app/site/pages/organization/pages/committees/modules/committee-meta-info/committee-meta-info.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { CommitteeMetaInfoComponent } from './committee-meta-info.component'; -xdescribe(`CommitteeMetaInfoComponent`, () => { +describe.skip(`CommitteeMetaInfoComponent`, () => { let component: CommitteeMetaInfoComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/pages/committees/modules/committee-meta-info/committee-meta-info.component.ts b/client/src/app/site/pages/organization/pages/committees/modules/committee-meta-info/committee-meta-info.component.ts index a5a4675494a..ec1e23fb066 100644 --- a/client/src/app/site/pages/organization/pages/committees/modules/committee-meta-info/committee-meta-info.component.ts +++ b/client/src/app/site/pages/organization/pages/committees/modules/committee-meta-info/committee-meta-info.component.ts @@ -1,9 +1,10 @@ -import { Component, Input } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; @Component({ selector: `os-committee-meta-info`, templateUrl: `./committee-meta-info.component.html`, styleUrls: [`./committee-meta-info.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class CommitteeMetaInfoComponent { diff --git a/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/components/committee-detail/committee-detail.component.spec.ts b/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/components/committee-detail/committee-detail.component.spec.ts index 3ea145e2e19..f3487d10851 100644 --- a/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/components/committee-detail/committee-detail.component.spec.ts +++ b/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/components/committee-detail/committee-detail.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { CommitteeDetailComponent } from './committee-detail.component'; -xdescribe(`CommitteeDetailComponent`, () => { +describe.skip(`CommitteeDetailComponent`, () => { let component: CommitteeDetailComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/components/committee-detail/committee-detail.component.ts b/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/components/committee-detail/committee-detail.component.ts index c1b41504a08..b70e56f8547 100644 --- a/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/components/committee-detail/committee-detail.component.ts +++ b/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/components/committee-detail/committee-detail.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { BaseModelRequestHandlerComponent } from 'src/app/site/base/base-model-request-handler.component/base-model-request-handler.component'; import { getCommitteeDetailSubscriptionConfig } from '../../../../committees.subscription'; @@ -7,6 +7,7 @@ import { getCommitteeDetailSubscriptionConfig } from '../../../../committees.sub selector: `os-committee-detail`, templateUrl: `./committee-detail.component.html`, styleUrls: [`./committee-detail.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class CommitteeDetailComponent extends BaseModelRequestHandlerComponent { diff --git a/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-edit/components/committee-detail-edit/committee-detail-edit.component.spec.ts b/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-edit/components/committee-detail-edit/committee-detail-edit.component.spec.ts index 86fe3b3a86f..b44e3d68db3 100644 --- a/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-edit/components/committee-detail-edit/committee-detail-edit.component.spec.ts +++ b/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-edit/components/committee-detail-edit/committee-detail-edit.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { CommitteeDetailEditComponent } from './committee-detail-edit.component'; -xdescribe(`CommitteeDetailEditComponent`, () => { +describe.skip(`CommitteeDetailEditComponent`, () => { let component: CommitteeDetailEditComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-edit/components/committee-detail-edit/committee-detail-edit.component.ts b/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-edit/components/committee-detail-edit/committee-detail-edit.component.ts index 7dacf4f8acd..8394da23148 100644 --- a/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-edit/components/committee-detail-edit/committee-detail-edit.component.ts +++ b/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-edit/components/committee-detail-edit/committee-detail-edit.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; import { AbstractControl, UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; import { ActivatedRoute } from '@angular/router'; import { _ } from '@ngx-translate/core'; @@ -28,6 +28,7 @@ const RECEIVE_FORWARDING_DISABLED_TOOLTIP = _(`You can change this option only i selector: `os-committee-detail-edit`, templateUrl: `./committee-detail-edit.component.html`, styleUrls: [`./committee-detail-edit.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class CommitteeDetailEditComponent extends BaseComponent implements OnInit { diff --git a/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-meeting/components/committee-detail-meeting-main/committee-detail-meeting-main.component.spec.ts b/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-meeting/components/committee-detail-meeting-main/committee-detail-meeting-main.component.spec.ts index d1e2fd3768c..320cd87916a 100644 --- a/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-meeting/components/committee-detail-meeting-main/committee-detail-meeting-main.component.spec.ts +++ b/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-meeting/components/committee-detail-meeting-main/committee-detail-meeting-main.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { CommitteeDetailMeetingMainComponent } from './committee-detail-meeting-main.component'; -xdescribe(`CommitteeDetailMeetingMainComponent`, () => { +describe.skip(`CommitteeDetailMeetingMainComponent`, () => { let component: CommitteeDetailMeetingMainComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-meeting/components/committee-detail-meeting-main/committee-detail-meeting-main.component.ts b/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-meeting/components/committee-detail-meeting-main/committee-detail-meeting-main.component.ts index bc73c0f1cfe..8d40879cc21 100644 --- a/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-meeting/components/committee-detail-meeting-main/committee-detail-meeting-main.component.ts +++ b/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-meeting/components/committee-detail-meeting-main/committee-detail-meeting-main.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { Id } from 'src/app/domain/definitions/key-types'; import { BaseModelRequestHandlerComponent } from 'src/app/site/base/base-model-request-handler.component'; import { getMeetingCreateSubscriptionConfig } from 'src/app/site/pages/organization/organization.subscription'; @@ -9,6 +9,7 @@ import { getCommitteeMeetingDetailSubscriptionConfig } from '../../../../../../c selector: `os-committee-detail-meeting-main`, templateUrl: `./committee-detail-meeting-main.component.html`, styleUrls: [`./committee-detail-meeting-main.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class CommitteeDetailMeetingMainComponent extends BaseModelRequestHandlerComponent { diff --git a/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-meeting/components/meeting-edit/meeting-edit.component.html b/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-meeting/components/meeting-edit/meeting-edit.component.html index 13d777916ae..2bcb66f6a66 100644 --- a/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-meeting/components/meeting-edit/meeting-edit.component.html +++ b/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-meeting/components/meeting-edit/meeting-edit.component.html @@ -87,7 +87,7 @@

- + {{ 'Tags' | translate }} { +describe.skip(`MeetingEditComponent`, () => { let component: MeetingEditComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-meeting/components/meeting-import/meeting-import.component.spec.ts b/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-meeting/components/meeting-import/meeting-import.component.spec.ts index 4d9f90277d8..ed75fa035c1 100644 --- a/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-meeting/components/meeting-import/meeting-import.component.spec.ts +++ b/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-meeting/components/meeting-import/meeting-import.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MeetingImportComponent } from './meeting-import.component'; -xdescribe(`MeetingImportComponent`, () => { +describe.skip(`MeetingImportComponent`, () => { let component: MeetingImportComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-meeting/components/meeting-import/meeting-import.component.ts b/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-meeting/components/meeting-import/meeting-import.component.ts index 53f67b03706..c46278f09de 100644 --- a/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-meeting/components/meeting-import/meeting-import.component.ts +++ b/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-meeting/components/meeting-import/meeting-import.component.ts @@ -1,5 +1,5 @@ import { Location } from '@angular/common'; -import { Component, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; import { Id } from 'src/app/domain/definitions/key-types'; import { Identifiable } from 'src/app/domain/interfaces'; import { ImportMeeting } from 'src/app/gateways/repositories/meeting-repository.service'; @@ -13,6 +13,7 @@ import { FileData } from 'src/app/ui/modules/file-upload/components/file-upload/ selector: `os-meeting-import`, templateUrl: `./meeting-import.component.html`, styleUrls: [`./meeting-import.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class MeetingImportComponent extends BaseComponent implements OnInit { diff --git a/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-view/components/committee-detail-view/committee-detail-view.component.html b/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-view/components/committee-detail-view/committee-detail-view.component.html index a52e36d78eb..a21d2f70d84 100644 --- a/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-view/components/committee-detail-view/committee-detail-view.component.html +++ b/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-view/components/committee-detail-view/committee-detail-view.component.html @@ -140,7 +140,9 @@

- {{ manager }} + + {{ manager }} + {{ manager }} diff --git a/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-view/components/committee-detail-view/committee-detail-view.component.spec.ts b/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-view/components/committee-detail-view/committee-detail-view.component.spec.ts index c969c705c8c..bca36e6f639 100644 --- a/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-view/components/committee-detail-view/committee-detail-view.component.spec.ts +++ b/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-view/components/committee-detail-view/committee-detail-view.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { CommitteeDetailViewComponent } from './committee-detail-view.component'; -xdescribe(`CommitteeDetailViewComponent`, () => { +describe.skip(`CommitteeDetailViewComponent`, () => { let component: CommitteeDetailViewComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-view/components/committee-detail-view/committee-detail-view.component.ts b/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-view/components/committee-detail-view/committee-detail-view.component.ts index 87b38884982..e9573199a0c 100644 --- a/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-view/components/committee-detail-view/committee-detail-view.component.ts +++ b/client/src/app/site/pages/organization/pages/committees/pages/committee-detail/modules/committee-detail-view/components/committee-detail-view/committee-detail-view.component.ts @@ -1,4 +1,4 @@ -import { Component, OnDestroy, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnDestroy, ViewChild } from '@angular/core'; import { ActivatedRoute, Router } from '@angular/router'; import { TranslateService } from '@ngx-translate/core'; import { combineLatest, map, Observable, Subscription } from 'rxjs'; @@ -21,6 +21,7 @@ import { CommitteeSortService } from '../../../../../committee-list/services/com selector: `os-committee-detail-view`, templateUrl: `./committee-detail-view.component.html`, styleUrls: [`./committee-detail-view.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class CommitteeDetailViewComponent extends BaseUiComponent implements OnDestroy { diff --git a/client/src/app/site/pages/organization/pages/committees/pages/committee-import/components/committee-import-list/committee-import-list.component.spec.ts b/client/src/app/site/pages/organization/pages/committees/pages/committee-import/components/committee-import-list/committee-import-list.component.spec.ts index d26292a518b..f8102a897f5 100644 --- a/client/src/app/site/pages/organization/pages/committees/pages/committee-import/components/committee-import-list/committee-import-list.component.spec.ts +++ b/client/src/app/site/pages/organization/pages/committees/pages/committee-import/components/committee-import-list/committee-import-list.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { CommitteeImportListComponent } from './committee-import-list.component'; -xdescribe(`CommitteeImportListComponent`, () => { +describe.skip(`CommitteeImportListComponent`, () => { let component: CommitteeImportListComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/pages/committees/pages/committee-import/components/committee-import-list/committee-import-list.component.ts b/client/src/app/site/pages/organization/pages/committees/pages/committee-import/components/committee-import-list/committee-import-list.component.ts index e161849ac2b..2df52cdf68b 100644 --- a/client/src/app/site/pages/organization/pages/committees/pages/committee-import/components/committee-import-list/committee-import-list.component.ts +++ b/client/src/app/site/pages/organization/pages/committees/pages/committee-import/components/committee-import-list/committee-import-list.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { BaseViaBackendImportListComponent } from 'src/app/site/base/base-via-backend-import-list.component'; import { committeeHeadersAndVerboseNames } from 'src/app/site/pages/organization/pages/committees/pages/committee-import/definitions'; import { ImportListHeaderDefinition } from 'src/app/ui/modules/import-list'; @@ -9,6 +9,7 @@ import { CommitteeImportService } from '../../services/committee-import.service/ selector: `os-committee-import-list`, templateUrl: `./committee-import-list.component.html`, styleUrls: [`./committee-import-list.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class CommitteeImportListComponent extends BaseViaBackendImportListComponent { diff --git a/client/src/app/site/pages/organization/pages/committees/pages/committee-list/components/committee-list/committee-list.component.spec.ts b/client/src/app/site/pages/organization/pages/committees/pages/committee-list/components/committee-list/committee-list.component.spec.ts index 8eab505be46..53d89988d3d 100644 --- a/client/src/app/site/pages/organization/pages/committees/pages/committee-list/components/committee-list/committee-list.component.spec.ts +++ b/client/src/app/site/pages/organization/pages/committees/pages/committee-list/components/committee-list/committee-list.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { CommitteeListComponent } from './committee-list.component'; -xdescribe(`CommitteeListComponent`, () => { +describe.skip(`CommitteeListComponent`, () => { let component: CommitteeListComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/pages/committees/pages/committee-list/components/committee-list/committee-list.component.ts b/client/src/app/site/pages/organization/pages/committees/pages/committee-list/components/committee-list/committee-list.component.ts index e187bea4d06..12d06cee319 100644 --- a/client/src/app/site/pages/organization/pages/committees/pages/committee-list/components/committee-list/committee-list.component.ts +++ b/client/src/app/site/pages/organization/pages/committees/pages/committee-list/components/committee-list/committee-list.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { _ } from '@ngx-translate/core'; import { TranslateService } from '@ngx-translate/core'; @@ -26,6 +26,7 @@ const COMMITTEE_LIST_STORAGE_INDEX = `committee_list`; selector: `os-committee-list`, templateUrl: `./committee-list.component.html`, styleUrls: [`./committee-list.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class CommitteeListComponent extends BaseListViewComponent { diff --git a/client/src/app/site/pages/organization/pages/committees/pages/committee-main/components/committee-main/committee-main.component.spec.ts b/client/src/app/site/pages/organization/pages/committees/pages/committee-main/components/committee-main/committee-main.component.spec.ts index 56c0a74a633..90b7e63f03d 100644 --- a/client/src/app/site/pages/organization/pages/committees/pages/committee-main/components/committee-main/committee-main.component.spec.ts +++ b/client/src/app/site/pages/organization/pages/committees/pages/committee-main/components/committee-main/committee-main.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { CommitteeMainComponent } from './committee-main.component'; -xdescribe(`CommitteeMainComponent`, () => { +describe.skip(`CommitteeMainComponent`, () => { let component: CommitteeMainComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/pages/committees/pages/committee-main/components/committee-main/committee-main.component.ts b/client/src/app/site/pages/organization/pages/committees/pages/committee-main/components/committee-main/committee-main.component.ts index 6d47e56c5d7..6d050b7eb0a 100644 --- a/client/src/app/site/pages/organization/pages/committees/pages/committee-main/components/committee-main/committee-main.component.ts +++ b/client/src/app/site/pages/organization/pages/committees/pages/committee-main/components/committee-main/committee-main.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { BaseModelRequestHandlerComponent } from 'src/app/site/base/base-model-request-handler.component/base-model-request-handler.component'; import { getOrganizationTagListSubscriptionConfig } from '../../../../../organization-tags/organization-tags.subscription'; @@ -8,6 +8,7 @@ import { getCommitteeListSubscriptionConfig } from '../../../../committees.subsc selector: `os-committee-main`, templateUrl: `./committee-main.component.html`, styleUrls: [`./committee-main.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class CommitteeMainComponent extends BaseModelRequestHandlerComponent { diff --git a/client/src/app/site/pages/organization/pages/dashboard/pages/dashboard-detail/components/dashboard/dashboard.component.html b/client/src/app/site/pages/organization/pages/dashboard/pages/dashboard-detail/components/dashboard/dashboard.component.html index 611a26ea227..ce3141a2968 100644 --- a/client/src/app/site/pages/organization/pages/dashboard/pages/dashboard-detail/components/dashboard/dashboard.component.html +++ b/client/src/app/site/pages/organization/pages/dashboard/pages/dashboard-detail/components/dashboard/dashboard.component.html @@ -152,12 +152,12 @@

Calendar

-
+
@if (meeting.canBeEnteredBy(operator.user)) { Calendar

> } @else { -
+
Calendar

}" > @if (meeting.location) { - {{ meeting.location }} + {{ meeting.location }} } @if (meeting.location && (meeting.start_time || meeting.end_time)) { -  ·  +  ·  } @if (meeting.start_time || meeting.end_time) { - + }
diff --git a/client/src/app/site/pages/organization/pages/dashboard/pages/dashboard-detail/components/dashboard/dashboard.component.spec.ts b/client/src/app/site/pages/organization/pages/dashboard/pages/dashboard-detail/components/dashboard/dashboard.component.spec.ts index 331c30ce903..18e6eb8fd18 100644 --- a/client/src/app/site/pages/organization/pages/dashboard/pages/dashboard-detail/components/dashboard/dashboard.component.spec.ts +++ b/client/src/app/site/pages/organization/pages/dashboard/pages/dashboard-detail/components/dashboard/dashboard.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { DashboardComponent } from './dashboard.component'; -xdescribe(`DashboardComponent`, () => { +describe.skip(`DashboardComponent`, () => { let component: DashboardComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/pages/dashboard/pages/dashboard-detail/components/dashboard/dashboard.component.ts b/client/src/app/site/pages/organization/pages/dashboard/pages/dashboard-detail/components/dashboard/dashboard.component.ts index 6cbc8404354..841ce75c593 100644 --- a/client/src/app/site/pages/organization/pages/dashboard/pages/dashboard-detail/components/dashboard/dashboard.component.ts +++ b/client/src/app/site/pages/organization/pages/dashboard/pages/dashboard-detail/components/dashboard/dashboard.component.ts @@ -1,4 +1,4 @@ -import { Component, inject, ViewEncapsulation } from '@angular/core'; +import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core'; import { Observable } from 'rxjs'; import { BaseComponent } from 'src/app/site/base/base.component'; import { MeetingControllerService } from 'src/app/site/pages/meetings/services/meeting-controller.service'; @@ -14,6 +14,7 @@ import { DASHBOARD_MEETING_LIST_SUBSCRIPTION } from '../../../../dashboard.subsc templateUrl: `./dashboard.component.html`, styleUrls: [`./dashboard.component.scss`], encapsulation: ViewEncapsulation.None, + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class DashboardComponent extends BaseComponent { diff --git a/client/src/app/site/pages/organization/pages/dashboard/pages/dashboard-main/components/dashboard-main/dashboard-main.component.spec.ts b/client/src/app/site/pages/organization/pages/dashboard/pages/dashboard-main/components/dashboard-main/dashboard-main.component.spec.ts index ac7db89ba46..dc6f3a9cf65 100644 --- a/client/src/app/site/pages/organization/pages/dashboard/pages/dashboard-main/components/dashboard-main/dashboard-main.component.spec.ts +++ b/client/src/app/site/pages/organization/pages/dashboard/pages/dashboard-main/components/dashboard-main/dashboard-main.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { DashboardMainComponent } from './dashboard-main.component'; -xdescribe(`DashboardMainComponent`, () => { +describe.skip(`DashboardMainComponent`, () => { let component: DashboardMainComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/pages/dashboard/pages/dashboard-main/components/dashboard-main/dashboard-main.component.ts b/client/src/app/site/pages/organization/pages/dashboard/pages/dashboard-main/components/dashboard-main/dashboard-main.component.ts index daa11226c18..64111f88ae5 100644 --- a/client/src/app/site/pages/organization/pages/dashboard/pages/dashboard-main/components/dashboard-main/dashboard-main.component.ts +++ b/client/src/app/site/pages/organization/pages/dashboard/pages/dashboard-main/components/dashboard-main/dashboard-main.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { BaseModelRequestHandlerComponent } from 'src/app/site/base/base-model-request-handler.component/base-model-request-handler.component'; import { getDashboardMeetingListSubscriptionConfig } from '../../../../dashboard.subscription'; @@ -7,6 +7,7 @@ import { getDashboardMeetingListSubscriptionConfig } from '../../../../dashboard selector: `os-dashboard-main`, templateUrl: `./dashboard-main.component.html`, styleUrls: [`./dashboard-main.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class DashboardMainComponent extends BaseModelRequestHandlerComponent { diff --git a/client/src/app/site/pages/organization/pages/designs/modules/theme-builder-dialog/components/theme-builder-dialog.component.spec.ts b/client/src/app/site/pages/organization/pages/designs/modules/theme-builder-dialog/components/theme-builder-dialog.component.spec.ts index abdf4437415..b1d7472a18f 100644 --- a/client/src/app/site/pages/organization/pages/designs/modules/theme-builder-dialog/components/theme-builder-dialog.component.spec.ts +++ b/client/src/app/site/pages/organization/pages/designs/modules/theme-builder-dialog/components/theme-builder-dialog.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ThemeBuilderDialogComponent } from './theme-builder-dialog.component'; -xdescribe(`ThemeBuilderDialogComponent`, () => { +describe.skip(`ThemeBuilderDialogComponent`, () => { let component: ThemeBuilderDialogComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/pages/designs/modules/theme-builder-dialog/components/theme-builder-dialog.component.ts b/client/src/app/site/pages/organization/pages/designs/modules/theme-builder-dialog/components/theme-builder-dialog.component.ts index 0514dfdec15..b68189aa990 100644 --- a/client/src/app/site/pages/organization/pages/designs/modules/theme-builder-dialog/components/theme-builder-dialog.component.ts +++ b/client/src/app/site/pages/organization/pages/designs/modules/theme-builder-dialog/components/theme-builder-dialog.component.ts @@ -1,4 +1,4 @@ -import { AfterViewInit, Component, Inject } from '@angular/core'; +import { AfterViewInit, ChangeDetectionStrategy, Component, Inject } from '@angular/core'; import { AbstractControl, UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; import { ThemePalette } from '@angular/material/core'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; @@ -17,6 +17,7 @@ type ThemeBuilderDialogData = { selector: `os-theme-builder-dialog`, templateUrl: `./theme-builder-dialog.component.html`, styleUrls: [`./theme-builder-dialog.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class ThemeBuilderDialogComponent extends BaseUiComponent implements AfterViewInit { diff --git a/client/src/app/site/pages/organization/pages/designs/pages/design-main/components/design-main/design-main.component.spec.ts b/client/src/app/site/pages/organization/pages/designs/pages/design-main/components/design-main/design-main.component.spec.ts index 4bb0f95a6d4..2f7040d4aac 100644 --- a/client/src/app/site/pages/organization/pages/designs/pages/design-main/components/design-main/design-main.component.spec.ts +++ b/client/src/app/site/pages/organization/pages/designs/pages/design-main/components/design-main/design-main.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { DesignMainComponent } from './design-main.component'; -xdescribe(`DesignMainComponent`, () => { +describe.skip(`DesignMainComponent`, () => { let component: DesignMainComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/pages/designs/pages/design-main/components/design-main/design-main.component.ts b/client/src/app/site/pages/organization/pages/designs/pages/design-main/components/design-main/design-main.component.ts index b6ee32aa416..7834b021e1b 100644 --- a/client/src/app/site/pages/organization/pages/designs/pages/design-main/components/design-main/design-main.component.ts +++ b/client/src/app/site/pages/organization/pages/designs/pages/design-main/components/design-main/design-main.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { BaseModelRequestHandlerComponent } from 'src/app/site/base/base-model-request-handler.component/base-model-request-handler.component'; import { getDesignListSubscriptionConfig } from '../../../../designs.subscription'; @@ -7,6 +7,7 @@ import { getDesignListSubscriptionConfig } from '../../../../designs.subscriptio selector: `os-design-main`, templateUrl: `./design-main.component.html`, styleUrls: [`./design-main.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class DesignMainComponent extends BaseModelRequestHandlerComponent { diff --git a/client/src/app/site/pages/organization/pages/designs/pages/theme-list/components/theme-list/theme-list.component.spec.ts b/client/src/app/site/pages/organization/pages/designs/pages/theme-list/components/theme-list/theme-list.component.spec.ts index 9d517fffbe6..c0f20527aa9 100644 --- a/client/src/app/site/pages/organization/pages/designs/pages/theme-list/components/theme-list/theme-list.component.spec.ts +++ b/client/src/app/site/pages/organization/pages/designs/pages/theme-list/components/theme-list/theme-list.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ThemeListComponent } from './theme-list.component'; -xdescribe(`ThemeListComponent`, () => { +describe.skip(`ThemeListComponent`, () => { let component: ThemeListComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/pages/designs/pages/theme-list/components/theme-list/theme-list.component.ts b/client/src/app/site/pages/organization/pages/designs/pages/theme-list/components/theme-list/theme-list.component.ts index 69a36abdafa..dcffb120332 100644 --- a/client/src/app/site/pages/organization/pages/designs/pages/theme-list/components/theme-list/theme-list.component.ts +++ b/client/src/app/site/pages/organization/pages/designs/pages/theme-list/components/theme-list/theme-list.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { _ } from '@ngx-translate/core'; import { TranslateService } from '@ngx-translate/core'; import { firstValueFrom } from 'rxjs'; @@ -14,6 +14,7 @@ import { ThemeControllerService } from '../../../../services/theme-controller.se selector: `os-theme-list`, templateUrl: `./theme-list.component.html`, styleUrls: [`./theme-list.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class ThemeListComponent extends BaseListViewComponent { diff --git a/client/src/app/site/pages/organization/pages/mediafiles/components/organization-mediafile-main/organization-mediafile-main.component.spec.ts b/client/src/app/site/pages/organization/pages/mediafiles/components/organization-mediafile-main/organization-mediafile-main.component.spec.ts index bca105e3cba..5a1245c3fc4 100644 --- a/client/src/app/site/pages/organization/pages/mediafiles/components/organization-mediafile-main/organization-mediafile-main.component.spec.ts +++ b/client/src/app/site/pages/organization/pages/mediafiles/components/organization-mediafile-main/organization-mediafile-main.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { OrganizationMediafileMainComponent } from './organization-mediafile-main.component'; -xdescribe(`OrganizationMediafileMainComponent`, () => { +describe.skip(`OrganizationMediafileMainComponent`, () => { let component: OrganizationMediafileMainComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/pages/mediafiles/modules/organization-mediafile-list/components/organization-mediafile-list/organization-mediafile-list.component.html b/client/src/app/site/pages/organization/pages/mediafiles/modules/organization-mediafile-list/components/organization-mediafile-list/organization-mediafile-list.component.html index d0a33584398..e519700526c 100644 --- a/client/src/app/site/pages/organization/pages/mediafiles/modules/organization-mediafile-list/components/organization-mediafile-list/organization-mediafile-list.component.html +++ b/client/src/app/site/pages/organization/pages/mediafiles/modules/organization-mediafile-list/components/organization-mediafile-list/organization-mediafile-list.component.html @@ -126,7 +126,7 @@

{{ 'Edit details for' | translate }}

mat-button type="submit" [disabled]="!fileEditForm?.valid" - [mat-dialog-close]="fileEditForm?.value" + [mat-dialog-close]="$safeNavigationMigration(fileEditForm?.value)" > {{ 'Save' | translate }} diff --git a/client/src/app/site/pages/organization/pages/mediafiles/modules/organization-mediafile-list/components/organization-mediafile-list/organization-mediafile-list.component.spec.ts b/client/src/app/site/pages/organization/pages/mediafiles/modules/organization-mediafile-list/components/organization-mediafile-list/organization-mediafile-list.component.spec.ts index a77e50c1d31..50df63ab787 100644 --- a/client/src/app/site/pages/organization/pages/mediafiles/modules/organization-mediafile-list/components/organization-mediafile-list/organization-mediafile-list.component.spec.ts +++ b/client/src/app/site/pages/organization/pages/mediafiles/modules/organization-mediafile-list/components/organization-mediafile-list/organization-mediafile-list.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { OrganizationMediafileListComponent } from './organization-mediafile-list.component'; -xdescribe(`OrganizationMediafileListComponent`, () => { +describe.skip(`OrganizationMediafileListComponent`, () => { let component: OrganizationMediafileListComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/pages/mediafiles/modules/organization-mediafile-upload/components/organization-mediafile-upload/organization-mediafile-upload.component.spec.ts b/client/src/app/site/pages/organization/pages/mediafiles/modules/organization-mediafile-upload/components/organization-mediafile-upload/organization-mediafile-upload.component.spec.ts index a39b04a9d72..b1884185fd3 100644 --- a/client/src/app/site/pages/organization/pages/mediafiles/modules/organization-mediafile-upload/components/organization-mediafile-upload/organization-mediafile-upload.component.spec.ts +++ b/client/src/app/site/pages/organization/pages/mediafiles/modules/organization-mediafile-upload/components/organization-mediafile-upload/organization-mediafile-upload.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { OrganizationMediafileUploadComponent } from './organization-mediafile-upload.component'; -xdescribe(`OrganizationMediafileUploadComponent`, () => { +describe.skip(`OrganizationMediafileUploadComponent`, () => { let component: OrganizationMediafileUploadComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/pages/orga-meetings/pages/meeting-list/components/meeting-list/meeting-list.component.html b/client/src/app/site/pages/organization/pages/orga-meetings/pages/meeting-list/components/meeting-list/meeting-list.component.html index 70f29ad2270..47952dc713d 100644 --- a/client/src/app/site/pages/organization/pages/orga-meetings/pages/meeting-list/components/meeting-list/meeting-list.component.html +++ b/client/src/app/site/pages/organization/pages/orga-meetings/pages/meeting-list/components/meeting-list/meeting-list.component.html @@ -118,7 +118,7 @@

Meetings

} @if (meeting.committee?.name) { - {{ meeting.committee?.name | translate }} + {{ $safeNavigationMigration(meeting.committee?.name) | translate }} } @@ -176,7 +176,7 @@

Meetings

diff --git a/client/src/app/site/pages/organization/pages/organization-tags/modules/organization-tag-dialog/components/organization-tag-dialog.component.spec.ts b/client/src/app/site/pages/organization/pages/organization-tags/modules/organization-tag-dialog/components/organization-tag-dialog.component.spec.ts index 13732af0557..03eaf614cbf 100644 --- a/client/src/app/site/pages/organization/pages/organization-tags/modules/organization-tag-dialog/components/organization-tag-dialog.component.spec.ts +++ b/client/src/app/site/pages/organization/pages/organization-tags/modules/organization-tag-dialog/components/organization-tag-dialog.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { OrganizationTagDialogComponent } from './organization-tag-dialog.component'; -xdescribe(`OrganizationTagDialogComponent`, () => { +describe.skip(`OrganizationTagDialogComponent`, () => { let component: OrganizationTagDialogComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/pages/organization-tags/modules/organization-tag-dialog/components/organization-tag-dialog.component.ts b/client/src/app/site/pages/organization/pages/organization-tags/modules/organization-tag-dialog/components/organization-tag-dialog.component.ts index 5d559912335..854e1605646 100644 --- a/client/src/app/site/pages/organization/pages/organization-tags/modules/organization-tag-dialog/components/organization-tag-dialog.component.ts +++ b/client/src/app/site/pages/organization/pages/organization-tags/modules/organization-tag-dialog/components/organization-tag-dialog.component.ts @@ -1,4 +1,4 @@ -import { Component, Inject, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Inject, OnInit } from '@angular/core'; import { AbstractControl, UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { BaseUiComponent } from 'src/app/ui/base/base-ui-component'; @@ -9,6 +9,7 @@ import { OrganizationTagDialogData } from '../services/organization-tag-dialog.s selector: `os-organization-tag-dialog`, templateUrl: `./organization-tag-dialog.component.html`, styleUrls: [`./organization-tag-dialog.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class OrganizationTagDialogComponent extends BaseUiComponent implements OnInit { diff --git a/client/src/app/site/pages/organization/pages/organization-tags/pages/organization-tag-list/components/organization-tag-list/organization-tag-list.component.spec.ts b/client/src/app/site/pages/organization/pages/organization-tags/pages/organization-tag-list/components/organization-tag-list/organization-tag-list.component.spec.ts index 051e99f85db..e581f7d73ef 100644 --- a/client/src/app/site/pages/organization/pages/organization-tags/pages/organization-tag-list/components/organization-tag-list/organization-tag-list.component.spec.ts +++ b/client/src/app/site/pages/organization/pages/organization-tags/pages/organization-tag-list/components/organization-tag-list/organization-tag-list.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { OrganizationTagListComponent } from './organization-tag-list.component'; -xdescribe(`OrganizationTagListComponent`, () => { +describe.skip(`OrganizationTagListComponent`, () => { let component: OrganizationTagListComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/pages/organization-tags/pages/organization-tag-list/components/organization-tag-list/organization-tag-list.component.ts b/client/src/app/site/pages/organization/pages/organization-tags/pages/organization-tag-list/components/organization-tag-list/organization-tag-list.component.ts index fc7d5699e0e..619f22f4a15 100644 --- a/client/src/app/site/pages/organization/pages/organization-tags/pages/organization-tag-list/components/organization-tag-list/organization-tag-list.component.ts +++ b/client/src/app/site/pages/organization/pages/organization-tags/pages/organization-tag-list/components/organization-tag-list/organization-tag-list.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { firstValueFrom } from 'rxjs'; import { BaseListViewComponent } from 'src/app/site/base/base-list-view.component'; @@ -15,6 +15,7 @@ import { ViewOrganizationTag } from '../../../../view-models'; selector: `os-organization-tag-list`, templateUrl: `./organization-tag-list.component.html`, styleUrls: [`./organization-tag-list.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class OrganizationTagListComponent extends BaseListViewComponent { diff --git a/client/src/app/site/pages/organization/pages/organization-tags/pages/organization-tag-main/components/organization-tag-main/organization-tag-main.component.spec.ts b/client/src/app/site/pages/organization/pages/organization-tags/pages/organization-tag-main/components/organization-tag-main/organization-tag-main.component.spec.ts index a17d8b313ab..e9b1df138a0 100644 --- a/client/src/app/site/pages/organization/pages/organization-tags/pages/organization-tag-main/components/organization-tag-main/organization-tag-main.component.spec.ts +++ b/client/src/app/site/pages/organization/pages/organization-tags/pages/organization-tag-main/components/organization-tag-main/organization-tag-main.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { OrganizationTagMainComponent } from './organization-tag-main.component'; -xdescribe(`OrganizationTagMainComponent`, () => { +describe.skip(`OrganizationTagMainComponent`, () => { let component: OrganizationTagMainComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/pages/organization/pages/organization-tags/pages/organization-tag-main/components/organization-tag-main/organization-tag-main.component.ts b/client/src/app/site/pages/organization/pages/organization-tags/pages/organization-tag-main/components/organization-tag-main/organization-tag-main.component.ts index 0dec4c3bf5d..33c68d9b563 100644 --- a/client/src/app/site/pages/organization/pages/organization-tags/pages/organization-tag-main/components/organization-tag-main/organization-tag-main.component.ts +++ b/client/src/app/site/pages/organization/pages/organization-tags/pages/organization-tag-main/components/organization-tag-main/organization-tag-main.component.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { BaseModelRequestHandlerComponent, ModelRequestConfig @@ -10,6 +10,7 @@ import { getOrganizationTagListSubscriptionConfig } from '../../../../organizati selector: `os-organization-tag-main`, templateUrl: `./organization-tag-main.component.html`, styleUrls: [`./organization-tag-main.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class OrganizationTagMainComponent extends BaseModelRequestHandlerComponent { diff --git a/client/src/app/site/pages/organization/pages/settings/modules/settings-detail/components/organization-settings/organization-settings.component.html b/client/src/app/site/pages/organization/pages/settings/modules/settings-detail/components/organization-settings/organization-settings.component.html index cfd94e9d7fe..8d3d8d0b0ed 100644 --- a/client/src/app/site/pages/organization/pages/settings/modules/settings-detail/components/organization-settings/organization-settings.component.html +++ b/client/src/app/site/pages/organization/pages/settings/modules/settings-detail/components/organization-settings/organization-settings.component.html @@ -1,6 +1,6 @@ diff --git a/client/src/app/site/pages/organization/pages/settings/modules/settings-detail/components/organization-settings/organization-settings.component.spec.ts b/client/src/app/site/pages/organization/pages/settings/modules/settings-detail/components/organization-settings/organization-settings.component.spec.ts index c57cd5a3824..675f90dd691 100644 --- a/client/src/app/site/pages/organization/pages/settings/modules/settings-detail/components/organization-settings/organization-settings.component.spec.ts +++ b/client/src/app/site/pages/organization/pages/settings/modules/settings-detail/components/organization-settings/organization-settings.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { OrganizationSettingsComponent } from './organization-settings.component'; -xdescribe(`OrganizationSettingsComponent`, () => { +describe.skip(`OrganizationSettingsComponent`, () => { let component: OrganizationSettingsComponent; let fixture: ComponentFixture; diff --git a/client/src/app/site/services/connection-status.service.spec.ts b/client/src/app/site/services/connection-status.service.spec.ts index 2d5e44453f3..ee36abb9026 100644 --- a/client/src/app/site/services/connection-status.service.spec.ts +++ b/client/src/app/site/services/connection-status.service.spec.ts @@ -16,7 +16,7 @@ describe(`ConnectionStatusService`, () => { let bannerService: BannerService; beforeEach(() => { - jasmine.clock().install(); + vi.useFakeTimers(); TestBed.configureTestingModule({ providers: [ConnectionStatusService, { provide: BannerService, useClass: MockBannerService }] }); @@ -25,7 +25,7 @@ describe(`ConnectionStatusService`, () => { }); afterEach(() => { - jasmine.clock().uninstall(); + vi.useRealTimers(); }); it(`should be created`, () => { diff --git a/client/src/app/site/services/theme.service.spec.ts b/client/src/app/site/services/theme.service.spec.ts index 01173861dd6..03d370140f7 100644 --- a/client/src/app/site/services/theme.service.spec.ts +++ b/client/src/app/site/services/theme.service.spec.ts @@ -2,6 +2,7 @@ import { TestBed } from '@angular/core/testing'; import { Observable } from 'rxjs'; import { ThemeRepositoryService } from 'src/app/gateways/repositories/themes/theme-repository.service'; import { StorageService } from 'src/app/gateways/storage.service'; +import type { MockedObject } from 'vitest'; import { OrganizationSettingsService } from '../pages/organization/services/organization-settings.service'; import { ColorService } from './color.service'; @@ -9,18 +10,23 @@ import { GENERAL_DEFAULT_COLORS, ThemeService } from './theme.service'; describe(`ThemeService`, () => { let service: ThemeService; - let orgaSettingsSpy: jasmine.SpyObj; - let themeRepoSpy: jasmine.SpyObj; - let storageSpy: jasmine.SpyObj; + let orgaSettingsSpy: MockedObject; + let themeRepoSpy: MockedObject; + let storageSpy: MockedObject; beforeEach(() => { + // TODO: vitest-migration: Cannot transform jasmine.createSpyObj with a dynamic variable. Please migrate this manually. See: https://vitest.dev/api/vi.html#vi-fn const spy1 = jasmine.createSpyObj(`OrganizationSettingsService`, [`get`]); + // TODO: vitest-migration: Cannot transform jasmine.createSpyObj with a dynamic variable. Please migrate this manually. See: https://vitest.dev/api/vi.html#vi-fn const spy3 = jasmine.createSpyObj(`ThemeRepositoryService`, [`getViewModelObservable`]); + // TODO: vitest-migration: Cannot transform jasmine.createSpyObj with a dynamic variable. Please migrate this manually. See: https://vitest.dev/api/vi.html#vi-fn const spy4 = jasmine.createSpyObj(`StorageService`, [`set`, `get`]); - spy1.get.and.callFake(function (_) { + spy1.get.mockImplementation(function (_) { + // TODO: vitest-migration: Cannot transform jasmine.createSpyObj with a dynamic variable. Please migrate this manually. See: https://vitest.dev/api/vi.html#vi-fn return jasmine.createSpyObj(Observable, [`subscribe`]); }); - spy4.get.and.callFake(function (_) { + spy4.get.mockImplementation(function (_) { + // TODO: vitest-migration: Cannot transform jasmine.createSpyObj with a dynamic variable. Please migrate this manually. See: https://vitest.dev/api/vi.html#vi-fn return jasmine.createSpyObj(Observable, [`then`]); }); TestBed.configureTestingModule({ @@ -33,26 +39,26 @@ describe(`ThemeService`, () => { ] }); service = TestBed.inject(ThemeService); - orgaSettingsSpy = TestBed.inject(OrganizationSettingsService) as jasmine.SpyObj; - themeRepoSpy = TestBed.inject(ThemeRepositoryService) as jasmine.SpyObj; - storageSpy = TestBed.inject(StorageService) as jasmine.SpyObj; + orgaSettingsSpy = TestBed.inject(OrganizationSettingsService) as MockedObject; + themeRepoSpy = TestBed.inject(ThemeRepositoryService) as MockedObject; + storageSpy = TestBed.inject(StorageService) as MockedObject; }); it(`should be created`, () => { expect(service).toBeTruthy(); - expect(orgaSettingsSpy.get.calls.count()).toBe(1); - expect(themeRepoSpy.getViewModelObservable.calls.count()).toBe(0); - expect(storageSpy.get.calls.count()).toBe(1); + expect(vi.mocked(orgaSettingsSpy.get).mock.calls.length).toBe(1); + expect(vi.mocked(themeRepoSpy.getViewModelObservable).mock.calls.length).toBe(0); + expect(vi.mocked(storageSpy.get).mock.calls.length).toBe(1); }); it(`set isDarkMode to true and toggleDarkMode`, () => { let dark: boolean | null = null; service.isDarkModeObservable.subscribe(mode => (dark = mode)); service.isDarkMode = true; - expect(storageSpy.set.calls.count()).toBe(1); + expect(vi.mocked(storageSpy.set).mock.calls.length).toBe(1); expect(dark).toBe(true); service.toggleDarkMode(); - expect(storageSpy.set.calls.count()).toBe(2); + expect(vi.mocked(storageSpy.set).mock.calls.length).toBe(2); expect(dark).toBe(false); }); diff --git a/client/src/app/ui/directives/autofocus/autofocus.directive.spec.ts b/client/src/app/ui/directives/autofocus/autofocus.directive.spec.ts index 0d88b6f27d9..9df0a608f2d 100644 --- a/client/src/app/ui/directives/autofocus/autofocus.directive.spec.ts +++ b/client/src/app/ui/directives/autofocus/autofocus.directive.spec.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { By } from '@angular/platform-browser'; @@ -8,6 +8,7 @@ import { AutofocusDirective } from './autofocus.directive'; template: ` `, + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) class TestComponent {} @@ -17,24 +18,24 @@ describe(`AutofocusDirective`, () => { let input: HTMLInputElement; beforeEach(() => { - jasmine.clock().install(); + vi.useFakeTimers(); fixture = TestBed.configureTestingModule({ declarations: [AutofocusDirective, TestComponent] }).createComponent(TestComponent); input = fixture.debugElement.query(By.css(`#box`)).nativeElement; - spyOn(input, `focus`); + vi.spyOn(input, `focus`).mockReturnValue(undefined); }); afterEach(() => { - jasmine.clock().uninstall(); + vi.useRealTimers(); }); it(`check if element gets in focus`, async () => { expect(input.focus).not.toHaveBeenCalled(); fixture.detectChanges(); - jasmine.clock().tick(100000); + vi.advanceTimersByTime(100000); expect(input.focus).toHaveBeenCalled(); }); diff --git a/client/src/app/ui/directives/meeting-setting/meeting-setting.directive.spec.ts b/client/src/app/ui/directives/meeting-setting/meeting-setting.directive.spec.ts index 3e6ba0f77f8..2b496e056cf 100644 --- a/client/src/app/ui/directives/meeting-setting/meeting-setting.directive.spec.ts +++ b/client/src/app/ui/directives/meeting-setting/meeting-setting.directive.spec.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { BehaviorSubject, Observable } from 'rxjs'; @@ -40,6 +40,7 @@ class MockMeetingSettingsService {
`, + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) class TestComponent { @@ -52,12 +53,12 @@ describe(`MeetingSettingDirective`, () => { let meetingSettingsService: MockMeetingSettingsService; const update = () => { fixture.detectChanges(); - jasmine.clock().tick(100000); + vi.advanceTimersByTime(100000); }; const getElement = (css: string) => fixture.debugElement.query(By.css(css)); beforeEach(() => { - jasmine.clock().install(); + vi.useFakeTimers(); fixture = TestBed.configureTestingModule({ declarations: [MeetingSettingDirective, TestComponent], providers: [ @@ -71,7 +72,7 @@ describe(`MeetingSettingDirective`, () => { }); afterEach(() => { - jasmine.clock().uninstall(); + vi.useRealTimers(); }); it(`check if element gets restricted`, async () => { diff --git a/client/src/app/ui/directives/only-number/only-number.directive.spec.ts b/client/src/app/ui/directives/only-number/only-number.directive.spec.ts index 2ed2fe3f54e..3231382ebbc 100644 --- a/client/src/app/ui/directives/only-number/only-number.directive.spec.ts +++ b/client/src/app/ui/directives/only-number/only-number.directive.spec.ts @@ -1,6 +1,6 @@ import { OnlyNumberDirective } from './only-number.directive'; -xdescribe(`OnlyNumberDirective`, () => { +describe.skip(`OnlyNumberDirective`, () => { it(`should create an instance`, () => { const directive = new OnlyNumberDirective(null); expect(directive).toBeTruthy(); diff --git a/client/src/app/ui/directives/paper/paper.directive.spec.ts b/client/src/app/ui/directives/paper/paper.directive.spec.ts index 123b46fe412..bc0373ef87c 100644 --- a/client/src/app/ui/directives/paper/paper.directive.spec.ts +++ b/client/src/app/ui/directives/paper/paper.directive.spec.ts @@ -2,7 +2,7 @@ import { TestBed } from '@angular/core/testing'; import { PaperDirective } from './paper.directive'; -xdescribe(`PaperDirective`, () => { +describe.skip(`PaperDirective`, () => { let directive: PaperDirective; beforeEach(async () => { diff --git a/client/src/app/ui/directives/perms/cml-perms.directive.spec.ts b/client/src/app/ui/directives/perms/cml-perms.directive.spec.ts index 508351ffc53..6c193846764 100644 --- a/client/src/app/ui/directives/perms/cml-perms.directive.spec.ts +++ b/client/src/app/ui/directives/perms/cml-perms.directive.spec.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { Observable, Subject } from 'rxjs'; @@ -36,6 +36,7 @@ interface TestConditionalType {
`, + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) class TestComponent extends BasePermsTestComponent { @@ -78,12 +79,12 @@ describe(`CmlPermsDirective`, () => { let operatorService: MockOperatorService; const update = () => { fixture.detectChanges(); - jasmine.clock().tick(100000); + vi.advanceTimersByTime(100000); }; const getElement = (css: string) => fixture.debugElement.query(By.css(css)); beforeEach(() => { - jasmine.clock().install(); + vi.useFakeTimers(); fixture = TestBed.configureTestingModule({ declarations: [CmlPermsDirective, TestComponent], providers: [CmlPermsDirective, { provide: OperatorService, useClass: MockOperatorService }] @@ -94,7 +95,7 @@ describe(`CmlPermsDirective`, () => { }); afterEach(() => { - jasmine.clock().uninstall(); + vi.useRealTimers(); }); it(`check if element gets restricted`, async () => { diff --git a/client/src/app/ui/directives/perms/oml-perms.directive.spec.ts b/client/src/app/ui/directives/perms/oml-perms.directive.spec.ts index 3a469882851..8e23ff0308a 100644 --- a/client/src/app/ui/directives/perms/oml-perms.directive.spec.ts +++ b/client/src/app/ui/directives/perms/oml-perms.directive.spec.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { Observable, Subject } from 'rxjs'; @@ -29,6 +29,7 @@ interface TestConditionalType {
`, + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) class TestComponent extends BasePermsTestComponent { @@ -67,12 +68,12 @@ describe(`OmlPermsDirective`, () => { let operatorService: MockOperatorService; const update = () => { fixture.detectChanges(); - jasmine.clock().tick(100000); + vi.advanceTimersByTime(100000); }; const getElement = (css: string) => fixture.debugElement.query(By.css(css)); beforeEach(() => { - jasmine.clock().install(); + vi.useFakeTimers(); fixture = TestBed.configureTestingModule({ declarations: [OmlPermsDirective, TestComponent], providers: [OmlPermsDirective, { provide: OperatorService, useClass: MockOperatorService }] @@ -83,7 +84,7 @@ describe(`OmlPermsDirective`, () => { }); afterEach(() => { - jasmine.clock().uninstall(); + vi.useRealTimers(); }); it(`check if element gets restricted`, async () => { diff --git a/client/src/app/ui/directives/perms/perms.directive.spec.ts b/client/src/app/ui/directives/perms/perms.directive.spec.ts index f283cb53b06..57d87d3d5c6 100644 --- a/client/src/app/ui/directives/perms/perms.directive.spec.ts +++ b/client/src/app/ui/directives/perms/perms.directive.spec.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { Observable, Subject } from 'rxjs'; @@ -38,6 +38,7 @@ export class BasePermsTestComponent { id="delegation" >
`, + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) class TestComponent extends BasePermsTestComponent { @@ -93,12 +94,12 @@ describe(`PermsDirective`, () => { let operatorService: MockOperatorService; const update = () => { fixture.detectChanges(); - jasmine.clock().tick(100000); + vi.advanceTimersByTime(100000); }; const getElement = (css: string) => fixture.debugElement.query(By.css(css)); beforeEach(() => { - jasmine.clock().install(); + vi.useFakeTimers(); fixture = TestBed.configureTestingModule({ declarations: [PermsDirective, TestComponent], providers: [PermsDirective, { provide: OperatorService, useClass: MockOperatorService }] @@ -109,7 +110,7 @@ describe(`PermsDirective`, () => { }); afterEach(() => { - jasmine.clock().uninstall(); + vi.useRealTimers(); }); it(`check if element gets restricted`, async () => { diff --git a/client/src/app/ui/directives/resized/resized.directive.spec.ts b/client/src/app/ui/directives/resized/resized.directive.spec.ts index f8a064543f0..e23c5ef5b1a 100644 --- a/client/src/app/ui/directives/resized/resized.directive.spec.ts +++ b/client/src/app/ui/directives/resized/resized.directive.spec.ts @@ -2,7 +2,7 @@ import { TestBed } from '@angular/core/testing'; import { ResizedDirective } from './resized.directive'; -xdescribe(`ResizedDirective`, () => { +describe.skip(`ResizedDirective`, () => { let directive: ResizedDirective; beforeEach(async () => { diff --git a/client/src/app/ui/modules/action-card/action-card.component.spec.ts b/client/src/app/ui/modules/action-card/action-card.component.spec.ts index 9d44c117901..0fec1be11a6 100644 --- a/client/src/app/ui/modules/action-card/action-card.component.spec.ts +++ b/client/src/app/ui/modules/action-card/action-card.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ActionCardComponent } from './action-card.component'; -xdescribe(`ActionCardComponent`, () => { +describe.skip(`ActionCardComponent`, () => { let component: ActionCardComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/chip/chip.component.spec.ts b/client/src/app/ui/modules/chip/chip.component.spec.ts index 684441b5c86..e58aed8ca5c 100644 --- a/client/src/app/ui/modules/chip/chip.component.spec.ts +++ b/client/src/app/ui/modules/chip/chip.component.spec.ts @@ -1,4 +1,4 @@ -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MatChipsModule } from '@angular/material/chips'; import { By } from '@angular/platform-browser'; @@ -9,6 +9,7 @@ import { ChipComponent } from './chip.component'; template: ` Or not to be `, + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) class TestComponent {} @@ -43,9 +44,9 @@ describe(`ChipComponent`, () => { fixture.detectChanges(); expect(component.cssClass).toBe(`i-am-a-class`); - expect( - fixture.debugElement.query(By.css(`.os-chip`)).nativeElement.classList.contains(`i-am-a-class`) - ).toBeTrue(); + expect(fixture.debugElement.query(By.css(`.os-chip`)).nativeElement.classList.contains(`i-am-a-class`)).toBe( + true + ); }); it(`should contain content`, () => { diff --git a/client/src/app/ui/modules/chip/chip.component.ts b/client/src/app/ui/modules/chip/chip.component.ts index baa33a43eb1..5beec20ebb2 100644 --- a/client/src/app/ui/modules/chip/chip.component.ts +++ b/client/src/app/ui/modules/chip/chip.component.ts @@ -1,5 +1,5 @@ import { CommonModule } from '@angular/common'; -import { Component, ElementRef, inject, Input } from '@angular/core'; +import { ChangeDetectionStrategy, Component, ElementRef, inject, Input } from '@angular/core'; import { MatChipsModule } from '@angular/material/chips'; import { MatRippleModule } from '@angular/material/core'; import { HtmlColor } from 'src/app/domain/definitions/key-types'; @@ -9,6 +9,7 @@ import { Color, ColorService } from 'src/app/site/services/color.service'; selector: `os-chip`, templateUrl: `./chip.component.html`, styleUrls: [`./chip.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, imports: [CommonModule, MatChipsModule, MatRippleModule] }) export class ChipComponent { diff --git a/client/src/app/ui/modules/choice-dialog/choice-dialog.component.spec.ts b/client/src/app/ui/modules/choice-dialog/choice-dialog.component.spec.ts index 36733e4f1c1..07068e5eba1 100644 --- a/client/src/app/ui/modules/choice-dialog/choice-dialog.component.spec.ts +++ b/client/src/app/ui/modules/choice-dialog/choice-dialog.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ChoiceDialogComponent } from './choice-dialog.component'; -xdescribe(`ChoiceDialogComponent`, () => { +describe.skip(`ChoiceDialogComponent`, () => { let component: ChoiceDialogComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/choice-dialog/choice-dialog.component.ts b/client/src/app/ui/modules/choice-dialog/choice-dialog.component.ts index f2de7a35774..62821b32769 100644 --- a/client/src/app/ui/modules/choice-dialog/choice-dialog.component.ts +++ b/client/src/app/ui/modules/choice-dialog/choice-dialog.component.ts @@ -1,4 +1,4 @@ -import { Component, Inject, ViewEncapsulation } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Inject, ViewEncapsulation } from '@angular/core'; import { FormsModule, ReactiveFormsModule, UntypedFormBuilder, UntypedFormGroup } from '@angular/forms'; import { MatButtonModule } from '@angular/material/button'; import { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog'; @@ -14,6 +14,7 @@ import { ChoiceAnswer, ChoiceDialogConfig } from './definitions'; templateUrl: `./choice-dialog.component.html`, styleUrls: [`./choice-dialog.component.scss`], encapsulation: ViewEncapsulation.None, + changeDetection: ChangeDetectionStrategy.Eager, imports: [MatDialogModule, MatButtonModule, ReactiveFormsModule, FormsModule, SearchSelectorModule, TranslatePipe] }) export class ChoiceDialogComponent { diff --git a/client/src/app/ui/modules/color-form-field/color-form-field.component.spec.ts b/client/src/app/ui/modules/color-form-field/color-form-field.component.spec.ts index 8cff76dc943..a125613c9e0 100644 --- a/client/src/app/ui/modules/color-form-field/color-form-field.component.spec.ts +++ b/client/src/app/ui/modules/color-form-field/color-form-field.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ColorFormFieldComponent } from './color-form-field.component'; -xdescribe(`ColorFormFieldComponent`, () => { +describe.skip(`ColorFormFieldComponent`, () => { let component: ColorFormFieldComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/color-form-field/color-form-field.component.ts b/client/src/app/ui/modules/color-form-field/color-form-field.component.ts index 8eb972c0315..7262785a593 100644 --- a/client/src/app/ui/modules/color-form-field/color-form-field.component.ts +++ b/client/src/app/ui/modules/color-form-field/color-form-field.component.ts @@ -1,4 +1,4 @@ -import { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core'; +import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, Output } from '@angular/core'; import { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule, UntypedFormControl } from '@angular/forms'; import { MatButtonModule } from '@angular/material/button'; import { MatFormFieldModule } from '@angular/material/form-field'; @@ -15,6 +15,7 @@ import { BaseFormControlComponent } from '../../base/base-form-control'; templateUrl: `./color-form-field.component.html`, styleUrls: [`./color-form-field.component.scss`], providers: [{ provide: NG_VALUE_ACCESSOR, multi: true, useExisting: forwardRef(() => ColorFormFieldComponent) }], + changeDetection: ChangeDetectionStrategy.Eager, imports: [ ReactiveFormsModule, MatFormFieldModule, diff --git a/client/src/app/ui/modules/comma-separated-listing/comma-separated-listing.component.spec.ts b/client/src/app/ui/modules/comma-separated-listing/comma-separated-listing.component.spec.ts index c9508fccc42..98ff4710902 100644 --- a/client/src/app/ui/modules/comma-separated-listing/comma-separated-listing.component.spec.ts +++ b/client/src/app/ui/modules/comma-separated-listing/comma-separated-listing.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { CommaSeparatedListingComponent } from './comma-separated-listing.component'; -xdescribe(`CommaSeparatedListingComponent`, () => { +describe.skip(`CommaSeparatedListingComponent`, () => { let component: CommaSeparatedListingComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/custom-icon/custom-icon.component.spec.ts b/client/src/app/ui/modules/custom-icon/custom-icon.component.spec.ts index 61d4ebbd90a..b459b93d376 100644 --- a/client/src/app/ui/modules/custom-icon/custom-icon.component.spec.ts +++ b/client/src/app/ui/modules/custom-icon/custom-icon.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { CustomIconComponent } from './custom-icon.component'; -xdescribe(`CustomIconComponent`, () => { +describe.skip(`CustomIconComponent`, () => { let component: CustomIconComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/datepicker/components/datepicker/datepicker.component.spec.ts b/client/src/app/ui/modules/datepicker/components/datepicker/datepicker.component.spec.ts index 5edff828204..e0b409d7b86 100644 --- a/client/src/app/ui/modules/datepicker/components/datepicker/datepicker.component.spec.ts +++ b/client/src/app/ui/modules/datepicker/components/datepicker/datepicker.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { DatepickerComponent } from './datepicker.component'; -xdescribe(`DatepickerComponent`, () => { +describe.skip(`DatepickerComponent`, () => { let component: DatepickerComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/datepicker/components/daterangepicker/daterangepicker.component.spec.ts b/client/src/app/ui/modules/datepicker/components/daterangepicker/daterangepicker.component.spec.ts index 6e75b7acf91..83addd18aed 100644 --- a/client/src/app/ui/modules/datepicker/components/daterangepicker/daterangepicker.component.spec.ts +++ b/client/src/app/ui/modules/datepicker/components/daterangepicker/daterangepicker.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { DaterangepickerComponent } from './daterangepicker.component'; -xdescribe(`DaterangepickerComponent`, () => { +describe.skip(`DaterangepickerComponent`, () => { let component: DaterangepickerComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/editor/components/editor-embed-dialog/editor-embed-dialog.component.ts b/client/src/app/ui/modules/editor/components/editor-embed-dialog/editor-embed-dialog.component.ts index eccc42323a2..1c693325e62 100644 --- a/client/src/app/ui/modules/editor/components/editor-embed-dialog/editor-embed-dialog.component.ts +++ b/client/src/app/ui/modules/editor/components/editor-embed-dialog/editor-embed-dialog.component.ts @@ -1,4 +1,4 @@ -import { Component, Inject } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Inject } from '@angular/core'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; interface EditorEmbedData { @@ -19,6 +19,7 @@ export interface EditorEmbedDialogOutput { selector: `os-editor-image-dialog`, templateUrl: `./editor-embed-dialog.component.html`, styleUrls: [`editor-embed-dialog.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class EditorEmbedDialogComponent { diff --git a/client/src/app/ui/modules/editor/components/editor-html-dialog/editor-html-dialog.component.ts b/client/src/app/ui/modules/editor/components/editor-html-dialog/editor-html-dialog.component.ts index de9231977b8..2b93ca29a99 100644 --- a/client/src/app/ui/modules/editor/components/editor-html-dialog/editor-html-dialog.component.ts +++ b/client/src/app/ui/modules/editor/components/editor-html-dialog/editor-html-dialog.component.ts @@ -1,4 +1,4 @@ -import { Component, Inject } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Inject } from '@angular/core'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; export interface EditorHtmlDialogOutput { @@ -10,6 +10,7 @@ export interface EditorHtmlDialogOutput { selector: `os-editor-html-dialog`, templateUrl: `./editor-html-dialog.component.html`, styleUrls: [`./editor-html-dialog.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class EditorHtmlDialogComponent { diff --git a/client/src/app/ui/modules/editor/components/editor-image-dialog/editor-image-dialog.component.ts b/client/src/app/ui/modules/editor/components/editor-image-dialog/editor-image-dialog.component.ts index f58c16d7cb4..f0d2a544c21 100644 --- a/client/src/app/ui/modules/editor/components/editor-image-dialog/editor-image-dialog.component.ts +++ b/client/src/app/ui/modules/editor/components/editor-image-dialog/editor-image-dialog.component.ts @@ -1,4 +1,4 @@ -import { Component, Inject, inject } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Inject, inject } from '@angular/core'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; interface EditorImageData { @@ -20,6 +20,7 @@ export interface EditorImageDialogOutput { selector: `os-editor-image-dialog`, templateUrl: `./editor-image-dialog.component.html`, styleUrls: [`editor-image-dialog.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class EditorImageDialogComponent { diff --git a/client/src/app/ui/modules/editor/components/editor-link-dialog/editor-link-dialog.component.ts b/client/src/app/ui/modules/editor/components/editor-link-dialog/editor-link-dialog.component.ts index dd1dcde6f62..f21d2810468 100644 --- a/client/src/app/ui/modules/editor/components/editor-link-dialog/editor-link-dialog.component.ts +++ b/client/src/app/ui/modules/editor/components/editor-link-dialog/editor-link-dialog.component.ts @@ -1,4 +1,4 @@ -import { Component, Inject } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Inject } from '@angular/core'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; interface EditorLinkDialogInput { @@ -16,6 +16,7 @@ export interface EditorLinkDialogOutput { selector: `os-editor-link-dialog`, templateUrl: `./editor-link-dialog.component.html`, styleUrls: [`editor-link-dialog.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class EditorLinkDialogComponent { diff --git a/client/src/app/ui/modules/editor/components/editor/editor.component.spec.ts b/client/src/app/ui/modules/editor/components/editor/editor.component.spec.ts index 07524047738..0faa0b611dc 100644 --- a/client/src/app/ui/modules/editor/components/editor/editor.component.spec.ts +++ b/client/src/app/ui/modules/editor/components/editor/editor.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { EditorComponent } from './editor.component'; -xdescribe(`EditorComponent`, () => { +describe.skip(`EditorComponent`, () => { let component: EditorComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/editor/components/editor/editor.component.ts b/client/src/app/ui/modules/editor/components/editor/editor.component.ts index 0a3187fa700..8ceeaefda3e 100644 --- a/client/src/app/ui/modules/editor/components/editor/editor.component.ts +++ b/client/src/app/ui/modules/editor/components/editor/editor.component.ts @@ -1,5 +1,6 @@ import { AfterViewInit, + ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, @@ -91,6 +92,7 @@ const DEFAULT_COLOR_PALETE = [ templateUrl: `./editor.component.html`, styleUrls: [`./editor.component.scss`], providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => EditorComponent), multi: true }], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class EditorComponent extends BaseFormControlComponent implements AfterViewInit, OnDestroy { diff --git a/client/src/app/ui/modules/expandable-content-wrapper/expandable-content-wrapper.component.spec.ts b/client/src/app/ui/modules/expandable-content-wrapper/expandable-content-wrapper.component.spec.ts index d86452d9a9d..7da3777d662 100644 --- a/client/src/app/ui/modules/expandable-content-wrapper/expandable-content-wrapper.component.spec.ts +++ b/client/src/app/ui/modules/expandable-content-wrapper/expandable-content-wrapper.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ExpandableContentWrapperComponent } from './expandable-content-wrapper.component'; -xdescribe(`ExpandableContentWrapperComponent`, () => { +describe.skip(`ExpandableContentWrapperComponent`, () => { let component: ExpandableContentWrapperComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/file-list/file-list.component.spec.ts b/client/src/app/ui/modules/file-list/file-list.component.spec.ts index 3511e258d20..a9e21afffc0 100644 --- a/client/src/app/ui/modules/file-list/file-list.component.spec.ts +++ b/client/src/app/ui/modules/file-list/file-list.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { FileListComponent } from './file-list.component'; -xdescribe(`FileListComponent`, () => { +describe.skip(`FileListComponent`, () => { let component: FileListComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/file-upload/components/file-upload/file-upload.component.spec.ts b/client/src/app/ui/modules/file-upload/components/file-upload/file-upload.component.spec.ts index 849bb691108..498162b07e9 100644 --- a/client/src/app/ui/modules/file-upload/components/file-upload/file-upload.component.spec.ts +++ b/client/src/app/ui/modules/file-upload/components/file-upload/file-upload.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { FileUploadComponent } from './file-upload.component'; -xdescribe(`FileUploadComponent`, () => { +describe.skip(`FileUploadComponent`, () => { let component: FileUploadComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/file-upload/components/file-upload/file-upload.component.ts b/client/src/app/ui/modules/file-upload/components/file-upload/file-upload.component.ts index 77943341e3d..a8c9cae1c71 100644 --- a/client/src/app/ui/modules/file-upload/components/file-upload/file-upload.component.ts +++ b/client/src/app/ui/modules/file-upload/components/file-upload/file-upload.component.ts @@ -1,4 +1,5 @@ import { + ChangeDetectionStrategy, Component, ContentChild, ElementRef, @@ -27,6 +28,7 @@ let uniqueCounter = 0; selector: `os-file-upload`, templateUrl: `./file-upload.component.html`, styleUrls: [`./file-upload.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class FileUploadComponent { diff --git a/client/src/app/ui/modules/grid/grid/grid.component.spec.ts b/client/src/app/ui/modules/grid/grid/grid.component.spec.ts index fdaa89c866a..891e3019cf9 100644 --- a/client/src/app/ui/modules/grid/grid/grid.component.spec.ts +++ b/client/src/app/ui/modules/grid/grid/grid.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { GridComponent } from './grid.component'; -xdescribe(`GridComponent`, () => { +describe.skip(`GridComponent`, () => { let component: GridComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/grid/grid/grid.component.ts b/client/src/app/ui/modules/grid/grid/grid.component.ts index eb90f950e5a..96eeca5aeb3 100644 --- a/client/src/app/ui/modules/grid/grid/grid.component.ts +++ b/client/src/app/ui/modules/grid/grid/grid.component.ts @@ -1,4 +1,4 @@ -import { Component, ContentChildren, Input, QueryList } from '@angular/core'; +import { ChangeDetectionStrategy, Component, ContentChildren, Input, QueryList } from '@angular/core'; import { TileComponent } from '../tile/tile.component'; @@ -6,6 +6,7 @@ import { TileComponent } from '../tile/tile.component'; selector: `os-grid`, templateUrl: `./grid.component.html`, styleUrls: [`./grid.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class GridComponent { diff --git a/client/src/app/ui/modules/grid/tile/tile.component.spec.ts b/client/src/app/ui/modules/grid/tile/tile.component.spec.ts index 79ed681c187..cd4c5611f11 100644 --- a/client/src/app/ui/modules/grid/tile/tile.component.spec.ts +++ b/client/src/app/ui/modules/grid/tile/tile.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { TileComponent } from './tile.component'; -xdescribe(`TileComponent`, () => { +describe.skip(`TileComponent`, () => { let component: TileComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/grid/tile/tile.component.ts b/client/src/app/ui/modules/grid/tile/tile.component.ts index a79f7e0adfb..8883b1c4269 100644 --- a/client/src/app/ui/modules/grid/tile/tile.component.ts +++ b/client/src/app/ui/modules/grid/tile/tile.component.ts @@ -1,4 +1,13 @@ -import { Component, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild } from '@angular/core'; +import { + ChangeDetectionStrategy, + Component, + EventEmitter, + Input, + OnInit, + Output, + TemplateRef, + ViewChild +} from '@angular/core'; import { GridTileClickEvent, GridTileDimension } from '../definitions'; @@ -6,6 +15,7 @@ import { GridTileClickEvent, GridTileDimension } from '../definitions'; selector: `os-tile`, templateUrl: `./tile.component.html`, styleUrls: [`./tile.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class TileComponent implements OnInit { diff --git a/client/src/app/ui/modules/head-bar/components/head-bar/head-bar.component.spec.ts b/client/src/app/ui/modules/head-bar/components/head-bar/head-bar.component.spec.ts index 1d2fded9587..ab621f049bd 100644 --- a/client/src/app/ui/modules/head-bar/components/head-bar/head-bar.component.spec.ts +++ b/client/src/app/ui/modules/head-bar/components/head-bar/head-bar.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { HeadBarComponent } from './head-bar.component'; -xdescribe(`HeadBarComponent`, () => { +describe.skip(`HeadBarComponent`, () => { let component: HeadBarComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/head-bar/components/head-bar/head-bar.component.ts b/client/src/app/ui/modules/head-bar/components/head-bar/head-bar.component.ts index f7ae2d95d2b..4b9131870b0 100644 --- a/client/src/app/ui/modules/head-bar/components/head-bar/head-bar.component.ts +++ b/client/src/app/ui/modules/head-bar/components/head-bar/head-bar.component.ts @@ -1,6 +1,7 @@ import { TemplatePortal } from '@angular/cdk/portal'; import { AfterViewInit, + ChangeDetectionStrategy, Component, EventEmitter, inject, @@ -72,6 +73,7 @@ export const HEAD_BAR_HEIGHT = 50; // height of the head-bar in px. templateUrl: `./head-bar.component.html`, styleUrls: [`./head-bar.component.scss`], encapsulation: ViewEncapsulation.None, + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class HeadBarComponent implements OnInit, AfterViewInit { diff --git a/client/src/app/ui/modules/head-toolbar/head-toolbar.component.ts b/client/src/app/ui/modules/head-toolbar/head-toolbar.component.ts index dc22c53fe7a..08d64e89374 100644 --- a/client/src/app/ui/modules/head-toolbar/head-toolbar.component.ts +++ b/client/src/app/ui/modules/head-toolbar/head-toolbar.component.ts @@ -1,6 +1,7 @@ import { TemplatePortal } from '@angular/cdk/portal'; import { AfterViewInit, + ChangeDetectionStrategy, Component, inject, OnDestroy, @@ -24,6 +25,7 @@ import { GlobalHeadbarService } from 'src/app/site/modules/global-headbar/global styleUrls: [`./head-toolbar.component.scss`], imports: [MatToolbarModule], encapsulation: ViewEncapsulation.None, + changeDetection: ChangeDetectionStrategy.Eager, standalone: true }) export class HeadToolbarComponent implements AfterViewInit, OnDestroy { diff --git a/client/src/app/ui/modules/icon-container/icon-container.component.spec.ts b/client/src/app/ui/modules/icon-container/icon-container.component.spec.ts index 52482a9991e..474e6faa350 100644 --- a/client/src/app/ui/modules/icon-container/icon-container.component.spec.ts +++ b/client/src/app/ui/modules/icon-container/icon-container.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { IconContainerComponent } from './icon-container.component'; -xdescribe(`IconContainerComponent`, () => { +describe.skip(`IconContainerComponent`, () => { let component: IconContainerComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/icon-container/icon-container.component.ts b/client/src/app/ui/modules/icon-container/icon-container.component.ts index e1a2bd36989..9c0d69a87f5 100644 --- a/client/src/app/ui/modules/icon-container/icon-container.component.ts +++ b/client/src/app/ui/modules/icon-container/icon-container.component.ts @@ -1,5 +1,5 @@ import { CommonModule } from '@angular/common'; -import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core'; +import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core'; import { MatIconModule } from '@angular/material/icon'; import { MatTooltipModule, TooltipPosition } from '@angular/material/tooltip'; @@ -7,6 +7,7 @@ import { MatTooltipModule, TooltipPosition } from '@angular/material/tooltip'; selector: `os-icon-container`, templateUrl: `./icon-container.component.html`, styleUrls: [`./icon-container.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, imports: [CommonModule, MatIconModule, MatTooltipModule] }) export class IconContainerComponent { diff --git a/client/src/app/ui/modules/import-list/components/via-backend-import-list/backend-import-list.component.spec.ts b/client/src/app/ui/modules/import-list/components/via-backend-import-list/backend-import-list.component.spec.ts index 81bd1b0ca04..89232bbce86 100644 --- a/client/src/app/ui/modules/import-list/components/via-backend-import-list/backend-import-list.component.spec.ts +++ b/client/src/app/ui/modules/import-list/components/via-backend-import-list/backend-import-list.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { BackendImportListComponent } from './backend-import-list.component'; -xdescribe(`ViaBackendImportListComponent`, () => { +describe.skip(`ViaBackendImportListComponent`, () => { let component: BackendImportListComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/import-list/components/via-backend-import-list/backend-import-list.component.ts b/client/src/app/ui/modules/import-list/components/via-backend-import-list/backend-import-list.component.ts index 2e44e90c9f9..96c27b6b8a3 100644 --- a/client/src/app/ui/modules/import-list/components/via-backend-import-list/backend-import-list.component.ts +++ b/client/src/app/ui/modules/import-list/components/via-backend-import-list/backend-import-list.component.ts @@ -1,4 +1,5 @@ import { + ChangeDetectionStrategy, Component, ContentChild, ContentChildren, @@ -53,6 +54,7 @@ export enum BackendImportPhase { templateUrl: `./backend-import-list.component.html`, styleUrls: [`./backend-import-list.component.scss`], encapsulation: ViewEncapsulation.None, + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class BackendImportListComponent implements OnInit, OnDestroy { diff --git a/client/src/app/ui/modules/import-list/directives/import-list-first-tab.directive.spec.ts b/client/src/app/ui/modules/import-list/directives/import-list-first-tab.directive.spec.ts index 0f235c65824..20a4793da9e 100644 --- a/client/src/app/ui/modules/import-list/directives/import-list-first-tab.directive.spec.ts +++ b/client/src/app/ui/modules/import-list/directives/import-list-first-tab.directive.spec.ts @@ -1,6 +1,6 @@ // import { ImportListFirstTabDirective } from './import-list-first-tab.directive'; -xdescribe(`ImportListFirstTabDirective`, () => { +describe.skip(`ImportListFirstTabDirective`, () => { it(`should create an instance`, () => { // const directive = new ImportListFirstTabDirective(); // expect(directive).toBeTruthy(); diff --git a/client/src/app/ui/modules/import-list/directives/import-list-last-tab.directive.spec.ts b/client/src/app/ui/modules/import-list/directives/import-list-last-tab.directive.spec.ts index 160be0e552d..bba377bef35 100644 --- a/client/src/app/ui/modules/import-list/directives/import-list-last-tab.directive.spec.ts +++ b/client/src/app/ui/modules/import-list/directives/import-list-last-tab.directive.spec.ts @@ -1,6 +1,6 @@ // import { ImportListLastTabDirective } from './import-list-last-tab.directive'; -xdescribe(`ImportListLastTabDirective`, () => { +describe.skip(`ImportListLastTabDirective`, () => { it(`should create an instance`, () => { // const directive = new ImportListLastTabDirective(); // expect(directive).toBeTruthy(); diff --git a/client/src/app/ui/modules/import-list/directives/import-list-status-template.directive.spec.ts b/client/src/app/ui/modules/import-list/directives/import-list-status-template.directive.spec.ts index 19ed432b689..58451f13bb6 100644 --- a/client/src/app/ui/modules/import-list/directives/import-list-status-template.directive.spec.ts +++ b/client/src/app/ui/modules/import-list/directives/import-list-status-template.directive.spec.ts @@ -1,6 +1,6 @@ import { ImportListStatusTemplateDirective } from './import-list-status-template.directive'; -xdescribe(`ImportListStatusTemplateDirective`, () => { +describe.skip(`ImportListStatusTemplateDirective`, () => { it(`should create an instance`, () => { const directive = new ImportListStatusTemplateDirective(); expect(directive).toBeTruthy(); diff --git a/client/src/app/ui/modules/input/components/rounded-input/rounded-input.component.spec.ts b/client/src/app/ui/modules/input/components/rounded-input/rounded-input.component.spec.ts index 7c555a26749..628cfe31bc9 100644 --- a/client/src/app/ui/modules/input/components/rounded-input/rounded-input.component.spec.ts +++ b/client/src/app/ui/modules/input/components/rounded-input/rounded-input.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { RoundedInputComponent } from './rounded-input.component'; -xdescribe(`RoundedInputComponent`, () => { +describe.skip(`RoundedInputComponent`, () => { let component: RoundedInputComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/input/components/rounded-input/rounded-input.component.ts b/client/src/app/ui/modules/input/components/rounded-input/rounded-input.component.ts index ae7de4b1be1..f3757c28357 100644 --- a/client/src/app/ui/modules/input/components/rounded-input/rounded-input.component.ts +++ b/client/src/app/ui/modules/input/components/rounded-input/rounded-input.component.ts @@ -1,4 +1,14 @@ -import { Component, ElementRef, EventEmitter, HostBinding, Input, OnInit, Output, ViewChild } from '@angular/core'; +import { + ChangeDetectionStrategy, + Component, + ElementRef, + EventEmitter, + HostBinding, + Input, + OnInit, + Output, + ViewChild +} from '@angular/core'; import { forwardRef } from '@angular/core'; import { NG_VALUE_ACCESSOR, UntypedFormControl } from '@angular/forms'; import { debounceTime } from 'rxjs'; @@ -14,6 +24,7 @@ export type Size = `small` | `medium` | `large`; templateUrl: `./rounded-input.component.html`, styleUrls: [`./rounded-input.component.scss`], providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => RoundedInputComponent), multi: true }], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class RoundedInputComponent extends BaseFormControlComponent implements OnInit { diff --git a/client/src/app/ui/modules/list/components/filter-menu/filter-menu.component.spec.ts b/client/src/app/ui/modules/list/components/filter-menu/filter-menu.component.spec.ts index ce4b6516bc7..0d420cfe517 100644 --- a/client/src/app/ui/modules/list/components/filter-menu/filter-menu.component.spec.ts +++ b/client/src/app/ui/modules/list/components/filter-menu/filter-menu.component.spec.ts @@ -3,7 +3,7 @@ import { BaseViewModel } from 'src/app/site/base/base-view-model'; import { FilterMenuComponent } from './filter-menu.component'; -xdescribe(`FilterMenuComponent`, () => { +describe.skip(`FilterMenuComponent`, () => { class TestBaseViewModel extends BaseViewModel {} let component: FilterMenuComponent; diff --git a/client/src/app/ui/modules/list/components/list/list.component.spec.ts b/client/src/app/ui/modules/list/components/list/list.component.spec.ts index 23089dfd7ab..ddd49dc09e0 100644 --- a/client/src/app/ui/modules/list/components/list/list.component.spec.ts +++ b/client/src/app/ui/modules/list/components/list/list.component.spec.ts @@ -3,7 +3,7 @@ import { Identifiable } from 'src/app/domain/interfaces'; import { ListComponent } from './list.component'; -xdescribe(`ListComponent`, () => { +describe.skip(`ListComponent`, () => { let component: ListComponent; let fixture: ComponentFixture>; diff --git a/client/src/app/ui/modules/list/components/sort-bottom-sheet/sort-bottom-sheet.component.spec.ts b/client/src/app/ui/modules/list/components/sort-bottom-sheet/sort-bottom-sheet.component.spec.ts index 46f47c8ad19..0ec6866a2da 100644 --- a/client/src/app/ui/modules/list/components/sort-bottom-sheet/sort-bottom-sheet.component.spec.ts +++ b/client/src/app/ui/modules/list/components/sort-bottom-sheet/sort-bottom-sheet.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { SortBottomSheetComponent } from './sort-bottom-sheet.component'; -xdescribe(`SortBottomSheetComponent`, () => { +describe.skip(`SortBottomSheetComponent`, () => { let component: SortBottomSheetComponent; let fixture: ComponentFixture>; diff --git a/client/src/app/ui/modules/list/components/sort-bottom-sheet/sort-bottom-sheet.component.ts b/client/src/app/ui/modules/list/components/sort-bottom-sheet/sort-bottom-sheet.component.ts index 1e3de90adf5..4776d00adb0 100644 --- a/client/src/app/ui/modules/list/components/sort-bottom-sheet/sort-bottom-sheet.component.ts +++ b/client/src/app/ui/modules/list/components/sort-bottom-sheet/sort-bottom-sheet.component.ts @@ -1,4 +1,4 @@ -import { Component, Inject, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Inject, OnInit } from '@angular/core'; import { MAT_BOTTOM_SHEET_DATA, MatBottomSheetRef } from '@angular/material/bottom-sheet'; import { OsSortProperty } from 'src/app/site/base/base-sort.service'; import { SortListService } from 'src/app/ui/modules/list/definitions/sort-service'; @@ -17,6 +17,7 @@ import { SortListService } from 'src/app/ui/modules/list/definitions/sort-servic selector: `os-sort-bottom-sheet`, templateUrl: `./sort-bottom-sheet.component.html`, styleUrls: [`./sort-bottom-sheet.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class SortBottomSheetComponent implements OnInit { diff --git a/client/src/app/ui/modules/list/components/sort-filter-bar/sort-filter-bar.component.spec.ts b/client/src/app/ui/modules/list/components/sort-filter-bar/sort-filter-bar.component.spec.ts index 69badbaeef7..3ee8031898a 100644 --- a/client/src/app/ui/modules/list/components/sort-filter-bar/sort-filter-bar.component.spec.ts +++ b/client/src/app/ui/modules/list/components/sort-filter-bar/sort-filter-bar.component.spec.ts @@ -4,7 +4,7 @@ import { Identifiable } from 'src/app/domain/interfaces'; import { SortFilterBarComponent } from './sort-filter-bar.component'; -xdescribe(`SortFilterBarComponent`, () => { +describe.skip(`SortFilterBarComponent`, () => { class TestIdentifiable implements Identifiable { readonly id: Id; } diff --git a/client/src/app/ui/modules/list/components/view-list/view-list.component.spec.ts b/client/src/app/ui/modules/list/components/view-list/view-list.component.spec.ts index a344b217aeb..c3178bb5f16 100644 --- a/client/src/app/ui/modules/list/components/view-list/view-list.component.spec.ts +++ b/client/src/app/ui/modules/list/components/view-list/view-list.component.spec.ts @@ -4,7 +4,7 @@ import { Identifiable } from 'src/app/domain/interfaces'; import { ViewListComponent } from './view-list.component'; -xdescribe(`ViewListComponent`, () => { +describe.skip(`ViewListComponent`, () => { class TestIdentifiable implements Identifiable { readonly id: Id; } diff --git a/client/src/app/ui/modules/list/services/list-search.service.spec.ts b/client/src/app/ui/modules/list/services/list-search.service.spec.ts index feb935e6e03..a6a1895e006 100644 --- a/client/src/app/ui/modules/list/services/list-search.service.spec.ts +++ b/client/src/app/ui/modules/list/services/list-search.service.spec.ts @@ -8,7 +8,9 @@ class MockIdentifiable { public en: string, public ti: boolean, private _fi: (originItem: MockIdentifiable) => string, - public ab: { data: string }, + public ab: { + data: string; + }, public le?: number[] ) {} @@ -79,6 +81,7 @@ describe(`ListSearchService`, () => { generateService([]); service.initSearchService(new BehaviorSubject(getSourceData(25))); expect(() => service.search(`apple`)).not.toThrow(); + // TODO: vitest-migration: Unsupported matcher ".toBePending()" found. Vitest does not have a direct equivalent. Please migrate this manually, for example by using `Promise.race` to check if the promise settles within a short timeout. await expectAsync(getWaitUntilPromiseForService(data => data.length !== 25, 1)).toBePending(); }); @@ -86,6 +89,7 @@ describe(`ListSearchService`, () => { generateService([`en`]); service.initSearchService(new BehaviorSubject([])); expect(() => service.search(`apple`)).not.toThrow(); + // TODO: vitest-migration: Unsupported matcher ".toBePending()" found. Vitest does not have a direct equivalent. Please migrate this manually, for example by using `Promise.race` to check if the promise settles within a short timeout. await expectAsync(getWaitUntilPromiseForService(data => data.length !== 0, 1)).toBePending(); }); @@ -93,33 +97,33 @@ describe(`ListSearchService`, () => { generateService([`ti`]); service.initSearchService(new BehaviorSubject(getSourceData(10))); expect(() => service.search(`true`)).not.toThrow(); - await expectAsync(getWaitUntilPromiseForService(data => data.length !== 25)).toBeResolvedTo([0, 3, 4, 5, 7, 9]); + await expect(getWaitUntilPromiseForService(data => data.length !== 25)).resolves.toEqual([0, 3, 4, 5, 7, 9]); }); it(`test search with alsoFilterByProperties`, async () => { generateService([`ti`], [`en`]); service.initSearchService(new BehaviorSubject(getSourceData(25))); expect(() => service.search(`doctor`)).not.toThrow(); - await expectAsync(getWaitUntilPromiseForService(data => data.length !== 25)).toBeResolvedTo([6, 14, 22]); + await expect(getWaitUntilPromiseForService(data => data.length !== 25)).resolves.toEqual([6, 14, 22]); }); it(`test search trim`, async () => { generateService([`ti`], [`en`]); service.initSearchService(new BehaviorSubject(getSourceData(25))); expect(() => service.search(`doctor `)).not.toThrow(); - await expectAsync(getWaitUntilPromiseForService(data => data.length !== 25)).toBeResolvedTo([6, 14, 22]); + await expect(getWaitUntilPromiseForService(data => data.length !== 25)).resolves.toEqual([6, 14, 22]); }); it(`test search function`, async () => { generateService([`fi`]); service.initSearchService(new BehaviorSubject(getSourceData(25))); expect(() => service.search(`doctor`)).not.toThrow(); - await expectAsync(getWaitUntilPromiseForService(data => data.length !== 25)).toBeResolvedTo([6]); + await expect(getWaitUntilPromiseForService(data => data.length !== 25)).resolves.toEqual([6]); service.exitSearchService(); generateService([`fi`]); service.initSearchService(new BehaviorSubject(getSourceData(25))); expect(() => service.search(`banana`)).not.toThrow(); - await expectAsync(getWaitUntilPromiseForService(data => data.length !== 25)).toBeResolvedTo([ + await expect(getWaitUntilPromiseForService(data => data.length !== 25)).resolves.toEqual([ 1, 4, 7, 10, 13, 16, 19, 22 ]); }); @@ -128,14 +132,14 @@ describe(`ListSearchService`, () => { generateService([`id`]); service.initSearchService(new BehaviorSubject(getSourceData(25))); expect(() => service.search(`5`)).not.toThrow(); - await expectAsync(getWaitUntilPromiseForService(data => data.length !== 25)).toBeResolvedTo([5, 15]); + await expect(getWaitUntilPromiseForService(data => data.length !== 25)).resolves.toEqual([5, 15]); }); it(`test search array`, async () => { generateService([`le`]); service.initSearchService(new BehaviorSubject(getSourceData(25))); expect(() => service.search(`5`)).not.toThrow(); - await expectAsync(getWaitUntilPromiseForService(data => data.length !== 25)).toBeResolvedTo([ + await expect(getWaitUntilPromiseForService(data => data.length !== 25)).resolves.toEqual([ 4, 5, 6, 8, 9, 10, 11, 12, 17, 18, 19, 21, 22, 23, 24 ]); }); @@ -144,14 +148,14 @@ describe(`ListSearchService`, () => { generateService([`ti`]); service.initSearchService(new BehaviorSubject(getSourceData(25))); expect(() => service.search(`doctor`)).not.toThrow(); - await expectAsync(getWaitUntilPromiseForService(data => data.length !== 25)).toBeResolvedTo([]); + await expect(getWaitUntilPromiseForService(data => data.length !== 25)).resolves.toEqual([]); }); it(`test search with multiple properties`, async () => { generateService([`le`, `id`]); service.initSearchService(new BehaviorSubject(getSourceData(25))); expect(() => service.search(`5`)).not.toThrow(); - await expectAsync(getWaitUntilPromiseForService(data => data.length !== 25)).toBeResolvedTo([ + await expect(getWaitUntilPromiseForService(data => data.length !== 25)).resolves.toEqual([ 4, 5, 6, 8, 9, 10, 11, 12, 15, 17, 18, 19, 21, 22, 23, 24 ]); }); @@ -160,14 +164,14 @@ describe(`ListSearchService`, () => { generateService([`en`, `id`]); service.initSearchService(new BehaviorSubject(getSourceData(25))); expect(() => service.search(`5`)).not.toThrow(); - await expectAsync(getWaitUntilPromiseForService(data => data.length !== 25)).toBeResolvedTo([5, 15]); + await expect(getWaitUntilPromiseForService(data => data.length !== 25)).resolves.toEqual([5, 15]); }); it(`test if really only the first additional property is searched`, async () => { generateService([`ti`], [`en`, `id`]); service.initSearchService(new BehaviorSubject(getSourceData(25))); expect(() => service.search(`5`)).not.toThrow(); - await expectAsync(getWaitUntilPromiseForService(data => data.length !== 25)).toBeResolvedTo([]); + await expect(getWaitUntilPromiseForService(data => data.length !== 25)).resolves.toEqual([]); }); it(`test if the second additional property is used, if the first isn't filled`, async () => { @@ -181,7 +185,7 @@ describe(`ListSearchService`, () => { ); expect(() => service.search(`a`)).not.toThrow(); // does not contain uneven ids, even though `en` for 1 should be `apple` - await expectAsync(getWaitUntilPromiseForService(data => data.length !== 25)).toBeResolvedTo([ + await expect(getWaitUntilPromiseForService(data => data.length !== 25)).resolves.toEqual([ 0, 2, 8, 10, 16, 18, 24 ]); }); @@ -190,6 +194,6 @@ describe(`ListSearchService`, () => { generateService([`ab.data`]); service.initSearchService(new BehaviorSubject(getSourceData(25))); expect(() => service.search(`elppa`)).not.toThrow(); - await expectAsync(getWaitUntilPromiseForService(data => data.length !== 25)).toBeResolvedTo([6, 14, 22]); + await expect(getWaitUntilPromiseForService(data => data.length !== 25)).resolves.toEqual([6, 14, 22]); }); }); diff --git a/client/src/app/ui/modules/media-upload-content/media-upload-content.component.spec.ts b/client/src/app/ui/modules/media-upload-content/media-upload-content.component.spec.ts index ff768113e73..2f66d497c58 100644 --- a/client/src/app/ui/modules/media-upload-content/media-upload-content.component.spec.ts +++ b/client/src/app/ui/modules/media-upload-content/media-upload-content.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MediaUploadContentComponent } from './media-upload-content.component'; -xdescribe(`MediaUploadContentComponent`, () => { +describe.skip(`MediaUploadContentComponent`, () => { let component: MediaUploadContentComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/media-upload-content/media-upload-content.component.ts b/client/src/app/ui/modules/media-upload-content/media-upload-content.component.ts index 2acfe9a8621..0c3a67b6dbf 100644 --- a/client/src/app/ui/modules/media-upload-content/media-upload-content.component.ts +++ b/client/src/app/ui/modules/media-upload-content/media-upload-content.component.ts @@ -1,4 +1,4 @@ -import { Component, EventEmitter, inject, Input, OnInit, Output } from '@angular/core'; +import { ChangeDetectionStrategy, Component, EventEmitter, inject, Input, OnInit, Output } from '@angular/core'; import { FormsModule, ReactiveFormsModule, UntypedFormBuilder, UntypedFormGroup } from '@angular/forms'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatIconModule } from '@angular/material/icon'; @@ -27,6 +27,7 @@ export interface UploadSuccessEvent { selector: `os-media-upload-content`, templateUrl: `./media-upload-content.component.html`, styleUrls: [`./media-upload-content.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, imports: [ FormsModule, ReactiveFormsModule, diff --git a/client/src/app/ui/modules/meeting-time/meeting-time.component.spec.ts b/client/src/app/ui/modules/meeting-time/meeting-time.component.spec.ts index a0a934bece1..ac5112c7a93 100644 --- a/client/src/app/ui/modules/meeting-time/meeting-time.component.spec.ts +++ b/client/src/app/ui/modules/meeting-time/meeting-time.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MeetingTimeComponent } from './meeting-time.component'; -xdescribe(`MeetingTimeComponent`, () => { +describe.skip(`MeetingTimeComponent`, () => { let component: MeetingTimeComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/meeting-time/meeting-time.component.ts b/client/src/app/ui/modules/meeting-time/meeting-time.component.ts index 48413eeed07..f974a0b2f6d 100644 --- a/client/src/app/ui/modules/meeting-time/meeting-time.component.ts +++ b/client/src/app/ui/modules/meeting-time/meeting-time.component.ts @@ -1,5 +1,5 @@ import { CommonModule } from '@angular/common'; -import { Component, inject, Input } from '@angular/core'; +import { ChangeDetectionStrategy, Component, inject, Input } from '@angular/core'; import { ViewMeeting } from 'src/app/site/pages/meetings/view-models/view-meeting'; import { TimeZoneService } from 'src/app/site/services/time-zone.service'; @@ -9,6 +9,7 @@ import { PipesModule } from '../../pipes'; selector: `os-meeting-time`, templateUrl: `./meeting-time.component.html`, styleUrls: [`./meeting-time.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, imports: [CommonModule, PipesModule] }) export class MeetingTimeComponent { diff --git a/client/src/app/ui/modules/openslides-date-adapter/openslides-date-adapter.ts b/client/src/app/ui/modules/openslides-date-adapter/openslides-date-adapter.ts index 19339f489eb..a481809bf8a 100644 --- a/client/src/app/ui/modules/openslides-date-adapter/openslides-date-adapter.ts +++ b/client/src/app/ui/modules/openslides-date-adapter/openslides-date-adapter.ts @@ -1,5 +1,4 @@ -import { Inject, inject, Injectable, Optional } from '@angular/core'; -import { MAT_DATE_LOCALE } from '@angular/material/core'; +import { inject, Injectable } from '@angular/core'; import { DateFnsAdapter } from '@angular/material-date-fns-adapter'; import { TranslateService } from '@ngx-translate/core'; import { langToTimeLocale } from 'src/app/infrastructure/utils'; @@ -12,8 +11,8 @@ import { langToTimeLocale } from 'src/app/infrastructure/utils'; export class OpenSlidesDateAdapter extends DateFnsAdapter { private translate = inject(TranslateService); - public constructor(@Optional() @Inject(MAT_DATE_LOCALE) dateLocale: string) { - super(dateLocale); + public constructor() { + super(); // subscribe to language changes to change localisation of dates accordingly // DateAdapter seems not to be a singleton so we do that in this subclass instead of app.component this.updateLocaleByName(this.translate.getCurrentLang()); diff --git a/client/src/app/ui/modules/openslides-overlay/overlay.component.spec.ts b/client/src/app/ui/modules/openslides-overlay/overlay.component.spec.ts index 48106291a27..1714370391e 100644 --- a/client/src/app/ui/modules/openslides-overlay/overlay.component.spec.ts +++ b/client/src/app/ui/modules/openslides-overlay/overlay.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { OverlayComponent } from './overlay.component'; -xdescribe(`OverlayComponent`, () => { +describe.skip(`OverlayComponent`, () => { let component: OverlayComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/openslides-overlay/overlay.component.ts b/client/src/app/ui/modules/openslides-overlay/overlay.component.ts index ad7b3eba1ac..32a15eca627 100644 --- a/client/src/app/ui/modules/openslides-overlay/overlay.component.ts +++ b/client/src/app/ui/modules/openslides-overlay/overlay.component.ts @@ -1,4 +1,5 @@ import { + ChangeDetectionStrategy, Component, EmbeddedViewRef, EventEmitter, @@ -16,6 +17,7 @@ import { OverlayPosition } from './definitions'; @Component({ selector: `os-overlay`, templateUrl: `./overlay.component.html`, + changeDetection: ChangeDetectionStrategy.Eager, styleUrls: [`./overlay.component.scss`] }) export class OverlayComponent { diff --git a/client/src/app/ui/modules/prompt-checkbox/prompt-checkbox.component.spec.ts b/client/src/app/ui/modules/prompt-checkbox/prompt-checkbox.component.spec.ts index f1b063b5882..170b8a884c3 100644 --- a/client/src/app/ui/modules/prompt-checkbox/prompt-checkbox.component.spec.ts +++ b/client/src/app/ui/modules/prompt-checkbox/prompt-checkbox.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { PromptCheckboxComponent } from './prompt-checkbox.component'; -xdescribe(`PromptDialogComponent`, () => { +describe.skip(`PromptDialogComponent`, () => { let component: PromptCheckboxComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/prompt-checkbox/prompt-checkbox.component.ts b/client/src/app/ui/modules/prompt-checkbox/prompt-checkbox.component.ts index 4949dc89e01..7f3c1d07e4d 100644 --- a/client/src/app/ui/modules/prompt-checkbox/prompt-checkbox.component.ts +++ b/client/src/app/ui/modules/prompt-checkbox/prompt-checkbox.component.ts @@ -1,4 +1,4 @@ -import { Component, EventEmitter, inject, Input, Output } from '@angular/core'; +import { ChangeDetectionStrategy, Component, EventEmitter, inject, Input, Output } from '@angular/core'; import { MAT_CHECKBOX_DEFAULT_OPTIONS, MatCheckboxDefaultOptions, MatCheckboxModule } from '@angular/material/checkbox'; import { PromptService } from '../prompt-dialog'; @@ -10,6 +10,7 @@ import { PromptService } from '../prompt-dialog'; providers: [ { provide: MAT_CHECKBOX_DEFAULT_OPTIONS, useValue: { clickAction: `noop` } as MatCheckboxDefaultOptions } ], + changeDetection: ChangeDetectionStrategy.Eager, imports: [MatCheckboxModule] }) export class PromptCheckboxComponent { diff --git a/client/src/app/ui/modules/prompt-dialog/prompt-dialog.component.spec.ts b/client/src/app/ui/modules/prompt-dialog/prompt-dialog.component.spec.ts index 40837fd34d2..3ff9c435dbb 100644 --- a/client/src/app/ui/modules/prompt-dialog/prompt-dialog.component.spec.ts +++ b/client/src/app/ui/modules/prompt-dialog/prompt-dialog.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { PromptDialogComponent } from './prompt-dialog.component'; -xdescribe(`PromptDialogComponent`, () => { +describe.skip(`PromptDialogComponent`, () => { let component: PromptDialogComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/prompt-dialog/prompt-dialog.component.ts b/client/src/app/ui/modules/prompt-dialog/prompt-dialog.component.ts index 570c9e66cf3..3be9ddd38a3 100644 --- a/client/src/app/ui/modules/prompt-dialog/prompt-dialog.component.ts +++ b/client/src/app/ui/modules/prompt-dialog/prompt-dialog.component.ts @@ -1,5 +1,5 @@ import { CommonModule } from '@angular/common'; -import { Component, Inject } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Inject } from '@angular/core'; import { MatButtonModule } from '@angular/material/button'; import { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog'; import { TranslatePipe } from '@ngx-translate/core'; @@ -17,6 +17,7 @@ interface PromptDialogData { selector: `os-prompt-dialog`, templateUrl: `./prompt-dialog.component.html`, styleUrls: [`./prompt-dialog.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, imports: [CommonModule, MatDialogModule, MatButtonModule, TranslatePipe] }) export class PromptDialogComponent { diff --git a/client/src/app/ui/modules/qr-code/qr-code.component.spec.ts b/client/src/app/ui/modules/qr-code/qr-code.component.spec.ts index 94daa0e8ea6..cd51ec1c55c 100644 --- a/client/src/app/ui/modules/qr-code/qr-code.component.spec.ts +++ b/client/src/app/ui/modules/qr-code/qr-code.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { QrCodeComponent } from './qr-code.component'; -xdescribe(`QrCodeComponent`, () => { +describe.skip(`QrCodeComponent`, () => { let component: QrCodeComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/qr-code/qr-code.component.ts b/client/src/app/ui/modules/qr-code/qr-code.component.ts index 3c83f90f70a..2d5797397f5 100644 --- a/client/src/app/ui/modules/qr-code/qr-code.component.ts +++ b/client/src/app/ui/modules/qr-code/qr-code.component.ts @@ -1,10 +1,11 @@ -import { AfterViewInit, Component, ElementRef, Input, ViewChild } from '@angular/core'; +import { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, Input, ViewChild } from '@angular/core'; import QRCode from 'qrcode'; import { BehaviorSubject, distinctUntilChanged } from 'rxjs'; @Component({ selector: `os-qr-code`, templateUrl: `./qr-code.component.html`, + changeDetection: ChangeDetectionStrategy.Eager, styleUrls: [`./qr-code.component.scss`] }) export class QrCodeComponent implements AfterViewInit { diff --git a/client/src/app/ui/modules/scrolling-table/components/scrolling-table/scrolling-table.component.spec.ts b/client/src/app/ui/modules/scrolling-table/components/scrolling-table/scrolling-table.component.spec.ts index 99add959ddc..e1dc2a56a30 100644 --- a/client/src/app/ui/modules/scrolling-table/components/scrolling-table/scrolling-table.component.spec.ts +++ b/client/src/app/ui/modules/scrolling-table/components/scrolling-table/scrolling-table.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ScrollingTableComponent } from './scrolling-table.component'; -xdescribe(`ScrollingTableComponent`, () => { +describe.skip(`ScrollingTableComponent`, () => { let component: ScrollingTableComponent; let fixture: ComponentFixture>; diff --git a/client/src/app/ui/modules/scrolling-table/components/scrolling-table/scrolling-table.component.ts b/client/src/app/ui/modules/scrolling-table/components/scrolling-table/scrolling-table.component.ts index 59f2dafa0c5..c889dda0777 100644 --- a/client/src/app/ui/modules/scrolling-table/components/scrolling-table/scrolling-table.component.ts +++ b/client/src/app/ui/modules/scrolling-table/components/scrolling-table/scrolling-table.component.ts @@ -1,6 +1,16 @@ import { TemplatePortal } from '@angular/cdk/portal'; import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling'; -import { AfterViewInit, Component, ElementRef, inject, Input, OnInit, Output, ViewChild } from '@angular/core'; +import { + AfterViewInit, + ChangeDetectionStrategy, + Component, + ElementRef, + inject, + Input, + OnInit, + Output, + ViewChild +} from '@angular/core'; import { ChangeDetectorRef, EventEmitter, HostListener, OnDestroy } from '@angular/core'; import { BehaviorSubject, map, Observable } from 'rxjs'; import { Identifiable } from 'src/app/domain/interfaces'; @@ -33,6 +43,7 @@ interface DataSourceProvider { templateUrl: `./scrolling-table.component.html`, styleUrls: [`./scrolling-table.component.scss`], providers: [{ provide: SCROLLING_TABLE, useExisting: ScrollingTableComponent }], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class ScrollingTableComponent>> diff --git a/client/src/app/ui/modules/scrolling-table/directives/scrolling-table-cell-label.directive.spec.ts b/client/src/app/ui/modules/scrolling-table/directives/scrolling-table-cell-label.directive.spec.ts index 1efa1c1347e..f34f2e8432f 100644 --- a/client/src/app/ui/modules/scrolling-table/directives/scrolling-table-cell-label.directive.spec.ts +++ b/client/src/app/ui/modules/scrolling-table/directives/scrolling-table-cell-label.directive.spec.ts @@ -2,7 +2,7 @@ import { TestBed } from '@angular/core/testing'; import { ScrollingTableCellLabelDirective } from './scrolling-table-cell-label.directive'; -xdescribe(`ScrollingTableCellLabelDirective`, () => { +describe.skip(`ScrollingTableCellLabelDirective`, () => { let directive: ScrollingTableCellLabelDirective; beforeEach(async () => { diff --git a/client/src/app/ui/modules/scrolling-table/directives/scrolling-table-cell-label.directive.ts b/client/src/app/ui/modules/scrolling-table/directives/scrolling-table-cell-label.directive.ts index 054ea8fb887..3568ddd6f29 100644 --- a/client/src/app/ui/modules/scrolling-table/directives/scrolling-table-cell-label.directive.ts +++ b/client/src/app/ui/modules/scrolling-table/directives/scrolling-table-cell-label.directive.ts @@ -1,5 +1,5 @@ import { CdkPortal } from '@angular/cdk/portal'; -import { Directive, TemplateRef, ViewContainerRef } from '@angular/core'; +import { Directive } from '@angular/core'; import { ScrollingTableCellDirective } from './scrolling-table-cell.directive'; @@ -8,12 +8,8 @@ import { ScrollingTableCellDirective } from './scrolling-table-cell.directive'; standalone: false }) export class ScrollingTableCellLabelDirective extends CdkPortal { - public constructor( - template: TemplateRef, - viewContainer: ViewContainerRef, - host: ScrollingTableCellDirective - ) { - super(template, viewContainer); + public constructor(host: ScrollingTableCellDirective) { + super(); host.labelTemplate = this; // Propagate the template to the host } } diff --git a/client/src/app/ui/modules/scrolling-table/directives/scrolling-table-cell.directive.spec.ts b/client/src/app/ui/modules/scrolling-table/directives/scrolling-table-cell.directive.spec.ts index be5415437b2..1bd2a8afba6 100644 --- a/client/src/app/ui/modules/scrolling-table/directives/scrolling-table-cell.directive.spec.ts +++ b/client/src/app/ui/modules/scrolling-table/directives/scrolling-table-cell.directive.spec.ts @@ -2,7 +2,7 @@ import { TestBed } from '@angular/core/testing'; import { ScrollingTableCellDirective } from './scrolling-table-cell.directive'; -xdescribe(`ScrollingTableCellDirective`, () => { +describe.skip(`ScrollingTableCellDirective`, () => { let directive: ScrollingTableCellDirective; beforeEach(async () => { diff --git a/client/src/app/ui/modules/scrolling-table/directives/scrolling-table-no-data.directive.spec.ts b/client/src/app/ui/modules/scrolling-table/directives/scrolling-table-no-data.directive.spec.ts index 10099cb8df8..d8927881ee6 100644 --- a/client/src/app/ui/modules/scrolling-table/directives/scrolling-table-no-data.directive.spec.ts +++ b/client/src/app/ui/modules/scrolling-table/directives/scrolling-table-no-data.directive.spec.ts @@ -2,7 +2,7 @@ import { TestBed } from '@angular/core/testing'; import { ScrollingTableNoDataDirective } from './scrolling-table-no-data.directive'; -xdescribe(`ScrollingTableNoDataDirective`, () => { +describe.skip(`ScrollingTableNoDataDirective`, () => { let directive: ScrollingTableNoDataDirective; beforeEach(async () => { diff --git a/client/src/app/ui/modules/scrolling-table/directives/scrolling-table-no-data.directive.ts b/client/src/app/ui/modules/scrolling-table/directives/scrolling-table-no-data.directive.ts index e5c5b3125bc..b288ffb72c5 100644 --- a/client/src/app/ui/modules/scrolling-table/directives/scrolling-table-no-data.directive.ts +++ b/client/src/app/ui/modules/scrolling-table/directives/scrolling-table-no-data.directive.ts @@ -1,5 +1,5 @@ import { CdkPortal } from '@angular/cdk/portal'; -import { Directive, inject, OnInit, TemplateRef, ViewContainerRef } from '@angular/core'; +import { Directive, inject, OnInit } from '@angular/core'; import { ScrollingTableManageService } from '../services'; @@ -10,10 +10,6 @@ import { ScrollingTableManageService } from '../services'; export class ScrollingTableNoDataDirective extends CdkPortal implements OnInit { private manageService = inject(ScrollingTableManageService); - public constructor(template: TemplateRef, viewContainer: ViewContainerRef) { - super(template, viewContainer); - } - public ngOnInit(): void { this.manageService.noDataTemplateSubject.next(this); } diff --git a/client/src/app/ui/modules/search-selector/components/list-search-selector/list-search-selector.component.spec.ts b/client/src/app/ui/modules/search-selector/components/list-search-selector/list-search-selector.component.spec.ts index 2f71e3c0caf..b10055bf174 100644 --- a/client/src/app/ui/modules/search-selector/components/list-search-selector/list-search-selector.component.spec.ts +++ b/client/src/app/ui/modules/search-selector/components/list-search-selector/list-search-selector.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ListSearchSelectorComponent } from './list-search-selector.component'; -xdescribe(`ListSearchSelectorComponent`, () => { +describe.skip(`ListSearchSelectorComponent`, () => { let component: ListSearchSelectorComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/search-selector/components/repo-search-selector/repo-search-selector.component.spec.ts b/client/src/app/ui/modules/search-selector/components/repo-search-selector/repo-search-selector.component.spec.ts index 6b42daae5f4..f29876ead86 100644 --- a/client/src/app/ui/modules/search-selector/components/repo-search-selector/repo-search-selector.component.spec.ts +++ b/client/src/app/ui/modules/search-selector/components/repo-search-selector/repo-search-selector.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { RepoSearchSelectorComponent } from './repo-search-selector.component'; -xdescribe(`RepoSearchSelectorComponent`, () => { +describe.skip(`RepoSearchSelectorComponent`, () => { let component: RepoSearchSelectorComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/search-selector/components/repo-search-selector/repo-search-selector.component.ts b/client/src/app/ui/modules/search-selector/components/repo-search-selector/repo-search-selector.component.ts index d7794bb7883..0991ad2d0cc 100644 --- a/client/src/app/ui/modules/search-selector/components/repo-search-selector/repo-search-selector.component.ts +++ b/client/src/app/ui/modules/search-selector/components/repo-search-selector/repo-search-selector.component.ts @@ -1,4 +1,14 @@ -import { Component, inject, Input, OnDestroy, OnInit, Optional, Self, ViewEncapsulation } from '@angular/core'; +import { + ChangeDetectionStrategy, + Component, + inject, + Input, + OnDestroy, + OnInit, + Optional, + Self, + ViewEncapsulation +} from '@angular/core'; import { NgControl } from '@angular/forms'; import { MatFormFieldControl } from '@angular/material/form-field'; import { map, OperatorFunction } from 'rxjs'; @@ -16,6 +26,7 @@ import { BaseSearchSelectorComponent } from '../base-search-selector/base-search styleUrls: [`../base-search-selector/base-search-selector.component.scss`, `./repo-search-selector.component.scss`], providers: [{ provide: MatFormFieldControl, useExisting: RepoSearchSelectorComponent }], encapsulation: ViewEncapsulation.None, + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class RepoSearchSelectorComponent extends BaseSearchSelectorComponent implements OnInit, OnDestroy { diff --git a/client/src/app/ui/modules/search-selector/directives/search-selector-not-found-template.directive.spec.ts b/client/src/app/ui/modules/search-selector/directives/search-selector-not-found-template.directive.spec.ts index b2db564f1f4..a4e97752a0f 100644 --- a/client/src/app/ui/modules/search-selector/directives/search-selector-not-found-template.directive.spec.ts +++ b/client/src/app/ui/modules/search-selector/directives/search-selector-not-found-template.directive.spec.ts @@ -1,6 +1,6 @@ import { SearchSelectorNotFoundTemplateDirective } from './search-selector-not-found-template.directive'; -xdescribe(`SearchSelectorNotFoundTemplateDirective`, () => { +describe.skip(`SearchSelectorNotFoundTemplateDirective`, () => { it(`should create an instance`, () => { const directive = new SearchSelectorNotFoundTemplateDirective(); expect(directive).toBeTruthy(); diff --git a/client/src/app/ui/modules/sidenav/components/copyright-sign/copyright-sign.component.spec.ts b/client/src/app/ui/modules/sidenav/components/copyright-sign/copyright-sign.component.spec.ts index 8f58c59171d..013c28c66cd 100644 --- a/client/src/app/ui/modules/sidenav/components/copyright-sign/copyright-sign.component.spec.ts +++ b/client/src/app/ui/modules/sidenav/components/copyright-sign/copyright-sign.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { CopyrightSignComponent } from './copyright-sign.component'; -xdescribe(`CopyrightSignComponent`, () => { +describe.skip(`CopyrightSignComponent`, () => { let component: CopyrightSignComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/sidenav/components/copyright-sign/copyright-sign.component.ts b/client/src/app/ui/modules/sidenav/components/copyright-sign/copyright-sign.component.ts index 89f32849b76..8bc1a77dc5b 100644 --- a/client/src/app/ui/modules/sidenav/components/copyright-sign/copyright-sign.component.ts +++ b/client/src/app/ui/modules/sidenav/components/copyright-sign/copyright-sign.component.ts @@ -1,4 +1,4 @@ -import { Component, inject } from '@angular/core'; +import { ChangeDetectionStrategy, Component, inject } from '@angular/core'; import { EasterEggContentPlatformService } from '../../modules/easter-egg/services/easter-egg-content-platform.service'; @@ -6,6 +6,7 @@ import { EasterEggContentPlatformService } from '../../modules/easter-egg/servic selector: `os-copyright-sign`, templateUrl: `./copyright-sign.component.html`, styleUrls: [`./copyright-sign.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class CopyrightSignComponent { diff --git a/client/src/app/ui/modules/sidenav/components/image/image.component.spec.ts b/client/src/app/ui/modules/sidenav/components/image/image.component.spec.ts index d62e6c62875..dbfa701ff03 100644 --- a/client/src/app/ui/modules/sidenav/components/image/image.component.spec.ts +++ b/client/src/app/ui/modules/sidenav/components/image/image.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ImageComponent } from './image.component'; -xdescribe(`ImageComponent`, () => { +describe.skip(`ImageComponent`, () => { let component: ImageComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/sidenav/components/image/image.component.ts b/client/src/app/ui/modules/sidenav/components/image/image.component.ts index a5d5ae91b01..e520e7b78b1 100644 --- a/client/src/app/ui/modules/sidenav/components/image/image.component.ts +++ b/client/src/app/ui/modules/sidenav/components/image/image.component.ts @@ -1,10 +1,11 @@ -import { Component, inject, Input } from '@angular/core'; +import { ChangeDetectionStrategy, Component, inject, Input } from '@angular/core'; import { HttpService } from 'src/app/gateways/http.service'; @Component({ selector: `os-image`, templateUrl: `./image.component.html`, styleUrls: [`./image.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class ImageComponent { diff --git a/client/src/app/ui/modules/sidenav/components/logo/logo.component.spec.ts b/client/src/app/ui/modules/sidenav/components/logo/logo.component.spec.ts index 161eae50410..ee1a54106e3 100644 --- a/client/src/app/ui/modules/sidenav/components/logo/logo.component.spec.ts +++ b/client/src/app/ui/modules/sidenav/components/logo/logo.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { LogoComponent } from './logo.component'; -xdescribe(`LogoComponent`, () => { +describe.skip(`LogoComponent`, () => { let component: LogoComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/sidenav/components/logo/logo.component.ts b/client/src/app/ui/modules/sidenav/components/logo/logo.component.ts index d814c5af87c..6ed5046e833 100644 --- a/client/src/app/ui/modules/sidenav/components/logo/logo.component.ts +++ b/client/src/app/ui/modules/sidenav/components/logo/logo.component.ts @@ -1,4 +1,4 @@ -import { Component, inject, Input, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, inject, Input, OnInit } from '@angular/core'; import { MediaManageService } from 'src/app/site/pages/meetings/services/media-manage.service'; import { ThemeService } from 'src/app/site/services/theme.service'; import { BaseUiComponent } from 'src/app/ui/base/base-ui-component'; @@ -10,6 +10,7 @@ const DEFAULT_LOGO_DARK_THEME = `/assets/img/openslides-logo-dark.svg`; selector: `os-logo`, templateUrl: `./logo.component.html`, styleUrls: [`./logo.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class LogoComponent extends BaseUiComponent implements OnInit { diff --git a/client/src/app/ui/modules/sidenav/components/sidenav/sidenav.component.spec.ts b/client/src/app/ui/modules/sidenav/components/sidenav/sidenav.component.spec.ts index 6b0f43447e8..d7e4d21527c 100644 --- a/client/src/app/ui/modules/sidenav/components/sidenav/sidenav.component.spec.ts +++ b/client/src/app/ui/modules/sidenav/components/sidenav/sidenav.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { SidenavComponent } from './sidenav.component'; -xdescribe(`SidenavComponent`, () => { +describe.skip(`SidenavComponent`, () => { let component: SidenavComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/sidenav/components/sidenav/sidenav.component.ts b/client/src/app/ui/modules/sidenav/components/sidenav/sidenav.component.ts index f4f27e29941..69645a25b15 100644 --- a/client/src/app/ui/modules/sidenav/components/sidenav/sidenav.component.ts +++ b/client/src/app/ui/modules/sidenav/components/sidenav/sidenav.component.ts @@ -1,4 +1,4 @@ -import { Component, ContentChild, inject, Input, TemplateRef, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, Component, ContentChild, inject, Input, TemplateRef, ViewChild } from '@angular/core'; import { MatSidenav } from '@angular/material/sidenav'; import { ViewPortService } from 'src/app/site/services/view-port.service'; @@ -9,6 +9,7 @@ import { SidenavMainContentDirective } from '../../directives/sidenav-main-conte selector: `os-sidenav`, templateUrl: `./sidenav.component.html`, styleUrls: [`./sidenav.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class SidenavComponent { diff --git a/client/src/app/ui/modules/sidenav/directives/sidenav-drawer-content.directive.spec.ts b/client/src/app/ui/modules/sidenav/directives/sidenav-drawer-content.directive.spec.ts index acb39e961f5..aef50794ff5 100644 --- a/client/src/app/ui/modules/sidenav/directives/sidenav-drawer-content.directive.spec.ts +++ b/client/src/app/ui/modules/sidenav/directives/sidenav-drawer-content.directive.spec.ts @@ -1,6 +1,6 @@ import { SidenavDrawerContentDirective } from './sidenav-drawer-content.directive'; -xdescribe(`SidenavDrawerContentDirective`, () => { +describe.skip(`SidenavDrawerContentDirective`, () => { it(`should create an instance`, () => { const directive = new SidenavDrawerContentDirective(); expect(directive).toBeTruthy(); diff --git a/client/src/app/ui/modules/sidenav/directives/sidenav-main-content.directive.spec.ts b/client/src/app/ui/modules/sidenav/directives/sidenav-main-content.directive.spec.ts index ef1e0fd8bda..4b5de39cb9f 100644 --- a/client/src/app/ui/modules/sidenav/directives/sidenav-main-content.directive.spec.ts +++ b/client/src/app/ui/modules/sidenav/directives/sidenav-main-content.directive.spec.ts @@ -1,6 +1,6 @@ import { SidenavMainContentDirective } from './sidenav-main-content.directive'; -xdescribe(`SidenavMainContentDirective`, () => { +describe.skip(`SidenavMainContentDirective`, () => { it(`should create an instance`, () => { const directive = new SidenavMainContentDirective(); expect(directive).toBeTruthy(); diff --git a/client/src/app/ui/modules/sidenav/modules/easter-egg/components/easter-egg-content-platform-dialog/easter-egg-content-platform-dialog.component.spec.ts b/client/src/app/ui/modules/sidenav/modules/easter-egg/components/easter-egg-content-platform-dialog/easter-egg-content-platform-dialog.component.spec.ts index 47c12caa261..113d7078f19 100644 --- a/client/src/app/ui/modules/sidenav/modules/easter-egg/components/easter-egg-content-platform-dialog/easter-egg-content-platform-dialog.component.spec.ts +++ b/client/src/app/ui/modules/sidenav/modules/easter-egg/components/easter-egg-content-platform-dialog/easter-egg-content-platform-dialog.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { EasterEggContentPlatformDialogComponent } from './easter-egg-content-platform-dialog.component'; -xdescribe(`EasterEggContentPlatformDialogComponent`, () => { +describe.skip(`EasterEggContentPlatformDialogComponent`, () => { let component: EasterEggContentPlatformDialogComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/sidenav/modules/easter-egg/components/easter-egg-content-platform-dialog/easter-egg-content-platform-dialog.component.ts b/client/src/app/ui/modules/sidenav/modules/easter-egg/components/easter-egg-content-platform-dialog/easter-egg-content-platform-dialog.component.ts index aff357b5f65..efcfd49faae 100644 --- a/client/src/app/ui/modules/sidenav/modules/easter-egg/components/easter-egg-content-platform-dialog/easter-egg-content-platform-dialog.component.ts +++ b/client/src/app/ui/modules/sidenav/modules/easter-egg/components/easter-egg-content-platform-dialog/easter-egg-content-platform-dialog.component.ts @@ -1,5 +1,5 @@ import { ComponentPortal, ComponentType } from '@angular/cdk/portal'; -import { Component } from '@angular/core'; +import { ChangeDetectionStrategy, Component } from '@angular/core'; import { C4DialogModule } from '../../modules/c4-dialog'; import { ChessDialogModule } from '../../modules/chess-dialog'; @@ -13,6 +13,7 @@ interface EasterEggModuleDescription { selector: `os-easter-egg-content-platform-dialog`, templateUrl: `./easter-egg-content-platform-dialog.component.html`, styleUrls: [`./easter-egg-content-platform-dialog.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class EasterEggContentPlatformDialogComponent { diff --git a/client/src/app/ui/modules/sidenav/modules/easter-egg/modules/c4-dialog/components/c4-dialog/c4-dialog.component.spec.ts b/client/src/app/ui/modules/sidenav/modules/easter-egg/modules/c4-dialog/components/c4-dialog/c4-dialog.component.spec.ts index be794c8024e..4c33f0d661a 100644 --- a/client/src/app/ui/modules/sidenav/modules/easter-egg/modules/c4-dialog/components/c4-dialog/c4-dialog.component.spec.ts +++ b/client/src/app/ui/modules/sidenav/modules/easter-egg/modules/c4-dialog/components/c4-dialog/c4-dialog.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { C4DialogComponent } from './c4-dialog.component'; -xdescribe(`C4DialogComponent`, () => { +describe.skip(`C4DialogComponent`, () => { let component: C4DialogComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/sidenav/modules/easter-egg/modules/c4-dialog/components/c4-dialog/c4-dialog.component.ts b/client/src/app/ui/modules/sidenav/modules/easter-egg/modules/c4-dialog/components/c4-dialog/c4-dialog.component.ts index 57412d8e738..e7c9eec8c71 100644 --- a/client/src/app/ui/modules/sidenav/modules/easter-egg/modules/c4-dialog/components/c4-dialog/c4-dialog.component.ts +++ b/client/src/app/ui/modules/sidenav/modules/easter-egg/modules/c4-dialog/components/c4-dialog/c4-dialog.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; import { BaseGameDialogComponent, State } from '../../../../components/base-game-dialog/base-game-dialog'; @@ -25,6 +25,7 @@ enum BoardStatus { selector: `os-c4-dialog`, templateUrl: `./c4-dialog.component.html`, styleUrls: [`./c4-dialog.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class C4DialogComponent extends BaseGameDialogComponent implements OnInit { diff --git a/client/src/app/ui/modules/sidenav/modules/easter-egg/modules/chess-dialog/components/chess-dialog/chess-dialog.component.spec.ts b/client/src/app/ui/modules/sidenav/modules/easter-egg/modules/chess-dialog/components/chess-dialog/chess-dialog.component.spec.ts index 667acf018e0..d6723857f75 100644 --- a/client/src/app/ui/modules/sidenav/modules/easter-egg/modules/chess-dialog/components/chess-dialog/chess-dialog.component.spec.ts +++ b/client/src/app/ui/modules/sidenav/modules/easter-egg/modules/chess-dialog/components/chess-dialog/chess-dialog.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ChessDialogComponent } from './chess-dialog.component'; -xdescribe(`ChessDialogComponent`, () => { +describe.skip(`ChessDialogComponent`, () => { let component: ChessDialogComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/sidenav/modules/easter-egg/modules/chess-dialog/components/chess-dialog/chess-dialog.component.ts b/client/src/app/ui/modules/sidenav/modules/easter-egg/modules/chess-dialog/components/chess-dialog/chess-dialog.component.ts index 3b441a502d8..c10e2fc6bb7 100644 --- a/client/src/app/ui/modules/sidenav/modules/easter-egg/modules/chess-dialog/components/chess-dialog/chess-dialog.component.ts +++ b/client/src/app/ui/modules/sidenav/modules/easter-egg/modules/chess-dialog/components/chess-dialog/chess-dialog.component.ts @@ -1,4 +1,12 @@ -import { Component, ElementRef, Inject, OnInit, ViewChild, ViewEncapsulation } from '@angular/core'; +import { + ChangeDetectionStrategy, + Component, + ElementRef, + Inject, + OnInit, + ViewChild, + ViewEncapsulation +} from '@angular/core'; import { MAT_DIALOG_DATA } from '@angular/material/dialog'; import { Chess, EVENT_TYPE } from 'cm-chess/src/Chess'; import { BORDER_TYPE, Chessboard, COLOR, FEN, INPUT_EVENT_TYPE } from 'cm-chessboard/src/Chessboard'; @@ -18,6 +26,7 @@ interface ChessDialogConfig { templateUrl: `./chess-dialog.component.html`, styleUrls: [`./chess-dialog.component.scss`], encapsulation: ViewEncapsulation.None, + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class ChessDialogComponent extends BaseGameDialogComponent implements OnInit { diff --git a/client/src/app/ui/modules/sorting/modules/sorting-list/components/sorting-list/sorting-list.component.spec.ts b/client/src/app/ui/modules/sorting/modules/sorting-list/components/sorting-list/sorting-list.component.spec.ts index 07724270940..c1c561629df 100644 --- a/client/src/app/ui/modules/sorting/modules/sorting-list/components/sorting-list/sorting-list.component.spec.ts +++ b/client/src/app/ui/modules/sorting/modules/sorting-list/components/sorting-list/sorting-list.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { SortingListComponent } from './sorting-list.component'; -xdescribe(`SortingListComponent`, () => { +describe.skip(`SortingListComponent`, () => { let component: SortingListComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/sorting/modules/sorting-list/components/sorting-list/sorting-list.component.ts b/client/src/app/ui/modules/sorting/modules/sorting-list/components/sorting-list/sorting-list.component.ts index 948d90b2745..ec5ff422f40 100644 --- a/client/src/app/ui/modules/sorting/modules/sorting-list/components/sorting-list/sorting-list.component.ts +++ b/client/src/app/ui/modules/sorting/modules/sorting-list/components/sorting-list/sorting-list.component.ts @@ -1,5 +1,14 @@ import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop'; -import { Component, ContentChild, EventEmitter, Input, OnDestroy, Output, TemplateRef } from '@angular/core'; +import { + ChangeDetectionStrategy, + Component, + ContentChild, + EventEmitter, + Input, + OnDestroy, + Output, + TemplateRef +} from '@angular/core'; import { Observable, Subscription } from 'rxjs'; import { Selectable } from 'src/app/domain/interfaces/selectable'; import { Mutex } from 'src/app/infrastructure/utils/promises'; @@ -8,6 +17,7 @@ import { Mutex } from 'src/app/infrastructure/utils/promises'; selector: `os-sorting-list`, templateUrl: `./sorting-list.component.html`, styleUrls: [`./sorting-list.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class SortingListComponent implements OnDestroy { diff --git a/client/src/app/ui/modules/sorting/modules/sorting-tree/components/sorting-tree/sorting-tree.component.spec.ts b/client/src/app/ui/modules/sorting/modules/sorting-tree/components/sorting-tree/sorting-tree.component.spec.ts index 40ef02261c4..3cb28031896 100644 --- a/client/src/app/ui/modules/sorting/modules/sorting-tree/components/sorting-tree/sorting-tree.component.spec.ts +++ b/client/src/app/ui/modules/sorting/modules/sorting-tree/components/sorting-tree/sorting-tree.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { SortingTreeComponent } from './sorting-tree.component'; -xdescribe(`SortingTreeComponent`, () => { +describe.skip(`SortingTreeComponent`, () => { let component: SortingTreeComponent; let fixture: ComponentFixture>; diff --git a/client/src/app/ui/modules/sorting/modules/sorting-tree/components/sorting-tree/sorting-tree.component.ts b/client/src/app/ui/modules/sorting/modules/sorting-tree/components/sorting-tree/sorting-tree.component.ts index 6a5216165fb..9920efb3889 100644 --- a/client/src/app/ui/modules/sorting/modules/sorting-tree/components/sorting-tree/sorting-tree.component.ts +++ b/client/src/app/ui/modules/sorting/modules/sorting-tree/components/sorting-tree/sorting-tree.component.ts @@ -1,7 +1,17 @@ import { ArrayDataSource } from '@angular/cdk/collections'; import { CdkDragMove, CdkDragSortEvent, CdkDragStart } from '@angular/cdk/drag-drop'; import { FlatTreeControl } from '@angular/cdk/tree'; -import { Component, ContentChild, EventEmitter, inject, Input, OnDestroy, Output, TemplateRef } from '@angular/core'; +import { + ChangeDetectionStrategy, + Component, + ContentChild, + EventEmitter, + inject, + Input, + OnDestroy, + Output, + TemplateRef +} from '@angular/core'; import { auditTime, Observable, Subscription } from 'rxjs'; import { Displayable, Identifiable } from 'src/app/domain/interfaces'; import { FlatNode, TreeIdNode } from 'src/app/infrastructure/definitions/tree'; @@ -58,6 +68,7 @@ class Movement { selector: `os-sorting-tree`, templateUrl: `./sorting-tree.component.html`, styleUrls: [`./sorting-tree.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class SortingTreeComponent implements OnDestroy { diff --git a/client/src/app/ui/modules/spinner/components/spinner/spinner.component.spec.ts b/client/src/app/ui/modules/spinner/components/spinner/spinner.component.spec.ts index 4dc1963c45b..7fc5d6f575e 100644 --- a/client/src/app/ui/modules/spinner/components/spinner/spinner.component.spec.ts +++ b/client/src/app/ui/modules/spinner/components/spinner/spinner.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { SpinnerComponent } from './spinner.component'; -xdescribe(`SpinnerComponent`, () => { +describe.skip(`SpinnerComponent`, () => { let component: SpinnerComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/spinner/components/spinner/spinner.component.ts b/client/src/app/ui/modules/spinner/components/spinner/spinner.component.ts index 5a41af4d679..44e41edeb69 100644 --- a/client/src/app/ui/modules/spinner/components/spinner/spinner.component.ts +++ b/client/src/app/ui/modules/spinner/components/spinner/spinner.component.ts @@ -1,4 +1,4 @@ -import { Component, Input } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; import { _ } from '@ngx-translate/core'; /** @@ -8,6 +8,7 @@ import { _ } from '@ngx-translate/core'; selector: `os-spinner`, templateUrl: `./spinner.component.html`, styleUrls: [`./spinner.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class SpinnerComponent { diff --git a/client/src/app/ui/modules/vertical-tab-group/components/vertical-tab-group/vertical-tab-group.component.spec.ts b/client/src/app/ui/modules/vertical-tab-group/components/vertical-tab-group/vertical-tab-group.component.spec.ts index 62b3d5c616c..8c008d1bab8 100644 --- a/client/src/app/ui/modules/vertical-tab-group/components/vertical-tab-group/vertical-tab-group.component.spec.ts +++ b/client/src/app/ui/modules/vertical-tab-group/components/vertical-tab-group/vertical-tab-group.component.spec.ts @@ -2,7 +2,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { VerticalTabGroupComponent } from './vertical-tab-group.component'; -xdescribe(`VerticalTabGroupComponent`, () => { +describe.skip(`VerticalTabGroupComponent`, () => { let component: VerticalTabGroupComponent; let fixture: ComponentFixture; diff --git a/client/src/app/ui/modules/vertical-tab-group/components/vertical-tab-group/vertical-tab-group.component.ts b/client/src/app/ui/modules/vertical-tab-group/components/vertical-tab-group/vertical-tab-group.component.ts index 65d0e8bae82..5e7cef7b0f5 100644 --- a/client/src/app/ui/modules/vertical-tab-group/components/vertical-tab-group/vertical-tab-group.component.ts +++ b/client/src/app/ui/modules/vertical-tab-group/components/vertical-tab-group/vertical-tab-group.component.ts @@ -1,5 +1,6 @@ import { TemplatePortal } from '@angular/cdk/portal'; import { + ChangeDetectionStrategy, Component, ContentChild, ContentChildren, @@ -20,6 +21,7 @@ import { VerticalTabGroupLabelHeaderDirective } from '../../directives/vertical- selector: `os-vertical-tab-group`, templateUrl: `./vertical-tab-group.component.html`, styleUrls: [`./vertical-tab-group.component.scss`], + changeDetection: ChangeDetectionStrategy.Eager, standalone: false }) export class VerticalTabGroupComponent { diff --git a/client/src/app/ui/modules/vertical-tab-group/directives/vertical-tab-group-label-header.directive.spec.ts b/client/src/app/ui/modules/vertical-tab-group/directives/vertical-tab-group-label-header.directive.spec.ts index b6b6f5aabcd..7704e93c93d 100644 --- a/client/src/app/ui/modules/vertical-tab-group/directives/vertical-tab-group-label-header.directive.spec.ts +++ b/client/src/app/ui/modules/vertical-tab-group/directives/vertical-tab-group-label-header.directive.spec.ts @@ -1,6 +1,6 @@ import { VerticalTabGroupLabelHeaderDirective } from './vertical-tab-group-label-header.directive'; -xdescribe(`VerticalTabGroupLabelHeaderDirective`, () => { +describe.skip(`VerticalTabGroupLabelHeaderDirective`, () => { it(`should create an instance`, () => { const directive = new VerticalTabGroupLabelHeaderDirective(); expect(directive).toBeTruthy(); diff --git a/client/src/app/ui/pipes/localized-date-range/localized-date-range.pipe.spec.ts b/client/src/app/ui/pipes/localized-date-range/localized-date-range.pipe.spec.ts index bb079f4de15..a2e8c9c60b3 100644 --- a/client/src/app/ui/pipes/localized-date-range/localized-date-range.pipe.spec.ts +++ b/client/src/app/ui/pipes/localized-date-range/localized-date-range.pipe.spec.ts @@ -33,7 +33,10 @@ const testData: Record< string, { title: string; - range: { start: Date; end: Date }; + range: { + start: Date; + end: Date; + }; expect: Record>; } > = { diff --git a/client/src/app/worker/http/auth.spec.ts b/client/src/app/worker/http/auth.spec.ts index 329041ca2f4..31dda506684 100644 --- a/client/src/app/worker/http/auth.spec.ts +++ b/client/src/app/worker/http/auth.spec.ts @@ -14,14 +14,14 @@ const FAIL_BODY = JSON.stringify({ message: `Not signed in`, success: false }); describe(`shared worker auth singleton`, () => { beforeEach(() => { - jasmine.clock().install(); - jasmine.clock().mockDate(new Date(0)); + vi.useFakeTimers(); + vi.setSystemTime(new Date(0)); fetchMock.mockGlobal(); WorkerHttpAuth.reset(); }); afterEach(() => { - jasmine.clock().uninstall(); + vi.useRealTimers(); fetchMock.hardReset(); WorkerHttpAuth.unsubscribe(`test`); }); @@ -37,7 +37,7 @@ describe(`shared worker auth singleton`, () => { WorkerHttpAuth.subscribe(`test`, () => {}); await WorkerHttpAuth.update(); - await expectAsync(WorkerHttpAuth.currentToken()).toBeResolvedTo(`bearer ${AUTH_TOKENS.VALID_TILL_120_UID_1}`); + await expect(WorkerHttpAuth.currentToken()).resolves.toEqual(`bearer ${AUTH_TOKENS.VALID_TILL_120_UID_1}`); }); it(`reads user from token`, async () => { @@ -51,7 +51,7 @@ describe(`shared worker auth singleton`, () => { WorkerHttpAuth.subscribe(`test`, () => {}); await WorkerHttpAuth.update(); - await expectAsync(WorkerHttpAuth.currentUser()).toBeResolvedTo(1); + await expect(WorkerHttpAuth.currentUser()).resolves.toEqual(1); }); it(`updates token`, async () => { @@ -71,7 +71,7 @@ describe(`shared worker auth singleton`, () => { WorkerHttpAuth.subscribe(`test`, () => {}); await WorkerHttpAuth.update(); - await expectAsync(WorkerHttpAuth.currentUser()).toBeResolvedTo(2); + await expect(WorkerHttpAuth.currentUser()).resolves.toEqual(2); fetchMock.modifyRoute(`who-am-i`, { response: { headers: { @@ -81,9 +81,9 @@ describe(`shared worker auth singleton`, () => { body: AUTH_BODY } }); - jasmine.clock().tick(60 * 1000); - await expectAsync(WorkerHttpAuth.currentUser()).toBeResolvedTo(1); - await expectAsync(WorkerHttpAuth.updating()).toBeResolvedTo(true); + vi.advanceTimersByTime(60 * 1000); + await expect(WorkerHttpAuth.currentUser()).resolves.toEqual(1); + await expect(WorkerHttpAuth.updating()).resolves.toEqual(true); }); it(`stop updating token`, async () => { @@ -103,7 +103,7 @@ describe(`shared worker auth singleton`, () => { WorkerHttpAuth.subscribe(`test`, () => {}); await WorkerHttpAuth.update(); - await expectAsync(WorkerHttpAuth.currentUser()).toBeResolvedTo(2); + await expect(WorkerHttpAuth.currentUser()).resolves.toEqual(2); WorkerHttpAuth.stopRefresh(); fetchMock.modifyRoute(`who-am-i`, { response: { @@ -114,9 +114,9 @@ describe(`shared worker auth singleton`, () => { body: JSON.parse(AUTH_BODY) } }); - jasmine.clock().tick(60 * 1000); - await expectAsync(WorkerHttpAuth.currentUser()).toBeResolvedTo(2); - await expectAsync(WorkerHttpAuth.updating()).toBeResolvedTo(false); + vi.advanceTimersByTime(60 * 1000); + await expect(WorkerHttpAuth.currentUser()).resolves.toEqual(2); + await expect(WorkerHttpAuth.updating()).resolves.toEqual(false); }); it(`is unauthenticated`, async () => { @@ -129,8 +129,8 @@ describe(`shared worker auth singleton`, () => { WorkerHttpAuth.subscribe(`test`, () => {}); await WorkerHttpAuth.update(); - await expectAsync(WorkerHttpAuth.currentUser()).toBeResolvedTo(null); - await expectAsync(WorkerHttpAuth.currentToken()).toBeResolvedTo(``); + await expect(WorkerHttpAuth.currentUser()).resolves.toEqual(null); + await expect(WorkerHttpAuth.currentToken()).resolves.toEqual(``); }); it(`used invalid token`, async () => { @@ -144,8 +144,8 @@ describe(`shared worker auth singleton`, () => { WorkerHttpAuth.subscribe(`test`, () => {}); await WorkerHttpAuth.update(); - await expectAsync(WorkerHttpAuth.currentUser()).toBeResolvedTo(null); - await expectAsync(WorkerHttpAuth.currentToken()).toBeResolvedTo(``); - await expectAsync(WorkerHttpAuth.updating()).toBeResolvedTo(false); + await expect(WorkerHttpAuth.currentUser()).resolves.toEqual(null); + await expect(WorkerHttpAuth.currentToken()).resolves.toEqual(``); + await expect(WorkerHttpAuth.updating()).resolves.toEqual(false); }); }); diff --git a/client/src/app/worker/http/http-stream-pool.spec.ts b/client/src/app/worker/http/http-stream-pool.spec.ts index ad915ab3d0a..1dcef0e52b1 100644 --- a/client/src/app/worker/http/http-stream-pool.spec.ts +++ b/client/src/app/worker/http/http-stream-pool.spec.ts @@ -45,21 +45,21 @@ describe(`http stream pool`, () => { httpStreamPool = new SimpleHttpStreamPool(endpoint); }); - xit(`returns active streams`, () => {}); + it.skip(`returns active streams`, () => {}); - xit(`reconnects stream on online status`, () => {}); + it.skip(`reconnects stream on online status`, () => {}); - xit(`stops stream on offline status`, () => {}); + it.skip(`stops stream on offline status`, () => {}); - xit(`reconnect all streams`, () => {}); + it.skip(`reconnect all streams`, () => {}); - xit(`reconnects single stream`, () => {}); + it.skip(`reconnects single stream`, () => {}); - xit(`error on reconnect unknown stream`, () => {}); + it.skip(`error on reconnect unknown stream`, () => {}); - xit(`removes stream`, () => {}); + it.skip(`removes stream`, () => {}); - xit(`sends broadcast to specified function`, () => {}); + it.skip(`sends broadcast to specified function`, () => {}); describe(`healthchecks`, () => { let healthy = false; @@ -89,12 +89,12 @@ describe(`http stream pool`, () => { it(`recognizes healty service`, async () => { healthy = true; - await expectAsync(httpStreamPool.isEndpointHealthy()).toBeResolvedTo(true); + await expect(httpStreamPool.isEndpointHealthy()).resolves.toEqual(true); }); it(`recognizes unhealty service`, async () => { healthy = false; - await expectAsync(httpStreamPool.isEndpointHealthy()).toBeResolvedTo(false); + await expect(httpStreamPool.isEndpointHealthy()).resolves.toEqual(false); }); it(`can handle broken health endpoint`, async () => { @@ -104,12 +104,12 @@ describe(`http stream pool`, () => { } }); - await expectAsync(httpStreamPool.isEndpointHealthy()).toBeResolvedTo(false); + await expect(httpStreamPool.isEndpointHealthy()).resolves.toEqual(false); }); it(`wait healthy instantly`, async () => { healthy = true; - await expectAsync(httpStreamPool.waitUntilEndpointHealthy()).toBeResolvedTo(false); + await expect(httpStreamPool.waitUntilEndpointHealthy()).resolves.toEqual(false); }); }); }); diff --git a/client/src/app/worker/http/http-stream.spec.ts b/client/src/app/worker/http/http-stream.spec.ts index 9bc85126fcb..89ff411d9c3 100644 --- a/client/src/app/worker/http/http-stream.spec.ts +++ b/client/src/app/worker/http/http-stream.spec.ts @@ -93,20 +93,20 @@ describe(`http stream`, () => { }); it(`receives data`, () => { - spyOn(httpStream, `onData`); + vi.spyOn(httpStream, `onData`).mockReturnValue(undefined); subscription.sendData(`test-data`); expect(httpStream.onData).toHaveBeenCalledWith(`test-data`); }); it(`receives error`, () => { - spyOn(httpStream, `onError`); + vi.spyOn(httpStream, `onError`).mockReturnValue(undefined); subscription.sendError(`test-error`); expect(httpStream.onError).toHaveBeenCalledWith(`test-error`); }); it(`receives error via data in onError`, () => { - spyOn(httpStream, `onData`); - spyOn(httpStream, `onError`); + vi.spyOn(httpStream, `onData`).mockReturnValue(undefined); + vi.spyOn(httpStream, `onError`).mockReturnValue(undefined); const error = new ErrorDescription(ErrorType.UNKNOWN, null, ``); subscription.sendData(error); expect(httpStream.onError).toHaveBeenCalledWith(error); @@ -135,44 +135,47 @@ describe(`http stream`, () => { it(`restart`, async () => { const start = httpStream.start(); await httpStream.restart(); + // TODO: vitest-migration: Unsupported matcher ".toBePending()" found. Vitest does not have a direct equivalent. Please migrate this manually, for example by using `Promise.race` to check if the promise settles within a short timeout. await expectAsync(start).toBePending(); }); it(`force start`, async () => { const start = httpStream.start(); const forceStart = httpStream.start(true); - await expectAsync(start).toBeResolvedTo({ stopReason: `aborted` }); + await expect(start).resolves.toEqual({ stopReason: `aborted` }); + // TODO: vitest-migration: Unsupported matcher ".toBePending()" found. Vitest does not have a direct equivalent. Please migrate this manually, for example by using `Promise.race` to check if the promise settles within a short timeout. await expectAsync(forceStart).toBePending(); }); it(`passes subscription active`, async () => { subscription.setActive(true); - expect(httpStream.active).toBeTrue(); + expect(httpStream.active).toBe(true); }); it(`passes subscription inactive`, async () => { subscription.setActive(false); - expect(httpStream.active).toBeFalse(); + expect(httpStream.active).toBe(false); }); it(`resolves data received`, async () => { httpStream.start(); + // TODO: vitest-migration: Unsupported matcher ".toBePending()" found. Vitest does not have a direct equivalent. Please migrate this manually, for example by using `Promise.race` to check if the promise settles within a short timeout. await expectAsync(httpStream.receivedData).toBePending(); subscription.sendData(`test-error`); - await expectAsync(httpStream.receivedData).toBeResolved(); + await expect(httpStream.receivedData).resolves.not.toThrow(); }); describe(`receives stop reasons`, () => { it(`error`, async () => { const start = httpStream.start(); subscription.stopCustom(`test`); - await expectAsync(start).toBeResolvedTo({ stopReason: `error`, error: null }); + await expect(start).resolves.toEqual({ stopReason: `error`, error: null }); }); it(`abort`, async () => { const start = httpStream.start(); await httpStream.abort(); - await expectAsync(start).toBeResolvedTo({ stopReason: `aborted` }); + await expect(start).resolves.toEqual({ stopReason: `aborted` }); }); it(`abort with error`, async () => { @@ -180,12 +183,13 @@ describe(`http stream`, () => { const e = new Error(); e.name = `AbortError`; subscription.stopCustom(e); - await expectAsync(start).toBeResolvedTo({ stopReason: `aborted` }); + await expect(start).resolves.toEqual({ stopReason: `aborted` }); }); it(`in-use`, async () => { const start = httpStream.start(); - await expectAsync(httpStream.start()).toBeResolvedTo({ stopReason: `in-use` }); + await expect(httpStream.start()).resolves.toEqual({ stopReason: `in-use` }); + // TODO: vitest-migration: Unsupported matcher ".toBePending()" found. Vitest does not have a direct equivalent. Please migrate this manually, for example by using `Promise.race` to check if the promise settles within a short timeout. await expectAsync(start).toBePending(); }); @@ -193,13 +197,13 @@ describe(`http stream`, () => { const start = httpStream.start(); subscription.sendError(`test-error`); subscription.stopCustom(); - await expectAsync(start).toBeResolvedTo({ stopReason: `error`, error: `test-error` }); + await expect(start).resolves.toEqual({ stopReason: `error`, error: `test-error` }); }); it(`clean resolve`, async () => { const start = httpStream.start(); subscription.stopCustom(); - await expectAsync(start).toBeResolvedTo({ stopReason: `resolved` }); + await expect(start).resolves.toEqual({ stopReason: `resolved` }); }); }); }); diff --git a/client/src/app/worker/http/http-subscription-polling.spec.ts b/client/src/app/worker/http/http-subscription-polling.spec.ts index 4d343defb8a..14a7d868f0b 100644 --- a/client/src/app/worker/http/http-subscription-polling.spec.ts +++ b/client/src/app/worker/http/http-subscription-polling.spec.ts @@ -28,7 +28,7 @@ function getResponseBody(data = ``, hash = `0`) { describe(`http subscription polling`, () => { beforeEach(() => { - jasmine.clock().install(); + vi.useFakeTimers(); fetchMock.mockGlobal(); fetchMock.route(`end:/instant-forever?longpolling=1`, getResponseBody(`instant-forever`)); fetchMock.route(`end:/error400-expected-format?longpolling=1`, { @@ -42,12 +42,12 @@ describe(`http subscription polling`, () => { afterEach(() => { fetchMock.hardReset(); - jasmine.clock().uninstall(); + vi.useRealTimers(); }); it(`initializes inactive`, () => { - expect(getHttpSubscriptionPollingInstance().active).toBeFalse(); - expect(fetchMock.callHistory.called(`/once-instant?longpolling=1`)).toBeFalse(); + expect(getHttpSubscriptionPollingInstance().active).toBe(false); + expect(fetchMock.callHistory.called(`/once-instant?longpolling=1`)).toBe(false); }); it(`receives data once`, async () => { @@ -56,7 +56,7 @@ describe(`http subscription polling`, () => { const subscr = getHttpSubscriptionPollingInstance(`/instant-forever`, () => resolver()); subscr.start(); await receivedData; - expect(subscr.active).toBeTrue(); + expect(subscr.active).toBe(true); await subscr.stop(); }); @@ -65,10 +65,10 @@ describe(`http subscription polling`, () => { let receivedData = new Promise(resolve => (resolver = resolve)); const subscr = getHttpSubscriptionPollingInstance(`/instant-forever`, () => resolver()); subscr.start(); - await expectAsync(receivedData).toBeResolved(); + await expect(receivedData).resolves.not.toThrow(); receivedData = new Promise(resolve => (resolver = resolve)); - jasmine.clock().tick(POLLING_INTERVAL + 200); - await expectAsync(receivedData).toBeResolved(); + vi.advanceTimersByTime(POLLING_INTERVAL + 200); + await expect(receivedData).resolves.not.toThrow(); await subscr.stop(); }); @@ -83,7 +83,8 @@ describe(`http subscription polling`, () => { (d: any) => errorResolver(d) ); subscr.start(); - await expectAsync(receivedError).toBeResolved(); + await expect(receivedError).resolves.not.toThrow(); + // TODO: vitest-migration: Unsupported matcher ".toBePending()" found. Vitest does not have a direct equivalent. Please migrate this manually, for example by using `Promise.race` to check if the promise settles within a short timeout. expectAsync(receivedData).toBePending(); expect(((await receivedError) as ErrorDescription)?.type).toEqual(ErrorType.CLIENT); expect(((await receivedError) as ErrorDescription)?.error?.type).toEqual(`mock-error`); @@ -95,7 +96,7 @@ describe(`http subscription polling`, () => { const receivedData = new Promise(resolve => (resolver = resolve)); const subscr = getHttpSubscriptionPollingInstance(`/error400-expected-format`, (d: any) => resolver(d)); subscr.start(); - await expectAsync(receivedData).toBeResolved(); + await expect(receivedData).resolves.not.toThrow(); expect(((await receivedData) as ErrorDescription)?.type).toEqual(ErrorType.CLIENT); expect(((await receivedData) as ErrorDescription)?.error?.type).toEqual(`mock-error`); await subscr.stop(); @@ -115,9 +116,9 @@ describe(`http subscription polling`, () => { delay: 10000, response: getResponseBody(`once-instant`) }); - jasmine.clock().tick(POLLING_INTERVAL + 600); + vi.advanceTimersByTime(POLLING_INTERVAL + 600); await subscr.stop(); - await expectAsync(start).toBeResolved(); + await expect(start).resolves.not.toThrow(); }); it(`stop after data received`, async () => { @@ -127,14 +128,14 @@ describe(`http subscription polling`, () => { const start = subscr.start(); await receivedData; await subscr.stop(); - return expectAsync(start).toBeResolved(); + return expect(start).resolves.not.toThrow(); }); it(`instant stop`, async () => { const subscr = getHttpSubscriptionPollingInstance(`/instant-forever`); const start = subscr.start(); await subscr.stop(); - return expectAsync(start).toBeResolved(); + return expect(start).resolves.not.toThrow(); }); it(`stops on server error`, async () => { diff --git a/client/src/app/worker/http/http-subscription-sse.spec.ts b/client/src/app/worker/http/http-subscription-sse.spec.ts index ed17bafc9e0..95a633a325d 100644 --- a/client/src/app/worker/http/http-subscription-sse.spec.ts +++ b/client/src/app/worker/http/http-subscription-sse.spec.ts @@ -63,8 +63,8 @@ describe(`http subscription polling`, () => { afterEach(() => fetchMock.hardReset()); it(`initializes inactive`, () => { - expect(getHttpSubscriptionSSEInstance(`/does-not-resolve`).active).toBeFalse(); - expect(fetchMock.callHistory.called(`/does-not-resolve`)).toBeFalse(); + expect(getHttpSubscriptionSSEInstance(`/does-not-resolve`).active).toBe(false); + expect(fetchMock.callHistory.called(`/does-not-resolve`)).toBe(false); }); it(`receives data once`, async () => { @@ -74,7 +74,7 @@ describe(`http subscription polling`, () => { subscr.start(); const data = await receivedData; expect(data).toEqual(`resp:0\n`); - expect(subscr.active).toBeTrue(); + expect(subscr.active).toBe(true); await subscr.stop(); }); @@ -89,7 +89,8 @@ describe(`http subscription polling`, () => { (d: any) => errorResolver(d) ); subscr.start(); - await expectAsync(receivedError).toBeResolved(); + await expect(receivedError).resolves.not.toThrow(); + // TODO: vitest-migration: Unsupported matcher ".toBePending()" found. Vitest does not have a direct equivalent. Please migrate this manually, for example by using `Promise.race` to check if the promise settles within a short timeout. expectAsync(receivedData).toBePending(); expect(((await receivedError) as ErrorDescription)?.type).toEqual(ErrorType.CLIENT); expect(((await receivedError) as ErrorDescription)?.error?.type).toEqual(`mock-error`); @@ -101,7 +102,7 @@ describe(`http subscription polling`, () => { const receivedData = new Promise(resolve => (resolver = resolve)); const subscr = getHttpSubscriptionSSEInstance(`/error400-expected-format`, (d: any) => resolver(d)); subscr.start(); - await expectAsync(receivedData).toBeResolved(); + await expect(receivedData).resolves.not.toThrow(); expect(((await receivedData) as ErrorDescription)?.type).toEqual(ErrorType.CLIENT); expect(((await receivedData) as ErrorDescription)?.error?.type).toEqual(`mock-error`); await subscr.stop(); @@ -116,7 +117,7 @@ describe(`http subscription polling`, () => { const subscr = getHttpSubscriptionSSEInstance(`/resolves`, () => resolver()); const start = subscr.start(); await receivedData; - await expectAsync(start).toBeResolved(); + await expect(start).resolves.not.toThrow(); expect(subscr.active).toBeFalsy(); }); @@ -127,14 +128,14 @@ describe(`http subscription polling`, () => { const start = subscr.start(); await receivedData; await subscr.stop(); - return expectAsync(start).toBeResolved(); + return expect(start).resolves.not.toThrow(); }); it(`instant stop`, async () => { const subscr = getHttpSubscriptionSSEInstance(`/does-not-resolve`); const start = subscr.start(); await subscr.stop(); - return expectAsync(start).toBeResolved(); + return expect(start).resolves.not.toThrow(); }); it(`stops on server error`, async () => { diff --git a/client/src/e2e-imports.module.ts b/client/src/e2e-imports.module.ts index 4b8730be30e..a889a974d90 100644 --- a/client/src/e2e-imports.module.ts +++ b/client/src/e2e-imports.module.ts @@ -1,5 +1,5 @@ import { APP_BASE_HREF, CommonModule } from '@angular/common'; -import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http'; +import { provideHttpClient, withInterceptorsFromDi, withXhr } from '@angular/common/http'; import { NgModule } from '@angular/core'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; @@ -26,6 +26,6 @@ import { OpenSlidesTranslationModule } from './app/site/modules/translations'; BrowserAnimationsModule, OpenSlidesMainRoutingModule ], - providers: [{ provide: APP_BASE_HREF, useValue: `/` }, provideHttpClient(withInterceptorsFromDi())] + providers: [{ provide: APP_BASE_HREF, useValue: `/` }, provideHttpClient(withXhr(), withInterceptorsFromDi())] }) export class E2EImportsModule {} diff --git a/client/src/test.ts b/client/src/test.ts deleted file mode 100644 index 4105114edb4..00000000000 --- a/client/src/test.ts +++ /dev/null @@ -1,31 +0,0 @@ -// This file is required by karma.conf.js and loads recursively all the .spec and framework files - -import 'zone.js/testing'; - -import { NgModule, provideZoneChangeDetection } from '@angular/core'; -import { getTestBed } from '@angular/core/testing'; -import { BrowserTestingModule, platformBrowserTesting } from '@angular/platform-browser/testing'; - -import { overloadJsFunctions } from './app/infrastructure/utils/overload-js-functions'; - -overloadJsFunctions(); - -if (!window.process) { - window.process = {} as any; -} - -if (!window.requestAnimationFrame) { - window.requestAnimationFrame = function (callback): number { - return window.setTimeout(function () { - callback(Date.now()); - }, 1000 / 60); - }; -} - -@NgModule({ - providers: [provideZoneChangeDetection()] -}) -class AppTestingModule {} - -// First, initialize the Angular testing environment. -getTestBed().initTestEnvironment([BrowserTestingModule, AppTestingModule], platformBrowserTesting()); diff --git a/client/tsconfig.app.json b/client/tsconfig.app.json index 38673a35222..8eff08a98f5 100644 --- a/client/tsconfig.app.json +++ b/client/tsconfig.app.json @@ -5,9 +5,19 @@ "outDir": "./out-tsc/app", "types": [], "paths": { - "@openslides/motion-diff": ["../packages/openslides-motion-diff"] - } + "@openslides/motion-diff": ["../packages/openslides-motion-diff"], + "*": ["./*"] + }, + "rootDir": "./src" }, "files": ["src/main.ts", "src/polyfills.ts"], - "include": ["src/**/*.d.ts"] + "include": ["src/**/*.d.ts"], + "angularCompilerOptions": { + "extendedDiagnostics": { + "checks": { + "nullishCoalescingNotNullable": "suppress", + "optionalChainNotNullable": "suppress" + } + } + } } diff --git a/client/tsconfig.json b/client/tsconfig.json index 5b65ac7bff6..1794f5c03e5 100644 --- a/client/tsconfig.json +++ b/client/tsconfig.json @@ -2,7 +2,6 @@ { "compileOnSave": false, "compilerOptions": { - "baseUrl": "./", "declaration": false, "experimentalDecorators": true, "esModuleInterop": true, @@ -25,5 +24,13 @@ "strictInjectionParameters": true, "strictInputAccessModifiers": true, "strictTemplates": true - } + }, + "references": [ + { + "path": "./tsconfig.app.json" + }, + { + "path": "./tsconfig.spec.json" + } + ] } diff --git a/client/tsconfig.spec.json b/client/tsconfig.spec.json index 092345b02e8..8264ed5a0be 100644 --- a/client/tsconfig.spec.json +++ b/client/tsconfig.spec.json @@ -1,18 +1,23 @@ /* To learn more about this file see: https://angular.io/config/tsconfig. */ { - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "./out-tsc/spec", - "types": [ - "jasmine" - ] - }, - "files": [ - "src/test.ts", - "src/polyfills.ts" - ], - "include": [ - "src/**/*.spec.ts", - "src/**/*.d.ts" - ] + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/spec", + "types": ["vitest/globals"], + "rootDir": "./src", + "paths": { + "@openslides/motion-diff": ["../packages/openslides-motion-diff"], + "*": ["./*"] + } + }, + "files": ["src/test.ts", "src/polyfills.ts"], + "include": ["src/**/*.spec.ts", "src/**/*.d.ts"], + "angularCompilerOptions": { + "extendedDiagnostics": { + "checks": { + "nullishCoalescingNotNullable": "suppress", + "optionalChainNotNullable": "suppress" + } + } + } } diff --git a/client/tsconfig.worker.json b/client/tsconfig.worker.json index c13d2e4a919..d63539519cf 100644 --- a/client/tsconfig.worker.json +++ b/client/tsconfig.worker.json @@ -8,7 +8,8 @@ "es2018", "webworker" ], - "types": [] + "types": [], + "rootDir": "./src/app" }, "include": [ "src/**/*.worker.ts"