feat(angular): support angular v20 (#31369)
Add support for Angular v20. BREAKING CHANGE: Support for Angular v17 was dropped. ### TODO - [x] Update Angular packages to the stable v20 - [x] Update `jest-preset-angular` when it releases support for Angular v20 - [x] PR: https://github.com/thymikee/jest-preset-angular/pull/3119 - [x] Release: https://github.com/thymikee/jest-preset-angular/releases/tag/v14.6.0 - [ ] Update Angular ESLint packages to the v20 stable version once released - [ ] PR: https://github.com/angular-eslint/angular-eslint/pull/2448 - [x] Update AnalogJS packages when they are released with support for Angular v20 - [x] PR: https://github.com/analogjs/analog/pull/1751 - [x] Release: https://github.com/analogjs/analog/releases/tag/v1.17.0 - [x] Fix for `@analogjs/vitest-angular` peer deps: https://github.com/analogjs/analog/pull/1754 - [x] Release: - [x] Beta: https://github.com/analogjs/analog/releases/tag/v1.17.1-beta.1 - [x] Stable: https://github.com/analogjs/analog/releases/tag/v1.17.1 - [ ] Update Storybook packages - [x] PRs: https://github.com/storybookjs/storybook/pull/31602 and https://github.com/storybookjs/storybook/pull/31611 - [x] Storybook 9 Release: https://github.com/storybookjs/storybook/releases/tag/v9.0.3 - [ ] Storybook 8 Release??: PENDING - [ ] Remaining issue: https://github.com/storybookjs/storybook/issues/31652
This commit is contained in:
parent
66c4dae6b6
commit
601fecdf0c
@ -399,14 +399,14 @@
|
||||
}
|
||||
},
|
||||
"migrations": {
|
||||
"/technologies/angular/api/migrations/update-angular-cli-version-20-0-0-rc-3": {
|
||||
"description": "Update the @angular/cli package version to 20.0.0-rc.3.",
|
||||
"file": "generated/packages/angular/migrations/update-angular-cli-version-20-0-0-rc-3.json",
|
||||
"/technologies/angular/api/migrations/update-angular-cli-version-20-0-0": {
|
||||
"description": "Update the @angular/cli package version to ~20.0.0.",
|
||||
"file": "generated/packages/angular/migrations/update-angular-cli-version-20-0-0.json",
|
||||
"hidden": false,
|
||||
"name": "update-angular-cli-version-20-0-0-rc-3",
|
||||
"version": "21.2.0-beta.0",
|
||||
"name": "update-angular-cli-version-20-0-0",
|
||||
"version": "21.2.0-beta.3",
|
||||
"originalFilePath": "/packages/angular",
|
||||
"path": "/technologies/angular/api/migrations/update-angular-cli-version-20-0-0-rc-3",
|
||||
"path": "/technologies/angular/api/migrations/update-angular-cli-version-20-0-0",
|
||||
"type": "migration"
|
||||
},
|
||||
"/technologies/angular/api/migrations/migrate-provide-server-rendering-import": {
|
||||
@ -414,17 +414,17 @@
|
||||
"file": "generated/packages/angular/migrations/migrate-provide-server-rendering-import.json",
|
||||
"hidden": false,
|
||||
"name": "migrate-provide-server-rendering-import",
|
||||
"version": "21.2.0-beta.0",
|
||||
"version": "21.2.0-beta.3",
|
||||
"originalFilePath": "/packages/angular",
|
||||
"path": "/technologies/angular/api/migrations/migrate-provide-server-rendering-import",
|
||||
"type": "migration"
|
||||
},
|
||||
"/technologies/angular/api/migrations/replace-provide-server-routing": {
|
||||
"description": "Replace `provideServerRouting` with `provideServerRendering` using `withRoutes`.",
|
||||
"description": "Replace `provideServerRouting` and `provideServerRoutesConfig` with `provideServerRendering` using `withRoutes`.",
|
||||
"file": "generated/packages/angular/migrations/replace-provide-server-routing.json",
|
||||
"hidden": false,
|
||||
"name": "replace-provide-server-routing",
|
||||
"version": "21.2.0-beta.0",
|
||||
"version": "21.2.0-beta.3",
|
||||
"originalFilePath": "/packages/angular",
|
||||
"path": "/technologies/angular/api/migrations/replace-provide-server-routing",
|
||||
"type": "migration"
|
||||
@ -434,7 +434,7 @@
|
||||
"file": "generated/packages/angular/migrations/set-generator-defaults-for-previous-style-guide.json",
|
||||
"hidden": false,
|
||||
"name": "set-generator-defaults-for-previous-style-guide",
|
||||
"version": "21.2.0-beta.0",
|
||||
"version": "21.2.0-beta.3",
|
||||
"originalFilePath": "/packages/angular",
|
||||
"path": "/technologies/angular/api/migrations/set-generator-defaults-for-previous-style-guide",
|
||||
"type": "migration"
|
||||
@ -444,7 +444,7 @@
|
||||
"file": "generated/packages/angular/migrations/update-module-resolution.json",
|
||||
"hidden": false,
|
||||
"name": "update-module-resolution",
|
||||
"version": "21.2.0-beta.0",
|
||||
"version": "21.2.0-beta.3",
|
||||
"originalFilePath": "/packages/angular",
|
||||
"path": "/technologies/angular/api/migrations/update-module-resolution",
|
||||
"type": "migration"
|
||||
@ -454,11 +454,51 @@
|
||||
"file": "generated/packages/angular/migrations/21.2.0-package-updates.json",
|
||||
"hidden": false,
|
||||
"name": "21.2.0-package-updates",
|
||||
"version": "21.2.0-beta.0",
|
||||
"version": "21.2.0-beta.3",
|
||||
"originalFilePath": "/packages/angular",
|
||||
"path": "/technologies/angular/api/migrations/21.2.0-package-updates",
|
||||
"type": "migration"
|
||||
},
|
||||
"/technologies/angular/api/migrations/21.2.0-angular-eslint-package-updates": {
|
||||
"description": "",
|
||||
"file": "generated/packages/angular/migrations/21.2.0-angular-eslint-package-updates.json",
|
||||
"hidden": false,
|
||||
"name": "21.2.0-angular-eslint-package-updates",
|
||||
"version": "21.2.0-beta.3",
|
||||
"originalFilePath": "/packages/angular",
|
||||
"path": "/technologies/angular/api/migrations/21.2.0-angular-eslint-package-updates",
|
||||
"type": "migration"
|
||||
},
|
||||
"/technologies/angular/api/migrations/21.2.0-@angular-eslint-package-updates": {
|
||||
"description": "",
|
||||
"file": "generated/packages/angular/migrations/21.2.0-@angular-eslint-package-updates.json",
|
||||
"hidden": false,
|
||||
"name": "21.2.0-@angular-eslint-package-updates",
|
||||
"version": "21.2.0-beta.3",
|
||||
"originalFilePath": "/packages/angular",
|
||||
"path": "/technologies/angular/api/migrations/21.2.0-@angular-eslint-package-updates",
|
||||
"type": "migration"
|
||||
},
|
||||
"/technologies/angular/api/migrations/21.2.0-angular-rspack-package-updates": {
|
||||
"description": "",
|
||||
"file": "generated/packages/angular/migrations/21.2.0-angular-rspack-package-updates.json",
|
||||
"hidden": false,
|
||||
"name": "21.2.0-angular-rspack-package-updates",
|
||||
"version": "21.2.0-beta.3",
|
||||
"originalFilePath": "/packages/angular",
|
||||
"path": "/technologies/angular/api/migrations/21.2.0-angular-rspack-package-updates",
|
||||
"type": "migration"
|
||||
},
|
||||
"/technologies/angular/api/migrations/21.2.0-jest-package-updates": {
|
||||
"description": "",
|
||||
"file": "generated/packages/angular/migrations/21.2.0-jest-package-updates.json",
|
||||
"hidden": false,
|
||||
"name": "21.2.0-jest-package-updates",
|
||||
"version": "21.2.0-beta.3",
|
||||
"originalFilePath": "/packages/angular",
|
||||
"path": "/technologies/angular/api/migrations/21.2.0-jest-package-updates",
|
||||
"type": "migration"
|
||||
},
|
||||
"/technologies/angular/api/migrations/21.1.0-package-updates": {
|
||||
"description": "",
|
||||
"file": "generated/packages/angular/migrations/21.1.0-package-updates.json",
|
||||
@ -4881,6 +4921,16 @@
|
||||
}
|
||||
},
|
||||
"migrations": {
|
||||
"/technologies/build-tools/vite/api/migrations/21.2.0-package-updates": {
|
||||
"description": "",
|
||||
"file": "generated/packages/vite/migrations/21.2.0-package-updates.json",
|
||||
"hidden": false,
|
||||
"name": "21.2.0-package-updates",
|
||||
"version": "21.2.0-beta.3",
|
||||
"originalFilePath": "/packages/vite",
|
||||
"path": "/technologies/build-tools/vite/api/migrations/21.2.0-package-updates",
|
||||
"type": "migration"
|
||||
},
|
||||
"/technologies/build-tools/vite/api/migrations/21.1.2-package-updates": {
|
||||
"description": "",
|
||||
"file": "generated/packages/vite/migrations/21.1.2-package-updates.json",
|
||||
|
||||
@ -440,13 +440,13 @@
|
||||
],
|
||||
"migrations": [
|
||||
{
|
||||
"description": "Update the @angular/cli package version to 20.0.0-rc.3.",
|
||||
"file": "generated/packages/angular/migrations/update-angular-cli-version-20-0-0-rc-3.json",
|
||||
"description": "Update the @angular/cli package version to ~20.0.0.",
|
||||
"file": "generated/packages/angular/migrations/update-angular-cli-version-20-0-0.json",
|
||||
"hidden": false,
|
||||
"name": "update-angular-cli-version-20-0-0-rc-3",
|
||||
"version": "21.2.0-beta.0",
|
||||
"name": "update-angular-cli-version-20-0-0",
|
||||
"version": "21.2.0-beta.3",
|
||||
"originalFilePath": "/packages/angular",
|
||||
"path": "angular/migrations/update-angular-cli-version-20-0-0-rc-3",
|
||||
"path": "angular/migrations/update-angular-cli-version-20-0-0",
|
||||
"type": "migration"
|
||||
},
|
||||
{
|
||||
@ -454,17 +454,17 @@
|
||||
"file": "generated/packages/angular/migrations/migrate-provide-server-rendering-import.json",
|
||||
"hidden": false,
|
||||
"name": "migrate-provide-server-rendering-import",
|
||||
"version": "21.2.0-beta.0",
|
||||
"version": "21.2.0-beta.3",
|
||||
"originalFilePath": "/packages/angular",
|
||||
"path": "angular/migrations/migrate-provide-server-rendering-import",
|
||||
"type": "migration"
|
||||
},
|
||||
{
|
||||
"description": "Replace `provideServerRouting` with `provideServerRendering` using `withRoutes`.",
|
||||
"description": "Replace `provideServerRouting` and `provideServerRoutesConfig` with `provideServerRendering` using `withRoutes`.",
|
||||
"file": "generated/packages/angular/migrations/replace-provide-server-routing.json",
|
||||
"hidden": false,
|
||||
"name": "replace-provide-server-routing",
|
||||
"version": "21.2.0-beta.0",
|
||||
"version": "21.2.0-beta.3",
|
||||
"originalFilePath": "/packages/angular",
|
||||
"path": "angular/migrations/replace-provide-server-routing",
|
||||
"type": "migration"
|
||||
@ -474,7 +474,7 @@
|
||||
"file": "generated/packages/angular/migrations/set-generator-defaults-for-previous-style-guide.json",
|
||||
"hidden": false,
|
||||
"name": "set-generator-defaults-for-previous-style-guide",
|
||||
"version": "21.2.0-beta.0",
|
||||
"version": "21.2.0-beta.3",
|
||||
"originalFilePath": "/packages/angular",
|
||||
"path": "angular/migrations/set-generator-defaults-for-previous-style-guide",
|
||||
"type": "migration"
|
||||
@ -484,7 +484,7 @@
|
||||
"file": "generated/packages/angular/migrations/update-module-resolution.json",
|
||||
"hidden": false,
|
||||
"name": "update-module-resolution",
|
||||
"version": "21.2.0-beta.0",
|
||||
"version": "21.2.0-beta.3",
|
||||
"originalFilePath": "/packages/angular",
|
||||
"path": "angular/migrations/update-module-resolution",
|
||||
"type": "migration"
|
||||
@ -494,11 +494,51 @@
|
||||
"file": "generated/packages/angular/migrations/21.2.0-package-updates.json",
|
||||
"hidden": false,
|
||||
"name": "21.2.0-package-updates",
|
||||
"version": "21.2.0-beta.0",
|
||||
"version": "21.2.0-beta.3",
|
||||
"originalFilePath": "/packages/angular",
|
||||
"path": "angular/migrations/21.2.0-package-updates",
|
||||
"type": "migration"
|
||||
},
|
||||
{
|
||||
"description": "",
|
||||
"file": "generated/packages/angular/migrations/21.2.0-angular-eslint-package-updates.json",
|
||||
"hidden": false,
|
||||
"name": "21.2.0-angular-eslint-package-updates",
|
||||
"version": "21.2.0-beta.3",
|
||||
"originalFilePath": "/packages/angular",
|
||||
"path": "angular/migrations/21.2.0-angular-eslint-package-updates",
|
||||
"type": "migration"
|
||||
},
|
||||
{
|
||||
"description": "",
|
||||
"file": "generated/packages/angular/migrations/21.2.0-@angular-eslint-package-updates.json",
|
||||
"hidden": false,
|
||||
"name": "21.2.0-@angular-eslint-package-updates",
|
||||
"version": "21.2.0-beta.3",
|
||||
"originalFilePath": "/packages/angular",
|
||||
"path": "angular/migrations/21.2.0-@angular-eslint-package-updates",
|
||||
"type": "migration"
|
||||
},
|
||||
{
|
||||
"description": "",
|
||||
"file": "generated/packages/angular/migrations/21.2.0-angular-rspack-package-updates.json",
|
||||
"hidden": false,
|
||||
"name": "21.2.0-angular-rspack-package-updates",
|
||||
"version": "21.2.0-beta.3",
|
||||
"originalFilePath": "/packages/angular",
|
||||
"path": "angular/migrations/21.2.0-angular-rspack-package-updates",
|
||||
"type": "migration"
|
||||
},
|
||||
{
|
||||
"description": "",
|
||||
"file": "generated/packages/angular/migrations/21.2.0-jest-package-updates.json",
|
||||
"hidden": false,
|
||||
"name": "21.2.0-jest-package-updates",
|
||||
"version": "21.2.0-beta.3",
|
||||
"originalFilePath": "/packages/angular",
|
||||
"path": "angular/migrations/21.2.0-jest-package-updates",
|
||||
"type": "migration"
|
||||
},
|
||||
{
|
||||
"description": "",
|
||||
"file": "generated/packages/angular/migrations/21.1.0-package-updates.json",
|
||||
@ -5249,6 +5289,16 @@
|
||||
}
|
||||
],
|
||||
"migrations": [
|
||||
{
|
||||
"description": "",
|
||||
"file": "generated/packages/vite/migrations/21.2.0-package-updates.json",
|
||||
"hidden": false,
|
||||
"name": "21.2.0-package-updates",
|
||||
"version": "21.2.0-beta.3",
|
||||
"originalFilePath": "/packages/vite",
|
||||
"path": "vite/migrations/21.2.0-package-updates",
|
||||
"type": "migration"
|
||||
},
|
||||
{
|
||||
"description": "",
|
||||
"file": "generated/packages/vite/migrations/21.1.2-package-updates.json",
|
||||
|
||||
@ -0,0 +1,49 @@
|
||||
{
|
||||
"name": "21.2.0-@angular-eslint-package-updates",
|
||||
"version": "21.2.0-beta.3",
|
||||
"requires": {
|
||||
"@angular/core": ">= 20.0.0 < 21.0.0",
|
||||
"eslint": "^8.57.0 || ^9.0.0"
|
||||
},
|
||||
"packages": {
|
||||
"@angular-eslint/eslint-plugin": {
|
||||
"version": "^20.0.0-beta.1",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular-eslint/eslint-plugin-template": {
|
||||
"version": "^20.0.0-beta.1",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular-eslint/template-parser": {
|
||||
"version": "^20.0.0-beta.1",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular-eslint/utils": {
|
||||
"version": "^20.0.0-beta.1",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular-eslint/schematics": {
|
||||
"version": "^20.0.0-beta.1",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular-eslint/test-utils": {
|
||||
"version": "^20.0.0-beta.1",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular-eslint/builder": {
|
||||
"version": "^20.0.0-beta.1",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular-eslint/bundled-angular-compiler": {
|
||||
"version": "^20.0.0-beta.1",
|
||||
"alwaysAddToPackageJson": false
|
||||
}
|
||||
},
|
||||
"aliases": [],
|
||||
"description": "",
|
||||
"hidden": false,
|
||||
"implementation": "",
|
||||
"path": "/packages/angular",
|
||||
"schema": null,
|
||||
"type": "migration"
|
||||
}
|
||||
@ -0,0 +1,22 @@
|
||||
{
|
||||
"name": "21.2.0-angular-eslint-package-updates",
|
||||
"version": "21.2.0-beta.3",
|
||||
"requires": {
|
||||
"@angular/core": ">= 20.0.0 < 21.0.0",
|
||||
"typescript-eslint": "^8.0.0",
|
||||
"eslint": "^8.57.0 || ^9.0.0"
|
||||
},
|
||||
"packages": {
|
||||
"angular-eslint": {
|
||||
"version": "^20.0.0-beta.1",
|
||||
"alwaysAddToPackageJson": false
|
||||
}
|
||||
},
|
||||
"aliases": [],
|
||||
"description": "",
|
||||
"hidden": false,
|
||||
"implementation": "",
|
||||
"path": "/packages/angular",
|
||||
"schema": null,
|
||||
"type": "migration"
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "21.2.0-angular-rspack-package-updates",
|
||||
"version": "21.2.0-beta.3",
|
||||
"packages": {
|
||||
"@nx/angular-rspack": {
|
||||
"version": "^21.1.0",
|
||||
"alwaysAddToPackageJson": false
|
||||
}
|
||||
},
|
||||
"aliases": [],
|
||||
"description": "",
|
||||
"hidden": false,
|
||||
"implementation": "",
|
||||
"path": "/packages/angular",
|
||||
"schema": null,
|
||||
"type": "migration"
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
{
|
||||
"name": "21.2.0-jest-package-updates",
|
||||
"version": "21.2.0-beta.3",
|
||||
"requires": {
|
||||
"@angular/compiler-cli": ">=15.0.0 <21.0.0",
|
||||
"@angular/core": ">=15.0.0 <21.0.0",
|
||||
"@angular/platform-browser-dynamic": ">=15.0.0 <21.0.0",
|
||||
"jest": "^29.0.0"
|
||||
},
|
||||
"packages": {
|
||||
"jest-preset-angular": {
|
||||
"version": "~14.6.0",
|
||||
"alwaysAddToPackageJson": false
|
||||
}
|
||||
},
|
||||
"aliases": [],
|
||||
"description": "",
|
||||
"hidden": false,
|
||||
"implementation": "",
|
||||
"path": "/packages/angular",
|
||||
"schema": null,
|
||||
"type": "migration"
|
||||
}
|
||||
@ -1,62 +1,47 @@
|
||||
{
|
||||
"name": "21.2.0-package-updates",
|
||||
"version": "21.2.0-beta.0",
|
||||
"version": "21.2.0-beta.3",
|
||||
"x-prompt": "Do you want to update the Angular version to v20?",
|
||||
"requires": { "@angular/core": ">=19.2.0 <20.0.0-rc.2" },
|
||||
"requires": { "@angular/core": ">=19.2.0 <20.0.0" },
|
||||
"packages": {
|
||||
"@angular-devkit/build-angular": {
|
||||
"version": "20.0.0-rc.3",
|
||||
"version": "~20.0.0",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular-devkit/core": {
|
||||
"version": "20.0.0-rc.3",
|
||||
"version": "~20.0.0",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular-devkit/schematics": {
|
||||
"version": "20.0.0-rc.3",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular/build": {
|
||||
"version": "20.0.0-rc.3",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular/pwa": {
|
||||
"version": "20.0.0-rc.3",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular/ssr": {
|
||||
"version": "20.0.0-rc.3",
|
||||
"version": "~20.0.0",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular/build": { "version": "~20.0.0", "alwaysAddToPackageJson": false },
|
||||
"@angular/pwa": { "version": "~20.0.0", "alwaysAddToPackageJson": false },
|
||||
"@angular/ssr": { "version": "~20.0.0", "alwaysAddToPackageJson": false },
|
||||
"@schematics/angular": {
|
||||
"version": "20.0.0-rc.3",
|
||||
"version": "~20.0.0",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular-devkit/architect": {
|
||||
"version": "0.2000.0-rc.3",
|
||||
"version": "~0.2000.0",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular-devkit/build-webpack": {
|
||||
"version": "0.2000.0-rc.3",
|
||||
"version": "~0.2000.0",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular/core": {
|
||||
"version": "20.0.0-rc.2",
|
||||
"alwaysAddToPackageJson": true
|
||||
},
|
||||
"@angular/core": { "version": "~20.0.0", "alwaysAddToPackageJson": true },
|
||||
"@angular/material": {
|
||||
"version": "20.0.0-rc.2",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular/cdk": {
|
||||
"version": "20.0.0-rc.2",
|
||||
"version": "~20.0.0",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular/cdk": { "version": "~20.0.0", "alwaysAddToPackageJson": false },
|
||||
"@angular/google-maps": {
|
||||
"version": "20.0.0-rc.2",
|
||||
"version": "~20.0.0",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"ng-packagr": { "version": "20.0.0-rc.1", "alwaysAddToPackageJson": false }
|
||||
"ng-packagr": { "version": "~20.0.0", "alwaysAddToPackageJson": false }
|
||||
},
|
||||
"aliases": [],
|
||||
"description": "",
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "migrate-provide-server-rendering-import",
|
||||
"version": "21.2.0-beta.0",
|
||||
"requires": { "@angular/core": ">=20.0.0-rc.2" },
|
||||
"version": "21.2.0-beta.3",
|
||||
"requires": { "@angular/core": ">=20.0.0" },
|
||||
"description": "Migrate imports of `provideServerRendering` from `@angular/platform-server` to `@angular/ssr`.",
|
||||
"factory": "./src/migrations/update-21-2-0/migrate-provide-server-rendering-import",
|
||||
"implementation": "/packages/angular/src/migrations/update-21-2-0/migrate-provide-server-rendering-import.ts",
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
{
|
||||
"name": "replace-provide-server-routing",
|
||||
"version": "21.2.0-beta.0",
|
||||
"requires": { "@angular/core": ">=20.0.0-rc.2" },
|
||||
"description": "Replace `provideServerRouting` with `provideServerRendering` using `withRoutes`.",
|
||||
"version": "21.2.0-beta.3",
|
||||
"requires": { "@angular/core": ">=20.0.0" },
|
||||
"description": "Replace `provideServerRouting` and `provideServerRoutesConfig` with `provideServerRendering` using `withRoutes`.",
|
||||
"factory": "./src/migrations/update-21-2-0/replace-provide-server-routing",
|
||||
"implementation": "/packages/angular/src/migrations/update-21-2-0/replace-provide-server-routing.ts",
|
||||
"aliases": [],
|
||||
@ -10,5 +10,5 @@
|
||||
"path": "/packages/angular",
|
||||
"schema": null,
|
||||
"type": "migration",
|
||||
"examplesFile": "#### Replace `provideServerRouting` with `provideServerRendering`\n\nReplace `provideServerRouting` calls with `provideServerRendering` using `withRoutes`.\n\n#### Examples\n\nRemove `provideServerRouting` from your providers array and update the `provideServerRendering` call to use `withRoutes`:\n\n{% tabs %}\n{% tab label=\"Before\" %}\n\n```ts {% fileName=\"app/app.config.server.ts\" highlightLines=[2,6] %}\nimport { ApplicationConfig } from '@angular/core';\nimport { provideServerRendering, provideServerRouting } from '@angular/ssr';\nimport { serverRoutes } from './app.routes.server';\n\nconst serverConfig: ApplicationConfig = {\n providers: [provideServerRendering(), provideServerRouting(serverRoutes)],\n};\n```\n\n{% /tab %}\n\n{% tab label=\"After\" %}\n\n```ts {% fileName=\"app/app.config.server.ts\" highlightLines=[2,6] %}\nimport { ApplicationConfig } from '@angular/core';\nimport { provideServerRendering, withRoutes } from '@angular/ssr';\nimport { serverRoutes } from './app.routes.server';\n\nconst serverConfig: ApplicationConfig = {\n providers: [provideServerRendering(withRoutes(serverRoutes))],\n};\n```\n\n{% /tab %}\n{% /tabs %}\n\nIf you have `provideServerRouting` with additional arguments, the migration will preserve them:\n\n{% tabs %}\n{% tab label=\"Before\" %}\n\n```ts {% fileName=\"app/app.config.server.ts\" highlightLines=[4,11,12] %}\nimport { ApplicationConfig } from '@angular/core';\nimport {\n provideServerRendering,\n provideServerRouting,\n withAppShell,\n} from '@angular/ssr';\nimport { serverRoutes } from './app.routes.server';\n\nconst serverConfig: ApplicationConfig = {\n providers: [\n provideServerRendering(),\n provideServerRouting(serverRoutes, withAppShell(AppShellComponent)),\n ],\n};\n```\n\n{% /tab %}\n\n{% tab label=\"After\" %}\n\n```ts {% fileName=\"app/app.config.server.ts\" highlightLines=[2,\"7-10\"] %}\nimport { ApplicationConfig } from '@angular/core';\nimport { provideServerRendering, withAppShell, withRoutes } from '@angular/ssr';\nimport { serverRoutes } from './app.routes.server';\n\nconst serverConfig: ApplicationConfig = {\n providers: [\n provideServerRendering(\n withRoutes(serverRoutes),\n withAppShell(AppShellComponent)\n ),\n ],\n};\n```\n\n{% /tab %}\n{% /tabs %}\n"
|
||||
"examplesFile": "#### Replace `provideServerRouting` and `provideServerRoutesConfig` with `provideServerRendering`\n\nReplace `provideServerRouting` and `provideServerRoutesConfig` calls with `provideServerRendering` using `withRoutes`.\n\n#### Examples\n\nRemove `provideServerRouting` from your providers array and update the `provideServerRendering` call to use `withRoutes`:\n\n{% tabs %}\n{% tab label=\"Before\" %}\n\n```ts {% fileName=\"app/app.config.server.ts\" highlightLines=[2,6] %}\nimport { ApplicationConfig } from '@angular/core';\nimport { provideServerRendering, provideServerRouting } from '@angular/ssr';\nimport { serverRoutes } from './app.routes.server';\n\nconst serverConfig: ApplicationConfig = {\n providers: [provideServerRendering(), provideServerRouting(serverRoutes)],\n};\n```\n\n{% /tab %}\n\n{% tab label=\"After\" %}\n\n```ts {% fileName=\"app/app.config.server.ts\" highlightLines=[2,6] %}\nimport { ApplicationConfig } from '@angular/core';\nimport { provideServerRendering, withRoutes } from '@angular/ssr';\nimport { serverRoutes } from './app.routes.server';\n\nconst serverConfig: ApplicationConfig = {\n providers: [provideServerRendering(withRoutes(serverRoutes))],\n};\n```\n\n{% /tab %}\n{% /tabs %}\n\nIf you have `provideServerRouting` with additional arguments, the migration will preserve them:\n\n{% tabs %}\n{% tab label=\"Before\" %}\n\n```ts {% fileName=\"app/app.config.server.ts\" highlightLines=[4,11,12] %}\nimport { ApplicationConfig } from '@angular/core';\nimport {\n provideServerRendering,\n provideServerRouting,\n withAppShell,\n} from '@angular/ssr';\nimport { serverRoutes } from './app.routes.server';\n\nconst serverConfig: ApplicationConfig = {\n providers: [\n provideServerRendering(),\n provideServerRouting(serverRoutes, withAppShell(AppShellComponent)),\n ],\n};\n```\n\n{% /tab %}\n\n{% tab label=\"After\" %}\n\n```ts {% fileName=\"app/app.config.server.ts\" highlightLines=[2,\"7-10\"] %}\nimport { ApplicationConfig } from '@angular/core';\nimport { provideServerRendering, withAppShell, withRoutes } from '@angular/ssr';\nimport { serverRoutes } from './app.routes.server';\n\nconst serverConfig: ApplicationConfig = {\n providers: [\n provideServerRendering(\n withRoutes(serverRoutes),\n withAppShell(AppShellComponent)\n ),\n ],\n};\n```\n\n{% /tab %}\n{% /tabs %}\n\nRemove `provideServerRoutesConfig` from your providers array and update the `provideServerRendering` call to use `withRoutes`:\n\n{% tabs %}\n{% tab label=\"Before\" %}\n\n```ts {% fileName=\"app/app.config.server.ts\" highlightLines=[4,11,12] %}\nimport { ApplicationConfig } from '@angular/core';\nimport {\n provideServerRendering,\n provideServerRoutesConfig,\n withAppShell,\n} from '@angular/ssr';\nimport { serverRoutes } from './app.routes.server';\n\nconst serverConfig: ApplicationConfig = {\n providers: [\n provideServerRendering(),\n provideServerRoutesConfig(serverRoutes, withAppShell(AppShellComponent)),\n ],\n};\n```\n\n{% /tab %}\n\n{% tab label=\"After\" %}\n\n```ts {% fileName=\"app/app.config.server.ts\" highlightLines=[2,\"7-10\"] %}\nimport { ApplicationConfig } from '@angular/core';\nimport { provideServerRendering, withAppShell, withRoutes } from '@angular/ssr';\nimport { serverRoutes } from './app.routes.server';\n\nconst serverConfig: ApplicationConfig = {\n providers: [\n provideServerRendering(\n withRoutes(serverRoutes),\n withAppShell(AppShellComponent)\n ),\n ],\n};\n```\n\n{% /tab %}\n{% /tabs %}\n"
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "set-generator-defaults-for-previous-style-guide",
|
||||
"version": "21.2.0-beta.0",
|
||||
"requires": { "@angular/core": ">=20.0.0-rc.2" },
|
||||
"version": "21.2.0-beta.3",
|
||||
"requires": { "@angular/core": ">=20.0.0" },
|
||||
"description": "Update the generator defaults to maintain the previous style guide behavior.",
|
||||
"factory": "./src/migrations/update-21-2-0/set-generator-defaults-for-previous-style-guide",
|
||||
"implementation": "/packages/angular/src/migrations/update-21-2-0/set-generator-defaults-for-previous-style-guide.ts",
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
{
|
||||
"name": "update-angular-cli-version-20-0-0-rc-3",
|
||||
"name": "update-angular-cli-version-20-0-0",
|
||||
"cli": "nx",
|
||||
"version": "21.2.0-beta.0",
|
||||
"requires": { "@angular/core": ">=20.0.0-rc.2" },
|
||||
"description": "Update the @angular/cli package version to 20.0.0-rc.3.",
|
||||
"version": "21.2.0-beta.3",
|
||||
"requires": { "@angular/core": ">=20.0.0" },
|
||||
"description": "Update the @angular/cli package version to ~20.0.0.",
|
||||
"factory": "./src/migrations/update-21-2-0/update-angular-cli",
|
||||
"implementation": "/packages/angular/src/migrations/update-21-2-0/update-angular-cli.ts",
|
||||
"aliases": [],
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "update-module-resolution",
|
||||
"version": "21.2.0-beta.0",
|
||||
"requires": { "@angular/core": ">=20.0.0-rc.2" },
|
||||
"version": "21.2.0-beta.3",
|
||||
"requires": { "@angular/core": ">=20.0.0" },
|
||||
"description": "Update 'moduleResolution' to 'bundler' in TypeScript configurations. You can read more about this here: https://www.typescriptlang.org/tsconfig/#moduleResolution.",
|
||||
"factory": "./src/migrations/update-21-2-0/update-module-resolution",
|
||||
"implementation": "/packages/angular/src/migrations/update-21-2-0/update-module-resolution.ts",
|
||||
|
||||
@ -0,0 +1,21 @@
|
||||
{
|
||||
"name": "21.2.0-package-updates",
|
||||
"version": "21.2.0-beta.3",
|
||||
"packages": {
|
||||
"@analogjs/vite-plugin-angular": {
|
||||
"version": "~1.17.1",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@analogjs/vitest-angular": {
|
||||
"version": "~1.17.1",
|
||||
"alwaysAddToPackageJson": false
|
||||
}
|
||||
},
|
||||
"aliases": [],
|
||||
"description": "",
|
||||
"hidden": false,
|
||||
"implementation": "",
|
||||
"path": "/packages/vite",
|
||||
"schema": null,
|
||||
"type": "migration"
|
||||
}
|
||||
2
nx.json
2
nx.json
@ -318,8 +318,8 @@
|
||||
"options": {
|
||||
"versionRange": ">= 19.8",
|
||||
"groups": [
|
||||
["angular-eslint"],
|
||||
[
|
||||
"angular-eslint",
|
||||
"@angular-eslint/eslint-plugin",
|
||||
"@angular-eslint/eslint-plugin-template",
|
||||
"@angular-eslint/template-parser",
|
||||
|
||||
37
package.json
37
package.json
@ -28,21 +28,21 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@actions/core": "^1.10.0",
|
||||
"@angular-devkit/architect": "0.2000.0-rc.3",
|
||||
"@angular-devkit/build-angular": "20.0.0-rc.3",
|
||||
"@angular-devkit/core": "20.0.0-rc.3",
|
||||
"@angular-devkit/schematics": "20.0.0-rc.3",
|
||||
"@angular-eslint/eslint-plugin": "19.2.0",
|
||||
"@angular-eslint/eslint-plugin-template": "19.2.0",
|
||||
"@angular-eslint/template-parser": "19.2.0",
|
||||
"@angular/build": "20.0.0-rc.3",
|
||||
"@angular/cli": "20.0.0-rc.3",
|
||||
"@angular/common": "20.0.0-rc.2",
|
||||
"@angular/compiler": "20.0.0-rc.2",
|
||||
"@angular/compiler-cli": "20.0.0-rc.2",
|
||||
"@angular/core": "20.0.0-rc.2",
|
||||
"@angular/platform-browser": "20.0.0-rc.2",
|
||||
"@angular/router": "20.0.0-rc.2",
|
||||
"@angular-devkit/architect": "~0.2000.0",
|
||||
"@angular-devkit/build-angular": "~20.0.0",
|
||||
"@angular-devkit/core": "~20.0.0",
|
||||
"@angular-devkit/schematics": "~20.0.0",
|
||||
"@angular-eslint/eslint-plugin": "20.0.0-beta.1",
|
||||
"@angular-eslint/eslint-plugin-template": "20.0.0-beta.1",
|
||||
"@angular-eslint/template-parser": "20.0.0-beta.1",
|
||||
"@angular/build": "~20.0.0",
|
||||
"@angular/cli": "~20.0.0",
|
||||
"@angular/common": "~20.0.0",
|
||||
"@angular/compiler": "~20.0.0",
|
||||
"@angular/compiler-cli": "~20.0.0",
|
||||
"@angular/core": "~20.0.0",
|
||||
"@angular/platform-browser": "~20.0.0",
|
||||
"@angular/router": "~20.0.0",
|
||||
"@astrojs/check": "^0.7.0",
|
||||
"@astrojs/react": "^3.6.2",
|
||||
"@babel/core": "^7.23.2",
|
||||
@ -116,7 +116,7 @@
|
||||
"@rspack/dev-server": "1.1.1",
|
||||
"@rspack/plugin-minify": "^0.7.5",
|
||||
"@rspack/plugin-react-refresh": "^1.0.0",
|
||||
"@schematics/angular": "20.0.0-rc.3",
|
||||
"@schematics/angular": "~20.0.0",
|
||||
"@storybook/addon-essentials": "8.4.6",
|
||||
"@storybook/addon-interactions": "8.4.6",
|
||||
"@storybook/core-server": "8.4.6",
|
||||
@ -174,7 +174,7 @@
|
||||
"@zkochan/js-yaml": "0.0.7",
|
||||
"ai": "^2.2.10",
|
||||
"ajv": "^8.12.0",
|
||||
"angular-eslint": "19.2.0",
|
||||
"angular-eslint": "20.0.0-beta.1",
|
||||
"astro": "4.15.0",
|
||||
"autoprefixer": "10.4.13",
|
||||
"babel-jest": "29.7.0",
|
||||
@ -216,7 +216,6 @@
|
||||
"fast-xml-parser": "^4.2.7",
|
||||
"figures": "3.2.0",
|
||||
"file-type": "^16.2.0",
|
||||
"find-cache-dir": "^3.3.2",
|
||||
"flat": "^5.0.2",
|
||||
"fork-ts-checker-webpack-plugin": "7.2.13",
|
||||
"fs-extra": "^11.1.0",
|
||||
@ -266,7 +265,7 @@
|
||||
"mini-css-extract-plugin": "~2.4.7",
|
||||
"minimatch": "9.0.3",
|
||||
"next-sitemap": "^3.1.10",
|
||||
"ng-packagr": "20.0.0-rc.1",
|
||||
"ng-packagr": "~20.0.0",
|
||||
"npm-package-arg": "11.0.1",
|
||||
"nuxt": "^3.10.0",
|
||||
"nx": "21.2.0-beta.1",
|
||||
|
||||
@ -51,52 +51,21 @@
|
||||
{
|
||||
"buildTargets": ["build-base"],
|
||||
"ignoredDependencies": [
|
||||
"nx",
|
||||
"eslint",
|
||||
"vite",
|
||||
"rxjs",
|
||||
"semver",
|
||||
"@angular-devkit/architect",
|
||||
"@angular-devkit/schematics",
|
||||
"@nx/cypress",
|
||||
"@nx/playwright",
|
||||
"@nx/jest",
|
||||
"@nx/rollup",
|
||||
"@nx/playwright",
|
||||
"@nx/storybook",
|
||||
"@nx/vite",
|
||||
"@nx/webpack",
|
||||
"prettier",
|
||||
"typescript",
|
||||
"@schematics/angular",
|
||||
"@angular-devkit/core",
|
||||
"@angular-devkit/architect",
|
||||
"@angular-devkit/build-angular",
|
||||
"@angular-devkit/schematics",
|
||||
"@angular/compiler",
|
||||
"@angular/compiler-cli",
|
||||
"@angular/core",
|
||||
"@angular/router",
|
||||
"@ngrx/effects",
|
||||
"@ngrx/router-store",
|
||||
"@ngrx/store",
|
||||
"@storybook/angular",
|
||||
"@module-federation/node",
|
||||
"@nguniversal/builders",
|
||||
"injection-js",
|
||||
"browserslist",
|
||||
"cacache",
|
||||
"less",
|
||||
"node-sass",
|
||||
"node-sass-tilde-importer",
|
||||
"ora",
|
||||
"convert-source-map",
|
||||
"postcss",
|
||||
"autoprefixer",
|
||||
"postcss-url",
|
||||
"sass",
|
||||
"stylus",
|
||||
"tailwindcss",
|
||||
"cypress",
|
||||
"esbuild",
|
||||
"piscina"
|
||||
"eslint",
|
||||
"injection-js",
|
||||
"nx",
|
||||
"piscina",
|
||||
"typescript"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
@ -303,43 +303,43 @@
|
||||
"description": "Change the data persistence operator imports to '@ngrx/router-store/data-persistence'.",
|
||||
"factory": "./src/migrations/update-21-0-0/change-data-persistence-operators-imports-to-ngrx-router-store-data-persistence"
|
||||
},
|
||||
"update-angular-cli-version-20-0-0-rc-3": {
|
||||
"update-angular-cli-version-20-0-0": {
|
||||
"cli": "nx",
|
||||
"version": "21.2.0-beta.0",
|
||||
"version": "21.2.0-beta.3",
|
||||
"requires": {
|
||||
"@angular/core": ">=20.0.0-rc.2"
|
||||
"@angular/core": ">=20.0.0"
|
||||
},
|
||||
"description": "Update the @angular/cli package version to 20.0.0-rc.3.",
|
||||
"description": "Update the @angular/cli package version to ~20.0.0.",
|
||||
"factory": "./src/migrations/update-21-2-0/update-angular-cli"
|
||||
},
|
||||
"migrate-provide-server-rendering-import": {
|
||||
"version": "21.2.0-beta.0",
|
||||
"version": "21.2.0-beta.3",
|
||||
"requires": {
|
||||
"@angular/core": ">=20.0.0-rc.2"
|
||||
"@angular/core": ">=20.0.0"
|
||||
},
|
||||
"description": "Migrate imports of `provideServerRendering` from `@angular/platform-server` to `@angular/ssr`.",
|
||||
"factory": "./src/migrations/update-21-2-0/migrate-provide-server-rendering-import"
|
||||
},
|
||||
"replace-provide-server-routing": {
|
||||
"version": "21.2.0-beta.0",
|
||||
"version": "21.2.0-beta.3",
|
||||
"requires": {
|
||||
"@angular/core": ">=20.0.0-rc.2"
|
||||
"@angular/core": ">=20.0.0"
|
||||
},
|
||||
"description": "Replace `provideServerRouting` with `provideServerRendering` using `withRoutes`.",
|
||||
"description": "Replace `provideServerRouting` and `provideServerRoutesConfig` with `provideServerRendering` using `withRoutes`.",
|
||||
"factory": "./src/migrations/update-21-2-0/replace-provide-server-routing"
|
||||
},
|
||||
"set-generator-defaults-for-previous-style-guide": {
|
||||
"version": "21.2.0-beta.0",
|
||||
"version": "21.2.0-beta.3",
|
||||
"requires": {
|
||||
"@angular/core": ">=20.0.0-rc.2"
|
||||
"@angular/core": ">=20.0.0"
|
||||
},
|
||||
"description": "Update the generator defaults to maintain the previous style guide behavior.",
|
||||
"factory": "./src/migrations/update-21-2-0/set-generator-defaults-for-previous-style-guide"
|
||||
},
|
||||
"update-module-resolution": {
|
||||
"version": "21.2.0-beta.0",
|
||||
"version": "21.2.0-beta.3",
|
||||
"requires": {
|
||||
"@angular/core": ">=20.0.0-rc.2"
|
||||
"@angular/core": ">=20.0.0"
|
||||
},
|
||||
"description": "Update 'moduleResolution' to 'bundler' in TypeScript configurations. You can read more about this here: https://www.typescriptlang.org/tsconfig/#moduleResolution.",
|
||||
"factory": "./src/migrations/update-21-2-0/update-module-resolution"
|
||||
@ -1667,66 +1667,145 @@
|
||||
}
|
||||
},
|
||||
"21.2.0": {
|
||||
"version": "21.2.0-beta.0",
|
||||
"version": "21.2.0-beta.3",
|
||||
"x-prompt": "Do you want to update the Angular version to v20?",
|
||||
"requires": {
|
||||
"@angular/core": ">=19.2.0 <20.0.0-rc.2"
|
||||
"@angular/core": ">=19.2.0 <20.0.0"
|
||||
},
|
||||
"packages": {
|
||||
"@angular-devkit/build-angular": {
|
||||
"version": "20.0.0-rc.3",
|
||||
"version": "~20.0.0",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular-devkit/core": {
|
||||
"version": "20.0.0-rc.3",
|
||||
"version": "~20.0.0",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular-devkit/schematics": {
|
||||
"version": "20.0.0-rc.3",
|
||||
"version": "~20.0.0",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular/build": {
|
||||
"version": "20.0.0-rc.3",
|
||||
"version": "~20.0.0",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular/pwa": {
|
||||
"version": "20.0.0-rc.3",
|
||||
"version": "~20.0.0",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular/ssr": {
|
||||
"version": "20.0.0-rc.3",
|
||||
"version": "~20.0.0",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@schematics/angular": {
|
||||
"version": "20.0.0-rc.3",
|
||||
"version": "~20.0.0",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular-devkit/architect": {
|
||||
"version": "0.2000.0-rc.3",
|
||||
"version": "~0.2000.0",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular-devkit/build-webpack": {
|
||||
"version": "0.2000.0-rc.3",
|
||||
"version": "~0.2000.0",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular/core": {
|
||||
"version": "20.0.0-rc.2",
|
||||
"version": "~20.0.0",
|
||||
"alwaysAddToPackageJson": true
|
||||
},
|
||||
"@angular/material": {
|
||||
"version": "20.0.0-rc.2",
|
||||
"version": "~20.0.0",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular/cdk": {
|
||||
"version": "20.0.0-rc.2",
|
||||
"version": "~20.0.0",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular/google-maps": {
|
||||
"version": "20.0.0-rc.2",
|
||||
"version": "~20.0.0",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"ng-packagr": {
|
||||
"version": "20.0.0-rc.1",
|
||||
"version": "~20.0.0",
|
||||
"alwaysAddToPackageJson": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"21.2.0-angular-eslint": {
|
||||
"version": "21.2.0-beta.3",
|
||||
"requires": {
|
||||
"@angular/core": ">= 20.0.0 < 21.0.0",
|
||||
"typescript-eslint": "^8.0.0",
|
||||
"eslint": "^8.57.0 || ^9.0.0"
|
||||
},
|
||||
"packages": {
|
||||
"angular-eslint": {
|
||||
"version": "^20.0.0-beta.1",
|
||||
"alwaysAddToPackageJson": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"21.2.0-@angular-eslint": {
|
||||
"version": "21.2.0-beta.3",
|
||||
"requires": {
|
||||
"@angular/core": ">= 20.0.0 < 21.0.0",
|
||||
"eslint": "^8.57.0 || ^9.0.0"
|
||||
},
|
||||
"packages": {
|
||||
"@angular-eslint/eslint-plugin": {
|
||||
"version": "^20.0.0-beta.1",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular-eslint/eslint-plugin-template": {
|
||||
"version": "^20.0.0-beta.1",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular-eslint/template-parser": {
|
||||
"version": "^20.0.0-beta.1",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular-eslint/utils": {
|
||||
"version": "^20.0.0-beta.1",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular-eslint/schematics": {
|
||||
"version": "^20.0.0-beta.1",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular-eslint/test-utils": {
|
||||
"version": "^20.0.0-beta.1",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular-eslint/builder": {
|
||||
"version": "^20.0.0-beta.1",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@angular-eslint/bundled-angular-compiler": {
|
||||
"version": "^20.0.0-beta.1",
|
||||
"alwaysAddToPackageJson": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"21.2.0-angular-rspack": {
|
||||
"version": "21.2.0-beta.3",
|
||||
"packages": {
|
||||
"@nx/angular-rspack": {
|
||||
"version": "^21.1.0",
|
||||
"alwaysAddToPackageJson": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"21.2.0-jest": {
|
||||
"version": "21.2.0-beta.3",
|
||||
"requires": {
|
||||
"@angular/compiler-cli": ">=15.0.0 <21.0.0",
|
||||
"@angular/core": ">=15.0.0 <21.0.0",
|
||||
"@angular/platform-browser-dynamic": ">=15.0.0 <21.0.0",
|
||||
"jest": "^29.0.0"
|
||||
},
|
||||
"packages": {
|
||||
"jest-preset-angular": {
|
||||
"version": "~14.6.0",
|
||||
"alwaysAddToPackageJson": false
|
||||
}
|
||||
}
|
||||
|
||||
@ -7,28 +7,14 @@
|
||||
"deleteDestPath": false,
|
||||
"allowedNonPeerDependencies": [
|
||||
"@nx/",
|
||||
"@angular-devkit",
|
||||
"@angular-eslint/",
|
||||
"@module-federation/enhanced",
|
||||
"@schematics",
|
||||
"@phenomnomnominal/tsquery",
|
||||
"@typescript-eslint/",
|
||||
"picocolors",
|
||||
"ignore",
|
||||
"picomatch",
|
||||
"rxjs-for-await",
|
||||
"webpack-merge",
|
||||
"ts-node",
|
||||
"tsconfig-paths",
|
||||
"semver",
|
||||
"webpack",
|
||||
"express",
|
||||
"http-proxy-middleware",
|
||||
"http-server",
|
||||
"magic-string",
|
||||
"enquirer",
|
||||
"find-cache-dir",
|
||||
"webpack"
|
||||
"magic-string",
|
||||
"picocolors",
|
||||
"picomatch",
|
||||
"semver",
|
||||
"webpack-merge"
|
||||
],
|
||||
"keepLifecycleScripts": true
|
||||
}
|
||||
|
||||
@ -18,7 +18,6 @@ exports[`addLinting generator should correctly generate the .eslintrc.json file
|
||||
"*.ts",
|
||||
],
|
||||
"rules": {
|
||||
"@angular-eslint/component-class-suffix": "off",
|
||||
"@angular-eslint/component-selector": [
|
||||
"error",
|
||||
{
|
||||
@ -27,7 +26,6 @@ exports[`addLinting generator should correctly generate the .eslintrc.json file
|
||||
"type": "element",
|
||||
},
|
||||
],
|
||||
"@angular-eslint/directive-class-suffix": "off",
|
||||
"@angular-eslint/directive-selector": [
|
||||
"error",
|
||||
{
|
||||
|
||||
@ -168,9 +168,7 @@ describe('addLinting generator', () => {
|
||||
prefix: "my-org",
|
||||
style: "kebab-case"
|
||||
}
|
||||
],
|
||||
"@angular-eslint/component-class-suffix": "off",
|
||||
"@angular-eslint/directive-class-suffix": "off"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -291,9 +289,7 @@ describe('addLinting generator', () => {
|
||||
"prefix": "my-org",
|
||||
"style": "kebab-case"
|
||||
}
|
||||
],
|
||||
"@angular-eslint/component-class-suffix": "off",
|
||||
"@angular-eslint/directive-class-suffix": "off"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@ -82,10 +82,6 @@ export async function addLintingGenerator(
|
||||
style: 'kebab-case',
|
||||
},
|
||||
],
|
||||
// Temporary disable these rules until Angular ESLint recommended
|
||||
// rules are updated with the new Style Guide
|
||||
'@angular-eslint/component-class-suffix': 'off',
|
||||
'@angular-eslint/directive-class-suffix': 'off',
|
||||
},
|
||||
});
|
||||
addOverrideToLintConfig(tree, options.projectRoot, {
|
||||
@ -125,10 +121,6 @@ export async function addLintingGenerator(
|
||||
style: 'kebab-case',
|
||||
},
|
||||
],
|
||||
// Temporary disable these rules until Angular ESLint recommended
|
||||
// rules are updated with the new Style Guide
|
||||
'@angular-eslint/component-class-suffix': 'off',
|
||||
'@angular-eslint/directive-class-suffix': 'off',
|
||||
},
|
||||
},
|
||||
{
|
||||
|
||||
@ -366,12 +366,11 @@ export class App {}
|
||||
exports[`app --minimal should skip "nx-welcome.ts" file and references for standalone apps with routing 2`] = `
|
||||
"import { TestBed } from '@angular/core/testing';
|
||||
import { App } from './app';
|
||||
import { RouterModule } from '@angular/router';
|
||||
|
||||
describe('App', () => {
|
||||
beforeEach(async () => {
|
||||
await TestBed.configureTestingModule({
|
||||
imports: [App, RouterModule.forRoot([])],
|
||||
imports: [App],
|
||||
}).compileComponents();
|
||||
});
|
||||
|
||||
@ -488,12 +487,11 @@ exports[`app --standalone should generate a standalone app correctly with routin
|
||||
"import { TestBed } from '@angular/core/testing';
|
||||
import { App } from './app';
|
||||
import { NxWelcome } from './nx-welcome';
|
||||
import { RouterModule } from '@angular/router';
|
||||
|
||||
describe('App', () => {
|
||||
beforeEach(async () => {
|
||||
await TestBed.configureTestingModule({
|
||||
imports: [App, NxWelcome, RouterModule.forRoot([])],
|
||||
imports: [App, NxWelcome],
|
||||
}).compileComponents();
|
||||
});
|
||||
|
||||
@ -746,12 +744,11 @@ exports[`app angular compat support should generate components with the "compone
|
||||
"import { TestBed } from '@angular/core/testing';
|
||||
import { AppComponent } from './app.component';
|
||||
import { NxWelcomeComponent } from './nx-welcome.component';
|
||||
import { RouterModule } from '@angular/router';
|
||||
|
||||
describe('AppComponent', () => {
|
||||
beforeEach(async () => {
|
||||
await TestBed.configureTestingModule({
|
||||
imports: [AppComponent, NxWelcomeComponent, RouterModule.forRoot([])],
|
||||
imports: [AppComponent, NxWelcomeComponent],
|
||||
}).compileComponents();
|
||||
});
|
||||
|
||||
@ -1196,12 +1193,11 @@ exports[`app template generation mode should respect the "type" configured in th
|
||||
"import { TestBed } from '@angular/core/testing';
|
||||
import { AppComponent } from './app.component';
|
||||
import { NxWelcomeComponent } from './nx-welcome.component';
|
||||
import { RouterModule } from '@angular/router';
|
||||
|
||||
describe('AppComponent', () => {
|
||||
beforeEach(async () => {
|
||||
await TestBed.configureTestingModule({
|
||||
imports: [AppComponent, NxWelcomeComponent, RouterModule.forRoot([])],
|
||||
imports: [AppComponent, NxWelcomeComponent],
|
||||
}).compileComponents();
|
||||
});
|
||||
|
||||
|
||||
@ -671,7 +671,6 @@ describe('app', () => {
|
||||
"*.ts",
|
||||
],
|
||||
"rules": {
|
||||
"@angular-eslint/component-class-suffix": "off",
|
||||
"@angular-eslint/component-selector": [
|
||||
"error",
|
||||
{
|
||||
@ -680,7 +679,6 @@ describe('app', () => {
|
||||
"type": "element",
|
||||
},
|
||||
],
|
||||
"@angular-eslint/directive-class-suffix": "off",
|
||||
"@angular-eslint/directive-selector": [
|
||||
"error",
|
||||
{
|
||||
|
||||
@ -1,12 +1,11 @@
|
||||
import { TestBed } from '@angular/core/testing';
|
||||
import { App<%= componentType %> } from './app<%= componentFileSuffix %>';<% if(!minimal) { %>
|
||||
import { NxWelcome<%= componentType %> } from './nx-welcome<%= componentFileSuffix %>';<% } %><% if(routing) { %>
|
||||
import { RouterModule } from '@angular/router';<% } %>
|
||||
import { NxWelcome<%= componentType %> } from './nx-welcome<%= componentFileSuffix %>';<% } %>
|
||||
|
||||
describe('App<%= componentType %>', () => {
|
||||
beforeEach(async () => {
|
||||
await TestBed.configureTestingModule({
|
||||
imports: [App<%= componentType %><% if(!minimal) { %>, NxWelcome<%= componentType %><% } %><% if(routing) { %>, RouterModule.forRoot([])<% } %>],
|
||||
imports: [App<%= componentType %><% if(!minimal) { %>, NxWelcome<%= componentType %><% } %>],
|
||||
}).compileComponents();
|
||||
});
|
||||
|
||||
|
||||
@ -700,9 +700,7 @@ describe('lib', () => {
|
||||
"prefix": "lib",
|
||||
"style": "kebab-case"
|
||||
}
|
||||
],
|
||||
"@angular-eslint/component-class-suffix": "off",
|
||||
"@angular-eslint/directive-class-suffix": "off"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -1250,9 +1248,7 @@ describe('lib', () => {
|
||||
prefix: "lib",
|
||||
style: "kebab-case"
|
||||
}
|
||||
],
|
||||
"@angular-eslint/component-class-suffix": "off",
|
||||
"@angular-eslint/directive-class-suffix": "off"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -1292,7 +1288,6 @@ describe('lib', () => {
|
||||
"*.ts",
|
||||
],
|
||||
"rules": {
|
||||
"@angular-eslint/component-class-suffix": "off",
|
||||
"@angular-eslint/component-selector": [
|
||||
"error",
|
||||
{
|
||||
@ -1301,7 +1296,6 @@ describe('lib', () => {
|
||||
"type": "element",
|
||||
},
|
||||
],
|
||||
"@angular-eslint/directive-class-suffix": "off",
|
||||
"@angular-eslint/directive-selector": [
|
||||
"error",
|
||||
{
|
||||
@ -1354,7 +1348,6 @@ describe('lib', () => {
|
||||
"*.ts",
|
||||
],
|
||||
"rules": {
|
||||
"@angular-eslint/component-class-suffix": "off",
|
||||
"@angular-eslint/component-selector": [
|
||||
"error",
|
||||
{
|
||||
@ -1363,7 +1356,6 @@ describe('lib', () => {
|
||||
"type": "element",
|
||||
},
|
||||
],
|
||||
"@angular-eslint/directive-class-suffix": "off",
|
||||
"@angular-eslint/directive-selector": [
|
||||
"error",
|
||||
{
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
#### Replace `provideServerRouting` with `provideServerRendering`
|
||||
#### Replace `provideServerRouting` and `provideServerRoutesConfig` with `provideServerRendering`
|
||||
|
||||
Replace `provideServerRouting` calls with `provideServerRendering` using `withRoutes`.
|
||||
Replace `provideServerRouting` and `provideServerRoutesConfig` calls with `provideServerRendering` using `withRoutes`.
|
||||
|
||||
#### Examples
|
||||
|
||||
@ -79,3 +79,47 @@ const serverConfig: ApplicationConfig = {
|
||||
|
||||
{% /tab %}
|
||||
{% /tabs %}
|
||||
|
||||
Remove `provideServerRoutesConfig` from your providers array and update the `provideServerRendering` call to use `withRoutes`:
|
||||
|
||||
{% tabs %}
|
||||
{% tab label="Before" %}
|
||||
|
||||
```ts {% fileName="app/app.config.server.ts" highlightLines=[4,11,12] %}
|
||||
import { ApplicationConfig } from '@angular/core';
|
||||
import {
|
||||
provideServerRendering,
|
||||
provideServerRoutesConfig,
|
||||
withAppShell,
|
||||
} from '@angular/ssr';
|
||||
import { serverRoutes } from './app.routes.server';
|
||||
|
||||
const serverConfig: ApplicationConfig = {
|
||||
providers: [
|
||||
provideServerRendering(),
|
||||
provideServerRoutesConfig(serverRoutes, withAppShell(AppShellComponent)),
|
||||
],
|
||||
};
|
||||
```
|
||||
|
||||
{% /tab %}
|
||||
|
||||
{% tab label="After" %}
|
||||
|
||||
```ts {% fileName="app/app.config.server.ts" highlightLines=[2,"7-10"] %}
|
||||
import { ApplicationConfig } from '@angular/core';
|
||||
import { provideServerRendering, withAppShell, withRoutes } from '@angular/ssr';
|
||||
import { serverRoutes } from './app.routes.server';
|
||||
|
||||
const serverConfig: ApplicationConfig = {
|
||||
providers: [
|
||||
provideServerRendering(
|
||||
withRoutes(serverRoutes),
|
||||
withAppShell(AppShellComponent)
|
||||
),
|
||||
],
|
||||
};
|
||||
```
|
||||
|
||||
{% /tab %}
|
||||
{% /tabs %}
|
||||
|
||||
@ -89,6 +89,82 @@ const serverConfig: ApplicationConfig = {
|
||||
],
|
||||
};
|
||||
|
||||
export const config = mergeApplicationConfig(appConfig, serverConfig);
|
||||
`
|
||||
);
|
||||
|
||||
await migration(tree);
|
||||
|
||||
expect(tree.read('apps/app1/src/app/app.config.server.ts', 'utf-8'))
|
||||
.toMatchInlineSnapshot(`
|
||||
"import { mergeApplicationConfig, ApplicationConfig } from '@angular/core';
|
||||
import { provideServerRendering, withAppShell, withRoutes } from '@angular/ssr';
|
||||
import { appConfig } from './app.config';
|
||||
import { serverRoutes } from './app.routes.server';
|
||||
|
||||
const serverConfig: ApplicationConfig = {
|
||||
providers: [
|
||||
provideServerRendering(
|
||||
withRoutes(serverRoutes),
|
||||
withAppShell(AppShellComponent)
|
||||
),
|
||||
],
|
||||
};
|
||||
|
||||
export const config = mergeApplicationConfig(appConfig, serverConfig);
|
||||
"
|
||||
`);
|
||||
});
|
||||
|
||||
it('should remove "provideServerRoutesConfig", add an import for "withRoutes" and update "provideServerRendering" to use "withRoutes"', async () => {
|
||||
tree.write(
|
||||
'apps/app1/src/app/app.config.server.ts',
|
||||
`import { mergeApplicationConfig, ApplicationConfig } from '@angular/core';
|
||||
import { provideServerRendering, provideServerRoutesConfig } from '@angular/ssr';
|
||||
import { appConfig } from './app.config';
|
||||
import { serverRoutes } from './app.routes.server';
|
||||
|
||||
const serverConfig: ApplicationConfig = {
|
||||
providers: [provideServerRendering(), provideServerRoutesConfig(serverRoutes)],
|
||||
};
|
||||
|
||||
export const config = mergeApplicationConfig(appConfig, serverConfig);
|
||||
`
|
||||
);
|
||||
|
||||
await migration(tree);
|
||||
|
||||
expect(tree.read('apps/app1/src/app/app.config.server.ts', 'utf-8'))
|
||||
.toMatchInlineSnapshot(`
|
||||
"import { mergeApplicationConfig, ApplicationConfig } from '@angular/core';
|
||||
import { provideServerRendering, withRoutes } from '@angular/ssr';
|
||||
import { appConfig } from './app.config';
|
||||
import { serverRoutes } from './app.routes.server';
|
||||
|
||||
const serverConfig: ApplicationConfig = {
|
||||
providers: [provideServerRendering(withRoutes(serverRoutes))],
|
||||
};
|
||||
|
||||
export const config = mergeApplicationConfig(appConfig, serverConfig);
|
||||
"
|
||||
`);
|
||||
});
|
||||
|
||||
it('should include extra arguments provided to "provideServerRoutesConfig"', async () => {
|
||||
tree.write(
|
||||
'apps/app1/src/app/app.config.server.ts',
|
||||
`import { mergeApplicationConfig, ApplicationConfig } from '@angular/core';
|
||||
import { provideServerRendering, provideServerRoutesConfig, withAppShell } from '@angular/ssr';
|
||||
import { appConfig } from './app.config';
|
||||
import { serverRoutes } from './app.routes.server';
|
||||
|
||||
const serverConfig: ApplicationConfig = {
|
||||
providers: [
|
||||
provideServerRendering(),
|
||||
provideServerRoutesConfig(serverRoutes, withAppShell(AppShellComponent)),
|
||||
],
|
||||
};
|
||||
|
||||
export const config = mergeApplicationConfig(appConfig, serverConfig);
|
||||
`
|
||||
);
|
||||
|
||||
@ -30,7 +30,8 @@ function processFile(tree: Tree, filePath: string): void {
|
||||
const content = tree.read(filePath, 'utf-8');
|
||||
|
||||
if (
|
||||
!content.includes('provideServerRouting') ||
|
||||
(!content.includes('provideServerRouting') &&
|
||||
!content.includes('provideServerRoutesConfig')) ||
|
||||
!content.includes('@angular/ssr')
|
||||
) {
|
||||
return;
|
||||
@ -40,13 +41,26 @@ function processFile(tree: Tree, filePath: string): void {
|
||||
|
||||
const providersArray = tsquery.query<ts.ArrayLiteralExpression>(
|
||||
sourceFile,
|
||||
'PropertyAssignment:has(Identifier[name=providers]) > ArrayLiteralExpression:has(CallExpression > Identifier[name=provideServerRouting])',
|
||||
'PropertyAssignment:has(Identifier[name=providers]) > ArrayLiteralExpression',
|
||||
{ visitAllChildren: true }
|
||||
)[0];
|
||||
|
||||
if (!providersArray) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (
|
||||
!providersArray.elements.some(
|
||||
(el) =>
|
||||
ts.isCallExpression(el) &&
|
||||
ts.isIdentifier(el.expression) &&
|
||||
(el.expression.getText() === 'provideServerRouting' ||
|
||||
el.expression.getText() === 'provideServerRoutesConfig')
|
||||
)
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
const recorder = new FileChangeRecorder(tree, filePath);
|
||||
const printer = ts.createPrinter({
|
||||
newLine: ts.NewLineKind.LineFeed,
|
||||
@ -61,7 +75,10 @@ function processFile(tree: Tree, filePath: string): void {
|
||||
for (const node of providerCallNodes) {
|
||||
if (node.expression.getText() === 'provideServerRendering') {
|
||||
provideServerRenderingCall = node;
|
||||
} else if (node.expression.getText() === 'provideServerRouting') {
|
||||
} else if (
|
||||
node.expression.getText() === 'provideServerRouting' ||
|
||||
node.expression.getText() === 'provideServerRoutesConfig'
|
||||
) {
|
||||
provideServerRoutingCall = node;
|
||||
}
|
||||
}
|
||||
@ -74,7 +91,8 @@ function processFile(tree: Tree, filePath: string): void {
|
||||
|
||||
let updatedProvidersArray: ts.ArrayLiteralExpression;
|
||||
if (provideServerRenderingCall) {
|
||||
// remove the "provideServerRouting" call and update the existing "provideServerRendering" call
|
||||
// remove the "provideServerRouting" and "provideServerRoutesConfig"
|
||||
// calls and update the existing "provideServerRendering" call
|
||||
updatedProvidersArray = ts.factory.updateArrayLiteralExpression(
|
||||
providersArray,
|
||||
providersArray.elements
|
||||
@ -83,7 +101,8 @@ function processFile(tree: Tree, filePath: string): void {
|
||||
!(
|
||||
ts.isCallExpression(el) &&
|
||||
ts.isIdentifier(el.expression) &&
|
||||
el.expression.text === 'provideServerRouting'
|
||||
(el.expression.text === 'provideServerRouting' ||
|
||||
el.expression.text === 'provideServerRoutesConfig')
|
||||
)
|
||||
)
|
||||
.map((el) => {
|
||||
@ -104,14 +123,16 @@ function processFile(tree: Tree, filePath: string): void {
|
||||
})
|
||||
);
|
||||
} else {
|
||||
// replace the "provideServerRouting" call with the new "provideServerRendering" call
|
||||
// replace the "provideServerRouting" and "provideServerRoutesConfig"
|
||||
// calls with the new "provideServerRendering" call
|
||||
updatedProvidersArray = ts.factory.updateArrayLiteralExpression(
|
||||
providersArray,
|
||||
providersArray.elements.map((el) => {
|
||||
if (
|
||||
ts.isCallExpression(el) &&
|
||||
ts.isIdentifier(el.expression) &&
|
||||
el.expression.text === 'provideServerRouting'
|
||||
(el.expression.text === 'provideServerRouting' ||
|
||||
el.expression.text === 'provideServerRoutesConfig')
|
||||
) {
|
||||
return ts.factory.createCallExpression(
|
||||
ts.factory.createIdentifier('provideServerRendering'),
|
||||
@ -145,11 +166,15 @@ function processFile(tree: Tree, filePath: string): void {
|
||||
const namedBindings = importDecl?.importClause.namedBindings;
|
||||
|
||||
if (ts.isNamedImports(namedBindings)) {
|
||||
// remove the "provideServerRouting" import and ensure we have the "withRoutes" import
|
||||
// remove the "provideServerRouting" and "provideServerRoutesConfig"
|
||||
// imports and ensure we have the "withRoutes" import
|
||||
const updatedElementNames = new Set([
|
||||
...namedBindings.elements
|
||||
.map((el) => el.getText())
|
||||
.filter((x) => x !== 'provideServerRouting'),
|
||||
.filter(
|
||||
(x) =>
|
||||
x !== 'provideServerRouting' && x !== 'provideServerRoutesConfig'
|
||||
),
|
||||
'withRoutes',
|
||||
]);
|
||||
const updatedNamedBindings = ts.factory.updateNamedImports(
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { formatFiles, Tree, updateJson } from '@nx/devkit';
|
||||
|
||||
export const angularCliVersion = '20.0.0-rc.3';
|
||||
export const angularCliVersion = '~20.0.0';
|
||||
|
||||
export default async function (tree: Tree) {
|
||||
let shouldFormat = false;
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
export const nxVersion = require('../../package.json').version;
|
||||
|
||||
export const angularVersion = '20.0.0-rc.2';
|
||||
export const angularDevkitVersion = '20.0.0-rc.3';
|
||||
export const ngPackagrVersion = '20.0.0-rc.1';
|
||||
export const angularRspackVersion = '^21.0.1';
|
||||
export const angularVersion = '~20.0.0';
|
||||
export const angularDevkitVersion = '~20.0.0';
|
||||
export const ngPackagrVersion = '~20.0.0';
|
||||
export const angularRspackVersion = '^21.1.0';
|
||||
export const ngrxVersion = '^19.0.0';
|
||||
export const rxjsVersion = '~7.8.0';
|
||||
export const zoneJsVersion = '~0.15.0';
|
||||
@ -19,7 +19,7 @@ export const moduleFederationNodeVersion = '^2.6.26';
|
||||
export const moduleFederationEnhancedVersion = '^0.9.0';
|
||||
export const webpackMergeVersion = '^5.8.0';
|
||||
|
||||
export const angularEslintVersion = '^19.2.0';
|
||||
export const angularEslintVersion = '^20.0.0-beta.1';
|
||||
export const typescriptEslintVersion = '^7.16.0';
|
||||
export const tailwindVersion = '^3.0.2';
|
||||
export const postcssVersion = '^8.4.5';
|
||||
@ -27,7 +27,7 @@ export const postcssUrlVersion = '~10.1.3';
|
||||
export const autoprefixerVersion = '^10.4.0';
|
||||
export const tsNodeVersion = '10.9.1';
|
||||
|
||||
export const jestPresetAngularVersion = '~14.4.0';
|
||||
export const jestPresetAngularVersion = '~14.6.0';
|
||||
export const typesNodeVersion = '18.16.9';
|
||||
export const jasmineMarblesVersion = '^0.9.2';
|
||||
|
||||
|
||||
@ -57,7 +57,6 @@ describe('Convert Nx Executor', () => {
|
||||
// ASSERT
|
||||
expect(convertedRunResult).toMatchInlineSnapshot(`
|
||||
{
|
||||
"error": undefined,
|
||||
"info": {
|
||||
"builderName": "nx:test",
|
||||
"description": "Testing only builder.",
|
||||
@ -66,16 +65,10 @@ describe('Convert Nx Executor', () => {
|
||||
},
|
||||
},
|
||||
"success": true,
|
||||
"target": {
|
||||
"configuration": undefined,
|
||||
"project": undefined,
|
||||
"target": undefined,
|
||||
},
|
||||
}
|
||||
`);
|
||||
expect(realRunResult).toMatchInlineSnapshot(`
|
||||
{
|
||||
"error": undefined,
|
||||
"info": {
|
||||
"builderName": "ng:test",
|
||||
"description": "Testing only builder.",
|
||||
@ -84,11 +77,6 @@ describe('Convert Nx Executor', () => {
|
||||
},
|
||||
},
|
||||
"success": true,
|
||||
"target": {
|
||||
"configuration": undefined,
|
||||
"project": undefined,
|
||||
"target": undefined,
|
||||
},
|
||||
}
|
||||
`);
|
||||
expect(convertedRunResult.success).toEqual(realRunResult.success);
|
||||
|
||||
@ -53,10 +53,10 @@ export function convertNxExecutor(executor: Executor) {
|
||||
|
||||
const context: ExecutorContext = {
|
||||
root: builderContext.workspaceRoot,
|
||||
projectName: builderContext.target.project,
|
||||
targetName: builderContext.target.target,
|
||||
target: builderContext.target.target,
|
||||
configurationName: builderContext.target.configuration,
|
||||
projectName: builderContext.target?.project,
|
||||
targetName: builderContext.target?.target,
|
||||
target: builderContext.target?.target,
|
||||
configurationName: builderContext.target?.configuration,
|
||||
projectsConfigurations,
|
||||
nxJsonConfiguration,
|
||||
cwd: process.cwd(),
|
||||
|
||||
@ -108,14 +108,14 @@ describe('js init generator', () => {
|
||||
|
||||
it('should not overwrite installed typescript version when is a supported version', async () => {
|
||||
updateJson(tree, 'package.json', (json) => {
|
||||
json.devDependencies = { ...json.devDependencies, typescript: '~5.2.0' };
|
||||
json.devDependencies = { ...json.devDependencies, typescript: '~5.4.0' };
|
||||
return json;
|
||||
});
|
||||
|
||||
await init(tree, {});
|
||||
|
||||
const packageJson = readJson(tree, 'package.json');
|
||||
expect(packageJson.devDependencies['typescript']).toBe('~5.2.0');
|
||||
expect(packageJson.devDependencies['typescript']).toBe('~5.4.0');
|
||||
expect(packageJson.devDependencies['typescript']).not.toBe(
|
||||
typescriptVersion
|
||||
);
|
||||
|
||||
@ -15,6 +15,6 @@ export const typescriptVersion = '~5.8.2';
|
||||
/**
|
||||
* The minimum version is currently determined from the lowest version
|
||||
* that's supported by the lowest Angular supported version, e.g.
|
||||
* `npm view @angular/compiler-cli@17.0.0 peerDependencies.typescript`
|
||||
* `npm view @angular/compiler-cli@18.0.0 peerDependencies.typescript`
|
||||
*/
|
||||
export const supportedTypescriptVersions = '>=5.2.0';
|
||||
export const supportedTypescriptVersions = '>=5.4.0';
|
||||
|
||||
@ -71,6 +71,19 @@
|
||||
"alwaysAddToPackageJson": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"21.2.0": {
|
||||
"version": "21.2.0-beta.3",
|
||||
"packages": {
|
||||
"@analogjs/vite-plugin-angular": {
|
||||
"version": "~1.17.1",
|
||||
"alwaysAddToPackageJson": false
|
||||
},
|
||||
"@analogjs/vitest-angular": {
|
||||
"version": "~1.17.1",
|
||||
"alwaysAddToPackageJson": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -13,7 +13,7 @@ export const happyDomVersion = '~9.20.3';
|
||||
export const edgeRuntimeVmVersion = '~3.0.2';
|
||||
export const jitiVersion = '2.4.2';
|
||||
|
||||
export const analogVitestAngular = '~1.16.1';
|
||||
export const analogVitestAngular = '~1.17.1';
|
||||
|
||||
// Coverage providers
|
||||
export const vitestCoverageV8Version = '^3.0.5';
|
||||
|
||||
@ -4,5 +4,5 @@ export const typescriptVersion = '~5.8.2';
|
||||
|
||||
// TODO: remove when preset generation is reworked and
|
||||
// deps are not installed from workspace
|
||||
export const angularCliVersion = '20.0.0-rc.3';
|
||||
export const angularRspackVersion = '^21.0.1';
|
||||
export const angularCliVersion = '~20.0.0';
|
||||
export const angularRspackVersion = '^21.1.0';
|
||||
|
||||
1030
pnpm-lock.yaml
generated
1030
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user