diff --git a/.github/workflows/assistant-to-the-branch-manager.yml b/.github/workflows/assistant-to-the-branch-manager.yml
index 94fdfb8df840..2776b52166c7 100644
--- a/.github/workflows/assistant-to-the-branch-manager.yml
+++ b/.github/workflows/assistant-to-the-branch-manager.yml
@@ -2,6 +2,7 @@ name: DevInfra
on:
push:
+ # zizmor: ignore[dangerous-triggers] - {Trigger is safe as workflow does not checkout untrusted code}
pull_request_target:
types: [opened, synchronize, reopened, ready_for_review, labeled]
@@ -17,6 +18,6 @@ jobs:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- - uses: angular/dev-infra/github-actions/branch-manager@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ - uses: angular/dev-infra/github-actions/branch-manager@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
with:
angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }}
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 57b31cb9c2f1..04554d0a7ee1 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -21,9 +21,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Initialize environment
- uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Setup Bazel
- uses: angular/dev-infra/github-actions/bazel/setup@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/bazel/setup@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Install node modules
run: pnpm install --frozen-lockfile
- name: Generate JSON schema types
@@ -44,11 +44,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Initialize environment
- uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Setup Bazel
- uses: angular/dev-infra/github-actions/bazel/setup@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/bazel/setup@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Setup Bazel RBE
- uses: angular/dev-infra/github-actions/bazel/configure-remote@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/bazel/configure-remote@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
with:
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
- name: Install node modules
@@ -61,11 +61,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Initialize environment
- uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Setup Bazel
- uses: angular/dev-infra/github-actions/bazel/setup@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/bazel/setup@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Setup Bazel RBE
- uses: angular/dev-infra/github-actions/bazel/configure-remote@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/bazel/configure-remote@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
with:
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
- name: Install node modules
@@ -84,13 +84,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Initialize environment
- uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Install node modules
run: pnpm install --frozen-lockfile
- name: Setup Bazel
- uses: angular/dev-infra/github-actions/bazel/setup@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/bazel/setup@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Setup Bazel RBE
- uses: angular/dev-infra/github-actions/bazel/configure-remote@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/bazel/configure-remote@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
with:
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
- name: Run CLI E2E tests
@@ -100,11 +100,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Initialize environment
- uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Setup Bazel
- uses: angular/dev-infra/github-actions/bazel/setup@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/bazel/setup@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Setup Bazel RBE
- uses: angular/dev-infra/github-actions/bazel/configure-remote@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/bazel/configure-remote@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
with:
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
- name: Install node modules
@@ -137,7 +137,7 @@ jobs:
runs-on: windows-2025
steps:
- name: Initialize environment
- uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Install node modules
run: pnpm install --frozen-lockfile
- name: Download built Windows E2E tests
@@ -164,13 +164,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Initialize environment
- uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Install node modules
run: pnpm install --frozen-lockfile
- name: Setup Bazel
- uses: angular/dev-infra/github-actions/bazel/setup@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/bazel/setup@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Setup Bazel RBE
- uses: angular/dev-infra/github-actions/bazel/configure-remote@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/bazel/configure-remote@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
with:
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
- name: Run CLI E2E tests
@@ -188,13 +188,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Initialize environment
- uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Install node modules
run: pnpm install --frozen-lockfile
- name: Setup Bazel
- uses: angular/dev-infra/github-actions/bazel/setup@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/bazel/setup@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Setup Bazel RBE
- uses: angular/dev-infra/github-actions/bazel/configure-remote@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/bazel/configure-remote@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
with:
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
- name: Run CLI E2E tests
@@ -208,34 +208,35 @@ jobs:
SAUCE_TUNNEL_IDENTIFIER: angular-cli-${{ github.workflow }}-${{ github.run_number }}
steps:
- name: Initialize environment
- uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Install node modules
run: pnpm install --frozen-lockfile
- name: Setup Bazel
- uses: angular/dev-infra/github-actions/bazel/setup@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/bazel/setup@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Setup Bazel RBE
- uses: angular/dev-infra/github-actions/bazel/configure-remote@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/bazel/configure-remote@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
with:
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
+ - name: Start Sauce Connect
+ uses: saucelabs/sauce-connect-action@cb88b508c6f9ff4d84490093733315dbd55de022 # v3
+ timeout-minutes: 10
+ with:
+ username: ${{ vars.SAUCE_USERNAME }}
+ accessKey: ${{ secrets.SAUCE_ACCESS_KEY }}
+ region: us-west-1
+ tunnelName: ${{ env.SAUCE_TUNNEL_IDENTIFIER }}
+ proxyLocalhost: allow
+ # By default we disable SSL bumping for all requests. This is because SSL bumping is not needed
+ # for our test setup and in order to perform the SSL bumping, Saucelabs intercepts all HTTP
+ # requests in the tunnel VM and modifies them. This can cause flakiness as it makes all requests
+ # dependent on the SSL bumping middleware.
+ # See: https://wiki.saucelabs.com/display/DOCS/Troubleshooting+Sauce+Connect#TroubleshootingSauceConnect-DisablingSSLBumping
+ tlsPassthroughDomains: all
- name: Run E2E Browser tests
env:
SAUCE_USERNAME: ${{ vars.SAUCE_USERNAME }}
SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }}
- SAUCE_LOG_FILE: /tmp/angular/sauce-connect.log
- SAUCE_READY_FILE: /tmp/angular/sauce-connect-ready-file.lock
- SAUCE_PID_FILE: /tmp/angular/sauce-connect-pid-file.lock
- SAUCE_TUNNEL_IDENTIFIER: 'angular-${{ github.run_number }}'
- SAUCE_READY_FILE_TIMEOUT: 120
- run: |
- ./scripts/saucelabs/start-tunnel.sh &
- ./scripts/saucelabs/wait-for-tunnel.sh
- pnpm bazel test --config=saucelabs //tests:e2e.saucelabs
- ./scripts/saucelabs/stop-tunnel.sh
- - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
- if: ${{ failure() }}
- with:
- name: sauce-connect-log
- path: ${{ env.SAUCE_CONNECT_DIR_IN_HOST }}/sauce-connect.log
+ run: pnpm bazel test --config=saucelabs //tests:e2e.saucelabs
publish-snapshots:
needs: build
@@ -244,11 +245,11 @@ jobs:
CIRCLE_BRANCH: ${{ github.ref_name }}
steps:
- name: Initialize environment
- uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Install node modules
run: pnpm install --frozen-lockfile
- name: Setup Bazel
- uses: angular/dev-infra/github-actions/bazel/setup@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/bazel/setup@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- run: pnpm admin snapshots --verbose
env:
SNAPSHOT_BUILDS_GITHUB_TOKEN: ${{ secrets.SNAPSHOT_BUILDS_GITHUB_TOKEN }}
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index f95ab2f4ac05..7a75337fd3df 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -23,12 +23,12 @@ jobs:
with:
persist-credentials: false
- name: Initialize CodeQL
- uses: github/codeql-action/init@e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81 # v4.37.3
+ uses: github/codeql-action/init@f205ea1c3313d32999d8d6a48b4f6530d4437b38 # v4.37.4
with:
languages: javascript-typescript
build-mode: none
config-file: .github/codeql/config.yml
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81 # v4.37.3
+ uses: github/codeql-action/analyze@f205ea1c3313d32999d8d6a48b4f6530d4437b38 # v4.37.4
with:
category: '/language:javascript-typescript'
diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml
index e0efdf2b94e4..74f2c068b63d 100644
--- a/.github/workflows/dev-infra.yml
+++ b/.github/workflows/dev-infra.yml
@@ -1,6 +1,7 @@
name: DevInfra
on:
+ # zizmor: ignore[dangerous-triggers] - {Trigger is safe as workflow does not checkout untrusted code}
pull_request_target:
types: [opened, synchronize, reopened]
issues:
@@ -15,21 +16,21 @@ jobs:
if: github.event_name == 'pull_request_target'
runs-on: ubuntu-latest
steps:
- - uses: angular/dev-infra/github-actions/labeling/pull-request@649c3afeaa46674507b9625537e49de54a695e2b
+ - uses: angular/dev-infra/github-actions/labeling/pull-request@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
with:
angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }}
post_approval_changes:
if: github.event_name == 'pull_request_target'
runs-on: ubuntu-latest
steps:
- - uses: angular/dev-infra/github-actions/post-approval-changes@649c3afeaa46674507b9625537e49de54a695e2b
+ - uses: angular/dev-infra/github-actions/post-approval-changes@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # 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@649c3afeaa46674507b9625537e49de54a695e2b
+ - uses: angular/dev-infra/github-actions/labeling/issue@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
with:
angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }}
google-generative-ai-key: ${{ secrets.GOOGLE_GENERATIVE_AI_KEY }}
diff --git a/.github/workflows/perf.yml b/.github/workflows/perf.yml
index dac67ebcbe7f..f43583d2c5b1 100644
--- a/.github/workflows/perf.yml
+++ b/.github/workflows/perf.yml
@@ -9,7 +9,6 @@ on:
permissions:
contents: 'read'
- id-token: 'write'
defaults:
run:
@@ -23,7 +22,7 @@ jobs:
workflows: ${{ steps.workflows.outputs.workflows }}
steps:
- name: Initialize environment
- uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Install node modules
run: pnpm install --frozen-lockfile
- id: workflows
@@ -33,14 +32,17 @@ jobs:
timeout-minutes: 30
runs-on: ubuntu-latest
needs: list
+ permissions:
+ contents: 'read'
+ id-token: 'write'
strategy:
matrix:
workflow: ${{ fromJSON(needs.list.outputs.workflows) }}
steps:
- name: Initialize environment
- uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Setup Bazel
- uses: angular/dev-infra/github-actions/bazel/setup@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/bazel/setup@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # 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
@@ -52,4 +54,7 @@ jobs:
project_id: 'internal-200822'
workload_identity_provider: 'projects/823469418460/locations/global/workloadIdentityPools/measurables-tracking/providers/angular'
service_account: 'measures-uploader@internal-200822.iam.gserviceaccount.com'
- - run: pnpm ng-dev perf workflows --name ${{ matrix.workflow }} --commit-sha ${{github.sha}}
+ - run: pnpm ng-dev perf workflows --name "$WORKFLOW" --commit-sha "$COMMIT_SHA"
+ env:
+ WORKFLOW: ${{ matrix.workflow }}
+ COMMIT_SHA: ${{ github.sha }}
diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml
index 0f5a37f5751a..351a1bbeed83 100644
--- a/.github/workflows/pr.yml
+++ b/.github/workflows/pr.yml
@@ -34,9 +34,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Initialize environment
- uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Setup Bazel
- uses: angular/dev-infra/github-actions/bazel/setup@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/bazel/setup@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Setup ESLint Caching
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
@@ -66,17 +66,17 @@ jobs:
# it has been merged.
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@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/linting/licenses@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
build:
runs-on: ubuntu-latest
steps:
- name: Initialize environment
- uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Setup Bazel
- uses: angular/dev-infra/github-actions/bazel/setup@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/bazel/setup@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Setup Bazel RBE
- uses: angular/dev-infra/github-actions/bazel/configure-remote@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/bazel/configure-remote@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Install node modules
run: pnpm install --frozen-lockfile
- name: Build release targets
@@ -93,11 +93,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Initialize environment
- uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Setup Bazel
- uses: angular/dev-infra/github-actions/bazel/setup@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/bazel/setup@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Setup Bazel RBE
- uses: angular/dev-infra/github-actions/bazel/configure-remote@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/bazel/configure-remote@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Install node modules
run: pnpm install --frozen-lockfile
- name: Run module and package tests
@@ -114,13 +114,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Initialize environment
- uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Install node modules
run: pnpm install --frozen-lockfile
- name: Setup Bazel
- uses: angular/dev-infra/github-actions/bazel/setup@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/bazel/setup@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Setup Bazel RBE
- uses: angular/dev-infra/github-actions/bazel/configure-remote@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/bazel/configure-remote@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Run CLI E2E tests
run: pnpm bazel test --test_env=E2E_SHARD_TOTAL=6 --test_env=E2E_SHARD_INDEX=${{ matrix.shard }} --config=e2e //tests:e2e.${{ matrix.subset }}_node${{ matrix.node }}
@@ -128,11 +128,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Initialize environment
- uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Setup Bazel
- uses: angular/dev-infra/github-actions/bazel/setup@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/bazel/setup@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Setup Bazel RBE
- uses: angular/dev-infra/github-actions/bazel/configure-remote@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/bazel/configure-remote@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Install node modules
run: pnpm install --frozen-lockfile
- name: Build E2E tests for Windows on Linux
@@ -156,7 +156,7 @@ jobs:
runs-on: windows-2025
steps:
- name: Initialize environment
- uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Install node modules
run: pnpm install --frozen-lockfile
- name: Download built Windows E2E tests
@@ -183,13 +183,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Initialize environment
- uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Install node modules
run: pnpm install --frozen-lockfile
- name: Setup Bazel
- uses: angular/dev-infra/github-actions/bazel/setup@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/bazel/setup@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Setup Bazel RBE
- uses: angular/dev-infra/github-actions/bazel/configure-remote@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/bazel/configure-remote@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Run CLI E2E tests
run: pnpm bazel test --test_env=E2E_SHARD_TOTAL=3 --test_env=E2E_SHARD_INDEX=${{ matrix.shard }} --config=e2e //tests:e2e.${{ matrix.subset }}_node${{ matrix.node }}
@@ -205,12 +205,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Initialize environment
- uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Install node modules
run: pnpm install --frozen-lockfile
- name: Setup Bazel
- uses: angular/dev-infra/github-actions/bazel/setup@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/bazel/setup@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Setup Bazel RBE
- uses: angular/dev-infra/github-actions/bazel/configure-remote@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ uses: angular/dev-infra/github-actions/bazel/configure-remote@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
- name: Run CLI E2E tests
run: pnpm bazel test --test_env=E2E_SHARD_TOTAL=6 --test_env=E2E_SHARD_INDEX=${{ matrix.shard }} --config=e2e //tests:e2e.snapshots.${{ matrix.subset }}_node${{ matrix.node }}
diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml
index 2e9f8b03919a..ac5d75573754 100644
--- a/.github/workflows/scorecard.yml
+++ b/.github/workflows/scorecard.yml
@@ -30,7 +30,7 @@ jobs:
persist-credentials: false
- name: 'Run analysis'
- uses: ossf/scorecard-action@4eaacf0543bb3f2c246792bd56e8cdeffafb205a # v2.4.3
+ uses: ossf/scorecard-action@2d1146689b8cda280b9bc96326124645441f03bc # v2.4.4
with:
results_file: results.sarif
results_format: sarif
@@ -46,6 +46,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: 'Upload to code-scanning'
- uses: github/codeql-action/upload-sarif@e4fba868fa4b1b91e1fdab776edc8cfbe6e9fb81 # v4.37.3
+ uses: github/codeql-action/upload-sarif@f205ea1c3313d32999d8d6a48b4f6530d4437b38 # v4.37.4
with:
sarif_file: results.sarif
diff --git a/.nvmrc b/.nvmrc
index f9e7451e7715..c94711948a66 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
-22.23.1
+22.23.2
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8867117ff498..83391e1cfc3c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,102 @@
+
+
+# 22.1.2 (2026-07-30)
+
+### @angular/cli
+
+| Commit | Type | Description |
+| ---------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------- |
+| [57db27ea91](https://github.com/angular/angular-cli/commit/57db27ea910b102854267dfcd77e8fe60f23993c) | fix | add packages with built-in schematics to devDependencies only |
+
+### @angular/build
+
+| Commit | Type | Description |
+| ---------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------ |
+| [baed978885](https://github.com/angular/angular-cli/commit/baed978885585fceadc64f0151d7474054d57d6a) | fix | prevent IIFE wrapper interleaving for adjacent classes in minified files |
+
+
+
+
+
+# 22.1.1 (2026-07-30)
+
+### @angular/cli
+
+| Commit | Type | Description |
+| ---------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------- |
+| [ab971a8543](https://github.com/angular/angular-cli/commit/ab971a8543d80dfc93fdddf49598564f25196160) | fix | support npm 12 metadata array and error formats |
+
+### @angular/build
+
+| Commit | Type | Description |
+| ---------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------------- |
+| [db24220fb8](https://github.com/angular/angular-cli/commit/db24220fb8efb5c9416e375a468672ff69d0659d) | fix | rewrite paths from sandboxed execroots when running under Bazel |
+
+
+
+
+
+# 22.1.0 (2026-07-29)
+
+## Deprecations
+
+### @angular-devkit/core
+
+- `stringToFileBuffer` and `fileBufferToString` are deprecated. Use standard Web APIs (`TextEncoder` and `TextDecoder`) instead.
+
+ Internal usages within the repository have been removed and replaced with standard Web APIs. The public API golden file for `@angular-devkit/core` has been updated to reflect the deprecations.
+
+### @schematics/angular
+
+| Commit | Type | Description |
+| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------- |
+| [89d7f59cd](https://github.com/angular/angular-cli/commit/89d7f59cd7cc5d821ac0e81b1fee50e27877c976) | feat | update ai-config to include Angular MCP server config |
+| [b345bb54d](https://github.com/angular/angular-cli/commit/b345bb54d3ec7c73f9db70400f823d90aeab8fa8) | fix | remove unused spec tsconfig outDir |
+
+### @angular/cli
+
+| Commit | Type | Description |
+| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------------- |
+| [f59bcf529](https://github.com/angular/angular-cli/commit/f59bcf52917bc5e25b97c863f96127ec8d0f12f5) | fix | abort and guide manual mitigation when updating catalog packages |
+| [48f90f5d5](https://github.com/angular/angular-cli/commit/48f90f5d5e5dd6369b2ccf044a722271c82dffd6) | fix | prevent Yarn registry environment variable override |
+| [c963ecbec](https://github.com/angular/angular-cli/commit/c963ecbec241d42dfb419ae081ba22429e37f09e) | fix | remove algoliasearch dependency and support latest docs versions |
+| [6859d25c3](https://github.com/angular/angular-cli/commit/6859d25c32b6c93cbbf2d4ad4143aa10b52b7588) | fix | resolve correct registry name when using npm alias syntax during update |
+| [3a2589dac](https://github.com/angular/angular-cli/commit/3a2589dac684dfe26b2151b940bd40280d7c5d8e) | fix | respect client-side release age settings during update resolution |
+| [5c3101bff](https://github.com/angular/angular-cli/commit/5c3101bff2e1b9d0b0e4668a183e8bcab8a1540e) | fix | revert package.json changes if installation tasks fail during update |
+| [7932caaf9](https://github.com/angular/angular-cli/commit/7932caaf987c5692d6624f6af23e65ce3f6d27fd) | fix | robustly parse npm manifest from array |
+
+### @angular-devkit/core
+
+| Commit | Type | Description |
+| --------------------------------------------------------------------------------------------------- | -------- | --------------------------------------------------- |
+| [fd336d365](https://github.com/angular/angular-cli/commit/fd336d365dbfe8f558db177a8da24790914a541b) | refactor | deprecate stringToFileBuffer and fileBufferToString |
+
+### @angular/build
+
+| Commit | Type | Description |
+| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------------------------- |
+| [34d558c3c](https://github.com/angular/angular-cli/commit/34d558c3c98e1b59a2c2808fc04bfbb63dfe8acf) | feat | add built-in SQLite cache store fallback |
+| [0c18dc0f6](https://github.com/angular/angular-cli/commit/0c18dc0f6d4f36d7bbb6f35b37bfa688e8fcf7d2) | feat | emit debug ids for stable subresource integrity hashes |
+| [51f69276f](https://github.com/angular/angular-cli/commit/51f69276fd2b2aab0e94901e79a51f6860ef8690) | feat | enable chunk optimization for server builds |
+| [10dc30f9c](https://github.com/angular/angular-cli/commit/10dc30f9c680f46f65b5beb030f2a75c422a3e71) | feat | migrate advanced optimization Babel plugins to oxc-parser + magic-string |
+| [917393a4c](https://github.com/angular/angular-cli/commit/917393a4cd85172574b155f727da5c1eae196fb1) | feat | migrate i18n inliner to oxc-parser + magic-string |
+| [52ae7f862](https://github.com/angular/angular-cli/commit/52ae7f862a581cac97d5a9b33c9b71b830d95b19) | feat | share persistent build cache across git worktrees |
+| [95510511d](https://github.com/angular/angular-cli/commit/95510511d963384c5a03298300246aa34a62328a) | fix | add bounded timeout to vitest executor disposal |
+| [62b11e316](https://github.com/angular/angular-cli/commit/62b11e316e8248161877592acee5954b2a8c9c66) | fix | anchor debug ID comment matching and make injection idempotent |
+| [6d9b360e5](https://github.com/angular/angular-cli/commit/6d9b360e5f2b7ab3d4ace4db35f674166630f658) | fix | prevent esbuild service hang on internal component stylesheet builds |
+| [291caab61](https://github.com/angular/angular-cli/commit/291caab6158fa804f6221dd024a5b96e6181eaad) | fix | prevent stripping nested sourceMappingURL comments |
+| [0e3ca3dfb](https://github.com/angular/angular-cli/commit/0e3ca3dfba8ef60217089d93a321660ebb6fb838) | fix | support hyphens and underscores when stripping chunk hash in chunk optimizer |
+| [585d08af8](https://github.com/angular/angular-cli/commit/585d08af881a35653dc5e7b1ee7a75b42e154517) | perf | default chunk optimization to use Rolldown |
+| [09d0a11a8](https://github.com/angular/angular-cli/commit/09d0a11a8b832f156aea100ad3497c5221fc0f50) | perf | enable fast-path AST printing with sourcemaps in AotCompilation |
+
+### @angular/ssr
+
+| Commit | Type | Description |
+| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------- |
+| [7ef9ed24d](https://github.com/angular/angular-cli/commit/7ef9ed24d3c111474ae21c06cb2b05a21804f586) | feat | support the standard Forwarded header |
+
+
+
# 22.0.8 (2026-07-23)
@@ -22,32 +121,6 @@
-
-
-# 22.1.0-next.4 (2026-07-15)
-
-### @angular/cli
-
-| Commit | Type | Description |
-| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------ |
-| [3789ceee1](https://github.com/angular/angular-cli/commit/3789ceee18b4528c2acb7989b5d41c32d386a8a8) | fix | copy packageManager field and yarn config for temp installs |
-| [b0b3a47ae](https://github.com/angular/angular-cli/commit/b0b3a47ae95f4e98e1280ff5c9e3751ccecee5a8) | fix | support resolving subproject dependencies in pnpm workspaces |
-
-### @schematics/angular
-
-| Commit | Type | Description |
-| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------- |
-| [b345bb54d](https://github.com/angular/angular-cli/commit/b345bb54d3ec7c73f9db70400f823d90aeab8fa8) | fix | remove unused spec tsconfig outDir |
-
-### @angular/build
-
-| Commit | Type | Description |
-| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------ |
-| [0c18dc0f6](https://github.com/angular/angular-cli/commit/0c18dc0f6d4f36d7bbb6f35b37bfa688e8fcf7d2) | feat | emit debug ids for stable subresource integrity hashes |
-| [291caab61](https://github.com/angular/angular-cli/commit/291caab6158fa804f6221dd024a5b96e6181eaad) | fix | prevent stripping nested sourceMappingURL comments |
-
-
-
# 22.0.7 (2026-07-15)
@@ -85,30 +158,6 @@
-
-
-# 22.1.0-next.3 (2026-07-09)
-
-### @angular/build
-
-| Commit | Type | Description |
-| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------ |
-| [34d558c3c](https://github.com/angular/angular-cli/commit/34d558c3c98e1b59a2c2808fc04bfbb63dfe8acf) | feat | add built-in SQLite cache store fallback |
-| [52ae7f862](https://github.com/angular/angular-cli/commit/52ae7f862a581cac97d5a9b33c9b71b830d95b19) | feat | share persistent build cache across git worktrees |
-| [41bd100dd](https://github.com/angular/angular-cli/commit/41bd100dd8edebdf6c7279e1c7d3847ee5f22702) | fix | fallback to build target preserveSymlinks option in karma runner |
-| [6d9b360e5](https://github.com/angular/angular-cli/commit/6d9b360e5f2b7ab3d4ace4db35f674166630f658) | fix | prevent esbuild service hang on internal component stylesheet builds |
-| [85c53d990](https://github.com/angular/angular-cli/commit/85c53d9909b8bcb35a360044a0afde5352d45d72) | fix | prevent externalizing builder-injected i18n locale data |
-| [004cc4104](https://github.com/angular/angular-cli/commit/004cc410487b2dbb80001f045cd19f899c980ccc) | fix | strip all vite id prefixes from minified code with external dependencies |
-| [09d0a11a8](https://github.com/angular/angular-cli/commit/09d0a11a8b832f156aea100ad3497c5221fc0f50) | perf | enable fast-path AST printing with sourcemaps in AotCompilation |
-
-### @angular/ssr
-
-| Commit | Type | Description |
-| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------------- |
-| [0bd22dae0](https://github.com/angular/angular-cli/commit/0bd22dae09a83e36ed3863ca2b050666cc8d7aec) | fix | replace all route parameters when resolving relative redirects |
-
-
-
# 22.0.6 (2026-07-08)
@@ -129,47 +178,6 @@
-
-
-# 22.1.0-next.2 (2026-07-01)
-
-### @angular/cli
-
-| Commit | Type | Description |
-| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------- |
-| [010cef665](https://github.com/angular/angular-cli/commit/010cef6657365cad8529c164d7c594ca598180a0) | fix | gracefully handle package manager errors in command handler |
-| [3a2589dac](https://github.com/angular/angular-cli/commit/3a2589dac684dfe26b2151b940bd40280d7c5d8e) | fix | respect client-side release age settings during update resolution |
-| [edb4594de](https://github.com/angular/angular-cli/commit/edb4594deb5ff96967c1ce13b4494e3fd675ebec) | fix | respect release age policy in update bootstrapping logic |
-
-### @schematics/angular
-
-| Commit | Type | Description |
-| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------- |
-| [0b3172e07](https://github.com/angular/angular-cli/commit/0b3172e076b75df5b8c3066a115d1151f8b0bad9) | fix | remove unused app tsconfig outDir |
-
-### @angular-devkit/build-angular
-
-| Commit | Type | Description |
-| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------ |
-| [2d3eb7fb3](https://github.com/angular/angular-cli/commit/2d3eb7fb3b43b64c476296581481dbf67cb57b1d) | fix | prevent OS command injection in ssr-dev-server builder |
-
-### @angular/build
-
-| Commit | Type | Description |
-| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------- |
-| [75c1dce38](https://github.com/angular/angular-cli/commit/75c1dce387075d3ea9d6da572f7daa589856bc0e) | fix | auto-inject localize/init in library unit tests |
-| [dc27e17fc](https://github.com/angular/angular-cli/commit/dc27e17fc2cbb91b10b508a7e46cd72734959ffa) | fix | inherit preserveSymlinks option from build target in unit-test builder |
-| [61e25fb1d](https://github.com/angular/angular-cli/commit/61e25fb1db56694da800f330dd65cb7e50ea2d11) | fix | load zone.js dynamically for library unit tests |
-| [0010b922f](https://github.com/angular/angular-cli/commit/0010b922f8fc5a9c57b9512594f9c3b4da3fa2ae) | fix | scope createRequire module resolution using paths to prevent parent paths |
-
-### @angular/ssr
-
-| Commit | Type | Description |
-| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------- |
-| [d9fb854c9](https://github.com/angular/angular-cli/commit/d9fb854c9a48ba8852d57f3fa8f7a9640ee0aab2) | fix | preserve response headers during redirect |
-
-
-
# 22.0.5 (2026-07-01)
@@ -247,43 +255,6 @@
-
-
-# 22.1.0-next.1 (2026-06-24)
-
-### @angular/cli
-
-| Commit | Type | Description |
-| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------- |
-| [48f90f5d5](https://github.com/angular/angular-cli/commit/48f90f5d5e5dd6369b2ccf044a722271c82dffd6) | fix | prevent Yarn registry environment variable override |
-| [38e0fabc0](https://github.com/angular/angular-cli/commit/38e0fabc05eb5d622a25c68692d7d073485750e3) | fix | support registry metadata fetching under bun package manager |
-| [3ce6e5fc3](https://github.com/angular/angular-cli/commit/3ce6e5fc3b4f4b5fb6ac99cc82023bf01894d14c) | perf | implement semaphore backpressure throttling in PackageManager |
-
-### @schematics/angular
-
-| Commit | Type | Description |
-| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------ |
-| [01008f1c6](https://github.com/angular/angular-cli/commit/01008f1c69321d0a8b5b8344672b594a68fe83b6) | fix | remove default workspace vscode mcp.json configuration |
-
-### @angular/build
-
-| Commit | Type | Description |
-| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------------------------------------- |
-| [851711b03](https://github.com/angular/angular-cli/commit/851711b031603293b58e33357c70eea7675452e3) | fix | aggregate parallel worker performance timings on the main thread |
-| [585d08af8](https://github.com/angular/angular-cli/commit/585d08af881a35653dc5e7b1ee7a75b42e154517) | perf | default chunk optimization to use Rolldown |
-| [3019c8032](https://github.com/angular/angular-cli/commit/3019c8032ba9462d0edc614940b26ade24e45ec8) | perf | dispose builder result context early in non-watch mode |
-| [583736a4d](https://github.com/angular/angular-cli/commit/583736a4de8b3d0b4d79709a445809c264e38c17) | perf | implement semaphore backpressure throttling in JavaScriptTransformer |
-
-### @angular/ssr
-
-| Commit | Type | Description |
-| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------------------- |
-| [7ef9ed24d](https://github.com/angular/angular-cli/commit/7ef9ed24d3c111474ae21c06cb2b05a21804f586) | feat | support the standard Forwarded header |
-| [37f1a7491](https://github.com/angular/angular-cli/commit/37f1a749132d55a81cec231bd260ed280b10fc00) | fix | avoid caching non-SSG page lookups |
-| [5875b6024](https://github.com/angular/angular-cli/commit/5875b6024ff9e59fddf7481b6b961d73ae809963) | fix | prioritize options over environment variables in AngularNodeAppEngine |
-
-
-
# 22.0.4 (2026-06-24)
@@ -402,44 +373,6 @@
-
-
-# 22.1.0-next.0 (2026-06-11)
-
-## Deprecations
-
-### @angular-devkit/core
-
-- `stringToFileBuffer` and `fileBufferToString` are deprecated. Use standard Web APIs (`TextEncoder` and `TextDecoder`) instead.
-
- Internal usages within the repository have been removed and replaced with standard Web APIs. The public API golden file for `@angular-devkit/core` has been updated to reflect the deprecations.
-
-### @schematics/angular
-
-| Commit | Type | Description |
-| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------- |
-| [89d7f59cd](https://github.com/angular/angular-cli/commit/89d7f59cd7cc5d821ac0e81b1fee50e27877c976) | feat | update ai-config to include Angular MCP server config |
-
-### @angular/cli
-
-| Commit | Type | Description |
-| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------- |
-| [7932caaf9](https://github.com/angular/angular-cli/commit/7932caaf987c5692d6624f6af23e65ce3f6d27fd) | fix | robustly parse npm manifest from array |
-
-### @angular-devkit/core
-
-| Commit | Type | Description |
-| --------------------------------------------------------------------------------------------------- | -------- | --------------------------------------------------- |
-| [fd336d365](https://github.com/angular/angular-cli/commit/fd336d365dbfe8f558db177a8da24790914a541b) | refactor | deprecate stringToFileBuffer and fileBufferToString |
-
-### @angular/ssr
-
-| Commit | Type | Description |
-| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------ |
-| [ddcef9d48](https://github.com/angular/angular-cli/commit/ddcef9d484e205c5fcfd93d184425c1c1af19c34) | fix | correct grammar in console warning for redirected location headers |
-
-
-
# 20.3.28 (2026-06-11)
diff --git a/MODULE.bazel b/MODULE.bazel
index 4b82a12dc781..2eefbb62e742 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -7,48 +7,48 @@ module(
bazel_dep(name = "platforms", version = "1.1.0")
bazel_dep(name = "yq.bzl", version = "0.3.6")
bazel_dep(name = "rules_nodejs", version = "6.7.5")
-bazel_dep(name = "aspect_rules_js", version = "3.2.3")
+bazel_dep(name = "aspect_rules_js", version = "3.3.1")
bazel_dep(name = "aspect_rules_ts", version = "3.9.2")
bazel_dep(name = "rules_pkg", version = "1.2.0")
bazel_dep(name = "rules_cc", version = "0.2.22")
bazel_dep(name = "jq.bzl", version = "0.6.1")
bazel_dep(name = "bazel_lib", version = "3.5.0")
-bazel_dep(name = "bazel_skylib", version = "1.9.0")
+bazel_dep(name = "bazel_skylib", version = "1.9.2")
bazel_dep(name = "aspect_rules_esbuild", version = "0.26.0")
bazel_dep(name = "aspect_rules_jasmine", version = "2.0.4")
bazel_dep(name = "rules_angular")
git_override(
module_name = "rules_angular",
- commit = "db445dccfe48aad20be6ee3df456df91660ff217",
+ commit = "4768decdaefd4ba5206d8fa28f58d07bd8392479",
remote = "https://github.com/angular/rules_angular.git",
)
bazel_dep(name = "devinfra")
git_override(
module_name = "devinfra",
- commit = "daa0b5ecd15668d12163f70d4c9836ada70808c9",
+ commit = "24ba9709ca4bf6548bba6a9abfe2799e90645a60",
remote = "https://github.com/angular/dev-infra.git",
)
bazel_dep(name = "rules_browsers")
git_override(
module_name = "rules_browsers",
- commit = "3a6bd40f9be945dc51c976a21424c656448f9b09",
+ commit = "566c60ccb543755029c4eb5a609fc8bfe4c5fc3f",
remote = "https://github.com/angular/rules_browsers.git",
)
node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node")
node.toolchain(
node_repositories = {
- "22.23.1-darwin_arm64": ("node-v22.23.1-darwin-arm64.tar.gz", "node-v22.23.1-darwin-arm64", "ef28d8fab2c0e4314522d4bb1b7173270aa3937e93b92cb7de79c112ac1fa953"),
- "22.23.1-darwin_amd64": ("node-v22.23.1-darwin-x64.tar.gz", "node-v22.23.1-darwin-x64", "b8da981b8a0b1241b70249204916da76c63573ddf5814dbd2d1e41069105cb81"),
- "22.23.1-linux_arm64": ("node-v22.23.1-linux-arm64.tar.xz", "node-v22.23.1-linux-arm64", "0294e8b915ab75f92c7513d2fcb830ae06e10684e6c603e99a87dbf8835389c1"),
- "22.23.1-linux_ppc64le": ("node-v22.23.1-linux-ppc64le.tar.xz", "node-v22.23.1-linux-ppc64le", "a645bcb7bbc498d09ba9249b5c6414aa6d0a461d8854afc61e32096646ba5e66"),
- "22.23.1-linux_s390x": ("node-v22.23.1-linux-s390x.tar.xz", "node-v22.23.1-linux-s390x", "f16b5636ba925b462e627c5e0ef47de3255bf4a7b38d56db58e2cf165df19c3c"),
- "22.23.1-linux_amd64": ("node-v22.23.1-linux-x64.tar.xz", "node-v22.23.1-linux-x64", "9749e988f437343b7fa832c69ded82a312e41a03116d766797ac14f6f9eee578"),
- "22.23.1-windows_amd64": ("node-v22.23.1-win-x64.zip", "node-v22.23.1-win-x64", "7df0bc9375723f4a86b3aa1b7cc73342423d9677a8df4538aca31a049e309c29"),
+ "22.23.2-darwin_arm64": ("node-v22.23.2-darwin-arm64.tar.gz", "node-v22.23.2-darwin-arm64", "61130f394c1630d211dd50aecc4353d379480f36d3ac913cd85dbba1aed585c6"),
+ "22.23.2-darwin_amd64": ("node-v22.23.2-darwin-x64.tar.gz", "node-v22.23.2-darwin-x64", "58e99022c2ff89395576cc7fd4d98cea24bb68081475d5f88b801ee8729fb026"),
+ "22.23.2-linux_arm64": ("node-v22.23.2-linux-arm64.tar.xz", "node-v22.23.2-linux-arm64", "fff4078c5def658577f92c88db7db3bc0072924bfb93fe52c1e744a54e94abb8"),
+ "22.23.2-linux_ppc64le": ("node-v22.23.2-linux-ppc64le.tar.xz", "node-v22.23.2-linux-ppc64le", "e2ba10110ad34096c051fe47134fcd12175ecc48e7e879d7d4c78b70cf66442c"),
+ "22.23.2-linux_s390x": ("node-v22.23.2-linux-s390x.tar.xz", "node-v22.23.2-linux-s390x", "50aa0935c7caee2f95434f84c2c19f16e4f223257eadb341a3a2d5aaa545bbe6"),
+ "22.23.2-linux_amd64": ("node-v22.23.2-linux-x64.tar.xz", "node-v22.23.2-linux-x64", "d60acfe00a2932254bb0ad20e01b0d74397a0875595de719654b214f4b03f307"),
+ "22.23.2-windows_amd64": ("node-v22.23.2-win-x64.zip", "node-v22.23.2-win-x64", "1177b4137ba5adaa56354ae40f1080c7450e8ae09cecb47da459d1c52ac99f97"),
},
- node_version = "22.23.1",
+ node_version = "22.23.2",
)
use_repo(
node,
@@ -131,8 +131,8 @@ use_repo(
pnpm = use_extension("@aspect_rules_js//npm:extensions.bzl", "pnpm")
pnpm.pnpm(
name = "pnpm",
- pnpm_version = "11.15.1",
- pnpm_version_integrity = "sha512-gTULB+U8lTigLx8jA7QpD6LXvgTlbiqXDEzEtBfcdh3hlu2r1J1Vx9yVgNuBAHxEFD5OPX5GKzAA0jwlUSLQZQ==",
+ pnpm_version = "11.18.0",
+ pnpm_version_integrity = "sha512-M9g8d9qC9J+6g2klxvG4QRgewxMrZwY5vQEvcHX1x89jTF+HAUfBmq50ePrAHfCdiJLogEVIlu3SPumzN1dWPA==",
)
use_repo(pnpm, "pnpm")
diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock
index eb446604633b..3ea1381d3468 100644
--- a/MODULE.bazel.lock
+++ b/MODULE.bazel.lock
@@ -24,8 +24,8 @@
"https://bcr.bazel.build/modules/aspect_rules_jasmine/2.0.4/source.json": "81ffb708333cd98ec3c0b4cc004f4d5cf92a16914b5196a2892c45141bba7cff",
"https://bcr.bazel.build/modules/aspect_rules_js/2.0.0/MODULE.bazel": "b45b507574aa60a92796e3e13c195cd5744b3b8aff516a9c0cb5ae6a048161c5",
"https://bcr.bazel.build/modules/aspect_rules_js/3.0.3/MODULE.bazel": "28a30e8fc33bf64a67835d64d124f6e05a7d59648dcb27b110fb3502f761e503",
- "https://bcr.bazel.build/modules/aspect_rules_js/3.2.3/MODULE.bazel": "3a0363a5b8ec4931488dc327c577a78c1f5a725293ebffaa5d2613283701aa8a",
- "https://bcr.bazel.build/modules/aspect_rules_js/3.2.3/source.json": "fa3187962f5fdeee0c6226792904aaafb2cf585717a264fa4393a767bffb99fe",
+ "https://bcr.bazel.build/modules/aspect_rules_js/3.3.1/MODULE.bazel": "3e02b51b503ba8dda69b043290f6cc11add9aeb8db0bf1f6c861c396c7ddc5b2",
+ "https://bcr.bazel.build/modules/aspect_rules_js/3.3.1/source.json": "d5e0736539b00bdd33015bb336877ad5a4d16f1d1d4af13ffeade395106cabd7",
"https://bcr.bazel.build/modules/aspect_rules_ts/3.9.2/MODULE.bazel": "feeb6c45b69c995eca3e5ca5872658c80df658022e01044eca00cf472bb89142",
"https://bcr.bazel.build/modules/aspect_rules_ts/3.9.2/source.json": "cf3075502f798f71a9c5707a7684eaf0b86da11ed440fd90ea34385dc297676a",
"https://bcr.bazel.build/modules/aspect_tools_telemetry/0.2.8/MODULE.bazel": "aa975a83e72bcaac62ee61ab12b788ea324a1d05c4aab28aadb202f647881679",
@@ -68,8 +68,8 @@
"https://bcr.bazel.build/modules/bazel_skylib/1.8.0/MODULE.bazel": "2fb3fb53675f6adfc1ca5bfbd5cfb655ae350fba4706d924a8ec7e3ba945671c",
"https://bcr.bazel.build/modules/bazel_skylib/1.8.1/MODULE.bazel": "88ade7293becda963e0e3ea33e7d54d3425127e0a326e0d17da085a5f1f03ff6",
"https://bcr.bazel.build/modules/bazel_skylib/1.8.2/MODULE.bazel": "69ad6927098316848b34a9142bcc975e018ba27f08c4ff403f50c1b6e646ca67",
- "https://bcr.bazel.build/modules/bazel_skylib/1.9.0/MODULE.bazel": "72997b29dfd95c3fa0d0c48322d05590418edef451f8db8db5509c57875fb4b7",
- "https://bcr.bazel.build/modules/bazel_skylib/1.9.0/source.json": "7ad77c1e8c1b84222d9b3f3cae016a76639435744c19330b0b37c0a3c9da7dc0",
+ "https://bcr.bazel.build/modules/bazel_skylib/1.9.2/MODULE.bazel": "8c51259b0f4481475586dbfede7591e57b75702e637f840f6138eec80c34b270",
+ "https://bcr.bazel.build/modules/bazel_skylib/1.9.2/source.json": "41cbde7546542dee2f26e3f10bf1c4ac57909943194b7ac48cc5238a01893aa8",
"https://bcr.bazel.build/modules/buildozer/7.1.2/MODULE.bazel": "2e8dd40ede9c454042645fd8d8d0cd1527966aa5c919de86661e62953cd73d84",
"https://bcr.bazel.build/modules/buildozer/7.1.2/source.json": "c9028a501d2db85793a6996205c8de120944f50a0d570438fcae0457a5f9d1f8",
"https://bcr.bazel.build/modules/gawk/5.3.2.bcr.1/MODULE.bazel": "cdf8cbe5ee750db04b78878c9633cc76e80dcf4416cbe982ac3a9222f80713c8",
@@ -222,7 +222,7 @@
"moduleExtensions": {
"@@aspect_rules_esbuild+//esbuild:extensions.bzl%esbuild": {
"general": {
- "bzlTransitiveDigest": "DE8ssop85SA4kEHMbyc2ajgEW3TNsQFbT4L6IfuwTZo=",
+ "bzlTransitiveDigest": "Nhop9eqlQBcxge+uYzGmhiFAZmagl+D5CUXkaUpOBCc=",
"usagesDigest": "LSQ+zZp7JNgnBONTxxXnwGr4NTh2qtQYk7qwXXz5qWo=",
"recordedFileInputs": {},
"recordedDirentsInputs": {},
@@ -438,7 +438,7 @@
"@@aspect_tools_telemetry+//:extension.bzl%telemetry": {
"general": {
"bzlTransitiveDigest": "4w9RM0xjdKo1crk5zL20a/TuhqO0P1z1LsuXDneBXD4=",
- "usagesDigest": "hqK7Zzp+y5jlPhecF8Z77KSrR9zpTS+H88Epy3pRc/s=",
+ "usagesDigest": "q7mSkkDF8zaV9mtEPYuvConVymuL69UDTnd+J5Pgo0w=",
"recordedFileInputs": {},
"recordedDirentsInputs": {},
"envVariables": {
@@ -449,13 +449,13 @@
"repoRuleId": "@@aspect_tools_telemetry+//:extension.bzl%tel_repository",
"attributes": {
"deps": {
- "aspect_rules_js": "3.2.3",
+ "aspect_rules_js": "3.3.1",
"aspect_rules_ts": "3.9.2",
"aspect_rules_esbuild": "0.26.0",
"aspect_rules_jasmine": "2.0.4",
"aspect_tools_telemetry": "0.4.2"
},
- "last_notice": 0
+ "last_notice": 1
}
}
},
@@ -539,7 +539,7 @@
},
"@@rules_browsers+//browsers:extensions.bzl%browsers": {
"general": {
- "bzlTransitiveDigest": "3W9m9j39szqkOoSVVqamCaSwCCw7x5Wq1kcYTwYBNOc=",
+ "bzlTransitiveDigest": "WvB7GNrQ7jlXyl3ylGtiZfdi1oNh75x3hNfjjMcyCYM=",
"usagesDigest": "FmXYJVoVJlnfUU8x8gObSvu4qWcco/9Faw61aC/wBF0=",
"recordedFileInputs": {},
"recordedDirentsInputs": {},
@@ -548,9 +548,9 @@
"rules_browsers_chrome_linux": {
"repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo",
"attributes": {
- "sha256": "13d6638183ccab406ee16e28730826bd3ea57fe564a741bc935401221dfec64f",
+ "sha256": "6b76900c3a3d65f178afd23f168da6f6d8194152cec17153ac599e1bcbd3c6e2",
"urls": [
- "https://storage.googleapis.com/chrome-for-testing-public/152.0.7960.0/linux64/chrome-headless-shell-linux64.zip"
+ "https://storage.googleapis.com/chrome-for-testing-public/153.0.7979.0/linux64/chrome-headless-shell-linux64.zip"
],
"named_files": {
"CHROME-HEADLESS-SHELL": "chrome-headless-shell-linux64/chrome-headless-shell"
@@ -566,9 +566,9 @@
"rules_browsers_chrome_mac": {
"repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo",
"attributes": {
- "sha256": "b50ee6ddb3bf30c91f3094fa41cc8e8de60e317c63ef058db2375346cde78d98",
+ "sha256": "4cf740dc3e87bed680d1dfcb29d184866275cf7fdef2c49ad9371e02c6c5b858",
"urls": [
- "https://storage.googleapis.com/chrome-for-testing-public/152.0.7960.0/mac-x64/chrome-headless-shell-mac-x64.zip"
+ "https://storage.googleapis.com/chrome-for-testing-public/153.0.7979.0/mac-x64/chrome-headless-shell-mac-x64.zip"
],
"named_files": {
"CHROME-HEADLESS-SHELL": "chrome-headless-shell-mac-x64/chrome-headless-shell"
@@ -584,9 +584,9 @@
"rules_browsers_chrome_mac_arm": {
"repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo",
"attributes": {
- "sha256": "49859c1d3b0d29a82c58765e9e5fe21efa0bf7c03a86fc91eb5f3f94f34c45b6",
+ "sha256": "9f58dab0e03988de906ece512986bf7503086cb31ad2a6a85c22e42a1be74187",
"urls": [
- "https://storage.googleapis.com/chrome-for-testing-public/152.0.7960.0/mac-arm64/chrome-headless-shell-mac-arm64.zip"
+ "https://storage.googleapis.com/chrome-for-testing-public/153.0.7979.0/mac-arm64/chrome-headless-shell-mac-arm64.zip"
],
"named_files": {
"CHROME-HEADLESS-SHELL": "chrome-headless-shell-mac-arm64/chrome-headless-shell"
@@ -602,9 +602,9 @@
"rules_browsers_chrome_win64": {
"repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo",
"attributes": {
- "sha256": "d161d88a999effd212ce87df2ff710be1a25a495cc428d4c3029feccd02dafe9",
+ "sha256": "0baf0d0feacb5e683668a864467458a0a6f5e78cf7defa69c83d87fe94016874",
"urls": [
- "https://storage.googleapis.com/chrome-for-testing-public/152.0.7960.0/win64/chrome-headless-shell-win64.zip"
+ "https://storage.googleapis.com/chrome-for-testing-public/153.0.7979.0/win64/chrome-headless-shell-win64.zip"
],
"named_files": {
"CHROME-HEADLESS-SHELL": "chrome-headless-shell-win64/chrome-headless-shell.exe"
@@ -620,9 +620,9 @@
"rules_browsers_chromedriver_linux": {
"repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo",
"attributes": {
- "sha256": "7bb2eedf7030523ba617704bf6c3e472b5974d048d7fa6ac6a764904556c6f36",
+ "sha256": "7f2e21830d670ad1ca9e67fc296246296cab741254c0ce42abd2e1f4c6af12f2",
"urls": [
- "https://storage.googleapis.com/chrome-for-testing-public/152.0.7960.0/linux64/chromedriver-linux64.zip"
+ "https://storage.googleapis.com/chrome-for-testing-public/153.0.7979.0/linux64/chromedriver-linux64.zip"
],
"named_files": {
"CHROMEDRIVER": "chromedriver-linux64/chromedriver"
@@ -636,9 +636,9 @@
"rules_browsers_chromedriver_mac": {
"repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo",
"attributes": {
- "sha256": "5c1fffef90ecea2bb0c12c5a9c0549116fc7acda13cce15881da4aa8b74e6794",
+ "sha256": "49674ac7c9479c70bd02798fe68cb97805cc86d64edc379fb96d62340547b0ac",
"urls": [
- "https://storage.googleapis.com/chrome-for-testing-public/152.0.7960.0/mac-x64/chromedriver-mac-x64.zip"
+ "https://storage.googleapis.com/chrome-for-testing-public/153.0.7979.0/mac-x64/chromedriver-mac-x64.zip"
],
"named_files": {
"CHROMEDRIVER": "chromedriver-mac-x64/chromedriver"
@@ -652,9 +652,9 @@
"rules_browsers_chromedriver_mac_arm": {
"repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo",
"attributes": {
- "sha256": "a33d54c99a50fef25cbedb7c3d3cdd838dd784556138648bcc5da5814109a306",
+ "sha256": "df00e65e5890905835a15befb593efcbcb71575ae01c5c01fc7fac05e9a65a77",
"urls": [
- "https://storage.googleapis.com/chrome-for-testing-public/152.0.7960.0/mac-arm64/chromedriver-mac-arm64.zip"
+ "https://storage.googleapis.com/chrome-for-testing-public/153.0.7979.0/mac-arm64/chromedriver-mac-arm64.zip"
],
"named_files": {
"CHROMEDRIVER": "chromedriver-mac-arm64/chromedriver"
@@ -668,9 +668,9 @@
"rules_browsers_chromedriver_win64": {
"repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo",
"attributes": {
- "sha256": "2673d6a87dabd50c516d4d69b4daf742ff6169877c04bb226971503012262d8c",
+ "sha256": "caf7c63464f124a301f53bd3babd3f7553d8249886d3469687ab6d805622dac8",
"urls": [
- "https://storage.googleapis.com/chrome-for-testing-public/152.0.7960.0/win64/chromedriver-win64.zip"
+ "https://storage.googleapis.com/chrome-for-testing-public/153.0.7979.0/win64/chromedriver-win64.zip"
],
"named_files": {
"CHROMEDRIVER": "chromedriver-win64/chromedriver.exe"
@@ -684,9 +684,9 @@
"rules_browsers_firefox_linux": {
"repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo",
"attributes": {
- "sha256": "748704b06ffaabc8bd2b3351c93c244db4e29bfe21af6ecb4d6c124c7bd4a234",
+ "sha256": "bfc57e7b6b4e6204b11e7e03c4b93cff708e9fb37f6b9948be243455311d82ee",
"urls": [
- "https://archive.mozilla.org/pub/firefox/releases/152.0/linux-x86_64/en-US/firefox-152.0.tar.xz"
+ "https://archive.mozilla.org/pub/firefox/releases/153.0/linux-x86_64/en-US/firefox-153.0.tar.xz"
],
"named_files": {
"FIREFOX": "firefox/firefox"
@@ -700,9 +700,9 @@
"rules_browsers_firefox_mac": {
"repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo",
"attributes": {
- "sha256": "b8a46188850d2fb32f16ad3c0829b08cd689bc714b8ee18fd9b09bb60629004d",
+ "sha256": "2f9b5a20e546e7e79e4182f8fe10353a3e251635963ab3f6d399a3f290adeb96",
"urls": [
- "https://archive.mozilla.org/pub/firefox/releases/152.0/mac/en-US/Firefox%20152.0.dmg"
+ "https://archive.mozilla.org/pub/firefox/releases/153.0/mac/en-US/Firefox%20153.0.dmg"
],
"named_files": {
"FIREFOX": "Firefox.app/Contents/MacOS/firefox"
@@ -716,9 +716,9 @@
"rules_browsers_firefox_mac_arm": {
"repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo",
"attributes": {
- "sha256": "b8a46188850d2fb32f16ad3c0829b08cd689bc714b8ee18fd9b09bb60629004d",
+ "sha256": "2f9b5a20e546e7e79e4182f8fe10353a3e251635963ab3f6d399a3f290adeb96",
"urls": [
- "https://archive.mozilla.org/pub/firefox/releases/152.0/mac/en-US/Firefox%20152.0.dmg"
+ "https://archive.mozilla.org/pub/firefox/releases/153.0/mac/en-US/Firefox%20153.0.dmg"
],
"named_files": {
"FIREFOX": "Firefox.app/Contents/MacOS/firefox"
@@ -732,9 +732,9 @@
"rules_browsers_firefox_win64": {
"repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo",
"attributes": {
- "sha256": "3c426623ff83cb014402607c7ec99fea5b39eec2e44a07f639680c393ff9784e",
+ "sha256": "b409ff5af3419214f11f928e67b1f44c1ad0f8a46f7db7e697caedefa02a6d2a",
"urls": [
- "https://archive.mozilla.org/pub/firefox/releases/152.0/win64/en-US/Firefox%20Setup%20152.0.exe"
+ "https://archive.mozilla.org/pub/firefox/releases/153.0/win64/en-US/Firefox%20Setup%20153.0.exe"
],
"named_files": {
"FIREFOX": "core/firefox.exe"
@@ -1175,7 +1175,7 @@
"@@yq.bzl+//yq:extensions.bzl%yq": {
"general": {
"bzlTransitiveDigest": "UfFMy8CWK4/dVo/tfaSAIYUiDGNAPes5eRllx9O9Q9Q=",
- "usagesDigest": "Sllnnruao+9gE+ivwtmfqL78yZPGXm4HVMOBoVEIW0U=",
+ "usagesDigest": "hKjC8oZmSZDlZ1NsPZgCEomqFtqBXEQo88wUuHfg4F4=",
"recordedFileInputs": {},
"recordedDirentsInputs": {},
"envVariables": {},
diff --git a/constants.bzl b/constants.bzl
index 6987637a4442..88f85d3477b0 100644
--- a/constants.bzl
+++ b/constants.bzl
@@ -3,10 +3,10 @@ RELEASE_ENGINES_NODE = "^22.22.3 || ^24.15.0 || >=26.0.0"
RELEASE_ENGINES_NPM = "^6.11.0 || ^7.5.6 || >=8.0.0"
RELEASE_ENGINES_YARN = ">= 1.13.0"
-NG_PACKAGR_VERSION = "^22.1.0-next.0"
-ANGULAR_FW_VERSION = "^22.1.0-next.0"
-ANGULAR_FW_PEER_DEP = "^22.0.0 || ^22.1.0-next.0"
-NG_PACKAGR_PEER_DEP = "^22.0.0 || ^22.1.0-next.0"
+NG_PACKAGR_VERSION = "^22.1.0"
+ANGULAR_FW_VERSION = "^22.1.0"
+ANGULAR_FW_PEER_DEP = "^22.0.0"
+NG_PACKAGR_PEER_DEP = "^22.0.0"
# Baseline widely-available date in `YYYY-MM-DD` format which defines Angular's
# browser support. This date serves as the source of truth for the Angular CLI's
diff --git a/modules/testing/builder/package.json b/modules/testing/builder/package.json
index 9aede9dc7d10..09a8bd46fd3e 100644
--- a/modules/testing/builder/package.json
+++ b/modules/testing/builder/package.json
@@ -8,7 +8,7 @@
"browser-sync": "3.0.4",
"istanbul-lib-instrument": "6.0.3",
"jsdom": "29.1.1",
- "ng-packagr": "22.1.0-next.3",
+ "ng-packagr": "22.1.0",
"rxjs": "7.8.2",
"vitest": "4.1.10"
}
diff --git a/package.json b/package.json
index f67f33227c76..183f42f23263 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@angular/devkit-repo",
- "version": "22.1.0-next.4",
+ "version": "22.1.2",
"private": true,
"description": "Software Development Kit for Angular",
"keywords": [
@@ -28,12 +28,12 @@
"type": "git",
"url": "git+https://github.com/angular/angular-cli.git"
},
- "packageManager": "pnpm@11.15.1",
+ "packageManager": "pnpm@11.18.0",
"engines": {
"node": "^22.22.3 || ^24.15.0 || >=26.0.0",
"npm": "Please use pnpm instead of NPM to install dependencies",
"yarn": "Please use pnpm instead of Yarn to install dependencies",
- "pnpm": "11.15.1"
+ "pnpm": "11.18.0"
},
"author": "Angular Authors",
"license": "MIT",
@@ -42,23 +42,23 @@
},
"homepage": "https://github.com/angular/angular-cli",
"dependencies": {
- "@angular/compiler-cli": "22.1.0-rc.0",
+ "@angular/compiler-cli": "22.1.0",
"typescript": "6.0.3"
},
"devDependencies": {
- "@angular/animations": "22.1.0-rc.0",
- "@angular/cdk": "22.1.0-next.4",
- "@angular/common": "22.1.0-rc.0",
- "@angular/compiler": "22.1.0-rc.0",
- "@angular/core": "22.1.0-rc.0",
- "@angular/forms": "22.1.0-rc.0",
- "@angular/localize": "22.1.0-rc.0",
- "@angular/material": "22.1.0-next.4",
- "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#7a67d5221a9efec2b69b102759d04223a3fc8552",
- "@angular/platform-browser": "22.1.0-rc.0",
- "@angular/platform-server": "22.1.0-rc.0",
- "@angular/router": "22.1.0-rc.0",
- "@angular/service-worker": "22.1.0-rc.0",
+ "@angular/animations": "22.1.0",
+ "@angular/cdk": "22.1.0",
+ "@angular/common": "22.1.0",
+ "@angular/compiler": "22.1.0",
+ "@angular/core": "22.1.0",
+ "@angular/forms": "22.1.0",
+ "@angular/localize": "22.1.0",
+ "@angular/material": "22.1.0",
+ "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#2af985ddb942b5928dfb730a6b8efaccd1798846",
+ "@angular/platform-browser": "22.1.0",
+ "@angular/platform-server": "22.1.0",
+ "@angular/router": "22.1.0",
+ "@angular/service-worker": "22.1.0",
"@babel/core": "8.0.1",
"@bazel/bazelisk": "1.28.1",
"@bazel/buildifier": "8.2.1",
diff --git a/packages/angular/build/package.json b/packages/angular/build/package.json
index a049f92d4a73..275a24673376 100644
--- a/packages/angular/build/package.json
+++ b/packages/angular/build/package.json
@@ -33,7 +33,7 @@
"listr2": "10.2.2",
"magic-string": "1.0.0",
"mrmime": "2.0.1",
- "oxc-parser": "0.140.0",
+ "oxc-parser": "0.142.0",
"parse5-html-rewriting-stream": "8.0.1",
"picomatch": "4.0.5",
"piscina": "5.2.0",
@@ -55,8 +55,8 @@
"istanbul-lib-instrument": "6.0.3",
"jsdom": "29.1.1",
"less": "4.6.7",
- "ng-packagr": "22.1.0-next.3",
- "postcss": "8.5.19",
+ "ng-packagr": "22.1.0",
+ "postcss": "8.5.25",
"rollup": "4.62.2",
"rxjs": "7.8.2",
"vitest": "4.1.10"
diff --git a/packages/angular/build/src/builders/application/build-action.ts b/packages/angular/build/src/builders/application/build-action.ts
index d7dbdc8cfe21..dbec8d687b9f 100644
--- a/packages/angular/build/src/builders/application/build-action.ts
+++ b/packages/angular/build/src/builders/application/build-action.ts
@@ -81,7 +81,7 @@ export async function* runEsBuildBuildAction(
const withProgress: typeof withSpinner = progress ? withSpinner : withNoProgress;
// Initial build
- let result: ExecutionResult;
+ let result: ExecutionResult | undefined;
try {
// Perform the build action
result = await withProgress('Building...', () => action());
@@ -89,8 +89,8 @@ export async function* runEsBuildBuildAction(
// Log all diagnostic (error/warning/logs) messages
await logMessages(logger, result, colors, jsonLogs);
} finally {
- // Ensure Sass workers are shutdown if not watching
- if (!watch) {
+ // Ensure Sass workers are shutdown if not watching or if the initial build failed
+ if (!watch || !result) {
shutdownSassWorkerPool();
}
}
diff --git a/packages/angular/build/src/builders/application/execute-build.ts b/packages/angular/build/src/builders/application/execute-build.ts
index 21beb57bf478..faa61c6e523b 100644
--- a/packages/angular/build/src/builders/application/execute-build.ts
+++ b/packages/angular/build/src/builders/application/execute-build.ts
@@ -74,12 +74,19 @@ export async function executeBuild(
let bundlingResult: BundleContextResult;
let templateUpdates: Map | undefined;
let angularCompilationContext: AngularCompilationContext | undefined;
+ let executionResult: ExecutionResult | undefined;
try {
if (rebuildState) {
bundlerContexts = rebuildState.rebuildContexts;
componentStyleBundler = rebuildState.componentStyleBundler;
codeBundleCache = rebuildState.codeBundleCache;
templateUpdates = rebuildState.templateUpdates;
+ executionResult = new ExecutionResult(
+ bundlerContexts,
+ componentStyleBundler,
+ codeBundleCache,
+ templateUpdates,
+ );
// Reset template updates for new rebuild
templateUpdates?.clear();
@@ -122,6 +129,12 @@ export async function executeBuild(
angularCompilationContext,
templateUpdates,
);
+ executionResult = new ExecutionResult(
+ bundlerContexts,
+ componentStyleBundler,
+ codeBundleCache,
+ templateUpdates,
+ );
// Bundle everything on initial build
bundlingResult = await BundlerContext.bundleAll([
@@ -138,234 +151,241 @@ export async function executeBuild(
const componentResults = await componentStyleBundler.bundleAllFiles(true, true);
bundlingResult = BundlerContext.mergeResults([bundlingResult, ...componentResults]);
}
- } catch (error) {
- await angularCompilationContext?.dispose();
- throw error;
- }
- const executionResult = new ExecutionResult(
- bundlerContexts,
- componentStyleBundler,
- codeBundleCache,
- templateUpdates,
- );
- executionResult.addWarnings(bundlingResult.warnings);
-
- // Add used external component style referenced files to be watched
- if (options.externalRuntimeStyles) {
- executionResult.extraWatchFiles.push(...componentStyleBundler.collectReferencedFiles());
- }
-
- // Return if the bundling has errors
- if (bundlingResult.errors) {
- executionResult.addErrors(bundlingResult.errors);
-
- return executionResult;
- }
+ executionResult.addWarnings(bundlingResult.warnings);
- // Optimize chunks if enabled and threshold is met.
- // This pass uses Rollup/Rolldown to further optimize chunks generated by esbuild.
- if (options.optimizationOptions.scripts) {
- // Count lazy chunks (files not needed for initial load).
- // Advanced chunk optimization is most beneficial when there are multiple lazy chunks.
- const { metafile, initialFiles } = bundlingResult;
- const lazyChunksCount = Object.keys(metafile.outputs).filter(
- (path) => path.endsWith('.js') && !initialFiles.has(path),
- ).length;
-
- // Only run if the number of lazy chunks meets the configured threshold.
- // This avoids overhead for small projects with few chunks.
- if (lazyChunksCount >= optimizeChunksThreshold) {
- const { optimizeChunks } = await import('./chunk-optimizer');
- const optimizationResult = await profileAsync('OPTIMIZE_CHUNKS', () =>
- optimizeChunks(
- bundlingResult,
- options.sourcemapOptions.scripts ? !options.sourcemapOptions.hidden || 'hidden' : false,
- ),
- );
+ // Add used external component style referenced files to be watched
+ if (options.externalRuntimeStyles) {
+ executionResult.extraWatchFiles.push(...componentStyleBundler.collectReferencedFiles());
+ }
- if (optimizationResult.errors) {
- executionResult.addErrors(optimizationResult.errors);
+ // In non-watch mode, the bundler rebuild contexts and Angular compilation
+ // are no longer needed once bundling completes. Dispose them early to free
+ // worker processes, TypeScript ASTs, and caches before post-bundling steps
+ // execute or before returning bundling errors.
+ // This is fire-and-forget so worker teardown runs concurrently in the background
+ // without blocking the critical path of post-bundle optimization steps.
+ // Any in-flight disposal is awaited in the builder action's finally block.
+ if (!options.watch) {
+ void angularCompilationContext?.dispose();
+ void executionResult.dispose();
+ }
- return executionResult;
- }
+ // Return if the bundling has errors
+ if (bundlingResult.errors) {
+ executionResult.addErrors(bundlingResult.errors);
- bundlingResult = optimizationResult;
+ return executionResult;
}
- }
- // Analyze external imports if external options are enabled
- if (options.externalPackages || bundlingResult.externalConfiguration) {
- const {
- externalConfiguration = [],
- externalImports: { browser = [], server = [] },
- } = bundlingResult;
- // Similar to esbuild, --external:@foo/bar automatically implies --external:@foo/bar/*,
- // which matches import paths like @foo/bar/baz.
- // This means all paths within the @foo/bar package are also marked as external.
- const exclusionsPrefixes = externalConfiguration.map((exclusion) => exclusion + '/');
- const exclusions = new Set(externalConfiguration);
- const explicitExternal = new Set();
-
- const isExplicitExternal = (dep: string): boolean => {
- // Locale-data imports are injected by the builder itself (see i18n-locale-plugin) and must stay resolvable
- // even when the containing package is externalized by the user.
- if (dep.startsWith(`${LOCALE_DATA_BASE_MODULE}/`)) {
- return false;
- }
+ // Optimize chunks if enabled and threshold is met.
+ // This pass uses Rollup/Rolldown to further optimize chunks generated by esbuild.
+ if (options.optimizationOptions.scripts) {
+ // Count lazy chunks (files not needed for initial load).
+ // Advanced chunk optimization is most beneficial when there are multiple lazy chunks.
+ const { metafile, initialFiles } = bundlingResult;
+ const lazyChunksCount = Object.keys(metafile.outputs).filter(
+ (path) => path.endsWith('.js') && !initialFiles.has(path),
+ ).length;
+
+ // Only run if the number of lazy chunks meets the configured threshold.
+ // This avoids overhead for small projects with few chunks.
+ if (lazyChunksCount >= optimizeChunksThreshold) {
+ const { optimizeChunks } = await import('./chunk-optimizer');
+ const optimizationResult = await profileAsync('OPTIMIZE_CHUNKS', () =>
+ optimizeChunks(
+ bundlingResult,
+ options.sourcemapOptions.scripts ? !options.sourcemapOptions.hidden || 'hidden' : false,
+ ),
+ );
+
+ if (optimizationResult.errors) {
+ executionResult.addErrors(optimizationResult.errors);
+
+ return executionResult;
+ }
- if (exclusions.has(dep)) {
- return true;
+ bundlingResult = optimizationResult;
}
+ }
- for (const prefix of exclusionsPrefixes) {
- if (dep.startsWith(prefix)) {
+ // Analyze external imports if external options are enabled
+ if (options.externalPackages || bundlingResult.externalConfiguration) {
+ const {
+ externalConfiguration = [],
+ externalImports: { browser = [], server = [] },
+ } = bundlingResult;
+ // Similar to esbuild, --external:@foo/bar automatically implies --external:@foo/bar/*,
+ // which matches import paths like @foo/bar/baz.
+ // This means all paths within the @foo/bar package are also marked as external.
+ const exclusionsPrefixes = externalConfiguration.map((exclusion) => exclusion + '/');
+ const exclusions = new Set(externalConfiguration);
+ const explicitExternal = new Set();
+
+ const isExplicitExternal = (dep: string): boolean => {
+ // Locale-data imports are injected by the builder itself (see i18n-locale-plugin) and must stay resolvable
+ // even when the containing package is externalized by the user.
+ if (dep.startsWith(`${LOCALE_DATA_BASE_MODULE}/`)) {
+ return false;
+ }
+
+ if (exclusions.has(dep)) {
return true;
}
- }
- return false;
- };
+ for (const prefix of exclusionsPrefixes) {
+ if (dep.startsWith(prefix)) {
+ return true;
+ }
+ }
- const implicitBrowser: string[] = [];
- for (const dep of browser) {
- if (isExplicitExternal(dep)) {
- explicitExternal.add(dep);
- } else {
- implicitBrowser.push(dep);
+ return false;
+ };
+
+ const implicitBrowser: string[] = [];
+ for (const dep of browser) {
+ if (isExplicitExternal(dep)) {
+ explicitExternal.add(dep);
+ } else {
+ implicitBrowser.push(dep);
+ }
}
- }
- const implicitServer: string[] = [];
- for (const dep of server) {
- if (isExplicitExternal(dep)) {
- explicitExternal.add(dep);
- } else {
- implicitServer.push(dep);
+ const implicitServer: string[] = [];
+ for (const dep of server) {
+ if (isExplicitExternal(dep)) {
+ explicitExternal.add(dep);
+ } else {
+ implicitServer.push(dep);
+ }
}
- }
- executionResult.setExternalMetadata(implicitBrowser, implicitServer, [...explicitExternal]);
- }
+ executionResult.setExternalMetadata(implicitBrowser, implicitServer, [...explicitExternal]);
+ }
- const { metafile, initialFiles, outputFiles } = bundlingResult;
+ const { metafile, initialFiles, outputFiles } = bundlingResult;
- executionResult.outputFiles.push(...outputFiles);
+ executionResult.outputFiles.push(...outputFiles);
- // Analyze files for bundle budget failures if present
- let budgetFailures: BudgetCalculatorResult[] | undefined;
- if (options.budgets) {
- const compatStats = generateBudgetStats(metafile, outputFiles, initialFiles);
- budgetFailures = [...checkBudgets(options.budgets, compatStats, true)];
- for (const { message, severity } of budgetFailures) {
- if (severity === 'error') {
- executionResult.addError(message);
- } else {
- executionResult.addWarning(message);
+ // Analyze files for bundle budget failures if present
+ let budgetFailures: BudgetCalculatorResult[] | undefined;
+ if (options.budgets) {
+ const compatStats = generateBudgetStats(metafile, outputFiles, initialFiles);
+ budgetFailures = [...checkBudgets(options.budgets, compatStats, true)];
+ for (const { message, severity } of budgetFailures) {
+ if (severity === 'error') {
+ executionResult.addError(message);
+ } else {
+ executionResult.addWarning(message);
+ }
}
}
- }
- // Calculate estimated transfer size if scripts are optimized
- let estimatedTransferSizes;
- if (optimizationOptions.scripts || optimizationOptions.styles.minify) {
- estimatedTransferSizes = await calculateEstimatedTransferSizes(executionResult.outputFiles);
- }
-
- // Check metafile for CommonJS module usage if optimizing scripts
- if (optimizationOptions.scripts) {
- const messages = checkCommonJSModules(metafile, options.allowedCommonJsDependencies);
- executionResult.addWarnings(messages);
- }
+ // Calculate estimated transfer size if scripts are optimized
+ let estimatedTransferSizes;
+ if (optimizationOptions.scripts || optimizationOptions.styles.minify) {
+ estimatedTransferSizes = await calculateEstimatedTransferSizes(executionResult.outputFiles);
+ }
- // Copy assets
- if (assets) {
- executionResult.addAssets(await resolveAssets(assets, workspaceRoot));
- }
+ // Check metafile for CommonJS module usage if optimizing scripts
+ if (optimizationOptions.scripts) {
+ const messages = checkCommonJSModules(metafile, options.allowedCommonJsDependencies);
+ executionResult.addWarnings(messages);
+ }
- // Extract and write licenses for used packages
- if (options.extractLicenses) {
- executionResult.addOutputFile(
- '3rdpartylicenses.txt',
- await extractLicenses(metafile, workspaceRoot),
- BuildOutputFileType.Root,
- );
- }
+ // Copy assets
+ if (assets) {
+ executionResult.addAssets(await resolveAssets(assets, workspaceRoot));
+ }
- // Watch input index HTML file if configured
- if (options.indexHtmlOptions) {
- executionResult.extraWatchFiles.push(options.indexHtmlOptions.input);
- executionResult.htmlIndexPath = options.indexHtmlOptions.output;
- executionResult.htmlBaseHref = options.baseHref;
- }
+ // Extract and write licenses for used packages
+ if (options.extractLicenses) {
+ executionResult.addOutputFile(
+ '3rdpartylicenses.txt',
+ await extractLicenses(metafile, workspaceRoot),
+ BuildOutputFileType.Root,
+ );
+ }
- // Create server app engine manifest
- if (serverEntryPoint) {
- executionResult.addOutputFile(
- SERVER_APP_ENGINE_MANIFEST_FILENAME,
- generateAngularServerAppEngineManifest(i18nOptions, security.allowedHosts, baseHref),
- BuildOutputFileType.ServerRoot,
- );
- }
+ // Watch input index HTML file if configured
+ if (options.indexHtmlOptions) {
+ executionResult.extraWatchFiles.push(options.indexHtmlOptions.input);
+ executionResult.htmlIndexPath = options.indexHtmlOptions.output;
+ executionResult.htmlBaseHref = options.baseHref;
+ }
- // Perform i18n translation inlining if enabled
- if (i18nOptions.shouldInline) {
- const result = await inlineI18n(metafile, options, executionResult, initialFiles);
- executionResult.addErrors(result.errors);
- executionResult.addWarnings(result.warnings);
- executionResult.addPrerenderedRoutes(result.prerenderedRoutes);
- } else {
- const result = await executePostBundleSteps(
- metafile,
- options,
- executionResult.outputFiles,
- executionResult.assetFiles,
- initialFiles,
- // Set lang attribute to the defined source locale if present
- i18nOptions.hasDefinedSourceLocale ? i18nOptions.sourceLocale : undefined,
- );
+ // Create server app engine manifest
+ if (serverEntryPoint) {
+ executionResult.addOutputFile(
+ SERVER_APP_ENGINE_MANIFEST_FILENAME,
+ generateAngularServerAppEngineManifest(i18nOptions, security.allowedHosts, baseHref),
+ BuildOutputFileType.ServerRoot,
+ );
+ }
- // Deduplicate and add errors and warnings
- executionResult.addErrors([...new Set(result.errors)]);
- executionResult.addWarnings([...new Set(result.warnings)]);
+ // Perform i18n translation inlining if enabled
+ if (i18nOptions.shouldInline) {
+ const result = await inlineI18n(metafile, options, executionResult, initialFiles);
+ executionResult.addErrors(result.errors);
+ executionResult.addWarnings(result.warnings);
+ executionResult.addPrerenderedRoutes(result.prerenderedRoutes);
+ } else {
+ const result = await executePostBundleSteps(
+ metafile,
+ options,
+ executionResult.outputFiles,
+ executionResult.assetFiles,
+ initialFiles,
+ // Set lang attribute to the defined source locale if present
+ i18nOptions.hasDefinedSourceLocale ? i18nOptions.sourceLocale : undefined,
+ );
- executionResult.addPrerenderedRoutes(result.prerenderedRoutes);
- executionResult.outputFiles.push(...result.additionalOutputFiles);
- executionResult.assetFiles.push(...result.additionalAssets);
- }
+ // Deduplicate and add errors and warnings
+ executionResult.addErrors([...new Set(result.errors)]);
+ executionResult.addWarnings([...new Set(result.warnings)]);
- executionResult.addOutputFile(
- 'prerendered-routes.json',
- JSON.stringify({ routes: executionResult.prerenderedRoutes }, null, 2),
- BuildOutputFileType.Root,
- );
+ executionResult.addPrerenderedRoutes(result.prerenderedRoutes);
+ executionResult.outputFiles.push(...result.additionalOutputFiles);
+ executionResult.assetFiles.push(...result.additionalAssets);
+ }
- // Write metafile if stats option is enabled
- if (options.stats) {
executionResult.addOutputFile(
- 'stats.json',
- JSON.stringify(metafile, null, 2),
+ 'prerendered-routes.json',
+ JSON.stringify({ routes: executionResult.prerenderedRoutes }, null, 2),
BuildOutputFileType.Root,
);
- }
- if (!jsonLogs && !options.quiet) {
- const changedFiles =
- rebuildState && executionResult.findChangedFiles(rebuildState.previousOutputInfo);
- executionResult.addLog(
- logBuildStats(
- metafile,
- outputFiles,
- initialFiles,
- budgetFailures,
- colors,
- changedFiles,
- estimatedTransferSizes,
- !!ssrOptions,
- verbose,
- ),
- );
- }
+ // Write metafile if stats option is enabled
+ if (options.stats) {
+ executionResult.addOutputFile(
+ 'stats.json',
+ JSON.stringify(metafile, null, 2),
+ BuildOutputFileType.Root,
+ );
+ }
+
+ if (!jsonLogs && !options.quiet) {
+ const changedFiles =
+ rebuildState && executionResult.findChangedFiles(rebuildState.previousOutputInfo);
+ executionResult.addLog(
+ logBuildStats(
+ metafile,
+ outputFiles,
+ initialFiles,
+ budgetFailures,
+ colors,
+ changedFiles,
+ estimatedTransferSizes,
+ !!ssrOptions,
+ verbose,
+ ),
+ );
+ }
- return executionResult;
+ return executionResult;
+ } catch (error) {
+ await Promise.allSettled([angularCompilationContext?.dispose(), executionResult?.dispose()]);
+
+ throw error;
+ }
}
diff --git a/packages/angular/build/src/builders/application/options.ts b/packages/angular/build/src/builders/application/options.ts
index 4ec810ff3c07..b3c180843f70 100644
--- a/packages/angular/build/src/builders/application/options.ts
+++ b/packages/angular/build/src/builders/application/options.ts
@@ -160,7 +160,7 @@ export async function normalizeOptions(
options.preserveSymlinks ?? process.execArgv.includes('--preserve-symlinks');
// Setup base paths based on workspace root and project information
- const workspaceRoot = canonicalizePath(context.workspaceRoot, preserveSymlinks);
+ const workspaceRoot = canonicalizePath(context.workspaceRoot);
const projectMetadata = await context.getProjectMetadata(projectName);
const { projectRoot, projectSourceRoot } = getProjectRootPaths(workspaceRoot, projectMetadata);
diff --git a/packages/angular/build/src/builders/application/tests/options/index_spec.ts b/packages/angular/build/src/builders/application/tests/options/index_spec.ts
index 11228658bbce..b53467caaec6 100644
--- a/packages/angular/build/src/builders/application/tests/options/index_spec.ts
+++ b/packages/angular/build/src/builders/application/tests/options/index_spec.ts
@@ -79,16 +79,17 @@ describeBuilder(buildApplication, APPLICATION_BUILDER_INFO, (harness) => {
harness.expectFile('dist/browser/index.html').content.toContain('TEST_123');
});
- // TODO: Build needs to be fixed to not throw an unhandled exception for this case
- xit('should fail build when a string path to non-existent file', async () => {
+ it('should fail build and terminate cleanly when a string path to non-existent file is provided', async () => {
harness.useTarget('build', {
...BASE_OPTIONS,
index: 'src/not-here.html',
});
- const { result } = await harness.executeOnce({ outputLogsOnFailure: false });
+ const { result, error } = await harness.executeOnce({ outputLogsOnException: false });
- expect(result?.success).toBe(false);
+ expect(result).toBeUndefined();
+ expect(error).toEqual(jasmine.any(Error));
+ expect(error?.message).toMatch(/Failed to read index HTML file/i);
harness.expectFile('dist/browser/index.html').toNotExist();
});
diff --git a/packages/angular/build/src/builders/karma/application_builder.ts b/packages/angular/build/src/builders/karma/application_builder.ts
index b9a28e1bf0b0..d0adb6c3cf0e 100644
--- a/packages/angular/build/src/builders/karma/application_builder.ts
+++ b/packages/angular/build/src/builders/karma/application_builder.ts
@@ -11,7 +11,6 @@ import type { Config, ConfigOptions, FilePattern, InlinePluginDef, Server } from
import { randomUUID } from 'node:crypto';
import { rmSync } from 'node:fs';
import * as fs from 'node:fs/promises';
-import { createRequire } from 'node:module';
import path from 'node:path';
import { ReadableStream } from 'node:stream/web';
import { createVirtualModulePlugin } from '../../tools/esbuild/virtual-module-plugin';
@@ -66,8 +65,14 @@ export function execute(
init = await initializeApplication(normalizedOptions, context, karmaOptions, transforms);
} catch (err) {
if (err instanceof ApplicationBuildError) {
- controller.enqueue({ success: false, message: err.message });
- controller.close();
+ if (controller.desiredSize !== null) {
+ try {
+ controller.enqueue({ success: false, message: err.message });
+ controller.close();
+ } catch {
+ // Stream controller may already be closed or cancelled
+ }
+ }
return;
}
@@ -85,8 +90,14 @@ export function execute(
// Close the stream once the Karma server returns.
karmaServer = new karma.Server(karmaConfig as Config, (exitCode) => {
- controller.enqueue({ success: exitCode === 0 });
- controller.close();
+ if (controller.desiredSize !== null) {
+ try {
+ controller.enqueue({ success: exitCode === 0 });
+ controller.close();
+ } catch {
+ // Stream controller may already be closed or cancelled
+ }
+ }
});
await karmaServer.start();
diff --git a/packages/angular/build/src/builders/karma/progress-reporter.ts b/packages/angular/build/src/builders/karma/progress-reporter.ts
index 16824badd095..6fc92b6c74c8 100644
--- a/packages/angular/build/src/builders/karma/progress-reporter.ts
+++ b/packages/angular/build/src/builders/karma/progress-reporter.ts
@@ -59,8 +59,18 @@ export function injectKarmaReporter(
break;
}
+ if (controller.desiredSize === null) {
+ break;
+ }
+
if (buildOutput.kind === ResultKind.Failure) {
- controller.enqueue({ success: false, message: 'Build failed' });
+ if (controller.desiredSize !== null) {
+ try {
+ controller.enqueue({ success: false, message: 'Build failed' });
+ } catch {
+ // Stream controller may already be closed or cancelled
+ }
+ }
} else if (
buildOutput.kind === ResultKind.Incremental ||
buildOutput.kind === ResultKind.Full
@@ -81,10 +91,12 @@ export function injectKarmaReporter(
}
onRunComplete = function (_browsers: unknown, results: RunCompleteInfo): void {
- if (results.exitCode === 0) {
- controller.enqueue({ success: true });
- } else {
- controller.enqueue({ success: false });
+ if (controller.desiredSize !== null) {
+ try {
+ controller.enqueue({ success: results.exitCode === 0 });
+ } catch {
+ // Stream controller may already be closed or cancelled
+ }
}
};
}
diff --git a/packages/angular/build/src/builders/karma/tests/behavior/errors_spec.ts b/packages/angular/build/src/builders/karma/tests/behavior/errors_spec.ts
index 366cc2aa20a1..a69698b8d743 100644
--- a/packages/angular/build/src/builders/karma/tests/behavior/errors_spec.ts
+++ b/packages/angular/build/src/builders/karma/tests/behavior/errors_spec.ts
@@ -28,5 +28,18 @@ describeKarmaBuilder(execute, KARMA_BUILDER_INFO, (harness, setupTarget) => {
expect(result?.success).toBeFalse();
});
+
+ it('handles stream cancellation gracefully in watch mode', async () => {
+ harness.useTarget('test', {
+ ...BASE_OPTIONS,
+ watch: true,
+ });
+
+ const { result } = await harness.executeOnce({
+ outputLogsOnFailure: false,
+ });
+
+ expect(result?.success).toBeTrue();
+ });
});
});
diff --git a/packages/angular/build/src/builders/unit-test/options.ts b/packages/angular/build/src/builders/unit-test/options.ts
index d3402b090e0f..1206bb2c1f21 100644
--- a/packages/angular/build/src/builders/unit-test/options.ts
+++ b/packages/angular/build/src/builders/unit-test/options.ts
@@ -58,7 +58,7 @@ export async function normalizeOptions(
: process.execArgv.includes('--preserve-symlinks');
// Setup base paths based on workspace root and project information
- const workspaceRoot = canonicalizePath(context.workspaceRoot, preserveSymlinks);
+ const workspaceRoot = canonicalizePath(context.workspaceRoot);
const projectMetadata = await context.getProjectMetadata(projectName);
const { projectRoot, projectSourceRoot } = getProjectRootPaths(workspaceRoot, projectMetadata);
diff --git a/packages/angular/build/src/tools/babel/plugins/adjust-static-class-members_oxc_spec.ts b/packages/angular/build/src/tools/babel/plugins/adjust-static-class-members_oxc_spec.ts
index af28ab66b264..7fe8c68030fc 100644
--- a/packages/angular/build/src/tools/babel/plugins/adjust-static-class-members_oxc_spec.ts
+++ b/packages/angular/build/src/tools/babel/plugins/adjust-static-class-members_oxc_spec.ts
@@ -998,4 +998,106 @@ describe('adjust-static-class-members oxc-transform implementation', () => {
`,
}),
);
+
+ it(
+ 'wraps adjacent class declarations without interleaving',
+ testCase({
+ input: 'class A{static s=[1]}class B{static s=[2]}',
+ expected: `
+ let A = /*#__PURE__*/ (() => {
+ class A {
+ static s = [1]
+ }
+ return A;
+ })();
+ let B = /*#__PURE__*/ (() => {
+ class B {
+ static s = [2]
+ }
+ return B;
+ })();
+ `,
+ }),
+ );
+
+ it(
+ 'wraps adjacent exported class declarations without interleaving',
+ testCase({
+ input: 'export class A{static s=[1]}export class B{static s=[2]}',
+ expected: `
+ export let A = /*#__PURE__*/ (() => {
+ class A {
+ static s = [1]
+ }
+ return A;
+ })();
+ export let B = /*#__PURE__*/ (() => {
+ class B {
+ static s = [2]
+ }
+ return B;
+ })();
+ `,
+ }),
+ );
+
+ it(
+ 'wraps adjacent default export and class declarations without interleaving',
+ testCase({
+ input: 'export default class A{static s=[1]}class B{static s=[2]}',
+ expected: `
+ let A = /*#__PURE__*/ (() => {
+ class A {
+ static s = [1]
+ }
+ return A;
+ })();
+ export { A as default };
+ let B = /*#__PURE__*/ (() => {
+ class B {
+ static s = [2]
+ }
+ return B;
+ })();
+ `,
+ }),
+ );
+
+ it(
+ 'splits default export without interleaving with adjacent class declaration',
+ testCase({
+ input: 'export default class A{}class B{static s=[2]}',
+ expected: `
+ class A {}
+ export { A as default };
+ let B = /*#__PURE__*/ (() => {
+ class B {
+ static s = [2]
+ }
+ return B;
+ })();
+ `,
+ }),
+ );
+
+ it(
+ 'wraps adjacent variable class declarations without interleaving',
+ testCase({
+ input: 'let A=class A{static s=[1]};class B{static s=[2]}',
+ expected: `
+ let A = /*#__PURE__*/ (() => {
+ let A = class A {
+ static s = [1]
+ };
+ return A;
+ })();
+ let B = /*#__PURE__*/ (() => {
+ class B {
+ static s = [2]
+ }
+ return B;
+ })();
+ `,
+ }),
+ );
});
diff --git a/packages/angular/build/src/tools/babel/plugins/oxc-transform.ts b/packages/angular/build/src/tools/babel/plugins/oxc-transform.ts
index 2c69d98cdf1a..70989a8bc08d 100644
--- a/packages/angular/build/src/tools/babel/plugins/oxc-transform.ts
+++ b/packages/angular/build/src/tools/babel/plugins/oxc-transform.ts
@@ -584,25 +584,25 @@ export function transform(filename: string, code: string, options: OxcTransformO
// 1. Remove `export default `
s.overwrite(statement.start, classNode.start, '');
// 2. Wrap in IIFE
- s.appendLeft(classNode.start, `let ${classIdName} = /*#__PURE__*/ (() => {\n`);
- s.appendRight(
+ s.appendRight(classNode.start, `let ${classIdName} = /*#__PURE__*/ (() => {\n`);
+ s.appendLeft(
lastStatement.end,
`\nreturn ${classIdName};\n})();\nexport { ${classIdName} as default };`,
);
} else if (isExportNamed) {
// 1. Export is kept, turn `class` into `let ClassName = IIFE`
- s.appendLeft(classNode.start, `let ${classIdName} = /*#__PURE__*/ (() => {\n`);
- s.appendRight(lastStatement.end, `\nreturn ${classIdName};\n})();`);
+ s.appendRight(classNode.start, `let ${classIdName} = /*#__PURE__*/ (() => {\n`);
+ s.appendLeft(lastStatement.end, `\nreturn ${classIdName};\n})();`);
} else if (isVariableClass) {
// Wrap class inside init: `/*#__PURE__*/ (() => { let ClassName = class ClassName {}; return ClassName; })()`
- s.appendLeft(classNode.start, `/*#__PURE__*/ (() => {\nlet ${classIdName} = `);
+ s.appendRight(classNode.start, `/*#__PURE__*/ (() => {\nlet ${classIdName} = `);
const terminator = activeWrapPaths.length === 0 ? ';' : '';
const iifeClosing = activeWrapPaths.length === 0 ? '})()' : '})();';
- s.appendRight(lastStatement.end, `${terminator}\nreturn ${classIdName};\n${iifeClosing}`);
+ s.appendLeft(lastStatement.end, `${terminator}\nreturn ${classIdName};\n${iifeClosing}`);
} else {
// Standard ClassDeclaration
- s.appendLeft(classNode.start, `let ${classIdName} = /*#__PURE__*/ (() => {\n`);
- s.appendRight(lastStatement.end, `\nreturn ${classIdName};\n})();`);
+ s.appendRight(classNode.start, `let ${classIdName} = /*#__PURE__*/ (() => {\n`);
+ s.appendLeft(lastStatement.end, `\nreturn ${classIdName};\n})();`);
}
markEdited(statement.start, lastStatement.end);
@@ -612,7 +612,7 @@ export function transform(filename: string, code: string, options: OxcTransformO
} else if (isExportDefault && !hasPotentialSideEffects) {
// Splitting default export even when not wrapped
s.overwrite(statement.start, classNode.start, '');
- s.appendRight(classNode.end, `\nexport { ${classIdName} as default };`);
+ s.appendLeft(classNode.end, `\nexport { ${classIdName} as default };`);
markEdited(statement.start, classNode.end);
}
}
diff --git a/packages/angular/build/src/tools/esbuild/angular/compilation-state.ts b/packages/angular/build/src/tools/esbuild/angular/compilation-state.ts
index 79fb9715bdbd..286411a06057 100644
--- a/packages/angular/build/src/tools/esbuild/angular/compilation-state.ts
+++ b/packages/angular/build/src/tools/esbuild/angular/compilation-state.ts
@@ -46,13 +46,14 @@ export class AngularCompilationContext {
this.#pendingCompilation = true;
}
- #disposed = false;
+ #disposal: Promise | undefined;
- async dispose(): Promise {
- if (this.#disposed) {
- return;
- }
- this.#disposed = true;
+ dispose(): Promise {
+ // Reuse any in progress disposal to ensure all callers can await completion
+ return (this.#disposal ??= this.#close());
+ }
+
+ async #close(): Promise {
this.markAsReady(true);
try {
await this.#compilation.close?.();
diff --git a/packages/angular/build/src/tools/esbuild/angular/rewrite-bazel-paths.ts b/packages/angular/build/src/tools/esbuild/angular/rewrite-bazel-paths.ts
index 8a6fb6aa82a4..b7cd376d560e 100644
--- a/packages/angular/build/src/tools/esbuild/angular/rewrite-bazel-paths.ts
+++ b/packages/angular/build/src/tools/esbuild/angular/rewrite-bazel-paths.ts
@@ -6,25 +6,55 @@
* found in the LICENSE file at https://angular.dev/license
*/
-import { join, relative } from 'node:path';
+import { join, relative, sep } from 'node:path';
const bazelBinDirectory = process.env['BAZEL_BINDIR'];
const bazelExecRoot = process.env['JS_BINARY__EXECROOT'];
+const execRootMarker = `${sep}execroot${sep}`;
+
+/**
+ * Sandboxed actions run in a copy of the execroot whose absolute path differs from
+ * `JS_BINARY__EXECROOT`, so the effective execroot is derived from the working directory.
+ */
+function effectiveExecRoot(): string | undefined {
+ const cwd = process.cwd();
+ const markerIndex = cwd.indexOf(execRootMarker);
+ if (markerIndex === -1) {
+ return bazelExecRoot;
+ }
+
+ const workspaceEnd = cwd.indexOf(sep, markerIndex + execRootMarker.length);
+
+ return workspaceEnd === -1 ? cwd : cwd.slice(0, workspaceEnd);
+}
export function rewriteForBazel(path: string): string {
if (!bazelBinDirectory || !bazelExecRoot) {
return path;
}
- const fromExecRoot = relative(bazelExecRoot, path);
+ const execRoot = effectiveExecRoot() ?? bazelExecRoot;
+
+ const fromExecRoot = relative(execRoot, path);
if (!fromExecRoot.startsWith('..')) {
return path;
}
const fromBinDirectory = relative(bazelBinDirectory, path);
- if (fromBinDirectory.startsWith('..')) {
- return path;
+ if (!fromBinDirectory.startsWith('..')) {
+ return join(execRoot, fromBinDirectory);
+ }
+
+ // A path that realpath resolved out of a symlink-staged sandbox into the
+ // unsandboxed execroot: re-anchor its execroot-relative tail.
+ const markerIndex = path.indexOf(execRootMarker);
+ if (markerIndex !== -1) {
+ const tail = path.slice(markerIndex + execRootMarker.length);
+ const workspaceEnd = tail.indexOf(sep);
+ if (workspaceEnd !== -1) {
+ return join(execRoot, tail.slice(workspaceEnd + 1));
+ }
}
- return join(bazelExecRoot, fromBinDirectory);
+ return path;
}
diff --git a/packages/angular/build/src/tools/esbuild/angular/source-file-cache.ts b/packages/angular/build/src/tools/esbuild/angular/source-file-cache.ts
index 2bc38bd12a89..a408650a4f4f 100644
--- a/packages/angular/build/src/tools/esbuild/angular/source-file-cache.ts
+++ b/packages/angular/build/src/tools/esbuild/angular/source-file-cache.ts
@@ -25,6 +25,19 @@ export class SourceFileCache extends Map {
super();
}
+ /**
+ * Releases all cached content. The cached data is only needed for incremental
+ * rebuilds and can include the emitted contents of every TypeScript file in the
+ * program. The cache is repopulated if a build is performed after this is called.
+ */
+ override clear(): void {
+ super.clear();
+ this.modifiedFiles.clear();
+ this.typeScriptFileCache.clear();
+ this.loadResultCache.clear();
+ this.referencedFiles = undefined;
+ }
+
invalidate(files: Iterable): boolean {
if (files !== this.modifiedFiles) {
this.modifiedFiles.clear();
diff --git a/packages/angular/build/src/tools/esbuild/bundler-context.ts b/packages/angular/build/src/tools/esbuild/bundler-context.ts
index 58f2df2a05c8..d3f3ca567a0f 100644
--- a/packages/angular/build/src/tools/esbuild/bundler-context.ts
+++ b/packages/angular/build/src/tools/esbuild/bundler-context.ts
@@ -17,9 +17,7 @@ import {
context,
} from 'esbuild';
import assert from 'node:assert';
-import { realpathSync } from 'node:fs';
-import { basename, extname, join, relative, resolve } from 'node:path';
-import { toPosixPath } from '../../utils/path';
+import { basename, extname, join, relative } from 'node:path';
import { SERVER_GENERATED_EXTERNALS } from '../../utils/server-rendering/manifest';
import {
type BuildOutputFile,
@@ -66,7 +64,6 @@ export class BundlerContext {
#optionsFactory: BundlerOptionsFactory;
#shouldCacheResult: boolean;
#loadCache?: MemoryLoadResultCache;
- #realWorkspaceRoot?: string;
readonly watchFiles = new Set();
constructor(
@@ -264,17 +261,6 @@ export class BundlerContext {
}
}
- // esbuild always resolves its working directory through symbolic links (including
- // Windows directory junctions) and generates metafile paths relative to the resolved
- // path. When `preserveSymlinks` is enabled, the workspace root is intentionally not
- // resolved, and the metafile paths are then relative to a different base directory.
- // The paths are remapped so that all downstream consumers can rely on the documented
- // invariant that metafile paths are relative to the workspace root.
- this.#realWorkspaceRoot ??= realpathSync(this.workspaceRoot);
- if (this.#realWorkspaceRoot !== this.workspaceRoot) {
- remapMetafileBasePath(result.metafile, this.#realWorkspaceRoot, this.workspaceRoot);
- }
-
// Update files that should be watched.
// While this should technically not be linked to incremental mode, incremental is only
// currently enabled with watch mode where watch files are needed.
@@ -501,71 +487,6 @@ export class BundlerContext {
}
}
-/**
- * Remaps all relative paths within an esbuild metafile from one base directory to another.
- * Virtual files (e.g., `angular:` namespaced or bundler generated), external imports, and
- * non-relative paths are left unmodified.
- *
- * @param metafile The metafile to update in place.
- * @param fromBase The absolute base directory the metafile paths are currently relative to.
- * @param toBase The absolute base directory the metafile paths should be made relative to.
- */
-export function remapMetafileBasePath(metafile: Metafile, fromBase: string, toBase: string): void {
- const remapped = new Map();
- const remap = (value: string): string => {
- // Skip virtual files and paths with a scheme-like or namespace prefix (e.g., `angular:`)
- if (
- isInternalAngularFile(value) ||
- isInternalBundlerFile(value) ||
- /^[^\\/.]{2,}:/.test(value)
- ) {
- return value;
- }
-
- let result = remapped.get(value);
- if (result === undefined) {
- // esbuild metafile paths always use POSIX path separators
- result = toPosixPath(relative(toBase, resolve(fromBase, value)));
- remapped.set(value, result);
- }
-
- return result;
- };
-
- const inputs: Metafile['inputs'] = {};
- for (const [key, value] of Object.entries(metafile.inputs)) {
- for (const importRecord of value.imports) {
- if (!importRecord.external) {
- importRecord.path = remap(importRecord.path);
- }
- }
- inputs[remap(key)] = value;
- }
- metafile.inputs = inputs;
-
- const outputs: Metafile['outputs'] = {};
- for (const [key, value] of Object.entries(metafile.outputs)) {
- if (value.entryPoint !== undefined) {
- value.entryPoint = remap(value.entryPoint);
- }
- if (value.cssBundle !== undefined) {
- value.cssBundle = remap(value.cssBundle);
- }
- for (const importRecord of value.imports) {
- if (!importRecord.external) {
- importRecord.path = remap(importRecord.path);
- }
- }
- const outputInputs: (typeof value)['inputs'] = {};
- for (const [inputKey, inputValue] of Object.entries(value.inputs)) {
- outputInputs[remap(inputKey)] = inputValue;
- }
- value.inputs = outputInputs;
- outputs[remap(key)] = value;
- }
- metafile.outputs = outputs;
-}
-
function isInternalAngularFile(file: string) {
return file.startsWith('angular:');
}
diff --git a/packages/angular/build/src/tools/esbuild/bundler-context_spec.ts b/packages/angular/build/src/tools/esbuild/bundler-context_spec.ts
deleted file mode 100644
index 8806f1d90406..000000000000
--- a/packages/angular/build/src/tools/esbuild/bundler-context_spec.ts
+++ /dev/null
@@ -1,99 +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 type { Metafile } from 'esbuild';
-import { join, relative } from 'node:path';
-import { remapMetafileBasePath } from './bundler-context';
-
-describe('remapMetafileBasePath', () => {
- // Simulates a workspace root accessed through a symbolic link or Windows
- // directory junction (`toBase`) that resolves to a different real path
- // (`fromBase`), as esbuild resolves its working directory through links.
- const fromBase = join('/real', 'projects', 'demo');
- const toBase = join('/linked', 'demo');
-
- /** Creates a metafile path as esbuild would: relative to the resolved (real) base. */
- const fromBaseRelative = (filePath: string): string => relative(fromBase, join(toBase, filePath));
-
- it('remaps input and output paths onto the target base directory', () => {
- const metafile: Metafile = {
- inputs: {
- [fromBaseRelative('src/main.ts')]: { bytes: 10, imports: [] },
- },
- outputs: {
- [fromBaseRelative('main.js')]: {
- bytes: 100,
- inputs: { [fromBaseRelative('src/main.ts')]: { bytesInOutput: 10 } },
- imports: [{ path: fromBaseRelative('chunk-ABC.js'), kind: 'import-statement' }],
- exports: [],
- entryPoint: fromBaseRelative('src/main.ts'),
- cssBundle: fromBaseRelative('main.css'),
- },
- },
- };
-
- remapMetafileBasePath(metafile, fromBase, toBase);
-
- expect(Object.keys(metafile.inputs)).toEqual(['src/main.ts']);
- expect(Object.keys(metafile.outputs)).toEqual(['main.js']);
-
- const output = metafile.outputs['main.js'];
- expect(output.entryPoint).toBe('src/main.ts');
- expect(output.cssBundle).toBe('main.css');
- expect(Object.keys(output.inputs)).toEqual(['src/main.ts']);
- expect(output.imports[0].path).toBe('chunk-ABC.js');
- });
-
- it('does not modify virtual and namespaced files', () => {
- const metafile: Metafile = {
- inputs: {
- 'angular:polyfills': {
- bytes: 10,
- imports: [{ path: '', kind: 'import-statement' }],
- },
- },
- outputs: {
- [fromBaseRelative('polyfills.js')]: {
- bytes: 100,
- inputs: { 'angular:polyfills': { bytesInOutput: 10 } },
- imports: [],
- exports: [],
- entryPoint: 'angular:polyfills',
- },
- },
- };
-
- remapMetafileBasePath(metafile, fromBase, toBase);
-
- expect(Object.keys(metafile.inputs)).toEqual(['angular:polyfills']);
- expect(metafile.inputs['angular:polyfills'].imports[0].path).toBe('');
-
- const output = metafile.outputs['polyfills.js'];
- expect(output.entryPoint).toBe('angular:polyfills');
- expect(Object.keys(output.inputs)).toEqual(['angular:polyfills']);
- });
-
- it('does not modify external imports', () => {
- const externalPath = 'https://example.com/module.js';
- const metafile: Metafile = {
- inputs: {},
- outputs: {
- [fromBaseRelative('main.js')]: {
- bytes: 100,
- inputs: {},
- imports: [{ path: externalPath, kind: 'import-statement', external: true }],
- exports: [],
- },
- },
- };
-
- remapMetafileBasePath(metafile, fromBase, toBase);
-
- expect(metafile.outputs['main.js'].imports[0].path).toBe(externalPath);
- });
-});
diff --git a/packages/angular/build/src/tools/esbuild/bundler-execution-result.ts b/packages/angular/build/src/tools/esbuild/bundler-execution-result.ts
index bebfd6a3eedd..53e17e7e427c 100644
--- a/packages/angular/build/src/tools/esbuild/bundler-execution-result.ts
+++ b/packages/angular/build/src/tools/esbuild/bundler-execution-result.ts
@@ -194,11 +194,21 @@ export class ExecutionResult {
return changed;
}
- async dispose(): Promise {
- await Promise.allSettled([
- ...this.rebuildContexts.typescriptContexts.map((context) => context.dispose()),
- ...this.rebuildContexts.otherContexts.map((context) => context.dispose()),
- this.componentStyleBundler.dispose(),
- ]);
+ #disposal?: Promise;
+
+ dispose(): Promise {
+ return (this.#disposal ??= this.#dispose());
+ }
+
+ async #dispose(): Promise {
+ try {
+ await Promise.allSettled([
+ ...this.rebuildContexts.typescriptContexts.map((context) => context.dispose()),
+ ...this.rebuildContexts.otherContexts.map((context) => context.dispose()),
+ this.componentStyleBundler.dispose(),
+ ]);
+ } finally {
+ this.codeBundleCache?.clear();
+ }
}
}
diff --git a/packages/angular/build/src/tools/esbuild/i18n-inliner.ts b/packages/angular/build/src/tools/esbuild/i18n-inliner.ts
index af13226a68d4..a6d4b5aeccbb 100644
--- a/packages/angular/build/src/tools/esbuild/i18n-inliner.ts
+++ b/packages/angular/build/src/tools/esbuild/i18n-inliner.ts
@@ -252,8 +252,8 @@ export class I18nInliner {
* Stops all active transformation tasks and shuts down all workers.
* @returns A void promise that resolves when closing is complete.
*/
- close(): Promise {
- return this.#workerPool.destroy();
+ async close(): Promise {
+ await Promise.allSettled([this.#cache?.close(), this.#workerPool.destroy()]);
}
/**
diff --git a/packages/angular/build/src/tools/esbuild/load-result-cache.ts b/packages/angular/build/src/tools/esbuild/load-result-cache.ts
index 30067486a384..3abb7bc4c852 100644
--- a/packages/angular/build/src/tools/esbuild/load-result-cache.ts
+++ b/packages/angular/build/src/tools/esbuild/load-result-cache.ts
@@ -90,4 +90,9 @@ export class MemoryLoadResultCache implements LoadResultCache {
// are namespaced request paths and not disk-based file paths.
return [...this.#fileDependencies.keys()];
}
+
+ clear(): void {
+ this.#loadResults.clear();
+ this.#fileDependencies.clear();
+ }
}
diff --git a/packages/angular/build/src/utils/path.ts b/packages/angular/build/src/utils/path.ts
index 4056972f790c..a236878d134e 100644
--- a/packages/angular/build/src/utils/path.ts
+++ b/packages/angular/build/src/utils/path.ts
@@ -6,7 +6,6 @@
* found in the LICENSE file at https://angular.dev/license
*/
-import { realpathSync } from 'node:fs';
import { isAbsolute, posix, relative, resolve } from 'node:path';
import { platform } from 'node:process';
@@ -53,18 +52,15 @@ export function isSubDirectory(parent: string, child: string): boolean {
}
/**
- * Canonicalizes a file path by normalising Windows drive-letter casing to uppercase
- * and optionally resolving symbolic links.
+ * Canonicalizes a file path by normalising Windows drive-letter casing to uppercase.
*
* @param pathString - The file path to canonicalize.
- * @param preserveSymlinks - If true, symbolic links will not be resolved.
* @returns The canonicalized file path.
*/
-export function canonicalizePath(pathString: string, preserveSymlinks = false): string {
- const resolved = preserveSymlinks ? pathString : realpathSync(pathString);
- if (platform === 'win32' && /^[a-z]:/.test(resolved)) {
- return resolved[0].toUpperCase() + resolved.slice(1);
+export function canonicalizePath(pathString: string): string {
+ if (platform === 'win32' && /^[a-z]:/.test(pathString)) {
+ return pathString[0].toUpperCase() + pathString.slice(1);
}
- return resolved;
+ return pathString;
}
diff --git a/packages/angular/build/src/utils/path_spec.ts b/packages/angular/build/src/utils/path_spec.ts
index 84c7d8ac31c4..cd8ca3372433 100644
--- a/packages/angular/build/src/utils/path_spec.ts
+++ b/packages/angular/build/src/utils/path_spec.ts
@@ -6,7 +6,7 @@
* found in the LICENSE file at https://angular.dev/license
*/
-import { isSubDirectory } from './path';
+import { canonicalizePath, isSubDirectory } from './path';
describe('isSubDirectory', () => {
it('should return true for a direct child', () => {
@@ -39,3 +39,17 @@ describe('isSubDirectory', () => {
expect(isSubDirectory('/foo/bar', '/foo/bar/..baz/qux')).toBeTrue();
});
});
+
+describe('canonicalizePath', () => {
+ it('should return the path unmodified on POSIX systems', () => {
+ expect(canonicalizePath('/foo/bar/baz')).toBe('/foo/bar/baz');
+ });
+
+ if (process.platform === 'win32') {
+ it('should uppercase Windows drive-letter casing', () => {
+ expect(canonicalizePath('c:/foo/bar')).toBe('C:/foo/bar');
+ expect(canonicalizePath('d:\\foo\\bar')).toBe('D:\\foo\\bar');
+ expect(canonicalizePath('C:/foo/bar')).toBe('C:/foo/bar');
+ });
+ }
+});
diff --git a/packages/angular/cli/src/commands/add/cli.ts b/packages/angular/cli/src/commands/add/cli.ts
index a3a3d6f7ecd2..bc95f33ff8e7 100644
--- a/packages/angular/cli/src/commands/add/cli.ts
+++ b/packages/angular/cli/src/commands/add/cli.ts
@@ -243,9 +243,7 @@ export default class AddCommandModule
},
// TODO: Rework schematic execution as a task and insert here
],
- {
- /* options */
- },
+ {/* options */},
);
try {
@@ -263,6 +261,9 @@ export default class AddCommandModule
if (localManifest['ng-add']?.save === false) {
shouldCleanUp = true;
}
+ } else {
+ await this.cleanUpTemporaryDependency(result.collectionName);
+ shouldCleanUp = false;
}
} catch {}
}
diff --git a/packages/angular/cli/src/commands/mcp/tools/devserver/devserver-start.ts b/packages/angular/cli/src/commands/mcp/tools/devserver/devserver-start.ts
index 4e2155f500b7..72bf5440adcb 100644
--- a/packages/angular/cli/src/commands/mcp/tools/devserver/devserver-start.ts
+++ b/packages/angular/cli/src/commands/mcp/tools/devserver/devserver-start.ts
@@ -119,7 +119,7 @@ the first build completes.
* **Consistent Ports**: If making multiple calls, it is recommended to reuse the port you got from the first call for subsequent ones.
`,
- isReadOnly: true,
+ isReadOnly: false,
isLocalOnly: true,
inputSchema: devserverStartToolInputSchema.shape,
outputSchema: devserverStartToolOutputSchema.shape,
diff --git a/packages/angular/cli/src/commands/mcp/tools/devserver/devserver-stop.ts b/packages/angular/cli/src/commands/mcp/tools/devserver/devserver-stop.ts
index 669160695194..32b7d90269d2 100644
--- a/packages/angular/cli/src/commands/mcp/tools/devserver/devserver-stop.ts
+++ b/packages/angular/cli/src/commands/mcp/tools/devserver/devserver-stop.ts
@@ -69,7 +69,7 @@ Stops a running Angular development server ("ng serve") that was started with th
time after this is called. However note that this is not a blocker for starting a new devserver.
`,
- isReadOnly: true,
+ isReadOnly: false,
isLocalOnly: true,
inputSchema: devserverStopToolInputSchema.shape,
outputSchema: devserverStopToolOutputSchema.shape,
diff --git a/packages/angular/cli/src/commands/update/cli.ts b/packages/angular/cli/src/commands/update/cli.ts
index b886c287f2ec..005df998b501 100644
--- a/packages/angular/cli/src/commands/update/cli.ts
+++ b/packages/angular/cli/src/commands/update/cli.ts
@@ -634,7 +634,7 @@ export default class UpdateCommandModule extends CommandModule/package.json` after installation,
+ * we ensure that any migration collections defined by the package are discovered and queued.
+ */
+export async function resolveFallbackMigrations(
+ workspaceRoot: string,
+ plan: UpdatePlan,
+): Promise<{ package: string; collection: string; from: string; to: string }[]> {
+ const migrations = [...plan.migrationsToRun];
+ const existingMigrationPackages = new Set(migrations.map((m) => m.package));
+
+ for (const [packageName, targetVersion] of plan.packagesToUpdate) {
+ if (existingMigrationPackages.has(packageName)) {
+ continue;
+ }
+
+ const packageJsonPath = findPackageJson(workspaceRoot, packageName);
+ if (packageJsonPath) {
+ try {
+ const packageJson = JSON.parse(await fs.readFile(packageJsonPath, 'utf8'));
+ const ngUpdate = packageJson?.['ng-update'];
+ if (ngUpdate && typeof ngUpdate === 'object' && typeof ngUpdate.migrations === 'string') {
+ const installedVersion = plan.packageInfoMap.get(packageName)?.installed.version;
+ if (installedVersion) {
+ migrations.push({
+ package: packageName,
+ collection: ngUpdate.migrations,
+ from: installedVersion,
+ to: targetVersion,
+ });
+ }
+ }
+ } catch {
+ // Ignore read/parse errors for optional fallback
+ }
+ }
+ }
+
+ return migrations;
+}
diff --git a/packages/angular/cli/src/commands/update/cli_spec.ts b/packages/angular/cli/src/commands/update/cli_spec.ts
new file mode 100644
index 000000000000..bae00d3dba24
--- /dev/null
+++ b/packages/angular/cli/src/commands/update/cli_spec.ts
@@ -0,0 +1,133 @@
+/**
+ * @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 assert from 'node:assert';
+import { mkdir, mkdtemp, rm, writeFile } from 'node:fs/promises';
+import path from 'path';
+import { resolveFallbackMigrations } from './cli';
+import type { PackageVersionInfo, UpdatePlan } from './update-resolver';
+
+describe('resolveFallbackMigrations', () => {
+ let tempRoot: string;
+ let pkgDir: string;
+ beforeEach(async () => {
+ const baseTmpDir = process.env['TEST_TMPDIR'];
+ assert(baseTmpDir, 'TEST_TMPDIR is not set');
+ tempRoot = await mkdtemp(path.join(baseTmpDir, 'angular-cli-update-cli-test-'));
+ pkgDir = path.join(tempRoot, 'node_modules/@company/library-name');
+ await mkdir(pkgDir, { recursive: true });
+ });
+
+ afterEach(async () => {
+ await rm(tempRoot, { recursive: true, force: true });
+ });
+
+ it('discovers migrations from installed package.json when omitted from plan.migrationsToRun', async () => {
+ await writeFile(
+ path.join(pkgDir, 'package.json'),
+ JSON.stringify({
+ name: '@company/library-name',
+ version: '21.2.0-next.1',
+ 'ng-update': {
+ migrations: './schematics/migration.json',
+ },
+ }),
+ 'utf8',
+ );
+
+ const plan: UpdatePlan = {
+ packagesToUpdate: new Map([['@company/library-name', '21.2.0-next.1']]),
+ migrationsToRun: [],
+ packageInfoMap: new Map([
+ [
+ '@company/library-name',
+ {
+ name: '@company/library-name',
+ npmPackageJson: {
+ name: '@company/library-name',
+ versions: ['21.1.0', '21.2.0-next.1'],
+ 'dist-tags': {},
+ },
+ installed: {
+ version: '21.1.0' as unknown as PackageVersionInfo['version'],
+ packageJson: { name: '@company/library-name', version: '21.1.0' },
+ updateMetadata: { packageGroup: {}, requirements: {} },
+ },
+ packageJsonRange: '^21.1.0',
+ },
+ ],
+ ]),
+ registryClient: undefined as unknown as UpdatePlan['registryClient'],
+ };
+
+ const migrations = await resolveFallbackMigrations(tempRoot, plan);
+
+ expect(migrations).toEqual([
+ {
+ package: '@company/library-name',
+ collection: './schematics/migration.json',
+ from: '21.1.0',
+ to: '21.2.0-next.1',
+ },
+ ]);
+ });
+
+ it('does not duplicate migration if package is already in plan.migrationsToRun', async () => {
+ await writeFile(
+ path.join(pkgDir, 'package.json'),
+ JSON.stringify({
+ name: '@company/library-name',
+ version: '21.2.0-next.1',
+ 'ng-update': {
+ migrations: './schematics/migration.json',
+ },
+ }),
+ 'utf8',
+ );
+
+ const plan: UpdatePlan = {
+ packagesToUpdate: new Map([['@company/library-name', '21.2.0-next.1']]),
+ migrationsToRun: [
+ {
+ package: '@company/library-name',
+ collection: './schematics/migration.json',
+ from: '21.1.0',
+ to: '21.2.0-next.1',
+ },
+ ],
+ packageInfoMap: new Map(),
+ registryClient: undefined as unknown as UpdatePlan['registryClient'],
+ };
+
+ const migrations = await resolveFallbackMigrations(tempRoot, plan);
+
+ expect(migrations).toHaveSize(1);
+ });
+
+ it('returns unchanged migrations when package has no ng-update field on disk', async () => {
+ await writeFile(
+ path.join(pkgDir, 'package.json'),
+ JSON.stringify({
+ name: '@company/library-name',
+ version: '21.2.0-next.1',
+ }),
+ 'utf8',
+ );
+
+ const plan: UpdatePlan = {
+ packagesToUpdate: new Map([['@company/library-name', '21.2.0-next.1']]),
+ migrationsToRun: [],
+ packageInfoMap: new Map(),
+ registryClient: undefined as unknown as UpdatePlan['registryClient'],
+ };
+
+ const migrations = await resolveFallbackMigrations(tempRoot, plan);
+
+ expect(migrations).toHaveSize(0);
+ });
+});
diff --git a/packages/angular/cli/src/commands/update/update-resolver.ts b/packages/angular/cli/src/commands/update/update-resolver.ts
index 7b75ab7a9e20..995762d92bc9 100644
--- a/packages/angular/cli/src/commands/update/update-resolver.ts
+++ b/packages/angular/cli/src/commands/update/update-resolver.ts
@@ -942,11 +942,7 @@ export async function resolveUserUpdatePlan(
};
if (packages.size === 0) {
- await Promise.all(
- Array.from(npmDeps.keys()).map(async (depName) => {
- await getOrFetchPackageMetadata(depName);
- }),
- );
+ await Promise.all(Array.from(npmDeps.keys(), (depName) => getOrFetchPackageMetadata(depName)));
} else {
let lastPackagesSize;
do {
@@ -999,12 +995,13 @@ export async function resolveUserUpdatePlan(
} while (packages.size > lastPackagesSize);
}
+ const isListingUpdates = packages.size === 0;
const packageInfoEntries = await Promise.all(
Array.from(npmDeps.keys(), async (depName) => {
const isUpdating = packages.has(depName);
const localPkgJson = getInstalledPackageJson(depName, workspaceRoot);
- if (isUpdating || !localPkgJson) {
+ if (isListingUpdates || isUpdating || !localPkgJson) {
const metadata = await getOrFetchPackageMetadata(depName);
if (metadata) {
const info = await _buildPackageInfo(
diff --git a/packages/angular/cli/src/commands/update/update-resolver_spec.ts b/packages/angular/cli/src/commands/update/update-resolver_spec.ts
index e18cba641016..9ced5829587e 100644
--- a/packages/angular/cli/src/commands/update/update-resolver_spec.ts
+++ b/packages/angular/cli/src/commands/update/update-resolver_spec.ts
@@ -289,6 +289,29 @@ describe('UpdateResolver', () => {
expect(plan.packagesToUpdate.size).toBe(0);
});
+ it('includes registry metadata when listing updates with locked dependency versions in package.json', async () => {
+ createMockWorkspace(
+ {
+ name: 'blah',
+ dependencies: {
+ '@angular-devkit-tests/update-base': '1.0.0',
+ },
+ },
+ {
+ '@angular-devkit-tests/update-base': { version: '1.0.0' },
+ },
+ );
+
+ const plan = await resolvePlan({
+ packages: [],
+ workspaceRoot: tempRoot,
+ });
+
+ const info = plan.packageInfoMap.get('@angular-devkit-tests/update-base');
+ expect(info?.npmPackageJson['dist-tags']?.['latest']).toBe('1.1.0');
+ expect(info?.npmPackageJson.versions).toContain('1.1.0');
+ });
+
it('should not error with yarn 2.0 protocols', async () => {
createMockWorkspace(
{
diff --git a/packages/angular/cli/src/package-managers/parsers.ts b/packages/angular/cli/src/package-managers/parsers.ts
index 03774a0f2478..9fa915ed9ee9 100644
--- a/packages/angular/cli/src/package-managers/parsers.ts
+++ b/packages/angular/cli/src/package-managers/parsers.ts
@@ -262,13 +262,26 @@ function isValidManifest(obj: unknown): obj is PackageManifest {
return false;
}
- const record = obj as Record;
- const name = record.name;
- const version = record.version;
+ const { name, version } = obj as Record;
return typeof name === 'string' && typeof version === 'string' && valid(version) !== null;
}
+function isValidMetadata(obj: unknown): obj is PackageMetadata {
+ if (typeof obj !== 'object' || obj === null) {
+ return false;
+ }
+
+ const { name, versions, 'dist-tags': distTags } = obj as Record;
+
+ return (
+ typeof name === 'string' &&
+ Array.isArray(versions) &&
+ typeof distTags === 'object' &&
+ distTags !== null
+ );
+}
+
/**
* Parses the output of `npm view` or a compatible command to get a package manifest.
* @param stdout The standard output of the command.
@@ -340,7 +353,28 @@ export function parseNpmLikeMetadata(stdout: string, logger?: Logger): PackageMe
return null;
}
- return JSON.parse(stdout);
+ const result = JSON.parse(stdout);
+
+ // npm 12+ `npm view --json` always returns an array of objects.
+ if (Array.isArray(result)) {
+ for (const item of result) {
+ if (isValidMetadata(item)) {
+ return item;
+ }
+ }
+
+ logger?.debug(' No valid metadata found in the array.');
+
+ return null;
+ }
+
+ if (!isValidMetadata(result)) {
+ logger?.debug(' Parsed JSON is not valid metadata (missing name, versions, or dist-tags).');
+
+ return null;
+ }
+
+ return result;
}
/**
@@ -479,9 +513,16 @@ export function parseNpmLikeError(output: string, logger?: Logger): ErrorInfo |
return null;
}
- // Attempt to parse as JSON first (common for pnpm, modern yarn, bun)
+ // Attempt to parse as JSON first (common for pnpm, modern yarn, bun, npm 12)
try {
- const jsonError = JSON.parse(output);
+ let jsonError = JSON.parse(output);
+ if (Array.isArray(jsonError)) {
+ jsonError = jsonError[0];
+ }
+ if (jsonError && typeof jsonError === 'object' && 'error' in jsonError) {
+ jsonError = jsonError.error;
+ }
+
if (
jsonError &&
typeof jsonError.code === 'string' &&
diff --git a/packages/angular/cli/src/package-managers/parsers_spec.ts b/packages/angular/cli/src/package-managers/parsers_spec.ts
index dff0adfc2726..049aeaec9129 100644
--- a/packages/angular/cli/src/package-managers/parsers_spec.ts
+++ b/packages/angular/cli/src/package-managers/parsers_spec.ts
@@ -12,6 +12,7 @@ import {
parseNpmLikeDependencies,
parseNpmLikeError,
parseNpmLikeManifest,
+ parseNpmLikeMetadata,
parsePnpmReleaseAge,
parseYarnClassicDependencies,
parseYarnClassicError,
@@ -231,6 +232,56 @@ describe('parsers', () => {
const error = parseNpmLikeError('An unexpected error occurred.');
expect(error).toBeNull();
});
+
+ it('should parse a structured JSON error wrapped in an error property (npm 12+ format)', () => {
+ const stdout = JSON.stringify({
+ error: {
+ code: 'E404',
+ summary: 'Not Found',
+ detail: 'Package not found.',
+ },
+ });
+ const error = parseNpmLikeError(stdout);
+ expect(error).toEqual({
+ code: 'E404',
+ summary: 'Not Found',
+ detail: 'Package not found.',
+ });
+ });
+
+ it('should parse a structured JSON error wrapped in an array', () => {
+ const stdout = JSON.stringify([
+ {
+ code: 'E404',
+ summary: 'Not Found',
+ detail: 'Package not found.',
+ },
+ ]);
+ const error = parseNpmLikeError(stdout);
+ expect(error).toEqual({
+ code: 'E404',
+ summary: 'Not Found',
+ detail: 'Package not found.',
+ });
+ });
+
+ it('should parse a structured JSON error wrapped in both an array and an error property', () => {
+ const stdout = JSON.stringify([
+ {
+ error: {
+ code: 'E404',
+ summary: 'Not Found',
+ detail: 'Package not found.',
+ },
+ },
+ ]);
+ const error = parseNpmLikeError(stdout);
+ expect(error).toEqual({
+ code: 'E404',
+ summary: 'Not Found',
+ detail: 'Package not found.',
+ });
+ });
});
describe('parseNpmLikeManifest', () => {
@@ -295,6 +346,66 @@ describe('parsers', () => {
});
});
+ describe('parseNpmLikeMetadata', () => {
+ it('should parse a single metadata object', () => {
+ const stdout = JSON.stringify({
+ name: 'foo',
+ 'dist-tags': { latest: '1.0.0' },
+ versions: ['1.0.0'],
+ });
+ expect(parseNpmLikeMetadata(stdout)).toEqual({
+ name: 'foo',
+ 'dist-tags': { latest: '1.0.0' },
+ versions: ['1.0.0'],
+ });
+ });
+
+ it('should parse metadata from an array (npm 12+ format)', () => {
+ const stdout = JSON.stringify([
+ {
+ name: 'foo',
+ 'dist-tags': { latest: '1.0.0' },
+ versions: ['1.0.0'],
+ },
+ ]);
+ expect(parseNpmLikeMetadata(stdout)).toEqual({
+ name: 'foo',
+ 'dist-tags': { latest: '1.0.0' },
+ versions: ['1.0.0'],
+ });
+ });
+
+ it('should return the first valid metadata from an array', () => {
+ const stdout = JSON.stringify([
+ { name: 'foo' }, // Invalid (missing versions and dist-tags)
+ {
+ name: 'foo',
+ 'dist-tags': { latest: '1.0.0' },
+ versions: ['1.0.0'],
+ },
+ ]);
+ expect(parseNpmLikeMetadata(stdout)).toEqual({
+ name: 'foo',
+ 'dist-tags': { latest: '1.0.0' },
+ versions: ['1.0.0'],
+ });
+ });
+
+ it('should return null if no valid metadata is found in an array', () => {
+ const stdout = JSON.stringify([{ name: 'foo' }, { versions: ['1.0.0'] }]);
+ expect(parseNpmLikeMetadata(stdout)).toBeNull();
+ });
+
+ it('should return null for invalid single object', () => {
+ const stdout = JSON.stringify({ name: 'foo' }); // Missing versions and dist-tags
+ expect(parseNpmLikeMetadata(stdout)).toBeNull();
+ });
+
+ it('should return null for empty stdout', () => {
+ expect(parseNpmLikeMetadata('')).toBeNull();
+ });
+ });
+
describe('parseYarnClassicManifest', () => {
it('should parse a valid manifest', () => {
const stdout = JSON.stringify({
diff --git a/packages/angular/ssr/node/src/response.ts b/packages/angular/ssr/node/src/response.ts
index 56f091deed5f..90ed5bb31a67 100644
--- a/packages/angular/ssr/node/src/response.ts
+++ b/packages/angular/ssr/node/src/response.ts
@@ -9,6 +9,24 @@
import type { ServerResponse } from 'node:http';
import type { Http2ServerResponse } from 'node:http2';
+/**
+ * Checks whether a Node.js `ServerResponse` or `Http2ServerResponse` is destroyed, closed, or ended.
+ *
+ * @param destination - The HTTP/1.1 or HTTP/2 server response to check.
+ * @returns `true` if the response or its underlying stream is destroyed, closed, or ended; otherwise `false`.
+ */
+function isResponseDestroyedOrClosed(destination: ServerResponse | Http2ServerResponse): boolean {
+ return (
+ Boolean(destination.destroyed) ||
+ Boolean(destination.closed) ||
+ Boolean(destination.writableEnded) ||
+ ('stream' in destination &&
+ (!destination.stream ||
+ Boolean(destination.stream.destroyed) ||
+ Boolean(destination.stream.closed)))
+ );
+}
+
/**
* Streams a web-standard `Response` into a Node.js `ServerResponse`
* or `Http2ServerResponse`.
@@ -24,6 +42,10 @@ export async function writeResponseToNodeResponse(
source: Response,
destination: ServerResponse | Http2ServerResponse,
): Promise {
+ if (isResponseDestroyedOrClosed(destination)) {
+ return;
+ }
+
const { status, headers, body } = source;
destination.statusCode = status;
@@ -48,27 +70,52 @@ export async function writeResponseToNodeResponse(
}
if (!body) {
- destination.end();
+ if (!isResponseDestroyedOrClosed(destination)) {
+ destination.end();
+ }
return;
}
- try {
- const reader = body.getReader();
-
- destination.on('close', () => {
- reader.cancel().catch((error) => {
- // eslint-disable-next-line no-console
- console.error(
- `An error occurred while writing the response body for: ${destination.req.url}.`,
- error,
- );
- });
+ let isClosed = isResponseDestroyedOrClosed(destination);
+ const isDestroyedOrClosed = () => isClosed || isResponseDestroyedOrClosed(destination);
+
+ let readerCancelled = false;
+ const reader = body.getReader();
+ const cancelReader = (error?: unknown) => {
+ if (readerCancelled) {
+ return;
+ }
+ readerCancelled = true;
+ isClosed = true;
+ destination.off('close', cancelReader);
+ destination.off('error', cancelReader);
+ reader.cancel(error).catch((err) => {
+ // eslint-disable-next-line no-console
+ console.error(
+ `An error occurred while writing the response body for: ${destination.req.url}.`,
+ err,
+ );
});
+ };
+
+ destination.once('close', cancelReader);
+ destination.once('error', cancelReader);
+ try {
// eslint-disable-next-line no-constant-condition
while (true) {
+ if (isDestroyedOrClosed()) {
+ cancelReader();
+ break;
+ }
+
const { done, value } = await reader.read();
+ if (isDestroyedOrClosed()) {
+ cancelReader();
+ break;
+ }
+
if (done) {
destination.end();
break;
@@ -78,10 +125,39 @@ export async function writeResponseToNodeResponse(
if (canContinue === false) {
// Explicitly check for `false`, as AWS may return `undefined` even though this is not valid.
// See: https://github.com/CodeGenieApp/serverless-express/issues/683
- await new Promise((resolve) => destination.once('drain', resolve));
+ await new Promise((resolve) => {
+ if (isDestroyedOrClosed()) {
+ resolve();
+
+ return;
+ }
+
+ const onDrain = () => {
+ destination.off('close', onClose);
+ destination.off('error', onClose);
+ resolve();
+ };
+
+ const onClose = () => {
+ destination.off('drain', onDrain);
+ destination.off('close', onClose);
+ destination.off('error', onClose);
+ cancelReader();
+ resolve();
+ };
+
+ destination.once('drain', onDrain);
+ destination.once('close', onClose);
+ destination.once('error', onClose);
+ });
}
}
} catch {
- destination.end('Internal server error.');
+ if (!isDestroyedOrClosed()) {
+ destination.end('Internal server error.');
+ }
+ } finally {
+ destination.off('close', cancelReader);
+ destination.off('error', cancelReader);
}
}
diff --git a/packages/angular/ssr/node/test/response_http1_spec.ts b/packages/angular/ssr/node/test/response_http1_spec.ts
index 8deae2b7e3b4..c7648f03a627 100644
--- a/packages/angular/ssr/node/test/response_http1_spec.ts
+++ b/packages/angular/ssr/node/test/response_http1_spec.ts
@@ -107,4 +107,48 @@ describe('writeResponseToNodeResponse (HTTP/1.1)', () => {
expect(response.headers['set-cookie']).toEqual(cookieValue);
});
+
+ it('should resolve and cancel reader when client disconnects while response is backpressured', async () => {
+ let writePromise!: Promise;
+ let readerCancelled = false;
+ const largeChunk = 'x'.repeat(1024 * 1024 * 4); // 4MB to ensure backpressure
+ const stream = new ReadableStream({
+ start(controller) {
+ controller.enqueue(largeChunk);
+ controller.enqueue(largeChunk);
+ },
+ cancel() {
+ readerCancelled = true;
+ },
+ });
+
+ server.once('request', (_, nodeResponse) => {
+ writePromise = writeResponseToNodeResponse(new Response(stream), nodeResponse);
+ });
+
+ await new Promise((resolve) => {
+ const { port } = server.address() as AddressInfo;
+ const clientRequest = requestCb(
+ {
+ host: 'localhost',
+ port,
+ },
+ (response) => {
+ response.once('data', () => {
+ clientRequest.destroy();
+ resolve();
+ });
+ },
+ );
+
+ clientRequest.on('error', () => {
+ // Expected when destroying the socket
+ });
+
+ clientRequest.end();
+ });
+
+ await writePromise;
+ expect(readerCancelled).toBeTrue();
+ });
});
diff --git a/packages/angular/ssr/node/test/response_http2_spec.ts b/packages/angular/ssr/node/test/response_http2_spec.ts
index c2de8e977561..431bc9de0c38 100644
--- a/packages/angular/ssr/node/test/response_http2_spec.ts
+++ b/packages/angular/ssr/node/test/response_http2_spec.ts
@@ -116,4 +116,48 @@ describe('writeResponseToNodeResponse (HTTP/2)', () => {
expect(resHeaders['set-cookie']).toEqual(cookieValue);
});
+
+ it('should resolve and cancel reader when client disconnects while response is backpressured', async () => {
+ let writePromise!: Promise;
+ let readerCancelled = false;
+ const largeChunk = 'x'.repeat(1024 * 1024); // 1MB to exceed HTTP/2 flow control window
+ const stream = new ReadableStream({
+ start(controller) {
+ controller.enqueue(largeChunk);
+ controller.enqueue(largeChunk);
+ },
+ cancel() {
+ readerCancelled = true;
+ },
+ });
+
+ server.once('request', (_, nodeResponse) => {
+ writePromise = writeResponseToNodeResponse(new Response(stream), nodeResponse);
+ });
+
+ await new Promise((resolve) => {
+ const { port } = server.address() as AddressInfo;
+ const client = connect(`http://localhost:${port}`);
+ const req = client.request({
+ ':path': '/',
+ });
+
+ req.once('response', () => {
+ req.once('data', () => {
+ req.destroy();
+ client.destroy();
+ resolve();
+ });
+ });
+
+ req.on('error', () => {
+ // Expected when destroying/closing the stream
+ });
+
+ req.end();
+ });
+
+ await writePromise;
+ expect(readerCancelled).toBeTrue();
+ });
});
diff --git a/packages/angular/ssr/package.json b/packages/angular/ssr/package.json
index 3ffa71cd9fe5..f34036b75949 100644
--- a/packages/angular/ssr/package.json
+++ b/packages/angular/ssr/package.json
@@ -37,12 +37,12 @@
},
"devDependencies": {
"@angular-devkit/schematics": "workspace:*",
- "@angular/common": "22.1.0-rc.0",
- "@angular/compiler": "22.1.0-rc.0",
- "@angular/core": "22.1.0-rc.0",
- "@angular/platform-browser": "22.1.0-rc.0",
- "@angular/platform-server": "22.1.0-rc.0",
- "@angular/router": "22.1.0-rc.0",
+ "@angular/common": "22.1.0",
+ "@angular/compiler": "22.1.0",
+ "@angular/core": "22.1.0",
+ "@angular/platform-browser": "22.1.0",
+ "@angular/platform-server": "22.1.0",
+ "@angular/router": "22.1.0",
"@schematics/angular": "workspace:*",
"beasties": "0.4.3"
},
diff --git a/packages/angular/ssr/src/utils/validation.ts b/packages/angular/ssr/src/utils/validation.ts
index 714042b52f76..73e6c712d80b 100644
--- a/packages/angular/ssr/src/utils/validation.ts
+++ b/packages/angular/ssr/src/utils/validation.ts
@@ -88,7 +88,7 @@ export function validateUrl(url: URL, allowedHosts: ReadonlySet): void {
/**
* Sanitizes the proxy headers of a request by removing unallowed `X-Forwarded-*` headers.
- * If no headers need to be removed, the original request is returned without cloning.
+ * If no headers need to be removed, the original request is returned unchanged.
*
* @param request - The incoming `Request` object to sanitize.
* @param trustProxyHeaders - A set of allowed proxy headers.
@@ -117,8 +117,7 @@ export function sanitizeRequestHeaders(
}
return headersDeleted
- ? new Request(request.clone(), {
- signal: request.signal,
+ ? new Request(request, {
headers,
})
: request;
diff --git a/packages/angular/ssr/test/utils/validation_spec.ts b/packages/angular/ssr/test/utils/validation_spec.ts
index 0f44f8067aeb..c9986a9bd73a 100644
--- a/packages/angular/ssr/test/utils/validation_spec.ts
+++ b/packages/angular/ssr/test/utils/validation_spec.ts
@@ -493,5 +493,40 @@ describe('Validation Utils', () => {
expect(secured.headers.get('host')).toBe('example.com');
expect(secured.headers.get('forwarded')).toBe('host=proxy.com;proto=https');
});
+
+ it('should transfer request body without teeing when removing unallowed headers', async () => {
+ const req = new Request('http://example.com', {
+ method: 'POST',
+ body: 'test body',
+ headers: {
+ 'host': 'example.com',
+ 'x-forwarded-host': 'evil.com',
+ },
+ });
+
+ const secured = sanitizeRequestHeaders(req, normalizeTrustProxyHeaders(undefined));
+
+ // In the Fetch specification, calling `request.clone()` tees the body stream and leaves
+ // `req.bodyUsed` as `false`. Passing `req` directly to `new Request(req, ...)` transfers the
+ // underlying stream without teeing, immediately marking `req.bodyUsed` as `true`.
+ expect(req.bodyUsed).toBeTrue();
+ expect(await secured.text()).toBe('test body');
+ });
+
+ it('should preserve abort signal when removing unallowed headers', () => {
+ const controller = new AbortController();
+ const req = new Request('http://example.com', {
+ signal: controller.signal,
+ headers: {
+ 'host': 'example.com',
+ 'x-forwarded-host': 'evil.com',
+ },
+ });
+
+ const secured = sanitizeRequestHeaders(req, normalizeTrustProxyHeaders(undefined));
+
+ controller.abort();
+ expect(secured.signal.aborted).toBeTrue();
+ });
});
});
diff --git a/packages/angular_devkit/build_angular/package.json b/packages/angular_devkit/build_angular/package.json
index 73dc6012ad22..285b2cd97a4c 100644
--- a/packages/angular_devkit/build_angular/package.json
+++ b/packages/angular_devkit/build_angular/package.json
@@ -42,7 +42,7 @@
"ora": "9.4.1",
"picomatch": "4.0.5",
"piscina": "5.2.0",
- "postcss": "8.5.19",
+ "postcss": "8.5.25",
"postcss-loader": "8.2.1",
"resolve-url-loader": "5.0.0",
"rxjs": "7.8.2",
@@ -54,7 +54,7 @@
"terser": "5.49.0",
"tinyglobby": "0.2.17",
"tslib": "2.8.1",
- "webpack": "5.108.4",
+ "webpack": "5.109.2",
"webpack-dev-middleware": "8.0.3",
"webpack-dev-server": "5.2.6",
"webpack-merge": "6.0.1",
@@ -66,7 +66,7 @@
"devDependencies": {
"@angular/ssr": "workspace:*",
"browser-sync": "3.0.4",
- "ng-packagr": "22.1.0-next.3",
+ "ng-packagr": "22.1.0",
"undici": "8.7.0"
},
"peerDependencies": {
diff --git a/packages/angular_devkit/build_webpack/package.json b/packages/angular_devkit/build_webpack/package.json
index 67cebb40bf7c..33fc2ad137b2 100644
--- a/packages/angular_devkit/build_webpack/package.json
+++ b/packages/angular_devkit/build_webpack/package.json
@@ -22,7 +22,7 @@
"devDependencies": {
"@angular-devkit/core": "workspace:0.0.0-PLACEHOLDER",
"@ngtools/webpack": "workspace:0.0.0-PLACEHOLDER",
- "webpack": "5.108.4",
+ "webpack": "5.109.2",
"webpack-dev-server": "5.2.6"
},
"peerDependencies": {
diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json
index 52995d53d86b..46734c939505 100644
--- a/packages/ngtools/webpack/package.json
+++ b/packages/ngtools/webpack/package.json
@@ -17,9 +17,9 @@
},
"devDependencies": {
"@angular-devkit/core": "workspace:0.0.0-PLACEHOLDER",
- "@angular/compiler": "22.1.0-rc.0",
- "@angular/compiler-cli": "22.1.0-rc.0",
+ "@angular/compiler": "22.1.0",
+ "@angular/compiler-cli": "22.1.0",
"typescript": "6.0.3",
- "webpack": "5.108.4"
+ "webpack": "5.109.2"
}
}
diff --git a/packages/schematics/angular/BUILD.bazel b/packages/schematics/angular/BUILD.bazel
index b4fc4e885c30..34d730f2aa6d 100644
--- a/packages/schematics/angular/BUILD.bazel
+++ b/packages/schematics/angular/BUILD.bazel
@@ -3,7 +3,6 @@
# 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
-load("@bazel_skylib//rules:copy_file.bzl", "copy_file")
load("@npm//:defs.bzl", "npm_link_all_packages")
load("//tools:defaults.bzl", "copy_to_bin", "jasmine_test", "npm_package", "ts_project")
load("//tools:ts_json_schema.bzl", "ts_json_schema")
@@ -46,10 +45,11 @@ copy_to_bin(
srcs = glob(["**/schema.json"]),
)
-copy_file(
+genrule(
name = "angular_best_practices",
- src = "//:node_modules/@angular/core/resources/best-practices.md",
- out = "ai-config/files/__bestPracticesName__.template",
+ srcs = ["//:node_modules/@angular/core/dir"],
+ outs = ["ai-config/files/__bestPracticesName__.template"],
+ cmd = "cp $(execpath //:node_modules/@angular/core/dir)/resources/best-practices.md $@",
)
RUNTIME_ASSETS = [
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index a4a7dbe23065..1129f4d7a235 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -14,8 +14,8 @@ importers:
.:
dependencies:
'@angular/compiler-cli':
- specifier: 22.1.0-rc.0
- version: 22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(typescript@6.0.3)
+ specifier: 22.1.0
+ version: 22.1.0(@angular/compiler@22.1.0)(typescript@6.0.3)
typescript:
specifier: 6.0.3
version: 6.0.3
@@ -26,44 +26,44 @@ importers:
built: true
devDependencies:
'@angular/animations':
- specifier: 22.1.0-rc.0
- version: 22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))
+ specifier: 22.1.0
+ version: 22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))
'@angular/cdk':
- specifier: 22.1.0-next.4
- version: 22.1.0-next.4(@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.1.0-rc.0(@angular/animations@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)
+ specifier: 22.1.0
+ version: 22.1.0(@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.1.0(@angular/animations@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)
'@angular/common':
- specifier: 22.1.0-rc.0
- version: 22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)
+ specifier: 22.1.0
+ version: 22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)
'@angular/compiler':
- specifier: 22.1.0-rc.0
- version: 22.1.0-rc.0
+ specifier: 22.1.0
+ version: 22.1.0
'@angular/core':
- specifier: 22.1.0-rc.0
- version: 22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)
+ specifier: 22.1.0
+ version: 22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)
'@angular/forms':
- specifier: 22.1.0-rc.0
- version: 22.1.0-rc.0(@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.1.0-rc.0(@angular/animations@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)
+ specifier: 22.1.0
+ version: 22.1.0(@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.1.0(@angular/animations@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)
'@angular/localize':
- specifier: 22.1.0-rc.0
- version: 22.1.0-rc.0(@angular/compiler-cli@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(typescript@6.0.3))(@angular/compiler@22.1.0-rc.0)
+ specifier: 22.1.0
+ version: 22.1.0(@angular/compiler-cli@22.1.0(@angular/compiler@22.1.0)(typescript@6.0.3))(@angular/compiler@22.1.0)
'@angular/material':
- specifier: 22.1.0-next.4
- version: 22.1.0-next.4(4ff7080c77e2fe320ac430b9737f79ee)
+ specifier: 22.1.0
+ version: 22.1.0(1d5b48d6601505eec7b597e3914980b4)
'@angular/ng-dev':
- specifier: https://github.com/angular/dev-infra-private-ng-dev-builds.git#7a67d5221a9efec2b69b102759d04223a3fc8552
- version: https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/7a67d5221a9efec2b69b102759d04223a3fc8552(@modelcontextprotocol/sdk@1.29.0(supports-color@10.2.2)(zod@4.4.3))
+ specifier: https://github.com/angular/dev-infra-private-ng-dev-builds.git#2af985ddb942b5928dfb730a6b8efaccd1798846
+ version: https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/2af985ddb942b5928dfb730a6b8efaccd1798846(@modelcontextprotocol/sdk@1.29.0(supports-color@11.0.0)(zod@4.4.3))
'@angular/platform-browser':
- specifier: 22.1.0-rc.0
- version: 22.1.0-rc.0(@angular/animations@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))
+ specifier: 22.1.0
+ version: 22.1.0(@angular/animations@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))
'@angular/platform-server':
- specifier: 22.1.0-rc.0
- version: 22.1.0-rc.0(@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/compiler@22.1.0-rc.0)(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.1.0-rc.0(@angular/animations@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)
+ specifier: 22.1.0
+ version: 22.1.0(@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/compiler@22.1.0)(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.1.0(@angular/animations@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)
'@angular/router':
- specifier: 22.1.0-rc.0
- version: 22.1.0-rc.0(@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.1.0-rc.0(@angular/animations@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)
+ specifier: 22.1.0
+ version: 22.1.0(@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.1.0(@angular/animations@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)
'@angular/service-worker':
- specifier: 22.1.0-rc.0
- version: 22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)
+ specifier: 22.1.0
+ version: 22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)
'@babel/core':
specifier: 8.0.1
version: 8.0.1
@@ -78,13 +78,13 @@ importers:
version: 0.28.0
'@eslint/compat':
specifier: 2.1.0
- version: 2.1.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))
+ version: 2.1.0(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))
'@eslint/eslintrc':
specifier: 3.3.6
- version: 3.3.6(supports-color@10.2.2)
+ version: 3.3.6(supports-color@11.0.0)
'@eslint/js':
specifier: 10.0.1
- version: 10.0.1(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))
+ version: 10.0.1(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))
'@rollup/plugin-alias':
specifier: ^6.0.0
version: 6.0.0(rollup@4.62.2)
@@ -102,10 +102,10 @@ importers:
version: 4.62.2
'@stylistic/eslint-plugin':
specifier: ^5.0.0
- version: 5.10.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))
+ version: 5.10.0(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))
'@tony.ganchev/eslint-plugin-header':
specifier: ~3.4.0
- version: 3.4.4(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))
+ version: 3.4.4(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))
'@types/babel__core':
specifier: 7.20.5
version: 7.20.5
@@ -129,7 +129,7 @@ importers:
version: 2.5.3
'@types/karma':
specifier: ^6.3.0
- version: 6.3.9(supports-color@10.2.2)
+ version: 6.3.9(supports-color@11.0.0)
'@types/less':
specifier: ^3.0.3
version: 3.0.8
@@ -165,10 +165,10 @@ importers:
version: 21.0.3
'@typescript-eslint/eslint-plugin':
specifier: 8.64.0
- version: 8.64.0(@typescript-eslint/parser@8.64.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)
+ version: 8.64.0(@typescript-eslint/parser@8.64.0(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))(supports-color@11.0.0)(typescript@6.0.3))(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))(supports-color@11.0.0)(typescript@6.0.3)
'@typescript-eslint/parser':
specifier: 8.64.0
- version: 8.64.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)
+ version: 8.64.0(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))(supports-color@11.0.0)(typescript@6.0.3)
ajv:
specifier: 8.20.0
version: 8.20.0
@@ -183,16 +183,16 @@ importers:
version: 0.28.1
eslint:
specifier: 10.7.0
- version: 10.7.0(jiti@2.7.0)(supports-color@10.2.2)
+ version: 10.7.0(jiti@2.7.0)(supports-color@11.0.0)
eslint-config-prettier:
specifier: 10.1.8
- version: 10.1.8(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))
+ version: 10.1.8(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))
eslint-plugin-import:
specifier: 2.32.0
- version: 2.32.0(@typescript-eslint/parser@8.64.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)
+ version: 2.32.0(@typescript-eslint/parser@8.64.0(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))(supports-color@11.0.0)(typescript@6.0.3))(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))(supports-color@11.0.0)
express:
specifier: 5.2.1
- version: 5.2.1(supports-color@10.2.2)
+ version: 5.2.1(supports-color@11.0.0)
fast-glob:
specifier: 3.3.3
version: 3.3.3
@@ -201,10 +201,10 @@ importers:
version: 17.7.0
http-proxy:
specifier: ^1.18.1
- version: 1.18.1(debug@4.4.3(supports-color@10.2.2))
+ version: 1.18.1(debug@4.4.3(supports-color@11.0.0))
http-proxy-middleware:
specifier: 4.2.0
- version: 4.2.0(supports-color@10.2.2)
+ version: 4.2.0(supports-color@11.0.0)
husky:
specifier: 9.1.7
version: 9.1.7
@@ -222,19 +222,19 @@ importers:
version: 7.0.0
karma:
specifier: ~6.4.0
- version: 6.4.4(bufferutil@4.1.0)(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(utf-8-validate@6.0.6)
+ version: 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)
karma-chrome-launcher:
specifier: ~3.2.0
version: 3.2.0
karma-coverage:
specifier: ~2.2.0
- version: 2.2.1(supports-color@10.2.2)
+ version: 2.2.1(supports-color@11.0.0)
karma-jasmine:
specifier: ~5.1.0
- version: 5.1.0(karma@6.4.4(bufferutil@4.1.0)(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(utf-8-validate@6.0.6))
+ version: 5.1.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))
karma-jasmine-html-reporter:
specifier: ~2.2.0
- version: 2.2.0(jasmine-core@6.3.0)(karma-jasmine@5.1.0(karma@6.4.4(bufferutil@4.1.0)(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(utf-8-validate@6.0.6)))(karma@6.4.4(bufferutil@4.1.0)(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(utf-8-validate@6.0.6))
+ version: 2.2.0(jasmine-core@6.3.0)(karma-jasmine@5.1.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)))(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))
karma-source-map-support:
specifier: 1.4.0
version: 1.4.0
@@ -282,10 +282,10 @@ importers:
version: 1.10.0
verdaccio:
specifier: 6.8.0
- version: 6.8.0(encoding@0.1.13)(supports-color@10.2.2)
+ version: 6.8.0(encoding@0.1.13)(supports-color@11.0.0)
verdaccio-auth-memory:
specifier: ^13.0.0
- version: 13.0.3(supports-color@10.2.2)
+ version: 13.1.0(supports-color@11.0.0)
zone.js:
specifier: ^0.16.0
version: 0.16.2
@@ -309,16 +309,16 @@ importers:
version: 4.1.10(vitest@4.1.10)
browser-sync:
specifier: 3.0.4
- version: 3.0.4(bufferutil@4.1.0)(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(utf-8-validate@6.0.6)
+ version: 3.0.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)
istanbul-lib-instrument:
specifier: 6.0.3
- version: 6.0.3(supports-color@10.2.2)
+ version: 6.0.3(supports-color@11.0.0)
jsdom:
specifier: 29.1.1
version: 29.1.1
ng-packagr:
- specifier: 22.1.0-next.3
- version: 22.1.0-next.3(@angular/compiler-cli@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(typescript@6.0.3))(tslib@2.8.1)(typescript@6.0.3)
+ specifier: 22.1.0
+ version: 22.1.0(@angular/compiler-cli@22.1.0(@angular/compiler@22.1.0)(typescript@6.0.3))(tslib@2.8.1)(typescript@6.0.3)
rxjs:
specifier: 7.8.2
version: 7.8.2
@@ -360,7 +360,7 @@ importers:
version: 0.28.1
https-proxy-agent:
specifier: 9.1.0
- version: 9.1.0(supports-color@10.2.2)
+ version: 9.1.0(supports-color@11.0.0)
jsonc-parser:
specifier: 3.3.1
version: 3.3.1
@@ -374,8 +374,8 @@ importers:
specifier: 2.0.1
version: 2.0.1
oxc-parser:
- specifier: 0.140.0
- version: 0.140.0
+ specifier: 0.142.0
+ version: 0.142.0
parse5-html-rewriting-stream:
specifier: 8.0.1
version: 8.0.1
@@ -418,7 +418,7 @@ importers:
version: 0.140.0
istanbul-lib-instrument:
specifier: 6.0.3
- version: 6.0.3(supports-color@10.2.2)
+ version: 6.0.3(supports-color@11.0.0)
jsdom:
specifier: 29.1.1
version: 29.1.1
@@ -426,11 +426,11 @@ importers:
specifier: 4.6.7
version: 4.6.7
ng-packagr:
- specifier: 22.1.0-next.3
- version: 22.1.0-next.3(@angular/compiler-cli@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(typescript@6.0.3))(tslib@2.8.1)(typescript@6.0.3)
+ specifier: 22.1.0
+ version: 22.1.0(@angular/compiler-cli@22.1.0(@angular/compiler@22.1.0)(typescript@6.0.3))(tslib@2.8.1)(typescript@6.0.3)
postcss:
- specifier: 8.5.19
- version: 8.5.19
+ specifier: 8.5.25
+ version: 8.5.25
rollup:
specifier: 4.62.2
version: 4.62.2
@@ -464,7 +464,7 @@ importers:
version: 4.2.4(@inquirer/prompts@8.5.2(@types/node@24.13.3))(@types/node@24.13.3)(listr2@10.2.2)
'@modelcontextprotocol/sdk':
specifier: 1.29.0
- version: 1.29.0(supports-color@10.2.2)(zod@4.4.3)
+ version: 1.29.0(supports-color@11.0.0)(zod@4.4.3)
'@schematics/angular':
specifier: workspace:0.0.0-PLACEHOLDER
version: link:../../schematics/angular
@@ -512,23 +512,23 @@ importers:
specifier: workspace:*
version: link:../../angular_devkit/schematics
'@angular/common':
- specifier: 22.1.0-rc.0
- version: 22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)
+ specifier: 22.1.0
+ version: 22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)
'@angular/compiler':
- specifier: 22.1.0-rc.0
- version: 22.1.0-rc.0
+ specifier: 22.1.0
+ version: 22.1.0
'@angular/core':
- specifier: 22.1.0-rc.0
- version: 22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)
+ specifier: 22.1.0
+ version: 22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)
'@angular/platform-browser':
- specifier: 22.1.0-rc.0
- version: 22.1.0-rc.0(@angular/animations@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))
+ specifier: 22.1.0
+ version: 22.1.0(@angular/animations@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))
'@angular/platform-server':
- specifier: 22.1.0-rc.0
- version: 22.1.0-rc.0(@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/compiler@22.1.0-rc.0)(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.1.0-rc.0(@angular/animations@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)
+ specifier: 22.1.0
+ version: 22.1.0(@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/compiler@22.1.0)(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.1.0(@angular/animations@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)
'@angular/router':
- specifier: 22.1.0-rc.0
- version: 22.1.0-rc.0(@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.1.0-rc.0(@angular/animations@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)
+ specifier: 22.1.0
+ version: 22.1.0(@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.1.0(@angular/animations@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)
'@schematics/angular':
specifier: workspace:*
version: link:../../schematics/angular
@@ -600,28 +600,28 @@ importers:
version: 4.1.3
autoprefixer:
specifier: 10.5.4
- version: 10.5.4(postcss@8.5.19)
+ version: 10.5.4(postcss@8.5.25)
babel-loader:
specifier: 10.1.1
- version: 10.1.1(@babel/core@8.0.1)(webpack@5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3))
+ version: 10.1.1(@babel/core@8.0.1)(webpack@5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3))
browserslist:
specifier: ^4.26.0
version: 4.28.7
copy-webpack-plugin:
specifier: 14.0.0
- version: 14.0.0(webpack@5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3))
+ version: 14.0.0(webpack@5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3))
css-loader:
specifier: 7.1.4
- version: 7.1.4(webpack@5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3))
+ version: 7.1.4(webpack@5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3))
esbuild-wasm:
specifier: 0.28.1
version: 0.28.1
http-proxy-middleware:
specifier: 4.2.0
- version: 4.2.0(supports-color@10.2.2)
+ version: 4.2.0(supports-color@11.0.0)
istanbul-lib-instrument:
specifier: 6.0.3
- version: 6.0.3(supports-color@10.2.2)
+ version: 6.0.3(supports-color@11.0.0)
jsonc-parser:
specifier: 3.3.1
version: 3.3.1
@@ -633,16 +633,16 @@ importers:
version: 4.6.7
less-loader:
specifier: 13.0.0
- version: 13.0.0(less@4.6.7)(webpack@5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3))
+ version: 13.0.0(less@4.6.7)(webpack@5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3))
license-webpack-plugin:
specifier: 4.0.2
- version: 4.0.2(webpack@5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3))
+ version: 4.0.2(webpack@5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3))
loader-utils:
specifier: 3.3.1
version: 3.3.1
mini-css-extract-plugin:
specifier: 2.10.2
- version: 2.10.2(webpack@5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3))
+ version: 2.10.2(webpack@5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3))
open:
specifier: 11.0.0
version: 11.0.0
@@ -656,11 +656,11 @@ importers:
specifier: 5.2.0
version: 5.2.0
postcss:
- specifier: 8.5.19
- version: 8.5.19
+ specifier: 8.5.25
+ version: 8.5.25
postcss-loader:
specifier: 8.2.1
- version: 8.2.1(postcss@8.5.19)(typescript@6.0.3)(webpack@5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3))
+ version: 8.2.1(postcss@8.5.25)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3))
resolve-url-loader:
specifier: 5.0.0
version: 5.0.0
@@ -672,13 +672,13 @@ importers:
version: 1.101.0
sass-loader:
specifier: 17.0.0
- version: 17.0.0(sass@1.101.0)(webpack@5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3))
+ version: 17.0.0(sass@1.101.0)(webpack@5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3))
semver:
specifier: 7.8.5
version: 7.8.5
source-map-loader:
specifier: 5.0.0
- version: 5.0.0(webpack@5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3))
+ version: 5.0.0(webpack@5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3))
source-map-support:
specifier: 0.5.21
version: 0.5.21
@@ -692,30 +692,30 @@ importers:
specifier: 2.8.1
version: 2.8.1
webpack:
- specifier: 5.108.4
- version: 5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)
+ specifier: 5.109.2
+ version: 5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)
webpack-dev-middleware:
specifier: 8.0.3
- version: 8.0.3(tslib@2.8.1)(webpack@5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3))
+ version: 8.0.3(tslib@2.8.1)(webpack@5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3))
webpack-dev-server:
specifier: 5.2.6
- version: 5.2.6(bufferutil@4.1.0)(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(tslib@2.8.1)(utf-8-validate@6.0.6)(webpack@5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3))
+ version: 5.2.6(bufferutil@4.1.0)(debug@4.4.3(supports-color@11.0.0))(supports-color@11.0.0)(tslib@2.8.1)(utf-8-validate@6.0.6)(webpack@5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3))
webpack-merge:
specifier: 6.0.1
version: 6.0.1
webpack-subresource-integrity:
specifier: 5.1.0
- version: 5.1.0(webpack@5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3))
+ version: 5.1.0(webpack@5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3))
devDependencies:
'@angular/ssr':
specifier: workspace:*
version: link:../../angular/ssr
browser-sync:
specifier: 3.0.4
- version: 3.0.4(bufferutil@4.1.0)(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(utf-8-validate@6.0.6)
+ version: 3.0.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)
ng-packagr:
- specifier: 22.1.0-next.3
- version: 22.1.0-next.3(@angular/compiler-cli@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(typescript@6.0.3))(tslib@2.8.1)(typescript@6.0.3)
+ specifier: 22.1.0
+ version: 22.1.0(@angular/compiler-cli@22.1.0(@angular/compiler@22.1.0)(typescript@6.0.3))(tslib@2.8.1)(typescript@6.0.3)
undici:
specifier: 8.7.0
version: 8.7.0
@@ -740,11 +740,11 @@ importers:
specifier: workspace:0.0.0-PLACEHOLDER
version: link:../../ngtools/webpack
webpack:
- specifier: 5.108.4
- version: 5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)
+ specifier: 5.109.2
+ version: 5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)
webpack-dev-server:
specifier: 5.2.6
- version: 5.2.6(bufferutil@4.1.0)(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(tslib@2.8.1)(utf-8-validate@6.0.6)(webpack@5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3))
+ version: 5.2.6(bufferutil@4.1.0)(debug@4.4.3(supports-color@11.0.0))(supports-color@11.0.0)(tslib@2.8.1)(utf-8-validate@6.0.6)(webpack@5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3))
packages/angular_devkit/core:
dependencies:
@@ -807,17 +807,17 @@ importers:
specifier: workspace:0.0.0-PLACEHOLDER
version: link:../../angular_devkit/core
'@angular/compiler':
- specifier: 22.1.0-rc.0
- version: 22.1.0-rc.0
+ specifier: 22.1.0
+ version: 22.1.0
'@angular/compiler-cli':
- specifier: 22.1.0-rc.0
- version: 22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(typescript@6.0.3)
+ specifier: 22.1.0
+ version: 22.1.0(@angular/compiler@22.1.0)(typescript@6.0.3)
typescript:
specifier: 6.0.3
version: 6.0.3
webpack:
- specifier: 5.108.4
- version: 5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)
+ specifier: 5.109.2
+ version: 5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)
packages/schematics/angular:
dependencies:
@@ -864,48 +864,48 @@ packages:
resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
engines: {node: '>=6.0.0'}
- '@angular/animations@22.1.0-rc.0':
- resolution: {integrity: sha512-marmWKKbvY5Y7epi2THZnIdeW9fkgimgoWOs/Ld5tKnCDTjN0NiyykjYzSQGu47hSJjAIfkk8a0sdaW1XGF7Kg==}
+ '@angular/animations@22.1.0':
+ resolution: {integrity: sha512-MHXOXmn9zmkiq234J+pr2Ir4A+z1iiVmQ0WjQ4skvK8GHTjnjeHKb4HrpAo5f7S3W0oenszmkNCddTQ3pvoJPw==}
engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0}
deprecated: '@angular/animations is deprecated. Use `animate.enter` and `animate.leave` instead. For more information see: https://v22.angular.dev/guide/animations.'
peerDependencies:
- '@angular/core': 22.1.0-rc.0
+ '@angular/core': 22.1.0
- '@angular/cdk@22.1.0-next.4':
- resolution: {integrity: sha512-lWsn9LIWr1E7R7DoMoorxnLjLUc5tQ47QI6Zn1TNNWoPvKa7Hh89mMwLwvUo0sDvu/rhCw6mwENQCyLbl0kP/g==}
+ '@angular/cdk@22.1.0':
+ resolution: {integrity: sha512-yfQug47CZ+51mHy0ZLWzi6F/YHfsAF2Z7Jxo3JLM7Aj3Er47hHB8VnrNERwK5tBLs0bE5DoEIm59ga/MI3fVGg==}
peerDependencies:
- '@angular/common': ^22.0.0-0 || ^22.1.0-0 || ^22.2.0-0 || ^22.3.0-0 || ^23.0.0-0
- '@angular/core': ^22.0.0-0 || ^22.1.0-0 || ^22.2.0-0 || ^22.3.0-0 || ^23.0.0-0
- '@angular/platform-browser': ^22.0.0-0 || ^22.1.0-0 || ^22.2.0-0 || ^22.3.0-0 || ^23.0.0-0
+ '@angular/common': ^22.0.0 || ^23.0.0
+ '@angular/core': ^22.0.0 || ^23.0.0
+ '@angular/platform-browser': ^22.0.0 || ^23.0.0
rxjs: ^6.5.3 || ^7.4.0
- '@angular/common@22.1.0-rc.0':
- resolution: {integrity: sha512-UWNaHg3tlFkHvsj5SedcsKVSoRO9RHN6tHaKvW2XTFLoDUlKvgKE1VciKbuut5LzKtSzu622Ag1bxD77MN4QWA==}
+ '@angular/common@22.1.0':
+ resolution: {integrity: sha512-67L8AS00egxwEKnoMhNDxy+TY+eKOwvwa+os0Odq8nLm7+Qh7JnMVeub8hfncpenOFqlC/RUjO2W9H7Gd2veNA==}
engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0}
peerDependencies:
- '@angular/core': 22.1.0-rc.0
+ '@angular/core': 22.1.0
rxjs: ^6.5.3 || ^7.4.0
- '@angular/compiler-cli@22.1.0-rc.0':
- resolution: {integrity: sha512-DfNHPjLxBS7mNqSUZVEjYWHHGaQ1ItjRty4WfcD+7R9hrfSCK3L9nSoQQa9okfBg+6edcR1Q8Dl7M7syfh3swA==}
+ '@angular/compiler-cli@22.1.0':
+ resolution: {integrity: sha512-jL89dbzkrV8AeLaxedBgT7ErMnbfi2dvwDJuCrUgm3eCNfbcOpGbNxzH+wDgvbRg2Lhj11/u3JPbW50xA6rvvg==}
engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0}
hasBin: true
peerDependencies:
- '@angular/compiler': 22.1.0-rc.0
+ '@angular/compiler': 22.1.0
typescript: '>=6.0 <6.1'
peerDependenciesMeta:
typescript:
optional: true
- '@angular/compiler@22.1.0-rc.0':
- resolution: {integrity: sha512-wzQo9qMsw85QXi6IauJPKNcbRHuTXQCW/BeMF+UkqXbUrTIez9YdV2Ly+XMZI5r3JUgkly0Z/8t3Rci6CdvybA==}
+ '@angular/compiler@22.1.0':
+ resolution: {integrity: sha512-WCmuPnuXgqnqrkbrwqQRyldi1k3rlzNLVDl8ntINF7XWuJh0KfQLEkRK0FCCmBztWJkbGug4RBVnKTWlKhRzCQ==}
engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0}
- '@angular/core@22.1.0-rc.0':
- resolution: {integrity: sha512-gXH8srb4B1VshzwYxJrTFO/z+RpydlWf/kVXtFfY7eID0bWqpHwTKvIXyEtpUgUmqTN4MIr0w9vUdaHB3LJmwg==}
+ '@angular/core@22.1.0':
+ resolution: {integrity: sha512-X5UaMuOCI4HAvSQIs3QtM+5e0Cni16DRaHUIL3BIBd4ZQNnSH3pZ25TsKQ8Jlu/3hAQ9rzV278kNQcecooGJ7g==}
engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0}
peerDependencies:
- '@angular/compiler': 22.1.0-rc.0
+ '@angular/compiler': 22.1.0
rxjs: ^6.5.3 || ^7.4.0
zone.js: ~0.15.0 || ~0.16.0
peerDependenciesMeta:
@@ -914,74 +914,74 @@ packages:
zone.js:
optional: true
- '@angular/forms@22.1.0-rc.0':
- resolution: {integrity: sha512-f7Rb5idCYw5pliQumI0o3PUA0NBUpNArq1hesNcdkMux2foKKKDOmXHCnbIt3VvRqOyBknKugXRT8UUA+fCJzA==}
+ '@angular/forms@22.1.0':
+ resolution: {integrity: sha512-nWlSM/pPp78Sx/fBM/tFEgZxdfZe50LkCE2/hkO22Fi1UM2maGc43LDsu/s6l0q9hFep4Wj+xa30KXDBS7Cn8A==}
engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0}
peerDependencies:
- '@angular/common': 22.1.0-rc.0
- '@angular/core': 22.1.0-rc.0
- '@angular/platform-browser': 22.1.0-rc.0
+ '@angular/common': 22.1.0
+ '@angular/core': 22.1.0
+ '@angular/platform-browser': 22.1.0
rxjs: ^6.5.3 || ^7.4.0
- '@angular/localize@22.1.0-rc.0':
- resolution: {integrity: sha512-FXOGYRqnv/7cyVPFTNbd5XSxE75vtncyypuaB6zH3sAgpHfBU8x/EWf3IDS8piOE0DG1zmw6fsc0e7hX2n8IYQ==}
+ '@angular/localize@22.1.0':
+ resolution: {integrity: sha512-oT0d+ru2Rdd1UwLTthu/oMvQ8yXSVCcHTkpH7wO8AXjFCsS9OLCzmmiCdnk/UL2ClaNygJi2I4BNEuKtX+dWRA==}
engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0}
hasBin: true
peerDependencies:
- '@angular/compiler': 22.1.0-rc.0
- '@angular/compiler-cli': 22.1.0-rc.0
+ '@angular/compiler': 22.1.0
+ '@angular/compiler-cli': 22.1.0
- '@angular/material@22.1.0-next.4':
- resolution: {integrity: sha512-DFbQUTYF6ur0QgyHyOi9YuPQKwGYKXyWU6CEVREgwKZJVW+1PJ1BIoAtdiCA13ymMoqIuum7EAu2BwkXOHKZ3A==}
+ '@angular/material@22.1.0':
+ resolution: {integrity: sha512-i3Os8JZg4DejgNTtw8GCLQbbZ8+lv8h/ym6PxRwmYNpegmyGiVSKAZ2JBkEs5f1pmMaTppuG3MF6mXei4xi6Wg==}
peerDependencies:
- '@angular/cdk': 22.1.0-next.4
- '@angular/common': ^22.0.0-0 || ^22.1.0-0 || ^22.2.0-0 || ^22.3.0-0 || ^23.0.0-0
- '@angular/core': ^22.0.0-0 || ^22.1.0-0 || ^22.2.0-0 || ^22.3.0-0 || ^23.0.0-0
- '@angular/forms': ^22.0.0-0 || ^22.1.0-0 || ^22.2.0-0 || ^22.3.0-0 || ^23.0.0-0
- '@angular/platform-browser': ^22.0.0-0 || ^22.1.0-0 || ^22.2.0-0 || ^22.3.0-0 || ^23.0.0-0
+ '@angular/cdk': 22.1.0
+ '@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/7a67d5221a9efec2b69b102759d04223a3fc8552':
- resolution: {gitHosted: true, integrity: sha512-DQnETQLANEERiT5UIcBj1D4S1WYlYVOuwtog4JpslthLq0JqSkKXCp7o+1roasNfBrFLaOYMD7wqZiRhsxbNSw==, tarball: https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/7a67d5221a9efec2b69b102759d04223a3fc8552}
- version: 0.0.0-7365173626bd7f475d30ba010bfb0e485233b199
+ '@angular/ng-dev@https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/2af985ddb942b5928dfb730a6b8efaccd1798846':
+ resolution: {gitHosted: true, integrity: sha512-m1WZEDpVmV+rlxZoeZaW2kobdjwjJozZYqXVkZeMEyZxKd+P5tHFw/mUxWPk6mHZjDcqA4l8maTD2aXkq8z0iQ==, tarball: https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/2af985ddb942b5928dfb730a6b8efaccd1798846}
+ version: 0.0.0-c279805293db7c28fe20709bc7ac3a3f3bbebb40
hasBin: true
- '@angular/platform-browser@22.1.0-rc.0':
- resolution: {integrity: sha512-HHtTB6vJ8jtIq+pN3zOpwA2R7KItVpjpK0AxLEk1E+6Yg8jyuQdtGBpbet61V9ndOyqFh4XyBWMx02+g2DrVcg==}
+ '@angular/platform-browser@22.1.0':
+ resolution: {integrity: sha512-gqUYDUiPfwbaLYdH8WLnOLl3feo3OcNpnMO08HBHaUdi4TLNkC28xwa9fC6ANyYD22QZ5A3abSg8fmR6upWMwg==}
engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0}
peerDependencies:
- '@angular/animations': 22.1.0-rc.0
- '@angular/common': 22.1.0-rc.0
- '@angular/core': 22.1.0-rc.0
+ '@angular/animations': 22.1.0
+ '@angular/common': 22.1.0
+ '@angular/core': 22.1.0
peerDependenciesMeta:
'@angular/animations':
optional: true
- '@angular/platform-server@22.1.0-rc.0':
- resolution: {integrity: sha512-yE5H9GLBZ0n9VDzvEMixtMz9RDUHwAMgyWRAzHj7gVmj/bbFrJ3waw3Pc2sJY9hhY+asA4q4FdYDchXcxgZXqA==}
+ '@angular/platform-server@22.1.0':
+ resolution: {integrity: sha512-b6Z17lqwtR1SuLBfh2LsGnyFGCPjAdgEXFOYVqV/JOACJCxHFG0TwE6BKYKe8lCgDkC5nQk0uM5pJNv2uC2tUw==}
engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0}
peerDependencies:
- '@angular/common': 22.1.0-rc.0
- '@angular/compiler': 22.1.0-rc.0
- '@angular/core': 22.1.0-rc.0
- '@angular/platform-browser': 22.1.0-rc.0
+ '@angular/common': 22.1.0
+ '@angular/compiler': 22.1.0
+ '@angular/core': 22.1.0
+ '@angular/platform-browser': 22.1.0
rxjs: ^6.5.3 || ^7.4.0
- '@angular/router@22.1.0-rc.0':
- resolution: {integrity: sha512-nJRUfPqhYbUygYlpFtrGW2ymotpSNojkPNIVNnIMLmbQHl498jOEuYKK6ZpD10mDihBqNiuxBB0yUQNNTlp1fA==}
+ '@angular/router@22.1.0':
+ resolution: {integrity: sha512-42Bs0g+tV2gE70Lqnt+VD/+DWbvWwQcg8QgXkTIu3A504tYknrZG/wmvki2AJGyZhmyQ46B4pfXLG4WDP8MFSA==}
engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0}
peerDependencies:
- '@angular/common': 22.1.0-rc.0
- '@angular/core': 22.1.0-rc.0
- '@angular/platform-browser': 22.1.0-rc.0
+ '@angular/common': 22.1.0
+ '@angular/core': 22.1.0
+ '@angular/platform-browser': 22.1.0
rxjs: ^6.5.3 || ^7.4.0
- '@angular/service-worker@22.1.0-rc.0':
- resolution: {integrity: sha512-TOgMekeFEk6MSA5oIW33b6SAxZeas+1FoGtYVRbTuQdLbzpO77Xugt3LixRq2MP88oJg1Z+nYLKkmKj0HjYsyQ==}
+ '@angular/service-worker@22.1.0':
+ resolution: {integrity: sha512-apz0zZ8at3D1Y1FcxrxJknLOyjWvwhzEEoPYIzMvPnMzKUTucU8IhZBHJ4adX3wRLoDPCAVDJrKSnXeOogveWw==}
engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0}
hasBin: true
peerDependencies:
- '@angular/core': 22.1.0-rc.0
+ '@angular/core': 22.1.0
rxjs: ^6.5.3 || ^7.4.0
'@asamuzakjp/css-color@5.1.11':
@@ -1595,15 +1595,15 @@ packages:
resolution: {integrity: sha512-064IFJdjTfUqnjpCVpMOdbr8FLQBhinbZj6yRv2An2E41O/pLEXqfFRWqGq/SxlE5PEUYTlvWsG2r8MswAVvkg==}
engines: {node: '>=20.19.0'}
- '@csstools/css-calc@3.2.1':
- resolution: {integrity: sha512-DtdHlgXh5ZkA43cwBcAm+huzgJiwx3ZTWVjBs94kwz2xKqSimDA3lBgCjphYgwgVUMWatSM0pDd8TILB1yrVVg==}
+ '@csstools/css-calc@3.3.0':
+ resolution: {integrity: sha512-c5ihYsPkdG6JCkU2zTMm4+k6r7RXuGxtWYhu5DHMIiF1FHzrfmHL5so11AoFpUv/tu61xfcmT4AmKoFfMPoqdQ==}
engines: {node: '>=20.19.0'}
peerDependencies:
'@csstools/css-parser-algorithms': ^4.0.0
'@csstools/css-tokenizer': ^4.0.0
- '@csstools/css-color-parser@4.1.9':
- resolution: {integrity: sha512-paQcIaOO53Rk5+YrBaBjm/SgrV4INImjo2BT1DtQRYr+XeTRbeAYlS+jxXp9drqvKmtFnWRJKIalDLhZZDu42A==}
+ '@csstools/css-color-parser@4.1.10':
+ resolution: {integrity: sha512-UZhQLIUyJaaMepqehrCODwCg2KW25vFvLWBmqYFaPclYvvxzj/sG8LBOhBFCp11i9uE7t1EyS+RAoV9tztPFyw==}
engines: {node: '>=20.19.0'}
peerDependencies:
'@csstools/css-parser-algorithms': ^4.0.0
@@ -1615,8 +1615,8 @@ packages:
peerDependencies:
'@csstools/css-tokenizer': ^4.0.0
- '@csstools/css-syntax-patches-for-csstree@1.1.6':
- resolution: {integrity: sha512-TcJCWFbXLPpJYq6z7bfOyjWYJDiDg2/I4gyUC9pqPNqHFRIey0EB0q0L5cSnQDfWJg8Jd6VadakxdIez/3zkqQ==}
+ '@csstools/css-syntax-patches-for-csstree@1.1.7':
+ resolution: {integrity: sha512-fQ+05118eQS1cofO3aJpB5efgpBZMvIzwr/sbC8kDLVA5XLG8q1kJV5yzrUAI1f7lvhPnm8fgIjzFB8/O/5Dig==}
peerDependencies:
css-tree: ^3.2.1
peerDependenciesMeta:
@@ -2080,8 +2080,8 @@ packages:
'@glideapps/ts-necessities@2.2.3':
resolution: {integrity: sha512-gXi0awOZLHk3TbW55GZLCPP6O+y/b5X1pBXKBVckFONSwF1z1E5ND2BGJsghQFah+pW7pkkyFb2VhUQI2qhL5w==}
- '@google-cloud/common@6.0.1':
- resolution: {integrity: sha512-1uvKzbmAWUdchIYRsg0f4rUmezOamWuVBSWAPAhnYoUE5OiPEx6v6JOxFIdr3MsrqV+6fyLV3EI1vMPlHoeRvw==}
+ '@google-cloud/common@6.1.0':
+ resolution: {integrity: sha512-Ohjxjvusr65+SiEVBrilpyn1ir9CM8ZqWjcf7bA8ph1GCunxI6bbwtcl7iGl67A7Lr4Nz7WpNzITNETwggc7pw==}
engines: {node: '>=18'}
'@google-cloud/precise-date@5.1.0':
@@ -2108,8 +2108,8 @@ packages:
resolution: {integrity: sha512-IJn+8A3QZJfe7FUtWqHVNo3xJs7KFpurCWGWCiCz3oEh+BkRymKZ1QxfAbU2yGMDzTytLGQ2IV6T2r3cuo75/w==}
engines: {node: '>=18'}
- '@google/genai@2.12.0':
- resolution: {integrity: sha512-LUr972DZosqPUhf9Mb3CIVu/B99woD3QW6ZJV1T9aNgxaoimAZARmo+IyyDsxIL+zouFiYSdA4hzfEWXc9oNIQ==}
+ '@google/genai@2.13.0':
+ resolution: {integrity: sha512-GM7C8Kaomvjz05x5JEO6+l3d/pciL9LxAG9dUjJLD7nTPZ9X0Cfsf2Z7eET6UjgWyUmxXCHtYnQoQ77F9+ZIOQ==}
engines: {node: '>=20.0.0'}
peerDependencies:
'@modelcontextprotocol/sdk': ^1.25.2
@@ -2138,8 +2138,8 @@ packages:
'@harperfast/extended-iterable@1.0.3':
resolution: {integrity: sha512-sSAYhQca3rDWtQUHSAPeO7axFIUJOI6hn1gjRC5APVE1a90tuyT8f5WIgRsFhhWA7htNkju2veB9eWL6YHi/Lw==}
- '@hono/node-server@1.19.14':
- resolution: {integrity: sha512-GwtvgtXxnWsucXvbQXkRgqksiH2Qed37H9xHZocE5sA3N8O8O8/8FA3uclQXxXVzc9XBZuEOMK7+r02FmSpHtw==}
+ '@hono/node-server@1.19.17':
+ resolution: {integrity: sha512-dSneS5qhiauZWGDCeK4o695Xd9nUNjviSZCMQrj10eetr8Uln1ucn6bbphOM6UynAMMtNIzZNSpL9vnASJwrPQ==}
engines: {node: '>=18.14.1'}
peerDependencies:
hono: ^4
@@ -2783,129 +2783,129 @@ packages:
resolution: {integrity: sha512-eSYWTm620tTk45EKSedaUL8MFYI8hW164hIXsgIHyxu3VobUB3fFCu5t0hQby6OoWRPsG1KkKUG2M5UadiLiVg==}
engines: {node: '>=14'}
- '@oxc-parser/binding-android-arm-eabi@0.140.0':
- resolution: {integrity: sha512-ZfjDZ422mo7eo3b3VltqNsV9kmv1qt/sPEAMSl64iOSwhVfd0eIZ9LB79Mbs1xYXJnk7WSROwzBCKDIiVxPTvQ==}
+ '@oxc-parser/binding-android-arm-eabi@0.142.0':
+ resolution: {integrity: sha512-ZiRGDutGsv1G6bL/ozy/koC0Sv39T1DqyoC4KD1DOy9ZoACm1O5UWhEK2c02Qdk+4lfLVkvFa/mQ0fm/4h1BtQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [android]
- '@oxc-parser/binding-android-arm64@0.140.0':
- resolution: {integrity: sha512-Ia8jSvikUX6Sf+Ht+KOCUF/k1HpR0VlmqIYymubmWDebOEGtsyliHDR6JxsZ4IX3/c/GbrB1uh09aVGQv/LQmQ==}
+ '@oxc-parser/binding-android-arm64@0.142.0':
+ resolution: {integrity: sha512-WZkvGRLNQTz8lR9zP5nLjUdlroRCopBu3g9zF1p/laE6DzT1UbQo8Rdz5MWhaJUPYg/6gp+jo7HUgsyKaN1FtQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [android]
- '@oxc-parser/binding-darwin-arm64@0.140.0':
- resolution: {integrity: sha512-G6VK0nK61pH0d0mBjUqSZbVxGqqO5uzeginLDQj+gOO6ObfJjXRwgkD/ol0w1INcnFeAb6YGGO7qc3ueGHaycQ==}
+ '@oxc-parser/binding-darwin-arm64@0.142.0':
+ resolution: {integrity: sha512-l4khS8LQOOVYsGRVARo1gSaCT/aBSceUVXgtovWc2+drnxVuDr082WA3OCHVdVzIz5JIrP/y9CWsSKxBDNmYGg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [darwin]
- '@oxc-parser/binding-darwin-x64@0.140.0':
- resolution: {integrity: sha512-HazBOuZzd2pO1C2uMmp8Gv7mhzMHqKSKDS1OZfcLEvpIcgA+48J92HEtNanVHDIzRD9PRPCV6aS6fkZIWOVl8Q==}
+ '@oxc-parser/binding-darwin-x64@0.142.0':
+ resolution: {integrity: sha512-QBsNF3nqlXmcH2B1YOPqQYmCJoy4HuIjUxGbBO/k5JAJUl68ghU2psRY2zPk+RyBaWqKP/qfL4oaFgEMCdwskA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [darwin]
- '@oxc-parser/binding-freebsd-x64@0.140.0':
- resolution: {integrity: sha512-9hSUU+HmTUyOe4JzMHxNGgLWNY7rrO+6ShicZwImNJacEAACDMIkuEQQkvXSL+WJN50jaNtLYJv8s4OcBdpyUQ==}
+ '@oxc-parser/binding-freebsd-x64@0.142.0':
+ resolution: {integrity: sha512-b7Q7m4Cqc6XqNhri3R+QhU+GVy646Pn+bkdhrDdWym/Fdi0ZUa+d73H9dm5H91JtbtAQ/z1d8XKMW3oOV8a4tQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [freebsd]
- '@oxc-parser/binding-linux-arm-gnueabihf@0.140.0':
- resolution: {integrity: sha512-RAEuQsYtS0KcDFqN0ABTjyyNlokS91JeuDuoW9tEbG0JTbRNXnpQUdbYc/16JoA6Z/2ALbNrE3KmxtqDiuIjCQ==}
+ '@oxc-parser/binding-linux-arm-gnueabihf@0.142.0':
+ resolution: {integrity: sha512-3riVS5IhdH3uCZj1Y9ftDQlR0dvLsIlw/edrRqk8JhgNd5K0XSs+UBtgh50N13CAlW9/TXj6sVGXaKNBocd0Yg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [linux]
- '@oxc-parser/binding-linux-arm-musleabihf@0.140.0':
- resolution: {integrity: sha512-c4CkHvPvqfojouredJ0w3e6+jiBq0SbFyhH61kr/zPb/7XsaYTNKQ54vmlSsopfdQbNDX40ZeK9Abs2Qet6wcw==}
+ '@oxc-parser/binding-linux-arm-musleabihf@0.142.0':
+ resolution: {integrity: sha512-NmXUOpgpTSkhl795TiXmWppTwmSJ92RC1qvD6e4XOF+slgmo3e6Ah+kEu+6AN8s7NAOEwqGmir58MgSQSWmBSA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [linux]
- '@oxc-parser/binding-linux-arm64-gnu@0.140.0':
- resolution: {integrity: sha512-yrjmLj8ixPB25yqvPGr28meGjb+keed7m1GqqY/0uqkhZIoT4t9zmfwUgFEtC33C7dtE+UQ7TU0IaVxf97SWJg==}
+ '@oxc-parser/binding-linux-arm64-gnu@0.142.0':
+ resolution: {integrity: sha512-gc0EXsKtXgerujmU2Bql3u1L1HsSQ2774R83idq/FoNMPVV/RY/1ErFsvnit7KoiP/sLvzQixeUo4Ut0ic0wmw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
libc: [glibc]
- '@oxc-parser/binding-linux-arm64-musl@0.140.0':
- resolution: {integrity: sha512-ggGMQTN8Agwxp2WiLMpdY671dt0qTDJWiWlJeig3HnUwTnerRl0J2JdGVghWBeDcss2D9S2V2Js6dZHEiVabVA==}
+ '@oxc-parser/binding-linux-arm64-musl@0.142.0':
+ resolution: {integrity: sha512-F2XvmWSE0uWpie+jHKKIFgdVOe9ypGhkEZxKx5DuW215K6cbAC274yYaPkcM7EqY4Df3Weyhpcz3lsURyH2LVg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
libc: [musl]
- '@oxc-parser/binding-linux-ppc64-gnu@0.140.0':
- resolution: {integrity: sha512-IgTs8xYAFgAUGNmR65tIqjlJ8vKgrfXzC515e9goSdfMyKQV4aJpd2pUUudU4u51G64H0/DSEJEXKOraxm9ZCA==}
+ '@oxc-parser/binding-linux-ppc64-gnu@0.142.0':
+ resolution: {integrity: sha512-wLMbT21U/QxknQsk+VvNF0b9D2/aGWhcaQQQ+VYlE8FwD5+GoWZIPPXNzyHmkYyhm0KB3itL+TBavjMatqNnYA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [ppc64]
os: [linux]
libc: [glibc]
- '@oxc-parser/binding-linux-riscv64-gnu@0.140.0':
- resolution: {integrity: sha512-A1x+PMWZmSGaFVOx2YeNTFau8uD+QO14/vLP4GrcuvUPs3+nBkUOjy9Lus86ftHsDojjYMbvBelmKc3F7Rv08g==}
+ '@oxc-parser/binding-linux-riscv64-gnu@0.142.0':
+ resolution: {integrity: sha512-+G8F/4ckwT7FCJV4H2bt09xEzJbjNCfuL4Sp1AYNaFtFMVtgIGMuJlteT82U+K0UIZ/DzAR/LDlMFnEuajG7Kw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [riscv64]
os: [linux]
libc: [glibc]
- '@oxc-parser/binding-linux-riscv64-musl@0.140.0':
- resolution: {integrity: sha512-zBqpfRo2myWPrPo5xUjeZqlnPXPXsX8BcWtWff66/eGRQdbPjhzPgXa/F+AtxT2afUViPxbuDlwscMKzQ5tg+g==}
+ '@oxc-parser/binding-linux-riscv64-musl@0.142.0':
+ resolution: {integrity: sha512-hTsHtTLxMAfCo+rpF5K3qZJKW2NpPN/CHd4mYB3y7XlSdspHkd2gehDIofP64AacA9nWQw2tY3O7wR6UY8IVOA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [riscv64]
os: [linux]
libc: [musl]
- '@oxc-parser/binding-linux-s390x-gnu@0.140.0':
- resolution: {integrity: sha512-2M1DPm/8w9I//YzFlFC9qXw+r2tJFh5CYwRlYTq2vUJQS7qoQftEDeCZ8EnN7KHtvSiXvYj8mZI5pR7DpXmcEw==}
+ '@oxc-parser/binding-linux-s390x-gnu@0.142.0':
+ resolution: {integrity: sha512-6y7qYY3TCUDYjqswImdTGl92y+KA/80twALegQPN27kfY+bG7Ib1+L3jbmrCZQx6wrVnai9IPsEZp07I0hx7JQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [s390x]
os: [linux]
libc: [glibc]
- '@oxc-parser/binding-linux-x64-gnu@0.140.0':
- resolution: {integrity: sha512-8aRDbZ/U/jO8N7go1MO72jtbpb4uswV8d7vOkMvt/BPgZiyEYvl1VIWK4ESxZZhnJ4tqwVldgX7dNiP/eB1Jdg==}
+ '@oxc-parser/binding-linux-x64-gnu@0.142.0':
+ resolution: {integrity: sha512-i69kAWU+2LgoH5bR+zWiiu+UzAw7Oxkwv7COeJTeY19pn4e70nKQcr9Pm6cL2Z0Z54d+gl9qADlK/0yyuCPiBA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
libc: [glibc]
- '@oxc-parser/binding-linux-x64-musl@0.140.0':
- resolution: {integrity: sha512-xRqpeI8U2sQQS1W5BMWRyMTxtagkuLG2dEWruet5lFsWHTvBth11/TpSaJatHdqVVwHN0q3uuoS9zRsGinq8hg==}
+ '@oxc-parser/binding-linux-x64-musl@0.142.0':
+ resolution: {integrity: sha512-4SQs678MmjYVrmhAgCWD4o0vpaFszXw9xLX5p2Z9MMFcltxiLkA88wQjh80YHjPrXtpyZ2CWI5m+1yNKM0m2Pw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
libc: [musl]
- '@oxc-parser/binding-openharmony-arm64@0.140.0':
- resolution: {integrity: sha512-GbGRe26MqAKciFRvXeHNQJ6VAHYs9R4miP89sEAncysM3n+f4lnyLWgsa9kklJNpfnxdq2yRoNYHFqwBckVimw==}
+ '@oxc-parser/binding-openharmony-arm64@0.142.0':
+ resolution: {integrity: sha512-YHpx9N7Ln3a++Tc8rv+H7mrK1zyJQOAwCFg8LZ3lTs1T5afGWeZrLPhPT9HLnIwSjCyJqPWVMIrMxbjcmBr2oQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [openharmony]
- '@oxc-parser/binding-wasm32-wasi@0.140.0':
- resolution: {integrity: sha512-vFiC1hqys+hkX1GnQkIoiTQJNiUm43Z0lO35ETKXTw0YtpW7+cN58YRRXFAQQ+TgpkIi3lrhcxdlnqz+Oi3ptQ==}
+ '@oxc-parser/binding-wasm32-wasi@0.142.0':
+ resolution: {integrity: sha512-3pLDyY3+oogW73RM5uehNgAiR/Xfb7fvO2Q1Z1gIqZ2+50XDVQmBVlRkHXZTU4gKnQHpwETNsYQVsJ3joVB2iA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [wasm32]
- '@oxc-parser/binding-win32-arm64-msvc@0.140.0':
- resolution: {integrity: sha512-fGSQldwEYKhM+H8uLt76Op8hh5+FYaR6lvvQ1Txw3Mhn86DyQXLcI0fi1EkFlTK7F+46OCk/j0AJMzZQm6g5Xg==}
+ '@oxc-parser/binding-win32-arm64-msvc@0.142.0':
+ resolution: {integrity: sha512-Had/VeVY28Oyb0K+Q4FV8KCzoBycIh93oDK6pCbya9lkzdq+ikMHMgBubsdqqlybjJmQRawCQRrnBRHyQwYvcQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [win32]
- '@oxc-parser/binding-win32-ia32-msvc@0.140.0':
- resolution: {integrity: sha512-sDS2Bai+g3ZWYwfZqmosiSuFDBcVnZ3Ta6pszzsiJoLMqsJEWKcxXXbGa7b7yXr++W2lQNPb3ZRJ8czseqL7RA==}
+ '@oxc-parser/binding-win32-ia32-msvc@0.142.0':
+ resolution: {integrity: sha512-GGi3+YphVHavvgs6gum2UXoNCqzHAmPt/nXkn8ZQZstV2Q1qZD1Mn8fz/nWrDkefHQtrG/+1/XrbMxsBTo6Svw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [ia32]
os: [win32]
- '@oxc-parser/binding-win32-x64-msvc@0.140.0':
- resolution: {integrity: sha512-kHbE1zWyb5OQgJA6/5P4WjiuB01sYdQwtZnSSyE58FQEXDAMnyeeq4vj7KgN75i5SlBzOs8A5MrtlD3gOlDKqQ==}
+ '@oxc-parser/binding-win32-x64-msvc@0.142.0':
+ resolution: {integrity: sha512-Ny/Wv4Us1LGC/ljwNTp+Hx3r/pH15EFfeDF0p+n898gt+TtRd6C9SccHcuUhDiNTb8s5tt7jdeAMDRQZ4Vq6hg==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [win32]
@@ -2916,6 +2916,9 @@ packages:
'@oxc-project/types@0.140.0':
resolution: {integrity: sha512-h5LUOzGArYemnW1NMz/DuuQhBi96J6JL2Bk8zE4kvqxB5Sg3jxmCiH4uyOWHDkiKSt5vWlG4FIwCR/DbstcNRQ==}
+ '@oxc-project/types@0.142.0':
+ resolution: {integrity: sha512-7W+2q5AKQVU36fkaryontrHn3YDt1RyUYXatw9i5H8ocYe2sPKSFB6eS8WNPeRKiN1qAWWZUPm7gwFzJGrccqQ==}
+
'@parcel/watcher-android-arm64@2.6.0':
resolution: {integrity: sha512-trgpLSCKRC/huFjXX/Smh+0sWe4+YtKfktIToiMl59ghz7z+qkH6kMvNnUbLyRs9N11t8l4svSCs1+5B3rOAhA==}
engines: {node: '>= 10.0.0'}
@@ -3804,6 +3807,10 @@ packages:
resolution: {integrity: sha512-VtpBz9R61GTFUxPiQmBhCOffQZRJZMA2EXO/FzbaoNczm/Xt2KkDJq0PPwV5qmRGeouDRxEKUQ+caJGVN0W7Ww==}
engines: {node: '>=18'}
+ '@verdaccio/core@8.2.0':
+ resolution: {integrity: sha512-tK1QgY3Kl8n71Q5lvPsMEe2Kv6Rk1Vd6SUUCP7om8ARuDvLkvRgJ1o8Tq7vqYWkPRIPiowdPt18uEjcJo1moAw==}
+ engines: {node: '>=22'}
+
'@verdaccio/file-locking@13.0.1':
resolution: {integrity: sha512-SZ9uxnQKppiM+/67xTaaBP4AZ/Q+weUB22ci1gF861icYWhWFu3njA3ofYig/4yNqkYRVEKVAIwnH97BaBEYbg==}
engines: {node: '>=18'}
@@ -3985,12 +3992,6 @@ packages:
resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==}
engines: {node: '>= 0.6'}
- acorn-import-phases@1.0.4:
- resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==}
- engines: {node: '>=10.13.0'}
- peerDependencies:
- acorn: ^8.14.0
-
acorn-jsx@5.3.2:
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
@@ -4263,8 +4264,8 @@ packages:
resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==}
engines: {node: ^4.5.0 || >= 5.9}
- baseline-browser-mapping@2.11.0:
- resolution: {integrity: sha512-oCu2wfipvX3AePSgmOuKkIywOu+8n9psz7hXYmk56ghpu3+7KzNIBopaOs4c9BrtdnTtW30unG9GTfHo7EwERQ==}
+ baseline-browser-mapping@2.11.4:
+ resolution: {integrity: sha512-s4+sLr9mZ/CyqeRritFeYV/Zx73OAtmaHn6kkBS1XRoJn1hrg3xIDUcpicAEX68tkcIN0iBCgti31C8zxtkhsQ==}
engines: {node: '>=6.0.0'}
hasBin: true
@@ -4320,9 +4321,9 @@ packages:
brace-expansion@2.1.2:
resolution: {integrity: sha512-w5JZcKgdhDOgOwm8H+KgbosopHMuGcl6qbulwjtz3SM7I7P3yW1eAjzMPLrIE+NQ9vjgANKHWeMHnrT0OXW1oA==}
- brace-expansion@5.0.7:
- resolution: {integrity: sha512-7oFy703dxfY3/NLxC1fh2SUCQ0H9rmAY+5EpDVfXjUTTs+HEwR2nYaqLv+GWcTsumwxPfiz6CzCNkwXwBUwqCA==}
- engines: {node: 18 || 20 || >=22}
+ brace-expansion@5.0.8:
+ resolution: {integrity: sha512-JZyDyq3D4AUifKTPOB7DELf6XsB3WdPuNxCtob1vFXPsSXhdAiHBWJ/tJ8HAc9aH84BK+5JFZLNkJKx3G9kzQg==}
+ engines: {node: 20 || >=22}
braces@3.0.3:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
@@ -4571,8 +4572,8 @@ packages:
resolution: {integrity: sha512-cs+LadpH7Kpw0M3k8wurk+sOVVDAENA0iK4OBOrkL94j5lEVYRJ4j3zd2bhY9qgzyrPqthdcYT3axzRN7AliMg==}
engines: {node: '>=22'}
- conventional-commits-parser@7.1.0:
- resolution: {integrity: sha512-DPp6hkUjvwIivxbkrTiLXeRswNv1A/4GFA2X6scXma0AMa9632V3TwxmrlkUIEtUktiM3Ln+RrSH2xlP3/jUTw==}
+ conventional-commits-parser@7.1.1:
+ resolution: {integrity: sha512-B0f42jI++V5Vb7qK+DDw68r0dNxz5hk+RdKUkx2NOi39emc9hsHa3u2M3doF7QQhRFzCrAj7uM90teG+RBTaYQ==}
engines: {node: '>=22'}
hasBin: true
@@ -4867,8 +4868,8 @@ packages:
engines: {node: '>=0.12.18'}
hasBin: true
- electron-to-chromium@1.5.395:
- resolution: {integrity: sha512-7zt9Aw+SrmxLWLN0zhaTWZQiCdryLVrYTq5R7iZakLvi2UQPYMMsROYV/2qVCzMeCiSXHwKOU+sZ4zOVVlrtKA==}
+ electron-to-chromium@1.5.396:
+ resolution: {integrity: sha512-yHiw2Y3C3H9U6TMbOfoWK/BPreiOPXRfTWPBwQBoZG6/8TB6eOPnsy5oaRYuatR7Fw2SJ4kKforgufeo7fq0EQ==}
emoji-regex@10.6.0:
resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==}
@@ -4912,8 +4913,8 @@ packages:
resolution: {integrity: sha512-clKkw4C7nJ22mGgoVcCg6V/W/TxdNyIOTr89k2ONZu81qqkddPFDF0LXcbAwhzPD8DjkiRCjzuiO6Y+fkpD4vg==}
engines: {node: '>=10.2.0'}
- enhanced-resolve@5.24.3:
- resolution: {integrity: sha512-PwKooW9JUzh5chmYfHM3IQl5OkK2u2Nm011MgeZrss3JmFraUx/fqrf78kk8GUMYoibx/14MdwTl/1WKkG7TpQ==}
+ enhanced-resolve@5.24.4:
+ resolution: {integrity: sha512-GVoi+ICHocoOIU7qVVM48wOJziRsqrsyqlI0Ce0LdowRn6v3bcH2zUa9kp85ncx0nwIb9/HOCOLS3fdThDG/XQ==}
engines: {node: '>=10.13.0'}
ent@2.2.2:
@@ -5151,8 +5152,8 @@ packages:
express-rate-limit@5.5.1:
resolution: {integrity: sha512-MTjE2eIbHv5DyfuFz4zLYWxpqVhEhkTiwFGuB74Q9CSou2WHO52nlE5y3Zlg6SIsiYUIPj6ifFxnkPz6O3sIUg==}
- express-rate-limit@8.6.0:
- resolution: {integrity: sha512-XKJXDsASUOo0LLtFwW5hCcQGH0N4WQc/Rn8/Pvoia+TJFOkkFPvrtW9lZOeeNcxQJspvOIERMwiRLsVFlhHEkA==}
+ express-rate-limit@8.6.1:
+ resolution: {integrity: sha512-0D493aP61w0TJ2A0wy27riRsO7FMQ7FK+KUHOKCSfPvYo0R55aiC6emCVgFUeShH0fq0ICPVzNcgoS+BsbXQCA==}
engines: {node: '>= 16'}
peerDependencies:
express: '>= 4.11'
@@ -5271,8 +5272,8 @@ packages:
resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==}
hasBin: true
- flatted@3.4.2:
- resolution: {integrity: sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==}
+ flatted@3.4.3:
+ resolution: {integrity: sha512-/zipXxyO6rGvuNGDiULY9MvEGSkb2gaG4GGH4ygMi0ZZzyMHdUZBmntJmx5x1G2VuPytCwGN4xsJP6cw+sK+vQ==}
folder-hash@4.1.3:
resolution: {integrity: sha512-94fj+fXj1XHT8zGumUy/VlyFARc/yrslKJ2+vjrP/U6ftTdL7u68+gQhvSBjz9wrwTuty6BpZ7JsbEK5OU9RNw==}
@@ -5358,16 +5359,16 @@ packages:
resolution: {integrity: sha512-YGGyuEdVIjqxkxVH1pUTMY/XtmmsApXrCVv5EU25iX6inEPbV+VakJfLealkBtJN69AQmh1eGOdCl9Sm1UP6XQ==}
engines: {node: '>=18'}
- gaxios@7.2.0:
- resolution: {integrity: sha512-CUVb4wcYe+771XevyH6HtGmXFAGGKkIC3kswAP8Z1JCe0j80JMaTPZH930DWFrvo0atjh18Arc0pEyUCWa5bfg==}
+ gaxios@7.3.0:
+ resolution: {integrity: sha512-RB5vLV+vvQeoFPCX4QMK6/hjVkbIamPp1QSUD0CiZcnj12qbpiL+pLbYtgD+oZkWl0tl9z+o2Utp+MpM3QRhBA==}
engines: {node: '>=18'}
gcp-metadata@8.1.2:
resolution: {integrity: sha512-zV/5HKTfCeKWnxG0Dmrw51hEWFGfcF2xiXqcA3+J90WDuP0SvoiSO5ORvcBsifmx/FoIjgQN3oNOGaQ5PhLFkg==}
engines: {node: '>=18'}
- gcp-metadata@8.1.3:
- resolution: {integrity: sha512-ziTrzUhhpL9Zk5k0HHzgP/KIpWDJT0VMBC/ynt/QIBvTW+UUcSivQRl6VlwTf/EilDxtSWklHoRsKy1c4k+59w==}
+ gcp-metadata@8.1.4:
+ resolution: {integrity: sha512-iJ9KMsiu+xKtNRX0PmGLSaIU3bUBAyzWTyqKemKPzNPsmmsBCQYmlNg+brEbES7IHSXtdVwzBPzx1vz3FAaipw==}
engines: {node: '>=18'}
generator-function@2.0.1:
@@ -5460,12 +5461,12 @@ packages:
resolution: {integrity: sha512-7ABviyMOlX5hIVD60YOfHw4/CxOfBhyduaYB+wbFWCWoni4N7SLcV46hrVRktuBbZjFC9ONyqamZITN7q3n32w==}
engines: {node: '>=18'}
- google-auth-library@10.9.0:
- resolution: {integrity: sha512-xtvUqvINPhTaBm7nXqlYPcrMHJPm1lCNdSovxnKKhTm+4JsvQ+KGVYJViLoH9Yxu8w+T0Qv5HubzYT9BLrppJg==}
+ google-auth-library@10.9.1:
+ resolution: {integrity: sha512-i1ydyHrqcIxXkWh/uBmVkzCvIuq5yiK2ATndIe5XxKholrG/MTYP9xGYka4sQhrbIAgGjL2B6NOE7rFaiF3fXw==}
engines: {node: '>=18'}
- google-gax@5.0.7:
- resolution: {integrity: sha512-EhiqaWWJ+9h7sCcKJTsoo6tMcjokVHhWsbSuWCnZJT4vIBP3y4mAoFLnt9SzgkVZeq24ZsFaArr06nnYYku2yA==}
+ google-gax@5.0.8:
+ resolution: {integrity: sha512-M4vpZcXQIC1gqIVGQ7eaU3jXQA6zecStyTXu514TYfThlgSurYJOxHZo9fzU6hAgwPWvuEynAVHWyaIk80VeEA==}
engines: {node: '>=18'}
google-logging-utils@1.1.3:
@@ -5540,8 +5541,8 @@ packages:
resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==}
engines: {node: '>= 0.4'}
- hono@4.12.31:
- resolution: {integrity: sha512-zJIHFrl6bq3RDd2YusFNCDlM8qUprxKswyi/OPzPyzKDdyBXDqWx8bZlZ7R+saTdSTatUmb3O7K4SspGPaEOQg==}
+ hono@4.12.32:
+ resolution: {integrity: sha512-XcuyW9qE2kJn07PkecMOBd5Vq/hMy7mmGw+idz1yblbg9N17ijJODrvPkn7/dwL3Kulj8LcRJ69DLOWf91dRUg==}
engines: {node: '>=16.9.0'}
hosted-git-info@10.1.1:
@@ -5706,8 +5707,8 @@ packages:
resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==}
engines: {node: '>= 0.4'}
- ip-address@10.2.0:
- resolution: {integrity: sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==}
+ ip-address@10.3.1:
+ resolution: {integrity: sha512-1e9d3kb97NHJTIJDZW9rKqW2h6+dFa50Dy0fpPSMQp2ADje5gvKsXmdiK6dwY5t76TaTt5+P5N1Y/LoToIxP6g==}
engines: {node: '>= 12'}
ipaddr.js@1.9.1:
@@ -6263,10 +6264,6 @@ packages:
resolution: {integrity: sha512-j3uE8ReKNyUWDjhfEFSJqE/1DLtfTR5Z8yFzVHvBjAk37wNg7HdScjcv8ttPHRvrdgPQMPWxFFI0SsdBzI5lBw==}
hasBin: true
- loader-runner@4.3.2:
- resolution: {integrity: sha512-DFEqQ3ihfS9blba08cLfYf1NRAIEm+dDjic073DRDc3/JspI/8wYmtDsHwd3+4hwvdxSK7PGaElfTmm0awWJ4w==}
- engines: {node: '>=6.11.5'}
-
loader-utils@2.0.4:
resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==}
engines: {node: '>=8.9.0'}
@@ -6383,8 +6380,8 @@ packages:
resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
engines: {node: '>= 0.6'}
- media-typer@1.1.0:
- resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==}
+ media-typer@1.1.1:
+ resolution: {integrity: sha512-yz3xRaG20c6/BOzvYoDaGtPmGscs7YivItZEEqe6GbwNfHuxu9YNmvnEkMzKldAGY4/80pRcQRZSEnhquk9XuQ==}
engines: {node: '>= 0.8'}
memfs@4.64.0:
@@ -6470,6 +6467,10 @@ packages:
resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==}
engines: {node: 18 || 20 || >=22}
+ minimatch@10.2.6:
+ resolution: {integrity: sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==}
+ engines: {node: 18 || 20 || >=22}
+
minimatch@3.1.5:
resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==}
@@ -6607,12 +6608,12 @@ packages:
neo-async@2.6.2:
resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
- ng-packagr@22.1.0-next.3:
- resolution: {integrity: sha512-wl36HBl2TCU2O4JOl4iGeKALBtkX1yaiW/GEnzYiTLuQQqlNSuhUWFFl9Y/nzrcnjKlcJkg2CoKdF+PSu8amfg==}
+ ng-packagr@22.1.0:
+ resolution: {integrity: sha512-Vd4M/N0dDMYk3QTcKx8DAEiE7qOmM7WE04GICW7Kcr25XQYq0rQJGVSCsgpI/jmPV5V/UOANWMJARUiMlktyYg==}
engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0}
hasBin: true
peerDependencies:
- '@angular/compiler-cli': ^22.1.0-next
+ '@angular/compiler-cli': ^22.0.0 || ^22.1.0-next || ^22.2.0-next
tailwindcss: ^2.0.0 || ^3.0.0 || ^4.0.0
tslib: ^2.3.0
typescript: '>=6.0 <6.1'
@@ -6778,8 +6779,8 @@ packages:
resolution: {integrity: sha512-19YVAg7T+WTrxggPukVq7DjTv6+PJ867TmhCvBsYwmbFCsZd344rq2Ld1p0wo8f8Qrrhgp82c6FJRqdXWtSEhg==}
engines: {node: '>= 0.4'}
- oxc-parser@0.140.0:
- resolution: {integrity: sha512-h6QFWd6lBMfjESqgQ27GjzrSDb0qbznp7VDQqp2zvgsrWut4vcchyMIzOVXvGQ2GMZgKw9RWrFNWv9WqGL0p7Q==}
+ oxc-parser@0.142.0:
+ resolution: {integrity: sha512-kKR+jPiRJYJDexVoziIg/FVGvr1fT1FZSSJOk6tVoMKKSlsf1Cso+cgGCJkOEDWOP174vRntCPFKg+AS7InWvw==}
engines: {node: ^20.19.0 || >=22.12.0}
p-cancelable@2.1.1:
@@ -6999,8 +7000,8 @@ packages:
postcss-value-parser@4.2.0:
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
- postcss@8.5.19:
- resolution: {integrity: sha512-Mz8SaolMd8nB+G13WkORcxQKHZ/NE4xXevtkJHVuG+guo9/wYKlIMTKAqGdEmYOXR2ijPjTYNHssizdaVSUNdQ==}
+ postcss@8.5.25:
+ resolution: {integrity: sha512-DTPx3RWSSnWyzLxQnlH0rJP+EW5ekl16ZU4/psbIhA0e53kJfdgaN5vKM+xP7yJtXVu+nfdVFmlgFDEKAe4Pyw==}
engines: {node: ^10 || ^12 || >=14}
powershell-utils@0.1.0:
@@ -7240,8 +7241,8 @@ packages:
resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==}
engines: {node: '>=18'}
- retry-request@8.0.3:
- resolution: {integrity: sha512-qqoc4kkGgP9cmQDWELlOpAmfgJOg0Yi7MT82ZjiPWu451ayju4itwomjM4/dBEliify8C1b3tSaeCOldugtwPQ==}
+ retry-request@8.0.4:
+ resolution: {integrity: sha512-pI6/7eabUYkZxamkOq0g0uMxKLLGnjzhefY+vL8bVXag5rto4OU2YBTPytWLuHH7aEKD6fn7kJycQfid0Mwnkw==}
engines: {node: '>=18'}
retry@0.13.1:
@@ -7368,8 +7369,8 @@ packages:
engines: {node: '>=20.19.0'}
hasBin: true
- sax@1.6.0:
- resolution: {integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==}
+ sax@1.6.1:
+ resolution: {integrity: sha512-42tBVwLWnaQvW5zc4HbZrTuWccECCZfBi92FDuwtqxasH+JbPB3/FOKb1m222K42R4WxuxzzMsTswfzgtSu64Q==}
engines: {node: '>=11.0.0'}
saxes@6.0.0:
@@ -7686,9 +7687,9 @@ packages:
stubs@3.0.0:
resolution: {integrity: sha512-PdHt7hHUJKxvTCgbKX9C1V/ftOcjJQgz8BZwNfV5c4B6dcGqlpelTbJ999jBGZ2jYiPAwcX5dP6oBwVlBlUbxw==}
- supports-color@10.2.2:
- resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==}
- engines: {node: '>=18'}
+ supports-color@11.0.0:
+ resolution: {integrity: sha512-/zyImLdxhdygBIaVX0xTlQhKaCDLCrm665aqHk8xqK/Pa6k61fL6gwQGQq1k31yNyz6x55PppQgF2DMyPQa5xw==}
+ engines: {node: '>=22'}
supports-color@7.2.0:
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
@@ -7715,8 +7716,8 @@ packages:
tar-stream@3.2.0:
resolution: {integrity: sha512-ojzvCvVaNp6aOTFmG7jaRD0meowIAuPc3cMMhSgKiVWws1GyHbGd/xvnyuRKcKlMpt3qvxx6r0hreCNITP9hIg==}
- teeny-request@10.1.3:
- resolution: {integrity: sha512-5yDliI1uWkYPo7W+Zvrxg6YmoWuj5iC5EydewqrRTvc68nyMTZhlPPlLg6cptUGfbQAb+N9XDPDPzF6N081lug==}
+ teeny-request@10.1.4:
+ resolution: {integrity: sha512-R1Cg4Vu0UULeDfHL/kjABLaTW++9yD/B6n2g48y5dJ04hsEaxcfmAqbNDzNsbqAYJyIpZafjklLG9YxRu9uzOg==}
engines: {node: '>=18'}
teex@1.0.1:
@@ -7730,8 +7731,8 @@ packages:
text-decoder@1.2.7:
resolution: {integrity: sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ==}
- thingies@2.6.0:
- resolution: {integrity: sha512-rMHRjmlFLM1R96UYPvpmnc3LYtdFrT33JIB7L9hetGue1qAPfn1N2LJeEjxUSidu1Iku+haLZXDuEXUHNGO/lg==}
+ thingies@2.6.1:
+ resolution: {integrity: sha512-cV/CMGTK3M4MlnJ/0At6ismOw/A0EEniDNScajjz/Br3c1sqE72YD01rGpPTKwd27wAxI5Pr+6+0w8yofzFRYw==}
engines: {node: '>=10.18'}
peerDependencies:
tslib: ^2
@@ -7925,12 +7926,12 @@ packages:
undici-types@7.18.2:
resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==}
- undici@6.27.0:
- resolution: {integrity: sha512-YmfV3YnEDzXRC5lZ2jWtWWHKGUm1zIt8AhesR1tens+HTNv+YZlN/dp6G727LOvMJ8xjP9Be7Y2Sdr96LDm+pg==}
+ undici@6.28.0:
+ resolution: {integrity: sha512-LIY910g9TI13YS95lrMFrs8Rm/u/irgHeTWoKCoteeJ04CUJ92eEfj0rVn+7VKMPBpUPiUoBKfhNyLI23EE/KA==}
engines: {node: '>=18.17'}
- undici@7.28.0:
- resolution: {integrity: sha512-cRZYrTDwWznlnRiPjggAGxZXanty6M8RV1ff8Wm4LWXBp7/IG8v5DnOm74DtUBp9OONpK75YlPnIjQqX0dBDtA==}
+ undici@7.29.0:
+ resolution: {integrity: sha512-IDxfleLmmbSskfWSUATiN1nfn2rDuvnMOqb5CWR92iIfojA0Ud+ulOAAEQ57LPr9rWmsreUyf5lwyao+7GNNVw==}
engines: {node: '>=20.18.1'}
undici@8.7.0:
@@ -8026,9 +8027,9 @@ packages:
resolution: {integrity: sha512-n5VYOooGpXr3ZE2DjNx6lJPkCFd2sORDVMmbs0o7Mqx6g0kOHTkfkY5DygZAwOvGtFy0CecufRrl49RzAD9Jkg==}
engines: {node: '>=18'}
- verdaccio-auth-memory@13.0.3:
- resolution: {integrity: sha512-EXzDLxTfpm7/B0TEAUKHgi/ygWqjNAyQ+O2rGAF9WONMZY99LVPmf7IpGoKMWCarf2L+nuKVxJ9hbyQeFbyysQ==}
- engines: {node: '>=18'}
+ verdaccio-auth-memory@13.1.0:
+ resolution: {integrity: sha512-DEbiZyJfxhnmf+Q168NJmQrF3YBM2d9MsIrnLqfQdpk5tWrxOEBn7/d3p26UPYecfgqRm22AvxSt8XcquDadEw==}
+ engines: {node: '>=22'}
verdaccio-htpasswd@13.0.3:
resolution: {integrity: sha512-xh0VO4zRfcbIR2bpH2SwW4kLHzCEKFYg9lykpuEENJ9OIcoc12mGXH5DTuOuJ9po8Y0mGTzFh3JUZIwXJlmOSw==}
@@ -8210,8 +8211,8 @@ packages:
html-webpack-plugin:
optional: true
- webpack@5.108.4:
- resolution: {integrity: sha512-yur8LyJoeiWh47dErD+Ok7vlbmDsJ3UbbRPAoxbGJ54WpE2y5yVo5G/inUzujnYgw3tPmBRdn+G7PoxXaYC33w==}
+ webpack@5.109.2:
+ resolution: {integrity: sha512-U9/cvLzxObKNEZ9+TtdqrHM5/9z3lgl2c+c4BzbqGxFQvQvBAq87yql5A8pQ+rrMbS496MZJeF5enVBndIy2hw==}
engines: {node: '>=10.13.0'}
hasBin: true
peerDependencies:
@@ -8378,12 +8379,16 @@ packages:
resolution: {integrity: sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==}
engines: {node: ^20.19.0 || ^22.12.0 || >=23}
+ yargs@18.1.0:
+ resolution: {integrity: sha512-2rAgRKu54VsHkqI0/tYkmluGXHD4KW7yZoycuqDQ15QOTnc2VVfy0nN/1eMhnQLO00A+dwtK20xuCnc1YGeUyg==}
+ engines: {node: ^20.19.0 || ^22.12.0 || >=23}
+
yocto-queue@0.1.0:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
- yoctocolors@2.1.2:
- resolution: {integrity: sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==}
+ yoctocolors@2.2.0:
+ resolution: {integrity: sha512-xYqdZFUK/VYazNl/oCDYN+3WloWQwMfZxBoiNt6qNyk+xfOdi598muWE42rNZFp1kNOiqW936q5RhUdnpqElSg==}
engines: {node: '>=18'}
zod-to-json-schema@3.25.2:
@@ -8414,7 +8419,7 @@ snapshots:
'@actions/http-client@4.0.1':
dependencies:
tunnel: 0.0.6
- undici: 6.27.0
+ undici: 6.28.0
'@actions/io@3.0.2': {}
@@ -8423,29 +8428,29 @@ snapshots:
'@jridgewell/gen-mapping': 0.3.13
'@jridgewell/trace-mapping': 0.3.31
- '@angular/animations@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))':
+ '@angular/animations@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))':
dependencies:
- '@angular/core': 22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)
+ '@angular/core': 22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)
tslib: 2.8.1
- '@angular/cdk@22.1.0-next.4(@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.1.0-rc.0(@angular/animations@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)':
+ '@angular/cdk@22.1.0(@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.1.0(@angular/animations@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)':
dependencies:
- '@angular/common': 22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)
- '@angular/core': 22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)
- '@angular/platform-browser': 22.1.0-rc.0(@angular/animations@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))
+ '@angular/common': 22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)
+ '@angular/core': 22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)
+ '@angular/platform-browser': 22.1.0(@angular/animations@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))
parse5: 8.0.1
rxjs: 7.8.2
tslib: 2.8.1
- '@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)':
+ '@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)':
dependencies:
- '@angular/core': 22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)
+ '@angular/core': 22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)
rxjs: 7.8.2
tslib: 2.8.1
- '@angular/compiler-cli@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(typescript@6.0.3)':
+ '@angular/compiler-cli@22.1.0(@angular/compiler@22.1.0)(typescript@6.0.3)':
dependencies:
- '@angular/compiler': 22.1.0-rc.0
+ '@angular/compiler': 22.1.0
'@babel/core': 8.0.1
'@jridgewell/sourcemap-codec': 1.5.5
chokidar: 5.0.0
@@ -8457,52 +8462,52 @@ snapshots:
optionalDependencies:
typescript: 6.0.3
- '@angular/compiler@22.1.0-rc.0':
+ '@angular/compiler@22.1.0':
dependencies:
tslib: 2.8.1
- '@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)':
+ '@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)':
dependencies:
rxjs: 7.8.2
tslib: 2.8.1
optionalDependencies:
- '@angular/compiler': 22.1.0-rc.0
+ '@angular/compiler': 22.1.0
zone.js: 0.16.2
- '@angular/forms@22.1.0-rc.0(@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.1.0-rc.0(@angular/animations@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)':
+ '@angular/forms@22.1.0(@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.1.0(@angular/animations@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)':
dependencies:
- '@angular/common': 22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)
- '@angular/core': 22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)
- '@angular/platform-browser': 22.1.0-rc.0(@angular/animations@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))
+ '@angular/common': 22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)
+ '@angular/core': 22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)
+ '@angular/platform-browser': 22.1.0(@angular/animations@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))
'@standard-schema/spec': 1.1.0
rxjs: 7.8.2
tslib: 2.8.1
zod: 4.4.3
- '@angular/localize@22.1.0-rc.0(@angular/compiler-cli@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(typescript@6.0.3))(@angular/compiler@22.1.0-rc.0)':
+ '@angular/localize@22.1.0(@angular/compiler-cli@22.1.0(@angular/compiler@22.1.0)(typescript@6.0.3))(@angular/compiler@22.1.0)':
dependencies:
- '@angular/compiler': 22.1.0-rc.0
- '@angular/compiler-cli': 22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(typescript@6.0.3)
+ '@angular/compiler': 22.1.0
+ '@angular/compiler-cli': 22.1.0(@angular/compiler@22.1.0)(typescript@6.0.3)
'@babel/core': 8.0.1
tinyglobby: 0.2.17
yargs: 18.0.0
- '@angular/material@22.1.0-next.4(4ff7080c77e2fe320ac430b9737f79ee)':
+ '@angular/material@22.1.0(1d5b48d6601505eec7b597e3914980b4)':
dependencies:
- '@angular/cdk': 22.1.0-next.4(@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.1.0-rc.0(@angular/animations@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)
- '@angular/common': 22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)
- '@angular/core': 22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)
- '@angular/forms': 22.1.0-rc.0(@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.1.0-rc.0(@angular/animations@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)
- '@angular/platform-browser': 22.1.0-rc.0(@angular/animations@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))
+ '@angular/cdk': 22.1.0(@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.1.0(@angular/animations@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)
+ '@angular/common': 22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)
+ '@angular/core': 22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)
+ '@angular/forms': 22.1.0(@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.1.0(@angular/animations@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)
+ '@angular/platform-browser': 22.1.0(@angular/animations@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))
rxjs: 7.8.2
tslib: 2.8.1
- '@angular/ng-dev@https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/7a67d5221a9efec2b69b102759d04223a3fc8552(@modelcontextprotocol/sdk@1.29.0(supports-color@10.2.2)(zod@4.4.3))':
+ '@angular/ng-dev@https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/2af985ddb942b5928dfb730a6b8efaccd1798846(@modelcontextprotocol/sdk@1.29.0(supports-color@11.0.0)(zod@4.4.3))':
dependencies:
'@actions/core': 3.0.1
- '@conventional-changelog/git-client': 3.1.0(conventional-commits-filter@6.0.1)(conventional-commits-parser@7.1.0)
- '@google-cloud/spanner': 8.0.0(supports-color@10.2.2)
- '@google/genai': 2.12.0(@modelcontextprotocol/sdk@1.29.0(supports-color@10.2.2)(zod@4.4.3))(bufferutil@4.1.0)(supports-color@10.2.2)(utf-8-validate@6.0.6)
+ '@conventional-changelog/git-client': 3.1.0(conventional-commits-filter@6.0.1)(conventional-commits-parser@7.1.1)
+ '@google-cloud/spanner': 8.0.0(supports-color@11.0.0)
+ '@google/genai': 2.13.0(@modelcontextprotocol/sdk@1.29.0(supports-color@11.0.0)(zod@4.4.3))(bufferutil@4.1.0)(supports-color@11.0.0)(utf-8-validate@6.0.6)
'@inquirer/prompts': 8.5.2(@types/node@24.13.3)
'@inquirer/type': 4.0.7(@types/node@24.13.3)
'@octokit/auth-app': 8.2.0
@@ -8530,70 +8535,70 @@ snapshots:
bufferutil: 4.1.0
cli-progress: 3.12.0
conventional-commits-filter: 6.0.1
- conventional-commits-parser: 7.1.0
+ conventional-commits-parser: 7.1.1
ejs: 6.0.1
encoding: 0.1.13
fast-glob: 3.3.3
firebase: 12.16.0
- folder-hash: 4.1.3(supports-color@10.2.2)
+ folder-hash: 4.1.3(supports-color@11.0.0)
jasmine: 6.3.0
jasmine-core: 6.3.0
jasmine-reporters: 2.5.2
jsonc-parser: 3.3.1
- minimatch: 10.2.5
+ minimatch: 10.2.6
multimatch: 8.0.0
nock: 14.0.16
semver: 7.8.5
- supports-color: 10.2.2
+ supports-color: 11.0.0
tsx: 4.23.1
typed-graphqlify: 3.1.6
typescript: 6.0.3
utf-8-validate: 6.0.6
which: 7.0.0
yaml: 2.9.0
- yargs: 18.0.0
+ yargs: 18.1.0
zod: 4.4.3
transitivePeerDependencies:
- '@modelcontextprotocol/sdk'
- '@react-native-async-storage/async-storage'
- '@angular/platform-browser@22.1.0-rc.0(@angular/animations@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))':
+ '@angular/platform-browser@22.1.0(@angular/animations@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))':
dependencies:
- '@angular/common': 22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)
- '@angular/core': 22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)
+ '@angular/common': 22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)
+ '@angular/core': 22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)
tslib: 2.8.1
optionalDependencies:
- '@angular/animations': 22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))
+ '@angular/animations': 22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))
- '@angular/platform-server@22.1.0-rc.0(@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/compiler@22.1.0-rc.0)(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.1.0-rc.0(@angular/animations@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)':
+ '@angular/platform-server@22.1.0(@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/compiler@22.1.0)(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.1.0(@angular/animations@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)':
dependencies:
- '@angular/common': 22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)
- '@angular/compiler': 22.1.0-rc.0
- '@angular/core': 22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)
- '@angular/platform-browser': 22.1.0-rc.0(@angular/animations@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))
+ '@angular/common': 22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)
+ '@angular/compiler': 22.1.0
+ '@angular/core': 22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)
+ '@angular/platform-browser': 22.1.0(@angular/animations@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))
rxjs: 7.8.2
tslib: 2.8.1
xhr2: 0.2.1
- '@angular/router@22.1.0-rc.0(@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.1.0-rc.0(@angular/animations@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)':
+ '@angular/router@22.1.0(@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.1.0(@angular/animations@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)':
dependencies:
- '@angular/common': 22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)
- '@angular/core': 22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)
- '@angular/platform-browser': 22.1.0-rc.0(@angular/animations@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))
+ '@angular/common': 22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)
+ '@angular/core': 22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)
+ '@angular/platform-browser': 22.1.0(@angular/animations@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))
rxjs: 7.8.2
tslib: 2.8.1
- '@angular/service-worker@22.1.0-rc.0(@angular/core@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)':
+ '@angular/service-worker@22.1.0(@angular/core@22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)':
dependencies:
- '@angular/core': 22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(rxjs@7.8.2)(zone.js@0.16.2)
+ '@angular/core': 22.1.0(@angular/compiler@22.1.0)(rxjs@7.8.2)(zone.js@0.16.2)
rxjs: 7.8.2
tslib: 2.8.1
'@asamuzakjp/css-color@5.1.11':
dependencies:
'@asamuzakjp/generational-cache': 1.0.1
- '@csstools/css-calc': 3.2.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)
- '@csstools/css-color-parser': 4.1.9(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)
+ '@csstools/css-calc': 3.3.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)
+ '@csstools/css-color-parser': 4.1.10(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)
'@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0)
'@csstools/css-tokenizer': 4.0.0
@@ -8624,20 +8629,20 @@ snapshots:
'@babel/compat-data@8.0.0': {}
- '@babel/core@7.29.7(supports-color@10.2.2)':
+ '@babel/core@7.29.7(supports-color@11.0.0)':
dependencies:
'@babel/code-frame': 7.29.7
'@babel/generator': 7.29.7
'@babel/helper-compilation-targets': 7.29.7
- '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2)
+ '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7(supports-color@11.0.0))(supports-color@11.0.0)
'@babel/helpers': 7.29.7
'@babel/parser': 7.29.7
'@babel/template': 7.29.7
- '@babel/traverse': 7.29.7(supports-color@10.2.2)
+ '@babel/traverse': 7.29.7(supports-color@11.0.0)
'@babel/types': 7.29.7
'@jridgewell/remapping': 2.3.5
convert-source-map: 2.0.0
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
gensync: 1.0.0-beta.2
json5: 2.2.3
semver: 6.3.1
@@ -8734,9 +8739,9 @@ snapshots:
'@babel/traverse': 8.0.4
'@babel/types': 8.0.4
- '@babel/helper-module-imports@7.29.7(supports-color@10.2.2)':
+ '@babel/helper-module-imports@7.29.7(supports-color@11.0.0)':
dependencies:
- '@babel/traverse': 7.29.7(supports-color@10.2.2)
+ '@babel/traverse': 7.29.7(supports-color@11.0.0)
'@babel/types': 7.29.7
transitivePeerDependencies:
- supports-color
@@ -8746,12 +8751,12 @@ snapshots:
'@babel/traverse': 8.0.4
'@babel/types': 8.0.4
- '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2)':
+ '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7(supports-color@11.0.0))(supports-color@11.0.0)':
dependencies:
- '@babel/core': 7.29.7(supports-color@10.2.2)
- '@babel/helper-module-imports': 7.29.7(supports-color@10.2.2)
+ '@babel/core': 7.29.7(supports-color@11.0.0)
+ '@babel/helper-module-imports': 7.29.7(supports-color@11.0.0)
'@babel/helper-validator-identifier': 7.29.7
- '@babel/traverse': 7.29.7(supports-color@10.2.2)
+ '@babel/traverse': 7.29.7(supports-color@11.0.0)
transitivePeerDependencies:
- supports-color
@@ -9250,7 +9255,7 @@ snapshots:
'@babel/parser': 8.0.4
'@babel/types': 8.0.4
- '@babel/traverse@7.29.7(supports-color@10.2.2)':
+ '@babel/traverse@7.29.7(supports-color@11.0.0)':
dependencies:
'@babel/code-frame': 7.29.7
'@babel/generator': 7.29.7
@@ -9258,7 +9263,7 @@ snapshots:
'@babel/parser': 7.29.7
'@babel/template': 7.29.7
'@babel/types': 7.29.7
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
transitivePeerDependencies:
- supports-color
@@ -9296,26 +9301,26 @@ snapshots:
'@colors/colors@1.5.0': {}
- '@conventional-changelog/git-client@3.1.0(conventional-commits-filter@6.0.1)(conventional-commits-parser@7.1.0)':
+ '@conventional-changelog/git-client@3.1.0(conventional-commits-filter@6.0.1)(conventional-commits-parser@7.1.1)':
dependencies:
'@simple-libs/child-process-utils': 2.0.0
'@simple-libs/stream-utils': 2.0.0
semver: 7.8.5
optionalDependencies:
conventional-commits-filter: 6.0.1
- conventional-commits-parser: 7.1.0
+ conventional-commits-parser: 7.1.1
'@csstools/color-helpers@6.1.0': {}
- '@csstools/css-calc@3.2.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)':
+ '@csstools/css-calc@3.3.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)':
dependencies:
'@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0)
'@csstools/css-tokenizer': 4.0.0
- '@csstools/css-color-parser@4.1.9(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)':
+ '@csstools/css-color-parser@4.1.10(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)':
dependencies:
'@csstools/color-helpers': 6.1.0
- '@csstools/css-calc': 3.2.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)
+ '@csstools/css-calc': 3.3.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)
'@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0)
'@csstools/css-tokenizer': 4.0.0
@@ -9323,7 +9328,7 @@ snapshots:
dependencies:
'@csstools/css-tokenizer': 4.0.0
- '@csstools/css-syntax-patches-for-csstree@1.1.6(css-tree@3.2.1)':
+ '@csstools/css-syntax-patches-for-csstree@1.1.7(css-tree@3.2.1)':
optionalDependencies:
css-tree: 3.2.1
@@ -9457,23 +9462,23 @@ snapshots:
'@esbuild/win32-x64@0.28.1':
optional: true
- '@eslint-community/eslint-utils@4.10.1(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))':
+ '@eslint-community/eslint-utils@4.10.1(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))':
dependencies:
- eslint: 10.7.0(jiti@2.7.0)(supports-color@10.2.2)
+ eslint: 10.7.0(jiti@2.7.0)(supports-color@11.0.0)
eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.12.2': {}
- '@eslint/compat@2.1.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))':
+ '@eslint/compat@2.1.0(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))':
dependencies:
'@eslint/core': 1.2.1
optionalDependencies:
- eslint: 10.7.0(jiti@2.7.0)(supports-color@10.2.2)
+ eslint: 10.7.0(jiti@2.7.0)(supports-color@11.0.0)
- '@eslint/config-array@0.23.5(supports-color@10.2.2)':
+ '@eslint/config-array@0.23.5(supports-color@11.0.0)':
dependencies:
'@eslint/object-schema': 3.0.5
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
minimatch: 10.2.5
transitivePeerDependencies:
- supports-color
@@ -9486,10 +9491,10 @@ snapshots:
dependencies:
'@types/json-schema': 7.0.15
- '@eslint/eslintrc@3.3.6(supports-color@10.2.2)':
+ '@eslint/eslintrc@3.3.6(supports-color@11.0.0)':
dependencies:
ajv: 6.15.0
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
espree: 10.4.0
globals: 14.0.0
ignore: 5.3.2
@@ -9500,9 +9505,9 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@eslint/js@10.0.1(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))':
+ '@eslint/js@10.0.1(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))':
optionalDependencies:
- eslint: 10.7.0(jiti@2.7.0)(supports-color@10.2.2)
+ eslint: 10.7.0(jiti@2.7.0)(supports-color@11.0.0)
'@eslint/object-schema@3.0.5': {}
@@ -9836,17 +9841,17 @@ snapshots:
'@glideapps/ts-necessities@2.2.3': {}
- '@google-cloud/common@6.0.1(supports-color@10.2.2)':
+ '@google-cloud/common@6.1.0(supports-color@11.0.0)':
dependencies:
'@google-cloud/projectify': 4.0.0
'@google-cloud/promisify': 4.1.0
arrify: 2.0.1
duplexify: 4.1.3
extend: 3.0.2
- google-auth-library: 10.9.0(supports-color@10.2.2)
+ google-auth-library: 10.9.1(supports-color@11.0.0)
html-entities: 2.6.0
- retry-request: 8.0.3(supports-color@10.2.2)
- teeny-request: 10.1.3(supports-color@10.2.2)
+ retry-request: 8.0.4(supports-color@11.0.0)
+ teeny-request: 10.1.4(supports-color@11.0.0)
transitivePeerDependencies:
- supports-color
@@ -9860,9 +9865,9 @@ snapshots:
'@google-cloud/promisify@5.1.0': {}
- '@google-cloud/spanner@8.0.0(supports-color@10.2.2)':
+ '@google-cloud/spanner@8.0.0(supports-color@11.0.0)':
dependencies:
- '@google-cloud/common': 6.0.1(supports-color@10.2.2)
+ '@google-cloud/common': 6.1.0(supports-color@11.0.0)
'@google-cloud/precise-date': 5.1.0
'@google-cloud/projectify': 5.1.0
'@google-cloud/promisify': 5.1.0
@@ -9878,31 +9883,31 @@ snapshots:
duplexify: 4.1.3
events-intercept: 2.0.0
extend: 3.0.2
- google-auth-library: 10.9.0(supports-color@10.2.2)
- google-gax: 5.0.7(supports-color@10.2.2)
+ google-auth-library: 10.9.1(supports-color@11.0.0)
+ google-gax: 5.0.8(supports-color@11.0.0)
grpc-gcp: 1.1.1
is: 3.3.2
lodash.snakecase: 4.1.1
merge-stream: 2.0.0
p-queue: 6.6.2
protobufjs: 7.6.5
- retry-request: 8.0.3(supports-color@10.2.2)
+ retry-request: 8.0.4(supports-color@11.0.0)
split-array-stream: 2.0.0
stack-trace: 0.0.10
stream-events: 1.0.5
- teeny-request: 10.1.3(supports-color@10.2.2)
+ teeny-request: 10.1.4(supports-color@11.0.0)
through2: 4.0.2
transitivePeerDependencies:
- supports-color
- '@google/genai@2.12.0(@modelcontextprotocol/sdk@1.29.0(supports-color@10.2.2)(zod@4.4.3))(bufferutil@4.1.0)(supports-color@10.2.2)(utf-8-validate@6.0.6)':
+ '@google/genai@2.13.0(@modelcontextprotocol/sdk@1.29.0(supports-color@11.0.0)(zod@4.4.3))(bufferutil@4.1.0)(supports-color@11.0.0)(utf-8-validate@6.0.6)':
dependencies:
- google-auth-library: 10.9.0(supports-color@10.2.2)
+ google-auth-library: 10.9.1(supports-color@11.0.0)
p-retry: 4.6.2
protobufjs: 7.6.5
ws: 8.21.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)
optionalDependencies:
- '@modelcontextprotocol/sdk': 1.29.0(supports-color@10.2.2)(zod@4.4.3)
+ '@modelcontextprotocol/sdk': 1.29.0(supports-color@11.0.0)(zod@4.4.3)
transitivePeerDependencies:
- bufferutil
- supports-color
@@ -9935,9 +9940,9 @@ snapshots:
'@harperfast/extended-iterable@1.0.3':
optional: true
- '@hono/node-server@1.19.14(hono@4.12.31)':
+ '@hono/node-server@1.19.17(hono@4.12.32)':
dependencies:
- hono: 4.12.31
+ hono: 4.12.32
'@humanfs/core@0.19.2':
dependencies:
@@ -10141,7 +10146,7 @@ snapshots:
dependencies:
'@jsonjoy.com/fs-node-builtins': 4.64.0(tslib@2.8.1)
'@jsonjoy.com/fs-node-utils': 4.64.0(tslib@2.8.1)
- thingies: 2.6.0(tslib@2.8.1)
+ thingies: 2.6.1(tslib@2.8.1)
tslib: 2.8.1
'@jsonjoy.com/fs-fsa@4.64.0(tslib@2.8.1)':
@@ -10149,7 +10154,7 @@ snapshots:
'@jsonjoy.com/fs-core': 4.64.0(tslib@2.8.1)
'@jsonjoy.com/fs-node-builtins': 4.64.0(tslib@2.8.1)
'@jsonjoy.com/fs-node-utils': 4.64.0(tslib@2.8.1)
- thingies: 2.6.0(tslib@2.8.1)
+ thingies: 2.6.1(tslib@2.8.1)
tslib: 2.8.1
'@jsonjoy.com/fs-node-builtins@4.64.0(tslib@2.8.1)':
@@ -10177,7 +10182,7 @@ snapshots:
'@jsonjoy.com/fs-print': 4.64.0(tslib@2.8.1)
'@jsonjoy.com/fs-snapshot': 4.64.0(tslib@2.8.1)
glob-to-regex.js: 1.2.0(tslib@2.8.1)
- thingies: 2.6.0(tslib@2.8.1)
+ thingies: 2.6.1(tslib@2.8.1)
tslib: 2.8.1
'@jsonjoy.com/fs-print@4.64.0(tslib@2.8.1)':
@@ -10202,7 +10207,7 @@ snapshots:
'@jsonjoy.com/json-pointer': 1.0.2(tslib@2.8.1)
'@jsonjoy.com/util': 1.9.0(tslib@2.8.1)
hyperdyperid: 1.2.0
- thingies: 2.6.0(tslib@2.8.1)
+ thingies: 2.6.1(tslib@2.8.1)
tree-dump: 1.1.0(tslib@2.8.1)
tslib: 2.8.1
@@ -10214,7 +10219,7 @@ snapshots:
'@jsonjoy.com/json-pointer': 17.67.0(tslib@2.8.1)
'@jsonjoy.com/util': 17.67.0(tslib@2.8.1)
hyperdyperid: 1.2.0
- thingies: 2.6.0(tslib@2.8.1)
+ thingies: 2.6.1(tslib@2.8.1)
tree-dump: 1.1.0(tslib@2.8.1)
tslib: 2.8.1
@@ -10272,9 +10277,9 @@ snapshots:
'@lmdb/lmdb-win32-x64@3.5.6':
optional: true
- '@modelcontextprotocol/sdk@1.29.0(supports-color@10.2.2)(zod@4.4.3)':
+ '@modelcontextprotocol/sdk@1.29.0(supports-color@11.0.0)(zod@4.4.3)':
dependencies:
- '@hono/node-server': 1.19.14(hono@4.12.31)
+ '@hono/node-server': 1.19.17(hono@4.12.32)
ajv: 8.20.0
ajv-formats: 3.0.1(ajv@8.20.0)
content-type: 1.0.5
@@ -10282,9 +10287,9 @@ snapshots:
cross-spawn: 7.0.6
eventsource: 3.0.7
eventsource-parser: 3.1.0
- express: 5.2.1(supports-color@10.2.2)
- express-rate-limit: 8.6.0(express@5.2.1(supports-color@10.2.2))(supports-color@10.2.2)
- hono: 4.12.31
+ express: 5.2.1(supports-color@11.0.0)
+ express-rate-limit: 8.6.1(express@5.2.1(supports-color@11.0.0))(supports-color@11.0.0)
+ hono: 4.12.32
jose: 6.2.4
json-schema-typed: 8.0.2
pkce-challenge: 5.0.1
@@ -10554,74 +10559,76 @@ snapshots:
'@opentelemetry/semantic-conventions@1.43.0': {}
- '@oxc-parser/binding-android-arm-eabi@0.140.0':
+ '@oxc-parser/binding-android-arm-eabi@0.142.0':
optional: true
- '@oxc-parser/binding-android-arm64@0.140.0':
+ '@oxc-parser/binding-android-arm64@0.142.0':
optional: true
- '@oxc-parser/binding-darwin-arm64@0.140.0':
+ '@oxc-parser/binding-darwin-arm64@0.142.0':
optional: true
- '@oxc-parser/binding-darwin-x64@0.140.0':
+ '@oxc-parser/binding-darwin-x64@0.142.0':
optional: true
- '@oxc-parser/binding-freebsd-x64@0.140.0':
+ '@oxc-parser/binding-freebsd-x64@0.142.0':
optional: true
- '@oxc-parser/binding-linux-arm-gnueabihf@0.140.0':
+ '@oxc-parser/binding-linux-arm-gnueabihf@0.142.0':
optional: true
- '@oxc-parser/binding-linux-arm-musleabihf@0.140.0':
+ '@oxc-parser/binding-linux-arm-musleabihf@0.142.0':
optional: true
- '@oxc-parser/binding-linux-arm64-gnu@0.140.0':
+ '@oxc-parser/binding-linux-arm64-gnu@0.142.0':
optional: true
- '@oxc-parser/binding-linux-arm64-musl@0.140.0':
+ '@oxc-parser/binding-linux-arm64-musl@0.142.0':
optional: true
- '@oxc-parser/binding-linux-ppc64-gnu@0.140.0':
+ '@oxc-parser/binding-linux-ppc64-gnu@0.142.0':
optional: true
- '@oxc-parser/binding-linux-riscv64-gnu@0.140.0':
+ '@oxc-parser/binding-linux-riscv64-gnu@0.142.0':
optional: true
- '@oxc-parser/binding-linux-riscv64-musl@0.140.0':
+ '@oxc-parser/binding-linux-riscv64-musl@0.142.0':
optional: true
- '@oxc-parser/binding-linux-s390x-gnu@0.140.0':
+ '@oxc-parser/binding-linux-s390x-gnu@0.142.0':
optional: true
- '@oxc-parser/binding-linux-x64-gnu@0.140.0':
+ '@oxc-parser/binding-linux-x64-gnu@0.142.0':
optional: true
- '@oxc-parser/binding-linux-x64-musl@0.140.0':
+ '@oxc-parser/binding-linux-x64-musl@0.142.0':
optional: true
- '@oxc-parser/binding-openharmony-arm64@0.140.0':
+ '@oxc-parser/binding-openharmony-arm64@0.142.0':
optional: true
- '@oxc-parser/binding-wasm32-wasi@0.140.0':
+ '@oxc-parser/binding-wasm32-wasi@0.142.0':
dependencies:
'@emnapi/core': 1.11.2
'@emnapi/runtime': 1.11.2
'@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)
optional: true
- '@oxc-parser/binding-win32-arm64-msvc@0.140.0':
+ '@oxc-parser/binding-win32-arm64-msvc@0.142.0':
optional: true
- '@oxc-parser/binding-win32-ia32-msvc@0.140.0':
+ '@oxc-parser/binding-win32-ia32-msvc@0.142.0':
optional: true
- '@oxc-parser/binding-win32-x64-msvc@0.140.0':
+ '@oxc-parser/binding-win32-x64-msvc@0.142.0':
optional: true
'@oxc-project/types@0.139.0': {}
'@oxc-project/types@0.140.0': {}
+ '@oxc-project/types@0.142.0': {}
+
'@parcel/watcher-android-arm64@2.6.0':
optional: true
@@ -11058,11 +11065,11 @@ snapshots:
'@standard-schema/spec@1.1.0': {}
- '@stylistic/eslint-plugin@5.10.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))':
+ '@stylistic/eslint-plugin@5.10.0(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))':
dependencies:
- '@eslint-community/eslint-utils': 4.10.1(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))
+ '@eslint-community/eslint-utils': 4.10.1(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))
'@typescript-eslint/types': 8.65.0
- eslint: 10.7.0(jiti@2.7.0)(supports-color@10.2.2)
+ eslint: 10.7.0(jiti@2.7.0)(supports-color@11.0.0)
eslint-visitor-keys: 4.2.1
espree: 10.4.0
estraverse: 5.3.0
@@ -11072,9 +11079,9 @@ snapshots:
dependencies:
defer-to-connect: 2.0.1
- '@tony.ganchev/eslint-plugin-header@3.4.4(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))':
+ '@tony.ganchev/eslint-plugin-header@3.4.4(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))':
dependencies:
- eslint: 10.7.0(jiti@2.7.0)(supports-color@10.2.2)
+ eslint: 10.7.0(jiti@2.7.0)(supports-color@11.0.0)
'@tybys/wasm-util@0.10.3':
dependencies:
@@ -11209,10 +11216,10 @@ snapshots:
'@types/json5@0.0.29': {}
- '@types/karma@6.3.9(supports-color@10.2.2)':
+ '@types/karma@6.3.9(supports-color@11.0.0)':
dependencies:
'@types/node': 22.20.1
- log4js: 6.9.1(supports-color@10.2.2)
+ log4js: 6.9.1(supports-color@11.0.0)
transitivePeerDependencies:
- supports-color
@@ -11221,7 +11228,7 @@ snapshots:
'@types/loader-utils@3.0.0(esbuild@0.28.1)':
dependencies:
'@types/node': 22.20.1
- webpack: 5.108.4(esbuild@0.28.1)
+ webpack: 5.109.2(esbuild@0.28.1)
transitivePeerDependencies:
- '@minify-html/node'
- '@swc/core'
@@ -11344,15 +11351,15 @@ snapshots:
'@types/yarnpkg__lockfile@1.1.9': {}
- '@typescript-eslint/eslint-plugin@8.64.0(@typescript-eslint/parser@8.64.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)':
+ '@typescript-eslint/eslint-plugin@8.64.0(@typescript-eslint/parser@8.64.0(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))(supports-color@11.0.0)(typescript@6.0.3))(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))(supports-color@11.0.0)(typescript@6.0.3)':
dependencies:
'@eslint-community/regexpp': 4.12.2
- '@typescript-eslint/parser': 8.64.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)
+ '@typescript-eslint/parser': 8.64.0(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))(supports-color@11.0.0)(typescript@6.0.3)
'@typescript-eslint/scope-manager': 8.64.0
- '@typescript-eslint/type-utils': 8.64.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)
- '@typescript-eslint/utils': 8.64.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)
+ '@typescript-eslint/type-utils': 8.64.0(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))(supports-color@11.0.0)(typescript@6.0.3)
+ '@typescript-eslint/utils': 8.64.0(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))(supports-color@11.0.0)(typescript@6.0.3)
'@typescript-eslint/visitor-keys': 8.64.0
- eslint: 10.7.0(jiti@2.7.0)(supports-color@10.2.2)
+ eslint: 10.7.0(jiti@2.7.0)(supports-color@11.0.0)
ignore: 7.0.6
natural-compare: 1.4.0
ts-api-utils: 2.5.0(typescript@6.0.3)
@@ -11360,23 +11367,23 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.64.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)':
+ '@typescript-eslint/parser@8.64.0(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))(supports-color@11.0.0)(typescript@6.0.3)':
dependencies:
'@typescript-eslint/scope-manager': 8.64.0
'@typescript-eslint/types': 8.64.0
- '@typescript-eslint/typescript-estree': 8.64.0(supports-color@10.2.2)(typescript@6.0.3)
+ '@typescript-eslint/typescript-estree': 8.64.0(supports-color@11.0.0)(typescript@6.0.3)
'@typescript-eslint/visitor-keys': 8.64.0
- debug: 4.4.3(supports-color@10.2.2)
- eslint: 10.7.0(jiti@2.7.0)(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
+ eslint: 10.7.0(jiti@2.7.0)(supports-color@11.0.0)
typescript: 6.0.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/project-service@8.64.0(supports-color@10.2.2)(typescript@6.0.3)':
+ '@typescript-eslint/project-service@8.64.0(supports-color@11.0.0)(typescript@6.0.3)':
dependencies:
'@typescript-eslint/tsconfig-utils': 8.64.0(typescript@6.0.3)
'@typescript-eslint/types': 8.64.0
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
typescript: 6.0.3
transitivePeerDependencies:
- supports-color
@@ -11390,13 +11397,13 @@ snapshots:
dependencies:
typescript: 6.0.3
- '@typescript-eslint/type-utils@8.64.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)':
+ '@typescript-eslint/type-utils@8.64.0(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))(supports-color@11.0.0)(typescript@6.0.3)':
dependencies:
'@typescript-eslint/types': 8.64.0
- '@typescript-eslint/typescript-estree': 8.64.0(supports-color@10.2.2)(typescript@6.0.3)
- '@typescript-eslint/utils': 8.64.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)
- debug: 4.4.3(supports-color@10.2.2)
- eslint: 10.7.0(jiti@2.7.0)(supports-color@10.2.2)
+ '@typescript-eslint/typescript-estree': 8.64.0(supports-color@11.0.0)(typescript@6.0.3)
+ '@typescript-eslint/utils': 8.64.0(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))(supports-color@11.0.0)(typescript@6.0.3)
+ debug: 4.4.3(supports-color@11.0.0)
+ eslint: 10.7.0(jiti@2.7.0)(supports-color@11.0.0)
ts-api-utils: 2.5.0(typescript@6.0.3)
typescript: 6.0.3
transitivePeerDependencies:
@@ -11406,13 +11413,13 @@ snapshots:
'@typescript-eslint/types@8.65.0': {}
- '@typescript-eslint/typescript-estree@8.64.0(supports-color@10.2.2)(typescript@6.0.3)':
+ '@typescript-eslint/typescript-estree@8.64.0(supports-color@11.0.0)(typescript@6.0.3)':
dependencies:
- '@typescript-eslint/project-service': 8.64.0(supports-color@10.2.2)(typescript@6.0.3)
+ '@typescript-eslint/project-service': 8.64.0(supports-color@11.0.0)(typescript@6.0.3)
'@typescript-eslint/tsconfig-utils': 8.64.0(typescript@6.0.3)
'@typescript-eslint/types': 8.64.0
'@typescript-eslint/visitor-keys': 8.64.0
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
minimatch: 10.2.5
semver: 7.8.5
tinyglobby: 0.2.17
@@ -11421,13 +11428,13 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.64.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)':
+ '@typescript-eslint/utils@8.64.0(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))(supports-color@11.0.0)(typescript@6.0.3)':
dependencies:
- '@eslint-community/eslint-utils': 4.10.1(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))
+ '@eslint-community/eslint-utils': 4.10.1(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))
'@typescript-eslint/scope-manager': 8.64.0
'@typescript-eslint/types': 8.64.0
- '@typescript-eslint/typescript-estree': 8.64.0(supports-color@10.2.2)(typescript@6.0.3)
- eslint: 10.7.0(jiti@2.7.0)(supports-color@10.2.2)
+ '@typescript-eslint/typescript-estree': 8.64.0(supports-color@11.0.0)(typescript@6.0.3)
+ eslint: 10.7.0(jiti@2.7.0)(supports-color@11.0.0)
typescript: 6.0.3
transitivePeerDependencies:
- supports-color
@@ -11437,22 +11444,22 @@ snapshots:
'@typescript-eslint/types': 8.64.0
eslint-visitor-keys: 5.0.1
- '@verdaccio/auth@8.0.4(supports-color@10.2.2)':
+ '@verdaccio/auth@8.0.4(supports-color@11.0.0)':
dependencies:
- '@verdaccio/config': 8.1.2(supports-color@10.2.2)
+ '@verdaccio/config': 8.1.2(supports-color@11.0.0)
'@verdaccio/core': 8.1.2
- '@verdaccio/loaders': 8.0.3(supports-color@10.2.2)
- '@verdaccio/signature': 8.0.3(supports-color@10.2.2)
- debug: 4.4.3(supports-color@10.2.2)
+ '@verdaccio/loaders': 8.0.3(supports-color@11.0.0)
+ '@verdaccio/signature': 8.0.3(supports-color@11.0.0)
+ debug: 4.4.3(supports-color@11.0.0)
lodash: 4.18.1
- verdaccio-htpasswd: 13.0.3(supports-color@10.2.2)
+ verdaccio-htpasswd: 13.0.3(supports-color@11.0.0)
transitivePeerDependencies:
- supports-color
- '@verdaccio/config@8.1.2(supports-color@10.2.2)':
+ '@verdaccio/config@8.1.2(supports-color@11.0.0)':
dependencies:
'@verdaccio/core': 8.1.2
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
js-yaml: 4.1.1
lodash: 4.18.1
transitivePeerDependencies:
@@ -11467,34 +11474,43 @@ snapshots:
process-warning: 1.0.0
semver: 7.7.4
+ '@verdaccio/core@8.2.0':
+ dependencies:
+ ajv: 8.18.0
+ http-errors: 2.0.1
+ http-status-codes: 2.3.0
+ minimatch: 10.2.5
+ process-warning: 1.0.0
+ semver: 7.7.4
+
'@verdaccio/file-locking@13.0.1':
dependencies:
lockfile: 1.0.4
- '@verdaccio/hooks@8.0.4(supports-color@10.2.2)':
+ '@verdaccio/hooks@8.0.4(supports-color@11.0.0)':
dependencies:
'@verdaccio/core': 8.1.2
- '@verdaccio/logger': 8.0.3(supports-color@10.2.2)
- debug: 4.4.3(supports-color@10.2.2)
+ '@verdaccio/logger': 8.0.3(supports-color@11.0.0)
+ debug: 4.4.3(supports-color@11.0.0)
got-cjs: 12.5.4
handlebars: 4.7.9
transitivePeerDependencies:
- supports-color
- '@verdaccio/loaders@8.0.3(supports-color@10.2.2)':
+ '@verdaccio/loaders@8.0.3(supports-color@11.0.0)':
dependencies:
'@verdaccio/core': 8.1.2
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
lodash: 4.18.1
transitivePeerDependencies:
- supports-color
- '@verdaccio/local-storage-legacy@11.3.4(supports-color@10.2.2)':
+ '@verdaccio/local-storage-legacy@11.3.4(supports-color@11.0.0)':
dependencies:
'@verdaccio/core': 8.1.2
'@verdaccio/file-locking': 13.0.1
'@verdaccio/streams': 10.2.5
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
globby: 11.1.0
lodash: 4.18.1
lowdb: 1.0.0
@@ -11503,12 +11519,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@verdaccio/logger-commons@8.0.3(supports-color@10.2.2)':
+ '@verdaccio/logger-commons@8.0.3(supports-color@11.0.0)':
dependencies:
'@verdaccio/core': 8.1.2
'@verdaccio/logger-prettify': 8.0.1
colorette: 2.0.20
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
transitivePeerDependencies:
- supports-color
@@ -11521,57 +11537,57 @@ snapshots:
pino-abstract-transport: 1.2.0
sonic-boom: 3.8.1
- '@verdaccio/logger@8.0.3(supports-color@10.2.2)':
+ '@verdaccio/logger@8.0.3(supports-color@11.0.0)':
dependencies:
- '@verdaccio/logger-commons': 8.0.3(supports-color@10.2.2)
+ '@verdaccio/logger-commons': 8.0.3(supports-color@11.0.0)
pino: 9.14.0
transitivePeerDependencies:
- supports-color
- '@verdaccio/middleware@8.0.5(supports-color@10.2.2)':
+ '@verdaccio/middleware@8.0.5(supports-color@11.0.0)':
dependencies:
- '@verdaccio/config': 8.1.2(supports-color@10.2.2)
+ '@verdaccio/config': 8.1.2(supports-color@11.0.0)
'@verdaccio/core': 8.1.2
- '@verdaccio/url': 13.0.3(supports-color@10.2.2)
- debug: 4.4.3(supports-color@10.2.2)
- express: 4.22.1(supports-color@10.2.2)
+ '@verdaccio/url': 13.0.3(supports-color@11.0.0)
+ debug: 4.4.3(supports-color@11.0.0)
+ express: 4.22.1(supports-color@11.0.0)
express-rate-limit: 5.5.1
lodash: 4.18.1
lru-cache: 7.18.3
transitivePeerDependencies:
- supports-color
- '@verdaccio/package-filter@13.0.3(supports-color@10.2.2)':
+ '@verdaccio/package-filter@13.0.3(supports-color@11.0.0)':
dependencies:
'@verdaccio/core': 8.1.2
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
semver: 7.7.4
transitivePeerDependencies:
- supports-color
- '@verdaccio/search-indexer@8.0.2(supports-color@10.2.2)':
+ '@verdaccio/search-indexer@8.0.2(supports-color@11.0.0)':
dependencies:
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
fuse.js: 7.3.0
transitivePeerDependencies:
- supports-color
- '@verdaccio/signature@8.0.3(supports-color@10.2.2)':
+ '@verdaccio/signature@8.0.3(supports-color@11.0.0)':
dependencies:
- '@verdaccio/config': 8.1.2(supports-color@10.2.2)
+ '@verdaccio/config': 8.1.2(supports-color@11.0.0)
'@verdaccio/core': 8.1.2
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
jsonwebtoken: 9.0.3
transitivePeerDependencies:
- supports-color
'@verdaccio/streams@10.2.5': {}
- '@verdaccio/tarball@13.0.3(supports-color@10.2.2)':
+ '@verdaccio/tarball@13.0.3(supports-color@11.0.0)':
dependencies:
'@verdaccio/core': 8.1.2
- '@verdaccio/url': 13.0.3(supports-color@10.2.2)
- debug: 4.4.3(supports-color@10.2.2)
+ '@verdaccio/url': 13.0.3(supports-color@11.0.0)
+ debug: 4.4.3(supports-color@11.0.0)
gunzip-maybe: 1.4.2
tar-stream: 3.1.7
transitivePeerDependencies:
@@ -11579,16 +11595,16 @@ snapshots:
- react-native-b4a
- supports-color
- '@verdaccio/ui-theme@9.0.0-next-9.21(supports-color@10.2.2)':
+ '@verdaccio/ui-theme@9.0.0-next-9.21(supports-color@11.0.0)':
dependencies:
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
transitivePeerDependencies:
- supports-color
- '@verdaccio/url@13.0.3(supports-color@10.2.2)':
+ '@verdaccio/url@13.0.3(supports-color@11.0.0)':
dependencies:
'@verdaccio/core': 8.1.2
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
validator: 13.15.26
transitivePeerDependencies:
- supports-color
@@ -11761,10 +11777,6 @@ snapshots:
mime-types: 3.0.2
negotiator: 1.0.0
- acorn-import-phases@1.0.4(acorn@8.17.0):
- dependencies:
- acorn: 8.17.0
-
acorn-jsx@5.3.2(acorn@8.17.0):
dependencies:
acorn: 8.17.0
@@ -11776,9 +11788,9 @@ snapshots:
loader-utils: 2.0.4
regex-parser: 2.3.1
- agent-base@6.0.2(supports-color@10.2.2):
+ agent-base@6.0.2(supports-color@11.0.0):
dependencies:
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
transitivePeerDependencies:
- supports-color
@@ -11943,13 +11955,13 @@ snapshots:
atomic-sleep@1.0.0: {}
- autoprefixer@10.5.4(postcss@8.5.19):
+ autoprefixer@10.5.4(postcss@8.5.25):
dependencies:
browserslist: 4.28.7
caniuse-lite: 1.0.30001806
fraction.js: 5.3.4
picocolors: 1.1.1
- postcss: 8.5.19
+ postcss: 8.5.25
postcss-value-parser: 4.2.0
available-typed-arrays@1.0.7:
@@ -11962,12 +11974,12 @@ snapshots:
b4a@1.8.1: {}
- babel-loader@10.1.1(@babel/core@8.0.1)(webpack@5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)):
+ babel-loader@10.1.1(@babel/core@8.0.1)(webpack@5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)):
dependencies:
'@babel/core': 8.0.1
find-up: 5.0.0
optionalDependencies:
- webpack: 5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)
+ webpack: 5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)
babel-plugin-polyfill-corejs3@1.0.0(@babel/core@8.0.1):
dependencies:
@@ -12012,7 +12024,7 @@ snapshots:
base64id@2.0.0: {}
- baseline-browser-mapping@2.11.0: {}
+ baseline-browser-mapping@2.11.4: {}
batch@0.6.1: {}
@@ -12030,9 +12042,9 @@ snapshots:
domhandler: 5.0.3
htmlparser2: 10.1.0
picocolors: 1.1.1
- postcss: 8.5.19
+ postcss: 8.5.25
postcss-media-query-parser: 0.2.3
- postcss-safe-parser: 7.0.1(postcss@8.5.19)
+ postcss-safe-parser: 7.0.1(postcss@8.5.25)
before-after-hook@4.0.0: {}
@@ -12048,11 +12060,11 @@ snapshots:
binary-extensions@2.3.0: {}
- body-parser@1.20.6(supports-color@10.2.2):
+ body-parser@1.20.6(supports-color@11.0.0):
dependencies:
bytes: 3.1.2
content-type: 1.0.5
- debug: 2.6.9(supports-color@10.2.2)
+ debug: 2.6.9(supports-color@11.0.0)
depd: 2.0.0
destroy: 1.2.0
http-errors: 2.0.1
@@ -12065,11 +12077,11 @@ snapshots:
transitivePeerDependencies:
- supports-color
- body-parser@2.3.0(supports-color@10.2.2):
+ body-parser@2.3.0(supports-color@11.0.0):
dependencies:
bytes: 3.1.2
content-type: 2.0.0
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
http-errors: 2.0.1
iconv-lite: 0.7.3
on-finished: 2.4.1
@@ -12095,7 +12107,7 @@ snapshots:
dependencies:
balanced-match: 1.0.2
- brace-expansion@5.0.7:
+ brace-expansion@5.0.8:
dependencies:
balanced-match: 4.0.4
@@ -12111,28 +12123,28 @@ snapshots:
fresh: 0.5.2
mitt: 1.2.0
- browser-sync-ui@3.0.4(bufferutil@4.1.0)(supports-color@10.2.2)(utf-8-validate@6.0.6):
+ browser-sync-ui@3.0.4(bufferutil@4.1.0)(supports-color@11.0.0)(utf-8-validate@6.0.6):
dependencies:
async-each-series: 0.1.1
chalk: 4.1.2
connect-history-api-fallback: 1.6.0
immutable: 3.8.3
server-destroy: 1.0.1
- socket.io-client: 4.8.3(bufferutil@4.1.0)(supports-color@10.2.2)(utf-8-validate@6.0.6)
+ socket.io-client: 4.8.3(bufferutil@4.1.0)(supports-color@11.0.0)(utf-8-validate@6.0.6)
stream-throttle: 0.1.3
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
- browser-sync@3.0.4(bufferutil@4.1.0)(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(utf-8-validate@6.0.6):
+ browser-sync@3.0.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):
dependencies:
browser-sync-client: 3.0.4
- browser-sync-ui: 3.0.4(bufferutil@4.1.0)(supports-color@10.2.2)(utf-8-validate@6.0.6)
+ browser-sync-ui: 3.0.4(bufferutil@4.1.0)(supports-color@11.0.0)(utf-8-validate@6.0.6)
bs-recipes: 1.3.4
chalk: 4.1.2
chokidar: 3.6.0
- connect: 3.6.6(supports-color@10.2.2)
+ connect: 3.6.6(supports-color@11.0.0)
connect-history-api-fallback: 1.6.0
dev-ip: 1.0.1
easy-extender: 2.3.4
@@ -12140,19 +12152,19 @@ snapshots:
etag: 1.8.1
fresh: 0.5.2
fs-extra: 3.0.1
- http-proxy: 1.18.1(debug@4.4.3(supports-color@10.2.2))
+ http-proxy: 1.18.1(debug@4.4.3(supports-color@11.0.0))
immutable: 3.8.3
micromatch: 4.0.8
opn: 5.3.0
portscanner: 2.2.0
raw-body: 2.5.3
- resp-modifier: 6.0.2(supports-color@10.2.2)
+ resp-modifier: 6.0.2(supports-color@11.0.0)
rx: 4.1.0
- send: 0.19.2(supports-color@10.2.2)
- serve-index: 1.9.2(supports-color@10.2.2)
- serve-static: 1.16.3(supports-color@10.2.2)
+ send: 0.19.2(supports-color@11.0.0)
+ serve-index: 1.9.2(supports-color@11.0.0)
+ serve-static: 1.16.3(supports-color@11.0.0)
server-destroy: 1.0.1
- socket.io: 4.8.3(bufferutil@4.1.0)(supports-color@10.2.2)(utf-8-validate@6.0.6)
+ socket.io: 4.8.3(bufferutil@4.1.0)(supports-color@11.0.0)(utf-8-validate@6.0.6)
ua-parser-js: 1.0.41
yargs: 17.7.3
transitivePeerDependencies:
@@ -12167,9 +12179,9 @@ snapshots:
browserslist@4.28.7:
dependencies:
- baseline-browser-mapping: 2.11.0
+ baseline-browser-mapping: 2.11.4
caniuse-lite: 1.0.30001806
- electron-to-chromium: 1.5.395
+ electron-to-chromium: 1.5.396
node-releases: 2.0.51
update-browserslist-db: 1.2.3(browserslist@4.28.7)
@@ -12351,11 +12363,11 @@ snapshots:
dependencies:
mime-db: 1.54.0
- compression@1.8.1(supports-color@10.2.2):
+ compression@1.8.1(supports-color@11.0.0):
dependencies:
bytes: 3.1.2
compressible: 2.0.18
- debug: 2.6.9(supports-color@10.2.2)
+ debug: 2.6.9(supports-color@11.0.0)
negotiator: 0.6.4
on-headers: 1.1.0
safe-buffer: 5.2.1
@@ -12369,19 +12381,19 @@ snapshots:
connect-history-api-fallback@2.0.0: {}
- connect@3.6.6(supports-color@10.2.2):
+ connect@3.6.6(supports-color@11.0.0):
dependencies:
- debug: 2.6.9(supports-color@10.2.2)
- finalhandler: 1.1.0(supports-color@10.2.2)
+ debug: 2.6.9(supports-color@11.0.0)
+ finalhandler: 1.1.0(supports-color@11.0.0)
parseurl: 1.3.3
utils-merge: 1.0.1
transitivePeerDependencies:
- supports-color
- connect@3.7.0(supports-color@10.2.2):
+ connect@3.7.0(supports-color@11.0.0):
dependencies:
- debug: 2.6.9(supports-color@10.2.2)
- finalhandler: 1.1.2(supports-color@10.2.2)
+ debug: 2.6.9(supports-color@11.0.0)
+ finalhandler: 1.1.2(supports-color@11.0.0)
parseurl: 1.3.3
utils-merge: 1.0.1
transitivePeerDependencies:
@@ -12401,7 +12413,7 @@ snapshots:
conventional-commits-filter@6.0.1: {}
- conventional-commits-parser@7.1.0:
+ conventional-commits-parser@7.1.1:
dependencies:
'@simple-libs/stream-utils': 2.0.0
argue-cli: 3.1.0
@@ -12420,14 +12432,14 @@ snapshots:
dependencies:
is-what: 4.1.16
- copy-webpack-plugin@14.0.0(webpack@5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)):
+ copy-webpack-plugin@14.0.0(webpack@5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)):
dependencies:
glob-parent: 6.0.2
normalize-path: 3.0.0
schema-utils: 4.3.3
serialize-javascript: 7.0.7
tinyglobby: 0.2.17
- webpack: 5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)
+ webpack: 5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)
core-js-compat@3.49.0:
dependencies:
@@ -12457,18 +12469,18 @@ snapshots:
shebang-command: 2.0.0
which: 2.0.2
- css-loader@7.1.4(webpack@5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)):
+ css-loader@7.1.4(webpack@5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)):
dependencies:
- icss-utils: 5.1.0(postcss@8.5.19)
- postcss: 8.5.19
- postcss-modules-extract-imports: 3.1.0(postcss@8.5.19)
- postcss-modules-local-by-default: 4.2.0(postcss@8.5.19)
- postcss-modules-scope: 3.2.1(postcss@8.5.19)
- postcss-modules-values: 4.0.0(postcss@8.5.19)
+ icss-utils: 5.1.0(postcss@8.5.25)
+ postcss: 8.5.25
+ postcss-modules-extract-imports: 3.1.0(postcss@8.5.25)
+ postcss-modules-local-by-default: 4.2.0(postcss@8.5.25)
+ postcss-modules-scope: 3.2.1(postcss@8.5.25)
+ postcss-modules-values: 4.0.0(postcss@8.5.25)
postcss-value-parser: 4.2.0
semver: 7.8.5
optionalDependencies:
- webpack: 5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)
+ webpack: 5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)
css-select@6.0.0:
dependencies:
@@ -12524,29 +12536,29 @@ snapshots:
dayjs@1.11.18: {}
- debug@2.6.9(supports-color@10.2.2):
+ debug@2.6.9(supports-color@11.0.0):
dependencies:
ms: 2.0.0
optionalDependencies:
- supports-color: 10.2.2
+ supports-color: 11.0.0
- debug@3.2.7(supports-color@10.2.2):
+ debug@3.2.7(supports-color@11.0.0):
dependencies:
ms: 2.1.3
optionalDependencies:
- supports-color: 10.2.2
+ supports-color: 11.0.0
- debug@4.4.0(supports-color@10.2.2):
+ debug@4.4.0(supports-color@11.0.0):
dependencies:
ms: 2.1.3
optionalDependencies:
- supports-color: 10.2.2
+ supports-color: 11.0.0
- debug@4.4.3(supports-color@10.2.2):
+ debug@4.4.3(supports-color@11.0.0):
dependencies:
ms: 2.1.3
optionalDependencies:
- supports-color: 10.2.2
+ supports-color: 11.0.0
decimal.js@10.6.0: {}
@@ -12683,7 +12695,7 @@ snapshots:
ejs@6.0.1: {}
- electron-to-chromium@1.5.395: {}
+ electron-to-chromium@1.5.396: {}
emoji-regex@10.6.0: {}
@@ -12707,10 +12719,10 @@ snapshots:
dependencies:
once: 1.4.0
- engine.io-client@6.6.6(bufferutil@4.1.0)(supports-color@10.2.2)(utf-8-validate@6.0.6):
+ engine.io-client@6.6.6(bufferutil@4.1.0)(supports-color@11.0.0)(utf-8-validate@6.0.6):
dependencies:
'@socket.io/component-emitter': 3.1.2
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
engine.io-parser: 5.2.3
ws: 8.21.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)
xmlhttprequest-ssl: 2.1.2
@@ -12721,7 +12733,7 @@ snapshots:
engine.io-parser@5.2.3: {}
- engine.io@6.6.9(bufferutil@4.1.0)(supports-color@10.2.2)(utf-8-validate@6.0.6):
+ engine.io@6.6.9(bufferutil@4.1.0)(supports-color@11.0.0)(utf-8-validate@6.0.6):
dependencies:
'@types/cors': 2.8.19
'@types/node': 22.20.1
@@ -12730,7 +12742,7 @@ snapshots:
base64id: 2.0.0
cookie: 0.7.2
cors: 2.8.6
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
engine.io-parser: 5.2.3
ws: 8.21.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)
transitivePeerDependencies:
@@ -12738,7 +12750,7 @@ snapshots:
- supports-color
- utf-8-validate
- enhanced-resolve@5.24.3:
+ enhanced-resolve@5.24.4:
dependencies:
graceful-fs: 4.2.11
tapable: 2.3.3
@@ -12902,40 +12914,40 @@ snapshots:
escape-string-regexp@4.0.0: {}
- eslint-config-prettier@10.1.8(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2)):
+ eslint-config-prettier@10.1.8(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0)):
dependencies:
- eslint: 10.7.0(jiti@2.7.0)(supports-color@10.2.2)
+ eslint: 10.7.0(jiti@2.7.0)(supports-color@11.0.0)
- eslint-import-resolver-node@0.3.10(supports-color@10.2.2):
+ eslint-import-resolver-node@0.3.10(supports-color@11.0.0):
dependencies:
- debug: 3.2.7(supports-color@10.2.2)
+ debug: 3.2.7(supports-color@11.0.0)
is-core-module: 2.16.2
resolve: 2.0.0-next.7
transitivePeerDependencies:
- supports-color
- eslint-module-utils@2.14.0(@typescript-eslint/parser@8.64.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(eslint-import-resolver-node@0.3.10(supports-color@10.2.2))(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2):
+ eslint-module-utils@2.14.0(@typescript-eslint/parser@8.64.0(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))(supports-color@11.0.0)(typescript@6.0.3))(eslint-import-resolver-node@0.3.10(supports-color@11.0.0))(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))(supports-color@11.0.0):
dependencies:
- debug: 3.2.7(supports-color@10.2.2)
+ debug: 3.2.7(supports-color@11.0.0)
optionalDependencies:
- '@typescript-eslint/parser': 8.64.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)
- eslint: 10.7.0(jiti@2.7.0)(supports-color@10.2.2)
- eslint-import-resolver-node: 0.3.10(supports-color@10.2.2)
+ '@typescript-eslint/parser': 8.64.0(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))(supports-color@11.0.0)(typescript@6.0.3)
+ eslint: 10.7.0(jiti@2.7.0)(supports-color@11.0.0)
+ eslint-import-resolver-node: 0.3.10(supports-color@11.0.0)
transitivePeerDependencies:
- supports-color
- eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.64.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2):
+ eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.64.0(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))(supports-color@11.0.0)(typescript@6.0.3))(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))(supports-color@11.0.0):
dependencies:
'@rtsao/scc': 1.1.0
array-includes: 3.1.9
array.prototype.findlastindex: 1.2.6
array.prototype.flat: 1.3.3
array.prototype.flatmap: 1.3.3
- debug: 3.2.7(supports-color@10.2.2)
+ debug: 3.2.7(supports-color@11.0.0)
doctrine: 2.1.0
- eslint: 10.7.0(jiti@2.7.0)(supports-color@10.2.2)
- eslint-import-resolver-node: 0.3.10(supports-color@10.2.2)
- eslint-module-utils: 2.14.0(@typescript-eslint/parser@8.64.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3))(eslint-import-resolver-node@0.3.10(supports-color@10.2.2))(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)
+ eslint: 10.7.0(jiti@2.7.0)(supports-color@11.0.0)
+ eslint-import-resolver-node: 0.3.10(supports-color@11.0.0)
+ eslint-module-utils: 2.14.0(@typescript-eslint/parser@8.64.0(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))(supports-color@11.0.0)(typescript@6.0.3))(eslint-import-resolver-node@0.3.10(supports-color@11.0.0))(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))(supports-color@11.0.0)
hasown: 2.0.4
is-core-module: 2.16.2
is-glob: 4.0.3
@@ -12947,7 +12959,7 @@ snapshots:
string.prototype.trimend: 1.0.10
tsconfig-paths: 3.15.0
optionalDependencies:
- '@typescript-eslint/parser': 8.64.0(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@6.0.3)
+ '@typescript-eslint/parser': 8.64.0(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))(supports-color@11.0.0)(typescript@6.0.3)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
@@ -12971,11 +12983,11 @@ snapshots:
eslint-visitor-keys@5.0.1: {}
- eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2):
+ eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0):
dependencies:
- '@eslint-community/eslint-utils': 4.10.1(eslint@10.7.0(jiti@2.7.0)(supports-color@10.2.2))
+ '@eslint-community/eslint-utils': 4.10.1(eslint@10.7.0(jiti@2.7.0)(supports-color@11.0.0))
'@eslint-community/regexpp': 4.12.2
- '@eslint/config-array': 0.23.5(supports-color@10.2.2)
+ '@eslint/config-array': 0.23.5(supports-color@11.0.0)
'@eslint/config-helpers': 0.6.0
'@eslint/core': 1.2.1
'@eslint/plugin-kit': 0.7.2
@@ -12985,7 +12997,7 @@ snapshots:
'@types/estree': 1.0.9
ajv: 6.15.0
cross-spawn: 7.0.6
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
escape-string-regexp: 4.0.0
eslint-scope: 9.1.2
eslint-visitor-keys: 5.0.1
@@ -13068,29 +13080,29 @@ snapshots:
express-rate-limit@5.5.1: {}
- express-rate-limit@8.6.0(express@5.2.1(supports-color@10.2.2))(supports-color@10.2.2):
+ express-rate-limit@8.6.1(express@5.2.1(supports-color@11.0.0))(supports-color@11.0.0):
dependencies:
- debug: 4.4.3(supports-color@10.2.2)
- express: 5.2.1(supports-color@10.2.2)
- ip-address: 10.2.0
+ debug: 4.4.3(supports-color@11.0.0)
+ express: 5.2.1(supports-color@11.0.0)
+ ip-address: 10.3.1
transitivePeerDependencies:
- supports-color
- express@4.22.1(supports-color@10.2.2):
+ express@4.22.1(supports-color@11.0.0):
dependencies:
accepts: 1.3.8
array-flatten: 1.1.1
- body-parser: 1.20.6(supports-color@10.2.2)
+ body-parser: 1.20.6(supports-color@11.0.0)
content-disposition: 0.5.4
content-type: 1.0.5
cookie: 0.7.2
cookie-signature: 1.0.7
- debug: 2.6.9(supports-color@10.2.2)
+ debug: 2.6.9(supports-color@11.0.0)
depd: 2.0.0
encodeurl: 2.0.0
escape-html: 1.0.3
etag: 1.8.1
- finalhandler: 1.3.2(supports-color@10.2.2)
+ finalhandler: 1.3.2(supports-color@11.0.0)
fresh: 0.5.2
http-errors: 2.0.1
merge-descriptors: 1.0.3
@@ -13102,8 +13114,8 @@ snapshots:
qs: 6.14.2
range-parser: 1.2.1
safe-buffer: 5.2.1
- send: 0.19.2(supports-color@10.2.2)
- serve-static: 1.16.3(supports-color@10.2.2)
+ send: 0.19.2(supports-color@11.0.0)
+ serve-static: 1.16.3(supports-color@11.0.0)
setprototypeof: 1.2.0
statuses: 2.0.2
type-is: 1.6.18
@@ -13112,21 +13124,21 @@ snapshots:
transitivePeerDependencies:
- supports-color
- express@4.22.2(supports-color@10.2.2):
+ express@4.22.2(supports-color@11.0.0):
dependencies:
accepts: 1.3.8
array-flatten: 1.1.1
- body-parser: 1.20.6(supports-color@10.2.2)
+ body-parser: 1.20.6(supports-color@11.0.0)
content-disposition: 0.5.4
content-type: 1.0.5
cookie: 0.7.2
cookie-signature: 1.0.7
- debug: 2.6.9(supports-color@10.2.2)
+ debug: 2.6.9(supports-color@11.0.0)
depd: 2.0.0
encodeurl: 2.0.0
escape-html: 1.0.3
etag: 1.8.1
- finalhandler: 1.3.2(supports-color@10.2.2)
+ finalhandler: 1.3.2(supports-color@11.0.0)
fresh: 0.5.2
http-errors: 2.0.1
merge-descriptors: 1.0.3
@@ -13138,8 +13150,8 @@ snapshots:
qs: 6.15.3
range-parser: 1.2.1
safe-buffer: 5.2.1
- send: 0.19.2(supports-color@10.2.2)
- serve-static: 1.16.3(supports-color@10.2.2)
+ send: 0.19.2(supports-color@11.0.0)
+ serve-static: 1.16.3(supports-color@11.0.0)
setprototypeof: 1.2.0
statuses: 2.0.2
type-is: 1.6.18
@@ -13148,20 +13160,20 @@ snapshots:
transitivePeerDependencies:
- supports-color
- express@5.2.1(supports-color@10.2.2):
+ express@5.2.1(supports-color@11.0.0):
dependencies:
accepts: 2.0.0
- body-parser: 2.3.0(supports-color@10.2.2)
+ body-parser: 2.3.0(supports-color@11.0.0)
content-disposition: 1.1.0
content-type: 1.0.5
cookie: 0.7.2
cookie-signature: 1.2.2
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
depd: 2.0.0
encodeurl: 2.0.0
escape-html: 1.0.3
etag: 1.8.1
- finalhandler: 2.1.1(supports-color@10.2.2)
+ finalhandler: 2.1.1(supports-color@11.0.0)
fresh: 2.0.0
http-errors: 2.0.1
merge-descriptors: 2.0.0
@@ -13172,9 +13184,9 @@ snapshots:
proxy-addr: 2.0.7
qs: 6.15.3
range-parser: 1.3.0
- router: 2.2.0(supports-color@10.2.2)
- send: 1.2.1(supports-color@10.2.2)
- serve-static: 2.2.1(supports-color@10.2.2)
+ router: 2.2.0(supports-color@11.0.0)
+ send: 1.2.1(supports-color@11.0.0)
+ serve-static: 2.2.1(supports-color@11.0.0)
statuses: 2.0.2
type-is: 2.1.0
vary: 1.1.2
@@ -13238,9 +13250,9 @@ snapshots:
dependencies:
to-regex-range: 5.0.1
- finalhandler@1.1.0(supports-color@10.2.2):
+ finalhandler@1.1.0(supports-color@11.0.0):
dependencies:
- debug: 2.6.9(supports-color@10.2.2)
+ debug: 2.6.9(supports-color@11.0.0)
encodeurl: 1.0.2
escape-html: 1.0.3
on-finished: 2.3.0
@@ -13250,9 +13262,9 @@ snapshots:
transitivePeerDependencies:
- supports-color
- finalhandler@1.1.2(supports-color@10.2.2):
+ finalhandler@1.1.2(supports-color@11.0.0):
dependencies:
- debug: 2.6.9(supports-color@10.2.2)
+ debug: 2.6.9(supports-color@11.0.0)
encodeurl: 1.0.2
escape-html: 1.0.3
on-finished: 2.3.0
@@ -13262,9 +13274,9 @@ snapshots:
transitivePeerDependencies:
- supports-color
- finalhandler@1.3.2(supports-color@10.2.2):
+ finalhandler@1.3.2(supports-color@11.0.0):
dependencies:
- debug: 2.6.9(supports-color@10.2.2)
+ debug: 2.6.9(supports-color@11.0.0)
encodeurl: 2.0.0
escape-html: 1.0.3
on-finished: 2.4.1
@@ -13274,9 +13286,9 @@ snapshots:
transitivePeerDependencies:
- supports-color
- finalhandler@2.1.1(supports-color@10.2.2):
+ finalhandler@2.1.1(supports-color@11.0.0):
dependencies:
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
encodeurl: 2.0.0
escape-html: 1.0.3
on-finished: 2.4.1
@@ -13332,23 +13344,23 @@ snapshots:
flat-cache@4.0.1:
dependencies:
- flatted: 3.4.2
+ flatted: 3.4.3
keyv: 4.5.4
flat@5.0.2: {}
- flatted@3.4.2: {}
+ flatted@3.4.3: {}
- folder-hash@4.1.3(supports-color@10.2.2):
+ folder-hash@4.1.3(supports-color@11.0.0):
dependencies:
- debug: 4.4.0(supports-color@10.2.2)
+ debug: 4.4.0(supports-color@11.0.0)
minimatch: 7.4.9
transitivePeerDependencies:
- supports-color
- follow-redirects@1.16.0(debug@4.4.3(supports-color@10.2.2)):
+ follow-redirects@1.16.0(debug@4.4.3(supports-color@11.0.0)):
optionalDependencies:
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
for-each@0.3.5:
dependencies:
@@ -13418,34 +13430,34 @@ snapshots:
fuse.js@7.3.0: {}
- gaxios@7.1.3(supports-color@10.2.2):
+ gaxios@7.1.3(supports-color@11.0.0):
dependencies:
extend: 3.0.2
- https-proxy-agent: 7.0.6(supports-color@10.2.2)
+ https-proxy-agent: 7.0.6(supports-color@11.0.0)
node-fetch: 3.3.2
rimraf: 5.0.10
transitivePeerDependencies:
- supports-color
- gaxios@7.2.0(supports-color@10.2.2):
+ gaxios@7.3.0(supports-color@11.0.0):
dependencies:
extend: 3.0.2
- https-proxy-agent: 7.0.6(supports-color@10.2.2)
+ https-proxy-agent: 7.0.6(supports-color@11.0.0)
node-fetch: 3.3.2
transitivePeerDependencies:
- supports-color
- gcp-metadata@8.1.2(supports-color@10.2.2):
+ gcp-metadata@8.1.2(supports-color@11.0.0):
dependencies:
- gaxios: 7.2.0(supports-color@10.2.2)
+ gaxios: 7.3.0(supports-color@11.0.0)
google-logging-utils: 1.1.3
json-bigint: 1.0.0
transitivePeerDependencies:
- supports-color
- gcp-metadata@8.1.3(supports-color@10.2.2):
+ gcp-metadata@8.1.4(supports-color@11.0.0):
dependencies:
- gaxios: 7.1.3(supports-color@10.2.2)
+ gaxios: 7.1.3(supports-color@11.0.0)
google-logging-utils: 1.1.3
json-bigint: 1.0.0
transitivePeerDependencies:
@@ -13549,41 +13561,41 @@ snapshots:
merge2: 1.4.1
slash: 3.0.0
- google-auth-library@10.5.0(supports-color@10.2.2):
+ google-auth-library@10.5.0(supports-color@11.0.0):
dependencies:
base64-js: 1.5.1
ecdsa-sig-formatter: 1.0.11
- gaxios: 7.2.0(supports-color@10.2.2)
- gcp-metadata: 8.1.3(supports-color@10.2.2)
+ gaxios: 7.3.0(supports-color@11.0.0)
+ gcp-metadata: 8.1.4(supports-color@11.0.0)
google-logging-utils: 1.1.3
- gtoken: 8.0.0(supports-color@10.2.2)
+ gtoken: 8.0.0(supports-color@11.0.0)
jws: 4.0.1
transitivePeerDependencies:
- supports-color
- google-auth-library@10.9.0(supports-color@10.2.2):
+ google-auth-library@10.9.1(supports-color@11.0.0):
dependencies:
base64-js: 1.5.1
ecdsa-sig-formatter: 1.0.11
- gaxios: 7.2.0(supports-color@10.2.2)
- gcp-metadata: 8.1.2(supports-color@10.2.2)
+ gaxios: 7.3.0(supports-color@11.0.0)
+ gcp-metadata: 8.1.2(supports-color@11.0.0)
google-logging-utils: 1.1.3
jws: 4.0.1
transitivePeerDependencies:
- supports-color
- google-gax@5.0.7(supports-color@10.2.2):
+ google-gax@5.0.8(supports-color@11.0.0):
dependencies:
'@grpc/grpc-js': 1.14.4
'@grpc/proto-loader': 0.8.1
duplexify: 4.1.3
- google-auth-library: 10.5.0(supports-color@10.2.2)
+ google-auth-library: 10.5.0(supports-color@11.0.0)
google-logging-utils: 1.1.3
node-fetch: 3.3.2
object-hash: 3.0.0
proto3-json-serializer: 3.0.4
protobufjs: 7.6.5
- retry-request: 8.0.3(supports-color@10.2.2)
+ retry-request: 8.0.4(supports-color@11.0.0)
rimraf: 5.0.10
transitivePeerDependencies:
- supports-color
@@ -13621,9 +13633,9 @@ snapshots:
'@grpc/grpc-js': 1.14.4
protobufjs: 7.6.5
- gtoken@8.0.0(supports-color@10.2.2):
+ gtoken@8.0.0(supports-color@11.0.0):
dependencies:
- gaxios: 7.2.0(supports-color@10.2.2)
+ gaxios: 7.3.0(supports-color@11.0.0)
jws: 4.0.1
transitivePeerDependencies:
- supports-color
@@ -13670,7 +13682,7 @@ snapshots:
dependencies:
function-bind: 1.1.2
- hono@4.12.31: {}
+ hono@4.12.32: {}
hosted-git-info@10.1.1:
dependencies:
@@ -13722,17 +13734,17 @@ snapshots:
http-parser-js@0.5.10: {}
- http-proxy-agent@7.0.2(supports-color@10.2.2):
+ http-proxy-agent@7.0.2(supports-color@11.0.0):
dependencies:
agent-base: 7.1.4
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
transitivePeerDependencies:
- supports-color
- http-proxy-middleware@2.0.10(@types/express@4.17.25)(debug@4.4.3(supports-color@10.2.2)):
+ http-proxy-middleware@2.0.10(@types/express@4.17.25)(debug@4.4.3(supports-color@11.0.0)):
dependencies:
'@types/http-proxy': 1.17.17
- http-proxy: 1.18.1(debug@4.4.3(supports-color@10.2.2))
+ http-proxy: 1.18.1(debug@4.4.3(supports-color@11.0.0))
is-glob: 4.0.3
is-plain-obj: 3.0.0
micromatch: 4.0.8
@@ -13741,9 +13753,9 @@ snapshots:
transitivePeerDependencies:
- debug
- http-proxy-middleware@4.2.0(supports-color@10.2.2):
+ http-proxy-middleware@4.2.0(supports-color@11.0.0):
dependencies:
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
httpxy: 0.5.5
is-glob: 4.0.3
is-plain-obj: 4.1.0
@@ -13751,10 +13763,10 @@ snapshots:
transitivePeerDependencies:
- supports-color
- http-proxy@1.18.1(debug@4.4.3(supports-color@10.2.2)):
+ http-proxy@1.18.1(debug@4.4.3(supports-color@11.0.0)):
dependencies:
eventemitter3: 4.0.7
- follow-redirects: 1.16.0(debug@4.4.3(supports-color@10.2.2))
+ follow-redirects: 1.16.0(debug@4.4.3(supports-color@11.0.0))
requires-port: 1.0.0
transitivePeerDependencies:
- debug
@@ -13772,24 +13784,24 @@ snapshots:
quick-lru: 5.1.1
resolve-alpn: 1.2.1
- https-proxy-agent@5.0.1(supports-color@10.2.2):
+ https-proxy-agent@5.0.1(supports-color@11.0.0):
dependencies:
- agent-base: 6.0.2(supports-color@10.2.2)
- debug: 4.4.3(supports-color@10.2.2)
+ agent-base: 6.0.2(supports-color@11.0.0)
+ debug: 4.4.3(supports-color@11.0.0)
transitivePeerDependencies:
- supports-color
- https-proxy-agent@7.0.6(supports-color@10.2.2):
+ https-proxy-agent@7.0.6(supports-color@11.0.0):
dependencies:
agent-base: 7.1.4
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
transitivePeerDependencies:
- supports-color
- https-proxy-agent@9.1.0(supports-color@10.2.2):
+ https-proxy-agent@9.1.0(supports-color@11.0.0):
dependencies:
agent-base: 9.0.0
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
proxy-agent-negotiate: 1.1.0
transitivePeerDependencies:
- kerberos
@@ -13813,9 +13825,9 @@ snapshots:
dependencies:
safer-buffer: 2.1.2
- icss-utils@5.1.0(postcss@8.5.19):
+ icss-utils@5.1.0(postcss@8.5.25):
dependencies:
- postcss: 8.5.19
+ postcss: 8.5.25
idb@7.1.1: {}
@@ -13858,7 +13870,7 @@ snapshots:
hasown: 2.0.4
side-channel: 1.1.1
- ip-address@10.2.0: {}
+ ip-address@10.3.1: {}
ipaddr.js@1.9.1: {}
@@ -14064,9 +14076,9 @@ snapshots:
istanbul-lib-coverage@3.2.2: {}
- istanbul-lib-instrument@5.2.1(supports-color@10.2.2):
+ istanbul-lib-instrument@5.2.1(supports-color@11.0.0):
dependencies:
- '@babel/core': 7.29.7(supports-color@10.2.2)
+ '@babel/core': 7.29.7(supports-color@11.0.0)
'@babel/parser': 7.29.7
'@istanbuljs/schema': 0.1.6
istanbul-lib-coverage: 3.2.2
@@ -14074,9 +14086,9 @@ snapshots:
transitivePeerDependencies:
- supports-color
- istanbul-lib-instrument@6.0.3(supports-color@10.2.2):
+ istanbul-lib-instrument@6.0.3(supports-color@11.0.0):
dependencies:
- '@babel/core': 7.29.7(supports-color@10.2.2)
+ '@babel/core': 7.29.7(supports-color@11.0.0)
'@babel/parser': 7.29.7
'@istanbuljs/schema': 0.1.6
istanbul-lib-coverage: 3.2.2
@@ -14090,9 +14102,9 @@ snapshots:
make-dir: 4.0.0
supports-color: 7.2.0
- istanbul-lib-source-maps@4.0.1(supports-color@10.2.2):
+ istanbul-lib-source-maps@4.0.1(supports-color@11.0.0):
dependencies:
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
istanbul-lib-coverage: 3.2.2
source-map: 0.6.1
transitivePeerDependencies:
@@ -14157,7 +14169,7 @@ snapshots:
'@asamuzakjp/css-color': 5.1.11
'@asamuzakjp/dom-selector': 7.1.1
'@bramus/specificity': 2.4.2
- '@csstools/css-syntax-patches-for-csstree': 1.1.6(css-tree@3.2.1)
+ '@csstools/css-syntax-patches-for-csstree': 1.1.7(css-tree@3.2.1)
'@exodus/bytes': 1.15.1
css-tree: 3.2.1
data-urls: 7.0.0
@@ -14169,7 +14181,7 @@ snapshots:
saxes: 6.0.0
symbol-tree: 3.2.4
tough-cookie: 6.0.2
- undici: 7.28.0
+ undici: 7.29.0
w3c-xmlserializer: 5.0.0
webidl-conversions: 8.0.1
whatwg-mimetype: 5.0.0
@@ -14255,54 +14267,54 @@ snapshots:
dependencies:
which: 1.3.1
- karma-coverage@2.2.1(supports-color@10.2.2):
+ karma-coverage@2.2.1(supports-color@11.0.0):
dependencies:
istanbul-lib-coverage: 3.2.2
- istanbul-lib-instrument: 5.2.1(supports-color@10.2.2)
+ istanbul-lib-instrument: 5.2.1(supports-color@11.0.0)
istanbul-lib-report: 3.0.1
- istanbul-lib-source-maps: 4.0.1(supports-color@10.2.2)
+ istanbul-lib-source-maps: 4.0.1(supports-color@11.0.0)
istanbul-reports: 3.2.0
minimatch: 3.1.5
transitivePeerDependencies:
- supports-color
- karma-jasmine-html-reporter@2.2.0(jasmine-core@6.3.0)(karma-jasmine@5.1.0(karma@6.4.4(bufferutil@4.1.0)(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(utf-8-validate@6.0.6)))(karma@6.4.4(bufferutil@4.1.0)(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(utf-8-validate@6.0.6)):
+ karma-jasmine-html-reporter@2.2.0(jasmine-core@6.3.0)(karma-jasmine@5.1.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)))(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)):
dependencies:
jasmine-core: 6.3.0
- karma: 6.4.4(bufferutil@4.1.0)(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(utf-8-validate@6.0.6)
- karma-jasmine: 5.1.0(karma@6.4.4(bufferutil@4.1.0)(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(utf-8-validate@6.0.6))
+ 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)
+ karma-jasmine: 5.1.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))
- karma-jasmine@5.1.0(karma@6.4.4(bufferutil@4.1.0)(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(utf-8-validate@6.0.6)):
+ karma-jasmine@5.1.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)):
dependencies:
jasmine-core: 4.6.1
- karma: 6.4.4(bufferutil@4.1.0)(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(utf-8-validate@6.0.6)
+ 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)
karma-source-map-support@1.4.0:
dependencies:
source-map-support: 0.5.21
- karma@6.4.4(bufferutil@4.1.0)(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(utf-8-validate@6.0.6):
+ 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):
dependencies:
'@colors/colors': 1.5.0
- body-parser: 1.20.6(supports-color@10.2.2)
+ body-parser: 1.20.6(supports-color@11.0.0)
braces: 3.0.3
chokidar: 3.6.0
- connect: 3.7.0(supports-color@10.2.2)
+ connect: 3.7.0(supports-color@11.0.0)
di: 0.0.1
dom-serialize: 2.2.1
glob: 7.2.3
graceful-fs: 4.2.11
- http-proxy: 1.18.1(debug@4.4.3(supports-color@10.2.2))
+ http-proxy: 1.18.1(debug@4.4.3(supports-color@11.0.0))
isbinaryfile: 4.0.10
lodash: 4.18.1
- log4js: 6.9.1(supports-color@10.2.2)
+ log4js: 6.9.1(supports-color@11.0.0)
mime: 2.6.0
minimatch: 3.1.5
mkdirp: 0.5.6
qjobs: 1.2.0
range-parser: 1.3.0
rimraf: 3.0.2
- socket.io: 4.8.3(bufferutil@4.1.0)(supports-color@10.2.2)(utf-8-validate@6.0.6)
+ socket.io: 4.8.3(bufferutil@4.1.0)(supports-color@11.0.0)(utf-8-validate@6.0.6)
source-map: 0.6.1
tmp: 0.2.7
ua-parser-js: 0.7.41
@@ -14324,12 +14336,12 @@ snapshots:
picocolors: 1.1.1
shell-quote: 1.10.0
- less-loader@13.0.0(less@4.6.7)(webpack@5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)):
+ less-loader@13.0.0(less@4.6.7)(webpack@5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)):
dependencies:
'@types/less': 3.0.8
less: 4.6.7
optionalDependencies:
- webpack: 5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)
+ webpack: 5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)
less@4.6.7:
dependencies:
@@ -14349,11 +14361,11 @@ snapshots:
prelude-ls: 1.2.1
type-check: 0.4.0
- license-webpack-plugin@4.0.2(webpack@5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)):
+ license-webpack-plugin@4.0.2(webpack@5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)):
dependencies:
webpack-sources: 3.5.1
optionalDependencies:
- webpack: 5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)
+ webpack: 5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)
lightningcss-android-arm64@1.33.0:
optional: true
@@ -14436,8 +14448,6 @@ snapshots:
'@lmdb/lmdb-win32-x64': 3.5.6
optional: true
- loader-runner@4.3.2: {}
-
loader-utils@2.0.4:
dependencies:
big.js: 5.2.2
@@ -14481,7 +14491,7 @@ snapshots:
log-symbols@7.0.1:
dependencies:
is-unicode-supported: 2.1.0
- yoctocolors: 2.1.2
+ yoctocolors: 2.2.0
log-update@6.1.0:
dependencies:
@@ -14491,13 +14501,13 @@ snapshots:
strip-ansi: 7.2.0
wrap-ansi: 9.0.2
- log4js@6.9.1(supports-color@10.2.2):
+ log4js@6.9.1(supports-color@11.0.0):
dependencies:
date-format: 4.0.14
- debug: 4.4.3(supports-color@10.2.2)
- flatted: 3.4.2
+ debug: 4.4.3(supports-color@11.0.0)
+ flatted: 3.4.3
rfdc: 1.4.1
- streamroller: 3.1.5(supports-color@10.2.2)
+ streamroller: 3.1.5(supports-color@11.0.0)
transitivePeerDependencies:
- supports-color
@@ -14550,7 +14560,7 @@ snapshots:
media-typer@0.3.0: {}
- media-typer@1.1.0: {}
+ media-typer@1.1.1: {}
memfs@4.64.0(tslib@2.8.1):
dependencies:
@@ -14565,7 +14575,7 @@ snapshots:
'@jsonjoy.com/json-pack': 1.21.0(tslib@2.8.1)
'@jsonjoy.com/util': 1.9.0(tslib@2.8.1)
glob-to-regex.js: 1.2.0(tslib@2.8.1)
- thingies: 2.6.0(tslib@2.8.1)
+ thingies: 2.6.1(tslib@2.8.1)
tree-dump: 1.1.0(tslib@2.8.1)
tslib: 2.8.1
@@ -14608,17 +14618,21 @@ snapshots:
mimic-response@3.1.0: {}
- mini-css-extract-plugin@2.10.2(webpack@5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)):
+ mini-css-extract-plugin@2.10.2(webpack@5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)):
dependencies:
schema-utils: 4.3.3
tapable: 2.3.3
- webpack: 5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)
+ webpack: 5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)
minimalistic-assert@1.0.1: {}
minimatch@10.2.5:
dependencies:
- brace-expansion: 5.0.7
+ brace-expansion: 5.0.8
+
+ minimatch@10.2.6:
+ dependencies:
+ brace-expansion: 5.0.8
minimatch@3.1.5:
dependencies:
@@ -14634,26 +14648,26 @@ snapshots:
minimist@1.2.8: {}
- minimizer-webpack-plugin@5.6.1(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)(webpack@5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)):
+ minimizer-webpack-plugin@5.6.1(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)(webpack@5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)):
dependencies:
'@jridgewell/trace-mapping': 0.3.31
jest-worker: 27.5.1
schema-utils: 4.3.3
terser: 5.49.0
- webpack: 5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)
+ webpack: 5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)
optionalDependencies:
esbuild: 0.28.1
lightningcss: 1.33.0
- postcss: 8.5.19
+ postcss: 8.5.25
uglify-js: 3.19.3
- minimizer-webpack-plugin@5.6.1(esbuild@0.28.1)(webpack@5.108.4(esbuild@0.28.1)):
+ minimizer-webpack-plugin@5.6.1(esbuild@0.28.1)(webpack@5.109.2(esbuild@0.28.1)):
dependencies:
'@jridgewell/trace-mapping': 0.3.31
jest-worker: 27.5.1
schema-utils: 4.3.3
terser: 5.49.0
- webpack: 5.108.4(esbuild@0.28.1)
+ webpack: 5.109.2(esbuild@0.28.1)
optionalDependencies:
esbuild: 0.28.1
@@ -14714,7 +14728,7 @@ snapshots:
needle@3.5.0:
dependencies:
iconv-lite: 0.6.3
- sax: 1.6.0
+ sax: 1.6.1
optional: true
negotiator@0.6.3: {}
@@ -14725,10 +14739,10 @@ snapshots:
neo-async@2.6.2: {}
- ng-packagr@22.1.0-next.3(@angular/compiler-cli@22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(typescript@6.0.3))(tslib@2.8.1)(typescript@6.0.3):
+ ng-packagr@22.1.0(@angular/compiler-cli@22.1.0(@angular/compiler@22.1.0)(typescript@6.0.3))(tslib@2.8.1)(typescript@6.0.3):
dependencies:
'@ampproject/remapping': 2.3.0
- '@angular/compiler-cli': 22.1.0-rc.0(@angular/compiler@22.1.0-rc.0)(typescript@6.0.3)
+ '@angular/compiler-cli': 22.1.0(@angular/compiler@22.1.0)(typescript@6.0.3)
'@rollup/plugin-json': 6.1.0(rollup@4.62.2)
'@rollup/wasm-node': 4.62.2
ajv: 8.20.0
@@ -14743,7 +14757,7 @@ snapshots:
less: 4.6.7
ora: 9.4.1
piscina: 5.2.0
- postcss: 8.5.19
+ postcss: 8.5.25
rollup-plugin-dts: 6.4.1(rollup@4.62.2)(typescript@6.0.3)
rxjs: 7.8.2
sass: 1.101.0
@@ -14932,30 +14946,30 @@ snapshots:
object-keys: 1.1.1
safe-push-apply: 1.0.0
- oxc-parser@0.140.0:
+ oxc-parser@0.142.0:
dependencies:
- '@oxc-project/types': 0.140.0
+ '@oxc-project/types': 0.142.0
optionalDependencies:
- '@oxc-parser/binding-android-arm-eabi': 0.140.0
- '@oxc-parser/binding-android-arm64': 0.140.0
- '@oxc-parser/binding-darwin-arm64': 0.140.0
- '@oxc-parser/binding-darwin-x64': 0.140.0
- '@oxc-parser/binding-freebsd-x64': 0.140.0
- '@oxc-parser/binding-linux-arm-gnueabihf': 0.140.0
- '@oxc-parser/binding-linux-arm-musleabihf': 0.140.0
- '@oxc-parser/binding-linux-arm64-gnu': 0.140.0
- '@oxc-parser/binding-linux-arm64-musl': 0.140.0
- '@oxc-parser/binding-linux-ppc64-gnu': 0.140.0
- '@oxc-parser/binding-linux-riscv64-gnu': 0.140.0
- '@oxc-parser/binding-linux-riscv64-musl': 0.140.0
- '@oxc-parser/binding-linux-s390x-gnu': 0.140.0
- '@oxc-parser/binding-linux-x64-gnu': 0.140.0
- '@oxc-parser/binding-linux-x64-musl': 0.140.0
- '@oxc-parser/binding-openharmony-arm64': 0.140.0
- '@oxc-parser/binding-wasm32-wasi': 0.140.0
- '@oxc-parser/binding-win32-arm64-msvc': 0.140.0
- '@oxc-parser/binding-win32-ia32-msvc': 0.140.0
- '@oxc-parser/binding-win32-x64-msvc': 0.140.0
+ '@oxc-parser/binding-android-arm-eabi': 0.142.0
+ '@oxc-parser/binding-android-arm64': 0.142.0
+ '@oxc-parser/binding-darwin-arm64': 0.142.0
+ '@oxc-parser/binding-darwin-x64': 0.142.0
+ '@oxc-parser/binding-freebsd-x64': 0.142.0
+ '@oxc-parser/binding-linux-arm-gnueabihf': 0.142.0
+ '@oxc-parser/binding-linux-arm-musleabihf': 0.142.0
+ '@oxc-parser/binding-linux-arm64-gnu': 0.142.0
+ '@oxc-parser/binding-linux-arm64-musl': 0.142.0
+ '@oxc-parser/binding-linux-ppc64-gnu': 0.142.0
+ '@oxc-parser/binding-linux-riscv64-gnu': 0.142.0
+ '@oxc-parser/binding-linux-riscv64-musl': 0.142.0
+ '@oxc-parser/binding-linux-s390x-gnu': 0.142.0
+ '@oxc-parser/binding-linux-x64-gnu': 0.142.0
+ '@oxc-parser/binding-linux-x64-musl': 0.142.0
+ '@oxc-parser/binding-openharmony-arm64': 0.142.0
+ '@oxc-parser/binding-wasm32-wasi': 0.142.0
+ '@oxc-parser/binding-win32-arm64-msvc': 0.142.0
+ '@oxc-parser/binding-win32-ia32-msvc': 0.142.0
+ '@oxc-parser/binding-win32-x64-msvc': 0.142.0
p-cancelable@2.1.1: {}
@@ -15119,43 +15133,43 @@ snapshots:
possible-typed-array-names@1.1.0: {}
- postcss-loader@8.2.1(postcss@8.5.19)(typescript@6.0.3)(webpack@5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)):
+ postcss-loader@8.2.1(postcss@8.5.25)(typescript@6.0.3)(webpack@5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)):
dependencies:
cosmiconfig: 9.0.2(typescript@6.0.3)
jiti: 2.7.0
- postcss: 8.5.19
+ postcss: 8.5.25
semver: 7.8.5
optionalDependencies:
- webpack: 5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)
+ webpack: 5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)
transitivePeerDependencies:
- typescript
postcss-media-query-parser@0.2.3: {}
- postcss-modules-extract-imports@3.1.0(postcss@8.5.19):
+ postcss-modules-extract-imports@3.1.0(postcss@8.5.25):
dependencies:
- postcss: 8.5.19
+ postcss: 8.5.25
- postcss-modules-local-by-default@4.2.0(postcss@8.5.19):
+ postcss-modules-local-by-default@4.2.0(postcss@8.5.25):
dependencies:
- icss-utils: 5.1.0(postcss@8.5.19)
- postcss: 8.5.19
+ icss-utils: 5.1.0(postcss@8.5.25)
+ postcss: 8.5.25
postcss-selector-parser: 7.1.4
postcss-value-parser: 4.2.0
- postcss-modules-scope@3.2.1(postcss@8.5.19):
+ postcss-modules-scope@3.2.1(postcss@8.5.25):
dependencies:
- postcss: 8.5.19
+ postcss: 8.5.25
postcss-selector-parser: 7.1.4
- postcss-modules-values@4.0.0(postcss@8.5.19):
+ postcss-modules-values@4.0.0(postcss@8.5.25):
dependencies:
- icss-utils: 5.1.0(postcss@8.5.19)
- postcss: 8.5.19
+ icss-utils: 5.1.0(postcss@8.5.25)
+ postcss: 8.5.25
- postcss-safe-parser@7.0.1(postcss@8.5.19):
+ postcss-safe-parser@7.0.1(postcss@8.5.25):
dependencies:
- postcss: 8.5.19
+ postcss: 8.5.25
postcss-selector-parser@7.1.4:
dependencies:
@@ -15164,7 +15178,7 @@ snapshots:
postcss-value-parser@4.2.0: {}
- postcss@8.5.19:
+ postcss@8.5.25:
dependencies:
nanoid: 3.3.16
picocolors: 1.1.1
@@ -15423,7 +15437,7 @@ snapshots:
adjust-sourcemap-loader: 4.0.0
convert-source-map: 1.9.0
loader-utils: 2.0.4
- postcss: 8.5.19
+ postcss: 8.5.25
source-map: 0.6.1
resolve@1.22.12:
@@ -15442,9 +15456,9 @@ snapshots:
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
- resp-modifier@6.0.2(supports-color@10.2.2):
+ resp-modifier@6.0.2(supports-color@11.0.0):
dependencies:
- debug: 2.6.9(supports-color@10.2.2)
+ debug: 2.6.9(supports-color@11.0.0)
minimatch: 3.1.5
transitivePeerDependencies:
- supports-color
@@ -15458,10 +15472,10 @@ snapshots:
onetime: 7.0.0
signal-exit: 4.1.0
- retry-request@8.0.3(supports-color@10.2.2):
+ retry-request@8.0.4(supports-color@11.0.0):
dependencies:
extend: 3.0.2
- teeny-request: 10.1.3(supports-color@10.2.2)
+ teeny-request: 10.1.4(supports-color@11.0.0)
transitivePeerDependencies:
- supports-color
@@ -15577,9 +15591,9 @@ snapshots:
'@rollup/rollup-win32-x64-msvc': 4.62.2
fsevents: 2.3.3
- router@2.2.0(supports-color@10.2.2):
+ router@2.2.0(supports-color@11.0.0):
dependencies:
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
depd: 2.0.0
is-promise: 4.0.0
parseurl: 1.3.3
@@ -15630,10 +15644,10 @@ snapshots:
dependencies:
truncate-utf8-bytes: 1.0.2
- sass-loader@17.0.0(sass@1.101.0)(webpack@5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)):
+ sass-loader@17.0.0(sass@1.101.0)(webpack@5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)):
optionalDependencies:
sass: 1.101.0
- webpack: 5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)
+ webpack: 5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)
sass@1.101.0:
dependencies:
@@ -15643,7 +15657,7 @@ snapshots:
optionalDependencies:
'@parcel/watcher': 2.6.0
- sax@1.6.0:
+ sax@1.6.1:
optional: true
saxes@6.0.0:
@@ -15670,9 +15684,9 @@ snapshots:
semver@7.8.5: {}
- send@0.19.2(supports-color@10.2.2):
+ send@0.19.2(supports-color@11.0.0):
dependencies:
- debug: 2.6.9(supports-color@10.2.2)
+ debug: 2.6.9(supports-color@11.0.0)
depd: 2.0.0
destroy: 1.2.0
encodeurl: 2.0.0
@@ -15688,9 +15702,9 @@ snapshots:
transitivePeerDependencies:
- supports-color
- send@1.2.1(supports-color@10.2.2):
+ send@1.2.1(supports-color@11.0.0):
dependencies:
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
encodeurl: 2.0.0
escape-html: 1.0.3
etag: 1.8.1
@@ -15706,11 +15720,11 @@ snapshots:
serialize-javascript@7.0.7: {}
- serve-index@1.9.2(supports-color@10.2.2):
+ serve-index@1.9.2(supports-color@11.0.0):
dependencies:
accepts: 1.3.8
batch: 0.6.1
- debug: 2.6.9(supports-color@10.2.2)
+ debug: 2.6.9(supports-color@11.0.0)
escape-html: 1.0.3
http-errors: 1.8.1
mime-types: 2.1.35
@@ -15718,21 +15732,21 @@ snapshots:
transitivePeerDependencies:
- supports-color
- serve-static@1.16.3(supports-color@10.2.2):
+ serve-static@1.16.3(supports-color@11.0.0):
dependencies:
encodeurl: 2.0.0
escape-html: 1.0.3
parseurl: 1.3.3
- send: 0.19.2(supports-color@10.2.2)
+ send: 0.19.2(supports-color@11.0.0)
transitivePeerDependencies:
- supports-color
- serve-static@2.2.1(supports-color@10.2.2):
+ serve-static@2.2.1(supports-color@11.0.0):
dependencies:
encodeurl: 2.0.0
escape-html: 1.0.3
parseurl: 1.3.3
- send: 1.2.1(supports-color@10.2.2)
+ send: 1.2.1(supports-color@11.0.0)
transitivePeerDependencies:
- supports-color
@@ -15820,42 +15834,42 @@ snapshots:
ansi-styles: 6.2.3
is-fullwidth-code-point: 5.1.0
- socket.io-adapter@2.5.8(bufferutil@4.1.0)(supports-color@10.2.2)(utf-8-validate@6.0.6):
+ socket.io-adapter@2.5.8(bufferutil@4.1.0)(supports-color@11.0.0)(utf-8-validate@6.0.6):
dependencies:
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
ws: 8.21.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
- socket.io-client@4.8.3(bufferutil@4.1.0)(supports-color@10.2.2)(utf-8-validate@6.0.6):
+ socket.io-client@4.8.3(bufferutil@4.1.0)(supports-color@11.0.0)(utf-8-validate@6.0.6):
dependencies:
'@socket.io/component-emitter': 3.1.2
- debug: 4.4.3(supports-color@10.2.2)
- engine.io-client: 6.6.6(bufferutil@4.1.0)(supports-color@10.2.2)(utf-8-validate@6.0.6)
- socket.io-parser: 4.2.7(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
+ engine.io-client: 6.6.6(bufferutil@4.1.0)(supports-color@11.0.0)(utf-8-validate@6.0.6)
+ socket.io-parser: 4.2.7(supports-color@11.0.0)
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
- socket.io-parser@4.2.7(supports-color@10.2.2):
+ socket.io-parser@4.2.7(supports-color@11.0.0):
dependencies:
'@socket.io/component-emitter': 3.1.2
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
transitivePeerDependencies:
- supports-color
- socket.io@4.8.3(bufferutil@4.1.0)(supports-color@10.2.2)(utf-8-validate@6.0.6):
+ socket.io@4.8.3(bufferutil@4.1.0)(supports-color@11.0.0)(utf-8-validate@6.0.6):
dependencies:
accepts: 1.3.8
base64id: 2.0.0
cors: 2.8.6
- debug: 4.4.3(supports-color@10.2.2)
- engine.io: 6.6.9(bufferutil@4.1.0)(supports-color@10.2.2)(utf-8-validate@6.0.6)
- socket.io-adapter: 2.5.8(bufferutil@4.1.0)(supports-color@10.2.2)(utf-8-validate@6.0.6)
- socket.io-parser: 4.2.7(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
+ engine.io: 6.6.9(bufferutil@4.1.0)(supports-color@11.0.0)(utf-8-validate@6.0.6)
+ socket.io-adapter: 2.5.8(bufferutil@4.1.0)(supports-color@11.0.0)(utf-8-validate@6.0.6)
+ socket.io-parser: 4.2.7(supports-color@11.0.0)
transitivePeerDependencies:
- bufferutil
- supports-color
@@ -15877,11 +15891,11 @@ snapshots:
source-map-js@1.2.1: {}
- source-map-loader@5.0.0(webpack@5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)):
+ source-map-loader@5.0.0(webpack@5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)):
dependencies:
iconv-lite: 0.6.3
source-map-js: 1.2.1
- webpack: 5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)
+ webpack: 5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)
source-map-support@0.5.21:
dependencies:
@@ -15905,9 +15919,9 @@ snapshots:
spdx-license-ids@3.0.23: {}
- spdy-transport@3.0.0(supports-color@10.2.2):
+ spdy-transport@3.0.0(supports-color@11.0.0):
dependencies:
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
detect-node: 2.1.0
hpack.js: 2.1.6
obuf: 1.1.2
@@ -15916,13 +15930,13 @@ snapshots:
transitivePeerDependencies:
- supports-color
- spdy@4.0.2(supports-color@10.2.2):
+ spdy@4.0.2(supports-color@11.0.0):
dependencies:
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
handle-thing: 2.0.1
http-deceiver: 1.2.7
select-hose: 2.0.0
- spdy-transport: 3.0.0(supports-color@10.2.2)
+ spdy-transport: 3.0.0(supports-color@11.0.0)
transitivePeerDependencies:
- supports-color
@@ -15987,10 +16001,10 @@ snapshots:
commander: 2.20.3
limiter: 1.1.5
- streamroller@3.1.5(supports-color@10.2.2):
+ streamroller@3.1.5(supports-color@11.0.0):
dependencies:
date-format: 4.0.14
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
fs-extra: 8.1.0
transitivePeerDependencies:
- supports-color
@@ -16075,7 +16089,7 @@ snapshots:
stubs@3.0.0: {}
- supports-color@10.2.2: {}
+ supports-color@11.0.0: {}
supports-color@7.2.0:
dependencies:
@@ -16111,10 +16125,10 @@ snapshots:
- bare-buffer
- react-native-b4a
- teeny-request@10.1.3(supports-color@10.2.2):
+ teeny-request@10.1.4(supports-color@11.0.0):
dependencies:
- http-proxy-agent: 7.0.2(supports-color@10.2.2)
- https-proxy-agent: 7.0.6(supports-color@10.2.2)
+ http-proxy-agent: 7.0.2(supports-color@11.0.0)
+ https-proxy-agent: 7.0.6(supports-color@11.0.0)
node-fetch: 3.3.2
stream-events: 1.0.5
transitivePeerDependencies:
@@ -16140,7 +16154,7 @@ snapshots:
transitivePeerDependencies:
- react-native-b4a
- thingies@2.6.0(tslib@2.8.1):
+ thingies@2.6.1(tslib@2.8.1):
dependencies:
tslib: 2.8.1
@@ -16265,7 +16279,7 @@ snapshots:
type-is@2.1.0:
dependencies:
content-type: 2.0.0
- media-typer: 1.1.0
+ media-typer: 1.1.1
mime-types: 3.0.2
typed-array-buffer@1.0.3:
@@ -16327,9 +16341,9 @@ snapshots:
undici-types@7.18.2: {}
- undici@6.27.0: {}
+ undici@6.28.0: {}
- undici@7.28.0: {}
+ undici@7.29.0: {}
undici@8.7.0: {}
@@ -16402,69 +16416,69 @@ snapshots:
vary@1.1.2: {}
- verdaccio-audit@13.0.3(encoding@0.1.13)(supports-color@10.2.2):
+ verdaccio-audit@13.0.3(encoding@0.1.13)(supports-color@11.0.0):
dependencies:
- '@verdaccio/config': 8.1.2(supports-color@10.2.2)
+ '@verdaccio/config': 8.1.2(supports-color@11.0.0)
'@verdaccio/core': 8.1.2
- express: 4.22.1(supports-color@10.2.2)
- https-proxy-agent: 5.0.1(supports-color@10.2.2)
+ express: 4.22.1(supports-color@11.0.0)
+ https-proxy-agent: 5.0.1(supports-color@11.0.0)
node-fetch: 2.6.7(encoding@0.1.13)
transitivePeerDependencies:
- encoding
- supports-color
- verdaccio-auth-memory@13.0.3(supports-color@10.2.2):
+ verdaccio-auth-memory@13.1.0(supports-color@11.0.0):
dependencies:
- '@verdaccio/core': 8.1.2
- debug: 4.4.3(supports-color@10.2.2)
+ '@verdaccio/core': 8.2.0
+ debug: 4.4.3(supports-color@11.0.0)
transitivePeerDependencies:
- supports-color
- verdaccio-htpasswd@13.0.3(supports-color@10.2.2):
+ verdaccio-htpasswd@13.0.3(supports-color@11.0.0):
dependencies:
'@verdaccio/core': 8.1.2
'@verdaccio/file-locking': 13.0.1
apache-md5: 1.1.8
bcryptjs: 2.4.3
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
http-errors: 2.0.1
unix-crypt-td-js: 1.1.4
transitivePeerDependencies:
- supports-color
- verdaccio@6.8.0(encoding@0.1.13)(supports-color@10.2.2):
+ verdaccio@6.8.0(encoding@0.1.13)(supports-color@11.0.0):
dependencies:
'@cypress/request': 3.0.10
- '@verdaccio/auth': 8.0.4(supports-color@10.2.2)
- '@verdaccio/config': 8.1.2(supports-color@10.2.2)
+ '@verdaccio/auth': 8.0.4(supports-color@11.0.0)
+ '@verdaccio/config': 8.1.2(supports-color@11.0.0)
'@verdaccio/core': 8.1.2
- '@verdaccio/hooks': 8.0.4(supports-color@10.2.2)
- '@verdaccio/loaders': 8.0.3(supports-color@10.2.2)
- '@verdaccio/local-storage-legacy': 11.3.4(supports-color@10.2.2)
- '@verdaccio/logger': 8.0.3(supports-color@10.2.2)
- '@verdaccio/middleware': 8.0.5(supports-color@10.2.2)
- '@verdaccio/package-filter': 13.0.3(supports-color@10.2.2)
- '@verdaccio/search-indexer': 8.0.2(supports-color@10.2.2)
- '@verdaccio/signature': 8.0.3(supports-color@10.2.2)
+ '@verdaccio/hooks': 8.0.4(supports-color@11.0.0)
+ '@verdaccio/loaders': 8.0.3(supports-color@11.0.0)
+ '@verdaccio/local-storage-legacy': 11.3.4(supports-color@11.0.0)
+ '@verdaccio/logger': 8.0.3(supports-color@11.0.0)
+ '@verdaccio/middleware': 8.0.5(supports-color@11.0.0)
+ '@verdaccio/package-filter': 13.0.3(supports-color@11.0.0)
+ '@verdaccio/search-indexer': 8.0.2(supports-color@11.0.0)
+ '@verdaccio/signature': 8.0.3(supports-color@11.0.0)
'@verdaccio/streams': 10.2.5
- '@verdaccio/tarball': 13.0.3(supports-color@10.2.2)
- '@verdaccio/ui-theme': 9.0.0-next-9.21(supports-color@10.2.2)
- '@verdaccio/url': 13.0.3(supports-color@10.2.2)
+ '@verdaccio/tarball': 13.0.3(supports-color@11.0.0)
+ '@verdaccio/ui-theme': 9.0.0-next-9.21(supports-color@11.0.0)
+ '@verdaccio/url': 13.0.3(supports-color@11.0.0)
'@verdaccio/utils': 8.1.3
JSONStream: 1.3.5
async: 3.2.6
clipanion: 4.0.0-rc.4
- compression: 1.8.1(supports-color@10.2.2)
+ compression: 1.8.1(supports-color@11.0.0)
cors: 2.8.6
- debug: 4.4.3(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@11.0.0)
envinfo: 7.21.0
- express: 4.22.2(supports-color@10.2.2)
+ express: 4.22.2(supports-color@11.0.0)
lodash: 4.18.1
lru-cache: 7.18.3
mime: 3.0.0
semver: 7.8.5
- verdaccio-audit: 13.0.3(encoding@0.1.13)(supports-color@10.2.2)
- verdaccio-htpasswd: 13.0.3(supports-color@10.2.2)
+ verdaccio-audit: 13.0.3(encoding@0.1.13)(supports-color@11.0.0)
+ verdaccio-htpasswd: 13.0.3(supports-color@11.0.0)
transitivePeerDependencies:
- bare-abort-controller
- encoding
@@ -16481,7 +16495,7 @@ snapshots:
dependencies:
lightningcss: 1.33.0
picomatch: 4.0.5
- postcss: 8.5.19
+ postcss: 8.5.25
rolldown: 1.1.5
tinyglobby: 0.2.17
optionalDependencies:
@@ -16563,7 +16577,7 @@ snapshots:
webidl-conversions@8.0.1: {}
- webpack-dev-middleware@7.4.5(tslib@2.8.1)(webpack@5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)):
+ webpack-dev-middleware@7.4.5(tslib@2.8.1)(webpack@5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)):
dependencies:
colorette: 2.0.20
memfs: 4.64.0(tslib@2.8.1)
@@ -16572,11 +16586,11 @@ snapshots:
range-parser: 1.3.0
schema-utils: 4.3.3
optionalDependencies:
- webpack: 5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)
+ webpack: 5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)
transitivePeerDependencies:
- tslib
- webpack-dev-middleware@8.0.3(tslib@2.8.1)(webpack@5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)):
+ webpack-dev-middleware@8.0.3(tslib@2.8.1)(webpack@5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)):
dependencies:
memfs: 4.64.0(tslib@2.8.1)
mime-types: 3.0.2
@@ -16584,11 +16598,11 @@ snapshots:
range-parser: 1.3.0
schema-utils: 4.3.3
optionalDependencies:
- webpack: 5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)
+ webpack: 5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)
transitivePeerDependencies:
- tslib
- webpack-dev-server@5.2.6(bufferutil@4.1.0)(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)(tslib@2.8.1)(utf-8-validate@6.0.6)(webpack@5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)):
+ webpack-dev-server@5.2.6(bufferutil@4.1.0)(debug@4.4.3(supports-color@11.0.0))(supports-color@11.0.0)(tslib@2.8.1)(utf-8-validate@6.0.6)(webpack@5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)):
dependencies:
'@types/bonjour': 3.5.13
'@types/connect-history-api-fallback': 1.5.4
@@ -16602,24 +16616,24 @@ snapshots:
bonjour-service: 1.4.3
chokidar: 3.6.0
colorette: 2.0.20
- compression: 1.8.1(supports-color@10.2.2)
+ compression: 1.8.1(supports-color@11.0.0)
connect-history-api-fallback: 2.0.0
- express: 4.22.2(supports-color@10.2.2)
+ express: 4.22.2(supports-color@11.0.0)
graceful-fs: 4.2.11
- http-proxy-middleware: 2.0.10(@types/express@4.17.25)(debug@4.4.3(supports-color@10.2.2))
+ http-proxy-middleware: 2.0.10(@types/express@4.17.25)(debug@4.4.3(supports-color@11.0.0))
ipaddr.js: 2.4.0
launch-editor: 2.14.1
open: 10.2.0
p-retry: 6.2.1
schema-utils: 4.3.3
selfsigned: 5.5.0
- serve-index: 1.9.2(supports-color@10.2.2)
+ serve-index: 1.9.2(supports-color@11.0.0)
sockjs: 0.3.24
- spdy: 4.0.2(supports-color@10.2.2)
- webpack-dev-middleware: 7.4.5(tslib@2.8.1)(webpack@5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3))
+ spdy: 4.0.2(supports-color@11.0.0)
+ webpack-dev-middleware: 7.4.5(tslib@2.8.1)(webpack@5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3))
ws: 8.21.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)
optionalDependencies:
- webpack: 5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)
+ webpack: 5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)
transitivePeerDependencies:
- bufferutil
- debug
@@ -16635,12 +16649,12 @@ snapshots:
webpack-sources@3.5.1: {}
- webpack-subresource-integrity@5.1.0(webpack@5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)):
+ webpack-subresource-integrity@5.1.0(webpack@5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)):
dependencies:
typed-assert: 1.0.9
- webpack: 5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)
+ webpack: 5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)
- webpack@5.108.4(esbuild@0.28.1):
+ webpack@5.109.2(esbuild@0.28.1):
dependencies:
'@types/estree': 1.0.9
'@types/json-schema': 7.0.15
@@ -16648,17 +16662,15 @@ snapshots:
'@webassemblyjs/wasm-edit': 1.14.1
'@webassemblyjs/wasm-parser': 1.14.1
acorn: 8.17.0
- acorn-import-phases: 1.0.4(acorn@8.17.0)
browserslist: 4.28.7
chrome-trace-event: 1.0.4
- enhanced-resolve: 5.24.3
+ enhanced-resolve: 5.24.4
es-module-lexer: 2.3.1
eslint-scope: 5.1.1
events: 3.3.0
graceful-fs: 4.2.11
- loader-runner: 4.3.2
mime-db: 1.54.0
- minimizer-webpack-plugin: 5.6.1(esbuild@0.28.1)(webpack@5.108.4(esbuild@0.28.1))
+ minimizer-webpack-plugin: 5.6.1(esbuild@0.28.1)(webpack@5.109.2(esbuild@0.28.1))
neo-async: 2.6.2
schema-utils: 4.3.3
tapable: 2.3.3
@@ -16678,7 +16690,7 @@ snapshots:
- postcss
- uglify-js
- webpack@5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3):
+ webpack@5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3):
dependencies:
'@types/estree': 1.0.9
'@types/json-schema': 7.0.15
@@ -16686,17 +16698,15 @@ snapshots:
'@webassemblyjs/wasm-edit': 1.14.1
'@webassemblyjs/wasm-parser': 1.14.1
acorn: 8.17.0
- acorn-import-phases: 1.0.4(acorn@8.17.0)
browserslist: 4.28.7
chrome-trace-event: 1.0.4
- enhanced-resolve: 5.24.3
+ enhanced-resolve: 5.24.4
es-module-lexer: 2.3.1
eslint-scope: 5.1.1
events: 3.3.0
graceful-fs: 4.2.11
- loader-runner: 4.3.2
mime-db: 1.54.0
- minimizer-webpack-plugin: 5.6.1(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3)(webpack@5.108.4(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.19)(uglify-js@3.19.3))
+ minimizer-webpack-plugin: 5.6.1(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3)(webpack@5.109.2(esbuild@0.28.1)(lightningcss@1.33.0)(postcss@8.5.25)(uglify-js@3.19.3))
neo-async: 2.6.2
schema-utils: 4.3.3
tapable: 2.3.3
@@ -16894,9 +16904,18 @@ snapshots:
y18n: 5.0.8
yargs-parser: 22.0.0
+ yargs@18.1.0:
+ dependencies:
+ cliui: 9.0.1
+ escalade: 3.2.0
+ get-caller-file: 2.0.5
+ string-width: 8.2.2
+ y18n: 5.0.8
+ yargs-parser: 22.0.0
+
yocto-queue@0.1.0: {}
- yoctocolors@2.1.2: {}
+ yoctocolors@2.2.0: {}
zod-to-json-schema@3.25.2(zod@4.4.3):
dependencies:
diff --git a/scripts/saucelabs/start-tunnel.sh b/scripts/saucelabs/start-tunnel.sh
deleted file mode 100755
index badf130e6eea..000000000000
--- a/scripts/saucelabs/start-tunnel.sh
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/usr/bin/env bash
-
-set -x -u -e -o pipefail
-
-readonly currentDir=$(cd $(dirname $0); pwd)
-readonly connectVersion="sc-4.9.2-linux"
-readonly connectHash="2f8a3f87e1da4dc9a41bc45ec7c3a2ecdba4c72d72b7d0193f04ad66c5809104"
-
-echo "Downloading Sauce Connect"
-
-curl https://saucelabs.com/downloads/${connectVersion}.tar.gz -o ${currentDir}/${connectVersion}.tar.gz
-echo "${connectHash} ${currentDir}/${connectVersion}.tar.gz" | shasum -a 256 -c
-tar -xzf ${currentDir}/${connectVersion}.tar.gz -C ${currentDir}
-
-# Command arguments that will be passed to sauce-connect. By default we disable SSL bumping for
-# all requests. This is because SSL bumping is not needed for our test setup and in order
-# to perform the SSL bumping, Saucelabs intercepts all HTTP requests in the tunnel VM and modifies
-# them. This can cause flakiness as it makes all requests dependent on the SSL bumping middleware.
-# See: https://wiki.saucelabs.com/display/DOCS/Troubleshooting+Sauce+Connect#TroubleshootingSauceConnect-DisablingSSLBumping
-sauceArgs="--no-ssl-bump-domains all"
-
-if [[ ! -z "${SAUCE_LOG_FILE:-}" ]]; then
- mkdir -p $(dirname ${SAUCE_LOG_FILE})
- sauceArgs="${sauceArgs} --logfile ${SAUCE_LOG_FILE}"
-fi
-
-if [[ ! -z "${SAUCE_READY_FILE:-}" ]]; then
- mkdir -p $(dirname ${SAUCE_READY_FILE})
- sauceArgs="${sauceArgs} --readyfile ${SAUCE_READY_FILE}"
-fi
-
-if [[ ! -z "${SAUCE_PID_FILE:-}" ]]; then
- mkdir -p $(dirname ${SAUCE_PID_FILE})
- sauceArgs="${sauceArgs} --pidfile ${SAUCE_PID_FILE}"
-fi
-
-
-echo "Starting Sauce Connect. Passed arguments: ${sauceArgs}"
-
-${currentDir}/${connectVersion}/bin/sc -u ${SAUCE_USERNAME} -k ${SAUCE_ACCESS_KEY} ${sauceArgs}
diff --git a/scripts/saucelabs/stop-tunnel.sh b/scripts/saucelabs/stop-tunnel.sh
deleted file mode 100755
index 4ea8d13c7e12..000000000000
--- a/scripts/saucelabs/stop-tunnel.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/usr/bin/env bash
-
-# Disable printing of any executed command because this would cause a lot
-# of spam due to the loop.
-set +x -u -e -o pipefail
-
-if [[ ! -f ${SAUCE_PID_FILE} ]]; then
- echo "Could not find Saucelabs tunnel PID file. Cannot stop tunnel.."
- exit 1
-fi
-
-echo "Shutting down Sauce Connect tunnel"
-
-# The process id for the sauce-connect instance is stored inside of the pidfile.
-tunnelProcessId=$(cat ${SAUCE_PID_FILE})
-
-# Kill the process by using the PID that has been read from the pidfile. Note that
-# we cannot use killall because CI base container images don't have it installed.
-kill ${tunnelProcessId}
-
-while (ps -p ${tunnelProcessId} &> /dev/null); do
- printf "."
- sleep .5
-done
-
-echo ""
-echo "Sauce Connect tunnel has been shut down"
diff --git a/scripts/saucelabs/wait-for-tunnel.sh b/scripts/saucelabs/wait-for-tunnel.sh
deleted file mode 100755
index feda9a85b694..000000000000
--- a/scripts/saucelabs/wait-for-tunnel.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env bash
-
-# Disable printing of any executed command because this would cause a lot
-# of spam due to the loop.
-set +x -u -e -o pipefail
-
-# Waits for Saucelabs Connect to be ready before executing any tests.
-counter=0
-
-while [[ ! -f ${SAUCE_READY_FILE} ]]; do
- counter=$((counter + 1))
-
- # Counter needs to be multiplied by two because the while loop only sleeps a half second.
- # This has been made in favor of better progress logging (printing dots every half second)
- if [ $counter -gt $[${SAUCE_READY_FILE_TIMEOUT} * 2] ]; then
- echo "Timed out after ${SAUCE_READY_FILE_TIMEOUT} seconds waiting for tunnel ready file."
- echo "Printing logfile output:"
- echo ""
- cat ${SAUCE_LOG_FILE}
- exit 5
- fi
-
- printf "."
- sleep 0.5
-done
-
-echo ""
-echo "Connected to Saucelabs"
diff --git a/tests/e2e/assets/protractor-saucelabs.conf.js b/tests/e2e/assets/protractor-saucelabs.conf.js
index fb9ab42798a8..cb21d8a3be15 100644
--- a/tests/e2e/assets/protractor-saucelabs.conf.js
+++ b/tests/e2e/assets/protractor-saucelabs.conf.js
@@ -5,7 +5,50 @@
const { SpecReporter, StacktraceOption } = require('jasmine-spec-reporter');
-const tunnelIdentifier = process.env['SAUCE_TUNNEL_IDENTIFIER'];
+const tunnelName = process.env['SAUCE_TUNNEL_IDENTIFIER'];
+
+const capabilities = [
+ {
+ browserName: 'chrome',
+ version: '132',
+ platform: 'Windows 11',
+ },
+ {
+ browserName: 'chrome',
+ version: '131',
+ platform: 'Windows 11',
+ },
+ {
+ browserName: 'firefox',
+ version: '134',
+ platform: 'Windows 11',
+ },
+ {
+ browserName: 'firefox',
+ version: '128', // Latest Firefox ESR version as of Jan 2025
+ platform: 'Windows 11',
+ },
+ {
+ browserName: 'safari',
+ platform: 'macOS 13',
+ version: '17',
+ },
+ {
+ browserName: 'safari',
+ platform: 'macOS 12',
+ version: '16',
+ },
+ {
+ browserName: 'MicrosoftEdge',
+ platform: 'Windows 11',
+ version: '132',
+ },
+ {
+ browserName: 'MicrosoftEdge',
+ platform: 'Windows 11',
+ version: '131',
+ },
+];
/**
* @type { import("protractor").Config }
@@ -13,61 +56,16 @@ const tunnelIdentifier = process.env['SAUCE_TUNNEL_IDENTIFIER'];
exports.config = {
sauceUser: process.env['SAUCE_USERNAME'],
sauceKey: process.env['SAUCE_ACCESS_KEY'],
+ sauceRegion: 'us',
allScriptsTimeout: 11000,
specs: ['./src/**/*.e2e-spec.ts'],
// NOTE: https://saucelabs.com/products/platform-configurator can be used to determine configuration values
- multiCapabilities: [
- {
- browserName: 'chrome',
- version: '132',
- platform: 'Windows 11',
- tunnelIdentifier,
- },
- {
- browserName: 'chrome',
- version: '131',
- platform: 'Windows 11',
- tunnelIdentifier,
- },
- {
- browserName: 'firefox',
- version: '134',
- platform: 'Windows 11',
- tunnelIdentifier,
- },
- {
- browserName: 'firefox',
- version: '128', // Latest Firefox ESR version as of Jan 2025
- platform: 'Windows 11',
- tunnelIdentifier,
- },
- {
- browserName: 'safari',
- platform: 'macOS 13',
- version: '17',
- tunnelIdentifier,
- },
- {
- browserName: 'safari',
- platform: 'macOS 12',
- version: '16',
- tunnelIdentifier,
- },
- {
- browserName: 'MicrosoftEdge',
- platform: 'Windows 11',
- version: '132',
- tunnelIdentifier,
- },
- {
- browserName: 'MicrosoftEdge',
- platform: 'Windows 11',
- version: '131',
- tunnelIdentifier,
- },
- ],
+ multiCapabilities: capabilities.map((caps) => ({
+ ...caps,
+ tunnelName,
+ })),
// Only allow one session at a time to prevent over saturation of Saucelabs sessions.
maxSessions: 1,
diff --git a/tests/e2e/tests/commands/add/add-tailwindcss.ts b/tests/e2e/tests/commands/add/add-tailwindcss.ts
index 54fd617a4e1e..fa42815d2fdf 100644
--- a/tests/e2e/tests/commands/add/add-tailwindcss.ts
+++ b/tests/e2e/tests/commands/add/add-tailwindcss.ts
@@ -1,4 +1,5 @@
-import { expectFileToExist, expectFileToMatch, rimraf } from '../../../utils/fs';
+import assert from 'node:assert';
+import { expectFileToExist, expectFileToMatch, readFile, rimraf } from '../../../utils/fs';
import { getActivePackageManager, uninstallPackage } from '../../../utils/packages';
import { ng } from '../../../utils/process';
@@ -14,9 +15,19 @@ export default async function () {
await ng('add', 'tailwindcss', '--skip-confirmation');
await expectFileToExist('.postcssrc.json');
await expectFileToMatch('src/styles.css', /@import 'tailwindcss';/);
- await expectFileToMatch('package.json', /"tailwindcss":/);
- await expectFileToMatch('package.json', /"@tailwindcss\/postcss":/);
- await expectFileToMatch('package.json', /"postcss":/);
+
+ const { dependencies, devDependencies } = JSON.parse(await readFile('package.json'));
+ assert.strictEqual(
+ dependencies?.tailwindcss,
+ undefined,
+ 'tailwindcss should not be added to dependencies.',
+ );
+ assert.ok(devDependencies?.tailwindcss, 'tailwindcss should be added to devDependencies.');
+ assert.ok(
+ devDependencies?.['@tailwindcss/postcss'],
+ '@tailwindcss/postcss should be added to devDependencies.',
+ );
+ assert.ok(devDependencies?.postcss, 'postcss should be added to devDependencies.');
// Ensure the project builds
await ng('build', '--configuration=development');
diff --git a/tests/e2e/tests/commands/add/add-vitest-browser.ts b/tests/e2e/tests/commands/add/add-vitest-browser.ts
index 4e7aaf1a4044..7a2b780c0d8f 100644
--- a/tests/e2e/tests/commands/add/add-vitest-browser.ts
+++ b/tests/e2e/tests/commands/add/add-vitest-browser.ts
@@ -1,4 +1,5 @@
-import { expectFileToMatch } from '../../../utils/fs';
+import assert from 'node:assert';
+import { expectFileToMatch, readFile } from '../../../utils/fs';
import { uninstallPackage } from '../../../utils/packages';
import { ng } from '../../../utils/process';
import { applyVitestBuilder } from '../../../utils/vitest';
@@ -9,8 +10,18 @@ export default async function () {
try {
await ng('add', '@vitest/browser-playwright', '--skip-confirmation');
- await expectFileToMatch('package.json', /"@vitest\/browser-playwright":/);
- await expectFileToMatch('package.json', /"playwright":/);
+ const { dependencies, devDependencies } = JSON.parse(await readFile('package.json'));
+ assert.strictEqual(
+ dependencies?.['@vitest/browser-playwright'],
+ undefined,
+ '@vitest/browser-playwright should not be added to dependencies.',
+ );
+ assert.ok(
+ devDependencies?.['@vitest/browser-playwright'],
+ '@vitest/browser-playwright should be added to devDependencies.',
+ );
+ assert.ok(devDependencies?.playwright, 'playwright should be added to devDependencies.');
+
await expectFileToMatch('tsconfig.spec.json', /"vitest\/globals"/);
await expectFileToMatch('tsconfig.spec.json', /"@vitest\/browser-playwright"/);
} finally {