From 1156d7d7865d2f334169c9fecd91ed1af8bb108c Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Mon, 11 Aug 2025 10:39:42 +0200 Subject: [PATCH 001/278] release: cut the v20.2.0-rc.0 release --- CHANGELOG.md | 23 +++++++++++++++++++++++ package.json | 2 +- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eee2eae9112f..867387412f10 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,26 @@ + +# 20.2.0-rc.0 (2025-08-11) +### compiler-cli +| Commit | Type | Description | +| -- | -- | -- | +| [c77e51930d](https://github.com/angular/angular/commit/c77e51930d1e438b2363cb2f020c12ed53b32314) | fix | error when type checking host bindings of generic directive ([#63061](https://github.com/angular/angular/pull/63061)) | +### core +| Commit | Type | Description | +| -- | -- | -- | +| [a409534d6c](https://github.com/angular/angular/commit/a409534d6c3d7cb4472afffd6b17df8c25e34106) | feat | support `as` aliases on `else if` blocks ([#63047](https://github.com/angular/angular/pull/63047)) | +| [85d51a3215](https://github.com/angular/angular/commit/85d51a32150c9ed280a615d9140795d02c8c3fd0) | fix | destroying the effect on `afterRenderEffect` ([#63001](https://github.com/angular/angular/pull/63001)) | +| [6a1184600c](https://github.com/angular/angular/commit/6a1184600ce0fc7a3f338d6766612e9510ef5518) | fix | prevents duplicate nodes when `@if` toggles with leave animations ([#63048](https://github.com/angular/angular/pull/63048)) | +### router +| Commit | Type | Description | +| -- | -- | -- | +| [660444fbf2](https://github.com/angular/angular/commit/660444fbf296ce45f0a33d443e804237fa9bb8cc) | fix | attempt to resolve component resources in JIT mode ([#63062](https://github.com/angular/angular/pull/63062)) | +### service-worker +| Commit | Type | Description | +| -- | -- | -- | +| [3b214d2040](https://github.com/angular/angular/commit/3b214d20403160ab73e65dca0352545efd577c31) | feat | Logs unhandled promise rejections in service worker ([#63059](https://github.com/angular/angular/pull/63059)) | + + + # 20.2.0-next.6 (2025-08-07) ### compiler-cli diff --git a/package.json b/package.json index d9adaa079560..c1c311e14225 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "angular-srcs", - "version": "20.2.0-next.6", + "version": "20.2.0-rc.0", "private": true, "description": "Angular - a web framework for modern web apps", "homepage": "https://github.com/angular/angular", From a92dea5b9987bb980121cbe1aa3a9a7c92709e02 Mon Sep 17 00:00:00 2001 From: Joey Perrott Date: Mon, 11 Aug 2025 14:37:12 +0000 Subject: [PATCH 002/278] build: update to the latest version of devinfra and rename npm2 workspace (#63093) Rename the npm2 workspace to npm and use the latest version of devinfra which drops rules_nodejs PR Close #63093 --- BUILD.bazel | 2 +- WORKSPACE | 6 +++--- adev/BUILD.bazel | 2 +- adev/shared-docs/pipeline/api-gen/BUILD.bazel | 2 +- integration/BUILD.bazel | 2 +- modules/BUILD.bazel | 2 +- packages/compiler-cli/BUILD.bazel | 2 +- packages/compiler-cli/linker/babel/test/BUILD.bazel | 2 +- packages/core/schematics/BUILD.bazel | 2 +- packages/core/test/bundling/BUILD.bazel | 2 +- packages/language-service/bundles/BUILD.bazel | 2 +- .../tools/test/extract/integration/test_files/BUILD.bazel | 2 +- packages/platform-server/BUILD.bazel | 2 +- packages/platform-server/init/BUILD.bazel | 2 +- tools/bazel/esbuild/zone_bundle.bzl | 2 +- tools/bazel/rules_angular_store/BUILD.bazel | 2 +- tools/bazel/tsec.bzl | 2 +- 17 files changed, 19 insertions(+), 19 deletions(-) diff --git a/BUILD.bazel b/BUILD.bazel index 953b20556f4d..e2ca630f9205 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -1,5 +1,5 @@ load("@aspect_rules_js//js:defs.bzl", "js_library") -load("@npm2//:defs.bzl", "npm_link_all_packages") +load("@npm//:defs.bzl", "npm_link_all_packages") load("//:yarn.bzl", "YARN_PATH") load("//tools:defaults2.bzl", "copy_to_bin", "js_binary") diff --git a/WORKSPACE b/WORKSPACE index c04ea2a13026..575278655969 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -47,7 +47,7 @@ rules_js_register_toolchains( load("@aspect_rules_js//npm:repositories.bzl", "npm_translate_lock") npm_translate_lock( - name = "npm2", + name = "npm", data = [ "//:.pnpmfile.cjs", "//:package.json", @@ -84,7 +84,7 @@ npm_translate_lock( verify_node_modules_ignored = "//:.bazelignore", ) -load("@npm2//:repositories.bzl", "npm_repositories") +load("@npm//:repositories.bzl", "npm_repositories") npm_repositories() @@ -166,7 +166,7 @@ http_archive( git_repository( name = "devinfra", - commit = "17282887a46c27e9f297a3292f1fde5b35dfafc1", + commit = "5bd41ae2d8be51c3f98010714f8eaaab6d82fb62", remote = "https://github.com/angular/dev-infra.git", ) diff --git a/adev/BUILD.bazel b/adev/BUILD.bazel index 0ebe5fecb5fa..fc9383495033 100644 --- a/adev/BUILD.bazel +++ b/adev/BUILD.bazel @@ -1,5 +1,5 @@ load("@bazel_skylib//rules:common_settings.bzl", "bool_flag") -load("@npm2//:defs.bzl", "npm_link_all_packages") +load("@npm//:defs.bzl", "npm_link_all_packages") load("@rules_angular//src/architect:ng_application.bzl", "ng_application") load("@rules_angular//src/architect:ng_config.bzl", "ng_config") load("@rules_angular//src/architect:ng_test.bzl", "ng_test") diff --git a/adev/shared-docs/pipeline/api-gen/BUILD.bazel b/adev/shared-docs/pipeline/api-gen/BUILD.bazel index 5e2e2ff03a2f..4916898d04fc 100644 --- a/adev/shared-docs/pipeline/api-gen/BUILD.bazel +++ b/adev/shared-docs/pipeline/api-gen/BUILD.bazel @@ -1,4 +1,4 @@ -load("@npm2//:defs.bzl", "npm_link_all_packages") +load("@npm//:defs.bzl", "npm_link_all_packages") package(default_visibility = ["//visibility:public"]) diff --git a/integration/BUILD.bazel b/integration/BUILD.bazel index e82cbba4f55a..3cdfdc467e5f 100644 --- a/integration/BUILD.bazel +++ b/integration/BUILD.bazel @@ -1,3 +1,3 @@ -load("@npm2//:defs.bzl", "npm_link_all_packages") +load("@npm//:defs.bzl", "npm_link_all_packages") npm_link_all_packages() diff --git a/modules/BUILD.bazel b/modules/BUILD.bazel index e82cbba4f55a..3cdfdc467e5f 100644 --- a/modules/BUILD.bazel +++ b/modules/BUILD.bazel @@ -1,3 +1,3 @@ -load("@npm2//:defs.bzl", "npm_link_all_packages") +load("@npm//:defs.bzl", "npm_link_all_packages") npm_link_all_packages() diff --git a/packages/compiler-cli/BUILD.bazel b/packages/compiler-cli/BUILD.bazel index e3418843a979..5ac24f4298f7 100644 --- a/packages/compiler-cli/BUILD.bazel +++ b/packages/compiler-cli/BUILD.bazel @@ -1,5 +1,5 @@ load("@aspect_rules_esbuild//esbuild:defs.bzl", "esbuild") -load("@npm2//:defs.bzl", "npm_link_all_packages") +load("@npm//:defs.bzl", "npm_link_all_packages") load("//tools:defaults2.bzl", "api_golden_test", "extract_types", "npm_package", "ts_config", "ts_project") package(default_visibility = ["//visibility:public"]) diff --git a/packages/compiler-cli/linker/babel/test/BUILD.bazel b/packages/compiler-cli/linker/babel/test/BUILD.bazel index e4946a4d76a7..45693a36b84f 100644 --- a/packages/compiler-cli/linker/babel/test/BUILD.bazel +++ b/packages/compiler-cli/linker/babel/test/BUILD.bazel @@ -1,4 +1,4 @@ -load("@npm2//:defs.bzl", "npm_link_all_packages") +load("@npm//:defs.bzl", "npm_link_all_packages") load("//tools:defaults2.bzl", "jasmine_test", "ts_project") package(default_visibility = ["//visibility:public"]) diff --git a/packages/core/schematics/BUILD.bazel b/packages/core/schematics/BUILD.bazel index f62df59e903f..1eb9f287697d 100644 --- a/packages/core/schematics/BUILD.bazel +++ b/packages/core/schematics/BUILD.bazel @@ -1,5 +1,5 @@ load("@aspect_rules_js//js:defs.bzl", "js_library") -load("@npm2//:rollup/package_json.bzl", rollup = "bin") +load("@npm//:rollup/package_json.bzl", rollup = "bin") load("//tools:defaults2.bzl", "npm_package", "ts_config") exports_files([ diff --git a/packages/core/test/bundling/BUILD.bazel b/packages/core/test/bundling/BUILD.bazel index e82cbba4f55a..3cdfdc467e5f 100644 --- a/packages/core/test/bundling/BUILD.bazel +++ b/packages/core/test/bundling/BUILD.bazel @@ -1,3 +1,3 @@ -load("@npm2//:defs.bzl", "npm_link_all_packages") +load("@npm//:defs.bzl", "npm_link_all_packages") npm_link_all_packages() diff --git a/packages/language-service/bundles/BUILD.bazel b/packages/language-service/bundles/BUILD.bazel index b97d0b4e701d..b4cdf1001845 100644 --- a/packages/language-service/bundles/BUILD.bazel +++ b/packages/language-service/bundles/BUILD.bazel @@ -1,4 +1,4 @@ -load("@npm2//:rollup/package_json.bzl", rollup = "bin") +load("@npm//:rollup/package_json.bzl", rollup = "bin") rollup.rollup( name = "language-service", diff --git a/packages/localize/tools/test/extract/integration/test_files/BUILD.bazel b/packages/localize/tools/test/extract/integration/test_files/BUILD.bazel index baa269842860..1896acd583fc 100644 --- a/packages/localize/tools/test/extract/integration/test_files/BUILD.bazel +++ b/packages/localize/tools/test/extract/integration/test_files/BUILD.bazel @@ -1,4 +1,4 @@ -load("@npm2//:typescript/package_json.bzl", tsc = "bin") +load("@npm//:typescript/package_json.bzl", tsc = "bin") load("//tools:defaults2.bzl", "copy_to_bin") package(default_visibility = ["//packages/localize/tools/test/extract/integration:__pkg__"]) diff --git a/packages/platform-server/BUILD.bazel b/packages/platform-server/BUILD.bazel index c8b27d117417..993291e28293 100644 --- a/packages/platform-server/BUILD.bazel +++ b/packages/platform-server/BUILD.bazel @@ -1,5 +1,5 @@ load("@aspect_rules_js//js:defs.bzl", "js_library") -load("@npm2//:rollup/package_json.bzl", rollup = "bin") +load("@npm//:rollup/package_json.bzl", rollup = "bin") load("//tools:defaults2.bzl", "api_golden_test_npm_package", "generate_api_docs", "ng_package", "ng_project", "tsec_test") package(default_visibility = ["//visibility:public"]) diff --git a/packages/platform-server/init/BUILD.bazel b/packages/platform-server/init/BUILD.bazel index deeba660beba..d345779491bb 100644 --- a/packages/platform-server/init/BUILD.bazel +++ b/packages/platform-server/init/BUILD.bazel @@ -1,5 +1,5 @@ load("@aspect_rules_js//js:defs.bzl", "js_library") -load("@npm2//:rollup/package_json.bzl", rollup = "bin") +load("@npm//:rollup/package_json.bzl", rollup = "bin") load("//tools:defaults2.bzl", "ng_project", "tsec_test") package(default_visibility = ["//visibility:public"]) diff --git a/tools/bazel/esbuild/zone_bundle.bzl b/tools/bazel/esbuild/zone_bundle.bzl index 61552a3cfbd2..7893c07e3174 100644 --- a/tools/bazel/esbuild/zone_bundle.bzl +++ b/tools/bazel/esbuild/zone_bundle.bzl @@ -1,5 +1,5 @@ load("@aspect_rules_esbuild//esbuild:defs.bzl", _esbuild = "esbuild") -load("@npm2//:typescript/package_json.bzl", tsc = "bin") +load("@npm//:typescript/package_json.bzl", tsc = "bin") def zone_bundle( name, diff --git a/tools/bazel/rules_angular_store/BUILD.bazel b/tools/bazel/rules_angular_store/BUILD.bazel index e82cbba4f55a..3cdfdc467e5f 100644 --- a/tools/bazel/rules_angular_store/BUILD.bazel +++ b/tools/bazel/rules_angular_store/BUILD.bazel @@ -1,3 +1,3 @@ -load("@npm2//:defs.bzl", "npm_link_all_packages") +load("@npm//:defs.bzl", "npm_link_all_packages") npm_link_all_packages() diff --git a/tools/bazel/tsec.bzl b/tools/bazel/tsec.bzl index a4da7c91a252..786876e242c2 100644 --- a/tools/bazel/tsec.bzl +++ b/tools/bazel/tsec.bzl @@ -3,7 +3,7 @@ load("@aspect_rules_js//js:providers.bzl", "JsInfo") load("@aspect_rules_ts//ts:defs.bzl", "TsConfigInfo") load("@bazel_skylib//lib:new_sets.bzl", "sets") -load("@npm2//:tsec/package_json.bzl", tsec = "bin") +load("@npm//:tsec/package_json.bzl", tsec = "bin") TsecTargetInfo = provider( "Attributes required for tsec_test to generate tsconfig.json", From 51801612c3896ccf82aed9116ab72eeecb278af0 Mon Sep 17 00:00:00 2001 From: Alan Agius <17563226+alan-agius4@users.noreply.github.com> Date: Mon, 11 Aug 2025 08:49:50 +0000 Subject: [PATCH 003/278] ci: several fixes for renovate (#63083) This commit contains several fixes for renovate to work properly with `pnpm` PR Close #63083 --- modules/package.json | 1 + pnpm-lock.yaml | 3 +++ renovate.json | 12 ++++++------ 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/modules/package.json b/modules/package.json index c8b2fd32857a..c855821ba397 100644 --- a/modules/package.json +++ b/modules/package.json @@ -5,6 +5,7 @@ "@angular/build": "20.2.0-next.2", "@angular/common": "workspace:*", "@angular/compiler": "workspace:*", + "@angular/compiler-cli": "workspace:*", "@angular/core": "workspace:*", "@angular/forms": "workspace:*", "@angular/localize": "workspace:*", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d921abd8be6e..d4fab3483e2f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -838,6 +838,9 @@ importers: '@angular/compiler': specifier: workspace:* version: link:../packages/compiler + '@angular/compiler-cli': + specifier: workspace:* + version: link:../packages/compiler-cli '@angular/core': specifier: workspace:* version: link:../packages/core diff --git a/renovate.json b/renovate.json index 963bc3f24286..f0c3eefa934b 100644 --- a/renovate.json +++ b/renovate.json @@ -11,15 +11,14 @@ "commands": [ "git restore .yarn/releases/yarn-1.22.22.cjs .npmrc", "pnpm install --frozen-lockfile", - "pnpm bazel run //.github/actions/deploy-docs-site:main.update", - "pnpm bazel run //packages/common:base_currencies_file.update", - "pnpm bazel run //packages/common/locales:closure_locale_file.update", - "pnpm bazel run //packages/core:base_locale_file.update" + "pnpm bazel run //.github/actions/deploy-docs-site:main", + "pnpm bazel run //packages/common:base_currencies_file", + "pnpm bazel run //packages/common/locales:closure_locale_file", + "pnpm bazel run //packages/core:base_locale_file" ], "fileFilters": [ ".github/actions/deploy-docs-site/**/*", - "packages/**/*", - "pnpm-lock.yaml" + "packages/**/*" ], "executionMode": "branch" }, @@ -58,6 +57,7 @@ { "matchFileNames": [ "integration/**", + "modules/ssr-benchmarks", "packages/core/schematics/migrations/signal-migration/test/**", "packages/zone.js/test/typings/package.json" ], From 79b91593c92c8fe85a9875ea31d0a2df6d5f92e2 Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Mon, 11 Aug 2025 10:33:20 +0200 Subject: [PATCH 004/278] fix(compiler): incorrect spans for AST inside input value with leading space (#63082) When parsing expressions inside a bound attribute, we offset all of its spans by an `absoluteOffset` in order to get the right spans in the source file. The offset was incorrect when parsing an attribute with leading spaces during the construction of the Ivy AST, because of the combination of: 1. We were setting the offset by looking at `valueSpan.start`. 2. The Ivy parser sets `leadingTriviaChars: [' ', '\n']` which means that spaces and new lines will be ignored in the `sourceSpan.start`. These changes resolve the issue by using `valueSpan.fullStart` which includes the leading spaces. Fixes #63069. PR Close #63082 --- .../src/render3/r3_template_transform.ts | 4 ++-- .../test/render3/r3_ast_spans_spec.ts | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/packages/compiler/src/render3/r3_template_transform.ts b/packages/compiler/src/render3/r3_template_transform.ts index 8991e9743b66..5ccefb2e547c 100644 --- a/packages/compiler/src/render3/r3_template_transform.ts +++ b/packages/compiler/src/render3/r3_template_transform.ts @@ -697,8 +697,8 @@ class HtmlAstToIvyAst implements html.Visitor { const value = attribute.value; const srcSpan = attribute.sourceSpan; const absoluteOffset = attribute.valueSpan - ? attribute.valueSpan.start.offset - : srcSpan.start.offset; + ? attribute.valueSpan.fullStart.offset + : srcSpan.fullStart.offset; function createKeySpan(srcSpan: ParseSourceSpan, prefix: string, identifier: string) { // We need to adjust the start location for the keySpan to account for the removed 'data-' diff --git a/packages/compiler/test/render3/r3_ast_spans_spec.ts b/packages/compiler/test/render3/r3_ast_spans_spec.ts index 4b2524475e24..0851bd8269c0 100644 --- a/packages/compiler/test/render3/r3_ast_spans_spec.ts +++ b/packages/compiler/test/render3/r3_ast_spans_spec.ts @@ -6,6 +6,7 @@ * found in the LICENSE file at https://angular.dev/license */ +import {ASTWithSource} from '../../src/expression_parser/ast'; import {ParseSourceSpan} from '../../src/parse_util'; import * as t from '../../src/render3/r3_ast'; @@ -409,6 +410,24 @@ describe('R3 AST source spans', () => { ['BoundAttribute', '@animation', 'animation', ''], ]); }); + + it('should not throw off span of value in bound attribute when leading spaces are present', () => { + const assertValueSpan = (template: string, start: number, end: number) => { + const result = parse(template); + const boundAttribute = (result.nodes[0] as t.Element).inputs[0]; + const span = (boundAttribute.value as ASTWithSource).ast.sourceSpan; + + expect(span.start).toBe(start); + expect(span.end).toBe(end); + }; + + assertValueSpan('', 8, 18); + assertValueSpan('', 9, 19); + assertValueSpan('', 10, 20); + assertValueSpan('', 11, 21); + assertValueSpan('', 12, 22); + assertValueSpan('', 50, 60); + }); }); describe('templates', () => { From 499fa8fa88995a228d5ef04c10f90838564ea355 Mon Sep 17 00:00:00 2001 From: Matthieu Riegler Date: Sun, 10 Aug 2025 18:17:56 +0200 Subject: [PATCH 005/278] docs: remove router testing from the testing scenarios guide (#63078) This commit also adds the router testing guide to the testing section PR Close #63078 --- adev/src/app/sub-navigation-data.ts | 6 ++++++ adev/src/content/guide/routing/testing.md | 2 +- .../guide/testing/components-scenarios.md | 17 ----------------- 3 files changed, 7 insertions(+), 18 deletions(-) diff --git a/adev/src/app/sub-navigation-data.ts b/adev/src/app/sub-navigation-data.ts index 63253dc7f082..785177e81e57 100644 --- a/adev/src/app/sub-navigation-data.ts +++ b/adev/src/app/sub-navigation-data.ts @@ -533,6 +533,12 @@ const DOCS_SUB_NAVIGATION_DATA: NavigationItem[] = [ path: 'guide/testing/pipes', contentPath: 'guide/testing/pipes', }, + { + label: 'Testing routing and navigation', + path: 'guide/routing/testing', + contentPath: 'guide/routing/testing', + status: 'new', + }, { label: 'Debugging tests', path: 'guide/testing/debugging', diff --git a/adev/src/content/guide/routing/testing.md b/adev/src/content/guide/routing/testing.md index 9ad904e3fb60..5a1f2fe13dad 100644 --- a/adev/src/content/guide/routing/testing.md +++ b/adev/src/content/guide/routing/testing.md @@ -9,7 +9,7 @@ This guide assumes you are familiar with the following tools and libraries: - **[Jasmine](https://jasmine.github.io/)** - JavaScript testing framework that provides the testing syntax (`describe`, `it`, `expect`) - **[Karma](https://karma-runner.github.io/)** - Test runner that executes tests in browsers - **[Angular Testing Utilities](guide/testing)** - Angular's built-in testing tools ([`TestBed`](api/core/testing/TestBed), [`ComponentFixture`](api/core/testing/ComponentFixture)) -- **[RouterTestingHarness](api/router/testing/RouterTestingHarness)** - Test harness for testing routed components with built-in navigation and component testing capabilities +- **[`RouterTestingHarness`](api/router/testing/RouterTestingHarness)** - Test harness for testing routed components with built-in navigation and component testing capabilities ## Testing scenarios diff --git a/adev/src/content/guide/testing/components-scenarios.md b/adev/src/content/guide/testing/components-scenarios.md index de855e8afc5a..a2a6f8f64160 100644 --- a/adev/src/content/guide/testing/components-scenarios.md +++ b/adev/src/content/guide/testing/components-scenarios.md @@ -588,23 +588,6 @@ The component has to *subscribe* to the `ActivatedRoute.paramMap` observable and Tests can explore how the `HeroDetailComponent` responds to different `id` parameter values by navigating to different routes. -### Testing with the `RouterTestingHarness` - -Here's a test demonstrating the component's behavior when the observed `id` refers to an existing hero: - - - -HELPFUL: In the following section, the `createComponent()` method and `page` object are discussed. -Rely on your intuition for now. - -When the `id` cannot be found, the component should re-route to the `HeroListComponent`. - -The test suite setup provided the same router harness [described above](#routing-component). - -This test expects the component to try to navigate to the `HeroListComponent`. - - - ## Nested component tests Component templates often have nested components, whose templates might contain more components. From af247cacb61055b46d2a204425f1476436b23afc Mon Sep 17 00:00:00 2001 From: Matthieu Riegler Date: Mon, 11 Aug 2025 21:36:44 +0200 Subject: [PATCH 006/278] refactor(core): remove temporary resource setter function. (#63097) Now that G3 has been fully migrated to the new throwing behavior, we don't need that setter anymore. PR Close #63097 --- packages/core/src/resource/index.ts | 2 +- packages/core/src/resource/resource.ts | 10 ---------- 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/packages/core/src/resource/index.ts b/packages/core/src/resource/index.ts index 94394ea12342..d6b526671978 100644 --- a/packages/core/src/resource/index.ts +++ b/packages/core/src/resource/index.ts @@ -7,4 +7,4 @@ */ export * from './api'; -export {resource, setResourceValueThrowsErrors as ɵsetResourceValueThrowsErrors} from './resource'; +export {resource} from './resource'; diff --git a/packages/core/src/resource/resource.ts b/packages/core/src/resource/resource.ts index 9cd1781fee11..ae29a49f5462 100644 --- a/packages/core/src/resource/resource.ts +++ b/packages/core/src/resource/resource.ts @@ -83,16 +83,6 @@ export function resource(options: ResourceOptions): ResourceRef Date: Mon, 11 Aug 2025 10:44:48 +0000 Subject: [PATCH 007/278] build: update scorecard action dependencies (#63089) See associated pull request for more information. PR Close #63089 --- .github/workflows/scorecard.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 8a1cda9ec594..868998505db8 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -25,7 +25,7 @@ jobs: steps: - name: 'Checkout code' - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 with: persist-credentials: false @@ -47,6 +47,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@51f77329afa6477de8c49fc9c7046c15b9a4e79d # v3.29.5 + uses: github/codeql-action/upload-sarif@76621b61decf072c1cee8dd1ce2d2a82d33c17ed # v3.29.8 with: sarif_file: results.sarif From b38c43bacc4b09885bfc26c6bd149c5b269d9e81 Mon Sep 17 00:00:00 2001 From: Matthieu Riegler Date: Sun, 10 Aug 2025 16:22:47 +0200 Subject: [PATCH 008/278] refactor(zone.js): remove unused jasmine globalerror monkey patching. (#63077) This is for testing purposes for now. See discussion on the related issue. fixes #63072 PR Close #63077 --- packages/zone.js/lib/jasmine/jasmine.ts | 43 ------------------- .../test/node_bluebird_entry_point.init.ts | 23 ---------- 2 files changed, 66 deletions(-) diff --git a/packages/zone.js/lib/jasmine/jasmine.ts b/packages/zone.js/lib/jasmine/jasmine.ts index f0897da8ba11..43b56d50adaa 100644 --- a/packages/zone.js/lib/jasmine/jasmine.ts +++ b/packages/zone.js/lib/jasmine/jasmine.ts @@ -55,49 +55,6 @@ export function patchJasmine(Zone: ZoneType): void { (global[symbol('fakeAsyncPatchLock')] === true || global[symbol('fakeAsyncAutoFakeAsyncWhenClockPatched')] === true); - const ignoreUnhandledRejection = global[symbol('ignoreUnhandledRejection')] === true; - - if (!ignoreUnhandledRejection) { - const globalErrors = (jasmine as any).GlobalErrors; - if (globalErrors && !(jasmine as any)[symbol('GlobalErrors')]) { - (jasmine as any)[symbol('GlobalErrors')] = globalErrors; - (jasmine as any).GlobalErrors = function () { - const instance = new globalErrors(); - const originalInstall = instance.install; - if (originalInstall && !instance[symbol('install')]) { - instance[symbol('install')] = originalInstall; - instance.install = function () { - const isNode = typeof process !== 'undefined' && !!process.on; - // Note: Jasmine checks internally if `process` and `process.on` is defined. - // Otherwise, it installs the browser rejection handler through the - // `global.addEventListener`. This code may be run in the browser environment where - // `process` is not defined, and this will lead to a runtime exception since webpack 5 - // removed automatic Node.js polyfills. Note, that events are named differently, it's - // `unhandledRejection` in Node.js and `unhandledrejection` in the browser. - const originalHandlers: any[] = isNode - ? process.listeners('unhandledRejection') - : global.eventListeners('unhandledrejection'); - const result = originalInstall.apply(this, arguments); - isNode - ? process.removeAllListeners('unhandledRejection') - : global.removeAllListeners('unhandledrejection'); - if (originalHandlers) { - originalHandlers.forEach((handler) => { - if (isNode) { - process.on('unhandledRejection', handler); - } else { - global.addEventListener('unhandledrejection', handler); - } - }); - } - return result; - }; - } - return instance; - }; - } - } - // Monkey patch all of the jasmine DSL so that each function runs in appropriate zone. const jasmineEnv: any = jasmine.getEnv(); ['describe', 'xdescribe', 'fdescribe'].forEach((methodName) => { diff --git a/packages/zone.js/test/node_bluebird_entry_point.init.ts b/packages/zone.js/test/node_bluebird_entry_point.init.ts index c374d8bd7bad..947c3be51e4a 100644 --- a/packages/zone.js/test/node_bluebird_entry_point.init.ts +++ b/packages/zone.js/test/node_bluebird_entry_point.init.ts @@ -43,26 +43,3 @@ patchTaskTracking(Zone); patchWtf(Zone); patchRxJs(Zone); patchPromiseTesting(Zone); - -const globalErrors = (jasmine as any).GlobalErrors; -const symbol = Zone.__symbol__; -if (globalErrors && !(jasmine as any)[symbol('GlobalErrors')]) { - (jasmine as any)[symbol('GlobalErrors')] = globalErrors; - (jasmine as any).GlobalErrors = function () { - const instance = new globalErrors(); - const originalInstall = instance.install; - if (originalInstall && !instance[symbol('install')]) { - instance[symbol('install')] = originalInstall; - instance.install = function () { - const originalHandlers = process.listeners('unhandledRejection'); - const r = originalInstall.apply(this, arguments); - process.removeAllListeners('unhandledRejection'); - if (originalHandlers) { - originalHandlers.forEach((h) => process.on('unhandledRejection', h)); - } - return r; - }; - } - return instance; - }; -} From 4ab709460aa96cb9fdd026ce1cc681a62c94f658 Mon Sep 17 00:00:00 2001 From: Alan Agius <17563226+alan-agius4@users.noreply.github.com> Date: Tue, 12 Aug 2025 07:04:21 +0000 Subject: [PATCH 009/278] build: remove redundant `yarn.lock` files (#63105) These are now managed by pnpm. PR Close #63105 --- packages/zone.js/test/typings/yarn.lock | 12 - packages/zone.js/yarn.lock | 3395 ----------------------- 2 files changed, 3407 deletions(-) delete mode 100644 packages/zone.js/test/typings/yarn.lock delete mode 100644 packages/zone.js/yarn.lock diff --git a/packages/zone.js/test/typings/yarn.lock b/packages/zone.js/test/typings/yarn.lock deleted file mode 100644 index 63c48097ede9..000000000000 --- a/packages/zone.js/test/typings/yarn.lock +++ /dev/null @@ -1,12 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"domino@file:../../../../node_modules/domino": - version "2.1.6" - -"typescript@file:../../../../node_modules/typescript": - version "5.6.2" - -"zone.js@file:../../../../dist/bin/packages/zone.js/npm_package": - version "0.15.0" diff --git a/packages/zone.js/yarn.lock b/packages/zone.js/yarn.lock deleted file mode 100644 index 7df2e1e5f07e..000000000000 --- a/packages/zone.js/yarn.lock +++ /dev/null @@ -1,3395 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@ampproject/remapping@^2.2.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" - integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== - dependencies: - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.24" - -"@asamuzakjp/css-color@^3.2.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@asamuzakjp/css-color/-/css-color-3.2.0.tgz#cc42f5b85c593f79f1fa4f25d2b9b321e61d1794" - integrity sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw== - dependencies: - "@csstools/css-calc" "^2.1.3" - "@csstools/css-color-parser" "^3.0.9" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - lru-cache "^10.4.3" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be" - integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg== - dependencies: - "@babel/helper-validator-identifier" "^7.27.1" - js-tokens "^4.0.0" - picocolors "^1.1.1" - -"@babel/compat-data@^7.27.2": - version "7.28.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.28.0.tgz#9fc6fd58c2a6a15243cd13983224968392070790" - integrity sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw== - -"@babel/core@^7.23.9", "@babel/core@^7.27.4": - version "7.28.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.28.0.tgz#55dad808d5bf3445a108eefc88ea3fdf034749a4" - integrity sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.27.1" - "@babel/generator" "^7.28.0" - "@babel/helper-compilation-targets" "^7.27.2" - "@babel/helper-module-transforms" "^7.27.3" - "@babel/helpers" "^7.27.6" - "@babel/parser" "^7.28.0" - "@babel/template" "^7.27.2" - "@babel/traverse" "^7.28.0" - "@babel/types" "^7.28.0" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/generator@^7.27.5", "@babel/generator@^7.28.0": - version "7.28.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.0.tgz#9cc2f7bd6eb054d77dc66c2664148a0c5118acd2" - integrity sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg== - dependencies: - "@babel/parser" "^7.28.0" - "@babel/types" "^7.28.0" - "@jridgewell/gen-mapping" "^0.3.12" - "@jridgewell/trace-mapping" "^0.3.28" - jsesc "^3.0.2" - -"@babel/helper-compilation-targets@^7.27.2": - version "7.27.2" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz#46a0f6efab808d51d29ce96858dd10ce8732733d" - integrity sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ== - dependencies: - "@babel/compat-data" "^7.27.2" - "@babel/helper-validator-option" "^7.27.1" - browserslist "^4.24.0" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-globals@^7.28.0": - version "7.28.0" - resolved "https://registry.yarnpkg.com/@babel/helper-globals/-/helper-globals-7.28.0.tgz#b9430df2aa4e17bc28665eadeae8aa1d985e6674" - integrity sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw== - -"@babel/helper-module-imports@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz#7ef769a323e2655e126673bb6d2d6913bbead204" - integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w== - dependencies: - "@babel/traverse" "^7.27.1" - "@babel/types" "^7.27.1" - -"@babel/helper-module-transforms@^7.27.3": - version "7.27.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz#db0bbcfba5802f9ef7870705a7ef8788508ede02" - integrity sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg== - dependencies: - "@babel/helper-module-imports" "^7.27.1" - "@babel/helper-validator-identifier" "^7.27.1" - "@babel/traverse" "^7.27.3" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.27.1", "@babel/helper-plugin-utils@^7.8.0": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz#ddb2f876534ff8013e6c2b299bf4d39b3c51d44c" - integrity sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw== - -"@babel/helper-string-parser@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687" - integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== - -"@babel/helper-validator-identifier@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz#a7054dcc145a967dd4dc8fee845a57c1316c9df8" - integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow== - -"@babel/helper-validator-option@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f" - integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg== - -"@babel/helpers@^7.27.6": - version "7.28.2" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.28.2.tgz#80f0918fecbfebea9af856c419763230040ee850" - integrity sha512-/V9771t+EgXz62aCcyofnQhGM8DQACbRhvzKFsXKC9QM+5MadF8ZmIm0crDMaz3+o0h0zXfJnd4EhbYbxsrcFw== - dependencies: - "@babel/template" "^7.27.2" - "@babel/types" "^7.28.2" - -"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.27.2", "@babel/parser@^7.28.0": - version "7.28.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.0.tgz#979829fbab51a29e13901e5a80713dbcb840825e" - integrity sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g== - dependencies: - "@babel/types" "^7.28.0" - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" - integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-import-attributes@^7.24.7": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz#34c017d54496f9b11b61474e7ea3dfd5563ffe07" - integrity sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-syntax-import-meta@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz#2f9beb5eff30fa507c5532d107daac7b888fa34c" - integrity sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" - integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-top-level-await@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-typescript@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz#5147d29066a793450f220c63fa3a9431b7e6dd18" - integrity sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ== - dependencies: - "@babel/helper-plugin-utils" "^7.27.1" - -"@babel/template@^7.27.2": - version "7.27.2" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.2.tgz#fa78ceed3c4e7b63ebf6cb39e5852fca45f6809d" - integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw== - dependencies: - "@babel/code-frame" "^7.27.1" - "@babel/parser" "^7.27.2" - "@babel/types" "^7.27.1" - -"@babel/traverse@^7.27.1", "@babel/traverse@^7.27.3", "@babel/traverse@^7.28.0": - version "7.28.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.0.tgz#518aa113359b062042379e333db18380b537e34b" - integrity sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg== - dependencies: - "@babel/code-frame" "^7.27.1" - "@babel/generator" "^7.28.0" - "@babel/helper-globals" "^7.28.0" - "@babel/parser" "^7.28.0" - "@babel/template" "^7.27.2" - "@babel/types" "^7.28.0" - debug "^4.3.1" - -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.28.0", "@babel/types@^7.28.2": - version "7.28.2" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.2.tgz#da9db0856a9a88e0a13b019881d7513588cf712b" - integrity sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ== - dependencies: - "@babel/helper-string-parser" "^7.27.1" - "@babel/helper-validator-identifier" "^7.27.1" - -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@csstools/color-helpers@^5.0.2": - version "5.0.2" - resolved "https://registry.yarnpkg.com/@csstools/color-helpers/-/color-helpers-5.0.2.tgz#82592c9a7c2b83c293d9161894e2a6471feb97b8" - integrity sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA== - -"@csstools/css-calc@^2.1.3", "@csstools/css-calc@^2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@csstools/css-calc/-/css-calc-2.1.4.tgz#8473f63e2fcd6e459838dd412401d5948f224c65" - integrity sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ== - -"@csstools/css-color-parser@^3.0.9": - version "3.0.10" - resolved "https://registry.yarnpkg.com/@csstools/css-color-parser/-/css-color-parser-3.0.10.tgz#79fc68864dd43c3b6782d2b3828bc0fa9d085c10" - integrity sha512-TiJ5Ajr6WRd1r8HSiwJvZBiJOqtH86aHpUjq5aEKWHiII2Qfjqd/HCWKPOW8EP4vcspXbHnXrwIDlu5savQipg== - dependencies: - "@csstools/color-helpers" "^5.0.2" - "@csstools/css-calc" "^2.1.4" - -"@csstools/css-parser-algorithms@^3.0.4": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz#5755370a9a29abaec5515b43c8b3f2cf9c2e3076" - integrity sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ== - -"@csstools/css-tokenizer@^3.0.3": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz#333fedabc3fd1a8e5d0100013731cf19e6a8c5d3" - integrity sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw== - -"@emnapi/core@^1.4.3": - version "1.4.5" - resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.4.5.tgz#bfbb0cbbbb9f96ec4e2c4fd917b7bbe5495ceccb" - integrity sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q== - dependencies: - "@emnapi/wasi-threads" "1.0.4" - tslib "^2.4.0" - -"@emnapi/runtime@^1.4.3": - version "1.4.5" - resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.4.5.tgz#c67710d0661070f38418b6474584f159de38aba9" - integrity sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg== - dependencies: - tslib "^2.4.0" - -"@emnapi/wasi-threads@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@emnapi/wasi-threads/-/wasi-threads-1.0.4.tgz#703fc094d969e273b1b71c292523b2f792862bf4" - integrity sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g== - dependencies: - tslib "^2.4.0" - -"@esbuild/aix-ppc64@0.25.8": - version "0.25.8" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.8.tgz#a1414903bb38027382f85f03dda6065056757727" - integrity sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA== - -"@esbuild/android-arm64@0.25.8": - version "0.25.8" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.8.tgz#c859994089e9767224269884061f89dae6fb51c6" - integrity sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w== - -"@esbuild/android-arm@0.25.8": - version "0.25.8" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.8.tgz#96a8f2ca91c6cd29ea90b1af79d83761c8ba0059" - integrity sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw== - -"@esbuild/android-x64@0.25.8": - version "0.25.8" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.8.tgz#a3a626c4fec4a024a9fa8c7679c39996e92916f0" - integrity sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA== - -"@esbuild/darwin-arm64@0.25.8": - version "0.25.8" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.8.tgz#a5e1252ca2983d566af1c0ea39aded65736fc66d" - integrity sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw== - -"@esbuild/darwin-x64@0.25.8": - version "0.25.8" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.8.tgz#5271b0df2bb12ce8df886704bfdd1c7cc01385d2" - integrity sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg== - -"@esbuild/freebsd-arm64@0.25.8": - version "0.25.8" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.8.tgz#d0a0e7fdf19733b8bb1566b81df1aa0bb7e46ada" - integrity sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA== - -"@esbuild/freebsd-x64@0.25.8": - version "0.25.8" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.8.tgz#2de8b2e0899d08f1cb1ef3128e159616e7e85343" - integrity sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw== - -"@esbuild/linux-arm64@0.25.8": - version "0.25.8" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.8.tgz#a4209efadc0c2975716458484a4e90c237c48ae9" - integrity sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w== - -"@esbuild/linux-arm@0.25.8": - version "0.25.8" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.8.tgz#ccd9e291c24cd8d9142d819d463e2e7200d25b19" - integrity sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg== - -"@esbuild/linux-ia32@0.25.8": - version "0.25.8" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.8.tgz#006ad1536d0c2b28fb3a1cf0b53bcb85aaf92c4d" - integrity sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg== - -"@esbuild/linux-loong64@0.25.8": - version "0.25.8" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.8.tgz#127b3fbfb2c2e08b1397e985932f718f09a8f5c4" - integrity sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ== - -"@esbuild/linux-mips64el@0.25.8": - version "0.25.8" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.8.tgz#837d1449517791e3fa7d82675a2d06d9f56cb340" - integrity sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw== - -"@esbuild/linux-ppc64@0.25.8": - version "0.25.8" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.8.tgz#aa2e3bd93ab8df084212f1895ca4b03c42d9e0fe" - integrity sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ== - -"@esbuild/linux-riscv64@0.25.8": - version "0.25.8" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.8.tgz#a340620e31093fef72767dd28ab04214b3442083" - integrity sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg== - -"@esbuild/linux-s390x@0.25.8": - version "0.25.8" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.8.tgz#ddfed266c8c13f5efb3105a0cd47f6dcd0e79e71" - integrity sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg== - -"@esbuild/linux-x64@0.25.8": - version "0.25.8" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.8.tgz#9a4f78c75c051e8c060183ebb39a269ba936a2ac" - integrity sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ== - -"@esbuild/netbsd-arm64@0.25.8": - version "0.25.8" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.8.tgz#902c80e1d678047926387230bc037e63e00697d0" - integrity sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw== - -"@esbuild/netbsd-x64@0.25.8": - version "0.25.8" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.8.tgz#2d9eb4692add2681ff05a14ce99de54fbed7079c" - integrity sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg== - -"@esbuild/openbsd-arm64@0.25.8": - version "0.25.8" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.8.tgz#89c3b998c6de739db38ab7fb71a8a76b3fa84a45" - integrity sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ== - -"@esbuild/openbsd-x64@0.25.8": - version "0.25.8" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.8.tgz#2f01615cf472b0e48c077045cfd96b5c149365cc" - integrity sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ== - -"@esbuild/openharmony-arm64@0.25.8": - version "0.25.8" - resolved "https://registry.yarnpkg.com/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.8.tgz#a201f720cd2c3ebf9a6033fcc3feb069a54b509a" - integrity sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg== - -"@esbuild/sunos-x64@0.25.8": - version "0.25.8" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.8.tgz#07046c977985a3334667f19e6ab3a01a80862afb" - integrity sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w== - -"@esbuild/win32-arm64@0.25.8": - version "0.25.8" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.8.tgz#4a5470caf0d16127c05d4833d4934213c69392d1" - integrity sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ== - -"@esbuild/win32-ia32@0.25.8": - version "0.25.8" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.8.tgz#3de3e8470b7b328d99dbc3e9ec1eace207e5bbc4" - integrity sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg== - -"@esbuild/win32-x64@0.25.8": - version "0.25.8" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.8.tgz#610d7ea539d2fcdbe39237b5cc175eb2c4451f9c" - integrity sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw== - -"@externs/nodejs@^1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@externs/nodejs/-/nodejs-1.5.0.tgz#88ff9e7a03c53d19101ee49768e598ff0f39c9ad" - integrity sha512-2J+FRDjGfKKldTQ5YqLmhQ04/sA9swTQ6OTtPzo4xhg41u1+eiufciXiqW6u3UXEcmm413a27NakgnLbzfp0wQ== - -"@isaacs/cliui@^8.0.2": - version "8.0.2" - resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" - integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== - dependencies: - string-width "^5.1.2" - string-width-cjs "npm:string-width@^4.2.0" - strip-ansi "^7.0.1" - strip-ansi-cjs "npm:strip-ansi@^6.0.1" - wrap-ansi "^8.1.0" - wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" - -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== - dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - get-package-type "^0.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" - -"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== - -"@jest/console@30.0.5": - version "30.0.5" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-30.0.5.tgz#d7d027c2db5c64c20a973b7f3e57b49956d6c335" - integrity sha512-xY6b0XiL0Nav3ReresUarwl2oIz1gTnxGbGpho9/rbUWsLH0f1OD/VT84xs8c7VmH7MChnLb0pag6PhZhAdDiA== - dependencies: - "@jest/types" "30.0.5" - "@types/node" "*" - chalk "^4.1.2" - jest-message-util "30.0.5" - jest-util "30.0.5" - slash "^3.0.0" - -"@jest/core@30.0.5": - version "30.0.5" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-30.0.5.tgz#b5778922d2928f676636e3ec199829554e61e452" - integrity sha512-fKD0OulvRsXF1hmaFgHhVJzczWzA1RXMMo9LTPuFXo9q/alDbME3JIyWYqovWsUBWSoBcsHaGPSLF9rz4l9Qeg== - dependencies: - "@jest/console" "30.0.5" - "@jest/pattern" "30.0.1" - "@jest/reporters" "30.0.5" - "@jest/test-result" "30.0.5" - "@jest/transform" "30.0.5" - "@jest/types" "30.0.5" - "@types/node" "*" - ansi-escapes "^4.3.2" - chalk "^4.1.2" - ci-info "^4.2.0" - exit-x "^0.2.2" - graceful-fs "^4.2.11" - jest-changed-files "30.0.5" - jest-config "30.0.5" - jest-haste-map "30.0.5" - jest-message-util "30.0.5" - jest-regex-util "30.0.1" - jest-resolve "30.0.5" - jest-resolve-dependencies "30.0.5" - jest-runner "30.0.5" - jest-runtime "30.0.5" - jest-snapshot "30.0.5" - jest-util "30.0.5" - jest-validate "30.0.5" - jest-watcher "30.0.5" - micromatch "^4.0.8" - pretty-format "30.0.5" - slash "^3.0.0" - -"@jest/diff-sequences@30.0.1": - version "30.0.1" - resolved "https://registry.yarnpkg.com/@jest/diff-sequences/-/diff-sequences-30.0.1.tgz#0ededeae4d071f5c8ffe3678d15f3a1be09156be" - integrity sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw== - -"@jest/environment-jsdom-abstract@30.0.5": - version "30.0.5" - resolved "https://registry.yarnpkg.com/@jest/environment-jsdom-abstract/-/environment-jsdom-abstract-30.0.5.tgz#7299cca59b3e84547ca3d1bbd4e7d36b4b44d426" - integrity sha512-gpWwiVxZunkoglP8DCnT3As9x5O8H6gveAOpvaJd2ATAoSh7ZSSCWbr9LQtUMvr8WD3VjG9YnDhsmkCK5WN1rQ== - dependencies: - "@jest/environment" "30.0.5" - "@jest/fake-timers" "30.0.5" - "@jest/types" "30.0.5" - "@types/jsdom" "^21.1.7" - "@types/node" "*" - jest-mock "30.0.5" - jest-util "30.0.5" - -"@jest/environment@30.0.5": - version "30.0.5" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-30.0.5.tgz#eaaae0403c7d3f8414053c2224acc3011e1c3a1b" - integrity sha512-aRX7WoaWx1oaOkDQvCWImVQ8XNtdv5sEWgk4gxR6NXb7WBUnL5sRak4WRzIQRZ1VTWPvV4VI4mgGjNL9TeKMYA== - dependencies: - "@jest/fake-timers" "30.0.5" - "@jest/types" "30.0.5" - "@types/node" "*" - jest-mock "30.0.5" - -"@jest/expect-utils@30.0.5": - version "30.0.5" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-30.0.5.tgz#9d42e4b8bc80367db30abc6c42b2cb14073f66fc" - integrity sha512-F3lmTT7CXWYywoVUGTCmom0vXq3HTTkaZyTAzIy+bXSBizB7o5qzlC9VCtq0arOa8GqmNsbg/cE9C6HLn7Szew== - dependencies: - "@jest/get-type" "30.0.1" - -"@jest/expect@30.0.5": - version "30.0.5" - resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-30.0.5.tgz#2bbd101df4869f5d171c3cfee881f810f1525005" - integrity sha512-6udac8KKrtTtC+AXZ2iUN/R7dp7Ydry+Fo6FPFnDG54wjVMnb6vW/XNlf7Xj8UDjAE3aAVAsR4KFyKk3TCXmTA== - dependencies: - expect "30.0.5" - jest-snapshot "30.0.5" - -"@jest/fake-timers@30.0.5": - version "30.0.5" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-30.0.5.tgz#c028a9465a44b7744cb2368196bed89ce13c7054" - integrity sha512-ZO5DHfNV+kgEAeP3gK3XlpJLL4U3Sz6ebl/n68Uwt64qFFs5bv4bfEEjyRGK5uM0C90ewooNgFuKMdkbEoMEXw== - dependencies: - "@jest/types" "30.0.5" - "@sinonjs/fake-timers" "^13.0.0" - "@types/node" "*" - jest-message-util "30.0.5" - jest-mock "30.0.5" - jest-util "30.0.5" - -"@jest/get-type@30.0.1": - version "30.0.1" - resolved "https://registry.yarnpkg.com/@jest/get-type/-/get-type-30.0.1.tgz#0d32f1bbfba511948ad247ab01b9007724fc9f52" - integrity sha512-AyYdemXCptSRFirI5EPazNxyPwAL0jXt3zceFjaj8NFiKP9pOi0bfXonf6qkf82z2t3QWPeLCWWw4stPBzctLw== - -"@jest/globals@30.0.5": - version "30.0.5" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-30.0.5.tgz#ca70e0ac08ab40417cf8cd92bcb76116c2ccca63" - integrity sha512-7oEJT19WW4oe6HR7oLRvHxwlJk2gev0U9px3ufs8sX9PoD1Eza68KF0/tlN7X0dq/WVsBScXQGgCldA1V9Y/jA== - dependencies: - "@jest/environment" "30.0.5" - "@jest/expect" "30.0.5" - "@jest/types" "30.0.5" - jest-mock "30.0.5" - -"@jest/pattern@30.0.1": - version "30.0.1" - resolved "https://registry.yarnpkg.com/@jest/pattern/-/pattern-30.0.1.tgz#d5304147f49a052900b4b853dedb111d080e199f" - integrity sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA== - dependencies: - "@types/node" "*" - jest-regex-util "30.0.1" - -"@jest/reporters@30.0.5": - version "30.0.5" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-30.0.5.tgz#b83585e6448d390a8d92a641c567f1655976d5c6" - integrity sha512-mafft7VBX4jzED1FwGC1o/9QUM2xebzavImZMeqnsklgcyxBto8mV4HzNSzUrryJ+8R9MFOM3HgYuDradWR+4g== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "30.0.5" - "@jest/test-result" "30.0.5" - "@jest/transform" "30.0.5" - "@jest/types" "30.0.5" - "@jridgewell/trace-mapping" "^0.3.25" - "@types/node" "*" - chalk "^4.1.2" - collect-v8-coverage "^1.0.2" - exit-x "^0.2.2" - glob "^10.3.10" - graceful-fs "^4.2.11" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^6.0.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^5.0.0" - istanbul-reports "^3.1.3" - jest-message-util "30.0.5" - jest-util "30.0.5" - jest-worker "30.0.5" - slash "^3.0.0" - string-length "^4.0.2" - v8-to-istanbul "^9.0.1" - -"@jest/schemas@30.0.5": - version "30.0.5" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-30.0.5.tgz#7bdf69fc5a368a5abdb49fd91036c55225846473" - integrity sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA== - dependencies: - "@sinclair/typebox" "^0.34.0" - -"@jest/snapshot-utils@30.0.5": - version "30.0.5" - resolved "https://registry.yarnpkg.com/@jest/snapshot-utils/-/snapshot-utils-30.0.5.tgz#e23a0e786f174e8cff7f150c1cfbdc9cb7cc81a4" - integrity sha512-XcCQ5qWHLvi29UUrowgDFvV4t7ETxX91CbDczMnoqXPOIcZOxyNdSjm6kV5XMc8+HkxfRegU/MUmnTbJRzGrUQ== - dependencies: - "@jest/types" "30.0.5" - chalk "^4.1.2" - graceful-fs "^4.2.11" - natural-compare "^1.4.0" - -"@jest/source-map@30.0.1": - version "30.0.1" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-30.0.1.tgz#305ebec50468f13e658b3d5c26f85107a5620aaa" - integrity sha512-MIRWMUUR3sdbP36oyNyhbThLHyJ2eEDClPCiHVbrYAe5g3CHRArIVpBw7cdSB5fr+ofSfIb2Tnsw8iEHL0PYQg== - dependencies: - "@jridgewell/trace-mapping" "^0.3.25" - callsites "^3.1.0" - graceful-fs "^4.2.11" - -"@jest/test-result@30.0.5": - version "30.0.5" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-30.0.5.tgz#064c5210c24d5ea192fb02ceddad3be1cfa557c8" - integrity sha512-wPyztnK0gbDMQAJZ43tdMro+qblDHH1Ru/ylzUo21TBKqt88ZqnKKK2m30LKmLLoKtR2lxdpCC/P3g1vfKcawQ== - dependencies: - "@jest/console" "30.0.5" - "@jest/types" "30.0.5" - "@types/istanbul-lib-coverage" "^2.0.6" - collect-v8-coverage "^1.0.2" - -"@jest/test-sequencer@30.0.5": - version "30.0.5" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-30.0.5.tgz#c6dba8fc3c386dd793c087626e8508ff1ead19f4" - integrity sha512-Aea/G1egWoIIozmDD7PBXUOxkekXl7ueGzrsGGi1SbeKgQqCYCIf+wfbflEbf2LiPxL8j2JZGLyrzZagjvW4YQ== - dependencies: - "@jest/test-result" "30.0.5" - graceful-fs "^4.2.11" - jest-haste-map "30.0.5" - slash "^3.0.0" - -"@jest/transform@30.0.5": - version "30.0.5" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-30.0.5.tgz#f8ca2e9f7466b77b406807d3bef1f6790dd384e4" - integrity sha512-Vk8amLQCmuZyy6GbBht1Jfo9RSdBtg7Lks+B0PecnjI8J+PCLQPGh7uI8Q/2wwpW2gLdiAfiHNsmekKlywULqg== - dependencies: - "@babel/core" "^7.27.4" - "@jest/types" "30.0.5" - "@jridgewell/trace-mapping" "^0.3.25" - babel-plugin-istanbul "^7.0.0" - chalk "^4.1.2" - convert-source-map "^2.0.0" - fast-json-stable-stringify "^2.1.0" - graceful-fs "^4.2.11" - jest-haste-map "30.0.5" - jest-regex-util "30.0.1" - jest-util "30.0.5" - micromatch "^4.0.8" - pirates "^4.0.7" - slash "^3.0.0" - write-file-atomic "^5.0.1" - -"@jest/types@30.0.5": - version "30.0.5" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-30.0.5.tgz#29a33a4c036e3904f1cfd94f6fe77f89d2e1cc05" - integrity sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ== - dependencies: - "@jest/pattern" "30.0.1" - "@jest/schemas" "30.0.5" - "@types/istanbul-lib-coverage" "^2.0.6" - "@types/istanbul-reports" "^3.0.4" - "@types/node" "*" - "@types/yargs" "^17.0.33" - chalk "^4.1.2" - -"@jridgewell/gen-mapping@^0.3.12", "@jridgewell/gen-mapping@^0.3.5": - version "0.3.12" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz#2234ce26c62889f03db3d7fea43c1932ab3e927b" - integrity sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg== - dependencies: - "@jridgewell/sourcemap-codec" "^1.5.0" - "@jridgewell/trace-mapping" "^0.3.24" - -"@jridgewell/resolve-uri@^3.1.0": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" - integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== - -"@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0": - version "1.5.4" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz#7358043433b2e5da569aa02cbc4c121da3af27d7" - integrity sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw== - -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.23", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25", "@jridgewell/trace-mapping@^0.3.28": - version "0.3.29" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz#a58d31eaadaf92c6695680b2e1d464a9b8fbf7fc" - integrity sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@napi-rs/wasm-runtime@^0.2.11": - version "0.2.12" - resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz#3e78a8b96e6c33a6c517e1894efbd5385a7cb6f2" - integrity sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ== - dependencies: - "@emnapi/core" "^1.4.3" - "@emnapi/runtime" "^1.4.3" - "@tybys/wasm-util" "^0.10.0" - -"@pkgjs/parseargs@^0.11.0": - version "0.11.0" - resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" - integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== - -"@pkgr/core@^0.2.9": - version "0.2.9" - resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.2.9.tgz#d229a7b7f9dac167a156992ef23c7f023653f53b" - integrity sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA== - -"@rollup/rollup-android-arm-eabi@4.46.1": - version "4.46.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.46.1.tgz#c659481d5b15054d4636b3dd0c2f50ab3083d839" - integrity sha512-oENme6QxtLCqjChRUUo3S6X8hjCXnWmJWnedD7VbGML5GUtaOtAyx+fEEXnBXVf0CBZApMQU0Idwi0FmyxzQhw== - -"@rollup/rollup-android-arm64@4.46.1": - version "4.46.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.46.1.tgz#7e05c3c0bf6a79ee6b40ab5e778679742f06815d" - integrity sha512-OikvNT3qYTl9+4qQ9Bpn6+XHM+ogtFadRLuT2EXiFQMiNkXFLQfNVppi5o28wvYdHL2s3fM0D/MZJ8UkNFZWsw== - -"@rollup/rollup-darwin-arm64@4.46.1": - version "4.46.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.46.1.tgz#b190fbd0274fbbd4d257ff0b3d68f0885c454e0d" - integrity sha512-EFYNNGij2WllnzljQDQnlFTXzSJw87cpAs4TVBAWLdkvic5Uh5tISrIL6NRcxoh/b2EFBG/TK8hgRrGx94zD4A== - -"@rollup/rollup-darwin-x64@4.46.1": - version "4.46.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.46.1.tgz#a4df7fa06ac318b66a6aa66d6f1e0a58fef58cd3" - integrity sha512-ZaNH06O1KeTug9WI2+GRBE5Ujt9kZw4a1+OIwnBHal92I8PxSsl5KpsrPvthRynkhMck4XPdvY0z26Cym/b7oA== - -"@rollup/rollup-freebsd-arm64@4.46.1": - version "4.46.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.46.1.tgz#6634478a78a0c17dcf55adb621fa66faa58a017b" - integrity sha512-n4SLVebZP8uUlJ2r04+g2U/xFeiQlw09Me5UFqny8HGbARl503LNH5CqFTb5U5jNxTouhRjai6qPT0CR5c/Iig== - -"@rollup/rollup-freebsd-x64@4.46.1": - version "4.46.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.46.1.tgz#db42c46c0263b2562e2ba5c2e00e318646f2b24c" - integrity sha512-8vu9c02F16heTqpvo3yeiu7Vi1REDEC/yES/dIfq3tSXe6mLndiwvYr3AAvd1tMNUqE9yeGYa5w7PRbI5QUV+w== - -"@rollup/rollup-linux-arm-gnueabihf@4.46.1": - version "4.46.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.46.1.tgz#88ca443ad42c70555978b000c6d1dd925fb3203b" - integrity sha512-K4ncpWl7sQuyp6rWiGUvb6Q18ba8mzM0rjWJ5JgYKlIXAau1db7hZnR0ldJvqKWWJDxqzSLwGUhA4jp+KqgDtQ== - -"@rollup/rollup-linux-arm-musleabihf@4.46.1": - version "4.46.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.46.1.tgz#36106fe103d32c2a97583ebadcfb28dc63988bda" - integrity sha512-YykPnXsjUjmXE6j6k2QBBGAn1YsJUix7pYaPLK3RVE0bQL2jfdbfykPxfF8AgBlqtYbfEnYHmLXNa6QETjdOjQ== - -"@rollup/rollup-linux-arm64-gnu@4.46.1": - version "4.46.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.46.1.tgz#00c28bc9210dcfbb5e7fa8e52fd827fb570afe26" - integrity sha512-kKvqBGbZ8i9pCGW3a1FH3HNIVg49dXXTsChGFsHGXQaVJPLA4f/O+XmTxfklhccxdF5FefUn2hvkoGJH0ScWOA== - -"@rollup/rollup-linux-arm64-musl@4.46.1": - version "4.46.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.46.1.tgz#45a13486b5523235eb87b349e7ca5a0bb85a5b0e" - integrity sha512-zzX5nTw1N1plmqC9RGC9vZHFuiM7ZP7oSWQGqpbmfjK7p947D518cVK1/MQudsBdcD84t6k70WNczJOct6+hdg== - -"@rollup/rollup-linux-loongarch64-gnu@4.46.1": - version "4.46.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.46.1.tgz#b8edd99f072cd652acbbddc1c539b1ac4254381d" - integrity sha512-O8CwgSBo6ewPpktFfSDgB6SJN9XDcPSvuwxfejiddbIC/hn9Tg6Ai0f0eYDf3XvB/+PIWzOQL+7+TZoB8p9Yuw== - -"@rollup/rollup-linux-ppc64-gnu@4.46.1": - version "4.46.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.46.1.tgz#0ec72a4f8b7a86b13c0f6b7666ed1d3b6e8e67cc" - integrity sha512-JnCfFVEKeq6G3h3z8e60kAp8Rd7QVnWCtPm7cxx+5OtP80g/3nmPtfdCXbVl063e3KsRnGSKDHUQMydmzc/wBA== - -"@rollup/rollup-linux-riscv64-gnu@4.46.1": - version "4.46.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.46.1.tgz#99f06928528fb58addd12e50827e1a0269c1cca8" - integrity sha512-dVxuDqS237eQXkbYzQQfdf/njgeNw6LZuVyEdUaWwRpKHhsLI+y4H/NJV8xJGU19vnOJCVwaBFgr936FHOnJsQ== - -"@rollup/rollup-linux-riscv64-musl@4.46.1": - version "4.46.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.46.1.tgz#3c14aba63b4170fe3d9d0b6ad98361366170590e" - integrity sha512-CvvgNl2hrZrTR9jXK1ye0Go0HQRT6ohQdDfWR47/KFKiLd5oN5T14jRdUVGF4tnsN8y9oSfMOqH6RuHh+ck8+w== - -"@rollup/rollup-linux-s390x-gnu@4.46.1": - version "4.46.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.46.1.tgz#34c647a823dcdca0f749a2bdcbde4fb131f37a4c" - integrity sha512-x7ANt2VOg2565oGHJ6rIuuAon+A8sfe1IeUx25IKqi49OjSr/K3awoNqr9gCwGEJo9OuXlOn+H2p1VJKx1psxA== - -"@rollup/rollup-linux-x64-gnu@4.46.1": - version "4.46.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.46.1.tgz#3991010418c005e8791c415e7c2072b247157710" - integrity sha512-9OADZYryz/7E8/qt0vnaHQgmia2Y0wrjSSn1V/uL+zw/i7NUhxbX4cHXdEQ7dnJgzYDS81d8+tf6nbIdRFZQoQ== - -"@rollup/rollup-linux-x64-musl@4.46.1": - version "4.46.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.46.1.tgz#f3943e5f284f40ffbcf4a14da9ee2e43d303b462" - integrity sha512-NuvSCbXEKY+NGWHyivzbjSVJi68Xfq1VnIvGmsuXs6TCtveeoDRKutI5vf2ntmNnVq64Q4zInet0UDQ+yMB6tA== - -"@rollup/rollup-win32-arm64-msvc@4.46.1": - version "4.46.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.46.1.tgz#45b5a1d3f0af63f85044913c371d7b0519c913ad" - integrity sha512-mWz+6FSRb82xuUMMV1X3NGiaPFqbLN9aIueHleTZCc46cJvwTlvIh7reQLk4p97dv0nddyewBhwzryBHH7wtPw== - -"@rollup/rollup-win32-ia32-msvc@4.46.1": - version "4.46.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.46.1.tgz#900ef7211d2929e9809f3a044c4e2fd3aa685a0c" - integrity sha512-7Thzy9TMXDw9AU4f4vsLNBxh7/VOKuXi73VH3d/kHGr0tZ3x/ewgL9uC7ojUKmH1/zvmZe2tLapYcZllk3SO8Q== - -"@rollup/rollup-win32-x64-msvc@4.46.1": - version "4.46.1" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.46.1.tgz#932d8696dfef673bee1a1e291a5531d25a6903be" - integrity sha512-7GVB4luhFmGUNXXJhH2jJwZCFB3pIOixv2E3s17GQHBFUOQaISlt7aGcQgqvCaDSxTZJUzlK/QJ1FN8S94MrzQ== - -"@sinclair/typebox@^0.34.0": - version "0.34.38" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.34.38.tgz#2365df7c23406a4d79413a766567bfbca708b49d" - integrity sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA== - -"@sinonjs/commons@^3.0.1": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.1.tgz#1029357e44ca901a615585f6d27738dbc89084cd" - integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^13.0.0": - version "13.0.5" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz#36b9dbc21ad5546486ea9173d6bea063eb1717d5" - integrity sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw== - dependencies: - "@sinonjs/commons" "^3.0.1" - -"@tybys/wasm-util@^0.10.0": - version "0.10.0" - resolved "https://registry.yarnpkg.com/@tybys/wasm-util/-/wasm-util-0.10.0.tgz#2fd3cd754b94b378734ce17058d0507c45c88369" - integrity sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ== - dependencies: - tslib "^2.4.0" - -"@types/babel__core@^7.20.5": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" - integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== - dependencies: - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.27.0" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.27.0.tgz#b5819294c51179957afaec341442f9341e4108a9" - integrity sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" - integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.7.tgz#968cdc2366ec3da159f61166428ee40f370e56c2" - integrity sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng== - dependencies: - "@babel/types" "^7.20.7" - -"@types/chai@^5.2.2": - version "5.2.2" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-5.2.2.tgz#6f14cea18180ffc4416bc0fd12be05fdd73bdd6b" - integrity sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg== - dependencies: - "@types/deep-eql" "*" - -"@types/deep-eql@*": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/deep-eql/-/deep-eql-4.0.2.tgz#334311971d3a07121e7eb91b684a605e7eea9cbd" - integrity sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw== - -"@types/estree@1.0.8", "@types/estree@^1.0.0": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e" - integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w== - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.1", "@types/istanbul-lib-coverage@^2.0.6": - version "2.0.6" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" - integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== - -"@types/istanbul-lib-report@*": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" - integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" - integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jsdom@^21.1.7": - version "21.1.7" - resolved "https://registry.yarnpkg.com/@types/jsdom/-/jsdom-21.1.7.tgz#9edcb09e0b07ce876e7833922d3274149c898cfa" - integrity sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA== - dependencies: - "@types/node" "*" - "@types/tough-cookie" "*" - parse5 "^7.0.0" - -"@types/node@*": - version "24.1.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-24.1.0.tgz#0993f7dc31ab5cc402d112315b463e383d68a49c" - integrity sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w== - dependencies: - undici-types "~7.8.0" - -"@types/node@^10.9.4": - version "10.17.60" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.60.tgz#35f3d6213daed95da7f0f73e75bcc6980e90597b" - integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== - -"@types/stack-utils@^2.0.3": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" - integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== - -"@types/tough-cookie@*": - version "4.0.5" - resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.5.tgz#cb6e2a691b70cb177c6e3ae9c1d2e8b2ea8cd304" - integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA== - -"@types/yargs-parser@*": - version "21.0.3" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" - integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== - -"@types/yargs@^17.0.33": - version "17.0.33" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.33.tgz#8c32303da83eec050a84b3c7ae7b9f922d13e32d" - integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA== - dependencies: - "@types/yargs-parser" "*" - -"@ungap/structured-clone@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.3.0.tgz#d06bbb384ebcf6c505fde1c3d0ed4ddffe0aaff8" - integrity sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g== - -"@unrs/resolver-binding-android-arm-eabi@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz#9f5b04503088e6a354295e8ea8fe3cb99e43af81" - integrity sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw== - -"@unrs/resolver-binding-android-arm64@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz#7414885431bd7178b989aedc4d25cccb3865bc9f" - integrity sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g== - -"@unrs/resolver-binding-darwin-arm64@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz#b4a8556f42171fb9c9f7bac8235045e82aa0cbdf" - integrity sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g== - -"@unrs/resolver-binding-darwin-x64@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz#fd4d81257b13f4d1a083890a6a17c00de571f0dc" - integrity sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ== - -"@unrs/resolver-binding-freebsd-x64@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz#d2513084d0f37c407757e22f32bd924a78cfd99b" - integrity sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw== - -"@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz#844d2605d057488d77fab09705f2866b86164e0a" - integrity sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw== - -"@unrs/resolver-binding-linux-arm-musleabihf@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz#204892995cefb6bd1d017d52d097193bc61ddad3" - integrity sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw== - -"@unrs/resolver-binding-linux-arm64-gnu@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz#023eb0c3aac46066a10be7a3f362e7b34f3bdf9d" - integrity sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ== - -"@unrs/resolver-binding-linux-arm64-musl@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz#9e6f9abb06424e3140a60ac996139786f5d99be0" - integrity sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w== - -"@unrs/resolver-binding-linux-ppc64-gnu@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz#b111417f17c9d1b02efbec8e08398f0c5527bb44" - integrity sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA== - -"@unrs/resolver-binding-linux-riscv64-gnu@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz#92ffbf02748af3e99873945c9a8a5ead01d508a9" - integrity sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ== - -"@unrs/resolver-binding-linux-riscv64-musl@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz#0bec6f1258fc390e6b305e9ff44256cb207de165" - integrity sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew== - -"@unrs/resolver-binding-linux-s390x-gnu@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz#577843a084c5952f5906770633ccfb89dac9bc94" - integrity sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg== - -"@unrs/resolver-binding-linux-x64-gnu@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz#36fb318eebdd690f6da32ac5e0499a76fa881935" - integrity sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w== - -"@unrs/resolver-binding-linux-x64-musl@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz#bfb9af75f783f98f6a22c4244214efe4df1853d6" - integrity sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA== - -"@unrs/resolver-binding-wasm32-wasi@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz#752c359dd875684b27429500d88226d7cc72f71d" - integrity sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ== - dependencies: - "@napi-rs/wasm-runtime" "^0.2.11" - -"@unrs/resolver-binding-win32-arm64-msvc@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz#ce5735e600e4c2fbb409cd051b3b7da4a399af35" - integrity sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw== - -"@unrs/resolver-binding-win32-ia32-msvc@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz#72fc57bc7c64ec5c3de0d64ee0d1810317bc60a6" - integrity sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ== - -"@unrs/resolver-binding-win32-x64-msvc@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz#538b1e103bf8d9864e7b85cc96fa8d6fb6c40777" - integrity sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g== - -"@vitest/expect@3.2.4": - version "3.2.4" - resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-3.2.4.tgz#8362124cd811a5ee11c5768207b9df53d34f2433" - integrity sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig== - dependencies: - "@types/chai" "^5.2.2" - "@vitest/spy" "3.2.4" - "@vitest/utils" "3.2.4" - chai "^5.2.0" - tinyrainbow "^2.0.0" - -"@vitest/mocker@3.2.4": - version "3.2.4" - resolved "https://registry.yarnpkg.com/@vitest/mocker/-/mocker-3.2.4.tgz#4471c4efbd62db0d4fa203e65cc6b058a85cabd3" - integrity sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ== - dependencies: - "@vitest/spy" "3.2.4" - estree-walker "^3.0.3" - magic-string "^0.30.17" - -"@vitest/pretty-format@3.2.4", "@vitest/pretty-format@^3.2.4": - version "3.2.4" - resolved "https://registry.yarnpkg.com/@vitest/pretty-format/-/pretty-format-3.2.4.tgz#3c102f79e82b204a26c7a5921bf47d534919d3b4" - integrity sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA== - dependencies: - tinyrainbow "^2.0.0" - -"@vitest/runner@3.2.4": - version "3.2.4" - resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-3.2.4.tgz#5ce0274f24a971f6500f6fc166d53d8382430766" - integrity sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ== - dependencies: - "@vitest/utils" "3.2.4" - pathe "^2.0.3" - strip-literal "^3.0.0" - -"@vitest/snapshot@3.2.4": - version "3.2.4" - resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-3.2.4.tgz#40a8bc0346ac0aee923c0eefc2dc005d90bc987c" - integrity sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ== - dependencies: - "@vitest/pretty-format" "3.2.4" - magic-string "^0.30.17" - pathe "^2.0.3" - -"@vitest/spy@3.2.4": - version "3.2.4" - resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-3.2.4.tgz#cc18f26f40f3f028da6620046881f4e4518c2599" - integrity sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw== - dependencies: - tinyspy "^4.0.3" - -"@vitest/utils@3.2.4": - version "3.2.4" - resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-3.2.4.tgz#c0813bc42d99527fb8c5b138c7a88516bca46fea" - integrity sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA== - dependencies: - "@vitest/pretty-format" "3.2.4" - loupe "^3.1.4" - tinyrainbow "^2.0.0" - -agent-base@^7.1.0, agent-base@^7.1.2: - version "7.1.4" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.4.tgz#e3cd76d4c548ee895d3c3fd8dc1f6c5b9032e7a8" - integrity sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ== - -ansi-escapes@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-regex@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.1.0.tgz#95ec409c69619d6cb1b8b34f14b660ef28ebd654" - integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA== - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -ansi-styles@^6.1.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" - integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== - -anymatch@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -assertion-error@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-2.0.1.tgz#f641a196b335690b1070bf00b6e7593fec190bf7" - integrity sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA== - -babel-jest@30.0.5: - version "30.0.5" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-30.0.5.tgz#7cc7dd03d0d613125d458521f635b8c2361e89cc" - integrity sha512-mRijnKimhGDMsizTvBTWotwNpzrkHr+VvZUQBof2AufXKB8NXrL1W69TG20EvOz7aevx6FTJIaBuBkYxS8zolg== - dependencies: - "@jest/transform" "30.0.5" - "@types/babel__core" "^7.20.5" - babel-plugin-istanbul "^7.0.0" - babel-preset-jest "30.0.1" - chalk "^4.1.2" - graceful-fs "^4.2.11" - slash "^3.0.0" - -babel-plugin-istanbul@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-7.0.0.tgz#629a178f63b83dc9ecee46fd20266283b1f11280" - integrity sha512-C5OzENSx/A+gt7t4VH1I2XsflxyPUmXRFPKBxt33xncdOmq7oROVM3bZv9Ysjjkv8OJYDMa+tKuKMvqU/H3xdw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.3" - istanbul-lib-instrument "^6.0.2" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@30.0.1: - version "30.0.1" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.0.1.tgz#f271b2066d2c1fb26a863adb8e13f85b06247125" - integrity sha512-zTPME3pI50NsFW8ZBaVIOeAxzEY7XHlmWeXXu9srI+9kNfzCUTy8MFan46xOGZY8NZThMqq+e3qZUKsvXbasnQ== - dependencies: - "@babel/template" "^7.27.2" - "@babel/types" "^7.27.3" - "@types/babel__core" "^7.20.5" - -babel-preset-current-node-syntax@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz#9a929eafece419612ef4ae4f60b1862ebad8ef30" - integrity sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw== - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-import-attributes" "^7.24.7" - "@babel/plugin-syntax-import-meta" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - -babel-preset-jest@30.0.1: - version "30.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-30.0.1.tgz#7d28db9531bce264e846c8483d54236244b8ae88" - integrity sha512-+YHejD5iTWI46cZmcc/YtX4gaKBtdqCHCVfuVinizVpbmyjO3zYmeuyFdfA8duRqQZfgCAMlsfmkVbJ+e2MAJw== - dependencies: - babel-plugin-jest-hoist "30.0.1" - babel-preset-current-node-syntax "^1.1.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -brace-expansion@^1.1.7: - version "1.1.12" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.12.tgz#ab9b454466e5a8cc3a187beaad580412a9c5b843" - integrity sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.2.tgz#54fc53237a613d854c7bd37463aad17df87214e7" - integrity sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ== - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" - integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== - dependencies: - fill-range "^7.1.1" - -browser-stdout@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" - integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== - -browserslist@^4.24.0: - version "4.25.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.25.1.tgz#ba9e8e6f298a1d86f829c9b975e07948967bb111" - integrity sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw== - dependencies: - caniuse-lite "^1.0.30001726" - electron-to-chromium "^1.5.173" - node-releases "^2.0.19" - update-browserslist-db "^1.1.3" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -cac@^6.7.14: - version "6.7.14" - resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.14.tgz#804e1e6f506ee363cb0e3ccbb09cad5dd9870959" - integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== - -callsites@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.0.0, camelcase@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-lite@^1.0.30001726: - version "1.0.30001727" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001727.tgz#22e9706422ad37aa50556af8c10e40e2d93a8b85" - integrity sha512-pB68nIHmbN6L/4C6MH1DokyR3bYqFwjaSs/sWDHGj4CTcFtQUQMuJftVwWkXq7mNWOybD3KhUv3oWHoGxgP14Q== - -chai@^5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/chai/-/chai-5.2.1.tgz#a9502462bdc79cf90b4a0953537a9908aa638b47" - integrity sha512-5nFxhUrX0PqtyogoYOA8IPswy5sZFTOsBFl/9bNsmDLgsxYTzSZQJDPppDnZPTQbzSEm0hqGjWPzRemQCYbD6A== - dependencies: - assertion-error "^2.0.1" - check-error "^2.1.1" - deep-eql "^5.0.1" - loupe "^3.1.0" - pathval "^2.0.0" - -chalk@^4.1.0, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -check-error@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/check-error/-/check-error-2.1.1.tgz#87eb876ae71ee388fa0471fe423f494be1d96ccc" - integrity sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw== - -chokidar@^4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.3.tgz#7be37a4c03c9aee1ecfe862a4a23b2c70c205d30" - integrity sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA== - dependencies: - readdirp "^4.0.1" - -ci-info@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-4.3.0.tgz#c39b1013f8fdbd28cd78e62318357d02da160cd7" - integrity sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ== - -cjs-module-lexer@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-2.1.0.tgz#586e87d4341cb2661850ece5190232ccdebcff8b" - integrity sha512-UX0OwmYRYQQetfrLEZeewIFFI+wSTofC+pMBLNuH3RUuu/xzG1oz84UCEDOSoQlN3fZ4+AzmV50ZYvGqkMh9yA== - -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" - integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== - -collect-v8-coverage@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" - integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -convert-source-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== - -cross-spawn@^7.0.3, cross-spawn@^7.0.6: - version "7.0.6" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" - integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -cssstyle@^4.2.1: - version "4.6.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-4.6.0.tgz#ea18007024e3167f4f105315f3ec2d982bf48ed9" - integrity sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg== - dependencies: - "@asamuzakjp/css-color" "^3.2.0" - rrweb-cssom "^0.8.0" - -data-urls@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-5.0.0.tgz#2f76906bce1824429ffecb6920f45a0b30f00dde" - integrity sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg== - dependencies: - whatwg-mimetype "^4.0.0" - whatwg-url "^14.0.0" - -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.4, debug@^4.3.5, debug@^4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b" - integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ== - dependencies: - ms "^2.1.3" - -decamelize@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" - integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== - -decimal.js@^10.5.0: - version "10.6.0" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.6.0.tgz#e649a43e3ab953a72192ff5983865e509f37ed9a" - integrity sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg== - -dedent@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.6.0.tgz#79d52d6389b1ffa67d2bcef59ba51847a9d503b2" - integrity sha512-F1Z+5UCFpmQUzJa11agbyPVMbpgT/qA3/SKyJ1jyBgm7dUcUEa8v9JwDkerSQXfakBwFljIxhOJqGkjUwZ9FSA== - -deep-eql@^5.0.1: - version "5.0.2" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-5.0.2.tgz#4b756d8d770a9257300825d52a2c2cff99c3a341" - integrity sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q== - -deepmerge@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" - integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== - -detect-newline@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -diff@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-7.0.0.tgz#3fb34d387cd76d803f6eebea67b921dab0182a9a" - integrity sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw== - -"domino@https://github.com/angular/domino.git#93e720f143d0296dd2726ffbcf4fc12283363a7b": - version "2.1.6" - resolved "https://github.com/angular/domino.git#93e720f143d0296dd2726ffbcf4fc12283363a7b" - -eastasianwidth@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" - integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== - -electron-to-chromium@^1.5.173: - version "1.5.191" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.191.tgz#8ae49a471447b1ceaf1d4d183a9000082f52363c" - integrity sha512-xcwe9ELcuxYLUFqZZxL19Z6HVKcvNkIwhbHUz7L3us6u12yR+7uY89dSl570f/IqNthx8dAw3tojG7i4Ni4tDA== - -emittery@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" - integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - -entities@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/entities/-/entities-6.0.1.tgz#c28c34a43379ca7f61d074130b2f5f7020a30694" - integrity sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g== - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es-module-lexer@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.7.0.tgz#9159601561880a85f2734560a9099b2c31e5372a" - integrity sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA== - -esbuild@^0.25.0: - version "0.25.8" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.25.8.tgz#482d42198b427c9c2f3a81b63d7663aecb1dda07" - integrity sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q== - optionalDependencies: - "@esbuild/aix-ppc64" "0.25.8" - "@esbuild/android-arm" "0.25.8" - "@esbuild/android-arm64" "0.25.8" - "@esbuild/android-x64" "0.25.8" - "@esbuild/darwin-arm64" "0.25.8" - "@esbuild/darwin-x64" "0.25.8" - "@esbuild/freebsd-arm64" "0.25.8" - "@esbuild/freebsd-x64" "0.25.8" - "@esbuild/linux-arm" "0.25.8" - "@esbuild/linux-arm64" "0.25.8" - "@esbuild/linux-ia32" "0.25.8" - "@esbuild/linux-loong64" "0.25.8" - "@esbuild/linux-mips64el" "0.25.8" - "@esbuild/linux-ppc64" "0.25.8" - "@esbuild/linux-riscv64" "0.25.8" - "@esbuild/linux-s390x" "0.25.8" - "@esbuild/linux-x64" "0.25.8" - "@esbuild/netbsd-arm64" "0.25.8" - "@esbuild/netbsd-x64" "0.25.8" - "@esbuild/openbsd-arm64" "0.25.8" - "@esbuild/openbsd-x64" "0.25.8" - "@esbuild/openharmony-arm64" "0.25.8" - "@esbuild/sunos-x64" "0.25.8" - "@esbuild/win32-arm64" "0.25.8" - "@esbuild/win32-ia32" "0.25.8" - "@esbuild/win32-x64" "0.25.8" - -escalade@^3.1.1, escalade@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" - integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -estree-walker@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.3.tgz#67c3e549ec402a487b4fc193d1953a524752340d" - integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== - dependencies: - "@types/estree" "^1.0.0" - -execa@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -exit-x@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/exit-x/-/exit-x-0.2.2.tgz#1f9052de3b8d99a696b10dad5bced9bdd5c3aa64" - integrity sha512-+I6B/IkJc1o/2tiURyz/ivu/O0nKNEArIUB5O7zBrlDVJr22SCLH3xTeEry428LvFhRzIA1g8izguxJ/gbNcVQ== - -expect-type@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/expect-type/-/expect-type-1.2.2.tgz#c030a329fb61184126c8447585bc75a7ec6fbff3" - integrity sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA== - -expect@30.0.5: - version "30.0.5" - resolved "https://registry.yarnpkg.com/expect/-/expect-30.0.5.tgz#c23bf193c5e422a742bfd2990ad990811de41a5a" - integrity sha512-P0te2pt+hHI5qLJkIR+iMvS+lYUZml8rKKsohVHAGY+uClp9XVbdyYNJOIjSRpHVp8s8YqxJCiHUkSYZGr8rtQ== - dependencies: - "@jest/expect-utils" "30.0.5" - "@jest/get-type" "30.0.1" - jest-matcher-utils "30.0.5" - jest-message-util "30.0.5" - jest-mock "30.0.5" - jest-util "30.0.5" - -fast-json-stable-stringify@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fb-watchman@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" - integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== - dependencies: - bser "2.1.1" - -fdir@^6.4.4, fdir@^6.4.6: - version "6.4.6" - resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.4.6.tgz#2b268c0232697063111bbf3f64810a2a741ba281" - integrity sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w== - -fill-range@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" - integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== - dependencies: - to-regex-range "^5.0.1" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" - integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== - -foreground-child@^3.1.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.1.tgz#32e8e9ed1b68a3497befb9ac2b6adf92a638576f" - integrity sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw== - dependencies: - cross-spawn "^7.0.6" - signal-exit "^4.0.1" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@^2.3.3, fsevents@~2.3.2, fsevents@~2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" - integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -glob@^10.3.10, glob@^10.4.5: - version "10.4.5" - resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.5.tgz#f4d9f0b90ffdbab09c9d77f5f29b4262517b0956" - integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg== - dependencies: - foreground-child "^3.1.0" - jackspeak "^3.1.2" - minimatch "^9.0.4" - minipass "^7.1.2" - package-json-from-dist "^1.0.0" - path-scurry "^1.11.1" - -glob@^7.1.4: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -graceful-fs@^4.2.11: - version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -he@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -html-encoding-sniffer@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz#696df529a7cfd82446369dc5193e590a3735b448" - integrity sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ== - dependencies: - whatwg-encoding "^3.1.1" - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -http-proxy-agent@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz#9a8b1f246866c028509486585f62b8f2c18c270e" - integrity sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig== - dependencies: - agent-base "^7.1.0" - debug "^4.3.4" - -https-proxy-agent@^7.0.6: - version "7.0.6" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz#da8dfeac7da130b05c2ba4b59c9b6cd66611a6b9" - integrity sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw== - dependencies: - agent-base "^7.1.2" - debug "4" - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -iconv-lite@0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - -import-local@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.2.0.tgz#c3d5c745798c02a6f8b897726aba5100186ee260" - integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-generator-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-plain-obj@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" - integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== - -is-potential-custom-element-name@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" - integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" - integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" - integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== - -istanbul-lib-instrument@^6.0.0, istanbul-lib-instrument@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz#fa15401df6c15874bcb2105f773325d78c666765" - integrity sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q== - dependencies: - "@babel/core" "^7.23.9" - "@babel/parser" "^7.23.9" - "@istanbuljs/schema" "^0.1.3" - istanbul-lib-coverage "^3.2.0" - semver "^7.5.4" - -istanbul-lib-report@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" - integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^4.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^5.0.0: - version "5.0.6" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz#acaef948df7747c8eb5fbf1265cb980f6353a441" - integrity sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A== - dependencies: - "@jridgewell/trace-mapping" "^0.3.23" - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - -istanbul-reports@^3.1.3: - version "3.1.7" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz#daed12b9e1dca518e15c056e1e537e741280fa0b" - integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jackspeak@^3.1.2: - version "3.4.3" - resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.3.tgz#8833a9d89ab4acde6188942bd1c53b6390ed5a8a" - integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw== - dependencies: - "@isaacs/cliui" "^8.0.2" - optionalDependencies: - "@pkgjs/parseargs" "^0.11.0" - -jest-changed-files@30.0.5: - version "30.0.5" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-30.0.5.tgz#ec448f83bd9caa894dd7da8707f207c356a19924" - integrity sha512-bGl2Ntdx0eAwXuGpdLdVYVr5YQHnSZlQ0y9HVDu565lCUAe9sj6JOtBbMmBBikGIegne9piDDIOeiLVoqTkz4A== - dependencies: - execa "^5.1.1" - jest-util "30.0.5" - p-limit "^3.1.0" - -jest-circus@30.0.5: - version "30.0.5" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-30.0.5.tgz#9b4d44feb56c7ffe14411ad7fc08af188c5d4da7" - integrity sha512-h/sjXEs4GS+NFFfqBDYT7y5Msfxh04EwWLhQi0F8kuWpe+J/7tICSlswU8qvBqumR3kFgHbfu7vU6qruWWBPug== - dependencies: - "@jest/environment" "30.0.5" - "@jest/expect" "30.0.5" - "@jest/test-result" "30.0.5" - "@jest/types" "30.0.5" - "@types/node" "*" - chalk "^4.1.2" - co "^4.6.0" - dedent "^1.6.0" - is-generator-fn "^2.1.0" - jest-each "30.0.5" - jest-matcher-utils "30.0.5" - jest-message-util "30.0.5" - jest-runtime "30.0.5" - jest-snapshot "30.0.5" - jest-util "30.0.5" - p-limit "^3.1.0" - pretty-format "30.0.5" - pure-rand "^7.0.0" - slash "^3.0.0" - stack-utils "^2.0.6" - -jest-cli@30.0.5: - version "30.0.5" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-30.0.5.tgz#c3fbfdabd1a5c428429476f915a1ba6d0774cc50" - integrity sha512-Sa45PGMkBZzF94HMrlX4kUyPOwUpdZasaliKN3mifvDmkhLYqLLg8HQTzn6gq7vJGahFYMQjXgyJWfYImKZzOw== - dependencies: - "@jest/core" "30.0.5" - "@jest/test-result" "30.0.5" - "@jest/types" "30.0.5" - chalk "^4.1.2" - exit-x "^0.2.2" - import-local "^3.2.0" - jest-config "30.0.5" - jest-util "30.0.5" - jest-validate "30.0.5" - yargs "^17.7.2" - -jest-config@30.0.5: - version "30.0.5" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-30.0.5.tgz#567cf39b595229b786506a496c22e222d5e8d480" - integrity sha512-aIVh+JNOOpzUgzUnPn5FLtyVnqc3TQHVMupYtyeURSb//iLColiMIR8TxCIDKyx9ZgjKnXGucuW68hCxgbrwmA== - dependencies: - "@babel/core" "^7.27.4" - "@jest/get-type" "30.0.1" - "@jest/pattern" "30.0.1" - "@jest/test-sequencer" "30.0.5" - "@jest/types" "30.0.5" - babel-jest "30.0.5" - chalk "^4.1.2" - ci-info "^4.2.0" - deepmerge "^4.3.1" - glob "^10.3.10" - graceful-fs "^4.2.11" - jest-circus "30.0.5" - jest-docblock "30.0.1" - jest-environment-node "30.0.5" - jest-regex-util "30.0.1" - jest-resolve "30.0.5" - jest-runner "30.0.5" - jest-util "30.0.5" - jest-validate "30.0.5" - micromatch "^4.0.8" - parse-json "^5.2.0" - pretty-format "30.0.5" - slash "^3.0.0" - strip-json-comments "^3.1.1" - -jest-diff@30.0.5: - version "30.0.5" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-30.0.5.tgz#b40f81e0c0d13e5b81c4d62b0d0dfa6a524ee0fd" - integrity sha512-1UIqE9PoEKaHcIKvq2vbibrCog4Y8G0zmOxgQUVEiTqwR5hJVMCoDsN1vFvI5JvwD37hjueZ1C4l2FyGnfpE0A== - dependencies: - "@jest/diff-sequences" "30.0.1" - "@jest/get-type" "30.0.1" - chalk "^4.1.2" - pretty-format "30.0.5" - -jest-docblock@30.0.1: - version "30.0.1" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-30.0.1.tgz#545ff59f2fa88996bd470dba7d3798a8421180b1" - integrity sha512-/vF78qn3DYphAaIc3jy4gA7XSAz167n9Bm/wn/1XhTLW7tTBIzXtCJpb/vcmc73NIIeeohCbdL94JasyXUZsGA== - dependencies: - detect-newline "^3.1.0" - -jest-each@30.0.5: - version "30.0.5" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-30.0.5.tgz#5962264ff246cd757ba44db096c1bc5b4835173e" - integrity sha512-dKjRsx1uZ96TVyejD3/aAWcNKy6ajMaN531CwWIsrazIqIoXI9TnnpPlkrEYku/8rkS3dh2rbH+kMOyiEIv0xQ== - dependencies: - "@jest/get-type" "30.0.1" - "@jest/types" "30.0.5" - chalk "^4.1.2" - jest-util "30.0.5" - pretty-format "30.0.5" - -jest-environment-jsdom@^30.0.0: - version "30.0.5" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-30.0.5.tgz#36351cc8a14fcd54945da0beb029af493d7d5764" - integrity sha512-BmnDEoAH+jEjkPrvE9DTKS2r3jYSJWlN/r46h0/DBUxKrkgt2jAZ5Nj4wXLAcV1KWkRpcFqA5zri9SWzJZ1cCg== - dependencies: - "@jest/environment" "30.0.5" - "@jest/environment-jsdom-abstract" "30.0.5" - "@types/jsdom" "^21.1.7" - "@types/node" "*" - jsdom "^26.1.0" - -jest-environment-node@30.0.5, jest-environment-node@^30.0.0: - version "30.0.5" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-30.0.5.tgz#6a98dd80e0384ead67ed05643381395f6cda93c9" - integrity sha512-ppYizXdLMSvciGsRsMEnv/5EFpvOdXBaXRBzFUDPWrsfmog4kYrOGWXarLllz6AXan6ZAA/kYokgDWuos1IKDA== - dependencies: - "@jest/environment" "30.0.5" - "@jest/fake-timers" "30.0.5" - "@jest/types" "30.0.5" - "@types/node" "*" - jest-mock "30.0.5" - jest-util "30.0.5" - jest-validate "30.0.5" - -jest-haste-map@30.0.5: - version "30.0.5" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-30.0.5.tgz#fdd0daa322b02eb34267854cff2859fae21e92a6" - integrity sha512-dkmlWNlsTSR0nH3nRfW5BKbqHefLZv0/6LCccG0xFCTWcJu8TuEwG+5Cm75iBfjVoockmO6J35o5gxtFSn5xeg== - dependencies: - "@jest/types" "30.0.5" - "@types/node" "*" - anymatch "^3.1.3" - fb-watchman "^2.0.2" - graceful-fs "^4.2.11" - jest-regex-util "30.0.1" - jest-util "30.0.5" - jest-worker "30.0.5" - micromatch "^4.0.8" - walker "^1.0.8" - optionalDependencies: - fsevents "^2.3.3" - -jest-leak-detector@30.0.5: - version "30.0.5" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-30.0.5.tgz#00cfd2b323f48d8f4416b0a3e05fcf4c51f18864" - integrity sha512-3Uxr5uP8jmHMcsOtYMRB/zf1gXN3yUIc+iPorhNETG54gErFIiUhLvyY/OggYpSMOEYqsmRxmuU4ZOoX5jpRFg== - dependencies: - "@jest/get-type" "30.0.1" - pretty-format "30.0.5" - -jest-matcher-utils@30.0.5: - version "30.0.5" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-30.0.5.tgz#dff3334be58faea4a5e1becc228656fbbfc2467d" - integrity sha512-uQgGWt7GOrRLP1P7IwNWwK1WAQbq+m//ZY0yXygyfWp0rJlksMSLQAA4wYQC3b6wl3zfnchyTx+k3HZ5aPtCbQ== - dependencies: - "@jest/get-type" "30.0.1" - chalk "^4.1.2" - jest-diff "30.0.5" - pretty-format "30.0.5" - -jest-message-util@30.0.5: - version "30.0.5" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-30.0.5.tgz#dd12ffec91dd3fa6a59cbd538a513d8e239e070c" - integrity sha512-NAiDOhsK3V7RU0Aa/HnrQo+E4JlbarbmI3q6Pi4KcxicdtjV82gcIUrejOtczChtVQR4kddu1E1EJlW6EN9IyA== - dependencies: - "@babel/code-frame" "^7.27.1" - "@jest/types" "30.0.5" - "@types/stack-utils" "^2.0.3" - chalk "^4.1.2" - graceful-fs "^4.2.11" - micromatch "^4.0.8" - pretty-format "30.0.5" - slash "^3.0.0" - stack-utils "^2.0.6" - -jest-mock@30.0.5: - version "30.0.5" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-30.0.5.tgz#ef437e89212560dd395198115550085038570bdd" - integrity sha512-Od7TyasAAQX/6S+QCbN6vZoWOMwlTtzzGuxJku1GhGanAjz9y+QsQkpScDmETvdc9aSXyJ/Op4rhpMYBWW91wQ== - dependencies: - "@jest/types" "30.0.5" - "@types/node" "*" - jest-util "30.0.5" - -jest-pnp-resolver@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" - integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== - -jest-regex-util@30.0.1: - version "30.0.1" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-30.0.1.tgz#f17c1de3958b67dfe485354f5a10093298f2a49b" - integrity sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA== - -jest-resolve-dependencies@30.0.5: - version "30.0.5" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-30.0.5.tgz#53be4c51d296c84a0e75608e7b77b6fe92dbac29" - integrity sha512-/xMvBR4MpwkrHW4ikZIWRttBBRZgWK4d6xt3xW1iRDSKt4tXzYkMkyPfBnSCgv96cpkrctfXs6gexeqMYqdEpw== - dependencies: - jest-regex-util "30.0.1" - jest-snapshot "30.0.5" - -jest-resolve@30.0.5: - version "30.0.5" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-30.0.5.tgz#f52f91600070b7073db465dc553eee5471ea8e06" - integrity sha512-d+DjBQ1tIhdz91B79mywH5yYu76bZuE96sSbxj8MkjWVx5WNdt1deEFRONVL4UkKLSrAbMkdhb24XN691yDRHg== - dependencies: - chalk "^4.1.2" - graceful-fs "^4.2.11" - jest-haste-map "30.0.5" - jest-pnp-resolver "^1.2.3" - jest-util "30.0.5" - jest-validate "30.0.5" - slash "^3.0.0" - unrs-resolver "^1.7.11" - -jest-runner@30.0.5: - version "30.0.5" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-30.0.5.tgz#5cbaaf85964246da4f65d697f186846f23cd9b5a" - integrity sha512-JcCOucZmgp+YuGgLAXHNy7ualBx4wYSgJVWrYMRBnb79j9PD0Jxh0EHvR5Cx/r0Ce+ZBC4hCdz2AzFFLl9hCiw== - dependencies: - "@jest/console" "30.0.5" - "@jest/environment" "30.0.5" - "@jest/test-result" "30.0.5" - "@jest/transform" "30.0.5" - "@jest/types" "30.0.5" - "@types/node" "*" - chalk "^4.1.2" - emittery "^0.13.1" - exit-x "^0.2.2" - graceful-fs "^4.2.11" - jest-docblock "30.0.1" - jest-environment-node "30.0.5" - jest-haste-map "30.0.5" - jest-leak-detector "30.0.5" - jest-message-util "30.0.5" - jest-resolve "30.0.5" - jest-runtime "30.0.5" - jest-util "30.0.5" - jest-watcher "30.0.5" - jest-worker "30.0.5" - p-limit "^3.1.0" - source-map-support "0.5.13" - -jest-runtime@30.0.5: - version "30.0.5" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-30.0.5.tgz#d6a7e22687264240d1786d6f7682ac6a2872e552" - integrity sha512-7oySNDkqpe4xpX5PPiJTe5vEa+Ak/NnNz2bGYZrA1ftG3RL3EFlHaUkA1Cjx+R8IhK0Vg43RML5mJedGTPNz3A== - dependencies: - "@jest/environment" "30.0.5" - "@jest/fake-timers" "30.0.5" - "@jest/globals" "30.0.5" - "@jest/source-map" "30.0.1" - "@jest/test-result" "30.0.5" - "@jest/transform" "30.0.5" - "@jest/types" "30.0.5" - "@types/node" "*" - chalk "^4.1.2" - cjs-module-lexer "^2.1.0" - collect-v8-coverage "^1.0.2" - glob "^10.3.10" - graceful-fs "^4.2.11" - jest-haste-map "30.0.5" - jest-message-util "30.0.5" - jest-mock "30.0.5" - jest-regex-util "30.0.1" - jest-resolve "30.0.5" - jest-snapshot "30.0.5" - jest-util "30.0.5" - slash "^3.0.0" - strip-bom "^4.0.0" - -jest-snapshot@30.0.5: - version "30.0.5" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-30.0.5.tgz#6600716eef2e6d8ea1dd788ae4385f3a2791b11f" - integrity sha512-T00dWU/Ek3LqTp4+DcW6PraVxjk28WY5Ua/s+3zUKSERZSNyxTqhDXCWKG5p2HAJ+crVQ3WJ2P9YVHpj1tkW+g== - dependencies: - "@babel/core" "^7.27.4" - "@babel/generator" "^7.27.5" - "@babel/plugin-syntax-jsx" "^7.27.1" - "@babel/plugin-syntax-typescript" "^7.27.1" - "@babel/types" "^7.27.3" - "@jest/expect-utils" "30.0.5" - "@jest/get-type" "30.0.1" - "@jest/snapshot-utils" "30.0.5" - "@jest/transform" "30.0.5" - "@jest/types" "30.0.5" - babel-preset-current-node-syntax "^1.1.0" - chalk "^4.1.2" - expect "30.0.5" - graceful-fs "^4.2.11" - jest-diff "30.0.5" - jest-matcher-utils "30.0.5" - jest-message-util "30.0.5" - jest-util "30.0.5" - pretty-format "30.0.5" - semver "^7.7.2" - synckit "^0.11.8" - -jest-util@30.0.5: - version "30.0.5" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-30.0.5.tgz#035d380c660ad5f1748dff71c4105338e05f8669" - integrity sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g== - dependencies: - "@jest/types" "30.0.5" - "@types/node" "*" - chalk "^4.1.2" - ci-info "^4.2.0" - graceful-fs "^4.2.11" - picomatch "^4.0.2" - -jest-validate@30.0.5: - version "30.0.5" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-30.0.5.tgz#d26fd218b8d566bff48fd98880b8ea94fd0d8456" - integrity sha512-ouTm6VFHaS2boyl+k4u+Qip4TSH7Uld5tyD8psQ8abGgt2uYYB8VwVfAHWHjHc0NWmGGbwO5h0sCPOGHHevefw== - dependencies: - "@jest/get-type" "30.0.1" - "@jest/types" "30.0.5" - camelcase "^6.3.0" - chalk "^4.1.2" - leven "^3.1.0" - pretty-format "30.0.5" - -jest-watcher@30.0.5: - version "30.0.5" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-30.0.5.tgz#90db6e3f582b88085bde58f7555cbdd3a1beb10d" - integrity sha512-z9slj/0vOwBDBjN3L4z4ZYaA+pG56d6p3kTUhFRYGvXbXMWhXmb/FIxREZCD06DYUwDKKnj2T80+Pb71CQ0KEg== - dependencies: - "@jest/test-result" "30.0.5" - "@jest/types" "30.0.5" - "@types/node" "*" - ansi-escapes "^4.3.2" - chalk "^4.1.2" - emittery "^0.13.1" - jest-util "30.0.5" - string-length "^4.0.2" - -jest-worker@30.0.5: - version "30.0.5" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-30.0.5.tgz#0b85cbab10610303e8d84e214f94d8f052c3cd04" - integrity sha512-ojRXsWzEP16NdUuBw/4H/zkZdHOa7MMYCk4E430l+8fELeLg/mqmMlRhjL7UNZvQrDmnovWZV4DxX03fZF48fQ== - dependencies: - "@types/node" "*" - "@ungap/structured-clone" "^1.3.0" - jest-util "30.0.5" - merge-stream "^2.0.0" - supports-color "^8.1.1" - -jest@^30.0.0: - version "30.0.5" - resolved "https://registry.yarnpkg.com/jest/-/jest-30.0.5.tgz#ee62729fb77829790d67c660d852350fbde315ce" - integrity sha512-y2mfcJywuTUkvLm2Lp1/pFX8kTgMO5yyQGq/Sk/n2mN7XWYp4JsCZ/QXW34M8YScgk8bPZlREH04f6blPnoHnQ== - dependencies: - "@jest/core" "30.0.5" - "@jest/types" "30.0.5" - import-local "^3.2.0" - jest-cli "30.0.5" - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-tokens@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-9.0.1.tgz#2ec43964658435296f6761b34e10671c2d9527f4" - integrity sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ== - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -jsdom@^26.1.0: - version "26.1.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-26.1.0.tgz#ab5f1c1cafc04bd878725490974ea5e8bf0c72b3" - integrity sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg== - dependencies: - cssstyle "^4.2.1" - data-urls "^5.0.0" - decimal.js "^10.5.0" - html-encoding-sniffer "^4.0.0" - http-proxy-agent "^7.0.2" - https-proxy-agent "^7.0.6" - is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.16" - parse5 "^7.2.1" - rrweb-cssom "^0.8.0" - saxes "^6.0.0" - symbol-tree "^3.2.4" - tough-cookie "^5.1.1" - w3c-xmlserializer "^5.0.0" - webidl-conversions "^7.0.0" - whatwg-encoding "^3.1.1" - whatwg-mimetype "^4.0.0" - whatwg-url "^14.1.1" - ws "^8.18.0" - xml-name-validator "^5.0.0" - -jsesc@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d" - integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json5@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -log-symbols@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" - integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== - dependencies: - chalk "^4.1.0" - is-unicode-supported "^0.1.0" - -loupe@^3.1.0, loupe@^3.1.4: - version "3.2.0" - resolved "https://registry.yarnpkg.com/loupe/-/loupe-3.2.0.tgz#174073ba8e0a1d0d5e43cc08626ed8a19403c344" - integrity sha512-2NCfZcT5VGVNX9mSZIxLRkEAegDGBpuQZBy13desuHeVORmBDyAET4TkJr4SjqQy3A8JDofMN6LpkK8Xcm/dlw== - -lru-cache@^10.2.0, lru-cache@^10.4.3: - version "10.4.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" - integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -magic-string@^0.30.17: - version "0.30.17" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.17.tgz#450a449673d2460e5bbcfba9a61916a1714c7453" - integrity sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA== - dependencies: - "@jridgewell/sourcemap-codec" "^1.5.0" - -make-dir@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" - integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== - dependencies: - semver "^7.5.3" - -makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== - dependencies: - tmpl "1.0.5" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -micromatch@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" - integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== - dependencies: - braces "^3.0.3" - picomatch "^2.3.1" - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -minimatch@^3.0.4, minimatch@^3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^9.0.4, minimatch@^9.0.5: - version "9.0.5" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" - integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== - dependencies: - brace-expansion "^2.0.1" - -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: - version "7.1.2" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" - integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== - -mocha@^11.0.0: - version "11.7.1" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-11.7.1.tgz#91948fecd624fb4bd154ed260b7e1ad3910d7c7a" - integrity sha512-5EK+Cty6KheMS/YLPPMJC64g5V61gIR25KsRItHw6x4hEKT6Njp1n9LOlH4gpevuwMVS66SXaBBpg+RWZkza4A== - dependencies: - browser-stdout "^1.3.1" - chokidar "^4.0.1" - debug "^4.3.5" - diff "^7.0.0" - escape-string-regexp "^4.0.0" - find-up "^5.0.0" - glob "^10.4.5" - he "^1.2.0" - js-yaml "^4.1.0" - log-symbols "^4.1.0" - minimatch "^9.0.5" - ms "^2.1.3" - picocolors "^1.1.1" - serialize-javascript "^6.0.2" - strip-json-comments "^3.1.1" - supports-color "^8.1.1" - workerpool "^9.2.0" - yargs "^17.7.2" - yargs-parser "^21.1.1" - yargs-unparser "^2.0.0" - -mock-require@3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/mock-require/-/mock-require-3.0.3.tgz#ccd544d9eae81dd576b3f219f69ec867318a1946" - integrity sha512-lLzfLHcyc10MKQnNUCv7dMcoY/2Qxd6wJfbqCcVk3LDb8An4hF6ohk5AztrvgKhJCqj36uyzi/p5se+tvyD+Wg== - dependencies: - get-caller-file "^1.0.2" - normalize-path "^2.1.1" - -ms@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -nanoid@^3.3.11: - version "3.3.11" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" - integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== - -napi-postinstall@^0.3.0: - version "0.3.2" - resolved "https://registry.yarnpkg.com/napi-postinstall/-/napi-postinstall-0.3.2.tgz#03c62080e88b311c4d7423b0f15f0c920bbcc626" - integrity sha512-tWVJxJHmBWLy69PvO96TZMZDrzmw5KeiZBz3RHmiM2XZ9grBJ2WgMAFVVg25nqp3ZjTFUs2Ftw1JhscL3Teliw== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== - -node-releases@^2.0.19: - version "2.0.19" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314" - integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw== - -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w== - dependencies: - remove-trailing-separator "^1.0.1" - -normalize-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -nwsapi@^2.2.16: - version "2.2.21" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.21.tgz#8df7797079350adda208910d8c33fc4c2d7520c3" - integrity sha512-o6nIY3qwiSXl7/LuOU0Dmuctd34Yay0yeuZRLFmDPrrdHpXKFndPj3hM+YEPVHYC5fx2otBx4Ilc/gyYSAUaIA== - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2, p-limit@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -package-json-from-dist@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" - integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== - -parse-json@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -parse5@^7.0.0, parse5@^7.2.1: - version "7.3.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.3.0.tgz#d7e224fa72399c7a175099f45fc2ad024b05ec05" - integrity sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw== - dependencies: - entities "^6.0.0" - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-scurry@^1.11.1: - version "1.11.1" - resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" - integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== - dependencies: - lru-cache "^10.2.0" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - -pathe@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/pathe/-/pathe-2.0.3.tgz#3ecbec55421685b70a9da872b2cff3e1cbed1716" - integrity sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w== - -pathval@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-2.0.1.tgz#8855c5a2899af072d6ac05d11e46045ad0dc605d" - integrity sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ== - -picocolors@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" - integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== - -picomatch@^2.0.4, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -picomatch@^4.0.2, picomatch@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.3.tgz#796c76136d1eead715db1e7bad785dedd695a042" - integrity sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q== - -pirates@^4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.7.tgz#643b4a18c4257c8a65104b73f3049ce9a0a15e22" - integrity sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA== - -pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -postcss@^8.5.6: - version "8.5.6" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.6.tgz#2825006615a619b4f62a9e7426cc120b349a8f3c" - integrity sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg== - dependencies: - nanoid "^3.3.11" - picocolors "^1.1.1" - source-map-js "^1.2.1" - -pretty-format@30.0.5: - version "30.0.5" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-30.0.5.tgz#e001649d472800396c1209684483e18a4d250360" - integrity sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw== - dependencies: - "@jest/schemas" "30.0.5" - ansi-styles "^5.2.0" - react-is "^18.3.1" - -punycode@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -pure-rand@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-7.0.1.tgz#6f53a5a9e3e4a47445822af96821ca509ed37566" - integrity sha512-oTUZM/NAZS8p7ANR3SHh30kXB+zK2r2BPcEn/awJIbOvq82WoMN4p62AWWp3Hhw50G0xMsw1mhIBLqHw64EcNQ== - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -react-is@^18.3.1: - version "18.3.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" - integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== - -readdirp@^4.0.1: - version "4.1.2" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-4.1.2.tgz#eb85801435fbf2a7ee58f19e0921b068fc69948d" - integrity sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg== - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -rollup@^4.40.0: - version "4.46.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.46.1.tgz#287d07ef0ea17950b348b027c634a9544a1a375f" - integrity sha512-33xGNBsDJAkzt0PvninskHlWnTIPgDtTwhg0U38CUoNP/7H6wI2Cz6dUeoNPbjdTdsYTGuiFFASuUOWovH0SyQ== - dependencies: - "@types/estree" "1.0.8" - optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.46.1" - "@rollup/rollup-android-arm64" "4.46.1" - "@rollup/rollup-darwin-arm64" "4.46.1" - "@rollup/rollup-darwin-x64" "4.46.1" - "@rollup/rollup-freebsd-arm64" "4.46.1" - "@rollup/rollup-freebsd-x64" "4.46.1" - "@rollup/rollup-linux-arm-gnueabihf" "4.46.1" - "@rollup/rollup-linux-arm-musleabihf" "4.46.1" - "@rollup/rollup-linux-arm64-gnu" "4.46.1" - "@rollup/rollup-linux-arm64-musl" "4.46.1" - "@rollup/rollup-linux-loongarch64-gnu" "4.46.1" - "@rollup/rollup-linux-ppc64-gnu" "4.46.1" - "@rollup/rollup-linux-riscv64-gnu" "4.46.1" - "@rollup/rollup-linux-riscv64-musl" "4.46.1" - "@rollup/rollup-linux-s390x-gnu" "4.46.1" - "@rollup/rollup-linux-x64-gnu" "4.46.1" - "@rollup/rollup-linux-x64-musl" "4.46.1" - "@rollup/rollup-win32-arm64-msvc" "4.46.1" - "@rollup/rollup-win32-ia32-msvc" "4.46.1" - "@rollup/rollup-win32-x64-msvc" "4.46.1" - fsevents "~2.3.2" - -rrweb-cssom@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz#3021d1b4352fbf3b614aaeed0bc0d5739abe0bc2" - integrity sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw== - -safe-buffer@^5.1.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -"safer-buffer@>= 2.1.2 < 3.0.0": - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -saxes@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-6.0.0.tgz#fe5b4a4768df4f14a201b1ba6a65c1f3d9988cc5" - integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA== - dependencies: - xmlchars "^2.2.0" - -semver@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.5.3, semver@^7.5.4, semver@^7.7.2: - version "7.7.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.2.tgz#67d99fdcd35cec21e6f8b87a7fd515a33f982b58" - integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA== - -serialize-javascript@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" - integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== - dependencies: - randombytes "^2.1.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -siginfo@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/siginfo/-/siginfo-2.0.0.tgz#32e76c70b79724e3bb567cb9d543eb858ccfaf30" - integrity sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== - -signal-exit@^3.0.3: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -signal-exit@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" - integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -source-map-js@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" - integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== - -source-map-support@0.5.13: - version "0.5.13" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.6.0: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -stack-utils@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" - integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== - dependencies: - escape-string-regexp "^2.0.0" - -stackback@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/stackback/-/stackback-0.0.2.tgz#1ac8a0d9483848d1695e418b6d031a3c3ce68e3b" - integrity sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== - -std-env@^3.9.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.9.0.tgz#1a6f7243b339dca4c9fd55e1c7504c77ef23e8f1" - integrity sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw== - -string-length@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" - integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -"string-width-cjs@npm:string-width@^4.2.0": - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^5.0.1, string-width@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" - integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== - dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" - strip-ansi "^7.0.1" - -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^7.0.1: - version "7.1.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" - integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== - dependencies: - ansi-regex "^6.0.1" - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -strip-literal@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-literal/-/strip-literal-3.0.0.tgz#ce9c452a91a0af2876ed1ae4e583539a353df3fc" - integrity sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA== - dependencies: - js-tokens "^9.0.1" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.1.1: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -synckit@^0.11.8: - version "0.11.11" - resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.11.11.tgz#c0b619cf258a97faa209155d9cd1699b5c998cb0" - integrity sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw== - dependencies: - "@pkgr/core" "^0.2.9" - -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - -tinybench@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-2.9.0.tgz#103c9f8ba6d7237a47ab6dd1dcff77251863426b" - integrity sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg== - -tinyexec@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-0.3.2.tgz#941794e657a85e496577995c6eef66f53f42b3d2" - integrity sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA== - -tinyglobby@^0.2.14: - version "0.2.14" - resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.14.tgz#5280b0cf3f972b050e74ae88406c0a6a58f4079d" - integrity sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ== - dependencies: - fdir "^6.4.4" - picomatch "^4.0.2" - -tinypool@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/tinypool/-/tinypool-1.1.1.tgz#059f2d042bd37567fbc017d3d426bdd2a2612591" - integrity sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg== - -tinyrainbow@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/tinyrainbow/-/tinyrainbow-2.0.0.tgz#9509b2162436315e80e3eee0fcce4474d2444294" - integrity sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw== - -tinyspy@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/tinyspy/-/tinyspy-4.0.3.tgz#d1d0f0602f4c15f1aae083a34d6d0df3363b1b52" - integrity sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A== - -tldts-core@^6.1.86: - version "6.1.86" - resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-6.1.86.tgz#a93e6ed9d505cb54c542ce43feb14c73913265d8" - integrity sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA== - -tldts@^6.1.32: - version "6.1.86" - resolved "https://registry.yarnpkg.com/tldts/-/tldts-6.1.86.tgz#087e0555b31b9725ee48ca7e77edc56115cd82f7" - integrity sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ== - dependencies: - tldts-core "^6.1.86" - -tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -tough-cookie@^5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-5.1.2.tgz#66d774b4a1d9e12dc75089725af3ac75ec31bed7" - integrity sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A== - dependencies: - tldts "^6.1.32" - -tr46@^5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-5.1.1.tgz#96ae867cddb8fdb64a49cc3059a8d428bcf238ca" - integrity sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw== - dependencies: - punycode "^2.3.1" - -tslib@^2.3.0, tslib@^2.4.0: - version "2.8.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" - integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== - -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -undici-types@~7.8.0: - version "7.8.0" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.8.0.tgz#de00b85b710c54122e44fbfd911f8d70174cd294" - integrity sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw== - -unrs-resolver@^1.7.11: - version "1.11.1" - resolved "https://registry.yarnpkg.com/unrs-resolver/-/unrs-resolver-1.11.1.tgz#be9cd8686c99ef53ecb96df2a473c64d304048a9" - integrity sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg== - dependencies: - napi-postinstall "^0.3.0" - optionalDependencies: - "@unrs/resolver-binding-android-arm-eabi" "1.11.1" - "@unrs/resolver-binding-android-arm64" "1.11.1" - "@unrs/resolver-binding-darwin-arm64" "1.11.1" - "@unrs/resolver-binding-darwin-x64" "1.11.1" - "@unrs/resolver-binding-freebsd-x64" "1.11.1" - "@unrs/resolver-binding-linux-arm-gnueabihf" "1.11.1" - "@unrs/resolver-binding-linux-arm-musleabihf" "1.11.1" - "@unrs/resolver-binding-linux-arm64-gnu" "1.11.1" - "@unrs/resolver-binding-linux-arm64-musl" "1.11.1" - "@unrs/resolver-binding-linux-ppc64-gnu" "1.11.1" - "@unrs/resolver-binding-linux-riscv64-gnu" "1.11.1" - "@unrs/resolver-binding-linux-riscv64-musl" "1.11.1" - "@unrs/resolver-binding-linux-s390x-gnu" "1.11.1" - "@unrs/resolver-binding-linux-x64-gnu" "1.11.1" - "@unrs/resolver-binding-linux-x64-musl" "1.11.1" - "@unrs/resolver-binding-wasm32-wasi" "1.11.1" - "@unrs/resolver-binding-win32-arm64-msvc" "1.11.1" - "@unrs/resolver-binding-win32-ia32-msvc" "1.11.1" - "@unrs/resolver-binding-win32-x64-msvc" "1.11.1" - -update-browserslist-db@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz#348377dd245216f9e7060ff50b15a1b740b75420" - integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw== - dependencies: - escalade "^3.2.0" - picocolors "^1.1.1" - -v8-to-istanbul@^9.0.1: - version "9.3.0" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz#b9572abfa62bd556c16d75fdebc1a411d5ff3175" - integrity sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA== - dependencies: - "@jridgewell/trace-mapping" "^0.3.12" - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^2.0.0" - -vite-node@3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-3.2.4.tgz#f3676d94c4af1e76898c162c92728bca65f7bb07" - integrity sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg== - dependencies: - cac "^6.7.14" - debug "^4.4.1" - es-module-lexer "^1.7.0" - pathe "^2.0.3" - vite "^5.0.0 || ^6.0.0 || ^7.0.0-0" - -"vite@^5.0.0 || ^6.0.0 || ^7.0.0-0": - version "7.0.6" - resolved "https://registry.yarnpkg.com/vite/-/vite-7.0.6.tgz#7866ccb176db4bbeec0adfb3f907f077881591d0" - integrity sha512-MHFiOENNBd+Bd9uvc8GEsIzdkn1JxMmEeYX35tI3fv0sJBUTfW5tQsoaOwuY4KhBI09A3dUJ/DXf2yxPVPUceg== - dependencies: - esbuild "^0.25.0" - fdir "^6.4.6" - picomatch "^4.0.3" - postcss "^8.5.6" - rollup "^4.40.0" - tinyglobby "^0.2.14" - optionalDependencies: - fsevents "~2.3.3" - -vitest@^3.1.3: - version "3.2.4" - resolved "https://registry.yarnpkg.com/vitest/-/vitest-3.2.4.tgz#0637b903ad79d1539a25bc34c0ed54b5c67702ea" - integrity sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A== - dependencies: - "@types/chai" "^5.2.2" - "@vitest/expect" "3.2.4" - "@vitest/mocker" "3.2.4" - "@vitest/pretty-format" "^3.2.4" - "@vitest/runner" "3.2.4" - "@vitest/snapshot" "3.2.4" - "@vitest/spy" "3.2.4" - "@vitest/utils" "3.2.4" - chai "^5.2.0" - debug "^4.4.1" - expect-type "^1.2.1" - magic-string "^0.30.17" - pathe "^2.0.3" - picomatch "^4.0.2" - std-env "^3.9.0" - tinybench "^2.9.0" - tinyexec "^0.3.2" - tinyglobby "^0.2.14" - tinypool "^1.1.1" - tinyrainbow "^2.0.0" - vite "^5.0.0 || ^6.0.0 || ^7.0.0-0" - vite-node "3.2.4" - why-is-node-running "^2.3.0" - -w3c-xmlserializer@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz#f925ba26855158594d907313cedd1476c5967f6c" - integrity sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA== - dependencies: - xml-name-validator "^5.0.0" - -walker@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== - dependencies: - makeerror "1.0.12" - -webidl-conversions@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" - integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== - -whatwg-encoding@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz#d0f4ef769905d426e1688f3e34381a99b60b76e5" - integrity sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ== - dependencies: - iconv-lite "0.6.3" - -whatwg-mimetype@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz#bc1bf94a985dc50388d54a9258ac405c3ca2fc0a" - integrity sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg== - -whatwg-url@^14.0.0, whatwg-url@^14.1.1: - version "14.2.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-14.2.0.tgz#4ee02d5d725155dae004f6ae95c73e7ef5d95663" - integrity sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw== - dependencies: - tr46 "^5.1.0" - webidl-conversions "^7.0.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -why-is-node-running@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/why-is-node-running/-/why-is-node-running-2.3.0.tgz#a3f69a97107f494b3cdc3bdddd883a7d65cebf04" - integrity sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w== - dependencies: - siginfo "^2.0.0" - stackback "0.0.2" - -workerpool@^9.2.0: - version "9.3.3" - resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-9.3.3.tgz#e75281fe62e851afb21cdeef8fa85f6a62ec3583" - integrity sha512-slxCaKbYjEdFT/o2rH9xS1hf4uRDch1w7Uo+apxhZ+sf/1d9e0ZVkn42kPNGP2dgjIx6YFvSevj0zHvbWe2jdw== - -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" - integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== - dependencies: - ansi-styles "^6.1.0" - string-width "^5.0.1" - strip-ansi "^7.0.1" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write-file-atomic@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-5.0.1.tgz#68df4717c55c6fa4281a7860b4c2ba0a6d2b11e7" - integrity sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw== - dependencies: - imurmurhash "^0.1.4" - signal-exit "^4.0.1" - -ws@^8.18.0: - version "8.18.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.3.tgz#b56b88abffde62791c639170400c93dcb0c95472" - integrity sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg== - -xml-name-validator@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-5.0.0.tgz#82be9b957f7afdacf961e5980f1bf227c0bf7673" - integrity sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg== - -xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yargs-parser@^21.1.1: - version "21.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== - -yargs-unparser@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" - integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== - dependencies: - camelcase "^6.0.0" - decamelize "^4.0.0" - flat "^5.0.2" - is-plain-obj "^2.1.0" - -yargs@^17.7.2: - version "17.7.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" - integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.1.1" - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From 0e1bd1b4044c12dc11e059e2af7233d9b222e297 Mon Sep 17 00:00:00 2001 From: Alan Agius <17563226+alan-agius4@users.noreply.github.com> Date: Tue, 12 Aug 2025 07:11:29 +0000 Subject: [PATCH 010/278] build: fix `ERR_PNPM_LINKED_PKG_DIR_NOT_FOUND` for typings tests (#63105) During `pnpm install` in a monorepo setup, the `packages/zone.js/test/typings` project would fail with the error: `ERR_PNPM_LINKED_PKG_DIR_NOT_FOUND: Could not install from "/.../node_modules/typescript" as it does not exist.` PR Close #63105 --- packages/zone.js/pnpm-lock.yaml | 19 +++++++------------ packages/zone.js/test/typings/package.json | 4 ++-- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/packages/zone.js/pnpm-lock.yaml b/packages/zone.js/pnpm-lock.yaml index 839921739676..668e06e6e143 100644 --- a/packages/zone.js/pnpm-lock.yaml +++ b/packages/zone.js/pnpm-lock.yaml @@ -42,15 +42,15 @@ importers: test/typings: dependencies: domino: - specifier: file:../../../../node_modules/domino - version: '@angular/domino@file:../../node_modules/domino' + specifier: https://github.com/angular/domino.git#93e720f143d0296dd2726ffbcf4fc12283363a7b + version: '@angular/domino@https://codeload.github.com/angular/domino/tar.gz/93e720f143d0296dd2726ffbcf4fc12283363a7b' zone.js: specifier: file:../../../../dist/bin/packages/zone.js/npm_package version: file:../../dist/bin/packages/zone.js/npm_package devDependencies: typescript: - specifier: file:../../../../node_modules/typescript - version: file:../../node_modules/typescript + specifier: 5.9.2 + version: 5.9.2 packages: @@ -58,9 +58,6 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@angular/domino@file:../../node_modules/domino': - resolution: {directory: ../../node_modules/domino, type: directory} - '@angular/domino@https://codeload.github.com/angular/domino/tar.gz/93e720f143d0296dd2726ffbcf4fc12283363a7b': resolution: {tarball: https://codeload.github.com/angular/domino/tar.gz/93e720f143d0296dd2726ffbcf4fc12283363a7b} version: 2.1.6 @@ -1885,8 +1882,8 @@ packages: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} - typescript@file:../../node_modules/typescript: - resolution: {directory: ../../node_modules/typescript, type: directory} + typescript@5.9.2: + resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} engines: {node: '>=14.17'} hasBin: true @@ -2079,8 +2076,6 @@ snapshots: '@jridgewell/gen-mapping': 0.3.12 '@jridgewell/trace-mapping': 0.3.29 - '@angular/domino@file:../../node_modules/domino': {} - '@angular/domino@https://codeload.github.com/angular/domino/tar.gz/93e720f143d0296dd2726ffbcf4fc12283363a7b': {} '@asamuzakjp/css-color@3.2.0': @@ -4071,7 +4066,7 @@ snapshots: type-fest@0.21.3: {} - typescript@file:../../node_modules/typescript: {} + typescript@5.9.2: {} unrs-resolver@1.11.1: dependencies: diff --git a/packages/zone.js/test/typings/package.json b/packages/zone.js/test/typings/package.json index 7963547b53d9..38e535e89bce 100644 --- a/packages/zone.js/test/typings/package.json +++ b/packages/zone.js/test/typings/package.json @@ -9,10 +9,10 @@ "author": "", "license": "MIT", "dependencies": { - "domino": "file:../../../../node_modules/domino", + "domino": "https://github.com/angular/domino.git#93e720f143d0296dd2726ffbcf4fc12283363a7b", "zone.js": "file:../../../../dist/bin/packages/zone.js/npm_package" }, "devDependencies": { - "typescript": "file:../../../../node_modules/typescript" + "typescript": "5.9.2" } } From 1a16fb7aa22d2bf0804322b4f10d9e5f949c624f Mon Sep 17 00:00:00 2001 From: Alan Agius <17563226+alan-agius4@users.noreply.github.com> Date: Tue, 12 Aug 2025 07:15:21 +0000 Subject: [PATCH 011/278] build: resolve pnpm workspace dependency on compiler-cli (#63105) The `pnpm install` command was failing for the `packages/core/test/bundling` project with the error: `ERR_PNPM_NO_MATCHING_VERSION No matching version found for @angular/compiler-cli@0.0.0-PLACEHOLDER` This happenes only in renovate updates. PR Close #63105 --- packages/core/test/bundling/package.json | 6 ++++-- pnpm-lock.yaml | 6 ++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/core/test/bundling/package.json b/packages/core/test/bundling/package.json index 3e0fb5a4ec1b..2b052686380c 100644 --- a/packages/core/test/bundling/package.json +++ b/packages/core/test/bundling/package.json @@ -3,9 +3,11 @@ "@angular/animations": "workspace:*", "@angular/build": "20.2.0-next.2", "@angular/common": "workspace:*", + "@angular/compiler-cli": "workspace:*", + "@angular/compiler": "workspace:*", "@angular/core": "workspace:*", "@angular/forms": "workspace:*", - "@angular/router": "workspace:*", - "@angular/platform-browser": "workspace:*" + "@angular/platform-browser": "workspace:*", + "@angular/router": "workspace:*" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d4fab3483e2f..beb060be3c5a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1009,6 +1009,12 @@ importers: '@angular/common': specifier: workspace:* version: link:../../../common + '@angular/compiler': + specifier: workspace:* + version: link:../../../compiler + '@angular/compiler-cli': + specifier: workspace:* + version: link:../../../compiler-cli '@angular/core': specifier: workspace:* version: link:../.. From 856dd50e64783c58b5ac85ee2409e06d776f8b7c Mon Sep 17 00:00:00 2001 From: Alan Agius <17563226+alan-agius4@users.noreply.github.com> Date: Tue, 12 Aug 2025 07:16:01 +0000 Subject: [PATCH 012/278] ci: correctly configure ignored filenames (#63105) Previously, the path did not match a file. PR Close #63105 --- renovate.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/renovate.json b/renovate.json index f0c3eefa934b..f52908fa17ca 100644 --- a/renovate.json +++ b/renovate.json @@ -57,7 +57,7 @@ { "matchFileNames": [ "integration/**", - "modules/ssr-benchmarks", + "modules/ssr-benchmarks/package.json", "packages/core/schematics/migrations/signal-migration/test/**", "packages/zone.js/test/typings/package.json" ], From 5105477490da00d8c94b5abad69782f1e542a156 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 12 Aug 2025 14:13:13 +0000 Subject: [PATCH 013/278] build: update pnpm to v10 (#63117) See associated pull request for more information. PR Close #63117 --- package.json | 4 ++-- pnpm-lock.yaml | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index c1c311e14225..ba4c67a557fa 100644 --- a/package.json +++ b/package.json @@ -6,11 +6,11 @@ "homepage": "https://github.com/angular/angular", "bugs": "https://github.com/angular/angular/issues", "license": "MIT", - "packageManager": "pnpm@9.15.9", + "packageManager": "pnpm@10.14.0", "engines": { "npm": "Please use pnpm instead of NPM to install dependencies", "yarn": "Please use pnpm instead of Yarn to install dependencies", - "pnpm": "9.15.9" + "pnpm": "10.14.0" }, "repository": { "type": "git", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index beb060be3c5a..e956ac9598ce 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,13 +8,13 @@ overrides: https-proxy-agent: 7.0.6 saucelabs: 9.0.2 -packageExtensionsChecksum: d67b1f07b351844d00c57cbace376860 +packageExtensionsChecksum: sha256-3L73Fw32UVtE6x5BJxJPBtQtH/mgsr31grNpdhHP1IY= -pnpmfileChecksum: vld6thchsqj664odlna7qhh4w4 +pnpmfileChecksum: sha256-+7KlkWdGv7+7wb/qym+KoHN4eBGq9TNblo2Ln6HTxz0= patchedDependencies: dagre-d3-es@7.0.11: - hash: dp4f5qlzqey4wb2gylte6hyt4q + hash: 08ae1f30d46402ef53e1486454faa875683cf4152a8aab71ac255078ebfaccdd path: tools/pnpm-patches/dagre-d3-es+7.0.11.patch importers: @@ -218,7 +218,7 @@ importers: version: 7.9.0 dagre-d3-es: specifier: ^7.0.11 - version: 7.0.11(patch_hash=dp4f5qlzqey4wb2gylte6hyt4q) + version: 7.0.11(patch_hash=08ae1f30d46402ef53e1486454faa875683cf4152a8aab71ac255078ebfaccdd) diff: specifier: ^8.0.0 version: 8.0.2 @@ -16069,7 +16069,7 @@ snapshots: d3-transition: 3.0.1(d3-selection@3.0.0) d3-zoom: 3.0.0 - dagre-d3-es@7.0.11(patch_hash=dp4f5qlzqey4wb2gylte6hyt4q): + dagre-d3-es@7.0.11(patch_hash=08ae1f30d46402ef53e1486454faa875683cf4152a8aab71ac255078ebfaccdd): dependencies: d3: 7.9.0 lodash-es: 4.17.21 @@ -19127,7 +19127,7 @@ snapshots: cytoscape-fcose: 2.2.0(cytoscape@3.33.0) d3: 7.9.0 d3-sankey: 0.12.3 - dagre-d3-es: 7.0.11(patch_hash=dp4f5qlzqey4wb2gylte6hyt4q) + dagre-d3-es: 7.0.11(patch_hash=08ae1f30d46402ef53e1486454faa875683cf4152a8aab71ac255078ebfaccdd) dayjs: 1.11.13 dompurify: 3.2.6 katex: 0.16.22 From 6fb2b71489528f177e5b4e184258aebac029eb5f Mon Sep 17 00:00:00 2001 From: Alan Agius <17563226+alan-agius4@users.noreply.github.com> Date: Tue, 12 Aug 2025 09:38:20 +0000 Subject: [PATCH 014/278] build: use `link:` instead of `file:` (#63111) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When using `file:` renovate updates fails due to ` ERR_PNPM_LINKED_PKG_DIR_NOT_FOUND ` this is due to a different behaviour between `link:` amd `file:`. `link:` however will not fail when the directory does not exist. PR Close #63111 --- packages/zone.js/pnpm-lock.yaml | 9 ++------- packages/zone.js/test/typings/package.json | 2 +- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/packages/zone.js/pnpm-lock.yaml b/packages/zone.js/pnpm-lock.yaml index 668e06e6e143..c0a8a2c518df 100644 --- a/packages/zone.js/pnpm-lock.yaml +++ b/packages/zone.js/pnpm-lock.yaml @@ -45,8 +45,8 @@ importers: specifier: https://github.com/angular/domino.git#93e720f143d0296dd2726ffbcf4fc12283363a7b version: '@angular/domino@https://codeload.github.com/angular/domino/tar.gz/93e720f143d0296dd2726ffbcf4fc12283363a7b' zone.js: - specifier: file:../../../../dist/bin/packages/zone.js/npm_package - version: file:../../dist/bin/packages/zone.js/npm_package + specifier: link:../../../../dist/bin/packages/zone.js/npm_package + version: link:../../../../dist/bin/packages/zone.js/npm_package devDependencies: typescript: specifier: 5.9.2 @@ -2066,9 +2066,6 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - zone.js@file:../../dist/bin/packages/zone.js/npm_package: - resolution: {directory: ../../dist/bin/packages/zone.js/npm_package, type: directory} - snapshots: '@ampproject/remapping@2.3.0': @@ -4260,5 +4257,3 @@ snapshots: yargs-parser: 21.1.1 yocto-queue@0.1.0: {} - - zone.js@file:../../dist/bin/packages/zone.js/npm_package: {} diff --git a/packages/zone.js/test/typings/package.json b/packages/zone.js/test/typings/package.json index 38e535e89bce..16544fbffdb6 100644 --- a/packages/zone.js/test/typings/package.json +++ b/packages/zone.js/test/typings/package.json @@ -10,7 +10,7 @@ "license": "MIT", "dependencies": { "domino": "https://github.com/angular/domino.git#93e720f143d0296dd2726ffbcf4fc12283363a7b", - "zone.js": "file:../../../../dist/bin/packages/zone.js/npm_package" + "zone.js": "link:../../../../dist/bin/packages/zone.js/npm_package" }, "devDependencies": { "typescript": "5.9.2" From 0e3465dfd90d436321488fa770ac0694436ee602 Mon Sep 17 00:00:00 2001 From: Matthieu Riegler Date: Tue, 12 Aug 2025 10:44:14 +0200 Subject: [PATCH 015/278] docs: add missing supported `!=` operator (#63108) fixes 63103 PR Close #63108 --- .../guide/templates/expression-syntax.md | 82 +++++++++---------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/adev/src/content/guide/templates/expression-syntax.md b/adev/src/content/guide/templates/expression-syntax.md index 9cccd6603745..cf6ad5a872b8 100644 --- a/adev/src/content/guide/templates/expression-syntax.md +++ b/adev/src/content/guide/templates/expression-syntax.md @@ -8,21 +8,21 @@ Angular supports a subset of [literal values](https://developer.mozilla.org/en-U ### Supported value literals -| Literal type | Example values | -| ---------------------- | ------------------------------- | -| String | `'Hello'`, `"World"` | -| Boolean | `true`, `false` | -| Number | `123`, `3.14` | -| Object | `{name: 'Alice'}` | -| Array | `['Onion', 'Cheese', 'Garlic']` | -| null | `null` | -| Template string | `` `Hello ${name}` `` | +| Literal type | Example values | +| --------------- | ------------------------------- | +| String | `'Hello'`, `"World"` | +| Boolean | `true`, `false` | +| Number | `123`, `3.14` | +| Object | `{name: 'Alice'}` | +| Array | `['Onion', 'Cheese', 'Garlic']` | +| null | `null` | +| Template string | `` `Hello ${name}` `` | ### Unsupported literals -| Literal type | Example value | -| ---------------------- | ------------------------ | -| RegExp | `/\d+/` | +| Literal type | Example value | +| ------------ | ------------- | +| RegExp | `/\d+/` | ## Globals @@ -45,40 +45,40 @@ For example, `@for` blocks make several local variables corresponding to informa Angular supports the following operators from standard JavaScript. -| Operator | Example(s) | -| ------------------------------- | ---------------------------------------- | -| Add / Concatenate | `1 + 2` | -| Subtract | `52 - 3` | -| Multiply | `41 * 6` | -| Divide | `20 / 4` | -| Remainder (Modulo) | `17 % 5` | -| Exponentiation | `10 ** 3` | -| Parenthesis | `9 * (8 + 4)` | -| Conditional (Ternary) | `a > b ? true : false` | -| And (Logical) | `&&` | -| Or (Logical) | `\|\|` | -| Not (Logical) | `!` | -| Nullish Coalescing | `possiblyNullValue ?? 'default'` | -| Comparison Operators | `<`, `<=`, `>`, `>=`, `==`, `===`, `!==` | -| Unary Negation | `-x` | -| Unary Plus | `+y` | -| Property Accessor | `person['name']` | -| Assignment | `a = b` | -| Addition Assignment | `a += b` | -| Subtraction Assignment | `a -= b` | -| Multiplication Assignment | `a *= b` | -| Division Assignment | `a /= b` | -| Remainder Assignment | `a %= b` | -| Exponentiation Assignment | `a **= b` | -| Logical AND Assignment | `a &&= b` | -| Logical OR Assignment | `a \|\|= b` | -| Nullish Coalescing Assignment | `a ??= b` | +| Operator | Example(s) | +| ----------------------------- | ---------------------------------------------- | +| Add / Concatenate | `1 + 2` | +| Subtract | `52 - 3` | +| Multiply | `41 * 6` | +| Divide | `20 / 4` | +| Remainder (Modulo) | `17 % 5` | +| Exponentiation | `10 ** 3` | +| Parenthesis | `9 * (8 + 4)` | +| Conditional (Ternary) | `a > b ? true : false` | +| And (Logical) | `&&` | +| Or (Logical) | `\|\|` | +| Not (Logical) | `!` | +| Nullish Coalescing | `possiblyNullValue ?? 'default'` | +| Comparison Operators | `<`, `<=`, `>`, `>=`, `==`, `===`, `!==`, `!=` | +| Unary Negation | `-x` | +| Unary Plus | `+y` | +| Property Accessor | `person['name']` | +| Assignment | `a = b` | +| Addition Assignment | `a += b` | +| Subtraction Assignment | `a -= b` | +| Multiplication Assignment | `a *= b` | +| Division Assignment | `a /= b` | +| Remainder Assignment | `a %= b` | +| Exponentiation Assignment | `a **= b` | +| Logical AND Assignment | `a &&= b` | +| Logical OR Assignment | `a \|\|= b` | +| Nullish Coalescing Assignment | `a ??= b` | Angular expressions additionally also support the following non-standard operators: | Operator | Example(s) | | ------------------------------- | ------------------------------ | -| [Pipe](/guide/templates/pipes) | `{{ total \| currency }}` | +| [Pipe](/guide/templates/pipes) | `{{ total \| currency }}` | | Optional chaining\* | `someObj.someProp?.nestedProp` | | Non-null assertion (TypeScript) | `someObj!.someProp` | From 31df4d2fd1b15b0362088a4f7a4d7c8072dc126f Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 12 Aug 2025 14:46:41 +0000 Subject: [PATCH 016/278] build: update cross-repo angular dependencies (#63088) See associated pull request for more information. PR Close #63088 --- .github/actions/deploy-docs-site/main.js | 328 +-- .github/actions/saucelabs-legacy/action.yml | 4 +- .github/workflows/adev-preview-build.yml | 8 +- .github/workflows/adev-preview-deploy.yml | 2 +- .../assistant-to-the-branch-manager.yml | 2 +- .github/workflows/benchmark-compare.yml | 2 +- .github/workflows/ci.yml | 44 +- .github/workflows/dev-infra.yml | 4 +- .github/workflows/google-internal-tests.yml | 2 +- .github/workflows/manual.yml | 8 +- .github/workflows/merge-ready-status.yml | 2 +- .github/workflows/perf.yml | 6 +- .github/workflows/pr.yml | 34 +- WORKSPACE | 2 +- adev/package.json | 12 +- modules/package.json | 2 +- package.json | 22 +- packages/core/test/bundling/package.json | 2 +- pnpm-lock.yaml | 2426 ++++++++++++----- 19 files changed, 1866 insertions(+), 1046 deletions(-) diff --git a/.github/actions/deploy-docs-site/main.js b/.github/actions/deploy-docs-site/main.js index f3e713154cc6..49fbb147f226 100644 --- a/.github/actions/deploy-docs-site/main.js +++ b/.github/actions/deploy-docs-site/main.js @@ -18986,7 +18986,7 @@ ${indent}`) + "'"; } function blockString({ comment, type, value }, ctx, onComment, onChompKeep) { const { blockQuote, commentString, lineWidth } = ctx.options; - if (!blockQuote || /\n[\t ]+$/.test(value) || /^\s*$/.test(value)) { + if (!blockQuote || /\n[\t ]+$/.test(value)) { return quotedString(value, ctx); } const indent = ctx.indent || (ctx.forceBlockIndent || containsDocumentMarker(value) ? " " : ""); @@ -25410,6 +25410,9 @@ function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) { if (env.TERM === "xterm-kitty") { return 3; } + if (env.TERM === "xterm-ghostty") { + return 3; + } if ("TERM_PROGRAM" in env) { const version = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10); switch (env.TERM_PROGRAM) { @@ -25721,6 +25724,9 @@ function _supportsColor2(haveStream, { streamIsTTY, sniffFlags = true } = {}) { if (env2.TERM === "xterm-kitty") { return 3; } + if (env2.TERM === "xterm-ghostty") { + return 3; + } if ("TERM_PROGRAM" in env2) { const version = Number.parseInt((env2.TERM_PROGRAM_VERSION || "").split(".")[0], 10); switch (env2.TERM_PROGRAM) { @@ -25760,12 +25766,6 @@ var supports_color_default2 = supportsColor2; import { spawn as _spawn, spawnSync as _spawnSync, exec as _exec } from "child_process"; import assert from "assert"; var ChildProcess = class { - /** - * Spawns a given command with the specified arguments inside an interactive shell. All process - * stdin, stdout and stderr output is printed to the current console. - * - * @returns a Promise resolving on success, and rejecting on command failure with the status code. - */ static spawnInteractive(command, args, options = {}) { return new Promise((resolve, reject) => { const commandText = `${command} ${args.join(" ")}`; @@ -25774,11 +25774,6 @@ var ChildProcess = class { childProcess.on("close", (status) => status === 0 ? resolve() : reject(status)); }); } - /** - * Spawns a given command with the specified arguments inside a shell synchronously. - * - * @returns The command's stdout and stderr. - */ static spawnSync(command, args, options = {}) { const commandText = `${command} ${args.join(" ")}`; const env3 = getEnvironmentForNonInteractiveCommand(options.env); @@ -25790,27 +25785,11 @@ var ChildProcess = class { } throw new Error(stderr); } - /** - * Spawns a given command with the specified arguments inside a shell. All process stdout - * output is captured and returned as resolution on completion. Depending on the chosen - * output mode, stdout/stderr output is also printed to the console, or only on error. - * - * @returns a Promise resolving with captured stdout and stderr on success. The promise - * rejects on command failure. - */ static spawn(command, args, options = {}) { const commandText = `${command} ${args.join(" ")}`; const env3 = getEnvironmentForNonInteractiveCommand(options.env); return processAsyncCmd(commandText, options, _spawn(command, args, { ...options, env: env3, shell: true, stdio: "pipe" })); } - /** - * Execs a given command with the specified arguments inside a shell. All process stdout - * output is captured and returned as resolution on completion. Depending on the chosen - * output mode, stdout/stderr output is also printed to the console, or only on error. - * - * @returns a Promise resolving with captured stdout and stderr on success. The promise - * rejects on command failure. - */ static exec(command, options = {}) { const env3 = getEnvironmentForNonInteractiveCommand(options.env); return processAsyncCmd(command, options, _exec(command, { ...options, env: env3 })); @@ -25905,11 +25884,7 @@ Log.log = buildLogLevelFunction(() => console.log, LogLevel.LOG, null); Log.warn = buildLogLevelFunction(() => console.warn, LogLevel.WARN, source_default.yellow); function buildLogLevelFunction(loadCommand, level, defaultColor) { const loggingFunction = (...values) => { - runConsoleCommand( - loadCommand, - level, - ...values.map((v) => typeof v === "string" && defaultColor ? defaultColor(v) : v) - ); + runConsoleCommand(loadCommand, level, ...values.map((v) => typeof v === "string" && defaultColor ? defaultColor(v) : v)); }; loggingFunction.group = (label, collapsed = false) => { const command = collapsed ? console.groupCollapsed : console.group; @@ -25944,12 +25919,8 @@ function appendToLogFile(logLevel, ...text) { return; } const logLevelText = `${LogLevel[logLevel]}:`.padEnd(LOG_LEVEL_COLUMNS); - appendFile( - logFilePath, - // Strip ANSI escape codes from log outputs. - stripVTControlCharacters(text.join(" ").split("\n").map((l) => `${logLevelText} ${l} -`).join("")) - ); + appendFile(logFilePath, stripVTControlCharacters(text.join(" ").split("\n").map((l) => `${logLevelText} ${l} +`).join(""))); } // @@ -26159,7 +26130,6 @@ var managedLabels = createTypedObject(ManagedLabel)({ name: "area: performance", commitCheck: (c) => c.type === "perf" }, - // angular/angular specific labels. DETECTED_HTTP_CHANGE: { description: "Issues related to HTTP and HTTP Client", name: "area: common/http", @@ -26425,11 +26395,9 @@ var ActiveReleaseTrains = class { this.latest = this.trains.latest; this.exceptionalMinor = this.trains.exceptionalMinor; } - /** Whether the active release trains indicate the repository is in a feature freeze state. */ isFeatureFreeze() { return this.releaseCandidate !== null && this.releaseCandidate.version.prerelease[0] === "next"; } - /** Fetches the active release trains for the configured project. */ static async fetch(repo) { return fetchActiveReleaseTrains(repo); } @@ -29958,7 +29926,6 @@ var AuthenticatedGithubClient = class extends GithubClient { headers: { authorization: `token ${this._token}` } }); } - /** Perform a query using Github's Graphql API. */ async graphql(queryObject, params2 = {}) { return await this._graphql((0, import_typed_graphqlify2.query)(queryObject).toString(), params2); } @@ -29987,8 +29954,6 @@ function getRepositoryGitUrl(config, githubToken) { // var GitCommandError = class extends Error { - // Note: Do not expose the unsanitized arguments as a public property. NodeJS - // could print the properties of an error instance and leak e.g. a token. constructor(client, unsanitizedArgs) { super(`Command failed: git ${client.sanitizeConsoleOutput(unsanitizedArgs.join(" "))}`); } @@ -30003,7 +29968,6 @@ var GitClient = class _GitClient { this.remoteParams = { owner: config.github.owner, repo: config.github.name }; this.mainBranchName = config.github.mainBranchName; } - /** Executes the given git command. Throws if the command fails. */ run(args, options) { const result = this.runGraceful(args, options); if (result.status !== 0) { @@ -30011,11 +29975,6 @@ var GitClient = class _GitClient { } return result; } - /** - * Spawns a given Git command process. Does not throw if the command fails. Additionally, - * if there is any stderr output, the output will be printed. This makes it easier to - * info failed commands. - */ runGraceful(args, options = {}) { const gitCommand = args[0]; if (isDryRun() && gitCommand === "push") { @@ -30028,8 +29987,6 @@ var GitClient = class _GitClient { cwd: this.baseDir, stdio: "pipe", ...options, - // Encoding is always `utf8` and not overridable. This ensures that this method - // always returns `string` as output instead of buffers. encoding: "utf8" }); Log.debug(`Status: ${result.status}, Error: ${!!result.error}, Signal: ${result.signal}`); @@ -30044,19 +30001,15 @@ var GitClient = class _GitClient { } return result; } - /** Git URL that resolves to the configured repository. */ getRepoGitUrl() { return getRepositoryGitUrl(this.remoteConfig); } - /** Whether the given branch contains the specified SHA. */ hasCommit(branchName, sha) { return this.run(["branch", branchName, "--contains", sha]).stdout !== ""; } - /** Whether the local repository is configured as shallow. */ isShallowRepo() { return this.run(["rev-parse", "--is-shallow-repository"]).stdout.trim() === "true"; } - /** Gets the currently checked out branch or revision. */ getCurrentBranchOrRevision() { const branchName = this.run(["rev-parse", "--abbrev-ref", "HEAD"]).stdout.trim(); if (branchName === "HEAD") { @@ -30064,16 +30017,10 @@ var GitClient = class _GitClient { } return branchName; } - /** Gets whether the current Git repository has uncommitted changes. */ hasUncommittedChanges() { this.runGraceful(["update-index", "-q", "--refresh"]); return this.runGraceful(["diff-index", "--quiet", "HEAD"]).status !== 0; } - /** - * Checks out a requested branch or revision, optionally cleaning the state of the repository - * before attempting the checking. Returns a boolean indicating whether the branch or revision - * was cleanly checked out. - */ checkout(branchOrRevision, cleanState) { if (cleanState) { this.runGraceful(["am", "--abort"], { stdio: "ignore" }); @@ -30083,32 +30030,21 @@ var GitClient = class _GitClient { } return this.runGraceful(["checkout", branchOrRevision], { stdio: "ignore" }).status === 0; } - /** Retrieve a list of all files in the repository changed since the provided shaOrRef. */ allChangesFilesSince(shaOrRef = "HEAD") { return Array.from(/* @__PURE__ */ new Set([ ...gitOutputAsArray(this.runGraceful(["diff", "--name-only", "--diff-filter=d", shaOrRef])), ...gitOutputAsArray(this.runGraceful(["ls-files", "--others", "--exclude-standard"])) ])); } - /** Retrieve a list of all files currently staged in the repostitory. */ allStagedFiles() { return gitOutputAsArray(this.runGraceful(["diff", "--name-only", "--diff-filter=ACM", "--staged"])); } - /** Retrieve a list of all files tracked in the repository. */ allFiles() { return gitOutputAsArray(this.runGraceful(["ls-files"])); } - /** - * Sanitizes the given console message. This method can be overridden by - * derived classes. e.g. to sanitize access tokens from Git commands. - */ sanitizeConsoleOutput(value) { return value; } - /** - * Static method to get the singleton instance of the `GitClient`, - * creating it, if not created yet. - */ static async get() { if (_GitClient._unauthenticatedInstance === null) { _GitClient._unauthenticatedInstance = (async () => { @@ -30134,18 +30070,12 @@ var AuthenticatedGitClient = class _AuthenticatedGitClient extends GitClient { this._cachedForkRepositories = null; this.github = new AuthenticatedGithubClient(this.githubToken); } - /** Sanitizes a given message by omitting the provided Github token if present. */ sanitizeConsoleOutput(value) { return value.replace(this._githubTokenRegex, ""); } - /** Git URL that resolves to the configured repository. */ getRepoGitUrl() { return getRepositoryGitUrl(this.remoteConfig, this.githubToken); } - /** - * Assert the GitClient instance is using a token with permissions for the all of the - * provided OAuth scopes. - */ async hasOauthScopes(testFn) { if (this.userType === "bot") { return true; @@ -30165,7 +30095,6 @@ Alternatively, a new token can be created at: ${GITHUB_TOKEN_GENERATE_URL} `; return { error }; } - /** Gets an owned fork for the configured project of the authenticated user. */ async getForkOfAuthenticatedUser() { const forks = await this.getAllForksOfAuthenticatedUser(); if (forks.length === 0) { @@ -30173,12 +30102,6 @@ Alternatively, a new token can be created at: ${GITHUB_TOKEN_GENERATE_URL} } return forks[0]; } - /** - * Finds all forks owned by the currently authenticated user in the Git client, - * - * The determined fork repositories are cached as we assume that the authenticated - * user will not change during execution, or that no new forks are created. - */ async getAllForksOfAuthenticatedUser() { if (this._cachedForkRepositories !== null) { return this._cachedForkRepositories; @@ -30190,7 +30113,6 @@ Alternatively, a new token can be created at: ${GITHUB_TOKEN_GENERATE_URL} name: node.name })); } - /** Fetch the OAuth scopes for the loaded Github token. */ _fetchAuthScopesForToken() { if (this._cachedOauthScopes !== null) { return this._cachedOauthScopes; @@ -30203,10 +30125,6 @@ Alternatively, a new token can be created at: ${GITHUB_TOKEN_GENERATE_URL} return scopes.split(",").map((scope) => scope.trim()).filter((scope) => scope !== ""); }); } - /** - * Static method to get the singleton instance of the `AuthenticatedGitClient`, - * creating it if it has not yet been created. - */ static async get() { if (_AuthenticatedGitClient._token === null) { throw new Error("No instance of `AuthenticatedGitClient` has been configured."); @@ -30218,7 +30136,6 @@ Alternatively, a new token can be created at: ${GITHUB_TOKEN_GENERATE_URL} } return _AuthenticatedGitClient._authenticatedInstance; } - /** Configures an authenticated git client. */ static configure(token, userType = "user") { if (_AuthenticatedGitClient._token) { throw Error("Unable to configure `AuthenticatedGitClient` as it has been configured already."); @@ -30352,229 +30269,4 @@ tmp/lib/tmp.js: * * MIT Licensed *) - -@angular/ng-dev/utils/child-process.js: - (** - * @license - * Copyright Google LLC - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - *) - -@angular/ng-dev/utils/repo-directory.js: - (** - * @license - * Copyright Google LLC - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - *) - -@angular/ng-dev/utils/logging.js: - (** - * @license - * Copyright Google LLC - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - *) - -@angular/ng-dev/utils/config-cache.js: - (** - * @license - * Copyright Google LLC - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - *) - -@angular/ng-dev/utils/config.js: - (** - * @license - * Copyright Google LLC - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - *) - -@angular/ng-dev/commit-message/config.js: - (** - * @license - * Copyright Google LLC - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - *) - -@angular/ng-dev/format/config.js: - (** - * @license - * Copyright Google LLC - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - *) - -@angular/ng-dev/pr/config/index.js: - (** - * @license - * Copyright Google LLC - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - *) - -@angular/ng-dev/release/config/index.js: - (** - * @license - * Copyright Google LLC - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - *) - -@angular/ng-dev/release/versioning/release-trains.js: - (** - * @license - * Copyright Google LLC - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - *) - -@angular/ng-dev/release/versioning/version-branches.js: - (** - * @license - * Copyright Google LLC - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - *) - -@angular/ng-dev/release/versioning/active-release-trains.js: - (** - * @license - * Copyright Google LLC - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - *) - -@angular/ng-dev/release/versioning/npm-registry.js: - (** - * @license - * Copyright Google LLC - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - *) - -@angular/ng-dev/release/versioning/long-term-support.js: - (** - * @license - * Copyright Google LLC - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - *) - -@angular/ng-dev/release/versioning/index.js: - (** - * @license - * Copyright Google LLC - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - *) - -@angular/ng-dev/release/precheck/index.js: - (** - * @license - * Copyright Google LLC - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - *) - -@angular/ng-dev/utils/git/graphql-queries.js: - (** - * @license - * Copyright Google LLC - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - *) - -@angular/ng-dev/utils/dry-run.js: - (** - * @license - * Copyright Google LLC - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - *) - -@angular/ng-dev/utils/git/github.js: - (** - * @license - * Copyright Google LLC - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - *) - -@angular/ng-dev/utils/git/github-urls.js: - (** - * @license - * Copyright Google LLC - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - *) - -@angular/ng-dev/utils/git/git-client.js: - (** - * @license - * Copyright Google LLC - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - *) - -@angular/ng-dev/utils/git/authenticated-git-client.js: - (** - * @license - * Copyright Google LLC - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - *) - -@angular/ng-dev/utils/nodejs-errors.js: - (** - * @license - * Copyright Google LLC - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - *) - -@angular/ng-dev/utils/resolve-yarn-bin.js: - (** - * @license - * Copyright Google LLC - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - *) - -@angular/ng-dev/index.js: - (** - * @license - * Copyright Google LLC - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - *) */ diff --git a/.github/actions/saucelabs-legacy/action.yml b/.github/actions/saucelabs-legacy/action.yml index 267ef4ed3f8e..9966126e3569 100644 --- a/.github/actions/saucelabs-legacy/action.yml +++ b/.github/actions/saucelabs-legacy/action.yml @@ -5,9 +5,9 @@ runs: using: 'composite' steps: - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/bazel/setup@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Setup Saucelabs Variables - uses: angular/dev-infra/github-actions/saucelabs@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/saucelabs@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Starting Saucelabs tunnel service shell: bash run: ./tools/saucelabs/sauce-service.sh run & diff --git a/.github/workflows/adev-preview-build.yml b/.github/workflows/adev-preview-build.yml index cd28e5d409a8..9adf955a220d 100644 --- a/.github/workflows/adev-preview-build.yml +++ b/.github/workflows/adev-preview-build.yml @@ -21,16 +21,16 @@ jobs: (github.event.action == 'synchronize' && contains(github.event.pull_request.labels.*.name, 'adev: preview')) steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/bazel/setup@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Setup Bazel RBE - uses: angular/dev-infra/github-actions/bazel/configure-remote@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/bazel/configure-remote@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Install node modules run: pnpm install --frozen-lockfile - name: Build adev to ensure it continues to work run: pnpm bazel build //adev:build --full_build_adev --config=release - - uses: angular/dev-infra/github-actions/previews/pack-and-upload-artifact@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + - uses: angular/dev-infra/github-actions/previews/pack-and-upload-artifact@368d4b7c2fa82d37087b92419462d94f73f7cd02 with: workflow-artifact-name: 'adev-preview' pull-number: '${{github.event.pull_request.number}}' diff --git a/.github/workflows/adev-preview-deploy.yml b/.github/workflows/adev-preview-deploy.yml index 125f7fef5d79..410e167fc96a 100644 --- a/.github/workflows/adev-preview-deploy.yml +++ b/.github/workflows/adev-preview-deploy.yml @@ -40,7 +40,7 @@ jobs: npx -y firebase-tools@latest target:clear --config adev/firebase.json --project ${{env.PREVIEW_PROJECT}} hosting angular-docs npx -y firebase-tools@latest target:apply --config adev/firebase.json --project ${{env.PREVIEW_PROJECT}} hosting angular-docs ${{env.PREVIEW_SITE}} - - uses: angular/dev-infra/github-actions/previews/upload-artifacts-to-firebase@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + - uses: angular/dev-infra/github-actions/previews/upload-artifacts-to-firebase@368d4b7c2fa82d37087b92419462d94f73f7cd02 with: github-token: '${{secrets.GITHUB_TOKEN}}' workflow-artifact-name: 'adev-preview' diff --git a/.github/workflows/assistant-to-the-branch-manager.yml b/.github/workflows/assistant-to-the-branch-manager.yml index 2270f4c825c9..a2cb07806c20 100644 --- a/.github/workflows/assistant-to-the-branch-manager.yml +++ b/.github/workflows/assistant-to-the-branch-manager.yml @@ -16,6 +16,6 @@ jobs: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - - uses: angular/dev-infra/github-actions/branch-manager@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + - uses: angular/dev-infra/github-actions/branch-manager@368d4b7c2fa82d37087b92419462d94f73f7cd02 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/benchmark-compare.yml b/.github/workflows/benchmark-compare.yml index eb45c5a433eb..3aed56618eaa 100644 --- a/.github/workflows/benchmark-compare.yml +++ b/.github/workflows/benchmark-compare.yml @@ -38,7 +38,7 @@ jobs: - run: pnpm install --frozen-lockfile - - uses: angular/dev-infra/github-actions/bazel/configure-remote@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + - uses: angular/dev-infra/github-actions/bazel/configure-remote@368d4b7c2fa82d37087b92419462d94f73f7cd02 with: bazelrc: ./.bazelrc.user diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a4840291c510..ce6993f0e87e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,7 +21,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@368d4b7c2fa82d37087b92419462d94f73f7cd02 with: cache-node-modules: true - name: Install node modules @@ -41,13 +41,13 @@ jobs: runs-on: ubuntu-latest steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@368d4b7c2fa82d37087b92419462d94f73f7cd02 with: cache-node-modules: true - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/bazel/setup@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Setup Bazel RBE - uses: angular/dev-infra/github-actions/bazel/configure-remote@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/bazel/configure-remote@368d4b7c2fa82d37087b92419462d94f73f7cd02 with: google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }} - name: Install node modules @@ -68,13 +68,13 @@ jobs: runs-on: ubuntu-latest-4core steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@368d4b7c2fa82d37087b92419462d94f73f7cd02 with: cache-node-modules: true - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/bazel/setup@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Setup Bazel Remote Caching - uses: angular/dev-infra/github-actions/bazel/configure-remote@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/bazel/configure-remote@368d4b7c2fa82d37087b92419462d94f73f7cd02 with: google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }} - name: Install node modules @@ -86,13 +86,13 @@ jobs: runs-on: ubuntu-latest-4core steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@368d4b7c2fa82d37087b92419462d94f73f7cd02 with: cache-node-modules: true - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/bazel/setup@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Setup Bazel Remote Caching - uses: angular/dev-infra/github-actions/bazel/configure-remote@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/bazel/configure-remote@368d4b7c2fa82d37087b92419462d94f73f7cd02 with: google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }} - name: Install node modules @@ -105,11 +105,11 @@ jobs: labels: ubuntu-latest-4core steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/bazel/setup@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Setup Bazel RBE - uses: angular/dev-infra/github-actions/bazel/configure-remote@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/bazel/configure-remote@368d4b7c2fa82d37087b92419462d94f73f7cd02 with: google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }} - name: Install node modules @@ -124,13 +124,13 @@ jobs: labels: ubuntu-latest steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@368d4b7c2fa82d37087b92419462d94f73f7cd02 with: cache-node-modules: true - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/bazel/setup@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Setup Bazel RBE - uses: angular/dev-infra/github-actions/bazel/configure-remote@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/bazel/configure-remote@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Install node modules run: pnpm install --frozen-lockfile - run: echo "https://${{secrets.SNAPSHOT_BUILDS_GITHUB_TOKEN}}:@github.com" > ${HOME}/.git_credentials @@ -142,7 +142,7 @@ jobs: labels: ubuntu-latest-4core steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@368d4b7c2fa82d37087b92419462d94f73f7cd02 with: cache-node-modules: true node-module-directories: | @@ -150,9 +150,9 @@ jobs: ./packages/zone.js/node_modules ./packages/zone.js/test/typings/node_modules - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/bazel/setup@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Setup Bazel RBE - uses: angular/dev-infra/github-actions/bazel/configure-remote@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/bazel/configure-remote@368d4b7c2fa82d37087b92419462d94f73f7cd02 with: google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }} - name: Install node modules @@ -204,11 +204,11 @@ jobs: runs-on: ubuntu-latest steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/bazel/setup@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Setup Bazel RBE - uses: angular/dev-infra/github-actions/bazel/configure-remote@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/bazel/configure-remote@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Install node modules run: pnpm install --frozen-lockfile - name: Build adev to ensure it continues to work diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index 4a613a0d801b..bc2661a7e023 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -13,13 +13,13 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - uses: angular/dev-infra/github-actions/pull-request-labeling@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + - uses: angular/dev-infra/github-actions/pull-request-labeling@368d4b7c2fa82d37087b92419462d94f73f7cd02 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - uses: angular/dev-infra/github-actions/post-approval-changes@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + - uses: angular/dev-infra/github-actions/post-approval-changes@368d4b7c2fa82d37087b92419462d94f73f7cd02 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/google-internal-tests.yml b/.github/workflows/google-internal-tests.yml index e6093c170e16..eda8d432be22 100644 --- a/.github/workflows/google-internal-tests.yml +++ b/.github/workflows/google-internal-tests.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - uses: angular/dev-infra/github-actions/google-internal-tests@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + - uses: angular/dev-infra/github-actions/google-internal-tests@368d4b7c2fa82d37087b92419462d94f73f7cd02 with: run-tests-guide-url: http://go/angular-g3sync-start github-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/manual.yml b/.github/workflows/manual.yml index 01e35fdf72cd..9a675704653e 100644 --- a/.github/workflows/manual.yml +++ b/.github/workflows/manual.yml @@ -13,17 +13,17 @@ jobs: JOBS: 2 steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@368d4b7c2fa82d37087b92419462d94f73f7cd02 with: cache-node-modules: true - name: Install node modules run: pnpm install --frozen-lockfile - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/bazel/setup@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Setup Bazel Remote Caching - uses: angular/dev-infra/github-actions/bazel/configure-remote@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/bazel/configure-remote@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Setup Saucelabs Variables - uses: angular/dev-infra/github-actions/saucelabs@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/saucelabs@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Set up Sauce Tunnel Daemon run: pnpm bazel run //tools/saucelabs-daemon/background-service -- $JOBS & env: diff --git a/.github/workflows/merge-ready-status.yml b/.github/workflows/merge-ready-status.yml index 404e3d48b0fd..f5eee13e549a 100644 --- a/.github/workflows/merge-ready-status.yml +++ b/.github/workflows/merge-ready-status.yml @@ -9,6 +9,6 @@ jobs: status: runs-on: ubuntu-latest steps: - - uses: angular/dev-infra/github-actions/unified-status-check@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + - uses: angular/dev-infra/github-actions/unified-status-check@368d4b7c2fa82d37087b92419462d94f73f7cd02 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/perf.yml b/.github/workflows/perf.yml index 775b0ba594cb..1397335aee06 100644 --- a/.github/workflows/perf.yml +++ b/.github/workflows/perf.yml @@ -21,7 +21,7 @@ jobs: workflows: ${{ steps.workflows.outputs.workflows }} steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Install node modules run: pnpm install --frozen-lockfile - id: workflows @@ -36,9 +36,9 @@ jobs: workflow: ${{ fromJSON(needs.list.outputs.workflows) }} steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/bazel/setup@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Install node modules run: pnpm install --frozen-lockfile # We utilize the google-github-actions/auth action to allow us to get an active credential using workflow diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 55905d17763e..9cf1767dba61 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@368d4b7c2fa82d37087b92419462d94f73f7cd02 with: cache-node-modules: true - name: Install node modules @@ -39,7 +39,7 @@ jobs: - name: Check code format run: pnpm ng-dev format changed --check ${{ github.event.pull_request.base.sha }} - name: Check Package Licenses - uses: angular/dev-infra/github-actions/linting/licenses@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/linting/licenses@368d4b7c2fa82d37087b92419462d94f73f7cd02 with: allow-dependencies-licenses: 'pkg:npm/google-protobuf@' @@ -47,13 +47,13 @@ jobs: runs-on: ubuntu-latest steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@368d4b7c2fa82d37087b92419462d94f73f7cd02 with: cache-node-modules: true - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/bazel/setup@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Setup Bazel RBE - uses: angular/dev-infra/github-actions/bazel/configure-remote@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/bazel/configure-remote@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Install node modules run: pnpm install --frozen-lockfile - name: Run unit tests @@ -72,13 +72,13 @@ jobs: runs-on: ubuntu-latest-8core steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@368d4b7c2fa82d37087b92419462d94f73f7cd02 with: cache-node-modules: true - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/bazel/setup@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Setup Bazel Remote Caching - uses: angular/dev-infra/github-actions/bazel/configure-remote@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/bazel/configure-remote@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Install node modules run: pnpm install --frozen-lockfile - name: Run CI tests for framework @@ -98,13 +98,13 @@ jobs: runs-on: ubuntu-latest-4core steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@368d4b7c2fa82d37087b92419462d94f73f7cd02 with: cache-node-modules: true - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/bazel/setup@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Setup Bazel Remote Caching - uses: angular/dev-infra/github-actions/bazel/configure-remote@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/bazel/configure-remote@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Install node modules run: pnpm install --frozen-lockfile - name: Run integration CI tests for framework @@ -115,11 +115,11 @@ jobs: labels: ubuntu-latest-8core steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/bazel/setup@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Setup Bazel RBE - uses: angular/dev-infra/github-actions/bazel/configure-remote@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/bazel/configure-remote@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Install node modules run: pnpm install --frozen-lockfile - name: Run tests @@ -132,7 +132,7 @@ jobs: labels: ubuntu-latest-4core steps: - name: Initialize environment - uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@368d4b7c2fa82d37087b92419462d94f73f7cd02 with: cache-node-modules: true node-module-directories: | @@ -140,9 +140,9 @@ jobs: ./packages/zone.js/node_modules ./packages/zone.js/test/typings/node_modules - name: Setup Bazel - uses: angular/dev-infra/github-actions/bazel/setup@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/bazel/setup@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Setup Bazel RBE - uses: angular/dev-infra/github-actions/bazel/configure-remote@4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + uses: angular/dev-infra/github-actions/bazel/configure-remote@368d4b7c2fa82d37087b92419462d94f73f7cd02 - name: Install node modules run: pnpm install --frozen-lockfile - run: | diff --git a/WORKSPACE b/WORKSPACE index 575278655969..6a05769a266b 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -166,7 +166,7 @@ http_archive( git_repository( name = "devinfra", - commit = "5bd41ae2d8be51c3f98010714f8eaaab6d82fb62", + commit = "368d4b7c2fa82d37087b92419462d94f73f7cd02", remote = "https://github.com/angular/dev-infra.git", ) diff --git a/adev/package.json b/adev/package.json index 34ed7b056eaf..e8cc8e602ff8 100644 --- a/adev/package.json +++ b/adev/package.json @@ -1,21 +1,21 @@ { "dependencies": { - "@angular-devkit/build-angular": "20.2.0-next.2", + "@angular-devkit/build-angular": "20.2.0-next.3", "@angular/animations": "workspace:*", - "@angular/build": "20.2.0-next.2", - "@angular/cdk": "20.2.0-next.2", - "@angular/cli": "20.2.0-next.2", + "@angular/build": "20.2.0-next.3", + "@angular/cdk": "20.2.0-next.3", + "@angular/cli": "20.2.0-next.3", "@angular/common": "workspace:*", "@angular/compiler-cli": "workspace:*", "@angular/compiler": "workspace:*", "@angular/core": "workspace:*", "@angular/docs": "workspace:*", "@angular/forms": "workspace:*", - "@angular/material": "20.2.0-next.2", + "@angular/material": "20.2.0-next.3", "@angular/platform-browser": "workspace:*", "@angular/platform-server": "workspace:*", "@angular/router": "workspace:*", - "@angular/ssr": "20.2.0-next.2", + "@angular/ssr": "20.2.0-next.3", "@codemirror/autocomplete": "6.18.6", "@codemirror/commands": "6.8.1", "@codemirror/lang-angular": "0.1.4", diff --git a/modules/package.json b/modules/package.json index c855821ba397..4f4b90bcbdd2 100644 --- a/modules/package.json +++ b/modules/package.json @@ -2,7 +2,7 @@ "dependencies": { "@angular/animations": "workspace:*", "@angular/benchpress": "workspace:*", - "@angular/build": "20.2.0-next.2", + "@angular/build": "20.2.0-next.3", "@angular/common": "workspace:*", "@angular/compiler": "workspace:*", "@angular/compiler-cli": "workspace:*", diff --git a/package.json b/package.json index ba4c67a557fa..e78a918dd00f 100644 --- a/package.json +++ b/package.json @@ -48,14 +48,14 @@ }, "// 1": "dependencies are used locally and by bazel", "dependencies": { - "@angular-devkit/build-angular": "20.2.0-next.2", - "@angular-devkit/core": "20.2.0-next.2", - "@angular-devkit/schematics": "20.2.0-next.2", + "@angular-devkit/build-angular": "20.2.0-next.3", + "@angular-devkit/core": "20.2.0-next.3", + "@angular-devkit/schematics": "20.2.0-next.3", "@angular/animations": "workspace:*", "@angular/benchpress": "workspace: *", - "@angular/build": "20.2.0-next.2", - "@angular/cdk": "20.2.0-next.2", - "@angular/cli": "20.2.0-next.2", + "@angular/build": "20.2.0-next.3", + "@angular/cdk": "20.2.0-next.3", + "@angular/cli": "20.2.0-next.3", "@angular/common": "workspace:*", "@angular/compiler": "workspace:*", "@angular/compiler-cli": "workspace:*", @@ -64,13 +64,13 @@ "@angular/forms": "workspace:*", "@angular/language-service": "workspace: *", "@angular/localize": "workspace: *", - "@angular/material": "20.2.0-next.2", + "@angular/material": "20.2.0-next.3", "@angular/platform-browser": "workspace:*", "@angular/platform-browser-dynamic": "workspace:*", "@angular/platform-server": "workspace:*", "@angular/router": "workspace:*", "@angular/service-worker": "workspace:*", - "@angular/ssr": "20.2.0-next.2", + "@angular/ssr": "20.2.0-next.3", "@angular/upgrade": "workspace: *", "@babel/cli": "7.28.0", "@babel/core": "7.28.0", @@ -80,7 +80,7 @@ "@rollup/plugin-babel": "^6.0.0", "@rollup/plugin-commonjs": "^28.0.0", "@rollup/plugin-node-resolve": "^16.0.0", - "@schematics/angular": "20.2.0-next.2", + "@schematics/angular": "20.2.0-next.3", "@types/angular": "^1.6.47", "@types/babel__core": "7.20.5", "@types/babel__generator": "7.27.0", @@ -166,8 +166,8 @@ "devDependencies": { "@actions/core": "^1.10.0", "@actions/github": "^6.0.0", - "@angular-devkit/architect-cli": "0.2002.0-next.2", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#ee016d9031a302c2dbcfa5d0ea7195ae7094290d", + "@angular-devkit/architect-cli": "0.2002.0-next.3", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#b5b6047ba08186530059609b33d29a3639a6c316", "@babel/plugin-proposal-async-generator-functions": "7.20.7", "@babel/plugin-transform-async-generator-functions": "^7.27.1", "@bazel/bazelisk": "^1.7.5", diff --git a/packages/core/test/bundling/package.json b/packages/core/test/bundling/package.json index 2b052686380c..d51bf18c5288 100644 --- a/packages/core/test/bundling/package.json +++ b/packages/core/test/bundling/package.json @@ -1,7 +1,7 @@ { "dependencies": { "@angular/animations": "workspace:*", - "@angular/build": "20.2.0-next.2", + "@angular/build": "20.2.0-next.3", "@angular/common": "workspace:*", "@angular/compiler-cli": "workspace:*", "@angular/compiler": "workspace:*", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e956ac9598ce..6029e52c6339 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -22,14 +22,14 @@ importers: .: dependencies: '@angular-devkit/build-angular': - specifier: 20.2.0-next.2 - version: 20.2.0-next.2(@angular/ssr@20.2.0-next.2)(@types/node@18.19.121)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4)(protractor@7.0.0)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.0) + specifier: 20.2.0-next.3 + version: 20.2.0-next.3(@angular/ssr@20.2.0-next.3)(@types/node@18.19.121)(bufferutil@4.0.9)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4(bufferutil@4.0.9))(protractor@7.0.0)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.1) '@angular-devkit/core': - specifier: 20.2.0-next.2 - version: 20.2.0-next.2(chokidar@4.0.3) + specifier: 20.2.0-next.3 + version: 20.2.0-next.3(chokidar@4.0.3) '@angular-devkit/schematics': - specifier: 20.2.0-next.2 - version: 20.2.0-next.2(chokidar@4.0.3) + specifier: 20.2.0-next.3 + version: 20.2.0-next.3(chokidar@4.0.3) '@angular/animations': specifier: workspace:* version: link:packages/animations @@ -37,14 +37,14 @@ importers: specifier: 'workspace: *' version: link:packages/benchpress '@angular/build': - specifier: 20.2.0-next.2 - version: 20.2.0-next.2(@angular/ssr@20.2.0-next.2)(@types/node@18.19.121)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4)(less@4.4.0)(postcss@8.5.6)(terser@5.43.1)(tslib@2.8.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.0) + specifier: 20.2.0-next.3 + version: 20.2.0-next.3(@angular/ssr@20.2.0-next.3)(@types/node@18.19.121)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4(bufferutil@4.0.9))(less@4.4.0)(postcss@8.5.6)(terser@5.43.1)(tslib@2.8.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.1) '@angular/cdk': - specifier: 20.2.0-next.2 - version: 20.2.0-next.2(rxjs@7.8.2) + specifier: 20.2.0-next.3 + version: 20.2.0-next.3(rxjs@7.8.2) '@angular/cli': - specifier: 20.2.0-next.2 - version: 20.2.0-next.2(@types/node@18.19.121)(chokidar@4.0.3) + specifier: 20.2.0-next.3 + version: 20.2.0-next.3(@types/node@18.19.121)(chokidar@4.0.3) '@angular/common': specifier: workspace:* version: link:packages/common @@ -70,8 +70,8 @@ importers: specifier: 'workspace: *' version: link:packages/localize '@angular/material': - specifier: 20.2.0-next.2 - version: 20.2.0-next.2(@angular/cdk@20.2.0-next.2(rxjs@7.8.2))(rxjs@7.8.2) + specifier: 20.2.0-next.3 + version: 20.2.0-next.3(@angular/cdk@20.2.0-next.3(rxjs@7.8.2))(rxjs@7.8.2) '@angular/platform-browser': specifier: workspace:* version: link:packages/platform-browser @@ -88,8 +88,8 @@ importers: specifier: workspace:* version: link:packages/service-worker '@angular/ssr': - specifier: 20.2.0-next.2 - version: 20.2.0-next.2 + specifier: 20.2.0-next.3 + version: 20.2.0-next.3 '@angular/upgrade': specifier: 'workspace: *' version: link:packages/upgrade @@ -118,8 +118,8 @@ importers: specifier: ^16.0.0 version: 16.0.1(rollup@4.46.2) '@schematics/angular': - specifier: 20.2.0-next.2 - version: 20.2.0-next.2(chokidar@4.0.3) + specifier: 20.2.0-next.3 + version: 20.2.0-next.3(chokidar@4.0.3) '@types/angular': specifier: ^1.6.47 version: 1.8.9 @@ -248,7 +248,7 @@ importers: version: 2.5.2 karma: specifier: ~6.4.0 - version: 6.4.4 + version: 6.4.4(bufferutil@4.0.9)(utf-8-validate@6.0.5) karma-chrome-launcher: specifier: ^3.1.0 version: 3.2.0 @@ -257,10 +257,10 @@ importers: version: 2.1.3 karma-jasmine: specifier: ^5.0.0 - version: 5.1.0(karma@6.4.4) + version: 5.1.0(karma@6.4.4(bufferutil@4.0.9)) karma-requirejs: specifier: ^1.1.0 - version: 1.1.0(karma@6.4.4)(requirejs@2.3.7) + version: 1.1.0(karma@6.4.4(bufferutil@4.0.9))(requirejs@2.3.7) karma-sourcemap-loader: specifier: ^0.4.0 version: 0.4.0 @@ -272,7 +272,7 @@ importers: version: 0.1.1 ngx-progressbar: specifier: ^14.0.0 - version: 14.0.0(@angular/cdk@20.2.0-next.2(rxjs@7.8.2))(rxjs@7.8.2) + version: 14.0.0(@angular/cdk@20.2.0-next.3(rxjs@7.8.2))(rxjs@7.8.2) open-in-idx: specifier: ^0.1.1 version: 0.1.1 @@ -305,7 +305,7 @@ importers: version: 3.5.0 selenium-webdriver4: specifier: npm:selenium-webdriver@4.34.0 - version: selenium-webdriver@4.34.0 + version: selenium-webdriver@4.34.0(bufferutil@4.0.9) semver-dsl: specifier: ^1.0.1 version: 1.0.1 @@ -350,7 +350,7 @@ importers: version: 2.0.1 ws: specifier: ^8.15.0 - version: 8.18.3 + version: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) xhr2: specifier: 0.2.1 version: 0.2.1 @@ -368,11 +368,11 @@ importers: specifier: ^6.0.0 version: 6.0.1 '@angular-devkit/architect-cli': - specifier: 0.2002.0-next.2 - version: 0.2002.0-next.2(chokidar@4.0.3) + specifier: 0.2002.0-next.3 + version: 0.2002.0-next.3(chokidar@4.0.3) '@angular/ng-dev': - specifier: https://github.com/angular/dev-infra-private-ng-dev-builds.git#ee016d9031a302c2dbcfa5d0ea7195ae7094290d - version: https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/ee016d9031a302c2dbcfa5d0ea7195ae7094290d(@modelcontextprotocol/sdk@1.17.0)(encoding@0.1.13) + specifier: https://github.com/angular/dev-infra-private-ng-dev-builds.git#b5b6047ba08186530059609b33d29a3639a6c316 + version: https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/b5b6047ba08186530059609b33d29a3639a6c316(@modelcontextprotocol/sdk@1.17.1) '@babel/plugin-proposal-async-generator-functions': specifier: 7.20.7 version: 7.20.7(@babel/core@7.28.0) @@ -447,7 +447,7 @@ importers: version: 10.4.0 firebase-tools: specifier: ^14.0.0 - version: 14.11.2(@types/node@18.19.121)(encoding@0.1.13) + version: 14.11.2(@types/node@18.19.121)(bufferutil@4.0.9)(encoding@0.1.13) get-tsconfig: specifier: ^4.10.1 version: 4.10.1 @@ -465,16 +465,16 @@ importers: version: 9.1.7 jsdom: specifier: ^26.0.0 - version: 26.1.0 + version: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) karma-coverage: specifier: ^2.2.1 version: 2.2.1 karma-jasmine-html-reporter: specifier: ^2.1.0 - version: 2.1.0(jasmine-core@5.9.0)(karma-jasmine@5.1.0(karma@6.4.4))(karma@6.4.4) + version: 2.1.0(jasmine-core@5.9.0)(karma-jasmine@5.1.0(karma@6.4.4(bufferutil@4.0.9)))(karma@6.4.4(bufferutil@4.0.9)) karma-sauce-launcher: specifier: ^4.3.6 - version: 4.3.6(encoding@0.1.13)(typescript@5.9.2) + version: 4.3.6(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.9.2) live-server: specifier: ^1.2.2 version: 1.2.2 @@ -530,20 +530,20 @@ importers: specifier: 5.35.0 version: 5.35.0 '@angular-devkit/build-angular': - specifier: 20.2.0-next.2 - version: 20.2.0-next.2(@angular/ssr@20.2.0-next.2)(@types/node@24.1.0)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4)(protractor@7.0.0)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.0) + specifier: 20.2.0-next.3 + version: 20.2.0-next.3(@angular/ssr@20.2.0-next.3)(@types/node@24.1.0)(bufferutil@4.0.9)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4(bufferutil@4.0.9)(utf-8-validate@6.0.5))(protractor@7.0.0)(tsx@4.20.3)(typescript@5.9.2)(utf-8-validate@6.0.5)(yaml@2.8.1) '@angular/animations': specifier: workspace:* version: link:../packages/animations '@angular/build': - specifier: 20.2.0-next.2 - version: 20.2.0-next.2(@angular/ssr@20.2.0-next.2)(@types/node@24.1.0)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4)(less@4.4.0)(postcss@8.5.6)(terser@5.43.1)(tslib@2.8.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.0) + specifier: 20.2.0-next.3 + version: 20.2.0-next.3(@angular/ssr@20.2.0-next.3)(@types/node@24.1.0)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.4.0)(postcss@8.5.6)(terser@5.43.1)(tslib@2.8.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.1) '@angular/cdk': - specifier: 20.2.0-next.2 - version: 20.2.0-next.2(rxjs@7.8.2) + specifier: 20.2.0-next.3 + version: 20.2.0-next.3(rxjs@7.8.2) '@angular/cli': - specifier: 20.2.0-next.2 - version: 20.2.0-next.2(@types/node@24.1.0)(chokidar@4.0.3) + specifier: 20.2.0-next.3 + version: 20.2.0-next.3(@types/node@24.1.0)(chokidar@4.0.3) '@angular/common': specifier: workspace:* version: link:../packages/common @@ -563,8 +563,8 @@ importers: specifier: workspace:* version: link:../packages/forms '@angular/material': - specifier: 20.2.0-next.2 - version: 20.2.0-next.2(@angular/cdk@20.2.0-next.2(rxjs@7.8.2))(rxjs@7.8.2) + specifier: 20.2.0-next.3 + version: 20.2.0-next.3(@angular/cdk@20.2.0-next.3(rxjs@7.8.2))(rxjs@7.8.2) '@angular/platform-browser': specifier: workspace:* version: link:../packages/platform-browser @@ -575,8 +575,8 @@ importers: specifier: workspace:* version: link:../packages/router '@angular/ssr': - specifier: 20.2.0-next.2 - version: 20.2.0-next.2 + specifier: 20.2.0-next.3 + version: 20.2.0-next.3 '@codemirror/autocomplete': specifier: 6.18.6 version: 6.18.6 @@ -690,7 +690,7 @@ importers: version: 5.9.0 jsdom: specifier: 26.1.0 - version: 26.1.0 + version: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) karma-chrome-launcher: specifier: 3.2.0 version: 3.2.0 @@ -699,10 +699,10 @@ importers: version: 2.2.1 karma-jasmine: specifier: 5.1.0 - version: 5.1.0(karma@6.4.4) + version: 5.1.0(karma@6.4.4(bufferutil@4.0.9)) karma-jasmine-html-reporter: specifier: 2.1.0 - version: 2.1.0(jasmine-core@5.9.0)(karma-jasmine@5.1.0(karma@6.4.4))(karma@6.4.4) + version: 2.1.0(jasmine-core@5.9.0)(karma-jasmine@5.1.0(karma@6.4.4(bufferutil@4.0.9)))(karma@6.4.4(bufferutil@4.0.9)) marked: specifier: 16.1.1 version: 16.1.1 @@ -711,7 +711,7 @@ importers: version: 11.9.0 ngx-progressbar: specifier: 14.0.0 - version: 14.0.0(@angular/cdk@20.2.0-next.2(rxjs@7.8.2))(rxjs@7.8.2) + version: 14.0.0(@angular/cdk@20.2.0-next.3(rxjs@7.8.2))(rxjs@7.8.2) open-in-idx: specifier: 0.1.1 version: 0.1.1 @@ -789,7 +789,7 @@ importers: version: 2.6.0 jsdom: specifier: ~26.1.0 - version: 26.1.0 + version: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) marked: specifier: ~16.1.0 version: 16.1.1 @@ -830,8 +830,8 @@ importers: specifier: workspace:* version: link:../packages/benchpress '@angular/build': - specifier: 20.2.0-next.2 - version: 20.2.0-next.2(@angular/ssr@20.2.0-next.2)(@types/node@24.1.0)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4)(less@4.4.0)(postcss@8.5.6)(terser@5.43.1)(tslib@2.8.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.0) + specifier: 20.2.0-next.3 + version: 20.2.0-next.3(@angular/ssr@20.2.0-next.3)(@types/node@24.1.0)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.4.0)(postcss@8.5.6)(terser@5.43.1)(tslib@2.8.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.1) '@angular/common': specifier: workspace:* version: link:../packages/common @@ -1004,8 +1004,8 @@ importers: specifier: workspace:* version: link:../../../animations '@angular/build': - specifier: 20.2.0-next.2 - version: 20.2.0-next.2(@angular/ssr@20.2.0-next.2)(@types/node@24.1.0)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4)(less@4.4.0)(postcss@8.5.6)(terser@5.43.1)(tslib@2.8.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.0) + specifier: 20.2.0-next.3 + version: 20.2.0-next.3(@angular/ssr@20.2.0-next.3)(@types/node@24.2.0)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.4.0)(postcss@8.5.6)(terser@5.43.1)(tslib@2.8.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.1) '@angular/common': specifier: workspace:* version: link:../../../common @@ -1213,106 +1213,54 @@ packages: resolution: {integrity: sha512-sEyWjw28a/9iluA37KLGu8vjxEIlb60uxznfTUmXImy7H5NvbpSO6yYgmgH5KiD7j+zTUUihiST0jEP12IoXow==} engines: {node: '>= 14.0.0'} - '@algolia/client-abtesting@5.34.1': - resolution: {integrity: sha512-M4zb6J7q+pg9V9Xk0k1WDgvupfCtXcxjKGTrNVYemiredLVGOmvVIPAUjg2rx4QmK7DWNApWLsieYwk7PAaOXw==} - engines: {node: '>= 14.0.0'} - '@algolia/client-abtesting@5.35.0': resolution: {integrity: sha512-uUdHxbfHdoppDVflCHMxRlj49/IllPwwQ2cQ8DLC4LXr3kY96AHBpW0dMyi6ygkn2MtFCc6BxXCzr668ZRhLBQ==} engines: {node: '>= 14.0.0'} - '@algolia/client-analytics@5.34.1': - resolution: {integrity: sha512-h18zlL+bVUlbNE92olo1d/r6HQPkxhmP7yCpA1osERwpgC6F058kWm0O0aYdrHJIHtWBcs9aRqq7IkQSkpjPJg==} - engines: {node: '>= 14.0.0'} - '@algolia/client-analytics@5.35.0': resolution: {integrity: sha512-SunAgwa9CamLcRCPnPHx1V2uxdQwJGqb1crYrRWktWUdld0+B2KyakNEeVn5lln4VyeNtW17Ia7V7qBWyM/Skw==} engines: {node: '>= 14.0.0'} - '@algolia/client-common@5.34.1': - resolution: {integrity: sha512-otPWALs72KvmVuP0CN0DI6sqVx1jQWKi+/DgAiP8DysVMgiNlva3GDKTtAK6XVGlT08f4h32FNuL0yQODuCfKA==} - engines: {node: '>= 14.0.0'} - '@algolia/client-common@5.35.0': resolution: {integrity: sha512-ipE0IuvHu/bg7TjT2s+187kz/E3h5ssfTtjpg1LbWMgxlgiaZIgTTbyynM7NfpSJSKsgQvCQxWjGUO51WSCu7w==} engines: {node: '>= 14.0.0'} - '@algolia/client-insights@5.34.1': - resolution: {integrity: sha512-SNDb5wuEpQFM6S5Shk2iytLMusvGycm9uTuYh7cGa1h3U7O65OjjjIgQ0lLY5HPybHNtmXr4Zh/EZ23pZvAJHg==} - engines: {node: '>= 14.0.0'} - '@algolia/client-insights@5.35.0': resolution: {integrity: sha512-UNbCXcBpqtzUucxExwTSfAe8gknAJ485NfPN6o1ziHm6nnxx97piIbcBQ3edw823Tej2Wxu1C0xBY06KgeZ7gA==} engines: {node: '>= 14.0.0'} - '@algolia/client-personalization@5.34.1': - resolution: {integrity: sha512-T8z9KqYJOup83Hw0mgICYWfJoLh//FNWbf4roFd95ZJzZ4v1cN/hvr7Eqml1qWMoCkJb4y/XQjrXsJ6Y9XnMLw==} - engines: {node: '>= 14.0.0'} - '@algolia/client-personalization@5.35.0': resolution: {integrity: sha512-/KWjttZ6UCStt4QnWoDAJ12cKlQ+fkpMtyPmBgSS2WThJQdSV/4UWcqCUqGH7YLbwlj3JjNirCu3Y7uRTClxvA==} engines: {node: '>= 14.0.0'} - '@algolia/client-query-suggestions@5.34.1': - resolution: {integrity: sha512-YA0kC4CwO1mc1dliNgbFgToweRa7Uihjz3izEaV4cXninF1v4SaOrPkQUsiFPprAffjMzOUoT7vahQZ/HZyiKQ==} - engines: {node: '>= 14.0.0'} - '@algolia/client-query-suggestions@5.35.0': resolution: {integrity: sha512-8oCuJCFf/71IYyvQQC+iu4kgViTODbXDk3m7yMctEncRSRV+u2RtDVlpGGfPlJQOrAY7OONwJlSHkmbbm2Kp/w==} engines: {node: '>= 14.0.0'} - '@algolia/client-search@5.34.1': - resolution: {integrity: sha512-bt5hC9vvjaKvdvsgzfXJ42Sl3qjQqoi/FD8V7HOQgtNFhwSauZOlgLwFoUiw67sM+r7ehF7QDk5WRDgY7fAkIg==} - engines: {node: '>= 14.0.0'} - '@algolia/client-search@5.35.0': resolution: {integrity: sha512-FfmdHTrXhIduWyyuko1YTcGLuicVbhUyRjO3HbXE4aP655yKZgdTIfMhZ/V5VY9bHuxv/fGEh3Od1Lvv2ODNTg==} engines: {node: '>= 14.0.0'} - '@algolia/ingestion@1.34.1': - resolution: {integrity: sha512-QLxiBskQxFGzPqKZvBNEvNN95kgDCbBd2X29ZGfh6Sr2QOSU34US6Z9x2duiF4o9FwsB0i6eQ2c9vHfuH0lAQg==} - engines: {node: '>= 14.0.0'} - '@algolia/ingestion@1.35.0': resolution: {integrity: sha512-gPzACem9IL1Co8mM1LKMhzn1aSJmp+Vp434An4C0OBY4uEJRcqsLN3uLBlY+bYvFg8C8ImwM9YRiKczJXRk0XA==} engines: {node: '>= 14.0.0'} - '@algolia/monitoring@1.34.1': - resolution: {integrity: sha512-NteCvWcWXXdnPGyZH8rXHslcf2pM1WGDNMGNZFXLFtOt1Gf1Tjy2t0NZLp+Mxap3JMV4mbYmactbXrvpQf/lLA==} - engines: {node: '>= 14.0.0'} - '@algolia/monitoring@1.35.0': resolution: {integrity: sha512-w9MGFLB6ashI8BGcQoVt7iLgDIJNCn4OIu0Q0giE3M2ItNrssvb8C0xuwJQyTy1OFZnemG0EB1OvXhIHOvQwWw==} engines: {node: '>= 14.0.0'} - '@algolia/recommend@5.34.1': - resolution: {integrity: sha512-UdgDSrunLIBAAAxQlYLXYLnYFN4wkzkrAYx+wMLEk/pzASWyza3BkecbUFVqoYOBIgwo7Mt4iymzVtFkzL2uCQ==} - engines: {node: '>= 14.0.0'} - '@algolia/recommend@5.35.0': resolution: {integrity: sha512-AhrVgaaXAb8Ue0u2nuRWwugt0dL5UmRgS9LXe0Hhz493a8KFeZVUE56RGIV3hAa6tHzmAV7eIoqcWTQvxzlJeQ==} engines: {node: '>= 14.0.0'} - '@algolia/requester-browser-xhr@5.34.1': - resolution: {integrity: sha512-567LfFTc9VOiPtuySQohoqaWMeohYWbXK71aMSin+SLMgeKX7hz5LrVmkmMQj9udwWK6/mtHEYZGPYHSuXpLQg==} - engines: {node: '>= 14.0.0'} - '@algolia/requester-browser-xhr@5.35.0': resolution: {integrity: sha512-diY415KLJZ6x1Kbwl9u96Jsz0OstE3asjXtJ9pmk1d+5gPuQ5jQyEsgC+WmEXzlec3iuVszm8AzNYYaqw6B+Zw==} engines: {node: '>= 14.0.0'} - '@algolia/requester-fetch@5.34.1': - resolution: {integrity: sha512-YRbygPgGBEik5U593JvyjgxFjcsyZMR25eIQxNHvSQumdAzt5A4E4Idw3yXnwhrmMdjML54ZXT7EAjnTjWy8Xw==} - engines: {node: '>= 14.0.0'} - '@algolia/requester-fetch@5.35.0': resolution: {integrity: sha512-uydqnSmpAjrgo8bqhE9N1wgcB98psTRRQXcjc4izwMB7yRl9C8uuAQ/5YqRj04U0mMQ+fdu2fcNF6m9+Z1BzDQ==} engines: {node: '>= 14.0.0'} - '@algolia/requester-node-http@5.34.1': - resolution: {integrity: sha512-o0mqRYbS82Rt4DE02Od7RL6pNtV7oSxScPuIw8LW4aqO2V5eCF05Pry/SnUgcI/Vb2QCYC66hytBCqzyC/toZA==} - engines: {node: '>= 14.0.0'} - '@algolia/requester-node-http@5.35.0': resolution: {integrity: sha512-RgLX78ojYOrThJHrIiPzT4HW3yfQa0D7K+MQ81rhxqaNyNBu4F1r+72LNHYH/Z+y9I1Mrjrd/c/Ue5zfDgAEjQ==} engines: {node: '>= 14.0.0'} @@ -1321,20 +1269,20 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@angular-devkit/architect-cli@0.2002.0-next.2': - resolution: {integrity: sha512-zSU79RUT8I8i7Ix5kHWBcNHPlHARDAdkprYC3f+E7I9IZbruyvwrnKfbi2I/gOhPAvLw1TY4vrXyqGI/WM405w==} + '@angular-devkit/architect-cli@0.2002.0-next.3': + resolution: {integrity: sha512-llUkgGjzXJpoU5/XzN9c391KhrKmniNdScs8zTksFzDQ/ZJr31OhMwtgNDs2WAvw9bg13+3eEQTKPXxuhjWjCA==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true - '@angular-devkit/architect@0.2002.0-next.2': - resolution: {integrity: sha512-/LQ53V80Ivup/ghF0RmcPp/6ASkRU8+F0Y/DEdjvF9rPAvO4YAt4hA3zxJFXvOh9Ch4gOtYn5sApKWylpLM0rA==} + '@angular-devkit/architect@0.2002.0-next.3': + resolution: {integrity: sha512-x7kvdsxq7gX90pcsakaszuV1Ai6/AlNSe9sqQzrhWV+gEaStOXyuA5z0xsEqImlxj5/MbzEErpVPU6mDq4GjEw==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - '@angular-devkit/build-angular@20.2.0-next.2': - resolution: {integrity: sha512-hO1lDH2S6guJdfyqAv6FpPi9C5GmP92i2ViZBnfW7sk2yI/5jUBp2pZ47HbVBCGOlFJKtyWFKYiNoxfnakhxXA==} + '@angular-devkit/build-angular@20.2.0-next.3': + resolution: {integrity: sha512-2IrbZ3lf/wISU4uKVhbMfQZ6L88mKvfPJloeGshyLtHK6N1/8Cg5/0v4HjuqA4H32xTi3+LfKFtWjFuFWNyAKA==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: - '@angular/ssr': ^20.2.0-next.2 + '@angular/ssr': ^20.2.0-next.3 '@web/test-runner': ^0.20.0 browser-sync: ^3.0.2 jest: ^29.5.0 @@ -1369,15 +1317,15 @@ packages: engines: {node: '>= 8.9.0', npm: '>= 5.5.1'} hasBin: true - '@angular-devkit/build-webpack@0.2002.0-next.2': - resolution: {integrity: sha512-kUjmnZ426Snz7S+2NkBrWRBD8HnY4dUGqyv/VjR8nYmeCSjw0tTOwDnQQJR+LhJvoJdTMUHiXiy641/h357E3A==} + '@angular-devkit/build-webpack@0.2002.0-next.3': + resolution: {integrity: sha512-U7INqWjU7uIybJeZAm+36D3cjargzD3n5KL1I1RuV7wO60Ap/00ktq41H12cEj7gFMFawosH4pzGhsMJpNCojg==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: webpack: ^5.30.0 webpack-dev-server: ^5.0.2 - '@angular-devkit/core@20.2.0-next.2': - resolution: {integrity: sha512-spIArQ3XjiyKr3omDjn3PXbkvu/Zsi1Usfvf6sTR4IsNhtsquYlux122u6yVMcIoXsP13O30oqCKEFuJyNIAuA==} + '@angular-devkit/core@20.2.0-next.3': + resolution: {integrity: sha512-o1FsRD9NMWq2JWVoA1FkJ3Wx0YIE3IIZPy6RztNNpXwhWOiRtgZ9Ya61eFosgktEbCcgY33zdRGCjcAjQr5UHA==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: chokidar: ^4.0.0 @@ -1385,15 +1333,15 @@ packages: chokidar: optional: true - '@angular-devkit/schematics@20.2.0-next.2': - resolution: {integrity: sha512-VWL4dBjASKGWWnktjjZ6Q7RYU10e8XbPy7kA/9Q3c165WLksQpSrw/PT3DwhFDcbQDTmJ2bN3roeGj526drpKw==} + '@angular-devkit/schematics@20.2.0-next.3': + resolution: {integrity: sha512-vRRSPBeFWBOyLj0THBqaSUap0copC+hXimLtycAbG0Ox5eFn31ppYRoZRbrMGD7ycyqdJemrT76wXLHcpM8O+w==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - '@angular/build@20.2.0-next.2': - resolution: {integrity: sha512-2fW+hM+w0rAyNFXTNhaBEKLW0Ef367dKojSTftcI5hj3iNm/vdz4XVfL0WPD35XM7cKFivudw8XqeBN70n6YYw==} + '@angular/build@20.2.0-next.3': + resolution: {integrity: sha512-fg+slo8ZWPqI4hMn6qGeEGbPmWHUGlfrXh/nXBvxbUMHoBQBp2AkRyC/50B3g5KX5+z4ivpuSjj87olSSXuCvg==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: - '@angular/ssr': ^20.2.0-next.2 + '@angular/ssr': ^20.2.0-next.3 karma: ^6.4.0 less: ^4.2.0 ng-packagr: ^20.0.0 || ^20.2.0-next.0 @@ -1418,13 +1366,13 @@ packages: vitest: optional: true - '@angular/cdk@20.2.0-next.2': - resolution: {integrity: sha512-LXKouQ9D5wA/+u3v07VzKw/jxF4xXE+r1LWv40VkDix9JuQjdVefnZ+i9GWG4sWSwwQdio8+mVl1XgDIo6QNfw==} + '@angular/cdk@20.2.0-next.3': + resolution: {integrity: sha512-hNKVLAIlDh5H3QL0gNOJ6W5xxS9v5EDzyWI3eOe7ZnrUGmcEr9ViiDGrTEmu6aEMycXI1PUJ+jfoGLSaAmR+fQ==} peerDependencies: rxjs: ^6.5.3 || ^7.4.0 - '@angular/cli@20.2.0-next.2': - resolution: {integrity: sha512-cPvbMpmXi++4lv02X4DvwRRleXXqaEw+KI1IMVHKwRJcGaw6CBGb8rcHaXRQlaB/mjUgTRm13qE9uRkly+iQvA==} + '@angular/cli@20.2.0-next.3': + resolution: {integrity: sha512-+5ZS3VjNYaMZ7g0Npah7pMYWvdNJ0+1CIlEMwrjLNFOcFZyrJiHup086gZC/KDZu6yBYjO0RD0GFhWdnOnAftg==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true @@ -1436,19 +1384,19 @@ packages: resolution: {tarball: https://codeload.github.com/angular/domino/tar.gz/93e720f143d0296dd2726ffbcf4fc12283363a7b} version: 2.1.6 - '@angular/material@20.2.0-next.2': - resolution: {integrity: sha512-XKaEEhEPe75BscOlIB+QkaJucCxsbaFx1ul7cnHqdGizCZkT+pyRAoBSQ5Ql5TY2p6K+DV13o8YysJvaFGXkfA==} + '@angular/material@20.2.0-next.3': + resolution: {integrity: sha512-QvWIHqU1MkfumtyvR0r84O+EI9dL1w7tQlcwpfZyRy0b87P7T5BL+IlUVE3+gTYmCv1tYtVSzzb88MBw0BfNsQ==} peerDependencies: - '@angular/cdk': 20.2.0-next.2 + '@angular/cdk': 20.2.0-next.3 rxjs: ^6.5.3 || ^7.4.0 - '@angular/ng-dev@https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/ee016d9031a302c2dbcfa5d0ea7195ae7094290d': - resolution: {tarball: https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/ee016d9031a302c2dbcfa5d0ea7195ae7094290d} - version: 0.0.0-4d2f875ec29ee71e0fe1a349a99c5ab2ccb71e30 + '@angular/ng-dev@https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/b5b6047ba08186530059609b33d29a3639a6c316': + resolution: {tarball: https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/b5b6047ba08186530059609b33d29a3639a6c316} + version: 0.0.0-368d4b7c2fa82d37087b92419462d94f73f7cd02 hasBin: true - '@angular/ssr@20.2.0-next.2': - resolution: {integrity: sha512-LhPYgL0YSXFNJ57jd5Uwab2pZNQSzVWH4xfSXEsti9ygr2rjJU5bAayAYpFpL0MCUbdkAaBkvmjQAa227tjnLA==} + '@angular/ssr@20.2.0-next.3': + resolution: {integrity: sha512-t+pG++Jbl89HTiBxJeEXQm6aYpAHuoZUW3ORLgBh1cgJYRLcTj5FsaP1lXf7gJnDqaeA62mvNdw0qafW5qbHzQ==} '@antfu/install-pkg@1.1.0': resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} @@ -2324,6 +2272,216 @@ packages: resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} engines: {node: '>=14'} + '@firebase/ai@2.0.0': + resolution: {integrity: sha512-N/aSHjqOpU+KkYU3piMkbcuxzvqsOvxflLUXBAkYAPAz8wjE2Ye3BQDgKHEYuhMmEWqj6LFgEBUN8wwc6dfMTw==} + engines: {node: '>=20.0.0'} + peerDependencies: + '@firebase/app': 0.x + '@firebase/app-types': 0.x + + '@firebase/analytics-compat@0.2.24': + resolution: {integrity: sha512-jE+kJnPG86XSqGQGhXXYt1tpTbCTED8OQJ/PQ90SEw14CuxRxx/H+lFbWA1rlFtFSsTCptAJtgyRBwr/f00vsw==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/analytics-types@0.8.3': + resolution: {integrity: sha512-VrIp/d8iq2g501qO46uGz3hjbDb8xzYMrbu8Tp0ovzIzrvJZ2fvmj649gTjge/b7cCCcjT0H37g1gVtlNhnkbg==} + + '@firebase/analytics@0.10.18': + resolution: {integrity: sha512-iN7IgLvM06iFk8BeFoWqvVpRFW3Z70f+Qe2PfCJ7vPIgLPjHXDE774DhCT5Y2/ZU/ZbXPDPD60x/XPWEoZLNdg==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/app-check-compat@0.4.0': + resolution: {integrity: sha512-UfK2Q8RJNjYM/8MFORltZRG9lJj11k0nW84rrffiKvcJxLf1jf6IEjCIkCamykHE73C6BwqhVfhIBs69GXQV0g==} + 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-types@0.5.3': + resolution: {integrity: sha512-hyl5rKSj0QmwPdsAxrI5x1otDlByQ7bvNvVt8G/XPO2CSwE++rmSVf3VEhaeOR4J8ZFaF0Z0NDSmLejPweZ3ng==} + + '@firebase/app-check@0.11.0': + resolution: {integrity: sha512-XAvALQayUMBJo58U/rxW02IhsesaxxfWVmVkauZvGEz3vOAjMEQnzFlyblqkc2iAaO82uJ2ZVyZv9XzPfxjJ6w==} + engines: {node: '>=20.0.0'} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/app-compat@0.5.0': + resolution: {integrity: sha512-nUnNpOeRj0KZzVzHsyuyrmZKKHfykZ8mn40FtG28DeSTWeM5b/2P242Va4bmQpJsy5y32vfv50+jvdckrpzy7Q==} + engines: {node: '>=20.0.0'} + + '@firebase/app-types@0.9.3': + resolution: {integrity: sha512-kRVpIl4vVGJ4baogMDINbyrIOtOxqhkZQg4jTq3l8Lw6WSk0xfpEYzezFu+Kl4ve4fbPl79dvwRtaFqAC/ucCw==} + + '@firebase/app@0.14.0': + resolution: {integrity: sha512-APIAeKvRNFWKJLjIL8wLDjh7u8g6ZjaeVmItyqSjCdEkJj14UuVlus74D8ofsOMWh45HEwxwkd96GYbi+CImEg==} + engines: {node: '>=20.0.0'} + + '@firebase/auth-compat@0.6.0': + resolution: {integrity: sha512-J0lGSxXlG/lYVi45wbpPhcWiWUMXevY4fvLZsN1GHh+po7TZVng+figdHBVhFheaiipU8HZyc7ljw1jNojM2nw==} + 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-types@0.13.0': + resolution: {integrity: sha512-S/PuIjni0AQRLF+l9ck0YpsMOdE8GO2KU6ubmBB7P+7TJUCQDa3R1dlgYm9UzGbbePMZsp0xzB93f2b/CgxMOg==} + peerDependencies: + '@firebase/app-types': 0.x + '@firebase/util': 1.x + + '@firebase/auth@1.11.0': + resolution: {integrity: sha512-5j7+ua93X+IRcJ1oMDTClTo85l7Xe40WSkoJ+shzPrX7OISlVWLdE1mKC57PSD+/LfAbdhJmvKixINBw2ESK6w==} + engines: {node: '>=20.0.0'} + peerDependencies: + '@firebase/app': 0.x + '@react-native-async-storage/async-storage': ^1.18.1 + peerDependenciesMeta: + '@react-native-async-storage/async-storage': + optional: true + + '@firebase/component@0.7.0': + resolution: {integrity: sha512-wR9En2A+WESUHexjmRHkqtaVH94WLNKt6rmeqZhSLBybg4Wyf0Umk04SZsS6sBq4102ZsDBFwoqMqJYj2IoDSg==} + engines: {node: '>=20.0.0'} + + '@firebase/data-connect@0.3.11': + resolution: {integrity: sha512-G258eLzAD6im9Bsw+Qm1Z+P4x0PGNQ45yeUuuqe5M9B1rn0RJvvsQCRHXgE52Z+n9+WX1OJd/crcuunvOGc7Vw==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/database-compat@2.1.0': + resolution: {integrity: sha512-8nYc43RqxScsePVd1qe1xxvWNf0OBnbwHxmXJ7MHSuuTVYFO3eLyLW3PiCKJ9fHnmIz4p4LbieXwz+qtr9PZDg==} + engines: {node: '>=20.0.0'} + + '@firebase/database-types@1.0.16': + resolution: {integrity: sha512-xkQLQfU5De7+SPhEGAXFBnDryUWhhlFXelEg2YeZOQMCdoe7dL64DDAd77SQsR+6uoXIZY5MB4y/inCs4GTfcw==} + + '@firebase/database@1.1.0': + resolution: {integrity: sha512-gM6MJFae3pTyNLoc9VcJNuaUDej0ctdjn3cVtILo3D5lpp0dmUHHLFN/pUKe7ImyeB1KAvRlEYxvIHNF04Filg==} + engines: {node: '>=20.0.0'} + + '@firebase/firestore-compat@0.4.0': + resolution: {integrity: sha512-4O7v4VFeSEwAZtLjsaj33YrMHMRjplOIYC2CiYsF6o/MboOhrhe01VrTt8iY9Y5EwjRHuRz4pS6jMBT8LfQYJA==} + engines: {node: '>=20.0.0'} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/firestore-types@3.0.3': + resolution: {integrity: sha512-hD2jGdiWRxB/eZWF89xcK9gF8wvENDJkzpVFb4aGkzfEaKxVRD1kjz1t1Wj8VZEp2LCB53Yx1zD8mrhQu87R6Q==} + peerDependencies: + '@firebase/app-types': 0.x + '@firebase/util': 1.x + + '@firebase/firestore@4.9.0': + resolution: {integrity: sha512-5zl0+/h1GvlCSLt06RMwqFsd7uqRtnNZt4sW99k2rKRd6k/ECObIWlEnvthm2cuOSnUmwZknFqtmd1qyYSLUuQ==} + engines: {node: '>=20.0.0'} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/functions-compat@0.4.0': + resolution: {integrity: sha512-VPgtvoGFywWbQqtvgJnVWIDFSHV1WE6Hmyi5EGI+P+56EskiGkmnw6lEqc/MEUfGpPGdvmc4I9XMU81uj766/g==} + 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@0.13.0': + resolution: {integrity: sha512-2/LH5xIbD8aaLOWSFHAwwAybgSzHIM0dB5oVOL0zZnxFG1LctX2bc1NIAaPk1T+Zo9aVkLKUlB5fTXTkVUQprQ==} + engines: {node: '>=20.0.0'} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/installations-compat@0.2.19': + resolution: {integrity: sha512-khfzIY3EI5LePePo7vT19/VEIH1E3iYsHknI/6ek9T8QCozAZshWT9CjlwOzZrKvTHMeNcbpo/VSOSIWDSjWdQ==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/installations-types@0.5.3': + resolution: {integrity: sha512-2FJI7gkLqIE0iYsNQ1P751lO3hER+Umykel+TkLwHj6plzWVxqvfclPUZhcKFVQObqloEBTmpi2Ozn7EkCABAA==} + peerDependencies: + '@firebase/app-types': 0.x + + '@firebase/installations@0.6.19': + resolution: {integrity: sha512-nGDmiwKLI1lerhwfwSHvMR9RZuIH5/8E3kgUWnVRqqL7kGVSktjLTWEMva7oh5yxQ3zXfIlIwJwMcaM5bK5j8Q==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/logger@0.5.0': + resolution: {integrity: sha512-cGskaAvkrnh42b3BA3doDWeBmuHFO/Mx5A83rbRDYakPjO9bJtRL3dX7javzc2Rr/JHZf4HlterTW2lUkfeN4g==} + engines: {node: '>=20.0.0'} + + '@firebase/messaging-compat@0.2.23': + resolution: {integrity: sha512-SN857v/kBUvlQ9X/UjAqBoQ2FEaL1ZozpnmL1ByTe57iXkmnVVFm9KqAsTfmf+OEwWI4kJJe9NObtN/w22lUgg==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/messaging-interop-types@0.2.3': + resolution: {integrity: sha512-xfzFaJpzcmtDjycpDeCUj0Ge10ATFi/VHVIvEEjDNc3hodVBQADZ7BWQU7CuFpjSHE+eLuBI13z5F/9xOoGX8Q==} + + '@firebase/messaging@0.12.23': + resolution: {integrity: sha512-cfuzv47XxqW4HH/OcR5rM+AlQd1xL/VhuaeW/wzMW1LFrsFcTn0GND/hak1vkQc2th8UisBcrkVcQAnOnKwYxg==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/performance-compat@0.2.21': + resolution: {integrity: sha512-OQfYRsIQiEf9ez1SOMLb5TRevBHNIyA2x1GI1H10lZ432W96AK5r4LTM+SNApg84dxOuHt6RWSQWY7TPWffKXg==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/performance-types@0.2.3': + resolution: {integrity: sha512-IgkyTz6QZVPAq8GSkLYJvwSLr3LS9+V6vNPQr0x4YozZJiLF5jYixj0amDtATf1X0EtYHqoPO48a9ija8GocxQ==} + + '@firebase/performance@0.7.8': + resolution: {integrity: sha512-k6xfNM/CdTl4RaV4gT/lH53NU+wP33JiN0pUeNBzGVNvfXZ3HbCkoISE3M/XaiOwHgded1l6XfLHa4zHgm0Wyg==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/remote-config-compat@0.2.19': + resolution: {integrity: sha512-y7PZAb0l5+5oIgLJr88TNSelxuASGlXyAKj+3pUc4fDuRIdPNBoONMHaIUa9rlffBR5dErmaD2wUBJ7Z1a513Q==} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/remote-config-types@0.4.0': + resolution: {integrity: sha512-7p3mRE/ldCNYt8fmWMQ/MSGRmXYlJ15Rvs9Rk17t8p0WwZDbeK7eRmoI1tvCPaDzn9Oqh+yD6Lw+sGLsLg4kKg==} + + '@firebase/remote-config@0.6.6': + resolution: {integrity: sha512-Yelp5xd8hM4NO1G1SuWrIk4h5K42mNwC98eWZ9YLVu6Z0S6hFk1mxotAdCRmH2luH8FASlYgLLq6OQLZ4nbnCA==} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/storage-compat@0.4.0': + resolution: {integrity: sha512-vDzhgGczr1OfcOy285YAPur5pWDEvD67w4thyeCUh6Ys0izN9fNYtA1MJERmNBfqjqu0lg0FM5GLbw0Il21M+g==} + engines: {node: '>=20.0.0'} + peerDependencies: + '@firebase/app-compat': 0.x + + '@firebase/storage-types@0.8.3': + resolution: {integrity: sha512-+Muk7g9uwngTpd8xn9OdF/D48uiQ7I1Fae7ULsWPuKoCH3HU7bfFPhxtJYzyhjdniowhuDpQcfPmuNRAqZEfvg==} + peerDependencies: + '@firebase/app-types': 0.x + '@firebase/util': 1.x + + '@firebase/storage@0.14.0': + resolution: {integrity: sha512-xWWbb15o6/pWEw8H01UQ1dC5U3rf8QTAzOChYyCpafV6Xki7KVp3Yaw2nSklUwHEziSWE9KoZJS7iYeyqWnYFA==} + engines: {node: '>=20.0.0'} + peerDependencies: + '@firebase/app': 0.x + + '@firebase/util@1.13.0': + resolution: {integrity: sha512-0AZUyYUfpMNcztR5l09izHwXkZpghLgCUaAGjtMwXnCg3bj4ml5VgiwqOMOxJ+Nw4qN/zJAaOQBcJ7KGkWStqQ==} + engines: {node: '>=20.0.0'} + + '@firebase/webchannel-wrapper@1.0.4': + resolution: {integrity: sha512-6m8+P+dE/RPl4OPzjTxcTbQ0rGeRyeTvAi9KwIffBVCiAMKrfXfLZaqD1F+m8t4B5/Q5aHsMozOgirkH1F5oMQ==} + '@google-cloud/cloud-sql-connector@1.8.2': resolution: {integrity: sha512-B9LEMYIO3nJxZ2RsHM9ArYP5cElZf+EZHYZHeqx2tSCucA05s+w33nw9jibIvbs8agB/YubGbVfAiYKBAUh3DQ==} engines: {node: '>=18'} @@ -2372,8 +2530,8 @@ packages: resolution: {integrity: sha512-IJn+8A3QZJfe7FUtWqHVNo3xJs7KFpurCWGWCiCz3oEh+BkRymKZ1QxfAbU2yGMDzTytLGQ2IV6T2r3cuo75/w==} engines: {node: '>=18'} - '@google/genai@1.12.0': - resolution: {integrity: sha512-JBkQsULVexdM9zY4iXbm3A2dJ7El/hSPGCnxuRWPJNgeqcfYuyUnPTSy+I/v+MvTbz/occVmONSD6wn+17QLkg==} + '@google/genai@1.13.0': + resolution: {integrity: sha512-BxilXzE8cJ0zt5/lXk6KwuBcIT9P2Lbi2WXhwWMbxf1RNeC68/8DmYQqMrzQP333CieRMdbDXs0eNCphLoScWg==} engines: {node: '>=20.0.0'} peerDependencies: '@modelcontextprotocol/sdk': ^1.11.0 @@ -2389,6 +2547,10 @@ packages: resolution: {integrity: sha512-GsFaMXCkMqkKIvwCQjCrwH+GHbPKBjhwo/8ZuUkWHqbI73Kky9I+pQltrlT0+MWpedCoosda53lgjYfyEPgxBg==} engines: {node: '>=12.10.0'} + '@grpc/grpc-js@1.9.15': + resolution: {integrity: sha512-nqE7Hc0AzI+euzUwDAy0aY5hCp10r734gMGRdU+qOPX0XSceI2ULrcXB5U2xSc5VkWwalCj4M7GzCAygZl2KoQ==} + engines: {node: ^8.13.0 || >=10.10.0} + '@grpc/proto-loader@0.7.15': resolution: {integrity: sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ==} engines: {node: '>=6'} @@ -2488,15 +2650,6 @@ packages: '@types/node': optional: true - '@inquirer/prompts@7.7.1': - resolution: {integrity: sha512-XDxPrEWeWUBy8scAXzXuFY45r/q49R0g72bUzgQXZ1DY/xEFX+ESDMkTQolcb5jRBzaNJX2W8XQl6krMNDTjaA==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - '@inquirer/prompts@7.8.0': resolution: {integrity: sha512-JHwGbQ6wjf1dxxnalDYpZwZxUEosT+6CPGD9Zh4sm9WXdtUp9XODCQD3NjSTmu+0OAyxWXNOqf0spjIymJa2Tw==} engines: {node: '>=18'} @@ -2636,38 +2789,38 @@ packages: '@inquirer/prompts': '>= 3 < 8' listr2: 9.0.1 - '@lmdb/lmdb-darwin-arm64@3.4.1': - resolution: {integrity: sha512-kKeP5PaY3bFrrF6GY5aDd96iuh1eoS+5CHJ+7hIP629KIEwzGNwbIzBmEX9TAhRJOivSRDTHCIsbu//+NsYKkg==} + '@lmdb/lmdb-darwin-arm64@3.4.2': + resolution: {integrity: sha512-NK80WwDoODyPaSazKbzd3NEJ3ygePrkERilZshxBViBARNz21rmediktGHExoj9n5t9+ChlgLlxecdFKLCuCKg==} cpu: [arm64] os: [darwin] - '@lmdb/lmdb-darwin-x64@3.4.1': - resolution: {integrity: sha512-9CMB3seTyHs3EOVWdKiB8IIEDBJ3Gq00Tqyi0V7DS3HL90BjM/AkbZGuhzXwPrfeFazR24SKaRrUQF74f+CmWw==} + '@lmdb/lmdb-darwin-x64@3.4.2': + resolution: {integrity: sha512-zevaowQNmrp3U7Fz1s9pls5aIgpKRsKb3dZWDINtLiozh3jZI9fBrI19lYYBxqdyiIyNdlyiidPnwPShj4aK+w==} cpu: [x64] os: [darwin] - '@lmdb/lmdb-linux-arm64@3.4.1': - resolution: {integrity: sha512-d0vuXOdoKjHHJYZ/CRWopnkOiUpev+bgBBW+1tXtWsYWUj8uxl9ZmTBEmsL5mjUlpQDrlYiJSrhOU1hg5QWBSw==} + '@lmdb/lmdb-linux-arm64@3.4.2': + resolution: {integrity: sha512-ZBEfbNZdkneebvZs98Lq30jMY8V9IJzckVeigGivV7nTHJc+89Ctomp1kAIWKlwIG0ovCDrFI448GzFPORANYg==} cpu: [arm64] os: [linux] - '@lmdb/lmdb-linux-arm@3.4.1': - resolution: {integrity: sha512-1Mi69vU0akHgCI7tF6YbimPaNEKJiBm/p5A+aM8egr0joj27cQmCCOm2mZQ+Ht2BqmCfZaIgQnMg4gFYNMlpCA==} + '@lmdb/lmdb-linux-arm@3.4.2': + resolution: {integrity: sha512-OmHCULY17rkx/RoCoXlzU7LyR8xqrksgdYWwtYa14l/sseezZ8seKWXcogHcjulBddER5NnEFV4L/Jtr2nyxeg==} cpu: [arm] os: [linux] - '@lmdb/lmdb-linux-x64@3.4.1': - resolution: {integrity: sha512-00RbEpvfnyPodlICiGFuiOmyvWaL9nzCRSqZz82BVFsGTiSQnnF0gpD1C8tO6OvtptELbtRuM7BS9f97LcowZw==} + '@lmdb/lmdb-linux-x64@3.4.2': + resolution: {integrity: sha512-vL9nM17C77lohPYE4YaAQvfZCSVJSryE4fXdi8M7uWPBnU+9DJabgKVAeyDb84ZM2vcFseoBE4/AagVtJeRE7g==} cpu: [x64] os: [linux] - '@lmdb/lmdb-win32-arm64@3.4.1': - resolution: {integrity: sha512-4h8tm3i1ODf+28UyqQZLP7c2jmRM26AyEEyYp994B4GiBdGvGAsYUu3oiHANYK9xFpvLuFzyGeqFm1kdNC0D1A==} + '@lmdb/lmdb-win32-arm64@3.4.2': + resolution: {integrity: sha512-SXWjdBfNDze4ZPeLtYIzsIeDJDJ/SdsA0pEXcUBayUIMO0FQBHfVZZyHXQjjHr4cvOAzANBgIiqaXRwfMhzmLw==} cpu: [arm64] os: [win32] - '@lmdb/lmdb-win32-x64@3.4.1': - resolution: {integrity: sha512-HqqKIhTbq6piJhkJpTTf3w1m/CgrmwXRAL9R9j7Ru5xdZSeO7Mg4AWiBC9B00uXR+LvVZKtUyRMVZfhmIZztmQ==} + '@lmdb/lmdb-win32-x64@3.4.2': + resolution: {integrity: sha512-IY+r3bxKW6Q6sIPiMC0L533DEfRJSXibjSI3Ft/w9Q8KQBNqEIvUFXt+09wV8S5BRk0a8uSF19YWxuRwEfI90g==} cpu: [x64] os: [win32] @@ -2694,6 +2847,10 @@ packages: resolution: {integrity: sha512-qFfbWFA7r1Sd8D697L7GkTd36yqDuTkvz0KfOGkgXR8EUhQn3/EDNIR/qUdQNMT8IjmasBvHWuXeisxtXTQT2g==} engines: {node: '>=18'} + '@modelcontextprotocol/sdk@1.17.1': + resolution: {integrity: sha512-CPle1OQehbWqd25La9Ack5B07StKIxh4+Bf19qnpZKJC1oI22Y0czZHbifjw1UoczIfKBwBDAp/dFxvHG13B5A==} + engines: {node: '>=18'} + '@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.3': resolution: {integrity: sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==} cpu: [arm64] @@ -2724,6 +2881,10 @@ packages: cpu: [x64] os: [win32] + '@mswjs/interceptors@0.39.5': + resolution: {integrity: sha512-B9nHSJYtsv79uo7QdkZ/b/WoKm20IkVSmTc/WCKarmDtFwM0dRx2ouEniqwNkzCSLn3fydzKmnMzjtfdOWt3VQ==} + engines: {node: '>=18'} + '@napi-rs/nice-android-arm-eabi@1.0.4': resolution: {integrity: sha512-OZFMYUkih4g6HCKTjqJHhMUlgvPiDuSLZPbPBWHLjKmFTv74COzRlq/gwHtmEVaR39mJQ6ZyttDl2HNMUbLVoA==} engines: {node: '>= 10'} @@ -2830,8 +2991,8 @@ packages: '@nginfra/angular-linking@1.0.10': resolution: {integrity: sha512-31zx+PCN8tBlC0FYUuCxS4uVPJLAlBhi4UVp6QgoQG44RsOHKTmcRORMVSJdPLRgRuCJkY45kj+PE3AxsgiUKA==} - '@ngtools/webpack@20.2.0-next.2': - resolution: {integrity: sha512-4+XUy36rxQLANOJUpOs2x162YJaLJS60Y2zFTKjjvnu0pPHnWp8hh2lEKOV3fCI69Ujr7aWD3uw2ocMKJtxeFA==} + '@ngtools/webpack@20.2.0-next.3': + resolution: {integrity: sha512-h2AIMJBpAvcimlam6/LS0gvxQzu/zL6aHx5jwl09u3A5q/YlWB8+b+jl+fgyyCa2mEMg7aNZj+1nPuLguy6GYw==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: typescript: '>=5.8 <6.0' @@ -2889,6 +3050,22 @@ packages: resolution: {integrity: sha512-aoNSbxtkePXUlbZB+anS1LqsJdctG5n3UVhfU47+CDdwMi6uNTBMF9gPcQRnqghQd2FGzcwwIFBruFMxjhBewg==} engines: {node: ^18.17.0 || >=20.5.0} + '@octokit/auth-app@8.0.2': + resolution: {integrity: sha512-dLTmmA9gUlqiAJZgozfOsZFfpN/OldH3xweb7lqSnngax5Rs+PfO5dDlokaBfc41H1xOtsLYV5QqR0DkBAtPmw==} + engines: {node: '>= 20'} + + '@octokit/auth-oauth-app@9.0.1': + resolution: {integrity: sha512-TthWzYxuHKLAbmxdFZwFlmwVyvynpyPmjwc+2/cI3cvbT7mHtsAW9b1LvQaNnAuWL+pFnqtxdmrU8QpF633i1g==} + engines: {node: '>= 20'} + + '@octokit/auth-oauth-device@8.0.1': + resolution: {integrity: sha512-TOqId/+am5yk9zor0RGibmlqn4V0h8vzjxlw/wYr3qzkQxl8aBPur384D1EyHtqvfz0syeXji4OUvKkHvxk/Gw==} + engines: {node: '>= 20'} + + '@octokit/auth-oauth-user@6.0.0': + resolution: {integrity: sha512-GV9IW134PHsLhtUad21WIeP9mlJ+QNpFd6V9vuPWmaiN25HEJeEQUcS4y5oRuqCm9iWDLtfIs+9K8uczBXKr6A==} + engines: {node: '>= 20'} + '@octokit/auth-token@4.0.0': resolution: {integrity: sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==} engines: {node: '>= 18'} @@ -2913,6 +3090,9 @@ packages: resolution: {integrity: sha512-H1fNTMA57HbkFESSt3Y9+FBICv+0jFceJFPWDePYlR/iMGrwM5ph+Dd4XRQs+8X+PUFURLQgX9ChPfhJ/1uNQw==} engines: {node: '>= 18'} + '@octokit/graphql-schema@15.26.0': + resolution: {integrity: sha512-SoVbh+sXe9nsoweFbLT3tAk3XWYbYLs5ku05wij1zhyQ2U3lewdrhjo5Tb7lfaOGWNHSkPZT4uuPZp8neF7P7A==} + '@octokit/graphql@7.1.1': resolution: {integrity: sha512-3mkDltSfcDUoa176nlGoA32RGjeWjl3K7F/BwHwRMJUW/IteSa4bnSV8p2ThNkcIcZU2umkZWxwETSSCJf2Q7g==} engines: {node: '>= 18'} @@ -2921,6 +3101,14 @@ packages: resolution: {integrity: sha512-j1nQNU1ZxNFx2ZtKmL4sMrs4egy5h65OMDmSbVyuCzjOcwsHq6EaYjOTGXPQxgfiN8dJ4CriYHk6zF050WEULg==} engines: {node: '>= 20'} + '@octokit/oauth-authorization-url@8.0.0': + resolution: {integrity: sha512-7QoLPRh/ssEA/HuHBHdVdSgF8xNLz/Bc5m9fZkArJE5bb6NmVkDm3anKxXPmN1zh6b5WKZPRr3697xKT/yM3qQ==} + engines: {node: '>= 20'} + + '@octokit/oauth-methods@6.0.0': + resolution: {integrity: sha512-Q8nFIagNLIZgM2odAraelMcDssapc+lF+y3OlcIPxyAU+knefO8KmozGqfnma1xegRDP4z5M73ABsamn72bOcA==} + engines: {node: '>= 20'} + '@octokit/openapi-types@20.0.0': resolution: {integrity: sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==} @@ -2989,6 +3177,15 @@ packages: '@octokit/types@14.1.0': resolution: {integrity: sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==} + '@open-draft/deferred-promise@2.2.0': + resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==} + + '@open-draft/logger@0.3.0': + resolution: {integrity: sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==} + + '@open-draft/until@2.1.0': + resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==} + '@opentelemetry/api@1.9.0': resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} engines: {node: '>=8.0.0'} @@ -3013,12 +3210,12 @@ packages: resolution: {integrity: sha512-TtxJSRD8Ohxp6bKkhrm27JRHAxPczQA7idtcTOMYI+wQRRrfgqxHv1cFbCApcSnNjtXkmzFozn6jQtFrOmbjPQ==} engines: {node: '>=14'} - '@oxc-project/runtime@0.77.3': - resolution: {integrity: sha512-vsC/ewcGJ7xXnnwZkku7rpPH5Lxb5g4J+V6lD9eBTnRLmXVXM7Qu50y+ozD+UD5IXaSoVOvVMGTT4YSNCz2MQQ==} + '@oxc-project/runtime@0.80.0': + resolution: {integrity: sha512-3rzy1bJAZ4s7zV9TKT60x119RwJDCDqEtCwK/Zc2qlm7wGhiIUxLLYUhE/mN91yB0u1kxm5sh4NjU12sPqQTpg==} engines: {node: '>=6.9.0'} - '@oxc-project/types@0.77.3': - resolution: {integrity: sha512-5Vh+neJhhxuF0lYCjZXbxjqm2EO6YJ1jG+KuHntrd6VY67OMpYhWq2cZhUhy+xL9qLJVJRaeII7Xj9fciA6v7A==} + '@oxc-project/types@0.80.0': + resolution: {integrity: sha512-xxHQm8wfCv2e8EmtaDwpMeAHOWqgQDAYg+BJouLXSQt5oTKu9TIXrgNMGSrM2fLvKmECsRd9uUFAAD+hPyootA==} '@parcel/watcher-android-arm64@2.5.1': resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} @@ -3110,6 +3307,22 @@ packages: resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} engines: {node: '>=12.22.0'} + '@pnpm/crypto.hash@1000.2.0': + resolution: {integrity: sha512-L22sQHDC4VM9cPSbOFi0e+C7JSt3isl/biV1jShz8MG9QjemiwTUMog4h0k0C5HoB1ycUjGkXTqAE4RJu3jLQA==} + engines: {node: '>=18.12'} + + '@pnpm/crypto.polyfill@1000.1.0': + resolution: {integrity: sha512-tNe7a6U4rCpxLMBaR0SIYTdjxGdL0Vwb3G1zY8++sPtHSvy7qd54u8CIB0Z+Y6t5tc9pNYMYCMwhE/wdSY7ltg==} + engines: {node: '>=18.12'} + + '@pnpm/dependency-path@1001.1.0': + resolution: {integrity: sha512-hOVNtEu25HTNOdi0PkvDd27AQHXBke18njbGSYJ02J4GbyoufazqP8+YDiC/wQ+28rKOpgUylT7pVlZoTmdUsg==} + engines: {node: '>=18.12'} + + '@pnpm/graceful-fs@1000.0.0': + resolution: {integrity: sha512-RvMEliAmcfd/4UoaYQ93DLQcFeqit78jhYmeJJVPxqFGmj0jEcb9Tu0eAOXr7tGP3eJHpgvPbTU4o6pZ1bJhxg==} + engines: {node: '>=18.12'} + '@pnpm/network.ca-file@1.0.2': resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} engines: {node: '>=12.22.0'} @@ -3118,6 +3331,10 @@ packages: resolution: {integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==} engines: {node: '>=12'} + '@pnpm/types@1000.7.0': + resolution: {integrity: sha512-1s7FvDqmOEIeFGLUj/VO8sF5lGFxeE/1WALrBpfZhDnMXY/x8FbmuygTTE5joWifebcZ8Ww8Kw2CgBoStsIevQ==} + engines: {node: '>=18.12'} + '@protobufjs/aspromise@1.1.2': resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} @@ -3153,78 +3370,78 @@ packages: engines: {node: '>=18'} hasBin: true - '@rolldown/binding-android-arm64@1.0.0-beta.29': - resolution: {integrity: sha512-pDv7gg59Gdy80eFmMkEqXEaoJi3Y9W/a9T3z9M4t8Ma8aVXNldvSy9UgtlX7AK7DPqF8tULnmIZ2Z3rvGMz/NQ==} + '@rolldown/binding-android-arm64@1.0.0-beta.31': + resolution: {integrity: sha512-0mFtKwOG7smn0HkvQ6h8j0m/ohkR7Fp5eMTJ2Pns/HSbePHuDpxMaQ4TjZ6arlVXxpeWZlAHeT5BeNsOA3iWTg==} cpu: [arm64] os: [android] - '@rolldown/binding-darwin-arm64@1.0.0-beta.29': - resolution: {integrity: sha512-fPqR6TfTqbzgKKCQYtcCS+Dms91YcptTbdlwJ13DxOUgMe8LgDIVsLLlEykfm7ijJd5mM4zNw0Hr2CJb6kvQZw==} + '@rolldown/binding-darwin-arm64@1.0.0-beta.31': + resolution: {integrity: sha512-BHfHJ8Nb5G7ZKJl6pimJacupONT4F7w6gmQHw41rouAnJF51ORDwGefWeb6OMLzGmJwzxlIVPERfnJf1EsMM7A==} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-x64@1.0.0-beta.29': - resolution: {integrity: sha512-7Z4qosL0xN8i6++txHOEPCVP3/lcGLOvftUJOWATZ5aDkDskwcZDa66BGiJt/K1/DgW4kpRVmnGWUWAORHBbFA==} + '@rolldown/binding-darwin-x64@1.0.0-beta.31': + resolution: {integrity: sha512-4MiuRtExC08jHbSU/diIL+IuQP+3Ck1FbWAplK+ysQJ7fxT3DMxy5FmnIGfmhaqow8oTjb2GEwZJKgTRjZL1Vw==} cpu: [x64] os: [darwin] - '@rolldown/binding-freebsd-x64@1.0.0-beta.29': - resolution: {integrity: sha512-0HLTfPW5Glh608s76qgayN/nPsXPchNUumavf7W5nh1eMG6qBsOO7Q1QaK0v4un7qtsn3IA/1Tgq0ZgNc0dbeg==} + '@rolldown/binding-freebsd-x64@1.0.0-beta.31': + resolution: {integrity: sha512-nffC1u7ccm12qlAea8ExY3AvqlaHy/o/3L4p5Es8JFJ3zJSs6e3DyuxGZZVdl9EVwsLxPPTvioIl4tEm2afwyw==} cpu: [x64] os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.29': - resolution: {integrity: sha512-QNboxdVTJOZS4zP8kA2+XUwAegejd5QNSH5zVR4neqG2AfbxRcMFzSVRkJHN6yDaaKweD/4sUvXfmef6p/7zsw==} + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.31': + resolution: {integrity: sha512-LHmAaB3rB1GOJuHscKcL2Ts/LKLcb3YWTh2uQ/876rg/J9WE9kQ0kZ+3lRSYbth/YL8ln54j4JZmHpqQY3xptQ==} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.29': - resolution: {integrity: sha512-hzBmOtYdC4369XxN2SNJ3oBlXKWNif3ieWBT+oh/qvAeox4fQR0ngqyh+kIGOufBnP5Zc2rqJf9LzIbJw3Tx/Q==} + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.31': + resolution: {integrity: sha512-oTDZVfqIAjLB2I1yTiLyyhfPPO6dky33sTblxTCpe+ZT55WizN3KDoBKJ4yXG8shI6I4bRShVu29Xg0yAjyQYw==} cpu: [arm64] os: [linux] - '@rolldown/binding-linux-arm64-musl@1.0.0-beta.29': - resolution: {integrity: sha512-6B35GmFJJ4RX88OgubrnUmuJBUgRh6/OTXIpy8m/VUnoc683lufIPo26HW/0LxLgxp2GM7KHr3LOULcVxbqq4Q==} + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.31': + resolution: {integrity: sha512-duJ3IkEBj9Xe9NYW1n8Y3483VXHGi8zQ0ZsLbK8464EJUXLF7CXM8Ry+jkkUw+ZvA+Zu1E/+C6p2Y6T9el0C9g==} cpu: [arm64] os: [linux] - '@rolldown/binding-linux-arm64-ohos@1.0.0-beta.29': - resolution: {integrity: sha512-z3ru8fUCunQM8q9I7RbDVMT5cxzxVVVBNNKM5/qAQQrdObd1u8g0LR5z0yLtaFWzybwLVdPtJDRcXtLm5tOBFA==} + '@rolldown/binding-linux-arm64-ohos@1.0.0-beta.31': + resolution: {integrity: sha512-qdbmU5QSZ0uoLZBYMxiHsMQmizqtzFGTVPU5oyU1n0jU0Mo+mkSzqZuL8VBnjHOHzhVxZsoAGH9JjiRzCnoGVA==} cpu: [arm64] os: [openharmony] - '@rolldown/binding-linux-x64-gnu@1.0.0-beta.29': - resolution: {integrity: sha512-n6fs4L7j99MIiI6vKhQDdyScv4/uMAPtIMkB0zGbUX8MKWT1osym1hvWVdlENjnS/Phf0zzhjyOgoFDzdhI1cQ==} + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.31': + resolution: {integrity: sha512-H7+r34TSV8udB2gAsebFM/YuEeNCkPGEAGJ1JE7SgI9XML6FflqcdKfrRSneQFsPaom/gCEc1g0WW5MZ0O3blw==} cpu: [x64] os: [linux] - '@rolldown/binding-linux-x64-musl@1.0.0-beta.29': - resolution: {integrity: sha512-C5hcJgtDN4rp6/WsPTQSDVUWrdnIC//ynMGcUIh1O0anm9KnSy47zKQ5D9EqtlEKvO+2PPqmyUVJ2DTq18nlVA==} + '@rolldown/binding-linux-x64-musl@1.0.0-beta.31': + resolution: {integrity: sha512-zRm2YmzFVqbsmUsyyZnHfJrOlQUcWS/FJ5ZWL8Q1kZh5PnLBrTVZNpakIWwAxpN5gNEi9MmFd5YHocVJp8ps1Q==} cpu: [x64] os: [linux] - '@rolldown/binding-wasm32-wasi@1.0.0-beta.29': - resolution: {integrity: sha512-lMN1IBItdZFO182Sdus9oVuNDqyIymn/bsR5KwgeGaiqLsrmpQHBSLwkS/nKJO1nzYlpGDRugFSpnrSJ5ZmihQ==} + '@rolldown/binding-wasm32-wasi@1.0.0-beta.31': + resolution: {integrity: sha512-fM1eUIuHLsNJXRlWOuIIex1oBJ89I0skFWo5r/D3KSJ5gD9MBd3g4Hp+v1JGohvyFE+7ylnwRxSUyMEeYpA69A==} engines: {node: '>=14.0.0'} cpu: [wasm32] - '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.29': - resolution: {integrity: sha512-0UrXCUAOrbWdyVJskzjtne/4d3YMMhhhpBnob3SeF4jAvbKYqPhCZJ71pP7yUpvbowGXXTnHWpKfitg4Sovmtw==} + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.31': + resolution: {integrity: sha512-4nftR9V2KHH3zjBwf6leuZZJQZ7v0d70ogjHIqB3SDsbDLvVEZiGSsSn2X6blSZRZeJSFzK0pp4kZ67zdZXwSw==} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.29': - resolution: {integrity: sha512-YX0OYL1dcB7rPnsndpEa68fytYyZZj1iaWzH7momFB2oBS2lXAe1UrrDWcdLoUXdzPIyzpvtBCiS2XcDgYG7ag==} + '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.31': + resolution: {integrity: sha512-0TQcKu9xZVHYALit+WJsSuADGlTFfOXhnZoIHWWQhTk3OgbwwbYcSoZUXjRdFmR6Wswn4csHtJGN1oYKeQ6/2g==} cpu: [ia32] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.0.0-beta.29': - resolution: {integrity: sha512-azrPWbV+NZiCFNs59AgH9Y6vFKHoAI6T/XtKKsoLxkPyP1LpbdgL5eqRfeWz+GCAUY9qhDOC4hH1GjFG8PrZIg==} + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.31': + resolution: {integrity: sha512-3zMICWwpZh1jrkkKDYIUCx/2wY3PXLICAS0AnbeLlhzfWPhCcpNK9eKhiTlLAZyTp+3kyipoi/ZSVIh+WDnBpQ==} cpu: [x64] os: [win32] - '@rolldown/pluginutils@1.0.0-beta.29': - resolution: {integrity: sha512-NIJgOsMjbxAXvoGq/X0gD7VPMQ8j9g0BiDaNjVNVjvl+iKXxL3Jre0v31RmBYeLEmkbj2s02v8vFTbUXi5XS2Q==} + '@rolldown/pluginutils@1.0.0-beta.31': + resolution: {integrity: sha512-IaDZ9NhjOIOkYtm+hH0GX33h3iVZ2OeSUnFF0+7Z4+1GuKs4Kj5wK3+I2zNV9IPLfqV4XlwWif8SXrZNutxciQ==} '@rollup/plugin-babel@6.0.4': resolution: {integrity: sha512-YF7Y52kFdFT/xVSuVdjkV5ZdX/3YtmX0QulG+x0taQOtJdHYzVU61aSSkAgVJ7NOv6qPkIYiJSgSWWN/DM5sGw==} @@ -3394,8 +3611,8 @@ packages: '@rushstack/ts-command-line@5.0.2': resolution: {integrity: sha512-+AkJDbu1GFMPIU8Sb7TLVXDv/Q7Mkvx+wAjEl8XiXVVq+p1FmWW6M3LYpJMmoHNckSofeMecgWg5lfMwNAAsEQ==} - '@schematics/angular@20.2.0-next.2': - resolution: {integrity: sha512-DyxVwYACqd8ODPLwgCSvzz4oFaS+hATS6/FT68Un/P+jGFzq19hfLtpti0g/mCapbUghOrvznmU5mNXmLH/iXA==} + '@schematics/angular@20.2.0-next.3': + resolution: {integrity: sha512-pY6vWwzJezxuk42PT76pVIOZWd10f98v+3IUOdNvFPw1rZhMGP01WWP7OPWoHTtq8wo8/j7wVd620Agi9gZe5w==} engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} '@shikijs/core@3.9.0': @@ -3540,12 +3757,18 @@ packages: '@types/cldrjs@0.4.28': resolution: {integrity: sha512-3sU6qBTMONeM8BvBzKtylN7Q9xXwaJVc2DvGa9p3HsTvo+rhExRNSu0bapsxf/AVl2x0ZKVY7wKrRNglQ4SQzA==} + '@types/cli-progress@3.11.6': + resolution: {integrity: sha512-cE3+jb9WRlu+uOSAugewNpITJDt1VF8dHOopPO4IABFc3SXYL5WE/+PTz/FCdZRRfIujiWW3n3aMbv1eIGVRWA==} + '@types/connect-history-api-fallback@1.5.4': resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} '@types/connect@3.4.38': resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + '@types/conventional-commits-parser@5.0.1': + resolution: {integrity: sha512-7uz5EHdzz2TqoMfV7ee61Egf5y6NkcO4FB/1iCCQnbeiI1F3xzv3vK5dBCXUCLQgGYS+mUeigK1iKQzvED+QnQ==} + '@types/convert-source-map@2.0.3': resolution: {integrity: sha512-ag0BfJLZf6CQz8VIuRIEYQ5Ggwk/82uvTQf27RcpyDNbY0Vw49LIPqAxk5tqYfrCs9xDaIMvl4aj7ZopnYL8bA==} @@ -3651,6 +3874,9 @@ packages: '@types/duplexify@3.6.4': resolution: {integrity: sha512-2eahVPsd+dy3CL6FugAzJcxoraWhUghZGEQJns1kTKfCXWKJ5iG/VkaB05wRVrDKHfOFKqb0X0kXh91eE99RZg==} + '@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==} @@ -3663,6 +3889,9 @@ packages: '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + '@types/events@3.0.3': + resolution: {integrity: sha512-trOc4AAUThEz9hapPtSd7wf5tiQKvTtu5b371UxXdTuqzIh0ArcRspRP0i0Viu+LXstIQ1z96t1nsPxT9ol01g==} + '@types/express-serve-static-core@4.19.6': resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==} @@ -3678,9 +3907,15 @@ packages: '@types/firefox-webext-browser@120.0.4': resolution: {integrity: sha512-lBrpf08xhiZBigrtdQfUaqX1UauwZ+skbFiL8u2Tdra/rklkKadYmIzTwkNZSWtuZ7OKpFqbE2HHfDoFqvZf6w==} + '@types/folder-hash@4.0.4': + resolution: {integrity: sha512-c+PwHm51Dw3fXM8SDK+93PO3oXdk4XNouCCvV67lj4aijRkZz5g67myk+9wqWWnyv3go6q96hT6ywcd3XtoZiQ==} + '@types/geojson@7946.0.16': resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==} + '@types/git-raw-commits@2.0.0': + resolution: {integrity: sha512-sHXOKjKqu1kQxbxkZiz2s0yx2kc7g20g6tE98LYGq5jQyT9r+GRyTn19NBfPotOlXhGO6oPvYT3tdnPl8MYYyA==} + '@types/hammerjs@2.0.46': resolution: {integrity: sha512-ynRvcq6wvqexJ9brDMS4BnBLzmr0e14d6ZJTEShTBWKymQiHwlAyGu0ZPEFI2Fh1U53F7tN9ufClWM5KvqkKOw==} @@ -3726,6 +3961,10 @@ packages: '@types/mime@1.3.5': resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + '@types/minimatch@6.0.0': + resolution: {integrity: sha512-zmPitbQ8+6zNutpwgcQuLcsEpn/Cj54Kbn7L5pX0Os5kdWplB7xPgEh/g+SWOB/qmows2gpuCaPyduq8ZZRnxA==} + deprecated: This is a stub types definition. minimatch provides its own type definitions, so you do not need this installed. + '@types/node-forge@1.3.13': resolution: {integrity: sha512-zePQJSW5QkwSHKRApqWCVKeKoSOt4xvEnLENZPjyvm9Ezdf/EyDeJM7jqLzOwjVICQQzvLZ63T55MKdJB5H6ww==} @@ -3741,6 +3980,9 @@ packages: '@types/node@24.1.0': resolution: {integrity: sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==} + '@types/node@24.2.0': + resolution: {integrity: sha512-3xyG3pMCq3oYCNg7/ZP+E1ooTaGB4cG8JWRsqqOYQdbWNY4zbaV0Ennrd7stjiJEFZCaybcIgpTjJWHRfBSIDw==} + '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -3836,6 +4078,9 @@ packages: '@types/which@1.3.2': resolution: {integrity: sha512-8oDqyLC7eD4HM307boe2QWKyuzdzWBj56xI/imSl2cpL+U3tCMaTAkMJ4ee5JBZ/FsOJlvRGeIShiZDAl1qERA==} + '@types/which@3.0.4': + resolution: {integrity: sha512-liyfuo/106JdlgSchJzXEQCVArk0CvevqPote8F8HgWgJ3dRCcTHgJIsLDuee0kxk/mhbInzIZk3QWSZJ8R+2w==} + '@types/ws@8.18.1': resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} @@ -3845,6 +4090,9 @@ packages: '@types/yargs@17.0.33': resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + '@types/yarnpkg__lockfile@1.1.9': + resolution: {integrity: sha512-GD4Fk15UoP5NLCNor51YdfL9MSdldKCqOC9EssrRw3HVfar9wUZ5y8Lfnp+qVD6hIinLr8ygklDYnmlnlQo12Q==} + '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} @@ -3951,6 +4199,10 @@ packages: '@yarnpkg/lockfile@1.1.0': resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} + JSONStream@1.3.5: + resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} + hasBin: true + abbrev@3.0.1: resolution: {integrity: sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==} engines: {node: ^18.17.0 || >=20.5.0} @@ -4046,10 +4298,6 @@ packages: ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} - algoliasearch@5.34.1: - resolution: {integrity: sha512-s70HlfBgswgEdmCYkUJG8i/ULYhbkk8N9+N8JsWUwszcp7eauPEr5tIX4BY0qDGeKWQ/qZvmt4mxwTusYY23sg==} - engines: {node: '>= 14.0.0'} - algoliasearch@5.35.0: resolution: {integrity: sha512-Y+moNhsqgLmvJdgTsO4GZNgsaDWv8AOGAaPeIeHKlDn/XunoAqYbA+XNpBd1dW8GOXAUDyxC9Rxc7AV4kpFcIg==} engines: {node: '>= 14.0.0'} @@ -4213,6 +4461,10 @@ packages: resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} engines: {node: '>= 0.4'} + array-differ@4.0.0: + resolution: {integrity: sha512-Q6VPTLMsmXZ47ENG3V+wQyZS1ZxXMxFyYzA+Z/GMrJ6yIutAIEf9wTyroTzmGjNfox9/h3GdGBCVh43GVFx4Uw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + array-each@1.0.1: resolution: {integrity: sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==} engines: {node: '>=0.10.0'} @@ -4231,6 +4483,10 @@ packages: resolution: {integrity: sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==} engines: {node: '>=0.10.0'} + array-union@3.0.1: + resolution: {integrity: sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==} + engines: {node: '>=12'} + array-uniq@1.0.3: resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==} engines: {node: '>=0.10.0'} @@ -4541,6 +4797,10 @@ packages: buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + bufferutil@4.0.9: + resolution: {integrity: sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw==} + engines: {node: '>=6.14.2'} + builtin-modules@1.1.1: resolution: {integrity: sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ==} engines: {node: '>=0.10.0'} @@ -4641,6 +4901,10 @@ packages: resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + chalk@5.5.0: + resolution: {integrity: sha512-1tm8DTaJhPBG3bIkVeZt1iZM9GfSX2lzOeDVZH9R9ffRHpmHvxZ/QhgQH/aDTkswQVt+YHdXAdS/In/30OjCbg==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + change-case@4.1.2: resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} @@ -4756,6 +5020,10 @@ packages: engines: {node: '>=8.0.0', npm: '>=5.0.0'} hasBin: true + cli-progress@3.12.0: + resolution: {integrity: sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==} + engines: {node: '>=4'} + cli-spinners@2.9.2: resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} @@ -5014,6 +5282,11 @@ packages: resolution: {integrity: sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q==} engines: {node: '>=18'} + conventional-commits-parser@5.0.0: + resolution: {integrity: sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==} + engines: {node: '>=16'} + hasBin: true + conventional-commits-parser@6.2.0: resolution: {integrity: sha512-uLnoLeIW4XaoFtH37qEcg/SXMJmKF4vi7V0H2rnPueg+VEtFGA/asSCNTcq4M/GQ6QmlzchAEtOoDTtKqWeHag==} engines: {node: '>=18'} @@ -5325,6 +5598,10 @@ packages: dagre-d3-es@7.0.11: resolution: {integrity: sha512-tvlJLyQf834SylNKax8Wkzco/1ias1OPw8DcUMDE7oUIoSEW25riQVuiu/0OWEFqT0cxHT3Pa9/D82Jr47IONw==} + dargs@8.1.0: + resolution: {integrity: sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==} + engines: {node: '>=12'} + dashdash@1.14.1: resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} engines: {node: '>=0.10'} @@ -5394,6 +5671,15 @@ packages: supports-color: optional: true + debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + debug@4.4.1: resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} engines: {node: '>=6.0'} @@ -5617,6 +5903,11 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + ejs@3.1.10: + resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} + engines: {node: '>=0.10.0'} + hasBin: true + electron-to-chromium@1.5.193: resolution: {integrity: sha512-eePuBZXM9OVCwfYUhd2OzESeNGnWmLyeu0XAEjf7xjijNjHFdeJSzuRUGN4ueT2tEYo5YqjHramKEFxz67p3XA==} @@ -6002,6 +6293,9 @@ packages: file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + filelist@1.0.4: + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + filesize@6.4.0: resolution: {integrity: sha512-mjFIpOHC4jbfcTfoh4rkWpI31mF7viw9ikj/JyLoKzqlwG/YsefKfvYlYhdYdg/9mtK2z1AzgN/0LvVQ3zdlSQ==} engines: {node: '>= 0.4.0'} @@ -6058,6 +6352,9 @@ packages: engines: {node: '>=20.0.0 || >=22.0.0'} hasBin: true + firebase@12.0.0: + resolution: {integrity: sha512-KV+OrMJpi2uXlqL2zaCcXb7YuQbY/gMIWT1hf8hKeTW1bSumWaHT5qfmn0WTpHwKQa3QEVOtZR2ta9EchcmYuw==} + flagged-respawn@2.0.0: resolution: {integrity: sha512-Gq/a6YCi8zexmGHMuJwahTGzXlAZAOsbCVKduWXC6TlLCjjFRlExMJc4GC2NYPYZ0r/brw9P7CpRgQmlPVeOoA==} engines: {node: '>= 10.13.0'} @@ -6075,6 +6372,11 @@ packages: fn.name@1.1.0: resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==} + folder-hash@4.1.1: + resolution: {integrity: sha512-1ZSlKJSbET3XpglnEXC9g+QF4QRZhqHIjpFfa4pAMfO4tu/XYPafpeHEX6zOFS2EolOIXr0lPh1eSjmdWItX2w==} + engines: {node: '>=10.10.0'} + hasBin: true + follow-redirects@1.15.11: resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==} engines: {node: '>=4.0'} @@ -6275,6 +6577,11 @@ packages: getpass@0.1.7: resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} + git-raw-commits@4.0.0: + resolution: {integrity: sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==} + engines: {node: '>=16'} + hasBin: true + git-raw-commits@5.0.0: resolution: {integrity: sha512-I2ZXrXeOc0KrCvC7swqtIFXFN+rbjnC7b2T943tvemIOVNl+XP8YnA9UVwqFhzzLClnSA60KR/qEjLpXzs73Qg==} engines: {node: '>=18'} @@ -6403,6 +6710,16 @@ packages: grapheme-splitter@1.0.4: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + graphql-tag@2.12.6: + resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==} + engines: {node: '>=10'} + 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.11.0: + resolution: {integrity: sha512-mS1lbMsxgQj6hge1XZ6p7GPhbrtFwUFYi3wRzXAC/FmYnyXMTvvI3td3rjmQ2u8ewXueaSvRPWaEcgVVOT9Jnw==} + engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} + grpc-gcp@1.0.1: resolution: {integrity: sha512-06r73IoGaAIpzT+DRPnw7V5BXvZ5mjy1OcKqSPX+ZHOgbLxT+lJfz8IN83z/sbA3t55ZX88MfDaaCjDGdveVIA==} engines: {node: '>=12'} @@ -6686,6 +7003,9 @@ packages: peerDependencies: postcss: ^8.1.0 + idb@7.1.1: + resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} + ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -6947,6 +7267,9 @@ packages: resolution: {integrity: sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==} engines: {node: '>=16'} + is-node-process@1.2.0: + resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==} + is-npm@5.0.0: resolution: {integrity: sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==} engines: {node: '>=10'} @@ -7039,6 +7362,10 @@ packages: resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} engines: {node: '>= 0.4'} + is-text-path@2.0.0: + resolution: {integrity: sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==} + engines: {node: '>=8'} + is-typed-array@1.1.15: resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} engines: {node: '>= 0.4'} @@ -7176,6 +7503,11 @@ packages: resolution: {integrity: sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==} engines: {node: 20 || >=22} + jake@10.9.4: + resolution: {integrity: sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==} + engines: {node: '>=10'} + hasBin: true + jasmine-core@2.8.0: resolution: {integrity: sha512-SNkOkS+/jMZvLhuSx1fjhcNWUC/KG6oVyFUGkSBEr9n1axSNduWU8GlI7suaHXr4yxjet6KjrUZxUTE5WzzWwQ==} @@ -7505,8 +7837,8 @@ packages: engines: {node: '>=0.10.0'} hasBin: true - lmdb@3.4.1: - resolution: {integrity: sha512-hoG9RIv42kdGJiieyElgWcKCTaw5S6Jqwyd1gLSVdsJ3+8MVm8e4yLronThiRJI9DazFAAs9xfB9nWeMQ2DWKA==} + lmdb@3.4.2: + resolution: {integrity: sha512-nwVGUfTBUwJKXd6lRV8pFNfnrCC1+l49ESJRM19t/tFb/97QfJEixe5DYRvug5JO7DSFKoKaVy7oGMt5rVqZvg==} hasBin: true loader-runner@4.3.0: @@ -7752,6 +8084,10 @@ packages: memoizeasync@1.1.0: resolution: {integrity: sha512-HMfzdLqClZo8HMyuM9B6TqnXCNhw82iVWRLqd2cAdXi063v2iJB4mQfWFeKVByN8VUwhmDZ8NMhryBwKrPRf8Q==} + meow@12.1.1: + resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==} + engines: {node: '>=16.10'} + meow@13.2.0: resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} engines: {node: '>=18'} @@ -7842,8 +8178,8 @@ packages: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} engines: {node: '>=10'} - mini-css-extract-plugin@2.9.2: - resolution: {integrity: sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==} + mini-css-extract-plugin@2.9.3: + resolution: {integrity: sha512-tRA0+PsS4kLVijnN1w9jUu5lkxBwUk9E8SbgEB5dBJqchE6pVYdawROG6uQtpmAri7tdCK9i7b1bULeVWqS6Ag==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 @@ -7869,6 +8205,10 @@ packages: resolution: {integrity: sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==} engines: {node: '>=10'} + minimatch@7.4.6: + resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==} + engines: {node: '>=10'} + minimatch@9.0.5: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} @@ -7974,6 +8314,10 @@ packages: resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} hasBin: true + multimatch@7.0.0: + resolution: {integrity: sha512-SYU3HBAdF4psHEL/+jXDKHO95/m5P2RvboHT2Y0WtTttvJLP4H/2WS9WlQPFvF6C8d6SpLw8vjCnQOnVIVOSJQ==} + engines: {node: '>=18'} + mute-stdout@2.0.0: resolution: {integrity: sha512-32GSKM3Wyc8dg/p39lWPKYu8zci9mJFzV1Np9Of0ZEpe6Fhssn/FbI7ywAMd40uX+p3ZKh3T5EeCFv81qS3HmQ==} engines: {node: '>= 10.13.0'} @@ -8037,6 +8381,10 @@ packages: no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + nock@14.0.8: + resolution: {integrity: sha512-5DCGrkwK1f8kxUvqvzLWb97XuDUY4/t5M3ZcogPfLGvC2wO8wjRQsIDSXj2L6e1J0Dv8xscf9wWSvGnS3OL29Q==} + engines: {node: '>=18.20.0 <20 || >=20.12.1'} + node-addon-api@6.1.0: resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} @@ -8073,6 +8421,10 @@ packages: resolution: {integrity: sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==} hasBin: true + node-gyp-build@4.8.4: + resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} + hasBin: true + node-gyp@11.3.0: resolution: {integrity: sha512-9J0+C+2nt3WFuui/mC46z2XCZ21/cKlFDuywULmseD/LlmnOrSeEAE4c/1jw6aybXLmpZnQY3/LmOJfgyHIcng==} engines: {node: ^18.17.0 || >=20.5.0} @@ -8275,6 +8627,9 @@ packages: ospath@1.2.2: resolution: {integrity: sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==} + outvariant@1.4.3: + resolution: {integrity: sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==} + own-keys@1.0.1: resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} engines: {node: '>= 0.4'} @@ -8709,6 +9064,10 @@ packages: resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} engines: {node: '>=10'} + propagate@2.0.1: + resolution: {integrity: sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==} + engines: {node: '>= 8'} + property-information@7.1.0: resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} @@ -9086,8 +9445,8 @@ packages: robust-predicates@3.0.2: resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} - rolldown@1.0.0-beta.29: - resolution: {integrity: sha512-EsoOi8moHN6CAYyTZipxDDVTJn0j2nBCWor4wRU45RQ8ER2qREDykXLr3Ulz6hBh6oBKCFTQIjo21i0FXNo/IA==} + rolldown@1.0.0-beta.31: + resolution: {integrity: sha512-M2Q+RfG0FMJeSW3RSFTbvtjGVTcQpTQvN247D0EMSsPkpZFoinopR9oAnQiwgogQyzDuvKNnbyCbQQlmNAzSoQ==} hasBin: true rollup-plugin-dts@6.2.1: @@ -9211,8 +9570,8 @@ packages: webpack: optional: true - sass@1.89.2: - resolution: {integrity: sha512-xCmtksBKd/jdJ9Bt9p7nPKiuqrlBMBuuGkQlkhZjjQk3Ty48lv93k5Dq6OPkKt4XwxDJ7tvlfrTa1MPA9bf+QA==} + sass@1.90.0: + resolution: {integrity: sha512-9GUyuksjw70uNpb1MTYWsH9MQHOHY6kwfnkafC24+7aOMZn9+rVMBxRbLvw756mrBFbIsFg6Xw9IkR2Fnn3k+Q==} engines: {node: '>=14.0.0'} hasBin: true @@ -9587,6 +9946,10 @@ packages: engines: {node: '>=0.10.0'} hasBin: true + ssri@10.0.5: + resolution: {integrity: sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + ssri@12.0.0: resolution: {integrity: sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==} engines: {node: ^18.17.0 || >=20.5.0} @@ -9650,6 +10013,9 @@ packages: streamx@2.22.1: resolution: {integrity: sha512-znKXEBxfatz2GBNK02kRnCXjV+AA4kjZIUxeWSr3UGirZMJfTE9uiwKHobnbgxWyL/JWro8tTq+vOqAK1/qbSA==} + strict-event-emitter@0.5.1: + resolution: {integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==} + strict-uri-encode@2.0.0: resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} engines: {node: '>=4'} @@ -9729,8 +10095,8 @@ packages: engines: {node: 18 || 20 || 22} hasBin: true - supports-color@10.0.0: - resolution: {integrity: sha512-HRVVSbCCMbj7/kdWF9Q+bbckjBHLtHMEoJWlkmYzzdwhYMkjkOwubLM6t7NbWKjgKamGDrWL1++KrjUO1t9oAQ==} + supports-color@10.1.0: + resolution: {integrity: sha512-GBuewsPrhJPftT+fqDa9oI/zc5HNsG9nREqwzoSFDOIqf0NggOZbHQj2TE1P1CDJK8ZogFnlZY9hWoUiur7I/A==} engines: {node: '>=18'} supports-color@2.0.0: @@ -9833,6 +10199,10 @@ packages: text-decoder@1.2.3: resolution: {integrity: sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==} + text-extensions@2.4.0: + resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==} + engines: {node: '>=8'} + text-hex@1.0.0: resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==} @@ -9918,6 +10288,10 @@ packages: resolution: {integrity: sha512-y8MN937s/HVhEoBU1SxfHC+wxCHkV1a9gW8eAdTadYh/bGyesZIVcbjI+mSpFbSVwQici/XjBjuUyri1dnXwBw==} engines: {node: '>=10.13.0'} + toad-cache@3.7.0: + resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==} + engines: {node: '>=12'} + todomvc-app-css@2.4.3: resolution: {integrity: sha512-mSnWZaKBWj9aQcFRsGguY/a8O8NR8GmecD48yU1rzwNemgZa/INLpIsxxMiToFGVth+uEKBrQ7IhWkaXZxwq5Q==} engines: {node: '>=4'} @@ -10128,11 +10502,6 @@ packages: engines: {node: '>=4.2.0'} hasBin: true - typescript@4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} - hasBin: true - typescript@5.8.2: resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==} engines: {node: '>=14.17'} @@ -10185,6 +10554,9 @@ packages: undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + undici-types@7.10.0: + resolution: {integrity: sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==} + undici-types@7.8.0: resolution: {integrity: sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==} @@ -10262,6 +10634,9 @@ packages: resolution: {integrity: sha512-HXSMyIcf2XTvwZ6ZZQLfxfViRm/yTGoRgDeTbojtq6rezeyKB0sTBcKH2fhddnteAHRcHiKgr/ACpbgjGOC6RQ==} engines: {node: '>=12.18.2'} + universal-github-app-jwt@2.2.2: + resolution: {integrity: sha512-dcmbeSrOdTnsjGjUfAlqNDJrhxXizjAz94ija9Qw8YkZ1uu0d+GoZzyH+Jb9tIIqvGsadUfwg+22k5aDqqwzbw==} + universal-user-agent@6.0.1: resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==} @@ -10331,6 +10706,10 @@ packages: resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} engines: {node: '>=0.10.0'} + utf-8-validate@6.0.5: + resolution: {integrity: sha512-EYZR+OpIXp9Y1eG1iueg8KRsY8TuT8VNgnanZ0uA3STqhHQTLwbl+WX76/9X5OY12yQubymBpaBSmMPkSTQcKA==} + engines: {node: '>=6.14.2'} + util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -10406,8 +10785,8 @@ packages: resolution: {integrity: sha512-0QwqXteBNXgnLCdWdvPQBX6FXRHtIH3VhJPTd5Lwn28tJXc34YqSCWUmkOvtJHBmB3gGoPtrOKk3Ts8/kEZ9aA==} engines: {node: '>=10.13.0'} - vite@7.0.6: - resolution: {integrity: sha512-MHFiOENNBd+Bd9uvc8GEsIzdkn1JxMmEeYX35tI3fv0sJBUTfW5tQsoaOwuY4KhBI09A3dUJ/DXf2yxPVPUceg==} + vite@7.1.0: + resolution: {integrity: sha512-3jdAy3NhBJYsa/lCFcnRfbK4kNkO/bhijFCnv5ByUQk/eekYagoV2yQSISUrhpV+5JiY5hmwOh7jNnQ68dFMuQ==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -10504,6 +10883,9 @@ packages: resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} engines: {node: '>= 8'} + web-vitals@4.2.4: + resolution: {integrity: sha512-r4DIlprAGwJ7YM11VZp4R884m0Vmgr6EAKe3P+kO0PPj3Unqyvv59rczf6UiGcb9Z8QxZVcqKNwv/g0WNdWwsw==} + webdriver-js-extender@2.1.0: resolution: {integrity: sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ==} engines: {node: '>=6.9.x'} @@ -10571,8 +10953,8 @@ packages: html-webpack-plugin: optional: true - webpack@5.100.2: - resolution: {integrity: sha512-QaNKAvGCDRh3wW1dsDjeMdDXwZm2vqq3zn6Pvq4rHOEOGSaUMgOOjG2Y9ZbIGzpfkJk9ZYTHpDqgDfeBDcnLaw==} + webpack@5.101.0: + resolution: {integrity: sha512-B4t+nJqytPeuZlHuIKTbalhljIFXeNRqrUGAQgTGlfOl2lXXKXw+yZu6bicycP+PUlM44CxBjCFD6aciKFT3LQ==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -10789,6 +11171,11 @@ packages: engines: {node: '>= 14.6'} hasBin: true + yaml@2.8.1: + resolution: {integrity: sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==} + engines: {node: '>= 14.6'} + hasBin: true + yargs-parser@18.1.3: resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} engines: {node: '>=6'} @@ -10896,13 +11283,6 @@ snapshots: '@algolia/requester-fetch': 5.35.0 '@algolia/requester-node-http': 5.35.0 - '@algolia/client-abtesting@5.34.1': - dependencies: - '@algolia/client-common': 5.34.1 - '@algolia/requester-browser-xhr': 5.34.1 - '@algolia/requester-fetch': 5.34.1 - '@algolia/requester-node-http': 5.34.1 - '@algolia/client-abtesting@5.35.0': dependencies: '@algolia/client-common': 5.35.0 @@ -10910,13 +11290,6 @@ snapshots: '@algolia/requester-fetch': 5.35.0 '@algolia/requester-node-http': 5.35.0 - '@algolia/client-analytics@5.34.1': - dependencies: - '@algolia/client-common': 5.34.1 - '@algolia/requester-browser-xhr': 5.34.1 - '@algolia/requester-fetch': 5.34.1 - '@algolia/requester-node-http': 5.34.1 - '@algolia/client-analytics@5.35.0': dependencies: '@algolia/client-common': 5.35.0 @@ -10924,17 +11297,8 @@ snapshots: '@algolia/requester-fetch': 5.35.0 '@algolia/requester-node-http': 5.35.0 - '@algolia/client-common@5.34.1': {} - '@algolia/client-common@5.35.0': {} - '@algolia/client-insights@5.34.1': - dependencies: - '@algolia/client-common': 5.34.1 - '@algolia/requester-browser-xhr': 5.34.1 - '@algolia/requester-fetch': 5.34.1 - '@algolia/requester-node-http': 5.34.1 - '@algolia/client-insights@5.35.0': dependencies: '@algolia/client-common': 5.35.0 @@ -10942,13 +11306,6 @@ snapshots: '@algolia/requester-fetch': 5.35.0 '@algolia/requester-node-http': 5.35.0 - '@algolia/client-personalization@5.34.1': - dependencies: - '@algolia/client-common': 5.34.1 - '@algolia/requester-browser-xhr': 5.34.1 - '@algolia/requester-fetch': 5.34.1 - '@algolia/requester-node-http': 5.34.1 - '@algolia/client-personalization@5.35.0': dependencies: '@algolia/client-common': 5.35.0 @@ -10956,13 +11313,6 @@ snapshots: '@algolia/requester-fetch': 5.35.0 '@algolia/requester-node-http': 5.35.0 - '@algolia/client-query-suggestions@5.34.1': - dependencies: - '@algolia/client-common': 5.34.1 - '@algolia/requester-browser-xhr': 5.34.1 - '@algolia/requester-fetch': 5.34.1 - '@algolia/requester-node-http': 5.34.1 - '@algolia/client-query-suggestions@5.35.0': dependencies: '@algolia/client-common': 5.35.0 @@ -10970,13 +11320,6 @@ snapshots: '@algolia/requester-fetch': 5.35.0 '@algolia/requester-node-http': 5.35.0 - '@algolia/client-search@5.34.1': - dependencies: - '@algolia/client-common': 5.34.1 - '@algolia/requester-browser-xhr': 5.34.1 - '@algolia/requester-fetch': 5.34.1 - '@algolia/requester-node-http': 5.34.1 - '@algolia/client-search@5.35.0': dependencies: '@algolia/client-common': 5.35.0 @@ -10984,13 +11327,6 @@ snapshots: '@algolia/requester-fetch': 5.35.0 '@algolia/requester-node-http': 5.35.0 - '@algolia/ingestion@1.34.1': - dependencies: - '@algolia/client-common': 5.34.1 - '@algolia/requester-browser-xhr': 5.34.1 - '@algolia/requester-fetch': 5.34.1 - '@algolia/requester-node-http': 5.34.1 - '@algolia/ingestion@1.35.0': dependencies: '@algolia/client-common': 5.35.0 @@ -10998,13 +11334,6 @@ snapshots: '@algolia/requester-fetch': 5.35.0 '@algolia/requester-node-http': 5.35.0 - '@algolia/monitoring@1.34.1': - dependencies: - '@algolia/client-common': 5.34.1 - '@algolia/requester-browser-xhr': 5.34.1 - '@algolia/requester-fetch': 5.34.1 - '@algolia/requester-node-http': 5.34.1 - '@algolia/monitoring@1.35.0': dependencies: '@algolia/client-common': 5.35.0 @@ -11012,13 +11341,6 @@ snapshots: '@algolia/requester-fetch': 5.35.0 '@algolia/requester-node-http': 5.35.0 - '@algolia/recommend@5.34.1': - dependencies: - '@algolia/client-common': 5.34.1 - '@algolia/requester-browser-xhr': 5.34.1 - '@algolia/requester-fetch': 5.34.1 - '@algolia/requester-node-http': 5.34.1 - '@algolia/recommend@5.35.0': dependencies: '@algolia/client-common': 5.35.0 @@ -11026,26 +11348,14 @@ snapshots: '@algolia/requester-fetch': 5.35.0 '@algolia/requester-node-http': 5.35.0 - '@algolia/requester-browser-xhr@5.34.1': - dependencies: - '@algolia/client-common': 5.34.1 - '@algolia/requester-browser-xhr@5.35.0': dependencies: '@algolia/client-common': 5.35.0 - '@algolia/requester-fetch@5.34.1': - dependencies: - '@algolia/client-common': 5.34.1 - '@algolia/requester-fetch@5.35.0': dependencies: '@algolia/client-common': 5.35.0 - '@algolia/requester-node-http@5.34.1': - dependencies: - '@algolia/client-common': 5.34.1 - '@algolia/requester-node-http@5.35.0': dependencies: '@algolia/client-common': 5.35.0 @@ -11055,30 +11365,30 @@ snapshots: '@jridgewell/gen-mapping': 0.3.12 '@jridgewell/trace-mapping': 0.3.29 - '@angular-devkit/architect-cli@0.2002.0-next.2(chokidar@4.0.3)': + '@angular-devkit/architect-cli@0.2002.0-next.3(chokidar@4.0.3)': dependencies: - '@angular-devkit/architect': 0.2002.0-next.2(chokidar@4.0.3) - '@angular-devkit/core': 20.2.0-next.2(chokidar@4.0.3) + '@angular-devkit/architect': 0.2002.0-next.3(chokidar@4.0.3) + '@angular-devkit/core': 20.2.0-next.3(chokidar@4.0.3) ansi-colors: 4.1.3 progress: 2.0.3 yargs-parser: 22.0.0 transitivePeerDependencies: - chokidar - '@angular-devkit/architect@0.2002.0-next.2(chokidar@4.0.3)': + '@angular-devkit/architect@0.2002.0-next.3(chokidar@4.0.3)': dependencies: - '@angular-devkit/core': 20.2.0-next.2(chokidar@4.0.3) + '@angular-devkit/core': 20.2.0-next.3(chokidar@4.0.3) rxjs: 7.8.2 transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@20.2.0-next.2(@angular/ssr@20.2.0-next.2)(@types/node@18.19.121)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4)(protractor@7.0.0)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.0)': + '@angular-devkit/build-angular@20.2.0-next.3(@angular/ssr@20.2.0-next.3)(@types/node@18.19.121)(bufferutil@4.0.9)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4(bufferutil@4.0.9))(protractor@7.0.0)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.1)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2002.0-next.2(chokidar@4.0.3) - '@angular-devkit/build-webpack': 0.2002.0-next.2(chokidar@4.0.3)(webpack-dev-server@5.2.2(webpack@5.100.2(esbuild@0.25.8)))(webpack@5.100.2(esbuild@0.25.8)) - '@angular-devkit/core': 20.2.0-next.2(chokidar@4.0.3) - '@angular/build': 20.2.0-next.2(@angular/ssr@20.2.0-next.2)(@types/node@18.19.121)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4)(less@4.4.0)(postcss@8.5.6)(terser@5.43.1)(tslib@2.8.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.0) + '@angular-devkit/architect': 0.2002.0-next.3(chokidar@4.0.3) + '@angular-devkit/build-webpack': 0.2002.0-next.3(chokidar@4.0.3)(webpack-dev-server@5.2.2(bufferutil@4.0.9)(webpack@5.101.0(esbuild@0.25.8)))(webpack@5.101.0(esbuild@0.25.8)) + '@angular-devkit/core': 20.2.0-next.3(chokidar@4.0.3) + '@angular/build': 20.2.0-next.3(@angular/ssr@20.2.0-next.3)(@types/node@18.19.121)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4(bufferutil@4.0.9))(less@4.4.0)(postcss@8.5.6)(terser@5.43.1)(tslib@2.8.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.1) '@angular/compiler-cli': link:packages/compiler-cli '@angular/core': link:packages/core '@angular/localize': link:packages/localize @@ -11095,13 +11405,13 @@ snapshots: '@babel/preset-env': 7.28.0(@babel/core@7.28.0) '@babel/runtime': 7.28.2 '@discoveryjs/json-ext': 0.6.3 - '@ngtools/webpack': 20.2.0-next.2(typescript@5.9.2)(webpack@5.100.2(esbuild@0.25.8)) + '@ngtools/webpack': 20.2.0-next.3(typescript@5.9.2)(webpack@5.101.0(esbuild@0.25.8)) ansi-colors: 4.1.3 autoprefixer: 10.4.21(postcss@8.5.6) - babel-loader: 10.0.0(@babel/core@7.28.0)(webpack@5.100.2(esbuild@0.25.8)) + babel-loader: 10.0.0(@babel/core@7.28.0)(webpack@5.101.0(esbuild@0.25.8)) browserslist: 4.25.1 - copy-webpack-plugin: 13.0.0(webpack@5.100.2(esbuild@0.25.8)) - css-loader: 7.1.2(webpack@5.100.2(esbuild@0.25.8)) + copy-webpack-plugin: 13.0.0(webpack@5.101.0(esbuild@0.25.8)) + css-loader: 7.1.2(webpack@5.101.0(esbuild@0.25.8)) esbuild-wasm: 0.25.8 fast-glob: 3.3.3 http-proxy-middleware: 3.0.5 @@ -11109,36 +11419,36 @@ snapshots: jsonc-parser: 3.3.1 karma-source-map-support: 1.4.0 less: 4.4.0 - less-loader: 12.3.0(less@4.4.0)(webpack@5.100.2(esbuild@0.25.8)) - license-webpack-plugin: 4.0.2(webpack@5.100.2(esbuild@0.25.8)) + less-loader: 12.3.0(less@4.4.0)(webpack@5.101.0(esbuild@0.25.8)) + license-webpack-plugin: 4.0.2(webpack@5.101.0(esbuild@0.25.8)) loader-utils: 3.3.1 - mini-css-extract-plugin: 2.9.2(webpack@5.100.2(esbuild@0.25.8)) + mini-css-extract-plugin: 2.9.3(webpack@5.101.0(esbuild@0.25.8)) open: 10.2.0 ora: 8.2.0 picomatch: 4.0.3 piscina: 5.1.3 postcss: 8.5.6 - postcss-loader: 8.1.1(postcss@8.5.6)(typescript@5.9.2)(webpack@5.100.2(esbuild@0.25.8)) + postcss-loader: 8.1.1(postcss@8.5.6)(typescript@5.9.2)(webpack@5.101.0(esbuild@0.25.8)) resolve-url-loader: 5.0.0 rxjs: 7.8.2 - sass: 1.89.2 - sass-loader: 16.0.5(sass@1.89.2)(webpack@5.100.2(esbuild@0.25.8)) + sass: 1.90.0 + sass-loader: 16.0.5(sass@1.90.0)(webpack@5.101.0(esbuild@0.25.8)) semver: 7.7.2 - source-map-loader: 5.0.0(webpack@5.100.2(esbuild@0.25.8)) + source-map-loader: 5.0.0(webpack@5.101.0(esbuild@0.25.8)) source-map-support: 0.5.21 terser: 5.43.1 tree-kill: 1.2.2 tslib: 2.8.1 typescript: 5.9.2 - webpack: 5.100.2(esbuild@0.25.8) - webpack-dev-middleware: 7.4.2(webpack@5.100.2(esbuild@0.25.8)) - webpack-dev-server: 5.2.2(webpack@5.100.2(esbuild@0.25.8)) + webpack: 5.101.0(esbuild@0.25.8) + webpack-dev-middleware: 7.4.2(webpack@5.101.0(esbuild@0.25.8)) + webpack-dev-server: 5.2.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack@5.101.0(esbuild@0.25.8)) webpack-merge: 6.0.1 - webpack-subresource-integrity: 5.1.0(webpack@5.100.2(esbuild@0.25.8)) + webpack-subresource-integrity: 5.1.0(webpack@5.101.0(esbuild@0.25.8)) optionalDependencies: - '@angular/ssr': 20.2.0-next.2 + '@angular/ssr': 20.2.0-next.3 esbuild: 0.25.8 - karma: 6.4.4 + karma: 6.4.4(bufferutil@4.0.9)(utf-8-validate@6.0.5) protractor: 7.0.0 transitivePeerDependencies: - '@rspack/core' @@ -11162,13 +11472,13 @@ snapshots: - webpack-cli - yaml - '@angular-devkit/build-angular@20.2.0-next.2(@angular/ssr@20.2.0-next.2)(@types/node@24.1.0)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4)(protractor@7.0.0)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.0)': + '@angular-devkit/build-angular@20.2.0-next.3(@angular/ssr@20.2.0-next.3)(@types/node@24.1.0)(bufferutil@4.0.9)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4(bufferutil@4.0.9)(utf-8-validate@6.0.5))(protractor@7.0.0)(tsx@4.20.3)(typescript@5.9.2)(utf-8-validate@6.0.5)(yaml@2.8.1)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2002.0-next.2(chokidar@4.0.3) - '@angular-devkit/build-webpack': 0.2002.0-next.2(chokidar@4.0.3)(webpack-dev-server@5.2.2(webpack@5.100.2(esbuild@0.25.8)))(webpack@5.100.2(esbuild@0.25.8)) - '@angular-devkit/core': 20.2.0-next.2(chokidar@4.0.3) - '@angular/build': 20.2.0-next.2(@angular/ssr@20.2.0-next.2)(@types/node@24.1.0)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4)(less@4.4.0)(postcss@8.5.6)(terser@5.43.1)(tslib@2.8.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.0) + '@angular-devkit/architect': 0.2002.0-next.3(chokidar@4.0.3) + '@angular-devkit/build-webpack': 0.2002.0-next.3(chokidar@4.0.3)(webpack-dev-server@5.2.2(bufferutil@4.0.9)(webpack@5.101.0(esbuild@0.25.8)))(webpack@5.101.0(esbuild@0.25.8)) + '@angular-devkit/core': 20.2.0-next.3(chokidar@4.0.3) + '@angular/build': 20.2.0-next.3(@angular/ssr@20.2.0-next.3)(@types/node@24.1.0)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.4.0)(postcss@8.5.6)(terser@5.43.1)(tslib@2.8.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.1) '@angular/compiler-cli': link:packages/compiler-cli '@angular/core': link:packages/core '@angular/localize': link:packages/localize @@ -11185,13 +11495,13 @@ snapshots: '@babel/preset-env': 7.28.0(@babel/core@7.28.0) '@babel/runtime': 7.28.2 '@discoveryjs/json-ext': 0.6.3 - '@ngtools/webpack': 20.2.0-next.2(typescript@5.9.2)(webpack@5.100.2(esbuild@0.25.8)) + '@ngtools/webpack': 20.2.0-next.3(typescript@5.9.2)(webpack@5.101.0(esbuild@0.25.8)) ansi-colors: 4.1.3 autoprefixer: 10.4.21(postcss@8.5.6) - babel-loader: 10.0.0(@babel/core@7.28.0)(webpack@5.100.2(esbuild@0.25.8)) + babel-loader: 10.0.0(@babel/core@7.28.0)(webpack@5.101.0(esbuild@0.25.8)) browserslist: 4.25.1 - copy-webpack-plugin: 13.0.0(webpack@5.100.2(esbuild@0.25.8)) - css-loader: 7.1.2(webpack@5.100.2(esbuild@0.25.8)) + copy-webpack-plugin: 13.0.0(webpack@5.101.0(esbuild@0.25.8)) + css-loader: 7.1.2(webpack@5.101.0(esbuild@0.25.8)) esbuild-wasm: 0.25.8 fast-glob: 3.3.3 http-proxy-middleware: 3.0.5 @@ -11199,36 +11509,36 @@ snapshots: jsonc-parser: 3.3.1 karma-source-map-support: 1.4.0 less: 4.4.0 - less-loader: 12.3.0(less@4.4.0)(webpack@5.100.2(esbuild@0.25.8)) - license-webpack-plugin: 4.0.2(webpack@5.100.2(esbuild@0.25.8)) + less-loader: 12.3.0(less@4.4.0)(webpack@5.101.0(esbuild@0.25.8)) + license-webpack-plugin: 4.0.2(webpack@5.101.0(esbuild@0.25.8)) loader-utils: 3.3.1 - mini-css-extract-plugin: 2.9.2(webpack@5.100.2(esbuild@0.25.8)) + mini-css-extract-plugin: 2.9.3(webpack@5.101.0(esbuild@0.25.8)) open: 10.2.0 ora: 8.2.0 picomatch: 4.0.3 piscina: 5.1.3 postcss: 8.5.6 - postcss-loader: 8.1.1(postcss@8.5.6)(typescript@5.9.2)(webpack@5.100.2(esbuild@0.25.8)) + postcss-loader: 8.1.1(postcss@8.5.6)(typescript@5.9.2)(webpack@5.101.0(esbuild@0.25.8)) resolve-url-loader: 5.0.0 rxjs: 7.8.2 - sass: 1.89.2 - sass-loader: 16.0.5(sass@1.89.2)(webpack@5.100.2(esbuild@0.25.8)) + sass: 1.90.0 + sass-loader: 16.0.5(sass@1.90.0)(webpack@5.101.0(esbuild@0.25.8)) semver: 7.7.2 - source-map-loader: 5.0.0(webpack@5.100.2(esbuild@0.25.8)) + source-map-loader: 5.0.0(webpack@5.101.0(esbuild@0.25.8)) source-map-support: 0.5.21 terser: 5.43.1 tree-kill: 1.2.2 tslib: 2.8.1 typescript: 5.9.2 - webpack: 5.100.2(esbuild@0.25.8) - webpack-dev-middleware: 7.4.2(webpack@5.100.2(esbuild@0.25.8)) - webpack-dev-server: 5.2.2(webpack@5.100.2(esbuild@0.25.8)) + webpack: 5.101.0(esbuild@0.25.8) + webpack-dev-middleware: 7.4.2(webpack@5.101.0(esbuild@0.25.8)) + webpack-dev-server: 5.2.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack@5.101.0(esbuild@0.25.8)) webpack-merge: 6.0.1 - webpack-subresource-integrity: 5.1.0(webpack@5.100.2(esbuild@0.25.8)) + webpack-subresource-integrity: 5.1.0(webpack@5.101.0(esbuild@0.25.8)) optionalDependencies: - '@angular/ssr': 20.2.0-next.2 + '@angular/ssr': 20.2.0-next.3 esbuild: 0.25.8 - karma: 6.4.4 + karma: 6.4.4(bufferutil@4.0.9)(utf-8-validate@6.0.5) protractor: 7.0.0 transitivePeerDependencies: - '@rspack/core' @@ -11259,16 +11569,16 @@ snapshots: typescript: 3.2.4 webpack-sources: 1.3.0 - '@angular-devkit/build-webpack@0.2002.0-next.2(chokidar@4.0.3)(webpack-dev-server@5.2.2(webpack@5.100.2(esbuild@0.25.8)))(webpack@5.100.2(esbuild@0.25.8))': + '@angular-devkit/build-webpack@0.2002.0-next.3(chokidar@4.0.3)(webpack-dev-server@5.2.2(bufferutil@4.0.9)(webpack@5.101.0(esbuild@0.25.8)))(webpack@5.101.0(esbuild@0.25.8))': dependencies: - '@angular-devkit/architect': 0.2002.0-next.2(chokidar@4.0.3) + '@angular-devkit/architect': 0.2002.0-next.3(chokidar@4.0.3) rxjs: 7.8.2 - webpack: 5.100.2(esbuild@0.25.8) - webpack-dev-server: 5.2.2(webpack@5.100.2(esbuild@0.25.8)) + webpack: 5.101.0(esbuild@0.25.8) + webpack-dev-server: 5.2.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack@5.101.0(esbuild@0.25.8)) transitivePeerDependencies: - chokidar - '@angular-devkit/core@20.2.0-next.2(chokidar@4.0.3)': + '@angular-devkit/core@20.2.0-next.3(chokidar@4.0.3)': dependencies: ajv: 8.17.1 ajv-formats: 3.0.1 @@ -11279,9 +11589,9 @@ snapshots: optionalDependencies: chokidar: 4.0.3 - '@angular-devkit/schematics@20.2.0-next.2(chokidar@4.0.3)': + '@angular-devkit/schematics@20.2.0-next.3(chokidar@4.0.3)': dependencies: - '@angular-devkit/core': 20.2.0-next.2(chokidar@4.0.3) + '@angular-devkit/core': 20.2.0-next.3(chokidar@4.0.3) jsonc-parser: 3.3.1 magic-string: 0.30.17 ora: 8.2.0 @@ -11289,10 +11599,10 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular/build@20.2.0-next.2(@angular/ssr@20.2.0-next.2)(@types/node@18.19.121)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4)(less@4.4.0)(postcss@8.5.6)(terser@5.43.1)(tslib@2.8.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.0)': + '@angular/build@20.2.0-next.3(@angular/ssr@20.2.0-next.3)(@types/node@18.19.121)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4(bufferutil@4.0.9))(less@4.4.0)(postcss@8.5.6)(terser@5.43.1)(tslib@2.8.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.1)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2002.0-next.2(chokidar@4.0.3) + '@angular-devkit/architect': 0.2002.0-next.3(chokidar@4.0.3) '@angular/compiler': link:packages/compiler '@angular/compiler-cli': link:packages/compiler-cli '@angular/core': link:packages/core @@ -11304,7 +11614,7 @@ snapshots: '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 '@inquirer/confirm': 5.1.14(@types/node@18.19.121) - '@vitejs/plugin-basic-ssl': 2.1.0(vite@7.0.6(@types/node@18.19.121)(jiti@1.21.7)(less@4.4.0)(sass@1.89.2)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@vitejs/plugin-basic-ssl': 2.1.0(vite@7.1.0(@types/node@18.19.121)(jiti@1.21.7)(less@4.4.0)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.1)) beasties: 0.3.5 browserslist: 4.25.1 esbuild: 0.25.8 @@ -11317,20 +11627,20 @@ snapshots: parse5-html-rewriting-stream: 8.0.0 picomatch: 4.0.3 piscina: 5.1.3 - rolldown: 1.0.0-beta.29 - sass: 1.89.2 + rolldown: 1.0.0-beta.31 + sass: 1.90.0 semver: 7.7.2 source-map-support: 0.5.21 tinyglobby: 0.2.14 tslib: 2.8.1 typescript: 5.9.2 - vite: 7.0.6(@types/node@18.19.121)(jiti@1.21.7)(less@4.4.0)(sass@1.89.2)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.1.0(@types/node@18.19.121)(jiti@1.21.7)(less@4.4.0)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.1) watchpack: 2.4.4 optionalDependencies: - '@angular/ssr': 20.2.0-next.2 - karma: 6.4.4 + '@angular/ssr': 20.2.0-next.3 + karma: 6.4.4(bufferutil@4.0.9)(utf-8-validate@6.0.5) less: 4.4.0 - lmdb: 3.4.1 + lmdb: 3.4.2 postcss: 8.5.6 transitivePeerDependencies: - '@types/node' @@ -11345,10 +11655,10 @@ snapshots: - tsx - yaml - '@angular/build@20.2.0-next.2(@angular/ssr@20.2.0-next.2)(@types/node@24.1.0)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4)(less@4.4.0)(postcss@8.5.6)(terser@5.43.1)(tslib@2.8.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.0)': + '@angular/build@20.2.0-next.3(@angular/ssr@20.2.0-next.3)(@types/node@24.1.0)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.4.0)(postcss@8.5.6)(terser@5.43.1)(tslib@2.8.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.1)': dependencies: '@ampproject/remapping': 2.3.0 - '@angular-devkit/architect': 0.2002.0-next.2(chokidar@4.0.3) + '@angular-devkit/architect': 0.2002.0-next.3(chokidar@4.0.3) '@angular/compiler': link:packages/compiler '@angular/compiler-cli': link:packages/compiler-cli '@angular/core': link:packages/core @@ -11360,7 +11670,63 @@ snapshots: '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 '@inquirer/confirm': 5.1.14(@types/node@24.1.0) - '@vitejs/plugin-basic-ssl': 2.1.0(vite@7.0.6(@types/node@24.1.0)(jiti@1.21.7)(less@4.4.0)(sass@1.89.2)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0)) + '@vitejs/plugin-basic-ssl': 2.1.0(vite@7.1.0(@types/node@24.1.0)(jiti@1.21.7)(less@4.4.0)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.1)) + beasties: 0.3.5 + browserslist: 4.25.1 + esbuild: 0.25.8 + https-proxy-agent: 7.0.6 + istanbul-lib-instrument: 6.0.3 + jsonc-parser: 3.3.1 + listr2: 9.0.1 + magic-string: 0.30.17 + mrmime: 2.0.1 + parse5-html-rewriting-stream: 8.0.0 + picomatch: 4.0.3 + piscina: 5.1.3 + rolldown: 1.0.0-beta.31 + sass: 1.90.0 + semver: 7.7.2 + source-map-support: 0.5.21 + tinyglobby: 0.2.14 + tslib: 2.8.1 + typescript: 5.9.2 + vite: 7.1.0(@types/node@24.1.0)(jiti@1.21.7)(less@4.4.0)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.1) + watchpack: 2.4.4 + optionalDependencies: + '@angular/ssr': 20.2.0-next.3 + karma: 6.4.4(bufferutil@4.0.9)(utf-8-validate@6.0.5) + less: 4.4.0 + lmdb: 3.4.2 + postcss: 8.5.6 + transitivePeerDependencies: + - '@types/node' + - chokidar + - jiti + - lightningcss + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - yaml + + '@angular/build@20.2.0-next.3(@angular/ssr@20.2.0-next.3)(@types/node@24.2.0)(chokidar@4.0.3)(jiti@1.21.7)(karma@6.4.4(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.4.0)(postcss@8.5.6)(terser@5.43.1)(tslib@2.8.1)(tsx@4.20.3)(typescript@5.9.2)(yaml@2.8.1)': + dependencies: + '@ampproject/remapping': 2.3.0 + '@angular-devkit/architect': 0.2002.0-next.3(chokidar@4.0.3) + '@angular/compiler': link:packages/compiler + '@angular/compiler-cli': link:packages/compiler-cli + '@angular/core': link:packages/core + '@angular/localize': link:packages/localize + '@angular/platform-browser': link:packages/platform-browser + '@angular/platform-server': link:packages/platform-server + '@angular/service-worker': link:packages/service-worker + '@babel/core': 7.28.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-split-export-declaration': 7.24.7 + '@inquirer/confirm': 5.1.14(@types/node@24.2.0) + '@vitejs/plugin-basic-ssl': 2.1.0(vite@7.1.0(@types/node@24.2.0)(jiti@1.21.7)(less@4.4.0)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.1)) beasties: 0.3.5 browserslist: 4.25.1 esbuild: 0.25.8 @@ -11373,20 +11739,20 @@ snapshots: parse5-html-rewriting-stream: 8.0.0 picomatch: 4.0.3 piscina: 5.1.3 - rolldown: 1.0.0-beta.29 - sass: 1.89.2 + rolldown: 1.0.0-beta.31 + sass: 1.90.0 semver: 7.7.2 source-map-support: 0.5.21 tinyglobby: 0.2.14 tslib: 2.8.1 typescript: 5.9.2 - vite: 7.0.6(@types/node@24.1.0)(jiti@1.21.7)(less@4.4.0)(sass@1.89.2)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.1.0(@types/node@24.2.0)(jiti@1.21.7)(less@4.4.0)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.1) watchpack: 2.4.4 optionalDependencies: - '@angular/ssr': 20.2.0-next.2 - karma: 6.4.4 + '@angular/ssr': 20.2.0-next.3 + karma: 6.4.4(bufferutil@4.0.9)(utf-8-validate@6.0.5) less: 4.4.0 - lmdb: 3.4.1 + lmdb: 3.4.2 postcss: 8.5.6 transitivePeerDependencies: - '@types/node' @@ -11401,7 +11767,7 @@ snapshots: - tsx - yaml - '@angular/cdk@20.2.0-next.2(rxjs@7.8.2)': + '@angular/cdk@20.2.0-next.3(rxjs@7.8.2)': dependencies: '@angular/common': link:packages/common '@angular/core': link:packages/core @@ -11409,17 +11775,17 @@ snapshots: rxjs: 7.8.2 tslib: 2.8.1 - '@angular/cli@20.2.0-next.2(@types/node@18.19.121)(chokidar@4.0.3)': + '@angular/cli@20.2.0-next.3(@types/node@18.19.121)(chokidar@4.0.3)': dependencies: - '@angular-devkit/architect': 0.2002.0-next.2(chokidar@4.0.3) - '@angular-devkit/core': 20.2.0-next.2(chokidar@4.0.3) - '@angular-devkit/schematics': 20.2.0-next.2(chokidar@4.0.3) - '@inquirer/prompts': 7.7.1(@types/node@18.19.121) - '@listr2/prompt-adapter-inquirer': 3.0.1(@inquirer/prompts@7.7.1(@types/node@18.19.121))(@types/node@18.19.121)(listr2@9.0.1) - '@modelcontextprotocol/sdk': 1.17.0 - '@schematics/angular': 20.2.0-next.2(chokidar@4.0.3) + '@angular-devkit/architect': 0.2002.0-next.3(chokidar@4.0.3) + '@angular-devkit/core': 20.2.0-next.3(chokidar@4.0.3) + '@angular-devkit/schematics': 20.2.0-next.3(chokidar@4.0.3) + '@inquirer/prompts': 7.8.0(@types/node@18.19.121) + '@listr2/prompt-adapter-inquirer': 3.0.1(@inquirer/prompts@7.8.0(@types/node@18.19.121))(@types/node@18.19.121)(listr2@9.0.1) + '@modelcontextprotocol/sdk': 1.17.1 + '@schematics/angular': 20.2.0-next.3(chokidar@4.0.3) '@yarnpkg/lockfile': 1.1.0 - algoliasearch: 5.34.1 + algoliasearch: 5.35.0 ini: 5.0.0 jsonc-parser: 3.3.1 listr2: 9.0.1 @@ -11434,17 +11800,17 @@ snapshots: - chokidar - supports-color - '@angular/cli@20.2.0-next.2(@types/node@24.1.0)(chokidar@4.0.3)': + '@angular/cli@20.2.0-next.3(@types/node@24.1.0)(chokidar@4.0.3)': dependencies: - '@angular-devkit/architect': 0.2002.0-next.2(chokidar@4.0.3) - '@angular-devkit/core': 20.2.0-next.2(chokidar@4.0.3) - '@angular-devkit/schematics': 20.2.0-next.2(chokidar@4.0.3) - '@inquirer/prompts': 7.7.1(@types/node@24.1.0) - '@listr2/prompt-adapter-inquirer': 3.0.1(@inquirer/prompts@7.7.1(@types/node@24.1.0))(@types/node@24.1.0)(listr2@9.0.1) - '@modelcontextprotocol/sdk': 1.17.0 - '@schematics/angular': 20.2.0-next.2(chokidar@4.0.3) + '@angular-devkit/architect': 0.2002.0-next.3(chokidar@4.0.3) + '@angular-devkit/core': 20.2.0-next.3(chokidar@4.0.3) + '@angular-devkit/schematics': 20.2.0-next.3(chokidar@4.0.3) + '@inquirer/prompts': 7.8.0(@types/node@24.1.0) + '@listr2/prompt-adapter-inquirer': 3.0.1(@inquirer/prompts@7.8.0(@types/node@18.19.121))(@types/node@24.1.0)(listr2@9.0.1) + '@modelcontextprotocol/sdk': 1.17.1 + '@schematics/angular': 20.2.0-next.3(chokidar@4.0.3) '@yarnpkg/lockfile': 1.1.0 - algoliasearch: 5.34.1 + algoliasearch: 5.35.0 ini: 5.0.0 jsonc-parser: 3.3.1 listr2: 9.0.1 @@ -11468,9 +11834,9 @@ snapshots: '@angular/domino@https://codeload.github.com/angular/domino/tar.gz/93e720f143d0296dd2726ffbcf4fc12283363a7b': {} - '@angular/material@20.2.0-next.2(@angular/cdk@20.2.0-next.2(rxjs@7.8.2))(rxjs@7.8.2)': + '@angular/material@20.2.0-next.3(@angular/cdk@20.2.0-next.3(rxjs@7.8.2))(rxjs@7.8.2)': dependencies: - '@angular/cdk': 20.2.0-next.2(rxjs@7.8.2) + '@angular/cdk': 20.2.0-next.3(rxjs@7.8.2) '@angular/common': link:packages/common '@angular/core': link:packages/core '@angular/forms': link:packages/forms @@ -11478,28 +11844,69 @@ snapshots: rxjs: 7.8.2 tslib: 2.8.1 - '@angular/ng-dev@https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/ee016d9031a302c2dbcfa5d0ea7195ae7094290d(@modelcontextprotocol/sdk@1.17.0)(encoding@0.1.13)': + '@angular/ng-dev@https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/b5b6047ba08186530059609b33d29a3639a6c316(@modelcontextprotocol/sdk@1.17.1)': dependencies: - '@google-cloud/spanner': 8.0.0(supports-color@10.0.0) - '@google/genai': 1.12.0(@modelcontextprotocol/sdk@1.17.0)(encoding@0.1.13)(supports-color@10.0.0) + '@actions/core': 1.11.1 + '@google-cloud/spanner': 8.0.0(supports-color@10.1.0) + '@google/genai': 1.13.0(@modelcontextprotocol/sdk@1.17.1)(bufferutil@4.0.9)(encoding@0.1.13)(supports-color@10.1.0)(utf-8-validate@6.0.5) + '@inquirer/prompts': 7.8.0(@types/node@24.2.0) + '@inquirer/type': 3.0.8(@types/node@24.2.0) + '@octokit/auth-app': 8.0.2 + '@octokit/core': 7.0.3 + '@octokit/graphql': 9.0.1 + '@octokit/graphql-schema': 15.26.0 + '@octokit/openapi-types': 25.1.0 + '@octokit/plugin-paginate-rest': 13.1.1(@octokit/core@7.0.3) + '@octokit/plugin-rest-endpoint-methods': 16.0.0(@octokit/core@7.0.3) + '@octokit/request-error': 7.0.0 '@octokit/rest': 22.0.0 + '@octokit/types': 14.1.0 + '@pnpm/dependency-path': 1001.1.0 + '@types/cli-progress': 3.11.6 + '@types/conventional-commits-parser': 5.0.1 + '@types/ejs': 3.1.5 + '@types/events': 3.0.3 + '@types/folder-hash': 4.0.4 + '@types/git-raw-commits': 2.0.0 + '@types/jasmine': 5.1.8 + '@types/minimatch': 6.0.0 + '@types/node': 24.2.0 '@types/semver': 7.7.0 '@types/supports-color': 10.0.0 + '@types/which': 3.0.4 + '@types/yargs': 17.0.33 + '@types/yarnpkg__lockfile': 1.1.9 '@yarnpkg/lockfile': 1.1.0 - chalk: 5.4.1 + bufferutil: 4.0.9 + chalk: 5.5.0 + cli-progress: 3.12.0 + conventional-commits-parser: 5.0.0 + ejs: 3.1.10 + encoding: 0.1.13 + fast-glob: 3.3.3 + firebase: 12.0.0 + folder-hash: 4.1.1(supports-color@10.1.0) + git-raw-commits: 4.0.0 + jasmine: 5.9.0 + jasmine-core: 5.9.0 + jasmine-reporters: 2.5.2 + jsonc-parser: 3.3.1 + minimatch: 10.0.3 + multimatch: 7.0.0 + nock: 14.0.8 semver: 7.7.2 - supports-color: 10.0.0 + supports-color: 10.1.0 typed-graphqlify: 3.1.6 - typescript: 4.9.5 + typescript: 5.9.2 + utf-8-validate: 6.0.5 which: 5.0.0 - yaml: 2.8.0 + yaml: 2.8.1 + yargs: 18.0.0 transitivePeerDependencies: - '@modelcontextprotocol/sdk' - - bufferutil - - encoding - - utf-8-validate + - '@react-native-async-storage/async-storage' - '@angular/ssr@20.2.0-next.2': + '@angular/ssr@20.2.0-next.3': dependencies: '@angular/common': link:packages/common '@angular/core': link:packages/core @@ -12571,6 +12978,324 @@ snapshots: '@fastify/busboy@2.1.1': {} + '@firebase/ai@2.0.0(@firebase/app-types@0.9.3)(@firebase/app@0.14.0)': + dependencies: + '@firebase/app': 0.14.0 + '@firebase/app-check-interop-types': 0.3.3 + '@firebase/app-types': 0.9.3 + '@firebase/component': 0.7.0 + '@firebase/logger': 0.5.0 + '@firebase/util': 1.13.0 + tslib: 2.8.1 + + '@firebase/analytics-compat@0.2.24(@firebase/app-compat@0.5.0)(@firebase/app@0.14.0)': + dependencies: + '@firebase/analytics': 0.10.18(@firebase/app@0.14.0) + '@firebase/analytics-types': 0.8.3 + '@firebase/app-compat': 0.5.0 + '@firebase/component': 0.7.0 + '@firebase/util': 1.13.0 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/analytics-types@0.8.3': {} + + '@firebase/analytics@0.10.18(@firebase/app@0.14.0)': + dependencies: + '@firebase/app': 0.14.0 + '@firebase/component': 0.7.0 + '@firebase/installations': 0.6.19(@firebase/app@0.14.0) + '@firebase/logger': 0.5.0 + '@firebase/util': 1.13.0 + tslib: 2.8.1 + + '@firebase/app-check-compat@0.4.0(@firebase/app-compat@0.5.0)(@firebase/app@0.14.0)': + dependencies: + '@firebase/app-check': 0.11.0(@firebase/app@0.14.0) + '@firebase/app-check-types': 0.5.3 + '@firebase/app-compat': 0.5.0 + '@firebase/component': 0.7.0 + '@firebase/logger': 0.5.0 + '@firebase/util': 1.13.0 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/app-check-interop-types@0.3.3': {} + + '@firebase/app-check-types@0.5.3': {} + + '@firebase/app-check@0.11.0(@firebase/app@0.14.0)': + dependencies: + '@firebase/app': 0.14.0 + '@firebase/component': 0.7.0 + '@firebase/logger': 0.5.0 + '@firebase/util': 1.13.0 + tslib: 2.8.1 + + '@firebase/app-compat@0.5.0': + dependencies: + '@firebase/app': 0.14.0 + '@firebase/component': 0.7.0 + '@firebase/logger': 0.5.0 + '@firebase/util': 1.13.0 + tslib: 2.8.1 + + '@firebase/app-types@0.9.3': {} + + '@firebase/app@0.14.0': + dependencies: + '@firebase/component': 0.7.0 + '@firebase/logger': 0.5.0 + '@firebase/util': 1.13.0 + idb: 7.1.1 + tslib: 2.8.1 + + '@firebase/auth-compat@0.6.0(@firebase/app-compat@0.5.0)(@firebase/app-types@0.9.3)(@firebase/app@0.14.0)': + dependencies: + '@firebase/app-compat': 0.5.0 + '@firebase/auth': 1.11.0(@firebase/app@0.14.0) + '@firebase/auth-types': 0.13.0(@firebase/app-types@0.9.3)(@firebase/util@1.13.0) + '@firebase/component': 0.7.0 + '@firebase/util': 1.13.0 + 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-types@0.13.0(@firebase/app-types@0.9.3)(@firebase/util@1.13.0)': + dependencies: + '@firebase/app-types': 0.9.3 + '@firebase/util': 1.13.0 + + '@firebase/auth@1.11.0(@firebase/app@0.14.0)': + dependencies: + '@firebase/app': 0.14.0 + '@firebase/component': 0.7.0 + '@firebase/logger': 0.5.0 + '@firebase/util': 1.13.0 + tslib: 2.8.1 + + '@firebase/component@0.7.0': + dependencies: + '@firebase/util': 1.13.0 + tslib: 2.8.1 + + '@firebase/data-connect@0.3.11(@firebase/app@0.14.0)': + dependencies: + '@firebase/app': 0.14.0 + '@firebase/auth-interop-types': 0.2.4 + '@firebase/component': 0.7.0 + '@firebase/logger': 0.5.0 + '@firebase/util': 1.13.0 + tslib: 2.8.1 + + '@firebase/database-compat@2.1.0': + dependencies: + '@firebase/component': 0.7.0 + '@firebase/database': 1.1.0 + '@firebase/database-types': 1.0.16 + '@firebase/logger': 0.5.0 + '@firebase/util': 1.13.0 + tslib: 2.8.1 + + '@firebase/database-types@1.0.16': + dependencies: + '@firebase/app-types': 0.9.3 + '@firebase/util': 1.13.0 + + '@firebase/database@1.1.0': + dependencies: + '@firebase/app-check-interop-types': 0.3.3 + '@firebase/auth-interop-types': 0.2.4 + '@firebase/component': 0.7.0 + '@firebase/logger': 0.5.0 + '@firebase/util': 1.13.0 + faye-websocket: 0.11.4 + tslib: 2.8.1 + + '@firebase/firestore-compat@0.4.0(@firebase/app-compat@0.5.0)(@firebase/app-types@0.9.3)(@firebase/app@0.14.0)': + dependencies: + '@firebase/app-compat': 0.5.0 + '@firebase/component': 0.7.0 + '@firebase/firestore': 4.9.0(@firebase/app@0.14.0) + '@firebase/firestore-types': 3.0.3(@firebase/app-types@0.9.3)(@firebase/util@1.13.0) + '@firebase/util': 1.13.0 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-types' + + '@firebase/firestore-types@3.0.3(@firebase/app-types@0.9.3)(@firebase/util@1.13.0)': + dependencies: + '@firebase/app-types': 0.9.3 + '@firebase/util': 1.13.0 + + '@firebase/firestore@4.9.0(@firebase/app@0.14.0)': + dependencies: + '@firebase/app': 0.14.0 + '@firebase/component': 0.7.0 + '@firebase/logger': 0.5.0 + '@firebase/util': 1.13.0 + '@firebase/webchannel-wrapper': 1.0.4 + '@grpc/grpc-js': 1.9.15 + '@grpc/proto-loader': 0.7.15 + tslib: 2.8.1 + + '@firebase/functions-compat@0.4.0(@firebase/app-compat@0.5.0)(@firebase/app@0.14.0)': + dependencies: + '@firebase/app-compat': 0.5.0 + '@firebase/component': 0.7.0 + '@firebase/functions': 0.13.0(@firebase/app@0.14.0) + '@firebase/functions-types': 0.6.3 + '@firebase/util': 1.13.0 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/functions-types@0.6.3': {} + + '@firebase/functions@0.13.0(@firebase/app@0.14.0)': + dependencies: + '@firebase/app': 0.14.0 + '@firebase/app-check-interop-types': 0.3.3 + '@firebase/auth-interop-types': 0.2.4 + '@firebase/component': 0.7.0 + '@firebase/messaging-interop-types': 0.2.3 + '@firebase/util': 1.13.0 + tslib: 2.8.1 + + '@firebase/installations-compat@0.2.19(@firebase/app-compat@0.5.0)(@firebase/app-types@0.9.3)(@firebase/app@0.14.0)': + dependencies: + '@firebase/app-compat': 0.5.0 + '@firebase/component': 0.7.0 + '@firebase/installations': 0.6.19(@firebase/app@0.14.0) + '@firebase/installations-types': 0.5.3(@firebase/app-types@0.9.3) + '@firebase/util': 1.13.0 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-types' + + '@firebase/installations-types@0.5.3(@firebase/app-types@0.9.3)': + dependencies: + '@firebase/app-types': 0.9.3 + + '@firebase/installations@0.6.19(@firebase/app@0.14.0)': + dependencies: + '@firebase/app': 0.14.0 + '@firebase/component': 0.7.0 + '@firebase/util': 1.13.0 + idb: 7.1.1 + tslib: 2.8.1 + + '@firebase/logger@0.5.0': + dependencies: + tslib: 2.8.1 + + '@firebase/messaging-compat@0.2.23(@firebase/app-compat@0.5.0)(@firebase/app@0.14.0)': + dependencies: + '@firebase/app-compat': 0.5.0 + '@firebase/component': 0.7.0 + '@firebase/messaging': 0.12.23(@firebase/app@0.14.0) + '@firebase/util': 1.13.0 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/messaging-interop-types@0.2.3': {} + + '@firebase/messaging@0.12.23(@firebase/app@0.14.0)': + dependencies: + '@firebase/app': 0.14.0 + '@firebase/component': 0.7.0 + '@firebase/installations': 0.6.19(@firebase/app@0.14.0) + '@firebase/messaging-interop-types': 0.2.3 + '@firebase/util': 1.13.0 + idb: 7.1.1 + tslib: 2.8.1 + + '@firebase/performance-compat@0.2.21(@firebase/app-compat@0.5.0)(@firebase/app@0.14.0)': + dependencies: + '@firebase/app-compat': 0.5.0 + '@firebase/component': 0.7.0 + '@firebase/logger': 0.5.0 + '@firebase/performance': 0.7.8(@firebase/app@0.14.0) + '@firebase/performance-types': 0.2.3 + '@firebase/util': 1.13.0 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/performance-types@0.2.3': {} + + '@firebase/performance@0.7.8(@firebase/app@0.14.0)': + dependencies: + '@firebase/app': 0.14.0 + '@firebase/component': 0.7.0 + '@firebase/installations': 0.6.19(@firebase/app@0.14.0) + '@firebase/logger': 0.5.0 + '@firebase/util': 1.13.0 + tslib: 2.8.1 + web-vitals: 4.2.4 + + '@firebase/remote-config-compat@0.2.19(@firebase/app-compat@0.5.0)(@firebase/app@0.14.0)': + dependencies: + '@firebase/app-compat': 0.5.0 + '@firebase/component': 0.7.0 + '@firebase/logger': 0.5.0 + '@firebase/remote-config': 0.6.6(@firebase/app@0.14.0) + '@firebase/remote-config-types': 0.4.0 + '@firebase/util': 1.13.0 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/remote-config-types@0.4.0': {} + + '@firebase/remote-config@0.6.6(@firebase/app@0.14.0)': + dependencies: + '@firebase/app': 0.14.0 + '@firebase/component': 0.7.0 + '@firebase/installations': 0.6.19(@firebase/app@0.14.0) + '@firebase/logger': 0.5.0 + '@firebase/util': 1.13.0 + tslib: 2.8.1 + + '@firebase/storage-compat@0.4.0(@firebase/app-compat@0.5.0)(@firebase/app-types@0.9.3)(@firebase/app@0.14.0)': + dependencies: + '@firebase/app-compat': 0.5.0 + '@firebase/component': 0.7.0 + '@firebase/storage': 0.14.0(@firebase/app@0.14.0) + '@firebase/storage-types': 0.8.3(@firebase/app-types@0.9.3)(@firebase/util@1.13.0) + '@firebase/util': 1.13.0 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-types' + + '@firebase/storage-types@0.8.3(@firebase/app-types@0.9.3)(@firebase/util@1.13.0)': + dependencies: + '@firebase/app-types': 0.9.3 + '@firebase/util': 1.13.0 + + '@firebase/storage@0.14.0(@firebase/app@0.14.0)': + dependencies: + '@firebase/app': 0.14.0 + '@firebase/component': 0.7.0 + '@firebase/util': 1.13.0 + tslib: 2.8.1 + + '@firebase/util@1.13.0': + dependencies: + tslib: 2.8.1 + + '@firebase/webchannel-wrapper@1.0.4': {} + '@google-cloud/cloud-sql-connector@1.8.2': dependencies: '@googleapis/sqladmin': 31.1.0 @@ -12580,17 +13305,17 @@ snapshots: transitivePeerDependencies: - supports-color - '@google-cloud/common@6.0.0(supports-color@10.0.0)': + '@google-cloud/common@6.0.0(supports-color@10.1.0)': dependencies: '@google-cloud/projectify': 4.0.0 '@google-cloud/promisify': 4.1.0 arrify: 2.0.1 duplexify: 4.1.3 extend: 3.0.2 - google-auth-library: 10.2.0(supports-color@10.0.0) + google-auth-library: 10.2.0(supports-color@10.1.0) html-entities: 2.6.0 - retry-request: 8.0.0(supports-color@10.0.0) - teeny-request: 10.1.0(supports-color@10.0.0) + retry-request: 8.0.0(supports-color@10.1.0) + teeny-request: 10.1.0(supports-color@10.1.0) transitivePeerDependencies: - supports-color @@ -12633,9 +13358,9 @@ snapshots: - encoding - supports-color - '@google-cloud/spanner@8.0.0(supports-color@10.0.0)': + '@google-cloud/spanner@8.0.0(supports-color@10.1.0)': dependencies: - '@google-cloud/common': 6.0.0(supports-color@10.0.0) + '@google-cloud/common': 6.0.0(supports-color@10.1.0) '@google-cloud/precise-date': 5.0.0 '@google-cloud/projectify': 5.0.0 '@google-cloud/promisify': 5.0.0 @@ -12651,29 +13376,29 @@ snapshots: duplexify: 4.1.3 events-intercept: 2.0.0 extend: 3.0.2 - google-auth-library: 10.2.0(supports-color@10.0.0) - google-gax: 5.0.1(supports-color@10.0.0) + google-auth-library: 10.2.0(supports-color@10.1.0) + google-gax: 5.0.1(supports-color@10.1.0) grpc-gcp: 1.0.1(protobufjs@7.5.3) is: 3.3.2 lodash.snakecase: 4.1.1 merge-stream: 2.0.0 p-queue: 6.6.2 protobufjs: 7.5.3 - retry-request: 8.0.0(supports-color@10.0.0) + retry-request: 8.0.0(supports-color@10.1.0) split-array-stream: 2.0.0 stack-trace: 0.0.10 stream-events: 1.0.5 - teeny-request: 10.1.0(supports-color@10.0.0) + teeny-request: 10.1.0(supports-color@10.1.0) through2: 4.0.2 transitivePeerDependencies: - supports-color - '@google/genai@1.12.0(@modelcontextprotocol/sdk@1.17.0)(encoding@0.1.13)(supports-color@10.0.0)': + '@google/genai@1.13.0(@modelcontextprotocol/sdk@1.17.1)(bufferutil@4.0.9)(encoding@0.1.13)(supports-color@10.1.0)(utf-8-validate@6.0.5)': dependencies: - google-auth-library: 9.15.1(encoding@0.1.13)(supports-color@10.0.0) - ws: 8.18.3 + google-auth-library: 9.15.1(encoding@0.1.13)(supports-color@10.1.0) + ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) optionalDependencies: - '@modelcontextprotocol/sdk': 1.17.0 + '@modelcontextprotocol/sdk': 1.17.1 transitivePeerDependencies: - bufferutil - encoding @@ -12691,6 +13416,11 @@ snapshots: '@grpc/proto-loader': 0.7.15 '@js-sdsl/ordered-map': 4.4.2 + '@grpc/grpc-js@1.9.15': + dependencies: + '@grpc/proto-loader': 0.7.15 + '@types/node': 18.19.121 + '@grpc/proto-loader@0.7.15': dependencies: lodash.camelcase: 4.3.0 @@ -12741,6 +13471,16 @@ snapshots: optionalDependencies: '@types/node': 24.1.0 + '@inquirer/checkbox@4.2.0(@types/node@24.2.0)': + dependencies: + '@inquirer/core': 10.1.15(@types/node@24.2.0) + '@inquirer/figures': 1.0.13 + '@inquirer/type': 3.0.8(@types/node@24.2.0) + ansi-escapes: 4.3.2 + yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 24.2.0 + '@inquirer/confirm@5.1.14(@types/node@18.19.121)': dependencies: '@inquirer/core': 10.1.15(@types/node@18.19.121) @@ -12755,6 +13495,13 @@ snapshots: optionalDependencies: '@types/node': 24.1.0 + '@inquirer/confirm@5.1.14(@types/node@24.2.0)': + dependencies: + '@inquirer/core': 10.1.15(@types/node@24.2.0) + '@inquirer/type': 3.0.8(@types/node@24.2.0) + optionalDependencies: + '@types/node': 24.2.0 + '@inquirer/core@10.1.15(@types/node@18.19.121)': dependencies: '@inquirer/figures': 1.0.13 @@ -12781,6 +13528,19 @@ snapshots: optionalDependencies: '@types/node': 24.1.0 + '@inquirer/core@10.1.15(@types/node@24.2.0)': + dependencies: + '@inquirer/figures': 1.0.13 + '@inquirer/type': 3.0.8(@types/node@24.2.0) + ansi-escapes: 4.3.2 + cli-width: 4.1.0 + mute-stream: 2.0.0 + signal-exit: 4.1.0 + wrap-ansi: 6.2.0 + yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 24.2.0 + '@inquirer/editor@4.2.15(@types/node@18.19.121)': dependencies: '@inquirer/core': 10.1.15(@types/node@18.19.121) @@ -12797,6 +13557,14 @@ snapshots: optionalDependencies: '@types/node': 24.1.0 + '@inquirer/editor@4.2.15(@types/node@24.2.0)': + dependencies: + '@inquirer/core': 10.1.15(@types/node@24.2.0) + '@inquirer/type': 3.0.8(@types/node@24.2.0) + external-editor: 3.1.0 + optionalDependencies: + '@types/node': 24.2.0 + '@inquirer/expand@4.0.17(@types/node@18.19.121)': dependencies: '@inquirer/core': 10.1.15(@types/node@18.19.121) @@ -12813,6 +13581,14 @@ snapshots: optionalDependencies: '@types/node': 24.1.0 + '@inquirer/expand@4.0.17(@types/node@24.2.0)': + dependencies: + '@inquirer/core': 10.1.15(@types/node@24.2.0) + '@inquirer/type': 3.0.8(@types/node@24.2.0) + yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 24.2.0 + '@inquirer/figures@1.0.13': {} '@inquirer/input@4.2.1(@types/node@18.19.121)': @@ -12829,6 +13605,13 @@ snapshots: optionalDependencies: '@types/node': 24.1.0 + '@inquirer/input@4.2.1(@types/node@24.2.0)': + dependencies: + '@inquirer/core': 10.1.15(@types/node@24.2.0) + '@inquirer/type': 3.0.8(@types/node@24.2.0) + optionalDependencies: + '@types/node': 24.2.0 + '@inquirer/number@3.0.17(@types/node@18.19.121)': dependencies: '@inquirer/core': 10.1.15(@types/node@18.19.121) @@ -12843,6 +13626,13 @@ snapshots: optionalDependencies: '@types/node': 24.1.0 + '@inquirer/number@3.0.17(@types/node@24.2.0)': + dependencies: + '@inquirer/core': 10.1.15(@types/node@24.2.0) + '@inquirer/type': 3.0.8(@types/node@24.2.0) + optionalDependencies: + '@types/node': 24.2.0 + '@inquirer/password@4.0.17(@types/node@18.19.121)': dependencies: '@inquirer/core': 10.1.15(@types/node@18.19.121) @@ -12859,7 +13649,15 @@ snapshots: optionalDependencies: '@types/node': 24.1.0 - '@inquirer/prompts@7.7.1(@types/node@18.19.121)': + '@inquirer/password@4.0.17(@types/node@24.2.0)': + dependencies: + '@inquirer/core': 10.1.15(@types/node@24.2.0) + '@inquirer/type': 3.0.8(@types/node@24.2.0) + ansi-escapes: 4.3.2 + optionalDependencies: + '@types/node': 24.2.0 + + '@inquirer/prompts@7.8.0(@types/node@18.19.121)': dependencies: '@inquirer/checkbox': 4.2.0(@types/node@18.19.121) '@inquirer/confirm': 5.1.14(@types/node@18.19.121) @@ -12874,7 +13672,7 @@ snapshots: optionalDependencies: '@types/node': 18.19.121 - '@inquirer/prompts@7.7.1(@types/node@24.1.0)': + '@inquirer/prompts@7.8.0(@types/node@24.1.0)': dependencies: '@inquirer/checkbox': 4.2.0(@types/node@24.1.0) '@inquirer/confirm': 5.1.14(@types/node@24.1.0) @@ -12889,20 +13687,20 @@ snapshots: optionalDependencies: '@types/node': 24.1.0 - '@inquirer/prompts@7.8.0(@types/node@18.19.121)': - dependencies: - '@inquirer/checkbox': 4.2.0(@types/node@18.19.121) - '@inquirer/confirm': 5.1.14(@types/node@18.19.121) - '@inquirer/editor': 4.2.15(@types/node@18.19.121) - '@inquirer/expand': 4.0.17(@types/node@18.19.121) - '@inquirer/input': 4.2.1(@types/node@18.19.121) - '@inquirer/number': 3.0.17(@types/node@18.19.121) - '@inquirer/password': 4.0.17(@types/node@18.19.121) - '@inquirer/rawlist': 4.1.5(@types/node@18.19.121) - '@inquirer/search': 3.1.0(@types/node@18.19.121) - '@inquirer/select': 4.3.1(@types/node@18.19.121) + '@inquirer/prompts@7.8.0(@types/node@24.2.0)': + dependencies: + '@inquirer/checkbox': 4.2.0(@types/node@24.2.0) + '@inquirer/confirm': 5.1.14(@types/node@24.2.0) + '@inquirer/editor': 4.2.15(@types/node@24.2.0) + '@inquirer/expand': 4.0.17(@types/node@24.2.0) + '@inquirer/input': 4.2.1(@types/node@24.2.0) + '@inquirer/number': 3.0.17(@types/node@24.2.0) + '@inquirer/password': 4.0.17(@types/node@24.2.0) + '@inquirer/rawlist': 4.1.5(@types/node@24.2.0) + '@inquirer/search': 3.1.0(@types/node@24.2.0) + '@inquirer/select': 4.3.1(@types/node@24.2.0) optionalDependencies: - '@types/node': 18.19.121 + '@types/node': 24.2.0 '@inquirer/rawlist@4.1.5(@types/node@18.19.121)': dependencies: @@ -12920,6 +13718,14 @@ snapshots: optionalDependencies: '@types/node': 24.1.0 + '@inquirer/rawlist@4.1.5(@types/node@24.2.0)': + dependencies: + '@inquirer/core': 10.1.15(@types/node@24.2.0) + '@inquirer/type': 3.0.8(@types/node@24.2.0) + yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 24.2.0 + '@inquirer/search@3.1.0(@types/node@18.19.121)': dependencies: '@inquirer/core': 10.1.15(@types/node@18.19.121) @@ -12938,6 +13744,15 @@ snapshots: optionalDependencies: '@types/node': 24.1.0 + '@inquirer/search@3.1.0(@types/node@24.2.0)': + dependencies: + '@inquirer/core': 10.1.15(@types/node@24.2.0) + '@inquirer/figures': 1.0.13 + '@inquirer/type': 3.0.8(@types/node@24.2.0) + yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 24.2.0 + '@inquirer/select@4.3.1(@types/node@18.19.121)': dependencies: '@inquirer/core': 10.1.15(@types/node@18.19.121) @@ -12958,6 +13773,16 @@ snapshots: optionalDependencies: '@types/node': 24.1.0 + '@inquirer/select@4.3.1(@types/node@24.2.0)': + dependencies: + '@inquirer/core': 10.1.15(@types/node@24.2.0) + '@inquirer/figures': 1.0.13 + '@inquirer/type': 3.0.8(@types/node@24.2.0) + ansi-escapes: 4.3.2 + yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 24.2.0 + '@inquirer/type@3.0.8(@types/node@18.19.121)': optionalDependencies: '@types/node': 18.19.121 @@ -12966,6 +13791,10 @@ snapshots: optionalDependencies: '@types/node': 24.1.0 + '@inquirer/type@3.0.8(@types/node@24.2.0)': + optionalDependencies: + '@types/node': 24.2.0 + '@isaacs/balanced-match@4.0.1': {} '@isaacs/brace-expansion@5.0.0': @@ -13067,41 +13896,41 @@ snapshots: '@lezer/highlight': 1.2.1 '@lezer/lr': 1.4.2 - '@listr2/prompt-adapter-inquirer@3.0.1(@inquirer/prompts@7.7.1(@types/node@18.19.121))(@types/node@18.19.121)(listr2@9.0.1)': + '@listr2/prompt-adapter-inquirer@3.0.1(@inquirer/prompts@7.8.0(@types/node@18.19.121))(@types/node@18.19.121)(listr2@9.0.1)': dependencies: - '@inquirer/prompts': 7.7.1(@types/node@18.19.121) + '@inquirer/prompts': 7.8.0(@types/node@18.19.121) '@inquirer/type': 3.0.8(@types/node@18.19.121) listr2: 9.0.1 transitivePeerDependencies: - '@types/node' - '@listr2/prompt-adapter-inquirer@3.0.1(@inquirer/prompts@7.7.1(@types/node@24.1.0))(@types/node@24.1.0)(listr2@9.0.1)': + '@listr2/prompt-adapter-inquirer@3.0.1(@inquirer/prompts@7.8.0(@types/node@18.19.121))(@types/node@24.1.0)(listr2@9.0.1)': dependencies: - '@inquirer/prompts': 7.7.1(@types/node@24.1.0) + '@inquirer/prompts': 7.8.0(@types/node@18.19.121) '@inquirer/type': 3.0.8(@types/node@24.1.0) listr2: 9.0.1 transitivePeerDependencies: - '@types/node' - '@lmdb/lmdb-darwin-arm64@3.4.1': + '@lmdb/lmdb-darwin-arm64@3.4.2': optional: true - '@lmdb/lmdb-darwin-x64@3.4.1': + '@lmdb/lmdb-darwin-x64@3.4.2': optional: true - '@lmdb/lmdb-linux-arm64@3.4.1': + '@lmdb/lmdb-linux-arm64@3.4.2': optional: true - '@lmdb/lmdb-linux-arm@3.4.1': + '@lmdb/lmdb-linux-arm@3.4.2': optional: true - '@lmdb/lmdb-linux-x64@3.4.1': + '@lmdb/lmdb-linux-x64@3.4.2': optional: true - '@lmdb/lmdb-win32-arm64@3.4.1': + '@lmdb/lmdb-win32-arm64@3.4.2': optional: true - '@lmdb/lmdb-win32-x64@3.4.1': + '@lmdb/lmdb-win32-x64@3.4.2': optional: true '@marijn/find-cluster-break@1.0.2': {} @@ -13162,6 +13991,23 @@ snapshots: transitivePeerDependencies: - supports-color + '@modelcontextprotocol/sdk@1.17.1': + dependencies: + ajv: 6.12.6 + content-type: 1.0.5 + cors: 2.8.5 + cross-spawn: 7.0.6 + eventsource: 3.0.7 + eventsource-parser: 3.0.3 + express: 5.1.0 + express-rate-limit: 7.5.1(express@5.1.0) + pkce-challenge: 5.0.0 + raw-body: 3.0.0 + zod: 3.25.76 + zod-to-json-schema: 3.24.6(zod@3.25.76) + transitivePeerDependencies: + - supports-color + '@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.3': optional: true @@ -13180,6 +14026,15 @@ snapshots: '@msgpackr-extract/msgpackr-extract-win32-x64@3.0.3': optional: true + '@mswjs/interceptors@0.39.5': + dependencies: + '@open-draft/deferred-promise': 2.2.0 + '@open-draft/logger': 0.3.0 + '@open-draft/until': 2.1.0 + is-node-process: 1.2.0 + outvariant: 1.4.3 + strict-event-emitter: 0.5.1 + '@napi-rs/nice-android-arm-eabi@1.0.4': optional: true @@ -13266,11 +14121,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@ngtools/webpack@20.2.0-next.2(typescript@5.9.2)(webpack@5.100.2(esbuild@0.25.8))': + '@ngtools/webpack@20.2.0-next.3(typescript@5.9.2)(webpack@5.101.0(esbuild@0.25.8))': dependencies: '@angular/compiler-cli': link:packages/compiler-cli typescript: 5.9.2 - webpack: 5.100.2(esbuild@0.25.8) + webpack: 5.101.0(esbuild@0.25.8) '@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3': optional: true @@ -13346,6 +14201,40 @@ snapshots: transitivePeerDependencies: - supports-color + '@octokit/auth-app@8.0.2': + dependencies: + '@octokit/auth-oauth-app': 9.0.1 + '@octokit/auth-oauth-user': 6.0.0 + '@octokit/request': 10.0.3 + '@octokit/request-error': 7.0.0 + '@octokit/types': 14.1.0 + toad-cache: 3.7.0 + universal-github-app-jwt: 2.2.2 + universal-user-agent: 7.0.3 + + '@octokit/auth-oauth-app@9.0.1': + dependencies: + '@octokit/auth-oauth-device': 8.0.1 + '@octokit/auth-oauth-user': 6.0.0 + '@octokit/request': 10.0.3 + '@octokit/types': 14.1.0 + universal-user-agent: 7.0.3 + + '@octokit/auth-oauth-device@8.0.1': + dependencies: + '@octokit/oauth-methods': 6.0.0 + '@octokit/request': 10.0.3 + '@octokit/types': 14.1.0 + universal-user-agent: 7.0.3 + + '@octokit/auth-oauth-user@6.0.0': + dependencies: + '@octokit/auth-oauth-device': 8.0.1 + '@octokit/oauth-methods': 6.0.0 + '@octokit/request': 10.0.3 + '@octokit/types': 14.1.0 + universal-user-agent: 7.0.3 + '@octokit/auth-token@4.0.0': {} '@octokit/auth-token@6.0.0': {} @@ -13380,6 +14269,11 @@ snapshots: '@octokit/types': 13.10.0 universal-user-agent: 6.0.1 + '@octokit/graphql-schema@15.26.0': + dependencies: + graphql: 16.11.0 + graphql-tag: 2.12.6(graphql@16.11.0) + '@octokit/graphql@7.1.1': dependencies: '@octokit/request': 8.4.1 @@ -13392,6 +14286,15 @@ snapshots: '@octokit/types': 14.1.0 universal-user-agent: 7.0.3 + '@octokit/oauth-authorization-url@8.0.0': {} + + '@octokit/oauth-methods@6.0.0': + dependencies: + '@octokit/oauth-authorization-url': 8.0.0 + '@octokit/request': 10.0.3 + '@octokit/request-error': 7.0.0 + '@octokit/types': 14.1.0 + '@octokit/openapi-types@20.0.0': {} '@octokit/openapi-types@24.2.0': {} @@ -13466,6 +14369,15 @@ snapshots: dependencies: '@octokit/openapi-types': 25.1.0 + '@open-draft/deferred-promise@2.2.0': {} + + '@open-draft/logger@0.3.0': + dependencies: + is-node-process: 1.2.0 + outvariant: 1.4.3 + + '@open-draft/until@2.1.0': {} + '@opentelemetry/api@1.9.0': {} '@opentelemetry/context-async-hooks@2.0.1(@opentelemetry/api@1.9.0)': @@ -13481,9 +14393,9 @@ snapshots: '@opentelemetry/semantic-conventions@1.36.0': {} - '@oxc-project/runtime@0.77.3': {} + '@oxc-project/runtime@0.80.0': {} - '@oxc-project/types@0.77.3': {} + '@oxc-project/types@0.80.0': {} '@parcel/watcher-android-arm64@2.5.1': optional: true @@ -13551,6 +14463,24 @@ snapshots: '@pnpm/config.env-replace@1.1.0': {} + '@pnpm/crypto.hash@1000.2.0': + dependencies: + '@pnpm/crypto.polyfill': 1000.1.0 + '@pnpm/graceful-fs': 1000.0.0 + ssri: 10.0.5 + + '@pnpm/crypto.polyfill@1000.1.0': {} + + '@pnpm/dependency-path@1001.1.0': + dependencies: + '@pnpm/crypto.hash': 1000.2.0 + '@pnpm/types': 1000.7.0 + semver: 7.7.2 + + '@pnpm/graceful-fs@1000.0.0': + dependencies: + graceful-fs: 4.2.11 + '@pnpm/network.ca-file@1.0.2': dependencies: graceful-fs: 4.2.10 @@ -13561,6 +14491,8 @@ snapshots: '@pnpm/network.ca-file': 1.0.2 config-chain: 1.1.13 + '@pnpm/types@1000.7.0': {} + '@protobufjs/aspromise@1.1.2': {} '@protobufjs/base64@1.1.2': {} @@ -13597,51 +14529,51 @@ snapshots: - bare-buffer - supports-color - '@rolldown/binding-android-arm64@1.0.0-beta.29': + '@rolldown/binding-android-arm64@1.0.0-beta.31': optional: true - '@rolldown/binding-darwin-arm64@1.0.0-beta.29': + '@rolldown/binding-darwin-arm64@1.0.0-beta.31': optional: true - '@rolldown/binding-darwin-x64@1.0.0-beta.29': + '@rolldown/binding-darwin-x64@1.0.0-beta.31': optional: true - '@rolldown/binding-freebsd-x64@1.0.0-beta.29': + '@rolldown/binding-freebsd-x64@1.0.0-beta.31': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.29': + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.31': optional: true - '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.29': + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.31': optional: true - '@rolldown/binding-linux-arm64-musl@1.0.0-beta.29': + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.31': optional: true - '@rolldown/binding-linux-arm64-ohos@1.0.0-beta.29': + '@rolldown/binding-linux-arm64-ohos@1.0.0-beta.31': optional: true - '@rolldown/binding-linux-x64-gnu@1.0.0-beta.29': + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.31': optional: true - '@rolldown/binding-linux-x64-musl@1.0.0-beta.29': + '@rolldown/binding-linux-x64-musl@1.0.0-beta.31': optional: true - '@rolldown/binding-wasm32-wasi@1.0.0-beta.29': + '@rolldown/binding-wasm32-wasi@1.0.0-beta.31': dependencies: '@napi-rs/wasm-runtime': 1.0.1 optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.29': + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.31': optional: true - '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.29': + '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.31': optional: true - '@rolldown/binding-win32-x64-msvc@1.0.0-beta.29': + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.31': optional: true - '@rolldown/pluginutils@1.0.0-beta.29': {} + '@rolldown/pluginutils@1.0.0-beta.31': {} '@rollup/plugin-babel@6.0.4(@babel/core@7.28.0)(@types/babel__core@7.20.5)(rollup@4.46.2)': dependencies: @@ -13785,10 +14717,10 @@ snapshots: transitivePeerDependencies: - '@types/node' - '@schematics/angular@20.2.0-next.2(chokidar@4.0.3)': + '@schematics/angular@20.2.0-next.3(chokidar@4.0.3)': dependencies: - '@angular-devkit/core': 20.2.0-next.2(chokidar@4.0.3) - '@angular-devkit/schematics': 20.2.0-next.2(chokidar@4.0.3) + '@angular-devkit/core': 20.2.0-next.3(chokidar@4.0.3) + '@angular-devkit/schematics': 20.2.0-next.3(chokidar@4.0.3) jsonc-parser: 3.3.1 transitivePeerDependencies: - chokidar @@ -13937,17 +14869,17 @@ snapshots: '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 24.1.0 + '@types/node': 18.19.121 '@types/bonjour@3.5.13': dependencies: - '@types/node': 24.1.0 + '@types/node': 18.19.121 '@types/cacheable-request@6.0.3': dependencies: '@types/http-cache-semantics': 4.0.4 '@types/keyv': 3.1.4 - '@types/node': 24.1.0 + '@types/node': 18.19.121 '@types/responselike': 1.0.3 '@types/caseless@0.12.5': {} @@ -13959,14 +14891,22 @@ snapshots: '@types/cldrjs@0.4.28': {} + '@types/cli-progress@3.11.6': + dependencies: + '@types/node': 18.19.121 + '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 4.19.6 - '@types/node': 24.1.0 + '@types/node': 18.19.121 '@types/connect@3.4.38': dependencies: - '@types/node': 24.1.0 + '@types/node': 18.19.121 + + '@types/conventional-commits-parser@5.0.1': + dependencies: + '@types/node': 18.19.121 '@types/convert-source-map@2.0.3': {} @@ -14097,6 +15037,8 @@ snapshots: dependencies: '@types/node': 18.19.121 + '@types/ejs@3.1.5': {} + '@types/eslint-scope@3.7.7': dependencies: '@types/eslint': 9.6.1 @@ -14111,9 +15053,11 @@ snapshots: '@types/estree@1.0.8': {} + '@types/events@3.0.3': {} + '@types/express-serve-static-core@4.19.6': dependencies: - '@types/node': 24.1.0 + '@types/node': 18.19.121 '@types/qs': 6.14.0 '@types/range-parser': 1.2.7 '@types/send': 0.17.5 @@ -14133,8 +15077,14 @@ snapshots: '@types/firefox-webext-browser@120.0.4': {} + '@types/folder-hash@4.0.4': {} + '@types/geojson@7946.0.16': {} + '@types/git-raw-commits@2.0.0': + dependencies: + '@types/node': 18.19.121 + '@types/hammerjs@2.0.46': {} '@types/har-format@1.2.16': {} @@ -14149,7 +15099,7 @@ snapshots: '@types/http-proxy@1.17.16': dependencies: - '@types/node': 24.1.0 + '@types/node': 18.19.121 '@types/jasmine@5.1.8': {} @@ -14167,7 +15117,7 @@ snapshots: '@types/keyv@3.1.4': dependencies: - '@types/node': 24.1.0 + '@types/node': 18.19.121 '@types/live-server@1.2.3': {} @@ -14179,9 +15129,13 @@ snapshots: '@types/mime@1.3.5': {} + '@types/minimatch@6.0.0': + dependencies: + minimatch: 10.0.3 + '@types/node-forge@1.3.13': dependencies: - '@types/node': 24.1.0 + '@types/node': 18.19.121 '@types/node@11.15.54': {} @@ -14197,6 +15151,10 @@ snapshots: dependencies: undici-types: 7.8.0 + '@types/node@24.2.0': + dependencies: + undici-types: 7.10.0 + '@types/normalize-package-data@2.4.4': {} '@types/pumpify@1.4.4': @@ -14204,9 +15162,9 @@ snapshots: '@types/duplexify': 3.6.4 '@types/node': 18.19.121 - '@types/puppeteer-core@5.4.0(typescript@5.9.2)': + '@types/puppeteer-core@5.4.0(bufferutil@4.0.9)(typescript@5.9.2)': dependencies: - '@types/puppeteer': 7.0.4(typescript@5.9.2) + '@types/puppeteer': 7.0.4(bufferutil@4.0.9)(typescript@5.9.2) transitivePeerDependencies: - bare-buffer - bufferutil @@ -14214,9 +15172,9 @@ snapshots: - typescript - utf-8-validate - '@types/puppeteer@7.0.4(typescript@5.9.2)': + '@types/puppeteer@7.0.4(bufferutil@4.0.9)(typescript@5.9.2)': dependencies: - puppeteer: 24.15.0(typescript@5.9.2) + puppeteer: 24.15.0(bufferutil@4.0.9)(typescript@5.9.2) transitivePeerDependencies: - bare-buffer - bufferutil @@ -14245,7 +15203,7 @@ snapshots: '@types/responselike@1.0.3': dependencies: - '@types/node': 24.1.0 + '@types/node': 18.19.121 '@types/retry@0.12.2': {} @@ -14261,7 +15219,7 @@ snapshots: '@types/send@0.17.5': dependencies: '@types/mime': 1.3.5 - '@types/node': 24.1.0 + '@types/node': 18.19.121 '@types/serve-index@1.9.4': dependencies: @@ -14270,7 +15228,7 @@ snapshots: '@types/serve-static@1.15.8': dependencies: '@types/http-errors': 2.0.5 - '@types/node': 24.1.0 + '@types/node': 18.19.121 '@types/send': 0.17.5 '@types/shelljs@0.8.17': @@ -14284,13 +15242,13 @@ snapshots: '@types/sockjs@0.3.36': dependencies: - '@types/node': 24.1.0 + '@types/node': 18.19.121 '@types/stack-trace@0.0.33': {} '@types/supports-color@10.0.0': dependencies: - supports-color: 10.0.0 + supports-color: 10.1.0 '@types/systemjs@6.15.3': {} @@ -14307,6 +15265,8 @@ snapshots: '@types/which@1.3.2': {} + '@types/which@3.0.4': {} + '@types/ws@8.18.1': dependencies: '@types/node': 18.19.121 @@ -14317,6 +15277,8 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 + '@types/yarnpkg__lockfile@1.1.9': {} + '@types/yauzl@2.10.3': dependencies: '@types/node': 18.19.121 @@ -14331,13 +15293,17 @@ snapshots: '@ungap/structured-clone@1.3.0': {} - '@vitejs/plugin-basic-ssl@2.1.0(vite@7.0.6(@types/node@18.19.121)(jiti@1.21.7)(less@4.4.0)(sass@1.89.2)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@vitejs/plugin-basic-ssl@2.1.0(vite@7.1.0(@types/node@18.19.121)(jiti@1.21.7)(less@4.4.0)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.1))': dependencies: - vite: 7.0.6(@types/node@18.19.121)(jiti@1.21.7)(less@4.4.0)(sass@1.89.2)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.1.0(@types/node@18.19.121)(jiti@1.21.7)(less@4.4.0)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.1) - '@vitejs/plugin-basic-ssl@2.1.0(vite@7.0.6(@types/node@24.1.0)(jiti@1.21.7)(less@4.4.0)(sass@1.89.2)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0))': + '@vitejs/plugin-basic-ssl@2.1.0(vite@7.1.0(@types/node@24.1.0)(jiti@1.21.7)(less@4.4.0)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.1))': dependencies: - vite: 7.0.6(@types/node@24.1.0)(jiti@1.21.7)(less@4.4.0)(sass@1.89.2)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0) + vite: 7.1.0(@types/node@24.1.0)(jiti@1.21.7)(less@4.4.0)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.1) + + '@vitejs/plugin-basic-ssl@2.1.0(vite@7.1.0(@types/node@24.2.0)(jiti@1.21.7)(less@4.4.0)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.1))': + dependencies: + vite: 7.1.0(@types/node@24.2.0)(jiti@1.21.7)(less@4.4.0)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.1) '@wdio/config@6.12.1': dependencies: @@ -14454,6 +15420,11 @@ snapshots: '@yarnpkg/lockfile@1.1.0': {} + JSONStream@1.3.5: + dependencies: + jsonparse: 1.3.1 + through: 2.3.8 + abbrev@3.0.1: {} abort-controller@3.0.0: @@ -14497,9 +15468,9 @@ snapshots: transitivePeerDependencies: - supports-color - agent-base@6.0.2(supports-color@10.0.0): + agent-base@6.0.2(supports-color@10.1.0): dependencies: - debug: 4.4.1(supports-color@10.0.0) + debug: 4.4.1(supports-color@10.1.0) transitivePeerDependencies: - supports-color @@ -14555,22 +15526,6 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - algoliasearch@5.34.1: - dependencies: - '@algolia/client-abtesting': 5.34.1 - '@algolia/client-analytics': 5.34.1 - '@algolia/client-common': 5.34.1 - '@algolia/client-insights': 5.34.1 - '@algolia/client-personalization': 5.34.1 - '@algolia/client-query-suggestions': 5.34.1 - '@algolia/client-search': 5.34.1 - '@algolia/ingestion': 1.34.1 - '@algolia/monitoring': 1.34.1 - '@algolia/recommend': 5.34.1 - '@algolia/requester-browser-xhr': 5.34.1 - '@algolia/requester-fetch': 5.34.1 - '@algolia/requester-node-http': 5.34.1 - algoliasearch@5.35.0: dependencies: '@algolia/abtesting': 1.1.0 @@ -14750,6 +15705,8 @@ snapshots: call-bound: 1.0.4 is-array-buffer: 3.0.5 + array-differ@4.0.0: {} + array-each@1.0.1: {} array-flatten@1.1.1: {} @@ -14762,6 +15719,8 @@ snapshots: dependencies: array-uniq: 1.0.3 + array-union@3.0.1: {} + array-uniq@1.0.3: {} array-unique@0.3.2: {} @@ -14844,11 +15803,11 @@ snapshots: b4a@1.6.7: {} - babel-loader@10.0.0(@babel/core@7.28.0)(webpack@5.100.2(esbuild@0.25.8)): + babel-loader@10.0.0(@babel/core@7.28.0)(webpack@5.101.0(esbuild@0.25.8)): dependencies: '@babel/core': 7.28.0 find-up: 5.0.0 - webpack: 5.100.2(esbuild@0.25.8) + webpack: 5.101.0(esbuild@0.25.8) babel-plugin-polyfill-corejs2@0.4.14(@babel/core@7.28.0): dependencies: @@ -15113,6 +16072,10 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 + bufferutil@4.0.9: + dependencies: + node-gyp-build: 4.8.4 + builtin-modules@1.1.1: {} builtin-modules@3.3.0: {} @@ -15233,6 +16196,8 @@ snapshots: chalk@5.4.1: {} + chalk@5.5.0: {} + change-case@4.1.2: dependencies: camel-case: 4.1.2 @@ -15400,6 +16365,10 @@ snapshots: parse5-htmlparser2-tree-adapter: 6.0.1 yargs: 16.2.0 + cli-progress@3.12.0: + dependencies: + string-width: 4.2.3 + cli-spinners@2.9.2: {} cli-table3@0.6.1: @@ -15707,6 +16676,13 @@ snapshots: conventional-commits-filter@5.0.0: {} + conventional-commits-parser@5.0.0: + dependencies: + JSONStream: 1.3.5 + is-text-path: 2.0.0 + meow: 12.1.1 + split2: 4.2.0 + conventional-commits-parser@6.2.0: dependencies: meow: 13.2.0 @@ -15734,14 +16710,14 @@ snapshots: each-props: 3.0.0 is-plain-object: 5.0.0 - copy-webpack-plugin@13.0.0(webpack@5.100.2(esbuild@0.25.8)): + copy-webpack-plugin@13.0.0(webpack@5.101.0(esbuild@0.25.8)): dependencies: glob-parent: 6.0.2 normalize-path: 3.0.0 schema-utils: 4.3.2 serialize-javascript: 6.0.2 tinyglobby: 0.2.14 - webpack: 5.100.2(esbuild@0.25.8) + webpack: 5.101.0(esbuild@0.25.8) core-js-compat@3.44.0: dependencies: @@ -15805,7 +16781,7 @@ snapshots: crypto-random-string@2.0.0: {} - css-loader@7.1.2(webpack@5.100.2(esbuild@0.25.8)): + css-loader@7.1.2(webpack@5.101.0(esbuild@0.25.8)): dependencies: icss-utils: 5.1.0(postcss@8.5.6) postcss: 8.5.6 @@ -15816,7 +16792,7 @@ snapshots: postcss-value-parser: 4.2.0 semver: 7.7.2 optionalDependencies: - webpack: 5.100.2(esbuild@0.25.8) + webpack: 5.101.0(esbuild@0.25.8) css-select@6.0.0: dependencies: @@ -16074,6 +17050,8 @@ snapshots: d3: 7.9.0 lodash-es: 4.17.21 + dargs@8.1.0: {} + dashdash@1.14.1: dependencies: assert-plus: 1.0.0 @@ -16127,11 +17105,17 @@ snapshots: dependencies: ms: 2.1.3 - debug@4.4.1(supports-color@10.0.0): + debug@4.4.0(supports-color@10.1.0): + dependencies: + ms: 2.1.3 + optionalDependencies: + supports-color: 10.1.0 + + debug@4.4.1(supports-color@10.1.0): dependencies: ms: 2.1.3 optionalDependencies: - supports-color: 10.0.0 + supports-color: 10.1.0 debug@4.4.1(supports-color@8.1.1): dependencies: @@ -16252,7 +17236,7 @@ snapshots: devtools-protocol@0.0.818844: {} - devtools@6.12.1(encoding@0.1.13): + devtools@6.12.1(bufferutil@4.0.9)(encoding@0.1.13): dependencies: '@wdio/config': 6.12.1 '@wdio/logger': 6.10.10 @@ -16260,7 +17244,7 @@ snapshots: '@wdio/utils': 6.11.0 chrome-launcher: 0.13.4 edge-paths: 2.2.1 - puppeteer-core: 5.5.0(encoding@0.1.13) + puppeteer-core: 5.5.0(bufferutil@4.0.9)(encoding@0.1.13) ua-parser-js: 0.7.40 uuid: 8.3.2 transitivePeerDependencies: @@ -16369,6 +17353,10 @@ snapshots: ee-first@1.1.1: {} + ejs@3.1.10: + dependencies: + jake: 10.9.4 + electron-to-chromium@1.5.193: {} emoji-regex@10.4.0: {} @@ -16392,7 +17380,6 @@ snapshots: encoding@0.1.13: dependencies: iconv-lite: 0.6.3 - optional: true end-of-stream@1.4.5: dependencies: @@ -16400,7 +17387,7 @@ snapshots: engine.io-parser@5.2.3: {} - engine.io@6.6.4: + engine.io@6.6.4(bufferutil@4.0.9)(utf-8-validate@6.0.5): dependencies: '@types/cors': 2.8.19 '@types/node': 18.19.121 @@ -16410,7 +17397,7 @@ snapshots: cors: 2.8.5 debug: 4.3.7 engine.io-parser: 5.2.3 - ws: 8.17.1 + ws: 8.17.1(bufferutil@4.0.9)(utf-8-validate@6.0.5) transitivePeerDependencies: - bufferutil - supports-color @@ -16905,6 +17892,10 @@ snapshots: file-uri-to-path@1.0.0: optional: true + filelist@1.0.4: + dependencies: + minimatch: 5.1.6 + filesize@6.4.0: {} fill-range@4.0.0: @@ -16986,7 +17977,7 @@ snapshots: object.pick: 1.3.0 parse-filepath: 1.0.2 - firebase-tools@14.11.2(@types/node@18.19.121)(encoding@0.1.13): + firebase-tools@14.11.2(@types/node@18.19.121)(bufferutil@4.0.9)(encoding@0.1.13): dependencies: '@electric-sql/pglite': 0.3.6 '@electric-sql/pglite-tools': 0.2.11(@electric-sql/pglite@0.3.6) @@ -17058,7 +18049,7 @@ snapshots: uuid: 8.3.2 winston: 3.17.0 winston-transport: 4.9.0 - ws: 7.5.10 + ws: 7.5.10(bufferutil@4.0.9) yaml: 2.8.0 zod: 3.25.76 zod-to-json-schema: 3.24.6(zod@3.25.76) @@ -17070,6 +18061,39 @@ snapshots: - supports-color - utf-8-validate + firebase@12.0.0: + dependencies: + '@firebase/ai': 2.0.0(@firebase/app-types@0.9.3)(@firebase/app@0.14.0) + '@firebase/analytics': 0.10.18(@firebase/app@0.14.0) + '@firebase/analytics-compat': 0.2.24(@firebase/app-compat@0.5.0)(@firebase/app@0.14.0) + '@firebase/app': 0.14.0 + '@firebase/app-check': 0.11.0(@firebase/app@0.14.0) + '@firebase/app-check-compat': 0.4.0(@firebase/app-compat@0.5.0)(@firebase/app@0.14.0) + '@firebase/app-compat': 0.5.0 + '@firebase/app-types': 0.9.3 + '@firebase/auth': 1.11.0(@firebase/app@0.14.0) + '@firebase/auth-compat': 0.6.0(@firebase/app-compat@0.5.0)(@firebase/app-types@0.9.3)(@firebase/app@0.14.0) + '@firebase/data-connect': 0.3.11(@firebase/app@0.14.0) + '@firebase/database': 1.1.0 + '@firebase/database-compat': 2.1.0 + '@firebase/firestore': 4.9.0(@firebase/app@0.14.0) + '@firebase/firestore-compat': 0.4.0(@firebase/app-compat@0.5.0)(@firebase/app-types@0.9.3)(@firebase/app@0.14.0) + '@firebase/functions': 0.13.0(@firebase/app@0.14.0) + '@firebase/functions-compat': 0.4.0(@firebase/app-compat@0.5.0)(@firebase/app@0.14.0) + '@firebase/installations': 0.6.19(@firebase/app@0.14.0) + '@firebase/installations-compat': 0.2.19(@firebase/app-compat@0.5.0)(@firebase/app-types@0.9.3)(@firebase/app@0.14.0) + '@firebase/messaging': 0.12.23(@firebase/app@0.14.0) + '@firebase/messaging-compat': 0.2.23(@firebase/app-compat@0.5.0)(@firebase/app@0.14.0) + '@firebase/performance': 0.7.8(@firebase/app@0.14.0) + '@firebase/performance-compat': 0.2.21(@firebase/app-compat@0.5.0)(@firebase/app@0.14.0) + '@firebase/remote-config': 0.6.6(@firebase/app@0.14.0) + '@firebase/remote-config-compat': 0.2.19(@firebase/app-compat@0.5.0)(@firebase/app@0.14.0) + '@firebase/storage': 0.14.0(@firebase/app@0.14.0) + '@firebase/storage-compat': 0.4.0(@firebase/app-compat@0.5.0)(@firebase/app-types@0.9.3)(@firebase/app@0.14.0) + '@firebase/util': 1.13.0 + transitivePeerDependencies: + - '@react-native-async-storage/async-storage' + flagged-respawn@2.0.0: {} flat@5.0.2: {} @@ -17080,6 +18104,13 @@ snapshots: fn.name@1.1.0: {} + folder-hash@4.1.1(supports-color@10.1.0): + dependencies: + debug: 4.4.0(supports-color@10.1.0) + minimatch: 7.4.6 + transitivePeerDependencies: + - supports-color + follow-redirects@1.15.11(debug@4.4.1): optionalDependencies: debug: 4.4.1(supports-color@8.1.1) @@ -17221,10 +18252,10 @@ snapshots: - encoding - supports-color - gaxios@6.7.1(encoding@0.1.13)(supports-color@10.0.0): + gaxios@6.7.1(encoding@0.1.13)(supports-color@10.1.0): dependencies: extend: 3.0.2 - https-proxy-agent: 7.0.6(supports-color@10.0.0) + https-proxy-agent: 7.0.6(supports-color@10.1.0) is-stream: 2.0.1 node-fetch: 2.7.0(encoding@0.1.13) uuid: 9.0.1 @@ -17240,10 +18271,10 @@ snapshots: transitivePeerDependencies: - supports-color - gaxios@7.1.1(supports-color@10.0.0): + gaxios@7.1.1(supports-color@10.1.0): dependencies: extend: 3.0.2 - https-proxy-agent: 7.0.6(supports-color@10.0.0) + https-proxy-agent: 7.0.6(supports-color@10.1.0) node-fetch: 3.3.2 transitivePeerDependencies: - supports-color @@ -17257,9 +18288,9 @@ snapshots: - encoding - supports-color - gcp-metadata@6.1.1(encoding@0.1.13)(supports-color@10.0.0): + gcp-metadata@6.1.1(encoding@0.1.13)(supports-color@10.1.0): dependencies: - gaxios: 6.7.1(encoding@0.1.13)(supports-color@10.0.0) + gaxios: 6.7.1(encoding@0.1.13)(supports-color@10.1.0) google-logging-utils: 0.0.2 json-bigint: 1.0.0 transitivePeerDependencies: @@ -17274,9 +18305,9 @@ snapshots: transitivePeerDependencies: - supports-color - gcp-metadata@7.0.1(supports-color@10.0.0): + gcp-metadata@7.0.1(supports-color@10.1.0): dependencies: - gaxios: 7.1.1(supports-color@10.0.0) + gaxios: 7.1.1(supports-color@10.1.0) google-logging-utils: 1.1.1 json-bigint: 1.0.0 transitivePeerDependencies: @@ -17344,6 +18375,12 @@ snapshots: dependencies: assert-plus: 1.0.0 + git-raw-commits@4.0.0: + dependencies: + dargs: 8.1.0 + meow: 12.1.1 + split2: 4.2.0 + git-raw-commits@5.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.2.0): dependencies: '@conventional-changelog/git-client': 1.0.1(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.2.0) @@ -17486,14 +18523,14 @@ snapshots: transitivePeerDependencies: - supports-color - google-auth-library@10.2.0(supports-color@10.0.0): + google-auth-library@10.2.0(supports-color@10.1.0): dependencies: base64-js: 1.5.1 ecdsa-sig-formatter: 1.0.11 - gaxios: 7.1.1(supports-color@10.0.0) - gcp-metadata: 7.0.1(supports-color@10.0.0) + gaxios: 7.1.1(supports-color@10.1.0) + gcp-metadata: 7.0.1(supports-color@10.1.0) google-logging-utils: 1.1.1 - gtoken: 8.0.0(supports-color@10.0.0) + gtoken: 8.0.0(supports-color@10.1.0) jws: 4.0.0 transitivePeerDependencies: - supports-color @@ -17510,13 +18547,13 @@ snapshots: - encoding - supports-color - google-auth-library@9.15.1(encoding@0.1.13)(supports-color@10.0.0): + google-auth-library@9.15.1(encoding@0.1.13)(supports-color@10.1.0): dependencies: base64-js: 1.5.1 ecdsa-sig-formatter: 1.0.11 - gaxios: 6.7.1(encoding@0.1.13)(supports-color@10.0.0) - gcp-metadata: 6.1.1(encoding@0.1.13)(supports-color@10.0.0) - gtoken: 7.1.0(encoding@0.1.13)(supports-color@10.0.0) + gaxios: 6.7.1(encoding@0.1.13)(supports-color@10.1.0) + gcp-metadata: 6.1.1(encoding@0.1.13)(supports-color@10.1.0) + gtoken: 7.1.0(encoding@0.1.13)(supports-color@10.1.0) jws: 4.0.0 transitivePeerDependencies: - encoding @@ -17540,19 +18577,19 @@ snapshots: - encoding - supports-color - google-gax@5.0.1(supports-color@10.0.0): + google-gax@5.0.1(supports-color@10.1.0): dependencies: '@grpc/grpc-js': 1.13.4 '@grpc/proto-loader': 0.7.15 abort-controller: 3.0.0 duplexify: 4.1.3 - google-auth-library: 10.2.0(supports-color@10.0.0) + google-auth-library: 10.2.0(supports-color@10.1.0) google-logging-utils: 1.1.1 node-fetch: 3.3.2 object-hash: 3.0.0 proto3-json-serializer: 3.0.1 protobufjs: 7.5.3 - retry-request: 8.0.0(supports-color@10.0.0) + retry-request: 8.0.0(supports-color@10.1.0) transitivePeerDependencies: - supports-color @@ -17592,6 +18629,13 @@ snapshots: grapheme-splitter@1.0.4: {} + graphql-tag@2.12.6(graphql@16.11.0): + dependencies: + graphql: 16.11.0 + tslib: 2.8.1 + + graphql@16.11.0: {} + grpc-gcp@1.0.1(protobufjs@7.5.3): dependencies: '@grpc/grpc-js': 1.13.4 @@ -17605,9 +18649,9 @@ snapshots: - encoding - supports-color - gtoken@7.1.0(encoding@0.1.13)(supports-color@10.0.0): + gtoken@7.1.0(encoding@0.1.13)(supports-color@10.1.0): dependencies: - gaxios: 6.7.1(encoding@0.1.13)(supports-color@10.0.0) + gaxios: 6.7.1(encoding@0.1.13)(supports-color@10.1.0) jws: 4.0.0 transitivePeerDependencies: - encoding @@ -17620,9 +18664,9 @@ snapshots: transitivePeerDependencies: - supports-color - gtoken@8.0.0(supports-color@10.0.0): + gtoken@8.0.0(supports-color@10.1.0): dependencies: - gaxios: 7.1.1(supports-color@10.0.0) + gaxios: 7.1.1(supports-color@10.1.0) jws: 4.0.0 transitivePeerDependencies: - supports-color @@ -17857,11 +18901,11 @@ snapshots: transitivePeerDependencies: - supports-color - http-proxy-agent@5.0.0(supports-color@10.0.0): + http-proxy-agent@5.0.0(supports-color@10.1.0): dependencies: '@tootallnate/once': 2.0.0 - agent-base: 6.0.2(supports-color@10.0.0) - debug: 4.4.1(supports-color@10.0.0) + agent-base: 6.0.2(supports-color@10.1.0) + debug: 4.4.1(supports-color@10.1.0) transitivePeerDependencies: - supports-color @@ -17946,10 +18990,10 @@ snapshots: transitivePeerDependencies: - supports-color - https-proxy-agent@7.0.6(supports-color@10.0.0): + https-proxy-agent@7.0.6(supports-color@10.1.0): dependencies: agent-base: 7.1.4 - debug: 4.4.1(supports-color@10.0.0) + debug: 4.4.1(supports-color@10.1.0) transitivePeerDependencies: - supports-color @@ -17977,6 +19021,8 @@ snapshots: dependencies: postcss: 8.5.6 + idb@7.1.1: {} + ieee754@1.2.1: {} ignore-walk@8.0.0: @@ -18191,6 +19237,8 @@ snapshots: is-network-error@1.1.0: {} + is-node-process@1.2.0: {} + is-npm@5.0.0: {} is-number-object@1.1.1: @@ -18270,6 +19318,10 @@ snapshots: has-symbols: 1.1.0 safe-regex-test: 1.1.0 + is-text-path@2.0.0: + dependencies: + text-extensions: 2.4.0 + is-typed-array@1.1.15: dependencies: which-typed-array: 1.1.19 @@ -18403,6 +19455,12 @@ snapshots: dependencies: '@isaacs/cliui': 8.0.2 + jake@10.9.4: + dependencies: + async: 3.2.6 + filelist: 1.0.4 + picocolors: 1.1.1 + jasmine-core@2.8.0: {} jasmine-core@4.6.1: {} @@ -18435,7 +19493,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 24.1.0 + '@types/node': 18.19.121 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -18464,7 +19522,7 @@ snapshots: jsbn@1.1.0: {} - jsdom@26.1.0: + jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5): dependencies: cssstyle: 4.6.0 data-urls: 5.0.0 @@ -18484,7 +19542,7 @@ snapshots: whatwg-encoding: 3.1.1 whatwg-mimetype: 4.0.0 whatwg-url: 14.2.0 - ws: 8.18.3 + ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) xml-name-validator: 5.0.0 transitivePeerDependencies: - bufferutil @@ -18615,27 +19673,27 @@ snapshots: is-wsl: 2.2.0 which: 3.0.1 - karma-jasmine-html-reporter@2.1.0(jasmine-core@5.9.0)(karma-jasmine@5.1.0(karma@6.4.4))(karma@6.4.4): + karma-jasmine-html-reporter@2.1.0(jasmine-core@5.9.0)(karma-jasmine@5.1.0(karma@6.4.4(bufferutil@4.0.9)))(karma@6.4.4(bufferutil@4.0.9)): dependencies: jasmine-core: 5.9.0 - karma: 6.4.4 - karma-jasmine: 5.1.0(karma@6.4.4) + karma: 6.4.4(bufferutil@4.0.9)(utf-8-validate@6.0.5) + karma-jasmine: 5.1.0(karma@6.4.4(bufferutil@4.0.9)) - karma-jasmine@5.1.0(karma@6.4.4): + karma-jasmine@5.1.0(karma@6.4.4(bufferutil@4.0.9)): dependencies: jasmine-core: 4.6.1 - karma: 6.4.4 + karma: 6.4.4(bufferutil@4.0.9)(utf-8-validate@6.0.5) - karma-requirejs@1.1.0(karma@6.4.4)(requirejs@2.3.7): + karma-requirejs@1.1.0(karma@6.4.4(bufferutil@4.0.9))(requirejs@2.3.7): dependencies: - karma: 6.4.4 + karma: 6.4.4(bufferutil@4.0.9)(utf-8-validate@6.0.5) requirejs: 2.3.7 - karma-sauce-launcher@4.3.6(encoding@0.1.13)(typescript@5.9.2): + karma-sauce-launcher@4.3.6(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.9.2): dependencies: global-agent: 2.2.0 saucelabs: 9.0.2 - webdriverio: 6.12.1(encoding@0.1.13)(typescript@5.9.2) + webdriverio: 6.12.1(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.9.2) transitivePeerDependencies: - bare-buffer - bufferutil @@ -18652,7 +19710,7 @@ snapshots: dependencies: graceful-fs: 4.2.11 - karma@6.4.4: + karma@6.4.4(bufferutil@4.0.9)(utf-8-validate@6.0.5): dependencies: '@colors/colors': 1.5.0 body-parser: 1.20.3 @@ -18673,7 +19731,7 @@ snapshots: qjobs: 1.2.0 range-parser: 1.2.1 rimraf: 3.0.2 - socket.io: 4.8.1 + socket.io: 4.8.1(bufferutil@4.0.9)(utf-8-validate@6.0.5) source-map: 0.6.1 tmp: 0.2.3 ua-parser-js: 0.7.40 @@ -18739,11 +19797,11 @@ snapshots: lead@4.0.0: {} - less-loader@12.3.0(less@4.4.0)(webpack@5.100.2(esbuild@0.25.8)): + less-loader@12.3.0(less@4.4.0)(webpack@5.101.0(esbuild@0.25.8)): dependencies: less: 4.4.0 optionalDependencies: - webpack: 5.100.2(esbuild@0.25.8) + webpack: 5.101.0(esbuild@0.25.8) less@4.4.0: dependencies: @@ -18767,11 +19825,11 @@ snapshots: libsodium@0.7.15: {} - license-webpack-plugin@4.0.2(webpack@5.100.2(esbuild@0.25.8)): + license-webpack-plugin@4.0.2(webpack@5.101.0(esbuild@0.25.8)): dependencies: webpack-sources: 3.3.3 optionalDependencies: - webpack: 5.100.2(esbuild@0.25.8) + webpack: 5.101.0(esbuild@0.25.8) lie@3.3.0: dependencies: @@ -18836,7 +19894,7 @@ snapshots: transitivePeerDependencies: - supports-color - lmdb@3.4.1: + lmdb@3.4.2: dependencies: msgpackr: 1.11.5 node-addon-api: 6.1.0 @@ -18844,13 +19902,13 @@ snapshots: ordered-binary: 1.6.0 weak-lru-cache: 1.2.2 optionalDependencies: - '@lmdb/lmdb-darwin-arm64': 3.4.1 - '@lmdb/lmdb-darwin-x64': 3.4.1 - '@lmdb/lmdb-linux-arm': 3.4.1 - '@lmdb/lmdb-linux-arm64': 3.4.1 - '@lmdb/lmdb-linux-x64': 3.4.1 - '@lmdb/lmdb-win32-arm64': 3.4.1 - '@lmdb/lmdb-win32-x64': 3.4.1 + '@lmdb/lmdb-darwin-arm64': 3.4.2 + '@lmdb/lmdb-darwin-x64': 3.4.2 + '@lmdb/lmdb-linux-arm': 3.4.2 + '@lmdb/lmdb-linux-arm64': 3.4.2 + '@lmdb/lmdb-linux-x64': 3.4.2 + '@lmdb/lmdb-win32-arm64': 3.4.2 + '@lmdb/lmdb-win32-x64': 3.4.2 optional: true loader-runner@4.3.0: {} @@ -19106,6 +20164,8 @@ snapshots: lru-cache: 2.5.0 passerror: 1.1.1 + meow@12.1.1: {} + meow@13.2.0: {} merge-descriptors@1.0.3: {} @@ -19207,11 +20267,11 @@ snapshots: mimic-response@3.1.0: {} - mini-css-extract-plugin@2.9.2(webpack@5.100.2(esbuild@0.25.8)): + mini-css-extract-plugin@2.9.3(webpack@5.101.0(esbuild@0.25.8)): dependencies: schema-utils: 4.3.2 tapable: 2.2.2 - webpack: 5.100.2(esbuild@0.25.8) + webpack: 5.101.0(esbuild@0.25.8) minimalistic-assert@1.0.1: {} @@ -19235,6 +20295,10 @@ snapshots: dependencies: brace-expansion: 2.0.2 + minimatch@7.4.6: + dependencies: + brace-expansion: 2.0.2 + minimatch@9.0.5: dependencies: brace-expansion: 2.0.2 @@ -19348,6 +20412,12 @@ snapshots: dns-packet: 5.6.1 thunky: 1.1.0 + multimatch@7.0.0: + dependencies: + array-differ: 4.0.0 + array-union: 3.0.1 + minimatch: 9.0.5 + mute-stdout@2.0.0: {} mute-stream@2.0.0: {} @@ -19408,9 +20478,9 @@ snapshots: '@angular/core': link:packages/core tslib: 2.8.1 - ngx-progressbar@14.0.0(@angular/cdk@20.2.0-next.2(rxjs@7.8.2))(rxjs@7.8.2): + ngx-progressbar@14.0.0(@angular/cdk@20.2.0-next.3(rxjs@7.8.2))(rxjs@7.8.2): dependencies: - '@angular/cdk': 20.2.0-next.2(rxjs@7.8.2) + '@angular/cdk': 20.2.0-next.3(rxjs@7.8.2) '@angular/common': link:packages/common '@angular/core': link:packages/core rxjs: 7.8.2 @@ -19421,6 +20491,12 @@ snapshots: lower-case: 2.0.2 tslib: 2.8.1 + nock@14.0.8: + dependencies: + '@mswjs/interceptors': 0.39.5 + json-stringify-safe: 5.0.1 + propagate: 2.0.1 + node-addon-api@6.1.0: optional: true @@ -19455,6 +20531,8 @@ snapshots: detect-libc: 2.0.4 optional: true + node-gyp-build@4.8.4: {} + node-gyp@11.3.0: dependencies: env-paths: 2.2.1 @@ -19695,6 +20773,8 @@ snapshots: ospath@1.2.2: {} + outvariant@1.4.3: {} + own-keys@1.0.1: dependencies: get-intrinsic: 1.3.0 @@ -20034,14 +21114,14 @@ snapshots: possible-typed-array-names@1.1.0: {} - postcss-loader@8.1.1(postcss@8.5.6)(typescript@5.9.2)(webpack@5.100.2(esbuild@0.25.8)): + postcss-loader@8.1.1(postcss@8.5.6)(typescript@5.9.2)(webpack@5.101.0(esbuild@0.25.8)): dependencies: cosmiconfig: 9.0.0(typescript@5.9.2) jiti: 1.21.7 postcss: 8.5.6 semver: 7.7.2 optionalDependencies: - webpack: 5.100.2(esbuild@0.25.8) + webpack: 5.101.0(esbuild@0.25.8) transitivePeerDependencies: - typescript @@ -20116,6 +21196,8 @@ snapshots: err-code: 2.0.3 retry: 0.12.0 + propagate@2.0.1: {} + property-information@7.1.0: {} proto-list@1.2.4: {} @@ -20218,21 +21300,21 @@ snapshots: dependencies: escape-goat: 2.1.1 - puppeteer-core@24.15.0: + puppeteer-core@24.15.0(bufferutil@4.0.9): dependencies: '@puppeteer/browsers': 2.10.6 chromium-bidi: 7.2.0(devtools-protocol@0.0.1464554) debug: 4.4.1(supports-color@8.1.1) devtools-protocol: 0.0.1464554 typed-query-selector: 2.12.0 - ws: 8.18.3 + ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) transitivePeerDependencies: - bare-buffer - bufferutil - supports-color - utf-8-validate - puppeteer-core@5.5.0(encoding@0.1.13): + puppeteer-core@5.5.0(bufferutil@4.0.9)(encoding@0.1.13): dependencies: debug: 4.4.1(supports-color@8.1.1) devtools-protocol: 0.0.818844 @@ -20245,20 +21327,20 @@ snapshots: rimraf: 3.0.2 tar-fs: 2.1.3 unbzip2-stream: 1.4.3 - ws: 7.5.10 + ws: 7.5.10(bufferutil@4.0.9) transitivePeerDependencies: - bufferutil - encoding - supports-color - utf-8-validate - puppeteer@24.15.0(typescript@5.9.2): + puppeteer@24.15.0(bufferutil@4.0.9)(typescript@5.9.2): dependencies: '@puppeteer/browsers': 2.10.6 chromium-bidi: 7.2.0(devtools-protocol@0.0.1464554) cosmiconfig: 9.0.0(typescript@5.9.2) devtools-protocol: 0.0.1464554 - puppeteer-core: 24.15.0 + puppeteer-core: 24.15.0(bufferutil@4.0.9) typed-query-selector: 2.12.0 transitivePeerDependencies: - bare-buffer @@ -20572,11 +21654,11 @@ snapshots: - encoding - supports-color - retry-request@8.0.0(supports-color@10.0.0): + retry-request@8.0.0(supports-color@10.1.0): dependencies: '@types/request': 2.48.13 extend: 3.0.2 - teeny-request: 10.1.0(supports-color@10.0.0) + teeny-request: 10.1.0(supports-color@10.1.0) transitivePeerDependencies: - supports-color @@ -20609,27 +21691,27 @@ snapshots: robust-predicates@3.0.2: {} - rolldown@1.0.0-beta.29: + rolldown@1.0.0-beta.31: dependencies: - '@oxc-project/runtime': 0.77.3 - '@oxc-project/types': 0.77.3 - '@rolldown/pluginutils': 1.0.0-beta.29 + '@oxc-project/runtime': 0.80.0 + '@oxc-project/types': 0.80.0 + '@rolldown/pluginutils': 1.0.0-beta.31 ansis: 4.1.0 optionalDependencies: - '@rolldown/binding-android-arm64': 1.0.0-beta.29 - '@rolldown/binding-darwin-arm64': 1.0.0-beta.29 - '@rolldown/binding-darwin-x64': 1.0.0-beta.29 - '@rolldown/binding-freebsd-x64': 1.0.0-beta.29 - '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.29 - '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.29 - '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.29 - '@rolldown/binding-linux-arm64-ohos': 1.0.0-beta.29 - '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.29 - '@rolldown/binding-linux-x64-musl': 1.0.0-beta.29 - '@rolldown/binding-wasm32-wasi': 1.0.0-beta.29 - '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.29 - '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.29 - '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.29 + '@rolldown/binding-android-arm64': 1.0.0-beta.31 + '@rolldown/binding-darwin-arm64': 1.0.0-beta.31 + '@rolldown/binding-darwin-x64': 1.0.0-beta.31 + '@rolldown/binding-freebsd-x64': 1.0.0-beta.31 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.31 + '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.31 + '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.31 + '@rolldown/binding-linux-arm64-ohos': 1.0.0-beta.31 + '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.31 + '@rolldown/binding-linux-x64-musl': 1.0.0-beta.31 + '@rolldown/binding-wasm32-wasi': 1.0.0-beta.31 + '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.31 + '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.31 + '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.31 rollup-plugin-dts@6.2.1(rollup@4.46.2)(typescript@5.9.2): dependencies: @@ -20767,14 +21849,14 @@ snapshots: safer-buffer@2.1.2: {} - sass-loader@16.0.5(sass@1.89.2)(webpack@5.100.2(esbuild@0.25.8)): + sass-loader@16.0.5(sass@1.90.0)(webpack@5.101.0(esbuild@0.25.8)): dependencies: neo-async: 2.6.2 optionalDependencies: - sass: 1.89.2 - webpack: 5.100.2(esbuild@0.25.8) + sass: 1.90.0 + webpack: 5.101.0(esbuild@0.25.8) - sass@1.89.2: + sass@1.90.0: dependencies: chokidar: 4.0.3 immutable: 5.1.3 @@ -20824,12 +21906,12 @@ snapshots: tmp: 0.0.30 xml2js: 0.4.23 - selenium-webdriver@4.34.0: + selenium-webdriver@4.34.0(bufferutil@4.0.9): dependencies: '@bazel/runfiles': 6.3.1 jszip: 3.10.1 tmp: 0.2.3 - ws: 8.18.3 + ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) transitivePeerDependencies: - bufferutil - utf-8-validate @@ -21124,10 +22206,10 @@ snapshots: transitivePeerDependencies: - supports-color - socket.io-adapter@2.5.5: + socket.io-adapter@2.5.5(bufferutil@4.0.9)(utf-8-validate@6.0.5): dependencies: debug: 4.3.7 - ws: 8.17.1 + ws: 8.17.1(bufferutil@4.0.9)(utf-8-validate@6.0.5) transitivePeerDependencies: - bufferutil - supports-color @@ -21140,14 +22222,14 @@ snapshots: transitivePeerDependencies: - supports-color - socket.io@4.8.1: + socket.io@4.8.1(bufferutil@4.0.9)(utf-8-validate@6.0.5): dependencies: accepts: 1.3.8 base64id: 2.0.0 cors: 2.8.5 debug: 4.3.7 - engine.io: 6.6.4 - socket.io-adapter: 2.5.5 + engine.io: 6.6.4(bufferutil@4.0.9)(utf-8-validate@6.0.5) + socket.io-adapter: 2.5.5(bufferutil@4.0.9)(utf-8-validate@6.0.5) socket.io-parser: 4.2.4 transitivePeerDependencies: - bufferutil @@ -21181,11 +22263,11 @@ snapshots: source-map-js@1.2.1: {} - source-map-loader@5.0.0(webpack@5.100.2(esbuild@0.25.8)): + source-map-loader@5.0.0(webpack@5.101.0(esbuild@0.25.8)): dependencies: iconv-lite: 0.6.3 source-map-js: 1.2.1 - webpack: 5.100.2(esbuild@0.25.8) + webpack: 5.101.0(esbuild@0.25.8) source-map-resolve@0.5.3: dependencies: @@ -21302,6 +22384,10 @@ snapshots: safer-buffer: 2.1.2 tweetnacl: 0.14.5 + ssri@10.0.5: + dependencies: + minipass: 7.1.2 + ssri@12.0.0: dependencies: minipass: 7.1.2 @@ -21365,6 +22451,8 @@ snapshots: optionalDependencies: bare-events: 2.6.0 + strict-event-emitter@0.5.1: {} + strict-uri-encode@2.0.0: {} string-argv@0.3.2: {} @@ -21472,7 +22560,7 @@ snapshots: - encoding - supports-color - supports-color@10.0.0: {} + supports-color@10.1.0: {} supports-color@2.0.0: {} @@ -21574,10 +22662,10 @@ snapshots: transitivePeerDependencies: - supports-color - teeny-request@10.1.0(supports-color@10.0.0): + teeny-request@10.1.0(supports-color@10.1.0): dependencies: - http-proxy-agent: 5.0.0(supports-color@10.0.0) - https-proxy-agent: 7.0.6(supports-color@10.0.0) + http-proxy-agent: 5.0.0(supports-color@10.1.0) + https-proxy-agent: 7.0.6(supports-color@10.1.0) node-fetch: 3.3.2 stream-events: 1.0.5 transitivePeerDependencies: @@ -21598,14 +22686,14 @@ snapshots: dependencies: streamx: 2.22.1 - terser-webpack-plugin@5.3.14(esbuild@0.25.8)(webpack@5.100.2(esbuild@0.25.8)): + terser-webpack-plugin@5.3.14(esbuild@0.25.8)(webpack@5.101.0(esbuild@0.25.8)): dependencies: '@jridgewell/trace-mapping': 0.3.29 jest-worker: 27.5.1 schema-utils: 4.3.2 serialize-javascript: 6.0.2 terser: 5.43.1 - webpack: 5.100.2(esbuild@0.25.8) + webpack: 5.101.0(esbuild@0.25.8) optionalDependencies: esbuild: 0.25.8 @@ -21620,6 +22708,8 @@ snapshots: dependencies: b4a: 1.6.7 + text-extensions@2.4.0: {} + text-hex@1.0.0: {} thenify-all@1.6.0: @@ -21707,6 +22797,8 @@ snapshots: dependencies: streamx: 2.22.1 + toad-cache@3.7.0: {} + todomvc-app-css@2.4.3: {} todomvc-common@1.0.5: {} @@ -21927,8 +23019,6 @@ snapshots: typescript@3.2.4: {} - typescript@4.9.5: {} - typescript@5.8.2: {} typescript@5.9.0-beta: {} @@ -21969,6 +23059,8 @@ snapshots: undici-types@6.21.0: {} + undici-types@7.10.0: {} + undici-types@7.8.0: {} undici@5.29.0: @@ -22047,6 +23139,8 @@ snapshots: transitivePeerDependencies: - supports-color + universal-github-app-jwt@2.2.2: {} + universal-user-agent@6.0.1: {} universal-user-agent@7.0.3: {} @@ -22117,6 +23211,10 @@ snapshots: use@3.1.1: {} + utf-8-validate@6.0.5: + dependencies: + node-gyp-build: 4.8.4 + util-deprecate@1.0.2: {} utils-merge@1.0.1: {} @@ -22200,7 +23298,7 @@ snapshots: replace-ext: 2.0.0 teex: 1.0.1 - vite@7.0.6(@types/node@18.19.121)(jiti@1.21.7)(less@4.4.0)(sass@1.89.2)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): + vite@7.1.0(@types/node@18.19.121)(jiti@1.21.7)(less@4.4.0)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.1): dependencies: esbuild: 0.25.8 fdir: 6.4.6(picomatch@4.0.3) @@ -22213,12 +23311,12 @@ snapshots: fsevents: 2.3.3 jiti: 1.21.7 less: 4.4.0 - sass: 1.89.2 + sass: 1.90.0 terser: 5.43.1 tsx: 4.20.3 - yaml: 2.8.0 + yaml: 2.8.1 - vite@7.0.6(@types/node@24.1.0)(jiti@1.21.7)(less@4.4.0)(sass@1.89.2)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.0): + vite@7.1.0(@types/node@24.1.0)(jiti@1.21.7)(less@4.4.0)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.1): dependencies: esbuild: 0.25.8 fdir: 6.4.6(picomatch@4.0.3) @@ -22231,10 +23329,28 @@ snapshots: fsevents: 2.3.3 jiti: 1.21.7 less: 4.4.0 - sass: 1.89.2 + sass: 1.90.0 terser: 5.43.1 tsx: 4.20.3 - yaml: 2.8.0 + yaml: 2.8.1 + + vite@7.1.0(@types/node@24.2.0)(jiti@1.21.7)(less@4.4.0)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.3)(yaml@2.8.1): + dependencies: + esbuild: 0.25.8 + fdir: 6.4.6(picomatch@4.0.3) + picomatch: 4.0.3 + postcss: 8.5.6 + rollup: 4.46.2 + tinyglobby: 0.2.14 + optionalDependencies: + '@types/node': 24.2.0 + fsevents: 2.3.3 + jiti: 1.21.7 + less: 4.4.0 + sass: 1.90.0 + terser: 5.43.1 + tsx: 4.20.3 + yaml: 2.8.1 void-elements@2.0.1: {} @@ -22286,6 +23402,8 @@ snapshots: web-streams-polyfill@3.3.3: {} + web-vitals@4.2.4: {} + webdriver-js-extender@2.1.0: dependencies: '@types/selenium-webdriver': 3.0.7 @@ -22314,9 +23432,9 @@ snapshots: got: 11.8.6 lodash.merge: 4.6.2 - webdriverio@6.12.1(encoding@0.1.13)(typescript@5.9.2): + webdriverio@6.12.1(bufferutil@4.0.9)(encoding@0.1.13)(typescript@5.9.2): dependencies: - '@types/puppeteer-core': 5.4.0(typescript@5.9.2) + '@types/puppeteer-core': 5.4.0(bufferutil@4.0.9)(typescript@5.9.2) '@wdio/config': 6.12.1 '@wdio/logger': 6.10.10 '@wdio/repl': 6.11.0 @@ -22325,7 +23443,7 @@ snapshots: atob: 2.1.2 css-shorthand-properties: 1.1.2 css-value: 0.0.1 - devtools: 6.12.1(encoding@0.1.13) + devtools: 6.12.1(bufferutil@4.0.9)(encoding@0.1.13) fs-extra: 9.1.0 get-port: 5.1.1 grapheme-splitter: 1.0.4 @@ -22334,7 +23452,7 @@ snapshots: lodash.isplainobject: 4.0.6 lodash.zip: 4.2.0 minimatch: 3.1.2 - puppeteer-core: 5.5.0(encoding@0.1.13) + puppeteer-core: 5.5.0(bufferutil@4.0.9)(encoding@0.1.13) resq: 1.11.0 rgb2hex: 0.2.3 serialize-error: 8.1.0 @@ -22351,7 +23469,7 @@ snapshots: webidl-conversions@7.0.0: {} - webpack-dev-middleware@7.4.2(webpack@5.100.2(esbuild@0.25.8)): + webpack-dev-middleware@7.4.2(webpack@5.101.0(esbuild@0.25.8)): dependencies: colorette: 2.0.20 memfs: 4.25.0 @@ -22360,9 +23478,9 @@ snapshots: range-parser: 1.2.1 schema-utils: 4.3.2 optionalDependencies: - webpack: 5.100.2(esbuild@0.25.8) + webpack: 5.101.0(esbuild@0.25.8) - webpack-dev-server@5.2.2(webpack@5.100.2(esbuild@0.25.8)): + webpack-dev-server@5.2.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)(webpack@5.101.0(esbuild@0.25.8)): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -22390,10 +23508,10 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.100.2(esbuild@0.25.8)) - ws: 8.18.3 + webpack-dev-middleware: 7.4.2(webpack@5.101.0(esbuild@0.25.8)) + ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) optionalDependencies: - webpack: 5.100.2(esbuild@0.25.8) + webpack: 5.101.0(esbuild@0.25.8) transitivePeerDependencies: - bufferutil - debug @@ -22413,12 +23531,12 @@ snapshots: webpack-sources@3.3.3: {} - webpack-subresource-integrity@5.1.0(webpack@5.100.2(esbuild@0.25.8)): + webpack-subresource-integrity@5.1.0(webpack@5.101.0(esbuild@0.25.8)): dependencies: typed-assert: 1.0.9 - webpack: 5.100.2(esbuild@0.25.8) + webpack: 5.101.0(esbuild@0.25.8) - webpack@5.100.2(esbuild@0.25.8): + webpack@5.101.0(esbuild@0.25.8): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.8 @@ -22442,7 +23560,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 4.3.2 tapable: 2.2.2 - terser-webpack-plugin: 5.3.14(esbuild@0.25.8)(webpack@5.100.2(esbuild@0.25.8)) + terser-webpack-plugin: 5.3.14(esbuild@0.25.8)(webpack@5.101.0(esbuild@0.25.8)) watchpack: 2.4.4 webpack-sources: 3.3.3 transitivePeerDependencies: @@ -22606,11 +23724,19 @@ snapshots: signal-exit: 3.0.7 typedarray-to-buffer: 3.1.5 - ws@7.5.10: {} + ws@7.5.10(bufferutil@4.0.9): + optionalDependencies: + bufferutil: 4.0.9 - ws@8.17.1: {} + ws@8.17.1(bufferutil@4.0.9)(utf-8-validate@6.0.5): + optionalDependencies: + bufferutil: 4.0.9 + utf-8-validate: 6.0.5 - ws@8.18.3: {} + ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5): + optionalDependencies: + bufferutil: 4.0.9 + utf-8-validate: 6.0.5 wsl-utils@0.1.0: dependencies: @@ -22647,6 +23773,8 @@ snapshots: yaml@2.8.0: {} + yaml@2.8.1: {} + yargs-parser@18.1.3: dependencies: camelcase: 5.3.1 From c81e345e726b5b281621159c789e6d80a9f328e2 Mon Sep 17 00:00:00 2001 From: ivanwonder Date: Sat, 19 Jul 2025 20:24:10 +0800 Subject: [PATCH 017/278] feat(language-service): support auto-import for attribute completions (#62797) Add logic to provide code actions for auto-importing directives that are out of scope. PR Close #62797 --- .../src/attribute_completions.ts | 49 +++-- packages/language-service/src/completions.ts | 186 ++++++++++++++++-- .../src/utils/display_parts.ts | 13 ++ .../language-service/test/completions_spec.ts | 93 ++++++++- 4 files changed, 295 insertions(+), 46 deletions(-) diff --git a/packages/language-service/src/attribute_completions.ts b/packages/language-service/src/attribute_completions.ts index 701b232068d6..9b438e27f99a 100644 --- a/packages/language-service/src/attribute_completions.ts +++ b/packages/language-service/src/attribute_completions.ts @@ -289,16 +289,14 @@ export function buildAttributeCompletionTable( // Next, explore hypothetical directives and determine if the addition of any single attributes // can cause the directive to match the element. - const directivesInScope = checker - .getPotentialTemplateDirectives(component, ls, { - includeExternalModule: false, - }) - .filter((d) => d.isInScope); - if (directivesInScope !== null) { + const potentialDirectives = checker.getPotentialTemplateDirectives(component, ls, { + includeExternalModule: includeExternalModule ?? false, + }); + if (potentialDirectives !== null) { const elementSelector = makeElementSelector(element); - for (const dirInScope of directivesInScope) { - const directive = dirInScope.tsSymbol.valueDeclaration; + for (const currentDir of potentialDirectives) { + const directive = currentDir.tsSymbol.valueDeclaration; // Skip directives that are present on the element. if (!ts.isClassDeclaration(directive) || presentDirectives.has(directive)) { continue; @@ -343,7 +341,7 @@ export function buildAttributeCompletionTable( // This attribute corresponds to an input binding. table.set(attrName, { kind: AttributeCompletionKind.DirectiveInput, - directive: dirInScope, + directive: currentDir, propertyName: attrName, classPropertyName: meta.inputs.getByBindingPropertyName(attrName)![0].classPropertyName, @@ -353,7 +351,7 @@ export function buildAttributeCompletionTable( // This attribute corresponds to an output binding. table.set(attrName, { kind: AttributeCompletionKind.DirectiveOutput, - directive: dirInScope, + directive: currentDir, eventName: attrName, classPropertyName: meta.outputs.getByBindingPropertyName(attrName)![0].classPropertyName, @@ -364,7 +362,7 @@ export function buildAttributeCompletionTable( table.set(attrName, { kind: AttributeCompletionKind.DirectiveAttribute, attribute: attrName, - directive: dirInScope, + directive: currentDir, }); } } @@ -383,7 +381,7 @@ export function buildAttributeCompletionTable( table.set(attrName, { kind: AttributeCompletionKind.StructuralDirectiveAttribute, attribute: attrName, - directive: dirInScope, + directive: currentDir, }); } } @@ -453,6 +451,9 @@ export function addAttributeCompletionEntries( replacementSpan: ts.TextSpan | undefined, insertSnippet: true | undefined, ): void { + const directive = 'directive' in completion ? completion.directive : null; + const tsEntryData = directive?.tsCompletionEntryInfos?.[0]?.tsCompletionEntryData; + switch (completion.kind) { case AttributeCompletionKind.DirectiveAttribute: { entries.push({ @@ -460,6 +461,7 @@ export function addAttributeCompletionEntries( name: completion.attribute, sortText: AsciiSortPriority.Second + completion.attribute, replacementSpan, + data: tsEntryData, }); break; } @@ -475,6 +477,7 @@ export function addAttributeCompletionEntries( isSnippet: insertSnippet, sortText: AsciiSortPriority.Second + prefix + completion.attribute, replacementSpan, + data: tsEntryData, }); break; } @@ -488,6 +491,7 @@ export function addAttributeCompletionEntries( isSnippet: insertSnippet, sortText: AsciiSortPriority.First + completion.propertyName, replacementSpan, + data: tsEntryData, }); // If the directive supports banana-in-a-box for this input, offer that as well. if (completion.twoWayBindingSupported) { @@ -499,6 +503,7 @@ export function addAttributeCompletionEntries( // This completion should sort after the property binding. sortText: AsciiSortPriority.First + completion.propertyName + '_1', replacementSpan, + data: tsEntryData, }); } // Offer a completion of the input binding as an attribute. @@ -510,6 +515,7 @@ export function addAttributeCompletionEntries( // This completion should sort after both property binding options (one-way and two-way). sortText: AsciiSortPriority.First + completion.propertyName + '_2', replacementSpan, + data: tsEntryData, }); } else { entries.push({ @@ -519,6 +525,7 @@ export function addAttributeCompletionEntries( isSnippet: insertSnippet, sortText: AsciiSortPriority.First + completion.propertyName, replacementSpan, + data: tsEntryData, }); } break; @@ -532,6 +539,7 @@ export function addAttributeCompletionEntries( isSnippet: insertSnippet, sortText: AsciiSortPriority.First + completion.eventName, replacementSpan, + data: tsEntryData, }); } else { entries.push({ @@ -541,6 +549,7 @@ export function addAttributeCompletionEntries( isSnippet: insertSnippet, sortText: AsciiSortPriority.First + completion.eventName, replacementSpan, + data: tsEntryData, }); } break; @@ -589,23 +598,27 @@ export function addAttributeCompletionEntries( } export function getAttributeCompletionSymbol( - completion: AttributeCompletion, + attrKind: AttributeCompletionKind, + directive: PotentialDirective | null, + classPropertyName: string | null, checker: ts.TypeChecker, ): ts.Symbol | null { - switch (completion.kind) { + switch (attrKind) { case AttributeCompletionKind.DomAttribute: case AttributeCompletionKind.DomEvent: case AttributeCompletionKind.DomProperty: return null; case AttributeCompletionKind.DirectiveAttribute: case AttributeCompletionKind.StructuralDirectiveAttribute: - return completion.directive.tsSymbol; + return directive?.tsSymbol ?? null; case AttributeCompletionKind.DirectiveInput: case AttributeCompletionKind.DirectiveOutput: + if (directive === null || classPropertyName === null) { + return null; + } + return ( - checker - .getDeclaredTypeOfSymbol(completion.directive.tsSymbol) - .getProperty(completion.classPropertyName) ?? null + checker.getDeclaredTypeOfSymbol(directive.tsSymbol).getProperty(classPropertyName) ?? null ); } } diff --git a/packages/language-service/src/completions.ts b/packages/language-service/src/completions.ts index 8cb9f9124a59..07484d013c86 100644 --- a/packages/language-service/src/completions.ts +++ b/packages/language-service/src/completions.ts @@ -117,6 +117,12 @@ interface DirectiveInfoForCompletionDetail { fileName: string; pos: number; + /** + * The kind of the attribute completion. This value should be set if the completion is for an + * attribute completion. + */ + attrKind: AttributeCompletionKind | null; + /** * Sometimes, the location of the tsCompletionEntry symbol does not match the location of the Angular symbol. * @@ -338,7 +344,7 @@ export class CompletionBuilder { } else if (this.isElementTagCompletion()) { return this.getElementTagCompletionDetails(entryName, data, preferences); } else if (this.isElementAttributeCompletion()) { - return this.getElementAttributeCompletionDetails(entryName, preferences); + return this.getElementAttributeCompletionDetails(entryName, data, preferences); } return undefined; } @@ -763,6 +769,8 @@ export class CompletionBuilder { fileName: directive.ref.node.getSourceFile().fileName, entryName: directive.tsSymbol.name, pos: directive.ref.node.getStart(), + attrKind: null, + // The Angular LS only supports displaying one directive at a time when // providing the completion item, even if it's exported by multiple modules. symbolFileName: directive.tsCompletionEntryInfos[0].tsCompletionEntrySymbolFileName, @@ -1054,8 +1062,9 @@ export class CompletionBuilder { ); let entries: ts.CompletionEntry[] = []; + const directiveCompletionDetailMap = new Map(); - for (const completion of attrTable.values()) { + for (const [key, completion] of attrTable.entries()) { // First, filter out completions that don't make sense for the current node. For example, if // the user is completing on a property binding `[foo|]`, don't offer output event // completions. @@ -1097,6 +1106,26 @@ export class CompletionBuilder { break; } + // Save tsCompletionEntryInfos if present and completion has a directive property + if ( + 'directive' in completion && + completion.directive.tsCompletionEntryInfos !== null && + completion.directive.tsCompletionEntryInfos.length > 0 + ) { + directiveCompletionDetailMap.set(key, { + fileName: completion.directive.ref.node.getSourceFile().fileName, + entryName: completion.directive.tsSymbol.name, + pos: completion.directive.ref.node.getStart(), + attrKind: completion.kind, + + // The Angular LS only supports displaying one directive at a time when + // providing the completion item, even if it's exported by multiple modules. + symbolFileName: + completion.directive.tsCompletionEntryInfos[0].tsCompletionEntrySymbolFileName, + symbolName: completion.directive.tsCompletionEntryInfos[0].tsCompletionEntrySymbolName, + }); + } + // Is the completion in an attribute context (instead of a property context)? const isAttributeContext = this.node instanceof TmplAstElement || this.node instanceof TmplAstTextAttribute; @@ -1114,6 +1143,8 @@ export class CompletionBuilder { ); } + directiveInfoForCompletionDetailCache = directiveCompletionDetailMap; + return { entries, isGlobalCompletion: false, @@ -1125,6 +1156,7 @@ export class CompletionBuilder { private getElementAttributeCompletionDetails( this: ElementAttributeCompletionBuilder, entryName: string, + data: ts.CompletionEntryData | undefined, preferences: ts.UserPreferences | undefined, ): ts.CompletionEntryDetails | undefined { // `entryName` here may be `foo` or `[foo]`, depending on which suggested completion the user @@ -1144,24 +1176,71 @@ export class CompletionBuilder { return undefined; } - const attrTable = buildAttributeCompletionTable( - this.component, - element, - this.compiler.getTemplateTypeChecker(), - this.tsLS, - preferences?.includeCompletionsForModuleExports, - ); + const templateTypeChecker = this.compiler.getTemplateTypeChecker(); - if (!attrTable.has(name)) { + const directiveCompletionDetail = directiveInfoForCompletionDetailCache.get(name); + let directive: PotentialDirective | null = null; + let attrKind: null | AttributeCompletionKind = null; + + /** + * If a directive is present on the node, the directive may be a host directive, + * the `classPropertyName` can't get from the directive meta by the entry name. + * So get it from the `attrTable`. + * + * If the directive is out of the component scope, the host directive is not available, + * so the `classPropertyName` can get from the directive meta by the entry name. + */ + let classPropertyName: string | null = null; + + if (directiveCompletionDetail === undefined) { + // If the directive completion detail is not available in the cache, it means that the directive + // is in the current component scope. Get the directive from the attribute completion table. + const attrTable = buildAttributeCompletionTable( + this.component, + element, + templateTypeChecker, + this.tsLS, + false /* includeExternalModule. Avoid getting the global completion item from the tsLs */, + ); + const completion = attrTable.get(name); + if (completion === undefined) { + return undefined; + } + directive = 'directive' in completion ? completion.directive : null; + attrKind = completion.kind; + classPropertyName = 'classPropertyName' in completion ? completion.classPropertyName : null; + } else { + const {fileName, entryName: directiveName, pos} = directiveCompletionDetail; + const node = this.getTsNodeAtPosition(fileName, pos)?.parent; + if ( + node !== undefined && + ts.isClassDeclaration(node) && + node.name?.getText() === directiveName + ) { + directive = templateTypeChecker.getDirectiveScopeData(node, false, { + tsCompletionEntrySymbolFileName: directiveCompletionDetail.symbolFileName, + tsCompletionEntryData: data, + tsCompletionEntrySymbolName: directiveCompletionDetail.symbolName, + }); + attrKind = directiveCompletionDetail.attrKind; + classPropertyName = getClassPropertyNameFromDirective( + attrKind, + name, + directive, + templateTypeChecker, + ); + } + } + + if (attrKind === null) { return undefined; } - const completion = attrTable.get(name)!; - let displayParts: ts.SymbolDisplayPart[]; + let displayParts: ts.SymbolDisplayPart[] = []; let documentation: ts.SymbolDisplayPart[] | undefined = undefined; let tags: ts.JSDocTagInfo[] | undefined = undefined; let info: DisplayInfo | null; - switch (completion.kind) { + switch (attrKind) { case AttributeCompletionKind.DomEvent: case AttributeCompletionKind.DomAttribute: case AttributeCompletionKind.DomProperty: @@ -1171,7 +1250,10 @@ export class CompletionBuilder { displayParts = []; break; case AttributeCompletionKind.DirectiveAttribute: - info = getDirectiveDisplayInfo(this.tsLS, completion.directive); + if (directive === null) { + break; + } + info = getDirectiveDisplayInfo(this.tsLS, directive); displayParts = info.displayParts; documentation = info.documentation; tags = info.tags; @@ -1179,15 +1261,23 @@ export class CompletionBuilder { case AttributeCompletionKind.StructuralDirectiveAttribute: case AttributeCompletionKind.DirectiveInput: case AttributeCompletionKind.DirectiveOutput: - const propertySymbol = getAttributeCompletionSymbol(completion, this.typeChecker); + if (directive === null) { + break; + } + const propertySymbol = getAttributeCompletionSymbol( + attrKind, + directive, + classPropertyName, + this.typeChecker, + ); if (propertySymbol === null) { - return undefined; + break; } let kind: DisplayInfoKind; - if (completion.kind === AttributeCompletionKind.DirectiveInput) { + if (attrKind === AttributeCompletionKind.DirectiveInput) { kind = DisplayInfoKind.PROPERTY; - } else if (completion.kind === AttributeCompletionKind.DirectiveOutput) { + } else if (attrKind === AttributeCompletionKind.DirectiveOutput) { kind = DisplayInfoKind.EVENT; } else { kind = DisplayInfoKind.DIRECTIVE; @@ -1198,16 +1288,38 @@ export class CompletionBuilder { this.typeChecker, propertySymbol, kind, - completion.directive.tsSymbol.name, + directive.tsSymbol.name, ); if (info === null) { - return undefined; + break; } displayParts = info.displayParts; documentation = info.documentation; tags = info.tags; } + let codeActions: ts.CodeAction[] | undefined; + if (directive !== null && !directive.isInScope) { + const importOn = standaloneTraitOrNgModule(templateTypeChecker, this.component); + + const codeActionsCache = + importOn !== null + ? getCodeActionToImportTheDirectiveDeclaration( + this.compiler, + this.component, + importOn, + directive, + this.tsLS, + preferences?.includeCompletionsWithInsertText, + ) + : undefined; + + codeActions = + codeActionsCache !== undefined && codeActionsCache.length > 0 + ? [codeActionsCache[0]] + : undefined; + } + return { name: entryName, kind: unsafeCastDisplayInfoKindToScriptElementKind(kind), @@ -1215,6 +1327,7 @@ export class CompletionBuilder { displayParts, documentation, tags, + codeActions, }; } @@ -1250,7 +1363,14 @@ export class CompletionBuilder { } const completion = attrTable.get(name)!; - return getAttributeCompletionSymbol(completion, this.typeChecker) ?? undefined; + return ( + getAttributeCompletionSymbol( + completion.kind, + 'directive' in completion ? completion.directive : null, + 'classPropertyName' in completion ? completion.classPropertyName : null, + this.typeChecker, + ) ?? undefined + ); } private isPipeCompletion(): this is PipeCompletionBuilder { @@ -1403,3 +1523,27 @@ function buildAnimationPhaseSpan(node: TmplAstBoundEvent): ParseSourceSpan | nul } return null; } + +function getClassPropertyNameFromDirective( + attrKind: AttributeCompletionKind | null, + attrName: string, + directive: PotentialDirective | null, + templateTypeChecker: TemplateTypeChecker, +): string | null { + if (directive === null || attrKind === null) { + return null; + } + const dirNode = directive.ref.node; + if (!ts.isClassDeclaration(dirNode)) { + return null; + } + const meta = templateTypeChecker.getDirectiveMetadata(dirNode); + switch (attrKind) { + case AttributeCompletionKind.DirectiveInput: + return meta?.inputs.getByBindingPropertyName(attrName)?.[0].classPropertyName ?? null; + case AttributeCompletionKind.DirectiveOutput: + return meta?.outputs.getByBindingPropertyName(attrName)?.[0].classPropertyName ?? null; + default: + return null; + } +} diff --git a/packages/language-service/src/utils/display_parts.ts b/packages/language-service/src/utils/display_parts.ts index 43f7279821b9..c85698e1c803 100644 --- a/packages/language-service/src/utils/display_parts.ts +++ b/packages/language-service/src/utils/display_parts.ts @@ -211,6 +211,19 @@ export function getTsSymbolDisplayInfo( decl === undefined || (!ts.isPropertyDeclaration(decl) && !ts.isMethodDeclaration(decl) && + /** + * Support for displaying information about "get" accessor declarations here + * + * ```ts + * @Component({}) + * class BarComponent { + * @Input() + * get foo() { return 'foo' }; + * } + * + * ``` + */ + !ts.isGetAccessorDeclaration(decl) && !isNamedClassDeclaration(decl)) || !ts.isIdentifier(decl.name) ) { diff --git a/packages/language-service/test/completions_spec.ts b/packages/language-service/test/completions_spec.ts index b118bba91d01..9bfccf57690e 100644 --- a/packages/language-service/test/completions_spec.ts +++ b/packages/language-service/test/completions_spec.ts @@ -13,7 +13,7 @@ import { DisplayInfoKind, unsafeCastDisplayInfoKindToScriptElementKind, } from '../src/utils/display_parts'; -import {LanguageServiceTestEnv, OpenBuffer, TestableOptions} from '../testing'; +import {LanguageServiceTestEnv, OpenBuffer, ProjectFiles, TestableOptions} from '../testing'; const DIR_WITH_INPUT = { 'Dir': ` @@ -831,8 +831,7 @@ describe('completions', () => { expect(ts.displayPartsToString(details.documentation!)).toEqual('This is another component.'); }); - // TODO: check why this test is now broken - xit('should return component completions not imported', () => { + it('should return component completions not imported', () => { const {templateFile} = setup( ``, '', @@ -1659,6 +1658,78 @@ describe('completions', () => { expectReplacementText(completions, templateFile.contents, 'ali'); }); }); + + describe('element attribute out of scope', () => { + it('should return completions for an element attribute out of scope', () => { + const {templateFile} = setup( + `
`, + '', + undefined, + undefined, + undefined, + { + '/component/share/highlight.ts': ` + import {Directive,input} from '@angular/core'; + + @Directive({ + selector: '[appHighlight]', + }) + export class HighlightDirective { + appHighlight = input(''); + } + `, + }, + { + paths: {'@app/*': ['./component/share/*.ts']}, + }, + ); + templateFile.moveCursorToText('app¦'); + + const completions = templateFile.getCompletionsAtPosition({ + includeCompletionsForModuleExports: true, + }); + + const completionEntry = completions?.entries.find((entry) => { + return entry.name === '[appHighlight]'; + }); + + expect(completionEntry).toBeDefined(); + + const detail = templateFile.getCompletionEntryDetails( + completionEntry?.name!, + undefined, + {includeCompletionsForModuleExports: true}, + completionEntry?.data, + ); + + expect(detail?.codeActions).toContain( + jasmine.objectContaining({ + 'description': "Import HighlightDirective from '@app/highlight' on AppCmp", + 'changes': [ + { + 'fileName': '/test/test.ts', + 'textChanges': [ + { + 'span': { + 'start': 303, + 'length': 0, + }, + 'newText': '\nimport { HighlightDirective } from "@app/highlight";', + }, + { + 'span': { + 'start': 407, + 'length': 0, + }, + 'newText': ',\n imports: [HighlightDirective]', + }, + ], + }, + ], + }), + ); + }); + }); }); describe('pipe scope', () => { @@ -2236,6 +2307,8 @@ function setup( otherDeclarations: {[name: string]: string} = {}, functionDeclarations: string = '', componentMetadata: string = '', + standaloneFiles: ProjectFiles = {}, + tsCompilerOptions = {}, ): { templateFile: OpenBuffer; } { @@ -2244,8 +2317,10 @@ function setup( const otherDirectiveClassDecls = Object.values(otherDeclarations).join('\n\n'); const env = LanguageServiceTestEnv.setup(); - const project = env.addProject('test', { - 'test.ts': ` + const project = env.addProject( + 'test', + { + 'test.ts': ` import {Component, input, output, @@ -2276,8 +2351,12 @@ function setup( }) export class AppModule {} `, - 'test.html': template, - }); + 'test.html': template, + ...standaloneFiles, + }, + undefined, + tsCompilerOptions, + ); return {templateFile: project.openFile('test.html')}; } From b13c3fc2ebb212e20acbe5b9f56c67197057820b Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 12 Aug 2025 17:11:53 +0000 Subject: [PATCH 018/278] build: update actions/checkout action to v5 (#63115) See associated pull request for more information. PR Close #63115 --- .github/workflows/adev-preview-deploy.yml | 2 +- .github/workflows/assistant-to-the-branch-manager.yml | 2 +- .github/workflows/benchmark-compare.yml | 2 +- .github/workflows/dev-infra.yml | 4 ++-- .github/workflows/google-internal-tests.yml | 2 +- .github/workflows/update-cdk-apis-and-cli-help.yml | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/adev-preview-deploy.yml b/.github/workflows/adev-preview-deploy.yml index 410e167fc96a..2f762147e307 100644 --- a/.github/workflows/adev-preview-deploy.yml +++ b/.github/workflows/adev-preview-deploy.yml @@ -29,7 +29,7 @@ jobs: runs-on: ubuntu-latest if: ${{ github.event.workflow_run.conclusion == 'success' }} steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5 with: token: '${{secrets.GITHUB_TOKEN}}' diff --git a/.github/workflows/assistant-to-the-branch-manager.yml b/.github/workflows/assistant-to-the-branch-manager.yml index a2cb07806c20..5e4bb9a1ce53 100644 --- a/.github/workflows/assistant-to-the-branch-manager.yml +++ b/.github/workflows/assistant-to-the-branch-manager.yml @@ -13,7 +13,7 @@ jobs: assistant_to_the_branch_manager: runs-on: ubuntu-latest steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: persist-credentials: false - uses: angular/dev-infra/github-actions/branch-manager@368d4b7c2fa82d37087b92419462d94f73f7cd02 diff --git a/.github/workflows/benchmark-compare.yml b/.github/workflows/benchmark-compare.yml index 3aed56618eaa..148cddc09d5d 100644 --- a/.github/workflows/benchmark-compare.yml +++ b/.github/workflows/benchmark-compare.yml @@ -28,7 +28,7 @@ jobs: - uses: alessbell/pull-request-comment-branch@aad01d65d6982b8eacabed5e9a684cd8ceb98da6 # v1.1 id: comment-branch - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: # Specify repository as the PR branch might be from a fork. repository: ${{steps.comment-branch.outputs.head_owner}}/${{steps.comment-branch.outputs.head_repo}} diff --git a/.github/workflows/dev-infra.yml b/.github/workflows/dev-infra.yml index bc2661a7e023..cdc4b8c865d4 100644 --- a/.github/workflows/dev-infra.yml +++ b/.github/workflows/dev-infra.yml @@ -12,14 +12,14 @@ jobs: labels: runs-on: ubuntu-latest steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - uses: angular/dev-infra/github-actions/pull-request-labeling@368d4b7c2fa82d37087b92419462d94f73f7cd02 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} post_approval_changes: runs-on: ubuntu-latest steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - uses: angular/dev-infra/github-actions/post-approval-changes@368d4b7c2fa82d37087b92419462d94f73f7cd02 with: angular-robot-key: ${{ secrets.ANGULAR_ROBOT_PRIVATE_KEY }} diff --git a/.github/workflows/google-internal-tests.yml b/.github/workflows/google-internal-tests.yml index eda8d432be22..3947ba3d49e0 100644 --- a/.github/workflows/google-internal-tests.yml +++ b/.github/workflows/google-internal-tests.yml @@ -13,7 +13,7 @@ jobs: statuses: write runs-on: ubuntu-latest steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - uses: angular/dev-infra/github-actions/google-internal-tests@368d4b7c2fa82d37087b92419462d94f73f7cd02 with: run-tests-guide-url: http://go/angular-g3sync-start diff --git a/.github/workflows/update-cdk-apis-and-cli-help.yml b/.github/workflows/update-cdk-apis-and-cli-help.yml index 48630ecea4fe..b69b0d1d4e57 100644 --- a/.github/workflows/update-cdk-apis-and-cli-help.yml +++ b/.github/workflows/update-cdk-apis-and-cli-help.yml @@ -24,7 +24,7 @@ jobs: steps: - name: Checkout the repository - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: # Setting `persist-credentials: false` prevents the github-action account from being the # account that is attempted to be used for authentication, instead the remote is set to From 4635095c01f19317ac4aca38d41c3efd6ccaa451 Mon Sep 17 00:00:00 2001 From: Jeremy Elbourn Date: Tue, 12 Aug 2025 09:42:58 -0700 Subject: [PATCH 019/278] fix(docs-infra): put content in `
` element (#63121) This fix updates the adev `DocViewer` component to support rendering with the `main[docsViewer` selector so that the primary content for the page is inside of a `
` element (without introducing an extra DOM element). PR Close #63121 --- .../viewers/docs-viewer/docs-viewer.component.ts | 2 +- adev/src/app/features/docs/docs.component.html | 5 ++--- .../api-reference-details-page.component.html | 4 ++-- .../api-reference-details-page.component.scss | 8 ++++---- .../api-reference-details-page.component.spec.ts | 2 +- .../cli-reference-details-page.component.html | 2 +- .../cli-reference-details-page.component.scss | 8 ++++---- .../cli-reference-details-page.component.spec.ts | 2 +- adev/src/app/features/tutorial/tutorial.component.html | 5 ++--- 9 files changed, 18 insertions(+), 20 deletions(-) diff --git a/adev/shared-docs/components/viewers/docs-viewer/docs-viewer.component.ts b/adev/shared-docs/components/viewers/docs-viewer/docs-viewer.component.ts index f8584a424594..b368e5730e69 100644 --- a/adev/shared-docs/components/viewers/docs-viewer/docs-viewer.component.ts +++ b/adev/shared-docs/components/viewers/docs-viewer/docs-viewer.component.ts @@ -42,7 +42,7 @@ import {ExampleViewer} from '../example-viewer/example-viewer.component'; const TOC_HOST_ELEMENT_NAME = 'docs-table-of-contents'; export const ASSETS_EXAMPLES_PATH = 'assets/content/examples'; -export const DOCS_VIEWER_SELECTOR = 'docs-viewer'; +export const DOCS_VIEWER_SELECTOR = 'docs-viewer, main[docsViewer]'; export const DOCS_CODE_SELECTOR = '.docs-code'; export const DOCS_CODE_MUTLIFILE_SELECTOR = '.docs-code-multifile'; // TODO: Update the branch/sha diff --git a/adev/src/app/features/docs/docs.component.html b/adev/src/app/features/docs/docs.component.html index 13d8afca7ea2..d768750db0fd 100644 --- a/adev/src/app/features/docs/docs.component.html +++ b/adev/src/app/features/docs/docs.component.html @@ -1,8 +1,7 @@ @let docContent = this.docContent(); @if (docContent) { - + [hasToc]="true">
} diff --git a/adev/src/app/features/references/api-reference-details-page/api-reference-details-page.component.html b/adev/src/app/features/references/api-reference-details-page/api-reference-details-page.component.html index 8c5e47f8de6e..60afa622e9a1 100644 --- a/adev/src/app/features/references/api-reference-details-page/api-reference-details-page.component.html +++ b/adev/src/app/features/references/api-reference-details-page/api-reference-details-page.component.html @@ -1,9 +1,9 @@ @if (docContent(); as docContent) { - + >
}
Jump to details
diff --git a/adev/src/app/features/references/api-reference-details-page/api-reference-details-page.component.scss b/adev/src/app/features/references/api-reference-details-page/api-reference-details-page.component.scss index 86b1e9f2b1ee..a55af54f39f0 100644 --- a/adev/src/app/features/references/api-reference-details-page/api-reference-details-page.component.scss +++ b/adev/src/app/features/references/api-reference-details-page/api-reference-details-page.component.scss @@ -10,19 +10,19 @@ padding-bottom: var(--layout-padding); - //applying styles when TOC position got translated to the top right + //applying styles when TOC position got translated to the top right @include mq.for-large-desktop-up { // take the available space except a reserved area for TOC width: calc(100% - 16rem); } - docs-viewer { + main { display: block; padding-inline: var(--layout-padding); width: 100%; - //applying styles when TOC position got translated to the top right + //applying styles when TOC position got translated to the top right @include mq.for-large-desktop-up { // take the available space except a reserved area for TOC max-width: var(--page-width); @@ -74,4 +74,4 @@ ::ng-deep { @include ref.reference-common(); @include ref.api-reference(); -} \ No newline at end of file +} diff --git a/adev/src/app/features/references/api-reference-details-page/api-reference-details-page.component.spec.ts b/adev/src/app/features/references/api-reference-details-page/api-reference-details-page.component.spec.ts index d43224675b5d..28d5807c27e9 100644 --- a/adev/src/app/features/references/api-reference-details-page/api-reference-details-page.component.spec.ts +++ b/adev/src/app/features/references/api-reference-details-page/api-reference-details-page.component.spec.ts @@ -64,7 +64,7 @@ describe('ApiReferenceDetailsPage', () => { it('should load the doc content', () => { expect(component.docContent()?.contents).toBeTruthy(); - const docsViewer = fixture.nativeElement.querySelector('docs-viewer'); + const docsViewer = fixture.nativeElement.querySelector('main'); expect(docsViewer).toBeTruthy(); }); }); diff --git a/adev/src/app/features/references/cli-reference-details-page/cli-reference-details-page.component.html b/adev/src/app/features/references/cli-reference-details-page/cli-reference-details-page.component.html index b9ba87546e1d..50e6a3e1eeb7 100644 --- a/adev/src/app/features/references/cli-reference-details-page/cli-reference-details-page.component.html +++ b/adev/src/app/features/references/cli-reference-details-page/cli-reference-details-page.component.html @@ -1,5 +1,5 @@ @if (docContent(); as docContent) { - +
}
Jump to details
diff --git a/adev/src/app/features/references/cli-reference-details-page/cli-reference-details-page.component.scss b/adev/src/app/features/references/cli-reference-details-page/cli-reference-details-page.component.scss index 3ee3c55098d0..feaeb7d0fc33 100644 --- a/adev/src/app/features/references/cli-reference-details-page/cli-reference-details-page.component.scss +++ b/adev/src/app/features/references/cli-reference-details-page/cli-reference-details-page.component.scss @@ -11,19 +11,19 @@ - //applying styles when TOC position got translated to the top right + //applying styles when TOC position got translated to the top right @include mq.for-large-desktop-up{ // take the available space except a reserved area for TOC width: calc(100% - 16rem); } - docs-viewer { + main { display: block; padding-inline: var(--layout-padding); width: 100%; - //applying styles when TOC position got translated to the top right + //applying styles when TOC position got translated to the top right @include mq.for-large-desktop-up{ // take the available space except a reserved area for TOC max-width: var(--page-width); @@ -44,4 +44,4 @@ ::ng-deep { @include ref.reference-common(); @include ref.cli-reference(); -} \ No newline at end of file +} diff --git a/adev/src/app/features/references/cli-reference-details-page/cli-reference-details-page.component.spec.ts b/adev/src/app/features/references/cli-reference-details-page/cli-reference-details-page.component.spec.ts index 9c27d867b553..f5a4dab32054 100644 --- a/adev/src/app/features/references/cli-reference-details-page/cli-reference-details-page.component.spec.ts +++ b/adev/src/app/features/references/cli-reference-details-page/cli-reference-details-page.component.spec.ts @@ -64,7 +64,7 @@ describe('CliReferenceDetailsPage', () => { it('should load the doc content', () => { expect(component.docContent()?.contents).toBeTruthy(); - const docsViewer = fixture.nativeElement.querySelector('docs-viewer'); + const docsViewer = fixture.nativeElement.querySelector('main'); expect(docsViewer).toBeTruthy(); }); }); diff --git a/adev/src/app/features/tutorial/tutorial.component.html b/adev/src/app/features/tutorial/tutorial.component.html index 04ac5b537e7d..35d271651d37 100644 --- a/adev/src/app/features/tutorial/tutorial.component.html +++ b/adev/src/app/features/tutorial/tutorial.component.html @@ -7,10 +7,9 @@ @if (documentContent(); as documentContent) { - + class="docs-viewer docs-viewer-scroll-margin-large"> }
} From ada3c37338aa51f74064125e16ae7f15cc429a6b Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Tue, 12 Aug 2025 19:07:01 +0000 Subject: [PATCH 020/278] refactor(compiler-cli): ensure JIT transforms with queries work with closure property renaming (#63123) This map for the JIT transforms accidentally is property-renamed, breaking the lookups below. This commit fixes this. PR Close #63123 --- .../jit/src/initializer_api_transforms/query_functions.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/compiler-cli/src/ngtsc/transform/jit/src/initializer_api_transforms/query_functions.ts b/packages/compiler-cli/src/ngtsc/transform/jit/src/initializer_api_transforms/query_functions.ts index 0382e1d7b4cd..5ee930392495 100644 --- a/packages/compiler-cli/src/ngtsc/transform/jit/src/initializer_api_transforms/query_functions.ts +++ b/packages/compiler-cli/src/ngtsc/transform/jit/src/initializer_api_transforms/query_functions.ts @@ -21,10 +21,10 @@ import { /** Maps a query function to its decorator. */ const queryFunctionToDecorator: Record = { - viewChild: 'ViewChild', - viewChildren: 'ViewChildren', - contentChild: 'ContentChild', - contentChildren: 'ContentChildren', + 'viewChild': 'ViewChild', + 'viewChildren': 'ViewChildren', + 'contentChild': 'ContentChild', + 'contentChildren': 'ContentChildren', }; /** From 0211668d208fdcbab6b0458e1a26f0b9880cc603 Mon Sep 17 00:00:00 2001 From: Jeremy Elbourn Date: Tue, 12 Aug 2025 11:44:52 -0700 Subject: [PATCH 021/278] docs: add topic for `takeUntilDestroyed` (#63122) This was missing from the RxJS interop guide. I came across it while cleaning up some Google-internal docs and realized I had nothing on adev to which I could link. PR Close #63122 --- adev/src/app/sub-navigation-data.ts | 5 ++ .../rxjs-interop/take-until-destroyed.md | 46 +++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 adev/src/content/ecosystem/rxjs-interop/take-until-destroyed.md diff --git a/adev/src/app/sub-navigation-data.ts b/adev/src/app/sub-navigation-data.ts index 785177e81e57..717373d7f43f 100644 --- a/adev/src/app/sub-navigation-data.ts +++ b/adev/src/app/sub-navigation-data.ts @@ -946,6 +946,11 @@ const DOCS_SUB_NAVIGATION_DATA: NavigationItem[] = [ path: 'ecosystem/rxjs-interop/output-interop', contentPath: 'ecosystem/rxjs-interop/output-interop', }, + { + label: 'Unsubscribing with takeUntilDestroyed', + path: 'ecosystem/rxjs-interop/take-until-destroyed', + contentPath: 'ecosystem/rxjs-interop/take-until-destroyed', + }, ], }, { diff --git a/adev/src/content/ecosystem/rxjs-interop/take-until-destroyed.md b/adev/src/content/ecosystem/rxjs-interop/take-until-destroyed.md new file mode 100644 index 000000000000..17dc37a82149 --- /dev/null +++ b/adev/src/content/ecosystem/rxjs-interop/take-until-destroyed.md @@ -0,0 +1,46 @@ +# Unsubscribing with `takeUntilDestroyed` + +TIP: This guide assumes you're familiar with [component and directive lifecycle](guide/components/lifecycle). + +The `takeUntilDestroyed` operator, from `@angular/core/rxjs-interop`, provides a concise and reliable way to automatically unsubscribe from an Observable when a component or directive is destroyed. This prevents common memory leaks with RxJS subscriptions. It works similarly to the RxJS [`takeUntil`](https://rxjs.dev/api/operators/takeUntil) operator but without the need for a separate Subject. + +```typescript +import {Component, inject} from '@angular/core'; +import {takeUntilDestroyed} from '@angular/core/rxjs-interop'; +import {NotificationDispatcher, CustomPopupShower} from './some-shared-project-code'; + +@Component(/* ... */) +export class UserProfile { + private dispatcher = inject(NotificationDispatcher); + private popup = inject(CustomPopupShower); + + constructor() { + // This subscription the 'notifications' Observable is automatically + // unsubscribed when the 'UserProfile' component is destroyed. + const messages: Observable = this.dispatcher.notifications; + messages.pipe(takeUntilDestroyed()).subscribe(message => { + this.popup.show(message); + }); + } +} +``` + +The `takeUntilDestroyed` operator accepts a single optional [`DestroyRef`](https://angular.dev/api/core/DestroyRef) argument. The operator uses `DestroyRef` to know when the component or directive has been destroyed. You can omit this argument when calling `takeUntilDestroyed` in an [injection context](https://angular.dev/guide/di/dependency-injection-context), typically the constructor of a component or directive. Always provide a `DestroyRef` if your code may call `takeUntilDestroyed` outside of an injection context. + +```typescript +@Component(/* ... */) +export class UserProfile { + private dispatcher = inject(NotificationDispatcher); + private popup = inject(CustomPopupShower); + private destroyRef = inject(DestroyRef); + + startListeningToNotifications() { + // Always pass a `DestroyRef` if you call `takeUntilDestroyed` outside + // of an injection context. + const messages: Observable = this.dispatcher.notifications; + messages.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(message => { + this.popup.show(message); + }); + } +} +``` From 0065ebb1156d2e8f7c2d53af112047f81a2feb94 Mon Sep 17 00:00:00 2001 From: Alan Agius <17563226+alan-agius4@users.noreply.github.com> Date: Wed, 13 Aug 2025 14:20:16 +0000 Subject: [PATCH 022/278] docs: add link to ai-config command (#63139) This adds a link to the new command. PR Close #63139 --- adev/src/app/sub-navigation-data.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/adev/src/app/sub-navigation-data.ts b/adev/src/app/sub-navigation-data.ts index 717373d7f43f..136a192af01c 100644 --- a/adev/src/app/sub-navigation-data.ts +++ b/adev/src/app/sub-navigation-data.ts @@ -1164,6 +1164,10 @@ const REFERENCE_SUB_NAVIGATION_DATA: NavigationItem[] = [ label: 'Overview', path: 'cli/generate', }, + { + label: 'ai-config', + path: 'cli/generate/ai-config', + }, { label: 'app-shell', path: 'cli/generate/app-shell', From b0900ccee5f3731769116210fe7b1092c16caa6f Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 13 Aug 2025 05:09:25 +0000 Subject: [PATCH 023/278] build: update github/codeql-action action to v3.29.9 (#63128) See associated pull request for more information. PR Close #63128 --- .github/workflows/scorecard.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 868998505db8..90b7100cc704 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -47,6 +47,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@76621b61decf072c1cee8dd1ce2d2a82d33c17ed # v3.29.8 + uses: github/codeql-action/upload-sarif@df559355d593797519d70b90fc8edd5db049e7a2 # v3.29.9 with: sarif_file: results.sarif From 254b56013825ed3704f6d332b87d3ad75176d359 Mon Sep 17 00:00:00 2001 From: cexbrayat Date: Wed, 13 Aug 2025 10:54:02 +0200 Subject: [PATCH 024/278] docs: update best-practices (#63132) This removes the common pitfall for if blocks in the best practices, as this is no longer true in Angular v20.2, see angular/angular@a409534 PR Close #63132 --- adev/src/context/best-practices.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/adev/src/context/best-practices.md b/adev/src/context/best-practices.md index 2cbe5668fbb9..e3b246935258 100644 --- a/adev/src/context/best-practices.md +++ b/adev/src/context/best-practices.md @@ -45,8 +45,3 @@ You are an expert in TypeScript, Angular, and scalable web application developme - Design services around a single responsibility - Use the `providedIn: 'root'` option for singleton services - Use the `inject()` function instead of constructor injection - -## Common pitfalls - -- Control flow (`@if`): - - You cannot use `as` expressions in `@else if (...)`. E.g. invalid code: `@else if (bla(); as x)`. From 767a280562e9808788c58756bc63877d2e2a375a Mon Sep 17 00:00:00 2001 From: Jeremy Elbourn Date: Tue, 12 Aug 2025 12:48:52 -0700 Subject: [PATCH 025/278] docs: add rxjs-interop section for `rxResource` (#63125) This commit adds brief documentation for `rxResource` to the "Using Angular with RxJS" guide. The only available documentation for `rxResource` today is the API reference, which lacks any code examples. PR Close #63125 --- .../ecosystem/rxjs-interop/signals-interop.md | 33 ++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/adev/src/content/ecosystem/rxjs-interop/signals-interop.md b/adev/src/content/ecosystem/rxjs-interop/signals-interop.md index 8e8a3188660c..79096063ae38 100644 --- a/adev/src/content/ecosystem/rxjs-interop/signals-interop.md +++ b/adev/src/content/ecosystem/rxjs-interop/signals-interop.md @@ -69,7 +69,7 @@ Use the `toObservable` utility to create an `Observable` which tracks the value import { Component, signal } from '@angular/core'; import { toObservable } from '@angular/core/rxjs-interop'; -@Component(...) +@Component(/* ... */) export class SearchResults { query: Signal = inject(QueryService).query; query$ = toObservable(this.query); @@ -102,3 +102,34 @@ mySignal.set(3); ``` Here, only the last value (3) will be logged. + +## Using `rxResource` for async data + +IMPORTANT: `rxResource` is [experimental](reference/releases#experimental). It's ready for you to try, but it might change before it is stable. + +Angular's [`resource` function](/guide/signals/resource) gives you a way to incorporate async data into your application's signal-based code. Building on top of this pattern, `rxResource` lets you define a resource where the source of your data is defined in terms of an RxJS `Observable`. Instead of accepting a `loader` function, `rxResource` accepts a `stream` function that accepts an RxJS `Observable`. + +```typescript +import {Component, inject} from '@angular/core'; +import {rxResource} from '@angular/core/rxjs-interop'; + +@Component(/* ... */) +export class UserProfile { + // This component relies on a service that exposes data through an RxJS Observable. + private userData = inject(MyUserDataClient); + + protected userId = input(); + + private userResource = rxResource({ + params: () => this.userId(), + + // The `stream` property expects a factory function that returns + // a data stream as an RxJS Observable. + stream: ({userId}) => this.userData.load(userId), + }); +} +``` + +The `stream` property accepts a factory function for an RxJS `Observable`. This factory function is passed the resource's `params` value and returns an `Observable`. The resource calls this factory function every time the `params` computation produces a new value. See [Resource loaders](/guide/signals/resource#resource-loaders) for more details on the parameters passed to the factory function. + +In all other ways, `rxResource` behaves like and provides the same APIs as `resource` for specifying parameters, reading values, checking loading state, and examining errors. From d9f0e6b27cb8b479017d970f46723ea1098c703d Mon Sep 17 00:00:00 2001 From: Andrew Scott Date: Wed, 13 Aug 2025 10:33:54 -0700 Subject: [PATCH 026/278] Revert "feat(platform-browser): Add IsolatedShadowDom encapsulation method (#62723)" (#63142) This reverts commit d24d5742db694604b09d57a3503e8c32751c4836. A legitimate issue was raised in the original commit (see https://github.com/angular/angular/commit/d24d5742db694604b09d57a3503e8c32751c4836#commitcomment-163853393) PR Close #63142 --- .../rendering/test/fake-cli-entries.json | 6 +- .../app/features/update/recommendations.ts | 2 +- adev/src/content/ai/mcp-server-setup.md | 2 +- adev/src/content/cli/help/generate.json | 2 +- adev/src/content/cli/help/new.json | 2 +- .../guide/animations/complex-sequences.md | 6 +- adev/src/content/guide/components/styling.md | 14 +- .../content/reference/migrations/overview.md | 2 +- .../component-metadata.component.ts | 2 +- goldens/public-api/core/index.api.md | 1 - .../annotations/component/src/handler.ts | 6 +- .../compiler/src/compiler_facade_interface.ts | 1 - packages/compiler/src/core.ts | 1 - .../src/compiler/compiler_facade_interface.ts | 1 - packages/core/src/hydration/annotate.ts | 9 +- packages/core/src/metadata/view.ts | 6 - packages/core/src/render3/hmr.ts | 5 +- .../core/src/render3/instructions/shared.ts | 5 +- .../platform-browser/src/dom/dom_renderer.ts | 34 +---- .../test/dom/dom_renderer_spec.ts | 122 ++---------------- 20 files changed, 39 insertions(+), 190 deletions(-) diff --git a/adev/shared-docs/pipeline/api-gen/rendering/test/fake-cli-entries.json b/adev/shared-docs/pipeline/api-gen/rendering/test/fake-cli-entries.json index db7424315a86..4d0374f4fdab 100644 --- a/adev/shared-docs/pipeline/api-gen/rendering/test/fake-cli-entries.json +++ b/adev/shared-docs/pipeline/api-gen/rendering/test/fake-cli-entries.json @@ -177,8 +177,7 @@ "enum": [ "Emulated", "None", - "ShadowDom", - "IsolatedShadowDom" + "ShadowDom" ], "description": "The view encapsulation strategy to use in the new application." } @@ -368,8 +367,7 @@ "enum": [ "Emulated", "None", - "ShadowDom", - "IsolatedShadowDom" + "ShadowDom" ], "description": "The view encapsulation strategy to use in the new component." } diff --git a/adev/src/app/features/update/recommendations.ts b/adev/src/app/features/update/recommendations.ts index 593e6af562bd..e1ab7b9d4a42 100644 --- a/adev/src/app/features/update/recommendations.ts +++ b/adev/src/app/features/update/recommendations.ts @@ -1032,7 +1032,7 @@ export const RECOMMENDATIONS: Step[] = [ level: ApplicationComplexity.Advanced, step: 'viewencapsulation native removed', action: - 'The component view encapsulation option `ViewEncapsulation.Native` has been removed. Use `ViewEncapsulation.ShadowDom` or `ViewEncapsulation.IsolatedShadowDom` instead. `ng update` will migrate you automatically.', + 'The component view encapsulation option `ViewEncapsulation.Native` has been removed. Use `ViewEncapsulation.ShadowDom` instead. `ng update` will migrate you automatically.', }, { possibleIn: 1100, diff --git a/adev/src/content/ai/mcp-server-setup.md b/adev/src/content/ai/mcp-server-setup.md index 42d07855a173..bd80cab748da 100644 --- a/adev/src/content/ai/mcp-server-setup.md +++ b/adev/src/content/ai/mcp-server-setup.md @@ -90,4 +90,4 @@ This tool lists all the applications and libraries in your current Angular works ## Feedback and New Ideas -The Angular team welcomes your feedback on the existing MCP capabilities and any ideas you have for new tools or features. Please share your thoughts by opening an issue on the [angular/angular GitHub repository](https://github.com/angular/angular/issues). \ No newline at end of file +The Angular team welcomes your feedback on the existing MCP capabilities and any ideas you have for new tools or features. Please share your thoughts by opening an issue on the [angular/angular GitHub repository](https://github.com/angular/angular/issues). diff --git a/adev/src/content/cli/help/generate.json b/adev/src/content/cli/help/generate.json index 0fa87d6c8e32..9fd006eb2953 100644 --- a/adev/src/content/cli/help/generate.json +++ b/adev/src/content/cli/help/generate.json @@ -998,4 +998,4 @@ "deprecated": false } ] -} +} \ No newline at end of file diff --git a/adev/src/content/cli/help/new.json b/adev/src/content/cli/help/new.json index f0c0197cce21..85d4e288c9d4 100644 --- a/adev/src/content/cli/help/new.json +++ b/adev/src/content/cli/help/new.json @@ -195,4 +195,4 @@ "description": "Create an initial application that does not utilize `zone.js`." } ] -} +} \ No newline at end of file diff --git a/adev/src/content/guide/animations/complex-sequences.md b/adev/src/content/guide/animations/complex-sequences.md index d2d281ccc55c..05502cc9a9da 100644 --- a/adev/src/content/guide/animations/complex-sequences.md +++ b/adev/src/content/guide/animations/complex-sequences.md @@ -121,11 +121,11 @@ IMPORTANT: If you need to animate the items of an `*ngFor` list and there is a p ## Animations and Component View Encapsulation -Angular animations are based on the components DOM structure and do not directly take [View Encapsulation](guide/components/styling#style-scoping) into account, this means that components using `ViewEncapsulation.Emulated` behave exactly as if they were using `ViewEncapsulation.None` (`ViewEncapsulation.ShadowDom` and `ViewEncapsulation.IsolatedShadowDom` behave differently as we'll discuss shortly). +Angular animations are based on the components DOM structure and do not directly take [View Encapsulation](guide/components/styling#style-scoping) into account, this means that components using `ViewEncapsulation.Emulated` behave exactly as if they were using `ViewEncapsulation.None` (`ViewEncapsulation.ShadowDom` behaves differently as we'll discuss shortly). For example if the `query()` function (which you'll see more of in the rest of the Animations guide) were to be applied at the top of a tree of components using the emulated view encapsulation, such query would be able to identify (and thus animate) DOM elements on any depth of the tree. -On the other hand the `ViewEncapsulation.ShadowDom` and `ViewEncapsulation.IsolatedShadowDom` changes the component's DOM structure by "hiding" DOM elements inside [`ShadowRoot`](https://developer.mozilla.org/docs/Web/API/ShadowRoot) elements. Such DOM manipulations do prevent some of the animations implementation to work properly since it relies on simple DOM structures and doesn't take `ShadowRoot` elements into account. Therefore it is advised to avoid applying animations to views incorporating components using the ShadowDom view encapsulation. +On the other hand the `ViewEncapsulation.ShadowDom` changes the component's DOM structure by "hiding" DOM elements inside [`ShadowRoot`](https://developer.mozilla.org/docs/Web/API/ShadowRoot) elements. Such DOM manipulations do prevent some of the animations implementation to work properly since it relies on simple DOM structures and doesn't take `ShadowRoot` elements into account. Therefore it is advised to avoid applying animations to views incorporating components using the ShadowDom view encapsulation. ## Animation sequence summary @@ -141,4 +141,4 @@ You might also be interested in the following: - \ No newline at end of file + diff --git a/adev/src/content/guide/components/styling.md b/adev/src/content/guide/components/styling.md index 25ea1bf87d20..d2bdd219fec5 100644 --- a/adev/src/content/guide/components/styling.md +++ b/adev/src/content/guide/components/styling.md @@ -36,7 +36,7 @@ and [stylus](https://stylus-lang.com). ## Style scoping Every component has a **view encapsulation** setting that determines how the framework scopes a -component's styles. There are four view encapsulation modes: `Emulated`, `ShadowDom`, `IsolatedShadowDom`, and `None`. +component's styles. There are three view encapsulation modes: `Emulated`, `ShadowDom`, and `None`. You can specify the mode in the `@Component` decorator: @@ -82,7 +82,9 @@ using [the web standard Shadow DOM API](https://developer.mozilla.org/docs/Web/W When enabling this mode, Angular attaches a shadow root to the component's host element and renders the component's template and styles into the corresponding shadow tree. -Styles inside the shadow tree cannot affect elements outside of that shadow tree. +This mode strictly guarantees that _only_ that component's styles apply to elements in the +component's template. Global styles cannot affect elements in a shadow tree and styles inside the +shadow tree cannot affect elements outside of that shadow tree. Enabling `ShadowDom` encapsulation, however, impacts more than style scoping. Rendering the component in a shadow tree affects event propagation, interaction @@ -90,12 +92,6 @@ with [the `` API](https://developer.mozilla.org/docs/Web/Web_Components/Us and how browser developer tools show elements. Always understand the full implications of using Shadow DOM in your application before enabling this option. -### ViewEncapsulation.IsolatedShadowDom - -Behaves as above, except this mode strictly guarantees that _only_ that component's styles apply to elements in the -component's template. Global styles cannot affect elements in a shadow tree and styles inside the -shadow tree cannot affect elements outside of that shadow tree. - ### ViewEncapsulation.None This mode disables all style encapsulation for the component. Any styles associated with the @@ -118,4 +114,4 @@ use [the `` element](https://developer.mozilla.org/docs/Web/HTML/Element/l reference CSS files. Additionally, your CSS may use [the `@import`at-rule](https://developer.mozilla.org/docs/Web/CSS/@import) to reference CSS files. Angular treats these references as _external_ styles. External styles are not affected by -emulated view encapsulation. \ No newline at end of file +emulated view encapsulation. diff --git a/adev/src/content/reference/migrations/overview.md b/adev/src/content/reference/migrations/overview.md index 17f69af91c44..847cc99d6b4a 100644 --- a/adev/src/content/reference/migrations/overview.md +++ b/adev/src/content/reference/migrations/overview.md @@ -30,4 +30,4 @@ Learn about how you can migrate your existing angular project to the latest feat Convert component templates to use self-closing tags where possible. - \ No newline at end of file + diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/component-metadata.component.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/component-metadata.component.ts index 257b3de9a4fa..0f73a86f6352 100644 --- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/component-metadata.component.ts +++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/property-tab/component-metadata.component.ts @@ -36,7 +36,7 @@ export class ComponentMetadataComponent { private _nestedProps = inject(ElementPropertyResolver); - angularViewEncapsulationModes = ['Emulated', 'Native', 'None', 'ShadowDom', 'IsolatedShadowDom']; + angularViewEncapsulationModes = ['Emulated', 'Native', 'None', 'ShadowDom']; acxViewEncapsulationModes = ['Emulated', 'None']; readonly controller = computed(() => { diff --git a/goldens/public-api/core/index.api.md b/goldens/public-api/core/index.api.md index bf535c153fc0..0f2ff7139b68 100644 --- a/goldens/public-api/core/index.api.md +++ b/goldens/public-api/core/index.api.md @@ -2022,7 +2022,6 @@ export abstract class ViewContainerRef { // @public export enum ViewEncapsulation { Emulated = 0, - IsolatedShadowDom = 4, None = 2, ShadowDom = 3 } diff --git a/packages/compiler-cli/src/ngtsc/annotations/component/src/handler.ts b/packages/compiler-cli/src/ngtsc/annotations/component/src/handler.ts index 70720ccf1c47..1667afc99654 100644 --- a/packages/compiler-cli/src/ngtsc/annotations/component/src/handler.ts +++ b/packages/compiler-cli/src/ngtsc/annotations/component/src/handler.ts @@ -862,11 +862,7 @@ export class ComponentDecoratorHandler } } - if ( - (encapsulation === ViewEncapsulation.ShadowDom || - encapsulation === ViewEncapsulation.IsolatedShadowDom) && - metadata.selector !== null - ) { + if (encapsulation === ViewEncapsulation.ShadowDom && metadata.selector !== null) { const selectorError = checkCustomElementSelectorForErrors(metadata.selector); if (selectorError !== null) { if (diagnostics === undefined) { diff --git a/packages/compiler/src/compiler_facade_interface.ts b/packages/compiler/src/compiler_facade_interface.ts index 84dac0bd903d..af405c1e2d0d 100644 --- a/packages/compiler/src/compiler_facade_interface.ts +++ b/packages/compiler/src/compiler_facade_interface.ts @@ -348,7 +348,6 @@ export enum ViewEncapsulation { // Historically the 1 value was for `Native` encapsulation which has been removed as of v11. None = 2, ShadowDom = 3, - IsolatedShadowDom = 4, } export type ChangeDetectionStrategy = number; diff --git a/packages/compiler/src/core.ts b/packages/compiler/src/core.ts index 4941742c1aa9..c63c1117805d 100644 --- a/packages/compiler/src/core.ts +++ b/packages/compiler/src/core.ts @@ -23,7 +23,6 @@ export enum ViewEncapsulation { // Historically the 1 value was for `Native` encapsulation which has been removed as of v11. None = 2, ShadowDom = 3, - IsolatedShadowDom = 4, } export enum ChangeDetectionStrategy { diff --git a/packages/core/src/compiler/compiler_facade_interface.ts b/packages/core/src/compiler/compiler_facade_interface.ts index 10ebf78876b3..8d9c9c564284 100644 --- a/packages/core/src/compiler/compiler_facade_interface.ts +++ b/packages/core/src/compiler/compiler_facade_interface.ts @@ -348,7 +348,6 @@ export enum ViewEncapsulation { // Historically the 1 value was for `Native` encapsulation which has been removed as of v11. None = 2, ShadowDom = 3, - IsolatedShadowDom = 4, } export type ChangeDetectionStrategy = number; diff --git a/packages/core/src/hydration/annotate.ts b/packages/core/src/hydration/annotate.ts index c0d3cf22f0b5..be1857f49ce5 100644 --- a/packages/core/src/hydration/annotate.ts +++ b/packages/core/src/hydration/annotate.ts @@ -792,12 +792,9 @@ function conditionallyAnnotateNodePath( */ function componentUsesShadowDomEncapsulation(lView: LView): boolean { const instance = lView[CONTEXT]; - if (!instance?.constructor) return false; - const def = getComponentDef(instance.constructor); - return ( - def?.encapsulation === ViewEncapsulation.ShadowDom || - def?.encapsulation === ViewEncapsulation.IsolatedShadowDom - ); + return instance?.constructor + ? getComponentDef(instance.constructor)?.encapsulation === ViewEncapsulation.ShadowDom + : false; } /** diff --git a/packages/core/src/metadata/view.ts b/packages/core/src/metadata/view.ts index 19c08bfad3cc..cff1ecdcaae4 100644 --- a/packages/core/src/metadata/view.ts +++ b/packages/core/src/metadata/view.ts @@ -47,10 +47,4 @@ export enum ViewEncapsulation { * all the Component's styling. */ ShadowDom = 3, - /** - * Similar to `ShadowDom`, but prevents any external styles from leaking into the - * component's ShadowRoot. This is useful when you want to ensure that the component's - * styles are completely isolated from the rest of the application, including global styles. - */ - IsolatedShadowDom = 4, } diff --git a/packages/core/src/render3/hmr.ts b/packages/core/src/render3/hmr.ts index 1c270688c2c3..047b12b96f79 100644 --- a/packages/core/src/render3/hmr.ts +++ b/packages/core/src/render3/hmr.ts @@ -245,10 +245,7 @@ function recreateLView( // shadow root. The browser will throw if we attempt to attach another one and there's no way // to detach it. Our only option is to make a clone only of the root node, replace the node // with the clone and use it for the newly-created LView. - if ( - oldDef.encapsulation === ViewEncapsulation.ShadowDom || - oldDef.encapsulation === ViewEncapsulation.IsolatedShadowDom - ) { + if (oldDef.encapsulation === ViewEncapsulation.ShadowDom) { const newHost = host.cloneNode(false) as HTMLElement; host.replaceWith(newHost); host = newHost; diff --git a/packages/core/src/render3/instructions/shared.ts b/packages/core/src/render3/instructions/shared.ts index 85be761b44f7..fd665cc91cc1 100644 --- a/packages/core/src/render3/instructions/shared.ts +++ b/packages/core/src/render3/instructions/shared.ts @@ -177,10 +177,7 @@ export function locateHostElement( // When using native Shadow DOM, do not clear host element to allow native slot // projection. - const preserveContent = - preserveHostContent || - encapsulation === ViewEncapsulation.ShadowDom || - encapsulation === ViewEncapsulation.IsolatedShadowDom; + const preserveContent = preserveHostContent || encapsulation === ViewEncapsulation.ShadowDom; const rootElement = renderer.selectRootElement(elementOrSelector, preserveContent); applyRootElementTransform(rootElement as HTMLElement); return rootElement; diff --git a/packages/platform-browser/src/dom/dom_renderer.ts b/packages/platform-browser/src/dom/dom_renderer.ts index ab1de2cdde8f..b87a78a371ae 100644 --- a/packages/platform-browser/src/dom/dom_renderer.ts +++ b/packages/platform-browser/src/dom/dom_renderer.ts @@ -177,8 +177,7 @@ export class DomRendererFactory2 implements RendererFactory2, OnDestroy { if ( typeof ngServerMode !== 'undefined' && ngServerMode && - (type.encapsulation === ViewEncapsulation.ShadowDom || - type.encapsulation === ViewEncapsulation.IsolatedShadowDom) + type.encapsulation === ViewEncapsulation.ShadowDom ) { // Domino does not support shadow DOM. type = {...type, encapsulation: ViewEncapsulation.Emulated}; @@ -229,20 +228,7 @@ export class DomRendererFactory2 implements RendererFactory2, OnDestroy { case ViewEncapsulation.ShadowDom: return new ShadowDomRenderer( eventManager, - element, - type, - doc, - ngZone, - this.nonce, - platformIsServer, - tracingService, - this.registry, - this.maxAnimationTimeout, sharedStylesHost, - ); - case ViewEncapsulation.IsolatedShadowDom: - return new ShadowDomRenderer( - eventManager, element, type, doc, @@ -253,7 +239,6 @@ export class DomRendererFactory2 implements RendererFactory2, OnDestroy { this.registry, this.maxAnimationTimeout, ); - default: renderer = new NoneEncapsulationDomRenderer( eventManager, @@ -516,7 +501,6 @@ class DefaultDomRenderer2 implements Renderer2 { } const AT_CHARCODE = (() => '@'.charCodeAt(0))(); - function checkNoSyntheticProp(name: string, nameKind: string) { if (name.charCodeAt(0) === AT_CHARCODE) { throw new RuntimeError( @@ -537,6 +521,7 @@ class ShadowDomRenderer extends DefaultDomRenderer2 { constructor( eventManager: EventManager, + private sharedStylesHost: SharedStylesHost, private hostEl: any, component: RendererType2, doc: Document, @@ -546,7 +531,6 @@ class ShadowDomRenderer extends DefaultDomRenderer2 { tracingService: TracingService | null, registry: AnimationRemovalRegistry, maxAnimationTimeout: number, - private sharedStylesHost?: SharedStylesHost, ) { super( eventManager, @@ -558,12 +542,7 @@ class ShadowDomRenderer extends DefaultDomRenderer2 { maxAnimationTimeout, ); this.shadowRoot = (hostEl as any).attachShadow({mode: 'open'}); - - // SharedStylesHost is used to add styles to the shadow root by ShadowDom. - // This is optional as it is not used by IsolatedShadowDom. - if (this.sharedStylesHost) { - this.sharedStylesHost.addHost(this.shadowRoot); - } + this.sharedStylesHost.addHost(this.shadowRoot); let styles = component.styles; if (ngDevMode) { // We only do this in development, as for production users should not add CSS sourcemaps to components. @@ -609,23 +588,18 @@ class ShadowDomRenderer extends DefaultDomRenderer2 { override appendChild(parent: any, newChild: any): void { return super.appendChild(this.nodeOrShadowRoot(parent), newChild); } - override insertBefore(parent: any, newChild: any, refChild: any): void { return super.insertBefore(this.nodeOrShadowRoot(parent), newChild, refChild); } - override removeChild(_parent: any, oldChild: any): void { return super.removeChild(null, oldChild); } - override parentNode(node: any): any { return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(node))); } override destroy() { - if (this.sharedStylesHost) { - this.sharedStylesHost.removeHost(this.shadowRoot); - } + this.sharedStylesHost.removeHost(this.shadowRoot); } } diff --git a/packages/platform-browser/test/dom/dom_renderer_spec.ts b/packages/platform-browser/test/dom/dom_renderer_spec.ts index 21d8026c197a..72110bd0d381 100644 --- a/packages/platform-browser/test/dom/dom_renderer_spec.ts +++ b/packages/platform-browser/test/dom/dom_renderer_spec.ts @@ -30,12 +30,10 @@ describe('DefaultDomRendererV2', () => { declarations: [ TestCmp, SomeApp, - IsolatedShadowComponentParentApp, SomeAppForCleanUp, CmpEncapsulationEmulated, CmpEncapsulationNone, CmpEncapsulationShadow, - CmpEncapsulationIsolatedShadowWithChildren, ], }); renderer = TestBed.createComponent(TestCmp).componentInstance.renderer; @@ -111,65 +109,22 @@ describe('DefaultDomRendererV2', () => { }); }); - it('should style non-descendant components correctly with different types of encapsulation', () => { + it('should allow to style components with emulated encapsulation and no encapsulation inside of components with shadow DOM', () => { const fixture = TestBed.createComponent(SomeApp); fixture.detectChanges(); const cmp = fixture.debugElement.query(By.css('cmp-shadow')).nativeElement; - const shadowRoot = cmp.shadowRoot; - const shadow = shadowRoot.querySelector('.shadow'); + const shadow = cmp.shadowRoot.querySelector('.shadow'); + expect(window.getComputedStyle(shadow).color).toEqual('rgb(255, 0, 0)'); - const emulated = fixture.debugElement.query(By.css('.emulated')).nativeElement; + const emulated = cmp.shadowRoot.querySelector('.emulated'); expect(window.getComputedStyle(emulated).color).toEqual('rgb(0, 0, 255)'); - const none = fixture.debugElement.query(By.css('.none')).nativeElement; + const none = cmp.shadowRoot.querySelector('.none'); expect(window.getComputedStyle(none).color).toEqual('rgb(0, 255, 0)'); }); - it('should encapsulate shadow DOM components, with child components inheriting from shadow styles not global styles', () => { - const fixture = TestBed.createComponent(IsolatedShadowComponentParentApp); - fixture.detectChanges(); - const shadowcmp = fixture.debugElement.query(By.css('cmp-shadow-children')).nativeElement; - const shadowRoot = shadowcmp.shadowRoot; - - const shadow = shadowRoot.querySelector('.shadow'); - expect(window.getComputedStyle(shadow).color).toEqual('rgb(255, 0, 0)'); - - const emulated = fixture.debugElement.query(By.css('.emulated')).nativeElement; - expect(window.getComputedStyle(emulated).color).toEqual('rgb(255, 0, 0)'); - - const none = fixture.debugElement.query(By.css('.none')).nativeElement; - expect(window.getComputedStyle(none).color).toEqual('rgb(255, 0, 0)'); - }); - - it('child components of shadow components should inherit browser defaults rather than their component styles', () => { - const fixture = TestBed.createComponent(IsolatedShadowComponentParentApp); - fixture.detectChanges(); - - const shadowcmp = fixture.debugElement.query(By.css('cmp-shadow-children')).nativeElement; - const shadowRoot = shadowcmp.shadowRoot; - const shadow = shadowRoot.querySelector('.shadow'); - expect(window.getComputedStyle(shadow).backgroundColor).toEqual('rgba(0, 0, 0, 0)'); - - const emulated = fixture.debugElement.query(By.css('.emulated')).nativeElement; - expect(window.getComputedStyle(emulated).backgroundColor).toEqual('rgba(0, 0, 0, 0)'); - - const none = fixture.debugElement.query(By.css('.none')).nativeElement; - expect(window.getComputedStyle(none).backgroundColor).toEqual('rgba(0, 0, 0, 0)'); - }); - - it('shadow components should not be polluted by child components styles when using IsolatedShadowDom', () => { - const fixture = TestBed.createComponent(IsolatedShadowComponentParentApp); - fixture.detectChanges(); - - const cmp = fixture.debugElement.query(By.css('cmp-shadow-children')).nativeElement; - const shadowRoot = cmp.shadowRoot; - const shadow = shadowRoot.querySelector('.shadow'); - expect(window.getComputedStyle(shadow).backgroundColor).not.toEqual('rgb(0, 0, 255)'); - expect(window.getComputedStyle(shadow).backgroundColor).not.toEqual('rgb(0, 255, 0)'); - }); - it('should be able to append children to a