From 28810e09145cebc55afa798133b8d0f0c0b496db Mon Sep 17 00:00:00 2001 From: Jessica Janiuk Date: Wed, 19 Nov 2025 12:01:07 -0800 Subject: [PATCH] build: bump adev version Bump adev versions for v21 release (cherry picked from commit d42d7523ec987d16403e33b7cc929be313486eb2) --- adev/shared-docs/package.json | 16 +- .../examples/template/package.json.template | 22 +-- .../tutorials/common/package.json.template | 14 +- adev/src/assets/others/versions.json | 4 + .../projects/my-lib/package.json | 4 +- .../deferrable-views/common/package.json | 18 +- .../first-app/common/package-lock.json | 156 +++++++-------- .../tutorials/first-app/common/package.json | 18 +- .../tutorials/homepage/package-lock.json | 142 +++++++------- .../content/tutorials/homepage/package.json | 16 +- .../learn-angular/common/package-lock.json | 156 +++++++-------- .../learn-angular/common/package.json | 18 +- .../playground/common/package-lock.json | 182 +++++++++--------- .../tutorials/playground/common/package.json | 22 +-- 14 files changed, 396 insertions(+), 392 deletions(-) diff --git a/adev/shared-docs/package.json b/adev/shared-docs/package.json index a14a9815a1e..b9ae84dfd47 100644 --- a/adev/shared-docs/package.json +++ b/adev/shared-docs/package.json @@ -2,14 +2,14 @@ "name": "@angular/docs", "version": "0.0.0-PLACEHOLDER", "peerDependencies": { - "@angular/cdk": "^21.0.0-next", - "@angular/common": "^21.0.0-next", - "@angular/core": "^21.0.0-next", - "@angular/forms": "^21.0.0-next", - "@angular/material": "^21.0.0-next", - "@angular/platform-browser": "^21.0.0-next", - "@angular/router": "^21.0.0-next", - "@angular/ssr": "^21.0.0-next", + "@angular/cdk": "^21.0.0", + "@angular/common": "^21.0.0", + "@angular/core": "^21.0.0", + "@angular/forms": "^21.0.0", + "@angular/material": "^21.0.0", + "@angular/platform-browser": "^21.0.0", + "@angular/router": "^21.0.0", + "@angular/ssr": "^21.0.0", "algoliasearch": "^5.0.0", "rxjs": "^7.8.1" }, diff --git a/adev/shared-docs/pipeline/examples/template/package.json.template b/adev/shared-docs/pipeline/examples/template/package.json.template index eaef291991d..cf4d291bb34 100644 --- a/adev/shared-docs/pipeline/examples/template/package.json.template +++ b/adev/shared-docs/pipeline/examples/template/package.json.template @@ -10,22 +10,22 @@ }, "private": true, "dependencies": { - "@angular/animations": "^20.2.0", - "@angular/common": "^20.2.0", - "@angular/compiler": "^20.2.0", - "@angular/core": "^20.2.0", - "@angular/forms": "^20.2.0", - "@angular/platform-browser": "^20.2.0", - "@angular/platform-browser-dynamic": "^20.2.0", - "@angular/router": "^20.2.0", + "@angular/animations": "^21.0.0", + "@angular/common": "^21.0.0", + "@angular/compiler": "^21.0.0", + "@angular/core": "^21.0.0", + "@angular/forms": "^21.0.0", + "@angular/platform-browser": "^21.0.0", + "@angular/platform-browser-dynamic": "^21.0.0", + "@angular/router": "^21.0.0", "rxjs": "~7.4.0", "tslib": "^2.3.0", "zone.js": "~0.13.0" }, "devDependencies": { - "@angular/build": "^20.2.0", - "@angular/cli": "^20.2.0", - "@angular/compiler-cli": "^20.2.0", + "@angular/build": "^21.0.0", + "@angular/cli": "^21.0.0", + "@angular/compiler-cli": "^21.0.0", "@types/jasmine": "~3.10.0", "@types/node": "^20.14.8", "jasmine-core": "~3.10.0", diff --git a/adev/shared-docs/pipeline/tutorials/common/package.json.template b/adev/shared-docs/pipeline/tutorials/common/package.json.template index 26d1f6193ec..6af24f02075 100644 --- a/adev/shared-docs/pipeline/tutorials/common/package.json.template +++ b/adev/shared-docs/pipeline/tutorials/common/package.json.template @@ -9,18 +9,18 @@ }, "private": true, "dependencies": { - "@angular/common": "^21.0.0-rc.2", - "@angular/compiler": "^21.0.0-rc.2", - "@angular/core": "^21.0.0-rc.2", - "@angular/platform-browser": "^21.0.0-rc.2", + "@angular/common": "^21.0.0", + "@angular/compiler": "^21.0.0", + "@angular/core": "^21.0.0", + "@angular/platform-browser": "^21.0.0", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.15.1" }, "devDependencies": { - "@angular/build": "^21.0.0-rc.2", - "@angular/cli": "^21.0.0-rc.2", - "@angular/compiler-cli": "^21.0.0-rc.2", + "@angular/build": "^21.0.0", + "@angular/cli": "^21.0.0", + "@angular/compiler-cli": "^21.0.0", "typescript": "~5.9.2" } } diff --git a/adev/src/assets/others/versions.json b/adev/src/assets/others/versions.json index 44dad0e1efe..52ec12a661c 100644 --- a/adev/src/assets/others/versions.json +++ b/adev/src/assets/others/versions.json @@ -3,6 +3,10 @@ "version": "next", "url": "https://next.angular.dev/overview" }, + { + "version": "v21", + "url": "https://v21.angular.dev/overview" + }, { "version": "v20", "url": "https://v20.angular.dev/overview" diff --git a/adev/src/content/examples/schematics-for-libraries/projects/my-lib/package.json b/adev/src/content/examples/schematics-for-libraries/projects/my-lib/package.json index ca979d35efd..4bdab6c3488 100644 --- a/adev/src/content/examples/schematics-for-libraries/projects/my-lib/package.json +++ b/adev/src/content/examples/schematics-for-libraries/projects/my-lib/package.json @@ -9,8 +9,8 @@ "postbuild": "copyfiles schematics/*/schema.json schematics/*/files/** schematics/collection.json ../../dist/my-lib/" }, "peerDependencies": { - "@angular/common": "^20.0.0", - "@angular/core": "^20.0.0" + "@angular/common": "^21.0.0", + "@angular/core": "^21.0.0" }, // #docregion collection "schematics": "./schematics/collection.json", diff --git a/adev/src/content/tutorials/deferrable-views/common/package.json b/adev/src/content/tutorials/deferrable-views/common/package.json index a6ec3846e65..2401d4c596e 100644 --- a/adev/src/content/tutorials/deferrable-views/common/package.json +++ b/adev/src/content/tutorials/deferrable-views/common/package.json @@ -9,20 +9,20 @@ }, "private": true, "dependencies": { - "@angular/common": "^21.0.0-next", - "@angular/compiler": "^21.0.0-next", - "@angular/core": "^21.0.0-next", - "@angular/forms": "^21.0.0-next", - "@angular/platform-browser": "^21.0.0-next", - "@angular/router": "^21.0.0-next", + "@angular/common": "^21.0.0", + "@angular/compiler": "^21.0.0", + "@angular/core": "^21.0.0", + "@angular/forms": "^21.0.0", + "@angular/platform-browser": "^21.0.0", + "@angular/router": "^21.0.0", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.15.1" }, "devDependencies": { - "@angular/build": "^21.0.0-next", - "@angular/cli": "^21.0.0-next", - "@angular/compiler-cli": "^21.0.0-next", + "@angular/build": "^21.0.0", + "@angular/cli": "^21.0.0", + "@angular/compiler-cli": "^21.0.0", "typescript": "~5.9.2" } } diff --git a/adev/src/content/tutorials/first-app/common/package-lock.json b/adev/src/content/tutorials/first-app/common/package-lock.json index 226534e07ca..c195c078169 100644 --- a/adev/src/content/tutorials/first-app/common/package-lock.json +++ b/adev/src/content/tutorials/first-app/common/package-lock.json @@ -8,20 +8,20 @@ "name": "angular.dev", "version": "0.0.0", "dependencies": { - "@angular/common": "^21.0.0-next", - "@angular/compiler": "^21.0.0-next", - "@angular/core": "^21.0.0-next", - "@angular/forms": "^21.0.0-next", - "@angular/platform-browser": "^21.0.0-next", - "@angular/router": "^21.0.0-next", + "@angular/common": "^21.0.0", + "@angular/compiler": "^21.0.0", + "@angular/core": "^21.0.0", + "@angular/forms": "^21.0.0", + "@angular/platform-browser": "^21.0.0", + "@angular/router": "^21.0.0", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.15.0" }, "devDependencies": { - "@angular/build": "^21.0.0-next", - "@angular/cli": "^21.0.0-next", - "@angular/compiler-cli": "^21.0.0-next", + "@angular/build": "^21.0.0", + "@angular/cli": "^21.0.0", + "@angular/compiler-cli": "^21.0.0", "@types/node": "^16.11.35", "typescript": "~5.9.2" } @@ -250,13 +250,13 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.2100.0-rc.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2100.0-rc.5.tgz", - "integrity": "sha512-xjad+qQev2Gsn+hCUWnn0/ENpsSMIUZAXBmqSuwevHw4h/Paps6ECrSwKgJH4rqvzc2Y1rN1ZqAJg8ioXM6lfQ==", + "version": "0.2100.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2100.0.tgz", + "integrity": "sha512-BNt6Rw53WauCw31ku/r/ksVIY+Pi8XZptsSUIHiDUeqB2iZOWu4L3c5kuDGmoGkGByY588H48hfR2MgIpBhgAg==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "21.0.0-rc.5", + "@angular-devkit/core": "21.0.0", "rxjs": "7.8.2" }, "engines": { @@ -266,9 +266,9 @@ } }, "node_modules/@angular-devkit/core": { - "version": "21.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.0.0-rc.5.tgz", - "integrity": "sha512-8Sr+WWRUBBtoHEjaBZ9HZX9ZbBsTDo027ibuSFRNr8bzdV0/qpQSvbkcCX3RRq29s01tpUExu2m+4RJ/yOd6zQ==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.0.0.tgz", + "integrity": "sha512-d3n5GvrwqN1AUkWE3Wd8rrdY2u6/5bzorlZVT5W4CcH7ekAIoMu4SBTbSJ7bfRe/l2z/A1WZ6hFlnQzLclOjJA==", "dev": true, "license": "MIT", "dependencies": { @@ -294,13 +294,13 @@ } }, "node_modules/@angular-devkit/schematics": { - "version": "21.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.0.0-rc.5.tgz", - "integrity": "sha512-iMZ9czqjOfr8l5+SQ7rQdXGd1E2aqROVMP/yBXRaWucNsoY/83bP1nuirCzofSJfvgyX1vVZY6R9efpFR3n7fg==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.0.0.tgz", + "integrity": "sha512-8zwXp8OTzJO3IY3Ge3lLqXokNAtQy6kM1FeTyPT20M+0AQHTX9WJlGaYEWdLYI9WwNPWy1/Iq6AaZNcR5phPpw==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "21.0.0-rc.5", + "@angular-devkit/core": "21.0.0", "jsonc-parser": "3.3.1", "magic-string": "0.30.19", "ora": "9.0.0", @@ -313,14 +313,14 @@ } }, "node_modules/@angular/build": { - "version": "21.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@angular/build/-/build-21.0.0-rc.5.tgz", - "integrity": "sha512-0PBW0sDv3I5P0r0gVuwncfCDqX8KaChdOZF2iR3mHM11/52ziJG1g6zZ7f7ODHkj+SLC53DzEiUiej4NuUNC1Q==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-21.0.0.tgz", + "integrity": "sha512-TobXT9fXZVee1yULlcOVowOurCUoJlku8st5vzkRZekP520qRjBSEbIk8V2emkFbzgzOeJUtXv1pvrBY7yAYhQ==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.2100.0-rc.5", + "@angular-devkit/architect": "0.2100.0", "@babel/core": "7.28.4", "@babel/helper-annotate-as-pure": "7.27.3", "@babel/helper-split-export-declaration": "7.24.7", @@ -356,17 +356,17 @@ "lmdb": "3.4.3" }, "peerDependencies": { - "@angular/compiler": "^21.0.0-next.0", - "@angular/compiler-cli": "^21.0.0-next.0", - "@angular/core": "^21.0.0-next.0", - "@angular/localize": "^21.0.0-next.0", - "@angular/platform-browser": "^21.0.0-next.0", - "@angular/platform-server": "^21.0.0-next.0", - "@angular/service-worker": "^21.0.0-next.0", - "@angular/ssr": "^21.0.0-rc.5", + "@angular/compiler": "^21.0.0", + "@angular/compiler-cli": "^21.0.0", + "@angular/core": "^21.0.0", + "@angular/localize": "^21.0.0", + "@angular/platform-browser": "^21.0.0", + "@angular/platform-server": "^21.0.0", + "@angular/service-worker": "^21.0.0", + "@angular/ssr": "^21.0.0", "karma": "^6.4.0", "less": "^4.2.0", - "ng-packagr": "^21.0.0-next.0", + "ng-packagr": "^21.0.0", "postcss": "^8.4.0", "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", "tslib": "^2.3.0", @@ -1144,19 +1144,19 @@ } }, "node_modules/@angular/cli": { - "version": "21.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.0.0-rc.5.tgz", - "integrity": "sha512-aD+o5l0fHV1E2QZhZzTxNAst+24GxxD7Mb+4cjUrbe5G4wz3/owWo4MrIc55aV6qN75emQ78r8PvEYs3RM8YfQ==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.0.0.tgz", + "integrity": "sha512-713DfTD/ThIy/BOmZ+8zhXo/OhPE9jYaAS0UhXVhtp2ptqzRqSzLvW9fWgtqP4ITAqulOoitiWPLXxOEQ2Cixw==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.2100.0-rc.5", - "@angular-devkit/core": "21.0.0-rc.5", - "@angular-devkit/schematics": "21.0.0-rc.5", + "@angular-devkit/architect": "0.2100.0", + "@angular-devkit/core": "21.0.0", + "@angular-devkit/schematics": "21.0.0", "@inquirer/prompts": "7.9.0", "@listr2/prompt-adapter-inquirer": "3.0.5", "@modelcontextprotocol/sdk": "1.20.1", - "@schematics/angular": "21.0.0-rc.5", + "@schematics/angular": "21.0.0", "@yarnpkg/lockfile": "1.1.0", "algoliasearch": "5.40.1", "ini": "5.0.0", @@ -1635,9 +1635,9 @@ } }, "node_modules/@angular/common": { - "version": "21.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.0.0-rc.3.tgz", - "integrity": "sha512-KrbbsEMY9zCxH5FEIi0/ZfkylSqv1mvMyB6Cxfpordoi6IX2990cXC+4LCvNLKBefQODS9P1ztV6mox+ETwDhQ==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.0.0.tgz", + "integrity": "sha512-uFvQDYU5X5nEnI9C4Bkdxcu4aIzNesGLJzmFlnwChVxB4BxIRF0uHL0oRhdkInGTIzPDJPH4nF6B/22c5gDVqA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1646,14 +1646,14 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/core": "21.0.0-rc.3", + "@angular/core": "21.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "21.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.0.0-rc.3.tgz", - "integrity": "sha512-x2UDPNx+DM3TLfBiJQfS9jChLOsd5JQPHlzGWtvfkmKJOcr47pXEl3k7nEtIqISvAxyeAMS+/hTYWbE0P05MfQ==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.0.0.tgz", + "integrity": "sha512-6jCH3UYga5iokj5F40SR4dlwo9ZRMkT8YzHCTijwZuDX9zvugp9jPof092RvIeNsTvCMVfGWuM9yZ1DRUsU/yg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1663,9 +1663,9 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "21.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.0.0-rc.3.tgz", - "integrity": "sha512-BrRBus4Jw1DHT5ouqiPtUC/jcFuMvYPOiVCUzIYcTkVX3O3uw8m9eom4+bHws7qQVt1cHSbpVL6HKnIP8bf0iA==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.0.0.tgz", + "integrity": "sha512-KTXp+e2UPGyfFew6Wq95ULpHWQ20dhqkAMZ6x6MCYfOe2ccdnGYsAbLLmnWGmSg5BaOI4B0x/1XCFZf/n6WDgA==", "dev": true, "license": "MIT", "dependencies": { @@ -1686,7 +1686,7 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/compiler": "21.0.0-rc.3", + "@angular/compiler": "21.0.0", "typescript": ">=5.9 <6.0" }, "peerDependenciesMeta": { @@ -1696,9 +1696,9 @@ } }, "node_modules/@angular/core": { - "version": "21.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-21.0.0-rc.3.tgz", - "integrity": "sha512-dM8EKKwI8hPAXCtWVBB3BvuTPq7if1iMFZaW331PpLk8XzrEq7yMTVX/u6fCShPGrbp7aFAOAEFaxTd39aSvtw==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-21.0.0.tgz", + "integrity": "sha512-bqi8fT4csyITeX8vdN5FJDBWx5wuWzdCg4mKSjHd+onVzZLyZ8bcnuAKz4mklgvjvwuXoRYukmclUurLwfq3Rg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1707,7 +1707,7 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/compiler": "21.0.0-rc.3", + "@angular/compiler": "21.0.0", "rxjs": "^6.5.3 || ^7.4.0", "zone.js": "~0.15.0" }, @@ -1721,9 +1721,9 @@ } }, "node_modules/@angular/forms": { - "version": "21.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.0.0-rc.3.tgz", - "integrity": "sha512-QynbMoZYV9HV0rAa6NKU4mm7I8WcdbEZsSZ/ToQu7E9FSMhnk6ZXcjLdonRcnuq8irRfwfV0gxn+NIRJVBsiRw==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.0.0.tgz", + "integrity": "sha512-kcudwbZs/ddKqaELz4eEW9kOGCsX61qsf9jkQsGTARBEOUcU2K+rM6mX5sTf9azHvQ9wlX4N36h0eYzBA4Y4Qg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1732,17 +1732,17 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "21.0.0-rc.3", - "@angular/core": "21.0.0-rc.3", - "@angular/platform-browser": "21.0.0-rc.3", + "@angular/common": "21.0.0", + "@angular/core": "21.0.0", + "@angular/platform-browser": "21.0.0", "@standard-schema/spec": "^1.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/platform-browser": { - "version": "21.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.0.0-rc.3.tgz", - "integrity": "sha512-SecXKFR/ru6RItb4tTasmsTcyAz0brfIQHG+C5I46OcoZfeq7jHsUTbJo9ASSHc6WDklm2tRBC0GR3T8FKCUgQ==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.0.0.tgz", + "integrity": "sha512-KQrANla4RBLhcGkwlndqsKzBwVFOWQr1640CfBVjj2oz4M3dW5hyMtXivBACvuwyUhYU/qJbqlDMBXl/OUSudQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1751,9 +1751,9 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/animations": "21.0.0-rc.3", - "@angular/common": "21.0.0-rc.3", - "@angular/core": "21.0.0-rc.3" + "@angular/animations": "21.0.0", + "@angular/common": "21.0.0", + "@angular/core": "21.0.0" }, "peerDependenciesMeta": { "@angular/animations": { @@ -1762,9 +1762,9 @@ } }, "node_modules/@angular/router": { - "version": "21.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-21.0.0-rc.3.tgz", - "integrity": "sha512-A59IpTituqwlXlZvAL3LEDmgik/1M4JGRNnqXG+pU9vttQ/6LoERLzEYj2iptFyYGV8SvvSQ5TBI+LgdZmfl1w==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-21.0.0.tgz", + "integrity": "sha512-ARx1R2CmTgAezlMkUpV40V4T/IbXhL7dm4SuMVKbuEOsCKZC0TLOSSTsGYY7HKem45JHlJaByv819cJnabFgBg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1773,9 +1773,9 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "21.0.0-rc.3", - "@angular/core": "21.0.0-rc.3", - "@angular/platform-browser": "21.0.0-rc.3", + "@angular/common": "21.0.0", + "@angular/core": "21.0.0", + "@angular/platform-browser": "21.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -4488,14 +4488,14 @@ ] }, "node_modules/@schematics/angular": { - "version": "21.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.0.0-rc.5.tgz", - "integrity": "sha512-dJCNxieYQq1JmanSKGRXUurUlUfyTYZIoGK8j2Gn0bOKEBNnoAF/Bg7mx/oEWflyTT+rtCLALhM+7ljBYpb1hw==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.0.0.tgz", + "integrity": "sha512-50eEsBaT++Gwr+5FAhaKIzTUjpE1DJAwmE5QwtogbTnr2viZc8CsbFOfuMrokQbgdcXRvbkBDPXgO15STMcDRQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "21.0.0-rc.5", - "@angular-devkit/schematics": "21.0.0-rc.5", + "@angular-devkit/core": "21.0.0", + "@angular-devkit/schematics": "21.0.0", "jsonc-parser": "3.3.1" }, "engines": { diff --git a/adev/src/content/tutorials/first-app/common/package.json b/adev/src/content/tutorials/first-app/common/package.json index e33bf517a6d..0f1e7d48516 100644 --- a/adev/src/content/tutorials/first-app/common/package.json +++ b/adev/src/content/tutorials/first-app/common/package.json @@ -9,20 +9,20 @@ }, "private": true, "dependencies": { - "@angular/common": "^21.0.0-next", - "@angular/compiler": "^21.0.0-next", - "@angular/core": "^21.0.0-next", - "@angular/forms": "^21.0.0-next", - "@angular/platform-browser": "^21.0.0-next", - "@angular/router": "^21.0.0-next", + "@angular/common": "^21.0.0", + "@angular/compiler": "^21.0.0", + "@angular/core": "^21.0.0", + "@angular/forms": "^21.0.0", + "@angular/platform-browser": "^21.0.0", + "@angular/router": "^21.0.0", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.15.0" }, "devDependencies": { - "@angular/build": "^21.0.0-next", - "@angular/cli": "^21.0.0-next", - "@angular/compiler-cli": "^21.0.0-next", + "@angular/build": "^21.0.0", + "@angular/cli": "^21.0.0", + "@angular/compiler-cli": "^21.0.0", "@types/node": "^16.11.35", "typescript": "~5.9.2" } diff --git a/adev/src/content/tutorials/homepage/package-lock.json b/adev/src/content/tutorials/homepage/package-lock.json index 612d8acf9bd..cb0c5f9fe10 100644 --- a/adev/src/content/tutorials/homepage/package-lock.json +++ b/adev/src/content/tutorials/homepage/package-lock.json @@ -8,19 +8,19 @@ "name": "angular.dev", "version": "0.0.0", "dependencies": { - "@angular/common": "^21.0.0-next", - "@angular/compiler": "^21.0.0-next", - "@angular/core": "^21.0.0-next", - "@angular/forms": "^21.0.0-next", - "@angular/platform-browser": "^21.0.0-next", + "@angular/common": "^21.0.0", + "@angular/compiler": "^21.0.0", + "@angular/core": "^21.0.0", + "@angular/forms": "^21.0.0", + "@angular/platform-browser": "^21.0.0", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.15.0" }, "devDependencies": { - "@angular/build": "^21.0.0-next", - "@angular/cli": "^21.0.0-next", - "@angular/compiler-cli": "^21.0.0-next", + "@angular/build": "^21.0.0", + "@angular/cli": "^21.0.0", + "@angular/compiler-cli": "^21.0.0", "typescript": "~5.9.2" } }, @@ -248,13 +248,13 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.2100.0-rc.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2100.0-rc.5.tgz", - "integrity": "sha512-xjad+qQev2Gsn+hCUWnn0/ENpsSMIUZAXBmqSuwevHw4h/Paps6ECrSwKgJH4rqvzc2Y1rN1ZqAJg8ioXM6lfQ==", + "version": "0.2100.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2100.0.tgz", + "integrity": "sha512-BNt6Rw53WauCw31ku/r/ksVIY+Pi8XZptsSUIHiDUeqB2iZOWu4L3c5kuDGmoGkGByY588H48hfR2MgIpBhgAg==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "21.0.0-rc.5", + "@angular-devkit/core": "21.0.0", "rxjs": "7.8.2" }, "engines": { @@ -264,9 +264,9 @@ } }, "node_modules/@angular-devkit/core": { - "version": "21.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.0.0-rc.5.tgz", - "integrity": "sha512-8Sr+WWRUBBtoHEjaBZ9HZX9ZbBsTDo027ibuSFRNr8bzdV0/qpQSvbkcCX3RRq29s01tpUExu2m+4RJ/yOd6zQ==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.0.0.tgz", + "integrity": "sha512-d3n5GvrwqN1AUkWE3Wd8rrdY2u6/5bzorlZVT5W4CcH7ekAIoMu4SBTbSJ7bfRe/l2z/A1WZ6hFlnQzLclOjJA==", "dev": true, "license": "MIT", "dependencies": { @@ -292,13 +292,13 @@ } }, "node_modules/@angular-devkit/schematics": { - "version": "21.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.0.0-rc.5.tgz", - "integrity": "sha512-iMZ9czqjOfr8l5+SQ7rQdXGd1E2aqROVMP/yBXRaWucNsoY/83bP1nuirCzofSJfvgyX1vVZY6R9efpFR3n7fg==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.0.0.tgz", + "integrity": "sha512-8zwXp8OTzJO3IY3Ge3lLqXokNAtQy6kM1FeTyPT20M+0AQHTX9WJlGaYEWdLYI9WwNPWy1/Iq6AaZNcR5phPpw==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "21.0.0-rc.5", + "@angular-devkit/core": "21.0.0", "jsonc-parser": "3.3.1", "magic-string": "0.30.19", "ora": "9.0.0", @@ -311,14 +311,14 @@ } }, "node_modules/@angular/build": { - "version": "21.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@angular/build/-/build-21.0.0-rc.5.tgz", - "integrity": "sha512-0PBW0sDv3I5P0r0gVuwncfCDqX8KaChdOZF2iR3mHM11/52ziJG1g6zZ7f7ODHkj+SLC53DzEiUiej4NuUNC1Q==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-21.0.0.tgz", + "integrity": "sha512-TobXT9fXZVee1yULlcOVowOurCUoJlku8st5vzkRZekP520qRjBSEbIk8V2emkFbzgzOeJUtXv1pvrBY7yAYhQ==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.2100.0-rc.5", + "@angular-devkit/architect": "0.2100.0", "@babel/core": "7.28.4", "@babel/helper-annotate-as-pure": "7.27.3", "@babel/helper-split-export-declaration": "7.24.7", @@ -354,17 +354,17 @@ "lmdb": "3.4.3" }, "peerDependencies": { - "@angular/compiler": "^21.0.0-next.0", - "@angular/compiler-cli": "^21.0.0-next.0", - "@angular/core": "^21.0.0-next.0", - "@angular/localize": "^21.0.0-next.0", - "@angular/platform-browser": "^21.0.0-next.0", - "@angular/platform-server": "^21.0.0-next.0", - "@angular/service-worker": "^21.0.0-next.0", - "@angular/ssr": "^21.0.0-rc.5", + "@angular/compiler": "^21.0.0", + "@angular/compiler-cli": "^21.0.0", + "@angular/core": "^21.0.0", + "@angular/localize": "^21.0.0", + "@angular/platform-browser": "^21.0.0", + "@angular/platform-server": "^21.0.0", + "@angular/service-worker": "^21.0.0", + "@angular/ssr": "^21.0.0", "karma": "^6.4.0", "less": "^4.2.0", - "ng-packagr": "^21.0.0-next.0", + "ng-packagr": "^21.0.0", "postcss": "^8.4.0", "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", "tslib": "^2.3.0", @@ -411,19 +411,19 @@ } }, "node_modules/@angular/cli": { - "version": "21.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.0.0-rc.5.tgz", - "integrity": "sha512-aD+o5l0fHV1E2QZhZzTxNAst+24GxxD7Mb+4cjUrbe5G4wz3/owWo4MrIc55aV6qN75emQ78r8PvEYs3RM8YfQ==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.0.0.tgz", + "integrity": "sha512-713DfTD/ThIy/BOmZ+8zhXo/OhPE9jYaAS0UhXVhtp2ptqzRqSzLvW9fWgtqP4ITAqulOoitiWPLXxOEQ2Cixw==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.2100.0-rc.5", - "@angular-devkit/core": "21.0.0-rc.5", - "@angular-devkit/schematics": "21.0.0-rc.5", + "@angular-devkit/architect": "0.2100.0", + "@angular-devkit/core": "21.0.0", + "@angular-devkit/schematics": "21.0.0", "@inquirer/prompts": "7.9.0", "@listr2/prompt-adapter-inquirer": "3.0.5", "@modelcontextprotocol/sdk": "1.20.1", - "@schematics/angular": "21.0.0-rc.5", + "@schematics/angular": "21.0.0", "@yarnpkg/lockfile": "1.1.0", "algoliasearch": "5.40.1", "ini": "5.0.0", @@ -447,9 +447,9 @@ } }, "node_modules/@angular/common": { - "version": "21.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.0.0-rc.3.tgz", - "integrity": "sha512-KrbbsEMY9zCxH5FEIi0/ZfkylSqv1mvMyB6Cxfpordoi6IX2990cXC+4LCvNLKBefQODS9P1ztV6mox+ETwDhQ==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.0.0.tgz", + "integrity": "sha512-uFvQDYU5X5nEnI9C4Bkdxcu4aIzNesGLJzmFlnwChVxB4BxIRF0uHL0oRhdkInGTIzPDJPH4nF6B/22c5gDVqA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -458,14 +458,14 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/core": "21.0.0-rc.3", + "@angular/core": "21.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "21.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.0.0-rc.3.tgz", - "integrity": "sha512-x2UDPNx+DM3TLfBiJQfS9jChLOsd5JQPHlzGWtvfkmKJOcr47pXEl3k7nEtIqISvAxyeAMS+/hTYWbE0P05MfQ==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.0.0.tgz", + "integrity": "sha512-6jCH3UYga5iokj5F40SR4dlwo9ZRMkT8YzHCTijwZuDX9zvugp9jPof092RvIeNsTvCMVfGWuM9yZ1DRUsU/yg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -475,9 +475,9 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "21.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.0.0-rc.3.tgz", - "integrity": "sha512-BrRBus4Jw1DHT5ouqiPtUC/jcFuMvYPOiVCUzIYcTkVX3O3uw8m9eom4+bHws7qQVt1cHSbpVL6HKnIP8bf0iA==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.0.0.tgz", + "integrity": "sha512-KTXp+e2UPGyfFew6Wq95ULpHWQ20dhqkAMZ6x6MCYfOe2ccdnGYsAbLLmnWGmSg5BaOI4B0x/1XCFZf/n6WDgA==", "dev": true, "license": "MIT", "dependencies": { @@ -498,7 +498,7 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/compiler": "21.0.0-rc.3", + "@angular/compiler": "21.0.0", "typescript": ">=5.9 <6.0" }, "peerDependenciesMeta": { @@ -508,9 +508,9 @@ } }, "node_modules/@angular/core": { - "version": "21.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-21.0.0-rc.3.tgz", - "integrity": "sha512-dM8EKKwI8hPAXCtWVBB3BvuTPq7if1iMFZaW331PpLk8XzrEq7yMTVX/u6fCShPGrbp7aFAOAEFaxTd39aSvtw==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-21.0.0.tgz", + "integrity": "sha512-bqi8fT4csyITeX8vdN5FJDBWx5wuWzdCg4mKSjHd+onVzZLyZ8bcnuAKz4mklgvjvwuXoRYukmclUurLwfq3Rg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -519,7 +519,7 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/compiler": "21.0.0-rc.3", + "@angular/compiler": "21.0.0", "rxjs": "^6.5.3 || ^7.4.0", "zone.js": "~0.15.0" }, @@ -533,9 +533,9 @@ } }, "node_modules/@angular/forms": { - "version": "21.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.0.0-rc.3.tgz", - "integrity": "sha512-QynbMoZYV9HV0rAa6NKU4mm7I8WcdbEZsSZ/ToQu7E9FSMhnk6ZXcjLdonRcnuq8irRfwfV0gxn+NIRJVBsiRw==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.0.0.tgz", + "integrity": "sha512-kcudwbZs/ddKqaELz4eEW9kOGCsX61qsf9jkQsGTARBEOUcU2K+rM6mX5sTf9azHvQ9wlX4N36h0eYzBA4Y4Qg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -544,17 +544,17 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "21.0.0-rc.3", - "@angular/core": "21.0.0-rc.3", - "@angular/platform-browser": "21.0.0-rc.3", + "@angular/common": "21.0.0", + "@angular/core": "21.0.0", + "@angular/platform-browser": "21.0.0", "@standard-schema/spec": "^1.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/platform-browser": { - "version": "21.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.0.0-rc.3.tgz", - "integrity": "sha512-SecXKFR/ru6RItb4tTasmsTcyAz0brfIQHG+C5I46OcoZfeq7jHsUTbJo9ASSHc6WDklm2tRBC0GR3T8FKCUgQ==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.0.0.tgz", + "integrity": "sha512-KQrANla4RBLhcGkwlndqsKzBwVFOWQr1640CfBVjj2oz4M3dW5hyMtXivBACvuwyUhYU/qJbqlDMBXl/OUSudQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -563,9 +563,9 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/animations": "21.0.0-rc.3", - "@angular/common": "21.0.0-rc.3", - "@angular/core": "21.0.0-rc.3" + "@angular/animations": "21.0.0", + "@angular/common": "21.0.0", + "@angular/core": "21.0.0" }, "peerDependenciesMeta": { "@angular/animations": { @@ -3629,14 +3629,14 @@ ] }, "node_modules/@schematics/angular": { - "version": "21.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.0.0-rc.5.tgz", - "integrity": "sha512-dJCNxieYQq1JmanSKGRXUurUlUfyTYZIoGK8j2Gn0bOKEBNnoAF/Bg7mx/oEWflyTT+rtCLALhM+7ljBYpb1hw==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.0.0.tgz", + "integrity": "sha512-50eEsBaT++Gwr+5FAhaKIzTUjpE1DJAwmE5QwtogbTnr2viZc8CsbFOfuMrokQbgdcXRvbkBDPXgO15STMcDRQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "21.0.0-rc.5", - "@angular-devkit/schematics": "21.0.0-rc.5", + "@angular-devkit/core": "21.0.0", + "@angular-devkit/schematics": "21.0.0", "jsonc-parser": "3.3.1" }, "engines": { diff --git a/adev/src/content/tutorials/homepage/package.json b/adev/src/content/tutorials/homepage/package.json index 3503f307b67..c1d606e88d6 100644 --- a/adev/src/content/tutorials/homepage/package.json +++ b/adev/src/content/tutorials/homepage/package.json @@ -9,19 +9,19 @@ }, "private": true, "dependencies": { - "@angular/common": "^21.0.0-next", - "@angular/compiler": "^21.0.0-next", - "@angular/core": "^21.0.0-next", - "@angular/forms": "^21.0.0-next", - "@angular/platform-browser": "^21.0.0-next", + "@angular/common": "^21.0.0", + "@angular/compiler": "^21.0.0", + "@angular/core": "^21.0.0", + "@angular/forms": "^21.0.0", + "@angular/platform-browser": "^21.0.0", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.15.0" }, "devDependencies": { - "@angular/build": "^21.0.0-next", - "@angular/cli": "^21.0.0-next", - "@angular/compiler-cli": "^21.0.0-next", + "@angular/build": "^21.0.0", + "@angular/cli": "^21.0.0", + "@angular/compiler-cli": "^21.0.0", "typescript": "~5.9.2" } } diff --git a/adev/src/content/tutorials/learn-angular/common/package-lock.json b/adev/src/content/tutorials/learn-angular/common/package-lock.json index ea819c9dad8..645ef62191f 100644 --- a/adev/src/content/tutorials/learn-angular/common/package-lock.json +++ b/adev/src/content/tutorials/learn-angular/common/package-lock.json @@ -8,20 +8,20 @@ "name": "angular.dev", "version": "0.0.0", "dependencies": { - "@angular/common": "^21.0.0-next", - "@angular/compiler": "^21.0.0-next", - "@angular/core": "^21.0.0-next", - "@angular/forms": "^21.0.0-next", - "@angular/platform-browser": "^21.0.0-next", - "@angular/router": "^21.0.0-next", + "@angular/common": "^21.0.0", + "@angular/compiler": "^21.0.0", + "@angular/core": "^21.0.0", + "@angular/forms": "^21.0.0", + "@angular/platform-browser": "^21.0.0", + "@angular/router": "^21.0.0", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.15.0" }, "devDependencies": { - "@angular/build": "^21.0.0-next", - "@angular/cli": "^21.0.0-next", - "@angular/compiler-cli": "^21.0.0-next", + "@angular/build": "^21.0.0", + "@angular/cli": "^21.0.0", + "@angular/compiler-cli": "^21.0.0", "typescript": "~5.9.2" } }, @@ -249,13 +249,13 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.2100.0-rc.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2100.0-rc.5.tgz", - "integrity": "sha512-xjad+qQev2Gsn+hCUWnn0/ENpsSMIUZAXBmqSuwevHw4h/Paps6ECrSwKgJH4rqvzc2Y1rN1ZqAJg8ioXM6lfQ==", + "version": "0.2100.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2100.0.tgz", + "integrity": "sha512-BNt6Rw53WauCw31ku/r/ksVIY+Pi8XZptsSUIHiDUeqB2iZOWu4L3c5kuDGmoGkGByY588H48hfR2MgIpBhgAg==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "21.0.0-rc.5", + "@angular-devkit/core": "21.0.0", "rxjs": "7.8.2" }, "engines": { @@ -265,9 +265,9 @@ } }, "node_modules/@angular-devkit/core": { - "version": "21.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.0.0-rc.5.tgz", - "integrity": "sha512-8Sr+WWRUBBtoHEjaBZ9HZX9ZbBsTDo027ibuSFRNr8bzdV0/qpQSvbkcCX3RRq29s01tpUExu2m+4RJ/yOd6zQ==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.0.0.tgz", + "integrity": "sha512-d3n5GvrwqN1AUkWE3Wd8rrdY2u6/5bzorlZVT5W4CcH7ekAIoMu4SBTbSJ7bfRe/l2z/A1WZ6hFlnQzLclOjJA==", "dev": true, "license": "MIT", "dependencies": { @@ -293,13 +293,13 @@ } }, "node_modules/@angular-devkit/schematics": { - "version": "21.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.0.0-rc.5.tgz", - "integrity": "sha512-iMZ9czqjOfr8l5+SQ7rQdXGd1E2aqROVMP/yBXRaWucNsoY/83bP1nuirCzofSJfvgyX1vVZY6R9efpFR3n7fg==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.0.0.tgz", + "integrity": "sha512-8zwXp8OTzJO3IY3Ge3lLqXokNAtQy6kM1FeTyPT20M+0AQHTX9WJlGaYEWdLYI9WwNPWy1/Iq6AaZNcR5phPpw==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "21.0.0-rc.5", + "@angular-devkit/core": "21.0.0", "jsonc-parser": "3.3.1", "magic-string": "0.30.19", "ora": "9.0.0", @@ -312,14 +312,14 @@ } }, "node_modules/@angular/build": { - "version": "21.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@angular/build/-/build-21.0.0-rc.5.tgz", - "integrity": "sha512-0PBW0sDv3I5P0r0gVuwncfCDqX8KaChdOZF2iR3mHM11/52ziJG1g6zZ7f7ODHkj+SLC53DzEiUiej4NuUNC1Q==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-21.0.0.tgz", + "integrity": "sha512-TobXT9fXZVee1yULlcOVowOurCUoJlku8st5vzkRZekP520qRjBSEbIk8V2emkFbzgzOeJUtXv1pvrBY7yAYhQ==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.2100.0-rc.5", + "@angular-devkit/architect": "0.2100.0", "@babel/core": "7.28.4", "@babel/helper-annotate-as-pure": "7.27.3", "@babel/helper-split-export-declaration": "7.24.7", @@ -355,17 +355,17 @@ "lmdb": "3.4.3" }, "peerDependencies": { - "@angular/compiler": "^21.0.0-next.0", - "@angular/compiler-cli": "^21.0.0-next.0", - "@angular/core": "^21.0.0-next.0", - "@angular/localize": "^21.0.0-next.0", - "@angular/platform-browser": "^21.0.0-next.0", - "@angular/platform-server": "^21.0.0-next.0", - "@angular/service-worker": "^21.0.0-next.0", - "@angular/ssr": "^21.0.0-rc.5", + "@angular/compiler": "^21.0.0", + "@angular/compiler-cli": "^21.0.0", + "@angular/core": "^21.0.0", + "@angular/localize": "^21.0.0", + "@angular/platform-browser": "^21.0.0", + "@angular/platform-server": "^21.0.0", + "@angular/service-worker": "^21.0.0", + "@angular/ssr": "^21.0.0", "karma": "^6.4.0", "less": "^4.2.0", - "ng-packagr": "^21.0.0-next.0", + "ng-packagr": "^21.0.0", "postcss": "^8.4.0", "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", "tslib": "^2.3.0", @@ -412,19 +412,19 @@ } }, "node_modules/@angular/cli": { - "version": "21.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.0.0-rc.5.tgz", - "integrity": "sha512-aD+o5l0fHV1E2QZhZzTxNAst+24GxxD7Mb+4cjUrbe5G4wz3/owWo4MrIc55aV6qN75emQ78r8PvEYs3RM8YfQ==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.0.0.tgz", + "integrity": "sha512-713DfTD/ThIy/BOmZ+8zhXo/OhPE9jYaAS0UhXVhtp2ptqzRqSzLvW9fWgtqP4ITAqulOoitiWPLXxOEQ2Cixw==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.2100.0-rc.5", - "@angular-devkit/core": "21.0.0-rc.5", - "@angular-devkit/schematics": "21.0.0-rc.5", + "@angular-devkit/architect": "0.2100.0", + "@angular-devkit/core": "21.0.0", + "@angular-devkit/schematics": "21.0.0", "@inquirer/prompts": "7.9.0", "@listr2/prompt-adapter-inquirer": "3.0.5", "@modelcontextprotocol/sdk": "1.20.1", - "@schematics/angular": "21.0.0-rc.5", + "@schematics/angular": "21.0.0", "@yarnpkg/lockfile": "1.1.0", "algoliasearch": "5.40.1", "ini": "5.0.0", @@ -448,9 +448,9 @@ } }, "node_modules/@angular/common": { - "version": "21.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.0.0-rc.3.tgz", - "integrity": "sha512-KrbbsEMY9zCxH5FEIi0/ZfkylSqv1mvMyB6Cxfpordoi6IX2990cXC+4LCvNLKBefQODS9P1ztV6mox+ETwDhQ==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.0.0.tgz", + "integrity": "sha512-uFvQDYU5X5nEnI9C4Bkdxcu4aIzNesGLJzmFlnwChVxB4BxIRF0uHL0oRhdkInGTIzPDJPH4nF6B/22c5gDVqA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -459,14 +459,14 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/core": "21.0.0-rc.3", + "@angular/core": "21.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "21.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.0.0-rc.3.tgz", - "integrity": "sha512-x2UDPNx+DM3TLfBiJQfS9jChLOsd5JQPHlzGWtvfkmKJOcr47pXEl3k7nEtIqISvAxyeAMS+/hTYWbE0P05MfQ==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.0.0.tgz", + "integrity": "sha512-6jCH3UYga5iokj5F40SR4dlwo9ZRMkT8YzHCTijwZuDX9zvugp9jPof092RvIeNsTvCMVfGWuM9yZ1DRUsU/yg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -476,9 +476,9 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "21.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.0.0-rc.3.tgz", - "integrity": "sha512-BrRBus4Jw1DHT5ouqiPtUC/jcFuMvYPOiVCUzIYcTkVX3O3uw8m9eom4+bHws7qQVt1cHSbpVL6HKnIP8bf0iA==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.0.0.tgz", + "integrity": "sha512-KTXp+e2UPGyfFew6Wq95ULpHWQ20dhqkAMZ6x6MCYfOe2ccdnGYsAbLLmnWGmSg5BaOI4B0x/1XCFZf/n6WDgA==", "dev": true, "license": "MIT", "dependencies": { @@ -499,7 +499,7 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/compiler": "21.0.0-rc.3", + "@angular/compiler": "21.0.0", "typescript": ">=5.9 <6.0" }, "peerDependenciesMeta": { @@ -509,9 +509,9 @@ } }, "node_modules/@angular/core": { - "version": "21.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-21.0.0-rc.3.tgz", - "integrity": "sha512-dM8EKKwI8hPAXCtWVBB3BvuTPq7if1iMFZaW331PpLk8XzrEq7yMTVX/u6fCShPGrbp7aFAOAEFaxTd39aSvtw==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-21.0.0.tgz", + "integrity": "sha512-bqi8fT4csyITeX8vdN5FJDBWx5wuWzdCg4mKSjHd+onVzZLyZ8bcnuAKz4mklgvjvwuXoRYukmclUurLwfq3Rg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -520,7 +520,7 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/compiler": "21.0.0-rc.3", + "@angular/compiler": "21.0.0", "rxjs": "^6.5.3 || ^7.4.0", "zone.js": "~0.15.0" }, @@ -534,9 +534,9 @@ } }, "node_modules/@angular/forms": { - "version": "21.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.0.0-rc.3.tgz", - "integrity": "sha512-QynbMoZYV9HV0rAa6NKU4mm7I8WcdbEZsSZ/ToQu7E9FSMhnk6ZXcjLdonRcnuq8irRfwfV0gxn+NIRJVBsiRw==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.0.0.tgz", + "integrity": "sha512-kcudwbZs/ddKqaELz4eEW9kOGCsX61qsf9jkQsGTARBEOUcU2K+rM6mX5sTf9azHvQ9wlX4N36h0eYzBA4Y4Qg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -545,17 +545,17 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "21.0.0-rc.3", - "@angular/core": "21.0.0-rc.3", - "@angular/platform-browser": "21.0.0-rc.3", + "@angular/common": "21.0.0", + "@angular/core": "21.0.0", + "@angular/platform-browser": "21.0.0", "@standard-schema/spec": "^1.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/platform-browser": { - "version": "21.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.0.0-rc.3.tgz", - "integrity": "sha512-SecXKFR/ru6RItb4tTasmsTcyAz0brfIQHG+C5I46OcoZfeq7jHsUTbJo9ASSHc6WDklm2tRBC0GR3T8FKCUgQ==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.0.0.tgz", + "integrity": "sha512-KQrANla4RBLhcGkwlndqsKzBwVFOWQr1640CfBVjj2oz4M3dW5hyMtXivBACvuwyUhYU/qJbqlDMBXl/OUSudQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -564,9 +564,9 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/animations": "21.0.0-rc.3", - "@angular/common": "21.0.0-rc.3", - "@angular/core": "21.0.0-rc.3" + "@angular/animations": "21.0.0", + "@angular/common": "21.0.0", + "@angular/core": "21.0.0" }, "peerDependenciesMeta": { "@angular/animations": { @@ -575,9 +575,9 @@ } }, "node_modules/@angular/router": { - "version": "21.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-21.0.0-rc.3.tgz", - "integrity": "sha512-A59IpTituqwlXlZvAL3LEDmgik/1M4JGRNnqXG+pU9vttQ/6LoERLzEYj2iptFyYGV8SvvSQ5TBI+LgdZmfl1w==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-21.0.0.tgz", + "integrity": "sha512-ARx1R2CmTgAezlMkUpV40V4T/IbXhL7dm4SuMVKbuEOsCKZC0TLOSSTsGYY7HKem45JHlJaByv819cJnabFgBg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -586,9 +586,9 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "21.0.0-rc.3", - "@angular/core": "21.0.0-rc.3", - "@angular/platform-browser": "21.0.0-rc.3", + "@angular/common": "21.0.0", + "@angular/core": "21.0.0", + "@angular/platform-browser": "21.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -3648,14 +3648,14 @@ ] }, "node_modules/@schematics/angular": { - "version": "21.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.0.0-rc.5.tgz", - "integrity": "sha512-dJCNxieYQq1JmanSKGRXUurUlUfyTYZIoGK8j2Gn0bOKEBNnoAF/Bg7mx/oEWflyTT+rtCLALhM+7ljBYpb1hw==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.0.0.tgz", + "integrity": "sha512-50eEsBaT++Gwr+5FAhaKIzTUjpE1DJAwmE5QwtogbTnr2viZc8CsbFOfuMrokQbgdcXRvbkBDPXgO15STMcDRQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "21.0.0-rc.5", - "@angular-devkit/schematics": "21.0.0-rc.5", + "@angular-devkit/core": "21.0.0", + "@angular-devkit/schematics": "21.0.0", "jsonc-parser": "3.3.1" }, "engines": { diff --git a/adev/src/content/tutorials/learn-angular/common/package.json b/adev/src/content/tutorials/learn-angular/common/package.json index a4a433938cd..e156599c478 100644 --- a/adev/src/content/tutorials/learn-angular/common/package.json +++ b/adev/src/content/tutorials/learn-angular/common/package.json @@ -9,20 +9,20 @@ }, "private": true, "dependencies": { - "@angular/common": "^21.0.0-next", - "@angular/compiler": "^21.0.0-next", - "@angular/core": "^21.0.0-next", - "@angular/forms": "^21.0.0-next", - "@angular/platform-browser": "^21.0.0-next", - "@angular/router": "^21.0.0-next", + "@angular/common": "^21.0.0", + "@angular/compiler": "^21.0.0", + "@angular/core": "^21.0.0", + "@angular/forms": "^21.0.0", + "@angular/platform-browser": "^21.0.0", + "@angular/router": "^21.0.0", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.15.0" }, "devDependencies": { - "@angular/build": "^21.0.0-next", - "@angular/cli": "^21.0.0-next", - "@angular/compiler-cli": "^21.0.0-next", + "@angular/build": "^21.0.0", + "@angular/cli": "^21.0.0", + "@angular/compiler-cli": "^21.0.0", "typescript": "~5.9.2" } } diff --git a/adev/src/content/tutorials/playground/common/package-lock.json b/adev/src/content/tutorials/playground/common/package-lock.json index 561281a27c9..4861df4c203 100644 --- a/adev/src/content/tutorials/playground/common/package-lock.json +++ b/adev/src/content/tutorials/playground/common/package-lock.json @@ -8,22 +8,22 @@ "name": "angular.dev", "version": "0.0.0", "dependencies": { - "@angular/animations": "^21.0.0-next", - "@angular/cdk": "^21.0.0-next", - "@angular/common": "^21.0.0-next", - "@angular/compiler": "^21.0.0-next", - "@angular/core": "^21.0.0-next", - "@angular/forms": "^21.0.0-next", - "@angular/material": "^21.0.0-next", - "@angular/platform-browser": "^21.0.0-next", + "@angular/animations": "^21.0.0", + "@angular/cdk": "^21.0.0", + "@angular/common": "^21.0.0", + "@angular/compiler": "^21.0.0", + "@angular/core": "^21.0.0", + "@angular/forms": "^21.0.0", + "@angular/material": "^21.0.0", + "@angular/platform-browser": "^21.0.0", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.15.0" }, "devDependencies": { - "@angular/build": "^21.0.0-next", - "@angular/cli": "^21.0.0-next", - "@angular/compiler-cli": "^21.0.0-next", + "@angular/build": "^21.0.0", + "@angular/cli": "^21.0.0", + "@angular/compiler-cli": "^21.0.0", "typescript": "~5.9.2" } }, @@ -251,13 +251,13 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.2100.0-rc.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2100.0-rc.5.tgz", - "integrity": "sha512-xjad+qQev2Gsn+hCUWnn0/ENpsSMIUZAXBmqSuwevHw4h/Paps6ECrSwKgJH4rqvzc2Y1rN1ZqAJg8ioXM6lfQ==", + "version": "0.2100.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2100.0.tgz", + "integrity": "sha512-BNt6Rw53WauCw31ku/r/ksVIY+Pi8XZptsSUIHiDUeqB2iZOWu4L3c5kuDGmoGkGByY588H48hfR2MgIpBhgAg==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "21.0.0-rc.5", + "@angular-devkit/core": "21.0.0", "rxjs": "7.8.2" }, "engines": { @@ -267,9 +267,9 @@ } }, "node_modules/@angular-devkit/core": { - "version": "21.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.0.0-rc.5.tgz", - "integrity": "sha512-8Sr+WWRUBBtoHEjaBZ9HZX9ZbBsTDo027ibuSFRNr8bzdV0/qpQSvbkcCX3RRq29s01tpUExu2m+4RJ/yOd6zQ==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.0.0.tgz", + "integrity": "sha512-d3n5GvrwqN1AUkWE3Wd8rrdY2u6/5bzorlZVT5W4CcH7ekAIoMu4SBTbSJ7bfRe/l2z/A1WZ6hFlnQzLclOjJA==", "dev": true, "license": "MIT", "dependencies": { @@ -295,13 +295,13 @@ } }, "node_modules/@angular-devkit/schematics": { - "version": "21.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.0.0-rc.5.tgz", - "integrity": "sha512-iMZ9czqjOfr8l5+SQ7rQdXGd1E2aqROVMP/yBXRaWucNsoY/83bP1nuirCzofSJfvgyX1vVZY6R9efpFR3n7fg==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.0.0.tgz", + "integrity": "sha512-8zwXp8OTzJO3IY3Ge3lLqXokNAtQy6kM1FeTyPT20M+0AQHTX9WJlGaYEWdLYI9WwNPWy1/Iq6AaZNcR5phPpw==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "21.0.0-rc.5", + "@angular-devkit/core": "21.0.0", "jsonc-parser": "3.3.1", "magic-string": "0.30.19", "ora": "9.0.0", @@ -314,9 +314,9 @@ } }, "node_modules/@angular/animations": { - "version": "21.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-21.0.0-rc.3.tgz", - "integrity": "sha512-VAbWWXARA5qv1jWO2OoEs3IdZ5X/Cz8360PJ6NNRcSGxTt3CK9k648d/LLvOAkRRrf8NT3MBQQMJ76YK9GNcaQ==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-21.0.0.tgz", + "integrity": "sha512-9AX4HFJmSP8SFNiweKNxasBzn3zbL3xRtwaUxw1I+x/WAzubm4ZziLnXqb+tai7C4UmwV+9XDlRVPfw5WxJ9zg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -325,18 +325,18 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/core": "21.0.0-rc.3" + "@angular/core": "21.0.0" } }, "node_modules/@angular/build": { - "version": "21.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@angular/build/-/build-21.0.0-rc.5.tgz", - "integrity": "sha512-0PBW0sDv3I5P0r0gVuwncfCDqX8KaChdOZF2iR3mHM11/52ziJG1g6zZ7f7ODHkj+SLC53DzEiUiej4NuUNC1Q==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-21.0.0.tgz", + "integrity": "sha512-TobXT9fXZVee1yULlcOVowOurCUoJlku8st5vzkRZekP520qRjBSEbIk8V2emkFbzgzOeJUtXv1pvrBY7yAYhQ==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.2100.0-rc.5", + "@angular-devkit/architect": "0.2100.0", "@babel/core": "7.28.4", "@babel/helper-annotate-as-pure": "7.27.3", "@babel/helper-split-export-declaration": "7.24.7", @@ -372,17 +372,17 @@ "lmdb": "3.4.3" }, "peerDependencies": { - "@angular/compiler": "^21.0.0-next.0", - "@angular/compiler-cli": "^21.0.0-next.0", - "@angular/core": "^21.0.0-next.0", - "@angular/localize": "^21.0.0-next.0", - "@angular/platform-browser": "^21.0.0-next.0", - "@angular/platform-server": "^21.0.0-next.0", - "@angular/service-worker": "^21.0.0-next.0", - "@angular/ssr": "^21.0.0-rc.5", + "@angular/compiler": "^21.0.0", + "@angular/compiler-cli": "^21.0.0", + "@angular/core": "^21.0.0", + "@angular/localize": "^21.0.0", + "@angular/platform-browser": "^21.0.0", + "@angular/platform-server": "^21.0.0", + "@angular/service-worker": "^21.0.0", + "@angular/ssr": "^21.0.0", "karma": "^6.4.0", "less": "^4.2.0", - "ng-packagr": "^21.0.0-next.0", + "ng-packagr": "^21.0.0", "postcss": "^8.4.0", "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", "tslib": "^2.3.0", @@ -429,34 +429,34 @@ } }, "node_modules/@angular/cdk": { - "version": "21.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-21.0.0-rc.3.tgz", - "integrity": "sha512-qYHAuBy9R9pMkbPfnZOVCp1OI0aNUyGHv9V7nlXJ5Se37WnL51mg9CufRXQBVpCBAqoNoQlG3SPfNt3eR0vx0A==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-21.0.0.tgz", + "integrity": "sha512-wCr5D3mEC+p69IMDC7vf8bWx18mfUNNRdsiK3XD0m1PqfeNfnCJb+Bnkks37MC/SU01uCNrAokRaTbWL6pk1Wg==", "license": "MIT", "dependencies": { "parse5": "^8.0.0", "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/common": "^21.0.0-0 || ^21.1.0-0 || ^21.2.0-0 || ^21.3.0-0 || ^22.0.0-0", - "@angular/core": "^21.0.0-0 || ^21.1.0-0 || ^21.2.0-0 || ^21.3.0-0 || ^22.0.0-0", + "@angular/common": "^21.0.0 || ^22.0.0", + "@angular/core": "^21.0.0 || ^22.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/cli": { - "version": "21.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.0.0-rc.5.tgz", - "integrity": "sha512-aD+o5l0fHV1E2QZhZzTxNAst+24GxxD7Mb+4cjUrbe5G4wz3/owWo4MrIc55aV6qN75emQ78r8PvEYs3RM8YfQ==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.0.0.tgz", + "integrity": "sha512-713DfTD/ThIy/BOmZ+8zhXo/OhPE9jYaAS0UhXVhtp2ptqzRqSzLvW9fWgtqP4ITAqulOoitiWPLXxOEQ2Cixw==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.2100.0-rc.5", - "@angular-devkit/core": "21.0.0-rc.5", - "@angular-devkit/schematics": "21.0.0-rc.5", + "@angular-devkit/architect": "0.2100.0", + "@angular-devkit/core": "21.0.0", + "@angular-devkit/schematics": "21.0.0", "@inquirer/prompts": "7.9.0", "@listr2/prompt-adapter-inquirer": "3.0.5", "@modelcontextprotocol/sdk": "1.20.1", - "@schematics/angular": "21.0.0-rc.5", + "@schematics/angular": "21.0.0", "@yarnpkg/lockfile": "1.1.0", "algoliasearch": "5.40.1", "ini": "5.0.0", @@ -480,9 +480,9 @@ } }, "node_modules/@angular/common": { - "version": "21.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.0.0-rc.3.tgz", - "integrity": "sha512-KrbbsEMY9zCxH5FEIi0/ZfkylSqv1mvMyB6Cxfpordoi6IX2990cXC+4LCvNLKBefQODS9P1ztV6mox+ETwDhQ==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.0.0.tgz", + "integrity": "sha512-uFvQDYU5X5nEnI9C4Bkdxcu4aIzNesGLJzmFlnwChVxB4BxIRF0uHL0oRhdkInGTIzPDJPH4nF6B/22c5gDVqA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -491,14 +491,14 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/core": "21.0.0-rc.3", + "@angular/core": "21.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "21.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.0.0-rc.3.tgz", - "integrity": "sha512-x2UDPNx+DM3TLfBiJQfS9jChLOsd5JQPHlzGWtvfkmKJOcr47pXEl3k7nEtIqISvAxyeAMS+/hTYWbE0P05MfQ==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.0.0.tgz", + "integrity": "sha512-6jCH3UYga5iokj5F40SR4dlwo9ZRMkT8YzHCTijwZuDX9zvugp9jPof092RvIeNsTvCMVfGWuM9yZ1DRUsU/yg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -508,9 +508,9 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "21.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.0.0-rc.3.tgz", - "integrity": "sha512-BrRBus4Jw1DHT5ouqiPtUC/jcFuMvYPOiVCUzIYcTkVX3O3uw8m9eom4+bHws7qQVt1cHSbpVL6HKnIP8bf0iA==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.0.0.tgz", + "integrity": "sha512-KTXp+e2UPGyfFew6Wq95ULpHWQ20dhqkAMZ6x6MCYfOe2ccdnGYsAbLLmnWGmSg5BaOI4B0x/1XCFZf/n6WDgA==", "dev": true, "license": "MIT", "dependencies": { @@ -531,7 +531,7 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/compiler": "21.0.0-rc.3", + "@angular/compiler": "21.0.0", "typescript": ">=5.9 <6.0" }, "peerDependenciesMeta": { @@ -541,9 +541,9 @@ } }, "node_modules/@angular/core": { - "version": "21.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-21.0.0-rc.3.tgz", - "integrity": "sha512-dM8EKKwI8hPAXCtWVBB3BvuTPq7if1iMFZaW331PpLk8XzrEq7yMTVX/u6fCShPGrbp7aFAOAEFaxTd39aSvtw==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-21.0.0.tgz", + "integrity": "sha512-bqi8fT4csyITeX8vdN5FJDBWx5wuWzdCg4mKSjHd+onVzZLyZ8bcnuAKz4mklgvjvwuXoRYukmclUurLwfq3Rg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -552,7 +552,7 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/compiler": "21.0.0-rc.3", + "@angular/compiler": "21.0.0", "rxjs": "^6.5.3 || ^7.4.0", "zone.js": "~0.15.0" }, @@ -566,9 +566,9 @@ } }, "node_modules/@angular/forms": { - "version": "21.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.0.0-rc.3.tgz", - "integrity": "sha512-QynbMoZYV9HV0rAa6NKU4mm7I8WcdbEZsSZ/ToQu7E9FSMhnk6ZXcjLdonRcnuq8irRfwfV0gxn+NIRJVBsiRw==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.0.0.tgz", + "integrity": "sha512-kcudwbZs/ddKqaELz4eEW9kOGCsX61qsf9jkQsGTARBEOUcU2K+rM6mX5sTf9azHvQ9wlX4N36h0eYzBA4Y4Qg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -577,34 +577,34 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "21.0.0-rc.3", - "@angular/core": "21.0.0-rc.3", - "@angular/platform-browser": "21.0.0-rc.3", + "@angular/common": "21.0.0", + "@angular/core": "21.0.0", + "@angular/platform-browser": "21.0.0", "@standard-schema/spec": "^1.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/material": { - "version": "21.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-21.0.0-rc.3.tgz", - "integrity": "sha512-RcPt3gM4uZ5x5kib1D1yXsb61cYbQCOvuX82Ha8iphZ/A+Zysz9EUVolHAtWGWGgkV9BLvun6uvQ+Rl/acBBuA==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-21.0.0.tgz", + "integrity": "sha512-s3+fhN7F5T1TAltZXYXOgY1wuVbICCrBJpV2TN8nJXDT0wroTYAljgBmsr6ZjDwYJewwP0OPvcj2NlOGDpa6oA==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" }, "peerDependencies": { - "@angular/cdk": "21.0.0-rc.3", - "@angular/common": "^21.0.0-0 || ^21.1.0-0 || ^21.2.0-0 || ^21.3.0-0 || ^22.0.0-0", - "@angular/core": "^21.0.0-0 || ^21.1.0-0 || ^21.2.0-0 || ^21.3.0-0 || ^22.0.0-0", - "@angular/forms": "^21.0.0-0 || ^21.1.0-0 || ^21.2.0-0 || ^21.3.0-0 || ^22.0.0-0", - "@angular/platform-browser": "^21.0.0-0 || ^21.1.0-0 || ^21.2.0-0 || ^21.3.0-0 || ^22.0.0-0", + "@angular/cdk": "21.0.0", + "@angular/common": "^21.0.0 || ^22.0.0", + "@angular/core": "^21.0.0 || ^22.0.0", + "@angular/forms": "^21.0.0 || ^22.0.0", + "@angular/platform-browser": "^21.0.0 || ^22.0.0", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/platform-browser": { - "version": "21.0.0-rc.3", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.0.0-rc.3.tgz", - "integrity": "sha512-SecXKFR/ru6RItb4tTasmsTcyAz0brfIQHG+C5I46OcoZfeq7jHsUTbJo9ASSHc6WDklm2tRBC0GR3T8FKCUgQ==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.0.0.tgz", + "integrity": "sha512-KQrANla4RBLhcGkwlndqsKzBwVFOWQr1640CfBVjj2oz4M3dW5hyMtXivBACvuwyUhYU/qJbqlDMBXl/OUSudQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -613,9 +613,9 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/animations": "21.0.0-rc.3", - "@angular/common": "21.0.0-rc.3", - "@angular/core": "21.0.0-rc.3" + "@angular/animations": "21.0.0", + "@angular/common": "21.0.0", + "@angular/core": "21.0.0" }, "peerDependenciesMeta": { "@angular/animations": { @@ -3679,14 +3679,14 @@ ] }, "node_modules/@schematics/angular": { - "version": "21.0.0-rc.5", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.0.0-rc.5.tgz", - "integrity": "sha512-dJCNxieYQq1JmanSKGRXUurUlUfyTYZIoGK8j2Gn0bOKEBNnoAF/Bg7mx/oEWflyTT+rtCLALhM+7ljBYpb1hw==", + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.0.0.tgz", + "integrity": "sha512-50eEsBaT++Gwr+5FAhaKIzTUjpE1DJAwmE5QwtogbTnr2viZc8CsbFOfuMrokQbgdcXRvbkBDPXgO15STMcDRQ==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "21.0.0-rc.5", - "@angular-devkit/schematics": "21.0.0-rc.5", + "@angular-devkit/core": "21.0.0", + "@angular-devkit/schematics": "21.0.0", "jsonc-parser": "3.3.1" }, "engines": { diff --git a/adev/src/content/tutorials/playground/common/package.json b/adev/src/content/tutorials/playground/common/package.json index 1e897ecf5b8..42725f15bb9 100644 --- a/adev/src/content/tutorials/playground/common/package.json +++ b/adev/src/content/tutorials/playground/common/package.json @@ -9,22 +9,22 @@ }, "private": true, "dependencies": { - "@angular/animations": "^21.0.0-next", - "@angular/cdk": "^21.0.0-next", - "@angular/common": "^21.0.0-next", - "@angular/compiler": "^21.0.0-next", - "@angular/core": "^21.0.0-next", - "@angular/forms": "^21.0.0-next", - "@angular/material": "^21.0.0-next", - "@angular/platform-browser": "^21.0.0-next", + "@angular/animations": "^21.0.0", + "@angular/cdk": "^21.0.0", + "@angular/common": "^21.0.0", + "@angular/compiler": "^21.0.0", + "@angular/core": "^21.0.0", + "@angular/forms": "^21.0.0", + "@angular/material": "^21.0.0", + "@angular/platform-browser": "^21.0.0", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.15.0" }, "devDependencies": { - "@angular/build": "^21.0.0-next", - "@angular/cli": "^21.0.0-next", - "@angular/compiler-cli": "^21.0.0-next", + "@angular/build": "^21.0.0", + "@angular/cli": "^21.0.0", + "@angular/compiler-cli": "^21.0.0", "typescript": "~5.9.2" } }