diff --git a/.github/actions/deploy-docs-site/main.js b/.github/actions/deploy-docs-site/main.js index e5c8490c2dbf..d4619db9af5c 100644 --- a/.github/actions/deploy-docs-site/main.js +++ b/.github/actions/deploy-docs-site/main.js @@ -38610,6 +38610,7 @@ var yellow = styleText.bind(null, "yellow"); var bold = styleText.bind(null, "bold"); var blue = styleText.bind(null, "blue"); var underline = styleText.bind(null, "underline"); +var magenta = styleText.bind(null, "magenta"); var Log = class { }; Log.info = buildLogLevelFunction(() => console.info, LogLevel.INFO, null); @@ -66030,7 +66031,7 @@ content-type/dist/index.js: @octokit/graphql/dist-bundle/index.js: (* v8 ignore if -- @preserve *) -@angular/ng-dev/bundles/chunk-H3MYIWGQ.mjs: +@angular/ng-dev/bundles/chunk-3TPHGSIP.mjs: (*! Bundled license information: yargs-parser/build/lib/string-utils.js: @@ -66071,7 +66072,7 @@ content-type/dist/index.js: *) *) -@angular/ng-dev/bundles/chunk-U7PAJR6D.mjs: +@angular/ng-dev/bundles/chunk-7IRT7ROC.mjs: (*! Bundled license information: content-type/dist/index.js: diff --git a/.github/workflows/adev-preview-build.yml b/.github/workflows/adev-preview-build.yml index 6b02c8120d28..1030ebc53fd3 100644 --- a/.github/workflows/adev-preview-build.yml +++ b/.github/workflows/adev-preview-build.yml @@ -21,21 +21,19 @@ jobs: (github.event.action == 'synchronize' && contains(github.event.pull_request.labels.*.name, 'adev: preview')) steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/bazel/setup@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Setup Bazel RBE - uses: angular/dev-infra/github-actions/bazel/configure-remote@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/bazel/configure-remote@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Install node modules run: pnpm install --frozen-lockfile - name: Build adev # `snapshot-build` config is used to stamp the exact version with sha in the footer. run: pnpm bazel build //adev:build.production --config=snapshot-build - - uses: angular/dev-infra/github-actions/previews/pack-and-upload-artifact@183403ae13b785698eaf13c819dda55b9fed430b # main + - uses: angular/dev-infra/github-actions/previews/pack-and-upload-artifact@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main with: workflow-artifact-name: 'adev-preview' - angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY || 'bypassed_for_forks' }} - triggering-label: 'adev: preview' pull-number: '${{github.event.pull_request.number}}' artifact-build-revision: '${{github.event.pull_request.head.sha}}' deploy-directory: './dist/bin/adev/dist/browser' diff --git a/.github/workflows/adev-preview-deploy.yml b/.github/workflows/adev-preview-deploy.yml index 8f556c639d23..515cc0e480f4 100644 --- a/.github/workflows/adev-preview-deploy.yml +++ b/.github/workflows/adev-preview-deploy.yml @@ -46,7 +46,7 @@ jobs: npx -y firebase-tools@15.15.0 target:clear --config adev/firebase.json --project ${{env.PREVIEW_PROJECT}} hosting angular-docs npx -y firebase-tools@15.15.0 target:apply --config adev/firebase.json --project ${{env.PREVIEW_PROJECT}} hosting angular-docs ${{env.PREVIEW_SITE}} - - uses: angular/dev-infra/github-actions/previews/upload-artifacts-to-firebase@183403ae13b785698eaf13c819dda55b9fed430b # main + - uses: angular/dev-infra/github-actions/previews/upload-artifacts-to-firebase@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main with: github-token: '${{secrets.GITHUB_TOKEN}}' workflow-artifact-name: 'adev-preview' diff --git a/.github/workflows/assistant-to-the-branch-manager.yml b/.github/workflows/assistant-to-the-branch-manager.yml index 30585fa707fd..a9cb3f227084 100644 --- a/.github/workflows/assistant-to-the-branch-manager.yml +++ b/.github/workflows/assistant-to-the-branch-manager.yml @@ -18,6 +18,6 @@ jobs: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - - uses: angular/dev-infra/github-actions/branch-manager@183403ae13b785698eaf13c819dda55b9fed430b # main + - uses: angular/dev-infra/github-actions/branch-manager@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/benchmark-compare.yml b/.github/workflows/benchmark-compare.yml index 8c17a17bfe38..533038e4d1ab 100644 --- a/.github/workflows/benchmark-compare.yml +++ b/.github/workflows/benchmark-compare.yml @@ -45,14 +45,14 @@ jobs: node-version-file: '.nvmrc' - name: Install pnpm - uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6.0.10 + uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0 - run: pnpm install --frozen-lockfile - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/bazel/setup@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - - uses: angular/dev-infra/github-actions/bazel/configure-remote@183403ae13b785698eaf13c819dda55b9fed430b # main + - uses: angular/dev-infra/github-actions/bazel/configure-remote@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main with: bazelrc: ./.bazelrc.user diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5892c04fba34..396639182249 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,7 +21,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Install node modules run: pnpm install --frozen-lockfile - name: Check code lint @@ -41,13 +41,13 @@ jobs: runs-on: ubuntu-latest steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main with: disable-package-manager-cache: true - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/bazel/setup@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Setup Bazel RBE - uses: angular/dev-infra/github-actions/bazel/configure-remote@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/bazel/configure-remote@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main with: google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }} - name: Install node modules @@ -69,11 +69,11 @@ jobs: runs-on: ubuntu-latest steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/bazel/setup@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Setup Bazel Remote Caching - uses: angular/dev-infra/github-actions/bazel/configure-remote@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/bazel/configure-remote@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main with: google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }} - name: Install node modules @@ -85,11 +85,11 @@ jobs: runs-on: ubuntu-latest steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/bazel/setup@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Setup Bazel Remote Caching - uses: angular/dev-infra/github-actions/bazel/configure-remote@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/bazel/configure-remote@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main with: google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }} - name: Install node modules @@ -102,11 +102,11 @@ jobs: labels: ubuntu-latest steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/bazel/setup@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Setup Bazel RBE - uses: angular/dev-infra/github-actions/bazel/configure-remote@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/bazel/configure-remote@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main with: google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }} - name: Install node modules @@ -121,11 +121,11 @@ jobs: labels: ubuntu-latest steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/bazel/setup@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Setup Bazel RBE - uses: angular/dev-infra/github-actions/bazel/configure-remote@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/bazel/configure-remote@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main with: google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }} - name: Install node modules @@ -138,11 +138,11 @@ jobs: labels: ubuntu-latest steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/bazel/setup@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Setup Bazel RBE - uses: angular/dev-infra/github-actions/bazel/configure-remote@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/bazel/configure-remote@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Install node modules run: pnpm install --frozen-lockfile - run: echo "https://${{secrets.SNAPSHOT_BUILDS_GITHUB_TOKEN}}:@github.com" > ${HOME}/.git_credentials @@ -154,11 +154,11 @@ jobs: labels: ubuntu-latest steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/bazel/setup@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Setup Bazel RBE - uses: angular/dev-infra/github-actions/bazel/configure-remote@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/bazel/configure-remote@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main with: google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }} - name: Install node modules @@ -198,11 +198,11 @@ jobs: runs-on: ubuntu-latest-8core steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/bazel/setup@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Setup Bazel RBE - uses: angular/dev-infra/github-actions/bazel/configure-remote@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/bazel/configure-remote@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Install node modules run: pnpm install --frozen-lockfile - name: Build adev diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index e4e41f8e1688..544a3e2793a9 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -16,7 +16,7 @@ jobs: if: github.event_name == 'pull_request_target' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/labeling/pull-request@183403ae13b785698eaf13c819dda55b9fed430b # main + - uses: angular/dev-infra/github-actions/labeling/pull-request@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} labels: '{"requires: TGP": ["packages/core/primitives/**/{*,.*}"]}' @@ -24,14 +24,14 @@ jobs: if: github.event_name == 'pull_request_target' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/post-approval-changes@183403ae13b785698eaf13c819dda55b9fed430b # main + - uses: angular/dev-infra/github-actions/post-approval-changes@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} issue_labels: if: github.event_name == 'issues' runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/labeling/issue@183403ae13b785698eaf13c819dda55b9fed430b # main + - uses: angular/dev-infra/github-actions/labeling/issue@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} google-generative-ai-key: ${{ secrets.GOOGLE_GENERATIVE_AI_KEY }} diff --git a/.github/workflows/google-internal-tests.yml b/.github/workflows/google-internal-tests.yml index 9934a5dc5bd2..2f7468af0374 100644 --- a/.github/workflows/google-internal-tests.yml +++ b/.github/workflows/google-internal-tests.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - - uses: angular/dev-infra/github-actions/google-internal-tests@183403ae13b785698eaf13c819dda55b9fed430b # main + - uses: angular/dev-infra/github-actions/google-internal-tests@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main with: run-tests-guide-url: http://go/angular-g3sync-start github-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/merge-ready-status.yml b/.github/workflows/merge-ready-status.yml index bc573a1d9377..437c68a62017 100644 --- a/.github/workflows/merge-ready-status.yml +++ b/.github/workflows/merge-ready-status.yml @@ -11,6 +11,6 @@ jobs: status: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/unified-status-check@183403ae13b785698eaf13c819dda55b9fed430b # main + - uses: angular/dev-infra/github-actions/unified-status-check@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/perf.yml b/.github/workflows/perf.yml index 9d00ed03347e..18c4b727573a 100644 --- a/.github/workflows/perf.yml +++ b/.github/workflows/perf.yml @@ -20,7 +20,7 @@ jobs: workflows: ${{ steps.workflows.outputs.workflows }} steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Install node modules run: pnpm install --frozen-lockfile - id: workflows @@ -38,9 +38,9 @@ jobs: workflow: ${{ fromJSON(needs.list.outputs.workflows) }} steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/bazel/setup@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Install node modules run: pnpm install --frozen-lockfile # We utilize the google-github-actions/auth action to allow us to get an active credential using workflow diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 26572e7aed16..c20f7773bf6f 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Install node modules run: pnpm install --frozen-lockfile - name: Check code lint @@ -39,7 +39,7 @@ jobs: - name: Check code format run: pnpm ng-dev format changed --check ${{ github.event.pull_request.base.sha }} - name: Check Package Licenses - uses: angular/dev-infra/github-actions/linting/licenses@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/linting/licenses@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main with: allow-dependencies-licenses: 'pkg:npm/google-protobuf@' @@ -47,13 +47,13 @@ jobs: runs-on: ubuntu-latest steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main with: disable-package-manager-cache: true - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/bazel/setup@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Setup Bazel RBE - uses: angular/dev-infra/github-actions/bazel/configure-remote@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/bazel/configure-remote@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Install node modules run: pnpm install --frozen-lockfile - name: Run unit tests @@ -73,11 +73,11 @@ jobs: runs-on: ubuntu-latest steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/bazel/setup@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Setup Bazel Remote Caching - uses: angular/dev-infra/github-actions/bazel/configure-remote@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/bazel/configure-remote@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Install node modules run: pnpm install --frozen-lockfile - name: Run CI tests for framework @@ -97,11 +97,11 @@ jobs: runs-on: ubuntu-latest steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/bazel/setup@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Setup Bazel Remote Caching - uses: angular/dev-infra/github-actions/bazel/configure-remote@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/bazel/configure-remote@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Install node modules run: pnpm install --frozen-lockfile - name: Run integration CI tests for framework @@ -112,11 +112,11 @@ jobs: labels: ubuntu-latest steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/bazel/setup@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Setup Bazel RBE - uses: angular/dev-infra/github-actions/bazel/configure-remote@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/bazel/configure-remote@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Install node modules run: pnpm install --frozen-lockfile - name: Run tests @@ -129,11 +129,11 @@ jobs: labels: ubuntu-latest steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/bazel/setup@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Setup Bazel RBE - uses: angular/dev-infra/github-actions/bazel/configure-remote@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/bazel/configure-remote@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Install node modules run: pnpm install --frozen-lockfile - name: Run tests @@ -144,11 +144,11 @@ jobs: labels: ubuntu-latest steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/bazel/setup@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Setup Bazel RBE - uses: angular/dev-infra/github-actions/bazel/configure-remote@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/github-actions/bazel/configure-remote@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main - name: Install node modules run: pnpm install --frozen-lockfile - run: | diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4b0220bab5b0..e7132bac5e19 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,7 +18,7 @@ permissions: jobs: release: - uses: angular/dev-infra/.github/workflows/reusable-release.yml@183403ae13b785698eaf13c819dda55b9fed430b # main + uses: angular/dev-infra/.github/workflows/reusable-release.yml@253d7e1b16eac44a903e67c2b9e3755a20a28967 # main secrets: wombot-token: ${{ secrets.WOMBOT_TOKEN }} angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 54bf5856d86f..bacebfcfde28 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,20 @@ + +# 22.1.7 (2026-09-16) +### compiler +| Commit | Type | Description | +| -- | -- | -- | +| [5e632b639f](https://github.com/angular/angular/commit/5e632b639f736de876823a596dd9e3a094b03e1b) | fix | wrap `@for` collection expression before appending non-null assertion | +### core +| Commit | Type | Description | +| -- | -- | -- | +| [ec48c8305c](https://github.com/angular/angular/commit/ec48c8305c40fbafbab51801f93bb4e4b6a25ea0) | fix | return null when getDirectiveMetadata is called with null or undefined | +### forms +| Commit | Type | Description | +| -- | -- | -- | +| [6555c4ee1e](https://github.com/angular/angular/commit/6555c4ee1ec2aea7eb541d558981b55eb751497c) | fix | mark control as dirty before setting its value in FVC interop | + + + # 22.1.6 (2026-09-09) ### compiler diff --git a/MODULE.bazel b/MODULE.bazel index 29f90e87bde3..d2b17f4a8fda 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -18,14 +18,14 @@ bazel_dep(name = "yq.bzl", version = "0.4.0") bazel_dep(name = "rules_angular") git_override( module_name = "rules_angular", - commit = "5fa856469c642490a6e381a05d7f58f60fad1913", + commit = "3f933b9dde5139e67575b6c2437c854986ecd10a", remote = "https://github.com/angular/rules_angular.git", ) bazel_dep(name = "devinfra") git_override( module_name = "devinfra", - commit = "183403ae13b785698eaf13c819dda55b9fed430b", + commit = "253d7e1b16eac44a903e67c2b9e3755a20a28967", remote = "https://github.com/angular/dev-infra.git", ) @@ -39,7 +39,7 @@ git_override( bazel_dep(name = "rules_browsers") git_override( module_name = "rules_browsers", - commit = "c37398d63f5e990d618d02f4c6fb2fefe40f1a79", + commit = "f87a5f7fc587219ff328da2972e06370f297a621", remote = "https://github.com/angular/rules_browsers.git", ) @@ -71,8 +71,8 @@ use_repo(node, "nodejs_windows_amd64") pnpm = use_extension("@aspect_rules_js//npm:extensions.bzl", "pnpm") pnpm.pnpm( name = "pnpm", - pnpm_version = "11.25.0", - pnpm_version_integrity = "sha512-XN6SW08HX3Jetx+64YpC/+eEUkeJ8ZthxzHLhyHsKKruFg4BqNWvT+2ypCzb8wDv4j2zVrDUoXtNY+EfirfJVg==", + pnpm_version = "11.26.0", + pnpm_version_integrity = "sha512-/A4r+JC5+YNhHxq2jAY3vOkUOQZTaZ+DwaeLAF7SXyyB53kgyP2O7i7PC1iyjNywCoTZf2m898VrLzRHECOGZA==", ) use_repo(pnpm, "pnpm") diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 9b84459fc099..349b8c0857eb 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -433,16 +433,16 @@ }, "@@rules_browsers+//browsers:extensions.bzl%browsers": { "general": { - "bzlTransitiveDigest": "eNfcpVF2YJFb8xQfN64Y9PQgMrXYK0ju3uglArt8IO8=", + "bzlTransitiveDigest": "jwGo+QiVY+i/AnJLUkEJ+vaplFYfygil2SJt8C7kM5o=", "usagesDigest": "FmXYJVoVJlnfUU8x8gObSvu4qWcco/9Faw61aC/wBF0=", "recordedInputs": [], "generatedRepoSpecs": { "rules_browsers_chrome_linux": { "repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo", "attributes": { - "sha256": "ad2e73e1e42c0831930dfd02d4aa8653a5f23f60b0376a5d76ddf8ecd7a41e4b", + "sha256": "11d48f3e2ee11fc2a53a230eb364b2becc44c1b67a7aa4683edb7cb8a950b6ab", "urls": [ - "https://storage.googleapis.com/chrome-for-testing-public/155.0.8043.0/linux64/chrome-headless-shell-linux64.zip" + "https://storage.googleapis.com/chrome-for-testing-public/156.0.8060.2/linux64/chrome-headless-shell-linux64.zip" ], "named_files": { "CHROME-HEADLESS-SHELL": "chrome-headless-shell-linux64/chrome-headless-shell" @@ -458,9 +458,9 @@ "rules_browsers_chrome_mac": { "repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo", "attributes": { - "sha256": "d66b730ed9760ae88b83aca1fa89351ac027ede430be4f5283fabd156198762d", + "sha256": "42c60eb1793fe76aabf19664b03c299170e5de53baa23ae72578f063dc9b2614", "urls": [ - "https://storage.googleapis.com/chrome-for-testing-public/155.0.8043.0/mac-x64/chrome-headless-shell-mac-x64.zip" + "https://storage.googleapis.com/chrome-for-testing-public/156.0.8060.2/mac-x64/chrome-headless-shell-mac-x64.zip" ], "named_files": { "CHROME-HEADLESS-SHELL": "chrome-headless-shell-mac-x64/chrome-headless-shell" @@ -476,9 +476,9 @@ "rules_browsers_chrome_mac_arm": { "repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo", "attributes": { - "sha256": "44c784c59af60ef62233b6100820ebb8b158e7d105b96c684818f007d6576848", + "sha256": "4afc1dbaeea03ad545b434c0f9eba50af326923fc265bc25927b3b4c7d9ca377", "urls": [ - "https://storage.googleapis.com/chrome-for-testing-public/155.0.8043.0/mac-arm64/chrome-headless-shell-mac-arm64.zip" + "https://storage.googleapis.com/chrome-for-testing-public/156.0.8060.2/mac-arm64/chrome-headless-shell-mac-arm64.zip" ], "named_files": { "CHROME-HEADLESS-SHELL": "chrome-headless-shell-mac-arm64/chrome-headless-shell" @@ -494,9 +494,9 @@ "rules_browsers_chrome_win64": { "repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo", "attributes": { - "sha256": "996537a6c3d31bb5c75ef328af5d4827b5f92c4a36ff7ea250e437eadf46eac0", + "sha256": "9de8381d4ca9c9f0471fd1cce15e44146328c3e11f55fec43cd667ae1a5bd482", "urls": [ - "https://storage.googleapis.com/chrome-for-testing-public/155.0.8043.0/win64/chrome-headless-shell-win64.zip" + "https://storage.googleapis.com/chrome-for-testing-public/156.0.8060.2/win64/chrome-headless-shell-win64.zip" ], "named_files": { "CHROME-HEADLESS-SHELL": "chrome-headless-shell-win64/chrome-headless-shell.exe" @@ -512,9 +512,9 @@ "rules_browsers_chromedriver_linux": { "repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo", "attributes": { - "sha256": "f1db8caff52251dec46117a2f518a74cd1e4a2abadcbecc0d5bdd49e42175afa", + "sha256": "29be812bf4392619d06dfb5716d2bf9d72a278304670a594e3977d4c2cce7502", "urls": [ - "https://storage.googleapis.com/chrome-for-testing-public/155.0.8043.0/linux64/chromedriver-linux64.zip" + "https://storage.googleapis.com/chrome-for-testing-public/156.0.8060.2/linux64/chromedriver-linux64.zip" ], "named_files": { "CHROMEDRIVER": "chromedriver-linux64/chromedriver" @@ -528,9 +528,9 @@ "rules_browsers_chromedriver_mac": { "repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo", "attributes": { - "sha256": "5062675bc868f3f6a1e4850cab72b736a5c17f98f01d610736b8d0a6e009bf54", + "sha256": "d4dc141aadd9525e67c92fc78ec65e2926226c436eca7d90e39cdc813726513d", "urls": [ - "https://storage.googleapis.com/chrome-for-testing-public/155.0.8043.0/mac-x64/chromedriver-mac-x64.zip" + "https://storage.googleapis.com/chrome-for-testing-public/156.0.8060.2/mac-x64/chromedriver-mac-x64.zip" ], "named_files": { "CHROMEDRIVER": "chromedriver-mac-x64/chromedriver" @@ -544,9 +544,9 @@ "rules_browsers_chromedriver_mac_arm": { "repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo", "attributes": { - "sha256": "04f07a2a13e969f120dbea61eef291dc4e20617a6d424dec20e90f903da0263b", + "sha256": "984056c6d3dd189569cc89affd28564a9de949d58297279fc23a045c8fc53080", "urls": [ - "https://storage.googleapis.com/chrome-for-testing-public/155.0.8043.0/mac-arm64/chromedriver-mac-arm64.zip" + "https://storage.googleapis.com/chrome-for-testing-public/156.0.8060.2/mac-arm64/chromedriver-mac-arm64.zip" ], "named_files": { "CHROMEDRIVER": "chromedriver-mac-arm64/chromedriver" @@ -560,9 +560,9 @@ "rules_browsers_chromedriver_win64": { "repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo", "attributes": { - "sha256": "7701074890112ed3b780af26104cb9f57ce68e229ca3076bfade6a1af93730d7", + "sha256": "a5bcbd013b64e6a15acc84c164fe974d0f1a58d4e061fba79d24b31cced64d88", "urls": [ - "https://storage.googleapis.com/chrome-for-testing-public/155.0.8043.0/win64/chromedriver-win64.zip" + "https://storage.googleapis.com/chrome-for-testing-public/156.0.8060.2/win64/chromedriver-win64.zip" ], "named_files": { "CHROMEDRIVER": "chromedriver-win64/chromedriver.exe" @@ -576,9 +576,9 @@ "rules_browsers_firefox_linux": { "repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo", "attributes": { - "sha256": "fd9ec3f5f113d0825ca0bd1ab3c0756fbc40241034eefce6743be953bcca7473", + "sha256": "1d44cd02351c307c3e19061ea2a4d18a30f236e6be862b94f2282564afdb0167", "urls": [ - "https://archive.mozilla.org/pub/firefox/releases/155.0/linux-x86_64/en-US/firefox-155.0.tar.xz" + "https://archive.mozilla.org/pub/firefox/releases/156.0/linux-x86_64/en-US/firefox-156.0.tar.xz" ], "named_files": { "FIREFOX": "firefox/firefox" @@ -592,9 +592,9 @@ "rules_browsers_firefox_mac": { "repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo", "attributes": { - "sha256": "3ae135f2023cf0c6cbce3bb757e06564ff8148b1266f682b8eccff0993a1a9f5", + "sha256": "fecc46103039ca4a77ecb2b2ef7b03892f922e13db0782f8570c512b2e458515", "urls": [ - "https://archive.mozilla.org/pub/firefox/releases/155.0/mac/en-US/Firefox%20155.0.dmg" + "https://archive.mozilla.org/pub/firefox/releases/156.0/mac/en-US/Firefox%20156.0.dmg" ], "named_files": { "FIREFOX": "Firefox.app/Contents/MacOS/firefox" @@ -608,9 +608,9 @@ "rules_browsers_firefox_mac_arm": { "repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo", "attributes": { - "sha256": "3ae135f2023cf0c6cbce3bb757e06564ff8148b1266f682b8eccff0993a1a9f5", + "sha256": "fecc46103039ca4a77ecb2b2ef7b03892f922e13db0782f8570c512b2e458515", "urls": [ - "https://archive.mozilla.org/pub/firefox/releases/155.0/mac/en-US/Firefox%20155.0.dmg" + "https://archive.mozilla.org/pub/firefox/releases/156.0/mac/en-US/Firefox%20156.0.dmg" ], "named_files": { "FIREFOX": "Firefox.app/Contents/MacOS/firefox" @@ -624,9 +624,9 @@ "rules_browsers_firefox_win64": { "repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo", "attributes": { - "sha256": "2718d4cc4b2cf089aa8ac370111652bc763838e1d2ed6d635d465fc17ab6327c", + "sha256": "86a027237f7408e8a4d18637c57d487455a704cbb2466a32d0d14c2207d2699a", "urls": [ - "https://archive.mozilla.org/pub/firefox/releases/155.0/win64/en-US/Firefox%20Setup%20155.0.exe" + "https://archive.mozilla.org/pub/firefox/releases/156.0/win64/en-US/Firefox%20Setup%20156.0.exe" ], "named_files": { "FIREFOX": "core/firefox.exe" diff --git a/adev/package.json b/adev/package.json index fed43b66aaa5..bac6db53d85a 100644 --- a/adev/package.json +++ b/adev/package.json @@ -5,21 +5,21 @@ "@algolia/requester-browser-xhr": "5.56.0", "@algolia/requester-node-http": "5.56.0", "@angular/animations": "workspace:*", - "@angular/aria": "22.1.6", - "@angular/build": "22.1.7", - "@angular/cdk": "22.1.6", - "@angular/cli": "22.1.7", + "@angular/aria": "22.1.7", + "@angular/build": "22.1.8", + "@angular/cdk": "22.1.7", + "@angular/cli": "22.1.8", "@angular/common": "workspace:*", "@angular/compiler": "workspace:*", "@angular/compiler-cli": "workspace:*", "@angular/core": "workspace:*", "@angular/docs": "workspace:*", "@angular/forms": "workspace:*", - "@angular/material": "22.1.6", + "@angular/material": "22.1.7", "@angular/platform-browser": "workspace:*", "@angular/platform-server": "workspace:*", "@angular/router": "workspace:*", - "@angular/ssr": "22.1.7", + "@angular/ssr": "22.1.8", "@codemirror/autocomplete": "6.20.3", "@codemirror/commands": "6.10.4", "@codemirror/lang-angular": "0.1.4", diff --git a/adev/shared-docs/components/copy-source-code-button/copy-source-code-button.component.spec.ts b/adev/shared-docs/components/copy-source-code-button/copy-source-code-button.component.spec.ts index 8485588947e7..6bfa490135a4 100644 --- a/adev/shared-docs/components/copy-source-code-button/copy-source-code-button.component.spec.ts +++ b/adev/shared-docs/components/copy-source-code-button/copy-source-code-button.component.spec.ts @@ -50,6 +50,36 @@ describe('CopySourceCodeButton', () => { expect(copySpy.calls.argsFor(0)[0].trim()).toBe(expectedCodeToBeCopied); }); + it('should keep blank lines and skip line numbers', async () => { + component.code.set( + '1const a = 1;\n' + + '2\n' + + '3const b = 2;', + ); + + await fixture.whenStable(); + + const button = fixture.debugElement.query(By.directive(CopySourceCodeButton)).nativeElement; + button.click(); + + expect(copySpy.calls.argsFor(0)[0]).toBe('const a = 1;\n\nconst b = 2;'); + }); + + it('should skip hidden lines', async () => { + component.code.set( + 'const a = 1;\n' + + '\n' + + 'const c = 3;', + ); + + await fixture.whenStable(); + + const button = fixture.debugElement.query(By.directive(CopySourceCodeButton)).nativeElement; + button.click(); + + expect(copySpy.calls.argsFor(0)[0]).toBe('const a = 1;\nconst c = 3;'); + }); + it(`should set ${SUCCESSFULLY_COPY_CLASS_NAME} for ${CONFIRMATION_DISPLAY_TIME_MS} ms when copy was executed properly`, async () => { const clock = jasmine.clock().install(); component.code.set('example'); diff --git a/adev/shared-docs/components/copy-source-code-button/copy-source-code-button.component.ts b/adev/shared-docs/components/copy-source-code-button/copy-source-code-button.component.ts index 9664603a05ae..535915b00310 100644 --- a/adev/shared-docs/components/copy-source-code-button/copy-source-code-button.component.ts +++ b/adev/shared-docs/components/copy-source-code-button/copy-source-code-button.component.ts @@ -17,7 +17,6 @@ import { } from '@angular/core'; import {IconComponent} from '../icon/icon.component'; -export const REMOVED_LINE_CLASS_NAME = '.line.remove'; export const CONFIRMATION_DISPLAY_TIME_MS = 2000; @Component({ @@ -58,19 +57,16 @@ export class CopySourceCodeButton { this.showCopySuccess.set(false); this.showCopyFailure.set(false); - const removedLines: NodeList = codeElement.querySelectorAll(REMOVED_LINE_CLASS_NAME); + const lines = Array.from(codeElement.querySelectorAll('.line:not(.hidden)')); - if (removedLines.length) { - // Get only those lines which are not marked as removed - const formattedText = Array.from(codeElement.querySelectorAll('.line:not(.remove)')) - .map((line) => (line as HTMLDivElement).innerText) - .join('\n'); - - return formattedText.trim(); - } else { - const text: string = codeElement.innerText || ''; - return text.replace(/\n\n\n/g, ``).trim(); + if (lines.length) { + return lines + .map((line) => line.textContent) + .join('\n') + .trim(); } + + return (codeElement.innerText || '').trim(); } private showResult(messageState: WritableSignal) { diff --git a/adev/shared-docs/pipeline/api-gen/rendering/templates/decorator-reference.tsx b/adev/shared-docs/pipeline/api-gen/rendering/templates/decorator-reference.tsx index 95f170b75df4..660083efcd8c 100644 --- a/adev/shared-docs/pipeline/api-gen/rendering/templates/decorator-reference.tsx +++ b/adev/shared-docs/pipeline/api-gen/rendering/templates/decorator-reference.tsx @@ -54,9 +54,9 @@ export function DecoratorReference(entry: DecoratorEntryRenderable) {
- {entry.members.map((member, index) => + {entry.members.map((member) => signatureCard(member.name, member, { - id: `${member.name}_${index}`, + id: member.name, }), )}
diff --git a/adev/shared-docs/pipeline/api-gen/rendering/test/renderable.spec.mts b/adev/shared-docs/pipeline/api-gen/rendering/test/renderable.spec.mts index 7f45d7323187..e0282088a5bf 100644 --- a/adev/shared-docs/pipeline/api-gen/rendering/test/renderable.spec.mts +++ b/adev/shared-docs/pipeline/api-gen/rendering/test/renderable.spec.mts @@ -89,4 +89,13 @@ describe('renderable', () => { expect(api.textContent).toContain('@Component({'); }); + + it('should use the member name as the id of decorator member cards', () => { + const component = entries.get('Component')!; + const html = renderEntry(component); + const fragment = JSDOM.fragment(html); + const card = fragment.querySelector('.docs-reference-member-card')!; + + expect(card.getAttribute('id')).toBe('selector'); + }); }); diff --git a/adev/shared-docs/pipeline/shared/marked/extensions/docs-code/docs-code-block.mts b/adev/shared-docs/pipeline/shared/marked/extensions/docs-code/docs-code-block.mts index 46260f19ec3e..e1a334ebea5e 100644 --- a/adev/shared-docs/pipeline/shared/marked/extensions/docs-code/docs-code-block.mts +++ b/adev/shared-docs/pipeline/shared/marked/extensions/docs-code/docs-code-block.mts @@ -8,6 +8,7 @@ import {TokenizerThis, RendererThis} from 'marked'; import {CodeToken, formatCode} from './format/index.mjs'; +import {expandRangeStringValues} from './format/range.mjs'; import {AdevDocsRenderer} from '../../renderer.mjs'; export interface DocsCodeBlock extends CodeToken { @@ -39,12 +40,21 @@ export const docsCodeBlockExtension = { const metadataStr = match[2].trim(); const headerRule = /header\s*:\s*(['"`])(.*?)\1/; // The 2nd capture matters here - const highlightRule = /highlight\s*:\s*(.*)([^,])/; + const highlightRule = /highlight\s*:\s*(\[(?:[^[\]]|\[[^[\]]*\])*\])/; const hideCopyRule = /hideCopy/; const hideDollarRule = /hideDollar/; const preferRule = /\b(prefer|avoid)\b/; const linenumsRule = /linenums/; + validateMetadata(metadataStr, highlightRule.exec(metadataStr)?.[1], [ + headerRule, + highlightRule, + hideCopyRule, + hideDollarRule, + preferRule, + linenumsRule, + ]); + const token: DocsCodeBlock = { raw: match[0], type: 'docs-code-block', @@ -68,3 +78,15 @@ export const docsCodeBlockExtension = { return formatCode(token, (this.parser.renderer as AdevDocsRenderer).context); }, }; + +function validateMetadata(metadataStr: string, highlight: string | undefined, rules: RegExp[]) { + const unrecognized = rules + .reduce((rest, rule) => rest.replace(new RegExp(rule, 'g'), ''), metadataStr) + .replace(/[{},\s]/g, ''); + const invalidHighlight = + highlight !== undefined && expandRangeStringValues(highlight).length === 0; + + if (unrecognized || invalidHighlight) { + throw new Error(`Invalid code block metadata: ${metadataStr}`); + } +} diff --git a/adev/shared-docs/pipeline/shared/marked/extensions/docs-code/format/index.mts b/adev/shared-docs/pipeline/shared/marked/extensions/docs-code/format/index.mts index 88f3fbaed4e2..c107addc0039 100644 --- a/adev/shared-docs/pipeline/shared/marked/extensions/docs-code/format/index.mts +++ b/adev/shared-docs/pipeline/shared/marked/extensions/docs-code/format/index.mts @@ -96,6 +96,11 @@ export function processForApiLinks(fragment: Element, apiEntries: ApiEntries): v }); } +/** Escapes text that is interpolated into an HTML string. */ +function escapeHtml(text: string): string { + return text.replace(/&/g, '&').replace(//g, '>'); +} + /** Build the header element if a header is provided in the token. */ function buildHeaderElement(token: CodeToken) { let header = ''; @@ -104,7 +109,7 @@ function buildHeaderElement(token: CodeToken) { } if (token.header) { - header += `

${token.header}

`; + header += `

${escapeHtml(token.header)}

`; } if (!header) return ''; diff --git a/adev/shared-docs/pipeline/shared/marked/test/docs-code-block/docs-code-block.spec.mts b/adev/shared-docs/pipeline/shared/marked/test/docs-code-block/docs-code-block.spec.mts index 7419bc000d73..2f61604d9470 100644 --- a/adev/shared-docs/pipeline/shared/marked/test/docs-code-block/docs-code-block.spec.mts +++ b/adev/shared-docs/pipeline/shared/marked/test/docs-code-block/docs-code-block.spec.mts @@ -48,4 +48,26 @@ describe('markdown to html', () => { const codeBlock = markdownDocument.querySelectorAll('.docs-code')[3]; expect(codeBlock.getAttribute('hideDollar')).toBe('true'); }); + + it('should parse highlight regardless of its position in the metadata', () => { + const fragment = JSDOM.fragment( + parseMarkdown('```ts {highlight: [2], header: "foo.ts"}\na\nb\n```', rendererContext), + ); + expect(fragment.querySelector('.docs-code')?.getAttribute('header')).toBe('foo.ts'); + expect(fragment.querySelectorAll('.line.highlighted').length).toBe(1); + }); + + for (const metadata of [ + '{header="foo.ts"}', + '{header: foo.ts}', + '{[[1],[2]]}', + '{highlight="[2]"}', + '{highlight: [1,]}', + ]) { + it(`should throw on invalid metadata ${metadata}`, () => { + expect(() => + parseMarkdown('```ts ' + metadata + '\ncode\n```', rendererContext), + ).toThrowError(/Invalid code block metadata/); + }); + } }); diff --git a/adev/shared-docs/pipeline/shared/marked/test/docs-code/docs-code.spec.mts b/adev/shared-docs/pipeline/shared/marked/test/docs-code/docs-code.spec.mts index 270647d52583..33022e377b9f 100644 --- a/adev/shared-docs/pipeline/shared/marked/test/docs-code/docs-code.spec.mts +++ b/adev/shared-docs/pipeline/shared/marked/test/docs-code/docs-code.spec.mts @@ -46,6 +46,7 @@ describe('markdown to html', () => { it('should load header and html code', () => { const codeBlock = markdownDocument.querySelectorAll('code')[3]; expect(codeBlock).toBeTruthy(); + expect(codeBlock?.textContent).not.toContain('docregion'); }); it('should not link property names in object literals', () => { diff --git a/adev/shared-docs/pipeline/shared/regions/region-parser.mts b/adev/shared-docs/pipeline/shared/regions/region-parser.mts index 4047c86f7d0e..bb0b025bebe3 100644 --- a/adev/shared-docs/pipeline/shared/regions/region-parser.mts +++ b/adev/shared-docs/pipeline/shared/regions/region-parser.mts @@ -27,6 +27,7 @@ const REGION_MATCHERS = { es6: inlineC, html: html, svg: html, + xlf: html, css: blockC, conf: inlineHash, yaml: inlineHash, diff --git a/adev/shared-docs/pipeline/shared/regions/remove-eslint-comments.mts b/adev/shared-docs/pipeline/shared/regions/remove-eslint-comments.mts index 701a48713111..e22c4a9a0c2b 100644 --- a/adev/shared-docs/pipeline/shared/regions/remove-eslint-comments.mts +++ b/adev/shared-docs/pipeline/shared/regions/remove-eslint-comments.mts @@ -13,6 +13,7 @@ export type FileType = | 'es6' | 'html' | 'svg' + | 'xlf' | 'css' | 'conf' | 'yaml' diff --git a/adev/shared-docs/styles/docs/_card.scss b/adev/shared-docs/styles/docs/_card.scss index dedda443844c..7847c94838de 100644 --- a/adev/shared-docs/styles/docs/_card.scss +++ b/adev/shared-docs/styles/docs/_card.scss @@ -122,7 +122,7 @@ } } - :not(.docs-card-container) .docs-card { + :not(.docs-card-grid) > .docs-card { margin: 1rem 0; } diff --git a/adev/src/app/app.config.server.ts b/adev/src/app/app.config.server.ts index 9d4b6056f531..b71d9da68e5e 100644 --- a/adev/src/app/app.config.server.ts +++ b/adev/src/app/app.config.server.ts @@ -13,7 +13,7 @@ import {appConfig} from './app.config'; const serverConfig: ApplicationConfig = { providers: [ provideServerRendering( - {maxResponseBodySize: 2 * 1024 * 1024}, + {maxResponseBodySize: 4 * 1024 * 1024}, withRoutes([{path: '**', renderMode: RenderMode.Prerender}]), ), ], diff --git a/adev/src/app/core/services/theme-manager.service.ts b/adev/src/app/core/services/theme-manager.service.ts index 5458086fb875..3e6d1ead0d67 100644 --- a/adev/src/app/core/services/theme-manager.service.ts +++ b/adev/src/app/core/services/theme-manager.service.ts @@ -7,7 +7,7 @@ */ import {DOCUMENT, isPlatformBrowser} from '@angular/common'; -import {PLATFORM_ID, Service, inject, signal} from '@angular/core'; +import {PLATFORM_ID, Service, computed, inject, signal} from '@angular/core'; import {LOCAL_STORAGE} from '@angular/docs'; // Keep these constants in sync with the code in index.html @@ -26,12 +26,21 @@ export class ThemeManager { private readonly platformId = inject(PLATFORM_ID); readonly theme = signal(this.getThemeFromLocalStorageValue()); + private readonly osScheme = signal<'dark' | 'light'>('light'); + readonly resolvedTheme = computed<'dark' | 'light'>(() => { + const theme = this.theme(); + if (theme === null) { + return 'light'; + } + return theme === 'auto' ? this.osScheme() : theme; + }); constructor() { if (!isPlatformBrowser(this.platformId)) { return; } + this.osScheme.set(preferredScheme()); this.loadThemePreference(); this.watchPreferredColorScheme(); } @@ -39,7 +48,7 @@ export class ThemeManager { setTheme(theme: Theme): void { this.theme.set(theme); this.setThemeInLocalStorage(); - this.setThemeBodyClasses(theme === 'auto' ? preferredScheme() : theme); + this.setThemeBodyClasses(this.resolvedTheme()); } // 1. Read theme preferences stored in localStorage @@ -49,7 +58,7 @@ export class ThemeManager { const useTheme = savedUserPreference ?? 'auto'; this.theme.set(useTheme); - this.setThemeBodyClasses(useTheme === 'auto' ? preferredScheme() : useTheme); + this.setThemeBodyClasses(this.resolvedTheme()); } // Set theme classes on the body element @@ -77,11 +86,11 @@ export class ThemeManager { private watchPreferredColorScheme() { window.matchMedia(PREFERS_COLOR_SCHEME_DARK).addEventListener('change', (event) => { + this.osScheme.set(event.matches ? 'dark' : 'light'); if (this.theme() !== 'auto') { return; } - const preferredScheme = event.matches ? 'dark' : 'light'; - this.setThemeBodyClasses(preferredScheme); + this.setThemeBodyClasses(this.resolvedTheme()); }); } } diff --git a/adev/src/app/features/home/components/code-block/code-block.ts b/adev/src/app/features/home/components/code-block/code-block.ts index d9fd263eb06f..d79e13a5cfc5 100644 --- a/adev/src/app/features/home/components/code-block/code-block.ts +++ b/adev/src/app/features/home/components/code-block/code-block.ts @@ -34,7 +34,7 @@ export class CodeBlock { .codeToHtml(this.code(), { cssVariablePrefix: '--shiki-', lang: this.language(), - theme: this.theme.theme() === 'light' ? 'github-light' : 'github-dark', + theme: this.theme.resolvedTheme() === 'dark' ? 'github-dark' : 'github-light', }) .then((hightlightedHtml) => { return this.sanitizer.bypassSecurityTrustHtml(hightlightedHtml); diff --git a/adev/src/content/guide/di/lazy-loading-services.md b/adev/src/content/guide/di/lazy-loading-services.md index 8425033f2729..25b1d708a3b2 100644 --- a/adev/src/content/guide/di/lazy-loading-services.md +++ b/adev/src/content/guide/di/lazy-loading-services.md @@ -31,14 +31,14 @@ The first call to `this.exporter()` triggers the dynamic import and resolves the If the lazy-loaded service is the [default export](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/export#using_the_default_export), pass the dynamic import directly, Angular unwraps the `default` for you: -```ts {header: report-exporter.ts} +```ts {header: "report-exporter.ts"} @Service() export default class ReportExporter { /* … */ } ``` -```ts {header: report.ts} +```ts {header: "report.ts"} private exporter = injectAsync(() => import('./report-exporter')); ``` @@ -51,9 +51,7 @@ Angular ships with `onIdle`, a built-in trigger that waits until the browser bec ```ts import {Component, injectAsync, onIdle} from '@angular/core'; -@Component({ - /* … */ -}) +@Component({/* … */}) export class Report { private exporter = injectAsync(() => import('./report-exporter').then((m) => m.ReportExporter), { prefetch: onIdle, diff --git a/adev/src/content/guide/forms/signals/validation.md b/adev/src/content/guide/forms/signals/validation.md index 5f3b293eb812..522bd0b746da 100644 --- a/adev/src/content/guide/forms/signals/validation.md +++ b/adev/src/content/guide/forms/signals/validation.md @@ -110,12 +110,22 @@ export class RegistrationComponent { } ``` -A field is considered "empty" when: +A field is considered "empty" when its value is one of the following, and non-empty for every other +value — including `0` and the empty array `[]`: -| Condition | Example | -| ------------------------ | ------- | -| Value is `null` | `null`, | -| Value is an empty string | `''` | +| Condition | Example | +| ------------------------ | ----------- | +| Value is `null` | `null` | +| Value is `undefined` | `undefined` | +| Value is an empty string | `''` | +| Value is `false` | `false` | +| Value is `NaN` | `NaN` | + +The last two are worth calling out: + +- `false` is empty to follow the native semantics of `required` on ``, where + an unchecked box fails validation. +- `NaN` is empty because it is usually the result of a parsing error, and is not a valid number. For conditional requirements, use the `when` option: @@ -130,7 +140,7 @@ registrationForm = form(this.registrationModel, (schemaPath) => { The validation rule only runs when the `when` function returns `true`. -Note: `required` treats an empty array as present (valid), so use [`minLength()`](#minlength-and-maxlength) to enforce a minimum number of array items; it treats `false` as missing (invalid), matching ``. +Note: `required` treats an empty array as present (valid), so use [`minLength()`](#minlength-and-maxlength) to enforce a minimum number of array items. ### email() @@ -505,9 +515,7 @@ interface User { lastName: string; } -@Component({ - /* ... */ -}) +@Component({/* ... */}) export class UserFormComponent { readonly userModel = model({ firstName: '', @@ -750,9 +758,7 @@ import {Component, computed, signal} from '@angular/core'; import {form, FormField, validateStandardSchema} from '@angular/forms/signals'; import z from 'zod'; -@Component({ - /* ... */ -}) +@Component({/* ... */}) export class DynamicSchema { model = signal({document: '', type: 'dni'}); diff --git a/adev/src/content/guide/http/making-requests.md b/adev/src/content/guide/http/making-requests.md index 8b388a35da0a..1527db8b5936 100644 --- a/adev/src/content/guide/http/making-requests.md +++ b/adev/src/content/guide/http/making-requests.md @@ -616,6 +616,8 @@ http IMPORTANT: The `integrity` option requires an exact match between the response content and the provided hash. If the content doesn't match, the request will fail with a network error. +CRITICAL: During SSR, the Fetch implementation reads the entire response body to verify `integrity` before returning a response, as required by the [Fetch Standard](https://fetch.spec.whatwg.org/#concept-main-fetch). Angular enforces [`maxResponseBodySize`](/guide/ssr#configuring-the-response-body-size-limit) only after Fetch returns a response, so this limit does not constrain the data buffered during integrity verification. + TIP: Use subresource integrity when loading critical resources from external sources to ensure they haven't been modified. Generate hashes using tools like `openssl`. ## HTTP `Observable`s diff --git a/adev/src/content/guide/i18n/locale-id.md b/adev/src/content/guide/i18n/locale-id.md index 36336bb56f92..d5759321dd07 100644 --- a/adev/src/content/guide/i18n/locale-id.md +++ b/adev/src/content/guide/i18n/locale-id.md @@ -5,7 +5,7 @@ Angular uses the Unicode _locale identifier_ \(Unicode locale ID\) to find the c - A locale ID conforms to the [Unicode Common Locale Data Repository (CLDR) core specification][UnicodeCldrDevelopmentCoreSpecification]. - For more information about locale IDs, see [Unicode Language and Locale Identifiers][UnicodeCldrDevelopmentCoreSpecificationLocaleIDs]. + For more information about locale IDs, see [Unicode Language and Locale Identifiers][UnicodeCldrDevelopmentCoreSpecificationLocaleID]. - CLDR and Angular use [BCP 47 tags][RfcEditorInfoBcp47] as the base for the locale ID diff --git a/adev/src/content/guide/i18n/manage-marked-text.md b/adev/src/content/guide/i18n/manage-marked-text.md index e2de6098c0f6..453f583a331a 100644 --- a/adev/src/content/guide/i18n/manage-marked-text.md +++ b/adev/src/content/guide/i18n/manage-marked-text.md @@ -9,7 +9,7 @@ As described in [How meanings control text extraction and merges][GuideI18nCommo The following example displays translation units with unique IDs. - + When you change the translatable text, the extractor generates a new ID for that translation unit. In most cases, changes in the source text also require a change to the translation. @@ -34,7 +34,7 @@ variableText1 = $localize`:@@introductionHeader:Hello i18n!`; When you specify a custom ID, the extractor generates a translation unit with the custom ID. - + If you change the text, the extractor does not change the ID. As a result, you don't have to take the extra step to update the translation. @@ -75,7 +75,7 @@ For example, in the following code snippet the same `myId` custom ID is defined The following displays the translation in French. - + Both elements now use the same translation \(`Bonjour`\), because both were defined with the same custom ID. diff --git a/adev/src/content/guide/i18n/prepare.md b/adev/src/content/guide/i18n/prepare.md index 95d6e393cb18..4bb6b47eb531 100644 --- a/adev/src/content/guide/i18n/prepare.md +++ b/adev/src/content/guide/i18n/prepare.md @@ -35,7 +35,7 @@ The following `
` tag will display translated text as part of `div` and `ari - + ### Translate inline text without HTML element diff --git a/adev/src/content/guide/i18n/translation-files.md b/adev/src/content/guide/i18n/translation-files.md index e684539b0851..d082942d778d 100644 --- a/adev/src/content/guide/i18n/translation-files.md +++ b/adev/src/content/guide/i18n/translation-files.md @@ -132,20 +132,20 @@ The following actions describe the translation process for French. 1. Open `messages.fr.xlf` and find the first `` element. This is a _translation unit_, also known as a _text node_, that represents the translation of the `

` greeting tag that was previously marked with the `i18n` attribute. - + The `id="introductionHeader"` is a [custom ID][GuideI18nOptionalManageMarkedText], but without the `@@` prefix required in the source HTML. 1. Duplicate the `... ` element in the text node, rename it to `target`, and then replace the content with the French text. - + In a more complex translation, the information and context in the [description and meaning elements][GuideI18nCommonPrepareAddHelpfulDescriptionsAndMeanings] help you choose the right words for translation. 1. Translate the other text nodes. The following example displays the way to translate. - + IMPORTANT: Don't change the IDs for translation units. Each `id` attribute is generated by Angular and depends on the content of the component text and the assigned meaning. @@ -169,7 +169,7 @@ To translate a `plural`, translate the ICU format match values. The following example displays the way to translate. - + ## Translate alternate expressions @@ -184,18 +184,18 @@ The following example displays a `select` ICU expression in the component templa In this example, Angular extracts the expression into two translation units. The first contains the text outside of the `select` clause, and uses a placeholder for `select` \(``\): - + IMPORTANT: When you translate the text, move the placeholder if necessary, but don't remove it. If you remove the placeholder, the ICU expression is removed from your translated application. The following example displays the second translation unit that contains the `select` clause. - + The following example displays both translation units after translation is complete. - + ## Translate nested expressions @@ -206,15 +206,15 @@ Angular extracts the expression into two translation units. The following example displays the first translation unit that contains the text outside of the nested expression. - + The following example displays the second translation unit that contains the complete nested expression. - + The following example displays both translation units after translating. - + ## What's next diff --git a/adev/src/content/guide/security.md b/adev/src/content/guide/security.md index 1a21c9c05f78..e0893ee70c64 100644 --- a/adev/src/content/guide/security.md +++ b/adev/src/content/guide/security.md @@ -155,7 +155,8 @@ You can set the nonce for Angular in one of the following ways: 1. Provide the nonce using the `CSP_NONCE` injection token. Use this approach if you have access to the nonce at runtime and you want to be able to cache the `index.html`. ```ts -import {bootstrapApplication, CSP_NONCE} from '@angular/core'; +import {CSP_NONCE} from '@angular/core'; +import {bootstrapApplication} from '@angular/platform-browser'; import {AppComponent} from './app/app.component'; bootstrapApplication(AppComponent, { diff --git a/adev/src/content/guide/signals/effect.md b/adev/src/content/guide/signals/effect.md index 0acefd12ead7..df1896b92a53 100644 --- a/adev/src/content/guide/signals/effect.md +++ b/adev/src/content/guide/signals/effect.md @@ -1,4 +1,4 @@ -## Effects +# Effects Signals are useful because they notify interested consumers when they change. An **effect** is an operation that runs whenever one or more signal values change. You can create an effect with the `effect` function: @@ -14,7 +14,7 @@ Effects always run **at least once.** When an effect runs, it tracks any signal Effects always execute **asynchronously**, during the change detection process. -### Use cases for effects +## Use cases for effects Effects should be the last API you reach for. Always prefer `computed()` for derived values and `linkedSignal()` for values that can be both derived and manually set. If you find yourself copying data from one signal to another with an effect, it's a sign you should move your source-of-truth higher up and use `computed()` or `linkedSignal()` instead. Effects are best for syncing signal state to imperative, non-signal APIs. @@ -31,7 +31,7 @@ Avoid using effects for propagation of state changes. This can result in `Expres Instead, use `computed` signals to model state that depends on other state. -### Injection context +## Injection context By default, you can only create an `effect()` within an [injection context](guide/di/dependency-injection-context) (where you have access to the `inject` function). The easiest way to satisfy this requirement is to call `effect` within a component, directive, or service `constructor`: @@ -68,7 +68,7 @@ export class EffectiveCounter { } ``` -### Execution of effects +## Execution of effects Angular implicitly defines two implicit behaviors for its effects depending on the context they were created in. @@ -82,7 +82,7 @@ The execution of both kinds of `effect` are tied to the change detection process In both cases, if at least one of the effect dependencies changed during the effect execution, the effect will re-run before moving ahead on the change detection process. -### Destroying effects +## Destroying effects When a component or directive is destroyed, Angular automatically cleans up any associated effects. @@ -93,7 +93,7 @@ An `effect` can be created in two different contexts that will affect when it's Effects return an `EffectRef`. You can use the ref's `destroy` method to manually dispose of an effect. You can combine this with the `manualCleanup` option when creating an effect to disable automatic cleanup. Be careful to actually destroy such effects when they're no longer required. -### Effect cleanup functions +## Effect cleanup functions When a component or directive is destroyed, Angular automatically cleans up any associated effects. Effects might start long-running operations, which you should cancel if the effect is destroyed or runs again before the first operation finished. When you create an effect, your function can optionally accept an `onCleanup` function as its first parameter. This `onCleanup` function lets you register a callback that is invoked before the next run of the effect begins, or when the effect is destroyed. diff --git a/adev/src/content/guide/ssr.md b/adev/src/content/guide/ssr.md index 30e3720c4a54..fb0f551d7675 100644 --- a/adev/src/content/guide/ssr.md +++ b/adev/src/content/guide/ssr.md @@ -444,6 +444,8 @@ const serverConfig: ApplicationConfig = { IMPORTANT: Keep this limit as small as your application allows. Increasing it lets server-side requests buffer larger response bodies, which can increase memory use and denial-of-service risk. Prefer moving large downloads outside server rendering. +CRITICAL: During SSR, the Fetch implementation reads the entire response body to verify `integrity` before returning a response, as required by the [Fetch Standard](https://fetch.spec.whatwg.org/#concept-main-fetch). Angular enforces [`maxResponseBodySize`](/guide/ssr#configuring-the-response-body-size-limit) only after Fetch returns a response, so this limit does not constrain the data buffered during integrity verification. + ### Configuring the caching options You can customize how Angular caches HTTP responses during server‑side rendering (SSR) and reuses them during hydration by configuring `HttpTransferCacheOptions`. diff --git a/adev/src/content/guide/templates/control-flow.md b/adev/src/content/guide/templates/control-flow.md index 32af8cbe4259..5425e5b1963f 100644 --- a/adev/src/content/guide/templates/control-flow.md +++ b/adev/src/content/guide/templates/control-flow.md @@ -142,7 +142,7 @@ By using `@default never;`, you explicitly declare that no remaining cases shoul NOTE: Exhaustiveness checking relies on TypeScript's type narrowing, which only works on variables. It will not work if the switch condition is a function call or a signal (for example, `@switch (state())`). To work around this, assign the signal to a `@let` variable, e.g.: `@let mySignal = this.mySignal()`. -```angular-html +```angular-ts @Component({ template: ` @switch (state) { @@ -154,7 +154,8 @@ NOTE: Exhaustiveness checking relies on TypeScript's type narrowing, which only

Welcome back!

} - @default never; // throws because `@case ('loading')` is missing + @default never; + } `, }) diff --git a/adev/src/content/guide/templates/ng-template.md b/adev/src/content/guide/templates/ng-template.md index 46601730e045..9e1c24eeb530 100644 --- a/adev/src/content/guide/templates/ng-template.md +++ b/adev/src/content/guide/templates/ng-template.md @@ -202,7 +202,7 @@ In the example above, clicking the "Show" button results in the following output ```angular-html -

Component with a fragment> +

Component with a fragment

diff --git a/adev/src/content/guide/testing/components-scenarios.md b/adev/src/content/guide/testing/components-scenarios.md index 13a74f7e097d..8315cec9bb0c 100644 --- a/adev/src/content/guide/testing/components-scenarios.md +++ b/adev/src/content/guide/testing/components-scenarios.md @@ -8,7 +8,7 @@ In the example application, the `Banner` component presents static title text in After a few changes, the `Banner` component presents a dynamic title by binding to the component's `title` property like this. -```angular-ts {header="banner.ts"} +```angular-ts {header: "banner.ts"} import {Component, signal} from '@angular/core'; @Component({ diff --git a/adev/src/content/kitchen-sink.md b/adev/src/content/kitchen-sink.md index 1e200ee7958b..0a5b8497447b 100644 --- a/adev/src/content/kitchen-sink.md +++ b/adev/src/content/kitchen-sink.md @@ -163,7 +163,7 @@ npm install @angular/material --save You can style standard Markdown triple backticks with attributes for enhanced presentation: -```ts {header:"Awesome Title", linenums, highlight="[2]", hideCopy} +```ts {header:"Awesome Title", linenums, highlight: [2], hideCopy} console.log('Hello, World!'); console.log('Awesome Angular Docs!'); ``` diff --git a/adev/src/content/reference/configs/angular-compiler-options.md b/adev/src/content/reference/configs/angular-compiler-options.md index f85040732d44..dd1371b6a7ce 100644 --- a/adev/src/content/reference/configs/angular-compiler-options.md +++ b/adev/src/content/reference/configs/angular-compiler-options.md @@ -64,13 +64,6 @@ Use `'partial'` for independently published libraries, such as npm packages. `'partial'` compilations output a stable, intermediate format which better supports usage by applications built at different Angular versions from the library. Libraries built at "HEAD" alongside their applications and using the same version of Angular such as in a mono-repository can use `'full'` since there is no risk of version skew. -### `disableExpressionLowering` - -When `true`, the default, transforms code that is or could be used in an annotation, to allow it to be imported from template factory modules. -See [metadata rewriting](tools/cli/aot-compiler#metadata-rewriting) for more information. - -When `false`, disables this rewriting, requiring the rewriting to be done manually. - ### `disableTypeScriptVersionCheck` When `true`, the compiler does not look at the TypeScript version and does not report an error when an unsupported version of TypeScript is used. diff --git a/adev/src/content/reference/migrations/signal-inputs.md b/adev/src/content/reference/migrations/signal-inputs.md index 8efbcec4599e..3dd3f8d7d644 100644 --- a/adev/src/content/reference/migrations/signal-inputs.md +++ b/adev/src/content/reference/migrations/signal-inputs.md @@ -45,7 +45,7 @@ export class MyComponent { **After** -```angular-ts {[[4],[7], [10,12]]} +```angular-ts {highlight: [[4],[7], [10,12]]} import {Component, input} from '@angular/core'; @Component({ diff --git a/adev/src/content/tools/cli/aot-compiler.md b/adev/src/content/tools/cli/aot-compiler.md index ae06537c3829..99ccff232ff1 100644 --- a/adev/src/content/tools/cli/aot-compiler.md +++ b/adev/src/content/tools/cli/aot-compiler.md @@ -134,43 +134,6 @@ HELPFUL: If you want `ngc` to report syntax errors immediately rather than produ Angular libraries have this option to ensure that all Angular `.metadata.json` files are clean and it is a best practice to do the same when building your own libraries. -### No arrow functions - -The AOT compiler does not support [function expressions](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Operators/function) -and [arrow functions](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Functions/Arrow_functions), also called _lambda_ functions. - -Consider the following component decorator: - -```ts - -@Component({ - … - providers: [{provide: server, useFactory: () => new Server()}] -}) - -``` - -The AOT collector does not support the arrow function, `() => new Server()`, in a metadata expression. -It generates an error node in place of the function. -When the compiler later interprets this node, it reports an error that invites you to turn the arrow function into an _exported function_. - -You can fix the error by converting to this: - -```ts - -export function serverFactory() { - return new Server(); -} - -@Component({ - … - providers: [{provide: server, useFactory: serverFactory}] -}) - -``` - -In version 5 and later, the compiler automatically performs this rewriting while emitting the `.js` file. - ### Code folding The compiler can only resolve references to **_exported_** symbols. @@ -284,11 +247,10 @@ The compiler, however, can later refuse to generate a call to a _particular_ fun The compiler can only create instances of certain classes, supports only core decorators, and only supports calls to macros \(functions or static methods\) that return expressions. -| Compiler action | Details | -| :------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------- | -| New instances | The compiler only allows metadata that create instances of the class `InjectionToken` from `@angular/core`. | -| Supported decorators | The compiler only supports metadata for the [Angular decorators in the `@angular/core` module](/api?type=decorator). | -| Function calls | Factory functions must be exported, named functions. The AOT compiler does not support lambda expressions \("arrow functions"\) for factory functions. | +| Compiler action | Details | +| :------------------- | :------------------------------------------------------------------------------------------------------------------- | +| New instances | The compiler only allows metadata that create instances of the class `InjectionToken` from `@angular/core`. | +| Supported decorators | The compiler only supports metadata for the [Angular decorators in the `@angular/core` module](/api?type=decorator). | ### Functions and static method calls @@ -327,43 +289,6 @@ The Angular [`RouterModule`](api/router/RouterModule) exports two macro static m Review the [source code](https://github.com/angular/angular/blob/main/packages/router/src/router_module.ts#L139 'RouterModule.forRoot source code') for these methods to see how macros can simplify configuration of complex [NgModules](guide/ngmodules/overview). -### Metadata rewriting - -The compiler treats object literals containing the fields `useClass`, `useValue`, `useFactory`, and `data` specially, converting the expression initializing one of these fields into an exported variable that replaces the expression. -This process of rewriting these expressions removes all the restrictions on what can be in them because -the compiler doesn't need to know the expression's value — it just needs to be able to generate a reference to the value. - -You might write something like: - -```ts -class TypicalServer {} - -@NgModule({ - providers: [{provide: SERVER, useFactory: () => TypicalServer}], -}) -export class TypicalModule {} -``` - -Without rewriting, this would be invalid because lambdas are not supported and `TypicalServer` is not exported. -To allow this, the compiler automatically rewrites this to something like: - -```ts -class TypicalServer {} - -export const θ0 = () => new TypicalServer(); - -@NgModule({ - providers: [{provide: SERVER, useFactory: θ0}], -}) -export class TypicalModule {} -``` - -This allows the compiler to generate a reference to `θ0` in the factory without having to know what the value of `θ0` contains. - -The compiler does the rewriting during the emit of the `.js` file. -It does not, however, rewrite the `.d.ts` file, so TypeScript doesn't recognize it as being an export. -And it does not interfere with the ES module's exported API. - ## Phase 3: Template type checking One of the Angular compiler's most helpful features is the ability to type-check expressions within templates, and catch any errors before they cause crashes at runtime. diff --git a/adev/src/content/tools/cli/aot-metadata-errors.md b/adev/src/content/tools/cli/aot-metadata-errors.md index d954c78bcd20..9de616796cc0 100644 --- a/adev/src/content/tools/cli/aot-metadata-errors.md +++ b/adev/src/content/tools/cli/aot-metadata-errors.md @@ -185,37 +185,6 @@ export abstract class MyStrategy { } … ``` -## Reference to a non-exported function - -HELPFUL: _Metadata referenced a function that wasn't exported._ - -For example, you may have set a providers `useFactory` property to a locally defined function that you neglected to export. - -```ts -// ERROR -function myStrategy() { … } - - … - providers: [ - { provide: MyStrategy, useFactory: myStrategy } - ] - … -``` - -Angular generates a class factory in a separate module and that factory [can only access exported functions](tools/cli/aot-compiler#public-or-protected-symbols). -To correct this error, export the function. - -```ts -// CORRECTED -export function myStrategy() { … } - - … - providers: [ - { provide: MyStrategy, useFactory: myStrategy } - ] - … -``` - ## Destructured variable or constant not supported HELPFUL: _Referencing an exported destructured variable or constant is not supported by the template compiler. Consider simplifying this to avoid destructuring._ diff --git a/adev/src/content/tools/cli/schematics-for-libraries.md b/adev/src/content/tools/cli/schematics-for-libraries.md index ff6eeb418d1e..e7d4ca1718a2 100644 --- a/adev/src/content/tools/cli/schematics-for-libraries.md +++ b/adev/src/content/tools/cli/schematics-for-libraries.md @@ -149,7 +149,7 @@ Schematic templates support special syntax to execute code and variable substitu 1. Create a file named `__name@dasherize__.service.ts.template` that defines a template to use for generating files. This template will generate a service that already has Angular's `HttpClient` injected into an `http` property. - ```ts {header:projects/my-lib/schematics/my-service/files/__name@dasherize__.service.ts.template (Schematic Template)} + ```ts {header: "projects/my-lib/schematics/my-service/files/__name@dasherize__.service.ts.template (Schematic Template)"} import { Service } from '@angular/core'; import { HttpClient } from '@angular/common/http'; diff --git a/adev/src/content/tools/devtools/injectors.md b/adev/src/content/tools/devtools/injectors.md index f84a95aa0533..89b699c1ba39 100644 --- a/adev/src/content/tools/devtools/injectors.md +++ b/adev/src/content/tools/devtools/injectors.md @@ -1,14 +1,14 @@ -## Inspect your injectors +# Inspect your injectors NOTE: The Injector Tree is available for Angular Applications built with version 17 or higher. -### View the injector hierarchy of your application +## View the injector hierarchy of your application The **Injector Tree** tab lets you explore the structure of the Injectors configured in your application. Here you will see two trees representing the [injector hierarchy](guide/di/hierarchical-dependency-injection) of your application. One tree is your environment hierarchy, the other is your element hierarchy. A screenshot of the 'Profiler' tab displaying the injector tree tab in Angular Devtools visualizing the injector graph for an example application. -### Visualize resolution paths +## Visualize resolution paths When a specific injector is selected, the path that Angular's dependency injection algorithm traverses from that injector to the root is highlighted. For element injectors, this includes highlighting the environment injectors that the dependency injection algorithm jumps to when a dependency cannot be resolved in the element hierarchy. @@ -16,7 +16,7 @@ See [resolution rules](guide/di/hierarchical-dependency-injection#resolution-rul A screenshot of the 'Profiler' tab displaying how the injector tree visualize highlights resolution paths when an injector is selected. -### View injector providers +## View injector providers Clicking an injector that has configured providers will display those providers in a list on the right of the injector tree view. Here you can view the provided token and it's type. The button on the right of each provider allows you to log the provider in the console. diff --git a/adev/src/content/tutorials/first-app/steps/11-details-page/src/app/housing-location/housing-location.ts b/adev/src/content/tutorials/first-app/steps/11-details-page/src/app/housing-location/housing-location.ts index 84de14b417f7..5faee8bcc362 100644 --- a/adev/src/content/tutorials/first-app/steps/11-details-page/src/app/housing-location/housing-location.ts +++ b/adev/src/content/tutorials/first-app/steps/11-details-page/src/app/housing-location/housing-location.ts @@ -13,7 +13,7 @@ import {RouterLink} from '@angular/router'; alt="Exterior photo of {{ housingLocation().name }}" crossorigin /> -

{{ housingLocatio()).name }}

+

{{ housingLocation().name }}

{{ housingLocation().city }}, {{ housingLocation().state }}

`, diff --git a/adev/src/content/tutorials/learn-angular/steps/15-forms/README.md b/adev/src/content/tutorials/learn-angular/steps/15-forms/README.md index 14bf71333423..79a2bb39357e 100644 --- a/adev/src/content/tutorials/learn-angular/steps/15-forms/README.md +++ b/adev/src/content/tutorials/learn-angular/steps/15-forms/README.md @@ -31,7 +31,7 @@ For this form to use Angular features that enable data binding to forms, you'll Import the `FormsModule` from `@angular/forms` and add it to the `imports` array of the `User`. -```ts {highlight:[2,6]} +```ts {highlight:[[2],[6]]} import {Component} from '@angular/core'; import {FormsModule} from '@angular/forms'; diff --git a/dev-app/package.json b/dev-app/package.json index 13cb409dcf14..e5bcb87317d7 100644 --- a/dev-app/package.json +++ b/dev-app/package.json @@ -15,13 +15,13 @@ "@angular/platform-server": "workspace:*", "@angular/localize": "workspace:*", "@angular/router": "workspace:*", - "@angular/ssr": "22.1.7", + "@angular/ssr": "22.1.8", "rxjs": "~7.8.0", "tslib": "^2.3.0" }, "devDependencies": { - "@angular/build": "22.1.7", - "@angular/cli": "22.1.7", + "@angular/build": "22.1.8", + "@angular/cli": "22.1.8", "@angular/compiler-cli": "workspace:*", "jsdom": "^29.0.0", "typescript": "~6.0.2", diff --git a/devtools/projects/ng-devtools-backend/src/lib/directive-forest/component-tree/BUILD.bazel b/devtools/projects/ng-devtools-backend/src/lib/directive-forest/component-tree/BUILD.bazel index f55d384bce9d..1505cfddd059 100644 --- a/devtools/projects/ng-devtools-backend/src/lib/directive-forest/component-tree/BUILD.bazel +++ b/devtools/projects/ng-devtools-backend/src/lib/directive-forest/component-tree/BUILD.bazel @@ -35,6 +35,7 @@ ts_test_library( ":get-roots", "//:node_modules/@angular/core", "//:node_modules/jasmine", + "//devtools/projects/ng-devtools-backend/src/lib/directive-forest:core-enums", ], ) diff --git a/devtools/projects/ng-devtools-backend/src/lib/directive-forest/component-tree/component-tree.spec.ts b/devtools/projects/ng-devtools-backend/src/lib/directive-forest/component-tree/component-tree.spec.ts index 57ad54703f3d..5c061deba236 100644 --- a/devtools/projects/ng-devtools-backend/src/lib/directive-forest/component-tree/component-tree.spec.ts +++ b/devtools/projects/ng-devtools-backend/src/lib/directive-forest/component-tree/component-tree.spec.ts @@ -13,10 +13,12 @@ import { InjectionToken, } from '@angular/core'; import { + getDirectiveCdStrategy, getInjectorFromElementNode, getRootElements, serializeProviderRecord, } from './component-tree'; +import {ChangeDetectionStrategy, Framework} from '../core-enums'; type Ng = ɵExternalCoreGlobalUtils; const NG_VERSION = 'ng-version'; @@ -183,4 +185,23 @@ describe('component-tree', () => { expect(result.token).toBe('InjectionToken (FOO)'); }); }); + + describe('getDirectiveCdStrategy', () => { + it('returns change detection strategy when passed valid component', () => { + const ng: Partial = { + getDirectiveMetadata: jasmine.createSpy('getDirectiveMetadata').and.returnValue({ + framework: Framework.Angular, + changeDetection: ChangeDetectionStrategy.OnPush, + } as any), + }; + (globalThis as any).ng = ng; + + const result = getDirectiveCdStrategy({ + instance: {}, + name: 'Foo', + isElement: false, + }); + expect(result).toBe('ng-on-push'); + }); + }); }); diff --git a/devtools/projects/ng-devtools-backend/src/lib/directive-forest/component-tree/component-tree.ts b/devtools/projects/ng-devtools-backend/src/lib/directive-forest/component-tree/component-tree.ts index 689ce5b5b55e..effe57afb037 100644 --- a/devtools/projects/ng-devtools-backend/src/lib/directive-forest/component-tree/component-tree.ts +++ b/devtools/projects/ng-devtools-backend/src/lib/directive-forest/component-tree/component-tree.ts @@ -228,9 +228,9 @@ const enum DirectiveMetadataKey { // Gets directive metadata. For newer versions of Angular (v12+) it uses // the global `getDirectiveMetadata`. For prior versions of the framework // the method directly interacts with the directive/component definition. -const getDirectiveMetadata = (dir: any): DirectiveMetadata => { - const getMetadata = ngDebugClient().getDirectiveMetadata!; - const metadata = getMetadata?.(dir); +function getDirectiveMetadata(dir: any): DirectiveMetadata { + const getMetadata = ngDebugClient().getDirectiveMetadata; + const metadata = dir ? getMetadata?.(dir) : null; if (metadata) { const {framework} = metadata; switch (framework) { @@ -287,9 +287,9 @@ const getDirectiveMetadata = (dir: any): DirectiveMetadata => { encapsulation: safelyGrabMetadata(DirectiveMetadataKey.ENCAPSULATION), changeDetection: safelyGrabMetadata(DirectiveMetadataKey.CHANGE_DETECTION), }; -}; +} -export function getDirectiveCdStrategy(dir: any): ChangeDetection | undefined { +export function getDirectiveCdStrategy(dir: ComponentInstanceType): ChangeDetection | undefined { const metadata = getDirectiveMetadata(dir.instance); switch (metadata.framework) { diff --git a/devtools/projects/ng-devtools-backend/src/lib/shared/ng-debug-api/ng-debug-api.spec.ts b/devtools/projects/ng-devtools-backend/src/lib/shared/ng-debug-api/ng-debug-api.spec.ts index e5f723c3ad84..ceb7d736bb51 100644 --- a/devtools/projects/ng-devtools-backend/src/lib/shared/ng-debug-api/ng-debug-api.spec.ts +++ b/devtools/projects/ng-devtools-backend/src/lib/shared/ng-debug-api/ng-debug-api.spec.ts @@ -114,6 +114,23 @@ describe('ng-debug-api', () => { expect(ngDebugRoutesApiIsSupported()).toBeFalse(); }); + + it('should ignore elements where getComponent returns null (e.g. extension elements)', () => { + const foreignRoot = document.createElement('foreign-extension-app'); + foreignRoot.setAttribute('ng-version', '0.0.0-PLACEHOLDER'); + document.body.appendChild(foreignRoot); + + try { + const fakeNg = fakeNgGlobal(Framework.Angular); + const originalGetComponent = fakeNg.getComponent!; + fakeNg.getComponent = (el) => (el === foreignRoot ? null : originalGetComponent(el)); + (globalThis as any).ng = fakeNg; + + expect(ngDebugProfilerApiIsSupported()).toBeTrue(); + } finally { + foreignRoot.remove(); + } + }); }); describe('ngDebugRoutesApiIsSupported', () => { @@ -191,5 +208,22 @@ describe('ng-debug-api', () => { (globalThis as any).ng = fakeNgGlobal(Framework.ACX); expect(ngDebugSignalPropertiesInspectionApiIsSupported()).toBeFalse(); }); + + it('should ignore elements where getComponent returns null (e.g. extension elements)', () => { + const foreignRoot = document.createElement('foreign-extension-app'); + foreignRoot.setAttribute('ng-version', '0.0.0-PLACEHOLDER'); + document.body.appendChild(foreignRoot); + + try { + const fakeNg = fakeNgGlobal(Framework.Angular); + const originalGetComponent = fakeNg.getComponent!; + fakeNg.getComponent = (el) => (el === foreignRoot ? null : originalGetComponent(el)); + (globalThis as any).ng = fakeNg; + + expect(ngDebugSignalPropertiesInspectionApiIsSupported()).toBeTrue(); + } finally { + foreignRoot.remove(); + } + }); }); }); diff --git a/devtools/projects/ng-devtools-backend/src/lib/shared/ng-debug-api/ng-debug-api.ts b/devtools/projects/ng-devtools-backend/src/lib/shared/ng-debug-api/ng-debug-api.ts index fe2101039ae1..eace2aa1e0af 100644 --- a/devtools/projects/ng-devtools-backend/src/lib/shared/ng-debug-api/ng-debug-api.ts +++ b/devtools/projects/ng-devtools-backend/src/lib/shared/ng-debug-api/ng-debug-api.ts @@ -58,7 +58,7 @@ export function ngDebugProfilerApiIsSupported(): boolean { // Temporary solution. Convert to an eligible API when available. // https://github.com/angular/angular/pull/60585#discussion_r2017047132 // If there is a Wiz application, make Profiler API unavailable. - const roots = getAppRoots(); + const roots = getAppRoots().filter((el) => ng.getComponent?.(el)); return ( !!roots.length && !roots.some((el) => { @@ -98,7 +98,7 @@ export function ngDebugSignalPropertiesInspectionApiIsSupported(): boolean { const ng = ngDebugClient(); // If all apps are Angular, make the API available. - const roots = getAppRoots(); + const roots = getAppRoots().filter((el) => ng.getComponent?.(el)); return ( !!roots.length && roots.every((el) => { diff --git a/integration/animations/package.json b/integration/animations/package.json index 26b3fdc5fe99..d28f373f7810 100644 --- a/integration/animations/package.json +++ b/integration/animations/package.json @@ -11,7 +11,7 @@ }, "private": true, "dependencies": { - "@angular/cdk": "22.1.6", + "@angular/cdk": "22.1.7", "@angular/common": "link:./in-existing-linked-by-bazel", "@angular/compiler": "link:./in-existing-linked-by-bazel", "@angular/core": "link:./in-existing-linked-by-bazel", @@ -19,15 +19,15 @@ "@angular/platform-browser": "link:./in-existing-linked-by-bazel", "@angular/platform-browser-dynamic": "link:./in-existing-linked-by-bazel", "@angular/router": "link:./in-existing-linked-by-bazel", - "@angular/ssr": "22.1.7", + "@angular/ssr": "22.1.8", "rxjs": "^7.0.0", "tslib": "^2.3.0", "zone.js": "0.16.2" }, "devDependencies": { - "@angular-devkit/build-angular": "22.1.7", - "@angular/build": "22.1.7", - "@angular/cli": "22.1.7", + "@angular-devkit/build-angular": "22.1.8", + "@angular/build": "22.1.8", + "@angular/cli": "22.1.8", "@angular/compiler-cli": "link:./in-existing-linked-by-bazel", "@types/jasmine": "^6.0.0", "@types/node": "^20.14.8", @@ -38,5 +38,5 @@ "ts-node": "^10.9.1", "typescript": "6.0.3" }, - "packageManager": "pnpm@11.25.0" + "packageManager": "pnpm@11.26.0" } diff --git a/integration/animations/pnpm-lock.yaml b/integration/animations/pnpm-lock.yaml index e444e3c53ed5..0d1b42b04915 100644 --- a/integration/animations/pnpm-lock.yaml +++ b/integration/animations/pnpm-lock.yaml @@ -9,8 +9,8 @@ importers: .: dependencies: '@angular/cdk': - specifier: 22.1.6 - version: 22.1.6(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/forms@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(rxjs@7.8.2) + specifier: 22.1.7 + version: 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/forms@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(rxjs@7.8.2) '@angular/common': specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel @@ -33,8 +33,8 @@ importers: specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel '@angular/ssr': - specifier: 22.1.7 - version: 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) + specifier: 22.1.8 + version: 22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) rxjs: specifier: ^7.0.0 version: 7.8.2 @@ -46,14 +46,14 @@ importers: version: 0.16.2 devDependencies: '@angular-devkit/build-angular': - specifier: 22.1.7 - version: 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@10.2.2))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@10.2.2)(typescript@6.0.3) + specifier: 22.1.8 + version: 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@10.2.2))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@10.2.2)(typescript@6.0.3) '@angular/build': - specifier: 22.1.7 - version: 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.26)(supports-color@10.2.2)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3) + specifier: 22.1.8 + version: 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.26)(supports-color@10.2.2)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/cli': - specifier: 22.1.7 - version: 22.1.7(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@10.2.2) + specifier: 22.1.8 + version: 22.1.8(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@10.2.2) '@angular/compiler-cli': specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel @@ -88,13 +88,13 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@angular-devkit/architect@0.2201.7': - resolution: {integrity: sha512-qffChB0+3WuLcwDk9gx3p/Vl3zYJDomweui5zsLESDMzvJ8zsbKRkgohTieOngajx+XBsklp0gKcxjiVn4NvWQ==} + '@angular-devkit/architect@0.2201.8': + resolution: {integrity: sha512-EUQo8RDS1my2Bo5FRS+gBYgz1/klfIp9XESfMpTBO04nBkjF6DkPCeOxeAf1CYjWy9nCXcWn968eSdEhV5jXiA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true - '@angular-devkit/build-angular@22.1.7': - resolution: {integrity: sha512-bg2Lp9JyT2fyWzXF1DeKxDjmIVfs1KJiy1JjFo7wUGA7G4cI6PC8Jrw20F2Qkj+biXcUoeYMKCbbMBBU8xTIVw==} + '@angular-devkit/build-angular@22.1.8': + resolution: {integrity: sha512-UH75aJJ5lBpnu3QtC+WygE0Z5dESDLibNQ0jbcot4L7jnT/fLPWbffWp2WHvIjaUybVj/sh441N9rCiy0YMN3Q==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} deprecated: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead. peerDependencies: @@ -104,7 +104,7 @@ packages: '@angular/platform-browser': ^22.0.0 '@angular/platform-server': ^22.0.0 '@angular/service-worker': ^22.0.0 - '@angular/ssr': ^22.1.7 + '@angular/ssr': ^22.1.8 browser-sync: ^3.0.2 karma: ^6.3.0 ng-packagr: ^22.0.0 @@ -132,15 +132,15 @@ packages: tailwindcss: optional: true - '@angular-devkit/build-webpack@0.2201.7': - resolution: {integrity: sha512-bSF5s9B0RFBdOhCIFrv2idqtxYESi7LL6YQFctFnx4FcQp+mTU+ZomE2byO7ZxW5T3nuu9JHVFX5W2/xN34cJQ==} + '@angular-devkit/build-webpack@0.2201.8': + resolution: {integrity: sha512-T9Fl7Qcy40UFZaiGAY9ieJC3cgTTupS/eAncKTeuSdqCHpZn+IMhU+Nyl7C2yE4VZe3KCk8CGGKS3g4TmyH/QQ==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: webpack: ^5.30.0 webpack-dev-server: ^5.0.2 - '@angular-devkit/core@22.1.7': - resolution: {integrity: sha512-RKayeOOjhcIe/iBOM1fmtI5pjXwBEJh+u55VnSeIwYvFNXyxI0/jdRw4T6uhwusQ+1bzyya4d8q1mT9oaOQ/5A==} + '@angular-devkit/core@22.1.8': + resolution: {integrity: sha512-34lsgg2FwMVBX7nR/ZqzRUcdvdYPvSB8XAEr2GudXAyZwLI9ehzfQlagAWR/gEb8p4uCFZW0r7uU0toxydq4Rw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: chokidar: ^5.0.0 @@ -148,12 +148,12 @@ packages: chokidar: optional: true - '@angular-devkit/schematics@22.1.7': - resolution: {integrity: sha512-KOcVeT4MCsoPt6AMnXH7AbWZnzlKXhMyua2ITWij4UbLaNWCDwfIug/xrZssYLHUFwebCIqsR8iuG/BPH8Cz2w==} + '@angular-devkit/schematics@22.1.8': + resolution: {integrity: sha512-Pv3cPa/44kvEwYcqwx4Ns5dhIDmcFNSHhbpheqiEG1Z/u4e2t4zHKDtE3eHZB+8o+IcC7xJj+d+AqGR44RoZDA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - '@angular/build@22.1.7': - resolution: {integrity: sha512-YNZL3R2YS1qZud9zbJfW3ZSeEB0xAURBJEE0cf7WRCCwkn7NFlH7xXLW/zR+WRBwtcCBRsLrM2/ix3Y8FoKX9A==} + '@angular/build@22.1.8': + resolution: {integrity: sha512-tw+Evk0EITb8p8dTu743ONoFztCEiyDkdRbtZsh7C0vBS7Q9ElsOcFeg2Z9OAAwrmtZMIBuW3jrdPRQp7OCSdw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: '@angular/compiler': ^22.0.0 @@ -163,7 +163,7 @@ packages: '@angular/platform-browser': ^22.0.0 '@angular/platform-server': ^22.0.0 '@angular/service-worker': ^22.0.0 - '@angular/ssr': ^22.1.7 + '@angular/ssr': ^22.1.8 istanbul-lib-instrument: ^6.0.0 karma: ^6.4.0 less: ^4.2.0 @@ -204,8 +204,8 @@ packages: vitest: optional: true - '@angular/cdk@22.1.6': - resolution: {integrity: sha512-4eHSs/sIIp1mesNKFDkDTYDhfB/3/Bpfjzv/PbybsKVd642FTa3IAbjWf3uqHS/V7mpucF3Q5gSpirZHDgxwrg==} + '@angular/cdk@22.1.7': + resolution: {integrity: sha512-TN4pPExBZ6ZbxWnfVb77M/0cL83eRY3qpHv/R9Y1KhkNXlxdocd0My7wiueWBBimYacSpBnfHrIRNmHgX7Pc4Q==} peerDependencies: '@angular/common': ^22.0.0 || ^23.0.0 '@angular/core': ^22.0.0 || ^23.0.0 @@ -213,13 +213,13 @@ packages: '@angular/platform-browser': ^22.0.0 || ^23.0.0 rxjs: ^6.5.3 || ^7.4.0 - '@angular/cli@22.1.7': - resolution: {integrity: sha512-dsOAAPHTXSrTvH5jIdZsFhqmcrTU9+aLXPSYSkQ1afMxPUT/JDjWH228xURYmCaM3ml0vVaT9R2p7/FrS7CJmg==} + '@angular/cli@22.1.8': + resolution: {integrity: sha512-MFN/FydqDndai8vF12hDxG5RlBt1HUUheeJgJNmuHYIne4bOAfOT+xuMpIK8+gLSRwCemdqR3OMM38pnsFJ/nA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true - '@angular/ssr@22.1.7': - resolution: {integrity: sha512-fX766QHDeiMTIa+D1/OQaCMyW0EKO7nR+hUBcCd9gOcu3dMr3JnugEmLYReCCkQNKRjMmALSs7QS7o+ptrKsKg==} + '@angular/ssr@22.1.8': + resolution: {integrity: sha512-D/Is+0dXrFrYeWa3CGqN/inp73pvz+zMrje3wOAR22SBQSV4qPeY8Y4NuR8EflwMwsfiNAfGBYSDQs1WsEx+bQ==} peerDependencies: '@angular/common': ^22.0.0 '@angular/core': ^22.0.0 @@ -1479,8 +1479,8 @@ packages: '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4 '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.4 - '@ngtools/webpack@22.1.7': - resolution: {integrity: sha512-1cqXgu5DnINuZ1pJ4ZsiyLOFDXzEGkKNdMcBuQ73WVXRhE8CwN0bdHyjEW+gOff2QXAsB2uulk7e3XO52QCA3w==} + '@ngtools/webpack@22.1.8': + resolution: {integrity: sha512-U8VA7iaxDjSWaUOmYmcK1JjrQczoGQeq4QbBwFHo1ET3ArshIDtaiXkvuIwUDHBL4N2yGHAgEZZee8ChJvz77w==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} deprecated: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead. peerDependencies: @@ -1963,8 +1963,8 @@ packages: '@rolldown/pluginutils@1.0.1': resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} - '@schematics/angular@22.1.7': - resolution: {integrity: sha512-acBv147JjnwtWFgC8Af0KFBzPpb/TWaYxoWN/Ou3pXtUhYiEqnrdJeoFz3ssDw26eKFIdWnVBLB/dHORBykPBg==} + '@schematics/angular@22.1.8': + resolution: {integrity: sha512-V37T9uHOQVHyxxOqwcJ9xjSIW/mW9UuSfjOc7WJE4V8+3zj0abDJLHuoxDZKe0icYGapgOcvHyYjtNOjSeSivw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} '@tsconfig/node10@1.0.13': @@ -4336,20 +4336,20 @@ snapshots: '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 - '@angular-devkit/architect@0.2201.7(chokidar@5.0.0)': + '@angular-devkit/architect@0.2201.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) rxjs: 7.8.2 transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@10.2.2))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@10.2.2)(typescript@6.0.3)': + '@angular-devkit/build-angular@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@10.2.2))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@10.2.2)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) - '@angular-devkit/build-webpack': 0.2201.7(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular/build': 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.25)(supports-color@10.2.2)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) + '@angular-devkit/build-webpack': 0.2201.8(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular/build': 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.25)(supports-color@10.2.2)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3) '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 '@babel/generator': 8.0.0 @@ -4361,7 +4361,7 @@ snapshots: '@babel/preset-env': 8.0.2(@babel/core@8.0.1) '@babel/runtime': 8.0.0 '@discoveryjs/json-ext': 1.1.0 - '@ngtools/webpack': 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) + '@ngtools/webpack': 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) ansi-colors: 4.1.3 autoprefixer: 10.5.4(postcss@8.5.25) babel-loader: 10.1.1(@babel/core@8.0.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) @@ -4403,7 +4403,7 @@ snapshots: optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel '@angular/platform-browser': link:in-existing-linked-by-bazel - '@angular/ssr': 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) + '@angular/ssr': 22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) esbuild: 0.28.2 transitivePeerDependencies: - '@angular/compiler' @@ -4437,16 +4437,16 @@ snapshots: - webpack-cli - yaml - '@angular-devkit/build-webpack@0.2201.7(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': + '@angular-devkit/build-webpack@0.2201.8(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': dependencies: - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) rxjs: 7.8.2 webpack: 5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25) webpack-dev-server: 5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) transitivePeerDependencies: - chokidar - '@angular-devkit/core@22.1.7(chokidar@5.0.0)': + '@angular-devkit/core@22.1.8(chokidar@5.0.0)': dependencies: ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) @@ -4457,9 +4457,9 @@ snapshots: optionalDependencies: chokidar: 5.0.0 - '@angular-devkit/schematics@22.1.7(chokidar@5.0.0)': + '@angular-devkit/schematics@22.1.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 magic-string: 1.0.0 ora: 9.4.1 @@ -4467,10 +4467,10 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular/build@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.25)(supports-color@10.2.2)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.25)(supports-color@10.2.2)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) '@angular/compiler': link:in-existing-linked-by-bazel '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 @@ -4502,7 +4502,7 @@ snapshots: optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel '@angular/platform-browser': link:in-existing-linked-by-bazel - '@angular/ssr': 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) + '@angular/ssr': 22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) istanbul-lib-instrument: 6.0.3(supports-color@10.2.2) less: 4.9.0(supports-color@10.2.2) lmdb: 3.5.6 @@ -4521,10 +4521,10 @@ snapshots: - tsx - yaml - '@angular/build@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.26)(supports-color@10.2.2)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.26)(supports-color@10.2.2)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) '@angular/compiler': link:in-existing-linked-by-bazel '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 @@ -4556,7 +4556,7 @@ snapshots: optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel '@angular/platform-browser': link:in-existing-linked-by-bazel - '@angular/ssr': 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) + '@angular/ssr': 22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) istanbul-lib-instrument: 6.0.3(supports-color@10.2.2) less: 4.9.0(supports-color@10.2.2) lmdb: 3.5.6 @@ -4575,7 +4575,7 @@ snapshots: - tsx - yaml - '@angular/cdk@22.1.6(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/forms@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(rxjs@7.8.2)': + '@angular/cdk@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/forms@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(rxjs@7.8.2)': dependencies: '@angular/common': link:in-existing-linked-by-bazel '@angular/core': link:in-existing-linked-by-bazel @@ -4585,15 +4585,15 @@ snapshots: rxjs: 7.8.2 tslib: 2.8.1 - '@angular/cli@22.1.7(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@10.2.2)': + '@angular/cli@22.1.8(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@10.2.2)': dependencies: - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular-devkit/schematics': 22.1.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.1.8(chokidar@5.0.0) '@inquirer/prompts': 8.5.2(@types/node@20.19.43) '@listr2/prompt-adapter-inquirer': 4.2.5(@inquirer/prompts@8.5.2(@types/node@20.19.43))(@types/node@20.19.43)(listr2@11.0.0) '@modelcontextprotocol/sdk': 1.30.0(supports-color@10.2.2)(zod@4.4.3) - '@schematics/angular': 22.1.7(chokidar@5.0.0) + '@schematics/angular': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 listr2: 11.0.0 npm-package-arg: 14.0.0 @@ -4607,7 +4607,7 @@ snapshots: - chokidar - supports-color - '@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel)': + '@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel)': dependencies: '@angular/common': link:in-existing-linked-by-bazel '@angular/core': link:in-existing-linked-by-bazel @@ -5861,7 +5861,7 @@ snapshots: '@tybys/wasm-util': 0.10.3 optional: true - '@ngtools/webpack@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': + '@ngtools/webpack@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': dependencies: '@angular/compiler-cli': link:in-existing-linked-by-bazel typescript: 6.0.3 @@ -6195,10 +6195,10 @@ snapshots: '@rolldown/pluginutils@1.0.1': {} - '@schematics/angular@22.1.7(chokidar@5.0.0)': + '@schematics/angular@22.1.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular-devkit/schematics': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 typescript: 6.0.3 transitivePeerDependencies: diff --git a/integration/cli-hello-world-ivy-i18n/package.json b/integration/cli-hello-world-ivy-i18n/package.json index f85d04a07181..aff2b26667d9 100644 --- a/integration/cli-hello-world-ivy-i18n/package.json +++ b/integration/cli-hello-world-ivy-i18n/package.json @@ -29,9 +29,9 @@ "zone.js": "0.16.2" }, "devDependencies": { - "@angular-devkit/build-angular": "22.1.7", - "@angular/build": "22.1.7", - "@angular/cli": "22.1.7", + "@angular-devkit/build-angular": "22.1.8", + "@angular/build": "22.1.8", + "@angular/cli": "22.1.8", "@angular/compiler-cli": "link:./in-existing-linked-by-bazel", "@types/jasmine": "^6.0.0", "@types/jasminewd2": "^2.0.8", @@ -45,5 +45,5 @@ "ts-node": "^10.9.1", "typescript": "6.0.3" }, - "packageManager": "pnpm@11.25.0" + "packageManager": "pnpm@11.26.0" } diff --git a/integration/cli-hello-world-ivy-i18n/pnpm-lock.yaml b/integration/cli-hello-world-ivy-i18n/pnpm-lock.yaml index 0e2f40dc57a3..68ffd0dd7320 100644 --- a/integration/cli-hello-world-ivy-i18n/pnpm-lock.yaml +++ b/integration/cli-hello-world-ivy-i18n/pnpm-lock.yaml @@ -40,14 +40,14 @@ importers: version: 0.16.2 devDependencies: '@angular-devkit/build-angular': - specifier: 22.1.7 - version: 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@10.2.2))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@10.2.2)(typescript@6.0.3) + specifier: 22.1.8 + version: 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@10.2.2))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@10.2.2)(typescript@6.0.3) '@angular/build': - specifier: 22.1.7 - version: 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.26)(supports-color@10.2.2)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3) + specifier: 22.1.8 + version: 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.26)(supports-color@10.2.2)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/cli': - specifier: 22.1.7 - version: 22.1.7(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@10.2.2) + specifier: 22.1.8 + version: 22.1.8(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@10.2.2) '@angular/compiler-cli': specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel @@ -91,13 +91,13 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@angular-devkit/architect@0.2201.7': - resolution: {integrity: sha512-qffChB0+3WuLcwDk9gx3p/Vl3zYJDomweui5zsLESDMzvJ8zsbKRkgohTieOngajx+XBsklp0gKcxjiVn4NvWQ==} + '@angular-devkit/architect@0.2201.8': + resolution: {integrity: sha512-EUQo8RDS1my2Bo5FRS+gBYgz1/klfIp9XESfMpTBO04nBkjF6DkPCeOxeAf1CYjWy9nCXcWn968eSdEhV5jXiA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true - '@angular-devkit/build-angular@22.1.7': - resolution: {integrity: sha512-bg2Lp9JyT2fyWzXF1DeKxDjmIVfs1KJiy1JjFo7wUGA7G4cI6PC8Jrw20F2Qkj+biXcUoeYMKCbbMBBU8xTIVw==} + '@angular-devkit/build-angular@22.1.8': + resolution: {integrity: sha512-UH75aJJ5lBpnu3QtC+WygE0Z5dESDLibNQ0jbcot4L7jnT/fLPWbffWp2WHvIjaUybVj/sh441N9rCiy0YMN3Q==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} deprecated: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead. peerDependencies: @@ -107,7 +107,7 @@ packages: '@angular/platform-browser': ^22.0.0 '@angular/platform-server': ^22.0.0 '@angular/service-worker': ^22.0.0 - '@angular/ssr': ^22.1.7 + '@angular/ssr': ^22.1.8 browser-sync: ^3.0.2 karma: ^6.3.0 ng-packagr: ^22.0.0 @@ -135,15 +135,15 @@ packages: tailwindcss: optional: true - '@angular-devkit/build-webpack@0.2201.7': - resolution: {integrity: sha512-bSF5s9B0RFBdOhCIFrv2idqtxYESi7LL6YQFctFnx4FcQp+mTU+ZomE2byO7ZxW5T3nuu9JHVFX5W2/xN34cJQ==} + '@angular-devkit/build-webpack@0.2201.8': + resolution: {integrity: sha512-T9Fl7Qcy40UFZaiGAY9ieJC3cgTTupS/eAncKTeuSdqCHpZn+IMhU+Nyl7C2yE4VZe3KCk8CGGKS3g4TmyH/QQ==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: webpack: ^5.30.0 webpack-dev-server: ^5.0.2 - '@angular-devkit/core@22.1.7': - resolution: {integrity: sha512-RKayeOOjhcIe/iBOM1fmtI5pjXwBEJh+u55VnSeIwYvFNXyxI0/jdRw4T6uhwusQ+1bzyya4d8q1mT9oaOQ/5A==} + '@angular-devkit/core@22.1.8': + resolution: {integrity: sha512-34lsgg2FwMVBX7nR/ZqzRUcdvdYPvSB8XAEr2GudXAyZwLI9ehzfQlagAWR/gEb8p4uCFZW0r7uU0toxydq4Rw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: chokidar: ^5.0.0 @@ -151,12 +151,12 @@ packages: chokidar: optional: true - '@angular-devkit/schematics@22.1.7': - resolution: {integrity: sha512-KOcVeT4MCsoPt6AMnXH7AbWZnzlKXhMyua2ITWij4UbLaNWCDwfIug/xrZssYLHUFwebCIqsR8iuG/BPH8Cz2w==} + '@angular-devkit/schematics@22.1.8': + resolution: {integrity: sha512-Pv3cPa/44kvEwYcqwx4Ns5dhIDmcFNSHhbpheqiEG1Z/u4e2t4zHKDtE3eHZB+8o+IcC7xJj+d+AqGR44RoZDA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - '@angular/build@22.1.7': - resolution: {integrity: sha512-YNZL3R2YS1qZud9zbJfW3ZSeEB0xAURBJEE0cf7WRCCwkn7NFlH7xXLW/zR+WRBwtcCBRsLrM2/ix3Y8FoKX9A==} + '@angular/build@22.1.8': + resolution: {integrity: sha512-tw+Evk0EITb8p8dTu743ONoFztCEiyDkdRbtZsh7C0vBS7Q9ElsOcFeg2Z9OAAwrmtZMIBuW3jrdPRQp7OCSdw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: '@angular/compiler': ^22.0.0 @@ -166,7 +166,7 @@ packages: '@angular/platform-browser': ^22.0.0 '@angular/platform-server': ^22.0.0 '@angular/service-worker': ^22.0.0 - '@angular/ssr': ^22.1.7 + '@angular/ssr': ^22.1.8 istanbul-lib-instrument: ^6.0.0 karma: ^6.4.0 less: ^4.2.0 @@ -207,8 +207,8 @@ packages: vitest: optional: true - '@angular/cli@22.1.7': - resolution: {integrity: sha512-dsOAAPHTXSrTvH5jIdZsFhqmcrTU9+aLXPSYSkQ1afMxPUT/JDjWH228xURYmCaM3ml0vVaT9R2p7/FrS7CJmg==} + '@angular/cli@22.1.8': + resolution: {integrity: sha512-MFN/FydqDndai8vF12hDxG5RlBt1HUUheeJgJNmuHYIne4bOAfOT+xuMpIK8+gLSRwCemdqR3OMM38pnsFJ/nA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true @@ -1459,8 +1459,8 @@ packages: '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4 '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.4 - '@ngtools/webpack@22.1.7': - resolution: {integrity: sha512-1cqXgu5DnINuZ1pJ4ZsiyLOFDXzEGkKNdMcBuQ73WVXRhE8CwN0bdHyjEW+gOff2QXAsB2uulk7e3XO52QCA3w==} + '@ngtools/webpack@22.1.8': + resolution: {integrity: sha512-U8VA7iaxDjSWaUOmYmcK1JjrQczoGQeq4QbBwFHo1ET3ArshIDtaiXkvuIwUDHBL4N2yGHAgEZZee8ChJvz77w==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} deprecated: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead. peerDependencies: @@ -1930,8 +1930,8 @@ packages: '@rolldown/pluginutils@1.0.1': resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} - '@schematics/angular@22.1.7': - resolution: {integrity: sha512-acBv147JjnwtWFgC8Af0KFBzPpb/TWaYxoWN/Ou3pXtUhYiEqnrdJeoFz3ssDw26eKFIdWnVBLB/dHORBykPBg==} + '@schematics/angular@22.1.8': + resolution: {integrity: sha512-V37T9uHOQVHyxxOqwcJ9xjSIW/mW9UuSfjOc7WJE4V8+3zj0abDJLHuoxDZKe0icYGapgOcvHyYjtNOjSeSivw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} '@tsconfig/node10@1.0.13': @@ -5301,20 +5301,20 @@ snapshots: '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 - '@angular-devkit/architect@0.2201.7(chokidar@5.0.0)': + '@angular-devkit/architect@0.2201.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) rxjs: 7.8.2 transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@10.2.2))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@10.2.2)(typescript@6.0.3)': + '@angular-devkit/build-angular@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@10.2.2))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@10.2.2)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) - '@angular-devkit/build-webpack': 0.2201.7(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular/build': 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.25)(supports-color@10.2.2)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) + '@angular-devkit/build-webpack': 0.2201.8(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular/build': 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.25)(supports-color@10.2.2)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3) '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 '@babel/generator': 8.0.0 @@ -5326,7 +5326,7 @@ snapshots: '@babel/preset-env': 8.0.2(@babel/core@8.0.1) '@babel/runtime': 8.0.0 '@discoveryjs/json-ext': 1.1.0 - '@ngtools/webpack': 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) + '@ngtools/webpack': 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) ansi-colors: 4.1.3 autoprefixer: 10.5.4(postcss@8.5.25) babel-loader: 10.1.1(@babel/core@8.0.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) @@ -5402,16 +5402,16 @@ snapshots: - webpack-cli - yaml - '@angular-devkit/build-webpack@0.2201.7(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': + '@angular-devkit/build-webpack@0.2201.8(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': dependencies: - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) rxjs: 7.8.2 webpack: 5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25) webpack-dev-server: 5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) transitivePeerDependencies: - chokidar - '@angular-devkit/core@22.1.7(chokidar@5.0.0)': + '@angular-devkit/core@22.1.8(chokidar@5.0.0)': dependencies: ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) @@ -5422,9 +5422,9 @@ snapshots: optionalDependencies: chokidar: 5.0.0 - '@angular-devkit/schematics@22.1.7(chokidar@5.0.0)': + '@angular-devkit/schematics@22.1.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 magic-string: 1.0.0 ora: 9.4.1 @@ -5432,10 +5432,10 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular/build@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.25)(supports-color@10.2.2)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.25)(supports-color@10.2.2)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) '@angular/compiler': link:in-existing-linked-by-bazel '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 @@ -5486,10 +5486,10 @@ snapshots: - tsx - yaml - '@angular/build@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.26)(supports-color@10.2.2)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.26)(supports-color@10.2.2)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) '@angular/compiler': link:in-existing-linked-by-bazel '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 @@ -5540,15 +5540,15 @@ snapshots: - tsx - yaml - '@angular/cli@22.1.7(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@10.2.2)': + '@angular/cli@22.1.8(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@10.2.2)': dependencies: - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular-devkit/schematics': 22.1.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.1.8(chokidar@5.0.0) '@inquirer/prompts': 8.5.2(@types/node@20.19.43) '@listr2/prompt-adapter-inquirer': 4.2.5(@inquirer/prompts@8.5.2(@types/node@20.19.43))(@types/node@20.19.43)(listr2@11.0.0) '@modelcontextprotocol/sdk': 1.30.0(supports-color@10.2.2)(zod@4.4.3) - '@schematics/angular': 22.1.7(chokidar@5.0.0) + '@schematics/angular': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 listr2: 11.0.0 npm-package-arg: 14.0.0 @@ -6807,7 +6807,7 @@ snapshots: '@tybys/wasm-util': 0.10.3 optional: true - '@ngtools/webpack@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': + '@ngtools/webpack@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': dependencies: '@angular/compiler-cli': link:in-existing-linked-by-bazel typescript: 6.0.3 @@ -7136,10 +7136,10 @@ snapshots: '@rolldown/pluginutils@1.0.1': {} - '@schematics/angular@22.1.7(chokidar@5.0.0)': + '@schematics/angular@22.1.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular-devkit/schematics': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 typescript: 6.0.3 transitivePeerDependencies: diff --git a/integration/cli-hello-world-lazy/package.json b/integration/cli-hello-world-lazy/package.json index 37d8e480b3aa..685ce63fcc50 100644 --- a/integration/cli-hello-world-lazy/package.json +++ b/integration/cli-hello-world-lazy/package.json @@ -13,19 +13,19 @@ "@angular/core": "link:./in-existing-linked-by-bazel", "@angular/platform-browser": "link:./in-existing-linked-by-bazel", "@angular/router": "link:./in-existing-linked-by-bazel", - "@angular/ssr": "22.1.7", + "@angular/ssr": "22.1.8", "rxjs": "^7.0.0", "tslib": "^2.3.0", "zone.js": "0.16.2" }, "devDependencies": { - "@angular-devkit/build-angular": "22.1.7", - "@angular/build": "22.1.7", - "@angular/cli": "22.1.7", + "@angular-devkit/build-angular": "22.1.8", + "@angular/build": "22.1.8", + "@angular/cli": "22.1.8", "@angular/compiler-cli": "link:./in-existing-linked-by-bazel", "@types/node": "^20.14.8", "ts-node": "^10.9.1", "typescript": "6.0.3" }, - "packageManager": "pnpm@11.25.0" + "packageManager": "pnpm@11.26.0" } diff --git a/integration/cli-hello-world-lazy/pnpm-lock.yaml b/integration/cli-hello-world-lazy/pnpm-lock.yaml index 38b86a7b2bad..dd37a57e43cc 100644 --- a/integration/cli-hello-world-lazy/pnpm-lock.yaml +++ b/integration/cli-hello-world-lazy/pnpm-lock.yaml @@ -24,8 +24,8 @@ importers: specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel '@angular/ssr': - specifier: 22.1.7 - version: 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) + specifier: 22.1.8 + version: 22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) rxjs: specifier: ^7.0.0 version: 7.8.2 @@ -37,14 +37,14 @@ importers: version: 0.16.2 devDependencies: '@angular-devkit/build-angular': - specifier: 22.1.7 - version: 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@8.1.1))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@8.1.1)(typescript@6.0.3) + specifier: 22.1.8 + version: 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@8.1.1))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@8.1.1)(typescript@6.0.3) '@angular/build': - specifier: 22.1.7 - version: 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(less@4.9.0(supports-color@8.1.1))(postcss@8.5.26)(supports-color@8.1.1)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3) + specifier: 22.1.8 + version: 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(less@4.9.0(supports-color@8.1.1))(postcss@8.5.26)(supports-color@8.1.1)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/cli': - specifier: 22.1.7 - version: 22.1.7(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@8.1.1) + specifier: 22.1.8 + version: 22.1.8(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@8.1.1) '@angular/compiler-cli': specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel @@ -64,13 +64,13 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@angular-devkit/architect@0.2201.7': - resolution: {integrity: sha512-qffChB0+3WuLcwDk9gx3p/Vl3zYJDomweui5zsLESDMzvJ8zsbKRkgohTieOngajx+XBsklp0gKcxjiVn4NvWQ==} + '@angular-devkit/architect@0.2201.8': + resolution: {integrity: sha512-EUQo8RDS1my2Bo5FRS+gBYgz1/klfIp9XESfMpTBO04nBkjF6DkPCeOxeAf1CYjWy9nCXcWn968eSdEhV5jXiA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true - '@angular-devkit/build-angular@22.1.7': - resolution: {integrity: sha512-bg2Lp9JyT2fyWzXF1DeKxDjmIVfs1KJiy1JjFo7wUGA7G4cI6PC8Jrw20F2Qkj+biXcUoeYMKCbbMBBU8xTIVw==} + '@angular-devkit/build-angular@22.1.8': + resolution: {integrity: sha512-UH75aJJ5lBpnu3QtC+WygE0Z5dESDLibNQ0jbcot4L7jnT/fLPWbffWp2WHvIjaUybVj/sh441N9rCiy0YMN3Q==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} deprecated: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead. peerDependencies: @@ -80,7 +80,7 @@ packages: '@angular/platform-browser': ^22.0.0 '@angular/platform-server': ^22.0.0 '@angular/service-worker': ^22.0.0 - '@angular/ssr': ^22.1.7 + '@angular/ssr': ^22.1.8 browser-sync: ^3.0.2 karma: ^6.3.0 ng-packagr: ^22.0.0 @@ -108,15 +108,15 @@ packages: tailwindcss: optional: true - '@angular-devkit/build-webpack@0.2201.7': - resolution: {integrity: sha512-bSF5s9B0RFBdOhCIFrv2idqtxYESi7LL6YQFctFnx4FcQp+mTU+ZomE2byO7ZxW5T3nuu9JHVFX5W2/xN34cJQ==} + '@angular-devkit/build-webpack@0.2201.8': + resolution: {integrity: sha512-T9Fl7Qcy40UFZaiGAY9ieJC3cgTTupS/eAncKTeuSdqCHpZn+IMhU+Nyl7C2yE4VZe3KCk8CGGKS3g4TmyH/QQ==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: webpack: ^5.30.0 webpack-dev-server: ^5.0.2 - '@angular-devkit/core@22.1.7': - resolution: {integrity: sha512-RKayeOOjhcIe/iBOM1fmtI5pjXwBEJh+u55VnSeIwYvFNXyxI0/jdRw4T6uhwusQ+1bzyya4d8q1mT9oaOQ/5A==} + '@angular-devkit/core@22.1.8': + resolution: {integrity: sha512-34lsgg2FwMVBX7nR/ZqzRUcdvdYPvSB8XAEr2GudXAyZwLI9ehzfQlagAWR/gEb8p4uCFZW0r7uU0toxydq4Rw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: chokidar: ^5.0.0 @@ -124,12 +124,12 @@ packages: chokidar: optional: true - '@angular-devkit/schematics@22.1.7': - resolution: {integrity: sha512-KOcVeT4MCsoPt6AMnXH7AbWZnzlKXhMyua2ITWij4UbLaNWCDwfIug/xrZssYLHUFwebCIqsR8iuG/BPH8Cz2w==} + '@angular-devkit/schematics@22.1.8': + resolution: {integrity: sha512-Pv3cPa/44kvEwYcqwx4Ns5dhIDmcFNSHhbpheqiEG1Z/u4e2t4zHKDtE3eHZB+8o+IcC7xJj+d+AqGR44RoZDA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - '@angular/build@22.1.7': - resolution: {integrity: sha512-YNZL3R2YS1qZud9zbJfW3ZSeEB0xAURBJEE0cf7WRCCwkn7NFlH7xXLW/zR+WRBwtcCBRsLrM2/ix3Y8FoKX9A==} + '@angular/build@22.1.8': + resolution: {integrity: sha512-tw+Evk0EITb8p8dTu743ONoFztCEiyDkdRbtZsh7C0vBS7Q9ElsOcFeg2Z9OAAwrmtZMIBuW3jrdPRQp7OCSdw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: '@angular/compiler': ^22.0.0 @@ -139,7 +139,7 @@ packages: '@angular/platform-browser': ^22.0.0 '@angular/platform-server': ^22.0.0 '@angular/service-worker': ^22.0.0 - '@angular/ssr': ^22.1.7 + '@angular/ssr': ^22.1.8 istanbul-lib-instrument: ^6.0.0 karma: ^6.4.0 less: ^4.2.0 @@ -180,13 +180,13 @@ packages: vitest: optional: true - '@angular/cli@22.1.7': - resolution: {integrity: sha512-dsOAAPHTXSrTvH5jIdZsFhqmcrTU9+aLXPSYSkQ1afMxPUT/JDjWH228xURYmCaM3ml0vVaT9R2p7/FrS7CJmg==} + '@angular/cli@22.1.8': + resolution: {integrity: sha512-MFN/FydqDndai8vF12hDxG5RlBt1HUUheeJgJNmuHYIne4bOAfOT+xuMpIK8+gLSRwCemdqR3OMM38pnsFJ/nA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true - '@angular/ssr@22.1.7': - resolution: {integrity: sha512-fX766QHDeiMTIa+D1/OQaCMyW0EKO7nR+hUBcCd9gOcu3dMr3JnugEmLYReCCkQNKRjMmALSs7QS7o+ptrKsKg==} + '@angular/ssr@22.1.8': + resolution: {integrity: sha512-D/Is+0dXrFrYeWa3CGqN/inp73pvz+zMrje3wOAR22SBQSV4qPeY8Y4NuR8EflwMwsfiNAfGBYSDQs1WsEx+bQ==} peerDependencies: '@angular/common': ^22.0.0 '@angular/core': ^22.0.0 @@ -1443,8 +1443,8 @@ packages: '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4 '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.4 - '@ngtools/webpack@22.1.7': - resolution: {integrity: sha512-1cqXgu5DnINuZ1pJ4ZsiyLOFDXzEGkKNdMcBuQ73WVXRhE8CwN0bdHyjEW+gOff2QXAsB2uulk7e3XO52QCA3w==} + '@ngtools/webpack@22.1.8': + resolution: {integrity: sha512-U8VA7iaxDjSWaUOmYmcK1JjrQczoGQeq4QbBwFHo1ET3ArshIDtaiXkvuIwUDHBL4N2yGHAgEZZee8ChJvz77w==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} deprecated: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead. peerDependencies: @@ -1914,8 +1914,8 @@ packages: '@rolldown/pluginutils@1.0.1': resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} - '@schematics/angular@22.1.7': - resolution: {integrity: sha512-acBv147JjnwtWFgC8Af0KFBzPpb/TWaYxoWN/Ou3pXtUhYiEqnrdJeoFz3ssDw26eKFIdWnVBLB/dHORBykPBg==} + '@schematics/angular@22.1.8': + resolution: {integrity: sha512-V37T9uHOQVHyxxOqwcJ9xjSIW/mW9UuSfjOc7WJE4V8+3zj0abDJLHuoxDZKe0icYGapgOcvHyYjtNOjSeSivw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} '@tsconfig/node10@1.0.13': @@ -4194,20 +4194,20 @@ snapshots: '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 - '@angular-devkit/architect@0.2201.7(chokidar@5.0.0)': + '@angular-devkit/architect@0.2201.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) rxjs: 7.8.2 transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@8.1.1))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@8.1.1)(typescript@6.0.3)': + '@angular-devkit/build-angular@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@8.1.1))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@8.1.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) - '@angular-devkit/build-webpack': 0.2201.7(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular/build': 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(less@4.9.0(supports-color@8.1.1))(postcss@8.5.25)(supports-color@8.1.1)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) + '@angular-devkit/build-webpack': 0.2201.8(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular/build': 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(less@4.9.0(supports-color@8.1.1))(postcss@8.5.25)(supports-color@8.1.1)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3) '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 '@babel/generator': 8.0.0 @@ -4219,7 +4219,7 @@ snapshots: '@babel/preset-env': 8.0.2(@babel/core@8.0.1) '@babel/runtime': 8.0.0 '@discoveryjs/json-ext': 1.1.0 - '@ngtools/webpack': 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) + '@ngtools/webpack': 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) ansi-colors: 4.1.3 autoprefixer: 10.5.4(postcss@8.5.25) babel-loader: 10.1.1(@babel/core@8.0.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) @@ -4261,7 +4261,7 @@ snapshots: optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel '@angular/platform-browser': link:in-existing-linked-by-bazel - '@angular/ssr': 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) + '@angular/ssr': 22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) esbuild: 0.28.2 transitivePeerDependencies: - '@angular/compiler' @@ -4295,16 +4295,16 @@ snapshots: - webpack-cli - yaml - '@angular-devkit/build-webpack@0.2201.7(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': + '@angular-devkit/build-webpack@0.2201.8(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': dependencies: - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) rxjs: 7.8.2 webpack: 5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25) webpack-dev-server: 5.2.6(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) transitivePeerDependencies: - chokidar - '@angular-devkit/core@22.1.7(chokidar@5.0.0)': + '@angular-devkit/core@22.1.8(chokidar@5.0.0)': dependencies: ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) @@ -4315,9 +4315,9 @@ snapshots: optionalDependencies: chokidar: 5.0.0 - '@angular-devkit/schematics@22.1.7(chokidar@5.0.0)': + '@angular-devkit/schematics@22.1.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 magic-string: 1.0.0 ora: 9.4.1 @@ -4325,10 +4325,10 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular/build@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(less@4.9.0(supports-color@8.1.1))(postcss@8.5.25)(supports-color@8.1.1)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(less@4.9.0(supports-color@8.1.1))(postcss@8.5.25)(supports-color@8.1.1)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) '@angular/compiler': link:in-existing-linked-by-bazel '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 @@ -4360,7 +4360,7 @@ snapshots: optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel '@angular/platform-browser': link:in-existing-linked-by-bazel - '@angular/ssr': 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) + '@angular/ssr': 22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) istanbul-lib-instrument: 6.0.3(supports-color@8.1.1) less: 4.9.0(supports-color@8.1.1) lmdb: 3.5.6 @@ -4379,10 +4379,10 @@ snapshots: - tsx - yaml - '@angular/build@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(less@4.9.0(supports-color@8.1.1))(postcss@8.5.26)(supports-color@8.1.1)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(less@4.9.0(supports-color@8.1.1))(postcss@8.5.26)(supports-color@8.1.1)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) '@angular/compiler': link:in-existing-linked-by-bazel '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 @@ -4414,7 +4414,7 @@ snapshots: optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel '@angular/platform-browser': link:in-existing-linked-by-bazel - '@angular/ssr': 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) + '@angular/ssr': 22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) istanbul-lib-instrument: 6.0.3(supports-color@8.1.1) less: 4.9.0(supports-color@8.1.1) lmdb: 3.5.6 @@ -4433,15 +4433,15 @@ snapshots: - tsx - yaml - '@angular/cli@22.1.7(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@8.1.1)': + '@angular/cli@22.1.8(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@8.1.1)': dependencies: - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular-devkit/schematics': 22.1.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.1.8(chokidar@5.0.0) '@inquirer/prompts': 8.5.2(@types/node@20.19.43) '@listr2/prompt-adapter-inquirer': 4.2.5(@inquirer/prompts@8.5.2(@types/node@20.19.43))(@types/node@20.19.43)(listr2@11.0.0) '@modelcontextprotocol/sdk': 1.30.0(supports-color@8.1.1)(zod@4.4.3) - '@schematics/angular': 22.1.7(chokidar@5.0.0) + '@schematics/angular': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 listr2: 11.0.0 npm-package-arg: 14.0.0 @@ -4455,7 +4455,7 @@ snapshots: - chokidar - supports-color - '@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel)': + '@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel)': dependencies: '@angular/common': link:in-existing-linked-by-bazel '@angular/core': link:in-existing-linked-by-bazel @@ -5707,7 +5707,7 @@ snapshots: '@tybys/wasm-util': 0.10.3 optional: true - '@ngtools/webpack@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': + '@ngtools/webpack@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': dependencies: '@angular/compiler-cli': link:in-existing-linked-by-bazel typescript: 6.0.3 @@ -6036,10 +6036,10 @@ snapshots: '@rolldown/pluginutils@1.0.1': {} - '@schematics/angular@22.1.7(chokidar@5.0.0)': + '@schematics/angular@22.1.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular-devkit/schematics': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 typescript: 6.0.3 transitivePeerDependencies: diff --git a/integration/cli-hello-world/package.json b/integration/cli-hello-world/package.json index b9fca4c2504b..8d27cfca9cd7 100644 --- a/integration/cli-hello-world/package.json +++ b/integration/cli-hello-world/package.json @@ -18,19 +18,19 @@ "@angular/forms": "link:./in-existing-linked-by-bazel", "@angular/platform-browser": "link:./in-existing-linked-by-bazel", "@angular/router": "link:./in-existing-linked-by-bazel", - "@angular/ssr": "22.1.7", + "@angular/ssr": "22.1.8", "rxjs": "^7.0.0", "tslib": "^2.3.0", "zone.js": "0.16.2" }, "devDependencies": { - "@angular-devkit/build-angular": "22.1.7", - "@angular/build": "22.1.7", - "@angular/cli": "22.1.7", + "@angular-devkit/build-angular": "22.1.8", + "@angular/build": "22.1.8", + "@angular/cli": "22.1.8", "@angular/compiler-cli": "link:./in-existing-linked-by-bazel", "@types/node": "^20.14.8", "ts-node": "^10.9.1", "typescript": "6.0.3" }, - "packageManager": "pnpm@11.25.0" + "packageManager": "pnpm@11.26.0" } diff --git a/integration/cli-hello-world/pnpm-lock.yaml b/integration/cli-hello-world/pnpm-lock.yaml index dd81186d7cc8..9b08d5091568 100644 --- a/integration/cli-hello-world/pnpm-lock.yaml +++ b/integration/cli-hello-world/pnpm-lock.yaml @@ -27,8 +27,8 @@ importers: specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel '@angular/ssr': - specifier: 22.1.7 - version: 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) + specifier: 22.1.8 + version: 22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) rxjs: specifier: ^7.0.0 version: 7.8.2 @@ -40,14 +40,14 @@ importers: version: 0.16.2 devDependencies: '@angular-devkit/build-angular': - specifier: 22.1.7 - version: 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@8.1.1))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@8.1.1)(typescript@6.0.3) + specifier: 22.1.8 + version: 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@8.1.1))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@8.1.1)(typescript@6.0.3) '@angular/build': - specifier: 22.1.7 - version: 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(less@4.9.0(supports-color@8.1.1))(postcss@8.5.26)(supports-color@8.1.1)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3) + specifier: 22.1.8 + version: 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(less@4.9.0(supports-color@8.1.1))(postcss@8.5.26)(supports-color@8.1.1)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/cli': - specifier: 22.1.7 - version: 22.1.7(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@8.1.1) + specifier: 22.1.8 + version: 22.1.8(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@8.1.1) '@angular/compiler-cli': specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel @@ -67,13 +67,13 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@angular-devkit/architect@0.2201.7': - resolution: {integrity: sha512-qffChB0+3WuLcwDk9gx3p/Vl3zYJDomweui5zsLESDMzvJ8zsbKRkgohTieOngajx+XBsklp0gKcxjiVn4NvWQ==} + '@angular-devkit/architect@0.2201.8': + resolution: {integrity: sha512-EUQo8RDS1my2Bo5FRS+gBYgz1/klfIp9XESfMpTBO04nBkjF6DkPCeOxeAf1CYjWy9nCXcWn968eSdEhV5jXiA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true - '@angular-devkit/build-angular@22.1.7': - resolution: {integrity: sha512-bg2Lp9JyT2fyWzXF1DeKxDjmIVfs1KJiy1JjFo7wUGA7G4cI6PC8Jrw20F2Qkj+biXcUoeYMKCbbMBBU8xTIVw==} + '@angular-devkit/build-angular@22.1.8': + resolution: {integrity: sha512-UH75aJJ5lBpnu3QtC+WygE0Z5dESDLibNQ0jbcot4L7jnT/fLPWbffWp2WHvIjaUybVj/sh441N9rCiy0YMN3Q==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} deprecated: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead. peerDependencies: @@ -83,7 +83,7 @@ packages: '@angular/platform-browser': ^22.0.0 '@angular/platform-server': ^22.0.0 '@angular/service-worker': ^22.0.0 - '@angular/ssr': ^22.1.7 + '@angular/ssr': ^22.1.8 browser-sync: ^3.0.2 karma: ^6.3.0 ng-packagr: ^22.0.0 @@ -111,15 +111,15 @@ packages: tailwindcss: optional: true - '@angular-devkit/build-webpack@0.2201.7': - resolution: {integrity: sha512-bSF5s9B0RFBdOhCIFrv2idqtxYESi7LL6YQFctFnx4FcQp+mTU+ZomE2byO7ZxW5T3nuu9JHVFX5W2/xN34cJQ==} + '@angular-devkit/build-webpack@0.2201.8': + resolution: {integrity: sha512-T9Fl7Qcy40UFZaiGAY9ieJC3cgTTupS/eAncKTeuSdqCHpZn+IMhU+Nyl7C2yE4VZe3KCk8CGGKS3g4TmyH/QQ==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: webpack: ^5.30.0 webpack-dev-server: ^5.0.2 - '@angular-devkit/core@22.1.7': - resolution: {integrity: sha512-RKayeOOjhcIe/iBOM1fmtI5pjXwBEJh+u55VnSeIwYvFNXyxI0/jdRw4T6uhwusQ+1bzyya4d8q1mT9oaOQ/5A==} + '@angular-devkit/core@22.1.8': + resolution: {integrity: sha512-34lsgg2FwMVBX7nR/ZqzRUcdvdYPvSB8XAEr2GudXAyZwLI9ehzfQlagAWR/gEb8p4uCFZW0r7uU0toxydq4Rw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: chokidar: ^5.0.0 @@ -127,12 +127,12 @@ packages: chokidar: optional: true - '@angular-devkit/schematics@22.1.7': - resolution: {integrity: sha512-KOcVeT4MCsoPt6AMnXH7AbWZnzlKXhMyua2ITWij4UbLaNWCDwfIug/xrZssYLHUFwebCIqsR8iuG/BPH8Cz2w==} + '@angular-devkit/schematics@22.1.8': + resolution: {integrity: sha512-Pv3cPa/44kvEwYcqwx4Ns5dhIDmcFNSHhbpheqiEG1Z/u4e2t4zHKDtE3eHZB+8o+IcC7xJj+d+AqGR44RoZDA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - '@angular/build@22.1.7': - resolution: {integrity: sha512-YNZL3R2YS1qZud9zbJfW3ZSeEB0xAURBJEE0cf7WRCCwkn7NFlH7xXLW/zR+WRBwtcCBRsLrM2/ix3Y8FoKX9A==} + '@angular/build@22.1.8': + resolution: {integrity: sha512-tw+Evk0EITb8p8dTu743ONoFztCEiyDkdRbtZsh7C0vBS7Q9ElsOcFeg2Z9OAAwrmtZMIBuW3jrdPRQp7OCSdw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: '@angular/compiler': ^22.0.0 @@ -142,7 +142,7 @@ packages: '@angular/platform-browser': ^22.0.0 '@angular/platform-server': ^22.0.0 '@angular/service-worker': ^22.0.0 - '@angular/ssr': ^22.1.7 + '@angular/ssr': ^22.1.8 istanbul-lib-instrument: ^6.0.0 karma: ^6.4.0 less: ^4.2.0 @@ -183,13 +183,13 @@ packages: vitest: optional: true - '@angular/cli@22.1.7': - resolution: {integrity: sha512-dsOAAPHTXSrTvH5jIdZsFhqmcrTU9+aLXPSYSkQ1afMxPUT/JDjWH228xURYmCaM3ml0vVaT9R2p7/FrS7CJmg==} + '@angular/cli@22.1.8': + resolution: {integrity: sha512-MFN/FydqDndai8vF12hDxG5RlBt1HUUheeJgJNmuHYIne4bOAfOT+xuMpIK8+gLSRwCemdqR3OMM38pnsFJ/nA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true - '@angular/ssr@22.1.7': - resolution: {integrity: sha512-fX766QHDeiMTIa+D1/OQaCMyW0EKO7nR+hUBcCd9gOcu3dMr3JnugEmLYReCCkQNKRjMmALSs7QS7o+ptrKsKg==} + '@angular/ssr@22.1.8': + resolution: {integrity: sha512-D/Is+0dXrFrYeWa3CGqN/inp73pvz+zMrje3wOAR22SBQSV4qPeY8Y4NuR8EflwMwsfiNAfGBYSDQs1WsEx+bQ==} peerDependencies: '@angular/common': ^22.0.0 '@angular/core': ^22.0.0 @@ -1446,8 +1446,8 @@ packages: '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4 '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.4 - '@ngtools/webpack@22.1.7': - resolution: {integrity: sha512-1cqXgu5DnINuZ1pJ4ZsiyLOFDXzEGkKNdMcBuQ73WVXRhE8CwN0bdHyjEW+gOff2QXAsB2uulk7e3XO52QCA3w==} + '@ngtools/webpack@22.1.8': + resolution: {integrity: sha512-U8VA7iaxDjSWaUOmYmcK1JjrQczoGQeq4QbBwFHo1ET3ArshIDtaiXkvuIwUDHBL4N2yGHAgEZZee8ChJvz77w==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} deprecated: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead. peerDependencies: @@ -1917,8 +1917,8 @@ packages: '@rolldown/pluginutils@1.0.1': resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} - '@schematics/angular@22.1.7': - resolution: {integrity: sha512-acBv147JjnwtWFgC8Af0KFBzPpb/TWaYxoWN/Ou3pXtUhYiEqnrdJeoFz3ssDw26eKFIdWnVBLB/dHORBykPBg==} + '@schematics/angular@22.1.8': + resolution: {integrity: sha512-V37T9uHOQVHyxxOqwcJ9xjSIW/mW9UuSfjOc7WJE4V8+3zj0abDJLHuoxDZKe0icYGapgOcvHyYjtNOjSeSivw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} '@tsconfig/node10@1.0.13': @@ -4197,20 +4197,20 @@ snapshots: '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 - '@angular-devkit/architect@0.2201.7(chokidar@5.0.0)': + '@angular-devkit/architect@0.2201.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) rxjs: 7.8.2 transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@8.1.1))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@8.1.1)(typescript@6.0.3)': + '@angular-devkit/build-angular@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@8.1.1))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@8.1.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) - '@angular-devkit/build-webpack': 0.2201.7(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular/build': 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(less@4.9.0(supports-color@8.1.1))(postcss@8.5.25)(supports-color@8.1.1)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) + '@angular-devkit/build-webpack': 0.2201.8(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular/build': 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(less@4.9.0(supports-color@8.1.1))(postcss@8.5.25)(supports-color@8.1.1)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3) '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 '@babel/generator': 8.0.0 @@ -4222,7 +4222,7 @@ snapshots: '@babel/preset-env': 8.0.2(@babel/core@8.0.1) '@babel/runtime': 8.0.0 '@discoveryjs/json-ext': 1.1.0 - '@ngtools/webpack': 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) + '@ngtools/webpack': 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) ansi-colors: 4.1.3 autoprefixer: 10.5.4(postcss@8.5.25) babel-loader: 10.1.1(@babel/core@8.0.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) @@ -4264,7 +4264,7 @@ snapshots: optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel '@angular/platform-browser': link:in-existing-linked-by-bazel - '@angular/ssr': 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) + '@angular/ssr': 22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) esbuild: 0.28.2 transitivePeerDependencies: - '@angular/compiler' @@ -4298,16 +4298,16 @@ snapshots: - webpack-cli - yaml - '@angular-devkit/build-webpack@0.2201.7(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': + '@angular-devkit/build-webpack@0.2201.8(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': dependencies: - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) rxjs: 7.8.2 webpack: 5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25) webpack-dev-server: 5.2.6(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) transitivePeerDependencies: - chokidar - '@angular-devkit/core@22.1.7(chokidar@5.0.0)': + '@angular-devkit/core@22.1.8(chokidar@5.0.0)': dependencies: ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) @@ -4318,9 +4318,9 @@ snapshots: optionalDependencies: chokidar: 5.0.0 - '@angular-devkit/schematics@22.1.7(chokidar@5.0.0)': + '@angular-devkit/schematics@22.1.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 magic-string: 1.0.0 ora: 9.4.1 @@ -4328,10 +4328,10 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular/build@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(less@4.9.0(supports-color@8.1.1))(postcss@8.5.25)(supports-color@8.1.1)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(less@4.9.0(supports-color@8.1.1))(postcss@8.5.25)(supports-color@8.1.1)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) '@angular/compiler': link:in-existing-linked-by-bazel '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 @@ -4363,7 +4363,7 @@ snapshots: optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel '@angular/platform-browser': link:in-existing-linked-by-bazel - '@angular/ssr': 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) + '@angular/ssr': 22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) istanbul-lib-instrument: 6.0.3(supports-color@8.1.1) less: 4.9.0(supports-color@8.1.1) lmdb: 3.5.6 @@ -4382,10 +4382,10 @@ snapshots: - tsx - yaml - '@angular/build@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(less@4.9.0(supports-color@8.1.1))(postcss@8.5.26)(supports-color@8.1.1)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(less@4.9.0(supports-color@8.1.1))(postcss@8.5.26)(supports-color@8.1.1)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) '@angular/compiler': link:in-existing-linked-by-bazel '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 @@ -4417,7 +4417,7 @@ snapshots: optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel '@angular/platform-browser': link:in-existing-linked-by-bazel - '@angular/ssr': 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) + '@angular/ssr': 22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) istanbul-lib-instrument: 6.0.3(supports-color@8.1.1) less: 4.9.0(supports-color@8.1.1) lmdb: 3.5.6 @@ -4436,15 +4436,15 @@ snapshots: - tsx - yaml - '@angular/cli@22.1.7(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@8.1.1)': + '@angular/cli@22.1.8(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@8.1.1)': dependencies: - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular-devkit/schematics': 22.1.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.1.8(chokidar@5.0.0) '@inquirer/prompts': 8.5.2(@types/node@20.19.43) '@listr2/prompt-adapter-inquirer': 4.2.5(@inquirer/prompts@8.5.2(@types/node@20.19.43))(@types/node@20.19.43)(listr2@11.0.0) '@modelcontextprotocol/sdk': 1.30.0(supports-color@8.1.1)(zod@4.4.3) - '@schematics/angular': 22.1.7(chokidar@5.0.0) + '@schematics/angular': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 listr2: 11.0.0 npm-package-arg: 14.0.0 @@ -4458,7 +4458,7 @@ snapshots: - chokidar - supports-color - '@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel)': + '@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel)': dependencies: '@angular/common': link:in-existing-linked-by-bazel '@angular/core': link:in-existing-linked-by-bazel @@ -5710,7 +5710,7 @@ snapshots: '@tybys/wasm-util': 0.10.3 optional: true - '@ngtools/webpack@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': + '@ngtools/webpack@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': dependencies: '@angular/compiler-cli': link:in-existing-linked-by-bazel typescript: 6.0.3 @@ -6039,10 +6039,10 @@ snapshots: '@rolldown/pluginutils@1.0.1': {} - '@schematics/angular@22.1.7(chokidar@5.0.0)': + '@schematics/angular@22.1.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular-devkit/schematics': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 typescript: 6.0.3 transitivePeerDependencies: diff --git a/integration/cli-signal-inputs/package.json b/integration/cli-signal-inputs/package.json index 5e993911576d..aa34cb24b5e0 100644 --- a/integration/cli-signal-inputs/package.json +++ b/integration/cli-signal-inputs/package.json @@ -10,7 +10,7 @@ "lint": "ng lint", "e2e": "ng build --configuration production && concurrently \"serve dist/browser -l 4210 --no-clipboard --single\" \"protractor e2e/protractor.conf.js --baseUrl=http://localhost:4210\" --kill-others --success first" }, - "packageManager": "pnpm@11.25.0", + "packageManager": "pnpm@11.26.0", "private": true, "dependencies": { "@angular/animations": "link:./in-existing-linked-by-bazel", @@ -25,8 +25,8 @@ "zone.js": "0.16.2" }, "devDependencies": { - "@angular-devkit/build-angular": "22.1.7", - "@angular/cli": "22.1.7", + "@angular-devkit/build-angular": "22.1.8", + "@angular/cli": "22.1.8", "@angular/compiler-cli": "link:./in-existing-linked-by-bazel", "@types/jasmine": "^6.0.0", "@types/jasminewd2": "^2.0.8", diff --git a/integration/cli-signal-inputs/pnpm-lock.yaml b/integration/cli-signal-inputs/pnpm-lock.yaml index d5e9981a4f26..a3747b0ed305 100644 --- a/integration/cli-signal-inputs/pnpm-lock.yaml +++ b/integration/cli-signal-inputs/pnpm-lock.yaml @@ -40,11 +40,11 @@ importers: version: 0.16.2 devDependencies: '@angular-devkit/build-angular': - specifier: 22.1.7 - version: 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@10.2.2))(jiti@2.7.0)(karma@6.4.4(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(lightningcss@1.33.0)(supports-color@10.2.2)(typescript@6.0.3) + specifier: 22.1.8 + version: 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@10.2.2))(jiti@2.7.0)(karma@6.4.4(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(lightningcss@1.33.0)(supports-color@10.2.2)(typescript@6.0.3) '@angular/cli': - specifier: 22.1.7 - version: 22.1.7(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@10.2.2) + specifier: 22.1.8 + version: 22.1.8(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@10.2.2) '@angular/compiler-cli': specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel @@ -100,13 +100,13 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@angular-devkit/architect@0.2201.7': - resolution: {integrity: sha512-qffChB0+3WuLcwDk9gx3p/Vl3zYJDomweui5zsLESDMzvJ8zsbKRkgohTieOngajx+XBsklp0gKcxjiVn4NvWQ==} + '@angular-devkit/architect@0.2201.8': + resolution: {integrity: sha512-EUQo8RDS1my2Bo5FRS+gBYgz1/klfIp9XESfMpTBO04nBkjF6DkPCeOxeAf1CYjWy9nCXcWn968eSdEhV5jXiA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true - '@angular-devkit/build-angular@22.1.7': - resolution: {integrity: sha512-bg2Lp9JyT2fyWzXF1DeKxDjmIVfs1KJiy1JjFo7wUGA7G4cI6PC8Jrw20F2Qkj+biXcUoeYMKCbbMBBU8xTIVw==} + '@angular-devkit/build-angular@22.1.8': + resolution: {integrity: sha512-UH75aJJ5lBpnu3QtC+WygE0Z5dESDLibNQ0jbcot4L7jnT/fLPWbffWp2WHvIjaUybVj/sh441N9rCiy0YMN3Q==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} deprecated: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead. peerDependencies: @@ -116,7 +116,7 @@ packages: '@angular/platform-browser': ^22.0.0 '@angular/platform-server': ^22.0.0 '@angular/service-worker': ^22.0.0 - '@angular/ssr': ^22.1.7 + '@angular/ssr': ^22.1.8 browser-sync: ^3.0.2 karma: ^6.3.0 ng-packagr: ^22.0.0 @@ -144,15 +144,15 @@ packages: tailwindcss: optional: true - '@angular-devkit/build-webpack@0.2201.7': - resolution: {integrity: sha512-bSF5s9B0RFBdOhCIFrv2idqtxYESi7LL6YQFctFnx4FcQp+mTU+ZomE2byO7ZxW5T3nuu9JHVFX5W2/xN34cJQ==} + '@angular-devkit/build-webpack@0.2201.8': + resolution: {integrity: sha512-T9Fl7Qcy40UFZaiGAY9ieJC3cgTTupS/eAncKTeuSdqCHpZn+IMhU+Nyl7C2yE4VZe3KCk8CGGKS3g4TmyH/QQ==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: webpack: ^5.30.0 webpack-dev-server: ^5.0.2 - '@angular-devkit/core@22.1.7': - resolution: {integrity: sha512-RKayeOOjhcIe/iBOM1fmtI5pjXwBEJh+u55VnSeIwYvFNXyxI0/jdRw4T6uhwusQ+1bzyya4d8q1mT9oaOQ/5A==} + '@angular-devkit/core@22.1.8': + resolution: {integrity: sha512-34lsgg2FwMVBX7nR/ZqzRUcdvdYPvSB8XAEr2GudXAyZwLI9ehzfQlagAWR/gEb8p4uCFZW0r7uU0toxydq4Rw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: chokidar: ^5.0.0 @@ -160,12 +160,12 @@ packages: chokidar: optional: true - '@angular-devkit/schematics@22.1.7': - resolution: {integrity: sha512-KOcVeT4MCsoPt6AMnXH7AbWZnzlKXhMyua2ITWij4UbLaNWCDwfIug/xrZssYLHUFwebCIqsR8iuG/BPH8Cz2w==} + '@angular-devkit/schematics@22.1.8': + resolution: {integrity: sha512-Pv3cPa/44kvEwYcqwx4Ns5dhIDmcFNSHhbpheqiEG1Z/u4e2t4zHKDtE3eHZB+8o+IcC7xJj+d+AqGR44RoZDA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - '@angular/build@22.1.7': - resolution: {integrity: sha512-YNZL3R2YS1qZud9zbJfW3ZSeEB0xAURBJEE0cf7WRCCwkn7NFlH7xXLW/zR+WRBwtcCBRsLrM2/ix3Y8FoKX9A==} + '@angular/build@22.1.8': + resolution: {integrity: sha512-tw+Evk0EITb8p8dTu743ONoFztCEiyDkdRbtZsh7C0vBS7Q9ElsOcFeg2Z9OAAwrmtZMIBuW3jrdPRQp7OCSdw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: '@angular/compiler': ^22.0.0 @@ -175,7 +175,7 @@ packages: '@angular/platform-browser': ^22.0.0 '@angular/platform-server': ^22.0.0 '@angular/service-worker': ^22.0.0 - '@angular/ssr': ^22.1.7 + '@angular/ssr': ^22.1.8 istanbul-lib-instrument: ^6.0.0 karma: ^6.4.0 less: ^4.2.0 @@ -216,8 +216,8 @@ packages: vitest: optional: true - '@angular/cli@22.1.7': - resolution: {integrity: sha512-dsOAAPHTXSrTvH5jIdZsFhqmcrTU9+aLXPSYSkQ1afMxPUT/JDjWH228xURYmCaM3ml0vVaT9R2p7/FrS7CJmg==} + '@angular/cli@22.1.8': + resolution: {integrity: sha512-MFN/FydqDndai8vF12hDxG5RlBt1HUUheeJgJNmuHYIne4bOAfOT+xuMpIK8+gLSRwCemdqR3OMM38pnsFJ/nA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true @@ -1472,8 +1472,8 @@ packages: '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4 '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.4 - '@ngtools/webpack@22.1.7': - resolution: {integrity: sha512-1cqXgu5DnINuZ1pJ4ZsiyLOFDXzEGkKNdMcBuQ73WVXRhE8CwN0bdHyjEW+gOff2QXAsB2uulk7e3XO52QCA3w==} + '@ngtools/webpack@22.1.8': + resolution: {integrity: sha512-U8VA7iaxDjSWaUOmYmcK1JjrQczoGQeq4QbBwFHo1ET3ArshIDtaiXkvuIwUDHBL4N2yGHAgEZZee8ChJvz77w==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} deprecated: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead. peerDependencies: @@ -1943,8 +1943,8 @@ packages: '@rolldown/pluginutils@1.0.1': resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} - '@schematics/angular@22.1.7': - resolution: {integrity: sha512-acBv147JjnwtWFgC8Af0KFBzPpb/TWaYxoWN/Ou3pXtUhYiEqnrdJeoFz3ssDw26eKFIdWnVBLB/dHORBykPBg==} + '@schematics/angular@22.1.8': + resolution: {integrity: sha512-V37T9uHOQVHyxxOqwcJ9xjSIW/mW9UuSfjOc7WJE4V8+3zj0abDJLHuoxDZKe0icYGapgOcvHyYjtNOjSeSivw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} '@socket.io/component-emitter@3.1.2': @@ -5110,20 +5110,20 @@ snapshots: '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 - '@angular-devkit/architect@0.2201.7(chokidar@5.0.0)': + '@angular-devkit/architect@0.2201.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) rxjs: 7.8.2 transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@10.2.2))(jiti@2.7.0)(karma@6.4.4(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(lightningcss@1.33.0)(supports-color@10.2.2)(typescript@6.0.3)': + '@angular-devkit/build-angular@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@10.2.2))(jiti@2.7.0)(karma@6.4.4(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(lightningcss@1.33.0)(supports-color@10.2.2)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) - '@angular-devkit/build-webpack': 0.2201.7(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular/build': 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(karma@6.4.4(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(less@4.9.0(supports-color@10.2.2))(postcss@8.5.25)(supports-color@10.2.2)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) + '@angular-devkit/build-webpack': 0.2201.8(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular/build': 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(karma@6.4.4(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(less@4.9.0(supports-color@10.2.2))(postcss@8.5.25)(supports-color@10.2.2)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3) '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 '@babel/generator': 8.0.0 @@ -5135,7 +5135,7 @@ snapshots: '@babel/preset-env': 8.0.2(@babel/core@8.0.1) '@babel/runtime': 8.0.0 '@discoveryjs/json-ext': 1.1.0 - '@ngtools/webpack': 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) + '@ngtools/webpack': 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) ansi-colors: 4.1.3 autoprefixer: 10.5.4(postcss@8.5.25) babel-loader: 10.1.1(@babel/core@8.0.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) @@ -5211,16 +5211,16 @@ snapshots: - webpack-cli - yaml - '@angular-devkit/build-webpack@0.2201.7(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': + '@angular-devkit/build-webpack@0.2201.8(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': dependencies: - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) rxjs: 7.8.2 webpack: 5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25) webpack-dev-server: 5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) transitivePeerDependencies: - chokidar - '@angular-devkit/core@22.1.7(chokidar@5.0.0)': + '@angular-devkit/core@22.1.8(chokidar@5.0.0)': dependencies: ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) @@ -5231,9 +5231,9 @@ snapshots: optionalDependencies: chokidar: 5.0.0 - '@angular-devkit/schematics@22.1.7(chokidar@5.0.0)': + '@angular-devkit/schematics@22.1.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 magic-string: 1.0.0 ora: 9.4.1 @@ -5241,10 +5241,10 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular/build@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(karma@6.4.4(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(less@4.9.0(supports-color@10.2.2))(postcss@8.5.25)(supports-color@10.2.2)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(karma@6.4.4(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(less@4.9.0(supports-color@10.2.2))(postcss@8.5.25)(supports-color@10.2.2)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) '@angular/compiler': link:in-existing-linked-by-bazel '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 @@ -5295,15 +5295,15 @@ snapshots: - tsx - yaml - '@angular/cli@22.1.7(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@10.2.2)': + '@angular/cli@22.1.8(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@10.2.2)': dependencies: - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular-devkit/schematics': 22.1.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.1.8(chokidar@5.0.0) '@inquirer/prompts': 8.5.2(@types/node@20.19.43) '@listr2/prompt-adapter-inquirer': 4.2.5(@inquirer/prompts@8.5.2(@types/node@20.19.43))(@types/node@20.19.43)(listr2@11.0.0) '@modelcontextprotocol/sdk': 1.30.0(supports-color@10.2.2)(zod@4.4.3) - '@schematics/angular': 22.1.7(chokidar@5.0.0) + '@schematics/angular': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 listr2: 11.0.0 npm-package-arg: 14.0.0 @@ -6564,7 +6564,7 @@ snapshots: '@tybys/wasm-util': 0.10.3 optional: true - '@ngtools/webpack@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': + '@ngtools/webpack@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': dependencies: '@angular/compiler-cli': link:in-existing-linked-by-bazel typescript: 6.0.3 @@ -6893,10 +6893,10 @@ snapshots: '@rolldown/pluginutils@1.0.1': {} - '@schematics/angular@22.1.7(chokidar@5.0.0)': + '@schematics/angular@22.1.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular-devkit/schematics': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 typescript: 6.0.3 transitivePeerDependencies: diff --git a/integration/defer/package.json b/integration/defer/package.json index bd562470e54f..aeeb47b6ce6f 100644 --- a/integration/defer/package.json +++ b/integration/defer/package.json @@ -23,11 +23,11 @@ "zone.js": "0.16.2" }, "devDependencies": { - "@angular/build": "22.1.7", - "@angular/cli": "22.1.7", + "@angular/build": "22.1.8", + "@angular/cli": "22.1.8", "@angular/compiler-cli": "link:./in-existing-linked-by-bazel", "ts-node": "10.9.2", "typescript": "6.0.3" }, - "packageManager": "pnpm@11.25.0" + "packageManager": "pnpm@11.26.0" } diff --git a/integration/defer/pnpm-lock.yaml b/integration/defer/pnpm-lock.yaml index bd7f80650750..fc7e5d160077 100644 --- a/integration/defer/pnpm-lock.yaml +++ b/integration/defer/pnpm-lock.yaml @@ -37,11 +37,11 @@ importers: version: 0.16.2 devDependencies: '@angular/build': - specifier: 22.1.7 - version: 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@26.4.0)(chokidar@5.0.0)(postcss@8.5.26)(tslib@2.8.1)(typescript@6.0.3) + specifier: 22.1.8 + version: 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@26.4.0)(chokidar@5.0.0)(postcss@8.5.26)(tslib@2.8.1)(typescript@6.0.3) '@angular/cli': - specifier: 22.1.7 - version: 22.1.7(@types/node@26.4.0)(chokidar@5.0.0) + specifier: 22.1.8 + version: 22.1.8(@types/node@26.4.0)(chokidar@5.0.0) '@angular/compiler-cli': specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel @@ -58,13 +58,13 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@angular-devkit/architect@0.2201.7': - resolution: {integrity: sha512-qffChB0+3WuLcwDk9gx3p/Vl3zYJDomweui5zsLESDMzvJ8zsbKRkgohTieOngajx+XBsklp0gKcxjiVn4NvWQ==} + '@angular-devkit/architect@0.2201.8': + resolution: {integrity: sha512-EUQo8RDS1my2Bo5FRS+gBYgz1/klfIp9XESfMpTBO04nBkjF6DkPCeOxeAf1CYjWy9nCXcWn968eSdEhV5jXiA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true - '@angular-devkit/core@22.1.7': - resolution: {integrity: sha512-RKayeOOjhcIe/iBOM1fmtI5pjXwBEJh+u55VnSeIwYvFNXyxI0/jdRw4T6uhwusQ+1bzyya4d8q1mT9oaOQ/5A==} + '@angular-devkit/core@22.1.8': + resolution: {integrity: sha512-34lsgg2FwMVBX7nR/ZqzRUcdvdYPvSB8XAEr2GudXAyZwLI9ehzfQlagAWR/gEb8p4uCFZW0r7uU0toxydq4Rw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: chokidar: ^5.0.0 @@ -72,12 +72,12 @@ packages: chokidar: optional: true - '@angular-devkit/schematics@22.1.7': - resolution: {integrity: sha512-KOcVeT4MCsoPt6AMnXH7AbWZnzlKXhMyua2ITWij4UbLaNWCDwfIug/xrZssYLHUFwebCIqsR8iuG/BPH8Cz2w==} + '@angular-devkit/schematics@22.1.8': + resolution: {integrity: sha512-Pv3cPa/44kvEwYcqwx4Ns5dhIDmcFNSHhbpheqiEG1Z/u4e2t4zHKDtE3eHZB+8o+IcC7xJj+d+AqGR44RoZDA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - '@angular/build@22.1.7': - resolution: {integrity: sha512-YNZL3R2YS1qZud9zbJfW3ZSeEB0xAURBJEE0cf7WRCCwkn7NFlH7xXLW/zR+WRBwtcCBRsLrM2/ix3Y8FoKX9A==} + '@angular/build@22.1.8': + resolution: {integrity: sha512-tw+Evk0EITb8p8dTu743ONoFztCEiyDkdRbtZsh7C0vBS7Q9ElsOcFeg2Z9OAAwrmtZMIBuW3jrdPRQp7OCSdw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: '@angular/compiler': ^22.0.0 @@ -87,7 +87,7 @@ packages: '@angular/platform-browser': ^22.0.0 '@angular/platform-server': ^22.0.0 '@angular/service-worker': ^22.0.0 - '@angular/ssr': ^22.1.7 + '@angular/ssr': ^22.1.8 istanbul-lib-instrument: ^6.0.0 karma: ^6.4.0 less: ^4.2.0 @@ -128,8 +128,8 @@ packages: vitest: optional: true - '@angular/cli@22.1.7': - resolution: {integrity: sha512-dsOAAPHTXSrTvH5jIdZsFhqmcrTU9+aLXPSYSkQ1afMxPUT/JDjWH228xURYmCaM3ml0vVaT9R2p7/FrS7CJmg==} + '@angular/cli@22.1.8': + resolution: {integrity: sha512-MFN/FydqDndai8vF12hDxG5RlBt1HUUheeJgJNmuHYIne4bOAfOT+xuMpIK8+gLSRwCemdqR3OMM38pnsFJ/nA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true @@ -1175,8 +1175,8 @@ packages: '@rolldown/pluginutils@1.0.1': resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} - '@schematics/angular@22.1.7': - resolution: {integrity: sha512-acBv147JjnwtWFgC8Af0KFBzPpb/TWaYxoWN/Ou3pXtUhYiEqnrdJeoFz3ssDw26eKFIdWnVBLB/dHORBykPBg==} + '@schematics/angular@22.1.8': + resolution: {integrity: sha512-V37T9uHOQVHyxxOqwcJ9xjSIW/mW9UuSfjOc7WJE4V8+3zj0abDJLHuoxDZKe0icYGapgOcvHyYjtNOjSeSivw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} '@tsconfig/node10@1.0.13': @@ -2215,14 +2215,14 @@ snapshots: '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 - '@angular-devkit/architect@0.2201.7(chokidar@5.0.0)': + '@angular-devkit/architect@0.2201.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) rxjs: 7.8.2 transitivePeerDependencies: - chokidar - '@angular-devkit/core@22.1.7(chokidar@5.0.0)': + '@angular-devkit/core@22.1.8(chokidar@5.0.0)': dependencies: ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) @@ -2233,9 +2233,9 @@ snapshots: optionalDependencies: chokidar: 5.0.0 - '@angular-devkit/schematics@22.1.7(chokidar@5.0.0)': + '@angular-devkit/schematics@22.1.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 magic-string: 1.0.0 ora: 9.4.1 @@ -2243,10 +2243,10 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular/build@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@26.4.0)(chokidar@5.0.0)(postcss@8.5.26)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@26.4.0)(chokidar@5.0.0)(postcss@8.5.26)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) '@angular/compiler': link:in-existing-linked-by-bazel '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 @@ -2294,15 +2294,15 @@ snapshots: - tsx - yaml - '@angular/cli@22.1.7(@types/node@26.4.0)(chokidar@5.0.0)': + '@angular/cli@22.1.8(@types/node@26.4.0)(chokidar@5.0.0)': dependencies: - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular-devkit/schematics': 22.1.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.1.8(chokidar@5.0.0) '@inquirer/prompts': 8.5.2(@types/node@26.4.0) '@listr2/prompt-adapter-inquirer': 4.2.5(@inquirer/prompts@8.5.2(@types/node@26.4.0))(@types/node@26.4.0)(listr2@11.0.0) '@modelcontextprotocol/sdk': 1.30.0(zod@4.4.3) - '@schematics/angular': 22.1.7(chokidar@5.0.0) + '@schematics/angular': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 listr2: 11.0.0 npm-package-arg: 14.0.0 @@ -3069,10 +3069,10 @@ snapshots: '@rolldown/pluginutils@1.0.1': {} - '@schematics/angular@22.1.7(chokidar@5.0.0)': + '@schematics/angular@22.1.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular-devkit/schematics': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 typescript: 6.0.3 transitivePeerDependencies: diff --git a/integration/legacy-animations-async/package.json b/integration/legacy-animations-async/package.json index a180cfe11620..295df3c7f66d 100644 --- a/integration/legacy-animations-async/package.json +++ b/integration/legacy-animations-async/package.json @@ -23,12 +23,12 @@ "zone.js": "0.16.2" }, "devDependencies": { - "@angular-devkit/build-angular": "22.1.7", - "@angular/cli": "22.1.7", + "@angular-devkit/build-angular": "22.1.8", + "@angular/cli": "22.1.8", "@angular/compiler-cli": "link:./in-existing-linked-by-bazel", "@types/node": "^20.14.8", "ts-node": "^10.9.1", "typescript": "6.0.3" }, - "packageManager": "pnpm@11.25.0" + "packageManager": "pnpm@11.26.0" } diff --git a/integration/legacy-animations-async/pnpm-lock.yaml b/integration/legacy-animations-async/pnpm-lock.yaml index 719a89622141..d231535c1c0c 100644 --- a/integration/legacy-animations-async/pnpm-lock.yaml +++ b/integration/legacy-animations-async/pnpm-lock.yaml @@ -37,11 +37,11 @@ importers: version: 0.16.2 devDependencies: '@angular-devkit/build-angular': - specifier: 22.1.7 - version: 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@8.1.1))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@8.1.1)(typescript@6.0.3) + specifier: 22.1.8 + version: 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@8.1.1))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@8.1.1)(typescript@6.0.3) '@angular/cli': - specifier: 22.1.7 - version: 22.1.7(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@8.1.1) + specifier: 22.1.8 + version: 22.1.8(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@8.1.1) '@angular/compiler-cli': specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel @@ -61,13 +61,13 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@angular-devkit/architect@0.2201.7': - resolution: {integrity: sha512-qffChB0+3WuLcwDk9gx3p/Vl3zYJDomweui5zsLESDMzvJ8zsbKRkgohTieOngajx+XBsklp0gKcxjiVn4NvWQ==} + '@angular-devkit/architect@0.2201.8': + resolution: {integrity: sha512-EUQo8RDS1my2Bo5FRS+gBYgz1/klfIp9XESfMpTBO04nBkjF6DkPCeOxeAf1CYjWy9nCXcWn968eSdEhV5jXiA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true - '@angular-devkit/build-angular@22.1.7': - resolution: {integrity: sha512-bg2Lp9JyT2fyWzXF1DeKxDjmIVfs1KJiy1JjFo7wUGA7G4cI6PC8Jrw20F2Qkj+biXcUoeYMKCbbMBBU8xTIVw==} + '@angular-devkit/build-angular@22.1.8': + resolution: {integrity: sha512-UH75aJJ5lBpnu3QtC+WygE0Z5dESDLibNQ0jbcot4L7jnT/fLPWbffWp2WHvIjaUybVj/sh441N9rCiy0YMN3Q==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} deprecated: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead. peerDependencies: @@ -77,7 +77,7 @@ packages: '@angular/platform-browser': ^22.0.0 '@angular/platform-server': ^22.0.0 '@angular/service-worker': ^22.0.0 - '@angular/ssr': ^22.1.7 + '@angular/ssr': ^22.1.8 browser-sync: ^3.0.2 karma: ^6.3.0 ng-packagr: ^22.0.0 @@ -105,15 +105,15 @@ packages: tailwindcss: optional: true - '@angular-devkit/build-webpack@0.2201.7': - resolution: {integrity: sha512-bSF5s9B0RFBdOhCIFrv2idqtxYESi7LL6YQFctFnx4FcQp+mTU+ZomE2byO7ZxW5T3nuu9JHVFX5W2/xN34cJQ==} + '@angular-devkit/build-webpack@0.2201.8': + resolution: {integrity: sha512-T9Fl7Qcy40UFZaiGAY9ieJC3cgTTupS/eAncKTeuSdqCHpZn+IMhU+Nyl7C2yE4VZe3KCk8CGGKS3g4TmyH/QQ==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: webpack: ^5.30.0 webpack-dev-server: ^5.0.2 - '@angular-devkit/core@22.1.7': - resolution: {integrity: sha512-RKayeOOjhcIe/iBOM1fmtI5pjXwBEJh+u55VnSeIwYvFNXyxI0/jdRw4T6uhwusQ+1bzyya4d8q1mT9oaOQ/5A==} + '@angular-devkit/core@22.1.8': + resolution: {integrity: sha512-34lsgg2FwMVBX7nR/ZqzRUcdvdYPvSB8XAEr2GudXAyZwLI9ehzfQlagAWR/gEb8p4uCFZW0r7uU0toxydq4Rw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: chokidar: ^5.0.0 @@ -121,12 +121,12 @@ packages: chokidar: optional: true - '@angular-devkit/schematics@22.1.7': - resolution: {integrity: sha512-KOcVeT4MCsoPt6AMnXH7AbWZnzlKXhMyua2ITWij4UbLaNWCDwfIug/xrZssYLHUFwebCIqsR8iuG/BPH8Cz2w==} + '@angular-devkit/schematics@22.1.8': + resolution: {integrity: sha512-Pv3cPa/44kvEwYcqwx4Ns5dhIDmcFNSHhbpheqiEG1Z/u4e2t4zHKDtE3eHZB+8o+IcC7xJj+d+AqGR44RoZDA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - '@angular/build@22.1.7': - resolution: {integrity: sha512-YNZL3R2YS1qZud9zbJfW3ZSeEB0xAURBJEE0cf7WRCCwkn7NFlH7xXLW/zR+WRBwtcCBRsLrM2/ix3Y8FoKX9A==} + '@angular/build@22.1.8': + resolution: {integrity: sha512-tw+Evk0EITb8p8dTu743ONoFztCEiyDkdRbtZsh7C0vBS7Q9ElsOcFeg2Z9OAAwrmtZMIBuW3jrdPRQp7OCSdw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: '@angular/compiler': ^22.0.0 @@ -136,7 +136,7 @@ packages: '@angular/platform-browser': ^22.0.0 '@angular/platform-server': ^22.0.0 '@angular/service-worker': ^22.0.0 - '@angular/ssr': ^22.1.7 + '@angular/ssr': ^22.1.8 istanbul-lib-instrument: ^6.0.0 karma: ^6.4.0 less: ^4.2.0 @@ -177,8 +177,8 @@ packages: vitest: optional: true - '@angular/cli@22.1.7': - resolution: {integrity: sha512-dsOAAPHTXSrTvH5jIdZsFhqmcrTU9+aLXPSYSkQ1afMxPUT/JDjWH228xURYmCaM3ml0vVaT9R2p7/FrS7CJmg==} + '@angular/cli@22.1.8': + resolution: {integrity: sha512-MFN/FydqDndai8vF12hDxG5RlBt1HUUheeJgJNmuHYIne4bOAfOT+xuMpIK8+gLSRwCemdqR3OMM38pnsFJ/nA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true @@ -1429,8 +1429,8 @@ packages: '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4 '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.4 - '@ngtools/webpack@22.1.7': - resolution: {integrity: sha512-1cqXgu5DnINuZ1pJ4ZsiyLOFDXzEGkKNdMcBuQ73WVXRhE8CwN0bdHyjEW+gOff2QXAsB2uulk7e3XO52QCA3w==} + '@ngtools/webpack@22.1.8': + resolution: {integrity: sha512-U8VA7iaxDjSWaUOmYmcK1JjrQczoGQeq4QbBwFHo1ET3ArshIDtaiXkvuIwUDHBL4N2yGHAgEZZee8ChJvz77w==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} deprecated: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead. peerDependencies: @@ -1900,8 +1900,8 @@ packages: '@rolldown/pluginutils@1.0.1': resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} - '@schematics/angular@22.1.7': - resolution: {integrity: sha512-acBv147JjnwtWFgC8Af0KFBzPpb/TWaYxoWN/Ou3pXtUhYiEqnrdJeoFz3ssDw26eKFIdWnVBLB/dHORBykPBg==} + '@schematics/angular@22.1.8': + resolution: {integrity: sha512-V37T9uHOQVHyxxOqwcJ9xjSIW/mW9UuSfjOc7WJE4V8+3zj0abDJLHuoxDZKe0icYGapgOcvHyYjtNOjSeSivw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} '@tsconfig/node10@1.0.13': @@ -4176,20 +4176,20 @@ snapshots: '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 - '@angular-devkit/architect@0.2201.7(chokidar@5.0.0)': + '@angular-devkit/architect@0.2201.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) rxjs: 7.8.2 transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@8.1.1))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@8.1.1)(typescript@6.0.3)': + '@angular-devkit/build-angular@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@8.1.1))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@8.1.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) - '@angular-devkit/build-webpack': 0.2201.7(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular/build': 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(less@4.9.0(supports-color@8.1.1))(postcss@8.5.25)(supports-color@8.1.1)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) + '@angular-devkit/build-webpack': 0.2201.8(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular/build': 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(less@4.9.0(supports-color@8.1.1))(postcss@8.5.25)(supports-color@8.1.1)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3) '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 '@babel/generator': 8.0.0 @@ -4201,7 +4201,7 @@ snapshots: '@babel/preset-env': 8.0.2(@babel/core@8.0.1) '@babel/runtime': 8.0.0 '@discoveryjs/json-ext': 1.1.0 - '@ngtools/webpack': 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) + '@ngtools/webpack': 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) ansi-colors: 4.1.3 autoprefixer: 10.5.4(postcss@8.5.25) babel-loader: 10.1.1(@babel/core@8.0.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) @@ -4276,16 +4276,16 @@ snapshots: - webpack-cli - yaml - '@angular-devkit/build-webpack@0.2201.7(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': + '@angular-devkit/build-webpack@0.2201.8(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': dependencies: - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) rxjs: 7.8.2 webpack: 5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25) webpack-dev-server: 5.2.6(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) transitivePeerDependencies: - chokidar - '@angular-devkit/core@22.1.7(chokidar@5.0.0)': + '@angular-devkit/core@22.1.8(chokidar@5.0.0)': dependencies: ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) @@ -4296,9 +4296,9 @@ snapshots: optionalDependencies: chokidar: 5.0.0 - '@angular-devkit/schematics@22.1.7(chokidar@5.0.0)': + '@angular-devkit/schematics@22.1.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 magic-string: 1.0.0 ora: 9.4.1 @@ -4306,10 +4306,10 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular/build@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(less@4.9.0(supports-color@8.1.1))(postcss@8.5.25)(supports-color@8.1.1)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(less@4.9.0(supports-color@8.1.1))(postcss@8.5.25)(supports-color@8.1.1)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) '@angular/compiler': link:in-existing-linked-by-bazel '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 @@ -4359,15 +4359,15 @@ snapshots: - tsx - yaml - '@angular/cli@22.1.7(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@8.1.1)': + '@angular/cli@22.1.8(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@8.1.1)': dependencies: - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular-devkit/schematics': 22.1.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.1.8(chokidar@5.0.0) '@inquirer/prompts': 8.5.2(@types/node@20.19.43) '@listr2/prompt-adapter-inquirer': 4.2.5(@inquirer/prompts@8.5.2(@types/node@20.19.43))(@types/node@20.19.43)(listr2@11.0.0) '@modelcontextprotocol/sdk': 1.30.0(supports-color@8.1.1)(zod@4.4.3) - '@schematics/angular': 22.1.7(chokidar@5.0.0) + '@schematics/angular': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 listr2: 11.0.0 npm-package-arg: 14.0.0 @@ -5626,7 +5626,7 @@ snapshots: '@tybys/wasm-util': 0.10.3 optional: true - '@ngtools/webpack@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': + '@ngtools/webpack@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': dependencies: '@angular/compiler-cli': link:in-existing-linked-by-bazel typescript: 6.0.3 @@ -5955,10 +5955,10 @@ snapshots: '@rolldown/pluginutils@1.0.1': {} - '@schematics/angular@22.1.7(chokidar@5.0.0)': + '@schematics/angular@22.1.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular-devkit/schematics': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 typescript: 6.0.3 transitivePeerDependencies: diff --git a/integration/legacy-animations/package.json b/integration/legacy-animations/package.json index cb8e15c93b0f..edc0b5e1320b 100644 --- a/integration/legacy-animations/package.json +++ b/integration/legacy-animations/package.json @@ -23,8 +23,8 @@ "zone.js": "0.16.2" }, "devDependencies": { - "@angular-devkit/build-angular": "22.1.7", - "@angular/cli": "22.1.7", + "@angular-devkit/build-angular": "22.1.8", + "@angular/cli": "22.1.8", "@angular/compiler-cli": "link:./in-existing-linked-by-bazel", "@types/jasmine": "^6.0.0", "@types/jasminewd2": "^2.0.8", @@ -39,5 +39,5 @@ "ts-node": "^10.9.1", "typescript": "6.0.3" }, - "packageManager": "pnpm@11.25.0" + "packageManager": "pnpm@11.26.0" } diff --git a/integration/legacy-animations/pnpm-lock.yaml b/integration/legacy-animations/pnpm-lock.yaml index e79ef9ad966f..afca30f99ee9 100644 --- a/integration/legacy-animations/pnpm-lock.yaml +++ b/integration/legacy-animations/pnpm-lock.yaml @@ -37,11 +37,11 @@ importers: version: 0.16.2 devDependencies: '@angular-devkit/build-angular': - specifier: 22.1.7 - version: 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@8.1.1))(jiti@2.7.0)(karma@6.4.4(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1))(lightningcss@1.33.0)(supports-color@8.1.1)(typescript@6.0.3) + specifier: 22.1.8 + version: 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@8.1.1))(jiti@2.7.0)(karma@6.4.4(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1))(lightningcss@1.33.0)(supports-color@8.1.1)(typescript@6.0.3) '@angular/cli': - specifier: 22.1.7 - version: 22.1.7(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@8.1.1) + specifier: 22.1.8 + version: 22.1.8(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@8.1.1) '@angular/compiler-cli': specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel @@ -88,13 +88,13 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@angular-devkit/architect@0.2201.7': - resolution: {integrity: sha512-qffChB0+3WuLcwDk9gx3p/Vl3zYJDomweui5zsLESDMzvJ8zsbKRkgohTieOngajx+XBsklp0gKcxjiVn4NvWQ==} + '@angular-devkit/architect@0.2201.8': + resolution: {integrity: sha512-EUQo8RDS1my2Bo5FRS+gBYgz1/klfIp9XESfMpTBO04nBkjF6DkPCeOxeAf1CYjWy9nCXcWn968eSdEhV5jXiA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true - '@angular-devkit/build-angular@22.1.7': - resolution: {integrity: sha512-bg2Lp9JyT2fyWzXF1DeKxDjmIVfs1KJiy1JjFo7wUGA7G4cI6PC8Jrw20F2Qkj+biXcUoeYMKCbbMBBU8xTIVw==} + '@angular-devkit/build-angular@22.1.8': + resolution: {integrity: sha512-UH75aJJ5lBpnu3QtC+WygE0Z5dESDLibNQ0jbcot4L7jnT/fLPWbffWp2WHvIjaUybVj/sh441N9rCiy0YMN3Q==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} deprecated: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead. peerDependencies: @@ -104,7 +104,7 @@ packages: '@angular/platform-browser': ^22.0.0 '@angular/platform-server': ^22.0.0 '@angular/service-worker': ^22.0.0 - '@angular/ssr': ^22.1.7 + '@angular/ssr': ^22.1.8 browser-sync: ^3.0.2 karma: ^6.3.0 ng-packagr: ^22.0.0 @@ -132,15 +132,15 @@ packages: tailwindcss: optional: true - '@angular-devkit/build-webpack@0.2201.7': - resolution: {integrity: sha512-bSF5s9B0RFBdOhCIFrv2idqtxYESi7LL6YQFctFnx4FcQp+mTU+ZomE2byO7ZxW5T3nuu9JHVFX5W2/xN34cJQ==} + '@angular-devkit/build-webpack@0.2201.8': + resolution: {integrity: sha512-T9Fl7Qcy40UFZaiGAY9ieJC3cgTTupS/eAncKTeuSdqCHpZn+IMhU+Nyl7C2yE4VZe3KCk8CGGKS3g4TmyH/QQ==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: webpack: ^5.30.0 webpack-dev-server: ^5.0.2 - '@angular-devkit/core@22.1.7': - resolution: {integrity: sha512-RKayeOOjhcIe/iBOM1fmtI5pjXwBEJh+u55VnSeIwYvFNXyxI0/jdRw4T6uhwusQ+1bzyya4d8q1mT9oaOQ/5A==} + '@angular-devkit/core@22.1.8': + resolution: {integrity: sha512-34lsgg2FwMVBX7nR/ZqzRUcdvdYPvSB8XAEr2GudXAyZwLI9ehzfQlagAWR/gEb8p4uCFZW0r7uU0toxydq4Rw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: chokidar: ^5.0.0 @@ -148,12 +148,12 @@ packages: chokidar: optional: true - '@angular-devkit/schematics@22.1.7': - resolution: {integrity: sha512-KOcVeT4MCsoPt6AMnXH7AbWZnzlKXhMyua2ITWij4UbLaNWCDwfIug/xrZssYLHUFwebCIqsR8iuG/BPH8Cz2w==} + '@angular-devkit/schematics@22.1.8': + resolution: {integrity: sha512-Pv3cPa/44kvEwYcqwx4Ns5dhIDmcFNSHhbpheqiEG1Z/u4e2t4zHKDtE3eHZB+8o+IcC7xJj+d+AqGR44RoZDA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - '@angular/build@22.1.7': - resolution: {integrity: sha512-YNZL3R2YS1qZud9zbJfW3ZSeEB0xAURBJEE0cf7WRCCwkn7NFlH7xXLW/zR+WRBwtcCBRsLrM2/ix3Y8FoKX9A==} + '@angular/build@22.1.8': + resolution: {integrity: sha512-tw+Evk0EITb8p8dTu743ONoFztCEiyDkdRbtZsh7C0vBS7Q9ElsOcFeg2Z9OAAwrmtZMIBuW3jrdPRQp7OCSdw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: '@angular/compiler': ^22.0.0 @@ -163,7 +163,7 @@ packages: '@angular/platform-browser': ^22.0.0 '@angular/platform-server': ^22.0.0 '@angular/service-worker': ^22.0.0 - '@angular/ssr': ^22.1.7 + '@angular/ssr': ^22.1.8 istanbul-lib-instrument: ^6.0.0 karma: ^6.4.0 less: ^4.2.0 @@ -204,8 +204,8 @@ packages: vitest: optional: true - '@angular/cli@22.1.7': - resolution: {integrity: sha512-dsOAAPHTXSrTvH5jIdZsFhqmcrTU9+aLXPSYSkQ1afMxPUT/JDjWH228xURYmCaM3ml0vVaT9R2p7/FrS7CJmg==} + '@angular/cli@22.1.8': + resolution: {integrity: sha512-MFN/FydqDndai8vF12hDxG5RlBt1HUUheeJgJNmuHYIne4bOAfOT+xuMpIK8+gLSRwCemdqR3OMM38pnsFJ/nA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true @@ -1460,8 +1460,8 @@ packages: '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4 '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.4 - '@ngtools/webpack@22.1.7': - resolution: {integrity: sha512-1cqXgu5DnINuZ1pJ4ZsiyLOFDXzEGkKNdMcBuQ73WVXRhE8CwN0bdHyjEW+gOff2QXAsB2uulk7e3XO52QCA3w==} + '@ngtools/webpack@22.1.8': + resolution: {integrity: sha512-U8VA7iaxDjSWaUOmYmcK1JjrQczoGQeq4QbBwFHo1ET3ArshIDtaiXkvuIwUDHBL4N2yGHAgEZZee8ChJvz77w==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} deprecated: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead. peerDependencies: @@ -1931,8 +1931,8 @@ packages: '@rolldown/pluginutils@1.0.1': resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} - '@schematics/angular@22.1.7': - resolution: {integrity: sha512-acBv147JjnwtWFgC8Af0KFBzPpb/TWaYxoWN/Ou3pXtUhYiEqnrdJeoFz3ssDw26eKFIdWnVBLB/dHORBykPBg==} + '@schematics/angular@22.1.8': + resolution: {integrity: sha512-V37T9uHOQVHyxxOqwcJ9xjSIW/mW9UuSfjOc7WJE4V8+3zj0abDJLHuoxDZKe0icYGapgOcvHyYjtNOjSeSivw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} '@socket.io/component-emitter@3.1.2': @@ -4873,20 +4873,20 @@ snapshots: '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 - '@angular-devkit/architect@0.2201.7(chokidar@5.0.0)': + '@angular-devkit/architect@0.2201.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) rxjs: 7.8.2 transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@8.1.1))(jiti@2.7.0)(karma@6.4.4(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1))(lightningcss@1.33.0)(supports-color@8.1.1)(typescript@6.0.3)': + '@angular-devkit/build-angular@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@8.1.1))(jiti@2.7.0)(karma@6.4.4(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1))(lightningcss@1.33.0)(supports-color@8.1.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) - '@angular-devkit/build-webpack': 0.2201.7(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular/build': 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(karma@6.4.4(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1))(less@4.9.0(supports-color@8.1.1))(postcss@8.5.25)(supports-color@8.1.1)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) + '@angular-devkit/build-webpack': 0.2201.8(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular/build': 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(karma@6.4.4(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1))(less@4.9.0(supports-color@8.1.1))(postcss@8.5.25)(supports-color@8.1.1)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3) '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 '@babel/generator': 8.0.0 @@ -4898,7 +4898,7 @@ snapshots: '@babel/preset-env': 8.0.2(@babel/core@8.0.1) '@babel/runtime': 8.0.0 '@discoveryjs/json-ext': 1.1.0 - '@ngtools/webpack': 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) + '@ngtools/webpack': 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) ansi-colors: 4.1.3 autoprefixer: 10.5.4(postcss@8.5.25) babel-loader: 10.1.1(@babel/core@8.0.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) @@ -4974,16 +4974,16 @@ snapshots: - webpack-cli - yaml - '@angular-devkit/build-webpack@0.2201.7(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': + '@angular-devkit/build-webpack@0.2201.8(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': dependencies: - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) rxjs: 7.8.2 webpack: 5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25) webpack-dev-server: 5.2.6(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) transitivePeerDependencies: - chokidar - '@angular-devkit/core@22.1.7(chokidar@5.0.0)': + '@angular-devkit/core@22.1.8(chokidar@5.0.0)': dependencies: ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) @@ -4994,9 +4994,9 @@ snapshots: optionalDependencies: chokidar: 5.0.0 - '@angular-devkit/schematics@22.1.7(chokidar@5.0.0)': + '@angular-devkit/schematics@22.1.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 magic-string: 1.0.0 ora: 9.4.1 @@ -5004,10 +5004,10 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular/build@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(karma@6.4.4(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1))(less@4.9.0(supports-color@8.1.1))(postcss@8.5.25)(supports-color@8.1.1)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(karma@6.4.4(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1))(less@4.9.0(supports-color@8.1.1))(postcss@8.5.25)(supports-color@8.1.1)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) '@angular/compiler': link:in-existing-linked-by-bazel '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 @@ -5058,15 +5058,15 @@ snapshots: - tsx - yaml - '@angular/cli@22.1.7(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@8.1.1)': + '@angular/cli@22.1.8(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@8.1.1)': dependencies: - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular-devkit/schematics': 22.1.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.1.8(chokidar@5.0.0) '@inquirer/prompts': 8.5.2(@types/node@20.19.43) '@listr2/prompt-adapter-inquirer': 4.2.5(@inquirer/prompts@8.5.2(@types/node@20.19.43))(@types/node@20.19.43)(listr2@11.0.0) '@modelcontextprotocol/sdk': 1.30.0(supports-color@8.1.1)(zod@4.4.3) - '@schematics/angular': 22.1.7(chokidar@5.0.0) + '@schematics/angular': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 listr2: 11.0.0 npm-package-arg: 14.0.0 @@ -6327,7 +6327,7 @@ snapshots: '@tybys/wasm-util': 0.10.3 optional: true - '@ngtools/webpack@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': + '@ngtools/webpack@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': dependencies: '@angular/compiler-cli': link:in-existing-linked-by-bazel typescript: 6.0.3 @@ -6656,10 +6656,10 @@ snapshots: '@rolldown/pluginutils@1.0.1': {} - '@schematics/angular@22.1.7(chokidar@5.0.0)': + '@schematics/angular@22.1.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular-devkit/schematics': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 typescript: 6.0.3 transitivePeerDependencies: diff --git a/integration/ng-add-localize/package.json b/integration/ng-add-localize/package.json index cd1c4a0c97c4..eb17d087c023 100644 --- a/integration/ng-add-localize/package.json +++ b/integration/ng-add-localize/package.json @@ -21,11 +21,11 @@ "zone.js": "0.16.2" }, "devDependencies": { - "@angular-devkit/build-angular": "22.1.7", - "@angular/cli": "22.1.7", + "@angular-devkit/build-angular": "22.1.8", + "@angular/cli": "22.1.8", "@angular/compiler-cli": "link:./in-existing-linked-by-bazel", "@types/node": "^20.14.8", "typescript": "6.0.3" }, - "packageManager": "pnpm@11.25.0" + "packageManager": "pnpm@11.26.0" } diff --git a/integration/ng-add-localize/pnpm-lock.yaml b/integration/ng-add-localize/pnpm-lock.yaml index 53ed16df865d..aa3b07fb6352 100644 --- a/integration/ng-add-localize/pnpm-lock.yaml +++ b/integration/ng-add-localize/pnpm-lock.yaml @@ -37,11 +37,11 @@ importers: version: 0.16.2 devDependencies: '@angular-devkit/build-angular': - specifier: 22.1.7 - version: 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@8.1.1))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@8.1.1)(typescript@6.0.3) + specifier: 22.1.8 + version: 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@8.1.1))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@8.1.1)(typescript@6.0.3) '@angular/cli': - specifier: 22.1.7 - version: 22.1.7(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@8.1.1) + specifier: 22.1.8 + version: 22.1.8(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@8.1.1) '@angular/compiler-cli': specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel @@ -58,13 +58,13 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@angular-devkit/architect@0.2201.7': - resolution: {integrity: sha512-qffChB0+3WuLcwDk9gx3p/Vl3zYJDomweui5zsLESDMzvJ8zsbKRkgohTieOngajx+XBsklp0gKcxjiVn4NvWQ==} + '@angular-devkit/architect@0.2201.8': + resolution: {integrity: sha512-EUQo8RDS1my2Bo5FRS+gBYgz1/klfIp9XESfMpTBO04nBkjF6DkPCeOxeAf1CYjWy9nCXcWn968eSdEhV5jXiA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true - '@angular-devkit/build-angular@22.1.7': - resolution: {integrity: sha512-bg2Lp9JyT2fyWzXF1DeKxDjmIVfs1KJiy1JjFo7wUGA7G4cI6PC8Jrw20F2Qkj+biXcUoeYMKCbbMBBU8xTIVw==} + '@angular-devkit/build-angular@22.1.8': + resolution: {integrity: sha512-UH75aJJ5lBpnu3QtC+WygE0Z5dESDLibNQ0jbcot4L7jnT/fLPWbffWp2WHvIjaUybVj/sh441N9rCiy0YMN3Q==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} deprecated: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead. peerDependencies: @@ -74,7 +74,7 @@ packages: '@angular/platform-browser': ^22.0.0 '@angular/platform-server': ^22.0.0 '@angular/service-worker': ^22.0.0 - '@angular/ssr': ^22.1.7 + '@angular/ssr': ^22.1.8 browser-sync: ^3.0.2 karma: ^6.3.0 ng-packagr: ^22.0.0 @@ -102,15 +102,15 @@ packages: tailwindcss: optional: true - '@angular-devkit/build-webpack@0.2201.7': - resolution: {integrity: sha512-bSF5s9B0RFBdOhCIFrv2idqtxYESi7LL6YQFctFnx4FcQp+mTU+ZomE2byO7ZxW5T3nuu9JHVFX5W2/xN34cJQ==} + '@angular-devkit/build-webpack@0.2201.8': + resolution: {integrity: sha512-T9Fl7Qcy40UFZaiGAY9ieJC3cgTTupS/eAncKTeuSdqCHpZn+IMhU+Nyl7C2yE4VZe3KCk8CGGKS3g4TmyH/QQ==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: webpack: ^5.30.0 webpack-dev-server: ^5.0.2 - '@angular-devkit/core@22.1.7': - resolution: {integrity: sha512-RKayeOOjhcIe/iBOM1fmtI5pjXwBEJh+u55VnSeIwYvFNXyxI0/jdRw4T6uhwusQ+1bzyya4d8q1mT9oaOQ/5A==} + '@angular-devkit/core@22.1.8': + resolution: {integrity: sha512-34lsgg2FwMVBX7nR/ZqzRUcdvdYPvSB8XAEr2GudXAyZwLI9ehzfQlagAWR/gEb8p4uCFZW0r7uU0toxydq4Rw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: chokidar: ^5.0.0 @@ -118,12 +118,12 @@ packages: chokidar: optional: true - '@angular-devkit/schematics@22.1.7': - resolution: {integrity: sha512-KOcVeT4MCsoPt6AMnXH7AbWZnzlKXhMyua2ITWij4UbLaNWCDwfIug/xrZssYLHUFwebCIqsR8iuG/BPH8Cz2w==} + '@angular-devkit/schematics@22.1.8': + resolution: {integrity: sha512-Pv3cPa/44kvEwYcqwx4Ns5dhIDmcFNSHhbpheqiEG1Z/u4e2t4zHKDtE3eHZB+8o+IcC7xJj+d+AqGR44RoZDA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - '@angular/build@22.1.7': - resolution: {integrity: sha512-YNZL3R2YS1qZud9zbJfW3ZSeEB0xAURBJEE0cf7WRCCwkn7NFlH7xXLW/zR+WRBwtcCBRsLrM2/ix3Y8FoKX9A==} + '@angular/build@22.1.8': + resolution: {integrity: sha512-tw+Evk0EITb8p8dTu743ONoFztCEiyDkdRbtZsh7C0vBS7Q9ElsOcFeg2Z9OAAwrmtZMIBuW3jrdPRQp7OCSdw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: '@angular/compiler': ^22.0.0 @@ -133,7 +133,7 @@ packages: '@angular/platform-browser': ^22.0.0 '@angular/platform-server': ^22.0.0 '@angular/service-worker': ^22.0.0 - '@angular/ssr': ^22.1.7 + '@angular/ssr': ^22.1.8 istanbul-lib-instrument: ^6.0.0 karma: ^6.4.0 less: ^4.2.0 @@ -174,8 +174,8 @@ packages: vitest: optional: true - '@angular/cli@22.1.7': - resolution: {integrity: sha512-dsOAAPHTXSrTvH5jIdZsFhqmcrTU9+aLXPSYSkQ1afMxPUT/JDjWH228xURYmCaM3ml0vVaT9R2p7/FrS7CJmg==} + '@angular/cli@22.1.8': + resolution: {integrity: sha512-MFN/FydqDndai8vF12hDxG5RlBt1HUUheeJgJNmuHYIne4bOAfOT+xuMpIK8+gLSRwCemdqR3OMM38pnsFJ/nA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true @@ -1419,8 +1419,8 @@ packages: '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4 '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.4 - '@ngtools/webpack@22.1.7': - resolution: {integrity: sha512-1cqXgu5DnINuZ1pJ4ZsiyLOFDXzEGkKNdMcBuQ73WVXRhE8CwN0bdHyjEW+gOff2QXAsB2uulk7e3XO52QCA3w==} + '@ngtools/webpack@22.1.8': + resolution: {integrity: sha512-U8VA7iaxDjSWaUOmYmcK1JjrQczoGQeq4QbBwFHo1ET3ArshIDtaiXkvuIwUDHBL4N2yGHAgEZZee8ChJvz77w==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} deprecated: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead. peerDependencies: @@ -1890,8 +1890,8 @@ packages: '@rolldown/pluginutils@1.0.1': resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} - '@schematics/angular@22.1.7': - resolution: {integrity: sha512-acBv147JjnwtWFgC8Af0KFBzPpb/TWaYxoWN/Ou3pXtUhYiEqnrdJeoFz3ssDw26eKFIdWnVBLB/dHORBykPBg==} + '@schematics/angular@22.1.8': + resolution: {integrity: sha512-V37T9uHOQVHyxxOqwcJ9xjSIW/mW9UuSfjOc7WJE4V8+3zj0abDJLHuoxDZKe0icYGapgOcvHyYjtNOjSeSivw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} '@tybys/wasm-util@0.10.3': @@ -4116,20 +4116,20 @@ snapshots: '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 - '@angular-devkit/architect@0.2201.7(chokidar@5.0.0)': + '@angular-devkit/architect@0.2201.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) rxjs: 7.8.2 transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@8.1.1))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@8.1.1)(typescript@6.0.3)': + '@angular-devkit/build-angular@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@8.1.1))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@8.1.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) - '@angular-devkit/build-webpack': 0.2201.7(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular/build': 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(less@4.9.0(supports-color@8.1.1))(postcss@8.5.25)(supports-color@8.1.1)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) + '@angular-devkit/build-webpack': 0.2201.8(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular/build': 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(less@4.9.0(supports-color@8.1.1))(postcss@8.5.25)(supports-color@8.1.1)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3) '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 '@babel/generator': 8.0.0 @@ -4141,7 +4141,7 @@ snapshots: '@babel/preset-env': 8.0.2(@babel/core@8.0.1) '@babel/runtime': 8.0.0 '@discoveryjs/json-ext': 1.1.0 - '@ngtools/webpack': 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) + '@ngtools/webpack': 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) ansi-colors: 4.1.3 autoprefixer: 10.5.4(postcss@8.5.25) babel-loader: 10.1.1(@babel/core@8.0.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) @@ -4217,16 +4217,16 @@ snapshots: - webpack-cli - yaml - '@angular-devkit/build-webpack@0.2201.7(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': + '@angular-devkit/build-webpack@0.2201.8(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': dependencies: - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) rxjs: 7.8.2 webpack: 5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25) webpack-dev-server: 5.2.6(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) transitivePeerDependencies: - chokidar - '@angular-devkit/core@22.1.7(chokidar@5.0.0)': + '@angular-devkit/core@22.1.8(chokidar@5.0.0)': dependencies: ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) @@ -4237,9 +4237,9 @@ snapshots: optionalDependencies: chokidar: 5.0.0 - '@angular-devkit/schematics@22.1.7(chokidar@5.0.0)': + '@angular-devkit/schematics@22.1.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 magic-string: 1.0.0 ora: 9.4.1 @@ -4247,10 +4247,10 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular/build@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(less@4.9.0(supports-color@8.1.1))(postcss@8.5.25)(supports-color@8.1.1)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(less@4.9.0(supports-color@8.1.1))(postcss@8.5.25)(supports-color@8.1.1)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) '@angular/compiler': link:in-existing-linked-by-bazel '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 @@ -4301,15 +4301,15 @@ snapshots: - tsx - yaml - '@angular/cli@22.1.7(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@8.1.1)': + '@angular/cli@22.1.8(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@8.1.1)': dependencies: - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular-devkit/schematics': 22.1.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.1.8(chokidar@5.0.0) '@inquirer/prompts': 8.5.2(@types/node@20.19.43) '@listr2/prompt-adapter-inquirer': 4.2.5(@inquirer/prompts@8.5.2(@types/node@20.19.43))(@types/node@20.19.43)(listr2@11.0.0) '@modelcontextprotocol/sdk': 1.30.0(supports-color@8.1.1)(zod@4.4.3) - '@schematics/angular': 22.1.7(chokidar@5.0.0) + '@schematics/angular': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 listr2: 11.0.0 npm-package-arg: 14.0.0 @@ -5559,7 +5559,7 @@ snapshots: '@tybys/wasm-util': 0.10.3 optional: true - '@ngtools/webpack@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': + '@ngtools/webpack@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': dependencies: '@angular/compiler-cli': link:in-existing-linked-by-bazel typescript: 6.0.3 @@ -5888,10 +5888,10 @@ snapshots: '@rolldown/pluginutils@1.0.1': {} - '@schematics/angular@22.1.7(chokidar@5.0.0)': + '@schematics/angular@22.1.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular-devkit/schematics': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 typescript: 6.0.3 transitivePeerDependencies: diff --git a/integration/ng_elements/package.json b/integration/ng_elements/package.json index 63cf02425138..ff354d465109 100644 --- a/integration/ng_elements/package.json +++ b/integration/ng_elements/package.json @@ -33,5 +33,5 @@ "protractor": "protractor e2e/protractor.config.js" }, "private": true, - "packageManager": "pnpm@11.25.0" + "packageManager": "pnpm@11.26.0" } diff --git a/integration/ng_update/package.json b/integration/ng_update/package.json index 61c729d533d1..05e72997bf9b 100644 --- a/integration/ng_update/package.json +++ b/integration/ng_update/package.json @@ -21,5 +21,5 @@ "typescript": "6.0.3", "zone.js": "0.16.2" }, - "packageManager": "pnpm@11.25.0" + "packageManager": "pnpm@11.26.0" } diff --git a/integration/no_ts_linker/package.json b/integration/no_ts_linker/package.json index 751287f8dcad..86e51a622547 100644 --- a/integration/no_ts_linker/package.json +++ b/integration/no_ts_linker/package.json @@ -13,5 +13,5 @@ "scripts": { "test": "node ./test.mjs" }, - "packageManager": "pnpm@11.25.0" + "packageManager": "pnpm@11.26.0" } diff --git a/integration/nodenext_resolution/package.json b/integration/nodenext_resolution/package.json index 8667cd586e75..14e6927ad191 100644 --- a/integration/nodenext_resolution/package.json +++ b/integration/nodenext_resolution/package.json @@ -27,5 +27,5 @@ "scripts": { "test": "tsc" }, - "packageManager": "pnpm@11.25.0" + "packageManager": "pnpm@11.26.0" } diff --git a/integration/platform-server-hydration/package.json b/integration/platform-server-hydration/package.json index aebcef48c1b2..77e3abbff309 100644 --- a/integration/platform-server-hydration/package.json +++ b/integration/platform-server-hydration/package.json @@ -20,15 +20,15 @@ "@angular/platform-browser": "link:./in-existing-linked-by-bazel", "@angular/platform-server": "link:./in-existing-linked-by-bazel", "@angular/router": "link:./in-existing-linked-by-bazel", - "@angular/ssr": "22.1.7", + "@angular/ssr": "22.1.8", "rxjs": "^7.0.0", "tslib": "^2.3.0", "zone.js": "0.16.2" }, "devDependencies": { - "@angular-devkit/build-angular": "22.1.7", - "@angular/build": "22.1.7", - "@angular/cli": "22.1.7", + "@angular-devkit/build-angular": "22.1.8", + "@angular/build": "22.1.8", + "@angular/cli": "22.1.8", "@angular/compiler-cli": "link:./in-existing-linked-by-bazel", "@types/jasmine": "^6.0.0", "@types/node": "^20.14.8", @@ -41,5 +41,5 @@ "ts-node": "^10.9.1", "typescript": "6.0.3" }, - "packageManager": "pnpm@11.25.0" + "packageManager": "pnpm@11.26.0" } diff --git a/integration/platform-server-hydration/pnpm-lock.yaml b/integration/platform-server-hydration/pnpm-lock.yaml index dcba43a31b41..df0ed82ea1ec 100644 --- a/integration/platform-server-hydration/pnpm-lock.yaml +++ b/integration/platform-server-hydration/pnpm-lock.yaml @@ -30,8 +30,8 @@ importers: specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel '@angular/ssr': - specifier: 22.1.7 - version: 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) + specifier: 22.1.8 + version: 22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) rxjs: specifier: ^7.0.0 version: 7.8.2 @@ -43,14 +43,14 @@ importers: version: 0.16.2 devDependencies: '@angular-devkit/build-angular': - specifier: 22.1.7 - version: 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@10.2.2))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@10.2.2)(typescript@6.0.3) + specifier: 22.1.8 + version: 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@10.2.2))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@10.2.2)(typescript@6.0.3) '@angular/build': - specifier: 22.1.7 - version: 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.26)(supports-color@10.2.2)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3) + specifier: 22.1.8 + version: 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.26)(supports-color@10.2.2)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/cli': - specifier: 22.1.7 - version: 22.1.7(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@10.2.2) + specifier: 22.1.8 + version: 22.1.8(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@10.2.2) '@angular/compiler-cli': specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel @@ -91,13 +91,13 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@angular-devkit/architect@0.2201.7': - resolution: {integrity: sha512-qffChB0+3WuLcwDk9gx3p/Vl3zYJDomweui5zsLESDMzvJ8zsbKRkgohTieOngajx+XBsklp0gKcxjiVn4NvWQ==} + '@angular-devkit/architect@0.2201.8': + resolution: {integrity: sha512-EUQo8RDS1my2Bo5FRS+gBYgz1/klfIp9XESfMpTBO04nBkjF6DkPCeOxeAf1CYjWy9nCXcWn968eSdEhV5jXiA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true - '@angular-devkit/build-angular@22.1.7': - resolution: {integrity: sha512-bg2Lp9JyT2fyWzXF1DeKxDjmIVfs1KJiy1JjFo7wUGA7G4cI6PC8Jrw20F2Qkj+biXcUoeYMKCbbMBBU8xTIVw==} + '@angular-devkit/build-angular@22.1.8': + resolution: {integrity: sha512-UH75aJJ5lBpnu3QtC+WygE0Z5dESDLibNQ0jbcot4L7jnT/fLPWbffWp2WHvIjaUybVj/sh441N9rCiy0YMN3Q==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} deprecated: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead. peerDependencies: @@ -107,7 +107,7 @@ packages: '@angular/platform-browser': ^22.0.0 '@angular/platform-server': ^22.0.0 '@angular/service-worker': ^22.0.0 - '@angular/ssr': ^22.1.7 + '@angular/ssr': ^22.1.8 browser-sync: ^3.0.2 karma: ^6.3.0 ng-packagr: ^22.0.0 @@ -135,15 +135,15 @@ packages: tailwindcss: optional: true - '@angular-devkit/build-webpack@0.2201.7': - resolution: {integrity: sha512-bSF5s9B0RFBdOhCIFrv2idqtxYESi7LL6YQFctFnx4FcQp+mTU+ZomE2byO7ZxW5T3nuu9JHVFX5W2/xN34cJQ==} + '@angular-devkit/build-webpack@0.2201.8': + resolution: {integrity: sha512-T9Fl7Qcy40UFZaiGAY9ieJC3cgTTupS/eAncKTeuSdqCHpZn+IMhU+Nyl7C2yE4VZe3KCk8CGGKS3g4TmyH/QQ==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: webpack: ^5.30.0 webpack-dev-server: ^5.0.2 - '@angular-devkit/core@22.1.7': - resolution: {integrity: sha512-RKayeOOjhcIe/iBOM1fmtI5pjXwBEJh+u55VnSeIwYvFNXyxI0/jdRw4T6uhwusQ+1bzyya4d8q1mT9oaOQ/5A==} + '@angular-devkit/core@22.1.8': + resolution: {integrity: sha512-34lsgg2FwMVBX7nR/ZqzRUcdvdYPvSB8XAEr2GudXAyZwLI9ehzfQlagAWR/gEb8p4uCFZW0r7uU0toxydq4Rw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: chokidar: ^5.0.0 @@ -151,12 +151,12 @@ packages: chokidar: optional: true - '@angular-devkit/schematics@22.1.7': - resolution: {integrity: sha512-KOcVeT4MCsoPt6AMnXH7AbWZnzlKXhMyua2ITWij4UbLaNWCDwfIug/xrZssYLHUFwebCIqsR8iuG/BPH8Cz2w==} + '@angular-devkit/schematics@22.1.8': + resolution: {integrity: sha512-Pv3cPa/44kvEwYcqwx4Ns5dhIDmcFNSHhbpheqiEG1Z/u4e2t4zHKDtE3eHZB+8o+IcC7xJj+d+AqGR44RoZDA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - '@angular/build@22.1.7': - resolution: {integrity: sha512-YNZL3R2YS1qZud9zbJfW3ZSeEB0xAURBJEE0cf7WRCCwkn7NFlH7xXLW/zR+WRBwtcCBRsLrM2/ix3Y8FoKX9A==} + '@angular/build@22.1.8': + resolution: {integrity: sha512-tw+Evk0EITb8p8dTu743ONoFztCEiyDkdRbtZsh7C0vBS7Q9ElsOcFeg2Z9OAAwrmtZMIBuW3jrdPRQp7OCSdw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: '@angular/compiler': ^22.0.0 @@ -166,7 +166,7 @@ packages: '@angular/platform-browser': ^22.0.0 '@angular/platform-server': ^22.0.0 '@angular/service-worker': ^22.0.0 - '@angular/ssr': ^22.1.7 + '@angular/ssr': ^22.1.8 istanbul-lib-instrument: ^6.0.0 karma: ^6.4.0 less: ^4.2.0 @@ -207,13 +207,13 @@ packages: vitest: optional: true - '@angular/cli@22.1.7': - resolution: {integrity: sha512-dsOAAPHTXSrTvH5jIdZsFhqmcrTU9+aLXPSYSkQ1afMxPUT/JDjWH228xURYmCaM3ml0vVaT9R2p7/FrS7CJmg==} + '@angular/cli@22.1.8': + resolution: {integrity: sha512-MFN/FydqDndai8vF12hDxG5RlBt1HUUheeJgJNmuHYIne4bOAfOT+xuMpIK8+gLSRwCemdqR3OMM38pnsFJ/nA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true - '@angular/ssr@22.1.7': - resolution: {integrity: sha512-fX766QHDeiMTIa+D1/OQaCMyW0EKO7nR+hUBcCd9gOcu3dMr3JnugEmLYReCCkQNKRjMmALSs7QS7o+ptrKsKg==} + '@angular/ssr@22.1.8': + resolution: {integrity: sha512-D/Is+0dXrFrYeWa3CGqN/inp73pvz+zMrje3wOAR22SBQSV4qPeY8Y4NuR8EflwMwsfiNAfGBYSDQs1WsEx+bQ==} peerDependencies: '@angular/common': ^22.0.0 '@angular/core': ^22.0.0 @@ -1470,8 +1470,8 @@ packages: '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4 '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.4 - '@ngtools/webpack@22.1.7': - resolution: {integrity: sha512-1cqXgu5DnINuZ1pJ4ZsiyLOFDXzEGkKNdMcBuQ73WVXRhE8CwN0bdHyjEW+gOff2QXAsB2uulk7e3XO52QCA3w==} + '@ngtools/webpack@22.1.8': + resolution: {integrity: sha512-U8VA7iaxDjSWaUOmYmcK1JjrQczoGQeq4QbBwFHo1ET3ArshIDtaiXkvuIwUDHBL4N2yGHAgEZZee8ChJvz77w==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} deprecated: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead. peerDependencies: @@ -1941,8 +1941,8 @@ packages: '@rolldown/pluginutils@1.0.1': resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} - '@schematics/angular@22.1.7': - resolution: {integrity: sha512-acBv147JjnwtWFgC8Af0KFBzPpb/TWaYxoWN/Ou3pXtUhYiEqnrdJeoFz3ssDw26eKFIdWnVBLB/dHORBykPBg==} + '@schematics/angular@22.1.8': + resolution: {integrity: sha512-V37T9uHOQVHyxxOqwcJ9xjSIW/mW9UuSfjOc7WJE4V8+3zj0abDJLHuoxDZKe0icYGapgOcvHyYjtNOjSeSivw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} '@tsconfig/node10@1.0.13': @@ -4727,20 +4727,20 @@ snapshots: '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 - '@angular-devkit/architect@0.2201.7(chokidar@5.0.0)': + '@angular-devkit/architect@0.2201.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) rxjs: 7.8.2 transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@10.2.2))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@10.2.2)(typescript@6.0.3)': + '@angular-devkit/build-angular@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@10.2.2))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@10.2.2)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) - '@angular-devkit/build-webpack': 0.2201.7(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular/build': 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.25)(supports-color@10.2.2)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) + '@angular-devkit/build-webpack': 0.2201.8(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular/build': 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.25)(supports-color@10.2.2)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3) '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 '@babel/generator': 8.0.0 @@ -4752,7 +4752,7 @@ snapshots: '@babel/preset-env': 8.0.2(@babel/core@8.0.1) '@babel/runtime': 8.0.0 '@discoveryjs/json-ext': 1.1.0 - '@ngtools/webpack': 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) + '@ngtools/webpack': 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) ansi-colors: 4.1.3 autoprefixer: 10.5.4(postcss@8.5.25) babel-loader: 10.1.1(@babel/core@8.0.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) @@ -4795,7 +4795,7 @@ snapshots: '@angular/core': link:in-existing-linked-by-bazel '@angular/platform-browser': link:in-existing-linked-by-bazel '@angular/platform-server': link:in-existing-linked-by-bazel - '@angular/ssr': 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) + '@angular/ssr': 22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) esbuild: 0.28.2 transitivePeerDependencies: - '@angular/compiler' @@ -4829,16 +4829,16 @@ snapshots: - webpack-cli - yaml - '@angular-devkit/build-webpack@0.2201.7(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': + '@angular-devkit/build-webpack@0.2201.8(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': dependencies: - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) rxjs: 7.8.2 webpack: 5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25) webpack-dev-server: 5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) transitivePeerDependencies: - chokidar - '@angular-devkit/core@22.1.7(chokidar@5.0.0)': + '@angular-devkit/core@22.1.8(chokidar@5.0.0)': dependencies: ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) @@ -4849,9 +4849,9 @@ snapshots: optionalDependencies: chokidar: 5.0.0 - '@angular-devkit/schematics@22.1.7(chokidar@5.0.0)': + '@angular-devkit/schematics@22.1.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 magic-string: 1.0.0 ora: 9.4.1 @@ -4859,10 +4859,10 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular/build@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.25)(supports-color@10.2.2)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.25)(supports-color@10.2.2)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) '@angular/compiler': link:in-existing-linked-by-bazel '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 @@ -4895,7 +4895,7 @@ snapshots: '@angular/core': link:in-existing-linked-by-bazel '@angular/platform-browser': link:in-existing-linked-by-bazel '@angular/platform-server': link:in-existing-linked-by-bazel - '@angular/ssr': 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) + '@angular/ssr': 22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) istanbul-lib-instrument: 6.0.3(supports-color@10.2.2) less: 4.9.0(supports-color@10.2.2) lmdb: 3.5.6 @@ -4914,10 +4914,10 @@ snapshots: - tsx - yaml - '@angular/build@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.26)(supports-color@10.2.2)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.26)(supports-color@10.2.2)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) '@angular/compiler': link:in-existing-linked-by-bazel '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 @@ -4950,7 +4950,7 @@ snapshots: '@angular/core': link:in-existing-linked-by-bazel '@angular/platform-browser': link:in-existing-linked-by-bazel '@angular/platform-server': link:in-existing-linked-by-bazel - '@angular/ssr': 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) + '@angular/ssr': 22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) istanbul-lib-instrument: 6.0.3(supports-color@10.2.2) less: 4.9.0(supports-color@10.2.2) lmdb: 3.5.6 @@ -4969,15 +4969,15 @@ snapshots: - tsx - yaml - '@angular/cli@22.1.7(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@10.2.2)': + '@angular/cli@22.1.8(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@10.2.2)': dependencies: - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular-devkit/schematics': 22.1.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.1.8(chokidar@5.0.0) '@inquirer/prompts': 8.5.2(@types/node@20.19.43) '@listr2/prompt-adapter-inquirer': 4.2.5(@inquirer/prompts@8.5.2(@types/node@20.19.43))(@types/node@20.19.43)(listr2@11.0.0) '@modelcontextprotocol/sdk': 1.30.0(supports-color@10.2.2)(zod@4.4.3) - '@schematics/angular': 22.1.7(chokidar@5.0.0) + '@schematics/angular': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 listr2: 11.0.0 npm-package-arg: 14.0.0 @@ -4991,7 +4991,7 @@ snapshots: - chokidar - supports-color - '@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel)': + '@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel)': dependencies: '@angular/common': link:in-existing-linked-by-bazel '@angular/core': link:in-existing-linked-by-bazel @@ -6245,7 +6245,7 @@ snapshots: '@tybys/wasm-util': 0.10.3 optional: true - '@ngtools/webpack@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': + '@ngtools/webpack@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': dependencies: '@angular/compiler-cli': link:in-existing-linked-by-bazel typescript: 6.0.3 @@ -6574,10 +6574,10 @@ snapshots: '@rolldown/pluginutils@1.0.1': {} - '@schematics/angular@22.1.7(chokidar@5.0.0)': + '@schematics/angular@22.1.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular-devkit/schematics': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 typescript: 6.0.3 transitivePeerDependencies: diff --git a/integration/platform-server-zoneless/package.json b/integration/platform-server-zoneless/package.json index 41be9b3149c3..3f0926b77053 100644 --- a/integration/platform-server-zoneless/package.json +++ b/integration/platform-server-zoneless/package.json @@ -21,15 +21,15 @@ "@angular/platform-browser": "link:./in-existing-linked-by-bazel", "@angular/platform-server": "link:./in-existing-linked-by-bazel", "@angular/router": "link:./in-existing-linked-by-bazel", - "@angular/ssr": "22.1.7", + "@angular/ssr": "22.1.8", "express": "~5.2.0", "rxjs": "^7.0.0", "tslib": "^2.3.0" }, "devDependencies": { - "@angular-devkit/build-angular": "22.1.7", - "@angular/build": "22.1.7", - "@angular/cli": "22.1.7", + "@angular-devkit/build-angular": "22.1.8", + "@angular/build": "22.1.8", + "@angular/cli": "22.1.8", "@angular/compiler-cli": "link:./in-existing-linked-by-bazel", "@types/express": "^5.0.3", "@types/jasmine": "^6.0.0", @@ -43,5 +43,5 @@ "ts-node": "^10.9.1", "typescript": "6.0.3" }, - "packageManager": "pnpm@11.25.0" + "packageManager": "pnpm@11.26.0" } diff --git a/integration/platform-server-zoneless/pnpm-lock.yaml b/integration/platform-server-zoneless/pnpm-lock.yaml index 966b515b7228..2eac176fbc77 100644 --- a/integration/platform-server-zoneless/pnpm-lock.yaml +++ b/integration/platform-server-zoneless/pnpm-lock.yaml @@ -33,8 +33,8 @@ importers: specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel '@angular/ssr': - specifier: 22.1.7 - version: 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) + specifier: 22.1.8 + version: 22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) express: specifier: ~5.2.0 version: 5.2.1(supports-color@10.2.2) @@ -46,14 +46,14 @@ importers: version: 2.8.1 devDependencies: '@angular-devkit/build-angular': - specifier: 22.1.7 - version: 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@10.2.2))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@10.2.2)(typescript@6.0.3) + specifier: 22.1.8 + version: 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@10.2.2))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@10.2.2)(typescript@6.0.3) '@angular/build': - specifier: 22.1.7 - version: 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.26)(supports-color@10.2.2)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3) + specifier: 22.1.8 + version: 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.26)(supports-color@10.2.2)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/cli': - specifier: 22.1.7 - version: 22.1.7(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@10.2.2) + specifier: 22.1.8 + version: 22.1.8(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@10.2.2) '@angular/compiler-cli': specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel @@ -97,13 +97,13 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@angular-devkit/architect@0.2201.7': - resolution: {integrity: sha512-qffChB0+3WuLcwDk9gx3p/Vl3zYJDomweui5zsLESDMzvJ8zsbKRkgohTieOngajx+XBsklp0gKcxjiVn4NvWQ==} + '@angular-devkit/architect@0.2201.8': + resolution: {integrity: sha512-EUQo8RDS1my2Bo5FRS+gBYgz1/klfIp9XESfMpTBO04nBkjF6DkPCeOxeAf1CYjWy9nCXcWn968eSdEhV5jXiA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true - '@angular-devkit/build-angular@22.1.7': - resolution: {integrity: sha512-bg2Lp9JyT2fyWzXF1DeKxDjmIVfs1KJiy1JjFo7wUGA7G4cI6PC8Jrw20F2Qkj+biXcUoeYMKCbbMBBU8xTIVw==} + '@angular-devkit/build-angular@22.1.8': + resolution: {integrity: sha512-UH75aJJ5lBpnu3QtC+WygE0Z5dESDLibNQ0jbcot4L7jnT/fLPWbffWp2WHvIjaUybVj/sh441N9rCiy0YMN3Q==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} deprecated: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead. peerDependencies: @@ -113,7 +113,7 @@ packages: '@angular/platform-browser': ^22.0.0 '@angular/platform-server': ^22.0.0 '@angular/service-worker': ^22.0.0 - '@angular/ssr': ^22.1.7 + '@angular/ssr': ^22.1.8 browser-sync: ^3.0.2 karma: ^6.3.0 ng-packagr: ^22.0.0 @@ -141,15 +141,15 @@ packages: tailwindcss: optional: true - '@angular-devkit/build-webpack@0.2201.7': - resolution: {integrity: sha512-bSF5s9B0RFBdOhCIFrv2idqtxYESi7LL6YQFctFnx4FcQp+mTU+ZomE2byO7ZxW5T3nuu9JHVFX5W2/xN34cJQ==} + '@angular-devkit/build-webpack@0.2201.8': + resolution: {integrity: sha512-T9Fl7Qcy40UFZaiGAY9ieJC3cgTTupS/eAncKTeuSdqCHpZn+IMhU+Nyl7C2yE4VZe3KCk8CGGKS3g4TmyH/QQ==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: webpack: ^5.30.0 webpack-dev-server: ^5.0.2 - '@angular-devkit/core@22.1.7': - resolution: {integrity: sha512-RKayeOOjhcIe/iBOM1fmtI5pjXwBEJh+u55VnSeIwYvFNXyxI0/jdRw4T6uhwusQ+1bzyya4d8q1mT9oaOQ/5A==} + '@angular-devkit/core@22.1.8': + resolution: {integrity: sha512-34lsgg2FwMVBX7nR/ZqzRUcdvdYPvSB8XAEr2GudXAyZwLI9ehzfQlagAWR/gEb8p4uCFZW0r7uU0toxydq4Rw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: chokidar: ^5.0.0 @@ -157,12 +157,12 @@ packages: chokidar: optional: true - '@angular-devkit/schematics@22.1.7': - resolution: {integrity: sha512-KOcVeT4MCsoPt6AMnXH7AbWZnzlKXhMyua2ITWij4UbLaNWCDwfIug/xrZssYLHUFwebCIqsR8iuG/BPH8Cz2w==} + '@angular-devkit/schematics@22.1.8': + resolution: {integrity: sha512-Pv3cPa/44kvEwYcqwx4Ns5dhIDmcFNSHhbpheqiEG1Z/u4e2t4zHKDtE3eHZB+8o+IcC7xJj+d+AqGR44RoZDA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - '@angular/build@22.1.7': - resolution: {integrity: sha512-YNZL3R2YS1qZud9zbJfW3ZSeEB0xAURBJEE0cf7WRCCwkn7NFlH7xXLW/zR+WRBwtcCBRsLrM2/ix3Y8FoKX9A==} + '@angular/build@22.1.8': + resolution: {integrity: sha512-tw+Evk0EITb8p8dTu743ONoFztCEiyDkdRbtZsh7C0vBS7Q9ElsOcFeg2Z9OAAwrmtZMIBuW3jrdPRQp7OCSdw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: '@angular/compiler': ^22.0.0 @@ -172,7 +172,7 @@ packages: '@angular/platform-browser': ^22.0.0 '@angular/platform-server': ^22.0.0 '@angular/service-worker': ^22.0.0 - '@angular/ssr': ^22.1.7 + '@angular/ssr': ^22.1.8 istanbul-lib-instrument: ^6.0.0 karma: ^6.4.0 less: ^4.2.0 @@ -213,13 +213,13 @@ packages: vitest: optional: true - '@angular/cli@22.1.7': - resolution: {integrity: sha512-dsOAAPHTXSrTvH5jIdZsFhqmcrTU9+aLXPSYSkQ1afMxPUT/JDjWH228xURYmCaM3ml0vVaT9R2p7/FrS7CJmg==} + '@angular/cli@22.1.8': + resolution: {integrity: sha512-MFN/FydqDndai8vF12hDxG5RlBt1HUUheeJgJNmuHYIne4bOAfOT+xuMpIK8+gLSRwCemdqR3OMM38pnsFJ/nA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true - '@angular/ssr@22.1.7': - resolution: {integrity: sha512-fX766QHDeiMTIa+D1/OQaCMyW0EKO7nR+hUBcCd9gOcu3dMr3JnugEmLYReCCkQNKRjMmALSs7QS7o+ptrKsKg==} + '@angular/ssr@22.1.8': + resolution: {integrity: sha512-D/Is+0dXrFrYeWa3CGqN/inp73pvz+zMrje3wOAR22SBQSV4qPeY8Y4NuR8EflwMwsfiNAfGBYSDQs1WsEx+bQ==} peerDependencies: '@angular/common': ^22.0.0 '@angular/core': ^22.0.0 @@ -1476,8 +1476,8 @@ packages: '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4 '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.4 - '@ngtools/webpack@22.1.7': - resolution: {integrity: sha512-1cqXgu5DnINuZ1pJ4ZsiyLOFDXzEGkKNdMcBuQ73WVXRhE8CwN0bdHyjEW+gOff2QXAsB2uulk7e3XO52QCA3w==} + '@ngtools/webpack@22.1.8': + resolution: {integrity: sha512-U8VA7iaxDjSWaUOmYmcK1JjrQczoGQeq4QbBwFHo1ET3ArshIDtaiXkvuIwUDHBL4N2yGHAgEZZee8ChJvz77w==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} deprecated: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead. peerDependencies: @@ -1947,8 +1947,8 @@ packages: '@rolldown/pluginutils@1.0.1': resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} - '@schematics/angular@22.1.7': - resolution: {integrity: sha512-acBv147JjnwtWFgC8Af0KFBzPpb/TWaYxoWN/Ou3pXtUhYiEqnrdJeoFz3ssDw26eKFIdWnVBLB/dHORBykPBg==} + '@schematics/angular@22.1.8': + resolution: {integrity: sha512-V37T9uHOQVHyxxOqwcJ9xjSIW/mW9UuSfjOc7WJE4V8+3zj0abDJLHuoxDZKe0icYGapgOcvHyYjtNOjSeSivw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} '@tsconfig/node10@1.0.13': @@ -4739,20 +4739,20 @@ snapshots: '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 - '@angular-devkit/architect@0.2201.7(chokidar@5.0.0)': + '@angular-devkit/architect@0.2201.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) rxjs: 7.8.2 transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@10.2.2))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@10.2.2)(typescript@6.0.3)': + '@angular-devkit/build-angular@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@10.2.2))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@10.2.2)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) - '@angular-devkit/build-webpack': 0.2201.7(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular/build': 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.25)(supports-color@10.2.2)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) + '@angular-devkit/build-webpack': 0.2201.8(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular/build': 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.25)(supports-color@10.2.2)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3) '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 '@babel/generator': 8.0.0 @@ -4764,7 +4764,7 @@ snapshots: '@babel/preset-env': 8.0.2(@babel/core@8.0.1) '@babel/runtime': 8.0.0 '@discoveryjs/json-ext': 1.1.0 - '@ngtools/webpack': 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) + '@ngtools/webpack': 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) ansi-colors: 4.1.3 autoprefixer: 10.5.4(postcss@8.5.25) babel-loader: 10.1.1(@babel/core@8.0.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) @@ -4807,7 +4807,7 @@ snapshots: '@angular/core': link:in-existing-linked-by-bazel '@angular/platform-browser': link:in-existing-linked-by-bazel '@angular/platform-server': link:in-existing-linked-by-bazel - '@angular/ssr': 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) + '@angular/ssr': 22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) esbuild: 0.28.2 transitivePeerDependencies: - '@angular/compiler' @@ -4841,16 +4841,16 @@ snapshots: - webpack-cli - yaml - '@angular-devkit/build-webpack@0.2201.7(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': + '@angular-devkit/build-webpack@0.2201.8(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': dependencies: - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) rxjs: 7.8.2 webpack: 5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25) webpack-dev-server: 5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) transitivePeerDependencies: - chokidar - '@angular-devkit/core@22.1.7(chokidar@5.0.0)': + '@angular-devkit/core@22.1.8(chokidar@5.0.0)': dependencies: ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) @@ -4861,9 +4861,9 @@ snapshots: optionalDependencies: chokidar: 5.0.0 - '@angular-devkit/schematics@22.1.7(chokidar@5.0.0)': + '@angular-devkit/schematics@22.1.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 magic-string: 1.0.0 ora: 9.4.1 @@ -4871,10 +4871,10 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular/build@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.25)(supports-color@10.2.2)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.25)(supports-color@10.2.2)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) '@angular/compiler': link:in-existing-linked-by-bazel '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 @@ -4907,7 +4907,7 @@ snapshots: '@angular/core': link:in-existing-linked-by-bazel '@angular/platform-browser': link:in-existing-linked-by-bazel '@angular/platform-server': link:in-existing-linked-by-bazel - '@angular/ssr': 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) + '@angular/ssr': 22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) istanbul-lib-instrument: 6.0.3(supports-color@10.2.2) less: 4.9.0(supports-color@10.2.2) lmdb: 3.5.6 @@ -4926,10 +4926,10 @@ snapshots: - tsx - yaml - '@angular/build@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.26)(supports-color@10.2.2)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.26)(supports-color@10.2.2)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) '@angular/compiler': link:in-existing-linked-by-bazel '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 @@ -4962,7 +4962,7 @@ snapshots: '@angular/core': link:in-existing-linked-by-bazel '@angular/platform-browser': link:in-existing-linked-by-bazel '@angular/platform-server': link:in-existing-linked-by-bazel - '@angular/ssr': 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) + '@angular/ssr': 22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) istanbul-lib-instrument: 6.0.3(supports-color@10.2.2) less: 4.9.0(supports-color@10.2.2) lmdb: 3.5.6 @@ -4981,15 +4981,15 @@ snapshots: - tsx - yaml - '@angular/cli@22.1.7(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@10.2.2)': + '@angular/cli@22.1.8(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@10.2.2)': dependencies: - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular-devkit/schematics': 22.1.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.1.8(chokidar@5.0.0) '@inquirer/prompts': 8.5.2(@types/node@20.19.43) '@listr2/prompt-adapter-inquirer': 4.2.5(@inquirer/prompts@8.5.2(@types/node@20.19.43))(@types/node@20.19.43)(listr2@11.0.0) '@modelcontextprotocol/sdk': 1.30.0(supports-color@10.2.2)(zod@4.4.3) - '@schematics/angular': 22.1.7(chokidar@5.0.0) + '@schematics/angular': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 listr2: 11.0.0 npm-package-arg: 14.0.0 @@ -5003,7 +5003,7 @@ snapshots: - chokidar - supports-color - '@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel)': + '@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel)': dependencies: '@angular/common': link:in-existing-linked-by-bazel '@angular/core': link:in-existing-linked-by-bazel @@ -6257,7 +6257,7 @@ snapshots: '@tybys/wasm-util': 0.10.3 optional: true - '@ngtools/webpack@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': + '@ngtools/webpack@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': dependencies: '@angular/compiler-cli': link:in-existing-linked-by-bazel typescript: 6.0.3 @@ -6586,10 +6586,10 @@ snapshots: '@rolldown/pluginutils@1.0.1': {} - '@schematics/angular@22.1.7(chokidar@5.0.0)': + '@schematics/angular@22.1.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular-devkit/schematics': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 typescript: 6.0.3 transitivePeerDependencies: diff --git a/integration/platform-server/package.json b/integration/platform-server/package.json index da52e2d1335b..e4b5a0ba8a33 100644 --- a/integration/platform-server/package.json +++ b/integration/platform-server/package.json @@ -24,16 +24,16 @@ "@angular/platform-browser": "link:./in-existing-linked-by-bazel", "@angular/platform-server": "link:./in-existing-linked-by-bazel", "@angular/router": "link:./in-existing-linked-by-bazel", - "@angular/ssr": "22.1.7", + "@angular/ssr": "22.1.8", "express": "~5.2.0", "rxjs": "^7.0.0", "tslib": "^2.3.0", "zone.js": "0.16.2" }, "devDependencies": { - "@angular-devkit/build-angular": "22.1.7", - "@angular/build": "22.1.7", - "@angular/cli": "22.1.7", + "@angular-devkit/build-angular": "22.1.8", + "@angular/build": "22.1.8", + "@angular/cli": "22.1.8", "@angular/compiler-cli": "link:./in-existing-linked-by-bazel", "@types/express": "^5.0.3", "@types/jasmine": "^6.0.0", @@ -47,5 +47,5 @@ "ts-node": "^10.9.1", "typescript": "6.0.3" }, - "packageManager": "pnpm@11.25.0" + "packageManager": "pnpm@11.26.0" } diff --git a/integration/platform-server/pnpm-lock.yaml b/integration/platform-server/pnpm-lock.yaml index 92b5323ebecf..5ef90530d784 100644 --- a/integration/platform-server/pnpm-lock.yaml +++ b/integration/platform-server/pnpm-lock.yaml @@ -33,8 +33,8 @@ importers: specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel '@angular/ssr': - specifier: 22.1.7 - version: 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) + specifier: 22.1.8 + version: 22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) express: specifier: ~5.2.0 version: 5.2.1(supports-color@10.2.2) @@ -49,14 +49,14 @@ importers: version: 0.16.2 devDependencies: '@angular-devkit/build-angular': - specifier: 22.1.7 - version: 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@10.2.2))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@10.2.2)(typescript@6.0.3) + specifier: 22.1.8 + version: 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@10.2.2))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@10.2.2)(typescript@6.0.3) '@angular/build': - specifier: 22.1.7 - version: 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.26)(supports-color@10.2.2)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3) + specifier: 22.1.8 + version: 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.26)(supports-color@10.2.2)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/cli': - specifier: 22.1.7 - version: 22.1.7(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@10.2.2) + specifier: 22.1.8 + version: 22.1.8(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@10.2.2) '@angular/compiler-cli': specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel @@ -100,13 +100,13 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@angular-devkit/architect@0.2201.7': - resolution: {integrity: sha512-qffChB0+3WuLcwDk9gx3p/Vl3zYJDomweui5zsLESDMzvJ8zsbKRkgohTieOngajx+XBsklp0gKcxjiVn4NvWQ==} + '@angular-devkit/architect@0.2201.8': + resolution: {integrity: sha512-EUQo8RDS1my2Bo5FRS+gBYgz1/klfIp9XESfMpTBO04nBkjF6DkPCeOxeAf1CYjWy9nCXcWn968eSdEhV5jXiA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true - '@angular-devkit/build-angular@22.1.7': - resolution: {integrity: sha512-bg2Lp9JyT2fyWzXF1DeKxDjmIVfs1KJiy1JjFo7wUGA7G4cI6PC8Jrw20F2Qkj+biXcUoeYMKCbbMBBU8xTIVw==} + '@angular-devkit/build-angular@22.1.8': + resolution: {integrity: sha512-UH75aJJ5lBpnu3QtC+WygE0Z5dESDLibNQ0jbcot4L7jnT/fLPWbffWp2WHvIjaUybVj/sh441N9rCiy0YMN3Q==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} deprecated: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead. peerDependencies: @@ -116,7 +116,7 @@ packages: '@angular/platform-browser': ^22.0.0 '@angular/platform-server': ^22.0.0 '@angular/service-worker': ^22.0.0 - '@angular/ssr': ^22.1.7 + '@angular/ssr': ^22.1.8 browser-sync: ^3.0.2 karma: ^6.3.0 ng-packagr: ^22.0.0 @@ -144,15 +144,15 @@ packages: tailwindcss: optional: true - '@angular-devkit/build-webpack@0.2201.7': - resolution: {integrity: sha512-bSF5s9B0RFBdOhCIFrv2idqtxYESi7LL6YQFctFnx4FcQp+mTU+ZomE2byO7ZxW5T3nuu9JHVFX5W2/xN34cJQ==} + '@angular-devkit/build-webpack@0.2201.8': + resolution: {integrity: sha512-T9Fl7Qcy40UFZaiGAY9ieJC3cgTTupS/eAncKTeuSdqCHpZn+IMhU+Nyl7C2yE4VZe3KCk8CGGKS3g4TmyH/QQ==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: webpack: ^5.30.0 webpack-dev-server: ^5.0.2 - '@angular-devkit/core@22.1.7': - resolution: {integrity: sha512-RKayeOOjhcIe/iBOM1fmtI5pjXwBEJh+u55VnSeIwYvFNXyxI0/jdRw4T6uhwusQ+1bzyya4d8q1mT9oaOQ/5A==} + '@angular-devkit/core@22.1.8': + resolution: {integrity: sha512-34lsgg2FwMVBX7nR/ZqzRUcdvdYPvSB8XAEr2GudXAyZwLI9ehzfQlagAWR/gEb8p4uCFZW0r7uU0toxydq4Rw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: chokidar: ^5.0.0 @@ -160,12 +160,12 @@ packages: chokidar: optional: true - '@angular-devkit/schematics@22.1.7': - resolution: {integrity: sha512-KOcVeT4MCsoPt6AMnXH7AbWZnzlKXhMyua2ITWij4UbLaNWCDwfIug/xrZssYLHUFwebCIqsR8iuG/BPH8Cz2w==} + '@angular-devkit/schematics@22.1.8': + resolution: {integrity: sha512-Pv3cPa/44kvEwYcqwx4Ns5dhIDmcFNSHhbpheqiEG1Z/u4e2t4zHKDtE3eHZB+8o+IcC7xJj+d+AqGR44RoZDA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - '@angular/build@22.1.7': - resolution: {integrity: sha512-YNZL3R2YS1qZud9zbJfW3ZSeEB0xAURBJEE0cf7WRCCwkn7NFlH7xXLW/zR+WRBwtcCBRsLrM2/ix3Y8FoKX9A==} + '@angular/build@22.1.8': + resolution: {integrity: sha512-tw+Evk0EITb8p8dTu743ONoFztCEiyDkdRbtZsh7C0vBS7Q9ElsOcFeg2Z9OAAwrmtZMIBuW3jrdPRQp7OCSdw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: '@angular/compiler': ^22.0.0 @@ -175,7 +175,7 @@ packages: '@angular/platform-browser': ^22.0.0 '@angular/platform-server': ^22.0.0 '@angular/service-worker': ^22.0.0 - '@angular/ssr': ^22.1.7 + '@angular/ssr': ^22.1.8 istanbul-lib-instrument: ^6.0.0 karma: ^6.4.0 less: ^4.2.0 @@ -216,13 +216,13 @@ packages: vitest: optional: true - '@angular/cli@22.1.7': - resolution: {integrity: sha512-dsOAAPHTXSrTvH5jIdZsFhqmcrTU9+aLXPSYSkQ1afMxPUT/JDjWH228xURYmCaM3ml0vVaT9R2p7/FrS7CJmg==} + '@angular/cli@22.1.8': + resolution: {integrity: sha512-MFN/FydqDndai8vF12hDxG5RlBt1HUUheeJgJNmuHYIne4bOAfOT+xuMpIK8+gLSRwCemdqR3OMM38pnsFJ/nA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true - '@angular/ssr@22.1.7': - resolution: {integrity: sha512-fX766QHDeiMTIa+D1/OQaCMyW0EKO7nR+hUBcCd9gOcu3dMr3JnugEmLYReCCkQNKRjMmALSs7QS7o+ptrKsKg==} + '@angular/ssr@22.1.8': + resolution: {integrity: sha512-D/Is+0dXrFrYeWa3CGqN/inp73pvz+zMrje3wOAR22SBQSV4qPeY8Y4NuR8EflwMwsfiNAfGBYSDQs1WsEx+bQ==} peerDependencies: '@angular/common': ^22.0.0 '@angular/core': ^22.0.0 @@ -1479,8 +1479,8 @@ packages: '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4 '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.4 - '@ngtools/webpack@22.1.7': - resolution: {integrity: sha512-1cqXgu5DnINuZ1pJ4ZsiyLOFDXzEGkKNdMcBuQ73WVXRhE8CwN0bdHyjEW+gOff2QXAsB2uulk7e3XO52QCA3w==} + '@ngtools/webpack@22.1.8': + resolution: {integrity: sha512-U8VA7iaxDjSWaUOmYmcK1JjrQczoGQeq4QbBwFHo1ET3ArshIDtaiXkvuIwUDHBL4N2yGHAgEZZee8ChJvz77w==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} deprecated: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead. peerDependencies: @@ -1950,8 +1950,8 @@ packages: '@rolldown/pluginutils@1.0.1': resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} - '@schematics/angular@22.1.7': - resolution: {integrity: sha512-acBv147JjnwtWFgC8Af0KFBzPpb/TWaYxoWN/Ou3pXtUhYiEqnrdJeoFz3ssDw26eKFIdWnVBLB/dHORBykPBg==} + '@schematics/angular@22.1.8': + resolution: {integrity: sha512-V37T9uHOQVHyxxOqwcJ9xjSIW/mW9UuSfjOc7WJE4V8+3zj0abDJLHuoxDZKe0icYGapgOcvHyYjtNOjSeSivw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} '@tsconfig/node10@1.0.13': @@ -4745,20 +4745,20 @@ snapshots: '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 - '@angular-devkit/architect@0.2201.7(chokidar@5.0.0)': + '@angular-devkit/architect@0.2201.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) rxjs: 7.8.2 transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@10.2.2))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@10.2.2)(typescript@6.0.3)': + '@angular-devkit/build-angular@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@10.2.2))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@10.2.2)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) - '@angular-devkit/build-webpack': 0.2201.7(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular/build': 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.25)(supports-color@10.2.2)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) + '@angular-devkit/build-webpack': 0.2201.8(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular/build': 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.25)(supports-color@10.2.2)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3) '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 '@babel/generator': 8.0.0 @@ -4770,7 +4770,7 @@ snapshots: '@babel/preset-env': 8.0.2(@babel/core@8.0.1) '@babel/runtime': 8.0.0 '@discoveryjs/json-ext': 1.1.0 - '@ngtools/webpack': 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) + '@ngtools/webpack': 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) ansi-colors: 4.1.3 autoprefixer: 10.5.4(postcss@8.5.25) babel-loader: 10.1.1(@babel/core@8.0.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) @@ -4813,7 +4813,7 @@ snapshots: '@angular/core': link:in-existing-linked-by-bazel '@angular/platform-browser': link:in-existing-linked-by-bazel '@angular/platform-server': link:in-existing-linked-by-bazel - '@angular/ssr': 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) + '@angular/ssr': 22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) esbuild: 0.28.2 transitivePeerDependencies: - '@angular/compiler' @@ -4847,16 +4847,16 @@ snapshots: - webpack-cli - yaml - '@angular-devkit/build-webpack@0.2201.7(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': + '@angular-devkit/build-webpack@0.2201.8(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': dependencies: - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) rxjs: 7.8.2 webpack: 5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25) webpack-dev-server: 5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) transitivePeerDependencies: - chokidar - '@angular-devkit/core@22.1.7(chokidar@5.0.0)': + '@angular-devkit/core@22.1.8(chokidar@5.0.0)': dependencies: ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) @@ -4867,9 +4867,9 @@ snapshots: optionalDependencies: chokidar: 5.0.0 - '@angular-devkit/schematics@22.1.7(chokidar@5.0.0)': + '@angular-devkit/schematics@22.1.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 magic-string: 1.0.0 ora: 9.4.1 @@ -4877,10 +4877,10 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular/build@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.25)(supports-color@10.2.2)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.25)(supports-color@10.2.2)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) '@angular/compiler': link:in-existing-linked-by-bazel '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 @@ -4913,7 +4913,7 @@ snapshots: '@angular/core': link:in-existing-linked-by-bazel '@angular/platform-browser': link:in-existing-linked-by-bazel '@angular/platform-server': link:in-existing-linked-by-bazel - '@angular/ssr': 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) + '@angular/ssr': 22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) istanbul-lib-instrument: 6.0.3(supports-color@10.2.2) less: 4.9.0(supports-color@10.2.2) lmdb: 3.5.6 @@ -4932,10 +4932,10 @@ snapshots: - tsx - yaml - '@angular/build@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.26)(supports-color@10.2.2)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(less@4.9.0(supports-color@10.2.2))(postcss@8.5.26)(supports-color@10.2.2)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) '@angular/compiler': link:in-existing-linked-by-bazel '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 @@ -4968,7 +4968,7 @@ snapshots: '@angular/core': link:in-existing-linked-by-bazel '@angular/platform-browser': link:in-existing-linked-by-bazel '@angular/platform-server': link:in-existing-linked-by-bazel - '@angular/ssr': 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) + '@angular/ssr': 22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) istanbul-lib-instrument: 6.0.3(supports-color@10.2.2) less: 4.9.0(supports-color@10.2.2) lmdb: 3.5.6 @@ -4987,15 +4987,15 @@ snapshots: - tsx - yaml - '@angular/cli@22.1.7(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@10.2.2)': + '@angular/cli@22.1.8(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@10.2.2)': dependencies: - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular-devkit/schematics': 22.1.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.1.8(chokidar@5.0.0) '@inquirer/prompts': 8.5.2(@types/node@20.19.43) '@listr2/prompt-adapter-inquirer': 4.2.5(@inquirer/prompts@8.5.2(@types/node@20.19.43))(@types/node@20.19.43)(listr2@11.0.0) '@modelcontextprotocol/sdk': 1.30.0(supports-color@10.2.2)(zod@4.4.3) - '@schematics/angular': 22.1.7(chokidar@5.0.0) + '@schematics/angular': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 listr2: 11.0.0 npm-package-arg: 14.0.0 @@ -5009,7 +5009,7 @@ snapshots: - chokidar - supports-color - '@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel)': + '@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel)': dependencies: '@angular/common': link:in-existing-linked-by-bazel '@angular/core': link:in-existing-linked-by-bazel @@ -6263,7 +6263,7 @@ snapshots: '@tybys/wasm-util': 0.10.3 optional: true - '@ngtools/webpack@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': + '@ngtools/webpack@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': dependencies: '@angular/compiler-cli': link:in-existing-linked-by-bazel typescript: 6.0.3 @@ -6592,10 +6592,10 @@ snapshots: '@rolldown/pluginutils@1.0.1': {} - '@schematics/angular@22.1.7(chokidar@5.0.0)': + '@schematics/angular@22.1.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular-devkit/schematics': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 typescript: 6.0.3 transitivePeerDependencies: diff --git a/integration/service-worker-schema/package.json b/integration/service-worker-schema/package.json index b998a029996a..86c8e9888ab7 100644 --- a/integration/service-worker-schema/package.json +++ b/integration/service-worker-schema/package.json @@ -13,5 +13,5 @@ "rxjs": "^7.0.0", "zone.js": "0.16.2" }, - "packageManager": "pnpm@11.25.0" + "packageManager": "pnpm@11.26.0" } diff --git a/integration/standalone-bootstrap/package.json b/integration/standalone-bootstrap/package.json index 55f52b104480..95df2618edf0 100644 --- a/integration/standalone-bootstrap/package.json +++ b/integration/standalone-bootstrap/package.json @@ -17,19 +17,19 @@ "@angular/core": "link:./in-existing-linked-by-bazel", "@angular/platform-browser": "link:./in-existing-linked-by-bazel", "@angular/router": "link:./in-existing-linked-by-bazel", - "@angular/ssr": "22.1.7", + "@angular/ssr": "22.1.8", "rxjs": "^7.0.0", "tslib": "^2.3.0", "zone.js": "0.16.2" }, "devDependencies": { - "@angular-devkit/build-angular": "22.1.7", - "@angular/build": "22.1.7", - "@angular/cli": "22.1.7", + "@angular-devkit/build-angular": "22.1.8", + "@angular/build": "22.1.8", + "@angular/cli": "22.1.8", "@angular/compiler-cli": "link:./in-existing-linked-by-bazel", "@types/node": "^20.14.8", "ts-node": "^10.9.1", "typescript": "6.0.3" }, - "packageManager": "pnpm@11.25.0" + "packageManager": "pnpm@11.26.0" } diff --git a/integration/standalone-bootstrap/pnpm-lock.yaml b/integration/standalone-bootstrap/pnpm-lock.yaml index 38b86a7b2bad..dd37a57e43cc 100644 --- a/integration/standalone-bootstrap/pnpm-lock.yaml +++ b/integration/standalone-bootstrap/pnpm-lock.yaml @@ -24,8 +24,8 @@ importers: specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel '@angular/ssr': - specifier: 22.1.7 - version: 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) + specifier: 22.1.8 + version: 22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) rxjs: specifier: ^7.0.0 version: 7.8.2 @@ -37,14 +37,14 @@ importers: version: 0.16.2 devDependencies: '@angular-devkit/build-angular': - specifier: 22.1.7 - version: 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@8.1.1))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@8.1.1)(typescript@6.0.3) + specifier: 22.1.8 + version: 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@8.1.1))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@8.1.1)(typescript@6.0.3) '@angular/build': - specifier: 22.1.7 - version: 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(less@4.9.0(supports-color@8.1.1))(postcss@8.5.26)(supports-color@8.1.1)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3) + specifier: 22.1.8 + version: 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(less@4.9.0(supports-color@8.1.1))(postcss@8.5.26)(supports-color@8.1.1)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/cli': - specifier: 22.1.7 - version: 22.1.7(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@8.1.1) + specifier: 22.1.8 + version: 22.1.8(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@8.1.1) '@angular/compiler-cli': specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel @@ -64,13 +64,13 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@angular-devkit/architect@0.2201.7': - resolution: {integrity: sha512-qffChB0+3WuLcwDk9gx3p/Vl3zYJDomweui5zsLESDMzvJ8zsbKRkgohTieOngajx+XBsklp0gKcxjiVn4NvWQ==} + '@angular-devkit/architect@0.2201.8': + resolution: {integrity: sha512-EUQo8RDS1my2Bo5FRS+gBYgz1/klfIp9XESfMpTBO04nBkjF6DkPCeOxeAf1CYjWy9nCXcWn968eSdEhV5jXiA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true - '@angular-devkit/build-angular@22.1.7': - resolution: {integrity: sha512-bg2Lp9JyT2fyWzXF1DeKxDjmIVfs1KJiy1JjFo7wUGA7G4cI6PC8Jrw20F2Qkj+biXcUoeYMKCbbMBBU8xTIVw==} + '@angular-devkit/build-angular@22.1.8': + resolution: {integrity: sha512-UH75aJJ5lBpnu3QtC+WygE0Z5dESDLibNQ0jbcot4L7jnT/fLPWbffWp2WHvIjaUybVj/sh441N9rCiy0YMN3Q==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} deprecated: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead. peerDependencies: @@ -80,7 +80,7 @@ packages: '@angular/platform-browser': ^22.0.0 '@angular/platform-server': ^22.0.0 '@angular/service-worker': ^22.0.0 - '@angular/ssr': ^22.1.7 + '@angular/ssr': ^22.1.8 browser-sync: ^3.0.2 karma: ^6.3.0 ng-packagr: ^22.0.0 @@ -108,15 +108,15 @@ packages: tailwindcss: optional: true - '@angular-devkit/build-webpack@0.2201.7': - resolution: {integrity: sha512-bSF5s9B0RFBdOhCIFrv2idqtxYESi7LL6YQFctFnx4FcQp+mTU+ZomE2byO7ZxW5T3nuu9JHVFX5W2/xN34cJQ==} + '@angular-devkit/build-webpack@0.2201.8': + resolution: {integrity: sha512-T9Fl7Qcy40UFZaiGAY9ieJC3cgTTupS/eAncKTeuSdqCHpZn+IMhU+Nyl7C2yE4VZe3KCk8CGGKS3g4TmyH/QQ==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: webpack: ^5.30.0 webpack-dev-server: ^5.0.2 - '@angular-devkit/core@22.1.7': - resolution: {integrity: sha512-RKayeOOjhcIe/iBOM1fmtI5pjXwBEJh+u55VnSeIwYvFNXyxI0/jdRw4T6uhwusQ+1bzyya4d8q1mT9oaOQ/5A==} + '@angular-devkit/core@22.1.8': + resolution: {integrity: sha512-34lsgg2FwMVBX7nR/ZqzRUcdvdYPvSB8XAEr2GudXAyZwLI9ehzfQlagAWR/gEb8p4uCFZW0r7uU0toxydq4Rw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: chokidar: ^5.0.0 @@ -124,12 +124,12 @@ packages: chokidar: optional: true - '@angular-devkit/schematics@22.1.7': - resolution: {integrity: sha512-KOcVeT4MCsoPt6AMnXH7AbWZnzlKXhMyua2ITWij4UbLaNWCDwfIug/xrZssYLHUFwebCIqsR8iuG/BPH8Cz2w==} + '@angular-devkit/schematics@22.1.8': + resolution: {integrity: sha512-Pv3cPa/44kvEwYcqwx4Ns5dhIDmcFNSHhbpheqiEG1Z/u4e2t4zHKDtE3eHZB+8o+IcC7xJj+d+AqGR44RoZDA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - '@angular/build@22.1.7': - resolution: {integrity: sha512-YNZL3R2YS1qZud9zbJfW3ZSeEB0xAURBJEE0cf7WRCCwkn7NFlH7xXLW/zR+WRBwtcCBRsLrM2/ix3Y8FoKX9A==} + '@angular/build@22.1.8': + resolution: {integrity: sha512-tw+Evk0EITb8p8dTu743ONoFztCEiyDkdRbtZsh7C0vBS7Q9ElsOcFeg2Z9OAAwrmtZMIBuW3jrdPRQp7OCSdw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: '@angular/compiler': ^22.0.0 @@ -139,7 +139,7 @@ packages: '@angular/platform-browser': ^22.0.0 '@angular/platform-server': ^22.0.0 '@angular/service-worker': ^22.0.0 - '@angular/ssr': ^22.1.7 + '@angular/ssr': ^22.1.8 istanbul-lib-instrument: ^6.0.0 karma: ^6.4.0 less: ^4.2.0 @@ -180,13 +180,13 @@ packages: vitest: optional: true - '@angular/cli@22.1.7': - resolution: {integrity: sha512-dsOAAPHTXSrTvH5jIdZsFhqmcrTU9+aLXPSYSkQ1afMxPUT/JDjWH228xURYmCaM3ml0vVaT9R2p7/FrS7CJmg==} + '@angular/cli@22.1.8': + resolution: {integrity: sha512-MFN/FydqDndai8vF12hDxG5RlBt1HUUheeJgJNmuHYIne4bOAfOT+xuMpIK8+gLSRwCemdqR3OMM38pnsFJ/nA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true - '@angular/ssr@22.1.7': - resolution: {integrity: sha512-fX766QHDeiMTIa+D1/OQaCMyW0EKO7nR+hUBcCd9gOcu3dMr3JnugEmLYReCCkQNKRjMmALSs7QS7o+ptrKsKg==} + '@angular/ssr@22.1.8': + resolution: {integrity: sha512-D/Is+0dXrFrYeWa3CGqN/inp73pvz+zMrje3wOAR22SBQSV4qPeY8Y4NuR8EflwMwsfiNAfGBYSDQs1WsEx+bQ==} peerDependencies: '@angular/common': ^22.0.0 '@angular/core': ^22.0.0 @@ -1443,8 +1443,8 @@ packages: '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4 '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.4 - '@ngtools/webpack@22.1.7': - resolution: {integrity: sha512-1cqXgu5DnINuZ1pJ4ZsiyLOFDXzEGkKNdMcBuQ73WVXRhE8CwN0bdHyjEW+gOff2QXAsB2uulk7e3XO52QCA3w==} + '@ngtools/webpack@22.1.8': + resolution: {integrity: sha512-U8VA7iaxDjSWaUOmYmcK1JjrQczoGQeq4QbBwFHo1ET3ArshIDtaiXkvuIwUDHBL4N2yGHAgEZZee8ChJvz77w==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} deprecated: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead. peerDependencies: @@ -1914,8 +1914,8 @@ packages: '@rolldown/pluginutils@1.0.1': resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} - '@schematics/angular@22.1.7': - resolution: {integrity: sha512-acBv147JjnwtWFgC8Af0KFBzPpb/TWaYxoWN/Ou3pXtUhYiEqnrdJeoFz3ssDw26eKFIdWnVBLB/dHORBykPBg==} + '@schematics/angular@22.1.8': + resolution: {integrity: sha512-V37T9uHOQVHyxxOqwcJ9xjSIW/mW9UuSfjOc7WJE4V8+3zj0abDJLHuoxDZKe0icYGapgOcvHyYjtNOjSeSivw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} '@tsconfig/node10@1.0.13': @@ -4194,20 +4194,20 @@ snapshots: '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 - '@angular-devkit/architect@0.2201.7(chokidar@5.0.0)': + '@angular-devkit/architect@0.2201.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) rxjs: 7.8.2 transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@8.1.1))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@8.1.1)(typescript@6.0.3)': + '@angular-devkit/build-angular@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@8.1.1))(jiti@2.7.0)(lightningcss@1.33.0)(supports-color@8.1.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) - '@angular-devkit/build-webpack': 0.2201.7(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular/build': 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(less@4.9.0(supports-color@8.1.1))(postcss@8.5.25)(supports-color@8.1.1)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) + '@angular-devkit/build-webpack': 0.2201.8(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular/build': 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(less@4.9.0(supports-color@8.1.1))(postcss@8.5.25)(supports-color@8.1.1)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3) '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 '@babel/generator': 8.0.0 @@ -4219,7 +4219,7 @@ snapshots: '@babel/preset-env': 8.0.2(@babel/core@8.0.1) '@babel/runtime': 8.0.0 '@discoveryjs/json-ext': 1.1.0 - '@ngtools/webpack': 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) + '@ngtools/webpack': 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) ansi-colors: 4.1.3 autoprefixer: 10.5.4(postcss@8.5.25) babel-loader: 10.1.1(@babel/core@8.0.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) @@ -4261,7 +4261,7 @@ snapshots: optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel '@angular/platform-browser': link:in-existing-linked-by-bazel - '@angular/ssr': 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) + '@angular/ssr': 22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) esbuild: 0.28.2 transitivePeerDependencies: - '@angular/compiler' @@ -4295,16 +4295,16 @@ snapshots: - webpack-cli - yaml - '@angular-devkit/build-webpack@0.2201.7(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': + '@angular-devkit/build-webpack@0.2201.8(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': dependencies: - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) rxjs: 7.8.2 webpack: 5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25) webpack-dev-server: 5.2.6(debug@4.4.3(supports-color@8.1.1))(supports-color@8.1.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) transitivePeerDependencies: - chokidar - '@angular-devkit/core@22.1.7(chokidar@5.0.0)': + '@angular-devkit/core@22.1.8(chokidar@5.0.0)': dependencies: ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) @@ -4315,9 +4315,9 @@ snapshots: optionalDependencies: chokidar: 5.0.0 - '@angular-devkit/schematics@22.1.7(chokidar@5.0.0)': + '@angular-devkit/schematics@22.1.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 magic-string: 1.0.0 ora: 9.4.1 @@ -4325,10 +4325,10 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular/build@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(less@4.9.0(supports-color@8.1.1))(postcss@8.5.25)(supports-color@8.1.1)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(less@4.9.0(supports-color@8.1.1))(postcss@8.5.25)(supports-color@8.1.1)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) '@angular/compiler': link:in-existing-linked-by-bazel '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 @@ -4360,7 +4360,7 @@ snapshots: optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel '@angular/platform-browser': link:in-existing-linked-by-bazel - '@angular/ssr': 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) + '@angular/ssr': 22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) istanbul-lib-instrument: 6.0.3(supports-color@8.1.1) less: 4.9.0(supports-color@8.1.1) lmdb: 3.5.6 @@ -4379,10 +4379,10 @@ snapshots: - tsx - yaml - '@angular/build@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(less@4.9.0(supports-color@8.1.1))(postcss@8.5.26)(supports-color@8.1.1)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@8.1.1))(jiti@2.7.0)(less@4.9.0(supports-color@8.1.1))(postcss@8.5.26)(supports-color@8.1.1)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) '@angular/compiler': link:in-existing-linked-by-bazel '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 @@ -4414,7 +4414,7 @@ snapshots: optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel '@angular/platform-browser': link:in-existing-linked-by-bazel - '@angular/ssr': 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) + '@angular/ssr': 22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) istanbul-lib-instrument: 6.0.3(supports-color@8.1.1) less: 4.9.0(supports-color@8.1.1) lmdb: 3.5.6 @@ -4433,15 +4433,15 @@ snapshots: - tsx - yaml - '@angular/cli@22.1.7(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@8.1.1)': + '@angular/cli@22.1.8(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@8.1.1)': dependencies: - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular-devkit/schematics': 22.1.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.1.8(chokidar@5.0.0) '@inquirer/prompts': 8.5.2(@types/node@20.19.43) '@listr2/prompt-adapter-inquirer': 4.2.5(@inquirer/prompts@8.5.2(@types/node@20.19.43))(@types/node@20.19.43)(listr2@11.0.0) '@modelcontextprotocol/sdk': 1.30.0(supports-color@8.1.1)(zod@4.4.3) - '@schematics/angular': 22.1.7(chokidar@5.0.0) + '@schematics/angular': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 listr2: 11.0.0 npm-package-arg: 14.0.0 @@ -4455,7 +4455,7 @@ snapshots: - chokidar - supports-color - '@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel)': + '@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel)': dependencies: '@angular/common': link:in-existing-linked-by-bazel '@angular/core': link:in-existing-linked-by-bazel @@ -5707,7 +5707,7 @@ snapshots: '@tybys/wasm-util': 0.10.3 optional: true - '@ngtools/webpack@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': + '@ngtools/webpack@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': dependencies: '@angular/compiler-cli': link:in-existing-linked-by-bazel typescript: 6.0.3 @@ -6036,10 +6036,10 @@ snapshots: '@rolldown/pluginutils@1.0.1': {} - '@schematics/angular@22.1.7(chokidar@5.0.0)': + '@schematics/angular@22.1.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular-devkit/schematics': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 typescript: 6.0.3 transitivePeerDependencies: diff --git a/integration/terser/package.json b/integration/terser/package.json index 52c361d4ceb1..a44fe63055e6 100644 --- a/integration/terser/package.json +++ b/integration/terser/package.json @@ -14,5 +14,5 @@ "typescript": "6.0.3", "zone.js": "0.16.2" }, - "packageManager": "pnpm@11.25.0" + "packageManager": "pnpm@11.26.0" } diff --git a/integration/trusted-types/package.json b/integration/trusted-types/package.json index dd1559b4bc0c..8d5df1f6667e 100644 --- a/integration/trusted-types/package.json +++ b/integration/trusted-types/package.json @@ -20,15 +20,15 @@ "@angular/forms": "link:./in-existing-linked-by-bazel", "@angular/platform-browser": "link:./in-existing-linked-by-bazel", "@angular/router": "link:./in-existing-linked-by-bazel", - "@angular/ssr": "22.1.7", + "@angular/ssr": "22.1.8", "rxjs": "^7.0.0", "tslib": "^2.3.0", "zone.js": "0.16.2" }, "devDependencies": { - "@angular-devkit/build-angular": "22.1.7", - "@angular/build": "22.1.7", - "@angular/cli": "22.1.7", + "@angular-devkit/build-angular": "22.1.8", + "@angular/build": "22.1.8", + "@angular/cli": "22.1.8", "@angular/compiler-cli": "link:./in-existing-linked-by-bazel", "@types/jasmine": "^6.0.0", "@types/node": "^20.14.8", @@ -45,5 +45,5 @@ "ts-node": "^10.9.1", "typescript": "6.0.3" }, - "packageManager": "pnpm@11.25.0" + "packageManager": "pnpm@11.26.0" } diff --git a/integration/trusted-types/pnpm-lock.yaml b/integration/trusted-types/pnpm-lock.yaml index 846c6400cb2b..2c7a6b085bce 100644 --- a/integration/trusted-types/pnpm-lock.yaml +++ b/integration/trusted-types/pnpm-lock.yaml @@ -30,8 +30,8 @@ importers: specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel '@angular/ssr': - specifier: 22.1.7 - version: 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) + specifier: 22.1.8 + version: 22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) rxjs: specifier: ^7.0.0 version: 7.8.2 @@ -43,14 +43,14 @@ importers: version: 0.16.2 devDependencies: '@angular-devkit/build-angular': - specifier: 22.1.7 - version: 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@10.2.2))(jiti@2.7.0)(karma@6.4.4(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(lightningcss@1.33.0)(supports-color@10.2.2)(typescript@6.0.3) + specifier: 22.1.8 + version: 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@10.2.2))(jiti@2.7.0)(karma@6.4.4(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(lightningcss@1.33.0)(supports-color@10.2.2)(typescript@6.0.3) '@angular/build': - specifier: 22.1.7 - version: 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(karma@6.4.4(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(less@4.9.0(supports-color@10.2.2))(postcss@8.5.26)(supports-color@10.2.2)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3) + specifier: 22.1.8 + version: 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(karma@6.4.4(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(less@4.9.0(supports-color@10.2.2))(postcss@8.5.26)(supports-color@10.2.2)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/cli': - specifier: 22.1.7 - version: 22.1.7(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@10.2.2) + specifier: 22.1.8 + version: 22.1.8(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@10.2.2) '@angular/compiler-cli': specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel @@ -103,13 +103,13 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@angular-devkit/architect@0.2201.7': - resolution: {integrity: sha512-qffChB0+3WuLcwDk9gx3p/Vl3zYJDomweui5zsLESDMzvJ8zsbKRkgohTieOngajx+XBsklp0gKcxjiVn4NvWQ==} + '@angular-devkit/architect@0.2201.8': + resolution: {integrity: sha512-EUQo8RDS1my2Bo5FRS+gBYgz1/klfIp9XESfMpTBO04nBkjF6DkPCeOxeAf1CYjWy9nCXcWn968eSdEhV5jXiA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true - '@angular-devkit/build-angular@22.1.7': - resolution: {integrity: sha512-bg2Lp9JyT2fyWzXF1DeKxDjmIVfs1KJiy1JjFo7wUGA7G4cI6PC8Jrw20F2Qkj+biXcUoeYMKCbbMBBU8xTIVw==} + '@angular-devkit/build-angular@22.1.8': + resolution: {integrity: sha512-UH75aJJ5lBpnu3QtC+WygE0Z5dESDLibNQ0jbcot4L7jnT/fLPWbffWp2WHvIjaUybVj/sh441N9rCiy0YMN3Q==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} deprecated: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead. peerDependencies: @@ -119,7 +119,7 @@ packages: '@angular/platform-browser': ^22.0.0 '@angular/platform-server': ^22.0.0 '@angular/service-worker': ^22.0.0 - '@angular/ssr': ^22.1.7 + '@angular/ssr': ^22.1.8 browser-sync: ^3.0.2 karma: ^6.3.0 ng-packagr: ^22.0.0 @@ -147,15 +147,15 @@ packages: tailwindcss: optional: true - '@angular-devkit/build-webpack@0.2201.7': - resolution: {integrity: sha512-bSF5s9B0RFBdOhCIFrv2idqtxYESi7LL6YQFctFnx4FcQp+mTU+ZomE2byO7ZxW5T3nuu9JHVFX5W2/xN34cJQ==} + '@angular-devkit/build-webpack@0.2201.8': + resolution: {integrity: sha512-T9Fl7Qcy40UFZaiGAY9ieJC3cgTTupS/eAncKTeuSdqCHpZn+IMhU+Nyl7C2yE4VZe3KCk8CGGKS3g4TmyH/QQ==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: webpack: ^5.30.0 webpack-dev-server: ^5.0.2 - '@angular-devkit/core@22.1.7': - resolution: {integrity: sha512-RKayeOOjhcIe/iBOM1fmtI5pjXwBEJh+u55VnSeIwYvFNXyxI0/jdRw4T6uhwusQ+1bzyya4d8q1mT9oaOQ/5A==} + '@angular-devkit/core@22.1.8': + resolution: {integrity: sha512-34lsgg2FwMVBX7nR/ZqzRUcdvdYPvSB8XAEr2GudXAyZwLI9ehzfQlagAWR/gEb8p4uCFZW0r7uU0toxydq4Rw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: chokidar: ^5.0.0 @@ -163,12 +163,12 @@ packages: chokidar: optional: true - '@angular-devkit/schematics@22.1.7': - resolution: {integrity: sha512-KOcVeT4MCsoPt6AMnXH7AbWZnzlKXhMyua2ITWij4UbLaNWCDwfIug/xrZssYLHUFwebCIqsR8iuG/BPH8Cz2w==} + '@angular-devkit/schematics@22.1.8': + resolution: {integrity: sha512-Pv3cPa/44kvEwYcqwx4Ns5dhIDmcFNSHhbpheqiEG1Z/u4e2t4zHKDtE3eHZB+8o+IcC7xJj+d+AqGR44RoZDA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - '@angular/build@22.1.7': - resolution: {integrity: sha512-YNZL3R2YS1qZud9zbJfW3ZSeEB0xAURBJEE0cf7WRCCwkn7NFlH7xXLW/zR+WRBwtcCBRsLrM2/ix3Y8FoKX9A==} + '@angular/build@22.1.8': + resolution: {integrity: sha512-tw+Evk0EITb8p8dTu743ONoFztCEiyDkdRbtZsh7C0vBS7Q9ElsOcFeg2Z9OAAwrmtZMIBuW3jrdPRQp7OCSdw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: '@angular/compiler': ^22.0.0 @@ -178,7 +178,7 @@ packages: '@angular/platform-browser': ^22.0.0 '@angular/platform-server': ^22.0.0 '@angular/service-worker': ^22.0.0 - '@angular/ssr': ^22.1.7 + '@angular/ssr': ^22.1.8 istanbul-lib-instrument: ^6.0.0 karma: ^6.4.0 less: ^4.2.0 @@ -219,13 +219,13 @@ packages: vitest: optional: true - '@angular/cli@22.1.7': - resolution: {integrity: sha512-dsOAAPHTXSrTvH5jIdZsFhqmcrTU9+aLXPSYSkQ1afMxPUT/JDjWH228xURYmCaM3ml0vVaT9R2p7/FrS7CJmg==} + '@angular/cli@22.1.8': + resolution: {integrity: sha512-MFN/FydqDndai8vF12hDxG5RlBt1HUUheeJgJNmuHYIne4bOAfOT+xuMpIK8+gLSRwCemdqR3OMM38pnsFJ/nA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true - '@angular/ssr@22.1.7': - resolution: {integrity: sha512-fX766QHDeiMTIa+D1/OQaCMyW0EKO7nR+hUBcCd9gOcu3dMr3JnugEmLYReCCkQNKRjMmALSs7QS7o+ptrKsKg==} + '@angular/ssr@22.1.8': + resolution: {integrity: sha512-D/Is+0dXrFrYeWa3CGqN/inp73pvz+zMrje3wOAR22SBQSV4qPeY8Y4NuR8EflwMwsfiNAfGBYSDQs1WsEx+bQ==} peerDependencies: '@angular/common': ^22.0.0 '@angular/core': ^22.0.0 @@ -1486,8 +1486,8 @@ packages: '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4 '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.4 - '@ngtools/webpack@22.1.7': - resolution: {integrity: sha512-1cqXgu5DnINuZ1pJ4ZsiyLOFDXzEGkKNdMcBuQ73WVXRhE8CwN0bdHyjEW+gOff2QXAsB2uulk7e3XO52QCA3w==} + '@ngtools/webpack@22.1.8': + resolution: {integrity: sha512-U8VA7iaxDjSWaUOmYmcK1JjrQczoGQeq4QbBwFHo1ET3ArshIDtaiXkvuIwUDHBL4N2yGHAgEZZee8ChJvz77w==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} deprecated: Angular's Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead. peerDependencies: @@ -1957,8 +1957,8 @@ packages: '@rolldown/pluginutils@1.0.1': resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} - '@schematics/angular@22.1.7': - resolution: {integrity: sha512-acBv147JjnwtWFgC8Af0KFBzPpb/TWaYxoWN/Ou3pXtUhYiEqnrdJeoFz3ssDw26eKFIdWnVBLB/dHORBykPBg==} + '@schematics/angular@22.1.8': + resolution: {integrity: sha512-V37T9uHOQVHyxxOqwcJ9xjSIW/mW9UuSfjOc7WJE4V8+3zj0abDJLHuoxDZKe0icYGapgOcvHyYjtNOjSeSivw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} '@socket.io/component-emitter@3.1.2': @@ -5118,20 +5118,20 @@ snapshots: '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 - '@angular-devkit/architect@0.2201.7(chokidar@5.0.0)': + '@angular-devkit/architect@0.2201.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) rxjs: 7.8.2 transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@10.2.2))(jiti@2.7.0)(karma@6.4.4(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(lightningcss@1.33.0)(supports-color@10.2.2)(typescript@6.0.3)': + '@angular-devkit/build-angular@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(debug@4.4.3(supports-color@10.2.2))(jiti@2.7.0)(karma@6.4.4(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(lightningcss@1.33.0)(supports-color@10.2.2)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) - '@angular-devkit/build-webpack': 0.2201.7(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular/build': 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(karma@6.4.4(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(less@4.9.0(supports-color@10.2.2))(postcss@8.5.25)(supports-color@10.2.2)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) + '@angular-devkit/build-webpack': 0.2201.8(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular/build': 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(karma@6.4.4(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(less@4.9.0(supports-color@10.2.2))(postcss@8.5.25)(supports-color@10.2.2)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3) '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 '@babel/generator': 8.0.0 @@ -5143,7 +5143,7 @@ snapshots: '@babel/preset-env': 8.0.2(@babel/core@8.0.1) '@babel/runtime': 8.0.0 '@discoveryjs/json-ext': 1.1.0 - '@ngtools/webpack': 22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) + '@ngtools/webpack': 22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) ansi-colors: 4.1.3 autoprefixer: 10.5.4(postcss@8.5.25) babel-loader: 10.1.1(@babel/core@8.0.1)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) @@ -5185,7 +5185,7 @@ snapshots: optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel '@angular/platform-browser': link:in-existing-linked-by-bazel - '@angular/ssr': 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) + '@angular/ssr': 22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) esbuild: 0.28.2 karma: 6.4.4(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2) transitivePeerDependencies: @@ -5220,16 +5220,16 @@ snapshots: - webpack-cli - yaml - '@angular-devkit/build-webpack@0.2201.7(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': + '@angular-devkit/build-webpack@0.2201.8(chokidar@5.0.0)(webpack-dev-server@5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)))(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': dependencies: - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) rxjs: 7.8.2 webpack: 5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25) webpack-dev-server: 5.2.6(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25)) transitivePeerDependencies: - chokidar - '@angular-devkit/core@22.1.7(chokidar@5.0.0)': + '@angular-devkit/core@22.1.8(chokidar@5.0.0)': dependencies: ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) @@ -5240,9 +5240,9 @@ snapshots: optionalDependencies: chokidar: 5.0.0 - '@angular-devkit/schematics@22.1.7(chokidar@5.0.0)': + '@angular-devkit/schematics@22.1.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 magic-string: 1.0.0 ora: 9.4.1 @@ -5250,10 +5250,10 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular/build@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(karma@6.4.4(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(less@4.9.0(supports-color@10.2.2))(postcss@8.5.25)(supports-color@10.2.2)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(karma@6.4.4(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(less@4.9.0(supports-color@10.2.2))(postcss@8.5.25)(supports-color@10.2.2)(terser@5.49.0)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) '@angular/compiler': link:in-existing-linked-by-bazel '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 @@ -5285,7 +5285,7 @@ snapshots: optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel '@angular/platform-browser': link:in-existing-linked-by-bazel - '@angular/ssr': 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) + '@angular/ssr': 22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) istanbul-lib-instrument: 6.0.3(supports-color@10.2.2) karma: 6.4.4(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2) less: 4.9.0(supports-color@10.2.2) @@ -5305,10 +5305,10 @@ snapshots: - tsx - yaml - '@angular/build@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(karma@6.4.4(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(less@4.9.0(supports-color@10.2.2))(postcss@8.5.26)(supports-color@10.2.2)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.43)(chokidar@5.0.0)(istanbul-lib-instrument@6.0.3(supports-color@10.2.2))(jiti@2.7.0)(karma@6.4.4(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2))(less@4.9.0(supports-color@10.2.2))(postcss@8.5.26)(supports-color@10.2.2)(terser@5.51.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) '@angular/compiler': link:in-existing-linked-by-bazel '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 8.0.1 @@ -5340,7 +5340,7 @@ snapshots: optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel '@angular/platform-browser': link:in-existing-linked-by-bazel - '@angular/ssr': 22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) + '@angular/ssr': 22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel) istanbul-lib-instrument: 6.0.3(supports-color@10.2.2) karma: 6.4.4(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2) less: 4.9.0(supports-color@10.2.2) @@ -5360,15 +5360,15 @@ snapshots: - tsx - yaml - '@angular/cli@22.1.7(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@10.2.2)': + '@angular/cli@22.1.8(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@10.2.2)': dependencies: - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular-devkit/schematics': 22.1.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.1.8(chokidar@5.0.0) '@inquirer/prompts': 8.5.2(@types/node@20.19.43) '@listr2/prompt-adapter-inquirer': 4.2.5(@inquirer/prompts@8.5.2(@types/node@20.19.43))(@types/node@20.19.43)(listr2@11.0.0) '@modelcontextprotocol/sdk': 1.30.0(supports-color@10.2.2)(zod@4.4.3) - '@schematics/angular': 22.1.7(chokidar@5.0.0) + '@schematics/angular': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 listr2: 11.0.0 npm-package-arg: 14.0.0 @@ -5382,7 +5382,7 @@ snapshots: - chokidar - supports-color - '@angular/ssr@22.1.7(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel)': + '@angular/ssr@22.1.8(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel)': dependencies: '@angular/common': link:in-existing-linked-by-bazel '@angular/core': link:in-existing-linked-by-bazel @@ -6636,7 +6636,7 @@ snapshots: '@tybys/wasm-util': 0.10.3 optional: true - '@ngtools/webpack@22.1.7(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': + '@ngtools/webpack@22.1.8(@angular/compiler-cli@in-existing-linked-by-bazel)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.2)(lightningcss@1.33.0)(postcss@8.5.25))': dependencies: '@angular/compiler-cli': link:in-existing-linked-by-bazel typescript: 6.0.3 @@ -6965,10 +6965,10 @@ snapshots: '@rolldown/pluginutils@1.0.1': {} - '@schematics/angular@22.1.7(chokidar@5.0.0)': + '@schematics/angular@22.1.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular-devkit/schematics': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 typescript: 6.0.3 transitivePeerDependencies: diff --git a/integration/typings_test_rxjs7/package.json b/integration/typings_test_rxjs7/package.json index 1c42bfc89c9d..70819c2e4f64 100644 --- a/integration/typings_test_rxjs7/package.json +++ b/integration/typings_test_rxjs7/package.json @@ -26,5 +26,5 @@ "scripts": { "test": "tsc" }, - "packageManager": "pnpm@11.25.0" + "packageManager": "pnpm@11.26.0" } diff --git a/integration/typings_test_ts60/package.json b/integration/typings_test_ts60/package.json index 7d937c551e67..c3b40c3b6aad 100644 --- a/integration/typings_test_ts60/package.json +++ b/integration/typings_test_ts60/package.json @@ -26,5 +26,5 @@ "scripts": { "test": "tsc" }, - "packageManager": "pnpm@11.25.0" + "packageManager": "pnpm@11.26.0" } diff --git a/modules/package.json b/modules/package.json index 9b40d56844fe..d587f3a138a0 100644 --- a/modules/package.json +++ b/modules/package.json @@ -2,7 +2,7 @@ "dependencies": { "@angular/animations": "workspace:*", "@angular/benchpress": "workspace:*", - "@angular/build": "22.1.7", + "@angular/build": "22.1.8", "@angular/common": "workspace:*", "@angular/compiler": "workspace:*", "@angular/compiler-cli": "workspace:*", diff --git a/package.json b/package.json index edc95079e725..f1db7ebccbfd 100644 --- a/package.json +++ b/package.json @@ -1,16 +1,16 @@ { "name": "angular-srcs", - "version": "22.1.6", + "version": "22.1.7", "private": true, "description": "Angular - a web framework for modern web apps", "homepage": "https://github.com/angular/angular", "bugs": "https://github.com/angular/angular/issues", "license": "MIT", - "packageManager": "pnpm@11.25.0", + "packageManager": "pnpm@11.26.0", "engines": { "npm": "Please use pnpm instead of NPM to install dependencies", "yarn": "Please use pnpm instead of Yarn to install dependencies", - "pnpm": "11.25.0" + "pnpm": "11.26.0" }, "repository": { "type": "git", @@ -55,14 +55,14 @@ }, "// 1": "dependencies are used locally and by bazel", "dependencies": { - "@angular-devkit/core": "22.1.7", - "@angular-devkit/schematics": "22.1.7", + "@angular-devkit/core": "22.1.8", + "@angular-devkit/schematics": "22.1.8", "@angular/animations": "workspace:*", - "@angular/aria": "22.1.6", + "@angular/aria": "22.1.7", "@angular/benchpress": "workspace: *", - "@angular/build": "22.1.7", - "@angular/cdk": "22.1.6", - "@angular/cli": "22.1.7", + "@angular/build": "22.1.8", + "@angular/cdk": "22.1.7", + "@angular/cli": "22.1.8", "@angular/common": "workspace:*", "@angular/compiler": "workspace:*", "@angular/compiler-cli": "workspace:*", @@ -71,20 +71,20 @@ "@angular/forms": "workspace:*", "@angular/language-service": "workspace: *", "@angular/localize": "workspace: *", - "@angular/material": "22.1.6", + "@angular/material": "22.1.7", "@angular/platform-browser": "workspace:*", "@angular/platform-browser-dynamic": "workspace:*", "@angular/platform-server": "workspace:*", "@angular/router": "workspace:*", "@angular/service-worker": "workspace:*", - "@angular/ssr": "22.1.7", + "@angular/ssr": "22.1.8", "@angular/upgrade": "workspace: *", "@babel/cli": "8.0.4", "@babel/core": "8.0.1", "@babel/generator": "8.0.0", "@rollup/plugin-commonjs": "^29.0.0", "@rollup/plugin-node-resolve": "^16.0.0", - "@schematics/angular": "22.1.7", + "@schematics/angular": "22.1.8", "@types/angular": "^1.6.47", "@types/chrome": "^0.2.0", "@types/dom-navigation": "^1.0.5", @@ -104,7 +104,7 @@ "angular-mocks-1.8": "npm:angular-mocks@1.8", "chalk": "^5.4.1", "diff": "^9.0.0", - "domino": "https://github.com/angular/domino.git#4d97473116d000e3fd4d6f75ec98cbd67576fa6f", + "domino": "https://github.com/angular/domino.git#9b606f5b01b5cc518b97a618b92f990c03a33d35", "esbuild": "0.28.1", "http-server": "^14.0.0", "jasmine": "6.3.0", @@ -136,7 +136,7 @@ "devDependencies": { "@actions/core": "^3.0.0", "@actions/github": "^9.0.0", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#2fe8cf97ca7d7f1616c3f29e910dde3a7ac5b981", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#f166178ac5c37cd3aadab7b8cb7212f34d71b2a6", "@babel/plugin-transform-async-generator-functions": "^8.0.0", "@bazel/bazelisk": "^1.7.5", "@bazel/buildifier": "^8.0.0", diff --git a/packages/compiler-cli/src/ngtsc/typecheck/extended/api/api.ts b/packages/compiler-cli/src/ngtsc/typecheck/extended/api/api.ts index 2a573abb20b5..c02c71a8e875 100644 --- a/packages/compiler-cli/src/ngtsc/typecheck/extended/api/api.ts +++ b/packages/compiler-cli/src/ngtsc/typecheck/extended/api/api.ts @@ -13,6 +13,12 @@ import { ParseSourceSpan, TmplAstNode, TmplAstTemplate, + KeyedRead, + SafePropertyRead, + SafeKeyedRead, + SafeCall, + ParenthesizedExpression, + NonNullAssert, } from '@angular/compiler'; import ts from 'typescript'; @@ -161,3 +167,23 @@ class TemplateVisitor extends CombinedRecursiveAstVisito return this.diagnostics; } } + +/** + * Checks if the given AST node originates from a KeyedRead (indexed access) + * by unwrapping parentheses, non-null assertions, and traversing the receivers + * of safe navigation operations (?. property access, ?.[] keyed access, ?.() calls). + */ +export function isAccessFromUncheckedIndex(node: AST): boolean { + if (node instanceof KeyedRead) { + return true; + } else if ( + node instanceof SafePropertyRead || + node instanceof SafeKeyedRead || + node instanceof SafeCall + ) { + return isAccessFromUncheckedIndex(node.receiver); + } else if (node instanceof ParenthesizedExpression || node instanceof NonNullAssert) { + return isAccessFromUncheckedIndex(node.expression); + } + return false; +} diff --git a/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/nullish_coalescing_not_nullable/index.ts b/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/nullish_coalescing_not_nullable/index.ts index 65b7ee61f5cf..14a784e938fc 100644 --- a/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/nullish_coalescing_not_nullable/index.ts +++ b/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/nullish_coalescing_not_nullable/index.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.dev/license */ -import {AST, Binary, TmplAstNode} from '@angular/compiler'; +import {AST, Binary, KeyedRead, TmplAstNode} from '@angular/compiler'; import ts from 'typescript'; import {NgCompilerOptions} from '../../../../core/api'; @@ -17,6 +17,7 @@ import { TemplateCheckWithVisitor, TemplateContext, formatExtendedError, + isAccessFromUncheckedIndex, } from '../../api'; /** @@ -28,6 +29,10 @@ import { class NullishCoalescingNotNullableCheck extends TemplateCheckWithVisitor { override code = ErrorCode.NULLISH_COALESCING_NOT_NULLABLE as const; + constructor(private readonly noUncheckedIndexedAccess: boolean) { + super(); + } + override visitNode( ctx: TemplateContext, component: ts.ClassDeclaration, @@ -35,6 +40,12 @@ class NullishCoalescingNotNullableCheck extends TemplateCheckWithVisitor[] { if (!(node instanceof Binary) || node.operation !== '??') return []; + // When `noUncheckedIndexedAccess` is disabled, an indexed access is not checked + // and may result in `undefined`. + if (!this.noUncheckedIndexedAccess && isAccessFromUncheckedIndex(node.left)) { + return []; + } + const symbolLeft = ctx.templateTypeChecker.getSymbolOfNode(node.left, component); if (symbolLeft === null || symbolLeft.kind !== SymbolKind.Expression) { return []; @@ -86,6 +97,8 @@ export const factory: TemplateCheckFactory< return null; } - return new NullishCoalescingNotNullableCheck(); + const noUncheckedIndexedAccess = !!options.noUncheckedIndexedAccess; + + return new NullishCoalescingNotNullableCheck(noUncheckedIndexedAccess); }, }; diff --git a/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/optional_chain_not_nullable/index.ts b/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/optional_chain_not_nullable/index.ts index ecac332a8c82..8818600ae669 100644 --- a/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/optional_chain_not_nullable/index.ts +++ b/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/optional_chain_not_nullable/index.ts @@ -24,6 +24,7 @@ import { TemplateCheckWithVisitor, TemplateContext, formatExtendedError, + isAccessFromUncheckedIndex, } from '../../api'; /** @@ -54,7 +55,7 @@ class OptionalChainNotNullableCheck extends TemplateCheckWithVisitor { expect(diags.length).toBe(0); }); + it('should not produce nullish coalescing warning for an indexed access if noUncheckedIndexedAccess is false', () => { + const fileName = absoluteFrom('/main.ts'); + const {program, templateTypeChecker} = setup( + [ + { + fileName, + templates: { + 'TestCmp': `{{ arr[0] ?? 'foo' }}`, + }, + source: ` + export class TestCmp { + arr: Array = []; + } + `, + }, + ], + {options: {noUncheckedIndexedAccess: false}}, + ); + const sf = getSourceFileOrError(program, fileName); + const component = getClass(sf, 'TestCmp'); + const extendedTemplateChecker = new ExtendedTemplateCheckerImpl( + templateTypeChecker, + program.getTypeChecker(), + [nullishCoalescingNotNullableFactory], + {strictNullChecks: true} /* options */, + ); + const diags = extendedTemplateChecker.getDiagnosticsForComponent(component); + expect(diags.length).toBe(0); + }); + + it('should not produce nullish coalescing warning for an indexed access if noUncheckedIndexedAccess is true', () => { + const fileName = absoluteFrom('/main.ts'); + const {program, templateTypeChecker} = setup( + [ + { + fileName, + templates: { + 'TestCmp': `{{ arr[0] ?? 'foo' }}`, + }, + source: ` + export class TestCmp { + arr: Array = []; + } + `, + }, + ], + {options: {noUncheckedIndexedAccess: true}}, + ); + const sf = getSourceFileOrError(program, fileName); + const component = getClass(sf, 'TestCmp'); + const extendedTemplateChecker = new ExtendedTemplateCheckerImpl( + templateTypeChecker, + program.getTypeChecker(), + [nullishCoalescingNotNullableFactory], + {strictNullChecks: true} /* options */, + ); + const diags = extendedTemplateChecker.getDiagnosticsForComponent(component); + expect(diags.length).toBe(0); + }); + + it('should not produce nullish coalescing warning for a SafePropertyRead off an indexed access if noUncheckedIndexedAccess is false', () => { + const fileName = absoluteFrom('/main.ts'); + const {program, templateTypeChecker} = setup( + [ + { + fileName, + templates: { + 'TestCmp': `{{ foos[0]?.name ?? 'foo' }}`, + }, + source: ` + export class TestCmp { + foos: Array<{name: string}> = []; + } + `, + }, + ], + {options: {noUncheckedIndexedAccess: false}}, + ); + const sf = getSourceFileOrError(program, fileName); + const component = getClass(sf, 'TestCmp'); + const extendedTemplateChecker = new ExtendedTemplateCheckerImpl( + templateTypeChecker, + program.getTypeChecker(), + [nullishCoalescingNotNullableFactory], + {strictNullChecks: true} /* options */, + ); + const diags = extendedTemplateChecker.getDiagnosticsForComponent(component); + expect(diags.length).toBe(0); + }); + + it('should not produce nullish coalescing warning for a SafeKeyedRead if noUncheckedIndexedAccess is false', () => { + const fileName = absoluteFrom('/main.ts'); + const {program, templateTypeChecker} = setup( + [ + { + fileName, + templates: { + 'TestCmp': `{{ foos?.[0] ?? 'foo' }}`, + }, + source: ` + export class TestCmp { + foos: Array | null = null; + } + `, + }, + ], + {options: {noUncheckedIndexedAccess: false}}, + ); + const sf = getSourceFileOrError(program, fileName); + const component = getClass(sf, 'TestCmp'); + const extendedTemplateChecker = new ExtendedTemplateCheckerImpl( + templateTypeChecker, + program.getTypeChecker(), + [nullishCoalescingNotNullableFactory], + {strictNullChecks: true} /* options */, + ); + const diags = extendedTemplateChecker.getDiagnosticsForComponent(component); + expect(diags.length).toBe(0); + }); + + it('should not produce nullish coalescing warning for a parenthesized indexed access if noUncheckedIndexedAccess is false', () => { + const fileName = absoluteFrom('/main.ts'); + const {program, templateTypeChecker} = setup( + [ + { + fileName, + templates: { + 'TestCmp': `{{ (foos[0]) ?? 'foo' }}`, + }, + source: ` + export class TestCmp { + foos: Array = []; + } + `, + }, + ], + {options: {noUncheckedIndexedAccess: false}}, + ); + const sf = getSourceFileOrError(program, fileName); + const component = getClass(sf, 'TestCmp'); + const extendedTemplateChecker = new ExtendedTemplateCheckerImpl( + templateTypeChecker, + program.getTypeChecker(), + [nullishCoalescingNotNullableFactory], + {strictNullChecks: true} /* options */, + ); + const diags = extendedTemplateChecker.getDiagnosticsForComponent(component); + expect(diags.length).toBe(0); + }); it('warns for pipe arguments which are likely configured incorrectly (?? operates on "format" here)', () => { const fileName = absoluteFrom('/main.ts'); const {program, templateTypeChecker} = setup([ @@ -341,7 +490,7 @@ runInEachFileSystem(() => { expect(diags.length).toBe(0); }); - it('should produce nullish coalescing warning for a non-nullable ElementAccessExpression', () => { + it('should not produce nullish coalescing warning for a non-nullable ElementAccessExpression when noUncheckedIndexedAccess is false', () => { const fileName = absoluteFrom('/main.ts'); const {program, templateTypeChecker} = setup([ { @@ -362,10 +511,7 @@ runInEachFileSystem(() => { {strictNullChecks: true} /* options */, ); const diags = extendedTemplateChecker.getDiagnosticsForComponent(component); - expect(diags.length).toBe(1); - expect(diags[0].category).toBe(ts.DiagnosticCategory.Warning); - expect(diags[0].code).toBe(ngErrorCode(ErrorCode.NULLISH_COALESCING_NOT_NULLABLE)); - expect(getSourceCodeForDiagnostic(diags[0])).toBe(`myDict[key] ?? 'foo'`); + expect(diags.length).toBe(0); }); it('should respect configured diagnostic category', () => { diff --git a/packages/compiler-cli/src/ngtsc/typecheck/extended/test/checks/optional_chain_not_nullable/optional_chain_not_nullable_spec.ts b/packages/compiler-cli/src/ngtsc/typecheck/extended/test/checks/optional_chain_not_nullable/optional_chain_not_nullable_spec.ts index 83add04e8e1c..8764dac7b793 100644 --- a/packages/compiler-cli/src/ngtsc/typecheck/extended/test/checks/optional_chain_not_nullable/optional_chain_not_nullable_spec.ts +++ b/packages/compiler-cli/src/ngtsc/typecheck/extended/test/checks/optional_chain_not_nullable/optional_chain_not_nullable_spec.ts @@ -256,6 +256,36 @@ runInEachFileSystem(() => { expect(diags.length).toBe(0); }); + it('should not produce optional chain warning for a chained safe property read off an indexed access if noUncheckedIndexedAccess is false', () => { + const fileName = absoluteFrom('/main.ts'); + const {program, templateTypeChecker} = setup( + [ + { + fileName, + templates: { + 'TestCmp': `{{ arr[0]?.bar?.length }}`, + }, + source: ` + export class TestCmp { + arr: Array<{ bar: string }> = []; + } + `, + }, + ], + {options: {noUncheckedIndexedAccess: false}}, + ); + const sf = getSourceFileOrError(program, fileName); + const component = getClass(sf, 'TestCmp'); + const extendedTemplateChecker = new ExtendedTemplateCheckerImpl( + templateTypeChecker, + program.getTypeChecker(), + [optionalChainNotNullableFactory], + {strictNullChecks: true} /* options */, + ); + const diags = extendedTemplateChecker.getDiagnosticsForComponent(component); + expect(diags.length).toBe(0); + }); + it('should produce optional chain warning for an indexed access if noUncheckedIndexedAccess is true', () => { const fileName = absoluteFrom('/main.ts'); const {program, templateTypeChecker} = setup( diff --git a/packages/compiler/src/template/pipeline/src/phases/slot_allocation.ts b/packages/compiler/src/template/pipeline/src/phases/slot_allocation.ts index f58c4f857ad9..627e2bea1f2c 100644 --- a/packages/compiler/src/template/pipeline/src/phases/slot_allocation.ts +++ b/packages/compiler/src/template/pipeline/src/phases/slot_allocation.ts @@ -18,12 +18,6 @@ import type {ComponentCompilationJob} from '../compilation'; * and propagating that number into the `Template` operations which declare embedded views. */ export function allocateSlots(job: ComponentCompilationJob): void { - // Map of all declarations in all views within the component which require an assigned slot index. - // This map needs to be global (across all views within the component) since it's possible to - // reference a slot from one view from an expression within another (e.g. local references work - // this way). - const slotMap = new Map(); - // Process all views in the component and assign slot indexes. for (const unit of job.units) { // Slot indices start at 0 for each view (and are not unique between views). @@ -38,9 +32,6 @@ export function allocateSlots(job: ComponentCompilationJob): void { // Assign slots to this declaration starting at the current `slotCount`. op.handle.slot = slotCount; - // And track its assigned slot in the `slotMap`. - slotMap.set(op.xref, op.handle.slot); - // Each declaration may use more than 1 slot, so increment `slotCount` to reserve the number // of slots required. slotCount += op.numSlotsUsed; @@ -51,11 +42,8 @@ export function allocateSlots(job: ComponentCompilationJob): void { unit.decls = slotCount; } - // After slot assignment, `slotMap` now contains slot assignments for every declaration in the - // whole template, across all views. Next, look for expressions which implement - // `UsesSlotIndexExprTrait` and propagate the assigned slot indexes into them. - // Additionally, this second scan allows us to find `ir.TemplateOp`s which declare views and - // propagate the number of slots used for each view into the operation which declares it. + // After slot assignment, scan for `ir.TemplateOp`s which declare views and propagate the number + // of slots used for each view into the operation which declares it. for (const unit of job.units) { for (const op of unit.ops()) { if ( diff --git a/packages/compiler/src/template/pipeline/src/phases/temporary_variables.ts b/packages/compiler/src/template/pipeline/src/phases/temporary_variables.ts index 6e6f8b4799ad..2b9bd97f9006 100644 --- a/packages/compiler/src/template/pipeline/src/phases/temporary_variables.ts +++ b/packages/compiler/src/template/pipeline/src/phases/temporary_variables.ts @@ -54,7 +54,6 @@ function generateTemporaries( // read for the final time. let count = 0; const assigned = new Set(); - const released = new Set(); const defs = new Map(); ir.visitExpressionsInOp(op, (expr, flag) => { if (flag & ir.VisitorContextFlag.InChildOperation) { @@ -70,7 +69,6 @@ function generateTemporaries( assignName(defs, expr); } else if (expr instanceof ir.ReadTemporaryExpr) { if (finalReads.get(expr.xref) === expr) { - released.add(expr.xref); count--; } assignName(defs, expr); diff --git a/packages/core/src/render3/reactivity/effect.ts b/packages/core/src/render3/reactivity/effect.ts index 35fdf552f99b..a02429eec43e 100644 --- a/packages/core/src/render3/reactivity/effect.ts +++ b/packages/core/src/render3/reactivity/effect.ts @@ -130,7 +130,7 @@ export type EffectCleanupRegisterFn = (cleanupFn: EffectCleanupFn) => void; * * `effect()` must be run in injection context, unless the `injector` option is manually specified. * - * @see [Effects](guide/signals/effect#effects) + * @see [Effects](guide/signals/effect) * * @publicApi 20.0 */ diff --git a/packages/core/src/render3/util/discovery_utils.ts b/packages/core/src/render3/util/discovery_utils.ts index ac03e0ede911..37d630042cbe 100644 --- a/packages/core/src/render3/util/discovery_utils.ts +++ b/packages/core/src/render3/util/discovery_utils.ts @@ -304,6 +304,9 @@ export type DirectiveDebugMetadata = export function getDirectiveMetadata( directiveOrComponentInstance: any, ): AngularComponentDebugMetadata | AngularDirectiveDebugMetadata | null { + if (!directiveOrComponentInstance) { + return null; + } const {constructor} = directiveOrComponentInstance; if (!constructor) { throw new Error('Unable to find the instance constructor'); diff --git a/packages/core/test/acceptance/BUILD.bazel b/packages/core/test/acceptance/BUILD.bazel index 9179e00a3dd5..a75785113650 100644 --- a/packages/core/test/acceptance/BUILD.bazel +++ b/packages/core/test/acceptance/BUILD.bazel @@ -27,7 +27,6 @@ ts_project( "//packages/core/primitives/signals", "//packages/core/src/di/interface", "//packages/core/src/util", - "//packages/core/test/animation_utils", "//packages/core/test/render3:matchers", "//packages/core/testing", "//packages/localize", diff --git a/packages/core/test/acceptance/animation_spec.ts b/packages/core/test/acceptance/animation_spec.ts index 268400ef93c1..784afafb9ecd 100644 --- a/packages/core/test/acceptance/animation_spec.ts +++ b/packages/core/test/acceptance/animation_spec.ts @@ -23,7 +23,6 @@ import { EnvironmentInjector, ErrorHandler, inject, - input, NgModule, OnDestroy, provideZonelessChangeDetection, @@ -33,13 +32,12 @@ import { ViewContainerRef, } from '@angular/core'; import {ComponentRef} from '@angular/core/src/render3'; -import {fakeAsync, TestBed, tick} from '@angular/core/testing'; +import {TestBed} from '@angular/core/testing'; import {By} from '@angular/platform-browser'; import {NoopAnimationsModule} from '@angular/platform-browser/animations'; import {BrowserTestingModule, platformBrowserTesting} from '@angular/platform-browser/testing'; -import {isNode} from '@angular/private/testing'; +import {isNode, nextAnimationFrame, timeout} from '@angular/private/testing'; import {reusedNodes} from '../../src/animation/utils'; -import {tickAnimationFrames} from '../animation_utils/tick_animation_frames'; @NgModule({ providers: [provideZonelessChangeDetection()], @@ -88,7 +86,7 @@ describe('Animation', () => { } `; - it('should delay element removal when an animation is specified', fakeAsync(() => { + it('should delay element removal when an animation is specified', async () => { const logSpy = jasmine.createSpy('logSpy'); @Component({ changeDetection: ChangeDetectionStrategy.Eager, @@ -110,26 +108,26 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); + await fixture.whenStable(); const paragragh = fixture.debugElement.query(By.css('p')); expect(fixture.nativeElement.outerHTML).not.toContain('class="fade"'); cmp.show.set(false); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); expect(cmp.show()).toBeFalsy(); - fixture.detectChanges(); + await fixture.whenStable(); expect(fixture.nativeElement.outerHTML).toContain('class="fade"'); - fixture.detectChanges(); + await fixture.whenStable(); paragragh.nativeElement.dispatchEvent( new AnimationEvent('animationend', {animationName: 'fade-out'}), ); - tick(); + await timeout(); expect(fixture.nativeElement.outerHTML).not.toContain('class="fade"'); expect(logSpy).toHaveBeenCalled(); - })); + }); - it('should remove right away when animations are disabled', fakeAsync(() => { + it('should remove right away when animations are disabled', async () => { @Component({ changeDetection: ChangeDetectionStrategy.Eager, selector: 'test-cmp', @@ -144,15 +142,15 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); + await fixture.whenStable(); cmp.show.set(false); - tickAnimationFrames(1); - fixture.detectChanges(); + await nextAnimationFrame(); + await fixture.whenStable(); expect(cmp.show()).toBeFalsy(); expect(cmp.el).toBeUndefined(); - })); + }); - it('should remove right away when classes have no animations', fakeAsync(() => { + it('should remove right away when classes have no animations', async () => { @Component({ changeDetection: ChangeDetectionStrategy.Eager, selector: 'test-cmp', @@ -168,15 +166,15 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); + await fixture.whenStable(); cmp.show.set(false); - tickAnimationFrames(1); - fixture.detectChanges(); + await nextAnimationFrame(); + await fixture.whenStable(); expect(cmp.show()).toBeFalsy(); expect(cmp.el).toBeUndefined(); - })); + }); - it('should support string arrays', fakeAsync(() => { + it('should support string arrays', async () => { const multiple = ` .slide-out { animation: slide-out 2ms; @@ -219,28 +217,28 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); + await fixture.whenStable(); const paragragh = fixture.debugElement.query(By.css('p')); expect(fixture.nativeElement.outerHTML).not.toContain('class="slide-out fade"'); cmp.show.set(false); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); expect(cmp.show()).toBeFalsy(); - fixture.detectChanges(); + await fixture.whenStable(); expect(fixture.nativeElement.outerHTML).toContain('class="slide-out fade"'); - fixture.detectChanges(); + await fixture.whenStable(); paragragh.nativeElement.dispatchEvent( new AnimationEvent('animationend', {animationName: 'fade-out'}), ); paragragh.nativeElement.dispatchEvent( new AnimationEvent('animationend', {animationName: 'slide-out'}), ); - tick(); + await timeout(); expect(fixture.nativeElement.outerHTML).not.toContain('class="slide-out fade"'); - })); + }); - it('should support binding strings with spaces', fakeAsync(() => { + it('should support binding strings with spaces', async () => { const multiple = ` .slide-out { animation: slide-out 2ms; @@ -285,28 +283,28 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); + await fixture.whenStable(); const paragragh = fixture.debugElement.query(By.css('p')); expect(fixture.nativeElement.outerHTML).not.toContain('class="slide-out fade"'); cmp.show.set(false); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); expect(cmp.show()).toBeFalsy(); - fixture.detectChanges(); + await fixture.whenStable(); expect(fixture.nativeElement.outerHTML).toContain('class="slide-out fade"'); - fixture.detectChanges(); + await fixture.whenStable(); paragragh.nativeElement.dispatchEvent( new AnimationEvent('animationend', {animationName: 'fade-out'}), ); paragragh.nativeElement.dispatchEvent( new AnimationEvent('animationend', {animationName: 'slide-out'}), ); - tick(); + await timeout(); expect(fixture.nativeElement.outerHTML).not.toContain('class="slide-out fade"'); - })); + }); - it('should support multiple classes as a single string with spaces', fakeAsync(() => { + it('should support multiple classes as a single string with spaces', async () => { const multiple = ` .slide-out { animation: slide-out 2ms; @@ -348,28 +346,28 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); + await fixture.whenStable(); const paragragh = fixture.debugElement.query(By.css('p')); expect(fixture.nativeElement.outerHTML).not.toContain('class="slide-out fade"'); cmp.show.set(false); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); expect(cmp.show()).toBeFalsy(); - fixture.detectChanges(); + await fixture.whenStable(); expect(fixture.nativeElement.outerHTML).toContain('class="slide-out fade"'); - fixture.detectChanges(); + await fixture.whenStable(); paragragh.nativeElement.dispatchEvent( new AnimationEvent('animationend', {animationName: 'fade-out'}), ); paragragh.nativeElement.dispatchEvent( new AnimationEvent('animationend', {animationName: 'slide-out'}), ); - tick(); + await timeout(); expect(fixture.nativeElement.outerHTML).not.toContain('class="slide-out fade"'); - })); + }); - it('should support function syntax', fakeAsync(() => { + it('should support function syntax', async () => { @Component({ changeDetection: ChangeDetectionStrategy.Eager, selector: 'test-cmp', @@ -389,15 +387,15 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); + await fixture.whenStable(); cmp.show.set(false); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); expect(cmp.show()).toBeFalsy(); expect(fixture.debugElement.nativeElement.outerHTML).not.toContain('class="slide-in"'); - })); + }); - it('should be host bindable', fakeAsync(() => { + it('should be host bindable', async () => { @Component({ changeDetection: ChangeDetectionStrategy.Eager, selector: 'fade-cmp', @@ -422,24 +420,24 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); + await fixture.whenStable(); const fadeCmp = fixture.debugElement.query(By.css('fade-cmp')); expect(fixture.nativeElement.outerHTML).not.toContain('class="fade"'); cmp.show.set(false); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); expect(cmp.show()).toBeFalsy(); expect(fixture.nativeElement.outerHTML).toContain('class="fade"'); - fixture.detectChanges(); + await fixture.whenStable(); fadeCmp.nativeElement.dispatchEvent( new AnimationEvent('animationend', {animationName: 'fade-out'}), ); - tick(); + await timeout(); expect(fixture.nativeElement.outerHTML).not.toContain('class="fade"'); - })); + }); - it('should be host bindable with brackets', fakeAsync(() => { + it('should be host bindable with brackets', async () => { @Component({ changeDetection: ChangeDetectionStrategy.Eager, selector: 'fade-cmp', @@ -466,24 +464,24 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); + await fixture.whenStable(); const fadeCmp = fixture.debugElement.query(By.css('fade-cmp')); expect(fixture.nativeElement.outerHTML).not.toContain('class="fade"'); cmp.show.set(false); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); expect(cmp.show()).toBeFalsy(); expect(fixture.nativeElement.outerHTML).toContain('class="fade"'); - fixture.detectChanges(); + await fixture.whenStable(); fadeCmp.nativeElement.dispatchEvent( new AnimationEvent('animationend', {animationName: 'fade-out'}), ); - tick(); + await timeout(); expect(fixture.nativeElement.outerHTML).not.toContain('class="fade"'); - })); + }); - it('should be host bindable with events', fakeAsync(() => { + it('should be host bindable with events', async () => { const fadeCalled = jasmine.createSpy('fadeCalled'); @Component({ changeDetection: ChangeDetectionStrategy.Eager, @@ -515,16 +513,16 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); + await fixture.whenStable(); expect(fixture.nativeElement.outerHTML).not.toContain('class="fade"'); cmp.show.set(false); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); expect(cmp.show()).toBeFalsy(); - fixture.detectChanges(); + await fixture.whenStable(); expect(fadeCalled).toHaveBeenCalled(); - })); + }); it('should remove element from DOM with (animate.leave) after list reordering', async () => { @Component({ @@ -580,7 +578,7 @@ describe('Animation', () => { expect(elements.length).toBe(1); }); - it('should compose class list when host binding and regular binding', fakeAsync(() => { + it('should compose class list when host binding and regular binding', async () => { const multiple = ` .slide-out { animation: slide-out 2ms; @@ -632,14 +630,14 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); + await fixture.whenStable(); const childCmp = fixture.debugElement.query(By.css('child-cmp')); expect(childCmp.nativeElement.className).not.toContain('fade'); expect(childCmp.nativeElement.className).not.toContain('slide-out'); cmp.show.set(false); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); expect(cmp.show()).toBeFalsy(); expect(childCmp.nativeElement.className).toContain('fade'); expect(childCmp.nativeElement.className).toContain('slide-out'); @@ -650,14 +648,14 @@ describe('Animation', () => { childCmp.nativeElement.dispatchEvent( new AnimationEvent('animationend', {animationName: 'slide-out'}), ); - tick(); + await timeout(); expect(fixture.nativeElement.outerHTML).not.toContain('fade'); expect(fixture.nativeElement.outerHTML).not.toContain('slide-out'); expect(fixture.debugElement.query(By.css('child-cmp'))).toBeNull(); - })); + }); - it('should compose class list when host binding on a directive and regular binding', fakeAsync(() => { + it('should compose class list when host binding on a directive and regular binding', async () => { const multiple = ` .slide-out { animation: slide-out 2ms; @@ -714,27 +712,27 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); + await fixture.whenStable(); const childCmp = fixture.debugElement.query(By.css('child-cmp')); expect(childCmp.nativeElement.className).not.toContain('slide-out'); cmp.show.set(false); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); expect(cmp.show()).toBeFalsy(); - fixture.detectChanges(); + await fixture.whenStable(); expect(childCmp.nativeElement.className).toContain('slide-out'); - fixture.detectChanges(); + await fixture.whenStable(); childCmp.nativeElement.dispatchEvent( new AnimationEvent('animationend', {animationName: 'slide-out'}), ); - tick(); + await timeout(); expect(fixture.nativeElement.outerHTML).not.toContain('slide-out'); expect(fixture.debugElement.query(By.css('child-cmp'))).toBeNull(); - })); + }); - it('should compose class list when host binding a string and regular class strings', fakeAsync(() => { + it('should compose class list when host binding a string and regular class strings', async () => { const multiple = ` .slide-out { animation: slide-out 2ms; @@ -783,17 +781,17 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); + await fixture.whenStable(); const childCmp = fixture.debugElement.query(By.css('child-cmp')); expect(childCmp.nativeElement.className).not.toContain('slide-out fade'); cmp.show.set(false); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); expect(cmp.show()).toBeFalsy(); - fixture.detectChanges(); + await fixture.whenStable(); expect(childCmp.nativeElement.className).toContain('slide-out fade'); - fixture.detectChanges(); + await fixture.whenStable(); childCmp.nativeElement.dispatchEvent( new AnimationEvent('animationend', {animationName: 'fade-out'}), @@ -804,9 +802,9 @@ describe('Animation', () => { expect(fixture.nativeElement.outerHTML).not.toContain('slide-out fade '); expect(fixture.debugElement.query(By.css('child-cmp'))).toBeNull(); - })); + }); - it('should await the longest animation when multiple transitions are present', fakeAsync(() => { + it('should await the longest animation when multiple transitions are present', async () => { const multiple = ` .slide-out { grid-template-rows: 0fr; @@ -832,17 +830,17 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); + await fixture.whenStable(); const div = fixture.debugElement.query(By.css('div')); expect(div.nativeElement.className).not.toContain('slide-out'); cmp.show.set(false); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); expect(cmp.show()).toBeFalsy(); - fixture.detectChanges(); + await fixture.whenStable(); expect(div.nativeElement.className).toContain('slide-out'); - fixture.detectChanges(); + await fixture.whenStable(); div.nativeElement.dispatchEvent( new TransitionEvent('transitionend', {propertyName: 'opacity'}), @@ -859,12 +857,12 @@ describe('Animation', () => { div.nativeElement.dispatchEvent( new TransitionEvent('transitionend', {propertyName: 'grid-template-rows'}), ); - tick(); + await timeout(); expect(fixture.nativeElement.outerHTML).not.toContain('slide-out'); expect(fixture.debugElement.query(By.css('div'))).toBeNull(); - })); + }); - it('should wait for the longest duplicate-named animation when getAnimations is empty', fakeAsync(() => { + it('should wait for the longest duplicate-named animation when getAnimations is empty', async () => { const multiple = ` .duplicate-animation-name { animation: @@ -896,17 +894,17 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); + await fixture.whenStable(); const paragraph = fixture.debugElement.query(By.css('p')); const getAnimations = paragraph.nativeElement.getAnimations.bind(paragraph.nativeElement); spyOn(paragraph.nativeElement, 'getAnimations').and.returnValue([]); expect(paragraph.nativeElement.className).not.toContain('duplicate-animation-name'); cmp.show.set(false); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); expect(cmp.show()).toBeFalse(); - fixture.detectChanges(); + await fixture.whenStable(); expect(paragraph.nativeElement.className).toContain('duplicate-animation-name'); const [shortAnimation, longAnimation] = getAnimations(); @@ -917,14 +915,14 @@ describe('Animation', () => { }; dispatchAnimationEnd(shortAnimation); - tick(); + await timeout(); expect(fixture.nativeElement.outerHTML).toContain('duplicate-animation-name'); dispatchAnimationEnd(longAnimation); - tick(); + await timeout(); expect(fixture.nativeElement.outerHTML).not.toContain('duplicate-animation-name'); expect(fixture.debugElement.query(By.css('p'))).toBeNull(); - })); + }); describe('legacy animations compatibility', () => { beforeAll(() => { @@ -949,7 +947,7 @@ describe('Animation', () => { } `; - it('should have the same exact timing when AnimationsModule is present', fakeAsync(() => { + it('should have the same exact timing when AnimationsModule is present', async () => { const logSpy = jasmine.createSpy('logSpy'); @Component({ changeDetection: ChangeDetectionStrategy.Eager, @@ -971,24 +969,24 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); + await fixture.whenStable(); const paragragh = fixture.debugElement.query(By.css('p')); expect(fixture.nativeElement.outerHTML).not.toContain('class="fade"'); cmp.show.set(false); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); expect(cmp.show()).toBeFalsy(); - fixture.detectChanges(); + await fixture.whenStable(); expect(fixture.nativeElement.outerHTML).toContain('class="fade"'); - fixture.detectChanges(); + await fixture.whenStable(); paragragh.nativeElement.dispatchEvent( new AnimationEvent('animationend', {animationName: 'fade-out'}), ); - tick(); + await timeout(); expect(fixture.nativeElement.outerHTML).not.toContain('class="fade"'); expect(logSpy).toHaveBeenCalled(); - })); + }); }); }); @@ -1018,7 +1016,7 @@ describe('Animation', () => { } `; - it('should apply classes on entry when animation is specified with no control flow', fakeAsync(() => { + it('should apply classes on entry when animation is specified with no control flow', async () => { @Component({ changeDetection: ChangeDetectionStrategy.Eager, selector: 'test-cmp', @@ -1033,12 +1031,12 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); expect(cmp.el.nativeElement.outerHTML).toContain('class="slide-in"'); - })); + }); - it('should call animation function on entry when animation is specified with no control flow', fakeAsync(() => { + it('should call animation function on entry when animation is specified with no control flow', async () => { @Component({ changeDetection: ChangeDetectionStrategy.Eager, selector: 'test-cmp', @@ -1057,12 +1055,12 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); expect(cmp.count()).toBe(1); - })); + }); - it('should call animation function only once on entry when animation is specified with control flow', fakeAsync(() => { + it('should call animation function only once on entry when animation is specified with control flow', async () => { @Component({ changeDetection: ChangeDetectionStrategy.Eager, selector: 'test-cmp', @@ -1083,17 +1081,17 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); expect(cmp.count()).toBe(0); cmp.show.update((s) => !s); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); expect(cmp.count()).toBe(1); - })); + }); - it('should apply classes on entry when animation is specified', fakeAsync(() => { + it('should apply classes on entry when animation is specified', async () => { @Component({ changeDetection: ChangeDetectionStrategy.Eager, selector: 'test-cmp', @@ -1109,15 +1107,15 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); + await fixture.whenStable(); cmp.show.set(true); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); expect(cmp.show()).toBeTruthy(); expect(cmp.el.nativeElement.outerHTML).toContain('class="slide-in"'); - })); + }); - it('should support binding syntax', fakeAsync(() => { + it('should support binding syntax', async () => { @Component({ changeDetection: ChangeDetectionStrategy.Eager, selector: 'test-cmp', @@ -1135,15 +1133,15 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); + await fixture.whenStable(); cmp.show.set(true); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); expect(cmp.show()).toBeTruthy(); expect(cmp.el.nativeElement.outerHTML).toContain('class="slide-in"'); - })); + }); - it('should remove classes when animation is done', fakeAsync(() => { + it('should remove classes when animation is done', async () => { @Component({ changeDetection: ChangeDetectionStrategy.Eager, selector: 'test-cmp', @@ -1159,10 +1157,10 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); + await fixture.whenStable(); cmp.show.set(true); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); const paragraph = fixture.debugElement.query(By.css('p')); paragraph.nativeElement.dispatchEvent(new AnimationEvent('animationstart')); @@ -1171,9 +1169,9 @@ describe('Animation', () => { new AnimationEvent('animationend', {animationName: 'slide-in'}), ); expect(cmp.el.nativeElement.outerHTML).not.toContain('class="slide-in"'); - })); + }); - it('should support function syntax', fakeAsync(() => { + it('should support function syntax', async () => { @Component({ changeDetection: ChangeDetectionStrategy.Eager, selector: 'test-cmp', @@ -1193,10 +1191,10 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); + await fixture.whenStable(); cmp.show.set(true); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); expect(cmp.show()).toBeTruthy(); const paragraph = fixture.debugElement.query(By.css('p')); expect(cmp.el.nativeElement.outerHTML).toContain('class="slide-in"'); @@ -1205,9 +1203,9 @@ describe('Animation', () => { new AnimationEvent('animationend', {animationName: 'fade-in'}), ); expect(cmp.el.nativeElement.outerHTML).not.toContain('class="slide-in fade-in"'); - })); + }); - it('should support string arrays', fakeAsync(() => { + it('should support string arrays', async () => { const multiple = ` .slide-in { animation: slide-in 1ms; @@ -1249,11 +1247,11 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); + await fixture.whenStable(); expect(cmp.show()).toBeFalsy(); cmp.show.set(true); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); const paragraph = fixture.debugElement.query(By.css('p')); expect(cmp.show()).toBeTruthy(); expect(cmp.el.nativeElement.outerHTML).toContain('class="slide-in fade-in"'); @@ -1262,9 +1260,9 @@ describe('Animation', () => { new AnimationEvent('animationend', {animationName: 'fade-in'}), ); expect(cmp.el.nativeElement.outerHTML).not.toContain('class="slide-in fade-in"'); - })); + }); - it('should support binding to a string with a space', fakeAsync(() => { + it('should support binding to a string with a space', async () => { const multiple = ` .slide-in { animation: slide-in 1ms; @@ -1308,11 +1306,11 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); + await fixture.whenStable(); expect(cmp.show()).toBeFalsy(); cmp.show.set(true); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); const paragraph = fixture.debugElement.query(By.css('p')); expect(cmp.show()).toBeTruthy(); expect(cmp.el.nativeElement.outerHTML).toContain('class="slide-in fade-in"'); @@ -1321,9 +1319,9 @@ describe('Animation', () => { new AnimationEvent('animationend', {animationName: 'fade-in'}), ); expect(cmp.el.nativeElement.outerHTML).not.toContain('class="slide-in fade-in"'); - })); + }); - it('should support multiple classes as a single string separated by a space', fakeAsync(() => { + it('should support multiple classes as a single string separated by a space', async () => { const multiple = ` .slide-in { animation: slide-in 1ms; @@ -1364,10 +1362,10 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); + await fixture.whenStable(); cmp.show.set(true); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); expect(cmp.show()).toBeTruthy(); expect(cmp.el.nativeElement.outerHTML).toContain('class="slide-in fade-in"'); const paragraph = fixture.debugElement.query(By.css('p')); @@ -1380,9 +1378,9 @@ describe('Animation', () => { ); expect(fixture.debugElement.nativeElement.className).not.toContain('fade-in'); expect(fixture.debugElement.nativeElement.className).not.toContain('slide-in'); - })); + }); - it('should remove right away when animations are disabled', fakeAsync(() => { + it('should remove right away when animations are disabled', async () => { @Component({ changeDetection: ChangeDetectionStrategy.Eager, selector: 'test-cmp', @@ -1397,14 +1395,14 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); + await fixture.whenStable(); cmp.show.set(true); - fixture.detectChanges(); + await fixture.whenStable(); expect(cmp.show()).toBeTruthy(); expect(cmp.el.nativeElement.outerHTML).not.toContain('class="slide-in"'); - })); + }); - it('should remove right away when no classes have animations', fakeAsync(() => { + it('should remove right away when no classes have animations', async () => { @Component({ changeDetection: ChangeDetectionStrategy.Eager, selector: 'test-cmp', @@ -1420,15 +1418,15 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); + await fixture.whenStable(); cmp.show.set(true); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); expect(cmp.show()).toBeTruthy(); expect(cmp.el.nativeElement.outerHTML).not.toContain('class="not-a-class"'); - })); + }); - it('should be host bindable', fakeAsync(() => { + it('should be host bindable', async () => { @Component({ changeDetection: ChangeDetectionStrategy.Eager, selector: 'child-cmp', @@ -1451,8 +1449,8 @@ describe('Animation', () => { TestBed.configureTestingModule({animationsEnabled: true}); const fixture = TestBed.createComponent(TestComponent); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); expect(fixture.debugElement.nativeElement.outerHTML).toContain('class="slide-in"'); const paragraph = fixture.debugElement.query(By.css('p')); @@ -1461,9 +1459,9 @@ describe('Animation', () => { new AnimationEvent('animationend', {animationName: 'slide-in'}), ); expect(fixture.debugElement.nativeElement.outerHTML).toContain('class="slide-in"'); - })); + }); - it('should be host bindable with brackets', fakeAsync(() => { + it('should be host bindable with brackets', async () => { @Component({ changeDetection: ChangeDetectionStrategy.Eager, selector: 'child-cmp', @@ -1487,8 +1485,8 @@ describe('Animation', () => { TestBed.configureTestingModule({animationsEnabled: true}); const fixture = TestBed.createComponent(TestComponent); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); expect(fixture.debugElement.nativeElement.outerHTML).toContain('class="slide-in"'); const paragraph = fixture.debugElement.query(By.css('p')); @@ -1497,9 +1495,9 @@ describe('Animation', () => { new AnimationEvent('animationend', {animationName: 'slide-in'}), ); expect(fixture.debugElement.nativeElement.outerHTML).toContain('class="slide-in"'); - })); + }); - it('should be host bindable with events', fakeAsync(() => { + it('should be host bindable with events', async () => { const slideInCalled = jasmine.createSpy('slideInCalled'); @Component({ changeDetection: ChangeDetectionStrategy.Eager, @@ -1534,11 +1532,11 @@ describe('Animation', () => { TestBed.configureTestingModule({animationsEnabled: true}); const fixture = TestBed.createComponent(TestComponent); - fixture.detectChanges(); + await fixture.whenStable(); expect(slideInCalled).toHaveBeenCalled(); - })); + }); - it('should compose class list when host binding and regular binding', fakeAsync(() => { + it('should compose class list when host binding and regular binding', async () => { @Component({ changeDetection: ChangeDetectionStrategy.Eager, selector: 'child-cmp', @@ -1564,12 +1562,12 @@ describe('Animation', () => { TestBed.configureTestingModule({animationsEnabled: true}); const fixture = TestBed.createComponent(TestComponent); - fixture.detectChanges(); + await fixture.whenStable(); const childCmp = fixture.debugElement.query(By.css('child-cmp')); expect(childCmp.nativeElement.className).toContain('slide-in'); expect(childCmp.nativeElement.className).toContain('fade-in'); - tickAnimationFrames(1); + await nextAnimationFrame(); childCmp.nativeElement.dispatchEvent(new AnimationEvent('animationstart')); childCmp.nativeElement.dispatchEvent( @@ -1580,9 +1578,9 @@ describe('Animation', () => { ); expect(childCmp.nativeElement.className).not.toContain('slide-in'); expect(childCmp.nativeElement.className).not.toContain('fade-in'); - })); + }); - it('should compose class list when host binding a string and regular class strings', fakeAsync(() => { + it('should compose class list when host binding a string and regular class strings', async () => { @Component({ changeDetection: ChangeDetectionStrategy.Eager, selector: 'child-cmp', @@ -1604,8 +1602,8 @@ describe('Animation', () => { TestBed.configureTestingModule({animationsEnabled: true}); const fixture = TestBed.createComponent(TestComponent); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); const childCmp = fixture.debugElement.query(By.css('child-cmp')); expect(childCmp.nativeElement.className).toContain('slide-in fade-in'); @@ -1616,11 +1614,11 @@ describe('Animation', () => { childCmp.nativeElement.dispatchEvent( new AnimationEvent('animationend', {animationName: 'slide-in'}), ); - fixture.detectChanges(); + await fixture.whenStable(); expect(childCmp.nativeElement.className).not.toContain('slide-in fade-in'); - })); + }); - it('should reset leave animation and not duplicate node when toggled quickly', fakeAsync(() => { + it('should reset leave animation and not duplicate node when toggled quickly', async () => { const animateStyles = ` .slide-in { animation: slide-in 500ms; @@ -1662,26 +1660,26 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); cmp.show.set(true); - fixture.detectChanges(); + await fixture.whenStable(); expect(cmp.show()).toBeTruthy(); cmp.show.set(false); - tickAnimationFrames(1); - fixture.detectChanges(); + await nextAnimationFrame(); + await fixture.whenStable(); expect(cmp.show()).toBeFalsy(); cmp.show.set(true); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); expect(cmp.show()).toBeTruthy(); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); const paragraphs = fixture.debugElement.queryAll(By.css('p')); expect(paragraphs.length).toBe(1); - })); + }); - it('should reset leave animation and not duplicate node when toggled quickly using event bindings', fakeAsync(() => { + it('should reset leave animation and not duplicate node when toggled quickly using event bindings', async () => { const animateStyles = ` .slide-in { animation: slide-in 500ms; @@ -1733,25 +1731,25 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); cmp.show.set(true); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); expect(cmp.show()).toBeTruthy(); cmp.show.set(false); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); expect(cmp.show()).toBeFalsy(); cmp.show.set(true); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); expect(cmp.show()).toBeTruthy(); const paragraphs = fixture.debugElement.queryAll(By.css('p')); expect(paragraphs.length).toBe(1); - })); + }); - it('should reset leave animation and not duplicate node when toggled programmatically very quickly', fakeAsync(() => { + it('should reset leave animation and not duplicate node when toggled programmatically very quickly', async () => { const animateStyles = ` .fade { animation: fade-out 500ms; @@ -1795,13 +1793,13 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; cmp.toggle(); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); const paragraphs = fixture.debugElement.queryAll(By.css('p')); expect(paragraphs.length).toBe(1); - })); + }); - it('should always run animations for `@for` loops when adding and removing quickly', fakeAsync(() => { + it('should always run animations for `@for` loops when adding and removing quickly', async () => { const animateStyles = ` .slide-in { animation: slide-in 500ms; @@ -1855,8 +1853,8 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); const paragraphs = fixture.debugElement.queryAll(By.css('p')); paragraphs.forEach((p) => { p.nativeElement.dispatchEvent(new AnimationEvent('animationstart')); @@ -1866,15 +1864,15 @@ describe('Animation', () => { }); cmp.addremove(); fixture.changeDetectorRef.markForCheck(); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); expect(fixture.debugElement.queryAll(By.css('p.fade')).length).toBe(1); expect(fixture.debugElement.queryAll(By.css('p.slide-in')).length).toBe(1); expect(fixture.debugElement.queryAll(By.css('p')).length).toBe(4); - })); + }); - it('should run leave and enter animations for `@for` loops when adding / removing simultaneously', fakeAsync(() => { + it('should run leave and enter animations for `@for` loops when adding / removing simultaneously', async () => { const animateStyles = ` .slide-in { animation: slide-in 500ms; @@ -1926,8 +1924,8 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); const paragraphs = fixture.debugElement.queryAll(By.css('p')); paragraphs.forEach((p) => { p.nativeElement.dispatchEvent(new AnimationEvent('animationstart')); @@ -1936,8 +1934,8 @@ describe('Animation', () => { ); }); cmp.addremove(); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); const first = fixture.debugElement.query(By.css('p#item-1')); const last = fixture.debugElement.query(By.css('p#item-4')); @@ -1952,16 +1950,16 @@ describe('Animation', () => { first.nativeElement.dispatchEvent( new AnimationEvent('animationend', {animationName: 'fade-out'}), ); - fixture.detectChanges(); - tickAnimationFrames(1); - tick(); + await fixture.whenStable(); + await nextAnimationFrame(); + await timeout(); expect(fixture.debugElement.queryAll(By.css('p')).length).toBe(3); expect(fixture.debugElement.queryAll(By.css('p.slide-in')).length).toBe(0); expect(fixture.debugElement.queryAll(By.css('p.fade')).length).toBe(0); - })); + }); - it('should run leave and enter animations for `@for` loops when adding / removing simultaneously with leave function', fakeAsync(() => { + it('should run leave and enter animations for `@for` loops when adding / removing simultaneously with leave function', async () => { const animateStyles = ` .slide-in { animation: slide-in 500ms; @@ -2018,8 +2016,8 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); const paragraphs = fixture.debugElement.queryAll(By.css('p')); paragraphs.forEach((p) => { p.nativeElement.dispatchEvent(new AnimationEvent('animationstart')); @@ -2028,8 +2026,8 @@ describe('Animation', () => { ); }); cmp.addremove(); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); const first = fixture.debugElement.query(By.css('p#item-1')); const last = fixture.debugElement.query(By.css('p#item-4')); @@ -2044,16 +2042,16 @@ describe('Animation', () => { first.nativeElement.dispatchEvent( new AnimationEvent('animationend', {animationName: 'fade-out'}), ); - fixture.detectChanges(); - tickAnimationFrames(1); - tick(); + await fixture.whenStable(); + await nextAnimationFrame(); + await timeout(); expect(fixture.debugElement.queryAll(By.css('p')).length).toBe(3); expect(fixture.debugElement.queryAll(By.css('p.slide-in')).length).toBe(0); expect(fixture.debugElement.queryAll(By.css('p.fade')).length).toBe(0); - })); + }); - it('should always run animations for custom repeater loops when adding and removing quickly', fakeAsync(() => { + it('should always run animations for custom repeater loops when adding and removing quickly', async () => { const animateStyles = ` .slide-in { animation: slide-in 500ms; @@ -2108,8 +2106,8 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); const paragraphs = fixture.debugElement.queryAll(By.css('p')); paragraphs.forEach((p) => { p.nativeElement.dispatchEvent(new AnimationEvent('animationstart')); @@ -2119,15 +2117,15 @@ describe('Animation', () => { }); cmp.addremove(); fixture.changeDetectorRef.markForCheck(); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); expect(fixture.debugElement.queryAll(By.css('p.fade')).length).toBe(1); expect(fixture.debugElement.queryAll(By.css('p.slide-in')).length).toBe(1); expect(fixture.debugElement.queryAll(By.css('p')).length).toBe(4); - })); + }); - it('should only remove one element in reactive `@for` loops when removing the second to last item', fakeAsync(() => { + it('should only remove one element in reactive `@for` loops when removing the second to last item', async () => { const animateStyles = ` .fade { animation: fade-out 500ms; @@ -2173,10 +2171,10 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); + await fixture.whenStable(); cmp.removeSecondToLast(); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); expect(fixture.debugElement.queryAll(By.css('p.fade')).length).toBe(1); expect(fixture.debugElement.queryAll(By.css('p')).length).toBe(4); @@ -2185,11 +2183,11 @@ describe('Animation', () => { .nativeElement.dispatchEvent( new AnimationEvent('animationend', {animationName: 'fade-out'}), ); - tick(); + await timeout(); expect(fixture.debugElement.queryAll(By.css('p')).length).toBe(3); - })); + }); - it('should not remove elements when swapping or moving nodes', fakeAsync(() => { + it('should not remove elements when swapping or moving nodes', async () => { const animateSpy = jasmine.createSpy('animateSpy'); @Component({ changeDetection: ChangeDetectionStrategy.Eager, @@ -2226,12 +2224,12 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; cmp.shuffle(); - fixture.detectChanges(); + await fixture.whenStable(); expect(animateSpy).not.toHaveBeenCalled(); expect(fixture.debugElement.queryAll(By.css('p')).length).toBe(3); - })); + }); - it('should not remove elements when child element animations finish', fakeAsync(() => { + it('should not remove elements when child element animations finish', async () => { const animateStyles = ` .fade { animation: fade-out 500ms; @@ -2285,30 +2283,30 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); + await fixture.whenStable(); cmp.flash(); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); fixture.debugElement .query(By.css('button')) .nativeElement.dispatchEvent( new AnimationEvent('animationend', {animationName: 'flash', bubbles: true}), ); - tick(); + await timeout(); expect(fixture.debugElement.queryAll(By.css('p')).length).toBe(1); fixture.debugElement .query(By.css('p')) .nativeElement.dispatchEvent( new AnimationEvent('animationend', {animationName: 'fade-out', bubbles: true}), ); - tick(); + await timeout(); expect(fixture.debugElement.queryAll(By.css('p')).length).toBe(0); - })); + }); }); describe('animation queue timing', () => { - it('should run animations with a fresh componentRef after destroy', fakeAsync(() => { + it('should run animations with a fresh componentRef after destroy', async () => { @Component({ selector: 'app-control-panel', template: ` @@ -2376,37 +2374,37 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); + await fixture.whenStable(); expect(fixture.debugElement.query(By.css('p.all-there-is'))).not.toBeNull(); expect(fixture.debugElement.query(By.css('p.not-here.fade-out'))).not.toBeNull(); // Finish the leave animation to ensure it is removed - tickAnimationFrames(1); + await nextAnimationFrame(); // verify element is removed post animation expect(fixture.debugElement.query(By.css('p.not-here'))).toBeNull(); cmp.toggleOverlay(); - fixture.detectChanges(); + await fixture.whenStable(); // show is false. Nothing should be present. expect(fixture.debugElement.query(By.css('p.all-there-is'))).toBeNull(); expect(fixture.debugElement.query(By.css('p.not-here'))).toBeNull(); cmp.toggleOverlay(); - fixture.detectChanges(); + await fixture.whenStable(); expect(fixture.debugElement.query(By.css('p.not-here'))).not.toBeNull(); - tickAnimationFrames(1); + await nextAnimationFrame(); // show is true. Only one element should be present. expect(fixture.debugElement.query(By.css('p.all-there-is'))).not.toBeNull(); expect(fixture.debugElement.query(By.css('p.not-here'))).toBeNull(); - })); + }); - it('should not throw INJECTOR_ALREADY_DESTROYED when lView injector is destroyed before animation queue runs', fakeAsync(() => { + it('should not throw INJECTOR_ALREADY_DESTROYED when lView injector is destroyed before animation queue runs', async () => { const animateStyles = ` .fade-out { animation: fade-out 100ms; @@ -2449,8 +2447,7 @@ describe('Animation', () => { hostElement: hostEl, }); appRef.attachView(compRef.hostView); - appRef.tick(); - tickAnimationFrames(1); + await appRef.whenStable(); expect(hostEl.querySelector('.item')).not.toBeNull(); @@ -2464,16 +2461,16 @@ describe('Animation', () => { // destroyed while leave animations are pending. childEnvInjector.destroy(); - // Tick to flush the animation queue. Without the fix, the animation + // Wait for the animation queue to flush. Without the fix, the animation // function would call lView[INJECTOR].get(NgZone) which delegates to // the destroyed childEnvInjector, throwing NG0205. - appRef.tick(); - tickAnimationFrames(1); + await appRef.whenStable(); + await nextAnimationFrame(); expect(errorHandler.handleError).not.toHaveBeenCalled(); - })); + }); - it('should not wait for child component leave animations when host is inside an ng-container', fakeAsync(() => { + it('should not wait for child component leave animations when host is inside an ng-container', async () => { const animateStyles = ` .fade-out { animation: fade-out 5000ms; @@ -2509,26 +2506,25 @@ describe('Animation', () => { TestBed.configureTestingModule({animationsEnabled: true}); const fixture = TestBed.createComponent(TestCmp); const cmp = fixture.componentInstance; - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); expect(fixture.debugElement.query(By.css('.child'))).not.toBeNull(); cmp.show.set(false); - fixture.detectChanges(); + await fixture.whenStable(); // If the bounding logic works, the ng-container (TNodeType.ElementContainer) // containing the child component will NOT recurse into the child component's // views, so the parent host will be removed immediately without waiting // for the child's 5000ms animation. - tickAnimationFrames(1); + await nextAnimationFrame(); expect(fixture.debugElement.query(By.css('.child'))).toBeNull(); - })); + }); }); describe('animation element duplication', () => { - it('should not duplicate elements when using dynamic components in overlay-like containers', fakeAsync(() => { + it('should not duplicate elements when using dynamic components in overlay-like containers', async () => { const animateStyles = ` .example-menu { display: inline-flex; @@ -2612,7 +2608,7 @@ describe('Animation', () => { TestBed.configureTestingModule({animationsEnabled: true}); const fixture = TestBed.createComponent(TestComponent); - fixture.detectChanges(); + await fixture.whenStable(); const cmp = fixture.debugElement.query(By.css('dynamic-menu')).componentInstance; @@ -2620,35 +2616,35 @@ describe('Animation', () => { const countMenus = () => document.querySelectorAll('.example-menu').length; // Helper to complete the leave animation for all leaving menu elements - const finishLeaveAnimations = () => { - tickAnimationFrames(1); + const finishLeaveAnimations = async () => { + await nextAnimationFrame(); document.querySelectorAll('.example-menu.close').forEach((el) => { el.dispatchEvent(new AnimationEvent('animationend', {animationName: 'open'})); }); - tick(); + await timeout(); }; // Simulate rapid clicking with CD between each toggle for (let i = 0; i < 20; i++) { cmp.toggle(); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); // At no point should there be more than one menu element expect(countMenus()).toBeLessThanOrEqual(1); } // Complete any remaining leave animations - finishLeaveAnimations(); - fixture.detectChanges(); + await finishLeaveAnimations(); + await fixture.whenStable(); // 20 toggles (even) = closed = 0 elements expect(countMenus()).toBe(0); // Clean up overlay panes document.querySelectorAll('.overlay-pane').forEach((p) => p.remove()); - })); + }); - it('should run animate.leave for a sibling instance when another instance of the same template enters', fakeAsync(() => { + it('should run animate.leave for a sibling instance when another instance of the same template enters', async () => { // Regression test for a case where two *separate* instances of the same // component (which therefore share a `TNode`) are toggled in the same // change-detection tick: one panel collapses (`animate.leave`) while a @@ -2712,13 +2708,13 @@ describe('Animation', () => { TestBed.configureTestingModule({animationsEnabled: true}); const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); + await fixture.whenStable(); cmp.a.id = 'A'; cmp.b.id = 'B'; // Initially only A is open. cmp.a.open.set(true); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); const panels = () => Array.from(fixture.nativeElement.querySelectorAll('.panel')); const panelByText = (text: string) => @@ -2735,8 +2731,8 @@ describe('Animation', () => { // but live in different DOM parents (their respective hosts). cmp.a.open.set(false); cmp.b.open.set(true); - fixture.detectChanges(); - tickAnimationFrames(1); + await fixture.whenStable(); + await nextAnimationFrame(); // B's panel should have entered. expect(panelByText('Panel B')).toBeTruthy(); @@ -2748,13 +2744,13 @@ describe('Animation', () => { // Once A's leave animation completes, it is removed as usual. leavingPanelA.dispatchEvent(new AnimationEvent('animationend', {animationName: 'shrink'})); - tickAnimationFrames(1); - fixture.detectChanges(); + await nextAnimationFrame(); + await fixture.whenStable(); expect(leavingPanelA.isConnected).toBe(false); expect(panelByText('Panel A')).toBeUndefined(); expect(panelByText('Panel B')).toBeTruthy(); - })); + }); }); describe('infinite animations', () => { @@ -2768,7 +2764,7 @@ describe('Animation', () => { } `; - it('should ignore infinite animations during animate.leave and remove element immediately', fakeAsync(() => { + it('should ignore infinite animations during animate.leave and remove element immediately', async () => { @Component({ changeDetection: ChangeDetectionStrategy.Eager, selector: 'test-cmp', @@ -2786,24 +2782,24 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); + await fixture.whenStable(); const paragraph = fixture.debugElement.query(By.css('p')); expect(paragraph).toBeTruthy(); cmp.show.set(false); - fixture.detectChanges(); + await fixture.whenStable(); // Simulate a frame. If the animation is ignored, it should be removed already. // If it's NOT ignored, it will wait for the animation (forever). - tickAnimationFrames(1); - fixture.detectChanges(); + await nextAnimationFrame(); + await fixture.whenStable(); // The element should be removed if infinite animations are ignored. expect(cmp.show()).toBeFalsy(); expect(fixture.debugElement.query(By.css('p'))).toBeNull(); - })); + }); - it('should ignore infinite animations during animate.enter and remove classes immediately', fakeAsync(() => { + it('should ignore infinite animations during animate.enter and remove classes immediately', async () => { @Component({ changeDetection: ChangeDetectionStrategy.Eager, selector: 'test-cmp', @@ -2821,21 +2817,21 @@ describe('Animation', () => { const fixture = TestBed.createComponent(TestComponent); const cmp = fixture.componentInstance; - fixture.detectChanges(); + await fixture.whenStable(); cmp.show.set(true); - fixture.detectChanges(); + await fixture.whenStable(); // Check that class is added initially (maybe?) let paragraph = fixture.debugElement.query(By.css('p')); expect(paragraph.nativeElement.classList.contains('infinite-anim')).toBe(true); // Simulate a frame. If ignored, class should be removed immediately. - tickAnimationFrames(1); - fixture.detectChanges(); + await nextAnimationFrame(); + await fixture.whenStable(); paragraph = fixture.debugElement.query(By.css('p')); expect(paragraph.nativeElement.classList.contains('infinite-anim')).toBe(false); - })); + }); }); }); diff --git a/packages/core/test/acceptance/authoring/BUILD.bazel b/packages/core/test/acceptance/authoring/BUILD.bazel index aa364ef58f3b..3797026a1559 100644 --- a/packages/core/test/acceptance/authoring/BUILD.bazel +++ b/packages/core/test/acceptance/authoring/BUILD.bazel @@ -14,7 +14,6 @@ TEST_DEPS = [ "//packages/platform-browser:platform-browser", "//packages/core/primitives/signals:signals", "//:node_modules/rxjs", - "//packages/core/test/animation_utils", "//packages/private/testing", ] diff --git a/packages/core/test/acceptance/discover_utils_spec.ts b/packages/core/test/acceptance/discover_utils_spec.ts index b5b58bdf4ec0..921d44d4e7d7 100644 --- a/packages/core/test/acceptance/discover_utils_spec.ts +++ b/packages/core/test/acceptance/discover_utils_spec.ts @@ -405,6 +405,11 @@ describe('discovery utils', () => { expect(metadata!.inputs).toEqual({a: 'b'}); expect(metadata!.outputs).toEqual({c: 'd'}); }); + + it('should return null when passed null or undefined', () => { + expect(getDirectiveMetadata(null)).toBeNull(); + expect(getDirectiveMetadata(undefined)).toBeNull(); + }); }); }); diff --git a/packages/core/test/animation_utils/BUILD.bazel b/packages/core/test/animation_utils/BUILD.bazel deleted file mode 100644 index 6415cc1a32d9..000000000000 --- a/packages/core/test/animation_utils/BUILD.bazel +++ /dev/null @@ -1,14 +0,0 @@ -load("//tools:defaults.bzl", "ts_project") - -package(default_visibility = ["//visibility:public"]) - -ts_project( - name = "animation_utils", - testonly = True, - srcs = [ - "tick_animation_frames.ts", - ], - deps = [ - "//packages/core/testing", - ], -) diff --git a/packages/core/test/animation_utils/tick_animation_frames.ts b/packages/core/test/animation_utils/tick_animation_frames.ts deleted file mode 100644 index f50c55888fc3..000000000000 --- a/packages/core/test/animation_utils/tick_animation_frames.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * @license - * Copyright Google LLC All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.dev/license - */ - -import {tick} from '@angular/core/testing'; - -/** Ticks the specified amount of `requestAnimationFrame`-s. */ -export function tickAnimationFrames(amount: number) { - tick(16.6 * amount); // Angular turns rAF calls into 16.6ms timeouts in tests. -} diff --git a/packages/core/test/bundling/package.json b/packages/core/test/bundling/package.json index a9f39c0e8287..e95643886d34 100644 --- a/packages/core/test/bundling/package.json +++ b/packages/core/test/bundling/package.json @@ -1,7 +1,7 @@ { "dependencies": { "@angular/animations": "workspace:*", - "@angular/build": "22.1.7", + "@angular/build": "22.1.8", "@angular/common": "workspace:*", "@angular/compiler-cli": "workspace:*", "@angular/compiler": "workspace:*", diff --git a/packages/core/test/linker/change_detection_integration_spec.ts b/packages/core/test/linker/change_detection_integration_spec.ts index 03fe0bdce740..7e0b650da160 100644 --- a/packages/core/test/linker/change_detection_integration_spec.ts +++ b/packages/core/test/linker/change_detection_integration_spec.ts @@ -43,7 +43,7 @@ import { ViewChild, ViewContainerRef, } from '../../src/core'; -import {ComponentFixture, fakeAsync, TestBed} from '../../testing'; +import {ComponentFixture, TestBed} from '../../testing'; import {NoopAnimationsModule} from '@angular/platform-browser/animations'; import {MockResourceLoader} from './resource_loader_mock'; @@ -145,217 +145,217 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ }); describe('expressions', () => { - it('should support literals', fakeAsync(() => { + it('should support literals', () => { expect(_bindAndCheckSimpleValue(10)).toEqual(['id=10']); - })); + }); - it('should strip quotes from literals', fakeAsync(() => { + it('should strip quotes from literals', () => { expect(_bindAndCheckSimpleValue('"str"')).toEqual(['id=str']); - })); + }); - it('should support newlines in literals', fakeAsync(() => { + it('should support newlines in literals', () => { expect(_bindAndCheckSimpleValue('"a\n\nb"')).toEqual(['id=a\n\nb']); - })); + }); - it('should support + operations', fakeAsync(() => { + it('should support + operations', () => { expect(_bindAndCheckSimpleValue('10 + 2')).toEqual(['id=12']); - })); + }); - it('should support - operations', fakeAsync(() => { + it('should support - operations', () => { expect(_bindAndCheckSimpleValue('10 - 2')).toEqual(['id=8']); - })); + }); - it('should support * operations', fakeAsync(() => { + it('should support * operations', () => { expect(_bindAndCheckSimpleValue('10 * 2')).toEqual(['id=20']); - })); + }); - it('should support / operations', fakeAsync(() => { + it('should support / operations', () => { expect(_bindAndCheckSimpleValue('10 / 2')).toEqual([`id=5`]); - })); + }); - it('should support % operations', fakeAsync(() => { + it('should support % operations', () => { expect(_bindAndCheckSimpleValue('11 % 2')).toEqual(['id=1']); - })); + }); - it('should support == operations on identical', fakeAsync(() => { + it('should support == operations on identical', () => { expect(_bindAndCheckSimpleValue('1 == 1')).toEqual(['id=true']); - })); + }); - it('should support != operations', fakeAsync(() => { + it('should support != operations', () => { expect(_bindAndCheckSimpleValue('1 != 1')).toEqual(['id=false']); - })); + }); - it('should support == operations on coerceible', fakeAsync(() => { + it('should support == operations on coerceible', () => { expect(_bindAndCheckSimpleValue('1 == true')).toEqual([`id=true`]); - })); + }); - it('should support === operations on identical', fakeAsync(() => { + it('should support === operations on identical', () => { expect(_bindAndCheckSimpleValue('1 === 1')).toEqual(['id=true']); - })); + }); - it('should support !== operations', fakeAsync(() => { + it('should support !== operations', () => { expect(_bindAndCheckSimpleValue('1 !== 1')).toEqual(['id=false']); - })); + }); - it('should support === operations on coerceible', fakeAsync(() => { + it('should support === operations on coerceible', () => { expect(_bindAndCheckSimpleValue('1 === true')).toEqual(['id=false']); - })); + }); - it('should support true < operations', fakeAsync(() => { + it('should support true < operations', () => { expect(_bindAndCheckSimpleValue('1 < 2')).toEqual(['id=true']); - })); + }); - it('should support false < operations', fakeAsync(() => { + it('should support false < operations', () => { expect(_bindAndCheckSimpleValue('2 < 1')).toEqual(['id=false']); - })); + }); - it('should support false > operations', fakeAsync(() => { + it('should support false > operations', () => { expect(_bindAndCheckSimpleValue('1 > 2')).toEqual(['id=false']); - })); + }); - it('should support true > operations', fakeAsync(() => { + it('should support true > operations', () => { expect(_bindAndCheckSimpleValue('2 > 1')).toEqual(['id=true']); - })); + }); - it('should support true <= operations', fakeAsync(() => { + it('should support true <= operations', () => { expect(_bindAndCheckSimpleValue('1 <= 2')).toEqual(['id=true']); - })); + }); - it('should support equal <= operations', fakeAsync(() => { + it('should support equal <= operations', () => { expect(_bindAndCheckSimpleValue('2 <= 2')).toEqual(['id=true']); - })); + }); - it('should support false <= operations', fakeAsync(() => { + it('should support false <= operations', () => { expect(_bindAndCheckSimpleValue('2 <= 1')).toEqual(['id=false']); - })); + }); - it('should support true >= operations', fakeAsync(() => { + it('should support true >= operations', () => { expect(_bindAndCheckSimpleValue('2 >= 1')).toEqual(['id=true']); - })); + }); - it('should support equal >= operations', fakeAsync(() => { + it('should support equal >= operations', () => { expect(_bindAndCheckSimpleValue('2 >= 2')).toEqual(['id=true']); - })); + }); - it('should support false >= operations', fakeAsync(() => { + it('should support false >= operations', () => { expect(_bindAndCheckSimpleValue('1 >= 2')).toEqual(['id=false']); - })); + }); - it('should support true && operations', fakeAsync(() => { + it('should support true && operations', () => { expect(_bindAndCheckSimpleValue('true && true')).toEqual(['id=true']); - })); + }); - it('should support false && operations', fakeAsync(() => { + it('should support false && operations', () => { expect(_bindAndCheckSimpleValue('true && false')).toEqual(['id=false']); - })); + }); - it('should support true || operations', fakeAsync(() => { + it('should support true || operations', () => { expect(_bindAndCheckSimpleValue('true || false')).toEqual(['id=true']); - })); + }); - it('should support false || operations', fakeAsync(() => { + it('should support false || operations', () => { expect(_bindAndCheckSimpleValue('false || false')).toEqual(['id=false']); - })); + }); - it('should support negate', fakeAsync(() => { + it('should support negate', () => { expect(_bindAndCheckSimpleValue('!true')).toEqual(['id=false']); - })); + }); - it('should support double negate', fakeAsync(() => { + it('should support double negate', () => { expect(_bindAndCheckSimpleValue('!!true')).toEqual(['id=true']); - })); + }); - it('should support true conditionals', fakeAsync(() => { + it('should support true conditionals', () => { expect(_bindAndCheckSimpleValue('1 < 2 ? 1 : 2')).toEqual(['id=1']); - })); + }); - it('should support false conditionals', fakeAsync(() => { + it('should support false conditionals', () => { expect(_bindAndCheckSimpleValue('1 > 2 ? 1 : 2')).toEqual(['id=2']); - })); + }); - it('should support keyed access to a list item', fakeAsync(() => { + it('should support keyed access to a list item', () => { expect(_bindAndCheckSimpleValue('["foo", "bar"][0]')).toEqual(['id=foo']); - })); + }); - it('should support keyed access to a map item', fakeAsync(() => { + it('should support keyed access to a map item', () => { expect(_bindAndCheckSimpleValue('{"foo": "bar"}["foo"]')).toEqual(['id=bar']); - })); + }); - it('should report all changes on the first run including uninitialized values', fakeAsync(() => { + it('should report all changes on the first run including uninitialized values', () => { expect(_bindAndCheckSimpleValue('value', Uninitialized)).toEqual(['id=null']); - })); + }); - it('should report all changes on the first run including null values', fakeAsync(() => { + it('should report all changes on the first run including null values', () => { const ctx = _bindSimpleValue('a', TestData); ctx.componentInstance.a = null; ctx.detectChanges(false); expect(renderLog.log).toEqual(['id=null']); - })); + }); - it('should support simple chained property access', fakeAsync(() => { + it('should support simple chained property access', () => { const ctx = _bindSimpleValue('address.city', Person); ctx.componentInstance.name = 'Victor'; ctx.componentInstance.address = new Address('Grenoble'); ctx.detectChanges(false); expect(renderLog.log).toEqual(['id=Grenoble']); - })); + }); describe('safe navigation operator', () => { - it('should support reading properties of nulls', fakeAsync(() => { + it('should support reading properties of nulls', () => { const ctx = _bindSimpleValue('address?.city', Person); ctx.componentInstance.address = null!; ctx.detectChanges(false); expect(renderLog.log).toEqual(['id=undefined']); - })); + }); - it('should support calling methods on nulls', fakeAsync(() => { + it('should support calling methods on nulls', () => { const ctx = _bindSimpleValue('address?.toString()', Person); ctx.componentInstance.address = null!; ctx.detectChanges(false); expect(renderLog.log).toEqual(['id=undefined']); - })); + }); - it('should support reading properties on non nulls', fakeAsync(() => { + it('should support reading properties on non nulls', () => { const ctx = _bindSimpleValue('address?.city', Person); ctx.componentInstance.address = new Address('MTV'); ctx.detectChanges(false); expect(renderLog.log).toEqual(['id=MTV']); - })); + }); - it('should support calling methods on non nulls', fakeAsync(() => { + it('should support calling methods on non nulls', () => { const ctx = _bindSimpleValue('address?.toString()', Person); ctx.componentInstance.address = new Address('MTV'); ctx.detectChanges(false); expect(renderLog.log).toEqual(['id=MTV']); - })); + }); - it('should support short-circuting safe navigation', fakeAsync(() => { + it('should support short-circuting safe navigation', () => { const ctx = _bindSimpleValue('value?.address.city', PersonHolder); ctx.componentInstance.value = null!; ctx.detectChanges(false); expect(renderLog.log).toEqual(['id=undefined']); - })); + }); - it('should support nested short-circuting safe navigation', fakeAsync(() => { + it('should support nested short-circuting safe navigation', () => { const ctx = _bindSimpleValue('value.value?.address.city', PersonHolderHolder); ctx.componentInstance.value = new PersonHolder(); ctx.detectChanges(false); expect(renderLog.log).toEqual(['id=undefined']); - })); + }); - it('should support chained short-circuting safe navigation', fakeAsync(() => { + it('should support chained short-circuting safe navigation', () => { const ctx = _bindSimpleValue('value?.value?.address.city', PersonHolderHolder); ctx.detectChanges(false); expect(renderLog.log).toEqual(['id=undefined']); - })); + }); - it('should support short-circuting array index operations', fakeAsync(() => { + it('should support short-circuting array index operations', () => { const ctx = _bindSimpleValue('value?.phones[0]', PersonHolder); ctx.detectChanges(false); expect(renderLog.log).toEqual(['id=undefined']); - })); + }); - it('should still throw if right-side would throw', fakeAsync(() => { + it('should still throw if right-side would throw', () => { expect(() => { const ctx = _bindSimpleValue('value?.address.city', PersonHolder); const person = new Person(); @@ -363,30 +363,30 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ ctx.componentInstance.value = person; ctx.detectChanges(false); }).toThrow(); - })); + }); }); - it('should support method calls', fakeAsync(() => { + it('should support method calls', () => { const ctx = _bindSimpleValue('sayHi("Jim")', Person); ctx.detectChanges(false); expect(renderLog.log).toEqual(['id=Hi, Jim']); - })); + }); - it('should support function calls', fakeAsync(() => { + it('should support function calls', () => { const ctx = _bindSimpleValue('a()(99)', TestData); ctx.componentInstance.a = () => (a: any) => a; ctx.detectChanges(false); expect(renderLog.log).toEqual(['id=99']); - })); + }); - it('should support chained method calls', fakeAsync(() => { + it('should support chained method calls', () => { const ctx = _bindSimpleValue('address.toString()', Person); ctx.componentInstance.address = new Address('MTV'); ctx.detectChanges(false); expect(renderLog.log).toEqual(['id=MTV']); - })); + }); - it('should support NaN', fakeAsync(() => { + it('should support NaN', () => { const ctx = _bindSimpleValue('age', Person); ctx.componentInstance.age = NaN; ctx.detectChanges(false); @@ -396,9 +396,9 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ ctx.detectChanges(false); expect(renderLog.log).toEqual([]); - })); + }); - it('should do simple watching', fakeAsync(() => { + it('should do simple watching', () => { const ctx = _bindSimpleValue('name', Person); ctx.componentInstance.name = 'misko'; @@ -413,28 +413,28 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ ctx.componentInstance.name = 'Misko'; ctx.detectChanges(false); expect(renderLog.log).toEqual(['id=Misko']); - })); + }); - it('should support literal array made of literals', fakeAsync(() => { + it('should support literal array made of literals', () => { const ctx = _bindSimpleValue('[1, 2]'); ctx.detectChanges(false); expect(renderLog.loggedValues).toEqual([[1, 2]]); - })); + }); - it('should support empty literal array', fakeAsync(() => { + it('should support empty literal array', () => { const ctx = _bindSimpleValue('[]'); ctx.detectChanges(false); expect(renderLog.loggedValues).toEqual([[]]); - })); + }); - it('should support literal array made of expressions', fakeAsync(() => { + it('should support literal array made of expressions', () => { const ctx = _bindSimpleValue('[1, a]', TestData); ctx.componentInstance.a = 2; ctx.detectChanges(false); expect(renderLog.loggedValues).toEqual([[1, 2]]); - })); + }); - it('should not recreate literal arrays unless their content changed', fakeAsync(() => { + it('should not recreate literal arrays unless their content changed', () => { const ctx = _bindSimpleValue('[1, a]', TestData); ctx.componentInstance.a = 2; ctx.detectChanges(false); @@ -446,28 +446,28 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ [1, 2], [1, 3], ]); - })); + }); - it('should support literal maps made of literals', fakeAsync(() => { + it('should support literal maps made of literals', () => { const ctx = _bindSimpleValue('{z: 1}'); ctx.detectChanges(false); expect(renderLog.loggedValues[0]['z']).toEqual(1); - })); + }); - it('should support empty literal map', fakeAsync(() => { + it('should support empty literal map', () => { const ctx = _bindSimpleValue('{}'); ctx.detectChanges(false); expect(renderLog.loggedValues).toEqual([{}]); - })); + }); - it('should support literal maps made of expressions', fakeAsync(() => { + it('should support literal maps made of expressions', () => { const ctx = _bindSimpleValue('{z: a}'); ctx.componentInstance.a = 1; ctx.detectChanges(false); expect(renderLog.loggedValues[0]['z']).toEqual(1); - })); + }); - it('should not recreate literal maps unless their content changed', fakeAsync(() => { + it('should not recreate literal maps unless their content changed', () => { const ctx = _bindSimpleValue('{z: a}'); ctx.componentInstance.a = 1; ctx.detectChanges(false); @@ -478,76 +478,76 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ expect(renderLog.loggedValues.length).toBe(2); expect(renderLog.loggedValues[0]['z']).toEqual(1); expect(renderLog.loggedValues[1]['z']).toEqual(2); - })); + }); - it('should ignore empty bindings', fakeAsync(() => { + it('should ignore empty bindings', () => { const ctx = _bindSimpleProp('[id]', TestData); ctx.componentInstance.a = 'value'; ctx.detectChanges(false); expect(renderLog.log).toEqual([]); - })); + }); - it('should support interpolation', fakeAsync(() => { + it('should support interpolation', () => { const ctx = _bindSimpleProp('id="B{{a}}A"', TestData); ctx.componentInstance.a = 'value'; ctx.detectChanges(false); expect(renderLog.log).toEqual(['id=BvalueA']); - })); + }); - it('should output empty strings for null values in interpolation', fakeAsync(() => { + it('should output empty strings for null values in interpolation', () => { const ctx = _bindSimpleProp('id="B{{a}}A"', TestData); ctx.componentInstance.a = null; ctx.detectChanges(false); expect(renderLog.log).toEqual(['id=BA']); - })); + }); - it('should escape values in literals that indicate interpolation', fakeAsync(() => { + it('should escape values in literals that indicate interpolation', () => { expect(_bindAndCheckSimpleValue('"$"')).toEqual(['id=$']); - })); + }); - it('should read locals', fakeAsync(() => { + it('should read locals', () => { const ctx = createCompFixture( '{{local}}', ); ctx.detectChanges(false); expect(renderLog.log).toEqual(['{{someLocalValue}}']); - })); + }); describe('pipes', () => { - it('should use the return value of the pipe', fakeAsync(() => { + it('should use the return value of the pipe', () => { const ctx = _bindSimpleValue('name | countingPipe', Person); ctx.componentInstance.name = 'bob'; ctx.detectChanges(false); expect(renderLog.loggedValues).toEqual(['bob state:0']); - })); + }); - it('should support arguments in pipes', fakeAsync(() => { + it('should support arguments in pipes', () => { const ctx = _bindSimpleValue('name | multiArgPipe:"one":address.city', Person); ctx.componentInstance.name = 'value'; ctx.componentInstance.address = new Address('two'); ctx.detectChanges(false); expect(renderLog.loggedValues).toEqual(['value one two default']); - })); + }); - it('should associate pipes right-to-left', fakeAsync(() => { + it('should associate pipes right-to-left', () => { const ctx = _bindSimpleValue('name | multiArgPipe:"a":"b" | multiArgPipe:0:1', Person); ctx.componentInstance.name = 'value'; ctx.detectChanges(false); expect(renderLog.loggedValues).toEqual(['value a b default 0 1 default']); - })); + }); - it('should support calling pure pipes with different number of arguments', fakeAsync(() => { + it('should support calling pure pipes with different number of arguments', () => { const ctx = _bindSimpleValue('name | multiArgPipe:"a":"b" | multiArgPipe:0:1:2', Person); ctx.componentInstance.name = 'value'; ctx.detectChanges(false); expect(renderLog.loggedValues).toEqual(['value a b default 0 1 2']); - })); + }); - it('should do nothing when no change', fakeAsync(() => { + it('should do nothing when no change', () => { const ctx = _bindSimpleValue('"Megatron" | identityPipe', Person); ctx.detectChanges(false); @@ -558,9 +558,9 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ ctx.detectChanges(false); expect(renderLog.log).toEqual([]); - })); + }); - it('should call pure pipes only if the arguments change', fakeAsync(() => { + it('should call pure pipes only if the arguments change', () => { const ctx = _bindSimpleValue('name | countingPipe', Person); // change from undefined -> null ctx.componentInstance.name = null!; @@ -582,9 +582,9 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ expect(renderLog.loggedValues).toEqual(['null state:0', 'bob state:1', 'bart state:2']); ctx.detectChanges(false); expect(renderLog.loggedValues).toEqual(['null state:0', 'bob state:1', 'bart state:2']); - })); + }); - it('should call pure pipes that are used multiple times only when the arguments change', fakeAsync(() => { + it('should call pure pipes that are used multiple times only when the arguments change', () => { const ctx = createCompFixture( `
` + '
', @@ -616,20 +616,20 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ 'mtv state:0', '11 state:1', ]); - })); + }); - it('should call impure pipes on each change detection run', fakeAsync(() => { + it('should call impure pipes on each change detection run', () => { const ctx = _bindSimpleValue('name | countingImpurePipe', Person); ctx.componentInstance.name = 'bob'; ctx.detectChanges(false); expect(renderLog.loggedValues).toEqual(['bob state:0']); ctx.detectChanges(false); expect(renderLog.loggedValues).toEqual(['bob state:0', 'bob state:1']); - })); + }); }); describe('event expressions', () => { - it('should support field assignments', fakeAsync(() => { + it('should support field assignments', () => { const ctx = _bindSimpleProp('(event)="b=a=$event"'); const childEl = ctx.debugElement.children[0]; const evt = 'EVENT'; @@ -637,34 +637,34 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ expect(ctx.componentInstance.a).toEqual(evt); expect(ctx.componentInstance.b).toEqual(evt); - })); + }); - it('should support keyed assignments', fakeAsync(() => { + it('should support keyed assignments', () => { const ctx = _bindSimpleProp('(event)="a[0]=$event"'); const childEl = ctx.debugElement.children[0]; ctx.componentInstance.a = ['OLD']; const evt = 'EVENT'; childEl.triggerEventHandler('event', evt); expect(ctx.componentInstance.a).toEqual([evt]); - })); + }); - it('should support chains', fakeAsync(() => { + it('should support chains', () => { const ctx = _bindSimpleProp('(event)="a=a+1; a=a+1;"'); const childEl = ctx.debugElement.children[0]; ctx.componentInstance.a = 0; childEl.triggerEventHandler('event', 'EVENT'); expect(ctx.componentInstance.a).toEqual(2); - })); + }); - it('should support empty literals', fakeAsync(() => { + it('should support empty literals', () => { const ctx = _bindSimpleProp('(event)="a=[{},[]]"'); const childEl = ctx.debugElement.children[0]; childEl.triggerEventHandler('event', 'EVENT'); expect(ctx.componentInstance.a).toEqual([{}, []]); - })); + }); - xit('should throw when trying to assign to a local', fakeAsync(() => { + xit('should throw when trying to assign to a local', () => { expect(() => { _bindSimpleProp('(event)="$event=1"'); }).toThrowError( @@ -672,20 +672,20 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ 'Cannot assign value (.*) to template variable (.*). Template variables are read-only.', ), ); - })); + }); - it('should support short-circuiting', fakeAsync(() => { + it('should support short-circuiting', () => { const ctx = _bindSimpleProp('(event)="true ? a = a + 1 : a = a + 1"'); const childEl = ctx.debugElement.children[0]; ctx.componentInstance.a = 0; childEl.triggerEventHandler('event', 'EVENT'); expect(ctx.componentInstance.a).toEqual(1); - })); + }); }); }); describe('RendererFactory', () => { - it('should call the begin and end methods on the renderer factory when change detection is called', fakeAsync(() => { + it('should call the begin and end methods on the renderer factory when change detection is called', () => { const ctx = createCompFixture('
'); const rf = TestBed.inject(RendererFactory2); // TODO: @JiaLiPassion, need to wait @types/jasmine to fix the @@ -699,31 +699,31 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ ctx.detectChanges(false); expect(rf.begin).toHaveBeenCalled(); expect(rf.end).toHaveBeenCalled(); - })); + }); }); describe('change notification', () => { describe('updating directives', () => { - it('should happen without invoking the renderer', fakeAsync(() => { + it('should happen without invoking the renderer', () => { const ctx = createCompFixture('
'); ctx.detectChanges(false); expect(renderLog.log).toEqual([]); expect(queryDirs(ctx.debugElement, TestDirective)[0].a).toEqual(42); - })); + }); }); describe('reading directives', () => { - it('should read directive properties', fakeAsync(() => { + it('should read directive properties', () => { const ctx = createCompFixture( '
', ); ctx.detectChanges(false); expect(renderLog.loggedValues).toEqual([42]); - })); + }); }); describe('ngOnChanges', () => { - it('should notify the directive when a group of records changes', fakeAsync(() => { + it('should notify the directive when a group of records changes', () => { const ctx = createCompFixture( '
', ); @@ -739,7 +739,7 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ 'a': new SimpleChange(undefined, 4, true), 'name': new SimpleChange(undefined, 'bName', true), }); - })); + }); }); }); @@ -759,7 +759,7 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ } describe('ngOnInit', () => { - it('should be called after ngOnChanges', fakeAsync(() => { + it('should be called after ngOnChanges', () => { const ctx = createCompFixture('
'); expect(directiveLog.filter(['ngOnInit', 'ngOnChanges'])).toEqual([]); @@ -774,9 +774,9 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ ctx.detectChanges(false); expect(directiveLog.filter(['ngOnInit'])).toEqual([]); - })); + }); - it('should only be called only once', fakeAsync(() => { + it('should only be called only once', () => { const ctx = createCompFixture('
'); ctx.detectChanges(false); @@ -795,9 +795,9 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ ctx.detectChanges(false); expect(directiveLog.filter(['ngOnInit'])).toEqual([]); - })); + }); - it('should not call ngOnInit again if it throws', fakeAsync(() => { + it('should not call ngOnInit again if it throws', () => { const ctx = createCompFixture('
'); let errored = false; @@ -821,11 +821,11 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ throw new Error('Second detectChanges() should not have called ngOnInit.'); } expect(directiveLog.filter(['ngOnInit'])).toEqual([]); - })); + }); }); describe('ngDoCheck', () => { - it('should be called after ngOnInit', fakeAsync(() => { + it('should be called after ngOnInit', () => { const ctx = createCompFixture('
'); ctx.detectChanges(false); @@ -833,9 +833,9 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ 'dir.ngOnInit', 'dir.ngDoCheck', ]); - })); + }); - it('should be called on every detectChanges run, except for checkNoChanges', fakeAsync(() => { + it('should be called on every detectChanges run, except for checkNoChanges', () => { const ctx = createCompFixture('
'); ctx.detectChanges(false); @@ -854,11 +854,11 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ ctx.detectChanges(false); expect(directiveLog.filter(['ngDoCheck'])).toEqual(['dir.ngDoCheck']); - })); + }); }); describe('ngAfterContentInit', () => { - it('should be called after processing the content children but before the view children', fakeAsync(() => { + it('should be called after processing the content children but before the view children', () => { const ctx = createCompWithContentAndViewChild(); ctx.detectChanges(false); @@ -870,9 +870,9 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ 'viewChild.ngDoCheck', 'viewChild.ngAfterContentInit', ]); - })); + }); - it('should only be called only once', fakeAsync(() => { + it('should only be called only once', () => { const ctx = createCompFixture('
'); ctx.detectChanges(false); @@ -891,9 +891,9 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ ctx.detectChanges(false); expect(directiveLog.filter(['ngAfterContentInit'])).toEqual([]); - })); + }); - it('should not call ngAfterContentInit again if it throws', fakeAsync(() => { + it('should not call ngAfterContentInit again if it throws', () => { const ctx = createCompFixture( '
', ); @@ -918,11 +918,11 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ throw new Error('Second detectChanges() should not have run detection.'); } expect(directiveLog.filter(['ngAfterContentInit'])).toEqual([]); - })); + }); }); describe('ngAfterContentChecked', () => { - it('should be called after the content children but before the view children', fakeAsync(() => { + it('should be called after the content children but before the view children', () => { const ctx = createCompWithContentAndViewChild(); ctx.detectChanges(false); @@ -935,9 +935,9 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ 'viewChild.ngDoCheck', 'viewChild.ngAfterContentChecked', ]); - })); + }); - it('should be called on every detectChanges run, except for checkNoChanges', fakeAsync(() => { + it('should be called on every detectChanges run, except for checkNoChanges', () => { const ctx = createCompFixture('
'); ctx.detectChanges(false); @@ -960,9 +960,9 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ expect(directiveLog.filter(['ngAfterContentChecked'])).toEqual([ 'dir.ngAfterContentChecked', ]); - })); + }); - it('should be called in reverse order so the child is always notified before the parent', fakeAsync(() => { + it('should be called in reverse order so the child is always notified before the parent', () => { const ctx = createCompFixture( '
', ); @@ -974,11 +974,11 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ 'parent.ngAfterContentChecked', 'sibling.ngAfterContentChecked', ]); - })); + }); }); describe('ngAfterViewInit', () => { - it('should be called after processing the view children', fakeAsync(() => { + it('should be called after processing the view children', () => { const ctx = createCompWithContentAndViewChild(); ctx.detectChanges(false); @@ -991,9 +991,9 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ 'viewChild.ngAfterViewInit', 'parent.ngAfterViewInit', ]); - })); + }); - it('should only be called only once', fakeAsync(() => { + it('should only be called only once', () => { const ctx = createCompFixture('
'); ctx.detectChanges(false); @@ -1012,9 +1012,9 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ ctx.detectChanges(false); expect(directiveLog.filter(['ngAfterViewInit'])).toEqual([]); - })); + }); - it('should not call ngAfterViewInit again if it throws', fakeAsync(() => { + it('should not call ngAfterViewInit again if it throws', () => { const ctx = createCompFixture( '
', ); @@ -1039,11 +1039,11 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ throw new Error('Second detectChanges() should not have run detection.'); } expect(directiveLog.filter(['ngAfterViewInit'])).toEqual([]); - })); + }); }); describe('ngAfterViewChecked', () => { - it('should be called after processing the view children', fakeAsync(() => { + it('should be called after processing the view children', () => { const ctx = createCompWithContentAndViewChild(); ctx.detectChanges(false); @@ -1056,9 +1056,9 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ 'viewChild.ngAfterViewChecked', 'parent.ngAfterViewChecked', ]); - })); + }); - it('should be called on every detectChanges run, except for checkNoChanges', fakeAsync(() => { + it('should be called on every detectChanges run, except for checkNoChanges', () => { const ctx = createCompFixture('
'); ctx.detectChanges(false); @@ -1077,9 +1077,9 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ ctx.detectChanges(false); expect(directiveLog.filter(['ngAfterViewChecked'])).toEqual(['dir.ngAfterViewChecked']); - })); + }); - it('should be called in reverse order so the child is always notified before the parent', fakeAsync(() => { + it('should be called in reverse order so the child is always notified before the parent', () => { const ctx = createCompFixture( '
', ); @@ -1091,20 +1091,20 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ 'parent.ngAfterViewChecked', 'sibling.ngAfterViewChecked', ]); - })); + }); }); describe('ngOnDestroy', () => { - it('should be called on view destruction', fakeAsync(() => { + it('should be called on view destruction', () => { const ctx = createCompFixture('
'); ctx.detectChanges(false); ctx.destroy(); expect(directiveLog.filter(['ngOnDestroy'])).toEqual(['dir.ngOnDestroy']); - })); + }); - it('should be called after processing the content and view children', fakeAsync(() => { + it('should be called after processing the content and view children', () => { TestBed.overrideComponent(AnotherComponent, { set: new Component({ selector: 'other-cmp', @@ -1127,9 +1127,9 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ 'viewChild.ngOnDestroy', 'parent.ngOnDestroy', ]); - })); + }); - it('should be called in reverse order so the child is always notified before the parent', fakeAsync(() => { + it('should be called in reverse order so the child is always notified before the parent', () => { const ctx = createCompFixture( '
', ); @@ -1142,27 +1142,27 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ 'parent.ngOnDestroy', 'sibling.ngOnDestroy', ]); - })); + }); - it('should deliver synchronous events to parent', fakeAsync(() => { + it('should deliver synchronous events to parent', () => { const ctx = createCompFixture('
'); ctx.detectChanges(false); ctx.destroy(); expect(ctx.componentInstance.a).toEqual('destroyed'); - })); + }); - it('should call ngOnDestroy on pipes', fakeAsync(() => { + it('should call ngOnDestroy on pipes', () => { const ctx = createCompFixture('{{true | pipeWithOnDestroy }}'); ctx.detectChanges(false); ctx.destroy(); expect(directiveLog.filter(['ngOnDestroy'])).toEqual(['pipeWithOnDestroy.ngOnDestroy']); - })); + }); - it('should call ngOnDestroy on an injectable class', fakeAsync(() => { + it('should call ngOnDestroy on an injectable class', () => { TestBed.overrideDirective(TestDirective, {set: {providers: [InjectableWithLifecycle]}}); const ctx = createCompFixture('
', TestComponent); @@ -1177,12 +1177,12 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ 'dir.ngOnDestroy', 'injectable.ngOnDestroy', ]); - })); + }); }); }); describe('enforce no new changes', () => { - it('should throw when a record gets changed after it has been checked', fakeAsync(() => { + it('should throw when a record gets changed after it has been checked', () => { @Directive({ selector: '[changed]', standalone: false, @@ -1198,9 +1198,9 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ ctx.componentInstance.b = 1; const errMsgRegExp = /Previous value: 'undefined'\. Current value: '1'/g; expect(() => ctx.checkNoChanges()).toThrowError(errMsgRegExp); - })); + }); - it('should throw when a record gets changed after the first change detection pass', fakeAsync(() => { + it('should throw when a record gets changed after the first change detection pass', () => { @Directive({ selector: '[changed]', standalone: false, @@ -1219,7 +1219,7 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ ctx.componentInstance.b = 2; const errMsgRegExp = /Previous value: '1'\. Current value: '2'/g; expect(() => ctx.checkNoChanges()).toThrowError(errMsgRegExp); - })); + }); it('should allow view to be created in a cd hook', () => { const ctx = createCompFixture('
{{ a }}
', TestData); @@ -1228,24 +1228,24 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ expect(ctx.nativeElement.innerText).toEqual('1'); }); - it('should not throw when two arrays are structurally the same', fakeAsync(() => { + it('should not throw when two arrays are structurally the same', () => { const ctx = _bindSimpleValue('a', TestData); ctx.componentInstance.a = ['value']; ctx.detectChanges(false); ctx.componentInstance.a = ['value']; expect(() => ctx.checkNoChanges()).not.toThrow(); - })); + }); - it('should not break the next run', fakeAsync(() => { + it('should not break the next run', () => { const ctx = _bindSimpleValue('a', TestData); ctx.componentInstance.a = 'value'; expect(() => ctx.checkNoChanges()).toThrow(); ctx.detectChanges(); expect(renderLog.loggedValues).toEqual(['value']); - })); + }); - it('should not break the next run (view engine and ivy)', fakeAsync(() => { + it('should not break the next run (view engine and ivy)', () => { const ctx = _bindSimpleValue('a', TestData); ctx.detectChanges(); @@ -1256,11 +1256,11 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ ctx.detectChanges(); expect(renderLog.loggedValues).toEqual(['value']); - })); + }); }); describe('mode', () => { - it('Detached', fakeAsync(() => { + it('Detached', () => { const ctx = createCompFixture(''); const cmp: CompWithRef = queryDirs(ctx.debugElement, CompWithRef)[0]; cmp.value = 'hello'; @@ -1269,9 +1269,9 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ ctx.detectChanges(); expect(renderLog.log).toEqual([]); - })); + }); - it('Detached should disable OnPush', fakeAsync(() => { + it('Detached should disable OnPush', () => { const ctx = createCompFixture(''); ctx.componentInstance.value = 0; ctx.detectChanges(); @@ -1284,9 +1284,9 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ ctx.detectChanges(); expect(renderLog.log).toEqual([]); - })); + }); - it('Detached view can be checked locally', fakeAsync(() => { + it('Detached view can be checked locally', () => { const ctx = createCompFixture(''); const cmp: CompWithRef = queryDirs(ctx.debugElement, CompWithRef)[0]; cmp.value = 'hello'; @@ -1300,9 +1300,9 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ cmp.changeDetectorRef.detectChanges(); expect(renderLog.log).toEqual(['{{hello}}']); - })); + }); - it('Reattaches', fakeAsync(() => { + it('Reattaches', () => { const ctx = createCompFixture(''); const cmp: CompWithRef = queryDirs(ctx.debugElement, CompWithRef)[0]; @@ -1318,9 +1318,9 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ ctx.detectChanges(); expect(renderLog.log).toEqual(['{{hello}}']); - })); + }); - it('Reattaches in the original cd mode', fakeAsync(() => { + it('Reattaches in the original cd mode', () => { const ctx = createCompFixture(''); const cmp: PushComp = queryDirs(ctx.debugElement, PushComp)[0]; cmp.changeDetectorRef.detach(); @@ -1335,7 +1335,7 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [ ctx.detectChanges(); expect(cmp.renderCount).toBe(count); - })); + }); }); describe('nested view recursion', () => { diff --git a/packages/core/test/linker/integration_spec.ts b/packages/core/test/linker/integration_spec.ts index 3df850cf2406..f91a9b922e30 100644 --- a/packages/core/test/linker/integration_spec.ts +++ b/packages/core/test/linker/integration_spec.ts @@ -51,7 +51,7 @@ import {QueryList} from '../../src/linker/query_list'; import {TemplateRef} from '../../src/linker/template_ref'; import {ViewContainerRef} from '../../src/linker/view_container_ref'; import {EmbeddedViewRef} from '../../src/linker/view_ref'; -import {fakeAsync, getTestBed, TestBed, tick, waitForAsync} from '../../testing'; +import {getTestBed, TestBed, waitForAsync} from '../../testing'; import {stringify} from '../../src/util/stringify'; @@ -589,13 +589,13 @@ describe('integration tests', function () { }); if (getDOM().supportsDOMEvents) { - it('should allow to destroy a component from within a host event handler', fakeAsync(() => { + it('should allow to destroy a component from within a host event handler', async () => { TestBed.configureTestingModule({declarations: [MyComp, [[PushCmpWithHostEvent]]]}); const template = ''; TestBed.overrideComponent(MyComp, {set: {template}}); const fixture = TestBed.createComponent(MyComp); - tick(); + await fixture.whenStable(); fixture.detectChanges(); const cmpEl = fixture.debugElement.children[0]; @@ -603,7 +603,7 @@ describe('integration tests', function () { cmp.ctxCallback = (_: any) => fixture.destroy(); expect(() => cmpEl.triggerEventHandler('click', {})).not.toThrow(); - })); + }); } it('should be checked when an event is fired', () => { @@ -663,7 +663,7 @@ describe('integration tests', function () { expect(cmp.prop).toEqual('two'); }); - it('should be checked when an async pipe requests a check', fakeAsync(() => { + it('should be checked when an async pipe requests a check', async () => { TestBed.configureTestingModule({ declarations: [MyComp, PushCmpWithAsyncPipe], imports: [CommonModule], @@ -672,7 +672,7 @@ describe('integration tests', function () { TestBed.overrideComponent(MyComp, {set: {template}}); const fixture = TestBed.createComponent(MyComp); - tick(); + await fixture.whenStable(); const cmp: PushCmpWithAsyncPipe = fixture.debugElement.children[0].references!['cmp']; fixture.detectChanges(); @@ -683,11 +683,11 @@ describe('integration tests', function () { expect(cmp.numberOfChecks).toEqual(1); cmp.resolve(2); - tick(); + await fixture.whenStable(); fixture.detectChanges(); expect(cmp.numberOfChecks).toEqual(2); - })); + }); }); it('should create a component that injects an @Host', () => { @@ -2030,7 +2030,7 @@ describe('integration tests', function () { }); if (getDOM().supportsDOMEvents) { - it('should support event decorators', fakeAsync(() => { + it('should support event decorators', async () => { TestBed.configureTestingModule({ declarations: [MyComp, DirectiveWithPropDecorators], schemas: [NO_ERRORS_SCHEMA], @@ -2039,15 +2039,15 @@ describe('integration tests', function () { TestBed.overrideComponent(MyComp, {set: {template}}); const fixture = TestBed.createComponent(MyComp); - tick(); + await fixture.whenStable(); const emitter = fixture.debugElement.children[0].injector.get(DirectiveWithPropDecorators); emitter.fireEvent('fired !'); - tick(); + await fixture.whenStable(); expect(fixture.componentInstance.ctxProp()).toEqual('called'); - })); + }); it('should support host listener decorators', () => { TestBed.configureTestingModule({ diff --git a/packages/core/test/linker/query_list_spec.ts b/packages/core/test/linker/query_list_spec.ts index ef046cd2ecfa..f16e4c33b77f 100644 --- a/packages/core/test/linker/query_list_spec.ts +++ b/packages/core/test/linker/query_list_spec.ts @@ -9,7 +9,6 @@ import {ɵgetDOM as getDOM} from '@angular/common'; import {QueryList} from '../../src/linker/query_list'; import {iterateListLike} from '../../src/util/iterable'; -import {fakeAsync, tick} from '../../testing'; describe('QueryList', () => { let queryList: QueryList; @@ -160,7 +159,7 @@ describe('QueryList', () => { if (getDOM().supportsDOMEvents) { describe('simple observable interface', () => { - it('should fire callbacks on change', fakeAsync(() => { + it('should fire callbacks on change', () => { let fires = 0; queryList.changes.subscribe({ next: (_) => { @@ -169,17 +168,15 @@ describe('QueryList', () => { }); queryList.notifyOnChanges(); - tick(); expect(fires).toEqual(1); queryList.notifyOnChanges(); - tick(); expect(fires).toEqual(2); - })); + }); - it('should provides query list as an argument', fakeAsync(() => { + it('should provides query list as an argument', () => { let recorded!: QueryList; queryList.changes.subscribe({ next: (v: QueryList) => { @@ -189,10 +186,9 @@ describe('QueryList', () => { queryList.reset(['one']); queryList.notifyOnChanges(); - tick(); expect(recorded).toBe(queryList); - })); + }); }); } }); diff --git a/packages/core/test/linker/regression_integration_spec.ts b/packages/core/test/linker/regression_integration_spec.ts index 41b6bae0256b..351aa81e8268 100644 --- a/packages/core/test/linker/regression_integration_spec.ts +++ b/packages/core/test/linker/regression_integration_spec.ts @@ -36,7 +36,7 @@ import { ViewContainerRef, provideZoneChangeDetection, } from '../../src/core'; -import {fakeAsync, inject, TestBed, tick} from '../../testing'; +import {inject, TestBed} from '../../testing'; import {BrowserModule, By, platformBrowser} from '@angular/platform-browser'; import {expect} from '@angular/private/testing/matchers'; @@ -88,7 +88,7 @@ describe('regressions', () => { expect(CountingPipe.calls).toBe(1); }); - it('should only update the bound property when using asyncPipe - #15205', fakeAsync(() => { + it('should only update the bound property when using asyncPipe - #15205', async () => { @Component({ template: '
', standalone: false, @@ -130,12 +130,12 @@ describe('regressions', () => { dir.setterCalls = {}; dir.changes = {}; - tick(); + await fixture.whenStable(); fixture.detectChanges(); expect(dir.setterCalls).toEqual({'a': 1}); expect(Object.keys(dir.changes)).toEqual(['a']); - })); + }); it('should only evaluate methods once - #10639', () => { TestBed.configureTestingModule({declarations: [MyCountingComp]}); diff --git a/packages/core/test/linker/view_injector_integration_spec.ts b/packages/core/test/linker/view_injector_integration_spec.ts index 28f725241939..3b4b3298957e 100644 --- a/packages/core/test/linker/view_injector_integration_spec.ts +++ b/packages/core/test/linker/view_injector_integration_spec.ts @@ -35,7 +35,7 @@ import { ViewContainerRef, } from '../../src/core'; import {ERROR_DETAILS_PAGE_BASE_URL} from '../../src/error_details_base_url'; -import {ComponentFixture, fakeAsync, TestBed} from '../../testing'; +import {ComponentFixture, TestBed} from '../../testing'; @Directive({ selector: '[simpleDirective]', @@ -248,6 +248,7 @@ class DirectiveNeedsChangeDetectorRef { @Component({ selector: '[componentNeedsChangeDetectorRef]', template: '{{counter}}', + // Until #69898 lands we need to explicit OnPush changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, }) @@ -822,22 +823,22 @@ describe('View injector', () => { ); }); - it('should instantiate directives that depend on other directives', fakeAsync(() => { + it('should instantiate directives that depend on other directives', () => { TestBed.configureTestingModule({declarations: [SimpleDirective, NeedsDirective]}); const el = createComponent('
'); const d = el.children[0].children[0].injector.get(NeedsDirective); expect(d).toBeInstanceOf(NeedsDirective); expect(d.dependency).toBeInstanceOf(SimpleDirective); - })); + }); - it('should throw when a dependency cannot be resolved', fakeAsync(() => { + it('should throw when a dependency cannot be resolved', () => { TestBed.configureTestingModule({declarations: [NeedsService]}); expect(() => createComponent('
')).toThrowError( /NG0201: No provider found for `service`\./, ); - })); + }); it('should inject null when an optional dependency cannot be resolved', () => { TestBed.configureTestingModule({declarations: [OptionallyNeedsDirective]}); diff --git a/packages/examples/core/ts/change_detect/change-detection.ts b/packages/examples/core/ts/change_detect/change-detection.ts index 31c63cb142c7..1c0500f0a5ab 100644 --- a/packages/examples/core/ts/change_detect/change-detection.ts +++ b/packages/examples/core/ts/change_detect/change-detection.ts @@ -5,21 +5,13 @@ * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.dev/license */ -import { - ChangeDetectionStrategy, - ChangeDetectorRef, - Component, - effect, - input, - signal, -} from '@angular/core'; +import {ChangeDetectorRef, Component, effect, input, signal} from '@angular/core'; import {FormsModule} from '@angular/forms'; // #docregion mark-for-check @Component({ selector: 'app-root', template: `Number of ticks: {{ numberOfTicks }}`, - changeDetection: ChangeDetectionStrategy.OnPush, }) class AppComponent { numberOfTicks = 0; diff --git a/packages/forms/signals/compat/src/api/compat_form.ts b/packages/forms/signals/compat/src/api/compat_form.ts index e5d33a98f95e..7f658692c2ac 100644 --- a/packages/forms/signals/compat/src/api/compat_form.ts +++ b/packages/forms/signals/compat/src/api/compat_form.ts @@ -75,6 +75,7 @@ export function compatForm(model: WritableSignal): FieldTree( * }); * * nameForm.last().value(); // lastName, not FormControl + * ``` * * @param model A writable signal that contains the model data for the form. The resulting field * structure will match the shape of the model and any changes to the form data will be written to diff --git a/packages/forms/signals/src/api/rules/validation/required.ts b/packages/forms/signals/src/api/rules/validation/required.ts index 69132d5fa398..9478fb863208 100644 --- a/packages/forms/signals/src/api/rules/validation/required.ts +++ b/packages/forms/signals/src/api/rules/validation/required.ts @@ -17,6 +17,14 @@ import {requiredError} from './validation_errors'; * This function can only be called on any type of path. * In addition to binding a validator, this function adds `REQUIRED` property to the field. * + * A value is considered empty when it is `null`, `undefined`, the empty string `''`, `false`, or + * `NaN`. Every other value is considered non-empty, including `0` and the empty array `[]` — use + * [`minLength()`](api/forms/signals/minLength) to require a minimum number of items in an array. + * + * `false` is empty to follow the native semantics of `required` on ``, where + * an unchecked box fails validation. `NaN` is empty because it is usually the result of a parsing + * error, and is not a valid number. + * * @param path Path of the field to validate * @param config Optional, allows providing any of the following options: * - `message`: A user-facing message for the error. diff --git a/packages/forms/signals/test/node/api/validators/required.spec.ts b/packages/forms/signals/test/node/api/validators/required.spec.ts index fe7b5f2b6f05..587782c99c41 100644 --- a/packages/forms/signals/test/node/api/validators/required.spec.ts +++ b/packages/forms/signals/test/node/api/validators/required.spec.ts @@ -12,6 +12,58 @@ import {form, required} from '../../../../public_api'; import {requiredError} from '../../../../src/api/rules/validation/validation_errors'; describe('required validator', () => { + // Documented on `required()` and in guide/forms/signals/validation#required. `false` follows the + // native semantics of `required` on ``; `NaN` is not a valid number. + describe('emptiness', () => { + it('treats null, empty string, false and NaN as empty', () => { + const model = signal<{ + nullable: string | null; + text: string; + checkbox: boolean; + num: number; + }>({nullable: null, text: '', checkbox: false, num: Number.NaN}); + const f = form( + model, + (p) => { + required(p.nullable); + required(p.text); + required(p.checkbox); + required(p.num); + }, + {injector: TestBed.inject(Injector)}, + ); + + expect(f.nullable().errors()).toEqual([requiredError({fieldTree: f.nullable})]); + expect(f.text().errors()).toEqual([requiredError({fieldTree: f.text})]); + expect(f.checkbox().errors()).toEqual([requiredError({fieldTree: f.checkbox})]); + expect(f.num().errors()).toEqual([requiredError({fieldTree: f.num})]); + }); + + it('treats 0, an empty array and other filled values as non-empty', () => { + const model = signal<{ + zero: number; + list: string[]; + checkbox: boolean; + text: string; + }>({zero: 0, list: [], checkbox: true, text: 'a'}); + const f = form( + model, + (p) => { + required(p.zero); + required(p.list); + required(p.checkbox); + required(p.text); + }, + {injector: TestBed.inject(Injector)}, + ); + + expect(f.zero().errors()).toEqual([]); + expect(f.list().errors()).toEqual([]); + expect(f.checkbox().errors()).toEqual([]); + expect(f.text().errors()).toEqual([]); + }); + }); + it('returns required Error when the value is not present', () => { const cat = signal({name: ''}); const f = form( diff --git a/packages/forms/signals/test/web/reactive_fvc.spec.ts b/packages/forms/signals/test/web/reactive_fvc.spec.ts index b26e01eff7a4..9d2c6a82b91d 100644 --- a/packages/forms/signals/test/web/reactive_fvc.spec.ts +++ b/packages/forms/signals/test/web/reactive_fvc.spec.ts @@ -553,6 +553,33 @@ describe('FormControlName with FVC', () => { expect(fixture.componentInstance.form.controls.name.value).toBe('from-fvc'); }); + it('should report the form as dirty inside valueChanges when the FVC writes a value', () => { + @Component({ + template: ` +
+ + + `, + imports: [MyFvcInput, ReactiveFormsModule], + }) + class TestCmp { + form = new FormGroup({ + name: new FormControl('initial'), + }); + } + + const fixture = act(() => TestBed.createComponent(TestCmp)); + const form = fixture.componentInstance.form; + + const dirtyDuringValueChanges: boolean[] = []; + form.valueChanges.subscribe(() => dirtyDuringValueChanges.push(form.dirty)); + + const fvc = fixture.debugElement.query(By.directive(MyFvcInput)).componentInstance; + act(() => fvc.value.set('from-fvc')); + + expect(dirtyDuringValueChanges).toEqual([true]); + }); + it('should fall back to CVA when no FVC pattern is present', () => { @Component({ template: ` diff --git a/packages/forms/src/directives/ng_control.ts b/packages/forms/src/directives/ng_control.ts index 03af93f91898..de11f9471b05 100644 --- a/packages/forms/src/directives/ng_control.ts +++ b/packages/forms/src/directives/ng_control.ts @@ -231,8 +231,8 @@ export abstract class NgControl extends AbstractControlDirective { // (e.g., FormControlDirective's form input hasn't been bound) host.listenToCustomControlModel((value) => { // TODO: is there a case where this input has not yet been set? - this.control?.setValue(value, {emitModelToViewChange: false}); this.control?.markAsDirty(); + this.control?.setValue(value, {emitModelToViewChange: false}); this.viewToModelUpdate(value); }); diff --git a/packages/forms/src/directives/shared.ts b/packages/forms/src/directives/shared.ts index ba1b45952cdd..a5c2a39ef255 100644 --- a/packages/forms/src/directives/shared.ts +++ b/packages/forms/src/directives/shared.ts @@ -43,7 +43,7 @@ export const ɵFORM_CONTROL_INTEGRATION = new InjectionToken<ɵFormControlIntegr * Token to provide to allow SetDisabledState to always be called when a CVA is added, regardless of * whether the control is disabled or enabled. * - * @see {@link FormsModule#withconfig} + * @see {@link FormsModule#withConfig} */ export const CALL_SET_DISABLED_STATE = new InjectionToken( typeof ngDevMode === 'undefined' || ngDevMode ? 'CallSetDisabledState' : '', @@ -58,7 +58,7 @@ export const CALL_SET_DISABLED_STATE = new InjectionToken( * called when disabled, which is the legacy behavior for compatibility. * * @publicApi - * @see {@link FormsModule#withconfig} + * @see {@link FormsModule#withConfig} */ export type SetDisabledStateOption = 'whenDisabledForLegacyCode' | 'always'; diff --git a/packages/private/testing/src/browser_utils.ts b/packages/private/testing/src/browser_utils.ts index 69c42ec84cee..0681cf8ea531 100644 --- a/packages/private/testing/src/browser_utils.ts +++ b/packages/private/testing/src/browser_utils.ts @@ -9,6 +9,11 @@ import {ɵgetDOM as getDOM} from '@angular/common'; import {NgZone} from '@angular/core'; +/** Waits for callbacks queued for the next animation frame to run. */ +export function nextAnimationFrame(): Promise { + return new Promise((resolve) => requestAnimationFrame(() => resolve())); +} + export function dispatchEvent(element: any, eventType: any): Event { const evt: Event = getDOM().getDefaultDocument().createEvent('Event'); evt.initEvent(eventType, true, true); diff --git a/packages/router/src/navigation_transition.ts b/packages/router/src/navigation_transition.ts index 12beb119c939..621ac20d457e 100644 --- a/packages/router/src/navigation_transition.ts +++ b/packages/router/src/navigation_transition.ts @@ -203,7 +203,7 @@ export interface UrlCreationOptions { * * @see {@link Router#navigate} * @see {@link Router#navigateByUrl} - * @see {@link Router#createurltree} + * @see {@link Router#createUrlTree} * @see [Routing and Navigation guide](guide/routing/common-router-tasks) * @see {@link UrlCreationOptions} * @see {@link NavigationBehaviorOptions} diff --git a/packages/router/src/router_config.ts b/packages/router/src/router_config.ts index a7744cca423e..4a0f34cb28de 100644 --- a/packages/router/src/router_config.ts +++ b/packages/router/src/router_config.ts @@ -169,20 +169,20 @@ export interface InMemoryScrollingOptions { * in the following example. * * ```ts - * class AppComponent { - * movieData: any; + * class App { + * movieData = signal(null); + * private router = inject(Router); + * private viewportScroller = inject(ViewportScroller); + * private changeDetectorRef = inject(ChangeDetectorRef); * - * constructor(private router: Router, private viewportScroller: ViewportScroller, - * changeDetectorRef: ChangeDetectorRef) { - * router.events.pipe(filter((event: Event): event is Scroll => event instanceof Scroll) + * constructor() { + * this.router.events.pipe(filter((event: Event): event is Scroll => event instanceof Scroll) * ).subscribe(e => { * fetch('http://example.com/movies.json').then(response => { - * this.movieData = response.json(); - * // update the template with the data before restoring scroll - * changeDetectorRef.detectChanges(); + * this.movieData.set(response.json()); * * if (e.position) { - * viewportScroller.scrollToPosition(e.position); + * this.viewportScroller.scrollToPosition(e.position); * } * }); * }); diff --git a/packages/router/test/integration/integration.spec.ts b/packages/router/test/integration/integration.spec.ts index 749ef0e77c99..503ea0bfd97f 100644 --- a/packages/router/test/integration/integration.spec.ts +++ b/packages/router/test/integration/integration.spec.ts @@ -123,7 +123,6 @@ for (const browserAPI of ['navigation', 'history'] as const) { @Component({ selector: 'root-cmp', template: ``, - changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, }) class OnPushOutlet {} diff --git a/packages/router/test/regression_integration.spec.ts b/packages/router/test/regression_integration.spec.ts index fdec5145f4b8..76a4367725f3 100644 --- a/packages/router/test/regression_integration.spec.ts +++ b/packages/router/test/regression_integration.spec.ts @@ -214,7 +214,6 @@ describe('Integration', () => { isActive: {{ rla.isActive }}

`, - changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, }) class OnPushComponent {} diff --git a/packages/upgrade/static/src/downgrade_module.ts b/packages/upgrade/static/src/downgrade_module.ts index fb2db39d291b..5ff93d0b9300 100644 --- a/packages/upgrade/static/src/downgrade_module.ts +++ b/packages/upgrade/static/src/downgrade_module.ts @@ -125,8 +125,8 @@ let moduleUid = 0; * `StaticProvider`s, when creating the `PlatformRef` (e.g. via `platformBrowser` or * `platformBrowserDynamic`). * - * - When using {@link PlatformRef#bootstrapmodule `bootstrapModule()`} or - * {@link PlatformRef#bootstrapmodulefactory `bootstrapModuleFactory()`} to bootstrap the + * - When using {@link PlatformRef#bootstrapModule `bootstrapModule()`} or + * {@link PlatformRef#bootstrapModuleFactory `bootstrapModuleFactory()`} to bootstrap the * downgraded modules, each one is considered a "root" module. As a consequence, a new instance * will be created for every injectable provided in `"root"` (via * {@link /api/core/Injectable#providedIn providedIn} @@ -241,8 +241,8 @@ export function downgradeModule( * `StaticProvider`s, when creating the `PlatformRef` (e.g. via `platformBrowser` or * `platformBrowserDynamic`). * - * - When using {@link PlatformRef#bootstrapmodule `bootstrapModule()`} or - * {@link PlatformRef#bootstrapmodulefactory `bootstrapModuleFactory()`} to bootstrap the + * - When using {@link PlatformRef#bootstrapModule `bootstrapModule()`} or + * {@link PlatformRef#bootstrapModuleFactory `bootstrapModuleFactory()`} to bootstrap the * downgraded modules, each one is considered a "root" module. As a consequence, a new instance * will be created for every injectable provided in `"root"` (via * {@link /api/core/Injectable#providedIn providedIn} @@ -358,8 +358,8 @@ export function downgradeModule(moduleOrBootstrapFn: NgModuleFactory): str * `StaticProvider`s, when creating the `PlatformRef` (e.g. via `platformBrowser` or * `platformBrowserDynamic`). * - * - When using {@link PlatformRef#bootstrapmodule `bootstrapModule()`} or - * {@link PlatformRef#bootstrapmodulefactory `bootstrapModuleFactory()`} to bootstrap the + * - When using {@link PlatformRef#bootstrapModule `bootstrapModule()`} or + * {@link PlatformRef#bootstrapModuleFactory `bootstrapModuleFactory()`} to bootstrap the * downgraded modules, each one is considered a "root" module. As a consequence, a new instance * will be created for every injectable provided in `"root"` (via * {@link /api/core/Injectable#providedIn providedIn} @@ -372,9 +372,7 @@ export function downgradeModule(moduleOrBootstrapFn: NgModuleFactory): str */ export function downgradeModule( moduleOrBootstrapFn: - | Type - | NgModuleFactory - | ((extraProviders: StaticProvider[]) => Promise>), + Type | NgModuleFactory | ((extraProviders: StaticProvider[]) => Promise>), ): string { const lazyModuleName = `${ɵconstants.UPGRADE_MODULE_NAME}.lazy${++moduleUid}`; const lazyModuleRefKey = `${ɵconstants.LAZY_MODULE_REF}${lazyModuleName}`; diff --git a/packages/upgrade/static/src/upgrade_module.ts b/packages/upgrade/static/src/upgrade_module.ts index 8124fd640055..084e97aad03b 100644 --- a/packages/upgrade/static/src/upgrade_module.ts +++ b/packages/upgrade/static/src/upgrade_module.ts @@ -42,7 +42,7 @@ import {NgAdapterInjector} from './util'; * that it can be used in an AngularJS template. See `downgradeComponent`. * 3. Creation of an Angular root injector provider that wraps and exposes an AngularJS * service so that it can be injected into an Angular context. See - * {@link UpgradeModule#upgrading-an-angular-1-service Upgrading an AngularJS service} below. + * {@link UpgradeModule#upgrading-an-angularjs-service Upgrading an AngularJS service} below. * 4. Creation of an AngularJS service that wraps and exposes an Angular injectable * so that it can be injected into an AngularJS context. See `downgradeInjectable`. * 5. Bootstrapping of a hybrid Angular application which contains both of the frameworks diff --git a/packages/zone.js/package.json b/packages/zone.js/package.json index ba04e0ab1ef5..a7344e92fe0e 100644 --- a/packages/zone.js/package.json +++ b/packages/zone.js/package.json @@ -15,7 +15,7 @@ "@types/node": "^24.3.0", "@types/systemjs": "6.15.4", "bluebird": "3.7.2", - "domino": "https://github.com/angular/domino.git#4d97473116d000e3fd4d6f75ec98cbd67576fa6f", + "domino": "https://github.com/angular/domino.git#9b606f5b01b5cc518b97a618b92f990c03a33d35", "esbuild-plugin-umd-wrapper": "3.0.0", "jest-environment-jsdom": "30.4.1", "jest-environment-node": "30.4.1", diff --git a/packages/zone.js/test/typings/package.json b/packages/zone.js/test/typings/package.json index eafa950be032..f91b4a5dc9b8 100644 --- a/packages/zone.js/test/typings/package.json +++ b/packages/zone.js/test/typings/package.json @@ -9,7 +9,7 @@ "author": "", "license": "MIT", "dependencies": { - "domino": "https://github.com/angular/domino.git#4d97473116d000e3fd4d6f75ec98cbd67576fa6f", + "domino": "https://github.com/angular/domino.git#9b606f5b01b5cc518b97a618b92f990c03a33d35", "zone.js": "workspace:*" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2de62ca67de4..0a181a790214 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,29 +13,29 @@ importers: .: dependencies: '@angular-devkit/core': - specifier: 22.1.7 - version: 22.1.7(chokidar@5.0.0) + specifier: 22.1.8 + version: 22.1.8(chokidar@5.0.0) '@angular-devkit/schematics': - specifier: 22.1.7 - version: 22.1.7(chokidar@5.0.0) + specifier: 22.1.8 + version: 22.1.8(chokidar@5.0.0) '@angular/animations': specifier: workspace:* version: link:packages/animations '@angular/aria': - specifier: 22.1.6 - version: 22.1.6(@angular/cdk@22.1.6(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2))(@angular/core@packages+core) + specifier: 22.1.7 + version: 22.1.7(@angular/cdk@22.1.7(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2))(@angular/core@packages+core) '@angular/benchpress': specifier: 'workspace: *' version: link:packages/benchpress '@angular/build': - specifier: 22.1.7 - version: 22.1.7(dda021ede472fe157a0260afb7d3850a) + specifier: 22.1.8 + version: 22.1.8(6122bb84929f84cea625d49dcdbbd50e) '@angular/cdk': - specifier: 22.1.6 - version: 22.1.6(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2) - '@angular/cli': specifier: 22.1.7 - version: 22.1.7(@cfworker/json-schema@4.1.1)(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@11.0.0) + version: 22.1.7(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2) + '@angular/cli': + specifier: 22.1.8 + version: 22.1.8(@cfworker/json-schema@4.1.1)(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@11.0.0) '@angular/common': specifier: workspace:* version: link:packages/common @@ -61,8 +61,8 @@ importers: specifier: 'workspace: *' version: link:packages/localize '@angular/material': - specifier: 22.1.6 - version: 22.1.6(@angular/cdk@22.1.6(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2))(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2) + specifier: 22.1.7 + version: 22.1.7(@angular/cdk@22.1.7(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2))(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2) '@angular/platform-browser': specifier: workspace:* version: link:packages/platform-browser @@ -79,8 +79,8 @@ importers: specifier: workspace:* version: link:packages/service-worker '@angular/ssr': - specifier: 22.1.7 - version: 22.1.7(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-server@packages+platform-server)(@angular/router@packages+router) + specifier: 22.1.8 + version: 22.1.8(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-server@packages+platform-server)(@angular/router@packages+router) '@angular/upgrade': specifier: 'workspace: *' version: link:packages/upgrade @@ -100,8 +100,8 @@ importers: specifier: ^16.0.0 version: 16.0.3(rollup@4.62.2) '@schematics/angular': - specifier: 22.1.7 - version: 22.1.7(chokidar@5.0.0) + specifier: 22.1.8 + version: 22.1.8(chokidar@5.0.0) '@types/angular': specifier: ^1.6.47 version: 1.8.9 @@ -160,8 +160,8 @@ importers: specifier: ^9.0.0 version: 9.0.0 domino: - specifier: https://github.com/angular/domino.git#4d97473116d000e3fd4d6f75ec98cbd67576fa6f - version: '@angular/domino@https://codeload.github.com/angular/domino/tar.gz/4d97473116d000e3fd4d6f75ec98cbd67576fa6f' + specifier: https://github.com/angular/domino.git#9b606f5b01b5cc518b97a618b92f990c03a33d35 + version: '@angular/domino@https://codeload.github.com/angular/domino/tar.gz/9b606f5b01b5cc518b97a618b92f990c03a33d35' esbuild: specifier: 0.28.1 version: 0.28.1 @@ -248,8 +248,8 @@ importers: specifier: ^9.0.0 version: 9.1.1 '@angular/ng-dev': - specifier: https://github.com/angular/dev-infra-private-ng-dev-builds.git#2fe8cf97ca7d7f1616c3f29e910dde3a7ac5b981 - version: https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/2fe8cf97ca7d7f1616c3f29e910dde3a7ac5b981(@modelcontextprotocol/sdk@1.30.0(@cfworker/json-schema@4.1.1)(supports-color@11.0.0)) + specifier: https://github.com/angular/dev-infra-private-ng-dev-builds.git#f166178ac5c37cd3aadab7b8cb7212f34d71b2a6 + version: https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/f166178ac5c37cd3aadab7b8cb7212f34d71b2a6(@modelcontextprotocol/sdk@1.30.0(@cfworker/json-schema@4.1.1)(supports-color@11.0.0)) '@babel/plugin-transform-async-generator-functions': specifier: ^8.0.0 version: 8.0.1(@babel/core@8.0.1) @@ -347,17 +347,17 @@ importers: specifier: workspace:* version: link:../packages/animations '@angular/aria': - specifier: 22.1.6 - version: 22.1.6(@angular/cdk@22.1.6(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2))(@angular/core@packages+core) - '@angular/build': specifier: 22.1.7 - version: 22.1.7(57e4ee4e2aaa159d0a430f2ba59aadbf) + version: 22.1.7(@angular/cdk@22.1.7(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2))(@angular/core@packages+core) + '@angular/build': + specifier: 22.1.8 + version: 22.1.8(85d34a3d252fb0512d76ecbfd904c3a4) '@angular/cdk': - specifier: 22.1.6 - version: 22.1.6(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2) - '@angular/cli': specifier: 22.1.7 - version: 22.1.7(@cfworker/json-schema@4.1.1)(@types/node@24.13.3)(chokidar@5.0.0)(supports-color@11.0.0) + version: 22.1.7(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2) + '@angular/cli': + specifier: 22.1.8 + version: 22.1.8(@cfworker/json-schema@4.1.1)(@types/node@24.13.3)(chokidar@5.0.0)(supports-color@11.0.0) '@angular/common': specifier: workspace:* version: link:../packages/common @@ -377,8 +377,8 @@ importers: specifier: workspace:* version: link:../packages/forms '@angular/material': - specifier: 22.1.6 - version: 22.1.6(@angular/cdk@22.1.6(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2))(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2) + specifier: 22.1.7 + version: 22.1.7(@angular/cdk@22.1.7(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2))(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2) '@angular/platform-browser': specifier: workspace:* version: link:../packages/platform-browser @@ -389,8 +389,8 @@ importers: specifier: workspace:* version: link:../packages/router '@angular/ssr': - specifier: 22.1.7 - version: 22.1.7(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-server@packages+platform-server)(@angular/router@packages+router) + specifier: 22.1.8 + version: 22.1.8(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-server@packages+platform-server)(@angular/router@packages+router) '@codemirror/autocomplete': specifier: 6.20.3 version: 6.20.3 @@ -567,7 +567,7 @@ importers: version: 11.16.0 ngx-progressbar: specifier: 14.0.0 - version: 14.0.0(@angular/cdk@22.1.6(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2))(@angular/common@packages+common)(@angular/core@packages+core)(rxjs@7.8.2) + version: 14.0.0(@angular/cdk@22.1.7(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2))(@angular/common@packages+common)(@angular/core@packages+core)(rxjs@7.8.2) playwright-core: specifier: 1.61.1 version: 1.61.1 @@ -711,8 +711,8 @@ importers: specifier: workspace:* version: link:../packages/router '@angular/ssr': - specifier: 22.1.7 - version: 22.1.7(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-server@packages+platform-server)(@angular/router@packages+router) + specifier: 22.1.8 + version: 22.1.8(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-server@packages+platform-server)(@angular/router@packages+router) rxjs: specifier: ~7.8.0 version: 7.8.2 @@ -721,11 +721,11 @@ importers: version: 2.8.1 devDependencies: '@angular/build': - specifier: 22.1.7 - version: 22.1.7(dda021ede472fe157a0260afb7d3850a) + specifier: 22.1.8 + version: 22.1.8(6122bb84929f84cea625d49dcdbbd50e) '@angular/cli': - specifier: 22.1.7 - version: 22.1.7(@cfworker/json-schema@4.1.1)(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@11.0.0) + specifier: 22.1.8 + version: 22.1.8(@cfworker/json-schema@4.1.1)(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@11.0.0) '@angular/compiler-cli': specifier: workspace:* version: link:../packages/compiler-cli @@ -821,8 +821,8 @@ importers: specifier: workspace:* version: link:../packages/benchpress '@angular/build': - specifier: 22.1.7 - version: 22.1.7(5190a317824aee1a651b1742edadba91) + specifier: 22.1.8 + version: 22.1.8(c92d653f22eb8fb62b98197465e620ce) '@angular/common': specifier: workspace:* version: link:../packages/common @@ -1006,8 +1006,8 @@ importers: specifier: workspace:* version: link:../../../animations '@angular/build': - specifier: 22.1.7 - version: 22.1.7(dda021ede472fe157a0260afb7d3850a) + specifier: 22.1.8 + version: 22.1.8(6122bb84929f84cea625d49dcdbbd50e) '@angular/common': specifier: workspace:* version: link:../../../common @@ -1226,8 +1226,8 @@ importers: specifier: 3.7.2 version: 3.7.2 domino: - specifier: https://github.com/angular/domino.git#4d97473116d000e3fd4d6f75ec98cbd67576fa6f - version: '@angular/domino@https://codeload.github.com/angular/domino/tar.gz/4d97473116d000e3fd4d6f75ec98cbd67576fa6f' + specifier: https://github.com/angular/domino.git#9b606f5b01b5cc518b97a618b92f990c03a33d35 + version: '@angular/domino@https://codeload.github.com/angular/domino/tar.gz/9b606f5b01b5cc518b97a618b92f990c03a33d35' esbuild-plugin-umd-wrapper: specifier: 3.0.0 version: 3.0.0 @@ -1274,8 +1274,8 @@ importers: packages/zone.js/test/typings: dependencies: domino: - specifier: https://github.com/angular/domino.git#4d97473116d000e3fd4d6f75ec98cbd67576fa6f - version: '@angular/domino@https://codeload.github.com/angular/domino/tar.gz/4d97473116d000e3fd4d6f75ec98cbd67576fa6f' + specifier: https://github.com/angular/domino.git#9b606f5b01b5cc518b97a618b92f990c03a33d35 + version: '@angular/domino@https://codeload.github.com/angular/domino/tar.gz/9b606f5b01b5cc518b97a618b92f990c03a33d35' zone.js: specifier: workspace:* version: link:../.. @@ -1491,13 +1491,13 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@angular-devkit/architect@0.2201.7': - resolution: {integrity: sha512-qffChB0+3WuLcwDk9gx3p/Vl3zYJDomweui5zsLESDMzvJ8zsbKRkgohTieOngajx+XBsklp0gKcxjiVn4NvWQ==} + '@angular-devkit/architect@0.2201.8': + resolution: {integrity: sha512-EUQo8RDS1my2Bo5FRS+gBYgz1/klfIp9XESfMpTBO04nBkjF6DkPCeOxeAf1CYjWy9nCXcWn968eSdEhV5jXiA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true - '@angular-devkit/core@22.1.7': - resolution: {integrity: sha512-RKayeOOjhcIe/iBOM1fmtI5pjXwBEJh+u55VnSeIwYvFNXyxI0/jdRw4T6uhwusQ+1bzyya4d8q1mT9oaOQ/5A==} + '@angular-devkit/core@22.1.8': + resolution: {integrity: sha512-34lsgg2FwMVBX7nR/ZqzRUcdvdYPvSB8XAEr2GudXAyZwLI9ehzfQlagAWR/gEb8p4uCFZW0r7uU0toxydq4Rw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: chokidar: ^5.0.0 @@ -1505,18 +1505,18 @@ packages: chokidar: optional: true - '@angular-devkit/schematics@22.1.7': - resolution: {integrity: sha512-KOcVeT4MCsoPt6AMnXH7AbWZnzlKXhMyua2ITWij4UbLaNWCDwfIug/xrZssYLHUFwebCIqsR8iuG/BPH8Cz2w==} + '@angular-devkit/schematics@22.1.8': + resolution: {integrity: sha512-Pv3cPa/44kvEwYcqwx4Ns5dhIDmcFNSHhbpheqiEG1Z/u4e2t4zHKDtE3eHZB+8o+IcC7xJj+d+AqGR44RoZDA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - '@angular/aria@22.1.6': - resolution: {integrity: sha512-Z/SxwiLPBgtu3pPAlAbXxwwGdPjJpqT2O+snH8N+x5uvQzotQN+vQofd+qrS9VrXtnuI5MMALQTNnQtOhZjdWg==} + '@angular/aria@22.1.7': + resolution: {integrity: sha512-181iutfHOTVKhI7yyA5wjwJ26iPn/DBn+W++bxQ4DA3mZBnBfvC2/MKQVmf36woNQ/c5yQkSqYrZTRXAWK3NIw==} peerDependencies: - '@angular/cdk': 22.1.6 + '@angular/cdk': 22.1.7 '@angular/core': ^22.0.0 || ^23.0.0 - '@angular/build@22.1.7': - resolution: {integrity: sha512-YNZL3R2YS1qZud9zbJfW3ZSeEB0xAURBJEE0cf7WRCCwkn7NFlH7xXLW/zR+WRBwtcCBRsLrM2/ix3Y8FoKX9A==} + '@angular/build@22.1.8': + resolution: {integrity: sha512-tw+Evk0EITb8p8dTu743ONoFztCEiyDkdRbtZsh7C0vBS7Q9ElsOcFeg2Z9OAAwrmtZMIBuW3jrdPRQp7OCSdw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: '@angular/compiler': ^22.0.0 @@ -1526,7 +1526,7 @@ packages: '@angular/platform-browser': ^22.0.0 '@angular/platform-server': ^22.0.0 '@angular/service-worker': ^22.0.0 - '@angular/ssr': ^22.1.7 + '@angular/ssr': ^22.1.8 istanbul-lib-instrument: ^6.0.0 karma: ^6.4.0 less: ^4.2.0 @@ -1567,8 +1567,8 @@ packages: vitest: optional: true - '@angular/cdk@22.1.6': - resolution: {integrity: sha512-4eHSs/sIIp1mesNKFDkDTYDhfB/3/Bpfjzv/PbybsKVd642FTa3IAbjWf3uqHS/V7mpucF3Q5gSpirZHDgxwrg==} + '@angular/cdk@22.1.7': + resolution: {integrity: sha512-TN4pPExBZ6ZbxWnfVb77M/0cL83eRY3qpHv/R9Y1KhkNXlxdocd0My7wiueWBBimYacSpBnfHrIRNmHgX7Pc4Q==} peerDependencies: '@angular/common': ^22.0.0 || ^23.0.0 '@angular/core': ^22.0.0 || ^23.0.0 @@ -1576,8 +1576,8 @@ packages: '@angular/platform-browser': ^22.0.0 || ^23.0.0 rxjs: ^6.5.3 || ^7.4.0 - '@angular/cli@22.1.7': - resolution: {integrity: sha512-dsOAAPHTXSrTvH5jIdZsFhqmcrTU9+aLXPSYSkQ1afMxPUT/JDjWH228xURYmCaM3ml0vVaT9R2p7/FrS7CJmg==} + '@angular/cli@22.1.8': + resolution: {integrity: sha512-MFN/FydqDndai8vF12hDxG5RlBt1HUUheeJgJNmuHYIne4bOAfOT+xuMpIK8+gLSRwCemdqR3OMM38pnsFJ/nA==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true @@ -1590,27 +1590,27 @@ packages: '@angular/compiler': optional: true - '@angular/domino@https://codeload.github.com/angular/domino/tar.gz/4d97473116d000e3fd4d6f75ec98cbd67576fa6f': - resolution: {gitHosted: true, tarball: https://codeload.github.com/angular/domino/tar.gz/4d97473116d000e3fd4d6f75ec98cbd67576fa6f} + '@angular/domino@https://codeload.github.com/angular/domino/tar.gz/9b606f5b01b5cc518b97a618b92f990c03a33d35': + resolution: {gitHosted: true, integrity: sha512-R863LMO9L1BdkpChzNK5hpNLToR5cUOgOPnflx/Hn8Iwcu1NNNVuVHgLKrCtGnw7igTIFXHVlQgtKv6ZjHOOTg==, tarball: https://codeload.github.com/angular/domino/tar.gz/9b606f5b01b5cc518b97a618b92f990c03a33d35} version: 2.1.6 - '@angular/material@22.1.6': - resolution: {integrity: sha512-NpURtI21B7D6+DVltihVLxQWOm/cshlbJKqlUuSmyoGGO8Fvf4RxMtx6IZ5YAfVSQsuZvCvdXPc4BKUlJrqnHw==} + '@angular/material@22.1.7': + resolution: {integrity: sha512-mpe0lL6eDlN5AuXY7CP29SfKey7nVuHp4YhQijaq9orRFwsP3fSGrMU9BJjIRDOLWc8Zg9v/oa85E1CjNebXGg==} peerDependencies: - '@angular/cdk': 22.1.6 + '@angular/cdk': 22.1.7 '@angular/common': ^22.0.0 || ^23.0.0 '@angular/core': ^22.0.0 || ^23.0.0 '@angular/forms': ^22.0.0 || ^23.0.0 '@angular/platform-browser': ^22.0.0 || ^23.0.0 rxjs: ^6.5.3 || ^7.4.0 - '@angular/ng-dev@https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/2fe8cf97ca7d7f1616c3f29e910dde3a7ac5b981': - resolution: {gitHosted: true, tarball: https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/2fe8cf97ca7d7f1616c3f29e910dde3a7ac5b981} - version: 0.0.0-183403ae13b785698eaf13c819dda55b9fed430b + '@angular/ng-dev@https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/f166178ac5c37cd3aadab7b8cb7212f34d71b2a6': + resolution: {gitHosted: true, integrity: sha512-5NrBeSt7Q//Qrxhy1OVNDNuGiZLdFOaIPMLtCgjypDsJc214fEI4xRKqN7zIpAQfMlZDoIFMh7vodM/uB9oq3A==, tarball: https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/f166178ac5c37cd3aadab7b8cb7212f34d71b2a6} + version: 0.0.0-cde7ad16c16f5c7dbd57b62e8b930443813484ec hasBin: true - '@angular/ssr@22.1.7': - resolution: {integrity: sha512-fX766QHDeiMTIa+D1/OQaCMyW0EKO7nR+hUBcCd9gOcu3dMr3JnugEmLYReCCkQNKRjMmALSs7QS7o+ptrKsKg==} + '@angular/ssr@22.1.8': + resolution: {integrity: sha512-D/Is+0dXrFrYeWa3CGqN/inp73pvz+zMrje3wOAR22SBQSV4qPeY8Y4NuR8EflwMwsfiNAfGBYSDQs1WsEx+bQ==} peerDependencies: '@angular/common': ^22.0.0 '@angular/core': ^22.0.0 @@ -4556,8 +4556,8 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - '@schematics/angular@22.1.7': - resolution: {integrity: sha512-acBv147JjnwtWFgC8Af0KFBzPpb/TWaYxoWN/Ou3pXtUhYiEqnrdJeoFz3ssDw26eKFIdWnVBLB/dHORBykPBg==} + '@schematics/angular@22.1.8': + resolution: {integrity: sha512-V37T9uHOQVHyxxOqwcJ9xjSIW/mW9UuSfjOc7WJE4V8+3zj0abDJLHuoxDZKe0icYGapgOcvHyYjtNOjSeSivw==} engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} '@secretlint/config-creator@10.2.2': @@ -11857,14 +11857,14 @@ snapshots: '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 - '@angular-devkit/architect@0.2201.7(chokidar@5.0.0)': + '@angular-devkit/architect@0.2201.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) rxjs: 7.8.2 transitivePeerDependencies: - chokidar - '@angular-devkit/core@22.1.7(chokidar@5.0.0)': + '@angular-devkit/core@22.1.8(chokidar@5.0.0)': dependencies: ajv: 8.20.0 ajv-formats: 3.0.1 @@ -11875,9 +11875,9 @@ snapshots: optionalDependencies: chokidar: 5.0.0 - '@angular-devkit/schematics@22.1.7(chokidar@5.0.0)': + '@angular-devkit/schematics@22.1.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 magic-string: 1.0.0 ora: 9.4.1 @@ -11885,23 +11885,23 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular/aria@22.1.6(@angular/cdk@22.1.6(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2))(@angular/core@packages+core)': + '@angular/aria@22.1.7(@angular/cdk@22.1.7(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2))(@angular/core@packages+core)': dependencies: - '@angular/cdk': 22.1.6(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2) + '@angular/cdk': 22.1.7(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2) '@angular/core': link:packages/core tslib: 2.8.1 - '@angular/build@22.1.7(5190a317824aee1a651b1742edadba91)': + '@angular/build@22.1.8(6122bb84929f84cea625d49dcdbbd50e)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) '@angular/compiler': link:packages/compiler '@angular/compiler-cli': link:packages/compiler-cli '@babel/core': 8.0.1 '@babel/helper-annotate-as-pure': 8.0.0 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.1.1(@types/node@24.13.3) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.2)(jiti@1.21.7)(less@4.9.0(supports-color@11.0.0))(sass@1.101.0)(tsx@4.23.13)(yaml@2.9.0)) + '@inquirer/confirm': 6.1.1(@types/node@20.19.43) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@8.1.5(@types/node@20.19.43)(esbuild@0.28.2)(jiti@1.21.7)(less@4.9.0(supports-color@11.0.0))(sass@1.101.0)(tsx@4.23.13)(yaml@2.9.0)) beasties: 0.4.3 browserslist: 4.28.8 esbuild: 0.28.2 @@ -11921,7 +11921,7 @@ snapshots: tinyglobby: 0.2.17 tslib: 2.8.1 typescript: 6.0.3 - vite: 8.1.5(@types/node@24.13.3)(esbuild@0.28.2)(jiti@1.21.7)(less@4.9.0(supports-color@11.0.0))(sass@1.101.0)(tsx@4.23.13)(yaml@2.9.0) + vite: 8.1.5(@types/node@20.19.43)(esbuild@0.28.2)(jiti@1.21.7)(less@4.9.0(supports-color@11.0.0))(sass@1.101.0)(tsx@4.23.13)(yaml@2.9.0) watchpack: 2.5.2 optionalDependencies: '@angular/core': link:packages/core @@ -11929,7 +11929,7 @@ snapshots: '@angular/platform-browser': link:packages/platform-browser '@angular/platform-server': link:packages/platform-server '@angular/service-worker': link:packages/service-worker - '@angular/ssr': 22.1.7(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-server@packages+platform-server)(@angular/router@packages+router) + '@angular/ssr': 22.1.8(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-server@packages+platform-server)(@angular/router@packages+router) istanbul-lib-instrument: 6.0.3(supports-color@11.0.0) karma: 6.4.4(bufferutil@4.1.0)(debug@4.4.3(supports-color@11.0.0))(supports-color@11.0.0)(utf-8-validate@6.0.6) less: 4.9.0(supports-color@11.0.0) @@ -11938,7 +11938,7 @@ snapshots: postcss: 8.5.26 rollup: 4.62.2 tailwindcss: 3.4.19(tsx@4.23.13)(yaml@2.9.0) - vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(esbuild@0.28.1)(jiti@1.21.7)(jsdom@29.1.1)(less@4.9.0(supports-color@11.0.0))(sass@1.103.1)(tsx@4.23.13)(yaml@2.9.0) + vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@20.19.43)(esbuild@0.28.1)(jiti@1.21.7)(jsdom@29.1.1)(less@4.9.0(supports-color@11.0.0))(sass@1.103.1)(tsx@4.23.13)(yaml@2.9.0) transitivePeerDependencies: - '@types/node' - '@vitejs/devtools' @@ -11953,10 +11953,10 @@ snapshots: - tsx - yaml - '@angular/build@22.1.7(57e4ee4e2aaa159d0a430f2ba59aadbf)': + '@angular/build@22.1.8(85d34a3d252fb0512d76ecbfd904c3a4)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) '@angular/compiler': link:packages/compiler '@angular/compiler-cli': link:packages/compiler-cli '@babel/core': 8.0.1 @@ -11991,7 +11991,7 @@ snapshots: '@angular/platform-browser': link:packages/platform-browser '@angular/platform-server': link:packages/platform-server '@angular/service-worker': link:packages/service-worker - '@angular/ssr': 22.1.7(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-server@packages+platform-server)(@angular/router@packages+router) + '@angular/ssr': 22.1.8(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-server@packages+platform-server)(@angular/router@packages+router) istanbul-lib-instrument: 6.0.3(supports-color@11.0.0) karma: 6.4.4(bufferutil@4.1.0)(debug@4.4.3(supports-color@11.0.0))(supports-color@11.0.0)(utf-8-validate@6.0.6) less: 4.9.0(supports-color@11.0.0) @@ -12015,17 +12015,17 @@ snapshots: - tsx - yaml - '@angular/build@22.1.7(dda021ede472fe157a0260afb7d3850a)': + '@angular/build@22.1.8(c92d653f22eb8fb62b98197465e620ce)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) '@angular/compiler': link:packages/compiler '@angular/compiler-cli': link:packages/compiler-cli '@babel/core': 8.0.1 '@babel/helper-annotate-as-pure': 8.0.0 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.1.1(@types/node@20.19.43) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@8.1.5(@types/node@20.19.43)(esbuild@0.28.2)(jiti@1.21.7)(less@4.9.0(supports-color@11.0.0))(sass@1.101.0)(tsx@4.23.13)(yaml@2.9.0)) + '@inquirer/confirm': 6.1.1(@types/node@24.13.3) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@8.1.5(@types/node@24.13.3)(esbuild@0.28.2)(jiti@1.21.7)(less@4.9.0(supports-color@11.0.0))(sass@1.101.0)(tsx@4.23.13)(yaml@2.9.0)) beasties: 0.4.3 browserslist: 4.28.8 esbuild: 0.28.2 @@ -12045,7 +12045,7 @@ snapshots: tinyglobby: 0.2.17 tslib: 2.8.1 typescript: 6.0.3 - vite: 8.1.5(@types/node@20.19.43)(esbuild@0.28.2)(jiti@1.21.7)(less@4.9.0(supports-color@11.0.0))(sass@1.101.0)(tsx@4.23.13)(yaml@2.9.0) + vite: 8.1.5(@types/node@24.13.3)(esbuild@0.28.2)(jiti@1.21.7)(less@4.9.0(supports-color@11.0.0))(sass@1.101.0)(tsx@4.23.13)(yaml@2.9.0) watchpack: 2.5.2 optionalDependencies: '@angular/core': link:packages/core @@ -12053,7 +12053,7 @@ snapshots: '@angular/platform-browser': link:packages/platform-browser '@angular/platform-server': link:packages/platform-server '@angular/service-worker': link:packages/service-worker - '@angular/ssr': 22.1.7(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-server@packages+platform-server)(@angular/router@packages+router) + '@angular/ssr': 22.1.8(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-server@packages+platform-server)(@angular/router@packages+router) istanbul-lib-instrument: 6.0.3(supports-color@11.0.0) karma: 6.4.4(bufferutil@4.1.0)(debug@4.4.3(supports-color@11.0.0))(supports-color@11.0.0)(utf-8-validate@6.0.6) less: 4.9.0(supports-color@11.0.0) @@ -12062,7 +12062,7 @@ snapshots: postcss: 8.5.26 rollup: 4.62.2 tailwindcss: 3.4.19(tsx@4.23.13)(yaml@2.9.0) - vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@20.19.43)(esbuild@0.28.1)(jiti@1.21.7)(jsdom@29.1.1)(less@4.9.0(supports-color@11.0.0))(sass@1.103.1)(tsx@4.23.13)(yaml@2.9.0) + vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(esbuild@0.28.1)(jiti@1.21.7)(jsdom@29.1.1)(less@4.9.0(supports-color@11.0.0))(sass@1.103.1)(tsx@4.23.13)(yaml@2.9.0) transitivePeerDependencies: - '@types/node' - '@vitejs/devtools' @@ -12077,7 +12077,7 @@ snapshots: - tsx - yaml - '@angular/cdk@22.1.6(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2)': + '@angular/cdk@22.1.7(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2)': dependencies: '@angular/common': link:packages/common '@angular/core': link:packages/core @@ -12087,15 +12087,15 @@ snapshots: rxjs: 7.8.2 tslib: 2.8.1 - '@angular/cli@22.1.7(@cfworker/json-schema@4.1.1)(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@11.0.0)': + '@angular/cli@22.1.8(@cfworker/json-schema@4.1.1)(@types/node@20.19.43)(chokidar@5.0.0)(supports-color@11.0.0)': dependencies: - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular-devkit/schematics': 22.1.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.1.8(chokidar@5.0.0) '@inquirer/prompts': 8.5.2(@types/node@20.19.43) '@listr2/prompt-adapter-inquirer': 4.2.5(@inquirer/prompts@8.5.2(@types/node@20.19.43))(@types/node@20.19.43)(listr2@11.0.0) '@modelcontextprotocol/sdk': 1.30.0(@cfworker/json-schema@4.1.1)(supports-color@11.0.0) - '@schematics/angular': 22.1.7(chokidar@5.0.0) + '@schematics/angular': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 listr2: 11.0.0 npm-package-arg: 14.0.0 @@ -12109,15 +12109,15 @@ snapshots: - chokidar - supports-color - '@angular/cli@22.1.7(@cfworker/json-schema@4.1.1)(@types/node@24.13.3)(chokidar@5.0.0)(supports-color@11.0.0)': + '@angular/cli@22.1.8(@cfworker/json-schema@4.1.1)(@types/node@24.13.3)(chokidar@5.0.0)(supports-color@11.0.0)': dependencies: - '@angular-devkit/architect': 0.2201.7(chokidar@5.0.0) - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular-devkit/schematics': 22.1.7(chokidar@5.0.0) + '@angular-devkit/architect': 0.2201.8(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.1.8(chokidar@5.0.0) '@inquirer/prompts': 8.5.2(@types/node@24.13.3) '@listr2/prompt-adapter-inquirer': 4.2.5(@inquirer/prompts@8.5.2(@types/node@20.19.43))(@types/node@24.13.3)(listr2@11.0.0) '@modelcontextprotocol/sdk': 1.30.0(@cfworker/json-schema@4.1.1)(supports-color@11.0.0) - '@schematics/angular': 22.1.7(chokidar@5.0.0) + '@schematics/angular': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 listr2: 11.0.0 npm-package-arg: 14.0.0 @@ -12139,11 +12139,11 @@ snapshots: optionalDependencies: '@angular/compiler': link:packages/compiler - '@angular/domino@https://codeload.github.com/angular/domino/tar.gz/4d97473116d000e3fd4d6f75ec98cbd67576fa6f': {} + '@angular/domino@https://codeload.github.com/angular/domino/tar.gz/9b606f5b01b5cc518b97a618b92f990c03a33d35': {} - '@angular/material@22.1.6(@angular/cdk@22.1.6(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2))(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2)': + '@angular/material@22.1.7(@angular/cdk@22.1.7(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2))(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2)': dependencies: - '@angular/cdk': 22.1.6(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2) + '@angular/cdk': 22.1.7(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2) '@angular/common': link:packages/common '@angular/core': link:packages/core '@angular/forms': link:packages/forms @@ -12151,7 +12151,7 @@ snapshots: rxjs: 7.8.2 tslib: 2.8.1 - '@angular/ng-dev@https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/2fe8cf97ca7d7f1616c3f29e910dde3a7ac5b981(@modelcontextprotocol/sdk@1.30.0(@cfworker/json-schema@4.1.1)(supports-color@11.0.0))': + '@angular/ng-dev@https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/f166178ac5c37cd3aadab7b8cb7212f34d71b2a6(@modelcontextprotocol/sdk@1.30.0(@cfworker/json-schema@4.1.1)(supports-color@11.0.0))': dependencies: '@actions/core': 3.0.1 '@conventional-changelog/git-client': 3.1.2(conventional-commits-filter@6.0.1)(conventional-commits-parser@7.1.2) @@ -12211,7 +12211,7 @@ snapshots: - '@modelcontextprotocol/sdk' - '@react-native-async-storage/async-storage' - '@angular/ssr@22.1.7(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-server@packages+platform-server)(@angular/router@packages+router)': + '@angular/ssr@22.1.8(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-server@packages+platform-server)(@angular/router@packages+router)': dependencies: '@angular/common': link:packages/common '@angular/core': link:packages/core @@ -15226,10 +15226,10 @@ snapshots: '@napi-rs/lzma-linux-x64-gnu': 1.5.1 fsevents: 2.3.3 - '@schematics/angular@22.1.7(chokidar@5.0.0)': + '@schematics/angular@22.1.8(chokidar@5.0.0)': dependencies: - '@angular-devkit/core': 22.1.7(chokidar@5.0.0) - '@angular-devkit/schematics': 22.1.7(chokidar@5.0.0) + '@angular-devkit/core': 22.1.8(chokidar@5.0.0) + '@angular-devkit/schematics': 22.1.8(chokidar@5.0.0) jsonc-parser: 3.3.1 typescript: 6.0.3 transitivePeerDependencies: @@ -20707,9 +20707,9 @@ snapshots: '@angular/core': link:packages/core tslib: 2.8.1 - ngx-progressbar@14.0.0(@angular/cdk@22.1.6(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2))(@angular/common@packages+common)(@angular/core@packages+core)(rxjs@7.8.2): + ngx-progressbar@14.0.0(@angular/cdk@22.1.7(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2))(@angular/common@packages+common)(@angular/core@packages+core)(rxjs@7.8.2): dependencies: - '@angular/cdk': 22.1.6(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2) + '@angular/cdk': 22.1.7(@angular/common@packages+common)(@angular/core@packages+core)(@angular/forms@packages+forms)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2) '@angular/common': link:packages/common '@angular/core': link:packages/core rxjs: 7.8.2 diff --git a/vscode-ng-language-service/CHANGELOG.md b/vscode-ng-language-service/CHANGELOG.md index b51eb31fff92..6b9a30365fd3 100644 --- a/vscode-ng-language-service/CHANGELOG.md +++ b/vscode-ng-language-service/CHANGELOG.md @@ -1,3 +1,13 @@ +## 22.1.1 (2026-09-10) + +- fix(vscode-extension): prevent JSDoc link provider injection ([731b959a81](https://github.com/angular/angular/commit/731b959a810a3cef8436ebea483397f9dcdaea78)) +- fix(vscode-extension): handle escaped delimiters in inline template and styles highlighting ([120aac9108](https://github.com/angular/angular/commit/120aac91089f8f2665013e8f3ecd9b31ce6d1828)) +- fix(language-service): honor quote style preference when generating imports ([93d7f718d2](https://github.com/angular/angular/commit/93d7f718d2e057e37deda42d197e46672fe7f7f5)) +- fix(language-server): recover project for external templates in solution-style workspaces ([14fbe04612](https://github.com/angular/angular/commit/14fbe04612d29460c5d01d6c65cde579f0a42e95)) +- fix(vscode-extension): prevent command URI injection in TSDK approval ([8adaa09f95](https://github.com/angular/angular/commit/8adaa09f959c2e758de5811e7b9f6abd99be8b7d)) + + + ## 22.1.0 (2026-08-12) - fix(language-service): account for strictTemplates being enabled by default ([a99fb915c0](https://github.com/angular/angular/commit/a99fb915c09b352ac67f24e71af84cda30bcbf3e)) diff --git a/vscode-ng-language-service/package.json b/vscode-ng-language-service/package.json index 682011fd87f0..fd018c2dac50 100644 --- a/vscode-ng-language-service/package.json +++ b/vscode-ng-language-service/package.json @@ -2,7 +2,7 @@ "name": "ng-template", "displayName": "Angular Language Service", "description": "Editor services for Angular templates", - "version": "22.1.0", + "version": "22.1.1", "private": true, "publisher": "Angular", "icon": "angular.png",