diff --git a/.bazelversion b/.bazelversion
index acd405b1d62e..df5119ec64e6 100644
--- a/.bazelversion
+++ b/.bazelversion
@@ -1 +1 @@
-8.6.0
+8.7.0
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index ae2d8adb6cd4..57b31cb9c2f1 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -78,7 +78,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- node: [22, 24]
+ node: [22, 24, 26]
subset: [esbuild, webpack]
shard: [0, 1, 2, 3, 4, 5]
runs-on: ubuntu-latest
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index 5280d3d8ba7f..6595df14c26d 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@95e58e9a2cdfd71adc6e0353d5c52f41a045d225 # v4.35.2
+ uses: github/codeql-action/init@7211b7c8077ea37d8641b6271f6a365a22a5fbfa # v4.36.0
with:
languages: javascript-typescript
build-mode: none
config-file: .github/codeql/config.yml
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@95e58e9a2cdfd71adc6e0353d5c52f41a045d225 # v4.35.2
+ uses: github/codeql-action/analyze@7211b7c8077ea37d8641b6271f6a365a22a5fbfa # v4.36.0
with:
category: '/language:javascript-typescript'
diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml
index 8336a6ba0f4d..e0efdf2b94e4 100644
--- a/.github/workflows/dev-infra.yml
+++ b/.github/workflows/dev-infra.yml
@@ -15,21 +15,21 @@ jobs:
if: github.event_name == 'pull_request_target'
runs-on: ubuntu-latest
steps:
- - uses: angular/dev-infra/github-actions/labeling/pull-request@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ - uses: angular/dev-infra/github-actions/labeling/pull-request@649c3afeaa46674507b9625537e49de54a695e2b
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@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ - uses: angular/dev-infra/github-actions/post-approval-changes@649c3afeaa46674507b9625537e49de54a695e2b
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@ba726e7bca0b08b125ccc6f93c233749e1213c17
+ - uses: angular/dev-infra/github-actions/labeling/issue@649c3afeaa46674507b9625537e49de54a695e2b
with:
angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }}
google-generative-ai-key: ${{ secrets.GOOGLE_GENERATIVE_AI_KEY }}
diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml
index 68249d536041..fb88be1f8b98 100644
--- a/.github/workflows/scorecard.yml
+++ b/.github/workflows/scorecard.yml
@@ -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@95e58e9a2cdfd71adc6e0353d5c52f41a045d225 # v4.35.2
+ uses: github/codeql-action/upload-sarif@7211b7c8077ea37d8641b6271f6a365a22a5fbfa # v4.36.0
with:
sarif_file: results.sarif
diff --git a/.ng-dev/release.mjs b/.ng-dev/release.mjs
index 4d4a4fc4b927..19e111f22f80 100644
--- a/.ng-dev/release.mjs
+++ b/.ng-dev/release.mjs
@@ -8,7 +8,25 @@ import { releasePackages } from '../scripts/packages.mts';
*/
export const release = {
representativeNpmPackage: '@angular/cli',
- npmPackages: releasePackages.map(({ name, experimental }) => ({ name, experimental })),
+ npmPackages: releasePackages.map(({ name, experimental }) => {
+ if (
+ name === '@angular-devkit/build-angular' ||
+ name === '@angular-devkit/build-webpack' ||
+ name === '@ngtools/webpack'
+ ) {
+ return {
+ name,
+ experimental,
+ deprecated: {
+ version: '>=22.0.0-rc.0',
+ message:
+ 'Angular\'s Webpack support is deprecated. Use the esbuild and Vite-based "@angular/build" package instead.',
+ },
+ };
+ }
+
+ return { name, experimental };
+ }),
buildPackages: async () => {
// The `performNpmReleaseBuild` function is loaded at runtime to avoid loading additional
// files and dependencies unless a build is required.
diff --git a/.npmrc b/.npmrc
deleted file mode 100644
index 9227ff789b96..000000000000
--- a/.npmrc
+++ /dev/null
@@ -1,11 +0,0 @@
-engine-strict = true
-
-# Disabling pnpm [hoisting](https://pnpm.io/npmrc#hoist) by setting `hoist=false` is recommended on
-# projects using rules_js so that pnpm outside of Bazel lays out a node_modules tree similar to what
-# rules_js lays out under Bazel (without a hidden node_modules/.pnpm/node_modules)
-hoist=false
-
-# Avoid pnpm auto-installing peer dependencies. We want to be explicit about our versions used
-# for peer dependencies, avoiding potential mismatches. In addition, it ensures we can continue
-# to rely on peer dependency placeholders substituted via Bazel.
-auto-install-peers=false
diff --git a/.nvmrc b/.nvmrc
index db49bb14d78e..941d7c071de8 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
-22.22.2
+22.22.3
diff --git a/BUILD.bazel b/BUILD.bazel
index 99bc6eb0355f..15200e8e228f 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -15,6 +15,7 @@ exports_files([
"tsconfig-build-ng.json",
"tsconfig-build.json",
"package.json",
+ "node_modules/@angular/core/resources/best-practices.md",
])
npm_link_all_packages()
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 780f4afbca3c..fe4dcdae5eb0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,196 @@
+
+
+# 22.0.0-rc.2 (2026-05-27)
+
+### @angular-devkit/build-angular
+
+| Commit | Type | Description |
+| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------- |
+| [c0f7bd833](https://github.com/angular/angular-cli/commit/c0f7bd83379c0715bceeffae0e3c6d37d15bf327) | fix | remove unconditional CORS wildcard from webpack dev-server |
+
+
+
+
+
+# 21.2.13 (2026-05-27)
+
+### @angular-devkit/build-angular
+
+| Commit | Type | Description |
+| --------------------------------------------------------------------------------------------------- | ---- | ---------------------------------------------------------- |
+| [3c6d26a31](https://github.com/angular/angular-cli/commit/3c6d26a316cd6aea455c19b249dc6852d84a698e) | fix | remove unconditional CORS wildcard from webpack dev-server |
+
+### @angular/build
+
+| Commit | Type | Description |
+| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------- |
+| [2b3e95517](https://github.com/angular/angular-cli/commit/2b3e95517358f8ef3482d5319d970f4774e45ad0) | fix | assert that asset input paths are within workspace root |
+
+
+
+
+
+# 22.0.0-rc.1 (2026-05-21)
+
+### @schematics/angular
+
+| Commit | Type | Description |
+| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------------- |
+| [a7ac8e5f0](https://github.com/angular/angular-cli/commit/a7ac8e5f0a268994a8fcfebbf56f76e994b6207d) | fix | support spy call arguments migration in refactor-jasmine-vitest |
+
+### @angular/build
+
+| Commit | Type | Description |
+| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------- |
+| [327cc2414](https://github.com/angular/angular-cli/commit/327cc24144ab7e0e36ff3d6e9a67585588f2f69f) | fix | assert that asset input paths are within workspace root |
+| [93d352798](https://github.com/angular/angular-cli/commit/93d3527985f8aa1950f62ab42a88c0a74ae0b051) | fix | ignore virtual esbuild paths with (disabled): |
+
+
+
+
+
+# 21.2.12 (2026-05-20)
+
+### @angular/build
+
+| Commit | Type | Description |
+| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------- |
+| [cbad57579](https://github.com/angular/angular-cli/commit/cbad57579adb5de7887985afbb2bf1f40adf3cb2) | fix | ignore virtual esbuild paths with (disabled): |
+
+
+
+
+
+# 22.0.0-rc.0 (2026-05-13)
+
+## Deprecations
+
+### @angular-devkit/build-angular
+
+- Webpack builders in build-angular are deprecated. Use @angular/build builders instead.
+
+### @angular-devkit/build-webpack
+
+- Webpack builders in build-webpack are deprecated. Use @angular/build builders instead.
+
+### @angular/ssr
+
+- CommonEngine APIs are deprecated in favor of AngularNodeAppEngine or AngularAppEngine.
+
+### @ngtools/webpack
+
+- @ngtools/webpack loader and plugin are deprecated. Use @angular/build instead.
+
+### @schematics/angular
+
+| Commit | Type | Description |
+| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------------------- |
+| [b2f7a038b](https://github.com/angular/angular-cli/commit/b2f7a038b4a321e4e1b0b340cd09425f948c77ad) | feat | conditionally install istanbul coverage provider for Vitest migration |
+| [d227e6985](https://github.com/angular/angular-cli/commit/d227e6985ef5540e0eea2571577ee2b9be0d3c64) | feat | migrate fake async to Vitest fake timers |
+| [d2aa9ede5](https://github.com/angular/angular-cli/commit/d2aa9ede55a3e16b61ce6ae60dba6c8ea8954358) | feat | migrate fakeAsync's flush behavior when used in beforeEach |
+| [c9f408153](https://github.com/angular/angular-cli/commit/c9f4081533f6f114846b88a152a9d5dc7363d680) | feat | set up fake timers in beforeEach instead of beforeAll |
+| [8d0805dd1](https://github.com/angular/angular-cli/commit/8d0805dd1750cb16af620811dc01b40e46ad030e) | feat | update TSConfig globals during karma to vitest migration |
+| [aed407db8](https://github.com/angular/angular-cli/commit/aed407db8be6bc7591fb82f10c79586cbd072a8a) | fix | defer karma config deletion in Karma to Vitest migration |
+| [7fb59eaa6](https://github.com/angular/angular-cli/commit/7fb59eaa65a8d7e880b6f44d715b2aeaff9301ca) | fix | use service decorator in ng generate |
+
+### @angular/cli
+
+| Commit | Type | Description |
+| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------- |
+| [58c0978f6](https://github.com/angular/angular-cli/commit/58c0978f658ee5fa7232abd8e2eb7f146e4eb6bb) | feat | add support for Node.js 26.0.0 |
+| [ff88f491d](https://github.com/angular/angular-cli/commit/ff88f491da38493d6e06f3e4ac080d171c630ccd) | fix | restrict MCP workspace access to allowed client roots during resolution |
+| [a5e1e48db](https://github.com/angular/angular-cli/commit/a5e1e48db759e9ffcaa89f04504f5f93a1afdda4) | fix | update odd-numbered Node.js version warning condition for future releases |
+
+### @angular-devkit/build-angular
+
+| Commit | Type | Description |
+| --------------------------------------------------------------------------------------------------- | -------- | -------------------------- |
+| [b7940dbcb](https://github.com/angular/angular-cli/commit/b7940dbcb40291be4de5b31e8a8001165459a7d4) | refactor | deprecate Webpack builders |
+
+### @angular-devkit/build-webpack
+
+| Commit | Type | Description |
+| --------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------------- |
+| [3d5daa45e](https://github.com/angular/angular-cli/commit/3d5daa45e3ade025c1bc0df35d2766563ccf7c03) | refactor | deprecate webpack and webpack-dev-server builders |
+
+### @angular/build
+
+| Commit | Type | Description |
+| --------------------------------------------------------------------------------------------------- | ---- | --------------------------------------------------------------- |
+| [58c7c7a9d](https://github.com/angular/angular-cli/commit/58c7c7a9d80fc6af5cf8b82a6d87f1d3cf3808c6) | feat | subresource integrity validation for dynamically loaded modules |
+| [edfa782d5](https://github.com/angular/angular-cli/commit/edfa782d52fd971aebead8b96b6ca470a3f5123e) | fix | use dynamic TestComponentRenderer for Vitest |
+
+### @angular/ssr
+
+| Commit | Type | Description |
+| --------------------------------------------------------------------------------------------------- | -------- | ----------------------------------------------------------------- |
+| [ea95e1a87](https://github.com/angular/angular-cli/commit/ea95e1a87ebfb5b452a6b6ffa7838ca1fe094100) | fix | remove stateful flag from URL_PARAMETER_REGEXP |
+| [f85343925](https://github.com/angular/angular-cli/commit/f8534392552f4896ee9449939cdc705010331e3d) | fix | support all X-Forwarded-\* headers when trustProxyHeaders is true |
+| [50b16a65b](https://github.com/angular/angular-cli/commit/50b16a65b1be1f9c2ec11d578240a8884518d517) | refactor | deprecate CommonEngine APIs |
+
+### @ngtools/webpack
+
+| Commit | Type | Description |
+| --------------------------------------------------------------------------------------------------- | -------- | -------------------------------------------- |
+| [547ca515b](https://github.com/angular/angular-cli/commit/547ca515b707c283489a3f088d86fc84807d830d) | refactor | deprecate @ngtools/webpack loader and plugin |
+
+
+
+
+
+# 21.2.11 (2026-05-13)
+
+### @angular/cli
+
+| Commit | Type | Description |
+| --------------------------------------------------------------------------------------------------- | ---- | -------------------------------------- |
+| [bbd63b7a5](https://github.com/angular/angular-cli/commit/bbd63b7a5a1049bc56b9ddf6edf6563a1f2d9ace) | fix | robustly parse npm manifest from array |
+
+### @angular/ssr
+
+| Commit | Type | Description |
+| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------- |
+| [eafe1a719](https://github.com/angular/angular-cli/commit/eafe1a719fd3fecd5263e0a8371200b4b1ff4bb9) | fix | allow all hosts in common engine rendering options to prevent validation errors |
+| [7a116a80d](https://github.com/angular/angular-cli/commit/7a116a80d7e6db341fd003737285d1a9db10ba6c) | fix | remove stateful flag from URL_PARAMETER_REGEXP |
+
+
+
+
+
+# 20.3.26 (2026-05-13)
+
+### @angular/ssr
+
+| Commit | Type | Description |
+| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------- |
+| [7cc1871ee](https://github.com/angular/angular-cli/commit/7cc1871ee50d123853ddf6bd89857b354d647462) | fix | allow all hosts in common engine rendering options to prevent validation errors |
+
+
+
+
+
+# 19.2.26 (2026-05-13)
+
+### @angular/ssr
+
+| Commit | Type | Description |
+| --------------------------------------------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------- |
+| [842fee029](https://github.com/angular/angular-cli/commit/842fee0291b787b63fdabcaaac5680b05d395075) | fix | allow all hosts in common engine rendering options to prevent validation errors |
+
+
+
+
+
+# 21.2.10 (2026-05-06)
+
+### @angular/cli
+
+| Commit | Type | Description |
+| --------------------------------------------------------------------------------------------------- | ---- | ----------------------------------------------------------------------- |
+| [bb8611913](https://github.com/angular/angular-cli/commit/bb861191328fc2d25bd5ee99b0c8edc5e49d3a7d) | fix | restrict MCP workspace access to allowed client roots during resolution |
+
+
+
# 19.2.25 (2026-04-30)
@@ -3111,7 +3304,6 @@
- Protractor is no longer supported.
Protractor was marked end-of-life in August 2023 (see https://protractortest.org/). Projects still relying on Protractor should consider migrating to another E2E testing framework, several support solid migration paths from Protractor.
-
- https://angular.dev/tools/cli/end-to-end
- https://blog.angular.dev/the-state-of-end-to-end-testing-with-angular-d175f751cb9c
@@ -6746,7 +6938,6 @@ Alan Agius, Charles Lyding and Doug Parker
### @angular/cli
- Several changes to the `ng analytics` command syntax.
-
- `ng analytics project ` has been replaced with `ng analytics `
- `ng analytics ` has been replaced with `ng analytics --global`
@@ -6776,7 +6967,6 @@ Alan Agius, Charles Lyding and Doug Parker
- `browser` and `karma` builders `script` and `styles` options input files extensions are now validated.
Valid extensions for `scripts` are:
-
- `.js`
- `.cjs`
- `.mjs`
@@ -6785,7 +6975,6 @@ Alan Agius, Charles Lyding and Doug Parker
- `.mjsx`
Valid extensions for `styles` are:
-
- `.css`
- `.less`
- `.sass`
diff --git a/MODULE.bazel b/MODULE.bazel
index 48a58aad6a44..f367391a9b22 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -4,51 +4,51 @@ module(
name = "angular_cli",
)
-bazel_dep(name = "platforms", version = "1.0.0")
+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.4")
-bazel_dep(name = "aspect_rules_js", version = "3.0.3")
-bazel_dep(name = "aspect_rules_ts", version = "3.8.8")
+bazel_dep(name = "aspect_rules_js", version = "3.1.2")
+bazel_dep(name = "aspect_rules_ts", version = "3.8.10")
bazel_dep(name = "rules_pkg", version = "1.2.0")
-bazel_dep(name = "rules_cc", version = "0.2.17")
+bazel_dep(name = "rules_cc", version = "0.2.18")
bazel_dep(name = "jq.bzl", version = "0.6.1")
-bazel_dep(name = "bazel_lib", version = "3.2.2")
+bazel_dep(name = "bazel_lib", version = "3.3.1")
bazel_dep(name = "bazel_skylib", version = "1.9.0")
-bazel_dep(name = "aspect_rules_esbuild", version = "0.25.1")
+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 = "b1d295334e70335dab7ac9984a989fae0a9c9dc2",
+ commit = "c898ddb32c0428e7d97efc713393db84ffa6a38e",
remote = "https://github.com/angular/rules_angular.git",
)
bazel_dep(name = "devinfra")
git_override(
module_name = "devinfra",
- commit = "48c48fa3848de5bb0ec1c3203558f099765165ab",
+ commit = "9ee8a680dd018d61d21588bb04cf40d49a9f5deb",
remote = "https://github.com/angular/dev-infra.git",
)
bazel_dep(name = "rules_browsers")
git_override(
module_name = "rules_browsers",
- commit = "b03f09ef28a08f8ae07482851cf5ecbf6ac23a2a",
+ commit = "45441c79322943fc1638b3a40741e925d6089e7b",
remote = "https://github.com/angular/rules_browsers.git",
)
node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node")
node.toolchain(
node_repositories = {
- "22.22.2-darwin_arm64": ("node-v22.22.2-darwin-arm64.tar.gz", "node-v22.22.2-darwin-arm64", "db4b275b83736df67533529a18cc55de2549a8329ace6c7bcc68f8d22d3c9000"),
- "22.22.2-darwin_amd64": ("node-v22.22.2-darwin-x64.tar.gz", "node-v22.22.2-darwin-x64", "12a6abb9c2902cf48a21120da13f87fde1ed1b71a13330712949e8db818708ba"),
- "22.22.2-linux_arm64": ("node-v22.22.2-linux-arm64.tar.xz", "node-v22.22.2-linux-arm64", "e9e1930fd321a470e29bb68f30318bf58e3ecb4acb4f1533fb19c58328a091fe"),
- "22.22.2-linux_ppc64le": ("node-v22.22.2-linux-ppc64le.tar.xz", "node-v22.22.2-linux-ppc64le", "14045b5a5030d35ca0030fb7e870bd11a651eb9b57323ebc0021e8d78ac6bac9"),
- "22.22.2-linux_s390x": ("node-v22.22.2-linux-s390x.tar.xz", "node-v22.22.2-linux-s390x", "9e4a07c291b8949289c6ea8ee61b1d14666a4810feae776a8d1eb1f57e03a2fb"),
- "22.22.2-linux_amd64": ("node-v22.22.2-linux-x64.tar.xz", "node-v22.22.2-linux-x64", "88fd1ce767091fd8d4a99fdb2356e98c819f93f3b1f8663853a2dee9b438068a"),
- "22.22.2-windows_amd64": ("node-v22.22.2-win-x64.zip", "node-v22.22.2-win-x64", "7c93e9d92bf68c07182b471aa187e35ee6cd08ef0f24ab060dfff605fcc1c57c"),
+ "22.22.3-darwin_arm64": ("node-v22.22.3-darwin-arm64.tar.gz", "node-v22.22.3-darwin-arm64", "0da7ff74ef8611328c8212f17943368713a2ad953fb7d89a8c8a0eae87c23207"),
+ "22.22.3-darwin_amd64": ("node-v22.22.3-darwin-x64.tar.gz", "node-v22.22.3-darwin-x64", "45830ba752fa0d892c6dcd640946669801293cac820a33591ded40ac075198ec"),
+ "22.22.3-linux_arm64": ("node-v22.22.3-linux-arm64.tar.xz", "node-v22.22.3-linux-arm64", "1c4a9933a5e45bc88f54f70b5f91232c127ec49f1a5989d23fb85824c7adf9b7"),
+ "22.22.3-linux_ppc64le": ("node-v22.22.3-linux-ppc64le.tar.xz", "node-v22.22.3-linux-ppc64le", "edb5478071bd1375e80195ca52f72823998bb5141b1a09e68bc54b3e2eb67754"),
+ "22.22.3-linux_s390x": ("node-v22.22.3-linux-s390x.tar.xz", "node-v22.22.3-linux-s390x", "ce398c057830d57a24c458177279a17bc51742d5c22dd4cbe97b10dbd43f2617"),
+ "22.22.3-linux_amd64": ("node-v22.22.3-linux-x64.tar.xz", "node-v22.22.3-linux-x64", "2e5d13569282d016861fae7c8f935e741693c269101a5bebcf761a5376d1f99f"),
+ "22.22.3-windows_amd64": ("node-v22.22.3-win-x64.zip", "node-v22.22.3-win-x64", "6c8d54f635feff4df76c2ca80f45332eb2ff57d25226edce36592e51a177ee33"),
},
- node_version = "22.22.2",
+ node_version = "22.22.3",
)
use_repo(
node,
@@ -66,30 +66,45 @@ node_dev = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node", dev_dep
node_dev.toolchain(
name = "node22",
node_repositories = {
- "22.22.0-darwin_arm64": ("node-v22.22.0-darwin-arm64.tar.gz", "node-v22.22.0-darwin-arm64", "5ed4db0fcf1eaf84d91ad12462631d73bf4576c1377e192d222e48026a902640"),
- "22.22.0-darwin_amd64": ("node-v22.22.0-darwin-x64.tar.gz", "node-v22.22.0-darwin-x64", "5ea50c9d6dea3dfa3abb66b2656f7a4e1c8cef23432b558d45fb538c7b5dedce"),
- "22.22.0-linux_arm64": ("node-v22.22.0-linux-arm64.tar.xz", "node-v22.22.0-linux-arm64", "1bf1eb9ee63ffc4e5d324c0b9b62cf4a289f44332dfef9607cea1a0d9596ba6f"),
- "22.22.0-linux_ppc64le": ("node-v22.22.0-linux-ppc64le.tar.xz", "node-v22.22.0-linux-ppc64le", "d83b9957431cc18e1fc143a4b99f89cde7b8a18f53ef392231b4336afd058865"),
- "22.22.0-linux_s390x": ("node-v22.22.0-linux-s390x.tar.xz", "node-v22.22.0-linux-s390x", "5aa0e520689448c4233e8d73f284e8e0634fdcd32b479735698494be5641f3e4"),
- "22.22.0-linux_amd64": ("node-v22.22.0-linux-x64.tar.xz", "node-v22.22.0-linux-x64", "9aa8e9d2298ab68c600bd6fb86a6c13bce11a4eca1ba9b39d79fa021755d7c37"),
- "22.22.0-windows_amd64": ("node-v22.22.0-win-x64.zip", "node-v22.22.0-win-x64", "c97fa376d2becdc8863fcd3ca2dd9a83a9f3468ee7ccf7a6d076ec66a645c77a"),
+ "22.22.3-darwin_arm64": ("node-v22.22.3-darwin-arm64.tar.gz", "node-v22.22.3-darwin-arm64", "0da7ff74ef8611328c8212f17943368713a2ad953fb7d89a8c8a0eae87c23207"),
+ "22.22.3-darwin_amd64": ("node-v22.22.3-darwin-x64.tar.gz", "node-v22.22.3-darwin-x64", "45830ba752fa0d892c6dcd640946669801293cac820a33591ded40ac075198ec"),
+ "22.22.3-linux_arm64": ("node-v22.22.3-linux-arm64.tar.xz", "node-v22.22.3-linux-arm64", "1c4a9933a5e45bc88f54f70b5f91232c127ec49f1a5989d23fb85824c7adf9b7"),
+ "22.22.3-linux_ppc64le": ("node-v22.22.3-linux-ppc64le.tar.xz", "node-v22.22.3-linux-ppc64le", "edb5478071bd1375e80195ca52f72823998bb5141b1a09e68bc54b3e2eb67754"),
+ "22.22.3-linux_s390x": ("node-v22.22.3-linux-s390x.tar.xz", "node-v22.22.3-linux-s390x", "ce398c057830d57a24c458177279a17bc51742d5c22dd4cbe97b10dbd43f2617"),
+ "22.22.3-linux_amd64": ("node-v22.22.3-linux-x64.tar.xz", "node-v22.22.3-linux-x64", "2e5d13569282d016861fae7c8f935e741693c269101a5bebcf761a5376d1f99f"),
+ "22.22.3-windows_amd64": ("node-v22.22.3-win-x64.zip", "node-v22.22.3-win-x64", "6c8d54f635feff4df76c2ca80f45332eb2ff57d25226edce36592e51a177ee33"),
},
- node_version = "22.22.0",
+ node_version = "22.22.3",
)
# Node.js 24
node_dev.toolchain(
name = "node24",
node_repositories = {
- "24.13.1-darwin_arm64": ("node-v24.13.1-darwin-arm64.tar.gz", "node-v24.13.1-darwin-arm64", "8c039d59f2fec6195e4281ad5b0d02b9a940897b4df7b849c6fb48be6787bba6"),
- "24.13.1-darwin_amd64": ("node-v24.13.1-darwin-x64.tar.gz", "node-v24.13.1-darwin-x64", "527f0578d9812e7dfa225121bda0b1546a6a0e4b5f556295fc8299c272de5fbf"),
- "24.13.1-linux_arm64": ("node-v24.13.1-linux-arm64.tar.xz", "node-v24.13.1-linux-arm64", "c827d3d301e2eed1a51f36d0116b71b9e3d9e3b728f081615270ea40faac34c1"),
- "24.13.1-linux_ppc64le": ("node-v24.13.1-linux-ppc64le.tar.xz", "node-v24.13.1-linux-ppc64le", "fb712a08d317655dbf776c90f60ac2105109d802e33811df6c9ed33d12f801c6"),
- "24.13.1-linux_s390x": ("node-v24.13.1-linux-s390x.tar.xz", "node-v24.13.1-linux-s390x", "8e2c0d9b5545c3db22623e8cb8d6f0c28fcd470f29d32dbeabf9432dda289de2"),
- "24.13.1-linux_amd64": ("node-v24.13.1-linux-x64.tar.xz", "node-v24.13.1-linux-x64", "30215f90ea3cd04dfbc06e762c021393fa173a1d392974298bbc871a8e461089"),
- "24.13.1-windows_amd64": ("node-v24.13.1-win-x64.zip", "node-v24.13.1-win-x64", "fba577c4bb87df04d54dd87bbdaa5a2272f1f99a2acbf9152e1a91b8b5f0b279"),
+ "24.15.0-darwin_arm64": ("node-v24.15.0-darwin-arm64.tar.gz", "node-v24.15.0-darwin-arm64", "372331b969779ab5d15b949884fc6eaf88d5afe87bde8ba881d6400b9100ffc4"),
+ "24.15.0-darwin_amd64": ("node-v24.15.0-darwin-x64.tar.gz", "node-v24.15.0-darwin-x64", "ffd5ee293467927f3ee731a553eb88fd1f48cf74eebc2d74a6babe4af228673b"),
+ "24.15.0-linux_arm64": ("node-v24.15.0-linux-arm64.tar.xz", "node-v24.15.0-linux-arm64", "f3d5a797b5d210ce8e2cb265544c8e482eaedcb8aa409a8b46da7e8595d0dda0"),
+ "24.15.0-linux_ppc64le": ("node-v24.15.0-linux-ppc64le.tar.xz", "node-v24.15.0-linux-ppc64le", "6a6560a27bd2817013c28c3d917bfe9eebf26bbd4b1d88475190f216cc411fbb"),
+ "24.15.0-linux_s390x": ("node-v24.15.0-linux-s390x.tar.xz", "node-v24.15.0-linux-s390x", "940d4cbfadf736b34519630a05d144c09f8a5aca291a802f2f559ee1562f6f24"),
+ "24.15.0-linux_amd64": ("node-v24.15.0-linux-x64.tar.xz", "node-v24.15.0-linux-x64", "472655581fb851559730c48763e0c9d3bc25975c59d518003fc0849d3e4ba0f6"),
+ "24.15.0-windows_amd64": ("node-v24.15.0-win-x64.zip", "node-v24.15.0-win-x64", "cc5149eabd53779ce1e7bdc5401643622d0c7e6800ade18928a767e940bb0e62"),
},
- node_version = "24.13.1",
+ node_version = "24.15.0",
+)
+
+# Node.js 26
+node_dev.toolchain(
+ name = "node26",
+ node_repositories = {
+ "26.0.0-darwin_arm64": ("node-v26.0.0-darwin-arm64.tar.gz", "node-v26.0.0-darwin-arm64", "dcee8564c1a9342f9594dd5e52d533894dfef6b85aa771bbbb870baa3c403235"),
+ "26.0.0-darwin_amd64": ("node-v26.0.0-darwin-x64.tar.gz", "node-v26.0.0-darwin-x64", "f488ab543fe202d8a2d56e661682117d3c56903a2bf64f2ec1ff7bd421cfd875"),
+ "26.0.0-linux_arm64": ("node-v26.0.0-linux-arm64.tar.xz", "node-v26.0.0-linux-arm64", "f0f94e55142149a4d34634dc3d7e103921d898512dd0cef995ecb62c5ebd3f29"),
+ "26.0.0-linux_ppc64le": ("node-v26.0.0-linux-ppc64le.tar.xz", "node-v26.0.0-linux-ppc64le", "4b7f76967a93fea8cda11554f2a7904744afaef65dc3f48c345e99828f50ef4d"),
+ "26.0.0-linux_s390x": ("node-v26.0.0-linux-s390x.tar.xz", "node-v26.0.0-linux-s390x", "e3bd9df41f777dbb227b1261ea81b1fa9b654901bac8cace50a0b918b5160ab5"),
+ "26.0.0-linux_amd64": ("node-v26.0.0-linux-x64.tar.xz", "node-v26.0.0-linux-x64", "345d558514c62622b5c7d1f7b5f2a19c31ab1405d217df49f010c5ea8decc0f4"),
+ "26.0.0-windows_amd64": ("node-v26.0.0-win-x64.zip", "node-v26.0.0-win-x64", "d0418640a36096e00bddb57761aa0b1b98f91904ec4ed2b9dd75cbad723becd7"),
+ },
+ node_version = "26.0.0",
)
use_repo(
node_dev,
@@ -105,13 +120,19 @@ use_repo(
"node24_linux_arm64",
"node24_toolchains",
"node24_windows_amd64",
+ "node26_darwin_amd64",
+ "node26_darwin_arm64",
+ "node26_linux_amd64",
+ "node26_linux_arm64",
+ "node26_toolchains",
+ "node26_windows_amd64",
)
pnpm = use_extension("@aspect_rules_js//npm:extensions.bzl", "pnpm")
pnpm.pnpm(
name = "pnpm",
- pnpm_version = "10.33.2",
- pnpm_version_integrity = "sha512-qQ+vb+6rca1sblf5Tg/hoS9dzCLNdU20CulZPraj4LaxLjVAIYuzeuCDQEsfLObbKkEh6XmCm0r/lLmfSdoc+A==",
+ pnpm_version = "11.3.0",
+ pnpm_version_integrity = "sha512-LEA9ZZRScodnKx9wVjQ6H3w2NANqZ/+r/MKz11ldhDdo+HhxSNG1fPeVbJBga70ZKFfDY68Z6W0tDsnsV0HSFQ==",
)
use_repo(pnpm, "pnpm")
@@ -151,7 +172,6 @@ npm.npm_translate_lock(
# which would then break execution.
"webdriver-manager": ["local"],
},
- npmrc = "//:.npmrc",
pnpm_lock = "//:pnpm-lock.yaml",
)
@@ -168,8 +188,8 @@ rules_ts_ext = use_extension("@aspect_rules_ts//ts:extensions.bzl", "ext")
rules_ts_ext.deps(
name = "angular_cli_npm_typescript",
# Obtained by: npm info typescript@6.0.2 dist.integrity
- ts_integrity = "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==",
- ts_version = "6.0.2",
+ ts_integrity = "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==",
+ ts_version = "6.0.3",
)
use_repo(rules_ts_ext, **{"npm_typescript": "angular_cli_npm_typescript"})
diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock
index 2cc7894611e6..af29118bb1f4 100644
--- a/MODULE.bazel.lock
+++ b/MODULE.bazel.lock
@@ -18,16 +18,17 @@
"https://bcr.bazel.build/modules/aspect_bazel_lib/2.22.5/source.json": "ac2c3213df8f985785f1d0aeb7f0f73d5324e6e67d593d9b9470fb74a25d4a9b",
"https://bcr.bazel.build/modules/aspect_bazel_lib/2.7.7/MODULE.bazel": "491f8681205e31bb57892d67442ce448cda4f472a8e6b3dc062865e29a64f89c",
"https://bcr.bazel.build/modules/aspect_bazel_lib/2.8.1/MODULE.bazel": "812d2dd42f65dca362152101fbec418029cc8fd34cbad1a2fde905383d705838",
- "https://bcr.bazel.build/modules/aspect_rules_esbuild/0.25.1/MODULE.bazel": "9b931b3e483bd8eedb6966bda6df07d801f70ccb4896231b4e5e711b5130f3aa",
- "https://bcr.bazel.build/modules/aspect_rules_esbuild/0.25.1/source.json": "a0b72e23ed06113f3878cb635d586b4045ef37750983467af72fe0315c3a2fcd",
+ "https://bcr.bazel.build/modules/aspect_rules_esbuild/0.26.0/MODULE.bazel": "6c902d97038c3ab07b6c4e67c97abc61b20182fcfa84fa7dee82fc724f12e455",
+ "https://bcr.bazel.build/modules/aspect_rules_esbuild/0.26.0/source.json": "4cc3ece7ab661bb391a9e24fe55c4b567d60a9ea9d9e91d772dad373cbcb6217",
"https://bcr.bazel.build/modules/aspect_rules_jasmine/2.0.4/MODULE.bazel": "fbb819eb8b7e5d7f67fdd38f7cecb413e287594cd666ce192c72c8828527775a",
"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.0.3/source.json": "bb8fff9a304452e1042af9522ad1d54d6f1d1fdf71c5127deadb6fd156654193",
- "https://bcr.bazel.build/modules/aspect_rules_ts/3.8.8/MODULE.bazel": "b52b929a948438665809d49af610f58d1b14f63d6d21ab748f47b6050be4c1f6",
- "https://bcr.bazel.build/modules/aspect_rules_ts/3.8.8/source.json": "5414530b761a45ab7ca6c49f0a2a9cf8dc0da772f5037cf05ca18aaa64bb1b19",
- "https://bcr.bazel.build/modules/aspect_tools_telemetry/0.2.6/MODULE.bazel": "cafb8781ad591bc57cc765dca5fefab08cf9f65af363d162b79d49205c7f8af7",
+ "https://bcr.bazel.build/modules/aspect_rules_js/3.1.2/MODULE.bazel": "e3685502155d3cc65f3bf98e714f7435de67d7f8f355d63478a80197310311fc",
+ "https://bcr.bazel.build/modules/aspect_rules_js/3.1.2/source.json": "a32ab71831452b945f3f83a1b1feb9402007e600bce55ac76e15ef0c1e08b520",
+ "https://bcr.bazel.build/modules/aspect_rules_ts/3.8.10/MODULE.bazel": "a17a49a21226fc90163a29b3d6eac56703697205530b8d5cc38b3c074dbac039",
+ "https://bcr.bazel.build/modules/aspect_rules_ts/3.8.10/source.json": "745c8dba237b4088409800143241bbb138e7ef37a359bd81a250c2c423f380ce",
+ "https://bcr.bazel.build/modules/aspect_rules_ts/3.8.9/MODULE.bazel": "bd5f9ebf517cfcd377eaa7ce1cb16035d167f00774b77789909590c53bc6f20c",
"https://bcr.bazel.build/modules/aspect_tools_telemetry/0.2.8/MODULE.bazel": "aa975a83e72bcaac62ee61ab12b788ea324a1d05c4aab28aadb202f647881679",
"https://bcr.bazel.build/modules/aspect_tools_telemetry/0.3.3/MODULE.bazel": "37c764292861c2f70314efa9846bb6dbb44fc0308903b3285da6528305450183",
"https://bcr.bazel.build/modules/aspect_tools_telemetry/0.3.3/source.json": "605086bbc197743a0d360f7ddc550a1d4dfa0441bc807236e17170f636153348",
@@ -44,7 +45,8 @@
"https://bcr.bazel.build/modules/bazel_features/1.39.0/MODULE.bazel": "28739425c1fc283c91931619749c832b555e60bcd1010b40d8441ce0a5cf726d",
"https://bcr.bazel.build/modules/bazel_features/1.4.1/MODULE.bazel": "e45b6bb2350aff3e442ae1111c555e27eac1d915e77775f6fdc4b351b758b5d7",
"https://bcr.bazel.build/modules/bazel_features/1.41.0/MODULE.bazel": "6e0f87fafed801273c371d41e22a15a6f8abf83fdd7f87d5e44ad317b94433d0",
- "https://bcr.bazel.build/modules/bazel_features/1.41.0/source.json": "8fd525b31b0883c47e0593443cdd10219b94a7556b3195fc02d75c86c66cfe30",
+ "https://bcr.bazel.build/modules/bazel_features/1.43.0/MODULE.bazel": "defa2226f06ba20550d6548c3a2ea2a7929634437a52973869c20c225450eb91",
+ "https://bcr.bazel.build/modules/bazel_features/1.43.0/source.json": "1c4207dc858d6de0eecef30026793616bbf420c74aac27b6bad212534a730437",
"https://bcr.bazel.build/modules/bazel_features/1.9.0/MODULE.bazel": "885151d58d90d8d9c811eb75e3288c11f850e1d6b481a8c9f766adee4712358b",
"https://bcr.bazel.build/modules/bazel_features/1.9.1/MODULE.bazel": "8f679097876a9b609ad1f60249c49d68bfab783dd9be012faf9d82547b14815a",
"https://bcr.bazel.build/modules/bazel_lib/3.0.0-rc.0/MODULE.bazel": "d6e00979a98ac14ada5e31c8794708b41434d461e7e7ca39b59b765e6d233b18",
@@ -63,6 +65,7 @@
"https://bcr.bazel.build/modules/bazel_skylib/1.6.1/MODULE.bazel": "8fdee2dbaace6c252131c00e1de4b165dc65af02ea278476187765e1a617b917",
"https://bcr.bazel.build/modules/bazel_skylib/1.7.0/MODULE.bazel": "0db596f4563de7938de764cc8deeabec291f55e8ec15299718b93c4423e9796d",
"https://bcr.bazel.build/modules/bazel_skylib/1.7.1/MODULE.bazel": "3120d80c5861aa616222ec015332e5f8d3171e062e3e804a2a0253e1be26e59b",
+ "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",
@@ -85,7 +88,8 @@
"https://bcr.bazel.build/modules/jsoncpp/1.9.5/source.json": "4108ee5085dd2885a341c7fab149429db457b3169b86eb081fa245eadf69169d",
"https://bcr.bazel.build/modules/libpfm/4.11.0/MODULE.bazel": "45061ff025b301940f1e30d2c16bea596c25b176c8b6b3087e92615adbd52902",
"https://bcr.bazel.build/modules/package_metadata/0.0.2/MODULE.bazel": "fb8d25550742674d63d7b250063d4580ca530499f045d70748b1b142081ebb92",
- "https://bcr.bazel.build/modules/package_metadata/0.0.2/source.json": "e53a759a72488d2c0576f57491ef2da0cf4aab05ac0997314012495935531b73",
+ "https://bcr.bazel.build/modules/package_metadata/0.0.3/MODULE.bazel": "77890552ecea9e284b5424c9de827a58099348763a4359e975c359a83d4faa83",
+ "https://bcr.bazel.build/modules/package_metadata/0.0.3/source.json": "742075a428ad12a3fa18a69014c2f57f01af910c6d9d18646c990200853e641a",
"https://bcr.bazel.build/modules/platforms/0.0.10/MODULE.bazel": "8cb8efaf200bdeb2150d93e162c40f388529a25852b332cec879373771e48ed5",
"https://bcr.bazel.build/modules/platforms/0.0.11/MODULE.bazel": "0daefc49732e227caa8bfa834d65dc52e8cc18a2faf80df25e8caea151a9413f",
"https://bcr.bazel.build/modules/platforms/0.0.4/MODULE.bazel": "9b328e31ee156f53f3c416a64f8491f7eb731742655a47c9eec4703a71644aee",
@@ -94,7 +98,8 @@
"https://bcr.bazel.build/modules/platforms/0.0.7/MODULE.bazel": "72fd4a0ede9ee5c021f6a8dd92b503e089f46c227ba2813ff183b71616034814",
"https://bcr.bazel.build/modules/platforms/0.0.8/MODULE.bazel": "9f142c03e348f6d263719f5074b21ef3adf0b139ee4c5133e2aa35664da9eb2d",
"https://bcr.bazel.build/modules/platforms/1.0.0/MODULE.bazel": "f05feb42b48f1b3c225e4ccf351f367be0371411a803198ec34a389fb22aa580",
- "https://bcr.bazel.build/modules/platforms/1.0.0/source.json": "f4ff1fd412e0246fd38c82328eb209130ead81d62dcd5a9e40910f867f733d96",
+ "https://bcr.bazel.build/modules/platforms/1.1.0/MODULE.bazel": "1c0c09f5bdcf4b3f924720d2478a3711cb39f4977019ca5988685e5b7e18b3d2",
+ "https://bcr.bazel.build/modules/platforms/1.1.0/source.json": "fcf351c47596c939140ab0d333dfdd08ed1ea6ce33c2fe70c12493a301cf1344",
"https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel": "a5a29bb89544f9b97edce05642fac225a808b5b7be74038ea3640fae2f8e66a7",
"https://bcr.bazel.build/modules/protobuf/27.0/MODULE.bazel": "7873b60be88844a0a1d8f80b9d5d20cfbd8495a689b8763e76c6372998d3f64c",
"https://bcr.bazel.build/modules/protobuf/27.1/MODULE.bazel": "703a7b614728bb06647f965264967a8ef1c39e09e8f167b3ca0bb1fd80449c0d",
@@ -122,8 +127,8 @@
"https://bcr.bazel.build/modules/rules_cc/0.0.9/MODULE.bazel": "836e76439f354b89afe6a911a7adf59a6b2518fafb174483ad78a2a2fde7b1c5",
"https://bcr.bazel.build/modules/rules_cc/0.1.1/MODULE.bazel": "2f0222a6f229f0bf44cd711dc13c858dad98c62d52bd51d8fc3a764a83125513",
"https://bcr.bazel.build/modules/rules_cc/0.2.16/MODULE.bazel": "9242fa89f950c6ef7702801ab53922e99c69b02310c39fb6e62b2bd30df2a1d4",
- "https://bcr.bazel.build/modules/rules_cc/0.2.17/MODULE.bazel": "1849602c86cb60da8613d2de887f9566a6d354a6df6d7009f9d04a14402f9a84",
- "https://bcr.bazel.build/modules/rules_cc/0.2.17/source.json": "3832f45d145354049137c0090df04629d9c2b5493dc5c2bf46f1834040133a07",
+ "https://bcr.bazel.build/modules/rules_cc/0.2.18/MODULE.bazel": "4460ec36adc8f722a6a2a4ac9374cb91f2acebadaa93fc37966129afb3dece87",
+ "https://bcr.bazel.build/modules/rules_cc/0.2.18/source.json": "abad668ff2fd63ada1ac49bf386d37e27048b89a3465a6fd968bb832b00a09d3",
"https://bcr.bazel.build/modules/rules_cc/0.2.4/MODULE.bazel": "1ff1223dfd24f3ecf8f028446d4a27608aa43c3f41e346d22838a4223980b8cc",
"https://bcr.bazel.build/modules/rules_foreign_cc/0.9.0/MODULE.bazel": "c9e8c682bf75b0e7c704166d79b599f93b72cfca5ad7477df596947891feeef6",
"https://bcr.bazel.build/modules/rules_fuzzing/0.5.2/MODULE.bazel": "40c97d1144356f52905566c55811f13b299453a14ac7769dfba2ac38192337a8",
@@ -193,14 +198,15 @@
"https://bcr.bazel.build/modules/stardoc/0.7.1/MODULE.bazel": "3548faea4ee5dda5580f9af150e79d0f6aea934fc60c1cc50f4efdd9420759e7",
"https://bcr.bazel.build/modules/stardoc/0.7.2/MODULE.bazel": "fc152419aa2ea0f51c29583fab1e8c99ddefd5b3778421845606ee628629e0e5",
"https://bcr.bazel.build/modules/stardoc/0.7.2/source.json": "58b029e5e901d6802967754adf0a9056747e8176f017cfe3607c0851f4d42216",
- "https://bcr.bazel.build/modules/tar.bzl/0.10.1/MODULE.bazel": "bf5fda5b5ccef8c3c4a5f4886144377386e0baa382972f257acb42dcf40ea908",
- "https://bcr.bazel.build/modules/tar.bzl/0.10.1/source.json": "3f1beb35acf53c270a9de493cdc775a985551d7069cfcf24e136b42f683bbb10",
+ "https://bcr.bazel.build/modules/tar.bzl/0.10.4/MODULE.bazel": "e8f9ff79199e8d9eaad7f1b0a77ad74b30bb82d794b87d8ca942bead5de83ae9",
+ "https://bcr.bazel.build/modules/tar.bzl/0.10.4/source.json": "20143442376c03426f6135292ba02d825cb75308aa47e6bf42dd4cc5a435c2ff",
"https://bcr.bazel.build/modules/tar.bzl/0.2.1/MODULE.bazel": "52d1c00a80a8cc67acbd01649e83d8dd6a9dc426a6c0b754a04fe8c219c76468",
"https://bcr.bazel.build/modules/tar.bzl/0.5.1/MODULE.bazel": "7c2eb3dcfc53b0f3d6f9acdfd911ca803eaf92aadf54f8ca6e4c1f3aee288351",
"https://bcr.bazel.build/modules/tar.bzl/0.6.0/MODULE.bazel": "a3584b4edcfafcabd9b0ef9819808f05b372957bbdff41601429d5fd0aac2e7c",
"https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "7298990c00040a0e2f121f6c32544bab27d4452f80d9ce51349b1a28f3005c43",
"https://bcr.bazel.build/modules/yq.bzl/0.1.1/MODULE.bazel": "9039681f9bcb8958ee2c87ffc74bdafba9f4369096a2b5634b88abc0eaefa072",
"https://bcr.bazel.build/modules/yq.bzl/0.3.2/MODULE.bazel": "0384efa70e8033d842ea73aa4b7199fa099709e236a7264345c03937166670b6",
+ "https://bcr.bazel.build/modules/yq.bzl/0.3.4/MODULE.bazel": "d3a270662f5d766cd7229732d65a5a5bc485240c3007343dd279edfb60c9ae27",
"https://bcr.bazel.build/modules/yq.bzl/0.3.6/MODULE.bazel": "985c2a0cb4ad9994bb0e33cc7fae931c91105eeefe3faa355b8f4c258d0607c0",
"https://bcr.bazel.build/modules/yq.bzl/0.3.6/source.json": "678aaf6e291164f3cd761bb3e872e8a151248f413dbb63c5524a50b82a5bc890",
"https://bcr.bazel.build/modules/zlib/1.2.11/MODULE.bazel": "07b389abc85fdbca459b69e2ec656ae5622873af3f845e1c9d80fe179f3effa0",
@@ -213,8 +219,8 @@
"moduleExtensions": {
"@@aspect_rules_esbuild+//esbuild:extensions.bzl%esbuild": {
"general": {
- "bzlTransitiveDigest": "3l5lERuIkp41OnB+ZcMQkXS5ttpwE3LfWmePbmwDofk=",
- "usagesDigest": "6We6zwGoawD9YXqMI0KPaxEKJTnamXBsuOekhFS2D40=",
+ "bzlTransitiveDigest": "eWM29sOFdgwS2/XR2bEHk1NS/hPrYIX7ly4yh7MH5As=",
+ "usagesDigest": "LSQ+zZp7JNgnBONTxxXnwGr4NTh2qtQYk7qwXXz5qWo=",
"recordedFileInputs": {},
"recordedDirentsInputs": {},
"envVariables": {},
@@ -428,8 +434,8 @@
},
"@@aspect_rules_ts+//ts:extensions.bzl%ext": {
"general": {
- "bzlTransitiveDigest": "dhTbv9E6UfT1WJmmu3ORRPO6AKFJvgBjBxu+BO+u1RY=",
- "usagesDigest": "HRb2f7bITsAYryQClLOB8GSzqqQT63B6u1BY+z/wpFU=",
+ "bzlTransitiveDigest": "iSTT2Cf1ed8ku80yZFxvYxZB6Lpy6M8zJBz98hxdxcU=",
+ "usagesDigest": "QQqokxpCVnBJntX7dhxnf/c13LeWUQxDTUnILYCp4Jc=",
"recordedFileInputs": {},
"recordedDirentsInputs": {},
"envVariables": {},
@@ -437,8 +443,8 @@
"angular_cli_npm_typescript": {
"repoRuleId": "@@aspect_rules_ts+//ts/private:npm_repositories.bzl%http_archive_version",
"attributes": {
- "version": "6.0.2",
- "integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==",
+ "version": "6.0.3",
+ "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==",
"urls": [
"https://registry.npmjs.org/typescript/-/typescript-{}.tgz"
]
@@ -492,7 +498,7 @@
"@@aspect_tools_telemetry+//:extension.bzl%telemetry": {
"general": {
"bzlTransitiveDigest": "cl5A2O84vDL6Tt+Qga8FCj1DUDGqn+e7ly5rZ+4xvcc=",
- "usagesDigest": "0S2z9G3E1NIz6vCXk9IbRcO5LIckEcYVMSzRj2sEML8=",
+ "usagesDigest": "SOv3fnWScyh5pAbfi8TO0WqlioqyUWt3t29KT0VkqLE=",
"recordedFileInputs": {},
"recordedDirentsInputs": {},
"envVariables": {},
@@ -501,9 +507,9 @@
"repoRuleId": "@@aspect_tools_telemetry+//:extension.bzl%tel_repository",
"attributes": {
"deps": {
- "aspect_rules_js": "3.0.3",
- "aspect_rules_ts": "3.8.8",
- "aspect_rules_esbuild": "0.25.1",
+ "aspect_rules_js": "3.1.2",
+ "aspect_rules_ts": "3.8.10",
+ "aspect_rules_esbuild": "0.26.0",
"aspect_rules_jasmine": "2.0.4",
"aspect_tools_telemetry": "0.3.3"
}
@@ -526,7 +532,7 @@
},
"@@pybind11_bazel+//:python_configure.bzl%extension": {
"general": {
- "bzlTransitiveDigest": "D2/qWHU6yQFwRG7Bb+caqrYMha5avsASao2vERrxK24=",
+ "bzlTransitiveDigest": "VhEtmxw1yzb9rBZVsKTdti7p+nDM/Fv1p9TmKdO45+Q=",
"usagesDigest": "fycyB39YnXIJkfWCIXLUKJMZzANcuLy9ZE73hRucjFk=",
"recordedFileInputs": {
"@@pybind11_bazel+//MODULE.bazel": "88af1c246226d87e65be78ed49ecd1e6f5e98648558c14ce99176da041dc378e"
@@ -586,7 +592,7 @@
},
"@@rules_browsers+//browsers:extensions.bzl%browsers": {
"general": {
- "bzlTransitiveDigest": "Bm6fiKpWy96aLohOlLCP36ARVxRLZm/R+smhsb2HzmI=",
+ "bzlTransitiveDigest": "lFwT6yuDqc73sJB9lqKqoCIJq/vYSrS0UPimP2c0ZWA=",
"usagesDigest": "FmXYJVoVJlnfUU8x8gObSvu4qWcco/9Faw61aC/wBF0=",
"recordedFileInputs": {},
"recordedDirentsInputs": {},
@@ -595,9 +601,9 @@
"rules_browsers_chrome_linux": {
"repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo",
"attributes": {
- "sha256": "1ac33f89306327af43be159c03ca4a26486de0858f42fe52394acdef50364143",
+ "sha256": "f8b9f220f5691f88e00a64dafa98570158b50e7051637644df1152e3c96f9738",
"urls": [
- "https://storage.googleapis.com/chrome-for-testing-public/147.0.7687.0/linux64/chrome-headless-shell-linux64.zip"
+ "https://storage.googleapis.com/chrome-for-testing-public/150.0.7860.0/linux64/chrome-headless-shell-linux64.zip"
],
"named_files": {
"CHROME-HEADLESS-SHELL": "chrome-headless-shell-linux64/chrome-headless-shell"
@@ -613,9 +619,9 @@
"rules_browsers_chrome_mac": {
"repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo",
"attributes": {
- "sha256": "169ff49c465cfda52931395e61861e146dfc5013e92c01ca792db5acea858d0b",
+ "sha256": "e989d33e0c27d8884ff95d8c485993205b554499587f33ca390041d54dd57415",
"urls": [
- "https://storage.googleapis.com/chrome-for-testing-public/147.0.7687.0/mac-x64/chrome-headless-shell-mac-x64.zip"
+ "https://storage.googleapis.com/chrome-for-testing-public/150.0.7860.0/mac-x64/chrome-headless-shell-mac-x64.zip"
],
"named_files": {
"CHROME-HEADLESS-SHELL": "chrome-headless-shell-mac-x64/chrome-headless-shell"
@@ -631,9 +637,9 @@
"rules_browsers_chrome_mac_arm": {
"repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo",
"attributes": {
- "sha256": "aeaaaaa4d68193a21bed04c44ddeb1230232707b4ea1d845a92925787509cd8e",
+ "sha256": "e92afa41f45c8cd5241572e21ec3a17a68d12926f7fad7047e8d4bbef0397f4e",
"urls": [
- "https://storage.googleapis.com/chrome-for-testing-public/147.0.7687.0/mac-arm64/chrome-headless-shell-mac-arm64.zip"
+ "https://storage.googleapis.com/chrome-for-testing-public/150.0.7860.0/mac-arm64/chrome-headless-shell-mac-arm64.zip"
],
"named_files": {
"CHROME-HEADLESS-SHELL": "chrome-headless-shell-mac-arm64/chrome-headless-shell"
@@ -649,9 +655,9 @@
"rules_browsers_chrome_win64": {
"repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo",
"attributes": {
- "sha256": "4d6d79bcbcb22084df6e3a3d3a2caff67d6c0fa488d63f0c7ec1526f9553db8c",
+ "sha256": "374efaa85908a078e41a0a75bded482eeb1d652aea6c5bb0c14cd854736943c8",
"urls": [
- "https://storage.googleapis.com/chrome-for-testing-public/147.0.7687.0/win64/chrome-headless-shell-win64.zip"
+ "https://storage.googleapis.com/chrome-for-testing-public/150.0.7860.0/win64/chrome-headless-shell-win64.zip"
],
"named_files": {
"CHROME-HEADLESS-SHELL": "chrome-headless-shell-win64/chrome-headless-shell.exe"
@@ -667,9 +673,9 @@
"rules_browsers_chromedriver_linux": {
"repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo",
"attributes": {
- "sha256": "0607ccf6810a07ae08cac6443beac8b23f88dd53c7f1e0299e22d65f7cd2d020",
+ "sha256": "69e0625253c89cc7f8d265016fa46bf63401f9f7ca0454d0dade828c58bd9a08",
"urls": [
- "https://storage.googleapis.com/chrome-for-testing-public/147.0.7687.0/linux64/chromedriver-linux64.zip"
+ "https://storage.googleapis.com/chrome-for-testing-public/150.0.7860.0/linux64/chromedriver-linux64.zip"
],
"named_files": {
"CHROMEDRIVER": "chromedriver-linux64/chromedriver"
@@ -683,9 +689,9 @@
"rules_browsers_chromedriver_mac": {
"repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo",
"attributes": {
- "sha256": "0f512a9dd683ed4c41e609d8d02c07807497dbad3ab2f95f0d583486be7b8cff",
+ "sha256": "95e64bff15615dede9e6a690cf91fc76603354daa05d80437be39e15dfc94611",
"urls": [
- "https://storage.googleapis.com/chrome-for-testing-public/147.0.7687.0/mac-x64/chromedriver-mac-x64.zip"
+ "https://storage.googleapis.com/chrome-for-testing-public/150.0.7860.0/mac-x64/chromedriver-mac-x64.zip"
],
"named_files": {
"CHROMEDRIVER": "chromedriver-mac-x64/chromedriver"
@@ -699,9 +705,9 @@
"rules_browsers_chromedriver_mac_arm": {
"repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo",
"attributes": {
- "sha256": "7d6fc6d17de1733eb6739d1ea16d085c8df1568bcf9fa0d130c2784b27f38268",
+ "sha256": "63d0da6ef29c4ad9f6b5ddbe68466e3c301c9e04daed509ac31f339a5948fe8e",
"urls": [
- "https://storage.googleapis.com/chrome-for-testing-public/147.0.7687.0/mac-arm64/chromedriver-mac-arm64.zip"
+ "https://storage.googleapis.com/chrome-for-testing-public/150.0.7860.0/mac-arm64/chromedriver-mac-arm64.zip"
],
"named_files": {
"CHROMEDRIVER": "chromedriver-mac-arm64/chromedriver"
@@ -715,9 +721,9 @@
"rules_browsers_chromedriver_win64": {
"repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo",
"attributes": {
- "sha256": "f4e9fb7bbf692fde7979b24e8d737b3cef4baafbc7a370e5d0abc4a8450fd830",
+ "sha256": "93b27d5b09340d650923cfd9d8e306c2e6430dcf0b826f34e79080b43dff7064",
"urls": [
- "https://storage.googleapis.com/chrome-for-testing-public/147.0.7687.0/win64/chromedriver-win64.zip"
+ "https://storage.googleapis.com/chrome-for-testing-public/150.0.7860.0/win64/chromedriver-win64.zip"
],
"named_files": {
"CHROMEDRIVER": "chromedriver-win64/chromedriver.exe"
@@ -731,9 +737,9 @@
"rules_browsers_firefox_linux": {
"repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo",
"attributes": {
- "sha256": "f055b9c0d7346a10d22edc7f10e08679af2ea495367381ab2be9cab3ec6add97",
+ "sha256": "8ff8557a5ca3903ebbc1d18570684075f623465be5e362d63a95b3acc523f824",
"urls": [
- "https://archive.mozilla.org/pub/firefox/releases/147.0/linux-x86_64/en-US/firefox-147.0.tar.xz"
+ "https://archive.mozilla.org/pub/firefox/releases/151.0/linux-x86_64/en-US/firefox-151.0.tar.xz"
],
"named_files": {
"FIREFOX": "firefox/firefox"
@@ -747,9 +753,9 @@
"rules_browsers_firefox_mac": {
"repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo",
"attributes": {
- "sha256": "48485e2068bc726e2f30cf5855fc2da1fc75c1272bc243a5394f428ffae3ba35",
+ "sha256": "5a56ebd8f0f8cec94a86e04c6793e1d1502b40206f5d4c86fff5b7a270e84f6b",
"urls": [
- "https://archive.mozilla.org/pub/firefox/releases/147.0/mac/en-US/Firefox%20147.0.dmg"
+ "https://archive.mozilla.org/pub/firefox/releases/151.0/mac/en-US/Firefox%20151.0.dmg"
],
"named_files": {
"FIREFOX": "Firefox.app/Contents/MacOS/firefox"
@@ -763,9 +769,9 @@
"rules_browsers_firefox_mac_arm": {
"repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo",
"attributes": {
- "sha256": "48485e2068bc726e2f30cf5855fc2da1fc75c1272bc243a5394f428ffae3ba35",
+ "sha256": "5a56ebd8f0f8cec94a86e04c6793e1d1502b40206f5d4c86fff5b7a270e84f6b",
"urls": [
- "https://archive.mozilla.org/pub/firefox/releases/147.0/mac/en-US/Firefox%20147.0.dmg"
+ "https://archive.mozilla.org/pub/firefox/releases/151.0/mac/en-US/Firefox%20151.0.dmg"
],
"named_files": {
"FIREFOX": "Firefox.app/Contents/MacOS/firefox"
@@ -779,9 +785,9 @@
"rules_browsers_firefox_win64": {
"repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo",
"attributes": {
- "sha256": "36ff9e150875aa48a0af9eec3eb67f66dddd8efac5c743265371a72ae3e796c4",
+ "sha256": "358381238a840831da8a6cda16721692df91a74bc44847ff0285da12de788a8d",
"urls": [
- "https://archive.mozilla.org/pub/firefox/releases/147.0/win64/en-US/Firefox%20Setup%20147.0.exe"
+ "https://archive.mozilla.org/pub/firefox/releases/151.0/win64/en-US/Firefox%20Setup%20151.0.exe"
],
"named_files": {
"FIREFOX": "core/firefox.exe"
@@ -798,7 +804,7 @@
},
"@@rules_fuzzing+//fuzzing/private:extensions.bzl%non_module_dependencies": {
"general": {
- "bzlTransitiveDigest": "4LouzhF/yT117s7peGnNs9ROomiJXC6Zl5R0oI21jho=",
+ "bzlTransitiveDigest": "CYUiFDCnL2VGx3uotIu/VuGabgObnZra2zzRUJCX0sU=",
"usagesDigest": "wy6ISK6UOcBEjj/mvJ/S3WeXoO67X+1llb9yPyFtPgc=",
"recordedFileInputs": {},
"recordedDirentsInputs": {},
@@ -881,7 +887,7 @@
},
"@@rules_kotlin+//src/main/starlark/core/repositories:bzlmod_setup.bzl%rules_kotlin_extensions": {
"general": {
- "bzlTransitiveDigest": "nvW/NrBXlAmiQw99EMGKkLaD2KbNp2mQDlxdfpr+0Ls=",
+ "bzlTransitiveDigest": "03Qju4tW0vE+0RBuZGuV2A4Hx6AiSkdNahYvworx2aM=",
"usagesDigest": "QI2z8ZUR+mqtbwsf2fLqYdJAkPOHdOV+tF2yVAUgRzw=",
"recordedFileInputs": {},
"recordedDirentsInputs": {},
@@ -946,7 +952,7 @@
"@@rules_nodejs+//nodejs:extensions.bzl%node": {
"general": {
"bzlTransitiveDigest": "oZFClfRhTTwsYzpxVPkOpOt/r0+OzEfEV37au0jFZ0s=",
- "usagesDigest": "fkkDOc1plpzAkO5pn2xJ/0LSXLJElOvwmi3xfrz7cxY=",
+ "usagesDigest": "28HwARS2PIkmyhXuiSyS1jAaG14m/bsZo/Sm+OPn2M8=",
"recordedFileInputs": {},
"recordedDirentsInputs": {},
"envVariables": {},
@@ -956,46 +962,46 @@
"attributes": {
"node_download_auth": {},
"node_repositories": {
- "22.22.2-darwin_arm64": [
- "node-v22.22.2-darwin-arm64.tar.gz",
- "node-v22.22.2-darwin-arm64",
- "db4b275b83736df67533529a18cc55de2549a8329ace6c7bcc68f8d22d3c9000"
- ],
- "22.22.2-darwin_amd64": [
- "node-v22.22.2-darwin-x64.tar.gz",
- "node-v22.22.2-darwin-x64",
- "12a6abb9c2902cf48a21120da13f87fde1ed1b71a13330712949e8db818708ba"
- ],
- "22.22.2-linux_arm64": [
- "node-v22.22.2-linux-arm64.tar.xz",
- "node-v22.22.2-linux-arm64",
- "e9e1930fd321a470e29bb68f30318bf58e3ecb4acb4f1533fb19c58328a091fe"
- ],
- "22.22.2-linux_ppc64le": [
- "node-v22.22.2-linux-ppc64le.tar.xz",
- "node-v22.22.2-linux-ppc64le",
- "14045b5a5030d35ca0030fb7e870bd11a651eb9b57323ebc0021e8d78ac6bac9"
- ],
- "22.22.2-linux_s390x": [
- "node-v22.22.2-linux-s390x.tar.xz",
- "node-v22.22.2-linux-s390x",
- "9e4a07c291b8949289c6ea8ee61b1d14666a4810feae776a8d1eb1f57e03a2fb"
- ],
- "22.22.2-linux_amd64": [
- "node-v22.22.2-linux-x64.tar.xz",
- "node-v22.22.2-linux-x64",
- "88fd1ce767091fd8d4a99fdb2356e98c819f93f3b1f8663853a2dee9b438068a"
- ],
- "22.22.2-windows_amd64": [
- "node-v22.22.2-win-x64.zip",
- "node-v22.22.2-win-x64",
- "7c93e9d92bf68c07182b471aa187e35ee6cd08ef0f24ab060dfff605fcc1c57c"
+ "22.22.3-darwin_arm64": [
+ "node-v22.22.3-darwin-arm64.tar.gz",
+ "node-v22.22.3-darwin-arm64",
+ "0da7ff74ef8611328c8212f17943368713a2ad953fb7d89a8c8a0eae87c23207"
+ ],
+ "22.22.3-darwin_amd64": [
+ "node-v22.22.3-darwin-x64.tar.gz",
+ "node-v22.22.3-darwin-x64",
+ "45830ba752fa0d892c6dcd640946669801293cac820a33591ded40ac075198ec"
+ ],
+ "22.22.3-linux_arm64": [
+ "node-v22.22.3-linux-arm64.tar.xz",
+ "node-v22.22.3-linux-arm64",
+ "1c4a9933a5e45bc88f54f70b5f91232c127ec49f1a5989d23fb85824c7adf9b7"
+ ],
+ "22.22.3-linux_ppc64le": [
+ "node-v22.22.3-linux-ppc64le.tar.xz",
+ "node-v22.22.3-linux-ppc64le",
+ "edb5478071bd1375e80195ca52f72823998bb5141b1a09e68bc54b3e2eb67754"
+ ],
+ "22.22.3-linux_s390x": [
+ "node-v22.22.3-linux-s390x.tar.xz",
+ "node-v22.22.3-linux-s390x",
+ "ce398c057830d57a24c458177279a17bc51742d5c22dd4cbe97b10dbd43f2617"
+ ],
+ "22.22.3-linux_amd64": [
+ "node-v22.22.3-linux-x64.tar.xz",
+ "node-v22.22.3-linux-x64",
+ "2e5d13569282d016861fae7c8f935e741693c269101a5bebcf761a5376d1f99f"
+ ],
+ "22.22.3-windows_amd64": [
+ "node-v22.22.3-win-x64.zip",
+ "node-v22.22.3-win-x64",
+ "6c8d54f635feff4df76c2ca80f45332eb2ff57d25226edce36592e51a177ee33"
]
},
"node_urls": [
"https://nodejs.org/dist/v{version}/{filename}"
],
- "node_version": "22.22.2",
+ "node_version": "22.22.3",
"include_headers": false,
"platform": "linux_amd64"
}
@@ -1005,46 +1011,46 @@
"attributes": {
"node_download_auth": {},
"node_repositories": {
- "22.22.2-darwin_arm64": [
- "node-v22.22.2-darwin-arm64.tar.gz",
- "node-v22.22.2-darwin-arm64",
- "db4b275b83736df67533529a18cc55de2549a8329ace6c7bcc68f8d22d3c9000"
- ],
- "22.22.2-darwin_amd64": [
- "node-v22.22.2-darwin-x64.tar.gz",
- "node-v22.22.2-darwin-x64",
- "12a6abb9c2902cf48a21120da13f87fde1ed1b71a13330712949e8db818708ba"
- ],
- "22.22.2-linux_arm64": [
- "node-v22.22.2-linux-arm64.tar.xz",
- "node-v22.22.2-linux-arm64",
- "e9e1930fd321a470e29bb68f30318bf58e3ecb4acb4f1533fb19c58328a091fe"
- ],
- "22.22.2-linux_ppc64le": [
- "node-v22.22.2-linux-ppc64le.tar.xz",
- "node-v22.22.2-linux-ppc64le",
- "14045b5a5030d35ca0030fb7e870bd11a651eb9b57323ebc0021e8d78ac6bac9"
- ],
- "22.22.2-linux_s390x": [
- "node-v22.22.2-linux-s390x.tar.xz",
- "node-v22.22.2-linux-s390x",
- "9e4a07c291b8949289c6ea8ee61b1d14666a4810feae776a8d1eb1f57e03a2fb"
- ],
- "22.22.2-linux_amd64": [
- "node-v22.22.2-linux-x64.tar.xz",
- "node-v22.22.2-linux-x64",
- "88fd1ce767091fd8d4a99fdb2356e98c819f93f3b1f8663853a2dee9b438068a"
- ],
- "22.22.2-windows_amd64": [
- "node-v22.22.2-win-x64.zip",
- "node-v22.22.2-win-x64",
- "7c93e9d92bf68c07182b471aa187e35ee6cd08ef0f24ab060dfff605fcc1c57c"
+ "22.22.3-darwin_arm64": [
+ "node-v22.22.3-darwin-arm64.tar.gz",
+ "node-v22.22.3-darwin-arm64",
+ "0da7ff74ef8611328c8212f17943368713a2ad953fb7d89a8c8a0eae87c23207"
+ ],
+ "22.22.3-darwin_amd64": [
+ "node-v22.22.3-darwin-x64.tar.gz",
+ "node-v22.22.3-darwin-x64",
+ "45830ba752fa0d892c6dcd640946669801293cac820a33591ded40ac075198ec"
+ ],
+ "22.22.3-linux_arm64": [
+ "node-v22.22.3-linux-arm64.tar.xz",
+ "node-v22.22.3-linux-arm64",
+ "1c4a9933a5e45bc88f54f70b5f91232c127ec49f1a5989d23fb85824c7adf9b7"
+ ],
+ "22.22.3-linux_ppc64le": [
+ "node-v22.22.3-linux-ppc64le.tar.xz",
+ "node-v22.22.3-linux-ppc64le",
+ "edb5478071bd1375e80195ca52f72823998bb5141b1a09e68bc54b3e2eb67754"
+ ],
+ "22.22.3-linux_s390x": [
+ "node-v22.22.3-linux-s390x.tar.xz",
+ "node-v22.22.3-linux-s390x",
+ "ce398c057830d57a24c458177279a17bc51742d5c22dd4cbe97b10dbd43f2617"
+ ],
+ "22.22.3-linux_amd64": [
+ "node-v22.22.3-linux-x64.tar.xz",
+ "node-v22.22.3-linux-x64",
+ "2e5d13569282d016861fae7c8f935e741693c269101a5bebcf761a5376d1f99f"
+ ],
+ "22.22.3-windows_amd64": [
+ "node-v22.22.3-win-x64.zip",
+ "node-v22.22.3-win-x64",
+ "6c8d54f635feff4df76c2ca80f45332eb2ff57d25226edce36592e51a177ee33"
]
},
"node_urls": [
"https://nodejs.org/dist/v{version}/{filename}"
],
- "node_version": "22.22.2",
+ "node_version": "22.22.3",
"include_headers": false,
"platform": "linux_arm64"
}
@@ -1054,46 +1060,46 @@
"attributes": {
"node_download_auth": {},
"node_repositories": {
- "22.22.2-darwin_arm64": [
- "node-v22.22.2-darwin-arm64.tar.gz",
- "node-v22.22.2-darwin-arm64",
- "db4b275b83736df67533529a18cc55de2549a8329ace6c7bcc68f8d22d3c9000"
- ],
- "22.22.2-darwin_amd64": [
- "node-v22.22.2-darwin-x64.tar.gz",
- "node-v22.22.2-darwin-x64",
- "12a6abb9c2902cf48a21120da13f87fde1ed1b71a13330712949e8db818708ba"
- ],
- "22.22.2-linux_arm64": [
- "node-v22.22.2-linux-arm64.tar.xz",
- "node-v22.22.2-linux-arm64",
- "e9e1930fd321a470e29bb68f30318bf58e3ecb4acb4f1533fb19c58328a091fe"
- ],
- "22.22.2-linux_ppc64le": [
- "node-v22.22.2-linux-ppc64le.tar.xz",
- "node-v22.22.2-linux-ppc64le",
- "14045b5a5030d35ca0030fb7e870bd11a651eb9b57323ebc0021e8d78ac6bac9"
- ],
- "22.22.2-linux_s390x": [
- "node-v22.22.2-linux-s390x.tar.xz",
- "node-v22.22.2-linux-s390x",
- "9e4a07c291b8949289c6ea8ee61b1d14666a4810feae776a8d1eb1f57e03a2fb"
- ],
- "22.22.2-linux_amd64": [
- "node-v22.22.2-linux-x64.tar.xz",
- "node-v22.22.2-linux-x64",
- "88fd1ce767091fd8d4a99fdb2356e98c819f93f3b1f8663853a2dee9b438068a"
- ],
- "22.22.2-windows_amd64": [
- "node-v22.22.2-win-x64.zip",
- "node-v22.22.2-win-x64",
- "7c93e9d92bf68c07182b471aa187e35ee6cd08ef0f24ab060dfff605fcc1c57c"
+ "22.22.3-darwin_arm64": [
+ "node-v22.22.3-darwin-arm64.tar.gz",
+ "node-v22.22.3-darwin-arm64",
+ "0da7ff74ef8611328c8212f17943368713a2ad953fb7d89a8c8a0eae87c23207"
+ ],
+ "22.22.3-darwin_amd64": [
+ "node-v22.22.3-darwin-x64.tar.gz",
+ "node-v22.22.3-darwin-x64",
+ "45830ba752fa0d892c6dcd640946669801293cac820a33591ded40ac075198ec"
+ ],
+ "22.22.3-linux_arm64": [
+ "node-v22.22.3-linux-arm64.tar.xz",
+ "node-v22.22.3-linux-arm64",
+ "1c4a9933a5e45bc88f54f70b5f91232c127ec49f1a5989d23fb85824c7adf9b7"
+ ],
+ "22.22.3-linux_ppc64le": [
+ "node-v22.22.3-linux-ppc64le.tar.xz",
+ "node-v22.22.3-linux-ppc64le",
+ "edb5478071bd1375e80195ca52f72823998bb5141b1a09e68bc54b3e2eb67754"
+ ],
+ "22.22.3-linux_s390x": [
+ "node-v22.22.3-linux-s390x.tar.xz",
+ "node-v22.22.3-linux-s390x",
+ "ce398c057830d57a24c458177279a17bc51742d5c22dd4cbe97b10dbd43f2617"
+ ],
+ "22.22.3-linux_amd64": [
+ "node-v22.22.3-linux-x64.tar.xz",
+ "node-v22.22.3-linux-x64",
+ "2e5d13569282d016861fae7c8f935e741693c269101a5bebcf761a5376d1f99f"
+ ],
+ "22.22.3-windows_amd64": [
+ "node-v22.22.3-win-x64.zip",
+ "node-v22.22.3-win-x64",
+ "6c8d54f635feff4df76c2ca80f45332eb2ff57d25226edce36592e51a177ee33"
]
},
"node_urls": [
"https://nodejs.org/dist/v{version}/{filename}"
],
- "node_version": "22.22.2",
+ "node_version": "22.22.3",
"include_headers": false,
"platform": "linux_s390x"
}
@@ -1103,46 +1109,46 @@
"attributes": {
"node_download_auth": {},
"node_repositories": {
- "22.22.2-darwin_arm64": [
- "node-v22.22.2-darwin-arm64.tar.gz",
- "node-v22.22.2-darwin-arm64",
- "db4b275b83736df67533529a18cc55de2549a8329ace6c7bcc68f8d22d3c9000"
- ],
- "22.22.2-darwin_amd64": [
- "node-v22.22.2-darwin-x64.tar.gz",
- "node-v22.22.2-darwin-x64",
- "12a6abb9c2902cf48a21120da13f87fde1ed1b71a13330712949e8db818708ba"
- ],
- "22.22.2-linux_arm64": [
- "node-v22.22.2-linux-arm64.tar.xz",
- "node-v22.22.2-linux-arm64",
- "e9e1930fd321a470e29bb68f30318bf58e3ecb4acb4f1533fb19c58328a091fe"
- ],
- "22.22.2-linux_ppc64le": [
- "node-v22.22.2-linux-ppc64le.tar.xz",
- "node-v22.22.2-linux-ppc64le",
- "14045b5a5030d35ca0030fb7e870bd11a651eb9b57323ebc0021e8d78ac6bac9"
- ],
- "22.22.2-linux_s390x": [
- "node-v22.22.2-linux-s390x.tar.xz",
- "node-v22.22.2-linux-s390x",
- "9e4a07c291b8949289c6ea8ee61b1d14666a4810feae776a8d1eb1f57e03a2fb"
- ],
- "22.22.2-linux_amd64": [
- "node-v22.22.2-linux-x64.tar.xz",
- "node-v22.22.2-linux-x64",
- "88fd1ce767091fd8d4a99fdb2356e98c819f93f3b1f8663853a2dee9b438068a"
- ],
- "22.22.2-windows_amd64": [
- "node-v22.22.2-win-x64.zip",
- "node-v22.22.2-win-x64",
- "7c93e9d92bf68c07182b471aa187e35ee6cd08ef0f24ab060dfff605fcc1c57c"
+ "22.22.3-darwin_arm64": [
+ "node-v22.22.3-darwin-arm64.tar.gz",
+ "node-v22.22.3-darwin-arm64",
+ "0da7ff74ef8611328c8212f17943368713a2ad953fb7d89a8c8a0eae87c23207"
+ ],
+ "22.22.3-darwin_amd64": [
+ "node-v22.22.3-darwin-x64.tar.gz",
+ "node-v22.22.3-darwin-x64",
+ "45830ba752fa0d892c6dcd640946669801293cac820a33591ded40ac075198ec"
+ ],
+ "22.22.3-linux_arm64": [
+ "node-v22.22.3-linux-arm64.tar.xz",
+ "node-v22.22.3-linux-arm64",
+ "1c4a9933a5e45bc88f54f70b5f91232c127ec49f1a5989d23fb85824c7adf9b7"
+ ],
+ "22.22.3-linux_ppc64le": [
+ "node-v22.22.3-linux-ppc64le.tar.xz",
+ "node-v22.22.3-linux-ppc64le",
+ "edb5478071bd1375e80195ca52f72823998bb5141b1a09e68bc54b3e2eb67754"
+ ],
+ "22.22.3-linux_s390x": [
+ "node-v22.22.3-linux-s390x.tar.xz",
+ "node-v22.22.3-linux-s390x",
+ "ce398c057830d57a24c458177279a17bc51742d5c22dd4cbe97b10dbd43f2617"
+ ],
+ "22.22.3-linux_amd64": [
+ "node-v22.22.3-linux-x64.tar.xz",
+ "node-v22.22.3-linux-x64",
+ "2e5d13569282d016861fae7c8f935e741693c269101a5bebcf761a5376d1f99f"
+ ],
+ "22.22.3-windows_amd64": [
+ "node-v22.22.3-win-x64.zip",
+ "node-v22.22.3-win-x64",
+ "6c8d54f635feff4df76c2ca80f45332eb2ff57d25226edce36592e51a177ee33"
]
},
"node_urls": [
"https://nodejs.org/dist/v{version}/{filename}"
],
- "node_version": "22.22.2",
+ "node_version": "22.22.3",
"include_headers": false,
"platform": "linux_ppc64le"
}
@@ -1152,46 +1158,46 @@
"attributes": {
"node_download_auth": {},
"node_repositories": {
- "22.22.2-darwin_arm64": [
- "node-v22.22.2-darwin-arm64.tar.gz",
- "node-v22.22.2-darwin-arm64",
- "db4b275b83736df67533529a18cc55de2549a8329ace6c7bcc68f8d22d3c9000"
- ],
- "22.22.2-darwin_amd64": [
- "node-v22.22.2-darwin-x64.tar.gz",
- "node-v22.22.2-darwin-x64",
- "12a6abb9c2902cf48a21120da13f87fde1ed1b71a13330712949e8db818708ba"
- ],
- "22.22.2-linux_arm64": [
- "node-v22.22.2-linux-arm64.tar.xz",
- "node-v22.22.2-linux-arm64",
- "e9e1930fd321a470e29bb68f30318bf58e3ecb4acb4f1533fb19c58328a091fe"
- ],
- "22.22.2-linux_ppc64le": [
- "node-v22.22.2-linux-ppc64le.tar.xz",
- "node-v22.22.2-linux-ppc64le",
- "14045b5a5030d35ca0030fb7e870bd11a651eb9b57323ebc0021e8d78ac6bac9"
- ],
- "22.22.2-linux_s390x": [
- "node-v22.22.2-linux-s390x.tar.xz",
- "node-v22.22.2-linux-s390x",
- "9e4a07c291b8949289c6ea8ee61b1d14666a4810feae776a8d1eb1f57e03a2fb"
- ],
- "22.22.2-linux_amd64": [
- "node-v22.22.2-linux-x64.tar.xz",
- "node-v22.22.2-linux-x64",
- "88fd1ce767091fd8d4a99fdb2356e98c819f93f3b1f8663853a2dee9b438068a"
- ],
- "22.22.2-windows_amd64": [
- "node-v22.22.2-win-x64.zip",
- "node-v22.22.2-win-x64",
- "7c93e9d92bf68c07182b471aa187e35ee6cd08ef0f24ab060dfff605fcc1c57c"
+ "22.22.3-darwin_arm64": [
+ "node-v22.22.3-darwin-arm64.tar.gz",
+ "node-v22.22.3-darwin-arm64",
+ "0da7ff74ef8611328c8212f17943368713a2ad953fb7d89a8c8a0eae87c23207"
+ ],
+ "22.22.3-darwin_amd64": [
+ "node-v22.22.3-darwin-x64.tar.gz",
+ "node-v22.22.3-darwin-x64",
+ "45830ba752fa0d892c6dcd640946669801293cac820a33591ded40ac075198ec"
+ ],
+ "22.22.3-linux_arm64": [
+ "node-v22.22.3-linux-arm64.tar.xz",
+ "node-v22.22.3-linux-arm64",
+ "1c4a9933a5e45bc88f54f70b5f91232c127ec49f1a5989d23fb85824c7adf9b7"
+ ],
+ "22.22.3-linux_ppc64le": [
+ "node-v22.22.3-linux-ppc64le.tar.xz",
+ "node-v22.22.3-linux-ppc64le",
+ "edb5478071bd1375e80195ca52f72823998bb5141b1a09e68bc54b3e2eb67754"
+ ],
+ "22.22.3-linux_s390x": [
+ "node-v22.22.3-linux-s390x.tar.xz",
+ "node-v22.22.3-linux-s390x",
+ "ce398c057830d57a24c458177279a17bc51742d5c22dd4cbe97b10dbd43f2617"
+ ],
+ "22.22.3-linux_amd64": [
+ "node-v22.22.3-linux-x64.tar.xz",
+ "node-v22.22.3-linux-x64",
+ "2e5d13569282d016861fae7c8f935e741693c269101a5bebcf761a5376d1f99f"
+ ],
+ "22.22.3-windows_amd64": [
+ "node-v22.22.3-win-x64.zip",
+ "node-v22.22.3-win-x64",
+ "6c8d54f635feff4df76c2ca80f45332eb2ff57d25226edce36592e51a177ee33"
]
},
"node_urls": [
"https://nodejs.org/dist/v{version}/{filename}"
],
- "node_version": "22.22.2",
+ "node_version": "22.22.3",
"include_headers": false,
"platform": "darwin_amd64"
}
@@ -1201,46 +1207,46 @@
"attributes": {
"node_download_auth": {},
"node_repositories": {
- "22.22.2-darwin_arm64": [
- "node-v22.22.2-darwin-arm64.tar.gz",
- "node-v22.22.2-darwin-arm64",
- "db4b275b83736df67533529a18cc55de2549a8329ace6c7bcc68f8d22d3c9000"
- ],
- "22.22.2-darwin_amd64": [
- "node-v22.22.2-darwin-x64.tar.gz",
- "node-v22.22.2-darwin-x64",
- "12a6abb9c2902cf48a21120da13f87fde1ed1b71a13330712949e8db818708ba"
- ],
- "22.22.2-linux_arm64": [
- "node-v22.22.2-linux-arm64.tar.xz",
- "node-v22.22.2-linux-arm64",
- "e9e1930fd321a470e29bb68f30318bf58e3ecb4acb4f1533fb19c58328a091fe"
- ],
- "22.22.2-linux_ppc64le": [
- "node-v22.22.2-linux-ppc64le.tar.xz",
- "node-v22.22.2-linux-ppc64le",
- "14045b5a5030d35ca0030fb7e870bd11a651eb9b57323ebc0021e8d78ac6bac9"
- ],
- "22.22.2-linux_s390x": [
- "node-v22.22.2-linux-s390x.tar.xz",
- "node-v22.22.2-linux-s390x",
- "9e4a07c291b8949289c6ea8ee61b1d14666a4810feae776a8d1eb1f57e03a2fb"
- ],
- "22.22.2-linux_amd64": [
- "node-v22.22.2-linux-x64.tar.xz",
- "node-v22.22.2-linux-x64",
- "88fd1ce767091fd8d4a99fdb2356e98c819f93f3b1f8663853a2dee9b438068a"
- ],
- "22.22.2-windows_amd64": [
- "node-v22.22.2-win-x64.zip",
- "node-v22.22.2-win-x64",
- "7c93e9d92bf68c07182b471aa187e35ee6cd08ef0f24ab060dfff605fcc1c57c"
+ "22.22.3-darwin_arm64": [
+ "node-v22.22.3-darwin-arm64.tar.gz",
+ "node-v22.22.3-darwin-arm64",
+ "0da7ff74ef8611328c8212f17943368713a2ad953fb7d89a8c8a0eae87c23207"
+ ],
+ "22.22.3-darwin_amd64": [
+ "node-v22.22.3-darwin-x64.tar.gz",
+ "node-v22.22.3-darwin-x64",
+ "45830ba752fa0d892c6dcd640946669801293cac820a33591ded40ac075198ec"
+ ],
+ "22.22.3-linux_arm64": [
+ "node-v22.22.3-linux-arm64.tar.xz",
+ "node-v22.22.3-linux-arm64",
+ "1c4a9933a5e45bc88f54f70b5f91232c127ec49f1a5989d23fb85824c7adf9b7"
+ ],
+ "22.22.3-linux_ppc64le": [
+ "node-v22.22.3-linux-ppc64le.tar.xz",
+ "node-v22.22.3-linux-ppc64le",
+ "edb5478071bd1375e80195ca52f72823998bb5141b1a09e68bc54b3e2eb67754"
+ ],
+ "22.22.3-linux_s390x": [
+ "node-v22.22.3-linux-s390x.tar.xz",
+ "node-v22.22.3-linux-s390x",
+ "ce398c057830d57a24c458177279a17bc51742d5c22dd4cbe97b10dbd43f2617"
+ ],
+ "22.22.3-linux_amd64": [
+ "node-v22.22.3-linux-x64.tar.xz",
+ "node-v22.22.3-linux-x64",
+ "2e5d13569282d016861fae7c8f935e741693c269101a5bebcf761a5376d1f99f"
+ ],
+ "22.22.3-windows_amd64": [
+ "node-v22.22.3-win-x64.zip",
+ "node-v22.22.3-win-x64",
+ "6c8d54f635feff4df76c2ca80f45332eb2ff57d25226edce36592e51a177ee33"
]
},
"node_urls": [
"https://nodejs.org/dist/v{version}/{filename}"
],
- "node_version": "22.22.2",
+ "node_version": "22.22.3",
"include_headers": false,
"platform": "darwin_arm64"
}
@@ -1250,46 +1256,46 @@
"attributes": {
"node_download_auth": {},
"node_repositories": {
- "22.22.2-darwin_arm64": [
- "node-v22.22.2-darwin-arm64.tar.gz",
- "node-v22.22.2-darwin-arm64",
- "db4b275b83736df67533529a18cc55de2549a8329ace6c7bcc68f8d22d3c9000"
- ],
- "22.22.2-darwin_amd64": [
- "node-v22.22.2-darwin-x64.tar.gz",
- "node-v22.22.2-darwin-x64",
- "12a6abb9c2902cf48a21120da13f87fde1ed1b71a13330712949e8db818708ba"
- ],
- "22.22.2-linux_arm64": [
- "node-v22.22.2-linux-arm64.tar.xz",
- "node-v22.22.2-linux-arm64",
- "e9e1930fd321a470e29bb68f30318bf58e3ecb4acb4f1533fb19c58328a091fe"
- ],
- "22.22.2-linux_ppc64le": [
- "node-v22.22.2-linux-ppc64le.tar.xz",
- "node-v22.22.2-linux-ppc64le",
- "14045b5a5030d35ca0030fb7e870bd11a651eb9b57323ebc0021e8d78ac6bac9"
- ],
- "22.22.2-linux_s390x": [
- "node-v22.22.2-linux-s390x.tar.xz",
- "node-v22.22.2-linux-s390x",
- "9e4a07c291b8949289c6ea8ee61b1d14666a4810feae776a8d1eb1f57e03a2fb"
- ],
- "22.22.2-linux_amd64": [
- "node-v22.22.2-linux-x64.tar.xz",
- "node-v22.22.2-linux-x64",
- "88fd1ce767091fd8d4a99fdb2356e98c819f93f3b1f8663853a2dee9b438068a"
- ],
- "22.22.2-windows_amd64": [
- "node-v22.22.2-win-x64.zip",
- "node-v22.22.2-win-x64",
- "7c93e9d92bf68c07182b471aa187e35ee6cd08ef0f24ab060dfff605fcc1c57c"
+ "22.22.3-darwin_arm64": [
+ "node-v22.22.3-darwin-arm64.tar.gz",
+ "node-v22.22.3-darwin-arm64",
+ "0da7ff74ef8611328c8212f17943368713a2ad953fb7d89a8c8a0eae87c23207"
+ ],
+ "22.22.3-darwin_amd64": [
+ "node-v22.22.3-darwin-x64.tar.gz",
+ "node-v22.22.3-darwin-x64",
+ "45830ba752fa0d892c6dcd640946669801293cac820a33591ded40ac075198ec"
+ ],
+ "22.22.3-linux_arm64": [
+ "node-v22.22.3-linux-arm64.tar.xz",
+ "node-v22.22.3-linux-arm64",
+ "1c4a9933a5e45bc88f54f70b5f91232c127ec49f1a5989d23fb85824c7adf9b7"
+ ],
+ "22.22.3-linux_ppc64le": [
+ "node-v22.22.3-linux-ppc64le.tar.xz",
+ "node-v22.22.3-linux-ppc64le",
+ "edb5478071bd1375e80195ca52f72823998bb5141b1a09e68bc54b3e2eb67754"
+ ],
+ "22.22.3-linux_s390x": [
+ "node-v22.22.3-linux-s390x.tar.xz",
+ "node-v22.22.3-linux-s390x",
+ "ce398c057830d57a24c458177279a17bc51742d5c22dd4cbe97b10dbd43f2617"
+ ],
+ "22.22.3-linux_amd64": [
+ "node-v22.22.3-linux-x64.tar.xz",
+ "node-v22.22.3-linux-x64",
+ "2e5d13569282d016861fae7c8f935e741693c269101a5bebcf761a5376d1f99f"
+ ],
+ "22.22.3-windows_amd64": [
+ "node-v22.22.3-win-x64.zip",
+ "node-v22.22.3-win-x64",
+ "6c8d54f635feff4df76c2ca80f45332eb2ff57d25226edce36592e51a177ee33"
]
},
"node_urls": [
"https://nodejs.org/dist/v{version}/{filename}"
],
- "node_version": "22.22.2",
+ "node_version": "22.22.3",
"include_headers": false,
"platform": "windows_amd64"
}
@@ -1299,46 +1305,46 @@
"attributes": {
"node_download_auth": {},
"node_repositories": {
- "22.22.2-darwin_arm64": [
- "node-v22.22.2-darwin-arm64.tar.gz",
- "node-v22.22.2-darwin-arm64",
- "db4b275b83736df67533529a18cc55de2549a8329ace6c7bcc68f8d22d3c9000"
- ],
- "22.22.2-darwin_amd64": [
- "node-v22.22.2-darwin-x64.tar.gz",
- "node-v22.22.2-darwin-x64",
- "12a6abb9c2902cf48a21120da13f87fde1ed1b71a13330712949e8db818708ba"
- ],
- "22.22.2-linux_arm64": [
- "node-v22.22.2-linux-arm64.tar.xz",
- "node-v22.22.2-linux-arm64",
- "e9e1930fd321a470e29bb68f30318bf58e3ecb4acb4f1533fb19c58328a091fe"
- ],
- "22.22.2-linux_ppc64le": [
- "node-v22.22.2-linux-ppc64le.tar.xz",
- "node-v22.22.2-linux-ppc64le",
- "14045b5a5030d35ca0030fb7e870bd11a651eb9b57323ebc0021e8d78ac6bac9"
- ],
- "22.22.2-linux_s390x": [
- "node-v22.22.2-linux-s390x.tar.xz",
- "node-v22.22.2-linux-s390x",
- "9e4a07c291b8949289c6ea8ee61b1d14666a4810feae776a8d1eb1f57e03a2fb"
- ],
- "22.22.2-linux_amd64": [
- "node-v22.22.2-linux-x64.tar.xz",
- "node-v22.22.2-linux-x64",
- "88fd1ce767091fd8d4a99fdb2356e98c819f93f3b1f8663853a2dee9b438068a"
- ],
- "22.22.2-windows_amd64": [
- "node-v22.22.2-win-x64.zip",
- "node-v22.22.2-win-x64",
- "7c93e9d92bf68c07182b471aa187e35ee6cd08ef0f24ab060dfff605fcc1c57c"
+ "22.22.3-darwin_arm64": [
+ "node-v22.22.3-darwin-arm64.tar.gz",
+ "node-v22.22.3-darwin-arm64",
+ "0da7ff74ef8611328c8212f17943368713a2ad953fb7d89a8c8a0eae87c23207"
+ ],
+ "22.22.3-darwin_amd64": [
+ "node-v22.22.3-darwin-x64.tar.gz",
+ "node-v22.22.3-darwin-x64",
+ "45830ba752fa0d892c6dcd640946669801293cac820a33591ded40ac075198ec"
+ ],
+ "22.22.3-linux_arm64": [
+ "node-v22.22.3-linux-arm64.tar.xz",
+ "node-v22.22.3-linux-arm64",
+ "1c4a9933a5e45bc88f54f70b5f91232c127ec49f1a5989d23fb85824c7adf9b7"
+ ],
+ "22.22.3-linux_ppc64le": [
+ "node-v22.22.3-linux-ppc64le.tar.xz",
+ "node-v22.22.3-linux-ppc64le",
+ "edb5478071bd1375e80195ca52f72823998bb5141b1a09e68bc54b3e2eb67754"
+ ],
+ "22.22.3-linux_s390x": [
+ "node-v22.22.3-linux-s390x.tar.xz",
+ "node-v22.22.3-linux-s390x",
+ "ce398c057830d57a24c458177279a17bc51742d5c22dd4cbe97b10dbd43f2617"
+ ],
+ "22.22.3-linux_amd64": [
+ "node-v22.22.3-linux-x64.tar.xz",
+ "node-v22.22.3-linux-x64",
+ "2e5d13569282d016861fae7c8f935e741693c269101a5bebcf761a5376d1f99f"
+ ],
+ "22.22.3-windows_amd64": [
+ "node-v22.22.3-win-x64.zip",
+ "node-v22.22.3-win-x64",
+ "6c8d54f635feff4df76c2ca80f45332eb2ff57d25226edce36592e51a177ee33"
]
},
"node_urls": [
"https://nodejs.org/dist/v{version}/{filename}"
],
- "node_version": "22.22.2",
+ "node_version": "22.22.3",
"include_headers": false,
"platform": "windows_arm64"
}
@@ -1366,46 +1372,46 @@
"attributes": {
"node_download_auth": {},
"node_repositories": {
- "22.22.0-darwin_arm64": [
- "node-v22.22.0-darwin-arm64.tar.gz",
- "node-v22.22.0-darwin-arm64",
- "5ed4db0fcf1eaf84d91ad12462631d73bf4576c1377e192d222e48026a902640"
- ],
- "22.22.0-darwin_amd64": [
- "node-v22.22.0-darwin-x64.tar.gz",
- "node-v22.22.0-darwin-x64",
- "5ea50c9d6dea3dfa3abb66b2656f7a4e1c8cef23432b558d45fb538c7b5dedce"
- ],
- "22.22.0-linux_arm64": [
- "node-v22.22.0-linux-arm64.tar.xz",
- "node-v22.22.0-linux-arm64",
- "1bf1eb9ee63ffc4e5d324c0b9b62cf4a289f44332dfef9607cea1a0d9596ba6f"
- ],
- "22.22.0-linux_ppc64le": [
- "node-v22.22.0-linux-ppc64le.tar.xz",
- "node-v22.22.0-linux-ppc64le",
- "d83b9957431cc18e1fc143a4b99f89cde7b8a18f53ef392231b4336afd058865"
- ],
- "22.22.0-linux_s390x": [
- "node-v22.22.0-linux-s390x.tar.xz",
- "node-v22.22.0-linux-s390x",
- "5aa0e520689448c4233e8d73f284e8e0634fdcd32b479735698494be5641f3e4"
- ],
- "22.22.0-linux_amd64": [
- "node-v22.22.0-linux-x64.tar.xz",
- "node-v22.22.0-linux-x64",
- "9aa8e9d2298ab68c600bd6fb86a6c13bce11a4eca1ba9b39d79fa021755d7c37"
- ],
- "22.22.0-windows_amd64": [
- "node-v22.22.0-win-x64.zip",
- "node-v22.22.0-win-x64",
- "c97fa376d2becdc8863fcd3ca2dd9a83a9f3468ee7ccf7a6d076ec66a645c77a"
+ "22.22.3-darwin_arm64": [
+ "node-v22.22.3-darwin-arm64.tar.gz",
+ "node-v22.22.3-darwin-arm64",
+ "0da7ff74ef8611328c8212f17943368713a2ad953fb7d89a8c8a0eae87c23207"
+ ],
+ "22.22.3-darwin_amd64": [
+ "node-v22.22.3-darwin-x64.tar.gz",
+ "node-v22.22.3-darwin-x64",
+ "45830ba752fa0d892c6dcd640946669801293cac820a33591ded40ac075198ec"
+ ],
+ "22.22.3-linux_arm64": [
+ "node-v22.22.3-linux-arm64.tar.xz",
+ "node-v22.22.3-linux-arm64",
+ "1c4a9933a5e45bc88f54f70b5f91232c127ec49f1a5989d23fb85824c7adf9b7"
+ ],
+ "22.22.3-linux_ppc64le": [
+ "node-v22.22.3-linux-ppc64le.tar.xz",
+ "node-v22.22.3-linux-ppc64le",
+ "edb5478071bd1375e80195ca52f72823998bb5141b1a09e68bc54b3e2eb67754"
+ ],
+ "22.22.3-linux_s390x": [
+ "node-v22.22.3-linux-s390x.tar.xz",
+ "node-v22.22.3-linux-s390x",
+ "ce398c057830d57a24c458177279a17bc51742d5c22dd4cbe97b10dbd43f2617"
+ ],
+ "22.22.3-linux_amd64": [
+ "node-v22.22.3-linux-x64.tar.xz",
+ "node-v22.22.3-linux-x64",
+ "2e5d13569282d016861fae7c8f935e741693c269101a5bebcf761a5376d1f99f"
+ ],
+ "22.22.3-windows_amd64": [
+ "node-v22.22.3-win-x64.zip",
+ "node-v22.22.3-win-x64",
+ "6c8d54f635feff4df76c2ca80f45332eb2ff57d25226edce36592e51a177ee33"
]
},
"node_urls": [
"https://nodejs.org/dist/v{version}/{filename}"
],
- "node_version": "22.22.0",
+ "node_version": "22.22.3",
"include_headers": false,
"platform": "linux_amd64"
}
@@ -1415,46 +1421,46 @@
"attributes": {
"node_download_auth": {},
"node_repositories": {
- "22.22.0-darwin_arm64": [
- "node-v22.22.0-darwin-arm64.tar.gz",
- "node-v22.22.0-darwin-arm64",
- "5ed4db0fcf1eaf84d91ad12462631d73bf4576c1377e192d222e48026a902640"
- ],
- "22.22.0-darwin_amd64": [
- "node-v22.22.0-darwin-x64.tar.gz",
- "node-v22.22.0-darwin-x64",
- "5ea50c9d6dea3dfa3abb66b2656f7a4e1c8cef23432b558d45fb538c7b5dedce"
- ],
- "22.22.0-linux_arm64": [
- "node-v22.22.0-linux-arm64.tar.xz",
- "node-v22.22.0-linux-arm64",
- "1bf1eb9ee63ffc4e5d324c0b9b62cf4a289f44332dfef9607cea1a0d9596ba6f"
- ],
- "22.22.0-linux_ppc64le": [
- "node-v22.22.0-linux-ppc64le.tar.xz",
- "node-v22.22.0-linux-ppc64le",
- "d83b9957431cc18e1fc143a4b99f89cde7b8a18f53ef392231b4336afd058865"
- ],
- "22.22.0-linux_s390x": [
- "node-v22.22.0-linux-s390x.tar.xz",
- "node-v22.22.0-linux-s390x",
- "5aa0e520689448c4233e8d73f284e8e0634fdcd32b479735698494be5641f3e4"
- ],
- "22.22.0-linux_amd64": [
- "node-v22.22.0-linux-x64.tar.xz",
- "node-v22.22.0-linux-x64",
- "9aa8e9d2298ab68c600bd6fb86a6c13bce11a4eca1ba9b39d79fa021755d7c37"
- ],
- "22.22.0-windows_amd64": [
- "node-v22.22.0-win-x64.zip",
- "node-v22.22.0-win-x64",
- "c97fa376d2becdc8863fcd3ca2dd9a83a9f3468ee7ccf7a6d076ec66a645c77a"
+ "22.22.3-darwin_arm64": [
+ "node-v22.22.3-darwin-arm64.tar.gz",
+ "node-v22.22.3-darwin-arm64",
+ "0da7ff74ef8611328c8212f17943368713a2ad953fb7d89a8c8a0eae87c23207"
+ ],
+ "22.22.3-darwin_amd64": [
+ "node-v22.22.3-darwin-x64.tar.gz",
+ "node-v22.22.3-darwin-x64",
+ "45830ba752fa0d892c6dcd640946669801293cac820a33591ded40ac075198ec"
+ ],
+ "22.22.3-linux_arm64": [
+ "node-v22.22.3-linux-arm64.tar.xz",
+ "node-v22.22.3-linux-arm64",
+ "1c4a9933a5e45bc88f54f70b5f91232c127ec49f1a5989d23fb85824c7adf9b7"
+ ],
+ "22.22.3-linux_ppc64le": [
+ "node-v22.22.3-linux-ppc64le.tar.xz",
+ "node-v22.22.3-linux-ppc64le",
+ "edb5478071bd1375e80195ca52f72823998bb5141b1a09e68bc54b3e2eb67754"
+ ],
+ "22.22.3-linux_s390x": [
+ "node-v22.22.3-linux-s390x.tar.xz",
+ "node-v22.22.3-linux-s390x",
+ "ce398c057830d57a24c458177279a17bc51742d5c22dd4cbe97b10dbd43f2617"
+ ],
+ "22.22.3-linux_amd64": [
+ "node-v22.22.3-linux-x64.tar.xz",
+ "node-v22.22.3-linux-x64",
+ "2e5d13569282d016861fae7c8f935e741693c269101a5bebcf761a5376d1f99f"
+ ],
+ "22.22.3-windows_amd64": [
+ "node-v22.22.3-win-x64.zip",
+ "node-v22.22.3-win-x64",
+ "6c8d54f635feff4df76c2ca80f45332eb2ff57d25226edce36592e51a177ee33"
]
},
"node_urls": [
"https://nodejs.org/dist/v{version}/{filename}"
],
- "node_version": "22.22.0",
+ "node_version": "22.22.3",
"include_headers": false,
"platform": "linux_arm64"
}
@@ -1464,46 +1470,46 @@
"attributes": {
"node_download_auth": {},
"node_repositories": {
- "22.22.0-darwin_arm64": [
- "node-v22.22.0-darwin-arm64.tar.gz",
- "node-v22.22.0-darwin-arm64",
- "5ed4db0fcf1eaf84d91ad12462631d73bf4576c1377e192d222e48026a902640"
- ],
- "22.22.0-darwin_amd64": [
- "node-v22.22.0-darwin-x64.tar.gz",
- "node-v22.22.0-darwin-x64",
- "5ea50c9d6dea3dfa3abb66b2656f7a4e1c8cef23432b558d45fb538c7b5dedce"
- ],
- "22.22.0-linux_arm64": [
- "node-v22.22.0-linux-arm64.tar.xz",
- "node-v22.22.0-linux-arm64",
- "1bf1eb9ee63ffc4e5d324c0b9b62cf4a289f44332dfef9607cea1a0d9596ba6f"
- ],
- "22.22.0-linux_ppc64le": [
- "node-v22.22.0-linux-ppc64le.tar.xz",
- "node-v22.22.0-linux-ppc64le",
- "d83b9957431cc18e1fc143a4b99f89cde7b8a18f53ef392231b4336afd058865"
- ],
- "22.22.0-linux_s390x": [
- "node-v22.22.0-linux-s390x.tar.xz",
- "node-v22.22.0-linux-s390x",
- "5aa0e520689448c4233e8d73f284e8e0634fdcd32b479735698494be5641f3e4"
- ],
- "22.22.0-linux_amd64": [
- "node-v22.22.0-linux-x64.tar.xz",
- "node-v22.22.0-linux-x64",
- "9aa8e9d2298ab68c600bd6fb86a6c13bce11a4eca1ba9b39d79fa021755d7c37"
- ],
- "22.22.0-windows_amd64": [
- "node-v22.22.0-win-x64.zip",
- "node-v22.22.0-win-x64",
- "c97fa376d2becdc8863fcd3ca2dd9a83a9f3468ee7ccf7a6d076ec66a645c77a"
+ "22.22.3-darwin_arm64": [
+ "node-v22.22.3-darwin-arm64.tar.gz",
+ "node-v22.22.3-darwin-arm64",
+ "0da7ff74ef8611328c8212f17943368713a2ad953fb7d89a8c8a0eae87c23207"
+ ],
+ "22.22.3-darwin_amd64": [
+ "node-v22.22.3-darwin-x64.tar.gz",
+ "node-v22.22.3-darwin-x64",
+ "45830ba752fa0d892c6dcd640946669801293cac820a33591ded40ac075198ec"
+ ],
+ "22.22.3-linux_arm64": [
+ "node-v22.22.3-linux-arm64.tar.xz",
+ "node-v22.22.3-linux-arm64",
+ "1c4a9933a5e45bc88f54f70b5f91232c127ec49f1a5989d23fb85824c7adf9b7"
+ ],
+ "22.22.3-linux_ppc64le": [
+ "node-v22.22.3-linux-ppc64le.tar.xz",
+ "node-v22.22.3-linux-ppc64le",
+ "edb5478071bd1375e80195ca52f72823998bb5141b1a09e68bc54b3e2eb67754"
+ ],
+ "22.22.3-linux_s390x": [
+ "node-v22.22.3-linux-s390x.tar.xz",
+ "node-v22.22.3-linux-s390x",
+ "ce398c057830d57a24c458177279a17bc51742d5c22dd4cbe97b10dbd43f2617"
+ ],
+ "22.22.3-linux_amd64": [
+ "node-v22.22.3-linux-x64.tar.xz",
+ "node-v22.22.3-linux-x64",
+ "2e5d13569282d016861fae7c8f935e741693c269101a5bebcf761a5376d1f99f"
+ ],
+ "22.22.3-windows_amd64": [
+ "node-v22.22.3-win-x64.zip",
+ "node-v22.22.3-win-x64",
+ "6c8d54f635feff4df76c2ca80f45332eb2ff57d25226edce36592e51a177ee33"
]
},
"node_urls": [
"https://nodejs.org/dist/v{version}/{filename}"
],
- "node_version": "22.22.0",
+ "node_version": "22.22.3",
"include_headers": false,
"platform": "linux_s390x"
}
@@ -1513,46 +1519,46 @@
"attributes": {
"node_download_auth": {},
"node_repositories": {
- "22.22.0-darwin_arm64": [
- "node-v22.22.0-darwin-arm64.tar.gz",
- "node-v22.22.0-darwin-arm64",
- "5ed4db0fcf1eaf84d91ad12462631d73bf4576c1377e192d222e48026a902640"
- ],
- "22.22.0-darwin_amd64": [
- "node-v22.22.0-darwin-x64.tar.gz",
- "node-v22.22.0-darwin-x64",
- "5ea50c9d6dea3dfa3abb66b2656f7a4e1c8cef23432b558d45fb538c7b5dedce"
- ],
- "22.22.0-linux_arm64": [
- "node-v22.22.0-linux-arm64.tar.xz",
- "node-v22.22.0-linux-arm64",
- "1bf1eb9ee63ffc4e5d324c0b9b62cf4a289f44332dfef9607cea1a0d9596ba6f"
- ],
- "22.22.0-linux_ppc64le": [
- "node-v22.22.0-linux-ppc64le.tar.xz",
- "node-v22.22.0-linux-ppc64le",
- "d83b9957431cc18e1fc143a4b99f89cde7b8a18f53ef392231b4336afd058865"
- ],
- "22.22.0-linux_s390x": [
- "node-v22.22.0-linux-s390x.tar.xz",
- "node-v22.22.0-linux-s390x",
- "5aa0e520689448c4233e8d73f284e8e0634fdcd32b479735698494be5641f3e4"
- ],
- "22.22.0-linux_amd64": [
- "node-v22.22.0-linux-x64.tar.xz",
- "node-v22.22.0-linux-x64",
- "9aa8e9d2298ab68c600bd6fb86a6c13bce11a4eca1ba9b39d79fa021755d7c37"
- ],
- "22.22.0-windows_amd64": [
- "node-v22.22.0-win-x64.zip",
- "node-v22.22.0-win-x64",
- "c97fa376d2becdc8863fcd3ca2dd9a83a9f3468ee7ccf7a6d076ec66a645c77a"
+ "22.22.3-darwin_arm64": [
+ "node-v22.22.3-darwin-arm64.tar.gz",
+ "node-v22.22.3-darwin-arm64",
+ "0da7ff74ef8611328c8212f17943368713a2ad953fb7d89a8c8a0eae87c23207"
+ ],
+ "22.22.3-darwin_amd64": [
+ "node-v22.22.3-darwin-x64.tar.gz",
+ "node-v22.22.3-darwin-x64",
+ "45830ba752fa0d892c6dcd640946669801293cac820a33591ded40ac075198ec"
+ ],
+ "22.22.3-linux_arm64": [
+ "node-v22.22.3-linux-arm64.tar.xz",
+ "node-v22.22.3-linux-arm64",
+ "1c4a9933a5e45bc88f54f70b5f91232c127ec49f1a5989d23fb85824c7adf9b7"
+ ],
+ "22.22.3-linux_ppc64le": [
+ "node-v22.22.3-linux-ppc64le.tar.xz",
+ "node-v22.22.3-linux-ppc64le",
+ "edb5478071bd1375e80195ca52f72823998bb5141b1a09e68bc54b3e2eb67754"
+ ],
+ "22.22.3-linux_s390x": [
+ "node-v22.22.3-linux-s390x.tar.xz",
+ "node-v22.22.3-linux-s390x",
+ "ce398c057830d57a24c458177279a17bc51742d5c22dd4cbe97b10dbd43f2617"
+ ],
+ "22.22.3-linux_amd64": [
+ "node-v22.22.3-linux-x64.tar.xz",
+ "node-v22.22.3-linux-x64",
+ "2e5d13569282d016861fae7c8f935e741693c269101a5bebcf761a5376d1f99f"
+ ],
+ "22.22.3-windows_amd64": [
+ "node-v22.22.3-win-x64.zip",
+ "node-v22.22.3-win-x64",
+ "6c8d54f635feff4df76c2ca80f45332eb2ff57d25226edce36592e51a177ee33"
]
},
"node_urls": [
"https://nodejs.org/dist/v{version}/{filename}"
],
- "node_version": "22.22.0",
+ "node_version": "22.22.3",
"include_headers": false,
"platform": "linux_ppc64le"
}
@@ -1562,46 +1568,46 @@
"attributes": {
"node_download_auth": {},
"node_repositories": {
- "22.22.0-darwin_arm64": [
- "node-v22.22.0-darwin-arm64.tar.gz",
- "node-v22.22.0-darwin-arm64",
- "5ed4db0fcf1eaf84d91ad12462631d73bf4576c1377e192d222e48026a902640"
- ],
- "22.22.0-darwin_amd64": [
- "node-v22.22.0-darwin-x64.tar.gz",
- "node-v22.22.0-darwin-x64",
- "5ea50c9d6dea3dfa3abb66b2656f7a4e1c8cef23432b558d45fb538c7b5dedce"
- ],
- "22.22.0-linux_arm64": [
- "node-v22.22.0-linux-arm64.tar.xz",
- "node-v22.22.0-linux-arm64",
- "1bf1eb9ee63ffc4e5d324c0b9b62cf4a289f44332dfef9607cea1a0d9596ba6f"
- ],
- "22.22.0-linux_ppc64le": [
- "node-v22.22.0-linux-ppc64le.tar.xz",
- "node-v22.22.0-linux-ppc64le",
- "d83b9957431cc18e1fc143a4b99f89cde7b8a18f53ef392231b4336afd058865"
- ],
- "22.22.0-linux_s390x": [
- "node-v22.22.0-linux-s390x.tar.xz",
- "node-v22.22.0-linux-s390x",
- "5aa0e520689448c4233e8d73f284e8e0634fdcd32b479735698494be5641f3e4"
- ],
- "22.22.0-linux_amd64": [
- "node-v22.22.0-linux-x64.tar.xz",
- "node-v22.22.0-linux-x64",
- "9aa8e9d2298ab68c600bd6fb86a6c13bce11a4eca1ba9b39d79fa021755d7c37"
- ],
- "22.22.0-windows_amd64": [
- "node-v22.22.0-win-x64.zip",
- "node-v22.22.0-win-x64",
- "c97fa376d2becdc8863fcd3ca2dd9a83a9f3468ee7ccf7a6d076ec66a645c77a"
+ "22.22.3-darwin_arm64": [
+ "node-v22.22.3-darwin-arm64.tar.gz",
+ "node-v22.22.3-darwin-arm64",
+ "0da7ff74ef8611328c8212f17943368713a2ad953fb7d89a8c8a0eae87c23207"
+ ],
+ "22.22.3-darwin_amd64": [
+ "node-v22.22.3-darwin-x64.tar.gz",
+ "node-v22.22.3-darwin-x64",
+ "45830ba752fa0d892c6dcd640946669801293cac820a33591ded40ac075198ec"
+ ],
+ "22.22.3-linux_arm64": [
+ "node-v22.22.3-linux-arm64.tar.xz",
+ "node-v22.22.3-linux-arm64",
+ "1c4a9933a5e45bc88f54f70b5f91232c127ec49f1a5989d23fb85824c7adf9b7"
+ ],
+ "22.22.3-linux_ppc64le": [
+ "node-v22.22.3-linux-ppc64le.tar.xz",
+ "node-v22.22.3-linux-ppc64le",
+ "edb5478071bd1375e80195ca52f72823998bb5141b1a09e68bc54b3e2eb67754"
+ ],
+ "22.22.3-linux_s390x": [
+ "node-v22.22.3-linux-s390x.tar.xz",
+ "node-v22.22.3-linux-s390x",
+ "ce398c057830d57a24c458177279a17bc51742d5c22dd4cbe97b10dbd43f2617"
+ ],
+ "22.22.3-linux_amd64": [
+ "node-v22.22.3-linux-x64.tar.xz",
+ "node-v22.22.3-linux-x64",
+ "2e5d13569282d016861fae7c8f935e741693c269101a5bebcf761a5376d1f99f"
+ ],
+ "22.22.3-windows_amd64": [
+ "node-v22.22.3-win-x64.zip",
+ "node-v22.22.3-win-x64",
+ "6c8d54f635feff4df76c2ca80f45332eb2ff57d25226edce36592e51a177ee33"
]
},
"node_urls": [
"https://nodejs.org/dist/v{version}/{filename}"
],
- "node_version": "22.22.0",
+ "node_version": "22.22.3",
"include_headers": false,
"platform": "darwin_amd64"
}
@@ -1611,46 +1617,46 @@
"attributes": {
"node_download_auth": {},
"node_repositories": {
- "22.22.0-darwin_arm64": [
- "node-v22.22.0-darwin-arm64.tar.gz",
- "node-v22.22.0-darwin-arm64",
- "5ed4db0fcf1eaf84d91ad12462631d73bf4576c1377e192d222e48026a902640"
- ],
- "22.22.0-darwin_amd64": [
- "node-v22.22.0-darwin-x64.tar.gz",
- "node-v22.22.0-darwin-x64",
- "5ea50c9d6dea3dfa3abb66b2656f7a4e1c8cef23432b558d45fb538c7b5dedce"
- ],
- "22.22.0-linux_arm64": [
- "node-v22.22.0-linux-arm64.tar.xz",
- "node-v22.22.0-linux-arm64",
- "1bf1eb9ee63ffc4e5d324c0b9b62cf4a289f44332dfef9607cea1a0d9596ba6f"
- ],
- "22.22.0-linux_ppc64le": [
- "node-v22.22.0-linux-ppc64le.tar.xz",
- "node-v22.22.0-linux-ppc64le",
- "d83b9957431cc18e1fc143a4b99f89cde7b8a18f53ef392231b4336afd058865"
- ],
- "22.22.0-linux_s390x": [
- "node-v22.22.0-linux-s390x.tar.xz",
- "node-v22.22.0-linux-s390x",
- "5aa0e520689448c4233e8d73f284e8e0634fdcd32b479735698494be5641f3e4"
- ],
- "22.22.0-linux_amd64": [
- "node-v22.22.0-linux-x64.tar.xz",
- "node-v22.22.0-linux-x64",
- "9aa8e9d2298ab68c600bd6fb86a6c13bce11a4eca1ba9b39d79fa021755d7c37"
- ],
- "22.22.0-windows_amd64": [
- "node-v22.22.0-win-x64.zip",
- "node-v22.22.0-win-x64",
- "c97fa376d2becdc8863fcd3ca2dd9a83a9f3468ee7ccf7a6d076ec66a645c77a"
+ "22.22.3-darwin_arm64": [
+ "node-v22.22.3-darwin-arm64.tar.gz",
+ "node-v22.22.3-darwin-arm64",
+ "0da7ff74ef8611328c8212f17943368713a2ad953fb7d89a8c8a0eae87c23207"
+ ],
+ "22.22.3-darwin_amd64": [
+ "node-v22.22.3-darwin-x64.tar.gz",
+ "node-v22.22.3-darwin-x64",
+ "45830ba752fa0d892c6dcd640946669801293cac820a33591ded40ac075198ec"
+ ],
+ "22.22.3-linux_arm64": [
+ "node-v22.22.3-linux-arm64.tar.xz",
+ "node-v22.22.3-linux-arm64",
+ "1c4a9933a5e45bc88f54f70b5f91232c127ec49f1a5989d23fb85824c7adf9b7"
+ ],
+ "22.22.3-linux_ppc64le": [
+ "node-v22.22.3-linux-ppc64le.tar.xz",
+ "node-v22.22.3-linux-ppc64le",
+ "edb5478071bd1375e80195ca52f72823998bb5141b1a09e68bc54b3e2eb67754"
+ ],
+ "22.22.3-linux_s390x": [
+ "node-v22.22.3-linux-s390x.tar.xz",
+ "node-v22.22.3-linux-s390x",
+ "ce398c057830d57a24c458177279a17bc51742d5c22dd4cbe97b10dbd43f2617"
+ ],
+ "22.22.3-linux_amd64": [
+ "node-v22.22.3-linux-x64.tar.xz",
+ "node-v22.22.3-linux-x64",
+ "2e5d13569282d016861fae7c8f935e741693c269101a5bebcf761a5376d1f99f"
+ ],
+ "22.22.3-windows_amd64": [
+ "node-v22.22.3-win-x64.zip",
+ "node-v22.22.3-win-x64",
+ "6c8d54f635feff4df76c2ca80f45332eb2ff57d25226edce36592e51a177ee33"
]
},
"node_urls": [
"https://nodejs.org/dist/v{version}/{filename}"
],
- "node_version": "22.22.0",
+ "node_version": "22.22.3",
"include_headers": false,
"platform": "darwin_arm64"
}
@@ -1660,46 +1666,46 @@
"attributes": {
"node_download_auth": {},
"node_repositories": {
- "22.22.0-darwin_arm64": [
- "node-v22.22.0-darwin-arm64.tar.gz",
- "node-v22.22.0-darwin-arm64",
- "5ed4db0fcf1eaf84d91ad12462631d73bf4576c1377e192d222e48026a902640"
- ],
- "22.22.0-darwin_amd64": [
- "node-v22.22.0-darwin-x64.tar.gz",
- "node-v22.22.0-darwin-x64",
- "5ea50c9d6dea3dfa3abb66b2656f7a4e1c8cef23432b558d45fb538c7b5dedce"
- ],
- "22.22.0-linux_arm64": [
- "node-v22.22.0-linux-arm64.tar.xz",
- "node-v22.22.0-linux-arm64",
- "1bf1eb9ee63ffc4e5d324c0b9b62cf4a289f44332dfef9607cea1a0d9596ba6f"
- ],
- "22.22.0-linux_ppc64le": [
- "node-v22.22.0-linux-ppc64le.tar.xz",
- "node-v22.22.0-linux-ppc64le",
- "d83b9957431cc18e1fc143a4b99f89cde7b8a18f53ef392231b4336afd058865"
- ],
- "22.22.0-linux_s390x": [
- "node-v22.22.0-linux-s390x.tar.xz",
- "node-v22.22.0-linux-s390x",
- "5aa0e520689448c4233e8d73f284e8e0634fdcd32b479735698494be5641f3e4"
- ],
- "22.22.0-linux_amd64": [
- "node-v22.22.0-linux-x64.tar.xz",
- "node-v22.22.0-linux-x64",
- "9aa8e9d2298ab68c600bd6fb86a6c13bce11a4eca1ba9b39d79fa021755d7c37"
- ],
- "22.22.0-windows_amd64": [
- "node-v22.22.0-win-x64.zip",
- "node-v22.22.0-win-x64",
- "c97fa376d2becdc8863fcd3ca2dd9a83a9f3468ee7ccf7a6d076ec66a645c77a"
+ "22.22.3-darwin_arm64": [
+ "node-v22.22.3-darwin-arm64.tar.gz",
+ "node-v22.22.3-darwin-arm64",
+ "0da7ff74ef8611328c8212f17943368713a2ad953fb7d89a8c8a0eae87c23207"
+ ],
+ "22.22.3-darwin_amd64": [
+ "node-v22.22.3-darwin-x64.tar.gz",
+ "node-v22.22.3-darwin-x64",
+ "45830ba752fa0d892c6dcd640946669801293cac820a33591ded40ac075198ec"
+ ],
+ "22.22.3-linux_arm64": [
+ "node-v22.22.3-linux-arm64.tar.xz",
+ "node-v22.22.3-linux-arm64",
+ "1c4a9933a5e45bc88f54f70b5f91232c127ec49f1a5989d23fb85824c7adf9b7"
+ ],
+ "22.22.3-linux_ppc64le": [
+ "node-v22.22.3-linux-ppc64le.tar.xz",
+ "node-v22.22.3-linux-ppc64le",
+ "edb5478071bd1375e80195ca52f72823998bb5141b1a09e68bc54b3e2eb67754"
+ ],
+ "22.22.3-linux_s390x": [
+ "node-v22.22.3-linux-s390x.tar.xz",
+ "node-v22.22.3-linux-s390x",
+ "ce398c057830d57a24c458177279a17bc51742d5c22dd4cbe97b10dbd43f2617"
+ ],
+ "22.22.3-linux_amd64": [
+ "node-v22.22.3-linux-x64.tar.xz",
+ "node-v22.22.3-linux-x64",
+ "2e5d13569282d016861fae7c8f935e741693c269101a5bebcf761a5376d1f99f"
+ ],
+ "22.22.3-windows_amd64": [
+ "node-v22.22.3-win-x64.zip",
+ "node-v22.22.3-win-x64",
+ "6c8d54f635feff4df76c2ca80f45332eb2ff57d25226edce36592e51a177ee33"
]
},
"node_urls": [
"https://nodejs.org/dist/v{version}/{filename}"
],
- "node_version": "22.22.0",
+ "node_version": "22.22.3",
"include_headers": false,
"platform": "windows_amd64"
}
@@ -1709,46 +1715,46 @@
"attributes": {
"node_download_auth": {},
"node_repositories": {
- "22.22.0-darwin_arm64": [
- "node-v22.22.0-darwin-arm64.tar.gz",
- "node-v22.22.0-darwin-arm64",
- "5ed4db0fcf1eaf84d91ad12462631d73bf4576c1377e192d222e48026a902640"
- ],
- "22.22.0-darwin_amd64": [
- "node-v22.22.0-darwin-x64.tar.gz",
- "node-v22.22.0-darwin-x64",
- "5ea50c9d6dea3dfa3abb66b2656f7a4e1c8cef23432b558d45fb538c7b5dedce"
- ],
- "22.22.0-linux_arm64": [
- "node-v22.22.0-linux-arm64.tar.xz",
- "node-v22.22.0-linux-arm64",
- "1bf1eb9ee63ffc4e5d324c0b9b62cf4a289f44332dfef9607cea1a0d9596ba6f"
- ],
- "22.22.0-linux_ppc64le": [
- "node-v22.22.0-linux-ppc64le.tar.xz",
- "node-v22.22.0-linux-ppc64le",
- "d83b9957431cc18e1fc143a4b99f89cde7b8a18f53ef392231b4336afd058865"
- ],
- "22.22.0-linux_s390x": [
- "node-v22.22.0-linux-s390x.tar.xz",
- "node-v22.22.0-linux-s390x",
- "5aa0e520689448c4233e8d73f284e8e0634fdcd32b479735698494be5641f3e4"
- ],
- "22.22.0-linux_amd64": [
- "node-v22.22.0-linux-x64.tar.xz",
- "node-v22.22.0-linux-x64",
- "9aa8e9d2298ab68c600bd6fb86a6c13bce11a4eca1ba9b39d79fa021755d7c37"
- ],
- "22.22.0-windows_amd64": [
- "node-v22.22.0-win-x64.zip",
- "node-v22.22.0-win-x64",
- "c97fa376d2becdc8863fcd3ca2dd9a83a9f3468ee7ccf7a6d076ec66a645c77a"
+ "22.22.3-darwin_arm64": [
+ "node-v22.22.3-darwin-arm64.tar.gz",
+ "node-v22.22.3-darwin-arm64",
+ "0da7ff74ef8611328c8212f17943368713a2ad953fb7d89a8c8a0eae87c23207"
+ ],
+ "22.22.3-darwin_amd64": [
+ "node-v22.22.3-darwin-x64.tar.gz",
+ "node-v22.22.3-darwin-x64",
+ "45830ba752fa0d892c6dcd640946669801293cac820a33591ded40ac075198ec"
+ ],
+ "22.22.3-linux_arm64": [
+ "node-v22.22.3-linux-arm64.tar.xz",
+ "node-v22.22.3-linux-arm64",
+ "1c4a9933a5e45bc88f54f70b5f91232c127ec49f1a5989d23fb85824c7adf9b7"
+ ],
+ "22.22.3-linux_ppc64le": [
+ "node-v22.22.3-linux-ppc64le.tar.xz",
+ "node-v22.22.3-linux-ppc64le",
+ "edb5478071bd1375e80195ca52f72823998bb5141b1a09e68bc54b3e2eb67754"
+ ],
+ "22.22.3-linux_s390x": [
+ "node-v22.22.3-linux-s390x.tar.xz",
+ "node-v22.22.3-linux-s390x",
+ "ce398c057830d57a24c458177279a17bc51742d5c22dd4cbe97b10dbd43f2617"
+ ],
+ "22.22.3-linux_amd64": [
+ "node-v22.22.3-linux-x64.tar.xz",
+ "node-v22.22.3-linux-x64",
+ "2e5d13569282d016861fae7c8f935e741693c269101a5bebcf761a5376d1f99f"
+ ],
+ "22.22.3-windows_amd64": [
+ "node-v22.22.3-win-x64.zip",
+ "node-v22.22.3-win-x64",
+ "6c8d54f635feff4df76c2ca80f45332eb2ff57d25226edce36592e51a177ee33"
]
},
"node_urls": [
"https://nodejs.org/dist/v{version}/{filename}"
],
- "node_version": "22.22.0",
+ "node_version": "22.22.3",
"include_headers": false,
"platform": "windows_arm64"
}
@@ -1776,46 +1782,46 @@
"attributes": {
"node_download_auth": {},
"node_repositories": {
- "24.13.1-darwin_arm64": [
- "node-v24.13.1-darwin-arm64.tar.gz",
- "node-v24.13.1-darwin-arm64",
- "8c039d59f2fec6195e4281ad5b0d02b9a940897b4df7b849c6fb48be6787bba6"
- ],
- "24.13.1-darwin_amd64": [
- "node-v24.13.1-darwin-x64.tar.gz",
- "node-v24.13.1-darwin-x64",
- "527f0578d9812e7dfa225121bda0b1546a6a0e4b5f556295fc8299c272de5fbf"
- ],
- "24.13.1-linux_arm64": [
- "node-v24.13.1-linux-arm64.tar.xz",
- "node-v24.13.1-linux-arm64",
- "c827d3d301e2eed1a51f36d0116b71b9e3d9e3b728f081615270ea40faac34c1"
- ],
- "24.13.1-linux_ppc64le": [
- "node-v24.13.1-linux-ppc64le.tar.xz",
- "node-v24.13.1-linux-ppc64le",
- "fb712a08d317655dbf776c90f60ac2105109d802e33811df6c9ed33d12f801c6"
- ],
- "24.13.1-linux_s390x": [
- "node-v24.13.1-linux-s390x.tar.xz",
- "node-v24.13.1-linux-s390x",
- "8e2c0d9b5545c3db22623e8cb8d6f0c28fcd470f29d32dbeabf9432dda289de2"
- ],
- "24.13.1-linux_amd64": [
- "node-v24.13.1-linux-x64.tar.xz",
- "node-v24.13.1-linux-x64",
- "30215f90ea3cd04dfbc06e762c021393fa173a1d392974298bbc871a8e461089"
- ],
- "24.13.1-windows_amd64": [
- "node-v24.13.1-win-x64.zip",
- "node-v24.13.1-win-x64",
- "fba577c4bb87df04d54dd87bbdaa5a2272f1f99a2acbf9152e1a91b8b5f0b279"
+ "24.15.0-darwin_arm64": [
+ "node-v24.15.0-darwin-arm64.tar.gz",
+ "node-v24.15.0-darwin-arm64",
+ "372331b969779ab5d15b949884fc6eaf88d5afe87bde8ba881d6400b9100ffc4"
+ ],
+ "24.15.0-darwin_amd64": [
+ "node-v24.15.0-darwin-x64.tar.gz",
+ "node-v24.15.0-darwin-x64",
+ "ffd5ee293467927f3ee731a553eb88fd1f48cf74eebc2d74a6babe4af228673b"
+ ],
+ "24.15.0-linux_arm64": [
+ "node-v24.15.0-linux-arm64.tar.xz",
+ "node-v24.15.0-linux-arm64",
+ "f3d5a797b5d210ce8e2cb265544c8e482eaedcb8aa409a8b46da7e8595d0dda0"
+ ],
+ "24.15.0-linux_ppc64le": [
+ "node-v24.15.0-linux-ppc64le.tar.xz",
+ "node-v24.15.0-linux-ppc64le",
+ "6a6560a27bd2817013c28c3d917bfe9eebf26bbd4b1d88475190f216cc411fbb"
+ ],
+ "24.15.0-linux_s390x": [
+ "node-v24.15.0-linux-s390x.tar.xz",
+ "node-v24.15.0-linux-s390x",
+ "940d4cbfadf736b34519630a05d144c09f8a5aca291a802f2f559ee1562f6f24"
+ ],
+ "24.15.0-linux_amd64": [
+ "node-v24.15.0-linux-x64.tar.xz",
+ "node-v24.15.0-linux-x64",
+ "472655581fb851559730c48763e0c9d3bc25975c59d518003fc0849d3e4ba0f6"
+ ],
+ "24.15.0-windows_amd64": [
+ "node-v24.15.0-win-x64.zip",
+ "node-v24.15.0-win-x64",
+ "cc5149eabd53779ce1e7bdc5401643622d0c7e6800ade18928a767e940bb0e62"
]
},
"node_urls": [
"https://nodejs.org/dist/v{version}/{filename}"
],
- "node_version": "24.13.1",
+ "node_version": "24.15.0",
"include_headers": false,
"platform": "linux_amd64"
}
@@ -1825,46 +1831,46 @@
"attributes": {
"node_download_auth": {},
"node_repositories": {
- "24.13.1-darwin_arm64": [
- "node-v24.13.1-darwin-arm64.tar.gz",
- "node-v24.13.1-darwin-arm64",
- "8c039d59f2fec6195e4281ad5b0d02b9a940897b4df7b849c6fb48be6787bba6"
- ],
- "24.13.1-darwin_amd64": [
- "node-v24.13.1-darwin-x64.tar.gz",
- "node-v24.13.1-darwin-x64",
- "527f0578d9812e7dfa225121bda0b1546a6a0e4b5f556295fc8299c272de5fbf"
- ],
- "24.13.1-linux_arm64": [
- "node-v24.13.1-linux-arm64.tar.xz",
- "node-v24.13.1-linux-arm64",
- "c827d3d301e2eed1a51f36d0116b71b9e3d9e3b728f081615270ea40faac34c1"
- ],
- "24.13.1-linux_ppc64le": [
- "node-v24.13.1-linux-ppc64le.tar.xz",
- "node-v24.13.1-linux-ppc64le",
- "fb712a08d317655dbf776c90f60ac2105109d802e33811df6c9ed33d12f801c6"
- ],
- "24.13.1-linux_s390x": [
- "node-v24.13.1-linux-s390x.tar.xz",
- "node-v24.13.1-linux-s390x",
- "8e2c0d9b5545c3db22623e8cb8d6f0c28fcd470f29d32dbeabf9432dda289de2"
- ],
- "24.13.1-linux_amd64": [
- "node-v24.13.1-linux-x64.tar.xz",
- "node-v24.13.1-linux-x64",
- "30215f90ea3cd04dfbc06e762c021393fa173a1d392974298bbc871a8e461089"
- ],
- "24.13.1-windows_amd64": [
- "node-v24.13.1-win-x64.zip",
- "node-v24.13.1-win-x64",
- "fba577c4bb87df04d54dd87bbdaa5a2272f1f99a2acbf9152e1a91b8b5f0b279"
+ "24.15.0-darwin_arm64": [
+ "node-v24.15.0-darwin-arm64.tar.gz",
+ "node-v24.15.0-darwin-arm64",
+ "372331b969779ab5d15b949884fc6eaf88d5afe87bde8ba881d6400b9100ffc4"
+ ],
+ "24.15.0-darwin_amd64": [
+ "node-v24.15.0-darwin-x64.tar.gz",
+ "node-v24.15.0-darwin-x64",
+ "ffd5ee293467927f3ee731a553eb88fd1f48cf74eebc2d74a6babe4af228673b"
+ ],
+ "24.15.0-linux_arm64": [
+ "node-v24.15.0-linux-arm64.tar.xz",
+ "node-v24.15.0-linux-arm64",
+ "f3d5a797b5d210ce8e2cb265544c8e482eaedcb8aa409a8b46da7e8595d0dda0"
+ ],
+ "24.15.0-linux_ppc64le": [
+ "node-v24.15.0-linux-ppc64le.tar.xz",
+ "node-v24.15.0-linux-ppc64le",
+ "6a6560a27bd2817013c28c3d917bfe9eebf26bbd4b1d88475190f216cc411fbb"
+ ],
+ "24.15.0-linux_s390x": [
+ "node-v24.15.0-linux-s390x.tar.xz",
+ "node-v24.15.0-linux-s390x",
+ "940d4cbfadf736b34519630a05d144c09f8a5aca291a802f2f559ee1562f6f24"
+ ],
+ "24.15.0-linux_amd64": [
+ "node-v24.15.0-linux-x64.tar.xz",
+ "node-v24.15.0-linux-x64",
+ "472655581fb851559730c48763e0c9d3bc25975c59d518003fc0849d3e4ba0f6"
+ ],
+ "24.15.0-windows_amd64": [
+ "node-v24.15.0-win-x64.zip",
+ "node-v24.15.0-win-x64",
+ "cc5149eabd53779ce1e7bdc5401643622d0c7e6800ade18928a767e940bb0e62"
]
},
"node_urls": [
"https://nodejs.org/dist/v{version}/{filename}"
],
- "node_version": "24.13.1",
+ "node_version": "24.15.0",
"include_headers": false,
"platform": "linux_arm64"
}
@@ -1874,46 +1880,46 @@
"attributes": {
"node_download_auth": {},
"node_repositories": {
- "24.13.1-darwin_arm64": [
- "node-v24.13.1-darwin-arm64.tar.gz",
- "node-v24.13.1-darwin-arm64",
- "8c039d59f2fec6195e4281ad5b0d02b9a940897b4df7b849c6fb48be6787bba6"
- ],
- "24.13.1-darwin_amd64": [
- "node-v24.13.1-darwin-x64.tar.gz",
- "node-v24.13.1-darwin-x64",
- "527f0578d9812e7dfa225121bda0b1546a6a0e4b5f556295fc8299c272de5fbf"
- ],
- "24.13.1-linux_arm64": [
- "node-v24.13.1-linux-arm64.tar.xz",
- "node-v24.13.1-linux-arm64",
- "c827d3d301e2eed1a51f36d0116b71b9e3d9e3b728f081615270ea40faac34c1"
- ],
- "24.13.1-linux_ppc64le": [
- "node-v24.13.1-linux-ppc64le.tar.xz",
- "node-v24.13.1-linux-ppc64le",
- "fb712a08d317655dbf776c90f60ac2105109d802e33811df6c9ed33d12f801c6"
- ],
- "24.13.1-linux_s390x": [
- "node-v24.13.1-linux-s390x.tar.xz",
- "node-v24.13.1-linux-s390x",
- "8e2c0d9b5545c3db22623e8cb8d6f0c28fcd470f29d32dbeabf9432dda289de2"
- ],
- "24.13.1-linux_amd64": [
- "node-v24.13.1-linux-x64.tar.xz",
- "node-v24.13.1-linux-x64",
- "30215f90ea3cd04dfbc06e762c021393fa173a1d392974298bbc871a8e461089"
- ],
- "24.13.1-windows_amd64": [
- "node-v24.13.1-win-x64.zip",
- "node-v24.13.1-win-x64",
- "fba577c4bb87df04d54dd87bbdaa5a2272f1f99a2acbf9152e1a91b8b5f0b279"
+ "24.15.0-darwin_arm64": [
+ "node-v24.15.0-darwin-arm64.tar.gz",
+ "node-v24.15.0-darwin-arm64",
+ "372331b969779ab5d15b949884fc6eaf88d5afe87bde8ba881d6400b9100ffc4"
+ ],
+ "24.15.0-darwin_amd64": [
+ "node-v24.15.0-darwin-x64.tar.gz",
+ "node-v24.15.0-darwin-x64",
+ "ffd5ee293467927f3ee731a553eb88fd1f48cf74eebc2d74a6babe4af228673b"
+ ],
+ "24.15.0-linux_arm64": [
+ "node-v24.15.0-linux-arm64.tar.xz",
+ "node-v24.15.0-linux-arm64",
+ "f3d5a797b5d210ce8e2cb265544c8e482eaedcb8aa409a8b46da7e8595d0dda0"
+ ],
+ "24.15.0-linux_ppc64le": [
+ "node-v24.15.0-linux-ppc64le.tar.xz",
+ "node-v24.15.0-linux-ppc64le",
+ "6a6560a27bd2817013c28c3d917bfe9eebf26bbd4b1d88475190f216cc411fbb"
+ ],
+ "24.15.0-linux_s390x": [
+ "node-v24.15.0-linux-s390x.tar.xz",
+ "node-v24.15.0-linux-s390x",
+ "940d4cbfadf736b34519630a05d144c09f8a5aca291a802f2f559ee1562f6f24"
+ ],
+ "24.15.0-linux_amd64": [
+ "node-v24.15.0-linux-x64.tar.xz",
+ "node-v24.15.0-linux-x64",
+ "472655581fb851559730c48763e0c9d3bc25975c59d518003fc0849d3e4ba0f6"
+ ],
+ "24.15.0-windows_amd64": [
+ "node-v24.15.0-win-x64.zip",
+ "node-v24.15.0-win-x64",
+ "cc5149eabd53779ce1e7bdc5401643622d0c7e6800ade18928a767e940bb0e62"
]
},
"node_urls": [
"https://nodejs.org/dist/v{version}/{filename}"
],
- "node_version": "24.13.1",
+ "node_version": "24.15.0",
"include_headers": false,
"platform": "linux_s390x"
}
@@ -1923,46 +1929,46 @@
"attributes": {
"node_download_auth": {},
"node_repositories": {
- "24.13.1-darwin_arm64": [
- "node-v24.13.1-darwin-arm64.tar.gz",
- "node-v24.13.1-darwin-arm64",
- "8c039d59f2fec6195e4281ad5b0d02b9a940897b4df7b849c6fb48be6787bba6"
- ],
- "24.13.1-darwin_amd64": [
- "node-v24.13.1-darwin-x64.tar.gz",
- "node-v24.13.1-darwin-x64",
- "527f0578d9812e7dfa225121bda0b1546a6a0e4b5f556295fc8299c272de5fbf"
- ],
- "24.13.1-linux_arm64": [
- "node-v24.13.1-linux-arm64.tar.xz",
- "node-v24.13.1-linux-arm64",
- "c827d3d301e2eed1a51f36d0116b71b9e3d9e3b728f081615270ea40faac34c1"
- ],
- "24.13.1-linux_ppc64le": [
- "node-v24.13.1-linux-ppc64le.tar.xz",
- "node-v24.13.1-linux-ppc64le",
- "fb712a08d317655dbf776c90f60ac2105109d802e33811df6c9ed33d12f801c6"
- ],
- "24.13.1-linux_s390x": [
- "node-v24.13.1-linux-s390x.tar.xz",
- "node-v24.13.1-linux-s390x",
- "8e2c0d9b5545c3db22623e8cb8d6f0c28fcd470f29d32dbeabf9432dda289de2"
- ],
- "24.13.1-linux_amd64": [
- "node-v24.13.1-linux-x64.tar.xz",
- "node-v24.13.1-linux-x64",
- "30215f90ea3cd04dfbc06e762c021393fa173a1d392974298bbc871a8e461089"
- ],
- "24.13.1-windows_amd64": [
- "node-v24.13.1-win-x64.zip",
- "node-v24.13.1-win-x64",
- "fba577c4bb87df04d54dd87bbdaa5a2272f1f99a2acbf9152e1a91b8b5f0b279"
+ "24.15.0-darwin_arm64": [
+ "node-v24.15.0-darwin-arm64.tar.gz",
+ "node-v24.15.0-darwin-arm64",
+ "372331b969779ab5d15b949884fc6eaf88d5afe87bde8ba881d6400b9100ffc4"
+ ],
+ "24.15.0-darwin_amd64": [
+ "node-v24.15.0-darwin-x64.tar.gz",
+ "node-v24.15.0-darwin-x64",
+ "ffd5ee293467927f3ee731a553eb88fd1f48cf74eebc2d74a6babe4af228673b"
+ ],
+ "24.15.0-linux_arm64": [
+ "node-v24.15.0-linux-arm64.tar.xz",
+ "node-v24.15.0-linux-arm64",
+ "f3d5a797b5d210ce8e2cb265544c8e482eaedcb8aa409a8b46da7e8595d0dda0"
+ ],
+ "24.15.0-linux_ppc64le": [
+ "node-v24.15.0-linux-ppc64le.tar.xz",
+ "node-v24.15.0-linux-ppc64le",
+ "6a6560a27bd2817013c28c3d917bfe9eebf26bbd4b1d88475190f216cc411fbb"
+ ],
+ "24.15.0-linux_s390x": [
+ "node-v24.15.0-linux-s390x.tar.xz",
+ "node-v24.15.0-linux-s390x",
+ "940d4cbfadf736b34519630a05d144c09f8a5aca291a802f2f559ee1562f6f24"
+ ],
+ "24.15.0-linux_amd64": [
+ "node-v24.15.0-linux-x64.tar.xz",
+ "node-v24.15.0-linux-x64",
+ "472655581fb851559730c48763e0c9d3bc25975c59d518003fc0849d3e4ba0f6"
+ ],
+ "24.15.0-windows_amd64": [
+ "node-v24.15.0-win-x64.zip",
+ "node-v24.15.0-win-x64",
+ "cc5149eabd53779ce1e7bdc5401643622d0c7e6800ade18928a767e940bb0e62"
]
},
"node_urls": [
"https://nodejs.org/dist/v{version}/{filename}"
],
- "node_version": "24.13.1",
+ "node_version": "24.15.0",
"include_headers": false,
"platform": "linux_ppc64le"
}
@@ -1972,46 +1978,46 @@
"attributes": {
"node_download_auth": {},
"node_repositories": {
- "24.13.1-darwin_arm64": [
- "node-v24.13.1-darwin-arm64.tar.gz",
- "node-v24.13.1-darwin-arm64",
- "8c039d59f2fec6195e4281ad5b0d02b9a940897b4df7b849c6fb48be6787bba6"
- ],
- "24.13.1-darwin_amd64": [
- "node-v24.13.1-darwin-x64.tar.gz",
- "node-v24.13.1-darwin-x64",
- "527f0578d9812e7dfa225121bda0b1546a6a0e4b5f556295fc8299c272de5fbf"
- ],
- "24.13.1-linux_arm64": [
- "node-v24.13.1-linux-arm64.tar.xz",
- "node-v24.13.1-linux-arm64",
- "c827d3d301e2eed1a51f36d0116b71b9e3d9e3b728f081615270ea40faac34c1"
- ],
- "24.13.1-linux_ppc64le": [
- "node-v24.13.1-linux-ppc64le.tar.xz",
- "node-v24.13.1-linux-ppc64le",
- "fb712a08d317655dbf776c90f60ac2105109d802e33811df6c9ed33d12f801c6"
- ],
- "24.13.1-linux_s390x": [
- "node-v24.13.1-linux-s390x.tar.xz",
- "node-v24.13.1-linux-s390x",
- "8e2c0d9b5545c3db22623e8cb8d6f0c28fcd470f29d32dbeabf9432dda289de2"
- ],
- "24.13.1-linux_amd64": [
- "node-v24.13.1-linux-x64.tar.xz",
- "node-v24.13.1-linux-x64",
- "30215f90ea3cd04dfbc06e762c021393fa173a1d392974298bbc871a8e461089"
- ],
- "24.13.1-windows_amd64": [
- "node-v24.13.1-win-x64.zip",
- "node-v24.13.1-win-x64",
- "fba577c4bb87df04d54dd87bbdaa5a2272f1f99a2acbf9152e1a91b8b5f0b279"
+ "24.15.0-darwin_arm64": [
+ "node-v24.15.0-darwin-arm64.tar.gz",
+ "node-v24.15.0-darwin-arm64",
+ "372331b969779ab5d15b949884fc6eaf88d5afe87bde8ba881d6400b9100ffc4"
+ ],
+ "24.15.0-darwin_amd64": [
+ "node-v24.15.0-darwin-x64.tar.gz",
+ "node-v24.15.0-darwin-x64",
+ "ffd5ee293467927f3ee731a553eb88fd1f48cf74eebc2d74a6babe4af228673b"
+ ],
+ "24.15.0-linux_arm64": [
+ "node-v24.15.0-linux-arm64.tar.xz",
+ "node-v24.15.0-linux-arm64",
+ "f3d5a797b5d210ce8e2cb265544c8e482eaedcb8aa409a8b46da7e8595d0dda0"
+ ],
+ "24.15.0-linux_ppc64le": [
+ "node-v24.15.0-linux-ppc64le.tar.xz",
+ "node-v24.15.0-linux-ppc64le",
+ "6a6560a27bd2817013c28c3d917bfe9eebf26bbd4b1d88475190f216cc411fbb"
+ ],
+ "24.15.0-linux_s390x": [
+ "node-v24.15.0-linux-s390x.tar.xz",
+ "node-v24.15.0-linux-s390x",
+ "940d4cbfadf736b34519630a05d144c09f8a5aca291a802f2f559ee1562f6f24"
+ ],
+ "24.15.0-linux_amd64": [
+ "node-v24.15.0-linux-x64.tar.xz",
+ "node-v24.15.0-linux-x64",
+ "472655581fb851559730c48763e0c9d3bc25975c59d518003fc0849d3e4ba0f6"
+ ],
+ "24.15.0-windows_amd64": [
+ "node-v24.15.0-win-x64.zip",
+ "node-v24.15.0-win-x64",
+ "cc5149eabd53779ce1e7bdc5401643622d0c7e6800ade18928a767e940bb0e62"
]
},
"node_urls": [
"https://nodejs.org/dist/v{version}/{filename}"
],
- "node_version": "24.13.1",
+ "node_version": "24.15.0",
"include_headers": false,
"platform": "darwin_amd64"
}
@@ -2021,46 +2027,46 @@
"attributes": {
"node_download_auth": {},
"node_repositories": {
- "24.13.1-darwin_arm64": [
- "node-v24.13.1-darwin-arm64.tar.gz",
- "node-v24.13.1-darwin-arm64",
- "8c039d59f2fec6195e4281ad5b0d02b9a940897b4df7b849c6fb48be6787bba6"
- ],
- "24.13.1-darwin_amd64": [
- "node-v24.13.1-darwin-x64.tar.gz",
- "node-v24.13.1-darwin-x64",
- "527f0578d9812e7dfa225121bda0b1546a6a0e4b5f556295fc8299c272de5fbf"
- ],
- "24.13.1-linux_arm64": [
- "node-v24.13.1-linux-arm64.tar.xz",
- "node-v24.13.1-linux-arm64",
- "c827d3d301e2eed1a51f36d0116b71b9e3d9e3b728f081615270ea40faac34c1"
- ],
- "24.13.1-linux_ppc64le": [
- "node-v24.13.1-linux-ppc64le.tar.xz",
- "node-v24.13.1-linux-ppc64le",
- "fb712a08d317655dbf776c90f60ac2105109d802e33811df6c9ed33d12f801c6"
- ],
- "24.13.1-linux_s390x": [
- "node-v24.13.1-linux-s390x.tar.xz",
- "node-v24.13.1-linux-s390x",
- "8e2c0d9b5545c3db22623e8cb8d6f0c28fcd470f29d32dbeabf9432dda289de2"
- ],
- "24.13.1-linux_amd64": [
- "node-v24.13.1-linux-x64.tar.xz",
- "node-v24.13.1-linux-x64",
- "30215f90ea3cd04dfbc06e762c021393fa173a1d392974298bbc871a8e461089"
- ],
- "24.13.1-windows_amd64": [
- "node-v24.13.1-win-x64.zip",
- "node-v24.13.1-win-x64",
- "fba577c4bb87df04d54dd87bbdaa5a2272f1f99a2acbf9152e1a91b8b5f0b279"
+ "24.15.0-darwin_arm64": [
+ "node-v24.15.0-darwin-arm64.tar.gz",
+ "node-v24.15.0-darwin-arm64",
+ "372331b969779ab5d15b949884fc6eaf88d5afe87bde8ba881d6400b9100ffc4"
+ ],
+ "24.15.0-darwin_amd64": [
+ "node-v24.15.0-darwin-x64.tar.gz",
+ "node-v24.15.0-darwin-x64",
+ "ffd5ee293467927f3ee731a553eb88fd1f48cf74eebc2d74a6babe4af228673b"
+ ],
+ "24.15.0-linux_arm64": [
+ "node-v24.15.0-linux-arm64.tar.xz",
+ "node-v24.15.0-linux-arm64",
+ "f3d5a797b5d210ce8e2cb265544c8e482eaedcb8aa409a8b46da7e8595d0dda0"
+ ],
+ "24.15.0-linux_ppc64le": [
+ "node-v24.15.0-linux-ppc64le.tar.xz",
+ "node-v24.15.0-linux-ppc64le",
+ "6a6560a27bd2817013c28c3d917bfe9eebf26bbd4b1d88475190f216cc411fbb"
+ ],
+ "24.15.0-linux_s390x": [
+ "node-v24.15.0-linux-s390x.tar.xz",
+ "node-v24.15.0-linux-s390x",
+ "940d4cbfadf736b34519630a05d144c09f8a5aca291a802f2f559ee1562f6f24"
+ ],
+ "24.15.0-linux_amd64": [
+ "node-v24.15.0-linux-x64.tar.xz",
+ "node-v24.15.0-linux-x64",
+ "472655581fb851559730c48763e0c9d3bc25975c59d518003fc0849d3e4ba0f6"
+ ],
+ "24.15.0-windows_amd64": [
+ "node-v24.15.0-win-x64.zip",
+ "node-v24.15.0-win-x64",
+ "cc5149eabd53779ce1e7bdc5401643622d0c7e6800ade18928a767e940bb0e62"
]
},
"node_urls": [
"https://nodejs.org/dist/v{version}/{filename}"
],
- "node_version": "24.13.1",
+ "node_version": "24.15.0",
"include_headers": false,
"platform": "darwin_arm64"
}
@@ -2070,46 +2076,46 @@
"attributes": {
"node_download_auth": {},
"node_repositories": {
- "24.13.1-darwin_arm64": [
- "node-v24.13.1-darwin-arm64.tar.gz",
- "node-v24.13.1-darwin-arm64",
- "8c039d59f2fec6195e4281ad5b0d02b9a940897b4df7b849c6fb48be6787bba6"
- ],
- "24.13.1-darwin_amd64": [
- "node-v24.13.1-darwin-x64.tar.gz",
- "node-v24.13.1-darwin-x64",
- "527f0578d9812e7dfa225121bda0b1546a6a0e4b5f556295fc8299c272de5fbf"
- ],
- "24.13.1-linux_arm64": [
- "node-v24.13.1-linux-arm64.tar.xz",
- "node-v24.13.1-linux-arm64",
- "c827d3d301e2eed1a51f36d0116b71b9e3d9e3b728f081615270ea40faac34c1"
- ],
- "24.13.1-linux_ppc64le": [
- "node-v24.13.1-linux-ppc64le.tar.xz",
- "node-v24.13.1-linux-ppc64le",
- "fb712a08d317655dbf776c90f60ac2105109d802e33811df6c9ed33d12f801c6"
- ],
- "24.13.1-linux_s390x": [
- "node-v24.13.1-linux-s390x.tar.xz",
- "node-v24.13.1-linux-s390x",
- "8e2c0d9b5545c3db22623e8cb8d6f0c28fcd470f29d32dbeabf9432dda289de2"
- ],
- "24.13.1-linux_amd64": [
- "node-v24.13.1-linux-x64.tar.xz",
- "node-v24.13.1-linux-x64",
- "30215f90ea3cd04dfbc06e762c021393fa173a1d392974298bbc871a8e461089"
- ],
- "24.13.1-windows_amd64": [
- "node-v24.13.1-win-x64.zip",
- "node-v24.13.1-win-x64",
- "fba577c4bb87df04d54dd87bbdaa5a2272f1f99a2acbf9152e1a91b8b5f0b279"
+ "24.15.0-darwin_arm64": [
+ "node-v24.15.0-darwin-arm64.tar.gz",
+ "node-v24.15.0-darwin-arm64",
+ "372331b969779ab5d15b949884fc6eaf88d5afe87bde8ba881d6400b9100ffc4"
+ ],
+ "24.15.0-darwin_amd64": [
+ "node-v24.15.0-darwin-x64.tar.gz",
+ "node-v24.15.0-darwin-x64",
+ "ffd5ee293467927f3ee731a553eb88fd1f48cf74eebc2d74a6babe4af228673b"
+ ],
+ "24.15.0-linux_arm64": [
+ "node-v24.15.0-linux-arm64.tar.xz",
+ "node-v24.15.0-linux-arm64",
+ "f3d5a797b5d210ce8e2cb265544c8e482eaedcb8aa409a8b46da7e8595d0dda0"
+ ],
+ "24.15.0-linux_ppc64le": [
+ "node-v24.15.0-linux-ppc64le.tar.xz",
+ "node-v24.15.0-linux-ppc64le",
+ "6a6560a27bd2817013c28c3d917bfe9eebf26bbd4b1d88475190f216cc411fbb"
+ ],
+ "24.15.0-linux_s390x": [
+ "node-v24.15.0-linux-s390x.tar.xz",
+ "node-v24.15.0-linux-s390x",
+ "940d4cbfadf736b34519630a05d144c09f8a5aca291a802f2f559ee1562f6f24"
+ ],
+ "24.15.0-linux_amd64": [
+ "node-v24.15.0-linux-x64.tar.xz",
+ "node-v24.15.0-linux-x64",
+ "472655581fb851559730c48763e0c9d3bc25975c59d518003fc0849d3e4ba0f6"
+ ],
+ "24.15.0-windows_amd64": [
+ "node-v24.15.0-win-x64.zip",
+ "node-v24.15.0-win-x64",
+ "cc5149eabd53779ce1e7bdc5401643622d0c7e6800ade18928a767e940bb0e62"
]
},
"node_urls": [
"https://nodejs.org/dist/v{version}/{filename}"
],
- "node_version": "24.13.1",
+ "node_version": "24.15.0",
"include_headers": false,
"platform": "windows_amd64"
}
@@ -2119,46 +2125,46 @@
"attributes": {
"node_download_auth": {},
"node_repositories": {
- "24.13.1-darwin_arm64": [
- "node-v24.13.1-darwin-arm64.tar.gz",
- "node-v24.13.1-darwin-arm64",
- "8c039d59f2fec6195e4281ad5b0d02b9a940897b4df7b849c6fb48be6787bba6"
- ],
- "24.13.1-darwin_amd64": [
- "node-v24.13.1-darwin-x64.tar.gz",
- "node-v24.13.1-darwin-x64",
- "527f0578d9812e7dfa225121bda0b1546a6a0e4b5f556295fc8299c272de5fbf"
- ],
- "24.13.1-linux_arm64": [
- "node-v24.13.1-linux-arm64.tar.xz",
- "node-v24.13.1-linux-arm64",
- "c827d3d301e2eed1a51f36d0116b71b9e3d9e3b728f081615270ea40faac34c1"
- ],
- "24.13.1-linux_ppc64le": [
- "node-v24.13.1-linux-ppc64le.tar.xz",
- "node-v24.13.1-linux-ppc64le",
- "fb712a08d317655dbf776c90f60ac2105109d802e33811df6c9ed33d12f801c6"
- ],
- "24.13.1-linux_s390x": [
- "node-v24.13.1-linux-s390x.tar.xz",
- "node-v24.13.1-linux-s390x",
- "8e2c0d9b5545c3db22623e8cb8d6f0c28fcd470f29d32dbeabf9432dda289de2"
- ],
- "24.13.1-linux_amd64": [
- "node-v24.13.1-linux-x64.tar.xz",
- "node-v24.13.1-linux-x64",
- "30215f90ea3cd04dfbc06e762c021393fa173a1d392974298bbc871a8e461089"
- ],
- "24.13.1-windows_amd64": [
- "node-v24.13.1-win-x64.zip",
- "node-v24.13.1-win-x64",
- "fba577c4bb87df04d54dd87bbdaa5a2272f1f99a2acbf9152e1a91b8b5f0b279"
+ "24.15.0-darwin_arm64": [
+ "node-v24.15.0-darwin-arm64.tar.gz",
+ "node-v24.15.0-darwin-arm64",
+ "372331b969779ab5d15b949884fc6eaf88d5afe87bde8ba881d6400b9100ffc4"
+ ],
+ "24.15.0-darwin_amd64": [
+ "node-v24.15.0-darwin-x64.tar.gz",
+ "node-v24.15.0-darwin-x64",
+ "ffd5ee293467927f3ee731a553eb88fd1f48cf74eebc2d74a6babe4af228673b"
+ ],
+ "24.15.0-linux_arm64": [
+ "node-v24.15.0-linux-arm64.tar.xz",
+ "node-v24.15.0-linux-arm64",
+ "f3d5a797b5d210ce8e2cb265544c8e482eaedcb8aa409a8b46da7e8595d0dda0"
+ ],
+ "24.15.0-linux_ppc64le": [
+ "node-v24.15.0-linux-ppc64le.tar.xz",
+ "node-v24.15.0-linux-ppc64le",
+ "6a6560a27bd2817013c28c3d917bfe9eebf26bbd4b1d88475190f216cc411fbb"
+ ],
+ "24.15.0-linux_s390x": [
+ "node-v24.15.0-linux-s390x.tar.xz",
+ "node-v24.15.0-linux-s390x",
+ "940d4cbfadf736b34519630a05d144c09f8a5aca291a802f2f559ee1562f6f24"
+ ],
+ "24.15.0-linux_amd64": [
+ "node-v24.15.0-linux-x64.tar.xz",
+ "node-v24.15.0-linux-x64",
+ "472655581fb851559730c48763e0c9d3bc25975c59d518003fc0849d3e4ba0f6"
+ ],
+ "24.15.0-windows_amd64": [
+ "node-v24.15.0-win-x64.zip",
+ "node-v24.15.0-win-x64",
+ "cc5149eabd53779ce1e7bdc5401643622d0c7e6800ade18928a767e940bb0e62"
]
},
"node_urls": [
"https://nodejs.org/dist/v{version}/{filename}"
],
- "node_version": "24.13.1",
+ "node_version": "24.15.0",
"include_headers": false,
"platform": "windows_arm64"
}
@@ -2180,6 +2186,416 @@
"attributes": {
"user_node_repository_name": "node24"
}
+ },
+ "node26_linux_amd64": {
+ "repoRuleId": "@@rules_nodejs+//nodejs:repositories.bzl%_nodejs_repositories",
+ "attributes": {
+ "node_download_auth": {},
+ "node_repositories": {
+ "26.0.0-darwin_arm64": [
+ "node-v26.0.0-darwin-arm64.tar.gz",
+ "node-v26.0.0-darwin-arm64",
+ "dcee8564c1a9342f9594dd5e52d533894dfef6b85aa771bbbb870baa3c403235"
+ ],
+ "26.0.0-darwin_amd64": [
+ "node-v26.0.0-darwin-x64.tar.gz",
+ "node-v26.0.0-darwin-x64",
+ "f488ab543fe202d8a2d56e661682117d3c56903a2bf64f2ec1ff7bd421cfd875"
+ ],
+ "26.0.0-linux_arm64": [
+ "node-v26.0.0-linux-arm64.tar.xz",
+ "node-v26.0.0-linux-arm64",
+ "f0f94e55142149a4d34634dc3d7e103921d898512dd0cef995ecb62c5ebd3f29"
+ ],
+ "26.0.0-linux_ppc64le": [
+ "node-v26.0.0-linux-ppc64le.tar.xz",
+ "node-v26.0.0-linux-ppc64le",
+ "4b7f76967a93fea8cda11554f2a7904744afaef65dc3f48c345e99828f50ef4d"
+ ],
+ "26.0.0-linux_s390x": [
+ "node-v26.0.0-linux-s390x.tar.xz",
+ "node-v26.0.0-linux-s390x",
+ "e3bd9df41f777dbb227b1261ea81b1fa9b654901bac8cace50a0b918b5160ab5"
+ ],
+ "26.0.0-linux_amd64": [
+ "node-v26.0.0-linux-x64.tar.xz",
+ "node-v26.0.0-linux-x64",
+ "345d558514c62622b5c7d1f7b5f2a19c31ab1405d217df49f010c5ea8decc0f4"
+ ],
+ "26.0.0-windows_amd64": [
+ "node-v26.0.0-win-x64.zip",
+ "node-v26.0.0-win-x64",
+ "d0418640a36096e00bddb57761aa0b1b98f91904ec4ed2b9dd75cbad723becd7"
+ ]
+ },
+ "node_urls": [
+ "https://nodejs.org/dist/v{version}/{filename}"
+ ],
+ "node_version": "26.0.0",
+ "include_headers": false,
+ "platform": "linux_amd64"
+ }
+ },
+ "node26_linux_arm64": {
+ "repoRuleId": "@@rules_nodejs+//nodejs:repositories.bzl%_nodejs_repositories",
+ "attributes": {
+ "node_download_auth": {},
+ "node_repositories": {
+ "26.0.0-darwin_arm64": [
+ "node-v26.0.0-darwin-arm64.tar.gz",
+ "node-v26.0.0-darwin-arm64",
+ "dcee8564c1a9342f9594dd5e52d533894dfef6b85aa771bbbb870baa3c403235"
+ ],
+ "26.0.0-darwin_amd64": [
+ "node-v26.0.0-darwin-x64.tar.gz",
+ "node-v26.0.0-darwin-x64",
+ "f488ab543fe202d8a2d56e661682117d3c56903a2bf64f2ec1ff7bd421cfd875"
+ ],
+ "26.0.0-linux_arm64": [
+ "node-v26.0.0-linux-arm64.tar.xz",
+ "node-v26.0.0-linux-arm64",
+ "f0f94e55142149a4d34634dc3d7e103921d898512dd0cef995ecb62c5ebd3f29"
+ ],
+ "26.0.0-linux_ppc64le": [
+ "node-v26.0.0-linux-ppc64le.tar.xz",
+ "node-v26.0.0-linux-ppc64le",
+ "4b7f76967a93fea8cda11554f2a7904744afaef65dc3f48c345e99828f50ef4d"
+ ],
+ "26.0.0-linux_s390x": [
+ "node-v26.0.0-linux-s390x.tar.xz",
+ "node-v26.0.0-linux-s390x",
+ "e3bd9df41f777dbb227b1261ea81b1fa9b654901bac8cace50a0b918b5160ab5"
+ ],
+ "26.0.0-linux_amd64": [
+ "node-v26.0.0-linux-x64.tar.xz",
+ "node-v26.0.0-linux-x64",
+ "345d558514c62622b5c7d1f7b5f2a19c31ab1405d217df49f010c5ea8decc0f4"
+ ],
+ "26.0.0-windows_amd64": [
+ "node-v26.0.0-win-x64.zip",
+ "node-v26.0.0-win-x64",
+ "d0418640a36096e00bddb57761aa0b1b98f91904ec4ed2b9dd75cbad723becd7"
+ ]
+ },
+ "node_urls": [
+ "https://nodejs.org/dist/v{version}/{filename}"
+ ],
+ "node_version": "26.0.0",
+ "include_headers": false,
+ "platform": "linux_arm64"
+ }
+ },
+ "node26_linux_s390x": {
+ "repoRuleId": "@@rules_nodejs+//nodejs:repositories.bzl%_nodejs_repositories",
+ "attributes": {
+ "node_download_auth": {},
+ "node_repositories": {
+ "26.0.0-darwin_arm64": [
+ "node-v26.0.0-darwin-arm64.tar.gz",
+ "node-v26.0.0-darwin-arm64",
+ "dcee8564c1a9342f9594dd5e52d533894dfef6b85aa771bbbb870baa3c403235"
+ ],
+ "26.0.0-darwin_amd64": [
+ "node-v26.0.0-darwin-x64.tar.gz",
+ "node-v26.0.0-darwin-x64",
+ "f488ab543fe202d8a2d56e661682117d3c56903a2bf64f2ec1ff7bd421cfd875"
+ ],
+ "26.0.0-linux_arm64": [
+ "node-v26.0.0-linux-arm64.tar.xz",
+ "node-v26.0.0-linux-arm64",
+ "f0f94e55142149a4d34634dc3d7e103921d898512dd0cef995ecb62c5ebd3f29"
+ ],
+ "26.0.0-linux_ppc64le": [
+ "node-v26.0.0-linux-ppc64le.tar.xz",
+ "node-v26.0.0-linux-ppc64le",
+ "4b7f76967a93fea8cda11554f2a7904744afaef65dc3f48c345e99828f50ef4d"
+ ],
+ "26.0.0-linux_s390x": [
+ "node-v26.0.0-linux-s390x.tar.xz",
+ "node-v26.0.0-linux-s390x",
+ "e3bd9df41f777dbb227b1261ea81b1fa9b654901bac8cace50a0b918b5160ab5"
+ ],
+ "26.0.0-linux_amd64": [
+ "node-v26.0.0-linux-x64.tar.xz",
+ "node-v26.0.0-linux-x64",
+ "345d558514c62622b5c7d1f7b5f2a19c31ab1405d217df49f010c5ea8decc0f4"
+ ],
+ "26.0.0-windows_amd64": [
+ "node-v26.0.0-win-x64.zip",
+ "node-v26.0.0-win-x64",
+ "d0418640a36096e00bddb57761aa0b1b98f91904ec4ed2b9dd75cbad723becd7"
+ ]
+ },
+ "node_urls": [
+ "https://nodejs.org/dist/v{version}/{filename}"
+ ],
+ "node_version": "26.0.0",
+ "include_headers": false,
+ "platform": "linux_s390x"
+ }
+ },
+ "node26_linux_ppc64le": {
+ "repoRuleId": "@@rules_nodejs+//nodejs:repositories.bzl%_nodejs_repositories",
+ "attributes": {
+ "node_download_auth": {},
+ "node_repositories": {
+ "26.0.0-darwin_arm64": [
+ "node-v26.0.0-darwin-arm64.tar.gz",
+ "node-v26.0.0-darwin-arm64",
+ "dcee8564c1a9342f9594dd5e52d533894dfef6b85aa771bbbb870baa3c403235"
+ ],
+ "26.0.0-darwin_amd64": [
+ "node-v26.0.0-darwin-x64.tar.gz",
+ "node-v26.0.0-darwin-x64",
+ "f488ab543fe202d8a2d56e661682117d3c56903a2bf64f2ec1ff7bd421cfd875"
+ ],
+ "26.0.0-linux_arm64": [
+ "node-v26.0.0-linux-arm64.tar.xz",
+ "node-v26.0.0-linux-arm64",
+ "f0f94e55142149a4d34634dc3d7e103921d898512dd0cef995ecb62c5ebd3f29"
+ ],
+ "26.0.0-linux_ppc64le": [
+ "node-v26.0.0-linux-ppc64le.tar.xz",
+ "node-v26.0.0-linux-ppc64le",
+ "4b7f76967a93fea8cda11554f2a7904744afaef65dc3f48c345e99828f50ef4d"
+ ],
+ "26.0.0-linux_s390x": [
+ "node-v26.0.0-linux-s390x.tar.xz",
+ "node-v26.0.0-linux-s390x",
+ "e3bd9df41f777dbb227b1261ea81b1fa9b654901bac8cace50a0b918b5160ab5"
+ ],
+ "26.0.0-linux_amd64": [
+ "node-v26.0.0-linux-x64.tar.xz",
+ "node-v26.0.0-linux-x64",
+ "345d558514c62622b5c7d1f7b5f2a19c31ab1405d217df49f010c5ea8decc0f4"
+ ],
+ "26.0.0-windows_amd64": [
+ "node-v26.0.0-win-x64.zip",
+ "node-v26.0.0-win-x64",
+ "d0418640a36096e00bddb57761aa0b1b98f91904ec4ed2b9dd75cbad723becd7"
+ ]
+ },
+ "node_urls": [
+ "https://nodejs.org/dist/v{version}/{filename}"
+ ],
+ "node_version": "26.0.0",
+ "include_headers": false,
+ "platform": "linux_ppc64le"
+ }
+ },
+ "node26_darwin_amd64": {
+ "repoRuleId": "@@rules_nodejs+//nodejs:repositories.bzl%_nodejs_repositories",
+ "attributes": {
+ "node_download_auth": {},
+ "node_repositories": {
+ "26.0.0-darwin_arm64": [
+ "node-v26.0.0-darwin-arm64.tar.gz",
+ "node-v26.0.0-darwin-arm64",
+ "dcee8564c1a9342f9594dd5e52d533894dfef6b85aa771bbbb870baa3c403235"
+ ],
+ "26.0.0-darwin_amd64": [
+ "node-v26.0.0-darwin-x64.tar.gz",
+ "node-v26.0.0-darwin-x64",
+ "f488ab543fe202d8a2d56e661682117d3c56903a2bf64f2ec1ff7bd421cfd875"
+ ],
+ "26.0.0-linux_arm64": [
+ "node-v26.0.0-linux-arm64.tar.xz",
+ "node-v26.0.0-linux-arm64",
+ "f0f94e55142149a4d34634dc3d7e103921d898512dd0cef995ecb62c5ebd3f29"
+ ],
+ "26.0.0-linux_ppc64le": [
+ "node-v26.0.0-linux-ppc64le.tar.xz",
+ "node-v26.0.0-linux-ppc64le",
+ "4b7f76967a93fea8cda11554f2a7904744afaef65dc3f48c345e99828f50ef4d"
+ ],
+ "26.0.0-linux_s390x": [
+ "node-v26.0.0-linux-s390x.tar.xz",
+ "node-v26.0.0-linux-s390x",
+ "e3bd9df41f777dbb227b1261ea81b1fa9b654901bac8cace50a0b918b5160ab5"
+ ],
+ "26.0.0-linux_amd64": [
+ "node-v26.0.0-linux-x64.tar.xz",
+ "node-v26.0.0-linux-x64",
+ "345d558514c62622b5c7d1f7b5f2a19c31ab1405d217df49f010c5ea8decc0f4"
+ ],
+ "26.0.0-windows_amd64": [
+ "node-v26.0.0-win-x64.zip",
+ "node-v26.0.0-win-x64",
+ "d0418640a36096e00bddb57761aa0b1b98f91904ec4ed2b9dd75cbad723becd7"
+ ]
+ },
+ "node_urls": [
+ "https://nodejs.org/dist/v{version}/{filename}"
+ ],
+ "node_version": "26.0.0",
+ "include_headers": false,
+ "platform": "darwin_amd64"
+ }
+ },
+ "node26_darwin_arm64": {
+ "repoRuleId": "@@rules_nodejs+//nodejs:repositories.bzl%_nodejs_repositories",
+ "attributes": {
+ "node_download_auth": {},
+ "node_repositories": {
+ "26.0.0-darwin_arm64": [
+ "node-v26.0.0-darwin-arm64.tar.gz",
+ "node-v26.0.0-darwin-arm64",
+ "dcee8564c1a9342f9594dd5e52d533894dfef6b85aa771bbbb870baa3c403235"
+ ],
+ "26.0.0-darwin_amd64": [
+ "node-v26.0.0-darwin-x64.tar.gz",
+ "node-v26.0.0-darwin-x64",
+ "f488ab543fe202d8a2d56e661682117d3c56903a2bf64f2ec1ff7bd421cfd875"
+ ],
+ "26.0.0-linux_arm64": [
+ "node-v26.0.0-linux-arm64.tar.xz",
+ "node-v26.0.0-linux-arm64",
+ "f0f94e55142149a4d34634dc3d7e103921d898512dd0cef995ecb62c5ebd3f29"
+ ],
+ "26.0.0-linux_ppc64le": [
+ "node-v26.0.0-linux-ppc64le.tar.xz",
+ "node-v26.0.0-linux-ppc64le",
+ "4b7f76967a93fea8cda11554f2a7904744afaef65dc3f48c345e99828f50ef4d"
+ ],
+ "26.0.0-linux_s390x": [
+ "node-v26.0.0-linux-s390x.tar.xz",
+ "node-v26.0.0-linux-s390x",
+ "e3bd9df41f777dbb227b1261ea81b1fa9b654901bac8cace50a0b918b5160ab5"
+ ],
+ "26.0.0-linux_amd64": [
+ "node-v26.0.0-linux-x64.tar.xz",
+ "node-v26.0.0-linux-x64",
+ "345d558514c62622b5c7d1f7b5f2a19c31ab1405d217df49f010c5ea8decc0f4"
+ ],
+ "26.0.0-windows_amd64": [
+ "node-v26.0.0-win-x64.zip",
+ "node-v26.0.0-win-x64",
+ "d0418640a36096e00bddb57761aa0b1b98f91904ec4ed2b9dd75cbad723becd7"
+ ]
+ },
+ "node_urls": [
+ "https://nodejs.org/dist/v{version}/{filename}"
+ ],
+ "node_version": "26.0.0",
+ "include_headers": false,
+ "platform": "darwin_arm64"
+ }
+ },
+ "node26_windows_amd64": {
+ "repoRuleId": "@@rules_nodejs+//nodejs:repositories.bzl%_nodejs_repositories",
+ "attributes": {
+ "node_download_auth": {},
+ "node_repositories": {
+ "26.0.0-darwin_arm64": [
+ "node-v26.0.0-darwin-arm64.tar.gz",
+ "node-v26.0.0-darwin-arm64",
+ "dcee8564c1a9342f9594dd5e52d533894dfef6b85aa771bbbb870baa3c403235"
+ ],
+ "26.0.0-darwin_amd64": [
+ "node-v26.0.0-darwin-x64.tar.gz",
+ "node-v26.0.0-darwin-x64",
+ "f488ab543fe202d8a2d56e661682117d3c56903a2bf64f2ec1ff7bd421cfd875"
+ ],
+ "26.0.0-linux_arm64": [
+ "node-v26.0.0-linux-arm64.tar.xz",
+ "node-v26.0.0-linux-arm64",
+ "f0f94e55142149a4d34634dc3d7e103921d898512dd0cef995ecb62c5ebd3f29"
+ ],
+ "26.0.0-linux_ppc64le": [
+ "node-v26.0.0-linux-ppc64le.tar.xz",
+ "node-v26.0.0-linux-ppc64le",
+ "4b7f76967a93fea8cda11554f2a7904744afaef65dc3f48c345e99828f50ef4d"
+ ],
+ "26.0.0-linux_s390x": [
+ "node-v26.0.0-linux-s390x.tar.xz",
+ "node-v26.0.0-linux-s390x",
+ "e3bd9df41f777dbb227b1261ea81b1fa9b654901bac8cace50a0b918b5160ab5"
+ ],
+ "26.0.0-linux_amd64": [
+ "node-v26.0.0-linux-x64.tar.xz",
+ "node-v26.0.0-linux-x64",
+ "345d558514c62622b5c7d1f7b5f2a19c31ab1405d217df49f010c5ea8decc0f4"
+ ],
+ "26.0.0-windows_amd64": [
+ "node-v26.0.0-win-x64.zip",
+ "node-v26.0.0-win-x64",
+ "d0418640a36096e00bddb57761aa0b1b98f91904ec4ed2b9dd75cbad723becd7"
+ ]
+ },
+ "node_urls": [
+ "https://nodejs.org/dist/v{version}/{filename}"
+ ],
+ "node_version": "26.0.0",
+ "include_headers": false,
+ "platform": "windows_amd64"
+ }
+ },
+ "node26_windows_arm64": {
+ "repoRuleId": "@@rules_nodejs+//nodejs:repositories.bzl%_nodejs_repositories",
+ "attributes": {
+ "node_download_auth": {},
+ "node_repositories": {
+ "26.0.0-darwin_arm64": [
+ "node-v26.0.0-darwin-arm64.tar.gz",
+ "node-v26.0.0-darwin-arm64",
+ "dcee8564c1a9342f9594dd5e52d533894dfef6b85aa771bbbb870baa3c403235"
+ ],
+ "26.0.0-darwin_amd64": [
+ "node-v26.0.0-darwin-x64.tar.gz",
+ "node-v26.0.0-darwin-x64",
+ "f488ab543fe202d8a2d56e661682117d3c56903a2bf64f2ec1ff7bd421cfd875"
+ ],
+ "26.0.0-linux_arm64": [
+ "node-v26.0.0-linux-arm64.tar.xz",
+ "node-v26.0.0-linux-arm64",
+ "f0f94e55142149a4d34634dc3d7e103921d898512dd0cef995ecb62c5ebd3f29"
+ ],
+ "26.0.0-linux_ppc64le": [
+ "node-v26.0.0-linux-ppc64le.tar.xz",
+ "node-v26.0.0-linux-ppc64le",
+ "4b7f76967a93fea8cda11554f2a7904744afaef65dc3f48c345e99828f50ef4d"
+ ],
+ "26.0.0-linux_s390x": [
+ "node-v26.0.0-linux-s390x.tar.xz",
+ "node-v26.0.0-linux-s390x",
+ "e3bd9df41f777dbb227b1261ea81b1fa9b654901bac8cace50a0b918b5160ab5"
+ ],
+ "26.0.0-linux_amd64": [
+ "node-v26.0.0-linux-x64.tar.xz",
+ "node-v26.0.0-linux-x64",
+ "345d558514c62622b5c7d1f7b5f2a19c31ab1405d217df49f010c5ea8decc0f4"
+ ],
+ "26.0.0-windows_amd64": [
+ "node-v26.0.0-win-x64.zip",
+ "node-v26.0.0-win-x64",
+ "d0418640a36096e00bddb57761aa0b1b98f91904ec4ed2b9dd75cbad723becd7"
+ ]
+ },
+ "node_urls": [
+ "https://nodejs.org/dist/v{version}/{filename}"
+ ],
+ "node_version": "26.0.0",
+ "include_headers": false,
+ "platform": "windows_arm64"
+ }
+ },
+ "node26": {
+ "repoRuleId": "@@rules_nodejs+//nodejs/private:nodejs_repo_host_os_alias.bzl%nodejs_repo_host_os_alias",
+ "attributes": {
+ "user_node_repository_name": "node26"
+ }
+ },
+ "node26_host": {
+ "repoRuleId": "@@rules_nodejs+//nodejs/private:nodejs_repo_host_os_alias.bzl%nodejs_repo_host_os_alias",
+ "attributes": {
+ "user_node_repository_name": "node26"
+ }
+ },
+ "node26_toolchains": {
+ "repoRuleId": "@@rules_nodejs+//nodejs/private:nodejs_toolchains_repo.bzl%nodejs_toolchains_repo",
+ "attributes": {
+ "user_node_repository_name": "node26"
+ }
}
},
"recordedRepoMappingEntries": []
@@ -2187,7 +2603,7 @@
},
"@@rules_python+//python/extensions:pip.bzl%pip": {
"general": {
- "bzlTransitiveDigest": "WViZ5k1A9F8R5wfEe2ArLMFS1g9UmgfbS8Q/7q1/z7o=",
+ "bzlTransitiveDigest": "1CieYf7PBGYmx4QxddIeJFyAiJ2OB1ah39h4F4rtjxo=",
"usagesDigest": "AK1R124YPWwAs8z1CQYyjYuci8RO5Ofot+EP5ZCNQDc=",
"recordedFileInputs": {
"@@protobuf+//python/requirements.txt": "983be60d3cec4b319dcab6d48aeb3f5b2f7c3350f26b3a9e97486c37967c73c5",
@@ -4926,7 +5342,7 @@
"@@yq.bzl+//yq:extensions.bzl%yq": {
"general": {
"bzlTransitiveDigest": "UfFMy8CWK4/dVo/tfaSAIYUiDGNAPes5eRllx9O9Q9Q=",
- "usagesDigest": "xPeGU4HF2Tm+YRYp+urLJFiY6+9GledFMMrn4sTXP8M=",
+ "usagesDigest": "8e3rbqq064p0a9Kvcmva2jmDBY/XStrYwTWmi2gmqTY=",
"recordedFileInputs": {},
"recordedDirentsInputs": {},
"envVariables": {},
diff --git a/constants.bzl b/constants.bzl
index 89d6eb63421c..abf02a051f90 100644
--- a/constants.bzl
+++ b/constants.bzl
@@ -1,5 +1,5 @@
# Engine versions to stamp in a release package.json
-RELEASE_ENGINES_NODE = "^22.22.0 || >=24.13.1"
+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"
@@ -13,7 +13,7 @@ NG_PACKAGR_PEER_DEP = "^22.0.0-next.0"
# default browser set used to determine what downleveling is necessary.
#
# See: https://web.dev/baseline
-BASELINE_DATE = "2025-10-20"
+BASELINE_DATE = "2026-05-07"
SNAPSHOT_REPOS = {
"@angular/cli": "angular/cli-builds",
diff --git a/eslint.config.mjs b/eslint.config.mjs
index 08a993804c32..cc9c57c0535c 100644
--- a/eslint.config.mjs
+++ b/eslint.config.mjs
@@ -213,6 +213,7 @@ export default [
'@typescript-eslint/prefer-promise-reject-errors': 'off',
'@typescript-eslint/only-throw-error': 'off',
'@typescript-eslint/no-unsafe-function-type': 'off',
+ '@typescript-eslint/no-unnecessary-type-assertion': 'off',
},
},
{
diff --git a/goldens/circular-deps/packages.json b/goldens/circular-deps/packages.json
index 4321adf60eaa..fe51488c7066 100644
--- a/goldens/circular-deps/packages.json
+++ b/goldens/circular-deps/packages.json
@@ -1,30 +1 @@
-[
- [
- "packages/angular/build/src/tools/esbuild/angular/component-stylesheets.ts",
- "packages/angular/build/src/tools/esbuild/bundler-context.ts",
- "packages/angular/build/src/tools/esbuild/utils.ts",
- "packages/angular/build/src/tools/esbuild/bundler-execution-result.ts"
- ],
- [
- "packages/angular/build/src/tools/esbuild/bundler-context.ts",
- "packages/angular/build/src/tools/esbuild/utils.ts"
- ],
- [
- "packages/angular/build/src/tools/esbuild/bundler-context.ts",
- "packages/angular/build/src/tools/esbuild/utils.ts",
- "packages/angular/build/src/tools/esbuild/bundler-execution-result.ts"
- ],
- [
- "packages/angular/build/src/tools/esbuild/bundler-context.ts",
- "packages/angular/build/src/tools/esbuild/utils.ts",
- "packages/angular/build/src/utils/server-rendering/manifest.ts"
- ],
- [
- "packages/angular/build/src/tools/esbuild/bundler-execution-result.ts",
- "packages/angular/build/src/tools/esbuild/utils.ts"
- ],
- [
- "packages/angular/build/src/tools/esbuild/utils.ts",
- "packages/angular/build/src/utils/server-rendering/manifest.ts"
- ]
-]
+[]
diff --git a/goldens/public-api/angular/build/index.api.md b/goldens/public-api/angular/build/index.api.md
index 3ca6e8d98d12..df3f8fe8c777 100644
--- a/goldens/public-api/angular/build/index.api.md
+++ b/goldens/public-api/angular/build/index.api.md
@@ -8,7 +8,7 @@ import { BuilderContext } from '@angular-devkit/architect';
import { BuilderOutput } from '@angular-devkit/architect';
import type { ConfigOptions } from 'karma';
import type http from 'node:http';
-import { OutputFile } from 'esbuild';
+import type { OutputFile } from 'esbuild';
import type { Plugin as Plugin_2 } from 'esbuild';
// @public (undocumented)
diff --git a/goldens/public-api/angular/ssr/node/index.api.md b/goldens/public-api/angular/ssr/node/index.api.md
index 2c1c5f4bf86a..06b61ab1fdcb 100644
--- a/goldens/public-api/angular/ssr/node/index.api.md
+++ b/goldens/public-api/angular/ssr/node/index.api.md
@@ -23,13 +23,13 @@ export class AngularNodeAppEngine {
export interface AngularNodeAppEngineOptions extends AngularAppEngineOptions {
}
-// @public
+// @public @deprecated
export class CommonEngine {
constructor(options?: CommonEngineOptions | undefined);
render(opts: CommonEngineRenderOptions): Promise;
}
-// @public (undocumented)
+// @public @deprecated (undocumented)
export interface CommonEngineOptions {
allowedHosts?: readonly string[];
bootstrap?: Type<{}> | ((context: BootstrapContext) => Promise);
@@ -37,7 +37,7 @@ export interface CommonEngineOptions {
providers?: StaticProvider[];
}
-// @public (undocumented)
+// @public @deprecated (undocumented)
export interface CommonEngineRenderOptions {
bootstrap?: Type<{}> | ((context: BootstrapContext) => Promise);
// (undocumented)
diff --git a/goldens/public-api/angular_devkit/build_webpack/index.api.md b/goldens/public-api/angular_devkit/build_webpack/index.api.md
index 0d60187627d5..abe0725a36fe 100644
--- a/goldens/public-api/angular_devkit/build_webpack/index.api.md
+++ b/goldens/public-api/angular_devkit/build_webpack/index.api.md
@@ -40,14 +40,14 @@ export interface EmittedFiles {
name?: string;
}
-// @public (undocumented)
+// @public @deprecated (undocumented)
export function runWebpack(config: webpack.Configuration, context: BuilderContext, options?: {
logging?: WebpackLoggingCallback;
webpackFactory?: WebpackFactory;
shouldProvideStats?: boolean;
}): Observable;
-// @public (undocumented)
+// @public @deprecated (undocumented)
export function runWebpackDevServer(config: webpack.Configuration, context: BuilderContext, options?: {
shouldProvideStats?: boolean;
devServerConfig?: WebpackDevServer.Configuration;
diff --git a/goldens/public-api/angular_devkit/core/index.api.md b/goldens/public-api/angular_devkit/core/index.api.md
index 6692eccbf218..d86a826c566f 100644
--- a/goldens/public-api/angular_devkit/core/index.api.md
+++ b/goldens/public-api/angular_devkit/core/index.api.md
@@ -243,7 +243,7 @@ type FileBuffer = ArrayBuffer;
// @public (undocumented)
type FileBufferLike = ArrayBufferLike;
-// @public (undocumented)
+// @public @deprecated (undocumented)
function fileBufferToString(fileBuffer: FileBuffer): string;
// @public (undocumented)
@@ -1012,7 +1012,7 @@ declare namespace strings {
}
export { strings }
-// @public (undocumented)
+// @public @deprecated (undocumented)
function stringToFileBuffer(str: string): FileBuffer;
// @public (undocumented)
diff --git a/goldens/public-api/angular_devkit/core/node/index.api.md b/goldens/public-api/angular_devkit/core/node/index.api.md
index cb18462521ca..9fcdee9770cb 100644
--- a/goldens/public-api/angular_devkit/core/node/index.api.md
+++ b/goldens/public-api/angular_devkit/core/node/index.api.md
@@ -11,7 +11,7 @@ import { Stats as Stats_2 } from 'node:fs';
import { Subject } from 'rxjs';
import { Subscription } from 'rxjs';
-// @public
+// @public @deprecated
export function createConsoleLogger(verbose?: boolean, stdout?: ProcessOutput, stderr?: ProcessOutput, colors?: Partial string>>): logging.Logger;
// @public
diff --git a/goldens/public-api/ngtools/webpack/index.api.md b/goldens/public-api/ngtools/webpack/index.api.md
index 13ddc85cabd8..a2c25e8c74f5 100644
--- a/goldens/public-api/ngtools/webpack/index.api.md
+++ b/goldens/public-api/ngtools/webpack/index.api.md
@@ -8,14 +8,14 @@ import type { Compiler } from 'webpack';
import type { CompilerOptions } from '@angular/compiler-cli';
import type { LoaderContext } from 'webpack';
-// @public (undocumented)
+// @public @deprecated (undocumented)
function angularWebpackLoader(this: LoaderContext, content: string, map: string): void;
export default angularWebpackLoader;
-// @public (undocumented)
+// @public @deprecated (undocumented)
export const AngularWebpackLoaderPath: string;
-// @public (undocumented)
+// @public @deprecated (undocumented)
export class AngularWebpackPlugin {
constructor(options?: Partial);
// (undocumented)
@@ -24,7 +24,7 @@ export class AngularWebpackPlugin {
get options(): AngularWebpackPluginOptions;
}
-// @public (undocumented)
+// @public @deprecated (undocumented)
export interface AngularWebpackPluginOptions {
// (undocumented)
compilerOptions?: CompilerOptions;
@@ -48,7 +48,7 @@ export interface AngularWebpackPluginOptions {
tsconfig: string;
}
-// @public (undocumented)
+// @public @deprecated (undocumented)
export const imageDomains: Set;
// (No @packageDocumentation comment for this package)
diff --git a/modules/testing/builder/package.json b/modules/testing/builder/package.json
index 9ffae1c74f5f..4df27d0c3b7c 100644
--- a/modules/testing/builder/package.json
+++ b/modules/testing/builder/package.json
@@ -4,12 +4,12 @@
"@angular-devkit/build-angular": "workspace:*",
"@angular-devkit/core": "workspace:*",
"@angular/ssr": "workspace:*",
- "@vitest/coverage-v8": "4.1.4",
+ "@vitest/coverage-v8": "4.1.7",
"browser-sync": "3.0.4",
"istanbul-lib-instrument": "6.0.3",
- "jsdom": "29.0.2",
- "ng-packagr": "22.0.0-next.3",
+ "jsdom": "29.1.1",
+ "ng-packagr": "22.0.0-rc.0",
"rxjs": "7.8.2",
- "vitest": "4.1.4"
+ "vitest": "4.1.7"
}
}
diff --git a/package.json b/package.json
index 55361ed5c7a0..1fc0786517ec 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@angular/devkit-repo",
- "version": "22.0.0-next.7",
+ "version": "22.1.0-next.0",
"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@10.33.2",
+ "packageManager": "pnpm@11.3.0",
"engines": {
- "node": "^22.22.0 || >=24.13.1",
+ "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": "10.33.2"
+ "pnpm": "11.3.0"
},
"author": "Angular Authors",
"license": "MIT",
@@ -42,35 +42,35 @@
},
"homepage": "https://github.com/angular/angular-cli",
"dependencies": {
- "@angular/compiler-cli": "22.0.0-next.10",
- "typescript": "6.0.2"
+ "@angular/compiler-cli": "22.0.0-rc.2",
+ "typescript": "6.0.3"
},
"devDependencies": {
- "@angular/animations": "22.0.0-next.10",
- "@angular/cdk": "22.0.0-next.7",
- "@angular/common": "22.0.0-next.10",
- "@angular/compiler": "22.0.0-next.10",
- "@angular/core": "22.0.0-next.10",
- "@angular/forms": "22.0.0-next.10",
- "@angular/localize": "22.0.0-next.10",
- "@angular/material": "22.0.0-next.7",
- "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#4de8a14a1682d0f07e0b14a3b26498757c195904",
- "@angular/platform-browser": "22.0.0-next.10",
- "@angular/platform-server": "22.0.0-next.10",
- "@angular/router": "22.0.0-next.10",
- "@angular/service-worker": "22.0.0-next.10",
- "@babel/core": "7.29.0",
+ "@angular/animations": "22.0.0-rc.2",
+ "@angular/cdk": "22.0.0-rc.2",
+ "@angular/common": "22.0.0-rc.2",
+ "@angular/compiler": "22.0.0-rc.2",
+ "@angular/core": "22.0.0-rc.2",
+ "@angular/forms": "22.0.0-rc.2",
+ "@angular/localize": "22.0.0-rc.2",
+ "@angular/material": "22.0.0-rc.2",
+ "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#a450a2420ca888116e6d4207b38819cd27b06179",
+ "@angular/platform-browser": "22.0.0-rc.2",
+ "@angular/platform-server": "22.0.0-rc.2",
+ "@angular/router": "22.0.0-rc.2",
+ "@angular/service-worker": "22.0.0-rc.2",
+ "@babel/core": "7.29.7",
"@bazel/bazelisk": "1.28.1",
"@bazel/buildifier": "8.2.1",
"@bazel/ibazel": "^0.28.0",
- "@eslint/compat": "2.0.5",
+ "@eslint/compat": "2.1.0",
"@eslint/eslintrc": "3.3.5",
"@eslint/js": "10.0.1",
"@rollup/plugin-alias": "^6.0.0",
"@rollup/plugin-commonjs": "^29.0.0",
"@rollup/plugin-json": "^6.1.0",
"@rollup/plugin-node-resolve": "16.0.3",
- "@rollup/wasm-node": "4.60.2",
+ "@rollup/wasm-node": "4.60.4",
"@stylistic/eslint-plugin": "^5.0.0",
"@tony.ganchev/eslint-plugin-header": "~3.4.0",
"@types/babel__core": "7.20.5",
@@ -95,20 +95,20 @@
"@types/yargs": "^17.0.20",
"@types/yargs-parser": "^21.0.0",
"@types/yarnpkg__lockfile": "^1.1.5",
- "@typescript-eslint/eslint-plugin": "8.58.2",
- "@typescript-eslint/parser": "8.58.2",
- "ajv": "8.18.0",
+ "@typescript-eslint/eslint-plugin": "8.60.0",
+ "@typescript-eslint/parser": "8.60.0",
+ "ajv": "8.20.0",
"buffer": "6.0.3",
"esbuild": "0.28.0",
"esbuild-wasm": "0.28.0",
- "eslint": "10.2.1",
+ "eslint": "10.4.0",
"eslint-config-prettier": "10.1.8",
"eslint-plugin-import": "2.32.0",
"express": "5.2.1",
"fast-glob": "3.3.3",
- "globals": "17.5.0",
+ "globals": "17.6.0",
"http-proxy": "^1.18.1",
- "http-proxy-middleware": "3.0.5",
+ "http-proxy-middleware": "4.0.0",
"husky": "9.1.7",
"jasmine": "~6.2.0",
"jasmine-core": "~6.2.0",
@@ -123,18 +123,18 @@
"lodash": "^4.17.21",
"magic-string": "0.30.21",
"prettier": "^3.0.0",
- "puppeteer": "24.41.0",
+ "puppeteer": "25.1.0",
"quicktype-core": "23.2.6",
- "rollup": "4.60.2",
+ "rollup": "4.60.4",
"rollup-license-plugin": "~3.2.0",
"rollup-plugin-dts": "6.4.1",
- "rollup-plugin-sourcemaps2": "0.5.6",
- "semver": "7.7.4",
+ "rollup-plugin-sourcemaps2": "0.5.7",
+ "semver": "7.8.1",
"source-map-support": "0.5.21",
"tslib": "2.8.1",
- "undici": "8.1.0",
+ "undici": "8.3.0",
"unenv": "^1.10.0",
- "verdaccio": "6.5.2",
+ "verdaccio": "6.7.2",
"verdaccio-auth-memory": "^13.0.0",
"zone.js": "^0.16.0"
},
@@ -145,25 +145,5 @@
"puppeteer": {
"built": true
}
- },
- "pnpm": {
- "onlyBuiltDependencies": [
- "webdriver-manager"
- ],
- "overrides": {
- "@angular/build": "workspace:*"
- },
- "packageExtensions": {
- "grpc-gcp": {
- "peerDependencies": {
- "protobufjs": "*"
- }
- },
- "vitest": {
- "peerDependencies": {
- "@vitest/coverage-v8": "*"
- }
- }
- }
}
}
diff --git a/packages/angular/build/package.json b/packages/angular/build/package.json
index ff5008622fd3..3c0aa9abd62a 100644
--- a/packages/angular/build/package.json
+++ b/packages/angular/build/package.json
@@ -20,10 +20,10 @@
"dependencies": {
"@ampproject/remapping": "2.3.0",
"@angular-devkit/architect": "workspace:0.0.0-EXPERIMENTAL-PLACEHOLDER",
- "@babel/core": "7.29.0",
- "@babel/helper-annotate-as-pure": "7.27.3",
+ "@babel/core": "7.29.7",
+ "@babel/helper-annotate-as-pure": "7.29.7",
"@babel/helper-split-export-declaration": "7.24.7",
- "@inquirer/confirm": "6.0.12",
+ "@inquirer/confirm": "6.1.0",
"@vitejs/plugin-basic-ssl": "2.3.0",
"beasties": "0.4.2",
"browserslist": "^4.26.0",
@@ -36,12 +36,12 @@
"parse5-html-rewriting-stream": "8.0.1",
"picomatch": "4.0.4",
"piscina": "5.1.4",
- "rollup": "4.60.2",
- "sass": "1.99.0",
- "semver": "7.7.4",
+ "rollup": "4.60.4",
+ "sass": "1.100.0",
+ "semver": "7.8.1",
"source-map-support": "0.5.21",
"tinyglobby": "0.2.16",
- "vite": "7.3.2",
+ "vite": "7.3.3",
"watchpack": "2.5.1"
},
"optionalDependencies": {
@@ -51,13 +51,13 @@
"@angular-devkit/core": "workspace:*",
"@angular/ssr": "workspace:*",
"istanbul-lib-instrument": "6.0.3",
- "jsdom": "29.0.2",
+ "jsdom": "29.1.1",
"less": "4.6.4",
- "ng-packagr": "22.0.0-next.3",
- "postcss": "8.5.10",
- "rolldown": "1.0.0-rc.16",
+ "ng-packagr": "22.0.0-rc.0",
+ "postcss": "8.5.15",
+ "rolldown": "1.0.2",
"rxjs": "7.8.2",
- "vitest": "4.1.4"
+ "vitest": "4.1.7"
},
"peerDependencies": {
"@angular/compiler": "0.0.0-ANGULAR-FW-PEER-DEP",
diff --git a/packages/angular/build/src/builders/application/build-action.ts b/packages/angular/build/src/builders/application/build-action.ts
index afc59785be7d..d483d32909c0 100644
--- a/packages/angular/build/src/builders/application/build-action.ts
+++ b/packages/angular/build/src/builders/application/build-action.ts
@@ -9,8 +9,8 @@
import { BuilderContext } from '@angular-devkit/architect';
import { existsSync } from 'node:fs';
import path from 'node:path';
-import { BuildOutputFile, BuildOutputFileType } from '../../tools/esbuild/bundler-context';
import { ExecutionResult, RebuildState } from '../../tools/esbuild/bundler-execution-result';
+import { BuildOutputFile, BuildOutputFileType } from '../../tools/esbuild/bundler-files';
import { shutdownSassWorkerPool } from '../../tools/esbuild/stylesheets/sass-language';
import { logMessages, withNoProgress, withSpinner } from '../../tools/esbuild/utils';
import { ChangedFiles } from '../../tools/esbuild/watcher';
diff --git a/packages/angular/build/src/builders/application/chunk-optimizer.ts b/packages/angular/build/src/builders/application/chunk-optimizer.ts
index 5898c95401ee..1586b48155ea 100644
--- a/packages/angular/build/src/builders/application/chunk-optimizer.ts
+++ b/packages/angular/build/src/builders/application/chunk-optimizer.ts
@@ -20,13 +20,13 @@
import type { Message, Metafile } from 'esbuild';
import assert from 'node:assert';
import { type Plugin, rollup } from 'rollup';
+import { BundleContextResult } from '../../tools/esbuild/bundler-context';
import {
- BuildOutputFile,
+ type BuildOutputFile,
BuildOutputFileType,
- BundleContextResult,
- InitialFileRecord,
-} from '../../tools/esbuild/bundler-context';
-import { createOutputFile } from '../../tools/esbuild/utils';
+ type InitialFileRecord,
+ createOutputFile,
+} from '../../tools/esbuild/bundler-files';
import { useRolldownChunks } from '../../utils/environment-options';
import { assertIsError } from '../../utils/error';
import { toPosixPath } from '../../utils/path';
diff --git a/packages/angular/build/src/builders/application/execute-build.ts b/packages/angular/build/src/builders/application/execute-build.ts
index 5aefadc9d904..d751eb7d298e 100644
--- a/packages/angular/build/src/builders/application/execute-build.ts
+++ b/packages/angular/build/src/builders/application/execute-build.ts
@@ -10,12 +10,9 @@ import { BuilderContext } from '@angular-devkit/architect';
import { createAngularCompilation } from '../../tools/angular/compilation';
import { SourceFileCache } from '../../tools/esbuild/angular/source-file-cache';
import { generateBudgetStats } from '../../tools/esbuild/budget-stats';
-import {
- BuildOutputFileType,
- BundleContextResult,
- BundlerContext,
-} from '../../tools/esbuild/bundler-context';
+import { BundleContextResult, BundlerContext } from '../../tools/esbuild/bundler-context';
import { ExecutionResult, RebuildState } from '../../tools/esbuild/bundler-execution-result';
+import { BuildOutputFileType } from '../../tools/esbuild/bundler-files';
import { checkCommonJSModules } from '../../tools/esbuild/commonjs-checker';
import { extractLicenses } from '../../tools/esbuild/license-extractor';
import { profileAsync } from '../../tools/esbuild/profiling';
@@ -163,7 +160,10 @@ export async function executeBuild(
// Only run if the number of lazy chunks meets the configured threshold.
// This avoids overhead for small projects with few chunks.
- if (lazyChunksCount >= optimizeChunksThreshold) {
+
+ // TODO: Remove this log once chunk optimization is supported for server builds as this
+ // causes the file to be renamed and thus causes incorrect preloading.
+ if (!options.serverEntryPoint && lazyChunksCount >= optimizeChunksThreshold) {
const { optimizeChunks } = await import('./chunk-optimizer');
const optimizationResult = await profileAsync('OPTIMIZE_CHUNKS', () =>
optimizeChunks(
diff --git a/packages/angular/build/src/builders/application/execute-post-bundle.ts b/packages/angular/build/src/builders/application/execute-post-bundle.ts
index 5171ca254d5d..aa931aaa5206 100644
--- a/packages/angular/build/src/builders/application/execute-post-bundle.ts
+++ b/packages/angular/build/src/builders/application/execute-post-bundle.ts
@@ -9,16 +9,16 @@
import type { Metafile } from 'esbuild';
import assert from 'node:assert';
import {
- BuildOutputFile,
- BuildOutputFileType,
- InitialFileRecord,
-} from '../../tools/esbuild/bundler-context';
-import {
- BuildOutputAsset,
- PrerenderedRoutesRecord,
+ type BuildOutputAsset,
+ type PrerenderedRoutesRecord,
} from '../../tools/esbuild/bundler-execution-result';
+import {
+ type BuildOutputFile,
+ BuildOutputFileType,
+ type InitialFileRecord,
+ createOutputFile,
+} from '../../tools/esbuild/bundler-files';
import { generateIndexHtml } from '../../tools/esbuild/index-html-generator';
-import { createOutputFile } from '../../tools/esbuild/utils';
import { maxWorkers } from '../../utils/environment-options';
import {
SERVER_APP_MANIFEST_FILENAME,
diff --git a/packages/angular/build/src/builders/application/i18n.ts b/packages/angular/build/src/builders/application/i18n.ts
index 081be50e7a9f..c83f1a29a30a 100644
--- a/packages/angular/build/src/builders/application/i18n.ts
+++ b/packages/angular/build/src/builders/application/i18n.ts
@@ -9,11 +9,11 @@
import { BuilderContext } from '@angular-devkit/architect';
import type { Metafile } from 'esbuild';
import { join } from 'node:path';
-import { BuildOutputFileType, InitialFileRecord } from '../../tools/esbuild/bundler-context';
import {
ExecutionResult,
PrerenderedRoutesRecord,
} from '../../tools/esbuild/bundler-execution-result';
+import { BuildOutputFileType, InitialFileRecord } from '../../tools/esbuild/bundler-files';
import { I18nInliner } from '../../tools/esbuild/i18n-inliner';
import { maxWorkers } from '../../utils/environment-options';
import { loadTranslations } from '../../utils/i18n-options';
diff --git a/packages/angular/build/src/builders/application/index.ts b/packages/angular/build/src/builders/application/index.ts
index d4671decc145..f127ef4bdc7f 100644
--- a/packages/angular/build/src/builders/application/index.ts
+++ b/packages/angular/build/src/builders/application/index.ts
@@ -10,7 +10,7 @@ import { Builder, BuilderContext, BuilderOutput, createBuilder } from '@angular-
import assert from 'node:assert';
import fs from 'node:fs/promises';
import path from 'node:path';
-import { BuildOutputFileType } from '../../tools/esbuild/bundler-context';
+import { BuildOutputFileType } from '../../tools/esbuild/bundler-files';
import { createJsonBuildManifest, emitFilesToDisk } from '../../tools/esbuild/utils';
import { colors as ansiColors } from '../../utils/color';
import { deleteOutputDir } from '../../utils/delete-output-dir';
diff --git a/packages/angular/build/src/builders/application/results.ts b/packages/angular/build/src/builders/application/results.ts
index 3e3f0dd99315..6fa23f9f19cd 100644
--- a/packages/angular/build/src/builders/application/results.ts
+++ b/packages/angular/build/src/builders/application/results.ts
@@ -6,7 +6,7 @@
* found in the LICENSE file at https://angular.dev/license
*/
-import { BuildOutputFileType } from '../../tools/esbuild/bundler-context';
+import { BuildOutputFileType } from '../../tools/esbuild/bundler-files';
export enum ResultKind {
Failure,
diff --git a/packages/angular/build/src/builders/application/tests/options/assets_spec.ts b/packages/angular/build/src/builders/application/tests/options/assets_spec.ts
index 573711afe3b2..afa42cc1804e 100644
--- a/packages/angular/build/src/builders/application/tests/options/assets_spec.ts
+++ b/packages/angular/build/src/builders/application/tests/options/assets_spec.ts
@@ -367,7 +367,29 @@ describeBuilder(buildApplication, APPLICATION_BUILDER_INFO, (harness) => {
const { error } = await harness.executeOnce({ outputLogsOnException: false });
- expect(error?.message).toMatch('asset path must be within the workspace root');
+ expect(error?.message).toContain('asset path must be within the workspace root');
+ });
+
+ it('fails if asset input option is outside workspace root (relative)', async () => {
+ harness.useTarget('build', {
+ ...BASE_OPTIONS,
+ assets: [{ glob: '**/*', input: '../outside', output: '.' }],
+ });
+
+ const { error } = await harness.executeOnce({ outputLogsOnException: false });
+
+ expect(error?.message).toContain('asset path must be within the workspace root');
+ });
+
+ it('fails if asset input option is outside workspace root (absolute)', async () => {
+ harness.useTarget('build', {
+ ...BASE_OPTIONS,
+ assets: [{ glob: '**/*', input: '/tmp/outside-workspace', output: '.' }],
+ });
+
+ const { error } = await harness.executeOnce({ outputLogsOnException: false });
+
+ expect(error?.message).toContain('asset path must be within the workspace root');
});
it('fails if output option is not within project output path', async () => {
diff --git a/packages/angular/build/src/builders/application/tests/options/subresource-integrity_spec.ts b/packages/angular/build/src/builders/application/tests/options/subresource-integrity_spec.ts
index f3ec9476b21f..5153045dba73 100644
--- a/packages/angular/build/src/builders/application/tests/options/subresource-integrity_spec.ts
+++ b/packages/angular/build/src/builders/application/tests/options/subresource-integrity_spec.ts
@@ -6,8 +6,25 @@
* found in the LICENSE file at https://angular.dev/license
*/
+import { getSystemPath } from '@angular-devkit/core';
+import { createHash } from 'node:crypto';
+import { readdirSync, readFileSync } from 'node:fs';
+import { join } from 'node:path';
import { buildApplication } from '../../index';
-import { APPLICATION_BUILDER_INFO, BASE_OPTIONS, describeBuilder, expectNoLog } from '../setup';
+import {
+ APPLICATION_BUILDER_INFO,
+ BASE_OPTIONS,
+ describeBuilder,
+ expectNoLog,
+ host,
+ lazyModuleFiles,
+ lazyModuleFnImport,
+} from '../setup';
+
+/** Resolve a path inside the harness workspace synchronously. */
+function workspacePath(...segments: string[]): string {
+ return join(getSystemPath(host.root()), ...segments);
+}
describeBuilder(buildApplication, APPLICATION_BUILDER_INFO, (harness) => {
describe('Option: "subresourceIntegrity"', () => {
@@ -65,5 +82,84 @@ describeBuilder(buildApplication, APPLICATION_BUILDER_INFO, (harness) => {
.content.toMatch(/integrity="\w+-[A-Za-z0-9/+=]+"/);
expectNoLog(logs, /subresource-integrity/);
});
+
+ it(`emits an importmap with integrity for lazy chunks when 'true'`, async () => {
+ await harness.writeFiles(lazyModuleFiles);
+ await harness.writeFiles(lazyModuleFnImport);
+
+ harness.useTarget('build', {
+ ...BASE_OPTIONS,
+ subresourceIntegrity: true,
+ });
+
+ const { result } = await harness.executeOnce();
+ expect(result?.success).toBe(true);
+
+ const indexHtml = harness.readFile('dist/browser/index.html');
+ const match = indexHtml.match(/`);
}
+ let subResourceIntegrityTag: string | undefined;
let headerLinkTags: string[] = [];
let bodyLinkTags: string[] = [];
+
+ // Emit an integrity-only import map so the browser can validate lazy chunks
+ // resolved via dynamic `import()` (which otherwise carry no SRI metadata).
+ // The block is placed first inside `` so it precedes any module
+ // script, as required by the import-map spec.
+ if (sri && chunksIntegrity?.size) {
+ const integrity: Record = {};
+ // Stable iteration order for reproducible builds.
+ const sortedEntries = [...chunksIntegrity.entries()].sort(([keyA], [keyB]) =>
+ keyA.localeCompare(keyB),
+ );
+ for (const [url, integrityHash] of sortedEntries) {
+ integrity[generateUrl(url, deployUrl)] = integrityHash;
+ }
+ const importMapJson = JSON.stringify({ integrity }).replace(/${importMapJson}`;
+ }
+
for (const src of stylesheets) {
const attrs = [`rel="stylesheet"`, `href="${generateUrl(src, deployUrl)}"`];
@@ -212,6 +256,9 @@ export async function augmentIndexHtml(
if (!baseTagExists && isString(baseHref)) {
rewriter.emitStartTag(tag);
rewriter.emitRaw(``);
+ if (subResourceIntegrityTag) {
+ rewriter.emitRaw(subResourceIntegrityTag);
+ }
return;
}
@@ -221,6 +268,9 @@ export async function augmentIndexHtml(
if (isString(baseHref)) {
updateAttribute(tag, 'href', baseHref);
}
+ if (subResourceIntegrityTag) {
+ rewriter.emitRaw(subResourceIntegrityTag);
+ }
break;
case 'link':
if (readAttribute(tag, 'rel') === 'preconnect') {
diff --git a/packages/angular/build/src/utils/index-file/augment-index-html_spec.ts b/packages/angular/build/src/utils/index-file/augment-index-html_spec.ts
index 55adf8d88f0b..f2801ab3202a 100644
--- a/packages/angular/build/src/utils/index-file/augment-index-html_spec.ts
+++ b/packages/angular/build/src/utils/index-file/augment-index-html_spec.ts
@@ -459,6 +459,22 @@ describe('augment-index-html', () => {
);
});
+ it('should escape `<` characters in inline importmap JSON', async () => {
+ const { content } = await augmentIndexHtml({
+ ...indexGeneratorOptions,
+ sri: true,
+ chunksIntegrity: new Map([['lazy([^<]+)<\/script>/);
+ expect(match).withContext('importmap script tag missing').not.toBeNull();
+ expect(match?.[1]).toContain('lazy\\u003cchunk.js');
+ expect(match?.[1]).not.toContain('lazy {
const imageDomains = ['https://www.example.com', 'https://www.example2.com'];
const { content, warnings } = await augmentIndexHtml({
diff --git a/packages/angular/build/src/utils/index-file/index-html-generator.ts b/packages/angular/build/src/utils/index-file/index-html-generator.ts
index 52a926ef58eb..fcece48647ae 100644
--- a/packages/angular/build/src/utils/index-file/index-html-generator.ts
+++ b/packages/angular/build/src/utils/index-file/index-html-generator.ts
@@ -49,6 +49,13 @@ export interface IndexHtmlGeneratorOptions {
imageDomains?: string[];
generateDedicatedSSRContent?: boolean;
autoCsp?: AutoCspOptions;
+
+ /**
+ * Integrity metadata for module URLs not directly referenced in the index
+ * (typically lazy-loaded chunks). Forwarded to {@link augmentIndexHtml} so
+ * a `` +
@@ -59,9 +57,7 @@ describe('Browser Builder index HTML processing', () => {
const output = await run.result;
expect(output.success).toBe(true);
const fileName = join(normalize(output.outputs[0].path), 'index.html');
- const content = virtualFs.fileBufferToString(
- await lastValueFrom(host.read(normalize(fileName))),
- );
+ const content = new TextDecoder().decode(await lastValueFrom(host.read(normalize(fileName))));
expect(content).toBe(
`` +
`` +
@@ -84,9 +80,7 @@ describe('Browser Builder index HTML processing', () => {
const output = await run.result;
expect(output.success).toBe(true);
const fileName = join(normalize(output.outputs[0].path), 'index.html');
- const content = virtualFs.fileBufferToString(
- await lastValueFrom(host.read(normalize(fileName))),
- );
+ const content = new TextDecoder().decode(await lastValueFrom(host.read(normalize(fileName))));
expect(content).toBe(
`í ` +
`` +
@@ -108,9 +102,7 @@ describe('Browser Builder index HTML processing', () => {
const output = await run.result;
expect(output.success).toBe(true);
const fileName = join(normalize(output.outputs[0].path), 'index.html');
- const content = virtualFs.fileBufferToString(
- await lastValueFrom(host.read(normalize(fileName))),
- );
+ const content = new TextDecoder().decode(await lastValueFrom(host.read(normalize(fileName))));
expect(content).toBe(
`<%= csrf_meta_tags %> ` +
`` +
@@ -159,7 +151,7 @@ describe('Browser Builder index HTML processing', () => {
const outputIndexPath = join(host.root(), 'dist', 'index.html');
const content = await lastValueFrom(host.read(normalize(outputIndexPath)));
- expect(virtualFs.fileBufferToString(content)).toBe(
+ expect(new TextDecoder().decode(content)).toBe(
`<%= csrf_meta_tags %> ` +
`` +
`` +
@@ -206,7 +198,7 @@ describe('Browser Builder index HTML processing', () => {
const outputIndexPath = join(host.root(), 'dist', 'main.html');
const content = await lastValueFrom(host.read(normalize(outputIndexPath)));
- expect(virtualFs.fileBufferToString(content)).toBe(
+ expect(new TextDecoder().decode(content)).toBe(
` ` +
`` +
`` +
@@ -253,7 +245,7 @@ describe('Browser Builder index HTML processing', () => {
const outputIndexPath = join(host.root(), 'dist', 'extra', 'main.html');
const content = await lastValueFrom(host.read(normalize(outputIndexPath)));
- expect(virtualFs.fileBufferToString(content)).toBe(
+ expect(new TextDecoder().decode(content)).toBe(
` ` +
`` +
`` +
diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/output-path_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/output-path_spec.ts
index 2d10b0afa2da..d949ac65dc5a 100644
--- a/packages/angular_devkit/build_angular/src/builders/browser/specs/output-path_spec.ts
+++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/output-path_spec.ts
@@ -7,7 +7,7 @@
*/
import { Architect } from '@angular-devkit/architect';
-import { getSystemPath, join, virtualFs } from '@angular-devkit/core';
+import { getSystemPath, join } from '@angular-devkit/core';
import * as fs from 'node:fs';
import { browserBuild, createArchitect, host } from '../../../testing/test-utils';
@@ -24,7 +24,7 @@ describe('Browser Builder output path', () => {
it('deletes output path content', async () => {
// Write a file to the output path to later verify it was deleted.
await host
- .write(join(host.root(), 'dist/file.txt'), virtualFs.stringToFileBuffer('file'))
+ .write(join(host.root(), 'dist/file.txt'), new TextEncoder().encode('file').buffer)
.toPromise();
// Delete an app file to force a failed compilation.
@@ -42,7 +42,7 @@ describe('Browser Builder output path', () => {
// Write a file to the output path to later verify it was deleted.
host.writeMultipleFiles({
'src-link/a.txt': '',
- 'dist/file.txt': virtualFs.stringToFileBuffer('file'),
+ 'dist/file.txt': new TextEncoder().encode('file').buffer,
});
const distLinked = join(host.root(), 'dist', 'linked');
diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/rebuild_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/rebuild_spec.ts
index fbceb61d270d..46113a05275e 100644
--- a/packages/angular_devkit/build_angular/src/builders/browser/specs/rebuild_spec.ts
+++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/rebuild_spec.ts
@@ -7,7 +7,7 @@
*/
import { Architect } from '@angular-devkit/architect';
-import { join, logging, normalize, virtualFs } from '@angular-devkit/core';
+import { join, logging, normalize } from '@angular-devkit/core';
import { debounceTime, take, takeWhile, tap, timeout } from 'rxjs';
import {
createArchitect,
@@ -104,9 +104,7 @@ describe('Browser Builder rebuilds', () => {
/\$\$_E2E_GOLDEN_VALUE_3/.source,
);
const fileName = './dist/main.js';
- const content = virtualFs.fileBufferToString(
- host.scopedSync().read(normalize(fileName)),
- );
+ const content = new TextDecoder().decode(host.scopedSync().read(normalize(fileName)));
if (re.test(content)) {
phase = 4;
@@ -311,7 +309,7 @@ describe('Browser Builder rebuilds', () => {
});
it('rebuilds after errors in JIT', async () => {
- const origContent = virtualFs.fileBufferToString(
+ const origContent = new TextDecoder().decode(
host.scopedSync().read(normalize('src/app/app.component.ts')),
);
host.appendToFile('./src/app/app.component.ts', `]]]]`);
@@ -348,7 +346,7 @@ describe('Browser Builder rebuilds', () => {
it('rebuilds after errors in AOT', async () => {
// Save the original contents of `./src/app/app.component.ts`.
- const origContent = virtualFs.fileBufferToString(
+ const origContent = new TextDecoder().decode(
host.scopedSync().read(normalize('src/app/app.component.ts')),
);
// Add a major static analysis error on a non-main file to the initial build.
@@ -495,7 +493,7 @@ describe('Browser Builder rebuilds', () => {
case 4:
// Check if html changes are added to factories.
expect(buildEvent.success).toBe(true);
- content = virtualFs.fileBufferToString(host.scopedSync().read(normalize(fileName)));
+ content = new TextDecoder().decode(host.scopedSync().read(normalize(fileName)));
expect(content).toContain('HTML_REBUILD_STRING');
// Change the component css.
host.appendToFile('src/app/app.component.css', 'CSS_REBUILD_STRING {color: #f00;}');
@@ -504,7 +502,7 @@ describe('Browser Builder rebuilds', () => {
case 5:
// Check if css changes are added to factories.
expect(buildEvent.success).toBe(true);
- content = virtualFs.fileBufferToString(host.scopedSync().read(normalize(fileName)));
+ content = new TextDecoder().decode(host.scopedSync().read(normalize(fileName)));
expect(content).toContain('CSS_REBUILD_STRING');
// Change the component css import.
host.appendToFile(
@@ -516,7 +514,7 @@ describe('Browser Builder rebuilds', () => {
case 6:
// Check if css import changes are added to factories.
expect(buildEvent.success).toBe(true);
- content = virtualFs.fileBufferToString(host.scopedSync().read(normalize(fileName)));
+ content = new TextDecoder().decode(host.scopedSync().read(normalize(fileName)));
expect(content).toContain('CSS_DEP_REBUILD_STRING');
// Change the component itself.
host.replaceInFile(
@@ -529,7 +527,7 @@ describe('Browser Builder rebuilds', () => {
case 7:
// Check if component changes are added to factories.
expect(buildEvent.success).toBe(true);
- content = virtualFs.fileBufferToString(host.scopedSync().read(normalize(fileName)));
+ content = new TextDecoder().decode(host.scopedSync().read(normalize(fileName)));
expect(content).toContain('FACTORY_REBUILD_STRING');
break;
}
@@ -593,7 +591,7 @@ describe('Browser Builder rebuilds', () => {
.pipe(
debounceTime(rebuildDebounceTime),
tap(() => {
- const content = virtualFs.fileBufferToString(
+ const content = new TextDecoder().decode(
host.scopedSync().read(join(outputPath, 'main.js')),
);
@@ -626,7 +624,7 @@ describe('Browser Builder rebuilds', () => {
timeout(BUILD_TIMEOUT),
debounceTime(rebuildDebounceTime),
tap(() => {
- const content = virtualFs.fileBufferToString(
+ const content = new TextDecoder().decode(
host.scopedSync().read(join(outputPath, 'main.js')),
);
diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/replacements_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/replacements_spec.ts
index f3d789202a6e..eebb48550748 100644
--- a/packages/angular_devkit/build_angular/src/builders/browser/specs/replacements_spec.ts
+++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/replacements_spec.ts
@@ -7,7 +7,7 @@
*/
import { Architect } from '@angular-devkit/architect';
-import { logging, normalize, virtualFs } from '@angular-devkit/core';
+import { logging, normalize } from '@angular-devkit/core';
import { delay, filter, map, of, race, take, takeUntil, takeWhile, tap, timeout } from 'rxjs';
import { browserBuild, createArchitect, host } from '../../../testing/test-utils';
@@ -116,7 +116,7 @@ describe('Browser Builder file replacements', () => {
expect(result.success).toBe(true, 'build should succeed');
const fileName = normalize('dist/main.js');
- const content = virtualFs.fileBufferToString(host.scopedSync().read(fileName));
+ const content = new TextDecoder().decode(host.scopedSync().read(fileName));
const has42 = /meaning\s*=\s*42/.test(content);
buildCount++;
switch (phase) {
diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/resolve-json-module_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/resolve-json-module_spec.ts
index f1ca4f069c76..379dea990e5e 100644
--- a/packages/angular_devkit/build_angular/src/builders/browser/specs/resolve-json-module_spec.ts
+++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/resolve-json-module_spec.ts
@@ -7,7 +7,7 @@
*/
import { Architect } from '@angular-devkit/architect';
-import { join, virtualFs } from '@angular-devkit/core';
+import { join } from '@angular-devkit/core';
import { take, tap } from 'rxjs';
import { createArchitect, host, outputPath } from '../../../testing/test-utils';
@@ -40,7 +40,7 @@ describe('Browser Builder resolve json module', () => {
await run.output
.pipe(
tap(() => {
- const content = virtualFs.fileBufferToString(
+ const content = new TextDecoder().decode(
host.scopedSync().read(join(outputPath, 'main.js')),
);
diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/service-worker_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/service-worker_spec.ts
index 9f00c7f73092..4cd6b6b6e7d9 100644
--- a/packages/angular_devkit/build_angular/src/builders/browser/specs/service-worker_spec.ts
+++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/service-worker_spec.ts
@@ -7,7 +7,7 @@
*/
import { Architect } from '@angular-devkit/architect';
-import { join, normalize, virtualFs } from '@angular-devkit/core';
+import { join, normalize } from '@angular-devkit/core';
import { debounceTime, take, tap } from 'rxjs';
import { createArchitect, host } from '../../../testing/test-utils';
@@ -86,7 +86,7 @@ describe('Browser Builder service worker', () => {
expect(host.scopedSync().exists(normalize('dist/ngsw.json'))).toBeTrue();
const ngswJson = JSON.parse(
- virtualFs.fileBufferToString(host.scopedSync().read(normalize('dist/ngsw.json'))),
+ new TextDecoder().decode(host.scopedSync().read(normalize('dist/ngsw.json'))),
);
// Verify index and assets are there.
expect(ngswJson).toEqual(
@@ -154,7 +154,7 @@ describe('Browser Builder service worker', () => {
const ngswJsonPath = normalize('dist/ngsw.json');
expect(host.scopedSync().exists(ngswJsonPath)).toBeTrue();
const ngswJson = JSON.parse(
- virtualFs.fileBufferToString(host.scopedSync().read(ngswJsonPath)),
+ new TextDecoder().decode(host.scopedSync().read(ngswJsonPath)),
);
const hashTableEntries = Object.keys(ngswJson.hashTable);
@@ -203,7 +203,7 @@ describe('Browser Builder service worker', () => {
expect(host.scopedSync().exists(normalize('dist/ngsw.json'))).toBeTrue();
const ngswJson = JSON.parse(
- virtualFs.fileBufferToString(host.scopedSync().read(normalize('dist/ngsw.json'))),
+ new TextDecoder().decode(host.scopedSync().read(normalize('dist/ngsw.json'))),
);
// Verify index and assets include the base href.
expect(ngswJson).toEqual(
diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/svg_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/svg_spec.ts
index 2be5e2737d43..4fe80e923b2e 100644
--- a/packages/angular_devkit/build_angular/src/builders/browser/specs/svg_spec.ts
+++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/svg_spec.ts
@@ -7,7 +7,7 @@
*/
import { Architect } from '@angular-devkit/architect';
-import { join, normalize, virtualFs } from '@angular-devkit/core';
+import { join, normalize } from '@angular-devkit/core';
import { createArchitect, host, outputPath } from '../../../testing/test-utils';
describe('Browser Builder allow svg', () => {
@@ -53,9 +53,7 @@ describe('Browser Builder allow svg', () => {
expect(exists).toBe(true, '"main.js" should exist');
if (exists) {
- const content = virtualFs.fileBufferToString(
- host.scopedSync().read(join(outputPath, 'main.js')),
- );
+ const content = new TextDecoder().decode(host.scopedSync().read(join(outputPath, 'main.js')));
// Verify that the svg contents are present in the main bundle,
// e.g. as template instructions.
diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/tsconfig-paths_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/tsconfig-paths_spec.ts
index 80285bf5499d..b097b7c078a0 100644
--- a/packages/angular_devkit/build_angular/src/builders/browser/specs/tsconfig-paths_spec.ts
+++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/tsconfig-paths_spec.ts
@@ -7,7 +7,7 @@
*/
import { Architect } from '@angular-devkit/architect';
-import { normalize, virtualFs } from '@angular-devkit/core';
+import { normalize } from '@angular-devkit/core';
import { browserBuild, createArchitect, host } from '../../../testing/test-utils';
describe('Browser Builder tsconfig paths', () => {
@@ -24,14 +24,14 @@ describe('Browser Builder tsconfig paths', () => {
host.replaceInFile('src/app/app.module.ts', './app.component', '@root/app/app.component');
const tsconfigPath = normalize('tsconfig.json');
- const tsconfig = JSON.parse(virtualFs.fileBufferToString(host.scopedSync().read(tsconfigPath)));
+ const tsconfig = JSON.parse(new TextDecoder().decode(host.scopedSync().read(tsconfigPath)));
tsconfig.compilerOptions ??= {};
tsconfig.compilerOptions.paths = {
'@root/*': ['./src/*'],
};
host
.scopedSync()
- .write(tsconfigPath, virtualFs.stringToFileBuffer(JSON.stringify(tsconfig, null, 2)));
+ .write(tsconfigPath, new TextEncoder().encode(JSON.stringify(tsconfig, null, 2)).buffer);
await browserBuild(architect, host, target);
});
@@ -43,7 +43,7 @@ describe('Browser Builder tsconfig paths', () => {
'src/app/shared/index.ts': `export * from './meaning'`,
});
const tsconfigPath = normalize('tsconfig.json');
- const tsconfig = JSON.parse(virtualFs.fileBufferToString(host.scopedSync().read(tsconfigPath)));
+ const tsconfig = JSON.parse(new TextDecoder().decode(host.scopedSync().read(tsconfigPath)));
tsconfig.compilerOptions ??= {};
tsconfig.compilerOptions.paths = {
'@shared': ['./src/app/shared'],
@@ -52,7 +52,7 @@ describe('Browser Builder tsconfig paths', () => {
};
host
.scopedSync()
- .write(tsconfigPath, virtualFs.stringToFileBuffer(JSON.stringify(tsconfig, null, 2)));
+ .write(tsconfigPath, new TextEncoder().encode(JSON.stringify(tsconfig, null, 2)).buffer);
host.appendToFile(
'src/app/app.component.ts',
diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/web-worker_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/web-worker_spec.ts
index 6656a51c2444..b468b496212c 100644
--- a/packages/angular_devkit/build_angular/src/builders/browser/specs/web-worker_spec.ts
+++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/web-worker_spec.ts
@@ -7,7 +7,7 @@
*/
import { Architect } from '@angular-devkit/architect';
-import { join, logging, virtualFs } from '@angular-devkit/core';
+import { join, logging } from '@angular-devkit/core';
import { debounceTime, lastValueFrom, map, switchMap, takeWhile, tap, timer } from 'rxjs';
import { browserBuild, createArchitect, host, outputPath } from '../../../testing/test-utils';
@@ -90,14 +90,14 @@ describe('Browser Builder Web Worker support', () => {
await browserBuild(architect, host, target, overrides, { logger });
// Worker bundle contains worker code.
- const workerContent = virtualFs.fileBufferToString(
+ const workerContent = new TextDecoder().decode(
host.scopedSync().read(join(outputPath, 'src_app_app_worker_ts.js')),
);
expect(workerContent).toContain('hello from worker');
expect(workerContent).toContain('bar');
// Main bundle references worker.
- const mainContent = virtualFs.fileBufferToString(
+ const mainContent = new TextDecoder().decode(
host.scopedSync().read(join(outputPath, 'main.js')),
);
expect(mainContent).toContain('src_app_app_worker_ts');
@@ -119,7 +119,7 @@ describe('Browser Builder Web Worker support', () => {
/src_app_app_worker_ts\.[0-9a-f]{16}\.js/,
) as string;
expect(workerBundle).toBeTruthy('workerBundle should exist');
- const workerContent = virtualFs.fileBufferToString(
+ const workerContent = new TextDecoder().decode(
host.scopedSync().read(join(outputPath, workerBundle)),
);
expect(workerContent).toContain('hello from worker');
@@ -129,7 +129,7 @@ describe('Browser Builder Web Worker support', () => {
// Main bundle should reference hashed worker bundle.
const mainBundle = host.fileMatchExists(outputPath, /main\.[0-9a-f]{16}\.js/) as string;
expect(mainBundle).toBeTruthy('mainBundle should exist');
- const mainContent = virtualFs.fileBufferToString(
+ const mainContent = new TextDecoder().decode(
host.scopedSync().read(join(outputPath, mainBundle)),
);
expect(mainContent).toContain('src_app_app_worker_ts');
@@ -159,7 +159,7 @@ describe('Browser Builder Web Worker support', () => {
switch (phase) {
case 1:
// Original worker content should be there.
- workerContent = virtualFs.fileBufferToString(host.scopedSync().read(workerPath));
+ workerContent = new TextDecoder().decode(host.scopedSync().read(workerPath));
expect(workerContent).toContain('bar');
// Change content of worker dependency.
host.writeMultipleFiles({ 'src/app/dep.ts': `export const foo = 'baz';` });
@@ -167,7 +167,7 @@ describe('Browser Builder Web Worker support', () => {
break;
case 2:
- workerContent = virtualFs.fileBufferToString(host.scopedSync().read(workerPath));
+ workerContent = new TextDecoder().decode(host.scopedSync().read(workerPath));
// Worker content should have changed.
expect(workerContent).toContain('baz');
phase = 3;
diff --git a/packages/angular_devkit/build_angular/src/builders/browser/tests/options/assets_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/tests/options/assets_spec.ts
index b8752e7c275e..c7ac266cf036 100644
--- a/packages/angular_devkit/build_angular/src/builders/browser/tests/options/assets_spec.ts
+++ b/packages/angular_devkit/build_angular/src/builders/browser/tests/options/assets_spec.ts
@@ -359,6 +359,28 @@ describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => {
harness.expectFile('dist/subdirectory/test.svg').content.toBe('');
});
+ it('fails if asset input option is outside workspace root (relative)', async () => {
+ harness.useTarget('build', {
+ ...BASE_OPTIONS,
+ assets: [{ glob: '**/*', input: '../outside', output: '.' }],
+ });
+
+ const { result } = await harness.executeOnce();
+
+ expect(result?.error).toMatch('asset path must be within the workspace root');
+ });
+
+ it('fails if asset input option is outside workspace root (absolute)', async () => {
+ harness.useTarget('build', {
+ ...BASE_OPTIONS,
+ assets: [{ glob: '**/*', input: '/tmp/outside-workspace', output: '.' }],
+ });
+
+ const { result } = await harness.executeOnce();
+
+ expect(result?.error).toMatch('asset path must be within the workspace root');
+ });
+
it('fails if output option is not within project output path', async () => {
await harness.writeFile('test.svg', '');
diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/builder.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/builder.ts
index b3b5e797848f..1e03eef28ef0 100644
--- a/packages/angular_devkit/build_angular/src/builders/dev-server/builder.ts
+++ b/packages/angular_devkit/build_angular/src/builders/dev-server/builder.ts
@@ -57,6 +57,11 @@ export function execute(
return EMPTY;
}
+ context.logger.warn(
+ 'The "@angular-devkit/build-angular:dev-server" builder is deprecated as part of Angular\'s Webpack support deprecation. ' +
+ 'Use "@angular/build:dev-server" instead. For more information, see https://angular.dev/tools/cli/build-system-migration.',
+ );
+
return defer(() => initialize(options, projectName, context, extensions?.builderSelector)).pipe(
switchMap(({ builderName, normalizedOptions }) => {
// Use vite-based development server for esbuild-based builds
diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/specs/works_spec.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/specs/works_spec.ts
index e0a442ca38ae..14290fc4e5db 100644
--- a/packages/angular_devkit/build_angular/src/builders/dev-server/specs/works_spec.ts
+++ b/packages/angular_devkit/build_angular/src/builders/dev-server/specs/works_spec.ts
@@ -8,7 +8,7 @@
import { Architect, BuilderRun } from '@angular-devkit/architect';
import { EmittedFiles } from '@angular-devkit/build-webpack';
-import { normalize, virtualFs } from '@angular-devkit/core';
+import { normalize } from '@angular-devkit/core';
import { createArchitect, host } from '../../../testing/test-utils';
import { DevServerBuilderOutput } from '../index';
@@ -73,7 +73,7 @@ describe('Dev Server Builder', () => {
it('uses source locale when not localizing', async () => {
const config = host.scopedSync().read(normalize('angular.json'));
- const jsonConfig = JSON.parse(virtualFs.fileBufferToString(config));
+ const jsonConfig = JSON.parse(new TextDecoder().decode(config));
const applicationProject = jsonConfig.projects.app;
applicationProject.i18n = { sourceLocale: 'fr' };
diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/tests/options/headers_spec.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/tests/options/headers_spec.ts
new file mode 100644
index 000000000000..d87def49b30e
--- /dev/null
+++ b/packages/angular_devkit/build_angular/src/builders/dev-server/tests/options/headers_spec.ts
@@ -0,0 +1,65 @@
+/**
+ * @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 { executeDevServer } from '../../index';
+import { executeOnceAndFetch } from '../execute-fetch';
+import { describeServeBuilder } from '../jasmine-helpers';
+import { BASE_OPTIONS, DEV_SERVER_BUILDER_INFO } from '../setup';
+
+describeServeBuilder(executeDevServer, DEV_SERVER_BUILDER_INFO, (harness, setupTarget) => {
+ describe('option: "headers"', () => {
+ beforeEach(async () => {
+ setupTarget(harness, {
+ styles: ['src/styles.css'],
+ });
+
+ // Application code is not needed for these tests
+ await harness.writeFile('src/main.ts', '');
+ await harness.writeFile('src/styles.css', '');
+ });
+
+ it('index response headers should include configured header', async () => {
+ harness.useTarget('serve', {
+ ...BASE_OPTIONS,
+ headers: {
+ 'x-custom': 'foo',
+ },
+ });
+
+ const { result, response } = await executeOnceAndFetch(harness, '/');
+
+ expect(result?.success).toBeTrue();
+ expect(await response?.headers.get('x-custom')).toBe('foo');
+ });
+
+ it('should include configured Access-Control-Allow-Origin header', async () => {
+ harness.useTarget('serve', {
+ ...BASE_OPTIONS,
+ headers: {
+ 'Access-Control-Allow-Origin': 'http://example.com',
+ },
+ });
+
+ const { result, response } = await executeOnceAndFetch(harness, '/main.js');
+
+ expect(result?.success).toBeTrue();
+ expect(await response?.headers.get('access-control-allow-origin')).toBe('http://example.com');
+ });
+
+ it('should not include Access-Control-Allow-Origin header by default', async () => {
+ harness.useTarget('serve', {
+ ...BASE_OPTIONS,
+ });
+
+ const { result, response } = await executeOnceAndFetch(harness, '/main.js');
+
+ expect(result?.success).toBeTrue();
+ expect(await response?.headers.has('access-control-allow-origin')).toBeFalse();
+ });
+ });
+});
diff --git a/packages/angular_devkit/build_angular/src/builders/extract-i18n/builder.ts b/packages/angular_devkit/build_angular/src/builders/extract-i18n/builder.ts
index 0b08e10b40be..2dc678fe6bc3 100644
--- a/packages/angular_devkit/build_angular/src/builders/extract-i18n/builder.ts
+++ b/packages/angular_devkit/build_angular/src/builders/extract-i18n/builder.ts
@@ -35,6 +35,11 @@ export async function execute(
return { success: false };
}
+ context.logger.warn(
+ 'The "@angular-devkit/build-angular:extract-i18n" builder is deprecated as part of Angular\'s Webpack support deprecation. ' +
+ 'Use "@angular/build:extract-i18n" instead. For more information, see https://angular.dev/tools/cli/build-system-migration.',
+ );
+
const { projectType } = (await context.getProjectMetadata(projectName)) as {
projectType?: string;
};
diff --git a/packages/angular_devkit/build_angular/src/builders/extract-i18n/works_spec.ts b/packages/angular_devkit/build_angular/src/builders/extract-i18n/works_spec.ts
index 1f29fb96a581..9c08396005f0 100644
--- a/packages/angular_devkit/build_angular/src/builders/extract-i18n/works_spec.ts
+++ b/packages/angular_devkit/build_angular/src/builders/extract-i18n/works_spec.ts
@@ -7,7 +7,7 @@
*/
import { Architect } from '@angular-devkit/architect';
-import { join, logging, normalize, virtualFs } from '@angular-devkit/core';
+import { join, logging, normalize } from '@angular-devkit/core';
import { createArchitect, extractI18nTargetSpec, host } from '../../testing/test-utils';
describe('Extract i18n Target', () => {
@@ -34,7 +34,7 @@ describe('Extract i18n Target', () => {
expect(exists).toBe(true);
if (exists) {
- const content = virtualFs.fileBufferToString(host.scopedSync().read(extractionFile));
+ const content = new TextDecoder().decode(host.scopedSync().read(extractionFile));
expect(content).toContain('i18n test');
}
});
@@ -85,9 +85,7 @@ describe('Extract i18n Target', () => {
await run.stop();
expect(host.scopedSync().exists(extractionFile)).toBe(true);
- expect(virtualFs.fileBufferToString(host.scopedSync().read(extractionFile))).toMatch(
- /i18n test/,
- );
+ expect(new TextDecoder().decode(host.scopedSync().read(extractionFile))).toMatch(/i18n test/);
});
it('supports output path', async () => {
@@ -104,9 +102,7 @@ describe('Extract i18n Target', () => {
await run.stop();
expect(host.scopedSync().exists(extractionFile)).toBe(true);
- expect(virtualFs.fileBufferToString(host.scopedSync().read(extractionFile))).toMatch(
- /i18n test/,
- );
+ expect(new TextDecoder().decode(host.scopedSync().read(extractionFile))).toMatch(/i18n test/);
});
it('supports i18n format', async () => {
@@ -121,9 +117,7 @@ describe('Extract i18n Target', () => {
await run.stop();
expect(host.scopedSync().exists(extractionFile)).toBe(true);
- expect(virtualFs.fileBufferToString(host.scopedSync().read(extractionFile))).toMatch(
- /i18n test/,
- );
+ expect(new TextDecoder().decode(host.scopedSync().read(extractionFile))).toMatch(/i18n test/);
});
it('issues warnings for duplicate message identifiers', async () => {
diff --git a/packages/angular_devkit/build_angular/src/builders/karma/index.ts b/packages/angular_devkit/build_angular/src/builders/karma/index.ts
index 1ea20e0f5db4..6acc9e71b2ae 100644
--- a/packages/angular_devkit/build_angular/src/builders/karma/index.ts
+++ b/packages/angular_devkit/build_angular/src/builders/karma/index.ts
@@ -39,6 +39,11 @@ export async function* execute(
karmaOptions?: (options: KarmaConfigOptions) => KarmaConfigOptions;
} = {},
): AsyncIterable {
+ context.logger.warn(
+ 'The "@angular-devkit/build-angular:karma" builder is deprecated as part of Angular\'s Webpack support deprecation. ' +
+ 'Use "@angular/build:karma" instead. For more information, see https://angular.dev/tools/cli/build-system-migration.',
+ );
+
// Check Angular version.
assertCompatibleAngularVersion(context.workspaceRoot);
diff --git a/packages/angular_devkit/build_angular/src/builders/ng-packagr/index.ts b/packages/angular_devkit/build_angular/src/builders/ng-packagr/index.ts
index 42533a33aa0d..7523e2be45af 100644
--- a/packages/angular_devkit/build_angular/src/builders/ng-packagr/index.ts
+++ b/packages/angular_devkit/build_angular/src/builders/ng-packagr/index.ts
@@ -22,6 +22,11 @@ export function execute(
options: NgPackagrBuilderOptions,
context: BuilderContext,
): Observable {
+ context.logger.warn(
+ 'The "@angular-devkit/build-angular:ng-packagr" builder is deprecated as part of Angular\'s Webpack support deprecation. ' +
+ 'Use "@angular/build:ng-packagr" instead. For more information, see https://angular.dev/tools/cli/build-system-migration.',
+ );
+
return from(
(async () => {
// Purge old build disk cache.
diff --git a/packages/angular_devkit/build_angular/src/builders/ng-packagr/works_spec.ts b/packages/angular_devkit/build_angular/src/builders/ng-packagr/works_spec.ts
index 90581f9d9437..990aed869d42 100644
--- a/packages/angular_devkit/build_angular/src/builders/ng-packagr/works_spec.ts
+++ b/packages/angular_devkit/build_angular/src/builders/ng-packagr/works_spec.ts
@@ -9,14 +9,7 @@
import { Architect } from '@angular-devkit/architect';
import { WorkspaceNodeModulesArchitectHost } from '@angular-devkit/architect/node';
import { TestProjectHost, TestingArchitectHost } from '@angular-devkit/architect/testing';
-import {
- getSystemPath,
- join,
- normalize,
- schema,
- virtualFs,
- workspaces,
-} from '@angular-devkit/core';
+import { getSystemPath, join, normalize, schema, workspaces } from '@angular-devkit/core';
import { debounceTime, map, take, tap } from 'rxjs';
describe('NgPackagr Builder', () => {
@@ -67,7 +60,7 @@ describe('NgPackagr Builder', () => {
await run.stop();
expect(host.scopedSync().exists(normalize('./dist/lib/fesm2022/lib.mjs'))).toBe(true);
- const content = virtualFs.fileBufferToString(
+ const content = new TextDecoder().decode(
host.scopedSync().read(normalize('./dist/lib/fesm2022/lib.mjs')),
);
expect(content).toContain('lib works');
@@ -101,7 +94,7 @@ describe('NgPackagr Builder', () => {
debounceTime(1000),
map(() => {
const fileName = './dist/lib/fesm2022/lib.mjs';
- const content = virtualFs.fileBufferToString(host.scopedSync().read(normalize(fileName)));
+ const content = new TextDecoder().decode(host.scopedSync().read(normalize(fileName)));
return content;
}),
diff --git a/packages/angular_devkit/build_angular/src/builders/prerender/index.ts b/packages/angular_devkit/build_angular/src/builders/prerender/index.ts
index 5fa433f26e8c..4d01c5a3cd3b 100644
--- a/packages/angular_devkit/build_angular/src/builders/prerender/index.ts
+++ b/packages/angular_devkit/build_angular/src/builders/prerender/index.ts
@@ -278,6 +278,11 @@ export async function execute(
options: PrerenderBuilderOptions,
context: BuilderContext,
): Promise {
+ context.logger.warn(
+ 'The "@angular-devkit/build-angular:prerender" builder is deprecated as part of Angular\'s Webpack support deprecation. ' +
+ 'Use "@angular/build:application" instead. For more information, see https://angular.dev/tools/cli/build-system-migration.',
+ );
+
const browserTarget = targetFromTargetString(options.browserTarget);
const browserOptions = (await context.getTargetOptions(
browserTarget,
diff --git a/packages/angular_devkit/build_angular/src/builders/prerender/works_spec.ts b/packages/angular_devkit/build_angular/src/builders/prerender/works_spec.ts
index 8c55c923d02d..797d88f8e7a6 100644
--- a/packages/angular_devkit/build_angular/src/builders/prerender/works_spec.ts
+++ b/packages/angular_devkit/build_angular/src/builders/prerender/works_spec.ts
@@ -7,7 +7,7 @@
*/
import { Architect } from '@angular-devkit/architect';
-import { join, normalize, virtualFs } from '@angular-devkit/core';
+import { join, normalize } from '@angular-devkit/core';
import { createArchitect, host } from '../../testing/test-utils';
describe('Prerender Builder', () => {
@@ -94,7 +94,7 @@ describe('Prerender Builder', () => {
expect(output.success).toBe(true);
- const content = virtualFs.fileBufferToString(
+ const content = new TextDecoder().decode(
host.scopedSync().read(normalize('dist/foo/index.html')),
);
@@ -109,17 +109,17 @@ describe('Prerender Builder', () => {
expect(output.success).toBe(true);
- let content = virtualFs.fileBufferToString(
+ let content = new TextDecoder().decode(
host.scopedSync().read(normalize('dist/foo/index.html')),
);
expect(content).toContain('foo works!');
- content = virtualFs.fileBufferToString(
+ content = new TextDecoder().decode(
host.scopedSync().read(normalize('dist/index.original.html')),
);
expect(content).not.toContain(' {
await host
.write(
join(host.root(), 'routes-file.txt'),
- virtualFs.stringToFileBuffer(['/foo', '/'].join('\n')),
+ new TextEncoder().encode(['/foo', '/'].join('\n')).buffer,
)
.toPromise();
const run = await architect.scheduleTarget(target, {
@@ -140,10 +140,10 @@ describe('Prerender Builder', () => {
expect(output.success).toBe(true);
- const fooContent = virtualFs.fileBufferToString(
+ const fooContent = new TextDecoder().decode(
host.scopedSync().read(normalize('dist/foo/index.html')),
);
- const appContent = virtualFs.fileBufferToString(
+ const appContent = new TextDecoder().decode(
host.scopedSync().read(normalize('dist/index.html')),
);
@@ -173,10 +173,10 @@ describe('Prerender Builder', () => {
});
const output = await run.result;
- const fooContent = virtualFs.fileBufferToString(
+ const fooContent = new TextDecoder().decode(
host.scopedSync().read(normalize('dist/foo/index.html')),
);
- const appContent = virtualFs.fileBufferToString(
+ const appContent = new TextDecoder().decode(
host.scopedSync().read(normalize('dist/index.html')),
);
@@ -214,7 +214,7 @@ describe('Prerender Builder', () => {
expect(output.success).toBe(true);
- const content = virtualFs.fileBufferToString(
+ const content = new TextDecoder().decode(
host.scopedSync().read(normalize('dist/foo/index.html')),
);
diff --git a/packages/angular_devkit/build_angular/src/builders/server/index.ts b/packages/angular_devkit/build_angular/src/builders/server/index.ts
index ffe7174f0c44..a489c456ec1d 100644
--- a/packages/angular_devkit/build_angular/src/builders/server/index.ts
+++ b/packages/angular_devkit/build_angular/src/builders/server/index.ts
@@ -66,6 +66,11 @@ export function execute(
): Observable {
const root = context.workspaceRoot;
+ context.logger.warn(
+ 'The "@angular-devkit/build-angular:server" builder is deprecated as part of Angular\'s Webpack support deprecation. ' +
+ 'Use "@angular/build:application" instead. For more information, see https://angular.dev/tools/cli/build-system-migration.',
+ );
+
// Check Angular version.
assertCompatibleAngularVersion(root);
diff --git a/packages/angular_devkit/build_angular/src/builders/ssr-dev-server/index.ts b/packages/angular_devkit/build_angular/src/builders/ssr-dev-server/index.ts
index e919f188e0bf..445252ff158d 100644
--- a/packages/angular_devkit/build_angular/src/builders/ssr-dev-server/index.ts
+++ b/packages/angular_devkit/build_angular/src/builders/ssr-dev-server/index.ts
@@ -63,6 +63,11 @@ export function execute(
options: SSRDevServerBuilderOptions,
context: BuilderContext,
): Observable {
+ context.logger.warn(
+ 'The "@angular-devkit/build-angular:ssr-dev-server" builder is deprecated as part of Angular\'s Webpack support deprecation. ' +
+ 'Use "@angular/build:ssr-dev-server" instead. For more information, see https://angular.dev/tools/cli/build-system-migration.',
+ );
+
let browserSync: typeof import('browser-sync');
try {
browserSync = createRequire(context.workspaceRoot + '/')('browser-sync');
diff --git a/packages/angular_devkit/build_angular/src/tools/webpack/configs/dev-server.ts b/packages/angular_devkit/build_angular/src/tools/webpack/configs/dev-server.ts
index 5ba21e328ec3..99b63b4f4c37 100644
--- a/packages/angular_devkit/build_angular/src/tools/webpack/configs/dev-server.ts
+++ b/packages/angular_devkit/build_angular/src/tools/webpack/configs/dev-server.ts
@@ -60,10 +60,7 @@ export async function getDevServerConfig(
devServer: {
host,
port,
- headers: {
- 'Access-Control-Allow-Origin': '*',
- ...headers,
- },
+ headers,
historyApiFallback: !!index && {
index: posix.join(servePath, getIndexOutputFile(index)),
disableDotRule: true,
diff --git a/packages/angular_devkit/build_angular/src/utils/normalize-asset-patterns.ts b/packages/angular_devkit/build_angular/src/utils/normalize-asset-patterns.ts
index 7f18080e05f5..20e97e1d5162 100644
--- a/packages/angular_devkit/build_angular/src/utils/normalize-asset-patterns.ts
+++ b/packages/angular_devkit/build_angular/src/utils/normalize-asset-patterns.ts
@@ -68,6 +68,11 @@ export function normalizeAssetPatterns(
assetPattern = { glob, input, output };
} else {
+ const resolvedInput = path.resolve(workspaceRoot, assetPattern.input);
+ if (!resolvedInput.startsWith(workspaceRoot)) {
+ throw new Error(`The ${assetPattern.input} asset path must be within the workspace root.`);
+ }
+
assetPattern.output = path.join('.', assetPattern.output ?? '');
}
diff --git a/packages/angular_devkit/build_webpack/package.json b/packages/angular_devkit/build_webpack/package.json
index df5ed3fa79c6..64f03929b502 100644
--- a/packages/angular_devkit/build_webpack/package.json
+++ b/packages/angular_devkit/build_webpack/package.json
@@ -22,8 +22,8 @@
"devDependencies": {
"@angular-devkit/core": "workspace:0.0.0-PLACEHOLDER",
"@ngtools/webpack": "workspace:0.0.0-PLACEHOLDER",
- "webpack": "5.106.2",
- "webpack-dev-server": "5.2.3"
+ "webpack": "5.107.2",
+ "webpack-dev-server": "5.2.4"
},
"peerDependencies": {
"webpack": "^5.30.0",
diff --git a/packages/angular_devkit/build_webpack/src/builders/webpack-dev-server/index.ts b/packages/angular_devkit/build_webpack/src/builders/webpack-dev-server/index.ts
index 66a2f09a6422..c4f18d7167f0 100644
--- a/packages/angular_devkit/build_webpack/src/builders/webpack-dev-server/index.ts
+++ b/packages/angular_devkit/build_webpack/src/builders/webpack-dev-server/index.ts
@@ -24,6 +24,10 @@ export type DevServerBuildOutput = BuildResult & {
address: string;
};
+/**
+ * @deprecated Part of Angular's Webpack support deprecation. Use `@angular/build` APIs instead.
+ * Deprecated since v22.
+ */
export function runWebpackDevServer(
config: webpack.Configuration,
context: BuilderContext,
@@ -136,6 +140,11 @@ const builder: Builder = createBuilder<
WebpackDevServerBuilderSchema,
DevServerBuildOutput
>((options, context) => {
+ context.logger.warn(
+ 'The "@angular-devkit/build-webpack:webpack-dev-server" builder is deprecated as part of Angular\'s Webpack support deprecation. ' +
+ 'Use "@angular/build" instead.',
+ );
+
const configPath = pathResolve(context.workspaceRoot, options.webpackConfig);
return from(getWebpackConfig(configPath)).pipe(
diff --git a/packages/angular_devkit/build_webpack/src/builders/webpack/index.ts b/packages/angular_devkit/build_webpack/src/builders/webpack/index.ts
index ce3f91fd69d4..2a97a075e78f 100644
--- a/packages/angular_devkit/build_webpack/src/builders/webpack/index.ts
+++ b/packages/angular_devkit/build_webpack/src/builders/webpack/index.ts
@@ -29,6 +29,10 @@ export type BuildResult = BuilderOutput & {
outputPath: string;
};
+/**
+ * @deprecated Part of Angular's Webpack support deprecation. Use `@angular/build` APIs instead.
+ * Deprecated since v22.
+ */
export function runWebpack(
config: webpack.Configuration,
context: BuilderContext,
@@ -125,6 +129,11 @@ export function runWebpack(
const builder: Builder = createBuilder(
(options, context) => {
+ context.logger.warn(
+ 'The "@angular-devkit/build-webpack:webpack" builder is deprecated as part of Angular\'s Webpack support deprecation. ' +
+ 'Use "@angular/build" instead.',
+ );
+
const configPath = pathResolve(context.workspaceRoot, options.webpackConfig);
return from(getWebpackConfig(configPath)).pipe(
diff --git a/packages/angular_devkit/build_webpack/src/builders/webpack/index_spec.ts b/packages/angular_devkit/build_webpack/src/builders/webpack/index_spec.ts
index 6209272d9376..3632f6858e77 100644
--- a/packages/angular_devkit/build_webpack/src/builders/webpack/index_spec.ts
+++ b/packages/angular_devkit/build_webpack/src/builders/webpack/index_spec.ts
@@ -10,9 +10,8 @@ import { Architect } from '@angular-devkit/architect';
import { WorkspaceNodeModulesArchitectHost } from '@angular-devkit/architect/node';
import { TestingArchitectHost } from '@angular-devkit/architect/testing';
import { join, normalize, schema, workspaces } from '@angular-devkit/core';
-import { NodeJsSyncHost, createConsoleLogger } from '@angular-devkit/core/node';
+import { NodeJsSyncHost } from '@angular-devkit/core/node';
import * as path from 'node:path';
-import { BuildResult } from './index';
describe('Webpack Builder basic test', () => {
let testArchitectHost: TestingArchitectHost;
@@ -99,11 +98,7 @@ describe('Webpack Builder basic test', () => {
});
it('works', async () => {
- const run = await architect.scheduleTarget(
- { project: 'app', target: 'build-webpack' },
- {},
- { logger: createConsoleLogger() },
- );
+ const run = await architect.scheduleTarget({ project: 'app', target: 'build-webpack' });
const output = await run.result;
expect(output.success).toBe(true);
diff --git a/packages/angular_devkit/core/node/cli-logger.ts b/packages/angular_devkit/core/node/cli-logger.ts
index 684c964019d3..a5cbada271ec 100644
--- a/packages/angular_devkit/core/node/cli-logger.ts
+++ b/packages/angular_devkit/core/node/cli-logger.ts
@@ -15,6 +15,8 @@ export interface ProcessOutput {
/**
* A Logger that sends information to STDOUT and STDERR.
+ *
+ * @deprecated Use a custom logger implementation instead.
*/
export function createConsoleLogger(
verbose = false,
diff --git a/packages/angular_devkit/core/node/host_spec.ts b/packages/angular_devkit/core/node/host_spec.ts
index dad72535fa25..fba147359f98 100644
--- a/packages/angular_devkit/core/node/host_spec.ts
+++ b/packages/angular_devkit/core/node/host_spec.ts
@@ -33,15 +33,15 @@ describe('NodeJsAsyncHost', () => {
it('should get correct result for exists', async () => {
const filePath = normalize('not-found');
expect(await host.exists(filePath).toPromise()).toBeFalse();
- await host.write(filePath, virtualFs.stringToFileBuffer('content')).toPromise();
+ await host.write(filePath, new TextEncoder().encode('content').buffer).toPromise();
expect(await host.exists(filePath).toPromise()).toBeTrue();
});
linuxOnlyIt(
'can watch',
async () => {
- const content = virtualFs.stringToFileBuffer('hello world');
- const content2 = virtualFs.stringToFileBuffer('hello world 2');
+ const content = new TextEncoder().encode('hello world').buffer;
+ const content2 = new TextEncoder().encode('hello world 2').buffer;
const allEvents: virtualFs.HostWatchEvent[] = [];
fs.mkdirSync(root + '/sub1');
@@ -85,8 +85,8 @@ describe('NodeJsSyncHost', () => {
linuxOnlyIt(
'can watch',
async () => {
- const content = virtualFs.stringToFileBuffer('hello world');
- const content2 = virtualFs.stringToFileBuffer('hello world 2');
+ const content = new TextEncoder().encode('hello world').buffer;
+ const content2 = new TextEncoder().encode('hello world 2').buffer;
const allEvents: virtualFs.HostWatchEvent[] = [];
fs.mkdirSync(root + '/sub1');
@@ -122,7 +122,7 @@ describe('NodeJsSyncHost', () => {
host.rename(normalize('/rename/a.txt'), normalize('/rename/b/c/d/a.txt'));
if (fs.existsSync(root + '/rename/b/c/d/a.txt')) {
const resContent = host.read(normalize('/rename/b/c/d/a.txt'));
- const content = virtualFs.fileBufferToString(resContent);
+ const content = new TextDecoder().decode(resContent);
expect(content).toEqual('hello world');
}
},
diff --git a/packages/angular_devkit/core/package.json b/packages/angular_devkit/core/package.json
index fe4a5a13032a..55394a8dfcd0 100644
--- a/packages/angular_devkit/core/package.json
+++ b/packages/angular_devkit/core/package.json
@@ -25,7 +25,7 @@
"./*.js": "./*.js"
},
"dependencies": {
- "ajv": "8.18.0",
+ "ajv": "8.20.0",
"ajv-formats": "3.0.1",
"jsonc-parser": "3.3.1",
"picomatch": "4.0.4",
diff --git a/packages/angular_devkit/core/src/json/schema/registry.ts b/packages/angular_devkit/core/src/json/schema/registry.ts
index d433a41bd460..77aeab6646a1 100644
--- a/packages/angular_devkit/core/src/json/schema/registry.ts
+++ b/packages/angular_devkit/core/src/json/schema/registry.ts
@@ -224,7 +224,7 @@ export class CoreSchemaRegistry implements SchemaRegistry {
* See: https://json-schema.org/draft/2019-09/json-schema-core.html#rfc.appendix.B.2
*
* @param schema The schema or URI to flatten.
- * @returns An Observable of the flattened schema object.
+ * @return A Promise that resolves to the flattened schema object.
* @private since 11.2 without replacement.
*/
async ɵflatten(schema: JsonObject): Promise {
diff --git a/packages/angular_devkit/core/src/virtual-fs/host/alias_spec.ts b/packages/angular_devkit/core/src/virtual-fs/host/alias_spec.ts
index dcf21fdb0a0e..66ae4b0137f4 100644
--- a/packages/angular_devkit/core/src/virtual-fs/host/alias_spec.ts
+++ b/packages/angular_devkit/core/src/virtual-fs/host/alias_spec.ts
@@ -8,12 +8,11 @@
import { normalize } from '..';
import { AliasHost } from './alias';
-import { stringToFileBuffer } from './buffer';
import { SimpleMemoryHost } from './memory';
describe('AliasHost', () => {
it('works as in the example', () => {
- const content = stringToFileBuffer('hello world');
+ const content = new TextEncoder().encode('hello world').buffer;
const host = new SimpleMemoryHost();
host.write(normalize('/some/file'), content).subscribe();
@@ -33,8 +32,8 @@ describe('AliasHost', () => {
});
it('works as in the example (2)', () => {
- const content = stringToFileBuffer('hello world');
- const content2 = stringToFileBuffer('hello world 2');
+ const content = new TextEncoder().encode('hello world').buffer;
+ const content2 = new TextEncoder().encode('hello world 2').buffer;
const host = new SimpleMemoryHost();
host.write(normalize('/some/folder/file'), content).subscribe();
diff --git a/packages/angular_devkit/core/src/virtual-fs/host/buffer.ts b/packages/angular_devkit/core/src/virtual-fs/host/buffer.ts
index 3cb848f6b641..becaa3ecdffd 100644
--- a/packages/angular_devkit/core/src/virtual-fs/host/buffer.ts
+++ b/packages/angular_devkit/core/src/virtual-fs/host/buffer.ts
@@ -6,13 +6,18 @@
* found in the LICENSE file at https://angular.dev/license
*/
-import { TextDecoder, TextEncoder } from 'node:util';
import { FileBuffer } from './interface';
+/**
+ * @deprecated Use `new TextEncoder().encode(str).buffer` instead.
+ */
export function stringToFileBuffer(str: string): FileBuffer {
return new TextEncoder().encode(str).buffer;
}
+/**
+ * @deprecated Use `new TextDecoder().decode(fileBuffer)` instead.
+ */
export function fileBufferToString(fileBuffer: FileBuffer): string {
if (fileBuffer.toString.length === 1) {
return (fileBuffer.toString as (enc: string) => string)('utf-8');
diff --git a/packages/angular_devkit/core/src/virtual-fs/host/memory_spec.ts b/packages/angular_devkit/core/src/virtual-fs/host/memory_spec.ts
index b32de68871fc..fce1623737a1 100644
--- a/packages/angular_devkit/core/src/virtual-fs/host/memory_spec.ts
+++ b/packages/angular_devkit/core/src/virtual-fs/host/memory_spec.ts
@@ -8,7 +8,6 @@
/* eslint-disable @typescript-eslint/no-non-null-assertion */
import { fragment, normalize } from '../path';
-import { stringToFileBuffer } from './buffer';
import { SimpleMemoryHost } from './memory';
import { SyncDelegateHost } from './sync';
@@ -16,7 +15,7 @@ describe('SimpleMemoryHost', () => {
it('can watch', () => {
const host = new SyncDelegateHost(new SimpleMemoryHost());
- host.write(normalize('/sub/file1'), stringToFileBuffer(''));
+ host.write(normalize('/sub/file1'), new TextEncoder().encode('').buffer);
let recursiveCalled = 0;
let noRecursiveCalled = 0;
@@ -28,14 +27,14 @@ describe('SimpleMemoryHost', () => {
host.watch(normalize('/sub/file2'))!.subscribe(() => noRecursiveFileCalled++);
host.watch(normalize('/sub/file3'))!.subscribe(() => diffFile++);
- host.write(normalize('/sub/file2'), stringToFileBuffer(''));
+ host.write(normalize('/sub/file2'), new TextEncoder().encode('').buffer);
expect(recursiveCalled).toBe(1);
expect(noRecursiveCalled).toBe(0);
expect(noRecursiveFileCalled).toBe(1);
expect(diffFile).toBe(0);
- host.write(normalize('/sub/file3'), stringToFileBuffer(''));
+ host.write(normalize('/sub/file3'), new TextEncoder().encode('').buffer);
expect(recursiveCalled).toBe(2);
expect(noRecursiveCalled).toBe(0);
@@ -46,7 +45,7 @@ describe('SimpleMemoryHost', () => {
it('can read', () => {
const host = new SyncDelegateHost(new SimpleMemoryHost());
- const buffer = stringToFileBuffer('hello');
+ const buffer = new TextEncoder().encode('hello').buffer;
host.write(normalize('/hello'), buffer);
expect(host.read(normalize('/hello'))).toBe(buffer);
@@ -55,7 +54,7 @@ describe('SimpleMemoryHost', () => {
it('can delete', () => {
const host = new SyncDelegateHost(new SimpleMemoryHost());
- const buffer = stringToFileBuffer('hello');
+ const buffer = new TextEncoder().encode('hello').buffer;
expect(host.exists(normalize('/sub/file1'))).toBe(false);
host.write(normalize('/sub/file1'), buffer);
@@ -67,7 +66,7 @@ describe('SimpleMemoryHost', () => {
it('can delete directory', () => {
const host = new SyncDelegateHost(new SimpleMemoryHost());
- const buffer = stringToFileBuffer('hello');
+ const buffer = new TextEncoder().encode('hello').buffer;
expect(host.exists(normalize('/sub/file1'))).toBe(false);
host.write(normalize('/sub/file1'), buffer);
@@ -83,7 +82,7 @@ describe('SimpleMemoryHost', () => {
it('can rename', () => {
const host = new SyncDelegateHost(new SimpleMemoryHost());
- const buffer = stringToFileBuffer('hello');
+ const buffer = new TextEncoder().encode('hello').buffer;
expect(host.exists(normalize('/sub/file1'))).toBe(false);
host.write(normalize('/sub/file1'), buffer);
@@ -97,7 +96,7 @@ describe('SimpleMemoryHost', () => {
it('can list', () => {
const host = new SyncDelegateHost(new SimpleMemoryHost());
- const buffer = stringToFileBuffer('hello');
+ const buffer = new TextEncoder().encode('hello').buffer;
host.write(normalize('/sub/file1'), buffer);
host.write(normalize('/sub/file2'), buffer);
@@ -116,7 +115,7 @@ describe('SimpleMemoryHost', () => {
it('supports isFile / isDirectory', () => {
const host = new SyncDelegateHost(new SimpleMemoryHost());
- const buffer = stringToFileBuffer('hello');
+ const buffer = new TextEncoder().encode('hello').buffer;
host.write(normalize('/sub/file1'), buffer);
host.write(normalize('/sub/file2'), buffer);
@@ -135,8 +134,8 @@ describe('SimpleMemoryHost', () => {
it('makes every path absolute', () => {
const host = new SyncDelegateHost(new SimpleMemoryHost());
- const buffer = stringToFileBuffer('hello');
- const buffer2 = stringToFileBuffer('hello 2');
+ const buffer = new TextEncoder().encode('hello').buffer;
+ const buffer2 = new TextEncoder().encode('hello 2').buffer;
host.write(normalize('file1'), buffer);
host.write(normalize('/sub/file2'), buffer);
diff --git a/packages/angular_devkit/core/src/virtual-fs/host/pattern_spec.ts b/packages/angular_devkit/core/src/virtual-fs/host/pattern_spec.ts
index 0745553e88f7..56abcff14ef2 100644
--- a/packages/angular_devkit/core/src/virtual-fs/host/pattern_spec.ts
+++ b/packages/angular_devkit/core/src/virtual-fs/host/pattern_spec.ts
@@ -7,14 +7,13 @@
*/
import { normalize } from '..';
-import { stringToFileBuffer } from './buffer';
import { SimpleMemoryHost } from './memory';
import { PatternMatchingHost } from './pattern';
describe('PatternMatchingHost', () => {
it('works for NativeScript', () => {
- const content = stringToFileBuffer('hello world');
- const content2 = stringToFileBuffer('hello world 2');
+ const content = new TextEncoder().encode('hello world').buffer;
+ const content2 = new TextEncoder().encode('hello world 2').buffer;
const host = new SimpleMemoryHost();
host.write(normalize('/some/file.tns.ts'), content).subscribe();
diff --git a/packages/angular_devkit/core/src/virtual-fs/host/record_spec.ts b/packages/angular_devkit/core/src/virtual-fs/host/record_spec.ts
index 3927e2a872a1..dd50be84f966 100644
--- a/packages/angular_devkit/core/src/virtual-fs/host/record_spec.ts
+++ b/packages/angular_devkit/core/src/virtual-fs/host/record_spec.ts
@@ -7,7 +7,6 @@
*/
import { path } from '../path';
-import { stringToFileBuffer } from './buffer';
import { CordHost } from './record';
import * as test from './test';
@@ -21,7 +20,7 @@ describe('CordHost', () => {
});
const host = new CordHost(base);
- host.write(path`/blue`, stringToFileBuffer(`hi`)).subscribe(undefined, done.fail);
+ host.write(path`/blue`, new TextEncoder().encode(`hi`).buffer).subscribe(undefined, done.fail);
const target = new TestHost();
host.commit(target).subscribe(undefined, done.fail);
@@ -41,8 +40,10 @@ describe('CordHost', () => {
});
const host = new CordHost(base);
- host.write(path`/blue`, stringToFileBuffer(`hi`)).subscribe(undefined, done.fail);
- host.write(path`/blue`, stringToFileBuffer(`hi again`)).subscribe(undefined, done.fail);
+ host.write(path`/blue`, new TextEncoder().encode(`hi`).buffer).subscribe(undefined, done.fail);
+ host
+ .write(path`/blue`, new TextEncoder().encode(`hi again`).buffer)
+ .subscribe(undefined, done.fail);
const target = new TestHost();
host.commit(target).subscribe(undefined, done.fail);
@@ -63,7 +64,7 @@ describe('CordHost', () => {
});
const host = new CordHost(base);
- host.write(path`/blue`, stringToFileBuffer(`hi`)).subscribe(undefined, done.fail);
+ host.write(path`/blue`, new TextEncoder().encode(`hi`).buffer).subscribe(undefined, done.fail);
host.delete(path`/blue`).subscribe(undefined, done.fail);
const target = new TestHost();
@@ -82,7 +83,7 @@ describe('CordHost', () => {
});
const host = new CordHost(base);
- host.write(path`/blue`, stringToFileBuffer(`hi`)).subscribe(undefined, done.fail);
+ host.write(path`/blue`, new TextEncoder().encode(`hi`).buffer).subscribe(undefined, done.fail);
host.rename(path`/blue`, path`/red`).subscribe(undefined, done.fail);
const target = new TestHost();
@@ -106,7 +107,7 @@ describe('CordHost', () => {
});
const host = new CordHost(base);
- host.write(path`/blue`, stringToFileBuffer(`hi`)).subscribe(undefined, done.fail);
+ host.write(path`/blue`, new TextEncoder().encode(`hi`).buffer).subscribe(undefined, done.fail);
host.rename(path`/blue`, path`/blue`).subscribe(undefined, done.fail);
const target = new TestHost();
@@ -129,7 +130,7 @@ describe('CordHost', () => {
});
const host = new CordHost(base);
- host.write(path`/blue`, stringToFileBuffer(`hi`)).subscribe(undefined, done.fail);
+ host.write(path`/blue`, new TextEncoder().encode(`hi`).buffer).subscribe(undefined, done.fail);
host.rename(path`/blue`, path`/red`).subscribe(undefined, done.fail);
host.rename(path`/red`, path`/yellow`).subscribe(undefined, done.fail);
@@ -202,7 +203,9 @@ describe('CordHost', () => {
const host = new CordHost(base);
host.rename(path`/hello`, path`/blue`).subscribe(undefined, done.fail);
- host.write(path`/hello`, stringToFileBuffer(`beautiful world`)).subscribe(undefined, done.fail);
+ host
+ .write(path`/hello`, new TextEncoder().encode(`beautiful world`).buffer)
+ .subscribe(undefined, done.fail);
const target = base.clone();
host.commit(target).subscribe(undefined, done.fail);
@@ -225,7 +228,9 @@ describe('CordHost', () => {
});
const host = new CordHost(base);
- host.write(path`/hello`, stringToFileBuffer(`beautiful world`)).subscribe(undefined, done.fail);
+ host
+ .write(path`/hello`, new TextEncoder().encode(`beautiful world`).buffer)
+ .subscribe(undefined, done.fail);
const target = base.clone();
host.commit(target).subscribe(undefined, done.fail);
@@ -247,8 +252,12 @@ describe('CordHost', () => {
});
const host = new CordHost(base);
- host.write(path`/hello`, stringToFileBuffer(`beautiful world`)).subscribe(undefined, done.fail);
- host.write(path`/hello`, stringToFileBuffer(`again`)).subscribe(undefined, done.fail);
+ host
+ .write(path`/hello`, new TextEncoder().encode(`beautiful world`).buffer)
+ .subscribe(undefined, done.fail);
+ host
+ .write(path`/hello`, new TextEncoder().encode(`again`).buffer)
+ .subscribe(undefined, done.fail);
const target = base.clone();
host.commit(target).subscribe(undefined, done.fail);
@@ -270,7 +279,9 @@ describe('CordHost', () => {
});
const host = new CordHost(base);
- host.write(path`/hello`, stringToFileBuffer(`beautiful world`)).subscribe(undefined, done.fail);
+ host
+ .write(path`/hello`, new TextEncoder().encode(`beautiful world`).buffer)
+ .subscribe(undefined, done.fail);
host.rename(path`/hello`, path`/blue`).subscribe(undefined, done.fail);
const target = base.clone();
@@ -294,7 +305,9 @@ describe('CordHost', () => {
});
const host = new CordHost(base);
- host.write(path`/hello`, stringToFileBuffer(`beautiful world`)).subscribe(undefined, done.fail);
+ host
+ .write(path`/hello`, new TextEncoder().encode(`beautiful world`).buffer)
+ .subscribe(undefined, done.fail);
host.delete(path`/hello`).subscribe(undefined, done.fail);
const target = base.clone();
@@ -315,7 +328,9 @@ describe('CordHost', () => {
const host = new CordHost(base);
host.rename(path`/hello`, path`/blue`).subscribe(undefined, done.fail);
- host.write(path`/blue`, stringToFileBuffer(`beautiful world`)).subscribe(undefined, done.fail);
+ host
+ .write(path`/blue`, new TextEncoder().encode(`beautiful world`).buffer)
+ .subscribe(undefined, done.fail);
const target = base.clone();
host.commit(target).subscribe(undefined, done.fail);
@@ -358,7 +373,9 @@ describe('CordHost', () => {
const host = new CordHost(base);
host.delete(path`/hello`).subscribe(undefined, done.fail);
- host.write(path`/hello`, stringToFileBuffer(`beautiful world`)).subscribe(undefined, done.fail);
+ host
+ .write(path`/hello`, new TextEncoder().encode(`beautiful world`).buffer)
+ .subscribe(undefined, done.fail);
const target = base.clone();
host.commit(target).subscribe(undefined, done.fail);
@@ -420,7 +437,7 @@ describe('CordHost', () => {
});
const host = new CordHost(base);
- host.write(path`/blue`, stringToFileBuffer(`hi`)).subscribe();
+ host.write(path`/blue`, new TextEncoder().encode(`hi`).buffer).subscribe();
const target = new TestHost({
'/blue': 'test',
@@ -441,7 +458,7 @@ describe('CordHost', () => {
});
const host = new CordHost(base);
- host.write(path`/hello`, stringToFileBuffer(`hi`)).subscribe();
+ host.write(path`/hello`, new TextEncoder().encode(`hi`).buffer).subscribe();
const target = new TestHost({});
@@ -501,7 +518,7 @@ describe('CordHost', () => {
const host = new CordHost(base);
let error = false;
- host.write(path`/dir`, stringToFileBuffer(`beautiful world`)).subscribe(
+ host.write(path`/dir`, new TextEncoder().encode(`beautiful world`).buffer).subscribe(
undefined,
() => (error = true),
() => (error = false),
diff --git a/packages/angular_devkit/core/src/virtual-fs/host/test.ts b/packages/angular_devkit/core/src/virtual-fs/host/test.ts
index 7e0bd64bf2b7..4e7b083d8bdc 100644
--- a/packages/angular_devkit/core/src/virtual-fs/host/test.ts
+++ b/packages/angular_devkit/core/src/virtual-fs/host/test.ts
@@ -8,7 +8,6 @@
import { Observable } from 'rxjs';
import { Path, PathFragment, join, normalize } from '../path';
-import { fileBufferToString, stringToFileBuffer } from './buffer';
import { FileBuffer, HostWatchEvent, HostWatchOptions, Stats } from './interface';
import { SimpleMemoryHost, SimpleMemoryHostStats } from './memory';
import { SyncDelegateHost } from './sync';
@@ -41,7 +40,7 @@ export class TestHost extends SimpleMemoryHost {
super();
for (const filePath of Object.getOwnPropertyNames(map)) {
- this._write(normalize(filePath), stringToFileBuffer(map[filePath]));
+ this._write(normalize(filePath), new TextEncoder().encode(map[filePath]).buffer);
}
}
@@ -138,11 +137,11 @@ export class TestHost extends SimpleMemoryHost {
}
$write(path: string, content: string): void {
- return super._write(normalize(path), stringToFileBuffer(content));
+ return super._write(normalize(path), new TextEncoder().encode(content).buffer);
}
$read(path: string): string {
- return fileBufferToString(super._read(normalize(path)));
+ return new TextDecoder().decode(super._read(normalize(path)));
}
$list(path: string): PathFragment[] {
diff --git a/packages/angular_devkit/core/src/workspace/host.ts b/packages/angular_devkit/core/src/workspace/host.ts
index e43e40908381..ab973717ba3d 100644
--- a/packages/angular_devkit/core/src/workspace/host.ts
+++ b/packages/angular_devkit/core/src/workspace/host.ts
@@ -21,14 +21,17 @@ export interface WorkspaceHost {
}
export function createWorkspaceHost(host: virtualFs.Host): WorkspaceHost {
+ const decoder = new TextDecoder();
+ const encoder = new TextEncoder();
+
const workspaceHost: WorkspaceHost = {
async readFile(path: string): Promise {
const data = await lastValueFrom(host.read(normalize(path)));
- return virtualFs.fileBufferToString(data);
+ return decoder.decode(data);
},
async writeFile(path: string, data: string): Promise {
- return lastValueFrom(host.write(normalize(path), virtualFs.stringToFileBuffer(data)));
+ return lastValueFrom(host.write(normalize(path), encoder.encode(data).buffer));
},
async isDirectory(path: string): Promise {
try {
diff --git a/packages/angular_devkit/schematics/package.json b/packages/angular_devkit/schematics/package.json
index f88844a0b974..a1529867b5f4 100644
--- a/packages/angular_devkit/schematics/package.json
+++ b/packages/angular_devkit/schematics/package.json
@@ -16,7 +16,7 @@
"@angular-devkit/core": "workspace:0.0.0-PLACEHOLDER",
"jsonc-parser": "3.3.1",
"magic-string": "0.30.21",
- "ora": "9.3.0",
+ "ora": "9.4.0",
"rxjs": "7.8.2"
}
}
diff --git a/packages/angular_devkit/schematics/src/sink/dryrun_spec.ts b/packages/angular_devkit/schematics/src/sink/dryrun_spec.ts
index a80cfd77cf04..e3807364674c 100644
--- a/packages/angular_devkit/schematics/src/sink/dryrun_spec.ts
+++ b/packages/angular_devkit/schematics/src/sink/dryrun_spec.ts
@@ -64,7 +64,7 @@ describe('DryRunSink', () => {
// Need to create this file on the filesystem, otherwise the commit phase will fail.
const outputHost = new virtualFs.SimpleMemoryHost();
- outputHost.write(normalize('/hello'), virtualFs.stringToFileBuffer('')).subscribe();
+ outputHost.write(normalize('/hello'), new Uint8Array(0).buffer).subscribe();
const sink = new DryRunSink(outputHost);
const [infos] = await Promise.all([
diff --git a/packages/angular_devkit/schematics/src/sink/host_spec.ts b/packages/angular_devkit/schematics/src/sink/host_spec.ts
index 55d92bea7e7f..ab1ae6dd3580 100644
--- a/packages/angular_devkit/schematics/src/sink/host_spec.ts
+++ b/packages/angular_devkit/schematics/src/sink/host_spec.ts
@@ -108,7 +108,7 @@ describe('FileSystemSink', () => {
const sink = new HostSink(host);
await sink.commit(tree).toPromise();
expect(host.sync.read(normalize('/file0')).toString()).toBe('hello');
- expect(virtualFs.fileBufferToString(host.sync.read(normalize('/file1')))).toBe('world');
+ expect(new TextDecoder().decode(host.sync.read(normalize('/file1')))).toBe('world');
});
it('can rename then modify the same file', async () => {
@@ -125,7 +125,7 @@ describe('FileSystemSink', () => {
const sink = new HostSink(host);
await sink.commit(tree).toPromise();
- expect(virtualFs.fileBufferToString(host.sync.read(normalize('/file1')))).toBe('hello');
+ expect(new TextDecoder().decode(host.sync.read(normalize('/file1')))).toBe('hello');
});
});
});
diff --git a/packages/angular_devkit/schematics_cli/bin/schematics.ts b/packages/angular_devkit/schematics_cli/bin/schematics.ts
index 08d72f9d01d5..8420e520dd39 100644
--- a/packages/angular_devkit/schematics_cli/bin/schematics.ts
+++ b/packages/angular_devkit/schematics_cli/bin/schematics.ts
@@ -8,7 +8,6 @@
*/
import { JsonValue, logging, schema } from '@angular-devkit/core';
-import { ProcessOutput, createConsoleLogger } from '@angular-devkit/core/node';
import { UnsuccessfulWorkflowExecution, strings } from '@angular-devkit/schematics';
import { NodeWorkflow } from '@angular-devkit/schematics/tools';
import { existsSync } from 'node:fs';
@@ -50,8 +49,8 @@ function removeLeadingSlash(value: string): string {
export interface MainOptions {
args: string[];
- stdout?: ProcessOutput;
- stderr?: ProcessOutput;
+ stdout?: NodeJS.WritableStream;
+ stderr?: NodeJS.WritableStream;
}
function _listSchematics(workflow: NodeWorkflow, collectionName: string, logger: logging.Logger) {
@@ -217,6 +216,37 @@ function getPackageManagerName() {
return 'npm';
}
+function createLogger(
+ verbose: boolean,
+ stdout: NodeJS.WritableStream,
+ stderr: NodeJS.WritableStream,
+): logging.Logger {
+ const logger = new logging.IndentLogger('schematics');
+ const colorLevels: Record string> = {
+ info: (s) => s,
+ debug: (s) => s,
+ warn: (s, stream) => styleText(['bold', 'yellow'], s, { stream }),
+ error: (s, stream) => styleText(['bold', 'red'], s, { stream }),
+ fatal: (s, stream) => styleText(['bold', 'red'], s, { stream }),
+ };
+
+ logger.subscribe((entry) => {
+ if (entry.level === 'debug' && !verbose) {
+ return;
+ }
+
+ const output =
+ entry.level === 'warn' || entry.level === 'fatal' || entry.level === 'error'
+ ? stderr
+ : stdout;
+ const color = colorLevels[entry.level];
+ const message = color ? color(entry.message, output) : entry.message;
+ output.write(message + '\n');
+ });
+
+ return logger;
+}
+
export async function main({
args,
stdout = process.stdout,
@@ -224,14 +254,7 @@ export async function main({
}: MainOptions): Promise<0 | 1> {
const { cliOptions, schematicOptions, _ } = parseOptions(args);
- /** Create the DevKit Logger used through the CLI. */
- const logger = createConsoleLogger(!!cliOptions.verbose, stdout, stderr, {
- info: (s) => s,
- debug: (s) => s,
- warn: (s) => styleText(['bold', 'yellow'], s),
- error: (s) => styleText(['bold', 'red'], s),
- fatal: (s) => styleText(['bold', 'red'], s),
- });
+ const logger = createLogger(!!cliOptions.verbose, stdout, stderr);
if (cliOptions.help) {
logger.info(getUsage());
diff --git a/packages/angular_devkit/schematics_cli/package.json b/packages/angular_devkit/schematics_cli/package.json
index 9e93a55c6c34..a7ecd75f42aa 100644
--- a/packages/angular_devkit/schematics_cli/package.json
+++ b/packages/angular_devkit/schematics_cli/package.json
@@ -18,6 +18,6 @@
"dependencies": {
"@angular-devkit/core": "workspace:0.0.0-PLACEHOLDER",
"@angular-devkit/schematics": "workspace:0.0.0-PLACEHOLDER",
- "@inquirer/prompts": "8.4.2"
+ "@inquirer/prompts": "8.5.0"
}
}
diff --git a/packages/angular_devkit/schematics_cli/test/schematics_spec.ts b/packages/angular_devkit/schematics_cli/test/schematics_spec.ts
index 5dcf2fc962f0..e6d54b6ddb34 100644
--- a/packages/angular_devkit/schematics_cli/test/schematics_spec.ts
+++ b/packages/angular_devkit/schematics_cli/test/schematics_spec.ts
@@ -6,32 +6,24 @@
* found in the LICENSE file at https://angular.dev/license
*/
+import { PassThrough } from 'node:stream';
+import { stripVTControlCharacters } from 'node:util';
import { main } from '../bin/schematics';
-// We only care about the write method in these mocks of NodeJS.WriteStream.
-class MockWriteStream {
- lines: string[] = [];
- write(str: string) {
- // Strip color control characters.
- this.lines.push(str.replace(/[^\x20-\x7F]\[\d+m/g, ''));
-
- return true;
- }
-}
-
describe('schematics-cli binary', () => {
- let stdout: MockWriteStream, stderr: MockWriteStream;
+ let stdout: PassThrough, stderr: PassThrough;
beforeEach(() => {
- stdout = new MockWriteStream();
- stderr = new MockWriteStream();
+ stdout = new PassThrough();
+ stderr = new PassThrough();
});
it('list-schematics works', async () => {
const args = ['--list-schematics'];
const res = await main({ args, stdout, stderr });
- expect(stdout.lines).toMatch(/blank/);
- expect(stdout.lines).toMatch(/schematic/);
+ const output = stripVTControlCharacters(stdout.read()?.toString() || '');
+ expect(output).toMatch(/blank/);
+ expect(output).toMatch(/schematic/);
expect(res).toEqual(0);
});
@@ -45,30 +37,33 @@ describe('schematics-cli binary', () => {
it('dry-run works', async () => {
const args = ['blank', 'foo', '--dry-run'];
const res = await main({ args, stdout, stderr });
- expect(stdout.lines).toMatch(/CREATE foo\/README.md/);
- expect(stdout.lines).toMatch(/CREATE foo\/.gitignore/);
- expect(stdout.lines).toMatch(/CREATE foo\/src\/foo\/index.ts/);
- expect(stdout.lines).toMatch(/CREATE foo\/src\/foo\/index_spec.ts/);
- expect(stdout.lines).toMatch(/Dry run enabled./);
+ const output = stripVTControlCharacters(stdout.read()?.toString() || '');
+ expect(output).toMatch(/CREATE foo\/README.md/);
+ expect(output).toMatch(/CREATE foo\/.gitignore/);
+ expect(output).toMatch(/CREATE foo\/src\/foo\/index.ts/);
+ expect(output).toMatch(/CREATE foo\/src\/foo\/index_spec.ts/);
+ expect(output).toMatch(/Dry run enabled./);
expect(res).toEqual(0);
});
it('dry-run is default when debug mode', async () => {
const args = ['blank', 'foo', '--debug'];
const res = await main({ args, stdout, stderr });
- expect(stdout.lines).toMatch(/Debug mode enabled./);
- expect(stdout.lines).toMatch(/CREATE foo\/README.md/);
- expect(stdout.lines).toMatch(/CREATE foo\/.gitignore/);
- expect(stdout.lines).toMatch(/CREATE foo\/src\/foo\/index.ts/);
- expect(stdout.lines).toMatch(/CREATE foo\/src\/foo\/index_spec.ts/);
- expect(stdout.lines).toMatch(/Dry run enabled by default in debug mode./);
+ const output = stripVTControlCharacters(stdout.read()?.toString() || '');
+ expect(output).toMatch(/Debug mode enabled./);
+ expect(output).toMatch(/CREATE foo\/README.md/);
+ expect(output).toMatch(/CREATE foo\/.gitignore/);
+ expect(output).toMatch(/CREATE foo\/src\/foo\/index.ts/);
+ expect(output).toMatch(/CREATE foo\/src\/foo\/index_spec.ts/);
+ expect(output).toMatch(/Dry run enabled by default in debug mode./);
expect(res).toEqual(0);
});
it('error when no name is provided', async () => {
const args = ['blank'];
const res = await main({ args, stdout, stderr });
- expect(stderr.lines).toMatch(/Error: name option is required/);
+ const output = stripVTControlCharacters(stderr.read()?.toString() || '');
+ expect(output).toMatch(/Error: name option is required/);
expect(res).toEqual(1);
});
});
diff --git a/packages/ngtools/webpack/package.json b/packages/ngtools/webpack/package.json
index da1a83caad06..c93dbbee2337 100644
--- a/packages/ngtools/webpack/package.json
+++ b/packages/ngtools/webpack/package.json
@@ -4,22 +4,12 @@
"description": "Webpack plugin that AoT compiles your Angular components and modules.",
"main": "./src/index.js",
"typings": "src/index.d.ts",
- "license": "MIT",
"keywords": [
"angular",
"webpack",
"plugin",
"aot"
],
- "repository": {
- "type": "git",
- "url": "git+https://github.com/angular/angular-cli.git"
- },
- "author": "angular",
- "bugs": {
- "url": "https://github.com/angular/angular-cli/issues"
- },
- "homepage": "https://github.com/angular/angular-cli/tree/main/packages/ngtools/webpack",
"peerDependencies": {
"@angular/compiler-cli": "0.0.0-ANGULAR-FW-PEER-DEP",
"typescript": ">=6.0 <6.1",
@@ -27,9 +17,9 @@
},
"devDependencies": {
"@angular-devkit/core": "workspace:0.0.0-PLACEHOLDER",
- "@angular/compiler": "22.0.0-next.10",
- "@angular/compiler-cli": "22.0.0-next.10",
- "typescript": "6.0.2",
- "webpack": "5.106.2"
+ "@angular/compiler": "22.0.0-rc.2",
+ "@angular/compiler-cli": "22.0.0-rc.2",
+ "typescript": "6.0.3",
+ "webpack": "5.107.2"
}
}
diff --git a/packages/ngtools/webpack/src/ivy/index.ts b/packages/ngtools/webpack/src/ivy/index.ts
index 845d06385ff2..38442ca6c25a 100644
--- a/packages/ngtools/webpack/src/ivy/index.ts
+++ b/packages/ngtools/webpack/src/ivy/index.ts
@@ -9,4 +9,8 @@
export { angularWebpackLoader as default } from './loader';
export { type AngularWebpackPluginOptions, AngularWebpackPlugin, imageDomains } from './plugin';
+/**
+ * @deprecated Part of Angular's Webpack support deprecation.
+ * Deprecated since v22.
+ */
export const AngularWebpackLoaderPath: string = __filename;
diff --git a/packages/ngtools/webpack/src/ivy/loader.ts b/packages/ngtools/webpack/src/ivy/loader.ts
index 79a511fcee06..99cef81333e8 100644
--- a/packages/ngtools/webpack/src/ivy/loader.ts
+++ b/packages/ngtools/webpack/src/ivy/loader.ts
@@ -16,6 +16,10 @@ type SourceMap = NonNullable<
const JS_FILE_REGEXP = /\.[cm]?js$/;
+/**
+ * @deprecated Part of Angular's Webpack support deprecation.
+ * Deprecated since v22.
+ */
export function angularWebpackLoader(
this: LoaderContext,
content: string,
diff --git a/packages/ngtools/webpack/src/ivy/plugin.ts b/packages/ngtools/webpack/src/ivy/plugin.ts
index f46b1360f26a..eb6038bcb25c 100644
--- a/packages/ngtools/webpack/src/ivy/plugin.ts
+++ b/packages/ngtools/webpack/src/ivy/plugin.ts
@@ -39,8 +39,16 @@ import { createAotTransformers, createJitTransformers, mergeTransformers } from
*/
const DIAGNOSTICS_AFFECTED_THRESHOLD = 1;
+/**
+ * @deprecated Part of Angular's Webpack support deprecation.
+ * Deprecated since v22.
+ */
export const imageDomains: Set = new Set();
+/**
+ * @deprecated Part of Angular's Webpack support deprecation.
+ * Deprecated since v22.
+ */
export interface AngularWebpackPluginOptions {
tsconfig: string;
compilerOptions?: CompilerOptions;
@@ -71,6 +79,10 @@ interface FileEmitHistoryItem {
hash: Uint8Array;
}
+/**
+ * @deprecated Part of Angular's Webpack support deprecation.
+ * Deprecated since v22.
+ */
export class AngularWebpackPlugin {
private readonly pluginOptions: AngularWebpackPluginOptions;
private compilerCliModule?: typeof import('@angular/compiler-cli');
diff --git a/packages/schematics/angular/BUILD.bazel b/packages/schematics/angular/BUILD.bazel
index 55d40efae377..b4fc4e885c30 100644
--- a/packages/schematics/angular/BUILD.bazel
+++ b/packages/schematics/angular/BUILD.bazel
@@ -3,6 +3,7 @@
# 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")
@@ -45,16 +46,10 @@ copy_to_bin(
srcs = glob(["**/schema.json"]),
)
-genrule(
+copy_file(
name = "angular_best_practices",
- srcs = [
- "//:node_modules/@angular/core/dir",
- ],
- outs = ["ai-config/files/__rulesName__.template"],
- cmd = """
- echo -e "<% if (frontmatter) { %><%= frontmatter %>\\n<% } %>" > $@
- cat "$(location //:node_modules/@angular/core/dir)/resources/best-practices.md" >> $@
- """,
+ src = "//:node_modules/@angular/core/resources/best-practices.md",
+ out = "ai-config/files/__bestPracticesName__.template",
)
RUNTIME_ASSETS = [
diff --git a/packages/schematics/angular/ai-config/file_utils.ts b/packages/schematics/angular/ai-config/file_utils.ts
new file mode 100644
index 000000000000..ac47d59ad513
--- /dev/null
+++ b/packages/schematics/angular/ai-config/file_utils.ts
@@ -0,0 +1,156 @@
+/**
+ * @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 {
+ Rule,
+ apply,
+ applyTemplates,
+ filter,
+ forEach,
+ mergeWith,
+ move,
+ noop,
+ strings,
+ url,
+} from '@angular-devkit/schematics';
+import { parse } from 'jsonc-parser';
+import { JSONFile } from '../utility/json-file';
+import { FileConfigurationHandlerOptions } from './types';
+
+const TOML_MCP_SERVERS_PROP = '[mcp_servers.angular-cli]';
+
+/**
+ * Create or update a JSON MCP configuration file to include the Angular MCP server.
+ */
+export function addJsonMcpConfig(
+ { tree, fileInfo }: FileConfigurationHandlerOptions,
+ mcpServersProperty: string,
+): Rule {
+ const { name, directory } = fileInfo;
+
+ return mergeWith(
+ apply(url('./files'), [
+ filter((path) => path.includes('__jsonConfigName__')),
+ applyTemplates({
+ ...strings,
+ jsonConfigName: name,
+ mcpServersProperty,
+ }),
+ move(directory),
+ forEach((file) => {
+ if (!tree.exists(file.path)) {
+ return file;
+ }
+
+ // If we have an existing file, update the server property with
+ // Angular MCP server configuration.
+ const existingConfig = new JSONFile(tree, file.path);
+ const existingMcpServers = existingConfig.get([mcpServersProperty]) ?? {};
+ const templateServersProp = parse(file.content.toString())[mcpServersProperty];
+
+ existingConfig.modify([mcpServersProperty], {
+ ...existingMcpServers,
+ ...templateServersProp,
+ });
+
+ return null;
+ }),
+ ]),
+ );
+}
+
+/**
+ * Create or update a TOML MCP configuration file to include the Angular MCP server.
+ */
+export function addTomlMcpConfig({
+ tree,
+ context,
+ fileInfo,
+ tool,
+}: FileConfigurationHandlerOptions): Rule {
+ const { name, directory } = fileInfo;
+
+ return mergeWith(
+ apply(url('./files'), [
+ filter((path) => path.includes('__tomlConfigName__')),
+ applyTemplates({
+ ...strings,
+ tomlConfigName: name,
+ }),
+ move(directory),
+ forEach((file) => {
+ if (!tree.exists(file.path)) {
+ return file;
+ }
+
+ const existingFileBuffer = tree.read(file.path);
+
+ if (existingFileBuffer) {
+ let existing = existingFileBuffer.toString();
+ if (existing.includes(TOML_MCP_SERVERS_PROP)) {
+ const path = `${directory}/${name}`;
+ const toolName = strings.classify(tool);
+ context.logger.warn(
+ `Skipping Angular MCP server configuration for '${toolName}'.\n` +
+ `Configuration already exists in '${path}'.\n`,
+ );
+
+ return null;
+ }
+
+ // Add the configuration at the end of the file.
+ const template = file.content.toString();
+ existing = existing.length ? existing + '\n\n' + template : template;
+
+ tree.overwrite(file.path, existing);
+
+ return null;
+ }
+
+ return file;
+ }),
+ ]),
+ );
+}
+
+/**
+ * Create an Angular best practices Markdown.
+ * If the file exists, the configuration is skipped.
+ */
+export function addBestPracticesMarkdown({
+ tree,
+ context,
+ fileInfo,
+ tool,
+}: FileConfigurationHandlerOptions): Rule {
+ const { name, directory } = fileInfo;
+ const path = `${directory}/${name}`;
+
+ if (tree.exists(path)) {
+ const toolName = strings.classify(tool);
+ context.logger.warn(
+ `Skipping configuration file for '${toolName}' at '${path}' because it already exists.\n` +
+ 'This is to prevent overwriting a potentially customized file. ' +
+ 'If you want to regenerate it with Angular recommended defaults, please delete the existing file and re-run the command.\n' +
+ 'You can review the latest recommendations at https://angular.dev/ai/develop-with-ai.\n',
+ );
+
+ return noop();
+ }
+
+ return mergeWith(
+ apply(url('./files'), [
+ filter((path) => path.includes('__bestPracticesName__')),
+ applyTemplates({
+ ...strings,
+ bestPracticesName: name,
+ }),
+ move(directory),
+ ]),
+ );
+}
diff --git a/packages/schematics/angular/ai-config/files/__jsonConfigName__.template b/packages/schematics/angular/ai-config/files/__jsonConfigName__.template
new file mode 100644
index 000000000000..4da7c6e12f7b
--- /dev/null
+++ b/packages/schematics/angular/ai-config/files/__jsonConfigName__.template
@@ -0,0 +1,8 @@
+{
+ "<%= mcpServersProperty %>": {
+ "angular-cli": {
+ "command": "npx",
+ "args": ["-y", "@angular/cli", "mcp"]
+ }
+ }
+}
diff --git a/packages/schematics/angular/ai-config/files/__tomlConfigName__.template b/packages/schematics/angular/ai-config/files/__tomlConfigName__.template
new file mode 100644
index 000000000000..74e6b49b22ae
--- /dev/null
+++ b/packages/schematics/angular/ai-config/files/__tomlConfigName__.template
@@ -0,0 +1,3 @@
+[mcp_servers.angular-cli]
+command = "npx"
+args = ["-y", "@angular/cli", "mcp"]
diff --git a/packages/schematics/angular/ai-config/index.ts b/packages/schematics/angular/ai-config/index.ts
index f332fd8b7e39..7dab2fccbdef 100644
--- a/packages/schematics/angular/ai-config/index.ts
+++ b/packages/schematics/angular/ai-config/index.ts
@@ -6,57 +6,63 @@
* found in the LICENSE file at https://angular.dev/license
*/
-import {
- Rule,
- apply,
- applyTemplates,
- chain,
- mergeWith,
- move,
- noop,
- strings,
- url,
-} from '@angular-devkit/schematics';
+import { Rule, chain, noop, strings } from '@angular-devkit/schematics';
+import { addBestPracticesMarkdown, addJsonMcpConfig, addTomlMcpConfig } from './file_utils';
import { Schema as ConfigOptions, Tool } from './schema';
+import { ContextFileInfo, ContextFileType, FileConfigurationHandlerOptions } from './types';
-const AI_TOOLS: { [key in Exclude]: ContextFileInfo } = {
- agents: {
- rulesName: 'AGENTS.md',
- directory: '.',
- },
- gemini: {
- rulesName: 'GEMINI.md',
- directory: '.gemini',
- },
- claude: {
- rulesName: 'CLAUDE.md',
- directory: '.claude',
- },
- copilot: {
- rulesName: 'copilot-instructions.md',
- directory: '.github',
- },
- windsurf: {
- rulesName: 'guidelines.md',
- directory: '.windsurf/rules',
- },
- jetbrains: {
- rulesName: 'guidelines.md',
- directory: '.junie',
- },
- // Cursor file has a front matter section.
- cursor: {
- rulesName: 'cursor.mdc',
- directory: '.cursor/rules',
- frontmatter: `---\ncontext: true\npriority: high\nscope: project\n---`,
- },
+const AGENTS_MD_CFG: ContextFileInfo = {
+ type: ContextFileType.BestPracticesMd,
+ name: 'AGENTS.md',
+ directory: '.',
};
-interface ContextFileInfo {
- rulesName: string;
- directory: string;
- frontmatter?: string;
-}
+const AI_TOOLS: { [key in Exclude]: ContextFileInfo[] } = {
+ ['claude-code']: [
+ AGENTS_MD_CFG,
+ {
+ type: ContextFileType.McpConfig,
+ name: '.mcp.json',
+ directory: '.',
+ },
+ ],
+ cursor: [
+ AGENTS_MD_CFG,
+ {
+ type: ContextFileType.McpConfig,
+ name: 'mcp.json',
+ directory: '.cursor',
+ },
+ ],
+ ['gemini-cli']: [
+ {
+ type: ContextFileType.BestPracticesMd,
+ name: 'GEMINI.md',
+ directory: '.gemini',
+ },
+ {
+ type: ContextFileType.McpConfig,
+ name: 'settings.json',
+ directory: '.gemini',
+ },
+ ],
+ ['open-ai-codex']: [
+ AGENTS_MD_CFG,
+ {
+ type: ContextFileType.McpConfig,
+ name: 'config.toml',
+ directory: '.codex',
+ },
+ ],
+ vscode: [
+ AGENTS_MD_CFG,
+ {
+ type: ContextFileType.McpConfig,
+ name: 'mcp.json',
+ directory: '.vscode',
+ },
+ ],
+};
export default function ({ tool }: ConfigOptions): Rule {
return (tree, context) => {
@@ -66,33 +72,36 @@ export default function ({ tool }: ConfigOptions): Rule {
const rules = tool
.filter((tool) => tool !== Tool.None)
- .map((selectedTool) => {
- const { rulesName, directory, frontmatter } = AI_TOOLS[selectedTool];
- const path = `${directory}/${rulesName}`;
-
- if (tree.exists(path)) {
- const toolName = strings.classify(selectedTool);
- context.logger.warn(
- `Skipping configuration file for '${toolName}' at '${path}' because it already exists.\n` +
- 'This is to prevent overwriting a potentially customized file. ' +
- 'If you want to regenerate it with Angular recommended defaults, please delete the existing file and re-run the command.\n' +
- 'You can review the latest recommendations at https://angular.dev/ai/develop-with-ai.',
- );
-
- return noop();
- }
+ .flatMap((selectedTool) =>
+ AI_TOOLS[selectedTool].map((fileInfo) => {
+ const fileCfgOpts: FileConfigurationHandlerOptions = {
+ tree,
+ context,
+ fileInfo,
+ tool: selectedTool,
+ };
- return mergeWith(
- apply(url('./files'), [
- applyTemplates({
- ...strings,
- rulesName,
- frontmatter,
- }),
- move(directory),
- ]),
- );
- });
+ switch (fileInfo.type) {
+ case ContextFileType.BestPracticesMd:
+ return addBestPracticesMarkdown(fileCfgOpts);
+ case ContextFileType.McpConfig:
+ switch (selectedTool) {
+ case Tool.ClaudeCode:
+ case Tool.Cursor:
+ case Tool.GeminiCli:
+ return addJsonMcpConfig(fileCfgOpts, 'mcpServers');
+ case Tool.OpenAiCodex:
+ return addTomlMcpConfig(fileCfgOpts);
+ case Tool.Vscode:
+ return addJsonMcpConfig(fileCfgOpts, 'servers');
+ default:
+ throw new Error(
+ `Unsupported '${strings.classify(selectedTool)}' MCP server configuraiton.`,
+ );
+ }
+ }
+ }),
+ );
return chain(rules);
};
diff --git a/packages/schematics/angular/ai-config/index_spec.ts b/packages/schematics/angular/ai-config/index_spec.ts
index 63b1bb205963..f4408e96444c 100644
--- a/packages/schematics/angular/ai-config/index_spec.ts
+++ b/packages/schematics/angular/ai-config/index_spec.ts
@@ -7,10 +7,11 @@
*/
import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing';
+import { parse } from 'jsonc-parser';
import { Schema as WorkspaceOptions } from '../workspace/schema';
import { Schema as ConfigOptions, Tool as ConfigTool } from './schema';
-describe('Ai Config Schematic', () => {
+describe('AI Config Schematic', () => {
const schematicRunner = new SchematicTestRunner(
'@schematics/angular',
require.resolve('../collection.json'),
@@ -23,7 +24,7 @@ describe('Ai Config Schematic', () => {
};
let workspaceTree: UnitTestTree;
- function runConfigSchematic(tool: ConfigTool[]): Promise {
+ function runAiConfigSchematic(tool: ConfigTool[]): Promise {
return schematicRunner.runSchematic('ai-config', { tool }, workspaceTree);
}
@@ -31,82 +32,141 @@ describe('Ai Config Schematic', () => {
workspaceTree = await schematicRunner.runSchematic('workspace', workspaceOptions);
});
- it('should create an AGENTS.md file', async () => {
- const tree = await runConfigSchematic([ConfigTool.Agents]);
+ it('should create Angular MCP server config and AGENTS.md for Claude Code', async () => {
+ const tree = await runAiConfigSchematic([ConfigTool.ClaudeCode]);
expect(tree.exists('AGENTS.md')).toBeTruthy();
+ expect(tree.exists('.mcp.json')).toBeTruthy();
});
- it('should create a GEMINI.MD file', async () => {
- const tree = await runConfigSchematic([ConfigTool.Gemini]);
- expect(tree.exists('.gemini/GEMINI.md')).toBeTruthy();
- });
-
- it('should create a copilot-instructions.md file', async () => {
- const tree = await runConfigSchematic([ConfigTool.Copilot]);
- expect(tree.exists('.github/copilot-instructions.md')).toBeTruthy();
- });
-
- it('should create a cursor file', async () => {
- const tree = await runConfigSchematic([ConfigTool.Cursor]);
- expect(tree.exists('.cursor/rules/cursor.mdc')).toBeTruthy();
+ it('should create Angular MCP server config and AGENTS.md for Cursor', async () => {
+ const tree = await runAiConfigSchematic([ConfigTool.Cursor]);
+ expect(tree.exists('AGENTS.md')).toBeTruthy();
+ expect(tree.exists('.cursor/mcp.json')).toBeTruthy();
});
- it('should create a windsurf file', async () => {
- const tree = await runConfigSchematic([ConfigTool.Windsurf]);
- expect(tree.exists('.windsurf/rules/guidelines.md')).toBeTruthy();
+ it('should create Angular MCP server config and GEMINI.md for Gemini CLI', async () => {
+ const tree = await runAiConfigSchematic([ConfigTool.GeminiCli]);
+ expect(tree.exists('.gemini/GEMINI.md')).toBeTruthy();
+ expect(tree.exists('.gemini/settings.json')).toBeTruthy();
});
- it('should create a claude file', async () => {
- const tree = await runConfigSchematic([ConfigTool.Claude]);
- expect(tree.exists('.claude/CLAUDE.md')).toBeTruthy();
+ it('should create Angular MCP server config and AGENTS.md for Open AI Codex', async () => {
+ const tree = await runAiConfigSchematic([ConfigTool.OpenAiCodex]);
+ expect(tree.exists('AGENTS.md')).toBeTruthy();
+ expect(tree.exists('.codex/config.toml')).toBeTruthy();
});
- it('should create a jetbrains file', async () => {
- const tree = await runConfigSchematic([ConfigTool.Jetbrains]);
- expect(tree.exists('.junie/guidelines.md')).toBeTruthy();
+ it('should create Angular MCP server config and AGENTS.md for VS Code', async () => {
+ const tree = await runAiConfigSchematic([ConfigTool.Vscode]);
+ expect(tree.exists('AGENTS.md')).toBeTruthy();
+ expect(tree.exists('.vscode/mcp.json')).toBeTruthy();
});
it('should create multiple files when multiple tools are selected', async () => {
- const tree = await runConfigSchematic([
- ConfigTool.Gemini,
- ConfigTool.Copilot,
+ const tree = await runAiConfigSchematic([
+ ConfigTool.GeminiCli,
+ ConfigTool.Vscode,
ConfigTool.Cursor,
]);
+ expect(tree.exists('AGENTS.md')).toBeTruthy();
expect(tree.exists('.gemini/GEMINI.md')).toBeTruthy();
- expect(tree.exists('.github/copilot-instructions.md')).toBeTruthy();
- expect(tree.exists('.cursor/rules/cursor.mdc')).toBeTruthy();
+ expect(tree.exists('.gemini/settings.json')).toBeTruthy();
+ expect(tree.exists('.vscode/mcp.json')).toBeTruthy();
+ expect(tree.exists('.cursor/mcp.json')).toBeTruthy();
});
it('should not create any files if None is selected', async () => {
const filesCount = workspaceTree.files.length;
- const tree = await runConfigSchematic([ConfigTool.None]);
+ const tree = await runAiConfigSchematic([ConfigTool.None]);
expect(tree.files.length).toBe(filesCount);
});
- it('should not overwrite an existing file', async () => {
+ it('should create for tool if None and an AI host are selected', async () => {
+ const tree = await runAiConfigSchematic([ConfigTool.GeminiCli, ConfigTool.None]);
+ expect(tree.exists('.gemini/GEMINI.md')).toBeTruthy();
+ expect(tree.exists('.gemini/settings.json')).toBeTruthy();
+ });
+
+ it('should omit best practices creation, if the file already exists', async () => {
const customContent = 'custom user content';
- workspaceTree.create('.gemini/GEMINI.md', customContent);
+ workspaceTree.create('AGENTS.md', customContent);
const messages: string[] = [];
const loggerSubscription = schematicRunner.logger.subscribe((x) => messages.push(x.message));
try {
- const tree = await runConfigSchematic([ConfigTool.Gemini]);
+ const tree = await runAiConfigSchematic([ConfigTool.ClaudeCode]);
- expect(tree.readContent('.gemini/GEMINI.md')).toBe(customContent);
+ expect(tree.readContent('AGENTS.md')).toBe(customContent);
expect(messages).toContain(
- `Skipping configuration file for 'Gemini' at '.gemini/GEMINI.md' because it already exists.\n` +
+ `Skipping configuration file for 'ClaudeCode' at './AGENTS.md' because it already exists.\n` +
'This is to prevent overwriting a potentially customized file. ' +
'If you want to regenerate it with Angular recommended defaults, please delete the existing file and re-run the command.\n' +
- 'You can review the latest recommendations at https://angular.dev/ai/develop-with-ai.',
+ 'You can review the latest recommendations at https://angular.dev/ai/develop-with-ai.\n',
);
} finally {
loggerSubscription.unsubscribe();
}
});
- it('should create for tool if None and Gemini are selected', async () => {
- const tree = await runConfigSchematic([ConfigTool.Gemini, ConfigTool.None]);
- expect(tree.exists('.gemini/GEMINI.md')).toBeTruthy();
+ it('should update JSON MCP server config, if the file exists', async () => {
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ const jsonConfig: Record = {
+ foo: 'bar',
+ mcpServers: {
+ 'baz': {},
+ },
+ };
+ workspaceTree.create('.mcp.json', JSON.stringify(jsonConfig));
+
+ const tree = await runAiConfigSchematic([ConfigTool.ClaudeCode]);
+
+ const modifiedConfig = structuredClone(jsonConfig);
+ modifiedConfig.mcpServers = {
+ ...modifiedConfig.mcpServers,
+ ['angular-cli']: {
+ command: 'npx',
+ args: ['-y', '@angular/cli', 'mcp'],
+ },
+ };
+
+ const actualConfig = parse(tree.readContent('.mcp.json'));
+
+ expect(JSON.stringify(actualConfig, null, 2)).toBe(JSON.stringify(modifiedConfig, null, 2));
+ });
+
+ it('should update TOML MCP server config, if the file exists', async () => {
+ const tomlConfig = '[foo]';
+ workspaceTree.create('.codex/config.toml', tomlConfig);
+
+ const tree = await runAiConfigSchematic([ConfigTool.OpenAiCodex]);
+
+ let modifiedConfig = tomlConfig;
+ modifiedConfig +=
+ '\n\n[mcp_servers.angular-cli]\n' +
+ 'command = "npx"\n' +
+ 'args = ["-y", "@angular/cli", "mcp"]\n';
+
+ expect(tree.readContent('.codex/config.toml')).toBe(modifiedConfig);
+ });
+
+ it('should omit TOML MCP server config update, if the config already exists', async () => {
+ const tomlConfig = '[mcp_servers.angular-cli]';
+ workspaceTree.create('.codex/config.toml', tomlConfig);
+
+ const messages: string[] = [];
+ const loggerSubscription = schematicRunner.logger.subscribe((x) => messages.push(x.message));
+
+ try {
+ const tree = await runAiConfigSchematic([ConfigTool.OpenAiCodex]);
+
+ expect(tree.readContent('.codex/config.toml')).toBe(tomlConfig);
+ expect(messages).toContain(
+ `Skipping Angular MCP server configuration for 'OpenAiCodex'.\n` +
+ `Configuration already exists in '.codex/config.toml'.\n`,
+ );
+ } finally {
+ loggerSubscription.unsubscribe();
+ }
});
});
diff --git a/packages/schematics/angular/ai-config/schema.json b/packages/schematics/angular/ai-config/schema.json
index bbfc21028c9f..4cb63468ae53 100644
--- a/packages/schematics/angular/ai-config/schema.json
+++ b/packages/schematics/angular/ai-config/schema.json
@@ -4,14 +4,14 @@
"title": "Angular AI Config File Options Schema",
"type": "object",
"additionalProperties": false,
- "description": "Generates AI configuration files for Angular projects. This schematic creates configuration files that help AI tools follow Angular best practices, improving the quality of AI-generated code and suggestions.",
+ "description": "Generates AI configuration files for Angular projects. This schematic creates AGENTS.md file and Angular MCP server configuration, improving the quality of AI-generated code and suggestions.",
"properties": {
"tool": {
"type": "array",
"uniqueItems": true,
"default": ["none"],
"x-prompt": {
- "message": "Which AI tools do you want to configure with Angular best practices? https://angular.dev/ai/develop-with-ai",
+ "message": "Which AI tools should Angular integrate with? https://angular.dev/ai/develop-with-ai",
"type": "list",
"items": [
{
@@ -19,39 +19,31 @@
"label": "None"
},
{
- "value": "agents",
- "label": "Agents.md [ https://agents.md/ ]"
- },
- {
- "value": "claude",
- "label": "Claude [ https://docs.anthropic.com/en/docs/claude-code/memory ]"
+ "value": "claude-code",
+ "label": "Claude Code [ `AGENTS.md` + Angular MCP server config ]"
},
{
"value": "cursor",
- "label": "Cursor [ https://docs.cursor.com/en/context/rules ]"
- },
- {
- "value": "gemini",
- "label": "Gemini [ https://ai.google.dev/gemini-api/docs ]"
+ "label": "Cursor [ `AGENTS.md` + Angular MCP server config ]"
},
{
- "value": "copilot",
- "label": "GitHub Copilot [ https://code.visualstudio.com/docs/copilot/copilot-customization ]"
+ "value": "gemini-cli",
+ "label": "Gemini CLI [ `GEMINI.md` + Angular MCP server config ]"
},
{
- "value": "jetbrains",
- "label": "JetBrains AI [ https://www.jetbrains.com/help/junie/customize-guidelines.html ]"
+ "value": "open-ai-codex",
+ "label": "Open AI Codex [ `AGENTS.md` + Angular MCP server config ]"
},
{
- "value": "windsurf",
- "label": "Windsurf [ https://docs.windsurf.com/windsurf/cascade/memories#rules ]"
+ "value": "vscode",
+ "label": "VSCode [ `AGENTS.md` + Angular MCP server config ]"
}
]
},
- "description": "Specifies which AI tools to generate configuration files for. These file are used to improve the outputs of AI tools by following the best practices.",
+ "description": "Specifies which AI tools to generate configuration files (AGENTS.md, MCP server config) for.",
"items": {
"type": "string",
- "enum": ["none", "gemini", "copilot", "claude", "cursor", "jetbrains", "windsurf", "agents"]
+ "enum": ["none", "claude-code", "cursor", "gemini-cli", "open-ai-codex", "vscode"]
}
}
}
diff --git a/packages/schematics/angular/ai-config/types.ts b/packages/schematics/angular/ai-config/types.ts
new file mode 100644
index 000000000000..1d4fe78a7b2a
--- /dev/null
+++ b/packages/schematics/angular/ai-config/types.ts
@@ -0,0 +1,41 @@
+/**
+ * @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 { SchematicContext, Tree } from '@angular-devkit/schematics';
+import { Tool } from './schema';
+
+/**
+ * Types of supported AI configuration files.
+ */
+export enum ContextFileType {
+ /** Represents a Markdown AI instructions file (e.g. AGENTS.md). */
+ BestPracticesMd = 0,
+
+ /** Represents an MCP server configuration (e.g. Angular MCP). */
+ McpConfig = 1,
+}
+
+/**
+ * AI configuration file metadata.
+ */
+export interface ContextFileInfo {
+ type: ContextFileType;
+ name: string;
+ directory: string;
+}
+
+/**
+ * Represents the file configuration handler options
+ * that are normally passed to the handler functions.
+ */
+export type FileConfigurationHandlerOptions = {
+ tree: Tree;
+ context: SchematicContext;
+ fileInfo: ContextFileInfo;
+ tool: Tool;
+};
diff --git a/packages/schematics/angular/migrations/migrate-karma-to-vitest/karma-config-analyzer.ts b/packages/schematics/angular/migrations/migrate-karma-to-vitest/karma-config-analyzer.ts
index 79bfa9e98a41..d39e1a16bab6 100644
--- a/packages/schematics/angular/migrations/migrate-karma-to-vitest/karma-config-analyzer.ts
+++ b/packages/schematics/angular/migrations/migrate-karma-to-vitest/karma-config-analyzer.ts
@@ -80,7 +80,8 @@ export function analyzeKarmaConfig(content: string): KarmaConfigAnalysis {
function extractValue(node: ts.Expression): KarmaConfigValue {
switch (node.kind) {
case ts.SyntaxKind.StringLiteral:
- return (node as ts.StringLiteral).text;
+ case ts.SyntaxKind.NoSubstitutionTemplateLiteral:
+ return (node as ts.StringLiteral | ts.NoSubstitutionTemplateLiteral).text;
case ts.SyntaxKind.NumericLiteral:
return Number((node as ts.NumericLiteral).text);
case ts.SyntaxKind.TrueKeyword:
diff --git a/packages/schematics/angular/migrations/migrate-karma-to-vitest/karma-config-analyzer_spec.ts b/packages/schematics/angular/migrations/migrate-karma-to-vitest/karma-config-analyzer_spec.ts
index 79af125c8690..e6af7f09d805 100644
--- a/packages/schematics/angular/migrations/migrate-karma-to-vitest/karma-config-analyzer_spec.ts
+++ b/packages/schematics/angular/migrations/migrate-karma-to-vitest/karma-config-analyzer_spec.ts
@@ -293,4 +293,33 @@ describe('Karma Config Analyzer', () => {
expect(settings.size).toBe(0);
expect(hasUnsupportedValues).toBe(true);
});
+
+ it('should parse plain template literal strings without substitution', () => {
+ const karmaConf = `
+ module.exports = function (config) {
+ config.set({
+ basePath: \`some/path\`,
+ });
+ };
+ `;
+ const { settings, hasUnsupportedValues } = analyzeKarmaConfig(karmaConf);
+
+ expect(settings.get('basePath') as unknown).toBe('some/path');
+ expect(hasUnsupportedValues).toBe(false);
+ });
+
+ it('should flag template literals with substitution as unsupported', () => {
+ const karmaConf = `
+ const relativePath = './coverage';
+ module.exports = function (config) {
+ config.set({
+ basePath: \`\${relativePath}/test\`,
+ });
+ };
+ `;
+ const { settings, hasUnsupportedValues } = analyzeKarmaConfig(karmaConf);
+
+ expect(settings.get('basePath')).toBeUndefined();
+ expect(hasUnsupportedValues).toBe(true);
+ });
});
diff --git a/packages/schematics/angular/migrations/migrate-karma-to-vitest/karma-processor.ts b/packages/schematics/angular/migrations/migrate-karma-to-vitest/karma-processor.ts
index e5a83f4f2786..43e64eb2033a 100644
--- a/packages/schematics/angular/migrations/migrate-karma-to-vitest/karma-processor.ts
+++ b/packages/schematics/angular/migrations/migrate-karma-to-vitest/karma-processor.ts
@@ -119,42 +119,47 @@ function extractCoverageSettings(
}
}
+export interface KarmaConfigProcessingResult {
+ analysis: KarmaConfigAnalysis;
+ isRemovable: boolean;
+}
+
export async function processKarmaConfig(
karmaConfig: string,
options: Record,
projectName: string,
context: SchematicContext,
tree: Tree,
- removableKarmaConfigs: Map,
+ cache: Map,
needDevkitPlugin: boolean,
manualMigrationFiles: string[],
): Promise {
- if (tree.exists(karmaConfig)) {
+ let cachedResult = cache.get(karmaConfig);
+
+ if (!cachedResult && tree.exists(karmaConfig)) {
const content = tree.readText(karmaConfig);
const analysis = analyzeKarmaConfig(content);
- extractReporters(analysis, options, projectName, context);
- extractCoverageSettings(analysis, options, projectName, context);
-
- let isRemovable = removableKarmaConfigs.get(karmaConfig);
- if (isRemovable === undefined) {
- if (analysis.hasUnsupportedValues) {
- isRemovable = false;
- } else {
- const diff = await compareKarmaConfigToDefault(
- analysis,
- projectName,
- karmaConfig,
- needDevkitPlugin,
- );
- isRemovable = !hasDifferences(diff) && diff.isReliable;
- }
- removableKarmaConfigs.set(karmaConfig, isRemovable);
+ let isRemovable = false;
+ if (!analysis.hasUnsupportedValues) {
+ const diff = await compareKarmaConfigToDefault(
+ analysis,
+ projectName,
+ karmaConfig,
+ needDevkitPlugin,
+ );
+ isRemovable = !hasDifferences(diff) && diff.isReliable;
}
- if (isRemovable) {
- tree.delete(karmaConfig);
- } else {
+ cachedResult = { analysis, isRemovable };
+ cache.set(karmaConfig, cachedResult);
+ }
+
+ if (cachedResult) {
+ extractReporters(cachedResult.analysis, options, projectName, context);
+ extractCoverageSettings(cachedResult.analysis, options, projectName, context);
+
+ if (!cachedResult.isRemovable) {
context.logger.warn(
`Project "${projectName}" uses a custom Karma configuration file "${karmaConfig}". ` +
`Tests have been migrated to use Vitest, but you may need to manually migrate custom settings ` +
@@ -164,5 +169,6 @@ export async function processKarmaConfig(
manualMigrationFiles.push(karmaConfig);
}
}
+
delete options['karmaConfig'];
}
diff --git a/packages/schematics/angular/migrations/migrate-karma-to-vitest/migration.ts b/packages/schematics/angular/migrations/migrate-karma-to-vitest/migration.ts
index dbf169ec22e5..7d2306428b32 100644
--- a/packages/schematics/angular/migrations/migrate-karma-to-vitest/migration.ts
+++ b/packages/schematics/angular/migrations/migrate-karma-to-vitest/migration.ts
@@ -8,25 +8,28 @@
import type { json } from '@angular-devkit/core';
import { Rule, SchematicContext, Tree, chain } from '@angular-devkit/schematics';
+import { join } from 'node:path/posix';
import { isDeepStrictEqual } from 'util';
import { DependencyType, ExistingBehavior, addDependency } from '../../utility/dependency';
+import { JSONFile } from '../../utility/json-file';
import { latestVersions } from '../../utility/latest-versions';
import { TargetDefinition, allTargetOptions, updateWorkspace } from '../../utility/workspace';
import { Builders } from '../../utility/workspace-models';
import { BUILD_OPTIONS_KEYS } from './constants';
-import { processKarmaConfig } from './karma-processor';
+import { KarmaConfigProcessingResult, processKarmaConfig } from './karma-processor';
async function processTestTargetOptions(
testTarget: TargetDefinition,
projectName: string,
context: SchematicContext,
tree: Tree,
- removableKarmaConfigs: Map,
+ removableKarmaConfigs: Map,
customBuildOptions: Record>,
needDevkitPlugin: boolean,
manualMigrationFiles: string[],
-): Promise {
+): Promise<{ needsCoverage: boolean; needsIstanbul: boolean }> {
let needsCoverage = false;
+ let needsIstanbul = false;
for (const [configName, options] of allTargetOptions(testTarget, false)) {
const configKey = configName || '';
if (!customBuildOptions[configKey]) {
@@ -79,6 +82,20 @@ async function processTestTargetOptions(
const updatedBrowsers = options['browsers'];
if (Array.isArray(updatedBrowsers) && updatedBrowsers.length > 0) {
+ const hasNonChromium = updatedBrowsers.some((b) => {
+ if (typeof b !== 'string') {
+ return false;
+ }
+
+ const normalized = b.toLowerCase();
+
+ return !['chrome', 'chromium', 'edge'].some((name) => normalized.includes(name));
+ });
+
+ if (hasNonChromium) {
+ needsIstanbul = true;
+ }
+
context.logger.info(
`Project "${projectName}" has browsers configured for tests. ` +
`To run tests in a browser with Vitest, you will need to install either ` +
@@ -116,14 +133,88 @@ async function processTestTargetOptions(
delete options['main'];
}
- return needsCoverage;
+ return { needsCoverage, needsIstanbul };
+}
+
+function updateTsConfigTypes(
+ tree: Tree,
+ tsConfigsToUpdate: Set,
+ context: SchematicContext,
+): void {
+ for (const tsConfigPath of tsConfigsToUpdate) {
+ if (tree.exists(tsConfigPath)) {
+ try {
+ const json = new JSONFile(tree, tsConfigPath);
+ const typesPath = ['compilerOptions', 'types'];
+ const existingTypes = (json.get(typesPath) as string[] | undefined) ?? [];
+ const newTypes = existingTypes.filter((t) => t !== 'jasmine');
+
+ if (!newTypes.includes('vitest/globals')) {
+ newTypes.push('vitest/globals');
+ }
+
+ if (
+ newTypes.length !== existingTypes.length ||
+ newTypes.some((t, i) => t !== existingTypes[i])
+ ) {
+ json.modify(typesPath, newTypes);
+ }
+ } catch (err) {
+ context.logger.warn(
+ `Failed to automatically update types in "${tsConfigPath}". ` +
+ `Please manually remove "jasmine" and add "vitest/globals" to compilerOptions.types.`,
+ );
+ }
+ }
+ }
+}
+
+function logSummary(
+ context: SchematicContext,
+ migratedProjects: string[],
+ skippedNonApplications: string[],
+ skippedMissingAppBuilder: string[],
+ manualMigrationFiles: string[],
+): void {
+ context.logger.info('\n--- Karma to Vitest Migration Summary ---');
+ context.logger.info(`Projects migrated: ${migratedProjects.length}`);
+ if (migratedProjects.length > 0) {
+ context.logger.info(` - ${migratedProjects.join(', ')}`);
+ }
+ context.logger.info(`Projects skipped (non-applications): ${skippedNonApplications.length}`);
+ if (skippedNonApplications.length > 0) {
+ context.logger.info(` - ${skippedNonApplications.join(', ')}`);
+ }
+ context.logger.info(
+ `Projects skipped (missing application builder): ${skippedMissingAppBuilder.length}`,
+ );
+ if (skippedMissingAppBuilder.length > 0) {
+ context.logger.info(` - ${skippedMissingAppBuilder.join(', ')}`);
+ }
+
+ const uniqueManualFiles = [...new Set(manualMigrationFiles)];
+ if (uniqueManualFiles.length > 0) {
+ context.logger.warn(`\nThe following Karma configuration files require manual migration:`);
+ for (const file of uniqueManualFiles) {
+ context.logger.warn(` - ${file}`);
+ }
+ }
+ if (migratedProjects.length > 0) {
+ context.logger.info(
+ `\nNote: To refactor your test files from Jasmine to Vitest, consider running the following command:` +
+ `\n ng g @schematics/angular:refactor-jasmine-vitest `,
+ );
+ }
+ context.logger.info('-----------------------------------------\n');
}
function updateProjects(tree: Tree, context: SchematicContext): Rule {
return updateWorkspace(async (workspace) => {
let needsCoverage = false;
- const removableKarmaConfigs = new Map();
+ let needsIstanbul = false;
+ const removableKarmaConfigs = new Map();
const migratedProjects: string[] = [];
+ const tsConfigsToUpdate = new Set();
const skippedNonApplications: string[] = [];
const skippedMissingAppBuilder: string[] = [];
const manualMigrationFiles: string[] = [];
@@ -169,10 +260,25 @@ function updateProjects(tree: Tree, context: SchematicContext): Rule {
continue;
}
+ // Collect tsConfig paths to perform globals updates
+ const baseTsConfig = testTarget.options?.['tsConfig'];
+ if (typeof baseTsConfig === 'string') {
+ tsConfigsToUpdate.add(baseTsConfig);
+ }
+ if (testTarget.configurations) {
+ for (const config of Object.values(testTarget.configurations)) {
+ if (typeof config?.['tsConfig'] === 'string') {
+ tsConfigsToUpdate.add(config['tsConfig']);
+ }
+ }
+ }
+ // Always include fallback to the default tsconfig.spec.json path
+ tsConfigsToUpdate.add(join(project.root, 'tsconfig.spec.json'));
+
// Store custom build options to move to a new build configuration if needed
const customBuildOptions: Record> = {};
- const projectNeedsCoverage = await processTestTargetOptions(
+ const projectCoverageInfo = await processTestTargetOptions(
testTarget,
projectName,
context,
@@ -183,8 +289,11 @@ function updateProjects(tree: Tree, context: SchematicContext): Rule {
manualMigrationFiles,
);
- if (projectNeedsCoverage) {
+ if (projectCoverageInfo.needsCoverage) {
needsCoverage = true;
+ if (projectCoverageInfo.needsIstanbul) {
+ needsIstanbul = true;
+ }
}
// If we have custom build options, create testing configurations
@@ -235,37 +344,24 @@ function updateProjects(tree: Tree, context: SchematicContext): Rule {
migratedProjects.push(projectName);
}
- // Log summary
- context.logger.info('\n--- Karma to Vitest Migration Summary ---');
- context.logger.info(`Projects migrated: ${migratedProjects.length}`);
- if (migratedProjects.length > 0) {
- context.logger.info(` - ${migratedProjects.join(', ')}`);
- }
- context.logger.info(`Projects skipped (non-applications): ${skippedNonApplications.length}`);
- if (skippedNonApplications.length > 0) {
- context.logger.info(` - ${skippedNonApplications.join(', ')}`);
- }
- context.logger.info(
- `Projects skipped (missing application builder): ${skippedMissingAppBuilder.length}`,
- );
- if (skippedMissingAppBuilder.length > 0) {
- context.logger.info(` - ${skippedMissingAppBuilder.join(', ')}`);
- }
-
- const uniqueManualFiles = [...new Set(manualMigrationFiles)];
- if (uniqueManualFiles.length > 0) {
- context.logger.warn(`\nThe following Karma configuration files require manual migration:`);
- for (const file of uniqueManualFiles) {
- context.logger.warn(` - ${file}`);
+ // Perform cleanup of removable karma config files
+ for (const [configPath, result] of removableKarmaConfigs) {
+ if (result.isRemovable && tree.exists(configPath)) {
+ tree.delete(configPath);
}
}
- if (migratedProjects.length > 0) {
- context.logger.info(
- `\nNote: To refactor your test files from Jasmine to Vitest, consider running the following command:` +
- `\n ng g @schematics/angular:refactor-jasmine-vitest `,
- );
- }
- context.logger.info('-----------------------------------------\n');
+
+ // Update TSConfig files to use Vitest types instead of Jasmine
+ updateTsConfigTypes(tree, tsConfigsToUpdate, context);
+
+ // Log summary
+ logSummary(
+ context,
+ migratedProjects,
+ skippedNonApplications,
+ skippedMissingAppBuilder,
+ manualMigrationFiles,
+ );
if (migratedProjects.length > 0) {
const rules = [
@@ -282,6 +378,19 @@ function updateProjects(tree: Tree, context: SchematicContext): Rule {
existing: ExistingBehavior.Skip,
}),
);
+
+ if (needsIstanbul) {
+ rules.push(
+ addDependency(
+ '@vitest/coverage-istanbul',
+ latestVersions['@vitest/coverage-istanbul'],
+ {
+ type: DependencyType.Dev,
+ existing: ExistingBehavior.Skip,
+ },
+ ),
+ );
+ }
}
return chain(rules);
diff --git a/packages/schematics/angular/migrations/migrate-karma-to-vitest/migration_spec.ts b/packages/schematics/angular/migrations/migrate-karma-to-vitest/migration_spec.ts
index e206002ab665..fb6737b77d26 100644
--- a/packages/schematics/angular/migrations/migrate-karma-to-vitest/migration_spec.ts
+++ b/packages/schematics/angular/migrations/migrate-karma-to-vitest/migration_spec.ts
@@ -322,6 +322,7 @@ module.exports = function (config) {
const newTree = await schematicRunner.runSchematic('migrate-karma-to-vitest', {}, tree);
expect(newTree.exists('karma.conf.js')).toBeFalse();
});
+
it('should shift main compilation entry file directly into setupFiles array', async () => {
const { projects } = tree.readJson('/angular.json') as any;
projects.app.targets.test.options.main = 'src/test.ts';
@@ -333,6 +334,7 @@ module.exports = function (config) {
expect(newProjects.app.targets.test.options.setupFiles).toEqual(['src/test.ts']);
expect(newProjects.app.targets.test.options.main).toBeUndefined();
});
+
it('should generate unique testing configuration name preventing collision overwrites', async () => {
const { projects } = tree.readJson('/angular.json') as any;
projects.app.targets.build.configurations = {
@@ -350,6 +352,7 @@ module.exports = function (config) {
]);
expect(newProjects.app.targets.test.options.buildTarget).toBe(':build:testing-2');
});
+
it('should inject @vitest/coverage-v8 whenever coverage presence is detected', async () => {
const { projects } = tree.readJson('/angular.json') as any;
projects.app.targets.test.options.codeCoverage = true;
@@ -360,4 +363,83 @@ module.exports = function (config) {
expect(devDependencies['@vitest/coverage-v8']).toBe(latestVersions['@vitest/coverage-v8']);
});
+
+ it('should successfully extract settings across multiple projects sharing the same removable karma config', async () => {
+ const { projects } = tree.readJson('/angular.json') as any;
+ projects.app.targets.test.builder = '@angular-devkit/build-angular:karma';
+
+ // Add a second project sharing the exact same configuration
+ projects.app2 = {
+ ...JSON.parse(JSON.stringify(projects.app)),
+ root: 'app2',
+ };
+
+ tree.overwrite('/angular.json', JSON.stringify({ version: 1, projects }));
+
+ const DEFAULT_KARMA_CONFIG = `
+module.exports = function (config) {
+ config.set({
+ basePath: '',
+ frameworks: ['jasmine', '@angular-devkit/build-angular'],
+ plugins: [
+ require('karma-jasmine'),
+ require('karma-chrome-launcher'),
+ require('karma-jasmine-html-reporter'),
+ require('karma-coverage'),
+ require('@angular-devkit/build-angular/plugins/karma')
+ ],
+ client: {
+ jasmine: {},
+ },
+ jasmineHtmlReporter: {
+ suppressAll: true
+ },
+ coverageReporter: {
+ dir: require('path').join(__dirname, './coverage/app'),
+ subdir: '.',
+ reporters: [
+ { type: 'html' },
+ { type: 'text-summary' }
+ ]
+ },
+ reporters: ['progress', 'kjhtml'],
+ browsers: ['Chrome'],
+ restartOnFileChange: true
+ });
+};
+`;
+ tree.create('karma.conf.js', DEFAULT_KARMA_CONFIG);
+
+ const newTree = await schematicRunner.runSchematic('migrate-karma-to-vitest', {}, tree);
+ const { projects: newProjects } = newTree.readJson('/angular.json') as any;
+
+ // Assert BOTH projects got the extraction logic mapped correctly
+ expect(newProjects.app.targets.test.options.reporters).toEqual(['default']);
+ expect(newProjects.app2.targets.test.options.reporters).toEqual(['default']);
+
+ // Assert that the deletion deferred successfully until BOTH extracted the data
+ expect(newTree.exists('karma.conf.js')).toBeFalse();
+ });
+
+ it('should automatically transition types in referenced tsconfigs from jasmine to vitest/globals', async () => {
+ // Create a virtual tsconfig that mimics existing state
+ tree.create(
+ 'tsconfig.spec.json',
+ JSON.stringify({
+ compilerOptions: {
+ outDir: './out-tsc/spec',
+ types: ['jasmine', 'node'],
+ },
+ files: ['src/test.ts'],
+ include: ['src/**/*.spec.ts', 'src/**/*.d.ts'],
+ }),
+ );
+
+ const newTree = await schematicRunner.runSchematic('migrate-karma-to-vitest', {}, tree);
+ const tsConfigJson = JSON.parse(newTree.readText('tsconfig.spec.json'));
+
+ expect(tsConfigJson.compilerOptions.types).toContain('vitest/globals');
+ expect(tsConfigJson.compilerOptions.types).not.toContain('jasmine');
+ expect(tsConfigJson.compilerOptions.types).toContain('node');
+ });
});
diff --git a/packages/schematics/angular/ng-new/index_spec.ts b/packages/schematics/angular/ng-new/index_spec.ts
index ad97df398fba..a9a6b4a1b6b2 100644
--- a/packages/schematics/angular/ng-new/index_spec.ts
+++ b/packages/schematics/angular/ng-new/index_spec.ts
@@ -104,13 +104,15 @@ describe('Ng New Schematic', () => {
expect(cli.packageManager).toBe('npm');
});
- it('should add ai config file when aiConfig is set', async () => {
- const options = { ...defaultOptions, aiConfig: ['gemini', 'claude'] };
+ it('should add AI config file when aiConfig is set', async () => {
+ const options = { ...defaultOptions, aiConfig: ['gemini-cli', 'claude-code'] };
const tree = await schematicRunner.runSchematic('ng-new', options);
const files = tree.files;
+ expect(files).toContain('/bar/AGENTS.md');
+ expect(files).toContain('/bar/.mcp.json');
expect(files).toContain('/bar/.gemini/GEMINI.md');
- expect(files).toContain('/bar/.claude/CLAUDE.md');
+ expect(files).toContain('/bar/.gemini/settings.json');
});
it('should create a tailwind project when style is tailwind', async () => {
diff --git a/packages/schematics/angular/ng-new/schema.json b/packages/schematics/angular/ng-new/schema.json
index 30957b9342c1..257628fcda9e 100644
--- a/packages/schematics/angular/ng-new/schema.json
+++ b/packages/schematics/angular/ng-new/schema.json
@@ -155,7 +155,7 @@
"description": "Specifies which AI tools to generate configuration files for. These file are used to improve the outputs of AI tools by following the best practices.",
"items": {
"type": "string",
- "enum": ["none", "gemini", "copilot", "claude", "cursor", "jetbrains", "windsurf", "agents"]
+ "enum": ["none", "claude-code", "cursor", "gemini-cli", "open-ai-codex", "vscode"]
}
},
"fileNameStyleGuide": {
diff --git a/packages/schematics/angular/refactor/jasmine-vitest/index.ts b/packages/schematics/angular/refactor/jasmine-vitest/index.ts
index 4ae4077a7be4..493bb0eb1800 100644
--- a/packages/schematics/angular/refactor/jasmine-vitest/index.ts
+++ b/packages/schematics/angular/refactor/jasmine-vitest/index.ts
@@ -122,6 +122,7 @@ export default function (options: Schema): Rule {
const newContent = transformJasmineToVitest(file, content, reporter, {
addImports: !!options.addImports,
browserMode: !!options.browerMode,
+ fakeAsync: !!options.fakeAsync,
});
if (content !== newContent) {
diff --git a/packages/schematics/angular/refactor/jasmine-vitest/schema.json b/packages/schematics/angular/refactor/jasmine-vitest/schema.json
index 4192a27367fd..5b23618cbc48 100644
--- a/packages/schematics/angular/refactor/jasmine-vitest/schema.json
+++ b/packages/schematics/angular/refactor/jasmine-vitest/schema.json
@@ -36,6 +36,11 @@
"description": "Whether the tests are intended to run in browser mode. If true, the `toHaveClass` assertions are left as is because Vitest browser mode has such an assertion. Otherwise they're migrated to an equivalent assertion.",
"default": false
},
+ "fakeAsync": {
+ "type": "boolean",
+ "description": "Whether to transform `fakeAsync` tests to Vitest fake timers.",
+ "default": false
+ },
"report": {
"type": "boolean",
"description": "Whether to generate a summary report file (jasmine-vitest-.md) in the project root.",
diff --git a/packages/schematics/angular/refactor/jasmine-vitest/test-file-transformer.integration_spec.ts b/packages/schematics/angular/refactor/jasmine-vitest/test-file-transformer.integration_spec.ts
index 2636a142d4b6..b84aeba57411 100644
--- a/packages/schematics/angular/refactor/jasmine-vitest/test-file-transformer.integration_spec.ts
+++ b/packages/schematics/angular/refactor/jasmine-vitest/test-file-transformer.integration_spec.ts
@@ -14,7 +14,7 @@ import { RefactorReporter } from './utils/refactor-reporter';
async function expectTransformation(
input: string,
expected: string,
- options: { addImports: boolean; browserMode: boolean } = {
+ options: { addImports: boolean; browserMode: boolean; fakeAsync?: boolean } = {
addImports: false,
browserMode: false,
},
@@ -534,4 +534,66 @@ describe('Jasmine to Vitest Transformer - Integration Tests', () => {
await expectTransformation(jasmineCode, vitestCode);
});
+
+ it('should not transform `fakeAsync`', async () => {
+ const jasmineCode = `
+ import { fakeAsync, flush, flushMicrotasks, tick } from '@angular/core/testing';
+
+ describe('My fakeAsync suite', () => {
+ it('works', fakeAsync(() => {
+ flush();
+ flushMicrotasks();
+ tick(100);
+ }));
+ });
+ `;
+ const vitestCode = `
+ import { fakeAsync, flush, flushMicrotasks, tick } from '@angular/core/testing';
+
+ describe('My fakeAsync suite', () => {
+ it('works', fakeAsync(() => {
+ flush();
+ flushMicrotasks();
+ tick(100);
+ }));
+ });
+ `;
+
+ await expectTransformation(jasmineCode, vitestCode);
+ });
+
+ it('should transform `fakeAsync` if `fakeAsync` option is true', async () => {
+ const jasmineCode = `
+ import { fakeAsync, flush, flushMicrotasks, tick } from '@angular/core/testing';
+
+ describe('My fakeAsync suite', () => {
+ it('works', fakeAsync(() => {
+ flush();
+ flushMicrotasks();
+ tick(100);
+ }));
+ });
+ `;
+ const vitestCode = `
+ describe('My fakeAsync suite', () => {
+ beforeEach(() => {
+ vi.useFakeTimers({ advanceTimeDelta: 1, shouldAdvanceTime: true });
+ });
+ afterEach(() => {
+ vi.useRealTimers();
+ });
+ it('works', async () => {
+ await vi.runAllTimersAsync();
+ await vi.advanceTimersByTimeAsync(0);
+ await vi.advanceTimersByTimeAsync(100);
+ });
+ });
+ `;
+
+ await expectTransformation(jasmineCode, vitestCode, {
+ addImports: false,
+ browserMode: false,
+ fakeAsync: true,
+ });
+ });
});
diff --git a/packages/schematics/angular/refactor/jasmine-vitest/test-file-transformer.ts b/packages/schematics/angular/refactor/jasmine-vitest/test-file-transformer.ts
index de80052d0b2a..f652368b03f7 100644
--- a/packages/schematics/angular/refactor/jasmine-vitest/test-file-transformer.ts
+++ b/packages/schematics/angular/refactor/jasmine-vitest/test-file-transformer.ts
@@ -14,6 +14,10 @@
*/
import ts from 'typescript';
+import { transformFakeAsyncFlush } from './transformers/fake-async-flush';
+import { transformFakeAsyncFlushMicrotasks } from './transformers/fake-async-flush-microtasks';
+import { transformFakeAsyncTest } from './transformers/fake-async-test';
+import { transformFakeAsyncTick } from './transformers/fake-async-tick';
import {
transformDoneCallback,
transformFocusedAndSkippedTests,
@@ -48,7 +52,11 @@ import {
transformSpyReset,
} from './transformers/jasmine-spy';
import { transformJasmineTypes } from './transformers/jasmine-type';
-import { addVitestValueImport, getVitestAutoImports } from './utils/ast-helpers';
+import {
+ addVitestValueImport,
+ getVitestAutoImports,
+ removeImportSpecifiers,
+} from './utils/ast-helpers';
import { RefactorContext } from './utils/refactor-context';
import { RefactorReporter } from './utils/refactor-reporter';
@@ -129,6 +137,10 @@ const callExpressionTransformers = [
transformToHaveBeenCalledBefore,
transformToHaveClass,
transformToBeNullish,
+ transformFakeAsyncTest,
+ transformFakeAsyncTick,
+ transformFakeAsyncFlush,
+ transformFakeAsyncFlushMicrotasks,
// **Stage 3: Global Functions & Cleanup**
// These handle global Jasmine functions and catch-alls for unsupported APIs.
@@ -173,8 +185,10 @@ export function transformJasmineToVitest(
filePath: string,
content: string,
reporter: RefactorReporter,
- options: { addImports: boolean; browserMode: boolean },
+ options: { addImports: boolean; browserMode: boolean; fakeAsync?: boolean },
): string {
+ options.fakeAsync ??= false;
+
const contentWithPlaceholders = preserveBlankLines(content);
const sourceFile = ts.createSourceFile(
@@ -187,6 +201,7 @@ export function transformJasmineToVitest(
const pendingVitestValueImports = new Set();
const pendingVitestTypeImports = new Set();
+ const pendingImportSpecifierRemovals = new Map>();
const transformer: ts.TransformerFactory = (context) => {
const refactorCtx: RefactorContext = {
@@ -195,6 +210,7 @@ export function transformJasmineToVitest(
tsContext: context,
pendingVitestValueImports,
pendingVitestTypeImports,
+ pendingImportSpecifierRemovals,
};
const visitor: ts.Visitor = (node) => {
@@ -211,7 +227,18 @@ export function transformJasmineToVitest(
}
for (const transformer of callExpressionTransformers) {
- if (!(options.browserMode && transformer === transformToHaveClass)) {
+ if (
+ !(
+ (options.browserMode && transformer === transformToHaveClass) ||
+ (options.fakeAsync === false &&
+ [
+ transformFakeAsyncFlush,
+ transformFakeAsyncFlushMicrotasks,
+ transformFakeAsyncTick,
+ transformFakeAsyncTest,
+ ].includes(transformer))
+ )
+ ) {
transformedNode = transformer(transformedNode, refactorCtx);
}
}
@@ -249,16 +276,25 @@ export function transformJasmineToVitest(
const hasPendingValueImports = pendingVitestValueImports.size > 0;
const hasPendingTypeImports = pendingVitestTypeImports.size > 0;
+ const hasPendingImportSpecifierRemovals = pendingImportSpecifierRemovals.size > 0;
if (
transformedSourceFile === sourceFile &&
!reporter.hasTodos &&
!hasPendingValueImports &&
- !hasPendingTypeImports
+ !hasPendingTypeImports &&
+ !hasPendingImportSpecifierRemovals
) {
return content;
}
+ if (hasPendingImportSpecifierRemovals) {
+ transformedSourceFile = removeImportSpecifiers(
+ transformedSourceFile,
+ pendingImportSpecifierRemovals,
+ );
+ }
+
if (hasPendingTypeImports || (options.addImports && hasPendingValueImports)) {
const vitestImport = getVitestAutoImports(
options.addImports ? pendingVitestValueImports : new Set(),
diff --git a/packages/schematics/angular/refactor/jasmine-vitest/test-file-transformer_add-imports_spec.ts b/packages/schematics/angular/refactor/jasmine-vitest/test-file-transformer_add-imports_spec.ts
index 2eaca1f5bf15..82b76ee31782 100644
--- a/packages/schematics/angular/refactor/jasmine-vitest/test-file-transformer_add-imports_spec.ts
+++ b/packages/schematics/angular/refactor/jasmine-vitest/test-file-transformer_add-imports_spec.ts
@@ -150,4 +150,32 @@ describe('Jasmine to Vitest Transformer - addImports option', () => {
true,
);
});
+
+ it('should add imports for `vi` when addImports is true', async () => {
+ const input = `
+ import { fakeAsync } from '@angular/core/testing';
+
+ describe('My fakeAsync suite', () => {
+ it('works', fakeAsync(() => {
+ expect(1).toBe(1);
+ }));
+ });
+ `;
+ const expected = `
+ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
+
+ describe('My fakeAsync suite', () => {
+ beforeEach(() => {
+ vi.useFakeTimers({ advanceTimeDelta: 1, shouldAdvanceTime: true });
+ });
+ afterEach(() => {
+ vi.useRealTimers();
+ });
+ it('works', async () => {
+ expect(1).toBe(1);
+ });
+ });
+ `;
+ await expectTransformation(input, expected, true);
+ });
});
diff --git a/packages/schematics/angular/refactor/jasmine-vitest/test-helpers.ts b/packages/schematics/angular/refactor/jasmine-vitest/test-helpers.ts
index 9aa6532206da..6986c4c39d0c 100644
--- a/packages/schematics/angular/refactor/jasmine-vitest/test-helpers.ts
+++ b/packages/schematics/angular/refactor/jasmine-vitest/test-helpers.ts
@@ -33,6 +33,7 @@ export async function expectTransformation(
const transformed = transformJasmineToVitest('spec.ts', input, reporter, {
addImports,
browserMode: false,
+ fakeAsync: true,
});
const formattedTransformed = await format(transformed, { parser: 'typescript' });
const formattedExpected = await format(expected, { parser: 'typescript' });
diff --git a/packages/schematics/angular/refactor/jasmine-vitest/transformers/fake-async-flush-microtasks.ts b/packages/schematics/angular/refactor/jasmine-vitest/transformers/fake-async-flush-microtasks.ts
new file mode 100644
index 000000000000..59064bce4f18
--- /dev/null
+++ b/packages/schematics/angular/refactor/jasmine-vitest/transformers/fake-async-flush-microtasks.ts
@@ -0,0 +1,38 @@
+/**
+ * @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 ts from 'typescript';
+import { isNamedImportFrom } from '../utils/ast-helpers';
+import { ANGULAR_CORE_TESTING } from '../utils/constants';
+import { RefactorContext } from '../utils/refactor-context';
+import { addImportSpecifierRemoval, createViCallExpression } from '../utils/refactor-helpers';
+
+export function transformFakeAsyncFlushMicrotasks(node: ts.Node, ctx: RefactorContext): ts.Node {
+ if (
+ !(
+ ts.isCallExpression(node) &&
+ ts.isIdentifier(node.expression) &&
+ node.expression.text === 'flushMicrotasks' &&
+ isNamedImportFrom(ctx.sourceFile, 'flushMicrotasks', ANGULAR_CORE_TESTING)
+ )
+ ) {
+ return node;
+ }
+
+ ctx.reporter.reportTransformation(
+ ctx.sourceFile,
+ node,
+ `Transformed \`flushMicrotasks\` to \`await vi.advanceTimersByTimeAsync(0)\`.`,
+ );
+
+ addImportSpecifierRemoval(ctx, 'flushMicrotasks', ANGULAR_CORE_TESTING);
+
+ return ts.factory.createAwaitExpression(
+ createViCallExpression(ctx, 'advanceTimersByTimeAsync', [ts.factory.createNumericLiteral(0)]),
+ );
+}
diff --git a/packages/schematics/angular/refactor/jasmine-vitest/transformers/fake-async-flush-microtasks_spec.ts b/packages/schematics/angular/refactor/jasmine-vitest/transformers/fake-async-flush-microtasks_spec.ts
new file mode 100644
index 000000000000..16f9eb8e88e2
--- /dev/null
+++ b/packages/schematics/angular/refactor/jasmine-vitest/transformers/fake-async-flush-microtasks_spec.ts
@@ -0,0 +1,43 @@
+/**
+ * @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 { expectTransformation } from '../test-helpers';
+
+describe('transformFakeAsyncFlushMicrotasks', () => {
+ const testCases = [
+ {
+ description: 'should replace `flushMicrotasks` with `await vi.advanceTimersByTimeAsync(0)`',
+ input: `
+ import { flushMicrotasks } from '@angular/core/testing';
+
+ flushMicrotasks();
+ `,
+ expected: `await vi.advanceTimersByTimeAsync(0);`,
+ },
+ {
+ description:
+ 'should not replace `flushMicrotasks` if not imported from `@angular/core/testing`',
+ input: `
+ import { flushMicrotasks } from './my-flush-microtasks';
+
+ flushMicrotasks();
+ `,
+ expected: `
+ import { flushMicrotasks } from './my-flush-microtasks';
+
+ flushMicrotasks();
+ `,
+ },
+ ];
+
+ testCases.forEach(({ description, input, expected }) => {
+ it(description, async () => {
+ await expectTransformation(input, expected);
+ });
+ });
+});
diff --git a/packages/schematics/angular/refactor/jasmine-vitest/transformers/fake-async-flush.ts b/packages/schematics/angular/refactor/jasmine-vitest/transformers/fake-async-flush.ts
new file mode 100644
index 000000000000..5235ea8e1abf
--- /dev/null
+++ b/packages/schematics/angular/refactor/jasmine-vitest/transformers/fake-async-flush.ts
@@ -0,0 +1,60 @@
+/**
+ * @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 ts from 'typescript';
+import { isNamedImportFrom } from '../utils/ast-helpers';
+import { addTodoComment } from '../utils/comment-helpers';
+import { ANGULAR_CORE_TESTING } from '../utils/constants';
+import { RefactorContext } from '../utils/refactor-context';
+import { addImportSpecifierRemoval, createViCallExpression } from '../utils/refactor-helpers';
+
+export function transformFakeAsyncFlush(node: ts.Node, ctx: RefactorContext): ts.Node {
+ if (
+ !(
+ ts.isCallExpression(node) &&
+ ts.isIdentifier(node.expression) &&
+ node.expression.text === 'flush' &&
+ isNamedImportFrom(ctx.sourceFile, 'flush', ANGULAR_CORE_TESTING)
+ )
+ ) {
+ return node;
+ }
+
+ ctx.reporter.reportTransformation(
+ ctx.sourceFile,
+ node,
+ `Transformed \`flush\` to \`await vi.runAllTimersAsync()\`.`,
+ );
+
+ addImportSpecifierRemoval(ctx, 'flush', ANGULAR_CORE_TESTING);
+
+ if (node.arguments.length > 0) {
+ ctx.reporter.recordTodo('flush-max-turns', ctx.sourceFile, node);
+ addTodoComment(node, 'flush-max-turns');
+ }
+
+ const awaitRunAllTimersAsync = ts.factory.createAwaitExpression(
+ createViCallExpression(ctx, 'runAllTimersAsync'),
+ );
+
+ if (ts.isExpressionStatement(node.parent)) {
+ return awaitRunAllTimersAsync;
+ } else {
+ // If `flush` is not used as its own statement, then the return value is probably used.
+ // Therefore, we replace it with nullish coalescing that returns 0:
+ // > await vi.runAllTimersAsync() ?? 0;
+ ctx.reporter.recordTodo('flush-return-value', ctx.sourceFile, node);
+ addTodoComment(node, 'flush-return-value');
+
+ return ts.factory.createBinaryExpression(
+ awaitRunAllTimersAsync,
+ ts.SyntaxKind.QuestionQuestionToken,
+ ts.factory.createNumericLiteral(0),
+ );
+ }
+}
diff --git a/packages/schematics/angular/refactor/jasmine-vitest/transformers/fake-async-flush_spec.ts b/packages/schematics/angular/refactor/jasmine-vitest/transformers/fake-async-flush_spec.ts
new file mode 100644
index 000000000000..1daeda891461
--- /dev/null
+++ b/packages/schematics/angular/refactor/jasmine-vitest/transformers/fake-async-flush_spec.ts
@@ -0,0 +1,108 @@
+/**
+ * @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 { expectTransformation } from '../test-helpers';
+
+describe('transformFakeAsyncFlush', () => {
+ const testCases = [
+ {
+ description: 'should replace `flush` with `await vi.runAllTimersAsync()`',
+ input: `
+ import { flush } from '@angular/core/testing';
+
+ flush();
+ `,
+ expected: `await vi.runAllTimersAsync();`,
+ },
+ {
+ description: 'should add TODO comment when flush is called with maxTurns',
+ input: `
+ import { flush } from '@angular/core/testing';
+
+ flush(42);
+ `,
+ expected: `
+ // TODO: vitest-migration: flush(maxTurns) was called but maxTurns parameter is not migrated. Please migrate manually.
+ await vi.runAllTimersAsync();
+ `,
+ },
+ {
+ description: 'should add TODO comment when flush return value is used',
+ input: `
+ import { flush } from '@angular/core/testing';
+
+ const turns = flush();
+ `,
+ expected: `
+ // TODO: vitest-migration: flush() return value is not migrated. Please migrate manually.
+ const turns = await vi.runAllTimersAsync() ?? 0;
+ `,
+ },
+ {
+ description: 'should add TODO comment when flush return value is used in a return statement',
+ input: `
+ import { flush } from '@angular/core/testing';
+
+ async function myFlushWrapper() {
+ return flush();
+ }
+ `,
+ expected: `
+ async function myFlushWrapper() {
+ // TODO: vitest-migration: flush() return value is not migrated. Please migrate manually.
+ return await vi.runAllTimersAsync() ?? 0;
+ }
+ `,
+ },
+ {
+ description: 'should not replace `flush` if not imported from `@angular/core/testing`',
+ input: `
+ import { flush } from './my-flush';
+
+ flush();
+ `,
+ expected: `
+ import { flush } from './my-flush';
+
+ flush();
+ `,
+ },
+ {
+ description: 'should keep other imported symbols from `@angular/core/testing`',
+ input: `
+ import { TestBed, flush } from '@angular/core/testing';
+
+ flush();
+ `,
+ expected: `
+ import { TestBed } from '@angular/core/testing';
+
+ await vi.runAllTimersAsync();
+ `,
+ },
+ {
+ description: 'should keep imported types from `@angular/core/testing`',
+ input: `
+ import { flush, type ComponentFixture } from '@angular/core/testing';
+
+ flush();
+ `,
+ expected: `
+ import { type ComponentFixture } from '@angular/core/testing';
+
+ await vi.runAllTimersAsync();
+ `,
+ },
+ ];
+
+ testCases.forEach(({ description, input, expected }) => {
+ it(description, async () => {
+ await expectTransformation(input, expected);
+ });
+ });
+});
diff --git a/packages/schematics/angular/refactor/jasmine-vitest/transformers/fake-async-test.ts b/packages/schematics/angular/refactor/jasmine-vitest/transformers/fake-async-test.ts
new file mode 100644
index 000000000000..0ba618005c6e
--- /dev/null
+++ b/packages/schematics/angular/refactor/jasmine-vitest/transformers/fake-async-test.ts
@@ -0,0 +1,247 @@
+/**
+ * @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 ts from 'typescript';
+import { isNamedImportFrom } from '../utils/ast-helpers';
+import { ANGULAR_CORE_TESTING } from '../utils/constants';
+import { RefactorContext } from '../utils/refactor-context';
+import { addImportSpecifierRemoval, createViCallExpression } from '../utils/refactor-helpers';
+
+export function transformFakeAsyncTest(
+ node: ts.Node,
+ ctx: RefactorContext,
+ currentOutermostDescribeContext?: CurrentOutermostDescribeContext,
+): ts.Node {
+ // Transform the outermost describe block and skip others.
+ if (currentOutermostDescribeContext == null && _is.describe(node)) {
+ return _transformDescribeCall(node, ctx);
+ }
+
+ // If we encounter a `fakeAsync` call while in a `describe` block, mark it in the context.
+ if (
+ ts.isCallExpression(node) &&
+ ts.isIdentifier(node.expression) &&
+ node.expression.text === 'fakeAsync' &&
+ currentOutermostDescribeContext != null &&
+ node.arguments.length >= 1 &&
+ _is.arrowOrFunction(node.arguments[0]) &&
+ isNamedImportFrom(ctx.sourceFile, 'fakeAsync', ANGULAR_CORE_TESTING)
+ ) {
+ return _transformFakeAsyncCall(node, ctx, currentOutermostDescribeContext);
+ }
+
+ // If we are in a `describe` block, visit the children recursively.
+ if (currentOutermostDescribeContext != null) {
+ return ts.visitEachChild(
+ node,
+ (child) => transformFakeAsyncTest(child, ctx, currentOutermostDescribeContext),
+ ctx.tsContext,
+ );
+ }
+
+ return node;
+}
+
+function _transformDescribeCall(node: ts.CallExpression, ctx: RefactorContext): ts.CallExpression {
+ const currentOutermostDescribeContext: CurrentOutermostDescribeContext = {
+ isUsingFakeAsync: false,
+ };
+
+ // Visit children recursively to collect transform `fakeAsync usages
+ // within the describe block and detect their presence through `isUsingFakeAsync`.
+ node = ts.visitEachChild(
+ node,
+ (child) => transformFakeAsyncTest(child, ctx, currentOutermostDescribeContext),
+ ctx.tsContext,
+ );
+
+ const { isUsingFakeAsync } = currentOutermostDescribeContext;
+
+ const describeBlock = _findDescribeBlock(node);
+ if (!isUsingFakeAsync || describeBlock === undefined) {
+ return node;
+ }
+
+ addImportSpecifierRemoval(ctx, 'fakeAsync', ANGULAR_CORE_TESTING);
+
+ return ts.factory.updateCallExpression(node, node.expression, node.typeArguments, [
+ node.arguments[0],
+ ts.factory.createArrowFunction(
+ undefined,
+ undefined,
+ [],
+ undefined,
+ ts.factory.createToken(ts.SyntaxKind.EqualsGreaterThanToken),
+ ts.factory.createBlock([
+ ..._createFakeTimersHookStatements(ctx),
+ ...describeBlock.statements,
+ ]),
+ ),
+ ...node.arguments.slice(2),
+ ]);
+}
+
+function _transformFakeAsyncCall(
+ node: ts.CallExpression,
+ ctx: RefactorContext,
+ currentOutermostDescribeContext: CurrentOutermostDescribeContext,
+): ts.CallExpression | ts.ArrowFunction {
+ currentOutermostDescribeContext.isUsingFakeAsync = true;
+
+ const fakeAsyncCallback = node.arguments[0];
+ if (!_is.arrowOrFunction(fakeAsyncCallback)) {
+ return node;
+ }
+ const callbackBody = ts.isBlock(fakeAsyncCallback.body)
+ ? fakeAsyncCallback.body
+ : ts.factory.createBlock([ts.factory.createExpressionStatement(fakeAsyncCallback.body)]);
+
+ ctx.reporter.reportTransformation(
+ ctx.sourceFile,
+ node,
+ `Transformed \`fakeAsync\` to \`vi.useFakeTimers\`.`,
+ );
+
+ let statements = callbackBody.statements;
+
+ // Append `vi.runOnlyPendingTimersAsync()` as the last statement of `beforeEach` to mimic flush behavior.
+ if (
+ ts.isCallExpression(node.parent) &&
+ ts.isIdentifier(node.parent.expression) &&
+ node.parent.expression.text === 'beforeEach' &&
+ !_isFakeAsyncFlushDisabled(node)
+ ) {
+ statements = ts.factory.createNodeArray([
+ ...statements,
+ ts.factory.createExpressionStatement(
+ ts.factory.createAwaitExpression(createViCallExpression(ctx, 'runOnlyPendingTimersAsync')),
+ ),
+ ]);
+ }
+
+ return ts.factory.createArrowFunction(
+ [ts.factory.createModifier(ts.SyntaxKind.AsyncKeyword)],
+ fakeAsyncCallback.typeParameters,
+ fakeAsyncCallback.parameters,
+ undefined,
+ ts.factory.createToken(ts.SyntaxKind.EqualsGreaterThanToken),
+ ts.factory.createBlock(statements),
+ );
+}
+
+function _createFakeTimersHookStatements(ctx: RefactorContext): ts.Statement[] {
+ return [
+ // > beforeEach(() => {
+ // > vi.useFakeTimers({
+ // > advanceTimeDelta: 1,
+ // > shouldAdvanceTime: true
+ // > });
+ // > });
+ ts.factory.createExpressionStatement(
+ ts.factory.createCallExpression(ts.factory.createIdentifier('beforeEach'), undefined, [
+ ts.factory.createArrowFunction(
+ undefined,
+ undefined,
+ [],
+ undefined,
+ ts.factory.createToken(ts.SyntaxKind.EqualsGreaterThanToken),
+ ts.factory.createBlock(
+ [
+ ts.factory.createExpressionStatement(
+ createViCallExpression(ctx, 'useFakeTimers', [
+ ts.factory.createObjectLiteralExpression([
+ ts.factory.createPropertyAssignment(
+ 'advanceTimeDelta',
+ ts.factory.createNumericLiteral(1),
+ ),
+ ts.factory.createPropertyAssignment(
+ 'shouldAdvanceTime',
+ ts.factory.createTrue(),
+ ),
+ ]),
+ ]),
+ ),
+ ],
+ true,
+ ),
+ ),
+ ]),
+ ),
+
+ // > afterEach(() => {
+ // > vi.useRealTimers();
+ // > });
+ ts.factory.createExpressionStatement(
+ ts.factory.createCallExpression(ts.factory.createIdentifier('afterEach'), undefined, [
+ ts.factory.createArrowFunction(
+ undefined,
+ undefined,
+ [],
+ undefined,
+ ts.factory.createToken(ts.SyntaxKind.EqualsGreaterThanToken),
+ ts.factory.createBlock(
+ [ts.factory.createExpressionStatement(createViCallExpression(ctx, 'useRealTimers'))],
+ true,
+ ),
+ ),
+ ]),
+ ),
+ ];
+}
+
+/**
+ * Detects if the `flush` option is set to false in the `fakeAsync` call expression.
+ * e.g. `fakeAsync(() => { ... }, { flush: false })`
+ */
+function _isFakeAsyncFlushDisabled(fakeAsyncCallExpression: ts.CallExpression): boolean {
+ const options = fakeAsyncCallExpression.arguments[1];
+
+ return (
+ options &&
+ ts.isObjectLiteralExpression(options) &&
+ options.properties.some(
+ (property) =>
+ ts.isPropertyAssignment(property) &&
+ property.name.getText() === 'flush' &&
+ property.initializer.getText() === 'false',
+ )
+ );
+}
+
+interface CurrentOutermostDescribeContext {
+ isUsingFakeAsync: boolean;
+}
+
+function _findDescribeBlock(node: ts.CallExpression): ts.Block | undefined {
+ const args = node.arguments;
+ const describeCallback = args.length >= 2 ? args[1] : undefined;
+ if (describeCallback !== undefined && _is.arrowOrFunction(describeCallback)) {
+ return _getFunctionBlock(describeCallback);
+ }
+
+ return undefined;
+}
+
+function _getFunctionBlock(node: ts.FunctionExpression | ts.ArrowFunction): ts.Block {
+ return ts.isBlock(node.body)
+ ? node.body
+ : ts.factory.createBlock([ts.factory.createExpressionStatement(node.body)]);
+}
+
+const _is = {
+ arrowOrFunction: (node: ts.Node): node is ts.ArrowFunction | ts.FunctionExpression =>
+ ts.isArrowFunction(node) || ts.isFunctionExpression(node),
+ describe: (node: ts.Node): node is ts.CallExpression =>
+ ts.isCallExpression(node) &&
+ // describe
+ ((ts.isIdentifier(node.expression) && node.expression.text === 'describe') ||
+ // describe.only or describe.skip
+ (ts.isPropertyAccessExpression(node.expression) &&
+ ts.isIdentifier(node.expression.expression) &&
+ node.expression.expression.text === 'describe')),
+};
diff --git a/packages/schematics/angular/refactor/jasmine-vitest/transformers/fake-async-test_spec.ts b/packages/schematics/angular/refactor/jasmine-vitest/transformers/fake-async-test_spec.ts
new file mode 100644
index 000000000000..9a0579d2d146
--- /dev/null
+++ b/packages/schematics/angular/refactor/jasmine-vitest/transformers/fake-async-test_spec.ts
@@ -0,0 +1,373 @@
+/**
+ * @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 { expectTransformation } from '../test-helpers';
+
+describe('transformFakeAsyncTest', () => {
+ const testCases = [
+ {
+ description: 'should transform fakeAsync test to `vi.useFakeTimers()`',
+ input: `
+ import { fakeAsync } from '@angular/core/testing';
+
+ describe('My fakeAsync suite', () => {
+ it('works', fakeAsync(() => {
+ expect(1).toBe(1);
+ }));
+ });
+ `,
+ expected: `
+ describe('My fakeAsync suite', () => {
+ beforeEach(() => {
+ vi.useFakeTimers({ advanceTimeDelta: 1, shouldAdvanceTime: true });
+ });
+ afterEach(() => {
+ vi.useRealTimers();
+ });
+ it('works', async () => {
+ expect(1).toBe(1);
+ });
+ });
+ `,
+ },
+ {
+ description:
+ 'should transform fakeAsync test to `vi.useFakeTimers()` and keep its arguments but not the return type',
+ input: `
+ import { fakeAsync } from '@angular/core/testing';
+
+ describe('My fakeAsync suite', () => {
+ it('works', fakeAsync((strangeArg: Strange = myStrangeDefault): void => {
+ expect(1).toBe(1);
+ }));
+ });
+ `,
+ expected: `
+ describe('My fakeAsync suite', () => {
+ beforeEach(() => {
+ vi.useFakeTimers({ advanceTimeDelta: 1, shouldAdvanceTime: true });
+ });
+ afterEach(() => {
+ vi.useRealTimers();
+ });
+ it('works', async (strangeArg: Strange = myStrangeDefault) => {
+ expect(1).toBe(1);
+ });
+ });
+ `,
+ },
+ {
+ description: 'should transform fakeAsync test to `vi.useFakeTimers()` in outer describe',
+ input: `
+ import { fakeAsync } from '@angular/core/testing';
+
+ describe('My non-fakeAsync suite', () => {
+ it('works', () => {
+ expect(1).toBe(1);
+ });
+ });
+
+ describe('My outer fakeAsync suite', () => {
+
+ describe('My inner fakeAsync suite', () => {
+ it('works', fakeAsync(() => {
+ expect(1).toBe(1);
+ }));
+ });
+
+ });
+
+ `,
+ expected: `
+ describe('My non-fakeAsync suite', () => {
+ it('works', () => {
+ expect(1).toBe(1);
+ });
+ });
+
+ describe('My outer fakeAsync suite', () => {
+ beforeEach(() => {
+ vi.useFakeTimers({ advanceTimeDelta: 1, shouldAdvanceTime: true });
+ });
+ afterEach(() => {
+ vi.useRealTimers();
+ });
+
+ describe('My inner fakeAsync suite', () => {
+ it('works', async () => {
+ expect(1).toBe(1);
+ });
+ });
+ });
+ `,
+ },
+ {
+ description:
+ 'should transform fakeAsync test to `vi.useFakeTimers()` in outer describe even if it is excluded',
+ input: `
+ import { fakeAsync } from '@angular/core/testing';
+
+ describe('My non-fakeAsync suite', () => {
+ it('works', () => {
+ expect(1).toBe(1);
+ });
+ });
+
+ xdescribe('My outer fakeAsync suite', () => {
+
+ describe('My inner fakeAsync suite', () => {
+ it('works', fakeAsync(() => {
+ expect(1).toBe(1);
+ }));
+ });
+
+ });
+
+ `,
+ expected: `
+ describe('My non-fakeAsync suite', () => {
+ it('works', () => {
+ expect(1).toBe(1);
+ });
+ });
+
+ describe.skip('My outer fakeAsync suite', () => {
+ beforeEach(() => {
+ vi.useFakeTimers({ advanceTimeDelta: 1, shouldAdvanceTime: true });
+ });
+ afterEach(() => {
+ vi.useRealTimers();
+ });
+
+ describe('My inner fakeAsync suite', () => {
+ it('works', async () => {
+ expect(1).toBe(1);
+ });
+ });
+ });
+ `,
+ },
+ {
+ description:
+ 'should transform fakeAsync test to `vi.useFakeTimers()` in `beforeEach` and preserve flush behavior',
+ input: `
+ import { fakeAsync } from '@angular/core/testing';
+
+ describe('My fakeAsync suite', () => {
+
+ let count = 0;
+ beforeEach(fakeAsync(() => {
+ setTimeout(() => ++count, 100);
+ }));
+
+ it('works', fakeAsync(() => {
+ expect(count).toBe(1);
+ }));
+ });
+ `,
+ expected: `
+ describe('My fakeAsync suite', () => {
+ beforeEach(() => {
+ vi.useFakeTimers({ advanceTimeDelta: 1, shouldAdvanceTime: true });
+ });
+ afterEach(() => {
+ vi.useRealTimers();
+ });
+
+ let count = 0;
+ beforeEach(async () => {
+ setTimeout(() => ++count, 100);
+ await vi.runOnlyPendingTimersAsync();
+ });
+
+ it('works', async () => {
+ expect(count).toBe(1);
+ });
+ });
+ `,
+ },
+ {
+ description: 'should transform fakeAsync test to `vi.useFakeTimers()` in `afterEach`',
+ input: `
+ import { fakeAsync } from '@angular/core/testing';
+
+ describe('My fakeAsync suite', () => {
+ afterEach(fakeAsync(() => {
+ console.log('afterEach');
+ }));
+ });
+ `,
+ expected: `
+ describe('My fakeAsync suite', () => {
+ beforeEach(() => {
+ vi.useFakeTimers({ advanceTimeDelta: 1, shouldAdvanceTime: true });
+ });
+ afterEach(() => {
+ vi.useRealTimers();
+ });
+ afterEach(async () => {
+ console.log('afterEach');
+ });
+ });
+ `,
+ },
+ {
+ description: 'should transform fakeAsync test to `vi.useFakeTimers()` in `beforeAll`',
+ input: `
+ import { fakeAsync } from '@angular/core/testing';
+
+ describe('My fakeAsync suite', () => {
+ beforeAll(fakeAsync(() => {
+ console.log('beforeAll');
+ }));
+ });
+ `,
+ expected: `
+ describe('My fakeAsync suite', () => {
+ beforeEach(() => {
+ vi.useFakeTimers({ advanceTimeDelta: 1, shouldAdvanceTime: true });
+ });
+ afterEach(() => {
+ vi.useRealTimers();
+ });
+ beforeAll(async () => {
+ console.log('beforeAll');
+ });
+ });
+ `,
+ },
+ {
+ description: 'should transform fakeAsync test to `vi.useFakeTimers()` in `afterAll`',
+ input: `
+ import { fakeAsync } from '@angular/core/testing';
+
+ describe('My fakeAsync suite', () => {
+ afterAll(fakeAsync(() => {
+ console.log('afterAll');
+ }));
+ });
+ `,
+ expected: `
+ describe('My fakeAsync suite', () => {
+ beforeEach(() => {
+ vi.useFakeTimers({ advanceTimeDelta: 1, shouldAdvanceTime: true });
+ });
+ afterEach(() => {
+ vi.useRealTimers();
+ });
+ afterAll(async () => {
+ console.log('afterAll');
+ });
+ });
+ `,
+ },
+ {
+ description: 'should not replace `fakeAsync` if not used within a describe block',
+ input: `
+ import { fakeAsync } from '@angular/core/testing';
+
+ it('works', fakeAsync(() => {
+ expect(1).toBe(1);
+ }));
+ `,
+ expected: `
+ import { fakeAsync } from '@angular/core/testing';
+
+ it('works', fakeAsync(() => {
+ expect(1).toBe(1);
+ }));
+ `,
+ },
+ {
+ description: 'should not replace `fakeAsync` if not imported from `@angular/core/testing`',
+ input: `
+ import { fakeAsync } from './my-fake-async';
+
+ describe('My fakeAsync suite', () => {
+ it('works', fakeAsync(() => {
+ expect(1).toBe(1);
+ }));
+ });
+ `,
+ expected: `
+ import { fakeAsync } from './my-fake-async';
+
+ describe('My fakeAsync suite', () => {
+ it('works', fakeAsync(() => {
+ expect(1).toBe(1);
+ }));
+ });
+ `,
+ },
+ {
+ description: 'should not append `vi.runOnlyPendingTimersAsync()` in `test` or `afterEach`',
+ input: `
+ import { fakeAsync } from '@angular/core/testing';
+
+ describe('My fakeAsync suite', () => {
+ afterEach(fakeAsync(() => {
+ console.log('afterEach');
+ }));
+
+ it('works', fakeAsync(() => {
+ expect(1).toBe(1);
+ }));
+ });
+ `,
+ expected: `
+ describe('My fakeAsync suite', () => {
+ beforeEach(() => {
+ vi.useFakeTimers({ advanceTimeDelta: 1, shouldAdvanceTime: true });
+ });
+ afterEach(() => {
+ vi.useRealTimers();
+ });
+ afterEach(async () => {
+ console.log('afterEach');
+ });
+
+ it('works', async () => {
+ expect(1).toBe(1);
+ });
+ });
+ `,
+ },
+ {
+ description:
+ 'should not append `vi.runOnlyPendingTimersAsync()` if `flush` option is set to false',
+ input: `
+ import { fakeAsync } from '@angular/core/testing';
+
+ describe('My fakeAsync suite', () => {
+ beforeEach(fakeAsync(() => {
+ console.log('beforeEach');
+ }, {flush: false}));
+ });
+ `,
+ expected: `
+ describe('My fakeAsync suite', () => {
+ beforeEach(() => {
+ vi.useFakeTimers({ advanceTimeDelta: 1, shouldAdvanceTime: true });
+ });
+ afterEach(() => {
+ vi.useRealTimers();
+ });
+ beforeEach(async () => {
+ console.log('beforeEach');
+ });
+ });
+ `,
+ },
+ ];
+
+ testCases.forEach(({ description, input, expected }) => {
+ it(description, async () => {
+ await expectTransformation(input, expected);
+ });
+ });
+});
diff --git a/packages/schematics/angular/refactor/jasmine-vitest/transformers/fake-async-tick.ts b/packages/schematics/angular/refactor/jasmine-vitest/transformers/fake-async-tick.ts
new file mode 100644
index 000000000000..91932bad957e
--- /dev/null
+++ b/packages/schematics/angular/refactor/jasmine-vitest/transformers/fake-async-tick.ts
@@ -0,0 +1,41 @@
+/**
+ * @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 ts from 'typescript';
+import { isNamedImportFrom } from '../utils/ast-helpers';
+import { ANGULAR_CORE_TESTING } from '../utils/constants';
+import { RefactorContext } from '../utils/refactor-context';
+import { addImportSpecifierRemoval, createViCallExpression } from '../utils/refactor-helpers';
+
+export function transformFakeAsyncTick(node: ts.Node, ctx: RefactorContext): ts.Node {
+ if (
+ !(
+ ts.isCallExpression(node) &&
+ ts.isIdentifier(node.expression) &&
+ node.expression.text === 'tick' &&
+ isNamedImportFrom(ctx.sourceFile, 'tick', ANGULAR_CORE_TESTING)
+ )
+ ) {
+ return node;
+ }
+
+ ctx.reporter.reportTransformation(
+ ctx.sourceFile,
+ node,
+ `Transformed \`tick\` to \`await vi.advanceTimersByTimeAsync()\`.`,
+ );
+
+ addImportSpecifierRemoval(ctx, 'tick', ANGULAR_CORE_TESTING);
+
+ const durationNumericLiteral =
+ node.arguments.length > 0 ? node.arguments[0] : ts.factory.createNumericLiteral(0);
+
+ return ts.factory.createAwaitExpression(
+ createViCallExpression(ctx, 'advanceTimersByTimeAsync', [durationNumericLiteral]),
+ );
+}
diff --git a/packages/schematics/angular/refactor/jasmine-vitest/transformers/fake-async-tick_spec.ts b/packages/schematics/angular/refactor/jasmine-vitest/transformers/fake-async-tick_spec.ts
new file mode 100644
index 000000000000..b8c3b947a160
--- /dev/null
+++ b/packages/schematics/angular/refactor/jasmine-vitest/transformers/fake-async-tick_spec.ts
@@ -0,0 +1,65 @@
+/**
+ * @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 { expectTransformation } from '../test-helpers';
+
+describe('transformFakeAsyncTick', () => {
+ const testCases = [
+ {
+ description: 'should replace `tick` with `vi.advanceTimersByTimeAsync`',
+ input: `
+ import { tick } from '@angular/core/testing';
+
+ tick(100);
+ `,
+ expected: `await vi.advanceTimersByTimeAsync(100);`,
+ },
+ {
+ description:
+ 'should replace `tick` with `vi.advanceTimersByTimeAsync` even if it using a non-literal argument',
+ input: `
+ import { tick } from '@angular/core/testing';
+
+ const duration = 100;
+ tick(duration);
+ `,
+ expected: `
+ const duration = 100;
+ await vi.advanceTimersByTimeAsync(duration);
+ `,
+ },
+ {
+ description: 'should replace `tick()` with `vi.advanceTimersByTimeAsync(0)`',
+ input: `
+ import { tick } from '@angular/core/testing';
+
+ tick();
+ `,
+ expected: `await vi.advanceTimersByTimeAsync(0);`,
+ },
+ {
+ description: 'should not replace `tick` if not imported from `@angular/core/testing`',
+ input: `
+ import { tick } from './my-tick';
+
+ tick(100);
+ `,
+ expected: `
+ import { tick } from './my-tick';
+
+ tick(100);
+ `,
+ },
+ ];
+
+ testCases.forEach(({ description, input, expected }) => {
+ it(description, async () => {
+ await expectTransformation(input, expected);
+ });
+ });
+});
diff --git a/packages/schematics/angular/refactor/jasmine-vitest/transformers/jasmine-misc.ts b/packages/schematics/angular/refactor/jasmine-vitest/transformers/jasmine-misc.ts
index 243eea1b2878..6832e36b9273 100644
--- a/packages/schematics/angular/refactor/jasmine-vitest/transformers/jasmine-misc.ts
+++ b/packages/schematics/angular/refactor/jasmine-vitest/transformers/jasmine-misc.ts
@@ -14,16 +14,15 @@
*/
import ts from 'typescript';
-import { addVitestValueImport, createViCallExpression } from '../utils/ast-helpers';
+import { addVitestValueImport } from '../utils/ast-helpers';
import { getJasmineMethodName, isJasmineCallExpression } from '../utils/ast-validation';
import { addTodoComment } from '../utils/comment-helpers';
import { RefactorContext } from '../utils/refactor-context';
+import { createViCallExpression } from '../utils/refactor-helpers';
import { TodoCategory } from '../utils/todo-notes';
-export function transformTimerMocks(
- node: ts.Node,
- { sourceFile, reporter, pendingVitestValueImports }: RefactorContext,
-): ts.Node {
+export function transformTimerMocks(node: ts.Node, ctx: RefactorContext): ts.Node {
+ const { sourceFile, reporter, pendingVitestValueImports } = ctx;
if (
!ts.isCallExpression(node) ||
!ts.isPropertyAccessExpression(node.expression) ||
@@ -85,7 +84,7 @@ export function transformTimerMocks(
];
}
- return createViCallExpression(newMethodName, newArgs);
+ return createViCallExpression(ctx, newMethodName, newArgs);
}
return node;
@@ -173,15 +172,16 @@ export function transformJasmineMembers(node: ts.Node, refactorCtx: RefactorCont
function transformJasmineDefaultTimeoutInterval(
expression: ts.ExpressionStatement,
timeoutValue: ts.Expression,
- { sourceFile, reporter, pendingVitestValueImports }: RefactorContext,
+ ctx: RefactorContext,
): ts.Node {
+ const { sourceFile, reporter, pendingVitestValueImports } = ctx;
addVitestValueImport(pendingVitestValueImports, 'vi');
reporter.reportTransformation(
sourceFile,
expression,
'Transformed `jasmine.DEFAULT_TIMEOUT_INTERVAL` to `vi.setConfig()`.',
);
- const setConfigCall = createViCallExpression('setConfig', [
+ const setConfigCall = createViCallExpression(ctx, 'setConfig', [
ts.factory.createObjectLiteralExpression(
[ts.factory.createPropertyAssignment('testTimeout', timeoutValue)],
false,
diff --git a/packages/schematics/angular/refactor/jasmine-vitest/transformers/jasmine-spy.ts b/packages/schematics/angular/refactor/jasmine-vitest/transformers/jasmine-spy.ts
index 2c9b6f8cc686..c840c374976d 100644
--- a/packages/schematics/angular/refactor/jasmine-vitest/transformers/jasmine-spy.ts
+++ b/packages/schematics/angular/refactor/jasmine-vitest/transformers/jasmine-spy.ts
@@ -17,12 +17,12 @@ import ts from 'typescript';
import {
addVitestValueImport,
createPropertyAccess,
- createViCallExpression,
getPromiseResolveRejectMethod,
} from '../utils/ast-helpers';
import { getJasmineMethodName, isJasmineCallExpression } from '../utils/ast-validation';
import { addTodoComment } from '../utils/comment-helpers';
import { RefactorContext } from '../utils/refactor-context';
+import { createViCallExpression } from '../utils/refactor-helpers';
export function transformSpies(node: ts.Node, refactorCtx: RefactorContext): ts.Node {
const { sourceFile, reporter, pendingVitestValueImports } = refactorCtx;
@@ -219,10 +219,8 @@ export function transformSpies(node: ts.Node, refactorCtx: RefactorContext): ts.
return node;
}
-export function transformCreateSpy(
- node: ts.Node,
- { reporter, sourceFile, pendingVitestValueImports }: RefactorContext,
-): ts.Node {
+export function transformCreateSpy(node: ts.Node, ctx: RefactorContext): ts.Node {
+ const { reporter, sourceFile, pendingVitestValueImports } = ctx;
if (!isJasmineCallExpression(node, 'createSpy')) {
return node;
}
@@ -236,6 +234,7 @@ export function transformCreateSpy(
const spyName = node.arguments[0];
const viFnCallExpression = createViCallExpression(
+ ctx,
'fn',
node.arguments.length > 1 ? [node.arguments[1]] : [],
);
@@ -251,10 +250,8 @@ export function transformCreateSpy(
);
}
-export function transformCreateSpyObj(
- node: ts.Node,
- { sourceFile, reporter, pendingVitestValueImports }: RefactorContext,
-): ts.Node {
+export function transformCreateSpyObj(node: ts.Node, ctx: RefactorContext): ts.Node {
+ const { reporter, sourceFile, pendingVitestValueImports } = ctx;
if (!isJasmineCallExpression(node, 'createSpyObj')) {
return node;
}
@@ -282,9 +279,9 @@ export function transformCreateSpyObj(
}
if (ts.isArrayLiteralExpression(methods)) {
- properties = createSpyObjWithArray(methods, baseName);
+ properties = createSpyObjWithArray(ctx, methods, baseName);
} else if (ts.isObjectLiteralExpression(methods)) {
- properties = createSpyObjWithObject(methods, baseName);
+ properties = createSpyObjWithObject(ctx, methods, baseName);
} else {
const category = 'createSpyObj-dynamic-variable';
reporter.recordTodo(category, sourceFile, node);
@@ -307,13 +304,14 @@ export function transformCreateSpyObj(
}
function createSpyObjWithArray(
+ ctx: RefactorContext,
methods: ts.ArrayLiteralExpression,
baseName: string | undefined,
): ts.PropertyAssignment[] {
return methods.elements
.map((element) => {
if (ts.isStringLiteral(element)) {
- const mockFn = createViCallExpression('fn');
+ const mockFn = createViCallExpression(ctx, 'fn');
const methodName = element.text;
let finalExpression: ts.Expression = mockFn;
@@ -337,6 +335,7 @@ function createSpyObjWithArray(
}
function createSpyObjWithObject(
+ ctx: RefactorContext,
methods: ts.ObjectLiteralExpression,
baseName: string | undefined,
): ts.PropertyAssignment[] {
@@ -345,7 +344,7 @@ function createSpyObjWithObject(
if (ts.isPropertyAssignment(prop) && ts.isIdentifier(prop.name)) {
const methodName = prop.name.text;
const returnValue = prop.initializer;
- let mockFn = createViCallExpression('fn');
+ let mockFn = createViCallExpression(ctx, 'fn');
if (baseName) {
mockFn = ts.factory.createCallExpression(
@@ -506,6 +505,53 @@ function transformThisFor(
);
}
+function transformAllCallsArgs(
+ node: ts.Node,
+ { sourceFile, reporter, pendingVitestValueImports }: RefactorContext,
+): ts.Node {
+ if (
+ !ts.isPropertyAccessExpression(node) ||
+ !ts.isIdentifier(node.name) ||
+ node.name.text !== 'args'
+ ) {
+ return node;
+ }
+
+ const elementAccess = node.expression;
+ if (!ts.isElementAccessExpression(elementAccess)) {
+ return node;
+ }
+
+ const allCall = elementAccess.expression;
+ if (!ts.isCallExpression(allCall) || !ts.isPropertyAccessExpression(allCall.expression)) {
+ return node;
+ }
+
+ const allPae = allCall.expression;
+ if (!ts.isIdentifier(allPae.name) || allPae.name.text !== 'all') {
+ return node;
+ }
+
+ if (!ts.isPropertyAccessExpression(allPae.expression)) {
+ return node;
+ }
+
+ const spyIdentifier = getSpyIdentifierFromCalls(allPae.expression);
+ if (!spyIdentifier) {
+ return node;
+ }
+
+ reporter.reportTransformation(
+ sourceFile,
+ node,
+ 'Transformed `spy.calls.all()[i].args` to `vi.mocked(spy).mock.calls[i]`.',
+ );
+ const mockProperty = createMockedSpyMockProperty(spyIdentifier, pendingVitestValueImports);
+ const callsProperty = createPropertyAccess(mockProperty, 'calls');
+
+ return ts.factory.createElementAccessExpression(callsProperty, elementAccess.argumentExpression);
+}
+
export function transformSpyCallInspection(node: ts.Node, refactorCtx: RefactorContext): ts.Node {
const mostRecentArgsTransformed = transformMostRecentArgs(node, refactorCtx);
if (mostRecentArgsTransformed !== node) {
@@ -517,6 +563,11 @@ export function transformSpyCallInspection(node: ts.Node, refactorCtx: RefactorC
return thisForTransformed;
}
+ const allCallsArgsTransformed = transformAllCallsArgs(node, refactorCtx);
+ if (allCallsArgsTransformed !== node) {
+ return allCallsArgsTransformed;
+ }
+
if (!ts.isCallExpression(node) || !ts.isPropertyAccessExpression(node.expression)) {
return node;
}
diff --git a/packages/schematics/angular/refactor/jasmine-vitest/transformers/jasmine-spy_spec.ts b/packages/schematics/angular/refactor/jasmine-vitest/transformers/jasmine-spy_spec.ts
index 85a0068240c7..97881049c1d5 100644
--- a/packages/schematics/angular/refactor/jasmine-vitest/transformers/jasmine-spy_spec.ts
+++ b/packages/schematics/angular/refactor/jasmine-vitest/transformers/jasmine-spy_spec.ts
@@ -270,6 +270,11 @@ describe('transformSpyCallInspection', () => {
input: `const allCalls = mySpy.calls.all();`,
expected: `const allCalls = vi.mocked(mySpy).mock.calls;`,
},
+ {
+ description: 'should transform spy.calls.all()[i].args',
+ input: `expect(mySpy.calls.all()[2].args[0]).toBeInstanceOf(RemoveShareUrlAction);`,
+ expected: `expect(vi.mocked(mySpy).mock.calls[2][0]).toBeInstanceOf(RemoveShareUrlAction);`,
+ },
{
description: 'should transform spy.calls.mostRecent().args',
input: `const recentArgs = mySpy.calls.mostRecent().args;`,
diff --git a/packages/schematics/angular/refactor/jasmine-vitest/utils/ast-helpers.ts b/packages/schematics/angular/refactor/jasmine-vitest/utils/ast-helpers.ts
index 8cbf089d05a8..19326338e831 100644
--- a/packages/schematics/angular/refactor/jasmine-vitest/utils/ast-helpers.ts
+++ b/packages/schematics/angular/refactor/jasmine-vitest/utils/ast-helpers.ts
@@ -48,32 +48,17 @@ export function getVitestAutoImports(
allSpecifiers.sort((a, b) => a.name.text.localeCompare(b.name.text));
- const importClause = ts.factory.createImportClause(
- isClauseTypeOnly, // Set isTypeOnly on the clause if only type imports
- undefined,
- ts.factory.createNamedImports(allSpecifiers),
- );
-
return ts.factory.createImportDeclaration(
undefined,
- importClause,
+ ts.factory.createImportClause(
+ isClauseTypeOnly, // Set isTypeOnly on the clause if only type imports
+ undefined,
+ ts.factory.createNamedImports(allSpecifiers),
+ ),
ts.factory.createStringLiteral('vitest'),
);
}
-export function createViCallExpression(
- methodName: string,
- args: readonly ts.Expression[] = [],
- typeArgs: ts.TypeNode[] | undefined = undefined,
-): ts.CallExpression {
- const callee = ts.factory.createPropertyAccessExpression(
- ts.factory.createIdentifier('vi'),
- methodName,
- );
-
- return ts.factory.createCallExpression(callee, typeArgs, args);
-}
-
export function createExpectCallExpression(
args: ts.Expression[],
typeArgs: ts.TypeNode[] | undefined = undefined,
@@ -121,3 +106,102 @@ export function getPromiseResolveRejectMethod(node: ts.Node): {
arguments: node.arguments,
};
}
+
+/**
+ * Checks if a named binding is imported from the given module in the source file.
+ * @param sourceFile The source file to search for imports.
+ * @param name The import name (e.g. 'flush', 'tick').
+ * @param moduleSpecifier The module path (e.g. '@angular/core/testing').
+ */
+export function isNamedImportFrom(
+ sourceFile: ts.SourceFile,
+ name: string,
+ moduleSpecifier: string,
+): boolean {
+ return sourceFile.statements.some((statement) => {
+ if (!_isImportDeclarationWithNamedBindings(statement)) {
+ return false;
+ }
+
+ const specifier = statement.moduleSpecifier;
+ const modulePath = ts.isStringLiteralLike(specifier) ? specifier.text : null;
+ if (modulePath !== moduleSpecifier) {
+ return false;
+ }
+ for (const element of statement.importClause.namedBindings.elements) {
+ const importedName = element.propertyName ? element.propertyName.text : element.name.text;
+ if (importedName === name) {
+ return true;
+ }
+ }
+ });
+}
+
+/**
+ * Removes specified import specifiers from ImportDeclarations.
+ * If all specifiers are removed from an import, the entire import is dropped.
+ */
+export function removeImportSpecifiers(
+ sourceFile: ts.SourceFile,
+ removals: Map>,
+): ts.SourceFile {
+ const newStatements = sourceFile.statements
+ .map((statement) => {
+ if (!_isImportDeclarationWithNamedBindings(statement)) {
+ return statement;
+ }
+
+ const specifier = statement.moduleSpecifier;
+ const modulePath = ts.isStringLiteralLike(specifier) ? specifier.text : null;
+ if (modulePath === null) {
+ return statement;
+ }
+
+ const namesToRemove = removals.get(modulePath);
+ if (namesToRemove === undefined || namesToRemove.size === 0) {
+ return statement;
+ }
+
+ const remaining = statement.importClause.namedBindings.elements.filter((el) => {
+ const name = el.propertyName ? el.propertyName.text : el.name.text;
+
+ return !namesToRemove.has(name);
+ });
+
+ if (remaining.length === 0) {
+ return;
+ }
+
+ if (remaining.length === statement.importClause.namedBindings.elements.length) {
+ return statement;
+ }
+
+ return ts.factory.updateImportDeclaration(
+ statement,
+ statement.modifiers,
+ ts.factory.updateImportClause(
+ statement.importClause,
+ undefined,
+ statement.importClause.name,
+ ts.factory.createNamedImports(remaining),
+ ),
+ statement.moduleSpecifier,
+ statement.attributes,
+ );
+ })
+ .filter((statement) => statement !== undefined);
+
+ return ts.factory.updateSourceFile(sourceFile, newStatements);
+}
+
+function _isImportDeclarationWithNamedBindings(
+ statement: ts.Statement,
+): statement is ts.ImportDeclaration & {
+ importClause: ts.ImportClause & { namedBindings: ts.NamedImports };
+} {
+ return (
+ ts.isImportDeclaration(statement) &&
+ statement.importClause?.namedBindings !== undefined &&
+ ts.isNamedImports(statement.importClause.namedBindings)
+ );
+}
diff --git a/packages/schematics/angular/refactor/jasmine-vitest/utils/constants.ts b/packages/schematics/angular/refactor/jasmine-vitest/utils/constants.ts
new file mode 100644
index 000000000000..23407fee97da
--- /dev/null
+++ b/packages/schematics/angular/refactor/jasmine-vitest/utils/constants.ts
@@ -0,0 +1,9 @@
+/**
+ * @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
+ */
+
+export const ANGULAR_CORE_TESTING = '@angular/core/testing';
diff --git a/packages/schematics/angular/refactor/jasmine-vitest/utils/refactor-context.ts b/packages/schematics/angular/refactor/jasmine-vitest/utils/refactor-context.ts
index d2599ed16ed7..6aa7052685d3 100644
--- a/packages/schematics/angular/refactor/jasmine-vitest/utils/refactor-context.ts
+++ b/packages/schematics/angular/refactor/jasmine-vitest/utils/refactor-context.ts
@@ -28,6 +28,12 @@ export interface RefactorContext {
/** A set of Vitest type imports to be added to the file. */
readonly pendingVitestTypeImports: Set;
+
+ /**
+ * Map of module specifier -> names to remove from that import.
+ * Used when transforming identifiers that become inlined (e.g. flush -> vi.runAllTimersAsync).
+ */
+ readonly pendingImportSpecifierRemovals: Map>;
}
/**
diff --git a/packages/schematics/angular/refactor/jasmine-vitest/utils/refactor-helpers.ts b/packages/schematics/angular/refactor/jasmine-vitest/utils/refactor-helpers.ts
new file mode 100644
index 000000000000..616c1bae6114
--- /dev/null
+++ b/packages/schematics/angular/refactor/jasmine-vitest/utils/refactor-helpers.ts
@@ -0,0 +1,65 @@
+/**
+ * @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 ts from 'typescript';
+import { RefactorContext } from './refactor-context';
+
+/**
+ * Marks an identifier to be removed from an import specifier.
+ *
+ * @param ctx The refactor context object.
+ * @param name The name of the identifier to remove from the import specifier.
+ * @param moduleSpecifier The module specifier to remove the identifier from.
+ */
+export function addImportSpecifierRemoval(
+ ctx: RefactorContext,
+ name: string,
+ moduleSpecifier: string,
+): void {
+ const removals = ctx.pendingImportSpecifierRemovals.get(moduleSpecifier) ?? new Set();
+ removals.add(name);
+ ctx.pendingImportSpecifierRemovals.set(moduleSpecifier, removals);
+}
+
+/**
+ * Creates a call expression to a vitest method.
+ * This also adds the `vi` identifier to the context object,
+ * to import it later if addImports option is enabled.
+ *
+ * @param ctx The refactor context object.
+ * @param args The arguments to pass to the method.
+ * @param typeArgs The type arguments to pass to the method.
+ * @param methodeName The name of the vitest method to call.
+ * @returns The created identifier node.
+ */
+export function createViCallExpression(
+ ctx: RefactorContext,
+ methodName: string,
+ args: readonly ts.Expression[] = [],
+ typeArgs: ts.TypeNode[] | undefined = undefined,
+): ts.CallExpression {
+ const vi = requireVitestIdentifier(ctx, 'vi');
+ const callee = ts.factory.createPropertyAccessExpression(vi, methodName);
+
+ return ts.factory.createCallExpression(callee, typeArgs, args);
+}
+
+/**
+ * Creates an identifier for a vitest value import.
+ * This also adds the identifier to the context object,
+ * to import it later if addImports option is enabled.
+ *
+ * @param ctx The refactor context object.
+ * @param name The name of the vitest identifier to require.
+ * @returns The created identifier node.
+ */
+export function requireVitestIdentifier(ctx: RefactorContext, name: string): ts.Identifier {
+ ctx.pendingVitestValueImports.add(name);
+
+ return ts.factory.createIdentifier(name);
+}
diff --git a/packages/schematics/angular/refactor/jasmine-vitest/utils/todo-notes.ts b/packages/schematics/angular/refactor/jasmine-vitest/utils/todo-notes.ts
index 2a3f155a9393..598606d7bde6 100644
--- a/packages/schematics/angular/refactor/jasmine-vitest/utils/todo-notes.ts
+++ b/packages/schematics/angular/refactor/jasmine-vitest/utils/todo-notes.ts
@@ -178,6 +178,13 @@ export const TODO_NOTES = {
'unhandled-done-usage': {
message: "The 'done' callback was used in an unhandled way. Please migrate manually.",
},
+ 'flush-max-turns': {
+ message:
+ 'flush(maxTurns) was called but maxTurns parameter is not migrated. Please migrate manually.',
+ },
+ 'flush-return-value': {
+ message: 'flush() return value is not migrated. Please migrate manually.',
+ },
} as const;
/**
diff --git a/packages/schematics/angular/service/files/__name@dasherize__.__type@dasherize__.ts.template b/packages/schematics/angular/service/files/__name@dasherize__.__type@dasherize__.ts.template
index de24346572c2..3b9a10da6ce4 100644
--- a/packages/schematics/angular/service/files/__name@dasherize__.__type@dasherize__.ts.template
+++ b/packages/schematics/angular/service/files/__name@dasherize__.__type@dasherize__.ts.template
@@ -1,8 +1,8 @@
-import { Injectable } from '@angular/core';
+import { <%= injectable ? 'Injectable' : 'Service' %> } from '@angular/core';
-@Injectable({
+<% if (injectable) { %>@Injectable({
providedIn: 'root',
-})
+})<% } else { %>@Service()<% } %>
export class <%= classifiedName %> {
}
diff --git a/packages/schematics/angular/service/index_spec.ts b/packages/schematics/angular/service/index_spec.ts
index 56ae5edd2428..023b738b46c7 100644
--- a/packages/schematics/angular/service/index_spec.ts
+++ b/packages/schematics/angular/service/index_spec.ts
@@ -36,6 +36,7 @@ describe('Service Schematic', () => {
skipPackageJson: false,
};
let appTree: UnitTestTree;
+
beforeEach(async () => {
appTree = await schematicRunner.runSchematic('workspace', workspaceOptions);
appTree = await schematicRunner.runSchematic('application', appOptions, appTree);
@@ -50,12 +51,23 @@ describe('Service Schematic', () => {
expect(files).toContain('/projects/bar/src/app/foo/foo.ts');
});
- it('service should be tree-shakeable', async () => {
+ it('should use @Service decorator', async () => {
const options = { ...defaultOptions };
const tree = await schematicRunner.runSchematic('service', options, appTree);
const content = tree.readContent('/projects/bar/src/app/foo/foo.ts');
+ expect(content).toMatch(/@Service\(\)/);
+ expect(content).toMatch(/import \{ Service \} from '@angular\/core'/);
+ });
+
+ it('should use @Injectable decorator when injectable flag is true', async () => {
+ const options = { ...defaultOptions, injectable: true };
+
+ const tree = await schematicRunner.runSchematic('service', options, appTree);
+ const content = tree.readContent('/projects/bar/src/app/foo/foo.ts');
+ expect(content).toMatch(/@Injectable\(/);
expect(content).toMatch(/providedIn: 'root',/);
+ expect(content).toMatch(/import \{ Injectable \} from '@angular\/core'/);
});
it('should respect the skipTests flag', async () => {
diff --git a/packages/schematics/angular/service/schema.json b/packages/schematics/angular/service/schema.json
index 19afac150262..a3ebf9d3a3fe 100644
--- a/packages/schematics/angular/service/schema.json
+++ b/packages/schematics/angular/service/schema.json
@@ -48,6 +48,11 @@
"type": "boolean",
"default": true,
"description": "When true, the 'type' option will be appended to the generated class name. When false, only the file name will include the type."
+ },
+ "injectable": {
+ "type": "boolean",
+ "default": false,
+ "description": "When true, generates an `@Injectable` instead of `@Service`."
}
},
"required": ["name", "project"]
diff --git a/packages/schematics/angular/utility/latest-versions/package.json b/packages/schematics/angular/utility/latest-versions/package.json
index e59890243153..4ad8149fe646 100644
--- a/packages/schematics/angular/utility/latest-versions/package.json
+++ b/packages/schematics/angular/utility/latest-versions/package.json
@@ -27,6 +27,7 @@
"typescript": "~6.0.2",
"vitest": "^4.0.8",
"@vitest/coverage-v8": "^4.0.8",
+ "@vitest/coverage-istanbul": "^4.0.8",
"@vitest/browser-playwright": "^4.0.8",
"@vitest/browser-webdriverio": "^4.0.8",
"@vitest/browser-preview": "^4.0.8",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index c49c0a905045..7ffcc40ef8cb 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -14,11 +14,11 @@ importers:
.:
dependencies:
'@angular/compiler-cli':
- specifier: 22.0.0-next.10
- version: 22.0.0-next.10(@angular/compiler@22.0.0-next.10)(typescript@6.0.2)
+ specifier: 22.0.0-rc.2
+ version: 22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(typescript@6.0.3)
typescript:
- specifier: 6.0.2
- version: 6.0.2
+ specifier: 6.0.3
+ version: 6.0.3
dependenciesMeta:
esbuild:
built: true
@@ -26,47 +26,47 @@ importers:
built: true
devDependencies:
'@angular/animations':
- specifier: 22.0.0-next.10
- version: 22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))
+ specifier: 22.0.0-rc.2
+ version: 22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))
'@angular/cdk':
- specifier: 22.0.0-next.7
- version: 22.0.0-next.7(@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(@angular/platform-browser@22.0.0-next.10(@angular/animations@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)))(@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)))(rxjs@7.8.2)
+ specifier: 22.0.0-rc.2
+ version: 22.0.0-rc.2(@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.0.0-rc.2(@angular/animations@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)
'@angular/common':
- specifier: 22.0.0-next.10
- version: 22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2)
+ specifier: 22.0.0-rc.2
+ version: 22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)
'@angular/compiler':
- specifier: 22.0.0-next.10
- version: 22.0.0-next.10
+ specifier: 22.0.0-rc.2
+ version: 22.0.0-rc.2
'@angular/core':
- specifier: 22.0.0-next.10
- version: 22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)
+ specifier: 22.0.0-rc.2
+ version: 22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)
'@angular/forms':
- specifier: 22.0.0-next.10
- version: 22.0.0-next.10(@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(@angular/platform-browser@22.0.0-next.10(@angular/animations@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)))(@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)))(rxjs@7.8.2)
+ specifier: 22.0.0-rc.2
+ version: 22.0.0-rc.2(@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.0.0-rc.2(@angular/animations@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)
'@angular/localize':
- specifier: 22.0.0-next.10
- version: 22.0.0-next.10(@angular/compiler-cli@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(typescript@6.0.2))(@angular/compiler@22.0.0-next.10)
+ specifier: 22.0.0-rc.2
+ version: 22.0.0-rc.2(@angular/compiler-cli@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(typescript@6.0.3))(@angular/compiler@22.0.0-rc.2)
'@angular/material':
- specifier: 22.0.0-next.7
- version: 22.0.0-next.7(1ee8d5fdc2f291e5a1da1bc147744133)
+ specifier: 22.0.0-rc.2
+ version: 22.0.0-rc.2(8f7a4024ad7b6c55fb0a3a6a45a14224)
'@angular/ng-dev':
- specifier: https://github.com/angular/dev-infra-private-ng-dev-builds.git#4de8a14a1682d0f07e0b14a3b26498757c195904
- version: https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/4de8a14a1682d0f07e0b14a3b26498757c195904(@modelcontextprotocol/sdk@1.29.0(zod@4.3.6))
+ specifier: https://github.com/angular/dev-infra-private-ng-dev-builds.git#a450a2420ca888116e6d4207b38819cd27b06179
+ version: https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/a450a2420ca888116e6d4207b38819cd27b06179(@modelcontextprotocol/sdk@1.29.0(zod@4.4.3))
'@angular/platform-browser':
- specifier: 22.0.0-next.10
- version: 22.0.0-next.10(@angular/animations@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)))(@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))
+ specifier: 22.0.0-rc.2
+ version: 22.0.0-rc.2(@angular/animations@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))
'@angular/platform-server':
- specifier: 22.0.0-next.10
- version: 22.0.0-next.10(@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/compiler@22.0.0-next.10)(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(@angular/platform-browser@22.0.0-next.10(@angular/animations@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)))(@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)))(rxjs@7.8.2)
+ specifier: 22.0.0-rc.2
+ version: 22.0.0-rc.2(@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/compiler@22.0.0-rc.2)(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.0.0-rc.2(@angular/animations@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)
'@angular/router':
- specifier: 22.0.0-next.10
- version: 22.0.0-next.10(@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(@angular/platform-browser@22.0.0-next.10(@angular/animations@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)))(@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)))(rxjs@7.8.2)
+ specifier: 22.0.0-rc.2
+ version: 22.0.0-rc.2(@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.0.0-rc.2(@angular/animations@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)
'@angular/service-worker':
- specifier: 22.0.0-next.10
- version: 22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2)
+ specifier: 22.0.0-rc.2
+ version: 22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)
'@babel/core':
- specifier: 7.29.0
- version: 7.29.0
+ specifier: 7.29.7
+ version: 7.29.7
'@bazel/bazelisk':
specifier: 1.28.1
version: 1.28.1
@@ -77,35 +77,35 @@ importers:
specifier: ^0.28.0
version: 0.28.0
'@eslint/compat':
- specifier: 2.0.5
- version: 2.0.5(eslint@10.2.1(jiti@2.6.1))
+ specifier: 2.1.0
+ version: 2.1.0(eslint@10.4.0(jiti@2.7.0))
'@eslint/eslintrc':
specifier: 3.3.5
version: 3.3.5
'@eslint/js':
specifier: 10.0.1
- version: 10.0.1(eslint@10.2.1(jiti@2.6.1))
+ version: 10.0.1(eslint@10.4.0(jiti@2.7.0))
'@rollup/plugin-alias':
specifier: ^6.0.0
- version: 6.0.0(rollup@4.60.2)
+ version: 6.0.0(rollup@4.60.4)
'@rollup/plugin-commonjs':
specifier: ^29.0.0
- version: 29.0.2(rollup@4.60.2)
+ version: 29.0.2(rollup@4.60.4)
'@rollup/plugin-json':
specifier: ^6.1.0
- version: 6.1.0(rollup@4.60.2)
+ version: 6.1.0(rollup@4.60.4)
'@rollup/plugin-node-resolve':
specifier: 16.0.3
- version: 16.0.3(rollup@4.60.2)
+ version: 16.0.3(rollup@4.60.4)
'@rollup/wasm-node':
- specifier: 4.60.2
- version: 4.60.2
+ specifier: 4.60.4
+ version: 4.60.4
'@stylistic/eslint-plugin':
specifier: ^5.0.0
- version: 5.10.0(eslint@10.2.1(jiti@2.6.1))
+ version: 5.10.0(eslint@10.4.0(jiti@2.7.0))
'@tony.ganchev/eslint-plugin-header':
specifier: ~3.4.0
- version: 3.4.4(eslint@10.2.1(jiti@2.6.1))
+ version: 3.4.4(eslint@10.4.0(jiti@2.7.0))
'@types/babel__core':
specifier: 7.20.5
version: 7.20.5
@@ -144,7 +144,7 @@ importers:
version: 4.17.24
'@types/node':
specifier: ^22.12.0
- version: 22.19.17
+ version: 22.19.19
'@types/npm-package-arg':
specifier: ^6.1.0
version: 6.1.4
@@ -173,14 +173,14 @@ importers:
specifier: ^1.1.5
version: 1.1.9
'@typescript-eslint/eslint-plugin':
- specifier: 8.58.2
- version: 8.58.2(@typescript-eslint/parser@8.58.2(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.2))(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.2)
+ specifier: 8.60.0
+ version: 8.60.0(@typescript-eslint/parser@8.60.0(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3)
'@typescript-eslint/parser':
- specifier: 8.58.2
- version: 8.58.2(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.2)
+ specifier: 8.60.0
+ version: 8.60.0(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3)
ajv:
- specifier: 8.18.0
- version: 8.18.0
+ specifier: 8.20.0
+ version: 8.20.0
buffer:
specifier: 6.0.3
version: 6.0.3
@@ -191,14 +191,14 @@ importers:
specifier: 0.28.0
version: 0.28.0
eslint:
- specifier: 10.2.1
- version: 10.2.1(jiti@2.6.1)
+ specifier: 10.4.0
+ version: 10.4.0(jiti@2.7.0)
eslint-config-prettier:
specifier: 10.1.8
- version: 10.1.8(eslint@10.2.1(jiti@2.6.1))
+ version: 10.1.8(eslint@10.4.0(jiti@2.7.0))
eslint-plugin-import:
specifier: 2.32.0
- version: 2.32.0(@typescript-eslint/parser@8.58.2(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.2))(eslint@10.2.1(jiti@2.6.1))
+ version: 2.32.0(@typescript-eslint/parser@8.60.0(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.4.0(jiti@2.7.0))
express:
specifier: 5.2.1
version: 5.2.1
@@ -206,14 +206,14 @@ importers:
specifier: 3.3.3
version: 3.3.3
globals:
- specifier: 17.5.0
- version: 17.5.0
+ specifier: 17.6.0
+ version: 17.6.0
http-proxy:
specifier: ^1.18.1
- version: 1.18.1(debug@4.4.3)
+ version: 1.18.1
http-proxy-middleware:
- specifier: 3.0.5
- version: 3.0.5
+ specifier: 4.0.0
+ version: 4.0.0
husky:
specifier: 9.1.7
version: 9.1.7
@@ -257,26 +257,26 @@ importers:
specifier: ^3.0.0
version: 3.8.3
puppeteer:
- specifier: 24.41.0
- version: 24.41.0(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@6.0.6)
+ specifier: 25.1.0
+ version: 25.1.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)
quicktype-core:
specifier: 23.2.6
version: 23.2.6(encoding@0.1.13)
rollup:
- specifier: 4.60.2
- version: 4.60.2
+ specifier: 4.60.4
+ version: 4.60.4
rollup-license-plugin:
specifier: ~3.2.0
version: 3.2.1
rollup-plugin-dts:
specifier: 6.4.1
- version: 6.4.1(rollup@4.60.2)(typescript@6.0.2)
+ version: 6.4.1(rollup@4.60.4)(typescript@6.0.3)
rollup-plugin-sourcemaps2:
- specifier: 0.5.6
- version: 0.5.6(@types/node@22.19.17)(rollup@4.60.2)
+ specifier: 0.5.7
+ version: 0.5.7(@types/node@22.19.19)(rollup@4.60.4)
semver:
- specifier: 7.7.4
- version: 7.7.4
+ specifier: 7.8.1
+ version: 7.8.1
source-map-support:
specifier: 0.5.21
version: 0.5.21
@@ -284,20 +284,20 @@ importers:
specifier: 2.8.1
version: 2.8.1
undici:
- specifier: 8.1.0
- version: 8.1.0
+ specifier: 8.3.0
+ version: 8.3.0
unenv:
specifier: ^1.10.0
version: 1.10.0
verdaccio:
- specifier: 6.5.2
- version: 6.5.2(encoding@0.1.13)
+ specifier: 6.7.2
+ version: 6.7.2(encoding@0.1.13)
verdaccio-auth-memory:
specifier: ^13.0.0
- version: 13.0.0
+ version: 13.0.2
zone.js:
specifier: ^0.16.0
- version: 0.16.1
+ version: 0.16.2
modules/testing/builder:
devDependencies:
@@ -314,8 +314,8 @@ importers:
specifier: workspace:*
version: link:../../../packages/angular/ssr
'@vitest/coverage-v8':
- specifier: 4.1.4
- version: 4.1.4(vitest@4.1.4)
+ specifier: 4.1.7
+ version: 4.1.7(vitest@4.1.7)
browser-sync:
specifier: 3.0.4
version: 3.0.4(bufferutil@4.1.0)(utf-8-validate@6.0.6)
@@ -323,17 +323,17 @@ importers:
specifier: 6.0.3
version: 6.0.3
jsdom:
- specifier: 29.0.2
- version: 29.0.2
+ specifier: 29.1.1
+ version: 29.1.1
ng-packagr:
- specifier: 22.0.0-next.3
- version: 22.0.0-next.3(@angular/compiler-cli@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(typescript@6.0.2))(tslib@2.8.1)(typescript@6.0.2)
+ specifier: 22.0.0-rc.0
+ version: 22.0.0-rc.0(@angular/compiler-cli@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(typescript@6.0.3))(tslib@2.8.1)(typescript@6.0.3)
rxjs:
specifier: 7.8.2
version: 7.8.2
vitest:
- specifier: 4.1.4
- version: 4.1.4(@opentelemetry/api@1.9.1)(@types/node@24.12.2)(@vitest/coverage-v8@4.1.4)(jiti@2.6.1)(jsdom@29.0.2)(less@4.6.4)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)
+ specifier: 4.1.7
+ version: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@24.12.4)(@vitest/coverage-v8@4.1.7)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.100.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0)
packages/angular/build:
dependencies:
@@ -344,20 +344,20 @@ importers:
specifier: workspace:0.0.0-EXPERIMENTAL-PLACEHOLDER
version: link:../../angular_devkit/architect
'@babel/core':
- specifier: 7.29.0
- version: 7.29.0
+ specifier: 7.29.7
+ version: 7.29.7
'@babel/helper-annotate-as-pure':
- specifier: 7.27.3
- version: 7.27.3
+ specifier: 7.29.7
+ version: 7.29.7
'@babel/helper-split-export-declaration':
specifier: 7.24.7
version: 7.24.7
'@inquirer/confirm':
- specifier: 6.0.12
- version: 6.0.12(@types/node@24.12.2)
+ specifier: 6.1.0
+ version: 6.1.0(@types/node@24.12.4)
'@vitejs/plugin-basic-ssl':
specifier: 2.3.0
- version: 2.3.0(vite@7.3.2(@types/node@24.12.2)(jiti@2.6.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))
+ version: 2.3.0(vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(less@4.6.4)(sass@1.100.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0))
beasties:
specifier: 0.4.2
version: 0.4.2
@@ -392,14 +392,14 @@ importers:
specifier: 5.1.4
version: 5.1.4
rollup:
- specifier: 4.60.2
- version: 4.60.2
+ specifier: 4.60.4
+ version: 4.60.4
sass:
- specifier: 1.99.0
- version: 1.99.0
+ specifier: 1.100.0
+ version: 1.100.0
semver:
- specifier: 7.7.4
- version: 7.7.4
+ specifier: 7.8.1
+ version: 7.8.1
source-map-support:
specifier: 0.5.21
version: 0.5.21
@@ -407,8 +407,8 @@ importers:
specifier: 0.2.16
version: 0.2.16
vite:
- specifier: 7.3.2
- version: 7.3.2(@types/node@24.12.2)(jiti@2.6.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)
+ specifier: 7.3.3
+ version: 7.3.3(@types/node@24.12.4)(jiti@2.7.0)(less@4.6.4)(sass@1.100.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0)
watchpack:
specifier: 2.5.1
version: 2.5.1
@@ -423,26 +423,26 @@ importers:
specifier: 6.0.3
version: 6.0.3
jsdom:
- specifier: 29.0.2
- version: 29.0.2
+ specifier: 29.1.1
+ version: 29.1.1
less:
specifier: 4.6.4
version: 4.6.4
ng-packagr:
- specifier: 22.0.0-next.3
- version: 22.0.0-next.3(@angular/compiler-cli@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(typescript@6.0.2))(tslib@2.8.1)(typescript@6.0.2)
+ specifier: 22.0.0-rc.0
+ version: 22.0.0-rc.0(@angular/compiler-cli@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(typescript@6.0.3))(tslib@2.8.1)(typescript@6.0.3)
postcss:
- specifier: 8.5.10
- version: 8.5.10
+ specifier: 8.5.15
+ version: 8.5.15
rolldown:
- specifier: 1.0.0-rc.16
- version: 1.0.0-rc.16
+ specifier: 1.0.2
+ version: 1.0.2
rxjs:
specifier: 7.8.2
version: 7.8.2
vitest:
- specifier: 4.1.4
- version: 4.1.4(@opentelemetry/api@1.9.1)(@types/node@24.12.2)(@vitest/coverage-v8@4.1.4)(jiti@2.6.1)(jsdom@29.0.2)(less@4.6.4)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)
+ specifier: 4.1.7
+ version: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@24.12.4)(@vitest/coverage-v8@4.1.7)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.100.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0)
optionalDependencies:
lmdb:
specifier: 3.5.4
@@ -460,14 +460,14 @@ importers:
specifier: workspace:0.0.0-PLACEHOLDER
version: link:../../angular_devkit/schematics
'@inquirer/prompts':
- specifier: 8.4.2
- version: 8.4.2(@types/node@24.12.2)
+ specifier: 8.5.0
+ version: 8.5.0(@types/node@24.12.4)
'@listr2/prompt-adapter-inquirer':
specifier: 4.2.3
- version: 4.2.3(@inquirer/prompts@8.4.2(@types/node@24.12.2))(@types/node@24.12.2)(listr2@10.2.1)
+ version: 4.2.3(@inquirer/prompts@8.5.0(@types/node@24.12.4))(@types/node@24.12.4)(listr2@10.2.1)
'@modelcontextprotocol/sdk':
specifier: 1.29.0
- version: 1.29.0(zod@4.3.6)
+ version: 1.29.0(zod@4.4.3)
'@schematics/angular':
specifier: workspace:0.0.0-PLACEHOLDER
version: link:../../schematics/angular
@@ -475,11 +475,11 @@ importers:
specifier: 1.1.0
version: 1.1.0
algoliasearch:
- specifier: 5.50.2
- version: 5.50.2
+ specifier: 5.52.1
+ version: 5.52.1
ini:
- specifier: 6.0.0
- version: 6.0.0
+ specifier: 7.0.0
+ version: 7.0.0
jsonc-parser:
specifier: 3.3.1
version: 3.3.1
@@ -487,8 +487,8 @@ importers:
specifier: 10.2.1
version: 10.2.1
npm-package-arg:
- specifier: 13.0.2
- version: 13.0.2
+ specifier: 14.0.0
+ version: 14.0.0
pacote:
specifier: 21.5.0
version: 21.5.0
@@ -496,14 +496,14 @@ importers:
specifier: 8.0.1
version: 8.0.1
semver:
- specifier: 7.7.4
- version: 7.7.4
+ specifier: 7.8.1
+ version: 7.8.1
yargs:
specifier: 18.0.0
version: 18.0.0
zod:
- specifier: 4.3.6
- version: 4.3.6
+ specifier: 4.4.3
+ version: 4.4.3
packages/angular/pwa:
dependencies:
@@ -527,23 +527,23 @@ importers:
specifier: workspace:*
version: link:../../angular_devkit/schematics
'@angular/common':
- specifier: 22.0.0-next.10
- version: 22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2)
+ specifier: 22.0.0-rc.2
+ version: 22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)
'@angular/compiler':
- specifier: 22.0.0-next.10
- version: 22.0.0-next.10
+ specifier: 22.0.0-rc.2
+ version: 22.0.0-rc.2
'@angular/core':
- specifier: 22.0.0-next.10
- version: 22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)
+ specifier: 22.0.0-rc.2
+ version: 22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)
'@angular/platform-browser':
- specifier: 22.0.0-next.10
- version: 22.0.0-next.10(@angular/animations@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)))(@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))
+ specifier: 22.0.0-rc.2
+ version: 22.0.0-rc.2(@angular/animations@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))
'@angular/platform-server':
- specifier: 22.0.0-next.10
- version: 22.0.0-next.10(@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/compiler@22.0.0-next.10)(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(@angular/platform-browser@22.0.0-next.10(@angular/animations@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)))(@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)))(rxjs@7.8.2)
+ specifier: 22.0.0-rc.2
+ version: 22.0.0-rc.2(@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/compiler@22.0.0-rc.2)(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.0.0-rc.2(@angular/animations@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)
'@angular/router':
- specifier: 22.0.0-next.10
- version: 22.0.0-next.10(@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(@angular/platform-browser@22.0.0-next.10(@angular/animations@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)))(@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)))(rxjs@7.8.2)
+ specifier: 22.0.0-rc.2
+ version: 22.0.0-rc.2(@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.0.0-rc.2(@angular/animations@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)
'@schematics/angular':
specifier: workspace:*
version: link:../../schematics/angular
@@ -578,35 +578,35 @@ importers:
specifier: workspace:*
version: link:../../angular/build
'@babel/core':
- specifier: 7.29.0
- version: 7.29.0
+ specifier: 7.29.7
+ version: 7.29.7
'@babel/generator':
- specifier: 7.29.1
- version: 7.29.1
+ specifier: 7.29.7
+ version: 7.29.7
'@babel/helper-annotate-as-pure':
- specifier: 7.27.3
- version: 7.27.3
+ specifier: 7.29.7
+ version: 7.29.7
'@babel/helper-split-export-declaration':
specifier: 7.24.7
version: 7.24.7
'@babel/plugin-transform-async-generator-functions':
- specifier: 7.29.0
- version: 7.29.0(@babel/core@7.29.0)
+ specifier: 7.29.7
+ version: 7.29.7(@babel/core@7.29.7)
'@babel/plugin-transform-async-to-generator':
- specifier: 7.28.6
- version: 7.28.6(@babel/core@7.29.0)
+ specifier: 7.29.7
+ version: 7.29.7(@babel/core@7.29.7)
'@babel/plugin-transform-runtime':
- specifier: 7.29.0
- version: 7.29.0(@babel/core@7.29.0)
+ specifier: 7.29.7
+ version: 7.29.7(@babel/core@7.29.7)
'@babel/preset-env':
- specifier: 7.29.2
- version: 7.29.2(@babel/core@7.29.0)
+ specifier: 7.29.7
+ version: 7.29.7(@babel/core@7.29.7)
'@babel/runtime':
- specifier: 7.29.2
- version: 7.29.2
+ specifier: 7.29.7
+ version: 7.29.7
'@discoveryjs/json-ext':
- specifier: 1.0.0
- version: 1.0.0
+ specifier: 1.1.0
+ version: 1.1.0
'@ngtools/webpack':
specifier: workspace:0.0.0-PLACEHOLDER
version: link:../../ngtools/webpack
@@ -615,25 +615,25 @@ importers:
version: 4.1.3
autoprefixer:
specifier: 10.5.0
- version: 10.5.0(postcss@8.5.10)
+ version: 10.5.0(postcss@8.5.15)
babel-loader:
specifier: 10.1.1
- version: 10.1.1(@babel/core@7.29.0)(webpack@5.106.2(esbuild@0.28.0))
+ version: 10.1.1(@babel/core@7.29.7)(webpack@5.107.2(esbuild@0.28.0)(postcss@8.5.15))
browserslist:
specifier: ^4.26.0
version: 4.28.2
copy-webpack-plugin:
specifier: 14.0.0
- version: 14.0.0(webpack@5.106.2(esbuild@0.28.0))
+ version: 14.0.0(webpack@5.107.2(esbuild@0.28.0)(postcss@8.5.15))
css-loader:
specifier: 7.1.4
- version: 7.1.4(webpack@5.106.2(esbuild@0.28.0))
+ version: 7.1.4(webpack@5.107.2(esbuild@0.28.0)(postcss@8.5.15))
esbuild-wasm:
specifier: 0.28.0
version: 0.28.0
http-proxy-middleware:
- specifier: 3.0.5
- version: 3.0.5
+ specifier: 4.0.0
+ version: 4.0.0
istanbul-lib-instrument:
specifier: 6.0.3
version: 6.0.3
@@ -647,23 +647,23 @@ importers:
specifier: 4.6.4
version: 4.6.4
less-loader:
- specifier: 12.3.2
- version: 12.3.2(less@4.6.4)(webpack@5.106.2(esbuild@0.28.0))
+ specifier: 13.0.0
+ version: 13.0.0(less@4.6.4)(webpack@5.107.2(esbuild@0.28.0)(postcss@8.5.15))
license-webpack-plugin:
specifier: 4.0.2
- version: 4.0.2(webpack@5.106.2(esbuild@0.28.0))
+ version: 4.0.2(webpack@5.107.2(esbuild@0.28.0)(postcss@8.5.15))
loader-utils:
specifier: 3.3.1
version: 3.3.1
mini-css-extract-plugin:
specifier: 2.10.2
- version: 2.10.2(webpack@5.106.2(esbuild@0.28.0))
+ version: 2.10.2(webpack@5.107.2(esbuild@0.28.0)(postcss@8.5.15))
open:
specifier: 11.0.0
version: 11.0.0
ora:
- specifier: 9.3.0
- version: 9.3.0
+ specifier: 9.4.0
+ version: 9.4.0
picomatch:
specifier: 4.0.4
version: 4.0.4
@@ -671,11 +671,11 @@ importers:
specifier: 5.1.4
version: 5.1.4
postcss:
- specifier: 8.5.10
- version: 8.5.10
+ specifier: 8.5.15
+ version: 8.5.15
postcss-loader:
specifier: 8.2.1
- version: 8.2.1(postcss@8.5.10)(typescript@6.0.2)(webpack@5.106.2(esbuild@0.28.0))
+ version: 8.2.1(postcss@8.5.15)(typescript@6.0.3)(webpack@5.107.2(esbuild@0.28.0)(postcss@8.5.15))
resolve-url-loader:
specifier: 5.0.0
version: 5.0.0
@@ -683,23 +683,23 @@ importers:
specifier: 7.8.2
version: 7.8.2
sass:
- specifier: 1.99.0
- version: 1.99.0
+ specifier: 1.100.0
+ version: 1.100.0
sass-loader:
- specifier: 16.0.7
- version: 16.0.7(sass@1.99.0)(webpack@5.106.2(esbuild@0.28.0))
+ specifier: 17.0.0
+ version: 17.0.0(sass@1.100.0)(webpack@5.107.2(esbuild@0.28.0)(postcss@8.5.15))
semver:
- specifier: 7.7.4
- version: 7.7.4
+ specifier: 7.8.1
+ version: 7.8.1
source-map-loader:
specifier: 5.0.0
- version: 5.0.0(webpack@5.106.2(esbuild@0.28.0))
+ version: 5.0.0(webpack@5.107.2(esbuild@0.28.0)(postcss@8.5.15))
source-map-support:
specifier: 0.5.21
version: 0.5.21
terser:
- specifier: 5.46.1
- version: 5.46.1
+ specifier: 5.48.0
+ version: 5.48.0
tinyglobby:
specifier: 0.2.16
version: 0.2.16
@@ -707,20 +707,20 @@ importers:
specifier: 2.8.1
version: 2.8.1
webpack:
- specifier: 5.106.2
- version: 5.106.2(esbuild@0.28.0)
+ specifier: 5.107.2
+ version: 5.107.2(esbuild@0.28.0)(postcss@8.5.15)
webpack-dev-middleware:
specifier: 8.0.3
- version: 8.0.3(tslib@2.8.1)(webpack@5.106.2(esbuild@0.28.0))
+ version: 8.0.3(tslib@2.8.1)(webpack@5.107.2(esbuild@0.28.0)(postcss@8.5.15))
webpack-dev-server:
- specifier: 5.2.3
- version: 5.2.3(bufferutil@4.1.0)(tslib@2.8.1)(utf-8-validate@6.0.6)(webpack@5.106.2(esbuild@0.28.0))
+ specifier: 5.2.4
+ version: 5.2.4(bufferutil@4.1.0)(tslib@2.8.1)(utf-8-validate@6.0.6)(webpack@5.107.2(esbuild@0.28.0)(postcss@8.5.15))
webpack-merge:
specifier: 6.0.1
version: 6.0.1
webpack-subresource-integrity:
specifier: 5.1.0
- version: 5.1.0(webpack@5.106.2(esbuild@0.28.0))
+ version: 5.1.0(webpack@5.107.2(esbuild@0.28.0)(postcss@8.5.15))
devDependencies:
'@angular/ssr':
specifier: workspace:*
@@ -729,11 +729,11 @@ importers:
specifier: 3.0.4
version: 3.0.4(bufferutil@4.1.0)(utf-8-validate@6.0.6)
ng-packagr:
- specifier: 22.0.0-next.3
- version: 22.0.0-next.3(@angular/compiler-cli@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(typescript@6.0.2))(tslib@2.8.1)(typescript@6.0.2)
+ specifier: 22.0.0-rc.0
+ version: 22.0.0-rc.0(@angular/compiler-cli@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(typescript@6.0.3))(tslib@2.8.1)(typescript@6.0.3)
undici:
- specifier: 8.1.0
- version: 8.1.0
+ specifier: 8.3.0
+ version: 8.3.0
optionalDependencies:
esbuild:
specifier: 0.28.0
@@ -755,20 +755,20 @@ importers:
specifier: workspace:0.0.0-PLACEHOLDER
version: link:../../ngtools/webpack
webpack:
- specifier: 5.106.2
- version: 5.106.2(esbuild@0.28.0)
+ specifier: 5.107.2
+ version: 5.107.2(esbuild@0.28.0)
webpack-dev-server:
- specifier: 5.2.3
- version: 5.2.3(bufferutil@4.1.0)(tslib@2.8.1)(utf-8-validate@6.0.6)(webpack@5.106.2(esbuild@0.28.0))
+ specifier: 5.2.4
+ version: 5.2.4(bufferutil@4.1.0)(tslib@2.8.1)(utf-8-validate@6.0.6)(webpack@5.107.2(esbuild@0.28.0))
packages/angular_devkit/core:
dependencies:
ajv:
- specifier: 8.18.0
- version: 8.18.0
+ specifier: 8.20.0
+ version: 8.20.0
ajv-formats:
specifier: 3.0.1
- version: 3.0.1(ajv@8.18.0)
+ version: 3.0.1(ajv@8.20.0)
jsonc-parser:
specifier: 3.3.1
version: 3.3.1
@@ -798,8 +798,8 @@ importers:
specifier: 0.30.21
version: 0.30.21
ora:
- specifier: 9.3.0
- version: 9.3.0
+ specifier: 9.4.0
+ version: 9.4.0
rxjs:
specifier: 7.8.2
version: 7.8.2
@@ -813,8 +813,8 @@ importers:
specifier: workspace:0.0.0-PLACEHOLDER
version: link:../schematics
'@inquirer/prompts':
- specifier: 8.4.2
- version: 8.4.2(@types/node@24.12.2)
+ specifier: 8.5.0
+ version: 8.5.0(@types/node@24.12.4)
packages/ngtools/webpack:
devDependencies:
@@ -822,17 +822,17 @@ importers:
specifier: workspace:0.0.0-PLACEHOLDER
version: link:../../angular_devkit/core
'@angular/compiler':
- specifier: 22.0.0-next.10
- version: 22.0.0-next.10
+ specifier: 22.0.0-rc.2
+ version: 22.0.0-rc.2
'@angular/compiler-cli':
- specifier: 22.0.0-next.10
- version: 22.0.0-next.10(@angular/compiler@22.0.0-next.10)(typescript@6.0.2)
+ specifier: 22.0.0-rc.2
+ version: 22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(typescript@6.0.3)
typescript:
- specifier: 6.0.2
- version: 6.0.2
+ specifier: 6.0.3
+ version: 6.0.3
webpack:
- specifier: 5.106.2
- version: 5.106.2(esbuild@0.28.0)
+ specifier: 5.107.2
+ version: 5.107.2(esbuild@0.28.0)
packages/schematics/angular:
dependencies:
@@ -858,8 +858,8 @@ importers:
specifier: 3.1.4
version: 3.1.4
tar-stream:
- specifier: 3.1.8
- version: 3.1.8
+ specifier: 3.2.0
+ version: 3.2.0
packages:
@@ -875,107 +875,107 @@ packages:
'@actions/io@3.0.2':
resolution: {integrity: sha512-nRBchcMM+QK1pdjO7/idu86rbJI5YHUKCvKs0KxnSYbVe3F51UfGxuZX4Qy/fWlp6l7gWFwIkrOzN+oUK03kfw==}
- '@algolia/abtesting@1.16.2':
- resolution: {integrity: sha512-n9s6bEV6imdtIEd+BGP7WkA4pEZ5YTdgQ05JQhHwWawHg3hyjpNwC0TShGz6zWhv+jfLDGA/6FFNbySFS0P9cw==}
+ '@algolia/abtesting@1.18.1':
+ resolution: {integrity: sha512-aehCadlWOGvrT91KUIZpC0MbB8KBW9yUuvTJFd2xesR7le/IsT4nJUnjCCZ4ZqZCeTcPHPV5mo//fZ5oxcSVYw==}
engines: {node: '>= 14.0.0'}
- '@algolia/client-abtesting@5.50.2':
- resolution: {integrity: sha512-52iq0vHy1sphgnwoZyx5PmbEt8hsh+m7jD123LmBs6qy4GK7LbYZIeKd+nSnSipN2zvKRZ2zScS6h9PW3J7SXg==}
+ '@algolia/client-abtesting@5.52.1':
+ resolution: {integrity: sha512-HmXOGBOAOJPounpBzBpuY0zDYeiCpxgHnQmuA7JO6ScukcBdGp3/XM9zJk5pJx/xNGD68mbPGXWpDxGtl6BwDQ==}
engines: {node: '>= 14.0.0'}
- '@algolia/client-analytics@5.50.2':
- resolution: {integrity: sha512-WpPIUg+cSG2aPUG0gS8Ko9DwRgbRPUZxJkolhL2aCsmSlcEEZT65dILrfg5ovcxtx0Kvr+xtBVsTMtsQWRtPDQ==}
+ '@algolia/client-analytics@5.52.1':
+ resolution: {integrity: sha512-5oo4+I8iixie9vXhCyNFCzeIr8pqA3FQ//VsLHTDvZAV4ttYOPGvYHGQq5NSalrLx5Jc3dRro/5uDOlnUMcBJg==}
engines: {node: '>= 14.0.0'}
- '@algolia/client-common@5.50.2':
- resolution: {integrity: sha512-Gj2MgtArGcsr82kIqRlo6/dCAFjrs2gLByEqyRENuT7ugrSMFuqg1vDzeBjRL1t3EJEJCFtT0PLX3gB8A6Hq4Q==}
+ '@algolia/client-common@5.52.1':
+ resolution: {integrity: sha512-qCDoZfx5MpX7XQzvQ3bC4tSEMkQWQMaF/ABtLuoze03Y/flR563CCSws02qIJ23oX7lxl92LsilZjINVyTdtLw==}
engines: {node: '>= 14.0.0'}
- '@algolia/client-insights@5.50.2':
- resolution: {integrity: sha512-CUqoid5jDpmrc0oK3/xuZXFt6kwT0P9Lw7/nsM14YTr6puvmi+OUKmURpmebQF22S2vCG8L1DAoXXujxQUi/ug==}
+ '@algolia/client-insights@5.52.1':
+ resolution: {integrity: sha512-hnGs0/lsFJ2PWDxNBz7pxreXo/Xz7gxYRcfePBUjsH26ad0kU/sgnVZd9LwWBpsQv65z2jlb5dkyaB9WE9M9FQ==}
engines: {node: '>= 14.0.0'}
- '@algolia/client-personalization@5.50.2':
- resolution: {integrity: sha512-AndZWFoc0gbP5901OeQJ73BazgGgSGiBEba4ohdoJuZwHTO2Gio8Q4L1VLmytMBYcviVigB0iICToMvEJxI4ug==}
+ '@algolia/client-personalization@5.52.1':
+ resolution: {integrity: sha512-2VxxNc/uBysyKvGeBdSM5n9eIDKH8kWD7wd9/yqbJAiVwU4Yv6tU1LSJusHKrXV/aCu1KW7t9Gug9QyeEmtn/Q==}
engines: {node: '>= 14.0.0'}
- '@algolia/client-query-suggestions@5.50.2':
- resolution: {integrity: sha512-NWoL+psEkz5dIzweaByVXuEB45wS8/rk0E0AhMMnaVJdVs7TcACPH2/OURm+N0xRDITkTHqCna823rd6Uqntdg==}
+ '@algolia/client-query-suggestions@5.52.1':
+ resolution: {integrity: sha512-O6mPtsw3xEfNOe6gWFpYLeAZAIljNa4Hgna3bq15PwyN7nbjTY0wXJFRbzs/0YVf75Br+SbOQUmjKxXYjDiSiQ==}
engines: {node: '>= 14.0.0'}
- '@algolia/client-search@5.50.2':
- resolution: {integrity: sha512-ypSboUJ3XJoQz5DeDo82hCnrRuwq3q9ZdFhVKAik9TnZh1DvLqoQsrbBjXg7C7zQOtV/Qbge/HmyoV6V5L7MhQ==}
+ '@algolia/client-search@5.52.1':
+ resolution: {integrity: sha512-gA8oJOV1LnQQkDf91iebNnFInHuW0gRPEgLSOQ7EfipCEjYTHm5swm1DlH9H5RaRw4RrHuzHBegnlzc0MAstcg==}
engines: {node: '>= 14.0.0'}
- '@algolia/ingestion@1.50.2':
- resolution: {integrity: sha512-VlR2FRXLw2bCB94SQo6zxg/Qi+547aOji6Pb+dKE7h1DMCCY317St+OpjpmgzE+bT2O9ALIc0V4nVIBOd7Gy+Q==}
+ '@algolia/ingestion@1.52.1':
+ resolution: {integrity: sha512-U9zZfc5xIu9wRxZkt+HceJUAD4VKHKbAyLSloJdEyMRmphXeibfrY9cxqIXBcmPeZzGhn3Imb35Dq8l19PkJhw==}
engines: {node: '>= 14.0.0'}
- '@algolia/monitoring@1.50.2':
- resolution: {integrity: sha512-Cmvfp2+qopzQt8OilU97rhLhosq7ZrB6uieok3EwFUqG/aalPg6DgfCmu0yJMrYe+KMC1qRVt1MTRAUwLknUMQ==}
+ '@algolia/monitoring@1.52.1':
+ resolution: {integrity: sha512-a3SGNceHmkQfq77iG8Ka+w1pvwfZa/0lzEIgse30fL0kD+yKnd/dg0dQvSfFPAEt2f21DMcGkDSSeJlO3KdQjQ==}
engines: {node: '>= 14.0.0'}
- '@algolia/recommend@5.50.2':
- resolution: {integrity: sha512-jrkuyKoOM7dFWQ/6Y4hQAse2SC3L/RldG6GnPjMvAj65h+7Ubb51S0pKk4ofSStF0xm4LCNe0C4T6XX4nOFDiQ==}
+ '@algolia/recommend@5.52.1':
+ resolution: {integrity: sha512-z98QEguCFDpxb4S/PyrUK1igqF8tPsdbqOUUO6ON91vJ58w+Gwa6ncrI0oNXSFcrkxA5EqPKPQ2A1PBCn08TYQ==}
engines: {node: '>= 14.0.0'}
- '@algolia/requester-browser-xhr@5.50.2':
- resolution: {integrity: sha512-4107YLJqCudPiBUlwnk6oTSUVwU7ab+qL1SfQGEDYI8DZH5gsf1ekPt9JykXRKYXf2IfouFL5GiCY/PHTFIjYw==}
+ '@algolia/requester-browser-xhr@5.52.1':
+ resolution: {integrity: sha512-CI7+/0I11QeZM59Uc8whd2or0kqzFVjpaPn9Qpwll/krHcBAxk24WkAQ6WX+IwDVMfpont4YGbKwAmCre3vE8Q==}
engines: {node: '>= 14.0.0'}
- '@algolia/requester-fetch@5.50.2':
- resolution: {integrity: sha512-vOrd3MQpLgmf6wXAueTuZ/cA0W4uRwIHHaxNy3h+a6YcNn6bCV/gFdZuv3F13v593zRU2k5R75NmvRWLenvMrw==}
+ '@algolia/requester-fetch@5.52.1':
+ resolution: {integrity: sha512-S6bDuw9byfOvm3T71cgdoZgrgnZq6hpdMLkx52Louh57nUAmvGQESz2aojOynQHjbTiV55smvAFbgn0qT4tJrg==}
engines: {node: '>= 14.0.0'}
- '@algolia/requester-node-http@5.50.2':
- resolution: {integrity: sha512-Mu9BFtgzGqDUy5Bcs2nMyoILIFSN13GKQaklKAFIsd0K3/9CpNyfeBc+/+Qs6mFZLlxG9qzullO7h+bjcTBuGQ==}
+ '@algolia/requester-node-http@5.52.1':
+ resolution: {integrity: sha512-tqZXM+54rWo4mk5jL5Z/flE11nPmNEdXwFBM5py9DkOmbjeCNemfVd45FyM97XdzfZ0dl9uOJC6PYn1FpkeyQg==}
engines: {node: '>= 14.0.0'}
'@ampproject/remapping@2.3.0':
resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
engines: {node: '>=6.0.0'}
- '@angular/animations@22.0.0-next.10':
- resolution: {integrity: sha512-o4YxddwSuqW/l+Mot35Se/k3H/7tarFDjppHaf7IEPmZVqRz2+6/LLfmv51RuSZmtt5L+0FIFmazFmS+3+wRNw==}
- engines: {node: ^22.22.0 || >=24.13.1}
+ '@angular/animations@22.0.0-rc.2':
+ resolution: {integrity: sha512-52HYIiFcAfp9G3+X/EfMNTtklZg63F0OXvZoiVxPLITAIFZ9DTPHsgSWedJ0uylH4r+SmApInIdpXpkqVBqsoA==}
+ engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0}
peerDependencies:
- '@angular/core': 22.0.0-next.10
+ '@angular/core': 22.0.0-rc.2
- '@angular/cdk@22.0.0-next.7':
- resolution: {integrity: sha512-dAJexPGuFn6LwHNRJU2UVNcv0pL8VZzGdcaTs77dPKAR0W8V42/EhFR02SvondsYMA7kpfLLBjVdH5ckwsTCkA==}
+ '@angular/cdk@22.0.0-rc.2':
+ resolution: {integrity: sha512-KiQInxX5WrPgsNjqqaD3/voRXNNsp0cuvH8VZerIeRUrOxsuqsyU8bUk6q6GWobL4LDj7afiqjDTEdwnq9KVww==}
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
rxjs: ^6.5.3 || ^7.4.0
- '@angular/common@22.0.0-next.10':
- resolution: {integrity: sha512-AqcFvnjCMjwS9wNxCWMTy+tQH1Kr6HTHgyqBgDWP01Y4NDLicJSGtU99fZ7KXsalHyZyXmYqqZqvmyeCIzweqw==}
- engines: {node: ^22.22.0 || >=24.13.1}
+ '@angular/common@22.0.0-rc.2':
+ resolution: {integrity: sha512-RRLQPS19whiCATcKZPegAxgncwKDezwKqr5Jsgdv5jD44VqzsCB7FsUWZk9sUsdF3NmzK0FUjlvqAn8PnzYzlg==}
+ engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0}
peerDependencies:
- '@angular/core': 22.0.0-next.10
+ '@angular/core': 22.0.0-rc.2
rxjs: ^6.5.3 || ^7.4.0
- '@angular/compiler-cli@22.0.0-next.10':
- resolution: {integrity: sha512-kCV2elmGIVu+k0UydnWnGgiNEvmCe6diyXntz7Hw3Ynuap62/ZiiLcHZVJRGhuei7TIUu6qoNAKHj7jm8pQ2xw==}
- engines: {node: ^22.22.0 || >=24.13.1}
+ '@angular/compiler-cli@22.0.0-rc.2':
+ resolution: {integrity: sha512-GeFujbuSgUsCGjshs2BQN+C85vNVkaFkpWDhRqGHmtSZlDis4/C8aQTw08mpDMx+0N4hvJiiF3zvzs4fjn3AqQ==}
+ engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0}
hasBin: true
peerDependencies:
- '@angular/compiler': 22.0.0-next.10
+ '@angular/compiler': 22.0.0-rc.2
typescript: '>=6.0 <6.1'
peerDependenciesMeta:
typescript:
optional: true
- '@angular/compiler@22.0.0-next.10':
- resolution: {integrity: sha512-EQKOrWGiZjZ5Jd4cV9wGxvqcS/8dfXIpo4hsvDQLvNGHQL3uVZqlCH+M6+iEahEYXO/u7QLcilDtOJ1jfwqbyQ==}
- engines: {node: ^22.22.0 || >=24.13.1}
+ '@angular/compiler@22.0.0-rc.2':
+ resolution: {integrity: sha512-URPbTubtOPtx5nSUbb5gG2JNeJabLglsxa4iyBENdTLwI2OTmRmxSBlU5mF9xwevOYsJpbr7pWnSpwttT+Jovg==}
+ engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0}
- '@angular/core@22.0.0-next.10':
- resolution: {integrity: sha512-L/uE6f8U+2aqzgNTq1OQbquV090kpR/lyOsnmtP4cZSUTPPG0fnIyA2ct3ycifw4xxpxEwhOv2VYQ4EYRyWb5w==}
- engines: {node: ^22.22.0 || >=24.13.1}
+ '@angular/core@22.0.0-rc.2':
+ resolution: {integrity: sha512-6d97Dgh3G6/ZwwEzY6hkl8VsAodRrOvmOtqOnbGBMEG0eCo0uQDcu8oMKm+DdaSmy2+PEXSmdkIARj5Ux1SNFg==}
+ engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0}
peerDependencies:
- '@angular/compiler': 22.0.0-next.10
+ '@angular/compiler': 22.0.0-rc.2
rxjs: ^6.5.3 || ^7.4.0
zone.js: ~0.15.0 || ~0.16.0
peerDependenciesMeta:
@@ -984,74 +984,74 @@ packages:
zone.js:
optional: true
- '@angular/forms@22.0.0-next.10':
- resolution: {integrity: sha512-3RMIm2LmJwBSzQMIpv90ZAZfkkObW0Yq1GrpyJKv1U8lIQWcNnib1e9RIFVVMhTDk5+MRzpPH8Z5lAeo8yLAeg==}
- engines: {node: ^22.22.0 || >=24.13.1}
+ '@angular/forms@22.0.0-rc.2':
+ resolution: {integrity: sha512-eOHVPpmjcoCbIdIonhjH2JH6vv8oFyxTlO4Enf2pAdzjYzFTCfrR+w6zBG8El4SF0G7OVSaJfsqjpNipBqqfag==}
+ engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0}
peerDependencies:
- '@angular/common': 22.0.0-next.10
- '@angular/core': 22.0.0-next.10
- '@angular/platform-browser': 22.0.0-next.10
+ '@angular/common': 22.0.0-rc.2
+ '@angular/core': 22.0.0-rc.2
+ '@angular/platform-browser': 22.0.0-rc.2
rxjs: ^6.5.3 || ^7.4.0
- '@angular/localize@22.0.0-next.10':
- resolution: {integrity: sha512-AuNQIl1OI1Lgje4KflwIlV7wEFQPE9WyNA8SgCR4Eief9N3TO4couzlfxUp72lq7eB13mCclScixiTZ+ys4aTA==}
- engines: {node: ^22.22.0 || >=24.13.1}
+ '@angular/localize@22.0.0-rc.2':
+ resolution: {integrity: sha512-fgDjnPyAb/kkU3CTt6I+tTBIQj52w0Pm1KppOCT/WhYy7lPsj3dziRqSgKgoBtDgnYjXJIje6TbOo2ajqHeuIg==}
+ engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0}
hasBin: true
peerDependencies:
- '@angular/compiler': 22.0.0-next.10
- '@angular/compiler-cli': 22.0.0-next.10
+ '@angular/compiler': 22.0.0-rc.2
+ '@angular/compiler-cli': 22.0.0-rc.2
- '@angular/material@22.0.0-next.7':
- resolution: {integrity: sha512-yRmvcm7qrR43GTG33czQ988bCnvspZBadOpA8uci1UHsLF76T/v6U1BNVeM8bZYUofURtvLjyGDlggJmGYqRtg==}
+ '@angular/material@22.0.0-rc.2':
+ resolution: {integrity: sha512-pHs8iMDjyX9o07B2qQqsQ1/n7WgonV2RVVJjxp4c9cralKDufizCpQSCgrkq9fnGu4Ijv7f8ShqHVXLGITMAPg==}
peerDependencies:
- '@angular/cdk': 22.0.0-next.7
+ '@angular/cdk': 22.0.0-rc.2
'@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
rxjs: ^6.5.3 || ^7.4.0
- '@angular/ng-dev@https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/4de8a14a1682d0f07e0b14a3b26498757c195904':
- resolution: {tarball: https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/4de8a14a1682d0f07e0b14a3b26498757c195904}
- version: 0.0.0-e391d56ec4a9d89b4006515b0679350f1394d19a
+ '@angular/ng-dev@https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/a450a2420ca888116e6d4207b38819cd27b06179':
+ resolution: {gitHosted: true, integrity: sha512-yKQqLu4g+2WiIoXV4M7F0x94929zZESjhTj0kTrincYgJ6GrAzfzdeayD5D2ZVg6xUg6ubPEMDDVUwEMeB93Mw==, tarball: https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/a450a2420ca888116e6d4207b38819cd27b06179}
+ version: 0.0.0-9ee8a680dd018d61d21588bb04cf40d49a9f5deb
hasBin: true
- '@angular/platform-browser@22.0.0-next.10':
- resolution: {integrity: sha512-Gs4vo/2Mof1T4LCJUJuaPaQV18p0KpkrhWJ0gEVT6MFX/wjM1uuHvP25tPKYQysNzb2iaUTVcS8QwuX0HGPoJQ==}
- engines: {node: ^22.22.0 || >=24.13.1}
+ '@angular/platform-browser@22.0.0-rc.2':
+ resolution: {integrity: sha512-Y6wrhH7n+b8Jjpfi8KhJlrZZ/o6mPY6VymNtNoB07K5EAPe2omqi7F+gJdoNwgJ2czDgB/L1oLzHwoXSjWheuw==}
+ engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0}
peerDependencies:
- '@angular/animations': 22.0.0-next.10
- '@angular/common': 22.0.0-next.10
- '@angular/core': 22.0.0-next.10
+ '@angular/animations': 22.0.0-rc.2
+ '@angular/common': 22.0.0-rc.2
+ '@angular/core': 22.0.0-rc.2
peerDependenciesMeta:
'@angular/animations':
optional: true
- '@angular/platform-server@22.0.0-next.10':
- resolution: {integrity: sha512-KTtW83mQfmwlyzUhf3oS+M7WzrYYB+0apkmEAw+7HuvsGbAcAFO9ltzhykPwfslwwEV6mqbkGJRFxtkpqMQGqA==}
- engines: {node: ^22.22.0 || >=24.13.1}
+ '@angular/platform-server@22.0.0-rc.2':
+ resolution: {integrity: sha512-FOor4Q5dPq8y1x/BuR1D5e/dOvz2NgLzZNwkOAfa0DoKOaj96Ia0dJJ3r0ccpDt5REebUC99GLz8bIKJ046JBg==}
+ engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0}
peerDependencies:
- '@angular/common': 22.0.0-next.10
- '@angular/compiler': 22.0.0-next.10
- '@angular/core': 22.0.0-next.10
- '@angular/platform-browser': 22.0.0-next.10
+ '@angular/common': 22.0.0-rc.2
+ '@angular/compiler': 22.0.0-rc.2
+ '@angular/core': 22.0.0-rc.2
+ '@angular/platform-browser': 22.0.0-rc.2
rxjs: ^6.5.3 || ^7.4.0
- '@angular/router@22.0.0-next.10':
- resolution: {integrity: sha512-IV28yTF+HM4SBGJGaHEwdDNr3ASLfjQhBuKSKoUy4Yf5vg87qZzbZnXIFo1jQWmbAu7lnFMMTfuLqnwHl07dAQ==}
- engines: {node: ^22.22.0 || >=24.13.1}
+ '@angular/router@22.0.0-rc.2':
+ resolution: {integrity: sha512-vdMST+ZUOYjKcEnYIalx8QnVbICriBFp8j9e50mm1DM5kA2Ewdx3oiHanP0yI2826uNjwoVn5nwxDfRCPciJsQ==}
+ engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0}
peerDependencies:
- '@angular/common': 22.0.0-next.10
- '@angular/core': 22.0.0-next.10
- '@angular/platform-browser': 22.0.0-next.10
+ '@angular/common': 22.0.0-rc.2
+ '@angular/core': 22.0.0-rc.2
+ '@angular/platform-browser': 22.0.0-rc.2
rxjs: ^6.5.3 || ^7.4.0
- '@angular/service-worker@22.0.0-next.10':
- resolution: {integrity: sha512-E72wxCjc/Oha0t0paXIjDUqfuak8ZMglmx7pCmZC50/84Nu1BkZ/d542nAAyVDVfiQl4wZWTBpD2DoHc7KWe+g==}
- engines: {node: ^22.22.0 || >=24.13.1}
+ '@angular/service-worker@22.0.0-rc.2':
+ resolution: {integrity: sha512-0FGrFYrMoWC3lhLwELxYN146OLAYD7azkVqa0fWOM7IeYbOvbVgRpxvFu6Ba2LRcwbk5Gs12lXR3M4ZNlC8X/A==}
+ engines: {node: ^22.22.3 || ^24.15.0 || >=26.0.0}
hasBin: true
peerDependencies:
- '@angular/core': 22.0.0-next.10
+ '@angular/core': 22.0.0-rc.2
rxjs: ^6.5.3 || ^7.4.0
'@asamuzakjp/css-color@5.1.11':
@@ -1069,38 +1069,42 @@ packages:
'@asamuzakjp/nwsapi@2.3.9':
resolution: {integrity: sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==}
- '@babel/code-frame@7.29.0':
- resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==}
+ '@babel/code-frame@7.29.7':
+ resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==}
engines: {node: '>=6.9.0'}
- '@babel/compat-data@7.29.0':
- resolution: {integrity: sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==}
+ '@babel/compat-data@7.29.7':
+ resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==}
engines: {node: '>=6.9.0'}
'@babel/core@7.29.0':
resolution: {integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==}
engines: {node: '>=6.9.0'}
- '@babel/generator@7.29.1':
- resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==}
+ '@babel/core@7.29.7':
+ resolution: {integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/generator@7.29.7':
+ resolution: {integrity: sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==}
engines: {node: '>=6.9.0'}
- '@babel/helper-annotate-as-pure@7.27.3':
- resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==}
+ '@babel/helper-annotate-as-pure@7.29.7':
+ resolution: {integrity: sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw==}
engines: {node: '>=6.9.0'}
- '@babel/helper-compilation-targets@7.28.6':
- resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==}
+ '@babel/helper-compilation-targets@7.29.7':
+ resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==}
engines: {node: '>=6.9.0'}
- '@babel/helper-create-class-features-plugin@7.28.6':
- resolution: {integrity: sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow==}
+ '@babel/helper-create-class-features-plugin@7.29.7':
+ resolution: {integrity: sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
- '@babel/helper-create-regexp-features-plugin@7.28.5':
- resolution: {integrity: sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==}
+ '@babel/helper-create-regexp-features-plugin@7.29.7':
+ resolution: {integrity: sha512-907Uymvqgg1dwUA+7IGwFAOSYzQOuzPXKNJ1yxzwPffzkYFg2q2eHi1fIOs6sXkG9NbIUMunnUlkYsfRFNvomg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
@@ -1110,103 +1114,109 @@ packages:
peerDependencies:
'@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
- '@babel/helper-globals@7.28.0':
- resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==}
+ '@babel/helper-globals@7.29.7':
+ resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==}
engines: {node: '>=6.9.0'}
- '@babel/helper-member-expression-to-functions@7.28.5':
- resolution: {integrity: sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==}
+ '@babel/helper-member-expression-to-functions@7.29.7':
+ resolution: {integrity: sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg==}
engines: {node: '>=6.9.0'}
- '@babel/helper-module-imports@7.28.6':
- resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==}
+ '@babel/helper-module-imports@7.29.7':
+ resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==}
engines: {node: '>=6.9.0'}
- '@babel/helper-module-transforms@7.28.6':
- resolution: {integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==}
+ '@babel/helper-module-transforms@7.29.7':
+ resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
- '@babel/helper-optimise-call-expression@7.27.1':
- resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==}
+ '@babel/helper-optimise-call-expression@7.29.7':
+ resolution: {integrity: sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong==}
engines: {node: '>=6.9.0'}
- '@babel/helper-plugin-utils@7.28.6':
- resolution: {integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==}
+ '@babel/helper-plugin-utils@7.29.7':
+ resolution: {integrity: sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==}
engines: {node: '>=6.9.0'}
- '@babel/helper-remap-async-to-generator@7.27.1':
- resolution: {integrity: sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==}
+ '@babel/helper-remap-async-to-generator@7.29.7':
+ resolution: {integrity: sha512-16AMiW26DbXWBbr3B8wNozKM0ydMLB892vaOaJW/fPJdnT8vJk5sdkQcU/isqUxyCE0cEoa8wZOcbgDuC4b6Og==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
- '@babel/helper-replace-supers@7.28.6':
- resolution: {integrity: sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==}
+ '@babel/helper-replace-supers@7.29.7':
+ resolution: {integrity: sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
- '@babel/helper-skip-transparent-expression-wrappers@7.27.1':
- resolution: {integrity: sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==}
+ '@babel/helper-skip-transparent-expression-wrappers@7.29.7':
+ resolution: {integrity: sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ==}
engines: {node: '>=6.9.0'}
'@babel/helper-split-export-declaration@7.24.7':
resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==}
engines: {node: '>=6.9.0'}
- '@babel/helper-string-parser@7.27.1':
- resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
+ '@babel/helper-string-parser@7.29.7':
+ resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==}
engines: {node: '>=6.9.0'}
- '@babel/helper-validator-identifier@7.28.5':
- resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==}
+ '@babel/helper-validator-identifier@7.29.7':
+ resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==}
engines: {node: '>=6.9.0'}
- '@babel/helper-validator-option@7.27.1':
- resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==}
+ '@babel/helper-validator-option@7.29.7':
+ resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==}
engines: {node: '>=6.9.0'}
- '@babel/helper-wrap-function@7.28.6':
- resolution: {integrity: sha512-z+PwLziMNBeSQJonizz2AGnndLsP2DeGHIxDAn+wdHOGuo4Fo1x1HBPPXeE9TAOPHNNWQKCSlA2VZyYyyibDnQ==}
+ '@babel/helper-wrap-function@7.29.7':
+ resolution: {integrity: sha512-iES0Skag9ERIF68aXadpO6dbXa03mNWK3sEqJaMnLNs/eC3l0lkImdfoy6Y09/SfkpawdAB4RjQ7PVA7TcVGdw==}
engines: {node: '>=6.9.0'}
- '@babel/helpers@7.29.2':
- resolution: {integrity: sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==}
+ '@babel/helpers@7.29.7':
+ resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==}
engines: {node: '>=6.9.0'}
- '@babel/parser@7.29.2':
- resolution: {integrity: sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==}
+ '@babel/parser@7.29.7':
+ resolution: {integrity: sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==}
engines: {node: '>=6.0.0'}
hasBin: true
- '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5':
- resolution: {integrity: sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==}
+ '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.29.7':
+ resolution: {integrity: sha512-j8SrR0zLZrRsC09DlszEx8FpMiwukKffYXMK0d5LmOglO7vGG6sz/BR/20yHqWH+Lnn31JTt2PE3hIWNgM2J6w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.29.7':
+ resolution: {integrity: sha512-r8j8escF+U2FUHo0KOhPUdMzUO+jp9fInva6+ACVAF3Y97Ev+5iNZwiqTghmzNeWwDkOPlYuTcfb1vDaoZKmAQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
- '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1':
- resolution: {integrity: sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==}
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.29.7':
+ resolution: {integrity: sha512-GE1TFSiuFeGsCxmYXZl8HwoPrVlwe4rHPFE8weieGKZqnDORK+Ar3vgWMgW+AOxQ6/2TgLSKx9p6W7O4rC6qgQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
- '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1':
- resolution: {integrity: sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==}
+ '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@7.29.7':
+ resolution: {integrity: sha512-oBNVCvnO5tND+xSopWvV8WNGfpTfgP4Zr/YXXSj8zfmcPktp5Ku/aZlsIowgSD4fjmgHn6sGmB9APVsU5zOdhA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
- '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1':
- resolution: {integrity: sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==}
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.29.7':
+ resolution: {integrity: sha512-QQt9qKHZ2sg/kivaLr7lnQr8HVrQDdBNSfCsTjiDxRuX/K5ORyKq+Bu8Xr0cDE3Dfkv0cw28Ve0EKyKMvulkOw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.13.0
- '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.6':
- resolution: {integrity: sha512-a0aBScVTlNaiUe35UtfxAN7A/tehvvG4/ByO6+46VPKTRSlfnAFsgKy0FUh+qAkQrDTmhDkT+IBOKlOoMUxQ0g==}
+ '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.29.7':
+ resolution: {integrity: sha512-pn6QacGLgvCcwc+syUhKE/qSjV2D1IHDB84RNxWYSt1mW3K/SCtjinZ2p0cETJxAWBjPy3K/1lHwG5BjjPxNlw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
@@ -1217,14 +1227,14 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-syntax-import-assertions@7.28.6':
- resolution: {integrity: sha512-pSJUpFHdx9z5nqTSirOCMtYVP2wFgoWhP0p3g8ONK/4IHhLIBd0B9NYqAvIUAhq+OkhO4VM1tENCt0cjlsNShw==}
+ '@babel/plugin-syntax-import-assertions@7.29.7':
+ resolution: {integrity: sha512-/An1OCBN93thpBAGyfsK2pcf0jvju1SAtKkL2Ny++B5Sy6sqgzXDQH1cZxWbF96Wuk+bn41MDA9bLd4VVAw6rw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-syntax-import-attributes@7.28.6':
- resolution: {integrity: sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==}
+ '@babel/plugin-syntax-import-attributes@7.29.7':
+ resolution: {integrity: sha512-zGYcYfq/WmZ4V+kBIXQon9dSSc8ircGZqw9ZaNhhGj9nZkeBu1jHLBDQqYYi5WA9uawvA2sIMbry2nCFhf5Djg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
@@ -1235,320 +1245,320 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0
- '@babel/plugin-transform-arrow-functions@7.27.1':
- resolution: {integrity: sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==}
+ '@babel/plugin-transform-arrow-functions@7.29.7':
+ resolution: {integrity: sha512-N7zArUXWzAMzm+/N0uPBeVB3Fam5lMxtUwMmDK5f/IBBS7a7p1qeUoxd/6CckXoxUdgsntq1Dh8xNW06maZbDQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-async-generator-functions@7.29.0':
- resolution: {integrity: sha512-va0VdWro4zlBr2JsXC+ofCPB2iG12wPtVGTWFx2WLDOM3nYQZZIGP82qku2eW/JR83sD+k2k+CsNtyEbUqhU6w==}
+ '@babel/plugin-transform-async-generator-functions@7.29.7':
+ resolution: {integrity: sha512-d98gXZkgswvkyohMBABkhm3GeXhYj8psWfwQ2C7gtfrKGTykQa/iOIi+JJhwMjPlZ6Vm2XN+DCf3Es1EoG4ZLA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-async-to-generator@7.28.6':
- resolution: {integrity: sha512-ilTRcmbuXjsMmcZ3HASTe4caH5Tpo93PkTxF9oG2VZsSWsahydmcEHhix9Ik122RcTnZnUzPbmux4wh1swfv7g==}
+ '@babel/plugin-transform-async-to-generator@7.29.7':
+ resolution: {integrity: sha512-pcUb2SS+RMo9TWVBwKGI5ShtoG7R+zBsFmCKDa6fe8c+hPr3XJlZgoE5j6i8W7gDjhyvy+85vmYexanvXh3d1w==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-block-scoped-functions@7.27.1':
- resolution: {integrity: sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==}
+ '@babel/plugin-transform-block-scoped-functions@7.29.7':
+ resolution: {integrity: sha512-cUSmjh72N+rN4PrkFlN1dJwNCwjVp5d38/CQrEsFggkD10UiFlBFgdH3tv5dNsLuHY+3S8db2xCHjhZcv5WgvA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-block-scoping@7.28.6':
- resolution: {integrity: sha512-tt/7wOtBmwHPNMPu7ax4pdPz6shjFrmHDghvNC+FG9Qvj7D6mJcoRQIF5dy4njmxR941l6rgtvfSB2zX3VlUIw==}
+ '@babel/plugin-transform-block-scoping@7.29.7':
+ resolution: {integrity: sha512-ONyr4+AZhKh8yKWInVxU9AXA9EbsyeLcL6V0dJy6M2/62vuvpGm29zzuymbTpdc451GEpDIdAyPLP3r+P61yKQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-class-properties@7.28.6':
- resolution: {integrity: sha512-dY2wS3I2G7D697VHndN91TJr8/AAfXQNt5ynCTI/MpxMsSzHp+52uNivYT5wCPax3whc47DR8Ba7cmlQMg24bw==}
+ '@babel/plugin-transform-class-properties@7.29.7':
+ resolution: {integrity: sha512-GtcpjFvanPfzNQi3eTitsCqtRRmmqzpy/A+yhTR1HaZo1Ly3EA8ZXxlPyHdR8/IuRMYc3E4wdGBewB2QKQjAaA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-class-static-block@7.28.6':
- resolution: {integrity: sha512-rfQ++ghVwTWTqQ7w8qyDxL1XGihjBss4CmTgGRCTAC9RIbhVpyp4fOeZtta0Lbf+dTNIVJer6ych2ibHwkZqsQ==}
+ '@babel/plugin-transform-class-static-block@7.29.7':
+ resolution: {integrity: sha512-kibJgmEdX2iMwsHY2tSZNDgj8PwIlCQz7FK9KuGKO8zsuoUwSEhoNnNVp/emKWrbY4HeO6kkXfdMqRKKKXBm2A==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.12.0
- '@babel/plugin-transform-classes@7.28.6':
- resolution: {integrity: sha512-EF5KONAqC5zAqT783iMGuM2ZtmEBy+mJMOKl2BCvPZ2lVrwvXnB6o+OBWCS+CoeCCpVRF2sA2RBKUxvT8tQT5Q==}
+ '@babel/plugin-transform-classes@7.29.7':
+ resolution: {integrity: sha512-qV0OGGBVacduzQHE649JyCneOFI/maT+YKsO+K4Yi3xv2wTPNjM/W2o2gdzMwEAZz7fXNTHAe0NcSg30bIN69g==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-computed-properties@7.28.6':
- resolution: {integrity: sha512-bcc3k0ijhHbc2lEfpFHgx7eYw9KNXqOerKWfzbxEHUGKnS3sz9C4CNL9OiFN1297bDNfUiSO7DaLzbvHQQQ1BQ==}
+ '@babel/plugin-transform-computed-properties@7.29.7':
+ resolution: {integrity: sha512-RK7/IyU5phpuCdBAuig5VkzG/EnbDaui5SQGdU9BFrHdV+mV4cUjLMQ9lJDjLNtWHsqtiefpGZUXQP2BiTYMsA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-destructuring@7.28.5':
- resolution: {integrity: sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==}
+ '@babel/plugin-transform-destructuring@7.29.7':
+ resolution: {integrity: sha512-iPX8aD6H9zV5s7ZsqTdNocPN/MGQ5sSMnElKrktxjJRMnB2jN/1p2+R7GkfD6CAYoVFqy5A4XnSIUeGgJzIWpg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-dotall-regex@7.28.6':
- resolution: {integrity: sha512-SljjowuNKB7q5Oayv4FoPzeB74g3QgLt8IVJw9ADvWy3QnUb/01aw8I4AVv8wYnPvQz2GDDZ/g3GhcNyDBI4Bg==}
+ '@babel/plugin-transform-dotall-regex@7.29.7':
+ resolution: {integrity: sha512-3qc18hsD2RdZiyJNDNc7HQpv6xbncwh8FYtxNFFzclSyh/trPD9KkVR9BDECUjDLvb7yJVF15GfYUuC+LMkkiQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-duplicate-keys@7.27.1':
- resolution: {integrity: sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==}
+ '@babel/plugin-transform-duplicate-keys@7.29.7':
+ resolution: {integrity: sha512-6IvRRriEMqnBwD6chtxdLpMYCHWEzN+oL5cyQtjykya19UgzbmKhxmhZgKC/LHxS2nYr9Q/qYPZ5Lr6jOL9+yQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.0':
- resolution: {integrity: sha512-zBPcW2lFGxdiD8PUnPwJjag2J9otbcLQzvbiOzDxpYXyCuYX9agOwMPGn1prVH0a4qzhCKu24rlH4c1f7yA8rw==}
+ '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.7':
+ resolution: {integrity: sha512-2wiIyo2BjtgU7HufSeDnL9L2O7zr8jmhFKuSr65VpRkUiRKRNpb0mdlk56+XPPKoIrfHqzbMuglDvZun0RISsA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
- '@babel/plugin-transform-dynamic-import@7.27.1':
- resolution: {integrity: sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==}
+ '@babel/plugin-transform-dynamic-import@7.29.7':
+ resolution: {integrity: sha512-giOlEm/EFjfjr+te9NsdjkUo2v4f8rS/SXPumRVHAtbNcyNlvtREkU1dZzaIDclNpnaVhlCqRdFKhJBjBikzLg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-explicit-resource-management@7.28.6':
- resolution: {integrity: sha512-Iao5Konzx2b6g7EPqTy40UZbcdXE126tTxVFr/nAIj+WItNxjKSYTEw3RC+A2/ZetmdJsgueL1KhaMCQHkLPIg==}
+ '@babel/plugin-transform-explicit-resource-management@7.29.7':
+ resolution: {integrity: sha512-Rstj7coNz8sE+7Ju7ihpHLI564lsK5pUpNNlvptCIC/16E/S5hbl6n3kESPKdNRmqEWlpn5xpS5Q2dvXBsySLw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-exponentiation-operator@7.28.6':
- resolution: {integrity: sha512-WitabqiGjV/vJ0aPOLSFfNY1u9U3R7W36B03r5I2KoNix+a3sOhJ3pKFB3R5It9/UiK78NiO0KE9P21cMhlPkw==}
+ '@babel/plugin-transform-exponentiation-operator@7.29.7':
+ resolution: {integrity: sha512-zFpMOTLZBdW5LfObqcSbL6kefg4R4eLdmvS0wbN9M6D5Mym/sKm9toOoWyVOa+xDjvCnuWcHls2YonXwHvH3CQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-export-namespace-from@7.27.1':
- resolution: {integrity: sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==}
+ '@babel/plugin-transform-export-namespace-from@7.29.7':
+ resolution: {integrity: sha512-24B2nOy2TeJSMheqwPD4DDQOV/elLSIlKxjZt4i05H5AgdPdWR3n18HnNrcJ+j76WJd9gbwb9jPjNYUy6RautA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-for-of@7.27.1':
- resolution: {integrity: sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==}
+ '@babel/plugin-transform-for-of@7.29.7':
+ resolution: {integrity: sha512-zeSIHh0+E1Um1WJRXCFlHQYu2ieJNdivLLjlBEp+dIBu3S51n+SZZmIXjxnItw6pz56Cn+KvK68BIBVsxq2JiQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-function-name@7.27.1':
- resolution: {integrity: sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==}
+ '@babel/plugin-transform-function-name@7.29.7':
+ resolution: {integrity: sha512-otRWaHXE6fbAGkePvaj/kvs3HsqXfPhlnzwSOlnFgbqCPMd975dW+4wZ00WFBt+/YlBGcJwNrARQTOJOb4ZrIg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-json-strings@7.28.6':
- resolution: {integrity: sha512-Nr+hEN+0geQkzhbdgQVPoqr47lZbm+5fCUmO70722xJZd0Mvb59+33QLImGj6F+DkK3xgDi1YVysP8whD6FQAw==}
+ '@babel/plugin-transform-json-strings@7.29.7':
+ resolution: {integrity: sha512-RRnE2+eon1rJAq8MnoF1b5kTpY1vU88twHcvcKMrsqP/jxIRqDVs9iJB5fqPuqyeFAW0wJo4MlUIPpQCq/aRsg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-literals@7.27.1':
- resolution: {integrity: sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==}
+ '@babel/plugin-transform-literals@7.29.7':
+ resolution: {integrity: sha512-DZ/oLP21ZuWx1vKqnoNv6/tvEK48AQOBRai40CX9dTjGluvT/YZCyY3rryDtyUqCEoyNroy5KKPwX2iQCiRvyw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-logical-assignment-operators@7.28.6':
- resolution: {integrity: sha512-+anKKair6gpi8VsM/95kmomGNMD0eLz1NQ8+Pfw5sAwWH9fGYXT50E55ZpV0pHUHWf6IUTWPM+f/7AAff+wr9A==}
+ '@babel/plugin-transform-logical-assignment-operators@7.29.7':
+ resolution: {integrity: sha512-A0H91hh6W8MFRkp5TqJmMr39jzGD1A1E1Ysiv2O06Sfbhkapm+XyIzxWCEh5kqwOZ1/8QZ0dY3SeQ7XBqfJd5Q==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-member-expression-literals@7.27.1':
- resolution: {integrity: sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==}
+ '@babel/plugin-transform-member-expression-literals@7.29.7':
+ resolution: {integrity: sha512-hl1kwFZCCiDyfH25Xmco9jTrkPgnS9pmOzSG7W5I4SaGbLeqKv417hcU2RKmaxoPEgsoJh7ZPOrnPGq99bHoUg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-modules-amd@7.27.1':
- resolution: {integrity: sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==}
+ '@babel/plugin-transform-modules-amd@7.29.7':
+ resolution: {integrity: sha512-fxtQoH3m5ywUSIfaH0FGCzWu4McsYon5bD3K4XnskC7f+OyQMj7rsOMi4NvvmJ83WwBAg4UCe+ov4VZlqEvyew==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-modules-commonjs@7.28.6':
- resolution: {integrity: sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA==}
+ '@babel/plugin-transform-modules-commonjs@7.29.7':
+ resolution: {integrity: sha512-j0vCldybPC5b5dwCQOJ21uKtHzt7hxLygJTg9eF1ScfaikEDNfzn94XoW5Fi+seBR0nCyL23xaBFFkq7dTM8XQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-modules-systemjs@7.29.0':
- resolution: {integrity: sha512-PrujnVFbOdUpw4UHiVwKvKRLMMic8+eC0CuNlxjsyZUiBjhFdPsewdXCkveh2KqBA9/waD0W1b4hXSOBQJezpQ==}
+ '@babel/plugin-transform-modules-systemjs@7.29.7':
+ resolution: {integrity: sha512-TM2ZcQLoG2/y4HODiStCo10DibYhWhGWAwVv+EQKmG/7GFl0N+AAmUiXOMKM+aiJ9XBJ9AHVZBvTzMnJ2sM3cQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-modules-umd@7.27.1':
- resolution: {integrity: sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==}
+ '@babel/plugin-transform-modules-umd@7.29.7':
+ resolution: {integrity: sha512-B4UkaTK3QpgCwJnrxKfMPKdo92CN7OKXAlpAAnM3UPu0Q0lCCk57ylA9AJbRy2v8dDKOPAAWcoR6CMyeoHwRCA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-named-capturing-groups-regex@7.29.0':
- resolution: {integrity: sha512-1CZQA5KNAD6ZYQLPw7oi5ewtDNxH/2vuCh+6SmvgDfhumForvs8a1o9n0UrEoBD8HU4djO2yWngTQlXl1NDVEQ==}
+ '@babel/plugin-transform-named-capturing-groups-regex@7.29.7':
+ resolution: {integrity: sha512-vuFoLwr4qnv2xbZ16SQd6uPcH5FNrLHhk/Jzo++0XJFcaDsr4gjJVg6j398oMHiC+83k/GiBzviwF5KBJkPUtQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
- '@babel/plugin-transform-new-target@7.27.1':
- resolution: {integrity: sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==}
+ '@babel/plugin-transform-new-target@7.29.7':
+ resolution: {integrity: sha512-fEo41GmsOUhOBlw8ioo6zvjX5Xc2Lqkzlyfqbpsk3eB6TReV18uhxZ0esfEokVbY2+PVJAQHNKxER6lGrzNd3A==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-nullish-coalescing-operator@7.28.6':
- resolution: {integrity: sha512-3wKbRgmzYbw24mDJXT7N+ADXw8BC/imU9yo9c9X9NKaLF1fW+e5H1U5QjMUBe4Qo4Ox/o++IyUkl1sVCLgevKg==}
+ '@babel/plugin-transform-nullish-coalescing-operator@7.29.7':
+ resolution: {integrity: sha512-idmp1dFaekP9GbcMvG24Kvw2BfhFZjHnNJCkV4WuIY4PskJzwI3f1N5OdgYke38T7rftO6ERulFRn2cFeZwRkg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-numeric-separator@7.28.6':
- resolution: {integrity: sha512-SJR8hPynj8outz+SlStQSwvziMN4+Bq99it4tMIf5/Caq+3iOc0JtKyse8puvyXkk3eFRIA5ID/XfunGgO5i6w==}
+ '@babel/plugin-transform-numeric-separator@7.29.7':
+ resolution: {integrity: sha512-zR7fv/z14OjgHl4AgRtkDBvBMhIzCxqV/qN/2BCRC7LjFwvuzjYe7gDWxC4Wl/SNsLM6SE1IWvRPYMgSJaUvNw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-object-rest-spread@7.28.6':
- resolution: {integrity: sha512-5rh+JR4JBC4pGkXLAcYdLHZjXudVxWMXbB6u6+E9lRL5TrGVbHt1TjxGbZ8CkmYw9zjkB7jutzOROArsqtncEA==}
+ '@babel/plugin-transform-object-rest-spread@7.29.7':
+ resolution: {integrity: sha512-Ld98jn4c0smUywL57m7SgsHq3OpThOa6LqZJif3G6jYOovPleoFhVrBJ1WegRApSFB2wu4+RelAj9AC9G08Z4A==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-object-super@7.27.1':
- resolution: {integrity: sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==}
+ '@babel/plugin-transform-object-super@7.29.7':
+ resolution: {integrity: sha512-Ea/diGcw0twB5IlZPO5sgET6fJsLJqPABqTuFWIR+iMPGPZJkATEIWx0wa+aEQ5UY1CBQyP/gkAiLEqn1vBiQA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-optional-catch-binding@7.28.6':
- resolution: {integrity: sha512-R8ja/Pyrv0OGAvAXQhSTmWyPJPml+0TMqXlO5w+AsMEiwb2fg3WkOvob7UxFSL3OIttFSGSRFKQsOhJ/X6HQdQ==}
+ '@babel/plugin-transform-optional-catch-binding@7.29.7':
+ resolution: {integrity: sha512-sLsyndxK2VwX6yNUOakMb7Sh553ZTe/vVM1XJ+9Z5aW1ytsc8xOIwmyk05NNjN60vkc5/KqoTH6hB4V41LJhng==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-optional-chaining@7.28.6':
- resolution: {integrity: sha512-A4zobikRGJTsX9uqVFdafzGkqD30t26ck2LmOzAuLL8b2x6k3TIqRiT2xVvA9fNmFeTX484VpsdgmKNA0bS23w==}
+ '@babel/plugin-transform-optional-chaining@7.29.7':
+ resolution: {integrity: sha512-6GM1dhvK3gNODkXcEcMCOLEDCLSoZ/sBbro2Ax8HURyasQ4NshagQixkRFdh5niI6E4gmA/jYI/4aT7rRos3ZQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-parameters@7.27.7':
- resolution: {integrity: sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==}
+ '@babel/plugin-transform-parameters@7.29.7':
+ resolution: {integrity: sha512-ZDOBqV/qLYJI0YElr8DcENEyARsFQeESqWXH6gZlghYXuPPjvweuDhP4VyEi4BlUBlLRFZVjxoZDMjxhLW766g==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-private-methods@7.28.6':
- resolution: {integrity: sha512-piiuapX9CRv7+0st8lmuUlRSmX6mBcVeNQ1b4AYzJxfCMuBfB0vBXDiGSmm03pKJw1v6cZ8KSeM+oUnM6yAExg==}
+ '@babel/plugin-transform-private-methods@7.29.7':
+ resolution: {integrity: sha512-/6Rz4DK1ETDEM/bWHsPHcaEe7ZaT1EqSXjtSP/L0DijOYuaUhiRiOKcwpZ8P7zR4xXEHc2ITdiCgBm9Tpyv9ug==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-private-property-in-object@7.28.6':
- resolution: {integrity: sha512-b97jvNSOb5+ehyQmBpmhOCiUC5oVK4PMnpRvO7+ymFBoqYjeDHIU9jnrNUuwHOiL9RpGDoKBpSViarV+BU+eVA==}
+ '@babel/plugin-transform-private-property-in-object@7.29.7':
+ resolution: {integrity: sha512-+BNo06dnrzdNNqCm1X6YUaVv0DKk8Q+JYcoZfOkLhYWNCXzlwTSRq8zGWayT1csjcpNXV9CQTBRRbmTLZac5cA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-property-literals@7.27.1':
- resolution: {integrity: sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==}
+ '@babel/plugin-transform-property-literals@7.29.7':
+ resolution: {integrity: sha512-bOMRLQuI0A5ZqHq3OWJ89/rXpJ/NJrbVhXiP4zwPGMs6kpcVsuTUNjwoE30K0Qm3mf48a/TnRYYD6vPNqcg6jA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-regenerator@7.29.0':
- resolution: {integrity: sha512-FijqlqMA7DmRdg/aINBSs04y8XNTYw/lr1gJ2WsmBnnaNw1iS43EPkJW+zK7z65auG3AWRFXWj+NcTQwYptUog==}
+ '@babel/plugin-transform-regenerator@7.29.7':
+ resolution: {integrity: sha512-rNNFV0DBAJp988xW2DOntfDoYn1eR8GGF5AT5vYc+rjyfaQkM242c9tZUHHPe7KYaiJizXPWhQTzzdbXySyhBw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-regexp-modifiers@7.28.6':
- resolution: {integrity: sha512-QGWAepm9qxpaIs7UM9FvUSnCGlb8Ua1RhyM4/veAxLwt3gMat/LSGrZixyuj4I6+Kn9iwvqCyPTtbdxanYoWYg==}
+ '@babel/plugin-transform-regexp-modifiers@7.29.7':
+ resolution: {integrity: sha512-mB5Fs0VWrJ42ZCmc8114v60qetdaUVNkj9PmSZRmanCZM3S9hm0CFRLjRmYIsuXav14l2jvZ+4T8iiCGnhj3nQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
- '@babel/plugin-transform-reserved-words@7.27.1':
- resolution: {integrity: sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==}
+ '@babel/plugin-transform-reserved-words@7.29.7':
+ resolution: {integrity: sha512-5+YhdpVgmfSmwZyLMftfaiffLRMHjzIRHFHHLdibcSyJm2pasMrKHrO3Ptrt2DRshjvpgjEJJ1zVW14WPq/6QA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-runtime@7.29.0':
- resolution: {integrity: sha512-jlaRT5dJtMaMCV6fAuLbsQMSwz/QkvaHOHOSXRitGGwSpR1blCY4KUKoyP2tYO8vJcqYe8cEj96cqSztv3uF9w==}
+ '@babel/plugin-transform-runtime@7.29.7':
+ resolution: {integrity: sha512-xmAscdE/AsqRW7vutbPNoUmu/nF5SrLKPs7aoJgEjo35lLKA/Bc0i2rMv/hr1+Y0o1bQCiVtith3u2vdgRL39Q==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-shorthand-properties@7.27.1':
- resolution: {integrity: sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==}
+ '@babel/plugin-transform-shorthand-properties@7.29.7':
+ resolution: {integrity: sha512-I+WYbGBAiCn7nA6xBrlgPH+MB7HWb4u8pv5S0Pv7OtwNvIFvCCb24YlttKEeUFVurfBCEaOTnuhlqsb7f0Z5Dg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-spread@7.28.6':
- resolution: {integrity: sha512-9U4QObUC0FtJl05AsUcodau/RWDytrU6uKgkxu09mLR9HLDAtUMoPuuskm5huQsoktmsYpI+bGmq+iapDcriKA==}
+ '@babel/plugin-transform-spread@7.29.7':
+ resolution: {integrity: sha512-/u5K1QWada7tbYNqTjMh96718g9NTwh9tfPJMsSmVsQwGT447FskV+KcfeXkXq2GWki4EM/MuTdmBec+hOuVTQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-sticky-regex@7.27.1':
- resolution: {integrity: sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==}
+ '@babel/plugin-transform-sticky-regex@7.29.7':
+ resolution: {integrity: sha512-BCHzNYJGe9l7EpwwDBN/ztlL2NYFFq8hp9ddjtUEM9f2O7S7kKV/lL6Fwo7IF7NSkYhPK2vO+86nIGltA90MsA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-template-literals@7.27.1':
- resolution: {integrity: sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==}
+ '@babel/plugin-transform-template-literals@7.29.7':
+ resolution: {integrity: sha512-NCSEJ4sLFU2gqAub45HYh4fus2yQ36rr6ei6vpU7NdoJqCpxvEG8E6eJpscGyXP3VHD2Ny+fSXr04k1hoUrFqA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-typeof-symbol@7.27.1':
- resolution: {integrity: sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==}
+ '@babel/plugin-transform-typeof-symbol@7.29.7':
+ resolution: {integrity: sha512-223mNGoTkBiTEWFoK+Q6Go3tueMRclO8vxxxxquNCYuNI4jWOofFKJRRDu6SDrB8Sgo1UEGW9T4GAQ8ZyRso1A==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-unicode-escapes@7.27.1':
- resolution: {integrity: sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==}
+ '@babel/plugin-transform-unicode-escapes@7.29.7':
+ resolution: {integrity: sha512-jCfXxSjf94lf4E0hKE0AByxF6F3/pVFqRdUUNkDJhsY0m1ZKjnN6ZYyMeHNpzflxb/0q5b7t3p+BE+SLF1WOtA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-unicode-property-regex@7.28.6':
- resolution: {integrity: sha512-4Wlbdl/sIZjzi/8St0evF0gEZrgOswVO6aOzqxh1kDZOl9WmLrHq2HtGhnOJZmHZYKP8WZ1MDLCt5DAWwRo57A==}
+ '@babel/plugin-transform-unicode-property-regex@7.29.7':
+ resolution: {integrity: sha512-OgZ+zoAJgZLUCunsTRQ5LAjOywDv5zzZ2/hQ5aMw1pGXyY2rtE8/chXYUmu3AlVHKpm10KEdG9aMwbI/K76ZGw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-unicode-regex@7.27.1':
- resolution: {integrity: sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==}
+ '@babel/plugin-transform-unicode-regex@7.29.7':
+ resolution: {integrity: sha512-7D/x/23/d/3VqZ0QA+LGbZMlGwZjztBygSWWWsfTPoQ1oQ6Q1P6Mr3d0kk42XabyUVw+fha3LqdRsFqeKqvCyA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-unicode-sets-regex@7.28.6':
- resolution: {integrity: sha512-/wHc/paTUmsDYN7SZkpWxogTOBNnlx7nBQYfy6JJlCT7G3mVhltk3e++N7zV0XfgGsrqBxd4rJQt9H16I21Y1Q==}
+ '@babel/plugin-transform-unicode-sets-regex@7.29.7':
+ resolution: {integrity: sha512-BLOhLht9DOJwIxlmp91wHvkXv1lguuHS3/FwUO8HL1H0u8s4hR1gASVFyilu9iGtcTRYqjTZmlsFFeQletntEg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
- '@babel/preset-env@7.29.2':
- resolution: {integrity: sha512-DYD23veRYGvBFhcTY1iUvJnDNpuqNd/BzBwCvzOTKUnJjKg5kpUBh3/u9585Agdkgj+QuygG7jLfOPWMa2KVNw==}
+ '@babel/preset-env@7.29.7':
+ resolution: {integrity: sha512-GYzX36n1nsciIb0uyH0GHwxwtNwPQIcpxSeiVLDtG/B7jB5xXgchnmL1f/jCX5o+pwnaDBtO60ONSJhEBJfxYA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
@@ -1558,20 +1568,20 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0
- '@babel/runtime@7.29.2':
- resolution: {integrity: sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==}
+ '@babel/runtime@7.29.7':
+ resolution: {integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==}
engines: {node: '>=6.9.0'}
- '@babel/template@7.28.6':
- resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==}
+ '@babel/template@7.29.7':
+ resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==}
engines: {node: '>=6.9.0'}
- '@babel/traverse@7.29.0':
- resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==}
+ '@babel/traverse@7.29.7':
+ resolution: {integrity: sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==}
engines: {node: '>=6.9.0'}
- '@babel/types@7.29.0':
- resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==}
+ '@babel/types@7.29.7':
+ resolution: {integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==}
engines: {node: '>=6.9.0'}
'@bazel/bazelisk@1.28.1':
@@ -1614,15 +1624,15 @@ packages:
resolution: {integrity: sha512-LMGQLS9EuADloEFkcTBR3BwV/CGHV7zyDxVRtVDTwdI2Ca4it0CCVTT9wCkxSgokjE5Ho41hEPgb8OEUwoXr6Q==}
engines: {node: '>=20.19.0'}
- '@csstools/css-calc@3.2.0':
- resolution: {integrity: sha512-bR9e6o2BDB12jzN/gIbjHa5wLJ4UjD1CB9pM7ehlc0ddk6EBz+yYS1EV2MF55/HUxrHcB/hehAyt5vhsA3hx7w==}
+ '@csstools/css-calc@3.2.1':
+ resolution: {integrity: sha512-DtdHlgXh5ZkA43cwBcAm+huzgJiwx3ZTWVjBs94kwz2xKqSimDA3lBgCjphYgwgVUMWatSM0pDd8TILB1yrVVg==}
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.0':
- resolution: {integrity: sha512-U0KhLYmy2GVj6q4T3WaAe6NPuFYCPQoE3b0dRGxejWDgcPp8TP7S5rVdM5ZrFaqu4N67X8YaPBw14dQSYx3IyQ==}
+ '@csstools/css-color-parser@4.1.1':
+ resolution: {integrity: sha512-eZ5XOtyhK+mggRafYUWzA0tvaYOFgdY8AkgQiCJF9qNAePnUo/zmsqqYubBBb3sQ8uNUaSKTY9s9klfRaAXL0g==}
engines: {node: '>=20.19.0'}
peerDependencies:
'@csstools/css-parser-algorithms': ^4.0.0
@@ -1634,8 +1644,8 @@ packages:
peerDependencies:
'@csstools/css-tokenizer': ^4.0.0
- '@csstools/css-syntax-patches-for-csstree@1.1.3':
- resolution: {integrity: sha512-SH60bMfrRCJF3morcdk57WklujF4Jr/EsQUzqkarfHXEFcAR1gg7fS/chAE922Sehgzc1/+Tz5H3Ypa1HiEKrg==}
+ '@csstools/css-syntax-patches-for-csstree@1.1.4':
+ resolution: {integrity: sha512-wgsqt92b7C7tQhIdPNxj0n9zuUbQlvAuI1exyzeNrOKOi62SD7ren8zqszmpVREjAOqg8cD2FqYhQfAuKjk4sw==}
peerDependencies:
css-tree: ^3.2.1
peerDependenciesMeta:
@@ -1650,15 +1660,15 @@ packages:
resolution: {integrity: sha512-hauBrOdvu08vOsagkZ/Aju5XuiZx6ldsLfByg1htFeldhex+PeMrYauANzFsMJeAA0+dyPLbDoX2OYuvVoLDkQ==}
engines: {node: '>= 6'}
- '@discoveryjs/json-ext@1.0.0':
- resolution: {integrity: sha512-dDlz3W405VMFO4w5kIP9DOmELBcvFQGmLoKSdIRstBDubKFYwaNHV1NnlzMCQpXQFGWVALmeMORAuiLx18AvZQ==}
+ '@discoveryjs/json-ext@1.1.0':
+ resolution: {integrity: sha512-Xc3VhU02wqZ1HvHRJUwL09HkZSTvidqY5Ya0NXBSYOxAp+Ln9dcJr9fySI+CkONzP3PekQo9WdzCv0PGER/mOA==}
engines: {node: '>=14.17.0'}
- '@emnapi/core@1.9.2':
- resolution: {integrity: sha512-UC+ZhH3XtczQYfOlu3lNEkdW/p4dsJ1r/bP7H8+rhao3TTTMO1ATq/4DdIi23XuGoFY+Cz0JmCbdVl0hz9jZcA==}
+ '@emnapi/core@1.10.0':
+ resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==}
- '@emnapi/runtime@1.9.2':
- resolution: {integrity: sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw==}
+ '@emnapi/runtime@1.10.0':
+ resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==}
'@emnapi/wasi-threads@1.2.1':
resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==}
@@ -1985,8 +1995,8 @@ packages:
resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
- '@eslint/compat@2.0.5':
- resolution: {integrity: sha512-IbHDbHJfkVNv6xjlET8AIVo/K1NQt7YT4Rp6ok/clyBGcpRx1l6gv0Rq3vBvYfPJIZt6ODf66Zq08FJNDpnzgg==}
+ '@eslint/compat@2.1.0':
+ resolution: {integrity: sha512-LgaSCymEpw7tF53xvDw9SNsraPb1IBHxpdABIOM0hW8UAlP8znrjYtuxfR58FSJ3L9BhwD+FaPRFQpZq84Nh6g==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24}
peerDependencies:
eslint: ^8.40 || 9 || 10
@@ -1998,8 +2008,8 @@ packages:
resolution: {integrity: sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24}
- '@eslint/config-helpers@0.5.5':
- resolution: {integrity: sha512-eIJYKTCECbP/nsKaaruF6LW967mtbQbsw4JTtSVkUQc9MneSkbrgPJAbKl9nWr0ZeowV8BfsarBmPpBzGelA2w==}
+ '@eslint/config-helpers@0.6.0':
+ resolution: {integrity: sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24}
'@eslint/core@1.2.1':
@@ -2027,8 +2037,8 @@ packages:
resolution: {integrity: sha512-rZAP3aVgB9ds9KOeUSL+zZ21hPmo8dh6fnIFwRQj5EAZl9gzR7wxYbYXYysAM8CTqGmUGyp2S4kUdV17MnGuWQ==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24}
- '@exodus/bytes@1.15.0':
- resolution: {integrity: sha512-UY0nlA+feH81UGSHv92sLEPLCeZFjXOuHhrIo0HQydScuQc8s0A7kL/UdgwgDq8g8ilksmuoF35YVTNphV2aBQ==}
+ '@exodus/bytes@1.15.1':
+ resolution: {integrity: sha512-S6mL0yNB/Abt9Ei4tq8gDhcczc4S3+vQ4ra7vxnAf+YHC02srtqxKKZghx2Dq6p0e66THKwR6r8N6P95wEty7Q==}
engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
peerDependencies:
'@noble/hashes': ^1.8.0 || ^2.0.0
@@ -2036,72 +2046,72 @@ packages:
'@noble/hashes':
optional: true
- '@firebase/ai@2.11.1':
- resolution: {integrity: sha512-WGTF81W3WBKJY+c7xqTzO15OGAkCAs8cpADqflAI0skhTZjIkhF0qyf55rq4Ctt6jKygkv99rPfMrjAHTgXaVQ==}
+ '@firebase/ai@2.12.0':
+ resolution: {integrity: sha512-b+OL4vdyiSLZL/7dLd67V55CjKJvU9MpNmwnday7eA6GG2+J4iwUEsEHgw0/jKY3A41FfkF0SrnYFvtKbQZ65A==}
engines: {node: '>=20.0.0'}
peerDependencies:
'@firebase/app': 0.x
'@firebase/app-types': 0.x
- '@firebase/analytics-compat@0.2.27':
- resolution: {integrity: sha512-ZObpYpAxL6JfgH7GnvlDD0sbzGZ0o4nijV8skatV9ZX49hJtCYbFqaEcPYptT94rgX1KUoKEderC7/fa7hybtw==}
+ '@firebase/analytics-compat@0.2.28':
+ resolution: {integrity: sha512-lIAlqUUbBu93FJMlQfslryQtBwwzdzvp23ePC6FNgymXk6Ook5v4Uvc0vdutvoIeqmyA3LfP0ZeRFK8+11kOOQ==}
peerDependencies:
'@firebase/app-compat': 0.x
- '@firebase/analytics-types@0.8.3':
- resolution: {integrity: sha512-VrIp/d8iq2g501qO46uGz3hjbDb8xzYMrbu8Tp0ovzIzrvJZ2fvmj649gTjge/b7cCCcjT0H37g1gVtlNhnkbg==}
+ '@firebase/analytics-types@0.8.4':
+ resolution: {integrity: sha512-zQ+XTgkwH6CY/eUSHJRP7e4LxM30RCxlCmob5sy2axs25GE3Ny0XdgpDscMTHHQIGqWkxPXad4w2Mw9sCgT8zQ==}
- '@firebase/analytics@0.10.21':
- resolution: {integrity: sha512-j2y2q65BlgLGB5Pwjhv/Jopw2X/TBTzvAtI5z/DSp56U4wBj7LfhBfzbdCtFPges+Wz0g55GdoawXibOH5jGng==}
+ '@firebase/analytics@0.10.22':
+ resolution: {integrity: sha512-8BSaq/QRGU1+xyi8L2PTLTJU7MH9aMA72RQdIxrbhWFauOZY9OXo8f2YDN/972xA8d588tlnNVEQ2Mo69pT9Ow==}
peerDependencies:
'@firebase/app': 0.x
- '@firebase/app-check-compat@0.4.2':
- resolution: {integrity: sha512-M91NhxqbSkI0ChkJWy69blC+rPr6HEgaeRllddSaU1pQ/7IiegeCQM9pPDIgvWnwnBSzKhUHpe6ro/jhJ+cvzw==}
+ '@firebase/app-check-compat@0.4.3':
+ resolution: {integrity: sha512-L3AKIRTJxT9b7cDUH3OyV8gWTnmW3vYkwdzRsukWt4kbPBTct12xalnyvHDkm1lKkr+cQq/4uzBx1bOWsQ2ciw==}
engines: {node: '>=20.0.0'}
peerDependencies:
'@firebase/app-compat': 0.x
- '@firebase/app-check-interop-types@0.3.3':
- resolution: {integrity: sha512-gAlxfPLT2j8bTI/qfe3ahl2I2YcBQ8cFIBdhAQA4I2f3TndcO+22YizyGYuttLHPQEpWkhmpFW60VCFEPg4g5A==}
+ '@firebase/app-check-interop-types@0.3.4':
+ resolution: {integrity: sha512-zz3i6e13B8BfWiLy8MABtTh8aGIACgKbf9UVnyHcWs+yQzJXgQcl8A46b0zfaiJHdQ+niF0ouAfcpuf+3LMPQg==}
- '@firebase/app-check-types@0.5.3':
- resolution: {integrity: sha512-hyl5rKSj0QmwPdsAxrI5x1otDlByQ7bvNvVt8G/XPO2CSwE++rmSVf3VEhaeOR4J8ZFaF0Z0NDSmLejPweZ3ng==}
+ '@firebase/app-check-types@0.5.4':
+ resolution: {integrity: sha512-xV7JsIyzVr15aA7f3Pi0rB9gdBuVubs89FGA8VkRYA4g0l78poADgdfrScgf7NndSg9mm7cR7PJyY0+t22KaGw==}
- '@firebase/app-check@0.11.2':
- resolution: {integrity: sha512-jcXQVMHAQ5AEKzVD5C7s5fmAYeFOuN6lAJeNTgZK2B9aLnofWaJt8u1A8Idm8gpsBBYSaY3cVyeH5SWMOVPBLQ==}
+ '@firebase/app-check@0.11.3':
+ resolution: {integrity: sha512-aJ4DfubWfTO8/2vhEhIAizOoOmiycESTU32e+OUgbWcS/G3PA4Vxlr/9zaiN2wfUG2AptQ7DTvj00tyuFZP5Bg==}
engines: {node: '>=20.0.0'}
peerDependencies:
'@firebase/app': 0.x
- '@firebase/app-compat@0.5.11':
- resolution: {integrity: sha512-KaACDjXkK5VLpI01vEs592R7/8s5DjFdIXfKoR385ly1SmK3Tu+jMHCIB4MsiY5jsez6v7VlEX/3rJ90dVkHyA==}
+ '@firebase/app-compat@0.5.12':
+ resolution: {integrity: sha512-Pe513OBerK/CIBxz4/za9atd5MsZtd6DzHz4cmqkvkrcDWhQChAoHBpZ3McuZNuSP8YZiKwfX/J1frR07l15/w==}
engines: {node: '>=20.0.0'}
- '@firebase/app-types@0.9.4':
- resolution: {integrity: sha512-crX9TA5SVYZwLPG7/R16IsH8FLlgkPXjJUVhsVpHVDSqJiq3D/NuFTM5ctxGTExXAOeIn//69tQw47CPerM8MQ==}
+ '@firebase/app-types@0.9.5':
+ resolution: {integrity: sha512-YevqTjvo7Iujsa9Dwowmd6dSoElhzmD63ZSrq6bzjvQ6POjYgNjOFHLmNIgJs48eNO093NCERibuFnxbfOvU7A==}
- '@firebase/app@0.14.11':
- resolution: {integrity: sha512-yxADFW35LYkP8oSGobGsYIrI42I+GPCvKTNHx4meT9Yq3C950IVz1eANoBk822I9tbKv1wyv9P4Bv1G5TpucFw==}
+ '@firebase/app@0.14.12':
+ resolution: {integrity: sha512-FT+HoNp1NdaZ/N26hCwV3WbxS1m6gTn3p2QRBQ3KH7YqyCQqJx0iT7126RgVk68/Rq+9DeL/zCFnHZ0C4u1nLQ==}
engines: {node: '>=20.0.0'}
- '@firebase/auth-compat@0.6.5':
- resolution: {integrity: sha512-IfVsafZ3QiXbsydXTP/XMI0wVYbJLI1rkb8Qqf03/h5FnL+upbbPOb+6Yj3RpcX+Y1iP5Uh18lxTHlXfbiyAow==}
+ '@firebase/auth-compat@0.6.6':
+ resolution: {integrity: sha512-KDJ/GAf/rt7galOpn3DRb2buFfGkZCsHTryKjXDG0eeRnok4+2B4nnkMOMdjRnPkElmcJv2Ao0vEA6kp5m98PQ==}
engines: {node: '>=20.0.0'}
peerDependencies:
'@firebase/app-compat': 0.x
- '@firebase/auth-interop-types@0.2.4':
- resolution: {integrity: sha512-JPgcXKCuO+CWqGDnigBtvo09HeBs5u/Ktc2GaFj2m01hLarbxthLNm7Fk8iOP1aqAtXV+fnnGj7U28xmk7IwVA==}
+ '@firebase/auth-interop-types@0.2.5':
+ resolution: {integrity: sha512-1Li/YuBDBAXcKv7BzY4U28gontUmAaw53sYiqbaVOMCFb2lFKK/c3CGMUWqtwe7+TXrl3poWnTCL5umYBg85Eg==}
- '@firebase/auth-types@0.13.0':
- resolution: {integrity: sha512-S/PuIjni0AQRLF+l9ck0YpsMOdE8GO2KU6ubmBB7P+7TJUCQDa3R1dlgYm9UzGbbePMZsp0xzB93f2b/CgxMOg==}
+ '@firebase/auth-types@0.13.1':
+ resolution: {integrity: sha512-0c1Mnid0uMDfGJHeUS4zfvBa4/CedJXotGy/n/NZJnBjwiJawt0ZYU+wH2VAVLiRCEfG2ncCkAX3yd1/2nrB7g==}
peerDependencies:
'@firebase/app-types': 0.x
'@firebase/util': 1.x
- '@firebase/auth@1.13.0':
- resolution: {integrity: sha512-mKkSLNym3UbnnZ06dAmtqzp5EpPGCANGCZDJbkoR135aoUdKG6Aizwcnp29RzsQpwH0nmy5nay17Sfbsh9oY8A==}
+ '@firebase/auth@1.13.1':
+ resolution: {integrity: sha512-/1nkKY/MicI+I9WWcx6R4NKs77AaW9NQ0IwsFdUBomWrW0/cXEmopfM2dtLm2oI1qG6z6vom3CXZDHJIJXoMuw==}
engines: {node: '>=20.0.0'}
peerDependencies:
'@firebase/app': 0.x
@@ -2110,141 +2120,141 @@ packages:
'@react-native-async-storage/async-storage':
optional: true
- '@firebase/component@0.7.2':
- resolution: {integrity: sha512-iyVDGc6Vjx7Rm0cAdccLH/NG6fADsgJak/XW9IA2lPf8AjIlsemOpFGKczYyPHxm4rnKdR8z6sK4+KEC7NwmEg==}
+ '@firebase/component@0.7.3':
+ resolution: {integrity: sha512-wFofIaa2879ogD/WvkjYXJxRmfnL0scen6ORgaC3na1FNOR9ASIUANQdhqQcmWu/h77/pVHY7ch5flewa5Bcew==}
engines: {node: '>=20.0.0'}
- '@firebase/data-connect@0.6.0':
- resolution: {integrity: sha512-OiugPRcdlhqXF97oR9CjVObILmsWU0dFUS0gXNYEe4bDfpW8pZmQ5GqhIPPtLWbT/0W2lMJJD7VILFMk+xuHPg==}
+ '@firebase/data-connect@0.7.0':
+ resolution: {integrity: sha512-ar9sNOJh5poQCSMSVlnVE8eo8+usTD1POWDCv65omkKUvnFMcdXaQ7J/e7WGKqJzcEMgiezSX/TZiKHZkItMbQ==}
peerDependencies:
'@firebase/app': 0.x
- '@firebase/database-compat@2.1.3':
- resolution: {integrity: sha512-GMyfWjD8mehjg/QpNkY/tl9G/MoeugPeg91n9D0atggxbWuKF/2KhVPHZDH+XmoP0EKYqMWYTtKxBsaBaNKLYQ==}
+ '@firebase/database-compat@2.1.4':
+ resolution: {integrity: sha512-3pK35F1MAgmqFJQlf2nhQl44vtAXQO1uaCaQOEUI9kCRtLFqi7N+QRKR7lFZPg+xIZIyubgxQaxY69YgfZRZWg==}
engines: {node: '>=20.0.0'}
- '@firebase/database-types@1.0.19':
- resolution: {integrity: sha512-FqewjUZmV9LqFfuEnmgdcUpiOUz7qwLXxnm/H8BcMFEzQXtd1yyUDm8ex5VRad2nuTE+ahOuCjUAM/cyDncO+g==}
+ '@firebase/database-types@1.0.20':
+ resolution: {integrity: sha512-kegbOk/w8iU64pr0q6k2ItyNGjnQBMHFhwS7ohdWI4W+pc0/zhhdGXTdFj6X1oxItRjPoYOsSQmERgBkn/ihxw==}
- '@firebase/database@1.1.2':
- resolution: {integrity: sha512-lP96CMjMPy/+d1d9qaaHjHHdzdwvEOuyyLq9ehX89e2XMKwS1jHNzYBO+42bdSumuj5ukPbmnFtViZu8YOMT+w==}
+ '@firebase/database@1.1.3':
+ resolution: {integrity: sha512-XwWCa+E4TvNGpGwXrycLRNfdogADwFcvuhyow6wDWma9W54roaQIhe+4PM0KiLsIftBdSCGI7OKCXrdSRHbIhw==}
engines: {node: '>=20.0.0'}
- '@firebase/firestore-compat@0.4.8':
- resolution: {integrity: sha512-WK9NJRpnosGD2nuyjdr7K+Ht7AxRYJlTF62myI4rRA7ibJOosbecvjacR5oirJ7s1BgNS6qzcBw7n4fD3a5w1w==}
+ '@firebase/firestore-compat@0.4.9':
+ resolution: {integrity: sha512-NPtBuFr79BbIQJXFWhW4xFC6rBksK8/ewqCTYbbAYfZBDDx0/iHTUj4WpKi5D4d0Pn2Md/3T/e5V9379G5N/Zg==}
engines: {node: '>=20.0.0'}
peerDependencies:
'@firebase/app-compat': 0.x
- '@firebase/firestore-types@3.0.3':
- resolution: {integrity: sha512-hD2jGdiWRxB/eZWF89xcK9gF8wvENDJkzpVFb4aGkzfEaKxVRD1kjz1t1Wj8VZEp2LCB53Yx1zD8mrhQu87R6Q==}
+ '@firebase/firestore-types@3.0.4':
+ resolution: {integrity: sha512-jGn+JSS4X9zZsrfu7Yw66v5YRdOLD1oyQh4USR0xWl4CUqV/DA6bNIXRPpxH/cUl3iVTNiP6MN7g+EL42A4qfA==}
peerDependencies:
'@firebase/app-types': 0.x
'@firebase/util': 1.x
- '@firebase/firestore@4.14.0':
- resolution: {integrity: sha512-bZc6YOjRkMBVA16527tgzi6iN9n//xRB3Mmx/R+Gr6UAP/+xrIKOejQIcn1hh+tCzNT8jO0jI+kWox5J4tB/qQ==}
+ '@firebase/firestore@4.14.1':
+ resolution: {integrity: sha512-PouS0NJZ3NYOZE/tPDvXa8VUeJ10Ll//7jIdFvMYdhQkd/P3O7nlqhyoTmY0h8Xa9hxg+H0j6gxUytJcoZ9YOg==}
engines: {node: '>=20.0.0'}
peerDependencies:
'@firebase/app': 0.x
- '@firebase/functions-compat@0.4.3':
- resolution: {integrity: sha512-BxkEwWgx1of0tKaao/r2VR6WBLk/RAiyztatiONPrPE8gkitFkOnOCxf8i9cUyA5hX5RGt5H30uNn25Q6QNEmQ==}
+ '@firebase/functions-compat@0.4.4':
+ resolution: {integrity: sha512-Be+MwhseVf/eFAZwGrFJGok6S7cmsLrAPK8MgyM8LjM0MewTsx2n01WOOca9jio1UsCZOJ0aVyQobnINcdNuIQ==}
engines: {node: '>=20.0.0'}
peerDependencies:
'@firebase/app-compat': 0.x
- '@firebase/functions-types@0.6.3':
- resolution: {integrity: sha512-EZoDKQLUHFKNx6VLipQwrSMh01A1SaL3Wg6Hpi//x6/fJ6Ee4hrAeswK99I5Ht8roiniKHw4iO0B1Oxj5I4plg==}
+ '@firebase/functions-types@0.6.4':
+ resolution: {integrity: sha512-zV6kgqtduR4rUAdC/ilS7kmb93XD7bEZoJDlVBZqlOw2uGGGCNBQBuleww2rr0Ulr3L9o2TDjumEt68/l1f9DQ==}
- '@firebase/functions@0.13.3':
- resolution: {integrity: sha512-csO7ckK3SSs+NUZW1nms9EK7ckHe/1QOjiP8uAkCYa7ND18s44vjE9g3KxEeIUpyEPqZaX1EhJuFyZjHigAcYw==}
+ '@firebase/functions@0.13.4':
+ resolution: {integrity: sha512-oB5rpm2Emxn2+IS1gRelAeT/5tSZMwM/KhqC5LnJsmTNnS1ZDhD7ZMZNgCI8vchTW6PbaXIwEnpUryGuIQsNbg==}
engines: {node: '>=20.0.0'}
peerDependencies:
'@firebase/app': 0.x
- '@firebase/installations-compat@0.2.21':
- resolution: {integrity: sha512-zahIUkaVKbR8zmTeBHkdfaVl6JGWlhVoSjF7CVH33nFqD3SlPEpEEegn2GNT5iAfsVdtlCyJJ9GW4YKjq+RJKQ==}
+ '@firebase/installations-compat@0.2.22':
+ resolution: {integrity: sha512-C/zpAuTP5S9OgKSPvXRupw3hoY/JZSlA1wFjD/Sb7LIQE0FNbcMdO8Y4KXVEkjVzma/DDDDIAzxEXqKMAzc88w==}
peerDependencies:
'@firebase/app-compat': 0.x
- '@firebase/installations-types@0.5.3':
- resolution: {integrity: sha512-2FJI7gkLqIE0iYsNQ1P751lO3hER+Umykel+TkLwHj6plzWVxqvfclPUZhcKFVQObqloEBTmpi2Ozn7EkCABAA==}
+ '@firebase/installations-types@0.5.4':
+ resolution: {integrity: sha512-U2eFapdHwjb43Vx9o+Pmj4dFfvcHEK1IirEFLqMtWrTHvmdrS3gBpBD1kmJk/9HjsOtoHZxJ2Paoe79e+L1ZPg==}
peerDependencies:
'@firebase/app-types': 0.x
- '@firebase/installations@0.6.21':
- resolution: {integrity: sha512-xGFGTeICJZ5vhrmmDukeczIcFULFXybojML2+QSDFoKj5A7zbGN7KzFGSKNhDkIxpjzsYG9IleJyUebuAcmqWA==}
+ '@firebase/installations@0.6.22':
+ resolution: {integrity: sha512-ef6nn3GGQTdReCfotRMG77PJZu8CqEbiK5pEoBnM0gTu/Z9v0i/az2p3HABsa/1beQmmyh1OsOjf7P5+pgwdZw==}
peerDependencies:
'@firebase/app': 0.x
- '@firebase/logger@0.5.0':
- resolution: {integrity: sha512-cGskaAvkrnh42b3BA3doDWeBmuHFO/Mx5A83rbRDYakPjO9bJtRL3dX7javzc2Rr/JHZf4HlterTW2lUkfeN4g==}
+ '@firebase/logger@0.5.1':
+ resolution: {integrity: sha512-vZKLsqE1ABOy8OjQiE7cUTFn4gvaqlk88yp8N94Pk/sDpq61YqZGqmVFZTvOyflTwuYFcWirBdYGoJgbDaXKYQ==}
engines: {node: '>=20.0.0'}
- '@firebase/messaging-compat@0.2.25':
- resolution: {integrity: sha512-eoOQqGLtRlseTdiemTN44LlHZpltK5gnhq8XVUuLgtIOG+odtDzrz2UoTpcJWSzaJQVxNLb/x9f39tHdDM4N4w==}
+ '@firebase/messaging-compat@0.2.26':
+ resolution: {integrity: sha512-fn0XvWOfK4tsDLSipwJUW9Cp6ahWA6z+iJHxZ0pHp9MzMSUNQx85yuxZAuI7gkGXfqs7+DqEDHyyS7jDGswrmQ==}
peerDependencies:
'@firebase/app-compat': 0.x
- '@firebase/messaging-interop-types@0.2.3':
- resolution: {integrity: sha512-xfzFaJpzcmtDjycpDeCUj0Ge10ATFi/VHVIvEEjDNc3hodVBQADZ7BWQU7CuFpjSHE+eLuBI13z5F/9xOoGX8Q==}
+ '@firebase/messaging-interop-types@0.2.4':
+ resolution: {integrity: sha512-wrzITQq+xw5LtygX7O0fu43/k9ABQ4x5H9/sR5m1SbNnhIRI5xd3+raSNJaJkYC4BUhM9A4ZNSnyR2sjhxnb2Q==}
- '@firebase/messaging@0.12.25':
- resolution: {integrity: sha512-7RhDwoDHlOK1/ou0/LeubxmjcngsTjDdrY/ssg2vwAVpUuVAhQzQvuCAOYxcX5wNC1zCgQ54AP1vdngBwbCmOQ==}
+ '@firebase/messaging@0.12.26':
+ resolution: {integrity: sha512-lHVTO9uLofymHVWkYeUtMddIPcmJvSzVbHRB88W6XKfxbcKF+p3QrfqKhDxremSB4NQjUla1Gwn7d9umSMmt/w==}
peerDependencies:
'@firebase/app': 0.x
- '@firebase/performance-compat@0.2.24':
- resolution: {integrity: sha512-YRlejH8wLt7ThWao+HXoKUHUrZKGYq+otxkPS+8nuE5PeN1cBXX7NAJl9ueuUkBwMIrnKdnDqL/voHXxDAAt3g==}
+ '@firebase/performance-compat@0.2.25':
+ resolution: {integrity: sha512-q6NjTXpIPoFuUmCmMN/maCdTgzT6aExs9xZo+PxfVLj6uLVGvpyAD6XWjmcrb7jChsFBYbq7E5dyNDF7Zhy9kA==}
peerDependencies:
'@firebase/app-compat': 0.x
- '@firebase/performance-types@0.2.3':
- resolution: {integrity: sha512-IgkyTz6QZVPAq8GSkLYJvwSLr3LS9+V6vNPQr0x4YozZJiLF5jYixj0amDtATf1X0EtYHqoPO48a9ija8GocxQ==}
+ '@firebase/performance-types@0.2.4':
+ resolution: {integrity: sha512-kJSEk7b0uhpcPRyL4SQ/GPujLqk52XNKcXlnsKDbWGAb9vugcLvOU3u6zfEdwd+d8hWJb5S5ZizV1JFFI0nkKg==}
- '@firebase/performance@0.7.11':
- resolution: {integrity: sha512-V3uAhrz7IYJuji+OgT3qYTGKxpek/TViXti9OSsUJ4AexZ3jQjYH5Yrn7JvBxk8MGiSLsC872hh+BxQiPZsm7g==}
+ '@firebase/performance@0.7.12':
+ resolution: {integrity: sha512-fe7nV8teUU3OBHlMUZ9Lw4gLhCW2k4m5Uc3pfWGV+fl8uwJQBGp9Q3lqsJ+HSrFu3Q2pJyLAgrClPGSKyDeYgQ==}
peerDependencies:
'@firebase/app': 0.x
- '@firebase/remote-config-compat@0.2.23':
- resolution: {integrity: sha512-4+KqRRHEUUmKT6tFmnpWATOsaFfmSuBs1jXH8JzVtMLEYqq/WS9IDM92OdefFDSrAA2xGd0WN004z8mKeIIscw==}
+ '@firebase/remote-config-compat@0.2.24':
+ resolution: {integrity: sha512-EWZTt6fJ7YmPHodQNsSxAIDZY2x8P5kRPvXAc5CmzzBm+NyPFhODbfDsNllDXDL8jlzp50bVWjDY+BXepZS9Mg==}
peerDependencies:
'@firebase/app-compat': 0.x
- '@firebase/remote-config-types@0.5.0':
- resolution: {integrity: sha512-vI3bqLoF14L/GchtgayMiFpZJF+Ao3uR8WCde0XpYNkSokDpAKca2DxvcfeZv7lZUqkUwQPL2wD83d3vQ4vvrg==}
+ '@firebase/remote-config-types@0.5.1':
+ resolution: {integrity: sha512-cX/1LT6KQwkXzck2eSzeKnuvXZCyr8qaPpDcikoJs7jmI+oBOXixpDLeDtWj1U6GNMkIoXrEDNoyT2Ypcyp5/A==}
- '@firebase/remote-config@0.8.2':
- resolution: {integrity: sha512-5EXqOThV4upjK9D38d/qOSVwOqRhemlaOFk9vCkMNNALeIlwr+4pLjtLNo4qoY8etQmU/1q4aIATE9N8PFqg0g==}
+ '@firebase/remote-config@0.8.3':
+ resolution: {integrity: sha512-ggGKAaLy9YNOvpFoQZgm5p5SiFw3ZFtwti08dojnBQmQicpThTxvG5xZMSpCTYMj2o3gM/yK9CVd2w+kZub8YA==}
peerDependencies:
'@firebase/app': 0.x
- '@firebase/storage-compat@0.4.2':
- resolution: {integrity: sha512-R+aB38wxCH5zjIO/xu9KznI7fgiPuZAG98uVm1NcidHyyupGgIDLKigGmRGBZMnxibe/m2oxNKoZpfEbUX2aQQ==}
+ '@firebase/storage-compat@0.4.3':
+ resolution: {integrity: sha512-gruVqjtUGX8tEoeNbaWXZm0Zfcfcb7fvmDmBxV8yPAbWvExRnZYLO2+qw9idxNE7BvPXt5csyjSYHy//dAizxw==}
engines: {node: '>=20.0.0'}
peerDependencies:
'@firebase/app-compat': 0.x
- '@firebase/storage-types@0.8.3':
- resolution: {integrity: sha512-+Muk7g9uwngTpd8xn9OdF/D48uiQ7I1Fae7ULsWPuKoCH3HU7bfFPhxtJYzyhjdniowhuDpQcfPmuNRAqZEfvg==}
+ '@firebase/storage-types@0.8.4':
+ resolution: {integrity: sha512-BT7cwxJOx8SWwlQfrlC+bD/Sk3Cw+1odCi8UZNFNWTVZoPsBnA5W+mqtZzVnvsdJpXCFGSGQ7R7vOR6dtM/BRA==}
peerDependencies:
'@firebase/app-types': 0.x
'@firebase/util': 1.x
- '@firebase/storage@0.14.2':
- resolution: {integrity: sha512-o/culaTeJ8GRpKXRJov21rux/n9dRaSOWLebyatFP2sqEdCxQPjVA1H9Z2fzYwQxMIU0JVmC7SPPmU11v7L6vQ==}
+ '@firebase/storage@0.14.3':
+ resolution: {integrity: sha512-YX4/YL6P6/fufSSeGnVhjWddcIXbFq2cWIhMKFTZo1E/Rtcl2mJj/BYUQTwJfcE1Tl8un1FOya4L05jcSLN/Eg==}
engines: {node: '>=20.0.0'}
peerDependencies:
'@firebase/app': 0.x
- '@firebase/util@1.15.0':
- resolution: {integrity: sha512-AmWf3cHAOMbrCPG4xdPKQaj5iHnyYfyLKZxwz+Xf55bqKbpAmcYifB4jQinT2W9XhDRHISOoPyBOariJpCG6FA==}
+ '@firebase/util@1.15.1':
+ resolution: {integrity: sha512-LUdM4Wg7YM9Pq/49nGYySJA0CSQEKnGffFzWV8+6gXN7mGxn+FL1IqvFbuZUtAQcfZgHYDwCE1wwlK7rB7gl2g==}
engines: {node: '>=20.0.0'}
- '@firebase/webchannel-wrapper@1.0.5':
- resolution: {integrity: sha512-+uGNN7rkfn41HLO0vekTFhTxk61eKa8mTpRGLO0QSqlQdKvIoGAvLp3ppdVIWbTGYJWM6Kp0iN+PjMIOcnVqTw==}
+ '@firebase/webchannel-wrapper@1.0.6':
+ resolution: {integrity: sha512-Vr/Mqu79dMwGRAyGbJ4uN4+BtXB3/mRTdzetD1daWNeG8QaWuzhhbG77GltO5c0yYmYls8i250iX73624GJd7Q==}
'@gar/promise-retry@1.0.3':
resolution: {integrity: sha512-GmzA9ckNokPypTg10pgpeHNQe7ph+iIKKmhKu3Ob9ANkswreCx7R3cKmY781K8QK3AqVL3xVh9A42JvIAbkkSA==}
@@ -2281,8 +2291,8 @@ packages:
resolution: {integrity: sha512-IJn+8A3QZJfe7FUtWqHVNo3xJs7KFpurCWGWCiCz3oEh+BkRymKZ1QxfAbU2yGMDzTytLGQ2IV6T2r3cuo75/w==}
engines: {node: '>=18'}
- '@google/genai@1.50.1':
- resolution: {integrity: sha512-YbkX7H9+1Pt8wOt7DDREy8XSoiL6fRDzZQRyaVBarFf8MR3zHGqVdvM4cLbDXqPhxqvegZShgfxb8kw9C7YhAQ==}
+ '@google/genai@2.6.0':
+ resolution: {integrity: sha512-HjoW3mPuEn7pnuKABJl9VbDoWDSF4nbwYKYvYYor7YjPeDxrrBxHzu2d1Prcd+BAuC4w+85UP6y7ZdcrQAoO7g==}
engines: {node: '>=20.0.0'}
peerDependencies:
'@modelcontextprotocol/sdk': ^1.25.2
@@ -2290,12 +2300,12 @@ packages:
'@modelcontextprotocol/sdk':
optional: true
- '@grpc/grpc-js@1.14.3':
- resolution: {integrity: sha512-Iq8QQQ/7X3Sac15oB6p0FmUg/klxQvXLeileoqrTRGJYLV+/9tubbr9ipz0GKHjmXVsgFPo/+W+2cA8eNcR+XA==}
+ '@grpc/grpc-js@1.14.4':
+ resolution: {integrity: sha512-k9Dj3DV/itK9D06Y8f190Qgop7/Ui+D0njFV3LHMPwPT75DpXLQohE9Wmz0QElrJnzsjB7KPWiKJbOl7IPDArQ==}
engines: {node: '>=12.10.0'}
- '@grpc/grpc-js@1.9.15':
- resolution: {integrity: sha512-nqE7Hc0AzI+euzUwDAy0aY5hCp10r734gMGRdU+qOPX0XSceI2ULrcXB5U2xSc5VkWwalCj4M7GzCAygZl2KoQ==}
+ '@grpc/grpc-js@1.9.16':
+ resolution: {integrity: sha512-wE4Ut/olIzfKqp631XrG+wbF0v1vWFN4YL9FyXC2LJiG33DsV7PLzURjrCvY/6je2ntdRkeLpPDluzSRGaVltQ==}
engines: {node: ^8.13.0 || >=10.10.0}
'@grpc/proto-loader@0.7.15':
@@ -2303,8 +2313,8 @@ packages:
engines: {node: '>=6'}
hasBin: true
- '@grpc/proto-loader@0.8.0':
- resolution: {integrity: sha512-rc1hOQtjIWGxcxpb9aHAfLpIctjEnsDehj0DAiVfBlmT84uvR0uUtN2hEi/ecvWVjXUGf5qPF4qEgiLOx1YIMQ==}
+ '@grpc/proto-loader@0.8.1':
+ resolution: {integrity: sha512-wtF6h+DY6M3YaDBPAmvuuA6jV8Sif9MjtOI5euKFWRgCDl5PeDpPsHR9u2l6St5ceY8AZgoNDww5+HvEsXFsGg==}
engines: {node: '>=6'}
hasBin: true
@@ -2337,12 +2347,12 @@ packages:
resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
engines: {node: '>=18.18'}
- '@inquirer/ansi@2.0.5':
- resolution: {integrity: sha512-doc2sWgJpbFQ64UflSVd17ibMGDuxO1yKgOgLMwavzESnXjFWJqUeG8saYosqKpHp4kWiM5x1nXvEjbpx90gzw==}
+ '@inquirer/ansi@2.0.6':
+ resolution: {integrity: sha512-I/INw4sHGlVZ/afZOckpLiDP9SmbMl1g/GCqeHjLw1Afw/0PlRs2tRFgTGWmdI0hoNuWZn3y2iHNmG1vyECyQQ==}
engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
- '@inquirer/checkbox@5.1.4':
- resolution: {integrity: sha512-w6KF8ZYRvqHhROkOTHXYC3qIV/KYEu5o12oLqQySvch61vrYtRxNSHTONSdJqWiFJPlCUQAHT5OgOIyuTr+MHQ==}
+ '@inquirer/checkbox@5.2.0':
+ resolution: {integrity: sha512-1HJt+3fqxblp/GQjdntSyoSHYBc0e3CzXVgjFpKA6qFLd9FHBBqwN8Co0xYH6t2JVUZrtFwZ4bBiwptkiLxyOg==}
engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
peerDependencies:
'@types/node': '>=18'
@@ -2350,8 +2360,8 @@ packages:
'@types/node':
optional: true
- '@inquirer/confirm@6.0.12':
- resolution: {integrity: sha512-h9FgGun3QwVYNj5TWIZZ+slii73bMoBFjPfVIGtnFuL4t8gBiNDV9PcSfIzkuxvgquJKt9nr1QzszpBzTbH8Og==}
+ '@inquirer/confirm@6.1.0':
+ resolution: {integrity: sha512-USpeB76eqK7yGricDlGAupxWlp4a59qpeZOoNWaxO/nJln7agpJveyNkQ1d5u8YXG6TOqxZtQpKPORQQDrdVsA==}
engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
peerDependencies:
'@types/node': '>=18'
@@ -2359,8 +2369,8 @@ packages:
'@types/node':
optional: true
- '@inquirer/core@11.1.9':
- resolution: {integrity: sha512-BDE4fG22uYh1bGSifcj7JSx119TVYNViMhMu85usp4Fswrzh6M0DV3yld64jA98uOAa2GSQ4Bg4bZRm2d2cwSg==}
+ '@inquirer/core@11.2.0':
+ resolution: {integrity: sha512-joR1YS2sI0us+9d0I8ViqFbrRLONO8CFTuyvBX4ZVBSch+VsZiugUABdrhBXXJR1VyEzvpz5SQCix3keETQ58g==}
engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
peerDependencies:
'@types/node': '>=18'
@@ -2368,8 +2378,8 @@ packages:
'@types/node':
optional: true
- '@inquirer/editor@5.1.1':
- resolution: {integrity: sha512-6y11LgmNpmn5D2aB5FgnCfBUBK8ZstwLCalyJmORcJZ/WrhOjm16mu6eSqIx8DnErxDqSLr+Jkp+GP8/Nwd5tA==}
+ '@inquirer/editor@5.2.0':
+ resolution: {integrity: sha512-/m+sgRmzSdK6HDtVnl3PmI6MnZC4O+LLezedoJcrX7mINhTjjb0hlC7aEDGZXkFTB4b5uQ0q59AhYTah88KbNg==}
engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
peerDependencies:
'@types/node': '>=18'
@@ -2377,8 +2387,8 @@ packages:
'@types/node':
optional: true
- '@inquirer/expand@5.0.13':
- resolution: {integrity: sha512-dF2zvrFo9LshkcB23/O1il13kBkBltWIXzut1evfbuBLXMiGIuC45c+ZQ0uukjCDsvI8OWqun4FRYMnzFCQa3g==}
+ '@inquirer/expand@5.1.0':
+ resolution: {integrity: sha512-fR7g4BVnIcs+4NApF6C5byflNM/EULxSxsv/2Jvg+gmop0R6eBIPvZqE6RYnTy1tQTFnf9wyHkwNoQSZbofaGA==}
engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
peerDependencies:
'@types/node': '>=18'
@@ -2386,8 +2396,8 @@ packages:
'@types/node':
optional: true
- '@inquirer/external-editor@3.0.0':
- resolution: {integrity: sha512-lDSwMgg+M5rq6JKBYaJwSX6T9e/HK2qqZ1oxmOwn4AQoJE5D+7TumsxLGC02PWS//rkIVqbZv3XA3ejsc9FYvg==}
+ '@inquirer/external-editor@3.0.1':
+ resolution: {integrity: sha512-tam+Gwjsxg2sx3iUVPkAnhKT/yrk2rd2NAa7XJU/J8OYpU0ifXsnp12xlvzp/DCpWBXVv+vLQsqnpAWwUcWD5Q==}
engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
peerDependencies:
'@types/node': '>=18'
@@ -2395,12 +2405,21 @@ packages:
'@types/node':
optional: true
- '@inquirer/figures@2.0.5':
- resolution: {integrity: sha512-NsSs4kzfm12lNetHwAn3GEuH317IzpwrMCbOuMIVytpjnJ90YYHNwdRgYGuKmVxwuIqSgqk3M5qqQt1cDk0tGQ==}
+ '@inquirer/figures@2.0.6':
+ resolution: {integrity: sha512-dsZgQtH2t5Q6ah3aPbZbeEZAxsD9qQu0DXf01AltuEfRTm+NoLN6+rLVbr+4edeEbNCp/wBNM6mALRWtsQpfkw==}
+ engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
+
+ '@inquirer/input@5.1.0':
+ resolution: {integrity: sha512-sVZCz6P6e8tW5g2bSFel1oLpa6jK/u7BexFfrgTqR8syIdnHqy+iopnlSbYBZMsCK52chLjhGNBxt0eRqhsghw==}
engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
- '@inquirer/input@5.0.12':
- resolution: {integrity: sha512-uiMFBl4LqFzJClh80Q3f9hbOFJ6kgkDWI4LjAeBuyO6EanVVMF69AgOvpi1qdqjDSjDN6578B6nky9ceEpI+1Q==}
+ '@inquirer/number@4.1.0':
+ resolution: {integrity: sha512-VMXB/XejCbaSTf9Xucl7dqjzzsaGsrs6XwSYXPbGZ2QbSuq/Gz8XamhSi9ClRubNXZlGry9xVg1tKkJdTDgCtQ==}
engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
peerDependencies:
'@types/node': '>=18'
@@ -2408,8 +2427,8 @@ packages:
'@types/node':
optional: true
- '@inquirer/number@4.0.12':
- resolution: {integrity: sha512-/vrwhEf7Xsuh+YlHF4IjSy3g1cyrQuPaSiHIxCEbLu8qnfvrcvJyCkoktOOF+xV9gSb77/G0n3h04RbMDW2sIg==}
+ '@inquirer/password@5.1.0':
+ resolution: {integrity: sha512-5tqRuKCDIUxdPxTI/CuLnh914kz+WMPmURHKnZgui9gk43ebudEsdu4EwSn1CPSi5R+17YpBG+ba/YqTnRAcJA==}
engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
peerDependencies:
'@types/node': '>=18'
@@ -2417,8 +2436,8 @@ packages:
'@types/node':
optional: true
- '@inquirer/password@5.0.12':
- resolution: {integrity: sha512-CBh7YHju623lxJRcAOo498ZUwIuMy63bqW/vVq0tQAZVv+lkWlHkP9ealYE1utWSisEShY5VMdzIXRmyEODzcQ==}
+ '@inquirer/prompts@8.4.3':
+ resolution: {integrity: sha512-ai5LseTw9HhegupIgmo4cn7RpnCGznjjXu4OI+7jMR8vu7T1ZCCNMzFFAovUCjL1fl0cceksIN1++yQE59SmZw==}
engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
peerDependencies:
'@types/node': '>=18'
@@ -2426,8 +2445,8 @@ packages:
'@types/node':
optional: true
- '@inquirer/prompts@8.4.2':
- resolution: {integrity: sha512-XJmn/wY4AX56l1BRU+ZjDrFtg9+2uBEi4JvJQj82kwJDQKiPgSn4CEsbfGGygS4Gw6rkL4W18oATjfVfaqub2Q==}
+ '@inquirer/prompts@8.5.0':
+ resolution: {integrity: sha512-pLjXOnY4y3R1mgyHP3pXD/8eXejp+L/dde/0N2NLKgKfMstqhNZrpvs7Wkzbl9FYFQh10LRQ7QZwq+cz9rrhyw==}
engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
peerDependencies:
'@types/node': '>=18'
@@ -2435,8 +2454,8 @@ packages:
'@types/node':
optional: true
- '@inquirer/rawlist@5.2.8':
- resolution: {integrity: sha512-Su7FQvp5buZmCymN3PPoYv31ZQQX4ve2j02k7piGgKAWgE+AQRB5YoYVveGXcl3TZ9ldgRMSxj56YfDFmmaqLg==}
+ '@inquirer/rawlist@5.3.0':
+ resolution: {integrity: sha512-p+vAeTAD+cGXjGleP1F5LXrX2ISxNDZm+lqeBpnJausNLSZskZZkcggwhomqP8Igx9oIjnoeOrw98xvdFvdm2w==}
engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
peerDependencies:
'@types/node': '>=18'
@@ -2444,8 +2463,8 @@ packages:
'@types/node':
optional: true
- '@inquirer/search@4.1.8':
- resolution: {integrity: sha512-fGiHKGD6DyPIYUWxoXnQTeXeyYqSOUrasDMABBmMHUalH/LxkuzY0xVRtimXAt1sUeeyYkVuKQx1bebMuN11Kw==}
+ '@inquirer/search@4.2.0':
+ resolution: {integrity: sha512-ByURoSGIaSl5O5Q0AmYmVmUsXbMUcBGNoA3FRL7TOyiA22IeFHymJKRkuILbOIlJwqnBk7AnPpseodyFUBzg+g==}
engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
peerDependencies:
'@types/node': '>=18'
@@ -2453,8 +2472,8 @@ packages:
'@types/node':
optional: true
- '@inquirer/select@5.1.4':
- resolution: {integrity: sha512-2kWcGKPMLAXAWRp1AH1SLsQmX+j0QjeljyXMUji9WMZC8nRDO0b7qquIGr6143E7KMLt3VAIGNXzwa/6PXQs4Q==}
+ '@inquirer/select@5.2.0':
+ resolution: {integrity: sha512-6IzkcmEbEXfgVbxZ2d1UyJFbCBoc6dTofulFmrYuomIp88HXiVqRbqbg4/mbfZhvnNo6xYmnYo2AEmDof6fQkg==}
engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
peerDependencies:
'@types/node': '>=18'
@@ -2471,6 +2490,15 @@ packages:
'@types/node':
optional: true
+ '@inquirer/type@4.0.6':
+ resolution: {integrity: sha512-J+9tdxOskuYuGjsvGaq00AamhDgjR7anhEW2dP4QdQpFCMPngCeC/bCYWQ5NsMWZRdsy53is7kAHb/+7cwDk2g==}
+ engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
'@isaacs/cliui@8.0.2':
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
engines: {node: '>=12'}
@@ -2683,38 +2711,38 @@ packages:
'@cfworker/json-schema':
optional: true
- '@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.3':
- resolution: {integrity: sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==}
+ '@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.4':
+ resolution: {integrity: sha512-LCkGo6JDfaBhgST7UpPWgNgLINpcpabaHfyz5OBx75nUYxBsaEPxjnyNjWpeb/xBup/682QnBfRBy2/LvPutZQ==}
cpu: [arm64]
os: [darwin]
- '@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.3':
- resolution: {integrity: sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==}
+ '@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.4':
+ resolution: {integrity: sha512-zExlW9zUJKZH/tOtVMttwjKa4Xm/3KcNjnE3dPN92uCktwavMxpgCA3MoJK/DOnTWsQgo224OaST27/mPNAf+w==}
cpu: [x64]
os: [darwin]
- '@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.3':
- resolution: {integrity: sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==}
+ '@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.4':
+ resolution: {integrity: sha512-dgX0P/9wGPJeHFBG+ZmhgE6bmtMt7NP5CRBGyyktpopdk/mW4POnrpQsSLtKI1dwpc+pPLuXHDh6vvskyQE/sw==}
cpu: [arm64]
os: [linux]
- '@msgpackr-extract/msgpackr-extract-linux-arm@3.0.3':
- resolution: {integrity: sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==}
+ '@msgpackr-extract/msgpackr-extract-linux-arm@3.0.4':
+ resolution: {integrity: sha512-Tg3yX65f5GbtXLkrYEHE5oibZG9epyYWas7FogTTEJeDEF9JlXJzKgXaNhT3UXlTOeA+AfZpYZYZ0uPj7Cfquw==}
cpu: [arm]
os: [linux]
- '@msgpackr-extract/msgpackr-extract-linux-x64@3.0.3':
- resolution: {integrity: sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==}
+ '@msgpackr-extract/msgpackr-extract-linux-x64@3.0.4':
+ resolution: {integrity: sha512-8TNXMEjJc3QEy7R/x1INhgiU+XakDAFUzBhaz7+Rbrs8NH5UQeHQxxmzsSBJGyV6I1jW79undiQm8tOI+D+8FQ==}
cpu: [x64]
os: [linux]
- '@msgpackr-extract/msgpackr-extract-win32-x64@3.0.3':
- resolution: {integrity: sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==}
+ '@msgpackr-extract/msgpackr-extract-win32-x64@3.0.4':
+ resolution: {integrity: sha512-CmCXPQrkbwExx3j946/PtHWHbYJiCRBRDl4BlkRQcJB/YOwQxJRTpoo7aTsortjgoJ1x7opzTSxn7C+ASSLVjQ==}
cpu: [x64]
os: [win32]
- '@mswjs/interceptors@0.41.6':
- resolution: {integrity: sha512-qmDvJIjcNsZ6tXWy2G9yuCgMPTTn35GMA3dPpSLm7QJVpbQzYdw0ALy1bKoivXnEM3U93/OrK+/M719b+fg84Q==}
+ '@mswjs/interceptors@0.41.9':
+ resolution: {integrity: sha512-VVPPgHyQ6ShqnrmDWuxjmUIsO9gWyOZFmuOfLd9LfBGQJwZfy0gvv9pbHSJuoFNIYC7ZDX9aoFwowjcdSC4E8w==}
engines: {node: '>=18'}
'@napi-rs/nice-android-arm-eabi@1.1.1':
@@ -2957,8 +2985,8 @@ packages:
resolution: {integrity: sha512-KMQIfq5sOPpkQYajXHwnhjCC0slzCNScLHs9JafXc4RAJI+9f+jNDlBNaIMTvazOPLgb4BnlhGJOTbnN0wIjPw==}
engines: {node: '>= 20'}
- '@octokit/request@10.0.8':
- resolution: {integrity: sha512-SJZNwY9pur9Agf7l87ywFi14W+Hd9Jg6Ifivsd33+/bGUQIjNujdFiXII2/qSlN2ybqUHfp5xpekMEjIBTjlSw==}
+ '@octokit/request@10.0.10':
+ resolution: {integrity: sha512-KxNC2pTqqhszMNrf12ZRd4PonRgyJdsM4F/jySiddQK+DsRcfBtUvqn8t7UsyZhnRJHvX46OohDt5N3VqIWC2w==}
engines: {node: '>= 20'}
'@octokit/rest@22.0.1':
@@ -2981,24 +3009,24 @@ packages:
resolution: {integrity: sha512-gLyJlPHPZYdAk1JENA9LeHejZe1Ti77/pTeFm/nMXmQH/HFZlcS/O2XJB+L8fkbrNSqhdtlvjBVjxwUYanNH5Q==}
engines: {node: '>=8.0.0'}
- '@opentelemetry/context-async-hooks@2.7.0':
- resolution: {integrity: sha512-MWXggArM+Y11mPS8VOrqxOj+YMGQSRuvhM91eSBX4xFpJa05mpkeVvM8pPux5ElkEjV5RMgrkisrlP/R83SpBQ==}
+ '@opentelemetry/context-async-hooks@2.7.1':
+ resolution: {integrity: sha512-OPFBYuXEn1E4ja3Y6eeA7O+ZnLBNcXTV5Cgsn1VaqBZ6hC5FnpZPLBNme1LJY8ZtF4aOujPKFoeWN4ik487KuQ==}
engines: {node: ^18.19.0 || >=20.6.0}
peerDependencies:
'@opentelemetry/api': '>=1.0.0 <1.10.0'
- '@opentelemetry/core@2.7.0':
- resolution: {integrity: sha512-DT12SXVwV2eoJrGf4nnsvZojxxeQo+LlNAsoYGRRObPWTeN6APiqZ2+nqDCQDvQX40eLi1AePONS0onoASp3yQ==}
+ '@opentelemetry/core@2.7.1':
+ resolution: {integrity: sha512-QAqIj32AtK6+pEVNG7EOVxHdE06RP+FM5qpiEJ4RtDcFIqKUZHYhl7/7UY5efhwmwNAg7j8QbJVBLxMerc0+gw==}
engines: {node: ^18.19.0 || >=20.6.0}
peerDependencies:
'@opentelemetry/api': '>=1.0.0 <1.10.0'
- '@opentelemetry/semantic-conventions@1.40.0':
- resolution: {integrity: sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==}
+ '@opentelemetry/semantic-conventions@1.41.1':
+ resolution: {integrity: sha512-/UhIkaZgPutTFmQ7RnIJGgDXZmtEJ7Dvi86xNTFWcnRxVRNk/aotsqDJYeEvDP+FSMB2SdW+pQzNMcWP0rwuNA==}
engines: {node: '>=14'}
- '@oxc-project/types@0.126.0':
- resolution: {integrity: sha512-oGfVtjAgwQVVpfBrbtk4e1XDyWHRFta6BS3GWVzrF8xYBT2VGQAk39yJS/wFSMrZqoiCU4oghT3Ch0HaHGIHcQ==}
+ '@oxc-project/types@0.132.0':
+ resolution: {integrity: sha512-FESMOxil5Se014ui/Eq8fT5uHJo6nIRwH0PfJrZJXs6Gek3ZVFOrpUv3YIZT20m+extU98Hg1Ym72U58rlsxUQ==}
'@parcel/watcher-android-arm64@2.5.6':
resolution: {integrity: sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==}
@@ -3088,35 +3116,38 @@ packages:
resolution: {integrity: sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==}
engines: {node: '>= 10.0.0'}
- '@peculiar/asn1-cms@2.6.1':
- resolution: {integrity: sha512-vdG4fBF6Lkirkcl53q6eOdn3XYKt+kJTG59edgRZORlg/3atWWEReRCx5rYE1ZzTTX6vLK5zDMjHh7vbrcXGtw==}
+ '@peculiar/asn1-cms@2.7.0':
+ resolution: {integrity: sha512-hew63shtzzvBcSHbhm+cyAmKe6AIfinT9hzEqSPjDC6opTTMKmTkQ0gHuN2KsWlvqiKw1S/fS94fhag/FJkioQ==}
+
+ '@peculiar/asn1-csr@2.7.0':
+ resolution: {integrity: sha512-VVsAyGqErT9D1SY4aEqozThXMVI+ssVRiv2DDeYuvpBKLIgZ3hYs3Ay3u/VSoKq6ESFi9cf6rf3IOOzfwh7oMA==}
- '@peculiar/asn1-csr@2.6.1':
- resolution: {integrity: sha512-WRWnKfIocHyzFYQTka8O/tXCiBquAPSrRjXbOkHbO4qdmS6loffCEGs+rby6WxxGdJCuunnhS2duHURhjyio6w==}
+ '@peculiar/asn1-ecc@2.7.0':
+ resolution: {integrity: sha512-n7KEs/Q/wrB415cxy4fHOBhegp4NdJ15fkJPwcB/3/8iNBQC2L/N7SChJPKDJPZGYH0jD4Tg4/0vnHmwghnbKw==}
- '@peculiar/asn1-ecc@2.6.1':
- resolution: {integrity: sha512-+Vqw8WFxrtDIN5ehUdvlN2m73exS2JVG0UAyfVB31gIfor3zWEAQPD+K9ydCxaj3MLen9k0JhKpu9LqviuCE1g==}
+ '@peculiar/asn1-pfx@2.7.0':
+ resolution: {integrity: sha512-V/nrlQVmhg7lYAsM7E13UDL5erAwFv6kCIVFqNaMIHSVi7dngcT839JkRTkQBqznMG98l2XjxYk74ZztAohZzA==}
- '@peculiar/asn1-pfx@2.6.1':
- resolution: {integrity: sha512-nB5jVQy3MAAWvq0KY0R2JUZG8bO/bTLpnwyOzXyEh/e54ynGTatAR+csOnXkkVD9AFZ2uL8Z7EV918+qB1qDvw==}
+ '@peculiar/asn1-pkcs8@2.7.0':
+ resolution: {integrity: sha512-9GTl1nE8Mx1kTZ+7QyYatDyKsm34QcWRBFkY1iPvWC3X4Dona5s/tlLiQsx5WzVdZqiMBZNYT0buyw4/vbhnjw==}
- '@peculiar/asn1-pkcs8@2.6.1':
- resolution: {integrity: sha512-JB5iQ9Izn5yGMw3ZG4Nw3Xn/hb/G38GYF3lf7WmJb8JZUydhVGEjK/ZlFSWhnlB7K/4oqEs8HnfFIKklhR58Tw==}
+ '@peculiar/asn1-pkcs9@2.7.0':
+ resolution: {integrity: sha512-Bh7m+OuIaSEllPQcSd9OSp93F4ROWH7sbITWV8MI+8dwsjE5111/87VxiWVvYFKyww3vp39geLv9ENqhwWHcew==}
- '@peculiar/asn1-pkcs9@2.6.1':
- resolution: {integrity: sha512-5EV8nZoMSxeWmcxWmmcolg22ojZRgJg+Y9MX2fnE2bGRo5KQLqV5IL9kdSQDZxlHz95tHvIq9F//bvL1OeNILw==}
+ '@peculiar/asn1-rsa@2.7.0':
+ resolution: {integrity: sha512-/qvENQrXyTZURjMqSeofHul0JJt2sNSzSwk36pl2olkHbaioMQgrASDZAlHXl0xUlnVbHj0uGgOrBMTb5x2aJQ==}
- '@peculiar/asn1-rsa@2.6.1':
- resolution: {integrity: sha512-1nVMEh46SElUt5CB3RUTV4EG/z7iYc7EoaDY5ECwganibQPkZ/Y2eMsTKB/LeyrUJ+W/tKoD9WUqIy8vB+CEdA==}
+ '@peculiar/asn1-schema@2.7.0':
+ resolution: {integrity: sha512-W8ZfWzLmQnrcky+eh3tni4IozMdqBDiHWU0N+vve/UGjMaUs8c0L7A2oEdkBXS8rTpWDpK/aoI3DG/L/hxmxPg==}
- '@peculiar/asn1-schema@2.6.0':
- resolution: {integrity: sha512-xNLYLBFTBKkCzEZIw842BxytQQATQv+lDTCEMZ8C196iJcJJMBUZxrhSTxLaohMyKK8QlzRNTRkUmanucnDSqg==}
+ '@peculiar/asn1-x509-attr@2.7.0':
+ resolution: {integrity: sha512-NS8e7SOgXipkzUPLF/sce7ukpMpWjhxYsH0n6Y+bHYo4TTxOb95Zv7hqwSuL212mj5YxovjdOKQOgH1As3E94w==}
- '@peculiar/asn1-x509-attr@2.6.1':
- resolution: {integrity: sha512-tlW6cxoHwgcQghnJwv3YS+9OO1737zgPogZ+CgWRUK4roEwIPzRH4JEiG770xe5HX2ATfCpmX60gurfWIF9dcQ==}
+ '@peculiar/asn1-x509@2.7.0':
+ resolution: {integrity: sha512-mUn9RRrkGDnG4ALfunDmzyRW5dg+sWCj/pfnCCqEHYbkGxEpvUt6iVJv8Yw1cyp6SWZ26ZE5oSmI5SqEaen15g==}
- '@peculiar/asn1-x509@2.6.1':
- resolution: {integrity: sha512-O9jT5F1A2+t3r7C4VT7LYGXqkGLK7Kj1xFpz7U0isPrubwU5PbDoyYtx6MiGst29yq7pXN5vZbQFKRCP+lLZlA==}
+ '@peculiar/utils@2.0.3':
+ resolution: {integrity: sha512-+oL3HPFRIZ1St2K50lWCXiioIgSoxzz7R1J3uF6neO2yl1sgmpgY6XXJH4BdpoDkMWznQTeYF6oWNDZLCdQ4eQ==}
'@peculiar/x509@1.14.3':
resolution: {integrity: sha512-C2Xj8FZ0uHWeCXXqX5B4/gVFQmtSkiuOolzAgutjTfseNOHT3pUjljDZsTSxXFGgio54bCzVFqmEOUrIVk8RDA==}
@@ -3155,20 +3186,20 @@ packages:
'@protobufjs/base64@1.1.2':
resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==}
- '@protobufjs/codegen@2.0.4':
- resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==}
+ '@protobufjs/codegen@2.0.5':
+ resolution: {integrity: sha512-zgXFLzW3Ap33e6d0Wlj4MGIm6Ce8O89n/apUaGNB/jx+hw+ruWEp7EwGUshdLKVRCxZW12fp9r40E1mQrf/34g==}
- '@protobufjs/eventemitter@1.1.0':
- resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==}
+ '@protobufjs/eventemitter@1.1.1':
+ resolution: {integrity: sha512-vW1GmwMZNnL+gMRaovlh9yZX74kc+TTU3FObkkurpMaRtBfLP3ldjS9KQWlwZgraRE0+dheEEoAxdzcJQ8eXZg==}
- '@protobufjs/fetch@1.1.0':
- resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==}
+ '@protobufjs/fetch@1.1.1':
+ resolution: {integrity: sha512-GpptLrs57adMSuHi3VNj0mAF8dwh36LMaYF6XyJ6JMWlVsc+t42tm1HSEDmOs3A8fC9yyeisgLhsTVQokOZ0zw==}
'@protobufjs/float@1.0.2':
resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==}
- '@protobufjs/inquire@1.1.0':
- resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==}
+ '@protobufjs/inquire@1.1.2':
+ resolution: {integrity: sha512-pa0vFRuws4wkvaXKK1uXZMAwAX4/t8ANaJo45iw/oQHNQ9q5xUzwgFmVJGXiga2BeN+zpX7Vf9vmsiIa2J+MUw==}
'@protobufjs/path@1.1.2':
resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==}
@@ -3176,111 +3207,116 @@ packages:
'@protobufjs/pool@1.1.0':
resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==}
- '@protobufjs/utf8@1.1.0':
- resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==}
+ '@protobufjs/utf8@1.1.1':
+ resolution: {integrity: sha512-oOAWABowe8EAbMyWKM0tYDKi8Yaox52D+HWZhAIJqQXbqe0xI/GV7FhLWqlEKreMkfDjshR5FKgi3mnle0h6Eg==}
- '@puppeteer/browsers@2.13.0':
- resolution: {integrity: sha512-46BZJYJjc/WwmKjsvDFykHtXrtomsCIrwYQPOP7VfMJoZY2bsDF9oROBABR3paDjDcmkUye1Pb1BqdcdiipaWA==}
- engines: {node: '>=18'}
+ '@puppeteer/browsers@3.0.4':
+ resolution: {integrity: sha512-HGM8iAmGTf+Y7t0373szVbTmt3d7vPkYL/1bpOkOFO0YUYLgSeuYBCzESklogNPvOBnZ/MRD5f07OkpqH1trtA==}
+ engines: {node: '>=22.12.0'}
hasBin: true
+ peerDependencies:
+ proxy-agent: '>=8.0.1'
+ peerDependenciesMeta:
+ proxy-agent:
+ optional: true
- '@rolldown/binding-android-arm64@1.0.0-rc.16':
- resolution: {integrity: sha512-rhY3k7Bsae9qQfOtph2Pm2jZEA+s8Gmjoz4hhmx70K9iMQ/ddeae+xhRQcM5IuVx5ry1+bGfkvMn7D6MJggVSA==}
+ '@rolldown/binding-android-arm64@1.0.2':
+ resolution: {integrity: sha512-ZS4D1JPGn/MYQN/SYDWftIE/nVsM8j/AFOYEzAoOE2O3NktQOZru+/vYXGbR/qtdLdIfGCP0lcoJiYVzsEz+iQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [android]
- '@rolldown/binding-darwin-arm64@1.0.0-rc.16':
- resolution: {integrity: sha512-rNz0yK078yrNn3DrdgN+PKiMOW8HfQ92jQiXxwX8yW899ayV00MLVdaCNeVBhG/TbH3ouYVObo8/yrkiectkcQ==}
+ '@rolldown/binding-darwin-arm64@1.0.2':
+ resolution: {integrity: sha512-vdFA9+C/rekyGce7WqHs/xoT0ioZEWaOFyZLIV1mEeNFaFDUQrPIo8Vs2GvJ6eetb3rzDUtUBgzto3ExpXJB3w==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [darwin]
- '@rolldown/binding-darwin-x64@1.0.0-rc.16':
- resolution: {integrity: sha512-r/OmdR00HmD4i79Z//xO06uEPOq5hRXdhw7nzkxQxwSavs3PSHa1ijntdpOiZ2mzOQ3fVVu8C1M19FoNM+dMUQ==}
+ '@rolldown/binding-darwin-x64@1.0.2':
+ resolution: {integrity: sha512-BewSOwTHazv77DTYiAZXSqqKZ4KP/KonFisDMVU7PImxoWfB2aepnPhd2E4SWz3zDzYgDNbs6jBmTdgNnF02GA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [darwin]
- '@rolldown/binding-freebsd-x64@1.0.0-rc.16':
- resolution: {integrity: sha512-KcRE5w8h0OnjUatG8pldyD14/CQ5Phs1oxfR+3pKDjboHRo9+MkqQaiIZlZRpsxC15paeXme/I127tUa9TXJ6g==}
+ '@rolldown/binding-freebsd-x64@1.0.2':
+ resolution: {integrity: sha512-m41o7M0YWtUdqk61Tb+jnKb2rN++iRdIASlExkUoKfIAH30DOHCB8fVLzSUpbWHHU8esmEioY62PxzexE8MBuA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [freebsd]
- '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.16':
- resolution: {integrity: sha512-bT0guA1bpxEJ/ZhTRniQf7rNF8ybvXOuWbNIeLABaV5NGjx4EtOWBTSRGWFU9ZWVkPOZ+HNFP8RMcBokBiZ0Kg==}
+ '@rolldown/binding-linux-arm-gnueabihf@1.0.2':
+ resolution: {integrity: sha512-jcojB9H7W/jS29pMKWAK1N+fU99vXodHDTatS3b3y/XSOCiHo0kkA74pL3jJmkoQtYpOCxDvaKs1fo2Ij/1X5w==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm]
os: [linux]
- '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.16':
- resolution: {integrity: sha512-+tHktCHWV8BDQSjemUqm/Jl/TPk3QObCTIjmdDy/nlupcujZghmKK2962LYrqFpWu+ai01AN/REOH3NEpqvYQg==}
+ '@rolldown/binding-linux-arm64-gnu@1.0.2':
+ resolution: {integrity: sha512-1jn6qDU5iiOgFgygDzKUuKP0maTi0/f1+sBLgvij/76C77Nm3ts6ufz9Bjg5q5dduxiUIxtq86JIoBvo1xQ4Ig==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
libc: [glibc]
- '@rolldown/binding-linux-arm64-musl@1.0.0-rc.16':
- resolution: {integrity: sha512-3fPzdREH806oRLxpTWW1Gt4tQHs0TitZFOECB2xzCFLPKnSOy90gwA7P29cksYilFO6XVRY1kzga0cL2nRjKPg==}
+ '@rolldown/binding-linux-arm64-musl@1.0.2':
+ resolution: {integrity: sha512-QVLO/czFMdoMFSqlX3bcswcJNm/23r+qoa/jgtmFc/qEp6/jXmIkDjF/XIo8dPfGaiwy1xfQn8o77L79GeXFgw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
libc: [musl]
- '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.16':
- resolution: {integrity: sha512-EKwI1tSrLs7YVw+JPJT/G2dJQ1jl9qlTTTEG0V2Ok/RdOenRfBw2PQdLPyjhIu58ocdBfP7vIRN/pvMsPxs/AQ==}
+ '@rolldown/binding-linux-ppc64-gnu@1.0.2':
+ resolution: {integrity: sha512-hgO5Abm0w5UL6FEa2iFnZqo2KlK7TQ5QhV5x09hujBf7t5KzHQ1VmfPuTpqRy/rNlSxua3eWH374xxiVrP+lcA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [ppc64]
os: [linux]
libc: [glibc]
- '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.16':
- resolution: {integrity: sha512-Uknladnb3Sxqu6SEcqBldQyJUpk8NleooZEc0MbRBJ4inEhRYWZX0NJu12vNf2mqAq7gsofAxHrGghiUYjhaLQ==}
+ '@rolldown/binding-linux-s390x-gnu@1.0.2':
+ resolution: {integrity: sha512-fy8rXxuYEu602abC8MUNaPjYLIFzReOaEIEMKMUa0rFEUxNpVXhs15KSSQ4qlqSaM7B6rcj9rDZgADh/IGDzLQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [s390x]
os: [linux]
libc: [glibc]
- '@rolldown/binding-linux-x64-gnu@1.0.0-rc.16':
- resolution: {integrity: sha512-FIb8+uG49sZBtLTn+zt1AJ20TqVcqWeSIyoVt0or7uAWesgKaHbiBh6OpA/k9v0LTt+PTrb1Lao133kP4uVxkg==}
+ '@rolldown/binding-linux-x64-gnu@1.0.2':
+ resolution: {integrity: sha512-0+bOkiQ779+r1WpoHOWHqncvyySci0vKph+myNDYb+im6meJAzHQXay6oEgnkHuUGouM1LKTZwqKpBow6Kj7CQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
libc: [glibc]
- '@rolldown/binding-linux-x64-musl@1.0.0-rc.16':
- resolution: {integrity: sha512-RuERhF9/EgWxZEXYWCOaViUWHIboceK4/ivdtQ3R0T44NjLkIIlGIAVAuCddFxsZ7vnRHtNQUrt2vR2n2slB2w==}
+ '@rolldown/binding-linux-x64-musl@1.0.2':
+ resolution: {integrity: sha512-mjSkrzZK5Qsl0a9d1JgILOiuZOSDTVdKENcSXBoqbzSrspLR/4/IRVDo5wd2GgZjNss/viBFJdeq+j7qH2nypw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
libc: [musl]
- '@rolldown/binding-openharmony-arm64@1.0.0-rc.16':
- resolution: {integrity: sha512-mXcXnvd9GpazCxeUCCnZ2+YF7nut+ZOEbE4GtaiPtyY6AkhZWbK70y1KK3j+RDhjVq5+U8FySkKRb/+w0EeUwA==}
+ '@rolldown/binding-openharmony-arm64@1.0.2':
+ resolution: {integrity: sha512-1v5vHasdfQAZoEHakBV72LIFAC9JjnymsiKxp+GEr/ma3+NJCPSaYK+qavInOovJkgwFrs7GccX2d6IgDA3Z5w==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [openharmony]
- '@rolldown/binding-wasm32-wasi@1.0.0-rc.16':
- resolution: {integrity: sha512-3Q2KQxnC8IJOLqXmUMoYwyIPZU9hzRbnHaoV3Euz+VVnjZKcY8ktnNP8T9R4/GGQtb27C/UYKABxesKWb8lsvQ==}
+ '@rolldown/binding-wasm32-wasi@1.0.2':
+ resolution: {integrity: sha512-mb1VobWn6NheziTk5/WEaR6AKVbrwT5sOi6C7zk3gy/pD1qtJfU1j4PgTo2NJnOtbL9Dl3Aeei8w9jJ7qC2jZQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [wasm32]
- '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.16':
- resolution: {integrity: sha512-tj7XRemQcOcFwv7qhpUxMTBbI5mWMlE4c1Omhg5+h8GuLXzyj8HviYgR+bB2DMDgRqUE+jiDleqSCRjx4aYk/Q==}
+ '@rolldown/binding-win32-arm64-msvc@1.0.2':
+ resolution: {integrity: sha512-SqKonF56vA/L2yHwHYcEp2P34URpOZ7d1fS635cTkpDnUtEGdUbhI6NzsPdqeSWvAAeGDrxjWjNmibDIdFf9/A==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [win32]
- '@rolldown/binding-win32-x64-msvc@1.0.0-rc.16':
- resolution: {integrity: sha512-PH5DRZT+F4f2PTXRXR8uJxnBq2po/xFtddyabTJVJs/ZYVHqXPEgNIr35IHTEa6bpa0Q8Awg+ymkTaGnKITw4g==}
+ '@rolldown/binding-win32-x64-msvc@1.0.2':
+ resolution: {integrity: sha512-v7qRI7gXLRINcOGXt+7YmAZ6iFuyZVMIoXAxhd8oP+DR9dLfL9GfNIx7PLMxmhZdvq8waUJBQiWN9EKNy+TRBQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [win32]
- '@rolldown/pluginutils@1.0.0-rc.16':
- resolution: {integrity: sha512-45+YtqxLYKDWQouLKCrpIZhke+nXxhsw+qAHVzHDVwttyBlHNBVs2K25rDXrZzhpTp9w1FlAlvweV1H++fdZoA==}
+ '@rolldown/pluginutils@1.0.1':
+ resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==}
'@rollup/plugin-alias@6.0.0':
resolution: {integrity: sha512-tPCzJOtS7uuVZd+xPhoy5W4vThe6KWXNmsFCNktaAh5RTqcLiSfT4huPQIXkgJ6YCOjJHvecOAzQxLFhPxKr+g==}
@@ -3327,146 +3363,146 @@ packages:
rollup:
optional: true
- '@rollup/rollup-android-arm-eabi@4.60.2':
- resolution: {integrity: sha512-dnlp69efPPg6Uaw2dVqzWRfAWRnYVb1XJ8CyyhIbZeaq4CA5/mLeZ1IEt9QqQxmbdvagjLIm2ZL8BxXv5lH4Yw==}
+ '@rollup/rollup-android-arm-eabi@4.60.4':
+ resolution: {integrity: sha512-F5QXMSiFebS9hKZj02XhWLLnRpJ3B3AROP0tWbFBSj+6kCbg5m9j5JoHKd4mmSVy5mS/IMQloYgYxCuJC0fxEQ==}
cpu: [arm]
os: [android]
- '@rollup/rollup-android-arm64@4.60.2':
- resolution: {integrity: sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==}
+ '@rollup/rollup-android-arm64@4.60.4':
+ resolution: {integrity: sha512-GxxTKApUpzRhof7poWvCJHRF51C67u1R7D6DiluBE8wKU1u5GWE8t+v81JvJYtbawoBFX1hLv5Ei4eVjkWokaw==}
cpu: [arm64]
os: [android]
- '@rollup/rollup-darwin-arm64@4.60.2':
- resolution: {integrity: sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==}
+ '@rollup/rollup-darwin-arm64@4.60.4':
+ resolution: {integrity: sha512-tua0TaJxMOB1R0V0RS1jFZ/RpURFDJIOR2A6jWwQeawuFyS4gBW+rntLRaQd0EQ4bd6Vp44Z2rXW+YYDBsj6IA==}
cpu: [arm64]
os: [darwin]
- '@rollup/rollup-darwin-x64@4.60.2':
- resolution: {integrity: sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==}
+ '@rollup/rollup-darwin-x64@4.60.4':
+ resolution: {integrity: sha512-CSKq7MsP+5PFIcydhAiR1K0UhEI1A2jWXVKHPCBZ151yOutENwvnPocgVHkivu2kviURtCEB6zUQw0vs8RrhMg==}
cpu: [x64]
os: [darwin]
- '@rollup/rollup-freebsd-arm64@4.60.2':
- resolution: {integrity: sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==}
+ '@rollup/rollup-freebsd-arm64@4.60.4':
+ resolution: {integrity: sha512-+O8OkVdyvXMtJEciu2wS/pzm1IxntEEQx3z5TAVy4l32G0etZn+RsA48ARRrFm6Ri8fvqPQfgrvNxSjKAbnd3g==}
cpu: [arm64]
os: [freebsd]
- '@rollup/rollup-freebsd-x64@4.60.2':
- resolution: {integrity: sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==}
+ '@rollup/rollup-freebsd-x64@4.60.4':
+ resolution: {integrity: sha512-Iw3oMskH3AfNuhU0MSN7vNbdi4me/NiYo2azqPz/Le16zHSa+3RRmliCMWWQmh4lcndccU40xcJuTYJZxNo/lw==}
cpu: [x64]
os: [freebsd]
- '@rollup/rollup-linux-arm-gnueabihf@4.60.2':
- resolution: {integrity: sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==}
+ '@rollup/rollup-linux-arm-gnueabihf@4.60.4':
+ resolution: {integrity: sha512-EIPRXTVQpHyF8WOo219AD2yEltPehLTcTMz2fn6JsatLYSzQf00hj3rulF+yauOlF9/FtM2WpkT/hJh/KJFGhA==}
cpu: [arm]
os: [linux]
libc: [glibc]
- '@rollup/rollup-linux-arm-musleabihf@4.60.2':
- resolution: {integrity: sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==}
+ '@rollup/rollup-linux-arm-musleabihf@4.60.4':
+ resolution: {integrity: sha512-J3Yh9PzzF1Ovah2At+lHiGQdsYgArxBbXv/zHfSyaiFQEqvNv7DcW98pCrmdjCZBrqBiKrKKe2V+aaSGWuBe/w==}
cpu: [arm]
os: [linux]
libc: [musl]
- '@rollup/rollup-linux-arm64-gnu@4.60.2':
- resolution: {integrity: sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==}
+ '@rollup/rollup-linux-arm64-gnu@4.60.4':
+ resolution: {integrity: sha512-BFDEZMYfUvLn37ONE1yMBojPxnMlTFsdyNoqncT0qFq1mAfllL+ATMMJd8TeuVMiX84s1KbcxcZbXInmcO2mRg==}
cpu: [arm64]
os: [linux]
libc: [glibc]
- '@rollup/rollup-linux-arm64-musl@4.60.2':
- resolution: {integrity: sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==}
+ '@rollup/rollup-linux-arm64-musl@4.60.4':
+ resolution: {integrity: sha512-pc9EYOSlOgdQ2uPl1o9PF6/kLSgaUosia7gOuS8mB69IxJvlclko1MECXysjs5ryez1/5zjYqx3+xYU0TU6R1A==}
cpu: [arm64]
os: [linux]
libc: [musl]
- '@rollup/rollup-linux-loong64-gnu@4.60.2':
- resolution: {integrity: sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==}
+ '@rollup/rollup-linux-loong64-gnu@4.60.4':
+ resolution: {integrity: sha512-NxnomyxYerDh5n4iLrNa+sH+Z+U4BMEE46V2PgQ/hoB909i8gV1M5wPojWg9fk1jWpO3IQnOs20K4wyZuFLEFQ==}
cpu: [loong64]
os: [linux]
libc: [glibc]
- '@rollup/rollup-linux-loong64-musl@4.60.2':
- resolution: {integrity: sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==}
+ '@rollup/rollup-linux-loong64-musl@4.60.4':
+ resolution: {integrity: sha512-nbJnQ8a3z1mtmrwImCYhc6BGpThAyYVRQxw9uKSKG4wR6aAYno9sVjJ0zaZcW9BPJX1GbrDPf+SvdWjgTuDmnw==}
cpu: [loong64]
os: [linux]
libc: [musl]
- '@rollup/rollup-linux-ppc64-gnu@4.60.2':
- resolution: {integrity: sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==}
+ '@rollup/rollup-linux-ppc64-gnu@4.60.4':
+ resolution: {integrity: sha512-2EU6acNrQLd8tYvo/LXW535wupT3m6fo7HKo6lr7ktQoItxTyOL1ZCR/GfGCuXl2vR+zmfI6eRXkSemafv+iVg==}
cpu: [ppc64]
os: [linux]
libc: [glibc]
- '@rollup/rollup-linux-ppc64-musl@4.60.2':
- resolution: {integrity: sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==}
+ '@rollup/rollup-linux-ppc64-musl@4.60.4':
+ resolution: {integrity: sha512-WeBtoMuaMxiiIrO2IYP3xs6GMWkJP2C0EoT8beTLkUPmzV1i/UcOSVw1d5r9KBODtHKilG5yFxsGRnBbK3wJ4A==}
cpu: [ppc64]
os: [linux]
libc: [musl]
- '@rollup/rollup-linux-riscv64-gnu@4.60.2':
- resolution: {integrity: sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==}
+ '@rollup/rollup-linux-riscv64-gnu@4.60.4':
+ resolution: {integrity: sha512-FJHFfqpKUI3A10WrWKiFbBZ7yVbGT4q4B5o1qKFFojqpaYoh9LrQgqWCmmcxQzVSXYtyB5bzkXrYzlHTs21MYA==}
cpu: [riscv64]
os: [linux]
libc: [glibc]
- '@rollup/rollup-linux-riscv64-musl@4.60.2':
- resolution: {integrity: sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==}
+ '@rollup/rollup-linux-riscv64-musl@4.60.4':
+ resolution: {integrity: sha512-mcEl6CUT5IAUmQf1m9FYSmVqCJlpQ8r8eyftFUHG8i9OhY7BkBXSUdnLH5DOf0wCOjcP9v/QO93zpmF1SptCCw==}
cpu: [riscv64]
os: [linux]
libc: [musl]
- '@rollup/rollup-linux-s390x-gnu@4.60.2':
- resolution: {integrity: sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==}
+ '@rollup/rollup-linux-s390x-gnu@4.60.4':
+ resolution: {integrity: sha512-ynt3JxVd2w2buzoKDWIyiV1pJW93xlQic1THVLXilz429oijRpSHivZAgp65KBu+cMcgf1eVVjdnTLvPxgCuoQ==}
cpu: [s390x]
os: [linux]
libc: [glibc]
- '@rollup/rollup-linux-x64-gnu@4.60.2':
- resolution: {integrity: sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==}
+ '@rollup/rollup-linux-x64-gnu@4.60.4':
+ resolution: {integrity: sha512-Boiz5+MsaROEWDf+GGEwF8VMHGhlUoQMtIPjOgA5fv4osupqTVnJteQNKJwUcnUog2G55jYXH7KZFFiJe0TEzQ==}
cpu: [x64]
os: [linux]
libc: [glibc]
- '@rollup/rollup-linux-x64-musl@4.60.2':
- resolution: {integrity: sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==}
+ '@rollup/rollup-linux-x64-musl@4.60.4':
+ resolution: {integrity: sha512-+qfSY27qIrFfI/Hom04KYFw3GKZSGU4lXus51wsb5EuySfFlWRwjkKWoE9emgRw/ukoT4Udsj4W/+xxG8VbPKg==}
cpu: [x64]
os: [linux]
libc: [musl]
- '@rollup/rollup-openbsd-x64@4.60.2':
- resolution: {integrity: sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==}
+ '@rollup/rollup-openbsd-x64@4.60.4':
+ resolution: {integrity: sha512-VpTfOPHgVXEBeeR8hZ2O0F3aSso+JDWqTWmTmzcQKted54IAdUVbxE+j/MVxUsKa8L20HJhv3vUezVPoquqWjA==}
cpu: [x64]
os: [openbsd]
- '@rollup/rollup-openharmony-arm64@4.60.2':
- resolution: {integrity: sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==}
+ '@rollup/rollup-openharmony-arm64@4.60.4':
+ resolution: {integrity: sha512-IPOsh5aRYuLv/nkU51X10Bf75Bsf6+gZdx1X+QP5QM6lIJFHHqbHLG0uJn/hWthzo13UAc2umiUorqZy3axoZg==}
cpu: [arm64]
os: [openharmony]
- '@rollup/rollup-win32-arm64-msvc@4.60.2':
- resolution: {integrity: sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==}
+ '@rollup/rollup-win32-arm64-msvc@4.60.4':
+ resolution: {integrity: sha512-4QzE9E81OohJ/HKzHhsqU+zcYYojVOXlFMs1DdyMT6qXl/niOH7AVElmmEdUNHHS/oRkc++d5k6Vy85zFs0DEw==}
cpu: [arm64]
os: [win32]
- '@rollup/rollup-win32-ia32-msvc@4.60.2':
- resolution: {integrity: sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==}
+ '@rollup/rollup-win32-ia32-msvc@4.60.4':
+ resolution: {integrity: sha512-zTPgT1YuHHcd+Tmx7h8aml0FWFVelV5N54oHow9SLj+GfoDy/huQ+UV396N/C7KpMDMiPspRktzM1/0r1usYEA==}
cpu: [ia32]
os: [win32]
- '@rollup/rollup-win32-x64-gnu@4.60.2':
- resolution: {integrity: sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==}
+ '@rollup/rollup-win32-x64-gnu@4.60.4':
+ resolution: {integrity: sha512-DRS4G7mi9lJxqEDezIkKCaUIKCrLUUDCUaCsTPCi/rtqaC6D/jjwslMQyiDU50Ka0JKpeXeRBFBAXwArY52vBw==}
cpu: [x64]
os: [win32]
- '@rollup/rollup-win32-x64-msvc@4.60.2':
- resolution: {integrity: sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==}
+ '@rollup/rollup-win32-x64-msvc@4.60.4':
+ resolution: {integrity: sha512-QVTUovf40zgTqlFVrKA1uXMVvU2QWEFWfAH8Wdc48IxLvrJMQVMBRjuQyUpzZCDkakImib9eVazbWlC6ksWtJw==}
cpu: [x64]
os: [win32]
- '@rollup/wasm-node@4.60.2':
- resolution: {integrity: sha512-FOfZOg752WSyKNefpSM3WrhggSTSuKuwcSfF7tdWC9PBYYg7BLwBR267uShFAI1ZyA0gNkdqK16LL9mNOPsQ1Q==}
+ '@rollup/wasm-node@4.60.4':
+ resolution: {integrity: sha512-j6qaRjdDujJ5utX5l6+8eiWlvMLmBfPMBht8mHP2au3xuzf+4deu6PuCquH5GvDIvIOsWHZhA1UVz/s0FvvgAA==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
@@ -3477,8 +3513,8 @@ packages:
resolution: {integrity: sha512-NwCl5Y0V6Di0NexvkTqdoVfmjTaQwoLM236r89KEojGmq/jMls8S+zb7yOwAPdXvbwfKDlP+lmXgAL4vKSQT+A==}
engines: {node: ^20.17.0 || >=22.9.0}
- '@sigstore/core@3.2.0':
- resolution: {integrity: sha512-kxHrDQ9YgfrWUSXU0cjsQGv8JykOFZQ9ErNKbFPWzk3Hgpwu8x2hHrQ9IdA8yl+j9RTLTC3sAF3Tdq1IQCP4oA==}
+ '@sigstore/core@3.2.1':
+ resolution: {integrity: sha512-qRsxPnCrbC/puegGxKuynfnxgLiHqWStrSjxkoB4YKqq3Z3s4cyZyj42ZdWFAEblNP65C+rBH8EuREHIXoi83g==}
engines: {node: ^20.17.0 || >=22.9.0}
'@sigstore/protobuf-specs@0.5.1':
@@ -3493,8 +3529,8 @@ packages:
resolution: {integrity: sha512-TCAzTy0xzdP79EnxSjq9KQ3eaR7+FmudLC6eRKknVKZbV7ZNlGLClAAQb/HMNJ5n2OBNk2GT1tEmU0xuPr+SLQ==}
engines: {node: ^20.17.0 || >=22.9.0}
- '@sigstore/verify@3.1.0':
- resolution: {integrity: sha512-mNe0Iigql08YupSOGv197YdHpPPr+EzDZmfCgMc7RPNaZTw5aLN01nBl6CHJOh3BGtnMIj83EeN4butBchc8Ag==}
+ '@sigstore/verify@3.1.1':
+ resolution: {integrity: sha512-qv7+G3J2cc6wwFj3yKvXOamzqhMwSk1ogPGmhpS8iXllcPrJaIIBA+4HbttlHVu1pqWTdmaCH/WE7UOC51kdoA==}
engines: {node: ^20.17.0 || >=22.9.0}
'@simple-libs/child-process-utils@1.0.2':
@@ -3530,9 +3566,6 @@ packages:
peerDependencies:
eslint: '>=7.7.0'
- '@tootallnate/quickjs-emscripten@0.23.0':
- resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==}
-
'@tufjs/canonical-json@2.0.0':
resolution: {integrity: sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==}
engines: {node: ^16.14.0 || >=18.0.0}
@@ -3541,8 +3574,8 @@ packages:
resolution: {integrity: sha512-Y8cK9aggNRsqJVaKUlEYs4s7CvQ1b1ta2DVPyAimb0I2qhzjNk+A+mxvll/klL0RlfuIUei8BF7YWiua4kQqww==}
engines: {node: ^20.17.0 || >=22.9.0}
- '@tybys/wasm-util@0.10.1':
- resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==}
+ '@tybys/wasm-util@0.10.2':
+ resolution: {integrity: sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==}
'@types/babel__core@7.20.5':
resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
@@ -3592,18 +3625,15 @@ packages:
'@types/ejs@3.1.5':
resolution: {integrity: sha512-nv+GSx77ZtXiJzwKdsASqi+YQ5Z7vwHsTP0JY2SiQgjGckkBRKZnk8nIM+7oUZ1VCtuTz0+By4qVR7fqzp/Dfg==}
- '@types/eslint-scope@3.7.7':
- resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==}
-
- '@types/eslint@9.6.1':
- resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==}
-
'@types/esrecurse@4.3.1':
resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==}
'@types/estree@1.0.8':
resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
+ '@types/estree@1.0.9':
+ resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==}
+
'@types/events@3.0.3':
resolution: {integrity: sha512-trOc4AAUThEz9hapPtSd7wf5tiQKvTtu5b371UxXdTuqzIh0ArcRspRP0i0Viu+LXstIQ1z96t1nsPxT9ol01g==}
@@ -3667,11 +3697,11 @@ packages:
'@types/node-fetch@2.6.13':
resolution: {integrity: sha512-QGpRVpzSaUs30JBSGPjOg4Uveu384erbHBoT1zeONvyCfwQxIkUshLAOqN/k9EjGviPRmWTTe6aH2qySWKTVSw==}
- '@types/node@22.19.17':
- resolution: {integrity: sha512-wGdMcf+vPYM6jikpS/qhg6WiqSV/OhG+jeeHT/KlVqxYfD40iYJf9/AE1uQxVWFvU7MipKRkRv8NSHiCGgPr8Q==}
+ '@types/node@22.19.19':
+ resolution: {integrity: sha512-dyh/xO2Fh5bYrfWaaqGrRQQGkNdmYw6AmaAUvYeUMNTWQtvb796ikLdmTchRmOlOiIJ1TDXfWgVx1QkUlQ6Hew==}
- '@types/node@24.12.2':
- resolution: {integrity: sha512-A1sre26ke7HDIuY/M23nd9gfB+nrmhtYyMINbjI1zHJxYteKR6qSMX56FsmjMcDb3SMcjJg5BiRRgOCC/yBD0g==}
+ '@types/node@24.12.4':
+ resolution: {integrity: sha512-GUUEShf+PBCGW2KaXwcIt3Yk+e3pkKwWKb9GSyM9WQVE+ep2jzmHdGsHzu4wgcZy5fN9FBdVzjpBQsYlpfpgLA==}
'@types/npm-package-arg@6.1.4':
resolution: {integrity: sha512-vDgdbMy2QXHnAruzlv68pUtXCjmqUk3WrBAsRboRovsOmxbfn/WiYCjmecyKjGztnMps5dWp4Uq2prp+Ilo17Q==}
@@ -3697,8 +3727,8 @@ packages:
'@types/pumpify@1.4.5':
resolution: {integrity: sha512-BGVAQyK5yJdfIII230fVYGY47V63hUNAhryuuS3b4lEN2LNwxUXFKsEf8QLDCjmZuimlj23BHppJgcrGvNtqKg==}
- '@types/qs@6.15.0':
- resolution: {integrity: sha512-JawvT8iBVWpzTrz3EGw9BTQFg3BQNmwERdKE22vlTxawwtbyUSlMppvZYKLZzB5zgACXdXxbD3m1bXaMqP/9ow==}
+ '@types/qs@6.15.1':
+ resolution: {integrity: sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==}
'@types/range-parser@1.2.7':
resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==}
@@ -3763,157 +3793,138 @@ packages:
'@types/yarnpkg__lockfile@1.1.9':
resolution: {integrity: sha512-GD4Fk15UoP5NLCNor51YdfL9MSdldKCqOC9EssrRw3HVfar9wUZ5y8Lfnp+qVD6hIinLr8ygklDYnmlnlQo12Q==}
- '@types/yauzl@2.10.3':
- resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==}
-
- '@typescript-eslint/eslint-plugin@8.58.2':
- resolution: {integrity: sha512-aC2qc5thQahutKjP+cl8cgN9DWe3ZUqVko30CMSZHnFEHyhOYoZSzkGtAI2mcwZ38xeImDucI4dnqsHiOYuuCw==}
+ '@typescript-eslint/eslint-plugin@8.60.0':
+ resolution: {integrity: sha512-QYb/sa74/s7OKMbACMjrYnGspj9Hs5YI5aaffSL65UfeBUzVzBJfVo3oWSpbzPurvm7yaCCo2Lk7lVj610HqKw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- '@typescript-eslint/parser': ^8.58.2
+ '@typescript-eslint/parser': ^8.60.0
eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
typescript: '>=4.8.4 <6.1.0'
- '@typescript-eslint/parser@8.58.2':
- resolution: {integrity: sha512-/Zb/xaIDfxeJnvishjGdcR4jmr7S+bda8PKNhRGdljDM+elXhlvN0FyPSsMnLmJUrVG9aPO6dof80wjMawsASg==}
+ '@typescript-eslint/parser@8.60.0':
+ resolution: {integrity: sha512-fcqpj/MyK4sxDPcbe7STNPbpQL4RLZOPWuaTmwZYuc+hJKzRf58yRxfhqGpc6PIq9ZyfSBpfHgmUHmHs0KwHwg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
typescript: '>=4.8.4 <6.1.0'
- '@typescript-eslint/project-service@8.58.2':
- resolution: {integrity: sha512-Cq6UfpZZk15+r87BkIh5rDpi38W4b+Sjnb8wQCPPDDweS/LRCFjCyViEbzHk5Ck3f2QDfgmlxqSa7S7clDtlfg==}
+ '@typescript-eslint/project-service@8.60.0':
+ resolution: {integrity: sha512-aZu74NNKJeUWqCjDddzdiKaS82dgYgV/vmf+Ui3ZdZejmgfXR/q+pRumgobnQ2cCJTgGTWp4ypiwsuofFubavg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.1.0'
- '@typescript-eslint/scope-manager@8.58.2':
- resolution: {integrity: sha512-SgmyvDPexWETQek+qzZnrG6844IaO02UVyOLhI4wpo82dpZJY9+6YZCKAMFzXb7qhx37mFK1QcPQ18tud+vo6Q==}
+ '@typescript-eslint/scope-manager@8.60.0':
+ resolution: {integrity: sha512-pFzqhllJMs+jghLQWzV00ds39xLzuyqPSev5pd8f4Ir0rtKR3ZLUB4/4dhjOFighWb9larvtfJvqL+4yKDI3Xw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/tsconfig-utils@8.58.2':
- resolution: {integrity: sha512-3SR+RukipDvkkKp/d0jP0dyzuls3DbGmwDpVEc5wqk5f38KFThakqAAO0XMirWAE+kT00oTauTbzMFGPoAzB0A==}
+ '@typescript-eslint/tsconfig-utils@8.60.0':
+ resolution: {integrity: sha512-BZPR3RGYlAXnly6ymAxfkVn5rCbZzQNou0rxv3GfWZ8cTQp+hhVd73khbGLAd8k1TlAPLISH337M+tAgAnaJDQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.1.0'
- '@typescript-eslint/type-utils@8.58.2':
- resolution: {integrity: sha512-Z7EloNR/B389FvabdGeTo2XMs4W9TjtPiO9DAsmT0yom0bwlPyRjkJ1uCdW1DvrrrYP50AJZ9Xc3sByZA9+dcg==}
+ '@typescript-eslint/type-utils@8.60.0':
+ resolution: {integrity: sha512-SX46wEUtitCpq7AN38HkUU/+zvUpdKf7ephtWAFgckH8O7PQIyL5gvrhQgBLuEYgLfuKWOVvWVskMbuFHAz5xg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
typescript: '>=4.8.4 <6.1.0'
- '@typescript-eslint/types@8.58.2':
- resolution: {integrity: sha512-9TukXyATBQf/Jq9AMQXfvurk+G5R2MwfqQGDR2GzGz28HvY/lXNKGhkY+6IOubwcquikWk5cjlgPvD2uAA7htQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
- '@typescript-eslint/types@8.59.0':
- resolution: {integrity: sha512-nLzdsT1gdOgFxxxwrlNVUBzSNBEEHJ86bblmk4QAS6stfig7rcJzWKqCyxFy3YRRHXDWEkb2NralA1nOYkkm/A==}
+ '@typescript-eslint/types@8.60.0':
+ resolution: {integrity: sha512-AsE7x2XaAK+CVbeih0Fvbn+r1qHxtpLDJ3XUuFcIinT318T90yHMJC+Zgv+jUuDjQQd06HKwxnDu6sz1IcTilA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/typescript-estree@8.58.2':
- resolution: {integrity: sha512-ELGuoofuhhoCvNbQjFFiobFcGgcDCEm0ThWdmO4Z0UzLqPXS3KFvnEZ+SHewwOYHjM09tkzOWXNTv9u6Gqtyuw==}
+ '@typescript-eslint/typescript-estree@8.60.0':
+ resolution: {integrity: sha512-3AcZNBGMClm6CXDyo8kYvVGT/sx29sS0oBsIb9oZI2gunA4Vm2M3YHzRLPvsUBBsl+yB5FPtltq7gGH0iTlp9g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.1.0'
- '@typescript-eslint/utils@8.58.2':
- resolution: {integrity: sha512-QZfjHNEzPY8+l0+fIXMvuQ2sJlplB4zgDZvA+NmvZsZv3EQwOcc1DuIU1VJUTWZ/RKouBMhDyNaBMx4sWvrzRA==}
+ '@typescript-eslint/utils@8.60.0':
+ resolution: {integrity: sha512-HtXuPfrHTyBDkameWpl+vJb1Uevu2tznAyahM1Oc4AENidCLTPiZDWIo4GfcxNdC/RcfGcadzzkqbRG87dUrQA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0 || ^10.0.0
typescript: '>=4.8.4 <6.1.0'
- '@typescript-eslint/visitor-keys@8.58.2':
- resolution: {integrity: sha512-f1WO2Lx8a9t8DARmcWAUPJbu0G20bJlj8L4z72K00TMeJAoyLr/tHhI/pzYBLrR4dXWkcxO1cWYZEOX8DKHTqA==}
+ '@typescript-eslint/visitor-keys@8.60.0':
+ resolution: {integrity: sha512-9WI52t8ZGLVGrPMBet25yAftqY/n95+zmoUUtJBBQTKDSKUu7OsPTroT2op7U9JatkoRccL0YkWDNMFfC4Sjxg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@verdaccio/auth@8.0.0-next-8.37':
- resolution: {integrity: sha512-wvKPnjDZReT0gSxntUbcOYl23m2mHeMT9a/uhRMdw3pbraSgozatnf3UuoTd6Uyfm3vn+HHAHqzudUn1+yD4rw==}
- engines: {node: '>=18'}
-
- '@verdaccio/config@8.0.0-next-8.37':
- resolution: {integrity: sha512-SbmDMJpora293B+TDYfxJL5LEaFh7gdh0MmkPJCBkmGlRPmynTfHcQzVzAll3+IMYFkrf1zZtq/qlgorjaoFoQ==}
- engines: {node: '>=18'}
-
- '@verdaccio/core@8.0.0':
- resolution: {integrity: sha512-bfJjO1AsLhmjpAG7eABmiA5U3ntGfcMCp4sqjejkkaXfNdl9lwqr5nXFT4NRS460StcsblUNhE1veZbepsxu2Q==}
+ '@verdaccio/auth@8.0.2':
+ resolution: {integrity: sha512-Qw5DhIIzNsM1ORbrnYDKQ2iA1ACWZkjWtxXrYFh577at9+H9QR45m3mMokcRVr3t2UBNFEmMb5cGTrReFa5Dzw==}
engines: {node: '>=18'}
- '@verdaccio/core@8.0.0-next-8.21':
- resolution: {integrity: sha512-n3Y8cqf84cwXxUUdTTfEJc8fV55PONPKijCt2YaC0jilb5qp1ieB3d4brqTOdCdXuwkmnG2uLCiGpUd/RuSW0Q==}
+ '@verdaccio/config@8.1.1':
+ resolution: {integrity: sha512-N9nS1AAME02iuhC2B3v67NnKQp2MkUoN5uUQ2JoS2seWQ6Bjs8dnkWfh4B9N5QTVjUQx4ETYOb3M+UqUJDJT8A==}
engines: {node: '>=18'}
- '@verdaccio/core@8.0.0-next-8.37':
- resolution: {integrity: sha512-R8rDEa2mPjfHhEK2tWTMFnrfvyNmTd5ZrNz9X5/EiFVJPr/+oo9cTZkDXzY9+KREJUUIUFili4qynmBt0lw8nw==}
+ '@verdaccio/core@8.1.1':
+ resolution: {integrity: sha512-IIgi8PucT67ymIwxwzc+5CGQF97xAPWlqb7M2nidfIpPtlghPjURDP6xHDcBLuE57adZKcklO24kr6zFSQa7cg==}
engines: {node: '>=18'}
- '@verdaccio/file-locking@10.3.1':
- resolution: {integrity: sha512-oqYLfv3Yg3mAgw9qhASBpjD50osj2AX4IwbkUtyuhhKGyoFU9eZdrbeW6tpnqUnj6yBMtAPm2eGD4BwQuX400g==}
- engines: {node: '>=12'}
-
- '@verdaccio/file-locking@13.0.0-next-8.7':
- resolution: {integrity: sha512-XL12Okp4YQd0ogYMyGc+JrqrtVC+76V5hUGCK+s/VluSFSZaJQiLs4MoUPsKfwGhqXHCAm1JcNaz4L5LoXNbjQ==}
+ '@verdaccio/file-locking@13.0.1':
+ resolution: {integrity: sha512-SZ9uxnQKppiM+/67xTaaBP4AZ/Q+weUB22ci1gF861icYWhWFu3njA3ofYig/4yNqkYRVEKVAIwnH97BaBEYbg==}
engines: {node: '>=18'}
- '@verdaccio/hooks@8.0.0-next-8.37':
- resolution: {integrity: sha512-n2t6fjXqSA+y402zO2Yh5UEe+rzMf1jhglj46MQf7IswCaST/SGLlJ5VCl6bU8LGbSr9FOz7BAtUXc64i3oCmA==}
+ '@verdaccio/hooks@8.0.2':
+ resolution: {integrity: sha512-lneKTW6MDo28+hHqkIin08ruAafTvMake2TYUMdXWp+ah1YFI9XVzj6eo/rKHUB6sC4NxrBVajsGo1NX0OCE+A==}
engines: {node: '>=18'}
- '@verdaccio/loaders@8.0.0-next-8.27':
- resolution: {integrity: sha512-bDfHHCDrOCSdskAKeKxPArUi5aGXtsxEpRvO8MzghX50g1zJnVzLF1KEbsEY9ScFqGZAVYtZTcutysA0VOQ0Rg==}
+ '@verdaccio/loaders@8.0.2':
+ resolution: {integrity: sha512-Hm2xa47EXPI+Rnl3a0oTvEa1OIngze36YDHXNvHEhN35emID9iqJk1BoD5rA4Y2AdR9Jy34wRqzdqcwg9+ftSA==}
engines: {node: '>=18'}
- '@verdaccio/local-storage-legacy@11.1.1':
- resolution: {integrity: sha512-P6ahH2W6/KqfJFKP+Eid7P134FHDLNvHa+i8KVgRVBeo2/IXb6FEANpM1mCVNvPANu0LCAmNJBOXweoUKViaoA==}
+ '@verdaccio/local-storage-legacy@11.3.3':
+ resolution: {integrity: sha512-F+cXs0Hy8tQsA6aE0hy0FaimgPfhqmetKbepOOZkstNlzOAhCzhue414VQaswKBJ/ylrmSgXP45HZjst+JNyjA==}
engines: {node: '>=18'}
- '@verdaccio/logger-commons@8.0.0-next-8.37':
- resolution: {integrity: sha512-HVt7ttnKgioERB1lCc1UnqnJMJ8skAeivLe49uq3wEG3QtruQGCct5nosj+q1pjx8SaYpQA+qxs1+4UDddprVA==}
+ '@verdaccio/logger-commons@8.0.2':
+ resolution: {integrity: sha512-PzR1+0tVWzDc6aQsPCi6LVywWTXD0bp61f97On8ia4Ihms6ahP9MZzF86Mub6laBw4mBsBo45EBFaqQfotvUoA==}
engines: {node: '>=18'}
- '@verdaccio/logger-prettify@8.0.0-next-8.5':
- resolution: {integrity: sha512-zCsvdKgUQx2mSu7fnDOkA2r2QX6yMmBDsXGmqXmoov/cZ89deREn0uC7xIX7/YEo8EspBoXiUGzqI+S+qUWPyw==}
+ '@verdaccio/logger-prettify@8.0.1':
+ resolution: {integrity: sha512-49a5LTi90TxjQPBk7rZUf0qCorAjOopq7uQzGRro6dOEFmyaZ/K2sNiOuRFJzVuC8C8jL/zPlJiln1vm5HsAMA==}
engines: {node: '>=18'}
- '@verdaccio/logger@8.0.0-next-8.37':
- resolution: {integrity: sha512-xG27C1FsbTsHhvhB3OpisVzHUyrE9NSVrzVHapPuOPd6X1DpnHZoZ+UYBAS0MSO1tGS+NEHW9GHL0XiroULggA==}
+ '@verdaccio/logger@8.0.2':
+ resolution: {integrity: sha512-yxCVJP9Inr6qfdsDaOUCWWj0g0SzLY6J+62QkBafZLqIqng8IfI1NRe/6n2O3AH+YPThbqxhgaAJQ5MJTvBxOw==}
engines: {node: '>=18'}
- '@verdaccio/middleware@8.0.0-next-8.37':
- resolution: {integrity: sha512-8SqCdzKfANhaO/ZoSBBJHPlDWmXEJdq/1giV/ZKYtU4xVbBb/4ThKp2nNKk4s9+8S8XNNgX+7J5e/BgbIzzsEA==}
+ '@verdaccio/middleware@8.0.2':
+ resolution: {integrity: sha512-CmSoXI1/5lfH25NP3Q7ic9TEUSn6gENqauU00EhYZ/RAk/jYyPCkokSJBi9RhsAsOjOUry4yM4c3vgxLdO8Iwg==}
engines: {node: '>=18'}
- '@verdaccio/package-filter@13.0.0-next-8.5':
- resolution: {integrity: sha512-+RZzVI/Yqjpoiv2SL3C0cxMC8ucU6j+YPdP/Bg/KJVqPbGNTn4Ol/fuGNhMJO6meIRS5ekW0PSrAvrDJ6E+JCA==}
+ '@verdaccio/package-filter@13.0.2':
+ resolution: {integrity: sha512-y9X52mCpP9AKoAB6W/ymYS5XscBNOT7HdSfYIy3BMpNJxD4+rwMO/SwKn3uAY+2RaMAgU1N7NBUmPtQAYFGhww==}
engines: {node: '>=18'}
- '@verdaccio/search-indexer@8.0.0-next-8.6':
- resolution: {integrity: sha512-+vFkeqwXWlbpPO/vxC1N5Wbi8sSXYR5l9Z41fqQgSncaF/hfSKB/iHsid1psCusfsDPGuwEbm2usPEW0nDdRDg==}
+ '@verdaccio/search-indexer@8.0.2':
+ resolution: {integrity: sha512-Pd2vGmb69pMuZj+WyiUMcbPU9H9Zfm0xHy0p2jDhb4PfT0rnoGgM0a7GxlmywsRuIM5obm4OCUZdhw0N8BnwYw==}
engines: {node: '>=18'}
- '@verdaccio/signature@8.0.0-next-8.29':
- resolution: {integrity: sha512-D1OyGi7+/5zXdbf78qdmL4wpf7iGN+RNDGB2TdLVosSrd+PWGrXqMJB3q2r/DJQ8J3724YVOJgNKiXjxV+Y1Aw==}
+ '@verdaccio/signature@8.0.2':
+ resolution: {integrity: sha512-0vmv3D2SmyJsLoN0e+O+wvjYdUxu/cxsCSRbchmK3m1dFxrGNyxEdQkdBAKDyOr2sQit5xM0XSwHRIqYrmr8Lw==}
engines: {node: '>=18'}
- '@verdaccio/streams@10.2.1':
- resolution: {integrity: sha512-OojIG/f7UYKxC4dYX8x5ax8QhRx1b8OYUAMz82rUottCuzrssX/4nn5QE7Ank0DUSX3C9l/HPthc4d9uKRJqJQ==}
+ '@verdaccio/streams@10.2.5':
+ resolution: {integrity: sha512-nVnTYeMJ7h131Nkv2svqZCfL5aDkJbwUvQd4OGXssbJJR5BfB2PzNq8TD45lEXIBW3EMMMFs7mVY789ds9soIA==}
engines: {node: '>=12', npm: '>=5'}
- '@verdaccio/tarball@13.0.0-next-8.37':
- resolution: {integrity: sha512-Qxm6JQYEFfkeJd4YQII/2IAMiL++QnM6gqKXZbM5mNkAApyqx8ZbL1e9pe3aCDmBYs2mo0JGORCy3OaHZcsJGw==}
+ '@verdaccio/tarball@13.0.2':
+ resolution: {integrity: sha512-LQHoAlp7yk5Tlhv+uHWJKtExwbMDBvwTvoAsdWMq4sRjCrdJSz8KTfWEBrb0EayxEwPr0LmI0ce8mIriId9Zow==}
engines: {node: '>=18'}
'@verdaccio/ui-theme@9.0.0-next-9.14':
resolution: {integrity: sha512-0PQW6PV+sHsQdV3gnHQqAcDcVGfT75vHq1TfIeEN2QY5KuEkvli8e5vut+sTe89p+GOTahHKgTMOcL0O3BvsgA==}
- '@verdaccio/url@13.0.0-next-8.37':
- resolution: {integrity: sha512-Gtv5oDgVwGPGxzuXaIJLbmL8YkBKW2UZwDsrnbDoWRt1nWLtiOp4Vui1VISTqX7A9BB50YslLEgNLcPd2qRE+w==}
+ '@verdaccio/url@13.0.2':
+ resolution: {integrity: sha512-dXVBJETBV5Q/jz7R/fTQxnzsTjgnDBEh2v8aOKtngwBEf7YkgzU7LrtyzkGmyRzXUvS5ZSAXWrBAKQ4DEIZ/6w==}
engines: {node: '>=18'}
- '@verdaccio/utils@8.1.0-next-8.37':
- resolution: {integrity: sha512-wfwn3z5M+w2KOV+xJFVv8tM8aOB4Ok5emfBDrDHrHMPDJ/fn3dEo6HoOra654PJ+zNwbTiMDvE5oAg/PLtnsUw==}
+ '@verdaccio/utils@8.1.2':
+ resolution: {integrity: sha512-LTV6/Kcr8pS//iDjDitfYi1bp0AlKBUuvNoHAbI8tMnj0PLOUtRWJxId5FwuE+z3oNBeDLeOWPoXVtqKjl277Q==}
engines: {node: '>=18'}
'@vitejs/plugin-basic-ssl@2.3.0':
@@ -3922,20 +3933,20 @@ packages:
peerDependencies:
vite: ^6.0.0 || ^7.0.0 || ^8.0.0
- '@vitest/coverage-v8@4.1.4':
- resolution: {integrity: sha512-x7FptB5oDruxNPDNY2+S8tCh0pcq7ymCe1gTHcsp733jYjrJl8V1gMUlVysuCD9Kz46Xz9t1akkv08dPcYDs1w==}
+ '@vitest/coverage-v8@4.1.7':
+ resolution: {integrity: sha512-qsYPeXc5Q9dFLd1i8Ap+Bx8sQgcp+rFVQo4R0dDsWNBzl26ldVF1qOO+RL24K7FDrR6pA+50XedRLSoSG24bVQ==}
peerDependencies:
- '@vitest/browser': 4.1.4
- vitest: 4.1.4
+ '@vitest/browser': 4.1.7
+ vitest: 4.1.7
peerDependenciesMeta:
'@vitest/browser':
optional: true
- '@vitest/expect@4.1.4':
- resolution: {integrity: sha512-iPBpra+VDuXmBFI3FMKHSFXp3Gx5HfmSCE8X67Dn+bwephCnQCaB7qWK2ldHa+8ncN8hJU8VTMcxjPpyMkUjww==}
+ '@vitest/expect@4.1.7':
+ resolution: {integrity: sha512-1R+tw0ortHEbZDGMymm+pN7/AFQ/RkFFdtd7EN+VBpynKmLbP8A3rpEXdshBJ7+8hQ9zBJh/i1s0yKNtxAnU7w==}
- '@vitest/mocker@4.1.4':
- resolution: {integrity: sha512-R9HTZBhW6yCSGbGQnDnH3QHfJxokKN4KB+Yvk9Q1le7eQNYwiCyKxmLmurSpFy6BzJanSLuEUDrD+j97Q+ZLPg==}
+ '@vitest/mocker@4.1.7':
+ resolution: {integrity: sha512-vY7nuamKgfvpA1Koa3oYIw/k7D6kZnpGyNMZW8loow2bsBYla1TFdqTaXncWdRn4pgwNs+90RhnXhJScDwQeJA==}
peerDependencies:
msw: ^2.4.9
vite: ^6.0.0 || ^7.0.0 || ^8.0.0
@@ -3945,20 +3956,20 @@ packages:
vite:
optional: true
- '@vitest/pretty-format@4.1.4':
- resolution: {integrity: sha512-ddmDHU0gjEUyEVLxtZa7xamrpIefdEETu3nZjWtHeZX4QxqJ7tRxSteHVXJOcr8jhiLoGAhkK4WJ3WqBpjx42A==}
+ '@vitest/pretty-format@4.1.7':
+ resolution: {integrity: sha512-umgCarTOYQWIaDMvGDRZij+6b9oVeLIyJzfN+AS88e0ZOU3QTgNNSTtjQOpcvWr3np1N0j4WgZj+sb3oYBDscw==}
- '@vitest/runner@4.1.4':
- resolution: {integrity: sha512-xTp7VZ5aXP5ZJrn15UtJUWlx6qXLnGtF6jNxHepdPHpMfz/aVPx+htHtgcAL2mDXJgKhpoo2e9/hVJsIeFbytQ==}
+ '@vitest/runner@4.1.7':
+ resolution: {integrity: sha512-BapjmAQ2aI78WdMEfeUWivnfVzB+VPGwWRQcJE0OUq7qEeEcBsCSf+0T5iREBNE5nBb4wA5Ya0W6IA+sghdEFw==}
- '@vitest/snapshot@4.1.4':
- resolution: {integrity: sha512-MCjCFgaS8aZz+m5nTcEcgk/xhWv0rEH4Yl53PPlMXOZ1/Ka2VcZU6CJ+MgYCZbcJvzGhQRjVrGQNZqkGPttIKw==}
+ '@vitest/snapshot@4.1.7':
+ resolution: {integrity: sha512-ZacLzja+TmJeZ1h14xW2FB/WpeimUD3haBXQPyJqxvo8jQTmfeA8zv58mtjN2C7EHXZDYVcVYdYmAxjkWVvKCw==}
- '@vitest/spy@4.1.4':
- resolution: {integrity: sha512-XxNdAsKW7C+FLydqFJLb5KhJtl3PGCMmYwFRfhvIgxJvLSXhhVI1zM8f1qD3Zg7RCjTSzDVyct6sghs9UEgBEQ==}
+ '@vitest/spy@4.1.7':
+ resolution: {integrity: sha512-kbkI5LMWakyuTIvs6fUJ5qdIVb1XVKsYJAT4OJ938cHMROYMSfmoQdZy0aaAnjbbc8F61vkoTqz/Az+/HiIu5Q==}
- '@vitest/utils@4.1.4':
- resolution: {integrity: sha512-13QMT+eysM5uVGa1rG4kegGYNp6cnQcsTc67ELFbhNLQO+vgsygtYJx2khvdt4gVQqSSpC/KT5FZZxUpP3Oatw==}
+ '@vitest/utils@4.1.7':
+ resolution: {integrity: sha512-T532WBu791cBxJlCl6SO+J14l81DQx6uQHm1bQbmCDY7nqlEIgkza/UFnSBNaUtSf41unldDFjdOBYEQC4b5Hw==}
'@webassemblyjs/ast@1.14.1':
resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==}
@@ -4089,14 +4100,14 @@ packages:
ajv@6.15.0:
resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==}
- ajv@8.17.1:
- resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==}
-
ajv@8.18.0:
resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==}
- algoliasearch@5.50.2:
- resolution: {integrity: sha512-Tfp26yoNWurUjfgK4GOrVJQhSNXu9tJtHfFFNosgT2YClG+vPyUjX/gbC8rG39qLncnZg8Fj34iarQWpMkqefw==}
+ ajv@8.20.0:
+ resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==}
+
+ algoliasearch@5.52.1:
+ resolution: {integrity: sha512-fHA8+kXTbjagw3jkLiaS7KKrH8qe2DyOsiUhGlN4cdT77PEsfqXZl7ewDk1hsg+pJnPlnE50XtLxjR91iJOpmg==}
engines: {node: '>= 14.0.0'}
ansi-colors@4.1.3:
@@ -4154,6 +4165,10 @@ packages:
resolution: {integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==}
engines: {node: '>= 0.4'}
+ array-union@2.1.0:
+ resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
+ engines: {node: '>=8'}
+
array-union@3.0.1:
resolution: {integrity: sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==}
engines: {node: '>=12'}
@@ -4193,12 +4208,8 @@ packages:
resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==}
engines: {node: '>=12'}
- ast-types@0.13.4:
- resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==}
- engines: {node: '>=4'}
-
- ast-v8-to-istanbul@1.0.0:
- resolution: {integrity: sha512-1fSfIwuDICFA4LKkCzRPO7F0hzFf0B7+Xqrl27ynQaa+Rh0e1Es0v6kWHPott3lU10AyAr7oKHa65OppjLn3Rg==}
+ ast-v8-to-istanbul@1.0.2:
+ resolution: {integrity: sha512-dKmJxJsGItLmc5CYZKuEjuG6GnBs6PG4gohMhyFOWKaNQoYCuRZJDECaBlHmcG0lv2wc2E0uU8lESmBEumC3DQ==}
async-each-series@0.1.1:
resolution: {integrity: sha512-p4jj6Fws4Iy2m0iCmI2am2ZNZCgbdgE+P8F/8csmn2vx7ixXrO2zGcuNsD46X5uZSVecmkEy/M06X2vG8KD6dQ==}
@@ -4238,8 +4249,8 @@ packages:
aws4@1.13.2:
resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==}
- b4a@1.8.0:
- resolution: {integrity: sha512-qRuSmNSkGQaHwNbM7J78Wwy+ghLEYF1zNrSeMxj4Kgw6y33O3mXcQ6Ie9fRvfU/YnxWkOchPXbaLb73TkIsfdg==}
+ b4a@1.8.1:
+ resolution: {integrity: sha512-aiqre1Nr0B/6DgE2N5vwTc+2/oQZ4Wh1t4NznYY4E00y8LCt6NqdRv81so00oo27D8MVKTpUa/MwUUtBLXCoDw==}
peerDependencies:
react-native-b4a: '*'
peerDependenciesMeta:
@@ -4286,8 +4297,8 @@ packages:
resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==}
engines: {node: 18 || 20 || >=22}
- bare-events@2.8.2:
- resolution: {integrity: sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==}
+ bare-events@2.8.3:
+ resolution: {integrity: sha512-HdUm8EMQBLaJvGUdidNNbqpA1kYkwNcb+MYxkxCLAPJGQzlv9J0C24h8V65Z4c5GLd/JEALDvpFCQgpLJqc0zw==}
peerDependencies:
bare-abort-controller: '*'
peerDependenciesMeta:
@@ -4303,15 +4314,15 @@ packages:
bare-buffer:
optional: true
- bare-os@3.9.0:
- resolution: {integrity: sha512-JTjuZyNIDpw+GytMO4a6TK1VXdVKKJr6DRxEHasyuYyShV2deuiHJK/ahGZlebc+SG0/wJCB9XK8gprBGDFi/Q==}
+ bare-os@3.9.1:
+ resolution: {integrity: sha512-6M5XjcnsygQNPMCMPXSK379xrJFiZ/AEMNBmFEmQW8d/789VQATvriyi5r0HYTL9TkQ26rn3kgdTG3aisbrXkQ==}
engines: {bare: '>=1.14.0'}
bare-path@3.0.0:
resolution: {integrity: sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==}
- bare-stream@2.13.0:
- resolution: {integrity: sha512-3zAJRZMDFGjdn+RVnNpF9kuELw+0Fl3lpndM4NcEOhb9zwtSo/deETfuIwMSE5BXanA0FrN1qVjffGwAg2Y7EA==}
+ bare-stream@2.13.1:
+ resolution: {integrity: sha512-Vp0cnjYyrEC4whYTymQ+YZi6pBpfiICZO3cfRG8sy67ZNWe951urv1x4eW1BKNngw3U+3fPYb5JQvHbCtxH7Ow==}
peerDependencies:
bare-abort-controller: '*'
bare-buffer: '*'
@@ -4324,8 +4335,8 @@ packages:
bare-events:
optional: true
- bare-url@2.4.2:
- resolution: {integrity: sha512-/9a2j4ac6ckpmAHvod/ob7x439OAHst/drc2Clnq+reRYd/ovddwcF4LfoxHyNk5AuGBnPg+HqFjmE/Zpq6v0A==}
+ bare-url@2.4.3:
+ resolution: {integrity: sha512-Kccpc7ACfXaxfeInfqKcZtW4pT5YBn1mesc4sCsun6sRwtbJ4h+sNOaksUpYEJUKfN65YWC6Bw2OJEFiKxq8nQ==}
base64-js@1.5.1:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
@@ -4334,15 +4345,11 @@ packages:
resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==}
engines: {node: ^4.5.0 || >= 5.9}
- baseline-browser-mapping@2.10.23:
- resolution: {integrity: sha512-xwVXGqevyKPsiuQdLj+dZMVjidjJV508TBqexND5HrF89cGdCYCJFB3qhcxRHSeMctdCfbR1jrxBajhDy7o29g==}
+ baseline-browser-mapping@2.10.32:
+ resolution: {integrity: sha512-wbPvpyjJPC0zdfdKXxqEL3Ea+bOMD/87X4lftiJkkaBiuG6ALQy1SLmEd7BSmVCuwCQsBrCamgBoLyfFDD1EPg==}
engines: {node: '>=6.0.0'}
hasBin: true
- basic-ftp@5.3.0:
- resolution: {integrity: sha512-5K9eNNn7ywHPsYnFwjKgYH8Hf8B5emh7JKcPaVjjrMJFQQwGpwowEnZNEtHs7DfR7hCZsmaK3VA4HUK0YarT+w==}
- engines: {node: '>=10.0.0'}
-
batch@0.6.1:
resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==}
@@ -4383,20 +4390,20 @@ packages:
resolution: {integrity: sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==}
engines: {node: '>=18'}
- bonjour-service@1.3.0:
- resolution: {integrity: sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==}
+ bonjour-service@1.4.0:
+ resolution: {integrity: sha512-fGQtj1qdR9vIKjFiWPQd52qIqwjaYqhcI40JEiDuvlZ86E7ZBPBwY9fPgHy9r2rYGIjiRfctNPYz6OQU73ww2w==}
boolbase@1.0.0:
resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
- brace-expansion@1.1.14:
- resolution: {integrity: sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==}
+ brace-expansion@1.1.15:
+ resolution: {integrity: sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==}
- brace-expansion@2.1.0:
- resolution: {integrity: sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==}
+ brace-expansion@2.1.1:
+ resolution: {integrity: sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==}
- brace-expansion@5.0.5:
- resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==}
+ brace-expansion@5.0.6:
+ resolution: {integrity: sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==}
engines: {node: 18 || 20 || >=22}
braces@3.0.3:
@@ -4429,9 +4436,6 @@ packages:
bs-recipes@1.3.4:
resolution: {integrity: sha512-BXvDkqhDNxXEjeGM8LFkSbR+jzmP/CYpCiVKYn+soB1dDldeU15EBNDkwVXndKuX35wnNUaPd0qSoQEAkmQtMw==}
- buffer-crc32@0.2.13:
- resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
-
buffer-equal-constant-time@1.0.1:
resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==}
@@ -4485,8 +4489,8 @@ packages:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
engines: {node: '>=6'}
- caniuse-lite@1.0.30001791:
- resolution: {integrity: sha512-yk0l/YSrOnFZk3UROpDLQD9+kC1l4meK/wed583AXrzoarMGJcbRi2Q4RaUYbKxYAsZ8sWmaSa/DsLmdBeI1vQ==}
+ caniuse-lite@1.0.30001793:
+ resolution: {integrity: sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==}
caseless@0.12.0:
resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==}
@@ -4513,10 +4517,6 @@ packages:
resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
engines: {node: '>= 8.10.0'}
- chokidar@4.0.3:
- resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
- engines: {node: '>= 14.16.0'}
-
chokidar@5.0.0:
resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==}
engines: {node: '>= 20.19.0'}
@@ -4529,8 +4529,9 @@ packages:
resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==}
engines: {node: '>=6.0'}
- chromium-bidi@14.0.0:
- resolution: {integrity: sha512-9gYlLtS6tStdRWzrtXaTMnqcM4dudNegMXJxkR0I/CXObHalYeYcAMPrL19eroNZHtJ8DQmu1E+ZNOYu/IXMXw==}
+ chromium-bidi@16.0.1:
+ resolution: {integrity: sha512-J63PGu/9PpeCwLIcKYyzWP6yaVL5pxuBc0shlYCYM8BaAkmlwiQboXO1iNbOgSDbVklEyYFfNEcHD8oOAWacUA==}
+ engines: {node: '>=20.19.0 <22.0.0 || >=22.12.0'}
peerDependencies:
devtools-protocol: '*'
@@ -4652,6 +4653,10 @@ packages:
resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
engines: {node: '>= 0.6'}
+ content-type@2.0.0:
+ resolution: {integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==}
+ engines: {node: '>=18'}
+
conventional-commits-filter@5.0.0:
resolution: {integrity: sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q==}
engines: {node: '>=18'}
@@ -4756,10 +4761,6 @@ packages:
resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==}
engines: {node: '>= 12'}
- data-uri-to-buffer@6.0.2:
- resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==}
- engines: {node: '>= 14'}
-
data-urls@7.0.0:
resolution: {integrity: sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA==}
engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0}
@@ -4808,15 +4809,6 @@ packages:
supports-color:
optional: true
- debug@4.4.1:
- resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==}
- engines: {node: '>=6.0'}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
-
debug@4.4.3:
resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
engines: {node: '>=6.0'}
@@ -4867,10 +4859,6 @@ packages:
defu@6.1.7:
resolution: {integrity: sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==}
- degenerator@5.0.1:
- resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==}
- engines: {node: '>= 14'}
-
delayed-stream@1.0.0:
resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
engines: {node: '>=0.4.0'}
@@ -4903,12 +4891,16 @@ packages:
engines: {node: '>= 0.8.0'}
hasBin: true
- devtools-protocol@0.0.1595872:
- resolution: {integrity: sha512-kRfgp8vWVjBu/fbYCiVFiOqsCk3CrMKEo3WbgGT2NXK2dG7vawWPBljixajVgGK9II8rDO9G0oD0zLt3I1daRg==}
+ devtools-protocol@0.0.1624250:
+ resolution: {integrity: sha512-YFAat/lOiIk0ARmBweG+ygrEcbZrq5B9urRyUoeQKp53MlidHXE2TmTbxKcaXoQj7u/aX+jebDO4BW55rs0WwA==}
di@0.0.1:
resolution: {integrity: sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==}
+ dir-glob@3.0.1:
+ resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
+ engines: {node: '>=8'}
+
dns-packet@5.6.1:
resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==}
engines: {node: '>=6'}
@@ -4968,8 +4960,8 @@ packages:
engines: {node: '>=0.12.18'}
hasBin: true
- electron-to-chromium@1.5.344:
- resolution: {integrity: sha512-4MxfbmNDm+KPh066EZy+eUnkcDPcZ35wNmOWzFuh/ijvHsve6kbLTLURy88uCNK5FbpN+yk2nQY6BYh1GEt+wg==}
+ electron-to-chromium@1.5.361:
+ resolution: {integrity: sha512-Q6Hts7N9FnJc5LeGRINFvLhCI9xZmNtTDe5ZbcVezQz7cU4a8Aua3GH1b8J2XY8Al9PF+OCwYqhgsOOheMdvkA==}
emoji-regex@10.6.0:
resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==}
@@ -4998,19 +4990,19 @@ packages:
end-of-stream@1.4.5:
resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==}
- engine.io-client@6.6.4:
- resolution: {integrity: sha512-+kjUJnZGwzewFDw951CDWcwj35vMNf2fcj7xQWOctq1F2i1jkDdVvdFG9kM/BEChymCH36KgjnW0NsL58JYRxw==}
+ engine.io-client@6.6.5:
+ resolution: {integrity: sha512-QCwxUDULPlXv8F6tqMMKx5dNkTe6OaBYRMPYeXKBlyOoKvAmE0ac6pW7fFhSscJ/5SI7666/U/B+MElbsrJlIg==}
engine.io-parser@5.2.3:
resolution: {integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==}
engines: {node: '>=10.0.0'}
- engine.io@6.6.6:
- resolution: {integrity: sha512-U2SN0w3OpjFRVlrc17E6TMDmH58Xl9rai1MblNjAdwWp07Kk+llmzX0hjDpQdrDGzwmvOtgM5yI+meYX6iZ2xA==}
+ engine.io@6.6.8:
+ resolution: {integrity: sha512-2agL3ueZhqxoVrfmntO8yuVj+uNSlIOnhykYHk3Cq0ShYPdUjjUiSJrQvXjq01I9jAuI0Zl2YO8Evv5Mqytm5g==}
engines: {node: '>=10.2.0'}
- enhanced-resolve@5.21.0:
- resolution: {integrity: sha512-otxSQPw4lkOZWkHpB3zaEQs6gWYEsmX4xQF68ElXC/TWvGxGMSGOvoNbaLXm6/cS/fSfHtsEdw90y20PCd+sCA==}
+ enhanced-resolve@5.22.0:
+ resolution: {integrity: sha512-xYcDWrpELkFzz9SpZ3PlI6Eu6eD93Yf0WLDRxikGhWJ3MAir2SNZTIVCVZqZ/NUyx8AdMc2gT9C0gPiw18kG+A==}
engines: {node: '>=10.13.0'}
ent@2.2.2:
@@ -5064,8 +5056,8 @@ packages:
es-module-lexer@2.1.0:
resolution: {integrity: sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==}
- es-object-atoms@1.1.1:
- resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
+ es-object-atoms@1.1.2:
+ resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==}
engines: {node: '>= 0.4'}
es-set-tostringtag@2.1.0:
@@ -5106,11 +5098,6 @@ packages:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
- escodegen@2.1.0:
- resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==}
- engines: {node: '>=6.0'}
- hasBin: true
-
eslint-config-prettier@10.1.8:
resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==}
hasBin: true
@@ -5171,8 +5158,8 @@ packages:
resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24}
- eslint@10.2.1:
- resolution: {integrity: sha512-wiyGaKsDgqXvF40P8mDwiUp/KQjE1FdrIEJsM8PZ3XCiniTMXS3OHWWUe5FI5agoCnr8x4xPrTDZuxsBlNHl+Q==}
+ eslint@10.4.0:
+ resolution: {integrity: sha512-loXy6bWOoP3EP6JA7jo6p5jMpBJmHmsNZM5SFRHLdh1MGOPurMnNBj4ZlAbaqUAaQWbCr7jHV4P7gzAyryZWkQ==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24}
hasBin: true
peerDependencies:
@@ -5189,11 +5176,6 @@ packages:
resolution: {integrity: sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24}
- esprima@4.0.1:
- resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
- engines: {node: '>=4'}
- hasBin: true
-
esquery@1.7.0:
resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==}
engines: {node: '>=0.10'}
@@ -5262,8 +5244,8 @@ packages:
express-rate-limit@5.5.1:
resolution: {integrity: sha512-MTjE2eIbHv5DyfuFz4zLYWxpqVhEhkTiwFGuB74Q9CSou2WHO52nlE5y3Zlg6SIsiYUIPj6ifFxnkPz6O3sIUg==}
- express-rate-limit@8.4.1:
- resolution: {integrity: sha512-NGVYwQSAyEQgzxX1iCM978PP9AdO/hW93gMcF6ZwQCm+rFvLsBH6w4xcXWTcliS8La5EPRN3p9wzItqBwJrfNw==}
+ express-rate-limit@8.5.2:
+ resolution: {integrity: sha512-5Kb34ipNX694DH48vN9irak1Qx30nb0PLYHXfJgw4YEjiC3ZEmZJhwOp+VfiCYwFzvFTdB9QkArYS5kXa2cx2A==}
engines: {node: '>= 16'}
peerDependencies:
express: '>= 4.11'
@@ -5272,6 +5254,10 @@ packages:
resolution: {integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==}
engines: {node: '>= 0.10.0'}
+ express@4.22.2:
+ resolution: {integrity: sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==}
+ engines: {node: '>= 0.10.0'}
+
express@5.2.1:
resolution: {integrity: sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==}
engines: {node: '>= 18'}
@@ -5279,18 +5265,10 @@ packages:
extend@3.0.2:
resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
- extract-zip@2.0.1:
- resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==}
- engines: {node: '>= 10.17.0'}
- hasBin: true
-
extsprintf@1.3.0:
resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==}
engines: {'0': node >=0.6.0}
- fast-content-type-parse@3.0.0:
- resolution: {integrity: sha512-ZvLdcY8P+N8mGQJahJV5G4U88CSvT1rP8ApL6uETe88MBXrBHAkZlSEySdUlyztF7ccb+Znos3TFqaepHxdhBg==}
-
fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
@@ -5313,11 +5291,11 @@ packages:
fast-string-width@3.0.2:
resolution: {integrity: sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==}
- fast-uri@3.1.0:
- resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==}
+ fast-uri@3.1.2:
+ resolution: {integrity: sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==}
- fast-wrap-ansi@0.2.0:
- resolution: {integrity: sha512-rLV8JHxTyhVmFYhBJuMujcrHqOT2cnO5Zxj37qROj23CP39GXubJRBUFF0z8KFK77Uc0SukZUf7JZhsVEQ6n8w==}
+ fast-wrap-ansi@0.2.2:
+ resolution: {integrity: sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==}
fastq@1.20.1:
resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==}
@@ -5326,9 +5304,6 @@ packages:
resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==}
engines: {node: '>=0.8.0'}
- fd-slicer@1.1.0:
- resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==}
-
fdir@6.5.0:
resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
engines: {node: '>=12.0.0'}
@@ -5378,8 +5353,8 @@ packages:
resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
engines: {node: '>=10'}
- firebase@12.12.1:
- resolution: {integrity: sha512-ee7xA+bTJLfjB9BP/8FQr3EkxmpAAGc1lNc5QkWgTDpUw24HYXFPm7FEWRdLtGnygxIdYpFmepSc5VjkI6NHhw==}
+ firebase@12.13.0:
+ resolution: {integrity: sha512-iutR8ejvAqk6qUClnsPz3U3VIjTWp243AX4cD3iifak5t56to1J29xUIQgSDDzaAqKvhshZerzSahwMQj2TlvA==}
flat-cache@4.0.1:
resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
@@ -5392,8 +5367,8 @@ packages:
flatted@3.4.2:
resolution: {integrity: sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==}
- folder-hash@4.1.2:
- resolution: {integrity: sha512-rjdiHw3ShVonhMZZXvD/I28boUkbJFT/RBsg5MbQQd8e61PhevIwFwmL218/AscBEsW/blH4BC4A+kFeIqHVfw==}
+ folder-hash@4.1.3:
+ resolution: {integrity: sha512-94fj+fXj1XHT8zGumUy/VlyFARc/yrslKJ2+vjrP/U6ftTdL7u68+gQhvSBjz9wrwTuty6BpZ7JsbEK5OU9RNw==}
engines: {node: '>=10.10.0'}
hasBin: true
@@ -5472,6 +5447,10 @@ packages:
functions-have-names@1.2.3:
resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
+ fuse.js@7.3.0:
+ resolution: {integrity: sha512-plz8RVjfcDedTGfVngWH1jmJvBvAwi1v2jecfDerbEnMcmOYUEEwKFTHbNoCiYyzaK2Ws8lABkTCcRSqCY1q4w==}
+ engines: {node: '>=10'}
+
gaxios@7.1.4:
resolution: {integrity: sha512-bTIgTsM2bWn3XklZISBTQX7ZSddGW+IO3bMdGaemHZ3tbqExMENHLx6kKZ/KlejgrMtj8q7wBItt51yegqalrA==}
engines: {node: '>=18'}
@@ -5492,8 +5471,8 @@ packages:
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
engines: {node: 6.* || 8.* || >= 10.*}
- get-east-asian-width@1.5.0:
- resolution: {integrity: sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==}
+ get-east-asian-width@1.6.0:
+ resolution: {integrity: sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==}
engines: {node: '>=18'}
get-intrinsic@1.3.0:
@@ -5520,13 +5499,6 @@ packages:
resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==}
engines: {node: '>= 0.4'}
- get-tsconfig@4.14.0:
- resolution: {integrity: sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==}
-
- get-uri@6.0.5:
- resolution: {integrity: sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==}
- engines: {node: '>= 14'}
-
getpass@0.1.7:
resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==}
@@ -5564,14 +5536,18 @@ packages:
resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
engines: {node: '>=18'}
- globals@17.5.0:
- resolution: {integrity: sha512-qoV+HK2yFl/366t2/Cb3+xxPUo5BuMynomoDmiaZBIdbs+0pYbjfZU+twLhGKp4uCZ/+NbtpVepH5bGCxRyy2g==}
+ globals@17.6.0:
+ resolution: {integrity: sha512-sepffkT8stwnIYbsMBpoCHJuJM5l98FUF2AnE07hfvE0m/qp3R586hw4jF4uadbhvg1ooIdzuu7CsfD2jzCaNA==}
engines: {node: '>=18'}
globalthis@1.0.4:
resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
engines: {node: '>= 0.4'}
+ globby@11.1.0:
+ resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
+ engines: {node: '>=10'}
+
google-auth-library@10.6.2:
resolution: {integrity: sha512-e27Z6EThmVNNvtYASwQxose/G57rkRuaRbQyxM2bvYLLX/GqWZ5chWq2EBoUchJbCc57eC9ArzO5wMsEmWftCw==}
engines: {node: '>=18'}
@@ -5601,8 +5577,8 @@ packages:
peerDependencies:
graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0
- graphql@16.13.2:
- resolution: {integrity: sha512-5bJ+nf/UCpAjHM8i06fl7eLyVC9iuNAjm9qzkiu2ZGhM0VscSvS6WDPfAwkdkBuoXGM9FJSbKl6wylMwP9Ktig==}
+ graphql@16.14.0:
+ resolution: {integrity: sha512-BBvQ/406p+4CZbTpCbVPSxfzrZrbnuWSP1ELYgyS6B+hNeKzgrdB4JczCa5VZUBQrDa9hUngm0KnexY6pJRN5Q==}
engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0}
grpc-gcp@1.0.1:
@@ -5650,12 +5626,16 @@ packages:
resolution: {integrity: sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==}
engines: {node: '>= 0.4'}
- hono@4.12.15:
- resolution: {integrity: sha512-qM0jDhFEaCBb4TxoW7f53Qrpv9RBiayUHo0S52JudprkhvpjIrGoU1mnnr29Fvd1U335ZFPZQY1wlkqgfGXyLg==}
+ hono@4.12.23:
+ resolution: {integrity: sha512-eIaZ9qDgu7XV0pxOCrg7/WhnQ6Ivm22UcxhXx/A3dcbqbbYgBEkc6e/J/s7j2tS96zoB0S9VBdLwQNCWwUo4LA==}
engines: {node: '>=16.9.0'}
- hosted-git-info@9.0.2:
- resolution: {integrity: sha512-M422h7o/BR3rmCQ8UHi7cyyMqKltdP9Uo+J2fXK+RSAY+wTcKOIRyhTuKv4qn+DJf3g+PL890AzId5KZpX+CBg==}
+ hosted-git-info@10.1.1:
+ resolution: {integrity: sha512-DeOnSPAvOndYKfw075gt8yZzQ7S2hNztw34zBTfhIzLhmBTswIBg5/y+pqu/VD5cYWm5goAFTusDmUEmKZ0PEQ==}
+ engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0}
+
+ hosted-git-info@9.0.3:
+ resolution: {integrity: sha512-Hc+ghLoSt6QaYZUv0WBiIvmMDZuZZ7oaDvdH8MbfOO4lOsxdXLEvuC6ePoGs9H1X9oCLyq6+NVN0MKqD+ydxyg==}
engines: {node: ^20.17.0 || >=22.9.0}
hpack.js@2.1.6:
@@ -5684,10 +5664,6 @@ packages:
resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==}
engines: {node: '>= 0.6'}
- http-errors@2.0.0:
- resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
- engines: {node: '>= 0.8'}
-
http-errors@2.0.1:
resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==}
engines: {node: '>= 0.8'}
@@ -5708,9 +5684,9 @@ packages:
'@types/express':
optional: true
- http-proxy-middleware@3.0.5:
- resolution: {integrity: sha512-GLZZm1X38BPY4lkXA01jhwxvDoOkkXqjgVyUzVxiEK4iuRu03PZoYHhHRwxnfhQMDuaxi3vVri0YgSro/1oWqg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ http-proxy-middleware@4.0.0:
+ resolution: {integrity: sha512-wuHwaUtmC0XzJNHqRp41zXtt5ojpHbusXGhq6781VvnjWUYPu7opmOF3eomGNujT07kEOnHWZyV9UZzKimVCKA==}
+ engines: {node: ^22.15.0 || ^24.0.0 || >=26.0.0}
http-proxy@1.18.1:
resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==}
@@ -5739,6 +5715,9 @@ packages:
resolution: {integrity: sha512-/MVmHp58WkOypgFhCLk4fzpPcFQvTJ/e6LBI7irpIO2HfxUbpmYoHF+KzipzJpxxzJu7aJNWQ0xojJ/dzV2G5g==}
engines: {node: '>= 20'}
+ httpxy@0.5.3:
+ resolution: {integrity: sha512-SMS9V6Sn7VWaS11lYhoAr0ceoaiolTWf4jYdJn0NJhCdKMu9R2H9Fh0LBDWBHQF6HRLI1PmaePYsjanSpE5PEw==}
+
husky@9.1.7:
resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==}
engines: {node: '>=18'}
@@ -5815,6 +5794,10 @@ packages:
resolution: {integrity: sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ==}
engines: {node: ^20.17.0 || >=22.9.0}
+ ini@7.0.0:
+ resolution: {integrity: sha512-ifK0CgjALofS5bkrcTy4RaQ9Vx2Knf/eLeIO+NaswQEpH1UblrtTSCIvN71qQDMq0PeQ/SSPojvEJp9vvvfr+w==}
+ engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0}
+
injection-js@2.6.1:
resolution: {integrity: sha512-dbR5bdhi7TWDoCye9cByZqeg/gAfamm8Vu3G1KZOTYkOif8WkuM8CD0oeDPtZYMzT5YH76JAFB7bkmyY9OJi2A==}
@@ -5822,16 +5805,16 @@ packages:
resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==}
engines: {node: '>= 0.4'}
- ip-address@10.1.0:
- resolution: {integrity: sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==}
+ ip-address@10.2.0:
+ resolution: {integrity: sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==}
engines: {node: '>= 12'}
ipaddr.js@1.9.1:
resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
engines: {node: '>= 0.10'}
- ipaddr.js@2.3.0:
- resolution: {integrity: sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==}
+ ipaddr.js@2.4.0:
+ resolution: {integrity: sha512-9VGk3HGanVE6JoZXHiCpnGy5X0jYDnN4EA4lntFPj+1vIWlFhIylq2CrrCOJH9EAhc5CYhq18F2Av2tgoAPsYQ==}
engines: {node: '>= 10'}
is-array-buffer@3.0.5:
@@ -5861,8 +5844,8 @@ packages:
resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
engines: {node: '>= 0.4'}
- is-core-module@2.16.1:
- resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
+ is-core-module@2.16.2:
+ resolution: {integrity: sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==}
engines: {node: '>= 0.4'}
is-data-view@1.0.2:
@@ -5933,8 +5916,8 @@ packages:
resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
engines: {node: '>= 0.4'}
- is-network-error@1.3.1:
- resolution: {integrity: sha512-6QCxa49rQbmUWLfk0nuGqzql9U8uaV2H6279bRErPBHe/109hCzsLUBUHfbEtvLIHBd6hyXbgedBSHevm43Edw==}
+ is-network-error@1.3.2:
+ resolution: {integrity: sha512-PhBY86zaxNZUuWP6h13Vu5oFe0XY6/UlKzQnYFELzGVHygP3MxmvTfYSG7GN3aIab/iWudSMgjSnG9Dq+nHrgA==}
engines: {node: '>=16'}
is-node-process@1.2.0:
@@ -5955,14 +5938,14 @@ packages:
resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==}
engines: {node: '>=10'}
+ is-plain-obj@4.1.0:
+ resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
+ engines: {node: '>=12'}
+
is-plain-object@2.0.4:
resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
engines: {node: '>=0.10.0'}
- is-plain-object@5.0.0:
- resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==}
- engines: {node: '>=0.10.0'}
-
is-potential-custom-element-name@1.0.1:
resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
@@ -6111,12 +6094,12 @@ packages:
resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
engines: {node: '>= 10.13.0'}
- jiti@2.6.1:
- resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==}
+ jiti@2.7.0:
+ resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==}
hasBin: true
- jose@6.2.2:
- resolution: {integrity: sha512-d7kPDd34KO/YnzaDOlikGpOurfF0ByC2sEV4cANCtdqLlTfBlw2p14O/5d/zv40gJPbIQxfES3nSx1/oYNyuZQ==}
+ jose@6.2.3:
+ resolution: {integrity: sha512-YYVDInQKFJfR/xa3ojUTl8c2KoTwiL1R5Wg9YCydwH0x0B9grbzlg5HC7mMjCtUJjbQ/YnGEZIhI5tCgfTb4Hw==}
js-base64@3.7.8:
resolution: {integrity: sha512-hNngCeKxIUQiEUN3GPJOkz4wF/YvdUdbNL9hsBcMQTkKzboD7T/q3OYOuuPZLUE6dBxSGpwhk5mwuDud7JVAow==}
@@ -6134,8 +6117,8 @@ packages:
jsbn@0.1.1:
resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==}
- jsdom@29.0.2:
- resolution: {integrity: sha512-9VnGEBosc/ZpwyOsJBCQ/3I5p7Q5ngOY14a9bf5btenAORmZfDse1ZEheMiWcJ3h81+Fv7HmJFdS0szo/waF2w==}
+ jsdom@29.1.1:
+ resolution: {integrity: sha512-ECi4Fi2f7BdJtUKTflYRTiaMxIB0O6zfR1fX0GXpUrf6flp8QIYn1UT20YQqdSOfk2dfkCwS8LAFoJDEppNK5Q==}
engines: {node: ^20.19.0 || ^22.13.0 || >=24.0.0}
peerDependencies:
canvas: ^3.0.0
@@ -6256,9 +6239,9 @@ packages:
launch-editor@2.13.2:
resolution: {integrity: sha512-4VVDnbOpLXy/s8rdRCSXb+zfMeFR0WlJWpET1iA9CQdlZDfwyLjUuGQzXU4VeOoey6AicSAluWan7Etga6Kcmg==}
- less-loader@12.3.2:
- resolution: {integrity: sha512-uLV5c702ff2jBvO7qewpkLRzkh/I9QW07ur2NKkv8TVTrtX2lrKjEbEU/LLXAn7cgpCIBbkfyUm4qYXCQs5/+w==}
- engines: {node: '>= 18.12.0'}
+ less-loader@13.0.0:
+ resolution: {integrity: sha512-TIa8d6znKH634Mg+7OU3jevZT6KeOhh0amW+YeMPD0GM9buUn5Y7HvtyCR5pUDdLaFfqLA8AX5PTSIHMNSexEA==}
+ engines: {node: '>= 22.11.0'}
peerDependencies:
'@rspack/core': 0.x || ^1.0.0 || ^2.0.0-0
less: ^3.5.0 || ^4.0.0
@@ -6286,6 +6269,10 @@ packages:
webpack:
optional: true
+ lilconfig@3.1.3:
+ resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
+ engines: {node: '>=14'}
+
limiter@1.1.5:
resolution: {integrity: sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==}
@@ -6352,9 +6339,6 @@ packages:
lodash.snakecase@4.1.1:
resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==}
- lodash@4.17.21:
- resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
-
lodash@4.18.1:
resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==}
@@ -6384,8 +6368,8 @@ packages:
lru-cache@10.4.3:
resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
- lru-cache@11.3.5:
- resolution: {integrity: sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==}
+ lru-cache@11.5.0:
+ resolution: {integrity: sha512-5YgH9UJd7wVb9hIouI2adWpgqrrICkt070Dnj8EUY1+B4B2P9eRLPAkAAo6NICA7CEhOIeBHl46u9zSNpNu7zA==}
engines: {node: 20 || >=22}
lru-cache@5.1.1:
@@ -6398,8 +6382,8 @@ packages:
magic-string@0.30.21:
resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
- magicast@0.5.2:
- resolution: {integrity: sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ==}
+ magicast@0.5.3:
+ resolution: {integrity: sha512-pVKE4UdSQ7DvHzivsCIFx2BJn1mHG6KsyrFcaxFx6tONdneEuThrDx0Cj3AMg58KyN4pzYT+LHOotxDQDjNvkw==}
make-dir@2.1.0:
resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==}
@@ -6518,10 +6502,6 @@ packages:
minimatch@3.1.5:
resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==}
- minimatch@7.4.6:
- resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==}
- engines: {node: '>=10'}
-
minimatch@7.4.9:
resolution: {integrity: sha512-Brg/fp/iAVDOQoHxkuN5bEYhyQlZhxddI78yWsCbeEwTHXQjlNLtiJDUsp1GIptVqMI7/gkJMz4vVAc01mpoBw==}
engines: {node: '>=10'}
@@ -6580,6 +6560,10 @@ packages:
engines: {node: '>=10'}
hasBin: true
+ modern-tar@0.7.6:
+ resolution: {integrity: sha512-sweCIVXzx1aIGTCdzcMlSZt1h8k5Tmk08VNAuRk3IU28XamGiOH5ypi11g6De2CH7PhYqSSnGy2A/EFhbWnVKg==}
+ engines: {node: '>=18.0.0'}
+
mrmime@2.0.1:
resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==}
engines: {node: '>=10'}
@@ -6590,12 +6574,12 @@ packages:
ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
- msgpackr-extract@3.0.3:
- resolution: {integrity: sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==}
+ msgpackr-extract@3.0.4:
+ resolution: {integrity: sha512-4kmO/MdyUIkLIvTPr8VHLil4AtoKIoniWPIEk5+CDy0xnWC84azhSFmuJ7PxZdsYtiP5kEeQsORAVIeMgxT+Hw==}
hasBin: true
- msgpackr@1.11.10:
- resolution: {integrity: sha512-iCZNq+HszvF+fC3anCm4nBmWEnbeIAfpDs6IStAEKhQ2YSgkjzVG2FF9XJqwwQh5bH3N9OUTUt4QwVN6MLMLtA==}
+ msgpackr@1.11.12:
+ resolution: {integrity: sha512-RBdJ1Un7yGlXWajrkxcSa93nvQ0w4zBf60c0yYv7YtBelP8H2FA7XsfBbMHtXKXUMUxH7zV3Zuozh+kUQWhHvg==}
multicast-dns@7.2.5:
resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==}
@@ -6605,12 +6589,12 @@ packages:
resolution: {integrity: sha512-0D10M2/MnEyvoog7tmozlpSqL3HEU1evxUFa3v1dsKYmBDFSP1dLSX4CH2rNjpQ+4Fps8GKmUkCwiKryaKqd9A==}
engines: {node: '>=20'}
- mute-stream@3.0.0:
- resolution: {integrity: sha512-dkEJPVvun4FryqBmZ5KhDo0K9iDXAwn08tMLDinNdRBNPcYEDiWYysLcc6k3mjTMlbP9KyylvRpd4wFtwrT9rw==}
- engines: {node: ^20.17.0 || >=22.9.0}
+ mute-stream@4.0.0:
+ resolution: {integrity: sha512-gSrprq0fJ3EiOErzjdIZrjysVVmJ4uu1QWfCDss5LypA5OXvrMje5Ym5z6V6RLyJ2eF87lasX7t6a0AnFvZblg==}
+ engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0}
- nanoid@3.3.11:
- resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
+ nanoid@3.3.12:
+ resolution: {integrity: sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
@@ -6637,13 +6621,9 @@ packages:
neo-async@2.6.2:
resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
- netmask@2.1.1:
- resolution: {integrity: sha512-eonl3sLUha+S1GzTPxychyhnUzKyeQkZ7jLjKrBagJgPla13F+uQ71HgpFefyHgqrjEbCPkDArxYsjY8/+gLKA==}
- engines: {node: '>= 0.4.0'}
-
- ng-packagr@22.0.0-next.3:
- resolution: {integrity: sha512-M4h0PxrWLJSlJ8TCaH5Y5ZDBeRJvSQTe9FlsyMVMSjo/1fPYG16a/qkMbv/EYO0+LCrooRS+DdRjKx13b6P15A==}
- engines: {node: ^22.22.0 || >=24.13.1}
+ ng-packagr@22.0.0-rc.0:
+ resolution: {integrity: sha512-5R/axgfRB500l2fhFMVdjqZB2FhEgxHIKIauSsFBFTeJ3XbODKsQZiVya2P8/LTXEQRit1tOkvjYYB9iwlrPZg==}
+ engines: {node: ^22.22.0 || ^24.13.1 || >=26.0.0}
hasBin: true
peerDependencies:
'@angular/compiler-cli': ^22.0.0-next.3
@@ -6654,8 +6634,8 @@ packages:
tailwindcss:
optional: true
- nock@14.0.13:
- resolution: {integrity: sha512-SCPsQmGVNY8h1rfS3aU0MzOGYY+wKIFukHEsoSIwPRCYocZkya7MFIlWIEYPWQZj+Gaksg6EyUaY255ZDqpQuA==}
+ nock@14.0.15:
+ resolution: {integrity: sha512-S0a47C9pLvcYx/Ugf0H30BVBEcUgMMBDk9VJIDlJ8XGrfH2QDUD4Tgdp45qDIiHttokBG+IbsOtsvIjGR/j3bg==}
engines: {node: '>=18.20.0 <20 || >=20.12.1'}
node-addon-api@6.1.0:
@@ -6711,8 +6691,9 @@ packages:
engines: {node: ^20.17.0 || >=22.9.0}
hasBin: true
- node-releases@2.0.38:
- resolution: {integrity: sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==}
+ node-releases@2.0.46:
+ resolution: {integrity: sha512-GYVXHE2KnrzAfsAjl4uP++evGFCrAU1jta4ubEjIG7YWt/64Gqv66a30yKwWczVjA6j3bM4nBwH7Pk1JmDHaxQ==}
+ engines: {node: '>=18'}
nopt@9.0.0:
resolution: {integrity: sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==}
@@ -6743,6 +6724,10 @@ packages:
resolution: {integrity: sha512-IciCE3SY3uE84Ld8WZU23gAPPV9rIYod4F+rc+vJ7h7cwAJt9Vk6TVsK60ry7Uj3SRS3bqRRIGuTp9YVlk6WNA==}
engines: {node: ^20.17.0 || >=22.9.0}
+ npm-package-arg@14.0.0:
+ resolution: {integrity: sha512-69XQh3k+dtGa1p+7RaR57IuG3rCko96xr/nUfN4yDYBXbTYICiWcOpsFKLN2GtGE9cyIljE+f1exnaYt9MvM+Q==}
+ engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0}
+
npm-packlist@10.0.4:
resolution: {integrity: sha512-uMW73iajD8hiH4ZBxEV3HC+eTnppIqwakjOYuvgddnalIw2lJguKviK1pcUJDlIWm1wSJkchpDZDSVVsZEYRng==}
engines: {node: ^20.17.0 || >=22.9.0}
@@ -6839,8 +6824,8 @@ packages:
resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
engines: {node: '>= 0.8.0'}
- ora@9.3.0:
- resolution: {integrity: sha512-lBX72MWFduWEf7v7uWf5DHp9Jn5BI8bNPGuFgtXMmr2uDz2Gz2749y3am3agSDdkhHPHYmmxEGSKH85ZLGzgXw==}
+ ora@9.4.0:
+ resolution: {integrity: sha512-84cglkRILFxdtA8hAvLNdMrtBpPNBTrQ9/ulg0FA7xLMnD6mifv+enAIeRmvtv+WgdCE+LPGOfQmtJRrVaIVhQ==}
engines: {node: '>=20'}
ordered-binary@1.6.1:
@@ -6889,14 +6874,6 @@ packages:
resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==}
engines: {node: '>=8'}
- pac-proxy-agent@7.2.0:
- resolution: {integrity: sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==}
- engines: {node: '>= 14'}
-
- pac-resolver@7.0.1:
- resolution: {integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==}
- engines: {node: '>= 14'}
-
package-json-from-dist@1.0.1:
resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
@@ -6965,6 +6942,10 @@ packages:
path-to-regexp@8.4.2:
resolution: {integrity: sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==}
+ path-type@4.0.0:
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
+ engines: {node: '>=8'}
+
pathe@1.1.2:
resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
@@ -6974,9 +6955,6 @@ packages:
peek-stream@1.1.3:
resolution: {integrity: sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==}
- pend@1.2.0:
- resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==}
-
performance-now@2.1.0:
resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==}
@@ -7093,8 +7071,8 @@ packages:
postcss-value-parser@4.2.0:
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
- postcss@8.5.10:
- resolution: {integrity: sha512-pMMHxBOZKFU6HgAZ4eyGnwXF/EvPGGqUr0MnZ5+99485wwW41kW91A4LOGxSHhgugZmSChL5AlElNdwlNgcnLQ==}
+ postcss@8.5.15:
+ resolution: {integrity: sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==}
engines: {node: ^10 || ^12 || >=14}
powershell-utils@0.1.0:
@@ -7114,6 +7092,10 @@ packages:
resolution: {integrity: sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==}
engines: {node: ^20.17.0 || >=22.9.0}
+ proc-log@7.0.0:
+ resolution: {integrity: sha512-FYgfaA69XZ93zaXLoMNQ+ViDXGGBgR8aLh03txzcFhV+9xOXx7+8DLCULrKKpR9+GsH9ZfHm82aSUPpozX0Ztg==}
+ engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0}
+
process-nextick-args@2.0.1:
resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
@@ -7127,10 +7109,6 @@ packages:
resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
engines: {node: '>= 0.6.0'}
- progress@2.0.3:
- resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==}
- engines: {node: '>=0.4.0'}
-
propagate@2.0.1:
resolution: {integrity: sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==}
engines: {node: '>= 8'}
@@ -7139,21 +7117,14 @@ packages:
resolution: {integrity: sha512-E1sbAYg3aEbXrq0n1ojJkRHQJGE1kaE/O6GLA94y8rnJBfgvOPTOd1b9hOceQK1FFZI9qMh1vBERCyO2ifubcw==}
engines: {node: '>=18'}
- protobufjs@7.5.5:
- resolution: {integrity: sha512-3wY1AxV+VBNW8Yypfd1yQY9pXnqTAN+KwQxL8iYm3/BjKYMNg4i0owhEe26PWDOMaIrzeeF98Lqd5NGz4omiIg==}
+ protobufjs@7.6.1:
+ resolution: {integrity: sha512-4K0myLaWL5EteuSAro91EGFgcfVgxb64Jx+7oDAY6GOkXD4M69yuSEljNcInGVCA5sOPxmZ/EqDLj2x0Q0+Ygg==}
engines: {node: '>=12.0.0'}
proxy-addr@2.0.7:
resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
engines: {node: '>= 0.10'}
- proxy-agent@6.5.0:
- resolution: {integrity: sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==}
- engines: {node: '>= 14'}
-
- proxy-from-env@1.1.0:
- resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
-
prr@1.0.1:
resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==}
@@ -7173,13 +7144,13 @@ packages:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
- puppeteer-core@24.41.0:
- resolution: {integrity: sha512-rLIUri7E/NQ3APSEYCCozaSJx0u8Tu9wxO6BJwnvXmIgILSK3L0TombaVh3izp1njAGrO6H2ru0hcIrLF+gWLw==}
- engines: {node: '>=18'}
+ puppeteer-core@25.1.0:
+ resolution: {integrity: sha512-jKzy5y4WG6uNuFbTWgW1D7mqoT9o0nllc/6a1DGF775T1mPmgw3scdFEtEq67yVFikavQmbYq6NLfbTfxHSlqQ==}
+ engines: {node: '>=22.12.0'}
- puppeteer@24.41.0:
- resolution: {integrity: sha512-W6Fk0J3TPjjtwjXOyR/qf+YaL0H/Uq8HIgHcXG4mNM/IgbKMCH/HPyK0Fi2qbTU/QpSl9bCte2yBpGHKejTpIw==}
- engines: {node: '>=18'}
+ puppeteer@25.1.0:
+ resolution: {integrity: sha512-7L6/0JM7XStK99lIL4xQySyNEXNfII6pk0BxkI5kKBTOhR7AsoQiv067YTsE/rIXxQiq9ajlO4WcqBjS/FWK1A==}
+ engines: {node: '>=22.12.0'}
hasBin: true
pvtsutils@1.3.6:
@@ -7197,8 +7168,8 @@ packages:
resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==}
engines: {node: '>=0.6'}
- qs@6.15.1:
- resolution: {integrity: sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==}
+ qs@6.15.2:
+ resolution: {integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==}
engines: {node: '>=0.6'}
queue-microtask@1.2.3:
@@ -7245,10 +7216,6 @@ packages:
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
engines: {node: '>=8.10.0'}
- readdirp@4.1.2:
- resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
- engines: {node: '>= 14.18.0'}
-
readdirp@5.0.0:
resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==}
engines: {node: '>= 20.19.0'}
@@ -7307,9 +7274,6 @@ packages:
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
engines: {node: '>=4'}
- resolve-pkg-maps@1.0.0:
- resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
-
resolve-url-loader@5.0.0:
resolution: {integrity: sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==}
engines: {node: '>=12'}
@@ -7319,8 +7283,8 @@ packages:
engines: {node: '>= 0.4'}
hasBin: true
- resolve@2.0.0-next.6:
- resolution: {integrity: sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA==}
+ resolve@2.0.0-next.7:
+ resolution: {integrity: sha512-tqt+NBWwyaMgw3zDsnygx4CByWjQEJHOPMdslYhppaQSJUtL/D4JO9CcBBlhPoI8lz9oJIDXkwXfhF4aWqP8xQ==}
engines: {node: '>= 0.4'}
hasBin: true
@@ -7359,8 +7323,8 @@ packages:
resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==}
hasBin: true
- rolldown@1.0.0-rc.16:
- resolution: {integrity: sha512-rzi5WqKzEZw3SooTt7cgm4eqIoujPIyGcJNGFL7iPEuajQw7vxMHUkXylu4/vhCkJGXsgRmxqMKXUpT6FEgl0g==}
+ rolldown@1.0.2:
+ resolution: {integrity: sha512-oZx5zVDtVB44AW3eaifgDml1gWRDZGvjcfdxonE4swNPG98PrrXjaO/KrnUjzlMnztCCRVlUueA1kCXhARGk6g==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
@@ -7375,9 +7339,9 @@ packages:
rollup: ^3.29.4 || ^4
typescript: ^4.5 || ^5.0 || ^6.0
- rollup-plugin-sourcemaps2@0.5.6:
- resolution: {integrity: sha512-oalmewAT4GLVsW6NugcDybx0ypet94vU0dUK3VofdYoWiN4ZjoX1L4dizFd0OhoJ78r/Am9sARTR9gMrX0cJ7w==}
- engines: {node: '>=18.0.0'}
+ rollup-plugin-sourcemaps2@0.5.7:
+ resolution: {integrity: sha512-z2biw/Bs4cFgVn9LKEE5EK5PXvT0aUGuZoQkTU1OENf1PTl9WsbsVRR5FsKqY6qQohltsGTp1sIQrR8tsezztQ==}
+ engines: {node: '>=22.13.0'}
peerDependencies:
'@types/node': '>=18.0.0'
rollup: '>=4'
@@ -7385,8 +7349,8 @@ packages:
'@types/node':
optional: true
- rollup@4.60.2:
- resolution: {integrity: sha512-J9qZyW++QK/09NyN/zeO0dG/1GdGfyp9lV8ajHnRVLfo/uFsbji5mHnDgn/qYdUHyCkM2N+8VyspgZclfAh0eQ==}
+ rollup@4.60.4:
+ resolution: {integrity: sha512-WHeFSbZYsPu3+bLoNRUuAO+wavNlocOPf3wSHTP7hcFKVnJeWsYlCDbr3mTS14FCizf9ccIxXA8sGL8zKeQN3g==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
@@ -7432,20 +7396,20 @@ packages:
safer-buffer@2.1.2:
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
- sass-loader@16.0.7:
- resolution: {integrity: sha512-w6q+fRHourZ+e+xA1kcsF27iGM6jdB8teexYCfdUw0sYgcDNeZESnDNT9sUmmPm3ooziwUJXGwZJSTF3kOdBfA==}
- engines: {node: '>= 18.12.0'}
+ sanitize-filename@1.6.4:
+ resolution: {integrity: sha512-9ZyI08PsvdQl2r/bBIGubpVdR3RR9sY6RDiWFPreA21C/EFlQhmgo20UZlNjZMMZNubusLhAQozkA0Od5J21Eg==}
+
+ sass-loader@17.0.0:
+ resolution: {integrity: sha512-0Ybm8ohBQ9LcrycVrFQp/KQBNX5a3Wda9/smS0mE/xLffzEnwvV8nykOzrbiSWNzTE3IB/jiXx8O4QmDPG2+Gw==}
+ engines: {node: '>= 22.11.0'}
peerDependencies:
'@rspack/core': 0.x || ^1.0.0 || ^2.0.0-0
- node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0
sass: ^1.3.0
sass-embedded: '*'
webpack: ^5.0.0
peerDependenciesMeta:
'@rspack/core':
optional: true
- node-sass:
- optional: true
sass:
optional: true
sass-embedded:
@@ -7453,9 +7417,9 @@ packages:
webpack:
optional: true
- sass@1.99.0:
- resolution: {integrity: sha512-kgW13M54DUB7IsIRM5LvJkNlpH+WhMpooUcaWGFARkF1Tc82v9mIWkCbCYf+MBvpIUBSeSOTilpZjEPr2VYE6Q==}
- engines: {node: '>=14.0.0'}
+ sass@1.100.0:
+ resolution: {integrity: sha512-B5j0rYMlinhhOo9tjQebMVVn0TfyXAF+wB3b2ggZUuJ/is/Y+7+JGjirAMxHZ9Z3hIP98NPfamlAkBHa1lAaXQ==}
+ engines: {node: '>=20.19.0'}
hasBin: true
sax@1.6.0:
@@ -7485,13 +7449,18 @@ packages:
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
hasBin: true
- semver@7.7.2:
- resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==}
+ semver@7.7.4:
+ resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==}
engines: {node: '>=10'}
hasBin: true
- semver@7.7.4:
- resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==}
+ semver@7.8.0:
+ resolution: {integrity: sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ semver@7.8.1:
+ resolution: {integrity: sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==}
engines: {node: '>=10'}
hasBin: true
@@ -7549,8 +7518,8 @@ packages:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
- shell-quote@1.8.3:
- resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==}
+ shell-quote@1.8.4:
+ resolution: {integrity: sha512-VsC6n6vz1ihYYyZZwX7YZSF5l5x36ca17OC+a69h94YqB7X6XLwf+5MOgynYir2SLFUbl8gIYvBo8K8RoNQ6bQ==}
engines: {node: '>= 0.4'}
side-channel-list@1.0.1:
@@ -7579,10 +7548,14 @@ packages:
resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
engines: {node: '>=14'}
- sigstore@4.1.0:
- resolution: {integrity: sha512-/fUgUhYghuLzVT/gaJoeVehLCgZiUxPCPMcyVNY0lIf/cTCz58K/WTI7PefDarXxp9nUKpEwg1yyz3eSBMTtgA==}
+ sigstore@4.1.1:
+ resolution: {integrity: sha512-endqECJkfhozrXMK5ngu/UAA0xVcVEFdnHJCElGaExypjW+HK5i6zu3NteLoaX/iFbRUbC3+DjttQs0GARr+5w==}
engines: {node: ^20.17.0 || >=22.9.0}
+ slash@3.0.0:
+ resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
+ engines: {node: '>=8'}
+
slice-ansi@7.1.2:
resolution: {integrity: sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==}
engines: {node: '>=18'}
@@ -7595,8 +7568,8 @@ packages:
resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==}
engines: {node: '>= 6.0.0', npm: '>= 3.0.0'}
- socket.io-adapter@2.5.6:
- resolution: {integrity: sha512-DkkO/dz7MGln0dHn5bmN3pPy+JmywNICWrJqVWiVOyvXjWQFIv9c2h24JrQLLFJ2aQVQf/Cvl1vblnd4r2apLQ==}
+ socket.io-adapter@2.5.7:
+ resolution: {integrity: sha512-e0LyK91f3cUxTmv95/KzoLg47+zF+s/sbxRGDNsyG4dmIP8ZSX8ax6byOxfJXeNNtS/8AZlfD+uP7gBeR7DLlg==}
socket.io-client@4.8.3:
resolution: {integrity: sha512-uP0bpjWrjQmUt5DTHq9RuoCBdFJF10cdX9X+a368j/Ft0wmaVgxlrjvK3kjvgCODOMMOz9lcaRzxmso0bTWZ/g==}
@@ -7617,8 +7590,8 @@ packages:
resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==}
engines: {node: '>= 14'}
- socks@2.8.7:
- resolution: {integrity: sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==}
+ socks@2.8.9:
+ resolution: {integrity: sha512-LJhUYUvItdQ0LkJTmPeaEObWXAqFyfmP85x0tch/ez9cahmhlBBLbIqDFnvBnUJGagb0JbIQrkBs1wJ+yRYpEw==}
engines: {node: '>= 10.0.0', npm: '>= 3.0.0'}
sonic-boom@3.8.1:
@@ -7707,10 +7680,6 @@ packages:
resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
engines: {node: '>= 0.6'}
- statuses@2.0.1:
- resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
- engines: {node: '>= 0.8'}
-
statuses@2.0.2:
resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==}
engines: {node: '>= 0.8'}
@@ -7762,8 +7731,8 @@ packages:
resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
engines: {node: '>=18'}
- string-width@8.2.0:
- resolution: {integrity: sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==}
+ string-width@8.2.1:
+ resolution: {integrity: sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==}
engines: {node: '>=20'}
string.prototype.trim@1.2.10:
@@ -7826,17 +7795,14 @@ packages:
resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==}
engines: {node: '>=6'}
- tar-fs@3.1.2:
- resolution: {integrity: sha512-QGxxTxxyleAdyM3kpFs14ymbYmNFrfY+pHj7Z8FgtbZ7w2//VAgLMac7sT6nRpIHjppXO2AwwEOg0bPFVRcmXw==}
-
tar-stream@3.1.7:
resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==}
- tar-stream@3.1.8:
- resolution: {integrity: sha512-U6QpVRyCGHva435KoNWy9PRoi2IFYCgtEhq9nmrPPpbRacPs9IH4aJ3gbrFC8dPcXvdSZ4XXfXT5Fshbp2MtlQ==}
+ tar-stream@3.2.0:
+ resolution: {integrity: sha512-ojzvCvVaNp6aOTFmG7jaRD0meowIAuPc3cMMhSgKiVWws1GyHbGd/xvnyuRKcKlMpt3qvxx6r0hreCNITP9hIg==}
- tar@7.5.13:
- resolution: {integrity: sha512-tOG/7GyXpFevhXVh8jOPJrmtRpOTsYqUIkVdVooZYJS/z8WhfQUX8RJILmeuJNinGAMSu1veBr4asSHFt5/hng==}
+ tar@7.5.15:
+ resolution: {integrity: sha512-dzGK0boVlC4W5QFuQN1EFSl3bIDYsk7Tj40U6eIBnK2k/8ml7TZ5agbI5j5+qnoVcAA+rNtBml8SEiLxZpNqRQ==}
engines: {node: '>=18'}
teeny-request@10.1.2:
@@ -7846,24 +7812,51 @@ packages:
teex@1.0.1:
resolution: {integrity: sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==}
- terser-webpack-plugin@5.5.0:
- resolution: {integrity: sha512-UYhptBwhWvfIjKd/UuFo6D8uq9xpGLDK+z8EDsj/zWhrTaH34cKEbrkMKfV5YWqGBvAYA3tlzZbs2R+qYrbQJA==}
+ terser-webpack-plugin@5.6.0:
+ resolution: {integrity: sha512-Eum+5ajkaOhf5KbM26osvv21kLD7BaGqQ1UA4Ami4arYwylmGUQTgHFpHDdmJod1q4QXa66p0to/FBKID+J1vA==}
engines: {node: '>= 10.13.0'}
peerDependencies:
+ '@minify-html/node': '*'
'@swc/core': '*'
+ '@swc/css': '*'
+ '@swc/html': '*'
+ clean-css: '*'
+ cssnano: '*'
+ csso: '*'
esbuild: '*'
+ html-minifier-terser: '*'
+ lightningcss: '*'
+ postcss: '*'
uglify-js: '*'
webpack: ^5.1.0
peerDependenciesMeta:
+ '@minify-html/node':
+ optional: true
'@swc/core':
optional: true
+ '@swc/css':
+ optional: true
+ '@swc/html':
+ optional: true
+ clean-css:
+ optional: true
+ cssnano:
+ optional: true
+ csso:
+ optional: true
esbuild:
optional: true
+ html-minifier-terser:
+ optional: true
+ lightningcss:
+ optional: true
+ postcss:
+ optional: true
uglify-js:
optional: true
- terser@5.46.1:
- resolution: {integrity: sha512-vzCjQO/rgUuK9sf8VJZvjqiqiHFaZLnOiimmUuOKODxWL8mm/xua7viT7aqX7dgPY60otQjUotzFMmCB4VdmqQ==}
+ terser@5.48.0:
+ resolution: {integrity: sha512-J/9An6vs9Us6wKRriSFXBWdRZapREHqFzdNUKk0pmu804EMR6dr6winwo7e5JDxN4xahxQsuysyYFwlwj4XN/Q==}
engines: {node: '>=10'}
hasBin: true
@@ -7897,8 +7890,8 @@ packages:
tinybench@2.9.0:
resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
- tinyexec@1.1.1:
- resolution: {integrity: sha512-VKS/ZaQhhkKFMANmAOhhXVoIfBXblQxGX1myCQ2faQrfmobMftXeJPcZGp0gS07ocvGJWDLZGyOZDadDBqYIJg==}
+ tinyexec@1.2.2:
+ resolution: {integrity: sha512-M/Q0B2cp4K7kynaT/vnED1j8TlLY+Pp7C6Wl2bl/7u/F0mUVwdyOpwomQb8JpYLitHUssAJRmLZdMCGsrx7i+g==}
engines: {node: '>=18'}
tinyglobby@0.2.16:
@@ -7912,15 +7905,15 @@ packages:
tldts-core@6.1.86:
resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==}
- tldts-core@7.0.28:
- resolution: {integrity: sha512-7W5Efjhsc3chVdFhqtaU0KtK32J37Zcr9RKtID54nG+tIpcY79CQK/veYPODxtD/LJ4Lue66jvrQzIX2Z2/pUQ==}
+ tldts-core@7.4.0:
+ resolution: {integrity: sha512-/mb9kRld+x1sIMXxWNOAp5m6C+D4GrAORWlJkOJ5dElvxdN1eutz/o7qHLp9gFvDF4Y3/L2xeScoxz6AbEo8rQ==}
tldts@6.1.86:
resolution: {integrity: sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==}
hasBin: true
- tldts@7.0.28:
- resolution: {integrity: sha512-+Zg3vWhRUv8B1maGSTFdev9mjoo8Etn2Ayfs4cnjlD3CsGkxXX4QyW3j2WJ0wdjYcYmy7Lx2RDsZMhgCWafKIw==}
+ tldts@7.4.0:
+ resolution: {integrity: sha512-yHBe+zVfzNZ3QfTPW/Z6KK1G2t340gFjMHqI/4KKSt/abzYydzuCnpqdaF5gCCABby+9Yfbj59oR5F2Fd5CBzg==}
hasBin: true
tmp@0.2.5:
@@ -7931,9 +7924,9 @@ packages:
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
engines: {node: '>=8.0'}
- toad-cache@3.7.0:
- resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==}
- engines: {node: '>=12'}
+ toad-cache@3.7.1:
+ resolution: {integrity: sha512-5DXWzE4Vz7xNHsv+xQ+MGfJYyC78Aok3tEr0MNwHoRf7vZnga1mQXZ4/Nsodld4VR6Wd+VhfmqnNrsRJyYPfrQ==}
+ engines: {node: '>=20'}
toidentifier@1.0.1:
resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
@@ -7960,6 +7953,9 @@ packages:
peerDependencies:
tslib: '2'
+ truncate-utf8-bytes@1.0.2:
+ resolution: {integrity: sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==}
+
ts-api-utils@2.5.0:
resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==}
engines: {node: '>=18.12'}
@@ -7975,8 +7971,8 @@ packages:
tslib@2.8.1:
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
- tsx@4.21.0:
- resolution: {integrity: sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==}
+ tsx@4.22.3:
+ resolution: {integrity: sha512-mdoNxBC/cSQObGGVQ5Bpn5i+yv7j68gk3Nfm3wFjcJg3Z0Mix9jzAFfP12prmm5eVGmDKtp0yyArrs0Q+8gZHg==}
engines: {node: '>=18.0.0'}
hasBin: true
@@ -8009,9 +8005,9 @@ packages:
resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
engines: {node: '>= 0.6'}
- type-is@2.0.1:
- resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==}
- engines: {node: '>= 0.6'}
+ type-is@2.1.0:
+ resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==}
+ engines: {node: '>= 18'}
typed-array-buffer@1.0.3:
resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==}
@@ -8038,11 +8034,6 @@ packages:
typed-query-selector@2.12.2:
resolution: {integrity: sha512-EOPFbyIub4ngnEdqi2yOcNeDLaX/0jcE1JoAXQDDMIthap7FoN795lc/SHfIq2d416VufXpM8z/lD+WRm2gfOQ==}
- typescript@6.0.2:
- resolution: {integrity: sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==}
- engines: {node: '>=14.17'}
- hasBin: true
-
typescript@6.0.3:
resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==}
engines: {node: '>=14.17'}
@@ -8071,16 +8062,16 @@ packages:
undici-types@7.16.0:
resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==}
- undici@6.25.0:
- resolution: {integrity: sha512-ZgpWDC5gmNiuY9CnLVXEH8rl50xhRCuLNA97fAUnKi8RRuV4E6KG31pDTsLVUKnohJE0I3XDrTeEydAXRw47xg==}
+ undici@6.26.0:
+ resolution: {integrity: sha512-4yqz8a3n5HmGTlsbADNtr/dJlhkh/55Rq798G6ibiULcXbDtaLpTl1pvdqcbFfeoj3iSi52lePFM7h9H21cw/A==}
engines: {node: '>=18.17'}
- undici@7.25.0:
- resolution: {integrity: sha512-xXnp4kTyor2Zq+J1FfPI6Eq3ew5h6Vl0F/8d9XU5zZQf1tX9s2Su1/3PiMmUANFULpmksxkClamIZcaUqryHsQ==}
+ undici@7.26.0:
+ resolution: {integrity: sha512-3O9Tf67pGhgOv9jM35AbhkXAKi13f3oy3aE4CSgr+TckGeY+/iu97ZXN+J7DpHPzLbVApFd1IFhcnBjREYXYcg==}
engines: {node: '>=20.18.1'}
- undici@8.1.0:
- resolution: {integrity: sha512-E9MkTS4xXLnRPYqxH2e6Hr2/49e7WFDKczKcCaFH4VaZs2iNvHMqeIkyUAD9vM8kujy9TjVrRlQ5KkdEJxB2pw==}
+ undici@8.3.0:
+ resolution: {integrity: sha512-TkUDgb6tl7KOGZ+7e8E3d2FYgUQgF6z5YypqjWmixVQSQERFcVrVg0ySADm2LVLRh5ljAaHTCR5Fmz3Q34rB7Q==}
engines: {node: '>=22.19.0'}
unenv@1.10.0:
@@ -8141,6 +8132,9 @@ packages:
resolution: {integrity: sha512-q3l3P9UtEEiAHcsgsqTgf9PPjctrDWoIXW3NpOHFdRDbLvu4DLIcxHangJ4RLrWkBcKjmcs/6NkerI8T/rE4LA==}
engines: {node: '>=6.14.2'}
+ utf8-byte-length@1.0.5:
+ resolution: {integrity: sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==}
+
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
@@ -8157,6 +8151,10 @@ packages:
resolution: {integrity: sha512-hVDIBwsRruT73PbK7uP5ebUt+ezEtCmzZz3F59BSr2F6OVFnJ/6h8liuvdLrQ88Xmnk6/+xGGuq+pG9WwTuy3A==}
engines: {node: ^20.17.0 || >=22.9.0}
+ validate-npm-package-name@8.0.0:
+ resolution: {integrity: sha512-SCv6OOV6Xj2/3cXy3dGmADluJTNcL3o7hZAglNPTe+WYuEuvxgJzxPrSDLZhF+CwyQOubqgecjMmTJGMVLWjYQ==}
+ engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0}
+
validator@13.15.26:
resolution: {integrity: sha512-spH26xU080ydGggxRyR1Yhcbgx+j3y5jbNXk/8L+iRvdIEQ4uTRH2Sgf2dokud6Q4oAtsbNvJ1Ft+9xmm6IZcA==}
engines: {node: '>= 0.10'}
@@ -8165,29 +8163,29 @@ packages:
resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
engines: {node: '>= 0.8'}
- verdaccio-audit@13.0.0-next-8.37:
- resolution: {integrity: sha512-ckn4xxNEkK5lflwb8a6xs2j6rVe//9sEH4rJHBqh2RelKYnFkxHbnN06gsdV2KtqSKDD9F4NE2UDA9SSs8E90w==}
+ verdaccio-audit@13.0.2:
+ resolution: {integrity: sha512-J2aq4b0Q6qj/3o+r8dBPCmKNj37x+8BjSZOEoH85zjR3kihiVYQgJ1+2UxKCJpLj4Z/04SekB1p+zTBiViyoMw==}
engines: {node: '>=18'}
- verdaccio-auth-memory@13.0.0:
- resolution: {integrity: sha512-83nPBvWTR14XSsz9Yx5ICl4jtSE+/1PecUstYa9d2PJEzcCwWizlUCUq0xGOXA0rGaCHim5h9C/t6rzyNoQsFw==}
+ verdaccio-auth-memory@13.0.2:
+ resolution: {integrity: sha512-IMAwNerPmsyUiToiVt/gQco3Kip3pJ3weDdGbEw0Cgr3wS5jzLll0yjwn1zmcrkSbg2EfH24OceRmLwXXtBZFQ==}
engines: {node: '>=18'}
- verdaccio-htpasswd@13.0.0-next-8.37:
- resolution: {integrity: sha512-25MjzPLJG8mfPe4jtR8+3B8PCfBl0D2DRDnsP+KJPn8yBbUiO/GJaw2dyGOiVA7ZTyAWKDnN0WvmmIs+Ibj4+g==}
+ verdaccio-htpasswd@13.0.2:
+ resolution: {integrity: sha512-ObyN409utfLKQ4QdGAYyXOprVaOYz0tDvhi0WpK7U71QvL/LOjeXWleDFRJHeaEMTNNdrzPhtC/9kcpfnztabg==}
engines: {node: '>=18'}
- verdaccio@6.5.2:
- resolution: {integrity: sha512-zFzUz/2b5z4svs7/wkX0JDSvOE3ViWdNcIs8qwnmUg2hKBbWeVoA5Kt/JWHRkUrCuwiIfAoEWobiKZmrAFqHqw==}
- engines: {node: '>=18'}
+ verdaccio@6.7.2:
+ resolution: {integrity: sha512-o9YQonYX94RxVKQncxcUbsPtLTV26IgDSPQTbcw6rFrtQ6zb7Fx75vTNBps2O7xStMtwROblGwnLlHF7akm0jQ==}
+ engines: {node: '>=20'}
hasBin: true
verror@1.10.0:
resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==}
engines: {'0': node >=0.6.0}
- vite@7.3.2:
- resolution: {integrity: sha512-Bby3NOsna2jsjfLVOHKes8sGwgl4TT0E6vvpYgnAYDIF/tie7MRaFthmKuHx1NSXjiTueXH3do80FMQgvEktRg==}
+ vite@7.3.3:
+ resolution: {integrity: sha512-/4XH147Ui7OGTjg3HbdWe5arnZQSbfuRzdr9Ec7TQi5I7R+ir0Rlc9GIvD4v0XZurELqA035KVXJXpR61xhiTA==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
@@ -8226,20 +8224,20 @@ packages:
yaml:
optional: true
- vitest@4.1.4:
- resolution: {integrity: sha512-tFuJqTxKb8AvfyqMfnavXdzfy3h3sWZRWwfluGbkeR7n0HUev+FmNgZ8SDrRBTVrVCjgH5cA21qGbCffMNtWvg==}
+ vitest@4.1.7:
+ resolution: {integrity: sha512-flYyaFd2CgoCoU+0UKt3pxksgC+S02iTDN0n3LtqaMeXsI9SBcdNujc2k0DeFLzUn/0k538yNjOSdwgCqcrwJA==}
engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0}
hasBin: true
peerDependencies:
'@edge-runtime/vm': '*'
'@opentelemetry/api': ^1.9.0
'@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0
- '@vitest/browser-playwright': 4.1.4
- '@vitest/browser-preview': 4.1.4
- '@vitest/browser-webdriverio': 4.1.4
- '@vitest/coverage-istanbul': 4.1.4
- '@vitest/coverage-v8': 4.1.4
- '@vitest/ui': 4.1.4
+ '@vitest/browser-playwright': 4.1.7
+ '@vitest/browser-preview': 4.1.7
+ '@vitest/browser-webdriverio': 4.1.7
+ '@vitest/coverage-istanbul': 4.1.7
+ '@vitest/coverage-v8': 4.1.7
+ '@vitest/ui': 4.1.7
happy-dom: '*'
jsdom: '*'
peerDependenciesMeta:
@@ -8291,8 +8289,8 @@ packages:
web-vitals@4.2.4:
resolution: {integrity: sha512-r4DIlprAGwJ7YM11VZp4R884m0Vmgr6EAKe3P+kO0PPj3Unqyvv59rczf6UiGcb9Z8QxZVcqKNwv/g0WNdWwsw==}
- webdriver-bidi-protocol@0.4.1:
- resolution: {integrity: sha512-ARrjNjtWRRs2w4Tk7nqrf2gBI0QXWuOmMCx2hU+1jUt6d00MjMxURrhxhGbrsoiZKJrhTSTzbIrc554iKI10qw==}
+ webdriver-bidi-protocol@0.4.2:
+ resolution: {integrity: sha512-VSV+fzfChirL3e7jay2yUC7B4HQCGtEWEg/MSSQbK+qWbqeGlRLlXTzPpYr3XGUvbpDHumWZBJxgesg4N7dbtA==}
webidl-conversions@3.0.1:
resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
@@ -8319,8 +8317,8 @@ packages:
webpack:
optional: true
- webpack-dev-server@5.2.3:
- resolution: {integrity: sha512-9Gyu2F7+bg4Vv+pjbovuYDhHX+mqdqITykfzdM9UyKqKHlsE5aAjRhR+oOEfXW5vBeu8tarzlJFIZva4ZjAdrQ==}
+ webpack-dev-server@5.2.4:
+ resolution: {integrity: sha512-GqDPGZN9bRqKBTkp4aWkobDDHMsrXKoGSdOH56smIri8qR0JG8gfL8/v/f/OZR3/OKXjG8uwJbFVhKm/FNU/UA==}
engines: {node: '>= 18.12.0'}
hasBin: true
peerDependencies:
@@ -8336,8 +8334,8 @@ packages:
resolution: {integrity: sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==}
engines: {node: '>=18.0.0'}
- webpack-sources@3.4.0:
- resolution: {integrity: sha512-gHwIe1cgBvvfLeu1Yz/dcFpmHfKDVxxyqI+kzqmuxZED81z2ChxpyqPaWcNqigPywhaEke7AjSGga+kxY55gjQ==}
+ webpack-sources@3.5.0:
+ resolution: {integrity: sha512-HPuy+uuoTCaaoEoI1LQ3JN9+vrPBvEesnnX1jADHy728cHSMlq4wUc4afYqahq2B1mhQVZxCXOkNTnXltr+2vQ==}
engines: {node: '>=10.13.0'}
webpack-subresource-integrity@5.1.0:
@@ -8350,8 +8348,8 @@ packages:
html-webpack-plugin:
optional: true
- webpack@5.106.2:
- resolution: {integrity: sha512-wGN3qcrBQIFmQ/c0AiOAQBvrZ5lmY8vbbMv4Mxfgzqd/B6+9pXtLo73WuS1dSGXM5QYY3hZnIbvx+K1xxe6FyA==}
+ webpack@5.107.2:
+ resolution: {integrity: sha512-v7RhXaJbpMlV0D7hC7lb2EbnxkoeUqf9qhKr6lozx3Q48pmFrqqNRmZFUEGmi7pSwm6fCQ2H1IjvCkHqdpVdjQ==}
engines: {node: '>=10.13.0'}
hasBin: true
peerDependencies:
@@ -8409,6 +8407,11 @@ packages:
engines: {node: ^20.17.0 || >=22.9.0}
hasBin: true
+ which@7.0.0:
+ resolution: {integrity: sha512-RancgH2dmbLdHl6LRhEqvklWMgl/Hdnun0Y90KhBOLkMefg8Qa7/Zel8Sm+8HEcP6DEjzsWzpkuBQEZok58isA==}
+ engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0}
+ hasBin: true
+
why-is-node-running@2.3.0:
resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==}
engines: {node: '>=8'}
@@ -8443,8 +8446,8 @@ packages:
wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
- ws@8.18.3:
- resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==}
+ ws@8.20.1:
+ resolution: {integrity: sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==}
engines: {node: '>=10.0.0'}
peerDependencies:
bufferutil: ^4.0.1
@@ -8455,8 +8458,8 @@ packages:
utf-8-validate:
optional: true
- ws@8.20.0:
- resolution: {integrity: sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==}
+ ws@8.21.0:
+ resolution: {integrity: sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==}
engines: {node: '>=10.0.0'}
peerDependencies:
bufferutil: ^4.0.1
@@ -8508,8 +8511,8 @@ packages:
resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==}
engines: {node: '>=18'}
- yaml@2.8.3:
- resolution: {integrity: sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==}
+ yaml@2.9.0:
+ resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==}
engines: {node: '>= 14.6'}
hasBin: true
@@ -8537,9 +8540,6 @@ packages:
resolution: {integrity: sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==}
engines: {node: ^20.19.0 || ^22.12.0 || >=23}
- yauzl@2.10.0:
- resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==}
-
yocto-queue@0.1.0:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
@@ -8556,11 +8556,11 @@ packages:
zod@3.25.76:
resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==}
- zod@4.3.6:
- resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==}
+ zod@4.4.3:
+ resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==}
- zone.js@0.16.1:
- resolution: {integrity: sha512-dpvY17vxYIW3+bNrP0ClUlaiY0CiIRK3tnoLaGoQsQcY9/I/NpzIWQ7tQNhbV7LacQMpCII6wVzuL3tuWOyfuA==}
+ zone.js@0.16.2:
+ resolution: {integrity: sha512-Eky7p2Z1Ig3NnbfodSPoARCjKBSTFMnE/ACsP1L/XJEfY4SdOFce19BsUCWVwL6K5ABZFy5J3bjcMWffX+YM3Q==}
snapshots:
@@ -8576,161 +8576,161 @@ snapshots:
'@actions/http-client@4.0.1':
dependencies:
tunnel: 0.0.6
- undici: 6.25.0
+ undici: 6.26.0
'@actions/io@3.0.2': {}
- '@algolia/abtesting@1.16.2':
+ '@algolia/abtesting@1.18.1':
dependencies:
- '@algolia/client-common': 5.50.2
- '@algolia/requester-browser-xhr': 5.50.2
- '@algolia/requester-fetch': 5.50.2
- '@algolia/requester-node-http': 5.50.2
+ '@algolia/client-common': 5.52.1
+ '@algolia/requester-browser-xhr': 5.52.1
+ '@algolia/requester-fetch': 5.52.1
+ '@algolia/requester-node-http': 5.52.1
- '@algolia/client-abtesting@5.50.2':
+ '@algolia/client-abtesting@5.52.1':
dependencies:
- '@algolia/client-common': 5.50.2
- '@algolia/requester-browser-xhr': 5.50.2
- '@algolia/requester-fetch': 5.50.2
- '@algolia/requester-node-http': 5.50.2
+ '@algolia/client-common': 5.52.1
+ '@algolia/requester-browser-xhr': 5.52.1
+ '@algolia/requester-fetch': 5.52.1
+ '@algolia/requester-node-http': 5.52.1
- '@algolia/client-analytics@5.50.2':
+ '@algolia/client-analytics@5.52.1':
dependencies:
- '@algolia/client-common': 5.50.2
- '@algolia/requester-browser-xhr': 5.50.2
- '@algolia/requester-fetch': 5.50.2
- '@algolia/requester-node-http': 5.50.2
+ '@algolia/client-common': 5.52.1
+ '@algolia/requester-browser-xhr': 5.52.1
+ '@algolia/requester-fetch': 5.52.1
+ '@algolia/requester-node-http': 5.52.1
- '@algolia/client-common@5.50.2': {}
+ '@algolia/client-common@5.52.1': {}
- '@algolia/client-insights@5.50.2':
+ '@algolia/client-insights@5.52.1':
dependencies:
- '@algolia/client-common': 5.50.2
- '@algolia/requester-browser-xhr': 5.50.2
- '@algolia/requester-fetch': 5.50.2
- '@algolia/requester-node-http': 5.50.2
+ '@algolia/client-common': 5.52.1
+ '@algolia/requester-browser-xhr': 5.52.1
+ '@algolia/requester-fetch': 5.52.1
+ '@algolia/requester-node-http': 5.52.1
- '@algolia/client-personalization@5.50.2':
+ '@algolia/client-personalization@5.52.1':
dependencies:
- '@algolia/client-common': 5.50.2
- '@algolia/requester-browser-xhr': 5.50.2
- '@algolia/requester-fetch': 5.50.2
- '@algolia/requester-node-http': 5.50.2
+ '@algolia/client-common': 5.52.1
+ '@algolia/requester-browser-xhr': 5.52.1
+ '@algolia/requester-fetch': 5.52.1
+ '@algolia/requester-node-http': 5.52.1
- '@algolia/client-query-suggestions@5.50.2':
+ '@algolia/client-query-suggestions@5.52.1':
dependencies:
- '@algolia/client-common': 5.50.2
- '@algolia/requester-browser-xhr': 5.50.2
- '@algolia/requester-fetch': 5.50.2
- '@algolia/requester-node-http': 5.50.2
+ '@algolia/client-common': 5.52.1
+ '@algolia/requester-browser-xhr': 5.52.1
+ '@algolia/requester-fetch': 5.52.1
+ '@algolia/requester-node-http': 5.52.1
- '@algolia/client-search@5.50.2':
+ '@algolia/client-search@5.52.1':
dependencies:
- '@algolia/client-common': 5.50.2
- '@algolia/requester-browser-xhr': 5.50.2
- '@algolia/requester-fetch': 5.50.2
- '@algolia/requester-node-http': 5.50.2
+ '@algolia/client-common': 5.52.1
+ '@algolia/requester-browser-xhr': 5.52.1
+ '@algolia/requester-fetch': 5.52.1
+ '@algolia/requester-node-http': 5.52.1
- '@algolia/ingestion@1.50.2':
+ '@algolia/ingestion@1.52.1':
dependencies:
- '@algolia/client-common': 5.50.2
- '@algolia/requester-browser-xhr': 5.50.2
- '@algolia/requester-fetch': 5.50.2
- '@algolia/requester-node-http': 5.50.2
+ '@algolia/client-common': 5.52.1
+ '@algolia/requester-browser-xhr': 5.52.1
+ '@algolia/requester-fetch': 5.52.1
+ '@algolia/requester-node-http': 5.52.1
- '@algolia/monitoring@1.50.2':
+ '@algolia/monitoring@1.52.1':
dependencies:
- '@algolia/client-common': 5.50.2
- '@algolia/requester-browser-xhr': 5.50.2
- '@algolia/requester-fetch': 5.50.2
- '@algolia/requester-node-http': 5.50.2
+ '@algolia/client-common': 5.52.1
+ '@algolia/requester-browser-xhr': 5.52.1
+ '@algolia/requester-fetch': 5.52.1
+ '@algolia/requester-node-http': 5.52.1
- '@algolia/recommend@5.50.2':
+ '@algolia/recommend@5.52.1':
dependencies:
- '@algolia/client-common': 5.50.2
- '@algolia/requester-browser-xhr': 5.50.2
- '@algolia/requester-fetch': 5.50.2
- '@algolia/requester-node-http': 5.50.2
+ '@algolia/client-common': 5.52.1
+ '@algolia/requester-browser-xhr': 5.52.1
+ '@algolia/requester-fetch': 5.52.1
+ '@algolia/requester-node-http': 5.52.1
- '@algolia/requester-browser-xhr@5.50.2':
+ '@algolia/requester-browser-xhr@5.52.1':
dependencies:
- '@algolia/client-common': 5.50.2
+ '@algolia/client-common': 5.52.1
- '@algolia/requester-fetch@5.50.2':
+ '@algolia/requester-fetch@5.52.1':
dependencies:
- '@algolia/client-common': 5.50.2
+ '@algolia/client-common': 5.52.1
- '@algolia/requester-node-http@5.50.2':
+ '@algolia/requester-node-http@5.52.1':
dependencies:
- '@algolia/client-common': 5.50.2
+ '@algolia/client-common': 5.52.1
'@ampproject/remapping@2.3.0':
dependencies:
'@jridgewell/gen-mapping': 0.3.13
'@jridgewell/trace-mapping': 0.3.31
- '@angular/animations@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))':
+ '@angular/animations@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))':
dependencies:
- '@angular/core': 22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)
+ '@angular/core': 22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)
tslib: 2.8.1
- '@angular/cdk@22.0.0-next.7(@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(@angular/platform-browser@22.0.0-next.10(@angular/animations@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)))(@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)))(rxjs@7.8.2)':
+ '@angular/cdk@22.0.0-rc.2(@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.0.0-rc.2(@angular/animations@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)':
dependencies:
- '@angular/common': 22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2)
- '@angular/core': 22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)
- '@angular/platform-browser': 22.0.0-next.10(@angular/animations@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)))(@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))
+ '@angular/common': 22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)
+ '@angular/core': 22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)
+ '@angular/platform-browser': 22.0.0-rc.2(@angular/animations@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))
parse5: 8.0.1
rxjs: 7.8.2
tslib: 2.8.1
- '@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2)':
+ '@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)':
dependencies:
- '@angular/core': 22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)
+ '@angular/core': 22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)
rxjs: 7.8.2
tslib: 2.8.1
- '@angular/compiler-cli@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(typescript@6.0.2)':
+ '@angular/compiler-cli@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(typescript@6.0.3)':
dependencies:
- '@angular/compiler': 22.0.0-next.10
+ '@angular/compiler': 22.0.0-rc.2
'@babel/core': 7.29.0
'@jridgewell/sourcemap-codec': 1.5.5
chokidar: 5.0.0
convert-source-map: 1.9.0
reflect-metadata: 0.2.2
- semver: 7.7.4
+ semver: 7.8.1
tslib: 2.8.1
yargs: 18.0.0
optionalDependencies:
- typescript: 6.0.2
+ typescript: 6.0.3
transitivePeerDependencies:
- supports-color
- '@angular/compiler@22.0.0-next.10':
+ '@angular/compiler@22.0.0-rc.2':
dependencies:
tslib: 2.8.1
- '@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)':
+ '@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)':
dependencies:
rxjs: 7.8.2
tslib: 2.8.1
optionalDependencies:
- '@angular/compiler': 22.0.0-next.10
- zone.js: 0.16.1
+ '@angular/compiler': 22.0.0-rc.2
+ zone.js: 0.16.2
- '@angular/forms@22.0.0-next.10(@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(@angular/platform-browser@22.0.0-next.10(@angular/animations@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)))(@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)))(rxjs@7.8.2)':
+ '@angular/forms@22.0.0-rc.2(@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.0.0-rc.2(@angular/animations@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)':
dependencies:
- '@angular/common': 22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2)
- '@angular/core': 22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)
- '@angular/platform-browser': 22.0.0-next.10(@angular/animations@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)))(@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))
+ '@angular/common': 22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)
+ '@angular/core': 22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)
+ '@angular/platform-browser': 22.0.0-rc.2(@angular/animations@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(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.3.6
+ zod: 4.4.3
- '@angular/localize@22.0.0-next.10(@angular/compiler-cli@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(typescript@6.0.2))(@angular/compiler@22.0.0-next.10)':
+ '@angular/localize@22.0.0-rc.2(@angular/compiler-cli@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(typescript@6.0.3))(@angular/compiler@22.0.0-rc.2)':
dependencies:
- '@angular/compiler': 22.0.0-next.10
- '@angular/compiler-cli': 22.0.0-next.10(@angular/compiler@22.0.0-next.10)(typescript@6.0.2)
+ '@angular/compiler': 22.0.0-rc.2
+ '@angular/compiler-cli': 22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(typescript@6.0.3)
'@babel/core': 7.29.0
'@types/babel__core': 7.20.5
tinyglobby: 0.2.16
@@ -8738,24 +8738,24 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@angular/material@22.0.0-next.7(1ee8d5fdc2f291e5a1da1bc147744133)':
+ '@angular/material@22.0.0-rc.2(8f7a4024ad7b6c55fb0a3a6a45a14224)':
dependencies:
- '@angular/cdk': 22.0.0-next.7(@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(@angular/platform-browser@22.0.0-next.10(@angular/animations@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)))(@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)))(rxjs@7.8.2)
- '@angular/common': 22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2)
- '@angular/core': 22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)
- '@angular/forms': 22.0.0-next.10(@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(@angular/platform-browser@22.0.0-next.10(@angular/animations@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)))(@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)))(rxjs@7.8.2)
- '@angular/platform-browser': 22.0.0-next.10(@angular/animations@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)))(@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))
+ '@angular/cdk': 22.0.0-rc.2(@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.0.0-rc.2(@angular/animations@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)
+ '@angular/common': 22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)
+ '@angular/core': 22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)
+ '@angular/forms': 22.0.0-rc.2(@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.0.0-rc.2(@angular/animations@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)
+ '@angular/platform-browser': 22.0.0-rc.2(@angular/animations@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(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/4de8a14a1682d0f07e0b14a3b26498757c195904(@modelcontextprotocol/sdk@1.29.0(zod@4.3.6))':
+ '@angular/ng-dev@https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/a450a2420ca888116e6d4207b38819cd27b06179(@modelcontextprotocol/sdk@1.29.0(zod@4.4.3))':
dependencies:
'@actions/core': 3.0.1
'@conventional-changelog/git-client': 2.7.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.4.0)
'@google-cloud/spanner': 8.0.0(supports-color@10.2.2)
- '@google/genai': 1.50.1(@modelcontextprotocol/sdk@1.29.0(zod@4.3.6))(bufferutil@4.1.0)(supports-color@10.2.2)(utf-8-validate@6.0.6)
- '@inquirer/prompts': 8.4.2(@types/node@24.12.2)
- '@inquirer/type': 4.0.5(@types/node@24.12.2)
+ '@google/genai': 2.6.0(@modelcontextprotocol/sdk@1.29.0(zod@4.4.3))(bufferutil@4.1.0)(supports-color@10.2.2)(utf-8-validate@6.0.6)
+ '@inquirer/prompts': 8.4.3(@types/node@24.12.4)
+ '@inquirer/type': 4.0.5(@types/node@24.12.4)
'@octokit/auth-app': 8.2.0
'@octokit/core': 7.0.6
'@octokit/graphql': 9.0.3
@@ -8772,7 +8772,7 @@ snapshots:
'@types/events': 3.0.3
'@types/folder-hash': 4.0.4
'@types/jasmine': 6.0.0
- '@types/node': 24.12.2
+ '@types/node': 24.12.4
'@types/semver': 7.7.1
'@types/which': 3.0.4
'@types/yargs': 17.0.35
@@ -8785,66 +8785,66 @@ snapshots:
ejs: 5.0.2
encoding: 0.1.13
fast-glob: 3.3.3
- firebase: 12.12.1
- folder-hash: 4.1.2(supports-color@10.2.2)
+ firebase: 12.13.0
+ folder-hash: 4.1.3(supports-color@10.2.2)
jasmine: 6.2.0
jasmine-core: 6.2.0
jasmine-reporters: 2.5.2
jsonc-parser: 3.3.1
minimatch: 10.2.5
multimatch: 8.0.0
- nock: 14.0.13
- semver: 7.7.4
+ nock: 14.0.15
+ semver: 7.8.0
supports-color: 10.2.2
- tsx: 4.21.0
+ tsx: 4.22.3
typed-graphqlify: 3.1.6
typescript: 6.0.3
utf-8-validate: 6.0.6
- which: 6.0.1
- yaml: 2.8.3
+ which: 7.0.0
+ yaml: 2.9.0
yargs: 18.0.0
- zod: 4.3.6
+ zod: 4.4.3
transitivePeerDependencies:
- '@modelcontextprotocol/sdk'
- '@react-native-async-storage/async-storage'
- '@angular/platform-browser@22.0.0-next.10(@angular/animations@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)))(@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))':
+ '@angular/platform-browser@22.0.0-rc.2(@angular/animations@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))':
dependencies:
- '@angular/common': 22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2)
- '@angular/core': 22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)
+ '@angular/common': 22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)
+ '@angular/core': 22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)
tslib: 2.8.1
optionalDependencies:
- '@angular/animations': 22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))
+ '@angular/animations': 22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))
- '@angular/platform-server@22.0.0-next.10(@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/compiler@22.0.0-next.10)(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(@angular/platform-browser@22.0.0-next.10(@angular/animations@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)))(@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)))(rxjs@7.8.2)':
+ '@angular/platform-server@22.0.0-rc.2(@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/compiler@22.0.0-rc.2)(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.0.0-rc.2(@angular/animations@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)':
dependencies:
- '@angular/common': 22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2)
- '@angular/compiler': 22.0.0-next.10
- '@angular/core': 22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)
- '@angular/platform-browser': 22.0.0-next.10(@angular/animations@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)))(@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))
+ '@angular/common': 22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)
+ '@angular/compiler': 22.0.0-rc.2
+ '@angular/core': 22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)
+ '@angular/platform-browser': 22.0.0-rc.2(@angular/animations@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))
rxjs: 7.8.2
tslib: 2.8.1
xhr2: 0.2.1
- '@angular/router@22.0.0-next.10(@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(@angular/platform-browser@22.0.0-next.10(@angular/animations@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)))(@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)))(rxjs@7.8.2)':
+ '@angular/router@22.0.0-rc.2(@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(@angular/platform-browser@22.0.0-rc.2(@angular/animations@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)))(rxjs@7.8.2)':
dependencies:
- '@angular/common': 22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2)
- '@angular/core': 22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)
- '@angular/platform-browser': 22.0.0-next.10(@angular/animations@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)))(@angular/common@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2))(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))
+ '@angular/common': 22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)
+ '@angular/core': 22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)
+ '@angular/platform-browser': 22.0.0-rc.2(@angular/animations@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2)))(@angular/common@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2))(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))
rxjs: 7.8.2
tslib: 2.8.1
- '@angular/service-worker@22.0.0-next.10(@angular/core@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1))(rxjs@7.8.2)':
+ '@angular/service-worker@22.0.0-rc.2(@angular/core@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(rxjs@7.8.2)(zone.js@0.16.2))(rxjs@7.8.2)':
dependencies:
- '@angular/core': 22.0.0-next.10(@angular/compiler@22.0.0-next.10)(rxjs@7.8.2)(zone.js@0.16.1)
+ '@angular/core': 22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(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.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.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.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-color-parser': 4.1.1(@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
@@ -8860,25 +8860,45 @@ snapshots:
'@asamuzakjp/nwsapi@2.3.9': {}
- '@babel/code-frame@7.29.0':
+ '@babel/code-frame@7.29.7':
dependencies:
- '@babel/helper-validator-identifier': 7.28.5
+ '@babel/helper-validator-identifier': 7.29.7
js-tokens: 4.0.0
picocolors: 1.1.1
- '@babel/compat-data@7.29.0': {}
+ '@babel/compat-data@7.29.7': {}
'@babel/core@7.29.0':
dependencies:
- '@babel/code-frame': 7.29.0
- '@babel/generator': 7.29.1
- '@babel/helper-compilation-targets': 7.28.6
- '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0)
- '@babel/helpers': 7.29.2
- '@babel/parser': 7.29.2
- '@babel/template': 7.28.6
- '@babel/traverse': 7.29.0
- '@babel/types': 7.29.0
+ '@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.0)
+ '@babel/helpers': 7.29.7
+ '@babel/parser': 7.29.7
+ '@babel/template': 7.29.7
+ '@babel/traverse': 7.29.7
+ '@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)
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/core@7.29.7':
+ 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)
+ '@babel/helpers': 7.29.7
+ '@babel/parser': 7.29.7
+ '@babel/template': 7.29.7
+ '@babel/traverse': 7.29.7
+ '@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)
@@ -8888,647 +8908,665 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/generator@7.29.1':
+ '@babel/generator@7.29.7':
dependencies:
- '@babel/parser': 7.29.2
- '@babel/types': 7.29.0
+ '@babel/parser': 7.29.7
+ '@babel/types': 7.29.7
'@jridgewell/gen-mapping': 0.3.13
'@jridgewell/trace-mapping': 0.3.31
jsesc: 3.1.0
- '@babel/helper-annotate-as-pure@7.27.3':
+ '@babel/helper-annotate-as-pure@7.29.7':
dependencies:
- '@babel/types': 7.29.0
+ '@babel/types': 7.29.7
- '@babel/helper-compilation-targets@7.28.6':
+ '@babel/helper-compilation-targets@7.29.7':
dependencies:
- '@babel/compat-data': 7.29.0
- '@babel/helper-validator-option': 7.27.1
+ '@babel/compat-data': 7.29.7
+ '@babel/helper-validator-option': 7.29.7
browserslist: 4.28.2
lru-cache: 5.1.1
semver: 6.3.1
- '@babel/helper-create-class-features-plugin@7.28.6(@babel/core@7.29.0)':
+ '@babel/helper-create-class-features-plugin@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-annotate-as-pure': 7.27.3
- '@babel/helper-member-expression-to-functions': 7.28.5
- '@babel/helper-optimise-call-expression': 7.27.1
- '@babel/helper-replace-supers': 7.28.6(@babel/core@7.29.0)
- '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
- '@babel/traverse': 7.29.0
+ '@babel/core': 7.29.7
+ '@babel/helper-annotate-as-pure': 7.29.7
+ '@babel/helper-member-expression-to-functions': 7.29.7
+ '@babel/helper-optimise-call-expression': 7.29.7
+ '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.29.7
+ '@babel/traverse': 7.29.7
semver: 6.3.1
transitivePeerDependencies:
- supports-color
- '@babel/helper-create-regexp-features-plugin@7.28.5(@babel/core@7.29.0)':
+ '@babel/helper-create-regexp-features-plugin@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/core': 7.29.7
+ '@babel/helper-annotate-as-pure': 7.29.7
regexpu-core: 6.4.0
semver: 6.3.1
- '@babel/helper-define-polyfill-provider@0.6.8(@babel/core@7.29.0)':
+ '@babel/helper-define-polyfill-provider@0.6.8(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-compilation-targets': 7.28.6
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-compilation-targets': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
debug: 4.4.3(supports-color@10.2.2)
lodash.debounce: 4.0.8
resolve: 1.22.12
transitivePeerDependencies:
- supports-color
- '@babel/helper-globals@7.28.0': {}
+ '@babel/helper-globals@7.29.7': {}
- '@babel/helper-member-expression-to-functions@7.28.5':
+ '@babel/helper-member-expression-to-functions@7.29.7':
dependencies:
- '@babel/traverse': 7.29.0
- '@babel/types': 7.29.0
+ '@babel/traverse': 7.29.7
+ '@babel/types': 7.29.7
transitivePeerDependencies:
- supports-color
- '@babel/helper-module-imports@7.28.6':
+ '@babel/helper-module-imports@7.29.7':
dependencies:
- '@babel/traverse': 7.29.0
- '@babel/types': 7.29.0
+ '@babel/traverse': 7.29.7
+ '@babel/types': 7.29.7
transitivePeerDependencies:
- supports-color
- '@babel/helper-module-transforms@7.28.6(@babel/core@7.29.0)':
+ '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.0)':
dependencies:
'@babel/core': 7.29.0
- '@babel/helper-module-imports': 7.28.6
- '@babel/helper-validator-identifier': 7.28.5
- '@babel/traverse': 7.29.0
+ '@babel/helper-module-imports': 7.29.7
+ '@babel/helper-validator-identifier': 7.29.7
+ '@babel/traverse': 7.29.7
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7)':
+ dependencies:
+ '@babel/core': 7.29.7
+ '@babel/helper-module-imports': 7.29.7
+ '@babel/helper-validator-identifier': 7.29.7
+ '@babel/traverse': 7.29.7
transitivePeerDependencies:
- supports-color
- '@babel/helper-optimise-call-expression@7.27.1':
+ '@babel/helper-optimise-call-expression@7.29.7':
dependencies:
- '@babel/types': 7.29.0
+ '@babel/types': 7.29.7
- '@babel/helper-plugin-utils@7.28.6': {}
+ '@babel/helper-plugin-utils@7.29.7': {}
- '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.29.0)':
+ '@babel/helper-remap-async-to-generator@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-annotate-as-pure': 7.27.3
- '@babel/helper-wrap-function': 7.28.6
- '@babel/traverse': 7.29.0
+ '@babel/core': 7.29.7
+ '@babel/helper-annotate-as-pure': 7.29.7
+ '@babel/helper-wrap-function': 7.29.7
+ '@babel/traverse': 7.29.7
transitivePeerDependencies:
- supports-color
- '@babel/helper-replace-supers@7.28.6(@babel/core@7.29.0)':
+ '@babel/helper-replace-supers@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-member-expression-to-functions': 7.28.5
- '@babel/helper-optimise-call-expression': 7.27.1
- '@babel/traverse': 7.29.0
+ '@babel/core': 7.29.7
+ '@babel/helper-member-expression-to-functions': 7.29.7
+ '@babel/helper-optimise-call-expression': 7.29.7
+ '@babel/traverse': 7.29.7
transitivePeerDependencies:
- supports-color
- '@babel/helper-skip-transparent-expression-wrappers@7.27.1':
+ '@babel/helper-skip-transparent-expression-wrappers@7.29.7':
dependencies:
- '@babel/traverse': 7.29.0
- '@babel/types': 7.29.0
+ '@babel/traverse': 7.29.7
+ '@babel/types': 7.29.7
transitivePeerDependencies:
- supports-color
'@babel/helper-split-export-declaration@7.24.7':
dependencies:
- '@babel/types': 7.29.0
+ '@babel/types': 7.29.7
- '@babel/helper-string-parser@7.27.1': {}
+ '@babel/helper-string-parser@7.29.7': {}
- '@babel/helper-validator-identifier@7.28.5': {}
+ '@babel/helper-validator-identifier@7.29.7': {}
- '@babel/helper-validator-option@7.27.1': {}
+ '@babel/helper-validator-option@7.29.7': {}
- '@babel/helper-wrap-function@7.28.6':
+ '@babel/helper-wrap-function@7.29.7':
dependencies:
- '@babel/template': 7.28.6
- '@babel/traverse': 7.29.0
- '@babel/types': 7.29.0
+ '@babel/template': 7.29.7
+ '@babel/traverse': 7.29.7
+ '@babel/types': 7.29.7
transitivePeerDependencies:
- supports-color
- '@babel/helpers@7.29.2':
+ '@babel/helpers@7.29.7':
dependencies:
- '@babel/template': 7.28.6
- '@babel/types': 7.29.0
+ '@babel/template': 7.29.7
+ '@babel/types': 7.29.7
- '@babel/parser@7.29.2':
+ '@babel/parser@7.29.7':
dependencies:
- '@babel/types': 7.29.0
+ '@babel/types': 7.29.7
- '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.29.0)':
+ '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/traverse': 7.29.0
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/traverse': 7.29.7
transitivePeerDependencies:
- supports-color
- '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.29.0)':
+ '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.29.0)':
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.29.0)':
+ '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
- '@babel/plugin-transform-optional-chaining': 7.28.6(@babel/core@7.29.0)
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/helper-skip-transparent-expression-wrappers': 7.29.7
transitivePeerDependencies:
- supports-color
- '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.6(@babel/core@7.29.0)':
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/traverse': 7.29.0
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/helper-skip-transparent-expression-wrappers': 7.29.7
+ '@babel/plugin-transform-optional-chaining': 7.29.7(@babel/core@7.29.7)
transitivePeerDependencies:
- supports-color
- '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.0)':
+ '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/traverse': 7.29.7
+ transitivePeerDependencies:
+ - supports-color
- '@babel/plugin-syntax-import-assertions@7.28.6(@babel/core@7.29.0)':
+ '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
- '@babel/plugin-syntax-import-attributes@7.28.6(@babel/core@7.29.0)':
+ '@babel/plugin-syntax-import-assertions@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.29.0)':
+ '@babel/plugin-syntax-import-attributes@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0)
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.29.0)':
+ '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7)
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-async-generator-functions@7.29.0(@babel/core@7.29.0)':
+ '@babel/plugin-transform-arrow-functions@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.29.0)
- '@babel/traverse': 7.29.0
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-transform-async-generator-functions@7.29.7(@babel/core@7.29.7)':
+ dependencies:
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/helper-remap-async-to-generator': 7.29.7(@babel/core@7.29.7)
+ '@babel/traverse': 7.29.7
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-async-to-generator@7.28.6(@babel/core@7.29.0)':
+ '@babel/plugin-transform-async-to-generator@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-module-imports': 7.28.6
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.29.0)
+ '@babel/core': 7.29.7
+ '@babel/helper-module-imports': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/helper-remap-async-to-generator': 7.29.7(@babel/core@7.29.7)
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.29.0)':
+ '@babel/plugin-transform-block-scoped-functions@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-block-scoping@7.28.6(@babel/core@7.29.0)':
+ '@babel/plugin-transform-block-scoping@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-class-properties@7.28.6(@babel/core@7.29.0)':
+ '@babel/plugin-transform-class-properties@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0)
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7)
+ '@babel/helper-plugin-utils': 7.29.7
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-class-static-block@7.28.6(@babel/core@7.29.0)':
+ '@babel/plugin-transform-class-static-block@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0)
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7)
+ '@babel/helper-plugin-utils': 7.29.7
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-classes@7.28.6(@babel/core@7.29.0)':
+ '@babel/plugin-transform-classes@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-annotate-as-pure': 7.27.3
- '@babel/helper-compilation-targets': 7.28.6
- '@babel/helper-globals': 7.28.0
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-replace-supers': 7.28.6(@babel/core@7.29.0)
- '@babel/traverse': 7.29.0
+ '@babel/core': 7.29.7
+ '@babel/helper-annotate-as-pure': 7.29.7
+ '@babel/helper-compilation-targets': 7.29.7
+ '@babel/helper-globals': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7)
+ '@babel/traverse': 7.29.7
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-computed-properties@7.28.6(@babel/core@7.29.0)':
+ '@babel/plugin-transform-computed-properties@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/template': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/template': 7.29.7
- '@babel/plugin-transform-destructuring@7.28.5(@babel/core@7.29.0)':
+ '@babel/plugin-transform-destructuring@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/traverse': 7.29.0
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/traverse': 7.29.7
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-dotall-regex@7.28.6(@babel/core@7.29.0)':
+ '@babel/plugin-transform-dotall-regex@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0)
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7)
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.29.0)':
+ '@babel/plugin-transform-duplicate-keys@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.0(@babel/core@7.29.0)':
+ '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0)
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7)
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.29.0)':
+ '@babel/plugin-transform-dynamic-import@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-explicit-resource-management@7.28.6(@babel/core@7.29.0)':
+ '@babel/plugin-transform-explicit-resource-management@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.29.0)
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7)
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-exponentiation-operator@7.28.6(@babel/core@7.29.0)':
+ '@babel/plugin-transform-exponentiation-operator@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.29.0)':
+ '@babel/plugin-transform-export-namespace-from@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.29.0)':
+ '@babel/plugin-transform-for-of@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/helper-skip-transparent-expression-wrappers': 7.29.7
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.29.0)':
+ '@babel/plugin-transform-function-name@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-compilation-targets': 7.28.6
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/traverse': 7.29.0
+ '@babel/core': 7.29.7
+ '@babel/helper-compilation-targets': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/traverse': 7.29.7
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-json-strings@7.28.6(@babel/core@7.29.0)':
+ '@babel/plugin-transform-json-strings@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-literals@7.27.1(@babel/core@7.29.0)':
+ '@babel/plugin-transform-literals@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-logical-assignment-operators@7.28.6(@babel/core@7.29.0)':
+ '@babel/plugin-transform-logical-assignment-operators@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.29.0)':
+ '@babel/plugin-transform-member-expression-literals@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.29.0)':
+ '@babel/plugin-transform-modules-amd@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0)
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7)
+ '@babel/helper-plugin-utils': 7.29.7
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-modules-commonjs@7.28.6(@babel/core@7.29.0)':
+ '@babel/plugin-transform-modules-commonjs@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0)
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7)
+ '@babel/helper-plugin-utils': 7.29.7
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-modules-systemjs@7.29.0(@babel/core@7.29.0)':
+ '@babel/plugin-transform-modules-systemjs@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0)
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-validator-identifier': 7.28.5
- '@babel/traverse': 7.29.0
+ '@babel/core': 7.29.7
+ '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7)
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/helper-validator-identifier': 7.29.7
+ '@babel/traverse': 7.29.7
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.29.0)':
+ '@babel/plugin-transform-modules-umd@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0)
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7)
+ '@babel/helper-plugin-utils': 7.29.7
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-named-capturing-groups-regex@7.29.0(@babel/core@7.29.0)':
+ '@babel/plugin-transform-named-capturing-groups-regex@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0)
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7)
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.29.0)':
+ '@babel/plugin-transform-new-target@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-nullish-coalescing-operator@7.28.6(@babel/core@7.29.0)':
+ '@babel/plugin-transform-nullish-coalescing-operator@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-numeric-separator@7.28.6(@babel/core@7.29.0)':
+ '@babel/plugin-transform-numeric-separator@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-object-rest-spread@7.28.6(@babel/core@7.29.0)':
+ '@babel/plugin-transform-object-rest-spread@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-compilation-targets': 7.28.6
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.29.0)
- '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.29.0)
- '@babel/traverse': 7.29.0
+ '@babel/core': 7.29.7
+ '@babel/helper-compilation-targets': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-parameters': 7.29.7(@babel/core@7.29.7)
+ '@babel/traverse': 7.29.7
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.29.0)':
+ '@babel/plugin-transform-object-super@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-replace-supers': 7.28.6(@babel/core@7.29.0)
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7)
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-optional-catch-binding@7.28.6(@babel/core@7.29.0)':
+ '@babel/plugin-transform-optional-catch-binding@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-optional-chaining@7.28.6(@babel/core@7.29.0)':
+ '@babel/plugin-transform-optional-chaining@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/helper-skip-transparent-expression-wrappers': 7.29.7
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.29.0)':
+ '@babel/plugin-transform-parameters@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-private-methods@7.28.6(@babel/core@7.29.0)':
+ '@babel/plugin-transform-private-methods@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0)
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7)
+ '@babel/helper-plugin-utils': 7.29.7
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-private-property-in-object@7.28.6(@babel/core@7.29.0)':
+ '@babel/plugin-transform-private-property-in-object@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-annotate-as-pure': 7.27.3
- '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0)
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-annotate-as-pure': 7.29.7
+ '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7)
+ '@babel/helper-plugin-utils': 7.29.7
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.29.0)':
+ '@babel/plugin-transform-property-literals@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-regenerator@7.29.0(@babel/core@7.29.0)':
+ '@babel/plugin-transform-regenerator@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-regexp-modifiers@7.28.6(@babel/core@7.29.0)':
+ '@babel/plugin-transform-regexp-modifiers@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0)
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7)
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.29.0)':
+ '@babel/plugin-transform-reserved-words@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-runtime@7.29.0(@babel/core@7.29.0)':
+ '@babel/plugin-transform-runtime@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-module-imports': 7.28.6
- '@babel/helper-plugin-utils': 7.28.6
- babel-plugin-polyfill-corejs2: 0.4.17(@babel/core@7.29.0)
- babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.29.0)
- babel-plugin-polyfill-regenerator: 0.6.8(@babel/core@7.29.0)
+ '@babel/core': 7.29.7
+ '@babel/helper-module-imports': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
+ babel-plugin-polyfill-corejs2: 0.4.17(@babel/core@7.29.7)
+ babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.29.7)
+ babel-plugin-polyfill-regenerator: 0.6.8(@babel/core@7.29.7)
semver: 6.3.1
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.29.0)':
+ '@babel/plugin-transform-shorthand-properties@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-spread@7.28.6(@babel/core@7.29.0)':
+ '@babel/plugin-transform-spread@7.29.7(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/helper-skip-transparent-expression-wrappers': 7.29.7
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.29.0)':
- dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
-
- '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.29.0)':
- dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
-
- '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.29.0)':
- dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
-
- '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.29.0)':
- dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
-
- '@babel/plugin-transform-unicode-property-regex@7.28.6(@babel/core@7.29.0)':
- dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0)
- '@babel/helper-plugin-utils': 7.28.6
-
- '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.29.0)':
- dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0)
- '@babel/helper-plugin-utils': 7.28.6
-
- '@babel/plugin-transform-unicode-sets-regex@7.28.6(@babel/core@7.29.0)':
- dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0)
- '@babel/helper-plugin-utils': 7.28.6
-
- '@babel/preset-env@7.29.2(@babel/core@7.29.0)':
- dependencies:
- '@babel/compat-data': 7.29.0
- '@babel/core': 7.29.0
- '@babel/helper-compilation-targets': 7.28.6
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-validator-option': 7.27.1
- '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.28.5(@babel/core@7.29.0)
- '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.29.0)
- '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.29.0)
- '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.29.0)
- '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.6(@babel/core@7.29.0)
- '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.0)
- '@babel/plugin-syntax-import-assertions': 7.28.6(@babel/core@7.29.0)
- '@babel/plugin-syntax-import-attributes': 7.28.6(@babel/core@7.29.0)
- '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.29.0)
- '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.29.0)
- '@babel/plugin-transform-async-generator-functions': 7.29.0(@babel/core@7.29.0)
- '@babel/plugin-transform-async-to-generator': 7.28.6(@babel/core@7.29.0)
- '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.29.0)
- '@babel/plugin-transform-block-scoping': 7.28.6(@babel/core@7.29.0)
- '@babel/plugin-transform-class-properties': 7.28.6(@babel/core@7.29.0)
- '@babel/plugin-transform-class-static-block': 7.28.6(@babel/core@7.29.0)
- '@babel/plugin-transform-classes': 7.28.6(@babel/core@7.29.0)
- '@babel/plugin-transform-computed-properties': 7.28.6(@babel/core@7.29.0)
- '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.29.0)
- '@babel/plugin-transform-dotall-regex': 7.28.6(@babel/core@7.29.0)
- '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.29.0)
- '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.29.0(@babel/core@7.29.0)
- '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.29.0)
- '@babel/plugin-transform-explicit-resource-management': 7.28.6(@babel/core@7.29.0)
- '@babel/plugin-transform-exponentiation-operator': 7.28.6(@babel/core@7.29.0)
- '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.29.0)
- '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.29.0)
- '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.29.0)
- '@babel/plugin-transform-json-strings': 7.28.6(@babel/core@7.29.0)
- '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.29.0)
- '@babel/plugin-transform-logical-assignment-operators': 7.28.6(@babel/core@7.29.0)
- '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.29.0)
- '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.29.0)
- '@babel/plugin-transform-modules-commonjs': 7.28.6(@babel/core@7.29.0)
- '@babel/plugin-transform-modules-systemjs': 7.29.0(@babel/core@7.29.0)
- '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.29.0)
- '@babel/plugin-transform-named-capturing-groups-regex': 7.29.0(@babel/core@7.29.0)
- '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.29.0)
- '@babel/plugin-transform-nullish-coalescing-operator': 7.28.6(@babel/core@7.29.0)
- '@babel/plugin-transform-numeric-separator': 7.28.6(@babel/core@7.29.0)
- '@babel/plugin-transform-object-rest-spread': 7.28.6(@babel/core@7.29.0)
- '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.29.0)
- '@babel/plugin-transform-optional-catch-binding': 7.28.6(@babel/core@7.29.0)
- '@babel/plugin-transform-optional-chaining': 7.28.6(@babel/core@7.29.0)
- '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.29.0)
- '@babel/plugin-transform-private-methods': 7.28.6(@babel/core@7.29.0)
- '@babel/plugin-transform-private-property-in-object': 7.28.6(@babel/core@7.29.0)
- '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.29.0)
- '@babel/plugin-transform-regenerator': 7.29.0(@babel/core@7.29.0)
- '@babel/plugin-transform-regexp-modifiers': 7.28.6(@babel/core@7.29.0)
- '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.29.0)
- '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.29.0)
- '@babel/plugin-transform-spread': 7.28.6(@babel/core@7.29.0)
- '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.29.0)
- '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.29.0)
- '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.29.0)
- '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.29.0)
- '@babel/plugin-transform-unicode-property-regex': 7.28.6(@babel/core@7.29.0)
- '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.29.0)
- '@babel/plugin-transform-unicode-sets-regex': 7.28.6(@babel/core@7.29.0)
- '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.29.0)
- babel-plugin-polyfill-corejs2: 0.4.17(@babel/core@7.29.0)
- babel-plugin-polyfill-corejs3: 0.14.2(@babel/core@7.29.0)
- babel-plugin-polyfill-regenerator: 0.6.8(@babel/core@7.29.0)
+ '@babel/plugin-transform-sticky-regex@7.29.7(@babel/core@7.29.7)':
+ dependencies:
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-transform-template-literals@7.29.7(@babel/core@7.29.7)':
+ dependencies:
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-transform-typeof-symbol@7.29.7(@babel/core@7.29.7)':
+ dependencies:
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-transform-unicode-escapes@7.29.7(@babel/core@7.29.7)':
+ dependencies:
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-transform-unicode-property-regex@7.29.7(@babel/core@7.29.7)':
+ dependencies:
+ '@babel/core': 7.29.7
+ '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-transform-unicode-regex@7.29.7(@babel/core@7.29.7)':
+ dependencies:
+ '@babel/core': 7.29.7
+ '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-transform-unicode-sets-regex@7.29.7(@babel/core@7.29.7)':
+ dependencies:
+ '@babel/core': 7.29.7
+ '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/preset-env@7.29.7(@babel/core@7.29.7)':
+ dependencies:
+ '@babel/compat-data': 7.29.7
+ '@babel/core': 7.29.7
+ '@babel/helper-compilation-targets': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/helper-validator-option': 7.29.7
+ '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-bugfix-safari-rest-destructuring-rhs-array': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.7)
+ '@babel/plugin-syntax-import-assertions': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-syntax-import-attributes': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.29.7)
+ '@babel/plugin-transform-arrow-functions': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-async-generator-functions': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-async-to-generator': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-block-scoped-functions': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-block-scoping': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-class-properties': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-class-static-block': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-classes': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-computed-properties': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-dotall-regex': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-duplicate-keys': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-dynamic-import': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-explicit-resource-management': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-exponentiation-operator': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-export-namespace-from': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-for-of': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-function-name': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-json-strings': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-literals': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-logical-assignment-operators': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-member-expression-literals': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-modules-amd': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-modules-systemjs': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-modules-umd': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-named-capturing-groups-regex': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-new-target': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-nullish-coalescing-operator': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-numeric-separator': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-object-rest-spread': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-object-super': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-optional-catch-binding': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-optional-chaining': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-parameters': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-private-methods': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-private-property-in-object': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-property-literals': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-regenerator': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-regexp-modifiers': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-reserved-words': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-shorthand-properties': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-spread': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-sticky-regex': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-template-literals': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-typeof-symbol': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-unicode-escapes': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-unicode-property-regex': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-unicode-regex': 7.29.7(@babel/core@7.29.7)
+ '@babel/plugin-transform-unicode-sets-regex': 7.29.7(@babel/core@7.29.7)
+ '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.29.7)
+ babel-plugin-polyfill-corejs2: 0.4.17(@babel/core@7.29.7)
+ babel-plugin-polyfill-corejs3: 0.14.2(@babel/core@7.29.7)
+ babel-plugin-polyfill-regenerator: 0.6.8(@babel/core@7.29.7)
core-js-compat: 3.49.0
semver: 6.3.1
transitivePeerDependencies:
- supports-color
- '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.29.0)':
+ '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.29.7)':
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/types': 7.29.0
+ '@babel/core': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/types': 7.29.7
esutils: 2.0.3
- '@babel/runtime@7.29.2': {}
+ '@babel/runtime@7.29.7': {}
- '@babel/template@7.28.6':
+ '@babel/template@7.29.7':
dependencies:
- '@babel/code-frame': 7.29.0
- '@babel/parser': 7.29.2
- '@babel/types': 7.29.0
+ '@babel/code-frame': 7.29.7
+ '@babel/parser': 7.29.7
+ '@babel/types': 7.29.7
- '@babel/traverse@7.29.0':
+ '@babel/traverse@7.29.7':
dependencies:
- '@babel/code-frame': 7.29.0
- '@babel/generator': 7.29.1
- '@babel/helper-globals': 7.28.0
- '@babel/parser': 7.29.2
- '@babel/template': 7.28.6
- '@babel/types': 7.29.0
+ '@babel/code-frame': 7.29.7
+ '@babel/generator': 7.29.7
+ '@babel/helper-globals': 7.29.7
+ '@babel/parser': 7.29.7
+ '@babel/template': 7.29.7
+ '@babel/types': 7.29.7
debug: 4.4.3(supports-color@10.2.2)
transitivePeerDependencies:
- supports-color
- '@babel/types@7.29.0':
+ '@babel/types@7.29.7':
dependencies:
- '@babel/helper-string-parser': 7.27.1
- '@babel/helper-validator-identifier': 7.28.5
+ '@babel/helper-string-parser': 7.29.7
+ '@babel/helper-validator-identifier': 7.29.7
'@bazel/bazelisk@1.28.1': {}
@@ -9548,22 +9586,22 @@ snapshots:
dependencies:
'@simple-libs/child-process-utils': 1.0.2
'@simple-libs/stream-utils': 1.2.0
- semver: 7.7.4
+ semver: 7.8.1
optionalDependencies:
conventional-commits-filter: 5.0.0
conventional-commits-parser: 6.4.0
'@csstools/color-helpers@6.0.2': {}
- '@csstools/css-calc@3.2.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.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)':
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.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.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)':
dependencies:
'@csstools/color-helpers': 6.0.2
- '@csstools/css-calc': 3.2.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.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-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0)
'@csstools/css-tokenizer': 4.0.0
@@ -9571,7 +9609,7 @@ snapshots:
dependencies:
'@csstools/css-tokenizer': 4.0.0
- '@csstools/css-syntax-patches-for-csstree@1.1.3(css-tree@3.2.1)':
+ '@csstools/css-syntax-patches-for-csstree@1.1.4(css-tree@3.2.1)':
optionalDependencies:
css-tree: 3.2.1
@@ -9598,15 +9636,15 @@ snapshots:
tunnel-agent: 0.6.0
uuid: 8.3.2
- '@discoveryjs/json-ext@1.0.0': {}
+ '@discoveryjs/json-ext@1.1.0': {}
- '@emnapi/core@1.9.2':
+ '@emnapi/core@1.10.0':
dependencies:
'@emnapi/wasi-threads': 1.2.1
tslib: 2.8.1
optional: true
- '@emnapi/runtime@1.9.2':
+ '@emnapi/runtime@1.10.0':
dependencies:
tslib: 2.8.1
optional: true
@@ -9772,18 +9810,18 @@ snapshots:
'@esbuild/win32-x64@0.28.0':
optional: true
- '@eslint-community/eslint-utils@4.9.1(eslint@10.2.1(jiti@2.6.1))':
+ '@eslint-community/eslint-utils@4.9.1(eslint@10.4.0(jiti@2.7.0))':
dependencies:
- eslint: 10.2.1(jiti@2.6.1)
+ eslint: 10.4.0(jiti@2.7.0)
eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.12.2': {}
- '@eslint/compat@2.0.5(eslint@10.2.1(jiti@2.6.1))':
+ '@eslint/compat@2.1.0(eslint@10.4.0(jiti@2.7.0))':
dependencies:
'@eslint/core': 1.2.1
optionalDependencies:
- eslint: 10.2.1(jiti@2.6.1)
+ eslint: 10.4.0(jiti@2.7.0)
'@eslint/config-array@0.23.5':
dependencies:
@@ -9793,7 +9831,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@eslint/config-helpers@0.5.5':
+ '@eslint/config-helpers@0.6.0':
dependencies:
'@eslint/core': 1.2.1
@@ -9815,9 +9853,9 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@eslint/js@10.0.1(eslint@10.2.1(jiti@2.6.1))':
+ '@eslint/js@10.0.1(eslint@10.4.0(jiti@2.7.0))':
optionalDependencies:
- eslint: 10.2.1(jiti@2.6.1)
+ eslint: 10.4.0(jiti@2.7.0)
'@eslint/object-schema@3.0.5': {}
@@ -9826,327 +9864,327 @@ snapshots:
'@eslint/core': 1.2.1
levn: 0.4.1
- '@exodus/bytes@1.15.0': {}
+ '@exodus/bytes@1.15.1': {}
- '@firebase/ai@2.11.1(@firebase/app-types@0.9.4)(@firebase/app@0.14.11)':
+ '@firebase/ai@2.12.0(@firebase/app-types@0.9.5)(@firebase/app@0.14.12)':
dependencies:
- '@firebase/app': 0.14.11
- '@firebase/app-check-interop-types': 0.3.3
- '@firebase/app-types': 0.9.4
- '@firebase/component': 0.7.2
- '@firebase/logger': 0.5.0
- '@firebase/util': 1.15.0
+ '@firebase/app': 0.14.12
+ '@firebase/app-check-interop-types': 0.3.4
+ '@firebase/app-types': 0.9.5
+ '@firebase/component': 0.7.3
+ '@firebase/logger': 0.5.1
+ '@firebase/util': 1.15.1
tslib: 2.8.1
- '@firebase/analytics-compat@0.2.27(@firebase/app-compat@0.5.11)(@firebase/app@0.14.11)':
+ '@firebase/analytics-compat@0.2.28(@firebase/app-compat@0.5.12)(@firebase/app@0.14.12)':
dependencies:
- '@firebase/analytics': 0.10.21(@firebase/app@0.14.11)
- '@firebase/analytics-types': 0.8.3
- '@firebase/app-compat': 0.5.11
- '@firebase/component': 0.7.2
- '@firebase/util': 1.15.0
+ '@firebase/analytics': 0.10.22(@firebase/app@0.14.12)
+ '@firebase/analytics-types': 0.8.4
+ '@firebase/app-compat': 0.5.12
+ '@firebase/component': 0.7.3
+ '@firebase/util': 1.15.1
tslib: 2.8.1
transitivePeerDependencies:
- '@firebase/app'
- '@firebase/analytics-types@0.8.3': {}
+ '@firebase/analytics-types@0.8.4': {}
- '@firebase/analytics@0.10.21(@firebase/app@0.14.11)':
+ '@firebase/analytics@0.10.22(@firebase/app@0.14.12)':
dependencies:
- '@firebase/app': 0.14.11
- '@firebase/component': 0.7.2
- '@firebase/installations': 0.6.21(@firebase/app@0.14.11)
- '@firebase/logger': 0.5.0
- '@firebase/util': 1.15.0
+ '@firebase/app': 0.14.12
+ '@firebase/component': 0.7.3
+ '@firebase/installations': 0.6.22(@firebase/app@0.14.12)
+ '@firebase/logger': 0.5.1
+ '@firebase/util': 1.15.1
tslib: 2.8.1
- '@firebase/app-check-compat@0.4.2(@firebase/app-compat@0.5.11)(@firebase/app@0.14.11)':
+ '@firebase/app-check-compat@0.4.3(@firebase/app-compat@0.5.12)(@firebase/app@0.14.12)':
dependencies:
- '@firebase/app-check': 0.11.2(@firebase/app@0.14.11)
- '@firebase/app-check-types': 0.5.3
- '@firebase/app-compat': 0.5.11
- '@firebase/component': 0.7.2
- '@firebase/logger': 0.5.0
- '@firebase/util': 1.15.0
+ '@firebase/app-check': 0.11.3(@firebase/app@0.14.12)
+ '@firebase/app-check-types': 0.5.4
+ '@firebase/app-compat': 0.5.12
+ '@firebase/component': 0.7.3
+ '@firebase/logger': 0.5.1
+ '@firebase/util': 1.15.1
tslib: 2.8.1
transitivePeerDependencies:
- '@firebase/app'
- '@firebase/app-check-interop-types@0.3.3': {}
+ '@firebase/app-check-interop-types@0.3.4': {}
- '@firebase/app-check-types@0.5.3': {}
+ '@firebase/app-check-types@0.5.4': {}
- '@firebase/app-check@0.11.2(@firebase/app@0.14.11)':
+ '@firebase/app-check@0.11.3(@firebase/app@0.14.12)':
dependencies:
- '@firebase/app': 0.14.11
- '@firebase/component': 0.7.2
- '@firebase/logger': 0.5.0
- '@firebase/util': 1.15.0
+ '@firebase/app': 0.14.12
+ '@firebase/component': 0.7.3
+ '@firebase/logger': 0.5.1
+ '@firebase/util': 1.15.1
tslib: 2.8.1
- '@firebase/app-compat@0.5.11':
+ '@firebase/app-compat@0.5.12':
dependencies:
- '@firebase/app': 0.14.11
- '@firebase/component': 0.7.2
- '@firebase/logger': 0.5.0
- '@firebase/util': 1.15.0
+ '@firebase/app': 0.14.12
+ '@firebase/component': 0.7.3
+ '@firebase/logger': 0.5.1
+ '@firebase/util': 1.15.1
tslib: 2.8.1
- '@firebase/app-types@0.9.4':
+ '@firebase/app-types@0.9.5':
dependencies:
- '@firebase/logger': 0.5.0
+ '@firebase/logger': 0.5.1
- '@firebase/app@0.14.11':
+ '@firebase/app@0.14.12':
dependencies:
- '@firebase/component': 0.7.2
- '@firebase/logger': 0.5.0
- '@firebase/util': 1.15.0
+ '@firebase/component': 0.7.3
+ '@firebase/logger': 0.5.1
+ '@firebase/util': 1.15.1
idb: 7.1.1
tslib: 2.8.1
- '@firebase/auth-compat@0.6.5(@firebase/app-compat@0.5.11)(@firebase/app-types@0.9.4)(@firebase/app@0.14.11)':
+ '@firebase/auth-compat@0.6.6(@firebase/app-compat@0.5.12)(@firebase/app-types@0.9.5)(@firebase/app@0.14.12)':
dependencies:
- '@firebase/app-compat': 0.5.11
- '@firebase/auth': 1.13.0(@firebase/app@0.14.11)
- '@firebase/auth-types': 0.13.0(@firebase/app-types@0.9.4)(@firebase/util@1.15.0)
- '@firebase/component': 0.7.2
- '@firebase/util': 1.15.0
+ '@firebase/app-compat': 0.5.12
+ '@firebase/auth': 1.13.1(@firebase/app@0.14.12)
+ '@firebase/auth-types': 0.13.1(@firebase/app-types@0.9.5)(@firebase/util@1.15.1)
+ '@firebase/component': 0.7.3
+ '@firebase/util': 1.15.1
tslib: 2.8.1
transitivePeerDependencies:
- '@firebase/app'
- '@firebase/app-types'
- '@react-native-async-storage/async-storage'
- '@firebase/auth-interop-types@0.2.4': {}
+ '@firebase/auth-interop-types@0.2.5': {}
- '@firebase/auth-types@0.13.0(@firebase/app-types@0.9.4)(@firebase/util@1.15.0)':
+ '@firebase/auth-types@0.13.1(@firebase/app-types@0.9.5)(@firebase/util@1.15.1)':
dependencies:
- '@firebase/app-types': 0.9.4
- '@firebase/util': 1.15.0
+ '@firebase/app-types': 0.9.5
+ '@firebase/util': 1.15.1
- '@firebase/auth@1.13.0(@firebase/app@0.14.11)':
+ '@firebase/auth@1.13.1(@firebase/app@0.14.12)':
dependencies:
- '@firebase/app': 0.14.11
- '@firebase/component': 0.7.2
- '@firebase/logger': 0.5.0
- '@firebase/util': 1.15.0
+ '@firebase/app': 0.14.12
+ '@firebase/component': 0.7.3
+ '@firebase/logger': 0.5.1
+ '@firebase/util': 1.15.1
tslib: 2.8.1
- '@firebase/component@0.7.2':
+ '@firebase/component@0.7.3':
dependencies:
- '@firebase/util': 1.15.0
+ '@firebase/util': 1.15.1
tslib: 2.8.1
- '@firebase/data-connect@0.6.0(@firebase/app@0.14.11)':
+ '@firebase/data-connect@0.7.0(@firebase/app@0.14.12)':
dependencies:
- '@firebase/app': 0.14.11
- '@firebase/auth-interop-types': 0.2.4
- '@firebase/component': 0.7.2
- '@firebase/logger': 0.5.0
- '@firebase/util': 1.15.0
+ '@firebase/app': 0.14.12
+ '@firebase/auth-interop-types': 0.2.5
+ '@firebase/component': 0.7.3
+ '@firebase/logger': 0.5.1
+ '@firebase/util': 1.15.1
tslib: 2.8.1
- '@firebase/database-compat@2.1.3':
+ '@firebase/database-compat@2.1.4':
dependencies:
- '@firebase/component': 0.7.2
- '@firebase/database': 1.1.2
- '@firebase/database-types': 1.0.19
- '@firebase/logger': 0.5.0
- '@firebase/util': 1.15.0
+ '@firebase/component': 0.7.3
+ '@firebase/database': 1.1.3
+ '@firebase/database-types': 1.0.20
+ '@firebase/logger': 0.5.1
+ '@firebase/util': 1.15.1
tslib: 2.8.1
- '@firebase/database-types@1.0.19':
+ '@firebase/database-types@1.0.20':
dependencies:
- '@firebase/app-types': 0.9.4
- '@firebase/util': 1.15.0
+ '@firebase/app-types': 0.9.5
+ '@firebase/util': 1.15.1
- '@firebase/database@1.1.2':
+ '@firebase/database@1.1.3':
dependencies:
- '@firebase/app-check-interop-types': 0.3.3
- '@firebase/auth-interop-types': 0.2.4
- '@firebase/component': 0.7.2
- '@firebase/logger': 0.5.0
- '@firebase/util': 1.15.0
+ '@firebase/app-check-interop-types': 0.3.4
+ '@firebase/auth-interop-types': 0.2.5
+ '@firebase/component': 0.7.3
+ '@firebase/logger': 0.5.1
+ '@firebase/util': 1.15.1
faye-websocket: 0.11.4
tslib: 2.8.1
- '@firebase/firestore-compat@0.4.8(@firebase/app-compat@0.5.11)(@firebase/app-types@0.9.4)(@firebase/app@0.14.11)':
+ '@firebase/firestore-compat@0.4.9(@firebase/app-compat@0.5.12)(@firebase/app-types@0.9.5)(@firebase/app@0.14.12)':
dependencies:
- '@firebase/app-compat': 0.5.11
- '@firebase/component': 0.7.2
- '@firebase/firestore': 4.14.0(@firebase/app@0.14.11)
- '@firebase/firestore-types': 3.0.3(@firebase/app-types@0.9.4)(@firebase/util@1.15.0)
- '@firebase/util': 1.15.0
+ '@firebase/app-compat': 0.5.12
+ '@firebase/component': 0.7.3
+ '@firebase/firestore': 4.14.1(@firebase/app@0.14.12)
+ '@firebase/firestore-types': 3.0.4(@firebase/app-types@0.9.5)(@firebase/util@1.15.1)
+ '@firebase/util': 1.15.1
tslib: 2.8.1
transitivePeerDependencies:
- '@firebase/app'
- '@firebase/app-types'
- '@firebase/firestore-types@3.0.3(@firebase/app-types@0.9.4)(@firebase/util@1.15.0)':
+ '@firebase/firestore-types@3.0.4(@firebase/app-types@0.9.5)(@firebase/util@1.15.1)':
dependencies:
- '@firebase/app-types': 0.9.4
- '@firebase/util': 1.15.0
+ '@firebase/app-types': 0.9.5
+ '@firebase/util': 1.15.1
- '@firebase/firestore@4.14.0(@firebase/app@0.14.11)':
+ '@firebase/firestore@4.14.1(@firebase/app@0.14.12)':
dependencies:
- '@firebase/app': 0.14.11
- '@firebase/component': 0.7.2
- '@firebase/logger': 0.5.0
- '@firebase/util': 1.15.0
- '@firebase/webchannel-wrapper': 1.0.5
- '@grpc/grpc-js': 1.9.15
+ '@firebase/app': 0.14.12
+ '@firebase/component': 0.7.3
+ '@firebase/logger': 0.5.1
+ '@firebase/util': 1.15.1
+ '@firebase/webchannel-wrapper': 1.0.6
+ '@grpc/grpc-js': 1.9.16
'@grpc/proto-loader': 0.7.15
tslib: 2.8.1
- '@firebase/functions-compat@0.4.3(@firebase/app-compat@0.5.11)(@firebase/app@0.14.11)':
+ '@firebase/functions-compat@0.4.4(@firebase/app-compat@0.5.12)(@firebase/app@0.14.12)':
dependencies:
- '@firebase/app-compat': 0.5.11
- '@firebase/component': 0.7.2
- '@firebase/functions': 0.13.3(@firebase/app@0.14.11)
- '@firebase/functions-types': 0.6.3
- '@firebase/util': 1.15.0
+ '@firebase/app-compat': 0.5.12
+ '@firebase/component': 0.7.3
+ '@firebase/functions': 0.13.4(@firebase/app@0.14.12)
+ '@firebase/functions-types': 0.6.4
+ '@firebase/util': 1.15.1
tslib: 2.8.1
transitivePeerDependencies:
- '@firebase/app'
- '@firebase/functions-types@0.6.3': {}
+ '@firebase/functions-types@0.6.4': {}
- '@firebase/functions@0.13.3(@firebase/app@0.14.11)':
+ '@firebase/functions@0.13.4(@firebase/app@0.14.12)':
dependencies:
- '@firebase/app': 0.14.11
- '@firebase/app-check-interop-types': 0.3.3
- '@firebase/auth-interop-types': 0.2.4
- '@firebase/component': 0.7.2
- '@firebase/messaging-interop-types': 0.2.3
- '@firebase/util': 1.15.0
+ '@firebase/app': 0.14.12
+ '@firebase/app-check-interop-types': 0.3.4
+ '@firebase/auth-interop-types': 0.2.5
+ '@firebase/component': 0.7.3
+ '@firebase/messaging-interop-types': 0.2.4
+ '@firebase/util': 1.15.1
tslib: 2.8.1
- '@firebase/installations-compat@0.2.21(@firebase/app-compat@0.5.11)(@firebase/app-types@0.9.4)(@firebase/app@0.14.11)':
+ '@firebase/installations-compat@0.2.22(@firebase/app-compat@0.5.12)(@firebase/app-types@0.9.5)(@firebase/app@0.14.12)':
dependencies:
- '@firebase/app-compat': 0.5.11
- '@firebase/component': 0.7.2
- '@firebase/installations': 0.6.21(@firebase/app@0.14.11)
- '@firebase/installations-types': 0.5.3(@firebase/app-types@0.9.4)
- '@firebase/util': 1.15.0
+ '@firebase/app-compat': 0.5.12
+ '@firebase/component': 0.7.3
+ '@firebase/installations': 0.6.22(@firebase/app@0.14.12)
+ '@firebase/installations-types': 0.5.4(@firebase/app-types@0.9.5)
+ '@firebase/util': 1.15.1
tslib: 2.8.1
transitivePeerDependencies:
- '@firebase/app'
- '@firebase/app-types'
- '@firebase/installations-types@0.5.3(@firebase/app-types@0.9.4)':
+ '@firebase/installations-types@0.5.4(@firebase/app-types@0.9.5)':
dependencies:
- '@firebase/app-types': 0.9.4
+ '@firebase/app-types': 0.9.5
- '@firebase/installations@0.6.21(@firebase/app@0.14.11)':
+ '@firebase/installations@0.6.22(@firebase/app@0.14.12)':
dependencies:
- '@firebase/app': 0.14.11
- '@firebase/component': 0.7.2
- '@firebase/util': 1.15.0
+ '@firebase/app': 0.14.12
+ '@firebase/component': 0.7.3
+ '@firebase/util': 1.15.1
idb: 7.1.1
tslib: 2.8.1
- '@firebase/logger@0.5.0':
+ '@firebase/logger@0.5.1':
dependencies:
tslib: 2.8.1
- '@firebase/messaging-compat@0.2.25(@firebase/app-compat@0.5.11)(@firebase/app@0.14.11)':
+ '@firebase/messaging-compat@0.2.26(@firebase/app-compat@0.5.12)(@firebase/app@0.14.12)':
dependencies:
- '@firebase/app-compat': 0.5.11
- '@firebase/component': 0.7.2
- '@firebase/messaging': 0.12.25(@firebase/app@0.14.11)
- '@firebase/util': 1.15.0
+ '@firebase/app-compat': 0.5.12
+ '@firebase/component': 0.7.3
+ '@firebase/messaging': 0.12.26(@firebase/app@0.14.12)
+ '@firebase/util': 1.15.1
tslib: 2.8.1
transitivePeerDependencies:
- '@firebase/app'
- '@firebase/messaging-interop-types@0.2.3': {}
+ '@firebase/messaging-interop-types@0.2.4': {}
- '@firebase/messaging@0.12.25(@firebase/app@0.14.11)':
+ '@firebase/messaging@0.12.26(@firebase/app@0.14.12)':
dependencies:
- '@firebase/app': 0.14.11
- '@firebase/component': 0.7.2
- '@firebase/installations': 0.6.21(@firebase/app@0.14.11)
- '@firebase/messaging-interop-types': 0.2.3
- '@firebase/util': 1.15.0
+ '@firebase/app': 0.14.12
+ '@firebase/component': 0.7.3
+ '@firebase/installations': 0.6.22(@firebase/app@0.14.12)
+ '@firebase/messaging-interop-types': 0.2.4
+ '@firebase/util': 1.15.1
idb: 7.1.1
tslib: 2.8.1
- '@firebase/performance-compat@0.2.24(@firebase/app-compat@0.5.11)(@firebase/app@0.14.11)':
+ '@firebase/performance-compat@0.2.25(@firebase/app-compat@0.5.12)(@firebase/app@0.14.12)':
dependencies:
- '@firebase/app-compat': 0.5.11
- '@firebase/component': 0.7.2
- '@firebase/logger': 0.5.0
- '@firebase/performance': 0.7.11(@firebase/app@0.14.11)
- '@firebase/performance-types': 0.2.3
- '@firebase/util': 1.15.0
+ '@firebase/app-compat': 0.5.12
+ '@firebase/component': 0.7.3
+ '@firebase/logger': 0.5.1
+ '@firebase/performance': 0.7.12(@firebase/app@0.14.12)
+ '@firebase/performance-types': 0.2.4
+ '@firebase/util': 1.15.1
tslib: 2.8.1
transitivePeerDependencies:
- '@firebase/app'
- '@firebase/performance-types@0.2.3': {}
+ '@firebase/performance-types@0.2.4': {}
- '@firebase/performance@0.7.11(@firebase/app@0.14.11)':
+ '@firebase/performance@0.7.12(@firebase/app@0.14.12)':
dependencies:
- '@firebase/app': 0.14.11
- '@firebase/component': 0.7.2
- '@firebase/installations': 0.6.21(@firebase/app@0.14.11)
- '@firebase/logger': 0.5.0
- '@firebase/util': 1.15.0
+ '@firebase/app': 0.14.12
+ '@firebase/component': 0.7.3
+ '@firebase/installations': 0.6.22(@firebase/app@0.14.12)
+ '@firebase/logger': 0.5.1
+ '@firebase/util': 1.15.1
tslib: 2.8.1
web-vitals: 4.2.4
- '@firebase/remote-config-compat@0.2.23(@firebase/app-compat@0.5.11)(@firebase/app@0.14.11)':
+ '@firebase/remote-config-compat@0.2.24(@firebase/app-compat@0.5.12)(@firebase/app@0.14.12)':
dependencies:
- '@firebase/app-compat': 0.5.11
- '@firebase/component': 0.7.2
- '@firebase/logger': 0.5.0
- '@firebase/remote-config': 0.8.2(@firebase/app@0.14.11)
- '@firebase/remote-config-types': 0.5.0
- '@firebase/util': 1.15.0
+ '@firebase/app-compat': 0.5.12
+ '@firebase/component': 0.7.3
+ '@firebase/logger': 0.5.1
+ '@firebase/remote-config': 0.8.3(@firebase/app@0.14.12)
+ '@firebase/remote-config-types': 0.5.1
+ '@firebase/util': 1.15.1
tslib: 2.8.1
transitivePeerDependencies:
- '@firebase/app'
- '@firebase/remote-config-types@0.5.0': {}
+ '@firebase/remote-config-types@0.5.1': {}
- '@firebase/remote-config@0.8.2(@firebase/app@0.14.11)':
+ '@firebase/remote-config@0.8.3(@firebase/app@0.14.12)':
dependencies:
- '@firebase/app': 0.14.11
- '@firebase/component': 0.7.2
- '@firebase/installations': 0.6.21(@firebase/app@0.14.11)
- '@firebase/logger': 0.5.0
- '@firebase/util': 1.15.0
+ '@firebase/app': 0.14.12
+ '@firebase/component': 0.7.3
+ '@firebase/installations': 0.6.22(@firebase/app@0.14.12)
+ '@firebase/logger': 0.5.1
+ '@firebase/util': 1.15.1
tslib: 2.8.1
- '@firebase/storage-compat@0.4.2(@firebase/app-compat@0.5.11)(@firebase/app-types@0.9.4)(@firebase/app@0.14.11)':
+ '@firebase/storage-compat@0.4.3(@firebase/app-compat@0.5.12)(@firebase/app-types@0.9.5)(@firebase/app@0.14.12)':
dependencies:
- '@firebase/app-compat': 0.5.11
- '@firebase/component': 0.7.2
- '@firebase/storage': 0.14.2(@firebase/app@0.14.11)
- '@firebase/storage-types': 0.8.3(@firebase/app-types@0.9.4)(@firebase/util@1.15.0)
- '@firebase/util': 1.15.0
+ '@firebase/app-compat': 0.5.12
+ '@firebase/component': 0.7.3
+ '@firebase/storage': 0.14.3(@firebase/app@0.14.12)
+ '@firebase/storage-types': 0.8.4(@firebase/app-types@0.9.5)(@firebase/util@1.15.1)
+ '@firebase/util': 1.15.1
tslib: 2.8.1
transitivePeerDependencies:
- '@firebase/app'
- '@firebase/app-types'
- '@firebase/storage-types@0.8.3(@firebase/app-types@0.9.4)(@firebase/util@1.15.0)':
+ '@firebase/storage-types@0.8.4(@firebase/app-types@0.9.5)(@firebase/util@1.15.1)':
dependencies:
- '@firebase/app-types': 0.9.4
- '@firebase/util': 1.15.0
+ '@firebase/app-types': 0.9.5
+ '@firebase/util': 1.15.1
- '@firebase/storage@0.14.2(@firebase/app@0.14.11)':
+ '@firebase/storage@0.14.3(@firebase/app@0.14.12)':
dependencies:
- '@firebase/app': 0.14.11
- '@firebase/component': 0.7.2
- '@firebase/util': 1.15.0
+ '@firebase/app': 0.14.12
+ '@firebase/component': 0.7.3
+ '@firebase/util': 1.15.1
tslib: 2.8.1
- '@firebase/util@1.15.0':
+ '@firebase/util@1.15.1':
dependencies:
tslib: 2.8.1
- '@firebase/webchannel-wrapper@1.0.5': {}
+ '@firebase/webchannel-wrapper@1.0.6': {}
'@gar/promise-retry@1.0.3': {}
@@ -10184,9 +10222,9 @@ snapshots:
'@google-cloud/promisify': 5.0.0
'@grpc/proto-loader': 0.7.15
'@opentelemetry/api': 1.9.1
- '@opentelemetry/context-async-hooks': 2.7.0(@opentelemetry/api@1.9.1)
- '@opentelemetry/core': 2.7.0(@opentelemetry/api@1.9.1)
- '@opentelemetry/semantic-conventions': 1.40.0
+ '@opentelemetry/context-async-hooks': 2.7.1(@opentelemetry/api@1.9.1)
+ '@opentelemetry/core': 2.7.1(@opentelemetry/api@1.9.1)
+ '@opentelemetry/semantic-conventions': 1.41.1
'@types/big.js': 6.2.2
'@types/stack-trace': 0.0.33
big.js: 7.0.1
@@ -10196,12 +10234,12 @@ snapshots:
extend: 3.0.2
google-auth-library: 10.6.2(supports-color@10.2.2)
google-gax: 5.0.6(supports-color@10.2.2)
- grpc-gcp: 1.0.1(protobufjs@7.5.5)
+ grpc-gcp: 1.0.1(protobufjs@7.6.1)
is: 3.3.2
lodash.snakecase: 4.1.1
merge-stream: 2.0.0
p-queue: 6.6.2
- protobufjs: 7.5.5
+ protobufjs: 7.6.1
retry-request: 8.0.2(supports-color@10.2.2)
split-array-stream: 2.0.0
stack-trace: 0.0.10
@@ -10211,49 +10249,49 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@google/genai@1.50.1(@modelcontextprotocol/sdk@1.29.0(zod@4.3.6))(bufferutil@4.1.0)(supports-color@10.2.2)(utf-8-validate@6.0.6)':
+ '@google/genai@2.6.0(@modelcontextprotocol/sdk@1.29.0(zod@4.4.3))(bufferutil@4.1.0)(supports-color@10.2.2)(utf-8-validate@6.0.6)':
dependencies:
google-auth-library: 10.6.2(supports-color@10.2.2)
p-retry: 4.6.2
- protobufjs: 7.5.5
- ws: 8.20.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ protobufjs: 7.6.1
+ ws: 8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)
optionalDependencies:
- '@modelcontextprotocol/sdk': 1.29.0(zod@4.3.6)
+ '@modelcontextprotocol/sdk': 1.29.0(zod@4.4.3)
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
- '@grpc/grpc-js@1.14.3':
+ '@grpc/grpc-js@1.14.4':
dependencies:
- '@grpc/proto-loader': 0.8.0
+ '@grpc/proto-loader': 0.8.1
'@js-sdsl/ordered-map': 4.4.2
- '@grpc/grpc-js@1.9.15':
+ '@grpc/grpc-js@1.9.16':
dependencies:
'@grpc/proto-loader': 0.7.15
- '@types/node': 22.19.17
+ '@types/node': 22.19.19
'@grpc/proto-loader@0.7.15':
dependencies:
lodash.camelcase: 4.3.0
long: 5.3.2
- protobufjs: 7.5.5
+ protobufjs: 7.6.1
yargs: 17.7.2
- '@grpc/proto-loader@0.8.0':
+ '@grpc/proto-loader@0.8.1':
dependencies:
lodash.camelcase: 4.3.0
long: 5.3.2
- protobufjs: 7.5.5
+ protobufjs: 7.6.1
yargs: 17.7.2
'@harperfast/extended-iterable@1.0.3':
optional: true
- '@hono/node-server@1.19.14(hono@4.12.15)':
+ '@hono/node-server@1.19.14(hono@4.12.23)':
dependencies:
- hono: 4.12.15
+ hono: 4.12.23
'@humanfs/core@0.19.2':
dependencies:
@@ -10271,124 +10309,143 @@ snapshots:
'@humanwhocodes/retry@0.4.3': {}
- '@inquirer/ansi@2.0.5': {}
+ '@inquirer/ansi@2.0.6': {}
- '@inquirer/checkbox@5.1.4(@types/node@24.12.2)':
+ '@inquirer/checkbox@5.2.0(@types/node@24.12.4)':
dependencies:
- '@inquirer/ansi': 2.0.5
- '@inquirer/core': 11.1.9(@types/node@24.12.2)
- '@inquirer/figures': 2.0.5
- '@inquirer/type': 4.0.5(@types/node@24.12.2)
+ '@inquirer/ansi': 2.0.6
+ '@inquirer/core': 11.2.0(@types/node@24.12.4)
+ '@inquirer/figures': 2.0.6
+ '@inquirer/type': 4.0.6(@types/node@24.12.4)
optionalDependencies:
- '@types/node': 24.12.2
+ '@types/node': 24.12.4
- '@inquirer/confirm@6.0.12(@types/node@24.12.2)':
+ '@inquirer/confirm@6.1.0(@types/node@24.12.4)':
dependencies:
- '@inquirer/core': 11.1.9(@types/node@24.12.2)
- '@inquirer/type': 4.0.5(@types/node@24.12.2)
+ '@inquirer/core': 11.2.0(@types/node@24.12.4)
+ '@inquirer/type': 4.0.6(@types/node@24.12.4)
optionalDependencies:
- '@types/node': 24.12.2
+ '@types/node': 24.12.4
- '@inquirer/core@11.1.9(@types/node@24.12.2)':
+ '@inquirer/core@11.2.0(@types/node@24.12.4)':
dependencies:
- '@inquirer/ansi': 2.0.5
- '@inquirer/figures': 2.0.5
- '@inquirer/type': 4.0.5(@types/node@24.12.2)
+ '@inquirer/ansi': 2.0.6
+ '@inquirer/figures': 2.0.6
+ '@inquirer/type': 4.0.6(@types/node@24.12.4)
cli-width: 4.1.0
- fast-wrap-ansi: 0.2.0
- mute-stream: 3.0.0
+ fast-wrap-ansi: 0.2.2
+ mute-stream: 4.0.0
signal-exit: 4.1.0
optionalDependencies:
- '@types/node': 24.12.2
+ '@types/node': 24.12.4
- '@inquirer/editor@5.1.1(@types/node@24.12.2)':
+ '@inquirer/editor@5.2.0(@types/node@24.12.4)':
dependencies:
- '@inquirer/core': 11.1.9(@types/node@24.12.2)
- '@inquirer/external-editor': 3.0.0(@types/node@24.12.2)
- '@inquirer/type': 4.0.5(@types/node@24.12.2)
+ '@inquirer/core': 11.2.0(@types/node@24.12.4)
+ '@inquirer/external-editor': 3.0.1(@types/node@24.12.4)
+ '@inquirer/type': 4.0.6(@types/node@24.12.4)
optionalDependencies:
- '@types/node': 24.12.2
+ '@types/node': 24.12.4
- '@inquirer/expand@5.0.13(@types/node@24.12.2)':
+ '@inquirer/expand@5.1.0(@types/node@24.12.4)':
dependencies:
- '@inquirer/core': 11.1.9(@types/node@24.12.2)
- '@inquirer/type': 4.0.5(@types/node@24.12.2)
+ '@inquirer/core': 11.2.0(@types/node@24.12.4)
+ '@inquirer/type': 4.0.6(@types/node@24.12.4)
optionalDependencies:
- '@types/node': 24.12.2
+ '@types/node': 24.12.4
- '@inquirer/external-editor@3.0.0(@types/node@24.12.2)':
+ '@inquirer/external-editor@3.0.1(@types/node@24.12.4)':
dependencies:
chardet: 2.1.1
iconv-lite: 0.7.2
optionalDependencies:
- '@types/node': 24.12.2
+ '@types/node': 24.12.4
- '@inquirer/figures@2.0.5': {}
+ '@inquirer/figures@2.0.6': {}
- '@inquirer/input@5.0.12(@types/node@24.12.2)':
+ '@inquirer/input@5.1.0(@types/node@24.12.4)':
dependencies:
- '@inquirer/core': 11.1.9(@types/node@24.12.2)
- '@inquirer/type': 4.0.5(@types/node@24.12.2)
+ '@inquirer/core': 11.2.0(@types/node@24.12.4)
+ '@inquirer/type': 4.0.6(@types/node@24.12.4)
optionalDependencies:
- '@types/node': 24.12.2
+ '@types/node': 24.12.4
- '@inquirer/number@4.0.12(@types/node@24.12.2)':
+ '@inquirer/number@4.1.0(@types/node@24.12.4)':
dependencies:
- '@inquirer/core': 11.1.9(@types/node@24.12.2)
- '@inquirer/type': 4.0.5(@types/node@24.12.2)
+ '@inquirer/core': 11.2.0(@types/node@24.12.4)
+ '@inquirer/type': 4.0.6(@types/node@24.12.4)
optionalDependencies:
- '@types/node': 24.12.2
+ '@types/node': 24.12.4
- '@inquirer/password@5.0.12(@types/node@24.12.2)':
+ '@inquirer/password@5.1.0(@types/node@24.12.4)':
dependencies:
- '@inquirer/ansi': 2.0.5
- '@inquirer/core': 11.1.9(@types/node@24.12.2)
- '@inquirer/type': 4.0.5(@types/node@24.12.2)
+ '@inquirer/ansi': 2.0.6
+ '@inquirer/core': 11.2.0(@types/node@24.12.4)
+ '@inquirer/type': 4.0.6(@types/node@24.12.4)
+ optionalDependencies:
+ '@types/node': 24.12.4
+
+ '@inquirer/prompts@8.4.3(@types/node@24.12.4)':
+ dependencies:
+ '@inquirer/checkbox': 5.2.0(@types/node@24.12.4)
+ '@inquirer/confirm': 6.1.0(@types/node@24.12.4)
+ '@inquirer/editor': 5.2.0(@types/node@24.12.4)
+ '@inquirer/expand': 5.1.0(@types/node@24.12.4)
+ '@inquirer/input': 5.1.0(@types/node@24.12.4)
+ '@inquirer/number': 4.1.0(@types/node@24.12.4)
+ '@inquirer/password': 5.1.0(@types/node@24.12.4)
+ '@inquirer/rawlist': 5.3.0(@types/node@24.12.4)
+ '@inquirer/search': 4.2.0(@types/node@24.12.4)
+ '@inquirer/select': 5.2.0(@types/node@24.12.4)
optionalDependencies:
- '@types/node': 24.12.2
-
- '@inquirer/prompts@8.4.2(@types/node@24.12.2)':
- dependencies:
- '@inquirer/checkbox': 5.1.4(@types/node@24.12.2)
- '@inquirer/confirm': 6.0.12(@types/node@24.12.2)
- '@inquirer/editor': 5.1.1(@types/node@24.12.2)
- '@inquirer/expand': 5.0.13(@types/node@24.12.2)
- '@inquirer/input': 5.0.12(@types/node@24.12.2)
- '@inquirer/number': 4.0.12(@types/node@24.12.2)
- '@inquirer/password': 5.0.12(@types/node@24.12.2)
- '@inquirer/rawlist': 5.2.8(@types/node@24.12.2)
- '@inquirer/search': 4.1.8(@types/node@24.12.2)
- '@inquirer/select': 5.1.4(@types/node@24.12.2)
+ '@types/node': 24.12.4
+
+ '@inquirer/prompts@8.5.0(@types/node@24.12.4)':
+ dependencies:
+ '@inquirer/checkbox': 5.2.0(@types/node@24.12.4)
+ '@inquirer/confirm': 6.1.0(@types/node@24.12.4)
+ '@inquirer/editor': 5.2.0(@types/node@24.12.4)
+ '@inquirer/expand': 5.1.0(@types/node@24.12.4)
+ '@inquirer/input': 5.1.0(@types/node@24.12.4)
+ '@inquirer/number': 4.1.0(@types/node@24.12.4)
+ '@inquirer/password': 5.1.0(@types/node@24.12.4)
+ '@inquirer/rawlist': 5.3.0(@types/node@24.12.4)
+ '@inquirer/search': 4.2.0(@types/node@24.12.4)
+ '@inquirer/select': 5.2.0(@types/node@24.12.4)
optionalDependencies:
- '@types/node': 24.12.2
+ '@types/node': 24.12.4
- '@inquirer/rawlist@5.2.8(@types/node@24.12.2)':
+ '@inquirer/rawlist@5.3.0(@types/node@24.12.4)':
dependencies:
- '@inquirer/core': 11.1.9(@types/node@24.12.2)
- '@inquirer/type': 4.0.5(@types/node@24.12.2)
+ '@inquirer/core': 11.2.0(@types/node@24.12.4)
+ '@inquirer/type': 4.0.6(@types/node@24.12.4)
optionalDependencies:
- '@types/node': 24.12.2
+ '@types/node': 24.12.4
- '@inquirer/search@4.1.8(@types/node@24.12.2)':
+ '@inquirer/search@4.2.0(@types/node@24.12.4)':
dependencies:
- '@inquirer/core': 11.1.9(@types/node@24.12.2)
- '@inquirer/figures': 2.0.5
- '@inquirer/type': 4.0.5(@types/node@24.12.2)
+ '@inquirer/core': 11.2.0(@types/node@24.12.4)
+ '@inquirer/figures': 2.0.6
+ '@inquirer/type': 4.0.6(@types/node@24.12.4)
optionalDependencies:
- '@types/node': 24.12.2
+ '@types/node': 24.12.4
- '@inquirer/select@5.1.4(@types/node@24.12.2)':
+ '@inquirer/select@5.2.0(@types/node@24.12.4)':
dependencies:
- '@inquirer/ansi': 2.0.5
- '@inquirer/core': 11.1.9(@types/node@24.12.2)
- '@inquirer/figures': 2.0.5
- '@inquirer/type': 4.0.5(@types/node@24.12.2)
+ '@inquirer/ansi': 2.0.6
+ '@inquirer/core': 11.2.0(@types/node@24.12.4)
+ '@inquirer/figures': 2.0.6
+ '@inquirer/type': 4.0.6(@types/node@24.12.4)
+ optionalDependencies:
+ '@types/node': 24.12.4
+
+ '@inquirer/type@4.0.5(@types/node@24.12.4)':
optionalDependencies:
- '@types/node': 24.12.2
+ '@types/node': 24.12.4
- '@inquirer/type@4.0.5(@types/node@24.12.2)':
+ '@inquirer/type@4.0.6(@types/node@24.12.4)':
optionalDependencies:
- '@types/node': 24.12.2
+ '@types/node': 24.12.4
'@isaacs/cliui@8.0.2':
dependencies:
@@ -10562,10 +10619,10 @@ snapshots:
'@leichtgewicht/ip-codec@2.0.5': {}
- '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@24.12.2))(@types/node@24.12.2)(listr2@10.2.1)':
+ '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.5.0(@types/node@24.12.4))(@types/node@24.12.4)(listr2@10.2.1)':
dependencies:
- '@inquirer/prompts': 8.4.2(@types/node@24.12.2)
- '@inquirer/type': 4.0.5(@types/node@24.12.2)
+ '@inquirer/prompts': 8.5.0(@types/node@24.12.4)
+ '@inquirer/type': 4.0.6(@types/node@24.12.4)
listr2: 10.2.1
transitivePeerDependencies:
- '@types/node'
@@ -10591,47 +10648,47 @@ snapshots:
'@lmdb/lmdb-win32-x64@3.5.4':
optional: true
- '@modelcontextprotocol/sdk@1.29.0(zod@4.3.6)':
+ '@modelcontextprotocol/sdk@1.29.0(zod@4.4.3)':
dependencies:
- '@hono/node-server': 1.19.14(hono@4.12.15)
- ajv: 8.18.0
- ajv-formats: 3.0.1(ajv@8.18.0)
+ '@hono/node-server': 1.19.14(hono@4.12.23)
+ ajv: 8.20.0
+ ajv-formats: 3.0.1(ajv@8.20.0)
content-type: 1.0.5
cors: 2.8.6
cross-spawn: 7.0.6
eventsource: 3.0.7
eventsource-parser: 3.0.8
express: 5.2.1
- express-rate-limit: 8.4.1(express@5.2.1)
- hono: 4.12.15
- jose: 6.2.2
+ express-rate-limit: 8.5.2(express@5.2.1)
+ hono: 4.12.23
+ jose: 6.2.3
json-schema-typed: 8.0.2
pkce-challenge: 5.0.1
raw-body: 3.0.2
- zod: 4.3.6
- zod-to-json-schema: 3.25.2(zod@4.3.6)
+ zod: 4.4.3
+ zod-to-json-schema: 3.25.2(zod@4.4.3)
transitivePeerDependencies:
- supports-color
- '@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.3':
+ '@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.4':
optional: true
- '@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.3':
+ '@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.4':
optional: true
- '@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.3':
+ '@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.4':
optional: true
- '@msgpackr-extract/msgpackr-extract-linux-arm@3.0.3':
+ '@msgpackr-extract/msgpackr-extract-linux-arm@3.0.4':
optional: true
- '@msgpackr-extract/msgpackr-extract-linux-x64@3.0.3':
+ '@msgpackr-extract/msgpackr-extract-linux-x64@3.0.4':
optional: true
- '@msgpackr-extract/msgpackr-extract-win32-x64@3.0.3':
+ '@msgpackr-extract/msgpackr-extract-win32-x64@3.0.4':
optional: true
- '@mswjs/interceptors@0.41.6':
+ '@mswjs/interceptors@0.41.9':
dependencies:
'@open-draft/deferred-promise': 2.2.0
'@open-draft/logger': 0.3.0
@@ -10712,11 +10769,11 @@ snapshots:
'@napi-rs/nice-win32-x64-msvc': 1.1.1
optional: true
- '@napi-rs/wasm-runtime@1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)':
+ '@napi-rs/wasm-runtime@1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)':
dependencies:
- '@emnapi/core': 1.9.2
- '@emnapi/runtime': 1.9.2
- '@tybys/wasm-util': 0.10.1
+ '@emnapi/core': 1.10.0
+ '@emnapi/runtime': 1.10.0
+ '@tybys/wasm-util': 0.10.2
optional: true
'@noble/hashes@1.4.0': {}
@@ -10738,24 +10795,24 @@ snapshots:
agent-base: 7.1.4
http-proxy-agent: 7.0.2(supports-color@10.2.2)
https-proxy-agent: 7.0.6(supports-color@10.2.2)
- lru-cache: 11.3.5
+ lru-cache: 11.5.0
socks-proxy-agent: 8.0.5
transitivePeerDependencies:
- supports-color
'@npmcli/fs@5.0.0':
dependencies:
- semver: 7.7.4
+ semver: 7.8.1
'@npmcli/git@7.0.2':
dependencies:
'@gar/promise-retry': 1.0.3
'@npmcli/promise-spawn': 9.0.1
ini: 6.0.0
- lru-cache: 11.3.5
+ lru-cache: 11.5.0
npm-pick-manifest: 11.0.3
proc-log: 6.1.0
- semver: 7.7.4
+ semver: 7.8.1
which: 6.0.1
'@npmcli/installed-package-contents@4.0.0':
@@ -10769,10 +10826,10 @@ snapshots:
dependencies:
'@npmcli/git': 7.0.2
glob: 13.0.6
- hosted-git-info: 9.0.2
+ hosted-git-info: 9.0.3
json-parse-even-better-errors: 5.0.0
proc-log: 6.1.0
- semver: 7.7.4
+ semver: 7.8.1
spdx-expression-parse: 4.0.0
'@npmcli/promise-spawn@9.0.1':
@@ -10793,10 +10850,10 @@ snapshots:
dependencies:
'@octokit/auth-oauth-app': 9.0.3
'@octokit/auth-oauth-user': 6.0.2
- '@octokit/request': 10.0.8
+ '@octokit/request': 10.0.10
'@octokit/request-error': 7.1.0
'@octokit/types': 16.0.0
- toad-cache: 3.7.0
+ toad-cache: 3.7.1
universal-github-app-jwt: 2.2.2
universal-user-agent: 7.0.3
@@ -10804,14 +10861,14 @@ snapshots:
dependencies:
'@octokit/auth-oauth-device': 8.0.3
'@octokit/auth-oauth-user': 6.0.2
- '@octokit/request': 10.0.8
+ '@octokit/request': 10.0.10
'@octokit/types': 16.0.0
universal-user-agent: 7.0.3
'@octokit/auth-oauth-device@8.0.3':
dependencies:
'@octokit/oauth-methods': 6.0.2
- '@octokit/request': 10.0.8
+ '@octokit/request': 10.0.10
'@octokit/types': 16.0.0
universal-user-agent: 7.0.3
@@ -10819,7 +10876,7 @@ snapshots:
dependencies:
'@octokit/auth-oauth-device': 8.0.3
'@octokit/oauth-methods': 6.0.2
- '@octokit/request': 10.0.8
+ '@octokit/request': 10.0.10
'@octokit/types': 16.0.0
universal-user-agent: 7.0.3
@@ -10829,7 +10886,7 @@ snapshots:
dependencies:
'@octokit/auth-token': 6.0.0
'@octokit/graphql': 9.0.3
- '@octokit/request': 10.0.8
+ '@octokit/request': 10.0.10
'@octokit/request-error': 7.1.0
'@octokit/types': 16.0.0
before-after-hook: 4.0.0
@@ -10842,12 +10899,12 @@ snapshots:
'@octokit/graphql-schema@15.26.1':
dependencies:
- graphql: 16.13.2
- graphql-tag: 2.12.6(graphql@16.13.2)
+ graphql: 16.14.0
+ graphql-tag: 2.12.6(graphql@16.14.0)
'@octokit/graphql@9.0.3':
dependencies:
- '@octokit/request': 10.0.8
+ '@octokit/request': 10.0.10
'@octokit/types': 16.0.0
universal-user-agent: 7.0.3
@@ -10856,7 +10913,7 @@ snapshots:
'@octokit/oauth-methods@6.0.2':
dependencies:
'@octokit/oauth-authorization-url': 8.0.0
- '@octokit/request': 10.0.8
+ '@octokit/request': 10.0.10
'@octokit/request-error': 7.1.0
'@octokit/types': 16.0.0
@@ -10880,12 +10937,12 @@ snapshots:
dependencies:
'@octokit/types': 16.0.0
- '@octokit/request@10.0.8':
+ '@octokit/request@10.0.10':
dependencies:
'@octokit/endpoint': 11.0.3
'@octokit/request-error': 7.1.0
'@octokit/types': 16.0.0
- fast-content-type-parse: 3.0.0
+ content-type: 2.0.0
json-with-bigint: 3.5.8
universal-user-agent: 7.0.3
@@ -10911,18 +10968,18 @@ snapshots:
'@opentelemetry/api@1.9.1': {}
- '@opentelemetry/context-async-hooks@2.7.0(@opentelemetry/api@1.9.1)':
+ '@opentelemetry/context-async-hooks@2.7.1(@opentelemetry/api@1.9.1)':
dependencies:
'@opentelemetry/api': 1.9.1
- '@opentelemetry/core@2.7.0(@opentelemetry/api@1.9.1)':
+ '@opentelemetry/core@2.7.1(@opentelemetry/api@1.9.1)':
dependencies:
'@opentelemetry/api': 1.9.1
- '@opentelemetry/semantic-conventions': 1.40.0
+ '@opentelemetry/semantic-conventions': 1.41.1
- '@opentelemetry/semantic-conventions@1.40.0': {}
+ '@opentelemetry/semantic-conventions@1.41.1': {}
- '@oxc-project/types@0.126.0': {}
+ '@oxc-project/types@0.132.0': {}
'@parcel/watcher-android-arm64@2.5.6':
optional: true
@@ -10985,91 +11042,95 @@ snapshots:
'@parcel/watcher-win32-x64': 2.5.6
optional: true
- '@peculiar/asn1-cms@2.6.1':
+ '@peculiar/asn1-cms@2.7.0':
dependencies:
- '@peculiar/asn1-schema': 2.6.0
- '@peculiar/asn1-x509': 2.6.1
- '@peculiar/asn1-x509-attr': 2.6.1
+ '@peculiar/asn1-schema': 2.7.0
+ '@peculiar/asn1-x509': 2.7.0
+ '@peculiar/asn1-x509-attr': 2.7.0
asn1js: 3.0.10
tslib: 2.8.1
- '@peculiar/asn1-csr@2.6.1':
+ '@peculiar/asn1-csr@2.7.0':
dependencies:
- '@peculiar/asn1-schema': 2.6.0
- '@peculiar/asn1-x509': 2.6.1
+ '@peculiar/asn1-schema': 2.7.0
+ '@peculiar/asn1-x509': 2.7.0
asn1js: 3.0.10
tslib: 2.8.1
- '@peculiar/asn1-ecc@2.6.1':
+ '@peculiar/asn1-ecc@2.7.0':
dependencies:
- '@peculiar/asn1-schema': 2.6.0
- '@peculiar/asn1-x509': 2.6.1
+ '@peculiar/asn1-schema': 2.7.0
+ '@peculiar/asn1-x509': 2.7.0
asn1js: 3.0.10
tslib: 2.8.1
- '@peculiar/asn1-pfx@2.6.1':
+ '@peculiar/asn1-pfx@2.7.0':
dependencies:
- '@peculiar/asn1-cms': 2.6.1
- '@peculiar/asn1-pkcs8': 2.6.1
- '@peculiar/asn1-rsa': 2.6.1
- '@peculiar/asn1-schema': 2.6.0
+ '@peculiar/asn1-cms': 2.7.0
+ '@peculiar/asn1-pkcs8': 2.7.0
+ '@peculiar/asn1-rsa': 2.7.0
+ '@peculiar/asn1-schema': 2.7.0
asn1js: 3.0.10
tslib: 2.8.1
- '@peculiar/asn1-pkcs8@2.6.1':
+ '@peculiar/asn1-pkcs8@2.7.0':
dependencies:
- '@peculiar/asn1-schema': 2.6.0
- '@peculiar/asn1-x509': 2.6.1
+ '@peculiar/asn1-schema': 2.7.0
+ '@peculiar/asn1-x509': 2.7.0
asn1js: 3.0.10
tslib: 2.8.1
- '@peculiar/asn1-pkcs9@2.6.1':
+ '@peculiar/asn1-pkcs9@2.7.0':
dependencies:
- '@peculiar/asn1-cms': 2.6.1
- '@peculiar/asn1-pfx': 2.6.1
- '@peculiar/asn1-pkcs8': 2.6.1
- '@peculiar/asn1-schema': 2.6.0
- '@peculiar/asn1-x509': 2.6.1
- '@peculiar/asn1-x509-attr': 2.6.1
+ '@peculiar/asn1-cms': 2.7.0
+ '@peculiar/asn1-pfx': 2.7.0
+ '@peculiar/asn1-pkcs8': 2.7.0
+ '@peculiar/asn1-schema': 2.7.0
+ '@peculiar/asn1-x509': 2.7.0
+ '@peculiar/asn1-x509-attr': 2.7.0
asn1js: 3.0.10
tslib: 2.8.1
- '@peculiar/asn1-rsa@2.6.1':
+ '@peculiar/asn1-rsa@2.7.0':
dependencies:
- '@peculiar/asn1-schema': 2.6.0
- '@peculiar/asn1-x509': 2.6.1
+ '@peculiar/asn1-schema': 2.7.0
+ '@peculiar/asn1-x509': 2.7.0
asn1js: 3.0.10
tslib: 2.8.1
- '@peculiar/asn1-schema@2.6.0':
+ '@peculiar/asn1-schema@2.7.0':
dependencies:
+ '@peculiar/utils': 2.0.3
asn1js: 3.0.10
- pvtsutils: 1.3.6
tslib: 2.8.1
- '@peculiar/asn1-x509-attr@2.6.1':
+ '@peculiar/asn1-x509-attr@2.7.0':
dependencies:
- '@peculiar/asn1-schema': 2.6.0
- '@peculiar/asn1-x509': 2.6.1
+ '@peculiar/asn1-schema': 2.7.0
+ '@peculiar/asn1-x509': 2.7.0
asn1js: 3.0.10
tslib: 2.8.1
- '@peculiar/asn1-x509@2.6.1':
+ '@peculiar/asn1-x509@2.7.0':
dependencies:
- '@peculiar/asn1-schema': 2.6.0
+ '@peculiar/asn1-schema': 2.7.0
+ '@peculiar/utils': 2.0.3
asn1js: 3.0.10
- pvtsutils: 1.3.6
+ tslib: 2.8.1
+
+ '@peculiar/utils@2.0.3':
+ dependencies:
tslib: 2.8.1
'@peculiar/x509@1.14.3':
dependencies:
- '@peculiar/asn1-cms': 2.6.1
- '@peculiar/asn1-csr': 2.6.1
- '@peculiar/asn1-ecc': 2.6.1
- '@peculiar/asn1-pkcs9': 2.6.1
- '@peculiar/asn1-rsa': 2.6.1
- '@peculiar/asn1-schema': 2.6.0
- '@peculiar/asn1-x509': 2.6.1
+ '@peculiar/asn1-cms': 2.7.0
+ '@peculiar/asn1-csr': 2.7.0
+ '@peculiar/asn1-ecc': 2.7.0
+ '@peculiar/asn1-pkcs9': 2.7.0
+ '@peculiar/asn1-rsa': 2.7.0
+ '@peculiar/asn1-schema': 2.7.0
+ '@peculiar/asn1-x509': 2.7.0
pvtsutils: 1.3.6
reflect-metadata: 0.2.2
tslib: 2.8.1
@@ -11092,7 +11153,7 @@ snapshots:
dependencies:
'@pnpm/crypto.hash': 1000.2.2
'@pnpm/types': 1001.3.0
- semver: 7.7.4
+ semver: 7.8.1
'@pnpm/graceful-fs@1000.1.0':
dependencies:
@@ -11104,98 +11165,87 @@ snapshots:
'@protobufjs/base64@1.1.2': {}
- '@protobufjs/codegen@2.0.4': {}
+ '@protobufjs/codegen@2.0.5': {}
- '@protobufjs/eventemitter@1.1.0': {}
+ '@protobufjs/eventemitter@1.1.1': {}
- '@protobufjs/fetch@1.1.0':
+ '@protobufjs/fetch@1.1.1':
dependencies:
'@protobufjs/aspromise': 1.1.2
- '@protobufjs/inquire': 1.1.0
'@protobufjs/float@1.0.2': {}
- '@protobufjs/inquire@1.1.0': {}
+ '@protobufjs/inquire@1.1.2': {}
'@protobufjs/path@1.1.2': {}
'@protobufjs/pool@1.1.0': {}
- '@protobufjs/utf8@1.1.0': {}
+ '@protobufjs/utf8@1.1.1': {}
- '@puppeteer/browsers@2.13.0':
+ '@puppeteer/browsers@3.0.4':
dependencies:
- debug: 4.4.3(supports-color@10.2.2)
- extract-zip: 2.0.1
- progress: 2.0.3
- proxy-agent: 6.5.0
- semver: 7.7.4
- tar-fs: 3.1.2
+ modern-tar: 0.7.6
yargs: 17.7.2
- transitivePeerDependencies:
- - bare-abort-controller
- - bare-buffer
- - react-native-b4a
- - supports-color
- '@rolldown/binding-android-arm64@1.0.0-rc.16':
+ '@rolldown/binding-android-arm64@1.0.2':
optional: true
- '@rolldown/binding-darwin-arm64@1.0.0-rc.16':
+ '@rolldown/binding-darwin-arm64@1.0.2':
optional: true
- '@rolldown/binding-darwin-x64@1.0.0-rc.16':
+ '@rolldown/binding-darwin-x64@1.0.2':
optional: true
- '@rolldown/binding-freebsd-x64@1.0.0-rc.16':
+ '@rolldown/binding-freebsd-x64@1.0.2':
optional: true
- '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.16':
+ '@rolldown/binding-linux-arm-gnueabihf@1.0.2':
optional: true
- '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.16':
+ '@rolldown/binding-linux-arm64-gnu@1.0.2':
optional: true
- '@rolldown/binding-linux-arm64-musl@1.0.0-rc.16':
+ '@rolldown/binding-linux-arm64-musl@1.0.2':
optional: true
- '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.16':
+ '@rolldown/binding-linux-ppc64-gnu@1.0.2':
optional: true
- '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.16':
+ '@rolldown/binding-linux-s390x-gnu@1.0.2':
optional: true
- '@rolldown/binding-linux-x64-gnu@1.0.0-rc.16':
+ '@rolldown/binding-linux-x64-gnu@1.0.2':
optional: true
- '@rolldown/binding-linux-x64-musl@1.0.0-rc.16':
+ '@rolldown/binding-linux-x64-musl@1.0.2':
optional: true
- '@rolldown/binding-openharmony-arm64@1.0.0-rc.16':
+ '@rolldown/binding-openharmony-arm64@1.0.2':
optional: true
- '@rolldown/binding-wasm32-wasi@1.0.0-rc.16':
+ '@rolldown/binding-wasm32-wasi@1.0.2':
dependencies:
- '@emnapi/core': 1.9.2
- '@emnapi/runtime': 1.9.2
- '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)
+ '@emnapi/core': 1.10.0
+ '@emnapi/runtime': 1.10.0
+ '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
optional: true
- '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.16':
+ '@rolldown/binding-win32-arm64-msvc@1.0.2':
optional: true
- '@rolldown/binding-win32-x64-msvc@1.0.0-rc.16':
+ '@rolldown/binding-win32-x64-msvc@1.0.2':
optional: true
- '@rolldown/pluginutils@1.0.0-rc.16': {}
+ '@rolldown/pluginutils@1.0.1': {}
- '@rollup/plugin-alias@6.0.0(rollup@4.60.2)':
+ '@rollup/plugin-alias@6.0.0(rollup@4.60.4)':
optionalDependencies:
- rollup: 4.60.2
+ rollup: 4.60.4
- '@rollup/plugin-commonjs@29.0.2(rollup@4.60.2)':
+ '@rollup/plugin-commonjs@29.0.2(rollup@4.60.4)':
dependencies:
- '@rollup/pluginutils': 5.3.0(rollup@4.60.2)
+ '@rollup/pluginutils': 5.3.0(rollup@4.60.4)
commondir: 1.0.1
estree-walker: 2.0.2
fdir: 6.5.0(picomatch@4.0.4)
@@ -11203,108 +11253,108 @@ snapshots:
magic-string: 0.30.21
picomatch: 4.0.4
optionalDependencies:
- rollup: 4.60.2
+ rollup: 4.60.4
- '@rollup/plugin-json@6.1.0(rollup@4.60.2)':
+ '@rollup/plugin-json@6.1.0(rollup@4.60.4)':
dependencies:
- '@rollup/pluginutils': 5.3.0(rollup@4.60.2)
+ '@rollup/pluginutils': 5.3.0(rollup@4.60.4)
optionalDependencies:
- rollup: 4.60.2
+ rollup: 4.60.4
- '@rollup/plugin-node-resolve@16.0.3(rollup@4.60.2)':
+ '@rollup/plugin-node-resolve@16.0.3(rollup@4.60.4)':
dependencies:
- '@rollup/pluginutils': 5.3.0(rollup@4.60.2)
+ '@rollup/pluginutils': 5.3.0(rollup@4.60.4)
'@types/resolve': 1.20.2
deepmerge: 4.3.1
is-module: 1.0.0
resolve: 1.22.12
optionalDependencies:
- rollup: 4.60.2
+ rollup: 4.60.4
- '@rollup/pluginutils@5.3.0(rollup@4.60.2)':
+ '@rollup/pluginutils@5.3.0(rollup@4.60.4)':
dependencies:
- '@types/estree': 1.0.8
+ '@types/estree': 1.0.9
estree-walker: 2.0.2
picomatch: 4.0.4
optionalDependencies:
- rollup: 4.60.2
+ rollup: 4.60.4
- '@rollup/rollup-android-arm-eabi@4.60.2':
+ '@rollup/rollup-android-arm-eabi@4.60.4':
optional: true
- '@rollup/rollup-android-arm64@4.60.2':
+ '@rollup/rollup-android-arm64@4.60.4':
optional: true
- '@rollup/rollup-darwin-arm64@4.60.2':
+ '@rollup/rollup-darwin-arm64@4.60.4':
optional: true
- '@rollup/rollup-darwin-x64@4.60.2':
+ '@rollup/rollup-darwin-x64@4.60.4':
optional: true
- '@rollup/rollup-freebsd-arm64@4.60.2':
+ '@rollup/rollup-freebsd-arm64@4.60.4':
optional: true
- '@rollup/rollup-freebsd-x64@4.60.2':
+ '@rollup/rollup-freebsd-x64@4.60.4':
optional: true
- '@rollup/rollup-linux-arm-gnueabihf@4.60.2':
+ '@rollup/rollup-linux-arm-gnueabihf@4.60.4':
optional: true
- '@rollup/rollup-linux-arm-musleabihf@4.60.2':
+ '@rollup/rollup-linux-arm-musleabihf@4.60.4':
optional: true
- '@rollup/rollup-linux-arm64-gnu@4.60.2':
+ '@rollup/rollup-linux-arm64-gnu@4.60.4':
optional: true
- '@rollup/rollup-linux-arm64-musl@4.60.2':
+ '@rollup/rollup-linux-arm64-musl@4.60.4':
optional: true
- '@rollup/rollup-linux-loong64-gnu@4.60.2':
+ '@rollup/rollup-linux-loong64-gnu@4.60.4':
optional: true
- '@rollup/rollup-linux-loong64-musl@4.60.2':
+ '@rollup/rollup-linux-loong64-musl@4.60.4':
optional: true
- '@rollup/rollup-linux-ppc64-gnu@4.60.2':
+ '@rollup/rollup-linux-ppc64-gnu@4.60.4':
optional: true
- '@rollup/rollup-linux-ppc64-musl@4.60.2':
+ '@rollup/rollup-linux-ppc64-musl@4.60.4':
optional: true
- '@rollup/rollup-linux-riscv64-gnu@4.60.2':
+ '@rollup/rollup-linux-riscv64-gnu@4.60.4':
optional: true
- '@rollup/rollup-linux-riscv64-musl@4.60.2':
+ '@rollup/rollup-linux-riscv64-musl@4.60.4':
optional: true
- '@rollup/rollup-linux-s390x-gnu@4.60.2':
+ '@rollup/rollup-linux-s390x-gnu@4.60.4':
optional: true
- '@rollup/rollup-linux-x64-gnu@4.60.2':
+ '@rollup/rollup-linux-x64-gnu@4.60.4':
optional: true
- '@rollup/rollup-linux-x64-musl@4.60.2':
+ '@rollup/rollup-linux-x64-musl@4.60.4':
optional: true
- '@rollup/rollup-openbsd-x64@4.60.2':
+ '@rollup/rollup-openbsd-x64@4.60.4':
optional: true
- '@rollup/rollup-openharmony-arm64@4.60.2':
+ '@rollup/rollup-openharmony-arm64@4.60.4':
optional: true
- '@rollup/rollup-win32-arm64-msvc@4.60.2':
+ '@rollup/rollup-win32-arm64-msvc@4.60.4':
optional: true
- '@rollup/rollup-win32-ia32-msvc@4.60.2':
+ '@rollup/rollup-win32-ia32-msvc@4.60.4':
optional: true
- '@rollup/rollup-win32-x64-gnu@4.60.2':
+ '@rollup/rollup-win32-x64-gnu@4.60.4':
optional: true
- '@rollup/rollup-win32-x64-msvc@4.60.2':
+ '@rollup/rollup-win32-x64-msvc@4.60.4':
optional: true
- '@rollup/wasm-node@4.60.2':
+ '@rollup/wasm-node@4.60.4':
dependencies:
'@types/estree': 1.0.8
optionalDependencies:
@@ -11316,7 +11366,7 @@ snapshots:
dependencies:
'@sigstore/protobuf-specs': 0.5.1
- '@sigstore/core@3.2.0': {}
+ '@sigstore/core@3.2.1': {}
'@sigstore/protobuf-specs@0.5.1': {}
@@ -11324,7 +11374,7 @@ snapshots:
dependencies:
'@gar/promise-retry': 1.0.3
'@sigstore/bundle': 4.0.0
- '@sigstore/core': 3.2.0
+ '@sigstore/core': 3.2.1
'@sigstore/protobuf-specs': 0.5.1
make-fetch-happen: 15.0.5
proc-log: 6.1.0
@@ -11338,10 +11388,10 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@sigstore/verify@3.1.0':
+ '@sigstore/verify@3.1.1':
dependencies:
'@sigstore/bundle': 4.0.0
- '@sigstore/core': 3.2.0
+ '@sigstore/core': 3.2.1
'@sigstore/protobuf-specs': 0.5.1
'@simple-libs/child-process-utils@1.0.2':
@@ -11356,11 +11406,11 @@ snapshots:
'@standard-schema/spec@1.1.0': {}
- '@stylistic/eslint-plugin@5.10.0(eslint@10.2.1(jiti@2.6.1))':
+ '@stylistic/eslint-plugin@5.10.0(eslint@10.4.0(jiti@2.7.0))':
dependencies:
- '@eslint-community/eslint-utils': 4.9.1(eslint@10.2.1(jiti@2.6.1))
- '@typescript-eslint/types': 8.59.0
- eslint: 10.2.1(jiti@2.6.1)
+ '@eslint-community/eslint-utils': 4.9.1(eslint@10.4.0(jiti@2.7.0))
+ '@typescript-eslint/types': 8.60.0
+ eslint: 10.4.0(jiti@2.7.0)
eslint-visitor-keys: 4.2.1
espree: 10.4.0
estraverse: 5.3.0
@@ -11370,11 +11420,9 @@ snapshots:
dependencies:
defer-to-connect: 2.0.1
- '@tony.ganchev/eslint-plugin-header@3.4.4(eslint@10.2.1(jiti@2.6.1))':
+ '@tony.ganchev/eslint-plugin-header@3.4.4(eslint@10.4.0(jiti@2.7.0))':
dependencies:
- eslint: 10.2.1(jiti@2.6.1)
-
- '@tootallnate/quickjs-emscripten@0.23.0': {}
+ eslint: 10.4.0(jiti@2.7.0)
'@tufjs/canonical-json@2.0.0': {}
@@ -11383,47 +11431,47 @@ snapshots:
'@tufjs/canonical-json': 2.0.0
minimatch: 10.2.5
- '@tybys/wasm-util@0.10.1':
+ '@tybys/wasm-util@0.10.2':
dependencies:
tslib: 2.8.1
optional: true
'@types/babel__core@7.20.5':
dependencies:
- '@babel/parser': 7.29.2
- '@babel/types': 7.29.0
+ '@babel/parser': 7.29.7
+ '@babel/types': 7.29.7
'@types/babel__generator': 7.27.0
'@types/babel__template': 7.4.4
'@types/babel__traverse': 7.28.0
'@types/babel__generator@7.27.0':
dependencies:
- '@babel/types': 7.29.0
+ '@babel/types': 7.29.7
'@types/babel__template@7.4.4':
dependencies:
- '@babel/parser': 7.29.2
- '@babel/types': 7.29.0
+ '@babel/parser': 7.29.7
+ '@babel/types': 7.29.7
'@types/babel__traverse@7.28.0':
dependencies:
- '@babel/types': 7.29.0
+ '@babel/types': 7.29.7
'@types/big.js@6.2.2': {}
'@types/body-parser@1.19.6':
dependencies:
'@types/connect': 3.4.38
- '@types/node': 22.19.17
+ '@types/node': 22.19.19
'@types/bonjour@3.5.13':
dependencies:
- '@types/node': 22.19.17
+ '@types/node': 22.19.19
'@types/browser-sync@2.29.1':
dependencies:
'@types/micromatch': 2.3.35
- '@types/node': 22.19.17
+ '@types/node': 22.19.19
'@types/serve-static': 2.2.0
chokidar: 3.6.0
@@ -11434,56 +11482,48 @@ snapshots:
'@types/cli-progress@3.11.6':
dependencies:
- '@types/node': 22.19.17
+ '@types/node': 22.19.19
'@types/connect-history-api-fallback@1.5.4':
dependencies:
'@types/express-serve-static-core': 4.19.8
- '@types/node': 22.19.17
+ '@types/node': 22.19.19
'@types/connect@3.4.38':
dependencies:
- '@types/node': 22.19.17
+ '@types/node': 22.19.19
'@types/cors@2.8.19':
dependencies:
- '@types/node': 22.19.17
+ '@types/node': 22.19.19
'@types/deep-eql@4.0.2': {}
'@types/duplexify@3.6.5':
dependencies:
- '@types/node': 22.19.17
+ '@types/node': 22.19.19
'@types/ejs@3.1.5': {}
- '@types/eslint-scope@3.7.7':
- dependencies:
- '@types/eslint': 9.6.1
- '@types/estree': 1.0.8
-
- '@types/eslint@9.6.1':
- dependencies:
- '@types/estree': 1.0.8
- '@types/json-schema': 7.0.15
-
'@types/esrecurse@4.3.1': {}
'@types/estree@1.0.8': {}
+ '@types/estree@1.0.9': {}
+
'@types/events@3.0.3': {}
'@types/express-serve-static-core@4.19.8':
dependencies:
- '@types/node': 22.19.17
- '@types/qs': 6.15.0
+ '@types/node': 22.19.19
+ '@types/qs': 6.15.1
'@types/range-parser': 1.2.7
'@types/send': 1.2.1
'@types/express-serve-static-core@5.1.1':
dependencies:
- '@types/node': 22.19.17
- '@types/qs': 6.15.0
+ '@types/node': 22.19.19
+ '@types/qs': 6.15.1
'@types/range-parser': 1.2.7
'@types/send': 1.2.1
@@ -11491,7 +11531,7 @@ snapshots:
dependencies:
'@types/body-parser': 1.19.6
'@types/express-serve-static-core': 4.19.8
- '@types/qs': 6.15.0
+ '@types/qs': 6.15.1
'@types/serve-static': 1.15.10
'@types/express@5.0.6':
@@ -11504,13 +11544,13 @@ snapshots:
'@types/graceful-fs@4.1.9':
dependencies:
- '@types/node': 22.19.17
+ '@types/node': 22.19.19
'@types/http-errors@2.0.5': {}
'@types/http-proxy@1.17.17':
dependencies:
- '@types/node': 22.19.17
+ '@types/node': 22.19.19
'@types/ini@4.1.1': {}
@@ -11526,7 +11566,7 @@ snapshots:
'@types/karma@6.3.9':
dependencies:
- '@types/node': 22.19.17
+ '@types/node': 22.19.19
log4js: 6.9.1
transitivePeerDependencies:
- supports-color
@@ -11535,11 +11575,20 @@ snapshots:
'@types/loader-utils@3.0.0(esbuild@0.28.0)':
dependencies:
- '@types/node': 22.19.17
- webpack: 5.106.2(esbuild@0.28.0)
+ '@types/node': 22.19.19
+ webpack: 5.107.2(esbuild@0.28.0)
transitivePeerDependencies:
+ - '@minify-html/node'
- '@swc/core'
+ - '@swc/css'
+ - '@swc/html'
+ - clean-css
+ - cssnano
+ - csso
- esbuild
+ - html-minifier-terser
+ - lightningcss
+ - postcss
- uglify-js
- webpack-cli
@@ -11553,14 +11602,14 @@ snapshots:
'@types/node-fetch@2.6.13':
dependencies:
- '@types/node': 22.19.17
+ '@types/node': 22.19.19
form-data: 4.0.5
- '@types/node@22.19.17':
+ '@types/node@22.19.19':
dependencies:
undici-types: 6.21.0
- '@types/node@24.12.2':
+ '@types/node@24.12.4':
dependencies:
undici-types: 7.16.0
@@ -11568,7 +11617,7 @@ snapshots:
'@types/npm-registry-fetch@8.0.9':
dependencies:
- '@types/node': 22.19.17
+ '@types/node': 22.19.19
'@types/node-fetch': 2.6.13
'@types/npm-package-arg': 6.1.4
'@types/npmlog': 7.0.0
@@ -11576,11 +11625,11 @@ snapshots:
'@types/npmlog@7.0.0':
dependencies:
- '@types/node': 22.19.17
+ '@types/node': 22.19.19
'@types/pacote@11.1.8':
dependencies:
- '@types/node': 22.19.17
+ '@types/node': 22.19.19
'@types/npm-registry-fetch': 8.0.9
'@types/npmlog': 7.0.0
'@types/ssri': 7.1.5
@@ -11591,14 +11640,14 @@ snapshots:
'@types/progress@2.0.7':
dependencies:
- '@types/node': 22.19.17
+ '@types/node': 22.19.19
'@types/pumpify@1.4.5':
dependencies:
'@types/duplexify': 3.6.5
- '@types/node': 22.19.17
+ '@types/node': 22.19.19
- '@types/qs@6.15.0': {}
+ '@types/qs@6.15.1': {}
'@types/range-parser@1.2.7': {}
@@ -11606,7 +11655,7 @@ snapshots:
'@types/responselike@1.0.0':
dependencies:
- '@types/node': 22.19.17
+ '@types/node': 22.19.19
'@types/retry@0.12.0': {}
@@ -11617,11 +11666,11 @@ snapshots:
'@types/send@0.17.6':
dependencies:
'@types/mime': 1.3.5
- '@types/node': 22.19.17
+ '@types/node': 22.19.19
'@types/send@1.2.1':
dependencies:
- '@types/node': 22.19.17
+ '@types/node': 22.19.19
'@types/serve-index@1.9.4':
dependencies:
@@ -11630,38 +11679,38 @@ snapshots:
'@types/serve-static@1.15.10':
dependencies:
'@types/http-errors': 2.0.5
- '@types/node': 22.19.17
+ '@types/node': 22.19.19
'@types/send': 0.17.6
'@types/serve-static@2.2.0':
dependencies:
'@types/http-errors': 2.0.5
- '@types/node': 22.19.17
+ '@types/node': 22.19.19
'@types/sockjs@0.3.36':
dependencies:
- '@types/node': 22.19.17
+ '@types/node': 22.19.19
'@types/ssri@7.1.5':
dependencies:
- '@types/node': 22.19.17
+ '@types/node': 22.19.19
'@types/stack-trace@0.0.33': {}
'@types/tar-stream@3.1.4':
dependencies:
- '@types/node': 22.19.17
+ '@types/node': 22.19.19
'@types/watchpack@2.4.5':
dependencies:
'@types/graceful-fs': 4.1.9
- '@types/node': 22.19.17
+ '@types/node': 22.19.19
'@types/which@3.0.4': {}
'@types/ws@8.18.1':
dependencies:
- '@types/node': 22.19.17
+ '@types/node': 22.19.19
'@types/yargs-parser@21.0.3': {}
@@ -11671,126 +11720,119 @@ snapshots:
'@types/yarnpkg__lockfile@1.1.9': {}
- '@types/yauzl@2.10.3':
- dependencies:
- '@types/node': 22.19.17
- optional: true
-
- '@typescript-eslint/eslint-plugin@8.58.2(@typescript-eslint/parser@8.58.2(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.2))(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.2)':
+ '@typescript-eslint/eslint-plugin@8.60.0(@typescript-eslint/parser@8.60.0(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3)':
dependencies:
'@eslint-community/regexpp': 4.12.2
- '@typescript-eslint/parser': 8.58.2(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.2)
- '@typescript-eslint/scope-manager': 8.58.2
- '@typescript-eslint/type-utils': 8.58.2(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.2)
- '@typescript-eslint/utils': 8.58.2(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.2)
- '@typescript-eslint/visitor-keys': 8.58.2
- eslint: 10.2.1(jiti@2.6.1)
+ '@typescript-eslint/parser': 8.60.0(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3)
+ '@typescript-eslint/scope-manager': 8.60.0
+ '@typescript-eslint/type-utils': 8.60.0(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3)
+ '@typescript-eslint/utils': 8.60.0(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3)
+ '@typescript-eslint/visitor-keys': 8.60.0
+ eslint: 10.4.0(jiti@2.7.0)
ignore: 7.0.5
natural-compare: 1.4.0
- ts-api-utils: 2.5.0(typescript@6.0.2)
- typescript: 6.0.2
+ ts-api-utils: 2.5.0(typescript@6.0.3)
+ typescript: 6.0.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.58.2(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.2)':
+ '@typescript-eslint/parser@8.60.0(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3)':
dependencies:
- '@typescript-eslint/scope-manager': 8.58.2
- '@typescript-eslint/types': 8.58.2
- '@typescript-eslint/typescript-estree': 8.58.2(typescript@6.0.2)
- '@typescript-eslint/visitor-keys': 8.58.2
+ '@typescript-eslint/scope-manager': 8.60.0
+ '@typescript-eslint/types': 8.60.0
+ '@typescript-eslint/typescript-estree': 8.60.0(typescript@6.0.3)
+ '@typescript-eslint/visitor-keys': 8.60.0
debug: 4.4.3(supports-color@10.2.2)
- eslint: 10.2.1(jiti@2.6.1)
- typescript: 6.0.2
+ eslint: 10.4.0(jiti@2.7.0)
+ typescript: 6.0.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/project-service@8.58.2(typescript@6.0.2)':
+ '@typescript-eslint/project-service@8.60.0(typescript@6.0.3)':
dependencies:
- '@typescript-eslint/tsconfig-utils': 8.58.2(typescript@6.0.2)
- '@typescript-eslint/types': 8.58.2
+ '@typescript-eslint/tsconfig-utils': 8.60.0(typescript@6.0.3)
+ '@typescript-eslint/types': 8.60.0
debug: 4.4.3(supports-color@10.2.2)
- typescript: 6.0.2
+ typescript: 6.0.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/scope-manager@8.58.2':
+ '@typescript-eslint/scope-manager@8.60.0':
dependencies:
- '@typescript-eslint/types': 8.58.2
- '@typescript-eslint/visitor-keys': 8.58.2
+ '@typescript-eslint/types': 8.60.0
+ '@typescript-eslint/visitor-keys': 8.60.0
- '@typescript-eslint/tsconfig-utils@8.58.2(typescript@6.0.2)':
+ '@typescript-eslint/tsconfig-utils@8.60.0(typescript@6.0.3)':
dependencies:
- typescript: 6.0.2
+ typescript: 6.0.3
- '@typescript-eslint/type-utils@8.58.2(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.2)':
+ '@typescript-eslint/type-utils@8.60.0(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3)':
dependencies:
- '@typescript-eslint/types': 8.58.2
- '@typescript-eslint/typescript-estree': 8.58.2(typescript@6.0.2)
- '@typescript-eslint/utils': 8.58.2(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.2)
+ '@typescript-eslint/types': 8.60.0
+ '@typescript-eslint/typescript-estree': 8.60.0(typescript@6.0.3)
+ '@typescript-eslint/utils': 8.60.0(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3)
debug: 4.4.3(supports-color@10.2.2)
- eslint: 10.2.1(jiti@2.6.1)
- ts-api-utils: 2.5.0(typescript@6.0.2)
- typescript: 6.0.2
+ eslint: 10.4.0(jiti@2.7.0)
+ ts-api-utils: 2.5.0(typescript@6.0.3)
+ typescript: 6.0.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/types@8.58.2': {}
-
- '@typescript-eslint/types@8.59.0': {}
+ '@typescript-eslint/types@8.60.0': {}
- '@typescript-eslint/typescript-estree@8.58.2(typescript@6.0.2)':
+ '@typescript-eslint/typescript-estree@8.60.0(typescript@6.0.3)':
dependencies:
- '@typescript-eslint/project-service': 8.58.2(typescript@6.0.2)
- '@typescript-eslint/tsconfig-utils': 8.58.2(typescript@6.0.2)
- '@typescript-eslint/types': 8.58.2
- '@typescript-eslint/visitor-keys': 8.58.2
+ '@typescript-eslint/project-service': 8.60.0(typescript@6.0.3)
+ '@typescript-eslint/tsconfig-utils': 8.60.0(typescript@6.0.3)
+ '@typescript-eslint/types': 8.60.0
+ '@typescript-eslint/visitor-keys': 8.60.0
debug: 4.4.3(supports-color@10.2.2)
minimatch: 10.2.5
- semver: 7.7.4
+ semver: 7.8.1
tinyglobby: 0.2.16
- ts-api-utils: 2.5.0(typescript@6.0.2)
- typescript: 6.0.2
+ ts-api-utils: 2.5.0(typescript@6.0.3)
+ typescript: 6.0.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.58.2(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.2)':
+ '@typescript-eslint/utils@8.60.0(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3)':
dependencies:
- '@eslint-community/eslint-utils': 4.9.1(eslint@10.2.1(jiti@2.6.1))
- '@typescript-eslint/scope-manager': 8.58.2
- '@typescript-eslint/types': 8.58.2
- '@typescript-eslint/typescript-estree': 8.58.2(typescript@6.0.2)
- eslint: 10.2.1(jiti@2.6.1)
- typescript: 6.0.2
+ '@eslint-community/eslint-utils': 4.9.1(eslint@10.4.0(jiti@2.7.0))
+ '@typescript-eslint/scope-manager': 8.60.0
+ '@typescript-eslint/types': 8.60.0
+ '@typescript-eslint/typescript-estree': 8.60.0(typescript@6.0.3)
+ eslint: 10.4.0(jiti@2.7.0)
+ typescript: 6.0.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/visitor-keys@8.58.2':
+ '@typescript-eslint/visitor-keys@8.60.0':
dependencies:
- '@typescript-eslint/types': 8.58.2
+ '@typescript-eslint/types': 8.60.0
eslint-visitor-keys: 5.0.1
- '@verdaccio/auth@8.0.0-next-8.37':
+ '@verdaccio/auth@8.0.2':
dependencies:
- '@verdaccio/config': 8.0.0-next-8.37
- '@verdaccio/core': 8.0.0-next-8.37
- '@verdaccio/loaders': 8.0.0-next-8.27
- '@verdaccio/signature': 8.0.0-next-8.29
+ '@verdaccio/config': 8.1.1
+ '@verdaccio/core': 8.1.1
+ '@verdaccio/loaders': 8.0.2
+ '@verdaccio/signature': 8.0.2
debug: 4.4.3(supports-color@10.2.2)
lodash: 4.18.1
- verdaccio-htpasswd: 13.0.0-next-8.37
+ verdaccio-htpasswd: 13.0.2
transitivePeerDependencies:
- supports-color
- '@verdaccio/config@8.0.0-next-8.37':
+ '@verdaccio/config@8.1.1':
dependencies:
- '@verdaccio/core': 8.0.0-next-8.37
+ '@verdaccio/core': 8.1.1
debug: 4.4.3(supports-color@10.2.2)
js-yaml: 4.1.1
lodash: 4.18.1
transitivePeerDependencies:
- supports-color
- '@verdaccio/core@8.0.0':
+ '@verdaccio/core@8.1.1':
dependencies:
ajv: 8.18.0
http-errors: 2.0.1
@@ -11799,73 +11841,52 @@ snapshots:
process-warning: 1.0.0
semver: 7.7.4
- '@verdaccio/core@8.0.0-next-8.21':
- dependencies:
- ajv: 8.17.1
- http-errors: 2.0.0
- http-status-codes: 2.3.0
- minimatch: 7.4.6
- process-warning: 1.0.0
- semver: 7.7.2
-
- '@verdaccio/core@8.0.0-next-8.37':
- dependencies:
- ajv: 8.18.0
- http-errors: 2.0.1
- http-status-codes: 2.3.0
- minimatch: 7.4.9
- process-warning: 1.0.0
- semver: 7.7.4
-
- '@verdaccio/file-locking@10.3.1':
+ '@verdaccio/file-locking@13.0.1':
dependencies:
lockfile: 1.0.4
- '@verdaccio/file-locking@13.0.0-next-8.7':
+ '@verdaccio/hooks@8.0.2':
dependencies:
- lockfile: 1.0.4
-
- '@verdaccio/hooks@8.0.0-next-8.37':
- dependencies:
- '@verdaccio/core': 8.0.0-next-8.37
- '@verdaccio/logger': 8.0.0-next-8.37
+ '@verdaccio/core': 8.1.1
+ '@verdaccio/logger': 8.0.2
debug: 4.4.3(supports-color@10.2.2)
got-cjs: 12.5.4
handlebars: 4.7.9
transitivePeerDependencies:
- supports-color
- '@verdaccio/loaders@8.0.0-next-8.27':
+ '@verdaccio/loaders@8.0.2':
dependencies:
- '@verdaccio/core': 8.0.0-next-8.37
+ '@verdaccio/core': 8.1.1
debug: 4.4.3(supports-color@10.2.2)
lodash: 4.18.1
transitivePeerDependencies:
- supports-color
- '@verdaccio/local-storage-legacy@11.1.1':
+ '@verdaccio/local-storage-legacy@11.3.3':
dependencies:
- '@verdaccio/core': 8.0.0-next-8.21
- '@verdaccio/file-locking': 10.3.1
- '@verdaccio/streams': 10.2.1
- async: 3.2.6
- debug: 4.4.1
- lodash: 4.17.21
+ '@verdaccio/core': 8.1.1
+ '@verdaccio/file-locking': 13.0.1
+ '@verdaccio/streams': 10.2.5
+ debug: 4.4.3(supports-color@10.2.2)
+ globby: 11.1.0
+ lodash: 4.18.1
lowdb: 1.0.0
mkdirp: 1.0.4
+ sanitize-filename: 1.6.4
transitivePeerDependencies:
- supports-color
- '@verdaccio/logger-commons@8.0.0-next-8.37':
+ '@verdaccio/logger-commons@8.0.2':
dependencies:
- '@verdaccio/core': 8.0.0-next-8.37
- '@verdaccio/logger-prettify': 8.0.0-next-8.5
+ '@verdaccio/core': 8.1.1
+ '@verdaccio/logger-prettify': 8.0.1
colorette: 2.0.20
debug: 4.4.3(supports-color@10.2.2)
transitivePeerDependencies:
- supports-color
- '@verdaccio/logger-prettify@8.0.0-next-8.5':
+ '@verdaccio/logger-prettify@8.0.1':
dependencies:
colorette: 2.0.20
dayjs: 1.11.18
@@ -11874,18 +11895,18 @@ snapshots:
pino-abstract-transport: 1.2.0
sonic-boom: 3.8.1
- '@verdaccio/logger@8.0.0-next-8.37':
+ '@verdaccio/logger@8.0.2':
dependencies:
- '@verdaccio/logger-commons': 8.0.0-next-8.37
+ '@verdaccio/logger-commons': 8.0.2
pino: 9.14.0
transitivePeerDependencies:
- supports-color
- '@verdaccio/middleware@8.0.0-next-8.37':
+ '@verdaccio/middleware@8.0.2':
dependencies:
- '@verdaccio/config': 8.0.0-next-8.37
- '@verdaccio/core': 8.0.0-next-8.37
- '@verdaccio/url': 13.0.0-next-8.37
+ '@verdaccio/config': 8.1.1
+ '@verdaccio/core': 8.1.1
+ '@verdaccio/url': 13.0.2
debug: 4.4.3(supports-color@10.2.2)
express: 4.22.1
express-rate-limit: 5.5.1
@@ -11894,31 +11915,36 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@verdaccio/package-filter@13.0.0-next-8.5':
+ '@verdaccio/package-filter@13.0.2':
dependencies:
- '@verdaccio/core': 8.0.0-next-8.37
+ '@verdaccio/core': 8.1.1
debug: 4.4.3(supports-color@10.2.2)
semver: 7.7.4
transitivePeerDependencies:
- supports-color
- '@verdaccio/search-indexer@8.0.0-next-8.6': {}
+ '@verdaccio/search-indexer@8.0.2':
+ dependencies:
+ debug: 4.4.3(supports-color@10.2.2)
+ fuse.js: 7.3.0
+ transitivePeerDependencies:
+ - supports-color
- '@verdaccio/signature@8.0.0-next-8.29':
+ '@verdaccio/signature@8.0.2':
dependencies:
- '@verdaccio/config': 8.0.0-next-8.37
- '@verdaccio/core': 8.0.0-next-8.37
+ '@verdaccio/config': 8.1.1
+ '@verdaccio/core': 8.1.1
debug: 4.4.3(supports-color@10.2.2)
jsonwebtoken: 9.0.3
transitivePeerDependencies:
- supports-color
- '@verdaccio/streams@10.2.1': {}
+ '@verdaccio/streams@10.2.5': {}
- '@verdaccio/tarball@13.0.0-next-8.37':
+ '@verdaccio/tarball@13.0.2':
dependencies:
- '@verdaccio/core': 8.0.0-next-8.37
- '@verdaccio/url': 13.0.0-next-8.37
+ '@verdaccio/core': 8.1.1
+ '@verdaccio/url': 13.0.2
debug: 4.4.3(supports-color@10.2.2)
gunzip-maybe: 1.4.2
tar-stream: 3.1.7
@@ -11933,76 +11959,76 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@verdaccio/url@13.0.0-next-8.37':
+ '@verdaccio/url@13.0.2':
dependencies:
- '@verdaccio/core': 8.0.0-next-8.37
+ '@verdaccio/core': 8.1.1
debug: 4.4.3(supports-color@10.2.2)
validator: 13.15.26
transitivePeerDependencies:
- supports-color
- '@verdaccio/utils@8.1.0-next-8.37':
+ '@verdaccio/utils@8.1.2':
dependencies:
- '@verdaccio/core': 8.0.0-next-8.37
+ '@verdaccio/core': 8.1.1
lodash: 4.18.1
minimatch: 7.4.9
- '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@24.12.2)(jiti@2.6.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))':
+ '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(less@4.6.4)(sass@1.100.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0))':
dependencies:
- vite: 7.3.2(@types/node@24.12.2)(jiti@2.6.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)
+ vite: 7.3.3(@types/node@24.12.4)(jiti@2.7.0)(less@4.6.4)(sass@1.100.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0)
- '@vitest/coverage-v8@4.1.4(vitest@4.1.4)':
+ '@vitest/coverage-v8@4.1.7(vitest@4.1.7)':
dependencies:
'@bcoe/v8-coverage': 1.0.2
- '@vitest/utils': 4.1.4
- ast-v8-to-istanbul: 1.0.0
+ '@vitest/utils': 4.1.7
+ ast-v8-to-istanbul: 1.0.2
istanbul-lib-coverage: 3.2.2
istanbul-lib-report: 3.0.1
istanbul-reports: 3.2.0
- magicast: 0.5.2
+ magicast: 0.5.3
obug: 2.1.1
std-env: 4.1.0
tinyrainbow: 3.1.0
- vitest: 4.1.4(@opentelemetry/api@1.9.1)(@types/node@24.12.2)(@vitest/coverage-v8@4.1.4)(jiti@2.6.1)(jsdom@29.0.2)(less@4.6.4)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)
+ vitest: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@24.12.4)(@vitest/coverage-v8@4.1.7)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.100.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0)
- '@vitest/expect@4.1.4':
+ '@vitest/expect@4.1.7':
dependencies:
'@standard-schema/spec': 1.1.0
'@types/chai': 5.2.3
- '@vitest/spy': 4.1.4
- '@vitest/utils': 4.1.4
+ '@vitest/spy': 4.1.7
+ '@vitest/utils': 4.1.7
chai: 6.2.2
tinyrainbow: 3.1.0
- '@vitest/mocker@4.1.4(vite@7.3.2(@types/node@24.12.2)(jiti@2.6.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))':
+ '@vitest/mocker@4.1.7(vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(less@4.6.4)(sass@1.100.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0))':
dependencies:
- '@vitest/spy': 4.1.4
+ '@vitest/spy': 4.1.7
estree-walker: 3.0.3
magic-string: 0.30.21
optionalDependencies:
- vite: 7.3.2(@types/node@24.12.2)(jiti@2.6.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)
+ vite: 7.3.3(@types/node@24.12.4)(jiti@2.7.0)(less@4.6.4)(sass@1.100.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0)
- '@vitest/pretty-format@4.1.4':
+ '@vitest/pretty-format@4.1.7':
dependencies:
tinyrainbow: 3.1.0
- '@vitest/runner@4.1.4':
+ '@vitest/runner@4.1.7':
dependencies:
- '@vitest/utils': 4.1.4
+ '@vitest/utils': 4.1.7
pathe: 2.0.3
- '@vitest/snapshot@4.1.4':
+ '@vitest/snapshot@4.1.7':
dependencies:
- '@vitest/pretty-format': 4.1.4
- '@vitest/utils': 4.1.4
+ '@vitest/pretty-format': 4.1.7
+ '@vitest/utils': 4.1.7
magic-string: 0.30.21
pathe: 2.0.3
- '@vitest/spy@4.1.4': {}
+ '@vitest/spy@4.1.7': {}
- '@vitest/utils@4.1.4':
+ '@vitest/utils@4.1.7':
dependencies:
- '@vitest/pretty-format': 4.1.4
+ '@vitest/pretty-format': 4.1.7
convert-source-map: 2.0.0
tinyrainbow: 3.1.0
@@ -12138,15 +12164,15 @@ snapshots:
ajv-formats@2.1.1:
dependencies:
- ajv: 8.18.0
+ ajv: 8.20.0
- ajv-formats@3.0.1(ajv@8.18.0):
+ ajv-formats@3.0.1(ajv@8.20.0):
optionalDependencies:
- ajv: 8.18.0
+ ajv: 8.20.0
- ajv-keywords@5.1.0(ajv@8.18.0):
+ ajv-keywords@5.1.0(ajv@8.20.0):
dependencies:
- ajv: 8.18.0
+ ajv: 8.20.0
fast-deep-equal: 3.1.3
ajv@6.15.0:
@@ -12156,36 +12182,36 @@ snapshots:
json-schema-traverse: 0.4.1
uri-js: 4.4.1
- ajv@8.17.1:
+ ajv@8.18.0:
dependencies:
fast-deep-equal: 3.1.3
- fast-uri: 3.1.0
+ fast-uri: 3.1.2
json-schema-traverse: 1.0.0
require-from-string: 2.0.2
- ajv@8.18.0:
+ ajv@8.20.0:
dependencies:
fast-deep-equal: 3.1.3
- fast-uri: 3.1.0
+ fast-uri: 3.1.2
json-schema-traverse: 1.0.0
require-from-string: 2.0.2
- algoliasearch@5.50.2:
- dependencies:
- '@algolia/abtesting': 1.16.2
- '@algolia/client-abtesting': 5.50.2
- '@algolia/client-analytics': 5.50.2
- '@algolia/client-common': 5.50.2
- '@algolia/client-insights': 5.50.2
- '@algolia/client-personalization': 5.50.2
- '@algolia/client-query-suggestions': 5.50.2
- '@algolia/client-search': 5.50.2
- '@algolia/ingestion': 1.50.2
- '@algolia/monitoring': 1.50.2
- '@algolia/recommend': 5.50.2
- '@algolia/requester-browser-xhr': 5.50.2
- '@algolia/requester-fetch': 5.50.2
- '@algolia/requester-node-http': 5.50.2
+ algoliasearch@5.52.1:
+ dependencies:
+ '@algolia/abtesting': 1.18.1
+ '@algolia/client-abtesting': 5.52.1
+ '@algolia/client-analytics': 5.52.1
+ '@algolia/client-common': 5.52.1
+ '@algolia/client-insights': 5.52.1
+ '@algolia/client-personalization': 5.52.1
+ '@algolia/client-query-suggestions': 5.52.1
+ '@algolia/client-search': 5.52.1
+ '@algolia/ingestion': 1.52.1
+ '@algolia/monitoring': 1.52.1
+ '@algolia/recommend': 5.52.1
+ '@algolia/requester-browser-xhr': 5.52.1
+ '@algolia/requester-fetch': 5.52.1
+ '@algolia/requester-node-http': 5.52.1
ansi-colors@4.1.3: {}
@@ -12229,11 +12255,13 @@ snapshots:
call-bound: 1.0.4
define-properties: 1.2.1
es-abstract: 1.24.2
- es-object-atoms: 1.1.1
+ es-object-atoms: 1.1.2
get-intrinsic: 1.3.0
is-string: 1.1.1
math-intrinsics: 1.1.0
+ array-union@2.1.0: {}
+
array-union@3.0.1: {}
array.prototype.findlastindex@1.2.6:
@@ -12243,7 +12271,7 @@ snapshots:
define-properties: 1.2.1
es-abstract: 1.24.2
es-errors: 1.3.0
- es-object-atoms: 1.1.1
+ es-object-atoms: 1.1.2
es-shim-unscopables: 1.1.0
array.prototype.flat@1.3.3:
@@ -12286,11 +12314,7 @@ snapshots:
assertion-error@2.0.1: {}
- ast-types@0.13.4:
- dependencies:
- tslib: 2.8.1
-
- ast-v8-to-istanbul@1.0.0:
+ ast-v8-to-istanbul@1.0.2:
dependencies:
'@jridgewell/trace-mapping': 0.3.31
estree-walker: 3.0.3
@@ -12310,13 +12334,13 @@ snapshots:
atomic-sleep@1.0.0: {}
- autoprefixer@10.5.0(postcss@8.5.10):
+ autoprefixer@10.5.0(postcss@8.5.15):
dependencies:
browserslist: 4.28.2
- caniuse-lite: 1.0.30001791
+ caniuse-lite: 1.0.30001793
fraction.js: 5.3.4
picocolors: 1.1.1
- postcss: 8.5.10
+ postcss: 8.5.15
postcss-value-parser: 4.2.0
available-typed-arrays@1.0.7:
@@ -12327,44 +12351,44 @@ snapshots:
aws4@1.13.2: {}
- b4a@1.8.0: {}
+ b4a@1.8.1: {}
- babel-loader@10.1.1(@babel/core@7.29.0)(webpack@5.106.2(esbuild@0.28.0)):
+ babel-loader@10.1.1(@babel/core@7.29.7)(webpack@5.107.2(esbuild@0.28.0)(postcss@8.5.15)):
dependencies:
- '@babel/core': 7.29.0
+ '@babel/core': 7.29.7
find-up: 5.0.0
optionalDependencies:
- webpack: 5.106.2(esbuild@0.28.0)
+ webpack: 5.107.2(esbuild@0.28.0)(postcss@8.5.15)
- babel-plugin-polyfill-corejs2@0.4.17(@babel/core@7.29.0):
+ babel-plugin-polyfill-corejs2@0.4.17(@babel/core@7.29.7):
dependencies:
- '@babel/compat-data': 7.29.0
- '@babel/core': 7.29.0
- '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.0)
+ '@babel/compat-data': 7.29.7
+ '@babel/core': 7.29.7
+ '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7)
semver: 6.3.1
transitivePeerDependencies:
- supports-color
- babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.29.0):
+ babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.29.7):
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.0)
+ '@babel/core': 7.29.7
+ '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7)
core-js-compat: 3.49.0
transitivePeerDependencies:
- supports-color
- babel-plugin-polyfill-corejs3@0.14.2(@babel/core@7.29.0):
+ babel-plugin-polyfill-corejs3@0.14.2(@babel/core@7.29.7):
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.0)
+ '@babel/core': 7.29.7
+ '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7)
core-js-compat: 3.49.0
transitivePeerDependencies:
- supports-color
- babel-plugin-polyfill-regenerator@0.6.8(@babel/core@7.29.0):
+ babel-plugin-polyfill-regenerator@0.6.8(@babel/core@7.29.7):
dependencies:
- '@babel/core': 7.29.0
- '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.0)
+ '@babel/core': 7.29.7
+ '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7)
transitivePeerDependencies:
- supports-color
@@ -12372,35 +12396,35 @@ snapshots:
balanced-match@4.0.4: {}
- bare-events@2.8.2: {}
+ bare-events@2.8.3: {}
bare-fs@4.7.1:
dependencies:
- bare-events: 2.8.2
+ bare-events: 2.8.3
bare-path: 3.0.0
- bare-stream: 2.13.0(bare-events@2.8.2)
- bare-url: 2.4.2
+ bare-stream: 2.13.1(bare-events@2.8.3)
+ bare-url: 2.4.3
fast-fifo: 1.3.2
transitivePeerDependencies:
- bare-abort-controller
- react-native-b4a
- bare-os@3.9.0: {}
+ bare-os@3.9.1: {}
bare-path@3.0.0:
dependencies:
- bare-os: 3.9.0
+ bare-os: 3.9.1
- bare-stream@2.13.0(bare-events@2.8.2):
+ bare-stream@2.13.1(bare-events@2.8.3):
dependencies:
streamx: 2.25.0
teex: 1.0.1
optionalDependencies:
- bare-events: 2.8.2
+ bare-events: 2.8.3
transitivePeerDependencies:
- react-native-b4a
- bare-url@2.4.2:
+ bare-url@2.4.3:
dependencies:
bare-path: 3.0.0
@@ -12408,9 +12432,7 @@ snapshots:
base64id@2.0.0: {}
- baseline-browser-mapping@2.10.23: {}
-
- basic-ftp@5.3.0: {}
+ baseline-browser-mapping@2.10.32: {}
batch@0.6.1: {}
@@ -12428,9 +12450,9 @@ snapshots:
domhandler: 5.0.3
htmlparser2: 10.1.0
picocolors: 1.1.1
- postcss: 8.5.10
+ postcss: 8.5.15
postcss-media-query-parser: 0.2.3
- postcss-safe-parser: 7.0.1(postcss@8.5.10)
+ postcss-safe-parser: 7.0.1(postcss@8.5.15)
before-after-hook@4.0.0: {}
@@ -12456,7 +12478,7 @@ snapshots:
http-errors: 2.0.1
iconv-lite: 0.4.24
on-finished: 2.4.1
- qs: 6.15.1
+ qs: 6.15.2
raw-body: 2.5.3
type-is: 1.6.18
unpipe: 1.0.0
@@ -12471,29 +12493,29 @@ snapshots:
http-errors: 2.0.1
iconv-lite: 0.7.2
on-finished: 2.4.1
- qs: 6.15.1
+ qs: 6.15.2
raw-body: 3.0.2
- type-is: 2.0.1
+ type-is: 2.1.0
transitivePeerDependencies:
- supports-color
- bonjour-service@1.3.0:
+ bonjour-service@1.4.0:
dependencies:
fast-deep-equal: 3.1.3
multicast-dns: 7.2.5
boolbase@1.0.0: {}
- brace-expansion@1.1.14:
+ brace-expansion@1.1.15:
dependencies:
balanced-match: 1.0.2
concat-map: 0.0.1
- brace-expansion@2.1.0:
+ brace-expansion@2.1.1:
dependencies:
balanced-match: 1.0.2
- brace-expansion@5.0.5:
+ brace-expansion@5.0.6:
dependencies:
balanced-match: 4.0.4
@@ -12538,7 +12560,7 @@ snapshots:
etag: 1.8.1
fresh: 0.5.2
fs-extra: 3.0.1
- http-proxy: 1.18.1(debug@4.4.3)
+ http-proxy: 1.18.1
immutable: 3.8.3
micromatch: 4.0.8
opn: 5.3.0
@@ -12565,16 +12587,14 @@ snapshots:
browserslist@4.28.2:
dependencies:
- baseline-browser-mapping: 2.10.23
- caniuse-lite: 1.0.30001791
- electron-to-chromium: 1.5.344
- node-releases: 2.0.38
+ baseline-browser-mapping: 2.10.32
+ caniuse-lite: 1.0.30001793
+ electron-to-chromium: 1.5.361
+ node-releases: 2.0.46
update-browserslist-db: 1.2.3(browserslist@4.28.2)
bs-recipes@1.3.4: {}
- buffer-crc32@0.2.13: {}
-
buffer-equal-constant-time@1.0.1: {}
buffer-from@1.1.2: {}
@@ -12601,7 +12621,7 @@ snapshots:
'@npmcli/fs': 5.0.0
fs-minipass: 3.0.3
glob: 13.0.6
- lru-cache: 11.3.5
+ lru-cache: 11.5.0
minipass: 7.1.3
minipass-collect: 2.0.1
minipass-flush: 1.0.7
@@ -12640,7 +12660,7 @@ snapshots:
callsites@3.1.0: {}
- caniuse-lite@1.0.30001791: {}
+ caniuse-lite@1.0.30001793: {}
caseless@0.12.0: {}
@@ -12675,10 +12695,6 @@ snapshots:
optionalDependencies:
fsevents: 2.3.3
- chokidar@4.0.3:
- dependencies:
- readdirp: 4.1.2
-
chokidar@5.0.0:
dependencies:
readdirp: 5.0.0
@@ -12687,9 +12703,9 @@ snapshots:
chrome-trace-event@1.0.4: {}
- chromium-bidi@14.0.0(devtools-protocol@0.0.1595872):
+ chromium-bidi@16.0.1(devtools-protocol@0.0.1624250):
dependencies:
- devtools-protocol: 0.0.1595872
+ devtools-protocol: 0.0.1624250
mitt: 3.0.1
zod: 3.25.76
@@ -12706,7 +12722,7 @@ snapshots:
cli-truncate@5.2.0:
dependencies:
slice-ansi: 8.0.0
- string-width: 8.2.0
+ string-width: 8.2.1
cli-width@4.1.0: {}
@@ -12816,6 +12832,8 @@ snapshots:
content-type@1.0.5: {}
+ content-type@2.0.0: {}
+
conventional-commits-filter@5.0.0: {}
conventional-commits-parser@6.4.0:
@@ -12837,14 +12855,14 @@ snapshots:
dependencies:
is-what: 4.1.16
- copy-webpack-plugin@14.0.0(webpack@5.106.2(esbuild@0.28.0)):
+ copy-webpack-plugin@14.0.0(webpack@5.107.2(esbuild@0.28.0)(postcss@8.5.15)):
dependencies:
glob-parent: 6.0.2
normalize-path: 3.0.0
schema-utils: 4.3.3
serialize-javascript: 7.0.5
tinyglobby: 0.2.16
- webpack: 5.106.2(esbuild@0.28.0)
+ webpack: 5.107.2(esbuild@0.28.0)(postcss@8.5.15)
core-js-compat@3.49.0:
dependencies:
@@ -12859,14 +12877,14 @@ snapshots:
object-assign: 4.1.1
vary: 1.1.2
- cosmiconfig@9.0.1(typescript@6.0.2):
+ cosmiconfig@9.0.1(typescript@6.0.3):
dependencies:
env-paths: 2.2.1
import-fresh: 3.3.1
js-yaml: 4.1.1
parse-json: 5.2.0
optionalDependencies:
- typescript: 6.0.2
+ typescript: 6.0.3
cross-fetch@4.1.0(encoding@0.1.13):
dependencies:
@@ -12880,18 +12898,18 @@ snapshots:
shebang-command: 2.0.0
which: 2.0.2
- css-loader@7.1.4(webpack@5.106.2(esbuild@0.28.0)):
+ css-loader@7.1.4(webpack@5.107.2(esbuild@0.28.0)(postcss@8.5.15)):
dependencies:
- icss-utils: 5.1.0(postcss@8.5.10)
- postcss: 8.5.10
- postcss-modules-extract-imports: 3.1.0(postcss@8.5.10)
- postcss-modules-local-by-default: 4.2.0(postcss@8.5.10)
- postcss-modules-scope: 3.2.1(postcss@8.5.10)
- postcss-modules-values: 4.0.0(postcss@8.5.10)
+ icss-utils: 5.1.0(postcss@8.5.15)
+ postcss: 8.5.15
+ postcss-modules-extract-imports: 3.1.0(postcss@8.5.15)
+ postcss-modules-local-by-default: 4.2.0(postcss@8.5.15)
+ postcss-modules-scope: 3.2.1(postcss@8.5.15)
+ postcss-modules-values: 4.0.0(postcss@8.5.15)
postcss-value-parser: 4.2.0
- semver: 7.7.4
+ semver: 7.8.1
optionalDependencies:
- webpack: 5.106.2(esbuild@0.28.0)
+ webpack: 5.107.2(esbuild@0.28.0)(postcss@8.5.15)
css-select@6.0.0:
dependencies:
@@ -12918,8 +12936,6 @@ snapshots:
data-uri-to-buffer@4.0.1: {}
- data-uri-to-buffer@6.0.2: {}
-
data-urls@7.0.0:
dependencies:
whatwg-mimetype: 5.0.0
@@ -12963,10 +12979,6 @@ snapshots:
optionalDependencies:
supports-color: 10.2.2
- debug@4.4.1:
- dependencies:
- ms: 2.1.3
-
debug@4.4.3(supports-color@10.2.2):
dependencies:
ms: 2.1.3
@@ -13008,12 +13020,6 @@ snapshots:
defu@6.1.7: {}
- degenerator@5.0.1:
- dependencies:
- ast-types: 0.13.4
- escodegen: 2.1.0
- esprima: 4.0.1
-
delayed-stream@1.0.0: {}
depd@1.1.2: {}
@@ -13031,10 +13037,14 @@ snapshots:
dev-ip@1.0.1: {}
- devtools-protocol@0.0.1595872: {}
+ devtools-protocol@0.0.1624250: {}
di@0.0.1: {}
+ dir-glob@3.0.1:
+ dependencies:
+ path-type: 4.0.0
+
dns-packet@5.6.1:
dependencies:
'@leichtgewicht/ip-codec': 2.0.5
@@ -13111,7 +13121,7 @@ snapshots:
ejs@5.0.2: {}
- electron-to-chromium@1.5.344: {}
+ electron-to-chromium@1.5.361: {}
emoji-regex@10.6.0: {}
@@ -13133,12 +13143,12 @@ snapshots:
dependencies:
once: 1.4.0
- engine.io-client@6.6.4(bufferutil@4.1.0)(utf-8-validate@6.0.6):
+ engine.io-client@6.6.5(bufferutil@4.1.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-parser: 5.2.3
- ws: 8.18.3(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ ws: 8.20.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)
xmlhttprequest-ssl: 2.1.2
transitivePeerDependencies:
- bufferutil
@@ -13147,10 +13157,10 @@ snapshots:
engine.io-parser@5.2.3: {}
- engine.io@6.6.6(bufferutil@4.1.0)(utf-8-validate@6.0.6):
+ engine.io@6.6.8(bufferutil@4.1.0)(utf-8-validate@6.0.6):
dependencies:
'@types/cors': 2.8.19
- '@types/node': 22.19.17
+ '@types/node': 22.19.19
'@types/ws': 8.18.1
accepts: 1.3.8
base64id: 2.0.0
@@ -13158,13 +13168,13 @@ snapshots:
cors: 2.8.6
debug: 4.4.3(supports-color@10.2.2)
engine.io-parser: 5.2.3
- ws: 8.18.3(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ ws: 8.20.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
- enhanced-resolve@5.21.0:
+ enhanced-resolve@5.22.0:
dependencies:
graceful-fs: 4.2.11
tapable: 2.3.3
@@ -13209,7 +13219,7 @@ snapshots:
data-view-byte-offset: 1.0.1
es-define-property: 1.0.1
es-errors: 1.3.0
- es-object-atoms: 1.1.1
+ es-object-atoms: 1.1.2
es-set-tostringtag: 2.1.0
es-to-primitive: 1.3.0
function.prototype.name: 1.1.8
@@ -13260,7 +13270,7 @@ snapshots:
es-module-lexer@2.1.0: {}
- es-object-atoms@1.1.1:
+ es-object-atoms@1.1.2:
dependencies:
es-errors: 1.3.0
@@ -13347,37 +13357,29 @@ snapshots:
escape-string-regexp@4.0.0: {}
- escodegen@2.1.0:
- dependencies:
- esprima: 4.0.1
- estraverse: 5.3.0
- esutils: 2.0.3
- optionalDependencies:
- source-map: 0.6.1
-
- eslint-config-prettier@10.1.8(eslint@10.2.1(jiti@2.6.1)):
+ eslint-config-prettier@10.1.8(eslint@10.4.0(jiti@2.7.0)):
dependencies:
- eslint: 10.2.1(jiti@2.6.1)
+ eslint: 10.4.0(jiti@2.7.0)
eslint-import-resolver-node@0.3.10:
dependencies:
debug: 3.2.7
- is-core-module: 2.16.1
- resolve: 2.0.0-next.6
+ is-core-module: 2.16.2
+ resolve: 2.0.0-next.7
transitivePeerDependencies:
- supports-color
- eslint-module-utils@2.12.1(@typescript-eslint/parser@8.58.2(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.2))(eslint-import-resolver-node@0.3.10)(eslint@10.2.1(jiti@2.6.1)):
+ eslint-module-utils@2.12.1(@typescript-eslint/parser@8.60.0(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3))(eslint-import-resolver-node@0.3.10)(eslint@10.4.0(jiti@2.7.0)):
dependencies:
debug: 3.2.7
optionalDependencies:
- '@typescript-eslint/parser': 8.58.2(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.2)
- eslint: 10.2.1(jiti@2.6.1)
+ '@typescript-eslint/parser': 8.60.0(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3)
+ eslint: 10.4.0(jiti@2.7.0)
eslint-import-resolver-node: 0.3.10
transitivePeerDependencies:
- supports-color
- eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.58.2(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.2))(eslint@10.2.1(jiti@2.6.1)):
+ eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.60.0(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.4.0(jiti@2.7.0)):
dependencies:
'@rtsao/scc': 1.1.0
array-includes: 3.1.9
@@ -13386,11 +13388,11 @@ snapshots:
array.prototype.flatmap: 1.3.3
debug: 3.2.7
doctrine: 2.1.0
- eslint: 10.2.1(jiti@2.6.1)
+ eslint: 10.4.0(jiti@2.7.0)
eslint-import-resolver-node: 0.3.10
- eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.58.2(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.2))(eslint-import-resolver-node@0.3.10)(eslint@10.2.1(jiti@2.6.1))
+ eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.60.0(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3))(eslint-import-resolver-node@0.3.10)(eslint@10.4.0(jiti@2.7.0))
hasown: 2.0.3
- is-core-module: 2.16.1
+ is-core-module: 2.16.2
is-glob: 4.0.3
minimatch: 3.1.5
object.fromentries: 2.0.8
@@ -13400,7 +13402,7 @@ snapshots:
string.prototype.trimend: 1.0.9
tsconfig-paths: 3.15.0
optionalDependencies:
- '@typescript-eslint/parser': 8.58.2(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.2)
+ '@typescript-eslint/parser': 8.60.0(eslint@10.4.0(jiti@2.7.0))(typescript@6.0.3)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
@@ -13414,7 +13416,7 @@ snapshots:
eslint-scope@9.1.2:
dependencies:
'@types/esrecurse': 4.3.1
- '@types/estree': 1.0.8
+ '@types/estree': 1.0.9
esrecurse: 4.3.0
estraverse: 5.3.0
@@ -13424,18 +13426,18 @@ snapshots:
eslint-visitor-keys@5.0.1: {}
- eslint@10.2.1(jiti@2.6.1):
+ eslint@10.4.0(jiti@2.7.0):
dependencies:
- '@eslint-community/eslint-utils': 4.9.1(eslint@10.2.1(jiti@2.6.1))
+ '@eslint-community/eslint-utils': 4.9.1(eslint@10.4.0(jiti@2.7.0))
'@eslint-community/regexpp': 4.12.2
'@eslint/config-array': 0.23.5
- '@eslint/config-helpers': 0.5.5
+ '@eslint/config-helpers': 0.6.0
'@eslint/core': 1.2.1
'@eslint/plugin-kit': 0.7.1
'@humanfs/node': 0.16.8
'@humanwhocodes/module-importer': 1.0.1
'@humanwhocodes/retry': 0.4.3
- '@types/estree': 1.0.8
+ '@types/estree': 1.0.9
ajv: 6.15.0
cross-spawn: 7.0.6
debug: 4.4.3(supports-color@10.2.2)
@@ -13457,7 +13459,7 @@ snapshots:
natural-compare: 1.4.0
optionator: 0.9.4
optionalDependencies:
- jiti: 2.6.1
+ jiti: 2.7.0
transitivePeerDependencies:
- supports-color
@@ -13473,8 +13475,6 @@ snapshots:
acorn-jsx: 5.3.2(acorn@8.16.0)
eslint-visitor-keys: 5.0.1
- esprima@4.0.1: {}
-
esquery@1.7.0:
dependencies:
estraverse: 5.3.0
@@ -13491,7 +13491,7 @@ snapshots:
estree-walker@3.0.3:
dependencies:
- '@types/estree': 1.0.8
+ '@types/estree': 1.0.9
esutils@2.0.3: {}
@@ -13507,7 +13507,7 @@ snapshots:
events-universal@1.0.1:
dependencies:
- bare-events: 2.8.2
+ bare-events: 2.8.3
transitivePeerDependencies:
- bare-abort-controller
@@ -13525,10 +13525,10 @@ snapshots:
express-rate-limit@5.5.1: {}
- express-rate-limit@8.4.1(express@5.2.1):
+ express-rate-limit@8.5.2(express@5.2.1):
dependencies:
express: 5.2.1
- ip-address: 10.1.0
+ ip-address: 10.2.0
express@4.22.1:
dependencies:
@@ -13566,6 +13566,42 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ express@4.22.2:
+ dependencies:
+ accepts: 1.3.8
+ array-flatten: 1.1.1
+ body-parser: 1.20.5
+ content-disposition: 0.5.4
+ content-type: 1.0.5
+ cookie: 0.7.2
+ cookie-signature: 1.0.7
+ debug: 2.6.9
+ depd: 2.0.0
+ encodeurl: 2.0.0
+ escape-html: 1.0.3
+ etag: 1.8.1
+ finalhandler: 1.3.2
+ fresh: 0.5.2
+ http-errors: 2.0.1
+ merge-descriptors: 1.0.3
+ methods: 1.1.2
+ on-finished: 2.4.1
+ parseurl: 1.3.3
+ path-to-regexp: 0.1.13
+ proxy-addr: 2.0.7
+ qs: 6.15.2
+ range-parser: 1.2.1
+ safe-buffer: 5.2.1
+ send: 0.19.2
+ serve-static: 1.16.3
+ setprototypeof: 1.2.0
+ statuses: 2.0.2
+ type-is: 1.6.18
+ utils-merge: 1.0.1
+ vary: 1.1.2
+ transitivePeerDependencies:
+ - supports-color
+
express@5.2.1:
dependencies:
accepts: 2.0.0
@@ -13588,33 +13624,21 @@ snapshots:
once: 1.4.0
parseurl: 1.3.3
proxy-addr: 2.0.7
- qs: 6.15.1
+ qs: 6.15.2
range-parser: 1.2.1
router: 2.2.0
send: 1.2.1
serve-static: 2.2.1
statuses: 2.0.2
- type-is: 2.0.1
+ type-is: 2.1.0
vary: 1.1.2
transitivePeerDependencies:
- supports-color
extend@3.0.2: {}
- extract-zip@2.0.1:
- dependencies:
- debug: 4.4.3(supports-color@10.2.2)
- get-stream: 5.2.0
- yauzl: 2.10.0
- optionalDependencies:
- '@types/yauzl': 2.10.3
- transitivePeerDependencies:
- - supports-color
-
extsprintf@1.3.0: {}
- fast-content-type-parse@3.0.0: {}
-
fast-deep-equal@3.1.3: {}
fast-fifo@1.3.2: {}
@@ -13637,9 +13661,9 @@ snapshots:
dependencies:
fast-string-truncated-width: 3.0.3
- fast-uri@3.1.0: {}
+ fast-uri@3.1.2: {}
- fast-wrap-ansi@0.2.0:
+ fast-wrap-ansi@0.2.2:
dependencies:
fast-string-width: 3.0.2
@@ -13651,10 +13675,6 @@ snapshots:
dependencies:
websocket-driver: 0.7.4
- fd-slicer@1.1.0:
- dependencies:
- pend: 1.2.0
-
fdir@6.5.0(picomatch@4.0.4):
optionalDependencies:
picomatch: 4.0.4
@@ -13731,36 +13751,36 @@ snapshots:
locate-path: 6.0.0
path-exists: 4.0.0
- firebase@12.12.1:
- dependencies:
- '@firebase/ai': 2.11.1(@firebase/app-types@0.9.4)(@firebase/app@0.14.11)
- '@firebase/analytics': 0.10.21(@firebase/app@0.14.11)
- '@firebase/analytics-compat': 0.2.27(@firebase/app-compat@0.5.11)(@firebase/app@0.14.11)
- '@firebase/app': 0.14.11
- '@firebase/app-check': 0.11.2(@firebase/app@0.14.11)
- '@firebase/app-check-compat': 0.4.2(@firebase/app-compat@0.5.11)(@firebase/app@0.14.11)
- '@firebase/app-compat': 0.5.11
- '@firebase/app-types': 0.9.4
- '@firebase/auth': 1.13.0(@firebase/app@0.14.11)
- '@firebase/auth-compat': 0.6.5(@firebase/app-compat@0.5.11)(@firebase/app-types@0.9.4)(@firebase/app@0.14.11)
- '@firebase/data-connect': 0.6.0(@firebase/app@0.14.11)
- '@firebase/database': 1.1.2
- '@firebase/database-compat': 2.1.3
- '@firebase/firestore': 4.14.0(@firebase/app@0.14.11)
- '@firebase/firestore-compat': 0.4.8(@firebase/app-compat@0.5.11)(@firebase/app-types@0.9.4)(@firebase/app@0.14.11)
- '@firebase/functions': 0.13.3(@firebase/app@0.14.11)
- '@firebase/functions-compat': 0.4.3(@firebase/app-compat@0.5.11)(@firebase/app@0.14.11)
- '@firebase/installations': 0.6.21(@firebase/app@0.14.11)
- '@firebase/installations-compat': 0.2.21(@firebase/app-compat@0.5.11)(@firebase/app-types@0.9.4)(@firebase/app@0.14.11)
- '@firebase/messaging': 0.12.25(@firebase/app@0.14.11)
- '@firebase/messaging-compat': 0.2.25(@firebase/app-compat@0.5.11)(@firebase/app@0.14.11)
- '@firebase/performance': 0.7.11(@firebase/app@0.14.11)
- '@firebase/performance-compat': 0.2.24(@firebase/app-compat@0.5.11)(@firebase/app@0.14.11)
- '@firebase/remote-config': 0.8.2(@firebase/app@0.14.11)
- '@firebase/remote-config-compat': 0.2.23(@firebase/app-compat@0.5.11)(@firebase/app@0.14.11)
- '@firebase/storage': 0.14.2(@firebase/app@0.14.11)
- '@firebase/storage-compat': 0.4.2(@firebase/app-compat@0.5.11)(@firebase/app-types@0.9.4)(@firebase/app@0.14.11)
- '@firebase/util': 1.15.0
+ firebase@12.13.0:
+ dependencies:
+ '@firebase/ai': 2.12.0(@firebase/app-types@0.9.5)(@firebase/app@0.14.12)
+ '@firebase/analytics': 0.10.22(@firebase/app@0.14.12)
+ '@firebase/analytics-compat': 0.2.28(@firebase/app-compat@0.5.12)(@firebase/app@0.14.12)
+ '@firebase/app': 0.14.12
+ '@firebase/app-check': 0.11.3(@firebase/app@0.14.12)
+ '@firebase/app-check-compat': 0.4.3(@firebase/app-compat@0.5.12)(@firebase/app@0.14.12)
+ '@firebase/app-compat': 0.5.12
+ '@firebase/app-types': 0.9.5
+ '@firebase/auth': 1.13.1(@firebase/app@0.14.12)
+ '@firebase/auth-compat': 0.6.6(@firebase/app-compat@0.5.12)(@firebase/app-types@0.9.5)(@firebase/app@0.14.12)
+ '@firebase/data-connect': 0.7.0(@firebase/app@0.14.12)
+ '@firebase/database': 1.1.3
+ '@firebase/database-compat': 2.1.4
+ '@firebase/firestore': 4.14.1(@firebase/app@0.14.12)
+ '@firebase/firestore-compat': 0.4.9(@firebase/app-compat@0.5.12)(@firebase/app-types@0.9.5)(@firebase/app@0.14.12)
+ '@firebase/functions': 0.13.4(@firebase/app@0.14.12)
+ '@firebase/functions-compat': 0.4.4(@firebase/app-compat@0.5.12)(@firebase/app@0.14.12)
+ '@firebase/installations': 0.6.22(@firebase/app@0.14.12)
+ '@firebase/installations-compat': 0.2.22(@firebase/app-compat@0.5.12)(@firebase/app-types@0.9.5)(@firebase/app@0.14.12)
+ '@firebase/messaging': 0.12.26(@firebase/app@0.14.12)
+ '@firebase/messaging-compat': 0.2.26(@firebase/app-compat@0.5.12)(@firebase/app@0.14.12)
+ '@firebase/performance': 0.7.12(@firebase/app@0.14.12)
+ '@firebase/performance-compat': 0.2.25(@firebase/app-compat@0.5.12)(@firebase/app@0.14.12)
+ '@firebase/remote-config': 0.8.3(@firebase/app@0.14.12)
+ '@firebase/remote-config-compat': 0.2.24(@firebase/app-compat@0.5.12)(@firebase/app@0.14.12)
+ '@firebase/storage': 0.14.3(@firebase/app@0.14.12)
+ '@firebase/storage-compat': 0.4.3(@firebase/app-compat@0.5.12)(@firebase/app-types@0.9.5)(@firebase/app@0.14.12)
+ '@firebase/util': 1.15.1
transitivePeerDependencies:
- '@react-native-async-storage/async-storage'
@@ -13773,16 +13793,14 @@ snapshots:
flatted@3.4.2: {}
- folder-hash@4.1.2(supports-color@10.2.2):
+ folder-hash@4.1.3(supports-color@10.2.2):
dependencies:
debug: 4.4.0(supports-color@10.2.2)
minimatch: 7.4.9
transitivePeerDependencies:
- supports-color
- follow-redirects@1.16.0(debug@4.4.3):
- optionalDependencies:
- debug: 4.4.3(supports-color@10.2.2)
+ follow-redirects@1.16.0: {}
for-each@0.3.5:
dependencies:
@@ -13851,6 +13869,8 @@ snapshots:
functions-have-names@1.2.3: {}
+ fuse.js@7.3.0: {}
+
gaxios@7.1.4(supports-color@10.2.2):
dependencies:
extend: 3.0.2
@@ -13873,14 +13893,14 @@ snapshots:
get-caller-file@2.0.5: {}
- get-east-asian-width@1.5.0: {}
+ get-east-asian-width@1.6.0: {}
get-intrinsic@1.3.0:
dependencies:
call-bind-apply-helpers: 1.0.2
es-define-property: 1.0.1
es-errors: 1.3.0
- es-object-atoms: 1.1.1
+ es-object-atoms: 1.1.2
function-bind: 1.1.2
get-proto: 1.0.1
gopd: 1.2.0
@@ -13893,7 +13913,7 @@ snapshots:
get-proto@1.0.1:
dependencies:
dunder-proto: 1.0.1
- es-object-atoms: 1.1.1
+ es-object-atoms: 1.1.2
get-stream@5.2.0:
dependencies:
@@ -13907,18 +13927,6 @@ snapshots:
es-errors: 1.3.0
get-intrinsic: 1.3.0
- get-tsconfig@4.14.0:
- dependencies:
- resolve-pkg-maps: 1.0.0
-
- get-uri@6.0.5:
- dependencies:
- basic-ftp: 5.3.0
- data-uri-to-buffer: 6.0.2
- debug: 4.4.3(supports-color@10.2.2)
- transitivePeerDependencies:
- - supports-color
-
getpass@0.1.7:
dependencies:
assert-plus: 1.0.0
@@ -13963,13 +13971,22 @@ snapshots:
globals@14.0.0: {}
- globals@17.5.0: {}
+ globals@17.6.0: {}
globalthis@1.0.4:
dependencies:
define-properties: 1.2.1
gopd: 1.2.0
+ globby@11.1.0:
+ dependencies:
+ array-union: 2.1.0
+ dir-glob: 3.0.1
+ fast-glob: 3.3.3
+ ignore: 5.3.2
+ merge2: 1.4.1
+ slash: 3.0.0
+
google-auth-library@10.6.2(supports-color@10.2.2):
dependencies:
base64-js: 1.5.1
@@ -13983,15 +14000,15 @@ snapshots:
google-gax@5.0.6(supports-color@10.2.2):
dependencies:
- '@grpc/grpc-js': 1.14.3
- '@grpc/proto-loader': 0.8.0
+ '@grpc/grpc-js': 1.14.4
+ '@grpc/proto-loader': 0.8.1
duplexify: 4.1.3
google-auth-library: 10.6.2(supports-color@10.2.2)
google-logging-utils: 1.1.3
node-fetch: 3.3.2
object-hash: 3.0.0
proto3-json-serializer: 3.0.4
- protobufjs: 7.5.5
+ protobufjs: 7.6.1
retry-request: 8.0.2(supports-color@10.2.2)
rimraf: 5.0.10
transitivePeerDependencies:
@@ -14018,17 +14035,17 @@ snapshots:
graceful-fs@4.2.11: {}
- graphql-tag@2.12.6(graphql@16.13.2):
+ graphql-tag@2.12.6(graphql@16.14.0):
dependencies:
- graphql: 16.13.2
+ graphql: 16.14.0
tslib: 2.8.1
- graphql@16.13.2: {}
+ graphql@16.14.0: {}
- grpc-gcp@1.0.1(protobufjs@7.5.5):
+ grpc-gcp@1.0.1(protobufjs@7.6.1):
dependencies:
- '@grpc/grpc-js': 1.14.3
- protobufjs: 7.5.5
+ '@grpc/grpc-js': 1.14.4
+ protobufjs: 7.6.1
gunzip-maybe@1.4.2:
dependencies:
@@ -14072,11 +14089,15 @@ snapshots:
dependencies:
function-bind: 1.1.2
- hono@4.12.15: {}
+ hono@4.12.23: {}
+
+ hosted-git-info@10.1.1:
+ dependencies:
+ lru-cache: 11.5.0
- hosted-git-info@9.0.2:
+ hosted-git-info@9.0.3:
dependencies:
- lru-cache: 11.3.5
+ lru-cache: 11.5.0
hpack.js@2.1.6:
dependencies:
@@ -14087,7 +14108,7 @@ snapshots:
html-encoding-sniffer@6.0.0:
dependencies:
- '@exodus/bytes': 1.15.0
+ '@exodus/bytes': 1.15.1
transitivePeerDependencies:
- '@noble/hashes'
@@ -14114,14 +14135,6 @@ snapshots:
statuses: 1.5.0
toidentifier: 1.0.1
- http-errors@2.0.0:
- dependencies:
- depd: 2.0.0
- inherits: 2.0.4
- setprototypeof: 1.2.0
- statuses: 2.0.1
- toidentifier: 1.0.1
-
http-errors@2.0.1:
dependencies:
depd: 2.0.0
@@ -14142,7 +14155,7 @@ snapshots:
http-proxy-middleware@2.0.9(@types/express@4.17.25):
dependencies:
'@types/http-proxy': 1.17.17
- http-proxy: 1.18.1(debug@4.4.3)
+ http-proxy: 1.18.1
is-glob: 4.0.3
is-plain-obj: 3.0.0
micromatch: 4.0.8
@@ -14151,21 +14164,20 @@ snapshots:
transitivePeerDependencies:
- debug
- http-proxy-middleware@3.0.5:
+ http-proxy-middleware@4.0.0:
dependencies:
- '@types/http-proxy': 1.17.17
debug: 4.4.3(supports-color@10.2.2)
- http-proxy: 1.18.1(debug@4.4.3)
+ httpxy: 0.5.3
is-glob: 4.0.3
- is-plain-object: 5.0.0
+ is-plain-obj: 4.1.0
micromatch: 4.0.8
transitivePeerDependencies:
- supports-color
- http-proxy@1.18.1(debug@4.4.3):
+ http-proxy@1.18.1:
dependencies:
eventemitter3: 4.0.7
- follow-redirects: 1.16.0(debug@4.4.3)
+ follow-redirects: 1.16.0
requires-port: 1.0.0
transitivePeerDependencies:
- debug
@@ -14204,6 +14216,8 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ httpxy@0.5.3: {}
+
husky@9.1.7: {}
hyperdyperid@1.2.0: {}
@@ -14220,9 +14234,9 @@ snapshots:
dependencies:
safer-buffer: 2.1.2
- icss-utils@5.1.0(postcss@8.5.10):
+ icss-utils@5.1.0(postcss@8.5.15):
dependencies:
- postcss: 8.5.10
+ postcss: 8.5.15
idb@7.1.1: {}
@@ -14259,6 +14273,8 @@ snapshots:
ini@6.0.0: {}
+ ini@7.0.0: {}
+
injection-js@2.6.1:
dependencies:
tslib: 2.8.1
@@ -14269,11 +14285,11 @@ snapshots:
hasown: 2.0.3
side-channel: 1.1.0
- ip-address@10.1.0: {}
+ ip-address@10.2.0: {}
ipaddr.js@1.9.1: {}
- ipaddr.js@2.3.0: {}
+ ipaddr.js@2.4.0: {}
is-array-buffer@3.0.5:
dependencies:
@@ -14306,7 +14322,7 @@ snapshots:
is-callable@1.2.7: {}
- is-core-module@2.16.1:
+ is-core-module@2.16.2:
dependencies:
hasown: 2.0.3
@@ -14335,7 +14351,7 @@ snapshots:
is-fullwidth-code-point@5.1.0:
dependencies:
- get-east-asian-width: 1.5.0
+ get-east-asian-width: 1.6.0
is-generator-function@1.1.2:
dependencies:
@@ -14365,7 +14381,7 @@ snapshots:
is-negative-zero@2.0.3: {}
- is-network-error@1.3.1: {}
+ is-network-error@1.3.2: {}
is-node-process@1.2.0: {}
@@ -14382,12 +14398,12 @@ snapshots:
is-plain-obj@3.0.0: {}
+ is-plain-obj@4.1.0: {}
+
is-plain-object@2.0.4:
dependencies:
isobject: 3.0.1
- is-plain-object@5.0.0: {}
-
is-potential-custom-element-name@1.0.1: {}
is-promise@2.2.2: {}
@@ -14396,7 +14412,7 @@ snapshots:
is-reference@1.2.1:
dependencies:
- '@types/estree': 1.0.8
+ '@types/estree': 1.0.9
is-regex@1.2.1:
dependencies:
@@ -14473,8 +14489,8 @@ snapshots:
istanbul-lib-instrument@5.2.1:
dependencies:
- '@babel/core': 7.29.0
- '@babel/parser': 7.29.2
+ '@babel/core': 7.29.7
+ '@babel/parser': 7.29.7
'@istanbuljs/schema': 0.1.6
istanbul-lib-coverage: 3.2.2
semver: 6.3.1
@@ -14483,11 +14499,11 @@ snapshots:
istanbul-lib-instrument@6.0.3:
dependencies:
- '@babel/core': 7.29.0
- '@babel/parser': 7.29.2
+ '@babel/core': 7.29.7
+ '@babel/parser': 7.29.7
'@istanbuljs/schema': 0.1.6
istanbul-lib-coverage: 3.2.2
- semver: 7.7.4
+ semver: 7.8.1
transitivePeerDependencies:
- supports-color
@@ -14537,13 +14553,13 @@ snapshots:
jest-worker@27.5.1:
dependencies:
- '@types/node': 22.19.17
+ '@types/node': 22.19.19
merge-stream: 2.0.0
supports-color: 8.1.1
- jiti@2.6.1: {}
+ jiti@2.7.0: {}
- jose@6.2.2: {}
+ jose@6.2.3: {}
js-base64@3.7.8: {}
@@ -14557,24 +14573,24 @@ snapshots:
jsbn@0.1.1: {}
- jsdom@29.0.2:
+ jsdom@29.1.1:
dependencies:
'@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.3(css-tree@3.2.1)
- '@exodus/bytes': 1.15.0
+ '@csstools/css-syntax-patches-for-csstree': 1.1.4(css-tree@3.2.1)
+ '@exodus/bytes': 1.15.1
css-tree: 3.2.1
data-urls: 7.0.0
decimal.js: 10.6.0
html-encoding-sniffer: 6.0.0
is-potential-custom-element-name: 1.0.1
- lru-cache: 11.3.5
+ lru-cache: 11.5.0
parse5: 8.0.1
saxes: 6.0.0
symbol-tree: 3.2.4
tough-cookie: 6.0.1
- undici: 7.25.0
+ undici: 7.26.0
w3c-xmlserializer: 5.0.0
webidl-conversions: 8.0.1
whatwg-mimetype: 5.0.0
@@ -14638,7 +14654,7 @@ snapshots:
lodash.isstring: 4.0.1
lodash.once: 4.1.1
ms: 2.1.3
- semver: 7.7.4
+ semver: 7.8.1
jsprim@2.0.2:
dependencies:
@@ -14699,7 +14715,7 @@ snapshots:
dom-serialize: 2.2.1
glob: 7.2.3
graceful-fs: 4.2.11
- http-proxy: 1.18.1(debug@4.4.3)
+ http-proxy: 1.18.1
isbinaryfile: 4.0.10
lodash: 4.18.1
log4js: 6.9.1
@@ -14729,13 +14745,14 @@ snapshots:
launch-editor@2.13.2:
dependencies:
picocolors: 1.1.1
- shell-quote: 1.8.3
+ shell-quote: 1.8.4
- less-loader@12.3.2(less@4.6.4)(webpack@5.106.2(esbuild@0.28.0)):
+ less-loader@13.0.0(less@4.6.4)(webpack@5.107.2(esbuild@0.28.0)(postcss@8.5.15)):
dependencies:
+ '@types/less': 3.0.8
less: 4.6.4
optionalDependencies:
- webpack: 5.106.2(esbuild@0.28.0)
+ webpack: 5.107.2(esbuild@0.28.0)(postcss@8.5.15)
less@4.6.4:
dependencies:
@@ -14755,11 +14772,13 @@ snapshots:
prelude-ls: 1.2.1
type-check: 0.4.0
- license-webpack-plugin@4.0.2(webpack@5.106.2(esbuild@0.28.0)):
+ license-webpack-plugin@4.0.2(webpack@5.107.2(esbuild@0.28.0)(postcss@8.5.15)):
dependencies:
- webpack-sources: 3.4.0
+ webpack-sources: 3.5.0
optionalDependencies:
- webpack: 5.106.2(esbuild@0.28.0)
+ webpack: 5.107.2(esbuild@0.28.0)(postcss@8.5.15)
+
+ lilconfig@3.1.3: {}
limiter@1.1.5: {}
@@ -14776,7 +14795,7 @@ snapshots:
lmdb@3.5.4:
dependencies:
'@harperfast/extended-iterable': 1.0.3
- msgpackr: 1.11.10
+ msgpackr: 1.11.12
node-addon-api: 6.1.0
node-gyp-build-optional-packages: 5.2.2
ordered-binary: 1.6.1
@@ -14831,8 +14850,6 @@ snapshots:
lodash.snakecase@4.1.1: {}
- lodash@4.17.21: {}
-
lodash@4.18.1: {}
log-symbols@7.0.1:
@@ -14872,7 +14889,7 @@ snapshots:
lru-cache@10.4.3: {}
- lru-cache@11.3.5: {}
+ lru-cache@11.5.0: {}
lru-cache@5.1.1:
dependencies:
@@ -14884,10 +14901,10 @@ snapshots:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
- magicast@0.5.2:
+ magicast@0.5.3:
dependencies:
- '@babel/parser': 7.29.2
- '@babel/types': 7.29.0
+ '@babel/parser': 7.29.7
+ '@babel/types': 7.29.7
source-map-js: 1.2.1
make-dir@2.1.0:
@@ -14898,7 +14915,7 @@ snapshots:
make-dir@4.0.0:
dependencies:
- semver: 7.7.4
+ semver: 7.8.1
make-fetch-happen@15.0.5:
dependencies:
@@ -14983,33 +15000,29 @@ snapshots:
mimic-response@3.1.0: {}
- mini-css-extract-plugin@2.10.2(webpack@5.106.2(esbuild@0.28.0)):
+ mini-css-extract-plugin@2.10.2(webpack@5.107.2(esbuild@0.28.0)(postcss@8.5.15)):
dependencies:
schema-utils: 4.3.3
tapable: 2.3.3
- webpack: 5.106.2(esbuild@0.28.0)
+ webpack: 5.107.2(esbuild@0.28.0)(postcss@8.5.15)
minimalistic-assert@1.0.1: {}
minimatch@10.2.5:
dependencies:
- brace-expansion: 5.0.5
+ brace-expansion: 5.0.6
minimatch@3.1.5:
dependencies:
- brace-expansion: 1.1.14
-
- minimatch@7.4.6:
- dependencies:
- brace-expansion: 2.1.0
+ brace-expansion: 1.1.15
minimatch@7.4.9:
dependencies:
- brace-expansion: 2.1.0
+ brace-expansion: 2.1.1
minimatch@9.0.9:
dependencies:
- brace-expansion: 2.1.0
+ brace-expansion: 2.1.1
minimist@1.2.8: {}
@@ -15057,27 +15070,29 @@ snapshots:
mkdirp@1.0.4: {}
+ modern-tar@0.7.6: {}
+
mrmime@2.0.1: {}
ms@2.0.0: {}
ms@2.1.3: {}
- msgpackr-extract@3.0.3:
+ msgpackr-extract@3.0.4:
dependencies:
node-gyp-build-optional-packages: 5.2.2
optionalDependencies:
- '@msgpackr-extract/msgpackr-extract-darwin-arm64': 3.0.3
- '@msgpackr-extract/msgpackr-extract-darwin-x64': 3.0.3
- '@msgpackr-extract/msgpackr-extract-linux-arm': 3.0.3
- '@msgpackr-extract/msgpackr-extract-linux-arm64': 3.0.3
- '@msgpackr-extract/msgpackr-extract-linux-x64': 3.0.3
- '@msgpackr-extract/msgpackr-extract-win32-x64': 3.0.3
+ '@msgpackr-extract/msgpackr-extract-darwin-arm64': 3.0.4
+ '@msgpackr-extract/msgpackr-extract-darwin-x64': 3.0.4
+ '@msgpackr-extract/msgpackr-extract-linux-arm': 3.0.4
+ '@msgpackr-extract/msgpackr-extract-linux-arm64': 3.0.4
+ '@msgpackr-extract/msgpackr-extract-linux-x64': 3.0.4
+ '@msgpackr-extract/msgpackr-extract-win32-x64': 3.0.4
optional: true
- msgpackr@1.11.10:
+ msgpackr@1.11.12:
optionalDependencies:
- msgpackr-extract: 3.0.3
+ msgpackr-extract: 3.0.4
optional: true
multicast-dns@7.2.5:
@@ -15091,9 +15106,9 @@ snapshots:
array-union: 3.0.1
minimatch: 10.2.5
- mute-stream@3.0.0: {}
+ mute-stream@4.0.0: {}
- nanoid@3.3.11: {}
+ nanoid@3.3.12: {}
natural-compare@1.4.0: {}
@@ -15111,15 +15126,13 @@ snapshots:
neo-async@2.6.2: {}
- netmask@2.1.1: {}
-
- ng-packagr@22.0.0-next.3(@angular/compiler-cli@22.0.0-next.10(@angular/compiler@22.0.0-next.10)(typescript@6.0.2))(tslib@2.8.1)(typescript@6.0.2):
+ ng-packagr@22.0.0-rc.0(@angular/compiler-cli@22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(typescript@6.0.3))(tslib@2.8.1)(typescript@6.0.3):
dependencies:
'@ampproject/remapping': 2.3.0
- '@angular/compiler-cli': 22.0.0-next.10(@angular/compiler@22.0.0-next.10)(typescript@6.0.2)
- '@rollup/plugin-json': 6.1.0(rollup@4.60.2)
- '@rollup/wasm-node': 4.60.2
- ajv: 8.18.0
+ '@angular/compiler-cli': 22.0.0-rc.2(@angular/compiler@22.0.0-rc.2)(typescript@6.0.3)
+ '@rollup/plugin-json': 6.1.0(rollup@4.60.4)
+ '@rollup/wasm-node': 4.60.4
+ ajv: 8.20.0
browserslist: 4.28.2
chokidar: 5.0.0
commander: 14.0.3
@@ -15129,21 +15142,21 @@ snapshots:
injection-js: 2.6.1
jsonc-parser: 3.3.1
less: 4.6.4
- ora: 9.3.0
+ ora: 9.4.0
piscina: 5.1.4
- postcss: 8.5.10
- rollup-plugin-dts: 6.4.1(rollup@4.60.2)(typescript@6.0.2)
+ postcss: 8.5.15
+ rollup-plugin-dts: 6.4.1(rollup@4.60.4)(typescript@6.0.3)
rxjs: 7.8.2
- sass: 1.99.0
+ sass: 1.100.0
tinyglobby: 0.2.16
tslib: 2.8.1
- typescript: 6.0.2
+ typescript: 6.0.3
optionalDependencies:
- rollup: 4.60.2
+ rollup: 4.60.4
- nock@14.0.13:
+ nock@14.0.15:
dependencies:
- '@mswjs/interceptors': 0.41.6
+ '@mswjs/interceptors': 0.41.9
json-stringify-safe: 5.0.1
propagate: 2.0.1
@@ -15196,13 +15209,13 @@ snapshots:
graceful-fs: 4.2.11
nopt: 9.0.0
proc-log: 6.1.0
- semver: 7.7.4
- tar: 7.5.13
+ semver: 7.8.1
+ tar: 7.5.15
tinyglobby: 0.2.16
- undici: 6.25.0
+ undici: 6.26.0
which: 6.0.1
- node-releases@2.0.38: {}
+ node-releases@2.0.46: {}
nopt@9.0.0:
dependencies:
@@ -15218,17 +15231,24 @@ snapshots:
npm-install-checks@8.0.0:
dependencies:
- semver: 7.7.4
+ semver: 7.8.1
npm-normalize-package-bin@5.0.0: {}
npm-package-arg@13.0.2:
dependencies:
- hosted-git-info: 9.0.2
+ hosted-git-info: 9.0.3
proc-log: 6.1.0
- semver: 7.7.4
+ semver: 7.8.1
validate-npm-package-name: 7.0.2
+ npm-package-arg@14.0.0:
+ dependencies:
+ hosted-git-info: 10.1.1
+ proc-log: 7.0.0
+ semver: 7.8.1
+ validate-npm-package-name: 8.0.0
+
npm-packlist@10.0.4:
dependencies:
ignore-walk: 8.0.0
@@ -15239,7 +15259,7 @@ snapshots:
npm-install-checks: 8.0.0
npm-normalize-package-bin: 5.0.0
npm-package-arg: 13.0.2
- semver: 7.7.4
+ semver: 7.8.1
npm-registry-fetch@19.1.1:
dependencies:
@@ -15271,7 +15291,7 @@ snapshots:
call-bind: 1.0.9
call-bound: 1.0.4
define-properties: 1.2.1
- es-object-atoms: 1.1.1
+ es-object-atoms: 1.1.2
has-symbols: 1.1.0
object-keys: 1.1.1
@@ -15280,14 +15300,14 @@ snapshots:
call-bind: 1.0.9
call-bound: 1.0.4
define-properties: 1.2.1
- es-object-atoms: 1.1.1
+ es-object-atoms: 1.1.2
object.fromentries@2.0.8:
dependencies:
call-bind: 1.0.9
define-properties: 1.2.1
es-abstract: 1.24.2
- es-object-atoms: 1.1.1
+ es-object-atoms: 1.1.2
object.groupby@1.0.3:
dependencies:
@@ -15300,7 +15320,7 @@ snapshots:
call-bind: 1.0.9
call-bound: 1.0.4
define-properties: 1.2.1
- es-object-atoms: 1.1.1
+ es-object-atoms: 1.1.2
obuf@1.1.2: {}
@@ -15355,7 +15375,7 @@ snapshots:
type-check: 0.4.0
word-wrap: 1.2.5
- ora@9.3.0:
+ ora@9.4.0:
dependencies:
chalk: 5.6.2
cli-cursor: 5.0.0
@@ -15364,7 +15384,7 @@ snapshots:
is-unicode-supported: 2.1.0
log-symbols: 7.0.1
stdin-discarder: 0.3.2
- string-width: 8.2.0
+ string-width: 8.2.1
ordered-binary@1.6.1:
optional: true
@@ -15404,31 +15424,13 @@ snapshots:
p-retry@6.2.1:
dependencies:
'@types/retry': 0.12.2
- is-network-error: 1.3.1
+ is-network-error: 1.3.2
retry: 0.13.1
p-timeout@3.2.0:
dependencies:
p-finally: 1.0.0
- pac-proxy-agent@7.2.0:
- dependencies:
- '@tootallnate/quickjs-emscripten': 0.23.0
- agent-base: 7.1.4
- debug: 4.4.3(supports-color@10.2.2)
- get-uri: 6.0.5
- http-proxy-agent: 7.0.2(supports-color@10.2.2)
- https-proxy-agent: 7.0.6(supports-color@10.2.2)
- pac-resolver: 7.0.1
- socks-proxy-agent: 8.0.5
- transitivePeerDependencies:
- - supports-color
-
- pac-resolver@7.0.1:
- dependencies:
- degenerator: 5.0.1
- netmask: 2.1.1
-
package-json-from-dist@1.0.1: {}
pacote@21.5.0:
@@ -15447,9 +15449,9 @@ snapshots:
npm-pick-manifest: 11.0.3
npm-registry-fetch: 19.1.1
proc-log: 6.1.0
- sigstore: 4.1.0
+ sigstore: 4.1.1
ssri: 13.0.1
- tar: 7.5.13
+ tar: 7.5.15
transitivePeerDependencies:
- supports-color
@@ -15463,7 +15465,7 @@ snapshots:
parse-json@5.2.0:
dependencies:
- '@babel/code-frame': 7.29.0
+ '@babel/code-frame': 7.29.7
error-ex: 1.3.4
json-parse-even-better-errors: 2.3.1
lines-and-columns: 1.2.4
@@ -15501,13 +15503,15 @@ snapshots:
path-scurry@2.0.2:
dependencies:
- lru-cache: 11.3.5
+ lru-cache: 11.5.0
minipass: 7.1.3
path-to-regexp@0.1.13: {}
path-to-regexp@8.4.2: {}
+ path-type@4.0.0: {}
+
pathe@1.1.2: {}
pathe@2.0.3: {}
@@ -15518,8 +15522,6 @@ snapshots:
duplexify: 3.7.1
through2: 2.0.5
- pend@1.2.0: {}
-
performance-now@2.1.0: {}
picocolors@1.1.1: {}
@@ -15586,43 +15588,43 @@ snapshots:
possible-typed-array-names@1.1.0: {}
- postcss-loader@8.2.1(postcss@8.5.10)(typescript@6.0.2)(webpack@5.106.2(esbuild@0.28.0)):
+ postcss-loader@8.2.1(postcss@8.5.15)(typescript@6.0.3)(webpack@5.107.2(esbuild@0.28.0)(postcss@8.5.15)):
dependencies:
- cosmiconfig: 9.0.1(typescript@6.0.2)
- jiti: 2.6.1
- postcss: 8.5.10
- semver: 7.7.4
+ cosmiconfig: 9.0.1(typescript@6.0.3)
+ jiti: 2.7.0
+ postcss: 8.5.15
+ semver: 7.8.1
optionalDependencies:
- webpack: 5.106.2(esbuild@0.28.0)
+ webpack: 5.107.2(esbuild@0.28.0)(postcss@8.5.15)
transitivePeerDependencies:
- typescript
postcss-media-query-parser@0.2.3: {}
- postcss-modules-extract-imports@3.1.0(postcss@8.5.10):
+ postcss-modules-extract-imports@3.1.0(postcss@8.5.15):
dependencies:
- postcss: 8.5.10
+ postcss: 8.5.15
- postcss-modules-local-by-default@4.2.0(postcss@8.5.10):
+ postcss-modules-local-by-default@4.2.0(postcss@8.5.15):
dependencies:
- icss-utils: 5.1.0(postcss@8.5.10)
- postcss: 8.5.10
+ icss-utils: 5.1.0(postcss@8.5.15)
+ postcss: 8.5.15
postcss-selector-parser: 7.1.1
postcss-value-parser: 4.2.0
- postcss-modules-scope@3.2.1(postcss@8.5.10):
+ postcss-modules-scope@3.2.1(postcss@8.5.15):
dependencies:
- postcss: 8.5.10
+ postcss: 8.5.15
postcss-selector-parser: 7.1.1
- postcss-modules-values@4.0.0(postcss@8.5.10):
+ postcss-modules-values@4.0.0(postcss@8.5.15):
dependencies:
- icss-utils: 5.1.0(postcss@8.5.10)
- postcss: 8.5.10
+ icss-utils: 5.1.0(postcss@8.5.15)
+ postcss: 8.5.15
- postcss-safe-parser@7.0.1(postcss@8.5.10):
+ postcss-safe-parser@7.0.1(postcss@8.5.15):
dependencies:
- postcss: 8.5.10
+ postcss: 8.5.15
postcss-selector-parser@7.1.1:
dependencies:
@@ -15631,9 +15633,9 @@ snapshots:
postcss-value-parser@4.2.0: {}
- postcss@8.5.10:
+ postcss@8.5.15:
dependencies:
- nanoid: 3.3.11
+ nanoid: 3.3.12
picocolors: 1.1.1
source-map-js: 1.2.1
@@ -15645,6 +15647,8 @@ snapshots:
proc-log@6.1.0: {}
+ proc-log@7.0.0: {}
+
process-nextick-args@2.0.1: {}
process-warning@1.0.0: {}
@@ -15653,27 +15657,25 @@ snapshots:
process@0.11.10: {}
- progress@2.0.3: {}
-
propagate@2.0.1: {}
proto3-json-serializer@3.0.4:
dependencies:
- protobufjs: 7.5.5
+ protobufjs: 7.6.1
- protobufjs@7.5.5:
+ protobufjs@7.6.1:
dependencies:
'@protobufjs/aspromise': 1.1.2
'@protobufjs/base64': 1.1.2
- '@protobufjs/codegen': 2.0.4
- '@protobufjs/eventemitter': 1.1.0
- '@protobufjs/fetch': 1.1.0
+ '@protobufjs/codegen': 2.0.5
+ '@protobufjs/eventemitter': 1.1.1
+ '@protobufjs/fetch': 1.1.1
'@protobufjs/float': 1.0.2
- '@protobufjs/inquire': 1.1.0
+ '@protobufjs/inquire': 1.1.2
'@protobufjs/path': 1.1.2
'@protobufjs/pool': 1.1.0
- '@protobufjs/utf8': 1.1.0
- '@types/node': 22.19.17
+ '@protobufjs/utf8': 1.1.1
+ '@types/node': 22.19.19
long: 5.3.2
proxy-addr@2.0.7:
@@ -15681,21 +15683,6 @@ snapshots:
forwarded: 0.2.0
ipaddr.js: 1.9.1
- proxy-agent@6.5.0:
- dependencies:
- agent-base: 7.1.4
- debug: 4.4.3(supports-color@10.2.2)
- http-proxy-agent: 7.0.2(supports-color@10.2.2)
- https-proxy-agent: 7.0.6(supports-color@10.2.2)
- lru-cache: 7.18.3
- pac-proxy-agent: 7.2.0
- proxy-from-env: 1.1.0
- socks-proxy-agent: 8.0.5
- transitivePeerDependencies:
- - supports-color
-
- proxy-from-env@1.1.0: {}
-
prr@1.0.1:
optional: true
@@ -15719,38 +15706,30 @@ snapshots:
punycode@2.3.1: {}
- puppeteer-core@24.41.0(bufferutil@4.1.0)(utf-8-validate@6.0.6):
+ puppeteer-core@25.1.0(bufferutil@4.1.0)(utf-8-validate@6.0.6):
dependencies:
- '@puppeteer/browsers': 2.13.0
- chromium-bidi: 14.0.0(devtools-protocol@0.0.1595872)
- debug: 4.4.3(supports-color@10.2.2)
- devtools-protocol: 0.0.1595872
+ '@puppeteer/browsers': 3.0.4
+ chromium-bidi: 16.0.1(devtools-protocol@0.0.1624250)
+ devtools-protocol: 0.0.1624250
typed-query-selector: 2.12.2
- webdriver-bidi-protocol: 0.4.1
- ws: 8.20.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ webdriver-bidi-protocol: 0.4.2
+ ws: 8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)
transitivePeerDependencies:
- - bare-abort-controller
- - bare-buffer
- bufferutil
- - react-native-b4a
- - supports-color
+ - proxy-agent
- utf-8-validate
- puppeteer@24.41.0(bufferutil@4.1.0)(typescript@6.0.2)(utf-8-validate@6.0.6):
+ puppeteer@25.1.0(bufferutil@4.1.0)(utf-8-validate@6.0.6):
dependencies:
- '@puppeteer/browsers': 2.13.0
- chromium-bidi: 14.0.0(devtools-protocol@0.0.1595872)
- cosmiconfig: 9.0.1(typescript@6.0.2)
- devtools-protocol: 0.0.1595872
- puppeteer-core: 24.41.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ '@puppeteer/browsers': 3.0.4
+ chromium-bidi: 16.0.1(devtools-protocol@0.0.1624250)
+ devtools-protocol: 0.0.1624250
+ lilconfig: 3.1.3
+ puppeteer-core: 25.1.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)
typed-query-selector: 2.12.2
transitivePeerDependencies:
- - bare-abort-controller
- - bare-buffer
- bufferutil
- - react-native-b4a
- - supports-color
- - typescript
+ - proxy-agent
- utf-8-validate
pvtsutils@1.3.6:
@@ -15765,7 +15744,7 @@ snapshots:
dependencies:
side-channel: 1.1.0
- qs@6.15.1:
+ qs@6.15.2:
dependencies:
side-channel: 1.1.0
@@ -15790,7 +15769,7 @@ snapshots:
unicode-properties: 1.4.1
urijs: 1.19.11
wordwrap: 1.0.0
- yaml: 2.8.3
+ yaml: 2.9.0
transitivePeerDependencies:
- encoding
@@ -15846,8 +15825,6 @@ snapshots:
dependencies:
picomatch: 2.3.2
- readdirp@4.1.2: {}
-
readdirp@5.0.0: {}
real-require@0.2.0: {}
@@ -15860,7 +15837,7 @@ snapshots:
define-properties: 1.2.1
es-abstract: 1.24.2
es-errors: 1.3.0
- es-object-atoms: 1.1.1
+ es-object-atoms: 1.1.2
get-intrinsic: 1.3.0
get-proto: 1.0.1
which-builtin-type: 1.2.1
@@ -15907,27 +15884,25 @@ snapshots:
resolve-from@4.0.0: {}
- resolve-pkg-maps@1.0.0: {}
-
resolve-url-loader@5.0.0:
dependencies:
adjust-sourcemap-loader: 4.0.0
convert-source-map: 1.9.0
loader-utils: 2.0.4
- postcss: 8.5.10
+ postcss: 8.5.15
source-map: 0.6.1
resolve@1.22.12:
dependencies:
es-errors: 1.3.0
- is-core-module: 2.16.1
+ is-core-module: 2.16.2
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
- resolve@2.0.0-next.6:
+ resolve@2.0.0-next.7:
dependencies:
es-errors: 1.3.0
- is-core-module: 2.16.1
+ is-core-module: 2.16.2
node-exports-info: 1.6.0
object-keys: 1.1.1
path-parse: 1.0.7
@@ -15970,81 +15945,81 @@ snapshots:
dependencies:
glob: 10.5.0
- rolldown@1.0.0-rc.16:
+ rolldown@1.0.2:
dependencies:
- '@oxc-project/types': 0.126.0
- '@rolldown/pluginutils': 1.0.0-rc.16
+ '@oxc-project/types': 0.132.0
+ '@rolldown/pluginutils': 1.0.1
optionalDependencies:
- '@rolldown/binding-android-arm64': 1.0.0-rc.16
- '@rolldown/binding-darwin-arm64': 1.0.0-rc.16
- '@rolldown/binding-darwin-x64': 1.0.0-rc.16
- '@rolldown/binding-freebsd-x64': 1.0.0-rc.16
- '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.16
- '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.16
- '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.16
- '@rolldown/binding-linux-ppc64-gnu': 1.0.0-rc.16
- '@rolldown/binding-linux-s390x-gnu': 1.0.0-rc.16
- '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.16
- '@rolldown/binding-linux-x64-musl': 1.0.0-rc.16
- '@rolldown/binding-openharmony-arm64': 1.0.0-rc.16
- '@rolldown/binding-wasm32-wasi': 1.0.0-rc.16
- '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.16
- '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.16
+ '@rolldown/binding-android-arm64': 1.0.2
+ '@rolldown/binding-darwin-arm64': 1.0.2
+ '@rolldown/binding-darwin-x64': 1.0.2
+ '@rolldown/binding-freebsd-x64': 1.0.2
+ '@rolldown/binding-linux-arm-gnueabihf': 1.0.2
+ '@rolldown/binding-linux-arm64-gnu': 1.0.2
+ '@rolldown/binding-linux-arm64-musl': 1.0.2
+ '@rolldown/binding-linux-ppc64-gnu': 1.0.2
+ '@rolldown/binding-linux-s390x-gnu': 1.0.2
+ '@rolldown/binding-linux-x64-gnu': 1.0.2
+ '@rolldown/binding-linux-x64-musl': 1.0.2
+ '@rolldown/binding-openharmony-arm64': 1.0.2
+ '@rolldown/binding-wasm32-wasi': 1.0.2
+ '@rolldown/binding-win32-arm64-msvc': 1.0.2
+ '@rolldown/binding-win32-x64-msvc': 1.0.2
rollup-license-plugin@3.2.1:
dependencies:
get-npm-tarball-url: 2.1.0
node-fetch: 3.3.2
- semver: 7.7.4
+ semver: 7.8.1
spdx-expression-validate: 2.0.0
- rollup-plugin-dts@6.4.1(rollup@4.60.2)(typescript@6.0.2):
+ rollup-plugin-dts@6.4.1(rollup@4.60.4)(typescript@6.0.3):
dependencies:
'@jridgewell/remapping': 2.3.5
'@jridgewell/sourcemap-codec': 1.5.5
convert-source-map: 2.0.0
magic-string: 0.30.21
- rollup: 4.60.2
- typescript: 6.0.2
+ rollup: 4.60.4
+ typescript: 6.0.3
optionalDependencies:
- '@babel/code-frame': 7.29.0
+ '@babel/code-frame': 7.29.7
- rollup-plugin-sourcemaps2@0.5.6(@types/node@22.19.17)(rollup@4.60.2):
+ rollup-plugin-sourcemaps2@0.5.7(@types/node@22.19.19)(rollup@4.60.4):
dependencies:
- '@rollup/pluginutils': 5.3.0(rollup@4.60.2)
- rollup: 4.60.2
+ '@rollup/pluginutils': 5.3.0(rollup@4.60.4)
+ rollup: 4.60.4
optionalDependencies:
- '@types/node': 22.19.17
+ '@types/node': 22.19.19
- rollup@4.60.2:
+ rollup@4.60.4:
dependencies:
'@types/estree': 1.0.8
optionalDependencies:
- '@rollup/rollup-android-arm-eabi': 4.60.2
- '@rollup/rollup-android-arm64': 4.60.2
- '@rollup/rollup-darwin-arm64': 4.60.2
- '@rollup/rollup-darwin-x64': 4.60.2
- '@rollup/rollup-freebsd-arm64': 4.60.2
- '@rollup/rollup-freebsd-x64': 4.60.2
- '@rollup/rollup-linux-arm-gnueabihf': 4.60.2
- '@rollup/rollup-linux-arm-musleabihf': 4.60.2
- '@rollup/rollup-linux-arm64-gnu': 4.60.2
- '@rollup/rollup-linux-arm64-musl': 4.60.2
- '@rollup/rollup-linux-loong64-gnu': 4.60.2
- '@rollup/rollup-linux-loong64-musl': 4.60.2
- '@rollup/rollup-linux-ppc64-gnu': 4.60.2
- '@rollup/rollup-linux-ppc64-musl': 4.60.2
- '@rollup/rollup-linux-riscv64-gnu': 4.60.2
- '@rollup/rollup-linux-riscv64-musl': 4.60.2
- '@rollup/rollup-linux-s390x-gnu': 4.60.2
- '@rollup/rollup-linux-x64-gnu': 4.60.2
- '@rollup/rollup-linux-x64-musl': 4.60.2
- '@rollup/rollup-openbsd-x64': 4.60.2
- '@rollup/rollup-openharmony-arm64': 4.60.2
- '@rollup/rollup-win32-arm64-msvc': 4.60.2
- '@rollup/rollup-win32-ia32-msvc': 4.60.2
- '@rollup/rollup-win32-x64-gnu': 4.60.2
- '@rollup/rollup-win32-x64-msvc': 4.60.2
+ '@rollup/rollup-android-arm-eabi': 4.60.4
+ '@rollup/rollup-android-arm64': 4.60.4
+ '@rollup/rollup-darwin-arm64': 4.60.4
+ '@rollup/rollup-darwin-x64': 4.60.4
+ '@rollup/rollup-freebsd-arm64': 4.60.4
+ '@rollup/rollup-freebsd-x64': 4.60.4
+ '@rollup/rollup-linux-arm-gnueabihf': 4.60.4
+ '@rollup/rollup-linux-arm-musleabihf': 4.60.4
+ '@rollup/rollup-linux-arm64-gnu': 4.60.4
+ '@rollup/rollup-linux-arm64-musl': 4.60.4
+ '@rollup/rollup-linux-loong64-gnu': 4.60.4
+ '@rollup/rollup-linux-loong64-musl': 4.60.4
+ '@rollup/rollup-linux-ppc64-gnu': 4.60.4
+ '@rollup/rollup-linux-ppc64-musl': 4.60.4
+ '@rollup/rollup-linux-riscv64-gnu': 4.60.4
+ '@rollup/rollup-linux-riscv64-musl': 4.60.4
+ '@rollup/rollup-linux-s390x-gnu': 4.60.4
+ '@rollup/rollup-linux-x64-gnu': 4.60.4
+ '@rollup/rollup-linux-x64-musl': 4.60.4
+ '@rollup/rollup-openbsd-x64': 4.60.4
+ '@rollup/rollup-openharmony-arm64': 4.60.4
+ '@rollup/rollup-win32-arm64-msvc': 4.60.4
+ '@rollup/rollup-win32-ia32-msvc': 4.60.4
+ '@rollup/rollup-win32-x64-gnu': 4.60.4
+ '@rollup/rollup-win32-x64-msvc': 4.60.4
fsevents: 2.3.3
router@2.2.0:
@@ -16096,16 +16071,18 @@ snapshots:
safer-buffer@2.1.2: {}
- sass-loader@16.0.7(sass@1.99.0)(webpack@5.106.2(esbuild@0.28.0)):
+ sanitize-filename@1.6.4:
dependencies:
- neo-async: 2.6.2
+ truncate-utf8-bytes: 1.0.2
+
+ sass-loader@17.0.0(sass@1.100.0)(webpack@5.107.2(esbuild@0.28.0)(postcss@8.5.15)):
optionalDependencies:
- sass: 1.99.0
- webpack: 5.106.2(esbuild@0.28.0)
+ sass: 1.100.0
+ webpack: 5.107.2(esbuild@0.28.0)(postcss@8.5.15)
- sass@1.99.0:
+ sass@1.100.0:
dependencies:
- chokidar: 4.0.3
+ chokidar: 5.0.0
immutable: 5.1.5
source-map-js: 1.2.1
optionalDependencies:
@@ -16121,9 +16098,9 @@ snapshots:
schema-utils@4.3.3:
dependencies:
'@types/json-schema': 7.0.15
- ajv: 8.18.0
+ ajv: 8.20.0
ajv-formats: 2.1.1
- ajv-keywords: 5.1.0(ajv@8.18.0)
+ ajv-keywords: 5.1.0(ajv@8.20.0)
select-hose@2.0.0: {}
@@ -16137,10 +16114,12 @@ snapshots:
semver@6.3.1: {}
- semver@7.7.2: {}
-
semver@7.7.4: {}
+ semver@7.8.0: {}
+
+ semver@7.8.1: {}
+
send@0.19.2:
dependencies:
debug: 2.6.9
@@ -16229,7 +16208,7 @@ snapshots:
dependencies:
dunder-proto: 1.0.1
es-errors: 1.3.0
- es-object-atoms: 1.1.1
+ es-object-atoms: 1.1.2
setprototypeof@1.2.0: {}
@@ -16243,7 +16222,7 @@ snapshots:
shebang-regex@3.0.0: {}
- shell-quote@1.8.3: {}
+ shell-quote@1.8.4: {}
side-channel-list@1.0.1:
dependencies:
@@ -16279,17 +16258,19 @@ snapshots:
signal-exit@4.1.0: {}
- sigstore@4.1.0:
+ sigstore@4.1.1:
dependencies:
'@sigstore/bundle': 4.0.0
- '@sigstore/core': 3.2.0
+ '@sigstore/core': 3.2.1
'@sigstore/protobuf-specs': 0.5.1
'@sigstore/sign': 4.1.1
'@sigstore/tuf': 4.0.2
- '@sigstore/verify': 3.1.0
+ '@sigstore/verify': 3.1.1
transitivePeerDependencies:
- supports-color
+ slash@3.0.0: {}
+
slice-ansi@7.1.2:
dependencies:
ansi-styles: 6.2.3
@@ -16302,10 +16283,10 @@ snapshots:
smart-buffer@4.2.0: {}
- socket.io-adapter@2.5.6(bufferutil@4.1.0)(utf-8-validate@6.0.6):
+ socket.io-adapter@2.5.7(bufferutil@4.1.0)(utf-8-validate@6.0.6):
dependencies:
debug: 4.4.3(supports-color@10.2.2)
- ws: 8.18.3(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ ws: 8.20.1(bufferutil@4.1.0)(utf-8-validate@6.0.6)
transitivePeerDependencies:
- bufferutil
- supports-color
@@ -16315,7 +16296,7 @@ snapshots:
dependencies:
'@socket.io/component-emitter': 3.1.2
debug: 4.4.3(supports-color@10.2.2)
- engine.io-client: 6.6.4(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ engine.io-client: 6.6.5(bufferutil@4.1.0)(utf-8-validate@6.0.6)
socket.io-parser: 4.2.6
transitivePeerDependencies:
- bufferutil
@@ -16335,8 +16316,8 @@ snapshots:
base64id: 2.0.0
cors: 2.8.6
debug: 4.4.3(supports-color@10.2.2)
- engine.io: 6.6.6(bufferutil@4.1.0)(utf-8-validate@6.0.6)
- socket.io-adapter: 2.5.6(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ engine.io: 6.6.8(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ socket.io-adapter: 2.5.7(bufferutil@4.1.0)(utf-8-validate@6.0.6)
socket.io-parser: 4.2.6
transitivePeerDependencies:
- bufferutil
@@ -16353,13 +16334,13 @@ snapshots:
dependencies:
agent-base: 7.1.4
debug: 4.4.3(supports-color@10.2.2)
- socks: 2.8.7
+ socks: 2.8.9
transitivePeerDependencies:
- supports-color
- socks@2.8.7:
+ socks@2.8.9:
dependencies:
- ip-address: 10.1.0
+ ip-address: 10.2.0
smart-buffer: 4.2.0
sonic-boom@3.8.1:
@@ -16372,11 +16353,11 @@ snapshots:
source-map-js@1.2.1: {}
- source-map-loader@5.0.0(webpack@5.106.2(esbuild@0.28.0)):
+ source-map-loader@5.0.0(webpack@5.107.2(esbuild@0.28.0)(postcss@8.5.15)):
dependencies:
iconv-lite: 0.6.3
source-map-js: 1.2.1
- webpack: 5.106.2(esbuild@0.28.0)
+ webpack: 5.107.2(esbuild@0.28.0)(postcss@8.5.15)
source-map-support@0.5.21:
dependencies:
@@ -16465,8 +16446,6 @@ snapshots:
statuses@1.5.0: {}
- statuses@2.0.1: {}
-
statuses@2.0.2: {}
std-env@4.1.0: {}
@@ -16527,12 +16506,12 @@ snapshots:
string-width@7.2.0:
dependencies:
emoji-regex: 10.6.0
- get-east-asian-width: 1.5.0
+ get-east-asian-width: 1.6.0
strip-ansi: 7.2.0
- string-width@8.2.0:
+ string-width@8.2.1:
dependencies:
- get-east-asian-width: 1.5.0
+ get-east-asian-width: 1.6.0
strip-ansi: 7.2.0
string.prototype.trim@1.2.10:
@@ -16542,7 +16521,7 @@ snapshots:
define-data-property: 1.1.4
define-properties: 1.2.1
es-abstract: 1.24.2
- es-object-atoms: 1.1.1
+ es-object-atoms: 1.1.2
has-property-descriptors: 1.0.2
string.prototype.trimend@1.0.9:
@@ -16550,13 +16529,13 @@ snapshots:
call-bind: 1.0.9
call-bound: 1.0.4
define-properties: 1.2.1
- es-object-atoms: 1.1.1
+ es-object-atoms: 1.1.2
string.prototype.trimstart@1.0.8:
dependencies:
call-bind: 1.0.9
define-properties: 1.2.1
- es-object-atoms: 1.1.1
+ es-object-atoms: 1.1.2
string_decoder@1.1.1:
dependencies:
@@ -16596,30 +16575,18 @@ snapshots:
tapable@2.3.3: {}
- tar-fs@3.1.2:
- dependencies:
- pump: 3.0.4
- tar-stream: 3.1.8
- optionalDependencies:
- bare-fs: 4.7.1
- bare-path: 3.0.0
- transitivePeerDependencies:
- - bare-abort-controller
- - bare-buffer
- - react-native-b4a
-
tar-stream@3.1.7:
dependencies:
- b4a: 1.8.0
+ b4a: 1.8.1
fast-fifo: 1.3.2
streamx: 2.25.0
transitivePeerDependencies:
- bare-abort-controller
- react-native-b4a
- tar-stream@3.1.8:
+ tar-stream@3.2.0:
dependencies:
- b4a: 1.8.0
+ b4a: 1.8.1
bare-fs: 4.7.1
fast-fifo: 1.3.2
streamx: 2.25.0
@@ -16628,7 +16595,7 @@ snapshots:
- bare-buffer
- react-native-b4a
- tar@7.5.13:
+ tar@7.5.15:
dependencies:
'@isaacs/fs-minipass': 4.0.1
chownr: 3.0.0
@@ -16652,17 +16619,28 @@ snapshots:
- bare-abort-controller
- react-native-b4a
- terser-webpack-plugin@5.5.0(esbuild@0.28.0)(webpack@5.106.2(esbuild@0.28.0)):
+ terser-webpack-plugin@5.6.0(esbuild@0.28.0)(postcss@8.5.15)(webpack@5.107.2(esbuild@0.28.0)(postcss@8.5.15)):
dependencies:
'@jridgewell/trace-mapping': 0.3.31
jest-worker: 27.5.1
schema-utils: 4.3.3
- terser: 5.46.1
- webpack: 5.106.2(esbuild@0.28.0)
+ terser: 5.48.0
+ webpack: 5.107.2(esbuild@0.28.0)(postcss@8.5.15)
optionalDependencies:
esbuild: 0.28.0
+ postcss: 8.5.15
- terser@5.46.1:
+ terser-webpack-plugin@5.6.0(esbuild@0.28.0)(webpack@5.107.2(esbuild@0.28.0)):
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.31
+ jest-worker: 27.5.1
+ schema-utils: 4.3.3
+ terser: 5.48.0
+ webpack: 5.107.2(esbuild@0.28.0)
+ optionalDependencies:
+ esbuild: 0.28.0
+
+ terser@5.48.0:
dependencies:
'@jridgewell/source-map': 0.3.11
acorn: 8.16.0
@@ -16671,7 +16649,7 @@ snapshots:
text-decoder@1.2.7:
dependencies:
- b4a: 1.8.0
+ b4a: 1.8.1
transitivePeerDependencies:
- react-native-b4a
@@ -16700,7 +16678,7 @@ snapshots:
tinybench@2.9.0: {}
- tinyexec@1.1.1: {}
+ tinyexec@1.2.2: {}
tinyglobby@0.2.16:
dependencies:
@@ -16711,15 +16689,15 @@ snapshots:
tldts-core@6.1.86: {}
- tldts-core@7.0.28: {}
+ tldts-core@7.4.0: {}
tldts@6.1.86:
dependencies:
tldts-core: 6.1.86
- tldts@7.0.28:
+ tldts@7.4.0:
dependencies:
- tldts-core: 7.0.28
+ tldts-core: 7.4.0
tmp@0.2.5: {}
@@ -16727,7 +16705,7 @@ snapshots:
dependencies:
is-number: 7.0.0
- toad-cache@3.7.0: {}
+ toad-cache@3.7.1: {}
toidentifier@1.0.1: {}
@@ -16737,7 +16715,7 @@ snapshots:
tough-cookie@6.0.1:
dependencies:
- tldts: 7.0.28
+ tldts: 7.4.0
tr46@0.0.3: {}
@@ -16749,9 +16727,13 @@ snapshots:
dependencies:
tslib: 2.8.1
- ts-api-utils@2.5.0(typescript@6.0.2):
+ truncate-utf8-bytes@1.0.2:
+ dependencies:
+ utf8-byte-length: 1.0.5
+
+ ts-api-utils@2.5.0(typescript@6.0.3):
dependencies:
- typescript: 6.0.2
+ typescript: 6.0.3
tsconfig-paths@3.15.0:
dependencies:
@@ -16764,10 +16746,9 @@ snapshots:
tslib@2.8.1: {}
- tsx@4.21.0:
+ tsx@4.22.3:
dependencies:
- esbuild: 0.27.7
- get-tsconfig: 4.14.0
+ esbuild: 0.28.0
optionalDependencies:
fsevents: 2.3.3
@@ -16802,9 +16783,9 @@ snapshots:
media-typer: 0.3.0
mime-types: 2.1.35
- type-is@2.0.1:
+ type-is@2.1.0:
dependencies:
- content-type: 1.0.5
+ content-type: 2.0.0
media-typer: 1.1.0
mime-types: 3.0.2
@@ -16847,8 +16828,6 @@ snapshots:
typed-query-selector@2.12.2: {}
- typescript@6.0.2: {}
-
typescript@6.0.3: {}
ua-parser-js@0.7.41: {}
@@ -16869,11 +16848,11 @@ snapshots:
undici-types@7.16.0: {}
- undici@6.25.0: {}
+ undici@6.26.0: {}
- undici@7.25.0: {}
+ undici@7.26.0: {}
- undici@8.1.0: {}
+ undici@8.3.0: {}
unenv@1.10.0:
dependencies:
@@ -16930,6 +16909,8 @@ snapshots:
dependencies:
node-gyp-build: 4.8.4
+ utf8-byte-length@1.0.5: {}
+
util-deprecate@1.0.2: {}
utils-merge@1.0.1: {}
@@ -16938,14 +16919,16 @@ snapshots:
validate-npm-package-name@7.0.2: {}
+ validate-npm-package-name@8.0.0: {}
+
validator@13.15.26: {}
vary@1.1.2: {}
- verdaccio-audit@13.0.0-next-8.37(encoding@0.1.13):
+ verdaccio-audit@13.0.2(encoding@0.1.13):
dependencies:
- '@verdaccio/config': 8.0.0-next-8.37
- '@verdaccio/core': 8.0.0-next-8.37
+ '@verdaccio/config': 8.1.1
+ '@verdaccio/core': 8.1.1
express: 4.22.1
https-proxy-agent: 5.0.1
node-fetch: 2.6.7(encoding@0.1.13)
@@ -16953,17 +16936,17 @@ snapshots:
- encoding
- supports-color
- verdaccio-auth-memory@13.0.0:
+ verdaccio-auth-memory@13.0.2:
dependencies:
- '@verdaccio/core': 8.0.0
+ '@verdaccio/core': 8.1.1
debug: 4.4.3(supports-color@10.2.2)
transitivePeerDependencies:
- supports-color
- verdaccio-htpasswd@13.0.0-next-8.37:
+ verdaccio-htpasswd@13.0.2:
dependencies:
- '@verdaccio/core': 8.0.0-next-8.37
- '@verdaccio/file-locking': 13.0.0-next-8.7
+ '@verdaccio/core': 8.1.1
+ '@verdaccio/file-locking': 13.0.1
apache-md5: 1.1.8
bcryptjs: 2.4.3
debug: 4.4.3(supports-color@10.2.2)
@@ -16972,25 +16955,25 @@ snapshots:
transitivePeerDependencies:
- supports-color
- verdaccio@6.5.2(encoding@0.1.13):
+ verdaccio@6.7.2(encoding@0.1.13):
dependencies:
'@cypress/request': 3.0.10
- '@verdaccio/auth': 8.0.0-next-8.37
- '@verdaccio/config': 8.0.0-next-8.37
- '@verdaccio/core': 8.0.0-next-8.37
- '@verdaccio/hooks': 8.0.0-next-8.37
- '@verdaccio/loaders': 8.0.0-next-8.27
- '@verdaccio/local-storage-legacy': 11.1.1
- '@verdaccio/logger': 8.0.0-next-8.37
- '@verdaccio/middleware': 8.0.0-next-8.37
- '@verdaccio/package-filter': 13.0.0-next-8.5
- '@verdaccio/search-indexer': 8.0.0-next-8.6
- '@verdaccio/signature': 8.0.0-next-8.29
- '@verdaccio/streams': 10.2.1
- '@verdaccio/tarball': 13.0.0-next-8.37
+ '@verdaccio/auth': 8.0.2
+ '@verdaccio/config': 8.1.1
+ '@verdaccio/core': 8.1.1
+ '@verdaccio/hooks': 8.0.2
+ '@verdaccio/loaders': 8.0.2
+ '@verdaccio/local-storage-legacy': 11.3.3
+ '@verdaccio/logger': 8.0.2
+ '@verdaccio/middleware': 8.0.2
+ '@verdaccio/package-filter': 13.0.2
+ '@verdaccio/search-indexer': 8.0.2
+ '@verdaccio/signature': 8.0.2
+ '@verdaccio/streams': 10.2.5
+ '@verdaccio/tarball': 13.0.2
'@verdaccio/ui-theme': 9.0.0-next-9.14
- '@verdaccio/url': 13.0.0-next-8.37
- '@verdaccio/utils': 8.1.0-next-8.37
+ '@verdaccio/url': 13.0.2
+ '@verdaccio/utils': 8.1.2
JSONStream: 1.3.5
async: 3.2.6
clipanion: 4.0.0-rc.4
@@ -17002,9 +16985,9 @@ snapshots:
lodash: 4.18.1
lru-cache: 7.18.3
mime: 3.0.0
- semver: 7.7.4
- verdaccio-audit: 13.0.0-next-8.37(encoding@0.1.13)
- verdaccio-htpasswd: 13.0.0-next-8.37
+ semver: 7.8.0
+ verdaccio-audit: 13.0.2(encoding@0.1.13)
+ verdaccio-htpasswd: 13.0.2
transitivePeerDependencies:
- bare-abort-controller
- encoding
@@ -17017,33 +17000,33 @@ snapshots:
core-util-is: 1.0.2
extsprintf: 1.3.0
- vite@7.3.2(@types/node@24.12.2)(jiti@2.6.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3):
+ vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(less@4.6.4)(sass@1.100.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0):
dependencies:
esbuild: 0.27.7
fdir: 6.5.0(picomatch@4.0.4)
picomatch: 4.0.4
- postcss: 8.5.10
- rollup: 4.60.2
+ postcss: 8.5.15
+ rollup: 4.60.4
tinyglobby: 0.2.16
optionalDependencies:
- '@types/node': 24.12.2
+ '@types/node': 24.12.4
fsevents: 2.3.3
- jiti: 2.6.1
+ jiti: 2.7.0
less: 4.6.4
- sass: 1.99.0
- terser: 5.46.1
- tsx: 4.21.0
- yaml: 2.8.3
-
- vitest@4.1.4(@opentelemetry/api@1.9.1)(@types/node@24.12.2)(@vitest/coverage-v8@4.1.4)(jiti@2.6.1)(jsdom@29.0.2)(less@4.6.4)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3):
- dependencies:
- '@vitest/expect': 4.1.4
- '@vitest/mocker': 4.1.4(vite@7.3.2(@types/node@24.12.2)(jiti@2.6.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))
- '@vitest/pretty-format': 4.1.4
- '@vitest/runner': 4.1.4
- '@vitest/snapshot': 4.1.4
- '@vitest/spy': 4.1.4
- '@vitest/utils': 4.1.4
+ sass: 1.100.0
+ terser: 5.48.0
+ tsx: 4.22.3
+ yaml: 2.9.0
+
+ vitest@4.1.7(@opentelemetry/api@1.9.1)(@types/node@24.12.4)(@vitest/coverage-v8@4.1.7)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.100.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0):
+ dependencies:
+ '@vitest/expect': 4.1.7
+ '@vitest/mocker': 4.1.7(vite@7.3.3(@types/node@24.12.4)(jiti@2.7.0)(less@4.6.4)(sass@1.100.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0))
+ '@vitest/pretty-format': 4.1.7
+ '@vitest/runner': 4.1.7
+ '@vitest/snapshot': 4.1.7
+ '@vitest/spy': 4.1.7
+ '@vitest/utils': 4.1.7
es-module-lexer: 2.1.0
expect-type: 1.3.0
magic-string: 0.30.21
@@ -17052,16 +17035,16 @@ snapshots:
picomatch: 4.0.4
std-env: 4.1.0
tinybench: 2.9.0
- tinyexec: 1.1.1
+ tinyexec: 1.2.2
tinyglobby: 0.2.16
tinyrainbow: 3.1.0
- vite: 7.3.2(@types/node@24.12.2)(jiti@2.6.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)
+ vite: 7.3.3(@types/node@24.12.4)(jiti@2.7.0)(less@4.6.4)(sass@1.100.0)(terser@5.48.0)(tsx@4.22.3)(yaml@2.9.0)
why-is-node-running: 2.3.0
optionalDependencies:
'@opentelemetry/api': 1.9.1
- '@types/node': 24.12.2
- '@vitest/coverage-v8': 4.1.4(vitest@4.1.4)
- jsdom: 29.0.2
+ '@types/node': 24.12.4
+ '@vitest/coverage-v8': 4.1.7(vitest@4.1.7)
+ jsdom: 29.1.1
transitivePeerDependencies:
- jiti
- less
@@ -17097,13 +17080,13 @@ snapshots:
web-vitals@4.2.4: {}
- webdriver-bidi-protocol@0.4.1: {}
+ webdriver-bidi-protocol@0.4.2: {}
webidl-conversions@3.0.1: {}
webidl-conversions@8.0.1: {}
- webpack-dev-middleware@7.4.5(tslib@2.8.1)(webpack@5.106.2(esbuild@0.28.0)):
+ webpack-dev-middleware@7.4.5(tslib@2.8.1)(webpack@5.107.2(esbuild@0.28.0)(postcss@8.5.15)):
dependencies:
colorette: 2.0.20
memfs: 4.57.2(tslib@2.8.1)
@@ -17112,23 +17095,36 @@ snapshots:
range-parser: 1.2.1
schema-utils: 4.3.3
optionalDependencies:
- webpack: 5.106.2(esbuild@0.28.0)
+ webpack: 5.107.2(esbuild@0.28.0)(postcss@8.5.15)
transitivePeerDependencies:
- tslib
- webpack-dev-middleware@8.0.3(tslib@2.8.1)(webpack@5.106.2(esbuild@0.28.0)):
+ webpack-dev-middleware@7.4.5(tslib@2.8.1)(webpack@5.107.2(esbuild@0.28.0)):
dependencies:
+ colorette: 2.0.20
memfs: 4.57.2(tslib@2.8.1)
mime-types: 3.0.2
on-finished: 2.4.1
range-parser: 1.2.1
schema-utils: 4.3.3
optionalDependencies:
- webpack: 5.106.2(esbuild@0.28.0)
+ webpack: 5.107.2(esbuild@0.28.0)
transitivePeerDependencies:
- tslib
- webpack-dev-server@5.2.3(bufferutil@4.1.0)(tslib@2.8.1)(utf-8-validate@6.0.6)(webpack@5.106.2(esbuild@0.28.0)):
+ webpack-dev-middleware@8.0.3(tslib@2.8.1)(webpack@5.107.2(esbuild@0.28.0)(postcss@8.5.15)):
+ dependencies:
+ memfs: 4.57.2(tslib@2.8.1)
+ mime-types: 3.0.2
+ on-finished: 2.4.1
+ range-parser: 1.2.1
+ schema-utils: 4.3.3
+ optionalDependencies:
+ webpack: 5.107.2(esbuild@0.28.0)(postcss@8.5.15)
+ transitivePeerDependencies:
+ - tslib
+
+ webpack-dev-server@5.2.4(bufferutil@4.1.0)(tslib@2.8.1)(utf-8-validate@6.0.6)(webpack@5.107.2(esbuild@0.28.0)(postcss@8.5.15)):
dependencies:
'@types/bonjour': 3.5.13
'@types/connect-history-api-fallback': 1.5.4
@@ -17139,15 +17135,54 @@ snapshots:
'@types/sockjs': 0.3.36
'@types/ws': 8.18.1
ansi-html-community: 0.0.8
- bonjour-service: 1.3.0
+ bonjour-service: 1.4.0
chokidar: 3.6.0
colorette: 2.0.20
compression: 1.8.1
connect-history-api-fallback: 2.0.0
- express: 4.22.1
+ express: 4.22.2
+ graceful-fs: 4.2.11
+ http-proxy-middleware: 2.0.9(@types/express@4.17.25)
+ ipaddr.js: 2.4.0
+ launch-editor: 2.13.2
+ open: 10.2.0
+ p-retry: 6.2.1
+ schema-utils: 4.3.3
+ selfsigned: 5.5.0
+ serve-index: 1.9.2
+ sockjs: 0.3.24
+ spdy: 4.0.2
+ webpack-dev-middleware: 7.4.5(tslib@2.8.1)(webpack@5.107.2(esbuild@0.28.0)(postcss@8.5.15))
+ ws: 8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ optionalDependencies:
+ webpack: 5.107.2(esbuild@0.28.0)(postcss@8.5.15)
+ transitivePeerDependencies:
+ - bufferutil
+ - debug
+ - supports-color
+ - tslib
+ - utf-8-validate
+
+ webpack-dev-server@5.2.4(bufferutil@4.1.0)(tslib@2.8.1)(utf-8-validate@6.0.6)(webpack@5.107.2(esbuild@0.28.0)):
+ dependencies:
+ '@types/bonjour': 3.5.13
+ '@types/connect-history-api-fallback': 1.5.4
+ '@types/express': 4.17.25
+ '@types/express-serve-static-core': 4.19.8
+ '@types/serve-index': 1.9.4
+ '@types/serve-static': 1.15.10
+ '@types/sockjs': 0.3.36
+ '@types/ws': 8.18.1
+ ansi-html-community: 0.0.8
+ bonjour-service: 1.4.0
+ chokidar: 3.6.0
+ colorette: 2.0.20
+ compression: 1.8.1
+ connect-history-api-fallback: 2.0.0
+ express: 4.22.2
graceful-fs: 4.2.11
http-proxy-middleware: 2.0.9(@types/express@4.17.25)
- ipaddr.js: 2.3.0
+ ipaddr.js: 2.4.0
launch-editor: 2.13.2
open: 10.2.0
p-retry: 6.2.1
@@ -17156,10 +17191,10 @@ snapshots:
serve-index: 1.9.2
sockjs: 0.3.24
spdy: 4.0.2
- webpack-dev-middleware: 7.4.5(tslib@2.8.1)(webpack@5.106.2(esbuild@0.28.0))
- ws: 8.20.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)
+ webpack-dev-middleware: 7.4.5(tslib@2.8.1)(webpack@5.107.2(esbuild@0.28.0))
+ ws: 8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6)
optionalDependencies:
- webpack: 5.106.2(esbuild@0.28.0)
+ webpack: 5.107.2(esbuild@0.28.0)
transitivePeerDependencies:
- bufferutil
- debug
@@ -17173,17 +17208,16 @@ snapshots:
flat: 5.0.2
wildcard: 2.0.1
- webpack-sources@3.4.0: {}
+ webpack-sources@3.5.0: {}
- webpack-subresource-integrity@5.1.0(webpack@5.106.2(esbuild@0.28.0)):
+ webpack-subresource-integrity@5.1.0(webpack@5.107.2(esbuild@0.28.0)(postcss@8.5.15)):
dependencies:
typed-assert: 1.0.9
- webpack: 5.106.2(esbuild@0.28.0)
+ webpack: 5.107.2(esbuild@0.28.0)(postcss@8.5.15)
- webpack@5.106.2(esbuild@0.28.0):
+ webpack@5.107.2(esbuild@0.28.0):
dependencies:
- '@types/eslint-scope': 3.7.7
- '@types/estree': 1.0.8
+ '@types/estree': 1.0.9
'@types/json-schema': 7.0.15
'@webassemblyjs/ast': 1.14.1
'@webassemblyjs/wasm-edit': 1.14.1
@@ -17192,7 +17226,7 @@ snapshots:
acorn-import-phases: 1.0.4(acorn@8.16.0)
browserslist: 4.28.2
chrome-trace-event: 1.0.4
- enhanced-resolve: 5.21.0
+ enhanced-resolve: 5.22.0
es-module-lexer: 2.1.0
eslint-scope: 5.1.1
events: 3.3.0
@@ -17203,12 +17237,60 @@ snapshots:
neo-async: 2.6.2
schema-utils: 4.3.3
tapable: 2.3.3
- terser-webpack-plugin: 5.5.0(esbuild@0.28.0)(webpack@5.106.2(esbuild@0.28.0))
+ terser-webpack-plugin: 5.6.0(esbuild@0.28.0)(webpack@5.107.2(esbuild@0.28.0))
watchpack: 2.5.1
- webpack-sources: 3.4.0
+ webpack-sources: 3.5.0
transitivePeerDependencies:
+ - '@minify-html/node'
- '@swc/core'
+ - '@swc/css'
+ - '@swc/html'
+ - clean-css
+ - cssnano
+ - csso
- esbuild
+ - html-minifier-terser
+ - lightningcss
+ - postcss
+ - uglify-js
+
+ webpack@5.107.2(esbuild@0.28.0)(postcss@8.5.15):
+ dependencies:
+ '@types/estree': 1.0.9
+ '@types/json-schema': 7.0.15
+ '@webassemblyjs/ast': 1.14.1
+ '@webassemblyjs/wasm-edit': 1.14.1
+ '@webassemblyjs/wasm-parser': 1.14.1
+ acorn: 8.16.0
+ acorn-import-phases: 1.0.4(acorn@8.16.0)
+ browserslist: 4.28.2
+ chrome-trace-event: 1.0.4
+ enhanced-resolve: 5.22.0
+ es-module-lexer: 2.1.0
+ eslint-scope: 5.1.1
+ events: 3.3.0
+ glob-to-regexp: 0.4.1
+ graceful-fs: 4.2.11
+ loader-runner: 4.3.2
+ mime-db: 1.54.0
+ neo-async: 2.6.2
+ schema-utils: 4.3.3
+ tapable: 2.3.3
+ terser-webpack-plugin: 5.6.0(esbuild@0.28.0)(postcss@8.5.15)(webpack@5.107.2(esbuild@0.28.0)(postcss@8.5.15))
+ watchpack: 2.5.1
+ webpack-sources: 3.5.0
+ transitivePeerDependencies:
+ - '@minify-html/node'
+ - '@swc/core'
+ - '@swc/css'
+ - '@swc/html'
+ - clean-css
+ - cssnano
+ - csso
+ - esbuild
+ - html-minifier-terser
+ - lightningcss
+ - postcss
- uglify-js
websocket-driver@0.7.4:
@@ -17223,7 +17305,7 @@ snapshots:
whatwg-url@16.0.1:
dependencies:
- '@exodus/bytes': 1.15.0
+ '@exodus/bytes': 1.15.1
tr46: 6.0.0
webidl-conversions: 8.0.1
transitivePeerDependencies:
@@ -17287,6 +17369,10 @@ snapshots:
dependencies:
isexe: 4.0.0
+ which@7.0.0:
+ dependencies:
+ isexe: 4.0.0
+
why-is-node-running@2.3.0:
dependencies:
siginfo: 2.0.0
@@ -17301,7 +17387,7 @@ snapshots:
wrap-ansi@10.0.0:
dependencies:
ansi-styles: 6.2.3
- string-width: 8.2.0
+ string-width: 8.2.1
strip-ansi: 7.2.0
wrap-ansi@7.0.0:
@@ -17324,12 +17410,12 @@ snapshots:
wrappy@1.0.2: {}
- ws@8.18.3(bufferutil@4.1.0)(utf-8-validate@6.0.6):
+ ws@8.20.1(bufferutil@4.1.0)(utf-8-validate@6.0.6):
optionalDependencies:
bufferutil: 4.1.0
utf-8-validate: 6.0.6
- ws@8.20.0(bufferutil@4.1.0)(utf-8-validate@6.0.6):
+ ws@8.21.0(bufferutil@4.1.0)(utf-8-validate@6.0.6):
optionalDependencies:
bufferutil: 4.1.0
utf-8-validate: 6.0.6
@@ -17361,7 +17447,7 @@ snapshots:
yallist@5.0.0: {}
- yaml@2.8.3: {}
+ yaml@2.9.0: {}
yargs-parser@20.2.9: {}
@@ -17398,21 +17484,16 @@ snapshots:
y18n: 5.0.8
yargs-parser: 22.0.0
- yauzl@2.10.0:
- dependencies:
- buffer-crc32: 0.2.13
- fd-slicer: 1.1.0
-
yocto-queue@0.1.0: {}
yoctocolors@2.1.2: {}
- zod-to-json-schema@3.25.2(zod@4.3.6):
+ zod-to-json-schema@3.25.2(zod@4.4.3):
dependencies:
- zod: 4.3.6
+ zod: 4.4.3
zod@3.25.76: {}
- zod@4.3.6: {}
+ zod@4.4.3: {}
- zone.js@0.16.1: {}
+ zone.js@0.16.2: {}
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index a6c57def2129..a8b25e500967 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -24,3 +24,39 @@ minimumReleaseAgeExclude:
- '@ngtools/webpack'
- '@schematics/*'
- 'ng-packagr'
+overrides:
+ '@angular/build': workspace:*
+packageExtensions:
+ grpc-gcp:
+ peerDependencies:
+ protobufjs: '*'
+ vitest:
+ peerDependencies:
+ '@vitest/coverage-v8': '*'
+
+engineStrict: true
+# Disabling pnpm [hoisting](https://pnpm.io/settings#hoist) by setting `hoist:false` is recommended on
+# projects using rules_js so that pnpm outside of Bazel lays out a node_modules tree similar to what
+# rules_js lays out under Bazel (without a hidden node_modules/.pnpm/node_modules)
+hoist: false
+
+# Avoid pnpm auto-installing peer dependencies. We want to be explicit about our versions used
+# for peer dependencies, avoiding potential mismatches. In addition, it ensures we can continue
+# to rely on peer dependency placeholders substituted via Bazel.
+autoInstallPeers: false
+
+# Avoid prompting for confirmation when pnpm determines node_modules needs to be purged and recreated.
+confirmModulesPurge: false
+
+allowBuilds:
+ '@firebase/util': false
+ '@google/genai': false
+ '@parcel/watcher': false
+ bufferutil: false
+ esbuild: false
+ lmdb: false
+ msgpackr-extract: false
+ protobufjs: false
+ puppeteer: false
+ utf-8-validate: false
+ webdriver-manager: true
diff --git a/renovate.json b/renovate.json
index 6b91ffcea750..0299498febd8 100644
--- a/renovate.json
+++ b/renovate.json
@@ -1,6 +1,6 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
- "baseBranchPatterns": ["main", "21.2.x"],
+ "baseBranchPatterns": ["main", "22.0.x"],
"extends": ["github>angular/dev-infra//renovate-presets/default.json5"],
"ignorePaths": ["tests/e2e/assets/**", "tests/schematics/update/packages/**"],
"packageRules": [
diff --git a/tests/e2e/ng-snapshot/package.json b/tests/e2e/ng-snapshot/package.json
index c1d6189144c0..ae0dc1b346f8 100644
--- a/tests/e2e/ng-snapshot/package.json
+++ b/tests/e2e/ng-snapshot/package.json
@@ -2,21 +2,21 @@
"description": "snapshot versions of Angular for e2e testing",
"private": true,
"dependencies": {
- "@angular/animations": "github:angular/animations-builds#821ffa82641e246b0baa1ab046513799138d846d",
- "@angular/cdk": "github:angular/cdk-builds#b65c2c281813d435d47d6230830b5a72920d96f3",
- "@angular/common": "github:angular/common-builds#a2850aa26dfd485414e26e23248f9ef372644fab",
- "@angular/compiler": "github:angular/compiler-builds#1c322b71955720e4246ca3521d46633b5d051301",
- "@angular/compiler-cli": "github:angular/compiler-cli-builds#bbd92190d2c3f37a78f8d00612291f515188f4b9",
- "@angular/core": "github:angular/core-builds#1b44fb74f2b0a8f4290f52a724a943a838e67297",
- "@angular/forms": "github:angular/forms-builds#25ccc09b2b712d3f46baf6475abd673636b2da3b",
- "@angular/language-service": "github:angular/language-service-builds#e79aacae8987e1c9af851e2132a7b8803b3cb8fe",
- "@angular/localize": "github:angular/localize-builds#ccf82a047c50b57c06802a5b1151c8f94bcb495b",
- "@angular/material": "github:angular/material-builds#75aadc377e1423d03a2ad241271b0c07458d4e9c",
- "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#428852cb107f39c836c1f7664f4d4090bc8daec5",
- "@angular/platform-browser": "github:angular/platform-browser-builds#37dd76084b6d7257bcba06ed2dc894781da4b03b",
- "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#66883f22b822d8881ca1cf8b43883c8173f78ad7",
- "@angular/platform-server": "github:angular/platform-server-builds#9ad543d82b0ecc0ad4b2908cefdaed7c88428163",
- "@angular/router": "github:angular/router-builds#eea623bd8c8a90821af6a634ee95b1a72ac5afbb",
- "@angular/service-worker": "github:angular/service-worker-builds#78ee1b4608c515004e5f217d16d0a2fceb9f2991"
+ "@angular/animations": "github:angular/animations-builds#bb7120305fb2ce691af6f32bfaf678ee37db2260",
+ "@angular/cdk": "github:angular/cdk-builds#3cd4bd6373f4b5eb661ce53e1a6e2c0858f64aac",
+ "@angular/common": "github:angular/common-builds#1230a3e6f5ec1b4011132fe03c5506acbaa68de3",
+ "@angular/compiler": "github:angular/compiler-builds#ee307b32e95d82f5290f1d34a0724d1d2487920b",
+ "@angular/compiler-cli": "github:angular/compiler-cli-builds#004b8b363d45ff69ad9dc23c9093bcf73a7ce144",
+ "@angular/core": "github:angular/core-builds#8c3a56aa95dcb606c13a42bd1e322d2778da1c77",
+ "@angular/forms": "github:angular/forms-builds#e5eca49425941f32db2bbf10285c546fbc7728d0",
+ "@angular/language-service": "github:angular/language-service-builds#e439fd1346ad76baafcfcd18514bb5205d88cb7c",
+ "@angular/localize": "github:angular/localize-builds#3ac524683c4b406b9100f1d856273463abd1dcd8",
+ "@angular/material": "github:angular/material-builds#e3bc9dc5c7b2d5705842df4cb1566cfea65e5a5e",
+ "@angular/material-moment-adapter": "github:angular/material-moment-adapter-builds#6e33acb15c0054099089c48a1fb7214ae6be9555",
+ "@angular/platform-browser": "github:angular/platform-browser-builds#c05d4378e420029fdb4f1fef5283423f037ac989",
+ "@angular/platform-browser-dynamic": "github:angular/platform-browser-dynamic-builds#dce4cdc4a089d797d53b48c56ee89b23217b1683",
+ "@angular/platform-server": "github:angular/platform-server-builds#b3d96ae42c6c5521464fe5f0c9ab70895a4d1c35",
+ "@angular/router": "github:angular/router-builds#db9b733b0176690b63f7c011d6e1582dd415a1ac",
+ "@angular/service-worker": "github:angular/service-worker-builds#6e6bea57322604bef929e9c6aeb91e67a26b3c63"
}
}
diff --git a/tests/e2e/tests/build/chunk-optimizer-env.ts b/tests/e2e/tests/build/chunk-optimizer-env.ts
index a7814ee7ac5c..5453b2e042d2 100644
--- a/tests/e2e/tests/build/chunk-optimizer-env.ts
+++ b/tests/e2e/tests/build/chunk-optimizer-env.ts
@@ -23,16 +23,12 @@ export default async function () {
...process.env,
NG_BUILD_OPTIMIZE_CHUNKS: 'true',
});
- const files1Opt = await readdir('dist/test-project/browser');
- const jsFiles1Opt = files1Opt.filter((f) => f.endsWith('.js'));
// Build with forced off
await execWithEnv('ng', ['build', '--output-hashing=none'], {
...process.env,
NG_BUILD_OPTIMIZE_CHUNKS: 'false',
});
- const files1Unopt = await readdir('dist/test-project/browser');
- const jsFiles1Unopt = files1Unopt.filter((f) => f.endsWith('.js'));
// We just verify it runs without error.
// With 1 chunk it might not be able to optimize further, so counts might be equal.
diff --git a/tests/e2e/tests/commands/serve/assets.ts b/tests/e2e/tests/commands/serve/assets.ts
index 83fcb42aa8f2..dba1abea37cb 100644
--- a/tests/e2e/tests/commands/serve/assets.ts
+++ b/tests/e2e/tests/commands/serve/assets.ts
@@ -1,59 +1,31 @@
import assert from 'node:assert';
-import { randomUUID } from 'node:crypto';
-import { mkdir, rm, writeFile } from 'node:fs/promises';
-import { ngServe, updateJsonFile } from '../../../utils/project';
+import { ngServe } from '../../../utils/project';
import { getGlobalVariable } from '../../../utils/env';
export default async function () {
- const outsideDirectoryName = `../outside-${randomUUID()}`;
+ const port = await ngServe();
- await updateJsonFile('angular.json', (json) => {
- // Ensure assets located outside the workspace root work with the dev server
- json.projects['test-project'].architect.build.options.assets.push({
- 'input': outsideDirectoryName,
- 'glob': '**/*',
- 'output': './outside',
- });
- });
-
- await mkdir(outsideDirectoryName);
- try {
- await writeFile(`${outsideDirectoryName}/some-asset.xyz`, 'XYZ');
-
- const port = await ngServe();
-
- let response = await fetch(`http://localhost:${port}/favicon.ico`);
- assert.strictEqual(response.status, 200, 'favicon.ico response should be ok');
-
- response = await fetch(`http://localhost:${port}/outside/some-asset.xyz`);
- assert.strictEqual(response.status, 200, 'outside/some-asset.xyz response should be ok');
- assert.strictEqual(await response.text(), 'XYZ', 'outside/some-asset.xyz content is wrong');
+ let response = await fetch(`http://localhost:${port}/favicon.ico`);
+ assert.strictEqual(response.status, 200, 'favicon.ico response should be ok');
- // A non-existent HTML file request with accept header should fallback to the index HTML
- response = await fetch(`http://localhost:${port}/does-not-exist.html`, {
- headers: { accept: 'text/html' },
- });
- assert.strictEqual(
- response.status,
- 200,
- 'non-existent file response should fallback and be ok',
- );
- assert.match(
- await response.text(),
- / {
+ const result = await exec(
+ MCP_INSPECTOR_COMMAND_NAME,
+ '--cli',
+ 'npx',
+ '--no',
+ '@angular/cli',
+ 'mcp',
+ ...args,
+ );
+
+ return result;
+}
+
+export default async function () {
+ await silentNpm(
+ 'install',
+ '--ignore-scripts',
+ '-g',
+ `${MCP_INSPECTOR_PACKAGE_NAME}@${MCP_INSPECTOR_PACKAGE_VERSION}`,
+ );
+
+ try {
+ // 1. Ensure `run_target` is NOT registered by default (stable-only tools registered)
+ const { stdout: stdoutDefault } = await runInspector('--method', 'tools/list');
+ assert.doesNotMatch(stdoutDefault, /"run_target"/);
+
+ // 2. Ensure `run_target` is registered when explicitly enabled via experimental-tool flag
+ const { stdout: stdoutEnabled } = await runInspector(
+ '-E',
+ 'run_target',
+ '--method',
+ 'tools/list',
+ );
+ assert.match(stdoutEnabled, /"run_target"/);
+
+ // 3. Call run_target with build target
+ const { stdout: stdoutCall } = await runInspector(
+ '-E',
+ 'run_target',
+ '--method',
+ 'tools/call',
+ '--tool-name',
+ 'run_target',
+ '--tool-arg',
+ 'target=build',
+ );
+ assert.match(stdoutCall, /"status":\s*"success"/);
+ // Webpack-based browser builder does not print output paths to stdout logs.
+ // Only esbuild-based application builders output 'Output location: ...' and support outputPath extraction.
+ const esbuild = getGlobalVariable('argv')['esbuild'];
+ if (esbuild) {
+ assert.match(stdoutCall, /"outputPath":\s*"dist\/.+"/);
+ } else {
+ assert.doesNotMatch(stdoutCall, /"outputPath"/);
+ }
+
+ // 4. Call run_target with test target (only for esbuild/Vite test runner, as webpack-based Karma fails on this bazel CI headless runner)
+ if (esbuild) {
+ const { stdout: stdoutTestCall } = await runInspector(
+ '-E',
+ 'run_target',
+ '--method',
+ 'tools/call',
+ '--tool-name',
+ 'run_target',
+ '--tool-arg',
+ 'target=test',
+ );
+ assert.match(stdoutTestCall, /"status":\s*"success"/);
+ }
+ } finally {
+ // 5. Clean up global installation
+ await silentNpm('uninstall', '-g', MCP_INSPECTOR_PACKAGE_NAME);
+ }
+}
diff --git a/tests/e2e/tests/vitest/browser-custom-config.ts b/tests/e2e/tests/vitest/browser-custom-config.ts
new file mode 100644
index 000000000000..a523f421853f
--- /dev/null
+++ b/tests/e2e/tests/vitest/browser-custom-config.ts
@@ -0,0 +1,54 @@
+import assert from 'node:assert/strict';
+import { applyVitestBuilder } from '../../utils/vitest';
+import { ng } from '../../utils/process';
+import { installPackage } from '../../utils/packages';
+import { writeFile } from '../../utils/fs';
+
+export default async function (): Promise {
+ await applyVitestBuilder();
+ await installPackage('playwright@1');
+ await installPackage('@vitest/browser-playwright@4');
+ await ng('generate', 'component', 'my-comp');
+
+ // Create vitest-base.config.ts
+ await writeFile(
+ 'vitest-base.config.ts',
+ `
+ import { defineConfig } from 'vitest/config';
+ import { playwright } from '@vitest/browser-playwright';
+
+ export default defineConfig({
+ test: {
+ browser: {
+ enabled: true,
+ provider: playwright({launchOptions: {executablePath: process.env['CHROME_BIN']}}),
+ instances: [
+ { browser: 'chromium' },
+ ],
+ headless: true,
+ },
+ },
+ });
+ `,
+ );
+
+ // Create a spec file that asserts browser environment
+ await writeFile(
+ 'src/browser.spec.ts',
+ `
+ describe('Browser Environment Check', () => {
+ it('should be running in Chromium', () => {
+ const ua = navigator.userAgent;
+ // Fail the test if it's not Chrome/Chromium
+ if (!ua.includes('Chrome') && !ua.includes('Chromium')) {
+ throw new Error('Expected to be running in Chrome/Chromium, but User Agent is: ' + ua);
+ }
+ });
+ });
+ `,
+ );
+
+ const { stdout } = await ng('test', '--no-watch', '--runner-config');
+
+ assert.match(stdout, /3 passed/, 'Expected 3 tests to pass.');
+}
diff --git a/tests/e2e/tests/vitest/larger-project.ts b/tests/e2e/tests/vitest/larger-project.ts
index 61b18b102c4b..90bb283f2d8a 100644
--- a/tests/e2e/tests/vitest/larger-project.ts
+++ b/tests/e2e/tests/vitest/larger-project.ts
@@ -2,12 +2,11 @@ import { ng } from '../../utils/process';
import { applyVitestBuilder } from '../../utils/vitest';
import assert from 'node:assert';
import { installPackage } from '../../utils/packages';
-import { exec } from '../../utils/process';
export default async function () {
await applyVitestBuilder();
- const artifactCount = 100;
+ const artifactCount = 500;
// A new project starts with 1 test file (app.spec.ts)
// Each generated artifact will add one more test file.
const initialTestCount = 1;
diff --git a/tests/package.json b/tests/package.json
index 87853142d75c..7ab64c3d5212 100644
--- a/tests/package.json
+++ b/tests/package.json
@@ -2,6 +2,6 @@
"devDependencies": {
"@types/tar-stream": "3.1.4",
"@angular-devkit/schematics": "workspace:*",
- "tar-stream": "3.1.8"
+ "tar-stream": "3.2.0"
}
}
diff --git a/tools/package_json_release_filter.jq b/tools/package_json_release_filter.jq
index 8fdae0df46c5..4e7c3c639c67 100644
--- a/tools/package_json_release_filter.jq
+++ b/tools/package_json_release_filter.jq
@@ -16,7 +16,7 @@
# Get the fields from root package.json that should override the project
# package.json, i.e., every field except the following
| ($root
- | del(.bin, .description, .dependencies, .name, .main, .peerDependencies, .optionalDependencies, .typings, .version, .private, .workspaces, .resolutions, .scripts, .["ng-update"], .pnpm, .dependenciesMeta)
+ | del(.bin, .description, .dependencies, .name, .main, .peerDependencies, .optionalDependencies, .typings, .version, .private, .workspaces, .resolutions, .scripts, .["ng-update"], .pnpm, .dependenciesMeta, .packageManager)
) as $root_overrides
# Use the project package.json as a base and override other fields from root
diff --git a/tools/toolchain_info.bzl b/tools/toolchain_info.bzl
index f4bfe56f72d3..b920c8a8f88a 100644
--- a/tools/toolchain_info.bzl
+++ b/tools/toolchain_info.bzl
@@ -5,6 +5,7 @@
TOOLCHAINS_NAMES = [
"node22",
"node24",
+ "node26",
]
# this is the list of toolchains that should be used and are registered with nodejs_register_toolchains in the WORKSPACE file
@@ -19,6 +20,11 @@ TOOLCHAINS_VERSIONS = [
"@bazel_tools//src/conditions:darwin": "@node24_darwin_amd64//:node_toolchain",
"@bazel_tools//src/conditions:windows": "@node24_windows_amd64//:node_toolchain",
}),
+ select({
+ "@bazel_tools//src/conditions:linux_x86_64": "@node26_linux_amd64//:node_toolchain",
+ "@bazel_tools//src/conditions:darwin": "@node26_darwin_amd64//:node_toolchain",
+ "@bazel_tools//src/conditions:windows": "@node26_windows_amd64//:node_toolchain",
+ }),
]
# A default toolchain for use when only one is necessary
diff --git a/tsconfig.json b/tsconfig.json
index 084f85434cf9..d1cd20b4cefb 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -15,7 +15,6 @@
"strict": true,
"target": "es2023",
"lib": ["es2023"],
- "rootDir": ".",
"rootDirs": [".", "./dist-schema/bin/"],
"paths": {
"@angular-devkit/build-webpack": ["./packages/angular_devkit/build_webpack"],