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": {
|
"migrations": {
|
||||||
"/technologies/angular/api/migrations/update-angular-cli-version-20-0-0-rc-3": {
|
"/technologies/angular/api/migrations/update-angular-cli-version-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.",
|
||||||
"file": "generated/packages/angular/migrations/update-angular-cli-version-20-0-0-rc-3.json",
|
"file": "generated/packages/angular/migrations/update-angular-cli-version-20-0-0.json",
|
||||||
"hidden": false,
|
"hidden": false,
|
||||||
"name": "update-angular-cli-version-20-0-0-rc-3",
|
"name": "update-angular-cli-version-20-0-0",
|
||||||
"version": "21.2.0-beta.0",
|
"version": "21.2.0-beta.3",
|
||||||
"originalFilePath": "/packages/angular",
|
"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"
|
"type": "migration"
|
||||||
},
|
},
|
||||||
"/technologies/angular/api/migrations/migrate-provide-server-rendering-import": {
|
"/technologies/angular/api/migrations/migrate-provide-server-rendering-import": {
|
||||||
@ -414,17 +414,17 @@
|
|||||||
"file": "generated/packages/angular/migrations/migrate-provide-server-rendering-import.json",
|
"file": "generated/packages/angular/migrations/migrate-provide-server-rendering-import.json",
|
||||||
"hidden": false,
|
"hidden": false,
|
||||||
"name": "migrate-provide-server-rendering-import",
|
"name": "migrate-provide-server-rendering-import",
|
||||||
"version": "21.2.0-beta.0",
|
"version": "21.2.0-beta.3",
|
||||||
"originalFilePath": "/packages/angular",
|
"originalFilePath": "/packages/angular",
|
||||||
"path": "/technologies/angular/api/migrations/migrate-provide-server-rendering-import",
|
"path": "/technologies/angular/api/migrations/migrate-provide-server-rendering-import",
|
||||||
"type": "migration"
|
"type": "migration"
|
||||||
},
|
},
|
||||||
"/technologies/angular/api/migrations/replace-provide-server-routing": {
|
"/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",
|
"file": "generated/packages/angular/migrations/replace-provide-server-routing.json",
|
||||||
"hidden": false,
|
"hidden": false,
|
||||||
"name": "replace-provide-server-routing",
|
"name": "replace-provide-server-routing",
|
||||||
"version": "21.2.0-beta.0",
|
"version": "21.2.0-beta.3",
|
||||||
"originalFilePath": "/packages/angular",
|
"originalFilePath": "/packages/angular",
|
||||||
"path": "/technologies/angular/api/migrations/replace-provide-server-routing",
|
"path": "/technologies/angular/api/migrations/replace-provide-server-routing",
|
||||||
"type": "migration"
|
"type": "migration"
|
||||||
@ -434,7 +434,7 @@
|
|||||||
"file": "generated/packages/angular/migrations/set-generator-defaults-for-previous-style-guide.json",
|
"file": "generated/packages/angular/migrations/set-generator-defaults-for-previous-style-guide.json",
|
||||||
"hidden": false,
|
"hidden": false,
|
||||||
"name": "set-generator-defaults-for-previous-style-guide",
|
"name": "set-generator-defaults-for-previous-style-guide",
|
||||||
"version": "21.2.0-beta.0",
|
"version": "21.2.0-beta.3",
|
||||||
"originalFilePath": "/packages/angular",
|
"originalFilePath": "/packages/angular",
|
||||||
"path": "/technologies/angular/api/migrations/set-generator-defaults-for-previous-style-guide",
|
"path": "/technologies/angular/api/migrations/set-generator-defaults-for-previous-style-guide",
|
||||||
"type": "migration"
|
"type": "migration"
|
||||||
@ -444,7 +444,7 @@
|
|||||||
"file": "generated/packages/angular/migrations/update-module-resolution.json",
|
"file": "generated/packages/angular/migrations/update-module-resolution.json",
|
||||||
"hidden": false,
|
"hidden": false,
|
||||||
"name": "update-module-resolution",
|
"name": "update-module-resolution",
|
||||||
"version": "21.2.0-beta.0",
|
"version": "21.2.0-beta.3",
|
||||||
"originalFilePath": "/packages/angular",
|
"originalFilePath": "/packages/angular",
|
||||||
"path": "/technologies/angular/api/migrations/update-module-resolution",
|
"path": "/technologies/angular/api/migrations/update-module-resolution",
|
||||||
"type": "migration"
|
"type": "migration"
|
||||||
@ -454,11 +454,51 @@
|
|||||||
"file": "generated/packages/angular/migrations/21.2.0-package-updates.json",
|
"file": "generated/packages/angular/migrations/21.2.0-package-updates.json",
|
||||||
"hidden": false,
|
"hidden": false,
|
||||||
"name": "21.2.0-package-updates",
|
"name": "21.2.0-package-updates",
|
||||||
"version": "21.2.0-beta.0",
|
"version": "21.2.0-beta.3",
|
||||||
"originalFilePath": "/packages/angular",
|
"originalFilePath": "/packages/angular",
|
||||||
"path": "/technologies/angular/api/migrations/21.2.0-package-updates",
|
"path": "/technologies/angular/api/migrations/21.2.0-package-updates",
|
||||||
"type": "migration"
|
"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": {
|
"/technologies/angular/api/migrations/21.1.0-package-updates": {
|
||||||
"description": "",
|
"description": "",
|
||||||
"file": "generated/packages/angular/migrations/21.1.0-package-updates.json",
|
"file": "generated/packages/angular/migrations/21.1.0-package-updates.json",
|
||||||
@ -4881,6 +4921,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"migrations": {
|
"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": {
|
"/technologies/build-tools/vite/api/migrations/21.1.2-package-updates": {
|
||||||
"description": "",
|
"description": "",
|
||||||
"file": "generated/packages/vite/migrations/21.1.2-package-updates.json",
|
"file": "generated/packages/vite/migrations/21.1.2-package-updates.json",
|
||||||
|
|||||||
@ -440,13 +440,13 @@
|
|||||||
],
|
],
|
||||||
"migrations": [
|
"migrations": [
|
||||||
{
|
{
|
||||||
"description": "Update the @angular/cli package version to 20.0.0-rc.3.",
|
"description": "Update the @angular/cli package version to ~20.0.0.",
|
||||||
"file": "generated/packages/angular/migrations/update-angular-cli-version-20-0-0-rc-3.json",
|
"file": "generated/packages/angular/migrations/update-angular-cli-version-20-0-0.json",
|
||||||
"hidden": false,
|
"hidden": false,
|
||||||
"name": "update-angular-cli-version-20-0-0-rc-3",
|
"name": "update-angular-cli-version-20-0-0",
|
||||||
"version": "21.2.0-beta.0",
|
"version": "21.2.0-beta.3",
|
||||||
"originalFilePath": "/packages/angular",
|
"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"
|
"type": "migration"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -454,17 +454,17 @@
|
|||||||
"file": "generated/packages/angular/migrations/migrate-provide-server-rendering-import.json",
|
"file": "generated/packages/angular/migrations/migrate-provide-server-rendering-import.json",
|
||||||
"hidden": false,
|
"hidden": false,
|
||||||
"name": "migrate-provide-server-rendering-import",
|
"name": "migrate-provide-server-rendering-import",
|
||||||
"version": "21.2.0-beta.0",
|
"version": "21.2.0-beta.3",
|
||||||
"originalFilePath": "/packages/angular",
|
"originalFilePath": "/packages/angular",
|
||||||
"path": "angular/migrations/migrate-provide-server-rendering-import",
|
"path": "angular/migrations/migrate-provide-server-rendering-import",
|
||||||
"type": "migration"
|
"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",
|
"file": "generated/packages/angular/migrations/replace-provide-server-routing.json",
|
||||||
"hidden": false,
|
"hidden": false,
|
||||||
"name": "replace-provide-server-routing",
|
"name": "replace-provide-server-routing",
|
||||||
"version": "21.2.0-beta.0",
|
"version": "21.2.0-beta.3",
|
||||||
"originalFilePath": "/packages/angular",
|
"originalFilePath": "/packages/angular",
|
||||||
"path": "angular/migrations/replace-provide-server-routing",
|
"path": "angular/migrations/replace-provide-server-routing",
|
||||||
"type": "migration"
|
"type": "migration"
|
||||||
@ -474,7 +474,7 @@
|
|||||||
"file": "generated/packages/angular/migrations/set-generator-defaults-for-previous-style-guide.json",
|
"file": "generated/packages/angular/migrations/set-generator-defaults-for-previous-style-guide.json",
|
||||||
"hidden": false,
|
"hidden": false,
|
||||||
"name": "set-generator-defaults-for-previous-style-guide",
|
"name": "set-generator-defaults-for-previous-style-guide",
|
||||||
"version": "21.2.0-beta.0",
|
"version": "21.2.0-beta.3",
|
||||||
"originalFilePath": "/packages/angular",
|
"originalFilePath": "/packages/angular",
|
||||||
"path": "angular/migrations/set-generator-defaults-for-previous-style-guide",
|
"path": "angular/migrations/set-generator-defaults-for-previous-style-guide",
|
||||||
"type": "migration"
|
"type": "migration"
|
||||||
@ -484,7 +484,7 @@
|
|||||||
"file": "generated/packages/angular/migrations/update-module-resolution.json",
|
"file": "generated/packages/angular/migrations/update-module-resolution.json",
|
||||||
"hidden": false,
|
"hidden": false,
|
||||||
"name": "update-module-resolution",
|
"name": "update-module-resolution",
|
||||||
"version": "21.2.0-beta.0",
|
"version": "21.2.0-beta.3",
|
||||||
"originalFilePath": "/packages/angular",
|
"originalFilePath": "/packages/angular",
|
||||||
"path": "angular/migrations/update-module-resolution",
|
"path": "angular/migrations/update-module-resolution",
|
||||||
"type": "migration"
|
"type": "migration"
|
||||||
@ -494,11 +494,51 @@
|
|||||||
"file": "generated/packages/angular/migrations/21.2.0-package-updates.json",
|
"file": "generated/packages/angular/migrations/21.2.0-package-updates.json",
|
||||||
"hidden": false,
|
"hidden": false,
|
||||||
"name": "21.2.0-package-updates",
|
"name": "21.2.0-package-updates",
|
||||||
"version": "21.2.0-beta.0",
|
"version": "21.2.0-beta.3",
|
||||||
"originalFilePath": "/packages/angular",
|
"originalFilePath": "/packages/angular",
|
||||||
"path": "angular/migrations/21.2.0-package-updates",
|
"path": "angular/migrations/21.2.0-package-updates",
|
||||||
"type": "migration"
|
"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": "",
|
"description": "",
|
||||||
"file": "generated/packages/angular/migrations/21.1.0-package-updates.json",
|
"file": "generated/packages/angular/migrations/21.1.0-package-updates.json",
|
||||||
@ -5249,6 +5289,16 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"migrations": [
|
"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": "",
|
"description": "",
|
||||||
"file": "generated/packages/vite/migrations/21.1.2-package-updates.json",
|
"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",
|
"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?",
|
"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": {
|
"packages": {
|
||||||
"@angular-devkit/build-angular": {
|
"@angular-devkit/build-angular": {
|
||||||
"version": "20.0.0-rc.3",
|
"version": "~20.0.0",
|
||||||
"alwaysAddToPackageJson": false
|
"alwaysAddToPackageJson": false
|
||||||
},
|
},
|
||||||
"@angular-devkit/core": {
|
"@angular-devkit/core": {
|
||||||
"version": "20.0.0-rc.3",
|
"version": "~20.0.0",
|
||||||
"alwaysAddToPackageJson": false
|
"alwaysAddToPackageJson": false
|
||||||
},
|
},
|
||||||
"@angular-devkit/schematics": {
|
"@angular-devkit/schematics": {
|
||||||
"version": "20.0.0-rc.3",
|
"version": "~20.0.0",
|
||||||
"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",
|
|
||||||
"alwaysAddToPackageJson": false
|
"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": {
|
"@schematics/angular": {
|
||||||
"version": "20.0.0-rc.3",
|
"version": "~20.0.0",
|
||||||
"alwaysAddToPackageJson": false
|
"alwaysAddToPackageJson": false
|
||||||
},
|
},
|
||||||
"@angular-devkit/architect": {
|
"@angular-devkit/architect": {
|
||||||
"version": "0.2000.0-rc.3",
|
"version": "~0.2000.0",
|
||||||
"alwaysAddToPackageJson": false
|
"alwaysAddToPackageJson": false
|
||||||
},
|
},
|
||||||
"@angular-devkit/build-webpack": {
|
"@angular-devkit/build-webpack": {
|
||||||
"version": "0.2000.0-rc.3",
|
"version": "~0.2000.0",
|
||||||
"alwaysAddToPackageJson": false
|
"alwaysAddToPackageJson": false
|
||||||
},
|
},
|
||||||
"@angular/core": {
|
"@angular/core": { "version": "~20.0.0", "alwaysAddToPackageJson": true },
|
||||||
"version": "20.0.0-rc.2",
|
|
||||||
"alwaysAddToPackageJson": true
|
|
||||||
},
|
|
||||||
"@angular/material": {
|
"@angular/material": {
|
||||||
"version": "20.0.0-rc.2",
|
"version": "~20.0.0",
|
||||||
"alwaysAddToPackageJson": false
|
|
||||||
},
|
|
||||||
"@angular/cdk": {
|
|
||||||
"version": "20.0.0-rc.2",
|
|
||||||
"alwaysAddToPackageJson": false
|
"alwaysAddToPackageJson": false
|
||||||
},
|
},
|
||||||
|
"@angular/cdk": { "version": "~20.0.0", "alwaysAddToPackageJson": false },
|
||||||
"@angular/google-maps": {
|
"@angular/google-maps": {
|
||||||
"version": "20.0.0-rc.2",
|
"version": "~20.0.0",
|
||||||
"alwaysAddToPackageJson": false
|
"alwaysAddToPackageJson": false
|
||||||
},
|
},
|
||||||
"ng-packagr": { "version": "20.0.0-rc.1", "alwaysAddToPackageJson": false }
|
"ng-packagr": { "version": "~20.0.0", "alwaysAddToPackageJson": false }
|
||||||
},
|
},
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"description": "",
|
"description": "",
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "migrate-provide-server-rendering-import",
|
"name": "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" },
|
"requires": { "@angular/core": ">=20.0.0" },
|
||||||
"description": "Migrate imports of `provideServerRendering` from `@angular/platform-server` to `@angular/ssr`.",
|
"description": "Migrate imports of `provideServerRendering` from `@angular/platform-server` to `@angular/ssr`.",
|
||||||
"factory": "./src/migrations/update-21-2-0/migrate-provide-server-rendering-import",
|
"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",
|
"implementation": "/packages/angular/src/migrations/update-21-2-0/migrate-provide-server-rendering-import.ts",
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"name": "replace-provide-server-routing",
|
"name": "replace-provide-server-routing",
|
||||||
"version": "21.2.0-beta.0",
|
"version": "21.2.0-beta.3",
|
||||||
"requires": { "@angular/core": ">=20.0.0-rc.2" },
|
"requires": { "@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",
|
"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",
|
"implementation": "/packages/angular/src/migrations/update-21-2-0/replace-provide-server-routing.ts",
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@ -10,5 +10,5 @@
|
|||||||
"path": "/packages/angular",
|
"path": "/packages/angular",
|
||||||
"schema": null,
|
"schema": null,
|
||||||
"type": "migration",
|
"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",
|
"name": "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" },
|
"requires": { "@angular/core": ">=20.0.0" },
|
||||||
"description": "Update the generator defaults to maintain the previous style guide behavior.",
|
"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",
|
"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",
|
"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",
|
"cli": "nx",
|
||||||
"version": "21.2.0-beta.0",
|
"version": "21.2.0-beta.3",
|
||||||
"requires": { "@angular/core": ">=20.0.0-rc.2" },
|
"requires": { "@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",
|
"factory": "./src/migrations/update-21-2-0/update-angular-cli",
|
||||||
"implementation": "/packages/angular/src/migrations/update-21-2-0/update-angular-cli.ts",
|
"implementation": "/packages/angular/src/migrations/update-21-2-0/update-angular-cli.ts",
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "update-module-resolution",
|
"name": "update-module-resolution",
|
||||||
"version": "21.2.0-beta.0",
|
"version": "21.2.0-beta.3",
|
||||||
"requires": { "@angular/core": ">=20.0.0-rc.2" },
|
"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.",
|
"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",
|
"factory": "./src/migrations/update-21-2-0/update-module-resolution",
|
||||||
"implementation": "/packages/angular/src/migrations/update-21-2-0/update-module-resolution.ts",
|
"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": {
|
"options": {
|
||||||
"versionRange": ">= 19.8",
|
"versionRange": ">= 19.8",
|
||||||
"groups": [
|
"groups": [
|
||||||
|
["angular-eslint"],
|
||||||
[
|
[
|
||||||
"angular-eslint",
|
|
||||||
"@angular-eslint/eslint-plugin",
|
"@angular-eslint/eslint-plugin",
|
||||||
"@angular-eslint/eslint-plugin-template",
|
"@angular-eslint/eslint-plugin-template",
|
||||||
"@angular-eslint/template-parser",
|
"@angular-eslint/template-parser",
|
||||||
|
|||||||
37
package.json
37
package.json
@ -28,21 +28,21 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@actions/core": "^1.10.0",
|
"@actions/core": "^1.10.0",
|
||||||
"@angular-devkit/architect": "0.2000.0-rc.3",
|
"@angular-devkit/architect": "~0.2000.0",
|
||||||
"@angular-devkit/build-angular": "20.0.0-rc.3",
|
"@angular-devkit/build-angular": "~20.0.0",
|
||||||
"@angular-devkit/core": "20.0.0-rc.3",
|
"@angular-devkit/core": "~20.0.0",
|
||||||
"@angular-devkit/schematics": "20.0.0-rc.3",
|
"@angular-devkit/schematics": "~20.0.0",
|
||||||
"@angular-eslint/eslint-plugin": "19.2.0",
|
"@angular-eslint/eslint-plugin": "20.0.0-beta.1",
|
||||||
"@angular-eslint/eslint-plugin-template": "19.2.0",
|
"@angular-eslint/eslint-plugin-template": "20.0.0-beta.1",
|
||||||
"@angular-eslint/template-parser": "19.2.0",
|
"@angular-eslint/template-parser": "20.0.0-beta.1",
|
||||||
"@angular/build": "20.0.0-rc.3",
|
"@angular/build": "~20.0.0",
|
||||||
"@angular/cli": "20.0.0-rc.3",
|
"@angular/cli": "~20.0.0",
|
||||||
"@angular/common": "20.0.0-rc.2",
|
"@angular/common": "~20.0.0",
|
||||||
"@angular/compiler": "20.0.0-rc.2",
|
"@angular/compiler": "~20.0.0",
|
||||||
"@angular/compiler-cli": "20.0.0-rc.2",
|
"@angular/compiler-cli": "~20.0.0",
|
||||||
"@angular/core": "20.0.0-rc.2",
|
"@angular/core": "~20.0.0",
|
||||||
"@angular/platform-browser": "20.0.0-rc.2",
|
"@angular/platform-browser": "~20.0.0",
|
||||||
"@angular/router": "20.0.0-rc.2",
|
"@angular/router": "~20.0.0",
|
||||||
"@astrojs/check": "^0.7.0",
|
"@astrojs/check": "^0.7.0",
|
||||||
"@astrojs/react": "^3.6.2",
|
"@astrojs/react": "^3.6.2",
|
||||||
"@babel/core": "^7.23.2",
|
"@babel/core": "^7.23.2",
|
||||||
@ -116,7 +116,7 @@
|
|||||||
"@rspack/dev-server": "1.1.1",
|
"@rspack/dev-server": "1.1.1",
|
||||||
"@rspack/plugin-minify": "^0.7.5",
|
"@rspack/plugin-minify": "^0.7.5",
|
||||||
"@rspack/plugin-react-refresh": "^1.0.0",
|
"@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-essentials": "8.4.6",
|
||||||
"@storybook/addon-interactions": "8.4.6",
|
"@storybook/addon-interactions": "8.4.6",
|
||||||
"@storybook/core-server": "8.4.6",
|
"@storybook/core-server": "8.4.6",
|
||||||
@ -174,7 +174,7 @@
|
|||||||
"@zkochan/js-yaml": "0.0.7",
|
"@zkochan/js-yaml": "0.0.7",
|
||||||
"ai": "^2.2.10",
|
"ai": "^2.2.10",
|
||||||
"ajv": "^8.12.0",
|
"ajv": "^8.12.0",
|
||||||
"angular-eslint": "19.2.0",
|
"angular-eslint": "20.0.0-beta.1",
|
||||||
"astro": "4.15.0",
|
"astro": "4.15.0",
|
||||||
"autoprefixer": "10.4.13",
|
"autoprefixer": "10.4.13",
|
||||||
"babel-jest": "29.7.0",
|
"babel-jest": "29.7.0",
|
||||||
@ -216,7 +216,6 @@
|
|||||||
"fast-xml-parser": "^4.2.7",
|
"fast-xml-parser": "^4.2.7",
|
||||||
"figures": "3.2.0",
|
"figures": "3.2.0",
|
||||||
"file-type": "^16.2.0",
|
"file-type": "^16.2.0",
|
||||||
"find-cache-dir": "^3.3.2",
|
|
||||||
"flat": "^5.0.2",
|
"flat": "^5.0.2",
|
||||||
"fork-ts-checker-webpack-plugin": "7.2.13",
|
"fork-ts-checker-webpack-plugin": "7.2.13",
|
||||||
"fs-extra": "^11.1.0",
|
"fs-extra": "^11.1.0",
|
||||||
@ -266,7 +265,7 @@
|
|||||||
"mini-css-extract-plugin": "~2.4.7",
|
"mini-css-extract-plugin": "~2.4.7",
|
||||||
"minimatch": "9.0.3",
|
"minimatch": "9.0.3",
|
||||||
"next-sitemap": "^3.1.10",
|
"next-sitemap": "^3.1.10",
|
||||||
"ng-packagr": "20.0.0-rc.1",
|
"ng-packagr": "~20.0.0",
|
||||||
"npm-package-arg": "11.0.1",
|
"npm-package-arg": "11.0.1",
|
||||||
"nuxt": "^3.10.0",
|
"nuxt": "^3.10.0",
|
||||||
"nx": "21.2.0-beta.1",
|
"nx": "21.2.0-beta.1",
|
||||||
|
|||||||
@ -51,52 +51,21 @@
|
|||||||
{
|
{
|
||||||
"buildTargets": ["build-base"],
|
"buildTargets": ["build-base"],
|
||||||
"ignoredDependencies": [
|
"ignoredDependencies": [
|
||||||
"nx",
|
"@angular-devkit/architect",
|
||||||
"eslint",
|
"@angular-devkit/schematics",
|
||||||
"vite",
|
|
||||||
"rxjs",
|
|
||||||
"semver",
|
|
||||||
"@nx/cypress",
|
"@nx/cypress",
|
||||||
"@nx/playwright",
|
|
||||||
"@nx/jest",
|
"@nx/jest",
|
||||||
"@nx/rollup",
|
"@nx/playwright",
|
||||||
"@nx/storybook",
|
"@nx/storybook",
|
||||||
"@nx/vite",
|
"@nx/vite",
|
||||||
"@nx/webpack",
|
|
||||||
"prettier",
|
|
||||||
"typescript",
|
|
||||||
"@schematics/angular",
|
"@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",
|
"browserslist",
|
||||||
"cacache",
|
|
||||||
"less",
|
|
||||||
"node-sass",
|
|
||||||
"node-sass-tilde-importer",
|
|
||||||
"ora",
|
|
||||||
"convert-source-map",
|
|
||||||
"postcss",
|
|
||||||
"autoprefixer",
|
|
||||||
"postcss-url",
|
|
||||||
"sass",
|
|
||||||
"stylus",
|
|
||||||
"tailwindcss",
|
|
||||||
"cypress",
|
"cypress",
|
||||||
"esbuild",
|
"eslint",
|
||||||
"piscina"
|
"injection-js",
|
||||||
|
"nx",
|
||||||
|
"piscina",
|
||||||
|
"typescript"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@ -303,43 +303,43 @@
|
|||||||
"description": "Change the data persistence operator imports to '@ngrx/router-store/data-persistence'.",
|
"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"
|
"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",
|
"cli": "nx",
|
||||||
"version": "21.2.0-beta.0",
|
"version": "21.2.0-beta.3",
|
||||||
"requires": {
|
"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"
|
"factory": "./src/migrations/update-21-2-0/update-angular-cli"
|
||||||
},
|
},
|
||||||
"migrate-provide-server-rendering-import": {
|
"migrate-provide-server-rendering-import": {
|
||||||
"version": "21.2.0-beta.0",
|
"version": "21.2.0-beta.3",
|
||||||
"requires": {
|
"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`.",
|
"description": "Migrate imports of `provideServerRendering` from `@angular/platform-server` to `@angular/ssr`.",
|
||||||
"factory": "./src/migrations/update-21-2-0/migrate-provide-server-rendering-import"
|
"factory": "./src/migrations/update-21-2-0/migrate-provide-server-rendering-import"
|
||||||
},
|
},
|
||||||
"replace-provide-server-routing": {
|
"replace-provide-server-routing": {
|
||||||
"version": "21.2.0-beta.0",
|
"version": "21.2.0-beta.3",
|
||||||
"requires": {
|
"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"
|
"factory": "./src/migrations/update-21-2-0/replace-provide-server-routing"
|
||||||
},
|
},
|
||||||
"set-generator-defaults-for-previous-style-guide": {
|
"set-generator-defaults-for-previous-style-guide": {
|
||||||
"version": "21.2.0-beta.0",
|
"version": "21.2.0-beta.3",
|
||||||
"requires": {
|
"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.",
|
"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"
|
"factory": "./src/migrations/update-21-2-0/set-generator-defaults-for-previous-style-guide"
|
||||||
},
|
},
|
||||||
"update-module-resolution": {
|
"update-module-resolution": {
|
||||||
"version": "21.2.0-beta.0",
|
"version": "21.2.0-beta.3",
|
||||||
"requires": {
|
"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.",
|
"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"
|
"factory": "./src/migrations/update-21-2-0/update-module-resolution"
|
||||||
@ -1667,66 +1667,145 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"21.2.0": {
|
"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?",
|
"x-prompt": "Do you want to update the Angular version to v20?",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@angular/core": ">=19.2.0 <20.0.0-rc.2"
|
"@angular/core": ">=19.2.0 <20.0.0"
|
||||||
},
|
},
|
||||||
"packages": {
|
"packages": {
|
||||||
"@angular-devkit/build-angular": {
|
"@angular-devkit/build-angular": {
|
||||||
"version": "20.0.0-rc.3",
|
"version": "~20.0.0",
|
||||||
"alwaysAddToPackageJson": false
|
"alwaysAddToPackageJson": false
|
||||||
},
|
},
|
||||||
"@angular-devkit/core": {
|
"@angular-devkit/core": {
|
||||||
"version": "20.0.0-rc.3",
|
"version": "~20.0.0",
|
||||||
"alwaysAddToPackageJson": false
|
"alwaysAddToPackageJson": false
|
||||||
},
|
},
|
||||||
"@angular-devkit/schematics": {
|
"@angular-devkit/schematics": {
|
||||||
"version": "20.0.0-rc.3",
|
"version": "~20.0.0",
|
||||||
"alwaysAddToPackageJson": false
|
"alwaysAddToPackageJson": false
|
||||||
},
|
},
|
||||||
"@angular/build": {
|
"@angular/build": {
|
||||||
"version": "20.0.0-rc.3",
|
"version": "~20.0.0",
|
||||||
"alwaysAddToPackageJson": false
|
"alwaysAddToPackageJson": false
|
||||||
},
|
},
|
||||||
"@angular/pwa": {
|
"@angular/pwa": {
|
||||||
"version": "20.0.0-rc.3",
|
"version": "~20.0.0",
|
||||||
"alwaysAddToPackageJson": false
|
"alwaysAddToPackageJson": false
|
||||||
},
|
},
|
||||||
"@angular/ssr": {
|
"@angular/ssr": {
|
||||||
"version": "20.0.0-rc.3",
|
"version": "~20.0.0",
|
||||||
"alwaysAddToPackageJson": false
|
"alwaysAddToPackageJson": false
|
||||||
},
|
},
|
||||||
"@schematics/angular": {
|
"@schematics/angular": {
|
||||||
"version": "20.0.0-rc.3",
|
"version": "~20.0.0",
|
||||||
"alwaysAddToPackageJson": false
|
"alwaysAddToPackageJson": false
|
||||||
},
|
},
|
||||||
"@angular-devkit/architect": {
|
"@angular-devkit/architect": {
|
||||||
"version": "0.2000.0-rc.3",
|
"version": "~0.2000.0",
|
||||||
"alwaysAddToPackageJson": false
|
"alwaysAddToPackageJson": false
|
||||||
},
|
},
|
||||||
"@angular-devkit/build-webpack": {
|
"@angular-devkit/build-webpack": {
|
||||||
"version": "0.2000.0-rc.3",
|
"version": "~0.2000.0",
|
||||||
"alwaysAddToPackageJson": false
|
"alwaysAddToPackageJson": false
|
||||||
},
|
},
|
||||||
"@angular/core": {
|
"@angular/core": {
|
||||||
"version": "20.0.0-rc.2",
|
"version": "~20.0.0",
|
||||||
"alwaysAddToPackageJson": true
|
"alwaysAddToPackageJson": true
|
||||||
},
|
},
|
||||||
"@angular/material": {
|
"@angular/material": {
|
||||||
"version": "20.0.0-rc.2",
|
"version": "~20.0.0",
|
||||||
"alwaysAddToPackageJson": false
|
"alwaysAddToPackageJson": false
|
||||||
},
|
},
|
||||||
"@angular/cdk": {
|
"@angular/cdk": {
|
||||||
"version": "20.0.0-rc.2",
|
"version": "~20.0.0",
|
||||||
"alwaysAddToPackageJson": false
|
"alwaysAddToPackageJson": false
|
||||||
},
|
},
|
||||||
"@angular/google-maps": {
|
"@angular/google-maps": {
|
||||||
"version": "20.0.0-rc.2",
|
"version": "~20.0.0",
|
||||||
"alwaysAddToPackageJson": false
|
"alwaysAddToPackageJson": false
|
||||||
},
|
},
|
||||||
"ng-packagr": {
|
"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
|
"alwaysAddToPackageJson": false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,28 +7,14 @@
|
|||||||
"deleteDestPath": false,
|
"deleteDestPath": false,
|
||||||
"allowedNonPeerDependencies": [
|
"allowedNonPeerDependencies": [
|
||||||
"@nx/",
|
"@nx/",
|
||||||
"@angular-devkit",
|
|
||||||
"@angular-eslint/",
|
|
||||||
"@module-federation/enhanced",
|
|
||||||
"@schematics",
|
|
||||||
"@phenomnomnominal/tsquery",
|
"@phenomnomnominal/tsquery",
|
||||||
"@typescript-eslint/",
|
"@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",
|
"enquirer",
|
||||||
"find-cache-dir",
|
"magic-string",
|
||||||
"webpack"
|
"picocolors",
|
||||||
|
"picomatch",
|
||||||
|
"semver",
|
||||||
|
"webpack-merge"
|
||||||
],
|
],
|
||||||
"keepLifecycleScripts": true
|
"keepLifecycleScripts": true
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,7 +18,6 @@ exports[`addLinting generator should correctly generate the .eslintrc.json file
|
|||||||
"*.ts",
|
"*.ts",
|
||||||
],
|
],
|
||||||
"rules": {
|
"rules": {
|
||||||
"@angular-eslint/component-class-suffix": "off",
|
|
||||||
"@angular-eslint/component-selector": [
|
"@angular-eslint/component-selector": [
|
||||||
"error",
|
"error",
|
||||||
{
|
{
|
||||||
@ -27,7 +26,6 @@ exports[`addLinting generator should correctly generate the .eslintrc.json file
|
|||||||
"type": "element",
|
"type": "element",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
"@angular-eslint/directive-class-suffix": "off",
|
|
||||||
"@angular-eslint/directive-selector": [
|
"@angular-eslint/directive-selector": [
|
||||||
"error",
|
"error",
|
||||||
{
|
{
|
||||||
|
|||||||
@ -168,9 +168,7 @@ describe('addLinting generator', () => {
|
|||||||
prefix: "my-org",
|
prefix: "my-org",
|
||||||
style: "kebab-case"
|
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",
|
"prefix": "my-org",
|
||||||
"style": "kebab-case"
|
"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',
|
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, {
|
addOverrideToLintConfig(tree, options.projectRoot, {
|
||||||
@ -125,10 +121,6 @@ export async function addLintingGenerator(
|
|||||||
style: 'kebab-case',
|
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`] = `
|
exports[`app --minimal should skip "nx-welcome.ts" file and references for standalone apps with routing 2`] = `
|
||||||
"import { TestBed } from '@angular/core/testing';
|
"import { TestBed } from '@angular/core/testing';
|
||||||
import { App } from './app';
|
import { App } from './app';
|
||||||
import { RouterModule } from '@angular/router';
|
|
||||||
|
|
||||||
describe('App', () => {
|
describe('App', () => {
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
await TestBed.configureTestingModule({
|
await TestBed.configureTestingModule({
|
||||||
imports: [App, RouterModule.forRoot([])],
|
imports: [App],
|
||||||
}).compileComponents();
|
}).compileComponents();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -488,12 +487,11 @@ exports[`app --standalone should generate a standalone app correctly with routin
|
|||||||
"import { TestBed } from '@angular/core/testing';
|
"import { TestBed } from '@angular/core/testing';
|
||||||
import { App } from './app';
|
import { App } from './app';
|
||||||
import { NxWelcome } from './nx-welcome';
|
import { NxWelcome } from './nx-welcome';
|
||||||
import { RouterModule } from '@angular/router';
|
|
||||||
|
|
||||||
describe('App', () => {
|
describe('App', () => {
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
await TestBed.configureTestingModule({
|
await TestBed.configureTestingModule({
|
||||||
imports: [App, NxWelcome, RouterModule.forRoot([])],
|
imports: [App, NxWelcome],
|
||||||
}).compileComponents();
|
}).compileComponents();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -746,12 +744,11 @@ exports[`app angular compat support should generate components with the "compone
|
|||||||
"import { TestBed } from '@angular/core/testing';
|
"import { TestBed } from '@angular/core/testing';
|
||||||
import { AppComponent } from './app.component';
|
import { AppComponent } from './app.component';
|
||||||
import { NxWelcomeComponent } from './nx-welcome.component';
|
import { NxWelcomeComponent } from './nx-welcome.component';
|
||||||
import { RouterModule } from '@angular/router';
|
|
||||||
|
|
||||||
describe('AppComponent', () => {
|
describe('AppComponent', () => {
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
await TestBed.configureTestingModule({
|
await TestBed.configureTestingModule({
|
||||||
imports: [AppComponent, NxWelcomeComponent, RouterModule.forRoot([])],
|
imports: [AppComponent, NxWelcomeComponent],
|
||||||
}).compileComponents();
|
}).compileComponents();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -1196,12 +1193,11 @@ exports[`app template generation mode should respect the "type" configured in th
|
|||||||
"import { TestBed } from '@angular/core/testing';
|
"import { TestBed } from '@angular/core/testing';
|
||||||
import { AppComponent } from './app.component';
|
import { AppComponent } from './app.component';
|
||||||
import { NxWelcomeComponent } from './nx-welcome.component';
|
import { NxWelcomeComponent } from './nx-welcome.component';
|
||||||
import { RouterModule } from '@angular/router';
|
|
||||||
|
|
||||||
describe('AppComponent', () => {
|
describe('AppComponent', () => {
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
await TestBed.configureTestingModule({
|
await TestBed.configureTestingModule({
|
||||||
imports: [AppComponent, NxWelcomeComponent, RouterModule.forRoot([])],
|
imports: [AppComponent, NxWelcomeComponent],
|
||||||
}).compileComponents();
|
}).compileComponents();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -671,7 +671,6 @@ describe('app', () => {
|
|||||||
"*.ts",
|
"*.ts",
|
||||||
],
|
],
|
||||||
"rules": {
|
"rules": {
|
||||||
"@angular-eslint/component-class-suffix": "off",
|
|
||||||
"@angular-eslint/component-selector": [
|
"@angular-eslint/component-selector": [
|
||||||
"error",
|
"error",
|
||||||
{
|
{
|
||||||
@ -680,7 +679,6 @@ describe('app', () => {
|
|||||||
"type": "element",
|
"type": "element",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
"@angular-eslint/directive-class-suffix": "off",
|
|
||||||
"@angular-eslint/directive-selector": [
|
"@angular-eslint/directive-selector": [
|
||||||
"error",
|
"error",
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,12 +1,11 @@
|
|||||||
import { TestBed } from '@angular/core/testing';
|
import { TestBed } from '@angular/core/testing';
|
||||||
import { App<%= componentType %> } from './app<%= componentFileSuffix %>';<% if(!minimal) { %>
|
import { App<%= componentType %> } from './app<%= componentFileSuffix %>';<% if(!minimal) { %>
|
||||||
import { NxWelcome<%= componentType %> } from './nx-welcome<%= componentFileSuffix %>';<% } %><% if(routing) { %>
|
import { NxWelcome<%= componentType %> } from './nx-welcome<%= componentFileSuffix %>';<% } %>
|
||||||
import { RouterModule } from '@angular/router';<% } %>
|
|
||||||
|
|
||||||
describe('App<%= componentType %>', () => {
|
describe('App<%= componentType %>', () => {
|
||||||
beforeEach(async () => {
|
beforeEach(async () => {
|
||||||
await TestBed.configureTestingModule({
|
await TestBed.configureTestingModule({
|
||||||
imports: [App<%= componentType %><% if(!minimal) { %>, NxWelcome<%= componentType %><% } %><% if(routing) { %>, RouterModule.forRoot([])<% } %>],
|
imports: [App<%= componentType %><% if(!minimal) { %>, NxWelcome<%= componentType %><% } %>],
|
||||||
}).compileComponents();
|
}).compileComponents();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -700,9 +700,7 @@ describe('lib', () => {
|
|||||||
"prefix": "lib",
|
"prefix": "lib",
|
||||||
"style": "kebab-case"
|
"style": "kebab-case"
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
"@angular-eslint/component-class-suffix": "off",
|
|
||||||
"@angular-eslint/directive-class-suffix": "off"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -1250,9 +1248,7 @@ describe('lib', () => {
|
|||||||
prefix: "lib",
|
prefix: "lib",
|
||||||
style: "kebab-case"
|
style: "kebab-case"
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
"@angular-eslint/component-class-suffix": "off",
|
|
||||||
"@angular-eslint/directive-class-suffix": "off"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -1292,7 +1288,6 @@ describe('lib', () => {
|
|||||||
"*.ts",
|
"*.ts",
|
||||||
],
|
],
|
||||||
"rules": {
|
"rules": {
|
||||||
"@angular-eslint/component-class-suffix": "off",
|
|
||||||
"@angular-eslint/component-selector": [
|
"@angular-eslint/component-selector": [
|
||||||
"error",
|
"error",
|
||||||
{
|
{
|
||||||
@ -1301,7 +1296,6 @@ describe('lib', () => {
|
|||||||
"type": "element",
|
"type": "element",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
"@angular-eslint/directive-class-suffix": "off",
|
|
||||||
"@angular-eslint/directive-selector": [
|
"@angular-eslint/directive-selector": [
|
||||||
"error",
|
"error",
|
||||||
{
|
{
|
||||||
@ -1354,7 +1348,6 @@ describe('lib', () => {
|
|||||||
"*.ts",
|
"*.ts",
|
||||||
],
|
],
|
||||||
"rules": {
|
"rules": {
|
||||||
"@angular-eslint/component-class-suffix": "off",
|
|
||||||
"@angular-eslint/component-selector": [
|
"@angular-eslint/component-selector": [
|
||||||
"error",
|
"error",
|
||||||
{
|
{
|
||||||
@ -1363,7 +1356,6 @@ describe('lib', () => {
|
|||||||
"type": "element",
|
"type": "element",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
"@angular-eslint/directive-class-suffix": "off",
|
|
||||||
"@angular-eslint/directive-selector": [
|
"@angular-eslint/directive-selector": [
|
||||||
"error",
|
"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
|
#### Examples
|
||||||
|
|
||||||
@ -79,3 +79,47 @@ const serverConfig: ApplicationConfig = {
|
|||||||
|
|
||||||
{% /tab %}
|
{% /tab %}
|
||||||
{% /tabs %}
|
{% /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);
|
export const config = mergeApplicationConfig(appConfig, serverConfig);
|
||||||
`
|
`
|
||||||
);
|
);
|
||||||
|
|||||||
@ -30,7 +30,8 @@ function processFile(tree: Tree, filePath: string): void {
|
|||||||
const content = tree.read(filePath, 'utf-8');
|
const content = tree.read(filePath, 'utf-8');
|
||||||
|
|
||||||
if (
|
if (
|
||||||
!content.includes('provideServerRouting') ||
|
(!content.includes('provideServerRouting') &&
|
||||||
|
!content.includes('provideServerRoutesConfig')) ||
|
||||||
!content.includes('@angular/ssr')
|
!content.includes('@angular/ssr')
|
||||||
) {
|
) {
|
||||||
return;
|
return;
|
||||||
@ -40,13 +41,26 @@ function processFile(tree: Tree, filePath: string): void {
|
|||||||
|
|
||||||
const providersArray = tsquery.query<ts.ArrayLiteralExpression>(
|
const providersArray = tsquery.query<ts.ArrayLiteralExpression>(
|
||||||
sourceFile,
|
sourceFile,
|
||||||
'PropertyAssignment:has(Identifier[name=providers]) > ArrayLiteralExpression:has(CallExpression > Identifier[name=provideServerRouting])',
|
'PropertyAssignment:has(Identifier[name=providers]) > ArrayLiteralExpression',
|
||||||
{ visitAllChildren: true }
|
{ visitAllChildren: true }
|
||||||
)[0];
|
)[0];
|
||||||
|
|
||||||
if (!providersArray) {
|
if (!providersArray) {
|
||||||
return;
|
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 recorder = new FileChangeRecorder(tree, filePath);
|
||||||
const printer = ts.createPrinter({
|
const printer = ts.createPrinter({
|
||||||
newLine: ts.NewLineKind.LineFeed,
|
newLine: ts.NewLineKind.LineFeed,
|
||||||
@ -61,7 +75,10 @@ function processFile(tree: Tree, filePath: string): void {
|
|||||||
for (const node of providerCallNodes) {
|
for (const node of providerCallNodes) {
|
||||||
if (node.expression.getText() === 'provideServerRendering') {
|
if (node.expression.getText() === 'provideServerRendering') {
|
||||||
provideServerRenderingCall = node;
|
provideServerRenderingCall = node;
|
||||||
} else if (node.expression.getText() === 'provideServerRouting') {
|
} else if (
|
||||||
|
node.expression.getText() === 'provideServerRouting' ||
|
||||||
|
node.expression.getText() === 'provideServerRoutesConfig'
|
||||||
|
) {
|
||||||
provideServerRoutingCall = node;
|
provideServerRoutingCall = node;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -74,7 +91,8 @@ function processFile(tree: Tree, filePath: string): void {
|
|||||||
|
|
||||||
let updatedProvidersArray: ts.ArrayLiteralExpression;
|
let updatedProvidersArray: ts.ArrayLiteralExpression;
|
||||||
if (provideServerRenderingCall) {
|
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(
|
updatedProvidersArray = ts.factory.updateArrayLiteralExpression(
|
||||||
providersArray,
|
providersArray,
|
||||||
providersArray.elements
|
providersArray.elements
|
||||||
@ -83,7 +101,8 @@ function processFile(tree: Tree, filePath: string): void {
|
|||||||
!(
|
!(
|
||||||
ts.isCallExpression(el) &&
|
ts.isCallExpression(el) &&
|
||||||
ts.isIdentifier(el.expression) &&
|
ts.isIdentifier(el.expression) &&
|
||||||
el.expression.text === 'provideServerRouting'
|
(el.expression.text === 'provideServerRouting' ||
|
||||||
|
el.expression.text === 'provideServerRoutesConfig')
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
.map((el) => {
|
.map((el) => {
|
||||||
@ -104,14 +123,16 @@ function processFile(tree: Tree, filePath: string): void {
|
|||||||
})
|
})
|
||||||
);
|
);
|
||||||
} else {
|
} 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(
|
updatedProvidersArray = ts.factory.updateArrayLiteralExpression(
|
||||||
providersArray,
|
providersArray,
|
||||||
providersArray.elements.map((el) => {
|
providersArray.elements.map((el) => {
|
||||||
if (
|
if (
|
||||||
ts.isCallExpression(el) &&
|
ts.isCallExpression(el) &&
|
||||||
ts.isIdentifier(el.expression) &&
|
ts.isIdentifier(el.expression) &&
|
||||||
el.expression.text === 'provideServerRouting'
|
(el.expression.text === 'provideServerRouting' ||
|
||||||
|
el.expression.text === 'provideServerRoutesConfig')
|
||||||
) {
|
) {
|
||||||
return ts.factory.createCallExpression(
|
return ts.factory.createCallExpression(
|
||||||
ts.factory.createIdentifier('provideServerRendering'),
|
ts.factory.createIdentifier('provideServerRendering'),
|
||||||
@ -145,11 +166,15 @@ function processFile(tree: Tree, filePath: string): void {
|
|||||||
const namedBindings = importDecl?.importClause.namedBindings;
|
const namedBindings = importDecl?.importClause.namedBindings;
|
||||||
|
|
||||||
if (ts.isNamedImports(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([
|
const updatedElementNames = new Set([
|
||||||
...namedBindings.elements
|
...namedBindings.elements
|
||||||
.map((el) => el.getText())
|
.map((el) => el.getText())
|
||||||
.filter((x) => x !== 'provideServerRouting'),
|
.filter(
|
||||||
|
(x) =>
|
||||||
|
x !== 'provideServerRouting' && x !== 'provideServerRoutesConfig'
|
||||||
|
),
|
||||||
'withRoutes',
|
'withRoutes',
|
||||||
]);
|
]);
|
||||||
const updatedNamedBindings = ts.factory.updateNamedImports(
|
const updatedNamedBindings = ts.factory.updateNamedImports(
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import { formatFiles, Tree, updateJson } from '@nx/devkit';
|
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) {
|
export default async function (tree: Tree) {
|
||||||
let shouldFormat = false;
|
let shouldFormat = false;
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
export const nxVersion = require('../../package.json').version;
|
export const nxVersion = require('../../package.json').version;
|
||||||
|
|
||||||
export const angularVersion = '20.0.0-rc.2';
|
export const angularVersion = '~20.0.0';
|
||||||
export const angularDevkitVersion = '20.0.0-rc.3';
|
export const angularDevkitVersion = '~20.0.0';
|
||||||
export const ngPackagrVersion = '20.0.0-rc.1';
|
export const ngPackagrVersion = '~20.0.0';
|
||||||
export const angularRspackVersion = '^21.0.1';
|
export const angularRspackVersion = '^21.1.0';
|
||||||
export const ngrxVersion = '^19.0.0';
|
export const ngrxVersion = '^19.0.0';
|
||||||
export const rxjsVersion = '~7.8.0';
|
export const rxjsVersion = '~7.8.0';
|
||||||
export const zoneJsVersion = '~0.15.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 moduleFederationEnhancedVersion = '^0.9.0';
|
||||||
export const webpackMergeVersion = '^5.8.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 typescriptEslintVersion = '^7.16.0';
|
||||||
export const tailwindVersion = '^3.0.2';
|
export const tailwindVersion = '^3.0.2';
|
||||||
export const postcssVersion = '^8.4.5';
|
export const postcssVersion = '^8.4.5';
|
||||||
@ -27,7 +27,7 @@ export const postcssUrlVersion = '~10.1.3';
|
|||||||
export const autoprefixerVersion = '^10.4.0';
|
export const autoprefixerVersion = '^10.4.0';
|
||||||
export const tsNodeVersion = '10.9.1';
|
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 typesNodeVersion = '18.16.9';
|
||||||
export const jasmineMarblesVersion = '^0.9.2';
|
export const jasmineMarblesVersion = '^0.9.2';
|
||||||
|
|
||||||
|
|||||||
@ -57,7 +57,6 @@ describe('Convert Nx Executor', () => {
|
|||||||
// ASSERT
|
// ASSERT
|
||||||
expect(convertedRunResult).toMatchInlineSnapshot(`
|
expect(convertedRunResult).toMatchInlineSnapshot(`
|
||||||
{
|
{
|
||||||
"error": undefined,
|
|
||||||
"info": {
|
"info": {
|
||||||
"builderName": "nx:test",
|
"builderName": "nx:test",
|
||||||
"description": "Testing only builder.",
|
"description": "Testing only builder.",
|
||||||
@ -66,16 +65,10 @@ describe('Convert Nx Executor', () => {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
"success": true,
|
"success": true,
|
||||||
"target": {
|
|
||||||
"configuration": undefined,
|
|
||||||
"project": undefined,
|
|
||||||
"target": undefined,
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
`);
|
`);
|
||||||
expect(realRunResult).toMatchInlineSnapshot(`
|
expect(realRunResult).toMatchInlineSnapshot(`
|
||||||
{
|
{
|
||||||
"error": undefined,
|
|
||||||
"info": {
|
"info": {
|
||||||
"builderName": "ng:test",
|
"builderName": "ng:test",
|
||||||
"description": "Testing only builder.",
|
"description": "Testing only builder.",
|
||||||
@ -84,11 +77,6 @@ describe('Convert Nx Executor', () => {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
"success": true,
|
"success": true,
|
||||||
"target": {
|
|
||||||
"configuration": undefined,
|
|
||||||
"project": undefined,
|
|
||||||
"target": undefined,
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
`);
|
`);
|
||||||
expect(convertedRunResult.success).toEqual(realRunResult.success);
|
expect(convertedRunResult.success).toEqual(realRunResult.success);
|
||||||
|
|||||||
@ -53,10 +53,10 @@ export function convertNxExecutor(executor: Executor) {
|
|||||||
|
|
||||||
const context: ExecutorContext = {
|
const context: ExecutorContext = {
|
||||||
root: builderContext.workspaceRoot,
|
root: builderContext.workspaceRoot,
|
||||||
projectName: builderContext.target.project,
|
projectName: builderContext.target?.project,
|
||||||
targetName: builderContext.target.target,
|
targetName: builderContext.target?.target,
|
||||||
target: builderContext.target.target,
|
target: builderContext.target?.target,
|
||||||
configurationName: builderContext.target.configuration,
|
configurationName: builderContext.target?.configuration,
|
||||||
projectsConfigurations,
|
projectsConfigurations,
|
||||||
nxJsonConfiguration,
|
nxJsonConfiguration,
|
||||||
cwd: process.cwd(),
|
cwd: process.cwd(),
|
||||||
|
|||||||
@ -108,14 +108,14 @@ describe('js init generator', () => {
|
|||||||
|
|
||||||
it('should not overwrite installed typescript version when is a supported version', async () => {
|
it('should not overwrite installed typescript version when is a supported version', async () => {
|
||||||
updateJson(tree, 'package.json', (json) => {
|
updateJson(tree, 'package.json', (json) => {
|
||||||
json.devDependencies = { ...json.devDependencies, typescript: '~5.2.0' };
|
json.devDependencies = { ...json.devDependencies, typescript: '~5.4.0' };
|
||||||
return json;
|
return json;
|
||||||
});
|
});
|
||||||
|
|
||||||
await init(tree, {});
|
await init(tree, {});
|
||||||
|
|
||||||
const packageJson = readJson(tree, 'package.json');
|
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(
|
expect(packageJson.devDependencies['typescript']).not.toBe(
|
||||||
typescriptVersion
|
typescriptVersion
|
||||||
);
|
);
|
||||||
|
|||||||
@ -15,6 +15,6 @@ export const typescriptVersion = '~5.8.2';
|
|||||||
/**
|
/**
|
||||||
* The minimum version is currently determined from the lowest version
|
* The minimum version is currently determined from the lowest version
|
||||||
* that's supported by the lowest Angular supported version, e.g.
|
* 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
|
"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 edgeRuntimeVmVersion = '~3.0.2';
|
||||||
export const jitiVersion = '2.4.2';
|
export const jitiVersion = '2.4.2';
|
||||||
|
|
||||||
export const analogVitestAngular = '~1.16.1';
|
export const analogVitestAngular = '~1.17.1';
|
||||||
|
|
||||||
// Coverage providers
|
// Coverage providers
|
||||||
export const vitestCoverageV8Version = '^3.0.5';
|
export const vitestCoverageV8Version = '^3.0.5';
|
||||||
|
|||||||
@ -4,5 +4,5 @@ export const typescriptVersion = '~5.8.2';
|
|||||||
|
|
||||||
// TODO: remove when preset generation is reworked and
|
// TODO: remove when preset generation is reworked and
|
||||||
// deps are not installed from workspace
|
// deps are not installed from workspace
|
||||||
export const angularCliVersion = '20.0.0-rc.3';
|
export const angularCliVersion = '~20.0.0';
|
||||||
export const angularRspackVersion = '^21.0.1';
|
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