From 8e0ba50ab077e419ac196795bec11b62f8f9fd3a Mon Sep 17 00:00:00 2001 From: Kilian Panot Date: Mon, 9 Dec 2024 16:54:35 +0900 Subject: [PATCH] chore: set peer-dependencies to carect --- .yarnrc.yml | 2 +- packages/@ama-sdk/client-angular/package.json | 10 +- packages/@ama-sdk/client-beacon/package.json | 10 +- packages/@ama-sdk/client-fetch/package.json | 10 +- packages/@ama-sdk/core/package.json | 10 +- packages/@ama-sdk/schematics/package.json | 9 +- .../schematics/typescript/shell/index.ts | 9 +- .../@o3r-training/showcase-sdk/package.json | 2 +- .../@o3r-training/training-tools/package.json | 8 +- .../amaterasu/amaterasu-otter/package.json | 2 +- packages/@o3r/analytics/package.json | 20 +- packages/@o3r/apis-manager/package.json | 10 +- packages/@o3r/application/package.json | 10 +- packages/@o3r/artifactory-tools/package.json | 2 +- packages/@o3r/azure-tools/package.json | 2 +- packages/@o3r/components/package.json | 28 +- packages/@o3r/configuration/package.json | 14 +- packages/@o3r/core/package.json | 35 +- packages/@o3r/design/package.json | 6 +- packages/@o3r/dev-tools/package.json | 2 +- packages/@o3r/dynamic-content/package.json | 14 +- .../@o3r/eslint-config-otter/package.json | 24 +- .../@o3r/eslint-config-otter/project.json | 6 +- packages/@o3r/eslint-config/package.json | 20 +- packages/@o3r/eslint-config/project.json | 6 +- packages/@o3r/eslint-plugin/package.json | 12 +- packages/@o3r/extractors/package.json | 12 +- packages/@o3r/forms/package.json | 14 +- packages/@o3r/localization/package.json | 26 +- packages/@o3r/logger/package.json | 16 +- packages/@o3r/mobile/package.json | 10 +- packages/@o3r/new-version/package.json | 2 +- packages/@o3r/pipeline/package.json | 4 +- packages/@o3r/routing/package.json | 20 +- packages/@o3r/rules-engine/package.json | 28 +- packages/@o3r/schematics/package.json | 14 +- .../ng-add/dependencies.spec.ts | 128 ++++ .../src/rule-factories/ng-add/dependencies.ts | 22 + .../src/utility/matching-peers.spec.ts | 65 ++ .../schematics/src/utility/matching-peers.ts | 6 +- packages/@o3r/store-sync/package.json | 10 +- packages/@o3r/storybook/package.json | 12 +- packages/@o3r/stylelint-plugin/package.json | 4 +- packages/@o3r/styling/package.json | 20 +- packages/@o3r/telemetry/package.json | 6 +- packages/@o3r/test-helpers/package.json | 6 +- packages/@o3r/testing/package.json | 26 +- packages/@o3r/third-party/package.json | 6 +- packages/@o3r/workspace/package.json | 18 +- .../workspace/schematics/application/index.ts | 2 + .../templates/package.json.template | 28 +- .../schematics/library/rules/shared.ts | 59 +- tools/@o3r/build-helpers/package.json | 2 +- tools/@o3r/workspace-helpers/package.json | 4 +- tools/github-actions/audit/package.json | 4 +- yarn.lock | 694 ++++++++---------- 56 files changed, 840 insertions(+), 711 deletions(-) create mode 100644 packages/@o3r/schematics/src/rule-factories/ng-add/dependencies.spec.ts create mode 100644 packages/@o3r/schematics/src/utility/matching-peers.spec.ts diff --git a/.yarnrc.yml b/.yarnrc.yml index e9c8f18501..dc79fc379c 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -20,7 +20,7 @@ packageExtensions: "@swc/types": "*" "@typescript-eslint/rule-tester@*": dependencies: - "@typescript-eslint/parser": ~8.16.0 + "@typescript-eslint/parser": ~8.17.0 "@angular-eslint/eslint-plugin-template@*": dependencies: "@typescript-eslint/types": "^8.0.0" diff --git a/packages/@ama-sdk/client-angular/package.json b/packages/@ama-sdk/client-angular/package.json index 7c150c536f..4e3dc975d9 100644 --- a/packages/@ama-sdk/client-angular/package.json +++ b/packages/@ama-sdk/client-angular/package.json @@ -45,13 +45,13 @@ }, "peerDependencies": { "@ama-sdk/core": "workspace:^", - "@angular-devkit/schematics": "~18.2.0", - "@angular/cli": "~18.2.0", - "@angular/common": "~18.2.0", + "@angular-devkit/schematics": "^18.2.0", + "@angular/cli": "^18.2.0", + "@angular/common": "^18.2.0", "@o3r/schematics": "workspace:^", - "@schematics/angular": "~18.2.0", + "@schematics/angular": "^18.2.0", "rxjs": "^7.8.1", - "typescript": "~5.5.4" + "typescript": "^5.5.4" }, "peerDependenciesMeta": { "@angular-devkit/schematics": { diff --git a/packages/@ama-sdk/client-beacon/package.json b/packages/@ama-sdk/client-beacon/package.json index 80309b9e04..c4bbfe9c04 100644 --- a/packages/@ama-sdk/client-beacon/package.json +++ b/packages/@ama-sdk/client-beacon/package.json @@ -45,12 +45,12 @@ }, "peerDependencies": { "@ama-sdk/core": "workspace:^", - "@angular-devkit/schematics": "~18.2.0", - "@angular/cli": "~18.2.0", - "@angular/common": "~18.2.0", + "@angular-devkit/schematics": "^18.2.0", + "@angular/cli": "^18.2.0", + "@angular/common": "^18.2.0", "@o3r/schematics": "workspace:^", - "@schematics/angular": "~18.2.0", - "typescript": "~5.5.4" + "@schematics/angular": "^18.2.0", + "typescript": "^5.5.4" }, "peerDependenciesMeta": { "@angular-devkit/schematics": { diff --git a/packages/@ama-sdk/client-fetch/package.json b/packages/@ama-sdk/client-fetch/package.json index db012fea21..a220f7a8ba 100644 --- a/packages/@ama-sdk/client-fetch/package.json +++ b/packages/@ama-sdk/client-fetch/package.json @@ -45,13 +45,13 @@ }, "peerDependencies": { "@ama-sdk/core": "workspace:^", - "@angular-devkit/schematics": "~18.2.0", - "@angular/cli": "~18.2.0", - "@angular/common": "~18.2.0", + "@angular-devkit/schematics": "^18.2.0", + "@angular/cli": "^18.2.0", + "@angular/common": "^18.2.0", "@o3r/schematics": "workspace:^", - "@schematics/angular": "~18.2.0", + "@schematics/angular": "^18.2.0", "isomorphic-fetch": "^3.0.0", - "typescript": "~5.5.4" + "typescript": "^5.5.4" }, "peerDependenciesMeta": { "@angular-devkit/schematics": { diff --git a/packages/@ama-sdk/core/package.json b/packages/@ama-sdk/core/package.json index 34a7318bf4..3060f5a453 100644 --- a/packages/@ama-sdk/core/package.json +++ b/packages/@ama-sdk/core/package.json @@ -87,14 +87,14 @@ "uuid": "^10.0.0" }, "peerDependencies": { - "@angular-devkit/schematics": "~18.2.0", - "@angular/cli": "~18.2.0", - "@angular/common": "~18.2.0", + "@angular-devkit/schematics": "^18.2.0", + "@angular/cli": "^18.2.0", + "@angular/common": "^18.2.0", "@o3r/schematics": "workspace:^", - "@schematics/angular": "~18.2.0", + "@schematics/angular": "^18.2.0", "isomorphic-fetch": "^3.0.0", "rxjs": "^7.8.1", - "typescript": "~5.5.4" + "typescript": "^5.5.4" }, "peerDependenciesMeta": { "@angular-devkit/schematics": { diff --git a/packages/@ama-sdk/schematics/package.json b/packages/@ama-sdk/schematics/package.json index 74f1304dfd..e85d645a89 100644 --- a/packages/@ama-sdk/schematics/package.json +++ b/packages/@ama-sdk/schematics/package.json @@ -64,11 +64,11 @@ }, "peerDependencies": { "@ama-sdk/core": "workspace:^", - "@angular-devkit/core": "~18.2.0", + "@angular-devkit/core": "^18.2.0", "@angular-devkit/schematics-cli": "^18.0.5", - "@angular/cli": "~18.2.0", + "@angular/cli": "^18.2.0", "@o3r/schematics": "workspace:^", - "@openapitools/openapi-generator-cli": "~2.15.0", + "@openapitools/openapi-generator-cli": "^2.15.0", "openapi-types": "^12.0.0", "type-fest": "^4.10.2" }, @@ -140,10 +140,11 @@ }, "generatorDependencies": { "@swc/cli": "~0.5.0", - "@swc/core": "~1.9.0", + "@swc/core": "~1.10.0", "@swc/helpers": "~0.5.0", "@commitlint/cli": "^19.0.0", "@commitlint/config-conventional": "^19.0.0", + "@typescript-eslint/eslint-plugin": "~8.17.0", "jest-junit": "~16.0.0", "lint-staged": "^15.0.0", "minimist": "^1.2.6", diff --git a/packages/@ama-sdk/schematics/schematics/typescript/shell/index.ts b/packages/@ama-sdk/schematics/schematics/typescript/shell/index.ts index 8162fd927e..087c870db1 100644 --- a/packages/@ama-sdk/schematics/schematics/typescript/shell/index.ts +++ b/packages/@ama-sdk/schematics/schematics/typescript/shell/index.ts @@ -45,7 +45,9 @@ function ngGenerateTypescriptSDKFn(options: NgGenerateTypescriptSDKShellSchemati const setupRule = async (tree: Tree, context: SchematicContext) => { const amaSdkSchematicsPackageJson = await readPackageJson(); - const versions = { + const { enforceTildeRange } = await import('@o3r/schematics'); + + const versions = Object.fromEntries(Object.entries({ tslib: amaSdkSchematicsPackageJson.dependencies!.tslib, '@commitlint/cli': amaSdkSchematicsPackageJson.generatorDependencies['@commitlint/cli'], '@commitlint/config-conventional': amaSdkSchematicsPackageJson.generatorDependencies['@commitlint/config-conventional'], @@ -54,7 +56,7 @@ function ngGenerateTypescriptSDKFn(options: NgGenerateTypescriptSDKShellSchemati '@swc/core': amaSdkSchematicsPackageJson.generatorDependencies['@swc/core'], '@types/jest': amaSdkSchematicsPackageJson.devDependencies!['@types/jest'], '@types/node': amaSdkSchematicsPackageJson.devDependencies!['@types/node'], - '@typescript-eslint/eslint-plugin': amaSdkSchematicsPackageJson.devDependencies!['@typescript-eslint/eslint-plugin'], + '@typescript-eslint/eslint-plugin': amaSdkSchematicsPackageJson.generatorDependencies['@typescript-eslint/eslint-plugin'], '@typescript-eslint/parser': amaSdkSchematicsPackageJson.devDependencies!['@typescript-eslint/parser'], '@openapitools/openapi-generator-cli': amaSdkSchematicsPackageJson.devDependencies!['@openapitools/openapi-generator-cli'], '@stylistic/eslint-plugin': amaSdkSchematicsPackageJson.devDependencies!['@stylistic/eslint-plugin'], @@ -79,7 +81,8 @@ function ngGenerateTypescriptSDKFn(options: NgGenerateTypescriptSDKShellSchemati 'tsc-watch': amaSdkSchematicsPackageJson.generatorDependencies['tsc-watch'], 'yaml-eslint-parser': amaSdkSchematicsPackageJson.generatorDependencies['yaml-eslint-parser'], typedoc: amaSdkSchematicsPackageJson.generatorDependencies.typedoc - }; + }).map(([key, range]) => ([key, enforceTildeRange(range)]))); + const openApiSupportedVersion = typeof amaSdkSchematicsPackageJson.openApiSupportedVersion === 'string' && amaSdkSchematicsPackageJson.openApiSupportedVersion.replace(/\^|~/, ''); context.logger.warn(JSON.stringify(openApiSupportedVersion)); diff --git a/packages/@o3r-training/showcase-sdk/package.json b/packages/@o3r-training/showcase-sdk/package.json index 61c1d94d3b..2b738b456f 100644 --- a/packages/@o3r-training/showcase-sdk/package.json +++ b/packages/@o3r-training/showcase-sdk/package.json @@ -118,7 +118,7 @@ "peerDependencies": { "@ama-sdk/client-fetch": "workspace:^", "@ama-sdk/core": "workspace:^", - "isomorphic-fetch": "~3.0.0" + "isomorphic-fetch": "^3.0.0" }, "engines": { "node": "^18.19.1 || ^20.11.1 || >=22.0.0" diff --git a/packages/@o3r-training/training-tools/package.json b/packages/@o3r-training/training-tools/package.json index af59429658..5b9c15149d 100644 --- a/packages/@o3r-training/training-tools/package.json +++ b/packages/@o3r-training/training-tools/package.json @@ -31,13 +31,13 @@ } }, "peerDependencies": { - "@angular-devkit/schematics": "~18.2.0", + "@angular-devkit/schematics": "^18.2.0", "@o3r/schematics": "workspace:^", - "@schematics/angular": "~18.2.0", - "@webcontainer/api": "~1.5.0", + "@schematics/angular": "^18.2.0", + "@webcontainer/api": "^1.5.0", "rxjs": "^7.8.1", "type-fest": "^4.10.2", - "typescript": "~5.5.4" + "typescript": "^5.5.4" }, "peerDependenciesMeta": { "@angular-devkit/architect": { diff --git a/packages/@o3r/amaterasu/amaterasu-otter/package.json b/packages/@o3r/amaterasu/amaterasu-otter/package.json index a16771ba19..cc6d8cee01 100644 --- a/packages/@o3r/amaterasu/amaterasu-otter/package.json +++ b/packages/@o3r/amaterasu/amaterasu-otter/package.json @@ -64,7 +64,7 @@ }, "peerDependencies": { "@ama-terasu/core": "workspace:^", - "@angular/cli": "~18.2.0" + "@angular/cli": "^18.2.0" }, "engines": { "node": "^18.19.1 || ^20.11.1 || >=22.0.0", diff --git a/packages/@o3r/analytics/package.json b/packages/@o3r/analytics/package.json index b15795a6f6..99e965bd38 100644 --- a/packages/@o3r/analytics/package.json +++ b/packages/@o3r/analytics/package.json @@ -25,20 +25,20 @@ }, "peerDependencies": { "@ama-sdk/core": "workspace:^", - "@angular-devkit/schematics": "~18.2.0", - "@angular/common": "~18.2.0", - "@angular/core": "~18.2.0", - "@angular/platform-browser": "~18.2.0", - "@angular/platform-browser-dynamic": "~18.2.0", - "@angular/router": "~18.2.0", - "@ngrx/store": "~18.0.0", + "@angular-devkit/schematics": "^18.2.0", + "@angular/common": "^18.2.0", + "@angular/core": "^18.2.0", + "@angular/platform-browser": "^18.2.0", + "@angular/platform-browser-dynamic": "^18.2.0", + "@angular/router": "^18.2.0", + "@ngrx/store": "^18.0.0", "@o3r/core": "workspace:^", "@o3r/schematics": "workspace:^", - "@schematics/angular": "~18.2.0", + "@schematics/angular": "^18.2.0", "jasmine": "^5.0.0", "rxjs": "^7.8.1", - "typescript": "~5.5.4", - "webpack": "~5.96.0" + "typescript": "^5.5.4", + "webpack": "^5.96.0" }, "peerDependenciesMeta": { "@angular-devkit/schematics": { diff --git a/packages/@o3r/apis-manager/package.json b/packages/@o3r/apis-manager/package.json index 8e042976da..b039fbac90 100644 --- a/packages/@o3r/apis-manager/package.json +++ b/packages/@o3r/apis-manager/package.json @@ -21,13 +21,13 @@ "peerDependencies": { "@ama-sdk/client-fetch": "workspace:^", "@ama-sdk/core": "workspace:^", - "@angular-devkit/schematics": "~18.2.0", - "@angular/common": "~18.2.0", - "@angular/core": "~18.2.0", + "@angular-devkit/schematics": "^18.2.0", + "@angular/common": "^18.2.0", + "@angular/core": "^18.2.0", "@o3r/schematics": "workspace:^", - "@schematics/angular": "~18.2.0", + "@schematics/angular": "^18.2.0", "rxjs": "^7.8.1", - "typescript": "~5.5.4" + "typescript": "^5.5.4" }, "peerDependenciesMeta": { "@ama-sdk/client-fetch": { diff --git a/packages/@o3r/application/package.json b/packages/@o3r/application/package.json index 623a3ac3bd..7266f6f52f 100644 --- a/packages/@o3r/application/package.json +++ b/packages/@o3r/application/package.json @@ -24,17 +24,17 @@ "prepare:publish": "prepare-publish ./dist" }, "peerDependencies": { - "@angular-devkit/schematics": "~18.2.0", - "@angular/common": "~18.2.0", - "@angular/core": "~18.2.0", + "@angular-devkit/schematics": "^18.2.0", + "@angular/common": "^18.2.0", + "@angular/core": "^18.2.0", "@o3r/core": "workspace:^", "@o3r/logger": "workspace:^", "@o3r/routing": "workspace:^", "@o3r/schematics": "workspace:^", "@o3r/testing": "workspace:^", - "@schematics/angular": "~18.2.0", + "@schematics/angular": "^18.2.0", "rxjs": "^7.8.1", - "typescript": "~5.5.4" + "typescript": "^5.5.4" }, "peerDependenciesMeta": { "@angular-devkit/schematics": { diff --git a/packages/@o3r/artifactory-tools/package.json b/packages/@o3r/artifactory-tools/package.json index 4d22f70f48..9b80d8bcb0 100644 --- a/packages/@o3r/artifactory-tools/package.json +++ b/packages/@o3r/artifactory-tools/package.json @@ -29,7 +29,7 @@ "winston": "^3.8.2" }, "peerDependencies": { - "@angular-devkit/schematics": "~18.2.0", + "@angular-devkit/schematics": "^18.2.0", "@o3r/telemetry": "workspace:^" }, "peerDependenciesMeta": { diff --git a/packages/@o3r/azure-tools/package.json b/packages/@o3r/azure-tools/package.json index 7fec183952..7ca489ecea 100644 --- a/packages/@o3r/azure-tools/package.json +++ b/packages/@o3r/azure-tools/package.json @@ -28,7 +28,7 @@ "winston": "^3.8.2" }, "peerDependencies": { - "@angular-devkit/schematics": "~18.2.0", + "@angular-devkit/schematics": "^18.2.0", "@o3r/telemetry": "workspace:^" }, "peerDependenciesMeta": { diff --git a/packages/@o3r/components/package.json b/packages/@o3r/components/package.json index bbac561ca7..fb6e0ffa4c 100644 --- a/packages/@o3r/components/package.json +++ b/packages/@o3r/components/package.json @@ -31,18 +31,18 @@ "postbuild": "patch-package-json-main" }, "peerDependencies": { - "@angular-devkit/architect": "~0.1802.0", - "@angular-devkit/core": "~18.2.0", - "@angular-devkit/schematics": "~18.2.0", - "@angular/cdk": "~18.2.0", - "@angular/common": "~18.2.0", - "@angular/core": "~18.2.0", - "@angular/forms": "~18.2.0", - "@angular/platform-browser": "~18.2.0", - "@angular/platform-browser-dynamic": "~18.2.0", - "@ngrx/effects": "~18.0.0", - "@ngrx/entity": "~18.0.0", - "@ngrx/store": "~18.0.0", + "@angular-devkit/architect": "^0.1802.0", + "@angular-devkit/core": "^18.2.0", + "@angular-devkit/schematics": "^18.2.0", + "@angular/cdk": "^18.2.0", + "@angular/common": "^18.2.0", + "@angular/core": "^18.2.0", + "@angular/forms": "^18.2.0", + "@angular/platform-browser": "^18.2.0", + "@angular/platform-browser-dynamic": "^18.2.0", + "@ngrx/effects": "^18.0.0", + "@ngrx/entity": "^18.0.0", + "@ngrx/store": "^18.0.0", "@o3r/analytics": "workspace:^", "@o3r/configuration": "workspace:^", "@o3r/core": "workspace:^", @@ -53,7 +53,7 @@ "@o3r/rules-engine": "workspace:^", "@o3r/schematics": "workspace:^", "@o3r/testing": "workspace:^", - "@schematics/angular": "~18.2.0", + "@schematics/angular": "^18.2.0", "@yarnpkg/cli": "^4.0.0", "@yarnpkg/core": "^4.1.1", "@yarnpkg/fslib": "^3.1.0", @@ -64,7 +64,7 @@ "jsonpath-plus": "^9.0.0 || ^10.0.0", "rxjs": "^7.8.1", "semver": "^7.5.2", - "typescript": "~5.5.4" + "typescript": "^5.5.4" }, "peerDependenciesMeta": { "@angular-devkit/core": { diff --git a/packages/@o3r/configuration/package.json b/packages/@o3r/configuration/package.json index 7771fb5073..a6bf180c85 100644 --- a/packages/@o3r/configuration/package.json +++ b/packages/@o3r/configuration/package.json @@ -32,21 +32,21 @@ "prepare:publish": "prepare-publish ./dist" }, "peerDependencies": { - "@angular-devkit/schematics": "~18.2.0", - "@angular/core": "~18.2.0", - "@angular/platform-browser-dynamic": "~18.2.0", - "@ngrx/entity": "~18.0.0", - "@ngrx/store": "~18.0.0", + "@angular-devkit/schematics": "^18.2.0", + "@angular/core": "^18.2.0", + "@angular/platform-browser-dynamic": "^18.2.0", + "@ngrx/entity": "^18.0.0", + "@ngrx/store": "^18.0.0", "@o3r/core": "workspace:^", "@o3r/logger": "workspace:^", "@o3r/schematics": "workspace:^", "@o3r/testing": "workspace:^", - "@schematics/angular": "~18.2.0", + "@schematics/angular": "^18.2.0", "cheerio": "^1.0.0-rc.10", "express-interceptor": "^1.2.0", "jasmine": "^5.0.0", "rxjs": "^7.8.1", - "typescript": "~5.5.4" + "typescript": "^5.5.4" }, "peerDependenciesMeta": { "@angular-devkit/schematics": { diff --git a/packages/@o3r/core/package.json b/packages/@o3r/core/package.json index 1cee328442..d9716c3c67 100644 --- a/packages/@o3r/core/package.json +++ b/packages/@o3r/core/package.json @@ -22,26 +22,26 @@ "default": "./src/public_api.js", "types": "./src/public_api.d.ts", "peerDependencies": { - "@angular-devkit/architect": "~0.1802.0", - "@angular-devkit/core": "~18.2.0", - "@angular-devkit/schematics": "~18.2.0", - "@angular/cli": "~18.2.0", - "@angular/common": "~18.2.0", - "@angular/compiler-cli": "~18.2.0", - "@angular/core": "~18.2.0", - "@angular/forms": "~18.2.0", - "@angular/platform-browser-dynamic": "~18.2.0", - "@angular/router": "~18.2.0", - "@ngrx/entity": "~18.0.0", - "@ngrx/store": "~18.0.0", - "@nx/angular": "~19.5.0", + "@angular-devkit/architect": "^0.1802.0", + "@angular-devkit/core": "^18.2.0", + "@angular-devkit/schematics": "^18.2.0", + "@angular/cli": "^18.2.0", + "@angular/common": "^18.2.0", + "@angular/compiler-cli": "^18.2.0", + "@angular/core": "^18.2.0", + "@angular/forms": "^18.2.0", + "@angular/platform-browser-dynamic": "^18.2.0", + "@angular/router": "^18.2.0", + "@ngrx/entity": "^18.0.0", + "@ngrx/store": "^18.0.0", + "@nx/angular": "^19.5.0", "@o3r/telemetry": "workspace:^", - "@schematics/angular": "~18.2.0", + "@schematics/angular": "^18.2.0", "chokidar": "^3.5.2", "globby": "^11.1.0", "rxjs": "^7.8.1", "type-fest": "^4.10.2", - "typescript": "~5.5.4" + "typescript": "^5.5.4" }, "peerDependenciesMeta": { "@angular/cli": { @@ -155,7 +155,8 @@ "@o3r/store-sync": "workspace:^", "@stylistic/eslint-plugin": "~2.7.0", "@types/jest": "~29.5.2", - "@typescript-eslint/parser": "~8.16.0", + "@typescript-eslint/eslint-plugin": "~8.17.0", + "@typescript-eslint/parser": "~8.17.0", "angular-eslint": "~18.4.0", "cpy-cli": "^5.0.0", "eslint": "~9.14.0", @@ -174,7 +175,7 @@ "jest-preset-angular": "~14.2.0", "jsonc-eslint-parser": "~2.4.0", "nx": "~19.5.0", - "typescript-eslint": "~8.16.0", + "typescript-eslint": "~8.17.0", "zone.js": "~0.14.2" }, "engines": { diff --git a/packages/@o3r/design/package.json b/packages/@o3r/design/package.json index 76f51401a3..6525408de1 100644 --- a/packages/@o3r/design/package.json +++ b/packages/@o3r/design/package.json @@ -53,15 +53,15 @@ "tslib": "^2.6.2" }, "peerDependencies": { - "@angular-devkit/architect": "~0.1802.0", - "@angular-devkit/schematics": "~18.2.0", + "@angular-devkit/architect": "^0.1802.0", + "@angular-devkit/schematics": "^18.2.0", "@o3r/core": "workspace:^", "@o3r/schematics": "workspace:^", "@o3r/styling": "workspace:^", "@o3r/telemetry": "workspace:^", "chokidar": "^3.5.2", "globby": "^11.1.0", - "sass": "~1.81.0" + "sass": "^1.81.0" }, "peerDependenciesMeta": { "@angular-devkit/architect": { diff --git a/packages/@o3r/dev-tools/package.json b/packages/@o3r/dev-tools/package.json index bface50dd4..2f509c6f47 100644 --- a/packages/@o3r/dev-tools/package.json +++ b/packages/@o3r/dev-tools/package.json @@ -57,7 +57,7 @@ "winston": "^3.8.2" }, "peerDependencies": { - "@angular-devkit/schematics": "~18.2.0" + "@angular-devkit/schematics": "^18.2.0" }, "peerDependenciesMeta": { "@angular-devkit/schematics": { diff --git a/packages/@o3r/dynamic-content/package.json b/packages/@o3r/dynamic-content/package.json index 61d1c619f4..5234e55e82 100644 --- a/packages/@o3r/dynamic-content/package.json +++ b/packages/@o3r/dynamic-content/package.json @@ -29,15 +29,15 @@ "prepare:publish": "prepare-publish ./dist" }, "peerDependencies": { - "@angular-devkit/architect": "~0.1802.0", - "@angular-devkit/schematics": "~18.2.0", - "@angular/compiler-cli": "~18.2.0", - "@angular/core": "~18.2.0", - "@angular/platform-browser-dynamic": "~18.2.0", - "@ngrx/store": "~18.0.0", + "@angular-devkit/architect": "^0.1802.0", + "@angular-devkit/schematics": "^18.2.0", + "@angular/compiler-cli": "^18.2.0", + "@angular/core": "^18.2.0", + "@angular/platform-browser-dynamic": "^18.2.0", + "@ngrx/store": "^18.0.0", "@o3r/core": "workspace:^", "@o3r/schematics": "workspace:^", - "@schematics/angular": "~18.2.0", + "@schematics/angular": "^18.2.0", "cheerio": "^1.0.0-rc.10", "express-interceptor": "^1.2.0", "jasmine": "^5.0.0", diff --git a/packages/@o3r/eslint-config-otter/package.json b/packages/@o3r/eslint-config-otter/package.json index f7d4b3c0b7..5231a09281 100644 --- a/packages/@o3r/eslint-config-otter/package.json +++ b/packages/@o3r/eslint-config-otter/package.json @@ -50,15 +50,15 @@ "build:builders": "tsc -b tsconfig.builders.json --pretty && yarn generate-cjs-manifest" }, "peerDependencies": { - "@angular-devkit/schematics": "~18.2.0", - "@angular-eslint/builder": "~18.4.0", - "@angular-eslint/eslint-plugin": "~18.4.0", - "@angular-eslint/eslint-plugin-template": "~18.4.0", - "@angular-eslint/template-parser": "~18.4.0", - "@angular/compiler": "~18.2.0", + "@angular-devkit/schematics": "^18.2.0", + "@angular-eslint/builder": "^18.4.0", + "@angular-eslint/eslint-plugin": "^18.4.0", + "@angular-eslint/eslint-plugin-template": "^18.4.0", + "@angular-eslint/template-parser": "^18.4.0", + "@angular/compiler": "^18.2.0", "@o3r/eslint-plugin": "workspace:^", "@o3r/schematics": "workspace:^", - "@schematics/angular": "~18.2.0", + "@schematics/angular": "^18.2.0", "@stylistic/eslint-plugin-ts": "^2.7.0", "@typescript-eslint/eslint-plugin": "^7.14.1 || ^8.0.0", "@typescript-eslint/parser": "^7.14.1 || ^8.0.0", @@ -66,16 +66,16 @@ "eslint": ">=8.57.0 <9.15.0", "eslint-import-resolver-node": "^0.3.4", "eslint-plugin-jasmine": "^4.1.3", - "eslint-plugin-jest": "^28.0.0", + "eslint-plugin-jest": "^28.8.0", "eslint-plugin-jsdoc": "^48.11.0 || ^49.0.0 || ^50.0.0", "eslint-plugin-prefer-arrow": "^1.2.2", "eslint-plugin-unicorn": "^54.0.0 || ^55.0.0 || ^56.0.0", - "typescript": "~5.5.4" + "typescript": "^5.5.4" }, "generatorDependencies": { - "@typescript-eslint/eslint-plugin": "^8.0.0", - "@typescript-eslint/parser": "~8.16.0", - "@typescript-eslint/utils": "~8.16.0", + "@typescript-eslint/eslint-plugin": "~8.17.0", + "@typescript-eslint/parser": "~8.17.0", + "@typescript-eslint/utils": "~8.17.0", "eslint": "~9.14.0", "eslint-plugin-jsdoc": "~50.2.0", "eslint-plugin-unicorn": "^56.0.0" diff --git a/packages/@o3r/eslint-config-otter/project.json b/packages/@o3r/eslint-config-otter/project.json index 1ce36d730d..5c05dd21ca 100644 --- a/packages/@o3r/eslint-config-otter/project.json +++ b/packages/@o3r/eslint-config-otter/project.json @@ -32,11 +32,7 @@ "options": { "script": "build" }, - "dependsOn": [], - "inputs": [ - "{projectRoot}/rules/**/*", - "!{projectRoot}/**/*.spec.ts" - ] + "dependsOn": [] }, "prepare-build-builders": { "executor": "nx:run-script", diff --git a/packages/@o3r/eslint-config/package.json b/packages/@o3r/eslint-config/package.json index a011336ec2..ece2620090 100644 --- a/packages/@o3r/eslint-config/package.json +++ b/packages/@o3r/eslint-config/package.json @@ -35,15 +35,15 @@ "build:builders": "tsc -b tsconfig.builders.json --pretty && yarn generate-cjs-manifest" }, "peerDependencies": { - "@angular-devkit/core": "~18.2.0", - "@angular-devkit/schematics": "~18.2.0", - "@angular-eslint/builder": "~18.4.0", - "@angular/compiler": "~18.2.0", + "@angular-devkit/core": "^18.2.0", + "@angular-devkit/schematics": "^18.2.0", + "@angular-eslint/builder": "^18.4.0", + "@angular/compiler": "^18.2.0", "@eslint-community/eslint-plugin-eslint-comments": "^4.4.0", "@eslint/js": ">=8.57.0 <9.15.0", "@o3r/eslint-plugin": "workspace:^", "@o3r/schematics": "workspace:^", - "@schematics/angular": "~18.2.0", + "@schematics/angular": "^18.2.0", "@stylistic/eslint-plugin": "^2.7.0", "@typescript-eslint/parser": "^8.0.0", "@typescript-eslint/types": "^8.0.0", @@ -54,17 +54,17 @@ "eslint-import-resolver-typescript": "^3.6.3", "eslint-plugin-import": "^2.31.0", "eslint-plugin-import-newlines": "^1.4.0", - "eslint-plugin-jest": "^28.0.0", + "eslint-plugin-jest": "^28.8.0", "eslint-plugin-jsdoc": "^48.11.0 || ^49.0.0 || ^50.0.0", "eslint-plugin-prefer-arrow": "^1.2.2", "eslint-plugin-unicorn": "^54.0.0 || ^55.0.0 || ^56.0.0", "eslint-plugin-unused-imports": "^4.1.4", "globals": "^15.9.0", "globby": "^11.1.0", - "jest": "~29.7.0", - "jsonc-eslint-parser": "~2.4.0", - "ts-node": "~10.9.2", - "typescript": "~5.5.4", + "jest": "^29.7.0", + "jsonc-eslint-parser": "^2.4.0", + "ts-node": "^10.9.2", + "typescript": "^5.5.4", "typescript-eslint": "^8.0.0" }, "devDependencies": { diff --git a/packages/@o3r/eslint-config/project.json b/packages/@o3r/eslint-config/project.json index 92b7b2bb26..e3560489f4 100644 --- a/packages/@o3r/eslint-config/project.json +++ b/packages/@o3r/eslint-config/project.json @@ -37,11 +37,7 @@ "options": { "script": "build" }, - "dependsOn": [], - "inputs": [ - "{projectRoot}/src/**/*", - "!{projectRoot}/**/*.spec.ts" - ] + "dependsOn": [] }, "prepare-build-builders": { "executor": "nx:run-script", diff --git a/packages/@o3r/eslint-plugin/package.json b/packages/@o3r/eslint-plugin/package.json index 6a8a68acd8..ab58b4af7d 100644 --- a/packages/@o3r/eslint-plugin/package.json +++ b/packages/@o3r/eslint-plugin/package.json @@ -45,12 +45,12 @@ } }, "peerDependencies": { - "@angular-devkit/schematics": "~18.2.0", - "@angular-eslint/template-parser": "~18.4.0", - "@angular-eslint/test-utils": "~18.4.0", - "@angular/compiler": "~18.2.0", - "eslint": "^8.57.0 || ~9.14.0", - "jsonc-eslint-parser": "~2.4.0", + "@angular-devkit/schematics": "^18.2.0", + "@angular-eslint/template-parser": "^18.4.0", + "@angular-eslint/test-utils": "^18.4.0", + "@angular/compiler": "^18.2.0", + "eslint": ">=8.57.0 <9.15.0", + "jsonc-eslint-parser": "^2.4.0", "yaml-eslint-parser": "^1.2.2" }, "devDependencies": { diff --git a/packages/@o3r/extractors/package.json b/packages/@o3r/extractors/package.json index ca3708aec1..8774bf2523 100644 --- a/packages/@o3r/extractors/package.json +++ b/packages/@o3r/extractors/package.json @@ -21,13 +21,13 @@ "prepare:publish": "prepare-publish ./dist" }, "peerDependencies": { - "@angular-devkit/architect": "~0.1802.0", - "@angular-devkit/core": "~18.2.0", - "@angular-devkit/schematics": "~18.2.0", + "@angular-devkit/architect": "^0.1802.0", + "@angular-devkit/core": "^18.2.0", + "@angular-devkit/schematics": "^18.2.0", "@o3r/core": "workspace:^", "@o3r/schematics": "workspace:^", "@o3r/telemetry": "workspace:^", - "@schematics/angular": "~18.2.0", + "@schematics/angular": "^18.2.0", "@yarnpkg/cli": "^4.0.0", "@yarnpkg/core": "^4.1.1", "@yarnpkg/fslib": "^3.1.0", @@ -36,7 +36,7 @@ "globby": "^11.1.0", "semver": "^7.5.2", "type-fest": "^4.10.2", - "typescript": "~5.5.4" + "typescript": "^5.5.4" }, "peerDependenciesMeta": { "@angular-devkit/schematics": { @@ -149,7 +149,7 @@ "type-fest": "^4.10.2", "typescript": "~5.5.4", "typescript-eslint": "~8.17.0", - "typescript-json-schema": "~0.65.0", + "typescript-json-schema": "^0.65.0", "zone.js": "~0.14.2" }, "engines": { diff --git a/packages/@o3r/forms/package.json b/packages/@o3r/forms/package.json index f99a4fd1a2..37edfb430c 100644 --- a/packages/@o3r/forms/package.json +++ b/packages/@o3r/forms/package.json @@ -20,15 +20,15 @@ }, "peerDependencies": { "@ama-sdk/core": "workspace:^", - "@angular-devkit/schematics": "~18.2.0", - "@angular/common": "~18.2.0", - "@angular/core": "~18.2.0", - "@angular/forms": "~18.2.0", - "@ngrx/entity": "~18.0.0", - "@ngrx/store": "~18.0.0", + "@angular-devkit/schematics": "^18.2.0", + "@angular/common": "^18.2.0", + "@angular/core": "^18.2.0", + "@angular/forms": "^18.2.0", + "@ngrx/entity": "^18.0.0", + "@ngrx/store": "^18.0.0", "@o3r/core": "workspace:^", "@o3r/schematics": "workspace:^", - "@schematics/angular": "~18.2.0", + "@schematics/angular": "^18.2.0", "rxjs": "^7.8.1" }, "peerDependenciesMeta": { diff --git a/packages/@o3r/localization/package.json b/packages/@o3r/localization/package.json index 605cb0d828..511dc5e9b9 100644 --- a/packages/@o3r/localization/package.json +++ b/packages/@o3r/localization/package.json @@ -31,23 +31,23 @@ "build": "yarn nx build localization" }, "peerDependencies": { - "@angular-devkit/architect": "~0.1802.0", - "@angular-devkit/core": "~18.2.0", - "@angular-devkit/schematics": "~18.2.0", - "@angular/cdk": "~18.2.0", - "@angular/cli": "~18.2.0", - "@angular/common": "~18.2.0", - "@angular/core": "~18.2.0", - "@angular/platform-browser-dynamic": "~18.2.0", + "@angular-devkit/architect": "^0.1802.0", + "@angular-devkit/core": "^18.2.0", + "@angular-devkit/schematics": "^18.2.0", + "@angular/cdk": "^18.2.0", + "@angular/cli": "^18.2.0", + "@angular/common": "^18.2.0", + "@angular/core": "^18.2.0", + "@angular/platform-browser-dynamic": "^18.2.0", "@formatjs/intl-numberformat": "^8.0.2", - "@ngrx/store": "~18.0.0", - "@ngx-translate/core": "~15.0.0", + "@ngrx/store": "^18.0.0", + "@ngx-translate/core": "^15.0.0", "@o3r/core": "workspace:^", "@o3r/dynamic-content": "workspace:^", "@o3r/extractors": "workspace:^", "@o3r/logger": "workspace:^", "@o3r/schematics": "workspace:^", - "@schematics/angular": "~18.2.0", + "@schematics/angular": "^18.2.0", "@yarnpkg/cli": "^4.3.1", "@yarnpkg/core": "^4.1.1", "@yarnpkg/fslib": "^3.1.0", @@ -55,11 +55,11 @@ "@yarnpkg/plugin-pack": "^4.0.0", "chokidar": "^3.5.2", "globby": "^11.1.0", - "intl-messageformat": "~10.7.0", + "intl-messageformat": "^10.7.0", "rxjs": "^7.8.1", "semver": "^7.5.2", "type-fest": "^4.10.2", - "typescript": "~5.5.4" + "typescript": "^5.5.4" }, "peerDependenciesMeta": { "@angular-devkit/core": { diff --git a/packages/@o3r/logger/package.json b/packages/@o3r/logger/package.json index 3ab3d7c24e..ab3df321d0 100644 --- a/packages/@o3r/logger/package.json +++ b/packages/@o3r/logger/package.json @@ -20,16 +20,16 @@ "prepare:publish": "prepare-publish ./dist" }, "peerDependencies": { - "@angular-devkit/schematics": "~18.2.0", - "@angular/core": "~18.2.0", - "@angular/platform-browser-dynamic": "~18.2.0", + "@angular-devkit/schematics": "^18.2.0", + "@angular/core": "^18.2.0", + "@angular/platform-browser-dynamic": "^18.2.0", "@fullstory/browser": "^2.0.0", - "@ngrx/store": "~18.0.0", + "@ngrx/store": "^18.0.0", "@o3r/core": "workspace:^", "@o3r/schematics": "workspace:^", - "@schematics/angular": "~18.2.0", - "logrocket": "~8.1.0", - "logrocket-ngrx": "~0.2.1", + "@schematics/angular": "^18.2.0", + "logrocket": "^8.1.0", + "logrocket-ngrx": "^0.2.1", "rxjs": "^7.8.1", "smartlook-client": "^9.0.0" }, @@ -110,7 +110,7 @@ "jest-preset-angular": "~14.2.0", "jsonc-eslint-parser": "~2.4.0", "logrocket": "~8.1.0", - "logrocket-ngrx": "~0.2.1", + "logrocket-ngrx": "^0.2.1", "ng-packagr": "~18.2.0", "nx": "~19.5.0", "rxjs": "^7.8.1", diff --git a/packages/@o3r/mobile/package.json b/packages/@o3r/mobile/package.json index daafc21cfc..21c37f090e 100644 --- a/packages/@o3r/mobile/package.json +++ b/packages/@o3r/mobile/package.json @@ -34,19 +34,19 @@ "winston": "^3.8.2" }, "peerDependencies": { - "@angular-devkit/schematics": "~18.2.0", - "@angular/common": "~18.2.0", - "@angular/core": "~18.2.0", + "@angular-devkit/schematics": "^18.2.0", + "@angular/common": "^18.2.0", + "@angular/core": "^18.2.0", "@capacitor/browser": "^6.0.0", "@capacitor/core": "^6.0.0", "@capacitor/device": "^6.0.0", "@capacitor/preferences": "^6.0.0", - "@ngrx/store": "~18.0.0", + "@ngrx/store": "^18.0.0", "@o3r/core": "workspace:^", "@o3r/logger": "workspace:^", "@o3r/schematics": "workspace:^", "@o3r/store-sync": "workspace:^", - "@schematics/angular": "~18.2.0", + "@schematics/angular": "^18.2.0", "fast-deep-equal": "^3.1.3", "rxjs": "^7.8.1" }, diff --git a/packages/@o3r/new-version/package.json b/packages/@o3r/new-version/package.json index d510c6f053..67eddf530c 100644 --- a/packages/@o3r/new-version/package.json +++ b/packages/@o3r/new-version/package.json @@ -23,7 +23,7 @@ "tslib": "^2.6.2" }, "peerDependencies": { - "@angular-devkit/schematics": "~18.2.0", + "@angular-devkit/schematics": "^18.2.0", "@o3r/schematics": "workspace:^" }, "peerDependenciesMeta": { diff --git a/packages/@o3r/pipeline/package.json b/packages/@o3r/pipeline/package.json index 249bf991f6..4bf47b39ad 100644 --- a/packages/@o3r/pipeline/package.json +++ b/packages/@o3r/pipeline/package.json @@ -39,7 +39,7 @@ "tslib": "^2.6.2" }, "peerDependencies": { - "@angular-devkit/schematics": "~18.2.0", + "@angular-devkit/schematics": "^18.2.0", "@o3r/schematics": "workspace:^", "@o3r/telemetry": "workspace:^", "type-fest": "^4.10.2" @@ -78,7 +78,7 @@ "@types/jest": "~29.5.2", "@types/js-yaml": "^4.0.5", "@types/node": "^20.0.0", - "@typescript-eslint/eslint-plugin": "^8.0.0", + "@typescript-eslint/eslint-plugin": "~8.17.0", "@typescript-eslint/parser": "~8.17.0", "@typescript-eslint/utils": "~8.17.0", "angular-eslint": "~18.4.0", diff --git a/packages/@o3r/routing/package.json b/packages/@o3r/routing/package.json index ffb9176bdf..5e0fd355cb 100644 --- a/packages/@o3r/routing/package.json +++ b/packages/@o3r/routing/package.json @@ -23,19 +23,19 @@ "prepare:publish": "prepare-publish ./dist" }, "peerDependencies": { - "@angular-devkit/schematics": "~18.2.0", - "@angular/common": "~18.2.0", - "@angular/core": "~18.2.0", - "@angular/platform-browser-dynamic": "~18.2.0", - "@angular/router": "~18.2.0", - "@ngrx/effects": "~18.0.0", - "@ngrx/entity": "~18.0.0", - "@ngrx/router-store": "~18.0.0", - "@ngrx/store": "~18.0.0", + "@angular-devkit/schematics": "^18.2.0", + "@angular/common": "^18.2.0", + "@angular/core": "^18.2.0", + "@angular/platform-browser-dynamic": "^18.2.0", + "@angular/router": "^18.2.0", + "@ngrx/effects": "^18.0.0", + "@ngrx/entity": "^18.0.0", + "@ngrx/router-store": "^18.0.0", + "@ngrx/store": "^18.0.0", "@o3r/core": "workspace:^", "@o3r/routing": "workspace:^", "@o3r/schematics": "workspace:^", - "@schematics/angular": "~18.2.0", + "@schematics/angular": "^18.2.0", "jasmine": "^5.0.0", "rxjs": "^7.8.1" }, diff --git a/packages/@o3r/rules-engine/package.json b/packages/@o3r/rules-engine/package.json index fd6f2c4cf8..f7121b792d 100644 --- a/packages/@o3r/rules-engine/package.json +++ b/packages/@o3r/rules-engine/package.json @@ -33,27 +33,27 @@ "prepare:publish": "prepare-publish ./dist" }, "peerDependencies": { - "@angular-devkit/architect": "~0.1802.0", - "@angular-devkit/core": "~18.2.0", - "@angular-devkit/schematics": "~18.2.0", - "@angular/common": "~18.2.0", - "@angular/core": "~18.2.0", - "@angular/platform-browser-dynamic": "~18.2.0", - "@ngrx/effects": "~18.0.0", - "@ngrx/entity": "~18.0.0", - "@ngrx/store": "~18.0.0", - "@ngx-translate/core": "~15.0.0", + "@angular-devkit/architect": "^0.1802.0", + "@angular-devkit/core": "^18.2.0", + "@angular-devkit/schematics": "^18.2.0", + "@angular/common": "^18.2.0", + "@angular/core": "^18.2.0", + "@angular/platform-browser-dynamic": "^18.2.0", + "@ngrx/effects": "^18.0.0", + "@ngrx/entity": "^18.0.0", + "@ngrx/store": "^18.0.0", + "@ngx-translate/core": "^15.0.0", "@o3r/core": "workspace:^", "@o3r/extractors": "workspace:^", "@o3r/logger": "workspace:^", "@o3r/schematics": "workspace:^", - "@schematics/angular": "~18.2.0", + "@schematics/angular": "^18.2.0", "globby": "^11.1.0", "jasmine": "^5.0.0", "jsonpath-plus": "^9.0.0 || ^10.0.0", "rxjs": "^7.8.1", - "typescript": "~5.5.4", - "typescript-json-schema": "~0.65.0" + "typescript": "^5.5.4", + "typescript-json-schema": "^0.65.0" }, "peerDependenciesMeta": { "@angular-devkit/core": { @@ -160,7 +160,7 @@ "type-fest": "^4.10.2", "typescript": "~5.5.4", "typescript-eslint": "~8.17.0", - "typescript-json-schema": "~0.65.0", + "typescript-json-schema": "^0.65.0", "unionfs": "~4.5.1", "zone.js": "~0.14.2" }, diff --git a/packages/@o3r/schematics/package.json b/packages/@o3r/schematics/package.json index 10cfac64a1..d820b498f1 100644 --- a/packages/@o3r/schematics/package.json +++ b/packages/@o3r/schematics/package.json @@ -26,16 +26,16 @@ "o3r-environment": "./dist/cli/environment.js" }, "peerDependencies": { - "@angular-devkit/architect": "~0.1802.0", - "@angular-devkit/core": "~18.2.0", - "@angular-devkit/schematics": "~18.2.0", - "@angular/cli": "~18.2.0", + "@angular-devkit/architect": "^0.1802.0", + "@angular-devkit/core": "^18.2.0", + "@angular-devkit/schematics": "^18.2.0", + "@angular/cli": "^18.2.0", "@o3r/telemetry": "workspace:^", - "@schematics/angular": "~18.2.0", - "eslint": "~9.14.0", + "@schematics/angular": "^18.2.0", + "eslint": "^9.14.0", "rxjs": "^7.8.1", "type-fest": "^4.10.2", - "typescript": "~5.5.4" + "typescript": "^5.5.4" }, "peerDependenciesMeta": { "@angular-devkit/architect": { diff --git a/packages/@o3r/schematics/src/rule-factories/ng-add/dependencies.spec.ts b/packages/@o3r/schematics/src/rule-factories/ng-add/dependencies.spec.ts new file mode 100644 index 0000000000..45f83ac927 --- /dev/null +++ b/packages/@o3r/schematics/src/rule-factories/ng-add/dependencies.spec.ts @@ -0,0 +1,128 @@ +import { + callRule, + EmptyTree, +} from '@angular-devkit/schematics'; +import { + UnitTestTree, +} from '@angular-devkit/schematics/testing'; +import { + NodeDependencyType, +} from '@schematics/angular/utility/dependencies'; +import { + lastValueFrom, +} from 'rxjs'; +import { + enforceTildeRange, + setupDependencies, +} from './dependencies'; + +describe('enforceTildeRange', () => { + test('should change caret range', () => { + expect(enforceTildeRange('^1.2.3')).toBe('~1.2.3'); + }); + + test('should change caret handle undefined', () => { + expect(enforceTildeRange()).not.toBeDefined(); + }); + + test('should not change pint range', () => { + expect(enforceTildeRange('1.2.3')).toBe('1.2.3'); + }); + + test('should change multi caret range', () => { + expect(enforceTildeRange('^1.2.3 | 1.0.0 | ^1.1.0')).toBe('~1.2.3 | 1.0.0 | ~1.1.0'); + }); +}); + +describe('setupDependencies', () => { + let initialTree: UnitTestTree; + + beforeEach(() => { + initialTree = new UnitTestTree(new EmptyTree()); + initialTree.create('package.json', JSON.stringify({ name: 'test-package', version: '0.0.0-test' })); + }); + + test('should apply enforceTildeRange when requested as option', async () => { + const logger = { debug: jest.fn(), warn: jest.fn() }; + const setup = setupDependencies({ + enforceTildeRange: true, + skipInstall: true, + dependencies: { + testDep: { + inManifest: [ + { + range: '^1.2.3', + types: [NodeDependencyType.Dev] + } + ] + } + } + }); + const tree = await lastValueFrom(callRule(setup, initialTree, { logger } as any)); + const pck = JSON.parse(tree.readText('package.json')); + expect(pck.devDependencies.testDep).toBe('~1.2.3'); + }); + + test('should apply enforceTildeRange per default', async () => { + const logger = { debug: jest.fn(), warn: jest.fn() }; + const setup = setupDependencies({ + skipInstall: true, + dependencies: { + testDep: { + inManifest: [ + { + range: '^1.2.3', + types: [NodeDependencyType.Dev] + } + ] + } + } + }); + const tree = await lastValueFrom(callRule(setup, initialTree, { logger } as any)); + const pck = JSON.parse(tree.readText('package.json')); + expect(pck.devDependencies.testDep).toBe('~1.2.3'); + }); + + test('should apply enforceTildeRange when requested specifically', async () => { + const logger = { debug: jest.fn(), warn: jest.fn() }; + const setup = setupDependencies({ + enforceTildeRange: false, + skipInstall: true, + dependencies: { + testDep: { + enforceTildeRange: true, + inManifest: [ + { + range: '^1.2.3', + types: [NodeDependencyType.Dev] + } + ] + } + } + }); + const tree = await lastValueFrom(callRule(setup, initialTree, { logger } as any)); + const pck = JSON.parse(tree.readText('package.json')); + expect(pck.devDependencies.testDep).toBe('~1.2.3'); + }); + + test('should not apply enforceTildeRange when set to false', async () => { + const logger = { debug: jest.fn(), warn: jest.fn() }; + const setup = setupDependencies({ + enforceTildeRange: false, + skipInstall: true, + dependencies: { + testDep: { + inManifest: [ + { + range: '^1.2.3', + types: [NodeDependencyType.Dev] + } + ] + } + } + }); + const tree = await lastValueFrom(callRule(setup, initialTree, { logger } as any)); + const pck = JSON.parse(tree.readText('package.json')); + expect(pck.devDependencies.testDep).toBe('^1.2.3'); + }); +}); diff --git a/packages/@o3r/schematics/src/rule-factories/ng-add/dependencies.ts b/packages/@o3r/schematics/src/rule-factories/ng-add/dependencies.ts index 6a05d51b67..66d5c490a4 100644 --- a/packages/@o3r/schematics/src/rule-factories/ng-add/dependencies.ts +++ b/packages/@o3r/schematics/src/rule-factories/ng-add/dependencies.ts @@ -70,6 +70,11 @@ export interface DependencyToAdd { ngAddOptions?: NgAddSchematicOptions; /** Determine if the dependency require to be installed */ requireInstall?: boolean; + /** + * Enforce the usage of tilde instead of caret in a dependency range + * If not specified, the context option value will be used + */ + enforceTildeRange?: boolean; } export interface SetupDependenciesOptions { @@ -98,6 +103,11 @@ export interface SetupDependenciesOptions { scheduleTaskCallback?: (taskIds?: TaskId[]) => void; /** Working directory for the installation process only */ workingDirectory?: string; + /** + * Enforce the usage of tilde instead of caret in a dependency range + * @default true + */ + enforceTildeRange?: boolean; } /** Result of the Setup Dependencies task scheduling process */ @@ -142,6 +152,14 @@ export const getPackageInstallConfig = (packageJsonPath: string, tree: Tree, pro }; }; +/** + * Replace the caret ranges by tilde ranges + * @param range Range to replace + */ +export const enforceTildeRange = (range?: string) => { + return range?.replace(/\^/g, '~'); +}; + /** * Setup dependency to a repository. * Will run manually the ngAdd schematics according to the parameters and install the packages if required @@ -163,6 +181,10 @@ export const setupDependencies = (options: SetupDependenciesOptions): Rule => { const packageJsonContent = tree.readJson(packageJsonPath) as PackageJson; dependency.inManifest.forEach(({ range, types }) => { + const isTildeRangeEnforced = dependency.enforceTildeRange === undefined ? (options.enforceTildeRange === undefined || options.enforceTildeRange) : dependency.enforceTildeRange; + if (isTildeRangeEnforced) { + range = enforceTildeRange(range); + } (types || [NodeDependencyType.Default]).forEach((depType) => { if (packageJsonContent[depType]?.[packageToInstall]) { if (range && semver.validRange(range)) { diff --git a/packages/@o3r/schematics/src/utility/matching-peers.spec.ts b/packages/@o3r/schematics/src/utility/matching-peers.spec.ts new file mode 100644 index 0000000000..911542412f --- /dev/null +++ b/packages/@o3r/schematics/src/utility/matching-peers.spec.ts @@ -0,0 +1,65 @@ +import { + getPeerDepWithPattern, +} from './matching-peers'; + +describe('getPeerDepWithPattern', () => { + test('should return peer dependency', () => { + const pck = { + name: 'test', + version: '0.0.0-test', + peerDependencies: { + testPackage: '~1.2.3' + } + }; + + const peerDeps = getPeerDepWithPattern('any-path.json', ['testPackage'], jest.fn().mockImplementation(() => JSON.stringify(pck))); + expect(peerDeps.matchingPackagesVersions).toEqual({ testPackage: '~1.2.3' }); + }); + + test('should default to o3r peer dependency', () => { + const pck = { + name: 'test', + version: '0.0.0-test', + peerDependencies: { + '@o3r/test': '~1.2.3' + } + }; + + const peerDeps = getPeerDepWithPattern('any-path.json', undefined, jest.fn().mockImplementation(() => JSON.stringify(pck))); + expect(peerDeps.matchingPackagesVersions).toEqual({ '@o3r/test': '~1.2.3' }); + }); + + test('should ignore peer dependency when optional', () => { + const pck = { + name: 'test', + version: '0.0.0-test', + peerDependencies: { + testPackage: '~1.2.3' + }, + peerDependenciesMeta: { + testPackage: { + optional: true + } + } + }; + + const peerDeps = getPeerDepWithPattern('any-path.json', ['testPackage'], jest.fn().mockImplementation(() => JSON.stringify(pck))); + expect(peerDeps.matchingPackagesVersions).toEqual({}); + }); + + test('should return generator dependency if found', () => { + const pck = { + name: 'test', + version: '0.0.0-test', + peerDependencies: { + testPackage: '~1.2.3' + }, + generatorDependencies: { + testPackage: '~3.2.1' + } + }; + + const peerDeps = getPeerDepWithPattern('any-path.json', ['testPackage'], jest.fn().mockImplementation(() => JSON.stringify(pck))); + expect(peerDeps.matchingPackagesVersions).toEqual({ testPackage: '~3.2.1' }); + }); +}); diff --git a/packages/@o3r/schematics/src/utility/matching-peers.ts b/packages/@o3r/schematics/src/utility/matching-peers.ts index a94e15957d..71e550a2dd 100644 --- a/packages/@o3r/schematics/src/utility/matching-peers.ts +++ b/packages/@o3r/schematics/src/utility/matching-peers.ts @@ -7,9 +7,10 @@ import type { * Retrieve the peer dependencies with the given pattern from the given package json file * @param packageJsonPath * @param pattern + * @param readFileSync */ -export function getPeerDepWithPattern(packageJsonPath: string, pattern: RegExp | string[] = /^@(otter|o3r|ama-sdk)/) { - const packageJsonContent: PackageJson = JSON.parse(fs.readFileSync(packageJsonPath, { encoding: 'utf8' })); +export function getPeerDepWithPattern(packageJsonPath: string, pattern: RegExp | string[] = /^@(otter|o3r|ama-sdk)/, readFileSync = fs.readFileSync) { + const packageJsonContent: PackageJson & { generatorDependencies?: Record } = JSON.parse(readFileSync(packageJsonPath, { encoding: 'utf8' })); const packageName = packageJsonContent.name; const packageVersion = packageJsonContent.version; const optionalPackages = Object.entries(packageJsonContent.peerDependenciesMeta || {}) @@ -19,6 +20,7 @@ export function getPeerDepWithPattern(packageJsonPath: string, pattern: RegExp | const matchingPackagesVersions = Object.fromEntries( Object.entries(packageJsonContent.peerDependencies || {}) .filter(([peerDep]) => (Array.isArray(pattern) ? pattern.includes(peerDep) : pattern.test(peerDep)) && !optionalPackages.includes(peerDep)) + .map(([peerDep, range]) => ([peerDep, packageJsonContent.generatorDependencies?.[peerDep] || range])) ); const matchingPackages = Object.keys(matchingPackagesVersions); diff --git a/packages/@o3r/store-sync/package.json b/packages/@o3r/store-sync/package.json index 14eb3e8861..9aa81415d9 100644 --- a/packages/@o3r/store-sync/package.json +++ b/packages/@o3r/store-sync/package.json @@ -23,14 +23,14 @@ }, "peerDependencies": { "@ama-sdk/core": "workspace:^", - "@angular-devkit/core": "~18.2.0", - "@angular-devkit/schematics": "~18.2.0", - "@ngrx/entity": "~18.0.0", - "@ngrx/store": "~18.0.0", + "@angular-devkit/core": "^18.2.0", + "@angular-devkit/schematics": "^18.2.0", + "@ngrx/entity": "^18.0.0", + "@ngrx/store": "^18.0.0", "@o3r/core": "workspace:^", "@o3r/logger": "workspace:^", "@o3r/schematics": "workspace:^", - "@schematics/angular": "~18.2.0", + "@schematics/angular": "^18.2.0", "fast-deep-equal": "^3.1.3", "rxjs": "^7.8.1" }, diff --git a/packages/@o3r/storybook/package.json b/packages/@o3r/storybook/package.json index 97242aa68a..b8b19a6011 100644 --- a/packages/@o3r/storybook/package.json +++ b/packages/@o3r/storybook/package.json @@ -48,10 +48,10 @@ "tslib": "^2.6.2" }, "peerDependencies": { - "@angular-devkit/core": "~18.2.0", - "@angular-devkit/schematics": "~18.2.0", - "@angular/core": "~18.2.0", - "@ngrx/store": "~18.0.0", + "@angular-devkit/core": "^18.2.0", + "@angular-devkit/schematics": "^18.2.0", + "@angular/core": "^18.2.0", + "@ngrx/store": "^18.0.0", "@o3r/components": "workspace:^", "@o3r/configuration": "workspace:^", "@o3r/core": "workspace:^", @@ -59,13 +59,13 @@ "@o3r/logger": "workspace:^", "@o3r/schematics": "workspace:^", "@o3r/styling": "workspace:^", - "@schematics/angular": "~18.2.0", + "@schematics/angular": "^18.2.0", "@storybook/addons": "^7.5.3", "@storybook/angular": "^8.0.0", "@storybook/api": "^7.5.3", "@storybook/components": "^8.0.0", "rxjs": "^7.8.1", - "typescript": "~5.5.4" + "typescript": "^5.5.4" }, "peerDependenciesMeta": { "@angular-devkit/schematics": { diff --git a/packages/@o3r/stylelint-plugin/package.json b/packages/@o3r/stylelint-plugin/package.json index b8581f4364..0618707717 100644 --- a/packages/@o3r/stylelint-plugin/package.json +++ b/packages/@o3r/stylelint-plugin/package.json @@ -27,9 +27,9 @@ "tslib": "^2.6.2" }, "peerDependencies": { - "@angular-devkit/schematics": "~18.2.0", + "@angular-devkit/schematics": "^18.2.0", "@o3r/schematics": "workspace:^", - "@schematics/angular": "~18.2.0", + "@schematics/angular": "^18.2.0", "postcss": "^8.4.5", "postcss-scss": "^4.0.9", "stylelint": "^16.0.2" diff --git a/packages/@o3r/styling/package.json b/packages/@o3r/styling/package.json index 8635c576c2..1ef112bc08 100644 --- a/packages/@o3r/styling/package.json +++ b/packages/@o3r/styling/package.json @@ -36,19 +36,19 @@ } }, "peerDependencies": { - "@angular-devkit/architect": "~0.1802.0", - "@angular-devkit/core": "~18.2.0", - "@angular-devkit/schematics": "~18.2.0", - "@angular/cdk": "~18.2.0", - "@angular/common": "~18.2.0", - "@angular/core": "~18.2.0", - "@angular/material": "~18.2.0", + "@angular-devkit/architect": "^0.1802.0", + "@angular-devkit/core": "^18.2.0", + "@angular-devkit/schematics": "^18.2.0", + "@angular/cdk": "^18.2.0", + "@angular/common": "^18.2.0", + "@angular/core": "^18.2.0", + "@angular/material": "^18.2.0", "@o3r/core": "workspace:^", "@o3r/dynamic-content": "workspace:^", "@o3r/extractors": "workspace:^", "@o3r/logger": "workspace:^", "@o3r/schematics": "workspace:^", - "@schematics/angular": "~18.2.0", + "@schematics/angular": "^18.2.0", "@yarnpkg/cli": "^4.3.1", "@yarnpkg/core": "^4.1.1", "@yarnpkg/fslib": "^3.1.0", @@ -57,9 +57,9 @@ "chokidar": "^3.5.2", "globby": "^11.1.0", "rxjs": "^7.8.1", - "sass": "~1.81.0", + "sass": "^1.81.0", "semver": "^7.5.2", - "typescript": "~5.5.4" + "typescript": "^5.5.4" }, "peerDependenciesMeta": { "@angular-devkit/architect": { diff --git a/packages/@o3r/telemetry/package.json b/packages/@o3r/telemetry/package.json index d28a1ee43d..a702083fb8 100644 --- a/packages/@o3r/telemetry/package.json +++ b/packages/@o3r/telemetry/package.json @@ -20,9 +20,9 @@ "tslib": "^2.6.2" }, "peerDependencies": { - "@angular-devkit/architect": "~0.1802.0", - "@angular-devkit/core": "~18.2.0", - "@angular-devkit/schematics": "~18.2.0", + "@angular-devkit/architect": "^0.1802.0", + "@angular-devkit/core": "^18.2.0", + "@angular-devkit/schematics": "^18.2.0", "rxjs": "^7.8.1" }, "peerDependenciesMeta": { diff --git a/packages/@o3r/test-helpers/package.json b/packages/@o3r/test-helpers/package.json index 328d7cd234..13526ecae4 100644 --- a/packages/@o3r/test-helpers/package.json +++ b/packages/@o3r/test-helpers/package.json @@ -22,10 +22,10 @@ } }, "peerDependencies": { - "jest-environment-node": "~29.7.0", - "memfs": "~4.14.0", + "jest-environment-node": "^29.7.0", + "memfs": "^4.14.0", "pid-from-port": "^1.1.3", - "unionfs": "~4.5.1" + "unionfs": "^4.5.1" }, "dependencies": { "@angular-devkit/schematics": "~18.2.0", diff --git a/packages/@o3r/testing/package.json b/packages/@o3r/testing/package.json index 89fa11a76f..8cc386cf00 100644 --- a/packages/@o3r/testing/package.json +++ b/packages/@o3r/testing/package.json @@ -97,29 +97,29 @@ }, "peerDependencies": { "@amadeus-it-group/kassette": "^1.7.0", - "@angular-devkit/core": "~18.2.0", - "@angular-devkit/schematics": "~18.2.0", - "@angular/animations": "~18.2.0", - "@angular/cli": "~18.2.0", - "@angular/common": "~18.2.0", - "@angular/core": "~18.2.0", - "@angular/forms": "~18.2.0", - "@angular/platform-browser": "~18.2.0", + "@angular-devkit/core": "^18.2.0", + "@angular-devkit/schematics": "^18.2.0", + "@angular/animations": "^18.2.0", + "@angular/cli": "^18.2.0", + "@angular/common": "^18.2.0", + "@angular/core": "^18.2.0", + "@angular/forms": "^18.2.0", + "@angular/platform-browser": "^18.2.0", "@material/slider": "^14.0.0", - "@ngrx/store": "~18.0.0", - "@ngx-translate/core": "~15.0.0", + "@ngrx/store": "^18.0.0", + "@ngx-translate/core": "^15.0.0", "@o3r/core": "workspace:^", "@o3r/localization": "workspace:^", "@o3r/schematics": "workspace:^", - "@playwright/test": "~1.49.0", - "@schematics/angular": "~18.2.0", + "@playwright/test": "^1.49.0", + "@schematics/angular": "^18.2.0", "pixelmatch": "^5.2.1", "pngjs": "^7.0.0", "protractor": "^7.0.0", "rxjs": "^7.8.1", "temporal-polyfill": "^0.2.0", "type-fest": "^4.10.2", - "typescript": "~5.5.4" + "typescript": "^5.5.4" }, "peerDependenciesMeta": { "@amadeus-it-group/kassette": { diff --git a/packages/@o3r/third-party/package.json b/packages/@o3r/third-party/package.json index a10c25ab5e..6839333ba9 100644 --- a/packages/@o3r/third-party/package.json +++ b/packages/@o3r/third-party/package.json @@ -24,12 +24,12 @@ "uuid": "^10.0.0" }, "peerDependencies": { - "@angular-devkit/schematics": "~18.2.0", + "@angular-devkit/schematics": "^18.2.0", "@o3r/core": "workspace:^", "@o3r/schematics": "workspace:^", - "@schematics/angular": "~18.2.0", + "@schematics/angular": "^18.2.0", "rxjs": "^7.8.1", - "typescript": "~5.5.4" + "typescript": "^5.5.4" }, "peerDependenciesMeta": { "@angular-devkit/schematics": { diff --git a/packages/@o3r/workspace/package.json b/packages/@o3r/workspace/package.json index ed7ac30bb2..ced1088f6e 100644 --- a/packages/@o3r/workspace/package.json +++ b/packages/@o3r/workspace/package.json @@ -22,17 +22,17 @@ "main": "./dist/src/public_api.js", "types": "./dist/src/public_api.d.ts", "peerDependencies": { - "@angular-devkit/architect": "~0.1802.0", - "@angular-devkit/core": "~18.2.0", - "@angular-devkit/schematics": "~18.2.0", - "@angular/cli": "~18.2.0", - "@angular/common": "~18.2.0", - "@angular/compiler-cli": "~18.2.0", - "@angular/core": "~18.2.0", + "@angular-devkit/architect": "^0.1802.0", + "@angular-devkit/core": "^18.2.0", + "@angular-devkit/schematics": "^18.2.0", + "@angular/cli": "^18.2.0", + "@angular/common": "^18.2.0", + "@angular/compiler-cli": "^18.2.0", + "@angular/core": "^18.2.0", "@o3r/telemetry": "workspace:^", - "@schematics/angular": "~18.2.0", + "@schematics/angular": "^18.2.0", "type-fest": "^4.10.2", - "typescript": "~5.5.4" + "typescript": "^5.5.4" }, "peerDependenciesMeta": { "@angular/cli": { diff --git a/packages/@o3r/workspace/schematics/application/index.ts b/packages/@o3r/workspace/schematics/application/index.ts index 198f2d3639..daa643b217 100644 --- a/packages/@o3r/workspace/schematics/application/index.ts +++ b/packages/@o3r/workspace/schematics/application/index.ts @@ -17,6 +17,7 @@ import { import { createSchematicWithMetricsIfInstalled, type DependencyToAdd, + enforceTildeRange, getPackagesBaseRootFolder, getWorkspaceConfig, isNxContext, @@ -54,6 +55,7 @@ function generateApplicationFn(options: NgGenerateApplicationSchema): Rule { return mergeWith(apply(url('./templates'), [ template({ ...options, + enforceTildeRange, name: packageJsonName, rootDependencies }), diff --git a/packages/@o3r/workspace/schematics/application/templates/package.json.template b/packages/@o3r/workspace/schematics/application/templates/package.json.template index 7fdba4682c..50414d152c 100644 --- a/packages/@o3r/workspace/schematics/application/templates/package.json.template +++ b/packages/@o3r/workspace/schematics/application/templates/package.json.template @@ -9,21 +9,21 @@ }, "private": true, "dependencies": { - "@angular/animations": "<%= rootDependencies['@angular/animations'] || rootDependencies['@angular/core'] || 'latest' %>", - "@angular/common": "<%= rootDependencies['@angular/common'] || rootDependencies['@angular/core'] || 'latest' %>", - "@angular/compiler": "<%= rootDependencies['@angular/compiler'] || rootDependencies['@angular/core'] || 'latest' %>", - "@angular/core": "<%= rootDependencies['@angular/core'] || 'latest' %>", - "@angular/forms": "<%= rootDependencies['@angular/forms'] || rootDependencies['@angular/core'] || 'latest' %>", - "@angular/platform-browser": "<%= rootDependencies['@angular/platform-browser'] || rootDependencies['@angular/core'] || 'latest' %>", - "@angular/platform-browser-dynamic": "<%= rootDependencies['@angular/platform-browser-dynamic'] || rootDependencies['@angular/core'] || 'latest' %>", - "@angular/router": "<%= rootDependencies['@angular/router'] || rootDependencies['@angular/core'] || 'latest' %>", - "rxjs": "<%= rootDependencies['rxjs'] || 'latest' %>", - "tslib": "<%= rootDependencies['tslib'] || 'latest' %>", - "zone.js": "<%= rootDependencies['zone.js'] || 'latest' %>" + "@angular/animations": "<%= enforceTildeRange(rootDependencies['@angular/animations'] || rootDependencies['@angular/core'] || 'latest') %>", + "@angular/common": "<%= enforceTildeRange(rootDependencies['@angular/common'] || rootDependencies['@angular/core'] || 'latest') %>", + "@angular/compiler": "<%= enforceTildeRange(rootDependencies['@angular/compiler'] || rootDependencies['@angular/core'] || 'latest') %>", + "@angular/core": "<%= enforceTildeRange(rootDependencies['@angular/core'] || 'latest') %>", + "@angular/forms": "<%= enforceTildeRange(rootDependencies['@angular/forms'] || rootDependencies['@angular/core'] || 'latest') %>", + "@angular/platform-browser": "<%= enforceTildeRange(rootDependencies['@angular/platform-browser'] || rootDependencies['@angular/core'] || 'latest') %>", + "@angular/platform-browser-dynamic": "<%= enforceTildeRange(rootDependencies['@angular/platform-browser-dynamic'] || rootDependencies['@angular/core'] || 'latest') %>", + "@angular/router": "<%= enforceTildeRange(rootDependencies['@angular/router'] || rootDependencies['@angular/core'] || 'latest') %>", + "rxjs": "<%= enforceTildeRange(rootDependencies['rxjs'] || 'latest') %>", + "tslib": "<%= enforceTildeRange(rootDependencies['tslib'] || 'latest') %>", + "zone.js": "<%= enforceTildeRange(rootDependencies['zone.js'] || 'latest') %>" }, "devDependencies": { - "@angular/cli": "<%= rootDependencies['@angular/cli'] || 'latest' %>", - "@angular/compiler-cli": "<%= rootDependencies['@angular/compiler-cli'] || rootDependencies['@angular/cli'] || 'latest' %>", - "typescript": "<%= rootDependencies['typescript'] || 'latest' %>" + "@angular/cli": "<%= enforceTildeRange(rootDependencies['@angular/cli'] || 'latest') %>", + "@angular/compiler-cli": "<%= enforceTildeRange(rootDependencies['@angular/compiler-cli'] || rootDependencies['@angular/cli'] || 'latest') %>", + "typescript": "<%= enforceTildeRange(rootDependencies['typescript'] || 'latest') %>" } } diff --git a/packages/@o3r/workspace/schematics/library/rules/shared.ts b/packages/@o3r/workspace/schematics/library/rules/shared.ts index 2307fd7714..9a985dd3de 100644 --- a/packages/@o3r/workspace/schematics/library/rules/shared.ts +++ b/packages/@o3r/workspace/schematics/library/rules/shared.ts @@ -3,6 +3,7 @@ import type { Rule, } from '@angular-devkit/schematics'; import { + enforceTildeRange, getPackageManagerRunner, getWorkspaceConfig, } from '@o3r/schematics'; @@ -43,34 +44,36 @@ export function updatePackageDependenciesFactory( packageJson.devDependencies = { ...packageJson.devDependencies, - '@angular-devkit/build-angular': o3rCorePackageJson.peerDependencies!['@angular-devkit/core'], - '@angular-devkit/core': o3rCorePackageJson.peerDependencies!['@angular-devkit/core'], - '@angular-eslint/eslint-plugin': o3rCorePackageJson.generatorDependencies!['@angular-eslint/eslint-plugin'], - '@angular/cli': packageJson.peerDependencies['@angular/common'], - '@angular/common': packageJson.peerDependencies['@angular/common'], - '@angular/compiler': packageJson.peerDependencies['@angular/common'], - '@angular/compiler-cli': packageJson.peerDependencies['@angular/common'], - '@angular/core': packageJson.peerDependencies['@angular/common'], - '@angular/platform-browser': packageJson.peerDependencies['@angular/common'], - '@angular/platform-browser-dynamic': packageJson.peerDependencies['@angular/common'], - '@schematics/angular': o3rCorePackageJson.peerDependencies!['@schematics/angular'], - '@types/jest': o3rCorePackageJson.generatorDependencies!['@types/jest'], - '@typescript-eslint/eslint-plugin': o3rCorePackageJson.generatorDependencies!['@typescript-eslint/parser'], - '@typescript-eslint/parser': o3rCorePackageJson.generatorDependencies!['@typescript-eslint/parser'], - 'cpy-cli': o3rCorePackageJson.generatorDependencies!['cpy-cli'], - eslint: o3rCorePackageJson.generatorDependencies!.eslint, - 'eslint-import-resolver-node': o3rCorePackageJson.generatorDependencies!['eslint-import-resolver-node'], - 'eslint-plugin-jest': o3rCorePackageJson.generatorDependencies!['eslint-plugin-jest'], - 'eslint-plugin-jsdoc': o3rCorePackageJson.generatorDependencies!['eslint-plugin-jsdoc'], - 'eslint-plugin-prefer-arrow': o3rCorePackageJson.generatorDependencies!['eslint-plugin-prefer-arrow'], - 'eslint-plugin-unicorn': o3rCorePackageJson.generatorDependencies!['eslint-plugin-unicorn'], - jest: o3rCorePackageJson.generatorDependencies!.jest, - 'jest-environment-jsdom': o3rCorePackageJson.generatorDependencies!.jest, - 'jest-junit': o3rCorePackageJson.generatorDependencies!['jest-junit'], - 'jest-preset-angular': o3rCorePackageJson.generatorDependencies!['jest-preset-angular'], - rxjs: o3rCorePackageJson.peerDependencies!.rxjs, - typescript: o3rCorePackageJson.peerDependencies!.typescript, - 'zone.js': o3rCorePackageJson.generatorDependencies!['zone.js'] + ...Object.fromEntries(Object.entries({ + '@angular-devkit/build-angular': o3rCorePackageJson.peerDependencies!['@angular-devkit/core'], + '@angular-devkit/core': o3rCorePackageJson.peerDependencies!['@angular-devkit/core'], + '@angular-eslint/eslint-plugin': o3rCorePackageJson.generatorDependencies!['@angular-eslint/eslint-plugin'], + '@angular/cli': packageJson.peerDependencies['@angular/common'], + '@angular/common': packageJson.peerDependencies['@angular/common'], + '@angular/compiler': packageJson.peerDependencies['@angular/common'], + '@angular/compiler-cli': packageJson.peerDependencies['@angular/common'], + '@angular/core': packageJson.peerDependencies['@angular/common'], + '@angular/platform-browser': packageJson.peerDependencies['@angular/common'], + '@angular/platform-browser-dynamic': packageJson.peerDependencies['@angular/common'], + '@schematics/angular': o3rCorePackageJson.peerDependencies!['@schematics/angular'], + '@types/jest': o3rCorePackageJson.generatorDependencies!['@types/jest'], + '@typescript-eslint/eslint-plugin': o3rCorePackageJson.generatorDependencies!['@typescript-eslint/parser'], + '@typescript-eslint/parser': o3rCorePackageJson.generatorDependencies!['@typescript-eslint/parser'], + 'cpy-cli': o3rCorePackageJson.generatorDependencies!['cpy-cli'], + eslint: o3rCorePackageJson.generatorDependencies!.eslint, + 'eslint-import-resolver-node': o3rCorePackageJson.generatorDependencies!['eslint-import-resolver-node'], + 'eslint-plugin-jest': o3rCorePackageJson.generatorDependencies!['eslint-plugin-jest'], + 'eslint-plugin-jsdoc': o3rCorePackageJson.generatorDependencies!['eslint-plugin-jsdoc'], + 'eslint-plugin-prefer-arrow': o3rCorePackageJson.generatorDependencies!['eslint-plugin-prefer-arrow'], + 'eslint-plugin-unicorn': o3rCorePackageJson.generatorDependencies!['eslint-plugin-unicorn'], + jest: o3rCorePackageJson.generatorDependencies!.jest, + 'jest-environment-jsdom': o3rCorePackageJson.generatorDependencies!.jest, + 'jest-junit': o3rCorePackageJson.generatorDependencies!['jest-junit'], + 'jest-preset-angular': o3rCorePackageJson.generatorDependencies!['jest-preset-angular'], + rxjs: o3rCorePackageJson.peerDependencies!.rxjs, + typescript: o3rCorePackageJson.peerDependencies!.typescript, + 'zone.js': o3rCorePackageJson.generatorDependencies!['zone.js'] + }).map(([key, range]) => ([key, enforceTildeRange(range)]))) }; tree.overwrite(path.posix.join(targetPath, 'package.json'), JSON.stringify(packageJson, null, 2)); return tree; diff --git a/tools/@o3r/build-helpers/package.json b/tools/@o3r/build-helpers/package.json index c78a7ed9f4..4fca26aa73 100644 --- a/tools/@o3r/build-helpers/package.json +++ b/tools/@o3r/build-helpers/package.json @@ -34,7 +34,7 @@ "minimist": "^1.2.6" }, "peerDependencies": { - "typescript": "~5.5.4" + "typescript": "^5.5.4" }, "devDependencies": { "@eslint-community/eslint-plugin-eslint-comments": "^4.4.0", diff --git a/tools/@o3r/workspace-helpers/package.json b/tools/@o3r/workspace-helpers/package.json index 94c3ebbdd6..748cf863e6 100644 --- a/tools/@o3r/workspace-helpers/package.json +++ b/tools/@o3r/workspace-helpers/package.json @@ -25,14 +25,14 @@ "minimist": "^1.2.6" }, "peerDependencies": { - "typescript": "~5.5.4" + "typescript": "^5.5.4" }, "devDependencies": { "@nx/eslint-plugin": "~19.5.0", "@o3r/eslint-plugin": "workspace:^", "@stylistic/eslint-plugin-ts": "~2.7.0", "@types/node": "^20.0.0", - "@typescript-eslint/eslint-plugin": "^8.0.0", + "@typescript-eslint/eslint-plugin": "~8.17.0", "@typescript-eslint/parser": "~8.17.0", "@typescript-eslint/utils": "~8.17.0", "eslint": "~9.14.0", diff --git a/tools/github-actions/audit/package.json b/tools/github-actions/audit/package.json index c62519ae6e..6e57557ce8 100644 --- a/tools/github-actions/audit/package.json +++ b/tools/github-actions/audit/package.json @@ -21,7 +21,7 @@ "tslib": "^2.6.2" }, "peerDependencies": { - "audit-types": "~0.6.0" + "audit-types": "^0.6.0" }, "peerDependenciesMeta": { "audit-types": { @@ -39,7 +39,7 @@ "@typescript-eslint/parser": "~8.17.0", "@vercel/ncc": "~0.38.0", "angular-eslint": "~18.4.0", - "audit-types": "~0.6.0", + "audit-types": "^0.6.0", "eslint": "~9.14.0", "eslint-plugin-import": "^2.31.0", "eslint-plugin-import-newlines": "^1.4.0", diff --git a/yarn.lock b/yarn.lock index 15ac117585..d428ba8c31 100644 --- a/yarn.lock +++ b/yarn.lock @@ -324,13 +324,13 @@ __metadata: zone.js: "npm:~0.14.2" peerDependencies: "@ama-sdk/core": "workspace:^" - "@angular-devkit/schematics": ~18.2.0 - "@angular/cli": ~18.2.0 - "@angular/common": ~18.2.0 + "@angular-devkit/schematics": ^18.2.0 + "@angular/cli": ^18.2.0 + "@angular/common": ^18.2.0 "@o3r/schematics": "workspace:^" - "@schematics/angular": ~18.2.0 + "@schematics/angular": ^18.2.0 rxjs: ^7.8.1 - typescript: ~5.5.4 + typescript: ^5.5.4 peerDependenciesMeta: "@angular-devkit/schematics": optional: true @@ -403,12 +403,12 @@ __metadata: zone.js: "npm:~0.14.2" peerDependencies: "@ama-sdk/core": "workspace:^" - "@angular-devkit/schematics": ~18.2.0 - "@angular/cli": ~18.2.0 - "@angular/common": ~18.2.0 + "@angular-devkit/schematics": ^18.2.0 + "@angular/cli": ^18.2.0 + "@angular/common": ^18.2.0 "@o3r/schematics": "workspace:^" - "@schematics/angular": ~18.2.0 - typescript: ~5.5.4 + "@schematics/angular": ^18.2.0 + typescript: ^5.5.4 peerDependenciesMeta: "@angular-devkit/schematics": optional: true @@ -482,13 +482,13 @@ __metadata: zone.js: "npm:~0.14.2" peerDependencies: "@ama-sdk/core": "workspace:^" - "@angular-devkit/schematics": ~18.2.0 - "@angular/cli": ~18.2.0 - "@angular/common": ~18.2.0 + "@angular-devkit/schematics": ^18.2.0 + "@angular/cli": ^18.2.0 + "@angular/common": ^18.2.0 "@o3r/schematics": "workspace:^" - "@schematics/angular": ~18.2.0 + "@schematics/angular": ^18.2.0 isomorphic-fetch: ^3.0.0 - typescript: ~5.5.4 + typescript: ^5.5.4 peerDependenciesMeta: "@angular-devkit/schematics": optional: true @@ -562,14 +562,14 @@ __metadata: uuid: "npm:^10.0.0" zone.js: "npm:~0.14.2" peerDependencies: - "@angular-devkit/schematics": ~18.2.0 - "@angular/cli": ~18.2.0 - "@angular/common": ~18.2.0 + "@angular-devkit/schematics": ^18.2.0 + "@angular/cli": ^18.2.0 + "@angular/common": ^18.2.0 "@o3r/schematics": "workspace:^" - "@schematics/angular": ~18.2.0 + "@schematics/angular": ^18.2.0 isomorphic-fetch: ^3.0.0 rxjs: ^7.8.1 - typescript: ~5.5.4 + typescript: ^5.5.4 peerDependenciesMeta: "@angular-devkit/schematics": optional: true @@ -724,11 +724,11 @@ __metadata: typescript-eslint: "npm:~8.17.0" peerDependencies: "@ama-sdk/core": "workspace:^" - "@angular-devkit/core": ~18.2.0 + "@angular-devkit/core": ^18.2.0 "@angular-devkit/schematics-cli": ^18.0.5 - "@angular/cli": ~18.2.0 + "@angular/cli": ^18.2.0 "@o3r/schematics": "workspace:^" - "@openapitools/openapi-generator-cli": ~2.15.0 + "@openapitools/openapi-generator-cli": ^2.15.0 openapi-types: ^12.0.0 type-fest: ^4.10.2 peerDependenciesMeta: @@ -3534,7 +3534,17 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.24.0, @babel/types@npm:^7.24.7, @babel/types@npm:^7.25.0, @babel/types@npm:^7.25.2, @babel/types@npm:^7.25.8, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0, @babel/types@npm:^7.26.3, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.24.0, @babel/types@npm:^7.24.7, @babel/types@npm:^7.25.0, @babel/types@npm:^7.25.2, @babel/types@npm:^7.25.8, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4": + version: 7.26.0 + resolution: "@babel/types@npm:7.26.0" + dependencies: + "@babel/helper-string-parser": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + checksum: 10/40780741ecec886ed9edae234b5eb4976968cc70d72b4e5a40d55f83ff2cc457de20f9b0f4fe9d858350e43dab0ea496e7ef62e2b2f08df699481a76df02cd6e + languageName: node + linkType: hard + +"@babel/types@npm:^7.26.3": version: 7.26.3 resolution: "@babel/types@npm:7.26.3" dependencies: @@ -7181,7 +7191,7 @@ __metadata: peerDependencies: "@ama-sdk/client-fetch": "workspace:^" "@ama-sdk/core": "workspace:^" - isomorphic-fetch: ~3.0.0 + isomorphic-fetch: ^3.0.0 peerDependenciesMeta: "@ama-sdk/client-fetch": optional: true @@ -7253,13 +7263,13 @@ __metadata: typescript-eslint: "npm:~8.17.0" zone.js: "npm:~0.14.2" peerDependencies: - "@angular-devkit/schematics": ~18.2.0 + "@angular-devkit/schematics": ^18.2.0 "@o3r/schematics": "workspace:^" - "@schematics/angular": ~18.2.0 - "@webcontainer/api": ~1.5.0 + "@schematics/angular": ^18.2.0 + "@webcontainer/api": ^1.5.0 rxjs: ^7.8.1 type-fest: ^4.10.2 - typescript: ~5.5.4 + typescript: ^5.5.4 peerDependenciesMeta: "@angular-devkit/architect": optional: true @@ -7407,7 +7417,7 @@ __metadata: yargs: "npm:^17.6.2" peerDependencies: "@ama-terasu/core": "workspace:^" - "@angular/cli": ~18.2.0 + "@angular/cli": ^18.2.0 peerDependenciesMeta: "@angular/cli": optional: true @@ -7525,20 +7535,20 @@ __metadata: zone.js: "npm:~0.14.2" peerDependencies: "@ama-sdk/core": "workspace:^" - "@angular-devkit/schematics": ~18.2.0 - "@angular/common": ~18.2.0 - "@angular/core": ~18.2.0 - "@angular/platform-browser": ~18.2.0 - "@angular/platform-browser-dynamic": ~18.2.0 - "@angular/router": ~18.2.0 - "@ngrx/store": ~18.0.0 + "@angular-devkit/schematics": ^18.2.0 + "@angular/common": ^18.2.0 + "@angular/core": ^18.2.0 + "@angular/platform-browser": ^18.2.0 + "@angular/platform-browser-dynamic": ^18.2.0 + "@angular/router": ^18.2.0 + "@ngrx/store": ^18.0.0 "@o3r/core": "workspace:^" "@o3r/schematics": "workspace:^" - "@schematics/angular": ~18.2.0 + "@schematics/angular": ^18.2.0 jasmine: ^5.0.0 rxjs: ^7.8.1 - typescript: ~5.5.4 - webpack: ~5.96.0 + typescript: ^5.5.4 + webpack: ^5.96.0 peerDependenciesMeta: "@angular-devkit/schematics": optional: true @@ -7619,13 +7629,13 @@ __metadata: peerDependencies: "@ama-sdk/client-fetch": "workspace:^" "@ama-sdk/core": "workspace:^" - "@angular-devkit/schematics": ~18.2.0 - "@angular/common": ~18.2.0 - "@angular/core": ~18.2.0 + "@angular-devkit/schematics": ^18.2.0 + "@angular/common": ^18.2.0 + "@angular/core": ^18.2.0 "@o3r/schematics": "workspace:^" - "@schematics/angular": ~18.2.0 + "@schematics/angular": ^18.2.0 rxjs: ^7.8.1 - typescript: ~5.5.4 + typescript: ^5.5.4 peerDependenciesMeta: "@ama-sdk/client-fetch": optional: true @@ -7702,17 +7712,17 @@ __metadata: typescript-eslint: "npm:~8.17.0" zone.js: "npm:~0.14.2" peerDependencies: - "@angular-devkit/schematics": ~18.2.0 - "@angular/common": ~18.2.0 - "@angular/core": ~18.2.0 + "@angular-devkit/schematics": ^18.2.0 + "@angular/common": ^18.2.0 + "@angular/core": ^18.2.0 "@o3r/core": "workspace:^" "@o3r/logger": "workspace:^" "@o3r/routing": "workspace:^" "@o3r/schematics": "workspace:^" "@o3r/testing": "workspace:^" - "@schematics/angular": ~18.2.0 + "@schematics/angular": ^18.2.0 rxjs: ^7.8.1 - typescript: ~5.5.4 + typescript: ^5.5.4 peerDependenciesMeta: "@angular-devkit/schematics": optional: true @@ -7768,7 +7778,7 @@ __metadata: typescript-eslint: "npm:~8.17.0" winston: "npm:^3.8.2" peerDependencies: - "@angular-devkit/schematics": ~18.2.0 + "@angular-devkit/schematics": ^18.2.0 "@o3r/telemetry": "workspace:^" peerDependenciesMeta: "@angular-devkit/schematics": @@ -7825,7 +7835,7 @@ __metadata: typescript-eslint: "npm:~8.17.0" winston: "npm:^3.8.2" peerDependencies: - "@angular-devkit/schematics": ~18.2.0 + "@angular-devkit/schematics": ^18.2.0 "@o3r/telemetry": "workspace:^" peerDependenciesMeta: "@angular-devkit/schematics": @@ -7865,7 +7875,7 @@ __metadata: typescript: "npm:~5.5.4" typescript-eslint: "npm:~8.17.0" peerDependencies: - typescript: ~5.5.4 + typescript: ^5.5.4 bin: clear-package-json-dev-dependencies: ./scripts/clear-package-json-dev-dependencies.mjs cp-assets: ./scripts/cp-assets.mjs @@ -8054,18 +8064,18 @@ __metadata: unionfs: "npm:~4.5.1" zone.js: "npm:~0.14.2" peerDependencies: - "@angular-devkit/architect": ~0.1802.0 - "@angular-devkit/core": ~18.2.0 - "@angular-devkit/schematics": ~18.2.0 - "@angular/cdk": ~18.2.0 - "@angular/common": ~18.2.0 - "@angular/core": ~18.2.0 - "@angular/forms": ~18.2.0 - "@angular/platform-browser": ~18.2.0 - "@angular/platform-browser-dynamic": ~18.2.0 - "@ngrx/effects": ~18.0.0 - "@ngrx/entity": ~18.0.0 - "@ngrx/store": ~18.0.0 + "@angular-devkit/architect": ^0.1802.0 + "@angular-devkit/core": ^18.2.0 + "@angular-devkit/schematics": ^18.2.0 + "@angular/cdk": ^18.2.0 + "@angular/common": ^18.2.0 + "@angular/core": ^18.2.0 + "@angular/forms": ^18.2.0 + "@angular/platform-browser": ^18.2.0 + "@angular/platform-browser-dynamic": ^18.2.0 + "@ngrx/effects": ^18.0.0 + "@ngrx/entity": ^18.0.0 + "@ngrx/store": ^18.0.0 "@o3r/analytics": "workspace:^" "@o3r/configuration": "workspace:^" "@o3r/core": "workspace:^" @@ -8076,7 +8086,7 @@ __metadata: "@o3r/rules-engine": "workspace:^" "@o3r/schematics": "workspace:^" "@o3r/testing": "workspace:^" - "@schematics/angular": ~18.2.0 + "@schematics/angular": ^18.2.0 "@yarnpkg/cli": ^4.0.0 "@yarnpkg/core": ^4.1.1 "@yarnpkg/fslib": ^3.1.0 @@ -8087,7 +8097,7 @@ __metadata: jsonpath-plus: ^9.0.0 || ^10.0.0 rxjs: ^7.8.1 semver: ^7.5.2 - typescript: ~5.5.4 + typescript: ^5.5.4 peerDependenciesMeta: "@angular-devkit/core": optional: true @@ -8202,21 +8212,21 @@ __metadata: typescript-eslint: "npm:~8.17.0" zone.js: "npm:~0.14.2" peerDependencies: - "@angular-devkit/schematics": ~18.2.0 - "@angular/core": ~18.2.0 - "@angular/platform-browser-dynamic": ~18.2.0 - "@ngrx/entity": ~18.0.0 - "@ngrx/store": ~18.0.0 + "@angular-devkit/schematics": ^18.2.0 + "@angular/core": ^18.2.0 + "@angular/platform-browser-dynamic": ^18.2.0 + "@ngrx/entity": ^18.0.0 + "@ngrx/store": ^18.0.0 "@o3r/core": "workspace:^" "@o3r/logger": "workspace:^" "@o3r/schematics": "workspace:^" "@o3r/testing": "workspace:^" - "@schematics/angular": ~18.2.0 + "@schematics/angular": ^18.2.0 cheerio: ^1.0.0-rc.10 express-interceptor: ^1.2.0 jasmine: ^5.0.0 rxjs: ^7.8.1 - typescript: ~5.5.4 + typescript: ^5.5.4 peerDependenciesMeta: "@angular-devkit/schematics": optional: true @@ -8309,26 +8319,26 @@ __metadata: uuid: "npm:^10.0.0" zone.js: "npm:~0.14.2" peerDependencies: - "@angular-devkit/architect": ~0.1802.0 - "@angular-devkit/core": ~18.2.0 - "@angular-devkit/schematics": ~18.2.0 - "@angular/cli": ~18.2.0 - "@angular/common": ~18.2.0 - "@angular/compiler-cli": ~18.2.0 - "@angular/core": ~18.2.0 - "@angular/forms": ~18.2.0 - "@angular/platform-browser-dynamic": ~18.2.0 - "@angular/router": ~18.2.0 - "@ngrx/entity": ~18.0.0 - "@ngrx/store": ~18.0.0 - "@nx/angular": ~19.5.0 + "@angular-devkit/architect": ^0.1802.0 + "@angular-devkit/core": ^18.2.0 + "@angular-devkit/schematics": ^18.2.0 + "@angular/cli": ^18.2.0 + "@angular/common": ^18.2.0 + "@angular/compiler-cli": ^18.2.0 + "@angular/core": ^18.2.0 + "@angular/forms": ^18.2.0 + "@angular/platform-browser-dynamic": ^18.2.0 + "@angular/router": ^18.2.0 + "@ngrx/entity": ^18.0.0 + "@ngrx/store": ^18.0.0 + "@nx/angular": ^19.5.0 "@o3r/telemetry": "workspace:^" - "@schematics/angular": ~18.2.0 + "@schematics/angular": ^18.2.0 chokidar: ^3.5.2 globby: ^11.1.0 rxjs: ^7.8.1 type-fest: ^4.10.2 - typescript: ~5.5.4 + typescript: ^5.5.4 peerDependenciesMeta: "@angular/cli": optional: true @@ -8486,15 +8496,15 @@ __metadata: typescript-eslint: "npm:~8.17.0" zone.js: "npm:~0.14.2" peerDependencies: - "@angular-devkit/architect": ~0.1802.0 - "@angular-devkit/schematics": ~18.2.0 + "@angular-devkit/architect": ^0.1802.0 + "@angular-devkit/schematics": ^18.2.0 "@o3r/core": "workspace:^" "@o3r/schematics": "workspace:^" "@o3r/styling": "workspace:^" "@o3r/telemetry": "workspace:^" chokidar: ^3.5.2 globby: ^11.1.0 - sass: ~1.81.0 + sass: ^1.81.0 peerDependenciesMeta: "@angular-devkit/architect": optional: true @@ -8585,7 +8595,7 @@ __metadata: typescript-eslint: "npm:~8.17.0" winston: "npm:^3.8.2" peerDependencies: - "@angular-devkit/schematics": ~18.2.0 + "@angular-devkit/schematics": ^18.2.0 peerDependenciesMeta: "@angular-devkit/schematics": optional: true @@ -8668,15 +8678,15 @@ __metadata: typescript-eslint: "npm:~8.17.0" zone.js: "npm:~0.14.2" peerDependencies: - "@angular-devkit/architect": ~0.1802.0 - "@angular-devkit/schematics": ~18.2.0 - "@angular/compiler-cli": ~18.2.0 - "@angular/core": ~18.2.0 - "@angular/platform-browser-dynamic": ~18.2.0 - "@ngrx/store": ~18.0.0 + "@angular-devkit/architect": ^0.1802.0 + "@angular-devkit/schematics": ^18.2.0 + "@angular/compiler-cli": ^18.2.0 + "@angular/core": ^18.2.0 + "@angular/platform-browser-dynamic": ^18.2.0 + "@ngrx/store": ^18.0.0 "@o3r/core": "workspace:^" "@o3r/schematics": "workspace:^" - "@schematics/angular": ~18.2.0 + "@schematics/angular": ^18.2.0 cheerio: ^1.0.0-rc.10 express-interceptor: ^1.2.0 jasmine: ^5.0.0 @@ -8743,15 +8753,15 @@ __metadata: typescript: "npm:~5.5.4" typescript-eslint: "npm:~8.17.0" peerDependencies: - "@angular-devkit/schematics": ~18.2.0 - "@angular-eslint/builder": ~18.4.0 - "@angular-eslint/eslint-plugin": ~18.4.0 - "@angular-eslint/eslint-plugin-template": ~18.4.0 - "@angular-eslint/template-parser": ~18.4.0 - "@angular/compiler": ~18.2.0 + "@angular-devkit/schematics": ^18.2.0 + "@angular-eslint/builder": ^18.4.0 + "@angular-eslint/eslint-plugin": ^18.4.0 + "@angular-eslint/eslint-plugin-template": ^18.4.0 + "@angular-eslint/template-parser": ^18.4.0 + "@angular/compiler": ^18.2.0 "@o3r/eslint-plugin": "workspace:^" "@o3r/schematics": "workspace:^" - "@schematics/angular": ~18.2.0 + "@schematics/angular": ^18.2.0 "@stylistic/eslint-plugin-ts": ^2.7.0 "@typescript-eslint/eslint-plugin": ^7.14.1 || ^8.0.0 "@typescript-eslint/parser": ^7.14.1 || ^8.0.0 @@ -8759,11 +8769,11 @@ __metadata: eslint: ">=8.57.0 <9.15.0" eslint-import-resolver-node: ^0.3.4 eslint-plugin-jasmine: ^4.1.3 - eslint-plugin-jest: ^28.0.0 + eslint-plugin-jest: ^28.8.0 eslint-plugin-jsdoc: ^48.11.0 || ^49.0.0 || ^50.0.0 eslint-plugin-prefer-arrow: ^1.2.2 eslint-plugin-unicorn: ^54.0.0 || ^55.0.0 || ^56.0.0 - typescript: ~5.5.4 + typescript: ^5.5.4 peerDependenciesMeta: "@angular-devkit/schematics": optional: true @@ -8834,15 +8844,15 @@ __metadata: typescript: "npm:~5.5.4" typescript-eslint: "npm:~8.17.0" peerDependencies: - "@angular-devkit/core": ~18.2.0 - "@angular-devkit/schematics": ~18.2.0 - "@angular-eslint/builder": ~18.4.0 - "@angular/compiler": ~18.2.0 + "@angular-devkit/core": ^18.2.0 + "@angular-devkit/schematics": ^18.2.0 + "@angular-eslint/builder": ^18.4.0 + "@angular/compiler": ^18.2.0 "@eslint-community/eslint-plugin-eslint-comments": ^4.4.0 "@eslint/js": ">=8.57.0 <9.15.0" "@o3r/eslint-plugin": "workspace:^" "@o3r/schematics": "workspace:^" - "@schematics/angular": ~18.2.0 + "@schematics/angular": ^18.2.0 "@stylistic/eslint-plugin": ^2.7.0 "@typescript-eslint/parser": ^8.0.0 "@typescript-eslint/types": ^8.0.0 @@ -8853,17 +8863,17 @@ __metadata: eslint-import-resolver-typescript: ^3.6.3 eslint-plugin-import: ^2.31.0 eslint-plugin-import-newlines: ^1.4.0 - eslint-plugin-jest: ^28.0.0 + eslint-plugin-jest: ^28.8.0 eslint-plugin-jsdoc: ^48.11.0 || ^49.0.0 || ^50.0.0 eslint-plugin-prefer-arrow: ^1.2.2 eslint-plugin-unicorn: ^54.0.0 || ^55.0.0 || ^56.0.0 eslint-plugin-unused-imports: ^4.1.4 globals: ^15.9.0 globby: ^11.1.0 - jest: ~29.7.0 - jsonc-eslint-parser: ~2.4.0 - ts-node: ~10.9.2 - typescript: ~5.5.4 + jest: ^29.7.0 + jsonc-eslint-parser: ^2.4.0 + ts-node: ^10.9.2 + typescript: ^5.5.4 typescript-eslint: ^8.0.0 peerDependenciesMeta: "@angular-devkit/core": @@ -8945,12 +8955,12 @@ __metadata: typescript-eslint: "npm:~8.17.0" yaml-eslint-parser: "npm:^1.2.2" peerDependencies: - "@angular-devkit/schematics": ~18.2.0 - "@angular-eslint/template-parser": ~18.4.0 - "@angular-eslint/test-utils": ~18.4.0 - "@angular/compiler": ~18.2.0 - eslint: ^8.57.0 || ~9.14.0 - jsonc-eslint-parser: ~2.4.0 + "@angular-devkit/schematics": ^18.2.0 + "@angular-eslint/template-parser": ^18.4.0 + "@angular-eslint/test-utils": ^18.4.0 + "@angular/compiler": ^18.2.0 + eslint: ">=8.57.0 <9.15.0" + jsonc-eslint-parser: ^2.4.0 yaml-eslint-parser: ^1.2.2 peerDependenciesMeta: "@angular-devkit/schematics": @@ -9041,16 +9051,16 @@ __metadata: typedoc: "npm:~0.26.0" typescript: "npm:~5.5.4" typescript-eslint: "npm:~8.17.0" - typescript-json-schema: "npm:~0.65.0" + typescript-json-schema: "npm:^0.65.0" zone.js: "npm:~0.14.2" peerDependencies: - "@angular-devkit/architect": ~0.1802.0 - "@angular-devkit/core": ~18.2.0 - "@angular-devkit/schematics": ~18.2.0 + "@angular-devkit/architect": ^0.1802.0 + "@angular-devkit/core": ^18.2.0 + "@angular-devkit/schematics": ^18.2.0 "@o3r/core": "workspace:^" "@o3r/schematics": "workspace:^" "@o3r/telemetry": "workspace:^" - "@schematics/angular": ~18.2.0 + "@schematics/angular": ^18.2.0 "@yarnpkg/cli": ^4.0.0 "@yarnpkg/core": ^4.1.1 "@yarnpkg/fslib": ^3.1.0 @@ -9059,7 +9069,7 @@ __metadata: globby: ^11.1.0 semver: ^7.5.2 type-fest: ^4.10.2 - typescript: ~5.5.4 + typescript: ^5.5.4 peerDependenciesMeta: "@angular-devkit/schematics": optional: true @@ -9150,15 +9160,15 @@ __metadata: zone.js: "npm:~0.14.2" peerDependencies: "@ama-sdk/core": "workspace:^" - "@angular-devkit/schematics": ~18.2.0 - "@angular/common": ~18.2.0 - "@angular/core": ~18.2.0 - "@angular/forms": ~18.2.0 - "@ngrx/entity": ~18.0.0 - "@ngrx/store": ~18.0.0 + "@angular-devkit/schematics": ^18.2.0 + "@angular/common": ^18.2.0 + "@angular/core": ^18.2.0 + "@angular/forms": ^18.2.0 + "@ngrx/entity": ^18.0.0 + "@ngrx/store": ^18.0.0 "@o3r/core": "workspace:^" "@o3r/schematics": "workspace:^" - "@schematics/angular": ~18.2.0 + "@schematics/angular": ^18.2.0 rxjs: ^7.8.1 peerDependenciesMeta: "@angular-devkit/schematics": @@ -9458,23 +9468,23 @@ __metadata: unionfs: "npm:~4.5.1" zone.js: "npm:~0.14.2" peerDependencies: - "@angular-devkit/architect": ~0.1802.0 - "@angular-devkit/core": ~18.2.0 - "@angular-devkit/schematics": ~18.2.0 - "@angular/cdk": ~18.2.0 - "@angular/cli": ~18.2.0 - "@angular/common": ~18.2.0 - "@angular/core": ~18.2.0 - "@angular/platform-browser-dynamic": ~18.2.0 + "@angular-devkit/architect": ^0.1802.0 + "@angular-devkit/core": ^18.2.0 + "@angular-devkit/schematics": ^18.2.0 + "@angular/cdk": ^18.2.0 + "@angular/cli": ^18.2.0 + "@angular/common": ^18.2.0 + "@angular/core": ^18.2.0 + "@angular/platform-browser-dynamic": ^18.2.0 "@formatjs/intl-numberformat": ^8.0.2 - "@ngrx/store": ~18.0.0 - "@ngx-translate/core": ~15.0.0 + "@ngrx/store": ^18.0.0 + "@ngx-translate/core": ^15.0.0 "@o3r/core": "workspace:^" "@o3r/dynamic-content": "workspace:^" "@o3r/extractors": "workspace:^" "@o3r/logger": "workspace:^" "@o3r/schematics": "workspace:^" - "@schematics/angular": ~18.2.0 + "@schematics/angular": ^18.2.0 "@yarnpkg/cli": ^4.3.1 "@yarnpkg/core": ^4.1.1 "@yarnpkg/fslib": ^3.1.0 @@ -9482,11 +9492,11 @@ __metadata: "@yarnpkg/plugin-pack": ^4.0.0 chokidar: ^3.5.2 globby: ^11.1.0 - intl-messageformat: ~10.7.0 + intl-messageformat: ^10.7.0 rxjs: ^7.8.1 semver: ^7.5.2 type-fest: ^4.10.2 - typescript: ~5.5.4 + typescript: ^5.5.4 peerDependenciesMeta: "@angular-devkit/core": optional: true @@ -9577,7 +9587,7 @@ __metadata: jest-preset-angular: "npm:~14.2.0" jsonc-eslint-parser: "npm:~2.4.0" logrocket: "npm:~8.1.0" - logrocket-ngrx: "npm:~0.2.1" + logrocket-ngrx: "npm:^0.2.1" ng-packagr: "npm:~18.2.0" nx: "npm:~19.5.0" rxjs: "npm:^7.8.1" @@ -9589,16 +9599,16 @@ __metadata: typescript-eslint: "npm:~8.17.0" zone.js: "npm:~0.14.2" peerDependencies: - "@angular-devkit/schematics": ~18.2.0 - "@angular/core": ~18.2.0 - "@angular/platform-browser-dynamic": ~18.2.0 + "@angular-devkit/schematics": ^18.2.0 + "@angular/core": ^18.2.0 + "@angular/platform-browser-dynamic": ^18.2.0 "@fullstory/browser": ^2.0.0 - "@ngrx/store": ~18.0.0 + "@ngrx/store": ^18.0.0 "@o3r/core": "workspace:^" "@o3r/schematics": "workspace:^" - "@schematics/angular": ~18.2.0 - logrocket: ~8.1.0 - logrocket-ngrx: ~0.2.1 + "@schematics/angular": ^18.2.0 + logrocket: ^8.1.0 + logrocket-ngrx: ^0.2.1 rxjs: ^7.8.1 smartlook-client: ^9.0.0 peerDependenciesMeta: @@ -9692,19 +9702,19 @@ __metadata: winston: "npm:^3.8.2" zone.js: "npm:~0.14.2" peerDependencies: - "@angular-devkit/schematics": ~18.2.0 - "@angular/common": ~18.2.0 - "@angular/core": ~18.2.0 + "@angular-devkit/schematics": ^18.2.0 + "@angular/common": ^18.2.0 + "@angular/core": ^18.2.0 "@capacitor/browser": ^6.0.0 "@capacitor/core": ^6.0.0 "@capacitor/device": ^6.0.0 "@capacitor/preferences": ^6.0.0 - "@ngrx/store": ~18.0.0 + "@ngrx/store": ^18.0.0 "@o3r/core": "workspace:^" "@o3r/logger": "workspace:^" "@o3r/schematics": "workspace:^" "@o3r/store-sync": "workspace:^" - "@schematics/angular": ~18.2.0 + "@schematics/angular": ^18.2.0 fast-deep-equal: ^3.1.3 rxjs: ^7.8.1 peerDependenciesMeta: @@ -9766,7 +9776,7 @@ __metadata: typescript: "npm:~5.5.4" typescript-eslint: "npm:~8.17.0" peerDependencies: - "@angular-devkit/schematics": ~18.2.0 + "@angular-devkit/schematics": ^18.2.0 "@o3r/schematics": "workspace:^" peerDependenciesMeta: "@angular-devkit/schematics": @@ -9799,7 +9809,7 @@ __metadata: "@types/jest": "npm:~29.5.2" "@types/js-yaml": "npm:^4.0.5" "@types/node": "npm:^20.0.0" - "@typescript-eslint/eslint-plugin": "npm:^8.0.0" + "@typescript-eslint/eslint-plugin": "npm:~8.17.0" "@typescript-eslint/parser": "npm:~8.17.0" "@typescript-eslint/utils": "npm:~8.17.0" angular-eslint: "npm:~18.4.0" @@ -9829,7 +9839,7 @@ __metadata: typescript: "npm:~5.5.4" typescript-eslint: "npm:~8.17.0" peerDependencies: - "@angular-devkit/schematics": ~18.2.0 + "@angular-devkit/schematics": ^18.2.0 "@o3r/schematics": "workspace:^" "@o3r/telemetry": "workspace:^" type-fest: ^4.10.2 @@ -9912,19 +9922,19 @@ __metadata: typescript-eslint: "npm:~8.17.0" zone.js: "npm:~0.14.2" peerDependencies: - "@angular-devkit/schematics": ~18.2.0 - "@angular/common": ~18.2.0 - "@angular/core": ~18.2.0 - "@angular/platform-browser-dynamic": ~18.2.0 - "@angular/router": ~18.2.0 - "@ngrx/effects": ~18.0.0 - "@ngrx/entity": ~18.0.0 - "@ngrx/router-store": ~18.0.0 - "@ngrx/store": ~18.0.0 + "@angular-devkit/schematics": ^18.2.0 + "@angular/common": ^18.2.0 + "@angular/core": ^18.2.0 + "@angular/platform-browser-dynamic": ^18.2.0 + "@angular/router": ^18.2.0 + "@ngrx/effects": ^18.0.0 + "@ngrx/entity": ^18.0.0 + "@ngrx/router-store": ^18.0.0 + "@ngrx/store": ^18.0.0 "@o3r/core": "workspace:^" "@o3r/routing": "workspace:^" "@o3r/schematics": "workspace:^" - "@schematics/angular": ~18.2.0 + "@schematics/angular": ^18.2.0 jasmine: ^5.0.0 rxjs: ^7.8.1 peerDependenciesMeta: @@ -10016,31 +10026,31 @@ __metadata: type-fest: "npm:^4.10.2" typescript: "npm:~5.5.4" typescript-eslint: "npm:~8.17.0" - typescript-json-schema: "npm:~0.65.0" + typescript-json-schema: "npm:^0.65.0" unionfs: "npm:~4.5.1" zone.js: "npm:~0.14.2" peerDependencies: - "@angular-devkit/architect": ~0.1802.0 - "@angular-devkit/core": ~18.2.0 - "@angular-devkit/schematics": ~18.2.0 - "@angular/common": ~18.2.0 - "@angular/core": ~18.2.0 - "@angular/platform-browser-dynamic": ~18.2.0 - "@ngrx/effects": ~18.0.0 - "@ngrx/entity": ~18.0.0 - "@ngrx/store": ~18.0.0 - "@ngx-translate/core": ~15.0.0 + "@angular-devkit/architect": ^0.1802.0 + "@angular-devkit/core": ^18.2.0 + "@angular-devkit/schematics": ^18.2.0 + "@angular/common": ^18.2.0 + "@angular/core": ^18.2.0 + "@angular/platform-browser-dynamic": ^18.2.0 + "@ngrx/effects": ^18.0.0 + "@ngrx/entity": ^18.0.0 + "@ngrx/store": ^18.0.0 + "@ngx-translate/core": ^15.0.0 "@o3r/core": "workspace:^" "@o3r/extractors": "workspace:^" "@o3r/logger": "workspace:^" "@o3r/schematics": "workspace:^" - "@schematics/angular": ~18.2.0 + "@schematics/angular": ^18.2.0 globby: ^11.1.0 jasmine: ^5.0.0 jsonpath-plus: ^9.0.0 || ^10.0.0 rxjs: ^7.8.1 - typescript: ~5.5.4 - typescript-json-schema: ~0.65.0 + typescript: ^5.5.4 + typescript-json-schema: ^0.65.0 peerDependenciesMeta: "@angular-devkit/core": optional: true @@ -10128,16 +10138,16 @@ __metadata: typescript-eslint: "npm:~8.17.0" zone.js: "npm:~0.14.2" peerDependencies: - "@angular-devkit/architect": ~0.1802.0 - "@angular-devkit/core": ~18.2.0 - "@angular-devkit/schematics": ~18.2.0 - "@angular/cli": ~18.2.0 + "@angular-devkit/architect": ^0.1802.0 + "@angular-devkit/core": ^18.2.0 + "@angular-devkit/schematics": ^18.2.0 + "@angular/cli": ^18.2.0 "@o3r/telemetry": "workspace:^" - "@schematics/angular": ~18.2.0 - eslint: ~9.14.0 + "@schematics/angular": ^18.2.0 + eslint: ^9.14.0 rxjs: ^7.8.1 type-fest: ^4.10.2 - typescript: ~5.5.4 + typescript: ^5.5.4 peerDependenciesMeta: "@angular-devkit/architect": optional: true @@ -10336,14 +10346,14 @@ __metadata: zone.js: "npm:~0.14.2" peerDependencies: "@ama-sdk/core": "workspace:^" - "@angular-devkit/core": ~18.2.0 - "@angular-devkit/schematics": ~18.2.0 - "@ngrx/entity": ~18.0.0 - "@ngrx/store": ~18.0.0 + "@angular-devkit/core": ^18.2.0 + "@angular-devkit/schematics": ^18.2.0 + "@ngrx/entity": ^18.0.0 + "@ngrx/store": ^18.0.0 "@o3r/core": "workspace:^" "@o3r/logger": "workspace:^" "@o3r/schematics": "workspace:^" - "@schematics/angular": ~18.2.0 + "@schematics/angular": ^18.2.0 fast-deep-equal: ^3.1.3 rxjs: ^7.8.1 peerDependenciesMeta: @@ -10435,10 +10445,10 @@ __metadata: typescript-eslint: "npm:~8.17.0" zone.js: "npm:~0.14.2" peerDependencies: - "@angular-devkit/core": ~18.2.0 - "@angular-devkit/schematics": ~18.2.0 - "@angular/core": ~18.2.0 - "@ngrx/store": ~18.0.0 + "@angular-devkit/core": ^18.2.0 + "@angular-devkit/schematics": ^18.2.0 + "@angular/core": ^18.2.0 + "@ngrx/store": ^18.0.0 "@o3r/components": "workspace:^" "@o3r/configuration": "workspace:^" "@o3r/core": "workspace:^" @@ -10446,13 +10456,13 @@ __metadata: "@o3r/logger": "workspace:^" "@o3r/schematics": "workspace:^" "@o3r/styling": "workspace:^" - "@schematics/angular": ~18.2.0 + "@schematics/angular": ^18.2.0 "@storybook/addons": ^7.5.3 "@storybook/angular": ^8.0.0 "@storybook/api": ^7.5.3 "@storybook/components": ^8.0.0 rxjs: ^7.8.1 - typescript: ~5.5.4 + typescript: ^5.5.4 peerDependenciesMeta: "@angular-devkit/schematics": optional: true @@ -10514,9 +10524,9 @@ __metadata: typescript: "npm:~5.5.4" typescript-eslint: "npm:~8.17.0" peerDependencies: - "@angular-devkit/schematics": ~18.2.0 + "@angular-devkit/schematics": ^18.2.0 "@o3r/schematics": "workspace:^" - "@schematics/angular": ~18.2.0 + "@schematics/angular": ^18.2.0 postcss: ^8.4.5 postcss-scss: ^4.0.9 stylelint: ^16.0.2 @@ -10611,19 +10621,19 @@ __metadata: unionfs: "npm:~4.5.1" zone.js: "npm:~0.14.2" peerDependencies: - "@angular-devkit/architect": ~0.1802.0 - "@angular-devkit/core": ~18.2.0 - "@angular-devkit/schematics": ~18.2.0 - "@angular/cdk": ~18.2.0 - "@angular/common": ~18.2.0 - "@angular/core": ~18.2.0 - "@angular/material": ~18.2.0 + "@angular-devkit/architect": ^0.1802.0 + "@angular-devkit/core": ^18.2.0 + "@angular-devkit/schematics": ^18.2.0 + "@angular/cdk": ^18.2.0 + "@angular/common": ^18.2.0 + "@angular/core": ^18.2.0 + "@angular/material": ^18.2.0 "@o3r/core": "workspace:^" "@o3r/dynamic-content": "workspace:^" "@o3r/extractors": "workspace:^" "@o3r/logger": "workspace:^" "@o3r/schematics": "workspace:^" - "@schematics/angular": ~18.2.0 + "@schematics/angular": ^18.2.0 "@yarnpkg/cli": ^4.3.1 "@yarnpkg/core": ^4.1.1 "@yarnpkg/fslib": ^3.1.0 @@ -10632,9 +10642,9 @@ __metadata: chokidar: ^3.5.2 globby: ^11.1.0 rxjs: ^7.8.1 - sass: ~1.81.0 + sass: ^1.81.0 semver: ^7.5.2 - typescript: ~5.5.4 + typescript: ^5.5.4 peerDependenciesMeta: "@angular-devkit/architect": optional: true @@ -10724,9 +10734,9 @@ __metadata: typescript: "npm:~5.5.4" typescript-eslint: "npm:~8.17.0" peerDependencies: - "@angular-devkit/architect": ~0.1802.0 - "@angular-devkit/core": ~18.2.0 - "@angular-devkit/schematics": ~18.2.0 + "@angular-devkit/architect": ^0.1802.0 + "@angular-devkit/core": ^18.2.0 + "@angular-devkit/schematics": ^18.2.0 rxjs: ^7.8.1 peerDependenciesMeta: "@angular-devkit/architect": @@ -10788,10 +10798,10 @@ __metadata: typescript-eslint: "npm:~8.17.0" unionfs: "npm:~4.5.1" peerDependencies: - jest-environment-node: ~29.7.0 - memfs: ~4.14.0 + jest-environment-node: ^29.7.0 + memfs: ^4.14.0 pid-from-port: ^1.1.3 - unionfs: ~4.5.1 + unionfs: ^4.5.1 peerDependenciesMeta: jest-environment-node: optional: true @@ -10880,29 +10890,29 @@ __metadata: zone.js: "npm:~0.14.2" peerDependencies: "@amadeus-it-group/kassette": ^1.7.0 - "@angular-devkit/core": ~18.2.0 - "@angular-devkit/schematics": ~18.2.0 - "@angular/animations": ~18.2.0 - "@angular/cli": ~18.2.0 - "@angular/common": ~18.2.0 - "@angular/core": ~18.2.0 - "@angular/forms": ~18.2.0 - "@angular/platform-browser": ~18.2.0 + "@angular-devkit/core": ^18.2.0 + "@angular-devkit/schematics": ^18.2.0 + "@angular/animations": ^18.2.0 + "@angular/cli": ^18.2.0 + "@angular/common": ^18.2.0 + "@angular/core": ^18.2.0 + "@angular/forms": ^18.2.0 + "@angular/platform-browser": ^18.2.0 "@material/slider": ^14.0.0 - "@ngrx/store": ~18.0.0 - "@ngx-translate/core": ~15.0.0 + "@ngrx/store": ^18.0.0 + "@ngx-translate/core": ^15.0.0 "@o3r/core": "workspace:^" "@o3r/localization": "workspace:^" "@o3r/schematics": "workspace:^" - "@playwright/test": ~1.49.0 - "@schematics/angular": ~18.2.0 + "@playwright/test": ^1.49.0 + "@schematics/angular": ^18.2.0 pixelmatch: ^5.2.1 pngjs: ^7.0.0 protractor: ^7.0.0 rxjs: ^7.8.1 temporal-polyfill: ^0.2.0 type-fest: ^4.10.2 - typescript: ~5.5.4 + typescript: ^5.5.4 peerDependenciesMeta: "@amadeus-it-group/kassette": optional: true @@ -11003,12 +11013,12 @@ __metadata: uuid: "npm:^10.0.0" zone.js: "npm:~0.14.2" peerDependencies: - "@angular-devkit/schematics": ~18.2.0 + "@angular-devkit/schematics": ^18.2.0 "@o3r/core": "workspace:^" "@o3r/schematics": "workspace:^" - "@schematics/angular": ~18.2.0 + "@schematics/angular": ^18.2.0 rxjs: ^7.8.1 - typescript: ~5.5.4 + typescript: ^5.5.4 peerDependenciesMeta: "@angular-devkit/schematics": optional: true @@ -11031,7 +11041,7 @@ __metadata: "@o3r/eslint-plugin": "workspace:^" "@stylistic/eslint-plugin-ts": "npm:~2.7.0" "@types/node": "npm:^20.0.0" - "@typescript-eslint/eslint-plugin": "npm:^8.0.0" + "@typescript-eslint/eslint-plugin": "npm:~8.17.0" "@typescript-eslint/parser": "npm:~8.17.0" "@typescript-eslint/utils": "npm:~8.17.0" eslint: "npm:~9.14.0" @@ -11045,7 +11055,7 @@ __metadata: nx: "npm:~19.5.0" typescript: "npm:~5.5.4" peerDependencies: - typescript: ~5.5.4 + typescript: ^5.5.4 bin: create-monorepo-scope: ./scripts/create-monorepo-scope.mjs doc-links: ./scripts/doc-links.mjs @@ -11133,17 +11143,17 @@ __metadata: winston: "npm:^3.8.2" zone.js: "npm:~0.14.2" peerDependencies: - "@angular-devkit/architect": ~0.1802.0 - "@angular-devkit/core": ~18.2.0 - "@angular-devkit/schematics": ~18.2.0 - "@angular/cli": ~18.2.0 - "@angular/common": ~18.2.0 - "@angular/compiler-cli": ~18.2.0 - "@angular/core": ~18.2.0 + "@angular-devkit/architect": ^0.1802.0 + "@angular-devkit/core": ^18.2.0 + "@angular-devkit/schematics": ^18.2.0 + "@angular/cli": ^18.2.0 + "@angular/common": ^18.2.0 + "@angular/compiler-cli": ^18.2.0 + "@angular/core": ^18.2.0 "@o3r/telemetry": "workspace:^" - "@schematics/angular": ~18.2.0 + "@schematics/angular": ^18.2.0 type-fest: ^4.10.2 - typescript: ~5.5.4 + typescript: ^5.5.4 peerDependenciesMeta: "@angular/cli": optional: true @@ -14799,7 +14809,7 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:8.17.0, @typescript-eslint/eslint-plugin@npm:^8.0.0": +"@typescript-eslint/eslint-plugin@npm:8.17.0, @typescript-eslint/eslint-plugin@npm:~8.17.0": version: 8.17.0 resolution: "@typescript-eslint/eslint-plugin@npm:8.17.0" dependencies: @@ -14840,24 +14850,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/parser@npm:~8.16.0": - version: 8.16.0 - resolution: "@typescript-eslint/parser@npm:8.16.0" - dependencies: - "@typescript-eslint/scope-manager": "npm:8.16.0" - "@typescript-eslint/types": "npm:8.16.0" - "@typescript-eslint/typescript-estree": "npm:8.16.0" - "@typescript-eslint/visitor-keys": "npm:8.16.0" - debug: "npm:^4.3.4" - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10/ac1e2bfdbfe212da470bb17915b5228f7a6b027332b05eb8bcbbad440a81b2476c649e54e232084838e1edc005e6d7dc7a44899587d73672dd3d5484d9dbf9f8 - languageName: node - linkType: hard - "@typescript-eslint/rule-tester@npm:~8.17.0": version: 8.17.0 resolution: "@typescript-eslint/rule-tester@npm:8.17.0" @@ -14884,16 +14876,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.16.0": - version: 8.16.0 - resolution: "@typescript-eslint/scope-manager@npm:8.16.0" - dependencies: - "@typescript-eslint/types": "npm:8.16.0" - "@typescript-eslint/visitor-keys": "npm:8.16.0" - checksum: 10/e0aea61f248b39049d4ce21c19f9c8af1a8024f4f92abc8c1d5b79ea65b013c6c4ff41efb92995050036aa95b6a705601917b56809d9ec1fbbab387054aeb269 - languageName: node - linkType: hard - "@typescript-eslint/scope-manager@npm:8.17.0": version: 8.17.0 resolution: "@typescript-eslint/scope-manager@npm:8.17.0" @@ -14945,13 +14927,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:8.16.0": - version: 8.16.0 - resolution: "@typescript-eslint/types@npm:8.16.0" - checksum: 10/b37b26cd0e45b0cd6f7d492a07af583e4877d798495ab5fc1cfacb3c561b6d7981e3166f0475bb997e6c6d56ef903e160895174c7e63c08322dbb42d026cf7dc - languageName: node - linkType: hard - "@typescript-eslint/types@npm:8.17.0, @typescript-eslint/types@npm:^8.0.0": version: 8.17.0 resolution: "@typescript-eslint/types@npm:8.17.0" @@ -14978,25 +14953,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.16.0": - version: 8.16.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.16.0" - dependencies: - "@typescript-eslint/types": "npm:8.16.0" - "@typescript-eslint/visitor-keys": "npm:8.16.0" - debug: "npm:^4.3.4" - fast-glob: "npm:^3.3.2" - is-glob: "npm:^4.0.3" - minimatch: "npm:^9.0.4" - semver: "npm:^7.6.0" - ts-api-utils: "npm:^1.3.0" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10/823cf55d331cf7283547a2860a5d7bfd7dbd497be6e87b226dd7456b36db214de1504855afbbaef8d89932c11a1e589d4cb2a4093b6f1c542a4ce8319d988006 - languageName: node - linkType: hard - "@typescript-eslint/typescript-estree@npm:8.17.0": version: 8.17.0 resolution: "@typescript-eslint/typescript-estree@npm:8.17.0" @@ -15057,16 +15013,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.16.0": - version: 8.16.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.16.0" - dependencies: - "@typescript-eslint/types": "npm:8.16.0" - eslint-visitor-keys: "npm:^4.2.0" - checksum: 10/e3f231a3e8ca2f7a3dc0e9ebdc3ea1f51a377b1285727413b4c89c44dbfaf342f2574b1b4e7f478f295963045a6058e27b4827816fe2a5a2d09f565eb68522c7 - languageName: node - linkType: hard - "@typescript-eslint/visitor-keys@npm:8.17.0": version: 8.17.0 resolution: "@typescript-eslint/visitor-keys@npm:8.17.0" @@ -15248,7 +15194,7 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/ast@npm:1.14.1, @webassemblyjs/ast@npm:^1.12.1, @webassemblyjs/ast@npm:^1.14.1": +"@webassemblyjs/ast@npm:1.14.1, @webassemblyjs/ast@npm:^1.12.1": version: 1.14.1 resolution: "@webassemblyjs/ast@npm:1.14.1" dependencies: @@ -15334,7 +15280,7 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/wasm-edit@npm:^1.12.1, @webassemblyjs/wasm-edit@npm:^1.14.1": +"@webassemblyjs/wasm-edit@npm:^1.12.1": version: 1.14.1 resolution: "@webassemblyjs/wasm-edit@npm:1.14.1" dependencies: @@ -15375,7 +15321,7 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/wasm-parser@npm:1.14.1, @webassemblyjs/wasm-parser@npm:^1.12.1, @webassemblyjs/wasm-parser@npm:^1.14.1": +"@webassemblyjs/wasm-parser@npm:1.14.1, @webassemblyjs/wasm-parser@npm:^1.12.1": version: 1.14.1 resolution: "@webassemblyjs/wasm-parser@npm:1.14.1" dependencies: @@ -17009,7 +16955,7 @@ __metadata: "@typescript-eslint/parser": "npm:~8.17.0" "@vercel/ncc": "npm:~0.38.0" angular-eslint: "npm:~18.4.0" - audit-types: "npm:~0.6.0" + audit-types: "npm:^0.6.0" eslint: "npm:~9.14.0" eslint-plugin-import: "npm:^2.31.0" eslint-plugin-import-newlines: "npm:^1.4.0" @@ -17027,14 +16973,14 @@ __metadata: typescript: "npm:~5.5.4" typescript-eslint: "npm:~8.17.0" peerDependencies: - audit-types: ~0.6.0 + audit-types: ^0.6.0 peerDependenciesMeta: audit-types: optional: true languageName: unknown linkType: soft -"audit-types@npm:~0.6.0": +"audit-types@npm:^0.6.0": version: 0.6.2 resolution: "audit-types@npm:0.6.2" checksum: 10/0ad90cec66f9eeabd0792ce6dc0a9be386dfe499cb26b07079a1d8acc0ddf9740d627c9a54e5b3a9fba289a60a51fc962c235ea71e843ff5d82b6d2f0e753a91 @@ -20395,15 +20341,15 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.5, debug@npm:^4.3.6, debug@npm:^4.3.7, debug@npm:^4.4.0": - version: 4.4.0 - resolution: "debug@npm:4.4.0" +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.5, debug@npm:^4.3.6, debug@npm:^4.3.7, debug@npm:~4.3.6": + version: 4.3.7 + resolution: "debug@npm:4.3.7" dependencies: ms: "npm:^2.1.3" peerDependenciesMeta: supports-color: optional: true - checksum: 10/1847944c2e3c2c732514b93d11886575625686056cd765336212dc15de2d2b29612b6cd80e1afba767bb8e1803b778caf9973e98169ef1a24a7a7009e1820367 + checksum: 10/71168908b9a78227ab29d5d25fe03c5867750e31ce24bf2c44a86efc5af041758bb56569b0a3d48a9b5344c00a24a777e6f4100ed6dfd9534a42c1dde285125a languageName: node linkType: hard @@ -20416,6 +20362,18 @@ __metadata: languageName: node linkType: hard +"debug@npm:^4.4.0": + version: 4.4.0 + resolution: "debug@npm:4.4.0" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10/1847944c2e3c2c732514b93d11886575625686056cd765336212dc15de2d2b29612b6cd80e1afba767bb8e1803b778caf9973e98169ef1a24a7a7009e1820367 + languageName: node + linkType: hard + "debug@npm:~3.1.0": version: 3.1.0 resolution: "debug@npm:3.1.0" @@ -20425,18 +20383,6 @@ __metadata: languageName: node linkType: hard -"debug@npm:~4.3.6": - version: 4.3.7 - resolution: "debug@npm:4.3.7" - dependencies: - ms: "npm:^2.1.3" - peerDependenciesMeta: - supports-color: - optional: true - checksum: 10/71168908b9a78227ab29d5d25fe03c5867750e31ce24bf2c44a86efc5af041758bb56569b0a3d48a9b5344c00a24a777e6f4100ed6dfd9534a42c1dde285125a - languageName: node - linkType: hard - "decache@npm:^4.6.2": version: 4.6.2 resolution: "decache@npm:4.6.2" @@ -27737,7 +27683,7 @@ __metadata: languageName: node linkType: hard -"logrocket-ngrx@npm:~0.2.1": +"logrocket-ngrx@npm:^0.2.1": version: 0.2.1 resolution: "logrocket-ngrx@npm:0.2.1" peerDependencies: @@ -29253,8 +29199,8 @@ __metadata: linkType: hard "node-gyp@npm:^10.0.0": - version: 10.3.1 - resolution: "node-gyp@npm:10.3.1" + version: 10.2.0 + resolution: "node-gyp@npm:10.2.0" dependencies: env-paths: "npm:^2.2.0" exponential-backoff: "npm:^3.1.1" @@ -29268,7 +29214,7 @@ __metadata: which: "npm:^4.0.0" bin: node-gyp: bin/node-gyp.js - checksum: 10/d3004f648559e42d7ec8791ea75747fe8a163a6061c202e311e5d7a5f6266baa9a5f5c6fde7be563974c88b030c5d0855fd945364f52fcd230d2a2ceee7be80d + checksum: 10/41773093b1275751dec942b985982fd4e7a69b88cae719b868babcef3880ee6168aaec8dcaa8cd0b9fa7c84873e36cc549c6cac6a124ee65ba4ce1f1cc108cfe languageName: node linkType: hard @@ -33342,8 +33288,8 @@ __metadata: linkType: hard "sass@npm:^1.42.1, sass@npm:^1.69.5": - version: 1.82.0 - resolution: "sass@npm:1.82.0" + version: 1.81.0 + resolution: "sass@npm:1.81.0" dependencies: "@parcel/watcher": "npm:^2.4.1" chokidar: "npm:^4.0.0" @@ -33354,7 +33300,7 @@ __metadata: optional: true bin: sass: sass.js - checksum: 10/35fca01aef652e8cb1fede83fe4214e3c2ba10c9af3d7f101eec7c3c3d1064001f9c7d09a7fdb9548062b60fee62e5f1f931d90aecac02f6bc8deaa4b7516c5f + checksum: 10/f5acce5c3bb4bde6851def112e094eed20ed062e195350cea42e98bee317cf0dbcf8a6ee44222f8826437f81562fb87b840728612b0301851f7bc6d853d9142c languageName: node linkType: hard @@ -35964,7 +35910,7 @@ __metadata: languageName: node linkType: hard -"typescript-json-schema@npm:~0.65.0": +"typescript-json-schema@npm:^0.65.0": version: 0.65.1 resolution: "typescript-json-schema@npm:0.65.1" dependencies: @@ -37128,15 +37074,15 @@ __metadata: languageName: node linkType: hard -"webpack@npm:5, webpack@npm:^5.80.0, webpack@npm:^5.88.0": - version: 5.97.1 - resolution: "webpack@npm:5.97.1" +"webpack@npm:5, webpack@npm:^5.80.0, webpack@npm:^5.88.0, webpack@npm:~5.96.0": + version: 5.96.1 + resolution: "webpack@npm:5.96.1" dependencies: "@types/eslint-scope": "npm:^3.7.7" "@types/estree": "npm:^1.0.6" - "@webassemblyjs/ast": "npm:^1.14.1" - "@webassemblyjs/wasm-edit": "npm:^1.14.1" - "@webassemblyjs/wasm-parser": "npm:^1.14.1" + "@webassemblyjs/ast": "npm:^1.12.1" + "@webassemblyjs/wasm-edit": "npm:^1.12.1" + "@webassemblyjs/wasm-parser": "npm:^1.12.1" acorn: "npm:^8.14.0" browserslist: "npm:^4.24.0" chrome-trace-event: "npm:^1.0.2" @@ -37160,7 +37106,7 @@ __metadata: optional: true bin: webpack: bin/webpack.js - checksum: 10/665bd3b8c84b20f0b1f250159865e4d3e9b76c682030313d49124d5f8e96357ccdcc799dd9fe0ebf010fdb33dbc59d9863d79676a308e868e360ac98f7c09987 + checksum: 10/d3419ffd198252e1d0301bd0c072cee93172f3e47937c745aa8202691d2f5d529d4ba4a1965d1450ad89a1bcd3c1f70ae09e57232b0d01dd38d69c1060e964d5 languageName: node linkType: hard @@ -37200,42 +37146,6 @@ __metadata: languageName: node linkType: hard -"webpack@npm:~5.96.0": - version: 5.96.1 - resolution: "webpack@npm:5.96.1" - dependencies: - "@types/eslint-scope": "npm:^3.7.7" - "@types/estree": "npm:^1.0.6" - "@webassemblyjs/ast": "npm:^1.12.1" - "@webassemblyjs/wasm-edit": "npm:^1.12.1" - "@webassemblyjs/wasm-parser": "npm:^1.12.1" - acorn: "npm:^8.14.0" - browserslist: "npm:^4.24.0" - chrome-trace-event: "npm:^1.0.2" - enhanced-resolve: "npm:^5.17.1" - es-module-lexer: "npm:^1.2.1" - eslint-scope: "npm:5.1.1" - events: "npm:^3.2.0" - glob-to-regexp: "npm:^0.4.1" - graceful-fs: "npm:^4.2.11" - json-parse-even-better-errors: "npm:^2.3.1" - loader-runner: "npm:^4.2.0" - mime-types: "npm:^2.1.27" - neo-async: "npm:^2.6.2" - schema-utils: "npm:^3.2.0" - tapable: "npm:^2.1.1" - terser-webpack-plugin: "npm:^5.3.10" - watchpack: "npm:^2.4.1" - webpack-sources: "npm:^3.2.3" - peerDependenciesMeta: - webpack-cli: - optional: true - bin: - webpack: bin/webpack.js - checksum: 10/d3419ffd198252e1d0301bd0c072cee93172f3e47937c745aa8202691d2f5d529d4ba4a1965d1450ad89a1bcd3c1f70ae09e57232b0d01dd38d69c1060e964d5 - languageName: node - linkType: hard - "websocket-driver@npm:>=0.5.1, websocket-driver@npm:^0.7.4": version: 0.7.4 resolution: "websocket-driver@npm:0.7.4"