From 57431017d510be30c4212218cfcd3d6c2e896fea Mon Sep 17 00:00:00 2001 From: Alex Rickabaugh Date: Wed, 6 May 2026 16:27:13 -0700 Subject: [PATCH 001/317] release: cut the v22.0.0-next.11 release --- CHANGELOG.md | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 61 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8e556994c95e..cc6cfbec3874 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,63 @@ + +# 22.0.0-next.11 (2026-05-06) +## Breaking Changes +### forms +- `min` and `max` validation rules no longer support + string values. Bound values must be numbers or null. +## Deprecations +### http +- The `reportProgress` option is deprecated please use `reportUploadProgress` & `reportDownloadProgress` instead. +### compiler +| Commit | Type | Description | +| -- | -- | -- | +| [b225a5d902](https://github.com/angular/angular/commit/b225a5d902f0ee1f6f68cde42266748cb1f2b1f8) | fix | invalid type checking code if field name needs to be quoted | +### compiler-cli +| Commit | Type | Description | +| -- | -- | -- | +| [b8d3f36ed9](https://github.com/angular/angular/commit/b8d3f36ed962bd4f5abd6bf6e55078b56ce9fffa) | feat | add support for Node.js 26.0.0 | +| [2eae497a04](https://github.com/angular/angular/commit/2eae497a04a6a9b34397181dcd64dbd103f76c47) | feat | support external TCBs with copied content in specific mode | +### core +| Commit | Type | Description | +| -- | -- | -- | +| [3b0ae5fef0](https://github.com/angular/angular/commit/3b0ae5fef0328477ee0f5d51980217e7c583a606) | feat | add `provideWebMcpTools` | +| [5a7c1e62dc](https://github.com/angular/angular/commit/5a7c1e62dc2a4fa199b85150eca66914c107a6f4) | feat | add ability to cache resources for SSR | +| [ef1810197b](https://github.com/angular/angular/commit/ef1810197b679bfcbf21a139b930984302cbe77f) | feat | export experimental `declareWebMcpTool` support | +| [1ab654cf28](https://github.com/angular/angular/commit/1ab654cf281559294bdd3b900ad81490cb91007f) | fix | allow explicit read generic with signal input transforms | +| [49748b5c79](https://github.com/angular/angular/commit/49748b5c7989b4e27686798ea7935e87d804eece) | fix | enforce return type for service factory | +| [6339d264eb](https://github.com/angular/angular/commit/6339d264eb2c00e956b504691842e49cfe365e80) | fix | i18n flags leaking on errors | +| [7aad302c3e](https://github.com/angular/angular/commit/7aad302c3ee6e9c711ab10ae0a9e8bc66d35291c) | fix | mark service decorator as stable | +| [4c9afb68a3](https://github.com/angular/angular/commit/4c9afb68a3447388f9ef1264888ea5dd6cb95dad) | fix | respect ngSkipHydration on components with projectable nodes in LContainers | +| [9d7a609458](https://github.com/angular/angular/commit/9d7a609458f9d9a3f988155c9481a862c4c51eb0) | fix | validate security-sensitive attributes in i18n bindings | +| [0ea27f4e65](https://github.com/angular/angular/commit/0ea27f4e652ddcf444b4c22a3b9643b7cc645926) | fix | visit ng-let expression value in signal migration schematics | +### forms +| Commit | Type | Description | +| -- | -- | -- | +| [7745365910](https://github.com/angular/angular/commit/7745365910771d97c91e9b640c2c26a99bfa5a6d) | feat | graduate signal forms APIs to public API | +| [3524de29f3](https://github.com/angular/angular/commit/3524de29f34bef5df941e08e88920dffe4f880c8) | fix | Add support for range type with outside of native bounds | +| [0ea50ffe5a](https://github.com/angular/angular/commit/0ea50ffe5adb07515867e8bf30d1abee49413003) | fix | ensure debounced async validators produce pending status during debounce | +| [3c44d7c90b](https://github.com/angular/angular/commit/3c44d7c90b2392f7307d1b1dd0734db10ede63f5) | fix | fix orphan field error on blur during array removal | +| [849dba6c65](https://github.com/angular/angular/commit/849dba6c6506c2696a43a3fad6ee459e17b4b6c8) | fix | implement custom control reset propagation | +| [5835a5e3a7](https://github.com/angular/angular/commit/5835a5e3a73686473ad064f53f93d9d9acb541a6) | fix | prevent orphan field crashes in debounceSync and async validation | +| [708631f2c4](https://github.com/angular/angular/commit/708631f2c48c146f2c6864c5edfec1d9ca4b0fe9) | fix | prohibit concurrent submits in signal forms | +| [68c3abbe09](https://github.com/angular/angular/commit/68c3abbe09f1937081b83af3c7d82ed1a044974f) | fix | synchronize controls with the model on reset | +| [e0536091f5](https://github.com/angular/angular/commit/e0536091f5f6c2033e377998eea3bf65b14f5ac6) | perf | optimize reactivity by using shallow array equality | +| [9b9769479b](https://github.com/angular/angular/commit/9b9769479b295bf34bae9a938ee758a256bd4b32) | perf | shortcut deepSignal writes if value is unchanged | +| [592a12d6c9](https://github.com/angular/angular/commit/592a12d6c947a0210020b00fd98ffa9fdaca2c20) | refactor | remove string support from min and max validation rules ([#68001](https://github.com/angular/angular/pull/68001)) | +### http +| Commit | Type | Description | +| -- | -- | -- | +| [7c8c3347ef](https://github.com/angular/angular/commit/7c8c3347efc1be2b5967b9481e3a2a3a23c24977) | refactor | Add `reportUploadProgress` & `reportDownloadProgress` options | +### language-service +| Commit | Type | Description | +| -- | -- | -- | +| [dc9c72da9b](https://github.com/angular/angular/commit/dc9c72da9b4ca499eebf6e78d7ccc31ea6f63580) | fix | Add support for `@Input` with transforms | +### router +| Commit | Type | Description | +| -- | -- | -- | +| [c84642ac16](https://github.com/angular/angular/commit/c84642ac16bf3588c071bbdcc684daa8d4e494b3) | feat | add unmatchedInputBehavior option to componentInputBinding | + + + # 21.2.12 (2026-05-06) ### core diff --git a/package.json b/package.json index a0a8c5778797..99de72a50d9c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "angular-srcs", - "version": "22.0.0-next.10", + "version": "22.0.0-next.11", "private": true, "description": "Angular - a web framework for modern web apps", "homepage": "https://github.com/angular/angular", From 0f2160c4105a53ef6488d2c799dda9c0959ce7dc Mon Sep 17 00:00:00 2001 From: Alan Agius <17563226+alan-agius4@users.noreply.github.com> Date: Thu, 7 May 2026 08:03:56 +0000 Subject: [PATCH 002/317] fix(migrations): remove compiler import from safe optional chaining migration Removes the @angular/compiler import from the safe optional chaining migration. This import is not needed as the compiler package import is side-effectful and has no functional use here. (cherry picked from commit f1738b5032b2fdc96f169917e0712f5f4d7f7f16) --- .../schematics/migrations/safe-optional-chaining/migration.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/core/schematics/migrations/safe-optional-chaining/migration.ts b/packages/core/schematics/migrations/safe-optional-chaining/migration.ts index 389bedffce66..1a72bf5975e9 100644 --- a/packages/core/schematics/migrations/safe-optional-chaining/migration.ts +++ b/packages/core/schematics/migrations/safe-optional-chaining/migration.ts @@ -57,8 +57,6 @@ import { } from '../../utils/tsurge'; import {getPropertyNameText} from '../../utils/typescript/property_name'; -import('@angular/compiler'); - export interface CompilationUnitData { replacements: Replacement[]; } From fd9dda5819eddf556f625956765611a3d77c6a6a Mon Sep 17 00:00:00 2001 From: "SUMIDA, Ippei" Date: Tue, 5 May 2026 16:43:30 +0900 Subject: [PATCH 003/317] docs: Update error display for password field in signal forms playground Change error message display from paragraph to list format in signal forms playground. (cherry picked from commit 2fcfffbc7dc2b2a9980178e1170fadd4ef648fcd) --- .../content/tutorials/playground/4-signal-forms/src/main.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/adev/src/content/tutorials/playground/4-signal-forms/src/main.ts b/adev/src/content/tutorials/playground/4-signal-forms/src/main.ts index b88e37716519..66b980f3fa72 100644 --- a/adev/src/content/tutorials/playground/4-signal-forms/src/main.ts +++ b/adev/src/content/tutorials/playground/4-signal-forms/src/main.ts @@ -33,11 +33,11 @@ interface LoginData { @if (loginForm.password().invalid()) { -
+
    @for (error of loginForm.password().errors(); track error) { -

    {{ error.message }}

    +
  • {{ error.message }}
  • } -
+ } From e738db659cb11ceef94dc934b2d335aa82e98ffd Mon Sep 17 00:00:00 2001 From: Bhuvansh855 Date: Thu, 30 Apr 2026 01:22:41 +0530 Subject: [PATCH 004/317] docs(animations): improve grammar and clarity across animation guides (cherry picked from commit dc4b3172df4e77309f8248d488fe5a4ac57014aa) --- .../content/guide/animations/complex-sequences.md | 12 ++++++------ adev/src/content/guide/animations/css.md | 10 +++++----- adev/src/content/guide/animations/enter-and-leave.md | 8 ++++---- adev/src/content/guide/animations/migration.md | 8 ++++---- adev/src/content/guide/animations/overview.md | 8 ++++---- .../content/guide/animations/reusable-animations.md | 6 +++--- .../guide/animations/transition-and-triggers.md | 8 ++++---- 7 files changed, 30 insertions(+), 30 deletions(-) diff --git a/adev/src/content/guide/animations/complex-sequences.md b/adev/src/content/guide/animations/complex-sequences.md index 4070303ceeed..0efe9729d104 100644 --- a/adev/src/content/guide/animations/complex-sequences.md +++ b/adev/src/content/guide/animations/complex-sequences.md @@ -17,12 +17,12 @@ The functions that control complex animation sequences are: ## The query() function -Most complex animations rely on the `query()` function to find child elements and apply animations to them, basic examples of such are: +Most complex animations rely on the `query()` function to find child elements and apply animations to them. Basic examples include: -| Examples | Details | -| :------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `query()` followed by `animate()` | Used to query simple HTML elements and directly apply animations to them. | -| `query()` followed by `animateChild()` | Used to query child elements, which themselves have animations metadata applied to them and trigger such animation \(which would be otherwise be blocked by the current/parent element's animation\). | +| Examples | Details | +| :------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `query()` followed by `animate()` | Used to query simple HTML elements and directly apply animations to them. | +| `query()` followed by `animateChild()` | Used to query child elements, which themselves have animation metadata applied to them and trigger such animations \(which would otherwise be blocked by the current/parent element's animation\). | The first argument of `query()` is a [css selector](https://developer.mozilla.org/docs/Web/CSS/CSS_Selectors) string which can also contain the following Angular-specific tokens: @@ -43,7 +43,7 @@ You can also see an illustration of this in the animations example \(introduced ## Animate multiple elements using query() and stagger() functions -After having queried child elements via `query()`, the `stagger()` function lets you define a timing gap between each queried item that is animated and thus animates elements with a delay between them. +After querying child elements via `query()`, the `stagger()` function lets you define a timing gap between each item, animating elements with a delay between them. The following example demonstrates how to use the `query()` and `stagger()` functions to animate a list \(of heroes\) adding each in sequence, with a slight delay, from top to bottom. diff --git a/adev/src/content/guide/animations/css.md b/adev/src/content/guide/animations/css.md index 4ad6d5e0a6aa..5781643021c0 100644 --- a/adev/src/content/guide/animations/css.md +++ b/adev/src/content/guide/animations/css.md @@ -4,7 +4,7 @@ CSS offers a robust set of tools for you to create beautiful and engaging animat ## How to write animations in native CSS -If you've never written any native CSS animations, there are a number of excellent guides to get you started. Here's a few of them: +If you've never written any native CSS animations, there are a number of excellent guides to get you started. Here are a few of them: [MDN's CSS Animations guide](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_animations/Using_CSS_animations) [W3Schools CSS3 Animations guide](https://www.w3schools.com/css/css3_animations.asp) [The Complete CSS Animations Tutorial](https://www.lambdatest.com/blog/css-animations-tutorial/) @@ -14,7 +14,7 @@ and a couple of videos: [Learn CSS Animation in 9 Minutes](https://www.youtube.com/watch?v=z2LQYsZhsFw) [Net Ninja CSS Animation Tutorial Playlist](https://www.youtube.com/watch?v=jgw82b5Y2MU&list=PL4cUxeGkcC9iGYgmEd2dm3zAKzyCGDtM5) -Check some of these various guides and tutorials out, and then come back to this guide. +Check out some of these guides and tutorials, then come back to this guide. ## Creating Reusable Animations @@ -28,7 +28,7 @@ Adding the class `animated-class` to an element would trigger the animation on t ### Animating State and Styles -You may want to animate between two different states, for example when an element is opened or closed. You can accomplish this by using CSS classes either using a keyframe animation or transition styling. +You may want to animate between two different states, for example when an element is opened or closed. You can accomplish this by using CSS classes, either with a keyframe animation or transition styling. @@ -38,7 +38,7 @@ You can see similar examples in the template guide for [animating styles directl ### Transitions, Timing, and Easing -Animating often requires adjusting timing, delays and easeing behaviors. This can be done using several css properties or shorthand properties. +Animating often requires adjusting timing, delays, and easing behaviors. This can be done using several css properties or shorthand properties. Specify `animation-duration`, `animation-delay`, and `animation-timing-function` for a keyframe animation in CSS, or alternatively use the `animation` shorthand property. @@ -62,7 +62,7 @@ Animations can be triggered by toggling CSS styles or classes. Once a class is p ### Animating Auto Height -You can use css-grid to animate to auto height. +You can use CSS Grid to animate to auto height. diff --git a/adev/src/content/guide/animations/enter-and-leave.md b/adev/src/content/guide/animations/enter-and-leave.md index 8a8db2f3b91b..7817950ed914 100644 --- a/adev/src/content/guide/animations/enter-and-leave.md +++ b/adev/src/content/guide/animations/enter-and-leave.md @@ -1,13 +1,13 @@ # Animating your applications with `animate.enter` and `animate.leave` -Well-designed animations can make your application more fun and straightforward to use, but they aren't just cosmetic. -Animations can improve your application and user experience in a number of ways: +Well-designed animations can make your application more intuitive and engaging, but they aren't just cosmetic. +Animations can improve your application and the user experience in a number of ways: - Without animations, web page transitions can seem abrupt and jarring - Motion greatly enhances the user experience, so animations give users a chance to detect the application's response to their actions - Good animations can smoothly direct the user's attention throughout a workflow -Angular provides `animate.enter` and `animate.leave` to animate your application's elements. These two features apply enter and leave CSS classes at the appropriate times or call functions to apply animations from third party libraries. `animate.enter` and `animate.leave` are not directives. They are special API supported directly by the Angular compiler. They can be used on elements directly and can also be used as a host binding. +Angular provides `animate.enter` and `animate.leave` to animate your application's elements. These two features apply enter and leave CSS classes at the appropriate times or call functions to apply animations from third party libraries. `animate.enter` and `animate.leave` are not directives. They are special API supported directly by the Angular compiler. They can be used directly on elements and also as a host binding. ## `animate.enter` @@ -19,7 +19,7 @@ You can use `animate.enter` to animate elements as they _enter_ the DOM. You can -When the animation completes, Angular removes the class or classes that you specified in `animate.enter` from the DOM. Animation classes are only be present while the animation is active. +When the animation completes, Angular removes the class or classes that you specified in `animate.enter` from the DOM. Animation classes are only present while the animation is active. NOTE: When using multiple keyframe animations or transition properties on an element, Angular removes all classes only _after_ the longest animation has completed. diff --git a/adev/src/content/guide/animations/migration.md b/adev/src/content/guide/animations/migration.md index e3a3e8dff336..7aa4258b5834 100644 --- a/adev/src/content/guide/animations/migration.md +++ b/adev/src/content/guide/animations/migration.md @@ -4,7 +4,7 @@ The `@angular/animations` package is deprecated as of v20.2, which also introduc ## How to write animations in native CSS -If you've never written any native CSS animations, there are a number of excellent guides to get you started. Here's a few of them: +If you've never written any native CSS animations, there are a number of excellent guides to get you started. Here are a few of them: [MDN's CSS Animations guide](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_animations/Using_CSS_animations) [W3Schools CSS3 Animations guide](https://www.w3schools.com/css/css3_animations.asp) [The Complete CSS Animations Tutorial](https://www.lambdatest.com/blog/css-animations-tutorial/) @@ -14,7 +14,7 @@ and a couple of videos: [Learn CSS Animation in 9 Minutes](https://www.youtube.com/watch?v=z2LQYsZhsFw) [Net Ninja CSS Animation Tutorial Playlist](https://www.youtube.com/watch?v=jgw82b5Y2MU&list=PL4cUxeGkcC9iGYgmEd2dm3zAKzyCGDtM5) -Check some of these various guides and tutorials out, and then come back to this guide. +Check out some of these guides and tutorials, then come back to this guide. ## Creating Reusable Animations @@ -40,7 +40,7 @@ The animations package allowed you to define various states using the [`state()` -This same behavior can be accomplished natively by using CSS classes either using a keyframe animation or transition styling. +This same behavior can be accomplished natively by using CSS classes, either with a keyframe animation or transition styling. #### With Native CSS @@ -102,7 +102,7 @@ The animations package offers the ability to animate things that have been histo -You can use css-grid to animate to auto height. +You can use CSS Grid to animate to auto height. #### With Native CSS diff --git a/adev/src/content/guide/animations/overview.md b/adev/src/content/guide/animations/overview.md index ec2ee0d7c0d2..db2a70fa81c5 100644 --- a/adev/src/content/guide/animations/overview.md +++ b/adev/src/content/guide/animations/overview.md @@ -2,9 +2,9 @@ IMPORTANT: The `@angular/animations` package is now deprecated. The Angular team recommends using native CSS with `animate.enter` and `animate.leave` for animations for all new code. Learn more at the new enter and leave [animation guide](guide/animations). Also see [Migrating away from Angular's Animations package](guide/animations/migration) to learn how you can start migrating to pure CSS animations in your apps. -Animation provides the illusion of motion: HTML elements change styling over time. -Well-designed animations can make your application more fun and straightforward to use, but they aren't just cosmetic. -Animations can improve your application and user experience in a number of ways: +Animation provides the illusion of motion: HTML elements change styles over time. +Well-designed animations can make your application more intuitive and engaging, but they aren't just cosmetic. +Animations can improve your application and the user experience in a number of ways: - Without animations, web page transitions can seem abrupt and jarring - Motion greatly enhances the user experience, so animations give users a chance to detect the application's response to their actions @@ -70,7 +70,7 @@ You put the trigger that defines an animation within the `animations` metadata p Let's animate a transition that changes a single HTML element from one state to another. For example, you can specify that a button displays either **Open** or **Closed** based on the user's last action. When the button is in the `open` state, it's visible and yellow. -When it's the `closed` state, it's translucent and blue. +When it's in the `closed` state, it's translucent and blue. In HTML, these attributes are set using ordinary CSS styles such as color and opacity. In Angular, use the `style()` function to specify a set of CSS styles for use with animations. diff --git a/adev/src/content/guide/animations/reusable-animations.md b/adev/src/content/guide/animations/reusable-animations.md index b1519edfe809..7aa3fcab41fe 100644 --- a/adev/src/content/guide/animations/reusable-animations.md +++ b/adev/src/content/guide/animations/reusable-animations.md @@ -2,12 +2,12 @@ IMPORTANT: The `@angular/animations` package is now deprecated. The Angular team recommends using native CSS with `animate.enter` and `animate.leave` for animations for all new code. Learn more at the new enter and leave [animation guide](guide/animations). Also see [Migrating away from Angular's Animations package](guide/animations/migration) to learn how you can start migrating to pure CSS animations in your apps. -This topic provides some examples of how to create reusable animations. +This topic provides examples of how to create reusable animations. ## Create reusable animations To create a reusable animation, use the [`animation()`](api/animations/animation) function to define an animation in a separate `.ts` file and declare this animation definition as a `const` export variable. -You can then import and reuse this animation in any of your application components using the [`useAnimation()`](api/animations/useAnimation) function. +You can then import and reuse this animation in your application components using the [`useAnimation()`](api/animations/useAnimation) function. @@ -20,7 +20,7 @@ For example, the following snippet exports the animation `trigger`. -From this point, you can import reusable animation variables in your component class. +From this point, you can import reusable animation variables into your component class. For example, the following code snippet imports the `transitionAnimation` variable and uses it via the `useAnimation()` function. diff --git a/adev/src/content/guide/animations/transition-and-triggers.md b/adev/src/content/guide/animations/transition-and-triggers.md index 1e03b72ed953..7cfe75968dee 100644 --- a/adev/src/content/guide/animations/transition-and-triggers.md +++ b/adev/src/content/guide/animations/transition-and-triggers.md @@ -2,7 +2,7 @@ IMPORTANT: The `@angular/animations` package is now deprecated. The Angular team recommends using native CSS with `animate.enter` and `animate.leave` for animations for all new code. Learn more at the new enter and leave [animation guide](guide/animations). Also see [Migrating away from Angular's Animations package](guide/animations/migration) to learn how you can start migrating to pure CSS animations in your apps. -This guide goes into depth on special transition states such as the `*` wildcard and `void`. It shows how these special states are used for elements entering and leaving a view. +This guide goes into depth on special transition states such as the `*` wildcard and `void`. It also shows how these states are used for elements entering and leaving a view. This section also explores multiple animation triggers, animation callbacks, and sequence-based animation using keyframes. ## Predefined states and wildcard matching @@ -99,7 +99,7 @@ Use the aliases `:enter` and `:leave` to target HTML elements that are inserted The `:enter` transition runs when any `*ngIf` or `*ngFor` views are placed on the page, and `:leave` runs when those views are removed from the page. -IMPORTANT: Entering/leaving behaviors can sometime be confusing. +IMPORTANT: Entering/leaving behaviors can sometimes be confusing. As a rule of thumb consider that any element being added to the DOM by Angular passes via the `:enter` transition. Only elements being directly removed from the DOM by Angular pass via the `:leave` transition. For example, an element's view is removed from the DOM because its parent is being removed from the DOM. This example has a special trigger for the enter and leave animation called `myInsertRemoveTrigger`. @@ -239,7 +239,7 @@ You can combine keyframes with `duration`, `delay`, and `easing` within a single ### Keyframes with a pulsation -Use keyframes to create a pulse effect in your animations by defining styles at specific offset throughout the animation. +Use keyframes to create a pulse effect in your animations by defining styles at specific offsets throughout the animation. Here's an example of using keyframes to create a pulse effect: @@ -254,7 +254,7 @@ The code snippet for this animation might look like this. ### Animatable properties and units -Angular animations support builds on top of web animations, so you can animate any property that the browser considers animatable. +Angular animations are built on top of web animations, so you can animate any property that the browser considers animatable. This includes positions, sizes, transforms, colors, borders, and more. The W3C maintains a list of animatable properties on its [CSS Transitions](https://www.w3.org/TR/css-transitions-1) page. From 0f4bf97d06e3d15bcbcfdbd007d927f328d48213 Mon Sep 17 00:00:00 2001 From: Alan Agius <17563226+alan-agius4@users.noreply.github.com> Date: Wed, 6 May 2026 17:05:13 +0000 Subject: [PATCH 005/317] docs: update Node.js version requirements in version reference table (cherry picked from commit d8e5514f3017e308ad060fd2e6f6828770641da1) --- adev/src/content/reference/versions.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/adev/src/content/reference/versions.md b/adev/src/content/reference/versions.md index 74cc46b03557..cefeb75cedb1 100644 --- a/adev/src/content/reference/versions.md +++ b/adev/src/content/reference/versions.md @@ -7,15 +7,15 @@ Angular requires. This table covers [Angular versions under active support](reference/releases#actively-supported-versions). -| Angular | Node.js | TypeScript | RxJS | -| ------------------------------ | ------------------------------------ | -------------- | ------------------ | -| 22.0.x | ^22.22.0 \|\| ^24.13.1 \|\| >=26.0.0 | >=6.0.0 <6.1.0 | ^6.5.3 \|\| ^7.4.0 | -| 21.0.x \|\| 21.1.x \|\| 21.2.x | ^20.19.0 \|\| ^22.12.0 \|\| ^24.0.0 | >=5.9.0 <6.0.0 | ^6.5.3 \|\| ^7.4.0 | -| 20.2.x \|\| 20.3.x | ^20.19.0 \|\| ^22.12.0 \|\| ^24.0.0 | >=5.8.0 <6.0.0 | ^6.5.3 \|\| ^7.4.0 | -| 20.0.x \|\| 20.1.x | ^20.19.0 \|\| ^22.12.0 \|\| ^24.0.0 | >=5.8.0 <5.9.0 | ^6.5.3 \|\| ^7.4.0 | -| 19.2.x | ^18.19.1 \|\| ^20.11.1 \|\| ^22.0.0 | >=5.5.0 <5.9.0 | ^6.5.3 \|\| ^7.4.0 | -| 19.1.x | ^18.19.1 \|\| ^20.11.1 \|\| ^22.0.0 | >=5.5.0 <5.8.0 | ^6.5.3 \|\| ^7.4.0 | -| 19.0.x | ^18.19.1 \|\| ^20.11.1 \|\| ^22.0.0 | >=5.5.0 <5.7.0 | ^6.5.3 \|\| ^7.4.0 | +| Angular | Node.js | TypeScript | RxJS | +| ------------------------------ | ----------------------------------- | -------------- | ------------------ | +| 22.0.x | ^22.22.0 \|\| ^24.13.1 \|\| ^26.0.0 | >=6.0.0 <6.1.0 | ^6.5.3 \|\| ^7.4.0 | +| 21.0.x \|\| 21.1.x \|\| 21.2.x | ^20.19.0 \|\| ^22.12.0 \|\| ^24.0.0 | >=5.9.0 <6.0.0 | ^6.5.3 \|\| ^7.4.0 | +| 20.2.x \|\| 20.3.x | ^20.19.0 \|\| ^22.12.0 \|\| ^24.0.0 | >=5.8.0 <6.0.0 | ^6.5.3 \|\| ^7.4.0 | +| 20.0.x \|\| 20.1.x | ^20.19.0 \|\| ^22.12.0 \|\| ^24.0.0 | >=5.8.0 <5.9.0 | ^6.5.3 \|\| ^7.4.0 | +| 19.2.x | ^18.19.1 \|\| ^20.11.1 \|\| ^22.0.0 | >=5.5.0 <5.9.0 | ^6.5.3 \|\| ^7.4.0 | +| 19.1.x | ^18.19.1 \|\| ^20.11.1 \|\| ^22.0.0 | >=5.5.0 <5.8.0 | ^6.5.3 \|\| ^7.4.0 | +| 19.0.x | ^18.19.1 \|\| ^20.11.1 \|\| ^22.0.0 | >=5.5.0 <5.7.0 | ^6.5.3 \|\| ^7.4.0 | ## Unsupported Angular versions From 1bf3c2224593beb12073b40f505b5ff6a3b3120d Mon Sep 17 00:00:00 2001 From: Kam Date: Sun, 3 May 2026 14:36:12 +0300 Subject: [PATCH 006/317] docs: normalize product name casing across docs Several user-facing docs, tooltips, and tutorial code samples used non-canonical spellings of product names. This normalizes them to the form each project uses for its own brand. (cherry picked from commit ed333c399202502322b3cbc7787c7301358dc8d0) --- adev/src/app/core/layout/footer/footer.component.html | 2 +- .../app/core/layout/navigation/navigation.component.html | 4 ++-- adev/src/app/features/update/recommendations.ts | 4 ++-- adev/src/content/ecosystem/service-workers/config.md | 4 ++-- adev/src/content/ecosystem/service-workers/devops.md | 2 +- adev/src/content/examples/i18n/readme.md | 6 +++--- adev/src/content/guide/components/styling.md | 4 ++-- adev/src/content/guide/http/making-requests.md | 4 ++-- adev/src/content/guide/i18n/add-package.md | 2 +- adev/src/content/guide/image-optimization.md | 2 +- adev/src/content/guide/templates/event-listeners.md | 2 +- adev/src/content/guide/testing/migrating-to-vitest.md | 2 +- adev/src/content/guide/testing/overview.md | 2 +- adev/src/content/kitchen-sink.md | 2 +- .../content/reference/configs/angular-compiler-options.md | 2 +- adev/src/content/reference/migrations/outputs.md | 2 +- adev/src/content/tools/cli/cli-builder.md | 2 +- adev/src/content/tools/cli/deployment.md | 2 +- adev/src/content/tools/cli/schematics-for-libraries.md | 2 +- adev/src/content/tools/libraries/angular-package-format.md | 2 +- adev/src/content/tools/libraries/creating-libraries.md | 2 +- adev/src/content/tools/libraries/using-libraries.md | 4 ++-- adev/src/content/tutorials/first-app/intro/README.md | 2 +- .../src/content/tutorials/first-app/steps/14-http/README.md | 2 +- .../learn-angular/steps/5-control-flow-for/README.md | 2 +- contributing-docs/building-and-testing-angular.md | 4 ++-- contributing-docs/saved-issue-replies.md | 2 +- contributing-docs/spam.md | 2 +- packages/misc/angular-in-memory-web-api/README.md | 2 +- 29 files changed, 38 insertions(+), 38 deletions(-) diff --git a/adev/src/app/core/layout/footer/footer.component.html b/adev/src/app/core/layout/footer/footer.component.html index f8baada56dee..a5cd7ed9cd60 100644 --- a/adev/src/app/core/layout/footer/footer.component.html +++ b/adev/src/app/core/layout/footer/footer.component.html @@ -58,7 +58,7 @@

Community

  • Report Issues diff --git a/adev/src/app/core/layout/navigation/navigation.component.html b/adev/src/app/core/layout/navigation/navigation.component.html index 146a7d405c1e..685f66bb002f 100644 --- a/adev/src/app/core/layout/navigation/navigation.component.html +++ b/adev/src/app/core/layout/navigation/navigation.component.html @@ -392,11 +392,11 @@ - + -A small script, `safety-worker.js`, is also included in the `@angular/service-worker` NPM package. +A small script, `safety-worker.js`, is also included in the `@angular/service-worker` npm package. When loaded, it un-registers itself from the browser and removes the service worker caches. This script can be used as a last resort to get rid of unwanted service workers already installed on client pages. diff --git a/adev/src/content/examples/i18n/readme.md b/adev/src/content/examples/i18n/readme.md index a724b587a42a..f72a08f43de1 100644 --- a/adev/src/content/examples/i18n/readme.md +++ b/adev/src/content/examples/i18n/readme.md @@ -10,9 +10,9 @@ This sample comes from the Angular documentation's "[Example Angular Internation > See the scripts in `package.json` for an explanation of these commands. -## Run in Stackblitz +## Run in StackBlitz -Stackblitz compiles and runs the English version by default. +StackBlitz compiles and runs the English version by default. To see the example translate to French with Angular i18n: @@ -24,4 +24,4 @@ To see the example translate to French with Angular i18n: } ``` -1. Click the "Fork" button in the stackblitz header. That makes a new copy for you with this change and re-runs the example in French. +1. Click the "Fork" button in the StackBlitz header. That makes a new copy for you with this change and re-runs the example in French. diff --git a/adev/src/content/guide/components/styling.md b/adev/src/content/guide/components/styling.md index b2bad65c8007..456f767b77a8 100644 --- a/adev/src/content/guide/components/styling.md +++ b/adev/src/content/guide/components/styling.md @@ -34,8 +34,8 @@ render an Angular component, the framework automatically includes its associated lazy-loading a component. Angular works with any tool that outputs CSS, -including [Sass](https://sass-lang.com), [less](https://lesscss.org), -and [stylus](https://stylus-lang.com). +including [Sass](https://sass-lang.com), [Less](https://lesscss.org), +and [Stylus](https://stylus-lang.com). ## Style scoping diff --git a/adev/src/content/guide/http/making-requests.md b/adev/src/content/guide/http/making-requests.md index e3b5673c8920..74136f344745 100644 --- a/adev/src/content/guide/http/making-requests.md +++ b/adev/src/content/guide/http/making-requests.md @@ -247,7 +247,7 @@ Each `HttpEvent` reported in the event stream has a `type` which distinguishes w | `HttpEventType.ResponseHeader` | The head of the response has been received, including status and headers | | `HttpEventType.DownloadProgress` | An `HttpDownloadProgressEvent` reporting progress on downloading the response body | | `HttpEventType.Response` | The entire response has been received, including the response body | -| `HttpEventType.User` | A custom event from an Http interceptor. | +| `HttpEventType.User` | A custom event from an HTTP interceptor. | ## Handling request failure @@ -614,7 +614,7 @@ IMPORTANT: The `integrity` option requires an exact match between the response c TIP: Use subresource integrity when loading critical resources from external sources to ensure they haven't been modified. Generate hashes using tools like `openssl`. -## Http `Observable`s +## HTTP `Observable`s Each request method on `HttpClient` constructs and returns an `Observable` of the requested response type. Understanding how these `Observable`s work is important when using `HttpClient`. diff --git a/adev/src/content/guide/i18n/add-package.md b/adev/src/content/guide/i18n/add-package.md index 92f4a6be8410..c81ff0a2d788 100644 --- a/adev/src/content/guide/i18n/add-package.md +++ b/adev/src/content/guide/i18n/add-package.md @@ -9,7 +9,7 @@ To add the `@angular/localize` package, use the following command to update the It adds `types: ["@angular/localize"]` in the TypeScript configuration files. It also adds line `/// ` at the top of the `main.ts` file which is the reference to the type definition. -HELPFUL: For more information about `package.json` and `tsconfig.json` files, see [Workspace npm dependencies][GuideNpmPackages] and [TypeScript Configuration][GuideTsConfig]. To learn about Triple-slash Directives visit [Typescript Handbook](https://www.typescriptlang.org/docs/handbook/triple-slash-directives.html#-reference-types-). +HELPFUL: For more information about `package.json` and `tsconfig.json` files, see [Workspace npm dependencies][GuideNpmPackages] and [TypeScript Configuration][GuideTsConfig]. To learn about Triple-slash Directives visit [TypeScript Handbook](https://www.typescriptlang.org/docs/handbook/triple-slash-directives.html#-reference-types-). If `@angular/localize` is not installed and you try to build a localized version of your project (for example, while using the `i18n` attributes in templates), the [Angular CLI][CliMain] will generate an error, which would contain the steps that you can take to enable i18n for your project. diff --git a/adev/src/content/guide/image-optimization.md b/adev/src/content/guide/image-optimization.md index 2d5d14be77bc..a0987140476d 100644 --- a/adev/src/content/guide/image-optimization.md +++ b/adev/src/content/guide/image-optimization.md @@ -468,7 +468,7 @@ For maintenance reasons, we don't currently plan to support additional built-in No, but this is on our roadmap, so stay tuned. -If you're waiting on this feature, please upvote the Github issue [here](https://github.com/angular/angular/issues/56594). +If you're waiting on this feature, please upvote the GitHub issue [here](https://github.com/angular/angular/issues/56594). ### How do I find my LCP image with Chrome DevTools? diff --git a/adev/src/content/guide/templates/event-listeners.md b/adev/src/content/guide/templates/event-listeners.md index 151677be7824..8c0134f6f57d 100644 --- a/adev/src/content/guide/templates/event-listeners.md +++ b/adev/src/content/guide/templates/event-listeners.md @@ -96,7 +96,7 @@ Angular also allows you to specify [Code values for keyboard events](https://dev ``` -This can be useful for handling keyboard events consistently across different operating systems. For example, when using the Alt key on MacOS devices, the `key` property reports the key based on the character already modified by the Alt key. This means that a combination like Alt + S reports a `key` value of `'ß'`. The `code` property, however, corresponds to the physical or virtual button pressed rather than the character produced. +This can be useful for handling keyboard events consistently across different operating systems. For example, when using the Alt key on macOS devices, the `key` property reports the key based on the character already modified by the Alt key. This means that a combination like Alt + S reports a `key` value of `'ß'`. The `code` property, however, corresponds to the physical or virtual button pressed rather than the character produced. ## Listening on global targets diff --git a/adev/src/content/guide/testing/migrating-to-vitest.md b/adev/src/content/guide/testing/migrating-to-vitest.md index 237eef561f0f..082c2d1fca33 100644 --- a/adev/src/content/guide/testing/migrating-to-vitest.md +++ b/adev/src/content/guide/testing/migrating-to-vitest.md @@ -92,7 +92,7 @@ Choose one of the following browser providers based on your needs: - **Playwright**: `@vitest/browser-playwright` for Chromium, Firefox, and WebKit. - **WebdriverIO**: `@vitest/browser-webdriverio` for Chrome, Firefox, Safari, and Edge. -- **Preview**: `@vitest/browser-preview` for Webcontainer environments (like StackBlitz). +- **Preview**: `@vitest/browser-preview` for WebContainer environments (like StackBlitz). diff --git a/adev/src/content/guide/testing/overview.md b/adev/src/content/guide/testing/overview.md index 4dddcfda53f7..141d2d0149df 100644 --- a/adev/src/content/guide/testing/overview.md +++ b/adev/src/content/guide/testing/overview.md @@ -188,7 +188,7 @@ Choose one of the following browser providers based on your needs: ### Preview -The `@vitest/browser-preview` provider is designed for Webcontainer environments like StackBlitz and is not intended for use in CI/CD. +The `@vitest/browser-preview` provider is designed for WebContainer environments like StackBlitz and is not intended for use in CI/CD. diff --git a/adev/src/content/kitchen-sink.md b/adev/src/content/kitchen-sink.md index eb8b72106113..e11fc383fd74 100644 --- a/adev/src/content/kitchen-sink.md +++ b/adev/src/content/kitchen-sink.md @@ -212,7 +212,7 @@ You can create multifile examples by wrapping the examples inside a ` Now let's add some logic to it. -The following code retrieves the source and destination file paths from user options and copies the file from the source to the destination \(using the [Promise version of the built-in NodeJS `copyFile()` function](https://nodejs.org/api/fs.html#fs_fspromises_copyfile_src_dest_mode)\). +The following code retrieves the source and destination file paths from user options and copies the file from the source to the destination \(using the [Promise version of the built-in Node.js `copyFile()` function](https://nodejs.org/api/fs.html#fs_fspromises_copyfile_src_dest_mode)\). If the copy operation fails, it returns an error with a message about the underlying problem. diff --git a/adev/src/content/tools/cli/deployment.md b/adev/src/content/tools/cli/deployment.md index f899147188da..22d72563baa5 100644 --- a/adev/src/content/tools/cli/deployment.md +++ b/adev/src/content/tools/cli/deployment.md @@ -33,7 +33,7 @@ You can read more by following the links associated with the package names below | [Firebase hosting](https://firebase.google.com/docs/hosting) | [`ng add @angular/fire`](https://npmjs.org/package/@angular/fire) | | [Vercel](https://vercel.com/solutions/angular) | [`vercel init angular`](https://github.com/vercel/vercel/tree/main/examples/angular) | | [Netlify](https://www.netlify.com) | [`ng add @netlify-builder/deploy`](https://npmjs.org/package/@netlify-builder/deploy) | -| [GitHub pages](https://pages.github.com) | [`ng add angular-cli-ghpages`](https://npmjs.org/package/angular-cli-ghpages) | +| [GitHub Pages](https://pages.github.com) | [`ng add angular-cli-ghpages`](https://npmjs.org/package/angular-cli-ghpages) | | [Amazon Cloud S3](https://aws.amazon.com/s3/?nc2=h_ql_prod_st_s3) | [`ng add @jefiozie/ngx-aws-deploy`](https://www.npmjs.com/package/@jefiozie/ngx-aws-deploy) | If you're deploying to a self-managed server or there's no builder for your favorite cloud platform, you can either [create a builder](tools/cli/cli-builder) that allows you to use the `ng deploy` command, or read through this guide to learn how to manually deploy your application. diff --git a/adev/src/content/tools/cli/schematics-for-libraries.md b/adev/src/content/tools/cli/schematics-for-libraries.md index beb6ce970dac..eb59c775c468 100644 --- a/adev/src/content/tools/cli/schematics-for-libraries.md +++ b/adev/src/content/tools/cli/schematics-for-libraries.md @@ -63,7 +63,7 @@ Possible values are: To bundle your schematics together with your library, you must configure the library to build the schematics separately, then add them to the bundle. You must build your schematics _after_ you build your library, so they are placed in the correct directory. -- Your library needs a custom Typescript configuration file with instructions on how to compile your schematics into your distributed library +- Your library needs a custom TypeScript configuration file with instructions on how to compile your schematics into your distributed library - To add the schematics to the library bundle, add scripts to the library's `package.json` file Assume you have a library project `my-lib` in your Angular workspace. diff --git a/adev/src/content/tools/libraries/angular-package-format.md b/adev/src/content/tools/libraries/angular-package-format.md index 4254feed8fb3..912dbbbecebc 100644 --- a/adev/src/content/tools/libraries/angular-package-format.md +++ b/adev/src/content/tools/libraries/angular-package-format.md @@ -280,7 +280,7 @@ In this section are the definitions of all of them to provide additional clarity ### Package -The smallest set of files that are published to NPM and installed together, for example `@angular/core`. +The smallest set of files that are published to npm and installed together, for example `@angular/core`. This package includes a manifest called package.json, compiled source code, typescript definition files, source maps, metadata, etc. The package is installed with `npm install @angular/core`. diff --git a/adev/src/content/tools/libraries/creating-libraries.md b/adev/src/content/tools/libraries/creating-libraries.md index da4cda818118..dc8d245106b8 100644 --- a/adev/src/content/tools/libraries/creating-libraries.md +++ b/adev/src/content/tools/libraries/creating-libraries.md @@ -242,7 +242,7 @@ TypeScript path mappings should _not_ point to the library source `.ts` files. This section explains how to use your package manager's local linking feature (such as [`npm link`](https://docs.npmjs.com/cli/v11/commands/npm-link) or [`pnpm link`](https://pnpm.io/cli/link)) to test a standalone Angular library with an external application during -local development, without relying on the monorepo workspace structure or publishing to the NPM registry. +local development, without relying on the monorepo workspace structure or publishing to the npm registry. NOTE: If your library and application are in the same Angular workspace (a monorepo setup), the standard monorepo workflow automatically handles the linking and is generally more efficient. This local linking approach is best when: diff --git a/adev/src/content/tools/libraries/using-libraries.md b/adev/src/content/tools/libraries/using-libraries.md index 67f6db62a740..031cd5c8cb2f 100644 --- a/adev/src/content/tools/libraries/using-libraries.md +++ b/adev/src/content/tools/libraries/using-libraries.md @@ -120,7 +120,7 @@ import * as $ from 'jquery'; ``` If you import it using import statements, you have two different copies of the library: one imported as a global library, and one imported as a module. -This is especially bad for libraries with plugins, like JQuery, because each copy includes different plugins. +This is especially bad for libraries with plugins, like jQuery, because each copy includes different plugins. Instead, run the `npm install @types/jquery` Angular CLI command to download typings for your library and then follow the library installation steps. This gives you access to the global variables exposed by that library. @@ -135,7 +135,7 @@ For example: declare var libraryName: any; ``` -Some scripts extend other libraries; for instance with JQuery plugins: +Some scripts extend other libraries; for instance with jQuery plugins: ```ts $('.test').myPlugin(); diff --git a/adev/src/content/tutorials/first-app/intro/README.md b/adev/src/content/tutorials/first-app/intro/README.md index 1b6d8c9fc872..8627604e0df8 100644 --- a/adev/src/content/tutorials/first-app/intro/README.md +++ b/adev/src/content/tutorials/first-app/intro/README.md @@ -23,7 +23,7 @@ The lessons in this tutorial assume that you have experience with the following: ### Your equipment -These lessons can be completed using a local installation of the Angular tools or in our embedded editor. Local Angular development can be completed on Windows, MacOS or Linux based systems. +These lessons can be completed using a local installation of the Angular tools or in our embedded editor. Local Angular development can be completed on Windows, macOS or Linux based systems. NOTE: Look for alerts like this one, which call out steps that may only be for your local editor. diff --git a/adev/src/content/tutorials/first-app/steps/14-http/README.md b/adev/src/content/tutorials/first-app/steps/14-http/README.md index 2515b3e606b2..05b510549d47 100644 --- a/adev/src/content/tutorials/first-app/steps/14-http/README.md +++ b/adev/src/content/tutorials/first-app/steps/14-http/README.md @@ -198,7 +198,7 @@ The server is now reading data from the HTTP request but the components that rel -NOTE: This lesson relies on the `fetch` browser API. For the support of interceptors, please refer to the [Http Client documentation](/guide/http) +NOTE: This lesson relies on the `fetch` browser API. For the support of interceptors, please refer to the [HTTP client documentation](/guide/http) SUMMARY: In this lesson, you updated your app to use a local web server (`json-server`), and use asynchronous service methods to retrieve data. diff --git a/adev/src/content/tutorials/learn-angular/steps/5-control-flow-for/README.md b/adev/src/content/tutorials/learn-angular/steps/5-control-flow-for/README.md index f906ef7e0025..9b961c728906 100644 --- a/adev/src/content/tutorials/learn-angular/steps/5-control-flow-for/README.md +++ b/adev/src/content/tutorials/learn-angular/steps/5-control-flow-for/README.md @@ -22,7 +22,7 @@ Here's an example of how to use the `@for` syntax in a component: `, }) export class App { - operatingSystems = [{id: 'win', name: 'Windows'}, {id: 'osx', name: 'MacOS'}, {id: 'linux', name: 'Linux'}]; + operatingSystems = [{id: 'win', name: 'Windows'}, {id: 'osx', name: 'macOS'}, {id: 'linux', name: 'Linux'}]; } ``` diff --git a/contributing-docs/building-and-testing-angular.md b/contributing-docs/building-and-testing-angular.md index c31d74f0a54d..d466ce37511b 100644 --- a/contributing-docs/building-and-testing-angular.md +++ b/contributing-docs/building-and-testing-angular.md @@ -8,7 +8,7 @@ It also explains the basic mechanics of using `git`, `node`, and `pnpm`. - [Development in a Container](#development-in-a-container) - [Experimenting in dev-app](#experimenting-in-dev-app) - [Getting the Sources](#getting-the-sources) - - [Installing NPM Modules](#installing-npm-modules) + - [Installing npm Modules](#installing-npm-modules) - [Building](#building) - [Running Tests Locally](#running-tests-locally) - [Testing changes against a local library/project](#testing-changes-against-a-local-libraryproject) @@ -95,7 +95,7 @@ cd angular git remote add upstream https://github.com/angular/angular.git ``` -## Installing NPM Modules +## Installing npm Modules Next, install the JavaScript modules needed to build and test Angular: diff --git a/contributing-docs/saved-issue-replies.md b/contributing-docs/saved-issue-replies.md index 07236da125d0..99450a3da7ac 100644 --- a/contributing-docs/saved-issue-replies.md +++ b/contributing-docs/saved-issue-replies.md @@ -78,7 +78,7 @@ If the problem still exists in your application, please [open a new issue](https ## Angular: Support Request (v1) ``` -Hello, we reviewed this issue and determined that it doesn't fall into the bug report or feature request category. This issue tracker is not suitable for support requests, please repost your issue on [StackOverflow](https://stackoverflow.com/) using tag `angular`. +Hello, we reviewed this issue and determined that it doesn't fall into the bug report or feature request category. This issue tracker is not suitable for support requests, please repost your issue on [Stack Overflow](https://stackoverflow.com/) using tag `angular`. If you are wondering why we don't resolve support issues via the issue tracker, please [check out this explanation](https://github.com/angular/angular/blob/main/CONTRIBUTING.md#question). ``` diff --git a/contributing-docs/spam.md b/contributing-docs/spam.md index 2dbd07ef3ebf..46a822fc5f0c 100644 --- a/contributing-docs/spam.md +++ b/contributing-docs/spam.md @@ -21,5 +21,5 @@ limited resources across all contributors and projects. ## Exceptions If you plan to undertake more significant work that you anticipate will generate -many individual PRs, please reach out to the team in a Github issue first to +many individual PRs, please reach out to the team in a GitHub issue first to validate that Angular will be able to support and accept your contributions. diff --git a/packages/misc/angular-in-memory-web-api/README.md b/packages/misc/angular-in-memory-web-api/README.md index 2ba1c3bf6ac0..a36229fb33d8 100644 --- a/packages/misc/angular-in-memory-web-api/README.md +++ b/packages/misc/angular-in-memory-web-api/README.md @@ -28,7 +28,7 @@ preferably with a small repro. - Whip up prototypes and proofs of concept. - Share examples with the community in a web coding environment such as Plunker or CodePen. - Create Angular issues and StackOverflow answers supported by live code. + Create Angular issues and Stack Overflow answers supported by live code. - Simulate operations against data collections that aren't yet implemented on your dev/test server. You can pass requests thru to the dev/test server for collections that are supported. From aa1859689cf10350f504e51dd2d63b59c7e6855c Mon Sep 17 00:00:00 2001 From: Andrew Scott Date: Wed, 6 May 2026 11:27:26 -0700 Subject: [PATCH 007/317] refactor(compiler): Update indexer API to be generic Rather than requiring TS AST in the indexer API, this update makes it generic with adapters to provide necessary information. This allows other analysis pipelines that don't use TS AST to work with the indexer. (cherry picked from commit bc655d006fb007a355b3fa9335c3fcef6607f866) --- .../annotations/component/src/handler.ts | 25 +++- .../src/ngtsc/core/src/compiler.ts | 16 ++- .../compiler-cli/src/ngtsc/indexer/src/api.ts | 118 ++++++++++++------ .../src/ngtsc/indexer/src/context.ts | 25 ++-- .../src/ngtsc/indexer/src/template.ts | 59 +++++---- .../src/ngtsc/indexer/src/transform.ts | 25 ++-- .../src/ngtsc/indexer/test/context_spec.ts | 2 + .../src/ngtsc/indexer/test/template_spec.ts | 4 +- .../src/ngtsc/indexer/test/transform_spec.ts | 30 +++-- .../src/ngtsc/indexer/test/util.ts | 32 ++++- 10 files changed, 237 insertions(+), 99 deletions(-) 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 4f2b652371bf..28cc68a7906d 100644 --- a/packages/compiler-cli/src/ngtsc/annotations/component/src/handler.ts +++ b/packages/compiler-cli/src/ngtsc/annotations/component/src/handler.ts @@ -72,6 +72,8 @@ import { SemanticDepGraphUpdater, } from '../../../incremental/semantic_graph'; import {IndexingContext} from '../../../indexer'; +import {AbstractBoundTemplate} from '../../../indexer/src/api'; + import { DirectiveMeta, extractDirectiveTypeCheckMeta, @@ -1130,10 +1132,31 @@ export class ComponentDecoratorHandler implements DecoratorHandler< const binder = new R3TargetBinder(matcher); const boundTemplate = binder.bind({template: analysis.template.diagNodes}); + const abstractBoundTemplate: AbstractBoundTemplate = { + getDirectivesOfNode(node) { + return boundTemplate.getDirectivesOfNode(node); + }, + getReferenceTarget(node) { + return boundTemplate.getReferenceTarget(node); + }, + getExpressionTarget(ast) { + return boundTemplate.getExpressionTarget(ast); + }, + getUsedDirectives() { + return boundTemplate.getUsedDirectives().map((dir) => ({ + ref: {node: dir.ref.node}, + isComponent: dir.isComponent, + })); + }, + getTemplateAst() { + return boundTemplate.target.template; + }, + }; + context.addComponent({ declaration: node, selector, - boundTemplate, + boundTemplate: abstractBoundTemplate, templateMeta: { isInline: analysis.template.declaration.isInline, file: analysis.template.file, diff --git a/packages/compiler-cli/src/ngtsc/core/src/compiler.ts b/packages/compiler-cli/src/ngtsc/core/src/compiler.ts index 1f9df679fa76..2a36d7134dbf 100644 --- a/packages/compiler-cli/src/ngtsc/core/src/compiler.ts +++ b/packages/compiler-cli/src/ngtsc/core/src/compiler.ts @@ -64,6 +64,7 @@ import { } from '../../incremental'; import {SemanticSymbol} from '../../incremental/semantic_graph'; import {generateAnalysis, IndexedComponent, IndexingContext} from '../../indexer'; +import {NodeAdapter} from '../../indexer/src/api'; import { CompoundMetadataReader, CompoundMetadataRegistry, @@ -919,7 +920,20 @@ export class NgCompiler { const compilation = this.ensureAnalyzed(); const context = new IndexingContext(); compilation.traitCompiler.index(context); - return generateAnalysis(context); + + const adapter: NodeAdapter = { + getName(node: DeclarationNode): string { + return ts.isClassDeclaration(node) && node.name ? node.name.getText() : ''; + }, + getFileName(node: DeclarationNode): string { + return node.getSourceFile().fileName; + }, + getContent(node: DeclarationNode): string { + return node.getSourceFile().getFullText(); + }, + }; + + return generateAnalysis(context, adapter); } /** diff --git a/packages/compiler-cli/src/ngtsc/indexer/src/api.ts b/packages/compiler-cli/src/ngtsc/indexer/src/api.ts index 9182b5c12c4b..d4fb40ec9529 100644 --- a/packages/compiler-cli/src/ngtsc/indexer/src/api.ts +++ b/packages/compiler-cli/src/ngtsc/indexer/src/api.ts @@ -6,9 +6,19 @@ * found in the LICENSE file at https://angular.dev/license */ -import {ParseSourceFile} from '@angular/compiler'; - -import {ClassDeclaration, DeclarationNode} from '../../reflection'; +import { + AST, + ParseSourceFile, + TmplAstComponent, + TmplAstDirective, + TmplAstElement, + TmplAstLetDeclaration, + TmplAstNode, + TmplAstReference, + TmplAstTemplate, + TmplAstVariable, +} from '@angular/compiler'; +import {DeclarationNode} from '../../reflection'; /** * Describes the kind of identifier found in a template. @@ -37,16 +47,16 @@ export interface TemplateIdentifier { } /** Describes a template expression, which may have a template reference or variable target. */ -interface ExpressionIdentifier extends TemplateIdentifier { +interface ExpressionIdentifier extends TemplateIdentifier { /** * ReferenceIdentifier or VariableIdentifier in the template that this identifier targets, if * any. If the target is `null`, it points to a declaration on the component class. - * */ - target: ReferenceIdentifier | VariableIdentifier | LetDeclarationIdentifier | null; + */ + target: ReferenceIdentifier | VariableIdentifier | LetDeclarationIdentifier | null; } /** Describes a property accessed in a template. */ -export interface PropertyIdentifier extends ExpressionIdentifier { +export interface PropertyIdentifier extends ExpressionIdentifier { kind: IdentifierKind.Property; } @@ -54,7 +64,7 @@ export interface PropertyIdentifier extends ExpressionIdentifier { * Describes a method accessed in a template. * @deprecated No longer being used. To be removed. */ -export interface MethodIdentifier extends ExpressionIdentifier { +export interface MethodIdentifier extends ExpressionIdentifier { kind: IdentifierKind.Method; } @@ -64,57 +74,63 @@ export interface AttributeIdentifier extends TemplateIdentifier { } /** A reference to a directive node and its selector. */ -interface DirectiveReference { - node: ClassDeclaration; +interface DirectiveReference { + node: T; selector: string; } /** A base interface for element and template identifiers. */ -interface BaseDirectiveHostIdentifier extends TemplateIdentifier { +interface BaseDirectiveHostIdentifier extends TemplateIdentifier { /** Attributes on an element or template. */ attributes: Set; /** Directives applied to an element or template. */ - usedDirectives: Set; + usedDirectives: Set>; } /** * Describes an indexed element in a template. The name of an `ElementIdentifier` is the entire * element tag, which can be parsed by an indexer to determine where used directives should be * referenced. */ -export interface ElementIdentifier extends BaseDirectiveHostIdentifier { +export interface ElementIdentifier extends BaseDirectiveHostIdentifier { kind: IdentifierKind.Element; } /** Describes an indexed template node in a component template file. */ -export interface TemplateNodeIdentifier extends BaseDirectiveHostIdentifier { +export interface TemplateNodeIdentifier< + T = DeclarationNode, +> extends BaseDirectiveHostIdentifier { kind: IdentifierKind.Template; } /** Describes a selectorless component node in a template file. */ -export interface ComponentNodeIdentifier extends BaseDirectiveHostIdentifier { +export interface ComponentNodeIdentifier< + T = DeclarationNode, +> extends BaseDirectiveHostIdentifier { kind: IdentifierKind.Component; } /** Describes a selectorless directive node in a template file. */ -export interface DirectiveNodeIdentifier extends BaseDirectiveHostIdentifier { +export interface DirectiveNodeIdentifier< + T = DeclarationNode, +> extends BaseDirectiveHostIdentifier { kind: IdentifierKind.Directive; } /** Describes a reference in a template like "foo" in `
    `. */ -export interface ReferenceIdentifier extends TemplateIdentifier { +export interface ReferenceIdentifier extends TemplateIdentifier { kind: IdentifierKind.Reference; /** The target of this reference. If the target is not known, this is `null`. */ target: { /** The template AST node that the reference targets. */ - node: DirectiveHostIdentifier; + node: DirectiveHostIdentifier; /** * The directive on `node` that the reference targets. If no directive is targeted, this is * `null`. */ - directive: ClassDeclaration | null; + directive: T | null; } | null; } @@ -132,23 +148,23 @@ export interface LetDeclarationIdentifier extends TemplateIdentifier { * Identifiers recorded at the top level of the template, without any context about the HTML nodes * they were discovered in. */ -export type TopLevelIdentifier = - | PropertyIdentifier - | ElementIdentifier - | TemplateNodeIdentifier - | ReferenceIdentifier +export type TopLevelIdentifier = + | PropertyIdentifier + | ElementIdentifier + | TemplateNodeIdentifier + | ReferenceIdentifier | VariableIdentifier - | MethodIdentifier + | MethodIdentifier | LetDeclarationIdentifier - | ComponentNodeIdentifier - | DirectiveNodeIdentifier; + | ComponentNodeIdentifier + | DirectiveNodeIdentifier; /** Identifiers that can bring in directives to the template. */ -export type DirectiveHostIdentifier = - | ElementIdentifier - | TemplateNodeIdentifier - | ComponentNodeIdentifier - | DirectiveNodeIdentifier; +export type DirectiveHostIdentifier = + | ElementIdentifier + | TemplateNodeIdentifier + | ComponentNodeIdentifier + | DirectiveNodeIdentifier; /** * Describes the absolute byte offsets of a text anchor in a source code. @@ -163,15 +179,47 @@ export class AbsoluteSourceSpan { /** * Describes an analyzed, indexed component and its template. */ -export interface IndexedComponent { +export interface IndexedComponent { name: string; selector: string | null; file: ParseSourceFile; template: { - identifiers: Set; - usedComponents: Set; + identifiers: Set>; + usedComponents: Set; isInline: boolean; file: ParseSourceFile; }; errors: Error[]; } + +/** + * Abstract representation of a bound template, providing methods to query + * directives and targets in the template. + */ +export interface AbstractBoundTemplate { + getDirectivesOfNode( + node: TmplAstElement | TmplAstTemplate | TmplAstComponent | TmplAstDirective, + ): Array<{ref: {node: T}; selector: string | null}> | null; + getReferenceTarget(node: TmplAstReference): + | TmplAstElement + | TmplAstTemplate + | TmplAstComponent + | TmplAstDirective + | { + node: TmplAstElement | TmplAstTemplate | TmplAstComponent | TmplAstDirective; + directive: {ref: {node: T}}; + } + | null; + getExpressionTarget(ast: AST): TmplAstReference | TmplAstVariable | TmplAstLetDeclaration | null; + getUsedDirectives(): Array<{ref: {node: T}; isComponent: boolean}>; + getTemplateAst(): TmplAstNode[] | undefined; +} + +/** + * Adapter to extract information from a node, such as its name and file name. + */ +export interface NodeAdapter { + getName(node: T): string; + getFileName(node: T): string; + getContent(node: T): string; +} diff --git a/packages/compiler-cli/src/ngtsc/indexer/src/context.ts b/packages/compiler-cli/src/ngtsc/indexer/src/context.ts index fb02695188d4..094cd520f6a0 100644 --- a/packages/compiler-cli/src/ngtsc/indexer/src/context.ts +++ b/packages/compiler-cli/src/ngtsc/indexer/src/context.ts @@ -6,13 +6,16 @@ * found in the LICENSE file at https://angular.dev/license */ -import {BoundTarget, DirectiveMeta, ParseSourceFile} from '@angular/compiler'; +import {DirectiveMeta, ParseSourceFile} from '@angular/compiler'; +import {DeclarationNode} from '../../reflection'; -import {Reference} from '../../imports'; -import {ClassDeclaration} from '../../reflection'; +import {AbstractBoundTemplate} from './api.js'; -export interface ComponentMeta extends DirectiveMeta { - ref: Reference; +/** + * Metadata about a component, extending DirectiveMeta to include a reference to the node. + */ +export interface ComponentMeta extends DirectiveMeta { + ref: {key: string; node: T}; /** * Unparsed selector of the directive, or null if the directive does not have a selector. */ @@ -22,9 +25,9 @@ export interface ComponentMeta extends DirectiveMeta { /** * An intermediate representation of a component. */ -export interface ComponentInfo { +export interface ComponentInfo { /** Component TypeScript class declaration */ - declaration: ClassDeclaration; + declaration: T; /** Component template selector if it exists, otherwise null. */ selector: string | null; @@ -33,7 +36,7 @@ export interface ComponentInfo { * BoundTarget containing the parsed template. Can also be used to query for directives used in * the template. */ - boundTemplate: BoundTarget; + boundTemplate: AbstractBoundTemplate; /** Metadata about the template */ templateMeta: { @@ -51,13 +54,13 @@ export interface ComponentInfo { * An `IndexingContext` collects component and template analysis information from * `DecoratorHandler`s and exposes them to be indexed. */ -export class IndexingContext { - readonly components = new Set(); +export class IndexingContext { + readonly components = new Set>(); /** * Adds a component to the context. */ - addComponent(info: ComponentInfo) { + addComponent(info: ComponentInfo) { this.components.add(info); } } diff --git a/packages/compiler-cli/src/ngtsc/indexer/src/template.ts b/packages/compiler-cli/src/ngtsc/indexer/src/template.ts index 6203d78b4b1d..c0820f20a06a 100644 --- a/packages/compiler-cli/src/ngtsc/indexer/src/template.ts +++ b/packages/compiler-cli/src/ngtsc/indexer/src/template.ts @@ -8,7 +8,6 @@ import { AST, ASTWithSource, - BoundTarget, CombinedRecursiveAstVisitor, ImplicitReceiver, ParseSourceSpan, @@ -26,10 +25,11 @@ import { tmplAstVisitAll, } from '@angular/compiler'; -import {ClassDeclaration, DeclarationNode} from '../../reflection'; +import {DeclarationNode} from '../../reflection'; import { AbsoluteSourceSpan, + AbstractBoundTemplate, AttributeIdentifier, ComponentNodeIdentifier, DirectiveHostIdentifier, @@ -44,30 +44,32 @@ import { TopLevelIdentifier, VariableIdentifier, } from './api'; -import {ComponentMeta} from './context'; -type ExpressionIdentifier = PropertyIdentifier | MethodIdentifier; +type ExpressionIdentifier = PropertyIdentifier | MethodIdentifier; type TmplTarget = TmplAstReference | TmplAstVariable | TmplAstLetDeclaration; -type TargetIdentifier = ReferenceIdentifier | VariableIdentifier | LetDeclarationIdentifier; -type TargetIdentifierMap = Map; +type TargetIdentifier = + | ReferenceIdentifier + | VariableIdentifier + | LetDeclarationIdentifier; +type TargetIdentifierMap = Map>; /** * Visits the AST of a parsed Angular template. Discovers and stores * identifiers of interest, deferring to an `ExpressionVisitor` as needed. */ -class TemplateVisitor extends CombinedRecursiveAstVisitor { +class TemplateVisitor extends CombinedRecursiveAstVisitor { // Identifiers of interest found in the template. - readonly identifiers = new Set(); + readonly identifiers = new Set>(); readonly errors: Error[] = []; private currentAstWithSource: {source: string | null; absoluteOffset: number} | null = null; // Map of targets in a template to their identifiers. - private readonly targetIdentifierCache: TargetIdentifierMap = new Map(); + private readonly targetIdentifierCache: TargetIdentifierMap = new Map(); // Map of elements and templates to their identifiers. private readonly directiveHostIdentifierCache = new Map< TmplAstElement | TmplAstTemplate | TmplAstComponent | TmplAstDirective, - DirectiveHostIdentifier + DirectiveHostIdentifier >(); /** @@ -76,7 +78,7 @@ class TemplateVisitor extends CombinedRecursiveAstVisitor { * * @param boundTemplate bound template target */ - constructor(private boundTemplate: BoundTarget) { + constructor(private boundTemplate: AbstractBoundTemplate) { super(); } @@ -158,7 +160,7 @@ class TemplateVisitor extends CombinedRecursiveAstVisitor { /** Creates an identifier for a template element or template node. */ private directiveHostToIdentifier( node: TmplAstElement | TmplAstTemplate | TmplAstComponent | TmplAstDirective, - ): DirectiveHostIdentifier | null { + ): DirectiveHostIdentifier | null { // If this node has already been seen, return the cached result. if (this.directiveHostIdentifierCache.has(node)) { return this.directiveHostIdentifierCache.get(node)!; @@ -229,17 +231,17 @@ class TemplateVisitor extends CombinedRecursiveAstVisitor { ), // cast b/c pre-TypeScript 3.5 unions aren't well discriminated } as - | ElementIdentifier - | TemplateNodeIdentifier - | ComponentNodeIdentifier - | DirectiveNodeIdentifier; + | ElementIdentifier + | TemplateNodeIdentifier + | ComponentNodeIdentifier + | DirectiveNodeIdentifier; this.directiveHostIdentifierCache.set(node, identifier); return identifier; } /** Creates an identifier for a template reference or template variable target. */ - private targetToIdentifier(node: TmplTarget): TargetIdentifier | null { + private targetToIdentifier(node: TmplTarget): TargetIdentifier | null { // If this node has already been seen, return the cached result. if (this.targetIdentifierCache.has(node)) { return this.targetIdentifierCache.get(node)!; @@ -252,7 +254,7 @@ class TemplateVisitor extends CombinedRecursiveAstVisitor { } const span = new AbsoluteSourceSpan(start, start + name.length); - let identifier: ReferenceIdentifier | VariableIdentifier | LetDeclarationIdentifier; + let identifier: ReferenceIdentifier | VariableIdentifier | LetDeclarationIdentifier; if (node instanceof TmplAstReference) { // If the node is a reference, we care about its target. The target can be an element, a // template, a directive applied on a template or element (in which case the directive field @@ -260,8 +262,8 @@ class TemplateVisitor extends CombinedRecursiveAstVisitor { const refTarget = this.boundTemplate.getReferenceTarget(node); let target = null; if (refTarget) { - let node: DirectiveHostIdentifier | null = null; - let directive: ClassDeclaration | null = null; + let node: DirectiveHostIdentifier | null = null; + let directive: T | null = null; if ( refTarget instanceof TmplAstElement || refTarget instanceof TmplAstTemplate || @@ -342,7 +344,7 @@ class TemplateVisitor extends CombinedRecursiveAstVisitor { */ private visitIdentifier( ast: AST & {name: string; receiver: AST}, - kind: ExpressionIdentifier['kind'], + kind: ExpressionIdentifier['kind'], ) { // Only handle identifiers in expressions that have a source location. if (this.currentAstWithSource === null || this.currentAstWithSource.source === null) { @@ -383,7 +385,7 @@ class TemplateVisitor extends CombinedRecursiveAstVisitor { const span = new AbsoluteSourceSpan(absoluteStart, absoluteStart + ast.name.length); const targetAst = this.boundTemplate.getExpressionTarget(ast); const target = targetAst ? this.targetToIdentifier(targetAst) : null; - const identifier: ExpressionIdentifier = { + const identifier: ExpressionIdentifier = { name: ast.name, span, kind, @@ -400,13 +402,16 @@ class TemplateVisitor extends CombinedRecursiveAstVisitor { * @param boundTemplate bound template target, which can be used for querying expression targets. * @return identifiers in template */ -export function getTemplateIdentifiers(boundTemplate: BoundTarget): { - identifiers: Set; +export function getTemplateIdentifiers( + boundTemplate: AbstractBoundTemplate, +): { + identifiers: Set>; errors: Error[]; } { - const visitor = new TemplateVisitor(boundTemplate); - if (boundTemplate.target.template !== undefined) { - tmplAstVisitAll(visitor, boundTemplate.target.template); + const visitor = new TemplateVisitor(boundTemplate); + const template = boundTemplate.getTemplateAst(); + if (template !== undefined) { + tmplAstVisitAll(visitor, template); } return {identifiers: visitor.identifiers, errors: visitor.errors}; } diff --git a/packages/compiler-cli/src/ngtsc/indexer/src/transform.ts b/packages/compiler-cli/src/ngtsc/indexer/src/transform.ts index 993c55d04733..18014578dad5 100644 --- a/packages/compiler-cli/src/ngtsc/indexer/src/transform.ts +++ b/packages/compiler-cli/src/ngtsc/indexer/src/transform.ts @@ -10,9 +10,9 @@ import {ParseSourceFile} from '@angular/compiler'; import {DeclarationNode} from '../../reflection'; -import {IndexedComponent} from './api'; -import {IndexingContext} from './context'; -import {getTemplateIdentifiers} from './template'; +import {IndexedComponent, NodeAdapter} from './api.js'; +import {IndexingContext} from './context.js'; +import {getTemplateIdentifiers} from './template.js'; /** * Generates `IndexedComponent` entries from a `IndexingContext`, which has information @@ -20,13 +20,17 @@ import {getTemplateIdentifiers} from './template'; * * The context must be populated before `generateAnalysis` is called. */ -export function generateAnalysis(context: IndexingContext): Map { - const analysis = new Map(); +export function generateAnalysis( + context: IndexingContext, + adapter: NodeAdapter, +): Map> { + const analysis = new Map>(); context.components.forEach(({declaration, selector, boundTemplate, templateMeta}) => { - const name = declaration.name.getText(); + const name = adapter.getName(declaration); + const fileName = adapter.getFileName(declaration); - const usedComponents = new Set(); + const usedComponents = new Set(); const usedDirs = boundTemplate.getUsedDirectives(); usedDirs.forEach((dir) => { if (dir.isComponent) { @@ -36,10 +40,7 @@ export function generateAnalysis(context: IndexingContext): Map(boundTemplate); analysis.set(declaration, { name, selector, diff --git a/packages/compiler-cli/src/ngtsc/indexer/test/context_spec.ts b/packages/compiler-cli/src/ngtsc/indexer/test/context_spec.ts index 72071f77a741..672bf184f05f 100644 --- a/packages/compiler-cli/src/ngtsc/indexer/test/context_spec.ts +++ b/packages/compiler-cli/src/ngtsc/indexer/test/context_spec.ts @@ -9,6 +9,8 @@ import {ParseSourceFile} from '@angular/compiler'; import {runInEachFileSystem} from '../../file_system/testing'; import {IndexingContext} from '../src/context'; import * as util from './util'; +import {AbstractBoundTemplate} from '../src/api'; +import {DeclarationNode} from '../../reflection'; runInEachFileSystem(() => { describe('ComponentAnalysisContext', () => { diff --git a/packages/compiler-cli/src/ngtsc/indexer/test/template_spec.ts b/packages/compiler-cli/src/ngtsc/indexer/test/template_spec.ts index 5c16242da73a..4fc4c5aa781f 100644 --- a/packages/compiler-cli/src/ngtsc/indexer/test/template_spec.ts +++ b/packages/compiler-cli/src/ngtsc/indexer/test/template_spec.ts @@ -10,6 +10,7 @@ import {BoundTarget} from '@angular/compiler'; import { AbsoluteSourceSpan, + AbstractBoundTemplate, AttributeIdentifier, DirectiveHostIdentifier, ElementIdentifier, @@ -25,6 +26,7 @@ import {ComponentMeta} from '../src/context'; import {getTemplateIdentifiers as getTemplateIdentifiersAndErrors} from '../src/template'; import * as util from './util'; +import {DeclarationNode} from '../../reflection'; function bind(template: string, enableSelectorless = false) { return util.getBoundTemplate(template, { @@ -34,7 +36,7 @@ function bind(template: string, enableSelectorless = false) { }); } -function getTemplateIdentifiers(boundTemplate: BoundTarget) { +function getTemplateIdentifiers(boundTemplate: AbstractBoundTemplate) { return getTemplateIdentifiersAndErrors(boundTemplate).identifiers; } diff --git a/packages/compiler-cli/src/ngtsc/indexer/test/transform_spec.ts b/packages/compiler-cli/src/ngtsc/indexer/test/transform_spec.ts index 331667bd5d29..fe37bd2ac21b 100644 --- a/packages/compiler-cli/src/ngtsc/indexer/test/transform_spec.ts +++ b/packages/compiler-cli/src/ngtsc/indexer/test/transform_spec.ts @@ -5,15 +5,17 @@ * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.dev/license */ -import {BoundTarget, ParseSourceFile} from '@angular/compiler'; +import {ParseSourceFile} from '@angular/compiler'; import {runInEachFileSystem} from '../../file_system/testing'; -import {ClassDeclaration} from '../../reflection'; -import {ComponentMeta, IndexingContext} from '../src/context'; +import {ClassDeclaration, DeclarationNode} from '../../reflection'; +import {IndexingContext} from '../src/context'; import {getTemplateIdentifiers} from '../src/template'; import {generateAnalysis} from '../src/transform'; import * as util from './util'; +import {AbstractBoundTemplate, NodeAdapter} from '../src/api'; +import ts from 'typescript'; /** * Adds information about a component to a context. @@ -23,7 +25,7 @@ function populateContext( component: ClassDeclaration, selector: string, template: string, - boundTemplate: BoundTarget, + boundTemplate: AbstractBoundTemplate, isInline: boolean = false, ) { context.addComponent({ @@ -37,6 +39,18 @@ function populateContext( }); } +const adapter: NodeAdapter = { + getName(node: DeclarationNode): string { + return ts.isClassDeclaration(node) && node.name ? node.name.getText() : ''; + }, + getFileName(node: DeclarationNode): string { + return node.getSourceFile().fileName; + }, + getContent(node: DeclarationNode): string { + return node.getSourceFile().getFullText(); + }, +}; + runInEachFileSystem(() => { describe('generateAnalysis', () => { it('should emit component and template analysis information', () => { @@ -44,7 +58,7 @@ runInEachFileSystem(() => { const decl = util.getComponentDeclaration('class C {}', 'C'); const template = '
    {{foo}}
    '; populateContext(context, decl, 'c-selector', template, util.getBoundTemplate(template)); - const analysis = generateAnalysis(context); + const analysis = generateAnalysis(context, adapter); expect(analysis.size).toBe(1); @@ -76,7 +90,7 @@ runInEachFileSystem(() => { util.getBoundTemplate(template), /* inline template */ true, ); - const analysis = generateAnalysis(context); + const analysis = generateAnalysis(context, adapter); expect(analysis.size).toBe(1); @@ -92,7 +106,7 @@ runInEachFileSystem(() => { const decl = util.getComponentDeclaration('class C {}', 'C'); const template = '
    {{foo}}
    '; populateContext(context, decl, 'c-selector', template, util.getBoundTemplate(template)); - const analysis = generateAnalysis(context); + const analysis = generateAnalysis(context, adapter); expect(analysis.size).toBe(1); @@ -122,7 +136,7 @@ runInEachFileSystem(() => { populateContext(context, declA, 'a-selector', templateA, boundA); populateContext(context, declB, 'b-selector', templateB, boundB); - const analysis = generateAnalysis(context); + const analysis = generateAnalysis(context, adapter); expect(analysis.size).toBe(2); diff --git a/packages/compiler-cli/src/ngtsc/indexer/test/util.ts b/packages/compiler-cli/src/ngtsc/indexer/test/util.ts index 43f9d93cb5d9..a3d0f320a3a3 100644 --- a/packages/compiler-cli/src/ngtsc/indexer/test/util.ts +++ b/packages/compiler-cli/src/ngtsc/indexer/test/util.ts @@ -22,9 +22,10 @@ import ts from 'typescript'; import {absoluteFrom, AbsoluteFsPath} from '../../file_system'; import {Reference} from '../../imports'; -import {ClassDeclaration} from '../../reflection'; +import {ClassDeclaration, DeclarationNode} from '../../reflection'; import {getDeclaration, makeProgram} from '../../testing'; import {ComponentMeta} from '../src/context'; +import {AbstractBoundTemplate} from '../src/api'; /** Dummy file URL */ function getTestFilePath(): AbsoluteFsPath { @@ -57,7 +58,7 @@ export function getBoundTemplate( template: string, options: ParseTemplateOptions = {}, components: Array<{selector: string | null; declaration: ClassDeclaration}> = [], -): BoundTarget { +): AbstractBoundTemplate { const componentsMeta = components.map(({selector, declaration}) => ({ ref: new Reference(declaration), selector, @@ -95,5 +96,30 @@ export function getBoundTemplate( const binder = new R3TargetBinder(matcher); - return binder.bind({template: parseTemplate(template, getTestFilePath(), options).nodes}); + const boundTemplate = binder.bind({ + template: parseTemplate(template, getTestFilePath(), options).nodes, + }); + const abstractBoundTemplate: AbstractBoundTemplate = { + getDirectivesOfNode(node) { + return boundTemplate.getDirectivesOfNode(node); + }, + getReferenceTarget(node) { + return boundTemplate.getReferenceTarget(node); + }, + getExpressionTarget(ast) { + return boundTemplate.getExpressionTarget(ast); + }, + getUsedDirectives() { + return boundTemplate.getUsedDirectives().map((dir) => ({ + ref: {node: dir.ref.node}, + isComponent: dir.isComponent, + })); + }, + getTemplateAst() { + return boundTemplate.target.template; + }, + }; + return abstractBoundTemplate; } + +function createAbstractBoundTemplate() {} From 6f525245cd97a934b2b5ea888ee9d52c26c58cb5 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 8 May 2026 00:19:22 +0200 Subject: [PATCH 008/317] fix(core): disallow event attribute bindings in host bindings unconditionally Moves the event attribute validation check outside of `ngDevMode` in the `elementAttributeInternal` instruction to ensure that bindings to event attributes like `on*` are always blocked at runtime. (cherry picked from commit 5b421c61cdbe9d6637cbf51a5b48ca95c6e2f74d) --- .../src/ngtsc/typecheck/src/dom.ts | 30 ++++++++++++ .../ngtsc/typecheck/test/diagnostics_spec.ts | 15 ++++++ packages/compiler/src/jit_compiler_facade.ts | 12 ++--- .../src/render3/r3_template_transform.ts | 3 +- .../compiler/src/render3/view/compiler.ts | 32 ++++++++++++ .../core/src/render3/instructions/shared.ts | 12 ++--- .../core/src/sanitization/sanitization.ts | 9 ---- .../test/linker/security_integration_spec.ts | 49 ++++++++++++++++--- 8 files changed, 133 insertions(+), 29 deletions(-) diff --git a/packages/compiler-cli/src/ngtsc/typecheck/src/dom.ts b/packages/compiler-cli/src/ngtsc/typecheck/src/dom.ts index 18d0f3655a61..727080debb37 100644 --- a/packages/compiler-cli/src/ngtsc/typecheck/src/dom.ts +++ b/packages/compiler-cli/src/ngtsc/typecheck/src/dom.ts @@ -86,6 +86,21 @@ export class RegistryDomSchemaChecker implements DomSchemaChecker { ]); }); + it('should disallow binding to event properties starting with on', () => { + const messages = diagnose( + `
    `, + ` + class TestComponent { + handler: any; + }`, + ); + + expect(messages).toEqual([ + `TestComponent.html(1, 6): Binding to event property 'onclick' is disallowed for security reasons, please use (click)=... +If 'onclick' is a directive input, make sure the directive is imported by the current module.`, + ]); + }); + it('checks text attributes that are consumed by bindings with literal string types', () => { const messages = diagnose( `
    `, diff --git a/packages/compiler/src/jit_compiler_facade.ts b/packages/compiler/src/jit_compiler_facade.ts index 6d73d7ff71a4..641379c8c014 100644 --- a/packages/compiler/src/jit_compiler_facade.ts +++ b/packages/compiler/src/jit_compiler_facade.ts @@ -908,12 +908,6 @@ function extractHostBindings( // First parse the declarations from the metadata. const bindings = parseHostBindings(host || {}); - // After that check host bindings for errors - const errors = verifyHostBindings(bindings, sourceSpan); - if (errors.length) { - throw new Error(errors.map((error: ParseError) => error.msg).join('\n')); - } - // Next, loop over the properties of the object, looking for @HostBinding and @HostListener. for (const field in propMetadata) { if (propMetadata.hasOwnProperty(field)) { @@ -933,6 +927,12 @@ function extractHostBindings( } } + // After that check host bindings for errors + const errors = verifyHostBindings(bindings, sourceSpan); + if (errors.length) { + throw new Error(errors.map((error: ParseError) => error.msg).join('\n')); + } + return bindings; } diff --git a/packages/compiler/src/render3/r3_template_transform.ts b/packages/compiler/src/render3/r3_template_transform.ts index d031c500535f..bf268b1cb31a 100644 --- a/packages/compiler/src/render3/r3_template_transform.ts +++ b/packages/compiler/src/render3/r3_template_transform.ts @@ -591,10 +591,11 @@ class HtmlAstToIvyAst implements html.Visitor { // Note that validation is skipped and property mapping is disabled // due to the fact that we need to make sure a given prop is not an // input of a directive and directive matching happens at runtime. + const isAttrOn = prop.name.toLowerCase().startsWith('attr.on'); const bep = this.bindingParser.createBoundElementProperty( elementName, prop, - /* skipValidation */ true, + /* skipValidation */ !isAttrOn, /* mapPropertyName */ false, ); bound.push(t.BoundAttribute.fromBoundElementProperty(bep, i18n)); diff --git a/packages/compiler/src/render3/view/compiler.ts b/packages/compiler/src/render3/view/compiler.ts index 110230adc158..2a68935853c8 100644 --- a/packages/compiler/src/render3/view/compiler.ts +++ b/packages/compiler/src/render3/view/compiler.ts @@ -588,9 +588,41 @@ export function verifyHostBindings( const bindingParser = makeBindingParser(); bindingParser.createDirectiveHostEventAsts(bindings.listeners, sourceSpan); bindingParser.createBoundHostProperties(bindings.properties, sourceSpan); + + validateNoEventBindings(bindings, bindingParser, sourceSpan); + return bindingParser.errors; } +/** + * Validates that there are no event attribute bindings in the host bindings. + * @param bindings - Map of host bindings for the component. + * @param bindingParser - Binding parser used to create the binding expression. + * @param sourceSpan - Source span where the host bindings were defined. + */ +function validateNoEventBindings( + bindings: ParsedHostBindings, + bindingParser: BindingParser, + sourceSpan: ParseSourceSpan, +): void { + for (const prop in bindings.properties) { + const isAttr = prop.startsWith('attr.'); + const boundName = isAttr ? prop.slice(5) : prop; + + if (boundName.toLowerCase().startsWith('on')) { + const errorType = isAttr ? 'attribute' : 'property'; + const suggestion = `(${boundName.slice(2)})=...`; + + let msg = `Binding to event ${errorType} '${boundName}' is disallowed for security reasons, please use ${suggestion}`; + if (!isAttr) { + msg += `\nIf '${prop}' is a directive input, make sure the directive is imported by the current module.`; + } + + bindingParser.errors.push(new ParseError(sourceSpan, msg)); + } + } +} + function compileStyles(styles: string[], selector: string, hostSelector: string): string[] { const shadowCss = new ShadowCss(); return styles.map((style) => { diff --git a/packages/core/src/render3/instructions/shared.ts b/packages/core/src/render3/instructions/shared.ts index 7836e226e51d..2a93130f3173 100644 --- a/packages/core/src/render3/instructions/shared.ts +++ b/packages/core/src/render3/instructions/shared.ts @@ -12,10 +12,8 @@ import {hasSkipHydrationAttrOnRElement} from '../../hydration/skip_hydration'; import {PRESERVE_HOST_CONTENT, PRESERVE_HOST_CONTENT_DEFAULT} from '../../hydration/tokens'; import {processTextNodeMarkersBeforeHydration} from '../../hydration/utils'; import {ViewEncapsulation} from '../../metadata/view'; -import { - validateAgainstEventAttributes, - validateAgainstEventProperties, -} from '../../sanitization/sanitization'; +import {validateAgainstEventProperties} from '../../sanitization/sanitization'; + import {assertIndexInRange, assertNotSame} from '../../util/assert'; import {escapeCommentText} from '../../util/dom'; import {normalizeDebugBindingName, normalizeDebugBindingValue} from '../../ng_reflect'; @@ -296,7 +294,9 @@ export function setDomProperty( const element = getNativeByTNode(tNode, lView) as RElement | RComment; if (ngDevMode) { - validateAgainstEventProperties(propName); + if (lView[TVIEW].firstUpdatePass) { + validateAgainstEventProperties(propName); + } if (!isPropertyValid(element, propName, tNode.value, lView[TVIEW].schemas)) { handleUnknownPropertyError(propName, tNode.value, tNode.type, lView); } @@ -506,7 +506,6 @@ export function elementAttributeInternal( ) { if (ngDevMode) { assertNotSame(value, NO_CHANGE as any, 'Incoming value should never be NO_CHANGE.'); - validateAgainstEventAttributes(name); assertTNodeType( tNode, TNodeType.Element, @@ -514,6 +513,7 @@ export function elementAttributeInternal( `Host bindings are not valid on ng-container or ng-template.`, ); } + const element = getNativeByTNode(tNode, lView) as RElement; setElementAttribute(lView[RENDERER], element, namespace, tNode.value, name, value, sanitizer); } diff --git a/packages/core/src/sanitization/sanitization.ts b/packages/core/src/sanitization/sanitization.ts index 0f746b21f504..8a1982105724 100644 --- a/packages/core/src/sanitization/sanitization.ts +++ b/packages/core/src/sanitization/sanitization.ts @@ -268,15 +268,6 @@ export function validateAgainstEventProperties(name: string) { } } -export function validateAgainstEventAttributes(name: string) { - if (name.toLowerCase().startsWith('on')) { - const errorMessage = - `Binding to event attribute '${name}' is disallowed for security reasons, ` + - `please use (${name.slice(2)})=...`; - throw new RuntimeError(RuntimeErrorCode.INVALID_EVENT_BINDING, errorMessage); - } -} - function getSanitizer(): Sanitizer | null { const lView = getLView(); return lView && lView[ENVIRONMENT].sanitizer; diff --git a/packages/core/test/linker/security_integration_spec.ts b/packages/core/test/linker/security_integration_spec.ts index 860ab92d9b36..968501c3b384 100644 --- a/packages/core/test/linker/security_integration_spec.ts +++ b/packages/core/test/linker/security_integration_spec.ts @@ -38,16 +38,14 @@ class OnPrefixDir { describe('security integration tests', function () { beforeEach(() => { + // Disable logging for these tests. + spyOn(console, 'log').and.callFake(() => {}); + TestBed.configureTestingModule({ declarations: [SecuredComponent, OnPrefixDir], }); }); - beforeEach(() => { - // Disable logging for these tests. - spyOn(console, 'log').and.callFake(() => {}); - }); - describe('events', () => { // this test is similar to the previous one, but since on-prefixed attributes validation now // happens at runtime, we need to invoke change detection to trigger elementProperty call @@ -56,8 +54,7 @@ describe('security integration tests', function () { TestBed.overrideComponent(SecuredComponent, {set: {template}}); expect(() => { - const cmp = TestBed.createComponent(SecuredComponent); - cmp.detectChanges(); + TestBed.createComponent(SecuredComponent); }).toThrowError( /Binding to event attribute 'onclick' is disallowed for security reasons, please use \(click\)=.../, ); @@ -97,6 +94,44 @@ describe('security integration tests', function () { expect(div.nativeElement.onclick).not.toBe(value); expect(div.nativeElement.hasAttribute('onclick')).toEqual(false); }); + + for (const ngDevModeValue of [true, false]) { + it(`should disallow binding to attr.on* in host bindings with ngDevMode=${ngDevModeValue}`, () => { + const originalNgDevMode = (globalThis as any).ngDevMode; + (globalThis as any).ngDevMode = ngDevModeValue; + + @Directive({ + selector: '[dirOnclick]', + standalone: false, + }) + class LocalHostOnclickDirective { + @HostBinding('attr.onclick') @Input() dirOnclick: string | undefined; + } + + @Component({ + selector: 'local-comp', + template: ``, + standalone: false, + }) + class LocalSecuredComponent { + ctxProp: any = 'some value'; + } + + try { + TestBed.configureTestingModule({ + declarations: [LocalSecuredComponent, LocalHostOnclickDirective], + }); + + expect(() => { + TestBed.createComponent(LocalSecuredComponent); + }).toThrowError( + /Binding to event attribute 'onclick' is disallowed for security reasons, please use \(click\)=.../, + ); + } finally { + (globalThis as any).ngDevMode = originalNgDevMode; + } + }); + } }); describe('safe HTML values', function () { From 932458c6b5cfa285c1b22e94488d593bc315742b Mon Sep 17 00:00:00 2001 From: Matthew Beck Date: Tue, 5 May 2026 17:27:09 -0700 Subject: [PATCH 009/317] test: remove invalid css that was causing issues with the postcss parser These tests happened to use garbage "{c}" declaration lists which caused the parser to choke. Given that we already have tests demonstrating similar behavior and that's not what these tests were meant to demonstrate, I've updated them to use empty declaration lists. (cherry picked from commit b1699da827e866d818c8a1541f873ccd5c31fb6d) --- .../test/shadow_css/shadow_css_spec.ts | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/compiler/test/shadow_css/shadow_css_spec.ts b/packages/compiler/test/shadow_css/shadow_css_spec.ts index d9c2893c3bb0..5a22dd9cef65 100644 --- a/packages/compiler/test/shadow_css/shadow_css_spec.ts +++ b/packages/compiler/test/shadow_css/shadow_css_spec.ts @@ -369,30 +369,30 @@ describe('ShadowCss', () => { // Comments should be kept in the same position as otherwise inline sourcemaps break due to // shift in lines. it('should remove inline comments without adding extra lines', () => { - expect(shim('/* b {c} */ b {c}', 'contenta')).toBe(' b[contenta] {c}'); + expect(shim('/* b {} */ b {}', 'contenta')).toBe(' b[contenta] {}'); }); it('should preserve internal newlines from multiline comments', () => { - expect(shim('/* b {c}\n */ b {c}', 'contenta')).toBe('\n b[contenta] {c}'); + expect(shim('/* b {}\n */ b {}', 'contenta')).toBe('\n b[contenta] {}'); }); it('should remove multiple inline comments without adding extra lines', () => { - expect(shim('/* b {c} */ b {c} /* a {c} */ a {c}', 'contenta')).toBe( - ' b[contenta] {c} a[contenta] {c}', + expect(shim('/* b {} */ b {} /* a {} */ a {}', 'contenta')).toBe( + ' b[contenta] {} a[contenta] {}', ); }); it('should keep sourceMappingURL comments', () => { - expect(shim('b {c} /*# sourceMappingURL=data:x */', 'contenta')).toBe( - 'b[contenta] {c} /*# sourceMappingURL=data:x */', + expect(shim('b {} /*# sourceMappingURL=data:x */', 'contenta')).toBe( + 'b[contenta] {} /*# sourceMappingURL=data:x */', ); - expect(shim('b {c}/* #sourceMappingURL=data:x */', 'contenta')).toBe( - 'b[contenta] {c}/* #sourceMappingURL=data:x */', + expect(shim('b {}/* #sourceMappingURL=data:x */', 'contenta')).toBe( + 'b[contenta] {}/* #sourceMappingURL=data:x */', ); }); it('should handle adjacent comments', () => { - expect(shim('/* comment 1 */ /* comment 2 */ b {c}', 'contenta')).toBe(' b[contenta] {c}'); + expect(shim('/* comment 1 */ /* comment 2 */ b {}', 'contenta')).toBe(' b[contenta] {}'); }); }); }); From 45a82b27518bf94a086538bfacd3dac4abc42199 Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Thu, 7 May 2026 13:48:23 +0200 Subject: [PATCH 010/317] fix(docs-infra): switch remaining adev services to `@Service` Reworks all the remaining injectables in adev to use `@Service`. (cherry picked from commit 1f238ab567ef0546af85aee8ac0283c7bf375306) --- adev/shared-docs/services/navigation-state.service.ts | 6 ++---- adev/shared-docs/services/search.service.ts | 6 ++---- adev/src/app/core/services/content-loader.service.ts | 4 ++-- .../src/app/core/services/example-content-loader.service.ts | 4 ++-- adev/src/app/core/services/theme-manager.service.ts | 6 ++---- adev/src/app/core/services/version-manager.service.ts | 6 ++---- .../code-editor/services/diagnostics-state.service.ts | 6 ++---- adev/src/app/editor/download-manager.service.ts | 6 ++---- adev/src/app/editor/editor-ui-state.service.ts | 4 ++-- adev/src/app/editor/firebase-studio-launcher.service.ts | 6 ++---- adev/src/app/editor/stackblitz-opener.service.ts | 6 ++---- .../api-reference-list/api-reference-manager.service.ts | 6 ++---- .../references/services/reference-scroll-handler.service.ts | 6 +++--- .../app/features/tutorial/split-resizer-handler.service.ts | 4 ++-- 14 files changed, 29 insertions(+), 47 deletions(-) diff --git a/adev/shared-docs/services/navigation-state.service.ts b/adev/shared-docs/services/navigation-state.service.ts index 7908ef4ddcb2..ae48801d0f7a 100644 --- a/adev/shared-docs/services/navigation-state.service.ts +++ b/adev/shared-docs/services/navigation-state.service.ts @@ -6,13 +6,11 @@ * found in the LICENSE file at https://angular.dev/license */ -import {Injectable, inject, linkedSignal, signal} from '@angular/core'; +import {Service, inject, linkedSignal, signal} from '@angular/core'; import {NavigationItem} from '../interfaces/index'; import {Router} from '@angular/router'; -@Injectable({ - providedIn: 'root', -}) +@Service() export class NavigationState { private readonly router = inject(Router); diff --git a/adev/shared-docs/services/search.service.ts b/adev/shared-docs/services/search.service.ts index ca8da7844930..75fc24d86422 100644 --- a/adev/shared-docs/services/search.service.ts +++ b/adev/shared-docs/services/search.service.ts @@ -7,9 +7,9 @@ */ import { - Injectable, InjectionToken, Provider, + Service, debounced, inject, linkedSignal, @@ -40,9 +40,7 @@ export const provideAlgoliaSearchClient = (config: Environment): Provider => { }; }; -@Injectable({ - providedIn: 'root', -}) +@Service() export class Search { readonly searchQuery = signal(''); diff --git a/adev/src/app/core/services/content-loader.service.ts b/adev/src/app/core/services/content-loader.service.ts index ac08bd695e00..f488e348463f 100644 --- a/adev/src/app/core/services/content-loader.service.ts +++ b/adev/src/app/core/services/content-loader.service.ts @@ -7,12 +7,12 @@ */ import {HttpClient, HttpErrorResponse} from '@angular/common/http'; -import {Injectable, inject} from '@angular/core'; +import {Service, inject} from '@angular/core'; import {DocContent, DocsContentLoader} from '@angular/docs'; import {firstValueFrom} from 'rxjs'; import {map} from 'rxjs/operators'; -@Injectable() +@Service({autoProvided: false}) export class ContentLoader implements DocsContentLoader { private readonly cache = new Map>(); private readonly httpClient = inject(HttpClient); diff --git a/adev/src/app/core/services/example-content-loader.service.ts b/adev/src/app/core/services/example-content-loader.service.ts index 2971e49aa7b0..426b22f61630 100644 --- a/adev/src/app/core/services/example-content-loader.service.ts +++ b/adev/src/app/core/services/example-content-loader.service.ts @@ -6,10 +6,10 @@ * found in the LICENSE file at https://angular.dev/license */ -import {Injectable, Type, inject} from '@angular/core'; +import {Service, Type, inject} from '@angular/core'; import {PREVIEWS_COMPONENTS} from '@angular/docs'; -@Injectable() +@Service({autoProvided: false}) export class ExampleContentLoader { private readonly previewsComponents = inject(PREVIEWS_COMPONENTS); diff --git a/adev/src/app/core/services/theme-manager.service.ts b/adev/src/app/core/services/theme-manager.service.ts index 3eab77f38ace..fa795ccd6b23 100644 --- a/adev/src/app/core/services/theme-manager.service.ts +++ b/adev/src/app/core/services/theme-manager.service.ts @@ -7,7 +7,7 @@ */ import {DOCUMENT, isPlatformBrowser} from '@angular/common'; -import {Injectable, PLATFORM_ID, inject, signal} from '@angular/core'; +import {PLATFORM_ID, Service, inject, signal} from '@angular/core'; import {LOCAL_STORAGE} from '@angular/docs'; // Keep these constants in sync with the code in index.html @@ -19,9 +19,7 @@ export const PREFERS_COLOR_SCHEME_DARK = '(prefers-color-scheme: dark)'; export type Theme = 'dark' | 'light' | 'auto'; -@Injectable({ - providedIn: 'root', -}) +@Service() export class ThemeManager { private readonly document = inject(DOCUMENT); private readonly localStorage = inject(LOCAL_STORAGE); diff --git a/adev/src/app/core/services/version-manager.service.ts b/adev/src/app/core/services/version-manager.service.ts index bf0af31c225d..12e3390e91b4 100644 --- a/adev/src/app/core/services/version-manager.service.ts +++ b/adev/src/app/core/services/version-manager.service.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.dev/license */ -import {DOCUMENT, Injectable, VERSION, computed, inject} from '@angular/core'; +import {DOCUMENT, Service, VERSION, computed, inject} from '@angular/core'; import {httpResource} from '@angular/common/http'; import versionJson from '../../../assets/others/versions.json'; @@ -30,9 +30,7 @@ type VersionJson = {version: string; url: string}; * To have an up-to-date list of versions, it will fetch a json from the deployed website. * As fallback it will use a local json file that is bundled with the app. */ -@Injectable({ - providedIn: 'root', -}) +@Service() export class VersionManager { private document = inject(DOCUMENT); diff --git a/adev/src/app/editor/code-editor/services/diagnostics-state.service.ts b/adev/src/app/editor/code-editor/services/diagnostics-state.service.ts index fe046cc9bb65..93978372ba73 100644 --- a/adev/src/app/editor/code-editor/services/diagnostics-state.service.ts +++ b/adev/src/app/editor/code-editor/services/diagnostics-state.service.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.dev/license */ -import {Injectable} from '@angular/core'; +import {Service} from '@angular/core'; import {Diagnostic} from '@codemirror/lint'; import {BehaviorSubject, distinctUntilChanged} from 'rxjs'; @@ -15,9 +15,7 @@ export interface DiagnosticWithLocation extends Diagnostic { characterPosition: number; } -@Injectable({ - providedIn: 'root', -}) +@Service() export class DiagnosticsState { private readonly _diagnostics$ = new BehaviorSubject([]); diff --git a/adev/src/app/editor/download-manager.service.ts b/adev/src/app/editor/download-manager.service.ts index bcf8ff11b4d7..f2d68c6217c5 100644 --- a/adev/src/app/editor/download-manager.service.ts +++ b/adev/src/app/editor/download-manager.service.ts @@ -7,14 +7,12 @@ */ import {DOCUMENT, isPlatformBrowser} from '@angular/common'; -import {EnvironmentInjector, Injectable, PLATFORM_ID, inject} from '@angular/core'; +import {EnvironmentInjector, PLATFORM_ID, Service, inject} from '@angular/core'; import {generateZip} from '@angular/docs'; import {injectNodeRuntimeSandbox} from './inject-node-runtime-sandbox'; -@Injectable({ - providedIn: 'root', -}) +@Service() export class DownloadManager { private readonly document = inject(DOCUMENT); private readonly environmentInjector = inject(EnvironmentInjector); diff --git a/adev/src/app/editor/editor-ui-state.service.ts b/adev/src/app/editor/editor-ui-state.service.ts index 7919b721ce0f..5698c645232b 100644 --- a/adev/src/app/editor/editor-ui-state.service.ts +++ b/adev/src/app/editor/editor-ui-state.service.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.dev/license */ -import {EnvironmentInjector, inject, Injectable} from '@angular/core'; +import {EnvironmentInjector, inject, Service} from '@angular/core'; import {toSignal} from '@angular/core/rxjs-interop'; import {filter, from, map, switchMap} from 'rxjs'; @@ -14,7 +14,7 @@ import {TutorialMetadata} from '@angular/docs'; import {injectEmbeddedTutorialManager} from './inject-embedded-tutorial-manager'; -@Injectable() +@Service({autoProvided: false}) export class EditorUiState { private readonly environmentInjector = inject(EnvironmentInjector); diff --git a/adev/src/app/editor/firebase-studio-launcher.service.ts b/adev/src/app/editor/firebase-studio-launcher.service.ts index b21f209d1aca..709abb1e9d8d 100644 --- a/adev/src/app/editor/firebase-studio-launcher.service.ts +++ b/adev/src/app/editor/firebase-studio-launcher.service.ts @@ -6,14 +6,12 @@ * found in the LICENSE file at https://angular.dev/license */ -import {EnvironmentInjector, Injectable, inject} from '@angular/core'; +import {EnvironmentInjector, Service, inject} from '@angular/core'; import * as IDX from 'open-in-idx'; import {injectNodeRuntimeSandbox} from './inject-node-runtime-sandbox'; -@Injectable({ - providedIn: 'root', -}) +@Service() export class FirebaseStudioLauncher { private readonly environmentInjector = inject(EnvironmentInjector); diff --git a/adev/src/app/editor/stackblitz-opener.service.ts b/adev/src/app/editor/stackblitz-opener.service.ts index 4fb481160c26..59bf601e9426 100644 --- a/adev/src/app/editor/stackblitz-opener.service.ts +++ b/adev/src/app/editor/stackblitz-opener.service.ts @@ -6,14 +6,12 @@ * found in the LICENSE file at https://angular.dev/license */ -import {EnvironmentInjector, Injectable, inject} from '@angular/core'; +import {EnvironmentInjector, Service, inject} from '@angular/core'; import sdk, {Project, ProjectFiles} from '@stackblitz/sdk'; import {injectNodeRuntimeSandbox} from './inject-node-runtime-sandbox'; -@Injectable({ - providedIn: 'root', -}) +@Service() export class StackBlitzOpener { private readonly environmentInjector = inject(EnvironmentInjector); diff --git a/adev/src/app/features/references/api-reference-list/api-reference-manager.service.ts b/adev/src/app/features/references/api-reference-list/api-reference-manager.service.ts index bf3f6468a447..6f0cf4b391a6 100644 --- a/adev/src/app/features/references/api-reference-list/api-reference-manager.service.ts +++ b/adev/src/app/features/references/api-reference-list/api-reference-manager.service.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.dev/license */ -import {Injectable, signal} from '@angular/core'; +import {Service, signal} from '@angular/core'; // This file is generated at build-time, error is expected here. import API_MANIFEST_JSON from '../../../../../src/assets/api/manifest.json'; import {getApiUrl} from '../helpers/manifest.helper'; @@ -16,9 +16,7 @@ import {ApiItem} from '../interfaces/api-item'; const manifest = API_MANIFEST_JSON as ApiManifest; -@Injectable({ - providedIn: 'root', -}) +@Service() export class ApiReferenceManager { apiGroups = signal(this.mapManifestToApiGroups()); diff --git a/adev/src/app/features/references/services/reference-scroll-handler.service.ts b/adev/src/app/features/references/services/reference-scroll-handler.service.ts index 3a6ffe1c2b49..3cf988080297 100644 --- a/adev/src/app/features/references/services/reference-scroll-handler.service.ts +++ b/adev/src/app/features/references/services/reference-scroll-handler.service.ts @@ -6,14 +6,14 @@ * found in the LICENSE file at https://angular.dev/license */ -import {DOCUMENT, isPlatformBrowser} from '@angular/common'; -import {DestroyRef, Injectable, PLATFORM_ID, inject} from '@angular/core'; +import {DOCUMENT} from '@angular/common'; +import {DestroyRef, Service, inject} from '@angular/core'; import {takeUntilDestroyed} from '@angular/core/rxjs-interop'; import {fromEvent} from 'rxjs'; import {MEMBER_ID_ATTRIBUTE} from '../constants/api-reference-prerender.constants'; import {Router} from '@angular/router'; -@Injectable() +@Service({autoProvided: false}) export class ReferenceScrollHandler { private readonly destroyRef = inject(DestroyRef); private readonly document = inject(DOCUMENT); diff --git a/adev/src/app/features/tutorial/split-resizer-handler.service.ts b/adev/src/app/features/tutorial/split-resizer-handler.service.ts index a481532ffd40..7c703ab7a33a 100644 --- a/adev/src/app/features/tutorial/split-resizer-handler.service.ts +++ b/adev/src/app/features/tutorial/split-resizer-handler.service.ts @@ -8,7 +8,7 @@ import {FocusMonitor} from '@angular/cdk/a11y'; import {DOCUMENT} from '@angular/common'; -import {DestroyRef, ElementRef, Injectable, inject, signal} from '@angular/core'; +import {DestroyRef, ElementRef, Service, inject, signal} from '@angular/core'; import {takeUntilDestroyed} from '@angular/core/rxjs-interop'; import {fromEvent, combineLatest} from 'rxjs'; import {map, filter, finalize} from 'rxjs/operators'; @@ -28,7 +28,7 @@ interface MouseEventAndEditor { const MIN_WIDTH_OF_CONTENT_IN_PX = 300; const MAX_WIDTH_OF_CONTENT_IN_PX = 800; -@Injectable() +@Service({autoProvided: false}) export class SplitResizerHandler { private readonly destroyRef = inject(DestroyRef); private readonly document = inject(DOCUMENT); From a373c0ecd63bb1c35ee980e1d8ac813587043e1d Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 7 May 2026 16:29:50 +0000 Subject: [PATCH 011/317] build: update all github actions See associated pull request for more information. --- .github/workflows/ci.yml | 2 +- .github/workflows/pr.yml | 2 +- .github/workflows/scorecard.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b73ccd63ef16..7c800bddcbf6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -57,7 +57,7 @@ jobs: - name: Test build run: pnpm devtools:build:chrome - name: Cypress run - uses: cypress-io/github-action@c495c3ddffba403ba11be95fffb67e25203b3799 # v7.1.10 + uses: cypress-io/github-action@dace029018fcdf86e0df89a31bc3cfa5b32570d8 # v7.3.0 with: command: pnpm devtools:test:e2e start: pnpm bazel run //devtools/src:devserver diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index d6aed40d566d..84a96f0c97a0 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -61,7 +61,7 @@ jobs: - name: Test build run: pnpm devtools:build:chrome - name: Cypress run - uses: cypress-io/github-action@c495c3ddffba403ba11be95fffb67e25203b3799 # v7.1.10 + uses: cypress-io/github-action@dace029018fcdf86e0df89a31bc3cfa5b32570d8 # v7.3.0 with: command: pnpm devtools:test:e2e start: pnpm bazel run //devtools/src:devserver diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index b7f7d6ebf76d..6504b570e091 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@95e58e9a2cdfd71adc6e0353d5c52f41a045d225 # v4.35.2 + uses: github/codeql-action/upload-sarif@68bde559dea0fdcac2102bfdf6230c5f70eb485e # v4.35.4 with: sarif_file: results.sarif From a451a1d66ee4bf52b24b06dc9d35a7b7ae7b7eb5 Mon Sep 17 00:00:00 2001 From: Alan Agius <17563226+alan-agius4@users.noreply.github.com> Date: Tue, 5 May 2026 09:49:18 +0000 Subject: [PATCH 012/317] fix(platform-server): add `allowedHosts` option to `renderModule` and `renderApplication` In server-side rendering (SSR) setups, passing request URLs directly to the lower-level rendering APIs `renderModule` or `renderApplication` can expose applications to Server-Side Request Forgery (SSRF) or Host Header Injection attacks via absolute-form request URLs. To mitigate these vulnerabilities at the framework layer, this commit introduces the `allowedHosts` option to `PlatformConfig` (supporting exact hostnames, wildcards like `*.example.com`, or `*` to allow all). During platform initialization inside `createServerPlatform`, the hostname of the request `url` is validated against the `allowedHosts` list. If the hostname is not authorized, bootstrap immediately throws a host validation error, preventing unauthorized rendering and silent SSRF bypasses. Closes #68436 (cherry picked from commit 60552a73e82c1d631c72679aae026eaa9268c226) --- .../public-api/platform-server/index.api.md | 2 + .../projects/standalone/server.ts | 1 + .../projects/ngmodule/server.ts | 1 + .../projects/standalone/server.ts | 1 + .../platform-server/src/private_export.ts | 3 + packages/platform-server/src/utils.ts | 74 ++++++++++++-- packages/platform-server/test/utils_spec.ts | 97 +++++++++++++++++++ 7 files changed, 171 insertions(+), 8 deletions(-) create mode 100644 packages/platform-server/test/utils_spec.ts diff --git a/goldens/public-api/platform-server/index.api.md b/goldens/public-api/platform-server/index.api.md index 476de591676f..2578436d5477 100644 --- a/goldens/public-api/platform-server/index.api.md +++ b/goldens/public-api/platform-server/index.api.md @@ -50,6 +50,7 @@ export function renderApplication(bootstrap: (context: BootstrapContext) => Prom document?: string | Document; url?: string; platformProviders?: Provider[]; + allowedHosts?: Readonly[]; }): Promise; // @public @@ -57,6 +58,7 @@ export function renderModule(moduleType: Type, options: { document?: string | Document; url?: string; extraProviders?: StaticProvider[]; + allowedHosts?: Readonly[]; }): Promise; // @public diff --git a/integration/platform-server-zoneless/projects/standalone/server.ts b/integration/platform-server-zoneless/projects/standalone/server.ts index d91deb465562..6ecfaf7c83f8 100644 --- a/integration/platform-server-zoneless/projects/standalone/server.ts +++ b/integration/platform-server-zoneless/projects/standalone/server.ts @@ -42,6 +42,7 @@ app.use((req, res) => { renderApplication(bootstrap, { document: indexHtml, + allowedHosts: ['localhost'], url: `${protocol}://${headers.host}${originalUrl}`, platformProviders: [{provide: APP_BASE_HREF, useValue: baseUrl}], }).then((response: string) => { diff --git a/integration/platform-server/projects/ngmodule/server.ts b/integration/platform-server/projects/ngmodule/server.ts index 6afe95549ee7..0aa76bf898a5 100644 --- a/integration/platform-server/projects/ngmodule/server.ts +++ b/integration/platform-server/projects/ngmodule/server.ts @@ -42,6 +42,7 @@ app.use((req, res) => { renderModule(AppServerModule, { document: indexHtml, + allowedHosts: ['localhost'], url: `${protocol}://${headers.host}${originalUrl}`, extraProviders: [{provide: APP_BASE_HREF, useValue: baseUrl}], }).then((response: string) => { diff --git a/integration/platform-server/projects/standalone/server.ts b/integration/platform-server/projects/standalone/server.ts index b4979182e23b..662dfb854003 100644 --- a/integration/platform-server/projects/standalone/server.ts +++ b/integration/platform-server/projects/standalone/server.ts @@ -42,6 +42,7 @@ app.use((req, res) => { renderApplication(bootstrap, { document: indexHtml, + allowedHosts: ['localhost'], url: `${protocol}://${headers.host}${originalUrl}`, platformProviders: [{provide: APP_BASE_HREF, useValue: baseUrl}], }).then((response: string) => { diff --git a/packages/platform-server/src/private_export.ts b/packages/platform-server/src/private_export.ts index 6529cf24007f..eae9c0e2ee08 100644 --- a/packages/platform-server/src/private_export.ts +++ b/packages/platform-server/src/private_export.ts @@ -13,3 +13,6 @@ export { export {SERVER_CONTEXT as ɵSERVER_CONTEXT, renderInternal as ɵrenderInternal} from './utils'; export {ENABLE_DOM_EMULATION as ɵENABLE_DOM_EMULATION} from './tokens'; export {DominoAdapter as ɵDominoAdapter} from './domino_adapter'; + +// Use in @angular/ssr. +export {isHostAllowed as ɵisHostAllowed} from './utils'; diff --git a/packages/platform-server/src/utils.ts b/packages/platform-server/src/utils.ts index 92baf0b6038b..0199afd83fa1 100644 --- a/packages/platform-server/src/utils.ts +++ b/packages/platform-server/src/utils.ts @@ -26,7 +26,7 @@ import {BootstrapContext} from '@angular/platform-browser'; import {platformServer} from './server'; import {PlatformState} from './platform_state'; -import {BEFORE_APP_SERIALIZED, INITIAL_CONFIG} from './tokens'; +import {BEFORE_APP_SERIALIZED, INITIAL_CONFIG, PlatformConfig} from './tokens'; import {createScript} from './transfer_state'; /** @@ -39,9 +39,8 @@ import {createScript} from './transfer_state'; */ export const EVENT_DISPATCH_SCRIPT_ID = 'ng-event-dispatch-contract'; -interface PlatformOptions { +interface PlatformOptions extends Omit { document?: string | Document; - url?: string; platformProviders?: Provider[]; } @@ -53,9 +52,16 @@ function createServerPlatform(options: PlatformOptions): PlatformRef { const extraProviders = options.platformProviders ?? []; const measuringLabel = 'createServerPlatform'; startMeasuring(measuringLabel); + const {document, url} = options; const platform = platformServer([ - {provide: INITIAL_CONFIG, useValue: {document: options.document, url: options.url}}, + { + provide: INITIAL_CONFIG, + useValue: { + document, + url, + }, + }, extraProviders, ]); @@ -265,14 +271,20 @@ function sanitizeServerContext(serverContext: string): string { * as a reference to the `document` instance. * - `url` - the URL for the current render request. * - `extraProviders` - set of platform level providers for the current render request. - * + * - `allowedHosts` - the allowed hosts list for host validation in server-side rendering. * @publicApi */ export async function renderModule( moduleType: Type, - options: {document?: string | Document; url?: string; extraProviders?: StaticProvider[]}, + options: { + document?: string | Document; + url?: string; + extraProviders?: StaticProvider[]; + allowedHosts?: Readonly[]; + }, ): Promise { - const {document, url, extraProviders: platformProviders} = options; + const {document, url, extraProviders: platformProviders, allowedHosts} = options; + validateAllowedHosts(url, allowedHosts); const platformRef = createServerPlatform({document, url, platformProviders}); try { const moduleRef = await platformRef.bootstrapModule(moduleType); @@ -315,6 +327,7 @@ export async function renderModule( * as a reference to the `document` instance. * - `url` - the URL for the current render request. * - `platformProviders` - the platform level providers for the current render request. + * - `allowedHosts` - the allowed hosts list for host validation in server-side rendering. * * @returns A Promise, that returns serialized (to a string) rendered page, once resolved. * @@ -322,11 +335,19 @@ export async function renderModule( */ export async function renderApplication( bootstrap: (context: BootstrapContext) => Promise, - options: {document?: string | Document; url?: string; platformProviders?: Provider[]}, + options: { + document?: string | Document; + url?: string; + platformProviders?: Provider[]; + allowedHosts?: Readonly[]; + }, ): Promise { const renderAppLabel = 'renderApplication'; const bootstrapLabel = 'bootstrap'; const _renderLabel = '_render'; + const {url, allowedHosts} = options; + + validateAllowedHosts(url, allowedHosts); startMeasuring(renderAppLabel); const platformRef = createServerPlatform(options); @@ -351,3 +372,40 @@ export async function renderApplication( stopMeasuring(renderAppLabel); } } + +function validateAllowedHosts(url: string | undefined, allowedHosts: string[] | undefined) { + if (typeof url === 'string' && URL.canParse(url)) { + const hostname = new URL(url).hostname; + const allowedHostsSet: ReadonlySet = new Set(allowedHosts); + if (!isHostAllowed(hostname, allowedHostsSet)) { + throw new Error(`Host ${url} is not allowed. You can configure \`allowedHosts\` option.`); + } + } +} + +/** + * Checks if the hostname is allowed. + * @param hostname - The hostname to check. + * @param allowedHosts - A set of allowed hostnames. + * @returns `true` if the hostname is allowed, `false` otherwise. + * @note Used also in `@angular/ssr`. + * @private + */ +export function isHostAllowed(hostname: string, allowedHosts: ReadonlySet): boolean { + if (allowedHosts.has('*') || allowedHosts.has(hostname)) { + return true; + } + + for (const allowedHost of allowedHosts) { + if (!allowedHost.startsWith('*.')) { + continue; + } + + const domain = allowedHost.slice(1); + if (hostname.endsWith(domain)) { + return true; + } + } + + return false; +} diff --git a/packages/platform-server/test/utils_spec.ts b/packages/platform-server/test/utils_spec.ts new file mode 100644 index 000000000000..8850b535743f --- /dev/null +++ b/packages/platform-server/test/utils_spec.ts @@ -0,0 +1,97 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.dev/license + */ + +import {destroyPlatform} from '@angular/core'; +import {renderApplication, renderModule} from '@angular/platform-server'; +import {isHostAllowed} from '../src/utils'; + +describe('isHostAllowed', () => { + it('allows matching hostname when in allowedHosts list', () => { + expect(isHostAllowed('test.com', new Set(['test.com', 'example.com']))).toBeTrue(); + }); + + it('allows matching hostname when wildcard matches', () => { + expect(isHostAllowed('sub.example.com', new Set(['test.com', '*.example.com']))).toBeTrue(); + }); + + it('rejects hostname when not in allowedHosts list', () => { + expect(isHostAllowed('evil.com', new Set(['test.com', '*.example.com']))).toBeFalse(); + }); + + it('allows all hostnames when * is in allowedHosts list', () => { + expect(isHostAllowed('anydomain.com', new Set(['*']))).toBeTrue(); + }); +}); + +describe('allowedHosts validation in renderApplication', () => { + const bootstrap = (async () => {}) as any; + + beforeEach(() => { + destroyPlatform(); + }); + + afterEach(() => { + destroyPlatform(); + }); + + it('should throw an error on bootstrap if host is not allowed', async () => { + await expectAsync( + renderApplication(bootstrap, { + document: '', + url: 'http://evil.com/deep/path', + allowedHosts: ['test.com', '*.example.com'], + }), + ).toBeRejectedWithError(/Host http:\/\/evil.com\/deep\/path is not allowed/); + }); + + it('should not throw a host validation error on bootstrap if host is allowed', async () => { + try { + await renderApplication(bootstrap, { + document: '', + url: 'http://test.com/deep/path', + allowedHosts: ['test.com', '*.example.com'], + }); + } catch (error: any) { + expect(error.message).not.toContain('is not allowed'); + } + }); +}); + +describe('allowedHosts validation in renderModule', () => { + class MockModule {} + + beforeEach(() => { + destroyPlatform(); + }); + + afterEach(() => { + destroyPlatform(); + }); + + it('should throw an error if host is not allowed', async () => { + await expectAsync( + renderModule(MockModule, { + document: '', + url: 'http://evil.com/deep/path', + allowedHosts: ['test.com', '*.example.com'], + }), + ).toBeRejectedWithError(/Host http:\/\/evil.com\/deep\/path is not allowed/); + }); + + it('should not throw a host validation error if host is allowed', async () => { + try { + await renderModule(MockModule, { + document: '', + url: 'http://test.com/deep/path', + allowedHosts: ['test.com', '*.example.com'], + }); + } catch (error: any) { + expect(error.message).not.toContain('is not allowed'); + } + }); +}); From a3d463133228941b9072aa812a09325b5b7374e1 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 7 May 2026 07:51:35 +0000 Subject: [PATCH 013/317] build: update bazel dependencies See associated pull request for more information. --- MODULE.bazel | 6 +++--- MODULE.bazel.lock | 23 +++++++++++++---------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index 459c815a2ce9..e8caf7c5a367 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -6,14 +6,14 @@ module( bazel_dep(name = "rules_pkg", version = "1.2.0") bazel_dep(name = "rules_nodejs", version = "6.7.4") -bazel_dep(name = "aspect_rules_ts", version = "3.8.8") -bazel_dep(name = "aspect_rules_js", version = "3.0.3") +bazel_dep(name = "aspect_rules_ts", version = "3.8.9") +bazel_dep(name = "aspect_rules_js", version = "3.1.1") bazel_dep(name = "aspect_rules_esbuild", version = "0.25.1") bazel_dep(name = "aspect_rules_jasmine", version = "2.0.4") bazel_dep(name = "aspect_rules_rollup", version = "2.0.1") bazel_dep(name = "bazel_skylib", version = "1.9.0") bazel_dep(name = "bazel_lib", version = "3.3.1") -bazel_dep(name = "tar.bzl", version = "0.10.1") +bazel_dep(name = "tar.bzl", version = "0.10.4") bazel_dep(name = "yq.bzl", version = "0.3.6") bazel_dep(name = "rules_angular") git_override( diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index a701eb029326..530f84d5dae2 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -25,11 +25,13 @@ "https://bcr.bazel.build/modules/aspect_rules_jasmine/2.0.4/source.json": "81ffb708333cd98ec3c0b4cc004f4d5cf92a16914b5196a2892c45141bba7cff", "https://bcr.bazel.build/modules/aspect_rules_js/2.0.0/MODULE.bazel": "b45b507574aa60a92796e3e13c195cd5744b3b8aff516a9c0cb5ae6a048161c5", "https://bcr.bazel.build/modules/aspect_rules_js/3.0.3/MODULE.bazel": "28a30e8fc33bf64a67835d64d124f6e05a7d59648dcb27b110fb3502f761e503", - "https://bcr.bazel.build/modules/aspect_rules_js/3.0.3/source.json": "bb8fff9a304452e1042af9522ad1d54d6f1d1fdf71c5127deadb6fd156654193", + "https://bcr.bazel.build/modules/aspect_rules_js/3.1.1/MODULE.bazel": "b83cf3ee44837345f1c926d70b96453deb5e244de43d08dcd7acad8d381c275a", + "https://bcr.bazel.build/modules/aspect_rules_js/3.1.1/source.json": "2806c2d7ce5993f68b74df5f3e2de45d4b2a5798afedd459d88e37c75562da97", "https://bcr.bazel.build/modules/aspect_rules_rollup/2.0.1/MODULE.bazel": "296e3a053658c2af989ba9bd62a205e6d1fa84bdd6dd5249196546e6b84770ec", "https://bcr.bazel.build/modules/aspect_rules_rollup/2.0.1/source.json": "2fe8ac1ccb4de74bf884761e070010280b272d94e3997205b361b91c75409726", "https://bcr.bazel.build/modules/aspect_rules_ts/3.8.8/MODULE.bazel": "b52b929a948438665809d49af610f58d1b14f63d6d21ab748f47b6050be4c1f6", - "https://bcr.bazel.build/modules/aspect_rules_ts/3.8.8/source.json": "5414530b761a45ab7ca6c49f0a2a9cf8dc0da772f5037cf05ca18aaa64bb1b19", + "https://bcr.bazel.build/modules/aspect_rules_ts/3.8.9/MODULE.bazel": "bd5f9ebf517cfcd377eaa7ce1cb16035d167f00774b77789909590c53bc6f20c", + "https://bcr.bazel.build/modules/aspect_rules_ts/3.8.9/source.json": "59e66656561571ed82ccff56c75c43d0bc79f0065ca8d17be2752d4f648d40c9", "https://bcr.bazel.build/modules/aspect_tools_telemetry/0.2.6/MODULE.bazel": "cafb8781ad591bc57cc765dca5fefab08cf9f65af363d162b79d49205c7f8af7", "https://bcr.bazel.build/modules/aspect_tools_telemetry/0.2.8/MODULE.bazel": "aa975a83e72bcaac62ee61ab12b788ea324a1d05c4aab28aadb202f647881679", "https://bcr.bazel.build/modules/aspect_tools_telemetry/0.3.3/MODULE.bazel": "37c764292861c2f70314efa9846bb6dbb44fc0308903b3285da6528305450183", @@ -196,7 +198,8 @@ "https://bcr.bazel.build/modules/stardoc/0.7.2/MODULE.bazel": "fc152419aa2ea0f51c29583fab1e8c99ddefd5b3778421845606ee628629e0e5", "https://bcr.bazel.build/modules/stardoc/0.7.2/source.json": "58b029e5e901d6802967754adf0a9056747e8176f017cfe3607c0851f4d42216", "https://bcr.bazel.build/modules/tar.bzl/0.10.1/MODULE.bazel": "bf5fda5b5ccef8c3c4a5f4886144377386e0baa382972f257acb42dcf40ea908", - "https://bcr.bazel.build/modules/tar.bzl/0.10.1/source.json": "3f1beb35acf53c270a9de493cdc775a985551d7069cfcf24e136b42f683bbb10", + "https://bcr.bazel.build/modules/tar.bzl/0.10.4/MODULE.bazel": "e8f9ff79199e8d9eaad7f1b0a77ad74b30bb82d794b87d8ca942bead5de83ae9", + "https://bcr.bazel.build/modules/tar.bzl/0.10.4/source.json": "20143442376c03426f6135292ba02d825cb75308aa47e6bf42dd4cc5a435c2ff", "https://bcr.bazel.build/modules/tar.bzl/0.2.1/MODULE.bazel": "52d1c00a80a8cc67acbd01649e83d8dd6a9dc426a6c0b754a04fe8c219c76468", "https://bcr.bazel.build/modules/tar.bzl/0.5.1/MODULE.bazel": "7c2eb3dcfc53b0f3d6f9acdfd911ca803eaf92aadf54f8ca6e4c1f3aee288351", "https://bcr.bazel.build/modules/tar.bzl/0.6.0/MODULE.bazel": "a3584b4edcfafcabd9b0ef9819808f05b372957bbdff41601429d5fd0aac2e7c", @@ -215,7 +218,7 @@ "moduleExtensions": { "@@aspect_rules_esbuild+//esbuild:extensions.bzl%esbuild": { "general": { - "bzlTransitiveDigest": "3l5lERuIkp41OnB+ZcMQkXS5ttpwE3LfWmePbmwDofk=", + "bzlTransitiveDigest": "DRpOrf9PyrUmbPOhx+XiFomy+ty8fxL9+fGs6LFadYw=", "usagesDigest": "6We6zwGoawD9YXqMI0KPaxEKJTnamXBsuOekhFS2D40=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, @@ -430,7 +433,7 @@ }, "@@aspect_rules_ts+//ts:extensions.bzl%ext": { "general": { - "bzlTransitiveDigest": "dhTbv9E6UfT1WJmmu3ORRPO6AKFJvgBjBxu+BO+u1RY=", + "bzlTransitiveDigest": "cqZ07zAB92ofKybw48WmPNKyNQHaGZ7YVkj1SNs+f7c=", "usagesDigest": "8mf2+xwO+CO397XBbbqOVFqyfTb2jWbfICPzgzPbSEk=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, @@ -494,7 +497,7 @@ "@@aspect_tools_telemetry+//:extension.bzl%telemetry": { "general": { "bzlTransitiveDigest": "cl5A2O84vDL6Tt+Qga8FCj1DUDGqn+e7ly5rZ+4xvcc=", - "usagesDigest": "XReaXejedAKAFKyp+2mfnFkPWXBJzM/VxiOYB4nyseY=", + "usagesDigest": "ZZb1xIaM7MwIk9oEUnD4lvRBuRPBGUaaRCajg1kTm5c=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, @@ -503,8 +506,8 @@ "repoRuleId": "@@aspect_tools_telemetry+//:extension.bzl%tel_repository", "attributes": { "deps": { - "aspect_rules_ts": "3.8.8", - "aspect_rules_js": "3.0.3", + "aspect_rules_ts": "3.8.9", + "aspect_rules_js": "3.1.1", "aspect_rules_esbuild": "0.25.1", "aspect_rules_jasmine": "2.0.4", "aspect_tools_telemetry": "0.3.3" @@ -948,7 +951,7 @@ "@@rules_nodejs+//nodejs:extensions.bzl%node": { "general": { "bzlTransitiveDigest": "oZFClfRhTTwsYzpxVPkOpOt/r0+OzEfEV37au0jFZ0s=", - "usagesDigest": "dp2HPl9Y2BFhrnM0JALIsJHz02rKnRBpISBHQX4qV7E=", + "usagesDigest": "BcQn1Spj6nIogdDf1faelC5VZyDqM/o8cvGOJh1e1Sk=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, @@ -4164,7 +4167,7 @@ "@@yq.bzl+//yq:extensions.bzl%yq": { "general": { "bzlTransitiveDigest": "UfFMy8CWK4/dVo/tfaSAIYUiDGNAPes5eRllx9O9Q9Q=", - "usagesDigest": "5cUmZOEOibp2h65JoFppstHiXcjDFil/AG+HgD3avRk=", + "usagesDigest": "S0iKr407bxb958DX9nvFIy8pPC6eCZJYS5Ok45r9U2g=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, From 609f9304c2c6c493d801ff1152bafcfa6a606aae Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 7 May 2026 22:35:05 +0000 Subject: [PATCH 014/317] docs: update cross-repo adev docs Updated Angular adev cross repo docs files. --- adev/src/content/aria/_build-info.json | 4 +- adev/src/content/aria/aria-combobox.json | 728 ++++++++++++----------- adev/src/content/aria/aria-grid.json | 247 ++++++-- adev/src/content/aria/aria-listbox.json | 100 +++- adev/src/content/aria/aria-menu.json | 191 +++++- adev/src/content/aria/aria-toolbar.json | 247 ++++---- adev/src/content/aria/aria-tree.json | 160 +++-- adev/src/content/cdk/_build-info.json | 2 +- adev/src/content/cli/_build-info.json | 2 +- adev/src/content/cli/generate.json | 6 + 10 files changed, 1137 insertions(+), 550 deletions(-) diff --git a/adev/src/content/aria/_build-info.json b/adev/src/content/aria/_build-info.json index 54c723b31368..814d4851bc20 100644 --- a/adev/src/content/aria/_build-info.json +++ b/adev/src/content/aria/_build-info.json @@ -1,4 +1,4 @@ { - "branchName": "refs/heads/main", - "sha": "d6e798ec341c4951dcbbeeea2d8a5f00d3147cbf" + "branchName": "refs/heads/22.0.x", + "sha": "aa0bda6dd61f2c57a0f77cab0839d5aab5fd46a1" } \ No newline at end of file diff --git a/adev/src/content/aria/aria-combobox.json b/adev/src/content/aria/aria-combobox.json index a06dad000731..a585240a4c35 100755 --- a/adev/src/content/aria/aria-combobox.json +++ b/adev/src/content/aria/aria-combobox.json @@ -5,44 +5,7 @@ "normalizedModuleName": "angular_aria_combobox", "entries": [ { - "name": "ComboboxPopupContainer", - "isAbstract": false, - "entryType": "undecorated_class", - "members": [], - "generics": [], - "description": "A structural directive that marks the `ng-template` to be used as the popup\nfor a combobox. This content is conditionally rendered.\n\nThe content of the popup can be a `ngListbox`, `ngTree`, or `role=\"dialog\"`, allowing for\nflexible and complex combobox implementations. The consumer is responsible for\nimplementing the filtering logic based on the `ngComboboxInput`'s value.\n\n```html\n\n
    \n \n
    \n
    \n```\n\nWhen using CdkOverlay, this directive can be replaced by `cdkConnectedOverlay`.\n\n```html\n\n
    \n \n
    \n\n```", - "jsdocTags": [ - { - "name": "developerPreview", - "comment": "21.0" - }, - { - "name": "see", - "comment": "[Combobox](guide/aria/combobox)" - }, - { - "name": "see", - "comment": "[Select](guide/aria/select)" - }, - { - "name": "see", - "comment": "[Multiselect](guide/aria/multiselect)" - }, - { - "name": "see", - "comment": "[Autocomplete](guide/aria/autocomplete)" - } - ], - "rawComment": "/**\n * A structural directive that marks the `ng-template` to be used as the popup\n * for a combobox. This content is conditionally rendered.\n *\n * The content of the popup can be a `ngListbox`, `ngTree`, or `role=\"dialog\"`, allowing for\n * flexible and complex combobox implementations. The consumer is responsible for\n * implementing the filtering logic based on the `ngComboboxInput`'s value.\n *\n * ```html\n * \n *
    \n * \n *
    \n *
    \n * ```\n *\n * When using CdkOverlay, this directive can be replaced by `cdkConnectedOverlay`.\n *\n * ```html\n * \n *
    \n * \n *
    \n * \n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Combobox](guide/aria/combobox)\n * @see [Select](guide/aria/select)\n * @see [Multiselect](guide/aria/multiselect)\n * @see [Autocomplete](guide/aria/autocomplete)\n */", - "implements": [], - "source": { - "filePath": "src/aria/combobox/combobox-popup-container.ts", - "startLine": 47, - "endLine": 52 - } - }, - { - "name": "ComboboxInput", + "name": "ComboboxWidget", "isAbstract": false, "entryType": "directive", "members": [ @@ -53,73 +16,201 @@ "memberTags": [ "readonly" ], - "description": "A reference to the input element.", + "description": "A reference to the popup widget element.", "jsdocTags": [] }, { - "name": "combobox", - "type": "Combobox", + "name": "popupId", + "type": "WritableSignal", "memberType": "property", "memberTags": [ "readonly" ], - "description": "The combobox that the input belongs to.", + "description": "The ID of the popup widget.", "jsdocTags": [] }, { - "name": "value", - "type": "ModelSignal", + "name": "activeDescendant", + "type": "InputSignal", "memberType": "property", "memberTags": [ "readonly", - "input", - "output" + "input" ], - "description": "The value of the input.", + "description": "The ID of the active descendant in the widget.", "jsdocTags": [], - "inputAlias": "value", - "isRequiredInput": false, - "outputAlias": "valueChange" - } - ], - "generics": [], - "description": "An input that is part of a combobox. It is responsible for displaying the\ncurrent value and handling user input for filtering and selection.\n\nThis directive should be applied to an `` element within an `ngCombobox`\ncontainer. It automatically handles keyboard interactions, such as opening the\npopup and navigating through the options.\n\n```html\n\n```", - "jsdocTags": [ - { - "name": "developerPreview", - "comment": "21.0" + "inputAlias": "activeDescendant", + "isRequiredInput": false }, { - "name": "see", - "comment": "[Combobox](guide/aria/combobox)" + "name": "ngOnInit", + "signatures": [ + { + "name": "ngOnInit", + "entryType": "function", + "description": "", + "generics": [], + "isNewType": false, + "jsdocTags": [], + "params": [], + "rawComment": "", + "returnType": "void" + } + ], + "implementation": { + "params": [], + "isNewType": false, + "returnType": "void", + "generics": [], + "name": "ngOnInit", + "description": "", + "entryType": "function", + "jsdocTags": [], + "rawComment": "" + }, + "entryType": "function", + "description": "", + "jsdocTags": [], + "rawComment": "", + "memberType": "method", + "memberTags": [] }, { - "name": "see", - "comment": "[Select](guide/aria/select)" + "name": "ngOnDestroy", + "signatures": [ + { + "name": "ngOnDestroy", + "entryType": "function", + "description": "", + "generics": [], + "isNewType": false, + "jsdocTags": [], + "params": [], + "rawComment": "", + "returnType": "void" + } + ], + "implementation": { + "params": [], + "isNewType": false, + "returnType": "void", + "generics": [], + "name": "ngOnDestroy", + "description": "", + "entryType": "function", + "jsdocTags": [], + "rawComment": "" + }, + "entryType": "function", + "description": "", + "jsdocTags": [], + "rawComment": "", + "memberType": "method", + "memberTags": [] }, { - "name": "see", - "comment": "[Multiselect](guide/aria/multiselect)" + "name": "onFocusin", + "signatures": [ + { + "name": "onFocusin", + "entryType": "function", + "description": "Handles focus in events for the widget.", + "generics": [], + "isNewType": false, + "jsdocTags": [], + "params": [], + "rawComment": "/** Handles focus in events for the widget. */", + "returnType": "void" + } + ], + "implementation": { + "params": [], + "isNewType": false, + "returnType": "void", + "generics": [], + "name": "onFocusin", + "description": "Handles focus in events for the widget.", + "entryType": "function", + "jsdocTags": [], + "rawComment": "/** Handles focus in events for the widget. */" + }, + "entryType": "function", + "description": "Handles focus in events for the widget.", + "jsdocTags": [], + "rawComment": "/** Handles focus in events for the widget. */", + "memberType": "method", + "memberTags": [] }, { - "name": "see", - "comment": "[Autocomplete](guide/aria/autocomplete)" + "name": "onFocusout", + "signatures": [ + { + "name": "onFocusout", + "entryType": "function", + "description": "Handles focus out events for the widget.", + "generics": [], + "isNewType": false, + "jsdocTags": [], + "params": [ + { + "name": "event", + "description": "", + "type": "FocusEvent", + "isOptional": false, + "isRestParam": false + } + ], + "rawComment": "/** Handles focus out events for the widget. */", + "returnType": "void" + } + ], + "implementation": { + "params": [ + { + "name": "event", + "description": "", + "type": "FocusEvent", + "isOptional": false, + "isRestParam": false + } + ], + "isNewType": false, + "returnType": "void", + "generics": [], + "name": "onFocusout", + "description": "Handles focus out events for the widget.", + "entryType": "function", + "jsdocTags": [], + "rawComment": "/** Handles focus out events for the widget. */" + }, + "entryType": "function", + "description": "Handles focus out events for the widget.", + "jsdocTags": [], + "rawComment": "/** Handles focus out events for the widget. */", + "memberType": "method", + "memberTags": [] } ], - "rawComment": "/**\n * An input that is part of a combobox. It is responsible for displaying the\n * current value and handling user input for filtering and selection.\n *\n * This directive should be applied to an `` element within an `ngCombobox`\n * container. It automatically handles keyboard interactions, such as opening the\n * popup and navigating through the options.\n *\n * ```html\n * \n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Combobox](guide/aria/combobox)\n * @see [Select](guide/aria/select)\n * @see [Multiselect](guide/aria/multiselect)\n * @see [Autocomplete](guide/aria/autocomplete)\n */", - "implements": [], + "generics": [], + "description": "Identifies an element as a widget within a combobox popup.\n\nThis directive should be applied to the element that contains the options or content\nof the popup. It handles the communication of ID and active descendant information\nto the combobox.", + "jsdocTags": [], + "rawComment": "/**\n * Identifies an element as a widget within a combobox popup.\n *\n * This directive should be applied to the element that contains the options or content\n * of the popup. It handles the communication of ID and active descendant information\n * to the combobox.\n */", + "implements": [ + "OnInit", + "OnDestroy" + ], "isStandalone": true, - "selector": "input[ngComboboxInput]", + "selector": "[ngComboboxWidget]", "exportAs": [ - "ngComboboxInput" + "ngComboboxWidget" ], "aliases": [ - "ngComboboxInput" + "ngComboboxWidget" ], "source": { - "filePath": "src/aria/combobox/combobox-input.ts", - "startLine": 44, - "endLine": 92 + "filePath": "/src/aria/combobox/combobox-widget.ts", + "startLine": 19, + "endLine": 78 } }, { @@ -129,102 +220,65 @@ "members": [ { "name": "combobox", - "type": "Combobox | null", + "type": "InputSignal", "memberType": "property", "memberTags": [ - "readonly" + "readonly", + "input" ], "description": "The combobox that the popup belongs to.", - "jsdocTags": [] - } - ], - "generics": [ - { - "name": "V" - } - ], - "description": "Identifies an element as a popup for an `ngCombobox`.\n\nThis directive acts as a bridge, allowing the `ngCombobox` to discover and interact\nwith the underlying control (e.g., `ngListbox`, `ngTree`, or `ngComboboxDialog`) that\nmanages the options. It's primarily used as a host directive and is responsible for\nexposing the popup's control pattern to the parent combobox.", - "jsdocTags": [ - { - "name": "developerPreview", - "comment": "21.0" - }, - { - "name": "see", - "comment": "[Combobox](guide/aria/combobox)" - }, - { - "name": "see", - "comment": "[Select](guide/aria/select)" + "jsdocTags": [], + "inputAlias": "combobox", + "isRequiredInput": true }, { - "name": "see", - "comment": "[Multiselect](guide/aria/multiselect)" + "name": "controlTarget", + "type": "Signal", + "memberType": "property", + "memberTags": [ + "readonly" + ], + "description": "The element that serves as the control target for the popup.", + "jsdocTags": [] }, { - "name": "see", - "comment": "[Autocomplete](guide/aria/autocomplete)" - } - ], - "rawComment": "/**\n * Identifies an element as a popup for an `ngCombobox`.\n *\n * This directive acts as a bridge, allowing the `ngCombobox` to discover and interact\n * with the underlying control (e.g., `ngListbox`, `ngTree`, or `ngComboboxDialog`) that\n * manages the options. It's primarily used as a host directive and is responsible for\n * exposing the popup's control pattern to the parent combobox.\n *\n * @developerPreview 21.0\n *\n * @see [Combobox](guide/aria/combobox)\n * @see [Select](guide/aria/select)\n * @see [Multiselect](guide/aria/multiselect)\n * @see [Autocomplete](guide/aria/autocomplete)\n */", - "implements": [], - "isStandalone": true, - "selector": "[ngComboboxPopup]", - "exportAs": [ - "ngComboboxPopup" - ], - "aliases": [ - "ngComboboxPopup" - ], - "source": { - "filePath": "/src/aria/combobox/combobox-popup.ts", - "startLine": 29, - "endLine": 44 - } - }, - { - "name": "ComboboxDialog", - "isAbstract": false, - "entryType": "directive", - "members": [ - { - "name": "element", - "type": "HTMLDialogElement", + "name": "popupId", + "type": "Signal", "memberType": "property", "memberTags": [ "readonly" ], - "description": "A reference to the dialog element.", + "description": "The ID of the popup.", "jsdocTags": [] }, { - "name": "combobox", - "type": "Combobox", + "name": "activeDescendant", + "type": "Signal", "memberType": "property", "memberTags": [ "readonly" ], - "description": "The combobox that the dialog belongs to.", + "description": "The ID of the active descendant in the popup.", "jsdocTags": [] }, { - "name": "id", - "type": "InputSignal", + "name": "popupType", + "type": "InputSignal<\"listbox\" | \"tree\" | \"grid\" | \"dialog\">", "memberType": "property", "memberTags": [ "readonly", "input" ], - "description": "The unique identifier for the trigger.", + "description": "The type of the popup (e.g., listbox, tree, grid, dialog).", "jsdocTags": [], - "inputAlias": "id", + "inputAlias": "popupType", "isRequiredInput": false }, { - "name": "close", + "name": "ngOnInit", "signatures": [ { - "name": "close", + "name": "ngOnInit", "entryType": "function", "description": "", "generics": [], @@ -240,7 +294,7 @@ "isNewType": false, "returnType": "void", "generics": [], - "name": "close", + "name": "ngOnInit", "description": "", "entryType": "function", "jsdocTags": [], @@ -252,64 +306,68 @@ "rawComment": "", "memberType": "method", "memberTags": [] - } - ], - "generics": [], - "description": "Integrates a native `` element with the combobox, allowing for\na modal or non-modal popup experience. It handles the opening and closing of the dialog\nbased on the combobox's expanded state.\n\n```html\n\n \n \n \n\n```", - "jsdocTags": [ - { - "name": "developerPreview", - "comment": "21.0" }, { - "name": "see", - "comment": "[Combobox](guide/aria/combobox)" - }, - { - "name": "see", - "comment": "[Select](guide/aria/select)" - }, - { - "name": "see", - "comment": "[Multiselect](guide/aria/multiselect)" - }, - { - "name": "see", - "comment": "[Autocomplete](guide/aria/autocomplete)" + "name": "ngOnDestroy", + "signatures": [ + { + "name": "ngOnDestroy", + "entryType": "function", + "description": "", + "generics": [], + "isNewType": false, + "jsdocTags": [], + "params": [], + "rawComment": "", + "returnType": "void" + } + ], + "implementation": { + "params": [], + "isNewType": false, + "returnType": "void", + "generics": [], + "name": "ngOnDestroy", + "description": "", + "entryType": "function", + "jsdocTags": [], + "rawComment": "" + }, + "entryType": "function", + "description": "", + "jsdocTags": [], + "rawComment": "", + "memberType": "method", + "memberTags": [] } ], - "rawComment": "/**\n * Integrates a native `` element with the combobox, allowing for\n * a modal or non-modal popup experience. It handles the opening and closing of the dialog\n * based on the combobox's expanded state.\n *\n * ```html\n * \n * \n * \n * \n * \n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Combobox](guide/aria/combobox)\n * @see [Select](guide/aria/select)\n * @see [Multiselect](guide/aria/multiselect)\n * @see [Autocomplete](guide/aria/autocomplete)\n */", - "implements": [], + "generics": [], + "description": "A structural directive that marks the `ng-template` to be used as the popup\nfor a combobox. This content is conditionally rendered.\n\nThe content of the popup can be any element with the `ngComboboxWidget` directive.\n\n```html\n\n
    \n \n
    \n
    \n```", + "jsdocTags": [], + "rawComment": "/**\n * A structural directive that marks the `ng-template` to be used as the popup\n * for a combobox. This content is conditionally rendered.\n *\n * The content of the popup can be any element with the `ngComboboxWidget` directive.\n *\n * ```html\n * \n *
    \n * \n *
    \n *
    \n * ```\n */", + "implements": [ + "OnInit", + "OnDestroy" + ], "isStandalone": true, - "selector": "dialog[ngComboboxDialog]", + "selector": "ng-template[ngComboboxPopup]", "exportAs": [ - "ngComboboxDialog" + "ngComboboxPopup" ], "aliases": [ - "ngComboboxDialog" + "ngComboboxPopup" ], "source": { - "filePath": "src/aria/combobox/combobox-dialog.ts", - "startLine": 35, - "endLine": 84 + "filePath": "src/aria/combobox/combobox-popup.ts", + "startLine": 29, + "endLine": 79 } }, { "name": "Combobox", "isAbstract": false, - "entryType": "undecorated_class", + "entryType": "directive", "members": [ - { - "name": "textDirection", - "type": "Signal", - "memberType": "property", - "memberTags": [ - "protected", - "readonly" - ], - "description": "A signal wrapper for directionality.", - "jsdocTags": [] - }, { "name": "element", "type": "HTMLElement", @@ -317,134 +375,116 @@ "memberTags": [ "readonly" ], - "description": "A reference to the combobox element.", - "jsdocTags": [] - }, - { - "name": "popup", - "type": "Signal | undefined>", - "memberType": "property", - "memberTags": [ - "readonly" - ], - "description": "The combobox popup.", + "description": "A reference to the input element.", "jsdocTags": [] }, { - "name": "filterMode", - "type": "InputSignal<\"manual\" | \"auto-select\" | \"highlight\">", + "name": "disabled", + "type": "InputSignalWithTransform", "memberType": "property", "memberTags": [ - "readonly" + "readonly", + "input" ], - "description": "The filter mode for the combobox.\n- `manual`: The consumer is responsible for filtering the options.\n- `auto-select`: The combobox automatically selects the first matching option.\n- `highlight`: The combobox highlights matching text in the options without changing selection.", - "jsdocTags": [] + "description": "Whether the combobox is disabled.", + "jsdocTags": [], + "inputAlias": "disabled", + "isRequiredInput": false }, { - "name": "disabled", + "name": "softDisabled", "type": "InputSignalWithTransform", "memberType": "property", "memberTags": [ - "readonly" + "readonly", + "input" ], - "description": "Whether the combobox is disabled.", - "jsdocTags": [] + "description": "Whether the combobox is soft disabled (remains focusable).", + "jsdocTags": [], + "inputAlias": "softDisabled", + "isRequiredInput": false }, { - "name": "readonly", + "name": "alwaysExpanded", "type": "InputSignalWithTransform", "memberType": "property", "memberTags": [ - "readonly" + "readonly", + "input" ], - "description": "Whether the combobox is read-only.", - "jsdocTags": [] + "description": "Whether the combobox should always remain expanded.", + "jsdocTags": [], + "inputAlias": "alwaysExpanded", + "isRequiredInput": false }, { - "name": "firstMatch", - "type": "InputSignal", + "name": "tabIndex", + "type": "InputSignalWithTransform", "memberType": "property", "memberTags": [ - "readonly" + "readonly", + "input" ], - "description": "The value of the first matching item in the popup.", - "jsdocTags": [] + "description": "The tabindex of the combobox.", + "jsdocTags": [], + "inputAlias": "tabindex", + "isRequiredInput": false }, { "name": "expanded", - "type": "Signal", + "type": "ModelSignal", "memberType": "property", "memberTags": [ - "readonly" + "readonly", + "input", + "output" ], "description": "Whether the combobox is expanded.", - "jsdocTags": [] + "jsdocTags": [], + "inputAlias": "expanded", + "isRequiredInput": false, + "outputAlias": "expandedChange" }, { - "name": "alwaysExpanded", - "type": "InputSignalWithTransform", + "name": "value", + "type": "ModelSignal", "memberType": "property", "memberTags": [ - "readonly" + "readonly", + "input", + "output" ], - "description": "Whether the combobox popup should always be expanded, regardless of user interaction.", - "jsdocTags": [] + "description": "The value of the combobox input.", + "jsdocTags": [], + "inputAlias": "value", + "isRequiredInput": false, + "outputAlias": "valueChange" }, { - "name": "inputElement", - "type": "Signal", + "name": "inlineSuggestion", + "type": "InputSignal", "memberType": "property", "memberTags": [ - "readonly" - ], - "description": "Input element connected to the combobox, if any.", - "jsdocTags": [] - }, - { - "name": "open", - "signatures": [ - { - "name": "open", - "entryType": "function", - "description": "Opens the combobox to the selected item.", - "generics": [], - "isNewType": false, - "jsdocTags": [], - "params": [], - "rawComment": "/** Opens the combobox to the selected item. */", - "returnType": "void" - } + "readonly", + "input" ], - "implementation": { - "params": [], - "isNewType": false, - "returnType": "void", - "generics": [], - "name": "open", - "description": "Opens the combobox to the selected item.", - "entryType": "function", - "jsdocTags": [], - "rawComment": "/** Opens the combobox to the selected item. */" - }, - "entryType": "function", - "description": "Opens the combobox to the selected item.", + "description": "An inline suggestion to be displayed in the input.", "jsdocTags": [], - "rawComment": "/** Opens the combobox to the selected item. */", - "memberType": "method", - "memberTags": [] + "inputAlias": "inlineSuggestion", + "isRequiredInput": false }, { - "name": "close", + "name": "ngOnInit", "signatures": [ { - "name": "close", + "name": "ngOnInit", "entryType": "function", - "description": "Closes the combobox.", + "description": "", "generics": [], "isNewType": false, "jsdocTags": [], "params": [], - "rawComment": "/** Closes the combobox. */", + "rawComment": "", "returnType": "void" } ], @@ -453,54 +493,62 @@ "isNewType": false, "returnType": "void", "generics": [], - "name": "close", - "description": "Closes the combobox.", + "name": "ngOnInit", + "description": "", "entryType": "function", "jsdocTags": [], - "rawComment": "/** Closes the combobox. */" + "rawComment": "" }, "entryType": "function", - "description": "Closes the combobox.", + "description": "", "jsdocTags": [], - "rawComment": "/** Closes the combobox. */", + "rawComment": "", "memberType": "method", "memberTags": [] - } - ], - "generics": [ - { - "name": "V" - } - ], - "description": "The container element that wraps a combobox input and popup, and orchestrates its behavior.\n\nThe `ngCombobox` directive is the main entry point for creating a combobox and customizing its\nbehavior. It coordinates the interactions between the `ngComboboxInput` and the popup, which\nis defined by a `ng-template` with the `ngComboboxPopupContainer` directive. If using the\n`CdkOverlay`, the `cdkConnectedOverlay` directive takes the place of `ngComboboxPopupContainer`.\n\n```html\n
    \n \n\n \n
    \n @for (option of filteredOptions(); track option) {\n
    \n {{option}}\n
    \n }\n
    \n
    \n
    \n```", - "jsdocTags": [ - { - "name": "developerPreview", - "comment": "21.0" }, { - "name": "see", - "comment": "[Combobox](guide/aria/combobox)" - }, - { - "name": "see", - "comment": "[Select](guide/aria/select)" - }, - { - "name": "see", - "comment": "[Multiselect](guide/aria/multiselect)" + "name": "contentVisible", + "type": "WritableSignal", + "memberType": "property", + "memberTags": [ + "readonly", + "override" + ], + "description": "", + "jsdocTags": [] }, { - "name": "see", - "comment": "[Autocomplete](guide/aria/autocomplete)" + "name": "preserveContent", + "type": "ModelSignal", + "memberType": "property", + "memberTags": [ + "readonly", + "override" + ], + "description": "", + "jsdocTags": [] } ], - "rawComment": "/**\n * The container element that wraps a combobox input and popup, and orchestrates its behavior.\n *\n * The `ngCombobox` directive is the main entry point for creating a combobox and customizing its\n * behavior. It coordinates the interactions between the `ngComboboxInput` and the popup, which\n * is defined by a `ng-template` with the `ngComboboxPopupContainer` directive. If using the\n * `CdkOverlay`, the `cdkConnectedOverlay` directive takes the place of `ngComboboxPopupContainer`.\n *\n * ```html\n *
    \n * \n *\n * \n *
    \n * @for (option of filteredOptions(); track option) {\n *
    \n * {{option}}\n *
    \n * }\n *
    \n *
    \n *
    \n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Combobox](guide/aria/combobox)\n * @see [Select](guide/aria/select)\n * @see [Multiselect](guide/aria/multiselect)\n * @see [Autocomplete](guide/aria/autocomplete)\n */", - "implements": [], + "generics": [], + "description": "The container element that wraps a combobox input and popup, and orchestrates its behavior.\n\nThe `ngCombobox` directive is the main entry point for creating a combobox and customizing its\nbehavior. It coordinates the interactions between the input and the popup.\n\n```html\n
    \n \n\n \n
    \n \n
    \n
    \n
    \n```", + "jsdocTags": [], + "rawComment": "/**\n * The container element that wraps a combobox input and popup, and orchestrates its behavior.\n *\n * The `ngCombobox` directive is the main entry point for creating a combobox and customizing its\n * behavior. It coordinates the interactions between the input and the popup.\n *\n * ```html\n *
    \n * \n *\n * \n *
    \n * \n *
    \n *
    \n *
    \n * ```\n */", + "extends": "DeferredContentAware", + "implements": [ + "OnInit" + ], + "isStandalone": true, + "selector": "[ngCombobox]", + "exportAs": [ + "ngCombobox" + ], + "aliases": [ + "ngCombobox" + ], "source": { "filePath": "/src/aria/combobox/combobox.ts", - "startLine": 60, - "endLine": 164 + "startLine": 43, + "endLine": 143 } } ], @@ -509,10 +557,6 @@ "Directive", "@angular/core" ], - [ - "afterRenderEffect", - "@angular/core" - ], [ "ElementRef", "@angular/core" @@ -522,15 +566,15 @@ "@angular/core" ], [ - "model", + "input", "@angular/core" ], [ - "untracked", + "OnDestroy", "@angular/core" ], [ - "WritableSignal", + "OnInit", "@angular/core" ], [ @@ -538,35 +582,47 @@ "@angular/core" ], [ - "input", + "computed", "@angular/core" ], [ - "_IdGenerator", - "@angular/cdk/a11y" + "DeferredContent", + "@angular/aria/private" + ], + [ + "ComboboxPopupPattern", + "@angular/aria/private" + ], + [ + "afterRenderEffect", + "@angular/core" ], [ "booleanAttribute", "@angular/core" ], [ - "computed", + "model", "@angular/core" ], [ - "contentChild", + "Renderer2", "@angular/core" ], [ - "Directionality", - "@angular/cdk/bidi" + "DeferredContentAware", + "@angular/aria/private" ], [ - "ComboboxPopupContainer", - "@angular/aria/combobox" + "ComboboxPattern", + "@angular/aria/private" + ], + [ + "tabIndexTransform", + "@angular/aria/private" ], [ - "ComboboxInput", + "ComboboxWidget", "@angular/aria/combobox" ], [ @@ -574,31 +630,39 @@ "@angular/aria/combobox" ], [ - "ComboboxDialog", + "Combobox", "@angular/aria/combobox" ], [ - "Combobox", + "ComboboxWidget", + "@angular/aria/combobox" + ], + [ + "ComboboxWidget.element", "@angular/aria/combobox" ], [ - "ComboboxPopupContainer", + "ComboboxWidget.popupId", "@angular/aria/combobox" ], [ - "ComboboxInput", + "ComboboxWidget.activeDescendant", "@angular/aria/combobox" ], [ - "ComboboxInput.element", + "ComboboxWidget.ngOnInit", "@angular/aria/combobox" ], [ - "ComboboxInput.combobox", + "ComboboxWidget.ngOnDestroy", "@angular/aria/combobox" ], [ - "ComboboxInput.value", + "ComboboxWidget.onFocusin", + "@angular/aria/combobox" + ], + [ + "ComboboxWidget.onFocusout", "@angular/aria/combobox" ], [ @@ -610,31 +674,31 @@ "@angular/aria/combobox" ], [ - "ComboboxDialog", + "ComboboxPopup.controlTarget", "@angular/aria/combobox" ], [ - "ComboboxDialog.element", + "ComboboxPopup.popupId", "@angular/aria/combobox" ], [ - "ComboboxDialog.combobox", + "ComboboxPopup.activeDescendant", "@angular/aria/combobox" ], [ - "ComboboxDialog.id", + "ComboboxPopup.popupType", "@angular/aria/combobox" ], [ - "ComboboxDialog.close", + "ComboboxPopup.ngOnInit", "@angular/aria/combobox" ], [ - "Combobox", + "ComboboxPopup.ngOnDestroy", "@angular/aria/combobox" ], [ - "Combobox.textDirection", + "Combobox", "@angular/aria/combobox" ], [ @@ -642,43 +706,43 @@ "@angular/aria/combobox" ], [ - "Combobox.popup", + "Combobox.disabled", "@angular/aria/combobox" ], [ - "Combobox.filterMode", + "Combobox.softDisabled", "@angular/aria/combobox" ], [ - "Combobox.disabled", + "Combobox.alwaysExpanded", "@angular/aria/combobox" ], [ - "Combobox.readonly", + "Combobox.tabIndex", "@angular/aria/combobox" ], [ - "Combobox.firstMatch", + "Combobox.expanded", "@angular/aria/combobox" ], [ - "Combobox.expanded", + "Combobox.value", "@angular/aria/combobox" ], [ - "Combobox.alwaysExpanded", + "Combobox.inlineSuggestion", "@angular/aria/combobox" ], [ - "Combobox.inputElement", + "Combobox.ngOnInit", "@angular/aria/combobox" ], [ - "Combobox.open", + "Combobox.contentVisible", "@angular/aria/combobox" ], [ - "Combobox.close", + "Combobox.preserveContent", "@angular/aria/combobox" ] ] diff --git a/adev/src/content/aria/aria-grid.json b/adev/src/content/aria/aria-grid.json index 61558a2745a2..1d6a97f0a7e5 100755 --- a/adev/src/content/aria/aria-grid.json +++ b/adev/src/content/aria/aria-grid.json @@ -31,6 +31,72 @@ "jsdocTags": [], "inputAlias": "rowIndex", "isRequiredInput": false + }, + { + "name": "ngOnInit", + "signatures": [ + { + "name": "ngOnInit", + "entryType": "function", + "description": "", + "generics": [], + "isNewType": false, + "jsdocTags": [], + "params": [], + "rawComment": "", + "returnType": "void" + } + ], + "implementation": { + "params": [], + "isNewType": false, + "returnType": "void", + "generics": [], + "name": "ngOnInit", + "description": "", + "entryType": "function", + "jsdocTags": [], + "rawComment": "" + }, + "entryType": "function", + "description": "", + "jsdocTags": [], + "rawComment": "", + "memberType": "method", + "memberTags": [] + }, + { + "name": "ngOnDestroy", + "signatures": [ + { + "name": "ngOnDestroy", + "entryType": "function", + "description": "", + "generics": [], + "isNewType": false, + "jsdocTags": [], + "params": [], + "rawComment": "", + "returnType": "void" + } + ], + "implementation": { + "params": [], + "isNewType": false, + "returnType": "void", + "generics": [], + "name": "ngOnDestroy", + "description": "", + "entryType": "function", + "jsdocTags": [], + "rawComment": "" + }, + "entryType": "function", + "description": "", + "jsdocTags": [], + "rawComment": "", + "memberType": "method", + "memberTags": [] } ], "generics": [], @@ -46,7 +112,10 @@ } ], "rawComment": "/**\n * Represents a row within a grid. It is a container for `ngGridCell` directives.\n *\n * ```html\n * \n * \n * \n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Grid](guide/aria/grid)\n */", - "implements": [], + "implements": [ + "OnInit", + "OnDestroy" + ], "isStandalone": true, "selector": "[ngGridRow]", "exportAs": [ @@ -57,8 +126,8 @@ ], "source": { "filePath": "/src/aria/grid/grid-row.ts", - "startLine": 35, - "endLine": 74 + "startLine": 37, + "endLine": 91 } }, { @@ -275,7 +344,7 @@ "source": { "filePath": "src/aria/grid/grid-cell-widget.ts", "startLine": 42, - "endLine": 136 + "endLine": 127 } }, { @@ -430,6 +499,39 @@ "description": "The ID of the active descendant in the grid.", "jsdocTags": [] }, + { + "name": "ngOnDestroy", + "signatures": [ + { + "name": "ngOnDestroy", + "entryType": "function", + "description": "", + "generics": [], + "isNewType": false, + "jsdocTags": [], + "params": [], + "rawComment": "", + "returnType": "void" + } + ], + "implementation": { + "params": [], + "isNewType": false, + "returnType": "void", + "generics": [], + "name": "ngOnDestroy", + "description": "", + "entryType": "function", + "jsdocTags": [], + "rawComment": "" + }, + "entryType": "function", + "description": "", + "jsdocTags": [], + "rawComment": "", + "memberType": "method", + "memberTags": [] + }, { "name": "scrollActiveCellIntoView", "signatures": [ @@ -493,7 +595,9 @@ } ], "rawComment": "/**\n * The container for a grid. It provides keyboard navigation and focus management for the grid's\n * rows and cells. It manages the overall behavior of the grid, including focus\n * wrapping, selection, and disabled states.\n *\n * ```html\n * \n * @for (row of gridData; track row) {\n * \n * @for (cell of row; track cell) {\n * \n * }\n * \n * }\n *
    \n * {{cell.value}}\n *
    \n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Grid](guide/aria/grid)\n */", - "implements": [], + "implements": [ + "OnDestroy" + ], "isStandalone": true, "selector": "[ngGrid]", "exportAs": [ @@ -504,8 +608,8 @@ ], "source": { "filePath": "/src/aria/grid/grid.ts", - "startLine": 47, - "endLine": 172 + "startLine": 55, + "endLine": 191 } }, { @@ -523,18 +627,6 @@ "description": "A reference to the host element.", "jsdocTags": [] }, - { - "name": "activated", - "type": "EventEmitter", - "memberType": "property", - "memberTags": [ - "readonly", - "output" - ], - "description": "Emits when the cell is activated via Enter/Space (simple widgets only).", - "jsdocTags": [], - "outputAlias": "activated" - }, { "name": "active", "type": "Signal", @@ -686,6 +778,72 @@ "jsdocTags": [], "inputAlias": "tabindex", "isRequiredInput": false + }, + { + "name": "ngOnInit", + "signatures": [ + { + "name": "ngOnInit", + "entryType": "function", + "description": "", + "generics": [], + "isNewType": false, + "jsdocTags": [], + "params": [], + "rawComment": "", + "returnType": "void" + } + ], + "implementation": { + "params": [], + "isNewType": false, + "returnType": "void", + "generics": [], + "name": "ngOnInit", + "description": "", + "entryType": "function", + "jsdocTags": [], + "rawComment": "" + }, + "entryType": "function", + "description": "", + "jsdocTags": [], + "rawComment": "", + "memberType": "method", + "memberTags": [] + }, + { + "name": "ngOnDestroy", + "signatures": [ + { + "name": "ngOnDestroy", + "entryType": "function", + "description": "", + "generics": [], + "isNewType": false, + "jsdocTags": [], + "params": [], + "rawComment": "", + "returnType": "void" + } + ], + "implementation": { + "params": [], + "isNewType": false, + "returnType": "void", + "generics": [], + "name": "ngOnDestroy", + "description": "", + "entryType": "function", + "jsdocTags": [], + "rawComment": "" + }, + "entryType": "function", + "description": "", + "jsdocTags": [], + "rawComment": "", + "memberType": "method", + "memberTags": [] } ], "generics": [], @@ -701,7 +859,10 @@ } ], "rawComment": "/**\n * Represents a cell within a grid row. It is the primary focusable element\n * within the grid. It can be disabled and can have its selection state managed\n * through the `selected` input.\n *\n * ```html\n * \n * Cell Content\n * \n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Grid](guide/aria/grid)\n */", - "implements": [], + "implements": [ + "OnInit", + "OnDestroy" + ], "isStandalone": true, "selector": "[ngGridCell]", "exportAs": [ @@ -713,17 +874,17 @@ "source": { "filePath": "/src/aria/grid/grid-cell.ts", "startLine": 45, - "endLine": 177 + "endLine": 181 } } ], "symbols": [ [ - "computed", + "afterNextRender", "@angular/core" ], [ - "contentChildren", + "computed", "@angular/core" ], [ @@ -742,6 +903,14 @@ "input", "@angular/core" ], + [ + "OnDestroy", + "@angular/core" + ], + [ + "OnInit", + "@angular/core" + ], [ "Signal", "@angular/core" @@ -770,18 +939,10 @@ "contentChild", "@angular/core" ], - [ - "EventEmitter", - "@angular/core" - ], [ "model", "@angular/core" ], - [ - "Output", - "@angular/core" - ], [ "Renderer2", "@angular/core" @@ -814,6 +975,14 @@ "GridRow.rowIndex", "@angular/aria/grid" ], + [ + "GridRow.ngOnInit", + "@angular/aria/grid" + ], + [ + "GridRow.ngOnDestroy", + "@angular/aria/grid" + ], [ "GridCellWidget", "@angular/aria/grid" @@ -919,19 +1088,19 @@ "@angular/aria/grid" ], [ - "Grid.scrollActiveCellIntoView", + "Grid.ngOnDestroy", "@angular/aria/grid" ], [ - "GridCell", + "Grid.scrollActiveCellIntoView", "@angular/aria/grid" ], [ - "GridCell.element", + "GridCell", "@angular/aria/grid" ], [ - "GridCell.activated", + "GridCell.element", "@angular/aria/grid" ], [ @@ -981,6 +1150,14 @@ [ "GridCell.tabindex", "@angular/aria/grid" + ], + [ + "GridCell.ngOnInit", + "@angular/aria/grid" + ], + [ + "GridCell.ngOnDestroy", + "@angular/aria/grid" ] ] } \ No newline at end of file diff --git a/adev/src/content/aria/aria-listbox.json b/adev/src/content/aria/aria-listbox.json index 200c02e043c4..0f8156808c31 100755 --- a/adev/src/content/aria/aria-listbox.json +++ b/adev/src/content/aria/aria-listbox.json @@ -208,17 +208,20 @@ { "name": "Listbox", "isAbstract": false, - "entryType": "undecorated_class", + "entryType": "directive", "members": [ { "name": "id", "type": "InputSignal", "memberType": "property", "memberTags": [ - "readonly" + "readonly", + "input" ], "description": "A unique identifier for the listbox.", - "jsdocTags": [] + "jsdocTags": [], + "inputAlias": "id", + "isRequiredInput": false }, { "name": "element", @@ -246,110 +249,145 @@ "type": "InputSignal<\"vertical\" | \"horizontal\">", "memberType": "property", "memberTags": [ - "readonly" + "readonly", + "input" ], "description": "Whether the list is vertically or horizontally oriented.", - "jsdocTags": [] + "jsdocTags": [], + "inputAlias": "orientation", + "isRequiredInput": false }, { "name": "multi", "type": "InputSignalWithTransform", "memberType": "property", "memberTags": [ - "readonly" + "readonly", + "input" ], "description": "Whether multiple items in the list can be selected at once.", - "jsdocTags": [] + "jsdocTags": [], + "inputAlias": "multi", + "isRequiredInput": false }, { "name": "wrap", "type": "InputSignalWithTransform", "memberType": "property", "memberTags": [ - "readonly" + "readonly", + "input" ], "description": "Whether focus should wrap when navigating.", - "jsdocTags": [] + "jsdocTags": [], + "inputAlias": "wrap", + "isRequiredInput": false }, { "name": "softDisabled", "type": "InputSignalWithTransform", "memberType": "property", "memberTags": [ - "readonly" + "readonly", + "input" ], "description": "Whether to allow disabled items to receive focus. When `true`, disabled items are\nfocusable but not interactive. When `false`, disabled items are skipped during navigation.", - "jsdocTags": [] + "jsdocTags": [], + "inputAlias": "softDisabled", + "isRequiredInput": false }, { "name": "focusMode", "type": "InputSignal<\"roving\" | \"activedescendant\">", "memberType": "property", "memberTags": [ - "readonly" + "readonly", + "input" ], "description": "The focus strategy used by the list.\n- `roving`: Focus is moved to the active item using `tabindex`.\n- `activedescendant`: Focus remains on the listbox container, and `aria-activedescendant` is used to indicate the active item.", - "jsdocTags": [] + "jsdocTags": [], + "inputAlias": "focusMode", + "isRequiredInput": false }, { "name": "selectionMode", "type": "InputSignal<\"follow\" | \"explicit\">", "memberType": "property", "memberTags": [ - "readonly" + "readonly", + "input" ], "description": "The selection strategy used by the list.\n- `follow`: The focused item is automatically selected.\n- `explicit`: Items are selected explicitly by the user (e.g., via click or spacebar).", - "jsdocTags": [] + "jsdocTags": [], + "inputAlias": "selectionMode", + "isRequiredInput": false }, { "name": "typeaheadDelay", "type": "InputSignal", "memberType": "property", "memberTags": [ - "readonly" + "readonly", + "input" ], "description": "The amount of time before the typeahead search is reset.", - "jsdocTags": [] + "jsdocTags": [], + "inputAlias": "typeaheadDelay", + "isRequiredInput": false }, { "name": "disabled", "type": "InputSignalWithTransform", "memberType": "property", "memberTags": [ - "readonly" + "readonly", + "input" ], "description": "Whether the listbox is disabled.", - "jsdocTags": [] + "jsdocTags": [], + "inputAlias": "disabled", + "isRequiredInput": false }, { "name": "readonly", "type": "InputSignalWithTransform", "memberType": "property", "memberTags": [ - "readonly" + "readonly", + "input" ], "description": "Whether the listbox is readonly.", - "jsdocTags": [] + "jsdocTags": [], + "inputAlias": "readonly", + "isRequiredInput": false }, { "name": "tabIndex", "type": "InputSignal", "memberType": "property", "memberTags": [ - "readonly" + "readonly", + "input" ], "description": "The tabindex of the listbox.", - "jsdocTags": [] + "jsdocTags": [], + "inputAlias": "tabindex", + "isRequiredInput": false }, { "name": "value", "type": "ModelSignal", "memberType": "property", "memberTags": [ - "readonly" + "readonly", + "input", + "output" ], "description": "The values of the currently selected items.", - "jsdocTags": [] + "jsdocTags": [], + "inputAlias": "value", + "isRequiredInput": false, + "outputAlias": "valueChange" }, { "name": "activeDescendant", @@ -509,10 +547,18 @@ "implements": [ "OnDestroy" ], + "isStandalone": true, + "selector": "[ngListbox]", + "exportAs": [ + "ngListbox" + ], + "aliases": [ + "ngListbox" + ], "source": { "filePath": "/src/aria/listbox/listbox.ts", - "startLine": 60, - "endLine": 236 + "startLine": 54, + "endLine": 218 } } ], diff --git a/adev/src/content/aria/aria-menu.json b/adev/src/content/aria/aria-menu.json index 47259f092c1c..4e6abe7a603e 100755 --- a/adev/src/content/aria/aria-menu.json +++ b/adev/src/content/aria/aria-menu.json @@ -256,7 +256,7 @@ "readonly", "input" ], - "description": "The value of the menu item, used as the default aria-label", + "description": "The value of the menu item.", "jsdocTags": [], "inputAlias": "value", "isRequiredInput": true @@ -342,6 +342,72 @@ "description": "Whether the menu item has a popup.", "jsdocTags": [] }, + { + "name": "ngOnInit", + "signatures": [ + { + "name": "ngOnInit", + "entryType": "function", + "description": "", + "generics": [], + "isNewType": false, + "jsdocTags": [], + "params": [], + "rawComment": "", + "returnType": "void" + } + ], + "implementation": { + "params": [], + "isNewType": false, + "returnType": "void", + "generics": [], + "name": "ngOnInit", + "description": "", + "entryType": "function", + "jsdocTags": [], + "rawComment": "" + }, + "entryType": "function", + "description": "", + "jsdocTags": [], + "rawComment": "", + "memberType": "method", + "memberTags": [] + }, + { + "name": "ngOnDestroy", + "signatures": [ + { + "name": "ngOnDestroy", + "entryType": "function", + "description": "", + "generics": [], + "isNewType": false, + "jsdocTags": [], + "params": [], + "rawComment": "", + "returnType": "void" + } + ], + "implementation": { + "params": [], + "isNewType": false, + "returnType": "void", + "generics": [], + "name": "ngOnDestroy", + "description": "", + "entryType": "function", + "jsdocTags": [], + "rawComment": "" + }, + "entryType": "function", + "description": "", + "jsdocTags": [], + "rawComment": "", + "memberType": "method", + "memberTags": [] + }, { "name": "open", "signatures": [ @@ -414,7 +480,7 @@ "name": "V" } ], - "description": "An item in a Menu.\n\n`ngMenuItem` directives can be used in `ngMenu` and `ngMenuBar` to represent a choice\nor action a user can take. They can also act as triggers for sub-menus.\n\n```html\n
    \n
    Action Item
    \n
    Submenu Trigger
    \n
    \n```", + "description": "An item in a Menu.\n\n`ngMenuItem` directives can be used in `ngMenu` and `ngMenuBar` to represent a choice\nor action a user can take. They can also act as triggers for sub-menus.\n\n```html\n
    \n
    Action Item
    \n
    Submenu Trigger
    \n
    \n```", "jsdocTags": [ { "name": "developerPreview", @@ -429,8 +495,11 @@ "comment": "[MenuBar](guide/aria/menubar)" } ], - "rawComment": "/**\n * An item in a Menu.\n *\n * `ngMenuItem` directives can be used in `ngMenu` and `ngMenuBar` to represent a choice\n * or action a user can take. They can also act as triggers for sub-menus.\n *\n * ```html\n *
    \n *
    Action Item
    \n *
    Submenu Trigger
    \n *
    \n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Menu](guide/aria/menu)\n * @see [MenuBar](guide/aria/menubar)\n */", - "implements": [], + "rawComment": "/**\n * An item in a Menu.\n *\n * `ngMenuItem` directives can be used in `ngMenu` and `ngMenuBar` to represent a choice\n * or action a user can take. They can also act as triggers for sub-menus.\n *\n * ```html\n *
    \n *
    Action Item
    \n *
    Submenu Trigger
    \n *
    \n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Menu](guide/aria/menu)\n * @see [MenuBar](guide/aria/menubar)\n */", + "implements": [ + "OnInit", + "OnDestroy" + ], "isStandalone": true, "selector": "[ngMenuItem]", "exportAs": [ @@ -441,8 +510,8 @@ ], "source": { "filePath": "/src/aria/menu/menu-item.ts", - "startLine": 34, - "endLine": 107 + "startLine": 44, + "endLine": 124 } }, { @@ -549,6 +618,39 @@ "jsdocTags": [], "outputAlias": "itemSelected" }, + { + "name": "ngOnDestroy", + "signatures": [ + { + "name": "ngOnDestroy", + "entryType": "function", + "description": "", + "generics": [], + "isNewType": false, + "jsdocTags": [], + "params": [], + "rawComment": "", + "returnType": "void" + } + ], + "implementation": { + "params": [], + "isNewType": false, + "returnType": "void", + "generics": [], + "name": "ngOnDestroy", + "description": "", + "entryType": "function", + "jsdocTags": [], + "rawComment": "" + }, + "entryType": "function", + "description": "", + "jsdocTags": [], + "rawComment": "", + "memberType": "method", + "memberTags": [] + }, { "name": "close", "signatures": [ @@ -604,7 +706,9 @@ } ], "rawComment": "/**\n * A menu bar of menu items.\n *\n * Like the `ngMenu`, a `ngMenuBar` is used to offer a list of menu item choices to users.\n * However, a menubar is used to display a persistent, top-level, always-visible set of\n * menu item choices, typically found at the top of an application window.\n *\n * ```html\n *
    \n * \n * \n *
    \n *\n *
    \n *
    New
    \n *
    Open
    \n *
    \n *\n *
    \n *
    Cut
    \n *
    Copy
    \n *
    \n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Menu](guide/aria/menu)\n * @see [MenuBar](guide/aria/menubar)\n */", - "implements": [], + "implements": [ + "OnDestroy" + ], "isStandalone": true, "selector": "[ngMenuBar]", "exportAs": [ @@ -615,8 +719,8 @@ ], "source": { "filePath": "/src/aria/menu/menu-bar.ts", - "startLine": 56, - "endLine": 133 + "startLine": 57, + "endLine": 142 } }, { @@ -734,6 +838,39 @@ "description": "The delay in milliseconds before expanding sub-menus on hover.", "jsdocTags": [] }, + { + "name": "ngOnDestroy", + "signatures": [ + { + "name": "ngOnDestroy", + "entryType": "function", + "description": "", + "generics": [], + "isNewType": false, + "jsdocTags": [], + "params": [], + "rawComment": "", + "returnType": "void" + } + ], + "implementation": { + "params": [], + "isNewType": false, + "returnType": "void", + "generics": [], + "name": "ngOnDestroy", + "description": "", + "entryType": "function", + "jsdocTags": [], + "rawComment": "" + }, + "entryType": "function", + "description": "", + "jsdocTags": [], + "rawComment": "", + "memberType": "method", + "memberTags": [] + }, { "name": "close", "signatures": [ @@ -789,11 +926,13 @@ } ], "rawComment": "/**\n * A list of menu items.\n *\n * A `ngMenu` is used to offer a list of menu item choices to users. Menus can be nested\n * within other menus to create sub-menus. It works in conjunction with `ngMenuTrigger`\n * and `ngMenuItem` directives.\n *\n * ```html\n * \n *\n *
    \n *
    Star
    \n *
    Edit
    \n *
    More
    \n *
    \n *\n *
    \n *
    Sub Item 1
    \n *
    Sub Item 2
    \n *
    \n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Menu](guide/aria/menu)\n * @see [MenuBar](guide/aria/menubar)\n */", - "implements": [], + "implements": [ + "OnDestroy" + ], "source": { "filePath": "/src/aria/menu/menu.ts", - "startLine": 58, - "endLine": 197 + "startLine": 59, + "endLine": 206 } } ], @@ -834,16 +973,24 @@ "model", "@angular/core" ], + [ + "OnDestroy", + "@angular/core" + ], + [ + "OnInit", + "@angular/core" + ], [ "_IdGenerator", "@angular/cdk/a11y" ], [ - "afterRenderEffect", + "afterNextRender", "@angular/core" ], [ - "contentChildren", + "afterRenderEffect", "@angular/core" ], [ @@ -970,6 +1117,14 @@ "MenuItem.hasPopup", "@angular/aria/menu" ], + [ + "MenuItem.ngOnInit", + "@angular/aria/menu" + ], + [ + "MenuItem.ngOnDestroy", + "@angular/aria/menu" + ], [ "MenuItem.open", "@angular/aria/menu" @@ -1014,6 +1169,10 @@ "MenuBar.itemSelected", "@angular/aria/menu" ], + [ + "MenuBar.ngOnDestroy", + "@angular/aria/menu" + ], [ "MenuBar.close", "@angular/aria/menu" @@ -1066,6 +1225,10 @@ "Menu.expansionDelay", "@angular/aria/menu" ], + [ + "Menu.ngOnDestroy", + "@angular/aria/menu" + ], [ "Menu.close", "@angular/aria/menu" diff --git a/adev/src/content/aria/aria-toolbar.json b/adev/src/content/aria/aria-toolbar.json index 441f52874324..6820810188e8 100755 --- a/adev/src/content/aria/aria-toolbar.json +++ b/adev/src/content/aria/aria-toolbar.json @@ -4,6 +4,80 @@ "moduleName": "@angular/aria/toolbar", "normalizedModuleName": "angular_aria_toolbar", "entries": [ + { + "name": "ToolbarWidgetGroup", + "isAbstract": false, + "entryType": "directive", + "members": [ + { + "name": "element", + "type": "HTMLElement", + "memberType": "property", + "memberTags": [ + "readonly" + ], + "description": "A reference to the host element.", + "jsdocTags": [] + }, + { + "name": "disabled", + "type": "InputSignalWithTransform", + "memberType": "property", + "memberTags": [ + "readonly", + "input" + ], + "description": "Whether the widget group is disabled.", + "jsdocTags": [], + "inputAlias": "disabled", + "isRequiredInput": false + }, + { + "name": "multi", + "type": "InputSignalWithTransform", + "memberType": "property", + "memberTags": [ + "readonly", + "input" + ], + "description": "Whether the group allows multiple widgets to be selected.", + "jsdocTags": [], + "inputAlias": "multi", + "isRequiredInput": false + } + ], + "generics": [ + { + "name": "V" + } + ], + "description": "A directive that groups toolbar widgets, used for more complex widgets like radio groups\nthat have their own internal navigation.", + "jsdocTags": [ + { + "name": "developerPreview", + "comment": "21.0" + }, + { + "name": "see", + "comment": "[Toolbar](guide/aria/toolbar)" + } + ], + "rawComment": "/**\n * A directive that groups toolbar widgets, used for more complex widgets like radio groups\n * that have their own internal navigation.\n *\n * @developerPreview 21.0\n *\n * @see [Toolbar](guide/aria/toolbar)\n */", + "implements": [], + "isStandalone": true, + "selector": "[ngToolbarWidgetGroup]", + "exportAs": [ + "ngToolbarWidgetGroup" + ], + "aliases": [ + "ngToolbarWidgetGroup" + ], + "source": { + "filePath": "/src/aria/toolbar/toolbar-widget-group.ts", + "startLine": 31, + "endLine": 67 + } + }, { "name": "Toolbar", "isAbstract": false, @@ -95,6 +169,39 @@ "inputAlias": "value", "isRequiredInput": false, "outputAlias": "valueChange" + }, + { + "name": "ngOnDestroy", + "signatures": [ + { + "name": "ngOnDestroy", + "entryType": "function", + "description": "", + "generics": [], + "isNewType": false, + "jsdocTags": [], + "params": [], + "rawComment": "", + "returnType": "void" + } + ], + "implementation": { + "params": [], + "isNewType": false, + "returnType": "void", + "generics": [], + "name": "ngOnDestroy", + "description": "", + "entryType": "function", + "jsdocTags": [], + "rawComment": "" + }, + "entryType": "function", + "description": "", + "jsdocTags": [], + "rawComment": "", + "memberType": "method", + "memberTags": [] } ], "generics": [ @@ -114,7 +221,9 @@ } ], "rawComment": "/**\n * A toolbar widget container for a group of interactive widgets, such as\n * buttons or radio groups. It provides a single point of reference for keyboard navigation\n * and focus management. It supports various orientations and disabled states.\n *\n * ```html\n *
    \n * \n * \n *\n *
    \n * \n * \n * \n *
    \n *
    \n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Toolbar](guide/aria/toolbar)\n */", - "implements": [], + "implements": [ + "OnDestroy" + ], "isStandalone": true, "selector": "[ngToolbar]", "exportAs": [ @@ -125,82 +234,8 @@ ], "source": { "filePath": "/src/aria/toolbar/toolbar.ts", - "startLine": 46, - "endLine": 130 - } - }, - { - "name": "ToolbarWidgetGroup", - "isAbstract": false, - "entryType": "directive", - "members": [ - { - "name": "element", - "type": "HTMLElement", - "memberType": "property", - "memberTags": [ - "readonly" - ], - "description": "A reference to the host element.", - "jsdocTags": [] - }, - { - "name": "disabled", - "type": "InputSignalWithTransform", - "memberType": "property", - "memberTags": [ - "readonly", - "input" - ], - "description": "Whether the widget group is disabled.", - "jsdocTags": [], - "inputAlias": "disabled", - "isRequiredInput": false - }, - { - "name": "multi", - "type": "InputSignalWithTransform", - "memberType": "property", - "memberTags": [ - "readonly", - "input" - ], - "description": "Whether the group allows multiple widgets to be selected.", - "jsdocTags": [], - "inputAlias": "multi", - "isRequiredInput": false - } - ], - "generics": [ - { - "name": "V" - } - ], - "description": "A directive that groups toolbar widgets, used for more complex widgets like radio groups\nthat have their own internal navigation.", - "jsdocTags": [ - { - "name": "developerPreview", - "comment": "21.0" - }, - { - "name": "see", - "comment": "[Toolbar](guide/aria/toolbar)" - } - ], - "rawComment": "/**\n * A directive that groups toolbar widgets, used for more complex widgets like radio groups\n * that have their own internal navigation.\n *\n * @developerPreview 21.0\n *\n * @see [Toolbar](guide/aria/toolbar)\n */", - "implements": [], - "isStandalone": true, - "selector": "[ngToolbarWidgetGroup]", - "exportAs": [ - "ngToolbarWidgetGroup" - ], - "aliases": [ - "ngToolbarWidgetGroup" - ], - "source": { - "filePath": "/src/aria/toolbar/toolbar-widget-group.ts", - "startLine": 31, - "endLine": 67 + "startLine": 48, + "endLine": 125 } }, { @@ -391,10 +426,6 @@ } ], "symbols": [ - [ - "afterRenderEffect", - "@angular/core" - ], [ "Directive", "@angular/core" @@ -420,27 +451,35 @@ "@angular/core" ], [ - "signal", + "contentChildren", "@angular/core" ], [ - "model", + "afterNextRender", "@angular/core" ], [ - "Directionality", - "@angular/cdk/bidi" + "afterRenderEffect", + "@angular/core" ], [ - "contentChildren", + "model", "@angular/core" ], [ - "OnInit", + "OnDestroy", "@angular/core" ], [ - "OnDestroy", + "signal", + "@angular/core" + ], + [ + "Directionality", + "@angular/cdk/bidi" + ], + [ + "OnInit", "@angular/core" ], [ @@ -448,11 +487,11 @@ "@angular/cdk/a11y" ], [ - "Toolbar", + "ToolbarWidgetGroup", "@angular/aria/toolbar" ], [ - "ToolbarWidgetGroup", + "Toolbar", "@angular/aria/toolbar" ], [ @@ -460,51 +499,55 @@ "@angular/aria/toolbar" ], [ - "Toolbar", + "ToolbarWidgetGroup", "@angular/aria/toolbar" ], [ - "Toolbar.element", + "ToolbarWidgetGroup.element", "@angular/aria/toolbar" ], [ - "Toolbar.textDirection", + "ToolbarWidgetGroup.disabled", "@angular/aria/toolbar" ], [ - "Toolbar.orientation", + "ToolbarWidgetGroup.multi", "@angular/aria/toolbar" ], [ - "Toolbar.softDisabled", + "Toolbar", "@angular/aria/toolbar" ], [ - "Toolbar.disabled", + "Toolbar.element", "@angular/aria/toolbar" ], [ - "Toolbar.wrap", + "Toolbar.textDirection", "@angular/aria/toolbar" ], [ - "Toolbar.value", + "Toolbar.orientation", "@angular/aria/toolbar" ], [ - "ToolbarWidgetGroup", + "Toolbar.softDisabled", "@angular/aria/toolbar" ], [ - "ToolbarWidgetGroup.element", + "Toolbar.disabled", "@angular/aria/toolbar" ], [ - "ToolbarWidgetGroup.disabled", + "Toolbar.wrap", "@angular/aria/toolbar" ], [ - "ToolbarWidgetGroup.multi", + "Toolbar.value", + "@angular/aria/toolbar" + ], + [ + "Toolbar.ngOnDestroy", "@angular/aria/toolbar" ], [ diff --git a/adev/src/content/aria/aria-tree.json b/adev/src/content/aria/aria-tree.json index d8a8d6c0b212..a4b3064f494b 100755 --- a/adev/src/content/aria/aria-tree.json +++ b/adev/src/content/aria/aria-tree.json @@ -387,14 +387,14 @@ ], "source": { "filePath": "/src/aria/tree/tree-item.ts", - "startLine": 44, - "endLine": 174 + "startLine": 43, + "endLine": 169 } }, { "name": "Tree", "isAbstract": false, - "entryType": "undecorated_class", + "entryType": "directive", "members": [ { "name": "element", @@ -411,110 +411,145 @@ "type": "InputSignal", "memberType": "property", "memberTags": [ - "readonly" + "readonly", + "input" ], "description": "A unique identifier for the tree.", - "jsdocTags": [] + "jsdocTags": [], + "inputAlias": "id", + "isRequiredInput": false }, { "name": "orientation", "type": "InputSignal<\"vertical\" | \"horizontal\">", "memberType": "property", "memberTags": [ - "readonly" + "readonly", + "input" ], "description": "Orientation of the tree.", - "jsdocTags": [] + "jsdocTags": [], + "inputAlias": "orientation", + "isRequiredInput": false }, { "name": "multi", "type": "InputSignalWithTransform", "memberType": "property", "memberTags": [ - "readonly" + "readonly", + "input" ], "description": "Whether multi-selection is allowed.", - "jsdocTags": [] + "jsdocTags": [], + "inputAlias": "multi", + "isRequiredInput": false }, { "name": "disabled", "type": "InputSignalWithTransform", "memberType": "property", "memberTags": [ - "readonly" + "readonly", + "input" ], "description": "Whether the tree is disabled.", - "jsdocTags": [] + "jsdocTags": [], + "inputAlias": "disabled", + "isRequiredInput": false }, { "name": "selectionMode", "type": "InputSignal<\"explicit\" | \"follow\">", "memberType": "property", "memberTags": [ - "readonly" + "readonly", + "input" ], "description": "The selection strategy used by the tree.\n- `explicit`: Items are selected explicitly by the user (e.g., via click or spacebar).\n- `follow`: The focused item is automatically selected.", - "jsdocTags": [] + "jsdocTags": [], + "inputAlias": "selectionMode", + "isRequiredInput": false }, { "name": "focusMode", "type": "InputSignal<\"roving\" | \"activedescendant\">", "memberType": "property", "memberTags": [ - "readonly" + "readonly", + "input" ], "description": "The focus strategy used by the tree.\n- `roving`: Focus is moved to the active item using `tabindex`.\n- `activedescendant`: Focus remains on the tree container, and `aria-activedescendant` is used to indicate the active item.", - "jsdocTags": [] + "jsdocTags": [], + "inputAlias": "focusMode", + "isRequiredInput": false }, { "name": "wrap", "type": "InputSignalWithTransform", "memberType": "property", "memberTags": [ - "readonly" + "readonly", + "input" ], "description": "Whether navigation wraps.", - "jsdocTags": [] + "jsdocTags": [], + "inputAlias": "wrap", + "isRequiredInput": false }, { "name": "softDisabled", "type": "InputSignalWithTransform", "memberType": "property", "memberTags": [ - "readonly" + "readonly", + "input" ], "description": "Whether to allow disabled items to receive focus. When `true`, disabled items are\nfocusable but not interactive. When `false`, disabled items are skipped during navigation.", - "jsdocTags": [] + "jsdocTags": [], + "inputAlias": "softDisabled", + "isRequiredInput": false }, { "name": "typeaheadDelay", "type": "InputSignal", "memberType": "property", "memberTags": [ - "readonly" + "readonly", + "input" ], "description": "The delay in seconds before the typeahead search is reset.", - "jsdocTags": [] + "jsdocTags": [], + "inputAlias": "typeaheadDelay", + "isRequiredInput": false }, { "name": "tabIndex", "type": "InputSignal", "memberType": "property", "memberTags": [ - "readonly" + "readonly", + "input" ], "description": "The tabindex of the tree.", - "jsdocTags": [] + "jsdocTags": [], + "inputAlias": "tabindex", + "isRequiredInput": false }, { "name": "value", "type": "ModelSignal", "memberType": "property", "memberTags": [ - "readonly" + "readonly", + "input", + "output" ], "description": "The values of the currently selected items.", - "jsdocTags": [] + "jsdocTags": [], + "inputAlias": "value", + "isRequiredInput": false, + "outputAlias": "valueChange" }, { "name": "textDirection", @@ -531,20 +566,26 @@ "type": "InputSignalWithTransform", "memberType": "property", "memberTags": [ - "readonly" + "readonly", + "input" ], "description": "Whether the tree is in navigation mode.", - "jsdocTags": [] + "jsdocTags": [], + "inputAlias": "nav", + "isRequiredInput": false }, { "name": "currentType", "type": "InputSignal<\"page\" | \"step\" | \"location\" | \"date\" | \"time\" | \"true\" | \"false\">", "memberType": "property", "memberTags": [ - "readonly" + "readonly", + "input" ], "description": "The `aria-current` type. It can be used in navigation trees to indicate the currently active item.\nSee https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Attributes/aria-current for more details.", - "jsdocTags": [] + "jsdocTags": [], + "inputAlias": "currentType", + "isRequiredInput": false }, { "name": "activeDescendant", @@ -556,6 +597,39 @@ "description": "The ID of the active descendant in the tree.", "jsdocTags": [] }, + { + "name": "ngOnDestroy", + "signatures": [ + { + "name": "ngOnDestroy", + "entryType": "function", + "description": "", + "generics": [], + "isNewType": false, + "jsdocTags": [], + "params": [], + "rawComment": "", + "returnType": "void" + } + ], + "implementation": { + "params": [], + "isNewType": false, + "returnType": "void", + "generics": [], + "name": "ngOnDestroy", + "description": "", + "entryType": "function", + "jsdocTags": [], + "rawComment": "" + }, + "entryType": "function", + "description": "", + "jsdocTags": [], + "rawComment": "", + "memberType": "method", + "memberTags": [] + }, { "name": "scrollActiveItemIntoView", "signatures": [ @@ -623,11 +697,21 @@ } ], "rawComment": "/**\n * A container that transforms nested lists into an accessible, ARIA-compliant tree structure.\n * It manages the overall state of the tree, including selection, expansion, and keyboard\n * navigation.\n *\n * ```html\n *
      \n * \n *
    \n *\n * \n * @for (node of nodes; track node.name) {\n *
  • \n * {{ node.name }}\n * @if (node.children) {\n *
      \n * \n * \n * \n *
    \n * }\n *
  • \n * }\n * \n * ```\n *\n * @developerPreview 21.0\n *\n * @see [Tree](guide/aria/tree)\n */", - "implements": [], + "implements": [ + "OnDestroy" + ], + "isStandalone": true, + "selector": "[ngTree]", + "exportAs": [ + "ngTree" + ], + "aliases": [ + "ngTree" + ], "source": { "filePath": "/src/aria/tree/tree.ts", - "startLine": 70, - "endLine": 244 + "startLine": 65, + "endLine": 210 } } ], @@ -680,14 +764,14 @@ "Signal", "@angular/core" ], - [ - "afterNextRender", - "@angular/core" - ], [ "_IdGenerator", "@angular/cdk/a11y" ], + [ + "afterNextRender", + "@angular/core" + ], [ "untracked", "@angular/core" @@ -864,6 +948,10 @@ "Tree.activeDescendant", "@angular/aria/tree" ], + [ + "Tree.ngOnDestroy", + "@angular/aria/tree" + ], [ "Tree.scrollActiveItemIntoView", "@angular/aria/tree" diff --git a/adev/src/content/cdk/_build-info.json b/adev/src/content/cdk/_build-info.json index 6f542766d839..bb4f5c347a13 100644 --- a/adev/src/content/cdk/_build-info.json +++ b/adev/src/content/cdk/_build-info.json @@ -1,4 +1,4 @@ { - "branchName": "refs/heads/main", + "branchName": "refs/heads/22.0.x", "sha": "123e4078ab7cb4e803ae136d71f2bfba55c6e867" } \ No newline at end of file diff --git a/adev/src/content/cli/_build-info.json b/adev/src/content/cli/_build-info.json index d1ed8afec180..f1955218b1ba 100644 --- a/adev/src/content/cli/_build-info.json +++ b/adev/src/content/cli/_build-info.json @@ -1,4 +1,4 @@ { "branchName": "refs/heads/main", - "sha": "ea8265eb7f44ecb3521004ec6c72dcc85a333e94" + "sha": "62f80d27ea10c10a00194db0bb286ad960281a0d" } \ No newline at end of file diff --git a/adev/src/content/cli/generate.json b/adev/src/content/cli/generate.json index 3320b1e99e7b..40c9c2fd75bc 100644 --- a/adev/src/content/cli/generate.json +++ b/adev/src/content/cli/generate.json @@ -1009,6 +1009,12 @@ "default": true, "description": "Creates files at the top level of the project or the given path. If set to false, a new folder with the service's name will be created to contain the files." }, + { + "name": "injectable", + "type": "boolean", + "default": false, + "description": "When true, generates an `@Injectable` instead of `@Service`." + }, { "name": "name", "type": "string", From 50f8823fe882092257933c6f96511d013e872092 Mon Sep 17 00:00:00 2001 From: Michael Small <33669563+michael-small@users.noreply.github.com> Date: Mon, 4 May 2026 12:27:36 -0500 Subject: [PATCH 015/317] docs: rename outdated `validateTree` example's model (cherry picked from commit 0ef43c5ff36d41f5ee4b8ec98ebf6dea3479f1ad) --- adev/src/content/guide/forms/signals/validation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adev/src/content/guide/forms/signals/validation.md b/adev/src/content/guide/forms/signals/validation.md index c130f40bedae..8655e74320d5 100644 --- a/adev/src/content/guide/forms/signals/validation.md +++ b/adev/src/content/guide/forms/signals/validation.md @@ -495,7 +495,7 @@ interface User { /* ... */ }) export class UserFormComponent { - readonly userModel = model({ + readonly userModel = model({ firstName: '', lastName: '', }); From acae6a0ef4cbda6dd106117b3506abac7907a371 Mon Sep 17 00:00:00 2001 From: Michael Small <33669563+michael-small@users.noreply.github.com> Date: Sun, 3 May 2026 15:31:20 -0500 Subject: [PATCH 016/317] docs: fix `applyWhenValue` form example (cherry picked from commit 44c0293a3eff14ae082a12ffd80f3eba1ee97ec1) --- adev/src/content/guide/forms/signals/schemas.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/adev/src/content/guide/forms/signals/schemas.md b/adev/src/content/guide/forms/signals/schemas.md index a3006f5815c9..49359cf05023 100644 --- a/adev/src/content/guide/forms/signals/schemas.md +++ b/adev/src/content/guide/forms/signals/schemas.md @@ -173,14 +173,14 @@ function isBankTransfer(value: PaymentMethod): value is BankTransfer { } paymentForm = form(this.paymentModel, (schemaPath) => { - applyWhenValue(schemaPath.payment, isCreditCard, (payment) => { + applyWhenValue(schemaPath, isCreditCard, (payment) => { // TypeScript knows payment is scoped to CreditCard required(payment.cardNumber); required(payment.expiry); required(payment.cvv); }); - applyWhenValue(schemaPath.payment, isBankTransfer, (payment) => { + applyWhenValue(schemaPath, isBankTransfer, (payment) => { // TypeScript knows payment is scoped to BankTransfer required(payment.accountNumber); required(payment.routingNumber); From 2e2f92210f127260d763819a73616a5063f9b30b Mon Sep 17 00:00:00 2001 From: Michael Small <33669563+michael-small@users.noreply.github.com> Date: Tue, 5 May 2026 22:08:32 -0500 Subject: [PATCH 017/317] docs: add `FormField/FormRoot` imports + move comment w/backticks (cherry picked from commit 7b4791f47416d6d9f1a3ffd09abf23446e26a084) --- .../content/guide/forms/signals/field-state-management.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/adev/src/content/guide/forms/signals/field-state-management.md b/adev/src/content/guide/forms/signals/field-state-management.md index 82b74aa00042..248bfc3684c6 100644 --- a/adev/src/content/guide/forms/signals/field-state-management.md +++ b/adev/src/content/guide/forms/signals/field-state-management.md @@ -228,8 +228,9 @@ import { form, FormField, disabled } from '@angular/forms/signals' @Component({ selector: 'app-order', imports: [FormField], + // TIP: The `[formField]` directive automatically binds the `disabled` attribute based + // on the field's `disabled()` state, so you don't need to manually add `[disabled]="field().disabled()"` template: ` - @if (orderForm.couponCode().disabled()) { @@ -621,6 +622,8 @@ While field state typically updates through user interactions (typing, focusing, Signal Forms provides a `FormRoot` directive that simplifies form submission. It automatically prevents the default browser form submission behavior and sets the `novalidate` attribute on the `
    ` element. ```angular-ts +import {FormField, FormRoot} from '@angular/forms/signals'; + @Component({ imports: [FormRoot, FormField], template: ` @@ -691,6 +694,7 @@ import {Component, signal} from '@angular/core'; import {form, FormField, email} from '@angular/forms/signals'; @Component({ + imports: [FormField], template: ` Date: Fri, 1 May 2026 17:47:48 +0200 Subject: [PATCH 018/317] refactor(core): use the `@Service` decorator where possible. A few bytes to win. Added only on the services that don't rely on constructor DI. (cherry picked from commit a7dab601fafba6c5cb3d3c8d96b4f4b38cb273ac) --- packages/animations/src/animation_builder.ts | 7 +++--- packages/common/http/src/backend.ts | 15 ++++++------- packages/common/http/src/fetch.ts | 4 ++-- packages/common/http/src/xsrf.ts | 5 +++-- .../ng_optimized_image/lcp_image_observer.ts | 8 +++---- .../preconnect_link_checker.ts | 8 +++---- .../preload-link-creator.ts | 8 +++---- packages/common/src/i18n/localization.ts | 16 +++++++++----- packages/common/src/xhr.ts | 4 ++-- .../src/ngtsc/imports/src/core.ts | 1 + .../core/src/application/application_init.ts | 4 ++-- .../core/src/application/application_ref.ts | 5 ++--- .../scheduling/ng_zone_scheduling.ts | 6 ++--- .../scheduling/zoneless_scheduling_impl.ts | 10 ++++----- .../core/src/image_performance_warning.ts | 8 +++---- packages/core/src/linker/compiler.ts | 4 ++-- packages/core/src/r3_symbols.ts | 1 + .../bundle.golden_symbols.json | 1 + .../bundle.golden_symbols.json | 1 + .../bundling/defer/bundle.golden_symbols.json | 1 + .../forms_reactive/bundle.golden_symbols.json | 1 + .../bundle.golden_symbols.json | 1 + .../hydration/bundle.golden_symbols.json | 1 + .../router/bundle.golden_symbols.json | 3 +-- .../bundle.golden_symbols.json | 1 + .../radio_control_value_accessor.ts | 4 ++-- packages/forms/src/form_builder.ts | 11 ++++------ .../src/security/dom_sanitization_service.ts | 18 +++++++-------- .../security/dom_sanitization_service_spec.ts | 3 ++- packages/router/src/directives/router_link.ts | 8 +++---- packages/router/src/navigation_transition.ts | 9 ++++---- packages/router/src/page_title_strategy.ts | 4 ++-- packages/router/src/route_reuse_strategy.ts | 8 +++---- packages/router/src/router.ts | 9 ++++---- packages/router/src/router_config_loader.ts | 4 ++-- packages/router/src/router_preloader.ts | 12 +++++++--- .../statemanager/navigation_state_manager.ts | 22 +++++++++---------- .../router/src/statemanager/state_manager.ts | 6 ++--- packages/router/src/url_handling_strategy.ts | 6 ++--- packages/router/src/url_tree.ts | 4 ++-- .../testing/src/router_testing_harness.ts | 4 ++-- 41 files changed, 134 insertions(+), 122 deletions(-) diff --git a/packages/animations/src/animation_builder.ts b/packages/animations/src/animation_builder.ts index e4acf16eed4f..54d52c8a2527 100644 --- a/packages/animations/src/animation_builder.ts +++ b/packages/animations/src/animation_builder.ts @@ -7,6 +7,7 @@ */ import { ANIMATION_MODULE_TYPE, + ɵAnimationRendererType as AnimationRendererType, DOCUMENT, Inject, inject, @@ -14,9 +15,9 @@ import { Renderer2, RendererFactory2, RendererType2, - ViewEncapsulation, - ɵAnimationRendererType as AnimationRendererType, ɵRuntimeError as RuntimeError, + Service, + ViewEncapsulation, } from '@angular/core'; import {AnimationMetadata, AnimationOptions, sequence} from './animation_metadata'; @@ -71,7 +72,7 @@ import {AnimationPlayer} from './players/animation_player'; * * @deprecated 20.2 Use `animate.enter` or `animate.leave` instead. Intent to remove in v23 */ -@Injectable({providedIn: 'root', useFactory: () => inject(BrowserAnimationBuilder)}) +@Service({factory: () => inject(BrowserAnimationBuilder)}) export abstract class AnimationBuilder { /** * Builds a factory for producing a defined animation. diff --git a/packages/common/http/src/backend.ts b/packages/common/http/src/backend.ts index 2f8da2204d5e..b071a54c7f17 100644 --- a/packages/common/http/src/backend.ts +++ b/packages/common/http/src/backend.ts @@ -8,28 +8,27 @@ import {Observable} from 'rxjs'; -import {HttpRequest} from './request'; -import {HttpEvent} from './response'; -import {FetchBackend} from './fetch'; -import {HttpXhrBackend} from './xhr'; import { + ɵConsole as Console, EnvironmentInjector, + ɵformatRuntimeError as formatRuntimeError, inject, Injectable, - ɵConsole as Console, - ɵformatRuntimeError as formatRuntimeError, PendingTasks, } from '@angular/core'; import {finalize} from 'rxjs/operators'; +import {FetchBackend} from './fetch'; +import {HttpRequest} from './request'; +import {HttpEvent} from './response'; import {RuntimeErrorCode} from './errors'; import { ChainedInterceptorFn, + chainedInterceptorFn, HTTP_INTERCEPTOR_FNS, HTTP_ROOT_INTERCEPTOR_FNS, - REQUESTS_CONTRIBUTE_TO_STABILITY, - chainedInterceptorFn, interceptorChainEndFn, + REQUESTS_CONTRIBUTE_TO_STABILITY, } from './interceptor'; /** diff --git a/packages/common/http/src/fetch.ts b/packages/common/http/src/fetch.ts index f4d24a6541c8..e9296232558f 100644 --- a/packages/common/http/src/fetch.ts +++ b/packages/common/http/src/fetch.ts @@ -10,9 +10,9 @@ import { DestroyRef, ɵformatRuntimeError as formatRuntimeError, inject, - Injectable, NgZone, ɵRuntimeError as RuntimeError, + Service, } from '@angular/core'; import {Observable, Observer} from 'rxjs'; import {RuntimeErrorCode} from './errors'; @@ -48,7 +48,7 @@ let uploadProgressWarningLogged = false; * * @publicApi */ -@Injectable({providedIn: 'root'}) +@Service() export class FetchBackend implements HttpBackend { // We use an arrow function to always reference the current global implementation of `fetch`. // This is helpful for cases when the global `fetch` implementation is modified by external code, diff --git a/packages/common/http/src/xsrf.ts b/packages/common/http/src/xsrf.ts index c893474d6ee3..6faab850b396 100644 --- a/packages/common/http/src/xsrf.ts +++ b/packages/common/http/src/xsrf.ts @@ -6,15 +6,16 @@ * found in the LICENSE file at https://angular.dev/license */ -import {DOCUMENT, ɵparseCookieValue as parseCookieValue, PlatformLocation} from '../../index'; import { EnvironmentInjector, inject, Injectable, InjectionToken, runInInjectionContext, + Service, } from '@angular/core'; import {Observable} from 'rxjs'; +import {DOCUMENT, ɵparseCookieValue as parseCookieValue, PlatformLocation} from '../../index'; import {HttpHandler} from './backend'; import {HttpHandlerFn, HttpInterceptor} from './interceptor'; @@ -48,7 +49,7 @@ export const XSRF_HEADER_NAME = new InjectionToken( /** * `HttpXsrfTokenExtractor` which retrieves the token from a cookie. */ -@Injectable({providedIn: 'root'}) +@Service() export class HttpXsrfCookieExtractor implements HttpXsrfTokenExtractor { private readonly cookieName = inject(XSRF_COOKIE_NAME); private readonly doc = inject(DOCUMENT); diff --git a/packages/common/src/directives/ng_optimized_image/lcp_image_observer.ts b/packages/common/src/directives/ng_optimized_image/lcp_image_observer.ts index 0164e1322184..86f280a8a227 100644 --- a/packages/common/src/directives/ng_optimized_image/lcp_image_observer.ts +++ b/packages/common/src/directives/ng_optimized_image/lcp_image_observer.ts @@ -7,11 +7,11 @@ */ import { + DOCUMENT, + ɵformatRuntimeError as formatRuntimeError, inject, - Injectable, OnDestroy, - ɵformatRuntimeError as formatRuntimeError, - DOCUMENT, + Service, } from '@angular/core'; import {RuntimeErrorCode} from '../../errors'; @@ -38,7 +38,7 @@ interface ObservedImageState { * * Based on https://web.dev/lcp/#measure-lcp-in-javascript. */ -@Injectable({providedIn: 'root'}) +@Service() export class LCPImageObserver implements OnDestroy { // Map of full image URLs -> original `ngSrc` values. private images = new Map(); diff --git a/packages/common/src/directives/ng_optimized_image/preconnect_link_checker.ts b/packages/common/src/directives/ng_optimized_image/preconnect_link_checker.ts index 62c259b62940..8ac7e92aaacd 100644 --- a/packages/common/src/directives/ng_optimized_image/preconnect_link_checker.ts +++ b/packages/common/src/directives/ng_optimized_image/preconnect_link_checker.ts @@ -7,12 +7,12 @@ */ import { + DOCUMENT, + ɵformatRuntimeError as formatRuntimeError, inject, - Injectable, InjectionToken, - ɵformatRuntimeError as formatRuntimeError, - DOCUMENT, OnDestroy, + Service, } from '@angular/core'; import {RuntimeErrorCode} from '../../errors'; @@ -53,7 +53,7 @@ export const PRECONNECT_CHECK_BLOCKLIST = new InjectionToken new NgLocaleLocalization(inject(LOCALE_ID)), -}) +@Service({factory: () => new NgLocaleLocalization(inject(LOCALE_ID))}) export abstract class NgLocalization { abstract getPluralCategory(value: number, locale?: string): string; } diff --git a/packages/common/src/xhr.ts b/packages/common/src/xhr.ts index 2f04a4d97d5b..64cf9c3b6cc1 100644 --- a/packages/common/src/xhr.ts +++ b/packages/common/src/xhr.ts @@ -6,12 +6,12 @@ * found in the LICENSE file at https://angular.dev/license */ -import {Injectable} from '@angular/core'; +import {Injectable, Service} from '@angular/core'; /** * A factory for `HttpXhrBackend` that uses the `XMLHttpRequest` browser API. */ -@Injectable({providedIn: 'root'}) +@Service() export class BrowserXhr implements XhrFactory { build(): XMLHttpRequest { return new XMLHttpRequest(); diff --git a/packages/compiler-cli/src/ngtsc/imports/src/core.ts b/packages/compiler-cli/src/ngtsc/imports/src/core.ts index 7057ee9c7edf..29fcfb7a5316 100644 --- a/packages/compiler-cli/src/ngtsc/imports/src/core.ts +++ b/packages/compiler-cli/src/ngtsc/imports/src/core.ts @@ -52,6 +52,7 @@ export class NoopImportRewriter implements ImportRewriter { */ const CORE_SUPPORTED_SYMBOLS = new Map([ ['ɵɵdefineInjectable', 'ɵɵdefineInjectable'], + ['ɵɵdefineService', 'ɵɵdefineService'], ['ɵɵdefineInjector', 'ɵɵdefineInjector'], ['ɵɵdefineNgModule', 'ɵɵdefineNgModule'], ['ɵɵsetNgModuleScope', 'ɵɵsetNgModuleScope'], diff --git a/packages/core/src/application/application_init.ts b/packages/core/src/application/application_init.ts index 62bca65a11f1..2153689f87d0 100644 --- a/packages/core/src/application/application_init.ts +++ b/packages/core/src/application/application_init.ts @@ -11,11 +11,11 @@ import {Observable} from 'rxjs'; import { EnvironmentProviders, inject, - Injectable, InjectionToken, Injector, makeEnvironmentProviders, runInInjectionContext, + Service, } from '../di'; import {RuntimeError, RuntimeErrorCode} from '../errors'; import {isPromise, isSubscribable} from '../util/lang'; @@ -206,7 +206,7 @@ export function provideAppInitializer( * * @publicApi */ -@Injectable({providedIn: 'root'}) +@Service() export class ApplicationInitStatus { // Using non null assertion, these fields are defined below // within the `new Promise` callback (synchronously). diff --git a/packages/core/src/application/application_ref.ts b/packages/core/src/application/application_ref.ts index e90bf4dcdd65..3a55545e50b6 100644 --- a/packages/core/src/application/application_ref.ts +++ b/packages/core/src/application/application_ref.ts @@ -21,8 +21,7 @@ import { import {ProfilerEvent} from '../../primitives/devtools'; import {ZONELESS_ENABLED} from '../change_detection/scheduling/zoneless_scheduling'; import {Console} from '../console'; -import {inject} from '../di'; -import {Injectable} from '../di/injectable'; +import {inject, Service} from '../di'; import {InjectionToken} from '../di/injection_token'; import {Injector} from '../di/injector'; import {EnvironmentInjector, type R3Injector} from '../di/r3_injector'; @@ -251,7 +250,7 @@ export function optionsReducer(dst: T, objs: T | T[]): T { * * @publicApi */ -@Injectable({providedIn: 'root'}) +@Service() export class ApplicationRef { /** @internal */ _runningTick: boolean = false; diff --git a/packages/core/src/change_detection/scheduling/ng_zone_scheduling.ts b/packages/core/src/change_detection/scheduling/ng_zone_scheduling.ts index deb28cbfa6e8..80a1ccce9625 100644 --- a/packages/core/src/change_detection/scheduling/ng_zone_scheduling.ts +++ b/packages/core/src/change_detection/scheduling/ng_zone_scheduling.ts @@ -13,9 +13,9 @@ import { ENVIRONMENT_INITIALIZER, EnvironmentProviders, inject, - Injectable, InjectionToken, makeEnvironmentProviders, + Service, StaticProvider, } from '../../di'; import {RuntimeError, RuntimeErrorCode} from '../../errors'; @@ -33,7 +33,7 @@ import { ZONELESS_ENABLED, } from './zoneless_scheduling'; -@Injectable({providedIn: 'root'}) +@Service() export class NgZoneChangeDetectionScheduler implements OnDestroy { private readonly zone = inject(NgZone); private readonly changeDetectionScheduler = inject(ChangeDetectionScheduler); @@ -228,7 +228,7 @@ export function getNgZoneOptions(options?: NgZoneOptions): InternalNgZoneOptions }; } -@Injectable({providedIn: 'root'}) +@Service() export class ZoneStablePendingTask { private readonly subscription = new Subscription(); private initialized = false; diff --git a/packages/core/src/change_detection/scheduling/zoneless_scheduling_impl.ts b/packages/core/src/change_detection/scheduling/zoneless_scheduling_impl.ts index 9682f02dc1ad..b6bc7b0faa7d 100644 --- a/packages/core/src/change_detection/scheduling/zoneless_scheduling_impl.ts +++ b/packages/core/src/change_detection/scheduling/zoneless_scheduling_impl.ts @@ -9,7 +9,6 @@ import {Subscription} from 'rxjs'; import {ApplicationRef, ApplicationRefDirtyFlags} from '../../application/application_ref'; -import {Injectable} from '../../di/injectable'; import {inject} from '../../di/injector_compatibility'; import {EnvironmentProviders, Provider} from '../../di/interface/provider'; import {makeEnvironmentProviders} from '../../di/provider_collection'; @@ -22,6 +21,10 @@ import { import {performanceMarkFeature} from '../../util/performance'; import {NgZone, NgZonePrivate, NoopNgZone, angularZoneInstanceIdProperty} from '../../zone/ng_zone'; +import {TracingService} from '../../application/tracing'; +import {Service} from '../../di'; +import {INTERNAL_APPLICATION_ERROR_HANDLER} from '../../error_handler'; +import {OnDestroy} from '../lifecycle_hooks'; import { ChangeDetectionScheduler, NotificationSource, @@ -29,9 +32,6 @@ import { SCHEDULE_IN_ROOT_ZONE, ZONELESS_ENABLED, } from './zoneless_scheduling'; -import {TracingService} from '../../application/tracing'; -import {INTERNAL_APPLICATION_ERROR_HANDLER} from '../../error_handler'; -import {OnDestroy} from '../lifecycle_hooks'; const CONSECUTIVE_MICROTASK_NOTIFICATION_LIMIT = 100; let consecutiveMicrotaskNotifications = 0; @@ -56,7 +56,7 @@ function trackMicrotaskNotificationForDebugging() { } } -@Injectable({providedIn: 'root'}) +@Service() export class ChangeDetectionSchedulerImpl implements ChangeDetectionScheduler, OnDestroy { private readonly applicationErrorHandler = inject(INTERNAL_APPLICATION_ERROR_HANDLER); private readonly appRef = inject(ApplicationRef); diff --git a/packages/core/src/image_performance_warning.ts b/packages/core/src/image_performance_warning.ts index e9c3afb583ec..3318e58462c3 100644 --- a/packages/core/src/image_performance_warning.ts +++ b/packages/core/src/image_performance_warning.ts @@ -7,12 +7,12 @@ */ import {IMAGE_CONFIG, ImageConfig} from './application/application_tokens'; -import {Injectable} from './di'; +import {OnDestroy} from './change_detection/lifecycle_hooks'; +import {Service} from './di'; import {inject} from './di/injector_compatibility'; +import {ERROR_DETAILS_PAGE_BASE_URL} from './error_details_base_url'; import {formatRuntimeError, RuntimeErrorCode} from './errors'; -import {OnDestroy} from './change_detection/lifecycle_hooks'; import {getDocument} from './render3/interfaces/document'; -import {ERROR_DETAILS_PAGE_BASE_URL} from './error_details_base_url'; // A delay in milliseconds before the scan is run after onLoad, to avoid any // potential race conditions with other LCP-related functions. This delay @@ -22,7 +22,7 @@ const SCAN_DELAY = 200; const OVERSIZED_IMAGE_TOLERANCE = 1200; -@Injectable({providedIn: 'root'}) +@Service() export class ImagePerformanceWarning implements OnDestroy { // Map of full image URLs -> original `ngSrc` values. private window: Window | null = null; diff --git a/packages/core/src/linker/compiler.ts b/packages/core/src/linker/compiler.ts index c8529ea21ee2..fbcf5b960ee9 100644 --- a/packages/core/src/linker/compiler.ts +++ b/packages/core/src/linker/compiler.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.dev/license */ -import {Injectable} from '../di/injectable'; +import {Service} from '../di'; import {InjectionToken} from '../di/injection_token'; import {StaticProvider} from '../di/interface/provider'; import {Type} from '../interface/type'; @@ -29,7 +29,7 @@ import {NgModuleFactory} from './ng_module_factory'; * @deprecated * Ivy JIT mode doesn't require accessing this symbol. */ -@Injectable({providedIn: 'root'}) +@Service() export class Compiler { /** * Compiles the given NgModule and all of its components. All templates of the components diff --git a/packages/core/src/r3_symbols.ts b/packages/core/src/r3_symbols.ts index e260affea78a..d35cc9522490 100644 --- a/packages/core/src/r3_symbols.ts +++ b/packages/core/src/r3_symbols.ts @@ -23,6 +23,7 @@ export {ɵɵinject} from './di/injector_compatibility'; export {ɵɵdefineInjectable, ɵɵdefineInjector, ɵɵInjectableDeclaration} from './di/interface/defs'; +export {ɵɵdefineService} from './di/interface/service'; export {NgModuleDef} from './metadata/ng_module_def'; export {ɵɵdefineNgModule} from './render3/definition'; export { diff --git a/packages/core/test/bundling/animations-standalone/bundle.golden_symbols.json b/packages/core/test/bundling/animations-standalone/bundle.golden_symbols.json index dc46be2b2d32..ec06d65d6cfb 100644 --- a/packages/core/test/bundling/animations-standalone/bundle.golden_symbols.json +++ b/packages/core/test/bundling/animations-standalone/bundle.golden_symbols.json @@ -271,6 +271,7 @@ "\\u0275PRE_STYLE", "\\u0275\\u0275defineComponent", "\\u0275\\u0275defineInjectable", + "\\u0275\\u0275defineService", "\\u0275\\u0275directiveInject", "\\u0275\\u0275domElement", "\\u0275\\u0275domElementEnd", diff --git a/packages/core/test/bundling/create_component/bundle.golden_symbols.json b/packages/core/test/bundling/create_component/bundle.golden_symbols.json index 573639d755c3..650f95f0c777 100644 --- a/packages/core/test/bundling/create_component/bundle.golden_symbols.json +++ b/packages/core/test/bundling/create_component/bundle.golden_symbols.json @@ -204,6 +204,7 @@ "\\u0275\\u0275defineComponent", "\\u0275\\u0275defineDirective", "\\u0275\\u0275defineInjectable", + "\\u0275\\u0275defineService", "\\u0275\\u0275directiveInject", "\\u0275\\u0275inject", "\\u0275\\u0275text", diff --git a/packages/core/test/bundling/defer/bundle.golden_symbols.json b/packages/core/test/bundling/defer/bundle.golden_symbols.json index 7264dacfe691..3f1134db8166 100644 --- a/packages/core/test/bundling/defer/bundle.golden_symbols.json +++ b/packages/core/test/bundling/defer/bundle.golden_symbols.json @@ -247,6 +247,7 @@ "\\u0275\\u0275deferWhen", "\\u0275\\u0275defineComponent", "\\u0275\\u0275defineInjectable", + "\\u0275\\u0275defineService", "\\u0275\\u0275directiveInject", "\\u0275\\u0275domElementEnd", "\\u0275\\u0275domElementStart", diff --git a/packages/core/test/bundling/forms_reactive/bundle.golden_symbols.json b/packages/core/test/bundling/forms_reactive/bundle.golden_symbols.json index 545859c99801..379c0903eae5 100644 --- a/packages/core/test/bundling/forms_reactive/bundle.golden_symbols.json +++ b/packages/core/test/bundling/forms_reactive/bundle.golden_symbols.json @@ -299,6 +299,7 @@ "\\u0275\\u0275defineInjectable", "\\u0275\\u0275defineInjector", "\\u0275\\u0275defineNgModule", + "\\u0275\\u0275defineService", "\\u0275\\u0275directiveInject", "\\u0275\\u0275element", "\\u0275\\u0275elementEnd", diff --git a/packages/core/test/bundling/forms_template_driven/bundle.golden_symbols.json b/packages/core/test/bundling/forms_template_driven/bundle.golden_symbols.json index 3e5c5feb3245..bef607946d78 100644 --- a/packages/core/test/bundling/forms_template_driven/bundle.golden_symbols.json +++ b/packages/core/test/bundling/forms_template_driven/bundle.golden_symbols.json @@ -293,6 +293,7 @@ "\\u0275\\u0275defineInjectable", "\\u0275\\u0275defineInjector", "\\u0275\\u0275defineNgModule", + "\\u0275\\u0275defineService", "\\u0275\\u0275directiveInject", "\\u0275\\u0275element", "\\u0275\\u0275elementEnd", diff --git a/packages/core/test/bundling/hydration/bundle.golden_symbols.json b/packages/core/test/bundling/hydration/bundle.golden_symbols.json index 295019400f44..c7037b0d1ae0 100644 --- a/packages/core/test/bundling/hydration/bundle.golden_symbols.json +++ b/packages/core/test/bundling/hydration/bundle.golden_symbols.json @@ -292,6 +292,7 @@ "ZoneAwareEffectScheduler", "\\u0275\\u0275defineComponent", "\\u0275\\u0275defineInjectable", + "\\u0275\\u0275defineService", "\\u0275\\u0275directiveInject", "\\u0275\\u0275inject", "\\u0275\\u0275resolveBody", diff --git a/packages/core/test/bundling/router/bundle.golden_symbols.json b/packages/core/test/bundling/router/bundle.golden_symbols.json index 79f216af4f25..56f60d0dd3a1 100644 --- a/packages/core/test/bundling/router/bundle.golden_symbols.json +++ b/packages/core/test/bundling/router/bundle.golden_symbols.json @@ -330,6 +330,7 @@ "\\u0275\\u0275defineComponent", "\\u0275\\u0275defineDirective", "\\u0275\\u0275defineInjectable", + "\\u0275\\u0275defineService", "\\u0275\\u0275directiveInject", "\\u0275\\u0275domElementEnd", "\\u0275\\u0275domElementStart", @@ -337,7 +338,6 @@ "\\u0275\\u0275element", "\\u0275\\u0275elementEnd", "\\u0275\\u0275elementStart", - "\\u0275\\u0275getInheritedFactory", "\\u0275\\u0275inject", "\\u0275\\u0275injectAttribute", "\\u0275\\u0275listener", @@ -666,7 +666,6 @@ "getDocument", "getElementDepthCount", "getFactoryDef", - "getFactoryOf", "getFirstLContainer", "getFirstNativeNode", "getGlobalLocale", diff --git a/packages/core/test/bundling/standalone_bootstrap/bundle.golden_symbols.json b/packages/core/test/bundling/standalone_bootstrap/bundle.golden_symbols.json index 760f22a9a0a1..a958c910a3fd 100644 --- a/packages/core/test/bundling/standalone_bootstrap/bundle.golden_symbols.json +++ b/packages/core/test/bundling/standalone_bootstrap/bundle.golden_symbols.json @@ -193,6 +193,7 @@ "ZoneAwareEffectScheduler", "\\u0275\\u0275defineComponent", "\\u0275\\u0275defineInjectable", + "\\u0275\\u0275defineService", "\\u0275\\u0275directiveInject", "\\u0275\\u0275inject", "\\u0275\\u0275text", diff --git a/packages/forms/src/directives/radio_control_value_accessor.ts b/packages/forms/src/directives/radio_control_value_accessor.ts index 0bbc6798e75d..e9fd4c12633a 100644 --- a/packages/forms/src/directives/radio_control_value_accessor.ts +++ b/packages/forms/src/directives/radio_control_value_accessor.ts @@ -11,7 +11,6 @@ import { ElementRef, forwardRef, inject, - Injectable, Injector, Input, OnDestroy, @@ -19,6 +18,7 @@ import { Provider, Renderer2, ɵRuntimeError as RuntimeError, + Service, } from '@angular/core'; import {RuntimeErrorCode} from '../errors'; @@ -51,7 +51,7 @@ function throwNameError() { * @description * Class used by Angular to track radio buttons. For internal use only. */ -@Injectable({providedIn: 'root'}) +@Service() export class RadioControlRegistry { private _accessors: any[] = []; diff --git a/packages/forms/src/form_builder.ts b/packages/forms/src/form_builder.ts index abb37f3b5820..a7c003aae39b 100644 --- a/packages/forms/src/form_builder.ts +++ b/packages/forms/src/form_builder.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.dev/license */ -import {inject, Injectable} from '@angular/core'; +import {inject, Service} from '@angular/core'; import {AsyncValidatorFn, ValidatorFn} from './directives/validators'; import {AbstractControl, AbstractControlOptions} from './model/abstract_model'; @@ -136,7 +136,7 @@ export type ɵElement = * * @publicApi */ -@Injectable({providedIn: 'root'}) +@Service() export class FormBuilder { private useNonNullable: boolean = false; @@ -415,10 +415,7 @@ export class FormBuilder { * * @publicApi */ -@Injectable({ - providedIn: 'root', - useFactory: () => inject(FormBuilder).nonNullable, -}) +@Service({factory: () => inject(FormBuilder).nonNullable}) export abstract class NonNullableFormBuilder { /** * Similar to `FormBuilder#group`, except any implicitly constructed `FormControl` @@ -465,7 +462,7 @@ export abstract class NonNullableFormBuilder { /** * UntypedFormBuilder is the same as `FormBuilder`, but it provides untyped controls. */ -@Injectable({providedIn: 'root'}) +@Service() export class UntypedFormBuilder extends FormBuilder { /** * Like `FormBuilder#group`, except the resulting group is untyped. diff --git a/packages/platform-browser/src/security/dom_sanitization_service.ts b/packages/platform-browser/src/security/dom_sanitization_service.ts index 6b75dfc0d941..535744db92e0 100644 --- a/packages/platform-browser/src/security/dom_sanitization_service.ts +++ b/packages/platform-browser/src/security/dom_sanitization_service.ts @@ -8,11 +8,6 @@ import {DOCUMENT} from '@angular/common'; import { - forwardRef, - Inject, - Injectable, - Sanitizer, - SecurityContext, ɵ_sanitizeHtml as _sanitizeHtml, ɵ_sanitizeUrl as _sanitizeUrl, ɵallowSanitizationBypassAndThrow as allowSanitizationBypassOrThrow, @@ -22,7 +17,13 @@ import { ɵbypassSanitizationTrustStyle as bypassSanitizationTrustStyle, ɵbypassSanitizationTrustUrl as bypassSanitizationTrustUrl, ɵBypassType as BypassType, + forwardRef, + inject, + Injectable, ɵRuntimeError as RuntimeError, + Sanitizer, + SecurityContext, + Service, ɵunwrapSafeValue as unwrapSafeValue, ɵXSS_SECURITY_URL as XSS_SECURITY_URL, } from '@angular/core'; @@ -162,12 +163,9 @@ export abstract class DomSanitizer implements Sanitizer { abstract bypassSecurityTrustResourceUrl(value: string): SafeResourceUrl; } -@Injectable({providedIn: 'root'}) +@Service() export class DomSanitizerImpl extends DomSanitizer { - constructor(@Inject(DOCUMENT) private _doc: any) { - super(); - } - + private _doc = inject(DOCUMENT); override sanitize(ctx: SecurityContext, value: SafeValue | string | null): string | null { if (value == null) return null; switch (ctx) { diff --git a/packages/platform-browser/test/security/dom_sanitization_service_spec.ts b/packages/platform-browser/test/security/dom_sanitization_service_spec.ts index dcebc096e1a1..4d0f50569f9c 100644 --- a/packages/platform-browser/test/security/dom_sanitization_service_spec.ts +++ b/packages/platform-browser/test/security/dom_sanitization_service_spec.ts @@ -7,11 +7,12 @@ */ import {SecurityContext} from '@angular/core'; +import {TestBed} from '@angular/core/testing'; import {DomSanitizerImpl} from '../../src/security/dom_sanitization_service'; describe('DOM Sanitization Service', () => { it('accepts resource URL values for resource contexts', () => { - const svc = new DomSanitizerImpl(null); + const svc = TestBed.runInInjectionContext(() => new DomSanitizerImpl()); const resourceUrl = svc.bypassSecurityTrustResourceUrl('http://hello/world'); expect(svc.sanitize(SecurityContext.URL, resourceUrl)).toBe('http://hello/world'); }); diff --git a/packages/router/src/directives/router_link.ts b/packages/router/src/directives/router_link.ts index 9d206ab88e5c..72b7101be3f6 100644 --- a/packages/router/src/directives/router_link.ts +++ b/packages/router/src/directives/router_link.ts @@ -17,18 +17,18 @@ import { HostAttributeToken, HostListener, inject, - Injectable, Input, + input, linkedSignal, OnChanges, OnDestroy, Renderer2, + ɵRuntimeError as RuntimeError, + Service, signal, SimpleChanges, untracked, ɵINTERNAL_APPLICATION_ERROR_HANDLER, - ɵRuntimeError as RuntimeError, - input, } from '@angular/core'; import {Subject} from 'rxjs'; @@ -45,7 +45,7 @@ import {isUrlTree, UrlSerializer, UrlTree} from '../url_tree'; // Converts non-reactive router state to reactive state via the NavigationEnd // event. This isn't the ideal way of doing things, but is necessary to avoid // breaking tests which have mocked the Router. -@Injectable({providedIn: 'root'}) +@Service() export class ReactiveRouterState { private readonly router = inject(Router); private readonly stateManager = inject(StateManager); diff --git a/packages/router/src/navigation_transition.ts b/packages/router/src/navigation_transition.ts index 9974817488be..82e01c207a71 100644 --- a/packages/router/src/navigation_transition.ts +++ b/packages/router/src/navigation_transition.ts @@ -11,9 +11,9 @@ import { DestroyRef, EnvironmentInjector, inject, - Injectable, InjectionToken, runInInjectionContext, + Service, signal, Type, untracked, @@ -53,7 +53,6 @@ import { QueryParamsHandling, RedirectCommand, Route, - Routes, } from './models'; import { isNavigationCancelingError, @@ -66,6 +65,7 @@ import {recognize} from './operators/recognize'; import {resolveData} from './operators/resolve_data'; import {switchTap} from './operators/switch_tap'; import {TitleStrategy} from './page_title_strategy'; +import type {Router} from './router'; import {ROUTER_CONFIGURATION} from './router_config'; import {RouterConfigLoader} from './router_config_loader'; import {ChildrenOutletContexts} from './router_outlet_context'; @@ -80,10 +80,9 @@ import { import type {Params} from './shared'; import {UrlHandlingStrategy} from './url_handling_strategy'; import {UrlSerializer, UrlTree} from './url_tree'; +import {abortSignalToObservable} from './utils/abort_signal_to_observable'; import {Checks, getAllRouteGuards} from './utils/preactivation'; import {CREATE_VIEW_TRANSITION} from './utils/view_transition'; -import {abortSignalToObservable} from './utils/abort_signal_to_observable'; -import type {Router} from './router'; /** * @description @@ -337,7 +336,7 @@ export const NAVIGATION_ERROR_HANDLER = new InjectionToken< (error: NavigationError) => unknown | RedirectCommand >(typeof ngDevMode === 'undefined' || ngDevMode ? 'navigation error handler' : ''); -@Injectable({providedIn: 'root'}) +@Service() export class NavigationTransitions { // Some G3 targets expect the navigation object to be mutated (and not getting a new reference on changes). currentNavigation = signal(null, {equal: () => false}); diff --git a/packages/router/src/page_title_strategy.ts b/packages/router/src/page_title_strategy.ts index 42fc38d3372a..ae0eddef17b2 100644 --- a/packages/router/src/page_title_strategy.ts +++ b/packages/router/src/page_title_strategy.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.dev/license */ -import {inject, Injectable} from '@angular/core'; +import {inject, Injectable, Service} from '@angular/core'; import {Title} from '@angular/platform-browser'; import {ActivatedRouteSnapshot, RouterStateSnapshot} from './router_state'; @@ -35,7 +35,7 @@ import {PRIMARY_OUTLET, RouteTitleKey} from './shared'; * @publicApi * @see [Page title guide](guide/routing/define-routes#using-titlestrategy-for-page-titles) */ -@Injectable({providedIn: 'root', useFactory: () => inject(DefaultTitleStrategy)}) +@Service({factory: () => inject(DefaultTitleStrategy)}) export abstract class TitleStrategy { /** Performs the application title update. */ abstract updateTitle(snapshot: RouterStateSnapshot): void; diff --git a/packages/router/src/route_reuse_strategy.ts b/packages/router/src/route_reuse_strategy.ts index ce6d1fcdf945..7cada278fef2 100644 --- a/packages/router/src/route_reuse_strategy.ts +++ b/packages/router/src/route_reuse_strategy.ts @@ -6,11 +6,11 @@ * found in the LICENSE file at https://angular.dev/license */ -import {ComponentRef, inject, Injectable} from '@angular/core'; +import {ComponentRef, inject, Service} from '@angular/core'; +import {Route} from './models'; import {OutletContext} from './router_outlet_context'; import {ActivatedRoute, ActivatedRouteSnapshot} from './router_state'; -import {Route} from './models'; import {TreeNode} from './utils/tree'; /** @@ -64,7 +64,7 @@ export interface ExperimentalRouteReuseStrategy { * * @publicApi */ -@Injectable({providedIn: 'root', useFactory: () => inject(DefaultRouteReuseStrategy)}) +@Service({factory: () => inject(DefaultRouteReuseStrategy)}) export abstract class RouteReuseStrategy { /** Determines if this route (and its subtree) should be detached to be reused later */ abstract shouldDetach(route: ActivatedRouteSnapshot): boolean; @@ -150,5 +150,5 @@ export abstract class BaseRouteReuseStrategy implements RouteReuseStrategy { } } -@Injectable({providedIn: 'root'}) +@Service() export class DefaultRouteReuseStrategy extends BaseRouteReuseStrategy {} diff --git a/packages/router/src/router.ts b/packages/router/src/router.ts index 27788fed3117..295566658909 100644 --- a/packages/router/src/router.ts +++ b/packages/router/src/router.ts @@ -10,15 +10,15 @@ import {Location} from '@angular/common'; import { ɵConsole as Console, EnvironmentInjector, + ɵformatRuntimeError as formatRuntimeError, inject, - Injectable, ɵPendingTasksInternal as PendingTasks, ɵRuntimeError as RuntimeError, + Service, Signal, Type, untracked, ɵINTERNAL_APPLICATION_ERROR_HANDLER, - ɵformatRuntimeError as formatRuntimeError, } from '@angular/core'; import {Observable, Subject, Subscription, SubscriptionLike} from 'rxjs'; @@ -34,7 +34,6 @@ import { NavigationCancel, NavigationCancellationCode, NavigationEnd, - NavigationError, NavigationTrigger, RedirectRequest, } from './events'; @@ -54,6 +53,7 @@ import {RouteReuseStrategy} from './route_reuse_strategy'; import {ROUTER_CONFIGURATION} from './router_config'; import {ROUTES} from './router_config_loader'; +import {RouterState} from './router_state'; import {Params} from './shared'; import {StateManager} from './statemanager/state_manager'; import {UrlHandlingStrategy} from './url_handling_strategy'; @@ -69,7 +69,6 @@ import { } from './url_tree'; import {validateConfig} from './utils/config'; import {afterNextNavigation} from './utils/navigations'; -import {RouterState} from './router_state'; /** * @description @@ -85,7 +84,7 @@ import {RouterState} from './router_state'; * * @publicApi */ -@Injectable({providedIn: 'root'}) +@Service() export class Router { private get currentUrlTree() { return this.stateManager.getCurrentUrlTree(); diff --git a/packages/router/src/router_config_loader.ts b/packages/router/src/router_config_loader.ts index 10213f45fd53..4666a1582b59 100644 --- a/packages/router/src/router_config_loader.ts +++ b/packages/router/src/router_config_loader.ts @@ -10,13 +10,13 @@ import { Compiler, EnvironmentInjector, inject, - Injectable, InjectionToken, Injector, ɵmaybeUnwrapDefaultExport as maybeUnwrapDefaultExport, NgModuleFactory, ɵresolveComponentResources as resolveComponentResources, runInInjectionContext, + Service, Type, } from '@angular/core'; @@ -39,7 +39,7 @@ export const ROUTES = new InjectionToken( typeof ngDevMode !== 'undefined' && ngDevMode ? 'ROUTES' : '', ); -@Injectable({providedIn: 'root'}) +@Service() export class RouterConfigLoader { private componentLoaders = new WeakMap>>(); private childrenLoaders = new WeakMap>(); diff --git a/packages/router/src/router_preloader.ts b/packages/router/src/router_preloader.ts index 7786b85b652d..0e5b91913621 100644 --- a/packages/router/src/router_preloader.ts +++ b/packages/router/src/router_preloader.ts @@ -6,7 +6,13 @@ * found in the LICENSE file at https://angular.dev/license */ -import {createEnvironmentInjector, EnvironmentInjector, Injectable, OnDestroy} from '@angular/core'; +import { + createEnvironmentInjector, + EnvironmentInjector, + Injectable, + OnDestroy, + Service, +} from '@angular/core'; import {from, Observable, of, Subscription} from 'rxjs'; import {catchError, concatMap, filter, mergeAll, mergeMap} from 'rxjs/operators'; @@ -52,7 +58,7 @@ export abstract class PreloadingStrategy { * * @publicApi */ -@Injectable({providedIn: 'root'}) +@Service() export class PreloadAllModules implements PreloadingStrategy { preload(route: Route, fn: () => Observable): Observable { return fn().pipe(catchError(() => of(null))); @@ -70,7 +76,7 @@ export class PreloadAllModules implements PreloadingStrategy { * * @publicApi */ -@Injectable({providedIn: 'root'}) +@Service() export class NoPreloading implements PreloadingStrategy { preload(route: Route, fn: () => Observable): Observable { return of(null); diff --git a/packages/router/src/statemanager/navigation_state_manager.ts b/packages/router/src/statemanager/navigation_state_manager.ts index 4db2ad85ce04..ad04a1a9350e 100644 --- a/packages/router/src/statemanager/navigation_state_manager.ts +++ b/packages/router/src/statemanager/navigation_state_manager.ts @@ -7,11 +7,11 @@ */ import { afterNextRender, - ɵpromiseWithResolvers as promiseWithResolvers, DestroyRef, EnvironmentInjector, inject, - Injectable, + ɵpromiseWithResolvers as promiseWithResolvers, + Service, } from '@angular/core'; import { @@ -19,12 +19,7 @@ import { PlatformNavigation, ɵPRECOMMIT_HANDLER_SUPPORTED as PRECOMMIT_HANDLER_SUPPORTED, } from '@angular/common'; -import {StateManager} from './state_manager'; -import { - NavigationExtras, - RestoredState, - Navigation as RouterNavigation, -} from '../navigation_transition'; +import {Subject, SubscriptionLike} from 'rxjs'; import { BeforeActivateRoutes, BeforeRoutesRecognized, @@ -38,13 +33,18 @@ import { NavigationTrigger, PrivateRouterEvents, } from '../events'; -import {Subject, SubscriptionLike} from 'rxjs'; -import {UrlTree} from '../url_tree'; +import { + NavigationExtras, + RestoredState, + Navigation as RouterNavigation, +} from '../navigation_transition'; import {ROUTER_SCROLLER} from '../router_scroller'; +import {UrlTree} from '../url_tree'; +import {StateManager} from './state_manager'; type NavigationInfo = {ɵrouterInfo: {intercept: boolean}}; -@Injectable({providedIn: 'root'}) +@Service() /** * A `StateManager` that uses the browser's Navigation API to get the state of a `popstate` * event. diff --git a/packages/router/src/statemanager/state_manager.ts b/packages/router/src/statemanager/state_manager.ts index a8f96f8c8ef7..afecaedae0e0 100644 --- a/packages/router/src/statemanager/state_manager.ts +++ b/packages/router/src/statemanager/state_manager.ts @@ -7,7 +7,7 @@ */ import {Location} from '@angular/common'; -import {EnvironmentInjector, inject, Injectable} from '@angular/core'; +import {EnvironmentInjector, inject, Service} from '@angular/core'; import {SubscriptionLike} from 'rxjs'; import { @@ -29,7 +29,7 @@ import {createEmptyState, RouterState} from '../router_state'; import {UrlHandlingStrategy} from '../url_handling_strategy'; import {UrlSerializer, UrlTree} from '../url_tree'; -@Injectable({providedIn: 'root', useFactory: () => inject(HistoryStateManager)}) +@Service({factory: () => inject(HistoryStateManager)}) export abstract class StateManager { protected readonly urlSerializer = inject(UrlSerializer); private readonly options = inject(ROUTER_CONFIGURATION, {optional: true}) || {}; @@ -163,7 +163,7 @@ export abstract class StateManager { abstract handleRouterEvent(e: Event | PrivateRouterEvents, currentTransition: Navigation): void; } -@Injectable({providedIn: 'root'}) +@Service() export class HistoryStateManager extends StateManager { /** * The id of the currently active page in the router. diff --git a/packages/router/src/url_handling_strategy.ts b/packages/router/src/url_handling_strategy.ts index 1c1c4f5104bb..a820c0eb2d1a 100644 --- a/packages/router/src/url_handling_strategy.ts +++ b/packages/router/src/url_handling_strategy.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.dev/license */ -import {inject, Injectable} from '@angular/core'; +import {inject, Service} from '@angular/core'; import {UrlTree} from './url_tree'; @@ -19,7 +19,7 @@ import {UrlTree} from './url_tree'; * * @publicApi */ -@Injectable({providedIn: 'root', useFactory: () => inject(DefaultUrlHandlingStrategy)}) +@Service({factory: () => inject(DefaultUrlHandlingStrategy)}) export abstract class UrlHandlingStrategy { /** * Tells the router if this URL should be processed. @@ -46,7 +46,7 @@ export abstract class UrlHandlingStrategy { /** * @publicApi */ -@Injectable({providedIn: 'root'}) +@Service() export class DefaultUrlHandlingStrategy implements UrlHandlingStrategy { shouldProcessUrl(url: UrlTree): boolean { return true; diff --git a/packages/router/src/url_tree.ts b/packages/router/src/url_tree.ts index 00a5ea386141..ad72276ef8e0 100644 --- a/packages/router/src/url_tree.ts +++ b/packages/router/src/url_tree.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.dev/license */ -import {computed, Injectable, ɵRuntimeError as RuntimeError, Signal} from '@angular/core'; +import {computed, ɵRuntimeError as RuntimeError, Service, Signal} from '@angular/core'; import {RuntimeErrorCode} from './errors'; import type {Router} from './router'; @@ -417,7 +417,7 @@ export function mapChildrenIntoArray( * * @publicApi */ -@Injectable({providedIn: 'root', useFactory: () => new DefaultUrlSerializer()}) +@Service({factory: () => new DefaultUrlSerializer()}) export abstract class UrlSerializer { /** Parse a url into a `UrlTree` */ abstract parse(url: string): UrlTree; diff --git a/packages/router/testing/src/router_testing_harness.ts b/packages/router/testing/src/router_testing_harness.ts index 27bdc9053a11..7f578f6ba7ab 100644 --- a/packages/router/testing/src/router_testing_harness.ts +++ b/packages/router/testing/src/router_testing_harness.ts @@ -10,7 +10,7 @@ import { ChangeDetectionStrategy, Component, DebugElement, - Injectable, + Service, Type, ViewChild, WritableSignal, @@ -19,7 +19,7 @@ import { import {ComponentFixture, TestBed} from '@angular/core/testing'; import {Router, RouterOutlet, ɵafterNextNavigation as afterNextNavigation} from '../../index'; -@Injectable({providedIn: 'root'}) +@Service() export class RootFixtureService { private fixture?: ComponentFixture; private harness?: RouterTestingHarness; From 729a9130e715a388a15533172cb36514f5b7bc58 Mon Sep 17 00:00:00 2001 From: SkyZeroZx <73321943+SkyZeroZx@users.noreply.github.com> Date: Thu, 16 Apr 2026 10:24:24 -0500 Subject: [PATCH 019/317] docs: add documentation for de-duplicate host directives (cherry picked from commit 307723a352beced70a6a39ef7de95e642ab8948b) --- .../directives/directive-composition-api.md | 124 +++++++++++++++++- adev/src/content/reference/errors/NG8024.md | 51 +++++++ adev/src/content/reference/errors/overview.md | 1 + .../public-api/compiler-cli/error_code.api.md | 2 +- .../src/ngtsc/diagnostics/src/error_code.ts | 2 +- 5 files changed, 171 insertions(+), 9 deletions(-) create mode 100644 adev/src/content/reference/errors/NG8024.md diff --git a/adev/src/content/guide/directives/directive-composition-api.md b/adev/src/content/guide/directives/directive-composition-api.md index f6bda5e07960..d4001f08ac28 100644 --- a/adev/src/content/guide/directives/directive-composition-api.md +++ b/adev/src/content/guide/directives/directive-composition-api.md @@ -98,24 +98,28 @@ When `SpecializedMenuWithTooltip` is used in a template, it creates instances of , `Tooltip`, and `MenuWithTooltip`. Each of these directives' host bindings apply to the host element of `SpecializedMenuWithTooltip`. -```typescript -@Directive({...}) -export class Menu { } +```ts +@Directive({ + /* ... */ +}) +export class Menu {} -@Directive({...}) -export class Tooltip { } +@Directive({ + /* ... */ +}) +export class Tooltip {} // MenuWithTooltip can compose behaviors from multiple other directives @Directive({ hostDirectives: [Tooltip, Menu], }) -export class MenuWithTooltip { } +export class MenuWithTooltip {} // CustomWidget can apply the already-composed behaviors from MenuWithTooltip @Directive({ hostDirectives: [MenuWithTooltip], }) -export class SpecializedMenuWithTooltip { } +export class SpecializedMenuWithTooltip {} ``` ## Host directive semantics @@ -189,3 +193,109 @@ providers. If a component or directive with `hostDirectives` and those host directives both provide the same injection token, the providers defined by class with `hostDirectives` take precedence over providers defined by the host directives. + +### Host directive de-duplication + +When the same directive appears more than once in the resolved host directive tree, it is automatically de-duplicated rather than throwing an error. Two deterministic rules are used to decide which match survives. + +#### Template match takes precedence + +If a directive matches an element once through a **template selector** and also appears as a +**host directive**, Angular keeps only the template match and discards all host directive matches. + +The mental model is that a host directive match represents `Partial` , a partial +application where only the inputs and outputs explicitly listed in `hostDirectives` are exposed, +while a template match represents the full directive with its complete public API. + +```ts +@Directive({selector: '[hoverable]'}) +export class Hoverable {} + +@Component({ + selector: 'app-button', + hostDirectives: [Hoverable], +}) +export class Button {} +``` + +```angular-html + + + +``` + +#### Multiple host directive matches are merged + +If the same directive appears **more than once as a host directive** , for example, when two +directives both declare a common dependency in their `hostDirectives` , Angular merges all +instances into a single directive instance. The input and output mappings from all instances are +combined. + +This resolves the classic [diamond problem](https://en.wikipedia.org/wiki/Multiple_inheritance#The_diamond_problem) in host directive composition: + +```ts +// A shared behavior that both triggers need +@Directive({ + host: { + '[attr.data-trigger-id]': 'triggerId', + }, +}) +export class TriggerRef { + readonly triggerId = `trigger-${crypto.randomUUID()}`; +} + +// Two separate triggers, each declaring TriggerRef as a host directive +@Directive({ + selector: '[popoverTrigger]', + hostDirectives: [TriggerRef], +}) +export class PopoverTrigger { + readonly triggerRef = inject(TriggerRef); +} + +@Directive({ + selector: '[dropdownTrigger]', + hostDirectives: [TriggerRef], +}) +export class DropdownTrigger { + readonly triggerRef = inject(TriggerRef); +} +``` + +```angular-html + + +``` + +HELPFUL: Because Angular produces only one instance of the shared directive, both `PopoverTrigger` +and `DropdownTrigger` receive the same `TriggerRef` instance when they inject it. + +#### Conflicting aliases + +When Angular merges duplicate host directive matches it also merges their input and output mappings. +If two instances of the same host directive expose the **same input or output under different +aliases**, Angular throws an error at compile time ([NG8024](errors/NG8024)) + +```ts +@Directive({ + selector: '[popoverTrigger]', + hostDirectives: [{directive: TriggerRef, inputs: ['triggerId: popoverTriggerId']}], +}) +export class PopoverTrigger {} + +@Directive({ + selector: '[dropdownTrigger]', + hostDirectives: [ + {directive: TriggerRef, inputs: ['triggerId: dropdownTriggerId']}, // different alias! + ], +}) +export class DropdownTrigger {} +``` + +```angular-html + + +``` + +To resolve this, ensure that both paths expose the shared input or output under the same alias, or +do not expose it at all. diff --git a/adev/src/content/reference/errors/NG8024.md b/adev/src/content/reference/errors/NG8024.md new file mode 100644 index 000000000000..bb73480d64a1 --- /dev/null +++ b/adev/src/content/reference/errors/NG8024.md @@ -0,0 +1,51 @@ +# Conflicting Host Directive Binding + +Two or more host directive declarations expose the **same input or output under different aliases**, +making it impossible for Angular to merge the duplicate host directive instances. + +This error arises from the [diamond composition pattern](guide/directives/directive-composition-api#host-directive-de-duplication): +two directives both declare the same shared directive in their `hostDirectives`, but each exposes +one of its bindings under a different alias name. + +```angular-ts +@Directive() +export class Shared { + readonly value = input(''); +} + +@Directive({ + selector: '[dirA]', + hostDirectives: [{directive: Shared, inputs: ['value: aliasA']}], +}) +export class DirA {} + +@Directive({ + selector: '[dirB]', + hostDirectives: [{directive: Shared, inputs: ['value: aliasB']}], // different alias! +}) +export class DirB {} + +@Component({ + selector: 'app-root', + // NG8024: Shared.value is exposed as both "aliasA" (via DirA) and "aliasB" (via DirB). + template: `
    `, + imports: [DirA, DirB], +}) +export class AppComponent {} +``` + +## Debugging the error + +The error message identifies the directive and the input or output that is conflicting. Find every +`hostDirectives` declaration that includes that shared directive and inspect the `inputs` or +`outputs` arrays for the conflicting binding. + +To resolve the error, pick one of the following approaches: + +- **Use the same alias in both places.** Both host directive declarations must expose the binding + under the same public name. +- **Remove the alias from one or both declarations.** If neither declaration needs to expose the + binding to consumers, omit it from the `inputs` or `outputs` arrays entirely. + +See [Host directive de-duplication](guide/directives/directive-composition-api#host-directive-de-duplication) +for more information on how Angular merges duplicate host directives and what constitutes a conflict. diff --git a/adev/src/content/reference/errors/overview.md b/adev/src/content/reference/errors/overview.md index b7cdd5d6b64b..6fc26ddaf3ac 100644 --- a/adev/src/content/reference/errors/overview.md +++ b/adev/src/content/reference/errors/overview.md @@ -59,3 +59,4 @@ | `NG8002` | [Invalid Attribute](errors/NG8002) | | `NG8003` | [Missing Reference Target](errors/NG8003) | | `NG8023` | [Multiple Components Match Same Element](errors/NG8023) | +| `NG8024` | [Conflicting Host Directive Binding](errors/NG8024) | diff --git a/goldens/public-api/compiler-cli/error_code.api.md b/goldens/public-api/compiler-cli/error_code.api.md index 858dbeeb1c26..f0416825e1a9 100644 --- a/goldens/public-api/compiler-cli/error_code.api.md +++ b/goldens/public-api/compiler-cli/error_code.api.md @@ -28,7 +28,7 @@ export enum ErrorCode { CONFIG_FLAT_MODULE_NO_INDEX = 4001, // (undocumented) CONFIG_STRICT_TEMPLATES_IMPLIES_FULL_TEMPLATE_TYPECHECK = 4002, - CONFLICTING_HOST_DIRECTIVE_BINDING = 8024, + CONFLICTING_HOST_DIRECTIVE_BINDING = -8024, CONFLICTING_INPUT_TRANSFORM = 2020, CONFLICTING_LET_DECLARATION = 8017, CONTROL_FLOW_PREVENTING_CONTENT_PROJECTION = 8011, diff --git a/packages/compiler-cli/src/ngtsc/diagnostics/src/error_code.ts b/packages/compiler-cli/src/ngtsc/diagnostics/src/error_code.ts index b64e1901d914..f3ed5bb9764b 100644 --- a/packages/compiler-cli/src/ngtsc/diagnostics/src/error_code.ts +++ b/packages/compiler-cli/src/ngtsc/diagnostics/src/error_code.ts @@ -457,7 +457,7 @@ export enum ErrorCode { /** * Raised when a host directive input/output is exposed multiple times under the same name. */ - CONFLICTING_HOST_DIRECTIVE_BINDING = 8024, + CONFLICTING_HOST_DIRECTIVE_BINDING = -8024, /** * A two way binding in a template has an incorrect syntax, From 17a226d25d99450fe666bd473b103f668b80de07 Mon Sep 17 00:00:00 2001 From: SkyZeroZx <73321943+SkyZeroZx@users.noreply.github.com> Date: Fri, 1 May 2026 18:40:17 -0500 Subject: [PATCH 020/317] docs(docs-infra): use signals & improve types Use signals to avoid markForCheck. Simplify takeUntilDestroyed usage by relying on implicit DestroyRef. Improve type safety by typing inject(ElementRef). (cherry picked from commit a0b998e2935d7af161434aafbeb1419f905fbeaa) --- .../components/search-dialog/BUILD.bazel | 1 + .../search-dialog/search-dialog.component.ts | 5 +++-- .../components/search-history/BUILD.bazel | 1 + .../search-history/search-history.component.ts | 4 ++-- .../external-link/external-link.directive.ts | 2 +- .../search-item/search-item.directive.ts | 2 +- adev/shared-docs/pipes/relative-link.pipe.ts | 14 ++------------ adev/shared-docs/utils/url.utils.ts | 17 +++++++++++++++++ .../layout/navigation/navigation.component.ts | 9 ++++----- .../secondary-navigation.component.ts | 11 +++++------ .../playground/playground.component.html | 4 ++-- .../features/playground/playground.component.ts | 7 ++----- .../features/tutorial/tutorial.component.html | 4 ++-- .../app/features/tutorial/tutorial.component.ts | 7 ++----- 14 files changed, 45 insertions(+), 43 deletions(-) diff --git a/adev/shared-docs/components/search-dialog/BUILD.bazel b/adev/shared-docs/components/search-dialog/BUILD.bazel index 66335a6d2f89..24ad709978d5 100644 --- a/adev/shared-docs/components/search-dialog/BUILD.bazel +++ b/adev/shared-docs/components/search-dialog/BUILD.bazel @@ -29,6 +29,7 @@ ng_project( "//adev/shared-docs/pipes", "//adev/shared-docs/providers", "//adev/shared-docs/services", + "//adev/shared-docs/utils", ], ) diff --git a/adev/shared-docs/components/search-dialog/search-dialog.component.ts b/adev/shared-docs/components/search-dialog/search-dialog.component.ts index b112de1c8a1e..947d82f998a1 100644 --- a/adev/shared-docs/components/search-dialog/search-dialog.component.ts +++ b/adev/shared-docs/components/search-dialog/search-dialog.component.ts @@ -32,6 +32,7 @@ import {RelativeLink} from '../../pipes'; import {AlgoliaIcon} from '../algolia-icon/algolia-icon.component'; import {SearchHistoryComponent} from '../search-history/search-history.component'; import {TextField} from '../text-field/text-field.component'; +import {getRelativeUrl} from '../../utils'; @Component({ selector: 'docs-search-dialog', @@ -55,7 +56,7 @@ export class SearchDialog { readonly history = inject(SearchHistory); private readonly search = inject(Search); - private readonly relativeLink = new RelativeLink(); + private readonly router = inject(Router); private readonly window = inject(WINDOW); private readonly injector = inject(Injector); @@ -120,7 +121,7 @@ export class SearchDialog { return; } - this.router.navigateByUrl(this.relativeLink.transform(activeItemLink)); + this.router.navigateByUrl(getRelativeUrl(activeItemLink)); this.onClose.emit(); } } diff --git a/adev/shared-docs/components/search-history/BUILD.bazel b/adev/shared-docs/components/search-history/BUILD.bazel index 67e58bd31bed..8e728f3249fb 100644 --- a/adev/shared-docs/components/search-history/BUILD.bazel +++ b/adev/shared-docs/components/search-history/BUILD.bazel @@ -28,6 +28,7 @@ ng_project( "//adev/shared-docs/directives", "//adev/shared-docs/pipes", "//adev/shared-docs/services", + "//adev/shared-docs/utils", ], ) diff --git a/adev/shared-docs/components/search-history/search-history.component.ts b/adev/shared-docs/components/search-history/search-history.component.ts index 0443abb29a71..4830df053fe7 100644 --- a/adev/shared-docs/components/search-history/search-history.component.ts +++ b/adev/shared-docs/components/search-history/search-history.component.ts @@ -23,6 +23,7 @@ import {Router, RouterLink} from '@angular/router'; import {SearchItem} from '../../directives'; import {RelativeLink} from '../../pipes'; import {SearchHistory} from '../../services'; +import {getRelativeUrl} from '../../utils'; @Component({ selector: 'docs-search-history', @@ -41,7 +42,6 @@ export class SearchHistoryComponent { private readonly injector = inject(Injector); private readonly router = inject(Router); - private readonly relativeLink = new RelativeLink(); private readonly keyManager = new ActiveDescendantKeyManager( this.items, this.injector, @@ -99,7 +99,7 @@ export class SearchHistoryComponent { const activeItemLink = this.keyManager.activeItem?.item()?.url; if (activeItemLink) { - const url = this.relativeLink.transform(activeItemLink); + const url = getRelativeUrl(activeItemLink); this.router.navigateByUrl(url); } } diff --git a/adev/shared-docs/directives/external-link/external-link.directive.ts b/adev/shared-docs/directives/external-link/external-link.directive.ts index 349befe123fd..7c455c8d7fd1 100644 --- a/adev/shared-docs/directives/external-link/external-link.directive.ts +++ b/adev/shared-docs/directives/external-link/external-link.directive.ts @@ -22,7 +22,7 @@ import {isExternalLink} from '../../utils/index'; }, }) export class ExternalLink { - private readonly anchor: ElementRef = inject(ElementRef); + private readonly anchor = inject>(ElementRef); private readonly platformId = inject(PLATFORM_ID); target?: '_blank' | '_self' | '_parent' | '_top' | ''; diff --git a/adev/shared-docs/directives/search-item/search-item.directive.ts b/adev/shared-docs/directives/search-item/search-item.directive.ts index d577c0712294..1e7280747654 100644 --- a/adev/shared-docs/directives/search-item/search-item.directive.ts +++ b/adev/shared-docs/directives/search-item/search-item.directive.ts @@ -23,7 +23,7 @@ export class SearchItem implements Highlightable { readonly item = input(); - private readonly elementRef = inject(ElementRef); + private readonly elementRef = inject>(ElementRef); private _isActive = signal(false); diff --git a/adev/shared-docs/pipes/relative-link.pipe.ts b/adev/shared-docs/pipes/relative-link.pipe.ts index 7c491ff22e35..19e84e86187a 100644 --- a/adev/shared-docs/pipes/relative-link.pipe.ts +++ b/adev/shared-docs/pipes/relative-link.pipe.ts @@ -7,21 +7,11 @@ */ import {Pipe, PipeTransform} from '@angular/core'; -import {normalizePath, removeTrailingSlash} from '../utils/index'; +import {getRelativeUrl} from '../utils/index'; @Pipe({ name: 'relativeLink', }) export class RelativeLink implements PipeTransform { - transform(absoluteUrl: string, result: 'relative' | 'pathname' | 'hash' = 'relative'): string { - const url = new URL(normalizePath(absoluteUrl)); - - if (result === 'hash') { - return url.hash?.substring(1) ?? ''; - } - if (result === 'pathname') { - return `${removeTrailingSlash(normalizePath(url.pathname))}`; - } - return `${removeTrailingSlash(normalizePath(url.pathname))}${url.hash ?? ''}`; - } + transform = getRelativeUrl; } diff --git a/adev/shared-docs/utils/url.utils.ts b/adev/shared-docs/utils/url.utils.ts index 14bee4d5411c..003620bfa382 100644 --- a/adev/shared-docs/utils/url.utils.ts +++ b/adev/shared-docs/utils/url.utils.ts @@ -6,6 +6,23 @@ * found in the LICENSE file at https://angular.dev/license */ +import {normalizePath} from './navigation.utils'; + +export function getRelativeUrl( + absoluteUrl: string, + result: 'relative' | 'pathname' | 'hash' = 'relative', +): string { + const url = new URL(normalizePath(absoluteUrl)); + + if (result === 'hash') { + return url.hash?.substring(1) ?? ''; + } + if (result === 'pathname') { + return `${removeTrailingSlash(normalizePath(url.pathname))}`; + } + return `${removeTrailingSlash(normalizePath(url.pathname))}${url.hash ?? ''}`; +} + export const removeTrailingSlash = (url: string): string => { if (url.endsWith('/')) { return url.slice(0, -1); diff --git a/adev/src/app/core/layout/navigation/navigation.component.ts b/adev/src/app/core/layout/navigation/navigation.component.ts index e5e3bd2dffaa..e411c2c385dd 100644 --- a/adev/src/app/core/layout/navigation/navigation.component.ts +++ b/adev/src/app/core/layout/navigation/navigation.component.ts @@ -9,7 +9,7 @@ import {CdkMenu, CdkMenuItem, CdkMenuTrigger} from '@angular/cdk/menu'; import {ConnectionPositionPair} from '@angular/cdk/overlay'; import {DOCUMENT, Location, isPlatformBrowser} from '@angular/common'; -import {Component, DestroyRef, PLATFORM_ID, inject, signal} from '@angular/core'; +import {Component, PLATFORM_ID, inject, signal} from '@angular/core'; import {takeUntilDestroyed, toObservable} from '@angular/core/rxjs-interop'; import { ClickOutside, @@ -38,7 +38,6 @@ type MenuType = 'social' | 'theme-picker' | 'version-picker'; styleUrls: ['./navigation.component.scss', './mini-menu.scss', './nav-item.scss'], }) export class Navigation { - private readonly destroyRef = inject(DestroyRef); private readonly document = inject(DOCUMENT); private readonly isBrowser = isPlatformBrowser(inject(PLATFORM_ID)); private readonly navigationState = inject(NavigationState); @@ -134,7 +133,7 @@ export class Navigation { } private closeMobileNavOnPrimaryRouteChange(): void { - this.primaryRouteChanged$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => { + this.primaryRouteChanged$.pipe(takeUntilDestroyed()).subscribe(() => { this.closeMobileNav(); }); } @@ -146,7 +145,7 @@ export class Navigation { map((event) => (event as NavigationEnd).urlAfterRedirects), ) .pipe( - takeUntilDestroyed(this.destroyRef), + takeUntilDestroyed(), //using location because router.url will only return "/" here startWith(this.location.path()), ) @@ -189,7 +188,7 @@ export class Navigation { } private preventToScrollContentWhenSecondaryNavIsOpened(): void { - this.isMobileNavigationOpened$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((opened) => { + this.isMobileNavigationOpened$.pipe(takeUntilDestroyed()).subscribe((opened) => { if (opened) { this.document.body.style.overflowY = 'hidden'; } else { diff --git a/adev/src/app/core/layout/secondary-navigation/secondary-navigation.component.ts b/adev/src/app/core/layout/secondary-navigation/secondary-navigation.component.ts index 25de7fec2faf..0221bfcf87fe 100644 --- a/adev/src/app/core/layout/secondary-navigation/secondary-navigation.component.ts +++ b/adev/src/app/core/layout/secondary-navigation/secondary-navigation.component.ts @@ -7,7 +7,7 @@ */ import {isPlatformBrowser} from '@angular/common'; -import {Component, DestroyRef, PLATFORM_ID, computed, inject, signal} from '@angular/core'; +import {Component, PLATFORM_ID, computed, inject, signal} from '@angular/core'; import {takeUntilDestroyed, toObservable} from '@angular/core/rxjs-interop'; import { ClickOutside, @@ -35,7 +35,6 @@ export const ANIMATION_DURATION = 500; styleUrls: ['./secondary-navigation.component.scss'], }) export class SecondaryNavigation { - private readonly destroyRef = inject(DestroyRef); private readonly navigationState = inject(NavigationState); private readonly platformId = inject(PLATFORM_ID); private readonly router = inject(Router); @@ -69,15 +68,15 @@ export class SecondaryNavigation { private readonly primaryActiveRouteChanged$ = toObservable(this.primaryActiveRouteItem).pipe( distinctUntilChanged(), - takeUntilDestroyed(this.destroyRef), + takeUntilDestroyed(), ); private readonly urlAfterRedirects$ = this.router.events.pipe( filter((event) => event instanceof NavigationEnd), - map((event) => (event as NavigationEnd).urlAfterRedirects), - filter((url): url is string => url !== undefined), + map((event) => event.urlAfterRedirects), + filter((url) => url !== undefined), startWith(this.getInitialPath(this.router.routerState.snapshot)), - takeUntilDestroyed(this.destroyRef), + takeUntilDestroyed(), ); constructor() { diff --git a/adev/src/app/features/playground/playground.component.html b/adev/src/app/features/playground/playground.component.html index a16267e43b3f..27ad5a887d5f 100644 --- a/adev/src/app/features/playground/playground.component.html +++ b/adev/src/app/features/playground/playground.component.html @@ -10,9 +10,9 @@

    Angular Playground

    -@if (embeddedEditorComponent) { +@if (embeddedEditorComponent()) {
    - +
    } diff --git a/adev/src/app/features/playground/playground.component.ts b/adev/src/app/features/playground/playground.component.ts index e921cc603f86..178423db2d86 100644 --- a/adev/src/app/features/playground/playground.component.ts +++ b/adev/src/app/features/playground/playground.component.ts @@ -9,7 +9,6 @@ import {CdkMenu, CdkMenuItem, CdkMenuTrigger} from '@angular/cdk/menu'; import {isPlatformServer, NgComponentOutlet} from '@angular/common'; import { - ChangeDetectorRef, Component, DestroyRef, effect, @@ -40,7 +39,6 @@ import PLAYGROUND_ROUTE_DATA_JSON from '../../../../src/assets/tutorials/playgro export default class PlaygroundComponent { readonly templateId = input(); - private readonly changeDetectorRef = inject(ChangeDetectorRef); private readonly environmentInjector = inject(EnvironmentInjector); private readonly destroyRef = inject(DestroyRef); private readonly isServer = isPlatformServer(inject(PLATFORM_ID)); @@ -56,7 +54,7 @@ export default class PlaygroundComponent { readonly starterTemplate = PLAYGROUND_ROUTE_DATA_JSON.starterTemplate; protected nodeRuntimeSandbox?: NodeRuntimeSandbox; - protected embeddedEditorComponent?: Type; + protected embeddedEditorComponent = signal | null>(null); protected selectedTemplate: PlaygroundTemplate = this.defaultTemplate; private readonly isSandboxReady = signal(false); @@ -80,13 +78,12 @@ export default class PlaygroundComponent { .pipe( tap(({nodeRuntimeSandbox, embeddedEditorComponent}) => { this.nodeRuntimeSandbox = nodeRuntimeSandbox; - this.embeddedEditorComponent = embeddedEditorComponent; + this.embeddedEditorComponent.set(embeddedEditorComponent); }), switchMap(() => this.loadTemplate(this.selectedTemplate.path)), takeUntilDestroyed(this.destroyRef), ) .subscribe(() => { - this.changeDetectorRef.markForCheck(); this.nodeRuntimeSandbox?.init(); this.isSandboxReady.set(true); }); diff --git a/adev/src/app/features/tutorial/tutorial.component.html b/adev/src/app/features/tutorial/tutorial.component.html index 1da8a56683f8..c6547465da94 100644 --- a/adev/src/app/features/tutorial/tutorial.component.html +++ b/adev/src/app/features/tutorial/tutorial.component.html @@ -28,9 +28,9 @@ @if (shouldRenderEmbeddedEditor()) {
    - @if (embeddedEditorComponent) { + @if (embeddedEditorComponent()) { }
    diff --git a/adev/src/app/features/tutorial/tutorial.component.ts b/adev/src/app/features/tutorial/tutorial.component.ts index c32612781fa9..507c20dfbe0e 100644 --- a/adev/src/app/features/tutorial/tutorial.component.ts +++ b/adev/src/app/features/tutorial/tutorial.component.ts @@ -9,7 +9,6 @@ import {isPlatformBrowser, NgComponentOutlet, NgTemplateOutlet} from '@angular/common'; import { afterNextRender, - ChangeDetectorRef, Component, computed, DestroyRef, @@ -71,7 +70,6 @@ export default class Tutorial { readonly resizer = viewChild.required>('resizer'); readonly revealAnswerButton = viewChild>('revealAnswerButton'); - private readonly changeDetectorRef = inject(ChangeDetectorRef); private readonly environmentInjector = inject(EnvironmentInjector); private readonly elementRef = inject(ElementRef); private readonly embeddedTutorialManager = inject(EmbeddedTutorialManager); @@ -97,7 +95,7 @@ export default class Tutorial { nextStepPath: string | undefined; previousStepPath: string | undefined; - embeddedEditorComponent?: Type; + embeddedEditorComponent = signal | null>(null); canRevealAnswer: Signal = signal(false); readonly answerRevealed = signal(false); @@ -128,8 +126,7 @@ export default class Tutorial { from(this.loadEmbeddedEditorComponent()) .pipe(takeUntilDestroyed(destroyRef)) .subscribe((editorComponent) => { - this.embeddedEditorComponent = editorComponent; - this.changeDetectorRef.markForCheck(); + this.embeddedEditorComponent.set(editorComponent); }); }); } From b099fce606ca8b3844833d882a95eedc5c484324 Mon Sep 17 00:00:00 2001 From: Michael Small <33669563+michael-small@users.noreply.github.com> Date: Sat, 2 May 2026 18:21:45 -0500 Subject: [PATCH 021/317] docs: fix signal forms async validator typings docs: add response types for form async `onSuccess` docs: set defined fallback for async validator params docs: replace `this.` w/`const` docs: give fallback string for form async validators docs: replace `onError` overwritten by `onSuccess` docs: use `undefined!` for now w/async validators chore: lint form's `async-operations.md` (cherry picked from commit 89ee8a81621d6bf1b97cc40cc052f2504629af35) --- .../guide/forms/signals/async-operations.md | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/adev/src/content/guide/forms/signals/async-operations.md b/adev/src/content/guide/forms/signals/async-operations.md index fab01f32a5fb..a0542c948945 100644 --- a/adev/src/content/guide/forms/signals/async-operations.md +++ b/adev/src/content/guide/forms/signals/async-operations.md @@ -53,7 +53,7 @@ export class Registration { const username = value(); return username ? `/api/users/check?username=${username}` : undefined; }, - onSuccess: (response) => { + onSuccess: (response: {available: boolean}) => { return response.available ? null : { @@ -114,7 +114,7 @@ export class Registration { return `/api/users/check?username=${username}`; }, - onSuccess: (response, {value}) => { + onSuccess: (response: {available: boolean}, {value}) => { if (response.available) { // Cache successful validations this.validatedUsernames.add(value()); @@ -149,7 +149,7 @@ request: ({value}) => ({ The `onSuccess` function receives the HTTP response and returns validation errors or `undefined` for valid values: ```ts -onSuccess: (response) => { +onSuccess: (response: { valid: boolean; message?: string }) => { if (response.valid) return undefined; return { @@ -162,7 +162,7 @@ onSuccess: (response) => { Return multiple errors when needed: ```ts -onSuccess: (response) => { +onSuccess: (response: { usernameTaken: boolean; profanity: boolean }) => { const errors = []; if (response.usernameTaken) { errors.push({ @@ -207,7 +207,7 @@ validateHttp(schemaPath.field, { }), timeout: 5000, }, - onSuccess: (response) => + onSuccess: (response: {valid: boolean}) => response.valid ? null : { @@ -281,7 +281,7 @@ export class Registration { validateAsync(schemaPath.username, { params: ({value}) => { const username = value(); - return username.length >= 3 ? username : undefined; + return username.length >= 3 ? username : undefined!; }, factory: this.createUsernameResource, onSuccess: (result) => { @@ -390,7 +390,7 @@ export class Registration { // Skip the request for blank values return username ? `/api/users/check?username=${username}` : undefined; }, - onSuccess: (response) => + onSuccess: (response: {available: boolean}) => response.available ? null : {kind: 'usernameTaken', message: 'Username is already taken'}, onError: () => ({ kind: 'serverError', @@ -447,7 +447,7 @@ const shorterWhenLonger: Debouncer = ({value}, abortSignal) => { }); }; -form(this.registrationModel, (schemaPath) => { +const registrationForm = form(registrationModel, (schemaPath) => { debounce(schemaPath.username, shorterWhenLonger); }); ``` @@ -468,7 +468,7 @@ form(this.registrationModel, (schemaPath) => { // Skip the request for blank values return username ? `/api/users/check?username=${username}` : undefined; }, - onSuccess: (response) => + onSuccess: (response: {available: boolean}) => response.available ? null : {kind: 'usernameTaken', message: 'Username is already taken'}, onError: () => ({ kind: 'serverError', @@ -512,7 +512,7 @@ export class Registration { params: ({value}) => { const username = value(); // Skip validation for short usernames - return username.length >= 3 ? username : undefined; + return username.length >= 3 ? username : undefined!; }, debounce: 300, // Reference to the factory defined above @@ -627,7 +627,7 @@ form(model, (schemaPath) => { // 2. This async validation rule only runs if synchronous validation passes validateHttp(schemaPath.username, { request: ({value}) => `/api/check?username=${value()}`, - onSuccess: (result) => + onSuccess: (result: {valid: boolean}) => result.valid ? null : { @@ -665,7 +665,7 @@ form(model, (schemaPath) => { // Then check availability validateHttp(schemaPath.email, { request: ({value}) => `/api/emails/check?email=${value()}`, - onSuccess: (result) => + onSuccess: (result: {available: boolean}) => result.available ? null : { @@ -695,7 +695,7 @@ validateHttp(schemaPath.username, { return `/api/users/check?username=${username}`; }, - onSuccess: (result) => + onSuccess: (result: {valid: boolean}) => result.valid ? null : { @@ -718,7 +718,7 @@ import {validateHttp} from '@angular/forms/signals'; validateHttp(schemaPath.field, { request: ({value}) => `/api/validate?field=${value()}`, - onSuccess: (result) => { + onSuccess: (result: {valid: boolean; message?: string}) => { if (result.valid) return null; // Use server message when available return { From 8ebae1de330729f945391283e25661aada11b4ed Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Fri, 8 May 2026 09:24:37 +0200 Subject: [PATCH 022/317] fix(core): allow service with factory on abstract classes Fixes that setting a `@Service` with a `factory` on an abstract class was resulting in a compilation error. (cherry picked from commit c72ebcb1ad71c99bd1daa82e6448c7d70506b8b3) --- goldens/public-api/core/index.api.md | 2 +- packages/core/src/di/service.ts | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/goldens/public-api/core/index.api.md b/goldens/public-api/core/index.api.md index d199d5fb8f19..ea94f87e4149 100644 --- a/goldens/public-api/core/index.api.md +++ b/goldens/public-api/core/index.api.md @@ -1815,7 +1815,7 @@ export interface ServiceDecorator { (options: { autoProvided?: true; factory: () => T; - }): >(target: C) => Type; + }): | AbstractType>(target: C) => C extends Type ? Type : abstract new (...args: any[]) => T; (options?: { autoProvided?: true; }): TypeDecorator; diff --git a/packages/core/src/di/service.ts b/packages/core/src/di/service.ts index 3588d5dfc416..30ea651b1de9 100644 --- a/packages/core/src/di/service.ts +++ b/packages/core/src/di/service.ts @@ -6,7 +6,7 @@ * found in the LICENSE file at https://angular.dev/license */ -import {Type} from '../interface/type'; +import {AbstractType, Type} from '../interface/type'; import {makeDecorator, TypeDecorator} from '../util/decorators'; import {compileService} from './jit/service'; @@ -39,7 +39,9 @@ export interface ServiceDecorator { (options: { autoProvided?: true; factory: () => T; - }): >(target: C) => Type; + }): | AbstractType>( + target: C, + ) => C extends Type ? Type : abstract new (...args: any[]) => T; /** * Creates a service that is automatically provided. From 2a19754c59fcf92c1d98a04bd05569056f2f556c Mon Sep 17 00:00:00 2001 From: Matthew Beck Date: Fri, 8 May 2026 08:19:02 -0700 Subject: [PATCH 023/317] release: cut the v22.0.0-next.12 release --- CHANGELOG.md | 18 ++++++++++++++++++ package.json | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cc6cfbec3874..867c1ce9d4cf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,21 @@ +
    +# 22.0.0-next.12 (2026-05-08) +### core +| Commit | Type | Description | +| -- | -- | -- | +| [8ebae1de33](https://github.com/angular/angular/commit/8ebae1de330729f945391283e25661aada11b4ed) | fix | allow service with factory on abstract classes | +| [6f525245cd](https://github.com/angular/angular/commit/6f525245cd97a934b2b5ea888ee9d52c26c58cb5) | fix | disallow event attribute bindings in host bindings unconditionally | +### migrations +| Commit | Type | Description | +| -- | -- | -- | +| [0f2160c410](https://github.com/angular/angular/commit/0f2160c4105a53ef6488d2c799dda9c0959ce7dc) | fix | remove compiler import from safe optional chaining migration | +### platform-server +| Commit | Type | Description | +| -- | -- | -- | +| [a451a1d66e](https://github.com/angular/angular/commit/a451a1d66ee4bf52b24b06dc9d35a7b7ae7b7eb5) | fix | add `allowedHosts` option to `renderModule` and `renderApplication` | + + + # 22.0.0-next.11 (2026-05-06) ## Breaking Changes diff --git a/package.json b/package.json index 99de72a50d9c..6173a853102e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "angular-srcs", - "version": "22.0.0-next.11", + "version": "22.0.0-next.12", "private": true, "description": "Angular - a web framework for modern web apps", "homepage": "https://github.com/angular/angular", From ebb8537cf1e8a1cb3bac83011aba1b2dae58fb3e Mon Sep 17 00:00:00 2001 From: Alan Agius <17563226+alan-agius4@users.noreply.github.com> Date: Fri, 8 May 2026 11:49:02 +0000 Subject: [PATCH 024/317] docs: remove note regarding lack of support for ng test --debug in browser mode This is no longer the case. Closes #68621 (cherry picked from commit b3de3af0ddc6d3ede5263e962b440df3e317c164) --- adev/src/content/guide/testing/migrating-to-vitest.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/adev/src/content/guide/testing/migrating-to-vitest.md b/adev/src/content/guide/testing/migrating-to-vitest.md index 082c2d1fca33..095d67d0af89 100644 --- a/adev/src/content/guide/testing/migrating-to-vitest.md +++ b/adev/src/content/guide/testing/migrating-to-vitest.md @@ -132,8 +132,6 @@ Add the `browsers` option to your `test` target's options. The browser name depe Headless mode is enabled automatically if the `CI` environment variable is set or if a browser name includes "Headless" (e.g., `ChromeHeadless`). Otherwise, tests will run in a headed browser. -NOTE: Debugging with `ng test --debug` is not supported by browser mode. - ## Automated test refactoring with schematics IMPORTANT: The `refactor-jasmine-vitest` schematic is experimental and may not cover all possible test patterns. Always review the changes made by the schematic. From 0d02c6a07fef3b123486fd8b5339f7fffdbf23ac Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 8 May 2026 13:04:01 +0000 Subject: [PATCH 025/317] build: update dependency bazel to v8.7.0 See associated pull request for more information. --- .bazelversion | 2 +- MODULE.bazel.lock | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.bazelversion b/.bazelversion index acd405b1d62e..df5119ec64e6 100644 --- a/.bazelversion +++ b/.bazelversion @@ -1 +1 @@ -8.6.0 +8.7.0 diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 530f84d5dae2..945312c64874 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -218,7 +218,7 @@ "moduleExtensions": { "@@aspect_rules_esbuild+//esbuild:extensions.bzl%esbuild": { "general": { - "bzlTransitiveDigest": "DRpOrf9PyrUmbPOhx+XiFomy+ty8fxL9+fGs6LFadYw=", + "bzlTransitiveDigest": "yEdNDVnymA4zAhL3PLavB/cRtK1c5FZ3PMxhjTrwbBw=", "usagesDigest": "6We6zwGoawD9YXqMI0KPaxEKJTnamXBsuOekhFS2D40=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, @@ -433,7 +433,7 @@ }, "@@aspect_rules_ts+//ts:extensions.bzl%ext": { "general": { - "bzlTransitiveDigest": "cqZ07zAB92ofKybw48WmPNKyNQHaGZ7YVkj1SNs+f7c=", + "bzlTransitiveDigest": "oXZdaO5AFNj463wHR4NRAWU9XCc9wkl3rcZxqQoNWHQ=", "usagesDigest": "8mf2+xwO+CO397XBbbqOVFqyfTb2jWbfICPzgzPbSEk=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, @@ -531,7 +531,7 @@ }, "@@pybind11_bazel+//:python_configure.bzl%extension": { "general": { - "bzlTransitiveDigest": "D2/qWHU6yQFwRG7Bb+caqrYMha5avsASao2vERrxK24=", + "bzlTransitiveDigest": "VhEtmxw1yzb9rBZVsKTdti7p+nDM/Fv1p9TmKdO45+Q=", "usagesDigest": "fycyB39YnXIJkfWCIXLUKJMZzANcuLy9ZE73hRucjFk=", "recordedFileInputs": { "@@pybind11_bazel+//MODULE.bazel": "88af1c246226d87e65be78ed49ecd1e6f5e98648558c14ce99176da041dc378e" @@ -803,7 +803,7 @@ }, "@@rules_fuzzing+//fuzzing/private:extensions.bzl%non_module_dependencies": { "general": { - "bzlTransitiveDigest": "4LouzhF/yT117s7peGnNs9ROomiJXC6Zl5R0oI21jho=", + "bzlTransitiveDigest": "CYUiFDCnL2VGx3uotIu/VuGabgObnZra2zzRUJCX0sU=", "usagesDigest": "wy6ISK6UOcBEjj/mvJ/S3WeXoO67X+1llb9yPyFtPgc=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, @@ -886,7 +886,7 @@ }, "@@rules_kotlin+//src/main/starlark/core/repositories:bzlmod_setup.bzl%rules_kotlin_extensions": { "general": { - "bzlTransitiveDigest": "nvW/NrBXlAmiQw99EMGKkLaD2KbNp2mQDlxdfpr+0Ls=", + "bzlTransitiveDigest": "03Qju4tW0vE+0RBuZGuV2A4Hx6AiSkdNahYvworx2aM=", "usagesDigest": "QI2z8ZUR+mqtbwsf2fLqYdJAkPOHdOV+tF2yVAUgRzw=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, @@ -1372,7 +1372,7 @@ }, "@@rules_python+//python/extensions:pip.bzl%pip": { "general": { - "bzlTransitiveDigest": "WViZ5k1A9F8R5wfEe2ArLMFS1g9UmgfbS8Q/7q1/z7o=", + "bzlTransitiveDigest": "weEvgIUjy7e5WRM5OvjzsfGuVlHNMpaVlfYXco8WUIk=", "usagesDigest": "/9NP3RV6/DWuNdYAsIU/8UCgCX0TdPUJr0X6O+0lrtk=", "recordedFileInputs": { "@@protobuf+//python/requirements.txt": "983be60d3cec4b319dcab6d48aeb3f5b2f7c3350f26b3a9e97486c37967c73c5", From 1d621ead2f440ecea6c28560b6288189d2e3fde7 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 8 May 2026 13:02:42 +0000 Subject: [PATCH 026/317] build: update pnpm to v10.33.4 See associated pull request for more information. --- MODULE.bazel | 4 ++-- integration/animations/package.json | 2 +- integration/cli-hello-world-ivy-i18n/package.json | 2 +- integration/cli-hello-world-lazy/package.json | 2 +- integration/cli-hello-world/package.json | 2 +- integration/cli-signal-inputs/package.json | 2 +- integration/defer/package.json | 2 +- integration/legacy-animations-async/package.json | 2 +- integration/legacy-animations/package.json | 2 +- integration/ng-add-localize/package.json | 2 +- integration/ng_elements/package.json | 2 +- integration/ng_update/package.json | 2 +- integration/no_ts_linker/package.json | 2 +- integration/nodenext_resolution/package.json | 2 +- integration/platform-server-hydration/package.json | 2 +- integration/platform-server-zoneless/package.json | 2 +- integration/platform-server/package.json | 2 +- integration/service-worker-schema/package.json | 2 +- integration/standalone-bootstrap/package.json | 2 +- integration/terser/package.json | 2 +- integration/trusted-types/package.json | 2 +- integration/typings_test_rxjs7/package.json | 2 +- integration/typings_test_ts60/package.json | 2 +- package.json | 4 ++-- pnpm-lock.yaml | 10 +++++++--- 25 files changed, 33 insertions(+), 29 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index e8caf7c5a367..d256c4fdfd50 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -71,8 +71,8 @@ use_repo(node, "nodejs_windows_amd64") pnpm = use_extension("@aspect_rules_js//npm:extensions.bzl", "pnpm") pnpm.pnpm( name = "pnpm", - pnpm_version = "10.33.2", - pnpm_version_integrity = "sha512-qQ+vb+6rca1sblf5Tg/hoS9dzCLNdU20CulZPraj4LaxLjVAIYuzeuCDQEsfLObbKkEh6XmCm0r/lLmfSdoc+A==", + pnpm_version = "10.33.4", + pnpm_version_integrity = "sha512-HGezs1my1AgRm6HtKJ80uPw8aHNBK+xv0mT73IJInlEPy+y5zp0i2ufzt2Jp2EQQRgFL3KU7mXnNelYa1jG4AA==", ) use_repo(pnpm, "pnpm") diff --git a/integration/animations/package.json b/integration/animations/package.json index c4487a6dc7ad..407374dd9c90 100644 --- a/integration/animations/package.json +++ b/integration/animations/package.json @@ -38,5 +38,5 @@ "ts-node": "^10.9.1", "typescript": "6.0.3" }, - "packageManager": "pnpm@10.33.2" + "packageManager": "pnpm@10.33.4" } diff --git a/integration/cli-hello-world-ivy-i18n/package.json b/integration/cli-hello-world-ivy-i18n/package.json index 9c327eaf8cab..bced5bfd7d7b 100644 --- a/integration/cli-hello-world-ivy-i18n/package.json +++ b/integration/cli-hello-world-ivy-i18n/package.json @@ -45,5 +45,5 @@ "ts-node": "^10.9.1", "typescript": "6.0.3" }, - "packageManager": "pnpm@10.33.2" + "packageManager": "pnpm@10.33.4" } diff --git a/integration/cli-hello-world-lazy/package.json b/integration/cli-hello-world-lazy/package.json index 3aa584d37597..4bbbd08b1387 100644 --- a/integration/cli-hello-world-lazy/package.json +++ b/integration/cli-hello-world-lazy/package.json @@ -27,5 +27,5 @@ "ts-node": "^10.9.1", "typescript": "6.0.3" }, - "packageManager": "pnpm@10.33.2" + "packageManager": "pnpm@10.33.4" } diff --git a/integration/cli-hello-world/package.json b/integration/cli-hello-world/package.json index 7bfbc268adfd..6f6cc083c5b9 100644 --- a/integration/cli-hello-world/package.json +++ b/integration/cli-hello-world/package.json @@ -32,5 +32,5 @@ "ts-node": "^10.9.1", "typescript": "6.0.3" }, - "packageManager": "pnpm@10.33.2" + "packageManager": "pnpm@10.33.4" } diff --git a/integration/cli-signal-inputs/package.json b/integration/cli-signal-inputs/package.json index b0c9f25e0191..c4621c319a70 100644 --- a/integration/cli-signal-inputs/package.json +++ b/integration/cli-signal-inputs/package.json @@ -10,7 +10,7 @@ "lint": "ng lint", "e2e": "ng build --configuration production && concurrently \"serve dist/browser -l 4210 --no-clipboard --single\" \"protractor e2e/protractor.conf.js --baseUrl=http://localhost:4210\" --kill-others --success first" }, - "packageManager": "pnpm@10.33.2", + "packageManager": "pnpm@10.33.4", "private": true, "dependencies": { "@angular/animations": "link:./in-existing-linked-by-bazel", diff --git a/integration/defer/package.json b/integration/defer/package.json index 5c93072bfa75..75866a6386a3 100644 --- a/integration/defer/package.json +++ b/integration/defer/package.json @@ -30,5 +30,5 @@ "ts-node": "10.9.2", "typescript": "6.0.3" }, - "packageManager": "pnpm@10.33.2" + "packageManager": "pnpm@10.33.4" } diff --git a/integration/legacy-animations-async/package.json b/integration/legacy-animations-async/package.json index 2e4f7e1ecd9d..d30ac0913464 100644 --- a/integration/legacy-animations-async/package.json +++ b/integration/legacy-animations-async/package.json @@ -30,5 +30,5 @@ "ts-node": "^10.9.1", "typescript": "6.0.3" }, - "packageManager": "pnpm@10.33.2" + "packageManager": "pnpm@10.33.4" } diff --git a/integration/legacy-animations/package.json b/integration/legacy-animations/package.json index 85a4a6449a9e..a02dcedbeb10 100644 --- a/integration/legacy-animations/package.json +++ b/integration/legacy-animations/package.json @@ -39,5 +39,5 @@ "ts-node": "^10.9.1", "typescript": "6.0.3" }, - "packageManager": "pnpm@10.33.2" + "packageManager": "pnpm@10.33.4" } diff --git a/integration/ng-add-localize/package.json b/integration/ng-add-localize/package.json index a8bb5a1ed700..ce9222837391 100644 --- a/integration/ng-add-localize/package.json +++ b/integration/ng-add-localize/package.json @@ -27,5 +27,5 @@ "@types/node": "^20.14.8", "typescript": "6.0.3" }, - "packageManager": "pnpm@10.33.2" + "packageManager": "pnpm@10.33.4" } diff --git a/integration/ng_elements/package.json b/integration/ng_elements/package.json index 84b0fff15bab..b6dd905bfa05 100644 --- a/integration/ng_elements/package.json +++ b/integration/ng_elements/package.json @@ -33,5 +33,5 @@ "protractor": "protractor e2e/protractor.config.js" }, "private": true, - "packageManager": "pnpm@10.33.2" + "packageManager": "pnpm@10.33.4" } diff --git a/integration/ng_update/package.json b/integration/ng_update/package.json index 355766c7c23a..0a83da23a49d 100644 --- a/integration/ng_update/package.json +++ b/integration/ng_update/package.json @@ -21,5 +21,5 @@ "typescript": "6.0.3", "zone.js": "0.16.1" }, - "packageManager": "pnpm@10.33.2" + "packageManager": "pnpm@10.33.4" } diff --git a/integration/no_ts_linker/package.json b/integration/no_ts_linker/package.json index 2d96691a99a1..9e54d4eed77f 100644 --- a/integration/no_ts_linker/package.json +++ b/integration/no_ts_linker/package.json @@ -13,5 +13,5 @@ "scripts": { "test": "node ./test.mjs" }, - "packageManager": "pnpm@10.33.2" + "packageManager": "pnpm@10.33.4" } diff --git a/integration/nodenext_resolution/package.json b/integration/nodenext_resolution/package.json index 69b9fc4a4049..3f83f470be4e 100644 --- a/integration/nodenext_resolution/package.json +++ b/integration/nodenext_resolution/package.json @@ -27,5 +27,5 @@ "scripts": { "test": "tsc" }, - "packageManager": "pnpm@10.33.2" + "packageManager": "pnpm@10.33.4" } diff --git a/integration/platform-server-hydration/package.json b/integration/platform-server-hydration/package.json index 129a784d7edf..dd7d9becc75e 100644 --- a/integration/platform-server-hydration/package.json +++ b/integration/platform-server-hydration/package.json @@ -41,5 +41,5 @@ "ts-node": "^10.9.1", "typescript": "6.0.3" }, - "packageManager": "pnpm@10.33.2" + "packageManager": "pnpm@10.33.4" } diff --git a/integration/platform-server-zoneless/package.json b/integration/platform-server-zoneless/package.json index 2cdbd0b7f4ab..bbc38ba4e60f 100644 --- a/integration/platform-server-zoneless/package.json +++ b/integration/platform-server-zoneless/package.json @@ -43,5 +43,5 @@ "ts-node": "^10.9.1", "typescript": "6.0.3" }, - "packageManager": "pnpm@10.33.2" + "packageManager": "pnpm@10.33.4" } diff --git a/integration/platform-server/package.json b/integration/platform-server/package.json index 24efc9b83073..474ff594ee2c 100644 --- a/integration/platform-server/package.json +++ b/integration/platform-server/package.json @@ -47,5 +47,5 @@ "ts-node": "^10.9.1", "typescript": "6.0.3" }, - "packageManager": "pnpm@10.33.2" + "packageManager": "pnpm@10.33.4" } diff --git a/integration/service-worker-schema/package.json b/integration/service-worker-schema/package.json index 6735a60ab7b4..30bdc34a0a00 100644 --- a/integration/service-worker-schema/package.json +++ b/integration/service-worker-schema/package.json @@ -13,5 +13,5 @@ "rxjs": "^7.0.0", "zone.js": "0.16.1" }, - "packageManager": "pnpm@10.33.2" + "packageManager": "pnpm@10.33.4" } diff --git a/integration/standalone-bootstrap/package.json b/integration/standalone-bootstrap/package.json index fb9a75b5aa79..ea7305ec8f69 100644 --- a/integration/standalone-bootstrap/package.json +++ b/integration/standalone-bootstrap/package.json @@ -31,5 +31,5 @@ "ts-node": "^10.9.1", "typescript": "6.0.3" }, - "packageManager": "pnpm@10.33.2" + "packageManager": "pnpm@10.33.4" } diff --git a/integration/terser/package.json b/integration/terser/package.json index 5caf1d55c0e5..bbf284bbd789 100644 --- a/integration/terser/package.json +++ b/integration/terser/package.json @@ -14,5 +14,5 @@ "typescript": "6.0.3", "zone.js": "0.16.1" }, - "packageManager": "pnpm@10.33.2" + "packageManager": "pnpm@10.33.4" } diff --git a/integration/trusted-types/package.json b/integration/trusted-types/package.json index 2c929e7951a1..de79f2f43790 100644 --- a/integration/trusted-types/package.json +++ b/integration/trusted-types/package.json @@ -45,5 +45,5 @@ "ts-node": "^10.9.1", "typescript": "6.0.3" }, - "packageManager": "pnpm@10.33.2" + "packageManager": "pnpm@10.33.4" } diff --git a/integration/typings_test_rxjs7/package.json b/integration/typings_test_rxjs7/package.json index ce8583f9ca2e..3d1027f029b1 100644 --- a/integration/typings_test_rxjs7/package.json +++ b/integration/typings_test_rxjs7/package.json @@ -26,5 +26,5 @@ "scripts": { "test": "tsc" }, - "packageManager": "pnpm@10.33.2" + "packageManager": "pnpm@10.33.4" } diff --git a/integration/typings_test_ts60/package.json b/integration/typings_test_ts60/package.json index d0bb4858ec68..c6ccbbea6c76 100644 --- a/integration/typings_test_ts60/package.json +++ b/integration/typings_test_ts60/package.json @@ -26,5 +26,5 @@ "scripts": { "test": "tsc" }, - "packageManager": "pnpm@10.33.2" + "packageManager": "pnpm@10.33.4" } diff --git a/package.json b/package.json index 6173a853102e..385b570c8acf 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@10.33.2", + "packageManager": "pnpm@10.33.4", "engines": { "npm": "Please use pnpm instead of NPM to install dependencies", "yarn": "Please use pnpm instead of Yarn to install dependencies", - "pnpm": "10.33.2" + "pnpm": "10.33.4" }, "repository": { "type": "git", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d1ec818c5adb..baaef4127d8c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1699,7 +1699,7 @@ packages: optional: true '@angular/domino@https://codeload.github.com/angular/domino/tar.gz/928dffb9d9431b2cd2a73d7b940d1575f221e072': - resolution: {tarball: https://codeload.github.com/angular/domino/tar.gz/928dffb9d9431b2cd2a73d7b940d1575f221e072} + resolution: {gitHosted: true, tarball: https://codeload.github.com/angular/domino/tar.gz/928dffb9d9431b2cd2a73d7b940d1575f221e072} version: 2.1.6 engines: {npm: Please use pnpm instead of NPM to install dependencies, pnpm: 10.31.0, yarn: Please use pnpm instead of Yarn to install dependencies} @@ -1714,7 +1714,7 @@ packages: rxjs: ^6.5.3 || ^7.4.0 '@angular/ng-dev@https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/df5bcf2c22735628d01f1e9cdb45d336bec4cfdf': - resolution: {tarball: https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/df5bcf2c22735628d01f1e9cdb45d336bec4cfdf} + resolution: {gitHosted: true, integrity: sha512-fJN+IduwPg4PK2cLL/v1zd2Kfws2KhFpxV/a9PXG/SDj25V4XuB8NKbss80tplCkUX3UbjDg1x+Rp5Nr3JGY0w==, tarball: https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/df5bcf2c22735628d01f1e9cdb45d336bec4cfdf} version: 0.0.0-fcf9aad99710835428e0e9859bf060689045a131 hasBin: true @@ -5364,6 +5364,7 @@ packages: '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} + deprecated: Potential CWE-502 - Update to 1.3.1 or higher '@unrs/resolver-binding-android-arm-eabi@1.11.1': resolution: {integrity: sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==} @@ -10619,6 +10620,7 @@ packages: engines: {node: '>=0.6.0', teleport: '>=0.2.0'} deprecated: |- You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other. + (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) qjobs@1.2.0: @@ -12040,15 +12042,17 @@ packages: uuid@3.4.0: resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} - deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). hasBin: true uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). hasBin: true uuid@9.0.1: resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). hasBin: true v8-compile-cache-lib@3.0.1: From 66c317ab1c5cdfdec4534ce42b9274102007ed6c Mon Sep 17 00:00:00 2001 From: Kam Date: Fri, 8 May 2026 20:31:53 +0300 Subject: [PATCH 027/317] docs: fix two 404 links in the roadmap "Introduce built-in control flow" => guide/templates/control-flow (was the now-removed next.angular.dev/essentials/conditionals-and-loops), and "Improve documentation and schematics for standalone components" => essentials/components (was the bare `components`, not an adev route). (cherry picked from commit 8b46492b7e8b302bd273e1d88e9d9d89ff7f7e10) --- adev/src/content/reference/roadmap.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/adev/src/content/reference/roadmap.md b/adev/src/content/reference/roadmap.md index 93696b79f970..32d2f1651d8e 100644 --- a/adev/src/content/reference/roadmap.md +++ b/adev/src/content/reference/roadmap.md @@ -163,7 +163,7 @@ In v17 we shipped a vite and esbuild-based application builder and enabled it fo Angular.dev is the new site, domain and home for Angular development. The new site contains updated documentation, tutorials and guidance that will help developers build with Angular’s latest features. - + In v17 we shipped a developer preview version of a new control flow. It brings significant performance improvements and better ergonomics for template authoring. We also provided a migration of existing `*ngIf`, `*ngFor`, and `*ngSwitch` which you can run to move your project to the new implementation. As of v18 the built-in control flow is now stable. @@ -175,7 +175,7 @@ In Angular v16, we released a developer preview of an esbuild-based builder with To improve the debugging utilities of Angular and Angular DevTools, we'll work on APIs that provide access to the dependency injection runtime. As part of the project, we'll expose debugging methods that allow us to explore the injector hierarchy and the dependencies across their associated providers. As of v17, we shipped a feature that enables us to plug into the dependency injection life-cycle. We also launched a visualization of the injector tree and inspection of the providers declared inside each individual node, - + We released a developer preview of the `ng new --standalone` schematics collection, allowing you to create apps free of NgModules. In v17 we switched the new application authoring format to standalone APIs and changed the documentation to reflect the recommendation. Additionally, we shipped schematics which support updating existing applications to standalone components, directives, and pipes. Even though NgModules will stick around for foreseeable future, we recommend you to explore the benefits of the new APIs to improve developer experience and benefit from the new features we build for them. From 119a19e604a500f295867fc2cf2e6dbd43a9d807 Mon Sep 17 00:00:00 2001 From: arturovt Date: Fri, 10 Apr 2026 17:46:25 +0300 Subject: [PATCH 028/317] fix(platform-server): forward BEFORE_APP_SERIALIZED errors to ErrorHandler Errors thrown by BEFORE_APP_SERIALIZED callbacks were previously logged via console.warn and silently ignored. This meant failures such as TransferState.toJson() encountering a circular reference would go unreported in apps that use a custom ErrorHandler (e.g. Sentry). Errors are now forwarded to the application's ErrorHandler, making them visible through whatever reporting mechanism the app has configured. The render continues to completion after the error is reported. Closes #65811 (cherry picked from commit 76235803784ecbc9e1dfa6071653fa76d38f186f) --- packages/platform-server/src/utils.ts | 9 ++-- .../platform-server/test/integration_spec.ts | 52 ++++++++++++++++++- 2 files changed, 56 insertions(+), 5 deletions(-) diff --git a/packages/platform-server/src/utils.ts b/packages/platform-server/src/utils.ts index 0199afd83fa1..5f7f9a8259ea 100644 --- a/packages/platform-server/src/utils.ts +++ b/packages/platform-server/src/utils.ts @@ -17,6 +17,7 @@ import { StaticProvider, Type, ɵannotateForHydration as annotateForHydration, + ɵINTERNAL_APPLICATION_ERROR_HANDLER as INTERNAL_APPLICATION_ERROR_HANDLER, ɵIS_HYDRATION_DOM_REUSE_ENABLED as IS_HYDRATION_DOM_REUSE_ENABLED, ɵSSR_CONTENT_INTEGRITY_MARKER as SSR_CONTENT_INTEGRITY_MARKER, ɵstartMeasuring as startMeasuring, @@ -200,6 +201,7 @@ export async function renderInternal( // Run any BEFORE_APP_SERIALIZED callbacks just before rendering to string. const environmentInjector = applicationRef.injector; + const errorHandler = environmentInjector.get(INTERNAL_APPLICATION_ERROR_HANDLER); const callbacks = environmentInjector.get(BEFORE_APP_SERIALIZED, null); if (callbacks) { const asyncCallbacks: Promise[] = []; @@ -210,15 +212,16 @@ export async function renderInternal( asyncCallbacks.push(callbackResult); } } catch (e) { - // Ignore exceptions. - console.warn('Ignoring BEFORE_APP_SERIALIZED Exception: ', e); + // Delegate to the application's ErrorHandler so custom handlers + // (e.g. Sentry) are notified, rather than writing directly to console. + errorHandler(e); } } if (asyncCallbacks.length) { for (const result of await Promise.allSettled(asyncCallbacks)) { if (result.status === 'rejected') { - console.warn('Ignoring BEFORE_APP_SERIALIZED Exception: ', result.reason); + errorHandler(result.reason); } } } diff --git a/packages/platform-server/test/integration_spec.ts b/packages/platform-server/test/integration_spec.ts index a40f4fd9ff83..b9de88839d5d 100644 --- a/packages/platform-server/test/integration_spec.ts +++ b/packages/platform-server/test/integration_spec.ts @@ -962,6 +962,52 @@ class HiddenModule {} }, ); + it( + `using ${isStandalone ? 'renderApplication' : 'renderModule'} ` + + `should report to ErrorHandler when TransferState contains an unserializable value (zoneless:${zoneless})`, + async () => { + // A circular reference causes JSON.stringify (called inside toJson()) + // to throw. Previously this was silently swallowed, causing the server + // to return a 200 OK without the + + `; + TestBed.overrideComponent(SecuredComponent, {set: {template}}); + + expect(() => TestBed.createComponent(SecuredComponent)).toThrowError( + /unsafe value used in a resource URL context/i, + ); + }); + + it('should throw error on SVG animation retargeting attributes', () => { + const template = ` + + + + + + + `; + TestBed.overrideComponent(SecuredComponent, {set: {template}}); + + expect(() => { + const fixture = TestBed.createComponent(SecuredComponent); + fixture.detectChanges(); + }).toThrowError( + /For security reasons, the `attributeName` can be set on the element as a static attribute only/i, + ); + }); + + it('should allow non-security sensitive attributes', () => { + loadTranslations({[computeMsgId('foo')]: 'bar'}); + const template = ``; + TestBed.overrideComponent(SecuredComponent, {set: {template}}); + + const fixture = TestBed.createComponent(SecuredComponent); + fixture.detectChanges(); + const element = fixture.nativeElement.querySelector('iframe'); + expect(element.getAttribute('title')).toEqual('bar'); + }); + + it('should sanitize translations of static iframe attributes', () => { + const template = ``; + TestBed.overrideComponent(SecuredComponent, {set: {template}}); + + expect(() => { + const fixture = TestBed.createComponent(SecuredComponent); + fixture.detectChanges(); + }).toThrowError( + /For security reasons, the `sandbox` can be set on the `; TestBed.overrideComponent(SecuredComponent, {set: {template}}); diff --git a/packages/core/test/render3/instructions_spec.ts b/packages/core/test/render3/instructions_spec.ts index 3cb2ebe1bb88..7edd0be76634 100644 --- a/packages/core/test/render3/instructions_spec.ts +++ b/packages/core/test/render3/instructions_spec.ts @@ -37,7 +37,7 @@ import { ɵɵsanitizeUrl, } from '../../src/sanitization/sanitization'; import {Sanitizer} from '../../src/sanitization/sanitizer'; -import {SecurityContext} from '../../src/sanitization/security'; +import {SecurityContext} from '../../src/sanitization/dom_security_schema'; import {ViewFixture} from './view_fixture'; diff --git a/packages/core/test/render3/integration_spec.ts b/packages/core/test/render3/integration_spec.ts index 3af84c013f60..4ad749ab7a5f 100644 --- a/packages/core/test/render3/integration_spec.ts +++ b/packages/core/test/render3/integration_spec.ts @@ -19,7 +19,7 @@ import {TestBed} from '../../testing'; import {getLContext, readPatchedData} from '../../src/render3/context_discovery'; import {CONTEXT, HEADER_OFFSET} from '../../src/render3/interfaces/view'; import {Sanitizer} from '../../src/sanitization/sanitizer'; -import {SecurityContext} from '../../src/sanitization/security'; +import {SecurityContext} from '../../src/sanitization/dom_security_schema'; describe('element discovery', () => { it('should only monkey-patch immediate child nodes in a component', () => { diff --git a/packages/core/test/sanitization/sanitization_spec.ts b/packages/core/test/sanitization/sanitization_spec.ts index 6264d0159206..6558cfce647a 100644 --- a/packages/core/test/sanitization/sanitization_spec.ts +++ b/packages/core/test/sanitization/sanitization_spec.ts @@ -6,7 +6,6 @@ * found in the LICENSE file at https://angular.dev/license */ -import {SECURITY_SCHEMA} from '@angular/compiler'; import {ENVIRONMENT, LView} from '../../src/render3/interfaces/view'; import {enterView, leaveView} from '../../src/render3/state'; @@ -28,7 +27,7 @@ import { ɵɵtrustConstantHtml, ɵɵtrustConstantResourceUrl, } from '../../src/sanitization/sanitization'; -import {SecurityContext} from '../../src/sanitization/security'; +import {SECURITY_SCHEMA, SecurityContext} from '../../src/sanitization/dom_security_schema'; function fakeLView(): LView { const fake = [null, {}] as LView; From 3e5ab7b470b06b63410649700b6a999e381cbb85 Mon Sep 17 00:00:00 2001 From: arturovt Date: Sun, 12 Apr 2026 01:02:33 +0300 Subject: [PATCH 082/317] fix(router): skip scroll-to-top on initial navigation when hydrating When scrollPositionRestoration is enabled and the app hydrates an SSR-rendered page, RouterScroller was unconditionally scrolling the viewport to [0, 0] on the first imperative navigation. This discards any scroll position the user established while the server-rendered page was loading. Fix by injecting IS_HYDRATION_DOM_REUSE_ENABLED into RouterScroller and suppressing the scroll-to-top for the initial navigation only. Subsequent navigations are unaffected. Closes #64578 (cherry picked from commit 8ec0d1eee80c1841d2118586728b055d383baeec) --- packages/router/src/router_scroller.ts | 21 +++- packages/router/test/router_scroller.spec.ts | 100 +++++++++++++++++-- 2 files changed, 112 insertions(+), 9 deletions(-) diff --git a/packages/router/src/router_scroller.ts b/packages/router/src/router_scroller.ts index 12bec8675835..738555236305 100644 --- a/packages/router/src/router_scroller.ts +++ b/packages/router/src/router_scroller.ts @@ -7,7 +7,16 @@ */ import {ViewportScroller} from '@angular/common'; -import {inject, Injectable, InjectionToken, NgZone, OnDestroy, untracked} from '@angular/core'; +import { + ApplicationRef, + inject, + Injectable, + InjectionToken, + NgZone, + OnDestroy, + untracked, + ɵIS_HYDRATION_DOM_REUSE_ENABLED as IS_HYDRATION_DOM_REUSE_ENABLED, +} from '@angular/core'; import {Unsubscribable} from 'rxjs'; import { @@ -36,6 +45,8 @@ export class RouterScroller implements OnDestroy { private restoredId = 0; private store: {[key: string]: [number, number]} = {}; + private isHydrating = inject(IS_HYDRATION_DOM_REUSE_ENABLED, {optional: true}) ?? false; + private readonly urlSerializer = inject(UrlSerializer); private readonly zone = inject(NgZone); readonly viewportScroller = inject(ViewportScroller); @@ -51,6 +62,13 @@ export class RouterScroller implements OnDestroy { // Default both options to 'disabled' this.options.scrollPositionRestoration ||= 'disabled'; this.options.anchorScrolling ||= 'disabled'; + if (this.isHydrating) { + inject(ApplicationRef) + .whenStable() + .then(() => { + this.isHydrating = false; + }); + } } init(): void { @@ -111,6 +129,7 @@ export class RouterScroller implements OnDestroy { routerEvent: NavigationEnd | NavigationSkipped, anchor: string | null, ): void { + if (this.isHydrating) return; const scroll = untracked(this.transitions.currentNavigation)?.extras.scroll; this.zone.runOutsideAngular(async () => { // The scroll event needs to be delayed until after change detection. Otherwise, we may diff --git a/packages/router/test/router_scroller.spec.ts b/packages/router/test/router_scroller.spec.ts index 7b6e52a81c11..76f8d58a8ebb 100644 --- a/packages/router/test/router_scroller.spec.ts +++ b/packages/router/test/router_scroller.spec.ts @@ -21,7 +21,11 @@ import {filter, switchMap, take} from 'rxjs/operators'; import {PrivateRouterEvents, Scroll} from '../src/events'; import {ROUTER_SCROLLER, RouterScroller} from '../src/router_scroller'; -import {ɵWritable as Writable} from '@angular/core'; +import { + ApplicationRef, + ɵWritable as Writable, + ɵIS_HYDRATION_DOM_REUSE_ENABLED as IS_HYDRATION_DOM_REUSE_ENABLED, +} from '@angular/core'; import {ViewportScroller} from '@angular/common'; import {NavigationTransitions} from '../src/navigation_transition'; import {timeout} from '@angular/private/testing'; @@ -151,6 +155,79 @@ describe('RouterScroller', () => { }); }); + describe('SSR hydration', () => { + it('should not scroll to top on initial navigation when hydrating', async () => { + const {events, viewportScroller} = createRouterScroller( + {scrollPositionRestoration: 'enabled', anchorScrolling: 'disabled'}, + [{provide: IS_HYDRATION_DOM_REUSE_ENABLED, useValue: true}], + ); + + // Simulate the initial navigation that happens during SSR hydration. + // The user may have already scrolled down on the server-rendered page, + // so the scroller must not reset the position to [0, 0]. + events.next(new NavigationStart(1, '/a')); + events.next(new NavigationEnd(1, '/a', '/a')); + await TestBed.inject(ApplicationRef).whenStable(); + + expect(viewportScroller.scrollToPosition).not.toHaveBeenCalled(); + }); + + it('should not scroll to top on initial navigation when hydrating (top mode)', async () => { + const {events, viewportScroller} = createRouterScroller( + {scrollPositionRestoration: 'top', anchorScrolling: 'disabled'}, + [{provide: IS_HYDRATION_DOM_REUSE_ENABLED, useValue: true}], + ); + + events.next(new NavigationStart(1, '/a')); + events.next(new NavigationEnd(1, '/a', '/a')); + await TestBed.inject(ApplicationRef).whenStable(); + + expect(viewportScroller.scrollToPosition).not.toHaveBeenCalled(); + }); + + it('should scroll to top on subsequent navigations after hydration', async () => { + const {events, viewportScroller} = createRouterScroller( + {scrollPositionRestoration: 'top', anchorScrolling: 'disabled'}, + [{provide: IS_HYDRATION_DOM_REUSE_ENABLED, useValue: true}], + ); + + // Skip the initial navigation — no scroll event is emitted during hydration. + events.next(new NavigationStart(1, '/a')); + events.next(new NavigationEnd(1, '/a', '/a')); + await TestBed.inject(ApplicationRef).whenStable(); + + // A subsequent navigation should still scroll to top as normal. + events.next(new NavigationStart(2, '/b')); + events.next(new NavigationEnd(2, '/b', '/b')); + await nextScrollEvent(events); + + expect(viewportScroller.scrollToPosition).toHaveBeenCalledWith([0, 0]); + }); + + it('should not scroll on immediate follow-up navigations triggered during hydration', async () => { + const {events, viewportScroller} = createRouterScroller( + {scrollPositionRestoration: 'top', anchorScrolling: 'disabled'}, + [{provide: IS_HYDRATION_DOM_REUSE_ENABLED, useValue: true}], + ); + + // Fire both navigations during hydration — no scroll events are emitted for either. + events.next(new NavigationStart(1, '/a')); + events.next(new NavigationEnd(1, '/a', '/a')); + events.next(new NavigationStart(2, '/a')); + events.next(new NavigationEnd(2, '/a?filter=active', '/a?filter=active')); + await TestBed.inject(ApplicationRef).whenStable(); + + expect(viewportScroller.scrollToPosition).not.toHaveBeenCalled(); + + // A navigation after hydration settles should scroll normally. + events.next(new NavigationStart(3, '/b')); + events.next(new NavigationEnd(3, '/b', '/b')); + await nextScrollEvent(events); + + expect(viewportScroller.scrollToPosition).toHaveBeenCalledWith([0, 0]); + }); + }); + describe('extending a scroll service', () => { it('work', async () => { const {events, viewportScroller} = createRouterScroller({ @@ -262,13 +339,20 @@ describe('RouterScroller', () => { }); }); -function createRouterScroller({ - scrollPositionRestoration, - anchorScrolling, -}: { - scrollPositionRestoration: 'disabled' | 'enabled' | 'top'; - anchorScrolling: 'disabled' | 'enabled'; -}) { +function createRouterScroller( + { + scrollPositionRestoration, + anchorScrolling, + }: { + scrollPositionRestoration: 'disabled' | 'enabled' | 'top'; + anchorScrolling: 'disabled' | 'enabled'; + }, + extraProviders: any[] = [], +) { + if (extraProviders.length > 0) { + TestBed.configureTestingModule({providers: extraProviders}); + } + const events = new Subject(); (TestBed.inject(NavigationTransitions) as Writable).events = events; From cbe1e1d51d3b5abdeec9aa7c4fee25f36731adcb Mon Sep 17 00:00:00 2001 From: Cameron Smick Date: Fri, 20 Mar 2026 19:57:05 -0700 Subject: [PATCH 083/317] refactor(devtools): Modify buildDirectiveForest to call ng.getComponentForest if it exists. A new ng global function, ng.getComponentForest, is being added to allow the framework to provide the component forest without writing metadata to the DOM. This will allow devtools to display components that don't render any DOM. (cherry picked from commit 50c0ce8275b1cfd40036f47162dc61213b5ce413) --- .../src/lib/component-tree/component-tree.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/devtools/projects/ng-devtools-backend/src/lib/component-tree/component-tree.ts b/devtools/projects/ng-devtools-backend/src/lib/component-tree/component-tree.ts index fb6012f417f4..3e41151e61a3 100644 --- a/devtools/projects/ng-devtools-backend/src/lib/component-tree/component-tree.ts +++ b/devtools/projects/ng-devtools-backend/src/lib/component-tree/component-tree.ts @@ -129,7 +129,7 @@ export const getLatestComponentState = ( directiveForest = directiveForest ?? buildDirectiveForest(); const node = queryDirectiveForest(query.selectedElement, directiveForest); - if (!node || !node.nativeElement) { + if (!node) { return; } @@ -679,6 +679,10 @@ function discoverNonApplicationRootComponents(element: Element, roots: Set { + const ng = ngDebugClient(); + if ((ng as any).getComponentForest) { + return (ng as any).getComponentForest(); + } return buildDirectiveForestWithStrategy(getRootElements()); }; From d30f74c02b616d6a05cb0636455d5f6ecb6a8d5e Mon Sep 17 00:00:00 2001 From: Cameron Smick Date: Wed, 1 Apr 2026 15:21:22 -0700 Subject: [PATCH 084/317] refactor(devtools): add optional injector property to DevToolsNode and IndexedNode types Add an optional injector property to the DevToolsNode and IndexedNode types. Features that require an injector use the injector stored on the node, if it exists, and fall back to getInjectorFromElementNode if it doesn't. (cherry picked from commit 0cf8a61e5881746ced84d6862b848df6cc86bd0d) --- .../ng-devtools-backend/src/lib/client-event-subscribers.ts | 2 +- .../ng-devtools-backend/src/lib/hooks/identity-tracker.ts | 1 + .../directive-forest/index-forest/index-forest.spec.ts | 6 ++++++ .../directive-forest/index-forest/index.ts | 3 +++ devtools/projects/protocol/src/lib/messages.ts | 1 + .../shell-browser/src/app/chrome-window-extensions.ts | 2 +- 6 files changed, 13 insertions(+), 2 deletions(-) diff --git a/devtools/projects/ng-devtools-backend/src/lib/client-event-subscribers.ts b/devtools/projects/ng-devtools-backend/src/lib/client-event-subscribers.ts index ef7a8f4a3fcb..adda3a85117e 100644 --- a/devtools/projects/ng-devtools-backend/src/lib/client-event-subscribers.ts +++ b/devtools/projects/ng-devtools-backend/src/lib/client-event-subscribers.ts @@ -629,7 +629,7 @@ const getSignalGraphCallback = (messageBus: MessageBus) => (element: Ele return; } - const injector = getInjectorFromElementNode(node.nativeElement!); + const injector = node.injector ?? getInjectorFromElementNode(node.nativeElement!); if (!injector) { messageBus.emit('latestSignalGraph', [null]); diff --git a/devtools/projects/ng-devtools-backend/src/lib/hooks/identity-tracker.ts b/devtools/projects/ng-devtools-backend/src/lib/hooks/identity-tracker.ts index 9936769b652c..0b415105e6b1 100644 --- a/devtools/projects/ng-devtools-backend/src/lib/hooks/identity-tracker.ts +++ b/devtools/projects/ng-devtools-backend/src/lib/hooks/identity-tracker.ts @@ -173,6 +173,7 @@ const indexTree = { changeDetection: 'ng-on-push', controlFlowBlock: null, hasNativeElement: true, + injector: undefined, }, { element: 'Child1_2', @@ -158,11 +159,13 @@ describe('indexForest', () => { changeDetection: 'ng-on-push', hasNativeElement: true, + injector: undefined, }, ], controlFlowBlock: null, changeDetection: 'ng-on-push', hasNativeElement: true, + injector: undefined, }, { element: 'Parent2', @@ -186,6 +189,7 @@ describe('indexForest', () => { changeDetection: 'ng-eager', controlFlowBlock: null, hasNativeElement: true, + injector: undefined, }, { element: 'Child2_2', @@ -206,11 +210,13 @@ describe('indexForest', () => { changeDetection: 'ng-eager', controlFlowBlock: null, hasNativeElement: true, + injector: undefined, }, ], changeDetection: 'ng-eager', controlFlowBlock: null, hasNativeElement: true, + injector: undefined, }, ]); }); diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/index-forest/index.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/index-forest/index.ts index 07afd3a9ac90..ea8303a30506 100644 --- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/index-forest/index.ts +++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/index-forest/index.ts @@ -6,6 +6,7 @@ * found in the LICENSE file at https://angular.dev/license */ +import {Injector} from '@angular/core'; import {DevToolsNode, ElementPosition} from '../../../../../../../protocol'; export interface IndexedNode extends DevToolsNode { @@ -16,6 +17,7 @@ export interface IndexedNode extends DevToolsNode { nativeElement?: never; // Instead we will have this boolean hasNativeElement: boolean; + injector?: Injector; } const indexTree = ( @@ -34,6 +36,7 @@ const indexTree = ( controlFlowBlock: node.controlFlowBlock, changeDetection: node.changeDetection, hasNativeElement: (node as any).hasNativeElement, + injector: node.injector, }; }; diff --git a/devtools/projects/protocol/src/lib/messages.ts b/devtools/projects/protocol/src/lib/messages.ts index 3de750d3d1f8..49a7d52309ec 100644 --- a/devtools/projects/protocol/src/lib/messages.ts +++ b/devtools/projects/protocol/src/lib/messages.ts @@ -132,6 +132,7 @@ export interface DevToolsNode hydration: HydrationStatus; controlFlowBlock: ControlFlowBlock | null; changeDetection?: ChangeDetection; + injector?: Injector; } export interface SerializedInjector { diff --git a/devtools/projects/shell-browser/src/app/chrome-window-extensions.ts b/devtools/projects/shell-browser/src/app/chrome-window-extensions.ts index 83c68e003675..d3892db38ece 100644 --- a/devtools/projects/shell-browser/src/app/chrome-window-extensions.ts +++ b/devtools/projects/shell-browser/src/app/chrome-window-extensions.ts @@ -74,7 +74,7 @@ const chromeWindowExtensions = { console.error(`Cannot find element associated with node ${element}`); return undefined; } - const injector = getInjectorFromElementNode(node.nativeElement!); + const injector = node.injector ?? getInjectorFromElementNode(node.nativeElement!); if (!injector) { return; } From 89dcb8eacc7fd507993e3f9488fe644cea6f6468 Mon Sep 17 00:00:00 2001 From: Cameron Smick Date: Mon, 13 Apr 2026 14:06:10 -0700 Subject: [PATCH 085/317] refactor(devtools): Modify buildDirectiveForest to set default values for properties that will not be included in the forest returned by non-Angular frameworks. Set default values for the `directives`, `element`, `hydration`, and `component.isElement` properties of every `ComponentTreeNode` returned by `ng.getComponentForest` for non-Angular apps. (cherry picked from commit 3c255bccc184f41f8094d3ca318dd21d0d97d523) --- .../src/lib/component-tree/component-tree.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/devtools/projects/ng-devtools-backend/src/lib/component-tree/component-tree.ts b/devtools/projects/ng-devtools-backend/src/lib/component-tree/component-tree.ts index 3e41151e61a3..b004d2c695d6 100644 --- a/devtools/projects/ng-devtools-backend/src/lib/component-tree/component-tree.ts +++ b/devtools/projects/ng-devtools-backend/src/lib/component-tree/component-tree.ts @@ -681,7 +681,18 @@ function discoverNonApplicationRootComponents(element: Element, roots: Set { const ng = ngDebugClient(); if ((ng as any).getComponentForest) { - return (ng as any).getComponentForest(); + const forest: ComponentTreeNode[] = (ng as any).getComponentForest(); + const frontier = [...forest]; + while (frontier.length) { + const node = frontier.pop()!; + node.element ??= node.nativeElement?.nodeName.toLowerCase() ?? ''; + node.hydration ??= null; + node.component!.isElement ??= false; + for (const child of node.children) { + frontier.push(child); + } + } + return forest; } return buildDirectiveForestWithStrategy(getRootElements()); }; From 02a6970819cf98a7aa314f4df19dc7c81b15637a Mon Sep 17 00:00:00 2001 From: Cameron Smick Date: Fri, 17 Apr 2026 12:35:39 -0700 Subject: [PATCH 086/317] refactor(devtools): make the DevToolsNode element property optional The Angular DevTools Extension doesn't use the `element` property in Client-Only Wiz apps. Once the new `ng.getComponentForest`` function is implemented, Client-Only Wiz could provide `ComponentTreeNode`s without an `element` property. This change supports that case by making the `element` property optional. (cherry picked from commit dbceef622154caea25b8321b0bc35f590f1026ed) --- .../directive-forest/component-data-source/index.ts | 2 +- devtools/projects/protocol/src/lib/messages.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/component-data-source/index.ts b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/component-data-source/index.ts index a8f867a13eb0..c72e8df64ea3 100644 --- a/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/component-data-source/index.ts +++ b/devtools/projects/ng-devtools/src/lib/devtools-tabs/directive-explorer/directive-forest/component-data-source/index.ts @@ -104,7 +104,7 @@ export class ComponentDataSource extends DataSource { // based on this identifier directly, since it's a reference type // and the reference is preserved after transformation. position: node.position, - name: node.component ? node.component.name : node.element, + name: node.component ? node.component.name : (node.element ?? ''), directives: node.directives?.map((d) => d.name) ?? [], original: node, level, diff --git a/devtools/projects/protocol/src/lib/messages.ts b/devtools/projects/protocol/src/lib/messages.ts index 49a7d52309ec..8fde96d9ce38 100644 --- a/devtools/projects/protocol/src/lib/messages.ts +++ b/devtools/projects/protocol/src/lib/messages.ts @@ -123,7 +123,7 @@ export type ChangeDetection = 'ng-on-push' | 'ng-eager' | 'acx-on-push' | 'acx-d // TODO: refactor to remove nativeElement as it is not serializable // and only really exists on the ng-devtools-backend export interface DevToolsNode { - element: string; + element?: string; directives?: DirType[]; component: CmpType | null; children: DevToolsNode[]; From b2b8dea7325c8d0d6788bbee6100d406f6ebe355 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 19 May 2026 22:06:00 +0200 Subject: [PATCH 087/317] fix(compiler): strip namespaced SVG script elements during template compilation Ensures that namespaced - - \`, - }) - export class TestCmp { - attr = './script.js'; - } - `, - ); - - env.driveMain(); - - const jsContents = env.getContents('test.js'); - expect(jsContents).toContain( - 'i0.ɵɵattribute("href", ctx.attr, i0.ɵɵsanitizeResourceUrl, "xlink")("href", ctx.attr, i0.ɵɵsanitizeResourceUrl);', - ); - }); - it('should not generate sanitizers for URL properties in hostBindings fn in Component', () => { env.write( `test.ts`, diff --git a/packages/compiler/src/schema/dom_security_schema.ts b/packages/compiler/src/schema/dom_security_schema.ts index 179752e79f79..12a674b7021f 100644 --- a/packages/compiler/src/schema/dom_security_schema.ts +++ b/packages/compiler/src/schema/dom_security_schema.ts @@ -115,12 +115,6 @@ export function SECURITY_SCHEMA(): {[k: string]: SecurityContext} { ['object', ['codebase', 'data']], ]); - // The below are for Script SVG - // See: https://developer.mozilla.org/en-US/docs/Web/API/SVGScriptElement/href - registerContext(SecurityContext.RESOURCE_URL, SVG_NAMESPACE, [ - ['script', ['src', 'href', 'xlink:href']], - ]); - // Keep this in sync with SECURITY_SENSITIVE_ELEMENTS in packages/core/src/sanitization/sanitization.ts // The `unknown` elements refer to cases when we need to validate the input/binding in a directive (host bindings) // and the directive can be applied to multiple different elements (with different tag names). In this case we generate diff --git a/packages/compiler/src/template_parser/template_preparser.ts b/packages/compiler/src/template_parser/template_preparser.ts index 5097352081cd..2c5889cae6c0 100644 --- a/packages/compiler/src/template_parser/template_preparser.ts +++ b/packages/compiler/src/template_parser/template_preparser.ts @@ -14,8 +14,8 @@ const LINK_ELEMENT = 'link'; const LINK_STYLE_REL_ATTR = 'rel'; const LINK_STYLE_HREF_ATTR = 'href'; const LINK_STYLE_REL_VALUE = 'stylesheet'; -const STYLE_ELEMENT = 'style'; -const SCRIPT_ELEMENT = 'script'; +const STYLE_ELEMENTS: ReadonlySet = new Set([':svg:style', 'style']); +const SCRIPT_ELEMENTS: ReadonlySet = new Set([':svg:script', 'script']); const NG_NON_BINDABLE_ATTR = 'ngNonBindable'; const NG_PROJECT_AS = 'ngProjectAs'; @@ -25,7 +25,8 @@ export function preparseElement(ast: html.Element): PreparsedElement { let relAttr: string | null = null; let nonBindable = false; let projectAs = ''; - ast.attrs.forEach((attr) => { + + for (const attr of ast.attrs) { const lcAttrName = attr.name.toLowerCase(); if (lcAttrName == NG_CONTENT_SELECT_ATTR) { selectAttr = attr.value; @@ -40,15 +41,18 @@ export function preparseElement(ast: html.Element): PreparsedElement { projectAs = attr.value; } } - }); - selectAttr = normalizeNgContentSelect(selectAttr); + } + + // Normalize selector to '*' if empty + selectAttr ||= '*'; + const nodeName = ast.name.toLowerCase(); let type = PreparsedElementType.OTHER; if (isNgContent(nodeName)) { type = PreparsedElementType.NG_CONTENT; - } else if (nodeName == STYLE_ELEMENT) { + } else if (STYLE_ELEMENTS.has(nodeName)) { type = PreparsedElementType.STYLE; - } else if (nodeName == SCRIPT_ELEMENT) { + } else if (SCRIPT_ELEMENTS.has(nodeName)) { type = PreparsedElementType.SCRIPT; } else if (nodeName == LINK_ELEMENT && relAttr == LINK_STYLE_REL_VALUE) { type = PreparsedElementType.STYLESHEET; @@ -73,10 +77,3 @@ export class PreparsedElement { public projectAs: string, ) {} } - -function normalizeNgContentSelect(selectAttr: string | null): string { - if (selectAttr === null || selectAttr.length === 0) { - return '*'; - } - return selectAttr; -} diff --git a/packages/core/src/sanitization/sanitization.ts b/packages/core/src/sanitization/sanitization.ts index 58f3ad3d42a8..2194ac810f35 100644 --- a/packages/core/src/sanitization/sanitization.ts +++ b/packages/core/src/sanitization/sanitization.ts @@ -219,8 +219,7 @@ const RESOURCE_MAP: Record | undefined> 'frame': {'src': true}, 'iframe': {'src': true}, 'media': {'src': true}, - 'script': {'src': true, 'href': true, 'xlink:href': true}, - ':svg:script': {'src': true, 'href': true, 'xlink:href': true}, + 'base': {'href': true}, 'link': {'href': true}, 'object': {'data': true, 'codebase': true}, diff --git a/packages/core/test/acceptance/security_spec.ts b/packages/core/test/acceptance/security_spec.ts index 9488ee01d6f3..4122b9aa40a4 100644 --- a/packages/core/test/acceptance/security_spec.ts +++ b/packages/core/test/acceptance/security_spec.ts @@ -902,3 +902,17 @@ describe('Component host element validation', () => { } }); }); + +describe('SVG `, + changeDetection: ChangeDetectionStrategy.Eager, + }) + class TestCmp {} + + const fixture = TestBed.createComponent(TestCmp); + fixture.detectChanges(); + expect(fixture.nativeElement.querySelector('script')).toBeFalsy(); + }); +}); diff --git a/packages/core/test/sanitization/sanitization_spec.ts b/packages/core/test/sanitization/sanitization_spec.ts index 6558cfce647a..867b6dccb1bf 100644 --- a/packages/core/test/sanitization/sanitization_spec.ts +++ b/packages/core/test/sanitization/sanitization_spec.ts @@ -117,7 +117,7 @@ describe('sanitization', () => { [SecurityContext.RESOURCE_URL, ɵɵsanitizeResourceUrl], ]); Object.entries(schema).forEach(([key, context]) => { - if (context === SecurityContext.URL || SecurityContext.RESOURCE_URL) { + if (context === SecurityContext.URL || context === SecurityContext.RESOURCE_URL) { const [tag, prop] = key.split('|'); const contexts = contextsByProp.get(prop) || new Set(); contexts.add(context); @@ -136,7 +136,7 @@ describe('sanitization', () => { expect(getUrlSanitizer('IFRAME', 'SRC')).toEqual(ɵɵsanitizeResourceUrl); expect(getUrlSanitizer('IFRAME', 'src')).toEqual(ɵɵsanitizeResourceUrl); expect(getUrlSanitizer('iframe', 'SRC')).toEqual(ɵɵsanitizeResourceUrl); - expect(getUrlSanitizer('ScRiPt', 'xLiNk:HrEf')).toEqual(ɵɵsanitizeResourceUrl); + expect(getUrlSanitizer('ScRiPt', 'xLiNk:HrEf')).toEqual(ɵɵsanitizeUrl); expect(getUrlSanitizer('A', 'HREF')).toEqual(ɵɵsanitizeUrl); }); @@ -149,8 +149,8 @@ describe('sanitization', () => { expect(() => ɵɵsanitizeUrlOrResourceUrl('http://server', 'iframe', 'SRC')).toThrowError(ERROR); - expect(() => ɵɵsanitizeUrlOrResourceUrl('http://server', 'ScRiPt', 'xLiNk:HrEf')).toThrowError( - ERROR, + expect(ɵɵsanitizeUrlOrResourceUrl('javascript:true', 'ScRiPt', 'xLiNk:HrEf')).toEqual( + 'unsafe:javascript:true', ); expect(ɵɵsanitizeUrlOrResourceUrl('javascript:true', 'A', 'HREF')).toEqual( From bffde82d3fdd4f09a8df275f5a579d057ada0e1f Mon Sep 17 00:00:00 2001 From: Kam Date: Fri, 15 May 2026 20:19:15 +0300 Subject: [PATCH 088/317] refactor(compiler): sync compiler_facade_interface replica with main The replica at packages/core/src/compiler/compiler_facade_interface.ts drifted from the main copy. The file header specifies syncing via `cp main replica`; running it fixes field-order drift and relocates `legacyOptionalChaining?: boolean;` back onto R3DeclareDirectiveFacade (it was incorrectly on R3DeclareComponentFacade in the replica). (cherry picked from commit 96ba942a918df1276e5744188007905ceef3f883) --- .../core/src/compiler/compiler_facade_interface.ts | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/packages/core/src/compiler/compiler_facade_interface.ts b/packages/core/src/compiler/compiler_facade_interface.ts index 76f3fec667ea..81c75e56c024 100644 --- a/packages/core/src/compiler/compiler_facade_interface.ts +++ b/packages/core/src/compiler/compiler_facade_interface.ts @@ -222,8 +222,8 @@ export interface R3DirectiveMetadataFacade { providers: Provider[] | null; viewQueries: R3QueryMetadataFacade[]; isStandalone: boolean; - isSignal: boolean; hostDirectives: R3HostDirectiveMetadataFacade[] | null; + isSignal: boolean; legacyOptionalChaining: boolean; } @@ -274,12 +274,11 @@ export interface R3DeclareDirectiveFacade { exportAs?: string[]; usesInheritance?: boolean; usesOnChanges?: boolean; - controlCreate?: { - passThroughInput: string | null; - }; + controlCreate?: {passThroughInput: string | null}; isStandalone?: boolean; - hostDirectives?: R3HostDirectiveMetadataFacade[] | null; isSignal?: boolean; + hostDirectives?: R3HostDirectiveMetadataFacade[] | null; + legacyOptionalChaining?: boolean; } export interface R3DeclareComponentFacade extends R3DeclareDirectiveFacade { @@ -301,7 +300,6 @@ export interface R3DeclareComponentFacade extends R3DeclareDirectiveFacade { changeDetection?: ChangeDetectionStrategy; encapsulation?: ViewEncapsulation; preserveWhitespaces?: boolean; - legacyOptionalChaining?: boolean; } export type R3DeclareTemplateDependencyFacade = { @@ -422,8 +420,8 @@ export interface R3DeclareNgModuleFacade { export interface R3DeclarePipeFacade { type: Type; - name: string; version: string; + name: string; pure?: boolean; isStandalone?: boolean; } From 2e5623c92ea1634fc718d1a81a3f62fd70bd2a78 Mon Sep 17 00:00:00 2001 From: SkyZeroZx <73321943+SkyZeroZx@users.noreply.github.com> Date: Sat, 16 May 2026 20:57:23 -0500 Subject: [PATCH 089/317] docs: Adds lazy service loading for best practice performance (cherry picked from commit d251c0bf87817c9492c5f6c2f9e24a9de528e80f) --- adev/src/app/routing/navigation-entries/index.ts | 6 ++++++ adev/src/content/best-practices/performance/overview.md | 1 + 2 files changed, 7 insertions(+) diff --git a/adev/src/app/routing/navigation-entries/index.ts b/adev/src/app/routing/navigation-entries/index.ts index a794426c9d17..43adc0290711 100644 --- a/adev/src/app/routing/navigation-entries/index.ts +++ b/adev/src/app/routing/navigation-entries/index.ts @@ -1149,6 +1149,12 @@ export const DOCS_SUB_NAVIGATION_DATA: NavigationItem[] = [ contentPath: 'guide/templates/defer', category: 'Loading Performance', }, + { + label: 'Lazy loading services', + path: 'best-practices/performance/lazy-loading-services', + contentPath: 'guide/di/lazy-loading-services', + category: 'Loading Performance', + }, { label: 'Image optimization', path: 'best-practices/performance/image-optimization', diff --git a/adev/src/content/best-practices/performance/overview.md b/adev/src/content/best-practices/performance/overview.md index 0280057f3ff2..0754c74c34ff 100644 --- a/adev/src/content/best-practices/performance/overview.md +++ b/adev/src/content/best-practices/performance/overview.md @@ -10,6 +10,7 @@ Loading performance determines how quickly your application becomes visible and | :------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------- | | [Lazy-loaded routes](best-practices/performance/lazy-loaded-routes#lazily-loaded-components-and-routes) | Defers loading route components until navigation, reducing the initial bundle size | Applications with multiple routes where not all are needed on initial load | | [Deferred loading with `@defer`](best-practices/performance/defer) | Splits components into separate bundles that load on demand | Components not visible on initial render, heavy third-party libraries, below-the-fold content | +| [Lazy loading services with `injectAsync`](guide/di/lazy-loading-services) | Splits rarely used services into separate chunks and loads them on demand | Services backed by large libraries or infrequently used features | | [Image optimization](best-practices/performance/image-optimization) | Prioritizes LCP images, lazy loads others, generates responsive `srcset` attributes | Any application that displays images | | [Server-side rendering](best-practices/performance/ssr) | Renders pages on the server for faster first paint and better SEO, with [hydration](guide/hydration) to restore interactivity and [incremental hydration](guide/incremental-hydration) to defer hydrating sections until needed | Content-heavy applications, pages that need search engine indexing | From aed08ab7a9c14dc024b44207a62236323177be77 Mon Sep 17 00:00:00 2001 From: june-by Date: Tue, 19 May 2026 18:28:37 +0900 Subject: [PATCH 090/317] docs(compiler): add typeCheckHostBindings option to angular compiler options (cherry picked from commit c49661b57b9e557f08472af7647b532540ad148b) --- .../content/reference/configs/angular-compiler-options.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/adev/src/content/reference/configs/angular-compiler-options.md b/adev/src/content/reference/configs/angular-compiler-options.md index 679fc10a23e0..88ab09179d6b 100644 --- a/adev/src/content/reference/configs/angular-compiler-options.md +++ b/adev/src/content/reference/configs/angular-compiler-options.md @@ -213,6 +213,11 @@ When `true`, reports an error if a component, directive, or pipe is not standalo When `true`, prints extra information while compiling templates. Default is `false`. +### `typeCheckHostBindings` + +When `true`, enables type checking of expressions in the `host` object literal and `@HostBinding`/`@HostListener` decorators of components and directives. +Default is `true`. + ## Command line options Most of the time, you interact with the Angular Compiler indirectly using [Angular CLI](reference/configs/angular-compiler-options). When debugging certain issues, you might find it useful to invoke the Angular Compiler directly. From 0358469e81d29cfec1399a246095e423a85335f4 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 19 May 2026 20:09:53 +0000 Subject: [PATCH 091/317] docs: update cross-repo adev docs Updated Angular adev cross repo docs files. --- adev/src/content/aria/_build-info.json | 2 +- adev/src/content/aria/aria-menu.json | 39 +++++++++++++++++++++++--- 2 files changed, 36 insertions(+), 5 deletions(-) diff --git a/adev/src/content/aria/_build-info.json b/adev/src/content/aria/_build-info.json index 89d297e94119..7a54153c6d41 100644 --- a/adev/src/content/aria/_build-info.json +++ b/adev/src/content/aria/_build-info.json @@ -1,4 +1,4 @@ { "branchName": "refs/heads/22.0.x", - "sha": "24b15ef55d36088e43450a326d9bb30daa34a2ef" + "sha": "09621a12394eff17196376e81ecf5d8b069e8de0" } \ No newline at end of file diff --git a/adev/src/content/aria/aria-menu.json b/adev/src/content/aria/aria-menu.json index de2b503fa99b..1be381b54bb2 100755 --- a/adev/src/content/aria/aria-menu.json +++ b/adev/src/content/aria/aria-menu.json @@ -209,7 +209,7 @@ "source": { "filePath": "/src/aria/menu/menu-trigger.ts", "startLine": 41, - "endLine": 103 + "endLine": 104 } }, { @@ -281,6 +281,19 @@ "isRequiredInput": false, "outputAlias": "searchTermChange" }, + { + "name": "role", + "type": "InputSignal<\"menuitem\" | \"menuitemradio\" | \"menuitemcheckbox\">", + "memberType": "property", + "memberTags": [ + "readonly", + "input" + ], + "description": "The role of the menu item.", + "jsdocTags": [], + "inputAlias": "role", + "isRequiredInput": false + }, { "name": "parent", "type": "Menu | MenuBar | null", @@ -499,7 +512,7 @@ "source": { "filePath": "/src/aria/menu/menu-item.ts", "startLine": 43, - "endLine": 136 + "endLine": 140 } }, { @@ -704,7 +717,7 @@ "source": { "filePath": "/src/aria/menu/menu-bar.ts", "startLine": 55, - "endLine": 140 + "endLine": 139 } }, { @@ -782,6 +795,16 @@ "description": "A reference to the parent menu item or menu trigger.", "jsdocTags": [] }, + { + "name": "softDisabled", + "type": "InputSignalWithTransform", + "memberType": "property", + "memberTags": [ + "readonly" + ], + "description": "Whether the menu is soft disabled.", + "jsdocTags": [] + }, { "name": "visible", "type": "Signal", @@ -912,7 +935,7 @@ "source": { "filePath": "/src/aria/menu/menu.ts", "startLine": 57, - "endLine": 213 + "endLine": 215 } } ], @@ -1077,6 +1100,10 @@ "MenuItem.searchTerm", "@angular/aria/menu" ], + [ + "MenuItem.role", + "@angular/aria/menu" + ], [ "MenuItem.parent", "@angular/aria/menu" @@ -1189,6 +1216,10 @@ "Menu.parent", "@angular/aria/menu" ], + [ + "Menu.softDisabled", + "@angular/aria/menu" + ], [ "Menu.visible", "@angular/aria/menu" From 97ab8481e6027de18eadc7e1f772beb6ac2c72c7 Mon Sep 17 00:00:00 2001 From: "g.turri" Date: Sun, 17 May 2026 11:39:56 +0200 Subject: [PATCH 092/317] docs: Fix accepted Provider type in doc snippet out of the box my IDE tells me there an error on const testProviders: Provider[] = [provideHttpClient(), provideHttpClientTesting()]; because `provideHttpClient()` returns an `EnvironmentProviders` so I can't put it in a variable of type `Provider[]` (cherry picked from commit 4e55ceafc9efb0e3bece13a0891e372ddace88a0) --- adev/src/content/guide/testing/overview.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/adev/src/content/guide/testing/overview.md b/adev/src/content/guide/testing/overview.md index 141d2d0149df..7ed2e0866c07 100644 --- a/adev/src/content/guide/testing/overview.md +++ b/adev/src/content/guide/testing/overview.md @@ -53,11 +53,10 @@ The `setupFiles` and `providersFile` options are particularly useful for managin For example, you could create a `src/test-providers.ts` file to provide `provideHttpClientTesting` to all your tests: ```typescript {header: "src/test-providers.ts"} -import {Provider} from '@angular/core'; -import {provideHttpClient} from '@angular/common/http'; +import {EnvironmentProviders, Provider} from '@angular/core'; import {provideHttpClientTesting} from '@angular/common/http/testing'; -const testProviders: Provider[] = [provideHttpClient(), provideHttpClientTesting()]; +const testProviders: (Provider | EnvironmentProviders)[] = [provideHttpClientTesting()]; export default testProviders; ``` From 935a80a7330bef7ea9883b8ea5971bf397c2dea8 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Tue, 19 May 2026 06:24:07 +0000 Subject: [PATCH 093/317] build: lock file maintenance See associated pull request for more information. --- .github/actions/deploy-docs-site/main.js | 275 +- integration/animations/pnpm-lock.yaml | 689 +--- .../cli-hello-world-ivy-i18n/pnpm-lock.yaml | 649 +--- .../cli-hello-world-lazy/pnpm-lock.yaml | 649 +--- integration/cli-hello-world/pnpm-lock.yaml | 649 +--- integration/cli-signal-inputs/pnpm-lock.yaml | 667 +--- integration/defer/pnpm-lock.yaml | 655 +--- .../legacy-animations-async/pnpm-lock.yaml | 643 +--- integration/legacy-animations/pnpm-lock.yaml | 647 +--- integration/ng-add-localize/pnpm-lock.yaml | 637 +--- integration/ng_elements/pnpm-lock.yaml | 52 +- .../platform-server-hydration/pnpm-lock.yaml | 649 +--- .../platform-server-zoneless/pnpm-lock.yaml | 655 +--- integration/platform-server/pnpm-lock.yaml | 655 +--- .../standalone-bootstrap/pnpm-lock.yaml | 649 +--- integration/trusted-types/pnpm-lock.yaml | 675 +--- integration/typings_test_rxjs7/pnpm-lock.yaml | 8 +- pnpm-lock.yaml | 3290 ++++++++++------- 18 files changed, 4699 insertions(+), 8094 deletions(-) diff --git a/.github/actions/deploy-docs-site/main.js b/.github/actions/deploy-docs-site/main.js index e2f4a611ffd9..ca6f09b78f5a 100644 --- a/.github/actions/deploy-docs-site/main.js +++ b/.github/actions/deploy-docs-site/main.js @@ -19426,98 +19426,134 @@ var require_lib = __commonJS({ }); // -var require_fast_content_type_parse = __commonJS({ - ""(exports, module) { +var require_dist = __commonJS({ + ""(exports) { "use strict"; - var NullObject = function NullObject2() { - }; - NullObject.prototype = /* @__PURE__ */ Object.create(null); - var paramRE = /; *([!#$%&'*+.^\w`|~-]+)=("(?:[\v\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\v\u0020-\u00ff])*"|[!#$%&'*+.^\w`|~-]+) */gu; - var quotedPairRE = /\\([\v\u0020-\u00ff])/gu; - var mediaTypeRE = /^[!#$%&'*+.^\w|~-]+\/[!#$%&'*+.^\w|~-]+$/u; - var defaultContentType = { type: "", parameters: new NullObject() }; - Object.freeze(defaultContentType.parameters); - Object.freeze(defaultContentType); - function parse3(header) { - if (typeof header !== "string") { - throw new TypeError("argument header is required and must be a string"); - } - let index = header.indexOf(";"); - const type = index !== -1 ? header.slice(0, index).trim() : header.trim(); - if (mediaTypeRE.test(type) === false) { - throw new TypeError("invalid media type"); - } - const result = { - type: type.toLowerCase(), - parameters: new NullObject() + Object.defineProperty(exports, "__esModule", { value: true }); + exports.format = format3; + exports.parse = parse4; + var TEXT_REGEXP = /^[\u0009\u0020-\u007e\u0080-\u00ff]*$/; + var TOKEN_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/; + var QUOTE_REGEXP = /[\\"]/g; + var TYPE_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/; + var NullObject = (() => { + const C = function() { }; - if (index === -1) { - return result; + C.prototype = /* @__PURE__ */ Object.create(null); + return C; + })(); + function format3(obj) { + const { type, parameters } = obj; + if (!type || !TYPE_REGEXP.test(type)) { + throw new TypeError(`Invalid type: ${type}`); } - let key; - let match; - let value; - paramRE.lastIndex = index; - while (match = paramRE.exec(header)) { - if (match.index !== index) { - throw new TypeError("invalid parameter format"); - } - index += match[0].length; - key = match[1].toLowerCase(); - value = match[2]; - if (value[0] === '"') { - value = value.slice(1, value.length - 1); - quotedPairRE.test(value) && (value = value.replace(quotedPairRE, "$1")); + let result = type; + if (parameters) { + for (const param of Object.keys(parameters)) { + if (!TOKEN_REGEXP.test(param)) { + throw new TypeError(`Invalid parameter name: ${param}`); + } + result += `; ${param}=${qstring(parameters[param])}`; } - result.parameters[key] = value; - } - if (index !== header.length) { - throw new TypeError("invalid parameter format"); } return result; } - function safeParse2(header) { - if (typeof header !== "string") { - return defaultContentType; - } - let index = header.indexOf(";"); - const type = index !== -1 ? header.slice(0, index).trim() : header.trim(); - if (mediaTypeRE.test(type) === false) { - return defaultContentType; - } - const result = { - type: type.toLowerCase(), - parameters: new NullObject() - }; - if (index === -1) { - return result; - } - let key; - let match; - let value; - paramRE.lastIndex = index; - while (match = paramRE.exec(header)) { - if (match.index !== index) { - return defaultContentType; - } - index += match[0].length; - key = match[1].toLowerCase(); - value = match[2]; - if (value[0] === '"') { - value = value.slice(1, value.length - 1); - quotedPairRE.test(value) && (value = value.replace(quotedPairRE, "$1")); + function parse4(header, options) { + const len = header.length; + let index = skipOWS(header, 0, len); + const valueStart = index; + index = skipValue(header, index, len); + const valueEnd = trailingOWS(header, valueStart, index); + const type = header.slice(valueStart, valueEnd).toLowerCase(); + const parameters = options?.parameters === false ? new NullObject() : parseParameters(header, index, len); + return { type, parameters }; + } + var SP = 32; + var HTAB = 9; + var SEMI = 59; + var EQ = 61; + var DQUOTE = 34; + var BSLASH = 92; + function parseParameters(header, index, len) { + const parameters = new NullObject(); + parameter: + while (index < len) { + index = skipOWS(header, index + 1, len); + const keyStart = index; + while (index < len) { + const code = header.charCodeAt(index); + if (code === SEMI) + continue parameter; + if (code === EQ) { + const keyEnd = trailingOWS(header, keyStart, index); + const key = header.slice(keyStart, keyEnd).toLowerCase(); + index = skipOWS(header, index + 1, len); + if (index < len && header.charCodeAt(index) === DQUOTE) { + index++; + let value = ""; + while (index < len) { + const code2 = header.charCodeAt(index++); + if (code2 === DQUOTE) { + index = skipValue(header, index, len); + if (parameters[key] === void 0) + parameters[key] = value; + break; + } + if (code2 === BSLASH && index < len) { + value += header[index++]; + continue; + } + value += String.fromCharCode(code2); + } + continue parameter; + } + const valueStart = index; + index = skipValue(header, index, len); + if (parameters[key] === void 0) { + const valueEnd = trailingOWS(header, valueStart, index); + parameters[key] = header.slice(valueStart, valueEnd); + } + continue parameter; + } + index++; + } } - result.parameters[key] = value; + return parameters; + } + function skipValue(str, index, len) { + while (index < len) { + const char = str.charCodeAt(index); + if (char === SEMI) + break; + index++; } - if (index !== header.length) { - return defaultContentType; + return index; + } + function skipOWS(header, index, len) { + while (index < len) { + const char = header.charCodeAt(index); + if (char !== SP && char !== HTAB) + break; + index++; } - return result; + return index; + } + function trailingOWS(header, start, end) { + while (end > start) { + const char = header.charCodeAt(end - 1); + if (char !== SP && char !== HTAB) + break; + end--; + } + return end; + } + function qstring(str) { + if (TOKEN_REGEXP.test(str)) + return str; + if (TEXT_REGEXP.test(str)) + return `"${str.replace(QUOTE_REGEXP, "\\$&")}"`; + throw new TypeError(`Invalid parameter value: ${str}`); } - module.exports.default = { parse: parse3, safeParse: safeParse2 }; - module.exports.parse = parse3; - module.exports.safeParse = safeParse2; - module.exports.defaultContentType = defaultContentType; } }); @@ -21630,13 +21666,13 @@ var require_lockfile = __commonJS({ } concat(integrity, opts) { const other = typeof integrity === "string" ? integrity : stringify(integrity, opts); - return parse3(`${this.toString(opts)} ${other}`, opts); + return parse4(`${this.toString(opts)} ${other}`, opts); } hexDigest() { - return parse3(this, { single: true }).hexDigest(); + return parse4(this, { single: true }).hexDigest(); } match(integrity, opts) { - const other = parse3(integrity, opts); + const other = parse4(integrity, opts); const algo = other.pickAlgorithm(opts); return this[algo] && other[algo] && this[algo].find( (hash) => other[algo].find( @@ -21655,8 +21691,8 @@ var require_lockfile = __commonJS({ }); } } - module2.exports.parse = parse3; - function parse3(sri, opts) { + module2.exports.parse = parse4; + function parse4(sri, opts) { opts = opts || {}; if (typeof sri === "string") { return _parse(sri, opts); @@ -21689,7 +21725,7 @@ var require_lockfile = __commonJS({ if (obj.algorithm && obj.digest) { return Hash.prototype.toString.call(obj, opts); } else if (typeof obj === "string") { - return stringify(parse3(obj, opts), opts); + return stringify(parse4(obj, opts), opts); } else { return Integrity.prototype.toString.call(obj, opts); } @@ -21697,7 +21733,7 @@ var require_lockfile = __commonJS({ module2.exports.fromHex = fromHex; function fromHex(hexDigest, algorithm, opts) { const optString = opts && opts.options && opts.options.length ? `?${opts.options.join("?")}` : ""; - return parse3( + return parse4( `${algorithm}-${Buffer2.from(hexDigest, "hex").toString("base64")}${optString}`, opts ); @@ -21744,7 +21780,7 @@ var require_lockfile = __commonJS({ module2.exports.checkData = checkData; function checkData(data, sri, opts) { opts = opts || {}; - sri = parse3(sri, opts); + sri = parse4(sri, opts); if (!Object.keys(sri).length) { if (opts.error) { throw Object.assign( @@ -21759,7 +21795,7 @@ var require_lockfile = __commonJS({ } const algorithm = sri.pickAlgorithm(opts); const digest = crypto.createHash(algorithm).update(data).digest("base64"); - const newSri = parse3({ algorithm, digest }); + const newSri = parse4({ algorithm, digest }); const match = newSri.match(sri, opts); if (match || !opts.error) { return match; @@ -21805,7 +21841,7 @@ var require_lockfile = __commonJS({ module2.exports.integrityStream = integrityStream; function integrityStream(opts) { opts = opts || {}; - const sri = opts.integrity && parse3(opts.integrity, opts); + const sri = opts.integrity && parse4(opts.integrity, opts); const goodSri = sri && Object.keys(sri).length; const algorithm = goodSri && sri.pickAlgorithm(opts); const digests = goodSri && sri[algorithm]; @@ -21824,7 +21860,7 @@ var require_lockfile = __commonJS({ } }).on("end", () => { const optString = opts.options && opts.options.length ? `?${opts.options.join("?")}` : ""; - const newSri = parse3(hashes.map((h, i) => { + const newSri = parse4(hashes.map((h, i) => { return `${algorithms[i]}-${h.digest("base64")}${optString}`; }).join(" "), opts); const match = goodSri && newSri.match(sri, opts); @@ -22085,9 +22121,9 @@ var require_lockfile = __commonJS({ } return expand3(pattern); } - Minimatch.prototype.parse = parse3; + Minimatch.prototype.parse = parse4; var SUBPARSE = {}; - function parse3(pattern, isSub) { + function parse4(pattern, isSub) { if (pattern.length > 1024 * 64) { throw new TypeError("pattern is too long"); } @@ -23203,7 +23239,7 @@ var require_lockfile = __commonJS({ }); exports2.default = function(str, fileLoc = "lockfile") { str = (0, (_stripBom || _load_stripBom()).default)(str); - return hasMergeConflicts(str) ? parseWithConflict(str, fileLoc) : { type: "success", object: parse3(str, fileLoc) }; + return hasMergeConflicts(str) ? parseWithConflict(str, fileLoc) : { type: "success", object: parse4(str, fileLoc) }; }; var _util; function _load_util() { @@ -23536,7 +23572,7 @@ var require_lockfile = __commonJS({ function hasMergeConflicts(str) { return str.includes(MERGE_CONFLICT_START) && str.includes(MERGE_CONFLICT_SEP) && str.includes(MERGE_CONFLICT_END); } - function parse3(str, fileLoc) { + function parse4(str, fileLoc) { const parser2 = new Parser2(str, fileLoc); parser2.next(); return parser2.parse(); @@ -23544,7 +23580,7 @@ var require_lockfile = __commonJS({ function parseWithConflict(str, fileLoc) { const variants = extractConflictVariants(str); try { - return { type: "merge", object: Object.assign({}, parse3(variants[0], fileLoc), parse3(variants[1], fileLoc)) }; + return { type: "merge", object: Object.assign({}, parse4(variants[0], fileLoc), parse4(variants[1], fileLoc)) }; } catch (err) { if (err instanceof SyntaxError) { return { type: "conflict", object: {} }; @@ -27008,7 +27044,7 @@ ${indent}`); options = options || {}; var type = typeof val; if (type === "string" && val.length > 0) { - return parse3(val); + return parse4(val); } else if (type === "number" && isNaN(val) === false) { return options.long ? fmtLong(val) : fmtShort(val); } @@ -27016,7 +27052,7 @@ ${indent}`); "val is not a non-empty string or a valid number. val=" + JSON.stringify(val) ); }; - function parse3(str) { + function parse4(str) { str = String(str); if (str.length > 100) { return; @@ -28446,7 +28482,7 @@ function withDefaults(oldDefaults, newDefaults) { var endpoint = withDefaults(null, DEFAULTS); // -var import_fast_content_type_parse = __toESM(require_fast_content_type_parse()); +var import_content_type = __toESM(require_dist()); // var intRegex = /^-?\d+$/; @@ -28607,7 +28643,7 @@ var RequestError = class extends Error { }; // -var VERSION2 = "10.0.8"; +var VERSION2 = "10.0.9"; var defaults_default = { headers: { "user-agent": `octokit-request.js/${VERSION2} ${getUserAgent()}` @@ -28728,7 +28764,7 @@ async function getResponseData(response) { if (!contentType) { return response.text().catch(noop); } - const mimetype = (0, import_fast_content_type_parse.safeParse)(contentType); + const mimetype = (0, import_content_type.parse)(contentType); if (isJSONResponse(mimetype)) { let text = ""; try { @@ -36225,9 +36261,9 @@ var YargsInstance = class { __classPrivateFieldSet(this, _YargsInstance_hasOutput, true, "f"); if (!__classPrivateFieldGet(this, _YargsInstance_usage, "f").hasCachedHelpMessage()) { if (!this.parsed) { - const parse3 = this[kRunYargsParserAndExecuteCommands](__classPrivateFieldGet(this, _YargsInstance_processArgs, "f"), void 0, void 0, 0, true); - if (isPromise(parse3)) { - return parse3.then(() => { + const parse4 = this[kRunYargsParserAndExecuteCommands](__classPrivateFieldGet(this, _YargsInstance_processArgs, "f"), void 0, void 0, 0, true); + if (isPromise(parse4)) { + return parse4.then(() => { return __classPrivateFieldGet(this, _YargsInstance_usage, "f").help(); }); } @@ -36571,9 +36607,9 @@ var YargsInstance = class { __classPrivateFieldSet(this, _YargsInstance_hasOutput, true, "f"); if (!__classPrivateFieldGet(this, _YargsInstance_usage, "f").hasCachedHelpMessage()) { if (!this.parsed) { - const parse3 = this[kRunYargsParserAndExecuteCommands](__classPrivateFieldGet(this, _YargsInstance_processArgs, "f"), void 0, void 0, 0, true); - if (isPromise(parse3)) { - parse3.then(() => { + const parse4 = this[kRunYargsParserAndExecuteCommands](__classPrivateFieldGet(this, _YargsInstance_processArgs, "f"), void 0, void 0, 0, true); + if (isPromise(parse4)) { + parse4.then(() => { __classPrivateFieldGet(this, _YargsInstance_usage, "f").showHelp(level); }); return this; @@ -37450,7 +37486,7 @@ import { spawnSync as spawnSync2 } from "child_process"; import { URL as URL2 } from "url"; var import_lockfile = __toESM(require_lockfile(), 1); var require5 = __cjsCompatRequire_ngDev4(import.meta.url); -var require_fast_content_type_parse2 = __commonJS2({ +var require_fast_content_type_parse = __commonJS2({ ""(exports, module) { "use strict"; var NullObject = function NullObject2() { @@ -46702,7 +46738,7 @@ var require_public_api = __commonJS2({ exports.stringify = stringify; } }); -var require_dist = __commonJS2({ +var require_dist2 = __commonJS2({ ""(exports) { "use strict"; var composer = require_composer(); @@ -47098,7 +47134,7 @@ function expand2(template, context3) { return template.replace(/\/$/, ""); } } -function parse2(options) { +function parse3(options) { let method = options.method.toUpperCase(); let url = (options.url || "/").replace(/:([a-z]\w+)/g, "{$1}"); let headers = Object.assign({}, options.headers); @@ -47162,7 +47198,7 @@ function parse2(options) { ); } function endpointWithDefaults2(defaults2, route, options) { - return parse2(merge2(defaults2, route, options)); + return parse3(merge2(defaults2, route, options)); } function withDefaults4(oldDefaults, newDefaults) { const DEFAULTS22 = merge2(oldDefaults, newDefaults); @@ -47171,11 +47207,11 @@ function withDefaults4(oldDefaults, newDefaults) { DEFAULTS: DEFAULTS22, defaults: withDefaults4.bind(null, DEFAULTS22), merge: merge2.bind(null, DEFAULTS22), - parse: parse2 + parse: parse3 }); } var endpoint2 = withDefaults4(null, DEFAULTS2); -var import_fast_content_type_parse2 = __toESM2(require_fast_content_type_parse2()); +var import_fast_content_type_parse = __toESM2(require_fast_content_type_parse()); var intRegex2 = /^-?\d+$/; var noiseValue2 = /^-?\d+n+$/; var originalStringify2 = JSON.stringify; @@ -47451,7 +47487,7 @@ async function getResponseData2(response) { if (!contentType) { return response.text().catch(noop3); } - const mimetype = (0, import_fast_content_type_parse2.safeParse)(contentType); + const mimetype = (0, import_fast_content_type_parse.safeParse)(contentType); if (isJSONResponse2(mimetype)) { let text = ""; try { @@ -51418,7 +51454,7 @@ var allLabels = { ...miscLabels }; var import_which = __toESM2(require_lib2()); -var import_yaml = __toESM2(require_dist()); +var import_yaml = __toESM2(require_dist2()); // var require6 = __cjsCompatRequire_ngDev5(import.meta.url); @@ -51583,6 +51619,13 @@ undici/lib/web/fetch/body.js: undici/lib/web/websocket/frame.js: (*! ws. MIT License. Einar Otto Stangvik *) +content-type/dist/index.js: + (*! + * content-type + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + *) + @octokit/request-error/dist-src/index.js: (* v8 ignore else -- @preserve -- Bug with vitest coverage where it sees an else branch that doesn't exist *) diff --git a/integration/animations/pnpm-lock.yaml b/integration/animations/pnpm-lock.yaml index 43c54302c1d9..d7dd85f324ea 100644 --- a/integration/animations/pnpm-lock.yaml +++ b/integration/animations/pnpm-lock.yaml @@ -47,13 +47,13 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(jiti@2.7.0)(typescript@6.0.3) + version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(jiti@2.7.0)(typescript@6.0.3) '@angular/build': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.47.1)(tslib@2.8.1)(typescript@6.0.3) + version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/cli': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@types/node@20.19.40) + version: 22.0.0-rc.0(@types/node@20.19.41) '@angular/compiler-cli': specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel @@ -62,7 +62,7 @@ importers: version: 6.0.0 '@types/node': specifier: ^20.14.8 - version: 20.19.40 + version: 20.19.41 concurrently: specifier: 9.2.1 version: 9.2.1 @@ -77,7 +77,7 @@ importers: version: 24.42.0(typescript@6.0.3) ts-node: specifier: ^10.9.1 - version: 10.9.2(@types/node@20.19.40)(typescript@6.0.3) + version: 10.9.2(@types/node@20.19.41)(typescript@6.0.3) typescript: specifier: 6.0.3 version: 6.0.3 @@ -1803,277 +1803,139 @@ packages: cpu: [arm] os: [android] - '@rollup/rollup-android-arm-eabi@4.60.3': - resolution: {integrity: sha512-x35CNW/ANXG3hE/EZpRU8MXX1JDN86hBb2wMGAtltkz7pc6cxgjpy1OMMfDosOQ+2hWqIkag/fGok1Yady9nGw==} - cpu: [arm] - os: [android] - '@rollup/rollup-android-arm64@4.60.2': resolution: {integrity: sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==} cpu: [arm64] os: [android] - '@rollup/rollup-android-arm64@4.60.3': - resolution: {integrity: sha512-xw3xtkDApIOGayehp2+Rz4zimfkaX65r4t47iy+ymQB2G4iJCBBfj0ogVg5jpvjpn8UWn/+q9tprxleYeNp3Hw==} - cpu: [arm64] - os: [android] - '@rollup/rollup-darwin-arm64@4.60.2': resolution: {integrity: sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-arm64@4.60.3': - resolution: {integrity: sha512-vo6Y5Qfpx7/5EaamIwi0WqW2+zfiusVihKatLvtN1VFVy3D13uERk/6gZLU1UiHRL6fDXqj/ELIeVRGnvcTE1g==} - cpu: [arm64] - os: [darwin] - '@rollup/rollup-darwin-x64@4.60.2': resolution: {integrity: sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==} cpu: [x64] os: [darwin] - '@rollup/rollup-darwin-x64@4.60.3': - resolution: {integrity: sha512-D+0QGcZhBzTN82weOnsSlY7V7+RMmPuF1CkbxyMAGE8+ZHeUjyb76ZiWmBlCu//AQQONvxcqRbwZTajZKqjuOw==} - cpu: [x64] - os: [darwin] - '@rollup/rollup-freebsd-arm64@4.60.2': resolution: {integrity: sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-arm64@4.60.3': - resolution: {integrity: sha512-6HnvHCT7fDyj6R0Ph7A6x8dQS/S38MClRWeDLqc0MdfWkxjiu1HSDYrdPhqSILzjTIC/pnXbbJbo+ft+gy/9hQ==} - cpu: [arm64] - os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.2': resolution: {integrity: sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==} cpu: [x64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.3': - resolution: {integrity: sha512-KHLgC3WKlUYW3ShFKnnosZDOJ0xjg9zp7au3sIm2bs/tGBeC2ipmvRh/N7JKi0t9Ue20C0dpEshi8WUubg+cnA==} - cpu: [x64] - os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.60.2': resolution: {integrity: sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==} cpu: [arm] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm-gnueabihf@4.60.3': - resolution: {integrity: sha512-DV6fJoxEYWJOvaZIsok7KrYl0tPvga5OZ2yvKHNNYyk/2roMLqQAbGhr78EQ5YhHpnhLKJD3S1WFusAkmUuV5g==} - cpu: [arm] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-arm-musleabihf@4.60.2': resolution: {integrity: sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==} cpu: [arm] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm-musleabihf@4.60.3': - resolution: {integrity: sha512-mQKoJAzvuOs6F+TZybQO4GOTSMUu7v0WdxEk24krQ/uUxXoPTtHjuaUuPmFhtBcM4K0ons8nrE3JyhTuCFtT/w==} - cpu: [arm] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-arm64-gnu@4.60.2': resolution: {integrity: sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==} cpu: [arm64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm64-gnu@4.60.3': - resolution: {integrity: sha512-Whjj2qoiJ6+OOJMGptTYazaJvjOJm+iKHpXQM1P3LzGjt7Ff++Tp7nH4N8J/BUA7R9IHfDyx4DJIflifwnbmIA==} - cpu: [arm64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-arm64-musl@4.60.2': resolution: {integrity: sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==} cpu: [arm64] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm64-musl@4.60.3': - resolution: {integrity: sha512-4YTNHKqGng5+yiZt3mg77nmyuCfmNfX4fPmyUapBcIk+BdwSwmCWGXOUxhXbBEkFHtoN5boLj/5NON+u5QC9tg==} - cpu: [arm64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-loong64-gnu@4.60.2': resolution: {integrity: sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==} cpu: [loong64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-loong64-gnu@4.60.3': - resolution: {integrity: sha512-SU3kNlhkpI4UqlUc2VXPGK9o886ZsSeGfMAX2ba2b8DKmMXq4AL7KUrkSWVbb7koVqx41Yczx6dx5PNargIrEA==} - cpu: [loong64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-loong64-musl@4.60.2': resolution: {integrity: sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==} cpu: [loong64] os: [linux] libc: [musl] - '@rollup/rollup-linux-loong64-musl@4.60.3': - resolution: {integrity: sha512-6lDLl5h4TXpB1mTf2rQWnAk/LcXrx9vBfu/DT5TIPhvMhRWaZ5MxkIc8u4lJAmBo6klTe1ywXIUHFjylW505sg==} - cpu: [loong64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-ppc64-gnu@4.60.2': resolution: {integrity: sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==} cpu: [ppc64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-ppc64-gnu@4.60.3': - resolution: {integrity: sha512-BMo8bOw8evlup/8G+cj5xWtPyp93xPdyoSN16Zy90Q2QZ0ZYRhCt6ZJSwbrRzG9HApFabjwj2p25TUPDWrhzqQ==} - cpu: [ppc64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-ppc64-musl@4.60.2': resolution: {integrity: sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==} cpu: [ppc64] os: [linux] libc: [musl] - '@rollup/rollup-linux-ppc64-musl@4.60.3': - resolution: {integrity: sha512-E0L8X1dZN1/Rph+5VPF6Xj2G7JJvMACVXtamTJIDrVI44Y3K+G8gQaMEAavbqCGTa16InptiVrX6eM6pmJ+7qA==} - cpu: [ppc64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-riscv64-gnu@4.60.2': resolution: {integrity: sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==} cpu: [riscv64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-riscv64-gnu@4.60.3': - resolution: {integrity: sha512-oZJ/WHaVfHUiRAtmTAeo3DcevNsVvH8mbvodjZy7D5QKvCefO371SiKRpxoDcCxB3PTRTLayWBkvmDQKTcX/sw==} - cpu: [riscv64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-riscv64-musl@4.60.2': resolution: {integrity: sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==} cpu: [riscv64] os: [linux] libc: [musl] - '@rollup/rollup-linux-riscv64-musl@4.60.3': - resolution: {integrity: sha512-Dhbyh7j9FybM3YaTgaHmVALwA8AkUwTPccyCQ79TG9AJUsMQqgN1DDEZNr4+QUfwiWvLDumW5vdwzoeUF+TNxQ==} - cpu: [riscv64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-s390x-gnu@4.60.2': resolution: {integrity: sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==} cpu: [s390x] os: [linux] libc: [glibc] - '@rollup/rollup-linux-s390x-gnu@4.60.3': - resolution: {integrity: sha512-cJd1X5XhHHlltkaypz1UcWLA8AcoIi1aWhsvaWDskD1oz2eKCypnqvTQ8ykMNI0RSmm7NkTdSqSSD7zM0xa6Ig==} - cpu: [s390x] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.2': resolution: {integrity: sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==} cpu: [x64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.3': - resolution: {integrity: sha512-DAZDBHQfG2oQuhY7mc6I3/qB4LU2fQCjRvxbDwd/Jdvb9fypP4IJ4qmtu6lNjes6B531AI8cg1aKC2di97bUxA==} - cpu: [x64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-x64-musl@4.60.2': resolution: {integrity: sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==} cpu: [x64] os: [linux] libc: [musl] - '@rollup/rollup-linux-x64-musl@4.60.3': - resolution: {integrity: sha512-cRxsE8c13mZOh3vP+wLDxpQBRrOHDIGOWyDL93Sy0Ga8y515fBcC2pjUfFwUe5T7tqvTvWbCpg1URM/AXdWIXA==} - cpu: [x64] - os: [linux] - libc: [musl] - '@rollup/rollup-openbsd-x64@4.60.2': resolution: {integrity: sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==} cpu: [x64] os: [openbsd] - '@rollup/rollup-openbsd-x64@4.60.3': - resolution: {integrity: sha512-QaWcIgRxqEdQdhJqW4DJctsH6HCmo5vHxY0krHSX4jMtOqfzC+dqDGuHM87bu4H8JBeibWx7jFz+h6/4C8wA5Q==} - cpu: [x64] - os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.60.2': resolution: {integrity: sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-openharmony-arm64@4.60.3': - resolution: {integrity: sha512-AaXwSvUi3QIPtroAUw1t5yHGIyqKEXwH54WUocFolZhpGDruJcs8c+xPNDRn4XiQsS7MEwnYsHW2l0MBLDMkWg==} - cpu: [arm64] - os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.60.2': resolution: {integrity: sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.60.3': - resolution: {integrity: sha512-65LAKM/bAWDqKNEelHlcHvm2V+Vfb8C6INFxQXRHCvaVN1rJfwr4NvdP4FyzUaLqWfaCGaadf6UbTm8xJeYfEg==} - cpu: [arm64] - os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.2': resolution: {integrity: sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.3': - resolution: {integrity: sha512-EEM2gyhBF5MFnI6vMKdX1LAosE627RGBzIoGMdLloPZkXrUN0Ckqgr2Qi8+J3zip/8NVVro3/FjB+tjhZUgUHA==} - cpu: [ia32] - os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.2': resolution: {integrity: sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.3': - resolution: {integrity: sha512-E5Eb5H/DpxaoXH++Qkv28RcUJboMopmdDUALBczvHMf7hNIxaDZqwY5lK12UK1BHacSmvupoEWGu+n993Z0y1A==} - cpu: [x64] - os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.2': resolution: {integrity: sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.3': - resolution: {integrity: sha512-hPt/bgL5cE+Qp+/TPHBqptcAgPzgj46mPcg/16zNUmbQk0j+mOEQV/+Lqu8QRtDV3Ek95Q6FeFITpuhl6OTsAA==} - cpu: [x64] - os: [win32] - '@schematics/angular@22.0.0-rc.0': resolution: {integrity: sha512-V5BQFRlPfx/rJZOtkDUAunJqNfi+75J0gr41W1VId8TntsddF0jn1Fz4XQncTiu3dk8UMeRUdmyJrjYRl1Q5Wg==} engines: {node: ^22.22.0 || ^24.13.1 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} @@ -2170,8 +2032,8 @@ packages: '@types/mime@1.3.5': resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - '@types/node@20.19.40': - resolution: {integrity: sha512-xxx6M2IpSTnnKcR0cMvIiohkiCx20/oRPtWGbenFygKCGl3zqUzdNjQ/1V4solq1LU+dgv0nQzeGOuqkqZGg0Q==} + '@types/node@20.19.41': + resolution: {integrity: sha512-ECymXOukMnOoVkC2bb1Vc/w/836DXncOg5m8Xj1RH7xSHZJWNYY6Zh7EH477vcnD5egKNNfy2RpNOmuChhFPgQ==} '@types/qs@6.15.1': resolution: {integrity: sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==} @@ -2432,8 +2294,8 @@ packages: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} - bare-events@2.8.2: - resolution: {integrity: sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==} + bare-events@2.8.3: + resolution: {integrity: sha512-HdUm8EMQBLaJvGUdidNNbqpA1kYkwNcb+MYxkxCLAPJGQzlv9J0C24h8V65Z4c5GLd/JEALDvpFCQgpLJqc0zw==} peerDependencies: bare-abort-controller: '*' peerDependenciesMeta: @@ -2473,8 +2335,8 @@ packages: bare-url@2.4.3: resolution: {integrity: sha512-Kccpc7ACfXaxfeInfqKcZtW4pT5YBn1mesc4sCsun6sRwtbJ4h+sNOaksUpYEJUKfN65YWC6Bw2OJEFiKxq8nQ==} - baseline-browser-mapping@2.10.29: - resolution: {integrity: sha512-Asa2krT+XTPZINCS+2QcyS8WTkObE77RwkydwF7h6DmnKqbvlalz93m/dnphUyCa6SWSP51VgtEUf2FN+gelFQ==} + baseline-browser-mapping@2.10.30: + resolution: {integrity: sha512-xjOFN16Ha1+Rz4nFYKqHU/LSB+gx/Vi3yQLX7r7sAW+Wa+8hhF2h4pvqTrTMc8+WcDBEunnUurr46Jvv0jk3Vg==} engines: {node: '>=6.0.0'} hasBin: true @@ -2557,8 +2419,8 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - caniuse-lite@1.0.30001792: - resolution: {integrity: sha512-hVLMUZFgR4JJ6ACt1uEESvQN1/dBVqPAKY0hgrV70eN3391K6juAfTjKZLKvOMsx8PxA7gsY1/tLMMTcfFLLpw==} + caniuse-lite@1.0.30001793: + resolution: {integrity: sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==} chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} @@ -2662,6 +2524,10 @@ packages: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} + content-type@2.0.0: + resolution: {integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==} + engines: {node: '>=18'} + convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} @@ -2826,8 +2692,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.353: - resolution: {integrity: sha512-kOrWphBi8TOZyiJZqsgqIle0lw+tzmnQK83pV9dZUd01Nm2POECSyFQMAuarzZdYqQW7FH9RaYOuaRo3h+bQ3w==} + electron-to-chromium@1.5.358: + resolution: {integrity: sha512-EO7tKm3QxRqTs1lSuPXzl6yRAwznehp0AH9OoMOIC+4mQzTFday8FJCO5KU6J/TFSQXEOahNq4vTKpz1jmCVOA==} emoji-regex@10.6.0: resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} @@ -2972,14 +2838,14 @@ packages: exponential-backoff@3.1.3: resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} - express-rate-limit@8.5.1: - resolution: {integrity: sha512-5O6KYmyJEpuPJV5hNTXKbAHWRqrzyu+OI3vUnSd2kXFubIVpG7ezpgxQy76Zo5GQZtrQBg86hF+CM/NX+cioiQ==} + express-rate-limit@8.5.2: + resolution: {integrity: sha512-5Kb34ipNX694DH48vN9irak1Qx30nb0PLYHXfJgw4YEjiC3ZEmZJhwOp+VfiCYwFzvFTdB9QkArYS5kXa2cx2A==} engines: {node: '>= 16'} peerDependencies: express: '>= 4.11' - express@4.22.1: - resolution: {integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==} + express@4.22.2: + resolution: {integrity: sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==} engines: {node: '>= 0.10.0'} express@5.2.1: @@ -3152,8 +3018,8 @@ packages: resolution: {integrity: sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==} engines: {node: '>= 0.4'} - hono@4.12.18: - resolution: {integrity: sha512-RWzP96k/yv0PQfyXnWjs6zot20TqfpfsNXhOnev8d1InAxubW93L11/oNUc3tQqn2G0bSdAOBpX+2uDFHV7kdQ==} + hono@4.12.19: + resolution: {integrity: sha512-xa3eYXYXx68XTT4hZ7dRzsXBhaq85ToSrlUJNoR0gwz/1Ap/CNwX47wfvV7pc/xWhjKVVkLT7zBJy8chhNguqQ==} engines: {node: '>=16.9.0'} hosted-git-info@9.0.3: @@ -3702,8 +3568,8 @@ packages: engines: {node: ^20.17.0 || >=22.9.0} hasBin: true - node-releases@2.0.38: - resolution: {integrity: sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==} + node-releases@2.0.44: + resolution: {integrity: sha512-5WUyunoPMsvvEhS8AxHtRzP+oA8UCkJ7YRxatWKjngndhDGLiqEVAQKWjFAiAiuL8zMRGzGSJxFnLetoa43qGQ==} nopt@9.0.0: resolution: {integrity: sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==} @@ -4000,12 +3866,8 @@ packages: resolution: {integrity: sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==} engines: {node: '>=16.0.0'} - qs@6.14.2: - resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==} - engines: {node: '>=0.6'} - - qs@6.15.1: - resolution: {integrity: sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==} + qs@6.15.2: + resolution: {integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==} engines: {node: '>=0.6'} range-parser@1.2.1: @@ -4099,11 +3961,6 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - rollup@4.60.3: - resolution: {integrity: sha512-pAQK9HalE84QSm4Po3EmWIZPd3FnjkShVkiMlz1iligWYkWQ7wHYd1PF/T7QZ5TVSD6uSTon5gBVMSM4JfBV+A==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - router@2.2.0: resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} engines: {node: '>= 18'} @@ -4432,11 +4289,6 @@ packages: engines: {node: '>=10'} hasBin: true - terser@5.47.1: - resolution: {integrity: sha512-tPbLXTI6ohPASb/1YViL428oEHu6/qv1OxqYnfaonVCFHqx4+wCd95pHrQWsL5X4pl90CTyW9piSAsS2L0VoMw==} - engines: {node: '>=10'} - hasBin: true - text-decoder@1.2.7: resolution: {integrity: sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ==} @@ -4503,9 +4355,9 @@ packages: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} - type-is@2.0.1: - resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} - engines: {node: '>= 0.6'} + type-is@2.1.0: + resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==} + engines: {node: '>= 18'} typed-assert@1.0.9: resolution: {integrity: sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==} @@ -4722,8 +4574,8 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - ws@8.20.0: - resolution: {integrity: sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==} + ws@8.20.1: + resolution: {integrity: sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -4899,13 +4751,13 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(jiti@2.7.0)(typescript@6.0.3)': + '@angular-devkit/build-angular@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(jiti@2.7.0)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 '@angular-devkit/build-webpack': 0.2200.0-rc.0(webpack-dev-server@5.2.3(tslib@2.8.1)(webpack@5.106.2(postcss@8.5.14)))(webpack@5.106.2(esbuild@0.28.0)(postcss@8.5.13)) '@angular-devkit/core': 22.0.0-rc.0 - '@angular/build': 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) + '@angular/build': 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 7.29.0 '@babel/generator': 7.29.1 @@ -5019,7 +4871,7 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 @@ -5028,8 +4880,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@20.19.40) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)) + '@inquirer/confirm': 6.0.12(@types/node@20.19.41) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -5048,7 +4900,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel @@ -5071,7 +4923,7 @@ snapshots: - tsx - yaml - '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.47.1)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 @@ -5080,8 +4932,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@20.19.40) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)) + '@inquirer/confirm': 6.0.12(@types/node@20.19.41) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -5100,7 +4952,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel @@ -5132,13 +4984,13 @@ snapshots: rxjs: 7.8.2 tslib: 2.8.1 - '@angular/cli@22.0.0-rc.0(@types/node@20.19.40)': + '@angular/cli@22.0.0-rc.0(@types/node@20.19.41)': dependencies: '@angular-devkit/architect': 0.2200.0-rc.0 '@angular-devkit/core': 22.0.0-rc.0 '@angular-devkit/schematics': 22.0.0-rc.0 - '@inquirer/prompts': 8.4.2(@types/node@20.19.40) - '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.40))(@types/node@20.19.40)(listr2@10.2.1) + '@inquirer/prompts': 8.4.2(@types/node@20.19.41) + '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.41))(@types/node@20.19.41)(listr2@10.2.1) '@modelcontextprotocol/sdk': 1.29.0(zod@4.4.2) '@schematics/angular': 22.0.0-rc.0 '@yarnpkg/lockfile': 1.1.0 @@ -6011,135 +5863,135 @@ snapshots: '@harperfast/extended-iterable@1.0.3': optional: true - '@hono/node-server@1.19.14(hono@4.12.18)': + '@hono/node-server@1.19.14(hono@4.12.19)': dependencies: - hono: 4.12.18 + hono: 4.12.19 '@inquirer/ansi@2.0.5': {} - '@inquirer/checkbox@5.1.5(@types/node@20.19.40)': + '@inquirer/checkbox@5.1.5(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/confirm@6.0.12(@types/node@20.19.40)': + '@inquirer/confirm@6.0.12(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/confirm@6.0.13(@types/node@20.19.40)': + '@inquirer/confirm@6.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/core@11.1.10(@types/node@20.19.40)': + '@inquirer/core@11.1.10(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) cli-width: 4.1.0 fast-wrap-ansi: 0.2.0 mute-stream: 3.0.0 signal-exit: 4.1.0 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/editor@5.1.2(@types/node@20.19.40)': + '@inquirer/editor@5.1.2(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/external-editor': 3.0.0(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/external-editor': 3.0.0(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/expand@5.0.14(@types/node@20.19.40)': + '@inquirer/expand@5.0.14(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/external-editor@3.0.0(@types/node@20.19.40)': + '@inquirer/external-editor@3.0.0(@types/node@20.19.41)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@inquirer/figures@2.0.5': {} - '@inquirer/input@5.0.13(@types/node@20.19.40)': + '@inquirer/input@5.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/number@4.0.13(@types/node@20.19.40)': + '@inquirer/number@4.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/password@5.0.13(@types/node@20.19.40)': + '@inquirer/password@5.0.13(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 - - '@inquirer/prompts@8.4.2(@types/node@20.19.40)': - dependencies: - '@inquirer/checkbox': 5.1.5(@types/node@20.19.40) - '@inquirer/confirm': 6.0.13(@types/node@20.19.40) - '@inquirer/editor': 5.1.2(@types/node@20.19.40) - '@inquirer/expand': 5.0.14(@types/node@20.19.40) - '@inquirer/input': 5.0.13(@types/node@20.19.40) - '@inquirer/number': 4.0.13(@types/node@20.19.40) - '@inquirer/password': 5.0.13(@types/node@20.19.40) - '@inquirer/rawlist': 5.2.9(@types/node@20.19.40) - '@inquirer/search': 4.1.9(@types/node@20.19.40) - '@inquirer/select': 5.1.5(@types/node@20.19.40) + '@types/node': 20.19.41 + + '@inquirer/prompts@8.4.2(@types/node@20.19.41)': + dependencies: + '@inquirer/checkbox': 5.1.5(@types/node@20.19.41) + '@inquirer/confirm': 6.0.13(@types/node@20.19.41) + '@inquirer/editor': 5.1.2(@types/node@20.19.41) + '@inquirer/expand': 5.0.14(@types/node@20.19.41) + '@inquirer/input': 5.0.13(@types/node@20.19.41) + '@inquirer/number': 4.0.13(@types/node@20.19.41) + '@inquirer/password': 5.0.13(@types/node@20.19.41) + '@inquirer/rawlist': 5.2.9(@types/node@20.19.41) + '@inquirer/search': 4.1.9(@types/node@20.19.41) + '@inquirer/select': 5.1.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/rawlist@5.2.9(@types/node@20.19.40)': + '@inquirer/rawlist@5.2.9(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/search@4.1.9(@types/node@20.19.40)': + '@inquirer/search@4.1.9(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/select@5.1.5(@types/node@20.19.40)': + '@inquirer/select@5.1.5(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/type@4.0.5(@types/node@20.19.40)': + '@inquirer/type@4.0.5(@types/node@20.19.41)': optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@isaacs/fs-minipass@4.0.1': dependencies: @@ -6307,10 +6159,10 @@ snapshots: '@leichtgewicht/ip-codec@2.0.5': {} - '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.40))(@types/node@20.19.40)(listr2@10.2.1)': + '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.41))(@types/node@20.19.41)(listr2@10.2.1)': dependencies: - '@inquirer/prompts': 8.4.2(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/prompts': 8.4.2(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) listr2: 10.2.1 transitivePeerDependencies: - '@types/node' @@ -6338,7 +6190,7 @@ snapshots: '@modelcontextprotocol/sdk@1.29.0(zod@4.4.2)': dependencies: - '@hono/node-server': 1.19.14(hono@4.12.18) + '@hono/node-server': 1.19.14(hono@4.12.19) ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) content-type: 1.0.5 @@ -6347,8 +6199,8 @@ snapshots: eventsource: 3.0.7 eventsource-parser: 3.0.8 express: 5.2.1 - express-rate-limit: 8.5.1(express@5.2.1) - hono: 4.12.18 + express-rate-limit: 8.5.2(express@5.2.1) + hono: 4.12.19 jose: 6.2.3 json-schema-typed: 8.0.2 pkce-challenge: 5.0.1 @@ -6468,7 +6320,7 @@ snapshots: '@npmcli/fs@5.0.0': dependencies: - semver: 7.8.0 + semver: 7.7.4 '@npmcli/git@7.0.2': dependencies: @@ -6478,7 +6330,7 @@ snapshots: lru-cache: 11.3.6 npm-pick-manifest: 11.0.3 proc-log: 6.1.0 - semver: 7.8.0 + semver: 7.7.4 which: 6.0.1 '@npmcli/installed-package-contents@4.0.0': @@ -6495,7 +6347,7 @@ snapshots: hosted-git-info: 9.0.3 json-parse-even-better-errors: 5.0.0 proc-log: 6.1.0 - semver: 7.8.0 + semver: 7.7.4 spdx-expression-parse: 4.0.0 '@npmcli/promise-spawn@9.0.1': @@ -6685,153 +6537,78 @@ snapshots: '@rollup/rollup-android-arm-eabi@4.60.2': optional: true - '@rollup/rollup-android-arm-eabi@4.60.3': - optional: true - '@rollup/rollup-android-arm64@4.60.2': optional: true - '@rollup/rollup-android-arm64@4.60.3': - optional: true - '@rollup/rollup-darwin-arm64@4.60.2': optional: true - '@rollup/rollup-darwin-arm64@4.60.3': - optional: true - '@rollup/rollup-darwin-x64@4.60.2': optional: true - '@rollup/rollup-darwin-x64@4.60.3': - optional: true - '@rollup/rollup-freebsd-arm64@4.60.2': optional: true - '@rollup/rollup-freebsd-arm64@4.60.3': - optional: true - '@rollup/rollup-freebsd-x64@4.60.2': optional: true - '@rollup/rollup-freebsd-x64@4.60.3': - optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.3': - optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.2': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.3': - optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-arm64-musl@4.60.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-loong64-musl@4.60.2': optional: true - '@rollup/rollup-linux-loong64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.2': optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-x64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-x64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-x64-musl@4.60.2': optional: true - '@rollup/rollup-linux-x64-musl@4.60.3': - optional: true - '@rollup/rollup-openbsd-x64@4.60.2': optional: true - '@rollup/rollup-openbsd-x64@4.60.3': - optional: true - '@rollup/rollup-openharmony-arm64@4.60.2': optional: true - '@rollup/rollup-openharmony-arm64@4.60.3': - optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.2': optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.3': - optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.3': - optional: true - '@rollup/rollup-win32-x64-gnu@4.60.2': optional: true - '@rollup/rollup-win32-x64-gnu@4.60.3': - optional: true - '@rollup/rollup-win32-x64-msvc@4.60.2': optional: true - '@rollup/rollup-win32-x64-msvc@4.60.3': - optional: true - '@schematics/angular@22.0.0-rc.0': dependencies: '@angular-devkit/core': 22.0.0-rc.0 @@ -6893,20 +6670,20 @@ snapshots: '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/bonjour@3.5.13': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 4.19.8 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/connect@3.4.38': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/eslint-scope@3.7.7': dependencies: @@ -6924,7 +6701,7 @@ snapshots: '@types/express-serve-static-core@4.19.8': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/qs': 6.15.1 '@types/range-parser': 1.2.7 '@types/send': 1.2.1 @@ -6940,7 +6717,7 @@ snapshots: '@types/http-proxy@1.17.17': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/jasmine@6.0.0': {} @@ -6948,7 +6725,7 @@ snapshots: '@types/mime@1.3.5': {} - '@types/node@20.19.40': + '@types/node@20.19.41': dependencies: undici-types: 6.21.0 @@ -6961,11 +6738,11 @@ snapshots: '@types/send@0.17.6': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/send@1.2.1': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/serve-index@1.9.4': dependencies: @@ -6974,25 +6751,25 @@ snapshots: '@types/serve-static@1.15.10': dependencies: '@types/http-errors': 2.0.5 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/send': 0.17.6 '@types/sockjs@0.3.36': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/ws@8.18.1': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/yauzl@2.10.3': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 optional: true - '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1))': + '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2))': dependencies: - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) '@webassemblyjs/ast@1.14.1': dependencies: @@ -7186,7 +6963,7 @@ snapshots: autoprefixer@10.5.0(postcss@8.5.13): dependencies: browserslist: 4.28.2 - caniuse-lite: 1.0.30001792 + caniuse-lite: 1.0.30001793 fraction.js: 5.3.4 picocolors: 1.1.1 postcss: 8.5.13 @@ -7235,13 +7012,13 @@ snapshots: balanced-match@4.0.4: {} - bare-events@2.8.2: {} + bare-events@2.8.3: {} bare-fs@4.7.1: dependencies: - bare-events: 2.8.2 + bare-events: 2.8.3 bare-path: 3.0.0 - bare-stream: 2.13.1(bare-events@2.8.2) + bare-stream: 2.13.1(bare-events@2.8.3) bare-url: 2.4.3 fast-fifo: 1.3.2 transitivePeerDependencies: @@ -7254,12 +7031,12 @@ snapshots: dependencies: bare-os: 3.9.1 - bare-stream@2.13.1(bare-events@2.8.2): + bare-stream@2.13.1(bare-events@2.8.3): dependencies: streamx: 2.25.0 teex: 1.0.1 optionalDependencies: - bare-events: 2.8.2 + bare-events: 2.8.3 transitivePeerDependencies: - react-native-b4a @@ -7267,7 +7044,7 @@ snapshots: dependencies: bare-path: 3.0.0 - baseline-browser-mapping@2.10.29: {} + baseline-browser-mapping@2.10.30: {} basic-ftp@5.3.1: {} @@ -7299,7 +7076,7 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.4.24 on-finished: 2.4.1 - qs: 6.15.1 + qs: 6.15.2 raw-body: 2.5.3 type-is: 1.6.18 unpipe: 1.0.0 @@ -7314,9 +7091,9 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.7.2 on-finished: 2.4.1 - qs: 6.15.1 + qs: 6.15.2 raw-body: 3.0.2 - type-is: 2.0.1 + type-is: 2.1.0 transitivePeerDependencies: - supports-color @@ -7337,10 +7114,10 @@ snapshots: browserslist@4.28.2: dependencies: - baseline-browser-mapping: 2.10.29 - caniuse-lite: 1.0.30001792 - electron-to-chromium: 1.5.353 - node-releases: 2.0.38 + baseline-browser-mapping: 2.10.30 + caniuse-lite: 1.0.30001793 + electron-to-chromium: 1.5.358 + node-releases: 2.0.44 update-browserslist-db: 1.2.3(browserslist@4.28.2) buffer-crc32@0.2.13: {} @@ -7380,7 +7157,7 @@ snapshots: callsites@3.1.0: {} - caniuse-lite@1.0.30001792: {} + caniuse-lite@1.0.30001793: {} chalk@4.1.2: dependencies: @@ -7493,6 +7270,8 @@ snapshots: content-type@1.0.5: {} + content-type@2.0.0: {} + convert-source-map@1.9.0: {} convert-source-map@2.0.0: {} @@ -7546,14 +7325,14 @@ snapshots: css-loader@7.1.4(webpack@5.106.2(esbuild@0.28.0)(postcss@8.5.13)): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.14) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.14) - postcss-modules-scope: 3.2.1(postcss@8.5.14) - postcss-modules-values: 4.0.0(postcss@8.5.14) + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.13) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.13) + postcss-modules-scope: 3.2.1(postcss@8.5.13) + postcss-modules-values: 4.0.0(postcss@8.5.13) postcss-value-parser: 4.2.0 - semver: 7.8.0 + semver: 7.7.4 optionalDependencies: webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) @@ -7639,7 +7418,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.353: {} + electron-to-chromium@1.5.358: {} emoji-regex@10.6.0: {} @@ -7784,7 +7563,7 @@ snapshots: events-universal@1.0.1: dependencies: - bare-events: 2.8.2 + bare-events: 2.8.3 transitivePeerDependencies: - bare-abort-controller @@ -7798,12 +7577,12 @@ snapshots: exponential-backoff@3.1.3: {} - express-rate-limit@8.5.1(express@5.2.1): + express-rate-limit@8.5.2(express@5.2.1): dependencies: express: 5.2.1 ip-address: 10.2.0 - express@4.22.1: + express@4.22.2: dependencies: accepts: 1.3.8 array-flatten: 1.1.1 @@ -7826,7 +7605,7 @@ snapshots: parseurl: 1.3.3 path-to-regexp: 0.1.13 proxy-addr: 2.0.7 - qs: 6.14.2 + qs: 6.15.2 range-parser: 1.2.1 safe-buffer: 5.2.1 send: 0.19.2 @@ -7861,13 +7640,13 @@ snapshots: once: 1.4.0 parseurl: 1.3.3 proxy-addr: 2.0.7 - qs: 6.15.1 + qs: 6.15.2 range-parser: 1.2.1 router: 2.2.0 send: 1.2.1 serve-static: 2.2.1 statuses: 2.0.2 - type-is: 2.0.1 + type-is: 2.1.0 vary: 1.1.2 transitivePeerDependencies: - supports-color @@ -8035,7 +7814,7 @@ snapshots: dependencies: function-bind: 1.1.2 - hono@4.12.18: {} + hono@4.12.19: {} hosted-git-info@9.0.3: dependencies: @@ -8143,9 +7922,9 @@ snapshots: dependencies: safer-buffer: 2.1.2 - icss-utils@5.1.0(postcss@8.5.14): + icss-utils@5.1.0(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 ignore-walk@8.0.0: dependencies: @@ -8241,7 +8020,7 @@ snapshots: '@babel/parser': 7.29.3 '@istanbuljs/schema': 0.1.6 istanbul-lib-coverage: 3.2.2 - semver: 7.8.0 + semver: 7.7.4 transitivePeerDependencies: - supports-color @@ -8255,7 +8034,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -8581,13 +8360,13 @@ snapshots: graceful-fs: 4.2.11 nopt: 9.0.0 proc-log: 6.1.0 - semver: 7.8.0 + semver: 7.7.4 tar: 7.5.15 tinyglobby: 0.2.16 undici: 6.25.0 which: 6.0.1 - node-releases@2.0.38: {} + node-releases@2.0.44: {} nopt@9.0.0: dependencies: @@ -8601,7 +8380,7 @@ snapshots: npm-install-checks@8.0.0: dependencies: - semver: 7.8.0 + semver: 7.7.4 npm-normalize-package-bin@5.0.0: {} @@ -8609,7 +8388,7 @@ snapshots: dependencies: hosted-git-info: 9.0.3 proc-log: 6.1.0 - semver: 7.8.0 + semver: 7.7.4 validate-npm-package-name: 7.0.2 npm-packlist@10.0.4: @@ -8622,7 +8401,7 @@ snapshots: npm-install-checks: 8.0.0 npm-normalize-package-bin: 5.0.0 npm-package-arg: 13.0.2 - semver: 7.8.0 + semver: 7.7.4 npm-registry-fetch@19.1.1: dependencies: @@ -8822,7 +8601,7 @@ snapshots: cosmiconfig: 9.0.1(typescript@6.0.3) jiti: 2.7.0 postcss: 8.5.13 - semver: 7.8.0 + semver: 7.7.4 optionalDependencies: webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) transitivePeerDependencies: @@ -8830,26 +8609,26 @@ snapshots: postcss-media-query-parser@0.2.3: {} - postcss-modules-extract-imports@3.1.0(postcss@8.5.14): + postcss-modules-extract-imports@3.1.0(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 - postcss-modules-local-by-default@4.2.0(postcss@8.5.14): + postcss-modules-local-by-default@4.2.0(postcss@8.5.13): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 postcss-selector-parser: 7.1.1 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.2.1(postcss@8.5.14): + postcss-modules-scope@3.2.1(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 postcss-selector-parser: 7.1.1 - postcss-modules-values@4.0.0(postcss@8.5.14): + postcss-modules-values@4.0.0(postcss@8.5.13): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 postcss-safe-parser@7.0.1(postcss@8.5.14): dependencies: @@ -8918,7 +8697,7 @@ snapshots: devtools-protocol: 0.0.1595872 typed-query-selector: 2.12.2 webdriver-bidi-protocol: 0.4.1 - ws: 8.20.0 + ws: 8.20.1 transitivePeerDependencies: - bare-abort-controller - bare-buffer @@ -8950,11 +8729,7 @@ snapshots: pvutils@1.1.5: {} - qs@6.14.2: - dependencies: - side-channel: 1.1.0 - - qs@6.15.1: + qs@6.15.2: dependencies: side-channel: 1.1.0 @@ -9034,7 +8809,7 @@ snapshots: adjust-sourcemap-loader: 4.0.0 convert-source-map: 1.9.0 loader-utils: 2.0.4 - postcss: 8.5.14 + postcss: 8.5.13 source-map: 0.6.1 resolve@1.22.12: @@ -9084,37 +8859,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.60.2 fsevents: 2.3.3 - rollup@4.60.3: - dependencies: - '@types/estree': 1.0.8 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.60.3 - '@rollup/rollup-android-arm64': 4.60.3 - '@rollup/rollup-darwin-arm64': 4.60.3 - '@rollup/rollup-darwin-x64': 4.60.3 - '@rollup/rollup-freebsd-arm64': 4.60.3 - '@rollup/rollup-freebsd-x64': 4.60.3 - '@rollup/rollup-linux-arm-gnueabihf': 4.60.3 - '@rollup/rollup-linux-arm-musleabihf': 4.60.3 - '@rollup/rollup-linux-arm64-gnu': 4.60.3 - '@rollup/rollup-linux-arm64-musl': 4.60.3 - '@rollup/rollup-linux-loong64-gnu': 4.60.3 - '@rollup/rollup-linux-loong64-musl': 4.60.3 - '@rollup/rollup-linux-ppc64-gnu': 4.60.3 - '@rollup/rollup-linux-ppc64-musl': 4.60.3 - '@rollup/rollup-linux-riscv64-gnu': 4.60.3 - '@rollup/rollup-linux-riscv64-musl': 4.60.3 - '@rollup/rollup-linux-s390x-gnu': 4.60.3 - '@rollup/rollup-linux-x64-gnu': 4.60.3 - '@rollup/rollup-linux-x64-musl': 4.60.3 - '@rollup/rollup-openbsd-x64': 4.60.3 - '@rollup/rollup-openharmony-arm64': 4.60.3 - '@rollup/rollup-win32-arm64-msvc': 4.60.3 - '@rollup/rollup-win32-ia32-msvc': 4.60.3 - '@rollup/rollup-win32-x64-gnu': 4.60.3 - '@rollup/rollup-win32-x64-msvc': 4.60.3 - fsevents: 2.3.3 - router@2.2.0: dependencies: debug: 4.4.3 @@ -9484,7 +9228,7 @@ snapshots: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 - terser: 5.47.1 + terser: 5.46.2 webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) optionalDependencies: esbuild: 0.28.0 @@ -9497,13 +9241,6 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 - terser@5.47.1: - dependencies: - '@jridgewell/source-map': 0.3.11 - acorn: 8.16.0 - commander: 2.20.3 - source-map-support: 0.5.21 - text-decoder@1.2.7: dependencies: b4a: 1.8.1 @@ -9533,14 +9270,14 @@ snapshots: tree-kill@1.2.2: {} - ts-node@10.9.2(@types/node@20.19.40)(typescript@6.0.3): + ts-node@10.9.2(@types/node@20.19.41)(typescript@6.0.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.12 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.19.40 + '@types/node': 20.19.41 acorn: 8.16.0 acorn-walk: 8.3.5 arg: 4.1.3 @@ -9572,9 +9309,9 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 - type-is@2.0.1: + type-is@2.1.0: dependencies: - content-type: 1.0.5 + content-type: 2.0.0 media-typer: 1.1.0 mime-types: 3.0.2 @@ -9619,38 +9356,22 @@ snapshots: vary@1.1.2: {} - vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2): + vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) picomatch: 4.0.4 postcss: 8.5.14 - rollup: 4.60.3 + rollup: 4.60.2 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 fsevents: 2.3.3 jiti: 2.7.0 less: 4.6.4 sass: 1.99.0 terser: 5.46.2 - vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1): - dependencies: - esbuild: 0.27.7 - fdir: 6.5.0(picomatch@4.0.4) - picomatch: 4.0.4 - postcss: 8.5.14 - rollup: 4.60.3 - tinyglobby: 0.2.16 - optionalDependencies: - '@types/node': 20.19.40 - fsevents: 2.3.3 - jiti: 2.7.0 - less: 4.6.4 - sass: 1.99.0 - terser: 5.47.1 - watchpack@2.5.1: dependencies: glob-to-regexp: 0.4.1 @@ -9706,7 +9427,7 @@ snapshots: colorette: 2.0.20 compression: 1.8.1 connect-history-api-fallback: 2.0.0 - express: 4.22.1 + express: 4.22.2 graceful-fs: 4.2.11 http-proxy-middleware: 2.0.9(@types/express@4.17.25) ipaddr.js: 2.4.0 @@ -9719,7 +9440,7 @@ snapshots: sockjs: 0.3.24 spdy: 4.0.2 webpack-dev-middleware: 7.4.5(tslib@2.8.1)(webpack@5.106.2(postcss@8.5.14)) - ws: 8.20.0 + ws: 8.20.1 optionalDependencies: webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) transitivePeerDependencies: @@ -9820,7 +9541,7 @@ snapshots: wrappy@1.0.2: {} - ws@8.20.0: {} + ws@8.20.1: {} wsl-utils@0.1.0: dependencies: diff --git a/integration/cli-hello-world-ivy-i18n/pnpm-lock.yaml b/integration/cli-hello-world-ivy-i18n/pnpm-lock.yaml index ebe4bbdae045..79853629cef1 100644 --- a/integration/cli-hello-world-ivy-i18n/pnpm-lock.yaml +++ b/integration/cli-hello-world-ivy-i18n/pnpm-lock.yaml @@ -41,13 +41,13 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.40)(jiti@2.7.0)(typescript@6.0.3) + version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.41)(jiti@2.7.0)(typescript@6.0.3) '@angular/build': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.47.1)(tslib@2.8.1)(typescript@6.0.3) + version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/cli': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@types/node@20.19.40) + version: 22.0.0-rc.0(@types/node@20.19.41) '@angular/compiler-cli': specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel @@ -59,7 +59,7 @@ importers: version: 2.0.13 '@types/node': specifier: ^20.14.8 - version: 20.19.40 + version: 20.19.41 concurrently: specifier: 9.2.1 version: 9.2.1 @@ -80,7 +80,7 @@ importers: version: 14.2.6 ts-node: specifier: ^10.9.1 - version: 10.9.2(@types/node@20.19.40)(typescript@6.0.3) + version: 10.9.2(@types/node@20.19.41)(typescript@6.0.3) typescript: specifier: 6.0.3 version: 6.0.3 @@ -1779,277 +1779,139 @@ packages: cpu: [arm] os: [android] - '@rollup/rollup-android-arm-eabi@4.60.3': - resolution: {integrity: sha512-x35CNW/ANXG3hE/EZpRU8MXX1JDN86hBb2wMGAtltkz7pc6cxgjpy1OMMfDosOQ+2hWqIkag/fGok1Yady9nGw==} - cpu: [arm] - os: [android] - '@rollup/rollup-android-arm64@4.60.2': resolution: {integrity: sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==} cpu: [arm64] os: [android] - '@rollup/rollup-android-arm64@4.60.3': - resolution: {integrity: sha512-xw3xtkDApIOGayehp2+Rz4zimfkaX65r4t47iy+ymQB2G4iJCBBfj0ogVg5jpvjpn8UWn/+q9tprxleYeNp3Hw==} - cpu: [arm64] - os: [android] - '@rollup/rollup-darwin-arm64@4.60.2': resolution: {integrity: sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-arm64@4.60.3': - resolution: {integrity: sha512-vo6Y5Qfpx7/5EaamIwi0WqW2+zfiusVihKatLvtN1VFVy3D13uERk/6gZLU1UiHRL6fDXqj/ELIeVRGnvcTE1g==} - cpu: [arm64] - os: [darwin] - '@rollup/rollup-darwin-x64@4.60.2': resolution: {integrity: sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==} cpu: [x64] os: [darwin] - '@rollup/rollup-darwin-x64@4.60.3': - resolution: {integrity: sha512-D+0QGcZhBzTN82weOnsSlY7V7+RMmPuF1CkbxyMAGE8+ZHeUjyb76ZiWmBlCu//AQQONvxcqRbwZTajZKqjuOw==} - cpu: [x64] - os: [darwin] - '@rollup/rollup-freebsd-arm64@4.60.2': resolution: {integrity: sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-arm64@4.60.3': - resolution: {integrity: sha512-6HnvHCT7fDyj6R0Ph7A6x8dQS/S38MClRWeDLqc0MdfWkxjiu1HSDYrdPhqSILzjTIC/pnXbbJbo+ft+gy/9hQ==} - cpu: [arm64] - os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.2': resolution: {integrity: sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==} cpu: [x64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.3': - resolution: {integrity: sha512-KHLgC3WKlUYW3ShFKnnosZDOJ0xjg9zp7au3sIm2bs/tGBeC2ipmvRh/N7JKi0t9Ue20C0dpEshi8WUubg+cnA==} - cpu: [x64] - os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.60.2': resolution: {integrity: sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==} cpu: [arm] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm-gnueabihf@4.60.3': - resolution: {integrity: sha512-DV6fJoxEYWJOvaZIsok7KrYl0tPvga5OZ2yvKHNNYyk/2roMLqQAbGhr78EQ5YhHpnhLKJD3S1WFusAkmUuV5g==} - cpu: [arm] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-arm-musleabihf@4.60.2': resolution: {integrity: sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==} cpu: [arm] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm-musleabihf@4.60.3': - resolution: {integrity: sha512-mQKoJAzvuOs6F+TZybQO4GOTSMUu7v0WdxEk24krQ/uUxXoPTtHjuaUuPmFhtBcM4K0ons8nrE3JyhTuCFtT/w==} - cpu: [arm] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-arm64-gnu@4.60.2': resolution: {integrity: sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==} cpu: [arm64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm64-gnu@4.60.3': - resolution: {integrity: sha512-Whjj2qoiJ6+OOJMGptTYazaJvjOJm+iKHpXQM1P3LzGjt7Ff++Tp7nH4N8J/BUA7R9IHfDyx4DJIflifwnbmIA==} - cpu: [arm64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-arm64-musl@4.60.2': resolution: {integrity: sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==} cpu: [arm64] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm64-musl@4.60.3': - resolution: {integrity: sha512-4YTNHKqGng5+yiZt3mg77nmyuCfmNfX4fPmyUapBcIk+BdwSwmCWGXOUxhXbBEkFHtoN5boLj/5NON+u5QC9tg==} - cpu: [arm64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-loong64-gnu@4.60.2': resolution: {integrity: sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==} cpu: [loong64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-loong64-gnu@4.60.3': - resolution: {integrity: sha512-SU3kNlhkpI4UqlUc2VXPGK9o886ZsSeGfMAX2ba2b8DKmMXq4AL7KUrkSWVbb7koVqx41Yczx6dx5PNargIrEA==} - cpu: [loong64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-loong64-musl@4.60.2': resolution: {integrity: sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==} cpu: [loong64] os: [linux] libc: [musl] - '@rollup/rollup-linux-loong64-musl@4.60.3': - resolution: {integrity: sha512-6lDLl5h4TXpB1mTf2rQWnAk/LcXrx9vBfu/DT5TIPhvMhRWaZ5MxkIc8u4lJAmBo6klTe1ywXIUHFjylW505sg==} - cpu: [loong64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-ppc64-gnu@4.60.2': resolution: {integrity: sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==} cpu: [ppc64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-ppc64-gnu@4.60.3': - resolution: {integrity: sha512-BMo8bOw8evlup/8G+cj5xWtPyp93xPdyoSN16Zy90Q2QZ0ZYRhCt6ZJSwbrRzG9HApFabjwj2p25TUPDWrhzqQ==} - cpu: [ppc64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-ppc64-musl@4.60.2': resolution: {integrity: sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==} cpu: [ppc64] os: [linux] libc: [musl] - '@rollup/rollup-linux-ppc64-musl@4.60.3': - resolution: {integrity: sha512-E0L8X1dZN1/Rph+5VPF6Xj2G7JJvMACVXtamTJIDrVI44Y3K+G8gQaMEAavbqCGTa16InptiVrX6eM6pmJ+7qA==} - cpu: [ppc64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-riscv64-gnu@4.60.2': resolution: {integrity: sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==} cpu: [riscv64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-riscv64-gnu@4.60.3': - resolution: {integrity: sha512-oZJ/WHaVfHUiRAtmTAeo3DcevNsVvH8mbvodjZy7D5QKvCefO371SiKRpxoDcCxB3PTRTLayWBkvmDQKTcX/sw==} - cpu: [riscv64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-riscv64-musl@4.60.2': resolution: {integrity: sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==} cpu: [riscv64] os: [linux] libc: [musl] - '@rollup/rollup-linux-riscv64-musl@4.60.3': - resolution: {integrity: sha512-Dhbyh7j9FybM3YaTgaHmVALwA8AkUwTPccyCQ79TG9AJUsMQqgN1DDEZNr4+QUfwiWvLDumW5vdwzoeUF+TNxQ==} - cpu: [riscv64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-s390x-gnu@4.60.2': resolution: {integrity: sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==} cpu: [s390x] os: [linux] libc: [glibc] - '@rollup/rollup-linux-s390x-gnu@4.60.3': - resolution: {integrity: sha512-cJd1X5XhHHlltkaypz1UcWLA8AcoIi1aWhsvaWDskD1oz2eKCypnqvTQ8ykMNI0RSmm7NkTdSqSSD7zM0xa6Ig==} - cpu: [s390x] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.2': resolution: {integrity: sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==} cpu: [x64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.3': - resolution: {integrity: sha512-DAZDBHQfG2oQuhY7mc6I3/qB4LU2fQCjRvxbDwd/Jdvb9fypP4IJ4qmtu6lNjes6B531AI8cg1aKC2di97bUxA==} - cpu: [x64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-x64-musl@4.60.2': resolution: {integrity: sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==} cpu: [x64] os: [linux] libc: [musl] - '@rollup/rollup-linux-x64-musl@4.60.3': - resolution: {integrity: sha512-cRxsE8c13mZOh3vP+wLDxpQBRrOHDIGOWyDL93Sy0Ga8y515fBcC2pjUfFwUe5T7tqvTvWbCpg1URM/AXdWIXA==} - cpu: [x64] - os: [linux] - libc: [musl] - '@rollup/rollup-openbsd-x64@4.60.2': resolution: {integrity: sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==} cpu: [x64] os: [openbsd] - '@rollup/rollup-openbsd-x64@4.60.3': - resolution: {integrity: sha512-QaWcIgRxqEdQdhJqW4DJctsH6HCmo5vHxY0krHSX4jMtOqfzC+dqDGuHM87bu4H8JBeibWx7jFz+h6/4C8wA5Q==} - cpu: [x64] - os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.60.2': resolution: {integrity: sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-openharmony-arm64@4.60.3': - resolution: {integrity: sha512-AaXwSvUi3QIPtroAUw1t5yHGIyqKEXwH54WUocFolZhpGDruJcs8c+xPNDRn4XiQsS7MEwnYsHW2l0MBLDMkWg==} - cpu: [arm64] - os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.60.2': resolution: {integrity: sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.60.3': - resolution: {integrity: sha512-65LAKM/bAWDqKNEelHlcHvm2V+Vfb8C6INFxQXRHCvaVN1rJfwr4NvdP4FyzUaLqWfaCGaadf6UbTm8xJeYfEg==} - cpu: [arm64] - os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.2': resolution: {integrity: sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.3': - resolution: {integrity: sha512-EEM2gyhBF5MFnI6vMKdX1LAosE627RGBzIoGMdLloPZkXrUN0Ckqgr2Qi8+J3zip/8NVVro3/FjB+tjhZUgUHA==} - cpu: [ia32] - os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.2': resolution: {integrity: sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.3': - resolution: {integrity: sha512-E5Eb5H/DpxaoXH++Qkv28RcUJboMopmdDUALBczvHMf7hNIxaDZqwY5lK12UK1BHacSmvupoEWGu+n993Z0y1A==} - cpu: [x64] - os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.2': resolution: {integrity: sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.3': - resolution: {integrity: sha512-hPt/bgL5cE+Qp+/TPHBqptcAgPzgj46mPcg/16zNUmbQk0j+mOEQV/+Lqu8QRtDV3Ek95Q6FeFITpuhl6OTsAA==} - cpu: [x64] - os: [win32] - '@schematics/angular@22.0.0-rc.0': resolution: {integrity: sha512-V5BQFRlPfx/rJZOtkDUAunJqNfi+75J0gr41W1VId8TntsddF0jn1Fz4XQncTiu3dk8UMeRUdmyJrjYRl1Q5Wg==} engines: {node: ^22.22.0 || ^24.13.1 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} @@ -2146,8 +2008,8 @@ packages: '@types/mime@1.3.5': resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - '@types/node@20.19.40': - resolution: {integrity: sha512-xxx6M2IpSTnnKcR0cMvIiohkiCx20/oRPtWGbenFygKCGl3zqUzdNjQ/1V4solq1LU+dgv0nQzeGOuqkqZGg0Q==} + '@types/node@20.19.41': + resolution: {integrity: sha512-ECymXOukMnOoVkC2bb1Vc/w/836DXncOg5m8Xj1RH7xSHZJWNYY6Zh7EH477vcnD5egKNNfy2RpNOmuChhFPgQ==} '@types/q@0.0.32': resolution: {integrity: sha512-qYi3YV9inU/REEfxwVcGZzbS3KG/Xs90lv0Pr+lDtuVjBPGd1A+eciXzVSaRvLify132BfcvhvEjeVahrUl0Ug==} @@ -2484,8 +2346,8 @@ packages: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} - baseline-browser-mapping@2.10.29: - resolution: {integrity: sha512-Asa2krT+XTPZINCS+2QcyS8WTkObE77RwkydwF7h6DmnKqbvlalz93m/dnphUyCa6SWSP51VgtEUf2FN+gelFQ==} + baseline-browser-mapping@2.10.30: + resolution: {integrity: sha512-xjOFN16Ha1+Rz4nFYKqHU/LSB+gx/Vi3yQLX7r7sAW+Wa+8hhF2h4pvqTrTMc8+WcDBEunnUurr46Jvv0jk3Vg==} engines: {node: '>=6.0.0'} hasBin: true @@ -2595,8 +2457,8 @@ packages: resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} engines: {node: '>=14.16'} - caniuse-lite@1.0.30001792: - resolution: {integrity: sha512-hVLMUZFgR4JJ6ACt1uEESvQN1/dBVqPAKY0hgrV70eN3391K6juAfTjKZLKvOMsx8PxA7gsY1/tLMMTcfFLLpw==} + caniuse-lite@1.0.30001793: + resolution: {integrity: sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==} caseless@0.12.0: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} @@ -2746,6 +2608,10 @@ packages: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} + content-type@2.0.0: + resolution: {integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==} + engines: {node: '>=18'} + convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} @@ -2960,8 +2826,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.353: - resolution: {integrity: sha512-kOrWphBi8TOZyiJZqsgqIle0lw+tzmnQK83pV9dZUd01Nm2POECSyFQMAuarzZdYqQW7FH9RaYOuaRo3h+bQ3w==} + electron-to-chromium@1.5.358: + resolution: {integrity: sha512-EO7tKm3QxRqTs1lSuPXzl6yRAwznehp0AH9OoMOIC+4mQzTFday8FJCO5KU6J/TFSQXEOahNq4vTKpz1jmCVOA==} emoji-regex@10.6.0: resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} @@ -3123,14 +2989,14 @@ packages: exponential-backoff@3.1.3: resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} - express-rate-limit@8.5.1: - resolution: {integrity: sha512-5O6KYmyJEpuPJV5hNTXKbAHWRqrzyu+OI3vUnSd2kXFubIVpG7ezpgxQy76Zo5GQZtrQBg86hF+CM/NX+cioiQ==} + express-rate-limit@8.5.2: + resolution: {integrity: sha512-5Kb34ipNX694DH48vN9irak1Qx30nb0PLYHXfJgw4YEjiC3ZEmZJhwOp+VfiCYwFzvFTdB9QkArYS5kXa2cx2A==} engines: {node: '>= 16'} peerDependencies: express: '>= 4.11' - express@4.22.1: - resolution: {integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==} + express@4.22.2: + resolution: {integrity: sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==} engines: {node: '>= 0.10.0'} express@5.2.1: @@ -3378,8 +3244,8 @@ packages: resolution: {integrity: sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==} engines: {node: '>= 0.4'} - hono@4.12.18: - resolution: {integrity: sha512-RWzP96k/yv0PQfyXnWjs6zot20TqfpfsNXhOnev8d1InAxubW93L11/oNUc3tQqn2G0bSdAOBpX+2uDFHV7kdQ==} + hono@4.12.19: + resolution: {integrity: sha512-xa3eYXYXx68XTT4hZ7dRzsXBhaq85ToSrlUJNoR0gwz/1Ap/CNwX47wfvV7pc/xWhjKVVkLT7zBJy8chhNguqQ==} engines: {node: '>=16.9.0'} hosted-git-info@2.8.9: @@ -4136,8 +4002,8 @@ packages: engines: {node: ^20.17.0 || >=22.9.0} hasBin: true - node-releases@2.0.38: - resolution: {integrity: sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==} + node-releases@2.0.44: + resolution: {integrity: sha512-5WUyunoPMsvvEhS8AxHtRzP+oA8UCkJ7YRxatWKjngndhDGLiqEVAQKWjFAiAiuL8zMRGzGSJxFnLetoa43qGQ==} nopt@9.0.0: resolution: {integrity: sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==} @@ -4521,12 +4387,8 @@ packages: (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) - qs@6.14.2: - resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==} - engines: {node: '>=0.6'} - - qs@6.15.1: - resolution: {integrity: sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==} + qs@6.15.2: + resolution: {integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==} engines: {node: '>=0.6'} qs@6.5.5: @@ -4664,11 +4526,6 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - rollup@4.60.3: - resolution: {integrity: sha512-pAQK9HalE84QSm4Po3EmWIZPd3FnjkShVkiMlz1iligWYkWQ7wHYd1PF/T7QZ5TVSD6uSTon5gBVMSM4JfBV+A==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - router@2.2.0: resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} engines: {node: '>= 18'} @@ -5102,11 +4959,6 @@ packages: engines: {node: '>=10'} hasBin: true - terser@5.47.1: - resolution: {integrity: sha512-tPbLXTI6ohPASb/1YViL428oEHu6/qv1OxqYnfaonVCFHqx4+wCd95pHrQWsL5X4pl90CTyW9piSAsS2L0VoMw==} - engines: {node: '>=10'} - hasBin: true - thingies@2.6.0: resolution: {integrity: sha512-rMHRjmlFLM1R96UYPvpmnc3LYtdFrT33JIB7L9hetGue1qAPfn1N2LJeEjxUSidu1Iku+haLZXDuEXUHNGO/lg==} engines: {node: '>=10.18'} @@ -5188,9 +5040,9 @@ packages: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} - type-is@2.0.1: - resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} - engines: {node: '>= 0.6'} + type-is@2.1.0: + resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==} + engines: {node: '>= 18'} typed-array-buffer@1.0.3: resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} @@ -5483,8 +5335,8 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - ws@8.20.0: - resolution: {integrity: sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==} + ws@8.20.1: + resolution: {integrity: sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -5673,13 +5525,13 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.40)(jiti@2.7.0)(typescript@6.0.3)': + '@angular-devkit/build-angular@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.41)(jiti@2.7.0)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 '@angular-devkit/build-webpack': 0.2200.0-rc.0(webpack-dev-server@5.2.3(tslib@2.8.1)(webpack@5.106.2(postcss@8.5.14)))(webpack@5.106.2(esbuild@0.28.0)(postcss@8.5.13)) '@angular-devkit/core': 22.0.0-rc.0 - '@angular/build': 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) + '@angular/build': 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 7.29.0 '@babel/generator': 7.29.1 @@ -5793,7 +5645,7 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 @@ -5802,8 +5654,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@20.19.40) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)) + '@inquirer/confirm': 6.0.12(@types/node@20.19.41) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -5822,7 +5674,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel @@ -5845,7 +5697,7 @@ snapshots: - tsx - yaml - '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.47.1)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 @@ -5854,8 +5706,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@20.19.40) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)) + '@inquirer/confirm': 6.0.12(@types/node@20.19.41) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -5874,7 +5726,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel @@ -5897,13 +5749,13 @@ snapshots: - tsx - yaml - '@angular/cli@22.0.0-rc.0(@types/node@20.19.40)': + '@angular/cli@22.0.0-rc.0(@types/node@20.19.41)': dependencies: '@angular-devkit/architect': 0.2200.0-rc.0 '@angular-devkit/core': 22.0.0-rc.0 '@angular-devkit/schematics': 22.0.0-rc.0 - '@inquirer/prompts': 8.4.2(@types/node@20.19.40) - '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.40))(@types/node@20.19.40)(listr2@10.2.1) + '@inquirer/prompts': 8.4.2(@types/node@20.19.41) + '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.41))(@types/node@20.19.41)(listr2@10.2.1) '@modelcontextprotocol/sdk': 1.29.0(zod@4.4.2) '@schematics/angular': 22.0.0-rc.0 '@yarnpkg/lockfile': 1.1.0 @@ -6769,135 +6621,135 @@ snapshots: '@harperfast/extended-iterable@1.0.3': optional: true - '@hono/node-server@1.19.14(hono@4.12.18)': + '@hono/node-server@1.19.14(hono@4.12.19)': dependencies: - hono: 4.12.18 + hono: 4.12.19 '@inquirer/ansi@2.0.5': {} - '@inquirer/checkbox@5.1.5(@types/node@20.19.40)': + '@inquirer/checkbox@5.1.5(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/confirm@6.0.12(@types/node@20.19.40)': + '@inquirer/confirm@6.0.12(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/confirm@6.0.13(@types/node@20.19.40)': + '@inquirer/confirm@6.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/core@11.1.10(@types/node@20.19.40)': + '@inquirer/core@11.1.10(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) cli-width: 4.1.0 fast-wrap-ansi: 0.2.0 mute-stream: 3.0.0 signal-exit: 4.1.0 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/editor@5.1.2(@types/node@20.19.40)': + '@inquirer/editor@5.1.2(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/external-editor': 3.0.0(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/external-editor': 3.0.0(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/expand@5.0.14(@types/node@20.19.40)': + '@inquirer/expand@5.0.14(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/external-editor@3.0.0(@types/node@20.19.40)': + '@inquirer/external-editor@3.0.0(@types/node@20.19.41)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@inquirer/figures@2.0.5': {} - '@inquirer/input@5.0.13(@types/node@20.19.40)': + '@inquirer/input@5.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/number@4.0.13(@types/node@20.19.40)': + '@inquirer/number@4.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/password@5.0.13(@types/node@20.19.40)': + '@inquirer/password@5.0.13(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 - - '@inquirer/prompts@8.4.2(@types/node@20.19.40)': - dependencies: - '@inquirer/checkbox': 5.1.5(@types/node@20.19.40) - '@inquirer/confirm': 6.0.13(@types/node@20.19.40) - '@inquirer/editor': 5.1.2(@types/node@20.19.40) - '@inquirer/expand': 5.0.14(@types/node@20.19.40) - '@inquirer/input': 5.0.13(@types/node@20.19.40) - '@inquirer/number': 4.0.13(@types/node@20.19.40) - '@inquirer/password': 5.0.13(@types/node@20.19.40) - '@inquirer/rawlist': 5.2.9(@types/node@20.19.40) - '@inquirer/search': 4.1.9(@types/node@20.19.40) - '@inquirer/select': 5.1.5(@types/node@20.19.40) + '@types/node': 20.19.41 + + '@inquirer/prompts@8.4.2(@types/node@20.19.41)': + dependencies: + '@inquirer/checkbox': 5.1.5(@types/node@20.19.41) + '@inquirer/confirm': 6.0.13(@types/node@20.19.41) + '@inquirer/editor': 5.1.2(@types/node@20.19.41) + '@inquirer/expand': 5.0.14(@types/node@20.19.41) + '@inquirer/input': 5.0.13(@types/node@20.19.41) + '@inquirer/number': 4.0.13(@types/node@20.19.41) + '@inquirer/password': 5.0.13(@types/node@20.19.41) + '@inquirer/rawlist': 5.2.9(@types/node@20.19.41) + '@inquirer/search': 4.1.9(@types/node@20.19.41) + '@inquirer/select': 5.1.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/rawlist@5.2.9(@types/node@20.19.40)': + '@inquirer/rawlist@5.2.9(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/search@4.1.9(@types/node@20.19.40)': + '@inquirer/search@4.1.9(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/select@5.1.5(@types/node@20.19.40)': + '@inquirer/select@5.1.5(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/type@4.0.5(@types/node@20.19.40)': + '@inquirer/type@4.0.5(@types/node@20.19.41)': optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@isaacs/fs-minipass@4.0.1': dependencies: @@ -7063,10 +6915,10 @@ snapshots: '@leichtgewicht/ip-codec@2.0.5': {} - '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.40))(@types/node@20.19.40)(listr2@10.2.1)': + '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.41))(@types/node@20.19.41)(listr2@10.2.1)': dependencies: - '@inquirer/prompts': 8.4.2(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/prompts': 8.4.2(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) listr2: 10.2.1 transitivePeerDependencies: - '@types/node' @@ -7094,7 +6946,7 @@ snapshots: '@modelcontextprotocol/sdk@1.29.0(zod@4.4.2)': dependencies: - '@hono/node-server': 1.19.14(hono@4.12.18) + '@hono/node-server': 1.19.14(hono@4.12.19) ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) content-type: 1.0.5 @@ -7103,8 +6955,8 @@ snapshots: eventsource: 3.0.7 eventsource-parser: 3.0.8 express: 5.2.1 - express-rate-limit: 8.5.1(express@5.2.1) - hono: 4.12.18 + express-rate-limit: 8.5.2(express@5.2.1) + hono: 4.12.19 jose: 6.2.3 json-schema-typed: 8.0.2 pkce-challenge: 5.0.1 @@ -7426,153 +7278,78 @@ snapshots: '@rollup/rollup-android-arm-eabi@4.60.2': optional: true - '@rollup/rollup-android-arm-eabi@4.60.3': - optional: true - '@rollup/rollup-android-arm64@4.60.2': optional: true - '@rollup/rollup-android-arm64@4.60.3': - optional: true - '@rollup/rollup-darwin-arm64@4.60.2': optional: true - '@rollup/rollup-darwin-arm64@4.60.3': - optional: true - '@rollup/rollup-darwin-x64@4.60.2': optional: true - '@rollup/rollup-darwin-x64@4.60.3': - optional: true - '@rollup/rollup-freebsd-arm64@4.60.2': optional: true - '@rollup/rollup-freebsd-arm64@4.60.3': - optional: true - '@rollup/rollup-freebsd-x64@4.60.2': optional: true - '@rollup/rollup-freebsd-x64@4.60.3': - optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.3': - optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.2': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.3': - optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-arm64-musl@4.60.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-loong64-musl@4.60.2': optional: true - '@rollup/rollup-linux-loong64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.2': optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-x64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-x64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-x64-musl@4.60.2': optional: true - '@rollup/rollup-linux-x64-musl@4.60.3': - optional: true - '@rollup/rollup-openbsd-x64@4.60.2': optional: true - '@rollup/rollup-openbsd-x64@4.60.3': - optional: true - '@rollup/rollup-openharmony-arm64@4.60.2': optional: true - '@rollup/rollup-openharmony-arm64@4.60.3': - optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.2': optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.3': - optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.3': - optional: true - '@rollup/rollup-win32-x64-gnu@4.60.2': optional: true - '@rollup/rollup-win32-x64-gnu@4.60.3': - optional: true - '@rollup/rollup-win32-x64-msvc@4.60.2': optional: true - '@rollup/rollup-win32-x64-msvc@4.60.3': - optional: true - '@schematics/angular@22.0.0-rc.0': dependencies: '@angular-devkit/core': 22.0.0-rc.0 @@ -7632,20 +7409,20 @@ snapshots: '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/bonjour@3.5.13': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 4.19.8 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/connect@3.4.38': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/eslint-scope@3.7.7': dependencies: @@ -7663,7 +7440,7 @@ snapshots: '@types/express-serve-static-core@4.19.8': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/qs': 6.15.1 '@types/range-parser': 1.2.7 '@types/send': 1.2.1 @@ -7679,7 +7456,7 @@ snapshots: '@types/http-proxy@1.17.17': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/jasmine@6.0.0': {} @@ -7691,7 +7468,7 @@ snapshots: '@types/mime@1.3.5': {} - '@types/node@20.19.40': + '@types/node@20.19.41': dependencies: undici-types: 6.21.0 @@ -7708,11 +7485,11 @@ snapshots: '@types/send@0.17.6': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/send@1.2.1': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/serve-index@1.9.4': dependencies: @@ -7721,20 +7498,20 @@ snapshots: '@types/serve-static@1.15.10': dependencies: '@types/http-errors': 2.0.5 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/send': 0.17.6 '@types/sockjs@0.3.36': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/ws@8.18.1': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1))': + '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2))': dependencies: - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) '@webassemblyjs/ast@1.14.1': dependencies: @@ -7995,7 +7772,7 @@ snapshots: autoprefixer@10.5.0(postcss@8.5.13): dependencies: browserslist: 4.28.2 - caniuse-lite: 1.0.30001792 + caniuse-lite: 1.0.30001793 fraction.js: 5.3.4 picocolors: 1.1.1 postcss: 8.5.13 @@ -8052,7 +7829,7 @@ snapshots: balanced-match@4.0.4: {} - baseline-browser-mapping@2.10.29: {} + baseline-browser-mapping@2.10.30: {} batch@0.6.1: {} @@ -8090,7 +7867,7 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.4.24 on-finished: 2.4.1 - qs: 6.15.1 + qs: 6.15.2 raw-body: 2.5.3 type-is: 1.6.18 unpipe: 1.0.0 @@ -8105,9 +7882,9 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.7.2 on-finished: 2.4.1 - qs: 6.15.1 + qs: 6.15.2 raw-body: 3.0.2 - type-is: 2.0.1 + type-is: 2.1.0 transitivePeerDependencies: - supports-color @@ -8144,10 +7921,10 @@ snapshots: browserslist@4.28.2: dependencies: - baseline-browser-mapping: 2.10.29 - caniuse-lite: 1.0.30001792 - electron-to-chromium: 1.5.353 - node-releases: 2.0.38 + baseline-browser-mapping: 2.10.30 + caniuse-lite: 1.0.30001793 + electron-to-chromium: 1.5.358 + node-releases: 2.0.44 update-browserslist-db: 1.2.3(browserslist@4.28.2) browserstack@1.6.1: @@ -8204,7 +7981,7 @@ snapshots: camelcase@7.0.1: {} - caniuse-lite@1.0.30001792: {} + caniuse-lite@1.0.30001793: {} caseless@0.12.0: {} @@ -8363,6 +8140,8 @@ snapshots: content-type@1.0.5: {} + content-type@2.0.0: {} + convert-source-map@1.9.0: {} convert-source-map@2.0.0: {} @@ -8426,12 +8205,12 @@ snapshots: css-loader@7.1.4(webpack@5.106.2(esbuild@0.28.0)(postcss@8.5.13)): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.14) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.14) - postcss-modules-scope: 3.2.1(postcss@8.5.14) - postcss-modules-values: 4.0.0(postcss@8.5.14) + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.13) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.13) + postcss-modules-scope: 3.2.1(postcss@8.5.13) + postcss-modules-values: 4.0.0(postcss@8.5.13) postcss-value-parser: 4.2.0 semver: 7.7.4 optionalDependencies: @@ -8570,7 +8349,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.353: {} + electron-to-chromium@1.5.358: {} emoji-regex@10.6.0: {} @@ -8803,12 +8582,12 @@ snapshots: exponential-backoff@3.1.3: {} - express-rate-limit@8.5.1(express@5.2.1): + express-rate-limit@8.5.2(express@5.2.1): dependencies: express: 5.2.1 ip-address: 10.2.0 - express@4.22.1: + express@4.22.2: dependencies: accepts: 1.3.8 array-flatten: 1.1.1 @@ -8831,7 +8610,7 @@ snapshots: parseurl: 1.3.3 path-to-regexp: 0.1.13 proxy-addr: 2.0.7 - qs: 6.14.2 + qs: 6.15.2 range-parser: 1.2.1 safe-buffer: 5.2.1 send: 0.19.2 @@ -8866,13 +8645,13 @@ snapshots: once: 1.4.0 parseurl: 1.3.3 proxy-addr: 2.0.7 - qs: 6.15.1 + qs: 6.15.2 range-parser: 1.2.1 router: 2.2.0 send: 1.2.1 serve-static: 2.2.1 statuses: 2.0.2 - type-is: 2.0.1 + type-is: 2.1.0 vary: 1.1.2 transitivePeerDependencies: - supports-color @@ -9112,7 +8891,7 @@ snapshots: dependencies: function-bind: 1.1.2 - hono@4.12.18: {} + hono@4.12.19: {} hosted-git-info@2.8.9: {} @@ -9237,9 +9016,9 @@ snapshots: dependencies: safer-buffer: 2.1.2 - icss-utils@5.1.0(postcss@8.5.14): + icss-utils@5.1.0(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 ignore-walk@8.0.0: dependencies: @@ -9494,7 +9273,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -9877,7 +9656,7 @@ snapshots: undici: 6.25.0 which: 6.0.1 - node-releases@2.0.38: {} + node-releases@2.0.44: {} nopt@9.0.0: dependencies: @@ -10193,26 +9972,26 @@ snapshots: postcss-media-query-parser@0.2.3: {} - postcss-modules-extract-imports@3.1.0(postcss@8.5.14): + postcss-modules-extract-imports@3.1.0(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 - postcss-modules-local-by-default@4.2.0(postcss@8.5.14): + postcss-modules-local-by-default@4.2.0(postcss@8.5.13): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 postcss-selector-parser: 7.1.1 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.2.1(postcss@8.5.14): + postcss-modules-scope@3.2.1(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 postcss-selector-parser: 7.1.1 - postcss-modules-values@4.0.0(postcss@8.5.14): + postcss-modules-values@4.0.0(postcss@8.5.13): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 postcss-safe-parser@7.0.1(postcss@8.5.14): dependencies: @@ -10285,11 +10064,7 @@ snapshots: q@1.4.1: {} - qs@6.14.2: - dependencies: - side-channel: 1.1.0 - - qs@6.15.1: + qs@6.15.2: dependencies: side-channel: 1.1.0 @@ -10440,7 +10215,7 @@ snapshots: adjust-sourcemap-loader: 4.0.0 convert-source-map: 1.9.0 loader-utils: 2.0.4 - postcss: 8.5.14 + postcss: 8.5.13 source-map: 0.6.1 resolve@1.22.12: @@ -10494,37 +10269,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.60.2 fsevents: 2.3.3 - rollup@4.60.3: - dependencies: - '@types/estree': 1.0.8 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.60.3 - '@rollup/rollup-android-arm64': 4.60.3 - '@rollup/rollup-darwin-arm64': 4.60.3 - '@rollup/rollup-darwin-x64': 4.60.3 - '@rollup/rollup-freebsd-arm64': 4.60.3 - '@rollup/rollup-freebsd-x64': 4.60.3 - '@rollup/rollup-linux-arm-gnueabihf': 4.60.3 - '@rollup/rollup-linux-arm-musleabihf': 4.60.3 - '@rollup/rollup-linux-arm64-gnu': 4.60.3 - '@rollup/rollup-linux-arm64-musl': 4.60.3 - '@rollup/rollup-linux-loong64-gnu': 4.60.3 - '@rollup/rollup-linux-loong64-musl': 4.60.3 - '@rollup/rollup-linux-ppc64-gnu': 4.60.3 - '@rollup/rollup-linux-ppc64-musl': 4.60.3 - '@rollup/rollup-linux-riscv64-gnu': 4.60.3 - '@rollup/rollup-linux-riscv64-musl': 4.60.3 - '@rollup/rollup-linux-s390x-gnu': 4.60.3 - '@rollup/rollup-linux-x64-gnu': 4.60.3 - '@rollup/rollup-linux-x64-musl': 4.60.3 - '@rollup/rollup-openbsd-x64': 4.60.3 - '@rollup/rollup-openharmony-arm64': 4.60.3 - '@rollup/rollup-win32-arm64-msvc': 4.60.3 - '@rollup/rollup-win32-ia32-msvc': 4.60.3 - '@rollup/rollup-win32-x64-gnu': 4.60.3 - '@rollup/rollup-win32-x64-msvc': 4.60.3 - fsevents: 2.3.3 - router@2.2.0: dependencies: debug: 4.4.3 @@ -11028,7 +10772,7 @@ snapshots: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 - terser: 5.47.1 + terser: 5.46.2 webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) optionalDependencies: esbuild: 0.28.0 @@ -11041,13 +10785,6 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 - terser@5.47.1: - dependencies: - '@jridgewell/source-map': 0.3.11 - acorn: 8.16.0 - commander: 2.20.3 - source-map-support: 0.5.21 - thingies@2.6.0(tslib@2.8.1): dependencies: tslib: 2.8.1 @@ -11080,14 +10817,14 @@ snapshots: tree-kill@1.2.2: {} - ts-node@10.9.2(@types/node@20.19.40)(typescript@6.0.3): + ts-node@10.9.2(@types/node@20.19.41)(typescript@6.0.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.12 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.19.40 + '@types/node': 20.19.41 acorn: 8.16.0 acorn-walk: 8.3.5 arg: 4.1.3 @@ -11127,9 +10864,9 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 - type-is@2.0.1: + type-is@2.1.0: dependencies: - content-type: 1.0.5 + content-type: 2.0.0 media-typer: 1.1.0 mime-types: 3.0.2 @@ -11234,38 +10971,22 @@ snapshots: core-util-is: 1.0.2 extsprintf: 1.3.0 - vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2): + vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) picomatch: 4.0.4 postcss: 8.5.14 - rollup: 4.60.3 + rollup: 4.60.2 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 fsevents: 2.3.3 jiti: 2.7.0 less: 4.6.4 sass: 1.99.0 terser: 5.46.2 - vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1): - dependencies: - esbuild: 0.27.7 - fdir: 6.5.0(picomatch@4.0.4) - picomatch: 4.0.4 - postcss: 8.5.14 - rollup: 4.60.3 - tinyglobby: 0.2.16 - optionalDependencies: - '@types/node': 20.19.40 - fsevents: 2.3.3 - jiti: 2.7.0 - less: 4.6.4 - sass: 1.99.0 - terser: 5.47.1 - watchpack@2.5.1: dependencies: glob-to-regexp: 0.4.1 @@ -11338,7 +11059,7 @@ snapshots: colorette: 2.0.20 compression: 1.8.1 connect-history-api-fallback: 2.0.0 - express: 4.22.1 + express: 4.22.2 graceful-fs: 4.2.11 http-proxy-middleware: 2.0.9(@types/express@4.17.25) ipaddr.js: 2.4.0 @@ -11351,7 +11072,7 @@ snapshots: sockjs: 0.3.24 spdy: 4.0.2 webpack-dev-middleware: 7.4.5(tslib@2.8.1)(webpack@5.106.2(postcss@8.5.14)) - ws: 8.20.0 + ws: 8.20.1 optionalDependencies: webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) transitivePeerDependencies: @@ -11515,7 +11236,7 @@ snapshots: wrappy@1.0.2: {} - ws@8.20.0: {} + ws@8.20.1: {} wsl-utils@0.1.0: dependencies: diff --git a/integration/cli-hello-world-lazy/pnpm-lock.yaml b/integration/cli-hello-world-lazy/pnpm-lock.yaml index 23bdf887b3fb..7d4b6109d977 100644 --- a/integration/cli-hello-world-lazy/pnpm-lock.yaml +++ b/integration/cli-hello-world-lazy/pnpm-lock.yaml @@ -38,22 +38,22 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(jiti@2.7.0)(typescript@6.0.3) + version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(jiti@2.7.0)(typescript@6.0.3) '@angular/build': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.47.1)(tslib@2.8.1)(typescript@6.0.3) + version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/cli': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@types/node@20.19.40) + version: 22.0.0-rc.0(@types/node@20.19.41) '@angular/compiler-cli': specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel '@types/node': specifier: ^20.14.8 - version: 20.19.40 + version: 20.19.41 ts-node: specifier: ^10.9.1 - version: 10.9.2(@types/node@20.19.40)(typescript@6.0.3) + version: 10.9.2(@types/node@20.19.41)(typescript@6.0.3) typescript: specifier: 6.0.3 version: 6.0.3 @@ -1763,277 +1763,139 @@ packages: cpu: [arm] os: [android] - '@rollup/rollup-android-arm-eabi@4.60.3': - resolution: {integrity: sha512-x35CNW/ANXG3hE/EZpRU8MXX1JDN86hBb2wMGAtltkz7pc6cxgjpy1OMMfDosOQ+2hWqIkag/fGok1Yady9nGw==} - cpu: [arm] - os: [android] - '@rollup/rollup-android-arm64@4.60.2': resolution: {integrity: sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==} cpu: [arm64] os: [android] - '@rollup/rollup-android-arm64@4.60.3': - resolution: {integrity: sha512-xw3xtkDApIOGayehp2+Rz4zimfkaX65r4t47iy+ymQB2G4iJCBBfj0ogVg5jpvjpn8UWn/+q9tprxleYeNp3Hw==} - cpu: [arm64] - os: [android] - '@rollup/rollup-darwin-arm64@4.60.2': resolution: {integrity: sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-arm64@4.60.3': - resolution: {integrity: sha512-vo6Y5Qfpx7/5EaamIwi0WqW2+zfiusVihKatLvtN1VFVy3D13uERk/6gZLU1UiHRL6fDXqj/ELIeVRGnvcTE1g==} - cpu: [arm64] - os: [darwin] - '@rollup/rollup-darwin-x64@4.60.2': resolution: {integrity: sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==} cpu: [x64] os: [darwin] - '@rollup/rollup-darwin-x64@4.60.3': - resolution: {integrity: sha512-D+0QGcZhBzTN82weOnsSlY7V7+RMmPuF1CkbxyMAGE8+ZHeUjyb76ZiWmBlCu//AQQONvxcqRbwZTajZKqjuOw==} - cpu: [x64] - os: [darwin] - '@rollup/rollup-freebsd-arm64@4.60.2': resolution: {integrity: sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-arm64@4.60.3': - resolution: {integrity: sha512-6HnvHCT7fDyj6R0Ph7A6x8dQS/S38MClRWeDLqc0MdfWkxjiu1HSDYrdPhqSILzjTIC/pnXbbJbo+ft+gy/9hQ==} - cpu: [arm64] - os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.2': resolution: {integrity: sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==} cpu: [x64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.3': - resolution: {integrity: sha512-KHLgC3WKlUYW3ShFKnnosZDOJ0xjg9zp7au3sIm2bs/tGBeC2ipmvRh/N7JKi0t9Ue20C0dpEshi8WUubg+cnA==} - cpu: [x64] - os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.60.2': resolution: {integrity: sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==} cpu: [arm] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm-gnueabihf@4.60.3': - resolution: {integrity: sha512-DV6fJoxEYWJOvaZIsok7KrYl0tPvga5OZ2yvKHNNYyk/2roMLqQAbGhr78EQ5YhHpnhLKJD3S1WFusAkmUuV5g==} - cpu: [arm] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-arm-musleabihf@4.60.2': resolution: {integrity: sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==} cpu: [arm] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm-musleabihf@4.60.3': - resolution: {integrity: sha512-mQKoJAzvuOs6F+TZybQO4GOTSMUu7v0WdxEk24krQ/uUxXoPTtHjuaUuPmFhtBcM4K0ons8nrE3JyhTuCFtT/w==} - cpu: [arm] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-arm64-gnu@4.60.2': resolution: {integrity: sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==} cpu: [arm64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm64-gnu@4.60.3': - resolution: {integrity: sha512-Whjj2qoiJ6+OOJMGptTYazaJvjOJm+iKHpXQM1P3LzGjt7Ff++Tp7nH4N8J/BUA7R9IHfDyx4DJIflifwnbmIA==} - cpu: [arm64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-arm64-musl@4.60.2': resolution: {integrity: sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==} cpu: [arm64] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm64-musl@4.60.3': - resolution: {integrity: sha512-4YTNHKqGng5+yiZt3mg77nmyuCfmNfX4fPmyUapBcIk+BdwSwmCWGXOUxhXbBEkFHtoN5boLj/5NON+u5QC9tg==} - cpu: [arm64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-loong64-gnu@4.60.2': resolution: {integrity: sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==} cpu: [loong64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-loong64-gnu@4.60.3': - resolution: {integrity: sha512-SU3kNlhkpI4UqlUc2VXPGK9o886ZsSeGfMAX2ba2b8DKmMXq4AL7KUrkSWVbb7koVqx41Yczx6dx5PNargIrEA==} - cpu: [loong64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-loong64-musl@4.60.2': resolution: {integrity: sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==} cpu: [loong64] os: [linux] libc: [musl] - '@rollup/rollup-linux-loong64-musl@4.60.3': - resolution: {integrity: sha512-6lDLl5h4TXpB1mTf2rQWnAk/LcXrx9vBfu/DT5TIPhvMhRWaZ5MxkIc8u4lJAmBo6klTe1ywXIUHFjylW505sg==} - cpu: [loong64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-ppc64-gnu@4.60.2': resolution: {integrity: sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==} cpu: [ppc64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-ppc64-gnu@4.60.3': - resolution: {integrity: sha512-BMo8bOw8evlup/8G+cj5xWtPyp93xPdyoSN16Zy90Q2QZ0ZYRhCt6ZJSwbrRzG9HApFabjwj2p25TUPDWrhzqQ==} - cpu: [ppc64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-ppc64-musl@4.60.2': resolution: {integrity: sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==} cpu: [ppc64] os: [linux] libc: [musl] - '@rollup/rollup-linux-ppc64-musl@4.60.3': - resolution: {integrity: sha512-E0L8X1dZN1/Rph+5VPF6Xj2G7JJvMACVXtamTJIDrVI44Y3K+G8gQaMEAavbqCGTa16InptiVrX6eM6pmJ+7qA==} - cpu: [ppc64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-riscv64-gnu@4.60.2': resolution: {integrity: sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==} cpu: [riscv64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-riscv64-gnu@4.60.3': - resolution: {integrity: sha512-oZJ/WHaVfHUiRAtmTAeo3DcevNsVvH8mbvodjZy7D5QKvCefO371SiKRpxoDcCxB3PTRTLayWBkvmDQKTcX/sw==} - cpu: [riscv64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-riscv64-musl@4.60.2': resolution: {integrity: sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==} cpu: [riscv64] os: [linux] libc: [musl] - '@rollup/rollup-linux-riscv64-musl@4.60.3': - resolution: {integrity: sha512-Dhbyh7j9FybM3YaTgaHmVALwA8AkUwTPccyCQ79TG9AJUsMQqgN1DDEZNr4+QUfwiWvLDumW5vdwzoeUF+TNxQ==} - cpu: [riscv64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-s390x-gnu@4.60.2': resolution: {integrity: sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==} cpu: [s390x] os: [linux] libc: [glibc] - '@rollup/rollup-linux-s390x-gnu@4.60.3': - resolution: {integrity: sha512-cJd1X5XhHHlltkaypz1UcWLA8AcoIi1aWhsvaWDskD1oz2eKCypnqvTQ8ykMNI0RSmm7NkTdSqSSD7zM0xa6Ig==} - cpu: [s390x] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.2': resolution: {integrity: sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==} cpu: [x64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.3': - resolution: {integrity: sha512-DAZDBHQfG2oQuhY7mc6I3/qB4LU2fQCjRvxbDwd/Jdvb9fypP4IJ4qmtu6lNjes6B531AI8cg1aKC2di97bUxA==} - cpu: [x64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-x64-musl@4.60.2': resolution: {integrity: sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==} cpu: [x64] os: [linux] libc: [musl] - '@rollup/rollup-linux-x64-musl@4.60.3': - resolution: {integrity: sha512-cRxsE8c13mZOh3vP+wLDxpQBRrOHDIGOWyDL93Sy0Ga8y515fBcC2pjUfFwUe5T7tqvTvWbCpg1URM/AXdWIXA==} - cpu: [x64] - os: [linux] - libc: [musl] - '@rollup/rollup-openbsd-x64@4.60.2': resolution: {integrity: sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==} cpu: [x64] os: [openbsd] - '@rollup/rollup-openbsd-x64@4.60.3': - resolution: {integrity: sha512-QaWcIgRxqEdQdhJqW4DJctsH6HCmo5vHxY0krHSX4jMtOqfzC+dqDGuHM87bu4H8JBeibWx7jFz+h6/4C8wA5Q==} - cpu: [x64] - os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.60.2': resolution: {integrity: sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-openharmony-arm64@4.60.3': - resolution: {integrity: sha512-AaXwSvUi3QIPtroAUw1t5yHGIyqKEXwH54WUocFolZhpGDruJcs8c+xPNDRn4XiQsS7MEwnYsHW2l0MBLDMkWg==} - cpu: [arm64] - os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.60.2': resolution: {integrity: sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.60.3': - resolution: {integrity: sha512-65LAKM/bAWDqKNEelHlcHvm2V+Vfb8C6INFxQXRHCvaVN1rJfwr4NvdP4FyzUaLqWfaCGaadf6UbTm8xJeYfEg==} - cpu: [arm64] - os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.2': resolution: {integrity: sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.3': - resolution: {integrity: sha512-EEM2gyhBF5MFnI6vMKdX1LAosE627RGBzIoGMdLloPZkXrUN0Ckqgr2Qi8+J3zip/8NVVro3/FjB+tjhZUgUHA==} - cpu: [ia32] - os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.2': resolution: {integrity: sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.3': - resolution: {integrity: sha512-E5Eb5H/DpxaoXH++Qkv28RcUJboMopmdDUALBczvHMf7hNIxaDZqwY5lK12UK1BHacSmvupoEWGu+n993Z0y1A==} - cpu: [x64] - os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.2': resolution: {integrity: sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.3': - resolution: {integrity: sha512-hPt/bgL5cE+Qp+/TPHBqptcAgPzgj46mPcg/16zNUmbQk0j+mOEQV/+Lqu8QRtDV3Ek95Q6FeFITpuhl6OTsAA==} - cpu: [x64] - os: [win32] - '@schematics/angular@22.0.0-rc.0': resolution: {integrity: sha512-V5BQFRlPfx/rJZOtkDUAunJqNfi+75J0gr41W1VId8TntsddF0jn1Fz4XQncTiu3dk8UMeRUdmyJrjYRl1Q5Wg==} engines: {node: ^22.22.0 || ^24.13.1 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} @@ -2124,8 +1986,8 @@ packages: '@types/mime@1.3.5': resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - '@types/node@20.19.40': - resolution: {integrity: sha512-xxx6M2IpSTnnKcR0cMvIiohkiCx20/oRPtWGbenFygKCGl3zqUzdNjQ/1V4solq1LU+dgv0nQzeGOuqkqZGg0Q==} + '@types/node@20.19.41': + resolution: {integrity: sha512-ECymXOukMnOoVkC2bb1Vc/w/836DXncOg5m8Xj1RH7xSHZJWNYY6Zh7EH477vcnD5egKNNfy2RpNOmuChhFPgQ==} '@types/qs@6.15.1': resolution: {integrity: sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==} @@ -2363,8 +2225,8 @@ packages: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} - baseline-browser-mapping@2.10.29: - resolution: {integrity: sha512-Asa2krT+XTPZINCS+2QcyS8WTkObE77RwkydwF7h6DmnKqbvlalz93m/dnphUyCa6SWSP51VgtEUf2FN+gelFQ==} + baseline-browser-mapping@2.10.30: + resolution: {integrity: sha512-xjOFN16Ha1+Rz4nFYKqHU/LSB+gx/Vi3yQLX7r7sAW+Wa+8hhF2h4pvqTrTMc8+WcDBEunnUurr46Jvv0jk3Vg==} engines: {node: '>=6.0.0'} hasBin: true @@ -2440,8 +2302,8 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - caniuse-lite@1.0.30001792: - resolution: {integrity: sha512-hVLMUZFgR4JJ6ACt1uEESvQN1/dBVqPAKY0hgrV70eN3391K6juAfTjKZLKvOMsx8PxA7gsY1/tLMMTcfFLLpw==} + caniuse-lite@1.0.30001793: + resolution: {integrity: sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==} chalk@5.6.2: resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} @@ -2520,6 +2382,10 @@ packages: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} + content-type@2.0.0: + resolution: {integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==} + engines: {node: '>=18'} + convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} @@ -2673,8 +2539,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.353: - resolution: {integrity: sha512-kOrWphBi8TOZyiJZqsgqIle0lw+tzmnQK83pV9dZUd01Nm2POECSyFQMAuarzZdYqQW7FH9RaYOuaRo3h+bQ3w==} + electron-to-chromium@1.5.358: + resolution: {integrity: sha512-EO7tKm3QxRqTs1lSuPXzl6yRAwznehp0AH9OoMOIC+4mQzTFday8FJCO5KU6J/TFSQXEOahNq4vTKpz1jmCVOA==} emoji-regex@10.6.0: resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} @@ -2800,14 +2666,14 @@ packages: exponential-backoff@3.1.3: resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} - express-rate-limit@8.5.1: - resolution: {integrity: sha512-5O6KYmyJEpuPJV5hNTXKbAHWRqrzyu+OI3vUnSd2kXFubIVpG7ezpgxQy76Zo5GQZtrQBg86hF+CM/NX+cioiQ==} + express-rate-limit@8.5.2: + resolution: {integrity: sha512-5Kb34ipNX694DH48vN9irak1Qx30nb0PLYHXfJgw4YEjiC3ZEmZJhwOp+VfiCYwFzvFTdB9QkArYS5kXa2cx2A==} engines: {node: '>= 16'} peerDependencies: express: '>= 4.11' - express@4.22.1: - resolution: {integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==} + express@4.22.2: + resolution: {integrity: sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==} engines: {node: '>= 0.10.0'} express@5.2.1: @@ -2961,8 +2827,8 @@ packages: resolution: {integrity: sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==} engines: {node: '>= 0.4'} - hono@4.12.18: - resolution: {integrity: sha512-RWzP96k/yv0PQfyXnWjs6zot20TqfpfsNXhOnev8d1InAxubW93L11/oNUc3tQqn2G0bSdAOBpX+2uDFHV7kdQ==} + hono@4.12.19: + resolution: {integrity: sha512-xa3eYXYXx68XTT4hZ7dRzsXBhaq85ToSrlUJNoR0gwz/1Ap/CNwX47wfvV7pc/xWhjKVVkLT7zBJy8chhNguqQ==} engines: {node: '>=16.9.0'} hosted-git-info@9.0.3: @@ -3489,8 +3355,8 @@ packages: engines: {node: ^20.17.0 || >=22.9.0} hasBin: true - node-releases@2.0.38: - resolution: {integrity: sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==} + node-releases@2.0.44: + resolution: {integrity: sha512-5WUyunoPMsvvEhS8AxHtRzP+oA8UCkJ7YRxatWKjngndhDGLiqEVAQKWjFAiAiuL8zMRGzGSJxFnLetoa43qGQ==} nopt@9.0.0: resolution: {integrity: sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==} @@ -3753,12 +3619,8 @@ packages: resolution: {integrity: sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==} engines: {node: '>=16.0.0'} - qs@6.14.2: - resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==} - engines: {node: '>=0.6'} - - qs@6.15.1: - resolution: {integrity: sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==} + qs@6.15.2: + resolution: {integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==} engines: {node: '>=0.6'} range-parser@1.2.1: @@ -3848,11 +3710,6 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - rollup@4.60.3: - resolution: {integrity: sha512-pAQK9HalE84QSm4Po3EmWIZPd3FnjkShVkiMlz1iligWYkWQ7wHYd1PF/T7QZ5TVSD6uSTon5gBVMSM4JfBV+A==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - router@2.2.0: resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} engines: {node: '>= 18'} @@ -4152,11 +4009,6 @@ packages: engines: {node: '>=10'} hasBin: true - terser@5.47.1: - resolution: {integrity: sha512-tPbLXTI6ohPASb/1YViL428oEHu6/qv1OxqYnfaonVCFHqx4+wCd95pHrQWsL5X4pl90CTyW9piSAsS2L0VoMw==} - engines: {node: '>=10'} - hasBin: true - thingies@2.6.0: resolution: {integrity: sha512-rMHRjmlFLM1R96UYPvpmnc3LYtdFrT33JIB7L9hetGue1qAPfn1N2LJeEjxUSidu1Iku+haLZXDuEXUHNGO/lg==} engines: {node: '>=10.18'} @@ -4216,9 +4068,9 @@ packages: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} - type-is@2.0.1: - resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} - engines: {node: '>= 0.6'} + type-is@2.1.0: + resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==} + engines: {node: '>= 18'} typed-assert@1.0.9: resolution: {integrity: sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==} @@ -4425,8 +4277,8 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - ws@8.20.0: - resolution: {integrity: sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==} + ws@8.20.1: + resolution: {integrity: sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -4588,13 +4440,13 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(jiti@2.7.0)(typescript@6.0.3)': + '@angular-devkit/build-angular@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(jiti@2.7.0)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 '@angular-devkit/build-webpack': 0.2200.0-rc.0(webpack-dev-server@5.2.3(tslib@2.8.1)(webpack@5.106.2(postcss@8.5.14)))(webpack@5.106.2(esbuild@0.28.0)(postcss@8.5.13)) '@angular-devkit/core': 22.0.0-rc.0 - '@angular/build': 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) + '@angular/build': 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 7.29.0 '@babel/generator': 7.29.1 @@ -4708,7 +4560,7 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 @@ -4717,8 +4569,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@20.19.40) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)) + '@inquirer/confirm': 6.0.12(@types/node@20.19.41) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -4737,7 +4589,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel @@ -4760,7 +4612,7 @@ snapshots: - tsx - yaml - '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.47.1)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 @@ -4769,8 +4621,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@20.19.40) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)) + '@inquirer/confirm': 6.0.12(@types/node@20.19.41) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -4789,7 +4641,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel @@ -4812,13 +4664,13 @@ snapshots: - tsx - yaml - '@angular/cli@22.0.0-rc.0(@types/node@20.19.40)': + '@angular/cli@22.0.0-rc.0(@types/node@20.19.41)': dependencies: '@angular-devkit/architect': 0.2200.0-rc.0 '@angular-devkit/core': 22.0.0-rc.0 '@angular-devkit/schematics': 22.0.0-rc.0 - '@inquirer/prompts': 8.4.2(@types/node@20.19.40) - '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.40))(@types/node@20.19.40)(listr2@10.2.1) + '@inquirer/prompts': 8.4.2(@types/node@20.19.41) + '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.41))(@types/node@20.19.41)(listr2@10.2.1) '@modelcontextprotocol/sdk': 1.29.0(zod@4.4.2) '@schematics/angular': 22.0.0-rc.0 '@yarnpkg/lockfile': 1.1.0 @@ -5691,135 +5543,135 @@ snapshots: '@harperfast/extended-iterable@1.0.3': optional: true - '@hono/node-server@1.19.14(hono@4.12.18)': + '@hono/node-server@1.19.14(hono@4.12.19)': dependencies: - hono: 4.12.18 + hono: 4.12.19 '@inquirer/ansi@2.0.5': {} - '@inquirer/checkbox@5.1.5(@types/node@20.19.40)': + '@inquirer/checkbox@5.1.5(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/confirm@6.0.12(@types/node@20.19.40)': + '@inquirer/confirm@6.0.12(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/confirm@6.0.13(@types/node@20.19.40)': + '@inquirer/confirm@6.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/core@11.1.10(@types/node@20.19.40)': + '@inquirer/core@11.1.10(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) cli-width: 4.1.0 fast-wrap-ansi: 0.2.0 mute-stream: 3.0.0 signal-exit: 4.1.0 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/editor@5.1.2(@types/node@20.19.40)': + '@inquirer/editor@5.1.2(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/external-editor': 3.0.0(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/external-editor': 3.0.0(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/expand@5.0.14(@types/node@20.19.40)': + '@inquirer/expand@5.0.14(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/external-editor@3.0.0(@types/node@20.19.40)': + '@inquirer/external-editor@3.0.0(@types/node@20.19.41)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@inquirer/figures@2.0.5': {} - '@inquirer/input@5.0.13(@types/node@20.19.40)': + '@inquirer/input@5.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/number@4.0.13(@types/node@20.19.40)': + '@inquirer/number@4.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/password@5.0.13(@types/node@20.19.40)': + '@inquirer/password@5.0.13(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 - - '@inquirer/prompts@8.4.2(@types/node@20.19.40)': - dependencies: - '@inquirer/checkbox': 5.1.5(@types/node@20.19.40) - '@inquirer/confirm': 6.0.13(@types/node@20.19.40) - '@inquirer/editor': 5.1.2(@types/node@20.19.40) - '@inquirer/expand': 5.0.14(@types/node@20.19.40) - '@inquirer/input': 5.0.13(@types/node@20.19.40) - '@inquirer/number': 4.0.13(@types/node@20.19.40) - '@inquirer/password': 5.0.13(@types/node@20.19.40) - '@inquirer/rawlist': 5.2.9(@types/node@20.19.40) - '@inquirer/search': 4.1.9(@types/node@20.19.40) - '@inquirer/select': 5.1.5(@types/node@20.19.40) + '@types/node': 20.19.41 + + '@inquirer/prompts@8.4.2(@types/node@20.19.41)': + dependencies: + '@inquirer/checkbox': 5.1.5(@types/node@20.19.41) + '@inquirer/confirm': 6.0.13(@types/node@20.19.41) + '@inquirer/editor': 5.1.2(@types/node@20.19.41) + '@inquirer/expand': 5.0.14(@types/node@20.19.41) + '@inquirer/input': 5.0.13(@types/node@20.19.41) + '@inquirer/number': 4.0.13(@types/node@20.19.41) + '@inquirer/password': 5.0.13(@types/node@20.19.41) + '@inquirer/rawlist': 5.2.9(@types/node@20.19.41) + '@inquirer/search': 4.1.9(@types/node@20.19.41) + '@inquirer/select': 5.1.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/rawlist@5.2.9(@types/node@20.19.40)': + '@inquirer/rawlist@5.2.9(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/search@4.1.9(@types/node@20.19.40)': + '@inquirer/search@4.1.9(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/select@5.1.5(@types/node@20.19.40)': + '@inquirer/select@5.1.5(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/type@4.0.5(@types/node@20.19.40)': + '@inquirer/type@4.0.5(@types/node@20.19.41)': optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@isaacs/fs-minipass@4.0.1': dependencies: @@ -5985,10 +5837,10 @@ snapshots: '@leichtgewicht/ip-codec@2.0.5': {} - '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.40))(@types/node@20.19.40)(listr2@10.2.1)': + '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.41))(@types/node@20.19.41)(listr2@10.2.1)': dependencies: - '@inquirer/prompts': 8.4.2(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/prompts': 8.4.2(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) listr2: 10.2.1 transitivePeerDependencies: - '@types/node' @@ -6016,7 +5868,7 @@ snapshots: '@modelcontextprotocol/sdk@1.29.0(zod@4.4.2)': dependencies: - '@hono/node-server': 1.19.14(hono@4.12.18) + '@hono/node-server': 1.19.14(hono@4.12.19) ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) content-type: 1.0.5 @@ -6025,8 +5877,8 @@ snapshots: eventsource: 3.0.7 eventsource-parser: 3.0.8 express: 5.2.1 - express-rate-limit: 8.5.1(express@5.2.1) - hono: 4.12.18 + express-rate-limit: 8.5.2(express@5.2.1) + hono: 4.12.19 jose: 6.2.3 json-schema-typed: 8.0.2 pkce-challenge: 5.0.1 @@ -6348,153 +6200,78 @@ snapshots: '@rollup/rollup-android-arm-eabi@4.60.2': optional: true - '@rollup/rollup-android-arm-eabi@4.60.3': - optional: true - '@rollup/rollup-android-arm64@4.60.2': optional: true - '@rollup/rollup-android-arm64@4.60.3': - optional: true - '@rollup/rollup-darwin-arm64@4.60.2': optional: true - '@rollup/rollup-darwin-arm64@4.60.3': - optional: true - '@rollup/rollup-darwin-x64@4.60.2': optional: true - '@rollup/rollup-darwin-x64@4.60.3': - optional: true - '@rollup/rollup-freebsd-arm64@4.60.2': optional: true - '@rollup/rollup-freebsd-arm64@4.60.3': - optional: true - '@rollup/rollup-freebsd-x64@4.60.2': optional: true - '@rollup/rollup-freebsd-x64@4.60.3': - optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.3': - optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.2': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.3': - optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-arm64-musl@4.60.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-loong64-musl@4.60.2': optional: true - '@rollup/rollup-linux-loong64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.2': optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-x64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-x64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-x64-musl@4.60.2': optional: true - '@rollup/rollup-linux-x64-musl@4.60.3': - optional: true - '@rollup/rollup-openbsd-x64@4.60.2': optional: true - '@rollup/rollup-openbsd-x64@4.60.3': - optional: true - '@rollup/rollup-openharmony-arm64@4.60.2': optional: true - '@rollup/rollup-openharmony-arm64@4.60.3': - optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.2': optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.3': - optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.3': - optional: true - '@rollup/rollup-win32-x64-gnu@4.60.2': optional: true - '@rollup/rollup-win32-x64-gnu@4.60.3': - optional: true - '@rollup/rollup-win32-x64-msvc@4.60.2': optional: true - '@rollup/rollup-win32-x64-msvc@4.60.3': - optional: true - '@schematics/angular@22.0.0-rc.0': dependencies: '@angular-devkit/core': 22.0.0-rc.0 @@ -6554,20 +6331,20 @@ snapshots: '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/bonjour@3.5.13': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 4.19.8 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/connect@3.4.38': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/eslint-scope@3.7.7': dependencies: @@ -6585,7 +6362,7 @@ snapshots: '@types/express-serve-static-core@4.19.8': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/qs': 6.15.1 '@types/range-parser': 1.2.7 '@types/send': 1.2.1 @@ -6601,13 +6378,13 @@ snapshots: '@types/http-proxy@1.17.17': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/json-schema@7.0.15': {} '@types/mime@1.3.5': {} - '@types/node@20.19.40': + '@types/node@20.19.41': dependencies: undici-types: 6.21.0 @@ -6620,11 +6397,11 @@ snapshots: '@types/send@0.17.6': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/send@1.2.1': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/serve-index@1.9.4': dependencies: @@ -6633,20 +6410,20 @@ snapshots: '@types/serve-static@1.15.10': dependencies: '@types/http-errors': 2.0.5 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/send': 0.17.6 '@types/sockjs@0.3.36': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/ws@8.18.1': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1))': + '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2))': dependencies: - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) '@webassemblyjs/ast@1.14.1': dependencies: @@ -6830,7 +6607,7 @@ snapshots: autoprefixer@10.5.0(postcss@8.5.13): dependencies: browserslist: 4.28.2 - caniuse-lite: 1.0.30001792 + caniuse-lite: 1.0.30001793 fraction.js: 5.3.4 picocolors: 1.1.1 postcss: 8.5.13 @@ -6877,7 +6654,7 @@ snapshots: balanced-match@4.0.4: {} - baseline-browser-mapping@2.10.29: {} + baseline-browser-mapping@2.10.30: {} batch@0.6.1: {} @@ -6907,7 +6684,7 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.4.24 on-finished: 2.4.1 - qs: 6.15.1 + qs: 6.15.2 raw-body: 2.5.3 type-is: 1.6.18 unpipe: 1.0.0 @@ -6922,9 +6699,9 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.7.2 on-finished: 2.4.1 - qs: 6.15.1 + qs: 6.15.2 raw-body: 3.0.2 - type-is: 2.0.1 + type-is: 2.1.0 transitivePeerDependencies: - supports-color @@ -6945,10 +6722,10 @@ snapshots: browserslist@4.28.2: dependencies: - baseline-browser-mapping: 2.10.29 - caniuse-lite: 1.0.30001792 - electron-to-chromium: 1.5.353 - node-releases: 2.0.38 + baseline-browser-mapping: 2.10.30 + caniuse-lite: 1.0.30001793 + electron-to-chromium: 1.5.358 + node-releases: 2.0.44 update-browserslist-db: 1.2.3(browserslist@4.28.2) buffer-from@1.1.2: {} @@ -6986,7 +6763,7 @@ snapshots: callsites@3.1.0: {} - caniuse-lite@1.0.30001792: {} + caniuse-lite@1.0.30001793: {} chalk@5.6.2: {} @@ -7067,6 +6844,8 @@ snapshots: content-type@1.0.5: {} + content-type@2.0.0: {} + convert-source-map@1.9.0: {} convert-source-map@2.0.0: {} @@ -7120,12 +6899,12 @@ snapshots: css-loader@7.1.4(webpack@5.106.2(esbuild@0.28.0)(postcss@8.5.13)): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.14) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.14) - postcss-modules-scope: 3.2.1(postcss@8.5.14) - postcss-modules-values: 4.0.0(postcss@8.5.14) + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.13) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.13) + postcss-modules-scope: 3.2.1(postcss@8.5.13) + postcss-modules-values: 4.0.0(postcss@8.5.13) postcss-value-parser: 4.2.0 semver: 7.7.4 optionalDependencies: @@ -7203,7 +6982,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.353: {} + electron-to-chromium@1.5.358: {} emoji-regex@10.6.0: {} @@ -7340,12 +7119,12 @@ snapshots: exponential-backoff@3.1.3: {} - express-rate-limit@8.5.1(express@5.2.1): + express-rate-limit@8.5.2(express@5.2.1): dependencies: express: 5.2.1 ip-address: 10.2.0 - express@4.22.1: + express@4.22.2: dependencies: accepts: 1.3.8 array-flatten: 1.1.1 @@ -7368,7 +7147,7 @@ snapshots: parseurl: 1.3.3 path-to-regexp: 0.1.13 proxy-addr: 2.0.7 - qs: 6.14.2 + qs: 6.15.2 range-parser: 1.2.1 safe-buffer: 5.2.1 send: 0.19.2 @@ -7403,13 +7182,13 @@ snapshots: once: 1.4.0 parseurl: 1.3.3 proxy-addr: 2.0.7 - qs: 6.15.1 + qs: 6.15.2 range-parser: 1.2.1 router: 2.2.0 send: 1.2.1 serve-static: 2.2.1 statuses: 2.0.2 - type-is: 2.0.1 + type-is: 2.1.0 vary: 1.1.2 transitivePeerDependencies: - supports-color @@ -7549,7 +7328,7 @@ snapshots: dependencies: function-bind: 1.1.2 - hono@4.12.18: {} + hono@4.12.19: {} hosted-git-info@9.0.3: dependencies: @@ -7657,9 +7436,9 @@ snapshots: dependencies: safer-buffer: 2.1.2 - icss-utils@5.1.0(postcss@8.5.14): + icss-utils@5.1.0(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 ignore-walk@8.0.0: dependencies: @@ -7759,7 +7538,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -8085,7 +7864,7 @@ snapshots: undici: 6.25.0 which: 6.0.1 - node-releases@2.0.38: {} + node-releases@2.0.44: {} nopt@9.0.0: dependencies: @@ -8308,26 +8087,26 @@ snapshots: postcss-media-query-parser@0.2.3: {} - postcss-modules-extract-imports@3.1.0(postcss@8.5.14): + postcss-modules-extract-imports@3.1.0(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 - postcss-modules-local-by-default@4.2.0(postcss@8.5.14): + postcss-modules-local-by-default@4.2.0(postcss@8.5.13): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 postcss-selector-parser: 7.1.1 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.2.1(postcss@8.5.14): + postcss-modules-scope@3.2.1(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 postcss-selector-parser: 7.1.1 - postcss-modules-values@4.0.0(postcss@8.5.14): + postcss-modules-values@4.0.0(postcss@8.5.13): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 postcss-safe-parser@7.0.1(postcss@8.5.14): dependencies: @@ -8372,11 +8151,7 @@ snapshots: pvutils@1.1.5: {} - qs@6.14.2: - dependencies: - side-channel: 1.1.0 - - qs@6.15.1: + qs@6.15.2: dependencies: side-channel: 1.1.0 @@ -8454,7 +8229,7 @@ snapshots: adjust-sourcemap-loader: 4.0.0 convert-source-map: 1.9.0 loader-utils: 2.0.4 - postcss: 8.5.14 + postcss: 8.5.13 source-map: 0.6.1 resolve@1.22.12: @@ -8504,37 +8279,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.60.2 fsevents: 2.3.3 - rollup@4.60.3: - dependencies: - '@types/estree': 1.0.8 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.60.3 - '@rollup/rollup-android-arm64': 4.60.3 - '@rollup/rollup-darwin-arm64': 4.60.3 - '@rollup/rollup-darwin-x64': 4.60.3 - '@rollup/rollup-freebsd-arm64': 4.60.3 - '@rollup/rollup-freebsd-x64': 4.60.3 - '@rollup/rollup-linux-arm-gnueabihf': 4.60.3 - '@rollup/rollup-linux-arm-musleabihf': 4.60.3 - '@rollup/rollup-linux-arm64-gnu': 4.60.3 - '@rollup/rollup-linux-arm64-musl': 4.60.3 - '@rollup/rollup-linux-loong64-gnu': 4.60.3 - '@rollup/rollup-linux-loong64-musl': 4.60.3 - '@rollup/rollup-linux-ppc64-gnu': 4.60.3 - '@rollup/rollup-linux-ppc64-musl': 4.60.3 - '@rollup/rollup-linux-riscv64-gnu': 4.60.3 - '@rollup/rollup-linux-riscv64-musl': 4.60.3 - '@rollup/rollup-linux-s390x-gnu': 4.60.3 - '@rollup/rollup-linux-x64-gnu': 4.60.3 - '@rollup/rollup-linux-x64-musl': 4.60.3 - '@rollup/rollup-openbsd-x64': 4.60.3 - '@rollup/rollup-openharmony-arm64': 4.60.3 - '@rollup/rollup-win32-arm64-msvc': 4.60.3 - '@rollup/rollup-win32-ia32-msvc': 4.60.3 - '@rollup/rollup-win32-x64-gnu': 4.60.3 - '@rollup/rollup-win32-x64-msvc': 4.60.3 - fsevents: 2.3.3 - router@2.2.0: dependencies: debug: 4.4.3 @@ -8849,7 +8593,7 @@ snapshots: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 - terser: 5.47.1 + terser: 5.46.2 webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) optionalDependencies: esbuild: 0.28.0 @@ -8862,13 +8606,6 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 - terser@5.47.1: - dependencies: - '@jridgewell/source-map': 0.3.11 - acorn: 8.16.0 - commander: 2.20.3 - source-map-support: 0.5.21 - thingies@2.6.0(tslib@2.8.1): dependencies: tslib: 2.8.1 @@ -8890,14 +8627,14 @@ snapshots: dependencies: tslib: 2.8.1 - ts-node@10.9.2(@types/node@20.19.40)(typescript@6.0.3): + ts-node@10.9.2(@types/node@20.19.41)(typescript@6.0.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.12 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.19.40 + '@types/node': 20.19.41 acorn: 8.16.0 acorn-walk: 8.3.5 arg: 4.1.3 @@ -8929,9 +8666,9 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 - type-is@2.0.1: + type-is@2.1.0: dependencies: - content-type: 1.0.5 + content-type: 2.0.0 media-typer: 1.1.0 mime-types: 3.0.2 @@ -8974,38 +8711,22 @@ snapshots: vary@1.1.2: {} - vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2): + vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) picomatch: 4.0.4 postcss: 8.5.14 - rollup: 4.60.3 + rollup: 4.60.2 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 fsevents: 2.3.3 jiti: 2.7.0 less: 4.6.4 sass: 1.99.0 terser: 5.46.2 - vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1): - dependencies: - esbuild: 0.27.7 - fdir: 6.5.0(picomatch@4.0.4) - picomatch: 4.0.4 - postcss: 8.5.14 - rollup: 4.60.3 - tinyglobby: 0.2.16 - optionalDependencies: - '@types/node': 20.19.40 - fsevents: 2.3.3 - jiti: 2.7.0 - less: 4.6.4 - sass: 1.99.0 - terser: 5.47.1 - watchpack@2.5.1: dependencies: glob-to-regexp: 0.4.1 @@ -9059,7 +8780,7 @@ snapshots: colorette: 2.0.20 compression: 1.8.1 connect-history-api-fallback: 2.0.0 - express: 4.22.1 + express: 4.22.2 graceful-fs: 4.2.11 http-proxy-middleware: 2.0.9(@types/express@4.17.25) ipaddr.js: 2.4.0 @@ -9072,7 +8793,7 @@ snapshots: sockjs: 0.3.24 spdy: 4.0.2 webpack-dev-middleware: 7.4.5(tslib@2.8.1)(webpack@5.106.2(postcss@8.5.14)) - ws: 8.20.0 + ws: 8.20.1 optionalDependencies: webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) transitivePeerDependencies: @@ -9167,7 +8888,7 @@ snapshots: wrappy@1.0.2: {} - ws@8.20.0: {} + ws@8.20.1: {} wsl-utils@0.1.0: dependencies: diff --git a/integration/cli-hello-world/pnpm-lock.yaml b/integration/cli-hello-world/pnpm-lock.yaml index 8a5342767633..27bdc0452d43 100644 --- a/integration/cli-hello-world/pnpm-lock.yaml +++ b/integration/cli-hello-world/pnpm-lock.yaml @@ -41,22 +41,22 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(jiti@2.7.0)(typescript@6.0.3) + version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(jiti@2.7.0)(typescript@6.0.3) '@angular/build': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.47.1)(tslib@2.8.1)(typescript@6.0.3) + version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/cli': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@types/node@20.19.40) + version: 22.0.0-rc.0(@types/node@20.19.41) '@angular/compiler-cli': specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel '@types/node': specifier: ^20.14.8 - version: 20.19.40 + version: 20.19.41 ts-node: specifier: ^10.9.1 - version: 10.9.2(@types/node@20.19.40)(typescript@6.0.3) + version: 10.9.2(@types/node@20.19.41)(typescript@6.0.3) typescript: specifier: 6.0.3 version: 6.0.3 @@ -1766,277 +1766,139 @@ packages: cpu: [arm] os: [android] - '@rollup/rollup-android-arm-eabi@4.60.3': - resolution: {integrity: sha512-x35CNW/ANXG3hE/EZpRU8MXX1JDN86hBb2wMGAtltkz7pc6cxgjpy1OMMfDosOQ+2hWqIkag/fGok1Yady9nGw==} - cpu: [arm] - os: [android] - '@rollup/rollup-android-arm64@4.60.2': resolution: {integrity: sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==} cpu: [arm64] os: [android] - '@rollup/rollup-android-arm64@4.60.3': - resolution: {integrity: sha512-xw3xtkDApIOGayehp2+Rz4zimfkaX65r4t47iy+ymQB2G4iJCBBfj0ogVg5jpvjpn8UWn/+q9tprxleYeNp3Hw==} - cpu: [arm64] - os: [android] - '@rollup/rollup-darwin-arm64@4.60.2': resolution: {integrity: sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-arm64@4.60.3': - resolution: {integrity: sha512-vo6Y5Qfpx7/5EaamIwi0WqW2+zfiusVihKatLvtN1VFVy3D13uERk/6gZLU1UiHRL6fDXqj/ELIeVRGnvcTE1g==} - cpu: [arm64] - os: [darwin] - '@rollup/rollup-darwin-x64@4.60.2': resolution: {integrity: sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==} cpu: [x64] os: [darwin] - '@rollup/rollup-darwin-x64@4.60.3': - resolution: {integrity: sha512-D+0QGcZhBzTN82weOnsSlY7V7+RMmPuF1CkbxyMAGE8+ZHeUjyb76ZiWmBlCu//AQQONvxcqRbwZTajZKqjuOw==} - cpu: [x64] - os: [darwin] - '@rollup/rollup-freebsd-arm64@4.60.2': resolution: {integrity: sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-arm64@4.60.3': - resolution: {integrity: sha512-6HnvHCT7fDyj6R0Ph7A6x8dQS/S38MClRWeDLqc0MdfWkxjiu1HSDYrdPhqSILzjTIC/pnXbbJbo+ft+gy/9hQ==} - cpu: [arm64] - os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.2': resolution: {integrity: sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==} cpu: [x64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.3': - resolution: {integrity: sha512-KHLgC3WKlUYW3ShFKnnosZDOJ0xjg9zp7au3sIm2bs/tGBeC2ipmvRh/N7JKi0t9Ue20C0dpEshi8WUubg+cnA==} - cpu: [x64] - os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.60.2': resolution: {integrity: sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==} cpu: [arm] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm-gnueabihf@4.60.3': - resolution: {integrity: sha512-DV6fJoxEYWJOvaZIsok7KrYl0tPvga5OZ2yvKHNNYyk/2roMLqQAbGhr78EQ5YhHpnhLKJD3S1WFusAkmUuV5g==} - cpu: [arm] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-arm-musleabihf@4.60.2': resolution: {integrity: sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==} cpu: [arm] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm-musleabihf@4.60.3': - resolution: {integrity: sha512-mQKoJAzvuOs6F+TZybQO4GOTSMUu7v0WdxEk24krQ/uUxXoPTtHjuaUuPmFhtBcM4K0ons8nrE3JyhTuCFtT/w==} - cpu: [arm] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-arm64-gnu@4.60.2': resolution: {integrity: sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==} cpu: [arm64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm64-gnu@4.60.3': - resolution: {integrity: sha512-Whjj2qoiJ6+OOJMGptTYazaJvjOJm+iKHpXQM1P3LzGjt7Ff++Tp7nH4N8J/BUA7R9IHfDyx4DJIflifwnbmIA==} - cpu: [arm64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-arm64-musl@4.60.2': resolution: {integrity: sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==} cpu: [arm64] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm64-musl@4.60.3': - resolution: {integrity: sha512-4YTNHKqGng5+yiZt3mg77nmyuCfmNfX4fPmyUapBcIk+BdwSwmCWGXOUxhXbBEkFHtoN5boLj/5NON+u5QC9tg==} - cpu: [arm64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-loong64-gnu@4.60.2': resolution: {integrity: sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==} cpu: [loong64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-loong64-gnu@4.60.3': - resolution: {integrity: sha512-SU3kNlhkpI4UqlUc2VXPGK9o886ZsSeGfMAX2ba2b8DKmMXq4AL7KUrkSWVbb7koVqx41Yczx6dx5PNargIrEA==} - cpu: [loong64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-loong64-musl@4.60.2': resolution: {integrity: sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==} cpu: [loong64] os: [linux] libc: [musl] - '@rollup/rollup-linux-loong64-musl@4.60.3': - resolution: {integrity: sha512-6lDLl5h4TXpB1mTf2rQWnAk/LcXrx9vBfu/DT5TIPhvMhRWaZ5MxkIc8u4lJAmBo6klTe1ywXIUHFjylW505sg==} - cpu: [loong64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-ppc64-gnu@4.60.2': resolution: {integrity: sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==} cpu: [ppc64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-ppc64-gnu@4.60.3': - resolution: {integrity: sha512-BMo8bOw8evlup/8G+cj5xWtPyp93xPdyoSN16Zy90Q2QZ0ZYRhCt6ZJSwbrRzG9HApFabjwj2p25TUPDWrhzqQ==} - cpu: [ppc64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-ppc64-musl@4.60.2': resolution: {integrity: sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==} cpu: [ppc64] os: [linux] libc: [musl] - '@rollup/rollup-linux-ppc64-musl@4.60.3': - resolution: {integrity: sha512-E0L8X1dZN1/Rph+5VPF6Xj2G7JJvMACVXtamTJIDrVI44Y3K+G8gQaMEAavbqCGTa16InptiVrX6eM6pmJ+7qA==} - cpu: [ppc64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-riscv64-gnu@4.60.2': resolution: {integrity: sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==} cpu: [riscv64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-riscv64-gnu@4.60.3': - resolution: {integrity: sha512-oZJ/WHaVfHUiRAtmTAeo3DcevNsVvH8mbvodjZy7D5QKvCefO371SiKRpxoDcCxB3PTRTLayWBkvmDQKTcX/sw==} - cpu: [riscv64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-riscv64-musl@4.60.2': resolution: {integrity: sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==} cpu: [riscv64] os: [linux] libc: [musl] - '@rollup/rollup-linux-riscv64-musl@4.60.3': - resolution: {integrity: sha512-Dhbyh7j9FybM3YaTgaHmVALwA8AkUwTPccyCQ79TG9AJUsMQqgN1DDEZNr4+QUfwiWvLDumW5vdwzoeUF+TNxQ==} - cpu: [riscv64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-s390x-gnu@4.60.2': resolution: {integrity: sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==} cpu: [s390x] os: [linux] libc: [glibc] - '@rollup/rollup-linux-s390x-gnu@4.60.3': - resolution: {integrity: sha512-cJd1X5XhHHlltkaypz1UcWLA8AcoIi1aWhsvaWDskD1oz2eKCypnqvTQ8ykMNI0RSmm7NkTdSqSSD7zM0xa6Ig==} - cpu: [s390x] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.2': resolution: {integrity: sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==} cpu: [x64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.3': - resolution: {integrity: sha512-DAZDBHQfG2oQuhY7mc6I3/qB4LU2fQCjRvxbDwd/Jdvb9fypP4IJ4qmtu6lNjes6B531AI8cg1aKC2di97bUxA==} - cpu: [x64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-x64-musl@4.60.2': resolution: {integrity: sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==} cpu: [x64] os: [linux] libc: [musl] - '@rollup/rollup-linux-x64-musl@4.60.3': - resolution: {integrity: sha512-cRxsE8c13mZOh3vP+wLDxpQBRrOHDIGOWyDL93Sy0Ga8y515fBcC2pjUfFwUe5T7tqvTvWbCpg1URM/AXdWIXA==} - cpu: [x64] - os: [linux] - libc: [musl] - '@rollup/rollup-openbsd-x64@4.60.2': resolution: {integrity: sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==} cpu: [x64] os: [openbsd] - '@rollup/rollup-openbsd-x64@4.60.3': - resolution: {integrity: sha512-QaWcIgRxqEdQdhJqW4DJctsH6HCmo5vHxY0krHSX4jMtOqfzC+dqDGuHM87bu4H8JBeibWx7jFz+h6/4C8wA5Q==} - cpu: [x64] - os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.60.2': resolution: {integrity: sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-openharmony-arm64@4.60.3': - resolution: {integrity: sha512-AaXwSvUi3QIPtroAUw1t5yHGIyqKEXwH54WUocFolZhpGDruJcs8c+xPNDRn4XiQsS7MEwnYsHW2l0MBLDMkWg==} - cpu: [arm64] - os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.60.2': resolution: {integrity: sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.60.3': - resolution: {integrity: sha512-65LAKM/bAWDqKNEelHlcHvm2V+Vfb8C6INFxQXRHCvaVN1rJfwr4NvdP4FyzUaLqWfaCGaadf6UbTm8xJeYfEg==} - cpu: [arm64] - os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.2': resolution: {integrity: sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.3': - resolution: {integrity: sha512-EEM2gyhBF5MFnI6vMKdX1LAosE627RGBzIoGMdLloPZkXrUN0Ckqgr2Qi8+J3zip/8NVVro3/FjB+tjhZUgUHA==} - cpu: [ia32] - os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.2': resolution: {integrity: sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.3': - resolution: {integrity: sha512-E5Eb5H/DpxaoXH++Qkv28RcUJboMopmdDUALBczvHMf7hNIxaDZqwY5lK12UK1BHacSmvupoEWGu+n993Z0y1A==} - cpu: [x64] - os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.2': resolution: {integrity: sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.3': - resolution: {integrity: sha512-hPt/bgL5cE+Qp+/TPHBqptcAgPzgj46mPcg/16zNUmbQk0j+mOEQV/+Lqu8QRtDV3Ek95Q6FeFITpuhl6OTsAA==} - cpu: [x64] - os: [win32] - '@schematics/angular@22.0.0-rc.0': resolution: {integrity: sha512-V5BQFRlPfx/rJZOtkDUAunJqNfi+75J0gr41W1VId8TntsddF0jn1Fz4XQncTiu3dk8UMeRUdmyJrjYRl1Q5Wg==} engines: {node: ^22.22.0 || ^24.13.1 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} @@ -2127,8 +1989,8 @@ packages: '@types/mime@1.3.5': resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - '@types/node@20.19.40': - resolution: {integrity: sha512-xxx6M2IpSTnnKcR0cMvIiohkiCx20/oRPtWGbenFygKCGl3zqUzdNjQ/1V4solq1LU+dgv0nQzeGOuqkqZGg0Q==} + '@types/node@20.19.41': + resolution: {integrity: sha512-ECymXOukMnOoVkC2bb1Vc/w/836DXncOg5m8Xj1RH7xSHZJWNYY6Zh7EH477vcnD5egKNNfy2RpNOmuChhFPgQ==} '@types/qs@6.15.1': resolution: {integrity: sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==} @@ -2366,8 +2228,8 @@ packages: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} - baseline-browser-mapping@2.10.29: - resolution: {integrity: sha512-Asa2krT+XTPZINCS+2QcyS8WTkObE77RwkydwF7h6DmnKqbvlalz93m/dnphUyCa6SWSP51VgtEUf2FN+gelFQ==} + baseline-browser-mapping@2.10.30: + resolution: {integrity: sha512-xjOFN16Ha1+Rz4nFYKqHU/LSB+gx/Vi3yQLX7r7sAW+Wa+8hhF2h4pvqTrTMc8+WcDBEunnUurr46Jvv0jk3Vg==} engines: {node: '>=6.0.0'} hasBin: true @@ -2443,8 +2305,8 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - caniuse-lite@1.0.30001792: - resolution: {integrity: sha512-hVLMUZFgR4JJ6ACt1uEESvQN1/dBVqPAKY0hgrV70eN3391K6juAfTjKZLKvOMsx8PxA7gsY1/tLMMTcfFLLpw==} + caniuse-lite@1.0.30001793: + resolution: {integrity: sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==} chalk@5.6.2: resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} @@ -2523,6 +2385,10 @@ packages: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} + content-type@2.0.0: + resolution: {integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==} + engines: {node: '>=18'} + convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} @@ -2676,8 +2542,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.353: - resolution: {integrity: sha512-kOrWphBi8TOZyiJZqsgqIle0lw+tzmnQK83pV9dZUd01Nm2POECSyFQMAuarzZdYqQW7FH9RaYOuaRo3h+bQ3w==} + electron-to-chromium@1.5.358: + resolution: {integrity: sha512-EO7tKm3QxRqTs1lSuPXzl6yRAwznehp0AH9OoMOIC+4mQzTFday8FJCO5KU6J/TFSQXEOahNq4vTKpz1jmCVOA==} emoji-regex@10.6.0: resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} @@ -2803,14 +2669,14 @@ packages: exponential-backoff@3.1.3: resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} - express-rate-limit@8.5.1: - resolution: {integrity: sha512-5O6KYmyJEpuPJV5hNTXKbAHWRqrzyu+OI3vUnSd2kXFubIVpG7ezpgxQy76Zo5GQZtrQBg86hF+CM/NX+cioiQ==} + express-rate-limit@8.5.2: + resolution: {integrity: sha512-5Kb34ipNX694DH48vN9irak1Qx30nb0PLYHXfJgw4YEjiC3ZEmZJhwOp+VfiCYwFzvFTdB9QkArYS5kXa2cx2A==} engines: {node: '>= 16'} peerDependencies: express: '>= 4.11' - express@4.22.1: - resolution: {integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==} + express@4.22.2: + resolution: {integrity: sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==} engines: {node: '>= 0.10.0'} express@5.2.1: @@ -2964,8 +2830,8 @@ packages: resolution: {integrity: sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==} engines: {node: '>= 0.4'} - hono@4.12.18: - resolution: {integrity: sha512-RWzP96k/yv0PQfyXnWjs6zot20TqfpfsNXhOnev8d1InAxubW93L11/oNUc3tQqn2G0bSdAOBpX+2uDFHV7kdQ==} + hono@4.12.19: + resolution: {integrity: sha512-xa3eYXYXx68XTT4hZ7dRzsXBhaq85ToSrlUJNoR0gwz/1Ap/CNwX47wfvV7pc/xWhjKVVkLT7zBJy8chhNguqQ==} engines: {node: '>=16.9.0'} hosted-git-info@9.0.3: @@ -3492,8 +3358,8 @@ packages: engines: {node: ^20.17.0 || >=22.9.0} hasBin: true - node-releases@2.0.38: - resolution: {integrity: sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==} + node-releases@2.0.44: + resolution: {integrity: sha512-5WUyunoPMsvvEhS8AxHtRzP+oA8UCkJ7YRxatWKjngndhDGLiqEVAQKWjFAiAiuL8zMRGzGSJxFnLetoa43qGQ==} nopt@9.0.0: resolution: {integrity: sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==} @@ -3756,12 +3622,8 @@ packages: resolution: {integrity: sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==} engines: {node: '>=16.0.0'} - qs@6.14.2: - resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==} - engines: {node: '>=0.6'} - - qs@6.15.1: - resolution: {integrity: sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==} + qs@6.15.2: + resolution: {integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==} engines: {node: '>=0.6'} range-parser@1.2.1: @@ -3851,11 +3713,6 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - rollup@4.60.3: - resolution: {integrity: sha512-pAQK9HalE84QSm4Po3EmWIZPd3FnjkShVkiMlz1iligWYkWQ7wHYd1PF/T7QZ5TVSD6uSTon5gBVMSM4JfBV+A==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - router@2.2.0: resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} engines: {node: '>= 18'} @@ -4155,11 +4012,6 @@ packages: engines: {node: '>=10'} hasBin: true - terser@5.47.1: - resolution: {integrity: sha512-tPbLXTI6ohPASb/1YViL428oEHu6/qv1OxqYnfaonVCFHqx4+wCd95pHrQWsL5X4pl90CTyW9piSAsS2L0VoMw==} - engines: {node: '>=10'} - hasBin: true - thingies@2.6.0: resolution: {integrity: sha512-rMHRjmlFLM1R96UYPvpmnc3LYtdFrT33JIB7L9hetGue1qAPfn1N2LJeEjxUSidu1Iku+haLZXDuEXUHNGO/lg==} engines: {node: '>=10.18'} @@ -4219,9 +4071,9 @@ packages: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} - type-is@2.0.1: - resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} - engines: {node: '>= 0.6'} + type-is@2.1.0: + resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==} + engines: {node: '>= 18'} typed-assert@1.0.9: resolution: {integrity: sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==} @@ -4428,8 +4280,8 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - ws@8.20.0: - resolution: {integrity: sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==} + ws@8.20.1: + resolution: {integrity: sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -4591,13 +4443,13 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(jiti@2.7.0)(typescript@6.0.3)': + '@angular-devkit/build-angular@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(jiti@2.7.0)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 '@angular-devkit/build-webpack': 0.2200.0-rc.0(webpack-dev-server@5.2.3(tslib@2.8.1)(webpack@5.106.2(postcss@8.5.14)))(webpack@5.106.2(esbuild@0.28.0)(postcss@8.5.13)) '@angular-devkit/core': 22.0.0-rc.0 - '@angular/build': 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) + '@angular/build': 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 7.29.0 '@babel/generator': 7.29.1 @@ -4711,7 +4563,7 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 @@ -4720,8 +4572,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@20.19.40) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)) + '@inquirer/confirm': 6.0.12(@types/node@20.19.41) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -4740,7 +4592,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel @@ -4763,7 +4615,7 @@ snapshots: - tsx - yaml - '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.47.1)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 @@ -4772,8 +4624,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@20.19.40) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)) + '@inquirer/confirm': 6.0.12(@types/node@20.19.41) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -4792,7 +4644,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel @@ -4815,13 +4667,13 @@ snapshots: - tsx - yaml - '@angular/cli@22.0.0-rc.0(@types/node@20.19.40)': + '@angular/cli@22.0.0-rc.0(@types/node@20.19.41)': dependencies: '@angular-devkit/architect': 0.2200.0-rc.0 '@angular-devkit/core': 22.0.0-rc.0 '@angular-devkit/schematics': 22.0.0-rc.0 - '@inquirer/prompts': 8.4.2(@types/node@20.19.40) - '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.40))(@types/node@20.19.40)(listr2@10.2.1) + '@inquirer/prompts': 8.4.2(@types/node@20.19.41) + '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.41))(@types/node@20.19.41)(listr2@10.2.1) '@modelcontextprotocol/sdk': 1.29.0(zod@4.4.2) '@schematics/angular': 22.0.0-rc.0 '@yarnpkg/lockfile': 1.1.0 @@ -5694,135 +5546,135 @@ snapshots: '@harperfast/extended-iterable@1.0.3': optional: true - '@hono/node-server@1.19.14(hono@4.12.18)': + '@hono/node-server@1.19.14(hono@4.12.19)': dependencies: - hono: 4.12.18 + hono: 4.12.19 '@inquirer/ansi@2.0.5': {} - '@inquirer/checkbox@5.1.5(@types/node@20.19.40)': + '@inquirer/checkbox@5.1.5(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/confirm@6.0.12(@types/node@20.19.40)': + '@inquirer/confirm@6.0.12(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/confirm@6.0.13(@types/node@20.19.40)': + '@inquirer/confirm@6.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/core@11.1.10(@types/node@20.19.40)': + '@inquirer/core@11.1.10(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) cli-width: 4.1.0 fast-wrap-ansi: 0.2.0 mute-stream: 3.0.0 signal-exit: 4.1.0 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/editor@5.1.2(@types/node@20.19.40)': + '@inquirer/editor@5.1.2(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/external-editor': 3.0.0(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/external-editor': 3.0.0(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/expand@5.0.14(@types/node@20.19.40)': + '@inquirer/expand@5.0.14(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/external-editor@3.0.0(@types/node@20.19.40)': + '@inquirer/external-editor@3.0.0(@types/node@20.19.41)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@inquirer/figures@2.0.5': {} - '@inquirer/input@5.0.13(@types/node@20.19.40)': + '@inquirer/input@5.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/number@4.0.13(@types/node@20.19.40)': + '@inquirer/number@4.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/password@5.0.13(@types/node@20.19.40)': + '@inquirer/password@5.0.13(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 - - '@inquirer/prompts@8.4.2(@types/node@20.19.40)': - dependencies: - '@inquirer/checkbox': 5.1.5(@types/node@20.19.40) - '@inquirer/confirm': 6.0.13(@types/node@20.19.40) - '@inquirer/editor': 5.1.2(@types/node@20.19.40) - '@inquirer/expand': 5.0.14(@types/node@20.19.40) - '@inquirer/input': 5.0.13(@types/node@20.19.40) - '@inquirer/number': 4.0.13(@types/node@20.19.40) - '@inquirer/password': 5.0.13(@types/node@20.19.40) - '@inquirer/rawlist': 5.2.9(@types/node@20.19.40) - '@inquirer/search': 4.1.9(@types/node@20.19.40) - '@inquirer/select': 5.1.5(@types/node@20.19.40) + '@types/node': 20.19.41 + + '@inquirer/prompts@8.4.2(@types/node@20.19.41)': + dependencies: + '@inquirer/checkbox': 5.1.5(@types/node@20.19.41) + '@inquirer/confirm': 6.0.13(@types/node@20.19.41) + '@inquirer/editor': 5.1.2(@types/node@20.19.41) + '@inquirer/expand': 5.0.14(@types/node@20.19.41) + '@inquirer/input': 5.0.13(@types/node@20.19.41) + '@inquirer/number': 4.0.13(@types/node@20.19.41) + '@inquirer/password': 5.0.13(@types/node@20.19.41) + '@inquirer/rawlist': 5.2.9(@types/node@20.19.41) + '@inquirer/search': 4.1.9(@types/node@20.19.41) + '@inquirer/select': 5.1.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/rawlist@5.2.9(@types/node@20.19.40)': + '@inquirer/rawlist@5.2.9(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/search@4.1.9(@types/node@20.19.40)': + '@inquirer/search@4.1.9(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/select@5.1.5(@types/node@20.19.40)': + '@inquirer/select@5.1.5(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/type@4.0.5(@types/node@20.19.40)': + '@inquirer/type@4.0.5(@types/node@20.19.41)': optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@isaacs/fs-minipass@4.0.1': dependencies: @@ -5988,10 +5840,10 @@ snapshots: '@leichtgewicht/ip-codec@2.0.5': {} - '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.40))(@types/node@20.19.40)(listr2@10.2.1)': + '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.41))(@types/node@20.19.41)(listr2@10.2.1)': dependencies: - '@inquirer/prompts': 8.4.2(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/prompts': 8.4.2(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) listr2: 10.2.1 transitivePeerDependencies: - '@types/node' @@ -6019,7 +5871,7 @@ snapshots: '@modelcontextprotocol/sdk@1.29.0(zod@4.4.2)': dependencies: - '@hono/node-server': 1.19.14(hono@4.12.18) + '@hono/node-server': 1.19.14(hono@4.12.19) ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) content-type: 1.0.5 @@ -6028,8 +5880,8 @@ snapshots: eventsource: 3.0.7 eventsource-parser: 3.0.8 express: 5.2.1 - express-rate-limit: 8.5.1(express@5.2.1) - hono: 4.12.18 + express-rate-limit: 8.5.2(express@5.2.1) + hono: 4.12.19 jose: 6.2.3 json-schema-typed: 8.0.2 pkce-challenge: 5.0.1 @@ -6351,153 +6203,78 @@ snapshots: '@rollup/rollup-android-arm-eabi@4.60.2': optional: true - '@rollup/rollup-android-arm-eabi@4.60.3': - optional: true - '@rollup/rollup-android-arm64@4.60.2': optional: true - '@rollup/rollup-android-arm64@4.60.3': - optional: true - '@rollup/rollup-darwin-arm64@4.60.2': optional: true - '@rollup/rollup-darwin-arm64@4.60.3': - optional: true - '@rollup/rollup-darwin-x64@4.60.2': optional: true - '@rollup/rollup-darwin-x64@4.60.3': - optional: true - '@rollup/rollup-freebsd-arm64@4.60.2': optional: true - '@rollup/rollup-freebsd-arm64@4.60.3': - optional: true - '@rollup/rollup-freebsd-x64@4.60.2': optional: true - '@rollup/rollup-freebsd-x64@4.60.3': - optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.3': - optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.2': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.3': - optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-arm64-musl@4.60.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-loong64-musl@4.60.2': optional: true - '@rollup/rollup-linux-loong64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.2': optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-x64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-x64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-x64-musl@4.60.2': optional: true - '@rollup/rollup-linux-x64-musl@4.60.3': - optional: true - '@rollup/rollup-openbsd-x64@4.60.2': optional: true - '@rollup/rollup-openbsd-x64@4.60.3': - optional: true - '@rollup/rollup-openharmony-arm64@4.60.2': optional: true - '@rollup/rollup-openharmony-arm64@4.60.3': - optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.2': optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.3': - optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.3': - optional: true - '@rollup/rollup-win32-x64-gnu@4.60.2': optional: true - '@rollup/rollup-win32-x64-gnu@4.60.3': - optional: true - '@rollup/rollup-win32-x64-msvc@4.60.2': optional: true - '@rollup/rollup-win32-x64-msvc@4.60.3': - optional: true - '@schematics/angular@22.0.0-rc.0': dependencies: '@angular-devkit/core': 22.0.0-rc.0 @@ -6557,20 +6334,20 @@ snapshots: '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/bonjour@3.5.13': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 4.19.8 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/connect@3.4.38': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/eslint-scope@3.7.7': dependencies: @@ -6588,7 +6365,7 @@ snapshots: '@types/express-serve-static-core@4.19.8': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/qs': 6.15.1 '@types/range-parser': 1.2.7 '@types/send': 1.2.1 @@ -6604,13 +6381,13 @@ snapshots: '@types/http-proxy@1.17.17': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/json-schema@7.0.15': {} '@types/mime@1.3.5': {} - '@types/node@20.19.40': + '@types/node@20.19.41': dependencies: undici-types: 6.21.0 @@ -6623,11 +6400,11 @@ snapshots: '@types/send@0.17.6': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/send@1.2.1': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/serve-index@1.9.4': dependencies: @@ -6636,20 +6413,20 @@ snapshots: '@types/serve-static@1.15.10': dependencies: '@types/http-errors': 2.0.5 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/send': 0.17.6 '@types/sockjs@0.3.36': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/ws@8.18.1': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1))': + '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2))': dependencies: - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) '@webassemblyjs/ast@1.14.1': dependencies: @@ -6833,7 +6610,7 @@ snapshots: autoprefixer@10.5.0(postcss@8.5.13): dependencies: browserslist: 4.28.2 - caniuse-lite: 1.0.30001792 + caniuse-lite: 1.0.30001793 fraction.js: 5.3.4 picocolors: 1.1.1 postcss: 8.5.13 @@ -6880,7 +6657,7 @@ snapshots: balanced-match@4.0.4: {} - baseline-browser-mapping@2.10.29: {} + baseline-browser-mapping@2.10.30: {} batch@0.6.1: {} @@ -6910,7 +6687,7 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.4.24 on-finished: 2.4.1 - qs: 6.15.1 + qs: 6.15.2 raw-body: 2.5.3 type-is: 1.6.18 unpipe: 1.0.0 @@ -6925,9 +6702,9 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.7.2 on-finished: 2.4.1 - qs: 6.15.1 + qs: 6.15.2 raw-body: 3.0.2 - type-is: 2.0.1 + type-is: 2.1.0 transitivePeerDependencies: - supports-color @@ -6948,10 +6725,10 @@ snapshots: browserslist@4.28.2: dependencies: - baseline-browser-mapping: 2.10.29 - caniuse-lite: 1.0.30001792 - electron-to-chromium: 1.5.353 - node-releases: 2.0.38 + baseline-browser-mapping: 2.10.30 + caniuse-lite: 1.0.30001793 + electron-to-chromium: 1.5.358 + node-releases: 2.0.44 update-browserslist-db: 1.2.3(browserslist@4.28.2) buffer-from@1.1.2: {} @@ -6989,7 +6766,7 @@ snapshots: callsites@3.1.0: {} - caniuse-lite@1.0.30001792: {} + caniuse-lite@1.0.30001793: {} chalk@5.6.2: {} @@ -7070,6 +6847,8 @@ snapshots: content-type@1.0.5: {} + content-type@2.0.0: {} + convert-source-map@1.9.0: {} convert-source-map@2.0.0: {} @@ -7123,12 +6902,12 @@ snapshots: css-loader@7.1.4(webpack@5.106.2(esbuild@0.28.0)(postcss@8.5.13)): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.14) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.14) - postcss-modules-scope: 3.2.1(postcss@8.5.14) - postcss-modules-values: 4.0.0(postcss@8.5.14) + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.13) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.13) + postcss-modules-scope: 3.2.1(postcss@8.5.13) + postcss-modules-values: 4.0.0(postcss@8.5.13) postcss-value-parser: 4.2.0 semver: 7.7.4 optionalDependencies: @@ -7206,7 +6985,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.353: {} + electron-to-chromium@1.5.358: {} emoji-regex@10.6.0: {} @@ -7343,12 +7122,12 @@ snapshots: exponential-backoff@3.1.3: {} - express-rate-limit@8.5.1(express@5.2.1): + express-rate-limit@8.5.2(express@5.2.1): dependencies: express: 5.2.1 ip-address: 10.2.0 - express@4.22.1: + express@4.22.2: dependencies: accepts: 1.3.8 array-flatten: 1.1.1 @@ -7371,7 +7150,7 @@ snapshots: parseurl: 1.3.3 path-to-regexp: 0.1.13 proxy-addr: 2.0.7 - qs: 6.14.2 + qs: 6.15.2 range-parser: 1.2.1 safe-buffer: 5.2.1 send: 0.19.2 @@ -7406,13 +7185,13 @@ snapshots: once: 1.4.0 parseurl: 1.3.3 proxy-addr: 2.0.7 - qs: 6.15.1 + qs: 6.15.2 range-parser: 1.2.1 router: 2.2.0 send: 1.2.1 serve-static: 2.2.1 statuses: 2.0.2 - type-is: 2.0.1 + type-is: 2.1.0 vary: 1.1.2 transitivePeerDependencies: - supports-color @@ -7552,7 +7331,7 @@ snapshots: dependencies: function-bind: 1.1.2 - hono@4.12.18: {} + hono@4.12.19: {} hosted-git-info@9.0.3: dependencies: @@ -7660,9 +7439,9 @@ snapshots: dependencies: safer-buffer: 2.1.2 - icss-utils@5.1.0(postcss@8.5.14): + icss-utils@5.1.0(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 ignore-walk@8.0.0: dependencies: @@ -7762,7 +7541,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -8088,7 +7867,7 @@ snapshots: undici: 6.25.0 which: 6.0.1 - node-releases@2.0.38: {} + node-releases@2.0.44: {} nopt@9.0.0: dependencies: @@ -8311,26 +8090,26 @@ snapshots: postcss-media-query-parser@0.2.3: {} - postcss-modules-extract-imports@3.1.0(postcss@8.5.14): + postcss-modules-extract-imports@3.1.0(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 - postcss-modules-local-by-default@4.2.0(postcss@8.5.14): + postcss-modules-local-by-default@4.2.0(postcss@8.5.13): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 postcss-selector-parser: 7.1.1 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.2.1(postcss@8.5.14): + postcss-modules-scope@3.2.1(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 postcss-selector-parser: 7.1.1 - postcss-modules-values@4.0.0(postcss@8.5.14): + postcss-modules-values@4.0.0(postcss@8.5.13): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 postcss-safe-parser@7.0.1(postcss@8.5.14): dependencies: @@ -8375,11 +8154,7 @@ snapshots: pvutils@1.1.5: {} - qs@6.14.2: - dependencies: - side-channel: 1.1.0 - - qs@6.15.1: + qs@6.15.2: dependencies: side-channel: 1.1.0 @@ -8457,7 +8232,7 @@ snapshots: adjust-sourcemap-loader: 4.0.0 convert-source-map: 1.9.0 loader-utils: 2.0.4 - postcss: 8.5.14 + postcss: 8.5.13 source-map: 0.6.1 resolve@1.22.12: @@ -8507,37 +8282,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.60.2 fsevents: 2.3.3 - rollup@4.60.3: - dependencies: - '@types/estree': 1.0.8 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.60.3 - '@rollup/rollup-android-arm64': 4.60.3 - '@rollup/rollup-darwin-arm64': 4.60.3 - '@rollup/rollup-darwin-x64': 4.60.3 - '@rollup/rollup-freebsd-arm64': 4.60.3 - '@rollup/rollup-freebsd-x64': 4.60.3 - '@rollup/rollup-linux-arm-gnueabihf': 4.60.3 - '@rollup/rollup-linux-arm-musleabihf': 4.60.3 - '@rollup/rollup-linux-arm64-gnu': 4.60.3 - '@rollup/rollup-linux-arm64-musl': 4.60.3 - '@rollup/rollup-linux-loong64-gnu': 4.60.3 - '@rollup/rollup-linux-loong64-musl': 4.60.3 - '@rollup/rollup-linux-ppc64-gnu': 4.60.3 - '@rollup/rollup-linux-ppc64-musl': 4.60.3 - '@rollup/rollup-linux-riscv64-gnu': 4.60.3 - '@rollup/rollup-linux-riscv64-musl': 4.60.3 - '@rollup/rollup-linux-s390x-gnu': 4.60.3 - '@rollup/rollup-linux-x64-gnu': 4.60.3 - '@rollup/rollup-linux-x64-musl': 4.60.3 - '@rollup/rollup-openbsd-x64': 4.60.3 - '@rollup/rollup-openharmony-arm64': 4.60.3 - '@rollup/rollup-win32-arm64-msvc': 4.60.3 - '@rollup/rollup-win32-ia32-msvc': 4.60.3 - '@rollup/rollup-win32-x64-gnu': 4.60.3 - '@rollup/rollup-win32-x64-msvc': 4.60.3 - fsevents: 2.3.3 - router@2.2.0: dependencies: debug: 4.4.3 @@ -8852,7 +8596,7 @@ snapshots: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 - terser: 5.47.1 + terser: 5.46.2 webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) optionalDependencies: esbuild: 0.28.0 @@ -8865,13 +8609,6 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 - terser@5.47.1: - dependencies: - '@jridgewell/source-map': 0.3.11 - acorn: 8.16.0 - commander: 2.20.3 - source-map-support: 0.5.21 - thingies@2.6.0(tslib@2.8.1): dependencies: tslib: 2.8.1 @@ -8893,14 +8630,14 @@ snapshots: dependencies: tslib: 2.8.1 - ts-node@10.9.2(@types/node@20.19.40)(typescript@6.0.3): + ts-node@10.9.2(@types/node@20.19.41)(typescript@6.0.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.12 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.19.40 + '@types/node': 20.19.41 acorn: 8.16.0 acorn-walk: 8.3.5 arg: 4.1.3 @@ -8932,9 +8669,9 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 - type-is@2.0.1: + type-is@2.1.0: dependencies: - content-type: 1.0.5 + content-type: 2.0.0 media-typer: 1.1.0 mime-types: 3.0.2 @@ -8977,38 +8714,22 @@ snapshots: vary@1.1.2: {} - vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2): + vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) picomatch: 4.0.4 postcss: 8.5.14 - rollup: 4.60.3 + rollup: 4.60.2 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 fsevents: 2.3.3 jiti: 2.7.0 less: 4.6.4 sass: 1.99.0 terser: 5.46.2 - vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1): - dependencies: - esbuild: 0.27.7 - fdir: 6.5.0(picomatch@4.0.4) - picomatch: 4.0.4 - postcss: 8.5.14 - rollup: 4.60.3 - tinyglobby: 0.2.16 - optionalDependencies: - '@types/node': 20.19.40 - fsevents: 2.3.3 - jiti: 2.7.0 - less: 4.6.4 - sass: 1.99.0 - terser: 5.47.1 - watchpack@2.5.1: dependencies: glob-to-regexp: 0.4.1 @@ -9062,7 +8783,7 @@ snapshots: colorette: 2.0.20 compression: 1.8.1 connect-history-api-fallback: 2.0.0 - express: 4.22.1 + express: 4.22.2 graceful-fs: 4.2.11 http-proxy-middleware: 2.0.9(@types/express@4.17.25) ipaddr.js: 2.4.0 @@ -9075,7 +8796,7 @@ snapshots: sockjs: 0.3.24 spdy: 4.0.2 webpack-dev-middleware: 7.4.5(tslib@2.8.1)(webpack@5.106.2(postcss@8.5.14)) - ws: 8.20.0 + ws: 8.20.1 optionalDependencies: webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) transitivePeerDependencies: @@ -9170,7 +8891,7 @@ snapshots: wrappy@1.0.2: {} - ws@8.20.0: {} + ws@8.20.1: {} wsl-utils@0.1.0: dependencies: diff --git a/integration/cli-signal-inputs/pnpm-lock.yaml b/integration/cli-signal-inputs/pnpm-lock.yaml index 7e06fc75fed1..0e837e102475 100644 --- a/integration/cli-signal-inputs/pnpm-lock.yaml +++ b/integration/cli-signal-inputs/pnpm-lock.yaml @@ -41,10 +41,10 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.40)(jiti@2.7.0)(karma@6.4.4)(typescript@6.0.3) + version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.41)(jiti@2.7.0)(karma@6.4.4)(typescript@6.0.3) '@angular/cli': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@types/node@20.19.40) + version: 22.0.0-rc.0(@types/node@20.19.41) '@angular/compiler-cli': specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel @@ -56,7 +56,7 @@ importers: version: 2.0.13 '@types/node': specifier: ^20.14.8 - version: 20.19.40 + version: 20.19.41 concurrently: specifier: 9.2.1 version: 9.2.1 @@ -89,7 +89,7 @@ importers: version: 14.2.6 ts-node: specifier: ^10.9.1 - version: 10.9.2(@types/node@20.19.40)(typescript@6.0.3) + version: 10.9.2(@types/node@20.19.41)(typescript@6.0.3) typescript: specifier: 6.0.3 version: 6.0.3 @@ -1792,277 +1792,139 @@ packages: cpu: [arm] os: [android] - '@rollup/rollup-android-arm-eabi@4.60.3': - resolution: {integrity: sha512-x35CNW/ANXG3hE/EZpRU8MXX1JDN86hBb2wMGAtltkz7pc6cxgjpy1OMMfDosOQ+2hWqIkag/fGok1Yady9nGw==} - cpu: [arm] - os: [android] - '@rollup/rollup-android-arm64@4.60.2': resolution: {integrity: sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==} cpu: [arm64] os: [android] - '@rollup/rollup-android-arm64@4.60.3': - resolution: {integrity: sha512-xw3xtkDApIOGayehp2+Rz4zimfkaX65r4t47iy+ymQB2G4iJCBBfj0ogVg5jpvjpn8UWn/+q9tprxleYeNp3Hw==} - cpu: [arm64] - os: [android] - '@rollup/rollup-darwin-arm64@4.60.2': resolution: {integrity: sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-arm64@4.60.3': - resolution: {integrity: sha512-vo6Y5Qfpx7/5EaamIwi0WqW2+zfiusVihKatLvtN1VFVy3D13uERk/6gZLU1UiHRL6fDXqj/ELIeVRGnvcTE1g==} - cpu: [arm64] - os: [darwin] - '@rollup/rollup-darwin-x64@4.60.2': resolution: {integrity: sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==} cpu: [x64] os: [darwin] - '@rollup/rollup-darwin-x64@4.60.3': - resolution: {integrity: sha512-D+0QGcZhBzTN82weOnsSlY7V7+RMmPuF1CkbxyMAGE8+ZHeUjyb76ZiWmBlCu//AQQONvxcqRbwZTajZKqjuOw==} - cpu: [x64] - os: [darwin] - '@rollup/rollup-freebsd-arm64@4.60.2': resolution: {integrity: sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-arm64@4.60.3': - resolution: {integrity: sha512-6HnvHCT7fDyj6R0Ph7A6x8dQS/S38MClRWeDLqc0MdfWkxjiu1HSDYrdPhqSILzjTIC/pnXbbJbo+ft+gy/9hQ==} - cpu: [arm64] - os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.2': resolution: {integrity: sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==} cpu: [x64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.3': - resolution: {integrity: sha512-KHLgC3WKlUYW3ShFKnnosZDOJ0xjg9zp7au3sIm2bs/tGBeC2ipmvRh/N7JKi0t9Ue20C0dpEshi8WUubg+cnA==} - cpu: [x64] - os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.60.2': resolution: {integrity: sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==} cpu: [arm] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm-gnueabihf@4.60.3': - resolution: {integrity: sha512-DV6fJoxEYWJOvaZIsok7KrYl0tPvga5OZ2yvKHNNYyk/2roMLqQAbGhr78EQ5YhHpnhLKJD3S1WFusAkmUuV5g==} - cpu: [arm] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-arm-musleabihf@4.60.2': resolution: {integrity: sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==} cpu: [arm] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm-musleabihf@4.60.3': - resolution: {integrity: sha512-mQKoJAzvuOs6F+TZybQO4GOTSMUu7v0WdxEk24krQ/uUxXoPTtHjuaUuPmFhtBcM4K0ons8nrE3JyhTuCFtT/w==} - cpu: [arm] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-arm64-gnu@4.60.2': resolution: {integrity: sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==} cpu: [arm64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm64-gnu@4.60.3': - resolution: {integrity: sha512-Whjj2qoiJ6+OOJMGptTYazaJvjOJm+iKHpXQM1P3LzGjt7Ff++Tp7nH4N8J/BUA7R9IHfDyx4DJIflifwnbmIA==} - cpu: [arm64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-arm64-musl@4.60.2': resolution: {integrity: sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==} cpu: [arm64] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm64-musl@4.60.3': - resolution: {integrity: sha512-4YTNHKqGng5+yiZt3mg77nmyuCfmNfX4fPmyUapBcIk+BdwSwmCWGXOUxhXbBEkFHtoN5boLj/5NON+u5QC9tg==} - cpu: [arm64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-loong64-gnu@4.60.2': resolution: {integrity: sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==} cpu: [loong64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-loong64-gnu@4.60.3': - resolution: {integrity: sha512-SU3kNlhkpI4UqlUc2VXPGK9o886ZsSeGfMAX2ba2b8DKmMXq4AL7KUrkSWVbb7koVqx41Yczx6dx5PNargIrEA==} - cpu: [loong64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-loong64-musl@4.60.2': resolution: {integrity: sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==} cpu: [loong64] os: [linux] libc: [musl] - '@rollup/rollup-linux-loong64-musl@4.60.3': - resolution: {integrity: sha512-6lDLl5h4TXpB1mTf2rQWnAk/LcXrx9vBfu/DT5TIPhvMhRWaZ5MxkIc8u4lJAmBo6klTe1ywXIUHFjylW505sg==} - cpu: [loong64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-ppc64-gnu@4.60.2': resolution: {integrity: sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==} cpu: [ppc64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-ppc64-gnu@4.60.3': - resolution: {integrity: sha512-BMo8bOw8evlup/8G+cj5xWtPyp93xPdyoSN16Zy90Q2QZ0ZYRhCt6ZJSwbrRzG9HApFabjwj2p25TUPDWrhzqQ==} - cpu: [ppc64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-ppc64-musl@4.60.2': resolution: {integrity: sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==} cpu: [ppc64] os: [linux] libc: [musl] - '@rollup/rollup-linux-ppc64-musl@4.60.3': - resolution: {integrity: sha512-E0L8X1dZN1/Rph+5VPF6Xj2G7JJvMACVXtamTJIDrVI44Y3K+G8gQaMEAavbqCGTa16InptiVrX6eM6pmJ+7qA==} - cpu: [ppc64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-riscv64-gnu@4.60.2': resolution: {integrity: sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==} cpu: [riscv64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-riscv64-gnu@4.60.3': - resolution: {integrity: sha512-oZJ/WHaVfHUiRAtmTAeo3DcevNsVvH8mbvodjZy7D5QKvCefO371SiKRpxoDcCxB3PTRTLayWBkvmDQKTcX/sw==} - cpu: [riscv64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-riscv64-musl@4.60.2': resolution: {integrity: sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==} cpu: [riscv64] os: [linux] libc: [musl] - '@rollup/rollup-linux-riscv64-musl@4.60.3': - resolution: {integrity: sha512-Dhbyh7j9FybM3YaTgaHmVALwA8AkUwTPccyCQ79TG9AJUsMQqgN1DDEZNr4+QUfwiWvLDumW5vdwzoeUF+TNxQ==} - cpu: [riscv64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-s390x-gnu@4.60.2': resolution: {integrity: sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==} cpu: [s390x] os: [linux] libc: [glibc] - '@rollup/rollup-linux-s390x-gnu@4.60.3': - resolution: {integrity: sha512-cJd1X5XhHHlltkaypz1UcWLA8AcoIi1aWhsvaWDskD1oz2eKCypnqvTQ8ykMNI0RSmm7NkTdSqSSD7zM0xa6Ig==} - cpu: [s390x] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.2': resolution: {integrity: sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==} cpu: [x64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.3': - resolution: {integrity: sha512-DAZDBHQfG2oQuhY7mc6I3/qB4LU2fQCjRvxbDwd/Jdvb9fypP4IJ4qmtu6lNjes6B531AI8cg1aKC2di97bUxA==} - cpu: [x64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-x64-musl@4.60.2': resolution: {integrity: sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==} cpu: [x64] os: [linux] libc: [musl] - '@rollup/rollup-linux-x64-musl@4.60.3': - resolution: {integrity: sha512-cRxsE8c13mZOh3vP+wLDxpQBRrOHDIGOWyDL93Sy0Ga8y515fBcC2pjUfFwUe5T7tqvTvWbCpg1URM/AXdWIXA==} - cpu: [x64] - os: [linux] - libc: [musl] - '@rollup/rollup-openbsd-x64@4.60.2': resolution: {integrity: sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==} cpu: [x64] os: [openbsd] - '@rollup/rollup-openbsd-x64@4.60.3': - resolution: {integrity: sha512-QaWcIgRxqEdQdhJqW4DJctsH6HCmo5vHxY0krHSX4jMtOqfzC+dqDGuHM87bu4H8JBeibWx7jFz+h6/4C8wA5Q==} - cpu: [x64] - os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.60.2': resolution: {integrity: sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-openharmony-arm64@4.60.3': - resolution: {integrity: sha512-AaXwSvUi3QIPtroAUw1t5yHGIyqKEXwH54WUocFolZhpGDruJcs8c+xPNDRn4XiQsS7MEwnYsHW2l0MBLDMkWg==} - cpu: [arm64] - os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.60.2': resolution: {integrity: sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.60.3': - resolution: {integrity: sha512-65LAKM/bAWDqKNEelHlcHvm2V+Vfb8C6INFxQXRHCvaVN1rJfwr4NvdP4FyzUaLqWfaCGaadf6UbTm8xJeYfEg==} - cpu: [arm64] - os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.2': resolution: {integrity: sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.3': - resolution: {integrity: sha512-EEM2gyhBF5MFnI6vMKdX1LAosE627RGBzIoGMdLloPZkXrUN0Ckqgr2Qi8+J3zip/8NVVro3/FjB+tjhZUgUHA==} - cpu: [ia32] - os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.2': resolution: {integrity: sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.3': - resolution: {integrity: sha512-E5Eb5H/DpxaoXH++Qkv28RcUJboMopmdDUALBczvHMf7hNIxaDZqwY5lK12UK1BHacSmvupoEWGu+n993Z0y1A==} - cpu: [x64] - os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.2': resolution: {integrity: sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.3': - resolution: {integrity: sha512-hPt/bgL5cE+Qp+/TPHBqptcAgPzgj46mPcg/16zNUmbQk0j+mOEQV/+Lqu8QRtDV3Ek95Q6FeFITpuhl6OTsAA==} - cpu: [x64] - os: [win32] - '@schematics/angular@22.0.0-rc.0': resolution: {integrity: sha512-V5BQFRlPfx/rJZOtkDUAunJqNfi+75J0gr41W1VId8TntsddF0jn1Fz4XQncTiu3dk8UMeRUdmyJrjYRl1Q5Wg==} engines: {node: ^22.22.0 || ^24.13.1 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} @@ -2165,8 +2027,8 @@ packages: '@types/mime@1.3.5': resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - '@types/node@20.19.40': - resolution: {integrity: sha512-xxx6M2IpSTnnKcR0cMvIiohkiCx20/oRPtWGbenFygKCGl3zqUzdNjQ/1V4solq1LU+dgv0nQzeGOuqkqZGg0Q==} + '@types/node@20.19.41': + resolution: {integrity: sha512-ECymXOukMnOoVkC2bb1Vc/w/836DXncOg5m8Xj1RH7xSHZJWNYY6Zh7EH477vcnD5egKNNfy2RpNOmuChhFPgQ==} '@types/q@0.0.32': resolution: {integrity: sha512-qYi3YV9inU/REEfxwVcGZzbS3KG/Xs90lv0Pr+lDtuVjBPGd1A+eciXzVSaRvLify132BfcvhvEjeVahrUl0Ug==} @@ -2487,8 +2349,8 @@ packages: resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==} engines: {node: ^4.5.0 || >= 5.9} - baseline-browser-mapping@2.10.29: - resolution: {integrity: sha512-Asa2krT+XTPZINCS+2QcyS8WTkObE77RwkydwF7h6DmnKqbvlalz93m/dnphUyCa6SWSP51VgtEUf2FN+gelFQ==} + baseline-browser-mapping@2.10.30: + resolution: {integrity: sha512-xjOFN16Ha1+Rz4nFYKqHU/LSB+gx/Vi3yQLX7r7sAW+Wa+8hhF2h4pvqTrTMc8+WcDBEunnUurr46Jvv0jk3Vg==} engines: {node: '>=6.0.0'} hasBin: true @@ -2594,8 +2456,8 @@ packages: resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} engines: {node: '>=14.16'} - caniuse-lite@1.0.30001792: - resolution: {integrity: sha512-hVLMUZFgR4JJ6ACt1uEESvQN1/dBVqPAKY0hgrV70eN3391K6juAfTjKZLKvOMsx8PxA7gsY1/tLMMTcfFLLpw==} + caniuse-lite@1.0.30001793: + resolution: {integrity: sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==} caseless@0.12.0: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} @@ -2742,6 +2604,10 @@ packages: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} + content-type@2.0.0: + resolution: {integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==} + engines: {node: '>=18'} + convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} @@ -2945,8 +2811,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.353: - resolution: {integrity: sha512-kOrWphBi8TOZyiJZqsgqIle0lw+tzmnQK83pV9dZUd01Nm2POECSyFQMAuarzZdYqQW7FH9RaYOuaRo3h+bQ3w==} + electron-to-chromium@1.5.358: + resolution: {integrity: sha512-EO7tKm3QxRqTs1lSuPXzl6yRAwznehp0AH9OoMOIC+4mQzTFday8FJCO5KU6J/TFSQXEOahNq4vTKpz1jmCVOA==} emoji-regex@10.6.0: resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} @@ -3112,14 +2978,14 @@ packages: exponential-backoff@3.1.3: resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} - express-rate-limit@8.5.1: - resolution: {integrity: sha512-5O6KYmyJEpuPJV5hNTXKbAHWRqrzyu+OI3vUnSd2kXFubIVpG7ezpgxQy76Zo5GQZtrQBg86hF+CM/NX+cioiQ==} + express-rate-limit@8.5.2: + resolution: {integrity: sha512-5Kb34ipNX694DH48vN9irak1Qx30nb0PLYHXfJgw4YEjiC3ZEmZJhwOp+VfiCYwFzvFTdB9QkArYS5kXa2cx2A==} engines: {node: '>= 16'} peerDependencies: express: '>= 4.11' - express@4.22.1: - resolution: {integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==} + express@4.22.2: + resolution: {integrity: sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==} engines: {node: '>= 0.10.0'} express@5.2.1: @@ -3340,8 +3206,8 @@ packages: resolution: {integrity: sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==} engines: {node: '>= 0.4'} - hono@4.12.18: - resolution: {integrity: sha512-RWzP96k/yv0PQfyXnWjs6zot20TqfpfsNXhOnev8d1InAxubW93L11/oNUc3tQqn2G0bSdAOBpX+2uDFHV7kdQ==} + hono@4.12.19: + resolution: {integrity: sha512-xa3eYXYXx68XTT4hZ7dRzsXBhaq85ToSrlUJNoR0gwz/1Ap/CNwX47wfvV7pc/xWhjKVVkLT7zBJy8chhNguqQ==} engines: {node: '>=16.9.0'} hosted-git-info@9.0.3: @@ -4067,8 +3933,8 @@ packages: engines: {node: ^20.17.0 || >=22.9.0} hasBin: true - node-releases@2.0.38: - resolution: {integrity: sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==} + node-releases@2.0.44: + resolution: {integrity: sha512-5WUyunoPMsvvEhS8AxHtRzP+oA8UCkJ7YRxatWKjngndhDGLiqEVAQKWjFAiAiuL8zMRGzGSJxFnLetoa43qGQ==} nopt@9.0.0: resolution: {integrity: sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==} @@ -4361,10 +4227,6 @@ packages: resolution: {integrity: sha512-qif0+jGGZoLWdHey3UFHHWP0H7Gbmsk8T5VEqyYFbWqPr1XqvLGBbk/sl8V5exGmcYJklJOhOQq1pV9IcsiFag==} engines: {node: ^10 || ^12 || >=14} - postcss@8.5.14: - resolution: {integrity: sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==} - engines: {node: ^10 || ^12 || >=14} - powershell-utils@0.1.0: resolution: {integrity: sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==} engines: {node: '>=20'} @@ -4418,12 +4280,8 @@ packages: resolution: {integrity: sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==} engines: {node: '>=0.9'} - qs@6.14.2: - resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==} - engines: {node: '>=0.6'} - - qs@6.15.1: - resolution: {integrity: sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==} + qs@6.15.2: + resolution: {integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==} engines: {node: '>=0.6'} qs@6.5.5: @@ -4554,11 +4412,6 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - rollup@4.60.3: - resolution: {integrity: sha512-pAQK9HalE84QSm4Po3EmWIZPd3FnjkShVkiMlz1iligWYkWQ7wHYd1PF/T7QZ5TVSD6uSTon5gBVMSM4JfBV+A==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - router@2.2.0: resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} engines: {node: '>= 18'} @@ -4950,11 +4803,6 @@ packages: engines: {node: '>=10'} hasBin: true - terser@5.47.1: - resolution: {integrity: sha512-tPbLXTI6ohPASb/1YViL428oEHu6/qv1OxqYnfaonVCFHqx4+wCd95pHrQWsL5X4pl90CTyW9piSAsS2L0VoMw==} - engines: {node: '>=10'} - hasBin: true - thingies@2.6.0: resolution: {integrity: sha512-rMHRjmlFLM1R96UYPvpmnc3LYtdFrT33JIB7L9hetGue1qAPfn1N2LJeEjxUSidu1Iku+haLZXDuEXUHNGO/lg==} engines: {node: '>=10.18'} @@ -5040,9 +4888,9 @@ packages: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} - type-is@2.0.1: - resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} - engines: {node: '>= 0.6'} + type-is@2.1.0: + resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==} + engines: {node: '>= 18'} typed-assert@1.0.9: resolution: {integrity: sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==} @@ -5320,8 +5168,8 @@ packages: utf-8-validate: optional: true - ws@8.20.0: - resolution: {integrity: sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==} + ws@8.20.1: + resolution: {integrity: sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -5518,13 +5366,13 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.40)(jiti@2.7.0)(karma@6.4.4)(typescript@6.0.3)': + '@angular-devkit/build-angular@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.41)(jiti@2.7.0)(karma@6.4.4)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 '@angular-devkit/build-webpack': 0.2200.0-rc.0(webpack-dev-server@5.2.3(tslib@2.8.1)(webpack@5.106.2(postcss@8.5.13)))(webpack@5.106.2(esbuild@0.28.0)(postcss@8.5.13)) '@angular-devkit/core': 22.0.0-rc.0 - '@angular/build': 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(karma@6.4.4)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) + '@angular/build': 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(karma@6.4.4)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 7.29.0 '@babel/generator': 7.29.1 @@ -5638,7 +5486,7 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(karma@6.4.4)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(karma@6.4.4)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 @@ -5647,8 +5495,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@20.19.40) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)) + '@inquirer/confirm': 6.0.12(@types/node@20.19.41) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -5667,7 +5515,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel @@ -5690,13 +5538,13 @@ snapshots: - tsx - yaml - '@angular/cli@22.0.0-rc.0(@types/node@20.19.40)': + '@angular/cli@22.0.0-rc.0(@types/node@20.19.41)': dependencies: '@angular-devkit/architect': 0.2200.0-rc.0 '@angular-devkit/core': 22.0.0-rc.0 '@angular-devkit/schematics': 22.0.0-rc.0 - '@inquirer/prompts': 8.4.2(@types/node@20.19.40) - '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.40))(@types/node@20.19.40)(listr2@10.2.1) + '@inquirer/prompts': 8.4.2(@types/node@20.19.41) + '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.41))(@types/node@20.19.41)(listr2@10.2.1) '@modelcontextprotocol/sdk': 1.29.0(zod@4.4.2) '@schematics/angular': 22.0.0-rc.0 '@yarnpkg/lockfile': 1.1.0 @@ -6564,135 +6412,135 @@ snapshots: '@harperfast/extended-iterable@1.0.3': optional: true - '@hono/node-server@1.19.14(hono@4.12.18)': + '@hono/node-server@1.19.14(hono@4.12.19)': dependencies: - hono: 4.12.18 + hono: 4.12.19 '@inquirer/ansi@2.0.5': {} - '@inquirer/checkbox@5.1.5(@types/node@20.19.40)': + '@inquirer/checkbox@5.1.5(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/confirm@6.0.12(@types/node@20.19.40)': + '@inquirer/confirm@6.0.12(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/confirm@6.0.13(@types/node@20.19.40)': + '@inquirer/confirm@6.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/core@11.1.10(@types/node@20.19.40)': + '@inquirer/core@11.1.10(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) cli-width: 4.1.0 fast-wrap-ansi: 0.2.0 mute-stream: 3.0.0 signal-exit: 4.1.0 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/editor@5.1.2(@types/node@20.19.40)': + '@inquirer/editor@5.1.2(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/external-editor': 3.0.0(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/external-editor': 3.0.0(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/expand@5.0.14(@types/node@20.19.40)': + '@inquirer/expand@5.0.14(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/external-editor@3.0.0(@types/node@20.19.40)': + '@inquirer/external-editor@3.0.0(@types/node@20.19.41)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@inquirer/figures@2.0.5': {} - '@inquirer/input@5.0.13(@types/node@20.19.40)': + '@inquirer/input@5.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/number@4.0.13(@types/node@20.19.40)': + '@inquirer/number@4.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/password@5.0.13(@types/node@20.19.40)': + '@inquirer/password@5.0.13(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 - - '@inquirer/prompts@8.4.2(@types/node@20.19.40)': - dependencies: - '@inquirer/checkbox': 5.1.5(@types/node@20.19.40) - '@inquirer/confirm': 6.0.13(@types/node@20.19.40) - '@inquirer/editor': 5.1.2(@types/node@20.19.40) - '@inquirer/expand': 5.0.14(@types/node@20.19.40) - '@inquirer/input': 5.0.13(@types/node@20.19.40) - '@inquirer/number': 4.0.13(@types/node@20.19.40) - '@inquirer/password': 5.0.13(@types/node@20.19.40) - '@inquirer/rawlist': 5.2.9(@types/node@20.19.40) - '@inquirer/search': 4.1.9(@types/node@20.19.40) - '@inquirer/select': 5.1.5(@types/node@20.19.40) + '@types/node': 20.19.41 + + '@inquirer/prompts@8.4.2(@types/node@20.19.41)': + dependencies: + '@inquirer/checkbox': 5.1.5(@types/node@20.19.41) + '@inquirer/confirm': 6.0.13(@types/node@20.19.41) + '@inquirer/editor': 5.1.2(@types/node@20.19.41) + '@inquirer/expand': 5.0.14(@types/node@20.19.41) + '@inquirer/input': 5.0.13(@types/node@20.19.41) + '@inquirer/number': 4.0.13(@types/node@20.19.41) + '@inquirer/password': 5.0.13(@types/node@20.19.41) + '@inquirer/rawlist': 5.2.9(@types/node@20.19.41) + '@inquirer/search': 4.1.9(@types/node@20.19.41) + '@inquirer/select': 5.1.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/rawlist@5.2.9(@types/node@20.19.40)': + '@inquirer/rawlist@5.2.9(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/search@4.1.9(@types/node@20.19.40)': + '@inquirer/search@4.1.9(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/select@5.1.5(@types/node@20.19.40)': + '@inquirer/select@5.1.5(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/type@4.0.5(@types/node@20.19.40)': + '@inquirer/type@4.0.5(@types/node@20.19.41)': optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@isaacs/fs-minipass@4.0.1': dependencies: @@ -6858,10 +6706,10 @@ snapshots: '@leichtgewicht/ip-codec@2.0.5': {} - '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.40))(@types/node@20.19.40)(listr2@10.2.1)': + '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.41))(@types/node@20.19.41)(listr2@10.2.1)': dependencies: - '@inquirer/prompts': 8.4.2(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/prompts': 8.4.2(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) listr2: 10.2.1 transitivePeerDependencies: - '@types/node' @@ -6889,7 +6737,7 @@ snapshots: '@modelcontextprotocol/sdk@1.29.0(zod@4.4.2)': dependencies: - '@hono/node-server': 1.19.14(hono@4.12.18) + '@hono/node-server': 1.19.14(hono@4.12.19) ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) content-type: 1.0.5 @@ -6898,8 +6746,8 @@ snapshots: eventsource: 3.0.7 eventsource-parser: 3.0.8 express: 5.2.1 - express-rate-limit: 8.5.1(express@5.2.1) - hono: 4.12.18 + express-rate-limit: 8.5.2(express@5.2.1) + hono: 4.12.19 jose: 6.2.3 json-schema-typed: 8.0.2 pkce-challenge: 5.0.1 @@ -7019,7 +6867,7 @@ snapshots: '@npmcli/fs@5.0.0': dependencies: - semver: 7.8.0 + semver: 7.7.4 '@npmcli/git@7.0.2': dependencies: @@ -7029,7 +6877,7 @@ snapshots: lru-cache: 11.3.6 npm-pick-manifest: 11.0.3 proc-log: 6.1.0 - semver: 7.8.0 + semver: 7.7.4 which: 6.0.1 '@npmcli/installed-package-contents@4.0.0': @@ -7046,7 +6894,7 @@ snapshots: hosted-git-info: 9.0.3 json-parse-even-better-errors: 5.0.0 proc-log: 6.1.0 - semver: 7.8.0 + semver: 7.7.4 spdx-expression-parse: 4.0.0 '@npmcli/promise-spawn@9.0.1': @@ -7221,153 +7069,78 @@ snapshots: '@rollup/rollup-android-arm-eabi@4.60.2': optional: true - '@rollup/rollup-android-arm-eabi@4.60.3': - optional: true - '@rollup/rollup-android-arm64@4.60.2': optional: true - '@rollup/rollup-android-arm64@4.60.3': - optional: true - '@rollup/rollup-darwin-arm64@4.60.2': optional: true - '@rollup/rollup-darwin-arm64@4.60.3': - optional: true - '@rollup/rollup-darwin-x64@4.60.2': optional: true - '@rollup/rollup-darwin-x64@4.60.3': - optional: true - '@rollup/rollup-freebsd-arm64@4.60.2': optional: true - '@rollup/rollup-freebsd-arm64@4.60.3': - optional: true - '@rollup/rollup-freebsd-x64@4.60.2': optional: true - '@rollup/rollup-freebsd-x64@4.60.3': - optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.3': - optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.2': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.3': - optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-arm64-musl@4.60.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-loong64-musl@4.60.2': optional: true - '@rollup/rollup-linux-loong64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.2': optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-x64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-x64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-x64-musl@4.60.2': optional: true - '@rollup/rollup-linux-x64-musl@4.60.3': - optional: true - '@rollup/rollup-openbsd-x64@4.60.2': optional: true - '@rollup/rollup-openbsd-x64@4.60.3': - optional: true - '@rollup/rollup-openharmony-arm64@4.60.2': optional: true - '@rollup/rollup-openharmony-arm64@4.60.3': - optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.2': optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.3': - optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.3': - optional: true - '@rollup/rollup-win32-x64-gnu@4.60.2': optional: true - '@rollup/rollup-win32-x64-gnu@4.60.3': - optional: true - '@rollup/rollup-win32-x64-msvc@4.60.2': optional: true - '@rollup/rollup-win32-x64-msvc@4.60.3': - optional: true - '@schematics/angular@22.0.0-rc.0': dependencies: '@angular-devkit/core': 22.0.0-rc.0 @@ -7429,24 +7202,24 @@ snapshots: '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/bonjour@3.5.13': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 4.19.8 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/connect@3.4.38': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/cors@2.8.19': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/eslint-scope@3.7.7': dependencies: @@ -7464,7 +7237,7 @@ snapshots: '@types/express-serve-static-core@4.19.8': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/qs': 6.15.1 '@types/range-parser': 1.2.7 '@types/send': 1.2.1 @@ -7480,7 +7253,7 @@ snapshots: '@types/http-proxy@1.17.17': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/jasmine@6.0.0': {} @@ -7492,7 +7265,7 @@ snapshots: '@types/mime@1.3.5': {} - '@types/node@20.19.40': + '@types/node@20.19.41': dependencies: undici-types: 6.21.0 @@ -7509,11 +7282,11 @@ snapshots: '@types/send@0.17.6': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/send@1.2.1': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/serve-index@1.9.4': dependencies: @@ -7522,20 +7295,20 @@ snapshots: '@types/serve-static@1.15.10': dependencies: '@types/http-errors': 2.0.5 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/send': 0.17.6 '@types/sockjs@0.3.36': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/ws@8.18.1': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2))': + '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2))': dependencies: - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) '@webassemblyjs/ast@1.14.1': dependencies: @@ -7775,7 +7548,7 @@ snapshots: autoprefixer@10.5.0(postcss@8.5.13): dependencies: browserslist: 4.28.2 - caniuse-lite: 1.0.30001792 + caniuse-lite: 1.0.30001793 fraction.js: 5.3.4 picocolors: 1.1.1 postcss: 8.5.13 @@ -7830,7 +7603,7 @@ snapshots: base64id@2.0.0: {} - baseline-browser-mapping@2.10.29: {} + baseline-browser-mapping@2.10.30: {} batch@0.6.1: {} @@ -7846,9 +7619,9 @@ snapshots: domhandler: 5.0.3 htmlparser2: 10.1.0 picocolors: 1.1.1 - postcss: 8.5.14 + postcss: 8.5.13 postcss-media-query-parser: 0.2.3 - postcss-safe-parser: 7.0.1(postcss@8.5.14) + postcss-safe-parser: 7.0.1(postcss@8.5.13) big.js@5.2.2: {} @@ -7868,7 +7641,7 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.4.24 on-finished: 2.4.1 - qs: 6.15.1 + qs: 6.15.2 raw-body: 2.5.3 type-is: 1.6.18 unpipe: 1.0.0 @@ -7883,9 +7656,9 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.7.2 on-finished: 2.4.1 - qs: 6.15.1 + qs: 6.15.2 raw-body: 3.0.2 - type-is: 2.0.1 + type-is: 2.1.0 transitivePeerDependencies: - supports-color @@ -7922,10 +7695,10 @@ snapshots: browserslist@4.28.2: dependencies: - baseline-browser-mapping: 2.10.29 - caniuse-lite: 1.0.30001792 - electron-to-chromium: 1.5.353 - node-releases: 2.0.38 + baseline-browser-mapping: 2.10.30 + caniuse-lite: 1.0.30001793 + electron-to-chromium: 1.5.358 + node-releases: 2.0.44 update-browserslist-db: 1.2.3(browserslist@4.28.2) browserstack@1.6.1: @@ -7975,7 +7748,7 @@ snapshots: camelcase@7.0.1: {} - caniuse-lite@1.0.30001792: {} + caniuse-lite@1.0.30001793: {} caseless@0.12.0: {} @@ -8137,6 +7910,8 @@ snapshots: content-type@1.0.5: {} + content-type@2.0.0: {} + convert-source-map@1.9.0: {} convert-source-map@2.0.0: {} @@ -8192,14 +7967,14 @@ snapshots: css-loader@7.1.4(webpack@5.106.2(esbuild@0.28.0)(postcss@8.5.13)): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.14) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.14) - postcss-modules-scope: 3.2.1(postcss@8.5.14) - postcss-modules-values: 4.0.0(postcss@8.5.14) + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.13) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.13) + postcss-modules-scope: 3.2.1(postcss@8.5.13) + postcss-modules-values: 4.0.0(postcss@8.5.13) postcss-value-parser: 4.2.0 - semver: 7.8.0 + semver: 7.7.4 optionalDependencies: webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) @@ -8319,7 +8094,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.353: {} + electron-to-chromium@1.5.358: {} emoji-regex@10.6.0: {} @@ -8338,7 +8113,7 @@ snapshots: engine.io@6.6.7: dependencies: '@types/cors': 2.8.19 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/ws': 8.18.1 accepts: 1.3.8 base64id: 2.0.0 @@ -8510,12 +8285,12 @@ snapshots: exponential-backoff@3.1.3: {} - express-rate-limit@8.5.1(express@5.2.1): + express-rate-limit@8.5.2(express@5.2.1): dependencies: express: 5.2.1 ip-address: 10.2.0 - express@4.22.1: + express@4.22.2: dependencies: accepts: 1.3.8 array-flatten: 1.1.1 @@ -8538,7 +8313,7 @@ snapshots: parseurl: 1.3.3 path-to-regexp: 0.1.13 proxy-addr: 2.0.7 - qs: 6.14.2 + qs: 6.15.2 range-parser: 1.2.1 safe-buffer: 5.2.1 send: 0.19.2 @@ -8573,13 +8348,13 @@ snapshots: once: 1.4.0 parseurl: 1.3.3 proxy-addr: 2.0.7 - qs: 6.15.1 + qs: 6.15.2 range-parser: 1.2.1 router: 2.2.0 send: 1.2.1 serve-static: 2.2.1 statuses: 2.0.2 - type-is: 2.0.1 + type-is: 2.1.0 vary: 1.1.2 transitivePeerDependencies: - supports-color @@ -8799,7 +8574,7 @@ snapshots: dependencies: function-bind: 1.1.2 - hono@4.12.18: {} + hono@4.12.19: {} hosted-git-info@9.0.3: dependencies: @@ -8924,9 +8699,9 @@ snapshots: dependencies: safer-buffer: 2.1.2 - icss-utils@5.1.0(postcss@8.5.14): + icss-utils@5.1.0(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 ignore-walk@8.0.0: dependencies: @@ -9066,7 +8841,7 @@ snapshots: '@babel/parser': 7.29.3 '@istanbuljs/schema': 0.1.6 istanbul-lib-coverage: 3.2.2 - semver: 7.8.0 + semver: 7.7.4 transitivePeerDependencies: - supports-color @@ -9111,7 +8886,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -9557,13 +9332,13 @@ snapshots: graceful-fs: 4.2.11 nopt: 9.0.0 proc-log: 6.1.0 - semver: 7.8.0 + semver: 7.7.4 tar: 7.5.15 tinyglobby: 0.2.16 undici: 6.25.0 which: 6.0.1 - node-releases@2.0.38: {} + node-releases@2.0.44: {} nopt@9.0.0: dependencies: @@ -9577,7 +9352,7 @@ snapshots: npm-install-checks@8.0.0: dependencies: - semver: 7.8.0 + semver: 7.7.4 npm-normalize-package-bin@5.0.0: {} @@ -9585,7 +9360,7 @@ snapshots: dependencies: hosted-git-info: 9.0.3 proc-log: 6.1.0 - semver: 7.8.0 + semver: 7.7.4 validate-npm-package-name: 7.0.2 npm-packlist@10.0.4: @@ -9598,7 +9373,7 @@ snapshots: npm-install-checks: 8.0.0 npm-normalize-package-bin: 5.0.0 npm-package-arg: 13.0.2 - semver: 7.8.0 + semver: 7.7.4 npm-registry-fetch@19.1.1: dependencies: @@ -9821,7 +9596,7 @@ snapshots: cosmiconfig: 9.0.1(typescript@6.0.3) jiti: 2.7.0 postcss: 8.5.13 - semver: 7.8.0 + semver: 7.7.4 optionalDependencies: webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) transitivePeerDependencies: @@ -9829,30 +9604,30 @@ snapshots: postcss-media-query-parser@0.2.3: {} - postcss-modules-extract-imports@3.1.0(postcss@8.5.14): + postcss-modules-extract-imports@3.1.0(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 - postcss-modules-local-by-default@4.2.0(postcss@8.5.14): + postcss-modules-local-by-default@4.2.0(postcss@8.5.13): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 postcss-selector-parser: 7.1.1 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.2.1(postcss@8.5.14): + postcss-modules-scope@3.2.1(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 postcss-selector-parser: 7.1.1 - postcss-modules-values@4.0.0(postcss@8.5.14): + postcss-modules-values@4.0.0(postcss@8.5.13): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 - postcss-safe-parser@7.0.1(postcss@8.5.14): + postcss-safe-parser@7.0.1(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 postcss-selector-parser@7.1.1: dependencies: @@ -9867,12 +9642,6 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 - postcss@8.5.14: - dependencies: - nanoid: 3.3.12 - picocolors: 1.1.1 - source-map-js: 1.2.1 - powershell-utils@0.1.0: {} proc-log@6.1.0: {} @@ -9925,11 +9694,7 @@ snapshots: qjobs@1.2.0: {} - qs@6.14.2: - dependencies: - side-channel: 1.1.0 - - qs@6.15.1: + qs@6.15.2: dependencies: side-channel: 1.1.0 @@ -10054,7 +9819,7 @@ snapshots: adjust-sourcemap-loader: 4.0.0 convert-source-map: 1.9.0 loader-utils: 2.0.4 - postcss: 8.5.14 + postcss: 8.5.13 source-map: 0.6.1 resolve@1.22.12: @@ -10112,37 +9877,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.60.2 fsevents: 2.3.3 - rollup@4.60.3: - dependencies: - '@types/estree': 1.0.8 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.60.3 - '@rollup/rollup-android-arm64': 4.60.3 - '@rollup/rollup-darwin-arm64': 4.60.3 - '@rollup/rollup-darwin-x64': 4.60.3 - '@rollup/rollup-freebsd-arm64': 4.60.3 - '@rollup/rollup-freebsd-x64': 4.60.3 - '@rollup/rollup-linux-arm-gnueabihf': 4.60.3 - '@rollup/rollup-linux-arm-musleabihf': 4.60.3 - '@rollup/rollup-linux-arm64-gnu': 4.60.3 - '@rollup/rollup-linux-arm64-musl': 4.60.3 - '@rollup/rollup-linux-loong64-gnu': 4.60.3 - '@rollup/rollup-linux-loong64-musl': 4.60.3 - '@rollup/rollup-linux-ppc64-gnu': 4.60.3 - '@rollup/rollup-linux-ppc64-musl': 4.60.3 - '@rollup/rollup-linux-riscv64-gnu': 4.60.3 - '@rollup/rollup-linux-riscv64-musl': 4.60.3 - '@rollup/rollup-linux-s390x-gnu': 4.60.3 - '@rollup/rollup-linux-x64-gnu': 4.60.3 - '@rollup/rollup-linux-x64-musl': 4.60.3 - '@rollup/rollup-openbsd-x64': 4.60.3 - '@rollup/rollup-openharmony-arm64': 4.60.3 - '@rollup/rollup-win32-arm64-msvc': 4.60.3 - '@rollup/rollup-win32-ia32-msvc': 4.60.3 - '@rollup/rollup-win32-x64-gnu': 4.60.3 - '@rollup/rollup-win32-x64-msvc': 4.60.3 - fsevents: 2.3.3 - router@2.2.0: dependencies: debug: 4.4.3 @@ -10594,7 +10328,7 @@ snapshots: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 - terser: 5.47.1 + terser: 5.46.2 webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) optionalDependencies: esbuild: 0.28.0 @@ -10607,13 +10341,6 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 - terser@5.47.1: - dependencies: - '@jridgewell/source-map': 0.3.11 - acorn: 8.16.0 - commander: 2.20.3 - source-map-support: 0.5.21 - thingies@2.6.0(tslib@2.8.1): dependencies: tslib: 2.8.1 @@ -10648,14 +10375,14 @@ snapshots: tree-kill@1.2.2: {} - ts-node@10.9.2(@types/node@20.19.40)(typescript@6.0.3): + ts-node@10.9.2(@types/node@20.19.41)(typescript@6.0.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.12 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.19.40 + '@types/node': 20.19.41 acorn: 8.16.0 acorn-walk: 8.3.5 arg: 4.1.3 @@ -10695,9 +10422,9 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 - type-is@2.0.1: + type-is@2.1.0: dependencies: - content-type: 1.0.5 + content-type: 2.0.0 media-typer: 1.1.0 mime-types: 3.0.2 @@ -10761,16 +10488,16 @@ snapshots: core-util-is: 1.0.2 extsprintf: 1.3.0 - vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2): + vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) picomatch: 4.0.4 - postcss: 8.5.14 - rollup: 4.60.3 + postcss: 8.5.13 + rollup: 4.60.2 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 fsevents: 2.3.3 jiti: 2.7.0 less: 4.6.4 @@ -10851,7 +10578,7 @@ snapshots: colorette: 2.0.20 compression: 1.8.1 connect-history-api-fallback: 2.0.0 - express: 4.22.1 + express: 4.22.2 graceful-fs: 4.2.11 http-proxy-middleware: 2.0.9(@types/express@4.17.25) ipaddr.js: 2.4.0 @@ -10864,7 +10591,7 @@ snapshots: sockjs: 0.3.24 spdy: 4.0.2 webpack-dev-middleware: 7.4.5(tslib@2.8.1)(webpack@5.106.2(postcss@8.5.13)) - ws: 8.20.0 + ws: 8.20.1 optionalDependencies: webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) transitivePeerDependencies: @@ -10989,7 +10716,7 @@ snapshots: ws@8.18.3: {} - ws@8.20.0: {} + ws@8.20.1: {} wsl-utils@0.1.0: dependencies: diff --git a/integration/defer/pnpm-lock.yaml b/integration/defer/pnpm-lock.yaml index 20939f6e1a72..4f956da74678 100644 --- a/integration/defer/pnpm-lock.yaml +++ b/integration/defer/pnpm-lock.yaml @@ -38,19 +38,19 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@25.6.2)(jiti@2.7.0)(typescript@6.0.3) + version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@25.8.0)(jiti@2.7.0)(typescript@6.0.3) '@angular/build': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@25.6.2)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.47.1)(tslib@2.8.1)(typescript@6.0.3) + version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@25.8.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/cli': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@types/node@25.6.2) + version: 22.0.0-rc.0(@types/node@25.8.0) '@angular/compiler-cli': specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel ts-node: specifier: 10.9.2 - version: 10.9.2(@types/node@25.6.2)(typescript@6.0.3) + version: 10.9.2(@types/node@25.8.0)(typescript@6.0.3) typescript: specifier: 6.0.3 version: 6.0.3 @@ -1749,277 +1749,139 @@ packages: cpu: [arm] os: [android] - '@rollup/rollup-android-arm-eabi@4.60.3': - resolution: {integrity: sha512-x35CNW/ANXG3hE/EZpRU8MXX1JDN86hBb2wMGAtltkz7pc6cxgjpy1OMMfDosOQ+2hWqIkag/fGok1Yady9nGw==} - cpu: [arm] - os: [android] - '@rollup/rollup-android-arm64@4.60.2': resolution: {integrity: sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==} cpu: [arm64] os: [android] - '@rollup/rollup-android-arm64@4.60.3': - resolution: {integrity: sha512-xw3xtkDApIOGayehp2+Rz4zimfkaX65r4t47iy+ymQB2G4iJCBBfj0ogVg5jpvjpn8UWn/+q9tprxleYeNp3Hw==} - cpu: [arm64] - os: [android] - '@rollup/rollup-darwin-arm64@4.60.2': resolution: {integrity: sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-arm64@4.60.3': - resolution: {integrity: sha512-vo6Y5Qfpx7/5EaamIwi0WqW2+zfiusVihKatLvtN1VFVy3D13uERk/6gZLU1UiHRL6fDXqj/ELIeVRGnvcTE1g==} - cpu: [arm64] - os: [darwin] - '@rollup/rollup-darwin-x64@4.60.2': resolution: {integrity: sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==} cpu: [x64] os: [darwin] - '@rollup/rollup-darwin-x64@4.60.3': - resolution: {integrity: sha512-D+0QGcZhBzTN82weOnsSlY7V7+RMmPuF1CkbxyMAGE8+ZHeUjyb76ZiWmBlCu//AQQONvxcqRbwZTajZKqjuOw==} - cpu: [x64] - os: [darwin] - '@rollup/rollup-freebsd-arm64@4.60.2': resolution: {integrity: sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-arm64@4.60.3': - resolution: {integrity: sha512-6HnvHCT7fDyj6R0Ph7A6x8dQS/S38MClRWeDLqc0MdfWkxjiu1HSDYrdPhqSILzjTIC/pnXbbJbo+ft+gy/9hQ==} - cpu: [arm64] - os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.2': resolution: {integrity: sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==} cpu: [x64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.3': - resolution: {integrity: sha512-KHLgC3WKlUYW3ShFKnnosZDOJ0xjg9zp7au3sIm2bs/tGBeC2ipmvRh/N7JKi0t9Ue20C0dpEshi8WUubg+cnA==} - cpu: [x64] - os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.60.2': resolution: {integrity: sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==} cpu: [arm] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm-gnueabihf@4.60.3': - resolution: {integrity: sha512-DV6fJoxEYWJOvaZIsok7KrYl0tPvga5OZ2yvKHNNYyk/2roMLqQAbGhr78EQ5YhHpnhLKJD3S1WFusAkmUuV5g==} - cpu: [arm] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-arm-musleabihf@4.60.2': resolution: {integrity: sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==} cpu: [arm] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm-musleabihf@4.60.3': - resolution: {integrity: sha512-mQKoJAzvuOs6F+TZybQO4GOTSMUu7v0WdxEk24krQ/uUxXoPTtHjuaUuPmFhtBcM4K0ons8nrE3JyhTuCFtT/w==} - cpu: [arm] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-arm64-gnu@4.60.2': resolution: {integrity: sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==} cpu: [arm64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm64-gnu@4.60.3': - resolution: {integrity: sha512-Whjj2qoiJ6+OOJMGptTYazaJvjOJm+iKHpXQM1P3LzGjt7Ff++Tp7nH4N8J/BUA7R9IHfDyx4DJIflifwnbmIA==} - cpu: [arm64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-arm64-musl@4.60.2': resolution: {integrity: sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==} cpu: [arm64] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm64-musl@4.60.3': - resolution: {integrity: sha512-4YTNHKqGng5+yiZt3mg77nmyuCfmNfX4fPmyUapBcIk+BdwSwmCWGXOUxhXbBEkFHtoN5boLj/5NON+u5QC9tg==} - cpu: [arm64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-loong64-gnu@4.60.2': resolution: {integrity: sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==} cpu: [loong64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-loong64-gnu@4.60.3': - resolution: {integrity: sha512-SU3kNlhkpI4UqlUc2VXPGK9o886ZsSeGfMAX2ba2b8DKmMXq4AL7KUrkSWVbb7koVqx41Yczx6dx5PNargIrEA==} - cpu: [loong64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-loong64-musl@4.60.2': resolution: {integrity: sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==} cpu: [loong64] os: [linux] libc: [musl] - '@rollup/rollup-linux-loong64-musl@4.60.3': - resolution: {integrity: sha512-6lDLl5h4TXpB1mTf2rQWnAk/LcXrx9vBfu/DT5TIPhvMhRWaZ5MxkIc8u4lJAmBo6klTe1ywXIUHFjylW505sg==} - cpu: [loong64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-ppc64-gnu@4.60.2': resolution: {integrity: sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==} cpu: [ppc64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-ppc64-gnu@4.60.3': - resolution: {integrity: sha512-BMo8bOw8evlup/8G+cj5xWtPyp93xPdyoSN16Zy90Q2QZ0ZYRhCt6ZJSwbrRzG9HApFabjwj2p25TUPDWrhzqQ==} - cpu: [ppc64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-ppc64-musl@4.60.2': resolution: {integrity: sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==} cpu: [ppc64] os: [linux] libc: [musl] - '@rollup/rollup-linux-ppc64-musl@4.60.3': - resolution: {integrity: sha512-E0L8X1dZN1/Rph+5VPF6Xj2G7JJvMACVXtamTJIDrVI44Y3K+G8gQaMEAavbqCGTa16InptiVrX6eM6pmJ+7qA==} - cpu: [ppc64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-riscv64-gnu@4.60.2': resolution: {integrity: sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==} cpu: [riscv64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-riscv64-gnu@4.60.3': - resolution: {integrity: sha512-oZJ/WHaVfHUiRAtmTAeo3DcevNsVvH8mbvodjZy7D5QKvCefO371SiKRpxoDcCxB3PTRTLayWBkvmDQKTcX/sw==} - cpu: [riscv64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-riscv64-musl@4.60.2': resolution: {integrity: sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==} cpu: [riscv64] os: [linux] libc: [musl] - '@rollup/rollup-linux-riscv64-musl@4.60.3': - resolution: {integrity: sha512-Dhbyh7j9FybM3YaTgaHmVALwA8AkUwTPccyCQ79TG9AJUsMQqgN1DDEZNr4+QUfwiWvLDumW5vdwzoeUF+TNxQ==} - cpu: [riscv64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-s390x-gnu@4.60.2': resolution: {integrity: sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==} cpu: [s390x] os: [linux] libc: [glibc] - '@rollup/rollup-linux-s390x-gnu@4.60.3': - resolution: {integrity: sha512-cJd1X5XhHHlltkaypz1UcWLA8AcoIi1aWhsvaWDskD1oz2eKCypnqvTQ8ykMNI0RSmm7NkTdSqSSD7zM0xa6Ig==} - cpu: [s390x] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.2': resolution: {integrity: sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==} cpu: [x64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.3': - resolution: {integrity: sha512-DAZDBHQfG2oQuhY7mc6I3/qB4LU2fQCjRvxbDwd/Jdvb9fypP4IJ4qmtu6lNjes6B531AI8cg1aKC2di97bUxA==} - cpu: [x64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-x64-musl@4.60.2': resolution: {integrity: sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==} cpu: [x64] os: [linux] libc: [musl] - '@rollup/rollup-linux-x64-musl@4.60.3': - resolution: {integrity: sha512-cRxsE8c13mZOh3vP+wLDxpQBRrOHDIGOWyDL93Sy0Ga8y515fBcC2pjUfFwUe5T7tqvTvWbCpg1URM/AXdWIXA==} - cpu: [x64] - os: [linux] - libc: [musl] - '@rollup/rollup-openbsd-x64@4.60.2': resolution: {integrity: sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==} cpu: [x64] os: [openbsd] - '@rollup/rollup-openbsd-x64@4.60.3': - resolution: {integrity: sha512-QaWcIgRxqEdQdhJqW4DJctsH6HCmo5vHxY0krHSX4jMtOqfzC+dqDGuHM87bu4H8JBeibWx7jFz+h6/4C8wA5Q==} - cpu: [x64] - os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.60.2': resolution: {integrity: sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-openharmony-arm64@4.60.3': - resolution: {integrity: sha512-AaXwSvUi3QIPtroAUw1t5yHGIyqKEXwH54WUocFolZhpGDruJcs8c+xPNDRn4XiQsS7MEwnYsHW2l0MBLDMkWg==} - cpu: [arm64] - os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.60.2': resolution: {integrity: sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.60.3': - resolution: {integrity: sha512-65LAKM/bAWDqKNEelHlcHvm2V+Vfb8C6INFxQXRHCvaVN1rJfwr4NvdP4FyzUaLqWfaCGaadf6UbTm8xJeYfEg==} - cpu: [arm64] - os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.2': resolution: {integrity: sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.3': - resolution: {integrity: sha512-EEM2gyhBF5MFnI6vMKdX1LAosE627RGBzIoGMdLloPZkXrUN0Ckqgr2Qi8+J3zip/8NVVro3/FjB+tjhZUgUHA==} - cpu: [ia32] - os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.2': resolution: {integrity: sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.3': - resolution: {integrity: sha512-E5Eb5H/DpxaoXH++Qkv28RcUJboMopmdDUALBczvHMf7hNIxaDZqwY5lK12UK1BHacSmvupoEWGu+n993Z0y1A==} - cpu: [x64] - os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.2': resolution: {integrity: sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.3': - resolution: {integrity: sha512-hPt/bgL5cE+Qp+/TPHBqptcAgPzgj46mPcg/16zNUmbQk0j+mOEQV/+Lqu8QRtDV3Ek95Q6FeFITpuhl6OTsAA==} - cpu: [x64] - os: [win32] - '@schematics/angular@22.0.0-rc.0': resolution: {integrity: sha512-V5BQFRlPfx/rJZOtkDUAunJqNfi+75J0gr41W1VId8TntsddF0jn1Fz4XQncTiu3dk8UMeRUdmyJrjYRl1Q5Wg==} engines: {node: ^22.22.0 || ^24.13.1 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} @@ -2110,8 +1972,8 @@ packages: '@types/mime@1.3.5': resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - '@types/node@25.6.2': - resolution: {integrity: sha512-sokuT28dxf9JT5Kady1fsXOvI4HVpjZa95NKT5y9PNTIrs2AsobR4GFAA90ZG8M+nxVRLysCXsVj6eGC7Vbrlw==} + '@types/node@25.8.0': + resolution: {integrity: sha512-TCFSk8IZh+iLX1xtksoBVtdmgL+1IX0fC9BeU4QqFSuNdN/K+HUlhqOzEmSYYpZUVsLYcPqc9KX+60iDuninSQ==} '@types/qs@6.15.1': resolution: {integrity: sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==} @@ -2349,8 +2211,8 @@ packages: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} - baseline-browser-mapping@2.10.29: - resolution: {integrity: sha512-Asa2krT+XTPZINCS+2QcyS8WTkObE77RwkydwF7h6DmnKqbvlalz93m/dnphUyCa6SWSP51VgtEUf2FN+gelFQ==} + baseline-browser-mapping@2.10.30: + resolution: {integrity: sha512-xjOFN16Ha1+Rz4nFYKqHU/LSB+gx/Vi3yQLX7r7sAW+Wa+8hhF2h4pvqTrTMc8+WcDBEunnUurr46Jvv0jk3Vg==} engines: {node: '>=6.0.0'} hasBin: true @@ -2426,8 +2288,8 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - caniuse-lite@1.0.30001792: - resolution: {integrity: sha512-hVLMUZFgR4JJ6ACt1uEESvQN1/dBVqPAKY0hgrV70eN3391K6juAfTjKZLKvOMsx8PxA7gsY1/tLMMTcfFLLpw==} + caniuse-lite@1.0.30001793: + resolution: {integrity: sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==} chalk@5.6.2: resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} @@ -2506,6 +2368,10 @@ packages: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} + content-type@2.0.0: + resolution: {integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==} + engines: {node: '>=18'} + convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} @@ -2659,8 +2525,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.353: - resolution: {integrity: sha512-kOrWphBi8TOZyiJZqsgqIle0lw+tzmnQK83pV9dZUd01Nm2POECSyFQMAuarzZdYqQW7FH9RaYOuaRo3h+bQ3w==} + electron-to-chromium@1.5.358: + resolution: {integrity: sha512-EO7tKm3QxRqTs1lSuPXzl6yRAwznehp0AH9OoMOIC+4mQzTFday8FJCO5KU6J/TFSQXEOahNq4vTKpz1jmCVOA==} emoji-regex@10.6.0: resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} @@ -2786,14 +2652,14 @@ packages: exponential-backoff@3.1.3: resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} - express-rate-limit@8.5.1: - resolution: {integrity: sha512-5O6KYmyJEpuPJV5hNTXKbAHWRqrzyu+OI3vUnSd2kXFubIVpG7ezpgxQy76Zo5GQZtrQBg86hF+CM/NX+cioiQ==} + express-rate-limit@8.5.2: + resolution: {integrity: sha512-5Kb34ipNX694DH48vN9irak1Qx30nb0PLYHXfJgw4YEjiC3ZEmZJhwOp+VfiCYwFzvFTdB9QkArYS5kXa2cx2A==} engines: {node: '>= 16'} peerDependencies: express: '>= 4.11' - express@4.22.1: - resolution: {integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==} + express@4.22.2: + resolution: {integrity: sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==} engines: {node: '>= 0.10.0'} express@5.2.1: @@ -2947,8 +2813,8 @@ packages: resolution: {integrity: sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==} engines: {node: '>= 0.4'} - hono@4.12.18: - resolution: {integrity: sha512-RWzP96k/yv0PQfyXnWjs6zot20TqfpfsNXhOnev8d1InAxubW93L11/oNUc3tQqn2G0bSdAOBpX+2uDFHV7kdQ==} + hono@4.12.19: + resolution: {integrity: sha512-xa3eYXYXx68XTT4hZ7dRzsXBhaq85ToSrlUJNoR0gwz/1Ap/CNwX47wfvV7pc/xWhjKVVkLT7zBJy8chhNguqQ==} engines: {node: '>=16.9.0'} hosted-git-info@9.0.3: @@ -3475,8 +3341,8 @@ packages: engines: {node: ^20.17.0 || >=22.9.0} hasBin: true - node-releases@2.0.38: - resolution: {integrity: sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==} + node-releases@2.0.44: + resolution: {integrity: sha512-5WUyunoPMsvvEhS8AxHtRzP+oA8UCkJ7YRxatWKjngndhDGLiqEVAQKWjFAiAiuL8zMRGzGSJxFnLetoa43qGQ==} nopt@9.0.0: resolution: {integrity: sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==} @@ -3739,12 +3605,8 @@ packages: resolution: {integrity: sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==} engines: {node: '>=16.0.0'} - qs@6.14.2: - resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==} - engines: {node: '>=0.6'} - - qs@6.15.1: - resolution: {integrity: sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==} + qs@6.15.2: + resolution: {integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==} engines: {node: '>=0.6'} range-parser@1.2.1: @@ -3834,11 +3696,6 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - rollup@4.60.3: - resolution: {integrity: sha512-pAQK9HalE84QSm4Po3EmWIZPd3FnjkShVkiMlz1iligWYkWQ7wHYd1PF/T7QZ5TVSD6uSTon5gBVMSM4JfBV+A==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - router@2.2.0: resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} engines: {node: '>= 18'} @@ -4138,11 +3995,6 @@ packages: engines: {node: '>=10'} hasBin: true - terser@5.47.1: - resolution: {integrity: sha512-tPbLXTI6ohPASb/1YViL428oEHu6/qv1OxqYnfaonVCFHqx4+wCd95pHrQWsL5X4pl90CTyW9piSAsS2L0VoMw==} - engines: {node: '>=10'} - hasBin: true - thingies@2.6.0: resolution: {integrity: sha512-rMHRjmlFLM1R96UYPvpmnc3LYtdFrT33JIB7L9hetGue1qAPfn1N2LJeEjxUSidu1Iku+haLZXDuEXUHNGO/lg==} engines: {node: '>=10.18'} @@ -4202,9 +4054,9 @@ packages: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} - type-is@2.0.1: - resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} - engines: {node: '>= 0.6'} + type-is@2.1.0: + resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==} + engines: {node: '>= 18'} typed-assert@1.0.9: resolution: {integrity: sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==} @@ -4214,8 +4066,8 @@ packages: engines: {node: '>=14.17'} hasBin: true - undici-types@7.19.2: - resolution: {integrity: sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==} + undici-types@7.24.6: + resolution: {integrity: sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==} undici@6.25.0: resolution: {integrity: sha512-ZgpWDC5gmNiuY9CnLVXEH8rl50xhRCuLNA97fAUnKi8RRuV4E6KG31pDTsLVUKnohJE0I3XDrTeEydAXRw47xg==} @@ -4411,8 +4263,8 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - ws@8.20.0: - resolution: {integrity: sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==} + ws@8.20.1: + resolution: {integrity: sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -4574,13 +4426,13 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@25.6.2)(jiti@2.7.0)(typescript@6.0.3)': + '@angular-devkit/build-angular@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@25.8.0)(jiti@2.7.0)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 '@angular-devkit/build-webpack': 0.2200.0-rc.0(webpack-dev-server@5.2.3(tslib@2.8.1)(webpack@5.106.2(postcss@8.5.14)))(webpack@5.106.2(esbuild@0.28.0)(postcss@8.5.13)) '@angular-devkit/core': 22.0.0-rc.0 - '@angular/build': 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@25.6.2)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) + '@angular/build': 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@25.8.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 7.29.0 '@babel/generator': 7.29.1 @@ -4693,7 +4545,7 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@25.6.2)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@25.8.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 @@ -4702,8 +4554,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@25.6.2) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@25.6.2)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)) + '@inquirer/confirm': 6.0.12(@types/node@25.8.0) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@25.8.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -4722,7 +4574,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@25.6.2)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) + vite: 7.3.2(@types/node@25.8.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel @@ -4744,7 +4596,7 @@ snapshots: - tsx - yaml - '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@25.6.2)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.47.1)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@25.8.0)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 @@ -4753,8 +4605,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@25.6.2) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@25.6.2)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)) + '@inquirer/confirm': 6.0.12(@types/node@25.8.0) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@25.8.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -4773,7 +4625,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@25.6.2)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1) + vite: 7.3.2(@types/node@25.8.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel @@ -4795,13 +4647,13 @@ snapshots: - tsx - yaml - '@angular/cli@22.0.0-rc.0(@types/node@25.6.2)': + '@angular/cli@22.0.0-rc.0(@types/node@25.8.0)': dependencies: '@angular-devkit/architect': 0.2200.0-rc.0 '@angular-devkit/core': 22.0.0-rc.0 '@angular-devkit/schematics': 22.0.0-rc.0 - '@inquirer/prompts': 8.4.2(@types/node@25.6.2) - '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@25.6.2))(@types/node@25.6.2)(listr2@10.2.1) + '@inquirer/prompts': 8.4.2(@types/node@25.8.0) + '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@25.8.0))(@types/node@25.8.0)(listr2@10.2.1) '@modelcontextprotocol/sdk': 1.29.0(zod@4.4.2) '@schematics/angular': 22.0.0-rc.0 '@yarnpkg/lockfile': 1.1.0 @@ -5667,135 +5519,135 @@ snapshots: '@harperfast/extended-iterable@1.0.3': optional: true - '@hono/node-server@1.19.14(hono@4.12.18)': + '@hono/node-server@1.19.14(hono@4.12.19)': dependencies: - hono: 4.12.18 + hono: 4.12.19 '@inquirer/ansi@2.0.5': {} - '@inquirer/checkbox@5.1.5(@types/node@25.6.2)': + '@inquirer/checkbox@5.1.5(@types/node@25.8.0)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@25.6.2) + '@inquirer/core': 11.1.10(@types/node@25.8.0) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@25.6.2) + '@inquirer/type': 4.0.5(@types/node@25.8.0) optionalDependencies: - '@types/node': 25.6.2 + '@types/node': 25.8.0 - '@inquirer/confirm@6.0.12(@types/node@25.6.2)': + '@inquirer/confirm@6.0.12(@types/node@25.8.0)': dependencies: - '@inquirer/core': 11.1.10(@types/node@25.6.2) - '@inquirer/type': 4.0.5(@types/node@25.6.2) + '@inquirer/core': 11.1.10(@types/node@25.8.0) + '@inquirer/type': 4.0.5(@types/node@25.8.0) optionalDependencies: - '@types/node': 25.6.2 + '@types/node': 25.8.0 - '@inquirer/confirm@6.0.13(@types/node@25.6.2)': + '@inquirer/confirm@6.0.13(@types/node@25.8.0)': dependencies: - '@inquirer/core': 11.1.10(@types/node@25.6.2) - '@inquirer/type': 4.0.5(@types/node@25.6.2) + '@inquirer/core': 11.1.10(@types/node@25.8.0) + '@inquirer/type': 4.0.5(@types/node@25.8.0) optionalDependencies: - '@types/node': 25.6.2 + '@types/node': 25.8.0 - '@inquirer/core@11.1.10(@types/node@25.6.2)': + '@inquirer/core@11.1.10(@types/node@25.8.0)': dependencies: '@inquirer/ansi': 2.0.5 '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@25.6.2) + '@inquirer/type': 4.0.5(@types/node@25.8.0) cli-width: 4.1.0 fast-wrap-ansi: 0.2.0 mute-stream: 3.0.0 signal-exit: 4.1.0 optionalDependencies: - '@types/node': 25.6.2 + '@types/node': 25.8.0 - '@inquirer/editor@5.1.2(@types/node@25.6.2)': + '@inquirer/editor@5.1.2(@types/node@25.8.0)': dependencies: - '@inquirer/core': 11.1.10(@types/node@25.6.2) - '@inquirer/external-editor': 3.0.0(@types/node@25.6.2) - '@inquirer/type': 4.0.5(@types/node@25.6.2) + '@inquirer/core': 11.1.10(@types/node@25.8.0) + '@inquirer/external-editor': 3.0.0(@types/node@25.8.0) + '@inquirer/type': 4.0.5(@types/node@25.8.0) optionalDependencies: - '@types/node': 25.6.2 + '@types/node': 25.8.0 - '@inquirer/expand@5.0.14(@types/node@25.6.2)': + '@inquirer/expand@5.0.14(@types/node@25.8.0)': dependencies: - '@inquirer/core': 11.1.10(@types/node@25.6.2) - '@inquirer/type': 4.0.5(@types/node@25.6.2) + '@inquirer/core': 11.1.10(@types/node@25.8.0) + '@inquirer/type': 4.0.5(@types/node@25.8.0) optionalDependencies: - '@types/node': 25.6.2 + '@types/node': 25.8.0 - '@inquirer/external-editor@3.0.0(@types/node@25.6.2)': + '@inquirer/external-editor@3.0.0(@types/node@25.8.0)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: - '@types/node': 25.6.2 + '@types/node': 25.8.0 '@inquirer/figures@2.0.5': {} - '@inquirer/input@5.0.13(@types/node@25.6.2)': + '@inquirer/input@5.0.13(@types/node@25.8.0)': dependencies: - '@inquirer/core': 11.1.10(@types/node@25.6.2) - '@inquirer/type': 4.0.5(@types/node@25.6.2) + '@inquirer/core': 11.1.10(@types/node@25.8.0) + '@inquirer/type': 4.0.5(@types/node@25.8.0) optionalDependencies: - '@types/node': 25.6.2 + '@types/node': 25.8.0 - '@inquirer/number@4.0.13(@types/node@25.6.2)': + '@inquirer/number@4.0.13(@types/node@25.8.0)': dependencies: - '@inquirer/core': 11.1.10(@types/node@25.6.2) - '@inquirer/type': 4.0.5(@types/node@25.6.2) + '@inquirer/core': 11.1.10(@types/node@25.8.0) + '@inquirer/type': 4.0.5(@types/node@25.8.0) optionalDependencies: - '@types/node': 25.6.2 + '@types/node': 25.8.0 - '@inquirer/password@5.0.13(@types/node@25.6.2)': + '@inquirer/password@5.0.13(@types/node@25.8.0)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@25.6.2) - '@inquirer/type': 4.0.5(@types/node@25.6.2) + '@inquirer/core': 11.1.10(@types/node@25.8.0) + '@inquirer/type': 4.0.5(@types/node@25.8.0) optionalDependencies: - '@types/node': 25.6.2 - - '@inquirer/prompts@8.4.2(@types/node@25.6.2)': - dependencies: - '@inquirer/checkbox': 5.1.5(@types/node@25.6.2) - '@inquirer/confirm': 6.0.13(@types/node@25.6.2) - '@inquirer/editor': 5.1.2(@types/node@25.6.2) - '@inquirer/expand': 5.0.14(@types/node@25.6.2) - '@inquirer/input': 5.0.13(@types/node@25.6.2) - '@inquirer/number': 4.0.13(@types/node@25.6.2) - '@inquirer/password': 5.0.13(@types/node@25.6.2) - '@inquirer/rawlist': 5.2.9(@types/node@25.6.2) - '@inquirer/search': 4.1.9(@types/node@25.6.2) - '@inquirer/select': 5.1.5(@types/node@25.6.2) + '@types/node': 25.8.0 + + '@inquirer/prompts@8.4.2(@types/node@25.8.0)': + dependencies: + '@inquirer/checkbox': 5.1.5(@types/node@25.8.0) + '@inquirer/confirm': 6.0.13(@types/node@25.8.0) + '@inquirer/editor': 5.1.2(@types/node@25.8.0) + '@inquirer/expand': 5.0.14(@types/node@25.8.0) + '@inquirer/input': 5.0.13(@types/node@25.8.0) + '@inquirer/number': 4.0.13(@types/node@25.8.0) + '@inquirer/password': 5.0.13(@types/node@25.8.0) + '@inquirer/rawlist': 5.2.9(@types/node@25.8.0) + '@inquirer/search': 4.1.9(@types/node@25.8.0) + '@inquirer/select': 5.1.5(@types/node@25.8.0) optionalDependencies: - '@types/node': 25.6.2 + '@types/node': 25.8.0 - '@inquirer/rawlist@5.2.9(@types/node@25.6.2)': + '@inquirer/rawlist@5.2.9(@types/node@25.8.0)': dependencies: - '@inquirer/core': 11.1.10(@types/node@25.6.2) - '@inquirer/type': 4.0.5(@types/node@25.6.2) + '@inquirer/core': 11.1.10(@types/node@25.8.0) + '@inquirer/type': 4.0.5(@types/node@25.8.0) optionalDependencies: - '@types/node': 25.6.2 + '@types/node': 25.8.0 - '@inquirer/search@4.1.9(@types/node@25.6.2)': + '@inquirer/search@4.1.9(@types/node@25.8.0)': dependencies: - '@inquirer/core': 11.1.10(@types/node@25.6.2) + '@inquirer/core': 11.1.10(@types/node@25.8.0) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@25.6.2) + '@inquirer/type': 4.0.5(@types/node@25.8.0) optionalDependencies: - '@types/node': 25.6.2 + '@types/node': 25.8.0 - '@inquirer/select@5.1.5(@types/node@25.6.2)': + '@inquirer/select@5.1.5(@types/node@25.8.0)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@25.6.2) + '@inquirer/core': 11.1.10(@types/node@25.8.0) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@25.6.2) + '@inquirer/type': 4.0.5(@types/node@25.8.0) optionalDependencies: - '@types/node': 25.6.2 + '@types/node': 25.8.0 - '@inquirer/type@4.0.5(@types/node@25.6.2)': + '@inquirer/type@4.0.5(@types/node@25.8.0)': optionalDependencies: - '@types/node': 25.6.2 + '@types/node': 25.8.0 '@isaacs/fs-minipass@4.0.1': dependencies: @@ -5961,10 +5813,10 @@ snapshots: '@leichtgewicht/ip-codec@2.0.5': {} - '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@25.6.2))(@types/node@25.6.2)(listr2@10.2.1)': + '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@25.8.0))(@types/node@25.8.0)(listr2@10.2.1)': dependencies: - '@inquirer/prompts': 8.4.2(@types/node@25.6.2) - '@inquirer/type': 4.0.5(@types/node@25.6.2) + '@inquirer/prompts': 8.4.2(@types/node@25.8.0) + '@inquirer/type': 4.0.5(@types/node@25.8.0) listr2: 10.2.1 transitivePeerDependencies: - '@types/node' @@ -5992,7 +5844,7 @@ snapshots: '@modelcontextprotocol/sdk@1.29.0(zod@4.4.2)': dependencies: - '@hono/node-server': 1.19.14(hono@4.12.18) + '@hono/node-server': 1.19.14(hono@4.12.19) ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) content-type: 1.0.5 @@ -6001,8 +5853,8 @@ snapshots: eventsource: 3.0.7 eventsource-parser: 3.0.8 express: 5.2.1 - express-rate-limit: 8.5.1(express@5.2.1) - hono: 4.12.18 + express-rate-limit: 8.5.2(express@5.2.1) + hono: 4.12.19 jose: 6.2.3 json-schema-typed: 8.0.2 pkce-challenge: 5.0.1 @@ -6324,153 +6176,78 @@ snapshots: '@rollup/rollup-android-arm-eabi@4.60.2': optional: true - '@rollup/rollup-android-arm-eabi@4.60.3': - optional: true - '@rollup/rollup-android-arm64@4.60.2': optional: true - '@rollup/rollup-android-arm64@4.60.3': - optional: true - '@rollup/rollup-darwin-arm64@4.60.2': optional: true - '@rollup/rollup-darwin-arm64@4.60.3': - optional: true - '@rollup/rollup-darwin-x64@4.60.2': optional: true - '@rollup/rollup-darwin-x64@4.60.3': - optional: true - '@rollup/rollup-freebsd-arm64@4.60.2': optional: true - '@rollup/rollup-freebsd-arm64@4.60.3': - optional: true - '@rollup/rollup-freebsd-x64@4.60.2': optional: true - '@rollup/rollup-freebsd-x64@4.60.3': - optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.3': - optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.2': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.3': - optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-arm64-musl@4.60.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-loong64-musl@4.60.2': optional: true - '@rollup/rollup-linux-loong64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.2': optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-x64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-x64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-x64-musl@4.60.2': optional: true - '@rollup/rollup-linux-x64-musl@4.60.3': - optional: true - '@rollup/rollup-openbsd-x64@4.60.2': optional: true - '@rollup/rollup-openbsd-x64@4.60.3': - optional: true - '@rollup/rollup-openharmony-arm64@4.60.2': optional: true - '@rollup/rollup-openharmony-arm64@4.60.3': - optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.2': optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.3': - optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.3': - optional: true - '@rollup/rollup-win32-x64-gnu@4.60.2': optional: true - '@rollup/rollup-win32-x64-gnu@4.60.3': - optional: true - '@rollup/rollup-win32-x64-msvc@4.60.2': optional: true - '@rollup/rollup-win32-x64-msvc@4.60.3': - optional: true - '@schematics/angular@22.0.0-rc.0': dependencies: '@angular-devkit/core': 22.0.0-rc.0 @@ -6530,20 +6307,20 @@ snapshots: '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 25.6.2 + '@types/node': 25.8.0 '@types/bonjour@3.5.13': dependencies: - '@types/node': 25.6.2 + '@types/node': 25.8.0 '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 4.19.8 - '@types/node': 25.6.2 + '@types/node': 25.8.0 '@types/connect@3.4.38': dependencies: - '@types/node': 25.6.2 + '@types/node': 25.8.0 '@types/eslint-scope@3.7.7': dependencies: @@ -6561,7 +6338,7 @@ snapshots: '@types/express-serve-static-core@4.19.8': dependencies: - '@types/node': 25.6.2 + '@types/node': 25.8.0 '@types/qs': 6.15.1 '@types/range-parser': 1.2.7 '@types/send': 1.2.1 @@ -6577,15 +6354,15 @@ snapshots: '@types/http-proxy@1.17.17': dependencies: - '@types/node': 25.6.2 + '@types/node': 25.8.0 '@types/json-schema@7.0.15': {} '@types/mime@1.3.5': {} - '@types/node@25.6.2': + '@types/node@25.8.0': dependencies: - undici-types: 7.19.2 + undici-types: 7.24.6 '@types/qs@6.15.1': {} @@ -6596,11 +6373,11 @@ snapshots: '@types/send@0.17.6': dependencies: '@types/mime': 1.3.5 - '@types/node': 25.6.2 + '@types/node': 25.8.0 '@types/send@1.2.1': dependencies: - '@types/node': 25.6.2 + '@types/node': 25.8.0 '@types/serve-index@1.9.4': dependencies: @@ -6609,20 +6386,20 @@ snapshots: '@types/serve-static@1.15.10': dependencies: '@types/http-errors': 2.0.5 - '@types/node': 25.6.2 + '@types/node': 25.8.0 '@types/send': 0.17.6 '@types/sockjs@0.3.36': dependencies: - '@types/node': 25.6.2 + '@types/node': 25.8.0 '@types/ws@8.18.1': dependencies: - '@types/node': 25.6.2 + '@types/node': 25.8.0 - '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@25.6.2)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1))': + '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@25.8.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2))': dependencies: - vite: 7.3.2(@types/node@25.6.2)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1) + vite: 7.3.2(@types/node@25.8.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) '@webassemblyjs/ast@1.14.1': dependencies: @@ -6806,7 +6583,7 @@ snapshots: autoprefixer@10.5.0(postcss@8.5.13): dependencies: browserslist: 4.28.2 - caniuse-lite: 1.0.30001792 + caniuse-lite: 1.0.30001793 fraction.js: 5.3.4 picocolors: 1.1.1 postcss: 8.5.13 @@ -6853,7 +6630,7 @@ snapshots: balanced-match@4.0.4: {} - baseline-browser-mapping@2.10.29: {} + baseline-browser-mapping@2.10.30: {} batch@0.6.1: {} @@ -6883,7 +6660,7 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.4.24 on-finished: 2.4.1 - qs: 6.15.1 + qs: 6.15.2 raw-body: 2.5.3 type-is: 1.6.18 unpipe: 1.0.0 @@ -6898,9 +6675,9 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.7.2 on-finished: 2.4.1 - qs: 6.15.1 + qs: 6.15.2 raw-body: 3.0.2 - type-is: 2.0.1 + type-is: 2.1.0 transitivePeerDependencies: - supports-color @@ -6921,10 +6698,10 @@ snapshots: browserslist@4.28.2: dependencies: - baseline-browser-mapping: 2.10.29 - caniuse-lite: 1.0.30001792 - electron-to-chromium: 1.5.353 - node-releases: 2.0.38 + baseline-browser-mapping: 2.10.30 + caniuse-lite: 1.0.30001793 + electron-to-chromium: 1.5.358 + node-releases: 2.0.44 update-browserslist-db: 1.2.3(browserslist@4.28.2) buffer-from@1.1.2: {} @@ -6962,7 +6739,7 @@ snapshots: callsites@3.1.0: {} - caniuse-lite@1.0.30001792: {} + caniuse-lite@1.0.30001793: {} chalk@5.6.2: {} @@ -7043,6 +6820,8 @@ snapshots: content-type@1.0.5: {} + content-type@2.0.0: {} + convert-source-map@1.9.0: {} convert-source-map@2.0.0: {} @@ -7096,12 +6875,12 @@ snapshots: css-loader@7.1.4(webpack@5.106.2(esbuild@0.28.0)(postcss@8.5.13)): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.14) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.14) - postcss-modules-scope: 3.2.1(postcss@8.5.14) - postcss-modules-values: 4.0.0(postcss@8.5.14) + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.13) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.13) + postcss-modules-scope: 3.2.1(postcss@8.5.13) + postcss-modules-values: 4.0.0(postcss@8.5.13) postcss-value-parser: 4.2.0 semver: 7.7.4 optionalDependencies: @@ -7179,7 +6958,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.353: {} + electron-to-chromium@1.5.358: {} emoji-regex@10.6.0: {} @@ -7316,12 +7095,12 @@ snapshots: exponential-backoff@3.1.3: {} - express-rate-limit@8.5.1(express@5.2.1): + express-rate-limit@8.5.2(express@5.2.1): dependencies: express: 5.2.1 ip-address: 10.2.0 - express@4.22.1: + express@4.22.2: dependencies: accepts: 1.3.8 array-flatten: 1.1.1 @@ -7344,7 +7123,7 @@ snapshots: parseurl: 1.3.3 path-to-regexp: 0.1.13 proxy-addr: 2.0.7 - qs: 6.14.2 + qs: 6.15.2 range-parser: 1.2.1 safe-buffer: 5.2.1 send: 0.19.2 @@ -7379,13 +7158,13 @@ snapshots: once: 1.4.0 parseurl: 1.3.3 proxy-addr: 2.0.7 - qs: 6.15.1 + qs: 6.15.2 range-parser: 1.2.1 router: 2.2.0 send: 1.2.1 serve-static: 2.2.1 statuses: 2.0.2 - type-is: 2.0.1 + type-is: 2.1.0 vary: 1.1.2 transitivePeerDependencies: - supports-color @@ -7525,7 +7304,7 @@ snapshots: dependencies: function-bind: 1.1.2 - hono@4.12.18: {} + hono@4.12.19: {} hosted-git-info@9.0.3: dependencies: @@ -7633,9 +7412,9 @@ snapshots: dependencies: safer-buffer: 2.1.2 - icss-utils@5.1.0(postcss@8.5.14): + icss-utils@5.1.0(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 ignore-walk@8.0.0: dependencies: @@ -7735,7 +7514,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 25.6.2 + '@types/node': 25.8.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -8061,7 +7840,7 @@ snapshots: undici: 6.25.0 which: 6.0.1 - node-releases@2.0.38: {} + node-releases@2.0.44: {} nopt@9.0.0: dependencies: @@ -8284,26 +8063,26 @@ snapshots: postcss-media-query-parser@0.2.3: {} - postcss-modules-extract-imports@3.1.0(postcss@8.5.14): + postcss-modules-extract-imports@3.1.0(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 - postcss-modules-local-by-default@4.2.0(postcss@8.5.14): + postcss-modules-local-by-default@4.2.0(postcss@8.5.13): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 postcss-selector-parser: 7.1.1 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.2.1(postcss@8.5.14): + postcss-modules-scope@3.2.1(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 postcss-selector-parser: 7.1.1 - postcss-modules-values@4.0.0(postcss@8.5.14): + postcss-modules-values@4.0.0(postcss@8.5.13): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 postcss-safe-parser@7.0.1(postcss@8.5.14): dependencies: @@ -8348,11 +8127,7 @@ snapshots: pvutils@1.1.5: {} - qs@6.14.2: - dependencies: - side-channel: 1.1.0 - - qs@6.15.1: + qs@6.15.2: dependencies: side-channel: 1.1.0 @@ -8430,7 +8205,7 @@ snapshots: adjust-sourcemap-loader: 4.0.0 convert-source-map: 1.9.0 loader-utils: 2.0.4 - postcss: 8.5.14 + postcss: 8.5.13 source-map: 0.6.1 resolve@1.22.12: @@ -8480,37 +8255,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.60.2 fsevents: 2.3.3 - rollup@4.60.3: - dependencies: - '@types/estree': 1.0.8 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.60.3 - '@rollup/rollup-android-arm64': 4.60.3 - '@rollup/rollup-darwin-arm64': 4.60.3 - '@rollup/rollup-darwin-x64': 4.60.3 - '@rollup/rollup-freebsd-arm64': 4.60.3 - '@rollup/rollup-freebsd-x64': 4.60.3 - '@rollup/rollup-linux-arm-gnueabihf': 4.60.3 - '@rollup/rollup-linux-arm-musleabihf': 4.60.3 - '@rollup/rollup-linux-arm64-gnu': 4.60.3 - '@rollup/rollup-linux-arm64-musl': 4.60.3 - '@rollup/rollup-linux-loong64-gnu': 4.60.3 - '@rollup/rollup-linux-loong64-musl': 4.60.3 - '@rollup/rollup-linux-ppc64-gnu': 4.60.3 - '@rollup/rollup-linux-ppc64-musl': 4.60.3 - '@rollup/rollup-linux-riscv64-gnu': 4.60.3 - '@rollup/rollup-linux-riscv64-musl': 4.60.3 - '@rollup/rollup-linux-s390x-gnu': 4.60.3 - '@rollup/rollup-linux-x64-gnu': 4.60.3 - '@rollup/rollup-linux-x64-musl': 4.60.3 - '@rollup/rollup-openbsd-x64': 4.60.3 - '@rollup/rollup-openharmony-arm64': 4.60.3 - '@rollup/rollup-win32-arm64-msvc': 4.60.3 - '@rollup/rollup-win32-ia32-msvc': 4.60.3 - '@rollup/rollup-win32-x64-gnu': 4.60.3 - '@rollup/rollup-win32-x64-msvc': 4.60.3 - fsevents: 2.3.3 - router@2.2.0: dependencies: debug: 4.4.3 @@ -8825,7 +8569,7 @@ snapshots: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 - terser: 5.47.1 + terser: 5.46.2 webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) optionalDependencies: esbuild: 0.28.0 @@ -8838,13 +8582,6 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 - terser@5.47.1: - dependencies: - '@jridgewell/source-map': 0.3.11 - acorn: 8.16.0 - commander: 2.20.3 - source-map-support: 0.5.21 - thingies@2.6.0(tslib@2.8.1): dependencies: tslib: 2.8.1 @@ -8866,14 +8603,14 @@ snapshots: dependencies: tslib: 2.8.1 - ts-node@10.9.2(@types/node@25.6.2)(typescript@6.0.3): + ts-node@10.9.2(@types/node@25.8.0)(typescript@6.0.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.12 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 25.6.2 + '@types/node': 25.8.0 acorn: 8.16.0 acorn-walk: 8.3.5 arg: 4.1.3 @@ -8905,9 +8642,9 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 - type-is@2.0.1: + type-is@2.1.0: dependencies: - content-type: 1.0.5 + content-type: 2.0.0 media-typer: 1.1.0 mime-types: 3.0.2 @@ -8915,7 +8652,7 @@ snapshots: typescript@6.0.3: {} - undici-types@7.19.2: {} + undici-types@7.24.6: {} undici@6.25.0: {} @@ -8950,38 +8687,22 @@ snapshots: vary@1.1.2: {} - vite@7.3.2(@types/node@25.6.2)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2): + vite@7.3.2(@types/node@25.8.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) picomatch: 4.0.4 postcss: 8.5.14 - rollup: 4.60.3 + rollup: 4.60.2 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 25.6.2 + '@types/node': 25.8.0 fsevents: 2.3.3 jiti: 2.7.0 less: 4.6.4 sass: 1.99.0 terser: 5.46.2 - vite@7.3.2(@types/node@25.6.2)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1): - dependencies: - esbuild: 0.27.7 - fdir: 6.5.0(picomatch@4.0.4) - picomatch: 4.0.4 - postcss: 8.5.14 - rollup: 4.60.3 - tinyglobby: 0.2.16 - optionalDependencies: - '@types/node': 25.6.2 - fsevents: 2.3.3 - jiti: 2.7.0 - less: 4.6.4 - sass: 1.99.0 - terser: 5.47.1 - watchpack@2.5.1: dependencies: glob-to-regexp: 0.4.1 @@ -9035,7 +8756,7 @@ snapshots: colorette: 2.0.20 compression: 1.8.1 connect-history-api-fallback: 2.0.0 - express: 4.22.1 + express: 4.22.2 graceful-fs: 4.2.11 http-proxy-middleware: 2.0.9(@types/express@4.17.25) ipaddr.js: 2.4.0 @@ -9048,7 +8769,7 @@ snapshots: sockjs: 0.3.24 spdy: 4.0.2 webpack-dev-middleware: 7.4.5(tslib@2.8.1)(webpack@5.106.2(postcss@8.5.14)) - ws: 8.20.0 + ws: 8.20.1 optionalDependencies: webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) transitivePeerDependencies: @@ -9143,7 +8864,7 @@ snapshots: wrappy@1.0.2: {} - ws@8.20.0: {} + ws@8.20.1: {} wsl-utils@0.1.0: dependencies: diff --git a/integration/legacy-animations-async/pnpm-lock.yaml b/integration/legacy-animations-async/pnpm-lock.yaml index 158be921147e..94f5c3d2b5ec 100644 --- a/integration/legacy-animations-async/pnpm-lock.yaml +++ b/integration/legacy-animations-async/pnpm-lock.yaml @@ -38,19 +38,19 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.40)(jiti@2.7.0)(typescript@6.0.3) + version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.41)(jiti@2.7.0)(typescript@6.0.3) '@angular/cli': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@types/node@20.19.40) + version: 22.0.0-rc.0(@types/node@20.19.41) '@angular/compiler-cli': specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel '@types/node': specifier: ^20.14.8 - version: 20.19.40 + version: 20.19.41 ts-node: specifier: ^10.9.1 - version: 10.9.2(@types/node@20.19.40)(typescript@6.0.3) + version: 10.9.2(@types/node@20.19.41)(typescript@6.0.3) typescript: specifier: 6.0.3 version: 6.0.3 @@ -1749,277 +1749,139 @@ packages: cpu: [arm] os: [android] - '@rollup/rollup-android-arm-eabi@4.60.3': - resolution: {integrity: sha512-x35CNW/ANXG3hE/EZpRU8MXX1JDN86hBb2wMGAtltkz7pc6cxgjpy1OMMfDosOQ+2hWqIkag/fGok1Yady9nGw==} - cpu: [arm] - os: [android] - '@rollup/rollup-android-arm64@4.60.2': resolution: {integrity: sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==} cpu: [arm64] os: [android] - '@rollup/rollup-android-arm64@4.60.3': - resolution: {integrity: sha512-xw3xtkDApIOGayehp2+Rz4zimfkaX65r4t47iy+ymQB2G4iJCBBfj0ogVg5jpvjpn8UWn/+q9tprxleYeNp3Hw==} - cpu: [arm64] - os: [android] - '@rollup/rollup-darwin-arm64@4.60.2': resolution: {integrity: sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-arm64@4.60.3': - resolution: {integrity: sha512-vo6Y5Qfpx7/5EaamIwi0WqW2+zfiusVihKatLvtN1VFVy3D13uERk/6gZLU1UiHRL6fDXqj/ELIeVRGnvcTE1g==} - cpu: [arm64] - os: [darwin] - '@rollup/rollup-darwin-x64@4.60.2': resolution: {integrity: sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==} cpu: [x64] os: [darwin] - '@rollup/rollup-darwin-x64@4.60.3': - resolution: {integrity: sha512-D+0QGcZhBzTN82weOnsSlY7V7+RMmPuF1CkbxyMAGE8+ZHeUjyb76ZiWmBlCu//AQQONvxcqRbwZTajZKqjuOw==} - cpu: [x64] - os: [darwin] - '@rollup/rollup-freebsd-arm64@4.60.2': resolution: {integrity: sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-arm64@4.60.3': - resolution: {integrity: sha512-6HnvHCT7fDyj6R0Ph7A6x8dQS/S38MClRWeDLqc0MdfWkxjiu1HSDYrdPhqSILzjTIC/pnXbbJbo+ft+gy/9hQ==} - cpu: [arm64] - os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.2': resolution: {integrity: sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==} cpu: [x64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.3': - resolution: {integrity: sha512-KHLgC3WKlUYW3ShFKnnosZDOJ0xjg9zp7au3sIm2bs/tGBeC2ipmvRh/N7JKi0t9Ue20C0dpEshi8WUubg+cnA==} - cpu: [x64] - os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.60.2': resolution: {integrity: sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==} cpu: [arm] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm-gnueabihf@4.60.3': - resolution: {integrity: sha512-DV6fJoxEYWJOvaZIsok7KrYl0tPvga5OZ2yvKHNNYyk/2roMLqQAbGhr78EQ5YhHpnhLKJD3S1WFusAkmUuV5g==} - cpu: [arm] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-arm-musleabihf@4.60.2': resolution: {integrity: sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==} cpu: [arm] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm-musleabihf@4.60.3': - resolution: {integrity: sha512-mQKoJAzvuOs6F+TZybQO4GOTSMUu7v0WdxEk24krQ/uUxXoPTtHjuaUuPmFhtBcM4K0ons8nrE3JyhTuCFtT/w==} - cpu: [arm] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-arm64-gnu@4.60.2': resolution: {integrity: sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==} cpu: [arm64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm64-gnu@4.60.3': - resolution: {integrity: sha512-Whjj2qoiJ6+OOJMGptTYazaJvjOJm+iKHpXQM1P3LzGjt7Ff++Tp7nH4N8J/BUA7R9IHfDyx4DJIflifwnbmIA==} - cpu: [arm64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-arm64-musl@4.60.2': resolution: {integrity: sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==} cpu: [arm64] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm64-musl@4.60.3': - resolution: {integrity: sha512-4YTNHKqGng5+yiZt3mg77nmyuCfmNfX4fPmyUapBcIk+BdwSwmCWGXOUxhXbBEkFHtoN5boLj/5NON+u5QC9tg==} - cpu: [arm64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-loong64-gnu@4.60.2': resolution: {integrity: sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==} cpu: [loong64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-loong64-gnu@4.60.3': - resolution: {integrity: sha512-SU3kNlhkpI4UqlUc2VXPGK9o886ZsSeGfMAX2ba2b8DKmMXq4AL7KUrkSWVbb7koVqx41Yczx6dx5PNargIrEA==} - cpu: [loong64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-loong64-musl@4.60.2': resolution: {integrity: sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==} cpu: [loong64] os: [linux] libc: [musl] - '@rollup/rollup-linux-loong64-musl@4.60.3': - resolution: {integrity: sha512-6lDLl5h4TXpB1mTf2rQWnAk/LcXrx9vBfu/DT5TIPhvMhRWaZ5MxkIc8u4lJAmBo6klTe1ywXIUHFjylW505sg==} - cpu: [loong64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-ppc64-gnu@4.60.2': resolution: {integrity: sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==} cpu: [ppc64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-ppc64-gnu@4.60.3': - resolution: {integrity: sha512-BMo8bOw8evlup/8G+cj5xWtPyp93xPdyoSN16Zy90Q2QZ0ZYRhCt6ZJSwbrRzG9HApFabjwj2p25TUPDWrhzqQ==} - cpu: [ppc64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-ppc64-musl@4.60.2': resolution: {integrity: sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==} cpu: [ppc64] os: [linux] libc: [musl] - '@rollup/rollup-linux-ppc64-musl@4.60.3': - resolution: {integrity: sha512-E0L8X1dZN1/Rph+5VPF6Xj2G7JJvMACVXtamTJIDrVI44Y3K+G8gQaMEAavbqCGTa16InptiVrX6eM6pmJ+7qA==} - cpu: [ppc64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-riscv64-gnu@4.60.2': resolution: {integrity: sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==} cpu: [riscv64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-riscv64-gnu@4.60.3': - resolution: {integrity: sha512-oZJ/WHaVfHUiRAtmTAeo3DcevNsVvH8mbvodjZy7D5QKvCefO371SiKRpxoDcCxB3PTRTLayWBkvmDQKTcX/sw==} - cpu: [riscv64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-riscv64-musl@4.60.2': resolution: {integrity: sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==} cpu: [riscv64] os: [linux] libc: [musl] - '@rollup/rollup-linux-riscv64-musl@4.60.3': - resolution: {integrity: sha512-Dhbyh7j9FybM3YaTgaHmVALwA8AkUwTPccyCQ79TG9AJUsMQqgN1DDEZNr4+QUfwiWvLDumW5vdwzoeUF+TNxQ==} - cpu: [riscv64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-s390x-gnu@4.60.2': resolution: {integrity: sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==} cpu: [s390x] os: [linux] libc: [glibc] - '@rollup/rollup-linux-s390x-gnu@4.60.3': - resolution: {integrity: sha512-cJd1X5XhHHlltkaypz1UcWLA8AcoIi1aWhsvaWDskD1oz2eKCypnqvTQ8ykMNI0RSmm7NkTdSqSSD7zM0xa6Ig==} - cpu: [s390x] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.2': resolution: {integrity: sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==} cpu: [x64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.3': - resolution: {integrity: sha512-DAZDBHQfG2oQuhY7mc6I3/qB4LU2fQCjRvxbDwd/Jdvb9fypP4IJ4qmtu6lNjes6B531AI8cg1aKC2di97bUxA==} - cpu: [x64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-x64-musl@4.60.2': resolution: {integrity: sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==} cpu: [x64] os: [linux] libc: [musl] - '@rollup/rollup-linux-x64-musl@4.60.3': - resolution: {integrity: sha512-cRxsE8c13mZOh3vP+wLDxpQBRrOHDIGOWyDL93Sy0Ga8y515fBcC2pjUfFwUe5T7tqvTvWbCpg1URM/AXdWIXA==} - cpu: [x64] - os: [linux] - libc: [musl] - '@rollup/rollup-openbsd-x64@4.60.2': resolution: {integrity: sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==} cpu: [x64] os: [openbsd] - '@rollup/rollup-openbsd-x64@4.60.3': - resolution: {integrity: sha512-QaWcIgRxqEdQdhJqW4DJctsH6HCmo5vHxY0krHSX4jMtOqfzC+dqDGuHM87bu4H8JBeibWx7jFz+h6/4C8wA5Q==} - cpu: [x64] - os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.60.2': resolution: {integrity: sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-openharmony-arm64@4.60.3': - resolution: {integrity: sha512-AaXwSvUi3QIPtroAUw1t5yHGIyqKEXwH54WUocFolZhpGDruJcs8c+xPNDRn4XiQsS7MEwnYsHW2l0MBLDMkWg==} - cpu: [arm64] - os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.60.2': resolution: {integrity: sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.60.3': - resolution: {integrity: sha512-65LAKM/bAWDqKNEelHlcHvm2V+Vfb8C6INFxQXRHCvaVN1rJfwr4NvdP4FyzUaLqWfaCGaadf6UbTm8xJeYfEg==} - cpu: [arm64] - os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.2': resolution: {integrity: sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.3': - resolution: {integrity: sha512-EEM2gyhBF5MFnI6vMKdX1LAosE627RGBzIoGMdLloPZkXrUN0Ckqgr2Qi8+J3zip/8NVVro3/FjB+tjhZUgUHA==} - cpu: [ia32] - os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.2': resolution: {integrity: sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.3': - resolution: {integrity: sha512-E5Eb5H/DpxaoXH++Qkv28RcUJboMopmdDUALBczvHMf7hNIxaDZqwY5lK12UK1BHacSmvupoEWGu+n993Z0y1A==} - cpu: [x64] - os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.2': resolution: {integrity: sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.3': - resolution: {integrity: sha512-hPt/bgL5cE+Qp+/TPHBqptcAgPzgj46mPcg/16zNUmbQk0j+mOEQV/+Lqu8QRtDV3Ek95Q6FeFITpuhl6OTsAA==} - cpu: [x64] - os: [win32] - '@schematics/angular@22.0.0-rc.0': resolution: {integrity: sha512-V5BQFRlPfx/rJZOtkDUAunJqNfi+75J0gr41W1VId8TntsddF0jn1Fz4XQncTiu3dk8UMeRUdmyJrjYRl1Q5Wg==} engines: {node: ^22.22.0 || ^24.13.1 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} @@ -2110,8 +1972,8 @@ packages: '@types/mime@1.3.5': resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - '@types/node@20.19.40': - resolution: {integrity: sha512-xxx6M2IpSTnnKcR0cMvIiohkiCx20/oRPtWGbenFygKCGl3zqUzdNjQ/1V4solq1LU+dgv0nQzeGOuqkqZGg0Q==} + '@types/node@20.19.41': + resolution: {integrity: sha512-ECymXOukMnOoVkC2bb1Vc/w/836DXncOg5m8Xj1RH7xSHZJWNYY6Zh7EH477vcnD5egKNNfy2RpNOmuChhFPgQ==} '@types/qs@6.15.1': resolution: {integrity: sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==} @@ -2349,8 +2211,8 @@ packages: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} - baseline-browser-mapping@2.10.29: - resolution: {integrity: sha512-Asa2krT+XTPZINCS+2QcyS8WTkObE77RwkydwF7h6DmnKqbvlalz93m/dnphUyCa6SWSP51VgtEUf2FN+gelFQ==} + baseline-browser-mapping@2.10.30: + resolution: {integrity: sha512-xjOFN16Ha1+Rz4nFYKqHU/LSB+gx/Vi3yQLX7r7sAW+Wa+8hhF2h4pvqTrTMc8+WcDBEunnUurr46Jvv0jk3Vg==} engines: {node: '>=6.0.0'} hasBin: true @@ -2426,8 +2288,8 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - caniuse-lite@1.0.30001792: - resolution: {integrity: sha512-hVLMUZFgR4JJ6ACt1uEESvQN1/dBVqPAKY0hgrV70eN3391K6juAfTjKZLKvOMsx8PxA7gsY1/tLMMTcfFLLpw==} + caniuse-lite@1.0.30001793: + resolution: {integrity: sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==} chalk@5.6.2: resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} @@ -2506,6 +2368,10 @@ packages: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} + content-type@2.0.0: + resolution: {integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==} + engines: {node: '>=18'} + convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} @@ -2659,8 +2525,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.353: - resolution: {integrity: sha512-kOrWphBi8TOZyiJZqsgqIle0lw+tzmnQK83pV9dZUd01Nm2POECSyFQMAuarzZdYqQW7FH9RaYOuaRo3h+bQ3w==} + electron-to-chromium@1.5.358: + resolution: {integrity: sha512-EO7tKm3QxRqTs1lSuPXzl6yRAwznehp0AH9OoMOIC+4mQzTFday8FJCO5KU6J/TFSQXEOahNq4vTKpz1jmCVOA==} emoji-regex@10.6.0: resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} @@ -2786,14 +2652,14 @@ packages: exponential-backoff@3.1.3: resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} - express-rate-limit@8.5.1: - resolution: {integrity: sha512-5O6KYmyJEpuPJV5hNTXKbAHWRqrzyu+OI3vUnSd2kXFubIVpG7ezpgxQy76Zo5GQZtrQBg86hF+CM/NX+cioiQ==} + express-rate-limit@8.5.2: + resolution: {integrity: sha512-5Kb34ipNX694DH48vN9irak1Qx30nb0PLYHXfJgw4YEjiC3ZEmZJhwOp+VfiCYwFzvFTdB9QkArYS5kXa2cx2A==} engines: {node: '>= 16'} peerDependencies: express: '>= 4.11' - express@4.22.1: - resolution: {integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==} + express@4.22.2: + resolution: {integrity: sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==} engines: {node: '>= 0.10.0'} express@5.2.1: @@ -2947,8 +2813,8 @@ packages: resolution: {integrity: sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==} engines: {node: '>= 0.4'} - hono@4.12.18: - resolution: {integrity: sha512-RWzP96k/yv0PQfyXnWjs6zot20TqfpfsNXhOnev8d1InAxubW93L11/oNUc3tQqn2G0bSdAOBpX+2uDFHV7kdQ==} + hono@4.12.19: + resolution: {integrity: sha512-xa3eYXYXx68XTT4hZ7dRzsXBhaq85ToSrlUJNoR0gwz/1Ap/CNwX47wfvV7pc/xWhjKVVkLT7zBJy8chhNguqQ==} engines: {node: '>=16.9.0'} hosted-git-info@9.0.3: @@ -3475,8 +3341,8 @@ packages: engines: {node: ^20.17.0 || >=22.9.0} hasBin: true - node-releases@2.0.38: - resolution: {integrity: sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==} + node-releases@2.0.44: + resolution: {integrity: sha512-5WUyunoPMsvvEhS8AxHtRzP+oA8UCkJ7YRxatWKjngndhDGLiqEVAQKWjFAiAiuL8zMRGzGSJxFnLetoa43qGQ==} nopt@9.0.0: resolution: {integrity: sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==} @@ -3710,10 +3576,6 @@ packages: resolution: {integrity: sha512-qif0+jGGZoLWdHey3UFHHWP0H7Gbmsk8T5VEqyYFbWqPr1XqvLGBbk/sl8V5exGmcYJklJOhOQq1pV9IcsiFag==} engines: {node: ^10 || ^12 || >=14} - postcss@8.5.14: - resolution: {integrity: sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==} - engines: {node: ^10 || ^12 || >=14} - powershell-utils@0.1.0: resolution: {integrity: sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==} engines: {node: '>=20'} @@ -3739,12 +3601,8 @@ packages: resolution: {integrity: sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==} engines: {node: '>=16.0.0'} - qs@6.14.2: - resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==} - engines: {node: '>=0.6'} - - qs@6.15.1: - resolution: {integrity: sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==} + qs@6.15.2: + resolution: {integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==} engines: {node: '>=0.6'} range-parser@1.2.1: @@ -3834,11 +3692,6 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - rollup@4.60.3: - resolution: {integrity: sha512-pAQK9HalE84QSm4Po3EmWIZPd3FnjkShVkiMlz1iligWYkWQ7wHYd1PF/T7QZ5TVSD6uSTon5gBVMSM4JfBV+A==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - router@2.2.0: resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} engines: {node: '>= 18'} @@ -4138,11 +3991,6 @@ packages: engines: {node: '>=10'} hasBin: true - terser@5.47.1: - resolution: {integrity: sha512-tPbLXTI6ohPASb/1YViL428oEHu6/qv1OxqYnfaonVCFHqx4+wCd95pHrQWsL5X4pl90CTyW9piSAsS2L0VoMw==} - engines: {node: '>=10'} - hasBin: true - thingies@2.6.0: resolution: {integrity: sha512-rMHRjmlFLM1R96UYPvpmnc3LYtdFrT33JIB7L9hetGue1qAPfn1N2LJeEjxUSidu1Iku+haLZXDuEXUHNGO/lg==} engines: {node: '>=10.18'} @@ -4202,9 +4050,9 @@ packages: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} - type-is@2.0.1: - resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} - engines: {node: '>= 0.6'} + type-is@2.1.0: + resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==} + engines: {node: '>= 18'} typed-assert@1.0.9: resolution: {integrity: sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==} @@ -4411,8 +4259,8 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - ws@8.20.0: - resolution: {integrity: sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==} + ws@8.20.1: + resolution: {integrity: sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -4574,13 +4422,13 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.40)(jiti@2.7.0)(typescript@6.0.3)': + '@angular-devkit/build-angular@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.41)(jiti@2.7.0)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 '@angular-devkit/build-webpack': 0.2200.0-rc.0(webpack-dev-server@5.2.3(tslib@2.8.1)(webpack@5.106.2(postcss@8.5.13)))(webpack@5.106.2(esbuild@0.28.0)(postcss@8.5.13)) '@angular-devkit/core': 22.0.0-rc.0 - '@angular/build': 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) + '@angular/build': 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 7.29.0 '@babel/generator': 7.29.1 @@ -4693,7 +4541,7 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 @@ -4702,8 +4550,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@20.19.40) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)) + '@inquirer/confirm': 6.0.12(@types/node@20.19.41) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -4722,7 +4570,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel @@ -4744,13 +4592,13 @@ snapshots: - tsx - yaml - '@angular/cli@22.0.0-rc.0(@types/node@20.19.40)': + '@angular/cli@22.0.0-rc.0(@types/node@20.19.41)': dependencies: '@angular-devkit/architect': 0.2200.0-rc.0 '@angular-devkit/core': 22.0.0-rc.0 '@angular-devkit/schematics': 22.0.0-rc.0 - '@inquirer/prompts': 8.4.2(@types/node@20.19.40) - '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.40))(@types/node@20.19.40)(listr2@10.2.1) + '@inquirer/prompts': 8.4.2(@types/node@20.19.41) + '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.41))(@types/node@20.19.41)(listr2@10.2.1) '@modelcontextprotocol/sdk': 1.29.0(zod@4.4.2) '@schematics/angular': 22.0.0-rc.0 '@yarnpkg/lockfile': 1.1.0 @@ -5616,135 +5464,135 @@ snapshots: '@harperfast/extended-iterable@1.0.3': optional: true - '@hono/node-server@1.19.14(hono@4.12.18)': + '@hono/node-server@1.19.14(hono@4.12.19)': dependencies: - hono: 4.12.18 + hono: 4.12.19 '@inquirer/ansi@2.0.5': {} - '@inquirer/checkbox@5.1.5(@types/node@20.19.40)': + '@inquirer/checkbox@5.1.5(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/confirm@6.0.12(@types/node@20.19.40)': + '@inquirer/confirm@6.0.12(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/confirm@6.0.13(@types/node@20.19.40)': + '@inquirer/confirm@6.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/core@11.1.10(@types/node@20.19.40)': + '@inquirer/core@11.1.10(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) cli-width: 4.1.0 fast-wrap-ansi: 0.2.0 mute-stream: 3.0.0 signal-exit: 4.1.0 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/editor@5.1.2(@types/node@20.19.40)': + '@inquirer/editor@5.1.2(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/external-editor': 3.0.0(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/external-editor': 3.0.0(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/expand@5.0.14(@types/node@20.19.40)': + '@inquirer/expand@5.0.14(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/external-editor@3.0.0(@types/node@20.19.40)': + '@inquirer/external-editor@3.0.0(@types/node@20.19.41)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@inquirer/figures@2.0.5': {} - '@inquirer/input@5.0.13(@types/node@20.19.40)': + '@inquirer/input@5.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/number@4.0.13(@types/node@20.19.40)': + '@inquirer/number@4.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/password@5.0.13(@types/node@20.19.40)': + '@inquirer/password@5.0.13(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 - - '@inquirer/prompts@8.4.2(@types/node@20.19.40)': - dependencies: - '@inquirer/checkbox': 5.1.5(@types/node@20.19.40) - '@inquirer/confirm': 6.0.13(@types/node@20.19.40) - '@inquirer/editor': 5.1.2(@types/node@20.19.40) - '@inquirer/expand': 5.0.14(@types/node@20.19.40) - '@inquirer/input': 5.0.13(@types/node@20.19.40) - '@inquirer/number': 4.0.13(@types/node@20.19.40) - '@inquirer/password': 5.0.13(@types/node@20.19.40) - '@inquirer/rawlist': 5.2.9(@types/node@20.19.40) - '@inquirer/search': 4.1.9(@types/node@20.19.40) - '@inquirer/select': 5.1.5(@types/node@20.19.40) + '@types/node': 20.19.41 + + '@inquirer/prompts@8.4.2(@types/node@20.19.41)': + dependencies: + '@inquirer/checkbox': 5.1.5(@types/node@20.19.41) + '@inquirer/confirm': 6.0.13(@types/node@20.19.41) + '@inquirer/editor': 5.1.2(@types/node@20.19.41) + '@inquirer/expand': 5.0.14(@types/node@20.19.41) + '@inquirer/input': 5.0.13(@types/node@20.19.41) + '@inquirer/number': 4.0.13(@types/node@20.19.41) + '@inquirer/password': 5.0.13(@types/node@20.19.41) + '@inquirer/rawlist': 5.2.9(@types/node@20.19.41) + '@inquirer/search': 4.1.9(@types/node@20.19.41) + '@inquirer/select': 5.1.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/rawlist@5.2.9(@types/node@20.19.40)': + '@inquirer/rawlist@5.2.9(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/search@4.1.9(@types/node@20.19.40)': + '@inquirer/search@4.1.9(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/select@5.1.5(@types/node@20.19.40)': + '@inquirer/select@5.1.5(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/type@4.0.5(@types/node@20.19.40)': + '@inquirer/type@4.0.5(@types/node@20.19.41)': optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@isaacs/fs-minipass@4.0.1': dependencies: @@ -5910,10 +5758,10 @@ snapshots: '@leichtgewicht/ip-codec@2.0.5': {} - '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.40))(@types/node@20.19.40)(listr2@10.2.1)': + '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.41))(@types/node@20.19.41)(listr2@10.2.1)': dependencies: - '@inquirer/prompts': 8.4.2(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/prompts': 8.4.2(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) listr2: 10.2.1 transitivePeerDependencies: - '@types/node' @@ -5941,7 +5789,7 @@ snapshots: '@modelcontextprotocol/sdk@1.29.0(zod@4.4.2)': dependencies: - '@hono/node-server': 1.19.14(hono@4.12.18) + '@hono/node-server': 1.19.14(hono@4.12.19) ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) content-type: 1.0.5 @@ -5950,8 +5798,8 @@ snapshots: eventsource: 3.0.7 eventsource-parser: 3.0.8 express: 5.2.1 - express-rate-limit: 8.5.1(express@5.2.1) - hono: 4.12.18 + express-rate-limit: 8.5.2(express@5.2.1) + hono: 4.12.19 jose: 6.2.3 json-schema-typed: 8.0.2 pkce-challenge: 5.0.1 @@ -6273,153 +6121,78 @@ snapshots: '@rollup/rollup-android-arm-eabi@4.60.2': optional: true - '@rollup/rollup-android-arm-eabi@4.60.3': - optional: true - '@rollup/rollup-android-arm64@4.60.2': optional: true - '@rollup/rollup-android-arm64@4.60.3': - optional: true - '@rollup/rollup-darwin-arm64@4.60.2': optional: true - '@rollup/rollup-darwin-arm64@4.60.3': - optional: true - '@rollup/rollup-darwin-x64@4.60.2': optional: true - '@rollup/rollup-darwin-x64@4.60.3': - optional: true - '@rollup/rollup-freebsd-arm64@4.60.2': optional: true - '@rollup/rollup-freebsd-arm64@4.60.3': - optional: true - '@rollup/rollup-freebsd-x64@4.60.2': optional: true - '@rollup/rollup-freebsd-x64@4.60.3': - optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.3': - optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.2': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.3': - optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-arm64-musl@4.60.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-loong64-musl@4.60.2': optional: true - '@rollup/rollup-linux-loong64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.2': optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-x64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-x64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-x64-musl@4.60.2': optional: true - '@rollup/rollup-linux-x64-musl@4.60.3': - optional: true - '@rollup/rollup-openbsd-x64@4.60.2': optional: true - '@rollup/rollup-openbsd-x64@4.60.3': - optional: true - '@rollup/rollup-openharmony-arm64@4.60.2': optional: true - '@rollup/rollup-openharmony-arm64@4.60.3': - optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.2': optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.3': - optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.3': - optional: true - '@rollup/rollup-win32-x64-gnu@4.60.2': optional: true - '@rollup/rollup-win32-x64-gnu@4.60.3': - optional: true - '@rollup/rollup-win32-x64-msvc@4.60.2': optional: true - '@rollup/rollup-win32-x64-msvc@4.60.3': - optional: true - '@schematics/angular@22.0.0-rc.0': dependencies: '@angular-devkit/core': 22.0.0-rc.0 @@ -6479,20 +6252,20 @@ snapshots: '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/bonjour@3.5.13': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 4.19.8 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/connect@3.4.38': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/eslint-scope@3.7.7': dependencies: @@ -6510,7 +6283,7 @@ snapshots: '@types/express-serve-static-core@4.19.8': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/qs': 6.15.1 '@types/range-parser': 1.2.7 '@types/send': 1.2.1 @@ -6526,13 +6299,13 @@ snapshots: '@types/http-proxy@1.17.17': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/json-schema@7.0.15': {} '@types/mime@1.3.5': {} - '@types/node@20.19.40': + '@types/node@20.19.41': dependencies: undici-types: 6.21.0 @@ -6545,11 +6318,11 @@ snapshots: '@types/send@0.17.6': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/send@1.2.1': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/serve-index@1.9.4': dependencies: @@ -6558,20 +6331,20 @@ snapshots: '@types/serve-static@1.15.10': dependencies: '@types/http-errors': 2.0.5 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/send': 0.17.6 '@types/sockjs@0.3.36': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/ws@8.18.1': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2))': + '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2))': dependencies: - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) '@webassemblyjs/ast@1.14.1': dependencies: @@ -6755,7 +6528,7 @@ snapshots: autoprefixer@10.5.0(postcss@8.5.13): dependencies: browserslist: 4.28.2 - caniuse-lite: 1.0.30001792 + caniuse-lite: 1.0.30001793 fraction.js: 5.3.4 picocolors: 1.1.1 postcss: 8.5.13 @@ -6802,7 +6575,7 @@ snapshots: balanced-match@4.0.4: {} - baseline-browser-mapping@2.10.29: {} + baseline-browser-mapping@2.10.30: {} batch@0.6.1: {} @@ -6814,9 +6587,9 @@ snapshots: domhandler: 5.0.3 htmlparser2: 10.1.0 picocolors: 1.1.1 - postcss: 8.5.14 + postcss: 8.5.13 postcss-media-query-parser: 0.2.3 - postcss-safe-parser: 7.0.1(postcss@8.5.14) + postcss-safe-parser: 7.0.1(postcss@8.5.13) big.js@5.2.2: {} @@ -6832,7 +6605,7 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.4.24 on-finished: 2.4.1 - qs: 6.15.1 + qs: 6.15.2 raw-body: 2.5.3 type-is: 1.6.18 unpipe: 1.0.0 @@ -6847,9 +6620,9 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.7.2 on-finished: 2.4.1 - qs: 6.15.1 + qs: 6.15.2 raw-body: 3.0.2 - type-is: 2.0.1 + type-is: 2.1.0 transitivePeerDependencies: - supports-color @@ -6870,10 +6643,10 @@ snapshots: browserslist@4.28.2: dependencies: - baseline-browser-mapping: 2.10.29 - caniuse-lite: 1.0.30001792 - electron-to-chromium: 1.5.353 - node-releases: 2.0.38 + baseline-browser-mapping: 2.10.30 + caniuse-lite: 1.0.30001793 + electron-to-chromium: 1.5.358 + node-releases: 2.0.44 update-browserslist-db: 1.2.3(browserslist@4.28.2) buffer-from@1.1.2: {} @@ -6911,7 +6684,7 @@ snapshots: callsites@3.1.0: {} - caniuse-lite@1.0.30001792: {} + caniuse-lite@1.0.30001793: {} chalk@5.6.2: {} @@ -6992,6 +6765,8 @@ snapshots: content-type@1.0.5: {} + content-type@2.0.0: {} + convert-source-map@1.9.0: {} convert-source-map@2.0.0: {} @@ -7045,12 +6820,12 @@ snapshots: css-loader@7.1.4(webpack@5.106.2(esbuild@0.28.0)(postcss@8.5.13)): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.14) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.14) - postcss-modules-scope: 3.2.1(postcss@8.5.14) - postcss-modules-values: 4.0.0(postcss@8.5.14) + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.13) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.13) + postcss-modules-scope: 3.2.1(postcss@8.5.13) + postcss-modules-values: 4.0.0(postcss@8.5.13) postcss-value-parser: 4.2.0 semver: 7.7.4 optionalDependencies: @@ -7128,7 +6903,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.353: {} + electron-to-chromium@1.5.358: {} emoji-regex@10.6.0: {} @@ -7265,12 +7040,12 @@ snapshots: exponential-backoff@3.1.3: {} - express-rate-limit@8.5.1(express@5.2.1): + express-rate-limit@8.5.2(express@5.2.1): dependencies: express: 5.2.1 ip-address: 10.2.0 - express@4.22.1: + express@4.22.2: dependencies: accepts: 1.3.8 array-flatten: 1.1.1 @@ -7293,7 +7068,7 @@ snapshots: parseurl: 1.3.3 path-to-regexp: 0.1.13 proxy-addr: 2.0.7 - qs: 6.14.2 + qs: 6.15.2 range-parser: 1.2.1 safe-buffer: 5.2.1 send: 0.19.2 @@ -7328,13 +7103,13 @@ snapshots: once: 1.4.0 parseurl: 1.3.3 proxy-addr: 2.0.7 - qs: 6.15.1 + qs: 6.15.2 range-parser: 1.2.1 router: 2.2.0 send: 1.2.1 serve-static: 2.2.1 statuses: 2.0.2 - type-is: 2.0.1 + type-is: 2.1.0 vary: 1.1.2 transitivePeerDependencies: - supports-color @@ -7474,7 +7249,7 @@ snapshots: dependencies: function-bind: 1.1.2 - hono@4.12.18: {} + hono@4.12.19: {} hosted-git-info@9.0.3: dependencies: @@ -7582,9 +7357,9 @@ snapshots: dependencies: safer-buffer: 2.1.2 - icss-utils@5.1.0(postcss@8.5.14): + icss-utils@5.1.0(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 ignore-walk@8.0.0: dependencies: @@ -7684,7 +7459,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -8010,7 +7785,7 @@ snapshots: undici: 6.25.0 which: 6.0.1 - node-releases@2.0.38: {} + node-releases@2.0.44: {} nopt@9.0.0: dependencies: @@ -8233,30 +8008,30 @@ snapshots: postcss-media-query-parser@0.2.3: {} - postcss-modules-extract-imports@3.1.0(postcss@8.5.14): + postcss-modules-extract-imports@3.1.0(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 - postcss-modules-local-by-default@4.2.0(postcss@8.5.14): + postcss-modules-local-by-default@4.2.0(postcss@8.5.13): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 postcss-selector-parser: 7.1.1 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.2.1(postcss@8.5.14): + postcss-modules-scope@3.2.1(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 postcss-selector-parser: 7.1.1 - postcss-modules-values@4.0.0(postcss@8.5.14): + postcss-modules-values@4.0.0(postcss@8.5.13): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 - postcss-safe-parser@7.0.1(postcss@8.5.14): + postcss-safe-parser@7.0.1(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 postcss-selector-parser@7.1.1: dependencies: @@ -8271,12 +8046,6 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 - postcss@8.5.14: - dependencies: - nanoid: 3.3.12 - picocolors: 1.1.1 - source-map-js: 1.2.1 - powershell-utils@0.1.0: {} proc-log@6.1.0: {} @@ -8297,11 +8066,7 @@ snapshots: pvutils@1.1.5: {} - qs@6.14.2: - dependencies: - side-channel: 1.1.0 - - qs@6.15.1: + qs@6.15.2: dependencies: side-channel: 1.1.0 @@ -8379,7 +8144,7 @@ snapshots: adjust-sourcemap-loader: 4.0.0 convert-source-map: 1.9.0 loader-utils: 2.0.4 - postcss: 8.5.14 + postcss: 8.5.13 source-map: 0.6.1 resolve@1.22.12: @@ -8429,37 +8194,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.60.2 fsevents: 2.3.3 - rollup@4.60.3: - dependencies: - '@types/estree': 1.0.8 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.60.3 - '@rollup/rollup-android-arm64': 4.60.3 - '@rollup/rollup-darwin-arm64': 4.60.3 - '@rollup/rollup-darwin-x64': 4.60.3 - '@rollup/rollup-freebsd-arm64': 4.60.3 - '@rollup/rollup-freebsd-x64': 4.60.3 - '@rollup/rollup-linux-arm-gnueabihf': 4.60.3 - '@rollup/rollup-linux-arm-musleabihf': 4.60.3 - '@rollup/rollup-linux-arm64-gnu': 4.60.3 - '@rollup/rollup-linux-arm64-musl': 4.60.3 - '@rollup/rollup-linux-loong64-gnu': 4.60.3 - '@rollup/rollup-linux-loong64-musl': 4.60.3 - '@rollup/rollup-linux-ppc64-gnu': 4.60.3 - '@rollup/rollup-linux-ppc64-musl': 4.60.3 - '@rollup/rollup-linux-riscv64-gnu': 4.60.3 - '@rollup/rollup-linux-riscv64-musl': 4.60.3 - '@rollup/rollup-linux-s390x-gnu': 4.60.3 - '@rollup/rollup-linux-x64-gnu': 4.60.3 - '@rollup/rollup-linux-x64-musl': 4.60.3 - '@rollup/rollup-openbsd-x64': 4.60.3 - '@rollup/rollup-openharmony-arm64': 4.60.3 - '@rollup/rollup-win32-arm64-msvc': 4.60.3 - '@rollup/rollup-win32-ia32-msvc': 4.60.3 - '@rollup/rollup-win32-x64-gnu': 4.60.3 - '@rollup/rollup-win32-x64-msvc': 4.60.3 - fsevents: 2.3.3 - router@2.2.0: dependencies: debug: 4.4.3 @@ -8774,7 +8508,7 @@ snapshots: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 - terser: 5.47.1 + terser: 5.46.2 webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) optionalDependencies: esbuild: 0.28.0 @@ -8787,13 +8521,6 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 - terser@5.47.1: - dependencies: - '@jridgewell/source-map': 0.3.11 - acorn: 8.16.0 - commander: 2.20.3 - source-map-support: 0.5.21 - thingies@2.6.0(tslib@2.8.1): dependencies: tslib: 2.8.1 @@ -8815,14 +8542,14 @@ snapshots: dependencies: tslib: 2.8.1 - ts-node@10.9.2(@types/node@20.19.40)(typescript@6.0.3): + ts-node@10.9.2(@types/node@20.19.41)(typescript@6.0.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.12 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.19.40 + '@types/node': 20.19.41 acorn: 8.16.0 acorn-walk: 8.3.5 arg: 4.1.3 @@ -8854,9 +8581,9 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 - type-is@2.0.1: + type-is@2.1.0: dependencies: - content-type: 1.0.5 + content-type: 2.0.0 media-typer: 1.1.0 mime-types: 3.0.2 @@ -8899,16 +8626,16 @@ snapshots: vary@1.1.2: {} - vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2): + vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) picomatch: 4.0.4 - postcss: 8.5.14 - rollup: 4.60.3 + postcss: 8.5.13 + rollup: 4.60.2 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 fsevents: 2.3.3 jiti: 2.7.0 less: 4.6.4 @@ -8968,7 +8695,7 @@ snapshots: colorette: 2.0.20 compression: 1.8.1 connect-history-api-fallback: 2.0.0 - express: 4.22.1 + express: 4.22.2 graceful-fs: 4.2.11 http-proxy-middleware: 2.0.9(@types/express@4.17.25) ipaddr.js: 2.4.0 @@ -8981,7 +8708,7 @@ snapshots: sockjs: 0.3.24 spdy: 4.0.2 webpack-dev-middleware: 7.4.5(tslib@2.8.1)(webpack@5.106.2(postcss@8.5.13)) - ws: 8.20.0 + ws: 8.20.1 optionalDependencies: webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) transitivePeerDependencies: @@ -9076,7 +8803,7 @@ snapshots: wrappy@1.0.2: {} - ws@8.20.0: {} + ws@8.20.1: {} wsl-utils@0.1.0: dependencies: diff --git a/integration/legacy-animations/pnpm-lock.yaml b/integration/legacy-animations/pnpm-lock.yaml index c9f2bd1c379e..3182a31fdbd8 100644 --- a/integration/legacy-animations/pnpm-lock.yaml +++ b/integration/legacy-animations/pnpm-lock.yaml @@ -38,10 +38,10 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.40)(jiti@2.7.0)(karma@6.4.4)(typescript@6.0.3) + version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.41)(jiti@2.7.0)(karma@6.4.4)(typescript@6.0.3) '@angular/cli': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@types/node@20.19.40) + version: 22.0.0-rc.0(@types/node@20.19.41) '@angular/compiler-cli': specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel @@ -53,7 +53,7 @@ importers: version: 2.0.13 '@types/node': specifier: ^20.14.8 - version: 20.19.40 + version: 20.19.41 jasmine-core: specifier: 6.2.0 version: 6.2.0 @@ -77,7 +77,7 @@ importers: version: 7.0.0 ts-node: specifier: ^10.9.1 - version: 10.9.2(@types/node@20.19.40)(typescript@6.0.3) + version: 10.9.2(@types/node@20.19.41)(typescript@6.0.3) typescript: specifier: 6.0.3 version: 6.0.3 @@ -1780,277 +1780,139 @@ packages: cpu: [arm] os: [android] - '@rollup/rollup-android-arm-eabi@4.60.3': - resolution: {integrity: sha512-x35CNW/ANXG3hE/EZpRU8MXX1JDN86hBb2wMGAtltkz7pc6cxgjpy1OMMfDosOQ+2hWqIkag/fGok1Yady9nGw==} - cpu: [arm] - os: [android] - '@rollup/rollup-android-arm64@4.60.2': resolution: {integrity: sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==} cpu: [arm64] os: [android] - '@rollup/rollup-android-arm64@4.60.3': - resolution: {integrity: sha512-xw3xtkDApIOGayehp2+Rz4zimfkaX65r4t47iy+ymQB2G4iJCBBfj0ogVg5jpvjpn8UWn/+q9tprxleYeNp3Hw==} - cpu: [arm64] - os: [android] - '@rollup/rollup-darwin-arm64@4.60.2': resolution: {integrity: sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-arm64@4.60.3': - resolution: {integrity: sha512-vo6Y5Qfpx7/5EaamIwi0WqW2+zfiusVihKatLvtN1VFVy3D13uERk/6gZLU1UiHRL6fDXqj/ELIeVRGnvcTE1g==} - cpu: [arm64] - os: [darwin] - '@rollup/rollup-darwin-x64@4.60.2': resolution: {integrity: sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==} cpu: [x64] os: [darwin] - '@rollup/rollup-darwin-x64@4.60.3': - resolution: {integrity: sha512-D+0QGcZhBzTN82weOnsSlY7V7+RMmPuF1CkbxyMAGE8+ZHeUjyb76ZiWmBlCu//AQQONvxcqRbwZTajZKqjuOw==} - cpu: [x64] - os: [darwin] - '@rollup/rollup-freebsd-arm64@4.60.2': resolution: {integrity: sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-arm64@4.60.3': - resolution: {integrity: sha512-6HnvHCT7fDyj6R0Ph7A6x8dQS/S38MClRWeDLqc0MdfWkxjiu1HSDYrdPhqSILzjTIC/pnXbbJbo+ft+gy/9hQ==} - cpu: [arm64] - os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.2': resolution: {integrity: sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==} cpu: [x64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.3': - resolution: {integrity: sha512-KHLgC3WKlUYW3ShFKnnosZDOJ0xjg9zp7au3sIm2bs/tGBeC2ipmvRh/N7JKi0t9Ue20C0dpEshi8WUubg+cnA==} - cpu: [x64] - os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.60.2': resolution: {integrity: sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==} cpu: [arm] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm-gnueabihf@4.60.3': - resolution: {integrity: sha512-DV6fJoxEYWJOvaZIsok7KrYl0tPvga5OZ2yvKHNNYyk/2roMLqQAbGhr78EQ5YhHpnhLKJD3S1WFusAkmUuV5g==} - cpu: [arm] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-arm-musleabihf@4.60.2': resolution: {integrity: sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==} cpu: [arm] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm-musleabihf@4.60.3': - resolution: {integrity: sha512-mQKoJAzvuOs6F+TZybQO4GOTSMUu7v0WdxEk24krQ/uUxXoPTtHjuaUuPmFhtBcM4K0ons8nrE3JyhTuCFtT/w==} - cpu: [arm] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-arm64-gnu@4.60.2': resolution: {integrity: sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==} cpu: [arm64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm64-gnu@4.60.3': - resolution: {integrity: sha512-Whjj2qoiJ6+OOJMGptTYazaJvjOJm+iKHpXQM1P3LzGjt7Ff++Tp7nH4N8J/BUA7R9IHfDyx4DJIflifwnbmIA==} - cpu: [arm64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-arm64-musl@4.60.2': resolution: {integrity: sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==} cpu: [arm64] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm64-musl@4.60.3': - resolution: {integrity: sha512-4YTNHKqGng5+yiZt3mg77nmyuCfmNfX4fPmyUapBcIk+BdwSwmCWGXOUxhXbBEkFHtoN5boLj/5NON+u5QC9tg==} - cpu: [arm64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-loong64-gnu@4.60.2': resolution: {integrity: sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==} cpu: [loong64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-loong64-gnu@4.60.3': - resolution: {integrity: sha512-SU3kNlhkpI4UqlUc2VXPGK9o886ZsSeGfMAX2ba2b8DKmMXq4AL7KUrkSWVbb7koVqx41Yczx6dx5PNargIrEA==} - cpu: [loong64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-loong64-musl@4.60.2': resolution: {integrity: sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==} cpu: [loong64] os: [linux] libc: [musl] - '@rollup/rollup-linux-loong64-musl@4.60.3': - resolution: {integrity: sha512-6lDLl5h4TXpB1mTf2rQWnAk/LcXrx9vBfu/DT5TIPhvMhRWaZ5MxkIc8u4lJAmBo6klTe1ywXIUHFjylW505sg==} - cpu: [loong64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-ppc64-gnu@4.60.2': resolution: {integrity: sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==} cpu: [ppc64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-ppc64-gnu@4.60.3': - resolution: {integrity: sha512-BMo8bOw8evlup/8G+cj5xWtPyp93xPdyoSN16Zy90Q2QZ0ZYRhCt6ZJSwbrRzG9HApFabjwj2p25TUPDWrhzqQ==} - cpu: [ppc64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-ppc64-musl@4.60.2': resolution: {integrity: sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==} cpu: [ppc64] os: [linux] libc: [musl] - '@rollup/rollup-linux-ppc64-musl@4.60.3': - resolution: {integrity: sha512-E0L8X1dZN1/Rph+5VPF6Xj2G7JJvMACVXtamTJIDrVI44Y3K+G8gQaMEAavbqCGTa16InptiVrX6eM6pmJ+7qA==} - cpu: [ppc64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-riscv64-gnu@4.60.2': resolution: {integrity: sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==} cpu: [riscv64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-riscv64-gnu@4.60.3': - resolution: {integrity: sha512-oZJ/WHaVfHUiRAtmTAeo3DcevNsVvH8mbvodjZy7D5QKvCefO371SiKRpxoDcCxB3PTRTLayWBkvmDQKTcX/sw==} - cpu: [riscv64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-riscv64-musl@4.60.2': resolution: {integrity: sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==} cpu: [riscv64] os: [linux] libc: [musl] - '@rollup/rollup-linux-riscv64-musl@4.60.3': - resolution: {integrity: sha512-Dhbyh7j9FybM3YaTgaHmVALwA8AkUwTPccyCQ79TG9AJUsMQqgN1DDEZNr4+QUfwiWvLDumW5vdwzoeUF+TNxQ==} - cpu: [riscv64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-s390x-gnu@4.60.2': resolution: {integrity: sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==} cpu: [s390x] os: [linux] libc: [glibc] - '@rollup/rollup-linux-s390x-gnu@4.60.3': - resolution: {integrity: sha512-cJd1X5XhHHlltkaypz1UcWLA8AcoIi1aWhsvaWDskD1oz2eKCypnqvTQ8ykMNI0RSmm7NkTdSqSSD7zM0xa6Ig==} - cpu: [s390x] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.2': resolution: {integrity: sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==} cpu: [x64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.3': - resolution: {integrity: sha512-DAZDBHQfG2oQuhY7mc6I3/qB4LU2fQCjRvxbDwd/Jdvb9fypP4IJ4qmtu6lNjes6B531AI8cg1aKC2di97bUxA==} - cpu: [x64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-x64-musl@4.60.2': resolution: {integrity: sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==} cpu: [x64] os: [linux] libc: [musl] - '@rollup/rollup-linux-x64-musl@4.60.3': - resolution: {integrity: sha512-cRxsE8c13mZOh3vP+wLDxpQBRrOHDIGOWyDL93Sy0Ga8y515fBcC2pjUfFwUe5T7tqvTvWbCpg1URM/AXdWIXA==} - cpu: [x64] - os: [linux] - libc: [musl] - '@rollup/rollup-openbsd-x64@4.60.2': resolution: {integrity: sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==} cpu: [x64] os: [openbsd] - '@rollup/rollup-openbsd-x64@4.60.3': - resolution: {integrity: sha512-QaWcIgRxqEdQdhJqW4DJctsH6HCmo5vHxY0krHSX4jMtOqfzC+dqDGuHM87bu4H8JBeibWx7jFz+h6/4C8wA5Q==} - cpu: [x64] - os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.60.2': resolution: {integrity: sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-openharmony-arm64@4.60.3': - resolution: {integrity: sha512-AaXwSvUi3QIPtroAUw1t5yHGIyqKEXwH54WUocFolZhpGDruJcs8c+xPNDRn4XiQsS7MEwnYsHW2l0MBLDMkWg==} - cpu: [arm64] - os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.60.2': resolution: {integrity: sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.60.3': - resolution: {integrity: sha512-65LAKM/bAWDqKNEelHlcHvm2V+Vfb8C6INFxQXRHCvaVN1rJfwr4NvdP4FyzUaLqWfaCGaadf6UbTm8xJeYfEg==} - cpu: [arm64] - os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.2': resolution: {integrity: sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.3': - resolution: {integrity: sha512-EEM2gyhBF5MFnI6vMKdX1LAosE627RGBzIoGMdLloPZkXrUN0Ckqgr2Qi8+J3zip/8NVVro3/FjB+tjhZUgUHA==} - cpu: [ia32] - os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.2': resolution: {integrity: sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.3': - resolution: {integrity: sha512-E5Eb5H/DpxaoXH++Qkv28RcUJboMopmdDUALBczvHMf7hNIxaDZqwY5lK12UK1BHacSmvupoEWGu+n993Z0y1A==} - cpu: [x64] - os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.2': resolution: {integrity: sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.3': - resolution: {integrity: sha512-hPt/bgL5cE+Qp+/TPHBqptcAgPzgj46mPcg/16zNUmbQk0j+mOEQV/+Lqu8QRtDV3Ek95Q6FeFITpuhl6OTsAA==} - cpu: [x64] - os: [win32] - '@schematics/angular@22.0.0-rc.0': resolution: {integrity: sha512-V5BQFRlPfx/rJZOtkDUAunJqNfi+75J0gr41W1VId8TntsddF0jn1Fz4XQncTiu3dk8UMeRUdmyJrjYRl1Q5Wg==} engines: {node: ^22.22.0 || ^24.13.1 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} @@ -2153,8 +2015,8 @@ packages: '@types/mime@1.3.5': resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - '@types/node@20.19.40': - resolution: {integrity: sha512-xxx6M2IpSTnnKcR0cMvIiohkiCx20/oRPtWGbenFygKCGl3zqUzdNjQ/1V4solq1LU+dgv0nQzeGOuqkqZGg0Q==} + '@types/node@20.19.41': + resolution: {integrity: sha512-ECymXOukMnOoVkC2bb1Vc/w/836DXncOg5m8Xj1RH7xSHZJWNYY6Zh7EH477vcnD5egKNNfy2RpNOmuChhFPgQ==} '@types/q@0.0.32': resolution: {integrity: sha512-qYi3YV9inU/REEfxwVcGZzbS3KG/Xs90lv0Pr+lDtuVjBPGd1A+eciXzVSaRvLify132BfcvhvEjeVahrUl0Ug==} @@ -2460,8 +2322,8 @@ packages: resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==} engines: {node: ^4.5.0 || >= 5.9} - baseline-browser-mapping@2.10.29: - resolution: {integrity: sha512-Asa2krT+XTPZINCS+2QcyS8WTkObE77RwkydwF7h6DmnKqbvlalz93m/dnphUyCa6SWSP51VgtEUf2FN+gelFQ==} + baseline-browser-mapping@2.10.30: + resolution: {integrity: sha512-xjOFN16Ha1+Rz4nFYKqHU/LSB+gx/Vi3yQLX7r7sAW+Wa+8hhF2h4pvqTrTMc8+WcDBEunnUurr46Jvv0jk3Vg==} engines: {node: '>=6.0.0'} hasBin: true @@ -2555,8 +2417,8 @@ packages: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} - caniuse-lite@1.0.30001792: - resolution: {integrity: sha512-hVLMUZFgR4JJ6ACt1uEESvQN1/dBVqPAKY0hgrV70eN3391K6juAfTjKZLKvOMsx8PxA7gsY1/tLMMTcfFLLpw==} + caniuse-lite@1.0.30001793: + resolution: {integrity: sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==} caseless@0.12.0: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} @@ -2670,6 +2532,10 @@ packages: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} + content-type@2.0.0: + resolution: {integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==} + engines: {node: '>=18'} + convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} @@ -2866,8 +2732,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.353: - resolution: {integrity: sha512-kOrWphBi8TOZyiJZqsgqIle0lw+tzmnQK83pV9dZUd01Nm2POECSyFQMAuarzZdYqQW7FH9RaYOuaRo3h+bQ3w==} + electron-to-chromium@1.5.358: + resolution: {integrity: sha512-EO7tKm3QxRqTs1lSuPXzl6yRAwznehp0AH9OoMOIC+4mQzTFday8FJCO5KU6J/TFSQXEOahNq4vTKpz1jmCVOA==} emoji-regex@10.6.0: resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} @@ -3026,14 +2892,14 @@ packages: exponential-backoff@3.1.3: resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} - express-rate-limit@8.5.1: - resolution: {integrity: sha512-5O6KYmyJEpuPJV5hNTXKbAHWRqrzyu+OI3vUnSd2kXFubIVpG7ezpgxQy76Zo5GQZtrQBg86hF+CM/NX+cioiQ==} + express-rate-limit@8.5.2: + resolution: {integrity: sha512-5Kb34ipNX694DH48vN9irak1Qx30nb0PLYHXfJgw4YEjiC3ZEmZJhwOp+VfiCYwFzvFTdB9QkArYS5kXa2cx2A==} engines: {node: '>= 16'} peerDependencies: express: '>= 4.11' - express@4.22.1: - resolution: {integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==} + express@4.22.2: + resolution: {integrity: sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==} engines: {node: '>= 0.10.0'} express@5.2.1: @@ -3250,8 +3116,8 @@ packages: resolution: {integrity: sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==} engines: {node: '>= 0.4'} - hono@4.12.18: - resolution: {integrity: sha512-RWzP96k/yv0PQfyXnWjs6zot20TqfpfsNXhOnev8d1InAxubW93L11/oNUc3tQqn2G0bSdAOBpX+2uDFHV7kdQ==} + hono@4.12.19: + resolution: {integrity: sha512-xa3eYXYXx68XTT4hZ7dRzsXBhaq85ToSrlUJNoR0gwz/1Ap/CNwX47wfvV7pc/xWhjKVVkLT7zBJy8chhNguqQ==} engines: {node: '>=16.9.0'} hosted-git-info@9.0.3: @@ -3918,8 +3784,8 @@ packages: engines: {node: ^20.17.0 || >=22.9.0} hasBin: true - node-releases@2.0.38: - resolution: {integrity: sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==} + node-releases@2.0.44: + resolution: {integrity: sha512-5WUyunoPMsvvEhS8AxHtRzP+oA8UCkJ7YRxatWKjngndhDGLiqEVAQKWjFAiAiuL8zMRGzGSJxFnLetoa43qGQ==} nopt@9.0.0: resolution: {integrity: sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==} @@ -4201,10 +4067,6 @@ packages: resolution: {integrity: sha512-qif0+jGGZoLWdHey3UFHHWP0H7Gbmsk8T5VEqyYFbWqPr1XqvLGBbk/sl8V5exGmcYJklJOhOQq1pV9IcsiFag==} engines: {node: ^10 || ^12 || >=14} - postcss@8.5.14: - resolution: {integrity: sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==} - engines: {node: ^10 || ^12 || >=14} - powershell-utils@0.1.0: resolution: {integrity: sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==} engines: {node: '>=20'} @@ -4258,12 +4120,8 @@ packages: resolution: {integrity: sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==} engines: {node: '>=0.9'} - qs@6.14.2: - resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==} - engines: {node: '>=0.6'} - - qs@6.15.1: - resolution: {integrity: sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==} + qs@6.15.2: + resolution: {integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==} engines: {node: '>=0.6'} qs@6.5.5: @@ -4379,11 +4237,6 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - rollup@4.60.3: - resolution: {integrity: sha512-pAQK9HalE84QSm4Po3EmWIZPd3FnjkShVkiMlz1iligWYkWQ7wHYd1PF/T7QZ5TVSD6uSTon5gBVMSM4JfBV+A==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - router@2.2.0: resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} engines: {node: '>= 18'} @@ -4743,11 +4596,6 @@ packages: engines: {node: '>=10'} hasBin: true - terser@5.47.1: - resolution: {integrity: sha512-tPbLXTI6ohPASb/1YViL428oEHu6/qv1OxqYnfaonVCFHqx4+wCd95pHrQWsL5X4pl90CTyW9piSAsS2L0VoMw==} - engines: {node: '>=10'} - hasBin: true - thingies@2.6.0: resolution: {integrity: sha512-rMHRjmlFLM1R96UYPvpmnc3LYtdFrT33JIB7L9hetGue1qAPfn1N2LJeEjxUSidu1Iku+haLZXDuEXUHNGO/lg==} engines: {node: '>=10.18'} @@ -4825,9 +4673,9 @@ packages: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} - type-is@2.0.1: - resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} - engines: {node: '>= 0.6'} + type-is@2.1.0: + resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==} + engines: {node: '>= 18'} typed-assert@1.0.9: resolution: {integrity: sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==} @@ -5094,8 +4942,8 @@ packages: utf-8-validate: optional: true - ws@8.20.0: - resolution: {integrity: sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==} + ws@8.20.1: + resolution: {integrity: sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -5284,13 +5132,13 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.40)(jiti@2.7.0)(karma@6.4.4)(typescript@6.0.3)': + '@angular-devkit/build-angular@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.41)(jiti@2.7.0)(karma@6.4.4)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 '@angular-devkit/build-webpack': 0.2200.0-rc.0(webpack-dev-server@5.2.3(tslib@2.8.1)(webpack@5.106.2(postcss@8.5.13)))(webpack@5.106.2(esbuild@0.28.0)(postcss@8.5.13)) '@angular-devkit/core': 22.0.0-rc.0 - '@angular/build': 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(karma@6.4.4)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) + '@angular/build': 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(karma@6.4.4)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 7.29.0 '@babel/generator': 7.29.1 @@ -5404,7 +5252,7 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(karma@6.4.4)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(karma@6.4.4)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 @@ -5413,8 +5261,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@20.19.40) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)) + '@inquirer/confirm': 6.0.12(@types/node@20.19.41) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -5433,7 +5281,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel @@ -5456,13 +5304,13 @@ snapshots: - tsx - yaml - '@angular/cli@22.0.0-rc.0(@types/node@20.19.40)': + '@angular/cli@22.0.0-rc.0(@types/node@20.19.41)': dependencies: '@angular-devkit/architect': 0.2200.0-rc.0 '@angular-devkit/core': 22.0.0-rc.0 '@angular-devkit/schematics': 22.0.0-rc.0 - '@inquirer/prompts': 8.4.2(@types/node@20.19.40) - '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.40))(@types/node@20.19.40)(listr2@10.2.1) + '@inquirer/prompts': 8.4.2(@types/node@20.19.41) + '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.41))(@types/node@20.19.41)(listr2@10.2.1) '@modelcontextprotocol/sdk': 1.29.0(zod@4.4.2) '@schematics/angular': 22.0.0-rc.0 '@yarnpkg/lockfile': 1.1.0 @@ -6330,135 +6178,135 @@ snapshots: '@harperfast/extended-iterable@1.0.3': optional: true - '@hono/node-server@1.19.14(hono@4.12.18)': + '@hono/node-server@1.19.14(hono@4.12.19)': dependencies: - hono: 4.12.18 + hono: 4.12.19 '@inquirer/ansi@2.0.5': {} - '@inquirer/checkbox@5.1.5(@types/node@20.19.40)': + '@inquirer/checkbox@5.1.5(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/confirm@6.0.12(@types/node@20.19.40)': + '@inquirer/confirm@6.0.12(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/confirm@6.0.13(@types/node@20.19.40)': + '@inquirer/confirm@6.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/core@11.1.10(@types/node@20.19.40)': + '@inquirer/core@11.1.10(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) cli-width: 4.1.0 fast-wrap-ansi: 0.2.0 mute-stream: 3.0.0 signal-exit: 4.1.0 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/editor@5.1.2(@types/node@20.19.40)': + '@inquirer/editor@5.1.2(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/external-editor': 3.0.0(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/external-editor': 3.0.0(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/expand@5.0.14(@types/node@20.19.40)': + '@inquirer/expand@5.0.14(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/external-editor@3.0.0(@types/node@20.19.40)': + '@inquirer/external-editor@3.0.0(@types/node@20.19.41)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@inquirer/figures@2.0.5': {} - '@inquirer/input@5.0.13(@types/node@20.19.40)': + '@inquirer/input@5.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/number@4.0.13(@types/node@20.19.40)': + '@inquirer/number@4.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/password@5.0.13(@types/node@20.19.40)': + '@inquirer/password@5.0.13(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 - - '@inquirer/prompts@8.4.2(@types/node@20.19.40)': - dependencies: - '@inquirer/checkbox': 5.1.5(@types/node@20.19.40) - '@inquirer/confirm': 6.0.13(@types/node@20.19.40) - '@inquirer/editor': 5.1.2(@types/node@20.19.40) - '@inquirer/expand': 5.0.14(@types/node@20.19.40) - '@inquirer/input': 5.0.13(@types/node@20.19.40) - '@inquirer/number': 4.0.13(@types/node@20.19.40) - '@inquirer/password': 5.0.13(@types/node@20.19.40) - '@inquirer/rawlist': 5.2.9(@types/node@20.19.40) - '@inquirer/search': 4.1.9(@types/node@20.19.40) - '@inquirer/select': 5.1.5(@types/node@20.19.40) + '@types/node': 20.19.41 + + '@inquirer/prompts@8.4.2(@types/node@20.19.41)': + dependencies: + '@inquirer/checkbox': 5.1.5(@types/node@20.19.41) + '@inquirer/confirm': 6.0.13(@types/node@20.19.41) + '@inquirer/editor': 5.1.2(@types/node@20.19.41) + '@inquirer/expand': 5.0.14(@types/node@20.19.41) + '@inquirer/input': 5.0.13(@types/node@20.19.41) + '@inquirer/number': 4.0.13(@types/node@20.19.41) + '@inquirer/password': 5.0.13(@types/node@20.19.41) + '@inquirer/rawlist': 5.2.9(@types/node@20.19.41) + '@inquirer/search': 4.1.9(@types/node@20.19.41) + '@inquirer/select': 5.1.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/rawlist@5.2.9(@types/node@20.19.40)': + '@inquirer/rawlist@5.2.9(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/search@4.1.9(@types/node@20.19.40)': + '@inquirer/search@4.1.9(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/select@5.1.5(@types/node@20.19.40)': + '@inquirer/select@5.1.5(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/type@4.0.5(@types/node@20.19.40)': + '@inquirer/type@4.0.5(@types/node@20.19.41)': optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@isaacs/fs-minipass@4.0.1': dependencies: @@ -6624,10 +6472,10 @@ snapshots: '@leichtgewicht/ip-codec@2.0.5': {} - '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.40))(@types/node@20.19.40)(listr2@10.2.1)': + '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.41))(@types/node@20.19.41)(listr2@10.2.1)': dependencies: - '@inquirer/prompts': 8.4.2(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/prompts': 8.4.2(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) listr2: 10.2.1 transitivePeerDependencies: - '@types/node' @@ -6655,7 +6503,7 @@ snapshots: '@modelcontextprotocol/sdk@1.29.0(zod@4.4.2)': dependencies: - '@hono/node-server': 1.19.14(hono@4.12.18) + '@hono/node-server': 1.19.14(hono@4.12.19) ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) content-type: 1.0.5 @@ -6664,8 +6512,8 @@ snapshots: eventsource: 3.0.7 eventsource-parser: 3.0.8 express: 5.2.1 - express-rate-limit: 8.5.1(express@5.2.1) - hono: 4.12.18 + express-rate-limit: 8.5.2(express@5.2.1) + hono: 4.12.19 jose: 6.2.3 json-schema-typed: 8.0.2 pkce-challenge: 5.0.1 @@ -6987,153 +6835,78 @@ snapshots: '@rollup/rollup-android-arm-eabi@4.60.2': optional: true - '@rollup/rollup-android-arm-eabi@4.60.3': - optional: true - '@rollup/rollup-android-arm64@4.60.2': optional: true - '@rollup/rollup-android-arm64@4.60.3': - optional: true - '@rollup/rollup-darwin-arm64@4.60.2': optional: true - '@rollup/rollup-darwin-arm64@4.60.3': - optional: true - '@rollup/rollup-darwin-x64@4.60.2': optional: true - '@rollup/rollup-darwin-x64@4.60.3': - optional: true - '@rollup/rollup-freebsd-arm64@4.60.2': optional: true - '@rollup/rollup-freebsd-arm64@4.60.3': - optional: true - '@rollup/rollup-freebsd-x64@4.60.2': optional: true - '@rollup/rollup-freebsd-x64@4.60.3': - optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.3': - optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.2': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.3': - optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-arm64-musl@4.60.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-loong64-musl@4.60.2': optional: true - '@rollup/rollup-linux-loong64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.2': optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-x64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-x64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-x64-musl@4.60.2': optional: true - '@rollup/rollup-linux-x64-musl@4.60.3': - optional: true - '@rollup/rollup-openbsd-x64@4.60.2': optional: true - '@rollup/rollup-openbsd-x64@4.60.3': - optional: true - '@rollup/rollup-openharmony-arm64@4.60.2': optional: true - '@rollup/rollup-openharmony-arm64@4.60.3': - optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.2': optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.3': - optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.3': - optional: true - '@rollup/rollup-win32-x64-gnu@4.60.2': optional: true - '@rollup/rollup-win32-x64-gnu@4.60.3': - optional: true - '@rollup/rollup-win32-x64-msvc@4.60.2': optional: true - '@rollup/rollup-win32-x64-msvc@4.60.3': - optional: true - '@schematics/angular@22.0.0-rc.0': dependencies: '@angular-devkit/core': 22.0.0-rc.0 @@ -7195,24 +6968,24 @@ snapshots: '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/bonjour@3.5.13': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 4.19.8 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/connect@3.4.38': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/cors@2.8.19': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/eslint-scope@3.7.7': dependencies: @@ -7230,7 +7003,7 @@ snapshots: '@types/express-serve-static-core@4.19.8': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/qs': 6.15.1 '@types/range-parser': 1.2.7 '@types/send': 1.2.1 @@ -7246,7 +7019,7 @@ snapshots: '@types/http-proxy@1.17.17': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/jasmine@6.0.0': {} @@ -7258,7 +7031,7 @@ snapshots: '@types/mime@1.3.5': {} - '@types/node@20.19.40': + '@types/node@20.19.41': dependencies: undici-types: 6.21.0 @@ -7275,11 +7048,11 @@ snapshots: '@types/send@0.17.6': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/send@1.2.1': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/serve-index@1.9.4': dependencies: @@ -7288,20 +7061,20 @@ snapshots: '@types/serve-static@1.15.10': dependencies: '@types/http-errors': 2.0.5 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/send': 0.17.6 '@types/sockjs@0.3.36': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/ws@8.18.1': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2))': + '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2))': dependencies: - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) '@webassemblyjs/ast@1.14.1': dependencies: @@ -7524,7 +7297,7 @@ snapshots: autoprefixer@10.5.0(postcss@8.5.13): dependencies: browserslist: 4.28.2 - caniuse-lite: 1.0.30001792 + caniuse-lite: 1.0.30001793 fraction.js: 5.3.4 picocolors: 1.1.1 postcss: 8.5.13 @@ -7579,7 +7352,7 @@ snapshots: base64id@2.0.0: {} - baseline-browser-mapping@2.10.29: {} + baseline-browser-mapping@2.10.30: {} batch@0.6.1: {} @@ -7595,9 +7368,9 @@ snapshots: domhandler: 5.0.3 htmlparser2: 10.1.0 picocolors: 1.1.1 - postcss: 8.5.14 + postcss: 8.5.13 postcss-media-query-parser: 0.2.3 - postcss-safe-parser: 7.0.1(postcss@8.5.14) + postcss-safe-parser: 7.0.1(postcss@8.5.13) big.js@5.2.2: {} @@ -7617,7 +7390,7 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.4.24 on-finished: 2.4.1 - qs: 6.15.1 + qs: 6.15.2 raw-body: 2.5.3 type-is: 1.6.18 unpipe: 1.0.0 @@ -7632,9 +7405,9 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.7.2 on-finished: 2.4.1 - qs: 6.15.1 + qs: 6.15.2 raw-body: 3.0.2 - type-is: 2.0.1 + type-is: 2.1.0 transitivePeerDependencies: - supports-color @@ -7660,10 +7433,10 @@ snapshots: browserslist@4.28.2: dependencies: - baseline-browser-mapping: 2.10.29 - caniuse-lite: 1.0.30001792 - electron-to-chromium: 1.5.353 - node-releases: 2.0.38 + baseline-browser-mapping: 2.10.30 + caniuse-lite: 1.0.30001793 + electron-to-chromium: 1.5.358 + node-releases: 2.0.44 update-browserslist-db: 1.2.3(browserslist@4.28.2) browserstack@1.6.1: @@ -7709,7 +7482,7 @@ snapshots: camelcase@5.3.1: {} - caniuse-lite@1.0.30001792: {} + caniuse-lite@1.0.30001793: {} caseless@0.12.0: {} @@ -7835,6 +7608,8 @@ snapshots: content-type@1.0.5: {} + content-type@2.0.0: {} + convert-source-map@1.9.0: {} convert-source-map@2.0.0: {} @@ -7890,12 +7665,12 @@ snapshots: css-loader@7.1.4(webpack@5.106.2(esbuild@0.28.0)(postcss@8.5.13)): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.14) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.14) - postcss-modules-scope: 3.2.1(postcss@8.5.14) - postcss-modules-values: 4.0.0(postcss@8.5.14) + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.13) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.13) + postcss-modules-scope: 3.2.1(postcss@8.5.13) + postcss-modules-values: 4.0.0(postcss@8.5.13) postcss-value-parser: 4.2.0 semver: 7.7.4 optionalDependencies: @@ -8013,7 +7788,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.353: {} + electron-to-chromium@1.5.358: {} emoji-regex@10.6.0: {} @@ -8030,7 +7805,7 @@ snapshots: engine.io@6.6.7: dependencies: '@types/cors': 2.8.19 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/ws': 8.18.1 accepts: 1.3.8 base64id: 2.0.0 @@ -8190,12 +7965,12 @@ snapshots: exponential-backoff@3.1.3: {} - express-rate-limit@8.5.1(express@5.2.1): + express-rate-limit@8.5.2(express@5.2.1): dependencies: express: 5.2.1 ip-address: 10.2.0 - express@4.22.1: + express@4.22.2: dependencies: accepts: 1.3.8 array-flatten: 1.1.1 @@ -8218,7 +7993,7 @@ snapshots: parseurl: 1.3.3 path-to-regexp: 0.1.13 proxy-addr: 2.0.7 - qs: 6.14.2 + qs: 6.15.2 range-parser: 1.2.1 safe-buffer: 5.2.1 send: 0.19.2 @@ -8253,13 +8028,13 @@ snapshots: once: 1.4.0 parseurl: 1.3.3 proxy-addr: 2.0.7 - qs: 6.15.1 + qs: 6.15.2 range-parser: 1.2.1 router: 2.2.0 send: 1.2.1 serve-static: 2.2.1 statuses: 2.0.2 - type-is: 2.0.1 + type-is: 2.1.0 vary: 1.1.2 transitivePeerDependencies: - supports-color @@ -8477,7 +8252,7 @@ snapshots: dependencies: function-bind: 1.1.2 - hono@4.12.18: {} + hono@4.12.19: {} hosted-git-info@9.0.3: dependencies: @@ -8598,9 +8373,9 @@ snapshots: dependencies: safer-buffer: 2.1.2 - icss-utils@5.1.0(postcss@8.5.14): + icss-utils@5.1.0(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 ignore-walk@8.0.0: dependencies: @@ -8752,7 +8527,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -9183,7 +8958,7 @@ snapshots: undici: 6.25.0 which: 6.0.1 - node-releases@2.0.38: {} + node-releases@2.0.44: {} nopt@9.0.0: dependencies: @@ -9440,30 +9215,30 @@ snapshots: postcss-media-query-parser@0.2.3: {} - postcss-modules-extract-imports@3.1.0(postcss@8.5.14): + postcss-modules-extract-imports@3.1.0(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 - postcss-modules-local-by-default@4.2.0(postcss@8.5.14): + postcss-modules-local-by-default@4.2.0(postcss@8.5.13): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 postcss-selector-parser: 7.1.1 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.2.1(postcss@8.5.14): + postcss-modules-scope@3.2.1(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 postcss-selector-parser: 7.1.1 - postcss-modules-values@4.0.0(postcss@8.5.14): + postcss-modules-values@4.0.0(postcss@8.5.13): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 - postcss-safe-parser@7.0.1(postcss@8.5.14): + postcss-safe-parser@7.0.1(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 postcss-selector-parser@7.1.1: dependencies: @@ -9478,12 +9253,6 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 - postcss@8.5.14: - dependencies: - nanoid: 3.3.12 - picocolors: 1.1.1 - source-map-js: 1.2.1 - powershell-utils@0.1.0: {} proc-log@6.1.0: {} @@ -9536,11 +9305,7 @@ snapshots: qjobs@1.2.0: {} - qs@6.14.2: - dependencies: - side-channel: 1.1.0 - - qs@6.15.1: + qs@6.15.2: dependencies: side-channel: 1.1.0 @@ -9647,7 +9412,7 @@ snapshots: adjust-sourcemap-loader: 4.0.0 convert-source-map: 1.9.0 loader-utils: 2.0.4 - postcss: 8.5.14 + postcss: 8.5.13 source-map: 0.6.1 resolve@1.22.12: @@ -9705,37 +9470,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.60.2 fsevents: 2.3.3 - rollup@4.60.3: - dependencies: - '@types/estree': 1.0.8 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.60.3 - '@rollup/rollup-android-arm64': 4.60.3 - '@rollup/rollup-darwin-arm64': 4.60.3 - '@rollup/rollup-darwin-x64': 4.60.3 - '@rollup/rollup-freebsd-arm64': 4.60.3 - '@rollup/rollup-freebsd-x64': 4.60.3 - '@rollup/rollup-linux-arm-gnueabihf': 4.60.3 - '@rollup/rollup-linux-arm-musleabihf': 4.60.3 - '@rollup/rollup-linux-arm64-gnu': 4.60.3 - '@rollup/rollup-linux-arm64-musl': 4.60.3 - '@rollup/rollup-linux-loong64-gnu': 4.60.3 - '@rollup/rollup-linux-loong64-musl': 4.60.3 - '@rollup/rollup-linux-ppc64-gnu': 4.60.3 - '@rollup/rollup-linux-ppc64-musl': 4.60.3 - '@rollup/rollup-linux-riscv64-gnu': 4.60.3 - '@rollup/rollup-linux-riscv64-musl': 4.60.3 - '@rollup/rollup-linux-s390x-gnu': 4.60.3 - '@rollup/rollup-linux-x64-gnu': 4.60.3 - '@rollup/rollup-linux-x64-musl': 4.60.3 - '@rollup/rollup-openbsd-x64': 4.60.3 - '@rollup/rollup-openharmony-arm64': 4.60.3 - '@rollup/rollup-win32-arm64-msvc': 4.60.3 - '@rollup/rollup-win32-ia32-msvc': 4.60.3 - '@rollup/rollup-win32-x64-gnu': 4.60.3 - '@rollup/rollup-win32-x64-msvc': 4.60.3 - fsevents: 2.3.3 - router@2.2.0: dependencies: debug: 4.4.3 @@ -10143,7 +9877,7 @@ snapshots: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 - terser: 5.47.1 + terser: 5.46.2 webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) optionalDependencies: esbuild: 0.28.0 @@ -10156,13 +9890,6 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 - terser@5.47.1: - dependencies: - '@jridgewell/source-map': 0.3.11 - acorn: 8.16.0 - commander: 2.20.3 - source-map-support: 0.5.21 - thingies@2.6.0(tslib@2.8.1): dependencies: tslib: 2.8.1 @@ -10195,14 +9922,14 @@ snapshots: dependencies: tslib: 2.8.1 - ts-node@10.9.2(@types/node@20.19.40)(typescript@6.0.3): + ts-node@10.9.2(@types/node@20.19.41)(typescript@6.0.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.12 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.19.40 + '@types/node': 20.19.41 acorn: 8.16.0 acorn-walk: 8.3.5 arg: 4.1.3 @@ -10240,9 +9967,9 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 - type-is@2.0.1: + type-is@2.1.0: dependencies: - content-type: 1.0.5 + content-type: 2.0.0 media-typer: 1.1.0 mime-types: 3.0.2 @@ -10301,16 +10028,16 @@ snapshots: core-util-is: 1.0.2 extsprintf: 1.3.0 - vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2): + vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) picomatch: 4.0.4 - postcss: 8.5.14 - rollup: 4.60.3 + postcss: 8.5.13 + rollup: 4.60.2 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 fsevents: 2.3.3 jiti: 2.7.0 less: 4.6.4 @@ -10391,7 +10118,7 @@ snapshots: colorette: 2.0.20 compression: 1.8.1 connect-history-api-fallback: 2.0.0 - express: 4.22.1 + express: 4.22.2 graceful-fs: 4.2.11 http-proxy-middleware: 2.0.9(@types/express@4.17.25) ipaddr.js: 2.4.0 @@ -10404,7 +10131,7 @@ snapshots: sockjs: 0.3.24 spdy: 4.0.2 webpack-dev-middleware: 7.4.5(tslib@2.8.1)(webpack@5.106.2(postcss@8.5.13)) - ws: 8.20.0 + ws: 8.20.1 optionalDependencies: webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) transitivePeerDependencies: @@ -10519,7 +10246,7 @@ snapshots: ws@8.18.3: {} - ws@8.20.0: {} + ws@8.20.1: {} wsl-utils@0.1.0: dependencies: diff --git a/integration/ng-add-localize/pnpm-lock.yaml b/integration/ng-add-localize/pnpm-lock.yaml index e14034942104..ef55f0aee38a 100644 --- a/integration/ng-add-localize/pnpm-lock.yaml +++ b/integration/ng-add-localize/pnpm-lock.yaml @@ -38,16 +38,16 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.40)(jiti@2.7.0)(typescript@6.0.3) + version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.41)(jiti@2.7.0)(typescript@6.0.3) '@angular/cli': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@types/node@20.19.40) + version: 22.0.0-rc.0(@types/node@20.19.41) '@angular/compiler-cli': specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel '@types/node': specifier: ^20.14.8 - version: 20.19.40 + version: 20.19.41 typescript: specifier: 6.0.3 version: 6.0.3 @@ -1739,277 +1739,139 @@ packages: cpu: [arm] os: [android] - '@rollup/rollup-android-arm-eabi@4.60.3': - resolution: {integrity: sha512-x35CNW/ANXG3hE/EZpRU8MXX1JDN86hBb2wMGAtltkz7pc6cxgjpy1OMMfDosOQ+2hWqIkag/fGok1Yady9nGw==} - cpu: [arm] - os: [android] - '@rollup/rollup-android-arm64@4.60.2': resolution: {integrity: sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==} cpu: [arm64] os: [android] - '@rollup/rollup-android-arm64@4.60.3': - resolution: {integrity: sha512-xw3xtkDApIOGayehp2+Rz4zimfkaX65r4t47iy+ymQB2G4iJCBBfj0ogVg5jpvjpn8UWn/+q9tprxleYeNp3Hw==} - cpu: [arm64] - os: [android] - '@rollup/rollup-darwin-arm64@4.60.2': resolution: {integrity: sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-arm64@4.60.3': - resolution: {integrity: sha512-vo6Y5Qfpx7/5EaamIwi0WqW2+zfiusVihKatLvtN1VFVy3D13uERk/6gZLU1UiHRL6fDXqj/ELIeVRGnvcTE1g==} - cpu: [arm64] - os: [darwin] - '@rollup/rollup-darwin-x64@4.60.2': resolution: {integrity: sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==} cpu: [x64] os: [darwin] - '@rollup/rollup-darwin-x64@4.60.3': - resolution: {integrity: sha512-D+0QGcZhBzTN82weOnsSlY7V7+RMmPuF1CkbxyMAGE8+ZHeUjyb76ZiWmBlCu//AQQONvxcqRbwZTajZKqjuOw==} - cpu: [x64] - os: [darwin] - '@rollup/rollup-freebsd-arm64@4.60.2': resolution: {integrity: sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-arm64@4.60.3': - resolution: {integrity: sha512-6HnvHCT7fDyj6R0Ph7A6x8dQS/S38MClRWeDLqc0MdfWkxjiu1HSDYrdPhqSILzjTIC/pnXbbJbo+ft+gy/9hQ==} - cpu: [arm64] - os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.2': resolution: {integrity: sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==} cpu: [x64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.3': - resolution: {integrity: sha512-KHLgC3WKlUYW3ShFKnnosZDOJ0xjg9zp7au3sIm2bs/tGBeC2ipmvRh/N7JKi0t9Ue20C0dpEshi8WUubg+cnA==} - cpu: [x64] - os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.60.2': resolution: {integrity: sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==} cpu: [arm] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm-gnueabihf@4.60.3': - resolution: {integrity: sha512-DV6fJoxEYWJOvaZIsok7KrYl0tPvga5OZ2yvKHNNYyk/2roMLqQAbGhr78EQ5YhHpnhLKJD3S1WFusAkmUuV5g==} - cpu: [arm] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-arm-musleabihf@4.60.2': resolution: {integrity: sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==} cpu: [arm] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm-musleabihf@4.60.3': - resolution: {integrity: sha512-mQKoJAzvuOs6F+TZybQO4GOTSMUu7v0WdxEk24krQ/uUxXoPTtHjuaUuPmFhtBcM4K0ons8nrE3JyhTuCFtT/w==} - cpu: [arm] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-arm64-gnu@4.60.2': resolution: {integrity: sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==} cpu: [arm64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm64-gnu@4.60.3': - resolution: {integrity: sha512-Whjj2qoiJ6+OOJMGptTYazaJvjOJm+iKHpXQM1P3LzGjt7Ff++Tp7nH4N8J/BUA7R9IHfDyx4DJIflifwnbmIA==} - cpu: [arm64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-arm64-musl@4.60.2': resolution: {integrity: sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==} cpu: [arm64] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm64-musl@4.60.3': - resolution: {integrity: sha512-4YTNHKqGng5+yiZt3mg77nmyuCfmNfX4fPmyUapBcIk+BdwSwmCWGXOUxhXbBEkFHtoN5boLj/5NON+u5QC9tg==} - cpu: [arm64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-loong64-gnu@4.60.2': resolution: {integrity: sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==} cpu: [loong64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-loong64-gnu@4.60.3': - resolution: {integrity: sha512-SU3kNlhkpI4UqlUc2VXPGK9o886ZsSeGfMAX2ba2b8DKmMXq4AL7KUrkSWVbb7koVqx41Yczx6dx5PNargIrEA==} - cpu: [loong64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-loong64-musl@4.60.2': resolution: {integrity: sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==} cpu: [loong64] os: [linux] libc: [musl] - '@rollup/rollup-linux-loong64-musl@4.60.3': - resolution: {integrity: sha512-6lDLl5h4TXpB1mTf2rQWnAk/LcXrx9vBfu/DT5TIPhvMhRWaZ5MxkIc8u4lJAmBo6klTe1ywXIUHFjylW505sg==} - cpu: [loong64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-ppc64-gnu@4.60.2': resolution: {integrity: sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==} cpu: [ppc64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-ppc64-gnu@4.60.3': - resolution: {integrity: sha512-BMo8bOw8evlup/8G+cj5xWtPyp93xPdyoSN16Zy90Q2QZ0ZYRhCt6ZJSwbrRzG9HApFabjwj2p25TUPDWrhzqQ==} - cpu: [ppc64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-ppc64-musl@4.60.2': resolution: {integrity: sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==} cpu: [ppc64] os: [linux] libc: [musl] - '@rollup/rollup-linux-ppc64-musl@4.60.3': - resolution: {integrity: sha512-E0L8X1dZN1/Rph+5VPF6Xj2G7JJvMACVXtamTJIDrVI44Y3K+G8gQaMEAavbqCGTa16InptiVrX6eM6pmJ+7qA==} - cpu: [ppc64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-riscv64-gnu@4.60.2': resolution: {integrity: sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==} cpu: [riscv64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-riscv64-gnu@4.60.3': - resolution: {integrity: sha512-oZJ/WHaVfHUiRAtmTAeo3DcevNsVvH8mbvodjZy7D5QKvCefO371SiKRpxoDcCxB3PTRTLayWBkvmDQKTcX/sw==} - cpu: [riscv64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-riscv64-musl@4.60.2': resolution: {integrity: sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==} cpu: [riscv64] os: [linux] libc: [musl] - '@rollup/rollup-linux-riscv64-musl@4.60.3': - resolution: {integrity: sha512-Dhbyh7j9FybM3YaTgaHmVALwA8AkUwTPccyCQ79TG9AJUsMQqgN1DDEZNr4+QUfwiWvLDumW5vdwzoeUF+TNxQ==} - cpu: [riscv64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-s390x-gnu@4.60.2': resolution: {integrity: sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==} cpu: [s390x] os: [linux] libc: [glibc] - '@rollup/rollup-linux-s390x-gnu@4.60.3': - resolution: {integrity: sha512-cJd1X5XhHHlltkaypz1UcWLA8AcoIi1aWhsvaWDskD1oz2eKCypnqvTQ8ykMNI0RSmm7NkTdSqSSD7zM0xa6Ig==} - cpu: [s390x] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.2': resolution: {integrity: sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==} cpu: [x64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.3': - resolution: {integrity: sha512-DAZDBHQfG2oQuhY7mc6I3/qB4LU2fQCjRvxbDwd/Jdvb9fypP4IJ4qmtu6lNjes6B531AI8cg1aKC2di97bUxA==} - cpu: [x64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-x64-musl@4.60.2': resolution: {integrity: sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==} cpu: [x64] os: [linux] libc: [musl] - '@rollup/rollup-linux-x64-musl@4.60.3': - resolution: {integrity: sha512-cRxsE8c13mZOh3vP+wLDxpQBRrOHDIGOWyDL93Sy0Ga8y515fBcC2pjUfFwUe5T7tqvTvWbCpg1URM/AXdWIXA==} - cpu: [x64] - os: [linux] - libc: [musl] - '@rollup/rollup-openbsd-x64@4.60.2': resolution: {integrity: sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==} cpu: [x64] os: [openbsd] - '@rollup/rollup-openbsd-x64@4.60.3': - resolution: {integrity: sha512-QaWcIgRxqEdQdhJqW4DJctsH6HCmo5vHxY0krHSX4jMtOqfzC+dqDGuHM87bu4H8JBeibWx7jFz+h6/4C8wA5Q==} - cpu: [x64] - os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.60.2': resolution: {integrity: sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-openharmony-arm64@4.60.3': - resolution: {integrity: sha512-AaXwSvUi3QIPtroAUw1t5yHGIyqKEXwH54WUocFolZhpGDruJcs8c+xPNDRn4XiQsS7MEwnYsHW2l0MBLDMkWg==} - cpu: [arm64] - os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.60.2': resolution: {integrity: sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.60.3': - resolution: {integrity: sha512-65LAKM/bAWDqKNEelHlcHvm2V+Vfb8C6INFxQXRHCvaVN1rJfwr4NvdP4FyzUaLqWfaCGaadf6UbTm8xJeYfEg==} - cpu: [arm64] - os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.2': resolution: {integrity: sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.3': - resolution: {integrity: sha512-EEM2gyhBF5MFnI6vMKdX1LAosE627RGBzIoGMdLloPZkXrUN0Ckqgr2Qi8+J3zip/8NVVro3/FjB+tjhZUgUHA==} - cpu: [ia32] - os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.2': resolution: {integrity: sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.3': - resolution: {integrity: sha512-E5Eb5H/DpxaoXH++Qkv28RcUJboMopmdDUALBczvHMf7hNIxaDZqwY5lK12UK1BHacSmvupoEWGu+n993Z0y1A==} - cpu: [x64] - os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.2': resolution: {integrity: sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.3': - resolution: {integrity: sha512-hPt/bgL5cE+Qp+/TPHBqptcAgPzgj46mPcg/16zNUmbQk0j+mOEQV/+Lqu8QRtDV3Ek95Q6FeFITpuhl6OTsAA==} - cpu: [x64] - os: [win32] - '@schematics/angular@22.0.0-rc.0': resolution: {integrity: sha512-V5BQFRlPfx/rJZOtkDUAunJqNfi+75J0gr41W1VId8TntsddF0jn1Fz4XQncTiu3dk8UMeRUdmyJrjYRl1Q5Wg==} engines: {node: ^22.22.0 || ^24.13.1 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} @@ -2088,8 +1950,8 @@ packages: '@types/mime@1.3.5': resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - '@types/node@20.19.40': - resolution: {integrity: sha512-xxx6M2IpSTnnKcR0cMvIiohkiCx20/oRPtWGbenFygKCGl3zqUzdNjQ/1V4solq1LU+dgv0nQzeGOuqkqZGg0Q==} + '@types/node@20.19.41': + resolution: {integrity: sha512-ECymXOukMnOoVkC2bb1Vc/w/836DXncOg5m8Xj1RH7xSHZJWNYY6Zh7EH477vcnD5egKNNfy2RpNOmuChhFPgQ==} '@types/qs@6.15.1': resolution: {integrity: sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==} @@ -2320,8 +2182,8 @@ packages: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} - baseline-browser-mapping@2.10.29: - resolution: {integrity: sha512-Asa2krT+XTPZINCS+2QcyS8WTkObE77RwkydwF7h6DmnKqbvlalz93m/dnphUyCa6SWSP51VgtEUf2FN+gelFQ==} + baseline-browser-mapping@2.10.30: + resolution: {integrity: sha512-xjOFN16Ha1+Rz4nFYKqHU/LSB+gx/Vi3yQLX7r7sAW+Wa+8hhF2h4pvqTrTMc8+WcDBEunnUurr46Jvv0jk3Vg==} engines: {node: '>=6.0.0'} hasBin: true @@ -2397,8 +2259,8 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - caniuse-lite@1.0.30001792: - resolution: {integrity: sha512-hVLMUZFgR4JJ6ACt1uEESvQN1/dBVqPAKY0hgrV70eN3391K6juAfTjKZLKvOMsx8PxA7gsY1/tLMMTcfFLLpw==} + caniuse-lite@1.0.30001793: + resolution: {integrity: sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==} chalk@5.6.2: resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} @@ -2477,6 +2339,10 @@ packages: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} + content-type@2.0.0: + resolution: {integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==} + engines: {node: '>=18'} + convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} @@ -2623,8 +2489,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.353: - resolution: {integrity: sha512-kOrWphBi8TOZyiJZqsgqIle0lw+tzmnQK83pV9dZUd01Nm2POECSyFQMAuarzZdYqQW7FH9RaYOuaRo3h+bQ3w==} + electron-to-chromium@1.5.358: + resolution: {integrity: sha512-EO7tKm3QxRqTs1lSuPXzl6yRAwznehp0AH9OoMOIC+4mQzTFday8FJCO5KU6J/TFSQXEOahNq4vTKpz1jmCVOA==} emoji-regex@10.6.0: resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} @@ -2750,14 +2616,14 @@ packages: exponential-backoff@3.1.3: resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} - express-rate-limit@8.5.1: - resolution: {integrity: sha512-5O6KYmyJEpuPJV5hNTXKbAHWRqrzyu+OI3vUnSd2kXFubIVpG7ezpgxQy76Zo5GQZtrQBg86hF+CM/NX+cioiQ==} + express-rate-limit@8.5.2: + resolution: {integrity: sha512-5Kb34ipNX694DH48vN9irak1Qx30nb0PLYHXfJgw4YEjiC3ZEmZJhwOp+VfiCYwFzvFTdB9QkArYS5kXa2cx2A==} engines: {node: '>= 16'} peerDependencies: express: '>= 4.11' - express@4.22.1: - resolution: {integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==} + express@4.22.2: + resolution: {integrity: sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==} engines: {node: '>= 0.10.0'} express@5.2.1: @@ -2911,8 +2777,8 @@ packages: resolution: {integrity: sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==} engines: {node: '>= 0.4'} - hono@4.12.18: - resolution: {integrity: sha512-RWzP96k/yv0PQfyXnWjs6zot20TqfpfsNXhOnev8d1InAxubW93L11/oNUc3tQqn2G0bSdAOBpX+2uDFHV7kdQ==} + hono@4.12.19: + resolution: {integrity: sha512-xa3eYXYXx68XTT4hZ7dRzsXBhaq85ToSrlUJNoR0gwz/1Ap/CNwX47wfvV7pc/xWhjKVVkLT7zBJy8chhNguqQ==} engines: {node: '>=16.9.0'} hosted-git-info@9.0.3: @@ -3436,8 +3302,8 @@ packages: engines: {node: ^20.17.0 || >=22.9.0} hasBin: true - node-releases@2.0.38: - resolution: {integrity: sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==} + node-releases@2.0.44: + resolution: {integrity: sha512-5WUyunoPMsvvEhS8AxHtRzP+oA8UCkJ7YRxatWKjngndhDGLiqEVAQKWjFAiAiuL8zMRGzGSJxFnLetoa43qGQ==} nopt@9.0.0: resolution: {integrity: sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==} @@ -3671,10 +3537,6 @@ packages: resolution: {integrity: sha512-qif0+jGGZoLWdHey3UFHHWP0H7Gbmsk8T5VEqyYFbWqPr1XqvLGBbk/sl8V5exGmcYJklJOhOQq1pV9IcsiFag==} engines: {node: ^10 || ^12 || >=14} - postcss@8.5.14: - resolution: {integrity: sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==} - engines: {node: ^10 || ^12 || >=14} - powershell-utils@0.1.0: resolution: {integrity: sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==} engines: {node: '>=20'} @@ -3700,12 +3562,8 @@ packages: resolution: {integrity: sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==} engines: {node: '>=16.0.0'} - qs@6.14.2: - resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==} - engines: {node: '>=0.6'} - - qs@6.15.1: - resolution: {integrity: sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==} + qs@6.15.2: + resolution: {integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==} engines: {node: '>=0.6'} range-parser@1.2.1: @@ -3795,11 +3653,6 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - rollup@4.60.3: - resolution: {integrity: sha512-pAQK9HalE84QSm4Po3EmWIZPd3FnjkShVkiMlz1iligWYkWQ7wHYd1PF/T7QZ5TVSD6uSTon5gBVMSM4JfBV+A==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - router@2.2.0: resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} engines: {node: '>= 18'} @@ -4099,11 +3952,6 @@ packages: engines: {node: '>=10'} hasBin: true - terser@5.47.1: - resolution: {integrity: sha512-tPbLXTI6ohPASb/1YViL428oEHu6/qv1OxqYnfaonVCFHqx4+wCd95pHrQWsL5X4pl90CTyW9piSAsS2L0VoMw==} - engines: {node: '>=10'} - hasBin: true - thingies@2.6.0: resolution: {integrity: sha512-rMHRjmlFLM1R96UYPvpmnc3LYtdFrT33JIB7L9hetGue1qAPfn1N2LJeEjxUSidu1Iku+haLZXDuEXUHNGO/lg==} engines: {node: '>=10.18'} @@ -4149,9 +3997,9 @@ packages: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} - type-is@2.0.1: - resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} - engines: {node: '>= 0.6'} + type-is@2.1.0: + resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==} + engines: {node: '>= 18'} typed-assert@1.0.9: resolution: {integrity: sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==} @@ -4355,8 +4203,8 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - ws@8.20.0: - resolution: {integrity: sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==} + ws@8.20.1: + resolution: {integrity: sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -4514,13 +4362,13 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.40)(jiti@2.7.0)(typescript@6.0.3)': + '@angular-devkit/build-angular@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.41)(jiti@2.7.0)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 '@angular-devkit/build-webpack': 0.2200.0-rc.0(webpack-dev-server@5.2.3(tslib@2.8.1)(webpack@5.106.2(postcss@8.5.13)))(webpack@5.106.2(esbuild@0.28.0)(postcss@8.5.13)) '@angular-devkit/core': 22.0.0-rc.0 - '@angular/build': 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) + '@angular/build': 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 7.29.0 '@babel/generator': 7.29.1 @@ -4634,7 +4482,7 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/localize@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 @@ -4643,8 +4491,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@20.19.40) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)) + '@inquirer/confirm': 6.0.12(@types/node@20.19.41) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -4663,7 +4511,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel @@ -4686,13 +4534,13 @@ snapshots: - tsx - yaml - '@angular/cli@22.0.0-rc.0(@types/node@20.19.40)': + '@angular/cli@22.0.0-rc.0(@types/node@20.19.41)': dependencies: '@angular-devkit/architect': 0.2200.0-rc.0 '@angular-devkit/core': 22.0.0-rc.0 '@angular-devkit/schematics': 22.0.0-rc.0 - '@inquirer/prompts': 8.4.2(@types/node@20.19.40) - '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.40))(@types/node@20.19.40)(listr2@10.2.1) + '@inquirer/prompts': 8.4.2(@types/node@20.19.41) + '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.41))(@types/node@20.19.41)(listr2@10.2.1) '@modelcontextprotocol/sdk': 1.29.0(zod@4.4.2) '@schematics/angular': 22.0.0-rc.0 '@yarnpkg/lockfile': 1.1.0 @@ -5554,135 +5402,135 @@ snapshots: '@harperfast/extended-iterable@1.0.3': optional: true - '@hono/node-server@1.19.14(hono@4.12.18)': + '@hono/node-server@1.19.14(hono@4.12.19)': dependencies: - hono: 4.12.18 + hono: 4.12.19 '@inquirer/ansi@2.0.5': {} - '@inquirer/checkbox@5.1.5(@types/node@20.19.40)': + '@inquirer/checkbox@5.1.5(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/confirm@6.0.12(@types/node@20.19.40)': + '@inquirer/confirm@6.0.12(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/confirm@6.0.13(@types/node@20.19.40)': + '@inquirer/confirm@6.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/core@11.1.10(@types/node@20.19.40)': + '@inquirer/core@11.1.10(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) cli-width: 4.1.0 fast-wrap-ansi: 0.2.0 mute-stream: 3.0.0 signal-exit: 4.1.0 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/editor@5.1.2(@types/node@20.19.40)': + '@inquirer/editor@5.1.2(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/external-editor': 3.0.0(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/external-editor': 3.0.0(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/expand@5.0.14(@types/node@20.19.40)': + '@inquirer/expand@5.0.14(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/external-editor@3.0.0(@types/node@20.19.40)': + '@inquirer/external-editor@3.0.0(@types/node@20.19.41)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@inquirer/figures@2.0.5': {} - '@inquirer/input@5.0.13(@types/node@20.19.40)': + '@inquirer/input@5.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/number@4.0.13(@types/node@20.19.40)': + '@inquirer/number@4.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/password@5.0.13(@types/node@20.19.40)': + '@inquirer/password@5.0.13(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 - - '@inquirer/prompts@8.4.2(@types/node@20.19.40)': - dependencies: - '@inquirer/checkbox': 5.1.5(@types/node@20.19.40) - '@inquirer/confirm': 6.0.13(@types/node@20.19.40) - '@inquirer/editor': 5.1.2(@types/node@20.19.40) - '@inquirer/expand': 5.0.14(@types/node@20.19.40) - '@inquirer/input': 5.0.13(@types/node@20.19.40) - '@inquirer/number': 4.0.13(@types/node@20.19.40) - '@inquirer/password': 5.0.13(@types/node@20.19.40) - '@inquirer/rawlist': 5.2.9(@types/node@20.19.40) - '@inquirer/search': 4.1.9(@types/node@20.19.40) - '@inquirer/select': 5.1.5(@types/node@20.19.40) + '@types/node': 20.19.41 + + '@inquirer/prompts@8.4.2(@types/node@20.19.41)': + dependencies: + '@inquirer/checkbox': 5.1.5(@types/node@20.19.41) + '@inquirer/confirm': 6.0.13(@types/node@20.19.41) + '@inquirer/editor': 5.1.2(@types/node@20.19.41) + '@inquirer/expand': 5.0.14(@types/node@20.19.41) + '@inquirer/input': 5.0.13(@types/node@20.19.41) + '@inquirer/number': 4.0.13(@types/node@20.19.41) + '@inquirer/password': 5.0.13(@types/node@20.19.41) + '@inquirer/rawlist': 5.2.9(@types/node@20.19.41) + '@inquirer/search': 4.1.9(@types/node@20.19.41) + '@inquirer/select': 5.1.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/rawlist@5.2.9(@types/node@20.19.40)': + '@inquirer/rawlist@5.2.9(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/search@4.1.9(@types/node@20.19.40)': + '@inquirer/search@4.1.9(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/select@5.1.5(@types/node@20.19.40)': + '@inquirer/select@5.1.5(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/type@4.0.5(@types/node@20.19.40)': + '@inquirer/type@4.0.5(@types/node@20.19.41)': optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@isaacs/fs-minipass@4.0.1': dependencies: @@ -5843,10 +5691,10 @@ snapshots: '@leichtgewicht/ip-codec@2.0.5': {} - '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.40))(@types/node@20.19.40)(listr2@10.2.1)': + '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.41))(@types/node@20.19.41)(listr2@10.2.1)': dependencies: - '@inquirer/prompts': 8.4.2(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/prompts': 8.4.2(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) listr2: 10.2.1 transitivePeerDependencies: - '@types/node' @@ -5874,7 +5722,7 @@ snapshots: '@modelcontextprotocol/sdk@1.29.0(zod@4.4.2)': dependencies: - '@hono/node-server': 1.19.14(hono@4.12.18) + '@hono/node-server': 1.19.14(hono@4.12.19) ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) content-type: 1.0.5 @@ -5883,8 +5731,8 @@ snapshots: eventsource: 3.0.7 eventsource-parser: 3.0.8 express: 5.2.1 - express-rate-limit: 8.5.1(express@5.2.1) - hono: 4.12.18 + express-rate-limit: 8.5.2(express@5.2.1) + hono: 4.12.19 jose: 6.2.3 json-schema-typed: 8.0.2 pkce-challenge: 5.0.1 @@ -6206,153 +6054,78 @@ snapshots: '@rollup/rollup-android-arm-eabi@4.60.2': optional: true - '@rollup/rollup-android-arm-eabi@4.60.3': - optional: true - '@rollup/rollup-android-arm64@4.60.2': optional: true - '@rollup/rollup-android-arm64@4.60.3': - optional: true - '@rollup/rollup-darwin-arm64@4.60.2': optional: true - '@rollup/rollup-darwin-arm64@4.60.3': - optional: true - '@rollup/rollup-darwin-x64@4.60.2': optional: true - '@rollup/rollup-darwin-x64@4.60.3': - optional: true - '@rollup/rollup-freebsd-arm64@4.60.2': optional: true - '@rollup/rollup-freebsd-arm64@4.60.3': - optional: true - '@rollup/rollup-freebsd-x64@4.60.2': optional: true - '@rollup/rollup-freebsd-x64@4.60.3': - optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.3': - optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.2': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.3': - optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-arm64-musl@4.60.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-loong64-musl@4.60.2': optional: true - '@rollup/rollup-linux-loong64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.2': optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-x64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-x64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-x64-musl@4.60.2': optional: true - '@rollup/rollup-linux-x64-musl@4.60.3': - optional: true - '@rollup/rollup-openbsd-x64@4.60.2': optional: true - '@rollup/rollup-openbsd-x64@4.60.3': - optional: true - '@rollup/rollup-openharmony-arm64@4.60.2': optional: true - '@rollup/rollup-openharmony-arm64@4.60.3': - optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.2': optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.3': - optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.3': - optional: true - '@rollup/rollup-win32-x64-gnu@4.60.2': optional: true - '@rollup/rollup-win32-x64-gnu@4.60.3': - optional: true - '@rollup/rollup-win32-x64-msvc@4.60.2': optional: true - '@rollup/rollup-win32-x64-msvc@4.60.3': - optional: true - '@schematics/angular@22.0.0-rc.0': dependencies: '@angular-devkit/core': 22.0.0-rc.0 @@ -6404,20 +6177,20 @@ snapshots: '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/bonjour@3.5.13': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 4.19.8 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/connect@3.4.38': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/eslint-scope@3.7.7': dependencies: @@ -6435,7 +6208,7 @@ snapshots: '@types/express-serve-static-core@4.19.8': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/qs': 6.15.1 '@types/range-parser': 1.2.7 '@types/send': 1.2.1 @@ -6451,13 +6224,13 @@ snapshots: '@types/http-proxy@1.17.17': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/json-schema@7.0.15': {} '@types/mime@1.3.5': {} - '@types/node@20.19.40': + '@types/node@20.19.41': dependencies: undici-types: 6.21.0 @@ -6470,11 +6243,11 @@ snapshots: '@types/send@0.17.6': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/send@1.2.1': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/serve-index@1.9.4': dependencies: @@ -6483,20 +6256,20 @@ snapshots: '@types/serve-static@1.15.10': dependencies: '@types/http-errors': 2.0.5 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/send': 0.17.6 '@types/sockjs@0.3.36': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/ws@8.18.1': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2))': + '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2))': dependencies: - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) '@webassemblyjs/ast@1.14.1': dependencies: @@ -6674,7 +6447,7 @@ snapshots: autoprefixer@10.5.0(postcss@8.5.13): dependencies: browserslist: 4.28.2 - caniuse-lite: 1.0.30001792 + caniuse-lite: 1.0.30001793 fraction.js: 5.3.4 picocolors: 1.1.1 postcss: 8.5.13 @@ -6721,7 +6494,7 @@ snapshots: balanced-match@4.0.4: {} - baseline-browser-mapping@2.10.29: {} + baseline-browser-mapping@2.10.30: {} batch@0.6.1: {} @@ -6733,9 +6506,9 @@ snapshots: domhandler: 5.0.3 htmlparser2: 10.1.0 picocolors: 1.1.1 - postcss: 8.5.14 + postcss: 8.5.13 postcss-media-query-parser: 0.2.3 - postcss-safe-parser: 7.0.1(postcss@8.5.14) + postcss-safe-parser: 7.0.1(postcss@8.5.13) big.js@5.2.2: {} @@ -6751,7 +6524,7 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.4.24 on-finished: 2.4.1 - qs: 6.15.1 + qs: 6.15.2 raw-body: 2.5.3 type-is: 1.6.18 unpipe: 1.0.0 @@ -6766,9 +6539,9 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.7.2 on-finished: 2.4.1 - qs: 6.15.1 + qs: 6.15.2 raw-body: 3.0.2 - type-is: 2.0.1 + type-is: 2.1.0 transitivePeerDependencies: - supports-color @@ -6789,10 +6562,10 @@ snapshots: browserslist@4.28.2: dependencies: - baseline-browser-mapping: 2.10.29 - caniuse-lite: 1.0.30001792 - electron-to-chromium: 1.5.353 - node-releases: 2.0.38 + baseline-browser-mapping: 2.10.30 + caniuse-lite: 1.0.30001793 + electron-to-chromium: 1.5.358 + node-releases: 2.0.44 update-browserslist-db: 1.2.3(browserslist@4.28.2) buffer-from@1.1.2: {} @@ -6830,7 +6603,7 @@ snapshots: callsites@3.1.0: {} - caniuse-lite@1.0.30001792: {} + caniuse-lite@1.0.30001793: {} chalk@5.6.2: {} @@ -6911,6 +6684,8 @@ snapshots: content-type@1.0.5: {} + content-type@2.0.0: {} + convert-source-map@1.9.0: {} convert-source-map@2.0.0: {} @@ -6962,12 +6737,12 @@ snapshots: css-loader@7.1.4(webpack@5.106.2(esbuild@0.28.0)(postcss@8.5.13)): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.14) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.14) - postcss-modules-scope: 3.2.1(postcss@8.5.14) - postcss-modules-values: 4.0.0(postcss@8.5.14) + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.13) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.13) + postcss-modules-scope: 3.2.1(postcss@8.5.13) + postcss-modules-values: 4.0.0(postcss@8.5.13) postcss-value-parser: 4.2.0 semver: 7.7.4 optionalDependencies: @@ -7043,7 +6818,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.353: {} + electron-to-chromium@1.5.358: {} emoji-regex@10.6.0: {} @@ -7180,12 +6955,12 @@ snapshots: exponential-backoff@3.1.3: {} - express-rate-limit@8.5.1(express@5.2.1): + express-rate-limit@8.5.2(express@5.2.1): dependencies: express: 5.2.1 ip-address: 10.2.0 - express@4.22.1: + express@4.22.2: dependencies: accepts: 1.3.8 array-flatten: 1.1.1 @@ -7208,7 +6983,7 @@ snapshots: parseurl: 1.3.3 path-to-regexp: 0.1.13 proxy-addr: 2.0.7 - qs: 6.14.2 + qs: 6.15.2 range-parser: 1.2.1 safe-buffer: 5.2.1 send: 0.19.2 @@ -7243,13 +7018,13 @@ snapshots: once: 1.4.0 parseurl: 1.3.3 proxy-addr: 2.0.7 - qs: 6.15.1 + qs: 6.15.2 range-parser: 1.2.1 router: 2.2.0 send: 1.2.1 serve-static: 2.2.1 statuses: 2.0.2 - type-is: 2.0.1 + type-is: 2.1.0 vary: 1.1.2 transitivePeerDependencies: - supports-color @@ -7389,7 +7164,7 @@ snapshots: dependencies: function-bind: 1.1.2 - hono@4.12.18: {} + hono@4.12.19: {} hosted-git-info@9.0.3: dependencies: @@ -7497,9 +7272,9 @@ snapshots: dependencies: safer-buffer: 2.1.2 - icss-utils@5.1.0(postcss@8.5.14): + icss-utils@5.1.0(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 ignore-walk@8.0.0: dependencies: @@ -7599,7 +7374,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -7923,7 +7698,7 @@ snapshots: undici: 6.25.0 which: 6.0.1 - node-releases@2.0.38: {} + node-releases@2.0.44: {} nopt@9.0.0: dependencies: @@ -8146,30 +7921,30 @@ snapshots: postcss-media-query-parser@0.2.3: {} - postcss-modules-extract-imports@3.1.0(postcss@8.5.14): + postcss-modules-extract-imports@3.1.0(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 - postcss-modules-local-by-default@4.2.0(postcss@8.5.14): + postcss-modules-local-by-default@4.2.0(postcss@8.5.13): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 postcss-selector-parser: 7.1.1 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.2.1(postcss@8.5.14): + postcss-modules-scope@3.2.1(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 postcss-selector-parser: 7.1.1 - postcss-modules-values@4.0.0(postcss@8.5.14): + postcss-modules-values@4.0.0(postcss@8.5.13): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 - postcss-safe-parser@7.0.1(postcss@8.5.14): + postcss-safe-parser@7.0.1(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 postcss-selector-parser@7.1.1: dependencies: @@ -8184,12 +7959,6 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 - postcss@8.5.14: - dependencies: - nanoid: 3.3.12 - picocolors: 1.1.1 - source-map-js: 1.2.1 - powershell-utils@0.1.0: {} proc-log@6.1.0: {} @@ -8210,11 +7979,7 @@ snapshots: pvutils@1.1.5: {} - qs@6.14.2: - dependencies: - side-channel: 1.1.0 - - qs@6.15.1: + qs@6.15.2: dependencies: side-channel: 1.1.0 @@ -8292,7 +8057,7 @@ snapshots: adjust-sourcemap-loader: 4.0.0 convert-source-map: 1.9.0 loader-utils: 2.0.4 - postcss: 8.5.14 + postcss: 8.5.13 source-map: 0.6.1 resolve@1.22.12: @@ -8342,37 +8107,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.60.2 fsevents: 2.3.3 - rollup@4.60.3: - dependencies: - '@types/estree': 1.0.8 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.60.3 - '@rollup/rollup-android-arm64': 4.60.3 - '@rollup/rollup-darwin-arm64': 4.60.3 - '@rollup/rollup-darwin-x64': 4.60.3 - '@rollup/rollup-freebsd-arm64': 4.60.3 - '@rollup/rollup-freebsd-x64': 4.60.3 - '@rollup/rollup-linux-arm-gnueabihf': 4.60.3 - '@rollup/rollup-linux-arm-musleabihf': 4.60.3 - '@rollup/rollup-linux-arm64-gnu': 4.60.3 - '@rollup/rollup-linux-arm64-musl': 4.60.3 - '@rollup/rollup-linux-loong64-gnu': 4.60.3 - '@rollup/rollup-linux-loong64-musl': 4.60.3 - '@rollup/rollup-linux-ppc64-gnu': 4.60.3 - '@rollup/rollup-linux-ppc64-musl': 4.60.3 - '@rollup/rollup-linux-riscv64-gnu': 4.60.3 - '@rollup/rollup-linux-riscv64-musl': 4.60.3 - '@rollup/rollup-linux-s390x-gnu': 4.60.3 - '@rollup/rollup-linux-x64-gnu': 4.60.3 - '@rollup/rollup-linux-x64-musl': 4.60.3 - '@rollup/rollup-openbsd-x64': 4.60.3 - '@rollup/rollup-openharmony-arm64': 4.60.3 - '@rollup/rollup-win32-arm64-msvc': 4.60.3 - '@rollup/rollup-win32-ia32-msvc': 4.60.3 - '@rollup/rollup-win32-x64-gnu': 4.60.3 - '@rollup/rollup-win32-x64-msvc': 4.60.3 - fsevents: 2.3.3 - router@2.2.0: dependencies: debug: 4.4.3 @@ -8687,7 +8421,7 @@ snapshots: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 - terser: 5.47.1 + terser: 5.46.2 webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) optionalDependencies: esbuild: 0.28.0 @@ -8700,13 +8434,6 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 - terser@5.47.1: - dependencies: - '@jridgewell/source-map': 0.3.11 - acorn: 8.16.0 - commander: 2.20.3 - source-map-support: 0.5.21 - thingies@2.6.0(tslib@2.8.1): dependencies: tslib: 2.8.1 @@ -8749,9 +8476,9 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 - type-is@2.0.1: + type-is@2.1.0: dependencies: - content-type: 1.0.5 + content-type: 2.0.0 media-typer: 1.1.0 mime-types: 3.0.2 @@ -8792,16 +8519,16 @@ snapshots: vary@1.1.2: {} - vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2): + vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) picomatch: 4.0.4 - postcss: 8.5.14 - rollup: 4.60.3 + postcss: 8.5.13 + rollup: 4.60.2 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 fsevents: 2.3.3 jiti: 2.7.0 less: 4.6.4 @@ -8861,7 +8588,7 @@ snapshots: colorette: 2.0.20 compression: 1.8.1 connect-history-api-fallback: 2.0.0 - express: 4.22.1 + express: 4.22.2 graceful-fs: 4.2.11 http-proxy-middleware: 2.0.9(@types/express@4.17.25) ipaddr.js: 2.4.0 @@ -8874,7 +8601,7 @@ snapshots: sockjs: 0.3.24 spdy: 4.0.2 webpack-dev-middleware: 7.4.5(tslib@2.8.1)(webpack@5.106.2(postcss@8.5.13)) - ws: 8.20.0 + ws: 8.20.1 optionalDependencies: webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) transitivePeerDependencies: @@ -8969,7 +8696,7 @@ snapshots: wrappy@1.0.2: {} - ws@8.20.0: {} + ws@8.20.1: {} wsl-utils@0.1.0: dependencies: diff --git a/integration/ng_elements/pnpm-lock.yaml b/integration/ng_elements/pnpm-lock.yaml index ee9e87dffc32..d2557bcf103d 100644 --- a/integration/ng_elements/pnpm-lock.yaml +++ b/integration/ng_elements/pnpm-lock.yaml @@ -339,8 +339,8 @@ packages: '@types/jasminewd2@2.0.13': resolution: {integrity: sha512-aJ3wj8tXMpBrzQ5ghIaqMisD8C3FIrcO6sDKHqFbuqAsI7yOxj0fA7MrRCPLZHIVUjERIwsMmGn/vB0UQ9u0Hg==} - '@types/node@25.6.2': - resolution: {integrity: sha512-sokuT28dxf9JT5Kady1fsXOvI4HVpjZa95NKT5y9PNTIrs2AsobR4GFAA90ZG8M+nxVRLysCXsVj6eGC7Vbrlw==} + '@types/node@25.8.0': + resolution: {integrity: sha512-TCFSk8IZh+iLX1xtksoBVtdmgL+1IX0fC9BeU4QqFSuNdN/K+HUlhqOzEmSYYpZUVsLYcPqc9KX+60iDuninSQ==} '@types/q@0.0.32': resolution: {integrity: sha512-qYi3YV9inU/REEfxwVcGZzbS3KG/Xs90lv0Pr+lDtuVjBPGd1A+eciXzVSaRvLify132BfcvhvEjeVahrUl0Ug==} @@ -434,8 +434,8 @@ packages: resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==} engines: {node: ^4.5.0 || >= 5.9} - baseline-browser-mapping@2.10.29: - resolution: {integrity: sha512-Asa2krT+XTPZINCS+2QcyS8WTkObE77RwkydwF7h6DmnKqbvlalz93m/dnphUyCa6SWSP51VgtEUf2FN+gelFQ==} + baseline-browser-mapping@2.10.30: + resolution: {integrity: sha512-xjOFN16Ha1+Rz4nFYKqHU/LSB+gx/Vi3yQLX7r7sAW+Wa+8hhF2h4pvqTrTMc8+WcDBEunnUurr46Jvv0jk3Vg==} engines: {node: '>=6.0.0'} hasBin: true @@ -492,8 +492,8 @@ packages: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} - caniuse-lite@1.0.30001792: - resolution: {integrity: sha512-hVLMUZFgR4JJ6ACt1uEESvQN1/dBVqPAKY0hgrV70eN3391K6juAfTjKZLKvOMsx8PxA7gsY1/tLMMTcfFLLpw==} + caniuse-lite@1.0.30001793: + resolution: {integrity: sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==} caseless@0.12.0: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} @@ -654,8 +654,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.353: - resolution: {integrity: sha512-kOrWphBi8TOZyiJZqsgqIle0lw+tzmnQK83pV9dZUd01Nm2POECSyFQMAuarzZdYqQW7FH9RaYOuaRo3h+bQ3w==} + electron-to-chromium@1.5.358: + resolution: {integrity: sha512-EO7tKm3QxRqTs1lSuPXzl6yRAwznehp0AH9OoMOIC+4mQzTFday8FJCO5KU6J/TFSQXEOahNq4vTKpz1jmCVOA==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -1030,8 +1030,8 @@ packages: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} - node-releases@2.0.38: - resolution: {integrity: sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==} + node-releases@2.0.44: + resolution: {integrity: sha512-5WUyunoPMsvvEhS8AxHtRzP+oA8UCkJ7YRxatWKjngndhDGLiqEVAQKWjFAiAiuL8zMRGzGSJxFnLetoa43qGQ==} normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} @@ -1380,8 +1380,8 @@ packages: resolution: {integrity: sha512-LbBDqdIC5s8iROCUjMbW1f5dJQTEFB1+KO9ogbvlb3nm9n4YHa5p4KTvFPWvh2Hs8gZMBuiB1/8+pdfe/tDPug==} hasBin: true - undici-types@7.19.2: - resolution: {integrity: sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==} + undici-types@7.24.6: + resolution: {integrity: sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==} universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} @@ -1732,7 +1732,7 @@ snapshots: '@types/cors@2.8.19': dependencies: - '@types/node': 25.6.2 + '@types/node': 25.8.0 '@types/estree@1.0.8': {} @@ -1744,9 +1744,9 @@ snapshots: dependencies: '@types/jasmine': 6.0.0 - '@types/node@25.6.2': + '@types/node@25.8.0': dependencies: - undici-types: 7.19.2 + undici-types: 7.24.6 '@types/q@0.0.32': {} @@ -1756,7 +1756,7 @@ snapshots: '@types/ws@8.18.1': dependencies: - '@types/node': 25.6.2 + '@types/node': 25.8.0 accepts@1.3.8: dependencies: @@ -1827,7 +1827,7 @@ snapshots: base64id@2.0.0: {} - baseline-browser-mapping@2.10.29: {} + baseline-browser-mapping@2.10.30: {} batch@0.6.1: {} @@ -1909,10 +1909,10 @@ snapshots: browserslist@4.28.2: dependencies: - baseline-browser-mapping: 2.10.29 - caniuse-lite: 1.0.30001792 - electron-to-chromium: 1.5.353 - node-releases: 2.0.38 + baseline-browser-mapping: 2.10.30 + caniuse-lite: 1.0.30001793 + electron-to-chromium: 1.5.358 + node-releases: 2.0.44 update-browserslist-db: 1.2.3(browserslist@4.28.2) browserstack@1.6.1: @@ -1927,7 +1927,7 @@ snapshots: camelcase@5.3.1: {} - caniuse-lite@1.0.30001792: {} + caniuse-lite@1.0.30001793: {} caseless@0.12.0: {} @@ -2084,7 +2084,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.353: {} + electron-to-chromium@1.5.358: {} emoji-regex@8.0.0: {} @@ -2107,7 +2107,7 @@ snapshots: engine.io@6.6.7: dependencies: '@types/cors': 2.8.19 - '@types/node': 25.6.2 + '@types/node': 25.8.0 '@types/ws': 8.18.1 accepts: 1.3.8 base64id: 2.0.0 @@ -2458,7 +2458,7 @@ snapshots: negotiator@0.6.3: {} - node-releases@2.0.38: {} + node-releases@2.0.44: {} normalize-path@3.0.0: {} @@ -2869,7 +2869,7 @@ snapshots: ua-parser-js@1.0.41: {} - undici-types@7.19.2: {} + undici-types@7.24.6: {} universalify@0.1.2: {} diff --git a/integration/platform-server-hydration/pnpm-lock.yaml b/integration/platform-server-hydration/pnpm-lock.yaml index f129749da169..8ab59a1a86b9 100644 --- a/integration/platform-server-hydration/pnpm-lock.yaml +++ b/integration/platform-server-hydration/pnpm-lock.yaml @@ -44,13 +44,13 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(jiti@2.7.0)(typescript@6.0.3) + version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(jiti@2.7.0)(typescript@6.0.3) '@angular/build': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.47.1)(tslib@2.8.1)(typescript@6.0.3) + version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/cli': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@types/node@20.19.40) + version: 22.0.0-rc.0(@types/node@20.19.41) '@angular/compiler-cli': specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel @@ -59,7 +59,7 @@ importers: version: 6.0.0 '@types/node': specifier: ^20.14.8 - version: 20.19.40 + version: 20.19.41 '@types/selenium-webdriver': specifier: 3.0.7 version: 3.0.7 @@ -80,7 +80,7 @@ importers: version: 3.5.0 ts-node: specifier: ^10.9.1 - version: 10.9.2(@types/node@20.19.40)(typescript@6.0.3) + version: 10.9.2(@types/node@20.19.41)(typescript@6.0.3) typescript: specifier: 6.0.3 version: 6.0.3 @@ -1790,277 +1790,139 @@ packages: cpu: [arm] os: [android] - '@rollup/rollup-android-arm-eabi@4.60.3': - resolution: {integrity: sha512-x35CNW/ANXG3hE/EZpRU8MXX1JDN86hBb2wMGAtltkz7pc6cxgjpy1OMMfDosOQ+2hWqIkag/fGok1Yady9nGw==} - cpu: [arm] - os: [android] - '@rollup/rollup-android-arm64@4.60.2': resolution: {integrity: sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==} cpu: [arm64] os: [android] - '@rollup/rollup-android-arm64@4.60.3': - resolution: {integrity: sha512-xw3xtkDApIOGayehp2+Rz4zimfkaX65r4t47iy+ymQB2G4iJCBBfj0ogVg5jpvjpn8UWn/+q9tprxleYeNp3Hw==} - cpu: [arm64] - os: [android] - '@rollup/rollup-darwin-arm64@4.60.2': resolution: {integrity: sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-arm64@4.60.3': - resolution: {integrity: sha512-vo6Y5Qfpx7/5EaamIwi0WqW2+zfiusVihKatLvtN1VFVy3D13uERk/6gZLU1UiHRL6fDXqj/ELIeVRGnvcTE1g==} - cpu: [arm64] - os: [darwin] - '@rollup/rollup-darwin-x64@4.60.2': resolution: {integrity: sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==} cpu: [x64] os: [darwin] - '@rollup/rollup-darwin-x64@4.60.3': - resolution: {integrity: sha512-D+0QGcZhBzTN82weOnsSlY7V7+RMmPuF1CkbxyMAGE8+ZHeUjyb76ZiWmBlCu//AQQONvxcqRbwZTajZKqjuOw==} - cpu: [x64] - os: [darwin] - '@rollup/rollup-freebsd-arm64@4.60.2': resolution: {integrity: sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-arm64@4.60.3': - resolution: {integrity: sha512-6HnvHCT7fDyj6R0Ph7A6x8dQS/S38MClRWeDLqc0MdfWkxjiu1HSDYrdPhqSILzjTIC/pnXbbJbo+ft+gy/9hQ==} - cpu: [arm64] - os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.2': resolution: {integrity: sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==} cpu: [x64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.3': - resolution: {integrity: sha512-KHLgC3WKlUYW3ShFKnnosZDOJ0xjg9zp7au3sIm2bs/tGBeC2ipmvRh/N7JKi0t9Ue20C0dpEshi8WUubg+cnA==} - cpu: [x64] - os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.60.2': resolution: {integrity: sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==} cpu: [arm] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm-gnueabihf@4.60.3': - resolution: {integrity: sha512-DV6fJoxEYWJOvaZIsok7KrYl0tPvga5OZ2yvKHNNYyk/2roMLqQAbGhr78EQ5YhHpnhLKJD3S1WFusAkmUuV5g==} - cpu: [arm] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-arm-musleabihf@4.60.2': resolution: {integrity: sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==} cpu: [arm] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm-musleabihf@4.60.3': - resolution: {integrity: sha512-mQKoJAzvuOs6F+TZybQO4GOTSMUu7v0WdxEk24krQ/uUxXoPTtHjuaUuPmFhtBcM4K0ons8nrE3JyhTuCFtT/w==} - cpu: [arm] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-arm64-gnu@4.60.2': resolution: {integrity: sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==} cpu: [arm64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm64-gnu@4.60.3': - resolution: {integrity: sha512-Whjj2qoiJ6+OOJMGptTYazaJvjOJm+iKHpXQM1P3LzGjt7Ff++Tp7nH4N8J/BUA7R9IHfDyx4DJIflifwnbmIA==} - cpu: [arm64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-arm64-musl@4.60.2': resolution: {integrity: sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==} cpu: [arm64] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm64-musl@4.60.3': - resolution: {integrity: sha512-4YTNHKqGng5+yiZt3mg77nmyuCfmNfX4fPmyUapBcIk+BdwSwmCWGXOUxhXbBEkFHtoN5boLj/5NON+u5QC9tg==} - cpu: [arm64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-loong64-gnu@4.60.2': resolution: {integrity: sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==} cpu: [loong64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-loong64-gnu@4.60.3': - resolution: {integrity: sha512-SU3kNlhkpI4UqlUc2VXPGK9o886ZsSeGfMAX2ba2b8DKmMXq4AL7KUrkSWVbb7koVqx41Yczx6dx5PNargIrEA==} - cpu: [loong64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-loong64-musl@4.60.2': resolution: {integrity: sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==} cpu: [loong64] os: [linux] libc: [musl] - '@rollup/rollup-linux-loong64-musl@4.60.3': - resolution: {integrity: sha512-6lDLl5h4TXpB1mTf2rQWnAk/LcXrx9vBfu/DT5TIPhvMhRWaZ5MxkIc8u4lJAmBo6klTe1ywXIUHFjylW505sg==} - cpu: [loong64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-ppc64-gnu@4.60.2': resolution: {integrity: sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==} cpu: [ppc64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-ppc64-gnu@4.60.3': - resolution: {integrity: sha512-BMo8bOw8evlup/8G+cj5xWtPyp93xPdyoSN16Zy90Q2QZ0ZYRhCt6ZJSwbrRzG9HApFabjwj2p25TUPDWrhzqQ==} - cpu: [ppc64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-ppc64-musl@4.60.2': resolution: {integrity: sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==} cpu: [ppc64] os: [linux] libc: [musl] - '@rollup/rollup-linux-ppc64-musl@4.60.3': - resolution: {integrity: sha512-E0L8X1dZN1/Rph+5VPF6Xj2G7JJvMACVXtamTJIDrVI44Y3K+G8gQaMEAavbqCGTa16InptiVrX6eM6pmJ+7qA==} - cpu: [ppc64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-riscv64-gnu@4.60.2': resolution: {integrity: sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==} cpu: [riscv64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-riscv64-gnu@4.60.3': - resolution: {integrity: sha512-oZJ/WHaVfHUiRAtmTAeo3DcevNsVvH8mbvodjZy7D5QKvCefO371SiKRpxoDcCxB3PTRTLayWBkvmDQKTcX/sw==} - cpu: [riscv64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-riscv64-musl@4.60.2': resolution: {integrity: sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==} cpu: [riscv64] os: [linux] libc: [musl] - '@rollup/rollup-linux-riscv64-musl@4.60.3': - resolution: {integrity: sha512-Dhbyh7j9FybM3YaTgaHmVALwA8AkUwTPccyCQ79TG9AJUsMQqgN1DDEZNr4+QUfwiWvLDumW5vdwzoeUF+TNxQ==} - cpu: [riscv64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-s390x-gnu@4.60.2': resolution: {integrity: sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==} cpu: [s390x] os: [linux] libc: [glibc] - '@rollup/rollup-linux-s390x-gnu@4.60.3': - resolution: {integrity: sha512-cJd1X5XhHHlltkaypz1UcWLA8AcoIi1aWhsvaWDskD1oz2eKCypnqvTQ8ykMNI0RSmm7NkTdSqSSD7zM0xa6Ig==} - cpu: [s390x] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.2': resolution: {integrity: sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==} cpu: [x64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.3': - resolution: {integrity: sha512-DAZDBHQfG2oQuhY7mc6I3/qB4LU2fQCjRvxbDwd/Jdvb9fypP4IJ4qmtu6lNjes6B531AI8cg1aKC2di97bUxA==} - cpu: [x64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-x64-musl@4.60.2': resolution: {integrity: sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==} cpu: [x64] os: [linux] libc: [musl] - '@rollup/rollup-linux-x64-musl@4.60.3': - resolution: {integrity: sha512-cRxsE8c13mZOh3vP+wLDxpQBRrOHDIGOWyDL93Sy0Ga8y515fBcC2pjUfFwUe5T7tqvTvWbCpg1URM/AXdWIXA==} - cpu: [x64] - os: [linux] - libc: [musl] - '@rollup/rollup-openbsd-x64@4.60.2': resolution: {integrity: sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==} cpu: [x64] os: [openbsd] - '@rollup/rollup-openbsd-x64@4.60.3': - resolution: {integrity: sha512-QaWcIgRxqEdQdhJqW4DJctsH6HCmo5vHxY0krHSX4jMtOqfzC+dqDGuHM87bu4H8JBeibWx7jFz+h6/4C8wA5Q==} - cpu: [x64] - os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.60.2': resolution: {integrity: sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-openharmony-arm64@4.60.3': - resolution: {integrity: sha512-AaXwSvUi3QIPtroAUw1t5yHGIyqKEXwH54WUocFolZhpGDruJcs8c+xPNDRn4XiQsS7MEwnYsHW2l0MBLDMkWg==} - cpu: [arm64] - os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.60.2': resolution: {integrity: sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.60.3': - resolution: {integrity: sha512-65LAKM/bAWDqKNEelHlcHvm2V+Vfb8C6INFxQXRHCvaVN1rJfwr4NvdP4FyzUaLqWfaCGaadf6UbTm8xJeYfEg==} - cpu: [arm64] - os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.2': resolution: {integrity: sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.3': - resolution: {integrity: sha512-EEM2gyhBF5MFnI6vMKdX1LAosE627RGBzIoGMdLloPZkXrUN0Ckqgr2Qi8+J3zip/8NVVro3/FjB+tjhZUgUHA==} - cpu: [ia32] - os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.2': resolution: {integrity: sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.3': - resolution: {integrity: sha512-E5Eb5H/DpxaoXH++Qkv28RcUJboMopmdDUALBczvHMf7hNIxaDZqwY5lK12UK1BHacSmvupoEWGu+n993Z0y1A==} - cpu: [x64] - os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.2': resolution: {integrity: sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.3': - resolution: {integrity: sha512-hPt/bgL5cE+Qp+/TPHBqptcAgPzgj46mPcg/16zNUmbQk0j+mOEQV/+Lqu8QRtDV3Ek95Q6FeFITpuhl6OTsAA==} - cpu: [x64] - os: [win32] - '@schematics/angular@22.0.0-rc.0': resolution: {integrity: sha512-V5BQFRlPfx/rJZOtkDUAunJqNfi+75J0gr41W1VId8TntsddF0jn1Fz4XQncTiu3dk8UMeRUdmyJrjYRl1Q5Wg==} engines: {node: ^22.22.0 || ^24.13.1 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} @@ -2154,8 +2016,8 @@ packages: '@types/mime@1.3.5': resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - '@types/node@20.19.40': - resolution: {integrity: sha512-xxx6M2IpSTnnKcR0cMvIiohkiCx20/oRPtWGbenFygKCGl3zqUzdNjQ/1V4solq1LU+dgv0nQzeGOuqkqZGg0Q==} + '@types/node@20.19.41': + resolution: {integrity: sha512-ECymXOukMnOoVkC2bb1Vc/w/836DXncOg5m8Xj1RH7xSHZJWNYY6Zh7EH477vcnD5egKNNfy2RpNOmuChhFPgQ==} '@types/q@0.0.32': resolution: {integrity: sha512-qYi3YV9inU/REEfxwVcGZzbS3KG/Xs90lv0Pr+lDtuVjBPGd1A+eciXzVSaRvLify132BfcvhvEjeVahrUl0Ug==} @@ -2457,8 +2319,8 @@ packages: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} - baseline-browser-mapping@2.10.29: - resolution: {integrity: sha512-Asa2krT+XTPZINCS+2QcyS8WTkObE77RwkydwF7h6DmnKqbvlalz93m/dnphUyCa6SWSP51VgtEUf2FN+gelFQ==} + baseline-browser-mapping@2.10.30: + resolution: {integrity: sha512-xjOFN16Ha1+Rz4nFYKqHU/LSB+gx/Vi3yQLX7r7sAW+Wa+8hhF2h4pvqTrTMc8+WcDBEunnUurr46Jvv0jk3Vg==} engines: {node: '>=6.0.0'} hasBin: true @@ -2552,8 +2414,8 @@ packages: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} - caniuse-lite@1.0.30001792: - resolution: {integrity: sha512-hVLMUZFgR4JJ6ACt1uEESvQN1/dBVqPAKY0hgrV70eN3391K6juAfTjKZLKvOMsx8PxA7gsY1/tLMMTcfFLLpw==} + caniuse-lite@1.0.30001793: + resolution: {integrity: sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==} caseless@0.12.0: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} @@ -2673,6 +2535,10 @@ packages: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} + content-type@2.0.0: + resolution: {integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==} + engines: {node: '>=18'} + convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} @@ -2856,8 +2722,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.353: - resolution: {integrity: sha512-kOrWphBi8TOZyiJZqsgqIle0lw+tzmnQK83pV9dZUd01Nm2POECSyFQMAuarzZdYqQW7FH9RaYOuaRo3h+bQ3w==} + electron-to-chromium@1.5.358: + resolution: {integrity: sha512-EO7tKm3QxRqTs1lSuPXzl6yRAwznehp0AH9OoMOIC+4mQzTFday8FJCO5KU6J/TFSQXEOahNq4vTKpz1jmCVOA==} emoji-regex@10.6.0: resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} @@ -3000,14 +2866,14 @@ packages: exponential-backoff@3.1.3: resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} - express-rate-limit@8.5.1: - resolution: {integrity: sha512-5O6KYmyJEpuPJV5hNTXKbAHWRqrzyu+OI3vUnSd2kXFubIVpG7ezpgxQy76Zo5GQZtrQBg86hF+CM/NX+cioiQ==} + express-rate-limit@8.5.2: + resolution: {integrity: sha512-5Kb34ipNX694DH48vN9irak1Qx30nb0PLYHXfJgw4YEjiC3ZEmZJhwOp+VfiCYwFzvFTdB9QkArYS5kXa2cx2A==} engines: {node: '>= 16'} peerDependencies: express: '>= 4.11' - express@4.22.1: - resolution: {integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==} + express@4.22.2: + resolution: {integrity: sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==} engines: {node: '>= 0.10.0'} express@5.2.1: @@ -3209,8 +3075,8 @@ packages: resolution: {integrity: sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==} engines: {node: '>= 0.4'} - hono@4.12.18: - resolution: {integrity: sha512-RWzP96k/yv0PQfyXnWjs6zot20TqfpfsNXhOnev8d1InAxubW93L11/oNUc3tQqn2G0bSdAOBpX+2uDFHV7kdQ==} + hono@4.12.19: + resolution: {integrity: sha512-xa3eYXYXx68XTT4hZ7dRzsXBhaq85ToSrlUJNoR0gwz/1Ap/CNwX47wfvV7pc/xWhjKVVkLT7zBJy8chhNguqQ==} engines: {node: '>=16.9.0'} hosted-git-info@9.0.3: @@ -3826,8 +3692,8 @@ packages: engines: {node: ^20.17.0 || >=22.9.0} hasBin: true - node-releases@2.0.38: - resolution: {integrity: sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==} + node-releases@2.0.44: + resolution: {integrity: sha512-5WUyunoPMsvvEhS8AxHtRzP+oA8UCkJ7YRxatWKjngndhDGLiqEVAQKWjFAiAiuL8zMRGzGSJxFnLetoa43qGQ==} nopt@9.0.0: resolution: {integrity: sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==} @@ -4155,12 +4021,8 @@ packages: (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) - qs@6.14.2: - resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==} - engines: {node: '>=0.6'} - - qs@6.15.1: - resolution: {integrity: sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==} + qs@6.15.2: + resolution: {integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==} engines: {node: '>=0.6'} qs@6.5.5: @@ -4271,11 +4133,6 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - rollup@4.60.3: - resolution: {integrity: sha512-pAQK9HalE84QSm4Po3EmWIZPd3FnjkShVkiMlz1iligWYkWQ7wHYd1PF/T7QZ5TVSD6uSTon5gBVMSM4JfBV+A==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - router@2.2.0: resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} engines: {node: '>= 18'} @@ -4624,11 +4481,6 @@ packages: engines: {node: '>=10'} hasBin: true - terser@5.47.1: - resolution: {integrity: sha512-tPbLXTI6ohPASb/1YViL428oEHu6/qv1OxqYnfaonVCFHqx4+wCd95pHrQWsL5X4pl90CTyW9piSAsS2L0VoMw==} - engines: {node: '>=10'} - hasBin: true - thingies@2.6.0: resolution: {integrity: sha512-rMHRjmlFLM1R96UYPvpmnc3LYtdFrT33JIB7L9hetGue1qAPfn1N2LJeEjxUSidu1Iku+haLZXDuEXUHNGO/lg==} engines: {node: '>=10.18'} @@ -4706,9 +4558,9 @@ packages: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} - type-is@2.0.1: - resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} - engines: {node: '>= 0.6'} + type-is@2.1.0: + resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==} + engines: {node: '>= 18'} typed-assert@1.0.9: resolution: {integrity: sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==} @@ -4947,8 +4799,8 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - ws@8.20.0: - resolution: {integrity: sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==} + ws@8.20.1: + resolution: {integrity: sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -5137,13 +4989,13 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(jiti@2.7.0)(typescript@6.0.3)': + '@angular-devkit/build-angular@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(jiti@2.7.0)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 '@angular-devkit/build-webpack': 0.2200.0-rc.0(webpack-dev-server@5.2.3(tslib@2.8.1)(webpack@5.106.2(postcss@8.5.14)))(webpack@5.106.2(esbuild@0.28.0)(postcss@8.5.13)) '@angular-devkit/core': 22.0.0-rc.0 - '@angular/build': 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) + '@angular/build': 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 7.29.0 '@babel/generator': 7.29.1 @@ -5258,7 +5110,7 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 @@ -5267,8 +5119,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@20.19.40) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)) + '@inquirer/confirm': 6.0.12(@types/node@20.19.41) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -5287,7 +5139,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel @@ -5311,7 +5163,7 @@ snapshots: - tsx - yaml - '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.47.1)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 @@ -5320,8 +5172,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@20.19.40) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)) + '@inquirer/confirm': 6.0.12(@types/node@20.19.41) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -5340,7 +5192,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel @@ -5364,13 +5216,13 @@ snapshots: - tsx - yaml - '@angular/cli@22.0.0-rc.0(@types/node@20.19.40)': + '@angular/cli@22.0.0-rc.0(@types/node@20.19.41)': dependencies: '@angular-devkit/architect': 0.2200.0-rc.0 '@angular-devkit/core': 22.0.0-rc.0 '@angular-devkit/schematics': 22.0.0-rc.0 - '@inquirer/prompts': 8.4.2(@types/node@20.19.40) - '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.40))(@types/node@20.19.40)(listr2@10.2.1) + '@inquirer/prompts': 8.4.2(@types/node@20.19.41) + '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.41))(@types/node@20.19.41)(listr2@10.2.1) '@modelcontextprotocol/sdk': 1.29.0(zod@4.4.2) '@schematics/angular': 22.0.0-rc.0 '@yarnpkg/lockfile': 1.1.0 @@ -6245,135 +6097,135 @@ snapshots: '@harperfast/extended-iterable@1.0.3': optional: true - '@hono/node-server@1.19.14(hono@4.12.18)': + '@hono/node-server@1.19.14(hono@4.12.19)': dependencies: - hono: 4.12.18 + hono: 4.12.19 '@inquirer/ansi@2.0.5': {} - '@inquirer/checkbox@5.1.5(@types/node@20.19.40)': + '@inquirer/checkbox@5.1.5(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/confirm@6.0.12(@types/node@20.19.40)': + '@inquirer/confirm@6.0.12(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/confirm@6.0.13(@types/node@20.19.40)': + '@inquirer/confirm@6.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/core@11.1.10(@types/node@20.19.40)': + '@inquirer/core@11.1.10(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) cli-width: 4.1.0 fast-wrap-ansi: 0.2.0 mute-stream: 3.0.0 signal-exit: 4.1.0 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/editor@5.1.2(@types/node@20.19.40)': + '@inquirer/editor@5.1.2(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/external-editor': 3.0.0(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/external-editor': 3.0.0(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/expand@5.0.14(@types/node@20.19.40)': + '@inquirer/expand@5.0.14(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/external-editor@3.0.0(@types/node@20.19.40)': + '@inquirer/external-editor@3.0.0(@types/node@20.19.41)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@inquirer/figures@2.0.5': {} - '@inquirer/input@5.0.13(@types/node@20.19.40)': + '@inquirer/input@5.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/number@4.0.13(@types/node@20.19.40)': + '@inquirer/number@4.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/password@5.0.13(@types/node@20.19.40)': + '@inquirer/password@5.0.13(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 - - '@inquirer/prompts@8.4.2(@types/node@20.19.40)': - dependencies: - '@inquirer/checkbox': 5.1.5(@types/node@20.19.40) - '@inquirer/confirm': 6.0.13(@types/node@20.19.40) - '@inquirer/editor': 5.1.2(@types/node@20.19.40) - '@inquirer/expand': 5.0.14(@types/node@20.19.40) - '@inquirer/input': 5.0.13(@types/node@20.19.40) - '@inquirer/number': 4.0.13(@types/node@20.19.40) - '@inquirer/password': 5.0.13(@types/node@20.19.40) - '@inquirer/rawlist': 5.2.9(@types/node@20.19.40) - '@inquirer/search': 4.1.9(@types/node@20.19.40) - '@inquirer/select': 5.1.5(@types/node@20.19.40) + '@types/node': 20.19.41 + + '@inquirer/prompts@8.4.2(@types/node@20.19.41)': + dependencies: + '@inquirer/checkbox': 5.1.5(@types/node@20.19.41) + '@inquirer/confirm': 6.0.13(@types/node@20.19.41) + '@inquirer/editor': 5.1.2(@types/node@20.19.41) + '@inquirer/expand': 5.0.14(@types/node@20.19.41) + '@inquirer/input': 5.0.13(@types/node@20.19.41) + '@inquirer/number': 4.0.13(@types/node@20.19.41) + '@inquirer/password': 5.0.13(@types/node@20.19.41) + '@inquirer/rawlist': 5.2.9(@types/node@20.19.41) + '@inquirer/search': 4.1.9(@types/node@20.19.41) + '@inquirer/select': 5.1.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/rawlist@5.2.9(@types/node@20.19.40)': + '@inquirer/rawlist@5.2.9(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/search@4.1.9(@types/node@20.19.40)': + '@inquirer/search@4.1.9(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/select@5.1.5(@types/node@20.19.40)': + '@inquirer/select@5.1.5(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/type@4.0.5(@types/node@20.19.40)': + '@inquirer/type@4.0.5(@types/node@20.19.41)': optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@isaacs/fs-minipass@4.0.1': dependencies: @@ -6539,10 +6391,10 @@ snapshots: '@leichtgewicht/ip-codec@2.0.5': {} - '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.40))(@types/node@20.19.40)(listr2@10.2.1)': + '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.41))(@types/node@20.19.41)(listr2@10.2.1)': dependencies: - '@inquirer/prompts': 8.4.2(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/prompts': 8.4.2(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) listr2: 10.2.1 transitivePeerDependencies: - '@types/node' @@ -6570,7 +6422,7 @@ snapshots: '@modelcontextprotocol/sdk@1.29.0(zod@4.4.2)': dependencies: - '@hono/node-server': 1.19.14(hono@4.12.18) + '@hono/node-server': 1.19.14(hono@4.12.19) ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) content-type: 1.0.5 @@ -6579,8 +6431,8 @@ snapshots: eventsource: 3.0.7 eventsource-parser: 3.0.8 express: 5.2.1 - express-rate-limit: 8.5.1(express@5.2.1) - hono: 4.12.18 + express-rate-limit: 8.5.2(express@5.2.1) + hono: 4.12.19 jose: 6.2.3 json-schema-typed: 8.0.2 pkce-challenge: 5.0.1 @@ -6902,153 +6754,78 @@ snapshots: '@rollup/rollup-android-arm-eabi@4.60.2': optional: true - '@rollup/rollup-android-arm-eabi@4.60.3': - optional: true - '@rollup/rollup-android-arm64@4.60.2': optional: true - '@rollup/rollup-android-arm64@4.60.3': - optional: true - '@rollup/rollup-darwin-arm64@4.60.2': optional: true - '@rollup/rollup-darwin-arm64@4.60.3': - optional: true - '@rollup/rollup-darwin-x64@4.60.2': optional: true - '@rollup/rollup-darwin-x64@4.60.3': - optional: true - '@rollup/rollup-freebsd-arm64@4.60.2': optional: true - '@rollup/rollup-freebsd-arm64@4.60.3': - optional: true - '@rollup/rollup-freebsd-x64@4.60.2': optional: true - '@rollup/rollup-freebsd-x64@4.60.3': - optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.3': - optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.2': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.3': - optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-arm64-musl@4.60.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-loong64-musl@4.60.2': optional: true - '@rollup/rollup-linux-loong64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.2': optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-x64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-x64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-x64-musl@4.60.2': optional: true - '@rollup/rollup-linux-x64-musl@4.60.3': - optional: true - '@rollup/rollup-openbsd-x64@4.60.2': optional: true - '@rollup/rollup-openbsd-x64@4.60.3': - optional: true - '@rollup/rollup-openharmony-arm64@4.60.2': optional: true - '@rollup/rollup-openharmony-arm64@4.60.3': - optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.2': optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.3': - optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.3': - optional: true - '@rollup/rollup-win32-x64-gnu@4.60.2': optional: true - '@rollup/rollup-win32-x64-gnu@4.60.3': - optional: true - '@rollup/rollup-win32-x64-msvc@4.60.2': optional: true - '@rollup/rollup-win32-x64-msvc@4.60.3': - optional: true - '@schematics/angular@22.0.0-rc.0': dependencies: '@angular-devkit/core': 22.0.0-rc.0 @@ -7108,20 +6885,20 @@ snapshots: '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/bonjour@3.5.13': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 4.19.8 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/connect@3.4.38': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/eslint-scope@3.7.7': dependencies: @@ -7139,7 +6916,7 @@ snapshots: '@types/express-serve-static-core@4.19.8': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/qs': 6.15.1 '@types/range-parser': 1.2.7 '@types/send': 1.2.1 @@ -7155,7 +6932,7 @@ snapshots: '@types/http-proxy@1.17.17': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/jasmine@6.0.0': {} @@ -7163,7 +6940,7 @@ snapshots: '@types/mime@1.3.5': {} - '@types/node@20.19.40': + '@types/node@20.19.41': dependencies: undici-types: 6.21.0 @@ -7180,11 +6957,11 @@ snapshots: '@types/send@0.17.6': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/send@1.2.1': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/serve-index@1.9.4': dependencies: @@ -7193,20 +6970,20 @@ snapshots: '@types/serve-static@1.15.10': dependencies: '@types/http-errors': 2.0.5 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/send': 0.17.6 '@types/sockjs@0.3.36': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/ws@8.18.1': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1))': + '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2))': dependencies: - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) '@webassemblyjs/ast@1.14.1': dependencies: @@ -7429,7 +7206,7 @@ snapshots: autoprefixer@10.5.0(postcss@8.5.13): dependencies: browserslist: 4.28.2 - caniuse-lite: 1.0.30001792 + caniuse-lite: 1.0.30001793 fraction.js: 5.3.4 picocolors: 1.1.1 postcss: 8.5.13 @@ -7482,7 +7259,7 @@ snapshots: balanced-match@4.0.4: {} - baseline-browser-mapping@2.10.29: {} + baseline-browser-mapping@2.10.30: {} batch@0.6.1: {} @@ -7520,7 +7297,7 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.4.24 on-finished: 2.4.1 - qs: 6.15.1 + qs: 6.15.2 raw-body: 2.5.3 type-is: 1.6.18 unpipe: 1.0.0 @@ -7535,9 +7312,9 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.7.2 on-finished: 2.4.1 - qs: 6.15.1 + qs: 6.15.2 raw-body: 3.0.2 - type-is: 2.0.1 + type-is: 2.1.0 transitivePeerDependencies: - supports-color @@ -7563,10 +7340,10 @@ snapshots: browserslist@4.28.2: dependencies: - baseline-browser-mapping: 2.10.29 - caniuse-lite: 1.0.30001792 - electron-to-chromium: 1.5.353 - node-releases: 2.0.38 + baseline-browser-mapping: 2.10.30 + caniuse-lite: 1.0.30001793 + electron-to-chromium: 1.5.358 + node-releases: 2.0.44 update-browserslist-db: 1.2.3(browserslist@4.28.2) browserstack@1.6.1: @@ -7612,7 +7389,7 @@ snapshots: camelcase@5.3.1: {} - caniuse-lite@1.0.30001792: {} + caniuse-lite@1.0.30001793: {} caseless@0.12.0: {} @@ -7743,6 +7520,8 @@ snapshots: content-type@1.0.5: {} + content-type@2.0.0: {} + convert-source-map@1.9.0: {} convert-source-map@2.0.0: {} @@ -7798,12 +7577,12 @@ snapshots: css-loader@7.1.4(webpack@5.106.2(esbuild@0.28.0)(postcss@8.5.13)): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.14) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.14) - postcss-modules-scope: 3.2.1(postcss@8.5.14) - postcss-modules-values: 4.0.0(postcss@8.5.14) + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.13) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.13) + postcss-modules-scope: 3.2.1(postcss@8.5.13) + postcss-modules-values: 4.0.0(postcss@8.5.13) postcss-value-parser: 4.2.0 semver: 7.7.4 optionalDependencies: @@ -7908,7 +7687,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.353: {} + electron-to-chromium@1.5.358: {} emoji-regex@10.6.0: {} @@ -8057,12 +7836,12 @@ snapshots: exponential-backoff@3.1.3: {} - express-rate-limit@8.5.1(express@5.2.1): + express-rate-limit@8.5.2(express@5.2.1): dependencies: express: 5.2.1 ip-address: 10.2.0 - express@4.22.1: + express@4.22.2: dependencies: accepts: 1.3.8 array-flatten: 1.1.1 @@ -8085,7 +7864,7 @@ snapshots: parseurl: 1.3.3 path-to-regexp: 0.1.13 proxy-addr: 2.0.7 - qs: 6.14.2 + qs: 6.15.2 range-parser: 1.2.1 safe-buffer: 5.2.1 send: 0.19.2 @@ -8120,13 +7899,13 @@ snapshots: once: 1.4.0 parseurl: 1.3.3 proxy-addr: 2.0.7 - qs: 6.15.1 + qs: 6.15.2 range-parser: 1.2.1 router: 2.2.0 send: 1.2.1 serve-static: 2.2.1 statuses: 2.0.2 - type-is: 2.0.1 + type-is: 2.1.0 vary: 1.1.2 transitivePeerDependencies: - supports-color @@ -8320,7 +8099,7 @@ snapshots: dependencies: function-bind: 1.1.2 - hono@4.12.18: {} + hono@4.12.19: {} hosted-git-info@9.0.3: dependencies: @@ -8441,9 +8220,9 @@ snapshots: dependencies: safer-buffer: 2.1.2 - icss-utils@5.1.0(postcss@8.5.14): + icss-utils@5.1.0(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 ignore-walk@8.0.0: dependencies: @@ -8584,7 +8363,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -8946,7 +8725,7 @@ snapshots: undici: 6.25.0 which: 6.0.1 - node-releases@2.0.38: {} + node-releases@2.0.44: {} nopt@9.0.0: dependencies: @@ -9199,26 +8978,26 @@ snapshots: postcss-media-query-parser@0.2.3: {} - postcss-modules-extract-imports@3.1.0(postcss@8.5.14): + postcss-modules-extract-imports@3.1.0(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 - postcss-modules-local-by-default@4.2.0(postcss@8.5.14): + postcss-modules-local-by-default@4.2.0(postcss@8.5.13): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 postcss-selector-parser: 7.1.1 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.2.1(postcss@8.5.14): + postcss-modules-scope@3.2.1(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 postcss-selector-parser: 7.1.1 - postcss-modules-values@4.0.0(postcss@8.5.14): + postcss-modules-values@4.0.0(postcss@8.5.13): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 postcss-safe-parser@7.0.1(postcss@8.5.14): dependencies: @@ -9291,11 +9070,7 @@ snapshots: q@1.4.1: {} - qs@6.14.2: - dependencies: - side-channel: 1.1.0 - - qs@6.15.1: + qs@6.15.2: dependencies: side-channel: 1.1.0 @@ -9402,7 +9177,7 @@ snapshots: adjust-sourcemap-loader: 4.0.0 convert-source-map: 1.9.0 loader-utils: 2.0.4 - postcss: 8.5.14 + postcss: 8.5.13 source-map: 0.6.1 resolve@1.22.12: @@ -9456,37 +9231,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.60.2 fsevents: 2.3.3 - rollup@4.60.3: - dependencies: - '@types/estree': 1.0.8 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.60.3 - '@rollup/rollup-android-arm64': 4.60.3 - '@rollup/rollup-darwin-arm64': 4.60.3 - '@rollup/rollup-darwin-x64': 4.60.3 - '@rollup/rollup-freebsd-arm64': 4.60.3 - '@rollup/rollup-freebsd-x64': 4.60.3 - '@rollup/rollup-linux-arm-gnueabihf': 4.60.3 - '@rollup/rollup-linux-arm-musleabihf': 4.60.3 - '@rollup/rollup-linux-arm64-gnu': 4.60.3 - '@rollup/rollup-linux-arm64-musl': 4.60.3 - '@rollup/rollup-linux-loong64-gnu': 4.60.3 - '@rollup/rollup-linux-loong64-musl': 4.60.3 - '@rollup/rollup-linux-ppc64-gnu': 4.60.3 - '@rollup/rollup-linux-ppc64-musl': 4.60.3 - '@rollup/rollup-linux-riscv64-gnu': 4.60.3 - '@rollup/rollup-linux-riscv64-musl': 4.60.3 - '@rollup/rollup-linux-s390x-gnu': 4.60.3 - '@rollup/rollup-linux-x64-gnu': 4.60.3 - '@rollup/rollup-linux-x64-musl': 4.60.3 - '@rollup/rollup-openbsd-x64': 4.60.3 - '@rollup/rollup-openharmony-arm64': 4.60.3 - '@rollup/rollup-win32-arm64-msvc': 4.60.3 - '@rollup/rollup-win32-ia32-msvc': 4.60.3 - '@rollup/rollup-win32-x64-gnu': 4.60.3 - '@rollup/rollup-win32-x64-msvc': 4.60.3 - fsevents: 2.3.3 - router@2.2.0: dependencies: debug: 4.4.3 @@ -9861,7 +9605,7 @@ snapshots: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 - terser: 5.47.1 + terser: 5.46.2 webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) optionalDependencies: esbuild: 0.28.0 @@ -9874,13 +9618,6 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 - terser@5.47.1: - dependencies: - '@jridgewell/source-map': 0.3.11 - acorn: 8.16.0 - commander: 2.20.3 - source-map-support: 0.5.21 - thingies@2.6.0(tslib@2.8.1): dependencies: tslib: 2.8.1 @@ -9913,14 +9650,14 @@ snapshots: tree-kill@1.2.2: {} - ts-node@10.9.2(@types/node@20.19.40)(typescript@6.0.3): + ts-node@10.9.2(@types/node@20.19.41)(typescript@6.0.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.12 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.19.40 + '@types/node': 20.19.41 acorn: 8.16.0 acorn-walk: 8.3.5 arg: 4.1.3 @@ -9958,9 +9695,9 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 - type-is@2.0.1: + type-is@2.1.0: dependencies: - content-type: 1.0.5 + content-type: 2.0.0 media-typer: 1.1.0 mime-types: 3.0.2 @@ -10015,38 +9752,22 @@ snapshots: core-util-is: 1.0.2 extsprintf: 1.3.0 - vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2): + vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) picomatch: 4.0.4 postcss: 8.5.14 - rollup: 4.60.3 + rollup: 4.60.2 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 fsevents: 2.3.3 jiti: 2.7.0 less: 4.6.4 sass: 1.99.0 terser: 5.46.2 - vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1): - dependencies: - esbuild: 0.27.7 - fdir: 6.5.0(picomatch@4.0.4) - picomatch: 4.0.4 - postcss: 8.5.14 - rollup: 4.60.3 - tinyglobby: 0.2.16 - optionalDependencies: - '@types/node': 20.19.40 - fsevents: 2.3.3 - jiti: 2.7.0 - less: 4.6.4 - sass: 1.99.0 - terser: 5.47.1 - watchpack@2.5.1: dependencies: glob-to-regexp: 0.4.1 @@ -10119,7 +9840,7 @@ snapshots: colorette: 2.0.20 compression: 1.8.1 connect-history-api-fallback: 2.0.0 - express: 4.22.1 + express: 4.22.2 graceful-fs: 4.2.11 http-proxy-middleware: 2.0.9(@types/express@4.17.25) ipaddr.js: 2.4.0 @@ -10132,7 +9853,7 @@ snapshots: sockjs: 0.3.24 spdy: 4.0.2 webpack-dev-middleware: 7.4.5(tslib@2.8.1)(webpack@5.106.2(postcss@8.5.14)) - ws: 8.20.0 + ws: 8.20.1 optionalDependencies: webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) transitivePeerDependencies: @@ -10241,7 +9962,7 @@ snapshots: wrappy@1.0.2: {} - ws@8.20.0: {} + ws@8.20.1: {} wsl-utils@0.1.0: dependencies: diff --git a/integration/platform-server-zoneless/pnpm-lock.yaml b/integration/platform-server-zoneless/pnpm-lock.yaml index 3253e78cc2b3..457be8efd2d4 100644 --- a/integration/platform-server-zoneless/pnpm-lock.yaml +++ b/integration/platform-server-zoneless/pnpm-lock.yaml @@ -47,13 +47,13 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(jiti@2.7.0)(typescript@6.0.3) + version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(jiti@2.7.0)(typescript@6.0.3) '@angular/build': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.47.1)(tslib@2.8.1)(typescript@6.0.3) + version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/cli': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@types/node@20.19.40) + version: 22.0.0-rc.0(@types/node@20.19.41) '@angular/compiler-cli': specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel @@ -65,7 +65,7 @@ importers: version: 6.0.0 '@types/node': specifier: ^20.14.8 - version: 20.19.40 + version: 20.19.41 '@types/selenium-webdriver': specifier: 3.0.7 version: 3.0.7 @@ -86,7 +86,7 @@ importers: version: 3.5.0 ts-node: specifier: ^10.9.1 - version: 10.9.2(@types/node@20.19.40)(typescript@6.0.3) + version: 10.9.2(@types/node@20.19.41)(typescript@6.0.3) typescript: specifier: 6.0.3 version: 6.0.3 @@ -1796,277 +1796,139 @@ packages: cpu: [arm] os: [android] - '@rollup/rollup-android-arm-eabi@4.60.3': - resolution: {integrity: sha512-x35CNW/ANXG3hE/EZpRU8MXX1JDN86hBb2wMGAtltkz7pc6cxgjpy1OMMfDosOQ+2hWqIkag/fGok1Yady9nGw==} - cpu: [arm] - os: [android] - '@rollup/rollup-android-arm64@4.60.2': resolution: {integrity: sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==} cpu: [arm64] os: [android] - '@rollup/rollup-android-arm64@4.60.3': - resolution: {integrity: sha512-xw3xtkDApIOGayehp2+Rz4zimfkaX65r4t47iy+ymQB2G4iJCBBfj0ogVg5jpvjpn8UWn/+q9tprxleYeNp3Hw==} - cpu: [arm64] - os: [android] - '@rollup/rollup-darwin-arm64@4.60.2': resolution: {integrity: sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-arm64@4.60.3': - resolution: {integrity: sha512-vo6Y5Qfpx7/5EaamIwi0WqW2+zfiusVihKatLvtN1VFVy3D13uERk/6gZLU1UiHRL6fDXqj/ELIeVRGnvcTE1g==} - cpu: [arm64] - os: [darwin] - '@rollup/rollup-darwin-x64@4.60.2': resolution: {integrity: sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==} cpu: [x64] os: [darwin] - '@rollup/rollup-darwin-x64@4.60.3': - resolution: {integrity: sha512-D+0QGcZhBzTN82weOnsSlY7V7+RMmPuF1CkbxyMAGE8+ZHeUjyb76ZiWmBlCu//AQQONvxcqRbwZTajZKqjuOw==} - cpu: [x64] - os: [darwin] - '@rollup/rollup-freebsd-arm64@4.60.2': resolution: {integrity: sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-arm64@4.60.3': - resolution: {integrity: sha512-6HnvHCT7fDyj6R0Ph7A6x8dQS/S38MClRWeDLqc0MdfWkxjiu1HSDYrdPhqSILzjTIC/pnXbbJbo+ft+gy/9hQ==} - cpu: [arm64] - os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.2': resolution: {integrity: sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==} cpu: [x64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.3': - resolution: {integrity: sha512-KHLgC3WKlUYW3ShFKnnosZDOJ0xjg9zp7au3sIm2bs/tGBeC2ipmvRh/N7JKi0t9Ue20C0dpEshi8WUubg+cnA==} - cpu: [x64] - os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.60.2': resolution: {integrity: sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==} cpu: [arm] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm-gnueabihf@4.60.3': - resolution: {integrity: sha512-DV6fJoxEYWJOvaZIsok7KrYl0tPvga5OZ2yvKHNNYyk/2roMLqQAbGhr78EQ5YhHpnhLKJD3S1WFusAkmUuV5g==} - cpu: [arm] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-arm-musleabihf@4.60.2': resolution: {integrity: sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==} cpu: [arm] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm-musleabihf@4.60.3': - resolution: {integrity: sha512-mQKoJAzvuOs6F+TZybQO4GOTSMUu7v0WdxEk24krQ/uUxXoPTtHjuaUuPmFhtBcM4K0ons8nrE3JyhTuCFtT/w==} - cpu: [arm] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-arm64-gnu@4.60.2': resolution: {integrity: sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==} cpu: [arm64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm64-gnu@4.60.3': - resolution: {integrity: sha512-Whjj2qoiJ6+OOJMGptTYazaJvjOJm+iKHpXQM1P3LzGjt7Ff++Tp7nH4N8J/BUA7R9IHfDyx4DJIflifwnbmIA==} - cpu: [arm64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-arm64-musl@4.60.2': resolution: {integrity: sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==} cpu: [arm64] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm64-musl@4.60.3': - resolution: {integrity: sha512-4YTNHKqGng5+yiZt3mg77nmyuCfmNfX4fPmyUapBcIk+BdwSwmCWGXOUxhXbBEkFHtoN5boLj/5NON+u5QC9tg==} - cpu: [arm64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-loong64-gnu@4.60.2': resolution: {integrity: sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==} cpu: [loong64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-loong64-gnu@4.60.3': - resolution: {integrity: sha512-SU3kNlhkpI4UqlUc2VXPGK9o886ZsSeGfMAX2ba2b8DKmMXq4AL7KUrkSWVbb7koVqx41Yczx6dx5PNargIrEA==} - cpu: [loong64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-loong64-musl@4.60.2': resolution: {integrity: sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==} cpu: [loong64] os: [linux] libc: [musl] - '@rollup/rollup-linux-loong64-musl@4.60.3': - resolution: {integrity: sha512-6lDLl5h4TXpB1mTf2rQWnAk/LcXrx9vBfu/DT5TIPhvMhRWaZ5MxkIc8u4lJAmBo6klTe1ywXIUHFjylW505sg==} - cpu: [loong64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-ppc64-gnu@4.60.2': resolution: {integrity: sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==} cpu: [ppc64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-ppc64-gnu@4.60.3': - resolution: {integrity: sha512-BMo8bOw8evlup/8G+cj5xWtPyp93xPdyoSN16Zy90Q2QZ0ZYRhCt6ZJSwbrRzG9HApFabjwj2p25TUPDWrhzqQ==} - cpu: [ppc64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-ppc64-musl@4.60.2': resolution: {integrity: sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==} cpu: [ppc64] os: [linux] libc: [musl] - '@rollup/rollup-linux-ppc64-musl@4.60.3': - resolution: {integrity: sha512-E0L8X1dZN1/Rph+5VPF6Xj2G7JJvMACVXtamTJIDrVI44Y3K+G8gQaMEAavbqCGTa16InptiVrX6eM6pmJ+7qA==} - cpu: [ppc64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-riscv64-gnu@4.60.2': resolution: {integrity: sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==} cpu: [riscv64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-riscv64-gnu@4.60.3': - resolution: {integrity: sha512-oZJ/WHaVfHUiRAtmTAeo3DcevNsVvH8mbvodjZy7D5QKvCefO371SiKRpxoDcCxB3PTRTLayWBkvmDQKTcX/sw==} - cpu: [riscv64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-riscv64-musl@4.60.2': resolution: {integrity: sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==} cpu: [riscv64] os: [linux] libc: [musl] - '@rollup/rollup-linux-riscv64-musl@4.60.3': - resolution: {integrity: sha512-Dhbyh7j9FybM3YaTgaHmVALwA8AkUwTPccyCQ79TG9AJUsMQqgN1DDEZNr4+QUfwiWvLDumW5vdwzoeUF+TNxQ==} - cpu: [riscv64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-s390x-gnu@4.60.2': resolution: {integrity: sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==} cpu: [s390x] os: [linux] libc: [glibc] - '@rollup/rollup-linux-s390x-gnu@4.60.3': - resolution: {integrity: sha512-cJd1X5XhHHlltkaypz1UcWLA8AcoIi1aWhsvaWDskD1oz2eKCypnqvTQ8ykMNI0RSmm7NkTdSqSSD7zM0xa6Ig==} - cpu: [s390x] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.2': resolution: {integrity: sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==} cpu: [x64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.3': - resolution: {integrity: sha512-DAZDBHQfG2oQuhY7mc6I3/qB4LU2fQCjRvxbDwd/Jdvb9fypP4IJ4qmtu6lNjes6B531AI8cg1aKC2di97bUxA==} - cpu: [x64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-x64-musl@4.60.2': resolution: {integrity: sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==} cpu: [x64] os: [linux] libc: [musl] - '@rollup/rollup-linux-x64-musl@4.60.3': - resolution: {integrity: sha512-cRxsE8c13mZOh3vP+wLDxpQBRrOHDIGOWyDL93Sy0Ga8y515fBcC2pjUfFwUe5T7tqvTvWbCpg1URM/AXdWIXA==} - cpu: [x64] - os: [linux] - libc: [musl] - '@rollup/rollup-openbsd-x64@4.60.2': resolution: {integrity: sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==} cpu: [x64] os: [openbsd] - '@rollup/rollup-openbsd-x64@4.60.3': - resolution: {integrity: sha512-QaWcIgRxqEdQdhJqW4DJctsH6HCmo5vHxY0krHSX4jMtOqfzC+dqDGuHM87bu4H8JBeibWx7jFz+h6/4C8wA5Q==} - cpu: [x64] - os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.60.2': resolution: {integrity: sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-openharmony-arm64@4.60.3': - resolution: {integrity: sha512-AaXwSvUi3QIPtroAUw1t5yHGIyqKEXwH54WUocFolZhpGDruJcs8c+xPNDRn4XiQsS7MEwnYsHW2l0MBLDMkWg==} - cpu: [arm64] - os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.60.2': resolution: {integrity: sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.60.3': - resolution: {integrity: sha512-65LAKM/bAWDqKNEelHlcHvm2V+Vfb8C6INFxQXRHCvaVN1rJfwr4NvdP4FyzUaLqWfaCGaadf6UbTm8xJeYfEg==} - cpu: [arm64] - os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.2': resolution: {integrity: sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.3': - resolution: {integrity: sha512-EEM2gyhBF5MFnI6vMKdX1LAosE627RGBzIoGMdLloPZkXrUN0Ckqgr2Qi8+J3zip/8NVVro3/FjB+tjhZUgUHA==} - cpu: [ia32] - os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.2': resolution: {integrity: sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.3': - resolution: {integrity: sha512-E5Eb5H/DpxaoXH++Qkv28RcUJboMopmdDUALBczvHMf7hNIxaDZqwY5lK12UK1BHacSmvupoEWGu+n993Z0y1A==} - cpu: [x64] - os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.2': resolution: {integrity: sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.3': - resolution: {integrity: sha512-hPt/bgL5cE+Qp+/TPHBqptcAgPzgj46mPcg/16zNUmbQk0j+mOEQV/+Lqu8QRtDV3Ek95Q6FeFITpuhl6OTsAA==} - cpu: [x64] - os: [win32] - '@schematics/angular@22.0.0-rc.0': resolution: {integrity: sha512-V5BQFRlPfx/rJZOtkDUAunJqNfi+75J0gr41W1VId8TntsddF0jn1Fz4XQncTiu3dk8UMeRUdmyJrjYRl1Q5Wg==} engines: {node: ^22.22.0 || ^24.13.1 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} @@ -2166,8 +2028,8 @@ packages: '@types/mime@1.3.5': resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - '@types/node@20.19.40': - resolution: {integrity: sha512-xxx6M2IpSTnnKcR0cMvIiohkiCx20/oRPtWGbenFygKCGl3zqUzdNjQ/1V4solq1LU+dgv0nQzeGOuqkqZGg0Q==} + '@types/node@20.19.41': + resolution: {integrity: sha512-ECymXOukMnOoVkC2bb1Vc/w/836DXncOg5m8Xj1RH7xSHZJWNYY6Zh7EH477vcnD5egKNNfy2RpNOmuChhFPgQ==} '@types/q@0.0.32': resolution: {integrity: sha512-qYi3YV9inU/REEfxwVcGZzbS3KG/Xs90lv0Pr+lDtuVjBPGd1A+eciXzVSaRvLify132BfcvhvEjeVahrUl0Ug==} @@ -2472,8 +2334,8 @@ packages: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} - baseline-browser-mapping@2.10.29: - resolution: {integrity: sha512-Asa2krT+XTPZINCS+2QcyS8WTkObE77RwkydwF7h6DmnKqbvlalz93m/dnphUyCa6SWSP51VgtEUf2FN+gelFQ==} + baseline-browser-mapping@2.10.30: + resolution: {integrity: sha512-xjOFN16Ha1+Rz4nFYKqHU/LSB+gx/Vi3yQLX7r7sAW+Wa+8hhF2h4pvqTrTMc8+WcDBEunnUurr46Jvv0jk3Vg==} engines: {node: '>=6.0.0'} hasBin: true @@ -2567,8 +2429,8 @@ packages: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} - caniuse-lite@1.0.30001792: - resolution: {integrity: sha512-hVLMUZFgR4JJ6ACt1uEESvQN1/dBVqPAKY0hgrV70eN3391K6juAfTjKZLKvOMsx8PxA7gsY1/tLMMTcfFLLpw==} + caniuse-lite@1.0.30001793: + resolution: {integrity: sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==} caseless@0.12.0: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} @@ -2688,6 +2550,10 @@ packages: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} + content-type@2.0.0: + resolution: {integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==} + engines: {node: '>=18'} + convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} @@ -2871,8 +2737,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.353: - resolution: {integrity: sha512-kOrWphBi8TOZyiJZqsgqIle0lw+tzmnQK83pV9dZUd01Nm2POECSyFQMAuarzZdYqQW7FH9RaYOuaRo3h+bQ3w==} + electron-to-chromium@1.5.358: + resolution: {integrity: sha512-EO7tKm3QxRqTs1lSuPXzl6yRAwznehp0AH9OoMOIC+4mQzTFday8FJCO5KU6J/TFSQXEOahNq4vTKpz1jmCVOA==} emoji-regex@10.6.0: resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} @@ -3015,14 +2881,14 @@ packages: exponential-backoff@3.1.3: resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} - express-rate-limit@8.5.1: - resolution: {integrity: sha512-5O6KYmyJEpuPJV5hNTXKbAHWRqrzyu+OI3vUnSd2kXFubIVpG7ezpgxQy76Zo5GQZtrQBg86hF+CM/NX+cioiQ==} + express-rate-limit@8.5.2: + resolution: {integrity: sha512-5Kb34ipNX694DH48vN9irak1Qx30nb0PLYHXfJgw4YEjiC3ZEmZJhwOp+VfiCYwFzvFTdB9QkArYS5kXa2cx2A==} engines: {node: '>= 16'} peerDependencies: express: '>= 4.11' - express@4.22.1: - resolution: {integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==} + express@4.22.2: + resolution: {integrity: sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==} engines: {node: '>= 0.10.0'} express@5.2.1: @@ -3224,8 +3090,8 @@ packages: resolution: {integrity: sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==} engines: {node: '>= 0.4'} - hono@4.12.18: - resolution: {integrity: sha512-RWzP96k/yv0PQfyXnWjs6zot20TqfpfsNXhOnev8d1InAxubW93L11/oNUc3tQqn2G0bSdAOBpX+2uDFHV7kdQ==} + hono@4.12.19: + resolution: {integrity: sha512-xa3eYXYXx68XTT4hZ7dRzsXBhaq85ToSrlUJNoR0gwz/1Ap/CNwX47wfvV7pc/xWhjKVVkLT7zBJy8chhNguqQ==} engines: {node: '>=16.9.0'} hosted-git-info@9.0.3: @@ -3841,8 +3707,8 @@ packages: engines: {node: ^20.17.0 || >=22.9.0} hasBin: true - node-releases@2.0.38: - resolution: {integrity: sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==} + node-releases@2.0.44: + resolution: {integrity: sha512-5WUyunoPMsvvEhS8AxHtRzP+oA8UCkJ7YRxatWKjngndhDGLiqEVAQKWjFAiAiuL8zMRGzGSJxFnLetoa43qGQ==} nopt@9.0.0: resolution: {integrity: sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==} @@ -4170,12 +4036,8 @@ packages: (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) - qs@6.14.2: - resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==} - engines: {node: '>=0.6'} - - qs@6.15.1: - resolution: {integrity: sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==} + qs@6.15.2: + resolution: {integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==} engines: {node: '>=0.6'} qs@6.5.5: @@ -4286,11 +4148,6 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - rollup@4.60.3: - resolution: {integrity: sha512-pAQK9HalE84QSm4Po3EmWIZPd3FnjkShVkiMlz1iligWYkWQ7wHYd1PF/T7QZ5TVSD6uSTon5gBVMSM4JfBV+A==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - router@2.2.0: resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} engines: {node: '>= 18'} @@ -4639,11 +4496,6 @@ packages: engines: {node: '>=10'} hasBin: true - terser@5.47.1: - resolution: {integrity: sha512-tPbLXTI6ohPASb/1YViL428oEHu6/qv1OxqYnfaonVCFHqx4+wCd95pHrQWsL5X4pl90CTyW9piSAsS2L0VoMw==} - engines: {node: '>=10'} - hasBin: true - thingies@2.6.0: resolution: {integrity: sha512-rMHRjmlFLM1R96UYPvpmnc3LYtdFrT33JIB7L9hetGue1qAPfn1N2LJeEjxUSidu1Iku+haLZXDuEXUHNGO/lg==} engines: {node: '>=10.18'} @@ -4721,9 +4573,9 @@ packages: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} - type-is@2.0.1: - resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} - engines: {node: '>= 0.6'} + type-is@2.1.0: + resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==} + engines: {node: '>= 18'} typed-assert@1.0.9: resolution: {integrity: sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==} @@ -4962,8 +4814,8 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - ws@8.20.0: - resolution: {integrity: sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==} + ws@8.20.1: + resolution: {integrity: sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -5149,13 +5001,13 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(jiti@2.7.0)(typescript@6.0.3)': + '@angular-devkit/build-angular@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(jiti@2.7.0)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 '@angular-devkit/build-webpack': 0.2200.0-rc.0(webpack-dev-server@5.2.3(tslib@2.8.1)(webpack@5.106.2(postcss@8.5.14)))(webpack@5.106.2(esbuild@0.28.0)(postcss@8.5.13)) '@angular-devkit/core': 22.0.0-rc.0 - '@angular/build': 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) + '@angular/build': 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 7.29.0 '@babel/generator': 7.29.1 @@ -5270,7 +5122,7 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 @@ -5279,8 +5131,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@20.19.40) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)) + '@inquirer/confirm': 6.0.12(@types/node@20.19.41) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -5299,7 +5151,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel @@ -5323,7 +5175,7 @@ snapshots: - tsx - yaml - '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.47.1)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 @@ -5332,8 +5184,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@20.19.40) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)) + '@inquirer/confirm': 6.0.12(@types/node@20.19.41) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -5352,7 +5204,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel @@ -5376,13 +5228,13 @@ snapshots: - tsx - yaml - '@angular/cli@22.0.0-rc.0(@types/node@20.19.40)': + '@angular/cli@22.0.0-rc.0(@types/node@20.19.41)': dependencies: '@angular-devkit/architect': 0.2200.0-rc.0 '@angular-devkit/core': 22.0.0-rc.0 '@angular-devkit/schematics': 22.0.0-rc.0 - '@inquirer/prompts': 8.4.2(@types/node@20.19.40) - '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.40))(@types/node@20.19.40)(listr2@10.2.1) + '@inquirer/prompts': 8.4.2(@types/node@20.19.41) + '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.41))(@types/node@20.19.41)(listr2@10.2.1) '@modelcontextprotocol/sdk': 1.29.0(zod@4.4.2) '@schematics/angular': 22.0.0-rc.0 '@yarnpkg/lockfile': 1.1.0 @@ -6257,135 +6109,135 @@ snapshots: '@harperfast/extended-iterable@1.0.3': optional: true - '@hono/node-server@1.19.14(hono@4.12.18)': + '@hono/node-server@1.19.14(hono@4.12.19)': dependencies: - hono: 4.12.18 + hono: 4.12.19 '@inquirer/ansi@2.0.5': {} - '@inquirer/checkbox@5.1.5(@types/node@20.19.40)': + '@inquirer/checkbox@5.1.5(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/confirm@6.0.12(@types/node@20.19.40)': + '@inquirer/confirm@6.0.12(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/confirm@6.0.13(@types/node@20.19.40)': + '@inquirer/confirm@6.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/core@11.1.10(@types/node@20.19.40)': + '@inquirer/core@11.1.10(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) cli-width: 4.1.0 fast-wrap-ansi: 0.2.0 mute-stream: 3.0.0 signal-exit: 4.1.0 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/editor@5.1.2(@types/node@20.19.40)': + '@inquirer/editor@5.1.2(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/external-editor': 3.0.0(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/external-editor': 3.0.0(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/expand@5.0.14(@types/node@20.19.40)': + '@inquirer/expand@5.0.14(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/external-editor@3.0.0(@types/node@20.19.40)': + '@inquirer/external-editor@3.0.0(@types/node@20.19.41)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@inquirer/figures@2.0.5': {} - '@inquirer/input@5.0.13(@types/node@20.19.40)': + '@inquirer/input@5.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/number@4.0.13(@types/node@20.19.40)': + '@inquirer/number@4.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/password@5.0.13(@types/node@20.19.40)': + '@inquirer/password@5.0.13(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 - - '@inquirer/prompts@8.4.2(@types/node@20.19.40)': - dependencies: - '@inquirer/checkbox': 5.1.5(@types/node@20.19.40) - '@inquirer/confirm': 6.0.13(@types/node@20.19.40) - '@inquirer/editor': 5.1.2(@types/node@20.19.40) - '@inquirer/expand': 5.0.14(@types/node@20.19.40) - '@inquirer/input': 5.0.13(@types/node@20.19.40) - '@inquirer/number': 4.0.13(@types/node@20.19.40) - '@inquirer/password': 5.0.13(@types/node@20.19.40) - '@inquirer/rawlist': 5.2.9(@types/node@20.19.40) - '@inquirer/search': 4.1.9(@types/node@20.19.40) - '@inquirer/select': 5.1.5(@types/node@20.19.40) + '@types/node': 20.19.41 + + '@inquirer/prompts@8.4.2(@types/node@20.19.41)': + dependencies: + '@inquirer/checkbox': 5.1.5(@types/node@20.19.41) + '@inquirer/confirm': 6.0.13(@types/node@20.19.41) + '@inquirer/editor': 5.1.2(@types/node@20.19.41) + '@inquirer/expand': 5.0.14(@types/node@20.19.41) + '@inquirer/input': 5.0.13(@types/node@20.19.41) + '@inquirer/number': 4.0.13(@types/node@20.19.41) + '@inquirer/password': 5.0.13(@types/node@20.19.41) + '@inquirer/rawlist': 5.2.9(@types/node@20.19.41) + '@inquirer/search': 4.1.9(@types/node@20.19.41) + '@inquirer/select': 5.1.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/rawlist@5.2.9(@types/node@20.19.40)': + '@inquirer/rawlist@5.2.9(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/search@4.1.9(@types/node@20.19.40)': + '@inquirer/search@4.1.9(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/select@5.1.5(@types/node@20.19.40)': + '@inquirer/select@5.1.5(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/type@4.0.5(@types/node@20.19.40)': + '@inquirer/type@4.0.5(@types/node@20.19.41)': optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@isaacs/fs-minipass@4.0.1': dependencies: @@ -6551,10 +6403,10 @@ snapshots: '@leichtgewicht/ip-codec@2.0.5': {} - '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.40))(@types/node@20.19.40)(listr2@10.2.1)': + '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.41))(@types/node@20.19.41)(listr2@10.2.1)': dependencies: - '@inquirer/prompts': 8.4.2(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/prompts': 8.4.2(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) listr2: 10.2.1 transitivePeerDependencies: - '@types/node' @@ -6582,7 +6434,7 @@ snapshots: '@modelcontextprotocol/sdk@1.29.0(zod@4.4.2)': dependencies: - '@hono/node-server': 1.19.14(hono@4.12.18) + '@hono/node-server': 1.19.14(hono@4.12.19) ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) content-type: 1.0.5 @@ -6591,8 +6443,8 @@ snapshots: eventsource: 3.0.7 eventsource-parser: 3.0.8 express: 5.2.1 - express-rate-limit: 8.5.1(express@5.2.1) - hono: 4.12.18 + express-rate-limit: 8.5.2(express@5.2.1) + hono: 4.12.19 jose: 6.2.3 json-schema-typed: 8.0.2 pkce-challenge: 5.0.1 @@ -6914,153 +6766,78 @@ snapshots: '@rollup/rollup-android-arm-eabi@4.60.2': optional: true - '@rollup/rollup-android-arm-eabi@4.60.3': - optional: true - '@rollup/rollup-android-arm64@4.60.2': optional: true - '@rollup/rollup-android-arm64@4.60.3': - optional: true - '@rollup/rollup-darwin-arm64@4.60.2': optional: true - '@rollup/rollup-darwin-arm64@4.60.3': - optional: true - '@rollup/rollup-darwin-x64@4.60.2': optional: true - '@rollup/rollup-darwin-x64@4.60.3': - optional: true - '@rollup/rollup-freebsd-arm64@4.60.2': optional: true - '@rollup/rollup-freebsd-arm64@4.60.3': - optional: true - '@rollup/rollup-freebsd-x64@4.60.2': optional: true - '@rollup/rollup-freebsd-x64@4.60.3': - optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.3': - optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.2': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.3': - optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-arm64-musl@4.60.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-loong64-musl@4.60.2': optional: true - '@rollup/rollup-linux-loong64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.2': optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-x64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-x64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-x64-musl@4.60.2': optional: true - '@rollup/rollup-linux-x64-musl@4.60.3': - optional: true - '@rollup/rollup-openbsd-x64@4.60.2': optional: true - '@rollup/rollup-openbsd-x64@4.60.3': - optional: true - '@rollup/rollup-openharmony-arm64@4.60.2': optional: true - '@rollup/rollup-openharmony-arm64@4.60.3': - optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.2': optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.3': - optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.3': - optional: true - '@rollup/rollup-win32-x64-gnu@4.60.2': optional: true - '@rollup/rollup-win32-x64-gnu@4.60.3': - optional: true - '@rollup/rollup-win32-x64-msvc@4.60.2': optional: true - '@rollup/rollup-win32-x64-msvc@4.60.3': - optional: true - '@schematics/angular@22.0.0-rc.0': dependencies: '@angular-devkit/core': 22.0.0-rc.0 @@ -7120,20 +6897,20 @@ snapshots: '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/bonjour@3.5.13': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/connect-history-api-fallback@1.5.4': dependencies: - '@types/express-serve-static-core': 5.1.1 - '@types/node': 20.19.40 + '@types/express-serve-static-core': 4.19.8 + '@types/node': 20.19.41 '@types/connect@3.4.38': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/eslint-scope@3.7.7': dependencies: @@ -7151,14 +6928,14 @@ snapshots: '@types/express-serve-static-core@4.19.8': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/qs': 6.15.1 '@types/range-parser': 1.2.7 '@types/send': 1.2.1 '@types/express-serve-static-core@5.1.1': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/qs': 6.15.1 '@types/range-parser': 1.2.7 '@types/send': 1.2.1 @@ -7180,7 +6957,7 @@ snapshots: '@types/http-proxy@1.17.17': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/jasmine@6.0.0': {} @@ -7188,7 +6965,7 @@ snapshots: '@types/mime@1.3.5': {} - '@types/node@20.19.40': + '@types/node@20.19.41': dependencies: undici-types: 6.21.0 @@ -7205,11 +6982,11 @@ snapshots: '@types/send@0.17.6': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/send@1.2.1': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/serve-index@1.9.4': dependencies: @@ -7218,25 +6995,25 @@ snapshots: '@types/serve-static@1.15.10': dependencies: '@types/http-errors': 2.0.5 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/send': 0.17.6 '@types/serve-static@2.2.0': dependencies: '@types/http-errors': 2.0.5 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/sockjs@0.3.36': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/ws@8.18.1': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1))': + '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2))': dependencies: - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) '@webassemblyjs/ast@1.14.1': dependencies: @@ -7459,7 +7236,7 @@ snapshots: autoprefixer@10.5.0(postcss@8.5.13): dependencies: browserslist: 4.28.2 - caniuse-lite: 1.0.30001792 + caniuse-lite: 1.0.30001793 fraction.js: 5.3.4 picocolors: 1.1.1 postcss: 8.5.13 @@ -7512,7 +7289,7 @@ snapshots: balanced-match@4.0.4: {} - baseline-browser-mapping@2.10.29: {} + baseline-browser-mapping@2.10.30: {} batch@0.6.1: {} @@ -7550,7 +7327,7 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.4.24 on-finished: 2.4.1 - qs: 6.15.1 + qs: 6.15.2 raw-body: 2.5.3 type-is: 1.6.18 unpipe: 1.0.0 @@ -7565,9 +7342,9 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.7.2 on-finished: 2.4.1 - qs: 6.15.1 + qs: 6.15.2 raw-body: 3.0.2 - type-is: 2.0.1 + type-is: 2.1.0 transitivePeerDependencies: - supports-color @@ -7593,10 +7370,10 @@ snapshots: browserslist@4.28.2: dependencies: - baseline-browser-mapping: 2.10.29 - caniuse-lite: 1.0.30001792 - electron-to-chromium: 1.5.353 - node-releases: 2.0.38 + baseline-browser-mapping: 2.10.30 + caniuse-lite: 1.0.30001793 + electron-to-chromium: 1.5.358 + node-releases: 2.0.44 update-browserslist-db: 1.2.3(browserslist@4.28.2) browserstack@1.6.1: @@ -7642,7 +7419,7 @@ snapshots: camelcase@5.3.1: {} - caniuse-lite@1.0.30001792: {} + caniuse-lite@1.0.30001793: {} caseless@0.12.0: {} @@ -7773,6 +7550,8 @@ snapshots: content-type@1.0.5: {} + content-type@2.0.0: {} + convert-source-map@1.9.0: {} convert-source-map@2.0.0: {} @@ -7828,12 +7607,12 @@ snapshots: css-loader@7.1.4(webpack@5.106.2(esbuild@0.28.0)(postcss@8.5.13)): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.14) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.14) - postcss-modules-scope: 3.2.1(postcss@8.5.14) - postcss-modules-values: 4.0.0(postcss@8.5.14) + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.13) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.13) + postcss-modules-scope: 3.2.1(postcss@8.5.13) + postcss-modules-values: 4.0.0(postcss@8.5.13) postcss-value-parser: 4.2.0 semver: 7.7.4 optionalDependencies: @@ -7938,7 +7717,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.353: {} + electron-to-chromium@1.5.358: {} emoji-regex@10.6.0: {} @@ -8087,12 +7866,12 @@ snapshots: exponential-backoff@3.1.3: {} - express-rate-limit@8.5.1(express@5.2.1): + express-rate-limit@8.5.2(express@5.2.1): dependencies: express: 5.2.1 ip-address: 10.2.0 - express@4.22.1: + express@4.22.2: dependencies: accepts: 1.3.8 array-flatten: 1.1.1 @@ -8115,7 +7894,7 @@ snapshots: parseurl: 1.3.3 path-to-regexp: 0.1.13 proxy-addr: 2.0.7 - qs: 6.14.2 + qs: 6.15.2 range-parser: 1.2.1 safe-buffer: 5.2.1 send: 0.19.2 @@ -8150,13 +7929,13 @@ snapshots: once: 1.4.0 parseurl: 1.3.3 proxy-addr: 2.0.7 - qs: 6.15.1 + qs: 6.15.2 range-parser: 1.2.1 router: 2.2.0 send: 1.2.1 serve-static: 2.2.1 statuses: 2.0.2 - type-is: 2.0.1 + type-is: 2.1.0 vary: 1.1.2 transitivePeerDependencies: - supports-color @@ -8350,7 +8129,7 @@ snapshots: dependencies: function-bind: 1.1.2 - hono@4.12.18: {} + hono@4.12.19: {} hosted-git-info@9.0.3: dependencies: @@ -8471,9 +8250,9 @@ snapshots: dependencies: safer-buffer: 2.1.2 - icss-utils@5.1.0(postcss@8.5.14): + icss-utils@5.1.0(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 ignore-walk@8.0.0: dependencies: @@ -8614,7 +8393,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -8976,7 +8755,7 @@ snapshots: undici: 6.25.0 which: 6.0.1 - node-releases@2.0.38: {} + node-releases@2.0.44: {} nopt@9.0.0: dependencies: @@ -9229,26 +9008,26 @@ snapshots: postcss-media-query-parser@0.2.3: {} - postcss-modules-extract-imports@3.1.0(postcss@8.5.14): + postcss-modules-extract-imports@3.1.0(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 - postcss-modules-local-by-default@4.2.0(postcss@8.5.14): + postcss-modules-local-by-default@4.2.0(postcss@8.5.13): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 postcss-selector-parser: 7.1.1 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.2.1(postcss@8.5.14): + postcss-modules-scope@3.2.1(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 postcss-selector-parser: 7.1.1 - postcss-modules-values@4.0.0(postcss@8.5.14): + postcss-modules-values@4.0.0(postcss@8.5.13): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 postcss-safe-parser@7.0.1(postcss@8.5.14): dependencies: @@ -9321,11 +9100,7 @@ snapshots: q@1.4.1: {} - qs@6.14.2: - dependencies: - side-channel: 1.1.0 - - qs@6.15.1: + qs@6.15.2: dependencies: side-channel: 1.1.0 @@ -9432,7 +9207,7 @@ snapshots: adjust-sourcemap-loader: 4.0.0 convert-source-map: 1.9.0 loader-utils: 2.0.4 - postcss: 8.5.14 + postcss: 8.5.13 source-map: 0.6.1 resolve@1.22.12: @@ -9486,37 +9261,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.60.2 fsevents: 2.3.3 - rollup@4.60.3: - dependencies: - '@types/estree': 1.0.8 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.60.3 - '@rollup/rollup-android-arm64': 4.60.3 - '@rollup/rollup-darwin-arm64': 4.60.3 - '@rollup/rollup-darwin-x64': 4.60.3 - '@rollup/rollup-freebsd-arm64': 4.60.3 - '@rollup/rollup-freebsd-x64': 4.60.3 - '@rollup/rollup-linux-arm-gnueabihf': 4.60.3 - '@rollup/rollup-linux-arm-musleabihf': 4.60.3 - '@rollup/rollup-linux-arm64-gnu': 4.60.3 - '@rollup/rollup-linux-arm64-musl': 4.60.3 - '@rollup/rollup-linux-loong64-gnu': 4.60.3 - '@rollup/rollup-linux-loong64-musl': 4.60.3 - '@rollup/rollup-linux-ppc64-gnu': 4.60.3 - '@rollup/rollup-linux-ppc64-musl': 4.60.3 - '@rollup/rollup-linux-riscv64-gnu': 4.60.3 - '@rollup/rollup-linux-riscv64-musl': 4.60.3 - '@rollup/rollup-linux-s390x-gnu': 4.60.3 - '@rollup/rollup-linux-x64-gnu': 4.60.3 - '@rollup/rollup-linux-x64-musl': 4.60.3 - '@rollup/rollup-openbsd-x64': 4.60.3 - '@rollup/rollup-openharmony-arm64': 4.60.3 - '@rollup/rollup-win32-arm64-msvc': 4.60.3 - '@rollup/rollup-win32-ia32-msvc': 4.60.3 - '@rollup/rollup-win32-x64-gnu': 4.60.3 - '@rollup/rollup-win32-x64-msvc': 4.60.3 - fsevents: 2.3.3 - router@2.2.0: dependencies: debug: 4.4.3 @@ -9891,7 +9635,7 @@ snapshots: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 - terser: 5.47.1 + terser: 5.46.2 webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) optionalDependencies: esbuild: 0.28.0 @@ -9904,13 +9648,6 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 - terser@5.47.1: - dependencies: - '@jridgewell/source-map': 0.3.11 - acorn: 8.16.0 - commander: 2.20.3 - source-map-support: 0.5.21 - thingies@2.6.0(tslib@2.8.1): dependencies: tslib: 2.8.1 @@ -9943,14 +9680,14 @@ snapshots: tree-kill@1.2.2: {} - ts-node@10.9.2(@types/node@20.19.40)(typescript@6.0.3): + ts-node@10.9.2(@types/node@20.19.41)(typescript@6.0.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.12 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.19.40 + '@types/node': 20.19.41 acorn: 8.16.0 acorn-walk: 8.3.5 arg: 4.1.3 @@ -9988,9 +9725,9 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 - type-is@2.0.1: + type-is@2.1.0: dependencies: - content-type: 1.0.5 + content-type: 2.0.0 media-typer: 1.1.0 mime-types: 3.0.2 @@ -10045,38 +9782,22 @@ snapshots: core-util-is: 1.0.2 extsprintf: 1.3.0 - vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2): + vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) picomatch: 4.0.4 postcss: 8.5.14 - rollup: 4.60.3 + rollup: 4.60.2 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 fsevents: 2.3.3 jiti: 2.7.0 less: 4.6.4 sass: 1.99.0 terser: 5.46.2 - vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1): - dependencies: - esbuild: 0.27.7 - fdir: 6.5.0(picomatch@4.0.4) - picomatch: 4.0.4 - postcss: 8.5.14 - rollup: 4.60.3 - tinyglobby: 0.2.16 - optionalDependencies: - '@types/node': 20.19.40 - fsevents: 2.3.3 - jiti: 2.7.0 - less: 4.6.4 - sass: 1.99.0 - terser: 5.47.1 - watchpack@2.5.1: dependencies: glob-to-regexp: 0.4.1 @@ -10149,7 +9870,7 @@ snapshots: colorette: 2.0.20 compression: 1.8.1 connect-history-api-fallback: 2.0.0 - express: 4.22.1 + express: 4.22.2 graceful-fs: 4.2.11 http-proxy-middleware: 2.0.9(@types/express@4.17.25) ipaddr.js: 2.4.0 @@ -10162,7 +9883,7 @@ snapshots: sockjs: 0.3.24 spdy: 4.0.2 webpack-dev-middleware: 7.4.5(tslib@2.8.1)(webpack@5.106.2(postcss@8.5.14)) - ws: 8.20.0 + ws: 8.20.1 optionalDependencies: webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) transitivePeerDependencies: @@ -10271,7 +9992,7 @@ snapshots: wrappy@1.0.2: {} - ws@8.20.0: {} + ws@8.20.1: {} wsl-utils@0.1.0: dependencies: diff --git a/integration/platform-server/pnpm-lock.yaml b/integration/platform-server/pnpm-lock.yaml index 728b87e96118..7d9cb9ea7bf5 100644 --- a/integration/platform-server/pnpm-lock.yaml +++ b/integration/platform-server/pnpm-lock.yaml @@ -50,13 +50,13 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(jiti@2.7.0)(typescript@6.0.3) + version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(jiti@2.7.0)(typescript@6.0.3) '@angular/build': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.47.1)(tslib@2.8.1)(typescript@6.0.3) + version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/cli': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@types/node@20.19.40) + version: 22.0.0-rc.0(@types/node@20.19.41) '@angular/compiler-cli': specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel @@ -68,7 +68,7 @@ importers: version: 6.0.0 '@types/node': specifier: ^20.14.8 - version: 20.19.40 + version: 20.19.41 '@types/selenium-webdriver': specifier: 3.0.7 version: 3.0.7 @@ -89,7 +89,7 @@ importers: version: 3.5.0 ts-node: specifier: ^10.9.1 - version: 10.9.2(@types/node@20.19.40)(typescript@6.0.3) + version: 10.9.2(@types/node@20.19.41)(typescript@6.0.3) typescript: specifier: 6.0.3 version: 6.0.3 @@ -1799,277 +1799,139 @@ packages: cpu: [arm] os: [android] - '@rollup/rollup-android-arm-eabi@4.60.3': - resolution: {integrity: sha512-x35CNW/ANXG3hE/EZpRU8MXX1JDN86hBb2wMGAtltkz7pc6cxgjpy1OMMfDosOQ+2hWqIkag/fGok1Yady9nGw==} - cpu: [arm] - os: [android] - '@rollup/rollup-android-arm64@4.60.2': resolution: {integrity: sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==} cpu: [arm64] os: [android] - '@rollup/rollup-android-arm64@4.60.3': - resolution: {integrity: sha512-xw3xtkDApIOGayehp2+Rz4zimfkaX65r4t47iy+ymQB2G4iJCBBfj0ogVg5jpvjpn8UWn/+q9tprxleYeNp3Hw==} - cpu: [arm64] - os: [android] - '@rollup/rollup-darwin-arm64@4.60.2': resolution: {integrity: sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-arm64@4.60.3': - resolution: {integrity: sha512-vo6Y5Qfpx7/5EaamIwi0WqW2+zfiusVihKatLvtN1VFVy3D13uERk/6gZLU1UiHRL6fDXqj/ELIeVRGnvcTE1g==} - cpu: [arm64] - os: [darwin] - '@rollup/rollup-darwin-x64@4.60.2': resolution: {integrity: sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==} cpu: [x64] os: [darwin] - '@rollup/rollup-darwin-x64@4.60.3': - resolution: {integrity: sha512-D+0QGcZhBzTN82weOnsSlY7V7+RMmPuF1CkbxyMAGE8+ZHeUjyb76ZiWmBlCu//AQQONvxcqRbwZTajZKqjuOw==} - cpu: [x64] - os: [darwin] - '@rollup/rollup-freebsd-arm64@4.60.2': resolution: {integrity: sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-arm64@4.60.3': - resolution: {integrity: sha512-6HnvHCT7fDyj6R0Ph7A6x8dQS/S38MClRWeDLqc0MdfWkxjiu1HSDYrdPhqSILzjTIC/pnXbbJbo+ft+gy/9hQ==} - cpu: [arm64] - os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.2': resolution: {integrity: sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==} cpu: [x64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.3': - resolution: {integrity: sha512-KHLgC3WKlUYW3ShFKnnosZDOJ0xjg9zp7au3sIm2bs/tGBeC2ipmvRh/N7JKi0t9Ue20C0dpEshi8WUubg+cnA==} - cpu: [x64] - os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.60.2': resolution: {integrity: sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==} cpu: [arm] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm-gnueabihf@4.60.3': - resolution: {integrity: sha512-DV6fJoxEYWJOvaZIsok7KrYl0tPvga5OZ2yvKHNNYyk/2roMLqQAbGhr78EQ5YhHpnhLKJD3S1WFusAkmUuV5g==} - cpu: [arm] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-arm-musleabihf@4.60.2': resolution: {integrity: sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==} cpu: [arm] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm-musleabihf@4.60.3': - resolution: {integrity: sha512-mQKoJAzvuOs6F+TZybQO4GOTSMUu7v0WdxEk24krQ/uUxXoPTtHjuaUuPmFhtBcM4K0ons8nrE3JyhTuCFtT/w==} - cpu: [arm] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-arm64-gnu@4.60.2': resolution: {integrity: sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==} cpu: [arm64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm64-gnu@4.60.3': - resolution: {integrity: sha512-Whjj2qoiJ6+OOJMGptTYazaJvjOJm+iKHpXQM1P3LzGjt7Ff++Tp7nH4N8J/BUA7R9IHfDyx4DJIflifwnbmIA==} - cpu: [arm64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-arm64-musl@4.60.2': resolution: {integrity: sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==} cpu: [arm64] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm64-musl@4.60.3': - resolution: {integrity: sha512-4YTNHKqGng5+yiZt3mg77nmyuCfmNfX4fPmyUapBcIk+BdwSwmCWGXOUxhXbBEkFHtoN5boLj/5NON+u5QC9tg==} - cpu: [arm64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-loong64-gnu@4.60.2': resolution: {integrity: sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==} cpu: [loong64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-loong64-gnu@4.60.3': - resolution: {integrity: sha512-SU3kNlhkpI4UqlUc2VXPGK9o886ZsSeGfMAX2ba2b8DKmMXq4AL7KUrkSWVbb7koVqx41Yczx6dx5PNargIrEA==} - cpu: [loong64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-loong64-musl@4.60.2': resolution: {integrity: sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==} cpu: [loong64] os: [linux] libc: [musl] - '@rollup/rollup-linux-loong64-musl@4.60.3': - resolution: {integrity: sha512-6lDLl5h4TXpB1mTf2rQWnAk/LcXrx9vBfu/DT5TIPhvMhRWaZ5MxkIc8u4lJAmBo6klTe1ywXIUHFjylW505sg==} - cpu: [loong64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-ppc64-gnu@4.60.2': resolution: {integrity: sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==} cpu: [ppc64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-ppc64-gnu@4.60.3': - resolution: {integrity: sha512-BMo8bOw8evlup/8G+cj5xWtPyp93xPdyoSN16Zy90Q2QZ0ZYRhCt6ZJSwbrRzG9HApFabjwj2p25TUPDWrhzqQ==} - cpu: [ppc64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-ppc64-musl@4.60.2': resolution: {integrity: sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==} cpu: [ppc64] os: [linux] libc: [musl] - '@rollup/rollup-linux-ppc64-musl@4.60.3': - resolution: {integrity: sha512-E0L8X1dZN1/Rph+5VPF6Xj2G7JJvMACVXtamTJIDrVI44Y3K+G8gQaMEAavbqCGTa16InptiVrX6eM6pmJ+7qA==} - cpu: [ppc64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-riscv64-gnu@4.60.2': resolution: {integrity: sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==} cpu: [riscv64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-riscv64-gnu@4.60.3': - resolution: {integrity: sha512-oZJ/WHaVfHUiRAtmTAeo3DcevNsVvH8mbvodjZy7D5QKvCefO371SiKRpxoDcCxB3PTRTLayWBkvmDQKTcX/sw==} - cpu: [riscv64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-riscv64-musl@4.60.2': resolution: {integrity: sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==} cpu: [riscv64] os: [linux] libc: [musl] - '@rollup/rollup-linux-riscv64-musl@4.60.3': - resolution: {integrity: sha512-Dhbyh7j9FybM3YaTgaHmVALwA8AkUwTPccyCQ79TG9AJUsMQqgN1DDEZNr4+QUfwiWvLDumW5vdwzoeUF+TNxQ==} - cpu: [riscv64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-s390x-gnu@4.60.2': resolution: {integrity: sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==} cpu: [s390x] os: [linux] libc: [glibc] - '@rollup/rollup-linux-s390x-gnu@4.60.3': - resolution: {integrity: sha512-cJd1X5XhHHlltkaypz1UcWLA8AcoIi1aWhsvaWDskD1oz2eKCypnqvTQ8ykMNI0RSmm7NkTdSqSSD7zM0xa6Ig==} - cpu: [s390x] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.2': resolution: {integrity: sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==} cpu: [x64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.3': - resolution: {integrity: sha512-DAZDBHQfG2oQuhY7mc6I3/qB4LU2fQCjRvxbDwd/Jdvb9fypP4IJ4qmtu6lNjes6B531AI8cg1aKC2di97bUxA==} - cpu: [x64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-x64-musl@4.60.2': resolution: {integrity: sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==} cpu: [x64] os: [linux] libc: [musl] - '@rollup/rollup-linux-x64-musl@4.60.3': - resolution: {integrity: sha512-cRxsE8c13mZOh3vP+wLDxpQBRrOHDIGOWyDL93Sy0Ga8y515fBcC2pjUfFwUe5T7tqvTvWbCpg1URM/AXdWIXA==} - cpu: [x64] - os: [linux] - libc: [musl] - '@rollup/rollup-openbsd-x64@4.60.2': resolution: {integrity: sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==} cpu: [x64] os: [openbsd] - '@rollup/rollup-openbsd-x64@4.60.3': - resolution: {integrity: sha512-QaWcIgRxqEdQdhJqW4DJctsH6HCmo5vHxY0krHSX4jMtOqfzC+dqDGuHM87bu4H8JBeibWx7jFz+h6/4C8wA5Q==} - cpu: [x64] - os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.60.2': resolution: {integrity: sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-openharmony-arm64@4.60.3': - resolution: {integrity: sha512-AaXwSvUi3QIPtroAUw1t5yHGIyqKEXwH54WUocFolZhpGDruJcs8c+xPNDRn4XiQsS7MEwnYsHW2l0MBLDMkWg==} - cpu: [arm64] - os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.60.2': resolution: {integrity: sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.60.3': - resolution: {integrity: sha512-65LAKM/bAWDqKNEelHlcHvm2V+Vfb8C6INFxQXRHCvaVN1rJfwr4NvdP4FyzUaLqWfaCGaadf6UbTm8xJeYfEg==} - cpu: [arm64] - os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.2': resolution: {integrity: sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.3': - resolution: {integrity: sha512-EEM2gyhBF5MFnI6vMKdX1LAosE627RGBzIoGMdLloPZkXrUN0Ckqgr2Qi8+J3zip/8NVVro3/FjB+tjhZUgUHA==} - cpu: [ia32] - os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.2': resolution: {integrity: sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.3': - resolution: {integrity: sha512-E5Eb5H/DpxaoXH++Qkv28RcUJboMopmdDUALBczvHMf7hNIxaDZqwY5lK12UK1BHacSmvupoEWGu+n993Z0y1A==} - cpu: [x64] - os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.2': resolution: {integrity: sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.3': - resolution: {integrity: sha512-hPt/bgL5cE+Qp+/TPHBqptcAgPzgj46mPcg/16zNUmbQk0j+mOEQV/+Lqu8QRtDV3Ek95Q6FeFITpuhl6OTsAA==} - cpu: [x64] - os: [win32] - '@schematics/angular@22.0.0-rc.0': resolution: {integrity: sha512-V5BQFRlPfx/rJZOtkDUAunJqNfi+75J0gr41W1VId8TntsddF0jn1Fz4XQncTiu3dk8UMeRUdmyJrjYRl1Q5Wg==} engines: {node: ^22.22.0 || ^24.13.1 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} @@ -2169,8 +2031,8 @@ packages: '@types/mime@1.3.5': resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - '@types/node@20.19.40': - resolution: {integrity: sha512-xxx6M2IpSTnnKcR0cMvIiohkiCx20/oRPtWGbenFygKCGl3zqUzdNjQ/1V4solq1LU+dgv0nQzeGOuqkqZGg0Q==} + '@types/node@20.19.41': + resolution: {integrity: sha512-ECymXOukMnOoVkC2bb1Vc/w/836DXncOg5m8Xj1RH7xSHZJWNYY6Zh7EH477vcnD5egKNNfy2RpNOmuChhFPgQ==} '@types/q@0.0.32': resolution: {integrity: sha512-qYi3YV9inU/REEfxwVcGZzbS3KG/Xs90lv0Pr+lDtuVjBPGd1A+eciXzVSaRvLify132BfcvhvEjeVahrUl0Ug==} @@ -2475,8 +2337,8 @@ packages: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} - baseline-browser-mapping@2.10.29: - resolution: {integrity: sha512-Asa2krT+XTPZINCS+2QcyS8WTkObE77RwkydwF7h6DmnKqbvlalz93m/dnphUyCa6SWSP51VgtEUf2FN+gelFQ==} + baseline-browser-mapping@2.10.30: + resolution: {integrity: sha512-xjOFN16Ha1+Rz4nFYKqHU/LSB+gx/Vi3yQLX7r7sAW+Wa+8hhF2h4pvqTrTMc8+WcDBEunnUurr46Jvv0jk3Vg==} engines: {node: '>=6.0.0'} hasBin: true @@ -2570,8 +2432,8 @@ packages: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} - caniuse-lite@1.0.30001792: - resolution: {integrity: sha512-hVLMUZFgR4JJ6ACt1uEESvQN1/dBVqPAKY0hgrV70eN3391K6juAfTjKZLKvOMsx8PxA7gsY1/tLMMTcfFLLpw==} + caniuse-lite@1.0.30001793: + resolution: {integrity: sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==} caseless@0.12.0: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} @@ -2691,6 +2553,10 @@ packages: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} + content-type@2.0.0: + resolution: {integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==} + engines: {node: '>=18'} + convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} @@ -2874,8 +2740,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.353: - resolution: {integrity: sha512-kOrWphBi8TOZyiJZqsgqIle0lw+tzmnQK83pV9dZUd01Nm2POECSyFQMAuarzZdYqQW7FH9RaYOuaRo3h+bQ3w==} + electron-to-chromium@1.5.358: + resolution: {integrity: sha512-EO7tKm3QxRqTs1lSuPXzl6yRAwznehp0AH9OoMOIC+4mQzTFday8FJCO5KU6J/TFSQXEOahNq4vTKpz1jmCVOA==} emoji-regex@10.6.0: resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} @@ -3018,14 +2884,14 @@ packages: exponential-backoff@3.1.3: resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} - express-rate-limit@8.5.1: - resolution: {integrity: sha512-5O6KYmyJEpuPJV5hNTXKbAHWRqrzyu+OI3vUnSd2kXFubIVpG7ezpgxQy76Zo5GQZtrQBg86hF+CM/NX+cioiQ==} + express-rate-limit@8.5.2: + resolution: {integrity: sha512-5Kb34ipNX694DH48vN9irak1Qx30nb0PLYHXfJgw4YEjiC3ZEmZJhwOp+VfiCYwFzvFTdB9QkArYS5kXa2cx2A==} engines: {node: '>= 16'} peerDependencies: express: '>= 4.11' - express@4.22.1: - resolution: {integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==} + express@4.22.2: + resolution: {integrity: sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==} engines: {node: '>= 0.10.0'} express@5.2.1: @@ -3227,8 +3093,8 @@ packages: resolution: {integrity: sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==} engines: {node: '>= 0.4'} - hono@4.12.18: - resolution: {integrity: sha512-RWzP96k/yv0PQfyXnWjs6zot20TqfpfsNXhOnev8d1InAxubW93L11/oNUc3tQqn2G0bSdAOBpX+2uDFHV7kdQ==} + hono@4.12.19: + resolution: {integrity: sha512-xa3eYXYXx68XTT4hZ7dRzsXBhaq85ToSrlUJNoR0gwz/1Ap/CNwX47wfvV7pc/xWhjKVVkLT7zBJy8chhNguqQ==} engines: {node: '>=16.9.0'} hosted-git-info@9.0.3: @@ -3844,8 +3710,8 @@ packages: engines: {node: ^20.17.0 || >=22.9.0} hasBin: true - node-releases@2.0.38: - resolution: {integrity: sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==} + node-releases@2.0.44: + resolution: {integrity: sha512-5WUyunoPMsvvEhS8AxHtRzP+oA8UCkJ7YRxatWKjngndhDGLiqEVAQKWjFAiAiuL8zMRGzGSJxFnLetoa43qGQ==} nopt@9.0.0: resolution: {integrity: sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==} @@ -4173,12 +4039,8 @@ packages: (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) - qs@6.14.2: - resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==} - engines: {node: '>=0.6'} - - qs@6.15.1: - resolution: {integrity: sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==} + qs@6.15.2: + resolution: {integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==} engines: {node: '>=0.6'} qs@6.5.5: @@ -4289,11 +4151,6 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - rollup@4.60.3: - resolution: {integrity: sha512-pAQK9HalE84QSm4Po3EmWIZPd3FnjkShVkiMlz1iligWYkWQ7wHYd1PF/T7QZ5TVSD6uSTon5gBVMSM4JfBV+A==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - router@2.2.0: resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} engines: {node: '>= 18'} @@ -4642,11 +4499,6 @@ packages: engines: {node: '>=10'} hasBin: true - terser@5.47.1: - resolution: {integrity: sha512-tPbLXTI6ohPASb/1YViL428oEHu6/qv1OxqYnfaonVCFHqx4+wCd95pHrQWsL5X4pl90CTyW9piSAsS2L0VoMw==} - engines: {node: '>=10'} - hasBin: true - thingies@2.6.0: resolution: {integrity: sha512-rMHRjmlFLM1R96UYPvpmnc3LYtdFrT33JIB7L9hetGue1qAPfn1N2LJeEjxUSidu1Iku+haLZXDuEXUHNGO/lg==} engines: {node: '>=10.18'} @@ -4724,9 +4576,9 @@ packages: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} - type-is@2.0.1: - resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} - engines: {node: '>= 0.6'} + type-is@2.1.0: + resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==} + engines: {node: '>= 18'} typed-assert@1.0.9: resolution: {integrity: sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==} @@ -4965,8 +4817,8 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - ws@8.20.0: - resolution: {integrity: sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==} + ws@8.20.1: + resolution: {integrity: sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -5155,13 +5007,13 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(jiti@2.7.0)(typescript@6.0.3)': + '@angular-devkit/build-angular@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(jiti@2.7.0)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 '@angular-devkit/build-webpack': 0.2200.0-rc.0(webpack-dev-server@5.2.3(tslib@2.8.1)(webpack@5.106.2(postcss@8.5.14)))(webpack@5.106.2(esbuild@0.28.0)(postcss@8.5.13)) '@angular-devkit/core': 22.0.0-rc.0 - '@angular/build': 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) + '@angular/build': 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 7.29.0 '@babel/generator': 7.29.1 @@ -5276,7 +5128,7 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 @@ -5285,8 +5137,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@20.19.40) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)) + '@inquirer/confirm': 6.0.12(@types/node@20.19.41) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -5305,7 +5157,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel @@ -5329,7 +5181,7 @@ snapshots: - tsx - yaml - '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.47.1)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-server@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 @@ -5338,8 +5190,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@20.19.40) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)) + '@inquirer/confirm': 6.0.12(@types/node@20.19.41) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -5358,7 +5210,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel @@ -5382,13 +5234,13 @@ snapshots: - tsx - yaml - '@angular/cli@22.0.0-rc.0(@types/node@20.19.40)': + '@angular/cli@22.0.0-rc.0(@types/node@20.19.41)': dependencies: '@angular-devkit/architect': 0.2200.0-rc.0 '@angular-devkit/core': 22.0.0-rc.0 '@angular-devkit/schematics': 22.0.0-rc.0 - '@inquirer/prompts': 8.4.2(@types/node@20.19.40) - '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.40))(@types/node@20.19.40)(listr2@10.2.1) + '@inquirer/prompts': 8.4.2(@types/node@20.19.41) + '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.41))(@types/node@20.19.41)(listr2@10.2.1) '@modelcontextprotocol/sdk': 1.29.0(zod@4.4.2) '@schematics/angular': 22.0.0-rc.0 '@yarnpkg/lockfile': 1.1.0 @@ -6263,135 +6115,135 @@ snapshots: '@harperfast/extended-iterable@1.0.3': optional: true - '@hono/node-server@1.19.14(hono@4.12.18)': + '@hono/node-server@1.19.14(hono@4.12.19)': dependencies: - hono: 4.12.18 + hono: 4.12.19 '@inquirer/ansi@2.0.5': {} - '@inquirer/checkbox@5.1.5(@types/node@20.19.40)': + '@inquirer/checkbox@5.1.5(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/confirm@6.0.12(@types/node@20.19.40)': + '@inquirer/confirm@6.0.12(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/confirm@6.0.13(@types/node@20.19.40)': + '@inquirer/confirm@6.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/core@11.1.10(@types/node@20.19.40)': + '@inquirer/core@11.1.10(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) cli-width: 4.1.0 fast-wrap-ansi: 0.2.0 mute-stream: 3.0.0 signal-exit: 4.1.0 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/editor@5.1.2(@types/node@20.19.40)': + '@inquirer/editor@5.1.2(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/external-editor': 3.0.0(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/external-editor': 3.0.0(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/expand@5.0.14(@types/node@20.19.40)': + '@inquirer/expand@5.0.14(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/external-editor@3.0.0(@types/node@20.19.40)': + '@inquirer/external-editor@3.0.0(@types/node@20.19.41)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@inquirer/figures@2.0.5': {} - '@inquirer/input@5.0.13(@types/node@20.19.40)': + '@inquirer/input@5.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/number@4.0.13(@types/node@20.19.40)': + '@inquirer/number@4.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/password@5.0.13(@types/node@20.19.40)': + '@inquirer/password@5.0.13(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 - - '@inquirer/prompts@8.4.2(@types/node@20.19.40)': - dependencies: - '@inquirer/checkbox': 5.1.5(@types/node@20.19.40) - '@inquirer/confirm': 6.0.13(@types/node@20.19.40) - '@inquirer/editor': 5.1.2(@types/node@20.19.40) - '@inquirer/expand': 5.0.14(@types/node@20.19.40) - '@inquirer/input': 5.0.13(@types/node@20.19.40) - '@inquirer/number': 4.0.13(@types/node@20.19.40) - '@inquirer/password': 5.0.13(@types/node@20.19.40) - '@inquirer/rawlist': 5.2.9(@types/node@20.19.40) - '@inquirer/search': 4.1.9(@types/node@20.19.40) - '@inquirer/select': 5.1.5(@types/node@20.19.40) + '@types/node': 20.19.41 + + '@inquirer/prompts@8.4.2(@types/node@20.19.41)': + dependencies: + '@inquirer/checkbox': 5.1.5(@types/node@20.19.41) + '@inquirer/confirm': 6.0.13(@types/node@20.19.41) + '@inquirer/editor': 5.1.2(@types/node@20.19.41) + '@inquirer/expand': 5.0.14(@types/node@20.19.41) + '@inquirer/input': 5.0.13(@types/node@20.19.41) + '@inquirer/number': 4.0.13(@types/node@20.19.41) + '@inquirer/password': 5.0.13(@types/node@20.19.41) + '@inquirer/rawlist': 5.2.9(@types/node@20.19.41) + '@inquirer/search': 4.1.9(@types/node@20.19.41) + '@inquirer/select': 5.1.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/rawlist@5.2.9(@types/node@20.19.40)': + '@inquirer/rawlist@5.2.9(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/search@4.1.9(@types/node@20.19.40)': + '@inquirer/search@4.1.9(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/select@5.1.5(@types/node@20.19.40)': + '@inquirer/select@5.1.5(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/type@4.0.5(@types/node@20.19.40)': + '@inquirer/type@4.0.5(@types/node@20.19.41)': optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@isaacs/fs-minipass@4.0.1': dependencies: @@ -6557,10 +6409,10 @@ snapshots: '@leichtgewicht/ip-codec@2.0.5': {} - '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.40))(@types/node@20.19.40)(listr2@10.2.1)': + '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.41))(@types/node@20.19.41)(listr2@10.2.1)': dependencies: - '@inquirer/prompts': 8.4.2(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/prompts': 8.4.2(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) listr2: 10.2.1 transitivePeerDependencies: - '@types/node' @@ -6588,7 +6440,7 @@ snapshots: '@modelcontextprotocol/sdk@1.29.0(zod@4.4.2)': dependencies: - '@hono/node-server': 1.19.14(hono@4.12.18) + '@hono/node-server': 1.19.14(hono@4.12.19) ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) content-type: 1.0.5 @@ -6597,8 +6449,8 @@ snapshots: eventsource: 3.0.7 eventsource-parser: 3.0.8 express: 5.2.1 - express-rate-limit: 8.5.1(express@5.2.1) - hono: 4.12.18 + express-rate-limit: 8.5.2(express@5.2.1) + hono: 4.12.19 jose: 6.2.3 json-schema-typed: 8.0.2 pkce-challenge: 5.0.1 @@ -6920,153 +6772,78 @@ snapshots: '@rollup/rollup-android-arm-eabi@4.60.2': optional: true - '@rollup/rollup-android-arm-eabi@4.60.3': - optional: true - '@rollup/rollup-android-arm64@4.60.2': optional: true - '@rollup/rollup-android-arm64@4.60.3': - optional: true - '@rollup/rollup-darwin-arm64@4.60.2': optional: true - '@rollup/rollup-darwin-arm64@4.60.3': - optional: true - '@rollup/rollup-darwin-x64@4.60.2': optional: true - '@rollup/rollup-darwin-x64@4.60.3': - optional: true - '@rollup/rollup-freebsd-arm64@4.60.2': optional: true - '@rollup/rollup-freebsd-arm64@4.60.3': - optional: true - '@rollup/rollup-freebsd-x64@4.60.2': optional: true - '@rollup/rollup-freebsd-x64@4.60.3': - optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.3': - optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.2': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.3': - optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-arm64-musl@4.60.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-loong64-musl@4.60.2': optional: true - '@rollup/rollup-linux-loong64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.2': optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-x64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-x64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-x64-musl@4.60.2': optional: true - '@rollup/rollup-linux-x64-musl@4.60.3': - optional: true - '@rollup/rollup-openbsd-x64@4.60.2': optional: true - '@rollup/rollup-openbsd-x64@4.60.3': - optional: true - '@rollup/rollup-openharmony-arm64@4.60.2': optional: true - '@rollup/rollup-openharmony-arm64@4.60.3': - optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.2': optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.3': - optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.3': - optional: true - '@rollup/rollup-win32-x64-gnu@4.60.2': optional: true - '@rollup/rollup-win32-x64-gnu@4.60.3': - optional: true - '@rollup/rollup-win32-x64-msvc@4.60.2': optional: true - '@rollup/rollup-win32-x64-msvc@4.60.3': - optional: true - '@schematics/angular@22.0.0-rc.0': dependencies: '@angular-devkit/core': 22.0.0-rc.0 @@ -7126,20 +6903,20 @@ snapshots: '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/bonjour@3.5.13': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/connect-history-api-fallback@1.5.4': dependencies: - '@types/express-serve-static-core': 5.1.1 - '@types/node': 20.19.40 + '@types/express-serve-static-core': 4.19.8 + '@types/node': 20.19.41 '@types/connect@3.4.38': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/eslint-scope@3.7.7': dependencies: @@ -7157,14 +6934,14 @@ snapshots: '@types/express-serve-static-core@4.19.8': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/qs': 6.15.1 '@types/range-parser': 1.2.7 '@types/send': 1.2.1 '@types/express-serve-static-core@5.1.1': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/qs': 6.15.1 '@types/range-parser': 1.2.7 '@types/send': 1.2.1 @@ -7186,7 +6963,7 @@ snapshots: '@types/http-proxy@1.17.17': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/jasmine@6.0.0': {} @@ -7194,7 +6971,7 @@ snapshots: '@types/mime@1.3.5': {} - '@types/node@20.19.40': + '@types/node@20.19.41': dependencies: undici-types: 6.21.0 @@ -7211,11 +6988,11 @@ snapshots: '@types/send@0.17.6': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/send@1.2.1': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/serve-index@1.9.4': dependencies: @@ -7224,25 +7001,25 @@ snapshots: '@types/serve-static@1.15.10': dependencies: '@types/http-errors': 2.0.5 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/send': 0.17.6 '@types/serve-static@2.2.0': dependencies: '@types/http-errors': 2.0.5 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/sockjs@0.3.36': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/ws@8.18.1': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1))': + '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2))': dependencies: - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) '@webassemblyjs/ast@1.14.1': dependencies: @@ -7465,7 +7242,7 @@ snapshots: autoprefixer@10.5.0(postcss@8.5.13): dependencies: browserslist: 4.28.2 - caniuse-lite: 1.0.30001792 + caniuse-lite: 1.0.30001793 fraction.js: 5.3.4 picocolors: 1.1.1 postcss: 8.5.13 @@ -7518,7 +7295,7 @@ snapshots: balanced-match@4.0.4: {} - baseline-browser-mapping@2.10.29: {} + baseline-browser-mapping@2.10.30: {} batch@0.6.1: {} @@ -7556,7 +7333,7 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.4.24 on-finished: 2.4.1 - qs: 6.15.1 + qs: 6.15.2 raw-body: 2.5.3 type-is: 1.6.18 unpipe: 1.0.0 @@ -7571,9 +7348,9 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.7.2 on-finished: 2.4.1 - qs: 6.15.1 + qs: 6.15.2 raw-body: 3.0.2 - type-is: 2.0.1 + type-is: 2.1.0 transitivePeerDependencies: - supports-color @@ -7599,10 +7376,10 @@ snapshots: browserslist@4.28.2: dependencies: - baseline-browser-mapping: 2.10.29 - caniuse-lite: 1.0.30001792 - electron-to-chromium: 1.5.353 - node-releases: 2.0.38 + baseline-browser-mapping: 2.10.30 + caniuse-lite: 1.0.30001793 + electron-to-chromium: 1.5.358 + node-releases: 2.0.44 update-browserslist-db: 1.2.3(browserslist@4.28.2) browserstack@1.6.1: @@ -7648,7 +7425,7 @@ snapshots: camelcase@5.3.1: {} - caniuse-lite@1.0.30001792: {} + caniuse-lite@1.0.30001793: {} caseless@0.12.0: {} @@ -7779,6 +7556,8 @@ snapshots: content-type@1.0.5: {} + content-type@2.0.0: {} + convert-source-map@1.9.0: {} convert-source-map@2.0.0: {} @@ -7834,12 +7613,12 @@ snapshots: css-loader@7.1.4(webpack@5.106.2(esbuild@0.28.0)(postcss@8.5.13)): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.14) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.14) - postcss-modules-scope: 3.2.1(postcss@8.5.14) - postcss-modules-values: 4.0.0(postcss@8.5.14) + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.13) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.13) + postcss-modules-scope: 3.2.1(postcss@8.5.13) + postcss-modules-values: 4.0.0(postcss@8.5.13) postcss-value-parser: 4.2.0 semver: 7.7.4 optionalDependencies: @@ -7944,7 +7723,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.353: {} + electron-to-chromium@1.5.358: {} emoji-regex@10.6.0: {} @@ -8093,12 +7872,12 @@ snapshots: exponential-backoff@3.1.3: {} - express-rate-limit@8.5.1(express@5.2.1): + express-rate-limit@8.5.2(express@5.2.1): dependencies: express: 5.2.1 ip-address: 10.2.0 - express@4.22.1: + express@4.22.2: dependencies: accepts: 1.3.8 array-flatten: 1.1.1 @@ -8121,7 +7900,7 @@ snapshots: parseurl: 1.3.3 path-to-regexp: 0.1.13 proxy-addr: 2.0.7 - qs: 6.14.2 + qs: 6.15.2 range-parser: 1.2.1 safe-buffer: 5.2.1 send: 0.19.2 @@ -8156,13 +7935,13 @@ snapshots: once: 1.4.0 parseurl: 1.3.3 proxy-addr: 2.0.7 - qs: 6.15.1 + qs: 6.15.2 range-parser: 1.2.1 router: 2.2.0 send: 1.2.1 serve-static: 2.2.1 statuses: 2.0.2 - type-is: 2.0.1 + type-is: 2.1.0 vary: 1.1.2 transitivePeerDependencies: - supports-color @@ -8356,7 +8135,7 @@ snapshots: dependencies: function-bind: 1.1.2 - hono@4.12.18: {} + hono@4.12.19: {} hosted-git-info@9.0.3: dependencies: @@ -8477,9 +8256,9 @@ snapshots: dependencies: safer-buffer: 2.1.2 - icss-utils@5.1.0(postcss@8.5.14): + icss-utils@5.1.0(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 ignore-walk@8.0.0: dependencies: @@ -8620,7 +8399,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -8982,7 +8761,7 @@ snapshots: undici: 6.25.0 which: 6.0.1 - node-releases@2.0.38: {} + node-releases@2.0.44: {} nopt@9.0.0: dependencies: @@ -9235,26 +9014,26 @@ snapshots: postcss-media-query-parser@0.2.3: {} - postcss-modules-extract-imports@3.1.0(postcss@8.5.14): + postcss-modules-extract-imports@3.1.0(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 - postcss-modules-local-by-default@4.2.0(postcss@8.5.14): + postcss-modules-local-by-default@4.2.0(postcss@8.5.13): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 postcss-selector-parser: 7.1.1 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.2.1(postcss@8.5.14): + postcss-modules-scope@3.2.1(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 postcss-selector-parser: 7.1.1 - postcss-modules-values@4.0.0(postcss@8.5.14): + postcss-modules-values@4.0.0(postcss@8.5.13): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 postcss-safe-parser@7.0.1(postcss@8.5.14): dependencies: @@ -9327,11 +9106,7 @@ snapshots: q@1.4.1: {} - qs@6.14.2: - dependencies: - side-channel: 1.1.0 - - qs@6.15.1: + qs@6.15.2: dependencies: side-channel: 1.1.0 @@ -9438,7 +9213,7 @@ snapshots: adjust-sourcemap-loader: 4.0.0 convert-source-map: 1.9.0 loader-utils: 2.0.4 - postcss: 8.5.14 + postcss: 8.5.13 source-map: 0.6.1 resolve@1.22.12: @@ -9492,37 +9267,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.60.2 fsevents: 2.3.3 - rollup@4.60.3: - dependencies: - '@types/estree': 1.0.8 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.60.3 - '@rollup/rollup-android-arm64': 4.60.3 - '@rollup/rollup-darwin-arm64': 4.60.3 - '@rollup/rollup-darwin-x64': 4.60.3 - '@rollup/rollup-freebsd-arm64': 4.60.3 - '@rollup/rollup-freebsd-x64': 4.60.3 - '@rollup/rollup-linux-arm-gnueabihf': 4.60.3 - '@rollup/rollup-linux-arm-musleabihf': 4.60.3 - '@rollup/rollup-linux-arm64-gnu': 4.60.3 - '@rollup/rollup-linux-arm64-musl': 4.60.3 - '@rollup/rollup-linux-loong64-gnu': 4.60.3 - '@rollup/rollup-linux-loong64-musl': 4.60.3 - '@rollup/rollup-linux-ppc64-gnu': 4.60.3 - '@rollup/rollup-linux-ppc64-musl': 4.60.3 - '@rollup/rollup-linux-riscv64-gnu': 4.60.3 - '@rollup/rollup-linux-riscv64-musl': 4.60.3 - '@rollup/rollup-linux-s390x-gnu': 4.60.3 - '@rollup/rollup-linux-x64-gnu': 4.60.3 - '@rollup/rollup-linux-x64-musl': 4.60.3 - '@rollup/rollup-openbsd-x64': 4.60.3 - '@rollup/rollup-openharmony-arm64': 4.60.3 - '@rollup/rollup-win32-arm64-msvc': 4.60.3 - '@rollup/rollup-win32-ia32-msvc': 4.60.3 - '@rollup/rollup-win32-x64-gnu': 4.60.3 - '@rollup/rollup-win32-x64-msvc': 4.60.3 - fsevents: 2.3.3 - router@2.2.0: dependencies: debug: 4.4.3 @@ -9897,7 +9641,7 @@ snapshots: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 - terser: 5.47.1 + terser: 5.46.2 webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) optionalDependencies: esbuild: 0.28.0 @@ -9910,13 +9654,6 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 - terser@5.47.1: - dependencies: - '@jridgewell/source-map': 0.3.11 - acorn: 8.16.0 - commander: 2.20.3 - source-map-support: 0.5.21 - thingies@2.6.0(tslib@2.8.1): dependencies: tslib: 2.8.1 @@ -9949,14 +9686,14 @@ snapshots: tree-kill@1.2.2: {} - ts-node@10.9.2(@types/node@20.19.40)(typescript@6.0.3): + ts-node@10.9.2(@types/node@20.19.41)(typescript@6.0.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.12 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.19.40 + '@types/node': 20.19.41 acorn: 8.16.0 acorn-walk: 8.3.5 arg: 4.1.3 @@ -9994,9 +9731,9 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 - type-is@2.0.1: + type-is@2.1.0: dependencies: - content-type: 1.0.5 + content-type: 2.0.0 media-typer: 1.1.0 mime-types: 3.0.2 @@ -10051,38 +9788,22 @@ snapshots: core-util-is: 1.0.2 extsprintf: 1.3.0 - vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2): + vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) picomatch: 4.0.4 postcss: 8.5.14 - rollup: 4.60.3 + rollup: 4.60.2 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 fsevents: 2.3.3 jiti: 2.7.0 less: 4.6.4 sass: 1.99.0 terser: 5.46.2 - vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1): - dependencies: - esbuild: 0.27.7 - fdir: 6.5.0(picomatch@4.0.4) - picomatch: 4.0.4 - postcss: 8.5.14 - rollup: 4.60.3 - tinyglobby: 0.2.16 - optionalDependencies: - '@types/node': 20.19.40 - fsevents: 2.3.3 - jiti: 2.7.0 - less: 4.6.4 - sass: 1.99.0 - terser: 5.47.1 - watchpack@2.5.1: dependencies: glob-to-regexp: 0.4.1 @@ -10155,7 +9876,7 @@ snapshots: colorette: 2.0.20 compression: 1.8.1 connect-history-api-fallback: 2.0.0 - express: 4.22.1 + express: 4.22.2 graceful-fs: 4.2.11 http-proxy-middleware: 2.0.9(@types/express@4.17.25) ipaddr.js: 2.4.0 @@ -10168,7 +9889,7 @@ snapshots: sockjs: 0.3.24 spdy: 4.0.2 webpack-dev-middleware: 7.4.5(tslib@2.8.1)(webpack@5.106.2(postcss@8.5.14)) - ws: 8.20.0 + ws: 8.20.1 optionalDependencies: webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) transitivePeerDependencies: @@ -10277,7 +9998,7 @@ snapshots: wrappy@1.0.2: {} - ws@8.20.0: {} + ws@8.20.1: {} wsl-utils@0.1.0: dependencies: diff --git a/integration/standalone-bootstrap/pnpm-lock.yaml b/integration/standalone-bootstrap/pnpm-lock.yaml index 23bdf887b3fb..7d4b6109d977 100644 --- a/integration/standalone-bootstrap/pnpm-lock.yaml +++ b/integration/standalone-bootstrap/pnpm-lock.yaml @@ -38,22 +38,22 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(jiti@2.7.0)(typescript@6.0.3) + version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(jiti@2.7.0)(typescript@6.0.3) '@angular/build': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.47.1)(tslib@2.8.1)(typescript@6.0.3) + version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/cli': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@types/node@20.19.40) + version: 22.0.0-rc.0(@types/node@20.19.41) '@angular/compiler-cli': specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel '@types/node': specifier: ^20.14.8 - version: 20.19.40 + version: 20.19.41 ts-node: specifier: ^10.9.1 - version: 10.9.2(@types/node@20.19.40)(typescript@6.0.3) + version: 10.9.2(@types/node@20.19.41)(typescript@6.0.3) typescript: specifier: 6.0.3 version: 6.0.3 @@ -1763,277 +1763,139 @@ packages: cpu: [arm] os: [android] - '@rollup/rollup-android-arm-eabi@4.60.3': - resolution: {integrity: sha512-x35CNW/ANXG3hE/EZpRU8MXX1JDN86hBb2wMGAtltkz7pc6cxgjpy1OMMfDosOQ+2hWqIkag/fGok1Yady9nGw==} - cpu: [arm] - os: [android] - '@rollup/rollup-android-arm64@4.60.2': resolution: {integrity: sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==} cpu: [arm64] os: [android] - '@rollup/rollup-android-arm64@4.60.3': - resolution: {integrity: sha512-xw3xtkDApIOGayehp2+Rz4zimfkaX65r4t47iy+ymQB2G4iJCBBfj0ogVg5jpvjpn8UWn/+q9tprxleYeNp3Hw==} - cpu: [arm64] - os: [android] - '@rollup/rollup-darwin-arm64@4.60.2': resolution: {integrity: sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-arm64@4.60.3': - resolution: {integrity: sha512-vo6Y5Qfpx7/5EaamIwi0WqW2+zfiusVihKatLvtN1VFVy3D13uERk/6gZLU1UiHRL6fDXqj/ELIeVRGnvcTE1g==} - cpu: [arm64] - os: [darwin] - '@rollup/rollup-darwin-x64@4.60.2': resolution: {integrity: sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==} cpu: [x64] os: [darwin] - '@rollup/rollup-darwin-x64@4.60.3': - resolution: {integrity: sha512-D+0QGcZhBzTN82weOnsSlY7V7+RMmPuF1CkbxyMAGE8+ZHeUjyb76ZiWmBlCu//AQQONvxcqRbwZTajZKqjuOw==} - cpu: [x64] - os: [darwin] - '@rollup/rollup-freebsd-arm64@4.60.2': resolution: {integrity: sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-arm64@4.60.3': - resolution: {integrity: sha512-6HnvHCT7fDyj6R0Ph7A6x8dQS/S38MClRWeDLqc0MdfWkxjiu1HSDYrdPhqSILzjTIC/pnXbbJbo+ft+gy/9hQ==} - cpu: [arm64] - os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.2': resolution: {integrity: sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==} cpu: [x64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.3': - resolution: {integrity: sha512-KHLgC3WKlUYW3ShFKnnosZDOJ0xjg9zp7au3sIm2bs/tGBeC2ipmvRh/N7JKi0t9Ue20C0dpEshi8WUubg+cnA==} - cpu: [x64] - os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.60.2': resolution: {integrity: sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==} cpu: [arm] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm-gnueabihf@4.60.3': - resolution: {integrity: sha512-DV6fJoxEYWJOvaZIsok7KrYl0tPvga5OZ2yvKHNNYyk/2roMLqQAbGhr78EQ5YhHpnhLKJD3S1WFusAkmUuV5g==} - cpu: [arm] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-arm-musleabihf@4.60.2': resolution: {integrity: sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==} cpu: [arm] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm-musleabihf@4.60.3': - resolution: {integrity: sha512-mQKoJAzvuOs6F+TZybQO4GOTSMUu7v0WdxEk24krQ/uUxXoPTtHjuaUuPmFhtBcM4K0ons8nrE3JyhTuCFtT/w==} - cpu: [arm] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-arm64-gnu@4.60.2': resolution: {integrity: sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==} cpu: [arm64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm64-gnu@4.60.3': - resolution: {integrity: sha512-Whjj2qoiJ6+OOJMGptTYazaJvjOJm+iKHpXQM1P3LzGjt7Ff++Tp7nH4N8J/BUA7R9IHfDyx4DJIflifwnbmIA==} - cpu: [arm64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-arm64-musl@4.60.2': resolution: {integrity: sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==} cpu: [arm64] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm64-musl@4.60.3': - resolution: {integrity: sha512-4YTNHKqGng5+yiZt3mg77nmyuCfmNfX4fPmyUapBcIk+BdwSwmCWGXOUxhXbBEkFHtoN5boLj/5NON+u5QC9tg==} - cpu: [arm64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-loong64-gnu@4.60.2': resolution: {integrity: sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==} cpu: [loong64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-loong64-gnu@4.60.3': - resolution: {integrity: sha512-SU3kNlhkpI4UqlUc2VXPGK9o886ZsSeGfMAX2ba2b8DKmMXq4AL7KUrkSWVbb7koVqx41Yczx6dx5PNargIrEA==} - cpu: [loong64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-loong64-musl@4.60.2': resolution: {integrity: sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==} cpu: [loong64] os: [linux] libc: [musl] - '@rollup/rollup-linux-loong64-musl@4.60.3': - resolution: {integrity: sha512-6lDLl5h4TXpB1mTf2rQWnAk/LcXrx9vBfu/DT5TIPhvMhRWaZ5MxkIc8u4lJAmBo6klTe1ywXIUHFjylW505sg==} - cpu: [loong64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-ppc64-gnu@4.60.2': resolution: {integrity: sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==} cpu: [ppc64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-ppc64-gnu@4.60.3': - resolution: {integrity: sha512-BMo8bOw8evlup/8G+cj5xWtPyp93xPdyoSN16Zy90Q2QZ0ZYRhCt6ZJSwbrRzG9HApFabjwj2p25TUPDWrhzqQ==} - cpu: [ppc64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-ppc64-musl@4.60.2': resolution: {integrity: sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==} cpu: [ppc64] os: [linux] libc: [musl] - '@rollup/rollup-linux-ppc64-musl@4.60.3': - resolution: {integrity: sha512-E0L8X1dZN1/Rph+5VPF6Xj2G7JJvMACVXtamTJIDrVI44Y3K+G8gQaMEAavbqCGTa16InptiVrX6eM6pmJ+7qA==} - cpu: [ppc64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-riscv64-gnu@4.60.2': resolution: {integrity: sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==} cpu: [riscv64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-riscv64-gnu@4.60.3': - resolution: {integrity: sha512-oZJ/WHaVfHUiRAtmTAeo3DcevNsVvH8mbvodjZy7D5QKvCefO371SiKRpxoDcCxB3PTRTLayWBkvmDQKTcX/sw==} - cpu: [riscv64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-riscv64-musl@4.60.2': resolution: {integrity: sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==} cpu: [riscv64] os: [linux] libc: [musl] - '@rollup/rollup-linux-riscv64-musl@4.60.3': - resolution: {integrity: sha512-Dhbyh7j9FybM3YaTgaHmVALwA8AkUwTPccyCQ79TG9AJUsMQqgN1DDEZNr4+QUfwiWvLDumW5vdwzoeUF+TNxQ==} - cpu: [riscv64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-s390x-gnu@4.60.2': resolution: {integrity: sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==} cpu: [s390x] os: [linux] libc: [glibc] - '@rollup/rollup-linux-s390x-gnu@4.60.3': - resolution: {integrity: sha512-cJd1X5XhHHlltkaypz1UcWLA8AcoIi1aWhsvaWDskD1oz2eKCypnqvTQ8ykMNI0RSmm7NkTdSqSSD7zM0xa6Ig==} - cpu: [s390x] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.2': resolution: {integrity: sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==} cpu: [x64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.3': - resolution: {integrity: sha512-DAZDBHQfG2oQuhY7mc6I3/qB4LU2fQCjRvxbDwd/Jdvb9fypP4IJ4qmtu6lNjes6B531AI8cg1aKC2di97bUxA==} - cpu: [x64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-x64-musl@4.60.2': resolution: {integrity: sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==} cpu: [x64] os: [linux] libc: [musl] - '@rollup/rollup-linux-x64-musl@4.60.3': - resolution: {integrity: sha512-cRxsE8c13mZOh3vP+wLDxpQBRrOHDIGOWyDL93Sy0Ga8y515fBcC2pjUfFwUe5T7tqvTvWbCpg1URM/AXdWIXA==} - cpu: [x64] - os: [linux] - libc: [musl] - '@rollup/rollup-openbsd-x64@4.60.2': resolution: {integrity: sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==} cpu: [x64] os: [openbsd] - '@rollup/rollup-openbsd-x64@4.60.3': - resolution: {integrity: sha512-QaWcIgRxqEdQdhJqW4DJctsH6HCmo5vHxY0krHSX4jMtOqfzC+dqDGuHM87bu4H8JBeibWx7jFz+h6/4C8wA5Q==} - cpu: [x64] - os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.60.2': resolution: {integrity: sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-openharmony-arm64@4.60.3': - resolution: {integrity: sha512-AaXwSvUi3QIPtroAUw1t5yHGIyqKEXwH54WUocFolZhpGDruJcs8c+xPNDRn4XiQsS7MEwnYsHW2l0MBLDMkWg==} - cpu: [arm64] - os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.60.2': resolution: {integrity: sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.60.3': - resolution: {integrity: sha512-65LAKM/bAWDqKNEelHlcHvm2V+Vfb8C6INFxQXRHCvaVN1rJfwr4NvdP4FyzUaLqWfaCGaadf6UbTm8xJeYfEg==} - cpu: [arm64] - os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.2': resolution: {integrity: sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.3': - resolution: {integrity: sha512-EEM2gyhBF5MFnI6vMKdX1LAosE627RGBzIoGMdLloPZkXrUN0Ckqgr2Qi8+J3zip/8NVVro3/FjB+tjhZUgUHA==} - cpu: [ia32] - os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.2': resolution: {integrity: sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.3': - resolution: {integrity: sha512-E5Eb5H/DpxaoXH++Qkv28RcUJboMopmdDUALBczvHMf7hNIxaDZqwY5lK12UK1BHacSmvupoEWGu+n993Z0y1A==} - cpu: [x64] - os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.2': resolution: {integrity: sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.3': - resolution: {integrity: sha512-hPt/bgL5cE+Qp+/TPHBqptcAgPzgj46mPcg/16zNUmbQk0j+mOEQV/+Lqu8QRtDV3Ek95Q6FeFITpuhl6OTsAA==} - cpu: [x64] - os: [win32] - '@schematics/angular@22.0.0-rc.0': resolution: {integrity: sha512-V5BQFRlPfx/rJZOtkDUAunJqNfi+75J0gr41W1VId8TntsddF0jn1Fz4XQncTiu3dk8UMeRUdmyJrjYRl1Q5Wg==} engines: {node: ^22.22.0 || ^24.13.1 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} @@ -2124,8 +1986,8 @@ packages: '@types/mime@1.3.5': resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - '@types/node@20.19.40': - resolution: {integrity: sha512-xxx6M2IpSTnnKcR0cMvIiohkiCx20/oRPtWGbenFygKCGl3zqUzdNjQ/1V4solq1LU+dgv0nQzeGOuqkqZGg0Q==} + '@types/node@20.19.41': + resolution: {integrity: sha512-ECymXOukMnOoVkC2bb1Vc/w/836DXncOg5m8Xj1RH7xSHZJWNYY6Zh7EH477vcnD5egKNNfy2RpNOmuChhFPgQ==} '@types/qs@6.15.1': resolution: {integrity: sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==} @@ -2363,8 +2225,8 @@ packages: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} - baseline-browser-mapping@2.10.29: - resolution: {integrity: sha512-Asa2krT+XTPZINCS+2QcyS8WTkObE77RwkydwF7h6DmnKqbvlalz93m/dnphUyCa6SWSP51VgtEUf2FN+gelFQ==} + baseline-browser-mapping@2.10.30: + resolution: {integrity: sha512-xjOFN16Ha1+Rz4nFYKqHU/LSB+gx/Vi3yQLX7r7sAW+Wa+8hhF2h4pvqTrTMc8+WcDBEunnUurr46Jvv0jk3Vg==} engines: {node: '>=6.0.0'} hasBin: true @@ -2440,8 +2302,8 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - caniuse-lite@1.0.30001792: - resolution: {integrity: sha512-hVLMUZFgR4JJ6ACt1uEESvQN1/dBVqPAKY0hgrV70eN3391K6juAfTjKZLKvOMsx8PxA7gsY1/tLMMTcfFLLpw==} + caniuse-lite@1.0.30001793: + resolution: {integrity: sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==} chalk@5.6.2: resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} @@ -2520,6 +2382,10 @@ packages: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} + content-type@2.0.0: + resolution: {integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==} + engines: {node: '>=18'} + convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} @@ -2673,8 +2539,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.353: - resolution: {integrity: sha512-kOrWphBi8TOZyiJZqsgqIle0lw+tzmnQK83pV9dZUd01Nm2POECSyFQMAuarzZdYqQW7FH9RaYOuaRo3h+bQ3w==} + electron-to-chromium@1.5.358: + resolution: {integrity: sha512-EO7tKm3QxRqTs1lSuPXzl6yRAwznehp0AH9OoMOIC+4mQzTFday8FJCO5KU6J/TFSQXEOahNq4vTKpz1jmCVOA==} emoji-regex@10.6.0: resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} @@ -2800,14 +2666,14 @@ packages: exponential-backoff@3.1.3: resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} - express-rate-limit@8.5.1: - resolution: {integrity: sha512-5O6KYmyJEpuPJV5hNTXKbAHWRqrzyu+OI3vUnSd2kXFubIVpG7ezpgxQy76Zo5GQZtrQBg86hF+CM/NX+cioiQ==} + express-rate-limit@8.5.2: + resolution: {integrity: sha512-5Kb34ipNX694DH48vN9irak1Qx30nb0PLYHXfJgw4YEjiC3ZEmZJhwOp+VfiCYwFzvFTdB9QkArYS5kXa2cx2A==} engines: {node: '>= 16'} peerDependencies: express: '>= 4.11' - express@4.22.1: - resolution: {integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==} + express@4.22.2: + resolution: {integrity: sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==} engines: {node: '>= 0.10.0'} express@5.2.1: @@ -2961,8 +2827,8 @@ packages: resolution: {integrity: sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==} engines: {node: '>= 0.4'} - hono@4.12.18: - resolution: {integrity: sha512-RWzP96k/yv0PQfyXnWjs6zot20TqfpfsNXhOnev8d1InAxubW93L11/oNUc3tQqn2G0bSdAOBpX+2uDFHV7kdQ==} + hono@4.12.19: + resolution: {integrity: sha512-xa3eYXYXx68XTT4hZ7dRzsXBhaq85ToSrlUJNoR0gwz/1Ap/CNwX47wfvV7pc/xWhjKVVkLT7zBJy8chhNguqQ==} engines: {node: '>=16.9.0'} hosted-git-info@9.0.3: @@ -3489,8 +3355,8 @@ packages: engines: {node: ^20.17.0 || >=22.9.0} hasBin: true - node-releases@2.0.38: - resolution: {integrity: sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==} + node-releases@2.0.44: + resolution: {integrity: sha512-5WUyunoPMsvvEhS8AxHtRzP+oA8UCkJ7YRxatWKjngndhDGLiqEVAQKWjFAiAiuL8zMRGzGSJxFnLetoa43qGQ==} nopt@9.0.0: resolution: {integrity: sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==} @@ -3753,12 +3619,8 @@ packages: resolution: {integrity: sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==} engines: {node: '>=16.0.0'} - qs@6.14.2: - resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==} - engines: {node: '>=0.6'} - - qs@6.15.1: - resolution: {integrity: sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==} + qs@6.15.2: + resolution: {integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==} engines: {node: '>=0.6'} range-parser@1.2.1: @@ -3848,11 +3710,6 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - rollup@4.60.3: - resolution: {integrity: sha512-pAQK9HalE84QSm4Po3EmWIZPd3FnjkShVkiMlz1iligWYkWQ7wHYd1PF/T7QZ5TVSD6uSTon5gBVMSM4JfBV+A==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - router@2.2.0: resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} engines: {node: '>= 18'} @@ -4152,11 +4009,6 @@ packages: engines: {node: '>=10'} hasBin: true - terser@5.47.1: - resolution: {integrity: sha512-tPbLXTI6ohPASb/1YViL428oEHu6/qv1OxqYnfaonVCFHqx4+wCd95pHrQWsL5X4pl90CTyW9piSAsS2L0VoMw==} - engines: {node: '>=10'} - hasBin: true - thingies@2.6.0: resolution: {integrity: sha512-rMHRjmlFLM1R96UYPvpmnc3LYtdFrT33JIB7L9hetGue1qAPfn1N2LJeEjxUSidu1Iku+haLZXDuEXUHNGO/lg==} engines: {node: '>=10.18'} @@ -4216,9 +4068,9 @@ packages: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} - type-is@2.0.1: - resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} - engines: {node: '>= 0.6'} + type-is@2.1.0: + resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==} + engines: {node: '>= 18'} typed-assert@1.0.9: resolution: {integrity: sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==} @@ -4425,8 +4277,8 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - ws@8.20.0: - resolution: {integrity: sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==} + ws@8.20.1: + resolution: {integrity: sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -4588,13 +4440,13 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(jiti@2.7.0)(typescript@6.0.3)': + '@angular-devkit/build-angular@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(jiti@2.7.0)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 '@angular-devkit/build-webpack': 0.2200.0-rc.0(webpack-dev-server@5.2.3(tslib@2.8.1)(webpack@5.106.2(postcss@8.5.14)))(webpack@5.106.2(esbuild@0.28.0)(postcss@8.5.13)) '@angular-devkit/core': 22.0.0-rc.0 - '@angular/build': 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) + '@angular/build': 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 7.29.0 '@babel/generator': 7.29.1 @@ -4708,7 +4560,7 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 @@ -4717,8 +4569,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@20.19.40) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)) + '@inquirer/confirm': 6.0.12(@types/node@20.19.41) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -4737,7 +4589,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel @@ -4760,7 +4612,7 @@ snapshots: - tsx - yaml - '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.47.1)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(less@4.6.4)(postcss@8.5.14)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 @@ -4769,8 +4621,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@20.19.40) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)) + '@inquirer/confirm': 6.0.12(@types/node@20.19.41) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -4789,7 +4641,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel @@ -4812,13 +4664,13 @@ snapshots: - tsx - yaml - '@angular/cli@22.0.0-rc.0(@types/node@20.19.40)': + '@angular/cli@22.0.0-rc.0(@types/node@20.19.41)': dependencies: '@angular-devkit/architect': 0.2200.0-rc.0 '@angular-devkit/core': 22.0.0-rc.0 '@angular-devkit/schematics': 22.0.0-rc.0 - '@inquirer/prompts': 8.4.2(@types/node@20.19.40) - '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.40))(@types/node@20.19.40)(listr2@10.2.1) + '@inquirer/prompts': 8.4.2(@types/node@20.19.41) + '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.41))(@types/node@20.19.41)(listr2@10.2.1) '@modelcontextprotocol/sdk': 1.29.0(zod@4.4.2) '@schematics/angular': 22.0.0-rc.0 '@yarnpkg/lockfile': 1.1.0 @@ -5691,135 +5543,135 @@ snapshots: '@harperfast/extended-iterable@1.0.3': optional: true - '@hono/node-server@1.19.14(hono@4.12.18)': + '@hono/node-server@1.19.14(hono@4.12.19)': dependencies: - hono: 4.12.18 + hono: 4.12.19 '@inquirer/ansi@2.0.5': {} - '@inquirer/checkbox@5.1.5(@types/node@20.19.40)': + '@inquirer/checkbox@5.1.5(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/confirm@6.0.12(@types/node@20.19.40)': + '@inquirer/confirm@6.0.12(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/confirm@6.0.13(@types/node@20.19.40)': + '@inquirer/confirm@6.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/core@11.1.10(@types/node@20.19.40)': + '@inquirer/core@11.1.10(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) cli-width: 4.1.0 fast-wrap-ansi: 0.2.0 mute-stream: 3.0.0 signal-exit: 4.1.0 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/editor@5.1.2(@types/node@20.19.40)': + '@inquirer/editor@5.1.2(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/external-editor': 3.0.0(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/external-editor': 3.0.0(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/expand@5.0.14(@types/node@20.19.40)': + '@inquirer/expand@5.0.14(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/external-editor@3.0.0(@types/node@20.19.40)': + '@inquirer/external-editor@3.0.0(@types/node@20.19.41)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@inquirer/figures@2.0.5': {} - '@inquirer/input@5.0.13(@types/node@20.19.40)': + '@inquirer/input@5.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/number@4.0.13(@types/node@20.19.40)': + '@inquirer/number@4.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/password@5.0.13(@types/node@20.19.40)': + '@inquirer/password@5.0.13(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 - - '@inquirer/prompts@8.4.2(@types/node@20.19.40)': - dependencies: - '@inquirer/checkbox': 5.1.5(@types/node@20.19.40) - '@inquirer/confirm': 6.0.13(@types/node@20.19.40) - '@inquirer/editor': 5.1.2(@types/node@20.19.40) - '@inquirer/expand': 5.0.14(@types/node@20.19.40) - '@inquirer/input': 5.0.13(@types/node@20.19.40) - '@inquirer/number': 4.0.13(@types/node@20.19.40) - '@inquirer/password': 5.0.13(@types/node@20.19.40) - '@inquirer/rawlist': 5.2.9(@types/node@20.19.40) - '@inquirer/search': 4.1.9(@types/node@20.19.40) - '@inquirer/select': 5.1.5(@types/node@20.19.40) + '@types/node': 20.19.41 + + '@inquirer/prompts@8.4.2(@types/node@20.19.41)': + dependencies: + '@inquirer/checkbox': 5.1.5(@types/node@20.19.41) + '@inquirer/confirm': 6.0.13(@types/node@20.19.41) + '@inquirer/editor': 5.1.2(@types/node@20.19.41) + '@inquirer/expand': 5.0.14(@types/node@20.19.41) + '@inquirer/input': 5.0.13(@types/node@20.19.41) + '@inquirer/number': 4.0.13(@types/node@20.19.41) + '@inquirer/password': 5.0.13(@types/node@20.19.41) + '@inquirer/rawlist': 5.2.9(@types/node@20.19.41) + '@inquirer/search': 4.1.9(@types/node@20.19.41) + '@inquirer/select': 5.1.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/rawlist@5.2.9(@types/node@20.19.40)': + '@inquirer/rawlist@5.2.9(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/search@4.1.9(@types/node@20.19.40)': + '@inquirer/search@4.1.9(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/select@5.1.5(@types/node@20.19.40)': + '@inquirer/select@5.1.5(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/type@4.0.5(@types/node@20.19.40)': + '@inquirer/type@4.0.5(@types/node@20.19.41)': optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@isaacs/fs-minipass@4.0.1': dependencies: @@ -5985,10 +5837,10 @@ snapshots: '@leichtgewicht/ip-codec@2.0.5': {} - '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.40))(@types/node@20.19.40)(listr2@10.2.1)': + '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.41))(@types/node@20.19.41)(listr2@10.2.1)': dependencies: - '@inquirer/prompts': 8.4.2(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/prompts': 8.4.2(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) listr2: 10.2.1 transitivePeerDependencies: - '@types/node' @@ -6016,7 +5868,7 @@ snapshots: '@modelcontextprotocol/sdk@1.29.0(zod@4.4.2)': dependencies: - '@hono/node-server': 1.19.14(hono@4.12.18) + '@hono/node-server': 1.19.14(hono@4.12.19) ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) content-type: 1.0.5 @@ -6025,8 +5877,8 @@ snapshots: eventsource: 3.0.7 eventsource-parser: 3.0.8 express: 5.2.1 - express-rate-limit: 8.5.1(express@5.2.1) - hono: 4.12.18 + express-rate-limit: 8.5.2(express@5.2.1) + hono: 4.12.19 jose: 6.2.3 json-schema-typed: 8.0.2 pkce-challenge: 5.0.1 @@ -6348,153 +6200,78 @@ snapshots: '@rollup/rollup-android-arm-eabi@4.60.2': optional: true - '@rollup/rollup-android-arm-eabi@4.60.3': - optional: true - '@rollup/rollup-android-arm64@4.60.2': optional: true - '@rollup/rollup-android-arm64@4.60.3': - optional: true - '@rollup/rollup-darwin-arm64@4.60.2': optional: true - '@rollup/rollup-darwin-arm64@4.60.3': - optional: true - '@rollup/rollup-darwin-x64@4.60.2': optional: true - '@rollup/rollup-darwin-x64@4.60.3': - optional: true - '@rollup/rollup-freebsd-arm64@4.60.2': optional: true - '@rollup/rollup-freebsd-arm64@4.60.3': - optional: true - '@rollup/rollup-freebsd-x64@4.60.2': optional: true - '@rollup/rollup-freebsd-x64@4.60.3': - optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.3': - optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.2': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.3': - optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-arm64-musl@4.60.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-loong64-musl@4.60.2': optional: true - '@rollup/rollup-linux-loong64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.2': optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-x64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-x64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-x64-musl@4.60.2': optional: true - '@rollup/rollup-linux-x64-musl@4.60.3': - optional: true - '@rollup/rollup-openbsd-x64@4.60.2': optional: true - '@rollup/rollup-openbsd-x64@4.60.3': - optional: true - '@rollup/rollup-openharmony-arm64@4.60.2': optional: true - '@rollup/rollup-openharmony-arm64@4.60.3': - optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.2': optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.3': - optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.3': - optional: true - '@rollup/rollup-win32-x64-gnu@4.60.2': optional: true - '@rollup/rollup-win32-x64-gnu@4.60.3': - optional: true - '@rollup/rollup-win32-x64-msvc@4.60.2': optional: true - '@rollup/rollup-win32-x64-msvc@4.60.3': - optional: true - '@schematics/angular@22.0.0-rc.0': dependencies: '@angular-devkit/core': 22.0.0-rc.0 @@ -6554,20 +6331,20 @@ snapshots: '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/bonjour@3.5.13': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 4.19.8 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/connect@3.4.38': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/eslint-scope@3.7.7': dependencies: @@ -6585,7 +6362,7 @@ snapshots: '@types/express-serve-static-core@4.19.8': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/qs': 6.15.1 '@types/range-parser': 1.2.7 '@types/send': 1.2.1 @@ -6601,13 +6378,13 @@ snapshots: '@types/http-proxy@1.17.17': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/json-schema@7.0.15': {} '@types/mime@1.3.5': {} - '@types/node@20.19.40': + '@types/node@20.19.41': dependencies: undici-types: 6.21.0 @@ -6620,11 +6397,11 @@ snapshots: '@types/send@0.17.6': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/send@1.2.1': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/serve-index@1.9.4': dependencies: @@ -6633,20 +6410,20 @@ snapshots: '@types/serve-static@1.15.10': dependencies: '@types/http-errors': 2.0.5 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/send': 0.17.6 '@types/sockjs@0.3.36': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/ws@8.18.1': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1))': + '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2))': dependencies: - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) '@webassemblyjs/ast@1.14.1': dependencies: @@ -6830,7 +6607,7 @@ snapshots: autoprefixer@10.5.0(postcss@8.5.13): dependencies: browserslist: 4.28.2 - caniuse-lite: 1.0.30001792 + caniuse-lite: 1.0.30001793 fraction.js: 5.3.4 picocolors: 1.1.1 postcss: 8.5.13 @@ -6877,7 +6654,7 @@ snapshots: balanced-match@4.0.4: {} - baseline-browser-mapping@2.10.29: {} + baseline-browser-mapping@2.10.30: {} batch@0.6.1: {} @@ -6907,7 +6684,7 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.4.24 on-finished: 2.4.1 - qs: 6.15.1 + qs: 6.15.2 raw-body: 2.5.3 type-is: 1.6.18 unpipe: 1.0.0 @@ -6922,9 +6699,9 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.7.2 on-finished: 2.4.1 - qs: 6.15.1 + qs: 6.15.2 raw-body: 3.0.2 - type-is: 2.0.1 + type-is: 2.1.0 transitivePeerDependencies: - supports-color @@ -6945,10 +6722,10 @@ snapshots: browserslist@4.28.2: dependencies: - baseline-browser-mapping: 2.10.29 - caniuse-lite: 1.0.30001792 - electron-to-chromium: 1.5.353 - node-releases: 2.0.38 + baseline-browser-mapping: 2.10.30 + caniuse-lite: 1.0.30001793 + electron-to-chromium: 1.5.358 + node-releases: 2.0.44 update-browserslist-db: 1.2.3(browserslist@4.28.2) buffer-from@1.1.2: {} @@ -6986,7 +6763,7 @@ snapshots: callsites@3.1.0: {} - caniuse-lite@1.0.30001792: {} + caniuse-lite@1.0.30001793: {} chalk@5.6.2: {} @@ -7067,6 +6844,8 @@ snapshots: content-type@1.0.5: {} + content-type@2.0.0: {} + convert-source-map@1.9.0: {} convert-source-map@2.0.0: {} @@ -7120,12 +6899,12 @@ snapshots: css-loader@7.1.4(webpack@5.106.2(esbuild@0.28.0)(postcss@8.5.13)): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.14) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.14) - postcss-modules-scope: 3.2.1(postcss@8.5.14) - postcss-modules-values: 4.0.0(postcss@8.5.14) + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.13) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.13) + postcss-modules-scope: 3.2.1(postcss@8.5.13) + postcss-modules-values: 4.0.0(postcss@8.5.13) postcss-value-parser: 4.2.0 semver: 7.7.4 optionalDependencies: @@ -7203,7 +6982,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.353: {} + electron-to-chromium@1.5.358: {} emoji-regex@10.6.0: {} @@ -7340,12 +7119,12 @@ snapshots: exponential-backoff@3.1.3: {} - express-rate-limit@8.5.1(express@5.2.1): + express-rate-limit@8.5.2(express@5.2.1): dependencies: express: 5.2.1 ip-address: 10.2.0 - express@4.22.1: + express@4.22.2: dependencies: accepts: 1.3.8 array-flatten: 1.1.1 @@ -7368,7 +7147,7 @@ snapshots: parseurl: 1.3.3 path-to-regexp: 0.1.13 proxy-addr: 2.0.7 - qs: 6.14.2 + qs: 6.15.2 range-parser: 1.2.1 safe-buffer: 5.2.1 send: 0.19.2 @@ -7403,13 +7182,13 @@ snapshots: once: 1.4.0 parseurl: 1.3.3 proxy-addr: 2.0.7 - qs: 6.15.1 + qs: 6.15.2 range-parser: 1.2.1 router: 2.2.0 send: 1.2.1 serve-static: 2.2.1 statuses: 2.0.2 - type-is: 2.0.1 + type-is: 2.1.0 vary: 1.1.2 transitivePeerDependencies: - supports-color @@ -7549,7 +7328,7 @@ snapshots: dependencies: function-bind: 1.1.2 - hono@4.12.18: {} + hono@4.12.19: {} hosted-git-info@9.0.3: dependencies: @@ -7657,9 +7436,9 @@ snapshots: dependencies: safer-buffer: 2.1.2 - icss-utils@5.1.0(postcss@8.5.14): + icss-utils@5.1.0(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 ignore-walk@8.0.0: dependencies: @@ -7759,7 +7538,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -8085,7 +7864,7 @@ snapshots: undici: 6.25.0 which: 6.0.1 - node-releases@2.0.38: {} + node-releases@2.0.44: {} nopt@9.0.0: dependencies: @@ -8308,26 +8087,26 @@ snapshots: postcss-media-query-parser@0.2.3: {} - postcss-modules-extract-imports@3.1.0(postcss@8.5.14): + postcss-modules-extract-imports@3.1.0(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 - postcss-modules-local-by-default@4.2.0(postcss@8.5.14): + postcss-modules-local-by-default@4.2.0(postcss@8.5.13): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 postcss-selector-parser: 7.1.1 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.2.1(postcss@8.5.14): + postcss-modules-scope@3.2.1(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 postcss-selector-parser: 7.1.1 - postcss-modules-values@4.0.0(postcss@8.5.14): + postcss-modules-values@4.0.0(postcss@8.5.13): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 postcss-safe-parser@7.0.1(postcss@8.5.14): dependencies: @@ -8372,11 +8151,7 @@ snapshots: pvutils@1.1.5: {} - qs@6.14.2: - dependencies: - side-channel: 1.1.0 - - qs@6.15.1: + qs@6.15.2: dependencies: side-channel: 1.1.0 @@ -8454,7 +8229,7 @@ snapshots: adjust-sourcemap-loader: 4.0.0 convert-source-map: 1.9.0 loader-utils: 2.0.4 - postcss: 8.5.14 + postcss: 8.5.13 source-map: 0.6.1 resolve@1.22.12: @@ -8504,37 +8279,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.60.2 fsevents: 2.3.3 - rollup@4.60.3: - dependencies: - '@types/estree': 1.0.8 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.60.3 - '@rollup/rollup-android-arm64': 4.60.3 - '@rollup/rollup-darwin-arm64': 4.60.3 - '@rollup/rollup-darwin-x64': 4.60.3 - '@rollup/rollup-freebsd-arm64': 4.60.3 - '@rollup/rollup-freebsd-x64': 4.60.3 - '@rollup/rollup-linux-arm-gnueabihf': 4.60.3 - '@rollup/rollup-linux-arm-musleabihf': 4.60.3 - '@rollup/rollup-linux-arm64-gnu': 4.60.3 - '@rollup/rollup-linux-arm64-musl': 4.60.3 - '@rollup/rollup-linux-loong64-gnu': 4.60.3 - '@rollup/rollup-linux-loong64-musl': 4.60.3 - '@rollup/rollup-linux-ppc64-gnu': 4.60.3 - '@rollup/rollup-linux-ppc64-musl': 4.60.3 - '@rollup/rollup-linux-riscv64-gnu': 4.60.3 - '@rollup/rollup-linux-riscv64-musl': 4.60.3 - '@rollup/rollup-linux-s390x-gnu': 4.60.3 - '@rollup/rollup-linux-x64-gnu': 4.60.3 - '@rollup/rollup-linux-x64-musl': 4.60.3 - '@rollup/rollup-openbsd-x64': 4.60.3 - '@rollup/rollup-openharmony-arm64': 4.60.3 - '@rollup/rollup-win32-arm64-msvc': 4.60.3 - '@rollup/rollup-win32-ia32-msvc': 4.60.3 - '@rollup/rollup-win32-x64-gnu': 4.60.3 - '@rollup/rollup-win32-x64-msvc': 4.60.3 - fsevents: 2.3.3 - router@2.2.0: dependencies: debug: 4.4.3 @@ -8849,7 +8593,7 @@ snapshots: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 - terser: 5.47.1 + terser: 5.46.2 webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) optionalDependencies: esbuild: 0.28.0 @@ -8862,13 +8606,6 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 - terser@5.47.1: - dependencies: - '@jridgewell/source-map': 0.3.11 - acorn: 8.16.0 - commander: 2.20.3 - source-map-support: 0.5.21 - thingies@2.6.0(tslib@2.8.1): dependencies: tslib: 2.8.1 @@ -8890,14 +8627,14 @@ snapshots: dependencies: tslib: 2.8.1 - ts-node@10.9.2(@types/node@20.19.40)(typescript@6.0.3): + ts-node@10.9.2(@types/node@20.19.41)(typescript@6.0.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.12 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.19.40 + '@types/node': 20.19.41 acorn: 8.16.0 acorn-walk: 8.3.5 arg: 4.1.3 @@ -8929,9 +8666,9 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 - type-is@2.0.1: + type-is@2.1.0: dependencies: - content-type: 1.0.5 + content-type: 2.0.0 media-typer: 1.1.0 mime-types: 3.0.2 @@ -8974,38 +8711,22 @@ snapshots: vary@1.1.2: {} - vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2): + vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) picomatch: 4.0.4 postcss: 8.5.14 - rollup: 4.60.3 + rollup: 4.60.2 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 fsevents: 2.3.3 jiti: 2.7.0 less: 4.6.4 sass: 1.99.0 terser: 5.46.2 - vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1): - dependencies: - esbuild: 0.27.7 - fdir: 6.5.0(picomatch@4.0.4) - picomatch: 4.0.4 - postcss: 8.5.14 - rollup: 4.60.3 - tinyglobby: 0.2.16 - optionalDependencies: - '@types/node': 20.19.40 - fsevents: 2.3.3 - jiti: 2.7.0 - less: 4.6.4 - sass: 1.99.0 - terser: 5.47.1 - watchpack@2.5.1: dependencies: glob-to-regexp: 0.4.1 @@ -9059,7 +8780,7 @@ snapshots: colorette: 2.0.20 compression: 1.8.1 connect-history-api-fallback: 2.0.0 - express: 4.22.1 + express: 4.22.2 graceful-fs: 4.2.11 http-proxy-middleware: 2.0.9(@types/express@4.17.25) ipaddr.js: 2.4.0 @@ -9072,7 +8793,7 @@ snapshots: sockjs: 0.3.24 spdy: 4.0.2 webpack-dev-middleware: 7.4.5(tslib@2.8.1)(webpack@5.106.2(postcss@8.5.14)) - ws: 8.20.0 + ws: 8.20.1 optionalDependencies: webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) transitivePeerDependencies: @@ -9167,7 +8888,7 @@ snapshots: wrappy@1.0.2: {} - ws@8.20.0: {} + ws@8.20.1: {} wsl-utils@0.1.0: dependencies: diff --git a/integration/trusted-types/pnpm-lock.yaml b/integration/trusted-types/pnpm-lock.yaml index 3ce2723d1fcb..e7babe39c7eb 100644 --- a/integration/trusted-types/pnpm-lock.yaml +++ b/integration/trusted-types/pnpm-lock.yaml @@ -44,13 +44,13 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(jiti@2.7.0)(karma@6.4.4)(typescript@6.0.3) + version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(jiti@2.7.0)(karma@6.4.4)(typescript@6.0.3) '@angular/build': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(karma@6.4.4)(less@4.6.4)(postcss@8.5.14)(terser@5.47.1)(tslib@2.8.1)(typescript@6.0.3) + version: 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(karma@6.4.4)(less@4.6.4)(postcss@8.5.14)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/cli': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@types/node@20.19.40) + version: 22.0.0-rc.0(@types/node@20.19.41) '@angular/compiler-cli': specifier: link:./in-existing-linked-by-bazel version: link:in-existing-linked-by-bazel @@ -59,7 +59,7 @@ importers: version: 6.0.0 '@types/node': specifier: ^20.14.8 - version: 20.19.40 + version: 20.19.41 concurrently: specifier: 9.2.1 version: 9.2.1 @@ -92,7 +92,7 @@ importers: version: 14.2.6 ts-node: specifier: ^10.9.1 - version: 10.9.2(@types/node@20.19.40)(typescript@6.0.3) + version: 10.9.2(@types/node@20.19.41)(typescript@6.0.3) typescript: specifier: 6.0.3 version: 6.0.3 @@ -1806,277 +1806,139 @@ packages: cpu: [arm] os: [android] - '@rollup/rollup-android-arm-eabi@4.60.3': - resolution: {integrity: sha512-x35CNW/ANXG3hE/EZpRU8MXX1JDN86hBb2wMGAtltkz7pc6cxgjpy1OMMfDosOQ+2hWqIkag/fGok1Yady9nGw==} - cpu: [arm] - os: [android] - '@rollup/rollup-android-arm64@4.60.2': resolution: {integrity: sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==} cpu: [arm64] os: [android] - '@rollup/rollup-android-arm64@4.60.3': - resolution: {integrity: sha512-xw3xtkDApIOGayehp2+Rz4zimfkaX65r4t47iy+ymQB2G4iJCBBfj0ogVg5jpvjpn8UWn/+q9tprxleYeNp3Hw==} - cpu: [arm64] - os: [android] - '@rollup/rollup-darwin-arm64@4.60.2': resolution: {integrity: sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-arm64@4.60.3': - resolution: {integrity: sha512-vo6Y5Qfpx7/5EaamIwi0WqW2+zfiusVihKatLvtN1VFVy3D13uERk/6gZLU1UiHRL6fDXqj/ELIeVRGnvcTE1g==} - cpu: [arm64] - os: [darwin] - '@rollup/rollup-darwin-x64@4.60.2': resolution: {integrity: sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==} cpu: [x64] os: [darwin] - '@rollup/rollup-darwin-x64@4.60.3': - resolution: {integrity: sha512-D+0QGcZhBzTN82weOnsSlY7V7+RMmPuF1CkbxyMAGE8+ZHeUjyb76ZiWmBlCu//AQQONvxcqRbwZTajZKqjuOw==} - cpu: [x64] - os: [darwin] - '@rollup/rollup-freebsd-arm64@4.60.2': resolution: {integrity: sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-arm64@4.60.3': - resolution: {integrity: sha512-6HnvHCT7fDyj6R0Ph7A6x8dQS/S38MClRWeDLqc0MdfWkxjiu1HSDYrdPhqSILzjTIC/pnXbbJbo+ft+gy/9hQ==} - cpu: [arm64] - os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.2': resolution: {integrity: sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==} cpu: [x64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.3': - resolution: {integrity: sha512-KHLgC3WKlUYW3ShFKnnosZDOJ0xjg9zp7au3sIm2bs/tGBeC2ipmvRh/N7JKi0t9Ue20C0dpEshi8WUubg+cnA==} - cpu: [x64] - os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.60.2': resolution: {integrity: sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==} cpu: [arm] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm-gnueabihf@4.60.3': - resolution: {integrity: sha512-DV6fJoxEYWJOvaZIsok7KrYl0tPvga5OZ2yvKHNNYyk/2roMLqQAbGhr78EQ5YhHpnhLKJD3S1WFusAkmUuV5g==} - cpu: [arm] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-arm-musleabihf@4.60.2': resolution: {integrity: sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==} cpu: [arm] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm-musleabihf@4.60.3': - resolution: {integrity: sha512-mQKoJAzvuOs6F+TZybQO4GOTSMUu7v0WdxEk24krQ/uUxXoPTtHjuaUuPmFhtBcM4K0ons8nrE3JyhTuCFtT/w==} - cpu: [arm] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-arm64-gnu@4.60.2': resolution: {integrity: sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==} cpu: [arm64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm64-gnu@4.60.3': - resolution: {integrity: sha512-Whjj2qoiJ6+OOJMGptTYazaJvjOJm+iKHpXQM1P3LzGjt7Ff++Tp7nH4N8J/BUA7R9IHfDyx4DJIflifwnbmIA==} - cpu: [arm64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-arm64-musl@4.60.2': resolution: {integrity: sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==} cpu: [arm64] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm64-musl@4.60.3': - resolution: {integrity: sha512-4YTNHKqGng5+yiZt3mg77nmyuCfmNfX4fPmyUapBcIk+BdwSwmCWGXOUxhXbBEkFHtoN5boLj/5NON+u5QC9tg==} - cpu: [arm64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-loong64-gnu@4.60.2': resolution: {integrity: sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==} cpu: [loong64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-loong64-gnu@4.60.3': - resolution: {integrity: sha512-SU3kNlhkpI4UqlUc2VXPGK9o886ZsSeGfMAX2ba2b8DKmMXq4AL7KUrkSWVbb7koVqx41Yczx6dx5PNargIrEA==} - cpu: [loong64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-loong64-musl@4.60.2': resolution: {integrity: sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==} cpu: [loong64] os: [linux] libc: [musl] - '@rollup/rollup-linux-loong64-musl@4.60.3': - resolution: {integrity: sha512-6lDLl5h4TXpB1mTf2rQWnAk/LcXrx9vBfu/DT5TIPhvMhRWaZ5MxkIc8u4lJAmBo6klTe1ywXIUHFjylW505sg==} - cpu: [loong64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-ppc64-gnu@4.60.2': resolution: {integrity: sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==} cpu: [ppc64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-ppc64-gnu@4.60.3': - resolution: {integrity: sha512-BMo8bOw8evlup/8G+cj5xWtPyp93xPdyoSN16Zy90Q2QZ0ZYRhCt6ZJSwbrRzG9HApFabjwj2p25TUPDWrhzqQ==} - cpu: [ppc64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-ppc64-musl@4.60.2': resolution: {integrity: sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==} cpu: [ppc64] os: [linux] libc: [musl] - '@rollup/rollup-linux-ppc64-musl@4.60.3': - resolution: {integrity: sha512-E0L8X1dZN1/Rph+5VPF6Xj2G7JJvMACVXtamTJIDrVI44Y3K+G8gQaMEAavbqCGTa16InptiVrX6eM6pmJ+7qA==} - cpu: [ppc64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-riscv64-gnu@4.60.2': resolution: {integrity: sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==} cpu: [riscv64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-riscv64-gnu@4.60.3': - resolution: {integrity: sha512-oZJ/WHaVfHUiRAtmTAeo3DcevNsVvH8mbvodjZy7D5QKvCefO371SiKRpxoDcCxB3PTRTLayWBkvmDQKTcX/sw==} - cpu: [riscv64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-riscv64-musl@4.60.2': resolution: {integrity: sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==} cpu: [riscv64] os: [linux] libc: [musl] - '@rollup/rollup-linux-riscv64-musl@4.60.3': - resolution: {integrity: sha512-Dhbyh7j9FybM3YaTgaHmVALwA8AkUwTPccyCQ79TG9AJUsMQqgN1DDEZNr4+QUfwiWvLDumW5vdwzoeUF+TNxQ==} - cpu: [riscv64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-s390x-gnu@4.60.2': resolution: {integrity: sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==} cpu: [s390x] os: [linux] libc: [glibc] - '@rollup/rollup-linux-s390x-gnu@4.60.3': - resolution: {integrity: sha512-cJd1X5XhHHlltkaypz1UcWLA8AcoIi1aWhsvaWDskD1oz2eKCypnqvTQ8ykMNI0RSmm7NkTdSqSSD7zM0xa6Ig==} - cpu: [s390x] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.2': resolution: {integrity: sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==} cpu: [x64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.3': - resolution: {integrity: sha512-DAZDBHQfG2oQuhY7mc6I3/qB4LU2fQCjRvxbDwd/Jdvb9fypP4IJ4qmtu6lNjes6B531AI8cg1aKC2di97bUxA==} - cpu: [x64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-x64-musl@4.60.2': resolution: {integrity: sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==} cpu: [x64] os: [linux] libc: [musl] - '@rollup/rollup-linux-x64-musl@4.60.3': - resolution: {integrity: sha512-cRxsE8c13mZOh3vP+wLDxpQBRrOHDIGOWyDL93Sy0Ga8y515fBcC2pjUfFwUe5T7tqvTvWbCpg1URM/AXdWIXA==} - cpu: [x64] - os: [linux] - libc: [musl] - '@rollup/rollup-openbsd-x64@4.60.2': resolution: {integrity: sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==} cpu: [x64] os: [openbsd] - '@rollup/rollup-openbsd-x64@4.60.3': - resolution: {integrity: sha512-QaWcIgRxqEdQdhJqW4DJctsH6HCmo5vHxY0krHSX4jMtOqfzC+dqDGuHM87bu4H8JBeibWx7jFz+h6/4C8wA5Q==} - cpu: [x64] - os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.60.2': resolution: {integrity: sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-openharmony-arm64@4.60.3': - resolution: {integrity: sha512-AaXwSvUi3QIPtroAUw1t5yHGIyqKEXwH54WUocFolZhpGDruJcs8c+xPNDRn4XiQsS7MEwnYsHW2l0MBLDMkWg==} - cpu: [arm64] - os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.60.2': resolution: {integrity: sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.60.3': - resolution: {integrity: sha512-65LAKM/bAWDqKNEelHlcHvm2V+Vfb8C6INFxQXRHCvaVN1rJfwr4NvdP4FyzUaLqWfaCGaadf6UbTm8xJeYfEg==} - cpu: [arm64] - os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.2': resolution: {integrity: sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.3': - resolution: {integrity: sha512-EEM2gyhBF5MFnI6vMKdX1LAosE627RGBzIoGMdLloPZkXrUN0Ckqgr2Qi8+J3zip/8NVVro3/FjB+tjhZUgUHA==} - cpu: [ia32] - os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.2': resolution: {integrity: sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.3': - resolution: {integrity: sha512-E5Eb5H/DpxaoXH++Qkv28RcUJboMopmdDUALBczvHMf7hNIxaDZqwY5lK12UK1BHacSmvupoEWGu+n993Z0y1A==} - cpu: [x64] - os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.2': resolution: {integrity: sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.3': - resolution: {integrity: sha512-hPt/bgL5cE+Qp+/TPHBqptcAgPzgj46mPcg/16zNUmbQk0j+mOEQV/+Lqu8QRtDV3Ek95Q6FeFITpuhl6OTsAA==} - cpu: [x64] - os: [win32] - '@schematics/angular@22.0.0-rc.0': resolution: {integrity: sha512-V5BQFRlPfx/rJZOtkDUAunJqNfi+75J0gr41W1VId8TntsddF0jn1Fz4XQncTiu3dk8UMeRUdmyJrjYRl1Q5Wg==} engines: {node: ^22.22.0 || ^24.13.1 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} @@ -2176,8 +2038,8 @@ packages: '@types/mime@1.3.5': resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - '@types/node@20.19.40': - resolution: {integrity: sha512-xxx6M2IpSTnnKcR0cMvIiohkiCx20/oRPtWGbenFygKCGl3zqUzdNjQ/1V4solq1LU+dgv0nQzeGOuqkqZGg0Q==} + '@types/node@20.19.41': + resolution: {integrity: sha512-ECymXOukMnOoVkC2bb1Vc/w/836DXncOg5m8Xj1RH7xSHZJWNYY6Zh7EH477vcnD5egKNNfy2RpNOmuChhFPgQ==} '@types/q@0.0.32': resolution: {integrity: sha512-qYi3YV9inU/REEfxwVcGZzbS3KG/Xs90lv0Pr+lDtuVjBPGd1A+eciXzVSaRvLify132BfcvhvEjeVahrUl0Ug==} @@ -2498,8 +2360,8 @@ packages: resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==} engines: {node: ^4.5.0 || >= 5.9} - baseline-browser-mapping@2.10.29: - resolution: {integrity: sha512-Asa2krT+XTPZINCS+2QcyS8WTkObE77RwkydwF7h6DmnKqbvlalz93m/dnphUyCa6SWSP51VgtEUf2FN+gelFQ==} + baseline-browser-mapping@2.10.30: + resolution: {integrity: sha512-xjOFN16Ha1+Rz4nFYKqHU/LSB+gx/Vi3yQLX7r7sAW+Wa+8hhF2h4pvqTrTMc8+WcDBEunnUurr46Jvv0jk3Vg==} engines: {node: '>=6.0.0'} hasBin: true @@ -2605,8 +2467,8 @@ packages: resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} engines: {node: '>=14.16'} - caniuse-lite@1.0.30001792: - resolution: {integrity: sha512-hVLMUZFgR4JJ6ACt1uEESvQN1/dBVqPAKY0hgrV70eN3391K6juAfTjKZLKvOMsx8PxA7gsY1/tLMMTcfFLLpw==} + caniuse-lite@1.0.30001793: + resolution: {integrity: sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==} caseless@0.12.0: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} @@ -2753,6 +2615,10 @@ packages: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} + content-type@2.0.0: + resolution: {integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==} + engines: {node: '>=18'} + convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} @@ -2956,8 +2822,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.353: - resolution: {integrity: sha512-kOrWphBi8TOZyiJZqsgqIle0lw+tzmnQK83pV9dZUd01Nm2POECSyFQMAuarzZdYqQW7FH9RaYOuaRo3h+bQ3w==} + electron-to-chromium@1.5.358: + resolution: {integrity: sha512-EO7tKm3QxRqTs1lSuPXzl6yRAwznehp0AH9OoMOIC+4mQzTFday8FJCO5KU6J/TFSQXEOahNq4vTKpz1jmCVOA==} emoji-regex@10.6.0: resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} @@ -3123,14 +2989,14 @@ packages: exponential-backoff@3.1.3: resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} - express-rate-limit@8.5.1: - resolution: {integrity: sha512-5O6KYmyJEpuPJV5hNTXKbAHWRqrzyu+OI3vUnSd2kXFubIVpG7ezpgxQy76Zo5GQZtrQBg86hF+CM/NX+cioiQ==} + express-rate-limit@8.5.2: + resolution: {integrity: sha512-5Kb34ipNX694DH48vN9irak1Qx30nb0PLYHXfJgw4YEjiC3ZEmZJhwOp+VfiCYwFzvFTdB9QkArYS5kXa2cx2A==} engines: {node: '>= 16'} peerDependencies: express: '>= 4.11' - express@4.22.1: - resolution: {integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==} + express@4.22.2: + resolution: {integrity: sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==} engines: {node: '>= 0.10.0'} express@5.2.1: @@ -3351,8 +3217,8 @@ packages: resolution: {integrity: sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==} engines: {node: '>= 0.4'} - hono@4.12.18: - resolution: {integrity: sha512-RWzP96k/yv0PQfyXnWjs6zot20TqfpfsNXhOnev8d1InAxubW93L11/oNUc3tQqn2G0bSdAOBpX+2uDFHV7kdQ==} + hono@4.12.19: + resolution: {integrity: sha512-xa3eYXYXx68XTT4hZ7dRzsXBhaq85ToSrlUJNoR0gwz/1Ap/CNwX47wfvV7pc/xWhjKVVkLT7zBJy8chhNguqQ==} engines: {node: '>=16.9.0'} hosted-git-info@9.0.3: @@ -4079,8 +3945,8 @@ packages: engines: {node: ^20.17.0 || >=22.9.0} hasBin: true - node-releases@2.0.38: - resolution: {integrity: sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==} + node-releases@2.0.44: + resolution: {integrity: sha512-5WUyunoPMsvvEhS8AxHtRzP+oA8UCkJ7YRxatWKjngndhDGLiqEVAQKWjFAiAiuL8zMRGzGSJxFnLetoa43qGQ==} nopt@9.0.0: resolution: {integrity: sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==} @@ -4430,12 +4296,8 @@ packages: resolution: {integrity: sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==} engines: {node: '>=0.9'} - qs@6.14.2: - resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==} - engines: {node: '>=0.6'} - - qs@6.15.1: - resolution: {integrity: sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==} + qs@6.15.2: + resolution: {integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==} engines: {node: '>=0.6'} qs@6.5.5: @@ -4566,11 +4428,6 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - rollup@4.60.3: - resolution: {integrity: sha512-pAQK9HalE84QSm4Po3EmWIZPd3FnjkShVkiMlz1iligWYkWQ7wHYd1PF/T7QZ5TVSD6uSTon5gBVMSM4JfBV+A==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - router@2.2.0: resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} engines: {node: '>= 18'} @@ -4962,11 +4819,6 @@ packages: engines: {node: '>=10'} hasBin: true - terser@5.47.1: - resolution: {integrity: sha512-tPbLXTI6ohPASb/1YViL428oEHu6/qv1OxqYnfaonVCFHqx4+wCd95pHrQWsL5X4pl90CTyW9piSAsS2L0VoMw==} - engines: {node: '>=10'} - hasBin: true - thingies@2.6.0: resolution: {integrity: sha512-rMHRjmlFLM1R96UYPvpmnc3LYtdFrT33JIB7L9hetGue1qAPfn1N2LJeEjxUSidu1Iku+haLZXDuEXUHNGO/lg==} engines: {node: '>=10.18'} @@ -5052,9 +4904,9 @@ packages: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} - type-is@2.0.1: - resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} - engines: {node: '>= 0.6'} + type-is@2.1.0: + resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==} + engines: {node: '>= 18'} typed-assert@1.0.9: resolution: {integrity: sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==} @@ -5332,8 +5184,8 @@ packages: utf-8-validate: optional: true - ws@8.20.0: - resolution: {integrity: sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==} + ws@8.20.1: + resolution: {integrity: sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -5530,13 +5382,13 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(jiti@2.7.0)(karma@6.4.4)(typescript@6.0.3)': + '@angular-devkit/build-angular@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(jiti@2.7.0)(karma@6.4.4)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 '@angular-devkit/build-webpack': 0.2200.0-rc.0(webpack-dev-server@5.2.3(tslib@2.8.1)(webpack@5.106.2(postcss@8.5.14)))(webpack@5.106.2(esbuild@0.28.0)(postcss@8.5.13)) '@angular-devkit/core': 22.0.0-rc.0 - '@angular/build': 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(karma@6.4.4)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) + '@angular/build': 22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(karma@6.4.4)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3) '@angular/compiler-cli': link:in-existing-linked-by-bazel '@babel/core': 7.29.0 '@babel/generator': 7.29.1 @@ -5651,7 +5503,7 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(karma@6.4.4)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(karma@6.4.4)(less@4.6.4)(postcss@8.5.13)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 @@ -5660,8 +5512,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@20.19.40) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)) + '@inquirer/confirm': 6.0.12(@types/node@20.19.41) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -5680,7 +5532,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel @@ -5704,7 +5556,7 @@ snapshots: - tsx - yaml - '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.40)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(karma@6.4.4)(less@4.6.4)(postcss@8.5.14)(terser@5.47.1)(tslib@2.8.1)(typescript@6.0.3)': + '@angular/build@22.0.0-rc.0(@angular/compiler-cli@in-existing-linked-by-bazel)(@angular/compiler@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/platform-browser@in-existing-linked-by-bazel)(@angular/ssr@22.0.0-rc.0(@angular/common@in-existing-linked-by-bazel)(@angular/core@in-existing-linked-by-bazel)(@angular/router@in-existing-linked-by-bazel))(@types/node@20.19.41)(istanbul-lib-instrument@6.0.3)(jiti@2.7.0)(karma@6.4.4)(less@4.6.4)(postcss@8.5.14)(terser@5.46.2)(tslib@2.8.1)(typescript@6.0.3)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0 @@ -5713,8 +5565,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@20.19.40) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)) + '@inquirer/confirm': 6.0.12(@types/node@20.19.41) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -5733,7 +5585,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:in-existing-linked-by-bazel @@ -5757,13 +5609,13 @@ snapshots: - tsx - yaml - '@angular/cli@22.0.0-rc.0(@types/node@20.19.40)': + '@angular/cli@22.0.0-rc.0(@types/node@20.19.41)': dependencies: '@angular-devkit/architect': 0.2200.0-rc.0 '@angular-devkit/core': 22.0.0-rc.0 '@angular-devkit/schematics': 22.0.0-rc.0 - '@inquirer/prompts': 8.4.2(@types/node@20.19.40) - '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.40))(@types/node@20.19.40)(listr2@10.2.1) + '@inquirer/prompts': 8.4.2(@types/node@20.19.41) + '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.41))(@types/node@20.19.41)(listr2@10.2.1) '@modelcontextprotocol/sdk': 1.29.0(zod@4.4.2) '@schematics/angular': 22.0.0-rc.0 '@yarnpkg/lockfile': 1.1.0 @@ -6638,135 +6490,135 @@ snapshots: '@harperfast/extended-iterable@1.0.3': optional: true - '@hono/node-server@1.19.14(hono@4.12.18)': + '@hono/node-server@1.19.14(hono@4.12.19)': dependencies: - hono: 4.12.18 + hono: 4.12.19 '@inquirer/ansi@2.0.5': {} - '@inquirer/checkbox@5.1.5(@types/node@20.19.40)': + '@inquirer/checkbox@5.1.5(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/confirm@6.0.12(@types/node@20.19.40)': + '@inquirer/confirm@6.0.12(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/confirm@6.0.13(@types/node@20.19.40)': + '@inquirer/confirm@6.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/core@11.1.10(@types/node@20.19.40)': + '@inquirer/core@11.1.10(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) cli-width: 4.1.0 fast-wrap-ansi: 0.2.0 mute-stream: 3.0.0 signal-exit: 4.1.0 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/editor@5.1.2(@types/node@20.19.40)': + '@inquirer/editor@5.1.2(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/external-editor': 3.0.0(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/external-editor': 3.0.0(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/expand@5.0.14(@types/node@20.19.40)': + '@inquirer/expand@5.0.14(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/external-editor@3.0.0(@types/node@20.19.40)': + '@inquirer/external-editor@3.0.0(@types/node@20.19.41)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@inquirer/figures@2.0.5': {} - '@inquirer/input@5.0.13(@types/node@20.19.40)': + '@inquirer/input@5.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/number@4.0.13(@types/node@20.19.40)': + '@inquirer/number@4.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/password@5.0.13(@types/node@20.19.40)': + '@inquirer/password@5.0.13(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 - - '@inquirer/prompts@8.4.2(@types/node@20.19.40)': - dependencies: - '@inquirer/checkbox': 5.1.5(@types/node@20.19.40) - '@inquirer/confirm': 6.0.13(@types/node@20.19.40) - '@inquirer/editor': 5.1.2(@types/node@20.19.40) - '@inquirer/expand': 5.0.14(@types/node@20.19.40) - '@inquirer/input': 5.0.13(@types/node@20.19.40) - '@inquirer/number': 4.0.13(@types/node@20.19.40) - '@inquirer/password': 5.0.13(@types/node@20.19.40) - '@inquirer/rawlist': 5.2.9(@types/node@20.19.40) - '@inquirer/search': 4.1.9(@types/node@20.19.40) - '@inquirer/select': 5.1.5(@types/node@20.19.40) + '@types/node': 20.19.41 + + '@inquirer/prompts@8.4.2(@types/node@20.19.41)': + dependencies: + '@inquirer/checkbox': 5.1.5(@types/node@20.19.41) + '@inquirer/confirm': 6.0.13(@types/node@20.19.41) + '@inquirer/editor': 5.1.2(@types/node@20.19.41) + '@inquirer/expand': 5.0.14(@types/node@20.19.41) + '@inquirer/input': 5.0.13(@types/node@20.19.41) + '@inquirer/number': 4.0.13(@types/node@20.19.41) + '@inquirer/password': 5.0.13(@types/node@20.19.41) + '@inquirer/rawlist': 5.2.9(@types/node@20.19.41) + '@inquirer/search': 4.1.9(@types/node@20.19.41) + '@inquirer/select': 5.1.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/rawlist@5.2.9(@types/node@20.19.40)': + '@inquirer/rawlist@5.2.9(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/search@4.1.9(@types/node@20.19.40)': + '@inquirer/search@4.1.9(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/select@5.1.5(@types/node@20.19.40)': + '@inquirer/select@5.1.5(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.10(@types/node@20.19.40) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@inquirer/type@4.0.5(@types/node@20.19.40)': + '@inquirer/type@4.0.5(@types/node@20.19.41)': optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@isaacs/fs-minipass@4.0.1': dependencies: @@ -6932,10 +6784,10 @@ snapshots: '@leichtgewicht/ip-codec@2.0.5': {} - '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.40))(@types/node@20.19.40)(listr2@10.2.1)': + '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.41))(@types/node@20.19.41)(listr2@10.2.1)': dependencies: - '@inquirer/prompts': 8.4.2(@types/node@20.19.40) - '@inquirer/type': 4.0.5(@types/node@20.19.40) + '@inquirer/prompts': 8.4.2(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) listr2: 10.2.1 transitivePeerDependencies: - '@types/node' @@ -6963,7 +6815,7 @@ snapshots: '@modelcontextprotocol/sdk@1.29.0(zod@4.4.2)': dependencies: - '@hono/node-server': 1.19.14(hono@4.12.18) + '@hono/node-server': 1.19.14(hono@4.12.19) ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) content-type: 1.0.5 @@ -6972,8 +6824,8 @@ snapshots: eventsource: 3.0.7 eventsource-parser: 3.0.8 express: 5.2.1 - express-rate-limit: 8.5.1(express@5.2.1) - hono: 4.12.18 + express-rate-limit: 8.5.2(express@5.2.1) + hono: 4.12.19 jose: 6.2.3 json-schema-typed: 8.0.2 pkce-challenge: 5.0.1 @@ -7093,7 +6945,7 @@ snapshots: '@npmcli/fs@5.0.0': dependencies: - semver: 7.8.0 + semver: 7.7.4 '@npmcli/git@7.0.2': dependencies: @@ -7103,7 +6955,7 @@ snapshots: lru-cache: 11.3.6 npm-pick-manifest: 11.0.3 proc-log: 6.1.0 - semver: 7.8.0 + semver: 7.7.4 which: 6.0.1 '@npmcli/installed-package-contents@4.0.0': @@ -7120,7 +6972,7 @@ snapshots: hosted-git-info: 9.0.3 json-parse-even-better-errors: 5.0.0 proc-log: 6.1.0 - semver: 7.8.0 + semver: 7.7.4 spdx-expression-parse: 4.0.0 '@npmcli/promise-spawn@9.0.1': @@ -7295,153 +7147,78 @@ snapshots: '@rollup/rollup-android-arm-eabi@4.60.2': optional: true - '@rollup/rollup-android-arm-eabi@4.60.3': - optional: true - '@rollup/rollup-android-arm64@4.60.2': optional: true - '@rollup/rollup-android-arm64@4.60.3': - optional: true - '@rollup/rollup-darwin-arm64@4.60.2': optional: true - '@rollup/rollup-darwin-arm64@4.60.3': - optional: true - '@rollup/rollup-darwin-x64@4.60.2': optional: true - '@rollup/rollup-darwin-x64@4.60.3': - optional: true - '@rollup/rollup-freebsd-arm64@4.60.2': optional: true - '@rollup/rollup-freebsd-arm64@4.60.3': - optional: true - '@rollup/rollup-freebsd-x64@4.60.2': optional: true - '@rollup/rollup-freebsd-x64@4.60.3': - optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.3': - optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.2': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.3': - optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-arm64-musl@4.60.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-loong64-musl@4.60.2': optional: true - '@rollup/rollup-linux-loong64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.2': optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.3': - optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-x64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-x64-gnu@4.60.3': - optional: true - '@rollup/rollup-linux-x64-musl@4.60.2': optional: true - '@rollup/rollup-linux-x64-musl@4.60.3': - optional: true - '@rollup/rollup-openbsd-x64@4.60.2': optional: true - '@rollup/rollup-openbsd-x64@4.60.3': - optional: true - '@rollup/rollup-openharmony-arm64@4.60.2': optional: true - '@rollup/rollup-openharmony-arm64@4.60.3': - optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.2': optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.3': - optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.3': - optional: true - '@rollup/rollup-win32-x64-gnu@4.60.2': optional: true - '@rollup/rollup-win32-x64-gnu@4.60.3': - optional: true - '@rollup/rollup-win32-x64-msvc@4.60.2': optional: true - '@rollup/rollup-win32-x64-msvc@4.60.3': - optional: true - '@schematics/angular@22.0.0-rc.0': dependencies: '@angular-devkit/core': 22.0.0-rc.0 @@ -7503,24 +7280,24 @@ snapshots: '@types/body-parser@1.19.6': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/bonjour@3.5.13': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 4.19.8 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/connect@3.4.38': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/cors@2.8.19': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/eslint-scope@3.7.7': dependencies: @@ -7538,7 +7315,7 @@ snapshots: '@types/express-serve-static-core@4.19.8': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/qs': 6.15.1 '@types/range-parser': 1.2.7 '@types/send': 1.2.1 @@ -7554,7 +7331,7 @@ snapshots: '@types/http-proxy@1.17.17': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/jasmine@6.0.0': {} @@ -7562,7 +7339,7 @@ snapshots: '@types/mime@1.3.5': {} - '@types/node@20.19.40': + '@types/node@20.19.41': dependencies: undici-types: 6.21.0 @@ -7579,11 +7356,11 @@ snapshots: '@types/send@0.17.6': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/send@1.2.1': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/serve-index@1.9.4': dependencies: @@ -7592,20 +7369,20 @@ snapshots: '@types/serve-static@1.15.10': dependencies: '@types/http-errors': 2.0.5 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/send': 0.17.6 '@types/sockjs@0.3.36': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/ws@8.18.1': dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 - '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1))': + '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2))': dependencies: - vite: 7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2) '@webassemblyjs/ast@1.14.1': dependencies: @@ -7845,7 +7622,7 @@ snapshots: autoprefixer@10.5.0(postcss@8.5.13): dependencies: browserslist: 4.28.2 - caniuse-lite: 1.0.30001792 + caniuse-lite: 1.0.30001793 fraction.js: 5.3.4 picocolors: 1.1.1 postcss: 8.5.13 @@ -7900,7 +7677,7 @@ snapshots: base64id@2.0.0: {} - baseline-browser-mapping@2.10.29: {} + baseline-browser-mapping@2.10.30: {} batch@0.6.1: {} @@ -7938,7 +7715,7 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.4.24 on-finished: 2.4.1 - qs: 6.15.1 + qs: 6.15.2 raw-body: 2.5.3 type-is: 1.6.18 unpipe: 1.0.0 @@ -7953,9 +7730,9 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.7.2 on-finished: 2.4.1 - qs: 6.15.1 + qs: 6.15.2 raw-body: 3.0.2 - type-is: 2.0.1 + type-is: 2.1.0 transitivePeerDependencies: - supports-color @@ -7970,7 +7747,7 @@ snapshots: dependencies: ansi-align: 3.0.1 camelcase: 7.0.1 - chalk: 5.6.2 + chalk: 5.0.1 cli-boxes: 3.0.0 string-width: 5.1.2 type-fest: 2.19.0 @@ -7992,10 +7769,10 @@ snapshots: browserslist@4.28.2: dependencies: - baseline-browser-mapping: 2.10.29 - caniuse-lite: 1.0.30001792 - electron-to-chromium: 1.5.353 - node-releases: 2.0.38 + baseline-browser-mapping: 2.10.30 + caniuse-lite: 1.0.30001793 + electron-to-chromium: 1.5.358 + node-releases: 2.0.44 update-browserslist-db: 1.2.3(browserslist@4.28.2) browserstack@1.6.1: @@ -8045,7 +7822,7 @@ snapshots: camelcase@7.0.1: {} - caniuse-lite@1.0.30001792: {} + caniuse-lite@1.0.30001793: {} caseless@0.12.0: {} @@ -8207,6 +7984,8 @@ snapshots: content-type@1.0.5: {} + content-type@2.0.0: {} + convert-source-map@1.9.0: {} convert-source-map@2.0.0: {} @@ -8262,14 +8041,14 @@ snapshots: css-loader@7.1.4(webpack@5.106.2(esbuild@0.28.0)(postcss@8.5.13)): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 - postcss-modules-extract-imports: 3.1.0(postcss@8.5.14) - postcss-modules-local-by-default: 4.2.0(postcss@8.5.14) - postcss-modules-scope: 3.2.1(postcss@8.5.14) - postcss-modules-values: 4.0.0(postcss@8.5.14) + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 + postcss-modules-extract-imports: 3.1.0(postcss@8.5.13) + postcss-modules-local-by-default: 4.2.0(postcss@8.5.13) + postcss-modules-scope: 3.2.1(postcss@8.5.13) + postcss-modules-values: 4.0.0(postcss@8.5.13) postcss-value-parser: 4.2.0 - semver: 7.8.0 + semver: 7.7.4 optionalDependencies: webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) @@ -8389,7 +8168,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.353: {} + electron-to-chromium@1.5.358: {} emoji-regex@10.6.0: {} @@ -8408,7 +8187,7 @@ snapshots: engine.io@6.6.7: dependencies: '@types/cors': 2.8.19 - '@types/node': 20.19.40 + '@types/node': 20.19.41 '@types/ws': 8.18.1 accepts: 1.3.8 base64id: 2.0.0 @@ -8580,12 +8359,12 @@ snapshots: exponential-backoff@3.1.3: {} - express-rate-limit@8.5.1(express@5.2.1): + express-rate-limit@8.5.2(express@5.2.1): dependencies: express: 5.2.1 ip-address: 10.2.0 - express@4.22.1: + express@4.22.2: dependencies: accepts: 1.3.8 array-flatten: 1.1.1 @@ -8608,7 +8387,7 @@ snapshots: parseurl: 1.3.3 path-to-regexp: 0.1.13 proxy-addr: 2.0.7 - qs: 6.14.2 + qs: 6.15.2 range-parser: 1.2.1 safe-buffer: 5.2.1 send: 0.19.2 @@ -8643,13 +8422,13 @@ snapshots: once: 1.4.0 parseurl: 1.3.3 proxy-addr: 2.0.7 - qs: 6.15.1 + qs: 6.15.2 range-parser: 1.2.1 router: 2.2.0 send: 1.2.1 serve-static: 2.2.1 statuses: 2.0.2 - type-is: 2.0.1 + type-is: 2.1.0 vary: 1.1.2 transitivePeerDependencies: - supports-color @@ -8869,7 +8648,7 @@ snapshots: dependencies: function-bind: 1.1.2 - hono@4.12.18: {} + hono@4.12.19: {} hosted-git-info@9.0.3: dependencies: @@ -8994,9 +8773,9 @@ snapshots: dependencies: safer-buffer: 2.1.2 - icss-utils@5.1.0(postcss@8.5.14): + icss-utils@5.1.0(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 ignore-walk@8.0.0: dependencies: @@ -9144,7 +8923,7 @@ snapshots: '@babel/parser': 7.29.3 '@istanbuljs/schema': 0.1.6 istanbul-lib-coverage: 3.2.2 - semver: 7.8.0 + semver: 7.7.4 transitivePeerDependencies: - supports-color @@ -9187,7 +8966,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -9635,13 +9414,13 @@ snapshots: graceful-fs: 4.2.11 nopt: 9.0.0 proc-log: 6.1.0 - semver: 7.8.0 + semver: 7.7.4 tar: 7.5.15 tinyglobby: 0.2.16 undici: 6.25.0 which: 6.0.1 - node-releases@2.0.38: {} + node-releases@2.0.44: {} nopt@9.0.0: dependencies: @@ -9655,7 +9434,7 @@ snapshots: npm-install-checks@8.0.0: dependencies: - semver: 7.8.0 + semver: 7.7.4 npm-normalize-package-bin@5.0.0: {} @@ -9663,7 +9442,7 @@ snapshots: dependencies: hosted-git-info: 9.0.3 proc-log: 6.1.0 - semver: 7.8.0 + semver: 7.7.4 validate-npm-package-name: 7.0.2 npm-packlist@10.0.4: @@ -9676,7 +9455,7 @@ snapshots: npm-install-checks: 8.0.0 npm-normalize-package-bin: 5.0.0 npm-package-arg: 13.0.2 - semver: 7.8.0 + semver: 7.7.4 npm-registry-fetch@19.1.1: dependencies: @@ -9900,7 +9679,7 @@ snapshots: cosmiconfig: 9.0.1(typescript@6.0.3) jiti: 2.7.0 postcss: 8.5.13 - semver: 7.8.0 + semver: 7.7.4 optionalDependencies: webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) transitivePeerDependencies: @@ -9908,26 +9687,26 @@ snapshots: postcss-media-query-parser@0.2.3: {} - postcss-modules-extract-imports@3.1.0(postcss@8.5.14): + postcss-modules-extract-imports@3.1.0(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 - postcss-modules-local-by-default@4.2.0(postcss@8.5.14): + postcss-modules-local-by-default@4.2.0(postcss@8.5.13): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 postcss-selector-parser: 7.1.1 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.2.1(postcss@8.5.14): + postcss-modules-scope@3.2.1(postcss@8.5.13): dependencies: - postcss: 8.5.14 + postcss: 8.5.13 postcss-selector-parser: 7.1.1 - postcss-modules-values@4.0.0(postcss@8.5.14): + postcss-modules-values@4.0.0(postcss@8.5.13): dependencies: - icss-utils: 5.1.0(postcss@8.5.14) - postcss: 8.5.14 + icss-utils: 5.1.0(postcss@8.5.13) + postcss: 8.5.13 postcss-safe-parser@7.0.1(postcss@8.5.14): dependencies: @@ -10004,11 +9783,7 @@ snapshots: qjobs@1.2.0: {} - qs@6.14.2: - dependencies: - side-channel: 1.1.0 - - qs@6.15.1: + qs@6.15.2: dependencies: side-channel: 1.1.0 @@ -10133,7 +9908,7 @@ snapshots: adjust-sourcemap-loader: 4.0.0 convert-source-map: 1.9.0 loader-utils: 2.0.4 - postcss: 8.5.14 + postcss: 8.5.13 source-map: 0.6.1 resolve@1.22.12: @@ -10191,37 +9966,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.60.2 fsevents: 2.3.3 - rollup@4.60.3: - dependencies: - '@types/estree': 1.0.8 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.60.3 - '@rollup/rollup-android-arm64': 4.60.3 - '@rollup/rollup-darwin-arm64': 4.60.3 - '@rollup/rollup-darwin-x64': 4.60.3 - '@rollup/rollup-freebsd-arm64': 4.60.3 - '@rollup/rollup-freebsd-x64': 4.60.3 - '@rollup/rollup-linux-arm-gnueabihf': 4.60.3 - '@rollup/rollup-linux-arm-musleabihf': 4.60.3 - '@rollup/rollup-linux-arm64-gnu': 4.60.3 - '@rollup/rollup-linux-arm64-musl': 4.60.3 - '@rollup/rollup-linux-loong64-gnu': 4.60.3 - '@rollup/rollup-linux-loong64-musl': 4.60.3 - '@rollup/rollup-linux-ppc64-gnu': 4.60.3 - '@rollup/rollup-linux-ppc64-musl': 4.60.3 - '@rollup/rollup-linux-riscv64-gnu': 4.60.3 - '@rollup/rollup-linux-riscv64-musl': 4.60.3 - '@rollup/rollup-linux-s390x-gnu': 4.60.3 - '@rollup/rollup-linux-x64-gnu': 4.60.3 - '@rollup/rollup-linux-x64-musl': 4.60.3 - '@rollup/rollup-openbsd-x64': 4.60.3 - '@rollup/rollup-openharmony-arm64': 4.60.3 - '@rollup/rollup-win32-arm64-msvc': 4.60.3 - '@rollup/rollup-win32-ia32-msvc': 4.60.3 - '@rollup/rollup-win32-x64-gnu': 4.60.3 - '@rollup/rollup-win32-x64-msvc': 4.60.3 - fsevents: 2.3.3 - router@2.2.0: dependencies: debug: 4.4.3 @@ -10673,7 +10417,7 @@ snapshots: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 - terser: 5.47.1 + terser: 5.46.2 webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) optionalDependencies: esbuild: 0.28.0 @@ -10686,13 +10430,6 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 - terser@5.47.1: - dependencies: - '@jridgewell/source-map': 0.3.11 - acorn: 8.16.0 - commander: 2.20.3 - source-map-support: 0.5.21 - thingies@2.6.0(tslib@2.8.1): dependencies: tslib: 2.8.1 @@ -10727,14 +10464,14 @@ snapshots: tree-kill@1.2.2: {} - ts-node@10.9.2(@types/node@20.19.40)(typescript@6.0.3): + ts-node@10.9.2(@types/node@20.19.41)(typescript@6.0.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.12 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.19.40 + '@types/node': 20.19.41 acorn: 8.16.0 acorn-walk: 8.3.5 arg: 4.1.3 @@ -10774,9 +10511,9 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 - type-is@2.0.1: + type-is@2.1.0: dependencies: - content-type: 1.0.5 + content-type: 2.0.0 media-typer: 1.1.0 mime-types: 3.0.2 @@ -10840,38 +10577,22 @@ snapshots: core-util-is: 1.0.2 extsprintf: 1.3.0 - vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2): + vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) picomatch: 4.0.4 postcss: 8.5.14 - rollup: 4.60.3 + rollup: 4.60.2 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 20.19.40 + '@types/node': 20.19.41 fsevents: 2.3.3 jiti: 2.7.0 less: 4.6.4 sass: 1.99.0 terser: 5.46.2 - vite@7.3.2(@types/node@20.19.40)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.47.1): - dependencies: - esbuild: 0.27.7 - fdir: 6.5.0(picomatch@4.0.4) - picomatch: 4.0.4 - postcss: 8.5.14 - rollup: 4.60.3 - tinyglobby: 0.2.16 - optionalDependencies: - '@types/node': 20.19.40 - fsevents: 2.3.3 - jiti: 2.7.0 - less: 4.6.4 - sass: 1.99.0 - terser: 5.47.1 - void-elements@2.0.1: {} watchpack@2.5.1: @@ -10946,7 +10667,7 @@ snapshots: colorette: 2.0.20 compression: 1.8.1 connect-history-api-fallback: 2.0.0 - express: 4.22.1 + express: 4.22.2 graceful-fs: 4.2.11 http-proxy-middleware: 2.0.9(@types/express@4.17.25) ipaddr.js: 2.4.0 @@ -10959,7 +10680,7 @@ snapshots: sockjs: 0.3.24 spdy: 4.0.2 webpack-dev-middleware: 7.4.5(tslib@2.8.1)(webpack@5.106.2(postcss@8.5.14)) - ws: 8.20.0 + ws: 8.20.1 optionalDependencies: webpack: 5.106.2(esbuild@0.28.0)(postcss@8.5.13) transitivePeerDependencies: @@ -11084,7 +10805,7 @@ snapshots: ws@8.18.3: {} - ws@8.20.0: {} + ws@8.20.1: {} wsl-utils@0.1.0: dependencies: diff --git a/integration/typings_test_rxjs7/pnpm-lock.yaml b/integration/typings_test_rxjs7/pnpm-lock.yaml index 4305feffcad9..f69ae2655d36 100644 --- a/integration/typings_test_rxjs7/pnpm-lock.yaml +++ b/integration/typings_test_rxjs7/pnpm-lock.yaml @@ -52,7 +52,7 @@ importers: version: 6.0.0 '@types/node': specifier: ^20.14.8 - version: 20.19.40 + version: 20.19.41 rxjs: specifier: ^7.0.0 version: 7.8.2 @@ -68,8 +68,8 @@ packages: '@types/jasmine@6.0.0': resolution: {integrity: sha512-18lgGsLmEh3VJk9eZ5wAjTISxdqzl6YOwu8UdMpolajN57QOCNbl+AbHUd+Yu9ItrsFdB+c8LSZSGNg8nHaguw==} - '@types/node@20.19.40': - resolution: {integrity: sha512-xxx6M2IpSTnnKcR0cMvIiohkiCx20/oRPtWGbenFygKCGl3zqUzdNjQ/1V4solq1LU+dgv0nQzeGOuqkqZGg0Q==} + '@types/node@20.19.41': + resolution: {integrity: sha512-ECymXOukMnOoVkC2bb1Vc/w/836DXncOg5m8Xj1RH7xSHZJWNYY6Zh7EH477vcnD5egKNNfy2RpNOmuChhFPgQ==} rxjs@7.8.2: resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} @@ -92,7 +92,7 @@ snapshots: '@types/jasmine@6.0.0': {} - '@types/node@20.19.40': + '@types/node@20.19.41': dependencies: undici-types: 6.21.0 diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 79b50ab1cf67..aad70ef5732d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,7 +17,7 @@ importers: dependencies: '@angular-devkit/build-angular': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@angular/compiler-cli@packages+compiler-cli)(@angular/compiler@packages+compiler)(@angular/core@packages+core)(@angular/localize@packages+localize)(@angular/platform-browser@packages+platform-browser)(@angular/platform-server@packages+platform-server)(@angular/service-worker@packages+service-worker)(@angular/ssr@22.0.0-rc.0(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-server@packages+platform-server)(@angular/router@packages+router))(@types/node@20.19.39)(bufferutil@4.1.0)(chokidar@5.0.0)(jiti@2.6.1)(karma@6.4.4(bufferutil@4.1.0))(lightningcss@1.32.0)(ng-packagr@22.0.0-next.4(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.8.4))(tslib@2.8.1)(typescript@6.0.3))(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.8.4))(tsx@4.21.0)(typescript@6.0.3)(vitest@4.1.4(@opentelemetry/api@1.9.1)(@types/node@20.19.39)(esbuild@0.28.0)(jiti@2.6.1)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4))(yaml@2.8.4) + version: 22.0.0-rc.0(@angular/compiler-cli@packages+compiler-cli)(@angular/compiler@packages+compiler)(@angular/core@packages+core)(@angular/localize@packages+localize)(@angular/platform-browser@packages+platform-browser)(@angular/platform-server@packages+platform-server)(@angular/service-worker@packages+service-worker)(@angular/ssr@22.0.0-rc.0(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-server@packages+platform-server)(@angular/router@packages+router))(@types/node@20.19.41)(bufferutil@4.1.0)(chokidar@5.0.0)(jiti@2.7.0)(karma@6.4.4(bufferutil@4.1.0))(lightningcss@1.32.0)(ng-packagr@22.0.0-next.4(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.9.0))(tslib@2.8.1)(typescript@6.0.3))(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.9.0))(tsx@4.21.0)(typescript@6.0.3)(vitest@4.1.6(@opentelemetry/api@1.9.1)(@types/node@20.19.41)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) '@angular-devkit/core': specifier: 22.0.0-rc.0 version: 22.0.0-rc.0(chokidar@5.0.0) @@ -35,13 +35,13 @@ importers: version: link:packages/benchpress '@angular/build': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(600c1c25c7d710b9ecf52891d00e58dc) + version: 22.0.0-rc.0(2fca3377aa0917147e2c56e992429f3d) '@angular/cdk': specifier: 22.0.0-rc.0 version: 22.0.0-rc.0(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2) '@angular/cli': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@cfworker/json-schema@4.1.1)(@types/node@20.19.39)(chokidar@5.0.0) + version: 22.0.0-rc.0(@cfworker/json-schema@4.1.1)(@types/node@20.19.41)(chokidar@5.0.0) '@angular/common': specifier: workspace:* version: link:packages/common @@ -119,7 +119,7 @@ importers: version: 7.27.0 '@types/chrome': specifier: ^0.1.0 - version: 0.1.40 + version: 0.1.42 '@types/dom-navigation': specifier: ^1.0.5 version: 1.0.7 @@ -131,7 +131,7 @@ importers: version: 2.0.13 '@types/node': specifier: ^20.14.8 - version: 20.19.39 + version: 20.19.41 '@types/selenium-webdriver': specifier: 3.0.7 version: 3.0.7 @@ -245,7 +245,7 @@ importers: version: 6.0.3 ws: specifier: ^8.15.0 - version: 8.20.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) + version: 8.20.1(bufferutil@4.1.0)(utf-8-validate@6.0.6) yargs: specifier: ^18.0.0 version: 18.0.0 @@ -255,10 +255,10 @@ importers: devDependencies: '@actions/core': specifier: ^3.0.0 - version: 3.0.0 + version: 3.0.1 '@actions/github': specifier: ^9.0.0 - version: 9.1.0 + version: 9.1.1 '@angular/ng-dev': specifier: https://github.com/angular/dev-infra-private-ng-dev-builds.git#2c36222db3f44751284cc93b3806dbe1baee583a version: https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/2c36222db3f44751284cc93b3806dbe1baee583a(@modelcontextprotocol/sdk@1.29.0(@cfworker/json-schema@4.1.1)) @@ -276,7 +276,7 @@ importers: version: 0.28.0 '@inquirer/prompts': specifier: ^8.0.0 - version: 8.4.2(@types/node@20.19.39) + version: 8.4.3(@types/node@20.19.41) '@types/adm-zip': specifier: ^0.5.0 version: 0.5.8 @@ -303,7 +303,7 @@ importers: version: 15.14.2 firebase-tools: specifier: ^15.0.0 - version: 15.15.0(@cfworker/json-schema@4.1.1)(@types/node@20.19.39)(bufferutil@4.1.0)(encoding@0.1.13)(typescript@6.0.3) + version: 15.18.0(@cfworker/json-schema@4.1.1)(@types/node@20.19.41)(bufferutil@4.1.0)(encoding@0.1.13) get-tsconfig: specifier: ^4.10.1 version: 4.14.0 @@ -327,13 +327,13 @@ importers: version: 3.8.3 rollup-plugin-sourcemaps2: specifier: ^0.5.1 - version: 0.5.6(@types/node@20.19.39)(rollup@4.60.2) + version: 0.5.7(@types/node@20.19.41)(rollup@4.60.2) semver: specifier: ^7.3.5 - version: 7.7.4 + version: 7.8.0 ts-node: specifier: ^10.9.1 - version: 10.9.2(@types/node@20.19.39)(typescript@6.0.3) + version: 10.9.2(@types/node@20.19.41)(typescript@6.0.3) tsec: specifier: 0.2.9 version: 0.2.9(@bazel/bazelisk@1.28.1)(typescript@6.0.3) @@ -363,7 +363,7 @@ importers: version: 22.0.0-rc.0(@angular/cdk@22.0.0-rc.0(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2))(@angular/core@packages+core) '@angular/build': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(afa3fae267d3feba6fdadea56c6ccadc) + version: 22.0.0-rc.0(fb748cac34e9d8f6e7ea93f5cbdae94c) '@angular/cdk': specifier: 22.0.0-rc.0 version: 22.0.0-rc.0(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2) @@ -640,7 +640,7 @@ importers: version: 8.5.13 tailwindcss: specifier: 3.4.19 - version: 3.4.19(tsx@4.21.0)(yaml@2.8.4) + version: 3.4.19(tsx@4.21.0)(yaml@2.9.0) adev/shared-docs: dependencies: @@ -676,10 +676,10 @@ importers: version: 29.1.1 marked: specifier: ~18.0.0 - version: 18.0.0 + version: 18.0.3 mermaid: specifier: ^11.0.0 - version: 11.14.0 + version: 11.15.0 rxjs: specifier: ^7.8.1 version: 7.8.2 @@ -737,22 +737,22 @@ importers: devDependencies: '@angular/build': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(44781db2df8a81e0c3e37172ac09f7f0) + version: 22.0.0-rc.0(a556ba555378555db50673daa4de029e) '@angular/cli': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@cfworker/json-schema@4.1.1)(@types/node@24.12.2)(chokidar@5.0.0) + version: 22.0.0-rc.0(@cfworker/json-schema@4.1.1)(@types/node@24.12.4)(chokidar@5.0.0) '@angular/compiler-cli': specifier: workspace:* version: link:../packages/compiler-cli jsdom: specifier: ^29.0.0 - version: 29.0.2 + version: 29.1.1 typescript: specifier: 6.0.3 version: 6.0.3 vitest: specifier: ^4.0.0 - version: 4.1.4(@opentelemetry/api@1.9.1)(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.6.1)(jsdom@29.0.2)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4) + version: 4.1.6(@opentelemetry/api@1.9.1)(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) devtools: dependencies: @@ -837,7 +837,7 @@ importers: version: link:../packages/benchpress '@angular/build': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(afa3fae267d3feba6fdadea56c6ccadc) + version: 22.0.0-rc.0(9e4c29b9535e9eeef4fdcfb32f0f5b53) '@angular/common': specifier: workspace:* version: link:../packages/common @@ -921,7 +921,7 @@ importers: dependencies: '@angular/core': specifier: ^22.0.0-next - version: 22.0.0-next.8(@angular/compiler@packages+compiler) + version: 22.0.0-rc.0(@angular/compiler@packages+compiler) reflect-metadata: specifier: ^0.2.0 version: 0.2.2 @@ -966,7 +966,7 @@ importers: version: 0.2.2 semver: specifier: ^7.0.0 - version: 7.7.4 + version: 7.8.0 tslib: specifier: ^2.3.0 version: 2.8.1 @@ -1003,14 +1003,14 @@ importers: version: 2.8.1 zone.js: specifier: ~0.15.0 || ~0.16.0 - version: 0.16.1 + version: 0.16.2 devDependencies: '@mcp-b/webmcp-polyfill': specifier: ^2.2.0 - version: 2.2.0 + version: 2.3.2 '@mcp-b/webmcp-types': specifier: ^2.2.0 - version: 2.2.0 + version: 2.3.2 packages/core/test/bundling: dependencies: @@ -1019,7 +1019,7 @@ importers: version: link:../../../animations '@angular/build': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(afa3fae267d3feba6fdadea56c6ccadc) + version: 22.0.0-rc.0(a556ba555378555db50673daa4de029e) '@angular/common': specifier: workspace:* version: link:../../../common @@ -1076,14 +1076,14 @@ importers: version: 2.8.1 zod: specifier: ^4.0.10 - version: 4.3.6 + version: 4.4.3 devDependencies: '@mcp-b/webmcp-polyfill': specifier: ^2.2.0 - version: 2.2.0 + version: 2.3.2 '@mcp-b/webmcp-types': specifier: ^2.2.0 - version: 2.2.0 + version: 2.3.2 packages/language-service: {} @@ -1233,7 +1233,7 @@ importers: version: 6.0.0 '@types/node': specifier: ^24.3.0 - version: 24.12.2 + version: 24.12.4 '@types/systemjs': specifier: 6.15.4 version: 6.15.4 @@ -1257,7 +1257,7 @@ importers: version: 2.5.2 jest: specifier: 30.3.0 - version: 30.3.0(@types/node@24.12.2)(ts-node@10.9.2(@types/node@24.12.2)(typescript@6.0.3)) + version: 30.3.0(@types/node@24.12.4)(ts-node@10.9.2(@types/node@24.12.4)(typescript@6.0.3)) jest-environment-jsdom: specifier: 30.3.0 version: 30.3.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) @@ -1284,7 +1284,7 @@ importers: version: 2.8.1 vitest: specifier: ^4.0.0 - version: 4.1.4(@opentelemetry/api@1.9.1)(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.6.1)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4) + version: 4.1.6(@opentelemetry/api@1.9.1)(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) packages/zone.js/test/typings: dependencies: @@ -1322,10 +1322,10 @@ importers: version: 2.5.3 '@types/node': specifier: ^24.5.2 - version: 24.12.2 + version: 24.12.4 '@types/vscode': specifier: ^1.74.3 - version: 1.116.0 + version: 1.120.0 '@vscode/test-electron': specifier: ~2.5.2 version: 2.5.2 @@ -1389,7 +1389,7 @@ importers: devDependencies: ng-packagr: specifier: 22.0.0-next.4 - version: 22.0.0-next.4(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.8.4))(tslib@2.8.1)(typescript@6.0.3) + version: 22.0.0-next.4(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.9.0))(tslib@2.8.1)(typescript@6.0.3) typescript: specifier: 6.0.3 version: 6.0.3 @@ -1405,7 +1405,7 @@ importers: devDependencies: '@types/node': specifier: ^24.5.2 - version: 24.12.2 + version: 24.12.4 vscode-css-languageservice: specifier: 6.3.10 version: 6.3.10 @@ -1424,23 +1424,20 @@ importers: packages: - '@actions/core@3.0.0': - resolution: {integrity: sha512-zYt6cz+ivnTmiT/ksRVriMBOiuoUpDCJJlZ5KPl2/FRdvwU3f7MPh9qftvbkXJThragzUZieit2nyHUyw53Seg==} - '@actions/core@3.0.1': resolution: {integrity: sha512-a6d/Nwahm9fliVGRhdhofo40HjHQasUPusmc7vBfyky+7Z+P2A1J68zyFVaNcEclc/Se+eO595oAr5nwEIoIUA==} '@actions/exec@3.0.0': resolution: {integrity: sha512-6xH/puSoNBXb72VPlZVm7vQ+svQpFyA96qdDBvhB8eNZOE8LtPf9L4oAsfzK/crCL8YZ+19fKYVnM63Sl+Xzlw==} - '@actions/github@9.1.0': - resolution: {integrity: sha512-u0hDGQeCS+7VNoLA8hYG65RLdPLMaPGfka0sZ0up7P0AiShqfX6xcuXNteGkQ7X7Tod7AMNwHd4p7DS63i8zzA==} + '@actions/github@9.1.1': + resolution: {integrity: sha512-tL5JbYOBZHc0ngEnCsaDcryUizIUIlQyIMwy1Wkx93H5HzbBJ7TbiPx2PnFjBwZW0Vh05JmfFZhecE6gglYegA==} '@actions/http-client@3.0.2': resolution: {integrity: sha512-JP38FYYpyqvUsz+Igqlc/JG6YO9PaKuvqjM3iGvaLqFnJ7TFmcLyy2IDrY0bI0qCQug8E9K+elv5ZNfw62ZJzA==} - '@actions/http-client@4.0.0': - resolution: {integrity: sha512-QuwPsgVMsD6qaPD57GLZi9sqzAZCtiJT8kVBCDpLtxhL5MydQ4gS+DrejtZZPdIYyB1e95uCK9Luyds7ybHI3g==} + '@actions/http-client@4.0.1': + resolution: {integrity: sha512-+Nvd1ImaOZBSoPbsUtEhv+1z99H12xzncCkz0a3RuehINE81FZSe2QTj3uvAPTcJX/SCzUQHQ0D1GrPMbrPitg==} '@actions/io@3.0.2': resolution: {integrity: sha512-nRBchcMM+QK1pdjO7/idu86rbJI5YHUKCvKs0KxnSYbVe3F51UfGxuZX4Qy/fWlp6l7gWFwIkrOzN+oUK03kfw==} @@ -1641,11 +1638,11 @@ packages: engines: {node: ^22.22.0 || ^24.13.1 || >=26.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} hasBin: true - '@angular/core@22.0.0-next.8': - resolution: {integrity: sha512-kNSa1RuDI9u/jFsUy4mQTbLoSkzOW4CeaCbi0Bs7OPkOnnhez9ZEi1KOxJmU9hP3jme6Gc+l1Y2SlkcChYTq6w==} - engines: {node: ^22.22.0 || >=24.13.1} + '@angular/core@22.0.0-rc.0': + resolution: {integrity: sha512-+P2hVciCEH3MuXTXIuFiGpvcCivgCXB3agCakWHQ7rMiEmRB2oILTSKH5rRPlwPyoETPwfPeVn7tiAAaOuuGFg==} + engines: {node: ^22.22.0 || ^24.13.1 || >=26.0.0} peerDependencies: - '@angular/compiler': 22.0.0-next.8 + '@angular/compiler': 22.0.0-rc.0 peerDependenciesMeta: '@angular/compiler': optional: true @@ -1687,16 +1684,9 @@ packages: '@apidevtools/json-schema-ref-parser@9.1.2': resolution: {integrity: sha512-r1w81DpR+KyRWd3f+rk6TNqMgedmAxZP5v5KWlXQWlgMUUtyEJch0DKEci1SorPMiSeM8XPl7MZ3miJ60JIpQg==} - '@apphosting/build@0.1.7': - resolution: {integrity: sha512-zNgQGiAWDOj6c+4ylv5ej3nLGXzMAVmzCGMqlbSarHe4bvBmZ2C5GfBRdJksedP7C9pqlwTWpxU5+GSzhJ+nKA==} - hasBin: true - '@apphosting/common@0.0.8': resolution: {integrity: sha512-RJu5gXs2HYV7+anxpVPpp04oXeuHbV3qn402AdXVlnuYM/uWo7aceqmngpfp6Bi376UzRqGjfpdwFHxuwsEGXQ==} - '@apphosting/common@0.0.9': - resolution: {integrity: sha512-ZbPZDcVhEN+8m0sf90PmQN4xWaKmmySnBSKKPaIOD0JvcDsRr509WenFEFlojP++VSxwFZDGG/TYsHs1FMMqpw==} - '@asamuzakjp/css-color@3.2.0': resolution: {integrity: sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==} @@ -1753,16 +1743,16 @@ packages: resolution: {integrity: sha512-fCqPIfOcLE+CGqGPd66c8bZpwAji98tZ4JI9i/mlTNTlsIWslCfpg48s/ypyLxZTump5sypjrKn2/kY7q8oAbA==} engines: {node: '>=20.0.0'} - '@azure/msal-browser@5.7.0': - resolution: {integrity: sha512-uYbJ0YarxkVGWEq814BysJry/IPvpDNkVKmc2bMZp4G+igUQkJ5nlFirycwPGUeA9ICLQqCxqExCA1Z1E07bPA==} + '@azure/msal-browser@5.10.1': + resolution: {integrity: sha512-hTbvOi9Ko2Jvn+G/fSmjzHf9WbNcf/o3epMtbeGx/pMwMrVAbi6OgCJVeCfsAb8IybSRpaCSc4EDRlYAhgngUQ==} engines: {node: '>=0.8.0'} - '@azure/msal-common@16.5.0': - resolution: {integrity: sha512-i3eS/5pmxDbIU/mLMENs88Qg3k6XxqJytJy6PpB7L1tCBjdXHJDadCD3Hu1TyTooe7iQo7CYqbocgL/l/8u90g==} + '@azure/msal-common@16.6.1': + resolution: {integrity: sha512-VxKdEtUwDuLD0F1hOQP7kye0YadZxFJfv37Em440geEf/w9uggKnHpRrqwZJOdxmPUOdhZ9kyRtKuAJW8wUcRg==} engines: {node: '>=0.8.0'} - '@azure/msal-node@5.1.3': - resolution: {integrity: sha512-LqT8mRZpEils9zGR9eW+Ljqifh2aMA99UF/X0jxIKDYZeHr6onlHwhVP4xHCeLhh55BI63JCbdf1iWJbMh1mPw==} + '@azure/msal-node@5.2.1': + resolution: {integrity: sha512-tmQiQ2HvtzaeLqYGy3BemiPOSGPY4wCy1IW5zDWITKSs/s35WEd7Zij/hCxvUdAOzj6U3qnyaGbYXY91ortFEQ==} engines: {node: '>=20'} '@babel/cli@7.28.6': @@ -1776,10 +1766,6 @@ packages: resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.29.0': - resolution: {integrity: sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==} - engines: {node: '>=6.9.0'} - '@babel/compat-data@7.29.3': resolution: {integrity: sha512-LIVqM46zQWZhj17qA8wb4nW/ixr2y1Nw+r1etiAWgRM6U1IqP+LNhL1yg440jYZR72jCWcWbLWzIosH+uP1fqg==} engines: {node: '>=6.9.0'} @@ -1800,8 +1786,8 @@ packages: resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==} engines: {node: '>=6.9.0'} - '@babel/helper-create-class-features-plugin@7.28.6': - resolution: {integrity: sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow==} + '@babel/helper-create-class-features-plugin@7.29.3': + resolution: {integrity: sha512-RpLYy2sb51oNLjuu1iD3bwBqCBWUzjO0ocp+iaCP/lJtb2CPLcnC2Fftw+4sAzaMELGeWTgExSKADbdo0GFVzA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -1883,8 +1869,8 @@ packages: resolution: {integrity: sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.29.2': - resolution: {integrity: sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==} + '@babel/parser@7.29.3': + resolution: {integrity: sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA==} engines: {node: '>=6.0.0'} hasBin: true @@ -2397,20 +2383,8 @@ packages: '@cfworker/json-schema@4.1.1': resolution: {integrity: sha512-gAmrUZSGtKc3AiBL71iNWxDsyUC5uMaKKGdvzYsBoTW/xi42JQHl7eKV2OYzCUqvc+D2RCcf7EXY2iCyFIk6og==} - '@chevrotain/cst-dts-gen@12.0.0': - resolution: {integrity: sha512-fSL4KXjTl7cDgf0B5Rip9Q05BOrYvkJV/RrBTE/bKDN096E4hN/ySpcBK5B24T76dlQ2i32Zc3PAE27jFnFrKg==} - - '@chevrotain/gast@12.0.0': - resolution: {integrity: sha512-1ne/m3XsIT8aEdrvT33so0GUC+wkctpUPK6zU9IlOyJLUbR0rg4G7ZiApiJbggpgPir9ERy3FRjT6T7lpgetnQ==} - - '@chevrotain/regexp-to-ast@12.0.0': - resolution: {integrity: sha512-p+EW9MaJwgaHguhoqwOtx/FwuGr+DnNn857sXWOi/mClXIkPGl3rn7hGNWvo31HA3vyeQxjqe+H36yZJwYU8cA==} - - '@chevrotain/types@12.0.0': - resolution: {integrity: sha512-S+04vjFQKeuYw0/eW3U52LkAHQsB1ASxsPGsLPUyQgrZ2iNNibQrsidruDzjEX2JYfespXMG0eZmXlhA6z7nWA==} - - '@chevrotain/utils@12.0.0': - resolution: {integrity: sha512-lB59uJoaGIfOOL9knQqQRfhl9g7x8/wqFkp13zTdkRu1huG9kg6IJs1O8hqj9rs6h7orGxHJUKb+mX3rPbWGhA==} + '@chevrotain/types@11.1.2': + resolution: {integrity: sha512-U+HFai5+zmJCkK86QsaJtoITlboZHBqrVketcO2ROv865xfCMSFpELQoz1GkX5GzME8pTa+3kbKrZHQtI0gdbw==} '@codemirror/autocomplete@6.20.1': resolution: {integrity: sha512-1cvg3Vz1dSSToCNlJfRA2WSI4ht3K+WplO0UMOgmUYPivCyy2oueZY6Lx7M9wThm7SDUBViRmuT+OG/i8+ON9A==} @@ -2520,8 +2494,8 @@ packages: peerDependencies: '@csstools/css-tokenizer': ^4.0.0 - '@csstools/css-syntax-patches-for-csstree@1.1.3': - resolution: {integrity: sha512-SH60bMfrRCJF3morcdk57WklujF4Jr/EsQUzqkarfHXEFcAR1gg7fS/chAE922Sehgzc1/+Tz5H3Ypa1HiEKrg==} + '@csstools/css-syntax-patches-for-csstree@1.1.4': + resolution: {integrity: sha512-wgsqt92b7C7tQhIdPNxj0n9zuUbQlvAuI1exyzeNrOKOi62SD7ren8zqszmpVREjAOqg8cD2FqYhQfAuKjk4sw==} peerDependencies: css-tree: ^3.2.1 peerDependenciesMeta: @@ -2564,15 +2538,9 @@ packages: '@emnapi/core@1.10.0': resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} - '@emnapi/core@1.9.2': - resolution: {integrity: sha512-UC+ZhH3XtczQYfOlu3lNEkdW/p4dsJ1r/bP7H8+rhao3TTTMO1ATq/4DdIi23XuGoFY+Cz0JmCbdVl0hz9jZcA==} - '@emnapi/runtime@1.10.0': resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} - '@emnapi/runtime@1.9.2': - resolution: {integrity: sha512-3U4+MIWHImeyu1wnmVygh5WlgfYDtyf0k8AbLhMFxOipihf6nrWC4syIm/SwEeec0mNSafiiNnMJwbza/Is6Lw==} - '@emnapi/wasi-threads@1.2.1': resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} @@ -3180,8 +3148,8 @@ packages: engines: {node: '>=6'} hasBin: true - '@grpc/proto-loader@0.8.0': - resolution: {integrity: sha512-rc1hOQtjIWGxcxpb9aHAfLpIctjEnsDehj0DAiVfBlmT84uvR0uUtN2hEi/ecvWVjXUGf5qPF4qEgiLOx1YIMQ==} + '@grpc/proto-loader@0.8.1': + resolution: {integrity: sha512-wtF6h+DY6M3YaDBPAmvuuA6jV8Sif9MjtOI5euKFWRgCDl5PeDpPsHR9u2l6St5ceY8AZgoNDww5+HvEsXFsGg==} engines: {node: '>=6'} hasBin: true @@ -3209,8 +3177,8 @@ packages: '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} - '@iconify/utils@3.1.0': - resolution: {integrity: sha512-Zlzem1ZXhI1iHeeERabLNzBHdOa4VhQbqAcOQaMKuTuyZCpwKbC2R4Dd0Zo3g9EAc+Y4fiarO8HIHRAth7+skw==} + '@iconify/utils@3.1.3': + resolution: {integrity: sha512-LPKOXPn/zV+zis1oOfGWogaXVpqUybF3ZS6SCZIsz8vg0ivVp9+fVqyYB7xq0aiST/VhUQYGO1qo6uoYSiEJqw==} '@inquirer/ansi@1.0.2': resolution: {integrity: sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==} @@ -3229,8 +3197,8 @@ packages: '@types/node': optional: true - '@inquirer/checkbox@5.1.4': - resolution: {integrity: sha512-w6KF8ZYRvqHhROkOTHXYC3qIV/KYEu5o12oLqQySvch61vrYtRxNSHTONSdJqWiFJPlCUQAHT5OgOIyuTr+MHQ==} + '@inquirer/checkbox@5.1.5': + resolution: {integrity: sha512-Jmf9tgBHIEK5SAOB7swYfStqmtkZb00xOTpSQmkoGEpdxOTpJi9RS0A8bkfDPHTTItZRJrRdZrEMu25wyj0VfQ==} engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} peerDependencies: '@types/node': '>=18' @@ -3256,6 +3224,15 @@ packages: '@types/node': optional: true + '@inquirer/confirm@6.0.13': + resolution: {integrity: sha512-wkGPC7yJ5WJk1DJ5SX7fzk+gfj4BM8cf5dDDi71B/551xHrdsZVRJOC0WyikXd0pEsb/9cLniuE4atbsMqmFkw==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + '@inquirer/core@10.3.2': resolution: {integrity: sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A==} engines: {node: '>=18'} @@ -3265,8 +3242,8 @@ packages: '@types/node': optional: true - '@inquirer/core@11.1.9': - resolution: {integrity: sha512-BDE4fG22uYh1bGSifcj7JSx119TVYNViMhMu85usp4Fswrzh6M0DV3yld64jA98uOAa2GSQ4Bg4bZRm2d2cwSg==} + '@inquirer/core@11.1.10': + resolution: {integrity: sha512-a4Q5BXHQAHa9eO202sTaFCHFYVB3x5fauDuThEAdZ9gfn76pSxiKU7wWcEH0N1O0XmQvNfQNU6QXpiRxmYQx+A==} engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} peerDependencies: '@types/node': '>=18' @@ -3283,8 +3260,8 @@ packages: '@types/node': optional: true - '@inquirer/editor@5.1.1': - resolution: {integrity: sha512-6y11LgmNpmn5D2aB5FgnCfBUBK8ZstwLCalyJmORcJZ/WrhOjm16mu6eSqIx8DnErxDqSLr+Jkp+GP8/Nwd5tA==} + '@inquirer/editor@5.1.2': + resolution: {integrity: sha512-Y3Nor7S/DhIPo+8Ym/dSY4efwKI4BsflKDwXh0jNeXJsSF3dteS/3Yf+z4wkibVZDvYMyCgknSTQlNahfunGHg==} engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} peerDependencies: '@types/node': '>=18' @@ -3301,8 +3278,8 @@ packages: '@types/node': optional: true - '@inquirer/expand@5.0.13': - resolution: {integrity: sha512-dF2zvrFo9LshkcB23/O1il13kBkBltWIXzut1evfbuBLXMiGIuC45c+ZQ0uukjCDsvI8OWqun4FRYMnzFCQa3g==} + '@inquirer/expand@5.0.14': + resolution: {integrity: sha512-qyY9zcIX2eKYwaAUiQo9zORd61Lc3sXeM72fVbeHkYnDkqfr8/armcRbmVAIrExeJhI2puk+uomeKtWrpUVUmQ==} engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} peerDependencies: '@types/node': '>=18' @@ -3345,8 +3322,8 @@ packages: '@types/node': optional: true - '@inquirer/input@5.0.12': - resolution: {integrity: sha512-uiMFBl4LqFzJClh80Q3f9hbOFJ6kgkDWI4LjAeBuyO6EanVVMF69AgOvpi1qdqjDSjDN6578B6nky9ceEpI+1Q==} + '@inquirer/input@5.0.13': + resolution: {integrity: sha512-0l0jCHlJnXIV8CTxwQC0C+5Ziq8WP22edWgmciW2xYvoeoSck4v5FvCS1ctKdqLLR0dUo93uAHgWHywgBSoRyw==} engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} peerDependencies: '@types/node': '>=18' @@ -3363,8 +3340,8 @@ packages: '@types/node': optional: true - '@inquirer/number@4.0.12': - resolution: {integrity: sha512-/vrwhEf7Xsuh+YlHF4IjSy3g1cyrQuPaSiHIxCEbLu8qnfvrcvJyCkoktOOF+xV9gSb77/G0n3h04RbMDW2sIg==} + '@inquirer/number@4.0.13': + resolution: {integrity: sha512-WHmkYnnJAou5gx7RgcvAfUggnHNM1zWfoh0dFPl3dxVssuqt+dK5rIbaOYQXNyOegvFnopbKupjnhw2O8gANNg==} engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} peerDependencies: '@types/node': '>=18' @@ -3381,8 +3358,8 @@ packages: '@types/node': optional: true - '@inquirer/password@5.0.12': - resolution: {integrity: sha512-CBh7YHju623lxJRcAOo498ZUwIuMy63bqW/vVq0tQAZVv+lkWlHkP9ealYE1utWSisEShY5VMdzIXRmyEODzcQ==} + '@inquirer/password@5.0.13': + resolution: {integrity: sha512-XDGu64ROHZjOOXLAANvJN7iIxWKhOSCG5VakrZ5kaScVR+snVJCFglD/hL3/677awtWcu4pXoWa280CDIYcBeg==} engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} peerDependencies: '@types/node': '>=18' @@ -3408,6 +3385,15 @@ packages: '@types/node': optional: true + '@inquirer/prompts@8.4.3': + resolution: {integrity: sha512-ai5LseTw9HhegupIgmo4cn7RpnCGznjjXu4OI+7jMR8vu7T1ZCCNMzFFAovUCjL1fl0cceksIN1++yQE59SmZw==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + '@inquirer/rawlist@4.1.11': resolution: {integrity: sha512-+LLQB8XGr3I5LZN/GuAHo+GpDJegQwuPARLChlMICNdwW7OwV2izlCSCxN6cqpL0sMXmbKbFcItJgdQq5EBXTw==} engines: {node: '>=18'} @@ -3417,8 +3403,8 @@ packages: '@types/node': optional: true - '@inquirer/rawlist@5.2.8': - resolution: {integrity: sha512-Su7FQvp5buZmCymN3PPoYv31ZQQX4ve2j02k7piGgKAWgE+AQRB5YoYVveGXcl3TZ9ldgRMSxj56YfDFmmaqLg==} + '@inquirer/rawlist@5.2.9': + resolution: {integrity: sha512-a1ErXEfgjfPYpyQ89dp+7n2IISjH9oQg3ygvF5adz8B7aHn4n2PjEgu1wpVTp69K3bj3lVLxP0qJ2b1clk1Whw==} engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} peerDependencies: '@types/node': '>=18' @@ -3435,8 +3421,8 @@ packages: '@types/node': optional: true - '@inquirer/search@4.1.8': - resolution: {integrity: sha512-fGiHKGD6DyPIYUWxoXnQTeXeyYqSOUrasDMABBmMHUalH/LxkuzY0xVRtimXAt1sUeeyYkVuKQx1bebMuN11Kw==} + '@inquirer/search@4.1.9': + resolution: {integrity: sha512-ZlbM28Q9lmLkFPNAIv+ZuY530n5Km8U1WW48oYEvDhe9yc2uL3m3t+JSdRUkQlk5fuIuskgiIVjcb7czFzQpuA==} engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} peerDependencies: '@types/node': '>=18' @@ -3453,8 +3439,8 @@ packages: '@types/node': optional: true - '@inquirer/select@5.1.4': - resolution: {integrity: sha512-2kWcGKPMLAXAWRp1AH1SLsQmX+j0QjeljyXMUji9WMZC8nRDO0b7qquIGr6143E7KMLt3VAIGNXzwa/6PXQs4Q==} + '@inquirer/select@5.1.5': + resolution: {integrity: sha512-6SRg6kHfK/sjLXOsuqNebuir+sjwrf/iWuRUnXgB2slzEewppI1WfzeS16XxDcOQmXBruMmmB9Cgrz7wsAxqMg==} engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} peerDependencies: '@types/node': '>=18' @@ -3812,15 +3798,15 @@ packages: '@marijn/find-cluster-break@1.0.2': resolution: {integrity: sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==} - '@mcp-b/webmcp-polyfill@2.2.0': - resolution: {integrity: sha512-as49JP4MHXVMMVNzD8938EsiU2tEzWNk7Un6c6C/xK5rstkIrQZQsVLbH7NFtmgMb6bbryzSqg9JWSFIxkU27Q==} + '@mcp-b/webmcp-polyfill@2.3.2': + resolution: {integrity: sha512-kvGmGypnsASUUGLI/NJ2E1eNLhtRkOq+dxaXxv01EKli9C78hb7x1KpIfknSCxpfIufJGE8wzjjIf279pQT/gQ==} engines: {node: '>=18'} - '@mcp-b/webmcp-types@2.2.0': - resolution: {integrity: sha512-1/UYAwQKBkqRgK18GkbGR4m6Cn9vz6Qy6pTL5LIIinUOhR5dMLaNl/blH/tJT+nJleMmgDoFZWGAmmr+fAz2PQ==} + '@mcp-b/webmcp-types@2.3.2': + resolution: {integrity: sha512-167nu2e5qIh8BcKvFp4dUzaeyO1+S+eMWGUaohjkwnqgc2Gq49Fv+i/Lei19019s1iCfQJ3yjtrzDK0nApivKg==} - '@mermaid-js/parser@1.1.0': - resolution: {integrity: sha512-gxK9ZX2+Fex5zu8LhRQoMeMPEHbc73UKZ0FQ54YrQtUxE1VVhMwzeNtKRPAu5aXks4FasbMe4xB4bWrmq6Jlxw==} + '@mermaid-js/parser@1.1.1': + resolution: {integrity: sha512-VuHdsYMK1bT6X2JbcAaWAhugTRvRBRyuZgd+c22swUeI9g/ntaxF7CY7dYarhZovofCbUNO0G7JesfmNtjYOCw==} '@modelcontextprotocol/sdk@1.29.0': resolution: {integrity: sha512-zo37mZA9hJWpULgkRpowewez1y6ML5GsXJPY8FI0tBBCd77HEvza4jDqRKOXgHNn867PVGCyTdzqpz0izu5ZjQ==} @@ -3861,8 +3847,8 @@ packages: cpu: [x64] os: [win32] - '@mswjs/interceptors@0.41.4': - resolution: {integrity: sha512-3B9EinUkrdOUGYzHRzRWSXunQ4YFGboJnyLNRwEJWEde+j8fNhPUHvrN1E3g1DU/iS/s8JQrMNVe+S7AHHVs0w==} + '@mswjs/interceptors@0.41.9': + resolution: {integrity: sha512-VVPPgHyQ6ShqnrmDWuxjmUIsO9gWyOZFmuOfLd9LfBGQJwZfy0gvv9pbHSJuoFNIYC7ZDX9aoFwowjcdSC4E8w==} engines: {node: '>=18'} '@napi-rs/nice-android-arm-eabi@1.1.1': @@ -4039,10 +4025,6 @@ packages: resolution: {integrity: sha512-iVuTlG3ORq2iaVa1IWUxAO/jIp77tUKBhoMjuzYW2kL4MLN1bi/ofqkZ7D7OOwh8coAx1/S2ge0rMdGv8sLSOQ==} engines: {node: ^20.17.0 || >=22.9.0} - '@npmcli/promise-spawn@3.0.0': - resolution: {integrity: sha512-s9SgS+p3a9Eohe68cSI3fi+hpcZUmXq5P7w0kMlAsWVtR7XbK3ptkZqKT2cK1zLDObJ3sR+8P59sJE0w/KTL1g==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - '@npmcli/promise-spawn@9.0.1': resolution: {integrity: sha512-OLUaoqBuyxeTqUvjA3FZFiXUfYC1alp3Sa99gW3EUDz3tZ3CbXDdcZ7qWKBzicrJleIgucoWamWH1saAmH/l2Q==} engines: {node: ^20.17.0 || >=22.9.0} @@ -4123,8 +4105,8 @@ packages: resolution: {integrity: sha512-KMQIfq5sOPpkQYajXHwnhjCC0slzCNScLHs9JafXc4RAJI+9f+jNDlBNaIMTvazOPLgb4BnlhGJOTbnN0wIjPw==} engines: {node: '>= 20'} - '@octokit/request@10.0.8': - resolution: {integrity: sha512-SJZNwY9pur9Agf7l87ywFi14W+Hd9Jg6Ifivsd33+/bGUQIjNujdFiXII2/qSlN2ybqUHfp5xpekMEjIBTjlSw==} + '@octokit/request@10.0.9': + resolution: {integrity: sha512-o8Bi3f608eyM+7BmBiUWxFsdjLb3/ym1cQek5LZOv9KkZcxRrHCPhhRzm6xjO6HVZ85ItD6+sTsjxo821SVa/A==} engines: {node: '>= 20'} '@octokit/rest@22.0.1': @@ -4147,8 +4129,8 @@ packages: resolution: {integrity: sha512-gLyJlPHPZYdAk1JENA9LeHejZe1Ti77/pTeFm/nMXmQH/HFZlcS/O2XJB+L8fkbrNSqhdtlvjBVjxwUYanNH5Q==} engines: {node: '>=8.0.0'} - '@opentelemetry/context-async-hooks@2.7.0': - resolution: {integrity: sha512-MWXggArM+Y11mPS8VOrqxOj+YMGQSRuvhM91eSBX4xFpJa05mpkeVvM8pPux5ElkEjV5RMgrkisrlP/R83SpBQ==} + '@opentelemetry/context-async-hooks@2.7.1': + resolution: {integrity: sha512-OPFBYuXEn1E4ja3Y6eeA7O+ZnLBNcXTV5Cgsn1VaqBZ6hC5FnpZPLBNme1LJY8ZtF4aOujPKFoeWN4ik487KuQ==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' @@ -4159,8 +4141,8 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/core@2.7.0': - resolution: {integrity: sha512-DT12SXVwV2eoJrGf4nnsvZojxxeQo+LlNAsoYGRRObPWTeN6APiqZ2+nqDCQDvQX40eLi1AePONS0onoASp3yQ==} + '@opentelemetry/core@2.7.1': + resolution: {integrity: sha512-QAqIj32AtK6+pEVNG7EOVxHdE06RP+FM5qpiEJ4RtDcFIqKUZHYhl7/7UY5efhwmwNAg7j8QbJVBLxMerc0+gw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' @@ -4173,12 +4155,12 @@ packages: resolution: {integrity: sha512-R5R9tb2AXs2IRLNKLBJDynhkfmx7mX0vi8NkhZb3gUkPWHn6HXk5J8iQ/dql0U3ApfWym4kXXmBDRGO+oeOfjg==} engines: {node: '>=14'} - '@opentelemetry/semantic-conventions@1.40.0': - resolution: {integrity: sha512-cifvXDhcqMwwTlTK04GBNeIe7yyo28Mfby85QXFe1Yk8nmi36Ab/5UQwptOx84SsoGNRg+EVSjwzfSZMy6pmlw==} + '@opentelemetry/semantic-conventions@1.41.1': + resolution: {integrity: sha512-/UhIkaZgPutTFmQ7RnIJGgDXZmtEJ7Dvi86xNTFWcnRxVRNk/aotsqDJYeEvDP+FSMB2SdW+pQzNMcWP0rwuNA==} engines: {node: '>=14'} - '@oxc-project/types@0.126.0': - resolution: {integrity: sha512-oGfVtjAgwQVVpfBrbtk4e1XDyWHRFta6BS3GWVzrF8xYBT2VGQAk39yJS/wFSMrZqoiCU4oghT3Ch0HaHGIHcQ==} + '@oxc-project/types@0.130.0': + resolution: {integrity: sha512-ibD2usx9JRu7f5pu2tMKMI4cpA4NgXJQoYRP4pQ7Pxmn1l6k/53qWtQWZayhYy3X4QZkt90Ot+mJEaeXouio6Q==} '@parcel/watcher-android-arm64@2.5.6': resolution: {integrity: sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==} @@ -4268,35 +4250,38 @@ packages: resolution: {integrity: sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==} engines: {node: '>= 10.0.0'} - '@peculiar/asn1-cms@2.6.1': - resolution: {integrity: sha512-vdG4fBF6Lkirkcl53q6eOdn3XYKt+kJTG59edgRZORlg/3atWWEReRCx5rYE1ZzTTX6vLK5zDMjHh7vbrcXGtw==} + '@peculiar/asn1-cms@2.7.0': + resolution: {integrity: sha512-hew63shtzzvBcSHbhm+cyAmKe6AIfinT9hzEqSPjDC6opTTMKmTkQ0gHuN2KsWlvqiKw1S/fS94fhag/FJkioQ==} + + '@peculiar/asn1-csr@2.7.0': + resolution: {integrity: sha512-VVsAyGqErT9D1SY4aEqozThXMVI+ssVRiv2DDeYuvpBKLIgZ3hYs3Ay3u/VSoKq6ESFi9cf6rf3IOOzfwh7oMA==} - '@peculiar/asn1-csr@2.6.1': - resolution: {integrity: sha512-WRWnKfIocHyzFYQTka8O/tXCiBquAPSrRjXbOkHbO4qdmS6loffCEGs+rby6WxxGdJCuunnhS2duHURhjyio6w==} + '@peculiar/asn1-ecc@2.7.0': + resolution: {integrity: sha512-n7KEs/Q/wrB415cxy4fHOBhegp4NdJ15fkJPwcB/3/8iNBQC2L/N7SChJPKDJPZGYH0jD4Tg4/0vnHmwghnbKw==} - '@peculiar/asn1-ecc@2.6.1': - resolution: {integrity: sha512-+Vqw8WFxrtDIN5ehUdvlN2m73exS2JVG0UAyfVB31gIfor3zWEAQPD+K9ydCxaj3MLen9k0JhKpu9LqviuCE1g==} + '@peculiar/asn1-pfx@2.7.0': + resolution: {integrity: sha512-V/nrlQVmhg7lYAsM7E13UDL5erAwFv6kCIVFqNaMIHSVi7dngcT839JkRTkQBqznMG98l2XjxYk74ZztAohZzA==} - '@peculiar/asn1-pfx@2.6.1': - resolution: {integrity: sha512-nB5jVQy3MAAWvq0KY0R2JUZG8bO/bTLpnwyOzXyEh/e54ynGTatAR+csOnXkkVD9AFZ2uL8Z7EV918+qB1qDvw==} + '@peculiar/asn1-pkcs8@2.7.0': + resolution: {integrity: sha512-9GTl1nE8Mx1kTZ+7QyYatDyKsm34QcWRBFkY1iPvWC3X4Dona5s/tlLiQsx5WzVdZqiMBZNYT0buyw4/vbhnjw==} - '@peculiar/asn1-pkcs8@2.6.1': - resolution: {integrity: sha512-JB5iQ9Izn5yGMw3ZG4Nw3Xn/hb/G38GYF3lf7WmJb8JZUydhVGEjK/ZlFSWhnlB7K/4oqEs8HnfFIKklhR58Tw==} + '@peculiar/asn1-pkcs9@2.7.0': + resolution: {integrity: sha512-Bh7m+OuIaSEllPQcSd9OSp93F4ROWH7sbITWV8MI+8dwsjE5111/87VxiWVvYFKyww3vp39geLv9ENqhwWHcew==} - '@peculiar/asn1-pkcs9@2.6.1': - resolution: {integrity: sha512-5EV8nZoMSxeWmcxWmmcolg22ojZRgJg+Y9MX2fnE2bGRo5KQLqV5IL9kdSQDZxlHz95tHvIq9F//bvL1OeNILw==} + '@peculiar/asn1-rsa@2.7.0': + resolution: {integrity: sha512-/qvENQrXyTZURjMqSeofHul0JJt2sNSzSwk36pl2olkHbaioMQgrASDZAlHXl0xUlnVbHj0uGgOrBMTb5x2aJQ==} - '@peculiar/asn1-rsa@2.6.1': - resolution: {integrity: sha512-1nVMEh46SElUt5CB3RUTV4EG/z7iYc7EoaDY5ECwganibQPkZ/Y2eMsTKB/LeyrUJ+W/tKoD9WUqIy8vB+CEdA==} + '@peculiar/asn1-schema@2.7.0': + resolution: {integrity: sha512-W8ZfWzLmQnrcky+eh3tni4IozMdqBDiHWU0N+vve/UGjMaUs8c0L7A2oEdkBXS8rTpWDpK/aoI3DG/L/hxmxPg==} - '@peculiar/asn1-schema@2.6.0': - resolution: {integrity: sha512-xNLYLBFTBKkCzEZIw842BxytQQATQv+lDTCEMZ8C196iJcJJMBUZxrhSTxLaohMyKK8QlzRNTRkUmanucnDSqg==} + '@peculiar/asn1-x509-attr@2.7.0': + resolution: {integrity: sha512-NS8e7SOgXipkzUPLF/sce7ukpMpWjhxYsH0n6Y+bHYo4TTxOb95Zv7hqwSuL212mj5YxovjdOKQOgH1As3E94w==} - '@peculiar/asn1-x509-attr@2.6.1': - resolution: {integrity: sha512-tlW6cxoHwgcQghnJwv3YS+9OO1737zgPogZ+CgWRUK4roEwIPzRH4JEiG770xe5HX2ATfCpmX60gurfWIF9dcQ==} + '@peculiar/asn1-x509@2.7.0': + resolution: {integrity: sha512-mUn9RRrkGDnG4ALfunDmzyRW5dg+sWCj/pfnCCqEHYbkGxEpvUt6iVJv8Yw1cyp6SWZ26ZE5oSmI5SqEaen15g==} - '@peculiar/asn1-x509@2.6.1': - resolution: {integrity: sha512-O9jT5F1A2+t3r7C4VT7LYGXqkGLK7Kj1xFpz7U0isPrubwU5PbDoyYtx6MiGst29yq7pXN5vZbQFKRCP+lLZlA==} + '@peculiar/utils@2.0.3': + resolution: {integrity: sha512-+oL3HPFRIZ1St2K50lWCXiioIgSoxzz7R1J3uF6neO2yl1sgmpgY6XXJH4BdpoDkMWznQTeYF6oWNDZLCdQ4eQ==} '@peculiar/x509@1.14.3': resolution: {integrity: sha512-C2Xj8FZ0uHWeCXXqX5B4/gVFQmtSkiuOolzAgutjTfseNOHT3pUjljDZsTSxXFGgio54bCzVFqmEOUrIVk8RDA==} @@ -4348,20 +4333,20 @@ packages: '@protobufjs/base64@1.1.2': resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} - '@protobufjs/codegen@2.0.4': - resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} + '@protobufjs/codegen@2.0.5': + resolution: {integrity: sha512-zgXFLzW3Ap33e6d0Wlj4MGIm6Ce8O89n/apUaGNB/jx+hw+ruWEp7EwGUshdLKVRCxZW12fp9r40E1mQrf/34g==} '@protobufjs/eventemitter@1.1.0': resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} - '@protobufjs/fetch@1.1.0': - resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} + '@protobufjs/fetch@1.1.1': + resolution: {integrity: sha512-GpptLrs57adMSuHi3VNj0mAF8dwh36LMaYF6XyJ6JMWlVsc+t42tm1HSEDmOs3A8fC9yyeisgLhsTVQokOZ0zw==} '@protobufjs/float@1.0.2': resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} - '@protobufjs/inquire@1.1.0': - resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} + '@protobufjs/inquire@1.1.2': + resolution: {integrity: sha512-pa0vFRuws4wkvaXKK1uXZMAwAX4/t8ANaJo45iw/oQHNQ9q5xUzwgFmVJGXiga2BeN+zpX7Vf9vmsiIa2J+MUw==} '@protobufjs/path@1.1.2': resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} @@ -4369,106 +4354,106 @@ packages: '@protobufjs/pool@1.1.0': resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} - '@protobufjs/utf8@1.1.0': - resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} + '@protobufjs/utf8@1.1.1': + resolution: {integrity: sha512-oOAWABowe8EAbMyWKM0tYDKi8Yaox52D+HWZhAIJqQXbqe0xI/GV7FhLWqlEKreMkfDjshR5FKgi3mnle0h6Eg==} - '@rolldown/binding-android-arm64@1.0.0-rc.16': - resolution: {integrity: sha512-rhY3k7Bsae9qQfOtph2Pm2jZEA+s8Gmjoz4hhmx70K9iMQ/ddeae+xhRQcM5IuVx5ry1+bGfkvMn7D6MJggVSA==} + '@rolldown/binding-android-arm64@1.0.1': + resolution: {integrity: sha512-fJI3I0r3C3Oj/zdBCpaCmBRZYf07xpaq4yCfDDoSFm+beWNzbIl26puW8RraUdugoJw/95zerNOn6jasAhzSmg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@rolldown/binding-darwin-arm64@1.0.0-rc.16': - resolution: {integrity: sha512-rNz0yK078yrNn3DrdgN+PKiMOW8HfQ92jQiXxwX8yW899ayV00MLVdaCNeVBhG/TbH3ouYVObo8/yrkiectkcQ==} + '@rolldown/binding-darwin-arm64@1.0.1': + resolution: {integrity: sha512-cKnAhWEsV7TPcA/5EAteDp6KcJZBQ2G+BqE7zayMMi7kMvwRsbv7WT9aOnn0WNl4SKEIf43vjS31iUPu80nzXg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-x64@1.0.0-rc.16': - resolution: {integrity: sha512-r/OmdR00HmD4i79Z//xO06uEPOq5hRXdhw7nzkxQxwSavs3PSHa1ijntdpOiZ2mzOQ3fVVu8C1M19FoNM+dMUQ==} + '@rolldown/binding-darwin-x64@1.0.1': + resolution: {integrity: sha512-YKrVwQjIRBPo+5G/u03wGjbdy4q7pyzCe93DK9VJ7zkVmeg8LJ7GbgsiHWdR4xSoe4CAXRD7Bcjgbtr64bkXNg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@rolldown/binding-freebsd-x64@1.0.0-rc.16': - resolution: {integrity: sha512-KcRE5w8h0OnjUatG8pldyD14/CQ5Phs1oxfR+3pKDjboHRo9+MkqQaiIZlZRpsxC15paeXme/I127tUa9TXJ6g==} + '@rolldown/binding-freebsd-x64@1.0.1': + resolution: {integrity: sha512-z/oBsREo46SsFqBwYtFe0kpJeBijAT48O/WXLI4suiCLBkr03RTtTJMCzSdDd2znlh8VJizL09XVkQgk8IZonw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.16': - resolution: {integrity: sha512-bT0guA1bpxEJ/ZhTRniQf7rNF8ybvXOuWbNIeLABaV5NGjx4EtOWBTSRGWFU9ZWVkPOZ+HNFP8RMcBokBiZ0Kg==} + '@rolldown/binding-linux-arm-gnueabihf@1.0.1': + resolution: {integrity: sha512-ik8q7GM11zxvYxFc2PeDcT6TBvhCQMaUxfph/M5l9sKuTs/Sjg3L+Byw0F7w0ZVLBZmx30P+gG0ECzzN+MFcmQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.16': - resolution: {integrity: sha512-+tHktCHWV8BDQSjemUqm/Jl/TPk3QObCTIjmdDy/nlupcujZghmKK2962LYrqFpWu+ai01AN/REOH3NEpqvYQg==} + '@rolldown/binding-linux-arm64-gnu@1.0.1': + resolution: {integrity: sha512-QoSx2EkyrrdZ6kcyE8stqZ62t0Yra8Fs5ia9lOxJrh6TMQJK7gQKmscdTHf7pOXKREKrVwOtJcQG3qVSfc866A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-arm64-musl@1.0.0-rc.16': - resolution: {integrity: sha512-3fPzdREH806oRLxpTWW1Gt4tQHs0TitZFOECB2xzCFLPKnSOy90gwA7P29cksYilFO6XVRY1kzga0cL2nRjKPg==} + '@rolldown/binding-linux-arm64-musl@1.0.1': + resolution: {integrity: sha512-uwNwFpwKeNiZawfAWBgg0VIztPTV3ihhh1vV334h9ivnNLorxnQMU6Fz8wG1Zb4Qh9LC1/MkcyT3YlDXG3Rsgg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.16': - resolution: {integrity: sha512-EKwI1tSrLs7YVw+JPJT/G2dJQ1jl9qlTTTEG0V2Ok/RdOenRfBw2PQdLPyjhIu58ocdBfP7vIRN/pvMsPxs/AQ==} + '@rolldown/binding-linux-ppc64-gnu@1.0.1': + resolution: {integrity: sha512-zY1bul7OWr7DFBiJ++wofXvnr8B45ce3QsQUhKrIhXsygAh7bTkwyeM1bi1a2g5C/yC/N8TZyGDEoMfm/l9mpg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.16': - resolution: {integrity: sha512-Uknladnb3Sxqu6SEcqBldQyJUpk8NleooZEc0MbRBJ4inEhRYWZX0NJu12vNf2mqAq7gsofAxHrGghiUYjhaLQ==} + '@rolldown/binding-linux-s390x-gnu@1.0.1': + resolution: {integrity: sha512-0frlsT/f4Ft6I7SMESTKnF3cZsdicQn1dCMkF/jT9wDLE+gGoiQfv1nmT9e+s7s/fekvvy6tZM2jHvI2tkbJDQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-gnu@1.0.0-rc.16': - resolution: {integrity: sha512-FIb8+uG49sZBtLTn+zt1AJ20TqVcqWeSIyoVt0or7uAWesgKaHbiBh6OpA/k9v0LTt+PTrb1Lao133kP4uVxkg==} + '@rolldown/binding-linux-x64-gnu@1.0.1': + resolution: {integrity: sha512-XABVmGp9Tg0WspTVvwduTc4fpqy6JnAUrSQe6OuyqD/03nI7r0O9OWUkMIwFrjKAIqolvqoA4ZrJppgwE0Gxmw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@rolldown/binding-linux-x64-musl@1.0.0-rc.16': - resolution: {integrity: sha512-RuERhF9/EgWxZEXYWCOaViUWHIboceK4/ivdtQ3R0T44NjLkIIlGIAVAuCddFxsZ7vnRHtNQUrt2vR2n2slB2w==} + '@rolldown/binding-linux-x64-musl@1.0.1': + resolution: {integrity: sha512-bV4fzswuzVcKD90o/VM6QqKxnxlDq0g2BISDLNVmxrnhpv1DDbyPhCIjYfvzYLV+MvkKKnQt2Q6AO86SEBULUQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@rolldown/binding-openharmony-arm64@1.0.0-rc.16': - resolution: {integrity: sha512-mXcXnvd9GpazCxeUCCnZ2+YF7nut+ZOEbE4GtaiPtyY6AkhZWbK70y1KK3j+RDhjVq5+U8FySkKRb/+w0EeUwA==} + '@rolldown/binding-openharmony-arm64@1.0.1': + resolution: {integrity: sha512-/Mh0Zhq3OP7fVs0kcQHZP6lZEthMGTaSf8UBQYSFEZDWGXXlEC+nJ6EqenaK2t4LBXMe3A+K/G2BVXXdtOr4PQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@rolldown/binding-wasm32-wasi@1.0.0-rc.16': - resolution: {integrity: sha512-3Q2KQxnC8IJOLqXmUMoYwyIPZU9hzRbnHaoV3Euz+VVnjZKcY8ktnNP8T9R4/GGQtb27C/UYKABxesKWb8lsvQ==} + '@rolldown/binding-wasm32-wasi@1.0.1': + resolution: {integrity: sha512-+1xc9X45l8ufsBAm6Gjvx2qDRIY9lTVt0cgWNcJ+1gdhXvkbxePA60yRTwSTuXL09CMhyJmjpV7E3NoyxbqFQQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [wasm32] - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.16': - resolution: {integrity: sha512-tj7XRemQcOcFwv7qhpUxMTBbI5mWMlE4c1Omhg5+h8GuLXzyj8HviYgR+bB2DMDgRqUE+jiDleqSCRjx4aYk/Q==} + '@rolldown/binding-win32-arm64-msvc@1.0.1': + resolution: {integrity: sha512-1D+UqZdfnuR+Jy1GgMJwi85bD40H21uNmOPRWQhw4oRSuolZ/B5rixZ45DK2KXOTCvmVCecauWgEhbw8bI7tOw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.0.0-rc.16': - resolution: {integrity: sha512-PH5DRZT+F4f2PTXRXR8uJxnBq2po/xFtddyabTJVJs/ZYVHqXPEgNIr35IHTEa6bpa0Q8Awg+ymkTaGnKITw4g==} + '@rolldown/binding-win32-x64-msvc@1.0.1': + resolution: {integrity: sha512-INAycaWuhlOK3wk4mRHGsdgwYWmd9cChdPdE9bwWmy6rn9VqVNYNFGhOdXrofXUxwHIncSiPNb8tNm8knDVIeQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - '@rolldown/pluginutils@1.0.0-rc.16': - resolution: {integrity: sha512-45+YtqxLYKDWQouLKCrpIZhke+nXxhsw+qAHVzHDVwttyBlHNBVs2K25rDXrZzhpTp9w1FlAlvweV1H++fdZoA==} + '@rolldown/pluginutils@1.0.1': + resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} '@rollup/plugin-commonjs@29.0.2': resolution: {integrity: sha512-S/ggWH1LU7jTyi9DxZOKyxpVd4hF/OZ0JrEbeLjXk/DFXwRny0tjD2c992zOUYQobLrVkRVMDdmHP16HKP7GRg==} @@ -4511,141 +4496,279 @@ packages: cpu: [arm] os: [android] + '@rollup/rollup-android-arm-eabi@4.60.4': + resolution: {integrity: sha512-F5QXMSiFebS9hKZj02XhWLLnRpJ3B3AROP0tWbFBSj+6kCbg5m9j5JoHKd4mmSVy5mS/IMQloYgYxCuJC0fxEQ==} + cpu: [arm] + os: [android] + '@rollup/rollup-android-arm64@4.60.2': resolution: {integrity: sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==} cpu: [arm64] os: [android] + '@rollup/rollup-android-arm64@4.60.4': + resolution: {integrity: sha512-GxxTKApUpzRhof7poWvCJHRF51C67u1R7D6DiluBE8wKU1u5GWE8t+v81JvJYtbawoBFX1hLv5Ei4eVjkWokaw==} + cpu: [arm64] + os: [android] + '@rollup/rollup-darwin-arm64@4.60.2': resolution: {integrity: sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==} cpu: [arm64] os: [darwin] + '@rollup/rollup-darwin-arm64@4.60.4': + resolution: {integrity: sha512-tua0TaJxMOB1R0V0RS1jFZ/RpURFDJIOR2A6jWwQeawuFyS4gBW+rntLRaQd0EQ4bd6Vp44Z2rXW+YYDBsj6IA==} + cpu: [arm64] + os: [darwin] + '@rollup/rollup-darwin-x64@4.60.2': resolution: {integrity: sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==} cpu: [x64] os: [darwin] + '@rollup/rollup-darwin-x64@4.60.4': + resolution: {integrity: sha512-CSKq7MsP+5PFIcydhAiR1K0UhEI1A2jWXVKHPCBZ151yOutENwvnPocgVHkivu2kviURtCEB6zUQw0vs8RrhMg==} + cpu: [x64] + os: [darwin] + '@rollup/rollup-freebsd-arm64@4.60.2': resolution: {integrity: sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==} cpu: [arm64] os: [freebsd] + '@rollup/rollup-freebsd-arm64@4.60.4': + resolution: {integrity: sha512-+O8OkVdyvXMtJEciu2wS/pzm1IxntEEQx3z5TAVy4l32G0etZn+RsA48ARRrFm6Ri8fvqPQfgrvNxSjKAbnd3g==} + cpu: [arm64] + os: [freebsd] + '@rollup/rollup-freebsd-x64@4.60.2': resolution: {integrity: sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==} cpu: [x64] os: [freebsd] + '@rollup/rollup-freebsd-x64@4.60.4': + resolution: {integrity: sha512-Iw3oMskH3AfNuhU0MSN7vNbdi4me/NiYo2azqPz/Le16zHSa+3RRmliCMWWQmh4lcndccU40xcJuTYJZxNo/lw==} + cpu: [x64] + os: [freebsd] + '@rollup/rollup-linux-arm-gnueabihf@4.60.2': resolution: {integrity: sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==} cpu: [arm] os: [linux] libc: [glibc] + '@rollup/rollup-linux-arm-gnueabihf@4.60.4': + resolution: {integrity: sha512-EIPRXTVQpHyF8WOo219AD2yEltPehLTcTMz2fn6JsatLYSzQf00hj3rulF+yauOlF9/FtM2WpkT/hJh/KJFGhA==} + cpu: [arm] + os: [linux] + libc: [glibc] + '@rollup/rollup-linux-arm-musleabihf@4.60.2': resolution: {integrity: sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==} cpu: [arm] os: [linux] libc: [musl] + '@rollup/rollup-linux-arm-musleabihf@4.60.4': + resolution: {integrity: sha512-J3Yh9PzzF1Ovah2At+lHiGQdsYgArxBbXv/zHfSyaiFQEqvNv7DcW98pCrmdjCZBrqBiKrKKe2V+aaSGWuBe/w==} + cpu: [arm] + os: [linux] + libc: [musl] + '@rollup/rollup-linux-arm64-gnu@4.60.2': resolution: {integrity: sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==} cpu: [arm64] os: [linux] libc: [glibc] + '@rollup/rollup-linux-arm64-gnu@4.60.4': + resolution: {integrity: sha512-BFDEZMYfUvLn37ONE1yMBojPxnMlTFsdyNoqncT0qFq1mAfllL+ATMMJd8TeuVMiX84s1KbcxcZbXInmcO2mRg==} + cpu: [arm64] + os: [linux] + libc: [glibc] + '@rollup/rollup-linux-arm64-musl@4.60.2': resolution: {integrity: sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==} cpu: [arm64] os: [linux] libc: [musl] + '@rollup/rollup-linux-arm64-musl@4.60.4': + resolution: {integrity: sha512-pc9EYOSlOgdQ2uPl1o9PF6/kLSgaUosia7gOuS8mB69IxJvlclko1MECXysjs5ryez1/5zjYqx3+xYU0TU6R1A==} + cpu: [arm64] + os: [linux] + libc: [musl] + '@rollup/rollup-linux-loong64-gnu@4.60.2': resolution: {integrity: sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==} cpu: [loong64] os: [linux] libc: [glibc] + '@rollup/rollup-linux-loong64-gnu@4.60.4': + resolution: {integrity: sha512-NxnomyxYerDh5n4iLrNa+sH+Z+U4BMEE46V2PgQ/hoB909i8gV1M5wPojWg9fk1jWpO3IQnOs20K4wyZuFLEFQ==} + cpu: [loong64] + os: [linux] + libc: [glibc] + '@rollup/rollup-linux-loong64-musl@4.60.2': resolution: {integrity: sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==} cpu: [loong64] os: [linux] libc: [musl] + '@rollup/rollup-linux-loong64-musl@4.60.4': + resolution: {integrity: sha512-nbJnQ8a3z1mtmrwImCYhc6BGpThAyYVRQxw9uKSKG4wR6aAYno9sVjJ0zaZcW9BPJX1GbrDPf+SvdWjgTuDmnw==} + cpu: [loong64] + os: [linux] + libc: [musl] + '@rollup/rollup-linux-ppc64-gnu@4.60.2': resolution: {integrity: sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==} cpu: [ppc64] os: [linux] libc: [glibc] + '@rollup/rollup-linux-ppc64-gnu@4.60.4': + resolution: {integrity: sha512-2EU6acNrQLd8tYvo/LXW535wupT3m6fo7HKo6lr7ktQoItxTyOL1ZCR/GfGCuXl2vR+zmfI6eRXkSemafv+iVg==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + '@rollup/rollup-linux-ppc64-musl@4.60.2': resolution: {integrity: sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==} cpu: [ppc64] os: [linux] libc: [musl] + '@rollup/rollup-linux-ppc64-musl@4.60.4': + resolution: {integrity: sha512-WeBtoMuaMxiiIrO2IYP3xs6GMWkJP2C0EoT8beTLkUPmzV1i/UcOSVw1d5r9KBODtHKilG5yFxsGRnBbK3wJ4A==} + cpu: [ppc64] + os: [linux] + libc: [musl] + '@rollup/rollup-linux-riscv64-gnu@4.60.2': resolution: {integrity: sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==} cpu: [riscv64] os: [linux] libc: [glibc] + '@rollup/rollup-linux-riscv64-gnu@4.60.4': + resolution: {integrity: sha512-FJHFfqpKUI3A10WrWKiFbBZ7yVbGT4q4B5o1qKFFojqpaYoh9LrQgqWCmmcxQzVSXYtyB5bzkXrYzlHTs21MYA==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + '@rollup/rollup-linux-riscv64-musl@4.60.2': resolution: {integrity: sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==} cpu: [riscv64] os: [linux] libc: [musl] + '@rollup/rollup-linux-riscv64-musl@4.60.4': + resolution: {integrity: sha512-mcEl6CUT5IAUmQf1m9FYSmVqCJlpQ8r8eyftFUHG8i9OhY7BkBXSUdnLH5DOf0wCOjcP9v/QO93zpmF1SptCCw==} + cpu: [riscv64] + os: [linux] + libc: [musl] + '@rollup/rollup-linux-s390x-gnu@4.60.2': resolution: {integrity: sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==} cpu: [s390x] os: [linux] libc: [glibc] + '@rollup/rollup-linux-s390x-gnu@4.60.4': + resolution: {integrity: sha512-ynt3JxVd2w2buzoKDWIyiV1pJW93xlQic1THVLXilz429oijRpSHivZAgp65KBu+cMcgf1eVVjdnTLvPxgCuoQ==} + cpu: [s390x] + os: [linux] + libc: [glibc] + '@rollup/rollup-linux-x64-gnu@4.60.2': resolution: {integrity: sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==} cpu: [x64] os: [linux] libc: [glibc] + '@rollup/rollup-linux-x64-gnu@4.60.4': + resolution: {integrity: sha512-Boiz5+MsaROEWDf+GGEwF8VMHGhlUoQMtIPjOgA5fv4osupqTVnJteQNKJwUcnUog2G55jYXH7KZFFiJe0TEzQ==} + cpu: [x64] + os: [linux] + libc: [glibc] + '@rollup/rollup-linux-x64-musl@4.60.2': resolution: {integrity: sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==} cpu: [x64] os: [linux] libc: [musl] + '@rollup/rollup-linux-x64-musl@4.60.4': + resolution: {integrity: sha512-+qfSY27qIrFfI/Hom04KYFw3GKZSGU4lXus51wsb5EuySfFlWRwjkKWoE9emgRw/ukoT4Udsj4W/+xxG8VbPKg==} + cpu: [x64] + os: [linux] + libc: [musl] + '@rollup/rollup-openbsd-x64@4.60.2': resolution: {integrity: sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==} cpu: [x64] os: [openbsd] + '@rollup/rollup-openbsd-x64@4.60.4': + resolution: {integrity: sha512-VpTfOPHgVXEBeeR8hZ2O0F3aSso+JDWqTWmTmzcQKted54IAdUVbxE+j/MVxUsKa8L20HJhv3vUezVPoquqWjA==} + cpu: [x64] + os: [openbsd] + '@rollup/rollup-openharmony-arm64@4.60.2': resolution: {integrity: sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==} cpu: [arm64] os: [openharmony] + '@rollup/rollup-openharmony-arm64@4.60.4': + resolution: {integrity: sha512-IPOsh5aRYuLv/nkU51X10Bf75Bsf6+gZdx1X+QP5QM6lIJFHHqbHLG0uJn/hWthzo13UAc2umiUorqZy3axoZg==} + cpu: [arm64] + os: [openharmony] + '@rollup/rollup-win32-arm64-msvc@4.60.2': resolution: {integrity: sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==} cpu: [arm64] os: [win32] + '@rollup/rollup-win32-arm64-msvc@4.60.4': + resolution: {integrity: sha512-4QzE9E81OohJ/HKzHhsqU+zcYYojVOXlFMs1DdyMT6qXl/niOH7AVElmmEdUNHHS/oRkc++d5k6Vy85zFs0DEw==} + cpu: [arm64] + os: [win32] + '@rollup/rollup-win32-ia32-msvc@4.60.2': resolution: {integrity: sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==} cpu: [ia32] os: [win32] + '@rollup/rollup-win32-ia32-msvc@4.60.4': + resolution: {integrity: sha512-zTPgT1YuHHcd+Tmx7h8aml0FWFVelV5N54oHow9SLj+GfoDy/huQ+UV396N/C7KpMDMiPspRktzM1/0r1usYEA==} + cpu: [ia32] + os: [win32] + '@rollup/rollup-win32-x64-gnu@4.60.2': resolution: {integrity: sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==} cpu: [x64] os: [win32] + '@rollup/rollup-win32-x64-gnu@4.60.4': + resolution: {integrity: sha512-DRS4G7mi9lJxqEDezIkKCaUIKCrLUUDCUaCsTPCi/rtqaC6D/jjwslMQyiDU50Ka0JKpeXeRBFBAXwArY52vBw==} + cpu: [x64] + os: [win32] + '@rollup/rollup-win32-x64-msvc@4.60.2': resolution: {integrity: sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==} cpu: [x64] os: [win32] - '@rollup/wasm-node@4.60.2': - resolution: {integrity: sha512-FOfZOg752WSyKNefpSM3WrhggSTSuKuwcSfF7tdWC9PBYYg7BLwBR267uShFAI1ZyA0gNkdqK16LL9mNOPsQ1Q==} + '@rollup/rollup-win32-x64-msvc@4.60.4': + resolution: {integrity: sha512-QVTUovf40zgTqlFVrKA1uXMVvU2QWEFWfAH8Wdc48IxLvrJMQVMBRjuQyUpzZCDkakImib9eVazbWlC6ksWtJw==} + cpu: [x64] + os: [win32] + + '@rollup/wasm-node@4.60.4': + resolution: {integrity: sha512-j6qaRjdDujJ5utX5l6+8eiWlvMLmBfPMBht8mHP2au3xuzf+4deu6PuCquH5GvDIvIOsWHZhA1UVz/s0FvvgAA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -4779,8 +4902,8 @@ packages: '@sinonjs/commons@3.0.1': resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} - '@sinonjs/fake-timers@15.3.2': - resolution: {integrity: sha512-mrn35Jl2pCpns+mE3HaZa1yPN5EYCRgiMI+135COjr2hr8Cls9DXqIZ57vZe2cz7y2XVSq92tcs6kGQcT1J8Rw==} + '@sinonjs/fake-timers@15.4.0': + resolution: {integrity: sha512-DsG+8/LscQIQg68J6Ef3dv10u6nVyetYn923s3/sus5eaGfTo1of5WMZSLf0UJc9KDuKPilPH0UDJCjvNbDNCA==} '@so-ric/colorspace@1.1.6': resolution: {integrity: sha512-/KiKkpHNOBgkFJwu9sh48LkHSMYGyuTcSFK/qMBdnOAlrRJzRSXAOFB5qwzaVQuDl8wAvHVMkaASQDReTahxuw==} @@ -4794,20 +4917,20 @@ packages: '@standard-schema/spec@1.1.0': resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} - '@textlint/ast-node-types@15.5.4': - resolution: {integrity: sha512-bVtB6VEy9U9DpW8cTt25k5T+lz86zV5w6ImePZqY1AXzSuPhqQNT77lkMPxonXzUducEIlSvUu3o7sKw3y9+Sw==} + '@textlint/ast-node-types@15.7.1': + resolution: {integrity: sha512-Wii5UgUKFEh9Uv6wbq1zr4/Kf+dtjiUuzPrrXzKp8H+ifkvKNzi23V4Nz+6wVyHQn5T28AFuc8VH8OtzvGYecA==} - '@textlint/linter-formatter@15.5.4': - resolution: {integrity: sha512-D9qJedKBLmAo+kiudop4UKgSxXMi4O8U86KrCidVXZ9RsK0NSVIw6+r2rlMUOExq79iEY81FRENyzmNVRxDBsg==} + '@textlint/linter-formatter@15.7.1': + resolution: {integrity: sha512-TdwZ/debWYFD05K3CcoHtwvnCrza29wZxD+BjDTk/V5N7iRqkK1dTTHSD4A8AIgROLiDkHJmIKQbasbmsg8AvA==} - '@textlint/module-interop@15.5.4': - resolution: {integrity: sha512-JyAUd26ll3IFF87LP0uGoa8Tzw5ZKiYvGs6v8jLlzyND1lUYCI4+2oIAslrODLkf0qwoCaJrBQWM3wsw+asVGQ==} + '@textlint/module-interop@15.7.1': + resolution: {integrity: sha512-Jg+sQW2L/cRJypk59wtcMUVVpt8vmit5ZMT3gUnFwevP3A6Qp1HfOtUy9ObT4hBX3lOSGT/ekcCDxR1pL7uH1g==} - '@textlint/resolver@15.5.4': - resolution: {integrity: sha512-5GUagtpQuYcmhlOzBGdmVBvDu5lKgVTjwbxtdfoidN4OIqblIxThJHHjazU+ic+/bCIIzI2JcOjHGSaRmE8Gcg==} + '@textlint/resolver@15.7.1': + resolution: {integrity: sha512-8XnO0pgF6mXnm41VvWmBbEIdGPhiCUt31uLZkOis1ECeg/1SoUcIT6Mx/F0e1rukq8l0UlOSeY9a31CsvRMK0g==} - '@textlint/types@15.5.4': - resolution: {integrity: sha512-mY28j2U7nrWmZbxyKnRvB8vJxJab4AxqOobLfb6iozrLelJbqxcOTvBQednadWPfAk9XWaZVMqUr9Nird3mutg==} + '@textlint/types@15.7.1': + resolution: {integrity: sha512-Vye/GmFNBTgVzZFtIFJTmLB+s2A7oIADxNG6r9UhfPuY+Czv0z5G3xeyFZZudPlfxURsKUyPIU5XsjOFqVp33A==} '@tootallnate/quickjs-emscripten@0.23.0': resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} @@ -4832,8 +4955,8 @@ packages: resolution: {integrity: sha512-Y8cK9aggNRsqJVaKUlEYs4s7CvQ1b1ta2DVPyAimb0I2qhzjNk+A+mxvll/klL0RlfuIUei8BF7YWiua4kQqww==} engines: {node: ^20.17.0 || >=22.9.0} - '@tybys/wasm-util@0.10.1': - resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} + '@tybys/wasm-util@0.10.2': + resolution: {integrity: sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==} '@types/adm-zip@0.5.8': resolution: {integrity: sha512-RVVH7QvZYbN+ihqZ4kX/dMiowf6o+Jk1fNwiSdx0NahBJLU787zkULhGhJM8mf/obmLGmgdMM0bXsQTmyfbR7Q==} @@ -4865,8 +4988,8 @@ packages: '@types/chai@5.2.3': resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} - '@types/chrome@0.1.40': - resolution: {integrity: sha512-UnfyRAe8ORu9HSuTH0EqyOEUin3JrWW9Nl/gDXezNfTUrfIoxw+WRZgKOxGz0t5BnjbfXBnS2eCYfW2PxH1wcA==} + '@types/chrome@0.1.42': + resolution: {integrity: sha512-tdT2roFqGecZZDjA9fUEAINb2STxSPifHMDvY6EfRjNRCjdrs/0FwKt5RCIA9MKMd1arAYZZL3nwEkp6ZLZu2w==} '@types/cldr@7.1.4': resolution: {integrity: sha512-p4J5+33G/iniIYGkt8ry/rCoBtJWSC2xFpW9LCygtkBNznKb870KFT/LCEU2Jd9h/6g1PteglodpWBjWdCKlpA==} @@ -5003,6 +5126,9 @@ packages: '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + '@types/estree@1.0.9': + resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} + '@types/events@3.0.3': resolution: {integrity: sha512-trOc4AAUThEz9hapPtSd7wf5tiQKvTtu5b371UxXdTuqzIh0ArcRspRP0i0Viu+LXstIQ1z96t1nsPxT9ol01g==} @@ -5072,12 +5198,15 @@ packages: '@types/mime@1.3.5': resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - '@types/node@20.19.39': - resolution: {integrity: sha512-orrrD74MBUyK8jOAD/r0+lfa1I2MO6I+vAkmAWzMYbCcgrN4lCrmK52gRFQq/JRxfYPfonkr4b0jcY7Olqdqbw==} + '@types/node@20.19.41': + resolution: {integrity: sha512-ECymXOukMnOoVkC2bb1Vc/w/836DXncOg5m8Xj1RH7xSHZJWNYY6Zh7EH477vcnD5egKNNfy2RpNOmuChhFPgQ==} '@types/node@24.12.2': resolution: {integrity: sha512-A1sre26ke7HDIuY/M23nd9gfB+nrmhtYyMINbjI1zHJxYteKR6qSMX56FsmjMcDb3SMcjJg5BiRRgOCC/yBD0g==} + '@types/node@24.12.4': + resolution: {integrity: sha512-GUUEShf+PBCGW2KaXwcIt3Yk+e3pkKwWKb9GSyM9WQVE+ep2jzmHdGsHzu4wgcZy5fN9FBdVzjpBQsYlpfpgLA==} + '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -5087,8 +5216,8 @@ packages: '@types/q@0.0.32': resolution: {integrity: sha512-qYi3YV9inU/REEfxwVcGZzbS3KG/Xs90lv0Pr+lDtuVjBPGd1A+eciXzVSaRvLify132BfcvhvEjeVahrUl0Ug==} - '@types/qs@6.15.0': - resolution: {integrity: sha512-JawvT8iBVWpzTrz3EGw9BTQFg3BQNmwERdKE22vlTxawwtbyUSlMppvZYKLZzB5zgACXdXxbD3m1bXaMqP/9ow==} + '@types/qs@6.15.1': + resolution: {integrity: sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==} '@types/range-parser@1.2.7': resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} @@ -5156,8 +5285,8 @@ packages: '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - '@types/vscode@1.116.0': - resolution: {integrity: sha512-sYHp4MO6BqJ2PD7Hjt0hlIS3tMaYsVPJrd0RUjDJ8HtOYnyJIEej0bLSccM8rE77WrC+Xox/kdBwEFDO8MsxNA==} + '@types/vscode@1.120.0': + resolution: {integrity: sha512-feaT4Rst+FkTch5zz/ZbNCxoIvo55YU80Be2kiL7OJcod4+CUYf2lUBPdIJzozNnSEMq1VRTGrWEcCGFB3fBmA==} '@types/which@3.0.4': resolution: {integrity: sha512-liyfuo/106JdlgSchJzXEQCVArk0CvevqPote8F8HgWgJ3dRCcTHgJIsLDuee0kxk/mhbInzIZk3QWSZJ8R+2w==} @@ -5186,9 +5315,8 @@ packages: resolution: {integrity: sha512-yURCknZhvywvQItHMMmFSo+fq5arCUIyz/CVk7jD89MSai7dkaX8ufjCWp3NttLojoTVbcE72ri+be/TnEbMHw==} engines: {node: '>=20.0.0'} - '@ungap/structured-clone@1.3.0': - resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} - deprecated: Potential CWE-502 - Update to 1.3.1 or higher + '@ungap/structured-clone@1.3.1': + resolution: {integrity: sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==} '@unrs/resolver-binding-android-arm-eabi@1.11.1': resolution: {integrity: sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==} @@ -5302,11 +5430,11 @@ packages: peerDependencies: vite: ^6.0.0 || ^7.0.0 || ^8.0.0 - '@vitest/expect@4.1.4': - resolution: {integrity: sha512-iPBpra+VDuXmBFI3FMKHSFXp3Gx5HfmSCE8X67Dn+bwephCnQCaB7qWK2ldHa+8ncN8hJU8VTMcxjPpyMkUjww==} + '@vitest/expect@4.1.6': + resolution: {integrity: sha512-7EHDquPthALSV0jhhjgEW8FXaviMx7rSqu8W6oqCoAuOhKov814P99QDV1pxMA3QPv21YudvJngIhjrNI4opLg==} - '@vitest/mocker@4.1.4': - resolution: {integrity: sha512-R9HTZBhW6yCSGbGQnDnH3QHfJxokKN4KB+Yvk9Q1le7eQNYwiCyKxmLmurSpFy6BzJanSLuEUDrD+j97Q+ZLPg==} + '@vitest/mocker@4.1.6': + resolution: {integrity: sha512-MCFc63czMjEInOlcY2cpQCvCN+KgbAn+60xu9cMgP4sKaLC5JNAKw7JH8QdAnoAC88hW1IiSNZ+GgVXlN1UcMQ==} peerDependencies: msw: ^2.4.9 vite: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -5316,20 +5444,20 @@ packages: vite: optional: true - '@vitest/pretty-format@4.1.4': - resolution: {integrity: sha512-ddmDHU0gjEUyEVLxtZa7xamrpIefdEETu3nZjWtHeZX4QxqJ7tRxSteHVXJOcr8jhiLoGAhkK4WJ3WqBpjx42A==} + '@vitest/pretty-format@4.1.6': + resolution: {integrity: sha512-h5SxD/IzNhZYnrSZRsUZQIC+vD0GY8cUvq0iwsmkFKixRCKLLWqCXa/FIQ4S1R+sI+PGoojkHsdNrbZiM9Qpgw==} - '@vitest/runner@4.1.4': - resolution: {integrity: sha512-xTp7VZ5aXP5ZJrn15UtJUWlx6qXLnGtF6jNxHepdPHpMfz/aVPx+htHtgcAL2mDXJgKhpoo2e9/hVJsIeFbytQ==} + '@vitest/runner@4.1.6': + resolution: {integrity: sha512-nOPCmn2+yD0ZNmKdsXGv/UxMMWbMuKeD6GyYncNwdkYDxpQvrPSKYj2rWuDjC2Y4b6w6hjip5dBKFzEUuZe3vA==} - '@vitest/snapshot@4.1.4': - resolution: {integrity: sha512-MCjCFgaS8aZz+m5nTcEcgk/xhWv0rEH4Yl53PPlMXOZ1/Ka2VcZU6CJ+MgYCZbcJvzGhQRjVrGQNZqkGPttIKw==} + '@vitest/snapshot@4.1.6': + resolution: {integrity: sha512-YhsdE6xAVfTDmzjxL2ZDUvjj+ZsgyOKe+TdQzqkD72wIOmHka8NuGQ6NpTNZv9D2Z63fbwWKJPeVpEw4EQgYxw==} - '@vitest/spy@4.1.4': - resolution: {integrity: sha512-XxNdAsKW7C+FLydqFJLb5KhJtl3PGCMmYwFRfhvIgxJvLSXhhVI1zM8f1qD3Zg7RCjTSzDVyct6sghs9UEgBEQ==} + '@vitest/spy@4.1.6': + resolution: {integrity: sha512-JFKxMx6udhwKh/Ldo270e17QX710vgunMkuPAvXjHSvC6oqLWAHhVhjg/I71q0u0CBSErIODV1Kjv0FQNSWjdg==} - '@vitest/utils@4.1.4': - resolution: {integrity: sha512-13QMT+eysM5uVGa1rG4kegGYNp6cnQcsTc67ELFbhNLQO+vgsygtYJx2khvdt4gVQqSSpC/KT5FZZxUpP3Oatw==} + '@vitest/utils@4.1.6': + resolution: {integrity: sha512-FxIY+U81R3LGKCxaHHFRQ5+g6/iRgGLmeHWdp2Amj4ljQRrEIWHmZyDfDYBRZlpyqA7qKxtS9DD1dhk8RnRIVQ==} '@vscode/l10n@0.0.18': resolution: {integrity: sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==} @@ -5528,11 +5656,8 @@ packages: peerDependencies: ajv: ^8.8.2 - ajv@6.14.0: - resolution: {integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==} - - ajv@8.18.0: - resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==} + ajv@6.15.0: + resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==} ajv@8.20.0: resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} @@ -5786,8 +5911,8 @@ packages: azure-devops-node-api@12.5.0: resolution: {integrity: sha512-R5eFskGvOm3U/GzeAuxRkUsAl0hrAwGgWn6zAd2KrZmrEhWZVqLew4OOupbQlXUuojUzpGtq62SmdhJ06N88og==} - b4a@1.8.0: - resolution: {integrity: sha512-qRuSmNSkGQaHwNbM7J78Wwy+ghLEYF1zNrSeMxj4Kgw6y33O3mXcQ6Ie9fRvfU/YnxWkOchPXbaLb73TkIsfdg==} + b4a@1.8.1: + resolution: {integrity: sha512-aiqre1Nr0B/6DgE2N5vwTc+2/oQZ4Wh1t4NznYY4E00y8LCt6NqdRv81so00oo27D8MVKTpUa/MwUUtBLXCoDw==} peerDependencies: react-native-b4a: '*' peerDependenciesMeta: @@ -5863,8 +5988,8 @@ packages: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} - bare-events@2.8.2: - resolution: {integrity: sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==} + bare-events@2.8.3: + resolution: {integrity: sha512-HdUm8EMQBLaJvGUdidNNbqpA1kYkwNcb+MYxkxCLAPJGQzlv9J0C24h8V65Z4c5GLd/JEALDvpFCQgpLJqc0zw==} peerDependencies: bare-abort-controller: '*' peerDependenciesMeta: @@ -5880,15 +6005,15 @@ packages: bare-buffer: optional: true - bare-os@3.8.7: - resolution: {integrity: sha512-G4Gr1UsGeEy2qtDTZwL7JFLo2wapUarz7iTMcYcMFdS89AIQuBoyjgXZz0Utv7uHs3xA9LckhVbeBi8lEQrC+w==} + bare-os@3.9.1: + resolution: {integrity: sha512-6M5XjcnsygQNPMCMPXSK379xrJFiZ/AEMNBmFEmQW8d/789VQATvriyi5r0HYTL9TkQ26rn3kgdTG3aisbrXkQ==} engines: {bare: '>=1.14.0'} bare-path@3.0.0: resolution: {integrity: sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==} - bare-stream@2.13.0: - resolution: {integrity: sha512-3zAJRZMDFGjdn+RVnNpF9kuELw+0Fl3lpndM4NcEOhb9zwtSo/deETfuIwMSE5BXanA0FrN1qVjffGwAg2Y7EA==} + bare-stream@2.13.1: + resolution: {integrity: sha512-Vp0cnjYyrEC4whYTymQ+YZi6pBpfiICZO3cfRG8sy67ZNWe951urv1x4eW1BKNngw3U+3fPYb5JQvHbCtxH7Ow==} peerDependencies: bare-abort-controller: '*' bare-buffer: '*' @@ -5901,8 +6026,8 @@ packages: bare-events: optional: true - bare-url@2.4.1: - resolution: {integrity: sha512-fZapLWNB25gS+etK27NV9KgBNXgo2yeYHuj+OyPblQd6GYAE3JVy6aKxszMV5jhGGFwraXQKA5fldvf3lMyEqw==} + bare-url@2.4.3: + resolution: {integrity: sha512-Kccpc7ACfXaxfeInfqKcZtW4pT5YBn1mesc4sCsun6sRwtbJ4h+sNOaksUpYEJUKfN65YWC6Bw2OJEFiKxq8nQ==} base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} @@ -5911,8 +6036,8 @@ packages: resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==} engines: {node: ^4.5.0 || >= 5.9} - baseline-browser-mapping@2.10.20: - resolution: {integrity: sha512-1AaXxEPfXT+GvTBJFuy4yXVHWJBXa4OdbIebGN/wX5DlsIkU0+wzGnd2lOzokSk51d5LUmqjgBLRLlypLUqInQ==} + baseline-browser-mapping@2.10.30: + resolution: {integrity: sha512-xjOFN16Ha1+Rz4nFYKqHU/LSB+gx/Vi3yQLX7r7sAW+Wa+8hhF2h4pvqTrTMc8+WcDBEunnUurr46Jvv0jk3Vg==} engines: {node: '>=6.0.0'} hasBin: true @@ -5923,8 +6048,8 @@ packages: resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==} engines: {node: '>= 0.8'} - basic-ftp@5.3.0: - resolution: {integrity: sha512-5K9eNNn7ywHPsYnFwjKgYH8Hf8B5emh7JKcPaVjjrMJFQQwGpwowEnZNEtHs7DfR7hCZsmaK3VA4HUK0YarT+w==} + basic-ftp@5.3.1: + resolution: {integrity: sha512-bopVNp6ugyA150DDuZfPFdt1KZ5a94ZDiwX4hMgZDzF+GttD80lEy8kj98kbyhLXnPvhtIo93mdnLIjpCAeeOw==} engines: {node: '>=10.0.0'} batch@0.6.1: @@ -5977,8 +6102,8 @@ packages: bluebird@3.7.2: resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} - body-parser@1.20.4: - resolution: {integrity: sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==} + body-parser@1.20.5: + resolution: {integrity: sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} body-parser@2.2.2: @@ -6007,8 +6132,8 @@ packages: brace-expansion@2.1.0: resolution: {integrity: sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==} - brace-expansion@5.0.5: - resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==} + brace-expansion@5.0.6: + resolution: {integrity: sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==} engines: {node: 18 || 20 || >=22} braces@3.0.3: @@ -6107,8 +6232,8 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - caniuse-lite@1.0.30001788: - resolution: {integrity: sha512-6q8HFp+lOQtcf7wBK+uEenxymVWkGKkjFpCvw5W25cmMwEDU45p1xQFBQv8JDlMMry7eNxyBaR+qxgmTUZkIRQ==} + caniuse-lite@1.0.30001793: + resolution: {integrity: sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==} caseless@0.12.0: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} @@ -6162,15 +6287,6 @@ packages: resolution: {integrity: sha512-WDrybc/gKFpTYQutKIK6UvfcuxijIZfMfXaYm8NMsPQxSYvf+13fXUJ4rztGGbJcBQ/GF55gvrZ0Bc0bj/mqvg==} engines: {node: '>=20.18.1'} - chevrotain-allstar@0.4.1: - resolution: {integrity: sha512-PvVJm3oGqrveUVW2Vt/eZGeiAIsJszYweUcYwcskg9e+IubNYKKD+rHHem7A6XVO22eDAL+inxNIGAzZ/VIWlA==} - peerDependencies: - chevrotain: ^12.0.0 - - chevrotain@12.0.0: - resolution: {integrity: sha512-csJvb+6kEiQaqo1woTdSAuOWdN0WTLIydkKrBnS+V5gZz0oqBrp4kQ35519QgK6TpBThiG3V1vNSHlIkv4AglQ==} - engines: {node: '>=22.0.0'} - chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} @@ -6347,10 +6463,6 @@ packages: resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} engines: {node: '>=14'} - commander@11.1.0: - resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} - engines: {node: '>=16'} - commander@12.1.0: resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} engines: {node: '>=18'} @@ -6418,9 +6530,6 @@ packages: resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} engines: {'0': node >= 6.0} - confbox@0.1.8: - resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} - config-chain@1.1.13: resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} @@ -6448,6 +6557,10 @@ packages: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} + content-type@2.0.0: + resolution: {integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==} + engines: {node: '>=18'} + conventional-changelog-angular@8.3.1: resolution: {integrity: sha512-6gfI3otXK5Ph5DfCOI1dblr+kN3FAm5a97hYoQkqNZxOaYa5WKfXH+AnpsmS+iUH2mgVC2Cg2Qw9m5OKcmNrIg==} engines: {node: '>=18'} @@ -6666,8 +6779,8 @@ packages: peerDependencies: cytoscape: ^3.2.0 - cytoscape@3.33.2: - resolution: {integrity: sha512-sj4HXd3DokGhzZAdjDejGvTPLqlt84vNFN8m7bGsOzDY5DyVcxIb2ejIXat2Iy7HxWhdT/N1oKyheJ5YdpsGuw==} + cytoscape@3.33.3: + resolution: {integrity: sha512-Gej7U+OKR+LZ8kvX7rb2HhCYJ0IhvEFsnkud4SB1PR+BUY/TsSO0dmOW59WEVLu51b1Rm+gQRKoz4bLYxGSZ2g==} engines: {node: '>=0.10'} d3-array@2.12.1: @@ -7051,8 +7164,8 @@ packages: resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} engines: {node: '>= 4'} - dompurify@3.4.0: - resolution: {integrity: sha512-nolgK9JcaUXMSmW+j1yaSvaEaoXYHwWyGJlkoCTghc97KgGDDSnpoU/PlEnw63Ah+TGKFOyY+X5LnxaWbCSfXg==} + dompurify@3.4.3: + resolution: {integrity: sha512-VVwJidIJcp1hpg2OMXML3ZVRPYSZiq4aX7qBh83BSIpOaRDqI+qxhXjjIWnpzkOXhmp0L81lnoME1mnCc9H48A==} domutils@3.2.2: resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} @@ -7096,8 +7209,8 @@ packages: engines: {node: '>=0.12.18'} hasBin: true - electron-to-chromium@1.5.340: - resolution: {integrity: sha512-908qahOGocRMinT2nM3ajCEM99H4iPdv84eagPP3FfZy/1ZGeOy2CZYzjhms81ckOPCXPlW7LkY4XpxD8r1DrA==} + electron-to-chromium@1.5.358: + resolution: {integrity: sha512-EO7tKm3QxRqTs1lSuPXzl6yRAwznehp0AH9OoMOIC+4mQzTFday8FJCO5KU6J/TFSQXEOahNq4vTKpz1jmCVOA==} emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} @@ -7143,12 +7256,12 @@ packages: resolution: {integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==} engines: {node: '>=10.0.0'} - engine.io@6.6.6: - resolution: {integrity: sha512-U2SN0w3OpjFRVlrc17E6TMDmH58Xl9rai1MblNjAdwWp07Kk+llmzX0hjDpQdrDGzwmvOtgM5yI+meYX6iZ2xA==} + engine.io@6.6.7: + resolution: {integrity: sha512-DgOngfDKM2EviOH3Mr9m7ks1q8roetLy/IMmYthAYzbpInMbYc/GS+fWFA3rl1gvwKVsQrVV61fo5emD1y3OJQ==} engines: {node: '>=10.2.0'} - enhanced-resolve@5.20.1: - resolution: {integrity: sha512-Qohcme7V1inbAfvjItgw0EaxVX5q2rdVEZHRBrEQdRZTssLDGsL8Lwrznl8oQ/6kuTJONLaDcGjkNP247XEhcA==} + enhanced-resolve@5.21.3: + resolution: {integrity: sha512-QyL119InA+XXEkNLNTPCXPugSvOfhwv0JOlGNzvxs0hZaiHLNvXSpudUWsOlsXGWJh8G6ckCScEkVHfX3kw/2Q==} engines: {node: '>=10.13.0'} ent@2.2.2: @@ -7198,8 +7311,8 @@ packages: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} - es-module-lexer@2.0.0: - resolution: {integrity: sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==} + es-module-lexer@2.1.0: + resolution: {integrity: sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ==} es-object-atoms@1.1.1: resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} @@ -7213,6 +7326,9 @@ packages: resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} engines: {node: '>= 0.4'} + es-toolkit@1.46.1: + resolution: {integrity: sha512-5eNtXOs3tbfxXOj04tjjseeWkRWaoCjdEI+96DgwzZoe6c9juL49pXlzAFTI72aWC9Y8p7168g6XIKjh7k6pyQ==} + es6-promise@4.2.8: resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} @@ -7381,14 +7497,14 @@ packages: exponential-backoff@3.1.3: resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} - express-rate-limit@8.3.2: - resolution: {integrity: sha512-77VmFeJkO0/rvimEDuUC5H30oqUC4EyOhyGccfqoLebB0oiEYfM7nwPrsDsBL1gsTpwfzX8SFy2MT3TDyRq+bg==} + express-rate-limit@8.5.2: + resolution: {integrity: sha512-5Kb34ipNX694DH48vN9irak1Qx30nb0PLYHXfJgw4YEjiC3ZEmZJhwOp+VfiCYwFzvFTdB9QkArYS5kXa2cx2A==} engines: {node: '>= 16'} peerDependencies: express: '>= 4.11' - express@4.22.1: - resolution: {integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==} + express@4.22.2: + resolution: {integrity: sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==} engines: {node: '>= 0.10.0'} express@5.2.1: @@ -7436,8 +7552,8 @@ packages: fast-string-width@3.0.2: resolution: {integrity: sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==} - fast-uri@3.1.0: - resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} + fast-uri@3.1.2: + resolution: {integrity: sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==} fast-wrap-ansi@0.2.0: resolution: {integrity: sha512-rLV8JHxTyhVmFYhBJuMujcrHqOT2cnO5Zxj37qROj23CP39GXubJRBUFF0z8KFK77Uc0SukZUf7JZhsVEQ6n8w==} @@ -7525,8 +7641,8 @@ packages: resolution: {integrity: sha512-OFRzsL6ZMHz5s0JrsEr+TpdGNCtrVtnuG3x1yzGNiQHT0yaDnXAj8V/lWcpJVrnoDpcwXcASxAZYbuXda2Y82A==} engines: {node: '>= 10.13.0'} - firebase-tools@15.15.0: - resolution: {integrity: sha512-WzIDUSe2PRHhsLA2uf1xe8CKTLm+Bbfum4fCduCmjzj4ei5WBszF24Kh9MVS1D3clQbyuIlQKbYhEZZTW+5DUw==} + firebase-tools@15.18.0: + resolution: {integrity: sha512-rILpd9JgjifGRUSxXJC4Iu1h6wEZ7BuoYHZerT+CuY9SNopm8ykHOCjoFCANFplQe0xIGMkJtaXdEVN1uCB75A==} engines: {node: '>=20.0.0 || >=22.0.0 || >=24.0.0'} hasBin: true @@ -7614,8 +7730,8 @@ packages: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} - fs-extra@11.3.4: - resolution: {integrity: sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==} + fs-extra@11.3.5: + resolution: {integrity: sha512-eKpRKAovdpZtR1WopLHxlBWvAgPny3c4gX1G5Jhwmmw4XJj0ifSD5qB5TOo8hmA0wlRKDAOAhEE1yVPgs6Fgcg==} engines: {node: '>=14.14'} fs-extra@8.1.0: @@ -7690,8 +7806,8 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - get-east-asian-width@1.5.0: - resolution: {integrity: sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==} + get-east-asian-width@1.6.0: + resolution: {integrity: sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==} engines: {node: '>=18'} get-intrinsic@1.3.0: @@ -7859,8 +7975,8 @@ packages: peerDependencies: graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - graphql@16.13.2: - resolution: {integrity: sha512-5bJ+nf/UCpAjHM8i06fl7eLyVC9iuNAjm9qzkiu2ZGhM0VscSvS6WDPfAwkdkBuoXGM9FJSbKl6wylMwP9Ktig==} + graphql@16.14.0: + resolution: {integrity: sha512-BBvQ/406p+4CZbTpCbVPSxfzrZrbnuWSP1ELYgyS6B+hNeKzgrdB4JczCa5VZUBQrDa9hUngm0KnexY6pJRN5Q==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} grpc-gcp@1.0.1: @@ -7979,8 +8095,8 @@ packages: resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} engines: {node: '>=0.10.0'} - hono@4.12.14: - resolution: {integrity: sha512-am5zfg3yu6sqn5yjKBNqhnTX7Cv+m00ox+7jbaKkrLMRJ4rAdldd1xPd/JzbBWspqaQv6RSTrgFN95EsfhC+7w==} + hono@4.12.19: + resolution: {integrity: sha512-xa3eYXYXx68XTT4hZ7dRzsXBhaq85ToSrlUJNoR0gwz/1Ap/CNwX47wfvV7pc/xWhjKVVkLT7zBJy8chhNguqQ==} engines: {node: '>=16.9.0'} hosted-git-info@4.1.0: @@ -7995,8 +8111,8 @@ packages: resolution: {integrity: sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==} engines: {node: ^18.17.0 || >=20.5.0} - hosted-git-info@9.0.2: - resolution: {integrity: sha512-M422h7o/BR3rmCQ8UHi7cyyMqKltdP9Uo+J2fXK+RSAY+wTcKOIRyhTuKv4qn+DJf3g+PL890AzId5KZpX+CBg==} + hosted-git-info@9.0.3: + resolution: {integrity: sha512-Hc+ghLoSt6QaYZUv0WBiIvmMDZuZZ7oaDvdH8MbfOO4lOsxdXLEvuC6ePoGs9H1X9oCLyq6+NVN0MKqD+ydxyg==} engines: {node: ^20.17.0 || >=22.9.0} hpack.js@2.1.6: @@ -8162,6 +8278,9 @@ packages: engines: {node: '>=8'} hasBin: true + import-meta-resolve@4.2.0: + resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} + imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -8170,9 +8289,6 @@ packages: resolution: {integrity: sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==} engines: {node: '>=18'} - infer-owner@1.0.4: - resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} - inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. @@ -8194,8 +8310,9 @@ packages: injection-js@2.6.1: resolution: {integrity: sha512-dbR5bdhi7TWDoCye9cByZqeg/gAfamm8Vu3G1KZOTYkOif8WkuM8CD0oeDPtZYMzT5YH76JAFB7bkmyY9OJi2A==} - install-artifact-from-github@1.4.0: - resolution: {integrity: sha512-+y6WywKZREw5rq7U2jvr2nmZpT7cbWbQQ0N/qfcseYnzHFz2cZz1Et52oY+XttYuYeTkI8Y+R2JNWj68MpQFSg==} + install-artifact-from-github@1.6.0: + resolution: {integrity: sha512-wKsuzN8fy8QK7iEUqyWTQmvZ1QFGPn1xyl3/1iIIDthDjS7Hn9HoPwHlNakZirWbCsbad0lZMkr6Xfbpe1pUzw==} + engines: {node: '>=18'} hasBin: true internal-slot@1.1.0: @@ -8213,8 +8330,8 @@ packages: resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==} engines: {node: '>=10.13.0'} - ip-address@10.1.0: - resolution: {integrity: sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==} + ip-address@10.2.0: + resolution: {integrity: sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==} engines: {node: '>= 12'} ip-regex@4.3.0: @@ -8225,8 +8342,8 @@ packages: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} - ipaddr.js@2.3.0: - resolution: {integrity: sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==} + ipaddr.js@2.4.0: + resolution: {integrity: sha512-9VGk3HGanVE6JoZXHiCpnGy5X0jYDnN4EA4lntFPj+1vIWlFhIylq2CrrCOJH9EAhc5CYhq18F2Av2tgoAPsYQ==} engines: {node: '>= 10'} is-absolute@1.0.0: @@ -8264,8 +8381,8 @@ packages: resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} hasBin: true - is-core-module@2.16.1: - resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + is-core-module@2.16.2: + resolution: {integrity: sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==} engines: {node: '>= 0.4'} is-data-view@1.0.2: @@ -8350,8 +8467,8 @@ packages: resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} engines: {node: '>= 0.4'} - is-network-error@1.3.1: - resolution: {integrity: sha512-6QCxa49rQbmUWLfk0nuGqzql9U8uaV2H6279bRErPBHe/109hCzsLUBUHfbEtvLIHBd6hyXbgedBSHevm43Edw==} + is-network-error@1.3.2: + resolution: {integrity: sha512-PhBY86zaxNZUuWP6h13Vu5oFe0XY6/UlKzQnYFELzGVHygP3MxmvTfYSG7GN3aIab/iWudSMgjSnG9Dq+nHrgA==} engines: {node: '>=16'} is-node-process@1.2.0: @@ -8756,8 +8873,8 @@ packages: resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} hasBin: true - jiti@2.6.1: - resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} + jiti@2.7.0: + resolution: {integrity: sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==} hasBin: true jju@1.4.0: @@ -8766,8 +8883,8 @@ packages: join-path@1.1.1: resolution: {integrity: sha512-jnt9OC34sLXMLJ6YfPQ2ZEKrR9mB5ZbSnQb4LPaOx1c5rTzxpR33L18jjp0r75mGGTJmsil3qwN1B5IBeTnSSA==} - jose@6.2.2: - resolution: {integrity: sha512-d7kPDd34KO/YnzaDOlikGpOurfF0ByC2sEV4cANCtdqLlTfBlw2p14O/5d/zv40gJPbIQxfES3nSx1/oYNyuZQ==} + jose@6.2.3: + resolution: {integrity: sha512-YYVDInQKFJfR/xa3ojUTl8c2KoTwiL1R5Wg9YCydwH0x0B9grbzlg5HC7mMjCtUJjbQ/YnGEZIhI5tCgfTb4Hw==} js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -8792,15 +8909,6 @@ packages: canvas: optional: true - jsdom@29.0.2: - resolution: {integrity: sha512-9VnGEBosc/ZpwyOsJBCQ/3I5p7Q5ngOY14a9bf5btenAORmZfDse1ZEheMiWcJ3h81+Fv7HmJFdS0szo/waF2w==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24.0.0} - peerDependencies: - canvas: ^3.0.0 - peerDependenciesMeta: - canvas: - optional: true - jsdom@29.1.1: resolution: {integrity: sha512-ECi4Fi2f7BdJtUKTflYRTiaMxIB0O6zfR1fX0GXpUrf6flp8QIYn1UT20YQqdSOfk2dfkCwS8LAFoJDEppNK5Q==} engines: {node: ^20.19.0 || ^22.13.0 || >=24.0.0} @@ -8923,8 +9031,8 @@ packages: engines: {node: '>= 10'} hasBin: true - katex@0.16.45: - resolution: {integrity: sha512-pQpZbdBu7wCTmQUh7ufPmLr0pFoObnGUoL/yhtwJDgmmQpbkg/0HSVti25Fu4rmd1oCR6NGWe9vqTWuWv3GcNA==} + katex@0.16.47: + resolution: {integrity: sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg==} hasBin: true keytar@7.9.0: @@ -8940,10 +9048,6 @@ packages: kuler@2.0.0: resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} - langium@4.2.2: - resolution: {integrity: sha512-JUshTRAfHI4/MF9dH2WupvjSXyn8JBuUEWazB8ZVJUtXutT0doDlAv1XKbZ1Pb5sMexa8FF4CFBc0iiul7gbUQ==} - engines: {node: '>=20.10.0', npm: '>=10.2.3'} - last-run@2.0.0: resolution: {integrity: sha512-j+y6WhTLN4Itnf9j5ZQos1BGPCS8DAwmgMroR3OzfxAsBxam0hMw7J8M3KqZl0pLQJ1jNnwIexg5DYpC/ctwEQ==} engines: {node: '>= 10.13.0'} @@ -9104,8 +9208,8 @@ packages: resolution: {integrity: sha512-9FKQA6G1MMtqNxfxvSBNXD/axeG2QRjYbNh0/ykRL5xYcRbCm2vXq7B9bhc7nSuKdHzr8/BHIwfPuYYH1UsXXw==} hasBin: true - loader-runner@4.3.1: - resolution: {integrity: sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==} + loader-runner@4.3.2: + resolution: {integrity: sha512-DFEqQ3ihfS9blba08cLfYf1NRAIEm+dDjic073DRDc3/JspI/8wYmtDsHwd3+4hwvdxSK7PGaElfTmm0awWJ4w==} engines: {node: '>=6.11.5'} loader-utils@2.0.4: @@ -9199,8 +9303,8 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - lru-cache@11.3.5: - resolution: {integrity: sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==} + lru-cache@11.3.6: + resolution: {integrity: sha512-Gf/KoL3C/MlI7Bt0PGI9I+TeTC/I6r/csU58N4BSNc4lppLBeKsOdFYkK+dX0ABDUMJNfCHTyPpzwwO21Awd3A==} engines: {node: 20 || >=22} lru-cache@2.5.0: @@ -9270,13 +9374,13 @@ packages: engines: {node: '>= 20'} hasBin: true - marked@18.0.0: - resolution: {integrity: sha512-2e7Qiv/HJSXj8rDEpgTvGKsP8yYtI9xXHKDnrftrmnrJPaFNM7VRb2YCzWaX4BP1iCJ/XPduzDJZMFoqTCcIMA==} + marked@18.0.2: + resolution: {integrity: sha512-NsmlUYBS/Zg57rgDWMYdnre6OTj4e+qq/JS2ot3KrYLSoHLw+sDu0Nm1ZGpRgYAq6c+b1ekaY5NzVchMCQnzcg==} engines: {node: '>= 20'} hasBin: true - marked@18.0.2: - resolution: {integrity: sha512-NsmlUYBS/Zg57rgDWMYdnre6OTj4e+qq/JS2ot3KrYLSoHLw+sDu0Nm1ZGpRgYAq6c+b1ekaY5NzVchMCQnzcg==} + marked@18.0.3: + resolution: {integrity: sha512-7VT90JOkDeaRWpfjOReRGPEKn0ecdARBkDGL+tT1wZY0efPPqkUxLUSmzy/C7TIylQYJC9STISEsCHrqb/7VIA==} engines: {node: '>= 20'} hasBin: true @@ -9330,6 +9434,9 @@ packages: mermaid@11.14.0: resolution: {integrity: sha512-GSGloRsBs+JINmmhl0JDwjpuezCsHB4WGI4NASHxL3fHo3o/BRXTxhDLKnln8/Q0lRFRyDdEjmk1/d5Sn1Xz8g==} + mermaid@11.15.0: + resolution: {integrity: sha512-pTMbcf3rWdtLiYGpmoTjHEpeY8seiy6sR+9nD7LOs8KfUbHE4lOUAprTRqRAcWSQ6MQpdX+YEsxShtGsINtPtw==} + methods@1.1.2: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} @@ -9470,9 +9577,6 @@ packages: engines: {node: '>=10'} hasBin: true - mlly@1.8.2: - resolution: {integrity: sha512-d+ObxMQFmbt10sretNDytwt85VrbkhhUA/JBGm1MPaWJ65Cl4wOgLaB1NYvJSZ0Ef03MMEU/0xpPMXUIQ29UfA==} - mocha@11.7.5: resolution: {integrity: sha512-mTT6RgopEYABzXWFx+GcJ+ZQ32kp4fMf0xvpZIIfSq9Z8lC/++MtcCnQ9t5FP2veYEP95FIYSvW+U9fV4xrlig==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -9506,8 +9610,8 @@ packages: resolution: {integrity: sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==} hasBin: true - msgpackr@1.11.10: - resolution: {integrity: sha512-iCZNq+HszvF+fC3anCm4nBmWEnbeIAfpDs6IStAEKhQ2YSgkjzVG2FF9XJqwwQh5bH3N9OUTUt4QwVN6MLMLtA==} + msgpackr@1.11.12: + resolution: {integrity: sha512-RBdJ1Un7yGlXWajrkxcSa93nvQ0w4zBf60c0yYv7YtBelP8H2FA7XsfBbMHtXKXUMUxH7zV3Zuozh+kUQWhHvg==} multicast-dns@7.2.5: resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} @@ -9535,11 +9639,11 @@ packages: mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - nan@2.26.2: - resolution: {integrity: sha512-0tTvBTYkt3tdGw22nrAy50x7gpbGCCFH3AFcyS5WiUu7Eu4vWlri1woE6qHBSfy11vksDqkiwjOnlR7WV8G1Hw==} + nan@2.27.0: + resolution: {integrity: sha512-hC+0LidcL3XE4rp1C4H54KujgXKzbfyTngZTwBByQxsOxCEKZT0MPQ4hOKUH2jU1OYstqdDH4onyHPDzcV0XdQ==} - nanoid@3.3.11: - resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + nanoid@3.3.12: + resolution: {integrity: sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true @@ -9613,8 +9717,8 @@ packages: resolution: {integrity: sha512-PKk7tex0O3RRXUZC5XDKJ9yM3rYRPS13myduT85VIIYDBnib42Fpxoe6KxRSzqB4iL2NDxkcJ2yiskZ18hGLEQ==} engines: {node: '>=18.20.0 <20 || >=20.12.1'} - node-abi@3.89.0: - resolution: {integrity: sha512-6u9UwL0HlAl21+agMN3YAMXcKByMqwGx+pq+P76vii5f7hTPtKDp08/H9py6DY+cfDw7kQNTGEj/rly3IgbNQA==} + node-abi@3.92.0: + resolution: {integrity: sha512-KdHvFWZjEKDf0cakgFjebl371GPsISX2oZHcuyKqM7DtogIsHrqKeLTo8wBHxaXRAQlY2PsPlZmfo+9ZCxEREQ==} engines: {node: '>=10'} node-addon-api@4.3.0: @@ -9656,16 +9760,16 @@ packages: resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} hasBin: true - node-gyp@12.2.0: - resolution: {integrity: sha512-q23WdzrQv48KozXlr0U1v9dwO/k59NHeSzn6loGcasyf0UnSrtzs8kRxM+mfwJSf0DkX0s43hcqgnSO4/VNthQ==} + node-gyp@12.3.0: + resolution: {integrity: sha512-QNcUWM+HgJplcPzBvFBZ9VXacyGZ4+VTOb80PwWR+TlVzoHbRKULNEzpRsnaoxG3Wzr7Qh7BYxGDU3CbKib2Yg==} engines: {node: ^20.17.0 || >=22.9.0} hasBin: true node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - node-releases@2.0.37: - resolution: {integrity: sha512-1h5gKZCF+pO/o3Iqt5Jp7wc9rH3eJJ0+nh/CIoiRwjRxde/hAHyLPXYN4V3CqKAbiZPSeJFSWHmJsbkicta0Eg==} + node-releases@2.0.44: + resolution: {integrity: sha512-5WUyunoPMsvvEhS8AxHtRzP+oA8UCkJ7YRxatWKjngndhDGLiqEVAQKWjFAiAiuL8zMRGzGSJxFnLetoa43qGQ==} node-sarif-builder@3.4.0: resolution: {integrity: sha512-tGnJW6OKRii9u/b2WiUViTJS+h7Apxx17qsMUjsUeNDiMMX5ZFf8F8Fcz7PAQ6omvOxHZtvDTmOYKJQwmfpjeg==} @@ -9700,26 +9804,14 @@ packages: resolution: {integrity: sha512-JLSpbzh6UUXIEoqPsYBvVNVmyrjVZ1fzEFbqxKkTJQkWBO3xFzFT+KDnSKQWwOQNbuWRwt5LSD6HOTLGIWzfrw==} engines: {node: ^20.17.0 || >=22.9.0} - npm-install-checks@6.3.0: - resolution: {integrity: sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - npm-install-checks@8.0.0: resolution: {integrity: sha512-ScAUdMpyzkbpxoNekQ3tNRdFI8SJ86wgKZSQZdUxT+bj0wVFpsEMWnkXP0twVe1gJyNF5apBWDJhhIbgrIViRA==} engines: {node: ^20.17.0 || >=22.9.0} - npm-normalize-package-bin@3.0.1: - resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - npm-normalize-package-bin@5.0.0: resolution: {integrity: sha512-CJi3OS4JLsNMmr2u07OJlhcrPxCeOeP/4xq67aWNai6TNWWbTrlNDgl8NcFKVlcBKp18GPj+EzbNIgrBfZhsag==} engines: {node: ^20.17.0 || >=22.9.0} - npm-package-arg@11.0.3: - resolution: {integrity: sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==} - engines: {node: ^16.14.0 || >=18.0.0} - npm-package-arg@13.0.2: resolution: {integrity: sha512-IciCE3SY3uE84Ld8WZU23gAPPV9rIYod4F+rc+vJ7h7cwAJt9Vk6TVsK60ry7Uj3SRS3bqRRIGuTp9YVlk6WNA==} engines: {node: ^20.17.0 || >=22.9.0} @@ -9732,10 +9824,6 @@ packages: resolution: {integrity: sha512-buzyCfeoGY/PxKqmBqn1IUJrZnUi1VVJTdSSRPGI60tJdUhUoSQFhs0zycJokDdOznQentgrpf8LayEHyyYlqQ==} engines: {node: ^20.17.0 || >=22.9.0} - npm-pick-manifest@9.1.0: - resolution: {integrity: sha512-nkc+3pIIhqHVQr085X9d2JzPzLyjzQS96zbruppqC9aZRm/x8xx6xhI98gHtsfELP2bE+loHq8ZaHFHhe+NauA==} - engines: {node: ^16.14.0 || >=18.0.0} - npm-registry-fetch@19.1.1: resolution: {integrity: sha512-TakBap6OM1w0H73VZVDf44iFXsOS3h+L4wVMXmbWOQroZgFhMch0juN6XSzBNlD965yIKvWg2dfu7NSiaYLxtw==} engines: {node: ^20.17.0 || >=22.9.0} @@ -10153,9 +10241,6 @@ packages: resolution: {integrity: sha512-4peoBq4Wks0riS0z8741NVv+/8IiTvqnZAr8QGgtdifrtpdXbNw/FxRS1l6NFqm4EMzuS0EDqNNx4XGaz8cuyQ==} engines: {node: '>=18'} - pkg-types@1.3.1: - resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} - pkijs@3.4.0: resolution: {integrity: sha512-emEcLuomt2j03vxD54giVB4SxTjnsqkU692xZOZXHDVoYyypEm+b3jpiTcc+Cf+myooc+/Ly0z01jqeNHVgJGw==} engines: {node: '>=16.0.0'} @@ -10287,6 +10372,10 @@ packages: resolution: {integrity: sha512-qif0+jGGZoLWdHey3UFHHWP0H7Gbmsk8T5VEqyYFbWqPr1XqvLGBbk/sl8V5exGmcYJklJOhOQq1pV9IcsiFag==} engines: {node: ^10 || ^12 || >=14} + postcss@8.5.14: + resolution: {integrity: sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==} + engines: {node: ^10 || ^12 || >=14} + postgres-array@2.0.0: resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} engines: {node: '>=4'} @@ -10334,10 +10423,6 @@ packages: resolution: {integrity: sha512-oG4T3wCbfeuvljnyAzhBvpN45E8iOTXCU/TD3zXW80HA3dQ4ahdqMkWGiPWZvjpQwlbyHrPTWUAqUzGzv4l1JQ==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - proc-log@4.2.0: - resolution: {integrity: sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - proc-log@6.1.0: resolution: {integrity: sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==} engines: {node: ^20.17.0 || >=22.9.0} @@ -10370,8 +10455,8 @@ packages: resolution: {integrity: sha512-E1sbAYg3aEbXrq0n1ojJkRHQJGE1kaE/O6GLA94y8rnJBfgvOPTOd1b9hOceQK1FFZI9qMh1vBERCyO2ifubcw==} engines: {node: '>=18'} - protobufjs@7.5.5: - resolution: {integrity: sha512-3wY1AxV+VBNW8Yypfd1yQY9pXnqTAN+KwQxL8iYm3/BjKYMNg4i0owhEe26PWDOMaIrzeeF98Lqd5NGz4omiIg==} + protobufjs@7.5.9: + resolution: {integrity: sha512-Od4muIm3HW1AouyHF5lONOf1FWo3hY1NbFDoy191X9GzhpgW1clCoaFjfVs2rKJNFYpTNJbje4cbAIDBZJ63ZA==} engines: {node: '>=12.0.0'} protractor@7.0.0: @@ -10450,8 +10535,8 @@ packages: resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==} engines: {node: '>=0.6'} - qs@6.15.1: - resolution: {integrity: sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==} + qs@6.15.2: + resolution: {integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==} engines: {node: '>=0.6'} qs@6.5.5: @@ -10490,8 +10575,9 @@ packages: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true - re2@1.24.0: - resolution: {integrity: sha512-pBm6cMaOb0Yb0kg0Sfw/k4LwDMkPScb/NVd7GrEllDwfsPZstsZIo93A6Nn0wZuWJw3h57GdzkrOk81EofKY/g==} + re2@1.24.1: + resolution: {integrity: sha512-uRl9cLDKuobJQp+6lVz7E3AyVszubUJ0fqAMWout4ocUWTIFvdHgpqLwwMh/vuNGGGJGh2p2mJZJIQr9am9M/A==} + engines: {node: '>=22'} react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} @@ -10699,8 +10785,8 @@ packages: robust-predicates@3.0.3: resolution: {integrity: sha512-NS3levdsRIUOmiJ8FZWCP7LG3QpJyrs/TE0Zpf1yvZu8cAJJ6QMW92H1c7kWpdIHo8RvmLxN/o2JXTKHp74lUA==} - rolldown@1.0.0-rc.16: - resolution: {integrity: sha512-rzi5WqKzEZw3SooTt7cgm4eqIoujPIyGcJNGFL7iPEuajQw7vxMHUkXylu4/vhCkJGXsgRmxqMKXUpT6FEgl0g==} + rolldown@1.0.1: + resolution: {integrity: sha512-X0KQHljNnEkWNqqiz9zJrGunh1B0HgOxLXvnFpCOcadzcy5qohZ3tqMEUg00vncoRovXuK3ZqCT9KnnKzoInFQ==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true @@ -10711,9 +10797,9 @@ packages: rollup: ^3.29.4 || ^4 typescript: 6.0.3 - rollup-plugin-sourcemaps2@0.5.6: - resolution: {integrity: sha512-oalmewAT4GLVsW6NugcDybx0ypet94vU0dUK3VofdYoWiN4ZjoX1L4dizFd0OhoJ78r/Am9sARTR9gMrX0cJ7w==} - engines: {node: '>=18.0.0'} + rollup-plugin-sourcemaps2@0.5.7: + resolution: {integrity: sha512-z2biw/Bs4cFgVn9LKEE5EK5PXvT0aUGuZoQkTU1OENf1PTl9WsbsVRR5FsKqY6qQohltsGTp1sIQrR8tsezztQ==} + engines: {node: '>=22.13.0'} peerDependencies: '@types/node': '>=18.0.0' rollup: '>=4' @@ -10726,6 +10812,11 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + rollup@4.60.4: + resolution: {integrity: sha512-WHeFSbZYsPu3+bLoNRUuAO+wavNlocOPf3wSHTP7hcFKVnJeWsYlCDbr3mTS14FCizf9ccIxXA8sGL8zKeQN3g==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + roughjs@4.6.6: resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==} @@ -10859,6 +10950,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.8.0: + resolution: {integrity: sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==} + engines: {node: '>=10'} + hasBin: true + send@0.19.2: resolution: {integrity: sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==} engines: {node: '>= 0.8.0'} @@ -11020,8 +11116,8 @@ packages: resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==} engines: {node: '>= 14'} - socks@2.8.7: - resolution: {integrity: sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==} + socks@2.8.9: + resolution: {integrity: sha512-LJhUYUvItdQ0LkJTmPeaEObWXAqFyfmP85x0tch/ez9cahmhlBBLbIqDFnvBnUJGagb0JbIQrkBs1wJ+yRYpEw==} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} sort-any@4.0.7: @@ -11101,8 +11197,8 @@ packages: sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - sql-formatter@15.7.3: - resolution: {integrity: sha512-5+zl9Nqg5aNjss0tb1G+StpC4dJKbjv3+g8CL/+V+00PfZop+2RKGyi53ScFl0dr+Dkx1LjmUO54Q3N7K3EtMw==} + sql-formatter@15.8.0: + resolution: {integrity: sha512-HnjdRHlSsO4Ap2erB5YXAvWggrnk/S4TezUn8zmpq9J/hEKn9+6gGaqiKPyDtI10Xf4zJmHYPREGjMjZmmP1fg==} hasBin: true sshpk@1.18.0: @@ -11195,8 +11291,8 @@ packages: resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} - string-width@8.2.0: - resolution: {integrity: sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==} + string-width@8.2.1: + resolution: {integrity: sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==} engines: {node: '>=20'} string.prototype.trim@1.2.10: @@ -11308,8 +11404,8 @@ packages: resolution: {integrity: sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==} engines: {node: ^14.18.0 || >=16.0.0} - systeminformation@5.31.5: - resolution: {integrity: sha512-5SyLdip4/3alxD4Kh+63bUQTJmu7YMfYQTC+koZy7X73HgNqZSD2P4wOZQWtUncvPvcEmnfIjCoygN4MRoEejQ==} + systeminformation@5.31.6: + resolution: {integrity: sha512-Uv2b2uGGM6ns+26czgW2cYRabYdnswM0ddSOOlryHOaelzsmDSet1iM/NT7VOYxW8x/BW+HkY+b1Ve2pLTSGSA==} engines: {node: '>=8.0.0'} os: [darwin, linux, win32, freebsd, openbsd, netbsd, sunos, android] hasBin: true @@ -11326,8 +11422,8 @@ packages: engines: {node: '>=14.0.0'} hasBin: true - tapable@2.3.2: - resolution: {integrity: sha512-1MOpMXuhGzGL5TTCZFItxCc0AARf1EZFQkGqMm7ERKj8+Hgr5oLvJOVFcC+lRmR8hCe2S3jC4T5D7Vg/d7/fhA==} + tapable@2.3.3: + resolution: {integrity: sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==} engines: {node: '>=6'} tar-fs@2.1.4: @@ -11337,11 +11433,11 @@ packages: resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} engines: {node: '>=6'} - tar-stream@3.1.8: - resolution: {integrity: sha512-U6QpVRyCGHva435KoNWy9PRoi2IFYCgtEhq9nmrPPpbRacPs9IH4aJ3gbrFC8dPcXvdSZ4XXfXT5Fshbp2MtlQ==} + tar-stream@3.2.0: + resolution: {integrity: sha512-ojzvCvVaNp6aOTFmG7jaRD0meowIAuPc3cMMhSgKiVWws1GyHbGd/xvnyuRKcKlMpt3qvxx6r0hreCNITP9hIg==} - tar@7.5.13: - resolution: {integrity: sha512-tOG/7GyXpFevhXVh8jOPJrmtRpOTsYqUIkVdVooZYJS/z8WhfQUX8RJILmeuJNinGAMSu1veBr4asSHFt5/hng==} + tar@7.5.15: + resolution: {integrity: sha512-dzGK0boVlC4W5QFuQN1EFSl3bIDYsk7Tj40U6eIBnK2k/8ml7TZ5agbI5j5+qnoVcAA+rNtBml8SEiLxZpNqRQ==} engines: {node: '>=18'} tcp-port-used@1.0.2: @@ -11358,19 +11454,46 @@ packages: resolution: {integrity: sha512-lk+vH+MccxNqgVqSnkMVKx4VLJfnLjDBGzH16JVZjKE2DoxP57s6/vt6JmXV5I3jBcfGrxNrYtC+mPtU7WJztA==} engines: {node: '>=18'} - terser-webpack-plugin@5.4.0: - resolution: {integrity: sha512-Bn5vxm48flOIfkdl5CaD2+1CiUVbonWQ3KQPyP7/EuIl9Gbzq/gQFOzaMFUEgVjB1396tcK0SG8XcNJ/2kDH8g==} + terser-webpack-plugin@5.6.0: + resolution: {integrity: sha512-Eum+5ajkaOhf5KbM26osvv21kLD7BaGqQ1UA4Ami4arYwylmGUQTgHFpHDdmJod1q4QXa66p0to/FBKID+J1vA==} engines: {node: '>= 10.13.0'} peerDependencies: + '@minify-html/node': '*' '@swc/core': '*' + '@swc/css': '*' + '@swc/html': '*' + clean-css: '*' + cssnano: '*' + csso: '*' esbuild: '*' + html-minifier-terser: '*' + lightningcss: '*' + postcss: '*' uglify-js: '*' webpack: ^5.1.0 peerDependenciesMeta: + '@minify-html/node': + optional: true '@swc/core': optional: true + '@swc/css': + optional: true + '@swc/html': + optional: true + clean-css: + optional: true + cssnano: + optional: true + csso: + optional: true esbuild: optional: true + html-minifier-terser: + optional: true + lightningcss: + optional: true + postcss: + optional: true uglify-js: optional: true @@ -11379,11 +11502,6 @@ packages: engines: {node: '>=10'} hasBin: true - terser@5.47.1: - resolution: {integrity: sha512-tPbLXTI6ohPASb/1YViL428oEHu6/qv1OxqYnfaonVCFHqx4+wCd95pHrQWsL5X4pl90CTyW9piSAsS2L0VoMw==} - engines: {node: '>=10'} - hasBin: true - test-exclude@6.0.0: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} @@ -11429,8 +11547,8 @@ packages: tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} - tinyexec@1.1.1: - resolution: {integrity: sha512-VKS/ZaQhhkKFMANmAOhhXVoIfBXblQxGX1myCQ2faQrfmobMftXeJPcZGp0gS07ocvGJWDLZGyOZDadDBqYIJg==} + tinyexec@1.1.2: + resolution: {integrity: sha512-dAqSqE/RabpBKI8+h26GfLq6Vb3JVXs30XYQjdMjaj/c2tS8IYYMbIzP599KtRj7c57/wYApb3QjgRgXmrCukA==} engines: {node: '>=18'} tinyglobby@0.2.16: @@ -11444,15 +11562,15 @@ packages: tldts-core@6.1.86: resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==} - tldts-core@7.0.28: - resolution: {integrity: sha512-7W5Efjhsc3chVdFhqtaU0KtK32J37Zcr9RKtID54nG+tIpcY79CQK/veYPODxtD/LJ4Lue66jvrQzIX2Z2/pUQ==} + tldts-core@7.0.30: + resolution: {integrity: sha512-uiHN8PIB1VmWyS98eZYja4xzlYqeFZVjb4OuYlJQnZAuJhMw4PbKQOKgHKhBdJR3FE/t5mUQ1Kd80++B+qhD1Q==} tldts@6.1.86: resolution: {integrity: sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==} hasBin: true - tldts@7.0.28: - resolution: {integrity: sha512-+Zg3vWhRUv8B1maGSTFdev9mjoo8Etn2Ayfs4cnjlD3CsGkxXX4QyW3j2WJ0wdjYcYmy7Lx2RDsZMhgCWafKIw==} + tldts@7.0.30: + resolution: {integrity: sha512-ELrFxuqsDdHUwoh0XxDbxuLD3Wnz49Z57IFvTtvWy1hJdcMZjXLIuonjilCiWHlT2GbE4Wlv1wKVTzDFnXH1aw==} hasBin: true tmp@0.0.30: @@ -11474,9 +11592,9 @@ 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'} + toad-cache@3.7.1: + resolution: {integrity: sha512-5DXWzE4Vz7xNHsv+xQ+MGfJYyC78Aok3tEr0MNwHoRf7vZnga1mQXZ4/Nsodld4VR6Wd+VhfmqnNrsRJyYPfrQ==} + engines: {node: '>=20'} todomvc-app-css@2.4.3: resolution: {integrity: sha512-mSnWZaKBWj9aQcFRsGguY/a8O8NR8GmecD48yU1rzwNemgZa/INLpIsxxMiToFGVth+uEKBrQ7IhWkaXZxwq5Q==} @@ -11644,9 +11762,9 @@ packages: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} - type-is@2.0.1: - resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} - engines: {node: '>= 0.6'} + type-is@2.1.0: + resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==} + engines: {node: '>= 18'} typed-array-buffer@1.0.3: resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} @@ -11695,9 +11813,6 @@ packages: uc.micro@2.1.0: resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==} - ufo@1.6.3: - resolution: {integrity: sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==} - uglify-js@3.19.3: resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} engines: {node: '>=0.8.0'} @@ -11793,9 +11908,9 @@ packages: unist-util-visit@5.1.0: resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==} - universal-analytics@0.5.3: - resolution: {integrity: sha512-HXSMyIcf2XTvwZ6ZZQLfxfViRm/yTGoRgDeTbojtq6rezeyKB0sTBcKH2fhddnteAHRcHiKgr/ACpbgjGOC6RQ==} - engines: {node: '>=12.18.2'} + universal-analytics@0.5.4: + resolution: {integrity: sha512-db38BYsx+oZEx0bc+PeGmIwG+YiYH5Xluhxf9EBnL39U4+DAXJtXQHLJ+zzTH36lx/N54/WKQQYnh0kQWJ74yg==} + engines: {node: '>=22.0.0'} universal-github-app-jwt@2.2.2: resolution: {integrity: sha512-dcmbeSrOdTnsjGjUfAlqNDJrhxXizjAz94ija9Qw8YkZ1uu0d+GoZzyH+Jb9tIIqvGsadUfwg+22k5aDqqwzbw==} @@ -11855,8 +11970,12 @@ packages: resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} engines: {node: '>= 0.4.0'} - uuid@11.1.0: - resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==} + uuid@11.1.1: + resolution: {integrity: sha512-vIYxrBCC/N/K+Js3qSN88go7kIfNPssr/hHCesKCQNAjmgvYS2oqr69kIufEG+O4+PfezOH4EbIeHCfFov8ZgQ==} + hasBin: true + + uuid@14.0.0: + resolution: {integrity: sha512-Qo+uWgilfSmAhXCMav1uYFynlQO7fMFiMVZsQqZRMIXp0O7rR7qjkj+cPvBHLgBqi960QCoo/PH2/6ZtVqKvrg==} hasBin: true uuid@3.4.0: @@ -11891,10 +12010,6 @@ packages: validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - validate-npm-package-name@5.0.1: - resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - validate-npm-package-name@7.0.2: resolution: {integrity: sha512-hVDIBwsRruT73PbK7uP5ebUt+ezEtCmzZz3F59BSr2F6OVFnJ/6h8liuvdLrQ88Xmnk6/+xGGuq+pG9WwTuy3A==} engines: {node: ^20.17.0 || >=22.9.0} @@ -11977,13 +12092,13 @@ packages: yaml: optional: true - vite@8.0.9: - resolution: {integrity: sha512-t7g7GVRpMXjNpa67HaVWI/8BWtdVIQPCL2WoozXXA7LBGEFK4AkkKkHx2hAQf5x1GZSlcmEDPkVLSGahxnEEZw==} + vite@8.0.13: + resolution: {integrity: sha512-MFtjBYgzmSxmgA4RAfjIyXWpGe1oALnjgUTzzV7QLx/TKxCzjtMH6Fd9/eVK+5Fg1qNoz5VAwsmMs/NofrmJvw==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: '@types/node': ^20.19.0 || >=22.12.0 - '@vitejs/devtools': ^0.1.0 + '@vitejs/devtools': ^0.1.18 esbuild: ^0.27.0 || ^0.28.0 jiti: '>=1.21.0' less: ^4.0.0 @@ -12020,20 +12135,20 @@ packages: yaml: optional: true - vitest@4.1.4: - resolution: {integrity: sha512-tFuJqTxKb8AvfyqMfnavXdzfy3h3sWZRWwfluGbkeR7n0HUev+FmNgZ8SDrRBTVrVCjgH5cA21qGbCffMNtWvg==} + vitest@4.1.6: + resolution: {integrity: sha512-6lvjbS3p9b4CrdCmguzbh2/4uoXhGE2q71R4OX5sqF9R1bo9Xd6fGrMAfvp5wnCzlBnFVdCOp6onuTQVbo8iUQ==} engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@opentelemetry/api': ^1.9.0 '@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0 - '@vitest/browser-playwright': 4.1.4 - '@vitest/browser-preview': 4.1.4 - '@vitest/browser-webdriverio': 4.1.4 - '@vitest/coverage-istanbul': 4.1.4 - '@vitest/coverage-v8': 4.1.4 - '@vitest/ui': 4.1.4 + '@vitest/browser-playwright': 4.1.6 + '@vitest/browser-preview': 4.1.6 + '@vitest/browser-webdriverio': 4.1.6 + '@vitest/coverage-istanbul': 4.1.6 + '@vitest/coverage-v8': 4.1.6 + '@vitest/ui': 4.1.6 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -12193,8 +12308,8 @@ packages: resolution: {integrity: sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==} engines: {node: '>=18.0.0'} - webpack-sources@3.3.4: - resolution: {integrity: sha512-7tP1PdV4vF+lYPnkMR0jMY5/la2ub5Fc/8VQrrU+lXkiM6C4TjVfGw7iKfyhnTQOsD+6Q/iKw0eFciziRgD58Q==} + webpack-sources@3.4.1: + resolution: {integrity: sha512-eACpxRN02yaawnt+uUNIF7Qje6A9zArxBbcAJjK1PK3S9Ycg5jIuJ8pW4q8EMnwNZCEGltcjkRx1QzOxOkKD8A==} engines: {node: '>=10.13.0'} webpack-subresource-integrity@5.1.0: @@ -12384,8 +12499,8 @@ packages: utf-8-validate: optional: true - ws@8.20.0: - resolution: {integrity: sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==} + ws@8.20.1: + resolution: {integrity: sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -12459,13 +12574,13 @@ packages: resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} engines: {node: '>=18'} - yaml@2.8.3: - resolution: {integrity: sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==} + yaml@2.8.4: + resolution: {integrity: sha512-ml/JPOj9fOQK8RNnWojA67GbZ0ApXAUlN2UQclwv2eVgTgn7O9gg9o7paZWKMp4g0H3nTLtS9LVzhkpOFIKzog==} engines: {node: '>= 14.6'} hasBin: true - yaml@2.8.4: - resolution: {integrity: sha512-ml/JPOj9fOQK8RNnWojA67GbZ0ApXAUlN2UQclwv2eVgTgn7O9gg9o7paZWKMp4g0H3nTLtS9LVzhkpOFIKzog==} + yaml@2.9.0: + resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==} engines: {node: '>= 14.6'} hasBin: true @@ -12543,9 +12658,6 @@ packages: zod@3.25.76: resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} - zod@4.3.6: - resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==} - zod@4.4.2: resolution: {integrity: sha512-IynmDyxsEsb9RKzO3J9+4SxXnl2FTFSzNBaKKaMV6tsSk0rw9gYw9gs+JFCq/qk2LCZ78KDwyj+Z289TijSkUw==} @@ -12555,32 +12667,30 @@ packages: zone.js@0.16.1: resolution: {integrity: sha512-dpvY17vxYIW3+bNrP0ClUlaiY0CiIRK3tnoLaGoQsQcY9/I/NpzIWQ7tQNhbV7LacQMpCII6wVzuL3tuWOyfuA==} + zone.js@0.16.2: + resolution: {integrity: sha512-Eky7p2Z1Ig3NnbfodSPoARCjKBSTFMnE/ACsP1L/XJEfY4SdOFce19BsUCWVwL6K5ABZFy5J3bjcMWffX+YM3Q==} + zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} snapshots: - '@actions/core@3.0.0': - dependencies: - '@actions/exec': 3.0.0 - '@actions/http-client': 4.0.0 - '@actions/core@3.0.1': dependencies: '@actions/exec': 3.0.0 - '@actions/http-client': 4.0.0 + '@actions/http-client': 4.0.1 '@actions/exec@3.0.0': dependencies: '@actions/io': 3.0.2 - '@actions/github@9.1.0': + '@actions/github@9.1.1': dependencies: '@actions/http-client': 3.0.2 '@octokit/core': 7.0.6 '@octokit/plugin-paginate-rest': 14.0.0(@octokit/core@7.0.6) '@octokit/plugin-rest-endpoint-methods': 17.0.0(@octokit/core@7.0.6) - '@octokit/request': 10.0.8 + '@octokit/request': 10.0.9 '@octokit/request-error': 7.1.0 undici: 6.25.0 @@ -12589,7 +12699,7 @@ snapshots: tunnel: 0.0.6 undici: 6.25.0 - '@actions/http-client@4.0.0': + '@actions/http-client@4.0.1': dependencies: tunnel: 0.0.6 undici: 6.25.0 @@ -12694,13 +12804,13 @@ snapshots: transitivePeerDependencies: - chokidar - ? '@angular-devkit/build-angular@22.0.0-rc.0(@angular/compiler-cli@packages+compiler-cli)(@angular/compiler@packages+compiler)(@angular/core@packages+core)(@angular/localize@packages+localize)(@angular/platform-browser@packages+platform-browser)(@angular/platform-server@packages+platform-server)(@angular/service-worker@packages+service-worker)(@angular/ssr@22.0.0-rc.0(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-server@packages+platform-server)(@angular/router@packages+router))(@types/node@20.19.39)(bufferutil@4.1.0)(chokidar@5.0.0)(jiti@2.6.1)(karma@6.4.4(bufferutil@4.1.0))(lightningcss@1.32.0)(ng-packagr@22.0.0-next.4(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.8.4))(tslib@2.8.1)(typescript@6.0.3))(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.8.4))(tsx@4.21.0)(typescript@6.0.3)(vitest@4.1.4(@opentelemetry/api@1.9.1)(@types/node@20.19.39)(esbuild@0.28.0)(jiti@2.6.1)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4))(yaml@2.8.4)' + ? '@angular-devkit/build-angular@22.0.0-rc.0(@angular/compiler-cli@packages+compiler-cli)(@angular/compiler@packages+compiler)(@angular/core@packages+core)(@angular/localize@packages+localize)(@angular/platform-browser@packages+platform-browser)(@angular/platform-server@packages+platform-server)(@angular/service-worker@packages+service-worker)(@angular/ssr@22.0.0-rc.0(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-server@packages+platform-server)(@angular/router@packages+router))(@types/node@20.19.41)(bufferutil@4.1.0)(chokidar@5.0.0)(jiti@2.7.0)(karma@6.4.4(bufferutil@4.1.0))(lightningcss@1.32.0)(ng-packagr@22.0.0-next.4(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.9.0))(tslib@2.8.1)(typescript@6.0.3))(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.9.0))(tsx@4.21.0)(typescript@6.0.3)(vitest@4.1.6(@opentelemetry/api@1.9.1)(@types/node@20.19.41)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0)' : dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0(chokidar@5.0.0) - '@angular-devkit/build-webpack': 0.2200.0-rc.0(chokidar@5.0.0)(webpack-dev-server@5.2.3(bufferutil@4.1.0)(tslib@2.8.1)(webpack@5.106.2(esbuild@0.28.0)))(webpack@5.106.2(esbuild@0.28.0)) + '@angular-devkit/build-webpack': 0.2200.0-rc.0(chokidar@5.0.0)(webpack-dev-server@5.2.3(bufferutil@4.1.0)(tslib@2.8.1)(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)))(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)) '@angular-devkit/core': 22.0.0-rc.0(chokidar@5.0.0) - '@angular/build': 22.0.0-rc.0(a8298f33df6239b6b2d60bfcb29e9fa0) + '@angular/build': 22.0.0-rc.0(0e3ef2aad3f394d54ea1c7e5fa55e98a) '@angular/compiler-cli': link:packages/compiler-cli '@babel/core': 7.29.0 '@babel/generator': 7.29.1 @@ -12712,45 +12822,45 @@ snapshots: '@babel/preset-env': 7.29.3(@babel/core@7.29.0) '@babel/runtime': 7.29.2 '@discoveryjs/json-ext': 1.1.0 - '@ngtools/webpack': 22.0.0-rc.0(@angular/compiler-cli@packages+compiler-cli)(typescript@6.0.3)(webpack@5.106.2(esbuild@0.28.0)) + '@ngtools/webpack': 22.0.0-rc.0(@angular/compiler-cli@packages+compiler-cli)(typescript@6.0.3)(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)) ansi-colors: 4.1.3 autoprefixer: 10.5.0(postcss@8.5.13) - babel-loader: 10.1.1(@babel/core@7.29.0)(webpack@5.106.2(esbuild@0.28.0)) + babel-loader: 10.1.1(@babel/core@7.29.0)(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)) browserslist: 4.28.2 - copy-webpack-plugin: 14.0.0(webpack@5.106.2(esbuild@0.28.0)) - css-loader: 7.1.4(webpack@5.106.2(esbuild@0.28.0)) + copy-webpack-plugin: 14.0.0(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)) + css-loader: 7.1.4(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)) esbuild-wasm: 0.28.0 http-proxy-middleware: 3.0.5 istanbul-lib-instrument: 6.0.3 jsonc-parser: 3.3.1 karma-source-map-support: 1.4.0 less: 4.6.4 - less-loader: 12.3.2(less@4.6.4)(webpack@5.106.2(esbuild@0.28.0)) - license-webpack-plugin: 4.0.2(webpack@5.106.2(esbuild@0.28.0)) + less-loader: 12.3.2(less@4.6.4)(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)) + license-webpack-plugin: 4.0.2(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)) loader-utils: 3.3.1 - mini-css-extract-plugin: 2.10.2(webpack@5.106.2(esbuild@0.28.0)) + mini-css-extract-plugin: 2.10.2(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)) open: 11.0.0 ora: 9.4.0 picomatch: 4.0.4 piscina: 5.1.4 postcss: 8.5.13 - postcss-loader: 8.2.1(postcss@8.5.13)(typescript@6.0.3)(webpack@5.106.2(esbuild@0.28.0)) + postcss-loader: 8.2.1(postcss@8.5.13)(typescript@6.0.3)(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)) resolve-url-loader: 5.0.0 rxjs: 7.8.2 sass: 1.99.0 - sass-loader: 16.0.7(sass@1.99.0)(webpack@5.106.2(esbuild@0.28.0)) + sass-loader: 16.0.7(sass@1.99.0)(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)) semver: 7.7.4 - source-map-loader: 5.0.0(webpack@5.106.2(esbuild@0.28.0)) + source-map-loader: 5.0.0(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)) source-map-support: 0.5.21 terser: 5.46.2 tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - webpack: 5.106.2(esbuild@0.28.0) - webpack-dev-middleware: 8.0.3(tslib@2.8.1)(webpack@5.106.2(esbuild@0.28.0)) - webpack-dev-server: 5.2.3(bufferutil@4.1.0)(tslib@2.8.1)(webpack@5.106.2(esbuild@0.28.0)) + webpack: 5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13) + webpack-dev-middleware: 8.0.3(tslib@2.8.1)(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)) + webpack-dev-server: 5.2.3(bufferutil@4.1.0)(tslib@2.8.1)(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)) webpack-merge: 6.0.1 - webpack-subresource-integrity: 5.1.0(webpack@5.106.2(esbuild@0.28.0)) + webpack-subresource-integrity: 5.1.0(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)) optionalDependencies: '@angular/core': link:packages/core '@angular/localize': link:packages/localize @@ -12760,16 +12870,23 @@ snapshots: '@angular/ssr': 22.0.0-rc.0(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-server@packages+platform-server)(@angular/router@packages+router) esbuild: 0.28.0 karma: 6.4.4(bufferutil@4.1.0)(utf-8-validate@6.0.6) - ng-packagr: 22.0.0-next.4(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.8.4))(tslib@2.8.1)(typescript@6.0.3) - tailwindcss: 3.4.19(tsx@4.21.0)(yaml@2.8.4) + ng-packagr: 22.0.0-next.4(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.9.0))(tslib@2.8.1)(typescript@6.0.3) + tailwindcss: 3.4.19(tsx@4.21.0)(yaml@2.9.0) transitivePeerDependencies: - '@angular/compiler' + - '@minify-html/node' - '@rspack/core' - '@swc/core' + - '@swc/css' + - '@swc/html' - '@types/node' - bufferutil - chokidar + - clean-css + - cssnano + - csso - debug + - html-minifier-terser - html-webpack-plugin - jiti - lightningcss @@ -12785,12 +12902,12 @@ snapshots: - webpack-cli - yaml - '@angular-devkit/build-webpack@0.2200.0-rc.0(chokidar@5.0.0)(webpack-dev-server@5.2.3(bufferutil@4.1.0)(tslib@2.8.1)(webpack@5.106.2(esbuild@0.28.0)))(webpack@5.106.2(esbuild@0.28.0))': + '@angular-devkit/build-webpack@0.2200.0-rc.0(chokidar@5.0.0)(webpack-dev-server@5.2.3(bufferutil@4.1.0)(tslib@2.8.1)(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)))(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13))': dependencies: '@angular-devkit/architect': 0.2200.0-rc.0(chokidar@5.0.0) rxjs: 7.8.2 - webpack: 5.106.2(esbuild@0.28.0) - webpack-dev-server: 5.2.3(bufferutil@4.1.0)(tslib@2.8.1)(webpack@5.106.2(esbuild@0.28.0)) + webpack: 5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13) + webpack-dev-server: 5.2.3(bufferutil@4.1.0)(tslib@2.8.1)(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)) transitivePeerDependencies: - chokidar @@ -12821,7 +12938,7 @@ snapshots: '@angular/core': link:packages/core tslib: 2.8.1 - '@angular/build@22.0.0-rc.0(44781db2df8a81e0c3e37172ac09f7f0)': + '@angular/build@22.0.0-rc.0(0e3ef2aad3f394d54ea1c7e5fa55e98a)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0(chokidar@5.0.0) @@ -12830,8 +12947,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@24.12.2) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@24.12.2)(jiti@2.6.1)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4)) + '@inquirer/confirm': 6.0.12(@types/node@20.19.41) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -12850,7 +12967,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@24.12.2)(jiti@2.6.1)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:packages/core @@ -12863,10 +12980,10 @@ snapshots: karma: 6.4.4(bufferutil@4.1.0)(utf-8-validate@6.0.6) less: 4.6.4 lmdb: 3.5.4 - ng-packagr: 22.0.0-next.4(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.8.4))(tslib@2.8.1)(typescript@6.0.3) + ng-packagr: 22.0.0-next.4(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.9.0))(tslib@2.8.1)(typescript@6.0.3) postcss: 8.5.13 - tailwindcss: 3.4.19(tsx@4.21.0)(yaml@2.8.4) - vitest: 4.1.4(@opentelemetry/api@1.9.1)(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.6.1)(jsdom@29.0.2)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4) + tailwindcss: 3.4.19(tsx@4.21.0)(yaml@2.9.0) + vitest: 4.1.6(@opentelemetry/api@1.9.1)(@types/node@20.19.41)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) transitivePeerDependencies: - '@types/node' - chokidar @@ -12880,7 +12997,7 @@ snapshots: - tsx - yaml - '@angular/build@22.0.0-rc.0(600c1c25c7d710b9ecf52891d00e58dc)': + '@angular/build@22.0.0-rc.0(2fca3377aa0917147e2c56e992429f3d)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0(chokidar@5.0.0) @@ -12889,8 +13006,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@20.19.39) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.39)(jiti@2.6.1)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4)) + '@inquirer/confirm': 6.0.12(@types/node@20.19.41) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -12909,7 +13026,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@20.19.39)(jiti@2.6.1)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:packages/core @@ -12922,10 +13039,10 @@ snapshots: karma: 6.4.4(bufferutil@4.1.0)(utf-8-validate@6.0.6) less: 4.6.4 lmdb: 3.5.4 - ng-packagr: 22.0.0-next.4(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.8.4))(tslib@2.8.1)(typescript@6.0.3) - postcss: 8.5.13 - tailwindcss: 3.4.19(tsx@4.21.0)(yaml@2.8.4) - vitest: 4.1.4(@opentelemetry/api@1.9.1)(@types/node@20.19.39)(esbuild@0.28.0)(jiti@2.6.1)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4) + ng-packagr: 22.0.0-next.4(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.9.0))(tslib@2.8.1)(typescript@6.0.3) + postcss: 8.5.14 + tailwindcss: 3.4.19(tsx@4.21.0)(yaml@2.9.0) + vitest: 4.1.6(@opentelemetry/api@1.9.1)(@types/node@20.19.41)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) transitivePeerDependencies: - '@types/node' - chokidar @@ -12939,7 +13056,7 @@ snapshots: - tsx - yaml - '@angular/build@22.0.0-rc.0(a8298f33df6239b6b2d60bfcb29e9fa0)': + '@angular/build@22.0.0-rc.0(9e4c29b9535e9eeef4fdcfb32f0f5b53)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0(chokidar@5.0.0) @@ -12948,8 +13065,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@20.19.39) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.39)(jiti@2.6.1)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4)) + '@inquirer/confirm': 6.0.12(@types/node@24.12.2) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@24.12.2)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -12968,7 +13085,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@20.19.39)(jiti@2.6.1)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.3.2(@types/node@24.12.2)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:packages/core @@ -12981,10 +13098,10 @@ snapshots: karma: 6.4.4(bufferutil@4.1.0)(utf-8-validate@6.0.6) less: 4.6.4 lmdb: 3.5.4 - ng-packagr: 22.0.0-next.4(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.8.4))(tslib@2.8.1)(typescript@6.0.3) - postcss: 8.5.13 - tailwindcss: 3.4.19(tsx@4.21.0)(yaml@2.8.4) - vitest: 4.1.4(@opentelemetry/api@1.9.1)(@types/node@20.19.39)(esbuild@0.28.0)(jiti@2.6.1)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4) + ng-packagr: 22.0.0-next.4(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.9.0))(tslib@2.8.1)(typescript@6.0.3) + postcss: 8.5.14 + tailwindcss: 3.4.19(tsx@4.21.0)(yaml@2.9.0) + vitest: 4.1.6(@opentelemetry/api@1.9.1)(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) transitivePeerDependencies: - '@types/node' - chokidar @@ -12998,7 +13115,7 @@ snapshots: - tsx - yaml - '@angular/build@22.0.0-rc.0(afa3fae267d3feba6fdadea56c6ccadc)': + '@angular/build@22.0.0-rc.0(a556ba555378555db50673daa4de029e)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0(chokidar@5.0.0) @@ -13007,8 +13124,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@24.12.2) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@24.12.2)(jiti@2.6.1)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4)) + '@inquirer/confirm': 6.0.12(@types/node@24.12.4) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@24.12.4)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -13027,7 +13144,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@24.12.2)(jiti@2.6.1)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.3.2(@types/node@24.12.4)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:packages/core @@ -13040,10 +13157,10 @@ snapshots: karma: 6.4.4(bufferutil@4.1.0)(utf-8-validate@6.0.6) less: 4.6.4 lmdb: 3.5.4 - ng-packagr: 22.0.0-next.4(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.8.4))(tslib@2.8.1)(typescript@6.0.3) - postcss: 8.5.13 - tailwindcss: 3.4.19(tsx@4.21.0)(yaml@2.8.4) - vitest: 4.1.4(@opentelemetry/api@1.9.1)(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.6.1)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4) + ng-packagr: 22.0.0-next.4(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.9.0))(tslib@2.8.1)(typescript@6.0.3) + postcss: 8.5.14 + tailwindcss: 3.4.19(tsx@4.21.0)(yaml@2.9.0) + vitest: 4.1.6(@opentelemetry/api@1.9.1)(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) transitivePeerDependencies: - '@types/node' - chokidar @@ -13057,38 +13174,97 @@ snapshots: - tsx - yaml - '@angular/cdk@22.0.0-rc.0(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2)': - dependencies: - '@angular/common': link:packages/common - '@angular/core': link:packages/core - '@angular/platform-browser': link:packages/platform-browser - parse5: 8.0.1 - rxjs: 7.8.2 - tslib: 2.8.1 - - '@angular/cli@22.0.0-rc.0(@cfworker/json-schema@4.1.1)(@types/node@20.19.39)(chokidar@5.0.0)': + '@angular/build@22.0.0-rc.0(fb748cac34e9d8f6e7ea93f5cbdae94c)': dependencies: + '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0(chokidar@5.0.0) - '@angular-devkit/core': 22.0.0-rc.0(chokidar@5.0.0) - '@angular-devkit/schematics': 22.0.0-rc.0(chokidar@5.0.0) - '@inquirer/prompts': 8.4.2(@types/node@20.19.39) - '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.39))(@types/node@20.19.39)(listr2@10.2.1) - '@modelcontextprotocol/sdk': 1.29.0(@cfworker/json-schema@4.1.1) - '@schematics/angular': 22.0.0-rc.0(chokidar@5.0.0) - '@yarnpkg/lockfile': 1.1.0 - algoliasearch: 5.52.0 - ini: 6.0.0 + '@angular/compiler': link:packages/compiler + '@angular/compiler-cli': link:packages/compiler-cli + '@babel/core': 7.29.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-split-export-declaration': 7.24.7 + '@inquirer/confirm': 6.0.12(@types/node@24.12.2) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@24.12.2)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + beasties: 0.4.2 + browserslist: 4.28.2 + esbuild: 0.28.0 + https-proxy-agent: 9.0.0 jsonc-parser: 3.3.1 listr2: 10.2.1 - npm-package-arg: 13.0.2 - pacote: 21.5.0 + magic-string: 0.30.21 + mrmime: 2.0.1 parse5-html-rewriting-stream: 8.0.1 + picomatch: 4.0.4 + piscina: 5.1.4 + rollup: 4.60.2 + sass: 1.99.0 semver: 7.7.4 - yargs: 18.0.0 - zod: 4.4.2 - transitivePeerDependencies: - - '@cfworker/json-schema' - - '@types/node' + source-map-support: 0.5.21 + tinyglobby: 0.2.16 + tslib: 2.8.1 + typescript: 6.0.3 + vite: 7.3.2(@types/node@24.12.2)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + watchpack: 2.5.1 + optionalDependencies: + '@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 + '@angular/ssr': 22.0.0-rc.0(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-server@packages+platform-server)(@angular/router@packages+router) + istanbul-lib-instrument: 6.0.3 + karma: 6.4.4(bufferutil@4.1.0)(utf-8-validate@6.0.6) + less: 4.6.4 + lmdb: 3.5.4 + ng-packagr: 22.0.0-next.4(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.9.0))(tslib@2.8.1)(typescript@6.0.3) + postcss: 8.5.13 + tailwindcss: 3.4.19(tsx@4.21.0)(yaml@2.9.0) + vitest: 4.1.6(@opentelemetry/api@1.9.1)(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + transitivePeerDependencies: + - '@types/node' + - chokidar + - jiti + - lightningcss + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - yaml + + '@angular/cdk@22.0.0-rc.0(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2)': + dependencies: + '@angular/common': link:packages/common + '@angular/core': link:packages/core + '@angular/platform-browser': link:packages/platform-browser + parse5: 8.0.1 + rxjs: 7.8.2 + tslib: 2.8.1 + + '@angular/cli@22.0.0-rc.0(@cfworker/json-schema@4.1.1)(@types/node@20.19.41)(chokidar@5.0.0)': + dependencies: + '@angular-devkit/architect': 0.2200.0-rc.0(chokidar@5.0.0) + '@angular-devkit/core': 22.0.0-rc.0(chokidar@5.0.0) + '@angular-devkit/schematics': 22.0.0-rc.0(chokidar@5.0.0) + '@inquirer/prompts': 8.4.2(@types/node@20.19.41) + '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.41))(@types/node@20.19.41)(listr2@10.2.1) + '@modelcontextprotocol/sdk': 1.29.0(@cfworker/json-schema@4.1.1) + '@schematics/angular': 22.0.0-rc.0(chokidar@5.0.0) + '@yarnpkg/lockfile': 1.1.0 + algoliasearch: 5.52.0 + ini: 6.0.0 + jsonc-parser: 3.3.1 + listr2: 10.2.1 + npm-package-arg: 13.0.2 + pacote: 21.5.0 + parse5-html-rewriting-stream: 8.0.1 + semver: 7.7.4 + yargs: 18.0.0 + zod: 4.4.2 + transitivePeerDependencies: + - '@cfworker/json-schema' + - '@types/node' - chokidar - supports-color @@ -13098,7 +13274,33 @@ snapshots: '@angular-devkit/core': 22.0.0-rc.0(chokidar@5.0.0) '@angular-devkit/schematics': 22.0.0-rc.0(chokidar@5.0.0) '@inquirer/prompts': 8.4.2(@types/node@24.12.2) - '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.39))(@types/node@24.12.2)(listr2@10.2.1) + '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@24.12.2))(@types/node@24.12.2)(listr2@10.2.1) + '@modelcontextprotocol/sdk': 1.29.0(@cfworker/json-schema@4.1.1) + '@schematics/angular': 22.0.0-rc.0(chokidar@5.0.0) + '@yarnpkg/lockfile': 1.1.0 + algoliasearch: 5.52.0 + ini: 6.0.0 + jsonc-parser: 3.3.1 + listr2: 10.2.1 + npm-package-arg: 13.0.2 + pacote: 21.5.0 + parse5-html-rewriting-stream: 8.0.1 + semver: 7.7.4 + yargs: 18.0.0 + zod: 4.4.2 + transitivePeerDependencies: + - '@cfworker/json-schema' + - '@types/node' + - chokidar + - supports-color + + '@angular/cli@22.0.0-rc.0(@cfworker/json-schema@4.1.1)(@types/node@24.12.4)(chokidar@5.0.0)': + dependencies: + '@angular-devkit/architect': 0.2200.0-rc.0(chokidar@5.0.0) + '@angular-devkit/core': 22.0.0-rc.0(chokidar@5.0.0) + '@angular-devkit/schematics': 22.0.0-rc.0(chokidar@5.0.0) + '@inquirer/prompts': 8.4.2(@types/node@24.12.4) + '@listr2/prompt-adapter-inquirer': 4.2.3(@inquirer/prompts@8.4.2(@types/node@24.12.4))(@types/node@24.12.4)(listr2@10.2.1) '@modelcontextprotocol/sdk': 1.29.0(@cfworker/json-schema@4.1.1) '@schematics/angular': 22.0.0-rc.0(chokidar@5.0.0) '@yarnpkg/lockfile': 1.1.0 @@ -13118,7 +13320,7 @@ snapshots: - chokidar - supports-color - '@angular/core@22.0.0-next.8(@angular/compiler@packages+compiler)': + '@angular/core@22.0.0-rc.0(@angular/compiler@packages+compiler)': dependencies: rxjs: 7.8.2 tslib: 2.8.1 @@ -13210,7 +13412,7 @@ snapshots: '@antfu/install-pkg@1.1.0': dependencies: package-manager-detector: 1.6.0 - tinyexec: 1.1.1 + tinyexec: 1.1.2 '@apidevtools/json-schema-ref-parser@9.1.2': dependencies: @@ -13219,24 +13421,8 @@ snapshots: call-me-maybe: 1.0.2 js-yaml: 4.1.1 - '@apphosting/build@0.1.7(@types/node@20.19.39)(typescript@6.0.3)': - dependencies: - '@apphosting/common': 0.0.9 - '@npmcli/promise-spawn': 3.0.0 - colorette: 2.0.20 - commander: 11.1.0 - npm-pick-manifest: 9.1.0 - ts-node: 10.9.2(@types/node@20.19.39)(typescript@6.0.3) - transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' - - '@types/node' - - typescript - '@apphosting/common@0.0.8': {} - '@apphosting/common@0.0.9': {} - '@asamuzakjp/css-color@3.2.0': dependencies: '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) @@ -13328,8 +13514,8 @@ snapshots: '@azure/core-tracing': 1.3.1 '@azure/core-util': 1.13.1 '@azure/logger': 1.3.0 - '@azure/msal-browser': 5.7.0 - '@azure/msal-node': 5.1.3 + '@azure/msal-browser': 5.10.1 + '@azure/msal-node': 5.2.1 open: 10.2.0 tslib: 2.8.1 transitivePeerDependencies: @@ -13342,17 +13528,16 @@ snapshots: transitivePeerDependencies: - supports-color - '@azure/msal-browser@5.7.0': + '@azure/msal-browser@5.10.1': dependencies: - '@azure/msal-common': 16.5.0 + '@azure/msal-common': 16.6.1 - '@azure/msal-common@16.5.0': {} + '@azure/msal-common@16.6.1': {} - '@azure/msal-node@5.1.3': + '@azure/msal-node@5.2.1': dependencies: - '@azure/msal-common': 16.5.0 + '@azure/msal-common': 16.6.1 jsonwebtoken: 9.0.3 - uuid: 8.3.2 '@babel/cli@7.28.6(@babel/core@7.29.0)': dependencies: @@ -13374,8 +13559,6 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.29.0': {} - '@babel/compat-data@7.29.3': {} '@babel/core@7.29.0': @@ -13385,7 +13568,7 @@ snapshots: '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) '@babel/helpers': 7.29.2 - '@babel/parser': 7.29.2 + '@babel/parser': 7.29.3 '@babel/template': 7.28.6 '@babel/traverse': 7.29.0 '@babel/types': 7.29.0 @@ -13400,7 +13583,7 @@ snapshots: '@babel/generator@7.29.1': dependencies: - '@babel/parser': 7.29.2 + '@babel/parser': 7.29.3 '@babel/types': 7.29.0 '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 @@ -13412,13 +13595,13 @@ snapshots: '@babel/helper-compilation-targets@7.28.6': dependencies: - '@babel/compat-data': 7.29.0 + '@babel/compat-data': 7.29.3 '@babel/helper-validator-option': 7.27.1 browserslist: 4.28.2 lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-create-class-features-plugin@7.28.6(@babel/core@7.29.0)': + '@babel/helper-create-class-features-plugin@7.29.3(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 @@ -13528,7 +13711,7 @@ snapshots: '@babel/template': 7.28.6 '@babel/types': 7.29.0 - '@babel/parser@7.29.2': + '@babel/parser@7.29.3': dependencies: '@babel/types': 7.29.0 @@ -13711,7 +13894,7 @@ snapshots: '@babel/plugin-transform-class-properties@7.28.6(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0) + '@babel/helper-create-class-features-plugin': 7.29.3(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color @@ -13719,7 +13902,7 @@ snapshots: '@babel/plugin-transform-class-static-block@7.28.6(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0) + '@babel/helper-create-class-features-plugin': 7.29.3(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color @@ -13922,7 +14105,7 @@ snapshots: '@babel/plugin-transform-private-methods@7.28.6(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0 - '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0) + '@babel/helper-create-class-features-plugin': 7.29.3(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color @@ -13931,7 +14114,7 @@ snapshots: dependencies: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0) + '@babel/helper-create-class-features-plugin': 7.29.3(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 transitivePeerDependencies: - supports-color @@ -14109,7 +14292,7 @@ snapshots: '@babel/template@7.28.6': dependencies: '@babel/code-frame': 7.29.0 - '@babel/parser': 7.29.2 + '@babel/parser': 7.29.3 '@babel/types': 7.29.0 '@babel/traverse@7.29.0': @@ -14117,7 +14300,7 @@ snapshots: '@babel/code-frame': 7.29.0 '@babel/generator': 7.29.1 '@babel/helper-globals': 7.28.0 - '@babel/parser': 7.29.2 + '@babel/parser': 7.29.3 '@babel/template': 7.28.6 '@babel/types': 7.29.0 debug: 4.4.3(supports-color@10.2.2) @@ -14145,20 +14328,7 @@ snapshots: '@cfworker/json-schema@4.1.1': {} - '@chevrotain/cst-dts-gen@12.0.0': - dependencies: - '@chevrotain/gast': 12.0.0 - '@chevrotain/types': 12.0.0 - - '@chevrotain/gast@12.0.0': - dependencies: - '@chevrotain/types': 12.0.0 - - '@chevrotain/regexp-to-ast@12.0.0': {} - - '@chevrotain/types@12.0.0': {} - - '@chevrotain/utils@12.0.0': {} + '@chevrotain/types@11.1.2': {} '@codemirror/autocomplete@6.20.1': dependencies: @@ -14261,7 +14431,7 @@ snapshots: dependencies: '@simple-libs/child-process-utils': 1.0.2 '@simple-libs/stream-utils': 1.2.0 - semver: 7.7.4 + semver: 7.8.0 optionalDependencies: conventional-commits-filter: 5.0.0 conventional-commits-parser: 6.4.0 @@ -14306,7 +14476,7 @@ snapshots: dependencies: '@csstools/css-tokenizer': 4.0.0 - '@csstools/css-syntax-patches-for-csstree@1.1.3(css-tree@3.2.1)': + '@csstools/css-syntax-patches-for-csstree@1.1.4(css-tree@3.2.1)': optionalDependencies: css-tree: 3.2.1 @@ -14364,22 +14534,11 @@ snapshots: tslib: 2.8.1 optional: true - '@emnapi/core@1.9.2': - dependencies: - '@emnapi/wasi-threads': 1.2.1 - tslib: 2.8.1 - optional: true - '@emnapi/runtime@1.10.0': dependencies: tslib: 2.8.1 optional: true - '@emnapi/runtime@1.9.2': - dependencies: - tslib: 2.8.1 - optional: true - '@emnapi/wasi-threads@1.2.1': dependencies: tslib: 2.8.1 @@ -14932,9 +15091,9 @@ snapshots: '@google-cloud/promisify': 5.0.0 '@grpc/proto-loader': 0.7.15 '@opentelemetry/api': 1.9.1 - '@opentelemetry/context-async-hooks': 2.7.0(@opentelemetry/api@1.9.1) - '@opentelemetry/core': 2.7.0(@opentelemetry/api@1.9.1) - '@opentelemetry/semantic-conventions': 1.40.0 + '@opentelemetry/context-async-hooks': 2.7.1(@opentelemetry/api@1.9.1) + '@opentelemetry/core': 2.7.1(@opentelemetry/api@1.9.1) + '@opentelemetry/semantic-conventions': 1.41.1 '@types/big.js': 6.2.2 '@types/stack-trace': 0.0.33 big.js: 7.0.1 @@ -14944,12 +15103,12 @@ snapshots: extend: 3.0.2 google-auth-library: 10.6.2(supports-color@10.2.2) google-gax: 5.0.6(supports-color@10.2.2) - grpc-gcp: 1.0.1(protobufjs@7.5.5) + grpc-gcp: 1.0.1(protobufjs@7.5.9) is: 3.3.2 lodash.snakecase: 4.1.1 merge-stream: 2.0.0 p-queue: 6.6.2 - protobufjs: 7.5.5 + protobufjs: 7.5.9 retry-request: 8.0.2(supports-color@10.2.2) split-array-stream: 2.0.0 stack-trace: 0.0.10 @@ -14963,8 +15122,8 @@ snapshots: dependencies: google-auth-library: 10.6.2(supports-color@10.2.2) p-retry: 4.6.2 - protobufjs: 7.5.5 - ws: 8.20.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) + protobufjs: 7.5.9 + ws: 8.20.1(bufferutil@4.1.0)(utf-8-validate@6.0.6) optionalDependencies: '@modelcontextprotocol/sdk': 1.29.0(@cfworker/json-schema@4.1.1) transitivePeerDependencies: @@ -14980,7 +15139,7 @@ snapshots: '@grpc/grpc-js@1.14.3': dependencies: - '@grpc/proto-loader': 0.8.0 + '@grpc/proto-loader': 0.8.1 '@js-sdsl/ordered-map': 4.4.2 '@grpc/grpc-js@1.9.15': @@ -14992,14 +15151,14 @@ snapshots: dependencies: lodash.camelcase: 4.3.0 long: 5.3.2 - protobufjs: 7.5.5 + protobufjs: 7.5.9 yargs: 17.7.2 - '@grpc/proto-loader@0.8.0': + '@grpc/proto-loader@0.8.1': dependencies: lodash.camelcase: 4.3.0 long: 5.3.2 - protobufjs: 7.5.5 + protobufjs: 7.5.9 yargs: 17.7.2 '@gulpjs/messages@1.1.0': {} @@ -15011,99 +15170,136 @@ snapshots: '@harperfast/extended-iterable@1.0.3': optional: true - '@hono/node-server@1.19.14(hono@4.12.14)': + '@hono/node-server@1.19.14(hono@4.12.19)': dependencies: - hono: 4.12.14 + hono: 4.12.19 '@hutson/parse-repository-url@5.0.0': {} '@iconify/types@2.0.0': {} - '@iconify/utils@3.1.0': + '@iconify/utils@3.1.3': dependencies: '@antfu/install-pkg': 1.1.0 '@iconify/types': 2.0.0 - mlly: 1.8.2 + import-meta-resolve: 4.2.0 '@inquirer/ansi@1.0.2': {} '@inquirer/ansi@2.0.5': {} - '@inquirer/checkbox@4.3.2(@types/node@20.19.39)': + '@inquirer/checkbox@4.3.2(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@20.19.39) + '@inquirer/core': 10.3.2(@types/node@20.19.41) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@20.19.39) + '@inquirer/type': 3.0.10(@types/node@20.19.41) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 20.19.39 + '@types/node': 20.19.41 - '@inquirer/checkbox@5.1.4(@types/node@20.19.39)': + '@inquirer/checkbox@5.1.5(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.9(@types/node@20.19.39) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.39) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.39 + '@types/node': 20.19.41 - '@inquirer/checkbox@5.1.4(@types/node@24.12.2)': + '@inquirer/checkbox@5.1.5(@types/node@24.12.2)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.9(@types/node@24.12.2) + '@inquirer/core': 11.1.10(@types/node@24.12.2) '@inquirer/figures': 2.0.5 '@inquirer/type': 4.0.5(@types/node@24.12.2) optionalDependencies: '@types/node': 24.12.2 - '@inquirer/confirm@5.1.21(@types/node@20.19.39)': + '@inquirer/checkbox@5.1.5(@types/node@24.12.4)': dependencies: - '@inquirer/core': 10.3.2(@types/node@20.19.39) - '@inquirer/type': 3.0.10(@types/node@20.19.39) + '@inquirer/ansi': 2.0.5 + '@inquirer/core': 11.1.10(@types/node@24.12.4) + '@inquirer/figures': 2.0.5 + '@inquirer/type': 4.0.5(@types/node@24.12.4) optionalDependencies: - '@types/node': 20.19.39 + '@types/node': 24.12.4 - '@inquirer/confirm@6.0.12(@types/node@20.19.39)': + '@inquirer/confirm@5.1.21(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.9(@types/node@20.19.39) - '@inquirer/type': 4.0.5(@types/node@20.19.39) + '@inquirer/core': 10.3.2(@types/node@20.19.41) + '@inquirer/type': 3.0.10(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.39 + '@types/node': 20.19.41 + + '@inquirer/confirm@6.0.12(@types/node@20.19.41)': + dependencies: + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) + optionalDependencies: + '@types/node': 20.19.41 '@inquirer/confirm@6.0.12(@types/node@24.12.2)': dependencies: - '@inquirer/core': 11.1.9(@types/node@24.12.2) + '@inquirer/core': 11.1.10(@types/node@24.12.2) '@inquirer/type': 4.0.5(@types/node@24.12.2) optionalDependencies: '@types/node': 24.12.2 - '@inquirer/core@10.3.2(@types/node@20.19.39)': + '@inquirer/confirm@6.0.12(@types/node@24.12.4)': + dependencies: + '@inquirer/core': 11.1.10(@types/node@24.12.4) + '@inquirer/type': 4.0.5(@types/node@24.12.4) + optionalDependencies: + '@types/node': 24.12.4 + + '@inquirer/confirm@6.0.13(@types/node@20.19.41)': + dependencies: + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) + optionalDependencies: + '@types/node': 20.19.41 + + '@inquirer/confirm@6.0.13(@types/node@24.12.2)': + dependencies: + '@inquirer/core': 11.1.10(@types/node@24.12.2) + '@inquirer/type': 4.0.5(@types/node@24.12.2) + optionalDependencies: + '@types/node': 24.12.2 + + '@inquirer/confirm@6.0.13(@types/node@24.12.4)': + dependencies: + '@inquirer/core': 11.1.10(@types/node@24.12.4) + '@inquirer/type': 4.0.5(@types/node@24.12.4) + optionalDependencies: + '@types/node': 24.12.4 + + '@inquirer/core@10.3.2(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 1.0.2 '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@20.19.39) + '@inquirer/type': 3.0.10(@types/node@20.19.41) cli-width: 4.1.0 mute-stream: 2.0.0 signal-exit: 4.1.0 wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 20.19.39 + '@types/node': 20.19.41 - '@inquirer/core@11.1.9(@types/node@20.19.39)': + '@inquirer/core@11.1.10(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.39) + '@inquirer/type': 4.0.5(@types/node@20.19.41) cli-width: 4.1.0 fast-wrap-ansi: 0.2.0 mute-stream: 3.0.0 signal-exit: 4.1.0 optionalDependencies: - '@types/node': 20.19.39 + '@types/node': 20.19.41 - '@inquirer/core@11.1.9(@types/node@24.12.2)': + '@inquirer/core@11.1.10(@types/node@24.12.2)': dependencies: '@inquirer/ansi': 2.0.5 '@inquirer/figures': 2.0.5 @@ -15115,65 +15311,92 @@ snapshots: optionalDependencies: '@types/node': 24.12.2 - '@inquirer/editor@4.2.23(@types/node@20.19.39)': + '@inquirer/core@11.1.10(@types/node@24.12.4)': + dependencies: + '@inquirer/ansi': 2.0.5 + '@inquirer/figures': 2.0.5 + '@inquirer/type': 4.0.5(@types/node@24.12.4) + cli-width: 4.1.0 + fast-wrap-ansi: 0.2.0 + mute-stream: 3.0.0 + signal-exit: 4.1.0 + optionalDependencies: + '@types/node': 24.12.4 + + '@inquirer/editor@4.2.23(@types/node@20.19.41)': dependencies: - '@inquirer/core': 10.3.2(@types/node@20.19.39) - '@inquirer/external-editor': 1.0.3(@types/node@20.19.39) - '@inquirer/type': 3.0.10(@types/node@20.19.39) + '@inquirer/core': 10.3.2(@types/node@20.19.41) + '@inquirer/external-editor': 1.0.3(@types/node@20.19.41) + '@inquirer/type': 3.0.10(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.39 + '@types/node': 20.19.41 - '@inquirer/editor@5.1.1(@types/node@20.19.39)': + '@inquirer/editor@5.1.2(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.9(@types/node@20.19.39) - '@inquirer/external-editor': 3.0.0(@types/node@20.19.39) - '@inquirer/type': 4.0.5(@types/node@20.19.39) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/external-editor': 3.0.0(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.39 + '@types/node': 20.19.41 - '@inquirer/editor@5.1.1(@types/node@24.12.2)': + '@inquirer/editor@5.1.2(@types/node@24.12.2)': dependencies: - '@inquirer/core': 11.1.9(@types/node@24.12.2) + '@inquirer/core': 11.1.10(@types/node@24.12.2) '@inquirer/external-editor': 3.0.0(@types/node@24.12.2) '@inquirer/type': 4.0.5(@types/node@24.12.2) optionalDependencies: '@types/node': 24.12.2 - '@inquirer/expand@4.0.23(@types/node@20.19.39)': + '@inquirer/editor@5.1.2(@types/node@24.12.4)': + dependencies: + '@inquirer/core': 11.1.10(@types/node@24.12.4) + '@inquirer/external-editor': 3.0.0(@types/node@24.12.4) + '@inquirer/type': 4.0.5(@types/node@24.12.4) + optionalDependencies: + '@types/node': 24.12.4 + + '@inquirer/expand@4.0.23(@types/node@20.19.41)': dependencies: - '@inquirer/core': 10.3.2(@types/node@20.19.39) - '@inquirer/type': 3.0.10(@types/node@20.19.39) + '@inquirer/core': 10.3.2(@types/node@20.19.41) + '@inquirer/type': 3.0.10(@types/node@20.19.41) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 20.19.39 + '@types/node': 20.19.41 - '@inquirer/expand@5.0.13(@types/node@20.19.39)': + '@inquirer/expand@5.0.14(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.9(@types/node@20.19.39) - '@inquirer/type': 4.0.5(@types/node@20.19.39) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.39 + '@types/node': 20.19.41 - '@inquirer/expand@5.0.13(@types/node@24.12.2)': + '@inquirer/expand@5.0.14(@types/node@24.12.2)': dependencies: - '@inquirer/core': 11.1.9(@types/node@24.12.2) + '@inquirer/core': 11.1.10(@types/node@24.12.2) '@inquirer/type': 4.0.5(@types/node@24.12.2) optionalDependencies: '@types/node': 24.12.2 - '@inquirer/external-editor@1.0.3(@types/node@20.19.39)': + '@inquirer/expand@5.0.14(@types/node@24.12.4)': + dependencies: + '@inquirer/core': 11.1.10(@types/node@24.12.4) + '@inquirer/type': 4.0.5(@types/node@24.12.4) + optionalDependencies: + '@types/node': 24.12.4 + + '@inquirer/external-editor@1.0.3(@types/node@20.19.41)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: - '@types/node': 20.19.39 + '@types/node': 20.19.41 - '@inquirer/external-editor@3.0.0(@types/node@20.19.39)': + '@inquirer/external-editor@3.0.0(@types/node@20.19.41)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.2 optionalDependencies: - '@types/node': 20.19.39 + '@types/node': 20.19.41 '@inquirer/external-editor@3.0.0(@types/node@24.12.2)': dependencies: @@ -15182,208 +15405,295 @@ snapshots: optionalDependencies: '@types/node': 24.12.2 + '@inquirer/external-editor@3.0.0(@types/node@24.12.4)': + dependencies: + chardet: 2.1.1 + iconv-lite: 0.7.2 + optionalDependencies: + '@types/node': 24.12.4 + '@inquirer/figures@1.0.15': {} '@inquirer/figures@2.0.5': {} - '@inquirer/input@4.3.1(@types/node@20.19.39)': + '@inquirer/input@4.3.1(@types/node@20.19.41)': dependencies: - '@inquirer/core': 10.3.2(@types/node@20.19.39) - '@inquirer/type': 3.0.10(@types/node@20.19.39) + '@inquirer/core': 10.3.2(@types/node@20.19.41) + '@inquirer/type': 3.0.10(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.39 + '@types/node': 20.19.41 - '@inquirer/input@5.0.12(@types/node@20.19.39)': + '@inquirer/input@5.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.9(@types/node@20.19.39) - '@inquirer/type': 4.0.5(@types/node@20.19.39) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.39 + '@types/node': 20.19.41 - '@inquirer/input@5.0.12(@types/node@24.12.2)': + '@inquirer/input@5.0.13(@types/node@24.12.2)': dependencies: - '@inquirer/core': 11.1.9(@types/node@24.12.2) + '@inquirer/core': 11.1.10(@types/node@24.12.2) '@inquirer/type': 4.0.5(@types/node@24.12.2) optionalDependencies: '@types/node': 24.12.2 - '@inquirer/number@3.0.23(@types/node@20.19.39)': + '@inquirer/input@5.0.13(@types/node@24.12.4)': + dependencies: + '@inquirer/core': 11.1.10(@types/node@24.12.4) + '@inquirer/type': 4.0.5(@types/node@24.12.4) + optionalDependencies: + '@types/node': 24.12.4 + + '@inquirer/number@3.0.23(@types/node@20.19.41)': dependencies: - '@inquirer/core': 10.3.2(@types/node@20.19.39) - '@inquirer/type': 3.0.10(@types/node@20.19.39) + '@inquirer/core': 10.3.2(@types/node@20.19.41) + '@inquirer/type': 3.0.10(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.39 + '@types/node': 20.19.41 - '@inquirer/number@4.0.12(@types/node@20.19.39)': + '@inquirer/number@4.0.13(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.9(@types/node@20.19.39) - '@inquirer/type': 4.0.5(@types/node@20.19.39) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.39 + '@types/node': 20.19.41 - '@inquirer/number@4.0.12(@types/node@24.12.2)': + '@inquirer/number@4.0.13(@types/node@24.12.2)': dependencies: - '@inquirer/core': 11.1.9(@types/node@24.12.2) + '@inquirer/core': 11.1.10(@types/node@24.12.2) '@inquirer/type': 4.0.5(@types/node@24.12.2) optionalDependencies: '@types/node': 24.12.2 - '@inquirer/password@4.0.23(@types/node@20.19.39)': + '@inquirer/number@4.0.13(@types/node@24.12.4)': + dependencies: + '@inquirer/core': 11.1.10(@types/node@24.12.4) + '@inquirer/type': 4.0.5(@types/node@24.12.4) + optionalDependencies: + '@types/node': 24.12.4 + + '@inquirer/password@4.0.23(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@20.19.39) - '@inquirer/type': 3.0.10(@types/node@20.19.39) + '@inquirer/core': 10.3.2(@types/node@20.19.41) + '@inquirer/type': 3.0.10(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.39 + '@types/node': 20.19.41 - '@inquirer/password@5.0.12(@types/node@20.19.39)': + '@inquirer/password@5.0.13(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.9(@types/node@20.19.39) - '@inquirer/type': 4.0.5(@types/node@20.19.39) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.39 + '@types/node': 20.19.41 - '@inquirer/password@5.0.12(@types/node@24.12.2)': + '@inquirer/password@5.0.13(@types/node@24.12.2)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.9(@types/node@24.12.2) + '@inquirer/core': 11.1.10(@types/node@24.12.2) '@inquirer/type': 4.0.5(@types/node@24.12.2) optionalDependencies: '@types/node': 24.12.2 - '@inquirer/prompts@7.10.1(@types/node@20.19.39)': - dependencies: - '@inquirer/checkbox': 4.3.2(@types/node@20.19.39) - '@inquirer/confirm': 5.1.21(@types/node@20.19.39) - '@inquirer/editor': 4.2.23(@types/node@20.19.39) - '@inquirer/expand': 4.0.23(@types/node@20.19.39) - '@inquirer/input': 4.3.1(@types/node@20.19.39) - '@inquirer/number': 3.0.23(@types/node@20.19.39) - '@inquirer/password': 4.0.23(@types/node@20.19.39) - '@inquirer/rawlist': 4.1.11(@types/node@20.19.39) - '@inquirer/search': 3.2.2(@types/node@20.19.39) - '@inquirer/select': 4.4.2(@types/node@20.19.39) + '@inquirer/password@5.0.13(@types/node@24.12.4)': + dependencies: + '@inquirer/ansi': 2.0.5 + '@inquirer/core': 11.1.10(@types/node@24.12.4) + '@inquirer/type': 4.0.5(@types/node@24.12.4) optionalDependencies: - '@types/node': 20.19.39 - - '@inquirer/prompts@8.4.2(@types/node@20.19.39)': - dependencies: - '@inquirer/checkbox': 5.1.4(@types/node@20.19.39) - '@inquirer/confirm': 6.0.12(@types/node@20.19.39) - '@inquirer/editor': 5.1.1(@types/node@20.19.39) - '@inquirer/expand': 5.0.13(@types/node@20.19.39) - '@inquirer/input': 5.0.12(@types/node@20.19.39) - '@inquirer/number': 4.0.12(@types/node@20.19.39) - '@inquirer/password': 5.0.12(@types/node@20.19.39) - '@inquirer/rawlist': 5.2.8(@types/node@20.19.39) - '@inquirer/search': 4.1.8(@types/node@20.19.39) - '@inquirer/select': 5.1.4(@types/node@20.19.39) + '@types/node': 24.12.4 + + '@inquirer/prompts@7.10.1(@types/node@20.19.41)': + dependencies: + '@inquirer/checkbox': 4.3.2(@types/node@20.19.41) + '@inquirer/confirm': 5.1.21(@types/node@20.19.41) + '@inquirer/editor': 4.2.23(@types/node@20.19.41) + '@inquirer/expand': 4.0.23(@types/node@20.19.41) + '@inquirer/input': 4.3.1(@types/node@20.19.41) + '@inquirer/number': 3.0.23(@types/node@20.19.41) + '@inquirer/password': 4.0.23(@types/node@20.19.41) + '@inquirer/rawlist': 4.1.11(@types/node@20.19.41) + '@inquirer/search': 3.2.2(@types/node@20.19.41) + '@inquirer/select': 4.4.2(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.39 + '@types/node': 20.19.41 + + '@inquirer/prompts@8.4.2(@types/node@20.19.41)': + dependencies: + '@inquirer/checkbox': 5.1.5(@types/node@20.19.41) + '@inquirer/confirm': 6.0.13(@types/node@20.19.41) + '@inquirer/editor': 5.1.2(@types/node@20.19.41) + '@inquirer/expand': 5.0.14(@types/node@20.19.41) + '@inquirer/input': 5.0.13(@types/node@20.19.41) + '@inquirer/number': 4.0.13(@types/node@20.19.41) + '@inquirer/password': 5.0.13(@types/node@20.19.41) + '@inquirer/rawlist': 5.2.9(@types/node@20.19.41) + '@inquirer/search': 4.1.9(@types/node@20.19.41) + '@inquirer/select': 5.1.5(@types/node@20.19.41) + optionalDependencies: + '@types/node': 20.19.41 '@inquirer/prompts@8.4.2(@types/node@24.12.2)': dependencies: - '@inquirer/checkbox': 5.1.4(@types/node@24.12.2) - '@inquirer/confirm': 6.0.12(@types/node@24.12.2) - '@inquirer/editor': 5.1.1(@types/node@24.12.2) - '@inquirer/expand': 5.0.13(@types/node@24.12.2) - '@inquirer/input': 5.0.12(@types/node@24.12.2) - '@inquirer/number': 4.0.12(@types/node@24.12.2) - '@inquirer/password': 5.0.12(@types/node@24.12.2) - '@inquirer/rawlist': 5.2.8(@types/node@24.12.2) - '@inquirer/search': 4.1.8(@types/node@24.12.2) - '@inquirer/select': 5.1.4(@types/node@24.12.2) + '@inquirer/checkbox': 5.1.5(@types/node@24.12.2) + '@inquirer/confirm': 6.0.13(@types/node@24.12.2) + '@inquirer/editor': 5.1.2(@types/node@24.12.2) + '@inquirer/expand': 5.0.14(@types/node@24.12.2) + '@inquirer/input': 5.0.13(@types/node@24.12.2) + '@inquirer/number': 4.0.13(@types/node@24.12.2) + '@inquirer/password': 5.0.13(@types/node@24.12.2) + '@inquirer/rawlist': 5.2.9(@types/node@24.12.2) + '@inquirer/search': 4.1.9(@types/node@24.12.2) + '@inquirer/select': 5.1.5(@types/node@24.12.2) optionalDependencies: '@types/node': 24.12.2 - '@inquirer/rawlist@4.1.11(@types/node@20.19.39)': + '@inquirer/prompts@8.4.2(@types/node@24.12.4)': + dependencies: + '@inquirer/checkbox': 5.1.5(@types/node@24.12.4) + '@inquirer/confirm': 6.0.13(@types/node@24.12.4) + '@inquirer/editor': 5.1.2(@types/node@24.12.4) + '@inquirer/expand': 5.0.14(@types/node@24.12.4) + '@inquirer/input': 5.0.13(@types/node@24.12.4) + '@inquirer/number': 4.0.13(@types/node@24.12.4) + '@inquirer/password': 5.0.13(@types/node@24.12.4) + '@inquirer/rawlist': 5.2.9(@types/node@24.12.4) + '@inquirer/search': 4.1.9(@types/node@24.12.4) + '@inquirer/select': 5.1.5(@types/node@24.12.4) + optionalDependencies: + '@types/node': 24.12.4 + + '@inquirer/prompts@8.4.3(@types/node@20.19.41)': + dependencies: + '@inquirer/checkbox': 5.1.5(@types/node@20.19.41) + '@inquirer/confirm': 6.0.13(@types/node@20.19.41) + '@inquirer/editor': 5.1.2(@types/node@20.19.41) + '@inquirer/expand': 5.0.14(@types/node@20.19.41) + '@inquirer/input': 5.0.13(@types/node@20.19.41) + '@inquirer/number': 4.0.13(@types/node@20.19.41) + '@inquirer/password': 5.0.13(@types/node@20.19.41) + '@inquirer/rawlist': 5.2.9(@types/node@20.19.41) + '@inquirer/search': 4.1.9(@types/node@20.19.41) + '@inquirer/select': 5.1.5(@types/node@20.19.41) + optionalDependencies: + '@types/node': 20.19.41 + + '@inquirer/rawlist@4.1.11(@types/node@20.19.41)': dependencies: - '@inquirer/core': 10.3.2(@types/node@20.19.39) - '@inquirer/type': 3.0.10(@types/node@20.19.39) + '@inquirer/core': 10.3.2(@types/node@20.19.41) + '@inquirer/type': 3.0.10(@types/node@20.19.41) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 20.19.39 + '@types/node': 20.19.41 - '@inquirer/rawlist@5.2.8(@types/node@20.19.39)': + '@inquirer/rawlist@5.2.9(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.9(@types/node@20.19.39) - '@inquirer/type': 4.0.5(@types/node@20.19.39) + '@inquirer/core': 11.1.10(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.39 + '@types/node': 20.19.41 - '@inquirer/rawlist@5.2.8(@types/node@24.12.2)': + '@inquirer/rawlist@5.2.9(@types/node@24.12.2)': dependencies: - '@inquirer/core': 11.1.9(@types/node@24.12.2) + '@inquirer/core': 11.1.10(@types/node@24.12.2) '@inquirer/type': 4.0.5(@types/node@24.12.2) optionalDependencies: '@types/node': 24.12.2 - '@inquirer/search@3.2.2(@types/node@20.19.39)': + '@inquirer/rawlist@5.2.9(@types/node@24.12.4)': dependencies: - '@inquirer/core': 10.3.2(@types/node@20.19.39) + '@inquirer/core': 11.1.10(@types/node@24.12.4) + '@inquirer/type': 4.0.5(@types/node@24.12.4) + optionalDependencies: + '@types/node': 24.12.4 + + '@inquirer/search@3.2.2(@types/node@20.19.41)': + dependencies: + '@inquirer/core': 10.3.2(@types/node@20.19.41) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@20.19.39) + '@inquirer/type': 3.0.10(@types/node@20.19.41) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 20.19.39 + '@types/node': 20.19.41 - '@inquirer/search@4.1.8(@types/node@20.19.39)': + '@inquirer/search@4.1.9(@types/node@20.19.41)': dependencies: - '@inquirer/core': 11.1.9(@types/node@20.19.39) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.39) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.39 + '@types/node': 20.19.41 - '@inquirer/search@4.1.8(@types/node@24.12.2)': + '@inquirer/search@4.1.9(@types/node@24.12.2)': dependencies: - '@inquirer/core': 11.1.9(@types/node@24.12.2) + '@inquirer/core': 11.1.10(@types/node@24.12.2) '@inquirer/figures': 2.0.5 '@inquirer/type': 4.0.5(@types/node@24.12.2) optionalDependencies: '@types/node': 24.12.2 - '@inquirer/select@4.4.2(@types/node@20.19.39)': + '@inquirer/search@4.1.9(@types/node@24.12.4)': + dependencies: + '@inquirer/core': 11.1.10(@types/node@24.12.4) + '@inquirer/figures': 2.0.5 + '@inquirer/type': 4.0.5(@types/node@24.12.4) + optionalDependencies: + '@types/node': 24.12.4 + + '@inquirer/select@4.4.2(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@20.19.39) + '@inquirer/core': 10.3.2(@types/node@20.19.41) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@20.19.39) + '@inquirer/type': 3.0.10(@types/node@20.19.41) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 20.19.39 + '@types/node': 20.19.41 - '@inquirer/select@5.1.4(@types/node@20.19.39)': + '@inquirer/select@5.1.5(@types/node@20.19.41)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.9(@types/node@20.19.39) + '@inquirer/core': 11.1.10(@types/node@20.19.41) '@inquirer/figures': 2.0.5 - '@inquirer/type': 4.0.5(@types/node@20.19.39) + '@inquirer/type': 4.0.5(@types/node@20.19.41) optionalDependencies: - '@types/node': 20.19.39 + '@types/node': 20.19.41 - '@inquirer/select@5.1.4(@types/node@24.12.2)': + '@inquirer/select@5.1.5(@types/node@24.12.2)': dependencies: '@inquirer/ansi': 2.0.5 - '@inquirer/core': 11.1.9(@types/node@24.12.2) + '@inquirer/core': 11.1.10(@types/node@24.12.2) '@inquirer/figures': 2.0.5 '@inquirer/type': 4.0.5(@types/node@24.12.2) optionalDependencies: '@types/node': 24.12.2 - '@inquirer/type@3.0.10(@types/node@20.19.39)': + '@inquirer/select@5.1.5(@types/node@24.12.4)': + dependencies: + '@inquirer/ansi': 2.0.5 + '@inquirer/core': 11.1.10(@types/node@24.12.4) + '@inquirer/figures': 2.0.5 + '@inquirer/type': 4.0.5(@types/node@24.12.4) + optionalDependencies: + '@types/node': 24.12.4 + + '@inquirer/type@3.0.10(@types/node@20.19.41)': optionalDependencies: - '@types/node': 20.19.39 + '@types/node': 20.19.41 - '@inquirer/type@4.0.5(@types/node@20.19.39)': + '@inquirer/type@4.0.5(@types/node@20.19.41)': optionalDependencies: - '@types/node': 20.19.39 + '@types/node': 20.19.41 '@inquirer/type@4.0.5(@types/node@24.12.2)': optionalDependencies: '@types/node': 24.12.2 + '@inquirer/type@4.0.5(@types/node@24.12.4)': + optionalDependencies: + '@types/node': 24.12.4 + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -15420,7 +15730,7 @@ snapshots: jest-util: 30.3.0 slash: 3.0.0 - '@jest/core@30.3.0(ts-node@10.9.2(@types/node@24.12.2)(typescript@6.0.3))': + '@jest/core@30.3.0(ts-node@10.9.2(@types/node@24.12.4)(typescript@6.0.3))': dependencies: '@jest/console': 30.3.0 '@jest/pattern': 30.0.1 @@ -15435,7 +15745,7 @@ snapshots: exit-x: 0.2.2 graceful-fs: 4.2.11 jest-changed-files: 30.3.0 - jest-config: 30.3.0(@types/node@24.12.2)(ts-node@10.9.2(@types/node@24.12.2)(typescript@6.0.3)) + jest-config: 30.3.0(@types/node@24.12.2)(ts-node@10.9.2(@types/node@24.12.4)(typescript@6.0.3)) jest-haste-map: 30.3.0 jest-message-util: 30.3.0 jest-regex-util: 30.0.1 @@ -15489,7 +15799,7 @@ snapshots: '@jest/fake-timers@30.3.0': dependencies: '@jest/types': 30.3.0 - '@sinonjs/fake-timers': 15.3.2 + '@sinonjs/fake-timers': 15.4.0 '@types/node': 24.12.2 jest-message-util: 30.3.0 jest-mock: 30.3.0 @@ -15795,22 +16105,30 @@ snapshots: '@lezer/highlight': 1.2.3 '@lezer/lr': 1.4.10 - '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.39))(@types/node@20.19.39)(listr2@10.2.1)': + '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.41))(@types/node@20.19.41)(listr2@10.2.1)': dependencies: - '@inquirer/prompts': 8.4.2(@types/node@20.19.39) - '@inquirer/type': 4.0.5(@types/node@20.19.39) + '@inquirer/prompts': 8.4.2(@types/node@20.19.41) + '@inquirer/type': 4.0.5(@types/node@20.19.41) listr2: 10.2.1 transitivePeerDependencies: - '@types/node' - '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@20.19.39))(@types/node@24.12.2)(listr2@10.2.1)': + '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@24.12.2))(@types/node@24.12.2)(listr2@10.2.1)': dependencies: - '@inquirer/prompts': 8.4.2(@types/node@20.19.39) + '@inquirer/prompts': 8.4.2(@types/node@24.12.2) '@inquirer/type': 4.0.5(@types/node@24.12.2) listr2: 10.2.1 transitivePeerDependencies: - '@types/node' + '@listr2/prompt-adapter-inquirer@4.2.3(@inquirer/prompts@8.4.2(@types/node@24.12.4))(@types/node@24.12.4)(listr2@10.2.1)': + dependencies: + '@inquirer/prompts': 8.4.2(@types/node@24.12.4) + '@inquirer/type': 4.0.5(@types/node@24.12.4) + listr2: 10.2.1 + transitivePeerDependencies: + - '@types/node' + '@lmdb/lmdb-darwin-arm64@3.5.4': optional: true @@ -15834,21 +16152,21 @@ snapshots: '@marijn/find-cluster-break@1.0.2': {} - '@mcp-b/webmcp-polyfill@2.2.0': + '@mcp-b/webmcp-polyfill@2.3.2': dependencies: '@cfworker/json-schema': 4.1.1 - '@mcp-b/webmcp-types': 2.2.0 + '@mcp-b/webmcp-types': 2.3.2 '@standard-schema/spec': 1.1.0 - '@mcp-b/webmcp-types@2.2.0': {} + '@mcp-b/webmcp-types@2.3.2': {} - '@mermaid-js/parser@1.1.0': + '@mermaid-js/parser@1.1.1': dependencies: - langium: 4.2.2 + '@chevrotain/types': 11.1.2 '@modelcontextprotocol/sdk@1.29.0(@cfworker/json-schema@4.1.1)': dependencies: - '@hono/node-server': 1.19.14(hono@4.12.14) + '@hono/node-server': 1.19.14(hono@4.12.19) ajv: 8.20.0 ajv-formats: 3.0.1 content-type: 1.0.5 @@ -15857,9 +16175,9 @@ snapshots: eventsource: 3.0.7 eventsource-parser: 3.0.8 express: 5.2.1 - express-rate-limit: 8.3.2(express@5.2.1) - hono: 4.12.14 - jose: 6.2.2 + express-rate-limit: 8.5.2(express@5.2.1) + hono: 4.12.19 + jose: 6.2.3 json-schema-typed: 8.0.2 pkce-challenge: 5.0.1 raw-body: 3.0.2 @@ -15888,7 +16206,7 @@ snapshots: '@msgpackr-extract/msgpackr-extract-win32-x64@3.0.3': optional: true - '@mswjs/interceptors@0.41.4': + '@mswjs/interceptors@0.41.9': dependencies: '@open-draft/deferred-promise': 2.2.0 '@open-draft/logger': 0.3.0 @@ -15973,21 +16291,21 @@ snapshots: dependencies: '@emnapi/core': 1.10.0 '@emnapi/runtime': 1.10.0 - '@tybys/wasm-util': 0.10.1 + '@tybys/wasm-util': 0.10.2 optional: true - '@napi-rs/wasm-runtime@1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': + '@napi-rs/wasm-runtime@1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': dependencies: - '@emnapi/core': 1.9.2 - '@emnapi/runtime': 1.9.2 - '@tybys/wasm-util': 0.10.1 + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@tybys/wasm-util': 0.10.2 optional: true - '@ngtools/webpack@22.0.0-rc.0(@angular/compiler-cli@packages+compiler-cli)(typescript@6.0.3)(webpack@5.106.2(esbuild@0.28.0))': + '@ngtools/webpack@22.0.0-rc.0(@angular/compiler-cli@packages+compiler-cli)(typescript@6.0.3)(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13))': dependencies: '@angular/compiler-cli': link:packages/compiler-cli typescript: 6.0.3 - webpack: 5.106.2(esbuild@0.28.0) + webpack: 5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13) '@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3': optional: true @@ -16011,24 +16329,24 @@ snapshots: agent-base: 7.1.4 http-proxy-agent: 7.0.2(supports-color@10.2.2) https-proxy-agent: 7.0.6(supports-color@10.2.2) - lru-cache: 11.3.5 + lru-cache: 11.3.6 socks-proxy-agent: 8.0.5 transitivePeerDependencies: - supports-color '@npmcli/fs@5.0.0': dependencies: - semver: 7.7.4 + semver: 7.8.0 '@npmcli/git@7.0.2': dependencies: '@gar/promise-retry': 1.0.3 '@npmcli/promise-spawn': 9.0.1 ini: 6.0.0 - lru-cache: 11.3.5 + lru-cache: 11.3.6 npm-pick-manifest: 11.0.3 proc-log: 6.1.0 - semver: 7.7.4 + semver: 7.8.0 which: 6.0.1 '@npmcli/installed-package-contents@4.0.0': @@ -16042,16 +16360,12 @@ snapshots: dependencies: '@npmcli/git': 7.0.2 glob: 13.0.6 - hosted-git-info: 9.0.2 + hosted-git-info: 9.0.3 json-parse-even-better-errors: 5.0.0 proc-log: 6.1.0 - semver: 7.7.4 + semver: 7.8.0 spdx-expression-parse: 4.0.0 - '@npmcli/promise-spawn@3.0.0': - dependencies: - infer-owner: 1.0.4 - '@npmcli/promise-spawn@9.0.1': dependencies: which: 6.0.1 @@ -16063,19 +16377,17 @@ snapshots: '@npmcli/node-gyp': 5.0.0 '@npmcli/package-json': 7.0.5 '@npmcli/promise-spawn': 9.0.1 - node-gyp: 12.2.0 + node-gyp: 12.3.0 proc-log: 6.1.0 - transitivePeerDependencies: - - supports-color '@octokit/auth-app@8.2.0': dependencies: '@octokit/auth-oauth-app': 9.0.3 '@octokit/auth-oauth-user': 6.0.2 - '@octokit/request': 10.0.8 + '@octokit/request': 10.0.9 '@octokit/request-error': 7.1.0 '@octokit/types': 16.0.0 - toad-cache: 3.7.0 + toad-cache: 3.7.1 universal-github-app-jwt: 2.2.2 universal-user-agent: 7.0.3 @@ -16083,14 +16395,14 @@ snapshots: dependencies: '@octokit/auth-oauth-device': 8.0.3 '@octokit/auth-oauth-user': 6.0.2 - '@octokit/request': 10.0.8 + '@octokit/request': 10.0.9 '@octokit/types': 16.0.0 universal-user-agent: 7.0.3 '@octokit/auth-oauth-device@8.0.3': dependencies: '@octokit/oauth-methods': 6.0.2 - '@octokit/request': 10.0.8 + '@octokit/request': 10.0.9 '@octokit/types': 16.0.0 universal-user-agent: 7.0.3 @@ -16098,7 +16410,7 @@ snapshots: dependencies: '@octokit/auth-oauth-device': 8.0.3 '@octokit/oauth-methods': 6.0.2 - '@octokit/request': 10.0.8 + '@octokit/request': 10.0.9 '@octokit/types': 16.0.0 universal-user-agent: 7.0.3 @@ -16108,7 +16420,7 @@ snapshots: dependencies: '@octokit/auth-token': 6.0.0 '@octokit/graphql': 9.0.3 - '@octokit/request': 10.0.8 + '@octokit/request': 10.0.9 '@octokit/request-error': 7.1.0 '@octokit/types': 16.0.0 before-after-hook: 4.0.0 @@ -16121,12 +16433,12 @@ snapshots: '@octokit/graphql-schema@15.26.1': dependencies: - graphql: 16.13.2 - graphql-tag: 2.12.6(graphql@16.13.2) + graphql: 16.14.0 + graphql-tag: 2.12.6(graphql@16.14.0) '@octokit/graphql@9.0.3': dependencies: - '@octokit/request': 10.0.8 + '@octokit/request': 10.0.9 '@octokit/types': 16.0.0 universal-user-agent: 7.0.3 @@ -16135,7 +16447,7 @@ snapshots: '@octokit/oauth-methods@6.0.2': dependencies: '@octokit/oauth-authorization-url': 8.0.0 - '@octokit/request': 10.0.8 + '@octokit/request': 10.0.9 '@octokit/request-error': 7.1.0 '@octokit/types': 16.0.0 @@ -16159,11 +16471,12 @@ snapshots: dependencies: '@octokit/types': 16.0.0 - '@octokit/request@10.0.8': + '@octokit/request@10.0.9': dependencies: '@octokit/endpoint': 11.0.3 '@octokit/request-error': 7.1.0 '@octokit/types': 16.0.0 + content-type: 2.0.0 fast-content-type-parse: 3.0.0 json-with-bigint: 3.5.8 universal-user-agent: 7.0.3 @@ -16190,7 +16503,7 @@ snapshots: '@opentelemetry/api@1.9.1': {} - '@opentelemetry/context-async-hooks@2.7.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/context-async-hooks@2.7.1(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 @@ -16199,18 +16512,18 @@ snapshots: '@opentelemetry/api': 1.9.1 '@opentelemetry/semantic-conventions': 1.28.0 - '@opentelemetry/core@2.7.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/core@2.7.1(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/semantic-conventions': 1.40.0 + '@opentelemetry/semantic-conventions': 1.41.1 '@opentelemetry/semantic-conventions@1.28.0': {} '@opentelemetry/semantic-conventions@1.39.0': {} - '@opentelemetry/semantic-conventions@1.40.0': {} + '@opentelemetry/semantic-conventions@1.41.1': {} - '@oxc-project/types@0.126.0': {} + '@oxc-project/types@0.130.0': {} '@parcel/watcher-android-arm64@2.5.6': optional: true @@ -16273,91 +16586,95 @@ snapshots: '@parcel/watcher-win32-x64': 2.5.6 optional: true - '@peculiar/asn1-cms@2.6.1': + '@peculiar/asn1-cms@2.7.0': dependencies: - '@peculiar/asn1-schema': 2.6.0 - '@peculiar/asn1-x509': 2.6.1 - '@peculiar/asn1-x509-attr': 2.6.1 + '@peculiar/asn1-schema': 2.7.0 + '@peculiar/asn1-x509': 2.7.0 + '@peculiar/asn1-x509-attr': 2.7.0 asn1js: 3.0.10 tslib: 2.8.1 - '@peculiar/asn1-csr@2.6.1': + '@peculiar/asn1-csr@2.7.0': dependencies: - '@peculiar/asn1-schema': 2.6.0 - '@peculiar/asn1-x509': 2.6.1 + '@peculiar/asn1-schema': 2.7.0 + '@peculiar/asn1-x509': 2.7.0 asn1js: 3.0.10 tslib: 2.8.1 - '@peculiar/asn1-ecc@2.6.1': + '@peculiar/asn1-ecc@2.7.0': dependencies: - '@peculiar/asn1-schema': 2.6.0 - '@peculiar/asn1-x509': 2.6.1 + '@peculiar/asn1-schema': 2.7.0 + '@peculiar/asn1-x509': 2.7.0 asn1js: 3.0.10 tslib: 2.8.1 - '@peculiar/asn1-pfx@2.6.1': + '@peculiar/asn1-pfx@2.7.0': dependencies: - '@peculiar/asn1-cms': 2.6.1 - '@peculiar/asn1-pkcs8': 2.6.1 - '@peculiar/asn1-rsa': 2.6.1 - '@peculiar/asn1-schema': 2.6.0 + '@peculiar/asn1-cms': 2.7.0 + '@peculiar/asn1-pkcs8': 2.7.0 + '@peculiar/asn1-rsa': 2.7.0 + '@peculiar/asn1-schema': 2.7.0 asn1js: 3.0.10 tslib: 2.8.1 - '@peculiar/asn1-pkcs8@2.6.1': + '@peculiar/asn1-pkcs8@2.7.0': dependencies: - '@peculiar/asn1-schema': 2.6.0 - '@peculiar/asn1-x509': 2.6.1 + '@peculiar/asn1-schema': 2.7.0 + '@peculiar/asn1-x509': 2.7.0 asn1js: 3.0.10 tslib: 2.8.1 - '@peculiar/asn1-pkcs9@2.6.1': + '@peculiar/asn1-pkcs9@2.7.0': dependencies: - '@peculiar/asn1-cms': 2.6.1 - '@peculiar/asn1-pfx': 2.6.1 - '@peculiar/asn1-pkcs8': 2.6.1 - '@peculiar/asn1-schema': 2.6.0 - '@peculiar/asn1-x509': 2.6.1 - '@peculiar/asn1-x509-attr': 2.6.1 + '@peculiar/asn1-cms': 2.7.0 + '@peculiar/asn1-pfx': 2.7.0 + '@peculiar/asn1-pkcs8': 2.7.0 + '@peculiar/asn1-schema': 2.7.0 + '@peculiar/asn1-x509': 2.7.0 + '@peculiar/asn1-x509-attr': 2.7.0 asn1js: 3.0.10 tslib: 2.8.1 - '@peculiar/asn1-rsa@2.6.1': + '@peculiar/asn1-rsa@2.7.0': dependencies: - '@peculiar/asn1-schema': 2.6.0 - '@peculiar/asn1-x509': 2.6.1 + '@peculiar/asn1-schema': 2.7.0 + '@peculiar/asn1-x509': 2.7.0 asn1js: 3.0.10 tslib: 2.8.1 - '@peculiar/asn1-schema@2.6.0': + '@peculiar/asn1-schema@2.7.0': dependencies: + '@peculiar/utils': 2.0.3 asn1js: 3.0.10 - pvtsutils: 1.3.6 tslib: 2.8.1 - '@peculiar/asn1-x509-attr@2.6.1': + '@peculiar/asn1-x509-attr@2.7.0': dependencies: - '@peculiar/asn1-schema': 2.6.0 - '@peculiar/asn1-x509': 2.6.1 + '@peculiar/asn1-schema': 2.7.0 + '@peculiar/asn1-x509': 2.7.0 asn1js: 3.0.10 tslib: 2.8.1 - '@peculiar/asn1-x509@2.6.1': + '@peculiar/asn1-x509@2.7.0': dependencies: - '@peculiar/asn1-schema': 2.6.0 + '@peculiar/asn1-schema': 2.7.0 + '@peculiar/utils': 2.0.3 asn1js: 3.0.10 - pvtsutils: 1.3.6 + tslib: 2.8.1 + + '@peculiar/utils@2.0.3': + dependencies: tslib: 2.8.1 '@peculiar/x509@1.14.3': dependencies: - '@peculiar/asn1-cms': 2.6.1 - '@peculiar/asn1-csr': 2.6.1 - '@peculiar/asn1-ecc': 2.6.1 - '@peculiar/asn1-pkcs9': 2.6.1 - '@peculiar/asn1-rsa': 2.6.1 - '@peculiar/asn1-schema': 2.6.0 - '@peculiar/asn1-x509': 2.6.1 + '@peculiar/asn1-cms': 2.7.0 + '@peculiar/asn1-csr': 2.7.0 + '@peculiar/asn1-ecc': 2.7.0 + '@peculiar/asn1-pkcs9': 2.7.0 + '@peculiar/asn1-rsa': 2.7.0 + '@peculiar/asn1-schema': 2.7.0 + '@peculiar/asn1-x509': 2.7.0 pvtsutils: 1.3.6 reflect-metadata: 0.2.2 tslib: 2.8.1 @@ -16382,7 +16699,7 @@ snapshots: dependencies: '@pnpm/crypto.hash': 1000.2.2 '@pnpm/types': 1001.3.0 - semver: 7.7.4 + semver: 7.8.0 '@pnpm/graceful-fs@1000.1.0': dependencies: @@ -16404,75 +16721,74 @@ snapshots: '@protobufjs/base64@1.1.2': {} - '@protobufjs/codegen@2.0.4': {} + '@protobufjs/codegen@2.0.5': {} '@protobufjs/eventemitter@1.1.0': {} - '@protobufjs/fetch@1.1.0': + '@protobufjs/fetch@1.1.1': dependencies: '@protobufjs/aspromise': 1.1.2 - '@protobufjs/inquire': 1.1.0 '@protobufjs/float@1.0.2': {} - '@protobufjs/inquire@1.1.0': {} + '@protobufjs/inquire@1.1.2': {} '@protobufjs/path@1.1.2': {} '@protobufjs/pool@1.1.0': {} - '@protobufjs/utf8@1.1.0': {} + '@protobufjs/utf8@1.1.1': {} - '@rolldown/binding-android-arm64@1.0.0-rc.16': + '@rolldown/binding-android-arm64@1.0.1': optional: true - '@rolldown/binding-darwin-arm64@1.0.0-rc.16': + '@rolldown/binding-darwin-arm64@1.0.1': optional: true - '@rolldown/binding-darwin-x64@1.0.0-rc.16': + '@rolldown/binding-darwin-x64@1.0.1': optional: true - '@rolldown/binding-freebsd-x64@1.0.0-rc.16': + '@rolldown/binding-freebsd-x64@1.0.1': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.16': + '@rolldown/binding-linux-arm-gnueabihf@1.0.1': optional: true - '@rolldown/binding-linux-arm64-gnu@1.0.0-rc.16': + '@rolldown/binding-linux-arm64-gnu@1.0.1': optional: true - '@rolldown/binding-linux-arm64-musl@1.0.0-rc.16': + '@rolldown/binding-linux-arm64-musl@1.0.1': optional: true - '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.16': + '@rolldown/binding-linux-ppc64-gnu@1.0.1': optional: true - '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.16': + '@rolldown/binding-linux-s390x-gnu@1.0.1': optional: true - '@rolldown/binding-linux-x64-gnu@1.0.0-rc.16': + '@rolldown/binding-linux-x64-gnu@1.0.1': optional: true - '@rolldown/binding-linux-x64-musl@1.0.0-rc.16': + '@rolldown/binding-linux-x64-musl@1.0.1': optional: true - '@rolldown/binding-openharmony-arm64@1.0.0-rc.16': + '@rolldown/binding-openharmony-arm64@1.0.1': optional: true - '@rolldown/binding-wasm32-wasi@1.0.0-rc.16': + '@rolldown/binding-wasm32-wasi@1.0.1': dependencies: - '@emnapi/core': 1.9.2 - '@emnapi/runtime': 1.9.2 - '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.16': + '@rolldown/binding-win32-arm64-msvc@1.0.1': optional: true - '@rolldown/binding-win32-x64-msvc@1.0.0-rc.16': + '@rolldown/binding-win32-x64-msvc@1.0.1': optional: true - '@rolldown/pluginutils@1.0.0-rc.16': {} + '@rolldown/pluginutils@1.0.1': {} '@rollup/plugin-commonjs@29.0.2(rollup@4.60.2)': dependencies: @@ -16486,11 +16802,11 @@ snapshots: optionalDependencies: rollup: 4.60.2 - '@rollup/plugin-json@6.1.0(rollup@4.60.2)': + '@rollup/plugin-json@6.1.0(rollup@4.60.4)': dependencies: - '@rollup/pluginutils': 5.3.0(rollup@4.60.2) + '@rollup/pluginutils': 5.3.0(rollup@4.60.4) optionalDependencies: - rollup: 4.60.2 + rollup: 4.60.4 '@rollup/plugin-node-resolve@16.0.3(rollup@4.60.2)': dependencies: @@ -16504,88 +16820,171 @@ snapshots: '@rollup/pluginutils@5.3.0(rollup@4.60.2)': dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 estree-walker: 2.0.2 picomatch: 4.0.4 optionalDependencies: rollup: 4.60.2 + '@rollup/pluginutils@5.3.0(rollup@4.60.4)': + dependencies: + '@types/estree': 1.0.9 + estree-walker: 2.0.2 + picomatch: 4.0.4 + optionalDependencies: + rollup: 4.60.4 + '@rollup/rollup-android-arm-eabi@4.60.2': optional: true + '@rollup/rollup-android-arm-eabi@4.60.4': + optional: true + '@rollup/rollup-android-arm64@4.60.2': optional: true + '@rollup/rollup-android-arm64@4.60.4': + optional: true + '@rollup/rollup-darwin-arm64@4.60.2': optional: true + '@rollup/rollup-darwin-arm64@4.60.4': + optional: true + '@rollup/rollup-darwin-x64@4.60.2': optional: true + '@rollup/rollup-darwin-x64@4.60.4': + optional: true + '@rollup/rollup-freebsd-arm64@4.60.2': optional: true + '@rollup/rollup-freebsd-arm64@4.60.4': + optional: true + '@rollup/rollup-freebsd-x64@4.60.2': optional: true + '@rollup/rollup-freebsd-x64@4.60.4': + optional: true + '@rollup/rollup-linux-arm-gnueabihf@4.60.2': optional: true + '@rollup/rollup-linux-arm-gnueabihf@4.60.4': + optional: true + '@rollup/rollup-linux-arm-musleabihf@4.60.2': optional: true + '@rollup/rollup-linux-arm-musleabihf@4.60.4': + optional: true + '@rollup/rollup-linux-arm64-gnu@4.60.2': optional: true + '@rollup/rollup-linux-arm64-gnu@4.60.4': + optional: true + '@rollup/rollup-linux-arm64-musl@4.60.2': optional: true + '@rollup/rollup-linux-arm64-musl@4.60.4': + optional: true + '@rollup/rollup-linux-loong64-gnu@4.60.2': optional: true + '@rollup/rollup-linux-loong64-gnu@4.60.4': + optional: true + '@rollup/rollup-linux-loong64-musl@4.60.2': optional: true + '@rollup/rollup-linux-loong64-musl@4.60.4': + optional: true + '@rollup/rollup-linux-ppc64-gnu@4.60.2': optional: true + '@rollup/rollup-linux-ppc64-gnu@4.60.4': + optional: true + '@rollup/rollup-linux-ppc64-musl@4.60.2': optional: true + '@rollup/rollup-linux-ppc64-musl@4.60.4': + optional: true + '@rollup/rollup-linux-riscv64-gnu@4.60.2': optional: true + '@rollup/rollup-linux-riscv64-gnu@4.60.4': + optional: true + '@rollup/rollup-linux-riscv64-musl@4.60.2': optional: true + '@rollup/rollup-linux-riscv64-musl@4.60.4': + optional: true + '@rollup/rollup-linux-s390x-gnu@4.60.2': optional: true + '@rollup/rollup-linux-s390x-gnu@4.60.4': + optional: true + '@rollup/rollup-linux-x64-gnu@4.60.2': optional: true + '@rollup/rollup-linux-x64-gnu@4.60.4': + optional: true + '@rollup/rollup-linux-x64-musl@4.60.2': optional: true + '@rollup/rollup-linux-x64-musl@4.60.4': + optional: true + '@rollup/rollup-openbsd-x64@4.60.2': optional: true + '@rollup/rollup-openbsd-x64@4.60.4': + optional: true + '@rollup/rollup-openharmony-arm64@4.60.2': optional: true + '@rollup/rollup-openharmony-arm64@4.60.4': + optional: true + '@rollup/rollup-win32-arm64-msvc@4.60.2': optional: true + '@rollup/rollup-win32-arm64-msvc@4.60.4': + optional: true + '@rollup/rollup-win32-ia32-msvc@4.60.2': optional: true + '@rollup/rollup-win32-ia32-msvc@4.60.4': + optional: true + '@rollup/rollup-win32-x64-gnu@4.60.2': optional: true + '@rollup/rollup-win32-x64-gnu@4.60.4': + optional: true + '@rollup/rollup-win32-x64-msvc@4.60.2': optional: true - '@rollup/wasm-node@4.60.2': + '@rollup/rollup-win32-x64-msvc@4.60.4': + optional: true + + '@rollup/wasm-node@4.60.4': dependencies: '@types/estree': 1.0.8 optionalDependencies: @@ -16628,9 +17027,9 @@ snapshots: dependencies: '@secretlint/resolver': 10.2.2 '@secretlint/types': 10.2.2 - '@textlint/linter-formatter': 15.5.4 - '@textlint/module-interop': 15.5.4 - '@textlint/types': 15.5.4 + '@textlint/linter-formatter': 15.7.1 + '@textlint/module-interop': 15.7.1 + '@textlint/types': 15.7.1 chalk: 5.6.2 debug: 4.4.3(supports-color@10.2.2) pluralize: 8.0.0 @@ -16764,7 +17163,7 @@ snapshots: dependencies: type-detect: 4.0.8 - '@sinonjs/fake-timers@15.3.2': + '@sinonjs/fake-timers@15.4.0': dependencies: '@sinonjs/commons': 3.0.1 @@ -16779,15 +17178,15 @@ snapshots: '@standard-schema/spec@1.1.0': {} - '@textlint/ast-node-types@15.5.4': {} + '@textlint/ast-node-types@15.7.1': {} - '@textlint/linter-formatter@15.5.4': + '@textlint/linter-formatter@15.7.1': dependencies: '@azu/format-text': 1.0.2 '@azu/style-format': 1.0.1 - '@textlint/module-interop': 15.5.4 - '@textlint/resolver': 15.5.4 - '@textlint/types': 15.5.4 + '@textlint/module-interop': 15.7.1 + '@textlint/resolver': 15.7.1 + '@textlint/types': 15.7.1 chalk: 4.1.2 debug: 4.4.3(supports-color@10.2.2) js-yaml: 4.1.1 @@ -16800,13 +17199,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@textlint/module-interop@15.5.4': {} + '@textlint/module-interop@15.7.1': {} - '@textlint/resolver@15.5.4': {} + '@textlint/resolver@15.7.1': {} - '@textlint/types@15.5.4': + '@textlint/types@15.7.1': dependencies: - '@textlint/ast-node-types': 15.5.4 + '@textlint/ast-node-types': 15.7.1 '@tootallnate/quickjs-emscripten@0.23.0': {} @@ -16825,7 +17224,7 @@ snapshots: '@tufjs/canonical-json': 2.0.0 minimatch: 10.2.5 - '@tybys/wasm-util@0.10.1': + '@tybys/wasm-util@0.10.2': dependencies: tslib: 2.8.1 optional: true @@ -16838,7 +17237,7 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.29.2 + '@babel/parser': 7.29.3 '@babel/types': 7.29.0 '@types/babel__generator': 7.27.0 '@types/babel__template': 7.4.4 @@ -16850,7 +17249,7 @@ snapshots: '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.29.2 + '@babel/parser': 7.29.3 '@babel/types': 7.29.0 '@types/babel__traverse@7.28.0': @@ -16873,7 +17272,7 @@ snapshots: '@types/deep-eql': 4.0.2 assertion-error: 2.0.1 - '@types/chrome@0.1.40': + '@types/chrome@0.1.42': dependencies: '@types/filesystem': 0.0.36 '@types/har-format': 1.2.16 @@ -17031,21 +17430,23 @@ snapshots: '@types/eslint-scope@3.7.7': dependencies: '@types/eslint': 9.6.1 - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 '@types/eslint@9.6.1': dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 '@types/json-schema': 7.0.15 '@types/estree@1.0.8': {} + '@types/estree@1.0.9': {} + '@types/events@3.0.3': {} '@types/express-serve-static-core@4.19.8': dependencies: '@types/node': 24.12.2 - '@types/qs': 6.15.0 + '@types/qs': 6.15.1 '@types/range-parser': 1.2.7 '@types/send': 1.2.1 @@ -17053,7 +17454,7 @@ snapshots: dependencies: '@types/body-parser': 1.19.6 '@types/express-serve-static-core': 4.19.8 - '@types/qs': 6.15.0 + '@types/qs': 6.15.1 '@types/serve-static': 1.15.10 '@types/filesystem@0.0.36': @@ -17121,7 +17522,7 @@ snapshots: '@types/mime@1.3.5': {} - '@types/node@20.19.39': + '@types/node@20.19.41': dependencies: undici-types: 6.21.0 @@ -17129,6 +17530,10 @@ snapshots: dependencies: undici-types: 7.16.0 + '@types/node@24.12.4': + dependencies: + undici-types: 7.16.0 + '@types/normalize-package-data@2.4.4': {} '@types/pumpify@1.4.5': @@ -17138,7 +17543,7 @@ snapshots: '@types/q@0.0.32': {} - '@types/qs@6.15.0': {} + '@types/qs@6.15.1': {} '@types/range-parser@1.2.7': {} @@ -17198,7 +17603,7 @@ snapshots: '@types/unist@3.0.3': {} - '@types/vscode@1.116.0': {} + '@types/vscode@1.120.0': {} '@types/which@3.0.4': {} @@ -17234,7 +17639,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@ungap/structured-clone@1.3.0': {} + '@ungap/structured-clone@1.3.1': {} '@unrs/resolver-binding-android-arm-eabi@1.11.1': optional: true @@ -17300,65 +17705,74 @@ snapshots: d3-selection: 3.0.0 d3-transition: 3.0.1(d3-selection@3.0.0) - '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@20.19.39)(jiti@2.6.1)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4))': + '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))': dependencies: - vite: 7.3.2(@types/node@20.19.39)(jiti@2.6.1)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) - '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@20.19.39)(jiti@2.6.1)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4))': + '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@24.12.2)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))': dependencies: - vite: 7.3.2(@types/node@20.19.39)(jiti@2.6.1)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.3.2(@types/node@24.12.2)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) - '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@24.12.2)(jiti@2.6.1)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4))': + '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@24.12.4)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))': dependencies: - vite: 7.3.2(@types/node@24.12.2)(jiti@2.6.1)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4) + vite: 7.3.2(@types/node@24.12.4)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) - '@vitest/expect@4.1.4': + '@vitest/expect@4.1.6': dependencies: '@standard-schema/spec': 1.1.0 '@types/chai': 5.2.3 - '@vitest/spy': 4.1.4 - '@vitest/utils': 4.1.4 + '@vitest/spy': 4.1.6 + '@vitest/utils': 4.1.6 chai: 6.2.2 tinyrainbow: 3.1.0 - '@vitest/mocker@4.1.4(vite@8.0.9(@types/node@20.19.39)(esbuild@0.28.0)(jiti@2.6.1)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4))': + '@vitest/mocker@4.1.6(vite@8.0.13(@types/node@20.19.41)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))': dependencies: - '@vitest/spy': 4.1.4 + '@vitest/spy': 4.1.6 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 8.0.9(@types/node@20.19.39)(esbuild@0.28.0)(jiti@2.6.1)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.13(@types/node@20.19.41)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) optional: true - '@vitest/mocker@4.1.4(vite@8.0.9(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.6.1)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4))': + '@vitest/mocker@4.1.6(vite@8.0.13(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))': dependencies: - '@vitest/spy': 4.1.4 + '@vitest/spy': 4.1.6 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 8.0.9(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.6.1)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.13(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + optional: true - '@vitest/pretty-format@4.1.4': + '@vitest/mocker@4.1.6(vite@8.0.13(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))': + dependencies: + '@vitest/spy': 4.1.6 + estree-walker: 3.0.3 + magic-string: 0.30.21 + optionalDependencies: + vite: 8.0.13(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + + '@vitest/pretty-format@4.1.6': dependencies: tinyrainbow: 3.1.0 - '@vitest/runner@4.1.4': + '@vitest/runner@4.1.6': dependencies: - '@vitest/utils': 4.1.4 + '@vitest/utils': 4.1.6 pathe: 2.0.3 - '@vitest/snapshot@4.1.4': + '@vitest/snapshot@4.1.6': dependencies: - '@vitest/pretty-format': 4.1.4 - '@vitest/utils': 4.1.4 + '@vitest/pretty-format': 4.1.6 + '@vitest/utils': 4.1.6 magic-string: 0.30.21 pathe: 2.0.3 - '@vitest/spy@4.1.4': {} + '@vitest/spy@4.1.6': {} - '@vitest/utils@4.1.4': + '@vitest/utils@4.1.6': dependencies: - '@vitest/pretty-format': 4.1.4 + '@vitest/pretty-format': 4.1.6 convert-source-map: 2.0.0 tinyrainbow: 3.1.0 @@ -17370,7 +17784,7 @@ snapshots: https-proxy-agent: 7.0.6(supports-color@10.2.2) jszip: 3.10.1 ora: 8.2.0 - semver: 7.7.4 + semver: 7.8.0 transitivePeerDependencies: - supports-color @@ -17437,7 +17851,7 @@ snapshots: parse-semver: 1.1.1 read: 1.0.7 secretlint: 10.2.2 - semver: 7.7.4 + semver: 7.8.0 tmp: 0.2.5 typed-rest-client: 1.8.11 url-join: 4.0.1 @@ -17595,24 +18009,17 @@ snapshots: ajv: 8.20.0 fast-deep-equal: 3.1.3 - ajv@6.14.0: + ajv@6.15.0: dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 json-schema-traverse: 0.4.1 uri-js: 4.4.1 - ajv@8.18.0: - dependencies: - fast-deep-equal: 3.1.3 - fast-uri: 3.1.0 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - ajv@8.20.0: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.1.0 + fast-uri: 3.1.2 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 @@ -17724,7 +18131,7 @@ snapshots: buffer-crc32: 1.0.0 readable-stream: 4.7.0 readdir-glob: 1.1.3 - tar-stream: 3.1.8 + tar-stream: 3.2.0 zip-stream: 6.0.1 transitivePeerDependencies: - bare-abort-controller @@ -17827,7 +18234,7 @@ snapshots: autoprefixer@10.5.0(postcss@8.5.13): dependencies: browserslist: 4.28.2 - caniuse-lite: 1.0.30001788 + caniuse-lite: 1.0.30001793 fraction.js: 5.3.4 picocolors: 1.1.1 postcss: 8.5.13 @@ -17846,7 +18253,7 @@ snapshots: tunnel: 0.0.6 typed-rest-client: 1.8.11 - b4a@1.8.0: {} + b4a@1.8.1: {} babel-jest@30.3.0(@babel/core@7.29.0): dependencies: @@ -17861,12 +18268,12 @@ snapshots: transitivePeerDependencies: - supports-color - babel-loader@10.1.1(@babel/core@7.29.0)(webpack@5.106.2(esbuild@0.28.0)): + babel-loader@10.1.1(@babel/core@7.29.0)(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)): dependencies: '@babel/core': 7.29.0 find-up: 5.0.0 optionalDependencies: - webpack: 5.106.2(esbuild@0.28.0) + webpack: 5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13) babel-plugin-istanbul@7.0.1: dependencies: @@ -17949,35 +18356,35 @@ snapshots: balanced-match@4.0.4: {} - bare-events@2.8.2: {} + bare-events@2.8.3: {} bare-fs@4.7.1: dependencies: - bare-events: 2.8.2 + bare-events: 2.8.3 bare-path: 3.0.0 - bare-stream: 2.13.0(bare-events@2.8.2) - bare-url: 2.4.1 + bare-stream: 2.13.1(bare-events@2.8.3) + bare-url: 2.4.3 fast-fifo: 1.3.2 transitivePeerDependencies: - bare-abort-controller - react-native-b4a - bare-os@3.8.7: {} + bare-os@3.9.1: {} bare-path@3.0.0: dependencies: - bare-os: 3.8.7 + bare-os: 3.9.1 - bare-stream@2.13.0(bare-events@2.8.2): + bare-stream@2.13.1(bare-events@2.8.3): dependencies: streamx: 2.25.0 teex: 1.0.1 optionalDependencies: - bare-events: 2.8.2 + bare-events: 2.8.3 transitivePeerDependencies: - react-native-b4a - bare-url@2.4.1: + bare-url@2.4.3: dependencies: bare-path: 3.0.0 @@ -17985,7 +18392,7 @@ snapshots: base64id@2.0.0: {} - baseline-browser-mapping@2.10.20: {} + baseline-browser-mapping@2.10.30: {} basic-auth-connect@1.1.0: dependencies: @@ -17995,7 +18402,7 @@ snapshots: dependencies: safe-buffer: 5.1.2 - basic-ftp@5.3.0: {} + basic-ftp@5.3.1: {} batch@0.6.1: {} @@ -18053,7 +18460,7 @@ snapshots: bluebird@3.7.2: {} - body-parser@1.20.4: + body-parser@1.20.5: dependencies: bytes: 3.1.2 content-type: 1.0.5 @@ -18063,7 +18470,7 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.4.24 on-finished: 2.4.1 - qs: 6.14.2 + qs: 6.15.2 raw-body: 2.5.3 type-is: 1.6.18 unpipe: 1.0.0 @@ -18078,9 +18485,9 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.7.2 on-finished: 2.4.1 - qs: 6.15.1 + qs: 6.15.2 raw-body: 3.0.2 - type-is: 2.0.1 + type-is: 2.1.0 transitivePeerDependencies: - supports-color @@ -18115,7 +18522,7 @@ snapshots: dependencies: balanced-match: 1.0.2 - brace-expansion@5.0.5: + brace-expansion@5.0.6: dependencies: balanced-match: 4.0.4 @@ -18127,10 +18534,10 @@ snapshots: browserslist@4.28.2: dependencies: - baseline-browser-mapping: 2.10.20 - caniuse-lite: 1.0.30001788 - electron-to-chromium: 1.5.340 - node-releases: 2.0.37 + baseline-browser-mapping: 2.10.30 + caniuse-lite: 1.0.30001793 + electron-to-chromium: 1.5.358 + node-releases: 2.0.44 update-browserslist-db: 1.2.3(browserslist@4.28.2) browserstack@1.6.1: @@ -18180,7 +18587,7 @@ snapshots: '@npmcli/fs': 5.0.0 fs-minipass: 3.0.3 glob: 13.0.6 - lru-cache: 11.3.5 + lru-cache: 11.3.6 minipass: 7.1.3 minipass-collect: 2.0.1 minipass-flush: 1.0.7 @@ -18217,7 +18624,7 @@ snapshots: camelcase@6.3.0: {} - caniuse-lite@1.0.30001788: {} + caniuse-lite@1.0.30001793: {} caseless@0.12.0: {} @@ -18289,19 +18696,6 @@ snapshots: undici: 7.25.0 whatwg-mimetype: 4.0.0 - chevrotain-allstar@0.4.1(chevrotain@12.0.0): - dependencies: - chevrotain: 12.0.0 - lodash-es: 4.18.1 - - chevrotain@12.0.0: - dependencies: - '@chevrotain/cst-dts-gen': 12.0.0 - '@chevrotain/gast': 12.0.0 - '@chevrotain/regexp-to-ast': 12.0.0 - '@chevrotain/types': 12.0.0 - '@chevrotain/utils': 12.0.0 - chokidar@3.6.0: dependencies: anymatch: 3.1.3 @@ -18395,7 +18789,7 @@ snapshots: cli-truncate@5.2.0: dependencies: slice-ansi: 8.0.0 - string-width: 8.2.0 + string-width: 8.2.1 cli-width@4.1.0: {} @@ -18481,8 +18875,6 @@ snapshots: commander@10.0.1: {} - commander@11.1.0: {} - commander@12.1.0: {} commander@14.0.3: {} @@ -18545,8 +18937,6 @@ snapshots: readable-stream: 3.6.2 typedarray: 0.0.6 - confbox@0.1.8: {} - config-chain@1.1.13: dependencies: ini: 1.3.8 @@ -18580,6 +18970,8 @@ snapshots: content-type@1.0.5: {} + content-type@2.0.0: {} + conventional-changelog-angular@8.3.1: dependencies: compare-func: 2.0.0 @@ -18627,7 +19019,7 @@ snapshots: conventional-commits-filter: 5.0.0 handlebars: 4.7.9 meow: 13.2.0 - semver: 7.7.4 + semver: 7.8.0 conventional-changelog@6.0.0(conventional-commits-filter@5.0.0): dependencies: @@ -18685,14 +19077,14 @@ snapshots: each-props: 3.0.0 is-plain-object: 5.0.0 - copy-webpack-plugin@14.0.0(webpack@5.106.2(esbuild@0.28.0)): + copy-webpack-plugin@14.0.0(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)): dependencies: glob-parent: 6.0.2 normalize-path: 3.0.0 schema-utils: 4.3.3 serialize-javascript: 7.0.5 tinyglobby: 0.2.16 - webpack: 5.106.2(esbuild@0.28.0) + webpack: 5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13) core-js-compat@3.49.0: dependencies: @@ -18749,7 +19141,7 @@ snapshots: crypto-random-string@2.0.0: {} - css-loader@7.1.4(webpack@5.106.2(esbuild@0.28.0)): + css-loader@7.1.4(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)): dependencies: icss-utils: 5.1.0(postcss@8.5.13) postcss: 8.5.13 @@ -18758,9 +19150,9 @@ snapshots: postcss-modules-scope: 3.2.1(postcss@8.5.13) postcss-modules-values: 4.0.0(postcss@8.5.13) postcss-value-parser: 4.2.0 - semver: 7.7.4 + semver: 7.8.0 optionalDependencies: - webpack: 5.106.2(esbuild@0.28.0) + webpack: 5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13) css-select@5.2.2: dependencies: @@ -18834,24 +19226,24 @@ snapshots: proxy-from-env: 1.0.0 request-progress: 3.0.0 supports-color: 8.1.1 - systeminformation: 5.31.5 + systeminformation: 5.31.6 tmp: 0.2.5 tree-kill: 1.2.2 tslib: 1.14.1 untildify: 4.0.0 yauzl: 2.10.0 - cytoscape-cose-bilkent@4.1.0(cytoscape@3.33.2): + cytoscape-cose-bilkent@4.1.0(cytoscape@3.33.3): dependencies: cose-base: 1.0.3 - cytoscape: 3.33.2 + cytoscape: 3.33.3 - cytoscape-fcose@2.2.0(cytoscape@3.33.2): + cytoscape-fcose@2.2.0(cytoscape@3.33.3): dependencies: cose-base: 2.2.0 - cytoscape: 3.33.2 + cytoscape: 3.33.3 - cytoscape@3.33.2: {} + cytoscape@3.33.3: {} d3-array@2.12.1: dependencies: @@ -19230,7 +19622,7 @@ snapshots: dependencies: domelementtype: 2.3.0 - dompurify@3.4.0: + dompurify@3.4.3: optionalDependencies: '@types/trusted-types': 2.0.7 @@ -19288,7 +19680,7 @@ snapshots: ejs@5.0.2: {} - electron-to-chromium@1.5.340: {} + electron-to-chromium@1.5.358: {} emittery@0.13.1: {} @@ -19323,7 +19715,7 @@ snapshots: engine.io-parser@5.2.3: {} - engine.io@6.6.6(bufferutil@4.1.0)(utf-8-validate@6.0.6): + engine.io@6.6.7(bufferutil@4.1.0)(utf-8-validate@6.0.6): dependencies: '@types/cors': 2.8.19 '@types/node': 24.12.2 @@ -19340,10 +19732,10 @@ snapshots: - supports-color - utf-8-validate - enhanced-resolve@5.20.1: + enhanced-resolve@5.21.3: dependencies: graceful-fs: 4.2.11 - tapable: 2.3.2 + tapable: 2.3.3 ent@2.2.2: dependencies: @@ -19434,7 +19826,7 @@ snapshots: es-errors@1.3.0: {} - es-module-lexer@2.0.0: {} + es-module-lexer@2.1.0: {} es-object-atoms@1.1.1: dependencies: @@ -19453,6 +19845,8 @@ snapshots: is-date-object: 1.1.0 is-symbol: 1.1.1 + es-toolkit@1.46.1: {} + es6-promise@4.2.8: {} es6-promisify@5.0.0: @@ -19560,7 +19954,7 @@ snapshots: estree-walker@3.0.3: dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 esutils@2.0.3: {} @@ -19580,7 +19974,7 @@ snapshots: events-universal@1.0.1: dependencies: - bare-events: 2.8.2 + bare-events: 2.8.3 transitivePeerDependencies: - bare-abort-controller @@ -19631,7 +20025,7 @@ snapshots: '@apidevtools/json-schema-ref-parser': 9.1.2 ajv: 8.20.0 ajv-formats: 2.1.1(ajv@8.20.0) - body-parser: 1.20.4 + body-parser: 1.20.5 content-type: 1.0.5 deep-freeze: 0.0.1 events-listener: 1.1.0 @@ -19641,9 +20035,9 @@ snapshots: lodash: 4.18.1 openapi3-ts: 3.2.0 promise-breaker: 6.0.0 - qs: 6.15.1 + qs: 6.15.2 raw-body: 2.5.3 - semver: 7.7.4 + semver: 7.8.0 transitivePeerDependencies: - supports-color @@ -19671,16 +20065,16 @@ snapshots: exponential-backoff@3.1.3: {} - express-rate-limit@8.3.2(express@5.2.1): + express-rate-limit@8.5.2(express@5.2.1): dependencies: express: 5.2.1 - ip-address: 10.1.0 + ip-address: 10.2.0 - express@4.22.1: + express@4.22.2: dependencies: accepts: 1.3.8 array-flatten: 1.1.1 - body-parser: 1.20.4 + body-parser: 1.20.5 content-disposition: 0.5.4 content-type: 1.0.5 cookie: 0.7.2 @@ -19699,7 +20093,7 @@ snapshots: parseurl: 1.3.3 path-to-regexp: 0.1.13 proxy-addr: 2.0.7 - qs: 6.14.2 + qs: 6.15.2 range-parser: 1.2.1 safe-buffer: 5.2.1 send: 0.19.2 @@ -19734,13 +20128,13 @@ snapshots: once: 1.4.0 parseurl: 1.3.3 proxy-addr: 2.0.7 - qs: 6.15.1 + qs: 6.15.2 range-parser: 1.2.1 router: 2.2.0 send: 1.2.1 serve-static: 2.2.1 statuses: 2.0.2 - type-is: 2.0.1 + type-is: 2.1.0 vary: 1.1.2 transitivePeerDependencies: - supports-color @@ -19789,7 +20183,7 @@ snapshots: dependencies: fast-string-truncated-width: 3.0.3 - fast-uri@3.1.0: {} + fast-uri@3.1.2: {} fast-wrap-ansi@0.2.0: dependencies: @@ -19903,22 +20297,21 @@ snapshots: object.pick: 1.3.0 parse-filepath: 1.0.2 - firebase-tools@15.15.0(@cfworker/json-schema@4.1.1)(@types/node@20.19.39)(bufferutil@4.1.0)(encoding@0.1.13)(typescript@6.0.3): + firebase-tools@15.18.0(@cfworker/json-schema@4.1.1)(@types/node@20.19.41)(bufferutil@4.1.0)(encoding@0.1.13): dependencies: - '@apphosting/build': 0.1.7(@types/node@20.19.39)(typescript@6.0.3) '@apphosting/common': 0.0.8 '@electric-sql/pglite': 0.3.16 '@electric-sql/pglite-tools': 0.2.21(@electric-sql/pglite@0.3.16) '@google-cloud/cloud-sql-connector': 1.10.0 '@google-cloud/pubsub': 5.3.0 - '@inquirer/prompts': 7.10.1(@types/node@20.19.39) + '@inquirer/prompts': 7.10.1(@types/node@20.19.41) '@modelcontextprotocol/sdk': 1.29.0(@cfworker/json-schema@4.1.1) abort-controller: 3.0.0 - ajv: 8.18.0 + ajv: 8.20.0 ajv-formats: 3.0.1 archiver: 7.0.1 async-lock: 1.4.1 - body-parser: 1.20.4 + body-parser: 1.20.5 chokidar: 3.6.0 cjson: 0.3.3 cli-table3: 0.6.5 @@ -19932,7 +20325,7 @@ snapshots: deep-equal-in-any-order: 2.2.0 exegesis: 4.3.0 exegesis-express: 4.0.0 - express: 4.22.1 + express: 4.22.2 filesize: 6.4.0 form-data: 4.0.5 fs-extra: 10.1.0 @@ -19963,28 +20356,26 @@ snapshots: progress: 2.0.3 proxy-agent: 6.5.0 retry: 0.13.1 - semver: 7.7.4 - sql-formatter: 15.7.3 + semver: 7.8.0 + sql-formatter: 15.8.0 stream-chain: 2.2.5 stream-json: 1.9.1 superstatic: 10.0.0(encoding@0.1.13) - tar: 7.5.13 + tar: 7.5.15 tcp-port-used: 1.0.2 tmp: 0.2.5 triple-beam: 1.4.1 - universal-analytics: 0.5.3 + universal-analytics: 0.5.4 update-notifier-cjs: 5.1.7(encoding@0.1.13) uuid: 8.3.2 winston: 3.19.0 winston-transport: 4.9.0 ws: 7.5.10(bufferutil@4.1.0) - yaml: 2.8.3 + yaml: 2.9.0 zod: 3.25.76 zod-to-json-schema: 3.25.2(zod@3.25.76) transitivePeerDependencies: - '@cfworker/json-schema' - - '@swc/core' - - '@swc/wasm' - '@types/node' - bare-abort-controller - bare-buffer @@ -19993,7 +20384,6 @@ snapshots: - pg-native - react-native-b4a - supports-color - - typescript - utf-8-validate firebase@12.12.1: @@ -20100,7 +20490,7 @@ snapshots: jsonfile: 6.2.1 universalify: 2.0.1 - fs-extra@11.3.4: + fs-extra@11.3.5: dependencies: graceful-fs: 4.2.11 jsonfile: 6.2.1 @@ -20197,7 +20587,7 @@ snapshots: get-caller-file@2.0.5: {} - get-east-asian-width@1.5.0: {} + get-east-asian-width@1.6.0: {} get-intrinsic@1.3.0: dependencies: @@ -20237,7 +20627,7 @@ snapshots: get-uri@6.0.5: dependencies: - basic-ftp: 5.3.0 + basic-ftp: 5.3.1 data-uri-to-buffer: 6.0.2 debug: 4.4.3(supports-color@10.2.2) transitivePeerDependencies: @@ -20411,14 +20801,14 @@ snapshots: google-gax@5.0.6(supports-color@10.2.2): dependencies: '@grpc/grpc-js': 1.14.3 - '@grpc/proto-loader': 0.8.0 + '@grpc/proto-loader': 0.8.1 duplexify: 4.1.3 google-auth-library: 10.6.2(supports-color@10.2.2) google-logging-utils: 1.1.3 node-fetch: 3.3.2 object-hash: 3.0.0 proto3-json-serializer: 3.0.4 - protobufjs: 7.5.5 + protobufjs: 7.5.9 retry-request: 8.0.2(supports-color@10.2.2) rimraf: 5.0.10 transitivePeerDependencies: @@ -20433,7 +20823,7 @@ snapshots: extend: 3.0.2 gaxios: 7.1.4(supports-color@10.2.2) google-auth-library: 10.6.2(supports-color@10.2.2) - qs: 6.15.1 + qs: 6.15.2 url-template: 2.0.8 transitivePeerDependencies: - supports-color @@ -20444,17 +20834,17 @@ snapshots: graceful-fs@4.2.11: {} - graphql-tag@2.12.6(graphql@16.13.2): + graphql-tag@2.12.6(graphql@16.14.0): dependencies: - graphql: 16.13.2 + graphql: 16.14.0 tslib: 2.8.1 - graphql@16.13.2: {} + graphql@16.14.0: {} - grpc-gcp@1.0.1(protobufjs@7.5.5): + grpc-gcp@1.0.1(protobufjs@7.5.9): dependencies: '@grpc/grpc-js': 1.14.3 - protobufjs: 7.5.5 + protobufjs: 7.5.9 gtoken@7.1.0(encoding@0.1.13): dependencies: @@ -20520,7 +20910,7 @@ snapshots: har-validator@5.1.5: dependencies: - ajv: 6.14.0 + ajv: 6.15.0 har-schema: 2.0.0 has-ansi@2.0.0: @@ -20590,7 +20980,7 @@ snapshots: dependencies: parse-passwd: 1.0.0 - hono@4.12.14: {} + hono@4.12.19: {} hosted-git-info@4.1.0: dependencies: @@ -20604,9 +20994,9 @@ snapshots: dependencies: lru-cache: 10.4.3 - hosted-git-info@9.0.2: + hosted-git-info@9.0.3: dependencies: - lru-cache: 11.3.5 + lru-cache: 11.3.6 hpack.js@2.1.6: dependencies: @@ -20807,12 +21197,12 @@ snapshots: pkg-dir: 4.2.0 resolve-cwd: 3.0.0 + import-meta-resolve@4.2.0: {} + imurmurhash@0.1.4: {} index-to-position@1.2.0: {} - infer-owner@1.0.4: {} - inflight@1.0.6: dependencies: once: 1.4.0 @@ -20830,7 +21220,7 @@ snapshots: dependencies: tslib: 2.8.1 - install-artifact-from-github@1.4.0: + install-artifact-from-github@1.6.0: optional: true internal-slot@1.1.0: @@ -20845,13 +21235,13 @@ snapshots: interpret@3.1.1: {} - ip-address@10.1.0: {} + ip-address@10.2.0: {} ip-regex@4.3.0: {} ipaddr.js@1.9.1: {} - ipaddr.js@2.3.0: {} + ipaddr.js@2.4.0: {} is-absolute@1.0.0: dependencies: @@ -20893,7 +21283,7 @@ snapshots: dependencies: ci-info: 2.0.0 - is-core-module@2.16.1: + is-core-module@2.16.2: dependencies: hasown: 2.0.3 @@ -20922,7 +21312,7 @@ snapshots: is-fullwidth-code-point@5.1.0: dependencies: - get-east-asian-width: 1.5.0 + get-east-asian-width: 1.6.0 is-generator-fn@2.1.0: {} @@ -20961,7 +21351,7 @@ snapshots: is-negative-zero@2.0.3: {} - is-network-error@1.3.1: {} + is-network-error@1.3.2: {} is-node-process@1.2.0: {} @@ -21004,7 +21394,7 @@ snapshots: is-reference@1.2.1: dependencies: - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 is-regex@1.2.1: dependencies: @@ -21121,7 +21511,7 @@ snapshots: istanbul-lib-instrument@5.2.1: dependencies: '@babel/core': 7.29.0 - '@babel/parser': 7.29.2 + '@babel/parser': 7.29.3 '@istanbuljs/schema': 0.1.6 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 @@ -21131,10 +21521,10 @@ snapshots: istanbul-lib-instrument@6.0.3: dependencies: '@babel/core': 7.29.0 - '@babel/parser': 7.29.2 + '@babel/parser': 7.29.3 '@istanbuljs/schema': 0.1.6 istanbul-lib-coverage: 3.2.2 - semver: 7.7.4 + semver: 7.8.0 transitivePeerDependencies: - supports-color @@ -21238,15 +21628,15 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@30.3.0(@types/node@24.12.2)(ts-node@10.9.2(@types/node@24.12.2)(typescript@6.0.3)): + jest-cli@30.3.0(@types/node@24.12.4)(ts-node@10.9.2(@types/node@24.12.4)(typescript@6.0.3)): dependencies: - '@jest/core': 30.3.0(ts-node@10.9.2(@types/node@24.12.2)(typescript@6.0.3)) + '@jest/core': 30.3.0(ts-node@10.9.2(@types/node@24.12.4)(typescript@6.0.3)) '@jest/test-result': 30.3.0 '@jest/types': 30.3.0 chalk: 4.1.2 exit-x: 0.2.2 import-local: 3.2.0 - jest-config: 30.3.0(@types/node@24.12.2)(ts-node@10.9.2(@types/node@24.12.2)(typescript@6.0.3)) + jest-config: 30.3.0(@types/node@24.12.4)(ts-node@10.9.2(@types/node@24.12.4)(typescript@6.0.3)) jest-util: 30.3.0 jest-validate: 30.3.0 yargs: 17.7.2 @@ -21257,7 +21647,7 @@ snapshots: - supports-color - ts-node - jest-config@30.3.0(@types/node@24.12.2)(ts-node@10.9.2(@types/node@24.12.2)(typescript@6.0.3)): + jest-config@30.3.0(@types/node@24.12.2)(ts-node@10.9.2(@types/node@24.12.4)(typescript@6.0.3)): dependencies: '@babel/core': 7.29.0 '@jest/get-type': 30.1.0 @@ -21284,7 +21674,39 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 24.12.2 - ts-node: 10.9.2(@types/node@24.12.2)(typescript@6.0.3) + ts-node: 10.9.2(@types/node@24.12.4)(typescript@6.0.3) + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-config@30.3.0(@types/node@24.12.4)(ts-node@10.9.2(@types/node@24.12.4)(typescript@6.0.3)): + dependencies: + '@babel/core': 7.29.0 + '@jest/get-type': 30.1.0 + '@jest/pattern': 30.0.1 + '@jest/test-sequencer': 30.3.0 + '@jest/types': 30.3.0 + babel-jest: 30.3.0(@babel/core@7.29.0) + chalk: 4.1.2 + ci-info: 4.4.0 + deepmerge: 4.3.1 + glob: 10.5.0 + graceful-fs: 4.2.11 + jest-circus: 30.3.0 + jest-docblock: 30.2.0 + jest-environment-node: 30.3.0 + jest-regex-util: 30.0.1 + jest-resolve: 30.3.0 + jest-runner: 30.3.0 + jest-util: 30.3.0 + jest-validate: 30.3.0 + parse-json: 5.2.0 + pretty-format: 30.3.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 24.12.4 + ts-node: 10.9.2(@types/node@24.12.4)(typescript@6.0.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -21472,7 +21894,7 @@ snapshots: jest-message-util: 30.3.0 jest-util: 30.3.0 pretty-format: 30.3.0 - semver: 7.7.4 + semver: 7.8.0 synckit: 0.11.12 transitivePeerDependencies: - supports-color @@ -21515,17 +21937,17 @@ snapshots: jest-worker@30.3.0: dependencies: '@types/node': 24.12.2 - '@ungap/structured-clone': 1.3.0 + '@ungap/structured-clone': 1.3.1 jest-util: 30.3.0 merge-stream: 2.0.0 supports-color: 8.1.1 - jest@30.3.0(@types/node@24.12.2)(ts-node@10.9.2(@types/node@24.12.2)(typescript@6.0.3)): + jest@30.3.0(@types/node@24.12.4)(ts-node@10.9.2(@types/node@24.12.4)(typescript@6.0.3)): dependencies: - '@jest/core': 30.3.0(ts-node@10.9.2(@types/node@24.12.2)(typescript@6.0.3)) + '@jest/core': 30.3.0(ts-node@10.9.2(@types/node@24.12.4)(typescript@6.0.3)) '@jest/types': 30.3.0 import-local: 3.2.0 - jest-cli: 30.3.0(@types/node@24.12.2)(ts-node@10.9.2(@types/node@24.12.2)(typescript@6.0.3)) + jest-cli: 30.3.0(@types/node@24.12.4)(ts-node@10.9.2(@types/node@24.12.4)(typescript@6.0.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -21535,7 +21957,7 @@ snapshots: jiti@1.21.7: {} - jiti@2.6.1: {} + jiti@2.7.0: {} jju@1.4.0: {} @@ -21545,7 +21967,7 @@ snapshots: url-join: 0.0.1 valid-url: 1.0.9 - jose@6.2.2: {} + jose@6.2.3: {} js-tokens@4.0.0: {} @@ -21580,52 +22002,26 @@ snapshots: whatwg-encoding: 3.1.1 whatwg-mimetype: 4.0.0 whatwg-url: 14.2.0 - ws: 8.20.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) + ws: 8.20.1(bufferutil@4.1.0)(utf-8-validate@6.0.6) xml-name-validator: 5.0.0 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - jsdom@29.0.2: - dependencies: - '@asamuzakjp/css-color': 5.1.11 - '@asamuzakjp/dom-selector': 7.1.1 - '@bramus/specificity': 2.4.2 - '@csstools/css-syntax-patches-for-csstree': 1.1.3(css-tree@3.2.1) - '@exodus/bytes': 1.15.0 - css-tree: 3.2.1 - data-urls: 7.0.0 - decimal.js: 10.6.0 - html-encoding-sniffer: 6.0.0 - is-potential-custom-element-name: 1.0.1 - lru-cache: 11.3.5 - parse5: 8.0.1 - saxes: 6.0.0 - symbol-tree: 3.2.4 - tough-cookie: 6.0.1 - undici: 7.25.0 - w3c-xmlserializer: 5.0.0 - webidl-conversions: 8.0.1 - whatwg-mimetype: 5.0.0 - whatwg-url: 16.0.1 - xml-name-validator: 5.0.0 - transitivePeerDependencies: - - '@noble/hashes' - jsdom@29.1.1: dependencies: '@asamuzakjp/css-color': 5.1.11 '@asamuzakjp/dom-selector': 7.1.1 '@bramus/specificity': 2.4.2 - '@csstools/css-syntax-patches-for-csstree': 1.1.3(css-tree@3.2.1) + '@csstools/css-syntax-patches-for-csstree': 1.1.4(css-tree@3.2.1) '@exodus/bytes': 1.15.0 css-tree: 3.2.1 data-urls: 7.0.0 decimal.js: 10.6.0 html-encoding-sniffer: 6.0.0 is-potential-custom-element-name: 1.0.1 - lru-cache: 11.3.5 + lru-cache: 11.3.6 parse5: 8.0.1 saxes: 6.0.0 symbol-tree: 3.2.4 @@ -21694,7 +22090,7 @@ snapshots: lodash.isstring: 4.0.1 lodash.once: 4.1.1 ms: 2.1.3 - semver: 7.7.4 + semver: 7.8.0 jsprim@1.4.2: dependencies: @@ -21770,7 +22166,7 @@ snapshots: karma@6.4.4(bufferutil@4.1.0)(utf-8-validate@6.0.6): dependencies: '@colors/colors': 1.5.0 - body-parser: 1.20.4 + body-parser: 1.20.5 braces: 3.0.3 chokidar: 3.6.0 connect: 3.7.0 @@ -21799,7 +22195,7 @@ snapshots: - supports-color - utf-8-validate - katex@0.16.45: + katex@0.16.47: dependencies: commander: 8.3.0 @@ -21815,15 +22211,6 @@ snapshots: kuler@2.0.0: {} - langium@4.2.2: - dependencies: - '@chevrotain/regexp-to-ast': 12.0.0 - chevrotain: 12.0.0 - chevrotain-allstar: 0.4.1(chevrotain@12.0.0) - vscode-languageserver: 9.0.1 - vscode-languageserver-textdocument: 1.0.12 - vscode-uri: 3.1.0 - last-run@2.0.0: {} launch-editor@2.13.2: @@ -21841,11 +22228,11 @@ snapshots: lead@4.0.0: {} - less-loader@12.3.2(less@4.6.4)(webpack@5.106.2(esbuild@0.28.0)): + less-loader@12.3.2(less@4.6.4)(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)): dependencies: less: 4.6.4 optionalDependencies: - webpack: 5.106.2(esbuild@0.28.0) + webpack: 5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13) less@4.6.4: dependencies: @@ -21868,11 +22255,11 @@ snapshots: libsodium@0.7.16: {} - license-webpack-plugin@4.0.2(webpack@5.106.2(esbuild@0.28.0)): + license-webpack-plugin@4.0.2(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)): dependencies: - webpack-sources: 3.3.4 + webpack-sources: 3.4.1 optionalDependencies: - webpack: 5.106.2(esbuild@0.28.0) + webpack: 5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13) lie@3.3.0: dependencies: @@ -21965,7 +22352,7 @@ snapshots: lmdb@3.5.4: dependencies: '@harperfast/extended-iterable': 1.0.3 - msgpackr: 1.11.10 + msgpackr: 1.11.12 node-addon-api: 6.1.0 node-gyp-build-optional-packages: 5.2.2 ordered-binary: 1.6.1 @@ -21980,7 +22367,7 @@ snapshots: '@lmdb/lmdb-win32-x64': 3.5.4 optional: true - loader-runner@4.3.1: {} + loader-runner@4.3.2: {} loader-utils@2.0.4: dependencies: @@ -22076,7 +22463,7 @@ snapshots: lru-cache@10.4.3: {} - lru-cache@11.3.5: {} + lru-cache@11.3.6: {} lru-cache@2.5.0: {} @@ -22107,7 +22494,7 @@ snapshots: make-dir@4.0.0: dependencies: - semver: 7.7.4 + semver: 7.8.0 make-error@1.3.6: {} @@ -22158,17 +22545,17 @@ snapshots: marked@16.4.2: {} - marked@18.0.0: {} - marked@18.0.2: {} + marked@18.0.3: {} + math-intrinsics@1.1.0: {} mdast-util-to-hast@13.2.1: dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 - '@ungap/structured-clone': 1.3.0 + '@ungap/structured-clone': 1.3.1 devlop: 1.1.0 micromark-util-sanitize-uri: 2.0.1 trim-lines: 3.0.1 @@ -22219,26 +22606,50 @@ snapshots: mermaid@11.14.0: dependencies: '@braintree/sanitize-url': 7.1.2 - '@iconify/utils': 3.1.0 - '@mermaid-js/parser': 1.1.0 + '@iconify/utils': 3.1.3 + '@mermaid-js/parser': 1.1.1 '@types/d3': 7.4.3 '@upsetjs/venn.js': 2.0.0 - cytoscape: 3.33.2 - cytoscape-cose-bilkent: 4.1.0(cytoscape@3.33.2) - cytoscape-fcose: 2.2.0(cytoscape@3.33.2) + cytoscape: 3.33.3 + cytoscape-cose-bilkent: 4.1.0(cytoscape@3.33.3) + cytoscape-fcose: 2.2.0(cytoscape@3.33.3) d3: 7.9.0 d3-sankey: 0.12.3 dagre-d3-es: 7.0.14 dayjs: 1.11.20 - dompurify: 3.4.0 - katex: 0.16.45 + dompurify: 3.4.3 + katex: 0.16.47 khroma: 2.1.0 lodash-es: 4.18.1 marked: 16.4.2 roughjs: 4.6.6 stylis: 4.4.0 ts-dedent: 2.2.0 - uuid: 11.1.0 + uuid: 11.1.1 + + mermaid@11.15.0: + dependencies: + '@braintree/sanitize-url': 7.1.2 + '@iconify/utils': 3.1.3 + '@mermaid-js/parser': 1.1.1 + '@types/d3': 7.4.3 + '@upsetjs/venn.js': 2.0.0 + cytoscape: 3.33.3 + cytoscape-cose-bilkent: 4.1.0(cytoscape@3.33.3) + cytoscape-fcose: 2.2.0(cytoscape@3.33.3) + d3: 7.9.0 + d3-sankey: 0.12.3 + dagre-d3-es: 7.0.14 + dayjs: 1.11.20 + dompurify: 3.4.3 + es-toolkit: 1.46.1 + katex: 0.16.47 + khroma: 2.1.0 + marked: 16.4.2 + roughjs: 4.6.6 + stylis: 4.4.0 + ts-dedent: 2.2.0 + uuid: 14.0.0 methods@1.1.2: {} @@ -22287,17 +22698,17 @@ snapshots: mimic-response@3.1.0: optional: true - mini-css-extract-plugin@2.10.2(webpack@5.106.2(esbuild@0.28.0)): + mini-css-extract-plugin@2.10.2(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)): dependencies: schema-utils: 4.3.3 - tapable: 2.3.2 - webpack: 5.106.2(esbuild@0.28.0) + tapable: 2.3.3 + webpack: 5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13) minimalistic-assert@1.0.1: {} minimatch@10.2.5: dependencies: - brace-expansion: 5.0.5 + brace-expansion: 5.0.6 minimatch@3.1.5: dependencies: @@ -22364,13 +22775,6 @@ snapshots: mkdirp@1.0.4: {} - mlly@1.8.2: - dependencies: - acorn: 8.16.0 - pathe: 2.0.3 - pkg-types: 1.3.1 - ufo: 1.6.3 - mocha@11.7.5: dependencies: browser-stdout: 1.3.1 @@ -22432,7 +22836,7 @@ snapshots: '@msgpackr-extract/msgpackr-extract-win32-x64': 3.0.3 optional: true - msgpackr@1.11.10: + msgpackr@1.11.12: optionalDependencies: msgpackr-extract: 3.0.3 optional: true @@ -22462,10 +22866,10 @@ snapshots: object-assign: 4.1.1 thenify-all: 1.6.0 - nan@2.26.2: + nan@2.27.0: optional: true - nanoid@3.3.11: {} + nanoid@3.3.12: {} napi-build-utils@2.0.0: optional: true @@ -22497,12 +22901,12 @@ snapshots: netmask@2.1.1: {} - ng-packagr@22.0.0-next.4(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.8.4))(tslib@2.8.1)(typescript@6.0.3): + ng-packagr@22.0.0-next.4(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.9.0))(tslib@2.8.1)(typescript@6.0.3): dependencies: '@ampproject/remapping': 2.3.0 '@angular/compiler-cli': link:packages/compiler-cli - '@rollup/plugin-json': 6.1.0(rollup@4.60.2) - '@rollup/wasm-node': 4.60.2 + '@rollup/plugin-json': 6.1.0(rollup@4.60.4) + '@rollup/wasm-node': 4.60.4 ajv: 8.20.0 browserslist: 4.28.2 chokidar: 5.0.0 @@ -22516,15 +22920,15 @@ snapshots: ora: 9.4.0 piscina: 5.1.4 postcss: 8.5.13 - rollup-plugin-dts: 6.4.1(rollup@4.60.2)(typescript@6.0.3) + rollup-plugin-dts: 6.4.1(rollup@4.60.4)(typescript@6.0.3) rxjs: 7.8.2 sass: 1.99.0 tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 optionalDependencies: - rollup: 4.60.2 - tailwindcss: 3.4.19(tsx@4.21.0)(yaml@2.8.4) + rollup: 4.60.4 + tailwindcss: 3.4.19(tsx@4.21.0)(yaml@2.9.0) ngx-flamegraph@0.1.1(@angular/common@packages+common)(@angular/core@packages+core): dependencies: @@ -22542,13 +22946,13 @@ snapshots: nock@14.0.14: dependencies: - '@mswjs/interceptors': 0.41.4 + '@mswjs/interceptors': 0.41.9 json-stringify-safe: 5.0.1 propagate: 2.0.1 - node-abi@3.89.0: + node-abi@3.92.0: dependencies: - semver: 7.7.4 + semver: 7.8.0 optional: true node-addon-api@4.3.0: @@ -22588,29 +22992,27 @@ snapshots: node-gyp-build@4.8.4: {} - node-gyp@12.2.0: + node-gyp@12.3.0: dependencies: env-paths: 2.2.1 exponential-backoff: 3.1.3 graceful-fs: 4.2.11 - make-fetch-happen: 15.0.5 nopt: 9.0.0 proc-log: 6.1.0 - semver: 7.7.4 - tar: 7.5.13 + semver: 7.8.0 + tar: 7.5.15 tinyglobby: 0.2.16 + undici: 6.25.0 which: 6.0.1 - transitivePeerDependencies: - - supports-color node-int64@0.4.0: {} - node-releases@2.0.37: {} + node-releases@2.0.44: {} node-sarif-builder@3.4.0: dependencies: '@types/sarif': 2.1.7 - fs-extra: 11.3.4 + fs-extra: 11.3.5 nopt@9.0.0: dependencies: @@ -22619,13 +23021,13 @@ snapshots: normalize-package-data@6.0.2: dependencies: hosted-git-info: 7.0.2 - semver: 7.7.4 + semver: 7.8.0 validate-npm-package-license: 3.0.4 normalize-package-data@7.0.1: dependencies: hosted-git-info: 8.1.0 - semver: 7.7.4 + semver: 7.8.0 validate-npm-package-license: 3.0.4 normalize-path@2.1.1: @@ -22642,30 +23044,17 @@ snapshots: dependencies: npm-normalize-package-bin: 5.0.0 - npm-install-checks@6.3.0: - dependencies: - semver: 7.7.4 - npm-install-checks@8.0.0: dependencies: - semver: 7.7.4 - - npm-normalize-package-bin@3.0.1: {} + semver: 7.8.0 npm-normalize-package-bin@5.0.0: {} - npm-package-arg@11.0.3: - dependencies: - hosted-git-info: 7.0.2 - proc-log: 4.2.0 - semver: 7.7.4 - validate-npm-package-name: 5.0.1 - npm-package-arg@13.0.2: dependencies: - hosted-git-info: 9.0.2 + hosted-git-info: 9.0.3 proc-log: 6.1.0 - semver: 7.7.4 + semver: 7.8.0 validate-npm-package-name: 7.0.2 npm-packlist@10.0.4: @@ -22678,14 +23067,7 @@ snapshots: npm-install-checks: 8.0.0 npm-normalize-package-bin: 5.0.0 npm-package-arg: 13.0.2 - semver: 7.7.4 - - npm-pick-manifest@9.1.0: - dependencies: - npm-install-checks: 6.3.0 - npm-normalize-package-bin: 3.0.1 - npm-package-arg: 11.0.3 - semver: 7.7.4 + semver: 7.8.0 npm-registry-fetch@19.1.1: dependencies: @@ -22802,7 +23184,7 @@ snapshots: openapi3-ts@3.2.0: dependencies: - yaml: 2.8.4 + yaml: 2.9.0 opener@1.5.2: {} @@ -22839,7 +23221,7 @@ snapshots: is-unicode-supported: 2.1.0 log-symbols: 7.0.1 stdin-discarder: 0.3.2 - string-width: 8.2.0 + string-width: 8.2.1 ordered-binary@1.6.1: optional: true @@ -22891,7 +23273,7 @@ snapshots: p-retry@6.2.1: dependencies: '@types/retry': 0.12.2 - is-network-error: 1.3.1 + is-network-error: 1.3.2 retry: 0.13.1 p-throttle@7.0.0: {} @@ -22942,7 +23324,7 @@ snapshots: proc-log: 6.1.0 sigstore: 4.1.0 ssri: 13.0.1 - tar: 7.5.13 + tar: 7.5.15 transitivePeerDependencies: - supports-color @@ -23043,7 +23425,7 @@ snapshots: path-scurry@2.0.2: dependencies: - lru-cache: 11.3.5 + lru-cache: 11.3.6 minipass: 7.1.3 path-to-regexp@0.1.13: {} @@ -23133,12 +23515,6 @@ snapshots: dependencies: find-up-simple: 1.0.1 - pkg-types@1.3.1: - dependencies: - confbox: 0.1.8 - mlly: 1.8.2 - pathe: 2.0.3 - pkijs@3.4.0: dependencies: '@noble/hashes': 1.4.0 @@ -23186,23 +23562,23 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.5.13 - postcss-load-config@6.0.1(jiti@1.21.7)(postcss@8.5.13)(tsx@4.21.0)(yaml@2.8.4): + postcss-load-config@6.0.1(jiti@1.21.7)(postcss@8.5.13)(tsx@4.21.0)(yaml@2.9.0): dependencies: lilconfig: 3.1.3 optionalDependencies: jiti: 1.21.7 postcss: 8.5.13 tsx: 4.21.0 - yaml: 2.8.4 + yaml: 2.9.0 - postcss-loader@8.2.1(postcss@8.5.13)(typescript@6.0.3)(webpack@5.106.2(esbuild@0.28.0)): + postcss-loader@8.2.1(postcss@8.5.13)(typescript@6.0.3)(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)): dependencies: cosmiconfig: 9.0.1(typescript@6.0.3) - jiti: 2.6.1 + jiti: 2.7.0 postcss: 8.5.13 - semver: 7.7.4 + semver: 7.8.0 optionalDependencies: - webpack: 5.106.2(esbuild@0.28.0) + webpack: 5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13) transitivePeerDependencies: - typescript @@ -23252,7 +23628,13 @@ snapshots: postcss@8.5.13: dependencies: - nanoid: 3.3.11 + nanoid: 3.3.12 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + postcss@8.5.14: + dependencies: + nanoid: 3.3.12 picocolors: 1.1.1 source-map-js: 1.2.1 @@ -23282,7 +23664,7 @@ snapshots: minimist: 1.2.8 mkdirp-classic: 0.5.3 napi-build-utils: 2.0.0 - node-abi: 3.89.0 + node-abi: 3.92.0 pump: 3.0.4 rc: 1.2.8 simple-get: 4.0.1 @@ -23300,8 +23682,6 @@ snapshots: ansi-styles: 5.2.0 react-is: 18.3.1 - proc-log@4.2.0: {} - proc-log@6.1.0: {} process-nextick-args@2.0.1: {} @@ -23320,20 +23700,20 @@ snapshots: proto3-json-serializer@3.0.4: dependencies: - protobufjs: 7.5.5 + protobufjs: 7.5.9 - protobufjs@7.5.5: + protobufjs@7.5.9: dependencies: '@protobufjs/aspromise': 1.1.2 '@protobufjs/base64': 1.1.2 - '@protobufjs/codegen': 2.0.4 + '@protobufjs/codegen': 2.0.5 '@protobufjs/eventemitter': 1.1.0 - '@protobufjs/fetch': 1.1.0 + '@protobufjs/fetch': 1.1.1 '@protobufjs/float': 1.0.2 - '@protobufjs/inquire': 1.1.0 + '@protobufjs/inquire': 1.1.2 '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 - '@protobufjs/utf8': 1.1.0 + '@protobufjs/utf8': 1.1.1 '@types/node': 24.12.2 long: 5.3.2 @@ -23428,7 +23808,7 @@ snapshots: dependencies: side-channel: 1.1.0 - qs@6.15.1: + qs@6.15.2: dependencies: side-channel: 1.1.0 @@ -23479,13 +23859,11 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 - re2@1.24.0: + re2@1.24.1: dependencies: - install-artifact-from-github: 1.4.0 - nan: 2.26.2 - node-gyp: 12.2.0 - transitivePeerDependencies: - - supports-color + install-artifact-from-github: 1.6.0 + nan: 2.27.0 + node-gyp: 12.3.0 optional: true react-is@18.3.1: {} @@ -23686,7 +24064,7 @@ snapshots: resolve@1.22.12: dependencies: es-errors: 1.3.0 - is-core-module: 2.16.1 + is-core-module: 2.16.2 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -23729,26 +24107,26 @@ snapshots: robust-predicates@3.0.3: {} - rolldown@1.0.0-rc.16: + rolldown@1.0.1: dependencies: - '@oxc-project/types': 0.126.0 - '@rolldown/pluginutils': 1.0.0-rc.16 + '@oxc-project/types': 0.130.0 + '@rolldown/pluginutils': 1.0.1 optionalDependencies: - '@rolldown/binding-android-arm64': 1.0.0-rc.16 - '@rolldown/binding-darwin-arm64': 1.0.0-rc.16 - '@rolldown/binding-darwin-x64': 1.0.0-rc.16 - '@rolldown/binding-freebsd-x64': 1.0.0-rc.16 - '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-rc.16 - '@rolldown/binding-linux-arm64-gnu': 1.0.0-rc.16 - '@rolldown/binding-linux-arm64-musl': 1.0.0-rc.16 - '@rolldown/binding-linux-ppc64-gnu': 1.0.0-rc.16 - '@rolldown/binding-linux-s390x-gnu': 1.0.0-rc.16 - '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.16 - '@rolldown/binding-linux-x64-musl': 1.0.0-rc.16 - '@rolldown/binding-openharmony-arm64': 1.0.0-rc.16 - '@rolldown/binding-wasm32-wasi': 1.0.0-rc.16 - '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.16 - '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.16 + '@rolldown/binding-android-arm64': 1.0.1 + '@rolldown/binding-darwin-arm64': 1.0.1 + '@rolldown/binding-darwin-x64': 1.0.1 + '@rolldown/binding-freebsd-x64': 1.0.1 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.1 + '@rolldown/binding-linux-arm64-gnu': 1.0.1 + '@rolldown/binding-linux-arm64-musl': 1.0.1 + '@rolldown/binding-linux-ppc64-gnu': 1.0.1 + '@rolldown/binding-linux-s390x-gnu': 1.0.1 + '@rolldown/binding-linux-x64-gnu': 1.0.1 + '@rolldown/binding-linux-x64-musl': 1.0.1 + '@rolldown/binding-openharmony-arm64': 1.0.1 + '@rolldown/binding-wasm32-wasi': 1.0.1 + '@rolldown/binding-win32-arm64-msvc': 1.0.1 + '@rolldown/binding-win32-x64-msvc': 1.0.1 rollup-plugin-dts@6.4.1(rollup@4.60.2)(typescript@6.0.3): dependencies: @@ -23761,12 +24139,23 @@ snapshots: optionalDependencies: '@babel/code-frame': 7.29.0 - rollup-plugin-sourcemaps2@0.5.6(@types/node@20.19.39)(rollup@4.60.2): + rollup-plugin-dts@6.4.1(rollup@4.60.4)(typescript@6.0.3): + dependencies: + '@jridgewell/remapping': 2.3.5 + '@jridgewell/sourcemap-codec': 1.5.5 + convert-source-map: 2.0.0 + magic-string: 0.30.21 + rollup: 4.60.4 + typescript: 6.0.3 + optionalDependencies: + '@babel/code-frame': 7.29.0 + + rollup-plugin-sourcemaps2@0.5.7(@types/node@20.19.41)(rollup@4.60.2): dependencies: '@rollup/pluginutils': 5.3.0(rollup@4.60.2) rollup: 4.60.2 optionalDependencies: - '@types/node': 20.19.39 + '@types/node': 20.19.41 rollup@4.60.2: dependencies: @@ -23799,6 +24188,37 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.60.2 fsevents: 2.3.3 + rollup@4.60.4: + dependencies: + '@types/estree': 1.0.8 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.60.4 + '@rollup/rollup-android-arm64': 4.60.4 + '@rollup/rollup-darwin-arm64': 4.60.4 + '@rollup/rollup-darwin-x64': 4.60.4 + '@rollup/rollup-freebsd-arm64': 4.60.4 + '@rollup/rollup-freebsd-x64': 4.60.4 + '@rollup/rollup-linux-arm-gnueabihf': 4.60.4 + '@rollup/rollup-linux-arm-musleabihf': 4.60.4 + '@rollup/rollup-linux-arm64-gnu': 4.60.4 + '@rollup/rollup-linux-arm64-musl': 4.60.4 + '@rollup/rollup-linux-loong64-gnu': 4.60.4 + '@rollup/rollup-linux-loong64-musl': 4.60.4 + '@rollup/rollup-linux-ppc64-gnu': 4.60.4 + '@rollup/rollup-linux-ppc64-musl': 4.60.4 + '@rollup/rollup-linux-riscv64-gnu': 4.60.4 + '@rollup/rollup-linux-riscv64-musl': 4.60.4 + '@rollup/rollup-linux-s390x-gnu': 4.60.4 + '@rollup/rollup-linux-x64-gnu': 4.60.4 + '@rollup/rollup-linux-x64-musl': 4.60.4 + '@rollup/rollup-openbsd-x64': 4.60.4 + '@rollup/rollup-openharmony-arm64': 4.60.4 + '@rollup/rollup-win32-arm64-msvc': 4.60.4 + '@rollup/rollup-win32-ia32-msvc': 4.60.4 + '@rollup/rollup-win32-x64-gnu': 4.60.4 + '@rollup/rollup-win32-x64-msvc': 4.60.4 + fsevents: 2.3.3 + roughjs@4.6.6: dependencies: hachure-fill: 0.5.2 @@ -23857,12 +24277,12 @@ snapshots: safer-buffer@2.1.2: {} - sass-loader@16.0.7(sass@1.99.0)(webpack@5.106.2(esbuild@0.28.0)): + sass-loader@16.0.7(sass@1.99.0)(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)): dependencies: neo-async: 2.6.2 optionalDependencies: sass: 1.99.0 - webpack: 5.106.2(esbuild@0.28.0) + webpack: 5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13) sass@1.99.0: dependencies: @@ -23940,6 +24360,8 @@ snapshots: semver@7.7.4: {} + semver@7.8.0: {} + send@0.19.2: dependencies: debug: 2.6.9 @@ -24133,7 +24555,7 @@ snapshots: sleep@6.1.0: dependencies: - nan: 2.26.2 + nan: 2.27.0 optional: true slice-ansi@4.0.0: @@ -24176,7 +24598,7 @@ snapshots: base64id: 2.0.0 cors: 2.8.6 debug: 4.4.3(supports-color@10.2.2) - engine.io: 6.6.6(bufferutil@4.1.0)(utf-8-validate@6.0.6) + engine.io: 6.6.7(bufferutil@4.1.0)(utf-8-validate@6.0.6) socket.io-adapter: 2.5.6(bufferutil@4.1.0)(utf-8-validate@6.0.6) socket.io-parser: 4.2.6 transitivePeerDependencies: @@ -24194,24 +24616,24 @@ snapshots: dependencies: agent-base: 7.1.4 debug: 4.4.3(supports-color@10.2.2) - socks: 2.8.7 + socks: 2.8.9 transitivePeerDependencies: - supports-color - socks@2.8.7: + socks@2.8.9: dependencies: - ip-address: 10.1.0 + ip-address: 10.2.0 smart-buffer: 4.2.0 sort-any@4.0.7: {} source-map-js@1.2.1: {} - source-map-loader@5.0.0(webpack@5.106.2(esbuild@0.28.0)): + source-map-loader@5.0.0(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)): dependencies: iconv-lite: 0.6.3 source-map-js: 1.2.1 - webpack: 5.106.2(esbuild@0.28.0) + webpack: 5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13) source-map-support@0.4.18: dependencies: @@ -24290,7 +24712,7 @@ snapshots: sprintf-js@1.0.3: {} - sql-formatter@15.7.3: + sql-formatter@15.8.0: dependencies: argparse: 2.0.1 nearley: 2.20.1 @@ -24398,12 +24820,12 @@ snapshots: string-width@7.2.0: dependencies: emoji-regex: 10.6.0 - get-east-asian-width: 1.5.0 + get-east-asian-width: 1.6.0 strip-ansi: 7.2.0 - string-width@8.2.0: + string-width@8.2.1: dependencies: - get-east-asian-width: 1.5.0 + get-east-asian-width: 1.6.0 strip-ansi: 7.2.0 string.prototype.trim@1.2.10: @@ -24502,7 +24924,7 @@ snapshots: router: 2.2.0 update-notifier-cjs: 5.1.7(encoding@0.1.13) optionalDependencies: - re2: 1.24.0 + re2: 1.24.1 transitivePeerDependencies: - encoding - supports-color @@ -24540,7 +24962,7 @@ snapshots: dependencies: '@pkgr/core': 0.2.9 - systeminformation@5.31.5: {} + systeminformation@5.31.6: {} systemjs@6.15.1: {} @@ -24552,7 +24974,7 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 - tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.8.4): + tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.9.0): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -24571,7 +24993,7 @@ snapshots: postcss: 8.5.13 postcss-import: 15.1.0(postcss@8.5.13) postcss-js: 4.1.0(postcss@8.5.13) - postcss-load-config: 6.0.1(jiti@1.21.7)(postcss@8.5.13)(tsx@4.21.0)(yaml@2.8.4) + postcss-load-config: 6.0.1(jiti@1.21.7)(postcss@8.5.13)(tsx@4.21.0)(yaml@2.9.0) postcss-nested: 6.2.0(postcss@8.5.13) postcss-selector-parser: 6.1.2 resolve: 1.22.12 @@ -24580,7 +25002,7 @@ snapshots: - tsx - yaml - tapable@2.3.2: {} + tapable@2.3.3: {} tar-fs@2.1.4: dependencies: @@ -24599,9 +25021,9 @@ snapshots: readable-stream: 3.6.2 optional: true - tar-stream@3.1.8: + tar-stream@3.2.0: dependencies: - b4a: 1.8.0 + b4a: 1.8.1 bare-fs: 4.7.1 fast-fifo: 1.3.2 streamx: 2.25.0 @@ -24610,7 +25032,7 @@ snapshots: - bare-buffer - react-native-b4a - tar@7.5.13: + tar@7.5.15: dependencies: '@isaacs/fs-minipass': 4.0.1 chownr: 3.0.0 @@ -24646,15 +25068,17 @@ snapshots: ansi-escapes: 7.3.0 supports-hyperlinks: 3.2.0 - terser-webpack-plugin@5.4.0(esbuild@0.28.0)(webpack@5.106.2(esbuild@0.28.0)): + terser-webpack-plugin@5.6.0(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)): dependencies: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 - terser: 5.47.1 - webpack: 5.106.2(esbuild@0.28.0) + terser: 5.46.2 + webpack: 5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13) optionalDependencies: esbuild: 0.28.0 + lightningcss: 1.32.0 + postcss: 8.5.13 terser@5.46.2: dependencies: @@ -24663,13 +25087,6 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 - terser@5.47.1: - dependencies: - '@jridgewell/source-map': 0.3.11 - acorn: 8.16.0 - commander: 2.20.3 - source-map-support: 0.5.21 - test-exclude@6.0.0: dependencies: '@istanbuljs/schema': 0.1.6 @@ -24678,7 +25095,7 @@ snapshots: text-decoder@1.2.7: dependencies: - b4a: 1.8.0 + b4a: 1.8.1 transitivePeerDependencies: - react-native-b4a @@ -24717,7 +25134,7 @@ snapshots: tinybench@2.9.0: {} - tinyexec@1.1.1: {} + tinyexec@1.1.2: {} tinyglobby@0.2.16: dependencies: @@ -24728,15 +25145,15 @@ snapshots: tldts-core@6.1.86: {} - tldts-core@7.0.28: {} + tldts-core@7.0.30: {} tldts@6.1.86: dependencies: tldts-core: 6.1.86 - tldts@7.0.28: + tldts@7.0.30: dependencies: - tldts-core: 7.0.28 + tldts-core: 7.0.30 tmp@0.0.30: dependencies: @@ -24757,7 +25174,7 @@ snapshots: - bare-abort-controller - react-native-b4a - toad-cache@3.7.0: {} + toad-cache@3.7.1: {} todomvc-app-css@2.4.3: {} @@ -24776,7 +25193,7 @@ snapshots: tough-cookie@6.0.1: dependencies: - tldts: 7.0.28 + tldts: 7.0.30 toxic@1.0.1: dependencies: @@ -24814,14 +25231,14 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-node@10.9.2(@types/node@20.19.39)(typescript@6.0.3): + ts-node@10.9.2(@types/node@20.19.41)(typescript@6.0.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.12 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.19.39 + '@types/node': 20.19.41 acorn: 8.16.0 acorn-walk: 8.3.5 arg: 4.1.3 @@ -24832,14 +25249,14 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - ts-node@10.9.2(@types/node@24.12.2)(typescript@6.0.3): + ts-node@10.9.2(@types/node@24.12.4)(typescript@6.0.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.12 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 24.12.2 + '@types/node': 24.12.4 acorn: 8.16.0 acorn-walk: 8.3.5 arg: 4.1.3 @@ -24933,9 +25350,9 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 - type-is@2.0.1: + type-is@2.1.0: dependencies: - content-type: 1.0.5 + content-type: 2.0.0 media-typer: 1.1.0 mime-types: 3.0.2 @@ -24978,7 +25395,7 @@ snapshots: typed-rest-client@1.8.11: dependencies: - qs: 6.15.1 + qs: 6.15.2 tunnel: 0.0.6 underscore: 1.13.8 @@ -25005,8 +25422,6 @@ snapshots: uc.micro@2.1.0: {} - ufo@1.6.3: {} - uglify-js@3.19.3: optional: true @@ -25061,7 +25476,7 @@ snapshots: union@0.5.0: dependencies: - qs: 6.15.1 + qs: 6.15.2 unique-string@2.0.0: dependencies: @@ -25090,10 +25505,10 @@ snapshots: unist-util-is: 6.0.1 unist-util-visit-parents: 6.0.2 - universal-analytics@0.5.3: + universal-analytics@0.5.4: dependencies: debug: 4.4.3(supports-color@10.2.2) - uuid: 8.3.2 + uuid: 14.0.0 transitivePeerDependencies: - supports-color @@ -25154,7 +25569,7 @@ snapshots: pupa: 2.1.1 registry-auth-token: 5.1.1 registry-url: 5.1.0 - semver: 7.7.4 + semver: 7.8.0 semver-diff: 3.1.1 xdg-basedir: 4.0.0 transitivePeerDependencies: @@ -25178,7 +25593,9 @@ snapshots: utils-merge@1.0.1: {} - uuid@11.1.0: {} + uuid@11.1.1: {} + + uuid@14.0.0: {} uuid@3.4.0: {} @@ -25203,8 +25620,6 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - validate-npm-package-name@5.0.1: {} - validate-npm-package-name@7.0.2: {} value-or-function@4.0.0: {} @@ -25279,7 +25694,7 @@ snapshots: - bare-abort-controller - react-native-b4a - vite@7.3.2(@types/node@20.19.39)(jiti@2.6.1)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.8.4): + vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) @@ -25288,17 +25703,17 @@ snapshots: rollup: 4.60.2 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 20.19.39 + '@types/node': 20.19.41 fsevents: 2.3.3 - jiti: 2.6.1 + jiti: 2.7.0 less: 4.6.4 lightningcss: 1.32.0 sass: 1.99.0 terser: 5.46.2 tsx: 4.21.0 - yaml: 2.8.4 + yaml: 2.9.0 - vite@7.3.2(@types/node@20.19.39)(jiti@2.6.1)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4): + vite@7.3.2(@types/node@24.12.2)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) @@ -25307,17 +25722,17 @@ snapshots: rollup: 4.60.2 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 20.19.39 + '@types/node': 24.12.2 fsevents: 2.3.3 - jiti: 2.6.1 + jiti: 2.7.0 less: 4.6.4 lightningcss: 1.32.0 sass: 1.99.0 - terser: 5.47.1 + terser: 5.46.2 tsx: 4.21.0 - yaml: 2.8.4 + yaml: 2.9.0 - vite@7.3.2(@types/node@24.12.2)(jiti@2.6.1)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4): + vite@7.3.2(@types/node@24.12.4)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) @@ -25326,63 +25741,82 @@ snapshots: rollup: 4.60.2 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 24.12.2 + '@types/node': 24.12.4 fsevents: 2.3.3 - jiti: 2.6.1 + jiti: 2.7.0 less: 4.6.4 lightningcss: 1.32.0 sass: 1.99.0 - terser: 5.47.1 + terser: 5.46.2 tsx: 4.21.0 - yaml: 2.8.4 + yaml: 2.9.0 - vite@8.0.9(@types/node@20.19.39)(esbuild@0.28.0)(jiti@2.6.1)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4): + vite@8.0.13(@types/node@20.19.41)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0): dependencies: lightningcss: 1.32.0 picomatch: 4.0.4 - postcss: 8.5.13 - rolldown: 1.0.0-rc.16 + postcss: 8.5.14 + rolldown: 1.0.1 tinyglobby: 0.2.16 optionalDependencies: - '@types/node': 20.19.39 + '@types/node': 20.19.41 esbuild: 0.28.0 fsevents: 2.3.3 - jiti: 2.6.1 + jiti: 2.7.0 less: 4.6.4 sass: 1.99.0 - terser: 5.47.1 + terser: 5.46.2 tsx: 4.21.0 - yaml: 2.8.4 + yaml: 2.9.0 optional: true - vite@8.0.9(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.6.1)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4): + vite@8.0.13(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0): dependencies: lightningcss: 1.32.0 picomatch: 4.0.4 - postcss: 8.5.13 - rolldown: 1.0.0-rc.16 + postcss: 8.5.14 + rolldown: 1.0.1 tinyglobby: 0.2.16 optionalDependencies: '@types/node': 24.12.2 esbuild: 0.28.0 fsevents: 2.3.3 - jiti: 2.6.1 + jiti: 2.7.0 less: 4.6.4 sass: 1.99.0 - terser: 5.47.1 + terser: 5.46.2 tsx: 4.21.0 - yaml: 2.8.4 + yaml: 2.9.0 + optional: true - vitest@4.1.4(@opentelemetry/api@1.9.1)(@types/node@20.19.39)(esbuild@0.28.0)(jiti@2.6.1)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4): + vite@8.0.13(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0): dependencies: - '@vitest/expect': 4.1.4 - '@vitest/mocker': 4.1.4(vite@8.0.9(@types/node@20.19.39)(esbuild@0.28.0)(jiti@2.6.1)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4)) - '@vitest/pretty-format': 4.1.4 - '@vitest/runner': 4.1.4 - '@vitest/snapshot': 4.1.4 - '@vitest/spy': 4.1.4 - '@vitest/utils': 4.1.4 - es-module-lexer: 2.0.0 + lightningcss: 1.32.0 + picomatch: 4.0.4 + postcss: 8.5.14 + rolldown: 1.0.1 + tinyglobby: 0.2.16 + optionalDependencies: + '@types/node': 24.12.4 + esbuild: 0.28.0 + fsevents: 2.3.3 + jiti: 2.7.0 + less: 4.6.4 + sass: 1.99.0 + terser: 5.46.2 + tsx: 4.21.0 + yaml: 2.9.0 + + vitest@4.1.6(@opentelemetry/api@1.9.1)(@types/node@20.19.41)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0): + dependencies: + '@vitest/expect': 4.1.6 + '@vitest/mocker': 4.1.6(vite@8.0.13(@types/node@20.19.41)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + '@vitest/pretty-format': 4.1.6 + '@vitest/runner': 4.1.6 + '@vitest/snapshot': 4.1.6 + '@vitest/spy': 4.1.6 + '@vitest/utils': 4.1.6 + es-module-lexer: 2.1.0 expect-type: 1.3.0 magic-string: 0.30.21 obug: 2.1.1 @@ -25390,14 +25824,14 @@ snapshots: picomatch: 4.0.4 std-env: 4.1.0 tinybench: 2.9.0 - tinyexec: 1.1.1 + tinyexec: 1.1.2 tinyglobby: 0.2.16 tinyrainbow: 3.1.0 - vite: 8.0.9(@types/node@20.19.39)(esbuild@0.28.0)(jiti@2.6.1)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.13(@types/node@20.19.41)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) why-is-node-running: 2.3.0 optionalDependencies: '@opentelemetry/api': 1.9.1 - '@types/node': 20.19.39 + '@types/node': 20.19.41 jsdom: 29.1.1 transitivePeerDependencies: - '@vitejs/devtools' @@ -25414,16 +25848,16 @@ snapshots: - yaml optional: true - vitest@4.1.4(@opentelemetry/api@1.9.1)(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.6.1)(jsdom@29.0.2)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4): + vitest@4.1.6(@opentelemetry/api@1.9.1)(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0): dependencies: - '@vitest/expect': 4.1.4 - '@vitest/mocker': 4.1.4(vite@8.0.9(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.6.1)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4)) - '@vitest/pretty-format': 4.1.4 - '@vitest/runner': 4.1.4 - '@vitest/snapshot': 4.1.4 - '@vitest/spy': 4.1.4 - '@vitest/utils': 4.1.4 - es-module-lexer: 2.0.0 + '@vitest/expect': 4.1.6 + '@vitest/mocker': 4.1.6(vite@8.0.13(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + '@vitest/pretty-format': 4.1.6 + '@vitest/runner': 4.1.6 + '@vitest/snapshot': 4.1.6 + '@vitest/spy': 4.1.6 + '@vitest/utils': 4.1.6 + es-module-lexer: 2.1.0 expect-type: 1.3.0 magic-string: 0.30.21 obug: 2.1.1 @@ -25431,15 +25865,15 @@ snapshots: picomatch: 4.0.4 std-env: 4.1.0 tinybench: 2.9.0 - tinyexec: 1.1.1 + tinyexec: 1.1.2 tinyglobby: 0.2.16 tinyrainbow: 3.1.0 - vite: 8.0.9(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.6.1)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.13(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) why-is-node-running: 2.3.0 optionalDependencies: '@opentelemetry/api': 1.9.1 '@types/node': 24.12.2 - jsdom: 29.0.2 + jsdom: 29.1.1 transitivePeerDependencies: - '@vitejs/devtools' - esbuild @@ -25453,17 +25887,18 @@ snapshots: - terser - tsx - yaml + optional: true - vitest@4.1.4(@opentelemetry/api@1.9.1)(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.6.1)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4): + vitest@4.1.6(@opentelemetry/api@1.9.1)(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0): dependencies: - '@vitest/expect': 4.1.4 - '@vitest/mocker': 4.1.4(vite@8.0.9(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.6.1)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4)) - '@vitest/pretty-format': 4.1.4 - '@vitest/runner': 4.1.4 - '@vitest/snapshot': 4.1.4 - '@vitest/spy': 4.1.4 - '@vitest/utils': 4.1.4 - es-module-lexer: 2.0.0 + '@vitest/expect': 4.1.6 + '@vitest/mocker': 4.1.6(vite@8.0.13(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + '@vitest/pretty-format': 4.1.6 + '@vitest/runner': 4.1.6 + '@vitest/snapshot': 4.1.6 + '@vitest/spy': 4.1.6 + '@vitest/utils': 4.1.6 + es-module-lexer: 2.1.0 expect-type: 1.3.0 magic-string: 0.30.21 obug: 2.1.1 @@ -25471,14 +25906,14 @@ snapshots: picomatch: 4.0.4 std-env: 4.1.0 tinybench: 2.9.0 - tinyexec: 1.1.1 + tinyexec: 1.1.2 tinyglobby: 0.2.16 tinyrainbow: 3.1.0 - vite: 8.0.9(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.6.1)(less@4.6.4)(sass@1.99.0)(terser@5.47.1)(tsx@4.21.0)(yaml@2.8.4) + vite: 8.0.13(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) why-is-node-running: 2.3.0 optionalDependencies: '@opentelemetry/api': 1.9.1 - '@types/node': 24.12.2 + '@types/node': 24.12.4 jsdom: 29.1.1 transitivePeerDependencies: - '@vitejs/devtools' @@ -25515,7 +25950,7 @@ snapshots: vscode-languageclient@9.0.1: dependencies: minimatch: 5.1.9 - semver: 7.7.4 + semver: 7.8.0 vscode-languageserver-protocol: 3.17.5 vscode-languageserver-protocol@3.17.5: @@ -25604,7 +26039,7 @@ snapshots: webidl-conversions@8.0.1: {} - webpack-dev-middleware@7.4.5(tslib@2.8.1)(webpack@5.106.2(esbuild@0.28.0)): + webpack-dev-middleware@7.4.5(tslib@2.8.1)(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)): dependencies: colorette: 2.0.20 memfs: 4.57.2(tslib@2.8.1) @@ -25613,11 +26048,11 @@ snapshots: range-parser: 1.2.1 schema-utils: 4.3.3 optionalDependencies: - webpack: 5.106.2(esbuild@0.28.0) + webpack: 5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13) transitivePeerDependencies: - tslib - webpack-dev-middleware@8.0.3(tslib@2.8.1)(webpack@5.106.2(esbuild@0.28.0)): + webpack-dev-middleware@8.0.3(tslib@2.8.1)(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)): dependencies: memfs: 4.57.2(tslib@2.8.1) mime-types: 3.0.2 @@ -25625,11 +26060,11 @@ snapshots: range-parser: 1.2.1 schema-utils: 4.3.3 optionalDependencies: - webpack: 5.106.2(esbuild@0.28.0) + webpack: 5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13) transitivePeerDependencies: - tslib - webpack-dev-server@5.2.3(bufferutil@4.1.0)(tslib@2.8.1)(webpack@5.106.2(esbuild@0.28.0)): + webpack-dev-server@5.2.3(bufferutil@4.1.0)(tslib@2.8.1)(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -25645,10 +26080,10 @@ snapshots: colorette: 2.0.20 compression: 1.8.1 connect-history-api-fallback: 2.0.0 - express: 4.22.1 + express: 4.22.2 graceful-fs: 4.2.11 http-proxy-middleware: 2.0.9(@types/express@4.17.25) - ipaddr.js: 2.3.0 + ipaddr.js: 2.4.0 launch-editor: 2.13.2 open: 10.2.0 p-retry: 6.2.1 @@ -25657,10 +26092,10 @@ snapshots: serve-index: 1.9.2 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.5(tslib@2.8.1)(webpack@5.106.2(esbuild@0.28.0)) - ws: 8.20.0(bufferutil@4.1.0)(utf-8-validate@6.0.6) + webpack-dev-middleware: 7.4.5(tslib@2.8.1)(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)) + ws: 8.20.1(bufferutil@4.1.0)(utf-8-validate@6.0.6) optionalDependencies: - webpack: 5.106.2(esbuild@0.28.0) + webpack: 5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13) transitivePeerDependencies: - bufferutil - debug @@ -25674,17 +26109,17 @@ snapshots: flat: 5.0.2 wildcard: 2.0.1 - webpack-sources@3.3.4: {} + webpack-sources@3.4.1: {} - webpack-subresource-integrity@5.1.0(webpack@5.106.2(esbuild@0.28.0)): + webpack-subresource-integrity@5.1.0(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)): dependencies: typed-assert: 1.0.9 - webpack: 5.106.2(esbuild@0.28.0) + webpack: 5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13) - webpack@5.106.2(esbuild@0.28.0): + webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13): dependencies: '@types/eslint-scope': 3.7.7 - '@types/estree': 1.0.8 + '@types/estree': 1.0.9 '@types/json-schema': 7.0.15 '@webassemblyjs/ast': 1.14.1 '@webassemblyjs/wasm-edit': 1.14.1 @@ -25693,23 +26128,32 @@ snapshots: acorn-import-phases: 1.0.4(acorn@8.16.0) browserslist: 4.28.2 chrome-trace-event: 1.0.4 - enhanced-resolve: 5.20.1 - es-module-lexer: 2.0.0 + enhanced-resolve: 5.21.3 + es-module-lexer: 2.1.0 eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 - loader-runner: 4.3.1 + loader-runner: 4.3.2 mime-db: 1.54.0 neo-async: 2.6.2 schema-utils: 4.3.3 - tapable: 2.3.2 - terser-webpack-plugin: 5.4.0(esbuild@0.28.0)(webpack@5.106.2(esbuild@0.28.0)) + tapable: 2.3.3 + terser-webpack-plugin: 5.6.0(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)) watchpack: 2.5.1 - webpack-sources: 3.3.4 + webpack-sources: 3.4.1 transitivePeerDependencies: + - '@minify-html/node' - '@swc/core' + - '@swc/css' + - '@swc/html' + - clean-css + - cssnano + - csso - esbuild + - html-minifier-terser + - lightningcss + - postcss - uglify-js websocket-driver@0.7.4: @@ -25857,7 +26301,7 @@ snapshots: wrap-ansi@10.0.0: dependencies: ansi-styles: 6.2.3 - string-width: 8.2.0 + string-width: 8.2.1 strip-ansi: 7.2.0 wrap-ansi@6.2.0: @@ -25907,7 +26351,7 @@ snapshots: bufferutil: 4.1.0 utf-8-validate: 6.0.6 - ws@8.20.0(bufferutil@4.1.0)(utf-8-validate@6.0.6): + ws@8.20.1(bufferutil@4.1.0)(utf-8-validate@6.0.6): optionalDependencies: bufferutil: 4.1.0 utf-8-validate: 6.0.6 @@ -25959,10 +26403,10 @@ snapshots: yallist@5.0.0: {} - yaml@2.8.3: {} - yaml@2.8.4: {} + yaml@2.9.0: {} + yargs-parser@18.1.3: dependencies: camelcase: 5.3.1 @@ -26062,12 +26506,12 @@ snapshots: zod@3.25.76: {} - zod@4.3.6: {} - zod@4.4.2: {} zod@4.4.3: {} zone.js@0.16.1: {} + zone.js@0.16.2: {} + zwitch@2.0.4: {} From 0e1ec0c3e3d27b298684fc424f78abd24bff89fa Mon Sep 17 00:00:00 2001 From: aparziale Date: Tue, 19 May 2026 14:19:40 +0200 Subject: [PATCH 094/317] docs: update HTTP testing setup guidance Update testing documentation clarify HttpClient testing providers Fixed #68792 (cherry picked from commit 8ebc900067262d83b3671036beec885583561c73) --- adev/src/content/guide/http/testing.md | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/adev/src/content/guide/http/testing.md b/adev/src/content/guide/http/testing.md index f97056ae5b42..902ab08bad82 100644 --- a/adev/src/content/guide/http/testing.md +++ b/adev/src/content/guide/http/testing.md @@ -8,15 +8,12 @@ Finally, tests can verify that the app made no unexpected requests. ## Setup for testing -To begin testing usage of `HttpClient`, configure `TestBed` and include `provideHttpClient()` and `provideHttpClientTesting()` in your test's setup. This configures `HttpClient` to use a test backend instead of the real network. It also provides `HttpTestingController`, which you'll use to interact with the test backend, set expectations about which requests have been made, and flush responses to those requests. `HttpTestingController` can be injected from `TestBed` once configured. - -IMPORTANT: Keep in mind to provide `provideHttpClient()` **before** `provideHttpClientTesting()`, as `provideHttpClientTesting()` will overwrite parts of `provideHttpClient()`. Doing it the other way around can potentially break your tests. +To begin testing usage of `HttpClient`, configure `TestBed` and include `provideHttpClientTesting()` in your test's setup. `HttpClient` is provided by Angular's test environment, and `provideHttpClientTesting()` configures it to use a test backend instead of the real network. It also provides `HttpTestingController`, which you'll use to interact with the test backend, set expectations about which requests have been made, and flush responses to those requests. `HttpTestingController` can be injected from `TestBed` once configured. ```ts TestBed.configureTestingModule({ providers: [ // ... other test providers - provideHttpClient(), provideHttpClientTesting(), ], }); @@ -26,13 +23,24 @@ const httpTesting = TestBed.inject(HttpTestingController); Now when your tests make requests, they will hit the testing backend instead of the normal one. You can use `httpTesting` to make assertions about those requests. +### Configuring `HttpClient` in tests + +If a test needs to configure `HttpClient` features, such as interceptors, include `provideHttpClient(...)` before `provideHttpClientTesting()`. +IMPORTANT: Keep in mind to provide `provideHttpClient()` **before** `provideHttpClientTesting()`, as `provideHttpClientTesting()` will overwrite parts of `provideHttpClient()`. Doing it the other way around can potentially break your tests. + +```ts +TestBed.configureTestingModule({ + providers: [provideHttpClient(withInterceptors([authInterceptor])), provideHttpClientTesting()], +}); +``` + ## Expecting and answering requests For example, you can write a test that expects a GET request to occur and provides a mock response: ```ts TestBed.configureTestingModule({ - providers: [ConfigService, provideHttpClient(), provideHttpClientTesting()], + providers: [ConfigService, provideHttpClientTesting()], }); const httpTesting = TestBed.inject(HttpTestingController); From 1f71ebd788af52be8d9c2ff645719390773aa107 Mon Sep 17 00:00:00 2001 From: tmpln Date: Wed, 6 May 2026 11:58:47 +0000 Subject: [PATCH 095/317] fix(core): visit ICU expressions in signal migration schematics Before this fix ICU expressions were not migrated. (cherry picked from commit 048817dfa7722fdc400d240f6e09cbbcbd68933c) --- .../template_reference_visitor.ts | 12 ++++++++++++ .../test/golden-test/template_icu.ts | 16 ++++++++++++++++ .../signal-migration/test/golden.txt | 18 ++++++++++++++++++ .../test/golden_best_effort.txt | 18 ++++++++++++++++++ 4 files changed, 64 insertions(+) create mode 100644 packages/core/schematics/migrations/signal-migration/test/golden-test/template_icu.ts diff --git a/packages/core/schematics/migrations/signal-migration/src/passes/reference_resolution/template_reference_visitor.ts b/packages/core/schematics/migrations/signal-migration/src/passes/reference_resolution/template_reference_visitor.ts index e33e71658ba9..87314cf3a0f2 100644 --- a/packages/core/schematics/migrations/signal-migration/src/passes/reference_resolution/template_reference_visitor.ts +++ b/packages/core/schematics/migrations/signal-migration/src/passes/reference_resolution/template_reference_visitor.ts @@ -25,6 +25,7 @@ import { TmplAstBoundText, TmplAstDeferredBlock, TmplAstForLoopBlock, + TmplAstIcu, TmplAstIfBlockBranch, TmplAstLetDeclaration, TmplAstNode, @@ -232,6 +233,17 @@ export class TemplateReferenceVisitor< override visitLetDeclaration(decl: TmplAstLetDeclaration): void { this.checkExpressionForReferencedFields(decl, decl.value); } + + override visitIcu(icu: TmplAstIcu): void { + for (const v of Object.values(icu.vars)) { + this.checkExpressionForReferencedFields(icu, v.value); + } + for (const p of Object.values(icu.placeholders)) { + if (p instanceof TmplAstBoundText) { + this.checkExpressionForReferencedFields(icu, p.value); + } + } + } } /** diff --git a/packages/core/schematics/migrations/signal-migration/test/golden-test/template_icu.ts b/packages/core/schematics/migrations/signal-migration/test/golden-test/template_icu.ts new file mode 100644 index 000000000000..2b089aa62324 --- /dev/null +++ b/packages/core/schematics/migrations/signal-migration/test/golden-test/template_icu.ts @@ -0,0 +1,16 @@ +// tslint:disable + +import {Component, Input} from '@angular/core'; + +@Component({ + template: ` + {foo, plural, + =0 {{bar, plural, =0 {zero} other {zero, bar is {{ bar }}}}} + other {foo is {{ foo }}} + } + `, +}) +export class MyComp { + @Input() foo = 0; + @Input() bar = 0; +} diff --git a/packages/core/schematics/migrations/signal-migration/test/golden.txt b/packages/core/schematics/migrations/signal-migration/test/golden.txt index aae75a001094..4c94eeb8b312 100644 --- a/packages/core/schematics/migrations/signal-migration/test/golden.txt +++ b/packages/core/schematics/migrations/signal-migration/test/golden.txt @@ -1212,6 +1212,24 @@ import {Component, input} from '@angular/core'; export class WithConcatTemplate { readonly bla = input(true); } +@@@@@@ template_icu.ts @@@@@@ + +// tslint:disable + +import {Component, input} from '@angular/core'; + +@Component({ + template: ` + {foo(), plural, + =0 {{bar(), plural, =0 {zero} other {zero, bar is {{ bar() }}}}} + other {foo is {{ foo() }}} + } + `, +}) +export class MyComp { + readonly foo = input(0); + readonly bar = input(0); +} @@@@@@ template_ng_if.ts @@@@@@ // tslint:disable diff --git a/packages/core/schematics/migrations/signal-migration/test/golden_best_effort.txt b/packages/core/schematics/migrations/signal-migration/test/golden_best_effort.txt index aff417ca873b..c2e683b87395 100644 --- a/packages/core/schematics/migrations/signal-migration/test/golden_best_effort.txt +++ b/packages/core/schematics/migrations/signal-migration/test/golden_best_effort.txt @@ -1175,6 +1175,24 @@ import {Component, input} from '@angular/core'; export class WithConcatTemplate { readonly bla = input(true); } +@@@@@@ template_icu.ts @@@@@@ + +// tslint:disable + +import {Component, input} from '@angular/core'; + +@Component({ + template: ` + {foo(), plural, + =0 {{bar(), plural, =0 {zero} other {zero, bar is {{ bar() }}}}} + other {foo is {{ foo() }}} + } + `, +}) +export class MyComp { + readonly foo = input(0); + readonly bar = input(0); +} @@@@@@ template_ng_if.ts @@@@@@ // tslint:disable From bfe6f6c2a5570cd669afa3dd8b1cd9e2d91e393a Mon Sep 17 00:00:00 2001 From: leonsenft Date: Tue, 19 May 2026 14:42:13 -0700 Subject: [PATCH 096/317] fix(core): synchronize core sanitization schema with compiler https://github.com/angular/angular/pull/68689 recently updated the compiler schema which should be kept in sync with the core schema. Fix applied by running `pnpm bazel run //packages/core:dom_security_schema`. --- packages/core/src/sanitization/dom_security_schema.ts | 6 ------ 1 file changed, 6 deletions(-) diff --git a/packages/core/src/sanitization/dom_security_schema.ts b/packages/core/src/sanitization/dom_security_schema.ts index 179752e79f79..12a674b7021f 100644 --- a/packages/core/src/sanitization/dom_security_schema.ts +++ b/packages/core/src/sanitization/dom_security_schema.ts @@ -115,12 +115,6 @@ export function SECURITY_SCHEMA(): {[k: string]: SecurityContext} { ['object', ['codebase', 'data']], ]); - // The below are for Script SVG - // See: https://developer.mozilla.org/en-US/docs/Web/API/SVGScriptElement/href - registerContext(SecurityContext.RESOURCE_URL, SVG_NAMESPACE, [ - ['script', ['src', 'href', 'xlink:href']], - ]); - // Keep this in sync with SECURITY_SENSITIVE_ELEMENTS in packages/core/src/sanitization/sanitization.ts // The `unknown` elements refer to cases when we need to validate the input/binding in a directive (host bindings) // and the directive can be applied to multiple different elements (with different tag names). In this case we generate From 5993c47a86376f28eabe1a503cd22d71de8aee70 Mon Sep 17 00:00:00 2001 From: leonsenft Date: Tue, 19 May 2026 17:37:47 -0700 Subject: [PATCH 097/317] test(core): remove obsolete SVG script sanitization translation test Removes the `should throw error on translated SVG script ResourceURL attributes` integration test from `security_integration_spec.ts`. This test is now obsolete because SVG ` - - `; - TestBed.overrideComponent(SecuredComponent, {set: {template}}); - - expect(() => TestBed.createComponent(SecuredComponent)).toThrowError( - /unsafe value used in a resource URL context/i, - ); - }); - it('should throw error on SVG animation retargeting attributes', () => { const template = ` From b0237cd472c85168940be73f7c139ced0fafe275 Mon Sep 17 00:00:00 2001 From: arturovt Date: Wed, 20 May 2026 13:07:51 -0700 Subject: [PATCH 098/317] docs: clarify viewProviders visibility with projected content MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The providers vs. viewProviders section explained what happens but not why — specifically, why projected content can still access a parent component's viewProviders. Added an explanation that DI follows where content was declared, not where it's rendered, so projecting a component into a child's ng-content cuts off the child's viewProviders but leaves the declaring component's viewProviders reachable. Closes #49202 (cherry picked from commit 03161dc11431f4375fe168f7c0693ff83877d2d2) --- .../guide/di/hierarchical-dependency-injection.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/adev/src/content/guide/di/hierarchical-dependency-injection.md b/adev/src/content/guide/di/hierarchical-dependency-injection.md index 99c72caa83c9..8d0d43546ca4 100644 --- a/adev/src/content/guide/di/hierarchical-dependency-injection.md +++ b/adev/src/content/guide/di/hierarchical-dependency-injection.md @@ -628,7 +628,7 @@ It doesn't need to continue searching the `ElementInjector` tree, nor does it ne ### `providers` vs. `viewProviders` The `viewProviders` field is conceptually similar to `providers`, but there is one notable difference. -Configured providers in `viewProviders` are not visible to projected content that ends up as a logical children of the component. +Providers in `viewProviders` are only visible inside the component's own view — content projected into the component via `` cannot see them. To see the difference between using `providers` and `viewProviders`, add another component to the example and call it `Inspector`. `Inspector` will be a child of the `Child`. @@ -699,6 +699,11 @@ These four bindings demonstrate the difference between `providers` and `viewProv Remember that the dog emoji 🐶 is declared inside the `<#VIEW>` of `Child` and isn't visible to the projected content. Instead, the projected content sees the whale 🐳. +You might wonder why the projected `` can still see 🐳 from `App`'s `viewProviders`. +The reason is that Angular DI tracks **where a component was declared**, not where it ends up being rendered. +`` lives in `App`'s template — inside `App`'s `<#VIEW>` — so `App`'s `viewProviders` are fair game. +Projecting it into `Child` cuts off access to `Child`'s `viewProviders` (🐶), but `App`'s providers (🐳) are still reachable up the tree. + However, in the next output section though, the `Inspector` is an actual child component of `Child`, `Inspector` is inside the `<#VIEW>`, so when it asks for the `AnimalService`, it sees the dog 🐶. The `AnimalService` in the logical tree would look like this: @@ -735,8 +740,10 @@ The `AnimalService` in the logical tree would look like this: ``` -The projected content of `` sees the whale 🐳, not the dog 🐶, because the dog 🐶 is inside the `` `<#VIEW>`. -The `` can only see the dog 🐶 if it is also within the `<#VIEW>`. +The projected `` gets 🐳 because 🐶 belongs to `Child`'s view and projected content can't reach it. +🐳 is accessible because `` was declared in `App`'s template, so it can still walk up to `App`'s `viewProviders`. + +The `` that lives directly inside `Child`'s template (not projected) gets 🐶 — it's inside the `<#VIEW>`, so no boundary to cross. ### Visibility of provided tokens From 378b365af4ba06b1e014b6cfda7af37ca2132717 Mon Sep 17 00:00:00 2001 From: Alan Agius <17563226+alan-agius4@users.noreply.github.com> Date: Wed, 20 May 2026 09:31:04 +0000 Subject: [PATCH 099/317] docs: update supported Angular versions table to reflect v19 end-of-life status (cherry picked from commit b70515cada28203f598c45d0a2431968148e4595) --- adev/src/content/reference/releases.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/adev/src/content/reference/releases.md b/adev/src/content/reference/releases.md index d879edb835fc..c07b09d76b92 100644 --- a/adev/src/content/reference/releases.md +++ b/adev/src/content/reference/releases.md @@ -97,9 +97,8 @@ The following table provides the status for Angular versions under support. | :------ | :----- | :--------- | :---------- | :--------- | | ^21.0.0 | Active | 2025-11-19 | 2026-05-19 | 2027-05-19 | | ^20.0.0 | LTS | 2025-05-28 | 2025-11-19 | 2026-11-28 | -| ^19.0.0 | LTS | 2024-11-19 | 2025-05-28 | 2026-05-19 | -Angular versions v2 to v18 are no longer supported. +Angular versions v2 to v19 are no longer supported. ### LTS fixes From 3ff55361587741e20b50219b801d209aa0b09871 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 20 May 2026 02:55:09 +0000 Subject: [PATCH 100/317] build: update cross-repo angular dependencies See associated pull request for more information. --- .github/actions/deploy-docs-site/main.js | 362 ++++-- MODULE.bazel | 8 +- MODULE.bazel.lock | 72 +- package.json | 2 +- pnpm-lock.yaml | 1133 +++++++---------- .../integration/project/package.json | 2 +- 6 files changed, 713 insertions(+), 866 deletions(-) diff --git a/.github/actions/deploy-docs-site/main.js b/.github/actions/deploy-docs-site/main.js index ca6f09b78f5a..34bce925ad1b 100644 --- a/.github/actions/deploy-docs-site/main.js +++ b/.github/actions/deploy-docs-site/main.js @@ -37486,98 +37486,134 @@ import { spawnSync as spawnSync2 } from "child_process"; import { URL as URL2 } from "url"; var import_lockfile = __toESM(require_lockfile(), 1); var require5 = __cjsCompatRequire_ngDev4(import.meta.url); -var require_fast_content_type_parse = __commonJS2({ - ""(exports, module) { +var require_dist2 = __commonJS2({ + ""(exports) { "use strict"; - var NullObject = function NullObject2() { - }; - NullObject.prototype = /* @__PURE__ */ Object.create(null); - var paramRE = /; *([!#$%&'*+.^\w`|~-]+)=("(?:[\v\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\v\u0020-\u00ff])*"|[!#$%&'*+.^\w`|~-]+) */gu; - var quotedPairRE = /\\([\v\u0020-\u00ff])/gu; - var mediaTypeRE = /^[!#$%&'*+.^\w|~-]+\/[!#$%&'*+.^\w|~-]+$/u; - var defaultContentType = { type: "", parameters: new NullObject() }; - Object.freeze(defaultContentType.parameters); - Object.freeze(defaultContentType); - function parse22(header) { - if (typeof header !== "string") { - throw new TypeError("argument header is required and must be a string"); - } - let index = header.indexOf(";"); - const type = index !== -1 ? header.slice(0, index).trim() : header.trim(); - if (mediaTypeRE.test(type) === false) { - throw new TypeError("invalid media type"); - } - const result = { - type: type.toLowerCase(), - parameters: new NullObject() + Object.defineProperty(exports, "__esModule", { value: true }); + exports.format = format3; + exports.parse = parse32; + var TEXT_REGEXP = /^[\u0009\u0020-\u007e\u0080-\u00ff]*$/; + var TOKEN_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/; + var QUOTE_REGEXP = /[\\"]/g; + var TYPE_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/; + var NullObject = (() => { + const C = function() { }; - if (index === -1) { - return result; + C.prototype = /* @__PURE__ */ Object.create(null); + return C; + })(); + function format3(obj) { + const { type, parameters } = obj; + if (!type || !TYPE_REGEXP.test(type)) { + throw new TypeError(`Invalid type: ${type}`); } - let key; - let match; - let value; - paramRE.lastIndex = index; - while (match = paramRE.exec(header)) { - if (match.index !== index) { - throw new TypeError("invalid parameter format"); - } - index += match[0].length; - key = match[1].toLowerCase(); - value = match[2]; - if (value[0] === '"') { - value = value.slice(1, value.length - 1); - quotedPairRE.test(value) && (value = value.replace(quotedPairRE, "$1")); + let result = type; + if (parameters) { + for (const param of Object.keys(parameters)) { + if (!TOKEN_REGEXP.test(param)) { + throw new TypeError(`Invalid parameter name: ${param}`); + } + result += `; ${param}=${qstring(parameters[param])}`; } - result.parameters[key] = value; - } - if (index !== header.length) { - throw new TypeError("invalid parameter format"); } return result; } - function safeParse2(header) { - if (typeof header !== "string") { - return defaultContentType; - } - let index = header.indexOf(";"); - const type = index !== -1 ? header.slice(0, index).trim() : header.trim(); - if (mediaTypeRE.test(type) === false) { - return defaultContentType; - } - const result = { - type: type.toLowerCase(), - parameters: new NullObject() - }; - if (index === -1) { - return result; - } - let key; - let match; - let value; - paramRE.lastIndex = index; - while (match = paramRE.exec(header)) { - if (match.index !== index) { - return defaultContentType; - } - index += match[0].length; - key = match[1].toLowerCase(); - value = match[2]; - if (value[0] === '"') { - value = value.slice(1, value.length - 1); - quotedPairRE.test(value) && (value = value.replace(quotedPairRE, "$1")); + function parse32(header, options) { + const len = header.length; + let index = skipOWS(header, 0, len); + const valueStart = index; + index = skipValue(header, index, len); + const valueEnd = trailingOWS(header, valueStart, index); + const type = header.slice(valueStart, valueEnd).toLowerCase(); + const parameters = options?.parameters === false ? new NullObject() : parseParameters(header, index, len); + return { type, parameters }; + } + var SP = 32; + var HTAB = 9; + var SEMI = 59; + var EQ = 61; + var DQUOTE = 34; + var BSLASH = 92; + function parseParameters(header, index, len) { + const parameters = new NullObject(); + parameter: + while (index < len) { + index = skipOWS(header, index + 1, len); + const keyStart = index; + while (index < len) { + const code = header.charCodeAt(index); + if (code === SEMI) + continue parameter; + if (code === EQ) { + const keyEnd = trailingOWS(header, keyStart, index); + const key = header.slice(keyStart, keyEnd).toLowerCase(); + index = skipOWS(header, index + 1, len); + if (index < len && header.charCodeAt(index) === DQUOTE) { + index++; + let value = ""; + while (index < len) { + const code2 = header.charCodeAt(index++); + if (code2 === DQUOTE) { + index = skipValue(header, index, len); + if (parameters[key] === void 0) + parameters[key] = value; + break; + } + if (code2 === BSLASH && index < len) { + value += header[index++]; + continue; + } + value += String.fromCharCode(code2); + } + continue parameter; + } + const valueStart = index; + index = skipValue(header, index, len); + if (parameters[key] === void 0) { + const valueEnd = trailingOWS(header, valueStart, index); + parameters[key] = header.slice(valueStart, valueEnd); + } + continue parameter; + } + index++; + } } - result.parameters[key] = value; + return parameters; + } + function skipValue(str, index, len) { + while (index < len) { + const char = str.charCodeAt(index); + if (char === SEMI) + break; + index++; } - if (index !== header.length) { - return defaultContentType; + return index; + } + function skipOWS(header, index, len) { + while (index < len) { + const char = header.charCodeAt(index); + if (char !== SP && char !== HTAB) + break; + index++; } - return result; + return index; + } + function trailingOWS(header, start, end) { + while (end > start) { + const char = header.charCodeAt(end - 1); + if (char !== SP && char !== HTAB) + break; + end--; + } + return end; + } + function qstring(str) { + if (TOKEN_REGEXP.test(str)) + return str; + if (TEXT_REGEXP.test(str)) + return `"${str.replace(QUOTE_REGEXP, "\\$&")}"`; + throw new TypeError(`Invalid parameter value: ${str}`); } - module.exports.default = { parse: parse22, safeParse: safeParse2 }; - module.exports.parse = parse22; - module.exports.safeParse = safeParse2; - module.exports.defaultContentType = defaultContentType; } }); var require_constants6 = __commonJS2({ @@ -38021,7 +38057,7 @@ var require_parse2 = __commonJS2({ ""(exports, module) { "use strict"; var SemVer = require_semver(); - var parse22 = (version, options, throwErrors = false) => { + var parse32 = (version, options, throwErrors = false) => { if (version instanceof SemVer) { return version; } @@ -38034,15 +38070,15 @@ var require_parse2 = __commonJS2({ throw er; } }; - module.exports = parse22; + module.exports = parse32; } }); var require_valid = __commonJS2({ ""(exports, module) { "use strict"; - var parse22 = require_parse2(); + var parse32 = require_parse2(); var valid = (version, options) => { - const v = parse22(version, options); + const v = parse32(version, options); return v ? v.version : null; }; module.exports = valid; @@ -38051,9 +38087,9 @@ var require_valid = __commonJS2({ var require_clean = __commonJS2({ ""(exports, module) { "use strict"; - var parse22 = require_parse2(); + var parse32 = require_parse2(); var clean = (version, options) => { - const s = parse22(version.trim().replace(/^[=v]+/, ""), options); + const s = parse32(version.trim().replace(/^[=v]+/, ""), options); return s ? s.version : null; }; module.exports = clean; @@ -38084,10 +38120,10 @@ var require_inc = __commonJS2({ var require_diff = __commonJS2({ ""(exports, module) { "use strict"; - var parse22 = require_parse2(); + var parse32 = require_parse2(); var diff = (version1, version2) => { - const v1 = parse22(version1, null, true); - const v2 = parse22(version2, null, true); + const v1 = parse32(version1, null, true); + const v2 = parse32(version2, null, true); const comparison = v1.compare(v2); if (comparison === 0) { return null; @@ -38150,9 +38186,9 @@ var require_patch = __commonJS2({ var require_prerelease = __commonJS2({ ""(exports, module) { "use strict"; - var parse22 = require_parse2(); + var parse32 = require_parse2(); var prerelease = (version, options) => { - const parsed = parse22(version, options); + const parsed = parse32(version, options); return parsed && parsed.prerelease.length ? parsed.prerelease : null; }; module.exports = prerelease; @@ -38310,7 +38346,7 @@ var require_coerce = __commonJS2({ ""(exports, module) { "use strict"; var SemVer = require_semver(); - var parse22 = require_parse2(); + var parse32 = require_parse2(); var { safeRe: re, t } = require_re(); var coerce = (version, options) => { if (version instanceof SemVer) { @@ -38345,11 +38381,50 @@ var require_coerce = __commonJS2({ const patch = match[4] || "0"; const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : ""; const build = options.includePrerelease && match[6] ? `+${match[6]}` : ""; - return parse22(`${major}.${minor}.${patch}${prerelease}${build}`, options); + return parse32(`${major}.${minor}.${patch}${prerelease}${build}`, options); }; module.exports = coerce; } }); +var require_truncate = __commonJS2({ + ""(exports, module) { + "use strict"; + var parse32 = require_parse2(); + var constants3 = require_constants6(); + var SemVer = require_semver(); + var truncate = (version, truncation, options) => { + if (!constants3.RELEASE_TYPES.includes(truncation)) { + return null; + } + const clonedVersion = cloneInputVersion(version, options); + return clonedVersion && doTruncation(clonedVersion, truncation); + }; + var cloneInputVersion = (version, options) => { + const versionStringToParse = version instanceof SemVer ? version.version : version; + return parse32(versionStringToParse, options); + }; + var doTruncation = (version, truncation) => { + if (isPrerelease(truncation)) { + return version.version; + } + version.prerelease = []; + switch (truncation) { + case "major": + version.minor = 0; + version.patch = 0; + break; + case "minor": + version.patch = 0; + break; + } + return version.format(); + }; + var isPrerelease = (type) => { + return type.startsWith("pre"); + }; + module.exports = truncate; + } +}); var require_lrucache = __commonJS2({ ""(exports, module) { "use strict"; @@ -39329,7 +39404,7 @@ var require_semver2 = __commonJS2({ var constants3 = require_constants6(); var SemVer = require_semver(); var identifiers = require_identifiers(); - var parse22 = require_parse2(); + var parse32 = require_parse2(); var valid = require_valid(); var clean = require_clean(); var inc = require_inc(); @@ -39352,6 +39427,7 @@ var require_semver2 = __commonJS2({ var lte = require_lte(); var cmp = require_cmp(); var coerce = require_coerce(); + var truncate = require_truncate(); var Comparator = require_comparator(); var Range = require_range(); var satisfies = require_satisfies(); @@ -39367,7 +39443,7 @@ var require_semver2 = __commonJS2({ var simplifyRange = require_simplify(); var subset = require_subset(); module.exports = { - parse: parse22, + parse: parse32, valid, clean, inc, @@ -39390,6 +39466,7 @@ var require_semver2 = __commonJS2({ lte, cmp, coerce, + truncate, Comparator, Range, satisfies, @@ -44656,8 +44733,10 @@ ${cb}` : comment; } } if (afterDoc) { - Array.prototype.push.apply(doc.errors, this.errors); - Array.prototype.push.apply(doc.warnings, this.warnings); + for (let i = 0; i < this.errors.length; ++i) + doc.errors.push(this.errors[i]); + for (let i = 0; i < this.warnings.length; ++i) + doc.warnings.push(this.warnings[i]); } else { doc.errors = this.errors; doc.warnings = this.warnings; @@ -45380,7 +45459,7 @@ var require_lexer = __commonJS2({ const n = (yield* this.pushCount(1)) + (yield* this.pushSpaces(true)); this.indentNext = this.indentValue + 1; this.indentValue += n; - return yield* this.parseBlockStart(); + return "block-start"; } return "doc"; } @@ -45677,26 +45756,37 @@ var require_lexer = __commonJS2({ return 0; } *pushIndicators() { - switch (this.charAt(0)) { - case "!": - return (yield* this.pushTag()) + (yield* this.pushSpaces(true)) + (yield* this.pushIndicators()); - case "&": - return (yield* this.pushUntil(isNotAnchorChar)) + (yield* this.pushSpaces(true)) + (yield* this.pushIndicators()); - case "-": - case "?": - case ":": { - const inFlow = this.flowLevel > 0; - const ch1 = this.charAt(1); - if (isEmpty(ch1) || inFlow && flowIndicatorChars.has(ch1)) { - if (!inFlow) - this.indentNext = this.indentValue + 1; - else if (this.flowKey) - this.flowKey = false; - return (yield* this.pushCount(1)) + (yield* this.pushSpaces(true)) + (yield* this.pushIndicators()); + let n = 0; + loop: + while (true) { + switch (this.charAt(0)) { + case "!": + n += yield* this.pushTag(); + n += yield* this.pushSpaces(true); + continue loop; + case "&": + n += yield* this.pushUntil(isNotAnchorChar); + n += yield* this.pushSpaces(true); + continue loop; + case "-": + case "?": + case ":": { + const inFlow = this.flowLevel > 0; + const ch1 = this.charAt(1); + if (isEmpty(ch1) || inFlow && flowIndicatorChars.has(ch1)) { + if (!inFlow) + this.indentNext = this.indentValue + 1; + else if (this.flowKey) + this.flowKey = false; + n += yield* this.pushCount(1); + n += yield* this.pushSpaces(true); + continue loop; + } + } } + break loop; } - } - return 0; + return n; } *pushTag() { if (this.charAt(1) === "<") { @@ -45851,6 +45941,13 @@ var require_parser = __commonJS2({ } return prev.splice(i, prev.length); } + function arrayPushArray(target, source) { + if (source.length < 1e5) + Array.prototype.push.apply(target, source); + else + for (let i = 0; i < source.length; ++i) + target.push(source[i]); + } function fixFlowSeqItems(fc) { if (fc.start.type === "flow-seq-start") { for (const it of fc.items) { @@ -45860,11 +45957,11 @@ var require_parser = __commonJS2({ delete it.key; if (isFlowToken(it.value)) { if (it.value.end) - Array.prototype.push.apply(it.value.end, it.sep); + arrayPushArray(it.value.end, it.sep); else it.value.end = it.sep; } else - Array.prototype.push.apply(it.start, it.sep); + arrayPushArray(it.start, it.sep); delete it.sep; } } @@ -46217,7 +46314,7 @@ var require_parser = __commonJS2({ const prev = map.items[map.items.length - 2]; const end = prev?.value?.end; if (Array.isArray(end)) { - Array.prototype.push.apply(end, it.start); + arrayPushArray(end, it.start); end.push(this.sourceToken); map.items.pop(); return; @@ -46405,7 +46502,7 @@ var require_parser = __commonJS2({ const prev = seq.items[seq.items.length - 2]; const end = prev?.value?.end; if (Array.isArray(end)) { - Array.prototype.push.apply(end, it.start); + arrayPushArray(end, it.start); end.push(this.sourceToken); seq.items.pop(); return; @@ -46691,7 +46788,7 @@ var require_public_api = __commonJS2({ } return doc; } - function parse22(src, reviver, options) { + function parse32(src, reviver, options) { let _reviver = void 0; if (typeof reviver === "function") { _reviver = reviver; @@ -46732,13 +46829,13 @@ var require_public_api = __commonJS2({ return value.toString(options); return new Document.Document(value, _replacer, options).toString(options); } - exports.parse = parse22; + exports.parse = parse32; exports.parseAllDocuments = parseAllDocuments; exports.parseDocument = parseDocument; exports.stringify = stringify; } }); -var require_dist2 = __commonJS2({ +var require_dist22 = __commonJS2({ ""(exports) { "use strict"; var composer = require_composer(); @@ -47211,7 +47308,7 @@ function withDefaults4(oldDefaults, newDefaults) { }); } var endpoint2 = withDefaults4(null, DEFAULTS2); -var import_fast_content_type_parse = __toESM2(require_fast_content_type_parse()); +var import_content_type2 = __toESM2(require_dist2()); var intRegex2 = /^-?\d+$/; var noiseValue2 = /^-?\d+n+$/; var originalStringify2 = JSON.stringify; @@ -47366,7 +47463,7 @@ var RequestError2 = class extends Error { this.request = requestCopy; } }; -var VERSION22 = "10.0.8"; +var VERSION22 = "10.0.9"; var defaults_default2 = { headers: { "user-agent": `octokit-request.js/${VERSION22} ${getUserAgent2()}` @@ -47487,7 +47584,7 @@ async function getResponseData2(response) { if (!contentType) { return response.text().catch(noop3); } - const mimetype = (0, import_fast_content_type_parse.safeParse)(contentType); + const mimetype = (0, import_content_type2.parse)(contentType); if (isJSONResponse2(mimetype)) { let text = ""; try { @@ -51454,7 +51551,7 @@ var allLabels = { ...miscLabels }; var import_which = __toESM2(require_lib2()); -var import_yaml = __toESM2(require_dist2()); +var import_yaml = __toESM2(require_dist22()); // var require6 = __cjsCompatRequire_ngDev5(import.meta.url); @@ -51674,9 +51771,16 @@ content-type/dist/index.js: *) *) -@angular/ng-dev/bundles/chunk-6BHVTSCA.mjs: +@angular/ng-dev/bundles/chunk-XI6A552T.mjs: (*! Bundled license information: + content-type/dist/index.js: + (*! + * content-type + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + *) + @octokit/request-error/dist-src/index.js: (* v8 ignore else -- @preserve -- Bug with vitest coverage where it sees an else branch that doesn't exist *) diff --git a/MODULE.bazel b/MODULE.bazel index 719cad6455d9..e678f1ecd9b7 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -18,28 +18,28 @@ bazel_dep(name = "yq.bzl", version = "0.3.6") bazel_dep(name = "rules_angular") git_override( module_name = "rules_angular", - commit = "045f98407a299ffaeeeafa275d8490d4507513f8", + commit = "48833d6ad8abdac2d90d7704b1ac42416be25d2e", remote = "https://github.com/angular/rules_angular.git", ) bazel_dep(name = "devinfra") git_override( module_name = "devinfra", - commit = "eaa9aaa98de612484109350f710fdb02e92c84ae", + commit = "bcac3047149f2f7780bbf4bd4865890af6f534c0", remote = "https://github.com/angular/dev-infra.git", ) bazel_dep(name = "rules_sass") git_override( module_name = "rules_sass", - commit = "846437db57b03761ac6af22415919a9763b7be65", + commit = "a67d13a0f46cf1b789a36248c3eb39a093699072", remote = "https://github.com/angular/rules_sass.git", ) bazel_dep(name = "rules_browsers") git_override( module_name = "rules_browsers", - commit = "bf27ea46fdbb0209526ca821f1500d4337eb8299", + commit = "19422a0585f62ef061db49d3643ea3891a70d643", remote = "https://github.com/angular/rules_browsers.git", ) diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index cc93583eac13..b8bffcb4c692 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -20,12 +20,15 @@ "https://bcr.bazel.build/modules/aspect_bazel_lib/2.7.7/MODULE.bazel": "491f8681205e31bb57892d67442ce448cda4f472a8e6b3dc062865e29a64f89c", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.8.1/MODULE.bazel": "812d2dd42f65dca362152101fbec418029cc8fd34cbad1a2fde905383d705838", "https://bcr.bazel.build/modules/aspect_rules_esbuild/0.25.1/MODULE.bazel": "9b931b3e483bd8eedb6966bda6df07d801f70ccb4896231b4e5e711b5130f3aa", - "https://bcr.bazel.build/modules/aspect_rules_esbuild/0.25.1/source.json": "a0b72e23ed06113f3878cb635d586b4045ef37750983467af72fe0315c3a2fcd", + "https://bcr.bazel.build/modules/aspect_rules_esbuild/0.26.0/MODULE.bazel": "6c902d97038c3ab07b6c4e67c97abc61b20182fcfa84fa7dee82fc724f12e455", + "https://bcr.bazel.build/modules/aspect_rules_esbuild/0.26.0/source.json": "4cc3ece7ab661bb391a9e24fe55c4b567d60a9ea9d9e91d772dad373cbcb6217", "https://bcr.bazel.build/modules/aspect_rules_jasmine/2.0.4/MODULE.bazel": "fbb819eb8b7e5d7f67fdd38f7cecb413e287594cd666ce192c72c8828527775a", "https://bcr.bazel.build/modules/aspect_rules_jasmine/2.0.4/source.json": "81ffb708333cd98ec3c0b4cc004f4d5cf92a16914b5196a2892c45141bba7cff", "https://bcr.bazel.build/modules/aspect_rules_js/2.0.0/MODULE.bazel": "b45b507574aa60a92796e3e13c195cd5744b3b8aff516a9c0cb5ae6a048161c5", + "https://bcr.bazel.build/modules/aspect_rules_js/3.0.3/MODULE.bazel": "28a30e8fc33bf64a67835d64d124f6e05a7d59648dcb27b110fb3502f761e503", "https://bcr.bazel.build/modules/aspect_rules_js/3.1.1/MODULE.bazel": "b83cf3ee44837345f1c926d70b96453deb5e244de43d08dcd7acad8d381c275a", - "https://bcr.bazel.build/modules/aspect_rules_js/3.1.1/source.json": "2806c2d7ce5993f68b74df5f3e2de45d4b2a5798afedd459d88e37c75562da97", + "https://bcr.bazel.build/modules/aspect_rules_js/3.1.2/MODULE.bazel": "e3685502155d3cc65f3bf98e714f7435de67d7f8f355d63478a80197310311fc", + "https://bcr.bazel.build/modules/aspect_rules_js/3.1.2/source.json": "a32ab71831452b945f3f83a1b1feb9402007e600bce55ac76e15ef0c1e08b520", "https://bcr.bazel.build/modules/aspect_rules_rollup/2.0.1/MODULE.bazel": "296e3a053658c2af989ba9bd62a205e6d1fa84bdd6dd5249196546e6b84770ec", "https://bcr.bazel.build/modules/aspect_rules_rollup/2.0.1/source.json": "2fe8ac1ccb4de74bf884761e070010280b272d94e3997205b361b91c75409726", "https://bcr.bazel.build/modules/aspect_rules_ts/3.8.9/MODULE.bazel": "bd5f9ebf517cfcd377eaa7ce1cb16035d167f00774b77789909590c53bc6f20c", @@ -205,6 +208,7 @@ "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "7298990c00040a0e2f121f6c32544bab27d4452f80d9ce51349b1a28f3005c43", "https://bcr.bazel.build/modules/yq.bzl/0.1.1/MODULE.bazel": "9039681f9bcb8958ee2c87ffc74bdafba9f4369096a2b5634b88abc0eaefa072", "https://bcr.bazel.build/modules/yq.bzl/0.3.2/MODULE.bazel": "0384efa70e8033d842ea73aa4b7199fa099709e236a7264345c03937166670b6", + "https://bcr.bazel.build/modules/yq.bzl/0.3.4/MODULE.bazel": "d3a270662f5d766cd7229732d65a5a5bc485240c3007343dd279edfb60c9ae27", "https://bcr.bazel.build/modules/yq.bzl/0.3.6/MODULE.bazel": "985c2a0cb4ad9994bb0e33cc7fae931c91105eeefe3faa355b8f4c258d0607c0", "https://bcr.bazel.build/modules/yq.bzl/0.3.6/source.json": "678aaf6e291164f3cd761bb3e872e8a151248f413dbb63c5524a50b82a5bc890", "https://bcr.bazel.build/modules/zlib/1.2.11/MODULE.bazel": "07b389abc85fdbca459b69e2ec656ae5622873af3f845e1c9d80fe179f3effa0", @@ -217,8 +221,8 @@ "moduleExtensions": { "@@aspect_rules_esbuild+//esbuild:extensions.bzl%esbuild": { "general": { - "bzlTransitiveDigest": "yEdNDVnymA4zAhL3PLavB/cRtK1c5FZ3PMxhjTrwbBw=", - "usagesDigest": "6We6zwGoawD9YXqMI0KPaxEKJTnamXBsuOekhFS2D40=", + "bzlTransitiveDigest": "i4NcV2RXxMt69CraWA+/XAmfJOD2VYLrXz1Naf2sgek=", + "usagesDigest": "LSQ+zZp7JNgnBONTxxXnwGr4NTh2qtQYk7qwXXz5qWo=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, @@ -496,7 +500,7 @@ "@@aspect_tools_telemetry+//:extension.bzl%telemetry": { "general": { "bzlTransitiveDigest": "cl5A2O84vDL6Tt+Qga8FCj1DUDGqn+e7ly5rZ+4xvcc=", - "usagesDigest": "ZZb1xIaM7MwIk9oEUnD4lvRBuRPBGUaaRCajg1kTm5c=", + "usagesDigest": "2rkxV5oFhRJXyaR0vsDXw76O5QXGwQ9/y+nmRZZg990=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, @@ -506,8 +510,8 @@ "attributes": { "deps": { "aspect_rules_ts": "3.8.9", - "aspect_rules_js": "3.1.1", - "aspect_rules_esbuild": "0.25.1", + "aspect_rules_js": "3.1.2", + "aspect_rules_esbuild": "0.26.0", "aspect_rules_jasmine": "2.0.4", "aspect_tools_telemetry": "0.3.3" } @@ -590,7 +594,7 @@ }, "@@rules_browsers+//browsers:extensions.bzl%browsers": { "general": { - "bzlTransitiveDigest": "Bm6fiKpWy96aLohOlLCP36ARVxRLZm/R+smhsb2HzmI=", + "bzlTransitiveDigest": "bSZZZDyC3Xuk66A4sGPS151M31eBfEr1Yii1vzk8Jbg=", "usagesDigest": "FmXYJVoVJlnfUU8x8gObSvu4qWcco/9Faw61aC/wBF0=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, @@ -599,9 +603,9 @@ "rules_browsers_chrome_linux": { "repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo", "attributes": { - "sha256": "1ac33f89306327af43be159c03ca4a26486de0858f42fe52394acdef50364143", + "sha256": "086e266054c7e9b8a690e50f711c00f399f66e04bd77b078e26073cc634345bd", "urls": [ - "https://storage.googleapis.com/chrome-for-testing-public/147.0.7687.0/linux64/chrome-headless-shell-linux64.zip" + "https://storage.googleapis.com/chrome-for-testing-public/150.0.7845.0/linux64/chrome-headless-shell-linux64.zip" ], "named_files": { "CHROME-HEADLESS-SHELL": "chrome-headless-shell-linux64/chrome-headless-shell" @@ -617,9 +621,9 @@ "rules_browsers_chrome_mac": { "repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo", "attributes": { - "sha256": "169ff49c465cfda52931395e61861e146dfc5013e92c01ca792db5acea858d0b", + "sha256": "e6fc7d71132e66f71ac0c1cdaca1f956a793931488f8392cda907456102ddc15", "urls": [ - "https://storage.googleapis.com/chrome-for-testing-public/147.0.7687.0/mac-x64/chrome-headless-shell-mac-x64.zip" + "https://storage.googleapis.com/chrome-for-testing-public/150.0.7845.0/mac-x64/chrome-headless-shell-mac-x64.zip" ], "named_files": { "CHROME-HEADLESS-SHELL": "chrome-headless-shell-mac-x64/chrome-headless-shell" @@ -635,9 +639,9 @@ "rules_browsers_chrome_mac_arm": { "repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo", "attributes": { - "sha256": "aeaaaaa4d68193a21bed04c44ddeb1230232707b4ea1d845a92925787509cd8e", + "sha256": "dfcfb50b4043dcf15daaa29b2206f483916c9cf7273c42c993a04f7508208c18", "urls": [ - "https://storage.googleapis.com/chrome-for-testing-public/147.0.7687.0/mac-arm64/chrome-headless-shell-mac-arm64.zip" + "https://storage.googleapis.com/chrome-for-testing-public/150.0.7845.0/mac-arm64/chrome-headless-shell-mac-arm64.zip" ], "named_files": { "CHROME-HEADLESS-SHELL": "chrome-headless-shell-mac-arm64/chrome-headless-shell" @@ -653,9 +657,9 @@ "rules_browsers_chrome_win64": { "repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo", "attributes": { - "sha256": "4d6d79bcbcb22084df6e3a3d3a2caff67d6c0fa488d63f0c7ec1526f9553db8c", + "sha256": "75cd03e716b8dba25699e417fe199847c38b96246321f7b04e09b3b46960b820", "urls": [ - "https://storage.googleapis.com/chrome-for-testing-public/147.0.7687.0/win64/chrome-headless-shell-win64.zip" + "https://storage.googleapis.com/chrome-for-testing-public/150.0.7845.0/win64/chrome-headless-shell-win64.zip" ], "named_files": { "CHROME-HEADLESS-SHELL": "chrome-headless-shell-win64/chrome-headless-shell.exe" @@ -671,9 +675,9 @@ "rules_browsers_chromedriver_linux": { "repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo", "attributes": { - "sha256": "0607ccf6810a07ae08cac6443beac8b23f88dd53c7f1e0299e22d65f7cd2d020", + "sha256": "ad6a464663a80a182fb7a342b018dbd83f7c0c6d058bb1c83733de9564cf5b41", "urls": [ - "https://storage.googleapis.com/chrome-for-testing-public/147.0.7687.0/linux64/chromedriver-linux64.zip" + "https://storage.googleapis.com/chrome-for-testing-public/150.0.7845.0/linux64/chromedriver-linux64.zip" ], "named_files": { "CHROMEDRIVER": "chromedriver-linux64/chromedriver" @@ -687,9 +691,9 @@ "rules_browsers_chromedriver_mac": { "repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo", "attributes": { - "sha256": "0f512a9dd683ed4c41e609d8d02c07807497dbad3ab2f95f0d583486be7b8cff", + "sha256": "9d9ff5954d0737ed9dc3c1c3e1f82b05f924f17ecafb41c29c201c1033aadfb5", "urls": [ - "https://storage.googleapis.com/chrome-for-testing-public/147.0.7687.0/mac-x64/chromedriver-mac-x64.zip" + "https://storage.googleapis.com/chrome-for-testing-public/150.0.7845.0/mac-x64/chromedriver-mac-x64.zip" ], "named_files": { "CHROMEDRIVER": "chromedriver-mac-x64/chromedriver" @@ -703,9 +707,9 @@ "rules_browsers_chromedriver_mac_arm": { "repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo", "attributes": { - "sha256": "7d6fc6d17de1733eb6739d1ea16d085c8df1568bcf9fa0d130c2784b27f38268", + "sha256": "a60658d6ab769eeeaef63c6d0ec14fa71c12f4738ea43b59b1a034a7a64f4efd", "urls": [ - "https://storage.googleapis.com/chrome-for-testing-public/147.0.7687.0/mac-arm64/chromedriver-mac-arm64.zip" + "https://storage.googleapis.com/chrome-for-testing-public/150.0.7845.0/mac-arm64/chromedriver-mac-arm64.zip" ], "named_files": { "CHROMEDRIVER": "chromedriver-mac-arm64/chromedriver" @@ -719,9 +723,9 @@ "rules_browsers_chromedriver_win64": { "repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo", "attributes": { - "sha256": "f4e9fb7bbf692fde7979b24e8d737b3cef4baafbc7a370e5d0abc4a8450fd830", + "sha256": "29bb5f0c0045449084be76030266abef53071a136aea16a58626bb29e73c687c", "urls": [ - "https://storage.googleapis.com/chrome-for-testing-public/147.0.7687.0/win64/chromedriver-win64.zip" + "https://storage.googleapis.com/chrome-for-testing-public/150.0.7845.0/win64/chromedriver-win64.zip" ], "named_files": { "CHROMEDRIVER": "chromedriver-win64/chromedriver.exe" @@ -735,9 +739,9 @@ "rules_browsers_firefox_linux": { "repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo", "attributes": { - "sha256": "f055b9c0d7346a10d22edc7f10e08679af2ea495367381ab2be9cab3ec6add97", + "sha256": "8ff8557a5ca3903ebbc1d18570684075f623465be5e362d63a95b3acc523f824", "urls": [ - "https://archive.mozilla.org/pub/firefox/releases/147.0/linux-x86_64/en-US/firefox-147.0.tar.xz" + "https://archive.mozilla.org/pub/firefox/releases/151.0/linux-x86_64/en-US/firefox-151.0.tar.xz" ], "named_files": { "FIREFOX": "firefox/firefox" @@ -751,9 +755,9 @@ "rules_browsers_firefox_mac": { "repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo", "attributes": { - "sha256": "48485e2068bc726e2f30cf5855fc2da1fc75c1272bc243a5394f428ffae3ba35", + "sha256": "5a56ebd8f0f8cec94a86e04c6793e1d1502b40206f5d4c86fff5b7a270e84f6b", "urls": [ - "https://archive.mozilla.org/pub/firefox/releases/147.0/mac/en-US/Firefox%20147.0.dmg" + "https://archive.mozilla.org/pub/firefox/releases/151.0/mac/en-US/Firefox%20151.0.dmg" ], "named_files": { "FIREFOX": "Firefox.app/Contents/MacOS/firefox" @@ -767,9 +771,9 @@ "rules_browsers_firefox_mac_arm": { "repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo", "attributes": { - "sha256": "48485e2068bc726e2f30cf5855fc2da1fc75c1272bc243a5394f428ffae3ba35", + "sha256": "5a56ebd8f0f8cec94a86e04c6793e1d1502b40206f5d4c86fff5b7a270e84f6b", "urls": [ - "https://archive.mozilla.org/pub/firefox/releases/147.0/mac/en-US/Firefox%20147.0.dmg" + "https://archive.mozilla.org/pub/firefox/releases/151.0/mac/en-US/Firefox%20151.0.dmg" ], "named_files": { "FIREFOX": "Firefox.app/Contents/MacOS/firefox" @@ -783,9 +787,9 @@ "rules_browsers_firefox_win64": { "repoRuleId": "@@rules_browsers+//browsers/private:browser_repo.bzl%browser_repo", "attributes": { - "sha256": "36ff9e150875aa48a0af9eec3eb67f66dddd8efac5c743265371a72ae3e796c4", + "sha256": "358381238a840831da8a6cda16721692df91a74bc44847ff0285da12de788a8d", "urls": [ - "https://archive.mozilla.org/pub/firefox/releases/147.0/win64/en-US/Firefox%20Setup%20147.0.exe" + "https://archive.mozilla.org/pub/firefox/releases/151.0/win64/en-US/Firefox%20Setup%20151.0.exe" ], "named_files": { "FIREFOX": "core/firefox.exe" @@ -950,7 +954,7 @@ "@@rules_nodejs+//nodejs:extensions.bzl%node": { "general": { "bzlTransitiveDigest": "oZFClfRhTTwsYzpxVPkOpOt/r0+OzEfEV37au0jFZ0s=", - "usagesDigest": "U4CYOQYDtSR3kZ0TZ9Z5qIPfS3Gb2y5IERDI0XgHptc=", + "usagesDigest": "5xgGXjEC5qTpg7xBJYsOC/CQObiJajDEhSImV0RTJN4=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, @@ -4166,7 +4170,7 @@ "@@yq.bzl+//yq:extensions.bzl%yq": { "general": { "bzlTransitiveDigest": "UfFMy8CWK4/dVo/tfaSAIYUiDGNAPes5eRllx9O9Q9Q=", - "usagesDigest": "S0iKr407bxb958DX9nvFIy8pPC6eCZJYS5Ok45r9U2g=", + "usagesDigest": "+cuh2+c/9yZnSskZ4MS5Fta6UXLMaLxaEjqeSWMdN78=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, diff --git a/package.json b/package.json index 5b0d7430cb1c..27dec4c750a2 100644 --- a/package.json +++ b/package.json @@ -139,7 +139,7 @@ "devDependencies": { "@actions/core": "^3.0.0", "@actions/github": "^9.0.0", - "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#2c36222db3f44751284cc93b3806dbe1baee583a", + "@angular/ng-dev": "https://github.com/angular/dev-infra-private-ng-dev-builds.git#98b21a0cb6ef6d068a99a9346e89812e3ec9d2b1", "@babel/plugin-transform-async-generator-functions": "^7.27.1", "@bazel/bazelisk": "^1.7.5", "@bazel/buildifier": "^8.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index aad70ef5732d..0e0aac47b37c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,7 +17,7 @@ importers: dependencies: '@angular-devkit/build-angular': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(@angular/compiler-cli@packages+compiler-cli)(@angular/compiler@packages+compiler)(@angular/core@packages+core)(@angular/localize@packages+localize)(@angular/platform-browser@packages+platform-browser)(@angular/platform-server@packages+platform-server)(@angular/service-worker@packages+service-worker)(@angular/ssr@22.0.0-rc.0(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-server@packages+platform-server)(@angular/router@packages+router))(@types/node@20.19.41)(bufferutil@4.1.0)(chokidar@5.0.0)(jiti@2.7.0)(karma@6.4.4(bufferutil@4.1.0))(lightningcss@1.32.0)(ng-packagr@22.0.0-next.4(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.9.0))(tslib@2.8.1)(typescript@6.0.3))(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.9.0))(tsx@4.21.0)(typescript@6.0.3)(vitest@4.1.6(@opentelemetry/api@1.9.1)(@types/node@20.19.41)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0) + version: 22.0.0-rc.0(@angular/compiler-cli@packages+compiler-cli)(@angular/compiler@packages+compiler)(@angular/core@packages+core)(@angular/localize@packages+localize)(@angular/platform-browser@packages+platform-browser)(@angular/platform-server@packages+platform-server)(@angular/service-worker@packages+service-worker)(@angular/ssr@22.0.0-rc.0(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-server@packages+platform-server)(@angular/router@packages+router))(@types/node@20.19.41)(bufferutil@4.1.0)(chokidar@5.0.0)(jiti@2.7.0)(karma@6.4.4(bufferutil@4.1.0))(lightningcss@1.32.0)(ng-packagr@22.0.0-rc.0(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.22.1)(yaml@2.9.0))(tslib@2.8.1)(typescript@6.0.3))(tailwindcss@3.4.19(tsx@4.22.1)(yaml@2.9.0))(tsx@4.22.1)(typescript@6.0.3)(vitest@4.1.6(@opentelemetry/api@1.9.1)(@types/node@20.19.41)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0))(yaml@2.9.0) '@angular-devkit/core': specifier: 22.0.0-rc.0 version: 22.0.0-rc.0(chokidar@5.0.0) @@ -35,7 +35,7 @@ importers: version: link:packages/benchpress '@angular/build': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(2fca3377aa0917147e2c56e992429f3d) + version: 22.0.0-rc.0(3284cb9b8861752ec2a2038a73cd54d5) '@angular/cdk': specifier: 22.0.0-rc.0 version: 22.0.0-rc.0(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2) @@ -260,8 +260,8 @@ importers: specifier: ^9.0.0 version: 9.1.1 '@angular/ng-dev': - specifier: https://github.com/angular/dev-infra-private-ng-dev-builds.git#2c36222db3f44751284cc93b3806dbe1baee583a - version: https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/2c36222db3f44751284cc93b3806dbe1baee583a(@modelcontextprotocol/sdk@1.29.0(@cfworker/json-schema@4.1.1)) + specifier: https://github.com/angular/dev-infra-private-ng-dev-builds.git#98b21a0cb6ef6d068a99a9346e89812e3ec9d2b1 + version: https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/98b21a0cb6ef6d068a99a9346e89812e3ec9d2b1(@modelcontextprotocol/sdk@1.29.0(@cfworker/json-schema@4.1.1)) '@babel/plugin-transform-async-generator-functions': specifier: ^7.27.1 version: 7.29.0(@babel/core@7.29.0) @@ -363,7 +363,7 @@ importers: version: 22.0.0-rc.0(@angular/cdk@22.0.0-rc.0(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2))(@angular/core@packages+core) '@angular/build': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(fb748cac34e9d8f6e7ea93f5cbdae94c) + version: 22.0.0-rc.0(03e48596f7b603bf67ba0ad34c6e3294) '@angular/cdk': specifier: 22.0.0-rc.0 version: 22.0.0-rc.0(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-browser@packages+platform-browser)(rxjs@7.8.2) @@ -640,7 +640,7 @@ importers: version: 8.5.13 tailwindcss: specifier: 3.4.19 - version: 3.4.19(tsx@4.21.0)(yaml@2.9.0) + version: 3.4.19(tsx@4.22.1)(yaml@2.9.0) adev/shared-docs: dependencies: @@ -737,7 +737,7 @@ importers: devDependencies: '@angular/build': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(a556ba555378555db50673daa4de029e) + version: 22.0.0-rc.0(9d20b07ff39e92a4555b5496b4473648) '@angular/cli': specifier: 22.0.0-rc.0 version: 22.0.0-rc.0(@cfworker/json-schema@4.1.1)(@types/node@24.12.4)(chokidar@5.0.0) @@ -752,7 +752,7 @@ importers: version: 6.0.3 vitest: specifier: ^4.0.0 - version: 4.1.6(@opentelemetry/api@1.9.1)(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + version: 4.1.6(@opentelemetry/api@1.9.1)(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0) devtools: dependencies: @@ -837,7 +837,7 @@ importers: version: link:../packages/benchpress '@angular/build': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(9e4c29b9535e9eeef4fdcfb32f0f5b53) + version: 22.0.0-rc.0(271e9d18bfeb4d3b6b5c7f2c9a224782) '@angular/common': specifier: workspace:* version: link:../packages/common @@ -1019,7 +1019,7 @@ importers: version: link:../../../animations '@angular/build': specifier: 22.0.0-rc.0 - version: 22.0.0-rc.0(a556ba555378555db50673daa4de029e) + version: 22.0.0-rc.0(9d20b07ff39e92a4555b5496b4473648) '@angular/common': specifier: workspace:* version: link:../../../common @@ -1284,7 +1284,7 @@ importers: version: 2.8.1 vitest: specifier: ^4.0.0 - version: 4.1.6(@opentelemetry/api@1.9.1)(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + version: 4.1.6(@opentelemetry/api@1.9.1)(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0) packages/zone.js/test/typings: dependencies: @@ -1388,8 +1388,8 @@ importers: version: 7.8.2 devDependencies: ng-packagr: - specifier: 22.0.0-next.4 - version: 22.0.0-next.4(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.9.0))(tslib@2.8.1)(typescript@6.0.3) + specifier: 22.0.0-rc.0 + version: 22.0.0-rc.0(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.22.1)(yaml@2.9.0))(tslib@2.8.1)(typescript@6.0.3) typescript: specifier: 6.0.3 version: 6.0.3 @@ -1662,9 +1662,9 @@ packages: '@angular/platform-browser': ^22.0.0-0 || ^22.1.0-0 || ^22.2.0-0 || ^22.3.0-0 || ^23.0.0-0 rxjs: ^6.5.3 || ^7.4.0 - '@angular/ng-dev@https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/2c36222db3f44751284cc93b3806dbe1baee583a': - resolution: {gitHosted: true, integrity: sha512-dL7hHTLkH5etryOn4CsGh5Ij3H90Y4DuH7n0/c0PmkUbS9kC753TNTgS7V8UqxvxR/Y/Oybx54DAoLDsb9hBFg==, tarball: https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/2c36222db3f44751284cc93b3806dbe1baee583a} - version: 0.0.0-6ef1cf3158022456bf1f7031de79b7e44fe479b2 + '@angular/ng-dev@https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/98b21a0cb6ef6d068a99a9346e89812e3ec9d2b1': + resolution: {gitHosted: true, integrity: sha512-AwkT8gIA2duICq9kqxtH7i9nvh4LaJRd8/V1uExEFlTx1LLijdF9Z8hm8WZuJ+idk0MAIQcxwZMp8MeY00y8Xw==, tarball: https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/98b21a0cb6ef6d068a99a9346e89812e3ec9d2b1} + version: 0.0.0-49e2dadc4b17b0ff10a76329065c9b7e1fff3e91 hasBin: true '@angular/ssr@22.0.0-rc.0': @@ -2868,72 +2868,72 @@ packages: '@externs/nodejs@1.5.0': resolution: {integrity: sha512-2J+FRDjGfKKldTQ5YqLmhQ04/sA9swTQ6OTtPzo4xhg41u1+eiufciXiqW6u3UXEcmm413a27NakgnLbzfp0wQ==} - '@firebase/ai@2.11.1': - resolution: {integrity: sha512-WGTF81W3WBKJY+c7xqTzO15OGAkCAs8cpADqflAI0skhTZjIkhF0qyf55rq4Ctt6jKygkv99rPfMrjAHTgXaVQ==} + '@firebase/ai@2.12.0': + resolution: {integrity: sha512-b+OL4vdyiSLZL/7dLd67V55CjKJvU9MpNmwnday7eA6GG2+J4iwUEsEHgw0/jKY3A41FfkF0SrnYFvtKbQZ65A==} engines: {node: '>=20.0.0'} peerDependencies: '@firebase/app': 0.x '@firebase/app-types': 0.x - '@firebase/analytics-compat@0.2.27': - resolution: {integrity: sha512-ZObpYpAxL6JfgH7GnvlDD0sbzGZ0o4nijV8skatV9ZX49hJtCYbFqaEcPYptT94rgX1KUoKEderC7/fa7hybtw==} + '@firebase/analytics-compat@0.2.28': + resolution: {integrity: sha512-lIAlqUUbBu93FJMlQfslryQtBwwzdzvp23ePC6FNgymXk6Ook5v4Uvc0vdutvoIeqmyA3LfP0ZeRFK8+11kOOQ==} peerDependencies: '@firebase/app-compat': 0.x - '@firebase/analytics-types@0.8.3': - resolution: {integrity: sha512-VrIp/d8iq2g501qO46uGz3hjbDb8xzYMrbu8Tp0ovzIzrvJZ2fvmj649gTjge/b7cCCcjT0H37g1gVtlNhnkbg==} + '@firebase/analytics-types@0.8.4': + resolution: {integrity: sha512-zQ+XTgkwH6CY/eUSHJRP7e4LxM30RCxlCmob5sy2axs25GE3Ny0XdgpDscMTHHQIGqWkxPXad4w2Mw9sCgT8zQ==} - '@firebase/analytics@0.10.21': - resolution: {integrity: sha512-j2y2q65BlgLGB5Pwjhv/Jopw2X/TBTzvAtI5z/DSp56U4wBj7LfhBfzbdCtFPges+Wz0g55GdoawXibOH5jGng==} + '@firebase/analytics@0.10.22': + resolution: {integrity: sha512-8BSaq/QRGU1+xyi8L2PTLTJU7MH9aMA72RQdIxrbhWFauOZY9OXo8f2YDN/972xA8d588tlnNVEQ2Mo69pT9Ow==} peerDependencies: '@firebase/app': 0.x - '@firebase/app-check-compat@0.4.2': - resolution: {integrity: sha512-M91NhxqbSkI0ChkJWy69blC+rPr6HEgaeRllddSaU1pQ/7IiegeCQM9pPDIgvWnwnBSzKhUHpe6ro/jhJ+cvzw==} + '@firebase/app-check-compat@0.4.3': + resolution: {integrity: sha512-L3AKIRTJxT9b7cDUH3OyV8gWTnmW3vYkwdzRsukWt4kbPBTct12xalnyvHDkm1lKkr+cQq/4uzBx1bOWsQ2ciw==} engines: {node: '>=20.0.0'} peerDependencies: '@firebase/app-compat': 0.x - '@firebase/app-check-interop-types@0.3.3': - resolution: {integrity: sha512-gAlxfPLT2j8bTI/qfe3ahl2I2YcBQ8cFIBdhAQA4I2f3TndcO+22YizyGYuttLHPQEpWkhmpFW60VCFEPg4g5A==} + '@firebase/app-check-interop-types@0.3.4': + resolution: {integrity: sha512-zz3i6e13B8BfWiLy8MABtTh8aGIACgKbf9UVnyHcWs+yQzJXgQcl8A46b0zfaiJHdQ+niF0ouAfcpuf+3LMPQg==} - '@firebase/app-check-types@0.5.3': - resolution: {integrity: sha512-hyl5rKSj0QmwPdsAxrI5x1otDlByQ7bvNvVt8G/XPO2CSwE++rmSVf3VEhaeOR4J8ZFaF0Z0NDSmLejPweZ3ng==} + '@firebase/app-check-types@0.5.4': + resolution: {integrity: sha512-xV7JsIyzVr15aA7f3Pi0rB9gdBuVubs89FGA8VkRYA4g0l78poADgdfrScgf7NndSg9mm7cR7PJyY0+t22KaGw==} - '@firebase/app-check@0.11.2': - resolution: {integrity: sha512-jcXQVMHAQ5AEKzVD5C7s5fmAYeFOuN6lAJeNTgZK2B9aLnofWaJt8u1A8Idm8gpsBBYSaY3cVyeH5SWMOVPBLQ==} + '@firebase/app-check@0.11.3': + resolution: {integrity: sha512-aJ4DfubWfTO8/2vhEhIAizOoOmiycESTU32e+OUgbWcS/G3PA4Vxlr/9zaiN2wfUG2AptQ7DTvj00tyuFZP5Bg==} engines: {node: '>=20.0.0'} peerDependencies: '@firebase/app': 0.x - '@firebase/app-compat@0.5.11': - resolution: {integrity: sha512-KaACDjXkK5VLpI01vEs592R7/8s5DjFdIXfKoR385ly1SmK3Tu+jMHCIB4MsiY5jsez6v7VlEX/3rJ90dVkHyA==} + '@firebase/app-compat@0.5.12': + resolution: {integrity: sha512-Pe513OBerK/CIBxz4/za9atd5MsZtd6DzHz4cmqkvkrcDWhQChAoHBpZ3McuZNuSP8YZiKwfX/J1frR07l15/w==} engines: {node: '>=20.0.0'} - '@firebase/app-types@0.9.4': - resolution: {integrity: sha512-crX9TA5SVYZwLPG7/R16IsH8FLlgkPXjJUVhsVpHVDSqJiq3D/NuFTM5ctxGTExXAOeIn//69tQw47CPerM8MQ==} + '@firebase/app-types@0.9.5': + resolution: {integrity: sha512-YevqTjvo7Iujsa9Dwowmd6dSoElhzmD63ZSrq6bzjvQ6POjYgNjOFHLmNIgJs48eNO093NCERibuFnxbfOvU7A==} - '@firebase/app@0.14.11': - resolution: {integrity: sha512-yxADFW35LYkP8oSGobGsYIrI42I+GPCvKTNHx4meT9Yq3C950IVz1eANoBk822I9tbKv1wyv9P4Bv1G5TpucFw==} + '@firebase/app@0.14.12': + resolution: {integrity: sha512-FT+HoNp1NdaZ/N26hCwV3WbxS1m6gTn3p2QRBQ3KH7YqyCQqJx0iT7126RgVk68/Rq+9DeL/zCFnHZ0C4u1nLQ==} engines: {node: '>=20.0.0'} - '@firebase/auth-compat@0.6.5': - resolution: {integrity: sha512-IfVsafZ3QiXbsydXTP/XMI0wVYbJLI1rkb8Qqf03/h5FnL+upbbPOb+6Yj3RpcX+Y1iP5Uh18lxTHlXfbiyAow==} + '@firebase/auth-compat@0.6.6': + resolution: {integrity: sha512-KDJ/GAf/rt7galOpn3DRb2buFfGkZCsHTryKjXDG0eeRnok4+2B4nnkMOMdjRnPkElmcJv2Ao0vEA6kp5m98PQ==} engines: {node: '>=20.0.0'} peerDependencies: '@firebase/app-compat': 0.x - '@firebase/auth-interop-types@0.2.4': - resolution: {integrity: sha512-JPgcXKCuO+CWqGDnigBtvo09HeBs5u/Ktc2GaFj2m01hLarbxthLNm7Fk8iOP1aqAtXV+fnnGj7U28xmk7IwVA==} + '@firebase/auth-interop-types@0.2.5': + resolution: {integrity: sha512-1Li/YuBDBAXcKv7BzY4U28gontUmAaw53sYiqbaVOMCFb2lFKK/c3CGMUWqtwe7+TXrl3poWnTCL5umYBg85Eg==} - '@firebase/auth-types@0.13.0': - resolution: {integrity: sha512-S/PuIjni0AQRLF+l9ck0YpsMOdE8GO2KU6ubmBB7P+7TJUCQDa3R1dlgYm9UzGbbePMZsp0xzB93f2b/CgxMOg==} + '@firebase/auth-types@0.13.1': + resolution: {integrity: sha512-0c1Mnid0uMDfGJHeUS4zfvBa4/CedJXotGy/n/NZJnBjwiJawt0ZYU+wH2VAVLiRCEfG2ncCkAX3yd1/2nrB7g==} peerDependencies: '@firebase/app-types': 0.x '@firebase/util': 1.x - '@firebase/auth@1.13.0': - resolution: {integrity: sha512-mKkSLNym3UbnnZ06dAmtqzp5EpPGCANGCZDJbkoR135aoUdKG6Aizwcnp29RzsQpwH0nmy5nay17Sfbsh9oY8A==} + '@firebase/auth@1.13.1': + resolution: {integrity: sha512-/1nkKY/MicI+I9WWcx6R4NKs77AaW9NQ0IwsFdUBomWrW0/cXEmopfM2dtLm2oI1qG6z6vom3CXZDHJIJXoMuw==} engines: {node: '>=20.0.0'} peerDependencies: '@firebase/app': 0.x @@ -2942,141 +2942,141 @@ packages: '@react-native-async-storage/async-storage': optional: true - '@firebase/component@0.7.2': - resolution: {integrity: sha512-iyVDGc6Vjx7Rm0cAdccLH/NG6fADsgJak/XW9IA2lPf8AjIlsemOpFGKczYyPHxm4rnKdR8z6sK4+KEC7NwmEg==} + '@firebase/component@0.7.3': + resolution: {integrity: sha512-wFofIaa2879ogD/WvkjYXJxRmfnL0scen6ORgaC3na1FNOR9ASIUANQdhqQcmWu/h77/pVHY7ch5flewa5Bcew==} engines: {node: '>=20.0.0'} - '@firebase/data-connect@0.6.0': - resolution: {integrity: sha512-OiugPRcdlhqXF97oR9CjVObILmsWU0dFUS0gXNYEe4bDfpW8pZmQ5GqhIPPtLWbT/0W2lMJJD7VILFMk+xuHPg==} + '@firebase/data-connect@0.7.0': + resolution: {integrity: sha512-ar9sNOJh5poQCSMSVlnVE8eo8+usTD1POWDCv65omkKUvnFMcdXaQ7J/e7WGKqJzcEMgiezSX/TZiKHZkItMbQ==} peerDependencies: '@firebase/app': 0.x - '@firebase/database-compat@2.1.3': - resolution: {integrity: sha512-GMyfWjD8mehjg/QpNkY/tl9G/MoeugPeg91n9D0atggxbWuKF/2KhVPHZDH+XmoP0EKYqMWYTtKxBsaBaNKLYQ==} + '@firebase/database-compat@2.1.4': + resolution: {integrity: sha512-3pK35F1MAgmqFJQlf2nhQl44vtAXQO1uaCaQOEUI9kCRtLFqi7N+QRKR7lFZPg+xIZIyubgxQaxY69YgfZRZWg==} engines: {node: '>=20.0.0'} - '@firebase/database-types@1.0.19': - resolution: {integrity: sha512-FqewjUZmV9LqFfuEnmgdcUpiOUz7qwLXxnm/H8BcMFEzQXtd1yyUDm8ex5VRad2nuTE+ahOuCjUAM/cyDncO+g==} + '@firebase/database-types@1.0.20': + resolution: {integrity: sha512-kegbOk/w8iU64pr0q6k2ItyNGjnQBMHFhwS7ohdWI4W+pc0/zhhdGXTdFj6X1oxItRjPoYOsSQmERgBkn/ihxw==} - '@firebase/database@1.1.2': - resolution: {integrity: sha512-lP96CMjMPy/+d1d9qaaHjHHdzdwvEOuyyLq9ehX89e2XMKwS1jHNzYBO+42bdSumuj5ukPbmnFtViZu8YOMT+w==} + '@firebase/database@1.1.3': + resolution: {integrity: sha512-XwWCa+E4TvNGpGwXrycLRNfdogADwFcvuhyow6wDWma9W54roaQIhe+4PM0KiLsIftBdSCGI7OKCXrdSRHbIhw==} engines: {node: '>=20.0.0'} - '@firebase/firestore-compat@0.4.8': - resolution: {integrity: sha512-WK9NJRpnosGD2nuyjdr7K+Ht7AxRYJlTF62myI4rRA7ibJOosbecvjacR5oirJ7s1BgNS6qzcBw7n4fD3a5w1w==} + '@firebase/firestore-compat@0.4.9': + resolution: {integrity: sha512-NPtBuFr79BbIQJXFWhW4xFC6rBksK8/ewqCTYbbAYfZBDDx0/iHTUj4WpKi5D4d0Pn2Md/3T/e5V9379G5N/Zg==} engines: {node: '>=20.0.0'} peerDependencies: '@firebase/app-compat': 0.x - '@firebase/firestore-types@3.0.3': - resolution: {integrity: sha512-hD2jGdiWRxB/eZWF89xcK9gF8wvENDJkzpVFb4aGkzfEaKxVRD1kjz1t1Wj8VZEp2LCB53Yx1zD8mrhQu87R6Q==} + '@firebase/firestore-types@3.0.4': + resolution: {integrity: sha512-jGn+JSS4X9zZsrfu7Yw66v5YRdOLD1oyQh4USR0xWl4CUqV/DA6bNIXRPpxH/cUl3iVTNiP6MN7g+EL42A4qfA==} peerDependencies: '@firebase/app-types': 0.x '@firebase/util': 1.x - '@firebase/firestore@4.14.0': - resolution: {integrity: sha512-bZc6YOjRkMBVA16527tgzi6iN9n//xRB3Mmx/R+Gr6UAP/+xrIKOejQIcn1hh+tCzNT8jO0jI+kWox5J4tB/qQ==} + '@firebase/firestore@4.14.1': + resolution: {integrity: sha512-PouS0NJZ3NYOZE/tPDvXa8VUeJ10Ll//7jIdFvMYdhQkd/P3O7nlqhyoTmY0h8Xa9hxg+H0j6gxUytJcoZ9YOg==} engines: {node: '>=20.0.0'} peerDependencies: '@firebase/app': 0.x - '@firebase/functions-compat@0.4.3': - resolution: {integrity: sha512-BxkEwWgx1of0tKaao/r2VR6WBLk/RAiyztatiONPrPE8gkitFkOnOCxf8i9cUyA5hX5RGt5H30uNn25Q6QNEmQ==} + '@firebase/functions-compat@0.4.4': + resolution: {integrity: sha512-Be+MwhseVf/eFAZwGrFJGok6S7cmsLrAPK8MgyM8LjM0MewTsx2n01WOOca9jio1UsCZOJ0aVyQobnINcdNuIQ==} engines: {node: '>=20.0.0'} peerDependencies: '@firebase/app-compat': 0.x - '@firebase/functions-types@0.6.3': - resolution: {integrity: sha512-EZoDKQLUHFKNx6VLipQwrSMh01A1SaL3Wg6Hpi//x6/fJ6Ee4hrAeswK99I5Ht8roiniKHw4iO0B1Oxj5I4plg==} + '@firebase/functions-types@0.6.4': + resolution: {integrity: sha512-zV6kgqtduR4rUAdC/ilS7kmb93XD7bEZoJDlVBZqlOw2uGGGCNBQBuleww2rr0Ulr3L9o2TDjumEt68/l1f9DQ==} - '@firebase/functions@0.13.3': - resolution: {integrity: sha512-csO7ckK3SSs+NUZW1nms9EK7ckHe/1QOjiP8uAkCYa7ND18s44vjE9g3KxEeIUpyEPqZaX1EhJuFyZjHigAcYw==} + '@firebase/functions@0.13.4': + resolution: {integrity: sha512-oB5rpm2Emxn2+IS1gRelAeT/5tSZMwM/KhqC5LnJsmTNnS1ZDhD7ZMZNgCI8vchTW6PbaXIwEnpUryGuIQsNbg==} engines: {node: '>=20.0.0'} peerDependencies: '@firebase/app': 0.x - '@firebase/installations-compat@0.2.21': - resolution: {integrity: sha512-zahIUkaVKbR8zmTeBHkdfaVl6JGWlhVoSjF7CVH33nFqD3SlPEpEEegn2GNT5iAfsVdtlCyJJ9GW4YKjq+RJKQ==} + '@firebase/installations-compat@0.2.22': + resolution: {integrity: sha512-C/zpAuTP5S9OgKSPvXRupw3hoY/JZSlA1wFjD/Sb7LIQE0FNbcMdO8Y4KXVEkjVzma/DDDDIAzxEXqKMAzc88w==} peerDependencies: '@firebase/app-compat': 0.x - '@firebase/installations-types@0.5.3': - resolution: {integrity: sha512-2FJI7gkLqIE0iYsNQ1P751lO3hER+Umykel+TkLwHj6plzWVxqvfclPUZhcKFVQObqloEBTmpi2Ozn7EkCABAA==} + '@firebase/installations-types@0.5.4': + resolution: {integrity: sha512-U2eFapdHwjb43Vx9o+Pmj4dFfvcHEK1IirEFLqMtWrTHvmdrS3gBpBD1kmJk/9HjsOtoHZxJ2Paoe79e+L1ZPg==} peerDependencies: '@firebase/app-types': 0.x - '@firebase/installations@0.6.21': - resolution: {integrity: sha512-xGFGTeICJZ5vhrmmDukeczIcFULFXybojML2+QSDFoKj5A7zbGN7KzFGSKNhDkIxpjzsYG9IleJyUebuAcmqWA==} + '@firebase/installations@0.6.22': + resolution: {integrity: sha512-ef6nn3GGQTdReCfotRMG77PJZu8CqEbiK5pEoBnM0gTu/Z9v0i/az2p3HABsa/1beQmmyh1OsOjf7P5+pgwdZw==} peerDependencies: '@firebase/app': 0.x - '@firebase/logger@0.5.0': - resolution: {integrity: sha512-cGskaAvkrnh42b3BA3doDWeBmuHFO/Mx5A83rbRDYakPjO9bJtRL3dX7javzc2Rr/JHZf4HlterTW2lUkfeN4g==} + '@firebase/logger@0.5.1': + resolution: {integrity: sha512-vZKLsqE1ABOy8OjQiE7cUTFn4gvaqlk88yp8N94Pk/sDpq61YqZGqmVFZTvOyflTwuYFcWirBdYGoJgbDaXKYQ==} engines: {node: '>=20.0.0'} - '@firebase/messaging-compat@0.2.25': - resolution: {integrity: sha512-eoOQqGLtRlseTdiemTN44LlHZpltK5gnhq8XVUuLgtIOG+odtDzrz2UoTpcJWSzaJQVxNLb/x9f39tHdDM4N4w==} + '@firebase/messaging-compat@0.2.26': + resolution: {integrity: sha512-fn0XvWOfK4tsDLSipwJUW9Cp6ahWA6z+iJHxZ0pHp9MzMSUNQx85yuxZAuI7gkGXfqs7+DqEDHyyS7jDGswrmQ==} peerDependencies: '@firebase/app-compat': 0.x - '@firebase/messaging-interop-types@0.2.3': - resolution: {integrity: sha512-xfzFaJpzcmtDjycpDeCUj0Ge10ATFi/VHVIvEEjDNc3hodVBQADZ7BWQU7CuFpjSHE+eLuBI13z5F/9xOoGX8Q==} + '@firebase/messaging-interop-types@0.2.4': + resolution: {integrity: sha512-wrzITQq+xw5LtygX7O0fu43/k9ABQ4x5H9/sR5m1SbNnhIRI5xd3+raSNJaJkYC4BUhM9A4ZNSnyR2sjhxnb2Q==} - '@firebase/messaging@0.12.25': - resolution: {integrity: sha512-7RhDwoDHlOK1/ou0/LeubxmjcngsTjDdrY/ssg2vwAVpUuVAhQzQvuCAOYxcX5wNC1zCgQ54AP1vdngBwbCmOQ==} + '@firebase/messaging@0.12.26': + resolution: {integrity: sha512-lHVTO9uLofymHVWkYeUtMddIPcmJvSzVbHRB88W6XKfxbcKF+p3QrfqKhDxremSB4NQjUla1Gwn7d9umSMmt/w==} peerDependencies: '@firebase/app': 0.x - '@firebase/performance-compat@0.2.24': - resolution: {integrity: sha512-YRlejH8wLt7ThWao+HXoKUHUrZKGYq+otxkPS+8nuE5PeN1cBXX7NAJl9ueuUkBwMIrnKdnDqL/voHXxDAAt3g==} + '@firebase/performance-compat@0.2.25': + resolution: {integrity: sha512-q6NjTXpIPoFuUmCmMN/maCdTgzT6aExs9xZo+PxfVLj6uLVGvpyAD6XWjmcrb7jChsFBYbq7E5dyNDF7Zhy9kA==} peerDependencies: '@firebase/app-compat': 0.x - '@firebase/performance-types@0.2.3': - resolution: {integrity: sha512-IgkyTz6QZVPAq8GSkLYJvwSLr3LS9+V6vNPQr0x4YozZJiLF5jYixj0amDtATf1X0EtYHqoPO48a9ija8GocxQ==} + '@firebase/performance-types@0.2.4': + resolution: {integrity: sha512-kJSEk7b0uhpcPRyL4SQ/GPujLqk52XNKcXlnsKDbWGAb9vugcLvOU3u6zfEdwd+d8hWJb5S5ZizV1JFFI0nkKg==} - '@firebase/performance@0.7.11': - resolution: {integrity: sha512-V3uAhrz7IYJuji+OgT3qYTGKxpek/TViXti9OSsUJ4AexZ3jQjYH5Yrn7JvBxk8MGiSLsC872hh+BxQiPZsm7g==} + '@firebase/performance@0.7.12': + resolution: {integrity: sha512-fe7nV8teUU3OBHlMUZ9Lw4gLhCW2k4m5Uc3pfWGV+fl8uwJQBGp9Q3lqsJ+HSrFu3Q2pJyLAgrClPGSKyDeYgQ==} peerDependencies: '@firebase/app': 0.x - '@firebase/remote-config-compat@0.2.23': - resolution: {integrity: sha512-4+KqRRHEUUmKT6tFmnpWATOsaFfmSuBs1jXH8JzVtMLEYqq/WS9IDM92OdefFDSrAA2xGd0WN004z8mKeIIscw==} + '@firebase/remote-config-compat@0.2.24': + resolution: {integrity: sha512-EWZTt6fJ7YmPHodQNsSxAIDZY2x8P5kRPvXAc5CmzzBm+NyPFhODbfDsNllDXDL8jlzp50bVWjDY+BXepZS9Mg==} peerDependencies: '@firebase/app-compat': 0.x - '@firebase/remote-config-types@0.5.0': - resolution: {integrity: sha512-vI3bqLoF14L/GchtgayMiFpZJF+Ao3uR8WCde0XpYNkSokDpAKca2DxvcfeZv7lZUqkUwQPL2wD83d3vQ4vvrg==} + '@firebase/remote-config-types@0.5.1': + resolution: {integrity: sha512-cX/1LT6KQwkXzck2eSzeKnuvXZCyr8qaPpDcikoJs7jmI+oBOXixpDLeDtWj1U6GNMkIoXrEDNoyT2Ypcyp5/A==} - '@firebase/remote-config@0.8.2': - resolution: {integrity: sha512-5EXqOThV4upjK9D38d/qOSVwOqRhemlaOFk9vCkMNNALeIlwr+4pLjtLNo4qoY8etQmU/1q4aIATE9N8PFqg0g==} + '@firebase/remote-config@0.8.3': + resolution: {integrity: sha512-ggGKAaLy9YNOvpFoQZgm5p5SiFw3ZFtwti08dojnBQmQicpThTxvG5xZMSpCTYMj2o3gM/yK9CVd2w+kZub8YA==} peerDependencies: '@firebase/app': 0.x - '@firebase/storage-compat@0.4.2': - resolution: {integrity: sha512-R+aB38wxCH5zjIO/xu9KznI7fgiPuZAG98uVm1NcidHyyupGgIDLKigGmRGBZMnxibe/m2oxNKoZpfEbUX2aQQ==} + '@firebase/storage-compat@0.4.3': + resolution: {integrity: sha512-gruVqjtUGX8tEoeNbaWXZm0Zfcfcb7fvmDmBxV8yPAbWvExRnZYLO2+qw9idxNE7BvPXt5csyjSYHy//dAizxw==} engines: {node: '>=20.0.0'} peerDependencies: '@firebase/app-compat': 0.x - '@firebase/storage-types@0.8.3': - resolution: {integrity: sha512-+Muk7g9uwngTpd8xn9OdF/D48uiQ7I1Fae7ULsWPuKoCH3HU7bfFPhxtJYzyhjdniowhuDpQcfPmuNRAqZEfvg==} + '@firebase/storage-types@0.8.4': + resolution: {integrity: sha512-BT7cwxJOx8SWwlQfrlC+bD/Sk3Cw+1odCi8UZNFNWTVZoPsBnA5W+mqtZzVnvsdJpXCFGSGQ7R7vOR6dtM/BRA==} peerDependencies: '@firebase/app-types': 0.x '@firebase/util': 1.x - '@firebase/storage@0.14.2': - resolution: {integrity: sha512-o/culaTeJ8GRpKXRJov21rux/n9dRaSOWLebyatFP2sqEdCxQPjVA1H9Z2fzYwQxMIU0JVmC7SPPmU11v7L6vQ==} + '@firebase/storage@0.14.3': + resolution: {integrity: sha512-YX4/YL6P6/fufSSeGnVhjWddcIXbFq2cWIhMKFTZo1E/Rtcl2mJj/BYUQTwJfcE1Tl8un1FOya4L05jcSLN/Eg==} engines: {node: '>=20.0.0'} peerDependencies: '@firebase/app': 0.x - '@firebase/util@1.15.0': - resolution: {integrity: sha512-AmWf3cHAOMbrCPG4xdPKQaj5iHnyYfyLKZxwz+Xf55bqKbpAmcYifB4jQinT2W9XhDRHISOoPyBOariJpCG6FA==} + '@firebase/util@1.15.1': + resolution: {integrity: sha512-LUdM4Wg7YM9Pq/49nGYySJA0CSQEKnGffFzWV8+6gXN7mGxn+FL1IqvFbuZUtAQcfZgHYDwCE1wwlK7rB7gl2g==} engines: {node: '>=20.0.0'} - '@firebase/webchannel-wrapper@1.0.5': - resolution: {integrity: sha512-+uGNN7rkfn41HLO0vekTFhTxk61eKa8mTpRGLO0QSqlQdKvIoGAvLp3ppdVIWbTGYJWM6Kp0iN+PjMIOcnVqTw==} + '@firebase/webchannel-wrapper@1.0.6': + resolution: {integrity: sha512-Vr/Mqu79dMwGRAyGbJ4uN4+BtXB3/mRTdzetD1daWNeG8QaWuzhhbG77GltO5c0yYmYls8i250iX73624GJd7Q==} '@gar/promise-retry@1.0.3': resolution: {integrity: sha512-GmzA9ckNokPypTg10pgpeHNQe7ph+iIKKmhKu3Ob9ANkswreCx7R3cKmY781K8QK3AqVL3xVh9A42JvIAbkkSA==} @@ -4496,277 +4496,139 @@ packages: cpu: [arm] os: [android] - '@rollup/rollup-android-arm-eabi@4.60.4': - resolution: {integrity: sha512-F5QXMSiFebS9hKZj02XhWLLnRpJ3B3AROP0tWbFBSj+6kCbg5m9j5JoHKd4mmSVy5mS/IMQloYgYxCuJC0fxEQ==} - cpu: [arm] - os: [android] - '@rollup/rollup-android-arm64@4.60.2': resolution: {integrity: sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==} cpu: [arm64] os: [android] - '@rollup/rollup-android-arm64@4.60.4': - resolution: {integrity: sha512-GxxTKApUpzRhof7poWvCJHRF51C67u1R7D6DiluBE8wKU1u5GWE8t+v81JvJYtbawoBFX1hLv5Ei4eVjkWokaw==} - cpu: [arm64] - os: [android] - '@rollup/rollup-darwin-arm64@4.60.2': resolution: {integrity: sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-arm64@4.60.4': - resolution: {integrity: sha512-tua0TaJxMOB1R0V0RS1jFZ/RpURFDJIOR2A6jWwQeawuFyS4gBW+rntLRaQd0EQ4bd6Vp44Z2rXW+YYDBsj6IA==} - cpu: [arm64] - os: [darwin] - '@rollup/rollup-darwin-x64@4.60.2': resolution: {integrity: sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==} cpu: [x64] os: [darwin] - '@rollup/rollup-darwin-x64@4.60.4': - resolution: {integrity: sha512-CSKq7MsP+5PFIcydhAiR1K0UhEI1A2jWXVKHPCBZ151yOutENwvnPocgVHkivu2kviURtCEB6zUQw0vs8RrhMg==} - cpu: [x64] - os: [darwin] - '@rollup/rollup-freebsd-arm64@4.60.2': resolution: {integrity: sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-arm64@4.60.4': - resolution: {integrity: sha512-+O8OkVdyvXMtJEciu2wS/pzm1IxntEEQx3z5TAVy4l32G0etZn+RsA48ARRrFm6Ri8fvqPQfgrvNxSjKAbnd3g==} - cpu: [arm64] - os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.2': resolution: {integrity: sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==} cpu: [x64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.60.4': - resolution: {integrity: sha512-Iw3oMskH3AfNuhU0MSN7vNbdi4me/NiYo2azqPz/Le16zHSa+3RRmliCMWWQmh4lcndccU40xcJuTYJZxNo/lw==} - cpu: [x64] - os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.60.2': resolution: {integrity: sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==} cpu: [arm] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm-gnueabihf@4.60.4': - resolution: {integrity: sha512-EIPRXTVQpHyF8WOo219AD2yEltPehLTcTMz2fn6JsatLYSzQf00hj3rulF+yauOlF9/FtM2WpkT/hJh/KJFGhA==} - cpu: [arm] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-arm-musleabihf@4.60.2': resolution: {integrity: sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==} cpu: [arm] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm-musleabihf@4.60.4': - resolution: {integrity: sha512-J3Yh9PzzF1Ovah2At+lHiGQdsYgArxBbXv/zHfSyaiFQEqvNv7DcW98pCrmdjCZBrqBiKrKKe2V+aaSGWuBe/w==} - cpu: [arm] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-arm64-gnu@4.60.2': resolution: {integrity: sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==} cpu: [arm64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-arm64-gnu@4.60.4': - resolution: {integrity: sha512-BFDEZMYfUvLn37ONE1yMBojPxnMlTFsdyNoqncT0qFq1mAfllL+ATMMJd8TeuVMiX84s1KbcxcZbXInmcO2mRg==} - cpu: [arm64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-arm64-musl@4.60.2': resolution: {integrity: sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==} cpu: [arm64] os: [linux] libc: [musl] - '@rollup/rollup-linux-arm64-musl@4.60.4': - resolution: {integrity: sha512-pc9EYOSlOgdQ2uPl1o9PF6/kLSgaUosia7gOuS8mB69IxJvlclko1MECXysjs5ryez1/5zjYqx3+xYU0TU6R1A==} - cpu: [arm64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-loong64-gnu@4.60.2': resolution: {integrity: sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==} cpu: [loong64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-loong64-gnu@4.60.4': - resolution: {integrity: sha512-NxnomyxYerDh5n4iLrNa+sH+Z+U4BMEE46V2PgQ/hoB909i8gV1M5wPojWg9fk1jWpO3IQnOs20K4wyZuFLEFQ==} - cpu: [loong64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-loong64-musl@4.60.2': resolution: {integrity: sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==} cpu: [loong64] os: [linux] libc: [musl] - '@rollup/rollup-linux-loong64-musl@4.60.4': - resolution: {integrity: sha512-nbJnQ8a3z1mtmrwImCYhc6BGpThAyYVRQxw9uKSKG4wR6aAYno9sVjJ0zaZcW9BPJX1GbrDPf+SvdWjgTuDmnw==} - cpu: [loong64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-ppc64-gnu@4.60.2': resolution: {integrity: sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==} cpu: [ppc64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-ppc64-gnu@4.60.4': - resolution: {integrity: sha512-2EU6acNrQLd8tYvo/LXW535wupT3m6fo7HKo6lr7ktQoItxTyOL1ZCR/GfGCuXl2vR+zmfI6eRXkSemafv+iVg==} - cpu: [ppc64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-ppc64-musl@4.60.2': resolution: {integrity: sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==} cpu: [ppc64] os: [linux] libc: [musl] - '@rollup/rollup-linux-ppc64-musl@4.60.4': - resolution: {integrity: sha512-WeBtoMuaMxiiIrO2IYP3xs6GMWkJP2C0EoT8beTLkUPmzV1i/UcOSVw1d5r9KBODtHKilG5yFxsGRnBbK3wJ4A==} - cpu: [ppc64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-riscv64-gnu@4.60.2': resolution: {integrity: sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==} cpu: [riscv64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-riscv64-gnu@4.60.4': - resolution: {integrity: sha512-FJHFfqpKUI3A10WrWKiFbBZ7yVbGT4q4B5o1qKFFojqpaYoh9LrQgqWCmmcxQzVSXYtyB5bzkXrYzlHTs21MYA==} - cpu: [riscv64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-riscv64-musl@4.60.2': resolution: {integrity: sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==} cpu: [riscv64] os: [linux] libc: [musl] - '@rollup/rollup-linux-riscv64-musl@4.60.4': - resolution: {integrity: sha512-mcEl6CUT5IAUmQf1m9FYSmVqCJlpQ8r8eyftFUHG8i9OhY7BkBXSUdnLH5DOf0wCOjcP9v/QO93zpmF1SptCCw==} - cpu: [riscv64] - os: [linux] - libc: [musl] - '@rollup/rollup-linux-s390x-gnu@4.60.2': resolution: {integrity: sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==} cpu: [s390x] os: [linux] libc: [glibc] - '@rollup/rollup-linux-s390x-gnu@4.60.4': - resolution: {integrity: sha512-ynt3JxVd2w2buzoKDWIyiV1pJW93xlQic1THVLXilz429oijRpSHivZAgp65KBu+cMcgf1eVVjdnTLvPxgCuoQ==} - cpu: [s390x] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.2': resolution: {integrity: sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==} cpu: [x64] os: [linux] libc: [glibc] - '@rollup/rollup-linux-x64-gnu@4.60.4': - resolution: {integrity: sha512-Boiz5+MsaROEWDf+GGEwF8VMHGhlUoQMtIPjOgA5fv4osupqTVnJteQNKJwUcnUog2G55jYXH7KZFFiJe0TEzQ==} - cpu: [x64] - os: [linux] - libc: [glibc] - '@rollup/rollup-linux-x64-musl@4.60.2': resolution: {integrity: sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==} cpu: [x64] os: [linux] libc: [musl] - '@rollup/rollup-linux-x64-musl@4.60.4': - resolution: {integrity: sha512-+qfSY27qIrFfI/Hom04KYFw3GKZSGU4lXus51wsb5EuySfFlWRwjkKWoE9emgRw/ukoT4Udsj4W/+xxG8VbPKg==} - cpu: [x64] - os: [linux] - libc: [musl] - '@rollup/rollup-openbsd-x64@4.60.2': resolution: {integrity: sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==} cpu: [x64] os: [openbsd] - '@rollup/rollup-openbsd-x64@4.60.4': - resolution: {integrity: sha512-VpTfOPHgVXEBeeR8hZ2O0F3aSso+JDWqTWmTmzcQKted54IAdUVbxE+j/MVxUsKa8L20HJhv3vUezVPoquqWjA==} - cpu: [x64] - os: [openbsd] - '@rollup/rollup-openharmony-arm64@4.60.2': resolution: {integrity: sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==} cpu: [arm64] os: [openharmony] - '@rollup/rollup-openharmony-arm64@4.60.4': - resolution: {integrity: sha512-IPOsh5aRYuLv/nkU51X10Bf75Bsf6+gZdx1X+QP5QM6lIJFHHqbHLG0uJn/hWthzo13UAc2umiUorqZy3axoZg==} - cpu: [arm64] - os: [openharmony] - '@rollup/rollup-win32-arm64-msvc@4.60.2': resolution: {integrity: sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.60.4': - resolution: {integrity: sha512-4QzE9E81OohJ/HKzHhsqU+zcYYojVOXlFMs1DdyMT6qXl/niOH7AVElmmEdUNHHS/oRkc++d5k6Vy85zFs0DEw==} - cpu: [arm64] - os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.2': resolution: {integrity: sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.60.4': - resolution: {integrity: sha512-zTPgT1YuHHcd+Tmx7h8aml0FWFVelV5N54oHow9SLj+GfoDy/huQ+UV396N/C7KpMDMiPspRktzM1/0r1usYEA==} - cpu: [ia32] - os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.2': resolution: {integrity: sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-gnu@4.60.4': - resolution: {integrity: sha512-DRS4G7mi9lJxqEDezIkKCaUIKCrLUUDCUaCsTPCi/rtqaC6D/jjwslMQyiDU50Ka0JKpeXeRBFBAXwArY52vBw==} - cpu: [x64] - os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.2': resolution: {integrity: sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==} cpu: [x64] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.60.4': - resolution: {integrity: sha512-QVTUovf40zgTqlFVrKA1uXMVvU2QWEFWfAH8Wdc48IxLvrJMQVMBRjuQyUpzZCDkakImib9eVazbWlC6ksWtJw==} - cpu: [x64] - os: [win32] - '@rollup/wasm-node@4.60.4': resolution: {integrity: sha512-j6qaRjdDujJ5utX5l6+8eiWlvMLmBfPMBht8mHP2au3xuzf+4deu6PuCquH5GvDIvIOsWHZhA1UVz/s0FvvgAA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -7646,8 +7508,8 @@ packages: engines: {node: '>=20.0.0 || >=22.0.0 || >=24.0.0'} hasBin: true - firebase@12.12.1: - resolution: {integrity: sha512-ee7xA+bTJLfjB9BP/8FQr3EkxmpAAGc1lNc5QkWgTDpUw24HYXFPm7FEWRdLtGnygxIdYpFmepSc5VjkI6NHhw==} + firebase@12.13.0: + resolution: {integrity: sha512-iutR8ejvAqk6qUClnsPz3U3VIjTWp243AX4cD3iifak5t56to1J29xUIQgSDDzaAqKvhshZerzSahwMQj2TlvA==} flagged-respawn@2.0.0: resolution: {integrity: sha512-Gq/a6YCi8zexmGHMuJwahTGzXlAZAOsbCVKduWXC6TlLCjjFRlExMJc4GC2NYPYZ0r/brw9P7CpRgQmlPVeOoA==} @@ -7663,8 +7525,8 @@ packages: fn.name@1.1.0: resolution: {integrity: sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==} - folder-hash@4.1.2: - resolution: {integrity: sha512-rjdiHw3ShVonhMZZXvD/I28boUkbJFT/RBsg5MbQQd8e61PhevIwFwmL218/AscBEsW/blH4BC4A+kFeIqHVfw==} + folder-hash@4.1.3: + resolution: {integrity: sha512-94fj+fXj1XHT8zGumUy/VlyFARc/yrslKJ2+vjrP/U6ftTdL7u68+gQhvSBjz9wrwTuty6BpZ7JsbEK5OU9RNw==} engines: {node: '>=10.10.0'} hasBin: true @@ -9686,8 +9548,8 @@ packages: resolution: {integrity: sha512-eonl3sLUha+S1GzTPxychyhnUzKyeQkZ7jLjKrBagJgPla13F+uQ71HgpFefyHgqrjEbCPkDArxYsjY8/+gLKA==} engines: {node: '>= 0.4.0'} - ng-packagr@22.0.0-next.4: - resolution: {integrity: sha512-rZorWpYgRUHJ6DVgHb+Ele+spOTH/lQu6u0HA3HL4N8a+vIipEIZ/JUPXNfAhcGd0yhj7jhuokD7akIjiL3zzg==} + ng-packagr@22.0.0-rc.0: + resolution: {integrity: sha512-5R/axgfRB500l2fhFMVdjqZB2FhEgxHIKIauSsFBFTeJ3XbODKsQZiVya2P8/LTXEQRit1tOkvjYYB9iwlrPZg==} engines: {node: ^22.22.0 || ^24.13.1 || >=26.0.0} hasBin: true peerDependencies: @@ -9713,8 +9575,8 @@ packages: '@angular/core': '>=17.3.0' rxjs: '>=7.0.0' - nock@14.0.14: - resolution: {integrity: sha512-PKk7tex0O3RRXUZC5XDKJ9yM3rYRPS13myduT85VIIYDBnib42Fpxoe6KxRSzqB4iL2NDxkcJ2yiskZ18hGLEQ==} + nock@14.0.15: + resolution: {integrity: sha512-S0a47C9pLvcYx/Ugf0H30BVBEcUgMMBDk9VJIDlJ8XGrfH2QDUD4Tgdp45qDIiHttokBG+IbsOtsvIjGR/j3bg==} engines: {node: '>=18.20.0 <20 || >=20.12.1'} node-abi@3.92.0: @@ -10812,11 +10674,6 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - rollup@4.60.4: - resolution: {integrity: sha512-WHeFSbZYsPu3+bLoNRUuAO+wavNlocOPf3wSHTP7hcFKVnJeWsYlCDbr3mTS14FCizf9ccIxXA8sGL8zKeQN3g==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - roughjs@4.6.6: resolution: {integrity: sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==} @@ -11715,8 +11572,8 @@ packages: peerDependencies: typescript: 6.0.3 - tsx@4.21.0: - resolution: {integrity: sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==} + tsx@4.22.1: + resolution: {integrity: sha512-TvncJykhxAzFCk0VQZKBTClall4Pm7qXDSodb6uxi8QFa8X8mT6ABjxxsQ2opDRYxG7AzcRWXaFtruz5HJKuWg==} engines: {node: '>=18.0.0'} hasBin: true @@ -12574,11 +12431,6 @@ packages: resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} engines: {node: '>=18'} - yaml@2.8.4: - resolution: {integrity: sha512-ml/JPOj9fOQK8RNnWojA67GbZ0ApXAUlN2UQclwv2eVgTgn7O9gg9o7paZWKMp4g0H3nTLtS9LVzhkpOFIKzog==} - engines: {node: '>= 14.6'} - hasBin: true - yaml@2.9.0: resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==} engines: {node: '>= 14.6'} @@ -12804,13 +12656,13 @@ snapshots: transitivePeerDependencies: - chokidar - ? '@angular-devkit/build-angular@22.0.0-rc.0(@angular/compiler-cli@packages+compiler-cli)(@angular/compiler@packages+compiler)(@angular/core@packages+core)(@angular/localize@packages+localize)(@angular/platform-browser@packages+platform-browser)(@angular/platform-server@packages+platform-server)(@angular/service-worker@packages+service-worker)(@angular/ssr@22.0.0-rc.0(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-server@packages+platform-server)(@angular/router@packages+router))(@types/node@20.19.41)(bufferutil@4.1.0)(chokidar@5.0.0)(jiti@2.7.0)(karma@6.4.4(bufferutil@4.1.0))(lightningcss@1.32.0)(ng-packagr@22.0.0-next.4(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.9.0))(tslib@2.8.1)(typescript@6.0.3))(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.9.0))(tsx@4.21.0)(typescript@6.0.3)(vitest@4.1.6(@opentelemetry/api@1.9.1)(@types/node@20.19.41)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))(yaml@2.9.0)' + ? '@angular-devkit/build-angular@22.0.0-rc.0(@angular/compiler-cli@packages+compiler-cli)(@angular/compiler@packages+compiler)(@angular/core@packages+core)(@angular/localize@packages+localize)(@angular/platform-browser@packages+platform-browser)(@angular/platform-server@packages+platform-server)(@angular/service-worker@packages+service-worker)(@angular/ssr@22.0.0-rc.0(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-server@packages+platform-server)(@angular/router@packages+router))(@types/node@20.19.41)(bufferutil@4.1.0)(chokidar@5.0.0)(jiti@2.7.0)(karma@6.4.4(bufferutil@4.1.0))(lightningcss@1.32.0)(ng-packagr@22.0.0-rc.0(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.22.1)(yaml@2.9.0))(tslib@2.8.1)(typescript@6.0.3))(tailwindcss@3.4.19(tsx@4.22.1)(yaml@2.9.0))(tsx@4.22.1)(typescript@6.0.3)(vitest@4.1.6(@opentelemetry/api@1.9.1)(@types/node@20.19.41)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0))(yaml@2.9.0)' : dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0(chokidar@5.0.0) '@angular-devkit/build-webpack': 0.2200.0-rc.0(chokidar@5.0.0)(webpack-dev-server@5.2.3(bufferutil@4.1.0)(tslib@2.8.1)(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)))(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)) '@angular-devkit/core': 22.0.0-rc.0(chokidar@5.0.0) - '@angular/build': 22.0.0-rc.0(0e3ef2aad3f394d54ea1c7e5fa55e98a) + '@angular/build': 22.0.0-rc.0(ec9aa39d70bf3bcd80313fec70d4963f) '@angular/compiler-cli': link:packages/compiler-cli '@babel/core': 7.29.0 '@babel/generator': 7.29.1 @@ -12870,8 +12722,8 @@ snapshots: '@angular/ssr': 22.0.0-rc.0(@angular/common@packages+common)(@angular/core@packages+core)(@angular/platform-server@packages+platform-server)(@angular/router@packages+router) esbuild: 0.28.0 karma: 6.4.4(bufferutil@4.1.0)(utf-8-validate@6.0.6) - ng-packagr: 22.0.0-next.4(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.9.0))(tslib@2.8.1)(typescript@6.0.3) - tailwindcss: 3.4.19(tsx@4.21.0)(yaml@2.9.0) + ng-packagr: 22.0.0-rc.0(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.22.1)(yaml@2.9.0))(tslib@2.8.1)(typescript@6.0.3) + tailwindcss: 3.4.19(tsx@4.22.1)(yaml@2.9.0) transitivePeerDependencies: - '@angular/compiler' - '@minify-html/node' @@ -12938,7 +12790,7 @@ snapshots: '@angular/core': link:packages/core tslib: 2.8.1 - '@angular/build@22.0.0-rc.0(0e3ef2aad3f394d54ea1c7e5fa55e98a)': + '@angular/build@22.0.0-rc.0(03e48596f7b603bf67ba0ad34c6e3294)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0(chokidar@5.0.0) @@ -12947,8 +12799,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@20.19.41) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + '@inquirer/confirm': 6.0.12(@types/node@24.12.2) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@24.12.2)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -12967,7 +12819,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + vite: 7.3.2(@types/node@24.12.2)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:packages/core @@ -12980,10 +12832,10 @@ snapshots: karma: 6.4.4(bufferutil@4.1.0)(utf-8-validate@6.0.6) less: 4.6.4 lmdb: 3.5.4 - ng-packagr: 22.0.0-next.4(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.9.0))(tslib@2.8.1)(typescript@6.0.3) + ng-packagr: 22.0.0-rc.0(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.22.1)(yaml@2.9.0))(tslib@2.8.1)(typescript@6.0.3) postcss: 8.5.13 - tailwindcss: 3.4.19(tsx@4.21.0)(yaml@2.9.0) - vitest: 4.1.6(@opentelemetry/api@1.9.1)(@types/node@20.19.41)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + tailwindcss: 3.4.19(tsx@4.22.1)(yaml@2.9.0) + vitest: 4.1.6(@opentelemetry/api@1.9.1)(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0) transitivePeerDependencies: - '@types/node' - chokidar @@ -12997,7 +12849,7 @@ snapshots: - tsx - yaml - '@angular/build@22.0.0-rc.0(2fca3377aa0917147e2c56e992429f3d)': + '@angular/build@22.0.0-rc.0(271e9d18bfeb4d3b6b5c7f2c9a224782)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0(chokidar@5.0.0) @@ -13006,8 +12858,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@20.19.41) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + '@inquirer/confirm': 6.0.12(@types/node@24.12.2) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@24.12.2)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -13026,7 +12878,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + vite: 7.3.2(@types/node@24.12.2)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:packages/core @@ -13039,10 +12891,10 @@ snapshots: karma: 6.4.4(bufferutil@4.1.0)(utf-8-validate@6.0.6) less: 4.6.4 lmdb: 3.5.4 - ng-packagr: 22.0.0-next.4(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.9.0))(tslib@2.8.1)(typescript@6.0.3) + ng-packagr: 22.0.0-rc.0(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.22.1)(yaml@2.9.0))(tslib@2.8.1)(typescript@6.0.3) postcss: 8.5.14 - tailwindcss: 3.4.19(tsx@4.21.0)(yaml@2.9.0) - vitest: 4.1.6(@opentelemetry/api@1.9.1)(@types/node@20.19.41)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + tailwindcss: 3.4.19(tsx@4.22.1)(yaml@2.9.0) + vitest: 4.1.6(@opentelemetry/api@1.9.1)(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0) transitivePeerDependencies: - '@types/node' - chokidar @@ -13056,7 +12908,7 @@ snapshots: - tsx - yaml - '@angular/build@22.0.0-rc.0(9e4c29b9535e9eeef4fdcfb32f0f5b53)': + '@angular/build@22.0.0-rc.0(3284cb9b8861752ec2a2038a73cd54d5)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0(chokidar@5.0.0) @@ -13065,8 +12917,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@24.12.2) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@24.12.2)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + '@inquirer/confirm': 6.0.12(@types/node@20.19.41) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -13085,7 +12937,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@24.12.2)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:packages/core @@ -13098,10 +12950,10 @@ snapshots: karma: 6.4.4(bufferutil@4.1.0)(utf-8-validate@6.0.6) less: 4.6.4 lmdb: 3.5.4 - ng-packagr: 22.0.0-next.4(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.9.0))(tslib@2.8.1)(typescript@6.0.3) + ng-packagr: 22.0.0-rc.0(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.22.1)(yaml@2.9.0))(tslib@2.8.1)(typescript@6.0.3) postcss: 8.5.14 - tailwindcss: 3.4.19(tsx@4.21.0)(yaml@2.9.0) - vitest: 4.1.6(@opentelemetry/api@1.9.1)(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + tailwindcss: 3.4.19(tsx@4.22.1)(yaml@2.9.0) + vitest: 4.1.6(@opentelemetry/api@1.9.1)(@types/node@20.19.41)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0) transitivePeerDependencies: - '@types/node' - chokidar @@ -13115,7 +12967,7 @@ snapshots: - tsx - yaml - '@angular/build@22.0.0-rc.0(a556ba555378555db50673daa4de029e)': + '@angular/build@22.0.0-rc.0(9d20b07ff39e92a4555b5496b4473648)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0(chokidar@5.0.0) @@ -13125,7 +12977,7 @@ snapshots: '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 '@inquirer/confirm': 6.0.12(@types/node@24.12.4) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@24.12.4)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@24.12.4)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -13144,7 +12996,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@24.12.4)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + vite: 7.3.2(@types/node@24.12.4)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:packages/core @@ -13157,10 +13009,10 @@ snapshots: karma: 6.4.4(bufferutil@4.1.0)(utf-8-validate@6.0.6) less: 4.6.4 lmdb: 3.5.4 - ng-packagr: 22.0.0-next.4(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.9.0))(tslib@2.8.1)(typescript@6.0.3) + ng-packagr: 22.0.0-rc.0(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.22.1)(yaml@2.9.0))(tslib@2.8.1)(typescript@6.0.3) postcss: 8.5.14 - tailwindcss: 3.4.19(tsx@4.21.0)(yaml@2.9.0) - vitest: 4.1.6(@opentelemetry/api@1.9.1)(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + tailwindcss: 3.4.19(tsx@4.22.1)(yaml@2.9.0) + vitest: 4.1.6(@opentelemetry/api@1.9.1)(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0) transitivePeerDependencies: - '@types/node' - chokidar @@ -13174,7 +13026,7 @@ snapshots: - tsx - yaml - '@angular/build@22.0.0-rc.0(fb748cac34e9d8f6e7ea93f5cbdae94c)': + '@angular/build@22.0.0-rc.0(ec9aa39d70bf3bcd80313fec70d4963f)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2200.0-rc.0(chokidar@5.0.0) @@ -13183,8 +13035,8 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-annotate-as-pure': 7.27.3 '@babel/helper-split-export-declaration': 7.24.7 - '@inquirer/confirm': 6.0.12(@types/node@24.12.2) - '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@24.12.2)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + '@inquirer/confirm': 6.0.12(@types/node@20.19.41) + '@vitejs/plugin-basic-ssl': 2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0)) beasties: 0.4.2 browserslist: 4.28.2 esbuild: 0.28.0 @@ -13203,7 +13055,7 @@ snapshots: tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 - vite: 7.3.2(@types/node@24.12.2)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0) watchpack: 2.5.1 optionalDependencies: '@angular/core': link:packages/core @@ -13216,10 +13068,10 @@ snapshots: karma: 6.4.4(bufferutil@4.1.0)(utf-8-validate@6.0.6) less: 4.6.4 lmdb: 3.5.4 - ng-packagr: 22.0.0-next.4(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.9.0))(tslib@2.8.1)(typescript@6.0.3) + ng-packagr: 22.0.0-rc.0(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.22.1)(yaml@2.9.0))(tslib@2.8.1)(typescript@6.0.3) postcss: 8.5.13 - tailwindcss: 3.4.19(tsx@4.21.0)(yaml@2.9.0) - vitest: 4.1.6(@opentelemetry/api@1.9.1)(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + tailwindcss: 3.4.19(tsx@4.22.1)(yaml@2.9.0) + vitest: 4.1.6(@opentelemetry/api@1.9.1)(@types/node@20.19.41)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0) transitivePeerDependencies: - '@types/node' - chokidar @@ -13340,14 +13192,14 @@ 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/2c36222db3f44751284cc93b3806dbe1baee583a(@modelcontextprotocol/sdk@1.29.0(@cfworker/json-schema@4.1.1))': + '@angular/ng-dev@https://codeload.github.com/angular/dev-infra-private-ng-dev-builds/tar.gz/98b21a0cb6ef6d068a99a9346e89812e3ec9d2b1(@modelcontextprotocol/sdk@1.29.0(@cfworker/json-schema@4.1.1))': dependencies: '@actions/core': 3.0.1 '@conventional-changelog/git-client': 2.7.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.4.0) '@google-cloud/spanner': 8.0.0(supports-color@10.2.2) '@google/genai': 1.52.0(@modelcontextprotocol/sdk@1.29.0(@cfworker/json-schema@4.1.1))(bufferutil@4.1.0)(supports-color@10.2.2)(utf-8-validate@6.0.6) - '@inquirer/prompts': 8.4.2(@types/node@24.12.2) - '@inquirer/type': 4.0.5(@types/node@24.12.2) + '@inquirer/prompts': 8.4.3(@types/node@24.12.4) + '@inquirer/type': 4.0.5(@types/node@24.12.4) '@octokit/auth-app': 8.2.0 '@octokit/core': 7.0.6 '@octokit/graphql': 9.0.3 @@ -13364,7 +13216,7 @@ snapshots: '@types/events': 3.0.3 '@types/folder-hash': 4.0.4 '@types/jasmine': 6.0.0 - '@types/node': 24.12.2 + '@types/node': 24.12.4 '@types/semver': 7.7.1 '@types/which': 3.0.4 '@types/yargs': 17.0.35 @@ -13377,23 +13229,23 @@ snapshots: ejs: 5.0.2 encoding: 0.1.13 fast-glob: 3.3.3 - firebase: 12.12.1 - folder-hash: 4.1.2(supports-color@10.2.2) + firebase: 12.13.0 + folder-hash: 4.1.3(supports-color@10.2.2) jasmine: 6.2.0 jasmine-core: 6.2.0 jasmine-reporters: 2.5.2 jsonc-parser: 3.3.1 minimatch: 10.2.5 multimatch: 8.0.0 - nock: 14.0.14 - semver: 7.7.4 + nock: 14.0.15 + semver: 7.8.0 supports-color: 10.2.2 - tsx: 4.21.0 + tsx: 4.22.1 typed-graphqlify: 3.1.6 typescript: 6.0.3 utf-8-validate: 6.0.6 which: 7.0.0 - yaml: 2.8.4 + yaml: 2.9.0 yargs: 18.0.0 zod: 4.4.3 transitivePeerDependencies: @@ -14704,325 +14556,325 @@ snapshots: '@externs/nodejs@1.5.0': {} - '@firebase/ai@2.11.1(@firebase/app-types@0.9.4)(@firebase/app@0.14.11)': + '@firebase/ai@2.12.0(@firebase/app-types@0.9.5)(@firebase/app@0.14.12)': dependencies: - '@firebase/app': 0.14.11 - '@firebase/app-check-interop-types': 0.3.3 - '@firebase/app-types': 0.9.4 - '@firebase/component': 0.7.2 - '@firebase/logger': 0.5.0 - '@firebase/util': 1.15.0 + '@firebase/app': 0.14.12 + '@firebase/app-check-interop-types': 0.3.4 + '@firebase/app-types': 0.9.5 + '@firebase/component': 0.7.3 + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.1 tslib: 2.8.1 - '@firebase/analytics-compat@0.2.27(@firebase/app-compat@0.5.11)(@firebase/app@0.14.11)': + '@firebase/analytics-compat@0.2.28(@firebase/app-compat@0.5.12)(@firebase/app@0.14.12)': dependencies: - '@firebase/analytics': 0.10.21(@firebase/app@0.14.11) - '@firebase/analytics-types': 0.8.3 - '@firebase/app-compat': 0.5.11 - '@firebase/component': 0.7.2 - '@firebase/util': 1.15.0 + '@firebase/analytics': 0.10.22(@firebase/app@0.14.12) + '@firebase/analytics-types': 0.8.4 + '@firebase/app-compat': 0.5.12 + '@firebase/component': 0.7.3 + '@firebase/util': 1.15.1 tslib: 2.8.1 transitivePeerDependencies: - '@firebase/app' - '@firebase/analytics-types@0.8.3': {} + '@firebase/analytics-types@0.8.4': {} - '@firebase/analytics@0.10.21(@firebase/app@0.14.11)': + '@firebase/analytics@0.10.22(@firebase/app@0.14.12)': dependencies: - '@firebase/app': 0.14.11 - '@firebase/component': 0.7.2 - '@firebase/installations': 0.6.21(@firebase/app@0.14.11) - '@firebase/logger': 0.5.0 - '@firebase/util': 1.15.0 + '@firebase/app': 0.14.12 + '@firebase/component': 0.7.3 + '@firebase/installations': 0.6.22(@firebase/app@0.14.12) + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.1 tslib: 2.8.1 - '@firebase/app-check-compat@0.4.2(@firebase/app-compat@0.5.11)(@firebase/app@0.14.11)': + '@firebase/app-check-compat@0.4.3(@firebase/app-compat@0.5.12)(@firebase/app@0.14.12)': dependencies: - '@firebase/app-check': 0.11.2(@firebase/app@0.14.11) - '@firebase/app-check-types': 0.5.3 - '@firebase/app-compat': 0.5.11 - '@firebase/component': 0.7.2 - '@firebase/logger': 0.5.0 - '@firebase/util': 1.15.0 + '@firebase/app-check': 0.11.3(@firebase/app@0.14.12) + '@firebase/app-check-types': 0.5.4 + '@firebase/app-compat': 0.5.12 + '@firebase/component': 0.7.3 + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.1 tslib: 2.8.1 transitivePeerDependencies: - '@firebase/app' - '@firebase/app-check-interop-types@0.3.3': {} + '@firebase/app-check-interop-types@0.3.4': {} - '@firebase/app-check-types@0.5.3': {} + '@firebase/app-check-types@0.5.4': {} - '@firebase/app-check@0.11.2(@firebase/app@0.14.11)': + '@firebase/app-check@0.11.3(@firebase/app@0.14.12)': dependencies: - '@firebase/app': 0.14.11 - '@firebase/component': 0.7.2 - '@firebase/logger': 0.5.0 - '@firebase/util': 1.15.0 + '@firebase/app': 0.14.12 + '@firebase/component': 0.7.3 + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.1 tslib: 2.8.1 - '@firebase/app-compat@0.5.11': + '@firebase/app-compat@0.5.12': dependencies: - '@firebase/app': 0.14.11 - '@firebase/component': 0.7.2 - '@firebase/logger': 0.5.0 - '@firebase/util': 1.15.0 + '@firebase/app': 0.14.12 + '@firebase/component': 0.7.3 + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.1 tslib: 2.8.1 - '@firebase/app-types@0.9.4': + '@firebase/app-types@0.9.5': dependencies: - '@firebase/logger': 0.5.0 + '@firebase/logger': 0.5.1 - '@firebase/app@0.14.11': + '@firebase/app@0.14.12': dependencies: - '@firebase/component': 0.7.2 - '@firebase/logger': 0.5.0 - '@firebase/util': 1.15.0 + '@firebase/component': 0.7.3 + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.1 idb: 7.1.1 tslib: 2.8.1 - '@firebase/auth-compat@0.6.5(@firebase/app-compat@0.5.11)(@firebase/app-types@0.9.4)(@firebase/app@0.14.11)': + '@firebase/auth-compat@0.6.6(@firebase/app-compat@0.5.12)(@firebase/app-types@0.9.5)(@firebase/app@0.14.12)': dependencies: - '@firebase/app-compat': 0.5.11 - '@firebase/auth': 1.13.0(@firebase/app@0.14.11) - '@firebase/auth-types': 0.13.0(@firebase/app-types@0.9.4)(@firebase/util@1.15.0) - '@firebase/component': 0.7.2 - '@firebase/util': 1.15.0 + '@firebase/app-compat': 0.5.12 + '@firebase/auth': 1.13.1(@firebase/app@0.14.12) + '@firebase/auth-types': 0.13.1(@firebase/app-types@0.9.5)(@firebase/util@1.15.1) + '@firebase/component': 0.7.3 + '@firebase/util': 1.15.1 tslib: 2.8.1 transitivePeerDependencies: - '@firebase/app' - '@firebase/app-types' - '@react-native-async-storage/async-storage' - '@firebase/auth-interop-types@0.2.4': {} + '@firebase/auth-interop-types@0.2.5': {} - '@firebase/auth-types@0.13.0(@firebase/app-types@0.9.4)(@firebase/util@1.15.0)': + '@firebase/auth-types@0.13.1(@firebase/app-types@0.9.5)(@firebase/util@1.15.1)': dependencies: - '@firebase/app-types': 0.9.4 - '@firebase/util': 1.15.0 + '@firebase/app-types': 0.9.5 + '@firebase/util': 1.15.1 - '@firebase/auth@1.13.0(@firebase/app@0.14.11)': + '@firebase/auth@1.13.1(@firebase/app@0.14.12)': dependencies: - '@firebase/app': 0.14.11 - '@firebase/component': 0.7.2 - '@firebase/logger': 0.5.0 - '@firebase/util': 1.15.0 + '@firebase/app': 0.14.12 + '@firebase/component': 0.7.3 + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.1 tslib: 2.8.1 - '@firebase/component@0.7.2': + '@firebase/component@0.7.3': dependencies: - '@firebase/util': 1.15.0 + '@firebase/util': 1.15.1 tslib: 2.8.1 - '@firebase/data-connect@0.6.0(@firebase/app@0.14.11)': + '@firebase/data-connect@0.7.0(@firebase/app@0.14.12)': dependencies: - '@firebase/app': 0.14.11 - '@firebase/auth-interop-types': 0.2.4 - '@firebase/component': 0.7.2 - '@firebase/logger': 0.5.0 - '@firebase/util': 1.15.0 + '@firebase/app': 0.14.12 + '@firebase/auth-interop-types': 0.2.5 + '@firebase/component': 0.7.3 + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.1 tslib: 2.8.1 - '@firebase/database-compat@2.1.3': + '@firebase/database-compat@2.1.4': dependencies: - '@firebase/component': 0.7.2 - '@firebase/database': 1.1.2 - '@firebase/database-types': 1.0.19 - '@firebase/logger': 0.5.0 - '@firebase/util': 1.15.0 + '@firebase/component': 0.7.3 + '@firebase/database': 1.1.3 + '@firebase/database-types': 1.0.20 + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.1 tslib: 2.8.1 - '@firebase/database-types@1.0.19': + '@firebase/database-types@1.0.20': dependencies: - '@firebase/app-types': 0.9.4 - '@firebase/util': 1.15.0 + '@firebase/app-types': 0.9.5 + '@firebase/util': 1.15.1 - '@firebase/database@1.1.2': + '@firebase/database@1.1.3': dependencies: - '@firebase/app-check-interop-types': 0.3.3 - '@firebase/auth-interop-types': 0.2.4 - '@firebase/component': 0.7.2 - '@firebase/logger': 0.5.0 - '@firebase/util': 1.15.0 + '@firebase/app-check-interop-types': 0.3.4 + '@firebase/auth-interop-types': 0.2.5 + '@firebase/component': 0.7.3 + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.1 faye-websocket: 0.11.4 tslib: 2.8.1 - '@firebase/firestore-compat@0.4.8(@firebase/app-compat@0.5.11)(@firebase/app-types@0.9.4)(@firebase/app@0.14.11)': + '@firebase/firestore-compat@0.4.9(@firebase/app-compat@0.5.12)(@firebase/app-types@0.9.5)(@firebase/app@0.14.12)': dependencies: - '@firebase/app-compat': 0.5.11 - '@firebase/component': 0.7.2 - '@firebase/firestore': 4.14.0(@firebase/app@0.14.11) - '@firebase/firestore-types': 3.0.3(@firebase/app-types@0.9.4)(@firebase/util@1.15.0) - '@firebase/util': 1.15.0 + '@firebase/app-compat': 0.5.12 + '@firebase/component': 0.7.3 + '@firebase/firestore': 4.14.1(@firebase/app@0.14.12) + '@firebase/firestore-types': 3.0.4(@firebase/app-types@0.9.5)(@firebase/util@1.15.1) + '@firebase/util': 1.15.1 tslib: 2.8.1 transitivePeerDependencies: - '@firebase/app' - '@firebase/app-types' - '@firebase/firestore-types@3.0.3(@firebase/app-types@0.9.4)(@firebase/util@1.15.0)': + '@firebase/firestore-types@3.0.4(@firebase/app-types@0.9.5)(@firebase/util@1.15.1)': dependencies: - '@firebase/app-types': 0.9.4 - '@firebase/util': 1.15.0 + '@firebase/app-types': 0.9.5 + '@firebase/util': 1.15.1 - '@firebase/firestore@4.14.0(@firebase/app@0.14.11)': + '@firebase/firestore@4.14.1(@firebase/app@0.14.12)': dependencies: - '@firebase/app': 0.14.11 - '@firebase/component': 0.7.2 - '@firebase/logger': 0.5.0 - '@firebase/util': 1.15.0 - '@firebase/webchannel-wrapper': 1.0.5 + '@firebase/app': 0.14.12 + '@firebase/component': 0.7.3 + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.1 + '@firebase/webchannel-wrapper': 1.0.6 '@grpc/grpc-js': 1.9.15 '@grpc/proto-loader': 0.7.15 tslib: 2.8.1 - '@firebase/functions-compat@0.4.3(@firebase/app-compat@0.5.11)(@firebase/app@0.14.11)': + '@firebase/functions-compat@0.4.4(@firebase/app-compat@0.5.12)(@firebase/app@0.14.12)': dependencies: - '@firebase/app-compat': 0.5.11 - '@firebase/component': 0.7.2 - '@firebase/functions': 0.13.3(@firebase/app@0.14.11) - '@firebase/functions-types': 0.6.3 - '@firebase/util': 1.15.0 + '@firebase/app-compat': 0.5.12 + '@firebase/component': 0.7.3 + '@firebase/functions': 0.13.4(@firebase/app@0.14.12) + '@firebase/functions-types': 0.6.4 + '@firebase/util': 1.15.1 tslib: 2.8.1 transitivePeerDependencies: - '@firebase/app' - '@firebase/functions-types@0.6.3': {} + '@firebase/functions-types@0.6.4': {} - '@firebase/functions@0.13.3(@firebase/app@0.14.11)': + '@firebase/functions@0.13.4(@firebase/app@0.14.12)': dependencies: - '@firebase/app': 0.14.11 - '@firebase/app-check-interop-types': 0.3.3 - '@firebase/auth-interop-types': 0.2.4 - '@firebase/component': 0.7.2 - '@firebase/messaging-interop-types': 0.2.3 - '@firebase/util': 1.15.0 + '@firebase/app': 0.14.12 + '@firebase/app-check-interop-types': 0.3.4 + '@firebase/auth-interop-types': 0.2.5 + '@firebase/component': 0.7.3 + '@firebase/messaging-interop-types': 0.2.4 + '@firebase/util': 1.15.1 tslib: 2.8.1 - '@firebase/installations-compat@0.2.21(@firebase/app-compat@0.5.11)(@firebase/app-types@0.9.4)(@firebase/app@0.14.11)': + '@firebase/installations-compat@0.2.22(@firebase/app-compat@0.5.12)(@firebase/app-types@0.9.5)(@firebase/app@0.14.12)': dependencies: - '@firebase/app-compat': 0.5.11 - '@firebase/component': 0.7.2 - '@firebase/installations': 0.6.21(@firebase/app@0.14.11) - '@firebase/installations-types': 0.5.3(@firebase/app-types@0.9.4) - '@firebase/util': 1.15.0 + '@firebase/app-compat': 0.5.12 + '@firebase/component': 0.7.3 + '@firebase/installations': 0.6.22(@firebase/app@0.14.12) + '@firebase/installations-types': 0.5.4(@firebase/app-types@0.9.5) + '@firebase/util': 1.15.1 tslib: 2.8.1 transitivePeerDependencies: - '@firebase/app' - '@firebase/app-types' - '@firebase/installations-types@0.5.3(@firebase/app-types@0.9.4)': + '@firebase/installations-types@0.5.4(@firebase/app-types@0.9.5)': dependencies: - '@firebase/app-types': 0.9.4 + '@firebase/app-types': 0.9.5 - '@firebase/installations@0.6.21(@firebase/app@0.14.11)': + '@firebase/installations@0.6.22(@firebase/app@0.14.12)': dependencies: - '@firebase/app': 0.14.11 - '@firebase/component': 0.7.2 - '@firebase/util': 1.15.0 + '@firebase/app': 0.14.12 + '@firebase/component': 0.7.3 + '@firebase/util': 1.15.1 idb: 7.1.1 tslib: 2.8.1 - '@firebase/logger@0.5.0': + '@firebase/logger@0.5.1': dependencies: tslib: 2.8.1 - '@firebase/messaging-compat@0.2.25(@firebase/app-compat@0.5.11)(@firebase/app@0.14.11)': + '@firebase/messaging-compat@0.2.26(@firebase/app-compat@0.5.12)(@firebase/app@0.14.12)': dependencies: - '@firebase/app-compat': 0.5.11 - '@firebase/component': 0.7.2 - '@firebase/messaging': 0.12.25(@firebase/app@0.14.11) - '@firebase/util': 1.15.0 + '@firebase/app-compat': 0.5.12 + '@firebase/component': 0.7.3 + '@firebase/messaging': 0.12.26(@firebase/app@0.14.12) + '@firebase/util': 1.15.1 tslib: 2.8.1 transitivePeerDependencies: - '@firebase/app' - '@firebase/messaging-interop-types@0.2.3': {} + '@firebase/messaging-interop-types@0.2.4': {} - '@firebase/messaging@0.12.25(@firebase/app@0.14.11)': + '@firebase/messaging@0.12.26(@firebase/app@0.14.12)': dependencies: - '@firebase/app': 0.14.11 - '@firebase/component': 0.7.2 - '@firebase/installations': 0.6.21(@firebase/app@0.14.11) - '@firebase/messaging-interop-types': 0.2.3 - '@firebase/util': 1.15.0 + '@firebase/app': 0.14.12 + '@firebase/component': 0.7.3 + '@firebase/installations': 0.6.22(@firebase/app@0.14.12) + '@firebase/messaging-interop-types': 0.2.4 + '@firebase/util': 1.15.1 idb: 7.1.1 tslib: 2.8.1 - '@firebase/performance-compat@0.2.24(@firebase/app-compat@0.5.11)(@firebase/app@0.14.11)': + '@firebase/performance-compat@0.2.25(@firebase/app-compat@0.5.12)(@firebase/app@0.14.12)': dependencies: - '@firebase/app-compat': 0.5.11 - '@firebase/component': 0.7.2 - '@firebase/logger': 0.5.0 - '@firebase/performance': 0.7.11(@firebase/app@0.14.11) - '@firebase/performance-types': 0.2.3 - '@firebase/util': 1.15.0 + '@firebase/app-compat': 0.5.12 + '@firebase/component': 0.7.3 + '@firebase/logger': 0.5.1 + '@firebase/performance': 0.7.12(@firebase/app@0.14.12) + '@firebase/performance-types': 0.2.4 + '@firebase/util': 1.15.1 tslib: 2.8.1 transitivePeerDependencies: - '@firebase/app' - '@firebase/performance-types@0.2.3': {} + '@firebase/performance-types@0.2.4': {} - '@firebase/performance@0.7.11(@firebase/app@0.14.11)': + '@firebase/performance@0.7.12(@firebase/app@0.14.12)': dependencies: - '@firebase/app': 0.14.11 - '@firebase/component': 0.7.2 - '@firebase/installations': 0.6.21(@firebase/app@0.14.11) - '@firebase/logger': 0.5.0 - '@firebase/util': 1.15.0 + '@firebase/app': 0.14.12 + '@firebase/component': 0.7.3 + '@firebase/installations': 0.6.22(@firebase/app@0.14.12) + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.1 tslib: 2.8.1 web-vitals: 4.2.4 - '@firebase/remote-config-compat@0.2.23(@firebase/app-compat@0.5.11)(@firebase/app@0.14.11)': + '@firebase/remote-config-compat@0.2.24(@firebase/app-compat@0.5.12)(@firebase/app@0.14.12)': dependencies: - '@firebase/app-compat': 0.5.11 - '@firebase/component': 0.7.2 - '@firebase/logger': 0.5.0 - '@firebase/remote-config': 0.8.2(@firebase/app@0.14.11) - '@firebase/remote-config-types': 0.5.0 - '@firebase/util': 1.15.0 + '@firebase/app-compat': 0.5.12 + '@firebase/component': 0.7.3 + '@firebase/logger': 0.5.1 + '@firebase/remote-config': 0.8.3(@firebase/app@0.14.12) + '@firebase/remote-config-types': 0.5.1 + '@firebase/util': 1.15.1 tslib: 2.8.1 transitivePeerDependencies: - '@firebase/app' - '@firebase/remote-config-types@0.5.0': {} + '@firebase/remote-config-types@0.5.1': {} - '@firebase/remote-config@0.8.2(@firebase/app@0.14.11)': + '@firebase/remote-config@0.8.3(@firebase/app@0.14.12)': dependencies: - '@firebase/app': 0.14.11 - '@firebase/component': 0.7.2 - '@firebase/installations': 0.6.21(@firebase/app@0.14.11) - '@firebase/logger': 0.5.0 - '@firebase/util': 1.15.0 + '@firebase/app': 0.14.12 + '@firebase/component': 0.7.3 + '@firebase/installations': 0.6.22(@firebase/app@0.14.12) + '@firebase/logger': 0.5.1 + '@firebase/util': 1.15.1 tslib: 2.8.1 - '@firebase/storage-compat@0.4.2(@firebase/app-compat@0.5.11)(@firebase/app-types@0.9.4)(@firebase/app@0.14.11)': + '@firebase/storage-compat@0.4.3(@firebase/app-compat@0.5.12)(@firebase/app-types@0.9.5)(@firebase/app@0.14.12)': dependencies: - '@firebase/app-compat': 0.5.11 - '@firebase/component': 0.7.2 - '@firebase/storage': 0.14.2(@firebase/app@0.14.11) - '@firebase/storage-types': 0.8.3(@firebase/app-types@0.9.4)(@firebase/util@1.15.0) - '@firebase/util': 1.15.0 + '@firebase/app-compat': 0.5.12 + '@firebase/component': 0.7.3 + '@firebase/storage': 0.14.3(@firebase/app@0.14.12) + '@firebase/storage-types': 0.8.4(@firebase/app-types@0.9.5)(@firebase/util@1.15.1) + '@firebase/util': 1.15.1 tslib: 2.8.1 transitivePeerDependencies: - '@firebase/app' - '@firebase/app-types' - '@firebase/storage-types@0.8.3(@firebase/app-types@0.9.4)(@firebase/util@1.15.0)': + '@firebase/storage-types@0.8.4(@firebase/app-types@0.9.5)(@firebase/util@1.15.1)': dependencies: - '@firebase/app-types': 0.9.4 - '@firebase/util': 1.15.0 + '@firebase/app-types': 0.9.5 + '@firebase/util': 1.15.1 - '@firebase/storage@0.14.2(@firebase/app@0.14.11)': + '@firebase/storage@0.14.3(@firebase/app@0.14.12)': dependencies: - '@firebase/app': 0.14.11 - '@firebase/component': 0.7.2 - '@firebase/util': 1.15.0 + '@firebase/app': 0.14.12 + '@firebase/component': 0.7.3 + '@firebase/util': 1.15.1 tslib: 2.8.1 - '@firebase/util@1.15.0': + '@firebase/util@1.15.1': dependencies: tslib: 2.8.1 - '@firebase/webchannel-wrapper@1.0.5': {} + '@firebase/webchannel-wrapper@1.0.6': {} '@gar/promise-retry@1.0.3': {} @@ -15579,6 +15431,21 @@ snapshots: optionalDependencies: '@types/node': 20.19.41 + '@inquirer/prompts@8.4.3(@types/node@24.12.4)': + dependencies: + '@inquirer/checkbox': 5.1.5(@types/node@24.12.4) + '@inquirer/confirm': 6.0.13(@types/node@24.12.4) + '@inquirer/editor': 5.1.2(@types/node@24.12.4) + '@inquirer/expand': 5.0.14(@types/node@24.12.4) + '@inquirer/input': 5.0.13(@types/node@24.12.4) + '@inquirer/number': 4.0.13(@types/node@24.12.4) + '@inquirer/password': 5.0.13(@types/node@24.12.4) + '@inquirer/rawlist': 5.2.9(@types/node@24.12.4) + '@inquirer/search': 4.1.9(@types/node@24.12.4) + '@inquirer/select': 5.1.5(@types/node@24.12.4) + optionalDependencies: + '@types/node': 24.12.4 + '@inquirer/rawlist@4.1.11(@types/node@20.19.41)': dependencies: '@inquirer/core': 10.3.2(@types/node@20.19.41) @@ -16802,11 +16669,11 @@ snapshots: optionalDependencies: rollup: 4.60.2 - '@rollup/plugin-json@6.1.0(rollup@4.60.4)': + '@rollup/plugin-json@6.1.0(rollup@4.60.2)': dependencies: - '@rollup/pluginutils': 5.3.0(rollup@4.60.4) + '@rollup/pluginutils': 5.3.0(rollup@4.60.2) optionalDependencies: - rollup: 4.60.4 + rollup: 4.60.2 '@rollup/plugin-node-resolve@16.0.3(rollup@4.60.2)': dependencies: @@ -16826,164 +16693,81 @@ snapshots: optionalDependencies: rollup: 4.60.2 - '@rollup/pluginutils@5.3.0(rollup@4.60.4)': - dependencies: - '@types/estree': 1.0.9 - estree-walker: 2.0.2 - picomatch: 4.0.4 - optionalDependencies: - rollup: 4.60.4 - '@rollup/rollup-android-arm-eabi@4.60.2': optional: true - '@rollup/rollup-android-arm-eabi@4.60.4': - optional: true - '@rollup/rollup-android-arm64@4.60.2': optional: true - '@rollup/rollup-android-arm64@4.60.4': - optional: true - '@rollup/rollup-darwin-arm64@4.60.2': optional: true - '@rollup/rollup-darwin-arm64@4.60.4': - optional: true - '@rollup/rollup-darwin-x64@4.60.2': optional: true - '@rollup/rollup-darwin-x64@4.60.4': - optional: true - '@rollup/rollup-freebsd-arm64@4.60.2': optional: true - '@rollup/rollup-freebsd-arm64@4.60.4': - optional: true - '@rollup/rollup-freebsd-x64@4.60.2': optional: true - '@rollup/rollup-freebsd-x64@4.60.4': - optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.60.4': - optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.2': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.60.4': - optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.60.4': - optional: true - '@rollup/rollup-linux-arm64-musl@4.60.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.60.4': - optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-loong64-gnu@4.60.4': - optional: true - '@rollup/rollup-linux-loong64-musl@4.60.2': optional: true - '@rollup/rollup-linux-loong64-musl@4.60.4': - optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-ppc64-gnu@4.60.4': - optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.2': optional: true - '@rollup/rollup-linux-ppc64-musl@4.60.4': - optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.60.4': - optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.2': optional: true - '@rollup/rollup-linux-riscv64-musl@4.60.4': - optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.60.4': - optional: true - '@rollup/rollup-linux-x64-gnu@4.60.2': optional: true - '@rollup/rollup-linux-x64-gnu@4.60.4': - optional: true - '@rollup/rollup-linux-x64-musl@4.60.2': optional: true - '@rollup/rollup-linux-x64-musl@4.60.4': - optional: true - '@rollup/rollup-openbsd-x64@4.60.2': optional: true - '@rollup/rollup-openbsd-x64@4.60.4': - optional: true - '@rollup/rollup-openharmony-arm64@4.60.2': optional: true - '@rollup/rollup-openharmony-arm64@4.60.4': - optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.2': optional: true - '@rollup/rollup-win32-arm64-msvc@4.60.4': - optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.60.4': - optional: true - '@rollup/rollup-win32-x64-gnu@4.60.2': optional: true - '@rollup/rollup-win32-x64-gnu@4.60.4': - optional: true - '@rollup/rollup-win32-x64-msvc@4.60.2': optional: true - '@rollup/rollup-win32-x64-msvc@4.60.4': - optional: true - '@rollup/wasm-node@4.60.4': dependencies: '@types/estree': 1.0.8 @@ -17705,17 +17489,17 @@ snapshots: d3-selection: 3.0.0 d3-transition: 3.0.1(d3-selection@3.0.0) - '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))': + '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0))': dependencies: - vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + vite: 7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0) - '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@24.12.2)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))': + '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@24.12.2)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0))': dependencies: - vite: 7.3.2(@types/node@24.12.2)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + vite: 7.3.2(@types/node@24.12.2)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0) - '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@24.12.4)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))': + '@vitejs/plugin-basic-ssl@2.3.0(vite@7.3.2(@types/node@24.12.4)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0))': dependencies: - vite: 7.3.2(@types/node@24.12.4)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + vite: 7.3.2(@types/node@24.12.4)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0) '@vitest/expect@4.1.6': dependencies: @@ -17726,31 +17510,31 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.1.0 - '@vitest/mocker@4.1.6(vite@8.0.13(@types/node@20.19.41)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))': + '@vitest/mocker@4.1.6(vite@8.0.13(@types/node@20.19.41)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0))': dependencies: '@vitest/spy': 4.1.6 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 8.0.13(@types/node@20.19.41)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + vite: 8.0.13(@types/node@20.19.41)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0) optional: true - '@vitest/mocker@4.1.6(vite@8.0.13(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))': + '@vitest/mocker@4.1.6(vite@8.0.13(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0))': dependencies: '@vitest/spy': 4.1.6 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 8.0.13(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + vite: 8.0.13(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0) optional: true - '@vitest/mocker@4.1.6(vite@8.0.13(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0))': + '@vitest/mocker@4.1.6(vite@8.0.13(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0))': dependencies: '@vitest/spy': 4.1.6 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 8.0.13(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + vite: 8.0.13(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0) '@vitest/pretty-format@4.1.6': dependencies: @@ -20386,36 +20170,36 @@ snapshots: - supports-color - utf-8-validate - firebase@12.12.1: - dependencies: - '@firebase/ai': 2.11.1(@firebase/app-types@0.9.4)(@firebase/app@0.14.11) - '@firebase/analytics': 0.10.21(@firebase/app@0.14.11) - '@firebase/analytics-compat': 0.2.27(@firebase/app-compat@0.5.11)(@firebase/app@0.14.11) - '@firebase/app': 0.14.11 - '@firebase/app-check': 0.11.2(@firebase/app@0.14.11) - '@firebase/app-check-compat': 0.4.2(@firebase/app-compat@0.5.11)(@firebase/app@0.14.11) - '@firebase/app-compat': 0.5.11 - '@firebase/app-types': 0.9.4 - '@firebase/auth': 1.13.0(@firebase/app@0.14.11) - '@firebase/auth-compat': 0.6.5(@firebase/app-compat@0.5.11)(@firebase/app-types@0.9.4)(@firebase/app@0.14.11) - '@firebase/data-connect': 0.6.0(@firebase/app@0.14.11) - '@firebase/database': 1.1.2 - '@firebase/database-compat': 2.1.3 - '@firebase/firestore': 4.14.0(@firebase/app@0.14.11) - '@firebase/firestore-compat': 0.4.8(@firebase/app-compat@0.5.11)(@firebase/app-types@0.9.4)(@firebase/app@0.14.11) - '@firebase/functions': 0.13.3(@firebase/app@0.14.11) - '@firebase/functions-compat': 0.4.3(@firebase/app-compat@0.5.11)(@firebase/app@0.14.11) - '@firebase/installations': 0.6.21(@firebase/app@0.14.11) - '@firebase/installations-compat': 0.2.21(@firebase/app-compat@0.5.11)(@firebase/app-types@0.9.4)(@firebase/app@0.14.11) - '@firebase/messaging': 0.12.25(@firebase/app@0.14.11) - '@firebase/messaging-compat': 0.2.25(@firebase/app-compat@0.5.11)(@firebase/app@0.14.11) - '@firebase/performance': 0.7.11(@firebase/app@0.14.11) - '@firebase/performance-compat': 0.2.24(@firebase/app-compat@0.5.11)(@firebase/app@0.14.11) - '@firebase/remote-config': 0.8.2(@firebase/app@0.14.11) - '@firebase/remote-config-compat': 0.2.23(@firebase/app-compat@0.5.11)(@firebase/app@0.14.11) - '@firebase/storage': 0.14.2(@firebase/app@0.14.11) - '@firebase/storage-compat': 0.4.2(@firebase/app-compat@0.5.11)(@firebase/app-types@0.9.4)(@firebase/app@0.14.11) - '@firebase/util': 1.15.0 + firebase@12.13.0: + dependencies: + '@firebase/ai': 2.12.0(@firebase/app-types@0.9.5)(@firebase/app@0.14.12) + '@firebase/analytics': 0.10.22(@firebase/app@0.14.12) + '@firebase/analytics-compat': 0.2.28(@firebase/app-compat@0.5.12)(@firebase/app@0.14.12) + '@firebase/app': 0.14.12 + '@firebase/app-check': 0.11.3(@firebase/app@0.14.12) + '@firebase/app-check-compat': 0.4.3(@firebase/app-compat@0.5.12)(@firebase/app@0.14.12) + '@firebase/app-compat': 0.5.12 + '@firebase/app-types': 0.9.5 + '@firebase/auth': 1.13.1(@firebase/app@0.14.12) + '@firebase/auth-compat': 0.6.6(@firebase/app-compat@0.5.12)(@firebase/app-types@0.9.5)(@firebase/app@0.14.12) + '@firebase/data-connect': 0.7.0(@firebase/app@0.14.12) + '@firebase/database': 1.1.3 + '@firebase/database-compat': 2.1.4 + '@firebase/firestore': 4.14.1(@firebase/app@0.14.12) + '@firebase/firestore-compat': 0.4.9(@firebase/app-compat@0.5.12)(@firebase/app-types@0.9.5)(@firebase/app@0.14.12) + '@firebase/functions': 0.13.4(@firebase/app@0.14.12) + '@firebase/functions-compat': 0.4.4(@firebase/app-compat@0.5.12)(@firebase/app@0.14.12) + '@firebase/installations': 0.6.22(@firebase/app@0.14.12) + '@firebase/installations-compat': 0.2.22(@firebase/app-compat@0.5.12)(@firebase/app-types@0.9.5)(@firebase/app@0.14.12) + '@firebase/messaging': 0.12.26(@firebase/app@0.14.12) + '@firebase/messaging-compat': 0.2.26(@firebase/app-compat@0.5.12)(@firebase/app@0.14.12) + '@firebase/performance': 0.7.12(@firebase/app@0.14.12) + '@firebase/performance-compat': 0.2.25(@firebase/app-compat@0.5.12)(@firebase/app@0.14.12) + '@firebase/remote-config': 0.8.3(@firebase/app@0.14.12) + '@firebase/remote-config-compat': 0.2.24(@firebase/app-compat@0.5.12)(@firebase/app@0.14.12) + '@firebase/storage': 0.14.3(@firebase/app@0.14.12) + '@firebase/storage-compat': 0.4.3(@firebase/app-compat@0.5.12)(@firebase/app-types@0.9.5)(@firebase/app@0.14.12) + '@firebase/util': 1.15.1 transitivePeerDependencies: - '@react-native-async-storage/async-storage' @@ -20427,7 +20211,7 @@ snapshots: fn.name@1.1.0: {} - folder-hash@4.1.2(supports-color@10.2.2): + folder-hash@4.1.3(supports-color@10.2.2): dependencies: debug: 4.4.0(supports-color@10.2.2) minimatch: 7.4.9 @@ -22901,11 +22685,11 @@ snapshots: netmask@2.1.1: {} - ng-packagr@22.0.0-next.4(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.9.0))(tslib@2.8.1)(typescript@6.0.3): + ng-packagr@22.0.0-rc.0(@angular/compiler-cli@packages+compiler-cli)(tailwindcss@3.4.19(tsx@4.22.1)(yaml@2.9.0))(tslib@2.8.1)(typescript@6.0.3): dependencies: '@ampproject/remapping': 2.3.0 '@angular/compiler-cli': link:packages/compiler-cli - '@rollup/plugin-json': 6.1.0(rollup@4.60.4) + '@rollup/plugin-json': 6.1.0(rollup@4.60.2) '@rollup/wasm-node': 4.60.4 ajv: 8.20.0 browserslist: 4.28.2 @@ -22920,15 +22704,15 @@ snapshots: ora: 9.4.0 piscina: 5.1.4 postcss: 8.5.13 - rollup-plugin-dts: 6.4.1(rollup@4.60.4)(typescript@6.0.3) + rollup-plugin-dts: 6.4.1(rollup@4.60.2)(typescript@6.0.3) rxjs: 7.8.2 sass: 1.99.0 tinyglobby: 0.2.16 tslib: 2.8.1 typescript: 6.0.3 optionalDependencies: - rollup: 4.60.4 - tailwindcss: 3.4.19(tsx@4.21.0)(yaml@2.9.0) + rollup: 4.60.2 + tailwindcss: 3.4.19(tsx@4.22.1)(yaml@2.9.0) ngx-flamegraph@0.1.1(@angular/common@packages+common)(@angular/core@packages+core): dependencies: @@ -22944,7 +22728,7 @@ snapshots: rxjs: 7.8.2 tslib: 2.8.1 - nock@14.0.14: + nock@14.0.15: dependencies: '@mswjs/interceptors': 0.41.9 json-stringify-safe: 5.0.1 @@ -23562,13 +23346,13 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.5.13 - postcss-load-config@6.0.1(jiti@1.21.7)(postcss@8.5.13)(tsx@4.21.0)(yaml@2.9.0): + postcss-load-config@6.0.1(jiti@1.21.7)(postcss@8.5.13)(tsx@4.22.1)(yaml@2.9.0): dependencies: lilconfig: 3.1.3 optionalDependencies: jiti: 1.21.7 postcss: 8.5.13 - tsx: 4.21.0 + tsx: 4.22.1 yaml: 2.9.0 postcss-loader@8.2.1(postcss@8.5.13)(typescript@6.0.3)(webpack@5.106.2(esbuild@0.28.0)(lightningcss@1.32.0)(postcss@8.5.13)): @@ -24139,17 +23923,6 @@ snapshots: optionalDependencies: '@babel/code-frame': 7.29.0 - rollup-plugin-dts@6.4.1(rollup@4.60.4)(typescript@6.0.3): - dependencies: - '@jridgewell/remapping': 2.3.5 - '@jridgewell/sourcemap-codec': 1.5.5 - convert-source-map: 2.0.0 - magic-string: 0.30.21 - rollup: 4.60.4 - typescript: 6.0.3 - optionalDependencies: - '@babel/code-frame': 7.29.0 - rollup-plugin-sourcemaps2@0.5.7(@types/node@20.19.41)(rollup@4.60.2): dependencies: '@rollup/pluginutils': 5.3.0(rollup@4.60.2) @@ -24188,37 +23961,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.60.2 fsevents: 2.3.3 - rollup@4.60.4: - dependencies: - '@types/estree': 1.0.8 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.60.4 - '@rollup/rollup-android-arm64': 4.60.4 - '@rollup/rollup-darwin-arm64': 4.60.4 - '@rollup/rollup-darwin-x64': 4.60.4 - '@rollup/rollup-freebsd-arm64': 4.60.4 - '@rollup/rollup-freebsd-x64': 4.60.4 - '@rollup/rollup-linux-arm-gnueabihf': 4.60.4 - '@rollup/rollup-linux-arm-musleabihf': 4.60.4 - '@rollup/rollup-linux-arm64-gnu': 4.60.4 - '@rollup/rollup-linux-arm64-musl': 4.60.4 - '@rollup/rollup-linux-loong64-gnu': 4.60.4 - '@rollup/rollup-linux-loong64-musl': 4.60.4 - '@rollup/rollup-linux-ppc64-gnu': 4.60.4 - '@rollup/rollup-linux-ppc64-musl': 4.60.4 - '@rollup/rollup-linux-riscv64-gnu': 4.60.4 - '@rollup/rollup-linux-riscv64-musl': 4.60.4 - '@rollup/rollup-linux-s390x-gnu': 4.60.4 - '@rollup/rollup-linux-x64-gnu': 4.60.4 - '@rollup/rollup-linux-x64-musl': 4.60.4 - '@rollup/rollup-openbsd-x64': 4.60.4 - '@rollup/rollup-openharmony-arm64': 4.60.4 - '@rollup/rollup-win32-arm64-msvc': 4.60.4 - '@rollup/rollup-win32-ia32-msvc': 4.60.4 - '@rollup/rollup-win32-x64-gnu': 4.60.4 - '@rollup/rollup-win32-x64-msvc': 4.60.4 - fsevents: 2.3.3 - roughjs@4.6.6: dependencies: hachure-fill: 0.5.2 @@ -24974,7 +24716,7 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 - tailwindcss@3.4.19(tsx@4.21.0)(yaml@2.9.0): + tailwindcss@3.4.19(tsx@4.22.1)(yaml@2.9.0): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -24993,7 +24735,7 @@ snapshots: postcss: 8.5.13 postcss-import: 15.1.0(postcss@8.5.13) postcss-js: 4.1.0(postcss@8.5.13) - postcss-load-config: 6.0.1(jiti@1.21.7)(postcss@8.5.13)(tsx@4.21.0)(yaml@2.9.0) + postcss-load-config: 6.0.1(jiti@1.21.7)(postcss@8.5.13)(tsx@4.22.1)(yaml@2.9.0) postcss-nested: 6.2.0(postcss@8.5.13) postcss-selector-parser: 6.1.2 resolve: 1.22.12 @@ -25308,10 +25050,9 @@ snapshots: tslib: 1.14.1 typescript: 6.0.3 - tsx@4.21.0: + tsx@4.22.1: dependencies: - esbuild: 0.27.7 - get-tsconfig: 4.14.0 + esbuild: 0.28.0 optionalDependencies: fsevents: 2.3.3 @@ -25694,7 +25435,7 @@ snapshots: - bare-abort-controller - react-native-b4a - vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0): + vite@7.3.2(@types/node@20.19.41)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) @@ -25710,10 +25451,10 @@ snapshots: lightningcss: 1.32.0 sass: 1.99.0 terser: 5.46.2 - tsx: 4.21.0 + tsx: 4.22.1 yaml: 2.9.0 - vite@7.3.2(@types/node@24.12.2)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0): + vite@7.3.2(@types/node@24.12.2)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) @@ -25729,10 +25470,10 @@ snapshots: lightningcss: 1.32.0 sass: 1.99.0 terser: 5.46.2 - tsx: 4.21.0 + tsx: 4.22.1 yaml: 2.9.0 - vite@7.3.2(@types/node@24.12.4)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0): + vite@7.3.2(@types/node@24.12.4)(jiti@2.7.0)(less@4.6.4)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0): dependencies: esbuild: 0.27.7 fdir: 6.5.0(picomatch@4.0.4) @@ -25748,10 +25489,10 @@ snapshots: lightningcss: 1.32.0 sass: 1.99.0 terser: 5.46.2 - tsx: 4.21.0 + tsx: 4.22.1 yaml: 2.9.0 - vite@8.0.13(@types/node@20.19.41)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0): + vite@8.0.13(@types/node@20.19.41)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0): dependencies: lightningcss: 1.32.0 picomatch: 4.0.4 @@ -25766,11 +25507,11 @@ snapshots: less: 4.6.4 sass: 1.99.0 terser: 5.46.2 - tsx: 4.21.0 + tsx: 4.22.1 yaml: 2.9.0 optional: true - vite@8.0.13(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0): + vite@8.0.13(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0): dependencies: lightningcss: 1.32.0 picomatch: 4.0.4 @@ -25785,11 +25526,11 @@ snapshots: less: 4.6.4 sass: 1.99.0 terser: 5.46.2 - tsx: 4.21.0 + tsx: 4.22.1 yaml: 2.9.0 optional: true - vite@8.0.13(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0): + vite@8.0.13(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0): dependencies: lightningcss: 1.32.0 picomatch: 4.0.4 @@ -25804,13 +25545,13 @@ snapshots: less: 4.6.4 sass: 1.99.0 terser: 5.46.2 - tsx: 4.21.0 + tsx: 4.22.1 yaml: 2.9.0 - vitest@4.1.6(@opentelemetry/api@1.9.1)(@types/node@20.19.41)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0): + vitest@4.1.6(@opentelemetry/api@1.9.1)(@types/node@20.19.41)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0): dependencies: '@vitest/expect': 4.1.6 - '@vitest/mocker': 4.1.6(vite@8.0.13(@types/node@20.19.41)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + '@vitest/mocker': 4.1.6(vite@8.0.13(@types/node@20.19.41)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0)) '@vitest/pretty-format': 4.1.6 '@vitest/runner': 4.1.6 '@vitest/snapshot': 4.1.6 @@ -25827,7 +25568,7 @@ snapshots: tinyexec: 1.1.2 tinyglobby: 0.2.16 tinyrainbow: 3.1.0 - vite: 8.0.13(@types/node@20.19.41)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + vite: 8.0.13(@types/node@20.19.41)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0) why-is-node-running: 2.3.0 optionalDependencies: '@opentelemetry/api': 1.9.1 @@ -25848,10 +25589,10 @@ snapshots: - yaml optional: true - vitest@4.1.6(@opentelemetry/api@1.9.1)(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0): + vitest@4.1.6(@opentelemetry/api@1.9.1)(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0): dependencies: '@vitest/expect': 4.1.6 - '@vitest/mocker': 4.1.6(vite@8.0.13(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + '@vitest/mocker': 4.1.6(vite@8.0.13(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0)) '@vitest/pretty-format': 4.1.6 '@vitest/runner': 4.1.6 '@vitest/snapshot': 4.1.6 @@ -25868,7 +25609,7 @@ snapshots: tinyexec: 1.1.2 tinyglobby: 0.2.16 tinyrainbow: 3.1.0 - vite: 8.0.13(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + vite: 8.0.13(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0) why-is-node-running: 2.3.0 optionalDependencies: '@opentelemetry/api': 1.9.1 @@ -25889,10 +25630,10 @@ snapshots: - yaml optional: true - vitest@4.1.6(@opentelemetry/api@1.9.1)(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0): + vitest@4.1.6(@opentelemetry/api@1.9.1)(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.7.0)(jsdom@29.1.1)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0): dependencies: '@vitest/expect': 4.1.6 - '@vitest/mocker': 4.1.6(vite@8.0.13(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0)) + '@vitest/mocker': 4.1.6(vite@8.0.13(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0)) '@vitest/pretty-format': 4.1.6 '@vitest/runner': 4.1.6 '@vitest/snapshot': 4.1.6 @@ -25909,7 +25650,7 @@ snapshots: tinyexec: 1.1.2 tinyglobby: 0.2.16 tinyrainbow: 3.1.0 - vite: 8.0.13(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.21.0)(yaml@2.9.0) + vite: 8.0.13(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.7.0)(less@4.6.4)(sass@1.99.0)(terser@5.46.2)(tsx@4.22.1)(yaml@2.9.0) why-is-node-running: 2.3.0 optionalDependencies: '@opentelemetry/api': 1.9.1 @@ -26403,8 +26144,6 @@ snapshots: yallist@5.0.0: {} - yaml@2.8.4: {} - yaml@2.9.0: {} yargs-parser@18.1.3: diff --git a/vscode-ng-language-service/integration/project/package.json b/vscode-ng-language-service/integration/project/package.json index 892f9bebac2f..feb8a7fe50bc 100644 --- a/vscode-ng-language-service/integration/project/package.json +++ b/vscode-ng-language-service/integration/project/package.json @@ -9,7 +9,7 @@ "rxjs": "7.8.2" }, "devDependencies": { - "ng-packagr": "22.0.0-next.4", + "ng-packagr": "22.0.0-rc.0", "typescript": "6.0.3" }, "scripts": { From 83026cf158f00b873dfa9a64ce4d42fc8efb7549 Mon Sep 17 00:00:00 2001 From: Kam Date: Tue, 19 May 2026 20:05:02 +0300 Subject: [PATCH 101/317] fix(docs-infra): make absolute angular.dev hrefs relative in CLI option descriptions CLI option descriptions are sourced from `@angular/cli` schema JSON files, several of which contain absolute `https://angular.dev/...` URLs in their `description` text. Those URLs render with the external-link icon and push preview users out to production when viewed on `next.angular.dev` or other dev previews. The path bypasses the existing `link.mts` ban on absolute angular.dev links because option descriptions go through `marked.parse` directly, without `AdevDocsRenderer`. Rewrite the rendered hrefs whose values begin with `https://angular.dev/` (or the `http:` variant) to root-relative paths so the resulting anchors route through Angular's Router and resolve against the active deployment. Subdomains such as `next.angular.dev/...` are intentionally not rewritten because they refer to genuinely different deployments. Closes #68795 (cherry picked from commit 745ee71c251d915d893ad37cfffdf45e3577fb4b) --- .../api-gen/rendering/test/cli.spec.mts | 13 ++ .../rendering/test/fake-cli-entries.json | 174 +++++------------- .../rendering/transforms/cli-transforms.mts | 5 +- 3 files changed, 61 insertions(+), 131 deletions(-) diff --git a/adev/shared-docs/pipeline/api-gen/rendering/test/cli.spec.mts b/adev/shared-docs/pipeline/api-gen/rendering/test/cli.spec.mts index b020e9eacc6e..94b9d845fbf3 100644 --- a/adev/shared-docs/pipeline/api-gen/rendering/test/cli.spec.mts +++ b/adev/shared-docs/pipeline/api-gen/rendering/test/cli.spec.mts @@ -43,4 +43,17 @@ describe('CLI docs to html', () => { expect(cliTocs[0].textContent).toContain('ng component [name] [options]'); expect(cliTocs[1].textContent).toContain('ng c [name] [options]'); }); + + it('should rewrite absolute angular.dev hrefs in option descriptions to root-relative', async () => { + const renderableJson = await getRenderable(entryJson, '', 'angular/cli'); + const localFragment = JSDOM.fragment(renderEntry(renderableJson)); + const hrefs = Array.from(localFragment.querySelectorAll('a')).map((a) => + a.getAttribute('href'), + ); + // Absolute angular.dev URLs are rewritten to root-relative. + expect(hrefs).toContain('/cli-test-rewrite'); + expect(hrefs).not.toContain('https://angular.dev/cli-test-rewrite'); + // Subdomains are intentionally left as external. + expect(hrefs).toContain('https://next.angular.dev/cli-test-preview'); + }); }); 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 f35c6e34a5c2..404d61b8a0e3 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 @@ -2,9 +2,7 @@ "name": "generate", "command": "ng generate ", "shortDescription": "Generates and/or modifies files based on a schematic.", - "aliases": [ - "g" - ], + "aliases": ["g"], "deprecated": false, "options": [ { @@ -16,9 +14,7 @@ { "name": "dry-run", "type": "boolean", - "aliases": [ - "d" - ], + "aliases": ["d"], "default": false, "description": "Run through and reports activity without writing out results." }, @@ -44,6 +40,12 @@ "type": "string", "description": "The [collection:schematic] to run.", "positional": 0 + }, + { + "name": "test-angular-dev-href-rewrite", + "type": "boolean", + "default": false, + "description": "See [angular.dev test](https://angular.dev/cli-test-rewrite) and [preview test](https://next.angular.dev/cli-test-preview)." } ], "subcommands": [ @@ -75,17 +77,13 @@ { "name": "inline-style", "type": "boolean", - "aliases": [ - "s" - ], + "aliases": ["s"], "description": "Include styles inline in the root component.ts file. Only CSS styles can be included inline. Default is false, meaning that an external styles file is created and referenced in the root component.ts file." }, { "name": "inline-template", "type": "boolean", - "aliases": [ - "t" - ], + "aliases": ["t"], "description": "Include template inline in the root component.ts file. Default is false, meaning that an external template file is created and referenced in the root component.ts file. " }, { @@ -103,9 +101,7 @@ { "name": "prefix", "type": "string", - "aliases": [ - "p" - ], + "aliases": ["p"], "default": "app", "description": "A prefix to apply to generated selectors." }, @@ -135,9 +131,7 @@ { "name": "skip-tests", "type": "boolean", - "aliases": [ - "S" - ], + "aliases": ["S"], "default": false, "description": "Do not create \"spec.ts\" test files for the application." }, @@ -163,29 +157,17 @@ "name": "style", "type": "string", "default": "css", - "enum": [ - "css", - "scss", - "sass", - "less" - ], + "enum": ["css", "scss", "sass", "less"], "description": "The file extension or preprocessor to use for style files." }, { "name": "view-encapsulation", "type": "string", - "enum": [ - "Emulated", - "None", - "ShadowDom", - "ExperimentalIsolatedShadowDom" - ], + "enum": ["Emulated", "None", "ShadowDom", "ExperimentalIsolatedShadowDom"], "description": "The view encapsulation strategy to use in the new application." } ], - "aliases": [ - "app" - ], + "aliases": ["app"], "deprecated": false }, { @@ -216,9 +198,7 @@ "description": "Adds a developer-defined type to the filename, in the format \"name.type.ts\"." } ], - "aliases": [ - "cl" - ], + "aliases": ["cl"], "deprecated": false }, { @@ -229,22 +209,15 @@ { "name": "change-detection", "type": "string", - "aliases": [ - "c" - ], + "aliases": ["c"], "default": "Default", - "enum": [ - "Default", - "OnPush" - ], + "enum": ["Default", "OnPush"], "description": "The change detection strategy to use in the new component." }, { "name": "display-block", "type": "boolean", - "aliases": [ - "b" - ], + "aliases": ["b"], "default": false, "description": "Specifies if the style will contain `:host { display: block; }`." }, @@ -269,27 +242,21 @@ { "name": "inline-style", "type": "boolean", - "aliases": [ - "s" - ], + "aliases": ["s"], "default": false, "description": "Include styles inline in the component.ts file. Only CSS styles can be included inline. By default, an external styles file is created and referenced in the component.ts file." }, { "name": "inline-template", "type": "boolean", - "aliases": [ - "t" - ], + "aliases": ["t"], "default": false, "description": "Include template inline in the component.ts file. By default, an external template file is created and referenced in the component.ts file." }, { "name": "module", "type": "string", - "aliases": [ - "m" - ], + "aliases": ["m"], "description": "The declaring NgModule." }, { @@ -301,9 +268,7 @@ { "name": "prefix", "type": "string", - "aliases": [ - "p" - ], + "aliases": ["p"], "description": "The prefix to apply to the generated component selector." }, { @@ -344,13 +309,7 @@ "name": "style", "type": "string", "default": "css", - "enum": [ - "css", - "scss", - "sass", - "less", - "none" - ], + "enum": ["css", "scss", "sass", "less", "none"], "description": "The file extension or preprocessor to use for style files, or 'none' to skip generating the style file." }, { @@ -362,21 +321,12 @@ { "name": "view-encapsulation", "type": "string", - "aliases": [ - "v" - ], - "enum": [ - "Emulated", - "None", - "ShadowDom", - "ExperimentalIsolatedShadowDom" - ], + "aliases": ["v"], + "enum": ["Emulated", "None", "ShadowDom", "ExperimentalIsolatedShadowDom"], "description": "The view encapsulation strategy to use in the new component." } ], - "aliases": [ - "c" - ], + "aliases": ["c"], "deprecated": false }, { @@ -392,10 +342,7 @@ { "name": "type", "type": "string", - "enum": [ - "karma", - "browserslist" - ], + "enum": ["karma", "browserslist"], "description": "Specifies which type of configuration file to create.", "positional": 0 } @@ -423,9 +370,7 @@ { "name": "module", "type": "string", - "aliases": [ - "m" - ], + "aliases": ["m"], "description": "The declaring NgModule." }, { @@ -437,9 +382,7 @@ { "name": "prefix", "type": "string", - "aliases": [ - "p" - ], + "aliases": ["p"], "description": "A prefix to apply to generated selectors." }, { @@ -471,9 +414,7 @@ "description": "Whether the generated directive is standalone." } ], - "aliases": [ - "d" - ], + "aliases": ["d"], "deprecated": false }, { @@ -498,9 +439,7 @@ "description": "Adds a developer-defined type to the filename, in the format \"name.type.ts\"." } ], - "aliases": [ - "e" - ], + "aliases": ["e"], "deprecated": false }, { @@ -537,9 +476,7 @@ { "name": "implements", "type": "array", - "aliases": [ - "guardType" - ], + "aliases": ["guardType"], "description": "Specifies which type of guard to create." }, { @@ -560,9 +497,7 @@ "description": "Do not create \"spec.ts\" test files for the new guard." } ], - "aliases": [ - "g" - ], + "aliases": ["g"], "deprecated": false }, { @@ -631,9 +566,7 @@ "positional": 1 } ], - "aliases": [ - "i" - ], + "aliases": ["i"], "deprecated": false }, { @@ -656,9 +589,7 @@ { "name": "prefix", "type": "string", - "aliases": [ - "p" - ], + "aliases": ["p"], "default": "lib", "description": "A prefix to apply to generated selectors." }, @@ -692,9 +623,7 @@ "description": "Creates a library based upon the standalone API, without NgModules." } ], - "aliases": [ - "lib" - ], + "aliases": ["lib"], "deprecated": false }, { @@ -711,9 +640,7 @@ { "name": "module", "type": "string", - "aliases": [ - "m" - ], + "aliases": ["m"], "description": "The declaring NgModule." }, { @@ -742,16 +669,11 @@ "name": "routing-scope", "type": "string", "default": "Child", - "enum": [ - "Child", - "Root" - ], + "enum": ["Child", "Root"], "description": "The scope for the new routing module." } ], - "aliases": [ - "m" - ], + "aliases": ["m"], "deprecated": false }, { @@ -774,9 +696,7 @@ { "name": "module", "type": "string", - "aliases": [ - "m" - ], + "aliases": ["m"], "description": "The declaring NgModule." }, { @@ -809,9 +729,7 @@ "description": "Whether the generated pipe is standalone." } ], - "aliases": [ - "p" - ], + "aliases": ["p"], "deprecated": false }, { @@ -849,9 +767,7 @@ "description": "Do not create \"spec.ts\" test files for the new resolver." } ], - "aliases": [ - "r" - ], + "aliases": ["r"], "deprecated": false }, { @@ -883,9 +799,7 @@ "description": "Do not create \"spec.ts\" test files for the new service." } ], - "aliases": [ - "s" - ], + "aliases": ["s"], "deprecated": false }, { diff --git a/adev/shared-docs/pipeline/api-gen/rendering/transforms/cli-transforms.mts b/adev/shared-docs/pipeline/api-gen/rendering/transforms/cli-transforms.mts index 274829296384..a480628797b1 100644 --- a/adev/shared-docs/pipeline/api-gen/rendering/transforms/cli-transforms.mts +++ b/adev/shared-docs/pipeline/api-gen/rendering/transforms/cli-transforms.mts @@ -53,11 +53,14 @@ export function getCliCardsRenderable(command: CliCommand): CliCardRenderable[] return cards; } +// Rewrite absolute angular.dev hrefs to root-relative so links stay in-site. +const angularDevHrefRegex = /(href=["'])https?:\/\/angular\.dev\//g; + function getRenderableOptions(items: CliOption[]): CliOptionRenderable[] { return items.map((option) => ({ ...option, deprecated: option.deprecated ? {version: undefined} : undefined, - description: marked.parse(option.description) as string, + description: (marked.parse(option.description) as string).replace(angularDevHrefRegex, '$1/'), })); } From cbddb5c1b886fc0b56a9153e839c79aef444be7e Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 20 May 2026 17:28:50 +0000 Subject: [PATCH 102/317] build: update bazel dependencies See associated pull request for more information. --- MODULE.bazel | 4 ++-- MODULE.bazel.lock | 3 --- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index e678f1ecd9b7..f80b04ff8ce3 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -7,8 +7,8 @@ module( bazel_dep(name = "rules_pkg", version = "1.2.0") bazel_dep(name = "rules_nodejs", version = "6.7.4") bazel_dep(name = "aspect_rules_ts", version = "3.8.9") -bazel_dep(name = "aspect_rules_js", version = "3.1.1") -bazel_dep(name = "aspect_rules_esbuild", version = "0.25.1") +bazel_dep(name = "aspect_rules_js", version = "3.1.2") +bazel_dep(name = "aspect_rules_esbuild", version = "0.26.0") bazel_dep(name = "aspect_rules_jasmine", version = "2.0.4") bazel_dep(name = "aspect_rules_rollup", version = "2.0.1") bazel_dep(name = "bazel_skylib", version = "1.9.0") diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index b8bffcb4c692..dfa874a16016 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -19,21 +19,18 @@ "https://bcr.bazel.build/modules/aspect_bazel_lib/2.22.5/source.json": "ac2c3213df8f985785f1d0aeb7f0f73d5324e6e67d593d9b9470fb74a25d4a9b", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.7.7/MODULE.bazel": "491f8681205e31bb57892d67442ce448cda4f472a8e6b3dc062865e29a64f89c", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.8.1/MODULE.bazel": "812d2dd42f65dca362152101fbec418029cc8fd34cbad1a2fde905383d705838", - "https://bcr.bazel.build/modules/aspect_rules_esbuild/0.25.1/MODULE.bazel": "9b931b3e483bd8eedb6966bda6df07d801f70ccb4896231b4e5e711b5130f3aa", "https://bcr.bazel.build/modules/aspect_rules_esbuild/0.26.0/MODULE.bazel": "6c902d97038c3ab07b6c4e67c97abc61b20182fcfa84fa7dee82fc724f12e455", "https://bcr.bazel.build/modules/aspect_rules_esbuild/0.26.0/source.json": "4cc3ece7ab661bb391a9e24fe55c4b567d60a9ea9d9e91d772dad373cbcb6217", "https://bcr.bazel.build/modules/aspect_rules_jasmine/2.0.4/MODULE.bazel": "fbb819eb8b7e5d7f67fdd38f7cecb413e287594cd666ce192c72c8828527775a", "https://bcr.bazel.build/modules/aspect_rules_jasmine/2.0.4/source.json": "81ffb708333cd98ec3c0b4cc004f4d5cf92a16914b5196a2892c45141bba7cff", "https://bcr.bazel.build/modules/aspect_rules_js/2.0.0/MODULE.bazel": "b45b507574aa60a92796e3e13c195cd5744b3b8aff516a9c0cb5ae6a048161c5", "https://bcr.bazel.build/modules/aspect_rules_js/3.0.3/MODULE.bazel": "28a30e8fc33bf64a67835d64d124f6e05a7d59648dcb27b110fb3502f761e503", - "https://bcr.bazel.build/modules/aspect_rules_js/3.1.1/MODULE.bazel": "b83cf3ee44837345f1c926d70b96453deb5e244de43d08dcd7acad8d381c275a", "https://bcr.bazel.build/modules/aspect_rules_js/3.1.2/MODULE.bazel": "e3685502155d3cc65f3bf98e714f7435de67d7f8f355d63478a80197310311fc", "https://bcr.bazel.build/modules/aspect_rules_js/3.1.2/source.json": "a32ab71831452b945f3f83a1b1feb9402007e600bce55ac76e15ef0c1e08b520", "https://bcr.bazel.build/modules/aspect_rules_rollup/2.0.1/MODULE.bazel": "296e3a053658c2af989ba9bd62a205e6d1fa84bdd6dd5249196546e6b84770ec", "https://bcr.bazel.build/modules/aspect_rules_rollup/2.0.1/source.json": "2fe8ac1ccb4de74bf884761e070010280b272d94e3997205b361b91c75409726", "https://bcr.bazel.build/modules/aspect_rules_ts/3.8.9/MODULE.bazel": "bd5f9ebf517cfcd377eaa7ce1cb16035d167f00774b77789909590c53bc6f20c", "https://bcr.bazel.build/modules/aspect_rules_ts/3.8.9/source.json": "59e66656561571ed82ccff56c75c43d0bc79f0065ca8d17be2752d4f648d40c9", - "https://bcr.bazel.build/modules/aspect_tools_telemetry/0.2.6/MODULE.bazel": "cafb8781ad591bc57cc765dca5fefab08cf9f65af363d162b79d49205c7f8af7", "https://bcr.bazel.build/modules/aspect_tools_telemetry/0.2.8/MODULE.bazel": "aa975a83e72bcaac62ee61ab12b788ea324a1d05c4aab28aadb202f647881679", "https://bcr.bazel.build/modules/aspect_tools_telemetry/0.3.3/MODULE.bazel": "37c764292861c2f70314efa9846bb6dbb44fc0308903b3285da6528305450183", "https://bcr.bazel.build/modules/aspect_tools_telemetry/0.3.3/source.json": "605086bbc197743a0d360f7ddc550a1d4dfa0441bc807236e17170f636153348", From 51571e3652be5d748c03d535ef77b643ba091963 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Wed, 20 May 2026 17:45:24 +0000 Subject: [PATCH 103/317] docs: update cross-repo adev docs Updated Angular adev cross repo docs files. --- adev/src/content/aria/_build-info.json | 2 +- adev/src/content/aria/aria-combobox.json | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/adev/src/content/aria/_build-info.json b/adev/src/content/aria/_build-info.json index 7a54153c6d41..373aea3b35f2 100644 --- a/adev/src/content/aria/_build-info.json +++ b/adev/src/content/aria/_build-info.json @@ -1,4 +1,4 @@ { "branchName": "refs/heads/22.0.x", - "sha": "09621a12394eff17196376e81ecf5d8b069e8de0" + "sha": "cbc47b9b7f324f8b6896e59dda87db5b5e95f9f3" } \ No newline at end of file diff --git a/adev/src/content/aria/aria-combobox.json b/adev/src/content/aria/aria-combobox.json index a585240a4c35..6384c38b58a3 100755 --- a/adev/src/content/aria/aria-combobox.json +++ b/adev/src/content/aria/aria-combobox.json @@ -530,9 +530,9 @@ } ], "generics": [], - "description": "The container element that wraps a combobox input and popup, and orchestrates its behavior.\n\nThe `ngCombobox` directive is the main entry point for creating a combobox and customizing its\nbehavior. It coordinates the interactions between the input and the popup.\n\n```html\n
    \n \n\n \n
    \n \n
    \n
    \n
    \n```", + "description": "A directive that coordinates a combobox trigger element and its associated popup widget.\n\nThe `ngCombobox` directive is applied directly to the interactive trigger element, which can be\neither an editable `` (for search/autocomplete behaviors) or a non-editable element like\na `
    ` (for custom select dropdowns). It manages focus and expansion states, coordinates autocomplete\nsuggestions (if editable), and forwards navigation keys down into the active popup.\n\n### Example 1: Editable Autocomplete Input\n```html\n\n\n\n
    \n
    First Option
    \n
    Second Option
    \n
    \n
    \n```\n\n### Example 2: Non-Editable Custom Select Dropdown\n```html\n
    \n {{selectedValue}}\n
    \n\n\n
    \n
    First Option
    \n
    Second Option
    \n
    \n
    \n```", "jsdocTags": [], - "rawComment": "/**\n * The container element that wraps a combobox input and popup, and orchestrates its behavior.\n *\n * The `ngCombobox` directive is the main entry point for creating a combobox and customizing its\n * behavior. It coordinates the interactions between the input and the popup.\n *\n * ```html\n *
    \n * \n *\n * \n *
    \n * \n *
    \n *
    \n *
    \n * ```\n */", + "rawComment": "/**\n * A directive that coordinates a combobox trigger element and its associated popup widget.\n *\n * The `ngCombobox` directive is applied directly to the interactive trigger element, which can be\n * either an editable `` (for search/autocomplete behaviors) or a non-editable element like\n * a `
    ` (for custom select dropdowns). It manages focus and expansion states, coordinates autocomplete\n * suggestions (if editable), and forwards navigation keys down into the active popup.\n *\n * ### Example 1: Editable Autocomplete Input\n * ```html\n * \n *\n * \n *
    \n *
    First Option
    \n *
    Second Option
    \n *
    \n *
    \n * ```\n *\n * ### Example 2: Non-Editable Custom Select Dropdown\n * ```html\n *
    \n * {{selectedValue}}\n *
    \n *\n * \n *
    \n *
    First Option
    \n *
    Second Option
    \n *
    \n *
    \n * ```\n */", "extends": "DeferredContentAware", "implements": [ "OnInit" @@ -547,8 +547,8 @@ ], "source": { "filePath": "/src/aria/combobox/combobox.ts", - "startLine": 43, - "endLine": 143 + "startLine": 59, + "endLine": 159 } } ], From 7f1cfcbc979705bca93ae9e7b803eed7e2b2812e Mon Sep 17 00:00:00 2001 From: arturovt Date: Wed, 20 May 2026 20:56:03 +0300 Subject: [PATCH 104/317] docs: clarify ngDoCheck invocation behavior with OnPush strategy MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The previous documentation for `DoCheck` / `ngDoCheck` implied that the default change-detector had run on the directive itself, which is misleading. `ngDoCheck` is actually invoked when the *parent's* change-detector checks the directive's input bindings — meaning it fires even for `OnPush` components whose own change detection was skipped. Updated three places in lifecycle_hooks.ts: - Interface description: scopes "the check" to input bindings in the parent template and adds an explicit OnPush callout. - "detects changes" clarified to "detects changes to the directive's input bindings". - Method description: "after the default change-detector runs" → "after the default change-detector has checked the directive's input bindings in the parent template". Fixes #48140 (cherry picked from commit ca44055166197449ff27eafc6af37e7734043da9) --- .../core/src/change_detection/lifecycle_hooks.ts | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/core/src/change_detection/lifecycle_hooks.ts b/packages/core/src/change_detection/lifecycle_hooks.ts index 4a61dc26e8e6..d0f15e9509eb 100644 --- a/packages/core/src/change_detection/lifecycle_hooks.ts +++ b/packages/core/src/change_detection/lifecycle_hooks.ts @@ -76,14 +76,19 @@ export interface OnInit { /** * A lifecycle hook that invokes a custom change-detection function for a directive, - * in addition to the check performed by the default change-detector. + * in addition to the check performed by the default change-detector on the input + * bindings for this directive usage in the parent template. Note that this hook is + * invoked even when the directive's own change detection is skipped (e.g., with + * the `OnPush` change detection strategy). Developers might use this hook to + * implement a custom change detection strategy for some of the inputs. * * The default change-detection algorithm looks for differences by comparing * bound-property values by reference across change detection runs. You can use this * hook to check for and respond to changes by some other means. * - * When the default change detector detects changes, it invokes `ngOnChanges()` if supplied, - * regardless of whether you perform additional change detection. + * When the default change detector detects changes to the directive's input bindings, + * it invokes `ngOnChanges()` if supplied, regardless of whether you perform + * additional change detection. * Typically, you should not use both `DoCheck` and `OnChanges` to respond to * changes on the same input. * @@ -104,7 +109,8 @@ export interface OnInit { export interface DoCheck { /** * A callback method that performs change-detection, invoked - * after the default change-detector runs. + * after the default change-detector has checked the directive's input + * bindings in the parent template. * See `KeyValueDiffers` and `IterableDiffers` for implementing * custom change checking for collections. * From 3e8b30a99d02ce387949a1eff90c942dfa5f1ae7 Mon Sep 17 00:00:00 2001 From: SkyZeroZx <73321943+SkyZeroZx@users.noreply.github.com> Date: Wed, 20 May 2026 13:50:50 -0500 Subject: [PATCH 105/317] docs: remove outdated best practice regarding change detection strategy in components (cherry picked from commit 1a11ae81b3fd0aeaa57d041ce7190515c9e9d77f) --- packages/core/resources/best-practices.md | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/core/resources/best-practices.md b/packages/core/resources/best-practices.md index d918d76fb130..7165d9884012 100644 --- a/packages/core/resources/best-practices.md +++ b/packages/core/resources/best-practices.md @@ -26,7 +26,6 @@ You are an expert in TypeScript, Angular, and scalable web application developme - Keep components small and focused on a single responsibility - Use `input()` and `output()` functions instead of decorators - Use `computed()` for derived state -- Set `changeDetection: ChangeDetectionStrategy.OnPush` in `@Component` decorator - Prefer inline templates for small components - Prefer Reactive forms instead of Template-driven ones - Do NOT use `ngClass`, use `class` bindings instead From a91315c9d7fff43ae6ef242cd091d044f453650b Mon Sep 17 00:00:00 2001 From: arturovt Date: Wed, 20 May 2026 21:06:29 +0300 Subject: [PATCH 106/317] docs: document content projection limitations Add a Limitations section to the content projection guide covering two common footguns that aren't obvious from the feature description alone. First, projected content lives in the declaring component's view, not the receiving component's. This means OnPush on the receiving component doesn't prevent projected content from being checked on every parent cycle, and projected content can't see the receiving component's viewProviders. Second, some library components (menus, tabs, lists) use ContentChildren to wire up keyboard navigation and ARIA behavior and assume they own their children directly. Projecting external content into them tends to break that behavior silently. Closes #49679 (cherry picked from commit de9e3d136e042c303a854c077c2c018bd2c83947) --- .../guide/components/content-projection.md | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/adev/src/content/guide/components/content-projection.md b/adev/src/content/guide/components/content-projection.md index f11feb7f7f47..5459aead641e 100644 --- a/adev/src/content/guide/components/content-projection.md +++ b/adev/src/content/guide/components/content-projection.md @@ -249,3 +249,29 @@ placeholder, Angular compares against the `ngProjectAs` value instead of the ele ``` `ngProjectAs` supports only static values and cannot be bound to dynamic expressions. + +## Caveats + +### Projected content lives in the parent's view + +Even though projected content is _rendered_ inside the receiving component, it is still owned by the component that declared it. Angular tracks it as part of the parent's view, which has a couple of side effects worth knowing about. + +**Change detection:** Projected content is checked when the _parent_ runs change detection. If the receiving component uses `OnPush`, Angular can skip checking that component's own template — but it won't skip the projected content, because that belongs to the parent. + +```angular-html + + + + + +``` + +**Dependency injection:** Projected content gets its dependencies from the parent's injector, not from the receiving component's `viewProviders`. See [Providers and viewProviders](guide/di/hierarchical-dependency-injection) for details. + +### Some library components don't support projected children + +Certain components — menus, tabs, lists — use `ContentChildren` to find their children and wire up behavior like keyboard navigation, focus management, or ARIA attributes. They're written assuming they own their children directly, so projecting external content into them tends to break things in subtle ways. + +For example, wrapping `` elements in an extra layer and projecting them into `` can silently break keyboard navigation and screen reader support. The query still finds the items, but the internal setup that makes them interactive may not work correctly when the items come from a different view context. + +If a library component manages its children's behavior, check its docs before reaching for content projection — it may not be supported. From 83bfaf0e9e12f5fd27d74abbc34a1965988082bc Mon Sep 17 00:00:00 2001 From: arturovt Date: Wed, 20 May 2026 21:28:39 +0300 Subject: [PATCH 107/317] docs: document barrel file caveat for @defer lazy chunks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Users often enable @defer expecting a separate lazy chunk but don't get one, with no obvious error to explain why. The root cause is almost always a barrel file import — the bundler treats the whole barrel as a single module and can't split out individual exports. Add a section to the defer guide that starts from the symptom (no lazy chunk), shows the barrel import pattern that causes it, and gives the direct-import fix. Closes #52554 (cherry picked from commit d985957f09c8994dd192e9d568a6e081ff33d159) --- adev/src/content/guide/templates/defer.md | 31 +++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/adev/src/content/guide/templates/defer.md b/adev/src/content/guide/templates/defer.md index 65d237b2b286..3e37dcb0cffb 100644 --- a/adev/src/content/guide/templates/defer.md +++ b/adev/src/content/guide/templates/defer.md @@ -382,6 +382,37 @@ By default, when rendering an application on the server (either using SSR or SSG To render the main content of `@defer` blocks on the server (both SSR and SSG), you can enable [the Incremental Hydration feature](/guide/incremental-hydration) and configure `hydrate` triggers for the necessary blocks. +## Barrel files and lazy chunks + +If you're using `@defer` but not seeing a separate lazy chunk in your build output, check how you're importing the deferred component. Importing through a barrel file (`index.ts`) is a common culprit — bundlers see the barrel as a single module and keep all its exports together, so your component ends up in the main bundle regardless of `@defer`. + +```typescript +// index.ts +export {HeavyComponent} from './heavy.component'; +export {OtherComponent} from './other.component'; +``` + +```typescript +// parent.component.ts +import {HeavyComponent} from './index'; // pulls in OtherComponent too + +@Component({ + imports: [HeavyComponent], + template: `@defer { + + }`, +}) +export class ParentComponent {} +``` + +The fix is straightforward — import directly from the component's own file: + +```typescript +import {HeavyComponent} from './heavy.component'; +``` + +That's enough for the bundler to split it into its own chunk and load it lazily when the trigger fires. + ## Best practices for deferring views ### Avoid cascading loads with nested `@defer` blocks From 2109f49dc41afca6ed335d233160e68f9fea5283 Mon Sep 17 00:00:00 2001 From: Kam Date: Wed, 20 May 2026 23:27:41 +0300 Subject: [PATCH 108/317] docs: fix grammar slips on pipes guide Fixes subject-verb agreement in the overview opener and date/currency example, a singular pronoun for a plural antecedent under change detection, and an "a object" -> "an object" a/an slip. (cherry picked from commit 41a772ec0beb6e4633ede808311719d592c1a74a) --- adev/src/content/guide/templates/pipes.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/adev/src/content/guide/templates/pipes.md b/adev/src/content/guide/templates/pipes.md index ec8ccf5ce094..396af6103b2d 100644 --- a/adev/src/content/guide/templates/pipes.md +++ b/adev/src/content/guide/templates/pipes.md @@ -2,7 +2,7 @@ ## Overview -Pipes are a special operator in Angular template expressions that allows you to transform data declaratively in your template. Pipes let you declare a transformation function once and then use that transformation across multiple templates. Angular pipes use the vertical bar character (`|`), inspired by the [Unix pipe](). +Pipes are special operators in Angular template expressions that allow you to transform data declaratively in your template. Pipes let you declare a transformation function once and then use that transformation across multiple templates. Angular pipes use the vertical bar character (`|`), inspired by the [Unix pipe](). NOTE: Angular's pipe syntax deviates from standard JavaScript, which uses the vertical bar character for the [bitwise OR operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Bitwise_OR). Angular template expressions do not support bitwise operators. @@ -33,7 +33,7 @@ export class ShoppingCart { } ``` -When Angular renders the component, it will ensure that the appropriate date format and currency is based on the locale of the user. If the user is in the United States, it would render: +When Angular renders the component, it will ensure that the appropriate date format and currency are based on the locale of the user. If the user is in the United States, it would render: ```angular-html
    @@ -162,7 +162,7 @@ Always use parentheses in your expressions when operator precedence may be ambig ### Change detection with pipes -By default, all pipes are considered `pure`, which means that it only executes when a primitive input value (such as a `String`, `Number`, `Boolean`, or `Symbol`) or a object reference (such as `Array`, `Object`, `Function`, or `Date`) is changed. Pure pipes offer a performance advantage because Angular can avoid calling the transformation function if the passed value has not changed. +By default, all pipes are considered `pure`, which means that they only execute when a primitive input value (such as a `String`, `Number`, `Boolean`, or `Symbol`) or an object reference (such as `Array`, `Object`, `Function`, or `Date`) is changed. Pure pipes offer a performance advantage because Angular can avoid calling the transformation function if the passed value has not changed. As a result, this means that mutations to object properties or array items are not detected unless the entire object or array reference is replaced with a different instance. If you want this level of change detection, refer to [detecting changes within arrays or objects](#detecting-change-within-arrays-or-objects). From d6def8abadecb3bafc7532ac976f563574ee7276 Mon Sep 17 00:00:00 2001 From: tjshiu <35056071+tjshiu@users.noreply.github.com> Date: Tue, 19 May 2026 22:03:46 -0700 Subject: [PATCH 109/317] docs: modernize select guide and examples (cherry picked from commit 62f844945311dac41a5591ed9be9c1c8d1d8f039) --- .../aria/select/src/basic/app/app.css | 141 ++++++++++++++ .../aria/select/src/basic/app/app.html | 49 +++++ .../examples/aria/select/src/basic/app/app.ts | 39 ++++ .../select/src/basic/material/app/app.css | 149 ++++++++++++++ .../select/src/basic/material/app/app.html | 49 +++++ .../aria/select/src/basic/material/app/app.ts | 39 ++++ .../aria/select/src/basic/retro/app/app.css | 181 ++++++++++++++++++ .../aria/select/src/basic/retro/app/app.html | 49 +++++ .../aria/select/src/basic/retro/app/app.ts | 39 ++++ .../aria/select/src/disabled/app/app.css | 141 ++++++++++++++ .../aria/select/src/disabled/app/app.html | 50 +++++ .../aria/select/src/disabled/app/app.ts | 39 ++++ .../select/src/disabled/material/app/app.css | 149 ++++++++++++++ .../select/src/disabled/material/app/app.html | 50 +++++ .../select/src/disabled/material/app/app.ts | 39 ++++ .../select/src/disabled/retro/app/app.css | 181 ++++++++++++++++++ .../select/src/disabled/retro/app/app.html | 50 +++++ .../aria/select/src/disabled/retro/app/app.ts | 39 ++++ .../aria/select/src/icons/app/app.css | 151 +++++++++++++++ .../aria/select/src/icons/app/app.html | 58 ++++++ .../examples/aria/select/src/icons/app/app.ts | 46 +++++ .../select/src/icons/material/app/app.css | 159 +++++++++++++++ .../select/src/icons/material/app/app.html | 58 ++++++ .../aria/select/src/icons/material/app/app.ts | 46 +++++ .../aria/select/src/icons/retro/app/app.css | 181 ++++++++++++++++++ .../aria/select/src/icons/retro/app/app.html | 58 ++++++ .../aria/select/src/icons/retro/app/app.ts | 46 +++++ adev/src/content/guide/aria/select.md | 64 +++++-- 28 files changed, 2319 insertions(+), 21 deletions(-) create mode 100644 adev/src/content/examples/aria/select/src/basic/app/app.css create mode 100644 adev/src/content/examples/aria/select/src/basic/app/app.html create mode 100644 adev/src/content/examples/aria/select/src/basic/app/app.ts create mode 100644 adev/src/content/examples/aria/select/src/basic/material/app/app.css create mode 100644 adev/src/content/examples/aria/select/src/basic/material/app/app.html create mode 100644 adev/src/content/examples/aria/select/src/basic/material/app/app.ts create mode 100644 adev/src/content/examples/aria/select/src/basic/retro/app/app.css create mode 100644 adev/src/content/examples/aria/select/src/basic/retro/app/app.html create mode 100644 adev/src/content/examples/aria/select/src/basic/retro/app/app.ts create mode 100644 adev/src/content/examples/aria/select/src/disabled/app/app.css create mode 100644 adev/src/content/examples/aria/select/src/disabled/app/app.html create mode 100644 adev/src/content/examples/aria/select/src/disabled/app/app.ts create mode 100644 adev/src/content/examples/aria/select/src/disabled/material/app/app.css create mode 100644 adev/src/content/examples/aria/select/src/disabled/material/app/app.html create mode 100644 adev/src/content/examples/aria/select/src/disabled/material/app/app.ts create mode 100644 adev/src/content/examples/aria/select/src/disabled/retro/app/app.css create mode 100644 adev/src/content/examples/aria/select/src/disabled/retro/app/app.html create mode 100644 adev/src/content/examples/aria/select/src/disabled/retro/app/app.ts create mode 100644 adev/src/content/examples/aria/select/src/icons/app/app.css create mode 100644 adev/src/content/examples/aria/select/src/icons/app/app.html create mode 100644 adev/src/content/examples/aria/select/src/icons/app/app.ts create mode 100644 adev/src/content/examples/aria/select/src/icons/material/app/app.css create mode 100644 adev/src/content/examples/aria/select/src/icons/material/app/app.html create mode 100644 adev/src/content/examples/aria/select/src/icons/material/app/app.ts create mode 100644 adev/src/content/examples/aria/select/src/icons/retro/app/app.css create mode 100644 adev/src/content/examples/aria/select/src/icons/retro/app/app.html create mode 100644 adev/src/content/examples/aria/select/src/icons/retro/app/app.ts diff --git a/adev/src/content/examples/aria/select/src/basic/app/app.css b/adev/src/content/examples/aria/select/src/basic/app/app.css new file mode 100644 index 000000000000..e9d69c84c1ec --- /dev/null +++ b/adev/src/content/examples/aria/select/src/basic/app/app.css @@ -0,0 +1,141 @@ +@import url('https://fonts.googleapis.com/icon?family=Material+Symbols+Outlined'); + +:host { + display: flex; + justify-content: center; + font-family: var(--inter-font); +} + +.select, +[ngListbox], +[ngOption] { + outline: none; +} + +.select { + display: flex; + position: relative; + align-items: center; + color: color-mix(in srgb, var(--hot-pink) 90%, var(--primary-contrast)); + background-color: color-mix(in srgb, var(--hot-pink) 5%, transparent); + border-radius: 0.5rem; + border: 1px solid color-mix(in srgb, var(--hot-pink) 80%, transparent); + cursor: pointer; + padding: 0 3rem; + height: 2.5rem; + box-sizing: border-box; + width: 14rem; + user-select: none; + -webkit-user-select: none; +} + +.select span { + user-select: none; + -webkit-user-select: none; +} + +.select:hover { + background-color: color-mix(in srgb, var(--hot-pink) 15%, transparent); +} + +.select[aria-disabled='true'] { + opacity: 0.6; + cursor: default; +} + +.select:focus, +.select:focus-within { + outline: 2px solid color-mix(in srgb, var(--hot-pink) 50%, transparent); +} + +.combobox-label { + gap: 1rem; + left: 2rem; + display: flex; + position: absolute; + align-items: center; + pointer-events: none; +} + +.example-arrow { + right: 1rem; + position: absolute; + pointer-events: none; + transition: transform 150ms ease-in-out; +} + +.select[aria-expanded='true'] .example-arrow { + transform: rotate(180deg); +} + +.example-popup-container { + width: 100%; + padding: 0.5rem; + margin-top: 8px; + border-radius: 0.5rem; + background-color: var(--septenary-contrast); + font-size: 0.9rem; + max-height: 11rem; + box-sizing: border-box; + overflow: hidden; + animation: smoothPopupOpen 150ms ease-out forwards; + transform-origin: top; +} + +@keyframes smoothPopupOpen { + 0% { + max-height: 0; + opacity: 0; + } + 16.7% { + opacity: 1; + } + 100% { + max-height: 11rem; + opacity: 1; + } +} + +[ngListbox] { + gap: 2px; + height: 100%; + display: flex; + overflow: auto; + flex-direction: column; +} + +[ngOption] { + display: flex; + cursor: pointer; + align-items: center; + margin: 1px; + padding: 0 1rem; + min-height: 2.25rem; + border-radius: 0.5rem; +} + +[ngOption]:hover { + background-color: color-mix(in srgb, var(--primary-contrast) 5%, transparent); +} + +[ngOption][data-active='true'] { + outline-offset: -2px; + outline: 2px solid color-mix(in srgb, var(--hot-pink) 50%, transparent); +} + +[ngOption][aria-selected='true'] { + color: var(--hot-pink); + background-color: color-mix(in srgb, var(--hot-pink) 5%, transparent); +} + +[ngOption]:not([aria-selected='true']) .example-option-check { + display: none; +} + +.example-option-check { + font-size: 0.9rem; +} + +.example-option-text { + flex: 1; +} diff --git a/adev/src/content/examples/aria/select/src/basic/app/app.html b/adev/src/content/examples/aria/select/src/basic/app/app.html new file mode 100644 index 000000000000..78a473b5fc77 --- /dev/null +++ b/adev/src/content/examples/aria/select/src/basic/app/app.html @@ -0,0 +1,49 @@ +
    + + {{ displayValue() }} + + +
    + + + +
    +
    + @for (label of labels; track label) { +
    + {{ label }} + +
    + } +
    +
    +
    +
    diff --git a/adev/src/content/examples/aria/select/src/basic/app/app.ts b/adev/src/content/examples/aria/select/src/basic/app/app.ts new file mode 100644 index 000000000000..7c0cf85e5279 --- /dev/null +++ b/adev/src/content/examples/aria/select/src/basic/app/app.ts @@ -0,0 +1,39 @@ +import {afterRenderEffect, Component, computed, signal, viewChild} from '@angular/core'; +import {Combobox, ComboboxPopup, ComboboxWidget} from '@angular/aria/combobox'; +import {Listbox, Option} from '@angular/aria/listbox'; +import {OverlayModule} from '@angular/cdk/overlay'; + +@Component({ + selector: 'app-root[theme="basic-basic"], app-root:not([theme])', + templateUrl: './app.html', + styleUrl: './app.css', + imports: [Combobox, ComboboxPopup, ComboboxWidget, Listbox, Option, OverlayModule], +}) +export class App { + readonly listbox = viewChild(Listbox); + + readonly selectedValues = signal([]); + readonly displayValue = computed(() => this.selectedValues()[0] || 'Select a label'); + readonly popupExpanded = signal(false); + + readonly labels = [ + 'Important', + 'Starred', + 'Work', + 'Personal', + 'To Do', + 'Later', + 'Read', + 'Travel', + ]; + + constructor() { + afterRenderEffect(() => { + this.listbox()?.scrollActiveItemIntoView(); + }); + } + + onCommit() { + this.popupExpanded.set(false); + } +} diff --git a/adev/src/content/examples/aria/select/src/basic/material/app/app.css b/adev/src/content/examples/aria/select/src/basic/material/app/app.css new file mode 100644 index 000000000000..8f1b8939d4cf --- /dev/null +++ b/adev/src/content/examples/aria/select/src/basic/material/app/app.css @@ -0,0 +1,149 @@ +@import url('https://fonts.googleapis.com/icon?family=Material+Symbols+Outlined'); + +:host { + display: flex; + justify-content: center; + font-family: var(--inter-font); + --primary: var(--hot-pink); + --on-primary: var(--page-background); +} + +.docs-light-mode { + --on-primary: #fff; +} + +.select, +[ngListbox], +[ngOption] { + outline: none; +} + +.select { + display: flex; + position: relative; + align-items: center; + border-radius: 3rem; + color: var(--on-primary); + background-color: var(--primary); + border: 1px solid color-mix(in srgb, var(--primary) 80%, transparent); + cursor: pointer; + height: 3rem; + padding: 0 3rem; + box-sizing: border-box; + width: 14rem; + user-select: none; + -webkit-user-select: none; +} + +.select span { + user-select: none; + -webkit-user-select: none; +} + +.select:hover { + background-color: color-mix(in srgb, var(--primary) 90%, transparent); +} + +.select[aria-disabled='true'] { + opacity: 0.6; + cursor: default; +} + +.select:focus, +.select:focus-within { + outline: 2px solid var(--primary); + outline-offset: 2px; +} + +.combobox-label { + gap: 1rem; + left: 2rem; + display: flex; + position: absolute; + align-items: center; + pointer-events: none; +} + +.example-arrow { + right: 1rem; + position: absolute; + pointer-events: none; + transition: transform 150ms ease-in-out; +} + +.select[aria-expanded='true'] .example-arrow { + transform: rotate(180deg); +} + +.example-popup-container { + width: 100%; + padding: 0.5rem; + margin-top: 8px; + border-radius: 2rem; + background-color: var(--septenary-contrast); + font-size: 0.9rem; + max-height: 13rem; + box-sizing: border-box; + overflow: hidden; + animation: smoothPopupOpen 150ms ease-out forwards; + transform-origin: top; +} + +@keyframes smoothPopupOpen { + 0% { + max-height: 0; + opacity: 0; + } + 16.7% { + opacity: 1; + } + 100% { + max-height: 13rem; + opacity: 1; + } +} + +[ngListbox] { + gap: 2px; + padding: 2px; + height: 100%; + display: flex; + overflow: auto; + flex-direction: column; +} + +[ngOption] { + display: flex; + cursor: pointer; + align-items: center; + padding: 0 1rem; + min-height: 3rem; + border-radius: 3rem; +} + +[ngOption]:hover, +[ngOption][data-active='true'] { + background-color: color-mix(in srgb, var(--primary-contrast) 5%, transparent); +} + +[ngOption][data-active='true'] { + outline-offset: -2px; + outline: 2px solid var(--primary); +} + +[ngOption][aria-selected='true'] { + color: var(--primary); + background-color: color-mix(in srgb, var(--primary) 10%, transparent); +} + +[ngOption]:not([aria-selected='true']) .example-option-check { + display: none; +} + +.example-option-check { + font-size: 0.9rem; +} + +.example-option-text { + flex: 1; +} diff --git a/adev/src/content/examples/aria/select/src/basic/material/app/app.html b/adev/src/content/examples/aria/select/src/basic/material/app/app.html new file mode 100644 index 000000000000..78a473b5fc77 --- /dev/null +++ b/adev/src/content/examples/aria/select/src/basic/material/app/app.html @@ -0,0 +1,49 @@ +
    + + {{ displayValue() }} + + +
    + + + +
    +
    + @for (label of labels; track label) { +
    + {{ label }} + +
    + } +
    +
    +
    +
    diff --git a/adev/src/content/examples/aria/select/src/basic/material/app/app.ts b/adev/src/content/examples/aria/select/src/basic/material/app/app.ts new file mode 100644 index 000000000000..0e77d973d2ea --- /dev/null +++ b/adev/src/content/examples/aria/select/src/basic/material/app/app.ts @@ -0,0 +1,39 @@ +import {afterRenderEffect, Component, computed, signal, viewChild} from '@angular/core'; +import {Combobox, ComboboxPopup, ComboboxWidget} from '@angular/aria/combobox'; +import {Listbox, Option} from '@angular/aria/listbox'; +import {OverlayModule} from '@angular/cdk/overlay'; + +@Component({ + selector: 'app-root[theme="basic-material"], app-root:not([theme])', + templateUrl: './app.html', + styleUrl: './app.css', + imports: [Combobox, ComboboxPopup, ComboboxWidget, Listbox, Option, OverlayModule], +}) +export class App { + readonly listbox = viewChild(Listbox); + + readonly selectedValues = signal([]); + readonly displayValue = computed(() => this.selectedValues()[0] || 'Select a label'); + readonly popupExpanded = signal(false); + + readonly labels = [ + 'Important', + 'Starred', + 'Work', + 'Personal', + 'To Do', + 'Later', + 'Read', + 'Travel', + ]; + + constructor() { + afterRenderEffect(() => { + this.listbox()?.scrollActiveItemIntoView(); + }); + } + + onCommit() { + this.popupExpanded.set(false); + } +} diff --git a/adev/src/content/examples/aria/select/src/basic/retro/app/app.css b/adev/src/content/examples/aria/select/src/basic/retro/app/app.css new file mode 100644 index 000000000000..9f226fe1e8e4 --- /dev/null +++ b/adev/src/content/examples/aria/select/src/basic/retro/app/app.css @@ -0,0 +1,181 @@ +@import url('https://fonts.googleapis.com/icon?family=Material+Symbols+Outlined'); +@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap'); + +:host { + display: flex; + justify-content: center; + font-size: 0.8rem; + + font-family: 'Press Start 2P'; + --retro-button-color: color-mix(in srgb, var(--hot-pink) 80%, var(--page-background)); + --retro-shadow-light: color-mix(in srgb, var(--retro-button-color) 90%, #fff); + --retro-shadow-dark: color-mix(in srgb, var(--retro-button-color) 90%, #000); + --retro-elevated-shadow: + inset 4px 4px 0px 0px var(--retro-shadow-light), + inset -4px -4px 0px 0px var(--retro-shadow-dark), 4px 0px 0px 0px var(--tertiary-contrast), + 0px 4px 0px 0px var(--tertiary-contrast), -4px 0px 0px 0px var(--tertiary-contrast), + 0px -4px 0px 0px var(--tertiary-contrast); + --retro-flat-shadow: + 4px 0px 0px 0px var(--tertiary-contrast), 0px 4px 0px 0px var(--tertiary-contrast), + -4px 0px 0px 0px var(--tertiary-contrast), 0px -4px 0px 0px var(--tertiary-contrast); + --retro-clickable-shadow: + inset 4px 4px 0px 0px var(--retro-shadow-light), + inset -4px -4px 0px 0px var(--retro-shadow-dark), 4px 0px 0px 0px var(--tertiary-contrast), + 0px 4px 0px 0px var(--tertiary-contrast), -4px 0px 0px 0px var(--tertiary-contrast), + 0px -4px 0px 0px var(--tertiary-contrast), 8px 8px 0px 0px var(--tertiary-contrast); + --retro-pressed-shadow: + inset 4px 4px 0px 0px var(--retro-shadow-dark), + inset -4px -4px 0px 0px var(--retro-shadow-light), 4px 0px 0px 0px var(--tertiary-contrast), + 0px 4px 0px 0px var(--tertiary-contrast), -4px 0px 0px 0px var(--tertiary-contrast), + 0px -4px 0px 0px var(--tertiary-contrast), 0px 0px 0px 0px var(--tertiary-contrast); +} + +.select, +[ngListbox], +[ngOption] { + outline: none; +} + +.select { + display: flex; + position: relative; + align-items: center; + color: var(--page-background); + background-color: var(--hot-pink); + box-shadow: var(--retro-clickable-shadow); + cursor: pointer; + padding: 0 4.5rem; + height: 2.5rem; + box-sizing: border-box; + width: 16rem; + user-select: none; + -webkit-user-select: none; +} + +.select span { + user-select: none; + -webkit-user-select: none; +} + +.select:hover, +.select:focus, +.select:focus-within { + transform: translate(1px, 1px); +} + +.select:active { + transform: translate(4px, 4px); + box-shadow: var(--retro-pressed-shadow); + background-color: color-mix(in srgb, var(--retro-button-color) 60%, var(--gray-50)); +} + +.select[aria-disabled='true'] { + opacity: 0.6; + cursor: default; +} + +.selected-label-icon { + font-size: 1.25rem; +} + +.select[aria-expanded='false']:focus, +.select[aria-expanded='false']:focus-within { + outline-offset: 8px; + outline: 4px dashed var(--hot-pink); +} + +.combobox-label { + gap: 1rem; + left: 1rem; + display: flex; + position: absolute; + align-items: center; + pointer-events: none; +} + +.example-arrow { + right: 1rem; + position: absolute; + pointer-events: none; + transition: transform 150ms ease-in-out; +} + +.select[aria-expanded='true'] .example-arrow { + transform: rotate(180deg); +} + +.example-popup-container { + width: 100%; + padding: 0.5rem; + margin-top: 20px; + box-shadow: var(--retro-flat-shadow); + background-color: var(--septenary-contrast); + max-height: 11rem; + box-sizing: border-box; + overflow: hidden; + animation: smoothPopupOpen 150ms ease-out forwards; + transform-origin: top; +} + +@keyframes smoothPopupOpen { + 0% { + max-height: 0; + opacity: 0; + } + 16.7% { + opacity: 1; + } + 100% { + max-height: 11rem; + opacity: 1; + } +} + +[ngListbox] { + gap: 2px; + height: 100%; + display: flex; + overflow: auto; + flex-direction: column; +} + +[ngOption] { + display: flex; + cursor: pointer; + align-items: center; + padding: 0 1rem; + font-size: 0.6rem; + min-height: 2.25rem; +} + +[ngOption]:hover { + background-color: color-mix(in srgb, var(--primary-contrast) 5%, transparent); +} + +[ngOption][data-active='true'] { + outline-offset: -2px; + outline: 2px dashed var(--hot-pink); +} + +[ngOption][aria-selected='true'] { + color: var(--hot-pink); + background-color: color-mix(in srgb, var(--hot-pink) 5%, transparent); +} + +.example-option-icon { + font-size: 1.25rem; + padding-right: 1rem; +} + +[ngOption]:not([aria-selected='true']) .example-option-check { + display: none; +} + +.example-option-icon, +.example-option-check { + font-size: 0.9rem; +} + +.example-option-text { + flex: 1; +} diff --git a/adev/src/content/examples/aria/select/src/basic/retro/app/app.html b/adev/src/content/examples/aria/select/src/basic/retro/app/app.html new file mode 100644 index 000000000000..78a473b5fc77 --- /dev/null +++ b/adev/src/content/examples/aria/select/src/basic/retro/app/app.html @@ -0,0 +1,49 @@ +
    + + {{ displayValue() }} + + +
    + + + +
    +
    + @for (label of labels; track label) { +
    + {{ label }} + +
    + } +
    +
    +
    +
    diff --git a/adev/src/content/examples/aria/select/src/basic/retro/app/app.ts b/adev/src/content/examples/aria/select/src/basic/retro/app/app.ts new file mode 100644 index 000000000000..a11fcee3ab30 --- /dev/null +++ b/adev/src/content/examples/aria/select/src/basic/retro/app/app.ts @@ -0,0 +1,39 @@ +import {afterRenderEffect, Component, computed, signal, viewChild} from '@angular/core'; +import {Combobox, ComboboxPopup, ComboboxWidget} from '@angular/aria/combobox'; +import {Listbox, Option} from '@angular/aria/listbox'; +import {OverlayModule} from '@angular/cdk/overlay'; + +@Component({ + selector: 'app-root[theme="basic-retro"], app-root:not([theme])', + templateUrl: './app.html', + styleUrl: './app.css', + imports: [Combobox, ComboboxPopup, ComboboxWidget, Listbox, Option, OverlayModule], +}) +export class App { + readonly listbox = viewChild(Listbox); + + readonly selectedValues = signal([]); + readonly displayValue = computed(() => this.selectedValues()[0] || 'Select a label'); + readonly popupExpanded = signal(false); + + readonly labels = [ + 'Important', + 'Starred', + 'Work', + 'Personal', + 'To Do', + 'Later', + 'Read', + 'Travel', + ]; + + constructor() { + afterRenderEffect(() => { + this.listbox()?.scrollActiveItemIntoView(); + }); + } + + onCommit() { + this.popupExpanded.set(false); + } +} diff --git a/adev/src/content/examples/aria/select/src/disabled/app/app.css b/adev/src/content/examples/aria/select/src/disabled/app/app.css new file mode 100644 index 000000000000..6c8ae6622078 --- /dev/null +++ b/adev/src/content/examples/aria/select/src/disabled/app/app.css @@ -0,0 +1,141 @@ +@import url('https://fonts.googleapis.com/icon?family=Material+Symbols+Outlined'); + +:host { + display: flex; + justify-content: center; + font-family: var(--inter-font); +} + +.select, +[ngListbox], +[ngOption] { + outline: none; +} + +.select { + display: flex; + position: relative; + align-items: center; + color: color-mix(in srgb, var(--hot-pink) 90%, var(--primary-contrast)); + background-color: color-mix(in srgb, var(--hot-pink) 5%, transparent); + border-radius: 0.5rem; + border: 1px solid color-mix(in srgb, var(--hot-pink) 80%, transparent); + cursor: pointer; + padding: 0 3rem; + height: 2.5rem; + box-sizing: border-box; + width: 14rem; + user-select: none; + -webkit-user-select: none; +} + +.select span { + user-select: none; + -webkit-user-select: none; +} + +.select:not([aria-disabled='true']):hover { + background-color: color-mix(in srgb, var(--hot-pink) 15%, transparent); +} + +.select[aria-disabled='true'] { + opacity: 0.6; + cursor: default; +} + +.select:focus, +.select:focus-within { + outline: 2px solid color-mix(in srgb, var(--hot-pink) 50%, transparent); +} + +.combobox-label { + gap: 1rem; + left: 2rem; + display: flex; + position: absolute; + align-items: center; + pointer-events: none; +} + +.example-arrow { + right: 1rem; + position: absolute; + pointer-events: none; + transition: transform 150ms ease-in-out; +} + +.select[aria-expanded='true'] .example-arrow { + transform: rotate(180deg); +} + +.example-popup-container { + width: 100%; + padding: 0.5rem; + margin-top: 8px; + border-radius: 0.5rem; + background-color: var(--septenary-contrast); + font-size: 0.9rem; + max-height: 11rem; + box-sizing: border-box; + overflow: hidden; + animation: smoothPopupOpen 150ms ease-out forwards; + transform-origin: top; +} + +@keyframes smoothPopupOpen { + 0% { + max-height: 0; + opacity: 0; + } + 16.7% { + opacity: 1; + } + 100% { + max-height: 11rem; + opacity: 1; + } +} + +[ngListbox] { + gap: 2px; + height: 100%; + display: flex; + overflow: auto; + flex-direction: column; +} + +[ngOption] { + display: flex; + cursor: pointer; + align-items: center; + margin: 1px; + padding: 0 1rem; + min-height: 2.25rem; + border-radius: 0.5rem; +} + +[ngOption]:hover { + background-color: color-mix(in srgb, var(--primary-contrast) 5%, transparent); +} + +[ngOption][data-active='true'] { + outline-offset: -2px; + outline: 2px solid color-mix(in srgb, var(--hot-pink) 50%, transparent); +} + +[ngOption][aria-selected='true'] { + color: var(--hot-pink); + background-color: color-mix(in srgb, var(--hot-pink) 5%, transparent); +} + +[ngOption]:not([aria-selected='true']) .example-option-check { + display: none; +} + +.example-option-check { + font-size: 0.9rem; +} + +.example-option-text { + flex: 1; +} diff --git a/adev/src/content/examples/aria/select/src/disabled/app/app.html b/adev/src/content/examples/aria/select/src/disabled/app/app.html new file mode 100644 index 000000000000..90d9a889f532 --- /dev/null +++ b/adev/src/content/examples/aria/select/src/disabled/app/app.html @@ -0,0 +1,50 @@ +
    + + {{ displayValue() }} + + +
    + + + +
    +
    + @for (label of labels; track label) { +
    + {{ label }} + +
    + } +
    +
    +
    +
    diff --git a/adev/src/content/examples/aria/select/src/disabled/app/app.ts b/adev/src/content/examples/aria/select/src/disabled/app/app.ts new file mode 100644 index 000000000000..a1079aec43da --- /dev/null +++ b/adev/src/content/examples/aria/select/src/disabled/app/app.ts @@ -0,0 +1,39 @@ +import {afterRenderEffect, Component, computed, signal, viewChild} from '@angular/core'; +import {Combobox, ComboboxPopup, ComboboxWidget} from '@angular/aria/combobox'; +import {Listbox, Option} from '@angular/aria/listbox'; +import {OverlayModule} from '@angular/cdk/overlay'; + +@Component({ + selector: 'app-root[theme="disabled-basic"], app-root:not([theme])', + templateUrl: './app.html', + styleUrl: './app.css', + imports: [Combobox, ComboboxPopup, ComboboxWidget, Listbox, Option, OverlayModule], +}) +export class App { + readonly listbox = viewChild(Listbox); + + readonly selectedValues = signal([]); + readonly displayValue = computed(() => this.selectedValues()[0] || 'Select a label'); + readonly popupExpanded = signal(false); + + readonly labels = [ + 'Important', + 'Starred', + 'Work', + 'Personal', + 'To Do', + 'Later', + 'Read', + 'Travel', + ]; + + constructor() { + afterRenderEffect(() => { + this.listbox()?.scrollActiveItemIntoView(); + }); + } + + onCommit() { + this.popupExpanded.set(false); + } +} diff --git a/adev/src/content/examples/aria/select/src/disabled/material/app/app.css b/adev/src/content/examples/aria/select/src/disabled/material/app/app.css new file mode 100644 index 000000000000..04fbc2851a5c --- /dev/null +++ b/adev/src/content/examples/aria/select/src/disabled/material/app/app.css @@ -0,0 +1,149 @@ +@import url('https://fonts.googleapis.com/icon?family=Material+Symbols+Outlined'); + +:host { + display: flex; + justify-content: center; + font-family: var(--inter-font); + --primary: var(--hot-pink); + --on-primary: var(--page-background); +} + +.docs-light-mode { + --on-primary: #fff; +} + +.select, +[ngListbox], +[ngOption] { + outline: none; +} + +.select { + display: flex; + position: relative; + align-items: center; + border-radius: 3rem; + color: var(--on-primary); + background-color: var(--primary); + border: 1px solid color-mix(in srgb, var(--primary) 80%, transparent); + cursor: pointer; + height: 3rem; + padding: 0 3rem; + box-sizing: border-box; + width: 14rem; + user-select: none; + -webkit-user-select: none; +} + +.select span { + user-select: none; + -webkit-user-select: none; +} + +.select:not([aria-disabled='true']):hover { + background-color: color-mix(in srgb, var(--primary) 90%, transparent); +} + +.select[aria-disabled='true'] { + opacity: 0.6; + cursor: default; +} + +.select:focus, +.select:focus-within { + outline: 2px solid var(--primary); + outline-offset: 2px; +} + +.combobox-label { + gap: 1rem; + left: 2rem; + display: flex; + position: absolute; + align-items: center; + pointer-events: none; +} + +.example-arrow { + right: 1rem; + position: absolute; + pointer-events: none; + transition: transform 150ms ease-in-out; +} + +.select[aria-expanded='true'] .example-arrow { + transform: rotate(180deg); +} + +.example-popup-container { + width: 100%; + padding: 0.5rem; + margin-top: 8px; + border-radius: 2rem; + background-color: var(--septenary-contrast); + font-size: 0.9rem; + max-height: 13rem; + box-sizing: border-box; + overflow: hidden; + animation: smoothPopupOpen 150ms ease-out forwards; + transform-origin: top; +} + +@keyframes smoothPopupOpen { + 0% { + max-height: 0; + opacity: 0; + } + 16.7% { + opacity: 1; + } + 100% { + max-height: 13rem; + opacity: 1; + } +} + +[ngListbox] { + gap: 2px; + padding: 2px; + height: 100%; + display: flex; + overflow: auto; + flex-direction: column; +} + +[ngOption] { + display: flex; + cursor: pointer; + align-items: center; + padding: 0 1rem; + min-height: 3rem; + border-radius: 3rem; +} + +[ngOption]:hover, +[ngOption][data-active='true'] { + background-color: color-mix(in srgb, var(--primary-contrast) 5%, transparent); +} + +[ngOption][data-active='true'] { + outline-offset: -2px; + outline: 2px solid var(--primary); +} + +[ngOption][aria-selected='true'] { + color: var(--primary); + background-color: color-mix(in srgb, var(--primary) 10%, transparent); +} + +[ngOption]:not([aria-selected='true']) .example-option-check { + display: none; +} + +.example-option-check { + font-size: 0.9rem; +} + +.example-option-text { + flex: 1; +} diff --git a/adev/src/content/examples/aria/select/src/disabled/material/app/app.html b/adev/src/content/examples/aria/select/src/disabled/material/app/app.html new file mode 100644 index 000000000000..90d9a889f532 --- /dev/null +++ b/adev/src/content/examples/aria/select/src/disabled/material/app/app.html @@ -0,0 +1,50 @@ +
    + + {{ displayValue() }} + + +
    + + + +
    +
    + @for (label of labels; track label) { +
    + {{ label }} + +
    + } +
    +
    +
    +
    diff --git a/adev/src/content/examples/aria/select/src/disabled/material/app/app.ts b/adev/src/content/examples/aria/select/src/disabled/material/app/app.ts new file mode 100644 index 000000000000..9b9ec72666b2 --- /dev/null +++ b/adev/src/content/examples/aria/select/src/disabled/material/app/app.ts @@ -0,0 +1,39 @@ +import {afterRenderEffect, Component, computed, signal, viewChild} from '@angular/core'; +import {Combobox, ComboboxPopup, ComboboxWidget} from '@angular/aria/combobox'; +import {Listbox, Option} from '@angular/aria/listbox'; +import {OverlayModule} from '@angular/cdk/overlay'; + +@Component({ + selector: 'app-root[theme="disabled-material"], app-root:not([theme])', + templateUrl: './app.html', + styleUrl: './app.css', + imports: [Combobox, ComboboxPopup, ComboboxWidget, Listbox, Option, OverlayModule], +}) +export class App { + readonly listbox = viewChild(Listbox); + + readonly selectedValues = signal([]); + readonly displayValue = computed(() => this.selectedValues()[0] || 'Select a label'); + readonly popupExpanded = signal(false); + + readonly labels = [ + 'Important', + 'Starred', + 'Work', + 'Personal', + 'To Do', + 'Later', + 'Read', + 'Travel', + ]; + + constructor() { + afterRenderEffect(() => { + this.listbox()?.scrollActiveItemIntoView(); + }); + } + + onCommit() { + this.popupExpanded.set(false); + } +} diff --git a/adev/src/content/examples/aria/select/src/disabled/retro/app/app.css b/adev/src/content/examples/aria/select/src/disabled/retro/app/app.css new file mode 100644 index 000000000000..f45281fa9f64 --- /dev/null +++ b/adev/src/content/examples/aria/select/src/disabled/retro/app/app.css @@ -0,0 +1,181 @@ +@import url('https://fonts.googleapis.com/icon?family=Material+Symbols+Outlined'); +@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap'); + +:host { + display: flex; + justify-content: center; + font-size: 0.8rem; + + font-family: 'Press Start 2P'; + --retro-button-color: color-mix(in srgb, var(--hot-pink) 80%, var(--page-background)); + --retro-shadow-light: color-mix(in srgb, var(--retro-button-color) 90%, #fff); + --retro-shadow-dark: color-mix(in srgb, var(--retro-button-color) 90%, #000); + --retro-elevated-shadow: + inset 4px 4px 0px 0px var(--retro-shadow-light), + inset -4px -4px 0px 0px var(--retro-shadow-dark), 4px 0px 0px 0px var(--tertiary-contrast), + 0px 4px 0px 0px var(--tertiary-contrast), -4px 0px 0px 0px var(--tertiary-contrast), + 0px -4px 0px 0px var(--tertiary-contrast); + --retro-flat-shadow: + 4px 0px 0px 0px var(--tertiary-contrast), 0px 4px 0px 0px var(--tertiary-contrast), + -4px 0px 0px 0px var(--tertiary-contrast), 0px -4px 0px 0px var(--tertiary-contrast); + --retro-clickable-shadow: + inset 4px 4px 0px 0px var(--retro-shadow-light), + inset -4px -4px 0px 0px var(--retro-shadow-dark), 4px 0px 0px 0px var(--tertiary-contrast), + 0px 4px 0px 0px var(--tertiary-contrast), -4px 0px 0px 0px var(--tertiary-contrast), + 0px -4px 0px 0px var(--tertiary-contrast), 8px 8px 0px 0px var(--tertiary-contrast); + --retro-pressed-shadow: + inset 4px 4px 0px 0px var(--retro-shadow-dark), + inset -4px -4px 0px 0px var(--retro-shadow-light), 4px 0px 0px 0px var(--tertiary-contrast), + 0px 4px 0px 0px var(--tertiary-contrast), -4px 0px 0px 0px var(--tertiary-contrast), + 0px -4px 0px 0px var(--tertiary-contrast), 0px 0px 0px 0px var(--tertiary-contrast); +} + +.select, +[ngListbox], +[ngOption] { + outline: none; +} + +.select { + display: flex; + position: relative; + align-items: center; + color: var(--page-background); + background-color: var(--hot-pink); + box-shadow: var(--retro-clickable-shadow); + cursor: pointer; + padding: 0 4.5rem; + height: 2.5rem; + box-sizing: border-box; + width: 16rem; + user-select: none; + -webkit-user-select: none; +} + +.select span { + user-select: none; + -webkit-user-select: none; +} + +.select:not([aria-disabled='true']):hover, +.select:not([aria-disabled='true']):focus, +.select:not([aria-disabled='true']):focus-within { + transform: translate(1px, 1px); +} + +.select:not([aria-disabled='true']):active { + transform: translate(4px, 4px); + box-shadow: var(--retro-pressed-shadow); + background-color: color-mix(in srgb, var(--retro-button-color) 60%, var(--gray-50)); +} + +.select[aria-disabled='true'] { + opacity: 0.6; + cursor: default; +} + +.selected-label-icon { + font-size: 1.25rem; +} + +.select[aria-expanded='false']:focus, +.select[aria-expanded='false']:focus-within { + outline-offset: 8px; + outline: 4px dashed var(--hot-pink); +} + +.combobox-label { + gap: 1rem; + left: 1rem; + display: flex; + position: absolute; + align-items: center; + pointer-events: none; +} + +.example-arrow { + right: 1rem; + position: absolute; + pointer-events: none; + transition: transform 150ms ease-in-out; +} + +.select[aria-expanded='true'] .example-arrow { + transform: rotate(180deg); +} + +.example-popup-container { + width: 100%; + padding: 0.5rem; + margin-top: 20px; + box-shadow: var(--retro-flat-shadow); + background-color: var(--septenary-contrast); + max-height: 11rem; + box-sizing: border-box; + overflow: hidden; + animation: smoothPopupOpen 150ms ease-out forwards; + transform-origin: top; +} + +@keyframes smoothPopupOpen { + 0% { + max-height: 0; + opacity: 0; + } + 16.7% { + opacity: 1; + } + 100% { + max-height: 11rem; + opacity: 1; + } +} + +[ngListbox] { + gap: 2px; + height: 100%; + display: flex; + overflow: auto; + flex-direction: column; +} + +[ngOption] { + display: flex; + cursor: pointer; + align-items: center; + padding: 0 1rem; + font-size: 0.6rem; + min-height: 2.25rem; +} + +[ngOption]:hover { + background-color: color-mix(in srgb, var(--primary-contrast) 5%, transparent); +} + +[ngOption][data-active='true'] { + outline-offset: -2px; + outline: 2px dashed var(--hot-pink); +} + +[ngOption][aria-selected='true'] { + color: var(--hot-pink); + background-color: color-mix(in srgb, var(--hot-pink) 5%, transparent); +} + +.example-option-icon { + font-size: 1.25rem; + padding-right: 1rem; +} + +[ngOption]:not([aria-selected='true']) .example-option-check { + display: none; +} + +.example-option-icon, +.example-option-check { + font-size: 0.9rem; +} + +.example-option-text { + flex: 1; +} diff --git a/adev/src/content/examples/aria/select/src/disabled/retro/app/app.html b/adev/src/content/examples/aria/select/src/disabled/retro/app/app.html new file mode 100644 index 000000000000..90d9a889f532 --- /dev/null +++ b/adev/src/content/examples/aria/select/src/disabled/retro/app/app.html @@ -0,0 +1,50 @@ +
    + + {{ displayValue() }} + + +
    + + + +
    +
    + @for (label of labels; track label) { +
    + {{ label }} + +
    + } +
    +
    +
    +
    diff --git a/adev/src/content/examples/aria/select/src/disabled/retro/app/app.ts b/adev/src/content/examples/aria/select/src/disabled/retro/app/app.ts new file mode 100644 index 000000000000..f0ebb7224f26 --- /dev/null +++ b/adev/src/content/examples/aria/select/src/disabled/retro/app/app.ts @@ -0,0 +1,39 @@ +import {afterRenderEffect, Component, computed, signal, viewChild} from '@angular/core'; +import {Combobox, ComboboxPopup, ComboboxWidget} from '@angular/aria/combobox'; +import {Listbox, Option} from '@angular/aria/listbox'; +import {OverlayModule} from '@angular/cdk/overlay'; + +@Component({ + selector: 'app-root[theme="disabled-retro"], app-root:not([theme])', + templateUrl: './app.html', + styleUrl: './app.css', + imports: [Combobox, ComboboxPopup, ComboboxWidget, Listbox, Option, OverlayModule], +}) +export class App { + readonly listbox = viewChild(Listbox); + + readonly selectedValues = signal([]); + readonly displayValue = computed(() => this.selectedValues()[0] || 'Select a label'); + readonly popupExpanded = signal(false); + + readonly labels = [ + 'Important', + 'Starred', + 'Work', + 'Personal', + 'To Do', + 'Later', + 'Read', + 'Travel', + ]; + + constructor() { + afterRenderEffect(() => { + this.listbox()?.scrollActiveItemIntoView(); + }); + } + + onCommit() { + this.popupExpanded.set(false); + } +} diff --git a/adev/src/content/examples/aria/select/src/icons/app/app.css b/adev/src/content/examples/aria/select/src/icons/app/app.css new file mode 100644 index 000000000000..14e8fd1e8777 --- /dev/null +++ b/adev/src/content/examples/aria/select/src/icons/app/app.css @@ -0,0 +1,151 @@ +@import url('https://fonts.googleapis.com/icon?family=Material+Symbols+Outlined'); + +:host { + display: flex; + justify-content: center; + font-family: var(--inter-font); +} + +.select, +[ngListbox], +[ngOption] { + outline: none; +} + +.select { + display: flex; + position: relative; + align-items: center; + color: color-mix(in srgb, var(--hot-pink) 90%, var(--primary-contrast)); + background-color: color-mix(in srgb, var(--hot-pink) 5%, transparent); + border-radius: 0.5rem; + border: 1px solid color-mix(in srgb, var(--hot-pink) 80%, transparent); + cursor: pointer; + padding: 0 3.5rem; + height: 2.5rem; + box-sizing: border-box; + width: 14rem; + user-select: none; + -webkit-user-select: none; +} + +.select span { + user-select: none; + -webkit-user-select: none; +} + +.select:hover { + background-color: color-mix(in srgb, var(--hot-pink) 15%, transparent); +} + +.select[aria-disabled='true'] { + opacity: 0.6; + cursor: default; +} + +.selected-label-icon { + font-size: 1.25rem; +} + +.select:focus, +.select:focus-within { + outline: 2px solid color-mix(in srgb, var(--hot-pink) 50%, transparent); +} + +.combobox-label { + gap: 1rem; + left: 1rem; + display: flex; + position: absolute; + align-items: center; + pointer-events: none; +} + +.example-arrow { + right: 1rem; + position: absolute; + pointer-events: none; + transition: transform 150ms ease-in-out; +} + +.select[aria-expanded='true'] .example-arrow { + transform: rotate(180deg); +} + +.example-popup-container { + width: 100%; + padding: 0.5rem; + margin-top: 8px; + border-radius: 0.5rem; + background-color: var(--septenary-contrast); + font-size: 0.9rem; + max-height: 11rem; + box-sizing: border-box; + overflow: hidden; + animation: smoothPopupOpen 150ms ease-out forwards; + transform-origin: top; +} + +@keyframes smoothPopupOpen { + 0% { + max-height: 0; + opacity: 0; + } + 16.7% { + opacity: 1; + } + 100% { + max-height: 11rem; + opacity: 1; + } +} + +[ngListbox] { + gap: 2px; + height: 100%; + display: flex; + overflow: auto; + flex-direction: column; +} + +[ngOption] { + display: flex; + cursor: pointer; + align-items: center; + margin: 1px; + padding: 0 1rem; + min-height: 2.25rem; + border-radius: 0.5rem; +} + +[ngOption]:hover { + background-color: color-mix(in srgb, var(--primary-contrast) 5%, transparent); +} + +[ngOption][data-active='true'] { + outline-offset: -2px; + outline: 2px solid color-mix(in srgb, var(--hot-pink) 50%, transparent); +} + +[ngOption][aria-selected='true'] { + color: var(--hot-pink); + background-color: color-mix(in srgb, var(--hot-pink) 5%, transparent); +} + +.example-option-icon { + font-size: 1.25rem; + padding-right: 1rem; +} + +[ngOption]:not([aria-selected='true']) .example-option-check { + display: none; +} + +.example-option-icon, +.example-option-check { + font-size: 0.9rem; +} + +.example-option-text { + flex: 1; +} diff --git a/adev/src/content/examples/aria/select/src/icons/app/app.html b/adev/src/content/examples/aria/select/src/icons/app/app.html new file mode 100644 index 000000000000..557c380443d6 --- /dev/null +++ b/adev/src/content/examples/aria/select/src/icons/app/app.html @@ -0,0 +1,58 @@ +
    + + + {{ displayValue() }} + + +
    + + + +
    +
    + @for (label of labels; track label.value) { +
    + + {{ label.value }} + +
    + } +
    +
    +
    +
    diff --git a/adev/src/content/examples/aria/select/src/icons/app/app.ts b/adev/src/content/examples/aria/select/src/icons/app/app.ts new file mode 100644 index 000000000000..1c45c71a7c8e --- /dev/null +++ b/adev/src/content/examples/aria/select/src/icons/app/app.ts @@ -0,0 +1,46 @@ +import {afterRenderEffect, Component, computed, signal, viewChild} from '@angular/core'; +import {Combobox, ComboboxPopup, ComboboxWidget} from '@angular/aria/combobox'; +import {Listbox, Option} from '@angular/aria/listbox'; +import {OverlayModule} from '@angular/cdk/overlay'; + +@Component({ + selector: 'app-root[theme="icons-basic"], app-root:not([theme])', + templateUrl: './app.html', + styleUrl: './app.css', + imports: [Combobox, ComboboxPopup, ComboboxWidget, Listbox, Option, OverlayModule], +}) +export class App { + readonly listbox = viewChild(Listbox); + + readonly selectedValues = signal([]); + readonly popupExpanded = signal(false); + + readonly displayIcon = computed(() => { + const val = this.selectedValues()[0]; + const label = this.labels.find((label) => label.value === val); + return label ? label.icon : ''; + }); + + readonly displayValue = computed(() => this.selectedValues()[0] || 'Select a label'); + + readonly labels = [ + {value: 'Important', icon: 'label'}, + {value: 'Starred', icon: 'star'}, + {value: 'Work', icon: 'work'}, + {value: 'Personal', icon: 'person'}, + {value: 'To Do', icon: 'checklist'}, + {value: 'Later', icon: 'schedule'}, + {value: 'Read', icon: 'menu_book'}, + {value: 'Travel', icon: 'flight'}, + ]; + + constructor() { + afterRenderEffect(() => { + this.listbox()?.scrollActiveItemIntoView(); + }); + } + + onCommit() { + this.popupExpanded.set(false); + } +} diff --git a/adev/src/content/examples/aria/select/src/icons/material/app/app.css b/adev/src/content/examples/aria/select/src/icons/material/app/app.css new file mode 100644 index 000000000000..785ed850162f --- /dev/null +++ b/adev/src/content/examples/aria/select/src/icons/material/app/app.css @@ -0,0 +1,159 @@ +@import url('https://fonts.googleapis.com/icon?family=Material+Symbols+Outlined'); + +:host { + display: flex; + justify-content: center; + font-family: var(--inter-font); + --primary: var(--hot-pink); + --on-primary: var(--page-background); +} + +.docs-light-mode { + --on-primary: #fff; +} + +.select, +[ngListbox], +[ngOption] { + outline: none; +} + +.select { + display: flex; + position: relative; + align-items: center; + border-radius: 3rem; + color: var(--on-primary); + background-color: var(--primary); + border: 1px solid color-mix(in srgb, var(--primary) 80%, transparent); + cursor: pointer; + height: 3rem; + padding: 0 3.5rem; + box-sizing: border-box; + width: 14rem; + user-select: none; + -webkit-user-select: none; +} + +.select span { + user-select: none; + -webkit-user-select: none; +} + +.select:hover { + background-color: color-mix(in srgb, var(--primary) 90%, transparent); +} + +.select[aria-disabled='true'] { + opacity: 0.6; + cursor: default; +} + +.selected-label-icon { + font-size: 1.25rem; +} + +.select:focus, +.select:focus-within { + outline: 2px solid var(--primary); + outline-offset: 2px; +} + +.combobox-label { + gap: 1rem; + left: 1rem; + display: flex; + position: absolute; + align-items: center; + pointer-events: none; +} + +.example-arrow { + right: 1rem; + position: absolute; + pointer-events: none; + transition: transform 150ms ease-in-out; +} + +.select[aria-expanded='true'] .example-arrow { + transform: rotate(180deg); +} + +.example-popup-container { + width: 100%; + padding: 0.5rem; + margin-top: 8px; + border-radius: 2rem; + background-color: var(--septenary-contrast); + font-size: 0.9rem; + max-height: 13rem; + box-sizing: border-box; + overflow: hidden; + animation: smoothPopupOpen 150ms ease-out forwards; + transform-origin: top; +} + +@keyframes smoothPopupOpen { + 0% { + max-height: 0; + opacity: 0; + } + 16.7% { + opacity: 1; + } + 100% { + max-height: 13rem; + opacity: 1; + } +} + +[ngListbox] { + gap: 2px; + padding: 2px; + height: 100%; + display: flex; + overflow: auto; + flex-direction: column; +} + +[ngOption] { + display: flex; + cursor: pointer; + align-items: center; + padding: 0 1rem; + min-height: 3rem; + border-radius: 3rem; +} + +[ngOption]:hover, +[ngOption][data-active='true'] { + background-color: color-mix(in srgb, var(--primary-contrast) 5%, transparent); +} + +[ngOption][data-active='true'] { + outline-offset: -2px; + outline: 2px solid var(--primary); +} + +[ngOption][aria-selected='true'] { + color: var(--primary); + background-color: color-mix(in srgb, var(--primary) 10%, transparent); +} + +.example-option-icon { + font-size: 1.25rem; + padding-right: 1rem; +} + +[ngOption]:not([aria-selected='true']) .example-option-check { + display: none; +} + +.example-option-icon, +.example-option-check { + font-size: 0.9rem; +} + +.example-option-text { + flex: 1; +} diff --git a/adev/src/content/examples/aria/select/src/icons/material/app/app.html b/adev/src/content/examples/aria/select/src/icons/material/app/app.html new file mode 100644 index 000000000000..557c380443d6 --- /dev/null +++ b/adev/src/content/examples/aria/select/src/icons/material/app/app.html @@ -0,0 +1,58 @@ +
    + + + {{ displayValue() }} + + +
    + + + +
    +
    + @for (label of labels; track label.value) { +
    + + {{ label.value }} + +
    + } +
    +
    +
    +
    diff --git a/adev/src/content/examples/aria/select/src/icons/material/app/app.ts b/adev/src/content/examples/aria/select/src/icons/material/app/app.ts new file mode 100644 index 000000000000..05d6433ebbd9 --- /dev/null +++ b/adev/src/content/examples/aria/select/src/icons/material/app/app.ts @@ -0,0 +1,46 @@ +import {afterRenderEffect, Component, computed, signal, viewChild} from '@angular/core'; +import {Combobox, ComboboxPopup, ComboboxWidget} from '@angular/aria/combobox'; +import {Listbox, Option} from '@angular/aria/listbox'; +import {OverlayModule} from '@angular/cdk/overlay'; + +@Component({ + selector: 'app-root[theme="icons-material"], app-root:not([theme])', + templateUrl: './app.html', + styleUrl: './app.css', + imports: [Combobox, ComboboxPopup, ComboboxWidget, Listbox, Option, OverlayModule], +}) +export class App { + readonly listbox = viewChild(Listbox); + + readonly selectedValues = signal([]); + readonly popupExpanded = signal(false); + + readonly displayIcon = computed(() => { + const val = this.selectedValues()[0]; + const label = this.labels.find((label) => label.value === val); + return label ? label.icon : ''; + }); + + readonly displayValue = computed(() => this.selectedValues()[0] || 'Select a label'); + + readonly labels = [ + {value: 'Important', icon: 'label'}, + {value: 'Starred', icon: 'star'}, + {value: 'Work', icon: 'work'}, + {value: 'Personal', icon: 'person'}, + {value: 'To Do', icon: 'checklist'}, + {value: 'Later', icon: 'schedule'}, + {value: 'Read', icon: 'menu_book'}, + {value: 'Travel', icon: 'flight'}, + ]; + + constructor() { + afterRenderEffect(() => { + this.listbox()?.scrollActiveItemIntoView(); + }); + } + + onCommit() { + this.popupExpanded.set(false); + } +} diff --git a/adev/src/content/examples/aria/select/src/icons/retro/app/app.css b/adev/src/content/examples/aria/select/src/icons/retro/app/app.css new file mode 100644 index 000000000000..9f226fe1e8e4 --- /dev/null +++ b/adev/src/content/examples/aria/select/src/icons/retro/app/app.css @@ -0,0 +1,181 @@ +@import url('https://fonts.googleapis.com/icon?family=Material+Symbols+Outlined'); +@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap'); + +:host { + display: flex; + justify-content: center; + font-size: 0.8rem; + + font-family: 'Press Start 2P'; + --retro-button-color: color-mix(in srgb, var(--hot-pink) 80%, var(--page-background)); + --retro-shadow-light: color-mix(in srgb, var(--retro-button-color) 90%, #fff); + --retro-shadow-dark: color-mix(in srgb, var(--retro-button-color) 90%, #000); + --retro-elevated-shadow: + inset 4px 4px 0px 0px var(--retro-shadow-light), + inset -4px -4px 0px 0px var(--retro-shadow-dark), 4px 0px 0px 0px var(--tertiary-contrast), + 0px 4px 0px 0px var(--tertiary-contrast), -4px 0px 0px 0px var(--tertiary-contrast), + 0px -4px 0px 0px var(--tertiary-contrast); + --retro-flat-shadow: + 4px 0px 0px 0px var(--tertiary-contrast), 0px 4px 0px 0px var(--tertiary-contrast), + -4px 0px 0px 0px var(--tertiary-contrast), 0px -4px 0px 0px var(--tertiary-contrast); + --retro-clickable-shadow: + inset 4px 4px 0px 0px var(--retro-shadow-light), + inset -4px -4px 0px 0px var(--retro-shadow-dark), 4px 0px 0px 0px var(--tertiary-contrast), + 0px 4px 0px 0px var(--tertiary-contrast), -4px 0px 0px 0px var(--tertiary-contrast), + 0px -4px 0px 0px var(--tertiary-contrast), 8px 8px 0px 0px var(--tertiary-contrast); + --retro-pressed-shadow: + inset 4px 4px 0px 0px var(--retro-shadow-dark), + inset -4px -4px 0px 0px var(--retro-shadow-light), 4px 0px 0px 0px var(--tertiary-contrast), + 0px 4px 0px 0px var(--tertiary-contrast), -4px 0px 0px 0px var(--tertiary-contrast), + 0px -4px 0px 0px var(--tertiary-contrast), 0px 0px 0px 0px var(--tertiary-contrast); +} + +.select, +[ngListbox], +[ngOption] { + outline: none; +} + +.select { + display: flex; + position: relative; + align-items: center; + color: var(--page-background); + background-color: var(--hot-pink); + box-shadow: var(--retro-clickable-shadow); + cursor: pointer; + padding: 0 4.5rem; + height: 2.5rem; + box-sizing: border-box; + width: 16rem; + user-select: none; + -webkit-user-select: none; +} + +.select span { + user-select: none; + -webkit-user-select: none; +} + +.select:hover, +.select:focus, +.select:focus-within { + transform: translate(1px, 1px); +} + +.select:active { + transform: translate(4px, 4px); + box-shadow: var(--retro-pressed-shadow); + background-color: color-mix(in srgb, var(--retro-button-color) 60%, var(--gray-50)); +} + +.select[aria-disabled='true'] { + opacity: 0.6; + cursor: default; +} + +.selected-label-icon { + font-size: 1.25rem; +} + +.select[aria-expanded='false']:focus, +.select[aria-expanded='false']:focus-within { + outline-offset: 8px; + outline: 4px dashed var(--hot-pink); +} + +.combobox-label { + gap: 1rem; + left: 1rem; + display: flex; + position: absolute; + align-items: center; + pointer-events: none; +} + +.example-arrow { + right: 1rem; + position: absolute; + pointer-events: none; + transition: transform 150ms ease-in-out; +} + +.select[aria-expanded='true'] .example-arrow { + transform: rotate(180deg); +} + +.example-popup-container { + width: 100%; + padding: 0.5rem; + margin-top: 20px; + box-shadow: var(--retro-flat-shadow); + background-color: var(--septenary-contrast); + max-height: 11rem; + box-sizing: border-box; + overflow: hidden; + animation: smoothPopupOpen 150ms ease-out forwards; + transform-origin: top; +} + +@keyframes smoothPopupOpen { + 0% { + max-height: 0; + opacity: 0; + } + 16.7% { + opacity: 1; + } + 100% { + max-height: 11rem; + opacity: 1; + } +} + +[ngListbox] { + gap: 2px; + height: 100%; + display: flex; + overflow: auto; + flex-direction: column; +} + +[ngOption] { + display: flex; + cursor: pointer; + align-items: center; + padding: 0 1rem; + font-size: 0.6rem; + min-height: 2.25rem; +} + +[ngOption]:hover { + background-color: color-mix(in srgb, var(--primary-contrast) 5%, transparent); +} + +[ngOption][data-active='true'] { + outline-offset: -2px; + outline: 2px dashed var(--hot-pink); +} + +[ngOption][aria-selected='true'] { + color: var(--hot-pink); + background-color: color-mix(in srgb, var(--hot-pink) 5%, transparent); +} + +.example-option-icon { + font-size: 1.25rem; + padding-right: 1rem; +} + +[ngOption]:not([aria-selected='true']) .example-option-check { + display: none; +} + +.example-option-icon, +.example-option-check { + font-size: 0.9rem; +} + +.example-option-text { + flex: 1; +} diff --git a/adev/src/content/examples/aria/select/src/icons/retro/app/app.html b/adev/src/content/examples/aria/select/src/icons/retro/app/app.html new file mode 100644 index 000000000000..557c380443d6 --- /dev/null +++ b/adev/src/content/examples/aria/select/src/icons/retro/app/app.html @@ -0,0 +1,58 @@ +
    + + + {{ displayValue() }} + + +
    + + + +
    +
    + @for (label of labels; track label.value) { +
    + + {{ label.value }} + +
    + } +
    +
    +
    +
    diff --git a/adev/src/content/examples/aria/select/src/icons/retro/app/app.ts b/adev/src/content/examples/aria/select/src/icons/retro/app/app.ts new file mode 100644 index 000000000000..b3690efbb51e --- /dev/null +++ b/adev/src/content/examples/aria/select/src/icons/retro/app/app.ts @@ -0,0 +1,46 @@ +import {afterRenderEffect, Component, computed, signal, viewChild} from '@angular/core'; +import {Combobox, ComboboxPopup, ComboboxWidget} from '@angular/aria/combobox'; +import {Listbox, Option} from '@angular/aria/listbox'; +import {OverlayModule} from '@angular/cdk/overlay'; + +@Component({ + selector: 'app-root[theme="icons-retro"], app-root:not([theme])', + templateUrl: './app.html', + styleUrl: './app.css', + imports: [Combobox, ComboboxPopup, ComboboxWidget, Listbox, Option, OverlayModule], +}) +export class App { + readonly listbox = viewChild(Listbox); + + readonly selectedValues = signal([]); + readonly popupExpanded = signal(false); + + readonly displayIcon = computed(() => { + const val = this.selectedValues()[0]; + const label = this.labels.find((label) => label.value === val); + return label ? label.icon : ''; + }); + + readonly displayValue = computed(() => this.selectedValues()[0] || 'Select a label'); + + readonly labels = [ + {value: 'Important', icon: 'label'}, + {value: 'Starred', icon: 'star'}, + {value: 'Work', icon: 'work'}, + {value: 'Personal', icon: 'person'}, + {value: 'To Do', icon: 'checklist'}, + {value: 'Later', icon: 'schedule'}, + {value: 'Read', icon: 'menu_book'}, + {value: 'Travel', icon: 'flight'}, + ]; + + constructor() { + afterRenderEffect(() => { + this.listbox()?.scrollActiveItemIntoView(); + }); + } + + onCommit() { + this.popupExpanded.set(false); + } +} diff --git a/adev/src/content/guide/aria/select.md b/adev/src/content/guide/aria/select.md index ae2b824a4a7e..75450bdee658 100644 --- a/adev/src/content/guide/aria/select.md +++ b/adev/src/content/guide/aria/select.md @@ -3,9 +3,9 @@ ## Overview -A pattern that combines readonly combobox with listbox to create single-selection dropdowns with keyboard navigation and screen reader support. +A pattern that combines a combobox with a listbox to create single-selection dropdowns with keyboard navigation and screen reader support. - + ## Usage @@ -65,9 +65,9 @@ The select pattern combines [Combobox](guide/aria/combobox) and [Listbox](guide/ ### Basic select -Users need a standard dropdown to choose from a list of values. A readonly combobox paired with a listbox provides the familiar select experience with full accessibility support. +Users need a standard dropdown to choose from a list of values. A combobox paired with a listbox provides the familiar select experience with full accessibility support. - + -The `readonly` attribute on `ngCombobox` prevents text input while preserving keyboard navigation. Users interact with the dropdown using arrow keys and Enter, just like a native select element. +Text input is prevented by applying the `ngCombobox` directive directly onto a non-interactive host element (such as a `div` or a `button`) instead of an ``. Users interact with the dropdown using arrow keys and Enter, just like a native select element. ### Select with custom display Options often need visual indicators like icons or badges to help users identify choices quickly. Custom templates within options allow rich formatting while maintaining accessibility. - + Each option displays an icon alongside the label. The selected value updates to show the chosen option's icon and text, providing clear visual feedback. @@ -131,7 +131,7 @@ Each option displays an icon alongside the label. The selected value updates to Selects can be disabled to prevent user interaction when certain form conditions aren't met. The disabled state provides visual feedback and prevents keyboard interaction. - + When disabled, the select shows a disabled visual state and blocks all user interaction. Screen readers announce the disabled state to assistive technology users. @@ -165,28 +165,50 @@ The select pattern uses the following directives from Angular's Aria library. Se ### Combobox Directives -The select pattern uses `ngCombobox` with the `readonly` attribute to prevent text input while preserving keyboard navigation. +The select pattern applies `ngCombobox` directly onto a non-interactive host element (such as a `div` or a `button`) to prevent text input while preserving keyboard navigation. #### Inputs -| Property | Type | Default | Description | -| ---------- | --------- | ------- | ----------------------------------------- | -| `readonly` | `boolean` | `false` | Set to `true` to create dropdown behavior | -| `disabled` | `boolean` | `false` | Disables the entire select | +| Property | Type | Default | Description | +| ---------- | ---------------------- | ------- | -------------------------- | +| `disabled` | `boolean` | `false` | Disables the entire select | +| `expanded` | `ModelSignal` | `false` | Expanded state of select | See the [Combobox API documentation](guide/aria/combobox#apis) for complete details on all available inputs and signals. +#### Popup Directives + +The structural `ngComboboxPopup` directive marks the overlay template and requires a reference to the parent combobox: + +| Property | Type | Description | +| ---------- | ---------- | ------------------------------------------- | +| `combobox` | `Combobox` | Required reference to the parent `Combobox` | + +#### ComboboxWidget Directive + +The `ngComboboxWidget` directive bridges the listbox with the combobox trigger to support active-descendant focus tracking. + +| Property | Type | Description | +| ------------------ | --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | +| `activeDescendant` | `string \| undefined` | The ID of the currently active option (bound to `listbox.activeDescendant()`) to update the `aria-activedescendant` attribute on the trigger | + ### Listbox Directives The select pattern uses `ngListbox` for the dropdown list and `ngOption` for each selectable item. -#### Model +#### Inputs -| Property | Type | Description | -| -------- | ------- | ---------------------------------------------------------------------------- | -| `values` | `any[]` | Two-way bindable array of selected values (contains single value for select) | +| Property | Type | Default | Description | +| --------------- | ---------------------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------- | +| `selectionMode` | `'follow'` \| `'explicit'` | `'explicit'` | Set to `'explicit'` so options are toggled explicitly via click/Enter instead of following active focus | +| `focusMode` | `'roving'` \| `'activedescendant'` | `'roving'` | The focus strategy used by the listbox. Set to `'activedescendant'` so browser focus remains on the combobox trigger. | +| `tabIndex` | `number` | `0` | The tabindex of the listbox. Set to `-1` to prevent keyboard focus from entering the popup container in active-descendant mode. | + +#### Model -See the [Listbox API documentation](guide/aria/listbox#apis) for complete details on listbox configuration, selection modes, and option properties. +| Property | Type | Description | +| -------- | -------------------- | ---------------------------------------------------------------------------- | +| `value` | `ModelSignal` | Two-way bindable array of selected values (contains single value for select) | ### Positioning From 41d47f72b192f04c0be0be8b651532581e8c785a Mon Sep 17 00:00:00 2001 From: tjshiu <35056071+tjshiu@users.noreply.github.com> Date: Tue, 19 May 2026 12:25:33 -0700 Subject: [PATCH 110/317] docs: modernize multiselect guide and standalone examples Update the multiselect guide and all 27 interactive examples to utilize the modern standalone, Signal-based Angular ARIA APIs. * Modernize all examples (Standard, Material, Retro) to use standalone directives, animations, and focus suppression. * Update the multiselect guide API tables and templates: - Document ngComboboxPopup, cdkConnectedOverlay, and disabled input. - Document ngListbox selectionMode, focusMode, tabIndex, and value signal. - Document activeDescendant active focus tracking with ngComboboxWidget. (cherry picked from commit 8fa7311c6e719bc17d5ddb68f3a318a21060f0e9) --- .../aria/multiselect/src/basic/app/app.css | 160 ++++++++++++++ .../aria/multiselect/src/basic/app/app.html | 53 +++++ .../aria/multiselect/src/basic/app/app.ts | 71 ++++++ .../src/basic/material/app/app.css | 168 +++++++++++++++ .../src/basic/material/app/app.html | 53 +++++ .../multiselect/src/basic/material/app/app.ts | 71 ++++++ .../multiselect/src/basic/retro/app/app.css | 194 +++++++++++++++++ .../multiselect/src/basic/retro/app/app.html | 53 +++++ .../multiselect/src/basic/retro/app/app.ts | 71 ++++++ .../aria/multiselect/src/icons/app/app.css | 164 ++++++++++++++ .../aria/multiselect/src/icons/app/app.html | 56 +++++ .../aria/multiselect/src/icons/app/app.ts | 78 +++++++ .../src/icons/material/app/app.css | 172 +++++++++++++++ .../src/icons/material/app/app.html | 56 +++++ .../multiselect/src/icons/material/app/app.ts | 78 +++++++ .../multiselect/src/icons/retro/app/app.css | 194 +++++++++++++++++ .../multiselect/src/icons/retro/app/app.html | 56 +++++ .../multiselect/src/icons/retro/app/app.ts | 78 +++++++ .../aria/multiselect/src/limited/app/app.css | 163 ++++++++++++++ .../aria/multiselect/src/limited/app/app.html | 47 ++++ .../aria/multiselect/src/limited/app/app.ts | 79 +++++++ .../src/limited/material/app/app.css | 171 +++++++++++++++ .../src/limited/material/app/app.html | 47 ++++ .../src/limited/material/app/app.ts | 79 +++++++ .../multiselect/src/limited/retro/app/app.css | 203 ++++++++++++++++++ .../src/limited/retro/app/app.html | 47 ++++ .../multiselect/src/limited/retro/app/app.ts | 79 +++++++ adev/src/content/guide/aria/multiselect.md | 69 ++++-- 28 files changed, 2787 insertions(+), 23 deletions(-) create mode 100644 adev/src/content/examples/aria/multiselect/src/basic/app/app.css create mode 100644 adev/src/content/examples/aria/multiselect/src/basic/app/app.html create mode 100644 adev/src/content/examples/aria/multiselect/src/basic/app/app.ts create mode 100644 adev/src/content/examples/aria/multiselect/src/basic/material/app/app.css create mode 100644 adev/src/content/examples/aria/multiselect/src/basic/material/app/app.html create mode 100644 adev/src/content/examples/aria/multiselect/src/basic/material/app/app.ts create mode 100644 adev/src/content/examples/aria/multiselect/src/basic/retro/app/app.css create mode 100644 adev/src/content/examples/aria/multiselect/src/basic/retro/app/app.html create mode 100644 adev/src/content/examples/aria/multiselect/src/basic/retro/app/app.ts create mode 100644 adev/src/content/examples/aria/multiselect/src/icons/app/app.css create mode 100644 adev/src/content/examples/aria/multiselect/src/icons/app/app.html create mode 100644 adev/src/content/examples/aria/multiselect/src/icons/app/app.ts create mode 100644 adev/src/content/examples/aria/multiselect/src/icons/material/app/app.css create mode 100644 adev/src/content/examples/aria/multiselect/src/icons/material/app/app.html create mode 100644 adev/src/content/examples/aria/multiselect/src/icons/material/app/app.ts create mode 100644 adev/src/content/examples/aria/multiselect/src/icons/retro/app/app.css create mode 100644 adev/src/content/examples/aria/multiselect/src/icons/retro/app/app.html create mode 100644 adev/src/content/examples/aria/multiselect/src/icons/retro/app/app.ts create mode 100644 adev/src/content/examples/aria/multiselect/src/limited/app/app.css create mode 100644 adev/src/content/examples/aria/multiselect/src/limited/app/app.html create mode 100644 adev/src/content/examples/aria/multiselect/src/limited/app/app.ts create mode 100644 adev/src/content/examples/aria/multiselect/src/limited/material/app/app.css create mode 100644 adev/src/content/examples/aria/multiselect/src/limited/material/app/app.html create mode 100644 adev/src/content/examples/aria/multiselect/src/limited/material/app/app.ts create mode 100644 adev/src/content/examples/aria/multiselect/src/limited/retro/app/app.css create mode 100644 adev/src/content/examples/aria/multiselect/src/limited/retro/app/app.html create mode 100644 adev/src/content/examples/aria/multiselect/src/limited/retro/app/app.ts diff --git a/adev/src/content/examples/aria/multiselect/src/basic/app/app.css b/adev/src/content/examples/aria/multiselect/src/basic/app/app.css new file mode 100644 index 000000000000..14b404514d15 --- /dev/null +++ b/adev/src/content/examples/aria/multiselect/src/basic/app/app.css @@ -0,0 +1,160 @@ +@import url('https://fonts.googleapis.com/icon?family=Material+Symbols+Outlined'); + +:host { + display: flex; + justify-content: center; + font-family: var(--inter-font); +} + +.select { + display: flex; + position: relative; + align-items: center; + color: color-mix(in srgb, var(--hot-pink) 90%, var(--primary-contrast)); + background-color: color-mix(in srgb, var(--hot-pink) 5%, transparent); + border-radius: 0.5rem; + border: 1px solid color-mix(in srgb, var(--hot-pink) 80%, transparent); + /* Modernized additions for div-trigger Select: */ + height: 2.5rem; + padding: 0 2.5rem; + cursor: pointer; + box-sizing: border-box; + width: 16rem; + user-select: none; + -webkit-user-select: none; + outline: none; +} + +.select span { + user-select: none; + -webkit-user-select: none; +} + +.select:hover { + background-color: color-mix(in srgb, var(--hot-pink) 15%, transparent); +} + +.select[aria-disabled='true'] { + opacity: 0.6; + cursor: default; +} + +.select:focus, +.select:focus-within { + outline: 2px solid color-mix(in srgb, var(--hot-pink) 50%, transparent); +} + +.combobox-label { + gap: 1rem; + left: 1.5rem; + display: flex; + position: absolute; + align-items: center; + pointer-events: none; +} + +.example-arrow { + right: 1rem; + position: absolute; + pointer-events: none; + transition: transform 150ms ease-in-out; +} + +.select[aria-expanded='true'] .example-arrow { + transform: rotate(180deg); +} + +.example-popup-container { + width: 100%; + padding: 0.5rem; + margin-top: 8px; + border-radius: 0.5rem; + background-color: var(--septenary-contrast); + font-size: 0.9rem; + max-height: 11rem; + box-sizing: border-box; + overflow: hidden; + animation: smoothPopupOpen 150ms ease-out forwards; + transform-origin: top; +} + +@keyframes smoothPopupOpen { + 0% { + max-height: 0; + opacity: 0; + } + 16.7% { + opacity: 1; + } + 100% { + max-height: 11rem; + opacity: 1; + } +} + +.example-popup-container.closing { + animation: smoothPopupClose 150ms ease-in forwards; +} + +@keyframes smoothPopupClose { + 0% { + max-height: 11rem; + opacity: 1; + } + 100% { + max-height: 0; + opacity: 0; + } +} + +[ngListbox] { + gap: 2px; + height: 100%; + display: flex; + overflow: auto; + flex-direction: column; + outline: none; +} + +[ngOption] { + display: flex; + cursor: pointer; + align-items: center; + margin: 1px; + padding: 0 1rem; + min-height: 2.25rem; + border-radius: 0.5rem; + outline: none; +} + +[ngOption]:hover { + background-color: color-mix(in srgb, var(--primary-contrast) 5%, transparent); +} + +[ngOption][data-active='true'] { + outline-offset: -2px; + outline: 2px solid color-mix(in srgb, var(--hot-pink) 50%, transparent); +} + +[ngOption][aria-selected='true'] { + color: var(--hot-pink); + background-color: color-mix(in srgb, var(--hot-pink) 5%, transparent); +} + +.example-option-icon { + font-size: 1.25rem; + padding-right: 1rem; +} + +[ngOption]:not([aria-selected='true']) .example-option-check { + display: none; +} + +.example-option-icon, +.example-option-check { + font-size: 0.9rem; +} + +.example-option-text { + flex: 1; +} diff --git a/adev/src/content/examples/aria/multiselect/src/basic/app/app.html b/adev/src/content/examples/aria/multiselect/src/basic/app/app.html new file mode 100644 index 000000000000..36d677033fa4 --- /dev/null +++ b/adev/src/content/examples/aria/multiselect/src/basic/app/app.html @@ -0,0 +1,53 @@ +
    + + {{ displayValue() }} + + +
    + + + +
    +
    + @for (label of labels; track label.value) { +
    + + {{ label.value }} + +
    + } +
    +
    +
    +
    diff --git a/adev/src/content/examples/aria/multiselect/src/basic/app/app.ts b/adev/src/content/examples/aria/multiselect/src/basic/app/app.ts new file mode 100644 index 000000000000..81c706b463ec --- /dev/null +++ b/adev/src/content/examples/aria/multiselect/src/basic/app/app.ts @@ -0,0 +1,71 @@ +import {Combobox, ComboboxPopup, ComboboxWidget} from '@angular/aria/combobox'; +import {Listbox, Option} from '@angular/aria/listbox'; +import {OverlayModule} from '@angular/cdk/overlay'; +import {afterRenderEffect, Component, computed, signal, viewChild, effect} from '@angular/core'; + +@Component({ + selector: 'app-root', + templateUrl: './app.html', + styleUrl: './app.css', + imports: [Combobox, ComboboxPopup, ComboboxWidget, Listbox, Option, OverlayModule], +}) +export class App { + /** The combobox listbox popup. */ + readonly listbox = viewChild(Listbox); + + /** The options available in the listbox. */ + readonly selectedValues = signal([]); + + /** The string that is displayed in the combobox. */ + readonly displayValue = computed(() => { + const values = this.selectedValues(); + if (values.length === 0) { + return 'Select a label'; + } + if (values.length === 1) { + return values[0]; + } + return `${values[0]} + ${values.length - 1} more`; + }); + + /** The labels that are available for selection. */ + readonly labels = [ + {value: 'Important', icon: 'label'}, + {value: 'Starred', icon: 'star'}, + {value: 'Work', icon: 'work'}, + {value: 'Personal', icon: 'person'}, + {value: 'To Do', icon: 'checklist'}, + {value: 'Later', icon: 'schedule'}, + {value: 'Read', icon: 'menu_book'}, + {value: 'Travel', icon: 'flight'}, + ]; + + /** Whether the popup is expanded. */ + readonly popupExpanded = signal(false); + + /** Whether the overlay is open in the DOM. */ + readonly overlayOpen = signal(false); + + constructor() { + // Synchronize overlayOpen with popupExpanded with a delay on close to allow exit transitions + effect(() => { + if (this.popupExpanded()) { + this.overlayOpen.set(true); + } else { + setTimeout(() => this.overlayOpen.set(false), 180); + } + }); + + // Scrolls to the active item when the active option changes. + afterRenderEffect(() => { + this.listbox()?.scrollActiveItemIntoView(); + }); + + // Resets the listbox scroll position when the combobox is closed. + afterRenderEffect(() => { + if (!this.popupExpanded()) { + setTimeout(() => this.listbox()?.element.scrollTo(0, 0), 150); + } + }); + } +} diff --git a/adev/src/content/examples/aria/multiselect/src/basic/material/app/app.css b/adev/src/content/examples/aria/multiselect/src/basic/material/app/app.css new file mode 100644 index 000000000000..03f99c92dfc0 --- /dev/null +++ b/adev/src/content/examples/aria/multiselect/src/basic/material/app/app.css @@ -0,0 +1,168 @@ +@import url('https://fonts.googleapis.com/icon?family=Material+Symbols+Outlined'); + +:host { + display: flex; + justify-content: center; + font-family: var(--inter-font); + --primary: var(--hot-pink); + --on-primary: var(--page-background); +} + +.docs-light-mode { + --on-primary: #fff; +} + +.select { + display: flex; + position: relative; + align-items: center; + border-radius: 3rem; + color: var(--on-primary); + background-color: var(--primary); + border: 1px solid color-mix(in srgb, var(--primary) 80%, transparent); + /* Modernized additions for div-trigger Select: */ + height: 3rem; + padding: 0 2.5rem; + cursor: pointer; + box-sizing: border-box; + width: 16rem; + user-select: none; + -webkit-user-select: none; + outline: none; +} + +.select span { + user-select: none; + -webkit-user-select: none; +} + +.select:hover { + background-color: color-mix(in srgb, var(--primary) 90%, transparent); +} + +.select[aria-disabled='true'] { + opacity: 0.6; + cursor: default; +} + +.select:focus, +.select:focus-within { + outline: 2px solid var(--primary); + outline-offset: 2px; +} + +.combobox-label { + gap: 1rem; + left: 1.5rem; + display: flex; + position: absolute; + align-items: center; + pointer-events: none; +} + +.example-arrow { + right: 1rem; + position: absolute; + pointer-events: none; + transition: transform 150ms ease-in-out; +} + +.select[aria-expanded='true'] .example-arrow { + transform: rotate(180deg); +} + +.example-popup-container { + width: 100%; + padding: 0.5rem; + margin-top: 8px; + border-radius: 2rem; + background-color: var(--septenary-contrast); + font-size: 0.9rem; + max-height: 13rem; + box-sizing: border-box; + overflow: hidden; + animation: smoothPopupOpen 150ms ease-out forwards; + transform-origin: top; +} + +@keyframes smoothPopupOpen { + 0% { + max-height: 0; + opacity: 0; + } + 16.7% { + opacity: 1; + } + 100% { + max-height: 13rem; + opacity: 1; + } +} + +.example-popup-container.closing { + animation: smoothPopupClose 150ms ease-in forwards; +} + +@keyframes smoothPopupClose { + 0% { + max-height: 13rem; + opacity: 1; + } + 100% { + max-height: 0; + opacity: 0; + } +} + +[ngListbox] { + gap: 2px; + padding: 2px; + height: 100%; + display: flex; + overflow: auto; + flex-direction: column; + outline: none; +} + +[ngOption] { + display: flex; + cursor: pointer; + align-items: center; + padding: 0 1rem; + min-height: 3rem; + border-radius: 3rem; + outline: none; +} + +[ngOption]:hover, +[ngOption][data-active='true'] { + background-color: color-mix(in srgb, var(--primary-contrast) 5%, transparent); +} + +[ngOption][data-active='true'] { + outline-offset: -2px; + outline: 2px solid var(--primary); +} + +[ngOption][aria-selected='true'] { + color: var(--primary); + background-color: color-mix(in srgb, var(--primary) 10%, transparent); +} + +.example-option-icon { + font-size: 1.25rem; + padding-right: 1rem; +} + +[ngOption]:not([aria-selected='true']) .example-option-check { + display: none; +} + +.example-option-icon, +.example-option-check { + font-size: 0.9rem; +} + +.example-option-text { + flex: 1; +} diff --git a/adev/src/content/examples/aria/multiselect/src/basic/material/app/app.html b/adev/src/content/examples/aria/multiselect/src/basic/material/app/app.html new file mode 100644 index 000000000000..36d677033fa4 --- /dev/null +++ b/adev/src/content/examples/aria/multiselect/src/basic/material/app/app.html @@ -0,0 +1,53 @@ +
    + + {{ displayValue() }} + + +
    + + + +
    +
    + @for (label of labels; track label.value) { +
    + + {{ label.value }} + +
    + } +
    +
    +
    +
    diff --git a/adev/src/content/examples/aria/multiselect/src/basic/material/app/app.ts b/adev/src/content/examples/aria/multiselect/src/basic/material/app/app.ts new file mode 100644 index 000000000000..cc432cfb5d29 --- /dev/null +++ b/adev/src/content/examples/aria/multiselect/src/basic/material/app/app.ts @@ -0,0 +1,71 @@ +import {Combobox, ComboboxPopup, ComboboxWidget} from '@angular/aria/combobox'; +import {Listbox, Option} from '@angular/aria/listbox'; +import {OverlayModule} from '@angular/cdk/overlay'; +import {afterRenderEffect, Component, computed, signal, viewChild, effect} from '@angular/core'; + +@Component({ + selector: 'app-root:not([theme="basic-material"])', + templateUrl: './app.html', + styleUrl: './app.css', + imports: [Combobox, ComboboxPopup, ComboboxWidget, Listbox, Option, OverlayModule], +}) +export class App { + /** The combobox listbox popup. */ + readonly listbox = viewChild(Listbox); + + /** The options available in the listbox. */ + readonly selectedValues = signal([]); + + /** The string that is displayed in the combobox. */ + readonly displayValue = computed(() => { + const values = this.selectedValues(); + if (values.length === 0) { + return 'Select a label'; + } + if (values.length === 1) { + return values[0]; + } + return `${values[0]} + ${values.length - 1} more`; + }); + + /** The labels that are available for selection. */ + readonly labels = [ + {value: 'Important', icon: 'label'}, + {value: 'Starred', icon: 'star'}, + {value: 'Work', icon: 'work'}, + {value: 'Personal', icon: 'person'}, + {value: 'To Do', icon: 'checklist'}, + {value: 'Later', icon: 'schedule'}, + {value: 'Read', icon: 'menu_book'}, + {value: 'Travel', icon: 'flight'}, + ]; + + /** Whether the popup is expanded. */ + readonly popupExpanded = signal(false); + + /** Whether the overlay is open in the DOM. */ + readonly overlayOpen = signal(false); + + constructor() { + // Synchronize overlayOpen with popupExpanded with a delay on close to allow exit transitions + effect(() => { + if (this.popupExpanded()) { + this.overlayOpen.set(true); + } else { + setTimeout(() => this.overlayOpen.set(false), 180); + } + }); + + // Scrolls to the active item when the active option changes. + afterRenderEffect(() => { + this.listbox()?.scrollActiveItemIntoView(); + }); + + // Resets the listbox scroll position when the combobox is closed. + afterRenderEffect(() => { + if (!this.popupExpanded()) { + setTimeout(() => this.listbox()?.element.scrollTo(0, 0), 150); + } + }); + } +} diff --git a/adev/src/content/examples/aria/multiselect/src/basic/retro/app/app.css b/adev/src/content/examples/aria/multiselect/src/basic/retro/app/app.css new file mode 100644 index 000000000000..fdc98a62054d --- /dev/null +++ b/adev/src/content/examples/aria/multiselect/src/basic/retro/app/app.css @@ -0,0 +1,194 @@ +@import url('https://fonts.googleapis.com/icon?family=Material+Symbols+Outlined'); +@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap'); + +:host { + display: flex; + justify-content: center; + font-size: 0.8rem; + + font-family: 'Press Start 2P'; + --retro-button-color: color-mix(in srgb, var(--hot-pink) 80%, var(--page-background)); + --retro-shadow-light: color-mix(in srgb, var(--retro-button-color) 90%, #fff); + --retro-shadow-dark: color-mix(in srgb, var(--retro-button-color) 90%, #000); + --retro-elevated-shadow: + inset 4px 4px 0px 0px var(--retro-shadow-light), + inset -4px -4px 0px 0px var(--retro-shadow-dark), 4px 0px 0px 0px var(--tertiary-contrast), + 0px 4px 0px 0px var(--tertiary-contrast), -4px 0px 0px 0px var(--tertiary-contrast), + 0px -4px 0px 0px var(--tertiary-contrast); + --retro-flat-shadow: + 4px 0px 0px 0px var(--tertiary-contrast), 0px 4px 0px 0px var(--tertiary-contrast), + -4px 0px 0px 0px var(--tertiary-contrast), 0px -4px 0px 0px var(--tertiary-contrast); + --retro-clickable-shadow: + inset 4px 4px 0px 0px var(--retro-shadow-light), + inset -4px -4px 0px 0px var(--retro-shadow-dark), 4px 0px 0px 0px var(--tertiary-contrast), + 0px 4px 0px 0px var(--tertiary-contrast), -4px 0px 0px 0px var(--tertiary-contrast), + 0px -4px 0px 0px var(--tertiary-contrast), 8px 8px 0px 0px var(--tertiary-contrast); + --retro-pressed-shadow: + inset 4px 4px 0px 0px var(--retro-shadow-dark), + inset -4px -4px 0px 0px var(--retro-shadow-light), 4px 0px 0px 0px var(--tertiary-contrast), + 0px 4px 0px 0px var(--tertiary-contrast), -4px 0px 0px 0px var(--tertiary-contrast), + 0px -4px 0px 0px var(--tertiary-contrast), 0px 0px 0px 0px var(--tertiary-contrast); +} + +.select { + display: flex; + position: relative; + align-items: center; + color: var(--page-background); + background-color: var(--hot-pink); + box-shadow: var(--retro-clickable-shadow); + /* Modernized additions for div-trigger Select: */ + height: 2.5rem; + padding: 0 4.5rem; + cursor: pointer; + box-sizing: border-box; + width: 22rem; + user-select: none; + -webkit-user-select: none; + outline: none; +} + +.select span { + user-select: none; + -webkit-user-select: none; +} + +.select:hover, +.select:focus, +.select:focus-within { + transform: translate(1px, 1px); +} + +.select:active { + transform: translate(4px, 4px); + box-shadow: var(--retro-pressed-shadow); + background-color: color-mix(in srgb, var(--retro-button-color) 60%, var(--gray-50)); +} + +.select[aria-disabled='true'] { + opacity: 0.6; + cursor: default; +} + +.selected-label-icon { + font-size: 1.25rem; +} + +.select[aria-expanded='false']:focus, +.select[aria-expanded='false']:focus-within { + outline-offset: 8px; + outline: 4px dashed var(--hot-pink); +} + +.combobox-label { + gap: 1rem; + left: 1rem; + display: flex; + position: absolute; + align-items: center; + pointer-events: none; +} + +.example-arrow { + right: 1rem; + position: absolute; + pointer-events: none; + transition: transform 150ms ease-in-out; +} + +.select[aria-expanded='true'] .example-arrow { + transform: rotate(180deg); +} + +.example-popup-container { + width: 100%; + padding: 0.5rem; + margin-top: 20px; + box-shadow: var(--retro-flat-shadow); + background-color: var(--septenary-contrast); + max-height: 11rem; + box-sizing: border-box; + overflow: hidden; + animation: smoothPopupOpen 150ms ease-out forwards; + transform-origin: top; +} + +@keyframes smoothPopupOpen { + 0% { + max-height: 0; + opacity: 0; + } + 16.7% { + opacity: 1; + } + 100% { + max-height: 11rem; + opacity: 1; + } +} + +.example-popup-container.closing { + animation: smoothPopupClose 150ms ease-in forwards; +} + +@keyframes smoothPopupClose { + 0% { + max-height: 11rem; + opacity: 1; + } + 100% { + max-height: 0; + opacity: 0; + } +} + +[ngListbox] { + gap: 2px; + height: 100%; + display: flex; + overflow: auto; + flex-direction: column; + outline: none; +} + +[ngOption] { + display: flex; + cursor: pointer; + align-items: center; + padding: 0 1rem; + font-size: 0.6rem; + min-height: 2.25rem; + outline: none; +} + +[ngOption]:hover { + background-color: color-mix(in srgb, var(--primary-contrast) 5%, transparent); +} + +[ngOption][data-active='true'] { + outline-offset: -2px; + outline: 2px dashed var(--hot-pink); +} + +[ngOption][aria-selected='true'] { + color: var(--hot-pink); + background-color: color-mix(in srgb, var(--hot-pink) 5%, transparent); +} + +.example-option-icon { + font-size: 1.25rem; + padding-right: 1rem; +} + +[ngOption]:not([aria-selected='true']) .example-option-check { + display: none; +} + +.example-option-icon, +.example-option-check { + font-size: 0.9rem; +} + +.example-option-text { + flex: 1; +} diff --git a/adev/src/content/examples/aria/multiselect/src/basic/retro/app/app.html b/adev/src/content/examples/aria/multiselect/src/basic/retro/app/app.html new file mode 100644 index 000000000000..36d677033fa4 --- /dev/null +++ b/adev/src/content/examples/aria/multiselect/src/basic/retro/app/app.html @@ -0,0 +1,53 @@ +
    + + {{ displayValue() }} + + +
    + + + +
    +
    + @for (label of labels; track label.value) { +
    + + {{ label.value }} + +
    + } +
    +
    +
    +
    diff --git a/adev/src/content/examples/aria/multiselect/src/basic/retro/app/app.ts b/adev/src/content/examples/aria/multiselect/src/basic/retro/app/app.ts new file mode 100644 index 000000000000..f5220372e031 --- /dev/null +++ b/adev/src/content/examples/aria/multiselect/src/basic/retro/app/app.ts @@ -0,0 +1,71 @@ +import {Combobox, ComboboxPopup, ComboboxWidget} from '@angular/aria/combobox'; +import {Listbox, Option} from '@angular/aria/listbox'; +import {OverlayModule} from '@angular/cdk/overlay'; +import {afterRenderEffect, Component, computed, signal, viewChild, effect} from '@angular/core'; + +@Component({ + selector: 'app-root:not([theme="basic-retro"])', + templateUrl: './app.html', + styleUrl: './app.css', + imports: [Combobox, ComboboxPopup, ComboboxWidget, Listbox, Option, OverlayModule], +}) +export class App { + /** The combobox listbox popup. */ + readonly listbox = viewChild(Listbox); + + /** The options available in the listbox. */ + readonly selectedValues = signal([]); + + /** The string that is displayed in the combobox. */ + readonly displayValue = computed(() => { + const values = this.selectedValues(); + if (values.length === 0) { + return 'Select a label'; + } + if (values.length === 1) { + return values[0]; + } + return `${values[0]} + ${values.length - 1} more`; + }); + + /** The labels that are available for selection. */ + readonly labels = [ + {value: 'Important', icon: 'label'}, + {value: 'Starred', icon: 'star'}, + {value: 'Work', icon: 'work'}, + {value: 'Personal', icon: 'person'}, + {value: 'To Do', icon: 'checklist'}, + {value: 'Later', icon: 'schedule'}, + {value: 'Read', icon: 'menu_book'}, + {value: 'Travel', icon: 'flight'}, + ]; + + /** Whether the popup is expanded. */ + readonly popupExpanded = signal(false); + + /** Whether the overlay is open in the DOM. */ + readonly overlayOpen = signal(false); + + constructor() { + // Synchronize overlayOpen with popupExpanded with a delay on close to allow exit transitions + effect(() => { + if (this.popupExpanded()) { + this.overlayOpen.set(true); + } else { + setTimeout(() => this.overlayOpen.set(false), 180); + } + }); + + // Scrolls to the active item when the active option changes. + afterRenderEffect(() => { + this.listbox()?.scrollActiveItemIntoView(); + }); + + // Resets the listbox scroll position when the combobox is closed. + afterRenderEffect(() => { + if (!this.popupExpanded()) { + setTimeout(() => this.listbox()?.element.scrollTo(0, 0), 150); + } + }); + } +} diff --git a/adev/src/content/examples/aria/multiselect/src/icons/app/app.css b/adev/src/content/examples/aria/multiselect/src/icons/app/app.css new file mode 100644 index 000000000000..d9e44d2e664b --- /dev/null +++ b/adev/src/content/examples/aria/multiselect/src/icons/app/app.css @@ -0,0 +1,164 @@ +@import url('https://fonts.googleapis.com/icon?family=Material+Symbols+Outlined'); + +:host { + display: flex; + justify-content: center; + font-family: var(--inter-font); +} + +.select { + display: flex; + position: relative; + align-items: center; + color: color-mix(in srgb, var(--hot-pink) 90%, var(--primary-contrast)); + background-color: color-mix(in srgb, var(--hot-pink) 5%, transparent); + border-radius: 0.5rem; + border: 1px solid color-mix(in srgb, var(--hot-pink) 80%, transparent); + /* Modernized additions for div-trigger Select: */ + height: 2.5rem; + padding: 0 3.5rem; + cursor: pointer; + box-sizing: border-box; + width: 16rem; + user-select: none; + -webkit-user-select: none; + outline: none; +} + +.select span { + user-select: none; + -webkit-user-select: none; +} + +.select:hover { + background-color: color-mix(in srgb, var(--hot-pink) 15%, transparent); +} + +.select[aria-disabled='true'] { + opacity: 0.6; + cursor: default; +} + +.selected-label-icon { + font-size: 1.25rem; +} + +.select:focus, +.select:focus-within { + outline: 2px solid color-mix(in srgb, var(--hot-pink) 50%, transparent); +} + +.combobox-label { + gap: 1rem; + left: 1rem; + display: flex; + position: absolute; + align-items: center; + pointer-events: none; +} + +.example-arrow { + right: 1rem; + position: absolute; + pointer-events: none; + transition: transform 150ms ease-in-out; +} + +.select[aria-expanded='true'] .example-arrow { + transform: rotate(180deg); +} + +.example-popup-container { + width: 100%; + padding: 0.5rem; + margin-top: 8px; + border-radius: 0.5rem; + background-color: var(--septenary-contrast); + font-size: 0.9rem; + max-height: 11rem; + box-sizing: border-box; + overflow: hidden; + animation: smoothPopupOpen 150ms ease-out forwards; + transform-origin: top; +} + +@keyframes smoothPopupOpen { + 0% { + max-height: 0; + opacity: 0; + } + 16.7% { + opacity: 1; + } + 100% { + max-height: 11rem; + opacity: 1; + } +} + +.example-popup-container.closing { + animation: smoothPopupClose 150ms ease-in forwards; +} + +@keyframes smoothPopupClose { + 0% { + max-height: 11rem; + opacity: 1; + } + 100% { + max-height: 0; + opacity: 0; + } +} + +[ngListbox] { + gap: 2px; + height: 100%; + display: flex; + overflow: auto; + flex-direction: column; + outline: none; +} + +[ngOption] { + display: flex; + cursor: pointer; + align-items: center; + margin: 1px; + padding: 0 1rem; + min-height: 2.25rem; + border-radius: 0.5rem; + outline: none; +} + +[ngOption]:hover { + background-color: color-mix(in srgb, var(--primary-contrast) 5%, transparent); +} + +[ngOption][data-active='true'] { + outline-offset: -2px; + outline: 2px solid color-mix(in srgb, var(--hot-pink) 50%, transparent); +} + +[ngOption][aria-selected='true'] { + color: var(--hot-pink); + background-color: color-mix(in srgb, var(--hot-pink) 5%, transparent); +} + +.example-option-icon { + font-size: 1.25rem; + padding-right: 1rem; +} + +[ngOption]:not([aria-selected='true']) .example-option-check { + display: none; +} + +.example-option-icon, +.example-option-check { + font-size: 0.9rem; +} + +.example-option-text { + flex: 1; +} diff --git a/adev/src/content/examples/aria/multiselect/src/icons/app/app.html b/adev/src/content/examples/aria/multiselect/src/icons/app/app.html new file mode 100644 index 000000000000..8dc7a27777ae --- /dev/null +++ b/adev/src/content/examples/aria/multiselect/src/icons/app/app.html @@ -0,0 +1,56 @@ +
    + + + {{ displayValue() }} + + +
    + + + +
    +
    + @for (label of labels; track label.value) { +
    + + {{ label.value }} + +
    + } +
    +
    +
    +
    diff --git a/adev/src/content/examples/aria/multiselect/src/icons/app/app.ts b/adev/src/content/examples/aria/multiselect/src/icons/app/app.ts new file mode 100644 index 000000000000..a66149972af8 --- /dev/null +++ b/adev/src/content/examples/aria/multiselect/src/icons/app/app.ts @@ -0,0 +1,78 @@ +import {Combobox, ComboboxPopup, ComboboxWidget} from '@angular/aria/combobox'; +import {Listbox, Option} from '@angular/aria/listbox'; +import {OverlayModule} from '@angular/cdk/overlay'; +import {afterRenderEffect, Component, computed, signal, viewChild, effect} from '@angular/core'; + +@Component({ + selector: 'app-root:not([theme="icons-basic"])', + templateUrl: './app.html', + styleUrl: './app.css', + imports: [Combobox, ComboboxPopup, ComboboxWidget, Listbox, Option, OverlayModule], +}) +export class App { + /** The combobox listbox popup. */ + readonly listbox = viewChild(Listbox); + + /** The options available in the listbox. */ + readonly selectedValues = signal([]); + + /** The icon that is displayed in the combobox. */ + readonly displayIcon = computed(() => { + const values = this.selectedValues(); + const label = this.labels.find((label) => label.value === values[0]); + return label ? label.icon : ''; + }); + + /** The string that is displayed in the combobox. */ + readonly displayValue = computed(() => { + const values = this.selectedValues(); + if (values.length === 0) { + return 'Select a label'; + } + if (values.length === 1) { + return values[0]; + } + return `${values[0]} + ${values.length - 1} more`; + }); + + /** The labels that are available for selection. */ + readonly labels = [ + {value: 'Important', icon: 'label'}, + {value: 'Starred', icon: 'star'}, + {value: 'Work', icon: 'work'}, + {value: 'Personal', icon: 'person'}, + {value: 'To Do', icon: 'checklist'}, + {value: 'Later', icon: 'schedule'}, + {value: 'Read', icon: 'menu_book'}, + {value: 'Travel', icon: 'flight'}, + ]; + + /** Whether the popup is expanded. */ + readonly popupExpanded = signal(false); + + /** Whether the overlay is open in the DOM. */ + readonly overlayOpen = signal(false); + + constructor() { + // Synchronize overlayOpen with popupExpanded with a delay on close to allow exit transitions + effect(() => { + if (this.popupExpanded()) { + this.overlayOpen.set(true); + } else { + setTimeout(() => this.overlayOpen.set(false), 180); + } + }); + + // Scrolls to the active item when the active option changes. + afterRenderEffect(() => { + this.listbox()?.scrollActiveItemIntoView(); + }); + + // Resets the listbox scroll position when the combobox is closed. + afterRenderEffect(() => { + if (!this.popupExpanded()) { + setTimeout(() => this.listbox()?.element.scrollTo(0, 0), 150); + } + }); + } +} diff --git a/adev/src/content/examples/aria/multiselect/src/icons/material/app/app.css b/adev/src/content/examples/aria/multiselect/src/icons/material/app/app.css new file mode 100644 index 000000000000..fbe39d5f3d31 --- /dev/null +++ b/adev/src/content/examples/aria/multiselect/src/icons/material/app/app.css @@ -0,0 +1,172 @@ +@import url('https://fonts.googleapis.com/icon?family=Material+Symbols+Outlined'); + +:host { + display: flex; + justify-content: center; + font-family: var(--inter-font); + --primary: var(--hot-pink); + --on-primary: var(--page-background); +} + +.docs-light-mode { + --on-primary: #fff; +} + +.select { + display: flex; + position: relative; + align-items: center; + border-radius: 3rem; + color: var(--on-primary); + background-color: var(--primary); + border: 1px solid color-mix(in srgb, var(--primary) 80%, transparent); + /* Modernized additions for div-trigger Select: */ + height: 3rem; + padding: 0 3.5rem; + cursor: pointer; + box-sizing: border-box; + width: 16rem; + user-select: none; + -webkit-user-select: none; + outline: none; +} + +.select span { + user-select: none; + -webkit-user-select: none; +} + +.select:hover { + background-color: color-mix(in srgb, var(--primary) 90%, transparent); +} + +.select[aria-disabled='true'] { + opacity: 0.6; + cursor: default; +} + +.selected-label-icon { + font-size: 1.25rem; +} + +.select:focus, +.select:focus-within { + outline: 2px solid var(--primary); + outline-offset: 2px; +} + +.combobox-label { + gap: 1rem; + left: 1rem; + display: flex; + position: absolute; + align-items: center; + pointer-events: none; +} + +.example-arrow { + right: 1rem; + position: absolute; + pointer-events: none; + transition: transform 150ms ease-in-out; +} + +.select[aria-expanded='true'] .example-arrow { + transform: rotate(180deg); +} + +.example-popup-container { + width: 100%; + padding: 0.5rem; + margin-top: 8px; + border-radius: 2rem; + background-color: var(--septenary-contrast); + font-size: 0.9rem; + max-height: 13rem; + box-sizing: border-box; + overflow: hidden; + animation: smoothPopupOpen 150ms ease-out forwards; + transform-origin: top; +} + +@keyframes smoothPopupOpen { + 0% { + max-height: 0; + opacity: 0; + } + 16.7% { + opacity: 1; + } + 100% { + max-height: 13rem; + opacity: 1; + } +} + +.example-popup-container.closing { + animation: smoothPopupClose 150ms ease-in forwards; +} + +@keyframes smoothPopupClose { + 0% { + max-height: 13rem; + opacity: 1; + } + 100% { + max-height: 0; + opacity: 0; + } +} + +[ngListbox] { + gap: 2px; + padding: 2px; + height: 100%; + display: flex; + overflow: auto; + flex-direction: column; + outline: none; +} + +[ngOption] { + display: flex; + cursor: pointer; + align-items: center; + padding: 0 1rem; + min-height: 3rem; + border-radius: 3rem; + outline: none; +} + +[ngOption]:hover, +[ngOption][data-active='true'] { + background-color: color-mix(in srgb, var(--primary-contrast) 5%, transparent); +} + +[ngOption][data-active='true'] { + outline-offset: -2px; + outline: 2px solid var(--primary); +} + +[ngOption][aria-selected='true'] { + color: var(--primary); + background-color: color-mix(in srgb, var(--primary) 10%, transparent); +} + +.example-option-icon { + font-size: 1.25rem; + padding-right: 1rem; +} + +[ngOption]:not([aria-selected='true']) .example-option-check { + display: none; +} + +.example-option-icon, +.example-option-check { + font-size: 0.9rem; +} + +.example-option-text { + flex: 1; +} diff --git a/adev/src/content/examples/aria/multiselect/src/icons/material/app/app.html b/adev/src/content/examples/aria/multiselect/src/icons/material/app/app.html new file mode 100644 index 000000000000..8dc7a27777ae --- /dev/null +++ b/adev/src/content/examples/aria/multiselect/src/icons/material/app/app.html @@ -0,0 +1,56 @@ +
    + + + {{ displayValue() }} + + +
    + + + +
    +
    + @for (label of labels; track label.value) { +
    + + {{ label.value }} + +
    + } +
    +
    +
    +
    diff --git a/adev/src/content/examples/aria/multiselect/src/icons/material/app/app.ts b/adev/src/content/examples/aria/multiselect/src/icons/material/app/app.ts new file mode 100644 index 000000000000..8fd32bc522ce --- /dev/null +++ b/adev/src/content/examples/aria/multiselect/src/icons/material/app/app.ts @@ -0,0 +1,78 @@ +import {Combobox, ComboboxPopup, ComboboxWidget} from '@angular/aria/combobox'; +import {Listbox, Option} from '@angular/aria/listbox'; +import {OverlayModule} from '@angular/cdk/overlay'; +import {afterRenderEffect, Component, computed, signal, viewChild, effect} from '@angular/core'; + +@Component({ + selector: 'app-root:not([theme="icons-material"])', + templateUrl: './app.html', + styleUrl: './app.css', + imports: [Combobox, ComboboxPopup, ComboboxWidget, Listbox, Option, OverlayModule], +}) +export class App { + /** The combobox listbox popup. */ + readonly listbox = viewChild(Listbox); + + /** The options available in the listbox. */ + readonly selectedValues = signal([]); + + /** The icon that is displayed in the combobox. */ + readonly displayIcon = computed(() => { + const values = this.selectedValues(); + const label = this.labels.find((label) => label.value === values[0]); + return label ? label.icon : ''; + }); + + /** The string that is displayed in the combobox. */ + readonly displayValue = computed(() => { + const values = this.selectedValues(); + if (values.length === 0) { + return 'Select a label'; + } + if (values.length === 1) { + return values[0]; + } + return `${values[0]} + ${values.length - 1} more`; + }); + + /** The labels that are available for selection. */ + readonly labels = [ + {value: 'Important', icon: 'label'}, + {value: 'Starred', icon: 'star'}, + {value: 'Work', icon: 'work'}, + {value: 'Personal', icon: 'person'}, + {value: 'To Do', icon: 'checklist'}, + {value: 'Later', icon: 'schedule'}, + {value: 'Read', icon: 'menu_book'}, + {value: 'Travel', icon: 'flight'}, + ]; + + /** Whether the popup is expanded. */ + readonly popupExpanded = signal(false); + + /** Whether the overlay is open in the DOM. */ + readonly overlayOpen = signal(false); + + constructor() { + // Synchronize overlayOpen with popupExpanded with a delay on close to allow exit transitions + effect(() => { + if (this.popupExpanded()) { + this.overlayOpen.set(true); + } else { + setTimeout(() => this.overlayOpen.set(false), 180); + } + }); + + // Scrolls to the active item when the active option changes. + afterRenderEffect(() => { + this.listbox()?.scrollActiveItemIntoView(); + }); + + // Resets the listbox scroll position when the combobox is closed. + afterRenderEffect(() => { + if (!this.popupExpanded()) { + setTimeout(() => this.listbox()?.element.scrollTo(0, 0), 150); + } + }); + } +} diff --git a/adev/src/content/examples/aria/multiselect/src/icons/retro/app/app.css b/adev/src/content/examples/aria/multiselect/src/icons/retro/app/app.css new file mode 100644 index 000000000000..fdc98a62054d --- /dev/null +++ b/adev/src/content/examples/aria/multiselect/src/icons/retro/app/app.css @@ -0,0 +1,194 @@ +@import url('https://fonts.googleapis.com/icon?family=Material+Symbols+Outlined'); +@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap'); + +:host { + display: flex; + justify-content: center; + font-size: 0.8rem; + + font-family: 'Press Start 2P'; + --retro-button-color: color-mix(in srgb, var(--hot-pink) 80%, var(--page-background)); + --retro-shadow-light: color-mix(in srgb, var(--retro-button-color) 90%, #fff); + --retro-shadow-dark: color-mix(in srgb, var(--retro-button-color) 90%, #000); + --retro-elevated-shadow: + inset 4px 4px 0px 0px var(--retro-shadow-light), + inset -4px -4px 0px 0px var(--retro-shadow-dark), 4px 0px 0px 0px var(--tertiary-contrast), + 0px 4px 0px 0px var(--tertiary-contrast), -4px 0px 0px 0px var(--tertiary-contrast), + 0px -4px 0px 0px var(--tertiary-contrast); + --retro-flat-shadow: + 4px 0px 0px 0px var(--tertiary-contrast), 0px 4px 0px 0px var(--tertiary-contrast), + -4px 0px 0px 0px var(--tertiary-contrast), 0px -4px 0px 0px var(--tertiary-contrast); + --retro-clickable-shadow: + inset 4px 4px 0px 0px var(--retro-shadow-light), + inset -4px -4px 0px 0px var(--retro-shadow-dark), 4px 0px 0px 0px var(--tertiary-contrast), + 0px 4px 0px 0px var(--tertiary-contrast), -4px 0px 0px 0px var(--tertiary-contrast), + 0px -4px 0px 0px var(--tertiary-contrast), 8px 8px 0px 0px var(--tertiary-contrast); + --retro-pressed-shadow: + inset 4px 4px 0px 0px var(--retro-shadow-dark), + inset -4px -4px 0px 0px var(--retro-shadow-light), 4px 0px 0px 0px var(--tertiary-contrast), + 0px 4px 0px 0px var(--tertiary-contrast), -4px 0px 0px 0px var(--tertiary-contrast), + 0px -4px 0px 0px var(--tertiary-contrast), 0px 0px 0px 0px var(--tertiary-contrast); +} + +.select { + display: flex; + position: relative; + align-items: center; + color: var(--page-background); + background-color: var(--hot-pink); + box-shadow: var(--retro-clickable-shadow); + /* Modernized additions for div-trigger Select: */ + height: 2.5rem; + padding: 0 4.5rem; + cursor: pointer; + box-sizing: border-box; + width: 22rem; + user-select: none; + -webkit-user-select: none; + outline: none; +} + +.select span { + user-select: none; + -webkit-user-select: none; +} + +.select:hover, +.select:focus, +.select:focus-within { + transform: translate(1px, 1px); +} + +.select:active { + transform: translate(4px, 4px); + box-shadow: var(--retro-pressed-shadow); + background-color: color-mix(in srgb, var(--retro-button-color) 60%, var(--gray-50)); +} + +.select[aria-disabled='true'] { + opacity: 0.6; + cursor: default; +} + +.selected-label-icon { + font-size: 1.25rem; +} + +.select[aria-expanded='false']:focus, +.select[aria-expanded='false']:focus-within { + outline-offset: 8px; + outline: 4px dashed var(--hot-pink); +} + +.combobox-label { + gap: 1rem; + left: 1rem; + display: flex; + position: absolute; + align-items: center; + pointer-events: none; +} + +.example-arrow { + right: 1rem; + position: absolute; + pointer-events: none; + transition: transform 150ms ease-in-out; +} + +.select[aria-expanded='true'] .example-arrow { + transform: rotate(180deg); +} + +.example-popup-container { + width: 100%; + padding: 0.5rem; + margin-top: 20px; + box-shadow: var(--retro-flat-shadow); + background-color: var(--septenary-contrast); + max-height: 11rem; + box-sizing: border-box; + overflow: hidden; + animation: smoothPopupOpen 150ms ease-out forwards; + transform-origin: top; +} + +@keyframes smoothPopupOpen { + 0% { + max-height: 0; + opacity: 0; + } + 16.7% { + opacity: 1; + } + 100% { + max-height: 11rem; + opacity: 1; + } +} + +.example-popup-container.closing { + animation: smoothPopupClose 150ms ease-in forwards; +} + +@keyframes smoothPopupClose { + 0% { + max-height: 11rem; + opacity: 1; + } + 100% { + max-height: 0; + opacity: 0; + } +} + +[ngListbox] { + gap: 2px; + height: 100%; + display: flex; + overflow: auto; + flex-direction: column; + outline: none; +} + +[ngOption] { + display: flex; + cursor: pointer; + align-items: center; + padding: 0 1rem; + font-size: 0.6rem; + min-height: 2.25rem; + outline: none; +} + +[ngOption]:hover { + background-color: color-mix(in srgb, var(--primary-contrast) 5%, transparent); +} + +[ngOption][data-active='true'] { + outline-offset: -2px; + outline: 2px dashed var(--hot-pink); +} + +[ngOption][aria-selected='true'] { + color: var(--hot-pink); + background-color: color-mix(in srgb, var(--hot-pink) 5%, transparent); +} + +.example-option-icon { + font-size: 1.25rem; + padding-right: 1rem; +} + +[ngOption]:not([aria-selected='true']) .example-option-check { + display: none; +} + +.example-option-icon, +.example-option-check { + font-size: 0.9rem; +} + +.example-option-text { + flex: 1; +} diff --git a/adev/src/content/examples/aria/multiselect/src/icons/retro/app/app.html b/adev/src/content/examples/aria/multiselect/src/icons/retro/app/app.html new file mode 100644 index 000000000000..8dc7a27777ae --- /dev/null +++ b/adev/src/content/examples/aria/multiselect/src/icons/retro/app/app.html @@ -0,0 +1,56 @@ +
    + + + {{ displayValue() }} + + +
    + + + +
    +
    + @for (label of labels; track label.value) { +
    + + {{ label.value }} + +
    + } +
    +
    +
    +
    diff --git a/adev/src/content/examples/aria/multiselect/src/icons/retro/app/app.ts b/adev/src/content/examples/aria/multiselect/src/icons/retro/app/app.ts new file mode 100644 index 000000000000..a06712057359 --- /dev/null +++ b/adev/src/content/examples/aria/multiselect/src/icons/retro/app/app.ts @@ -0,0 +1,78 @@ +import {Combobox, ComboboxPopup, ComboboxWidget} from '@angular/aria/combobox'; +import {Listbox, Option} from '@angular/aria/listbox'; +import {OverlayModule} from '@angular/cdk/overlay'; +import {afterRenderEffect, Component, computed, signal, viewChild, effect} from '@angular/core'; + +@Component({ + selector: 'app-root:not([theme="icons-retro"])', + templateUrl: './app.html', + styleUrl: './app.css', + imports: [Combobox, ComboboxPopup, ComboboxWidget, Listbox, Option, OverlayModule], +}) +export class App { + /** The combobox listbox popup. */ + readonly listbox = viewChild(Listbox); + + /** The options available in the listbox. */ + readonly selectedValues = signal([]); + + /** The icon that is displayed in the combobox. */ + readonly displayIcon = computed(() => { + const values = this.selectedValues(); + const label = this.labels.find((label) => label.value === values[0]); + return label ? label.icon : ''; + }); + + /** The string that is displayed in the combobox. */ + readonly displayValue = computed(() => { + const values = this.selectedValues(); + if (values.length === 0) { + return 'Select a label'; + } + if (values.length === 1) { + return values[0]; + } + return `${values[0]} + ${values.length - 1} more`; + }); + + /** The labels that are available for selection. */ + readonly labels = [ + {value: 'Important', icon: 'label'}, + {value: 'Starred', icon: 'star'}, + {value: 'Work', icon: 'work'}, + {value: 'Personal', icon: 'person'}, + {value: 'To Do', icon: 'checklist'}, + {value: 'Later', icon: 'schedule'}, + {value: 'Read', icon: 'menu_book'}, + {value: 'Travel', icon: 'flight'}, + ]; + + /** Whether the popup is expanded. */ + readonly popupExpanded = signal(false); + + /** Whether the overlay is open in the DOM. */ + readonly overlayOpen = signal(false); + + constructor() { + // Synchronize overlayOpen with popupExpanded with a delay on close to allow exit transitions + effect(() => { + if (this.popupExpanded()) { + this.overlayOpen.set(true); + } else { + setTimeout(() => this.overlayOpen.set(false), 180); + } + }); + + // Scrolls to the active item when the active option changes. + afterRenderEffect(() => { + this.listbox()?.scrollActiveItemIntoView(); + }); + + // Resets the listbox scroll position when the combobox is closed. + afterRenderEffect(() => { + if (!this.popupExpanded()) { + setTimeout(() => this.listbox()?.element.scrollTo(0, 0), 150); + } + }); + } +} diff --git a/adev/src/content/examples/aria/multiselect/src/limited/app/app.css b/adev/src/content/examples/aria/multiselect/src/limited/app/app.css new file mode 100644 index 000000000000..365e879d9c9b --- /dev/null +++ b/adev/src/content/examples/aria/multiselect/src/limited/app/app.css @@ -0,0 +1,163 @@ +@import url('https://fonts.googleapis.com/icon?family=Material+Symbols+Outlined'); + +:host { + display: flex; + justify-content: center; + font-family: var(--inter-font); +} + +.select { + display: flex; + position: relative; + align-items: center; + color: color-mix(in srgb, var(--hot-pink) 90%, var(--primary-contrast)); + background-color: color-mix(in srgb, var(--hot-pink) 5%, transparent); + border-radius: 0.5rem; + border: 1px solid color-mix(in srgb, var(--hot-pink) 80%, transparent); + /* Modernized additions for div-trigger Select: */ + height: 2.5rem; + padding: 0 2.5rem; + cursor: pointer; + box-sizing: border-box; + width: 16rem; + user-select: none; + -webkit-user-select: none; + outline: none; +} + +.select span { + user-select: none; + -webkit-user-select: none; +} + +.select:hover { + background-color: color-mix(in srgb, var(--hot-pink) 15%, transparent); +} + +.select[aria-disabled='true'] { + opacity: 0.6; + cursor: default; +} + +.select:focus, +.select:focus-within { + outline: 2px solid color-mix(in srgb, var(--hot-pink) 50%, transparent); +} + +.combobox-label { + gap: 1rem; + left: 1.5rem; + display: flex; + position: absolute; + align-items: center; + pointer-events: none; +} + +.example-arrow { + right: 1rem; + position: absolute; + pointer-events: none; + transition: transform 150ms ease-in-out; +} + +.select[aria-expanded='true'] .example-arrow { + transform: rotate(180deg); +} + +.example-popup-container { + width: 100%; + padding: 0.5rem; + margin-top: 8px; + border-radius: 0.5rem; + background-color: var(--septenary-contrast); + font-size: 0.9rem; + max-height: 11rem; + box-sizing: border-box; + overflow: hidden; + animation: smoothPopupOpen 150ms ease-out forwards; + transform-origin: top; +} + +@keyframes smoothPopupOpen { + 0% { + max-height: 0; + opacity: 0; + } + 16.7% { + opacity: 1; + } + 100% { + max-height: 11rem; + opacity: 1; + } +} + +.example-popup-container.closing { + animation: smoothPopupClose 150ms ease-in forwards; +} + +@keyframes smoothPopupClose { + 0% { + max-height: 11rem; + opacity: 1; + } + 100% { + max-height: 0; + opacity: 0; + } +} + +[ngListbox] { + gap: 2px; + height: 100%; + display: flex; + overflow: auto; + flex-direction: column; + outline: none; +} + +[ngOption] { + display: flex; + cursor: pointer; + align-items: center; + margin: 1px; + padding: 0 1rem; + min-height: 2.25rem; + border-radius: 0.5rem; + outline: none; +} + +[ngOption]:hover { + background-color: color-mix(in srgb, var(--primary-contrast) 5%, transparent); +} + +[ngOption][data-active='true'] { + outline-offset: -2px; + outline: 2px solid color-mix(in srgb, var(--hot-pink) 50%, transparent); +} + +[ngOption][aria-selected='true'] { + color: var(--hot-pink); + background-color: color-mix(in srgb, var(--hot-pink) 5%, transparent); +} + +[ngOption]:not([aria-selected='true']) .example-option-check { + display: none; +} + +[ngOption][aria-disabled='true'] { + opacity: 0.6; + cursor: default; +} + +[ngOption][aria-disabled='true']:hover { + background-color: transparent; +} + +.example-option-check { + font-size: 0.9rem; +} + +.example-option-text { + flex: 1; +} diff --git a/adev/src/content/examples/aria/multiselect/src/limited/app/app.html b/adev/src/content/examples/aria/multiselect/src/limited/app/app.html new file mode 100644 index 000000000000..9a1b6e1ef4b4 --- /dev/null +++ b/adev/src/content/examples/aria/multiselect/src/limited/app/app.html @@ -0,0 +1,47 @@ +
    + + {{ displayValue() }} + + +
    + + + +
    +
    + @for (label of labels; track label.value) { +
    + {{ label.value }} + +
    + } +
    +
    +
    +
    diff --git a/adev/src/content/examples/aria/multiselect/src/limited/app/app.ts b/adev/src/content/examples/aria/multiselect/src/limited/app/app.ts new file mode 100644 index 000000000000..5249afd5d64b --- /dev/null +++ b/adev/src/content/examples/aria/multiselect/src/limited/app/app.ts @@ -0,0 +1,79 @@ +import {Combobox, ComboboxPopup, ComboboxWidget} from '@angular/aria/combobox'; +import {Listbox, Option} from '@angular/aria/listbox'; +import {OverlayModule} from '@angular/cdk/overlay'; +import {afterRenderEffect, Component, computed, signal, viewChild, effect} from '@angular/core'; + +@Component({ + selector: 'app-root:not([theme="limited-basic"])', + templateUrl: './app.html', + styleUrl: './app.css', + imports: [Combobox, ComboboxPopup, ComboboxWidget, Listbox, Option, OverlayModule], +}) +export class App { + /** The combobox listbox popup. */ + readonly listbox = viewChild(Listbox); + + /** The options available in the listbox. */ + readonly selectedValues = signal([]); + + /** The string that is displayed in the combobox. */ + readonly displayValue = computed(() => { + const values = this.selectedValues(); + if (values.length === 0) { + return 'Select 2 labels'; + } + if (values.length === 1) { + return values[0]; + } + return `${values[0]} & ${values[1]}`; + }); + + /** The labels that are available for selection. */ + readonly labels = [ + {value: 'Important', disabled: computed(() => this.isOptionDisabled('Important'))}, + {value: 'Starred', disabled: computed(() => this.isOptionDisabled('Starred'))}, + {value: 'Work', disabled: computed(() => this.isOptionDisabled('Work'))}, + {value: 'Personal', disabled: computed(() => this.isOptionDisabled('Personal'))}, + {value: 'To Do', disabled: computed(() => this.isOptionDisabled('To Do'))}, + {value: 'Later', disabled: computed(() => this.isOptionDisabled('Later'))}, + {value: 'Read', disabled: computed(() => this.isOptionDisabled('Read'))}, + {value: 'Travel', disabled: computed(() => this.isOptionDisabled('Travel'))}, + ]; + + /** Whether the popup is expanded. */ + readonly popupExpanded = signal(false); + + /** Whether the overlay is open in the DOM. */ + readonly overlayOpen = signal(false); + + constructor() { + // Synchronize overlayOpen with popupExpanded with a delay on close to allow exit transitions + effect(() => { + if (this.popupExpanded()) { + this.overlayOpen.set(true); + } else { + setTimeout(() => this.overlayOpen.set(false), 180); + } + }); + + // Scrolls to the active item when the active option changes. + afterRenderEffect(() => { + this.listbox()?.scrollActiveItemIntoView(); + }); + + // Resets the listbox scroll position when the combobox is closed. + afterRenderEffect(() => { + if (!this.popupExpanded()) { + setTimeout(() => this.listbox()?.element.scrollTo(0, 0), 150); + } + }); + } + + isOptionDisabled(value: string) { + const values = this.selectedValues(); + if (!values || values.length < 2) { + return false; + } + return !values.includes(value); + } +} diff --git a/adev/src/content/examples/aria/multiselect/src/limited/material/app/app.css b/adev/src/content/examples/aria/multiselect/src/limited/material/app/app.css new file mode 100644 index 000000000000..ddac0a3727bb --- /dev/null +++ b/adev/src/content/examples/aria/multiselect/src/limited/material/app/app.css @@ -0,0 +1,171 @@ +@import url('https://fonts.googleapis.com/icon?family=Material+Symbols+Outlined'); + +:host { + display: flex; + justify-content: center; + font-family: var(--inter-font); + --primary: var(--hot-pink); + --on-primary: var(--page-background); +} + +.docs-light-mode { + --on-primary: #fff; +} + +.select { + display: flex; + position: relative; + align-items: center; + border-radius: 3rem; + color: var(--on-primary); + background-color: var(--primary); + border: 1px solid color-mix(in srgb, var(--primary) 80%, transparent); + /* Modernized additions for div-trigger Select: */ + height: 3rem; + padding: 0 2.5rem; + cursor: pointer; + box-sizing: border-box; + width: 16rem; + user-select: none; + -webkit-user-select: none; + outline: none; +} + +.select span { + user-select: none; + -webkit-user-select: none; +} + +.select:hover { + background-color: color-mix(in srgb, var(--primary) 90%, transparent); +} + +.select[aria-disabled='true'] { + opacity: 0.6; + cursor: default; +} + +.select:focus, +.select:focus-within { + outline: 2px solid var(--primary); + outline-offset: 2px; +} + +.combobox-label { + gap: 1rem; + left: 1.5rem; + display: flex; + position: absolute; + align-items: center; + pointer-events: none; +} + +.example-arrow { + right: 1rem; + position: absolute; + pointer-events: none; + transition: transform 150ms ease-in-out; +} + +.select[aria-expanded='true'] .example-arrow { + transform: rotate(180deg); +} + +.example-popup-container { + width: 100%; + padding: 0.5rem; + margin-top: 8px; + border-radius: 2rem; + background-color: var(--septenary-contrast); + font-size: 0.9rem; + max-height: 13rem; + box-sizing: border-box; + overflow: hidden; + animation: smoothPopupOpen 150ms ease-out forwards; + transform-origin: top; +} + +@keyframes smoothPopupOpen { + 0% { + max-height: 0; + opacity: 0; + } + 16.7% { + opacity: 1; + } + 100% { + max-height: 13rem; + opacity: 1; + } +} + +.example-popup-container.closing { + animation: smoothPopupClose 150ms ease-in forwards; +} + +@keyframes smoothPopupClose { + 0% { + max-height: 13rem; + opacity: 1; + } + 100% { + max-height: 0; + opacity: 0; + } +} + +[ngListbox] { + gap: 2px; + padding: 2px; + height: 100%; + display: flex; + overflow: auto; + flex-direction: column; + outline: none; +} + +[ngOption] { + display: flex; + cursor: pointer; + align-items: center; + padding: 0 1rem; + min-height: 3rem; + border-radius: 3rem; + outline: none; +} + +[ngOption]:hover, +[ngOption][data-active='true'] { + background-color: color-mix(in srgb, var(--primary-contrast) 5%, transparent); +} + +[ngOption][data-active='true'] { + outline-offset: -2px; + outline: 2px solid var(--primary); +} + +[ngOption][aria-selected='true'] { + color: var(--primary); + background-color: color-mix(in srgb, var(--primary) 10%, transparent); +} + +[ngOption]:not([aria-selected='true']) .example-option-check { + display: none; +} + +[ngOption][aria-disabled='true'] { + opacity: 0.6; + cursor: default; +} + +[ngOption][aria-disabled='true']:hover { + background-color: transparent; +} + +.example-option-check { + font-size: 0.9rem; +} + +.example-option-text { + flex: 1; +} diff --git a/adev/src/content/examples/aria/multiselect/src/limited/material/app/app.html b/adev/src/content/examples/aria/multiselect/src/limited/material/app/app.html new file mode 100644 index 000000000000..9a1b6e1ef4b4 --- /dev/null +++ b/adev/src/content/examples/aria/multiselect/src/limited/material/app/app.html @@ -0,0 +1,47 @@ +
    + + {{ displayValue() }} + + +
    + + + +
    +
    + @for (label of labels; track label.value) { +
    + {{ label.value }} + +
    + } +
    +
    +
    +
    diff --git a/adev/src/content/examples/aria/multiselect/src/limited/material/app/app.ts b/adev/src/content/examples/aria/multiselect/src/limited/material/app/app.ts new file mode 100644 index 000000000000..1786dd8e9360 --- /dev/null +++ b/adev/src/content/examples/aria/multiselect/src/limited/material/app/app.ts @@ -0,0 +1,79 @@ +import {Combobox, ComboboxPopup, ComboboxWidget} from '@angular/aria/combobox'; +import {Listbox, Option} from '@angular/aria/listbox'; +import {OverlayModule} from '@angular/cdk/overlay'; +import {afterRenderEffect, Component, computed, signal, viewChild, effect} from '@angular/core'; + +@Component({ + selector: 'app-root:not([theme="limited-material"])', + templateUrl: './app.html', + styleUrl: './app.css', + imports: [Combobox, ComboboxPopup, ComboboxWidget, Listbox, Option, OverlayModule], +}) +export class App { + /** The combobox listbox popup. */ + readonly listbox = viewChild(Listbox); + + /** The options available in the listbox. */ + readonly selectedValues = signal([]); + + /** The string that is displayed in the combobox. */ + readonly displayValue = computed(() => { + const values = this.selectedValues(); + if (values.length === 0) { + return 'Select 2 labels'; + } + if (values.length === 1) { + return values[0]; + } + return `${values[0]} & ${values[1]}`; + }); + + /** The labels that are available for selection. */ + readonly labels = [ + {value: 'Important', disabled: computed(() => this.isOptionDisabled('Important'))}, + {value: 'Starred', disabled: computed(() => this.isOptionDisabled('Starred'))}, + {value: 'Work', disabled: computed(() => this.isOptionDisabled('Work'))}, + {value: 'Personal', disabled: computed(() => this.isOptionDisabled('Personal'))}, + {value: 'To Do', disabled: computed(() => this.isOptionDisabled('To Do'))}, + {value: 'Later', disabled: computed(() => this.isOptionDisabled('Later'))}, + {value: 'Read', disabled: computed(() => this.isOptionDisabled('Read'))}, + {value: 'Travel', disabled: computed(() => this.isOptionDisabled('Travel'))}, + ]; + + /** Whether the popup is expanded. */ + readonly popupExpanded = signal(false); + + /** Whether the overlay is open in the DOM. */ + readonly overlayOpen = signal(false); + + constructor() { + // Synchronize overlayOpen with popupExpanded with a delay on close to allow exit transitions + effect(() => { + if (this.popupExpanded()) { + this.overlayOpen.set(true); + } else { + setTimeout(() => this.overlayOpen.set(false), 180); + } + }); + + // Scrolls to the active item when the active option changes. + afterRenderEffect(() => { + this.listbox()?.scrollActiveItemIntoView(); + }); + + // Resets the listbox scroll position when the combobox is closed. + afterRenderEffect(() => { + if (!this.popupExpanded()) { + setTimeout(() => this.listbox()?.element.scrollTo(0, 0), 150); + } + }); + } + + isOptionDisabled(value: string) { + const values = this.selectedValues(); + if (!values || values.length < 2) { + return false; + } + return !values.includes(value); + } +} diff --git a/adev/src/content/examples/aria/multiselect/src/limited/retro/app/app.css b/adev/src/content/examples/aria/multiselect/src/limited/retro/app/app.css new file mode 100644 index 000000000000..4ef693b0eb2e --- /dev/null +++ b/adev/src/content/examples/aria/multiselect/src/limited/retro/app/app.css @@ -0,0 +1,203 @@ +@import url('https://fonts.googleapis.com/icon?family=Material+Symbols+Outlined'); +@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap'); + +:host { + display: flex; + justify-content: center; + font-size: 0.8rem; + + font-family: 'Press Start 2P'; + --retro-button-color: color-mix(in srgb, var(--hot-pink) 80%, var(--page-background)); + --retro-shadow-light: color-mix(in srgb, var(--retro-button-color) 90%, #fff); + --retro-shadow-dark: color-mix(in srgb, var(--retro-button-color) 90%, #000); + --retro-elevated-shadow: + inset 4px 4px 0px 0px var(--retro-shadow-light), + inset -4px -4px 0px 0px var(--retro-shadow-dark), 4px 0px 0px 0px var(--tertiary-contrast), + 0px 4px 0px 0px var(--tertiary-contrast), -4px 0px 0px 0px var(--tertiary-contrast), + 0px -4px 0px 0px var(--tertiary-contrast); + --retro-flat-shadow: + 4px 0px 0px 0px var(--tertiary-contrast), 0px 4px 0px 0px var(--tertiary-contrast), + -4px 0px 0px 0px var(--tertiary-contrast), 0px -4px 0px 0px var(--tertiary-contrast); + --retro-clickable-shadow: + inset 4px 4px 0px 0px var(--retro-shadow-light), + inset -4px -4px 0px 0px var(--retro-shadow-dark), 4px 0px 0px 0px var(--tertiary-contrast), + 0px 4px 0px 0px var(--tertiary-contrast), -4px 0px 0px 0px var(--tertiary-contrast), + 0px -4px 0px 0px var(--tertiary-contrast), 8px 8px 0px 0px var(--tertiary-contrast); + --retro-pressed-shadow: + inset 4px 4px 0px 0px var(--retro-shadow-dark), + inset -4px -4px 0px 0px var(--retro-shadow-light), 4px 0px 0px 0px var(--tertiary-contrast), + 0px 4px 0px 0px var(--tertiary-contrast), -4px 0px 0px 0px var(--tertiary-contrast), + 0px -4px 0px 0px var(--tertiary-contrast), 0px 0px 0px 0px var(--tertiary-contrast); +} + +.select { + display: flex; + position: relative; + align-items: center; + color: var(--page-background); + background-color: var(--hot-pink); + box-shadow: var(--retro-clickable-shadow); + /* Modernized additions for div-trigger Select: */ + height: 2.5rem; + padding: 0 4.5rem; + cursor: pointer; + box-sizing: border-box; + width: 22rem; + user-select: none; + -webkit-user-select: none; + outline: none; +} + +.select span { + user-select: none; + -webkit-user-select: none; +} + +.select:hover, +.select:focus, +.select:focus-within { + transform: translate(1px, 1px); +} + +.select:active { + transform: translate(4px, 4px); + box-shadow: var(--retro-pressed-shadow); + background-color: color-mix(in srgb, var(--retro-button-color) 60%, var(--gray-50)); +} + +.select[aria-disabled='true'] { + opacity: 0.6; + cursor: default; +} + +.selected-label-icon { + font-size: 1.25rem; +} + +.select[aria-expanded='false']:focus, +.select[aria-expanded='false']:focus-within { + outline-offset: 8px; + outline: 4px dashed var(--hot-pink); +} + +.combobox-label { + gap: 1rem; + left: 1rem; + display: flex; + position: absolute; + align-items: center; + pointer-events: none; +} + +.example-arrow { + right: 1rem; + position: absolute; + pointer-events: none; + transition: transform 150ms ease-in-out; +} + +.select[aria-expanded='true'] .example-arrow { + transform: rotate(180deg); +} + +.example-popup-container { + width: 100%; + padding: 0.5rem; + margin-top: 20px; + box-shadow: var(--retro-flat-shadow); + background-color: var(--septenary-contrast); + max-height: 11rem; + box-sizing: border-box; + overflow: hidden; + animation: smoothPopupOpen 150ms ease-out forwards; + transform-origin: top; +} + +@keyframes smoothPopupOpen { + 0% { + max-height: 0; + opacity: 0; + } + 16.7% { + opacity: 1; + } + 100% { + max-height: 11rem; + opacity: 1; + } +} + +.example-popup-container.closing { + animation: smoothPopupClose 150ms ease-in forwards; +} + +@keyframes smoothPopupClose { + 0% { + max-height: 11rem; + opacity: 1; + } + 100% { + max-height: 0; + opacity: 0; + } +} + +[ngListbox] { + gap: 2px; + height: 100%; + display: flex; + overflow: auto; + flex-direction: column; + outline: none; +} + +[ngOption] { + display: flex; + cursor: pointer; + align-items: center; + padding: 0 1rem; + font-size: 0.6rem; + min-height: 2.25rem; + outline: none; +} + +[ngOption]:hover { + background-color: color-mix(in srgb, var(--primary-contrast) 5%, transparent); +} + +[ngOption][data-active='true'] { + outline-offset: -2px; + outline: 2px dashed var(--hot-pink); +} + +[ngOption][aria-selected='true'] { + color: var(--hot-pink); + background-color: color-mix(in srgb, var(--hot-pink) 5%, transparent); +} + +.example-option-icon { + font-size: 1.25rem; + padding-right: 1rem; +} + +[ngOption]:not([aria-selected='true']) .example-option-check { + display: none; +} + +[ngOption][aria-disabled='true'] { + opacity: 0.6; + cursor: default; +} + +[ngOption][aria-disabled='true']:hover { + background-color: transparent; +} + +.example-option-icon, +.example-option-check { + font-size: 0.9rem; +} + +.example-option-text { + flex: 1; +} diff --git a/adev/src/content/examples/aria/multiselect/src/limited/retro/app/app.html b/adev/src/content/examples/aria/multiselect/src/limited/retro/app/app.html new file mode 100644 index 000000000000..9a1b6e1ef4b4 --- /dev/null +++ b/adev/src/content/examples/aria/multiselect/src/limited/retro/app/app.html @@ -0,0 +1,47 @@ +
    + + {{ displayValue() }} + + +
    + + + +
    +
    + @for (label of labels; track label.value) { +
    + {{ label.value }} + +
    + } +
    +
    +
    +
    diff --git a/adev/src/content/examples/aria/multiselect/src/limited/retro/app/app.ts b/adev/src/content/examples/aria/multiselect/src/limited/retro/app/app.ts new file mode 100644 index 000000000000..bb93304b63a9 --- /dev/null +++ b/adev/src/content/examples/aria/multiselect/src/limited/retro/app/app.ts @@ -0,0 +1,79 @@ +import {Combobox, ComboboxPopup, ComboboxWidget} from '@angular/aria/combobox'; +import {Listbox, Option} from '@angular/aria/listbox'; +import {OverlayModule} from '@angular/cdk/overlay'; +import {afterRenderEffect, Component, computed, signal, viewChild, effect} from '@angular/core'; + +@Component({ + selector: 'app-root:not([theme="limited-retro"])', + templateUrl: './app.html', + styleUrl: './app.css', + imports: [Combobox, ComboboxPopup, ComboboxWidget, Listbox, Option, OverlayModule], +}) +export class App { + /** The combobox listbox popup. */ + readonly listbox = viewChild(Listbox); + + /** The options available in the listbox. */ + readonly selectedValues = signal([]); + + /** The string that is displayed in the combobox. */ + readonly displayValue = computed(() => { + const values = this.selectedValues(); + if (values.length === 0) { + return 'Select 2 labels'; + } + if (values.length === 1) { + return values[0]; + } + return `${values[0]} & ${values[1]}`; + }); + + /** The labels that are available for selection. */ + readonly labels = [ + {value: 'Important', disabled: computed(() => this.isOptionDisabled('Important'))}, + {value: 'Starred', disabled: computed(() => this.isOptionDisabled('Starred'))}, + {value: 'Work', disabled: computed(() => this.isOptionDisabled('Work'))}, + {value: 'Personal', disabled: computed(() => this.isOptionDisabled('Personal'))}, + {value: 'To Do', disabled: computed(() => this.isOptionDisabled('To Do'))}, + {value: 'Later', disabled: computed(() => this.isOptionDisabled('Later'))}, + {value: 'Read', disabled: computed(() => this.isOptionDisabled('Read'))}, + {value: 'Travel', disabled: computed(() => this.isOptionDisabled('Travel'))}, + ]; + + /** Whether the popup is expanded. */ + readonly popupExpanded = signal(false); + + /** Whether the overlay is open in the DOM. */ + readonly overlayOpen = signal(false); + + constructor() { + // Synchronize overlayOpen with popupExpanded with a delay on close to allow exit transitions + effect(() => { + if (this.popupExpanded()) { + this.overlayOpen.set(true); + } else { + setTimeout(() => this.overlayOpen.set(false), 180); + } + }); + + // Scrolls to the active item when the active option changes. + afterRenderEffect(() => { + this.listbox()?.scrollActiveItemIntoView(); + }); + + // Resets the listbox scroll position when the combobox is closed. + afterRenderEffect(() => { + if (!this.popupExpanded()) { + setTimeout(() => this.listbox()?.element.scrollTo(0, 0), 150); + } + }); + } + + isOptionDisabled(value: string) { + const values = this.selectedValues(); + if (!values || values.length < 2) { + return false; + } + return !values.includes(value); + } +} diff --git a/adev/src/content/guide/aria/multiselect.md b/adev/src/content/guide/aria/multiselect.md index f823eb57721d..9bacdc1708b4 100644 --- a/adev/src/content/guide/aria/multiselect.md +++ b/adev/src/content/guide/aria/multiselect.md @@ -3,9 +3,9 @@ ## Overview -A pattern that combines readonly combobox with multi-enabled listbox to create multiple-selection dropdowns with keyboard navigation and screen reader support. +The multiselect pattern combines a read-only combobox trigger with a multi-select listbox popup to create highly accessible multiple-selection dropdowns with keyboard navigation and screen reader support. - + ## Usage @@ -67,7 +67,7 @@ The multiselect pattern combines [Combobox](guide/aria/combobox) and [Listbox](g Users need to select multiple items from a list of options. A readonly combobox paired with a multi-enabled listbox provides familiar multiselect functionality with full accessibility support. - + The `multi` attribute on `ngListbox` enables multiple selection. Press Space to toggle options, and the popup remains open for additional selections. The display shows the first selected item plus a count of remaining selections. @@ -99,7 +99,7 @@ The `multi` attribute on `ngListbox` enables multiple selection. Press Space to Options often need visual indicators like icons or colors to help users identify choices. Custom templates within options allow rich formatting while the display value shows a compact summary. - + Each option displays an icon alongside its label. The display value updates to show the first selection's icon and text, followed by a count of additional selections. Selected options show a checkmark for clear visual feedback. @@ -131,7 +131,7 @@ Each option displays an icon alongside its label. The display value updates to s Forms sometimes need to limit the number of selections or validate user choices. Programmatic control over selection enables these constraints while maintaining accessibility. - + -This example limits selections to three items. When the limit is reached, unselected options become disabled, preventing additional selections. A message informs users about the constraint. +This example limits selections to two items. When the limit is reached, unselected options are disabled to prevent further selections, and the combobox display updates to reflect the choices. ## APIs The multiselect pattern uses the following directives from Angular's Aria library. See the full API documentation in the linked guides. -### Combobox Directives +### Combobox directives -The multiselect pattern uses `ngCombobox` with the `readonly` attribute to prevent text input while preserving keyboard navigation. +The multiselect pattern uses `ngCombobox` directly on the trigger element (such as a `div` or `button`) to create a select-like multiselect dropdown. #### Inputs -| Property | Type | Default | Description | -| ---------- | --------- | ------- | ----------------------------------------- | -| `readonly` | `boolean` | `false` | Set to `true` to create dropdown behavior | -| `disabled` | `boolean` | `false` | Disables the entire multiselect | +| Property | Type | Default | Description | +| ---------- | --------- | ------- | ------------------------------- | +| `disabled` | `boolean` | `false` | Disables the entire multiselect | See the [Combobox API documentation](guide/aria/combobox#apis) for complete details on all available inputs and signals. -### Listbox Directives +#### Popup directives + +The structural `ngComboboxPopup` directive marks the overlay template and requires a reference to the parent combobox: + +| Property | Type | Description | +| ---------- | ---------- | ------------------------------------------- | +| `combobox` | `Combobox` | Required reference to the parent `Combobox` | + +#### ComboboxWidget directive + +The `ngComboboxWidget` directive bridges the listbox widget inside the popup with the parent `ngCombobox` trigger to manage active-descendant focus tracking. When `focusMode="activedescendant"` is configured on the listbox: + +1. Browser focus remains securely on the combobox trigger. +2. Keyboard navigation (Arrow Up/Down) updates the listbox's active descendant. +3. The `[activeDescendant]` input on `ngComboboxWidget` propagates this ID to the parent `ngCombobox` directive. +4. `ngCombobox` automatically updates the `aria-activedescendant` attribute on the trigger element, informing screen readers of the active option. + +| Property | Type | Description | +| ------------------ | --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | +| `activeDescendant` | `string \| undefined` | The ID of the currently active option (bound to `listbox.activeDescendant()`) to update the `aria-activedescendant` attribute on the trigger | + +### Listbox directives The multiselect pattern uses `ngListbox` with the `multi` attribute for multiple selection and `ngOption` for each selectable item. #### Inputs -| Property | Type | Default | Description | -| -------- | --------- | ------- | ------------------------------------------ | -| `multi` | `boolean` | `false` | Set to `true` to enable multiple selection | +| Property | Type | Default | Description | +| --------------- | ---------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------- | +| `multi` | `boolean` | `false` | Set to `true` to enable multiple selection | +| `selectionMode` | `'follow'` \| `'explicit'` | `'follow'` | Set to `'explicit'` so options are toggled explicitly via click/Space instead of following active focus | +| `focusMode` | `'roving'` \| `'activedescendant'` | `'roving'` | The focus strategy used by the listbox. Set to `'activedescendant'` so browser focus remains on the combobox trigger. | +| `tabIndex` | `number` | `0` | The tabindex of the listbox. Set to `-1` to prevent keyboard focus from entering the popup container in active-descendant mode. | #### Model -| Property | Type | Description | -| -------- | ------- | ----------------------------------------- | -| `values` | `any[]` | Two-way bindable array of selected values | +| Property | Type | Description | +| -------- | -------------------- | ----------------------------------------- | +| `value` | `ModelSignal` | Two-way bindable array of selected values | When `multi` is true, users can select multiple options using Space to toggle selection. The popup remains open after selection, allowing additional choices. From 7c856979767b4a55924ee1d03904629c7c5237c6 Mon Sep 17 00:00:00 2001 From: tjshiu <35056071+tjshiu@users.noreply.github.com> Date: Tue, 19 May 2026 15:24:23 -0700 Subject: [PATCH 111/317] docs: simplify multiselect overlay bindings and transitions Remove the delayed overlayOpen signals and synchronization effects across all 9 multiselect example variations. Bind cdkConnectedOverlayOpen directly to popupExpanded() and remove conditional closing classes to simplify code. (cherry picked from commit 36500a70e3413429c825c60346efb705fd6ba79f) --- .../examples/aria/multiselect/src/basic/app/app.html | 4 ++-- .../examples/aria/multiselect/src/basic/app/app.ts | 12 ------------ .../aria/multiselect/src/basic/material/app/app.html | 4 ++-- .../aria/multiselect/src/basic/material/app/app.ts | 12 ------------ .../aria/multiselect/src/basic/retro/app/app.html | 4 ++-- .../aria/multiselect/src/basic/retro/app/app.ts | 12 ------------ .../examples/aria/multiselect/src/icons/app/app.html | 4 ++-- .../examples/aria/multiselect/src/icons/app/app.ts | 12 ------------ .../aria/multiselect/src/icons/material/app/app.html | 4 ++-- .../aria/multiselect/src/icons/material/app/app.ts | 12 ------------ .../aria/multiselect/src/icons/retro/app/app.html | 4 ++-- .../aria/multiselect/src/icons/retro/app/app.ts | 12 ------------ .../aria/multiselect/src/limited/app/app.html | 4 ++-- .../examples/aria/multiselect/src/limited/app/app.ts | 12 ------------ .../multiselect/src/limited/material/app/app.html | 4 ++-- .../aria/multiselect/src/limited/material/app/app.ts | 12 ------------ .../aria/multiselect/src/limited/retro/app/app.html | 4 ++-- .../aria/multiselect/src/limited/retro/app/app.ts | 12 ------------ adev/src/content/guide/aria/multiselect.md | 7 +------ 19 files changed, 19 insertions(+), 132 deletions(-) diff --git a/adev/src/content/examples/aria/multiselect/src/basic/app/app.html b/adev/src/content/examples/aria/multiselect/src/basic/app/app.html index 36d677033fa4..595392ee8568 100644 --- a/adev/src/content/examples/aria/multiselect/src/basic/app/app.html +++ b/adev/src/content/examples/aria/multiselect/src/basic/app/app.html @@ -15,10 +15,10 @@ -
    +
    { - if (this.popupExpanded()) { - this.overlayOpen.set(true); - } else { - setTimeout(() => this.overlayOpen.set(false), 180); - } - }); - // Scrolls to the active item when the active option changes. afterRenderEffect(() => { this.listbox()?.scrollActiveItemIntoView(); diff --git a/adev/src/content/examples/aria/multiselect/src/basic/material/app/app.html b/adev/src/content/examples/aria/multiselect/src/basic/material/app/app.html index 36d677033fa4..595392ee8568 100644 --- a/adev/src/content/examples/aria/multiselect/src/basic/material/app/app.html +++ b/adev/src/content/examples/aria/multiselect/src/basic/material/app/app.html @@ -15,10 +15,10 @@ -
    +
    { - if (this.popupExpanded()) { - this.overlayOpen.set(true); - } else { - setTimeout(() => this.overlayOpen.set(false), 180); - } - }); - // Scrolls to the active item when the active option changes. afterRenderEffect(() => { this.listbox()?.scrollActiveItemIntoView(); diff --git a/adev/src/content/examples/aria/multiselect/src/basic/retro/app/app.html b/adev/src/content/examples/aria/multiselect/src/basic/retro/app/app.html index 36d677033fa4..595392ee8568 100644 --- a/adev/src/content/examples/aria/multiselect/src/basic/retro/app/app.html +++ b/adev/src/content/examples/aria/multiselect/src/basic/retro/app/app.html @@ -15,10 +15,10 @@ -
    +
    { - if (this.popupExpanded()) { - this.overlayOpen.set(true); - } else { - setTimeout(() => this.overlayOpen.set(false), 180); - } - }); - // Scrolls to the active item when the active option changes. afterRenderEffect(() => { this.listbox()?.scrollActiveItemIntoView(); diff --git a/adev/src/content/examples/aria/multiselect/src/icons/app/app.html b/adev/src/content/examples/aria/multiselect/src/icons/app/app.html index 8dc7a27777ae..278748a70f22 100644 --- a/adev/src/content/examples/aria/multiselect/src/icons/app/app.html +++ b/adev/src/content/examples/aria/multiselect/src/icons/app/app.html @@ -18,10 +18,10 @@ -
    +
    { - if (this.popupExpanded()) { - this.overlayOpen.set(true); - } else { - setTimeout(() => this.overlayOpen.set(false), 180); - } - }); - // Scrolls to the active item when the active option changes. afterRenderEffect(() => { this.listbox()?.scrollActiveItemIntoView(); diff --git a/adev/src/content/examples/aria/multiselect/src/icons/material/app/app.html b/adev/src/content/examples/aria/multiselect/src/icons/material/app/app.html index 8dc7a27777ae..278748a70f22 100644 --- a/adev/src/content/examples/aria/multiselect/src/icons/material/app/app.html +++ b/adev/src/content/examples/aria/multiselect/src/icons/material/app/app.html @@ -18,10 +18,10 @@ -
    +
    { - if (this.popupExpanded()) { - this.overlayOpen.set(true); - } else { - setTimeout(() => this.overlayOpen.set(false), 180); - } - }); - // Scrolls to the active item when the active option changes. afterRenderEffect(() => { this.listbox()?.scrollActiveItemIntoView(); diff --git a/adev/src/content/examples/aria/multiselect/src/icons/retro/app/app.html b/adev/src/content/examples/aria/multiselect/src/icons/retro/app/app.html index 8dc7a27777ae..278748a70f22 100644 --- a/adev/src/content/examples/aria/multiselect/src/icons/retro/app/app.html +++ b/adev/src/content/examples/aria/multiselect/src/icons/retro/app/app.html @@ -18,10 +18,10 @@ -
    +
    { - if (this.popupExpanded()) { - this.overlayOpen.set(true); - } else { - setTimeout(() => this.overlayOpen.set(false), 180); - } - }); - // Scrolls to the active item when the active option changes. afterRenderEffect(() => { this.listbox()?.scrollActiveItemIntoView(); diff --git a/adev/src/content/examples/aria/multiselect/src/limited/app/app.html b/adev/src/content/examples/aria/multiselect/src/limited/app/app.html index 9a1b6e1ef4b4..d5de769815da 100644 --- a/adev/src/content/examples/aria/multiselect/src/limited/app/app.html +++ b/adev/src/content/examples/aria/multiselect/src/limited/app/app.html @@ -15,10 +15,10 @@ -
    +
    { - if (this.popupExpanded()) { - this.overlayOpen.set(true); - } else { - setTimeout(() => this.overlayOpen.set(false), 180); - } - }); - // Scrolls to the active item when the active option changes. afterRenderEffect(() => { this.listbox()?.scrollActiveItemIntoView(); diff --git a/adev/src/content/examples/aria/multiselect/src/limited/material/app/app.html b/adev/src/content/examples/aria/multiselect/src/limited/material/app/app.html index 9a1b6e1ef4b4..d5de769815da 100644 --- a/adev/src/content/examples/aria/multiselect/src/limited/material/app/app.html +++ b/adev/src/content/examples/aria/multiselect/src/limited/material/app/app.html @@ -15,10 +15,10 @@ -
    +
    { - if (this.popupExpanded()) { - this.overlayOpen.set(true); - } else { - setTimeout(() => this.overlayOpen.set(false), 180); - } - }); - // Scrolls to the active item when the active option changes. afterRenderEffect(() => { this.listbox()?.scrollActiveItemIntoView(); diff --git a/adev/src/content/examples/aria/multiselect/src/limited/retro/app/app.html b/adev/src/content/examples/aria/multiselect/src/limited/retro/app/app.html index 9a1b6e1ef4b4..d5de769815da 100644 --- a/adev/src/content/examples/aria/multiselect/src/limited/retro/app/app.html +++ b/adev/src/content/examples/aria/multiselect/src/limited/retro/app/app.html @@ -15,10 +15,10 @@ -
    +
    { - if (this.popupExpanded()) { - this.overlayOpen.set(true); - } else { - setTimeout(() => this.overlayOpen.set(false), 180); - } - }); - // Scrolls to the active item when the active option changes. afterRenderEffect(() => { this.listbox()?.scrollActiveItemIntoView(); diff --git a/adev/src/content/guide/aria/multiselect.md b/adev/src/content/guide/aria/multiselect.md index 9bacdc1708b4..3eaa33acc49f 100644 --- a/adev/src/content/guide/aria/multiselect.md +++ b/adev/src/content/guide/aria/multiselect.md @@ -185,12 +185,7 @@ The structural `ngComboboxPopup` directive marks the overlay template and requir #### ComboboxWidget directive -The `ngComboboxWidget` directive bridges the listbox widget inside the popup with the parent `ngCombobox` trigger to manage active-descendant focus tracking. When `focusMode="activedescendant"` is configured on the listbox: - -1. Browser focus remains securely on the combobox trigger. -2. Keyboard navigation (Arrow Up/Down) updates the listbox's active descendant. -3. The `[activeDescendant]` input on `ngComboboxWidget` propagates this ID to the parent `ngCombobox` directive. -4. `ngCombobox` automatically updates the `aria-activedescendant` attribute on the trigger element, informing screen readers of the active option. +The `ngComboboxWidget` directive bridges the listbox with the combobox trigger to support active-descendant focus tracking. | Property | Type | Description | | ------------------ | --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | From 1f2b06cb5cbb4816897813968a49eb1836334979 Mon Sep 17 00:00:00 2001 From: tjshiu <35056071+tjshiu@users.noreply.github.com> Date: Tue, 19 May 2026 15:46:17 -0700 Subject: [PATCH 112/317] docs: simplify multiselect examples by removing scroll resets (cherry picked from commit 069b0153aaef45938a7140735b40e43bb908c1ab) --- .../content/examples/aria/multiselect/src/basic/app/app.ts | 7 ------- .../aria/multiselect/src/basic/material/app/app.ts | 7 ------- .../examples/aria/multiselect/src/basic/retro/app/app.ts | 7 ------- .../content/examples/aria/multiselect/src/icons/app/app.ts | 7 ------- .../aria/multiselect/src/icons/material/app/app.ts | 7 ------- .../examples/aria/multiselect/src/icons/retro/app/app.ts | 7 ------- .../examples/aria/multiselect/src/limited/app/app.ts | 7 ------- .../aria/multiselect/src/limited/material/app/app.ts | 7 ------- .../examples/aria/multiselect/src/limited/retro/app/app.ts | 7 ------- 9 files changed, 63 deletions(-) diff --git a/adev/src/content/examples/aria/multiselect/src/basic/app/app.ts b/adev/src/content/examples/aria/multiselect/src/basic/app/app.ts index ade16d167e10..b6a54f645e75 100644 --- a/adev/src/content/examples/aria/multiselect/src/basic/app/app.ts +++ b/adev/src/content/examples/aria/multiselect/src/basic/app/app.ts @@ -48,12 +48,5 @@ export class App { afterRenderEffect(() => { this.listbox()?.scrollActiveItemIntoView(); }); - - // Resets the listbox scroll position when the combobox is closed. - afterRenderEffect(() => { - if (!this.popupExpanded()) { - setTimeout(() => this.listbox()?.element.scrollTo(0, 0), 150); - } - }); } } diff --git a/adev/src/content/examples/aria/multiselect/src/basic/material/app/app.ts b/adev/src/content/examples/aria/multiselect/src/basic/material/app/app.ts index d90e5c524bc6..d6dd077149fe 100644 --- a/adev/src/content/examples/aria/multiselect/src/basic/material/app/app.ts +++ b/adev/src/content/examples/aria/multiselect/src/basic/material/app/app.ts @@ -48,12 +48,5 @@ export class App { afterRenderEffect(() => { this.listbox()?.scrollActiveItemIntoView(); }); - - // Resets the listbox scroll position when the combobox is closed. - afterRenderEffect(() => { - if (!this.popupExpanded()) { - setTimeout(() => this.listbox()?.element.scrollTo(0, 0), 150); - } - }); } } diff --git a/adev/src/content/examples/aria/multiselect/src/basic/retro/app/app.ts b/adev/src/content/examples/aria/multiselect/src/basic/retro/app/app.ts index 25141cd4af36..c84fbd5f9366 100644 --- a/adev/src/content/examples/aria/multiselect/src/basic/retro/app/app.ts +++ b/adev/src/content/examples/aria/multiselect/src/basic/retro/app/app.ts @@ -48,12 +48,5 @@ export class App { afterRenderEffect(() => { this.listbox()?.scrollActiveItemIntoView(); }); - - // Resets the listbox scroll position when the combobox is closed. - afterRenderEffect(() => { - if (!this.popupExpanded()) { - setTimeout(() => this.listbox()?.element.scrollTo(0, 0), 150); - } - }); } } diff --git a/adev/src/content/examples/aria/multiselect/src/icons/app/app.ts b/adev/src/content/examples/aria/multiselect/src/icons/app/app.ts index 3add718dc52e..9f6748972b9a 100644 --- a/adev/src/content/examples/aria/multiselect/src/icons/app/app.ts +++ b/adev/src/content/examples/aria/multiselect/src/icons/app/app.ts @@ -55,12 +55,5 @@ export class App { afterRenderEffect(() => { this.listbox()?.scrollActiveItemIntoView(); }); - - // Resets the listbox scroll position when the combobox is closed. - afterRenderEffect(() => { - if (!this.popupExpanded()) { - setTimeout(() => this.listbox()?.element.scrollTo(0, 0), 150); - } - }); } } diff --git a/adev/src/content/examples/aria/multiselect/src/icons/material/app/app.ts b/adev/src/content/examples/aria/multiselect/src/icons/material/app/app.ts index 7ed63446a93e..1e04e5a2e78e 100644 --- a/adev/src/content/examples/aria/multiselect/src/icons/material/app/app.ts +++ b/adev/src/content/examples/aria/multiselect/src/icons/material/app/app.ts @@ -55,12 +55,5 @@ export class App { afterRenderEffect(() => { this.listbox()?.scrollActiveItemIntoView(); }); - - // Resets the listbox scroll position when the combobox is closed. - afterRenderEffect(() => { - if (!this.popupExpanded()) { - setTimeout(() => this.listbox()?.element.scrollTo(0, 0), 150); - } - }); } } diff --git a/adev/src/content/examples/aria/multiselect/src/icons/retro/app/app.ts b/adev/src/content/examples/aria/multiselect/src/icons/retro/app/app.ts index b1b8e314f05f..0edf8059cce0 100644 --- a/adev/src/content/examples/aria/multiselect/src/icons/retro/app/app.ts +++ b/adev/src/content/examples/aria/multiselect/src/icons/retro/app/app.ts @@ -55,12 +55,5 @@ export class App { afterRenderEffect(() => { this.listbox()?.scrollActiveItemIntoView(); }); - - // Resets the listbox scroll position when the combobox is closed. - afterRenderEffect(() => { - if (!this.popupExpanded()) { - setTimeout(() => this.listbox()?.element.scrollTo(0, 0), 150); - } - }); } } diff --git a/adev/src/content/examples/aria/multiselect/src/limited/app/app.ts b/adev/src/content/examples/aria/multiselect/src/limited/app/app.ts index 73b9f23952ab..82eea3780e96 100644 --- a/adev/src/content/examples/aria/multiselect/src/limited/app/app.ts +++ b/adev/src/content/examples/aria/multiselect/src/limited/app/app.ts @@ -48,13 +48,6 @@ export class App { afterRenderEffect(() => { this.listbox()?.scrollActiveItemIntoView(); }); - - // Resets the listbox scroll position when the combobox is closed. - afterRenderEffect(() => { - if (!this.popupExpanded()) { - setTimeout(() => this.listbox()?.element.scrollTo(0, 0), 150); - } - }); } isOptionDisabled(value: string) { diff --git a/adev/src/content/examples/aria/multiselect/src/limited/material/app/app.ts b/adev/src/content/examples/aria/multiselect/src/limited/material/app/app.ts index a8ad52db1f1e..10bde014f57b 100644 --- a/adev/src/content/examples/aria/multiselect/src/limited/material/app/app.ts +++ b/adev/src/content/examples/aria/multiselect/src/limited/material/app/app.ts @@ -48,13 +48,6 @@ export class App { afterRenderEffect(() => { this.listbox()?.scrollActiveItemIntoView(); }); - - // Resets the listbox scroll position when the combobox is closed. - afterRenderEffect(() => { - if (!this.popupExpanded()) { - setTimeout(() => this.listbox()?.element.scrollTo(0, 0), 150); - } - }); } isOptionDisabled(value: string) { diff --git a/adev/src/content/examples/aria/multiselect/src/limited/retro/app/app.ts b/adev/src/content/examples/aria/multiselect/src/limited/retro/app/app.ts index d97aa13e85f8..404101c6ec02 100644 --- a/adev/src/content/examples/aria/multiselect/src/limited/retro/app/app.ts +++ b/adev/src/content/examples/aria/multiselect/src/limited/retro/app/app.ts @@ -48,13 +48,6 @@ export class App { afterRenderEffect(() => { this.listbox()?.scrollActiveItemIntoView(); }); - - // Resets the listbox scroll position when the combobox is closed. - afterRenderEffect(() => { - if (!this.popupExpanded()) { - setTimeout(() => this.listbox()?.element.scrollTo(0, 0), 150); - } - }); } isOptionDisabled(value: string) { From 2dfe80fb6e20d7e58c8c7af05194629b9d37bfa1 Mon Sep 17 00:00:00 2001 From: Douglas Parker Date: Fri, 15 May 2026 10:20:11 -0700 Subject: [PATCH 113/317] docs: add WebMCP docs Adds initial documentation of experimental WebMCP APIs. (cherry picked from commit c7e08ebe59340c85bb604d687a9331d458ada374) --- .../app/routing/navigation-entries/index.ts | 6 + adev/src/content/ai/webmcp.md | 259 ++++++++++++++++++ 2 files changed, 265 insertions(+) create mode 100644 adev/src/content/ai/webmcp.md diff --git a/adev/src/app/routing/navigation-entries/index.ts b/adev/src/app/routing/navigation-entries/index.ts index 43adc0290711..a5269e15694d 100644 --- a/adev/src/app/routing/navigation-entries/index.ts +++ b/adev/src/app/routing/navigation-entries/index.ts @@ -949,6 +949,12 @@ export const DOCS_SUB_NAVIGATION_DATA: NavigationItem[] = [ path: 'ai/design-patterns', contentPath: 'ai/design-patterns', }, + { + label: 'WebMCP', + path: 'ai/webmcp', + contentPath: 'ai/webmcp', + status: 'new', + }, ], }, { diff --git a/adev/src/content/ai/webmcp.md b/adev/src/content/ai/webmcp.md new file mode 100644 index 000000000000..b175a4dc8594 --- /dev/null +++ b/adev/src/content/ai/webmcp.md @@ -0,0 +1,259 @@ +# WebMCP + +Web Model Context Protocol (WebMCP) is an [emerging web standard](https://github.com/webmachinelearning/webmcp/) that allows web applications to expose structured tools directly to AI agents running natively in the browser. Tools defined by an application allow AI assistants to interact with it directly, providing additional capabilities to the agent and reducing the need for DOM interactions. + +For example, an application to register a new user might provide a WebMCP tool for a browser's AI agent to create the user directly rather than requiring the agent to go through a complex wizard UI via DOM interactions. + +Angular provides experimental support for WebMCP, allowing you to easily register tools tied to your application's dependency injection lifecycle and automatically turn your Signal Forms into AI-ready tools. + +IMPORTANT: The WebMCP spec is very early in its lifecycle and is undergoing frequent changes. As such, WebMCP support in Angular is currently [**experimental**](reference/releases#experimental). APIs are subject to change even outside of major versions. + +## Provide tools for the application + +Use [`provideExperimentalWebMcpTools`](api/core/provideExperimentalWebMcpTools) in your application config to register tools for the entire lifecycle of the application. Tools provided this way are automatically registered when the application initializes and unregistered when the application is destroyed. + +The `execute` callback is invoked in the injection context of the associated `Injector`, meaning you can [`inject`](api/core/inject) services directly. + +```ts {header:"main.ts"} +import {Service, inject, provideExperimentalWebMcpTools} from '@angular/core'; +import {bootstrapApplication} from '@angular/platform-browser'; +import {AppRoot} from './app-root'; + +@Service() +class Greeter { + sayHello(): string { + return 'Hello agent!'; + } +} + +bootstrapApplication(AppRoot, { + providers: [ + provideExperimentalWebMcpTools([ + { + name: 'greet', + description: 'Greets the agent.', + inputSchema: {type: 'object', properties: {}}, + execute: () => { + const greeter = inject(Greeter); + + return {content: [{type: 'text', text: greeter.sayHello()}]}; + }, + }, + ]), + ], +}); +``` + +### Define tool parameters + +When a tool requires input from the AI assistant, define the expected arguments inside `inputSchema` using [JSON Schema](https://json-schema.org/) syntax. Angular automatically infers the parameter types passed into your `execute` callback based on the schema definition. + +```ts {header:"main.ts"} +import {provideExperimentalWebMcpTools} from '@angular/core'; +import {bootstrapApplication} from '@angular/platform-browser'; +import {AppRoot} from './app-root'; + +bootstrapApplication(AppRoot, { + providers: [ + provideExperimentalWebMcpTools([ + { + name: 'searchCatalog', + description: 'Searches the store catalog for products matching a query.', + inputSchema: { + type: 'object', + properties: { + query: { + type: 'string', + description: 'The search keywords.', + }, + maxResults: { + type: 'number', + description: 'Maximum number of results to return.', + }, + }, + required: ['query'], + additionalProperties: false, + }, + execute: ({query, maxResults}) => { + // Type of `query` is inferred as `string`. + // Type of `maxResults` is inferred as `number | undefined`. + + // Consider validating this at runtime, since inputs may not be validated to match the schema. + if (typeof query !== 'string') throw new Error(`Bad query: ${query}`); + if (typeof maxResults !== 'number' && maxResults !== undefined) + throw new Error(`Bad maxResults: ${maxResults}`); + + const limit = maxResults ?? 5; + return { + content: [{type: 'text', text: `Returning up to ${limit} results for "${query}".`}], + }; + }, + }, + ]), + ], +}); +``` + +TIP: Use `required: ['param1', 'param2', ...]` to remove `undefined` from the types of those parameters and use `additionalProperties: false` to restrict the argument object's type to only these parameters. + +## Provide tools for a route + +When building complex applications, you may only want certain tools available when the user is viewing specific routes. You can achieve this by providing tools directly in route definitions. + +```ts {header:"routes.ts"} +import {provideExperimentalWebMcpTools} from '@angular/core'; +import {Routes} from '@angular/router'; + +export const routes: Routes = [ + { + path: 'dashboard', + loadComponent: () => import('./dashboard').then((m) => m.Dashboard), + providers: [ + provideExperimentalWebMcpTools([ + { + name: 'exportDashboardReports', + description: 'Exports the current dashboard analytics.', + inputSchema: {type: 'object', properties: {}}, + execute: () => ({ + content: [{type: 'text', text: 'Dashboard export successfully triggered.'}], + }), + }, + ]), + ], + }, +]; +``` + +NOTE: When registering tools to a particular route, consider configuring the router to use [`withExperimentalAutoCleanupInjectors`](api/router/withExperimentalAutoCleanupInjectors) to ensure tools are automatically _unregistered_ when the user navigates away from the route. Without this option, WebMCP tools declared on routes will remain accessible to AI agents even after the user has navigated to a different route. + +```ts {header:"app.config.ts"} +import {ApplicationConfig} from '@angular/core'; +import {provideRouter, withExperimentalAutoCleanupInjectors} from '@angular/router'; +import {routes} from './routes'; + +export const appConfig: ApplicationConfig = { + providers: [provideRouter(routes, withExperimentalAutoCleanupInjectors())], +}; +``` + +## Provide tools within services + +For dynamic use cases, the [`declareExperimentalWebMcpTool`](api/core/declareExperimentalWebMcpTool) function registers a tool directly within an injection context and automatically unregisters it when that context is destroyed. + +```ts {header:"counter.ts"} +import {Service, declareExperimentalWebMcpTool, signal, inject} from '@angular/core'; + +@Service() +export class Counter { + readonly count = signal(0); + + constructor() { + declareExperimentalWebMcpTool({ + name: 'getCounter', + description: 'Reads the global counter.', + inputSchema: {type: 'object', properties: {}}, + execute: () => ({ + content: [{type: 'text', text: `The count is: ${this.count()}.`}], + }), + }); + } +} +``` + +While `declareExperimentalWebMcpTool` works in any injection context, watch out for [name collisions](#name-collisions) and prefer using it in root services. + +## Implicit tools in Signal Forms + +You can create a WebMCP tool implicitly from an existing Angular [Signal Form](essentials/signal-forms) with minimal configuration. Angular converts your form models into rich WebMCP tools, effectively supporting highly dynamic forms without requiring you to manually write JSON schemas or event handlers. + +### Enable the WebMCP forms feature + +First, add [`provideExperimentalWebMcpForms`](api/forms/signals/provideExperimentalWebMcpForms) to your root application providers: + +```ts {header:"main.ts"} +import {bootstrapApplication} from '@angular/platform-browser'; +import {provideExperimentalWebMcpForms} from '@angular/forms/signals'; +import {AppRoot} from './app-root'; + +bootstrapApplication(AppRoot, { + providers: [provideExperimentalWebMcpForms()], +}); +``` + +### Opt in a Signal Form + +Second, when defining a Signal Form using [`form`](api/forms/signals/form), pass the `experimentalWebMcpTool` configuration option to opt-in to an implicit WebMCP tool. Angular will inspect your form's data model and automatically generate a JSON schema for connected AI agents. + +```ts {header:"user-registration.ts"} +import {Component, signal} from '@angular/core'; +import {form, required, minLength} from '@angular/forms/signals'; + +@Component({ + selector: 'app-user-registration', + templateUrl: './user-registration.html', +}) +export class UserRegistration { + private readonly model = signal({ + firstName: '', + lastName: '', + age: 0, + hobbies: ['Web Development'], + }); + + readonly userForm = form( + this.model, + (f) => { + required(f.firstName, {message: 'First name is mandatory.'}); + required(f.lastName, {message: 'Last name is mandatory.'}); + }, + { + // Implicitly registers a WebMCP tool named `registerUser` with parameters derived from `model`. + experimentalWebMcpTool: { + name: 'registerUser', + description: 'Registers a new user.', + }, + submission: { + action: async (formValue) => { + console.log('Submitting user:', formValue); + // ... + }, + }, + }, + ); +} +``` + +In this example, Angular generates a WebMCP tool with a JSON schema which: + +1. includes `firstName`, `lastName`, `age`, and `hobbies` as parameters inferred from the initial value of the `model` signal. +2. defines `firstName` and `lastName` as _required_ fields as inferred from the [`required`](api/forms/signals/required) validator. +3. defines `hobbies` as an array of strings, allowing the agent to provide an arbitrary amount of hobbies. + +Beyond inferring the input schema, Angular also connects the WebMCP tool to the form's validation logic and submission handler. This means the agent will observe any validation errors triggered by its inputs or any failures which happen during submission, allowing it to self-correct and potentially retry. + +NOTE: Async validators are _not_ triggered and should be handled by the submission action. + +#### Constraints + +Angular infers the WebMCP schema from the initial value of your form model. This requires: + +- Concrete initial values (`''`, `0`, `false`): Angular cannot infer data types from `null` or `undefined`. +- Non-empty arrays (`['Hello!']`): Angular cannot infer data types from an empty array and requires at least one initial value. + +## Best practices + +Keep the following best practices in mind: + +### Name collisions + +WebMCP requires each tool to have a unique name and will throw an error if the same tool name is registered multiple times. This means calling `declareExperimentalWebMcpTool` or `provideExperimentalWebMcpTools` in a context where they might be registered multiple times (such as a component constructor) may lead to errors at runtime. + +Prefer placing tools on application providers, route providers, or root services where possible. When putting tools on a component, including [implicit tools in Signal Forms](#implicit-tools-in-signal-forms), ensure that component is only ever rendered on the page at most _once_ at any given time. + +### Validate tool inputs + +Angular does not provide any implicit validation that the inputs provided by an agent actually match the defined JSON schema. Consider explicitly validating arguments to the `execute` function before using them to ensure reliability. + +### Testing + +Consider using a mock WebMCP implementation like [`@mcp-b/webmcp-polyfill`](https://www.npmjs.com/package/@mcp-b/webmcp-polyfill) to effectively unit test your tools. From 16cf84d95309f6b8ddc300236c50fab025f0108d Mon Sep 17 00:00:00 2001 From: arturovt Date: Wed, 20 May 2026 23:58:46 +0300 Subject: [PATCH 114/317] docs: document FormBuilder.group() controlsConfig value shapes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The `@param` JSDoc for `FormBuilder.group()` previously described the argument only as “a collection of child controls”, without explaining the four supported value shapes: * a raw value * a `FormControlState` * a `ControlConfig` tuple * a pre-built `AbstractControl` The fact that the second element of a `ControlConfig` tuple can accept `AbstractControlOptions` (for example to configure per-control `updateOn`) was especially non-obvious and undocumented. This change adds a `@usageNotes` section with concrete examples covering each supported shape. Closes #43984 (cherry picked from commit 3b8503f960f1881ad246371ffd80e4bacc84025c) --- packages/forms/src/form_builder.ts | 38 +++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/packages/forms/src/form_builder.ts b/packages/forms/src/form_builder.ts index a7c003aae39b..1c9fcb3c1196 100644 --- a/packages/forms/src/form_builder.ts +++ b/packages/forms/src/form_builder.ts @@ -194,7 +194,15 @@ export class FormBuilder { * containing all the keys and corresponding inner control types. * * @param controls A collection of child controls. The key for each child is the name - * under which it is registered. + * under which it is registered. Each value can be one of: + * * An `AbstractControl` instance — passed through as-is. + * * A raw value — shorthand for `fb.control(value)`. + * * A `FormControlState` object (`{value, disabled}`) — initializes the control with a value + * and disabled status. + * * A `ControlConfig` tuple — `[value | FormControlState, validatorOrOpts?, asyncValidator?]`. + * The second element accepts a `ValidatorFn`, an array of `ValidatorFn`, or an + * `AbstractControlOptions` object (use this to set `updateOn`). The optional third element + * accepts an `AsyncValidatorFn` or an array of `AsyncValidatorFn`. * * @param options Configuration options object for the `FormGroup`. The object should have the * `AbstractControlOptions` type and might contain the following fields: @@ -202,6 +210,34 @@ export class FormBuilder { * * `asyncValidators`: A single async validator or array of async validator functions. * * `updateOn`: The event upon which the control should be updated (options: 'change' | 'blur' * | submit'). + * + * @usageNotes + * + * ### Different ways to specify a control value + * + * ```ts + * const fb = new FormBuilder(); + * + * fb.group({ + * // Raw value — equivalent to fb.control('Ada') + * name: 'Ada', + * + * // FormControlState — sets initial value and disabled status + * city: {value: 'London', disabled: true}, + * + * // ControlConfig tuple — value with a sync validator + * email: ['ada@example.com', Validators.email], + * + * // ControlConfig tuple — value, sync validator, and async validator + * username: ['ada', Validators.required, checkUsernameAvailable], + * + * // ControlConfig tuple — disabled value with updateOn option + * role: [{value: 'admin', disabled: true}, {updateOn: 'blur'}], + * + * // Pre-built control — passed through unchanged + * address: new FormControl('', Validators.required), + * }); + * ``` */ group( controls: T, From 9966a809e1e92d845b037037469af05f4294590d Mon Sep 17 00:00:00 2001 From: Kam Date: Sat, 16 May 2026 22:26:59 +0300 Subject: [PATCH 115/317] docs: link to ng new reference from installation guide The installation guide walks a developer through `ng new ` but provides no link to the `ng new` CLI reference, leaving every option the command supports undiscoverable from the install flow. Link `ng new` in the prose to the reference page so options are one click away. (cherry picked from commit 04f31cce3e9ba2e0793f3a2579adb16c4be1a062) --- adev/src/content/introduction/installation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adev/src/content/introduction/installation.md b/adev/src/content/introduction/installation.md index a6538b3e2c4c..b8051f51209a 100644 --- a/adev/src/content/introduction/installation.md +++ b/adev/src/content/introduction/installation.md @@ -62,7 +62,7 @@ If you are having issues running this command in Windows or Unix, check out the #### Create a new project -In your terminal, run the CLI command `ng new` with the desired project name. In the following examples, we'll be using the example project name of `my-first-angular-app`. +In your terminal, run the CLI command [`ng new`](cli/new) with the desired project name. In the following examples, we'll be using the example project name of `my-first-angular-app`. ```shell ng new From d8a848b4a75f61afd407117045378e53c0b20763 Mon Sep 17 00:00:00 2001 From: leonsenft Date: Wed, 20 May 2026 15:39:06 -0700 Subject: [PATCH 116/317] release: cut the v22.0.0-rc.1 release --- CHANGELOG.md | 35 +++++++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 53271bf06fbb..92f1b00b11f2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,38 @@ + +# 22.0.0-rc.1 (2026-05-20) +## Breaking Changes +### router +- The return type for `TitleStrategy.getResolvedTitleForRoute` + was previously 'any' while the actual return type could only be either `string` + or `undefined`. The return type now reflects the possible values correctly. + Code that reads the value may need to be adjusted. + + (cherry picked from commit ad37f52c1212164c51ffcc533067af05c2c33c89) +### compiler +| Commit | Type | Description | +| -- | -- | -- | +| [b2b8dea732](https://github.com/angular/angular/commit/b2b8dea7325c8d0d6788bbee6100d406f6ebe355) | fix | strip namespaced SVG script elements during template compilation | +### core +| Commit | Type | Description | +| -- | -- | -- | +| [38aca8fe79](https://github.com/angular/angular/commit/38aca8fe79f47a7ad94f7c0b21f44d828e28547e) | fix | do not insert todo when migrating void @Output | +| [1e0330d854](https://github.com/angular/angular/commit/1e0330d854b2c2d3fdb2977883cd168f9cb0a4c8) | fix | makes resource URL sanitizer lookup case-insensitive | +| [3f6abfb167](https://github.com/angular/angular/commit/3f6abfb16791c2bfb811f355676bb768b574906a) | fix | reject script element as a dynamic component host | +| [88d138ccc8](https://github.com/angular/angular/commit/88d138ccc84b839784f59575fddcda3fcaf18d35) | fix | support prefix-insensitive DOM schema lookups and compile-time i18n attribute validation | +| [bfe6f6c2a5](https://github.com/angular/angular/commit/bfe6f6c2a5570cd669afa3dd8b1cd9e2d91e393a) | fix | synchronize core sanitization schema with compiler | +| [1f71ebd788](https://github.com/angular/angular/commit/1f71ebd788af52be8d9c2ff645719390773aa107) | fix | visit ICU expressions in signal migration schematics | +### forms +| Commit | Type | Description | +| -- | -- | -- | +| [07a9358157](https://github.com/angular/angular/commit/07a935815782eb58a2109bcaacde33896e8d5d76) | perf | avoid spurious recomputation in FormField.parseErrors | +### router +| Commit | Type | Description | +| -- | -- | -- | +| [3e7117d690](https://github.com/angular/angular/commit/3e7117d690386b079c18b435545dab96fc183305) | fix | Add strict typing on 'getResolvedTitleForRoute' | +| [3e5ab7b470](https://github.com/angular/angular/commit/3e5ab7b470b06b63410649700b6a999e381cbb85) | fix | skip scroll-to-top on initial navigation when hydrating | + + + # 22.0.0-rc.0 (2026-05-13) ### compiler diff --git a/package.json b/package.json index 27dec4c750a2..4bc28f957e58 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "angular-srcs", - "version": "22.0.0-rc.0", + "version": "22.0.0-rc.1", "private": true, "description": "Angular - a web framework for modern web apps", "homepage": "https://github.com/angular/angular", From 3b4ef1e2ffa7f33583b9d6c5d927e2148a507921 Mon Sep 17 00:00:00 2001 From: arturovt Date: Wed, 20 May 2026 21:40:46 +0300 Subject: [PATCH 117/317] perf(forms): avoid redundant invalidations in parser errors signal MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The `errors` linkedSignal in `createParser` had no equality check, so every reset or recomputation — even to an identical empty array — would mark downstream dependents as dirty and trigger unnecessary re-renders. Add `shallowArrayEquals` as the equality function so the signal only notifies dependents when the error list actually changes. (cherry picked from commit 1563aae118944d47d22e38b6e25fefd30861760a) --- packages/forms/signals/src/util/parser.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/forms/signals/src/util/parser.ts b/packages/forms/signals/src/util/parser.ts index b7120d36b69b..bd254f03772d 100644 --- a/packages/forms/signals/src/util/parser.ts +++ b/packages/forms/signals/src/util/parser.ts @@ -10,6 +10,7 @@ import {type Signal, linkedSignal} from '@angular/core'; import type {ValidationError} from '../api/rules'; import {normalizeErrors} from '../api/rules/validation/util'; import type {ParseResult} from '../api/transformed_value'; +import {shallowArrayEquals} from './array'; /** * An object that handles parsing raw UI values into model values. @@ -45,6 +46,7 @@ export function createParser( const errors = linkedSignal({ source: getValue, computation: () => [] as readonly ValidationError.WithoutFieldTree[], + equal: shallowArrayEquals, }); const setRawValue = (rawValue: TRaw) => { From 46ee6f7b1fc1811b4f7c790c43446d17046e76fd Mon Sep 17 00:00:00 2001 From: Andrew Scott Date: Wed, 20 May 2026 12:09:31 -0700 Subject: [PATCH 118/317] fix(vscode-extension): prompt for confirmation before loading workspace tsdk Harden the typescript.tsdk and js/ts.tsdk.path settings loading in the VS Code extension client. This change hardens tsdk loading by: 1. Ignoring workspace-level tsdk paths in untrusted workspaces. 2. Prompting the user for explicit confirmation before loading a workspace-level tsdk path in trusted workspaces, and saving the approval state in a secure, local workspaceState. (cherry picked from commit 4f4820f41037c59bde36ee5787168b2a20575d97) --- .../client/src/client.ts | 58 ++++++++++++++++++- 1 file changed, 57 insertions(+), 1 deletion(-) diff --git a/vscode-ng-language-service/client/src/client.ts b/vscode-ng-language-service/client/src/client.ts index a34c604a0e00..a784d148e77d 100644 --- a/vscode-ng-language-service/client/src/client.ts +++ b/vscode-ng-language-service/client/src/client.ts @@ -510,7 +510,7 @@ export class AngularLanguageClient implements vscode.Disposable { // dynamically via workspace/configuration request by the server. // This allows users to change these settings without restarting. - const tsdk = config.get('js/ts.tsdk.path', config.get('typescript.tsdk', '')); + const tsdk = await this.getTsdkPath(); if (tsdk.trim().length > 0) { args.push('--tsdk', tsdk); } @@ -627,6 +627,62 @@ export class AngularLanguageClient implements vscode.Disposable { } } + private async getTsdkPath(): Promise { + const config = vscode.workspace.getConfiguration(); + const tsdkInspect = + config.inspect('js/ts.tsdk.path') ?? config.inspect('typescript.tsdk'); + + if (!tsdkInspect) { + return ''; + } + + // 1. Check workspace/folder settings first (highest priority) + // ONLY check or load workspace-level settings if the workspace is trusted + if (vscode.workspace.isTrusted) { + const workspaceTsdk = ( + tsdkInspect.workspaceValue ?? tsdkInspect.workspaceFolderValue + )?.trim(); + if (workspaceTsdk) { + const stateKey = `approvedTsdk:${workspaceTsdk}`; + const isApproved = this.context.workspaceState.get(stateKey); + + if (isApproved) { + return workspaceTsdk; + } + + if (isApproved === undefined) { + // Prompt the user asynchronously, without blocking current server initialization + this.promptForTsdkApproval(workspaceTsdk, stateKey); + } + + // Fall back to globalValue (or bundled) while waiting for approval or if rejected + } + } + + return tsdkInspect.globalValue?.trim() ?? ''; + } + + private async promptForTsdkApproval(workspaceTsdk: string, stateKey: string): Promise { + const allowOption = 'Allow'; + const disallowOption = 'Disallow'; + + const choice = await vscode.window.showWarningMessage( + `This workspace configures a custom TypeScript compiler path (${workspaceTsdk}) via 'js/ts.tsdk.path' or 'typescript.tsdk'. ` + + `Do you want to allow the Angular Language Service to load the TypeScript compiler from this path?`, + allowOption, + disallowOption, + ); + + if (choice === allowOption) { + await this.context.workspaceState.update(stateKey, true); + // Restart the language server so it launches with the newly authorized compiler path + await vscode.commands.executeCommand('angular.restartNgServer'); + } else { + // Remember rejection to avoid repeatedly prompting on startup/activation + await this.context.workspaceState.update(stateKey, false); + } + } + dispose() { this.disposeSessionDisposables(); for (let d = this.disposables.pop(); d !== undefined; d = this.disposables.pop()) { From e75e13105bfdec1f283ed2a67958fad3b2b1edc2 Mon Sep 17 00:00:00 2001 From: Andrew Scott Date: Wed, 20 May 2026 11:50:28 -0700 Subject: [PATCH 119/317] fix(vscode-extension): restrict jsdoc markdown trust and harden document opening Restrict JSDoc hover links to the custom openJSDocLink command and implement document opening using safe workspace APIs. (cherry picked from commit 3403e79f9f6c03ef42b2147fad545be33e2494e5) --- vscode-ng-language-service/client/src/client.ts | 5 ++++- vscode-ng-language-service/client/src/commands.ts | 9 ++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/vscode-ng-language-service/client/src/client.ts b/vscode-ng-language-service/client/src/client.ts index a784d148e77d..c46ef535e82e 100644 --- a/vscode-ng-language-service/client/src/client.ts +++ b/vscode-ng-language-service/client/src/client.ts @@ -31,6 +31,7 @@ import { isNotTypescriptOrSupportedDecoratorField, isNotTypescriptOrSupportedDecoratorRange, } from './embedded_support'; +import {OpenJsDocLinkCommandId} from '../../common/initialize'; interface GetTcbResponse { uri: vscode.Uri; @@ -96,7 +97,9 @@ export class AngularLanguageClient implements vscode.Disposable { revealOutputChannelOn: lsp.RevealOutputChannelOn.Never, outputChannel: this.outputChannel, markdown: { - isTrusted: true, + isTrusted: { + enabledCommands: [OpenJsDocLinkCommandId], + }, }, middleware: { provideCodeActions: async ( diff --git a/vscode-ng-language-service/client/src/commands.ts b/vscode-ng-language-service/client/src/commands.ts index 91bc9321dfce..aa3f71c27cfd 100644 --- a/vscode-ng-language-service/client/src/commands.ts +++ b/vscode-ng-language-service/client/src/commands.ts @@ -189,9 +189,12 @@ function openJsDocLinkCommand(): Command { id: OpenJsDocLinkCommandId, isTextEditorCommand: false, async execute(args) { - return await vscode.commands.executeCommand('vscode.open', vscode.Uri.parse(args.file), < - vscode.TextDocumentShowOptions - >{ + if (!args?.file) { + return; + } + const uri = vscode.Uri.parse(args.file); + const document = await vscode.workspace.openTextDocument(uri); + return await vscode.window.showTextDocument(document, { selection: new vscode.Range( new vscode.Position(args.position?.start.line ?? 0, args.position?.start.character ?? 0), new vscode.Position(args.position?.end.line ?? 0, args.position?.end.character ?? 0), From c08f22a73666fd902be1fccbcde5362b9ea4749d Mon Sep 17 00:00:00 2001 From: Andrew Scott Date: Thu, 21 May 2026 10:51:02 -0700 Subject: [PATCH 120/317] refactor(vscode-extension): Remove effectively dead code Since bundled path is at the start of probe locations, it's always going to be found first. Workspace versions will never be used. getProbeLocations is effectively dead and confusing code. (cherry picked from commit d8c871ef804d36ac0e43b1d9feca6c1ee9eeaf3a) --- .../client/src/client.ts | 24 ++----------------- 1 file changed, 2 insertions(+), 22 deletions(-) diff --git a/vscode-ng-language-service/client/src/client.ts b/vscode-ng-language-service/client/src/client.ts index c46ef535e82e..bf526bd43e4a 100644 --- a/vscode-ng-language-service/client/src/client.ts +++ b/vscode-ng-language-service/client/src/client.ts @@ -439,8 +439,7 @@ export class AngularLanguageClient implements vscode.Disposable { args.push('--logVerbosity', ngLog); } - const ngProbeLocations = getProbeLocations(this.context.extensionPath); - args.push('--ngProbeLocations', ngProbeLocations.join(',')); + args.push('--ngProbeLocations', this.context.extensionPath); const includeAutomaticOptionalChainCompletions = config.get( 'angular.suggest.includeAutomaticOptionalChainCompletions', @@ -517,8 +516,7 @@ export class AngularLanguageClient implements vscode.Disposable { if (tsdk.trim().length > 0) { args.push('--tsdk', tsdk); } - const tsProbeLocations = [...getProbeLocations(this.context.extensionPath)]; - args.push('--tsProbeLocations', tsProbeLocations.join(',')); + args.push('--tsProbeLocations', this.context.extensionPath); const supportClientSide = config.get('angular.server.useClientSideFileWatcher'); @@ -762,24 +760,6 @@ function registerNotificationHandlers( return vscode.Disposable.from(...disposables); } -/** - * Return the paths for the module that corresponds to the specified `configValue`, - * and use the specified `bundled` as fallback if none is provided. - * @param configName - * @param bundled - */ -function getProbeLocations(bundled: string): string[] { - const locations = []; - // Prioritize the bundled version - locations.push(bundled); - // Look in workspaces currently open - const workspaceFolders = vscode.workspace.workspaceFolders || []; - for (const folder of workspaceFolders) { - locations.push(folder.uri.fsPath); - } - return locations; -} - function extensionVersionCompatibleWithAllProjects(serverModuleLocation: string): boolean { const languageServiceVersion = resolve( '@angular/language-service', From b25964b7d42c320f76436d4e15ccf2b86ece52f2 Mon Sep 17 00:00:00 2001 From: Andrew Scott Date: Fri, 22 May 2026 10:22:50 -0700 Subject: [PATCH 121/317] fix(vscode-extension): disable language server in untrusted workspaces Restrict untrusted workspace support to limited mode. Skip launching the language client and registering commands in restricted mode, and only start them once workspace trust has been explicitly granted. (cherry picked from commit df68a96b26c1007d6ce5d2cd58fe475c52a99fb8) --- .../client/src/extension.ts | 47 ++++++++++++------- vscode-ng-language-service/package.json | 3 +- 2 files changed, 32 insertions(+), 18 deletions(-) diff --git a/vscode-ng-language-service/client/src/extension.ts b/vscode-ng-language-service/client/src/extension.ts index db2e28033aea..357b4a177dfb 100644 --- a/vscode-ng-language-service/client/src/extension.ts +++ b/vscode-ng-language-service/client/src/extension.ts @@ -14,22 +14,35 @@ import {shouldRestartOnConfigurationChange} from './config_change'; export function activate(context: vscode.ExtensionContext) { const client = new AngularLanguageClient(context); + context.subscriptions.push(client); - // Push the disposable to the context's subscriptions so that the - // client can be deactivated on extension deactivation - registerCommands(client, context); - - // Restart the server on configuration changes that affect startup/session state. - const disposable = vscode.workspace.onDidChangeConfiguration( - async (e: vscode.ConfigurationChangeEvent) => { - if (!shouldRestartOnConfigurationChange(e)) { - return; - } - await client.stop(); - await client.start(); - }, - ); - context.subscriptions.push(client, disposable); - - client.start(); + const startServer = async () => { + registerCommands(client, context); + + // Restart the server on configuration changes that affect startup/session state. + const disposable = vscode.workspace.onDidChangeConfiguration( + async (e: vscode.ConfigurationChangeEvent) => { + if (!shouldRestartOnConfigurationChange(e)) { + return; + } + await client.stop(); + await client.start(); + }, + ); + context.subscriptions.push(disposable); + + await client.start(); + }; + + // If the workspace is untrusted, operate in limited mode: + // Do NOT start the language server or register commands. + if (!vscode.workspace.isTrusted) { + const trustDisposable = vscode.workspace.onDidGrantWorkspaceTrust(async () => { + await startServer(); + }); + context.subscriptions.push(trustDisposable); + return; + } + + startServer(); } diff --git a/vscode-ng-language-service/package.json b/vscode-ng-language-service/package.json index a87bd39145b4..dde440481199 100644 --- a/vscode-ng-language-service/package.json +++ b/vscode-ng-language-service/package.json @@ -16,7 +16,8 @@ }, "capabilities": { "untrustedWorkspaces": { - "supported": true + "supported": "limited", + "description": "Angular language features are disabled in untrusted workspaces to prevent execution of untrusted local code." }, "virtualWorkspaces": { "supported": "limited", From 2200b4a85481abde02e40eb8f6d67227f6ac21e9 Mon Sep 17 00:00:00 2001 From: Alex Rickabaugh Date: Fri, 22 May 2026 14:00:18 -0700 Subject: [PATCH 122/317] refactor(compiler): add support for compiling NgModules under isolatedDeclarations This commit adds support for compiling NgModules in isolated declarations mode. (cherry picked from commit 06b004ec5c43008a6533273a2cd9c91c39fef4fd) --- .../annotations/ng_module/src/handler.ts | 265 +++++++++++++++++- .../src/ngtsc/metadata/BUILD.bazel | 1 + .../src/ngtsc/metadata/src/dts.ts | 93 ++++-- .../src/ngtsc/partial_evaluator/index.ts | 2 +- .../ngtsc/partial_evaluator/src/interface.ts | 30 +- .../partial_evaluator/src/interpreter.ts | 86 +++++- .../ngtsc/translator/src/type_translator.ts | 77 ++++- .../declaration_only_emit_spec.ts | 36 ++- .../mixed_model_types_isolated.golden.d.ts | 15 + ..._component_definition_isolated.golden.d.ts | 8 + ..._directive_definition_isolated.golden.d.ts | 8 + .../mixed_variants_isolated.golden.d.ts | 15 + .../output_in_component_isolated.golden.d.ts | 11 + .../output_in_directive_isolated.golden.d.ts | 11 + .../custom_isolated.golden.d.ts | 4 + .../parameter_decorators_isolated.golden.d.ts | 40 +++ .../property_decorators_isolated.golden.d.ts | 11 + ...iterals_null_vs_empty_isolated.golden.d.ts | 11 + ...nstant_array_literals_isolated.golden.d.ts | 17 ++ ...stant_object_literals_isolated.golden.d.ts | 17 ++ .../multiple_wildcards_isolated.golden.d.ts | 2 + .../nested_template_isolated.golden.d.ts | 2 + .../ng_content_fallback_isolated.golden.d.ts | 9 + ...t_with_structural_dir_isolated.golden.d.ts | 6 + ..._project_as_attribute_isolated.golden.d.ts | 7 + ..._as_compound_selector_isolated.golden.d.ts | 15 + ...g_project_as_selector_isolated.golden.d.ts | 15 + ...project_as_ng_content_isolated.golden.d.ts | 2 + .../root_and_nested_isolated.golden.d.ts | 2 + .../root_template_isolated.golden.d.ts | 19 ++ .../debug_info_isolated.golden.d.ts | 10 + .../export_as_isolated.golden.d.ts | 11 + ..._referenced_directive_isolated.golden.d.ts | 11 + ...rward_referenced_pipe_isolated.golden.d.ts | 11 + .../library_exports_isolated.golden.d.ts | 12 + .../lifecycle_hooks_isolated.golden.d.ts | 26 ++ ...and_context_variables_isolated.golden.d.ts | 11 + .../local_reference_isolated.golden.d.ts | 11 + ...ocal_reference_nested_isolated.golden.d.ts | 17 ++ ..._component_definition_isolated.golden.d.ts | 2 + ...emplate_empty_binding_isolated.golden.d.ts | 11 + .../no_selector_isolated.golden.d.ts | 6 + .../non_literal_template_isolated.golden.d.ts | 6 + ...te_with_concatenation_isolated.golden.d.ts | 6 + ...ate_with_substitution_isolated.golden.d.ts | 6 + ...iterals_null_vs_empty_isolated.golden.d.ts | 11 + ...rals_null_vs_function_isolated.golden.d.ts | 12 + .../pipes/nameless_pipe_isolated.golden.d.ts | 8 + ...i_change_detector_ref_isolated.golden.d.ts | 25 ++ .../pipe_invocation_isolated.golden.d.ts | 19 ++ .../pipes/pipes_isolated.golden.d.ts | 25 ++ ...t_query_for_directive_isolated.golden.d.ts | 19 ++ ...t_query_for_local_ref_isolated.golden.d.ts | 14 + ...ent_query_forward_ref_isolated.golden.d.ts | 22 ++ ...tent_query_read_token_isolated.golden.d.ts | 16 ++ ...distinct_changes_only_isolated.golden.d.ts | 16 ++ .../some.directive_isolated.golden.d.ts | 6 + .../static_content_query_isolated.golden.d.ts | 19 ++ .../static_view_query_isolated.golden.d.ts | 15 + ...w_query_for_directive_isolated.golden.d.ts | 15 + ...w_query_for_local_ref_isolated.golden.d.ts | 14 + ...iew_query_forward_ref_isolated.golden.d.ts | 22 ++ ...view_query_read_token_isolated.golden.d.ts | 16 ++ .../signals/component_isolated.golden.d.ts | 10 + .../signals/directive_isolated.golden.d.ts | 6 + .../standalone/component_isolated.golden.d.ts | 10 + .../standalone/directive_isolated.golden.d.ts | 6 + .../forward_ref_isolated.golden.d.ts | 10 + .../standalone/imports_isolated.golden.d.ts | 44 +++ .../module_optimization_isolated.golden.d.ts | 15 + .../standalone/pipe_isolated.golden.d.ts | 7 + .../standalone/recursive_isolated.golden.d.ts | 6 + .../for_of_isolated.golden.d.ts | 19 ++ ...ariable_and_reference_isolated.golden.d.ts | 14 + ...ent_template_variable_isolated.golden.d.ts | 17 ++ .../svg_embedded_view_isolated.golden.d.ts | 14 + .../array_literal_spread_isolated.golden.d.ts | 9 + .../array_literals_isolated.golden.d.ts | 17 ++ .../array_literals_many_isolated.golden.d.ts | 25 ++ .../call_rest_isolated.golden.d.ts | 10 + .../complex_selectors_isolated.golden.d.ts | 15 + .../directives_isolated.golden.d.ts | 19 ++ .../dollar_escape_isolated.golden.d.ts | 7 + .../id_selector_isolated.golden.d.ts | 11 + ...ral_nested_expression_isolated.golden.d.ts | 20 ++ .../no_selector_isolated.golden.d.ts | 15 + .../number_separator_isolated.golden.d.ts | 12 + ...object_literal_spread_isolated.golden.d.ts | 9 + .../object_literals_isolated.golden.d.ts | 19 ++ ...sion_with_global_flag_isolated.golden.d.ts | 7 + ...n_without_global_flag_isolated.golden.d.ts | 7 + ...structural_directives_isolated.golden.d.ts | 18 ++ ...ged_template_literals_isolated.golden.d.ts | 14 + .../template_literals_isolated.golden.d.ts | 13 + .../view_tokens_di_isolated.golden.d.ts | 16 ++ .../class_style_bindings_isolated.golden.d.ts | 13 + ...eduplicate_attributes_isolated.golden.d.ts | 11 + .../elements/dom_isolated.golden.d.ts | 11 + .../empty_ng-container_isolated.golden.d.ts | 11 + ...inding_pure_functions_isolated.golden.d.ts | 16 ++ .../iframe_attrs_isolated.golden.d.ts | 7 + .../elements/mathml_isolated.golden.d.ts | 19 ++ .../namespace_attr_isolated.golden.d.ts | 7 + .../elements/namespace_isolated.golden.d.ts | 11 + .../ng-container_isolated.golden.d.ts | 11 + .../elements/properties_isolated.golden.d.ts | 12 + ...operty_pure_functions_isolated.golden.d.ts | 30 ++ ...e_constant_attributes_isolated.golden.d.ts | 11 + .../svg_embedded_view_isolated.golden.d.ts | 12 + .../elements/svg_isolated.golden.d.ts | 11 + .../ng_modules/TEST_CASES.json | 2 +- .../basic_full_isolated.golden.d.ts | 7 + .../basic_linked_isolated.golden.d.ts | 7 + .../declarations_isolated.golden.d.ts | 22 ++ ...declarations_jit_mode_isolated.golden.d.ts | 22 ++ .../empty_fields_isolated.golden.d.ts | 7 + .../imports_exports_isolated.golden.d.ts | 33 +++ ...orts_exports_jit_mode_isolated.golden.d.ts | 33 +++ .../inheritance_isolated.golden.d.ts | 18 ++ .../ng_modules/no_aot_isolated.golden.d.ts | 3 + .../ng_modules/providers_isolated.golden.d.ts | 21 ++ .../variable_providers_isolated.golden.d.ts | 7 + ...te_enter_with_binding_isolated.golden.d.ts | 7 + ...h_event_host_bindings_isolated.golden.d.ts | 12 + ...r_with_event_listener_isolated.golden.d.ts | 8 + ..._string_host_bindings_isolated.golden.d.ts | 10 + ...ate_enter_with_string_isolated.golden.d.ts | 6 + ..._structural_directive_isolated.golden.d.ts | 10 + ...te_leave_with_binding_isolated.golden.d.ts | 7 + ...h_event_host_bindings_isolated.golden.d.ts | 12 + ...e_with_event_listener_isolated.golden.d.ts | 8 + ..._string_host_bindings_isolated.golden.d.ts | 10 + ...ate_leave_with_string_isolated.golden.d.ts | 6 + ...x_with_event_listener_isolated.golden.d.ts | 7 + .../any/basic_any_cast_isolated.golden.d.ts | 2 + .../any/this_any_access_isolated.golden.d.ts | 2 + .../hello_world/test_isolated.golden.d.ts | 11 + .../interpolations/test_isolated.golden.d.ts | 12 + ...e_animation_listeners_isolated.golden.d.ts | 11 + ...c_animation_attribute_isolated.golden.d.ts | 13 + ...llish_coalescing_host_isolated.golden.d.ts | 15 + ...lescing_interpolation_isolated.golden.d.ts | 14 + ...ish_coalescing_parens_isolated.golden.d.ts | 9 + ...h_coalescing_property_isolated.golden.d.ts | 14 + .../operators_isolated.golden.d.ts | 19 ++ .../safe_access_deep_isolated.golden.d.ts | 12 + .../safe_access_non_null_isolated.golden.d.ts | 13 + ...fe_access_temporaries_isolated.golden.d.ts | 18 ++ .../safe_call_isolated.golden.d.ts | 16 ++ .../safe_keyed_read_isolated.golden.d.ts | 16 ++ .../safe_method_call_isolated.golden.d.ts | 14 + .../todo_example_isolated.golden.d.ts | 18 ++ ..._function_defined_let_isolated.golden.d.ts | 7 + ...function_dollar_event_isolated.golden.d.ts | 8 + ...function_host_binding_isolated.golden.d.ts | 7 + ...unction_host_listener_isolated.golden.d.ts | 8 + ...ion_inside_pure_value_isolated.golden.d.ts | 7 + ...w_function_let_nested_isolated.golden.d.ts | 6 + ...nction_loop_variables_isolated.golden.d.ts | 10 + ...tion_nested_listeners_isolated.golden.d.ts | 8 + ...w_function_no_context_isolated.golden.d.ts | 8 + .../arrow_function_pipe_isolated.golden.d.ts | 13 + ...on_pure_return_values_isolated.golden.d.ts | 7 + ...nction_nested_context_isolated.golden.d.ts | 7 + ...w_function_no_context_isolated.golden.d.ts | 6 + ...ion_top_level_context_isolated.golden.d.ts | 7 + ..._function_safe_access_isolated.golden.d.ts | 13 + ...e_access_nested_views_isolated.golden.d.ts | 13 + ..._function_this_access_isolated.golden.d.ts | 8 + ...ion_top_level_context_isolated.golden.d.ts | 7 + ...s_with_interpolations_isolated.golden.d.ts | 6 + ...for_multiple_elements_isolated.golden.d.ts | 17 ++ ...ain_multiple_bindings_isolated.golden.d.ts | 8 + ...ltiple_bindings_mixed_isolated.golden.d.ts | 6 + ...s_with_child_elements_isolated.golden.d.ts | 8 + ..._single_interpolation_isolated.golden.d.ts | 8 + .../duplicate_bindings_isolated.golden.d.ts | 8 + ..._bindings_from_consts_isolated.golden.d.ts | 13 + ...terpolated_attributes_isolated.golden.d.ts | 21 ++ .../control_bindings_isolated.golden.d.ts | 12 + .../radio_bindings_isolated.golden.d.ts | 12 + .../aria_bindings_isolated.golden.d.ts | 9 + ...ttribute_bindings_all_isolated.golden.d.ts | 8 + ...ribute_bindings_mixed_isolated.golden.d.ts | 6 + ...le_attribute_bindings_isolated.golden.d.ts | 8 + ...in_multiple_listeners_isolated.golden.d.ts | 9 + ...ple_property_bindings_isolated.golden.d.ts | 8 + ...property_bindings_all_isolated.golden.d.ts | 8 + ...operty_bindings_mixed_isolated.golden.d.ts | 6 + ...n_synthetic_listeners_isolated.golden.d.ts | 8 + ...hetic_listeners_mixed_isolated.golden.d.ts | 11 + ..._synthetic_properties_isolated.golden.d.ts | 8 + .../deceptive_attrs_isolated.golden.d.ts | 10 + ...st_attribute_bindings_isolated.golden.d.ts | 12 + .../host_attributes_isolated.golden.d.ts | 11 + ...th_classes_and_styles_isolated.golden.d.ts | 15 + .../host_bindings_isolated.golden.d.ts | 12 + ...dings_primitive_names_isolated.golden.d.ts | 14 + ...bindings_quoted_names_isolated.golden.d.ts | 14 + ...s_with_pure_functions_isolated.golden.d.ts | 12 + ...ings_with_temporaries_isolated.golden.d.ts | 14 + ...ings_with_temporaries_isolated.golden.d.ts | 7 + .../host_dollar_any_isolated.golden.d.ts | 6 + .../host_listeners_isolated.golden.d.ts | 7 + ...ings_with_temporaries_isolated.golden.d.ts | 7 + ...th_ts_expression_node_isolated.golden.d.ts | 8 + .../sanitization_isolated.golden.d.ts | 24 ++ ...e_constant_attributes_isolated.golden.d.ts | 10 + ...sitive_style_bindings_isolated.golden.d.ts | 10 + .../local_ref_on_host_isolated.golden.d.ts | 12 + .../local_ref_on_nested_isolated.golden.d.ts | 12 + .../no_child_elements_isolated.golden.d.ts | 12 + ...indings_and_listeners_isolated.golden.d.ts | 12 + .../order_bindings_isolated.golden.d.ts | 11 + .../aria_dom_properties_isolated.golden.d.ts | 9 + .../aria_properties_isolated.golden.d.ts | 9 + .../bind_isolated.golden.d.ts | 12 + ...s_with_interpolations_isolated.golden.d.ts | 16 ++ ...for_multiple_elements_isolated.golden.d.ts | 24 ++ ...ain_multiple_bindings_isolated.golden.d.ts | 8 + ...ltiple_bindings_mixed_isolated.golden.d.ts | 16 ++ ...s_with_child_elements_isolated.golden.d.ts | 18 ++ ...n_ngtemplate_bindings_isolated.golden.d.ts | 8 + ...in_synthetic_bindings_isolated.golden.d.ts | 8 + ...terpolated_properties_isolated.golden.d.ts | 21 ++ .../interpolation_isolated.golden.d.ts | 12 + ...wo_way_property_order_isolated.golden.d.ts | 17 ++ .../sanitization_isolated.golden.d.ts | 8 + ...emapping_dom_property_isolated.golden.d.ts | 7 + ...ty_remapping_property_isolated.golden.d.ts | 12 + ...steners_on_structural_isolated.golden.d.ts | 8 + .../temporary_variables_isolated.golden.d.ts | 20 ++ .../interpolation_isolated.golden.d.ts | 12 + .../basic_for_isolated.golden.d.ts | 10 + .../basic_if_else_if_isolated.golden.d.ts | 9 + .../basic_if_else_isolated.golden.d.ts | 8 + .../basic_if_isolated.golden.d.ts | 8 + .../basic_switch_isolated.golden.d.ts | 8 + ..._same_component_names_isolated.golden.d.ts | 2 + ...f_multiple_with_alias_isolated.golden.d.ts | 12 + ..._if_nested_with_alias_isolated.golden.d.ts | 8 + .../else_if_with_alias_isolated.golden.d.ts | 9 + ...se_if_with_same_alias_isolated.golden.d.ts | 9 + .../empty_switch_isolated.golden.d.ts | 7 + ...ed_template_variables_isolated.golden.d.ts | 8 + ...nd_original_variables_isolated.golden.d.ts | 8 + .../for_data_slots_isolated.golden.d.ts | 7 + ...ment_root_node_at_end_isolated.golden.d.ts | 12 + ...for_element_root_node_isolated.golden.d.ts | 12 + ...or_impure_track_reuse_isolated.golden.d.ts | 14 + .../for_pure_track_reuse_isolated.golden.d.ts | 12 + ...or_template_root_node_isolated.golden.d.ts | 12 + ...e_track_method_nested_isolated.golden.d.ts | 11 + ...ack_method_only_index_isolated.golden.d.ts | 11 + ...ate_track_method_root_isolated.golden.d.ts | 11 + ...or_template_variables_isolated.golden.d.ts | 8 + ...te_variables_listener_isolated.golden.d.ts | 9 + ...plate_variables_scope_isolated.golden.d.ts | 12 + .../for_track_by_field_isolated.golden.d.ts | 10 + .../for_track_by_index_isolated.golden.d.ts | 10 + ...y_temporary_variables_isolated.golden.d.ts | 10 + .../for_track_literals_isolated.golden.d.ts | 10 + ..._variables_expression_isolated.golden.d.ts | 7 + .../for_with_empty_isolated.golden.d.ts | 10 + .../for_with_pipe_isolated.golden.d.ts | 13 + ...ment_root_node_at_end_isolated.golden.d.ts | 12 + .../if_element_root_node_isolated.golden.d.ts | 12 + .../if_nested_alias_isolated.golden.d.ts | 7 + ...ested_alias_listeners_isolated.golden.d.ts | 8 + ...if_template_root_node_isolated.golden.d.ts | 12 + .../if_with_alias_isolated.golden.d.ts | 8 + .../if_with_pipe_isolated.golden.d.ts | 13 + ...ed_template_variables_isolated.golden.d.ts | 7 + .../nested_for_isolated.golden.d.ts | 11 + ...ed_template_variables_isolated.golden.d.ts | 10 + ...or_template_variables_isolated.golden.d.ts | 11 + ...for_tracking_function_isolated.golden.d.ts | 10 + .../nested_if_isolated.golden.d.ts | 9 + .../nested_switch_isolated.golden.d.ts | 9 + ...ment_root_node_at_end_isolated.golden.d.ts | 12 + ...tch_element_root_node_isolated.golden.d.ts | 12 + ...switch_multiple_cases_isolated.golden.d.ts | 8 + ...ch_template_root_node_isolated.golden.d.ts | 12 + .../switch_with_pipe_isolated.golden.d.ts | 13 + ...witch_without_default_isolated.golden.d.ts | 8 + .../basic_deferred_isolated.golden.d.ts | 7 + .../counter.component_isolated.golden.d.ts | 6 + ...efer_default_deps_ext_isolated.golden.d.ts | 6 + .../defer_default_deps_isolated.golden.d.ts | 10 + .../defer_deps_ext_isolated.golden.d.ts | 6 + .../defer_deps_isolated.golden.d.ts | 10 + .../defer_hydrate_order_isolated.golden.d.ts | 7 + ...rate_single_activator_isolated.golden.d.ts | 6 + ..._nested_hydrate_inner_isolated.golden.d.ts | 6 + .../defer_nested_hydrate_isolated.golden.d.ts | 6 + ...with_hydrate_triggers_isolated.golden.d.ts | 9 + ...viewport_with_options_isolated.golden.d.ts | 7 + ...ed_import_alias_index_isolated.golden.d.ts | 2 + ...deferred_import_alias_isolated.golden.d.ts | 6 + ...n_parent_view_trigger_isolated.golden.d.ts | 7 + ...n_placeholder_trigger_isolated.golden.d.ts | 7 + ...ion_same_view_trigger_isolated.golden.d.ts | 7 + ..._on_idle_with_timeout_isolated.golden.d.ts | 7 + ...viewport_with_options_isolated.golden.d.ts | 7 + ...viewport_with_options_isolated.golden.d.ts | 7 + ...rred_secondary_blocks_isolated.golden.d.ts | 8 + ...ferred_when_with_pipe_isolated.golden.d.ts | 14 + ...uplicate_external_dep_isolated.golden.d.ts | 6 + ...ate_external_dep_lazy_isolated.golden.d.ts | 6 + ...te_external_dep_other_isolated.golden.d.ts | 6 + ...h_external_deps_eager_isolated.golden.d.ts | 6 + ...ed_with_external_deps_isolated.golden.d.ts | 6 + ...th_external_deps_lazy_isolated.golden.d.ts | 6 + ...external_deps_loading_isolated.golden.d.ts | 6 + ...ith_implicit_triggers_isolated.golden.d.ts | 7 + ...d_with_loading_params_isolated.golden.d.ts | 6 + ...erred_with_local_deps_isolated.golden.d.ts | 18 ++ ...th_placeholder_params_isolated.golden.d.ts | 6 + ...ith_prefetch_triggers_isolated.golden.d.ts | 9 + ...eferred_with_triggers_isolated.golden.d.ts | 9 + ..._followed_by_one_with_isolated.golden.d.ts | 10 + .../lazy_with_blocks_isolated.golden.d.ts | 2 + .../di/component_factory_isolated.golden.d.ts | 16 ++ .../di/ctor_overload_isolated.golden.d.ts | 10 + .../injectable_factory_isolated.golden.d.ts | 10 + .../pipe_and_injectable_isolated.golden.d.ts | 31 ++ ...providedin_forwardref_isolated.golden.d.ts | 16 ++ .../useclass_forwardref_isolated.golden.d.ts | 2 + .../useclass_with_deps_isolated.golden.d.ts | 6 + ...useclass_without_deps_isolated.golden.d.ts | 6 + .../usefactory_with_deps_isolated.golden.d.ts | 6 + ...efactory_without_deps_isolated.golden.d.ts | 6 + ...basic_host_directives_isolated.golden.d.ts | 14 + ...ained_host_directives_isolated.golden.d.ts | 18 ++ ...d_ref_host_directives_isolated.golden.d.ts | 15 + ...ves_with_host_aliases_isolated.golden.d.ts | 15 + ...s_with_inputs_outputs_isolated.golden.d.ts | 15 + ...n_attribute_directive_isolated.golden.d.ts | 15 + ...x_attribute_directive_isolated.golden.d.ts | 23 ++ ...g_container_directive_isolated.golden.d.ts | 15 + ...ate_binding_directive_isolated.golden.d.ts | 16 ++ ...ng_template_directive_isolated.golden.d.ts | 15 + .../output_directive_isolated.golden.d.ts | 18 ++ ...rty_binding_directive_isolated.golden.d.ts | 16 ++ .../structural_directive_isolated.golden.d.ts | 16 ++ .../blocks/conditional_isolated.golden.d.ts | 7 + .../blocks/defer_isolated.golden.d.ts | 7 + .../blocks/for_isolated.golden.d.ts | 7 + .../blocks/switch_isolated.golden.d.ts | 7 + .../bound_attributes_isolated.golden.d.ts | 13 + .../empty_attributes_isolated.golden.d.ts | 11 + .../i18n_root_node_isolated.golden.d.ts | 11 + .../interpolation_basic_isolated.golden.d.ts | 25 ++ ...n_complex_expressions_isolated.golden.d.ts | 12 + ...lation_nested_context_isolated.golden.d.ts | 17 ++ .../invalid_i18n_meta_isolated.golden.d.ts | 11 + .../meaning_description_isolated.golden.d.ts | 11 + .../ng-template_basic_isolated.golden.d.ts | 11 + ...emplate_interpolation_isolated.golden.d.ts | 12 + ...erpolation_structural_isolated.golden.d.ts | 17 ++ ...g-template_structural_isolated.golden.d.ts | 12 + .../static_attributes_isolated.golden.d.ts | 11 + ...attributes_structural_isolated.golden.d.ts | 12 + .../es5_support/test_isolated.golden.d.ts | 11 + .../icu_and_i18n_isolated.golden.d.ts | 7 + ...tribute_interpolation_isolated.golden.d.ts | 7 + .../icu_logic/bare_icu_isolated.golden.d.ts | 12 + .../different_contexts_isolated.golden.d.ts | 12 + .../escape_quotes_isolated.golden.d.ts | 12 + .../expressions_isolated.golden.d.ts | 15 + .../html_content_isolated.golden.d.ts | 12 + .../icu_logic/icu_only_isolated.golden.d.ts | 12 + ...u_with_interpolations_isolated.golden.d.ts | 14 + .../keyword_spaces_isolated.golden.d.ts | 12 + .../icu_logic/metadata_isolated.golden.d.ts | 12 + .../multiple_icus_isolated.golden.d.ts | 13 + .../named_interpolations_isolated.golden.d.ts | 15 + ...ed_icu_in_other_block_isolated.golden.d.ts | 13 + .../nested_icus_isolated.golden.d.ts | 13 + ...oot_icu_with_elements_isolated.golden.d.ts | 7 + .../shared_placeholder_isolated.golden.d.ts | 12 + .../icu_logic/single_icu_isolated.golden.d.ts | 12 + ...legacy_non_normalized_isolated.golden.d.ts | 12 + ...ate_legacy_normalized_isolated.golden.d.ts | 12 + ...legacy_non_normalized_isolated.golden.d.ts | 12 + ...non_legacy_normalized_isolated.golden.d.ts | 12 + ...legacy_non_normalized_isolated.golden.d.ts | 12 + ...ate_legacy_normalized_isolated.golden.d.ts | 12 + ...legacy_non_normalized_isolated.golden.d.ts | 12 + ...non_legacy_normalized_isolated.golden.d.ts | 12 + .../legacy_disabled_isolated.golden.d.ts | 11 + .../legacy_enabled_isolated.golden.d.ts | 11 + .../multiple_pipes_isolated.golden.d.ts | 30 ++ .../foreign_object_isolated.golden.d.ts | 11 + .../namespaced_div_isolated.golden.d.ts | 11 + .../backtick_quotes_isolated.golden.d.ts | 12 + .../bindings_in_content_isolated.golden.d.ts | 21 ++ ...ts_in_translated_text_isolated.golden.d.ts | 11 + .../directives_isolated.golden.d.ts | 11 + .../empty_content_isolated.golden.d.ts | 11 + .../escape_quotes_isolated.golden.d.ts | 11 + .../event_listeners_isolated.golden.d.ts | 12 + .../i18n_after_binding_isolated.golden.d.ts | 8 + ...n_complex_expressions_isolated.golden.d.ts | 17 ++ ...lem_inside_i18n_block_isolated.golden.d.ts | 13 + .../named_interpolations_isolated.golden.d.ts | 13 + .../nested_elements_isolated.golden.d.ts | 19 ++ ..._with_i18n_attributes_isolated.golden.d.ts | 21 ++ .../nested_ng-content_isolated.golden.d.ts | 6 + ...ted_templates_context_isolated.golden.d.ts | 11 + .../nested_templates_isolated.golden.d.ts | 11 + ...nt_with_i18n_children_isolated.golden.d.ts | 6 + .../plain_text_messages_isolated.golden.d.ts | 11 + .../self_closing_isolated.golden.d.ts | 11 + .../bare_icus_isolated.golden.d.ts | 12 + .../child_elements_isolated.golden.d.ts | 18 ++ .../duplicate_content_isolated.golden.d.ts | 11 + .../icus_isolated.golden.d.ts | 12 + .../nested_templates_isolated.golden.d.ts | 11 + ...with_non_text_content_isolated.golden.d.ts | 11 + ..._closing_ng-container_isolated.golden.d.ts | 11 + .../self_closing_tags_isolated.golden.d.ts | 11 + .../sibling_i18n_blocks_isolated.golden.d.ts | 6 + .../single_ng-container_isolated.golden.d.ts | 17 ++ .../single_ng-template_isolated.golden.d.ts | 11 + ...structural_directives_isolated.golden.d.ts | 11 + ...ives_same_placeholder_isolated.golden.d.ts | 11 + .../repeated_placeholder_isolated.golden.d.ts | 12 + .../icu_only_isolated.golden.d.ts | 12 + ...container_ng-template_isolated.golden.d.ts | 11 + .../styles_isolated.golden.d.ts | 11 + .../text_only_content_isolated.golden.d.ts | 11 + ...reserve_inner_content_isolated.golden.d.ts | 11 + .../component_isolated.golden.d.ts | 15 + .../directive_isolated.golden.d.ts | 15 + .../let_for_loop_isolated.golden.d.ts | 9 + ...hild_view_inside_i18n_isolated.golden.d.ts | 7 + .../let_in_child_view_isolated.golden.d.ts | 6 + ...n_child_view_listener_isolated.golden.d.ts | 8 + ...n_i18n_and_child_view_isolated.golden.d.ts | 7 + .../let_in_i18n_isolated.golden.d.ts | 7 + .../let_in_listener_isolated.golden.d.ts | 8 + ...t_invalid_forward_ref_isolated.golden.d.ts | 7 + ...et_local_forward_refs_isolated.golden.d.ts | 6 + .../let_local_refs_isolated.golden.d.ts | 6 + ...multiple_optimization_isolated.golden.d.ts | 7 + ...timization_child_view_isolated.golden.d.ts | 7 + ...optimization_listener_isolated.golden.d.ts | 8 + ..._partial_optimization_isolated.golden.d.ts | 7 + .../let_preceded_by_i18n_isolated.golden.d.ts | 7 + ...hared_with_child_view_isolated.golden.d.ts | 6 + ...t_single_optimization_isolated.golden.d.ts | 7 + .../let_with_pipe_isolated.golden.d.ts | 13 + ...ith_pipe_optimization_isolated.golden.d.ts | 13 + .../multiple_let_isolated.golden.d.ts | 7 + .../shadowed_let_isolated.golden.d.ts | 6 + .../simple_let_isolated.golden.d.ts | 7 + .../component_listener_isolated.golden.d.ts | 16 ++ ...ent_chained_listeners_isolated.golden.d.ts | 22 ++ .../element_listener_isolated.golden.d.ts | 12 + ...view_listener_context_isolated.golden.d.ts | 11 + ...ener_implicit_meaning_isolated.golden.d.ts | 2 + ...ener_implicit_meaning_isolated.golden.d.ts | 2 + ...event_explicit_access_isolated.golden.d.ts | 2 + ..._host_explicit_access_isolated.golden.d.ts | 2 + ...t_in_property_binding_isolated.golden.d.ts | 12 + ...ent_arg_host_listener_isolated.golden.d.ts | 7 + ...write_inside_template_isolated.golden.d.ts | 12 + .../listener_unused_let_isolated.golden.d.ts | 7 + ...l_ref_before_listener_isolated.golden.d.ts | 12 + ...wo_way_listener_order_isolated.golden.d.ts | 19 ++ .../multiple_statements_isolated.golden.d.ts | 6 + .../nested_two_way_isolated.golden.d.ts | 19 ++ ...ent_arg_host_listener_isolated.golden.d.ts | 8 + ...no_event_arg_listener_isolated.golden.d.ts | 7 + ...ent_chained_listeners_isolated.golden.d.ts | 13 + ...ed_snapshot_listeners_isolated.golden.d.ts | 13 + .../simple_two_way_isolated.golden.d.ts | 19 ++ ...ate_chained_listeners_isolated.golden.d.ts | 11 + ..._signal_loop_variable_isolated.golden.d.ts | 12 + .../two_way_to_any_isolated.golden.d.ts | 12 + ..._feature_no_providers_isolated.golden.d.ts | 11 + ...rs_and_view_providers_isolated.golden.d.ts | 11 + ...eature_providers_only_isolated.golden.d.ts | 11 + ...e_view_providers_only_isolated.golden.d.ts | 11 + ...nt_host_binding_slots_isolated.golden.d.ts | 20 ++ ...ve_host_binding_slots_isolated.golden.d.ts | 10 + .../host_binding_slots_isolated.golden.d.ts | 20 ++ ...ifferent_instructions_isolated.golden.d.ts | 11 + ...polation_instructions_isolated.golden.d.ts | 11 + .../class_bindings_isolated.golden.d.ts | 9 + .../host_bindings_isolated.golden.d.ts | 12 + ...tions_different_arity_isolated.golden.d.ts | 9 + ...polations_equal_arity_isolated.golden.d.ts | 7 + .../mixed_bindings_isolated.golden.d.ts | 12 + .../style_bindings_isolated.golden.d.ts | 9 + .../class_binding_isolated.golden.d.ts | 14 + ...binding_on_structural_isolated.golden.d.ts | 7 + ...binding_special_chars_isolated.golden.d.ts | 7 + .../class_ordering_isolated.golden.d.ts | 17 ++ .../empty_class_bindings_isolated.golden.d.ts | 11 + ...binding_special_chars_isolated.golden.d.ts | 7 + ...ared_name_with_consts_isolated.golden.d.ts | 7 + .../static_bindings_isolated.golden.d.ts | 11 + ...imation_host_bindings_isolated.golden.d.ts | 7 + .../animation_listeners_isolated.golden.d.ts | 7 + ...ion_property_bindings_isolated.golden.d.ts | 12 + .../metadata_empty_isolated.golden.d.ts | 11 + .../metadata_isolated.golden.d.ts | 11 + ...encapsulation_default_isolated.golden.d.ts | 11 + ...ncapsulation_emulated_isolated.golden.d.ts | 11 + .../encapsulation_none_isolated.golden.d.ts | 11 + ...apsulation_shadow_dom_isolated.golden.d.ts | 11 + ...xternal_runtime_files_isolated.golden.d.ts | 11 + .../class_interpolation_isolated.golden.d.ts | 20 ++ ...css_custom_properties_isolated.golden.d.ts | 7 + .../important_isolated.golden.d.ts | 17 ++ .../multiple_directives_isolated.golden.d.ts | 30 ++ .../multiple_dynamic_isolated.golden.d.ts | 20 ++ .../static_and_dynamic_isolated.golden.d.ts | 19 ++ .../style_interpolation_isolated.golden.d.ts | 20 ++ .../class_interpolations_isolated.golden.d.ts | 15 + ...yle_binding_important_isolated.golden.d.ts | 8 + ...yle_binding_sanitizer_isolated.golden.d.ts | 12 + ...tyle_binding_suffixed_isolated.golden.d.ts | 8 + .../style_properties_isolated.golden.d.ts | 15 + .../mixed_isolated.golden.d.ts | 19 ++ .../multiple_elements_isolated.golden.d.ts | 15 + .../pipe_bindings_isolated.golden.d.ts | 29 ++ .../pipe_bindings_slots_isolated.golden.d.ts | 22 ++ ..._slots_interpolations_isolated.golden.d.ts | 20 ++ .../binding_slots_isolated.golden.d.ts | 23 ++ .../colon_style_isolated.golden.d.ts | 6 + ...css_custom_properties_isolated.golden.d.ts | 7 + ...licate_style_bindings_isolated.golden.d.ts | 6 + .../empty_style_bindings_isolated.golden.d.ts | 11 + .../style_binding_isolated.golden.d.ts | 18 ++ ...tyle_binding_suffixed_isolated.golden.d.ts | 11 + .../style_ordering_isolated.golden.d.ts | 12 + ...al_inside_ng_template_isolated.golden.d.ts | 13 + .../create_many_elements_isolated.golden.d.ts | 6 + .../implicit_receiver_isolated.golden.d.ts | 12 + ...sted_template_context_isolated.golden.d.ts | 14 + ...context_many_bindings_isolated.golden.d.ts | 13 + ...ted_ternary_operation_isolated.golden.d.ts | 12 + ...ntext_in_attr_binding_isolated.golden.d.ts | 12 + ...for_context_variables_isolated.golden.d.ts | 11 + ...ent_context_variables_isolated.golden.d.ts | 11 + .../ng_template_bindings_isolated.golden.d.ts | 9 + .../ng_template_implicit_isolated.golden.d.ts | 9 + ...ate_interpolated_prop_isolated.golden.d.ts | 7 + ..._structural_directive_isolated.golden.d.ts | 7 + .../ng_template_isolated.golden.d.ts | 11 + ...ng_template_local_ref_isolated.golden.d.ts | 11 + .../ng_template_output_isolated.golden.d.ts | 11 + ...structural_directives_isolated.golden.d.ts | 10 + .../self_closing_tags_isolated.golden.d.ts | 15 + ...f_closing_tags_nested_isolated.golden.d.ts | 15 + ..._property_declaration_isolated.golden.d.ts | 14 + ...template_binding_pipe_isolated.golden.d.ts | 11 + ...template_context_skip_isolated.golden.d.ts | 11 + ..._structural_directive_isolated.golden.d.ts | 6 + ...stener_function_names_isolated.golden.d.ts | 12 + ...mplate_function_names_isolated.golden.d.ts | 24 ++ ...tion_names_ng_content_isolated.golden.d.ts | 17 ++ .../basic_service_isolated.golden.d.ts | 6 + ...itly_provided_service_isolated.golden.d.ts | 6 + .../generic_service_isolated.golden.d.ts | 8 + .../not_provided_service_isolated.golden.d.ts | 6 + .../service_with_factory_isolated.golden.d.ts | 6 + ...x_transform_functions_isolated.golden.d.ts | 10 + ..._component_definition_isolated.golden.d.ts | 8 + ..._directive_definition_isolated.golden.d.ts | 8 + ...ransform_not_captured_isolated.golden.d.ts | 7 + .../mixed_query_variants_isolated.golden.d.ts | 10 + .../query_in_component_isolated.golden.d.ts | 10 + .../query_in_directive_isolated.golden.d.ts | 17 ++ .../escaped_chars_isolated.golden.d.ts | 6 + .../external_template_isolated.golden.d.ts | 6 + .../extra_root_dir_isolated.golden.d.ts | 6 + .../escape_sequences_isolated.golden.d.ts | 6 + ...message_container_tag_isolated.golden.d.ts | 6 + ...ge_element_whitespace_isolated.golden.d.ts | 6 + ...erpolation_whitespace_isolated.golden.d.ts | 8 + ..._placeholder_entities_isolated.golden.d.ts | 8 + ...n_message_placeholder_isolated.golden.d.ts | 7 + .../i18n_message_simple_isolated.golden.d.ts | 6 + .../input_binding_class_isolated.golden.d.ts | 7 + ...input_binding_complex_isolated.golden.d.ts | 8 + ...nput_binding_longhand_isolated.golden.d.ts | 7 + .../input_binding_simple_isolated.golden.d.ts | 7 + .../interpolation_basic_isolated.golden.d.ts | 7 + ...interpolation_complex_isolated.golden.d.ts | 8 + ...erpolation_properties_isolated.golden.d.ts | 7 + ...terpolation_with_pipe_isolated.golden.d.ts | 17 ++ .../ng_for_simple_isolated.golden.d.ts | 6 + .../ng_for_templated_isolated.golden.d.ts | 6 + .../ng_if_simple_isolated.golden.d.ts | 6 + .../ng_if_templated_isolated.golden.d.ts | 6 + ...utput_binding_complex_isolated.golden.d.ts | 7 + ...tput_binding_longhand_isolated.golden.d.ts | 7 + ...output_binding_simple_isolated.golden.d.ts | 7 + .../projection_isolated.golden.d.ts | 6 + .../simple_element_isolated.golden.d.ts | 6 + ..._way_binding_longhand_isolated.golden.d.ts | 19 ++ ...wo_way_binding_simple_isolated.golden.d.ts | 19 ++ .../update_mode_isolated.golden.d.ts | 6 + .../void_element_isolated.golden.d.ts | 6 + .../test_helpers/check_type_declarations.ts | 5 +- .../ngtsc/declaration_only_emission_spec.ts | 235 ++++++++++++++-- .../compiler-cli/test/ngtsc/scope_spec.ts | 244 ++++++++++++++++ .../compiler/src/render3/partial/ng_module.ts | 6 + .../src/render3/r3_module_compiler.ts | 46 ++- 613 files changed, 7754 insertions(+), 83 deletions(-) create mode 100644 packages/compiler-cli/test/compliance/test_cases/model_inputs/mixed_model_types_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/model_inputs/model_component_definition_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/model_inputs/model_directive_definition_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/output_function/mixed_variants_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/output_function/output_in_component_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/output_function/output_in_directive_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/class_metadata/custom_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/class_metadata/parameter_decorators_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/class_metadata/property_decorators_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/array_literals_null_vs_empty_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/constant_array_literals_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/constant_object_literals_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/multiple_wildcards_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/nested_template_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/ng_content_fallback_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/ng_content_with_structural_dir_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/ng_project_as_attribute_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/ng_project_as_compound_selector_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/ng_project_as_selector_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/project_as_ng_content_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/root_and_nested_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/root_template_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/debug_info_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/export_as_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/forward_referenced_directive_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/forward_referenced_pipe_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/library_exports_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/lifecycle_hooks/lifecycle_hooks_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/lifecycle_hooks/local_reference_and_context_variables_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/lifecycle_hooks/local_reference_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/lifecycle_hooks/local_reference_nested_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/nested_component_definition_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/ng_template_empty_binding_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/no_selector_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/non_literal_template_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/non_literal_template_with_concatenation_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/non_literal_template_with_substitution_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/object_literals_null_vs_empty_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/object_literals_null_vs_function_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/pipes/nameless_pipe_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/pipes/pipe_di_change_detector_ref_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/pipes/pipe_invocation_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/pipes/pipes_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/content_query_for_directive_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/content_query_for_local_ref_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/content_query_forward_ref_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/content_query_read_token_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/query_with_emit_distinct_changes_only_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/some.directive_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/static_content_query_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/static_view_query_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/view_query_for_directive_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/view_query_for_local_ref_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/view_query_forward_ref_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/view_query_read_token_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/signals/component_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/signals/directive_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/component_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/directive_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/forward_ref_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/imports_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/module_optimization_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/pipe_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/recursive_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/template_variables/for_of_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/template_variables/let_variable_and_reference_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/template_variables/parent_template_variable_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/template_variables/svg_embedded_view_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/array_literal_spread_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/array_literals_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/array_literals_many_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/call_rest_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/complex_selectors_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/directives_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/dollar_escape_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/id_selector_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/literal_nested_expression_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/no_selector_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/number_separator_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/object_literal_spread_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/object_literals_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/regular_expression_with_global_flag_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/regular_expression_without_global_flag_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/structural_directives_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/tagged_template_literals_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/template_literals_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/view_tokens_di_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/class_style_bindings_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/deduplicate_attributes_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/dom_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/empty_ng-container_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/host_binding_pure_functions_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/iframe_attrs_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/mathml_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/namespace_attr_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/namespace_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/ng-container_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/properties_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/property_pure_functions_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/security_sensitive_constant_attributes_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/svg_embedded_view_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/svg_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/basic_full_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/basic_linked_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/declarations_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/declarations_jit_mode_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/empty_fields_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/imports_exports_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/imports_exports_jit_mode_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/inheritance_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/no_aot_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/providers_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/variable_providers_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_enter_with_binding_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_enter_with_event_host_bindings_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_enter_with_event_listener_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_enter_with_string_host_bindings_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_enter_with_string_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_enter_with_structural_directive_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_leave_with_binding_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_leave_with_event_host_bindings_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_leave_with_event_listener_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_leave_with_string_host_bindings_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_leave_with_string_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_prefix_with_event_listener_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/any/basic_any_cast_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/any/this_any_access_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/hello_world/test_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/interpolations/test_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/legacy_animations/duplicate_animation_listeners_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/legacy_animations/static_animation_attribute_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/nullish_coalescing/nullish_coalescing_host_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/nullish_coalescing/nullish_coalescing_interpolation_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/nullish_coalescing/nullish_coalescing_parens_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/nullish_coalescing/nullish_coalescing_property_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/operators_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/safe_access/safe_access_deep_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/safe_access/safe_access_non_null_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/safe_access/safe_access_temporaries_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/safe_access/safe_call_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/safe_access/safe_keyed_read_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/safe_access/safe_method_call_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/todo_example_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_defined_let_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_dollar_event_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_host_binding_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_host_listener_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_inside_pure_value_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_let_nested_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_loop_variables_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_nested_listeners_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_no_context_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_pipe_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_pure_return_values_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_returning_arrow_function_nested_context_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_returning_arrow_function_no_context_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_returning_arrow_function_top_level_context_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_safe_access_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_safe_access_nested_views_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_this_access_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_top_level_context_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/chain_bindings_with_interpolations_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/chain_multiple_bindings_for_multiple_elements_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/chain_multiple_bindings_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/chain_multiple_bindings_mixed_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/chain_multiple_bindings_with_child_elements_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/chain_multiple_single_interpolation_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/duplicate_bindings_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/exclude_bindings_from_consts_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/interpolated_attributes_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/control_bindings/control_bindings_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/control_bindings/radio_bindings_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/aria_bindings_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_attribute_bindings_all_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_attribute_bindings_mixed_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_multiple_attribute_bindings_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_multiple_listeners_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_multiple_property_bindings_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_property_bindings_all_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_property_bindings_mixed_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_synthetic_listeners_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_synthetic_listeners_mixed_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_synthetic_properties_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/deceptive_attrs_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_attribute_bindings_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_attributes_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_attributes_with_classes_and_styles_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_bindings_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_bindings_primitive_names_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_bindings_quoted_names_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_bindings_with_pure_functions_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_bindings_with_temporaries_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_class_bindings_with_temporaries_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_dollar_any_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_listeners_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_style_bindings_with_temporaries_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_with_ts_expression_node_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/sanitization_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/security_sensitive_constant_attributes_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/security_sensitive_style_bindings_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/non_bindable_behavior/local_ref_on_host_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/non_bindable_behavior/local_ref_on_nested_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/non_bindable_behavior/no_child_elements_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/non_bindable_behavior/property_bindings_and_listeners_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/order_bindings_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/aria_dom_properties_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/aria_properties_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/bind_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/chain_bindings_with_interpolations_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/chain_multiple_bindings_for_multiple_elements_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/chain_multiple_bindings_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/chain_multiple_bindings_mixed_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/chain_multiple_bindings_with_child_elements_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/chain_ngtemplate_bindings_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/chain_synthetic_bindings_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/interpolated_properties_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/interpolation_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/mixed_one_way_two_way_property_order_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/sanitization_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/special_property_remapping_dom_property_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/special_property_remapping_property_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/synthetic_bindings_and_listeners_on_structural_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/temporary_variables_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/text_bindings/interpolation_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/basic_for_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/basic_if_else_if_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/basic_if_else_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/basic_if_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/basic_switch_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/conditional_same_component_names_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/else_if_multiple_with_alias_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/else_if_nested_with_alias_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/else_if_with_alias_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/else_if_with_same_alias_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/empty_switch_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_aliased_template_variables_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_both_aliased_and_original_variables_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_data_slots_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_element_root_node_at_end_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_element_root_node_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_impure_track_reuse_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_pure_track_reuse_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_template_root_node_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_template_track_method_nested_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_template_track_method_only_index_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_template_track_method_root_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_template_variables_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_template_variables_listener_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_template_variables_scope_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_track_by_field_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_track_by_index_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_track_by_temporary_variables_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_track_literals_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_variables_expression_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_with_empty_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_with_pipe_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/if_element_root_node_at_end_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/if_element_root_node_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/if_nested_alias_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/if_nested_alias_listeners_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/if_template_root_node_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/if_with_alias_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/if_with_pipe_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/nested_for_computed_template_variables_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/nested_for_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/nested_for_listener_computed_template_variables_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/nested_for_template_variables_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/nested_for_tracking_function_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/nested_if_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/nested_switch_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/switch_element_root_node_at_end_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/switch_element_root_node_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/switch_multiple_cases_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/switch_template_root_node_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/switch_with_pipe_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/switch_without_default_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/basic_deferred_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/counter.component_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_default_deps_ext_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_default_deps_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_deps_ext_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_deps_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_hydrate_order_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_multiple_hydrate_single_activator_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_nested_hydrate_inner_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_nested_hydrate_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_with_hydrate_triggers_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_hydrate_on_viewport_with_options_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_import_alias_index_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_import_alias_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_interaction_parent_view_trigger_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_interaction_placeholder_trigger_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_interaction_same_view_trigger_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_on_idle_with_timeout_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_on_viewport_with_options_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_prefetch_on_viewport_with_options_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_secondary_blocks_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_when_with_pipe_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_duplicate_external_dep_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_duplicate_external_dep_lazy_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_duplicate_external_dep_other_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_external_deps_eager_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_external_deps_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_external_deps_lazy_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_external_deps_loading_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_implicit_triggers_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_loading_params_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_local_deps_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_placeholder_params_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_prefetch_triggers_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_triggers_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_without_deps_followed_by_one_with_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/lazy_with_blocks_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/component_factory_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/ctor_overload_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/injectable_factory_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/pipe_and_injectable_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/providedin_forwardref_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/useclass_forwardref_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/useclass_with_deps_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/useclass_without_deps_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/usefactory_with_deps_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/usefactory_without_deps_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/host_directives/basic_host_directives_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/host_directives/chained_host_directives_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/host_directives/forward_ref_host_directives_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/host_directives/host_directives_with_host_aliases_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/host_directives/host_directives_with_inputs_outputs_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/matching/i18n_attribute_directive_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/matching/i18n_prefix_attribute_directive_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/matching/ng_container_directive_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/matching/ng_template_binding_directive_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/matching/ng_template_directive_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/matching/output_directive_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/matching/property_binding_directive_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/matching/structural_directive_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/blocks/conditional_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/blocks/defer_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/blocks/for_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/blocks/switch_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/bound_attributes_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/empty_attributes_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/i18n_root_node_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/interpolation_basic_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/interpolation_complex_expressions_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/interpolation_nested_context_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/invalid_i18n_meta_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/meaning_description_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/ng-template_basic_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/ng-template_interpolation_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/ng-template_interpolation_structural_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/ng-template_structural_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/static_attributes_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/static_attributes_structural_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/es5_support/test_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_and_i18n_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/attribute_interpolation_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/bare_icu_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/different_contexts_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/escape_quotes_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/expressions_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/html_content_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/icu_only_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/icu_with_interpolations_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/keyword_spaces_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/metadata_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/multiple_icus_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/named_interpolations_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/nested_icu_in_other_block_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/nested_icus_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/root_icu_with_elements_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/shared_placeholder_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/single_icu_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/line_ending_normalization/external_template_legacy_non_normalized_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/line_ending_normalization/external_template_legacy_normalized_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/line_ending_normalization/external_template_non_legacy_non_normalized_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/line_ending_normalization/external_template_non_legacy_normalized_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/line_ending_normalization/inline_template_legacy_non_normalized_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/line_ending_normalization/inline_template_legacy_normalized_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/line_ending_normalization/inline_template_non_legacy_non_normalized_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/line_ending_normalization/inline_template_non_legacy_normalized_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/localize_legacy_message_ids/legacy_disabled_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/localize_legacy_message_ids/legacy_enabled_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/multiple_pipes_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/namespaces/foreign_object_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/namespaces/namespaced_div_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/backtick_quotes_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/bindings_in_content_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/comments_in_translated_text_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/directives_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/empty_content_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/escape_quotes_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/event_listeners_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/i18n_after_binding_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/interpolation_complex_expressions_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/last_elem_inside_i18n_block_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/named_interpolations_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/nested_elements_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/nested_elements_with_i18n_attributes_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/nested_ng-content_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/nested_templates_context_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/nested_templates_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/ng_content_with_i18n_children_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/plain_text_messages_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/self_closing_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/bare_icus_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/child_elements_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/duplicate_content_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/icus_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/nested_templates_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/ng-container_with_non_text_content_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/self_closing_ng-container_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/self_closing_tags_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/sibling_i18n_blocks_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/single_ng-container_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/single_ng-template_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/structural_directives_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/structural_directives_same_placeholder_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/repeated_placeholder_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/self-closing_i18n_instructions/icu_only_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/self-closing_i18n_instructions/ng-container_ng-template_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/self-closing_i18n_instructions/styles_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/self-closing_i18n_instructions/text_only_content_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/whitespace_preserving_mode/preserve_inner_content_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_input_outputs/component_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_input_outputs/directive_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_for_loop_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_in_child_view_inside_i18n_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_in_child_view_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_in_child_view_listener_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_in_i18n_and_child_view_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_in_i18n_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_in_listener_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_invalid_forward_ref_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_local_forward_refs_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_local_refs_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_multiple_optimization_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_optimization_child_view_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_optimization_listener_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_partial_optimization_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_preceded_by_i18n_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_shared_with_child_view_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_single_optimization_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_with_pipe_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_with_pipe_optimization_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/multiple_let_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/shadowed_let_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/simple_let_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/component_listener_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/cross_element_chained_listeners_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/element_listener_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/embedded_view_listener_context_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/event_arg_host_listener_implicit_meaning_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/event_arg_listener_implicit_meaning_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/event_explicit_access_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/event_host_explicit_access_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/event_in_property_binding_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/has_event_arg_host_listener_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/implicit_receiver_keyed_write_inside_template_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/listener_unused_let_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/local_ref_before_listener_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/mixed_one_way_two_way_listener_order_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/multiple_statements_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/nested_two_way_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/no_event_arg_host_listener_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/no_event_arg_listener_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/same_element_chained_listeners_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/shared_snapshot_listeners_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/simple_two_way_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/template_chained_listeners_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/two_way_binding_to_signal_loop_variable_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/two_way_to_any_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_providers/providers_feature_no_providers_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_providers/providers_feature_providers_and_view_providers_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_providers/providers_feature_providers_only_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_providers/providers_feature_view_providers_only_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/binding_slots/component_host_binding_slots_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/binding_slots/directive_host_binding_slots_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/binding_slots/host_binding_slots_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/chaining/break_different_instructions_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/chaining/break_different_interpolation_instructions_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/chaining/class_bindings_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/chaining/host_bindings_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/chaining/interpolations_different_arity_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/chaining/interpolations_equal_arity_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/chaining/mixed_bindings_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/chaining/style_bindings_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/class_bindings/class_binding_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/class_bindings/class_binding_on_structural_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/class_bindings/class_binding_special_chars_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/class_bindings/class_ordering_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/class_bindings/empty_class_bindings_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/class_bindings/host_class_binding_special_chars_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/class_bindings/shared_name_with_consts_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/class_bindings/static_bindings_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_animations/animation_host_bindings_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_animations/animation_listeners_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_animations/animation_property_bindings_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_animations/metadata_empty_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_animations/metadata_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_styles/encapsulation_default_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_styles/encapsulation_emulated_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_styles/encapsulation_none_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_styles/encapsulation_shadow_dom_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_styles/external_runtime_files_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/host_bindings/class_interpolation_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/host_bindings/css_custom_properties_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/host_bindings/important_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/host_bindings/multiple_directives_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/host_bindings/multiple_dynamic_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/host_bindings/static_and_dynamic_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/host_bindings/style_interpolation_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/interpolations/class_interpolations_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/interpolations/style_binding_important_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/interpolations/style_binding_sanitizer_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/interpolations/style_binding_suffixed_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/interpolations/style_properties_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/mixed_style_and_class/mixed_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/mixed_style_and_class/multiple_elements_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/mixed_style_and_class/pipe_bindings_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/mixed_style_and_class/pipe_bindings_slots_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/binding_slots_interpolations_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/binding_slots_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/colon_style_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/css_custom_properties_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/duplicate_style_bindings_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/empty_style_bindings_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/style_binding_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/style_binding_suffixed_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/style_ordering_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/attr_binding_on_structural_inside_ng_template_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/create_many_elements_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/implicit_receiver_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/nested_template_context_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/nested_template_context_many_bindings_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/nested_ternary_operation_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_for_context_in_attr_binding_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_for_context_variables_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_for_parent_context_variables_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_template_bindings_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_template_implicit_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_template_interpolated_prop_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_template_interpolated_prop_with_structural_directive_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_template_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_template_local_ref_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_template_output_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/self_closing_structural_directives_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/self_closing_tags_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/self_closing_tags_nested_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/shorthand_property_declaration_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/template_binding_pipe_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/template_context_skip_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/template_with_structural_directive_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/unique_listener_function_names_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/unique_template_function_names_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/unique_template_function_names_ng_content_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/service_decorator/basic_service_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/service_decorator/explicitly_provided_service_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/service_decorator/generic_service_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/service_decorator/not_provided_service_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/service_decorator/service_with_factory_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/signal_inputs/complex_transform_functions_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/signal_inputs/input_component_definition_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/signal_inputs/input_directive_definition_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/signal_inputs/transform_not_captured_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/signal_queries/mixed_query_variants_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/signal_queries/query_in_component_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/signal_queries/query_in_directive_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/source_mapping/external_templates/escaped_chars_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/source_mapping/external_templates/external_template_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/source_mapping/external_templates/extra_root_dir_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/escape_sequences_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/i18n_message_container_tag_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/i18n_message_element_whitespace_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/i18n_message_interpolation_whitespace_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/i18n_message_placeholder_entities_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/i18n_message_placeholder_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/i18n_message_simple_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/input_binding_class_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/input_binding_complex_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/input_binding_longhand_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/input_binding_simple_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/interpolation_basic_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/interpolation_complex_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/interpolation_properties_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/interpolation_with_pipe_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/ng_for_simple_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/ng_for_templated_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/ng_if_simple_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/ng_if_templated_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/output_binding_complex_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/output_binding_longhand_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/output_binding_simple_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/projection_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/simple_element_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/two_way_binding_longhand_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/two_way_binding_simple_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/update_mode_isolated.golden.d.ts create mode 100644 packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/void_element_isolated.golden.d.ts diff --git a/packages/compiler-cli/src/ngtsc/annotations/ng_module/src/handler.ts b/packages/compiler-cli/src/ngtsc/annotations/ng_module/src/handler.ts index 4972e259044f..fbfa3e427df7 100644 --- a/packages/compiler-cli/src/ngtsc/annotations/ng_module/src/handler.ts +++ b/packages/compiler-cli/src/ngtsc/annotations/ng_module/src/handler.ts @@ -31,6 +31,7 @@ import { ReturnStatement, SchemaMetadata, Statement, + TypeofExpr, WrappedNodeExpr, } from '@angular/compiler'; import ts from 'typescript'; @@ -45,6 +46,7 @@ import { assertSuccessfulReferenceEmit, LocalCompilationExtraImportsTracker, Reference, + ReferenceEmitKind, ReferenceEmitter, } from '../../../imports'; import { @@ -104,6 +106,7 @@ import { ReferencesRegistry, resolveProvidersRequiringFactory, toR3Reference, + tryUnwrapForwardRef, unwrapExpression, wrapFunctionExpressionsInParens, wrapTypeReference, @@ -352,14 +355,21 @@ export class NgModuleDecoratorHandler implements DecoratorHandler< return {}; } + // In declaration-only emission the `declarations`/`imports`/`exports` arrays are emitted via a + // purely syntactic transform - we don't attempt static resolution at all (that machinery is + // only needed for the regular emit path) and produce the `Isolated` metadata kind directly + // from the raw decorator expressions. + if (this.emitDeclarationOnly) { + return this.analyzeForDeclarationOnly(node, name, ngModule, decorator); + } + const forwardRefResolver = createForwardRefResolver(this.isCore); const moduleResolvers = combineResolvers([ createModuleWithProvidersResolver(this.reflector, this.isCore), forwardRefResolver, ]); - const allowUnresolvedReferences = - this.compilationMode === CompilationMode.LOCAL && !this.emitDeclarationOnly; + const allowUnresolvedReferences = this.compilationMode === CompilationMode.LOCAL; const diagnostics: ts.Diagnostic[] = []; // Resolving declarations @@ -552,6 +562,7 @@ export class NgModuleDecoratorHandler implements DecoratorHandler< const type = wrapTypeReference(node); let ngModuleMetadata: R3NgModuleMetadata; + if (allowUnresolvedReferences) { ngModuleMetadata = { kind: R3NgModuleMetadataKind.Local, @@ -1093,6 +1104,116 @@ export class NgModuleDecoratorHandler implements DecoratorHandler< } } + /** + * Analyze path used in `emitDeclarationOnly` (isolated declarations) mode. The + * `declarations`/`imports`/`exports` arrays are NOT statically resolved here - they're transformed + * syntactically into the `Isolated` metadata kind's type-tuple expressions, which downstream + * `.d.ts` metadata readers resolve. This skips the partial-evaluator path entirely. + */ + private analyzeForDeclarationOnly( + node: ClassDeclaration, + name: string, + ngModule: Map, + decorator: Readonly, + ): AnalysisOutput { + const diagnostics: ts.Diagnostic[] = []; + const rawDeclarations = ngModule.get('declarations') ?? null; + const rawImports = ngModule.get('imports') ?? null; + const rawExports = ngModule.get('exports') ?? null; + const rawProviders = ngModule.get('providers') ?? null; + + let id: Expression | null = null; + if (ngModule.has('id')) { + const idExpr = ngModule.get('id')!; + if (!isModuleIdExpression(idExpr)) { + id = new WrappedNodeExpr(idExpr); + } + } + + const type = wrapTypeReference(node); + + const ngModuleMetadata: R3NgModuleMetadata = { + kind: R3NgModuleMetadataKind.Isolated, + type, + importsExpression: rawImports + ? transformToTypeTupleExpression( + rawImports, + this.evaluator, + this.refEmitter, + node.getSourceFile(), + this.reflector, + diagnostics, + ) + : null, + exportsExpression: rawExports + ? transformToTypeTupleExpression( + rawExports, + this.evaluator, + this.refEmitter, + node.getSourceFile(), + this.reflector, + diagnostics, + ) + : null, + id, + selectorScopeMode: R3SelectorScopeMode.Omit, + schemas: [], + }; + + // Providers are emitted as-is - they are needed for the injector but don't go through any + // resolution at this stage. + let wrappedProviders: WrappedNodeExpr | null = null; + if ( + rawProviders !== null && + (!ts.isArrayLiteralExpression(rawProviders) || rawProviders.elements.length > 0) + ) { + wrappedProviders = new WrappedNodeExpr( + this.annotateForClosureCompiler + ? wrapFunctionExpressionsInParens(rawProviders) + : rawProviders, + ); + } + + const injectorMetadata: R3InjectorMetadata = { + name, + type, + providers: wrappedProviders, + imports: [], + }; + + const factoryMetadata: R3FactoryMetadata = { + name, + type, + typeArgumentCount: 0, + deps: getValidConstructorDependencies(node, this.reflector, this.isCore), + target: FactoryTarget.NgModule, + }; + + return { + diagnostics: diagnostics.length > 0 ? diagnostics : undefined, + analysis: { + id, + schemas: [], + mod: ngModuleMetadata, + inj: injectorMetadata, + fac: factoryMetadata, + declarations: [], + rawDeclarations, + imports: [], + rawImports, + importRefs: [], + exports: [], + rawExports, + providers: rawProviders, + providersRequiringFactory: null, + classMetadata: null, + factorySymbolName: node.name.text, + remoteScopesMayRequireCycleProtection: false, + decorator: (decorator?.node as ts.Decorator | null) ?? null, + }, + }; + } + // Verify that a "Declaration" reference is a `ClassDeclaration` reference. private isClassDeclarationReference(ref: Reference): ref is Reference { return this.reflector.isClass(ref.node); @@ -1176,17 +1297,6 @@ export class NgModuleDecoratorHandler implements DecoratorHandler< } else if (entry instanceof DynamicValue && allowUnresolvedReferences) { dynamicValueSet.add(entry); continue; - } else if ( - this.emitDeclarationOnly && - entry instanceof DynamicValue && - entry.isFromUnknownIdentifier() - ) { - throw createValueHasWrongTypeError( - entry.node, - entry, - `Value at position ${absoluteIndex} in the NgModule.${arrayName} of ${className} is an external reference. ` + - 'External references in @NgModule declarations are not supported in experimental declaration-only emission mode', - ); } else { // TODO(alxhub): Produce a better diagnostic here - the array index may be an inner array. throw createValueHasWrongTypeError( @@ -1257,3 +1367,132 @@ function makeStandaloneBootstrapDiagnostic( function isSyntheticReference(ref: Reference): boolean { return ref.synthetic; } + +/** + * Converts a value expression that is an identifier or a chain of property accesses on identifiers + * (e.g. `Foo` or `Foo.bar`) into the equivalent `ts.EntityName`, reusing the original identifier + * nodes so that any imports they reference are preserved by TypeScript's declaration emitter. + * Returns `null` for any other shape of expression. + */ +function expressionToEntityName(expr: ts.Expression): ts.EntityName | null { + if (ts.isIdentifier(expr)) { + return expr; + } + if (ts.isPropertyAccessExpression(expr) && ts.isIdentifier(expr.name)) { + const left = expressionToEntityName(expr.expression); + return left === null ? null : ts.factory.createQualifiedName(left, expr.name); + } + return null; +} + +function transformToTypeTupleElement( + el: ts.Expression, + reflector: ReflectionHost, + diagnostics: ts.Diagnostic[], +): Expression { + let current = unwrapExpression(el); + while (true) { + const unwrapped = tryUnwrapForwardRef(current, reflector); + if (unwrapped === null) { + break; + } + current = unwrapExpression(unwrapped); + } + el = current; + + // A call expression (e.g. `Foo.forRoot()` or a bare `fn()`) cannot be referenced with a + // `typeof` query directly. Instead emit `ReturnType` so that the `.d.ts` + // reader can resolve the (potentially `ModuleWithProviders`) return type later. + if (ts.isCallExpression(el)) { + const callee = expressionToEntityName(el.expression); + if (callee !== null) { + return new WrappedNodeExpr( + ts.factory.createTypeReferenceNode(ts.factory.createIdentifier('ReturnType'), [ + ts.factory.createTypeQueryNode(callee), + ]), + ); + } + } + + if (expressionToEntityName(el) === null) { + const diag = makeDiagnostic( + ErrorCode.LOCAL_COMPILATION_UNSUPPORTED_EXPRESSION, + el, + `In experimental declaration-only emission mode, this expression is not supported in NgModule imports/exports as it cannot be referenced with 'typeof'. Use a direct reference or a supported call.`, + ); + diagnostics.push(diag); + return new WrappedNodeExpr(ts.factory.createKeywordTypeNode(ts.SyntaxKind.NeverKeyword)); + } + + return new TypeofExpr(new WrappedNodeExpr(el)); +} + +function resolvedToTypeTupleElement( + originalEl: ts.Expression, + resolved: ResolvedValue, + refEmitter: ReferenceEmitter, + sourceFile: ts.SourceFile, + reflector: ReflectionHost, + diagnostics: ts.Diagnostic[], +): Expression { + if (resolved instanceof Reference) { + const emitted = refEmitter.emit(resolved, sourceFile); + if (emitted.kind === ReferenceEmitKind.Success) { + return new TypeofExpr(emitted.expression); + } + } + + if (Array.isArray(resolved)) { + const elements: Expression[] = []; + let allValid = true; + for (const item of resolved) { + if (item instanceof Reference) { + const emitted = refEmitter.emit(item, sourceFile); + if (emitted.kind === ReferenceEmitKind.Success) { + elements.push(new TypeofExpr(emitted.expression)); + continue; + } + } + allValid = false; + break; + } + if (allValid && elements.length > 0) { + return new LiteralArrayExpr(elements); + } + } + + // Fallback to syntactic transform + return transformToTypeTupleElement(originalEl, reflector, diagnostics); +} + +function transformToTypeTupleExpression( + expr: ts.Expression, + evaluator: PartialEvaluator, + refEmitter: ReferenceEmitter, + sourceFile: ts.SourceFile, + reflector: ReflectionHost, + diagnostics: ts.Diagnostic[], +): Expression | null { + if (ts.isArrayLiteralExpression(expr)) { + // An empty array is treated like an omitted slot (emitted as `never` by + // `createNgModuleType`), matching the standard compilation path. + if (expr.elements.length === 0) { + return null; + } + return new LiteralArrayExpr( + expr.elements.map((el) => { + const resolved = evaluator.evaluate(el); + return resolvedToTypeTupleElement( + el, + resolved, + refEmitter, + sourceFile, + reflector, + diagnostics, + ); + }), + ); + } + const resolved = evaluator.evaluate(expr); + return resolvedToTypeTupleElement(expr, resolved, refEmitter, sourceFile, reflector, diagnostics); +} diff --git a/packages/compiler-cli/src/ngtsc/metadata/BUILD.bazel b/packages/compiler-cli/src/ngtsc/metadata/BUILD.bazel index 108a800b258d..fc9ecc057698 100644 --- a/packages/compiler-cli/src/ngtsc/metadata/BUILD.bazel +++ b/packages/compiler-cli/src/ngtsc/metadata/BUILD.bazel @@ -12,6 +12,7 @@ ts_project( "//packages/compiler", "//packages/compiler-cli/src/ngtsc/file_system", "//packages/compiler-cli/src/ngtsc/imports", + "//packages/compiler-cli/src/ngtsc/partial_evaluator", "//packages/compiler-cli/src/ngtsc/reflection", "//packages/compiler-cli/src/ngtsc/util", ], diff --git a/packages/compiler-cli/src/ngtsc/metadata/src/dts.ts b/packages/compiler-cli/src/ngtsc/metadata/src/dts.ts index 0462e8bd3f2a..550618216bf4 100644 --- a/packages/compiler-cli/src/ngtsc/metadata/src/dts.ts +++ b/packages/compiler-cli/src/ngtsc/metadata/src/dts.ts @@ -10,6 +10,7 @@ import {ClassPropertyMapping, MatchSource} from '@angular/compiler'; import ts from 'typescript'; import {OwningModule, Reference} from '../../imports'; +import {ForeignTypeResolver, PartialEvaluator, ResolvedValue} from '../../partial_evaluator/index'; import { ClassDeclaration, isNamedClassDeclaration, @@ -29,7 +30,6 @@ import { } from './api'; import { extractDirectiveTypeCheckMeta, - extractReferencesFromType, extraReferenceFromTypeQuery, readBooleanType, readMapType, @@ -42,10 +42,14 @@ import { * from an upstream compilation already. */ export class DtsMetadataReader implements MetadataReader { + private evaluator: PartialEvaluator; + constructor( private checker: ts.TypeChecker, private reflector: ReflectionHost, - ) {} + ) { + this.evaluator = new PartialEvaluator(this.reflector, this.checker, null); + } /** * Read the metadata from a class that has already been compiled somehow (either it's in a .d.ts @@ -76,21 +80,26 @@ export class DtsMetadataReader implements MetadataReader { // Read the ModuleData out of the type arguments. const [_, declarationMetadata, importMetadata, exportMetadata] = ngModuleDef.type.typeArguments; - const declarations = extractReferencesFromType( - this.checker, - declarationMetadata, - ref.bestGuessOwningModule, - ); - const exports = extractReferencesFromType( - this.checker, - exportMetadata, - ref.bestGuessOwningModule, - ); - const imports = extractReferencesFromType( - this.checker, - importMetadata, - ref.bestGuessOwningModule, + const foreignTypeResolver: ForeignTypeResolver = (typeNode: ts.TypeNode) => { + return moduleWithProvidersTypeArgument(typeNode, this.reflector); + }; + + const evaluateMetadata = (metadataNode: ts.TypeNode) => { + return metadataNode.kind === ts.SyntaxKind.NeverKeyword + ? [] + : this.evaluator.evaluateType( + metadataNode, + ref.bestGuessOwningModule, + undefined, + foreignTypeResolver, + ); + }; + + const declarations = this.extractReferencesFromResolvedValue( + evaluateMetadata(declarationMetadata), ); + const exports = this.extractReferencesFromResolvedValue(evaluateMetadata(exportMetadata)); + const imports = this.extractReferencesFromResolvedValue(evaluateMetadata(importMetadata)); // The module is considered poisoned if it's exports couldn't be // resolved completely. This would make the module not necessarily @@ -116,6 +125,30 @@ export class DtsMetadataReader implements MetadataReader { }; } + private extractReferencesFromResolvedValue(value: ResolvedValue): { + result: Reference[]; + isIncomplete: boolean; + } { + const result: Reference[] = []; + let isIncomplete = false; + + if (Array.isArray(value)) { + for (const element of value) { + if (element instanceof Reference && this.reflector.isClass(element.node)) { + result.push(element as Reference); + } else { + isIncomplete = true; + } + } + } else if (value instanceof Reference && this.reflector.isClass(value.node)) { + result.push(value as Reference); + } else { + isIncomplete = true; + } + + return {result, isIncomplete}; + } + /** * Read directive (or component) metadata from a referenced class in a .d.ts file. */ @@ -396,3 +429,31 @@ function readHostDirectivesType( return result.length > 0 ? {result, isIncomplete} : null; } + +/** + * If `type` is `ModuleWithProviders` (resolving to the symbol exported by `@angular/core`, where + * determinable), returns the `T` type node; otherwise `null`. + */ +function moduleWithProvidersTypeArgument( + type: ts.TypeNode | undefined, + host: ReflectionHost, +): ts.TypeNode | null { + if (type === undefined || !ts.isTypeReferenceNode(type)) { + return null; + } + const name = ts.isQualifiedName(type.typeName) ? type.typeName.right : type.typeName; + if (name.text !== 'ModuleWithProviders') { + return null; + } + // If the reference can be traced to an import, require it to be from `@angular/core`. If it can't + // (e.g. a namespace-qualified `i0.ModuleWithProviders` or a local re-declaration in a `.d.ts`), + // fall back to trusting the name. + const imp = host.getImportOfIdentifier(name); + if (imp !== null && (imp.name !== 'ModuleWithProviders' || imp.from !== '@angular/core')) { + return null; + } + if (type.typeArguments === undefined || type.typeArguments.length !== 1) { + return null; + } + return type.typeArguments[0]; +} diff --git a/packages/compiler-cli/src/ngtsc/partial_evaluator/index.ts b/packages/compiler-cli/src/ngtsc/partial_evaluator/index.ts index 50ac0742e654..23d3c4a99deb 100644 --- a/packages/compiler-cli/src/ngtsc/partial_evaluator/index.ts +++ b/packages/compiler-cli/src/ngtsc/partial_evaluator/index.ts @@ -8,7 +8,7 @@ export {describeResolvedType, traceDynamicValue} from './src/diagnostics'; export {DynamicValue} from './src/dynamic'; -export {ForeignFunctionResolver, PartialEvaluator} from './src/interface'; +export {ForeignFunctionResolver, ForeignTypeResolver, PartialEvaluator} from './src/interface'; export {StaticInterpreter} from './src/interpreter'; export { EnumValue, diff --git a/packages/compiler-cli/src/ngtsc/partial_evaluator/src/interface.ts b/packages/compiler-cli/src/ngtsc/partial_evaluator/src/interface.ts index ead70920c957..a11366a321fb 100644 --- a/packages/compiler-cli/src/ngtsc/partial_evaluator/src/interface.ts +++ b/packages/compiler-cli/src/ngtsc/partial_evaluator/src/interface.ts @@ -8,7 +8,7 @@ import ts from 'typescript'; -import {Reference} from '../../imports'; +import {OwningModule, Reference} from '../../imports'; import {DependencyTracker} from '../../incremental/api'; import {ReflectionHost} from '../../reflection'; @@ -23,6 +23,8 @@ export type ForeignFunctionResolver = ( unresolvable: DynamicValue, ) => ResolvedValue; +export type ForeignTypeResolver = (typeNode: ts.TypeNode) => ts.TypeNode | null; + export class PartialEvaluator { constructor( private host: ReflectionHost, @@ -41,4 +43,30 @@ export class PartialEvaluator { foreignFunctionResolver, }); } + + /** + * Statically evaluates a `ts.TypeNode` (rather than a value expression) to a `ResolvedValue`. + * + * This is used when reading metadata that was encoded into `.d.ts` type positions - for example + * the `imports`/`exports`/`declarations` tuples of `ɵɵNgModuleDeclaration`, which may be written + * as `typeof X` queries, `ReturnType`, references to constants that themselves + * resolve to tuples, etc. + */ + evaluateType( + typeNode: ts.TypeNode, + owningModule: OwningModule | null = null, + foreignFunctionResolver?: ForeignFunctionResolver, + foreignTypeResolver?: ForeignTypeResolver, + ): ResolvedValue { + const interpreter = new StaticInterpreter(this.host, this.checker, this.dependencyTracker); + const sourceFile = typeNode.getSourceFile(); + return interpreter.visitType(typeNode, { + originatingFile: sourceFile, + absoluteModuleName: owningModule ? owningModule.specifier : null, + resolutionContext: owningModule ? owningModule.resolutionContext : sourceFile.fileName, + scope: new Map(), + foreignFunctionResolver, + foreignTypeResolver, + }); + } } diff --git a/packages/compiler-cli/src/ngtsc/partial_evaluator/src/interpreter.ts b/packages/compiler-cli/src/ngtsc/partial_evaluator/src/interpreter.ts index bdb96222ef37..ff273f2d0a82 100644 --- a/packages/compiler-cli/src/ngtsc/partial_evaluator/src/interpreter.ts +++ b/packages/compiler-cli/src/ngtsc/partial_evaluator/src/interpreter.ts @@ -16,7 +16,7 @@ import {isDeclaration} from '../../util/src/typescript'; import {ArrayConcatBuiltinFn, ArraySliceBuiltinFn, StringConcatBuiltinFn} from './builtin'; import {DynamicValue} from './dynamic'; -import type {ForeignFunctionResolver} from './interface'; +import type {ForeignFunctionResolver, ForeignTypeResolver} from './interface'; import { EnumValue, KnownFn, @@ -61,6 +61,7 @@ interface Context { resolutionContext: string; scope: Scope; foreignFunctionResolver?: ForeignFunctionResolver; + foreignTypeResolver?: ForeignTypeResolver; } export class StaticInterpreter { @@ -707,7 +708,7 @@ export class StaticInterpreter { return new Reference(node, owningModule(context)); } - private visitType(node: ts.TypeNode, context: Context): ResolvedValue { + public visitType(node: ts.TypeNode, context: Context): ResolvedValue { if (ts.isLiteralTypeNode(node)) { return this.visitExpression(node.literal, context); } else if (ts.isTupleTypeNode(node)) { @@ -718,6 +719,10 @@ export class StaticInterpreter { return this.visitType(node.type, context); } else if (ts.isTypeQueryNode(node)) { return this.visitTypeQuery(node, context); + } else if (ts.isTypeReferenceNode(node)) { + return this.visitTypeReference(node, context); + } else if (ts.isImportTypeNode(node)) { + return this.visitImportType(node, context); } return DynamicValue.fromDynamicType(node); @@ -747,6 +752,83 @@ export class StaticInterpreter { const declContext: Context = {...context, ...joinModuleContext(context, node, decl)}; return this.visitDeclaration(decl.node, declContext); } + + private visitImportType(node: ts.ImportTypeNode, context: Context): ResolvedValue { + // `import("./module").Foo` - resolve `Foo` to its declaration, using the literal argument as + // the module specifier if the resolved declaration doesn't already carry one. + if (node.qualifier === undefined) { + return DynamicValue.fromDynamicType(node); + } + const name = ts.isQualifiedName(node.qualifier) ? node.qualifier.right : node.qualifier; + if (!ts.isIdentifier(name)) { + return DynamicValue.fromUnknown(node); + } + + const decl = this.host.getDeclarationOfIdentifier(name); + if (decl === null) { + return DynamicValue.fromUnknownIdentifier(name); + } + + let declContext: Context = {...context, ...joinModuleContext(context, node, decl)}; + if ( + declContext.absoluteModuleName === context.absoluteModuleName && + ts.isLiteralTypeNode(node.argument) && + ts.isStringLiteral(node.argument.literal) && + !node.argument.literal.text.startsWith('.') + ) { + declContext = { + ...declContext, + absoluteModuleName: node.argument.literal.text, + resolutionContext: node.getSourceFile().fileName, + }; + } + return this.visitDeclaration(decl.node, declContext); + } + + private visitTypeReference(node: ts.TypeReferenceNode, context: Context): ResolvedValue { + const typeName = ts.isQualifiedName(node.typeName) ? node.typeName.right : node.typeName; + if (!ts.isIdentifier(typeName)) { + return DynamicValue.fromUnknown(node); + } + + // `ReturnType` - resolve `someFn` and, if it returns `ModuleWithProviders`, + // resolve to `T`. This is how the isolated-declarations transform encodes `imports`/`exports` + // entries that were call expressions (e.g. `FooModule.forRoot()` or a bare `provideFoo()`). + if ( + typeName.text === 'ReturnType' && + node.typeArguments !== undefined && + node.typeArguments.length === 1 + ) { + const fn = this.visitType(node.typeArguments[0], context); + if (fn instanceof Reference) { + const decl = fn.node; + if ( + ts.isFunctionDeclaration(decl) || + ts.isMethodDeclaration(decl) || + ts.isMethodSignature(decl) + ) { + if (decl.type !== undefined && context.foreignTypeResolver !== undefined) { + const moduleType = context.foreignTypeResolver(decl.type); + if (moduleType !== null) { + return this.visitType(moduleType, context); + } + } + } + } + } + + // A bare reference to a class - e.g. a hand-written `[FooModule]` tuple element, or the `T` of + // `ModuleWithProviders`. + const decl = this.host.getDeclarationOfIdentifier(typeName); + if (decl !== null && this.host.isClass(decl.node)) { + return this.getReference(decl.node, { + ...context, + ...joinModuleContext(context, typeName, decl), + }); + } + + return DynamicValue.fromDynamicType(node); + } } function isFunctionOrMethodReference( diff --git a/packages/compiler-cli/src/ngtsc/translator/src/type_translator.ts b/packages/compiler-cli/src/ngtsc/translator/src/type_translator.ts index c1f5e4e3f922..0c601a936951 100644 --- a/packages/compiler-cli/src/ngtsc/translator/src/type_translator.ts +++ b/packages/compiler-cli/src/ngtsc/translator/src/type_translator.ts @@ -251,9 +251,14 @@ class TypeTranslatorVisitor implements o.ExpressionVisitor, o.TypeVisitor { visitWrappedNodeExpr(ast: o.WrappedNodeExpr, context: Context): ts.TypeNode { const node: ts.Node = ast.node; if (ts.isEntityName(node)) { - return ts.factory.createTypeReferenceNode(node); + return ts.factory.createTypeReferenceNode(this.routeEntityNameThroughImportManager(node)); } else if (ts.isTypeNode(node)) { - return node; + // The wrapped type node may reference identifiers from another source file (e.g. when the + // NgModule isolated-declarations transform synthesizes `ReturnType`). + // Route the leftmost identifier of each entity name through the `ImportManager` so the + // emitted `.d.ts` carries the needed imports, namespaced consistently with what the standard + // (non-isolated) compilation path produces. + return this.routeEntityNamesInTypeNodeThroughImportManager(node); } else if (ts.isLiteralExpression(node)) { return ts.factory.createLiteralTypeNode(node); } else if (ts.isTypeParameterDeclaration(node)) { @@ -265,6 +270,59 @@ class TypeTranslatorVisitor implements o.ExpressionVisitor, o.TypeVisitor { } } + /** + * If `name`'s leftmost identifier resolves to an import in the source file, replace it with a + * namespaced reference registered via the `ImportManager` (e.g. `Foo` → `iN.Foo` + `import * as + * iN from './foo'` in the emitted file). Returns the entity name unchanged for local symbols or + * synthetic identifiers (e.g. the global `ReturnType`). + */ + private routeEntityNameThroughImportManager(name: ts.EntityName): ts.EntityName { + let leftmost: ts.EntityName = name; + while (ts.isQualifiedName(leftmost)) { + leftmost = leftmost.left; + } + if (!ts.isIdentifier(leftmost)) { + return name; + } + // Synthetic identifiers (with no parent) can't be resolved via `getImportOfIdentifier`, which + // relies on the parent chain - and shouldn't be rewritten anyway (e.g. the global `ReturnType`). + if (leftmost.parent === undefined) { + return name; + } + const imp = this.reflector.getImportOfIdentifier(leftmost); + if (imp === null) { + return name; + } + const namespaced = this.imports.addImport({ + exportModuleSpecifier: imp.from, + exportSymbolName: imp.name, + requestedFile: this.contextFile, + asTypeReference: true, + }); + return replaceLeftmostEntityName(name, namespaced); + } + + private routeEntityNamesInTypeNodeThroughImportManager(typeNode: ts.TypeNode): ts.TypeNode { + const transformer: ts.TransformerFactory = (context) => { + const visit = (node: ts.Node): ts.Node => { + if (ts.isTypeReferenceNode(node)) { + const typeName = this.routeEntityNameThroughImportManager(node.typeName); + const typeArguments = node.typeArguments + ? ts.visitNodes(node.typeArguments, visit, ts.isTypeNode) + : undefined; + return ts.factory.updateTypeReferenceNode(node, typeName, typeArguments); + } + if (ts.isTypeQueryNode(node)) { + const exprName = this.routeEntityNameThroughImportManager(node.exprName); + return ts.factory.updateTypeQueryNode(node, exprName, node.typeArguments); + } + return ts.visitEachChild(node, visit, context); + }; + return (root) => ts.visitNode(root, visit, ts.isTypeNode) as ts.TypeNode; + }; + return ts.transform(typeNode, [transformer]).transformed[0]; + } + visitTypeofExpr(ast: o.TypeofExpr, context: Context): ts.TypeQueryNode { const typeNode = this.translateExpression(ast.expr, context); if (!ts.isTypeReferenceNode(typeNode)) { @@ -350,3 +408,18 @@ class TypeTranslatorVisitor implements o.ExpressionVisitor, o.TypeVisitor { return typeNode; } } + +/** + * Returns a new `ts.EntityName` with `name`'s leftmost identifier replaced by `newLeftmost`. For a + * single-identifier name this is just `newLeftmost`; for a qualified chain it preserves the `right` + * identifiers and re-builds the qualified name. + */ +function replaceLeftmostEntityName(name: ts.EntityName, newLeftmost: ts.EntityName): ts.EntityName { + if (ts.isIdentifier(name)) { + return newLeftmost; + } + return ts.factory.createQualifiedName( + replaceLeftmostEntityName(name.left, newLeftmost), + name.right, + ); +} diff --git a/packages/compiler-cli/test/compliance/declaration-only/declaration_only_emit_spec.ts b/packages/compiler-cli/test/compliance/declaration-only/declaration_only_emit_spec.ts index a36d4639d728..c0efa4ce15fa 100644 --- a/packages/compiler-cli/test/compliance/declaration-only/declaration_only_emit_spec.ts +++ b/packages/compiler-cli/test/compliance/declaration-only/declaration_only_emit_spec.ts @@ -5,6 +5,8 @@ * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.dev/license */ +import * as nodeFs from 'fs'; +import * as path from 'path'; import {FileSystem} from '../../../src/ngtsc/file_system'; import {getReferenceFileForTypeDeclaration} from '../test_helpers/check_type_declarations'; import {CompileResult, compileTest} from '../test_helpers/compile_test'; @@ -21,20 +23,7 @@ runTests('declaration-only emit', emitDeclarationOnlyTest, {emitDeclarationOnly: * @param test The compliance test whose input files should be compiled. */ function emitDeclarationOnlyTest(fs: FileSystem, test: ComplianceTest): CompileResult { - const {emittedFiles} = compileTest( - fs, - test.inputFiles, - test.compilerOptions, - test.angularCompilerOptions, - ); - const emittedTypeDeclarations = emittedFiles.filter((file) => file.endsWith('.d.ts')); - for (const emittedTypeDeclaration of emittedTypeDeclarations) { - fs.moveFile( - emittedTypeDeclaration, - getReferenceFileForTypeDeclaration(fs, emittedTypeDeclaration), - ); - } - return compileTest( + const result = compileTest( fs, test.inputFiles, { @@ -47,4 +36,23 @@ function emitDeclarationOnlyTest(fs: FileSystem, test: ComplianceTest): CompileR _experimentalAllowEmitDeclarationOnly: true, }, ); + + const {emittedFiles} = result; + const emittedTypeDeclarations = emittedFiles.filter((file) => file.endsWith('.d.ts')); + + for (const emittedTypeDeclaration of emittedTypeDeclarations) { + const baseName = fs.basename(emittedTypeDeclaration, '.d.ts'); + const goldenFileName = baseName + '_isolated.golden.d.ts'; + const goldenPath = fs.resolve('/', goldenFileName); + + if (fs.exists(goldenPath)) { + const goldenContent = fs.readFile(goldenPath); + const refPath = getReferenceFileForTypeDeclaration(fs, emittedTypeDeclaration); + fs.writeFile(refPath, goldenContent); + } else { + throw new Error(`Missing golden file for ${emittedTypeDeclaration} at ${goldenPath}`); + } + } + + return result; } diff --git a/packages/compiler-cli/test/compliance/test_cases/model_inputs/mixed_model_types_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/model_inputs/mixed_model_types_isolated.golden.d.ts new file mode 100644 index 000000000000..d000af4f4ece --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/model_inputs/mixed_model_types_isolated.golden.d.ts @@ -0,0 +1,15 @@ +import { EventEmitter } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class TestDir { + counter: import("@angular/core").ModelSignal; + modelWithAlias: import("@angular/core").ModelSignal; + decoratorInput: boolean; + decoratorInputWithAlias: boolean; + decoratorOutput: EventEmitter; + decoratorOutputWithAlias: EventEmitter; + decoratorInputTwoWay: boolean; + decoratorInputTwoWayChange: EventEmitter; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/model_inputs/model_component_definition_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/model_inputs/model_component_definition_isolated.golden.d.ts new file mode 100644 index 000000000000..0202bd1bda98 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/model_inputs/model_component_definition_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class TestComp { + counter: import("@angular/core").ModelSignal; + name: import("@angular/core").ModelSignal; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/model_inputs/model_directive_definition_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/model_inputs/model_directive_definition_isolated.golden.d.ts new file mode 100644 index 000000000000..c2bd6cdf292c --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/model_inputs/model_directive_definition_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class TestDir { + counter: import("@angular/core").ModelSignal; + name: import("@angular/core").ModelSignal; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/output_function/mixed_variants_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/output_function/mixed_variants_isolated.golden.d.ts new file mode 100644 index 000000000000..2a61aecf026b --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/output_function/mixed_variants_isolated.golden.d.ts @@ -0,0 +1,15 @@ +import { EventEmitter } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class TestDir { + click1: import("@angular/core").OutputEmitterRef; + click2: import("@angular/core").OutputEmitterRef; + click3: import("@angular/core").OutputRef; + _bla: import("@angular/core").OutputEmitterRef; + _bla2: import("@angular/core").OutputRef; + clickDecorator1: EventEmitter; + clickDecorator2: EventEmitter; + _blaDecorator: EventEmitter; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/output_function/output_in_component_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/output_function/output_in_component_isolated.golden.d.ts new file mode 100644 index 000000000000..be741ce73bda --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/output_function/output_in_component_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class TestComp { + a: import("@angular/core").OutputEmitterRef; + b: import("@angular/core").OutputEmitterRef; + c: import("@angular/core").OutputEmitterRef; + d: import("@angular/core").OutputRef; + e: import("@angular/core").OutputRef; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/output_function/output_in_directive_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/output_function/output_in_directive_isolated.golden.d.ts new file mode 100644 index 000000000000..06818ed05874 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/output_function/output_in_directive_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class TestDir { + a: import("@angular/core").OutputEmitterRef; + b: import("@angular/core").OutputEmitterRef; + c: import("@angular/core").OutputEmitterRef; + d: import("@angular/core").OutputRef; + e: import("@angular/core").OutputRef; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/class_metadata/custom_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/class_metadata/custom_isolated.golden.d.ts new file mode 100644 index 000000000000..993d40227dd0 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/class_metadata/custom_isolated.golden.d.ts @@ -0,0 +1,4 @@ +export declare function CustomClassDecorator(): ClassDecorator; +export declare function CustomPropDecorator(): PropertyDecorator; +export declare function CustomParamDecorator(): (target: Object, ...rest: any[]) => void; + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/class_metadata/parameter_decorators_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/class_metadata/parameter_decorators_isolated.golden.d.ts new file mode 100644 index 000000000000..d92bd5a373b0 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/class_metadata/parameter_decorators_isolated.golden.d.ts @@ -0,0 +1,40 @@ +import { InjectionToken } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare const TOKEN: InjectionToken; +declare class Service { +} +export declare class ParameterizedInjectable { + constructor(service: Service, token: string, custom: Service, mixed: string); + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵprov: i0.ɵɵInjectableDeclaration; +} +export declare class NoCtor { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵprov: i0.ɵɵInjectableDeclaration; +} +export declare class EmptyCtor { + constructor(); + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵprov: i0.ɵɵInjectableDeclaration; +} +export declare class NoDecorators { + constructor(service: Service); + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵprov: i0.ɵɵInjectableDeclaration; +} +export declare class CustomInjectable { + constructor(service: Service); + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵprov: i0.ɵɵInjectableDeclaration; +} +export declare class DerivedInjectable extends ParameterizedInjectable { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵprov: i0.ɵɵInjectableDeclaration; +} +export declare class DerivedInjectableWithCtor extends ParameterizedInjectable { + constructor(); + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵprov: i0.ɵɵInjectableDeclaration; +} +export {}; + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/class_metadata/property_decorators_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/class_metadata/property_decorators_isolated.golden.d.ts new file mode 100644 index 000000000000..3cc9446235ed --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/class_metadata/property_decorators_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyDir { + foo: string; + bar: string; + custom: string; + mixed: string; + none: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/array_literals_null_vs_empty_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/array_literals_null_vs_empty_isolated.golden.d.ts new file mode 100644 index 000000000000..427a7beb49a8 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/array_literals_null_vs_empty_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/constant_array_literals_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/constant_array_literals_isolated.golden.d.ts new file mode 100644 index 000000000000..aa1276f45e29 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/constant_array_literals_isolated.golden.d.ts @@ -0,0 +1,17 @@ +import * as i0 from "@angular/core"; +export declare class SomeComp { + prop: any; + otherProp: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyApp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyMod { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/constant_object_literals_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/constant_object_literals_isolated.golden.d.ts new file mode 100644 index 000000000000..aa1276f45e29 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/constant_object_literals_isolated.golden.d.ts @@ -0,0 +1,17 @@ +import * as i0 from "@angular/core"; +export declare class SomeComp { + prop: any; + otherProp: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyApp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyMod { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/multiple_wildcards_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/multiple_wildcards_isolated.golden.d.ts new file mode 100644 index 000000000000..638ec628c7b6 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/multiple_wildcards_isolated.golden.d.ts @@ -0,0 +1,2 @@ +export {}; + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/nested_template_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/nested_template_isolated.golden.d.ts new file mode 100644 index 000000000000..638ec628c7b6 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/nested_template_isolated.golden.d.ts @@ -0,0 +1,2 @@ +export {}; + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/ng_content_fallback_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/ng_content_fallback_isolated.golden.d.ts new file mode 100644 index 000000000000..c4327bfddfc9 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/ng_content_fallback_isolated.golden.d.ts @@ -0,0 +1,9 @@ +import * as i0 from "@angular/core"; +export declare class TestComponent { + type: string; + hasFooter: boolean; + hasStructural: boolean; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/ng_content_with_structural_dir_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/ng_content_with_structural_dir_isolated.golden.d.ts new file mode 100644 index 000000000000..e879e2b1df60 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/ng_content_with_structural_dir_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class SimpleComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/ng_project_as_attribute_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/ng_project_as_attribute_isolated.golden.d.ts new file mode 100644 index 000000000000..719dce7cffd7 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/ng_project_as_attribute_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + show: boolean; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/ng_project_as_compound_selector_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/ng_project_as_compound_selector_isolated.golden.d.ts new file mode 100644 index 000000000000..5a107ae53592 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/ng_project_as_compound_selector_isolated.golden.d.ts @@ -0,0 +1,15 @@ +import * as i0 from "@angular/core"; +export declare class SimpleComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyApp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/ng_project_as_selector_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/ng_project_as_selector_isolated.golden.d.ts new file mode 100644 index 000000000000..5a107ae53592 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/ng_project_as_selector_isolated.golden.d.ts @@ -0,0 +1,15 @@ +import * as i0 from "@angular/core"; +export declare class SimpleComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyApp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/project_as_ng_content_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/project_as_ng_content_isolated.golden.d.ts new file mode 100644 index 000000000000..638ec628c7b6 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/project_as_ng_content_isolated.golden.d.ts @@ -0,0 +1,2 @@ +export {}; + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/root_and_nested_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/root_and_nested_isolated.golden.d.ts new file mode 100644 index 000000000000..638ec628c7b6 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/root_and_nested_isolated.golden.d.ts @@ -0,0 +1,2 @@ +export {}; + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/root_template_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/root_template_isolated.golden.d.ts new file mode 100644 index 000000000000..f83b577d2795 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/content_projection/root_template_isolated.golden.d.ts @@ -0,0 +1,19 @@ +import * as i0 from "@angular/core"; +export declare class SimpleComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class ComplexComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyApp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/debug_info_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/debug_info_isolated.golden.d.ts new file mode 100644 index 000000000000..603ba51e930a --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/debug_info_isolated.golden.d.ts @@ -0,0 +1,10 @@ +import * as i0 from "@angular/core"; +export declare class Main { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MainStandalone { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/export_as_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/export_as_isolated.golden.d.ts new file mode 100644 index 000000000000..9ad94b429b0e --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/export_as_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class SomeDirective { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/forward_referenced_directive_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/forward_referenced_directive_isolated.golden.d.ts new file mode 100644 index 000000000000..a9b7a7b9b8f7 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/forward_referenced_directive_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class HostBindingComp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/forward_referenced_pipe_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/forward_referenced_pipe_isolated.golden.d.ts new file mode 100644 index 000000000000..a9b7a7b9b8f7 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/forward_referenced_pipe_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class HostBindingComp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/library_exports_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/library_exports_isolated.golden.d.ts new file mode 100644 index 000000000000..3a7fb3b72a27 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/library_exports_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +import * as i1 from "external_library"; +export declare class TestComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class TestModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/lifecycle_hooks/lifecycle_hooks_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/lifecycle_hooks/lifecycle_hooks_isolated.golden.d.ts new file mode 100644 index 000000000000..44e2a3462fb1 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/lifecycle_hooks/lifecycle_hooks_isolated.golden.d.ts @@ -0,0 +1,26 @@ +import * as i0 from "@angular/core"; +export declare class LifecycleComp { + nameMin: string; + ngOnChanges(): void; + ngOnInit(): void; + ngDoCheck(): void; + ngAfterContentInit(): void; + ngAfterContentChecked(): void; + ngAfterViewInit(): void; + ngAfterViewChecked(): void; + ngOnDestroy(): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class SimpleLayout { + name1: string; + name2: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class LifecycleModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/lifecycle_hooks/local_reference_and_context_variables_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/lifecycle_hooks/local_reference_and_context_variables_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/lifecycle_hooks/local_reference_and_context_variables_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/lifecycle_hooks/local_reference_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/lifecycle_hooks/local_reference_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/lifecycle_hooks/local_reference_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/lifecycle_hooks/local_reference_nested_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/lifecycle_hooks/local_reference_nested_isolated.golden.d.ts new file mode 100644 index 000000000000..11c21a7c53f7 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/lifecycle_hooks/local_reference_nested_isolated.golden.d.ts @@ -0,0 +1,17 @@ +import { TemplateRef } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class IfDirective { + constructor(template: TemplateRef); + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/nested_component_definition_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/nested_component_definition_isolated.golden.d.ts new file mode 100644 index 000000000000..638ec628c7b6 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/nested_component_definition_isolated.golden.d.ts @@ -0,0 +1,2 @@ +export {}; + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/ng_template_empty_binding_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/ng_template_empty_binding_isolated.golden.d.ts new file mode 100644 index 000000000000..369d48d556a2 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/ng_template_empty_binding_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/no_selector_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/no_selector_isolated.golden.d.ts new file mode 100644 index 000000000000..4b4fb79c06b2 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/no_selector_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class AbstractDirective { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/non_literal_template_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/non_literal_template_isolated.golden.d.ts new file mode 100644 index 000000000000..7d5bc749f628 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/non_literal_template_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/non_literal_template_with_concatenation_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/non_literal_template_with_concatenation_isolated.golden.d.ts new file mode 100644 index 000000000000..7d5bc749f628 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/non_literal_template_with_concatenation_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/non_literal_template_with_substitution_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/non_literal_template_with_substitution_isolated.golden.d.ts new file mode 100644 index 000000000000..7d5bc749f628 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/non_literal_template_with_substitution_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/object_literals_null_vs_empty_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/object_literals_null_vs_empty_isolated.golden.d.ts new file mode 100644 index 000000000000..427a7beb49a8 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/object_literals_null_vs_empty_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/object_literals_null_vs_function_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/object_literals_null_vs_function_isolated.golden.d.ts new file mode 100644 index 000000000000..0cf0f9d8e76f --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/object_literals_null_vs_function_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + getFoo(): string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/pipes/nameless_pipe_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/pipes/nameless_pipe_isolated.golden.d.ts new file mode 100644 index 000000000000..557fadd47c35 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/pipes/nameless_pipe_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import { PipeTransform } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class PipeWithoutName implements PipeTransform { + transform(value: unknown): unknown; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/pipes/pipe_di_change_detector_ref_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/pipes/pipe_di_change_detector_ref_isolated.golden.d.ts new file mode 100644 index 000000000000..8b725babafe1 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/pipes/pipe_di_change_detector_ref_isolated.golden.d.ts @@ -0,0 +1,25 @@ +import { ChangeDetectorRef, PipeTransform } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class MyPipe implements PipeTransform { + constructor(changeDetectorRef: ChangeDetectorRef); + transform(value: any, ...args: any[]): any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class MyOtherPipe implements PipeTransform { + constructor(changeDetectorRef: ChangeDetectorRef); + transform(value: any, ...args: any[]): any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class MyApp { + name: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/pipes/pipe_invocation_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/pipes/pipe_invocation_isolated.golden.d.ts new file mode 100644 index 000000000000..2c9c7b25cc16 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/pipes/pipe_invocation_isolated.golden.d.ts @@ -0,0 +1,19 @@ +import { OnDestroy, PipeTransform } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class MyPipe implements PipeTransform, OnDestroy { + transform(value: any, ...args: any[]): any; + ngOnDestroy(): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class MyApp { + name: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/pipes/pipes_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/pipes/pipes_isolated.golden.d.ts new file mode 100644 index 000000000000..ac1ca95adf93 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/pipes/pipes_isolated.golden.d.ts @@ -0,0 +1,25 @@ +import { OnDestroy, PipeTransform } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class MyPipe implements PipeTransform, OnDestroy { + transform(value: any, ...args: any[]): any; + ngOnDestroy(): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class MyPurePipe implements PipeTransform { + transform(value: any, ...args: any[]): any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class MyApp { + name: string; + size: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/content_query_for_directive_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/content_query_for_directive_isolated.golden.d.ts new file mode 100644 index 000000000000..07b0fed76d65 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/content_query_for_directive_isolated.golden.d.ts @@ -0,0 +1,19 @@ +import { QueryList } from '@angular/core'; +import { SomeDirective } from './some.directive'; +import * as i0 from "@angular/core"; +export declare class ContentQueryComponent { + someDir: SomeDirective; + someDirList: QueryList; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyApp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/content_query_for_local_ref_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/content_query_for_local_ref_isolated.golden.d.ts new file mode 100644 index 000000000000..cccbc908c2d3 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/content_query_for_local_ref_isolated.golden.d.ts @@ -0,0 +1,14 @@ +import { QueryList } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class ContentQueryComponent { + myRef: any; + myRefs: QueryList; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/content_query_forward_ref_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/content_query_forward_ref_isolated.golden.d.ts new file mode 100644 index 000000000000..759969832ec6 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/content_query_forward_ref_isolated.golden.d.ts @@ -0,0 +1,22 @@ +import { QueryList } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class ContentQueryComponent { + someDir: SomeDirective; + someDirList: QueryList; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyApp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class SomeDirective { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/content_query_read_token_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/content_query_read_token_isolated.golden.d.ts new file mode 100644 index 000000000000..b6c68b66dd55 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/content_query_read_token_isolated.golden.d.ts @@ -0,0 +1,16 @@ +import { ElementRef, QueryList, TemplateRef } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class ContentQueryComponent { + myRef: TemplateRef; + myRefs: QueryList; + someDir: ElementRef; + someDirs: QueryList>; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/query_with_emit_distinct_changes_only_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/query_with_emit_distinct_changes_only_isolated.golden.d.ts new file mode 100644 index 000000000000..565143afea1b --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/query_with_emit_distinct_changes_only_isolated.golden.d.ts @@ -0,0 +1,16 @@ +import { ElementRef, QueryList } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class ContentQueryComponent { + myRefs: QueryList; + oldMyRefs: QueryList; + someDirs: QueryList; + oldSomeDirs: QueryList; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/some.directive_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/some.directive_isolated.golden.d.ts new file mode 100644 index 000000000000..4e5e5e5eff90 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/some.directive_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class SomeDirective { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/static_content_query_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/static_content_query_isolated.golden.d.ts new file mode 100644 index 000000000000..f94bf20d166b --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/static_content_query_isolated.golden.d.ts @@ -0,0 +1,19 @@ +import { ElementRef } from '@angular/core'; +import { SomeDirective } from './some.directive'; +import * as i0 from "@angular/core"; +export declare class ContentQueryComponent { + someDir: SomeDirective; + foo: ElementRef; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyApp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/static_view_query_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/static_view_query_isolated.golden.d.ts new file mode 100644 index 000000000000..ff38a6fcfb5e --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/static_view_query_isolated.golden.d.ts @@ -0,0 +1,15 @@ +import { ElementRef } from '@angular/core'; +import { SomeDirective } from './some.directive'; +import * as i0 from "@angular/core"; +export declare class ViewQueryComponent { + someDir: SomeDirective; + foo: ElementRef; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/view_query_for_directive_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/view_query_for_directive_isolated.golden.d.ts new file mode 100644 index 000000000000..1a2109021e91 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/view_query_for_directive_isolated.golden.d.ts @@ -0,0 +1,15 @@ +import { QueryList } from '@angular/core'; +import { SomeDirective } from './some.directive'; +import * as i0 from "@angular/core"; +export declare class ViewQueryComponent { + someDir: SomeDirective; + someDirs: QueryList; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/view_query_for_local_ref_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/view_query_for_local_ref_isolated.golden.d.ts new file mode 100644 index 000000000000..6ede71093700 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/view_query_for_local_ref_isolated.golden.d.ts @@ -0,0 +1,14 @@ +import { QueryList } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class ViewQueryComponent { + myRef: any; + myRefs: QueryList; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/view_query_forward_ref_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/view_query_forward_ref_isolated.golden.d.ts new file mode 100644 index 000000000000..439e8dcb3da4 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/view_query_forward_ref_isolated.golden.d.ts @@ -0,0 +1,22 @@ +import { QueryList } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class ViewQueryComponent { + someDir: SomeDirective; + someDirList: QueryList; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyApp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class SomeDirective { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/view_query_read_token_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/view_query_read_token_isolated.golden.d.ts new file mode 100644 index 000000000000..9e91e4f3ab85 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/queries/view_query_read_token_isolated.golden.d.ts @@ -0,0 +1,16 @@ +import { ElementRef, QueryList, TemplateRef } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class ViewQueryComponent { + myRef: TemplateRef; + myRefs: QueryList; + someDir: ElementRef; + someDirs: QueryList>; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/signals/component_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/signals/component_isolated.golden.d.ts new file mode 100644 index 000000000000..3d2ed423dab9 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/signals/component_isolated.golden.d.ts @@ -0,0 +1,10 @@ +import * as i0 from "@angular/core"; +export declare class OtherCmp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class SignalCmp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/signals/directive_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/signals/directive_isolated.golden.d.ts new file mode 100644 index 000000000000..d337fabff827 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/signals/directive_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class SignalDir { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/component_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/component_isolated.golden.d.ts new file mode 100644 index 000000000000..bb240db5ea3b --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/component_isolated.golden.d.ts @@ -0,0 +1,10 @@ +import * as i0 from "@angular/core"; +export declare class OtherCmp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class StandaloneCmp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/directive_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/directive_isolated.golden.d.ts new file mode 100644 index 000000000000..4d26cf9c09a7 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/directive_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class StandaloneDir { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/forward_ref_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/forward_ref_isolated.golden.d.ts new file mode 100644 index 000000000000..6a6035321567 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/forward_ref_isolated.golden.d.ts @@ -0,0 +1,10 @@ +import * as i0 from "@angular/core"; +export declare class TestComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class StandaloneComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/imports_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/imports_isolated.golden.d.ts new file mode 100644 index 000000000000..414103d960a1 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/imports_isolated.golden.d.ts @@ -0,0 +1,44 @@ +import * as i0 from "@angular/core"; +export declare class NotStandaloneDir { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class NotStandalonePipe { + transform(value: any): any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class NotStandaloneStuffModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} +export declare class IndirectDir { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class IndirectPipe { + transform(value: any): any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class SomeModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} +export declare class DirectDir { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class DirectPipe { + transform(value: any): any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class TestCmp { + data: boolean; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/module_optimization_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/module_optimization_isolated.golden.d.ts new file mode 100644 index 000000000000..4c93b16fab93 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/module_optimization_isolated.golden.d.ts @@ -0,0 +1,15 @@ +import * as i0 from "@angular/core"; +export declare class StandaloneCmp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class StandaloneDir { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class Module { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/pipe_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/pipe_isolated.golden.d.ts new file mode 100644 index 000000000000..4767124571da --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/pipe_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class StandalonePipe { + transform(value: any): any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/recursive_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/recursive_isolated.golden.d.ts new file mode 100644 index 000000000000..cb45d1631d58 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/standalone/recursive_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class RecursiveComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/template_variables/for_of_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/template_variables/for_of_isolated.golden.d.ts new file mode 100644 index 000000000000..209ac650fca7 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/template_variables/for_of_isolated.golden.d.ts @@ -0,0 +1,19 @@ +import { SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core'; +import * as i0 from "@angular/core"; +export interface ForOfContext { + $implicit: any; + index: number; + even: boolean; + odd: boolean; +} +export declare class ForOfDirective { + private view; + private template; + private previous; + constructor(view: ViewContainerRef, template: TemplateRef); + forOf: any[]; + ngOnChanges(simpleChanges: SimpleChanges): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/template_variables/let_variable_and_reference_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/template_variables/let_variable_and_reference_isolated.golden.d.ts new file mode 100644 index 000000000000..578d527dc1e6 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/template_variables/let_variable_and_reference_isolated.golden.d.ts @@ -0,0 +1,14 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + items: { + name: string; + }[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/template_variables/parent_template_variable_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/template_variables/parent_template_variable_isolated.golden.d.ts new file mode 100644 index 000000000000..a7cca33da94d --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/template_variables/parent_template_variable_isolated.golden.d.ts @@ -0,0 +1,17 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + items: { + name: string; + infos: { + description: string; + }[]; + }[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/template_variables/svg_embedded_view_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/template_variables/svg_embedded_view_isolated.golden.d.ts new file mode 100644 index 000000000000..b445f6ee0fab --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/template_variables/svg_embedded_view_isolated.golden.d.ts @@ -0,0 +1,14 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + items: { + data: number; + }[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/array_literal_spread_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/array_literal_spread_isolated.golden.d.ts new file mode 100644 index 000000000000..d1b580e737be --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/array_literal_spread_isolated.golden.d.ts @@ -0,0 +1,9 @@ +import * as i0 from "@angular/core"; +export declare class ArrayComp { + foo: never[]; + bar: never[]; + baz: never[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/array_literals_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/array_literals_isolated.golden.d.ts new file mode 100644 index 000000000000..07343fdc03a6 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/array_literals_isolated.golden.d.ts @@ -0,0 +1,17 @@ +import * as i0 from "@angular/core"; +export declare class MyComp { + names: string[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyApp { + customName: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/array_literals_many_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/array_literals_many_isolated.golden.d.ts new file mode 100644 index 000000000000..46567c99b267 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/array_literals_many_isolated.golden.d.ts @@ -0,0 +1,25 @@ +import * as i0 from "@angular/core"; +export declare class MyComp { + names: string[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyApp { + n0: string; + n1: string; + n2: string; + n3: string; + n4: string; + n5: string; + n6: string; + n7: string; + n8: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/call_rest_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/call_rest_isolated.golden.d.ts new file mode 100644 index 000000000000..3bdb41b456b9 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/call_rest_isolated.golden.d.ts @@ -0,0 +1,10 @@ +import * as i0 from "@angular/core"; +export declare class TestComp { + foo: never[]; + bar: never[]; + baz: never[]; + fn(..._: any[]): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/complex_selectors_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/complex_selectors_isolated.golden.d.ts new file mode 100644 index 000000000000..e9ce91bdd92e --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/complex_selectors_isolated.golden.d.ts @@ -0,0 +1,15 @@ +import * as i0 from "@angular/core"; +export declare class SomeDirective { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class OtherDirective { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/directives_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/directives_isolated.golden.d.ts new file mode 100644 index 000000000000..8b97e6a7d6fc --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/directives_isolated.golden.d.ts @@ -0,0 +1,19 @@ +import * as i0 from "@angular/core"; +export declare class ChildComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class SomeDirective { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/dollar_escape_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/dollar_escape_isolated.golden.d.ts new file mode 100644 index 000000000000..f9f340b5a434 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/dollar_escape_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + price: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/id_selector_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/id_selector_isolated.golden.d.ts new file mode 100644 index 000000000000..0229627031c2 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/id_selector_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class SomeComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/literal_nested_expression_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/literal_nested_expression_isolated.golden.d.ts new file mode 100644 index 000000000000..5802e947908d --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/literal_nested_expression_isolated.golden.d.ts @@ -0,0 +1,20 @@ +import * as i0 from "@angular/core"; +export declare class NestedComp { + config: { + [key: string]: any; + }; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyApp { + name: string; + duration: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/no_selector_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/no_selector_isolated.golden.d.ts new file mode 100644 index 000000000000..11ed7fa2deac --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/no_selector_isolated.golden.d.ts @@ -0,0 +1,15 @@ +import * as i0 from "@angular/core"; +export declare class RouterOutlet { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class EmptyOutletComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/number_separator_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/number_separator_isolated.golden.d.ts new file mode 100644 index 000000000000..97874582c4eb --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/number_separator_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + multiplier: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/object_literal_spread_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/object_literal_spread_isolated.golden.d.ts new file mode 100644 index 000000000000..8e6c59535afb --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/object_literal_spread_isolated.golden.d.ts @@ -0,0 +1,9 @@ +import * as i0 from "@angular/core"; +export declare class ObjectComp { + foo: {}; + bar: {}; + baz: {}; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/object_literals_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/object_literals_isolated.golden.d.ts new file mode 100644 index 000000000000..374e2d5f3746 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/object_literals_isolated.golden.d.ts @@ -0,0 +1,19 @@ +import * as i0 from "@angular/core"; +export declare class ObjectComp { + config: { + [key: string]: any; + }; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyApp { + name: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/regular_expression_with_global_flag_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/regular_expression_with_global_flag_isolated.golden.d.ts new file mode 100644 index 000000000000..9761d29f08ad --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/regular_expression_with_global_flag_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class TestComp { + value: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/regular_expression_without_global_flag_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/regular_expression_without_global_flag_isolated.golden.d.ts new file mode 100644 index 000000000000..9761d29f08ad --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/regular_expression_without_global_flag_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class TestComp { + value: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/structural_directives_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/structural_directives_isolated.golden.d.ts new file mode 100644 index 000000000000..cdc0e2311545 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/structural_directives_isolated.golden.d.ts @@ -0,0 +1,18 @@ +import { TemplateRef } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class IfDirective { + constructor(template: TemplateRef); + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyComponent { + salutation: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/tagged_template_literals_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/tagged_template_literals_isolated.golden.d.ts new file mode 100644 index 000000000000..30d74b55a098 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/tagged_template_literals_isolated.golden.d.ts @@ -0,0 +1,14 @@ +import * as i0 from "@angular/core"; +export declare class UppercasePipe { + transform(value: string): string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class MyApp { + name: string; + timeOfDay: string; + tag: (strings: TemplateStringsArray, ...args: string[]) => string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/template_literals_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/template_literals_isolated.golden.d.ts new file mode 100644 index 000000000000..04a038517cd3 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/template_literals_isolated.golden.d.ts @@ -0,0 +1,13 @@ +import * as i0 from "@angular/core"; +export declare class UppercasePipe { + transform(value: string): string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class MyApp { + name: string; + timeOfDay: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/view_tokens_di_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/view_tokens_di_isolated.golden.d.ts new file mode 100644 index 000000000000..cb9dba4ea74d --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/view_tokens_di_isolated.golden.d.ts @@ -0,0 +1,16 @@ +import { ChangeDetectorRef, ElementRef, ViewContainerRef } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class MyComponent { + el: ElementRef; + vcr: ViewContainerRef; + cdr: ChangeDetectorRef; + constructor(el: ElementRef, vcr: ViewContainerRef, cdr: ChangeDetectorRef); + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/class_style_bindings_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/class_style_bindings_isolated.golden.d.ts new file mode 100644 index 000000000000..469aaae0d21b --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/class_style_bindings_isolated.golden.d.ts @@ -0,0 +1,13 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + error: boolean; + color: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/deduplicate_attributes_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/deduplicate_attributes_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/deduplicate_attributes_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/dom_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/dom_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/dom_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/empty_ng-container_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/empty_ng-container_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/empty_ng-container_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/host_binding_pure_functions_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/host_binding_pure_functions_isolated.golden.d.ts new file mode 100644 index 000000000000..5a62a83fa9a5 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/host_binding_pure_functions_isolated.golden.d.ts @@ -0,0 +1,16 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + expandedHeight: string; + collapsedHeight: string; + expandedWidth: string; + collapsedWidth: string; + getExpandedState(): string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/iframe_attrs_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/iframe_attrs_isolated.golden.d.ts new file mode 100644 index 000000000000..142165b1aa8b --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/iframe_attrs_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + fullscreen: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/mathml_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/mathml_isolated.golden.d.ts new file mode 100644 index 000000000000..ff400273bcc2 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/mathml_isolated.golden.d.ts @@ -0,0 +1,19 @@ +import * as i0 from "@angular/core"; +export declare class MathCmp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class InfinityCmp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/namespace_attr_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/namespace_attr_isolated.golden.d.ts new file mode 100644 index 000000000000..2807b4e7f002 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/namespace_attr_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + value: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/namespace_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/namespace_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/namespace_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/ng-container_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/ng-container_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/ng-container_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/properties_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/properties_isolated.golden.d.ts new file mode 100644 index 000000000000..810bc3d548cb --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/properties_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + id: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/property_pure_functions_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/property_pure_functions_isolated.golden.d.ts new file mode 100644 index 000000000000..725937362b89 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/property_pure_functions_isolated.golden.d.ts @@ -0,0 +1,30 @@ +import * as i0 from "@angular/core"; +export declare class DivDir { + ternary: any; + pipe: any; + and: any; + or: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class PipePipe { + transform(v: any, a: any, a2: any): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class MyComponent { + id: string; + cond: string; + value: string; + a: string; + b: string; + c: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/security_sensitive_constant_attributes_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/security_sensitive_constant_attributes_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/security_sensitive_constant_attributes_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/svg_embedded_view_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/svg_embedded_view_isolated.golden.d.ts new file mode 100644 index 000000000000..792ee409f48d --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/svg_embedded_view_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + condition: boolean; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/svg_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/svg_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/elements/svg_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/TEST_CASES.json b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/TEST_CASES.json index 8c8b4828944a..e23fb2d021f5 100644 --- a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/TEST_CASES.json +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/TEST_CASES.json @@ -129,7 +129,7 @@ "files": ["forward_refs.js"] } ], - "compilationModeFilter": ["linked compile", "declaration-only emit"], + "compilationModeFilter": ["linked compile"], "angularCompilerOptions": { "linkerJitMode": true } diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/basic_full_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/basic_full_isolated.golden.d.ts new file mode 100644 index 000000000000..45f05b488f54 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/basic_full_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class BasicModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/basic_linked_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/basic_linked_isolated.golden.d.ts new file mode 100644 index 000000000000..45f05b488f54 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/basic_linked_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class BasicModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/declarations_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/declarations_isolated.golden.d.ts new file mode 100644 index 000000000000..1b92f2129ba2 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/declarations_isolated.golden.d.ts @@ -0,0 +1,22 @@ +import { PipeTransform } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class FooComponent { + name: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class BarDirective { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class QuxPipe implements PipeTransform { + transform(): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class FooModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/declarations_jit_mode_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/declarations_jit_mode_isolated.golden.d.ts new file mode 100644 index 000000000000..1b92f2129ba2 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/declarations_jit_mode_isolated.golden.d.ts @@ -0,0 +1,22 @@ +import { PipeTransform } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class FooComponent { + name: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class BarDirective { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class QuxPipe implements PipeTransform { + transform(): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class FooModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/empty_fields_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/empty_fields_isolated.golden.d.ts new file mode 100644 index 000000000000..2971b8840cf5 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/empty_fields_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class FooModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/imports_exports_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/imports_exports_isolated.golden.d.ts new file mode 100644 index 000000000000..1c1233a36ddc --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/imports_exports_isolated.golden.d.ts @@ -0,0 +1,33 @@ +import * as i0 from "@angular/core"; +export declare class A1Component { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class A2Component { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class AModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} +export declare class B1Component { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class B2Component { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class BModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} +export declare class AppModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/imports_exports_jit_mode_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/imports_exports_jit_mode_isolated.golden.d.ts new file mode 100644 index 000000000000..1c1233a36ddc --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/imports_exports_jit_mode_isolated.golden.d.ts @@ -0,0 +1,33 @@ +import * as i0 from "@angular/core"; +export declare class A1Component { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class A2Component { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class AModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} +export declare class B1Component { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class B2Component { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class BModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} +export declare class AppModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/inheritance_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/inheritance_isolated.golden.d.ts new file mode 100644 index 000000000000..aeac9c11fc49 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/inheritance_isolated.golden.d.ts @@ -0,0 +1,18 @@ +import * as i0 from "@angular/core"; +export declare class Service { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵprov: i0.ɵɵInjectableDeclaration; +} +export declare class BaseModule { + private service; + constructor(service: Service); + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} +export declare class BasicModule extends BaseModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/no_aot_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/no_aot_isolated.golden.d.ts new file mode 100644 index 000000000000..05c9ac84429b --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/no_aot_isolated.golden.d.ts @@ -0,0 +1,3 @@ +export declare class NoAotModule { +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/providers_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/providers_isolated.golden.d.ts new file mode 100644 index 000000000000..b279ea5b786b --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/providers_isolated.golden.d.ts @@ -0,0 +1,21 @@ +import * as i0 from "@angular/core"; +export declare class Thing { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵprov: i0.ɵɵInjectableDeclaration; +} +export declare class BaseService { + protected thing: Thing; + constructor(thing: Thing); + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵprov: i0.ɵɵInjectableDeclaration; +} +export declare class ChildService extends BaseService { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵprov: i0.ɵɵInjectableDeclaration; +} +export declare class FooModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/variable_providers_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/variable_providers_isolated.golden.d.ts new file mode 100644 index 000000000000..2971b8840cf5 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/ng_modules/variable_providers_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class FooModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_enter_with_binding_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_enter_with_binding_isolated.golden.d.ts new file mode 100644 index 000000000000..ef981a5b60f2 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_enter_with_binding_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + enterClass: import("@angular/core").WritableSignal; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_enter_with_event_host_bindings_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_enter_with_event_host_bindings_isolated.golden.d.ts new file mode 100644 index 000000000000..bbd2ccd9e8bd --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_enter_with_event_host_bindings_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import { AnimationCallbackEvent } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class ChildComponent { + fadeFn(event: AnimationCallbackEvent): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_enter_with_event_listener_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_enter_with_event_listener_isolated.golden.d.ts new file mode 100644 index 000000000000..fadf974f06f4 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_enter_with_event_listener_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import { AnimationCallbackEvent } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class MyComponent { + slideFn(event: AnimationCallbackEvent): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_enter_with_string_host_bindings_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_enter_with_string_host_bindings_isolated.golden.d.ts new file mode 100644 index 000000000000..ea52e4a2d6a7 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_enter_with_string_host_bindings_isolated.golden.d.ts @@ -0,0 +1,10 @@ +import * as i0 from "@angular/core"; +export declare class ChildComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_enter_with_string_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_enter_with_string_isolated.golden.d.ts new file mode 100644 index 000000000000..43e4da58fd63 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_enter_with_string_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_enter_with_structural_directive_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_enter_with_structural_directive_isolated.golden.d.ts new file mode 100644 index 000000000000..0a97811d9b20 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_enter_with_structural_directive_isolated.golden.d.ts @@ -0,0 +1,10 @@ +import * as i0 from "@angular/core"; +export declare class AnyStructuralDirective { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_leave_with_binding_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_leave_with_binding_isolated.golden.d.ts new file mode 100644 index 000000000000..1eb0d7f57f97 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_leave_with_binding_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + leaveClass: import("@angular/core").WritableSignal; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_leave_with_event_host_bindings_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_leave_with_event_host_bindings_isolated.golden.d.ts new file mode 100644 index 000000000000..bbd2ccd9e8bd --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_leave_with_event_host_bindings_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import { AnimationCallbackEvent } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class ChildComponent { + fadeFn(event: AnimationCallbackEvent): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_leave_with_event_listener_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_leave_with_event_listener_isolated.golden.d.ts new file mode 100644 index 000000000000..cace796109ca --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_leave_with_event_listener_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import { AnimationCallbackEvent } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class MyComponent { + fadeFn(event: AnimationCallbackEvent): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_leave_with_string_host_bindings_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_leave_with_string_host_bindings_isolated.golden.d.ts new file mode 100644 index 000000000000..ea52e4a2d6a7 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_leave_with_string_host_bindings_isolated.golden.d.ts @@ -0,0 +1,10 @@ +import * as i0 from "@angular/core"; +export declare class ChildComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_leave_with_string_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_leave_with_string_isolated.golden.d.ts new file mode 100644 index 000000000000..43e4da58fd63 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_leave_with_string_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_prefix_with_event_listener_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_prefix_with_event_listener_isolated.golden.d.ts new file mode 100644 index 000000000000..4140ca278b84 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/animations/animate_prefix_with_event_listener_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + doSomething(): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/any/basic_any_cast_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/any/basic_any_cast_isolated.golden.d.ts new file mode 100644 index 000000000000..638ec628c7b6 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/any/basic_any_cast_isolated.golden.d.ts @@ -0,0 +1,2 @@ +export {}; + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/any/this_any_access_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/any/this_any_access_isolated.golden.d.ts new file mode 100644 index 000000000000..638ec628c7b6 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/any/this_any_access_isolated.golden.d.ts @@ -0,0 +1,2 @@ +export {}; + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/hello_world/test_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/hello_world/test_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/hello_world/test_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/interpolations/test_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/interpolations/test_isolated.golden.d.ts new file mode 100644 index 000000000000..fddbf118e122 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/interpolations/test_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + list: any[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/legacy_animations/duplicate_animation_listeners_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/legacy_animations/duplicate_animation_listeners_isolated.golden.d.ts new file mode 100644 index 000000000000..3eec829e32d4 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/legacy_animations/duplicate_animation_listeners_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/legacy_animations/static_animation_attribute_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/legacy_animations/static_animation_attribute_isolated.golden.d.ts new file mode 100644 index 000000000000..04a248beecf3 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/legacy_animations/static_animation_attribute_isolated.golden.d.ts @@ -0,0 +1,13 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + exp: any; + any: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/nullish_coalescing/nullish_coalescing_host_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/nullish_coalescing/nullish_coalescing_host_isolated.golden.d.ts new file mode 100644 index 000000000000..d67f19332697 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/nullish_coalescing/nullish_coalescing_host_isolated.golden.d.ts @@ -0,0 +1,15 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + firstName: string | null; + lastName: string | null; + lastNameFallback: string; + logLastName(name: string): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/nullish_coalescing/nullish_coalescing_interpolation_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/nullish_coalescing/nullish_coalescing_interpolation_isolated.golden.d.ts new file mode 100644 index 000000000000..9d01600988c5 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/nullish_coalescing/nullish_coalescing_interpolation_isolated.golden.d.ts @@ -0,0 +1,14 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + firstName: string | null; + lastName: string | null; + lastNameFallback: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/nullish_coalescing/nullish_coalescing_parens_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/nullish_coalescing/nullish_coalescing_parens_isolated.golden.d.ts new file mode 100644 index 000000000000..1a40e204e1de --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/nullish_coalescing/nullish_coalescing_parens_isolated.golden.d.ts @@ -0,0 +1,9 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + x: any; + y: any; + z: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/nullish_coalescing/nullish_coalescing_property_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/nullish_coalescing/nullish_coalescing_property_isolated.golden.d.ts new file mode 100644 index 000000000000..9d01600988c5 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/nullish_coalescing/nullish_coalescing_property_isolated.golden.d.ts @@ -0,0 +1,14 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + firstName: string | null; + lastName: string | null; + lastNameFallback: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/operators_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/operators_isolated.golden.d.ts new file mode 100644 index 000000000000..22a2055ec4c5 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/operators_isolated.golden.d.ts @@ -0,0 +1,19 @@ +import * as i0 from "@angular/core"; +export declare class IdentityPipe { + transform(value: any): any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class Bar { +} +export declare class MyApp { + foo: { + bar?: string; + }; + number: number; + bar: Bar; + Bar: typeof Bar; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/safe_access/safe_access_deep_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/safe_access/safe_access_deep_isolated.golden.d.ts new file mode 100644 index 000000000000..f44ad1497bb5 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/safe_access/safe_access_deep_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + p: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/safe_access/safe_access_non_null_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/safe_access/safe_access_non_null_isolated.golden.d.ts new file mode 100644 index 000000000000..2d2255556ad7 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/safe_access/safe_access_non_null_isolated.golden.d.ts @@ -0,0 +1,13 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + val: any; + foo(val: unknown): unknown; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/safe_access/safe_access_temporaries_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/safe_access/safe_access_temporaries_isolated.golden.d.ts new file mode 100644 index 000000000000..10ef5567c136 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/safe_access/safe_access_temporaries_isolated.golden.d.ts @@ -0,0 +1,18 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + p: any; + f1(): any; + f2(): any; + f3(): any; + f4(): any; + f5(): any; + f6(): any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/safe_access/safe_call_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/safe_access/safe_call_isolated.golden.d.ts new file mode 100644 index 000000000000..6016432481b3 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/safe_access/safe_call_isolated.golden.d.ts @@ -0,0 +1,16 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + person: { + getName: () => string; + getLastName?: () => string; + getSpecies?: () => () => () => () => () => string; + }; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/safe_access/safe_keyed_read_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/safe_access/safe_keyed_read_isolated.golden.d.ts new file mode 100644 index 000000000000..35f15e1bea54 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/safe_access/safe_keyed_read_isolated.golden.d.ts @@ -0,0 +1,16 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + unknownNames: string[] | null; + knownNames: string[][]; + species: null; + keys: null; + speciesMap: Record; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/safe_access/safe_method_call_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/safe_access/safe_method_call_isolated.golden.d.ts new file mode 100644 index 000000000000..0a77e2a2bd41 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/safe_access/safe_method_call_isolated.golden.d.ts @@ -0,0 +1,14 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + person?: { + getName: (includeTitle: boolean | undefined) => string; + }; + config: { + get: (name: string) => { + enabled: boolean; + } | undefined; + }; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/todo_example_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/todo_example_isolated.golden.d.ts new file mode 100644 index 000000000000..62e904ad2e89 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler/todo_example_isolated.golden.d.ts @@ -0,0 +1,18 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + list: any[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class TodoComponent { + data: any[]; + myTitle: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class TodoModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_defined_let_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_defined_let_isolated.golden.d.ts new file mode 100644 index 000000000000..65ace3df6b1a --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_defined_let_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class TestComp { + componentValue: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_dollar_event_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_dollar_event_isolated.golden.d.ts new file mode 100644 index 000000000000..4cde6d918c2c --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_dollar_event_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class TestComp { + componentProp: number; + result: import("@angular/core").WritableSignal; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_host_binding_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_host_binding_isolated.golden.d.ts new file mode 100644 index 000000000000..fb7813513230 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_host_binding_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class TestDir { + componentProp: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_host_listener_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_host_listener_isolated.golden.d.ts new file mode 100644 index 000000000000..3affb4bb931a --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_host_listener_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class TestDir { + someSignal: import("@angular/core").WritableSignal; + componentProp: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_inside_pure_value_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_inside_pure_value_isolated.golden.d.ts new file mode 100644 index 000000000000..3dd400f73d10 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_inside_pure_value_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class TestComp { + componentProp: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_let_nested_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_let_nested_isolated.golden.d.ts new file mode 100644 index 000000000000..1cbb59c9f89d --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_let_nested_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class TestComp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_loop_variables_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_loop_variables_isolated.golden.d.ts new file mode 100644 index 000000000000..7afd76cade9d --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_loop_variables_isolated.golden.d.ts @@ -0,0 +1,10 @@ +import * as i0 from "@angular/core"; +export declare class TestComp { + items: { + name: string; + subItems: string[]; + }[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_nested_listeners_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_nested_listeners_isolated.golden.d.ts new file mode 100644 index 000000000000..12b5d4e243b2 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_nested_listeners_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class TestComp { + someSignal: import("@angular/core").WritableSignal; + componentProp: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_no_context_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_no_context_isolated.golden.d.ts new file mode 100644 index 000000000000..1d4ef247cfab --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_no_context_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class TestComp { + sigA: import("@angular/core").WritableSignal; + sigB: import("@angular/core").WritableSignal; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_pipe_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_pipe_isolated.golden.d.ts new file mode 100644 index 000000000000..1e46082276cb --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_pipe_isolated.golden.d.ts @@ -0,0 +1,13 @@ +import { PipeTransform } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class TestPipe implements PipeTransform { + transform(value: Function): Function; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class TestComp { + componentProp: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_pure_return_values_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_pure_return_values_isolated.golden.d.ts new file mode 100644 index 000000000000..3dd400f73d10 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_pure_return_values_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class TestComp { + componentProp: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_returning_arrow_function_nested_context_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_returning_arrow_function_nested_context_isolated.golden.d.ts new file mode 100644 index 000000000000..3dd400f73d10 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_returning_arrow_function_nested_context_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class TestComp { + componentProp: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_returning_arrow_function_no_context_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_returning_arrow_function_no_context_isolated.golden.d.ts new file mode 100644 index 000000000000..1cbb59c9f89d --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_returning_arrow_function_no_context_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class TestComp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_returning_arrow_function_top_level_context_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_returning_arrow_function_top_level_context_isolated.golden.d.ts new file mode 100644 index 000000000000..3dd400f73d10 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_returning_arrow_function_top_level_context_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class TestComp { + componentProp: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_safe_access_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_safe_access_isolated.golden.d.ts new file mode 100644 index 000000000000..372d5eb55cb4 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_safe_access_isolated.golden.d.ts @@ -0,0 +1,13 @@ +import * as i0 from "@angular/core"; +export declare class TestComp { + componentProp: { + a?: { + b?: { + c?: () => () => () => () => string; + }; + }; + }; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_safe_access_nested_views_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_safe_access_nested_views_isolated.golden.d.ts new file mode 100644 index 000000000000..372d5eb55cb4 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_safe_access_nested_views_isolated.golden.d.ts @@ -0,0 +1,13 @@ +import * as i0 from "@angular/core"; +export declare class TestComp { + componentProp: { + a?: { + b?: { + c?: () => () => () => () => string; + }; + }; + }; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_this_access_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_this_access_isolated.golden.d.ts new file mode 100644 index 000000000000..c89e41347130 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_this_access_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class TestComp { + a: number; + b: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_top_level_context_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_top_level_context_isolated.golden.d.ts new file mode 100644 index 000000000000..30dd74a8d700 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_arrow_functions/arrow_function_top_level_context_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class TestComp { + value: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/chain_bindings_with_interpolations_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/chain_bindings_with_interpolations_isolated.golden.d.ts new file mode 100644 index 000000000000..f170a82f2161 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/chain_bindings_with_interpolations_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/chain_multiple_bindings_for_multiple_elements_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/chain_multiple_bindings_for_multiple_elements_isolated.golden.d.ts new file mode 100644 index 000000000000..55cbfb310028 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/chain_multiple_bindings_for_multiple_elements_isolated.golden.d.ts @@ -0,0 +1,17 @@ +import * as i0 from "@angular/core"; +export declare class CustomEl { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyComponent { + myTitle: string; + buttonId: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyMod { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/chain_multiple_bindings_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/chain_multiple_bindings_isolated.golden.d.ts new file mode 100644 index 000000000000..cb86ac06f5e7 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/chain_multiple_bindings_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + myTitle: string; + buttonId: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/chain_multiple_bindings_mixed_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/chain_multiple_bindings_mixed_isolated.golden.d.ts new file mode 100644 index 000000000000..f170a82f2161 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/chain_multiple_bindings_mixed_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/chain_multiple_bindings_with_child_elements_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/chain_multiple_bindings_with_child_elements_isolated.golden.d.ts new file mode 100644 index 000000000000..cb86ac06f5e7 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/chain_multiple_bindings_with_child_elements_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + myTitle: string; + buttonId: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/chain_multiple_single_interpolation_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/chain_multiple_single_interpolation_isolated.golden.d.ts new file mode 100644 index 000000000000..cb86ac06f5e7 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/chain_multiple_single_interpolation_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + myTitle: string; + buttonId: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/duplicate_bindings_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/duplicate_bindings_isolated.golden.d.ts new file mode 100644 index 000000000000..3b72d3c43a00 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/duplicate_bindings_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + value1: any; + value2: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/exclude_bindings_from_consts_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/exclude_bindings_from_consts_isolated.golden.d.ts new file mode 100644 index 000000000000..994aa01e26a4 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/exclude_bindings_from_consts_isolated.golden.d.ts @@ -0,0 +1,13 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + doThings(): void; + three: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/interpolated_attributes_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/interpolated_attributes_isolated.golden.d.ts new file mode 100644 index 000000000000..1aceda8179c3 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/attribute_bindings/interpolated_attributes_isolated.golden.d.ts @@ -0,0 +1,21 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + name: string; + one: any; + two: any; + three: any; + four: any; + five: any; + six: any; + seven: any; + eight: any; + nine: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/control_bindings/control_bindings_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/control_bindings/control_bindings_isolated.golden.d.ts new file mode 100644 index 000000000000..168def4721e1 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/control_bindings/control_bindings_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class FormField { + readonly formField: import("@angular/core").InputSignal; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyComponent { + value: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/control_bindings/radio_bindings_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/control_bindings/radio_bindings_isolated.golden.d.ts new file mode 100644 index 000000000000..168def4721e1 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/control_bindings/radio_bindings_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class FormField { + readonly formField: import("@angular/core").InputSignal; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyComponent { + value: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/aria_bindings_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/aria_bindings_isolated.golden.d.ts new file mode 100644 index 000000000000..1b4585dd2aea --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/aria_bindings_isolated.golden.d.ts @@ -0,0 +1,9 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + disabled: string; + readonly: string; + label: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_attribute_bindings_all_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_attribute_bindings_all_isolated.golden.d.ts new file mode 100644 index 000000000000..6640797be64c --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_attribute_bindings_all_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyDirective { + myTitle: string; + myId: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_attribute_bindings_mixed_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_attribute_bindings_mixed_isolated.golden.d.ts new file mode 100644 index 000000000000..962d8919548e --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_attribute_bindings_mixed_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyDirective { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_multiple_attribute_bindings_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_multiple_attribute_bindings_isolated.golden.d.ts new file mode 100644 index 000000000000..6640797be64c --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_multiple_attribute_bindings_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyDirective { + myTitle: string; + myId: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_multiple_listeners_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_multiple_listeners_isolated.golden.d.ts new file mode 100644 index 000000000000..908a3f0236c9 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_multiple_listeners_isolated.golden.d.ts @@ -0,0 +1,9 @@ +import * as i0 from "@angular/core"; +export declare class MyDirective { + mousedown(): void; + mouseup(): void; + click(): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_multiple_property_bindings_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_multiple_property_bindings_isolated.golden.d.ts new file mode 100644 index 000000000000..6640797be64c --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_multiple_property_bindings_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyDirective { + myTitle: string; + myId: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_property_bindings_all_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_property_bindings_all_isolated.golden.d.ts new file mode 100644 index 000000000000..6640797be64c --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_property_bindings_all_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyDirective { + myTitle: string; + myId: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_property_bindings_mixed_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_property_bindings_mixed_isolated.golden.d.ts new file mode 100644 index 000000000000..962d8919548e --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_property_bindings_mixed_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyDirective { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_synthetic_listeners_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_synthetic_listeners_isolated.golden.d.ts new file mode 100644 index 000000000000..f4a34f8b2326 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_synthetic_listeners_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + start(): void; + done(): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_synthetic_listeners_mixed_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_synthetic_listeners_mixed_isolated.golden.d.ts new file mode 100644 index 000000000000..56665066a2a5 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_synthetic_listeners_mixed_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + start(): void; + click(): void; + mousedown(): void; + done(): void; + mouseup(): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_synthetic_properties_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_synthetic_properties_isolated.golden.d.ts new file mode 100644 index 000000000000..022bb9d14731 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/chain_synthetic_properties_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyDirective { + expandedState: string; + isSmall: boolean; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/deceptive_attrs_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/deceptive_attrs_isolated.golden.d.ts new file mode 100644 index 000000000000..2347eb28bd05 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/deceptive_attrs_isolated.golden.d.ts @@ -0,0 +1,10 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyComponent2 { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_attribute_bindings_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_attribute_bindings_isolated.golden.d.ts new file mode 100644 index 000000000000..4b9d5241bedf --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_attribute_bindings_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class HostAttributeDir { + required: boolean; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_attributes_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_attributes_isolated.golden.d.ts new file mode 100644 index 000000000000..724a12f7f94e --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_attributes_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class HostAttributeDir { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_attributes_with_classes_and_styles_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_attributes_with_classes_and_styles_isolated.golden.d.ts new file mode 100644 index 000000000000..c291172aec7b --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_attributes_with_classes_and_styles_isolated.golden.d.ts @@ -0,0 +1,15 @@ +import * as i0 from "@angular/core"; +export declare class HostAttributeComp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class HostAttributeDir { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_bindings_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_bindings_isolated.golden.d.ts new file mode 100644 index 000000000000..be58eb810f6a --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_bindings_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class HostBindingDir { + dirId: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_bindings_primitive_names_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_bindings_primitive_names_isolated.golden.d.ts new file mode 100644 index 000000000000..4a8acfb11328 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_bindings_primitive_names_isolated.golden.d.ts @@ -0,0 +1,14 @@ +import * as i0 from "@angular/core"; +export declare class HostBindingDir { + true: any; + false: any; + other: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_bindings_quoted_names_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_bindings_quoted_names_isolated.golden.d.ts new file mode 100644 index 000000000000..93bcdc86790d --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_bindings_quoted_names_isolated.golden.d.ts @@ -0,0 +1,14 @@ +import * as i0 from "@angular/core"; +export declare class HostBindingDir { + 'is-a': any; + 'is-"b"': any; + '"is-c"': any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_bindings_with_pure_functions_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_bindings_with_pure_functions_isolated.golden.d.ts new file mode 100644 index 000000000000..882859ac866c --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_bindings_with_pure_functions_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class HostBindingComp { + id: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_bindings_with_temporaries_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_bindings_with_temporaries_isolated.golden.d.ts new file mode 100644 index 000000000000..f37dafb24f4d --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_bindings_with_temporaries_isolated.golden.d.ts @@ -0,0 +1,14 @@ +import * as i0 from "@angular/core"; +export declare class HostBindingDir { + getData: () => { + id: number; + } | undefined; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_class_bindings_with_temporaries_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_class_bindings_with_temporaries_isolated.golden.d.ts new file mode 100644 index 000000000000..e396d1a2184d --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_class_bindings_with_temporaries_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class HostBindingDir { + value: number | null; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_dollar_any_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_dollar_any_isolated.golden.d.ts new file mode 100644 index 000000000000..0323dca86427 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_dollar_any_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class HostBindingDir { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_listeners_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_listeners_isolated.golden.d.ts new file mode 100644 index 000000000000..3d0aa74b5703 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_listeners_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + foo: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_style_bindings_with_temporaries_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_style_bindings_with_temporaries_isolated.golden.d.ts new file mode 100644 index 000000000000..e396d1a2184d --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_style_bindings_with_temporaries_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class HostBindingDir { + value: number | null; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_with_ts_expression_node_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_with_ts_expression_node_isolated.golden.d.ts new file mode 100644 index 000000000000..dcafa1cd6598 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/host_with_ts_expression_node_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare function getBar(): string; +export declare const BAR_CONST: string; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/sanitization_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/sanitization_isolated.golden.d.ts new file mode 100644 index 000000000000..f0fae600478d --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/sanitization_isolated.golden.d.ts @@ -0,0 +1,24 @@ +import * as i0 from "@angular/core"; +export declare class HostBindingLinkDir { + evil: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class HostBindingImageDir { + evil: string; + nonEvil: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class HostBindingIframeDir { + evil: string; + nonEvil: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class HostBindingSvgAnimateDir { + evil: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/security_sensitive_constant_attributes_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/security_sensitive_constant_attributes_isolated.golden.d.ts new file mode 100644 index 000000000000..99904388b8fd --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/security_sensitive_constant_attributes_isolated.golden.d.ts @@ -0,0 +1,10 @@ +import * as i0 from "@angular/core"; +export declare class HostBindingDir { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class HostBindingDir2 { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/security_sensitive_style_bindings_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/security_sensitive_style_bindings_isolated.golden.d.ts new file mode 100644 index 000000000000..4383ea9577c4 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/host_bindings/security_sensitive_style_bindings_isolated.golden.d.ts @@ -0,0 +1,10 @@ +import * as i0 from "@angular/core"; +export declare class HostBindingDir { + imgUrl: string; + styles: { + backgroundImage: string; + }; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/non_bindable_behavior/local_ref_on_host_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/non_bindable_behavior/local_ref_on_host_isolated.golden.d.ts new file mode 100644 index 000000000000..71db106ba49c --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/non_bindable_behavior/local_ref_on_host_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + name: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/non_bindable_behavior/local_ref_on_nested_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/non_bindable_behavior/local_ref_on_nested_isolated.golden.d.ts new file mode 100644 index 000000000000..71db106ba49c --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/non_bindable_behavior/local_ref_on_nested_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + name: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/non_bindable_behavior/no_child_elements_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/non_bindable_behavior/no_child_elements_isolated.golden.d.ts new file mode 100644 index 000000000000..71db106ba49c --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/non_bindable_behavior/no_child_elements_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + name: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/non_bindable_behavior/property_bindings_and_listeners_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/non_bindable_behavior/property_bindings_and_listeners_isolated.golden.d.ts new file mode 100644 index 000000000000..71db106ba49c --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/non_bindable_behavior/property_bindings_and_listeners_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + name: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/order_bindings_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/order_bindings_isolated.golden.d.ts new file mode 100644 index 000000000000..abda75c03be6 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/order_bindings_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class SomeCmp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyCmp { + foo: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/aria_dom_properties_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/aria_dom_properties_isolated.golden.d.ts new file mode 100644 index 000000000000..1b4585dd2aea --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/aria_dom_properties_isolated.golden.d.ts @@ -0,0 +1,9 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + disabled: string; + readonly: string; + label: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/aria_properties_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/aria_properties_isolated.golden.d.ts new file mode 100644 index 000000000000..1b4585dd2aea --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/aria_properties_isolated.golden.d.ts @@ -0,0 +1,9 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + disabled: string; + readonly: string; + label: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/bind_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/bind_isolated.golden.d.ts new file mode 100644 index 000000000000..20d0ef793603 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/bind_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + title: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/chain_bindings_with_interpolations_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/chain_bindings_with_interpolations_isolated.golden.d.ts new file mode 100644 index 000000000000..b6fcc53a866b --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/chain_bindings_with_interpolations_isolated.golden.d.ts @@ -0,0 +1,16 @@ +import * as i0 from "@angular/core"; +export declare class ButtonDir { + label: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyMod { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/chain_multiple_bindings_for_multiple_elements_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/chain_multiple_bindings_for_multiple_elements_isolated.golden.d.ts new file mode 100644 index 000000000000..6940b569d5fa --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/chain_multiple_bindings_for_multiple_elements_isolated.golden.d.ts @@ -0,0 +1,24 @@ +import * as i0 from "@angular/core"; +export declare class SpanDir { + someProp: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class CustomEl { + prop: any; + otherProp: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyComponent { + myTitle: string; + buttonId: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyMod { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/chain_multiple_bindings_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/chain_multiple_bindings_isolated.golden.d.ts new file mode 100644 index 000000000000..cb86ac06f5e7 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/chain_multiple_bindings_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + myTitle: string; + buttonId: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/chain_multiple_bindings_mixed_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/chain_multiple_bindings_mixed_isolated.golden.d.ts new file mode 100644 index 000000000000..b6fcc53a866b --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/chain_multiple_bindings_mixed_isolated.golden.d.ts @@ -0,0 +1,16 @@ +import * as i0 from "@angular/core"; +export declare class ButtonDir { + label: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyMod { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/chain_multiple_bindings_with_child_elements_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/chain_multiple_bindings_with_child_elements_isolated.golden.d.ts new file mode 100644 index 000000000000..c68eb1b0020a --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/chain_multiple_bindings_with_child_elements_isolated.golden.d.ts @@ -0,0 +1,18 @@ +import * as i0 from "@angular/core"; +export declare class SpanDir { + someProp: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyComponent { + myTitle: string; + buttonId: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyMod { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/chain_ngtemplate_bindings_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/chain_ngtemplate_bindings_isolated.golden.d.ts new file mode 100644 index 000000000000..cb86ac06f5e7 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/chain_ngtemplate_bindings_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + myTitle: string; + buttonId: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/chain_synthetic_bindings_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/chain_synthetic_bindings_isolated.golden.d.ts new file mode 100644 index 000000000000..3a8c3b486179 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/chain_synthetic_bindings_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + expansionState: string; + myTitle: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/interpolated_properties_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/interpolated_properties_isolated.golden.d.ts new file mode 100644 index 000000000000..1aceda8179c3 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/interpolated_properties_isolated.golden.d.ts @@ -0,0 +1,21 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + name: string; + one: any; + two: any; + three: any; + four: any; + five: any; + six: any; + seven: any; + eight: any; + nine: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/interpolation_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/interpolation_isolated.golden.d.ts new file mode 100644 index 000000000000..b66df6daccb4 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/interpolation_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + name: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/mixed_one_way_two_way_property_order_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/mixed_one_way_two_way_property_order_isolated.golden.d.ts new file mode 100644 index 000000000000..74b98b6c5392 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/mixed_one_way_two_way_property_order_isolated.golden.d.ts @@ -0,0 +1,17 @@ +import * as i0 from "@angular/core"; +export declare class Dir { + a: unknown; + aChange: unknown; + b: unknown; + c: unknown; + cChange: unknown; + d: unknown; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class App { + value: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/sanitization_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/sanitization_isolated.golden.d.ts new file mode 100644 index 000000000000..965a6c146739 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/sanitization_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + evil: string; + nonEvil: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/special_property_remapping_dom_property_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/special_property_remapping_dom_property_isolated.golden.d.ts new file mode 100644 index 000000000000..7fa51aeb7a7c --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/special_property_remapping_dom_property_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + forValue: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/special_property_remapping_property_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/special_property_remapping_property_isolated.golden.d.ts new file mode 100644 index 000000000000..d6d2ab4e9a0d --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/special_property_remapping_property_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + forValue: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/synthetic_bindings_and_listeners_on_structural_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/synthetic_bindings_and_listeners_on_structural_isolated.golden.d.ts new file mode 100644 index 000000000000..c5b8775929b2 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/synthetic_bindings_and_listeners_on_structural_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + field: any; + fn: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/temporary_variables_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/temporary_variables_isolated.golden.d.ts new file mode 100644 index 000000000000..1bf5624da328 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/property_bindings/temporary_variables_isolated.golden.d.ts @@ -0,0 +1,20 @@ +import * as i0 from "@angular/core"; +export declare class AsyncPipe { + transform(v: any): null | any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class MyComponent { + myTitle: string; + auth: () => { + identity(): any; + }; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyMod { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/text_bindings/interpolation_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/text_bindings/interpolation_isolated.golden.d.ts new file mode 100644 index 000000000000..b66df6daccb4 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_bindings/text_bindings/interpolation_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + name: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/basic_for_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/basic_for_isolated.golden.d.ts new file mode 100644 index 000000000000..f49d61f79844 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/basic_for_isolated.golden.d.ts @@ -0,0 +1,10 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + items: { + name: string; + }[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/basic_if_else_if_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/basic_if_else_if_isolated.golden.d.ts new file mode 100644 index 000000000000..06fbe5f18866 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/basic_if_else_if_isolated.golden.d.ts @@ -0,0 +1,9 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + value: () => number; + otherValue: () => number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/basic_if_else_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/basic_if_else_isolated.golden.d.ts new file mode 100644 index 000000000000..0d79666c0377 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/basic_if_else_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + value: () => number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/basic_if_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/basic_if_isolated.golden.d.ts new file mode 100644 index 000000000000..0d79666c0377 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/basic_if_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + value: () => number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/basic_switch_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/basic_switch_isolated.golden.d.ts new file mode 100644 index 000000000000..e0ff53d4b9b9 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/basic_switch_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + value(): number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/conditional_same_component_names_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/conditional_same_component_names_isolated.golden.d.ts new file mode 100644 index 000000000000..638ec628c7b6 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/conditional_same_component_names_isolated.golden.d.ts @@ -0,0 +1,2 @@ +export {}; + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/else_if_multiple_with_alias_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/else_if_multiple_with_alias_isolated.golden.d.ts new file mode 100644 index 000000000000..22e81bc96459 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/else_if_multiple_with_alias_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + one: number; + two: number; + three: number; + four: number; + five: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/else_if_nested_with_alias_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/else_if_nested_with_alias_isolated.golden.d.ts new file mode 100644 index 000000000000..b1e6358af4f2 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/else_if_nested_with_alias_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + foo: boolean; + value: () => number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/else_if_with_alias_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/else_if_with_alias_isolated.golden.d.ts new file mode 100644 index 000000000000..d95abeab06e5 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/else_if_with_alias_isolated.golden.d.ts @@ -0,0 +1,9 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + one: boolean; + value: () => number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/else_if_with_same_alias_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/else_if_with_same_alias_isolated.golden.d.ts new file mode 100644 index 000000000000..e61a33e8f5d8 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/else_if_with_same_alias_isolated.golden.d.ts @@ -0,0 +1,9 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + one: boolean; + two: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/empty_switch_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/empty_switch_isolated.golden.d.ts new file mode 100644 index 000000000000..f08548acb503 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/empty_switch_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_aliased_template_variables_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_aliased_template_variables_isolated.golden.d.ts new file mode 100644 index 000000000000..a93ff6a4064d --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_aliased_template_variables_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + items: never[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_both_aliased_and_original_variables_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_both_aliased_and_original_variables_isolated.golden.d.ts new file mode 100644 index 000000000000..a93ff6a4064d --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_both_aliased_and_original_variables_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + items: never[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_data_slots_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_data_slots_isolated.golden.d.ts new file mode 100644 index 000000000000..7604b9762763 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_data_slots_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + items: string[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_element_root_node_at_end_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_element_root_node_at_end_isolated.golden.d.ts new file mode 100644 index 000000000000..957afd70b8a5 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_element_root_node_at_end_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class Binding { + binding: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyApp { + items: number[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_element_root_node_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_element_root_node_isolated.golden.d.ts new file mode 100644 index 000000000000..957afd70b8a5 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_element_root_node_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class Binding { + binding: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyApp { + items: number[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_impure_track_reuse_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_impure_track_reuse_isolated.golden.d.ts new file mode 100644 index 000000000000..78baaf81e58c --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_impure_track_reuse_isolated.golden.d.ts @@ -0,0 +1,14 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + items: { + name: string; + }[]; + otherItems: { + name: string; + }[]; + trackFn(item: any, message: string): string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_pure_track_reuse_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_pure_track_reuse_isolated.golden.d.ts new file mode 100644 index 000000000000..198bd73b2ea9 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_pure_track_reuse_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + items: { + name: string; + }[]; + otherItems: { + name: string; + }[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_template_root_node_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_template_root_node_isolated.golden.d.ts new file mode 100644 index 000000000000..957afd70b8a5 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_template_root_node_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class Binding { + binding: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyApp { + items: number[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_template_track_method_nested_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_template_track_method_nested_isolated.golden.d.ts new file mode 100644 index 000000000000..4c06b5e1401a --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_template_track_method_nested_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + items: { + name: string; + }[]; + trackFn(_index: number, item: any): any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_template_track_method_only_index_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_template_track_method_only_index_isolated.golden.d.ts new file mode 100644 index 000000000000..9061b120fdcb --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_template_track_method_only_index_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + items: { + name: string; + }[]; + trackFn(index: number): number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_template_track_method_root_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_template_track_method_root_isolated.golden.d.ts new file mode 100644 index 000000000000..4c06b5e1401a --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_template_track_method_root_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + items: { + name: string; + }[]; + trackFn(_index: number, item: any): any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_template_variables_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_template_variables_isolated.golden.d.ts new file mode 100644 index 000000000000..a93ff6a4064d --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_template_variables_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + items: never[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_template_variables_listener_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_template_variables_listener_isolated.golden.d.ts new file mode 100644 index 000000000000..8b876d9a0f5d --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_template_variables_listener_isolated.golden.d.ts @@ -0,0 +1,9 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + items: never[]; + log(..._: any[]): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_template_variables_scope_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_template_variables_scope_isolated.golden.d.ts new file mode 100644 index 000000000000..b882ca431a3d --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_template_variables_scope_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + items: never[]; + $index: any; + $count: any; + $first: any; + $last: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_track_by_field_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_track_by_field_isolated.golden.d.ts new file mode 100644 index 000000000000..f49d61f79844 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_track_by_field_isolated.golden.d.ts @@ -0,0 +1,10 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + items: { + name: string; + }[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_track_by_index_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_track_by_index_isolated.golden.d.ts new file mode 100644 index 000000000000..f49d61f79844 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_track_by_index_isolated.golden.d.ts @@ -0,0 +1,10 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + items: { + name: string; + }[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_track_by_temporary_variables_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_track_by_temporary_variables_isolated.golden.d.ts new file mode 100644 index 000000000000..2f158e6a6775 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_track_by_temporary_variables_isolated.golden.d.ts @@ -0,0 +1,10 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + foo: any; + items: { + name?: string; + }[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_track_literals_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_track_literals_isolated.golden.d.ts new file mode 100644 index 000000000000..0cfd892df35b --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_track_literals_isolated.golden.d.ts @@ -0,0 +1,10 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + items: { + name: string; + }[]; + trackFn(obj: any, arr: any[]): null; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_variables_expression_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_variables_expression_isolated.golden.d.ts new file mode 100644 index 000000000000..418982c52506 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_variables_expression_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + items: never[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_with_empty_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_with_empty_isolated.golden.d.ts new file mode 100644 index 000000000000..f49d61f79844 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_with_empty_isolated.golden.d.ts @@ -0,0 +1,10 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + items: { + name: string; + }[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_with_pipe_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_with_pipe_isolated.golden.d.ts new file mode 100644 index 000000000000..3757c9dbbd65 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/for_with_pipe_isolated.golden.d.ts @@ -0,0 +1,13 @@ +import * as i0 from "@angular/core"; +export declare class TestPipe { + transform(value: unknown): unknown; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class MyApp { + message: string; + items: number[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/if_element_root_node_at_end_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/if_element_root_node_at_end_isolated.golden.d.ts new file mode 100644 index 000000000000..d8e8c8c4936a --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/if_element_root_node_at_end_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class Binding { + binding: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyApp { + expr: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/if_element_root_node_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/if_element_root_node_isolated.golden.d.ts new file mode 100644 index 000000000000..d8e8c8c4936a --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/if_element_root_node_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class Binding { + binding: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyApp { + expr: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/if_nested_alias_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/if_nested_alias_isolated.golden.d.ts new file mode 100644 index 000000000000..0e6941b01d78 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/if_nested_alias_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + value: () => number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/if_nested_alias_listeners_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/if_nested_alias_listeners_isolated.golden.d.ts new file mode 100644 index 000000000000..9e7e3931d4ba --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/if_nested_alias_listeners_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + value: () => number; + log(..._: any[]): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/if_template_root_node_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/if_template_root_node_isolated.golden.d.ts new file mode 100644 index 000000000000..d8e8c8c4936a --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/if_template_root_node_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class Binding { + binding: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyApp { + expr: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/if_with_alias_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/if_with_alias_isolated.golden.d.ts new file mode 100644 index 000000000000..0d79666c0377 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/if_with_alias_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + value: () => number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/if_with_pipe_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/if_with_pipe_isolated.golden.d.ts new file mode 100644 index 000000000000..917153c0d815 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/if_with_pipe_isolated.golden.d.ts @@ -0,0 +1,13 @@ +import * as i0 from "@angular/core"; +export declare class TestPipe { + transform(value: unknown): unknown; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class MyApp { + message: string; + val: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/nested_for_computed_template_variables_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/nested_for_computed_template_variables_isolated.golden.d.ts new file mode 100644 index 000000000000..418982c52506 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/nested_for_computed_template_variables_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + items: never[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/nested_for_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/nested_for_isolated.golden.d.ts new file mode 100644 index 000000000000..da6902771d27 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/nested_for_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + items: { + name: string; + subItems: string[]; + }[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/nested_for_listener_computed_template_variables_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/nested_for_listener_computed_template_variables_isolated.golden.d.ts new file mode 100644 index 000000000000..3f4979176d92 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/nested_for_listener_computed_template_variables_isolated.golden.d.ts @@ -0,0 +1,10 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + items: never[]; + outerCb(...args: unknown[]): void; + innerCb(...args: unknown[]): void; + innermostCb(...args: unknown[]): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/nested_for_template_variables_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/nested_for_template_variables_isolated.golden.d.ts new file mode 100644 index 000000000000..da6902771d27 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/nested_for_template_variables_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + items: { + name: string; + subItems: string[]; + }[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/nested_for_tracking_function_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/nested_for_tracking_function_isolated.golden.d.ts new file mode 100644 index 000000000000..511d93fef0eb --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/nested_for_tracking_function_isolated.golden.d.ts @@ -0,0 +1,10 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + items: any[]; + trackByGrandparent: (item: any, index: number) => number; + trackByParent: (item: any, index: number) => number; + trackByChild: (item: any, index: number) => number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/nested_if_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/nested_if_isolated.golden.d.ts new file mode 100644 index 000000000000..fea3aa58acfa --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/nested_if_isolated.golden.d.ts @@ -0,0 +1,9 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + val: number; + innerVal: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/nested_switch_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/nested_switch_isolated.golden.d.ts new file mode 100644 index 000000000000..756bd6e12a06 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/nested_switch_isolated.golden.d.ts @@ -0,0 +1,9 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + value: () => number; + nestedValue: () => number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/switch_element_root_node_at_end_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/switch_element_root_node_at_end_isolated.golden.d.ts new file mode 100644 index 000000000000..d8e8c8c4936a --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/switch_element_root_node_at_end_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class Binding { + binding: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyApp { + expr: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/switch_element_root_node_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/switch_element_root_node_isolated.golden.d.ts new file mode 100644 index 000000000000..d8e8c8c4936a --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/switch_element_root_node_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class Binding { + binding: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyApp { + expr: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/switch_multiple_cases_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/switch_multiple_cases_isolated.golden.d.ts new file mode 100644 index 000000000000..e0ff53d4b9b9 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/switch_multiple_cases_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + value(): number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/switch_template_root_node_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/switch_template_root_node_isolated.golden.d.ts new file mode 100644 index 000000000000..d8e8c8c4936a --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/switch_template_root_node_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class Binding { + binding: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyApp { + expr: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/switch_with_pipe_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/switch_with_pipe_isolated.golden.d.ts new file mode 100644 index 000000000000..ed1738dbee7d --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/switch_with_pipe_isolated.golden.d.ts @@ -0,0 +1,13 @@ +import * as i0 from "@angular/core"; +export declare class TestPipe { + transform(value: unknown): unknown; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class MyApp { + message: string; + value: () => number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/switch_without_default_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/switch_without_default_isolated.golden.d.ts new file mode 100644 index 000000000000..0d79666c0377 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_control_flow/switch_without_default_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + value: () => number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/basic_deferred_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/basic_deferred_isolated.golden.d.ts new file mode 100644 index 000000000000..f08548acb503 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/basic_deferred_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/counter.component_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/counter.component_isolated.golden.d.ts new file mode 100644 index 000000000000..2cbae2c02d09 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/counter.component_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class CounterComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_default_deps_ext_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_default_deps_ext_isolated.golden.d.ts new file mode 100644 index 000000000000..6df72f249ce9 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_default_deps_ext_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export default class CmpA { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_default_deps_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_default_deps_isolated.golden.d.ts new file mode 100644 index 000000000000..db5ea0586d30 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_default_deps_isolated.golden.d.ts @@ -0,0 +1,10 @@ +import * as i0 from "@angular/core"; +export declare class LocalDep { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class TestCmp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_deps_ext_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_deps_ext_isolated.golden.d.ts new file mode 100644 index 000000000000..4e2ec4dd78c3 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_deps_ext_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class CmpA { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_deps_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_deps_isolated.golden.d.ts new file mode 100644 index 000000000000..db5ea0586d30 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_deps_isolated.golden.d.ts @@ -0,0 +1,10 @@ +import * as i0 from "@angular/core"; +export declare class LocalDep { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class TestCmp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_hydrate_order_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_hydrate_order_isolated.golden.d.ts new file mode 100644 index 000000000000..705d10c3649f --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_hydrate_order_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + isReady: boolean; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_multiple_hydrate_single_activator_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_multiple_hydrate_single_activator_isolated.golden.d.ts new file mode 100644 index 000000000000..40d785f282be --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_multiple_hydrate_single_activator_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_nested_hydrate_inner_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_nested_hydrate_inner_isolated.golden.d.ts new file mode 100644 index 000000000000..c3ad9c503e4a --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_nested_hydrate_inner_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class InnerCmp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_nested_hydrate_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_nested_hydrate_isolated.golden.d.ts new file mode 100644 index 000000000000..ef5958a3b773 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_nested_hydrate_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_with_hydrate_triggers_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_with_hydrate_triggers_isolated.golden.d.ts new file mode 100644 index 000000000000..f3d014d3cfbf --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/defer_with_hydrate_triggers_isolated.golden.d.ts @@ -0,0 +1,9 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + isReady: boolean; + isVisible(): boolean; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_hydrate_on_viewport_with_options_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_hydrate_on_viewport_with_options_isolated.golden.d.ts new file mode 100644 index 000000000000..402fb7d3c9eb --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_hydrate_on_viewport_with_options_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_import_alias_index_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_import_alias_index_isolated.golden.d.ts new file mode 100644 index 000000000000..8ae174e83c80 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_import_alias_index_isolated.golden.d.ts @@ -0,0 +1,2 @@ +export { CounterComponent as MyCounterCmp } from './counter.component'; + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_import_alias_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_import_alias_isolated.golden.d.ts new file mode 100644 index 000000000000..72da0362b9e3 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_import_alias_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_interaction_parent_view_trigger_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_interaction_parent_view_trigger_isolated.golden.d.ts new file mode 100644 index 000000000000..f08548acb503 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_interaction_parent_view_trigger_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_interaction_placeholder_trigger_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_interaction_placeholder_trigger_isolated.golden.d.ts new file mode 100644 index 000000000000..f08548acb503 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_interaction_placeholder_trigger_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_interaction_same_view_trigger_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_interaction_same_view_trigger_isolated.golden.d.ts new file mode 100644 index 000000000000..f08548acb503 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_interaction_same_view_trigger_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_on_idle_with_timeout_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_on_idle_with_timeout_isolated.golden.d.ts new file mode 100644 index 000000000000..402fb7d3c9eb --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_on_idle_with_timeout_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_on_viewport_with_options_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_on_viewport_with_options_isolated.golden.d.ts new file mode 100644 index 000000000000..402fb7d3c9eb --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_on_viewport_with_options_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_prefetch_on_viewport_with_options_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_prefetch_on_viewport_with_options_isolated.golden.d.ts new file mode 100644 index 000000000000..402fb7d3c9eb --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_prefetch_on_viewport_with_options_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_secondary_blocks_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_secondary_blocks_isolated.golden.d.ts new file mode 100644 index 000000000000..fbed425ffe63 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_secondary_blocks_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + loadingMessage: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_when_with_pipe_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_when_with_pipe_isolated.golden.d.ts new file mode 100644 index 000000000000..7bc1dc51efe5 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_when_with_pipe_isolated.golden.d.ts @@ -0,0 +1,14 @@ +import * as i0 from "@angular/core"; +export declare class TestPipe { + transform(): boolean; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class MyApp { + message: string; + isReady: boolean; + isVisible(): boolean; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_duplicate_external_dep_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_duplicate_external_dep_isolated.golden.d.ts new file mode 100644 index 000000000000..40d785f282be --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_duplicate_external_dep_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_duplicate_external_dep_lazy_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_duplicate_external_dep_lazy_isolated.golden.d.ts new file mode 100644 index 000000000000..1c56fc89d708 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_duplicate_external_dep_lazy_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class DuplicateLazyDep { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_duplicate_external_dep_other_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_duplicate_external_dep_other_isolated.golden.d.ts new file mode 100644 index 000000000000..8e1beedab28c --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_duplicate_external_dep_other_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class OtherLazyDep { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_external_deps_eager_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_external_deps_eager_isolated.golden.d.ts new file mode 100644 index 000000000000..c2185d7ba185 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_external_deps_eager_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class EagerDep { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_external_deps_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_external_deps_isolated.golden.d.ts new file mode 100644 index 000000000000..40d785f282be --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_external_deps_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_external_deps_lazy_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_external_deps_lazy_isolated.golden.d.ts new file mode 100644 index 000000000000..8c9f96c3c392 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_external_deps_lazy_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class LazyDep { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_external_deps_loading_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_external_deps_loading_isolated.golden.d.ts new file mode 100644 index 000000000000..9a3dbeb2fdaf --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_external_deps_loading_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class LoadingDep { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_implicit_triggers_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_implicit_triggers_isolated.golden.d.ts new file mode 100644 index 000000000000..f08548acb503 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_implicit_triggers_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_loading_params_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_loading_params_isolated.golden.d.ts new file mode 100644 index 000000000000..f65567a8d601 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_loading_params_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_local_deps_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_local_deps_isolated.golden.d.ts new file mode 100644 index 000000000000..202d674db2e3 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_local_deps_isolated.golden.d.ts @@ -0,0 +1,18 @@ +import * as i0 from "@angular/core"; +export declare class EagerDep { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class LazyDep { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class LoadingDep { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyApp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_placeholder_params_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_placeholder_params_isolated.golden.d.ts new file mode 100644 index 000000000000..f65567a8d601 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_placeholder_params_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_prefetch_triggers_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_prefetch_triggers_isolated.golden.d.ts new file mode 100644 index 000000000000..915908333c50 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_prefetch_triggers_isolated.golden.d.ts @@ -0,0 +1,9 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + isReady: boolean; + isVisible(): boolean; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_triggers_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_triggers_isolated.golden.d.ts new file mode 100644 index 000000000000..915908333c50 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_with_triggers_isolated.golden.d.ts @@ -0,0 +1,9 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + message: string; + isReady: boolean; + isVisible(): boolean; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_without_deps_followed_by_one_with_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_without_deps_followed_by_one_with_isolated.golden.d.ts new file mode 100644 index 000000000000..bccf7bedf93b --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/deferred_without_deps_followed_by_one_with_isolated.golden.d.ts @@ -0,0 +1,10 @@ +import * as i0 from "@angular/core"; +export declare class LazyDep { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyApp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/lazy_with_blocks_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/lazy_with_blocks_isolated.golden.d.ts new file mode 100644 index 000000000000..638ec628c7b6 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_deferred/lazy_with_blocks_isolated.golden.d.ts @@ -0,0 +1,2 @@ +export {}; + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/component_factory_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/component_factory_isolated.golden.d.ts new file mode 100644 index 000000000000..c61c5df5c40d --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/component_factory_isolated.golden.d.ts @@ -0,0 +1,16 @@ +import * as i0 from "@angular/core"; +export declare class MyService { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵprov: i0.ɵɵInjectableDeclaration; +} +export declare class MyComponent { + constructor(name: string, other: string, s1: MyService, s2: MyService, s4: MyService, s3: MyService, s5: MyService, s6: MyService); + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/ctor_overload_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/ctor_overload_isolated.golden.d.ts new file mode 100644 index 000000000000..3595b359080a --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/ctor_overload_isolated.golden.d.ts @@ -0,0 +1,10 @@ +import * as i0 from "@angular/core"; +declare class MyDependency { +} +export declare class MyService { + constructor(dep: MyDependency); + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵprov: i0.ɵɵInjectableDeclaration; +} +export {}; + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/injectable_factory_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/injectable_factory_isolated.golden.d.ts new file mode 100644 index 000000000000..138908347455 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/injectable_factory_isolated.golden.d.ts @@ -0,0 +1,10 @@ +import * as i0 from "@angular/core"; +declare class MyDependency { +} +export declare class MyService { + constructor(dep: MyDependency); + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵprov: i0.ɵɵInjectableDeclaration; +} +export {}; + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/pipe_and_injectable_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/pipe_and_injectable_isolated.golden.d.ts new file mode 100644 index 000000000000..23d057826b49 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/pipe_and_injectable_isolated.golden.d.ts @@ -0,0 +1,31 @@ +import { PipeTransform } from '@angular/core'; +import * as i0 from "@angular/core"; +declare class Service { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵprov: i0.ɵɵInjectableDeclaration; +} +export declare class MyPipe implements PipeTransform { + constructor(service: Service); + transform(value: any, ...args: any[]): any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; + static ɵprov: i0.ɵɵInjectableDeclaration; +} +export declare class MyOtherPipe implements PipeTransform { + constructor(service: Service); + transform(value: any, ...args: any[]): any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; + static ɵprov: i0.ɵɵInjectableDeclaration; +} +export declare class MyApp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} +export {}; + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/providedin_forwardref_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/providedin_forwardref_isolated.golden.d.ts new file mode 100644 index 000000000000..8d7f693263d5 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/providedin_forwardref_isolated.golden.d.ts @@ -0,0 +1,16 @@ +import * as i0 from "@angular/core"; +export declare class Dep { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵprov: i0.ɵɵInjectableDeclaration; +} +export declare class Service { + constructor(dep: Dep); + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵprov: i0.ɵɵInjectableDeclaration; +} +export declare class Mod { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/useclass_forwardref_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/useclass_forwardref_isolated.golden.d.ts new file mode 100644 index 000000000000..638ec628c7b6 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/useclass_forwardref_isolated.golden.d.ts @@ -0,0 +1,2 @@ +export {}; + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/useclass_with_deps_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/useclass_with_deps_isolated.golden.d.ts new file mode 100644 index 000000000000..c358bcfdd283 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/useclass_with_deps_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyService { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵprov: i0.ɵɵInjectableDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/useclass_without_deps_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/useclass_without_deps_isolated.golden.d.ts new file mode 100644 index 000000000000..c358bcfdd283 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/useclass_without_deps_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyService { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵprov: i0.ɵɵInjectableDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/usefactory_with_deps_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/usefactory_with_deps_isolated.golden.d.ts new file mode 100644 index 000000000000..c358bcfdd283 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/usefactory_with_deps_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyService { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵprov: i0.ɵɵInjectableDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/usefactory_without_deps_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/usefactory_without_deps_isolated.golden.d.ts new file mode 100644 index 000000000000..c358bcfdd283 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_di/di/usefactory_without_deps_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyService { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵprov: i0.ɵɵInjectableDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/host_directives/basic_host_directives_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/host_directives/basic_host_directives_isolated.golden.d.ts new file mode 100644 index 000000000000..f9e0190101b8 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/host_directives/basic_host_directives_isolated.golden.d.ts @@ -0,0 +1,14 @@ +import * as i0 from "@angular/core"; +export declare class DirectiveA { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class DirectiveB { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/host_directives/chained_host_directives_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/host_directives/chained_host_directives_isolated.golden.d.ts new file mode 100644 index 000000000000..acd67005ea84 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/host_directives/chained_host_directives_isolated.golden.d.ts @@ -0,0 +1,18 @@ +import * as i0 from "@angular/core"; +export declare class DirectiveA { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class DirectiveB { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class DirectiveC { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/host_directives/forward_ref_host_directives_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/host_directives/forward_ref_host_directives_isolated.golden.d.ts new file mode 100644 index 000000000000..b0a2c52c566b --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/host_directives/forward_ref_host_directives_isolated.golden.d.ts @@ -0,0 +1,15 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class DirectiveB { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class DirectiveA { + value: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/host_directives/host_directives_with_host_aliases_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/host_directives/host_directives_with_host_aliases_isolated.golden.d.ts new file mode 100644 index 000000000000..f504eea1926a --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/host_directives/host_directives_with_host_aliases_isolated.golden.d.ts @@ -0,0 +1,15 @@ +import { EventEmitter } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class HostDir { + value: number; + color: string; + opened: EventEmitter; + closed: EventEmitter; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/host_directives/host_directives_with_inputs_outputs_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/host_directives/host_directives_with_inputs_outputs_isolated.golden.d.ts new file mode 100644 index 000000000000..0adb99fb69cf --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/host_directives/host_directives_with_inputs_outputs_isolated.golden.d.ts @@ -0,0 +1,15 @@ +import { EventEmitter } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class HostDir { + value: number; + color: string; + opened: EventEmitter; + closed: EventEmitter; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/matching/i18n_attribute_directive_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/matching/i18n_attribute_directive_isolated.golden.d.ts new file mode 100644 index 000000000000..e641827ff4e8 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/matching/i18n_attribute_directive_isolated.golden.d.ts @@ -0,0 +1,15 @@ +import * as i0 from "@angular/core"; +export declare class I18nDirective { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/matching/i18n_prefix_attribute_directive_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/matching/i18n_prefix_attribute_directive_isolated.golden.d.ts new file mode 100644 index 000000000000..c76bb7bad0c4 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/matching/i18n_prefix_attribute_directive_isolated.golden.d.ts @@ -0,0 +1,23 @@ +import * as i0 from "@angular/core"; +export declare class I18nDirective { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class I18nFooDirective { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class FooDirective { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/matching/ng_container_directive_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/matching/ng_container_directive_isolated.golden.d.ts new file mode 100644 index 000000000000..54a9d87d3e1f --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/matching/ng_container_directive_isolated.golden.d.ts @@ -0,0 +1,15 @@ +import * as i0 from "@angular/core"; +export declare class DirectiveA { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/matching/ng_template_binding_directive_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/matching/ng_template_binding_directive_isolated.golden.d.ts new file mode 100644 index 000000000000..7d39cf9fc44f --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/matching/ng_template_binding_directive_isolated.golden.d.ts @@ -0,0 +1,16 @@ +import * as i0 from "@angular/core"; +export declare class SomeDirective { + someDirective: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/matching/ng_template_directive_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/matching/ng_template_directive_isolated.golden.d.ts new file mode 100644 index 000000000000..df0604f577a2 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/matching/ng_template_directive_isolated.golden.d.ts @@ -0,0 +1,15 @@ +import * as i0 from "@angular/core"; +export declare class DirectiveA { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/matching/output_directive_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/matching/output_directive_isolated.golden.d.ts new file mode 100644 index 000000000000..6148fdc8201e --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/matching/output_directive_isolated.golden.d.ts @@ -0,0 +1,18 @@ +import { EventEmitter } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class SomeDirective { + someDirective: EventEmitter; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyComponent { + noop(): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/matching/property_binding_directive_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/matching/property_binding_directive_isolated.golden.d.ts new file mode 100644 index 000000000000..7d39cf9fc44f --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/matching/property_binding_directive_isolated.golden.d.ts @@ -0,0 +1,16 @@ +import * as i0 from "@angular/core"; +export declare class SomeDirective { + someDirective: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/matching/structural_directive_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/matching/structural_directive_isolated.golden.d.ts new file mode 100644 index 000000000000..7d39cf9fc44f --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_directives/matching/structural_directive_isolated.golden.d.ts @@ -0,0 +1,16 @@ +import * as i0 from "@angular/core"; +export declare class SomeDirective { + someDirective: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/blocks/conditional_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/blocks/conditional_isolated.golden.d.ts new file mode 100644 index 000000000000..8673672226ad --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/blocks/conditional_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + count: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/blocks/defer_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/blocks/defer_isolated.golden.d.ts new file mode 100644 index 000000000000..729c1704b6e1 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/blocks/defer_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + isLoaded: boolean; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/blocks/for_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/blocks/for_isolated.golden.d.ts new file mode 100644 index 000000000000..cae4baebcacf --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/blocks/for_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + items: number[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/blocks/switch_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/blocks/switch_isolated.golden.d.ts new file mode 100644 index 000000000000..8673672226ad --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/blocks/switch_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + count: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/bound_attributes_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/bound_attributes_isolated.golden.d.ts new file mode 100644 index 000000000000..e693cfe6be9f --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/bound_attributes_isolated.golden.d.ts @@ -0,0 +1,13 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + title: string; + label: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/empty_attributes_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/empty_attributes_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/empty_attributes_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/i18n_root_node_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/i18n_root_node_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/i18n_root_node_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/interpolation_basic_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/interpolation_basic_isolated.golden.d.ts new file mode 100644 index 000000000000..9ec0ee17c779 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/interpolation_basic_isolated.golden.d.ts @@ -0,0 +1,25 @@ +import * as i0 from "@angular/core"; +export declare class UppercasePipe { + transform(v: any): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class DivDir { + al: any; + arl: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyComponent { + valueA: any; + valueB: any; + valueC: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/interpolation_complex_expressions_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/interpolation_complex_expressions_isolated.golden.d.ts new file mode 100644 index 000000000000..0b319f8b4d06 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/interpolation_complex_expressions_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + valueA: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/interpolation_nested_context_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/interpolation_nested_context_isolated.golden.d.ts new file mode 100644 index 000000000000..e9ecaf7452af --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/interpolation_nested_context_isolated.golden.d.ts @@ -0,0 +1,17 @@ +import * as i0 from "@angular/core"; +export declare class UppercasePipe { + transform(v: any): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class MyComponent { + outer: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/invalid_i18n_meta_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/invalid_i18n_meta_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/invalid_i18n_meta_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/meaning_description_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/meaning_description_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/meaning_description_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/ng-template_basic_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/ng-template_basic_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/ng-template_basic_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/ng-template_interpolation_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/ng-template_interpolation_isolated.golden.d.ts new file mode 100644 index 000000000000..b66df6daccb4 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/ng-template_interpolation_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + name: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/ng-template_interpolation_structural_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/ng-template_interpolation_structural_isolated.golden.d.ts new file mode 100644 index 000000000000..313afbfda6af --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/ng-template_interpolation_structural_isolated.golden.d.ts @@ -0,0 +1,17 @@ +import * as i0 from "@angular/core"; +export declare class UppercasePipe { + transform(v: any): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class MyComponent { + name: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/ng-template_structural_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/ng-template_structural_isolated.golden.d.ts new file mode 100644 index 000000000000..49d81e7b3351 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/ng-template_structural_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + visible: boolean; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/static_attributes_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/static_attributes_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/static_attributes_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/static_attributes_structural_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/static_attributes_structural_isolated.golden.d.ts new file mode 100644 index 000000000000..2afa7d49c201 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/element_attributes/static_attributes_structural_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + exp: boolean; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/es5_support/test_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/es5_support/test_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/es5_support/test_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_and_i18n_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_and_i18n_isolated.golden.d.ts new file mode 100644 index 000000000000..4d9afb3bde26 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_and_i18n_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + disks: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/attribute_interpolation_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/attribute_interpolation_isolated.golden.d.ts new file mode 100644 index 000000000000..f680e6b5887c --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/attribute_interpolation_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + foo: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/bare_icu_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/bare_icu_isolated.golden.d.ts new file mode 100644 index 000000000000..4108dde34dfd --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/bare_icu_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + gender: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/different_contexts_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/different_contexts_isolated.golden.d.ts new file mode 100644 index 000000000000..4108dde34dfd --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/different_contexts_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + gender: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/escape_quotes_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/escape_quotes_isolated.golden.d.ts new file mode 100644 index 000000000000..4108dde34dfd --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/escape_quotes_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + gender: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/expressions_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/expressions_isolated.golden.d.ts new file mode 100644 index 000000000000..f5239d824fd7 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/expressions_isolated.golden.d.ts @@ -0,0 +1,15 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + gender: string; + ageA: number; + ageB: number; + ageC: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/html_content_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/html_content_isolated.golden.d.ts new file mode 100644 index 000000000000..4108dde34dfd --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/html_content_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + gender: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/icu_only_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/icu_only_isolated.golden.d.ts new file mode 100644 index 000000000000..ae00c9b2c661 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/icu_only_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + age: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/icu_with_interpolations_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/icu_with_interpolations_isolated.golden.d.ts new file mode 100644 index 000000000000..6131a0870f9e --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/icu_with_interpolations_isolated.golden.d.ts @@ -0,0 +1,14 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + gender: string; + weight: number; + height: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/keyword_spaces_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/keyword_spaces_isolated.golden.d.ts new file mode 100644 index 000000000000..49106efe0d4f --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/keyword_spaces_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + count: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/metadata_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/metadata_isolated.golden.d.ts new file mode 100644 index 000000000000..49106efe0d4f --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/metadata_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + count: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/multiple_icus_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/multiple_icus_isolated.golden.d.ts new file mode 100644 index 000000000000..aa9f107907bf --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/multiple_icus_isolated.golden.d.ts @@ -0,0 +1,13 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + gender: string; + age: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/named_interpolations_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/named_interpolations_isolated.golden.d.ts new file mode 100644 index 000000000000..193c940bb463 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/named_interpolations_isolated.golden.d.ts @@ -0,0 +1,15 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + gender: string; + weight: number; + height: number; + age: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/nested_icu_in_other_block_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/nested_icu_in_other_block_isolated.golden.d.ts new file mode 100644 index 000000000000..93b3614d74d3 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/nested_icu_in_other_block_isolated.golden.d.ts @@ -0,0 +1,13 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + count: number; + name: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/nested_icus_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/nested_icus_isolated.golden.d.ts new file mode 100644 index 000000000000..4bba2470e8e8 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/nested_icus_isolated.golden.d.ts @@ -0,0 +1,13 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + age: number; + gender: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/root_icu_with_elements_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/root_icu_with_elements_isolated.golden.d.ts new file mode 100644 index 000000000000..d98e75d69382 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/root_icu_with_elements_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + someField: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/shared_placeholder_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/shared_placeholder_isolated.golden.d.ts new file mode 100644 index 000000000000..4108dde34dfd --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/shared_placeholder_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + gender: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/single_icu_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/single_icu_isolated.golden.d.ts new file mode 100644 index 000000000000..4108dde34dfd --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/icu_logic/single_icu_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + gender: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/line_ending_normalization/external_template_legacy_non_normalized_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/line_ending_normalization/external_template_legacy_non_normalized_isolated.golden.d.ts new file mode 100644 index 000000000000..f66acac4a087 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/line_ending_normalization/external_template_legacy_non_normalized_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + value: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/line_ending_normalization/external_template_legacy_normalized_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/line_ending_normalization/external_template_legacy_normalized_isolated.golden.d.ts new file mode 100644 index 000000000000..f66acac4a087 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/line_ending_normalization/external_template_legacy_normalized_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + value: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/line_ending_normalization/external_template_non_legacy_non_normalized_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/line_ending_normalization/external_template_non_legacy_non_normalized_isolated.golden.d.ts new file mode 100644 index 000000000000..f66acac4a087 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/line_ending_normalization/external_template_non_legacy_non_normalized_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + value: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/line_ending_normalization/external_template_non_legacy_normalized_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/line_ending_normalization/external_template_non_legacy_normalized_isolated.golden.d.ts new file mode 100644 index 000000000000..f66acac4a087 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/line_ending_normalization/external_template_non_legacy_normalized_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + value: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/line_ending_normalization/inline_template_legacy_non_normalized_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/line_ending_normalization/inline_template_legacy_non_normalized_isolated.golden.d.ts new file mode 100644 index 000000000000..f66acac4a087 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/line_ending_normalization/inline_template_legacy_non_normalized_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + value: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/line_ending_normalization/inline_template_legacy_normalized_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/line_ending_normalization/inline_template_legacy_normalized_isolated.golden.d.ts new file mode 100644 index 000000000000..f66acac4a087 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/line_ending_normalization/inline_template_legacy_normalized_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + value: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/line_ending_normalization/inline_template_non_legacy_non_normalized_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/line_ending_normalization/inline_template_non_legacy_non_normalized_isolated.golden.d.ts new file mode 100644 index 000000000000..f66acac4a087 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/line_ending_normalization/inline_template_non_legacy_non_normalized_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + value: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/line_ending_normalization/inline_template_non_legacy_normalized_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/line_ending_normalization/inline_template_non_legacy_normalized_isolated.golden.d.ts new file mode 100644 index 000000000000..f66acac4a087 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/line_ending_normalization/inline_template_non_legacy_normalized_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + value: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/localize_legacy_message_ids/legacy_disabled_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/localize_legacy_message_ids/legacy_disabled_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/localize_legacy_message_ids/legacy_disabled_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/localize_legacy_message_ids/legacy_enabled_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/localize_legacy_message_ids/legacy_enabled_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/localize_legacy_message_ids/legacy_enabled_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/multiple_pipes_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/multiple_pipes_isolated.golden.d.ts new file mode 100644 index 000000000000..ccbfdf832477 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/multiple_pipes_isolated.golden.d.ts @@ -0,0 +1,30 @@ +import { PipeTransform } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class MyComponent { + valueA: number; + valueB: number; + valueC: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class PipeA implements PipeTransform { + transform(): null; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class PipeB implements PipeTransform { + transform(): null; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class PipeC implements PipeTransform { + transform(): null; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/namespaces/foreign_object_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/namespaces/foreign_object_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/namespaces/foreign_object_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/namespaces/namespaced_div_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/namespaces/namespaced_div_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/namespaces/namespaced_div_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/backtick_quotes_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/backtick_quotes_isolated.golden.d.ts new file mode 100644 index 000000000000..49106efe0d4f --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/backtick_quotes_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + count: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/bindings_in_content_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/bindings_in_content_isolated.golden.d.ts new file mode 100644 index 000000000000..49a199a03bb9 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/bindings_in_content_isolated.golden.d.ts @@ -0,0 +1,21 @@ +import * as i0 from "@angular/core"; +export declare class UppercasePipe { + transform(v: any): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class MyComponent { + one: number; + two: number; + three: number; + four: number; + five: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/comments_in_translated_text_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/comments_in_translated_text_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/comments_in_translated_text_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/directives_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/directives_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/directives_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/empty_content_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/empty_content_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/empty_content_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/escape_quotes_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/escape_quotes_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/escape_quotes_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/event_listeners_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/event_listeners_isolated.golden.d.ts new file mode 100644 index 000000000000..6dee27013072 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/event_listeners_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + onClick(): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/i18n_after_binding_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/i18n_after_binding_isolated.golden.d.ts new file mode 100644 index 000000000000..fd60b6407d26 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/i18n_after_binding_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + someBoolean: boolean; + someField: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/interpolation_complex_expressions_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/interpolation_complex_expressions_isolated.golden.d.ts new file mode 100644 index 000000000000..6401fd151379 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/interpolation_complex_expressions_isolated.golden.d.ts @@ -0,0 +1,17 @@ +import * as i0 from "@angular/core"; +export declare class AsyncPipe { + transform(v: any): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class MyComponent { + valueA: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/last_elem_inside_i18n_block_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/last_elem_inside_i18n_block_isolated.golden.d.ts new file mode 100644 index 000000000000..785bfe9c2895 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/last_elem_inside_i18n_block_isolated.golden.d.ts @@ -0,0 +1,13 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + attr: any; + text: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/named_interpolations_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/named_interpolations_isolated.golden.d.ts new file mode 100644 index 000000000000..5887af207f44 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/named_interpolations_isolated.golden.d.ts @@ -0,0 +1,13 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + valueA: string; + valueB: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/nested_elements_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/nested_elements_isolated.golden.d.ts new file mode 100644 index 000000000000..ca5001c8d8f1 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/nested_elements_isolated.golden.d.ts @@ -0,0 +1,19 @@ +import * as i0 from "@angular/core"; +export declare class UppercasePipe { + transform(v: any): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class MyComponent { + one: number; + two: number; + nestedInBlockTwo: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/nested_elements_with_i18n_attributes_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/nested_elements_with_i18n_attributes_isolated.golden.d.ts new file mode 100644 index 000000000000..f3105ebe2be5 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/nested_elements_with_i18n_attributes_isolated.golden.d.ts @@ -0,0 +1,21 @@ +import * as i0 from "@angular/core"; +export declare class UppercasePipe { + transform(v: any): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class MyComponent { + valueA: any; + valueB: any; + valueC: any; + valueD: any; + valueE: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/nested_ng-content_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/nested_ng-content_isolated.golden.d.ts new file mode 100644 index 000000000000..1d03ce5122b3 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/nested_ng-content_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/nested_templates_context_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/nested_templates_context_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/nested_templates_context_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/nested_templates_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/nested_templates_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/nested_templates_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/ng_content_with_i18n_children_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/ng_content_with_i18n_children_isolated.golden.d.ts new file mode 100644 index 000000000000..5da09d8ecfb7 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/ng_content_with_i18n_children_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/plain_text_messages_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/plain_text_messages_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/plain_text_messages_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/self_closing_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/self_closing_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/nested_nodes/self_closing_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/bare_icus_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/bare_icus_isolated.golden.d.ts new file mode 100644 index 000000000000..ae00c9b2c661 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/bare_icus_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + age: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/child_elements_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/child_elements_isolated.golden.d.ts new file mode 100644 index 000000000000..668bf62fa085 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/child_elements_isolated.golden.d.ts @@ -0,0 +1,18 @@ +import * as i0 from "@angular/core"; +export declare class UppercasePipe { + transform(v: any): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class MyComponent { + valueA: string; + valueB: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/duplicate_content_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/duplicate_content_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/duplicate_content_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/icus_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/icus_isolated.golden.d.ts new file mode 100644 index 000000000000..4108dde34dfd --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/icus_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + gender: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/nested_templates_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/nested_templates_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/nested_templates_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/ng-container_with_non_text_content_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/ng-container_with_non_text_content_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/ng-container_with_non_text_content_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/self_closing_ng-container_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/self_closing_ng-container_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/self_closing_ng-container_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/self_closing_tags_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/self_closing_tags_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/self_closing_tags_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/sibling_i18n_blocks_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/sibling_i18n_blocks_isolated.golden.d.ts new file mode 100644 index 000000000000..43e4da58fd63 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/sibling_i18n_blocks_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/single_ng-container_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/single_ng-container_isolated.golden.d.ts new file mode 100644 index 000000000000..ca47fa20037c --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/single_ng-container_isolated.golden.d.ts @@ -0,0 +1,17 @@ +import * as i0 from "@angular/core"; +export declare class UppercasePipe { + transform(v: any): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class MyComponent { + valueA: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/single_ng-template_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/single_ng-template_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/single_ng-template_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/structural_directives_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/structural_directives_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/structural_directives_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/structural_directives_same_placeholder_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/structural_directives_same_placeholder_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/ng-container_ng-template/structural_directives_same_placeholder_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/repeated_placeholder_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/repeated_placeholder_isolated.golden.d.ts new file mode 100644 index 000000000000..02beea0d5230 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/repeated_placeholder_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + placeholder: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/self-closing_i18n_instructions/icu_only_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/self-closing_i18n_instructions/icu_only_isolated.golden.d.ts new file mode 100644 index 000000000000..ae00c9b2c661 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/self-closing_i18n_instructions/icu_only_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + age: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/self-closing_i18n_instructions/ng-container_ng-template_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/self-closing_i18n_instructions/ng-container_ng-template_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/self-closing_i18n_instructions/ng-container_ng-template_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/self-closing_i18n_instructions/styles_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/self-closing_i18n_instructions/styles_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/self-closing_i18n_instructions/styles_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/self-closing_i18n_instructions/text_only_content_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/self-closing_i18n_instructions/text_only_content_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/self-closing_i18n_instructions/text_only_content_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/whitespace_preserving_mode/preserve_inner_content_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/whitespace_preserving_mode/preserve_inner_content_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_i18n/whitespace_preserving_mode/preserve_inner_content_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_input_outputs/component_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_input_outputs/component_isolated.golden.d.ts new file mode 100644 index 000000000000..cdb632a8e274 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_input_outputs/component_isolated.golden.d.ts @@ -0,0 +1,15 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + componentInput: any; + originalComponentInput: any; + componentOutput: any; + originalComponentOutput: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_input_outputs/directive_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_input_outputs/directive_isolated.golden.d.ts new file mode 100644 index 000000000000..c6e4e5ac3606 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_input_outputs/directive_isolated.golden.d.ts @@ -0,0 +1,15 @@ +import * as i0 from "@angular/core"; +export declare class MyDirective { + directiveInput: any; + originalDirectiveInput: any; + directiveOutput: any; + originalDirectiveOutput: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_for_loop_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_for_loop_isolated.golden.d.ts new file mode 100644 index 000000000000..cf0a5de300b6 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_for_loop_isolated.golden.d.ts @@ -0,0 +1,9 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + items: { + children: any[]; + }[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_in_child_view_inside_i18n_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_in_child_view_inside_i18n_isolated.golden.d.ts new file mode 100644 index 000000000000..f1a21d25867f --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_in_child_view_inside_i18n_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + value: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_in_child_view_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_in_child_view_isolated.golden.d.ts new file mode 100644 index 000000000000..40d785f282be --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_in_child_view_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_in_child_view_listener_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_in_child_view_listener_isolated.golden.d.ts new file mode 100644 index 000000000000..98eab8a6ad8a --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_in_child_view_listener_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + value: number; + callback(one: number, two: number, three: number, four: number): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_in_i18n_and_child_view_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_in_i18n_and_child_view_isolated.golden.d.ts new file mode 100644 index 000000000000..f1a21d25867f --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_in_i18n_and_child_view_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + value: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_in_i18n_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_in_i18n_isolated.golden.d.ts new file mode 100644 index 000000000000..f1a21d25867f --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_in_i18n_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + value: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_in_listener_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_in_listener_isolated.golden.d.ts new file mode 100644 index 000000000000..f82d0b93998f --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_in_listener_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + value: number; + callback(one: number, two: number): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_invalid_forward_ref_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_invalid_forward_ref_isolated.golden.d.ts new file mode 100644 index 000000000000..f1a21d25867f --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_invalid_forward_ref_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + value: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_local_forward_refs_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_local_forward_refs_isolated.golden.d.ts new file mode 100644 index 000000000000..40d785f282be --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_local_forward_refs_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_local_refs_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_local_refs_isolated.golden.d.ts new file mode 100644 index 000000000000..40d785f282be --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_local_refs_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_multiple_optimization_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_multiple_optimization_isolated.golden.d.ts new file mode 100644 index 000000000000..f1a21d25867f --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_multiple_optimization_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + value: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_optimization_child_view_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_optimization_child_view_isolated.golden.d.ts new file mode 100644 index 000000000000..f1a21d25867f --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_optimization_child_view_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + value: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_optimization_listener_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_optimization_listener_isolated.golden.d.ts new file mode 100644 index 000000000000..0c6e9f81f388 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_optimization_listener_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + value: number; + callback(value: number): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_partial_optimization_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_partial_optimization_isolated.golden.d.ts new file mode 100644 index 000000000000..f1a21d25867f --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_partial_optimization_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + value: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_preceded_by_i18n_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_preceded_by_i18n_isolated.golden.d.ts new file mode 100644 index 000000000000..f1a21d25867f --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_preceded_by_i18n_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + value: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_shared_with_child_view_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_shared_with_child_view_isolated.golden.d.ts new file mode 100644 index 000000000000..40d785f282be --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_shared_with_child_view_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_single_optimization_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_single_optimization_isolated.golden.d.ts new file mode 100644 index 000000000000..f1a21d25867f --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_single_optimization_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + value: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_with_pipe_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_with_pipe_isolated.golden.d.ts new file mode 100644 index 000000000000..c70392fe1850 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_with_pipe_isolated.golden.d.ts @@ -0,0 +1,13 @@ +import { PipeTransform } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class DoublePipe implements PipeTransform { + transform(value: number): number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class MyApp { + value: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_with_pipe_optimization_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_with_pipe_optimization_isolated.golden.d.ts new file mode 100644 index 000000000000..c70392fe1850 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/let_with_pipe_optimization_isolated.golden.d.ts @@ -0,0 +1,13 @@ +import { PipeTransform } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class DoublePipe implements PipeTransform { + transform(value: number): number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class MyApp { + value: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/multiple_let_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/multiple_let_isolated.golden.d.ts new file mode 100644 index 000000000000..f1a21d25867f --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/multiple_let_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + value: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/shadowed_let_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/shadowed_let_isolated.golden.d.ts new file mode 100644 index 000000000000..40d785f282be --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/shadowed_let_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/simple_let_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/simple_let_isolated.golden.d.ts new file mode 100644 index 000000000000..f1a21d25867f --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_let/simple_let_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + value: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/component_listener_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/component_listener_isolated.golden.d.ts new file mode 100644 index 000000000000..ca163f80db4a --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/component_listener_isolated.golden.d.ts @@ -0,0 +1,16 @@ +import * as i0 from "@angular/core"; +export declare class MyApp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyComponent { + onClick(event: any): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/cross_element_chained_listeners_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/cross_element_chained_listeners_isolated.golden.d.ts new file mode 100644 index 000000000000..871c5f21403e --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/cross_element_chained_listeners_isolated.golden.d.ts @@ -0,0 +1,22 @@ +import { EventEmitter } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class SomeComp { + update: EventEmitter; + delete: EventEmitter; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyComponent { + click(): void; + change(): void; + delete(): void; + update(): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/element_listener_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/element_listener_isolated.golden.d.ts new file mode 100644 index 000000000000..a8a02526ff1f --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/element_listener_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + onClick(event: any): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/embedded_view_listener_context_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/embedded_view_listener_context_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/embedded_view_listener_context_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/event_arg_host_listener_implicit_meaning_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/event_arg_host_listener_implicit_meaning_isolated.golden.d.ts new file mode 100644 index 000000000000..638ec628c7b6 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/event_arg_host_listener_implicit_meaning_isolated.golden.d.ts @@ -0,0 +1,2 @@ +export {}; + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/event_arg_listener_implicit_meaning_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/event_arg_listener_implicit_meaning_isolated.golden.d.ts new file mode 100644 index 000000000000..638ec628c7b6 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/event_arg_listener_implicit_meaning_isolated.golden.d.ts @@ -0,0 +1,2 @@ +export {}; + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/event_explicit_access_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/event_explicit_access_isolated.golden.d.ts new file mode 100644 index 000000000000..638ec628c7b6 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/event_explicit_access_isolated.golden.d.ts @@ -0,0 +1,2 @@ +export {}; + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/event_host_explicit_access_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/event_host_explicit_access_isolated.golden.d.ts new file mode 100644 index 000000000000..638ec628c7b6 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/event_host_explicit_access_isolated.golden.d.ts @@ -0,0 +1,2 @@ +export {}; + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/event_in_property_binding_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/event_in_property_binding_isolated.golden.d.ts new file mode 100644 index 000000000000..216c84347061 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/event_in_property_binding_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class DivDir { + event: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyMod { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/has_event_arg_host_listener_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/has_event_arg_host_listener_isolated.golden.d.ts new file mode 100644 index 000000000000..dd5a88c9dd3c --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/has_event_arg_host_listener_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + click(target: any): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/implicit_receiver_keyed_write_inside_template_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/implicit_receiver_keyed_write_inside_template_isolated.golden.d.ts new file mode 100644 index 000000000000..2e504dcb88c3 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/implicit_receiver_keyed_write_inside_template_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + message: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/listener_unused_let_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/listener_unused_let_isolated.golden.d.ts new file mode 100644 index 000000000000..77d59ffa8d16 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/listener_unused_let_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + noop(): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/local_ref_before_listener_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/local_ref_before_listener_isolated.golden.d.ts new file mode 100644 index 000000000000..e2d0de865b9f --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/local_ref_before_listener_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + onClick(v: any): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/mixed_one_way_two_way_listener_order_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/mixed_one_way_two_way_listener_order_isolated.golden.d.ts new file mode 100644 index 000000000000..1db74b5669be --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/mixed_one_way_two_way_listener_order_isolated.golden.d.ts @@ -0,0 +1,19 @@ +import { EventEmitter } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class Dir { + a: string; + aChange: EventEmitter; + b: EventEmitter; + c: string; + cChange: EventEmitter; + d: EventEmitter; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class App { + value: string; + noop: () => void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/multiple_statements_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/multiple_statements_isolated.golden.d.ts new file mode 100644 index 000000000000..43e4da58fd63 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/multiple_statements_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/nested_two_way_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/nested_two_way_isolated.golden.d.ts new file mode 100644 index 000000000000..d2ca24c3d539 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/nested_two_way_isolated.golden.d.ts @@ -0,0 +1,19 @@ +import { EventEmitter } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class TestCmp { + name: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class NgModelDirective { + ngModel: string; + ngModelChange: EventEmitter; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class AppModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/no_event_arg_host_listener_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/no_event_arg_host_listener_isolated.golden.d.ts new file mode 100644 index 000000000000..5d9c0f12014a --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/no_event_arg_host_listener_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + mousedown(): void; + click(): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/no_event_arg_listener_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/no_event_arg_listener_isolated.golden.d.ts new file mode 100644 index 000000000000..d30eb45fa182 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/no_event_arg_listener_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + onClick(): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/same_element_chained_listeners_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/same_element_chained_listeners_isolated.golden.d.ts new file mode 100644 index 000000000000..54c67b332ab0 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/same_element_chained_listeners_isolated.golden.d.ts @@ -0,0 +1,13 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + click(): void; + change(): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/shared_snapshot_listeners_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/shared_snapshot_listeners_isolated.golden.d.ts new file mode 100644 index 000000000000..66aab50a78ac --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/shared_snapshot_listeners_isolated.golden.d.ts @@ -0,0 +1,13 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + onClick(name: any): void; + onClick2(name: any): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/simple_two_way_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/simple_two_way_isolated.golden.d.ts new file mode 100644 index 000000000000..d2ca24c3d539 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/simple_two_way_isolated.golden.d.ts @@ -0,0 +1,19 @@ +import { EventEmitter } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class TestCmp { + name: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class NgModelDirective { + ngModel: string; + ngModelChange: EventEmitter; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class AppModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/template_chained_listeners_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/template_chained_listeners_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/template_chained_listeners_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/two_way_binding_to_signal_loop_variable_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/two_way_binding_to_signal_loop_variable_isolated.golden.d.ts new file mode 100644 index 000000000000..52a5539b4b5d --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/two_way_binding_to_signal_loop_variable_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class NgModelDirective { + ngModel: import("@angular/core").ModelSignal; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class TestCmp { + names: import("@angular/core").WritableSignal[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/two_way_to_any_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/two_way_to_any_isolated.golden.d.ts new file mode 100644 index 000000000000..38f8dd5ad383 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_listener/two_way_to_any_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class NgModelDirective { + ngModel: import("@angular/core").ModelSignal; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class TestCmp { + value: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_providers/providers_feature_no_providers_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_providers/providers_feature_no_providers_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_providers/providers_feature_no_providers_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_providers/providers_feature_providers_and_view_providers_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_providers/providers_feature_providers_and_view_providers_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_providers/providers_feature_providers_and_view_providers_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_providers/providers_feature_providers_only_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_providers/providers_feature_providers_only_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_providers/providers_feature_providers_only_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_providers/providers_feature_view_providers_only_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_providers/providers_feature_view_providers_only_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_providers/providers_feature_view_providers_only_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/binding_slots/component_host_binding_slots_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/binding_slots/component_host_binding_slots_isolated.golden.d.ts new file mode 100644 index 000000000000..4c340d2c6a38 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/binding_slots/component_host_binding_slots_isolated.golden.d.ts @@ -0,0 +1,20 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + myStyle: { + width: string; + }; + myClass: { + bar: boolean; + }; + id: string; + title: string; + name: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/binding_slots/directive_host_binding_slots_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/binding_slots/directive_host_binding_slots_isolated.golden.d.ts new file mode 100644 index 000000000000..4da3a750d561 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/binding_slots/directive_host_binding_slots_isolated.golden.d.ts @@ -0,0 +1,10 @@ +import * as i0 from "@angular/core"; +export declare class WidthDirective { + myWidth: number; + myFooClass: boolean; + id: string; + title: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/binding_slots/host_binding_slots_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/binding_slots/host_binding_slots_isolated.golden.d.ts new file mode 100644 index 000000000000..1002ffaf02e4 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/binding_slots/host_binding_slots_isolated.golden.d.ts @@ -0,0 +1,20 @@ +import * as i0 from "@angular/core"; +export declare class MyDir { + title: string; + foo: boolean; + _animValue: null; + _animParam1: null; + _animParam2: null; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyAppComp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/chaining/break_different_instructions_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/chaining/break_different_instructions_isolated.golden.d.ts new file mode 100644 index 000000000000..7854b2e90f6d --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/chaining/break_different_instructions_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + one: string; + transition: string; + width: string; + yesToApple: boolean; + yesToOrange: boolean; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/chaining/break_different_interpolation_instructions_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/chaining/break_different_interpolation_instructions_isolated.golden.d.ts new file mode 100644 index 000000000000..ede8c49abc76 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/chaining/break_different_interpolation_instructions_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + one: string; + two: string; + three: string; + transition: string; + width: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/chaining/class_bindings_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/chaining/class_bindings_isolated.golden.d.ts new file mode 100644 index 000000000000..9a864ad5011e --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/chaining/class_bindings_isolated.golden.d.ts @@ -0,0 +1,9 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + yesToApple: boolean; + yesToOrange: boolean; + yesToTomato: boolean; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/chaining/host_bindings_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/chaining/host_bindings_isolated.golden.d.ts new file mode 100644 index 000000000000..1b2385e056eb --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/chaining/host_bindings_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + color: string; + transition: string; + yesToApple: boolean; + yesToTomato: boolean; + border: string; + yesToOrange: boolean; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/chaining/interpolations_different_arity_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/chaining/interpolations_different_arity_isolated.golden.d.ts new file mode 100644 index 000000000000..9b9c35eb85b3 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/chaining/interpolations_different_arity_isolated.golden.d.ts @@ -0,0 +1,9 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + one: string; + two: string; + three: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/chaining/interpolations_equal_arity_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/chaining/interpolations_equal_arity_isolated.golden.d.ts new file mode 100644 index 000000000000..cf1e4b2fe807 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/chaining/interpolations_equal_arity_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + one: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/chaining/mixed_bindings_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/chaining/mixed_bindings_isolated.golden.d.ts new file mode 100644 index 000000000000..bd8e00e19944 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/chaining/mixed_bindings_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + color: string; + border: string; + transition: string; + yesToApple: boolean; + yesToOrange: boolean; + yesToTomato: boolean; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/chaining/style_bindings_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/chaining/style_bindings_isolated.golden.d.ts new file mode 100644 index 000000000000..1bde55be4455 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/chaining/style_bindings_isolated.golden.d.ts @@ -0,0 +1,9 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + color: string; + border: string; + transition: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/class_bindings/class_binding_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/class_bindings/class_binding_isolated.golden.d.ts new file mode 100644 index 000000000000..fce4e641b43f --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/class_bindings/class_binding_isolated.golden.d.ts @@ -0,0 +1,14 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + myClassExp: { + foo: boolean; + }; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/class_bindings/class_binding_on_structural_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/class_bindings/class_binding_on_structural_isolated.golden.d.ts new file mode 100644 index 000000000000..f1d6633bda09 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/class_bindings/class_binding_on_structural_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + field: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/class_bindings/class_binding_special_chars_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/class_bindings/class_binding_special_chars_isolated.golden.d.ts new file mode 100644 index 000000000000..06693401509b --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/class_bindings/class_binding_special_chars_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + expr: boolean; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/class_bindings/class_ordering_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/class_bindings/class_ordering_isolated.golden.d.ts new file mode 100644 index 000000000000..dc293d31435c --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/class_bindings/class_ordering_isolated.golden.d.ts @@ -0,0 +1,17 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + myClassExp: { + a: boolean; + b: boolean; + }; + yesToApple: boolean; + yesToOrange: boolean; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/class_bindings/empty_class_bindings_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/class_bindings/empty_class_bindings_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/class_bindings/empty_class_bindings_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/class_bindings/host_class_binding_special_chars_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/class_bindings/host_class_binding_special_chars_isolated.golden.d.ts new file mode 100644 index 000000000000..06693401509b --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/class_bindings/host_class_binding_special_chars_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + expr: boolean; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/class_bindings/shared_name_with_consts_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/class_bindings/shared_name_with_consts_isolated.golden.d.ts new file mode 100644 index 000000000000..8ee6b89cabf3 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/class_bindings/shared_name_with_consts_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + tabIndex: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/class_bindings/static_bindings_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/class_bindings/static_bindings_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/class_bindings/static_bindings_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_animations/animation_host_bindings_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_animations/animation_host_bindings_isolated.golden.d.ts new file mode 100644 index 000000000000..35ae459a08a4 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_animations/animation_host_bindings_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_animations/animation_listeners_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_animations/animation_listeners_isolated.golden.d.ts new file mode 100644 index 000000000000..35ae459a08a4 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_animations/animation_listeners_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_animations/animation_property_bindings_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_animations/animation_property_bindings_isolated.golden.d.ts new file mode 100644 index 000000000000..c4bcf2ea5d88 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_animations/animation_property_bindings_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + exp: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_animations/metadata_empty_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_animations/metadata_empty_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_animations/metadata_empty_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_animations/metadata_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_animations/metadata_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_animations/metadata_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_styles/encapsulation_default_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_styles/encapsulation_default_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_styles/encapsulation_default_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_styles/encapsulation_emulated_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_styles/encapsulation_emulated_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_styles/encapsulation_emulated_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_styles/encapsulation_none_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_styles/encapsulation_none_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_styles/encapsulation_none_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_styles/encapsulation_shadow_dom_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_styles/encapsulation_shadow_dom_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_styles/encapsulation_shadow_dom_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_styles/external_runtime_files_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_styles/external_runtime_files_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/component_styles/external_runtime_files_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/host_bindings/class_interpolation_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/host_bindings/class_interpolation_isolated.golden.d.ts new file mode 100644 index 000000000000..1c91102bda8a --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/host_bindings/class_interpolation_isolated.golden.d.ts @@ -0,0 +1,20 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + p1: number; + p2: number; + p3: number; + p4: number; + p5: number; + p6: number; + p7: number; + p8: number; + p9: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/host_bindings/css_custom_properties_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/host_bindings/css_custom_properties_isolated.golden.d.ts new file mode 100644 index 000000000000..803e83b96135 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/host_bindings/css_custom_properties_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyDirective { + value: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/host_bindings/important_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/host_bindings/important_isolated.golden.d.ts new file mode 100644 index 000000000000..6b8fab7ef384 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/host_bindings/important_isolated.golden.d.ts @@ -0,0 +1,17 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + myStyleExp: string; + myClassExp: string; + myFooClassExp: boolean; + myWidthExp: string; + myBarClassExp: boolean; + myHeightExp: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/host_bindings/multiple_directives_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/host_bindings/multiple_directives_isolated.golden.d.ts new file mode 100644 index 000000000000..baa625ce0bdb --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/host_bindings/multiple_directives_isolated.golden.d.ts @@ -0,0 +1,30 @@ +import * as i0 from "@angular/core"; +export declare class ClassDirective { + myClassMap: { + red: boolean; + }; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class WidthDirective { + myWidth: number; + myFooClass: boolean; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class HeightDirective { + myHeight: number; + myBarClass: boolean; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/host_bindings/multiple_dynamic_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/host_bindings/multiple_dynamic_isolated.golden.d.ts new file mode 100644 index 000000000000..ebae08de9229 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/host_bindings/multiple_dynamic_isolated.golden.d.ts @@ -0,0 +1,20 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + myHeightProp: number; + myBarClass: boolean; + myStyle: {}; + myWidthProp: string; + myFooClass: boolean; + myClasses: { + a: boolean; + b: boolean; + }; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/host_bindings/static_and_dynamic_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/host_bindings/static_and_dynamic_isolated.golden.d.ts new file mode 100644 index 000000000000..c9284394e99e --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/host_bindings/static_and_dynamic_isolated.golden.d.ts @@ -0,0 +1,19 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + myStyle: { + width: string; + }; + myClass: { + bar: boolean; + }; + myColorProp: string; + myFooClass: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/host_bindings/style_interpolation_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/host_bindings/style_interpolation_isolated.golden.d.ts new file mode 100644 index 000000000000..1c91102bda8a --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/host_bindings/style_interpolation_isolated.golden.d.ts @@ -0,0 +1,20 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + p1: number; + p2: number; + p3: number; + p4: number; + p5: number; + p6: number; + p7: number; + p8: number; + p9: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/interpolations/class_interpolations_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/interpolations/class_interpolations_isolated.golden.d.ts new file mode 100644 index 000000000000..852a477b0c8c --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/interpolations/class_interpolations_isolated.golden.d.ts @@ -0,0 +1,15 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + one: string; + two: string; + three: string; + four: string; + five: string; + six: string; + seven: string; + eight: string; + nine: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/interpolations/style_binding_important_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/interpolations/style_binding_important_isolated.golden.d.ts new file mode 100644 index 000000000000..899f9685fbaa --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/interpolations/style_binding_important_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + one: string; + two: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/interpolations/style_binding_sanitizer_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/interpolations/style_binding_sanitizer_isolated.golden.d.ts new file mode 100644 index 000000000000..5d39ba503f1e --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/interpolations/style_binding_sanitizer_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + myUrl1: string; + myUrl2: string; + myBoxX: string; + myBoxY: string; + myBoxWidth: string; + myRepeat: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/interpolations/style_binding_suffixed_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/interpolations/style_binding_suffixed_isolated.golden.d.ts new file mode 100644 index 000000000000..899f9685fbaa --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/interpolations/style_binding_suffixed_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + one: string; + two: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/interpolations/style_properties_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/interpolations/style_properties_isolated.golden.d.ts new file mode 100644 index 000000000000..852a477b0c8c --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/interpolations/style_properties_isolated.golden.d.ts @@ -0,0 +1,15 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + one: string; + two: string; + three: string; + four: string; + five: string; + six: string; + seven: string; + eight: string; + nine: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/mixed_style_and_class/mixed_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/mixed_style_and_class/mixed_isolated.golden.d.ts new file mode 100644 index 000000000000..8a62d5cb1c1b --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/mixed_style_and_class/mixed_isolated.golden.d.ts @@ -0,0 +1,19 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + myStyleExp: ({ + color: string; + duration?: undefined; + } | { + color: string; + duration: number; + })[]; + myClassExp: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/mixed_style_and_class/multiple_elements_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/mixed_style_and_class/multiple_elements_isolated.golden.d.ts new file mode 100644 index 000000000000..ba4d5d5f93e4 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/mixed_style_and_class/multiple_elements_isolated.golden.d.ts @@ -0,0 +1,15 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + w1: string; + h1: string; + a1: boolean; + r1: boolean; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/mixed_style_and_class/pipe_bindings_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/mixed_style_and_class/pipe_bindings_isolated.golden.d.ts new file mode 100644 index 000000000000..57e8dfefb5c0 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/mixed_style_and_class/pipe_bindings_isolated.golden.d.ts @@ -0,0 +1,29 @@ +import * as i0 from "@angular/core"; +export declare class StylePipe { + transform(v: any): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class ClassPipe { + transform(v: any): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class MyComponent { + myStyleExp: ({ + color: string; + duration?: undefined; + } | { + color: string; + duration: number; + })[]; + myClassExp: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/mixed_style_and_class/pipe_bindings_slots_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/mixed_style_and_class/pipe_bindings_slots_isolated.golden.d.ts new file mode 100644 index 000000000000..5c6095a8ad0c --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/mixed_style_and_class/pipe_bindings_slots_isolated.golden.d.ts @@ -0,0 +1,22 @@ +import * as i0 from "@angular/core"; +export declare class PipePipe { + transform(v: any): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class MyComponent { + myStyleExp: {}; + fooExp: string; + barExp: string; + bazExp: string; + items: number[]; + item: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/binding_slots_interpolations_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/binding_slots_interpolations_isolated.golden.d.ts new file mode 100644 index 000000000000..ba638a4120f7 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/binding_slots_interpolations_isolated.golden.d.ts @@ -0,0 +1,20 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + myStyleExp: ({ + color: string; + duration?: undefined; + } | { + color: string; + duration: number; + })[]; + myWidth: string; + myHeight: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/binding_slots_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/binding_slots_isolated.golden.d.ts new file mode 100644 index 000000000000..dfc2176a4c9a --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/binding_slots_isolated.golden.d.ts @@ -0,0 +1,23 @@ +import * as i0 from "@angular/core"; +export declare class MyComponentWithInterpolation { + fooId: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyComponentWithMuchosInterpolation { + fooId: string; + fooUsername: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyComponentWithoutInterpolation { + exp: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/colon_style_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/colon_style_isolated.golden.d.ts new file mode 100644 index 000000000000..43e4da58fd63 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/colon_style_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/css_custom_properties_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/css_custom_properties_isolated.golden.d.ts new file mode 100644 index 000000000000..f46d10649e19 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/css_custom_properties_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + value: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/duplicate_style_bindings_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/duplicate_style_bindings_isolated.golden.d.ts new file mode 100644 index 000000000000..43e4da58fd63 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/duplicate_style_bindings_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/empty_style_bindings_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/empty_style_bindings_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/empty_style_bindings_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/style_binding_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/style_binding_isolated.golden.d.ts new file mode 100644 index 000000000000..e051176dcb96 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/style_binding_isolated.golden.d.ts @@ -0,0 +1,18 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + myStyleExp: ({ + color: string; + duration?: undefined; + } | { + color: string; + duration: number; + })[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/style_binding_suffixed_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/style_binding_suffixed_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/style_binding_suffixed_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/style_ordering_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/style_ordering_isolated.golden.d.ts new file mode 100644 index 000000000000..c698a5fed93a --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_styling/style_bindings/style_ordering_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + myImage: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/attr_binding_on_structural_inside_ng_template_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/attr_binding_on_structural_inside_ng_template_isolated.golden.d.ts new file mode 100644 index 000000000000..e9497b5b24a3 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/attr_binding_on_structural_inside_ng_template_isolated.golden.d.ts @@ -0,0 +1,13 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + someField: any; + someBooleanField: boolean; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/create_many_elements_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/create_many_elements_isolated.golden.d.ts new file mode 100644 index 000000000000..5cc7fe4be799 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/create_many_elements_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/implicit_receiver_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/implicit_receiver_isolated.golden.d.ts new file mode 100644 index 000000000000..255b46c36200 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/implicit_receiver_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + greet(val: any): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/nested_template_context_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/nested_template_context_isolated.golden.d.ts new file mode 100644 index 000000000000..c5961f2f35f5 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/nested_template_context_isolated.golden.d.ts @@ -0,0 +1,14 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + component: this; + format(outer: any, middle: any, inner: any): void; + onClick(outer: any, middle: any, inner: any): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/nested_template_context_many_bindings_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/nested_template_context_many_bindings_isolated.golden.d.ts new file mode 100644 index 000000000000..ffcaf3993303 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/nested_template_context_many_bindings_isolated.golden.d.ts @@ -0,0 +1,13 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + _data: number[]; + _handleClick(d: any, i: any): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/nested_ternary_operation_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/nested_ternary_operation_isolated.golden.d.ts new file mode 100644 index 000000000000..9884f173e1ca --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/nested_ternary_operation_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + a: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_for_context_in_attr_binding_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_for_context_in_attr_binding_isolated.golden.d.ts new file mode 100644 index 000000000000..56175e50a5c7 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_for_context_in_attr_binding_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + someField: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_for_context_variables_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_for_context_variables_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_for_context_variables_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_for_parent_context_variables_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_for_parent_context_variables_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_for_parent_context_variables_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_template_bindings_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_template_bindings_isolated.golden.d.ts new file mode 100644 index 000000000000..081f27332cb1 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_template_bindings_isolated.golden.d.ts @@ -0,0 +1,9 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + p1: any; + a1: any; + c1: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_template_implicit_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_template_implicit_isolated.golden.d.ts new file mode 100644 index 000000000000..081f27332cb1 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_template_implicit_isolated.golden.d.ts @@ -0,0 +1,9 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + p1: any; + a1: any; + c1: any; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_template_interpolated_prop_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_template_interpolated_prop_isolated.golden.d.ts new file mode 100644 index 000000000000..c040976ae74d --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_template_interpolated_prop_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class TestComp { + message: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_template_interpolated_prop_with_structural_directive_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_template_interpolated_prop_with_structural_directive_isolated.golden.d.ts new file mode 100644 index 000000000000..c040976ae74d --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_template_interpolated_prop_with_structural_directive_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class TestComp { + message: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_template_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_template_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_template_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_template_local_ref_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_template_local_ref_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_template_local_ref_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_template_output_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_template_output_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/ng_template_output_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/self_closing_structural_directives_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/self_closing_structural_directives_isolated.golden.d.ts new file mode 100644 index 000000000000..2738d39d4ef8 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/self_closing_structural_directives_isolated.golden.d.ts @@ -0,0 +1,10 @@ +import * as i0 from "@angular/core"; +export declare class OtherComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/self_closing_tags_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/self_closing_tags_isolated.golden.d.ts new file mode 100644 index 000000000000..71a2daec82c9 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/self_closing_tags_isolated.golden.d.ts @@ -0,0 +1,15 @@ +import * as i0 from "@angular/core"; +export declare class MyComp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class App { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/self_closing_tags_nested_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/self_closing_tags_nested_isolated.golden.d.ts new file mode 100644 index 000000000000..71a2daec82c9 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/self_closing_tags_nested_isolated.golden.d.ts @@ -0,0 +1,15 @@ +import * as i0 from "@angular/core"; +export declare class MyComp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class App { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/shorthand_property_declaration_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/shorthand_property_declaration_isolated.golden.d.ts new file mode 100644 index 000000000000..9147d9a8db55 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/shorthand_property_declaration_isolated.golden.d.ts @@ -0,0 +1,14 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + a: number; + c: number; + _handleClick(_value: any): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/template_binding_pipe_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/template_binding_pipe_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/template_binding_pipe_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/template_context_skip_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/template_context_skip_isolated.golden.d.ts new file mode 100644 index 000000000000..296250b3d747 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/template_context_skip_isolated.golden.d.ts @@ -0,0 +1,11 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/template_with_structural_directive_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/template_with_structural_directive_isolated.golden.d.ts new file mode 100644 index 000000000000..43e4da58fd63 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/template_with_structural_directive_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/unique_listener_function_names_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/unique_listener_function_names_isolated.golden.d.ts new file mode 100644 index 000000000000..f0865a0669ad --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/unique_listener_function_names_isolated.golden.d.ts @@ -0,0 +1,12 @@ +import * as i0 from "@angular/core"; +export declare class MyComponent { + items: number[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class MyModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/unique_template_function_names_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/unique_template_function_names_isolated.golden.d.ts new file mode 100644 index 000000000000..46ee4edaa3db --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/unique_template_function_names_isolated.golden.d.ts @@ -0,0 +1,24 @@ +import * as i0 from "@angular/core"; +export declare class AComponent { + items: number[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class AModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} +export declare class BComponent { + items: { + subitems: number[]; + }[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class BModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/unique_template_function_names_ng_content_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/unique_template_function_names_ng_content_isolated.golden.d.ts new file mode 100644 index 000000000000..7607703001ff --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/r3_view_compiler_template/unique_template_function_names_ng_content_isolated.golden.d.ts @@ -0,0 +1,17 @@ +import * as i0 from "@angular/core"; +export declare class AComponent { + show: boolean; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class BComponent { + show: boolean; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class AModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/service_decorator/basic_service_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/service_decorator/basic_service_isolated.golden.d.ts new file mode 100644 index 000000000000..c358bcfdd283 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/service_decorator/basic_service_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyService { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵprov: i0.ɵɵInjectableDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/service_decorator/explicitly_provided_service_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/service_decorator/explicitly_provided_service_isolated.golden.d.ts new file mode 100644 index 000000000000..c358bcfdd283 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/service_decorator/explicitly_provided_service_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyService { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵprov: i0.ɵɵInjectableDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/service_decorator/generic_service_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/service_decorator/generic_service_isolated.golden.d.ts new file mode 100644 index 000000000000..ce98cba9208a --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/service_decorator/generic_service_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class MyService { + getOne(): T; + getTwo(): V; + static ɵfac: i0.ɵɵFactoryDeclaration, never>; + static ɵprov: i0.ɵɵInjectableDeclaration>; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/service_decorator/not_provided_service_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/service_decorator/not_provided_service_isolated.golden.d.ts new file mode 100644 index 000000000000..c358bcfdd283 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/service_decorator/not_provided_service_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyService { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵprov: i0.ɵɵInjectableDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/service_decorator/service_with_factory_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/service_decorator/service_with_factory_isolated.golden.d.ts new file mode 100644 index 000000000000..c358bcfdd283 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/service_decorator/service_with_factory_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class MyService { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵprov: i0.ɵɵInjectableDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/signal_inputs/complex_transform_functions_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/signal_inputs/complex_transform_functions_isolated.golden.d.ts new file mode 100644 index 000000000000..9b7278cdda2b --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/signal_inputs/complex_transform_functions_isolated.golden.d.ts @@ -0,0 +1,10 @@ +import * as i0 from "@angular/core"; +export declare class TestDir { + name: import("@angular/core").InputSignalWithTransform; + name2: import("@angular/core").InputSignalWithTransform; + genericTransform: import("@angular/core").InputSignalWithTransform; + genericTransform2: import("@angular/core").InputSignalWithTransform; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/signal_inputs/input_component_definition_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/signal_inputs/input_component_definition_isolated.golden.d.ts new file mode 100644 index 000000000000..b1f0b627c4d3 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/signal_inputs/input_component_definition_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class TestComp { + counter: import("@angular/core").InputSignal; + name: import("@angular/core").InputSignal; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/signal_inputs/input_directive_definition_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/signal_inputs/input_directive_definition_isolated.golden.d.ts new file mode 100644 index 000000000000..e5f91437ec65 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/signal_inputs/input_directive_definition_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class TestDir { + counter: import("@angular/core").InputSignal; + name: import("@angular/core").InputSignal; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/signal_inputs/transform_not_captured_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/signal_inputs/transform_not_captured_isolated.golden.d.ts new file mode 100644 index 000000000000..09dabfddbda4 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/signal_inputs/transform_not_captured_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class TestDir { + name: import("@angular/core").InputSignalWithTransform; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/signal_queries/mixed_query_variants_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/signal_queries/mixed_query_variants_isolated.golden.d.ts new file mode 100644 index 000000000000..e36112660978 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/signal_queries/mixed_query_variants_isolated.golden.d.ts @@ -0,0 +1,10 @@ +import * as i0 from "@angular/core"; +export declare class TestDir { + decoratorViewChild: unknown; + signalViewChild: import("@angular/core").Signal; + decoratorContentChild: unknown; + signalContentChild: import("@angular/core").Signal; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/signal_queries/query_in_component_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/signal_queries/query_in_component_isolated.golden.d.ts new file mode 100644 index 000000000000..c35ea64e52b8 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/signal_queries/query_in_component_isolated.golden.d.ts @@ -0,0 +1,10 @@ +import * as i0 from "@angular/core"; +export declare class TestComp { + query1: import("@angular/core").Signal; + query2: import("@angular/core").Signal; + query3: import("@angular/core").Signal; + query4: import("@angular/core").Signal; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/signal_queries/query_in_directive_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/signal_queries/query_in_directive_isolated.golden.d.ts new file mode 100644 index 000000000000..f04bbc6c9cff --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/signal_queries/query_in_directive_isolated.golden.d.ts @@ -0,0 +1,17 @@ +import * as i0 from "@angular/core"; +export declare class SomeToken { +} +export declare class TestDir { + query1: import("@angular/core").Signal; + query2: import("@angular/core").Signal; + query3: import("@angular/core").Signal; + query4: import("@angular/core").Signal; + query5: import("@angular/core").Signal; + query6: import("@angular/core").Signal; + query7: import("@angular/core").Signal; + query8: import("@angular/core").Signal; + query9: import("@angular/core").Signal; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/external_templates/escaped_chars_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/source_mapping/external_templates/escaped_chars_isolated.golden.d.ts new file mode 100644 index 000000000000..7d5bc749f628 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/external_templates/escaped_chars_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/external_templates/external_template_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/source_mapping/external_templates/external_template_isolated.golden.d.ts new file mode 100644 index 000000000000..7d5bc749f628 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/external_templates/external_template_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/external_templates/extra_root_dir_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/source_mapping/external_templates/extra_root_dir_isolated.golden.d.ts new file mode 100644 index 000000000000..7d5bc749f628 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/external_templates/extra_root_dir_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/escape_sequences_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/escape_sequences_isolated.golden.d.ts new file mode 100644 index 000000000000..7d5bc749f628 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/escape_sequences_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/i18n_message_container_tag_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/i18n_message_container_tag_isolated.golden.d.ts new file mode 100644 index 000000000000..7d5bc749f628 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/i18n_message_container_tag_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/i18n_message_element_whitespace_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/i18n_message_element_whitespace_isolated.golden.d.ts new file mode 100644 index 000000000000..7d5bc749f628 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/i18n_message_element_whitespace_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/i18n_message_interpolation_whitespace_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/i18n_message_interpolation_whitespace_isolated.golden.d.ts new file mode 100644 index 000000000000..05926bd56dd9 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/i18n_message_interpolation_whitespace_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + titleValue: string; + bodyValue: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/i18n_message_placeholder_entities_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/i18n_message_placeholder_entities_isolated.golden.d.ts new file mode 100644 index 000000000000..d42157b2b22d --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/i18n_message_placeholder_entities_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + one: number; + two: number; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/i18n_message_placeholder_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/i18n_message_placeholder_isolated.golden.d.ts new file mode 100644 index 000000000000..ced5f363467d --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/i18n_message_placeholder_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + name: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/i18n_message_simple_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/i18n_message_simple_isolated.golden.d.ts new file mode 100644 index 000000000000..7d5bc749f628 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/i18n_message_simple_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/input_binding_class_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/input_binding_class_isolated.golden.d.ts new file mode 100644 index 000000000000..c98c6b1bdf4c --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/input_binding_class_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + isInitial: boolean; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/input_binding_complex_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/input_binding_complex_isolated.golden.d.ts new file mode 100644 index 000000000000..37f86c7efa59 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/input_binding_complex_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + greeting: string; + name: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/input_binding_longhand_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/input_binding_longhand_isolated.golden.d.ts new file mode 100644 index 000000000000..ced5f363467d --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/input_binding_longhand_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + name: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/input_binding_simple_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/input_binding_simple_isolated.golden.d.ts new file mode 100644 index 000000000000..ced5f363467d --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/input_binding_simple_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + name: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/interpolation_basic_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/interpolation_basic_isolated.golden.d.ts new file mode 100644 index 000000000000..ced5f363467d --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/interpolation_basic_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + name: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/interpolation_complex_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/interpolation_complex_isolated.golden.d.ts new file mode 100644 index 000000000000..37f86c7efa59 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/interpolation_complex_isolated.golden.d.ts @@ -0,0 +1,8 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + greeting: string; + name: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/interpolation_properties_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/interpolation_properties_isolated.golden.d.ts new file mode 100644 index 000000000000..ced5f363467d --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/interpolation_properties_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + name: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/interpolation_with_pipe_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/interpolation_with_pipe_isolated.golden.d.ts new file mode 100644 index 000000000000..b10a4227398c --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/interpolation_with_pipe_isolated.golden.d.ts @@ -0,0 +1,17 @@ +import { PipeTransform } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class TestCmp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class PercentPipe implements PipeTransform { + transform(): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵpipe: i0.ɵɵPipeDeclaration; +} +export declare class AppModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/ng_for_simple_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/ng_for_simple_isolated.golden.d.ts new file mode 100644 index 000000000000..7d5bc749f628 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/ng_for_simple_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/ng_for_templated_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/ng_for_templated_isolated.golden.d.ts new file mode 100644 index 000000000000..7d5bc749f628 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/ng_for_templated_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/ng_if_simple_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/ng_if_simple_isolated.golden.d.ts new file mode 100644 index 000000000000..7d5bc749f628 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/ng_if_simple_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/ng_if_templated_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/ng_if_templated_isolated.golden.d.ts new file mode 100644 index 000000000000..7d5bc749f628 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/ng_if_templated_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/output_binding_complex_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/output_binding_complex_isolated.golden.d.ts new file mode 100644 index 000000000000..6bb17313ccc5 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/output_binding_complex_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + items: string[]; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/output_binding_longhand_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/output_binding_longhand_isolated.golden.d.ts new file mode 100644 index 000000000000..33b762c34663 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/output_binding_longhand_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + doSomething(): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/output_binding_simple_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/output_binding_simple_isolated.golden.d.ts new file mode 100644 index 000000000000..33b762c34663 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/output_binding_simple_isolated.golden.d.ts @@ -0,0 +1,7 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + doSomething(): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/projection_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/projection_isolated.golden.d.ts new file mode 100644 index 000000000000..a6249ad30ab3 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/projection_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/simple_element_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/simple_element_isolated.golden.d.ts new file mode 100644 index 000000000000..7d5bc749f628 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/simple_element_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/two_way_binding_longhand_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/two_way_binding_longhand_isolated.golden.d.ts new file mode 100644 index 000000000000..203179cef28e --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/two_way_binding_longhand_isolated.golden.d.ts @@ -0,0 +1,19 @@ +import { EventEmitter } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class TestCmp { + name: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class NgModelDirective { + ngModel: string; + ngModelChanges: EventEmitter; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class AppModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/two_way_binding_simple_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/two_way_binding_simple_isolated.golden.d.ts new file mode 100644 index 000000000000..203179cef28e --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/two_way_binding_simple_isolated.golden.d.ts @@ -0,0 +1,19 @@ +import { EventEmitter } from '@angular/core'; +import * as i0 from "@angular/core"; +export declare class TestCmp { + name: string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +export declare class NgModelDirective { + ngModel: string; + ngModelChanges: EventEmitter; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵdir: i0.ɵɵDirectiveDeclaration; +} +export declare class AppModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/update_mode_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/update_mode_isolated.golden.d.ts new file mode 100644 index 000000000000..7d5bc749f628 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/update_mode_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/void_element_isolated.golden.d.ts b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/void_element_isolated.golden.d.ts new file mode 100644 index 000000000000..7d5bc749f628 --- /dev/null +++ b/packages/compiler-cli/test/compliance/test_cases/source_mapping/inline_templates/void_element_isolated.golden.d.ts @@ -0,0 +1,6 @@ +import * as i0 from "@angular/core"; +export declare class TestCmp { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} + diff --git a/packages/compiler-cli/test/compliance/test_helpers/check_type_declarations.ts b/packages/compiler-cli/test/compliance/test_helpers/check_type_declarations.ts index aab68a045fa5..dd7cfb1d5ee8 100644 --- a/packages/compiler-cli/test/compliance/test_helpers/check_type_declarations.ts +++ b/packages/compiler-cli/test/compliance/test_helpers/check_type_declarations.ts @@ -30,7 +30,10 @@ export function checkTypeDeclarations(fs: FileSystem, emittedFiles: AbsoluteFsPa expectedFile: {name: expectedFilename, content: fs.readFile(expectedFilename)}, generatedFile: {name: generatedFilename, content: fs.readFile(generatedFilename)}, })) - .find(({expectedFile, generatedFile}) => expectedFile.content !== generatedFile.content); + .find( + ({expectedFile, generatedFile}) => + expectedFile.content.trim() !== generatedFile.content.trim(), + ); if (diff) { throw new Error( diff --git a/packages/compiler-cli/test/ngtsc/declaration_only_emission_spec.ts b/packages/compiler-cli/test/ngtsc/declaration_only_emission_spec.ts index 182a77739bb1..c658172b328e 100644 --- a/packages/compiler-cli/test/ngtsc/declaration_only_emission_spec.ts +++ b/packages/compiler-cli/test/ngtsc/declaration_only_emission_spec.ts @@ -72,7 +72,7 @@ runInEachFileSystem(() => { ); }); - it('should show correct error message when using an @NgModule with an external reference in declarations', () => { + it('should emit type declarations containing external reference in NgModule declarations', () => { env.write( 'test.ts', ` @@ -86,17 +86,15 @@ runInEachFileSystem(() => { `, ); - const errors = env.driveDiagnostics(); + env.driveMain(); + const dtsContent = env.getContents('test.d.ts'); - expect(errors.length).toBe(1); - expect(errors[0].code).toBe(ngErrorCode(ErrorCode.VALUE_HAS_WRONG_TYPE)); - expect(ts.flattenDiagnosticMessageText(errors[0].messageText, '\n')).toContain( - 'Value at position 0 in the NgModule.declarations of CompModule is an external reference. ' + - 'External references in @NgModule declarations are not supported in experimental declaration-only emission mode', + expect(dtsContent).toContain( + 'static ɵmod: i0.ɵɵNgModuleDeclaration;', ); }); - it('should show correct error message when using an @NgModule with an external reference in imports', () => { + it('should emit type declarations containing external reference in NgModule imports', () => { env.write( 'test.ts', ` @@ -110,17 +108,206 @@ runInEachFileSystem(() => { `, ); - const errors = env.driveDiagnostics(); + env.driveMain(); + const dtsContent = env.getContents('test.d.ts'); + + expect(dtsContent).toContain( + 'static ɵmod: i0.ɵɵNgModuleDeclaration;', + ); + }); + + it('should emit `ReturnType` for a `forRoot()`-style call in NgModule imports', () => { + env.write( + 'test.ts', + ` + import {NgModule} from '@angular/core'; + import {FooModule} from './foo'; + + @NgModule({ + imports: [FooModule.forRoot()], + }) + export class CompModule {} + `, + ); + + env.driveMain(); + const dtsContent = env.getContents('test.d.ts'); + + expect(dtsContent).toContain( + 'static ɵmod: i0.ɵɵNgModuleDeclaration], never>;', + ); + }); + + it('should emit `ReturnType` for a bare function call in NgModule imports', () => { + env.write( + 'test.ts', + ` + import {NgModule} from '@angular/core'; + import {provideFoo} from './foo'; + + @NgModule({ + imports: [provideFoo()], + }) + export class CompModule {} + `, + ); + env.driveMain(); + const dtsContent = env.getContents('test.d.ts'); + + expect(dtsContent).toContain( + 'static ɵmod: i0.ɵɵNgModuleDeclaration], never>;', + ); + }); + + it('should emit `ReturnType` alongside plain `typeof` entries in NgModule imports', () => { + env.write( + 'test.ts', + ` + import {NgModule} from '@angular/core'; + import {BarModule} from './bar'; + import {FooModule} from './foo'; + + @NgModule({ + imports: [BarModule, FooModule.forRoot()], + }) + export class CompModule {} + `, + ); + + env.driveMain(); + const dtsContent = env.getContents('test.d.ts'); + + expect(dtsContent).toContain( + 'static ɵmod: i0.ɵɵNgModuleDeclaration], never>;', + ); + }); + + it('should emit `ReturnType` for a `forRoot()`-style call in NgModule exports', () => { + env.write( + 'test.ts', + ` + import {NgModule} from '@angular/core'; + import {FooModule} from './foo'; + + @NgModule({ + exports: [FooModule.forRoot()], + }) + export class CompModule {} + `, + ); + + env.driveMain(); + const dtsContent = env.getContents('test.d.ts'); + + expect(dtsContent).toContain( + 'static ɵmod: i0.ɵɵNgModuleDeclaration]>;', + ); + }); + + it('should resolve local function in NgModule imports and emit concrete references', () => { + env.write( + 'test.ts', + ` + import {NgModule} from '@angular/core'; + + class BarModule {} + + function getImports() { + return [BarModule]; + } + + @NgModule({ + imports: [getImports()], + }) + export class CompModule {} + `, + ); + + env.driveMain(); + const dtsContent = env.getContents('test.d.ts'); + + expect(dtsContent).toContain( + 'static ɵmod: i0.ɵɵNgModuleDeclaration;', + ); + }); + + it('should resolve mixed array in NgModule imports', () => { + env.write( + 'test.ts', + ` + import {NgModule} from '@angular/core'; + import {provideFoo} from './foo'; + + class BarModule {} + + function getLocalImports() { + return [BarModule]; + } + + @NgModule({ + imports: [getLocalImports(), provideFoo()], + }) + export class CompModule {} + `, + ); + + env.driveMain(); + const dtsContent = env.getContents('test.d.ts'); + + expect(dtsContent).toContain( + 'static ɵmod: i0.ɵɵNgModuleDeclaration], never>;', + ); + }); + + it('should produce a diagnostic when an unsupported expression is used in NgModule imports', () => { + env.write( + 'test.ts', + ` + import {NgModule} from '@angular/core'; + import {isDev} from './config'; + + class DevModule {} + class ProdModule {} + + @NgModule({ + imports: [isDev ? DevModule : ProdModule], + }) + export class CompModule {} + `, + ); + + const errors = env.driveDiagnostics(); expect(errors.length).toBe(1); - expect(errors[0].code).toBe(ngErrorCode(ErrorCode.VALUE_HAS_WRONG_TYPE)); + expect(errors[0].code).toBe(ngErrorCode(ErrorCode.LOCAL_COMPILATION_UNSUPPORTED_EXPRESSION)); expect(ts.flattenDiagnosticMessageText(errors[0].messageText, '\n')).toContain( - 'Value at position 0 in the NgModule.imports of CompModule is an external reference. ' + - 'External references in @NgModule declarations are not supported in experimental declaration-only emission mode', + 'In experimental declaration-only emission mode, this expression is not supported', ); }); - it('should show correct error message when using an @NgModule with an external reference in exports', () => { + it('should syntactically unwrap `forwardRef(() => X)` in NgModule imports', () => { + env.write( + 'test.ts', + ` + import {NgModule, forwardRef} from '@angular/core'; + import {FooModule} from './foo'; + + @NgModule({ + imports: [forwardRef(() => FooModule)], + }) + export class CompModule {} + `, + ); + + env.driveMain(); + const dtsContent = env.getContents('test.d.ts'); + + expect(dtsContent).toContain( + 'static ɵmod: i0.ɵɵNgModuleDeclaration;', + ); + }); + + it('should emit type declarations containing external reference in NgModule exports', () => { env.write( 'test.ts', ` @@ -134,17 +321,15 @@ runInEachFileSystem(() => { `, ); - const errors = env.driveDiagnostics(); + env.driveMain(); + const dtsContent = env.getContents('test.d.ts'); - expect(errors.length).toBe(1); - expect(errors[0].code).toBe(ngErrorCode(ErrorCode.VALUE_HAS_WRONG_TYPE)); - expect(ts.flattenDiagnosticMessageText(errors[0].messageText, '\n')).toContain( - 'Value at position 0 in the NgModule.exports of CompModule is an external reference. ' + - 'External references in @NgModule declarations are not supported in experimental declaration-only emission mode', + expect(dtsContent).toContain( + 'static ɵmod: i0.ɵɵNgModuleDeclaration;', ); }); - it('should show correct error message when using an @NgModule with an external reference in bootstrap', () => { + it('should not error when using an @NgModule with an external reference in bootstrap', () => { env.write( 'test.ts', ` @@ -158,14 +343,8 @@ runInEachFileSystem(() => { `, ); - const errors = env.driveDiagnostics(); - - expect(errors.length).toBe(1); - expect(errors[0].code).toBe(ngErrorCode(ErrorCode.VALUE_HAS_WRONG_TYPE)); - expect(ts.flattenDiagnosticMessageText(errors[0].messageText, '\n')).toContain( - 'Value at position 0 in the NgModule.bootstrap of CompModule is an external reference. ' + - 'External references in @NgModule declarations are not supported in experimental declaration-only emission mode', - ); + env.driveMain(); + // No errors expected }); it('should emit type declarations containing external reference in simple host directive on a component', () => { diff --git a/packages/compiler-cli/test/ngtsc/scope_spec.ts b/packages/compiler-cli/test/ngtsc/scope_spec.ts index ff8cb2d6b662..32912eb337f9 100644 --- a/packages/compiler-cli/test/ngtsc/scope_spec.ts +++ b/packages/compiler-cli/test/ngtsc/scope_spec.ts @@ -253,6 +253,250 @@ runInEachFileSystem(() => { expect(error.code).toEqual(ngErrorCode(ErrorCode.VALUE_HAS_WRONG_TYPE)); expect(diagnosticToNode(error, ts.isIdentifier).text).toEqual('NotAClass'); }); + + it('should resolve an `imports` entry that references a constant resolving to a tuple of modules in a .d.ts dependency', () => { + env.write( + 'dep.d.ts', + ` + import {ɵɵNgModuleDeclaration, ɵɵComponentDeclaration} from '@angular/core'; + export declare class CompA { + static ɵcmp: ɵɵComponentDeclaration; + } + export declare class ModuleA { + static ɵmod: ɵɵNgModuleDeclaration; + } + export declare const FOO: readonly [typeof ModuleA]; + `, + ); + env.write( + 'lib.d.ts', + ` + import {ɵɵNgModuleDeclaration} from '@angular/core'; + import {FOO} from './dep'; + export declare class LibModule { + static ɵmod: ɵɵNgModuleDeclaration; + } + `, + ); + env.write( + 'test.ts', + ` + import {Component, NgModule} from '@angular/core'; + import {LibModule} from './lib'; + + @Component({ + selector: 'test-cmp', + template: '', + standalone: false, + }) + export class TestCmp {} + + @NgModule({ + declarations: [TestCmp], + imports: [LibModule], + }) + export class AppModule {} + `, + ); + + expect(env.driveDiagnostics().length).toBe(0); + }); + + it('should resolve `ReturnType` entries from a .d.ts dependency', () => { + env.write( + 'dep.d.ts', + ` + import {ɵɵNgModuleDeclaration, ɵɵComponentDeclaration, ModuleWithProviders} from '@angular/core'; + export declare class CompA { + static ɵcmp: ɵɵComponentDeclaration; + } + export declare class ModuleA { + static ɵmod: ɵɵNgModuleDeclaration; + } + export declare class FooModule { + static forRoot(): ModuleWithProviders; + } + `, + ); + env.write( + 'lib.d.ts', + ` + import {ɵɵNgModuleDeclaration} from '@angular/core'; + import {FooModule} from './dep'; + export declare class LibModule { + static ɵmod: ɵɵNgModuleDeclaration]>; + } + `, + ); + env.write( + 'test.ts', + ` + import {Component, NgModule} from '@angular/core'; + import {LibModule} from './lib'; + + @Component({ + selector: 'test-cmp', + template: '', + standalone: false, + }) + export class TestCmp {} + + @NgModule({ + declarations: [TestCmp], + imports: [LibModule], + }) + export class AppModule {} + `, + ); + + expect(env.driveDiagnostics().length).toBe(0); + }); + + it('should resolve `ReturnType` when `ModuleWithProviders` wraps an `import(...)` type', () => { + env.write( + 'module_a.d.ts', + ` + import {ɵɵNgModuleDeclaration, ɵɵComponentDeclaration} from '@angular/core'; + export declare class CompA { + static ɵcmp: ɵɵComponentDeclaration; + } + export declare class ModuleA { + static ɵmod: ɵɵNgModuleDeclaration; + } + `, + ); + env.write( + 'dep.d.ts', + ` + import {ModuleWithProviders} from '@angular/core'; + export declare class FooModule { + static forRoot(): ModuleWithProviders; + } + `, + ); + env.write( + 'lib.d.ts', + ` + import {ɵɵNgModuleDeclaration} from '@angular/core'; + import {FooModule} from './dep'; + export declare class LibModule { + static ɵmod: ɵɵNgModuleDeclaration]>; + } + `, + ); + env.write( + 'test.ts', + ` + import {Component, NgModule} from '@angular/core'; + import {LibModule} from './lib'; + + @Component({ + selector: 'test-cmp', + template: '', + standalone: false, + }) + export class TestCmp {} + + @NgModule({ + declarations: [TestCmp], + imports: [LibModule], + }) + export class AppModule {} + `, + ); + + expect(env.driveDiagnostics().length).toBe(0); + }); + + describe('ReturnType failures', () => { + it('should produce an error when `ReturnType` references a function returning an invalid type', () => { + env.write( + 'dep.d.ts', + ` + export declare class FooModule { + static forRoot(): string; + } + `, + ); + env.write( + 'lib.d.ts', + ` + import {ɵɵNgModuleDeclaration} from '@angular/core'; + import {FooModule} from './dep'; + export declare class LibModule { + static ɵmod: ɵɵNgModuleDeclaration]>; + } + `, + ); + env.write( + 'test.ts', + ` + import {Component, NgModule} from '@angular/core'; + import {LibModule} from './lib'; + + @Component({ + selector: 'test-cmp', + template: '...', + standalone: false, + }) + export class TestCmp {} + + @NgModule({ + declarations: [TestCmp], + imports: [LibModule], + }) + export class AppModule {} + `, + ); + + const diags = env.driveDiagnostics(); + expect(diags.length).toBe(1); + expect(diags[0].code).toEqual(ngErrorCode(ErrorCode.NGMODULE_INVALID_IMPORT)); + }); + + it('should produce an error when `ReturnType` references a non-function', () => { + env.write( + 'dep.d.ts', + ` + export declare const FooModule: string; + `, + ); + env.write( + 'lib.d.ts', + ` + import {ɵɵNgModuleDeclaration} from '@angular/core'; + import {FooModule} from './dep'; + export declare class LibModule { + static ɵmod: ɵɵNgModuleDeclaration]>; + } + `, + ); + env.write( + 'test.ts', + ` + import {Component, NgModule} from '@angular/core'; + import {LibModule} from './lib'; + + @Component({ + selector: 'test-cmp', + template: '...', + standalone: false, + }) + export class TestCmp {} + + @NgModule({ + declarations: [TestCmp], + imports: [LibModule], + }) + export class AppModule {} + `, + ); + + const diags = env.driveDiagnostics(); + expect(diags.length).toBe(1); + expect(diags[0].code).toEqual(ngErrorCode(ErrorCode.NGMODULE_INVALID_IMPORT)); + }); + }); }); describe('exports', () => { diff --git a/packages/compiler/src/render3/partial/ng_module.ts b/packages/compiler/src/render3/partial/ng_module.ts index 194e0a6714e4..3531fdfad82a 100644 --- a/packages/compiler/src/render3/partial/ng_module.ts +++ b/packages/compiler/src/render3/partial/ng_module.ts @@ -49,6 +49,12 @@ function createNgModuleDefinitionMap( ); } + if (meta.kind === R3NgModuleMetadataKind.Isolated) { + throw new Error( + 'Invalid path! Isolated compilation mode should not get into the partial compilation path', + ); + } + definitionMap.set('minVersion', o.literal(MINIMUM_PARTIAL_LINKER_VERSION)); definitionMap.set('version', o.literal('0.0.0-PLACEHOLDER')); definitionMap.set('ngImport', o.importExpr(R3.core)); diff --git a/packages/compiler/src/render3/r3_module_compiler.ts b/packages/compiler/src/render3/r3_module_compiler.ts index b8b272b935d9..18b324bfcfb2 100644 --- a/packages/compiler/src/render3/r3_module_compiler.ts +++ b/packages/compiler/src/render3/r3_module_compiler.ts @@ -53,6 +53,7 @@ export enum R3SelectorScopeMode { export enum R3NgModuleMetadataKind { Global, Local, + Isolated, } interface R3NgModuleMetadataCommon { @@ -157,7 +158,33 @@ export interface R3NgModuleMetadataLocal extends R3NgModuleMetadataCommon { /** * Metadata required by the module compiler to generate a module def (`ɵmod`) for a type. */ -export type R3NgModuleMetadata = R3NgModuleMetadataGlobal | R3NgModuleMetadataLocal; +/** + * Metadata required by the module compiler in isolated mode to generate a module def (`ɵmod`) for a + * type. + */ +export interface R3NgModuleMetadataIsolated extends R3NgModuleMetadataCommon { + kind: R3NgModuleMetadataKind.Isolated; + + /** + * Isolated declarations mode always omits scope in the generated JS definition. + */ + selectorScopeMode: R3SelectorScopeMode.Omit; + + /** + * The output expression representing the imports of the module. + */ + importsExpression: o.Expression | null; + + /** + * The output expression representing the exports of the module. + */ + exportsExpression: o.Expression | null; +} + +export type R3NgModuleMetadata = + | R3NgModuleMetadataGlobal + | R3NgModuleMetadataLocal + | R3NgModuleMetadataIsolated; /** * The shape of the object literal that is passed to the `ɵɵdefineNgModule()` call. @@ -294,6 +321,17 @@ export function createNgModuleType(meta: R3NgModuleMetadata): o.ExpressionType { return new o.ExpressionType(meta.type.value); } + if (meta.kind === R3NgModuleMetadataKind.Isolated) { + return new o.ExpressionType( + o.importExpr(R3.NgModuleDeclaration, [ + new o.ExpressionType(meta.type.type), + o.NONE_TYPE, + meta.importsExpression ? o.expressionType(meta.importsExpression) : o.NONE_TYPE, + meta.exportsExpression ? o.expressionType(meta.exportsExpression) : o.NONE_TYPE, + ]), + ); + } + const { type: moduleType, declarations, @@ -333,7 +371,7 @@ function generateSetNgModuleScopeCall(meta: R3NgModuleMetadata): o.Statement | n if (meta.declarations.length > 0) { scopeMap.set('declarations', refsToArray(meta.declarations, meta.containsForwardDecls)); } - } else { + } else if (meta.kind === R3NgModuleMetadataKind.Local) { if (meta.declarationsExpression) { scopeMap.set('declarations', meta.declarationsExpression); } @@ -343,7 +381,7 @@ function generateSetNgModuleScopeCall(meta: R3NgModuleMetadata): o.Statement | n if (meta.imports.length > 0) { scopeMap.set('imports', refsToArray(meta.imports, meta.containsForwardDecls)); } - } else { + } else if (meta.kind === R3NgModuleMetadataKind.Local) { if (meta.importsExpression) { scopeMap.set('imports', meta.importsExpression); } @@ -353,7 +391,7 @@ function generateSetNgModuleScopeCall(meta: R3NgModuleMetadata): o.Statement | n if (meta.exports.length > 0) { scopeMap.set('exports', refsToArray(meta.exports, meta.containsForwardDecls)); } - } else { + } else if (meta.kind === R3NgModuleMetadataKind.Local) { if (meta.exportsExpression) { scopeMap.set('exports', meta.exportsExpression); } From 0d9a245345c5bb3013849d924efbfa3676b520a0 Mon Sep 17 00:00:00 2001 From: Matthieu Riegler Date: Wed, 27 May 2026 19:18:56 +0200 Subject: [PATCH 123/317] fix(core): sanitize meta selectors Ensure that property/name are correctly escaped and doesn't break out of the intended selector. (cherry picked from commit d5a489aed3ccd54ba2796724185c40a42747bfbc) --- packages/platform-browser/src/browser/meta.ts | 17 +++++- .../test/browser/meta_spec.ts | 55 +++++++++++++++++++ 2 files changed, 69 insertions(+), 3 deletions(-) diff --git a/packages/platform-browser/src/browser/meta.ts b/packages/platform-browser/src/browser/meta.ts index 799f076189c6..e2bc1c7a81f9 100644 --- a/packages/platform-browser/src/browser/meta.ts +++ b/packages/platform-browser/src/browser/meta.ts @@ -102,7 +102,8 @@ export class Meta { */ getTag(attrSelector: string): HTMLMetaElement | null { if (!attrSelector) return null; - return this._doc.querySelector(`meta[${attrSelector}]`) || null; + const meta = this._doc.querySelector(`meta[${attrSelector}]`); + return meta?.nodeName.toLowerCase() === 'meta' ? meta : null; } /** @@ -114,7 +115,11 @@ export class Meta { getTags(attrSelector: string): HTMLMetaElement[] { if (!attrSelector) return []; const list /*NodeList*/ = this._doc.querySelectorAll(`meta[${attrSelector}]`); - return list ? [].slice.call(list) : []; + return list + ? (([].slice.call(list) as HTMLElement[]).filter( + (elem) => elem.nodeName.toLowerCase() === 'meta', + ) as HTMLMetaElement[]) + : []; } /** @@ -183,7 +188,13 @@ export class Meta { private _parseSelector(tag: MetaDefinition): string { const attr: string = tag.name ? 'name' : 'property'; - return `${attr}="${tag[attr]}"`; + return `${attr}=${this._escapeSelectorValue(String(tag[attr]))}`; + } + + private _escapeSelectorValue(value: string): string { + // Escape backslashes and double quotes to prevent CSS selector injection. + // This securely confines the value inside an attribute selector. + return `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`; } private _containsAttributes(tag: MetaDefinition, elem: HTMLMetaElement): boolean { diff --git a/packages/platform-browser/test/browser/meta_spec.ts b/packages/platform-browser/test/browser/meta_spec.ts index 91d0809f6b80..377b59300055 100644 --- a/packages/platform-browser/test/browser/meta_spec.ts +++ b/packages/platform-browser/test/browser/meta_spec.ts @@ -89,6 +89,24 @@ describe('Meta service', () => { expect(actual!.getAttribute('content')).toEqual('4321'); }); + it('should not allow a custom selector to match off target elements like the body tag', () => { + // This payload attempts to break out of the `meta[name="..."]` constraint entirely + // and inject a comma to target arbitrary DOM elements like the `body` tag via the + // `selector` argument of `updateTag`. + const attackerSelector = 'name="description"], body, meta[name="pwned"'; + + const firstMeta = metaService.updateTag({content: 'pwned'}, attackerSelector)!; + + expect(firstMeta).not.toBeNull(); + // It creates a new meta element instead of targeting `body` because it did not + // find a meta element matching the dirty selector since `body` is not a `meta` tag + expect(firstMeta!.nodeName.toLowerCase()).toEqual('meta'); + expect(firstMeta!.getAttribute('content')).toEqual('pwned'); + expect(doc.body.getAttribute('content')).toBeNull(); + + metaService.removeTagElement(firstMeta); + }); + it('should extract selector from the tag definition', () => { const selector = 'property="fb:app_id"'; metaService.updateTag({property: 'fb:app_id', content: '666'}); @@ -137,6 +155,43 @@ describe('Meta service', () => { metaService.removeTagElement(actual); }); + it('should escape selector values when deriving the match selector', () => { + // This payload attempts to prematurely close the attribute selector + // and match another attribute. + const property = 'fb:app_id"][content="123456789'; + + const meta = metaService.updateTag({property, content: 'pwned'})!; + + expect(meta).not.toBe(defaultMeta); + expect(meta.getAttribute('property')).toEqual(property); + expect(meta.getAttribute('content')).toEqual('pwned'); + expect(metaService.getTags('property="fb:app_id"').length).toEqual(1); + + // clean up + metaService.removeTagElement(meta); + }); + + it('should not let a quoted name break out of the meta selector and target body', () => { + // This payload attempts to break out of the `meta[name="..."]` constraint entirely + // and inject a comma to target arbitrary DOM elements like the `body` tag. + const attackerName = 'description"], body'; + + const firstMeta = metaService.addTag({name: attackerName, content: 'safe'})!; + const secondMeta = metaService.addTag({name: attackerName, content: 'safe'})!; + + expect(firstMeta).toBe(secondMeta); + expect(firstMeta.tagName).toEqual('META'); + expect( + Array.from(doc.getElementsByTagName('meta')).filter( + (meta) => meta.getAttribute('name') === attackerName, + ).length, + ).toEqual(1); + expect(doc.body).not.toBeNull(); + + // clean up + metaService.removeTagElement(firstMeta); + }); + it('should add multiple new meta tags', () => { const nameSelector = 'name="twitter:title"'; const propertySelector = 'property="og:title"'; From ae2cb00398954d9332e9f1f5abecce902cfc7658 Mon Sep 17 00:00:00 2001 From: Matthieu Riegler Date: Thu, 21 May 2026 00:23:23 +0200 Subject: [PATCH 124/317] fix(common): add upper bounds for digitsInfo The prevents the `roundNumber` function from allocating a large array. (cherry picked from commit dfdfbe34a57df25c28de346cb16d18795eeb53c1) --- packages/common/src/i18n/format_number.ts | 16 +++++++++++++++- packages/common/test/i18n/format_number_spec.ts | 14 +++++++++++++- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/packages/common/src/i18n/format_number.ts b/packages/common/src/i18n/format_number.ts index 252593e38815..6c7aa1118055 100644 --- a/packages/common/src/i18n/format_number.ts +++ b/packages/common/src/i18n/format_number.ts @@ -8,6 +8,7 @@ import {ɵRuntimeError as RuntimeError} from '@angular/core'; +import {RuntimeErrorCode} from '../errors'; import { getLocaleNumberFormat, getLocaleNumberSymbol, @@ -15,7 +16,6 @@ import { NumberFormatStyle, NumberSymbol, } from './locale_data_api'; -import {RuntimeErrorCode} from '../errors'; export const NUMBER_FORMAT_REGEXP = /^(\d+)?\.((\d+)(-(\d+))?)?$/; const MAX_DIGITS = 22; @@ -77,6 +77,20 @@ function formatNumberToLocaleString( } else if (minFractionPart != null && minFraction > maxFraction) { maxFraction = minFraction; } + + // Prevent DoS via resource exhaustion by capping the maximum padding iterations + const MAX_ALLOWED_DIGITS = 100; + if ( + minInt > MAX_ALLOWED_DIGITS || + minFraction > MAX_ALLOWED_DIGITS || + maxFraction > MAX_ALLOWED_DIGITS + ) { + throw new RuntimeError( + RuntimeErrorCode.INVALID_DIGIT_INFO, + ngDevMode && + `${digitsInfo} is not a valid digit info. Exceeded maximum limits of ${MAX_ALLOWED_DIGITS} digits.`, + ); + } } roundNumber(parsedNumber, minFraction, maxFraction); diff --git a/packages/common/test/i18n/format_number_spec.ts b/packages/common/test/i18n/format_number_spec.ts index 410f7287b4a9..0f42e955c695 100644 --- a/packages/common/test/i18n/format_number_spec.ts +++ b/packages/common/test/i18n/format_number_spec.ts @@ -6,12 +6,12 @@ * found in the LICENSE file at https://angular.dev/license */ +import {ɵDEFAULT_LOCALE_ID, ɵregisterLocaleData, ɵunregisterLocaleData} from '@angular/core'; import {formatCurrency, formatNumber, formatPercent} from '../../index'; import localeAr from '../../locales/ar'; import localeEn from '../../locales/en'; import localeEsUS from '../../locales/es-US'; import localeFr from '../../locales/fr'; -import {ɵDEFAULT_LOCALE_ID, ɵregisterLocaleData, ɵunregisterLocaleData} from '@angular/core'; describe('Format number', () => { beforeAll(() => { @@ -43,6 +43,18 @@ describe('Format number', () => { /is higher than the maximum/, ); }); + + it('should throw if minInt, minFraction, or maxFraction exceeds 100 to prevent DoS', () => { + const expectedError = /Exceeded maximum limits of 100 digits/; + expect(() => formatNumber(1.1, ɵDEFAULT_LOCALE_ID, '101.4-5')).toThrowError(expectedError); + expect(() => formatNumber(1.1, ɵDEFAULT_LOCALE_ID, '3.101-105')).toThrowError( + expectedError, + ); + expect(() => formatNumber(1.1, ɵDEFAULT_LOCALE_ID, '3.4-101')).toThrowError(expectedError); + expect(() => formatNumber(1.1, ɵDEFAULT_LOCALE_ID, '1.2000000000-20000000')).toThrowError( + expectedError, + ); + }); }); describe('transform with custom locales', () => { From 7d1fbc170a90ca12a3c1b805645bc37d12ed744d Mon Sep 17 00:00:00 2001 From: Matthieu Riegler Date: Mon, 25 May 2026 16:05:23 +0200 Subject: [PATCH 125/317] fix(common): sanitize placeholder The placeholder should be sanitized to prevent CSS/content injection. (cherry picked from commit b56e8651482c491465767466a0a2a8e257b72d50) --- .../ng_optimized_image/ng_optimized_image.ts | 18 ++++++---- .../directives/ng_optimized_image_spec.ts | 35 +++++++++++++++++++ 2 files changed, 47 insertions(+), 6 deletions(-) diff --git a/packages/common/src/directives/ng_optimized_image/ng_optimized_image.ts b/packages/common/src/directives/ng_optimized_image/ng_optimized_image.ts index ea9073f92058..15e521027430 100644 --- a/packages/common/src/directives/ng_optimized_image/ng_optimized_image.ts +++ b/packages/common/src/directives/ng_optimized_image/ng_optimized_image.ts @@ -727,13 +727,15 @@ export class NgOptimizedImage implements OnInit, OnChanges { protected generatePlaceholder(placeholderInput: string | boolean): string | boolean | null { const {placeholderResolution} = this.config; if (placeholderInput === true) { - return `url(${this.callImageLoader({ - src: this.ngSrc, - width: placeholderResolution, - isPlaceholder: true, - })})`; + return `url("${escapeCssUrl( + this.callImageLoader({ + src: this.ngSrc, + width: placeholderResolution, + isPlaceholder: true, + }), + )}")`; } else if (typeof placeholderInput === 'string') { - return `url(${placeholderInput})`; + return `url("${escapeCssUrl(placeholderInput)}")`; } return null; } @@ -1461,6 +1463,10 @@ function unwrapSafeUrl(value: string | SafeValue): string { return unwrapSafeValue(value); } +function escapeCssUrl(input: string): string { + return input.replace(/\\/g, '\\\\').replace(/"/g, '\\"'); +} + // Transform function to handle inputs which may be booleans, strings, or string representations // of boolean values. Used for the placeholder attribute. export function booleanOrUrlAttribute(value: boolean | string): boolean | string { diff --git a/packages/common/test/directives/ng_optimized_image_spec.ts b/packages/common/test/directives/ng_optimized_image_spec.ts index 786e4d299ab9..4fe9ca58475e 100644 --- a/packages/common/test/directives/ng_optimized_image_spec.ts +++ b/packages/common/test/directives/ng_optimized_image_spec.ts @@ -1216,6 +1216,25 @@ describe('Image directive', () => { ); }); + it('should escape loader output when placeholder is provided as a boolean (security regression)', () => { + const maliciousLoader = (config: ImageLoaderConfig) => { + if (config.isPlaceholder) { + return 'https://mysite.com/img.png"); color: red;/*'; + } + return `${IMG_BASE_URL}/${config.src}`; + }; + setupTestingModule({imageLoader: maliciousLoader}); + const template = ''; + + const fixture = createTestComponent(template); + fixture.detectChanges(); + + const imageDirective = fixture.debugElement.children[0].injector.get(NgOptimizedImage); + const placeholderValue = (imageDirective as any).generatePlaceholder(true) as string; + + expect(placeholderValue).toBe('url("https://mysite.com/img.png\\"); color: red;/*")'); + }); + if (!isNode) { // DataURLs get stripped from background-image attribute in Node, but not browsers. it('should add a background-image tag when placeholder is provided as a data URL', () => { @@ -1265,6 +1284,22 @@ describe('Image directive', () => { ); }); + it('should prevent CSS injection through placeholder URL values', () => { + setupTestingModule({imageLoader}); + const maliciousPlaceholder = 'https://mysite.com/img.png"); color: red;'; + const template = ``; + + const fixture = createTestComponent(template); + fixture.detectChanges(); + + const imageDirective = fixture.debugElement.children[0].injector.get(NgOptimizedImage); + const placeholderValue = (imageDirective as any).generatePlaceholder( + maliciousPlaceholder, + ) as string; + + expect(placeholderValue).toBe('url("https://mysite.com/img.png\\"); color: red;")'); + }); + it('should add a background-image tag when placeholder is provided without value', () => { setupTestingModule({imageLoader}); const template = ''; From 95522526e4ae7aeeb4652f2bd6385775efc021ae Mon Sep 17 00:00:00 2001 From: Alan Agius <17563226+alan-agius4@users.noreply.github.com> Date: Wed, 27 May 2026 12:49:20 +0000 Subject: [PATCH 126/317] fix(platform-server): secure location and document initialization against SSRF and path hijack Normalizes the URL and path parsing logic inside platform-server by consolidating security checks and normalizations into a single, unified parseUrl helper function. This includes: - Collapsing multiple consecutive leading slashes and backslashes (e.g., // or /\) to a single forward slash to avoid protocol-relative parsing of path-like & relative inputs. - Rejecting malformed absolute URLs that are otherwise accepted by lenient DOM parsers like Domino but rejected by standard WHATWG parsers, preventing SSRF / allowedHosts validation bypasses. - Ensuring parseDocument gets the fully parsed and normalized URL instead of raw, unvalidated configuration values, preventing virtual document hostname adoption/origin hijack. - Moving parseUrl unit tests into a dedicated url_spec.ts test file to keep platform_location_spec.ts clean and decoupled. (cherry picked from commit 1307ff355c99befd35642f0f1ac22009320ca1db) --- packages/platform-server/src/location.ts | 19 +--- packages/platform-server/src/server.ts | 6 +- packages/platform-server/src/url.ts | 42 +++++++++ packages/platform-server/src/utils.ts | 14 +-- .../test/platform_location_spec.ts | 86 +++++++++++++++---- packages/platform-server/test/url_spec.ts | 72 ++++++++++++++++ packages/platform-server/test/utils_spec.ts | 44 ++++++++++ 7 files changed, 240 insertions(+), 43 deletions(-) create mode 100644 packages/platform-server/src/url.ts create mode 100644 packages/platform-server/test/url_spec.ts diff --git a/packages/platform-server/src/location.ts b/packages/platform-server/src/location.ts index 0034b47a31d6..3f3767f677c8 100644 --- a/packages/platform-server/src/location.ts +++ b/packages/platform-server/src/location.ts @@ -17,24 +17,7 @@ import {inject, Injectable, ɵWritable as Writable} from '@angular/core'; import {Subject} from 'rxjs'; import {INITIAL_CONFIG} from './tokens'; - -/** - * Parses a URL string and returns a URL object. - * @param urlStr The string to parse. - * @param origin The origin to use for resolving the URL. - * @returns The parsed URL. - */ -export function parseUrl(urlStr: string, origin: string): URL { - if (URL.canParse(urlStr)) { - return new URL(urlStr); - } - - if (urlStr && urlStr[0] !== '/') { - urlStr = `/${urlStr}`; - } - - return new URL(origin + urlStr); -} +import {parseUrl} from './url'; /** * Server-side implementation of URL state. Implements `pathname`, `search`, and `hash` diff --git a/packages/platform-server/src/server.ts b/packages/platform-server/src/server.ts index 78b54dafe048..be938da1c651 100644 --- a/packages/platform-server/src/server.ts +++ b/packages/platform-server/src/server.ts @@ -37,6 +37,7 @@ import { import {DominoAdapter, parseDocument} from './domino_adapter'; import {SERVER_HTTP_PROVIDERS} from './http'; +import {parseUrl} from './url'; import {ServerPlatformLocation} from './location'; import {enableDomEmulation, PlatformState} from './platform_state'; import {ServerEventManagerPlugin} from './server_events'; @@ -100,7 +101,10 @@ function _document() { document = typeof config.document === 'string' ? _enableDomEmulation - ? parseDocument(config.document, config.url) + ? parseDocument( + config.document, + config.url !== undefined ? parseUrl(config.url, 'http://localhost').href : undefined, + ) : window.document : config.document; } else { diff --git a/packages/platform-server/src/url.ts b/packages/platform-server/src/url.ts new file mode 100644 index 000000000000..6eaa1ebd2ec2 --- /dev/null +++ b/packages/platform-server/src/url.ts @@ -0,0 +1,42 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.dev/license + */ + +const LEADING_SLASHES_REGEX = /^[/\\]+/; + +/** + * Parses a URL string and returns a resolved WHATWG URL object. + * If no origin is provided, it parses and returns the URL only if it is a valid absolute URL; + * otherwise it returns `null` (or throws if the URL is a malformed absolute URL). + * If an origin is provided, relative URLs and protocol-relative URLs are normalized and resolved against it. + */ +export function parseUrl(urlStr: string | undefined): URL | null; +export function parseUrl(urlStr: string | undefined, origin: string): URL; +export function parseUrl(urlStr: string | undefined, origin?: string): URL | null { + if (!urlStr) { + return origin !== undefined ? new URL('/', origin) : null; + } + + if (URL.canParse(urlStr)) { + return new URL(urlStr); + } + + if (/^[a-zA-Z][a-zA-Z0-9+.-]*:(\/\/|\\\\)/.test(urlStr)) { + throw new Error(`Invalid URL: ${urlStr}`); + } + + if (origin === undefined) { + return null; + } + + let normalizedPath = urlStr.replace(LEADING_SLASHES_REGEX, '/'); + if (normalizedPath[0] !== '/') { + normalizedPath = `/${normalizedPath}`; + } + + return new URL(normalizedPath, origin); +} diff --git a/packages/platform-server/src/utils.ts b/packages/platform-server/src/utils.ts index 5f7f9a8259ea..80a05ccc9635 100644 --- a/packages/platform-server/src/utils.ts +++ b/packages/platform-server/src/utils.ts @@ -29,6 +29,7 @@ import {platformServer} from './server'; import {PlatformState} from './platform_state'; import {BEFORE_APP_SERIALIZED, INITIAL_CONFIG, PlatformConfig} from './tokens'; import {createScript} from './transfer_state'; +import {parseUrl} from './url'; /** * Event dispatch (JSAction) script is inlined into the HTML by the build @@ -377,11 +378,14 @@ export async function renderApplication( } function validateAllowedHosts(url: string | undefined, allowedHosts: string[] | undefined) { - if (typeof url === 'string' && URL.canParse(url)) { - const hostname = new URL(url).hostname; - const allowedHostsSet: ReadonlySet = new Set(allowedHosts); - if (!isHostAllowed(hostname, allowedHostsSet)) { - throw new Error(`Host ${url} is not allowed. You can configure \`allowedHosts\` option.`); + if (typeof url === 'string') { + const parsedUrl = parseUrl(url); + if (parsedUrl !== null) { + const hostname = parsedUrl.hostname; + const allowedHostsSet: ReadonlySet = new Set(allowedHosts); + if (!isHostAllowed(hostname, allowedHostsSet)) { + throw new Error(`Host ${url} is not allowed. You can configure \`allowedHosts\` option.`); + } } } } diff --git a/packages/platform-server/test/platform_location_spec.ts b/packages/platform-server/test/platform_location_spec.ts index ee3cde062dc3..ec5a1f6e5ab7 100644 --- a/packages/platform-server/test/platform_location_spec.ts +++ b/packages/platform-server/test/platform_location_spec.ts @@ -7,30 +7,13 @@ */ import '@angular/compiler'; -import {PlatformLocation, ɵgetDOM as getDOM} from '@angular/common'; +import {DOCUMENT, PlatformLocation, ɵgetDOM as getDOM} from '@angular/common'; import {destroyPlatform} from '@angular/core'; import {INITIAL_CONFIG, platformServer} from '@angular/platform-server'; -import {parseUrl} from '../src/location'; - (function () { if (getDOM().supportsDOMEvents) return; // NODE only - describe('parseUrl', () => { - it('should resolve relative paths against origin', () => { - const url = parseUrl('/deep/path?query#hash', 'http://test.com'); - expect(url.href).toBe('http://test.com/deep/path?query#hash'); - expect(url.search).toBe('?query'); - expect(url.hash).toBe('#hash'); - }); - - it('should resolve absolute URLs ignoring origin', () => { - const url = parseUrl('http://other.com/deep/path', 'http://test.com'); - expect(url.href).toBe('http://other.com/deep/path'); - expect(url.origin).toBe('http://other.com'); - }); - }); - describe('PlatformLocation', () => { beforeEach(() => { destroyPlatform(); @@ -173,7 +156,72 @@ import {parseUrl} from '../src/location'; platform.destroy(); expect(location.hostname).withContext(`hostname for URL: "${url}"`).toBe(''); - expect(location.pathname).withContext(`pathname for URL: "${url}"`).toBe(url); + expect(location.pathname) + .withContext(`pathname for URL: "${url}"`) + .toBe('/attacker.com/deep/path'); + } + }); + + it('should set the proper document location when the URL has leading slashes to prevent origin hijack', async () => { + const urls = ['/\\attacker.com/deep/path', '//attacker.com/deep/path']; + + for (const url of urls) { + const platform = platformServer([ + { + provide: INITIAL_CONFIG, + useValue: { + document: '', + url, + }, + }, + ]); + + const doc = platform.injector.get(DOCUMENT); + platform.destroy(); + + expect(doc.location.origin).not.toBe('http://attacker.com'); + expect(doc.location.pathname).toBe('/attacker.com/deep/path'); + } + }); + + it('should not expose protocol-relative URLs on the location to prevent open redirect and SSRF bypasses', async () => { + const urls = ['/\\attacker.com/deep/path', '//attacker.com/deep/path']; + const origins = [undefined, 'http://localhost:4200']; + + for (const url of urls) { + for (const origin of origins) { + const providers: any[] = [ + { + provide: INITIAL_CONFIG, + useValue: { + document: '', + url, + }, + }, + ]; + + if (origin) { + providers.push({ + provide: DOCUMENT, + useValue: { + location: { + origin, + }, + }, + }); + } + + const platform = platformServer(providers); + const location = platform.injector.get(PlatformLocation) as any; + platform.destroy(); + + // A relative redirect URL starting with // or /\ is normalized by browsers to a protocol-relative URL. + // The PlatformLocation.url property MUST NOT expose these unsafe patterns. + const isVulnerable = location.url.startsWith('//') || location.url.startsWith('/\\'); + expect(isVulnerable) + .withContext(`URL: "${url}", origin: "${origin}", location.url: "${location.url}"`) + .toBeFalse(); + } } }); }); diff --git a/packages/platform-server/test/url_spec.ts b/packages/platform-server/test/url_spec.ts new file mode 100644 index 000000000000..95d9095bf3ed --- /dev/null +++ b/packages/platform-server/test/url_spec.ts @@ -0,0 +1,72 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.dev/license + */ + +import {parseUrl} from '../src/url'; + +describe('parseUrl', () => { + describe('with origin', () => { + it('should resolve relative paths against origin', () => { + const url = parseUrl('/deep/path?query#hash', 'http://test.com'); + expect(url.href).toBe('http://test.com/deep/path?query#hash'); + expect(url.search).toBe('?query'); + expect(url.hash).toBe('#hash'); + }); + + it('should resolve absolute URLs ignoring origin', () => { + const url = parseUrl('http://other.com/deep/path', 'http://test.com'); + expect(url.href).toBe('http://other.com/deep/path'); + expect(url.origin).toBe('http://other.com'); + }); + + it('should throw an error for malformed absolute URLs', () => { + const malformedUrls = [ + 'http://evil.com:80:80/path', + 'https://evil.com:80:80/path', + 'http://[google.com]/path', + 'http://google.com:port/path', + 'http://google.com:80a/path', + ]; + + for (const url of malformedUrls) { + expect(() => parseUrl(url, 'http://test.com')).toThrowError( + new RegExp(`Invalid URL: ${url.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}`), + ); + } + }); + }); + + describe('without origin', () => { + it('should return null for relative paths', () => { + expect(parseUrl('/deep/path?query#hash')).toBeNull(); + expect(parseUrl('deep/path')).toBeNull(); + }); + + it('should parse valid absolute URLs', () => { + const url = parseUrl('http://other.com/deep/path'); + expect(url).not.toBeNull(); + expect(url!.href).toBe('http://other.com/deep/path'); + expect(url!.origin).toBe('http://other.com'); + }); + + it('should throw an error for malformed absolute URLs', () => { + const malformedUrls = [ + 'http://evil.com:80:80/path', + 'https://evil.com:80:80/path', + 'http://[google.com]/path', + 'http://google.com:port/path', + 'http://google.com:80a/path', + ]; + + for (const url of malformedUrls) { + expect(() => parseUrl(url)).toThrowError( + new RegExp(`Invalid URL: ${url.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}`), + ); + } + }); + }); +}); diff --git a/packages/platform-server/test/utils_spec.ts b/packages/platform-server/test/utils_spec.ts index 8850b535743f..7abc515df72c 100644 --- a/packages/platform-server/test/utils_spec.ts +++ b/packages/platform-server/test/utils_spec.ts @@ -60,6 +60,28 @@ describe('allowedHosts validation in renderApplication', () => { expect(error.message).not.toContain('is not allowed'); } }); + + it('should throw an error for malformed absolute URLs (SSRF bypass attempt)', async () => { + const malformedUrls = [ + 'http://evil.com:80:80/path', + 'https://evil.com:80:80/path', + 'http://[google.com]/path', + 'http://google.com:port/path', + 'http://google.com:80a/path', + ]; + + for (const url of malformedUrls) { + await expectAsync( + renderApplication(bootstrap, { + document: '', + url, + allowedHosts: ['test.com'], + }), + ) + .withContext(`URL: ${url}`) + .toBeRejectedWithError(new RegExp(/Invalid URL:.+/)); + } + }); }); describe('allowedHosts validation in renderModule', () => { @@ -94,4 +116,26 @@ describe('allowedHosts validation in renderModule', () => { expect(error.message).not.toContain('is not allowed'); } }); + + it('should throw an error for malformed absolute URLs (SSRF bypass attempt)', async () => { + const malformedUrls = [ + 'http://evil.com:80:80/path', + 'https://evil.com:80:80/path', + 'http://[google.com]/path', + 'http://google.com:port/path', + 'http://google.com:80a/path', + ]; + + for (const url of malformedUrls) { + await expectAsync( + renderModule(MockModule, { + document: '', + url, + allowedHosts: ['test.com'], + }), + ) + .withContext(`URL: ${url}`) + .toBeRejectedWithError(new RegExp(/Invalid URL:.+/)); + } + }); }); From 28338a1ca4c52924f3c5384e43ef9d4bee485c8c Mon Sep 17 00:00:00 2001 From: Matthieu Riegler Date: Wed, 27 May 2026 19:23:29 +0200 Subject: [PATCH 127/317] fix(platform-server): prevent SSRF bypasses via backslash URLs in HttpClient Encoding backslashes ensures that they are not normalized to slashes and where they could generate a protocol relative URL. (cherry picked from commit 140c4d04cb3f796374305adf09bea3636441caf4) --- packages/platform-server/src/http.ts | 29 ++++- .../platform-server/test/integration_spec.ts | 107 ++++++++++++++++++ 2 files changed, 133 insertions(+), 3 deletions(-) diff --git a/packages/platform-server/src/http.ts b/packages/platform-server/src/http.ts index d0c2f88060be..e6381b1a9f9c 100644 --- a/packages/platform-server/src/http.ts +++ b/packages/platform-server/src/http.ts @@ -8,10 +8,10 @@ import {PlatformLocation, XhrFactory} from '@angular/common'; import { + ɵHTTP_ROOT_INTERCEPTOR_FNS as HTTP_ROOT_INTERCEPTOR_FNS, HttpEvent, HttpHandlerFn, HttpRequest, - ɵHTTP_ROOT_INTERCEPTOR_FNS as HTTP_ROOT_INTERCEPTOR_FNS, } from '@angular/common/http'; import {inject, Injectable, Provider} from '@angular/core'; import {Observable} from 'rxjs'; @@ -41,10 +41,21 @@ export class ServerXhr implements XhrFactory { } } +/** + * Regex to match a URL schema. + */ +const URL_SCHEMA_REGEXP = /^(?:[a-zA-Z][a-zA-Z0-9+\-.]*:)/; + function relativeUrlsTransformerInterceptorFn( request: HttpRequest, next: HttpHandlerFn, ): Observable> { + const trimmedUrl = request.url.trim(); + if (URL_SCHEMA_REGEXP.test(trimmedUrl)) { + // URLs with a schema should be left unchanged. + return next(request); + } + const platformLocation = inject(PlatformLocation); const {href, protocol, hostname, port} = platformLocation; if (!protocol.startsWith('http')) { @@ -58,9 +69,21 @@ function relativeUrlsTransformerInterceptorFn( const baseHref = platformLocation.getBaseHrefFromDOM() || href; const baseUrl = new URL(baseHref, urlPrefix); - const newUrl = new URL(request.url, baseUrl).toString(); - return next(request.clone({url: newUrl})); + let parsedUrl = new URL(request.url, baseUrl); + + if (parsedUrl.origin !== baseUrl.origin) { + // If the request changed the origin, we check if it was authorized to do so. + // Legitimate absolute URLs start with a scheme (e.g. http://) or are protocol-relative (//). + // SSRF bypasses via backslashes (e.g. `/\attacker.com`, `\\attacker.com`) evade naive checks. + const isProtocolRelative = /^\/\/[^/\\]/.test(trimmedUrl); + if (!isProtocolRelative) { + // Unrecognized structure that changed origin. Force it to be a local path. + parsedUrl = new URL(trimmedUrl.replace(/^[/\\]+/, '/'), baseUrl); + } + } + + return next(request.clone({url: parsedUrl.toString()})); } export const SERVER_HTTP_PROVIDERS: Provider[] = [ diff --git a/packages/platform-server/test/integration_spec.ts b/packages/platform-server/test/integration_spec.ts index b9de88839d5d..789ef69683d5 100644 --- a/packages/platform-server/test/integration_spec.ts +++ b/packages/platform-server/test/integration_spec.ts @@ -1455,6 +1455,26 @@ class HiddenModule {} }); }); + it('prevents SSRF bypasses via backslash URLs in HttpClient', async () => { + const platform = platformServer([ + { + provide: INITIAL_CONFIG, + useValue: {document: '', url: 'http://localhost:4000/base'}, + }, + ]); + await platform.bootstrapModule(HttpClientExampleModule).then((ref) => { + const mock = ref.injector.get(HttpTestingController); + const http = ref.injector.get(HttpClient); + ref.injector.get(NgZone).run(() => { + http.get('/\\evil.com/api').subscribe(); + + // To prevent SSRF, we ensures it's forced as a relative path and backslashes + // inside path-relative segments are normalized via URL constructor, generating a safe URL. + mock.expectOne('http://localhost:4000/evil.com/api').flush('safe'); + }); + }); + }); + it('can use HttpInterceptor that injects HttpClient', async () => { const platform = platformServer([ {provide: INITIAL_CONFIG, useValue: {document: ''}}, @@ -1548,6 +1568,93 @@ class HiddenModule {} mock.expectOne('http://localhost/testing').flush('success!'); }); }); + + it('should allow legitimate protocol-relative URLs', async () => { + ref.injector.get(NgZone).run(() => { + http.get('//example.com/testing').subscribe((body) => { + expect(body).toEqual('success!'); + }); + mock.expectOne('http://example.com/testing').flush('success!'); + }); + }); + + it('should treat backslash bypass SSRF attempts in relative requests strictly as pathnames', async () => { + const badUrls = [ + '/\\attacker.com', + '\\\\attacker.com', + '///attacker.com', + '//\\attacker.com', + ' /\\attacker.com', + '\r\n/\\attacker.com', + ]; + + ref.injector.get(NgZone).run(() => { + for (const badUrl of badUrls) { + http.get(badUrl).subscribe((body) => { + expect(body).toEqual('success!'); + }); + mock.expectOne('http://localhost:4000/attacker.com').flush('success!'); + } + }); + }); + + it('should resolve safe path-relative URLs containing backslashes without origin change', async () => { + ref.injector.get(NgZone).run(() => { + http.get('\\testing').subscribe((body) => { + expect(body).toEqual('success!'); + }); + mock.expectOne('http://localhost:4000/testing').flush('success!'); + }); + }); + + it('should resolve backslashes inside path-relative segments without origin change', async () => { + ref.injector.get(NgZone).run(() => { + http.get('/foo\\bar').subscribe((body) => { + expect(body).toEqual('success!'); + }); + mock.expectOne('http://localhost:4000/foo/bar').flush('success!'); + }); + }); + + it('should resolve relative request URLs without leading slash relative to parent path', async () => { + ref.injector.get(NgZone).run(() => { + http.get('testing').subscribe((body) => { + expect(body).toEqual('success!'); + }); + mock.expectOne('http://localhost:4000/testing').flush('success!'); + }); + }); + }); + + describe(`given 'url' is provided in 'INITIAL_CONFIG' with a trailing slash`, () => { + let mock: HttpTestingController; + let ref: NgModuleRef; + let http: HttpClient; + + beforeEach(async () => { + const platform = platformServer([ + { + provide: INITIAL_CONFIG, + useValue: { + document: '', + url: 'http://localhost:4000/foo/', + }, + }, + ]); + + ref = await platform.bootstrapModule(HttpInterceptorExampleModule); + mock = ref.injector.get(HttpTestingController); + http = ref.injector.get(HttpClient); + }); + + it('should resolve sub-path relative request URLs relative to trailing-slash base URL', async () => { + ref.injector.get(NgZone).run(() => { + http.get('testing').subscribe((body) => { + expect(body).toEqual('success!'); + }); + mock.expectOne('http://localhost:4000/foo/testing').flush('success!'); + }); + }); }); }); }); From 6ab4b5c030e1f78970b3fe69ee6a156bcdf94ffd Mon Sep 17 00:00:00 2001 From: Matthieu Riegler Date: Wed, 27 May 2026 12:08:08 +0200 Subject: [PATCH 128/317] docs: align `main` and `22.0.x` for aria examples --- .../autocomplete/src/assets/autocomplete.css | 89 +++++++ .../aria/autocomplete/src/basic/app/app.css | 113 ++++++++ .../aria/autocomplete/src/basic/app/app.html | 55 ++++ .../aria/autocomplete/src/basic/app/app.ts | 249 ++++++++++++++++++ .../src/basic/material/app/app.css | 114 ++++++++ .../src/basic/material/app/app.html | 55 ++++ .../src/basic/material/app/app.ts | 249 ++++++++++++++++++ .../autocomplete/src/basic/retro/app/app.css | 135 ++++++++++ .../autocomplete/src/basic/retro/app/app.html | 55 ++++ .../autocomplete/src/basic/retro/app/app.ts | 249 ++++++++++++++++++ .../autocomplete/src/highlight/app/app.css | 113 ++++++++ .../autocomplete/src/highlight/app/app.html | 57 ++++ .../autocomplete/src/highlight/app/app.ts | 247 +++++++++++++++++ .../src/highlight/material/app/app.css | 114 ++++++++ .../src/highlight/material/app/app.html | 57 ++++ .../src/highlight/material/app/app.ts | 247 +++++++++++++++++ .../src/highlight/retro/app/app.css | 135 ++++++++++ .../src/highlight/retro/app/app.html | 57 ++++ .../src/highlight/retro/app/app.ts | 248 +++++++++++++++++ .../aria/autocomplete/src/manual/app/app.css | 113 ++++++++ .../aria/autocomplete/src/manual/app/app.html | 55 ++++ .../aria/autocomplete/src/manual/app/app.ts | 238 +++++++++++++++++ .../src/manual/material/app/app.css | 114 ++++++++ .../src/manual/material/app/app.html | 55 ++++ .../src/manual/material/app/app.ts | 238 +++++++++++++++++ .../autocomplete/src/manual/retro/app/app.css | 135 ++++++++++ .../src/manual/retro/app/app.html | 55 ++++ .../autocomplete/src/manual/retro/app/app.ts | 238 +++++++++++++++++ 28 files changed, 3879 insertions(+) create mode 100644 adev/src/content/examples/aria/autocomplete/src/assets/autocomplete.css create mode 100644 adev/src/content/examples/aria/autocomplete/src/basic/app/app.css create mode 100644 adev/src/content/examples/aria/autocomplete/src/basic/app/app.html create mode 100644 adev/src/content/examples/aria/autocomplete/src/basic/app/app.ts create mode 100644 adev/src/content/examples/aria/autocomplete/src/basic/material/app/app.css create mode 100644 adev/src/content/examples/aria/autocomplete/src/basic/material/app/app.html create mode 100644 adev/src/content/examples/aria/autocomplete/src/basic/material/app/app.ts create mode 100644 adev/src/content/examples/aria/autocomplete/src/basic/retro/app/app.css create mode 100644 adev/src/content/examples/aria/autocomplete/src/basic/retro/app/app.html create mode 100644 adev/src/content/examples/aria/autocomplete/src/basic/retro/app/app.ts create mode 100644 adev/src/content/examples/aria/autocomplete/src/highlight/app/app.css create mode 100644 adev/src/content/examples/aria/autocomplete/src/highlight/app/app.html create mode 100644 adev/src/content/examples/aria/autocomplete/src/highlight/app/app.ts create mode 100644 adev/src/content/examples/aria/autocomplete/src/highlight/material/app/app.css create mode 100644 adev/src/content/examples/aria/autocomplete/src/highlight/material/app/app.html create mode 100644 adev/src/content/examples/aria/autocomplete/src/highlight/material/app/app.ts create mode 100644 adev/src/content/examples/aria/autocomplete/src/highlight/retro/app/app.css create mode 100644 adev/src/content/examples/aria/autocomplete/src/highlight/retro/app/app.html create mode 100644 adev/src/content/examples/aria/autocomplete/src/highlight/retro/app/app.ts create mode 100644 adev/src/content/examples/aria/autocomplete/src/manual/app/app.css create mode 100644 adev/src/content/examples/aria/autocomplete/src/manual/app/app.html create mode 100644 adev/src/content/examples/aria/autocomplete/src/manual/app/app.ts create mode 100644 adev/src/content/examples/aria/autocomplete/src/manual/material/app/app.css create mode 100644 adev/src/content/examples/aria/autocomplete/src/manual/material/app/app.html create mode 100644 adev/src/content/examples/aria/autocomplete/src/manual/material/app/app.ts create mode 100644 adev/src/content/examples/aria/autocomplete/src/manual/retro/app/app.css create mode 100644 adev/src/content/examples/aria/autocomplete/src/manual/retro/app/app.html create mode 100644 adev/src/content/examples/aria/autocomplete/src/manual/retro/app/app.ts diff --git a/adev/src/content/examples/aria/autocomplete/src/assets/autocomplete.css b/adev/src/content/examples/aria/autocomplete/src/assets/autocomplete.css new file mode 100644 index 000000000000..45e65487e775 --- /dev/null +++ b/adev/src/content/examples/aria/autocomplete/src/assets/autocomplete.css @@ -0,0 +1,89 @@ +html { + font-family: var(--inter-font); +} + +.combobox-container { + max-width: 400px; + margin: 20px; +} + +label { + display: block; + margin-bottom: 8px; + font-weight: 500; + color: #e0e0e0; +} + +.input-container { + position: relative; +} + +.combobox-input { + width: 100%; + padding: 10px 12px; + border: 1px solid #404040; + border-radius: 4px; + font-size: 16px; + box-sizing: border-box; + background-color: #1a1a1a; + color: #e0e0e0; +} + +.combobox-input::placeholder { + color: #888; +} + +.combobox-input:focus { + outline: none; + border-color: #4a9eff; + background-color: #1f1f1f; +} + +.popover { + margin: 0; + padding: 0; + border: 1px solid #404040; + border-radius: 4px; + box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5); + background: #1a1a1a; + max-height: 300px; + overflow-y: auto; +} + +.listbox { + padding: 4px 0; +} + +.option { + padding: 10px 12px; + cursor: pointer; + user-select: none; + color: #e0e0e0; +} + +.option:hover { + background-color: #2a2a2a; +} + +.option[data-active] { + background-color: #2d4a6e; + color: #ffffff; +} + +.option[aria-selected='true'] { + background-color: #4a9eff; + color: #000000; +} + +.info { + margin: 20px; + padding: 16px; + background-color: #1f1f1f; + border-radius: 4px; + border-left: 4px solid #4a9eff; + color: #e0e0e0; +} + +.info p { + margin: 8px 0; +} diff --git a/adev/src/content/examples/aria/autocomplete/src/basic/app/app.css b/adev/src/content/examples/aria/autocomplete/src/basic/app/app.css new file mode 100644 index 000000000000..5ba77d212657 --- /dev/null +++ b/adev/src/content/examples/aria/autocomplete/src/basic/app/app.css @@ -0,0 +1,113 @@ +@import url('https://fonts.googleapis.com/icon?family=Material+Symbols+Outlined'); + +:host { + display: flex; + justify-content: center; + font-family: var(--inter-font); +} + +.autocomplete-container { + display: flex; + flex-direction: column; + position: relative; +} + +.autocomplete-input-container { + display: flex; + position: relative; + align-items: center; +} + +.material-symbols-outlined { + font-size: 1.25rem; + pointer-events: none; +} + +.search-icon { + left: 0.75rem; + position: absolute; + color: var(--quaternary-contrast); +} + +.autocomplete-input { + width: 13rem; + font-size: 1rem; + border-radius: 0.25rem; + padding: 0.75rem 0.5rem 0.75rem 2.5rem; + color: var(--primary-contrast); + outline: none; + border: 1px solid var(--quinary-contrast); + background-color: var(--page-background); +} + +.autocomplete-input:focus-visible { + border-color: var(--hot-pink); + box-shadow: 0 0 0 2px color-mix(in srgb, var(--hot-pink) 20%, transparent); +} + +.autocomplete-input::placeholder { + color: var(--quaternary-contrast); +} + +.popup { + width: 100%; + margin-top: 8px; + padding: 0.5rem; + max-height: 11rem; + border-radius: 0.5rem; + background-color: var(--septenary-contrast); + font-size: 0.9rem; + box-shadow: + 0 4px 6px -1px rgba(0, 0, 0, 0.1), + 0 2px 4px -1px rgba(0, 0, 0, 0.06); +} + +.no-results { + padding: 1rem; +} + +.listbox { + gap: 2px; + height: 100%; + display: flex; + overflow: auto; + flex-direction: column; + outline: none; +} + +.option { + display: flex; + cursor: pointer; + align-items: center; + margin: 1px; + padding: 0 1rem; + min-height: 2.25rem; + border-radius: 0.5rem; + outline: none; +} + +.option:hover { + background-color: color-mix(in srgb, var(--primary-contrast) 5%, transparent); +} + +.option[data-active='true'] { + outline-offset: -2px; + outline: 2px solid var(--hot-pink); +} + +.option[aria-selected='true'] { + color: var(--hot-pink); + background-color: color-mix(in srgb, var(--hot-pink) 5%, transparent); +} + +.option:not([aria-selected='true']) .check-icon { + display: none; +} + +.option-label { + flex: 1; +} + +.check-icon { + font-size: 0.9rem; +} diff --git a/adev/src/content/examples/aria/autocomplete/src/basic/app/app.html b/adev/src/content/examples/aria/autocomplete/src/basic/app/app.html new file mode 100644 index 000000000000..70f87e135740 --- /dev/null +++ b/adev/src/content/examples/aria/autocomplete/src/basic/app/app.html @@ -0,0 +1,55 @@ +
    +
    + + +
    + +
    + {{ countries().length === 0 ? 'No results found for ' + query() : '' }} +
    + + + + + + +
    diff --git a/adev/src/content/examples/aria/autocomplete/src/basic/app/app.ts b/adev/src/content/examples/aria/autocomplete/src/basic/app/app.ts new file mode 100644 index 000000000000..f94c55b1c01b --- /dev/null +++ b/adev/src/content/examples/aria/autocomplete/src/basic/app/app.ts @@ -0,0 +1,249 @@ +import {Combobox, ComboboxPopup, ComboboxWidget} from '@angular/aria/combobox'; +import {Listbox, Option} from '@angular/aria/listbox'; +import {OverlayModule} from '@angular/cdk/overlay'; +import {afterRenderEffect, Component, computed, signal, viewChild} from '@angular/core'; +import {FormsModule} from '@angular/forms'; + +@Component({ + selector: 'app-root[theme="basic-basic"], app-root:not([theme])', + templateUrl: 'app.html', + styleUrl: 'app.css', + imports: [Combobox, ComboboxPopup, ComboboxWidget, Listbox, Option, OverlayModule, FormsModule], +}) +export class App { + readonly listbox = viewChild(Listbox); + readonly combobox = viewChild(Combobox); + + popupExpanded = signal(false); + query = signal(''); + selectedOption = signal([]); + + countries = computed(() => + ALL_COUNTRIES.filter((country) => country.toLowerCase().startsWith(this.query().toLowerCase())), + ); + + constructor() { + afterRenderEffect(() => { + if (this.combobox()?.expanded() === true) { + this.listbox()?.scrollActiveItemIntoView(); + } + }); + } + + onBlur() { + this.commitSelection(); + } + + onCommit() { + this.commitSelection(); + this.popupExpanded.set(false); + } + + private commitSelection() { + const selected = this.selectedOption(); + if (selected.length > 0) { + this.query.set(selected[0]); + } else { + this.query.set(''); + this.selectedOption.set([]); + } + } +} + +const ALL_COUNTRIES = [ + 'Afghanistan', + 'Albania', + 'Algeria', + 'Andorra', + 'Angola', + 'Antigua and Barbuda', + 'Argentina', + 'Armenia', + 'Australia', + 'Austria', + 'Azerbaijan', + 'Bahamas', + 'Bahrain', + 'Bangladesh', + 'Barbados', + 'Belarus', + 'Belgium', + 'Belize', + 'Benin', + 'Bhutan', + 'Bolivia', + 'Bosnia and Herzegovina', + 'Botswana', + 'Brazil', + 'Brunei', + 'Bulgaria', + 'Burkina Faso', + 'Burundi', + 'Cabo Verde', + 'Cambodia', + 'Cameroon', + 'Canada', + 'Central African Republic', + 'Chad', + 'Chile', + 'China', + 'Colombia', + 'Comoros', + 'Congo (Congo-Brazzaville)', + 'Costa Rica', + "Côte d'Ivoire", + 'Croatia', + 'Cuba', + 'Cyprus', + 'Czechia (Czech Republic)', + 'Democratic Republic of the Congo', + 'Denmark', + 'Djibouti', + 'Dominica', + 'Dominican Republic', + 'Ecuador', + 'Egypt', + 'El Salvador', + 'Equatorial Guinea', + 'Eritrea', + 'Estonia', + 'Eswatini (fmr. "Swaziland")', + 'Ethiopia', + 'Fiji', + 'Finland', + 'France', + 'Gabon', + 'Gambia', + 'Georgia', + 'Germany', + 'Ghana', + 'Greece', + 'Grenada', + 'Guatemala', + 'Guinea', + 'Guinea-Bissau', + 'Guyana', + 'Haiti', + 'Holy See', + 'Honduras', + 'Hungary', + 'Iceland', + 'India', + 'Indonesia', + 'Iran', + 'Iraq', + 'Ireland', + 'Israel', + 'Italy', + 'Jamaica', + 'Japan', + 'Jordan', + 'Kazakhstan', + 'Kenya', + 'Kiribati', + 'Kuwait', + 'Kyrgyzstan', + 'Laos', + 'Latvia', + 'Lebanon', + 'Lesotho', + 'Liberia', + 'Libya', + 'Liechtenstein', + 'Lithuania', + 'Luxembourg', + 'Madagascar', + 'Malawi', + 'Malaysia', + 'Maldives', + 'Mali', + 'Malta', + 'Marshall Islands', + 'Mauritania', + 'Mauritius', + 'Mexico', + 'Micronesia', + 'Moldova', + 'Monaco', + 'Mongolia', + 'Montenegro', + 'Morocco', + 'Mozambique', + 'Myanmar (formerly Burma)', + 'Namibia', + 'Nauru', + 'Nepal', + 'Netherlands', + 'New Zealand', + 'Nicaragua', + 'Niger', + 'Nigeria', + 'North Korea', + 'North Macedonia', + 'Norway', + 'Oman', + 'Pakistan', + 'Palau', + 'Palestine State', + 'Panama', + 'Papua New Guinea', + 'Paraguay', + 'Peru', + 'Philippines', + 'Poland', + 'Portugal', + 'Qatar', + 'Romania', + 'Russia', + 'Rwanda', + 'Saint Kitts and Nevis', + 'Saint Lucia', + 'Saint Vincent and the Grenadines', + 'Samoa', + 'San Marino', + 'Sao Tome and Principe', + 'Saudi Arabia', + 'Senegal', + 'Serbia', + 'Seychelles', + 'Sierra Leone', + 'Singapore', + 'Slovakia', + 'Slovenia', + 'Solomon Islands', + 'Somalia', + 'South Africa', + 'South Korea', + 'South Sudan', + 'Spain', + 'Sri Lanka', + 'Sudan', + 'Suriname', + 'Sweden', + 'Switzerland', + 'Syria', + 'Tajikistan', + 'Tanzania', + 'Thailand', + 'Timor-Leste', + 'Togo', + 'Tonga', + 'Trinidad and Tobago', + 'Tunisia', + 'Turkey', + 'Turkmenistan', + 'Tuvalu', + 'Uganda', + 'Ukraine', + 'United Arab Emirates', + 'United Kingdom', + 'United States of America', + 'Uruguay', + 'Uzbekistan', + 'Vanuatu', + 'Venezuela', + 'Vietnam', + 'Yemen', + 'Zambia', + 'Zimbabwe', +]; diff --git a/adev/src/content/examples/aria/autocomplete/src/basic/material/app/app.css b/adev/src/content/examples/aria/autocomplete/src/basic/material/app/app.css new file mode 100644 index 000000000000..00237755e978 --- /dev/null +++ b/adev/src/content/examples/aria/autocomplete/src/basic/material/app/app.css @@ -0,0 +1,114 @@ +@import url('https://fonts.googleapis.com/icon?family=Material+Symbols+Outlined'); + +:host { + display: flex; + justify-content: center; + font-family: var(--inter-font); + --primary: var(--hot-pink); +} + +.autocomplete-container { + display: flex; + flex-direction: column; + position: relative; +} + +.material-autocomplete { + display: flex; + position: relative; + align-items: center; +} + +.material-symbols-outlined { + font-size: 1.25rem; + pointer-events: none; +} + +.search-icon { + left: 0.75rem; + position: absolute; + color: var(--quaternary-contrast); +} + +.autocomplete-input { + width: 13rem; + font-size: 1rem; + border-radius: 3rem; + padding: 0.75rem 0.5rem 0.75rem 2.5rem; + color: var(--primary-contrast); + outline: none; + border: 1px solid var(--quinary-contrast); + background-color: var(--page-background); +} + +.autocomplete-input:focus-visible { + border-color: var(--primary); + box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary) 20%, transparent); +} + +.autocomplete-input::placeholder { + color: var(--quaternary-contrast); +} + +.popup { + width: 100%; + margin-top: 8px; + padding: 0.5rem; + max-height: 11rem; + border-radius: 2rem; + background-color: var(--septenary-contrast); + font-size: 0.9rem; + box-shadow: + 0 4px 6px -1px rgba(0, 0, 0, 0.1), + 0 2px 4px -1px rgba(0, 0, 0, 0.06); +} + +.no-results { + padding: 1rem; +} + +.listbox { + gap: 2px; + height: 100%; + display: flex; + overflow: auto; + flex-direction: column; + outline: none; +} + +.option { + display: flex; + cursor: pointer; + align-items: center; + margin: 1px; + padding: 0 1rem; + min-height: 3rem; + border-radius: 3rem; + outline: none; +} + +.option:hover { + background-color: color-mix(in srgb, var(--primary-contrast) 5%, transparent); +} + +.option[data-active='true'] { + outline-offset: -2px; + outline: 2px solid var(--primary); +} + +.option[aria-selected='true'] { + color: var(--primary); + background-color: color-mix(in srgb, var(--primary) 10%, transparent); +} + +.option:not([aria-selected='true']) .check-icon { + display: none; +} + +.option-label { + flex: 1; +} + +.check-icon { + font-size: 0.9rem; +} diff --git a/adev/src/content/examples/aria/autocomplete/src/basic/material/app/app.html b/adev/src/content/examples/aria/autocomplete/src/basic/material/app/app.html new file mode 100644 index 000000000000..e2bce42676a4 --- /dev/null +++ b/adev/src/content/examples/aria/autocomplete/src/basic/material/app/app.html @@ -0,0 +1,55 @@ +
    +
    + + +
    + +
    + {{ countries().length === 0 ? 'No results found for ' + query() : '' }} +
    + + + + + + +
    diff --git a/adev/src/content/examples/aria/autocomplete/src/basic/material/app/app.ts b/adev/src/content/examples/aria/autocomplete/src/basic/material/app/app.ts new file mode 100644 index 000000000000..fc5c29a32a61 --- /dev/null +++ b/adev/src/content/examples/aria/autocomplete/src/basic/material/app/app.ts @@ -0,0 +1,249 @@ +import {Combobox, ComboboxPopup, ComboboxWidget} from '@angular/aria/combobox'; +import {Listbox, Option} from '@angular/aria/listbox'; +import {OverlayModule} from '@angular/cdk/overlay'; +import {afterRenderEffect, Component, computed, signal, viewChild} from '@angular/core'; +import {FormsModule} from '@angular/forms'; + +@Component({ + selector: 'app-root[theme="basic-material"]', + templateUrl: 'app.html', + styleUrl: 'app.css', + imports: [Combobox, ComboboxPopup, ComboboxWidget, Listbox, Option, OverlayModule, FormsModule], +}) +export class App { + readonly listbox = viewChild(Listbox); + readonly combobox = viewChild(Combobox); + + popupExpanded = signal(false); + query = signal(''); + selectedOption = signal([]); + + countries = computed(() => + ALL_COUNTRIES.filter((country) => country.toLowerCase().startsWith(this.query().toLowerCase())), + ); + + constructor() { + afterRenderEffect(() => { + if (this.combobox()?.expanded() === true) { + this.listbox()?.scrollActiveItemIntoView(); + } + }); + } + + onBlur() { + this.commitSelection(); + } + + onCommit() { + this.commitSelection(); + this.popupExpanded.set(false); + } + + private commitSelection() { + const selected = this.selectedOption(); + if (selected.length > 0) { + this.query.set(selected[0]); + } else { + this.query.set(''); + this.selectedOption.set([]); + } + } +} + +const ALL_COUNTRIES = [ + 'Afghanistan', + 'Albania', + 'Algeria', + 'Andorra', + 'Angola', + 'Antigua and Barbuda', + 'Argentina', + 'Armenia', + 'Australia', + 'Austria', + 'Azerbaijan', + 'Bahamas', + 'Bahrain', + 'Bangladesh', + 'Barbados', + 'Belarus', + 'Belgium', + 'Belize', + 'Benin', + 'Bhutan', + 'Bolivia', + 'Bosnia and Herzegovina', + 'Botswana', + 'Brazil', + 'Brunei', + 'Bulgaria', + 'Burkina Faso', + 'Burundi', + 'Cabo Verde', + 'Cambodia', + 'Cameroon', + 'Canada', + 'Central African Republic', + 'Chad', + 'Chile', + 'China', + 'Colombia', + 'Comoros', + 'Congo (Congo-Brazzaville)', + 'Costa Rica', + "Côte d'Ivoire", + 'Croatia', + 'Cuba', + 'Cyprus', + 'Czechia (Czech Republic)', + 'Democratic Republic of the Congo', + 'Denmark', + 'Djibouti', + 'Dominica', + 'Dominican Republic', + 'Ecuador', + 'Egypt', + 'El Salvador', + 'Equatorial Guinea', + 'Eritrea', + 'Estonia', + 'Eswatini (fmr. "Swaziland")', + 'Ethiopia', + 'Fiji', + 'Finland', + 'France', + 'Gabon', + 'Gambia', + 'Georgia', + 'Germany', + 'Ghana', + 'Greece', + 'Grenada', + 'Guatemala', + 'Guinea', + 'Guinea-Bissau', + 'Guyana', + 'Haiti', + 'Holy See', + 'Honduras', + 'Hungary', + 'Iceland', + 'India', + 'Indonesia', + 'Iran', + 'Iraq', + 'Ireland', + 'Israel', + 'Italy', + 'Jamaica', + 'Japan', + 'Jordan', + 'Kazakhstan', + 'Kenya', + 'Kiribati', + 'Kuwait', + 'Kyrgyzstan', + 'Laos', + 'Latvia', + 'Lebanon', + 'Lesotho', + 'Liberia', + 'Libya', + 'Liechtenstein', + 'Lithuania', + 'Luxembourg', + 'Madagascar', + 'Malawi', + 'Malaysia', + 'Maldives', + 'Mali', + 'Malta', + 'Marshall Islands', + 'Mauritania', + 'Mauritius', + 'Mexico', + 'Micronesia', + 'Moldova', + 'Monaco', + 'Mongolia', + 'Montenegro', + 'Morocco', + 'Mozambique', + 'Myanmar (formerly Burma)', + 'Namibia', + 'Nauru', + 'Nepal', + 'Netherlands', + 'New Zealand', + 'Nicaragua', + 'Niger', + 'Nigeria', + 'North Korea', + 'North Macedonia', + 'Norway', + 'Oman', + 'Pakistan', + 'Palau', + 'Palestine State', + 'Panama', + 'Papua New Guinea', + 'Paraguay', + 'Peru', + 'Philippines', + 'Poland', + 'Portugal', + 'Qatar', + 'Romania', + 'Russia', + 'Rwanda', + 'Saint Kitts and Nevis', + 'Saint Lucia', + 'Saint Vincent and the Grenadines', + 'Samoa', + 'San Marino', + 'Sao Tome and Principe', + 'Saudi Arabia', + 'Senegal', + 'Serbia', + 'Seychelles', + 'Sierra Leone', + 'Singapore', + 'Slovakia', + 'Slovenia', + 'Solomon Islands', + 'Somalia', + 'South Africa', + 'South Korea', + 'South Sudan', + 'Spain', + 'Sri Lanka', + 'Sudan', + 'Suriname', + 'Sweden', + 'Switzerland', + 'Syria', + 'Tajikistan', + 'Tanzania', + 'Thailand', + 'Timor-Leste', + 'Togo', + 'Tonga', + 'Trinidad and Tobago', + 'Tunisia', + 'Turkey', + 'Turkmenistan', + 'Tuvalu', + 'Uganda', + 'Ukraine', + 'United Arab Emirates', + 'United Kingdom', + 'United States of America', + 'Uruguay', + 'Uzbekistan', + 'Vanuatu', + 'Venezuela', + 'Vietnam', + 'Yemen', + 'Zambia', + 'Zimbabwe', +]; diff --git a/adev/src/content/examples/aria/autocomplete/src/basic/retro/app/app.css b/adev/src/content/examples/aria/autocomplete/src/basic/retro/app/app.css new file mode 100644 index 000000000000..429091936775 --- /dev/null +++ b/adev/src/content/examples/aria/autocomplete/src/basic/retro/app/app.css @@ -0,0 +1,135 @@ +@import url('https://fonts.googleapis.com/icon?family=Material+Symbols+Outlined'); +@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap'); + +:host { + display: flex; + justify-content: center; + font-size: 0.6rem; + font-family: 'Press Start 2P'; + + --retro-button-color: #fff; + --retro-shadow-light: color-mix(in srgb, var(--retro-button-color) 90%, #fff); + --retro-shadow-dark: color-mix(in srgb, var(--retro-button-color) 90%, #000); + --retro-elevated-shadow: + inset 4px 4px 0px 0px var(--retro-shadow-light), + inset -4px -4px 0px 0px var(--retro-shadow-dark), 4px 0px 0px 0px var(--tertiary-contrast), + 0px 4px 0px 0px var(--tertiary-contrast), -4px 0px 0px 0px var(--tertiary-contrast), + 0px -4px 0px 0px var(--tertiary-contrast); + --retro-flat-shadow: + 4px 0px 0px 0px var(--tertiary-contrast), 0px 4px 0px 0px var(--tertiary-contrast), + -4px 0px 0px 0px var(--tertiary-contrast), 0px -4px 0px 0px var(--tertiary-contrast); + --retro-pressed-shadow: + inset 4px 4px 0px 0px var(--retro-shadow-dark), + inset -4px -4px 0px 0px var(--retro-shadow-light), 4px 0px 0px 0px var(--tertiary-contrast), + 0px 4px 0px 0px var(--tertiary-contrast), -4px 0px 0px 0px var(--tertiary-contrast), + 0px -4px 0px 0px var(--tertiary-contrast), 0px 0px 0px 0px var(--tertiary-contrast); +} + +.autocomplete-container { + display: flex; + flex-direction: column; + position: relative; +} + +.retro-autocomplete { + display: flex; + position: relative; + align-items: center; +} + +.material-symbols-outlined { + font-size: 1.25rem; + pointer-events: none; +} + +.search-icon { + left: 0.75rem; + position: absolute; + color: #000; + z-index: 1; +} + +.autocomplete-input { + width: 15rem; + font-size: 0.6rem; + border-radius: 0; + font-family: 'Press Start 2P'; + word-spacing: -5px; + padding: 0.75rem 0.5rem 0.75rem 2.5rem; + color: #000; + border: none; + box-shadow: var(--retro-flat-shadow); + background-color: var(--retro-button-color); + outline: none; +} + +.autocomplete-input:focus-visible { + outline: none; + transform: translate(1px, 1px); + box-shadow: var(--retro-pressed-shadow); +} + +.autocomplete-input::placeholder { + color: #000; + opacity: 0.7; +} + +.popup { + width: 100%; + margin-top: 20px; + padding: 0.5rem; + max-height: 11rem; + border-radius: 0; + background-color: var(--septenary-contrast); + box-shadow: var(--retro-flat-shadow); +} + +.no-results { + padding: 1rem; +} + +.listbox { + gap: 2px; + height: 100%; + display: flex; + overflow: auto; + flex-direction: column; + outline: none; +} + +.option { + display: flex; + cursor: pointer; + align-items: center; + margin: 1px; + padding: 0 1rem; + min-height: 2.25rem; + border-radius: 0; + outline: none; +} + +.option:hover { + background-color: color-mix(in srgb, var(--primary-contrast) 5%, transparent); +} + +.option[data-active='true'] { + outline-offset: -2px; + outline: 2px dashed var(--hot-pink); +} + +.option[aria-selected='true'] { + color: var(--hot-pink); + background-color: color-mix(in srgb, var(--hot-pink) 5%, transparent); +} + +.option:not([aria-selected='true']) .check-icon { + display: none; +} + +.option-label { + flex: 1; +} + +.check-icon { + font-size: 0.9rem; +} diff --git a/adev/src/content/examples/aria/autocomplete/src/basic/retro/app/app.html b/adev/src/content/examples/aria/autocomplete/src/basic/retro/app/app.html new file mode 100644 index 000000000000..09305a17d81e --- /dev/null +++ b/adev/src/content/examples/aria/autocomplete/src/basic/retro/app/app.html @@ -0,0 +1,55 @@ +
    +
    + + +
    + +
    + {{ countries().length === 0 ? 'No results found for ' + query() : '' }} +
    + + + + + + +
    diff --git a/adev/src/content/examples/aria/autocomplete/src/basic/retro/app/app.ts b/adev/src/content/examples/aria/autocomplete/src/basic/retro/app/app.ts new file mode 100644 index 000000000000..928ef15cebc1 --- /dev/null +++ b/adev/src/content/examples/aria/autocomplete/src/basic/retro/app/app.ts @@ -0,0 +1,249 @@ +import {Combobox, ComboboxPopup, ComboboxWidget} from '@angular/aria/combobox'; +import {Listbox, Option} from '@angular/aria/listbox'; +import {OverlayModule} from '@angular/cdk/overlay'; +import {afterRenderEffect, Component, computed, signal, viewChild} from '@angular/core'; +import {FormsModule} from '@angular/forms'; + +@Component({ + selector: 'app-root[theme="basic-retro"]', + templateUrl: 'app.html', + styleUrl: 'app.css', + imports: [Combobox, ComboboxPopup, ComboboxWidget, Listbox, Option, OverlayModule, FormsModule], +}) +export class App { + readonly listbox = viewChild(Listbox); + readonly combobox = viewChild(Combobox); + + popupExpanded = signal(false); + query = signal(''); + selectedOption = signal([]); + + countries = computed(() => + ALL_COUNTRIES.filter((country) => country.toLowerCase().startsWith(this.query().toLowerCase())), + ); + + constructor() { + afterRenderEffect(() => { + if (this.combobox()?.expanded() === true) { + this.listbox()?.scrollActiveItemIntoView(); + } + }); + } + + onBlur() { + this.commitSelection(); + } + + onCommit() { + this.commitSelection(); + this.popupExpanded.set(false); + } + + private commitSelection() { + const selected = this.selectedOption(); + if (selected.length > 0) { + this.query.set(selected[0]); + } else { + this.query.set(''); + this.selectedOption.set([]); + } + } +} + +const ALL_COUNTRIES = [ + 'Afghanistan', + 'Albania', + 'Algeria', + 'Andorra', + 'Angola', + 'Antigua and Barbuda', + 'Argentina', + 'Armenia', + 'Australia', + 'Austria', + 'Azerbaijan', + 'Bahamas', + 'Bahrain', + 'Bangladesh', + 'Barbados', + 'Belarus', + 'Belgium', + 'Belize', + 'Benin', + 'Bhutan', + 'Bolivia', + 'Bosnia and Herzegovina', + 'Botswana', + 'Brazil', + 'Brunei', + 'Bulgaria', + 'Burkina Faso', + 'Burundi', + 'Cabo Verde', + 'Cambodia', + 'Cameroon', + 'Canada', + 'Central African Republic', + 'Chad', + 'Chile', + 'China', + 'Colombia', + 'Comoros', + 'Congo (Congo-Brazzaville)', + 'Costa Rica', + "Côte d'Ivoire", + 'Croatia', + 'Cuba', + 'Cyprus', + 'Czechia (Czech Republic)', + 'Democratic Republic of the Congo', + 'Denmark', + 'Djibouti', + 'Dominica', + 'Dominican Republic', + 'Ecuador', + 'Egypt', + 'El Salvador', + 'Equatorial Guinea', + 'Eritrea', + 'Estonia', + 'Eswatini (fmr. "Swaziland")', + 'Ethiopia', + 'Fiji', + 'Finland', + 'France', + 'Gabon', + 'Gambia', + 'Georgia', + 'Germany', + 'Ghana', + 'Greece', + 'Grenada', + 'Guatemala', + 'Guinea', + 'Guinea-Bissau', + 'Guyana', + 'Haiti', + 'Holy See', + 'Honduras', + 'Hungary', + 'Iceland', + 'India', + 'Indonesia', + 'Iran', + 'Iraq', + 'Ireland', + 'Israel', + 'Italy', + 'Jamaica', + 'Japan', + 'Jordan', + 'Kazakhstan', + 'Kenya', + 'Kiribati', + 'Kuwait', + 'Kyrgyzstan', + 'Laos', + 'Latvia', + 'Lebanon', + 'Lesotho', + 'Liberia', + 'Libya', + 'Liechtenstein', + 'Lithuania', + 'Luxembourg', + 'Madagascar', + 'Malawi', + 'Malaysia', + 'Maldives', + 'Mali', + 'Malta', + 'Marshall Islands', + 'Mauritania', + 'Mauritius', + 'Mexico', + 'Micronesia', + 'Moldova', + 'Monaco', + 'Mongolia', + 'Montenegro', + 'Morocco', + 'Mozambique', + 'Myanmar (formerly Burma)', + 'Namibia', + 'Nauru', + 'Nepal', + 'Netherlands', + 'New Zealand', + 'Nicaragua', + 'Niger', + 'Nigeria', + 'North Korea', + 'North Macedonia', + 'Norway', + 'Oman', + 'Pakistan', + 'Palau', + 'Palestine State', + 'Panama', + 'Papua New Guinea', + 'Paraguay', + 'Peru', + 'Philippines', + 'Poland', + 'Portugal', + 'Qatar', + 'Romania', + 'Russia', + 'Rwanda', + 'Saint Kitts and Nevis', + 'Saint Lucia', + 'Saint Vincent and the Grenadines', + 'Samoa', + 'San Marino', + 'Sao Tome and Principe', + 'Saudi Arabia', + 'Senegal', + 'Serbia', + 'Seychelles', + 'Sierra Leone', + 'Singapore', + 'Slovakia', + 'Slovenia', + 'Solomon Islands', + 'Somalia', + 'South Africa', + 'South Korea', + 'South Sudan', + 'Spain', + 'Sri Lanka', + 'Sudan', + 'Suriname', + 'Sweden', + 'Switzerland', + 'Syria', + 'Tajikistan', + 'Tanzania', + 'Thailand', + 'Timor-Leste', + 'Togo', + 'Tonga', + 'Trinidad and Tobago', + 'Tunisia', + 'Turkey', + 'Turkmenistan', + 'Tuvalu', + 'Uganda', + 'Ukraine', + 'United Arab Emirates', + 'United Kingdom', + 'United States of America', + 'Uruguay', + 'Uzbekistan', + 'Vanuatu', + 'Venezuela', + 'Vietnam', + 'Yemen', + 'Zambia', + 'Zimbabwe', +]; diff --git a/adev/src/content/examples/aria/autocomplete/src/highlight/app/app.css b/adev/src/content/examples/aria/autocomplete/src/highlight/app/app.css new file mode 100644 index 000000000000..5ba77d212657 --- /dev/null +++ b/adev/src/content/examples/aria/autocomplete/src/highlight/app/app.css @@ -0,0 +1,113 @@ +@import url('https://fonts.googleapis.com/icon?family=Material+Symbols+Outlined'); + +:host { + display: flex; + justify-content: center; + font-family: var(--inter-font); +} + +.autocomplete-container { + display: flex; + flex-direction: column; + position: relative; +} + +.autocomplete-input-container { + display: flex; + position: relative; + align-items: center; +} + +.material-symbols-outlined { + font-size: 1.25rem; + pointer-events: none; +} + +.search-icon { + left: 0.75rem; + position: absolute; + color: var(--quaternary-contrast); +} + +.autocomplete-input { + width: 13rem; + font-size: 1rem; + border-radius: 0.25rem; + padding: 0.75rem 0.5rem 0.75rem 2.5rem; + color: var(--primary-contrast); + outline: none; + border: 1px solid var(--quinary-contrast); + background-color: var(--page-background); +} + +.autocomplete-input:focus-visible { + border-color: var(--hot-pink); + box-shadow: 0 0 0 2px color-mix(in srgb, var(--hot-pink) 20%, transparent); +} + +.autocomplete-input::placeholder { + color: var(--quaternary-contrast); +} + +.popup { + width: 100%; + margin-top: 8px; + padding: 0.5rem; + max-height: 11rem; + border-radius: 0.5rem; + background-color: var(--septenary-contrast); + font-size: 0.9rem; + box-shadow: + 0 4px 6px -1px rgba(0, 0, 0, 0.1), + 0 2px 4px -1px rgba(0, 0, 0, 0.06); +} + +.no-results { + padding: 1rem; +} + +.listbox { + gap: 2px; + height: 100%; + display: flex; + overflow: auto; + flex-direction: column; + outline: none; +} + +.option { + display: flex; + cursor: pointer; + align-items: center; + margin: 1px; + padding: 0 1rem; + min-height: 2.25rem; + border-radius: 0.5rem; + outline: none; +} + +.option:hover { + background-color: color-mix(in srgb, var(--primary-contrast) 5%, transparent); +} + +.option[data-active='true'] { + outline-offset: -2px; + outline: 2px solid var(--hot-pink); +} + +.option[aria-selected='true'] { + color: var(--hot-pink); + background-color: color-mix(in srgb, var(--hot-pink) 5%, transparent); +} + +.option:not([aria-selected='true']) .check-icon { + display: none; +} + +.option-label { + flex: 1; +} + +.check-icon { + font-size: 0.9rem; +} diff --git a/adev/src/content/examples/aria/autocomplete/src/highlight/app/app.html b/adev/src/content/examples/aria/autocomplete/src/highlight/app/app.html new file mode 100644 index 000000000000..d7d68d56f7e0 --- /dev/null +++ b/adev/src/content/examples/aria/autocomplete/src/highlight/app/app.html @@ -0,0 +1,57 @@ +
    +
    + + +
    + +
    + {{ countries().length === 0 ? 'No results found for ' + query() : '' }} +
    + + + + + + +
    diff --git a/adev/src/content/examples/aria/autocomplete/src/highlight/app/app.ts b/adev/src/content/examples/aria/autocomplete/src/highlight/app/app.ts new file mode 100644 index 000000000000..5c9eb0dcf3a1 --- /dev/null +++ b/adev/src/content/examples/aria/autocomplete/src/highlight/app/app.ts @@ -0,0 +1,247 @@ +import {Combobox, ComboboxPopup, ComboboxWidget} from '@angular/aria/combobox'; +import {Listbox, Option} from '@angular/aria/listbox'; +import {OverlayModule} from '@angular/cdk/overlay'; +import {afterRenderEffect, Component, computed, effect, signal, viewChild} from '@angular/core'; +import {FormsModule} from '@angular/forms'; + +@Component({ + selector: 'app-root[theme="highlight-basic"], app-root:not([theme])', + templateUrl: 'app.html', + styleUrl: 'app.css', + imports: [Combobox, ComboboxPopup, ComboboxWidget, Listbox, Option, OverlayModule, FormsModule], +}) +export class App { + readonly listbox = viewChild(Listbox); + readonly combobox = viewChild(Combobox); + + popupExpanded = signal(false); + query = signal(''); + selectedOption = signal([]); + navigated = signal(false); + + countries = computed(() => + ALL_COUNTRIES.filter((country) => country.toLowerCase().startsWith(this.query().toLowerCase())), + ); + + constructor() { + afterRenderEffect(() => { + if (this.combobox()?.expanded() === true) { + this.listbox()?.scrollActiveItemIntoView(); + } + }); + + effect(() => { + if (!this.popupExpanded()) { + this.navigated.set(false); + } + }); + } + + onCommit() { + const selected = this.selectedOption(); + if (selected.length > 0) { + this.query.set(selected[0]); + } else { + this.query.set(''); + } + this.popupExpanded.set(false); + } +} + +const ALL_COUNTRIES = [ + 'Afghanistan', + 'Albania', + 'Algeria', + 'Andorra', + 'Angola', + 'Antigua and Barbuda', + 'Argentina', + 'Armenia', + 'Australia', + 'Austria', + 'Azerbaijan', + 'Bahamas', + 'Bahrain', + 'Bangladesh', + 'Barbados', + 'Belarus', + 'Belgium', + 'Belize', + 'Benin', + 'Bhutan', + 'Bolivia', + 'Bosnia and Herzegovina', + 'Botswana', + 'Brazil', + 'Brunei', + 'Bulgaria', + 'Burkina Faso', + 'Burundi', + 'Cabo Verde', + 'Cambodia', + 'Cameroon', + 'Canada', + 'Central African Republic', + 'Chad', + 'Chile', + 'China', + 'Colombia', + 'Comoros', + 'Congo (Congo-Brazzaville)', + 'Costa Rica', + "Côte d'Ivoire", + 'Croatia', + 'Cuba', + 'Cyprus', + 'Czechia (Czech Republic)', + 'Democratic Republic of the Congo', + 'Denmark', + 'Djibouti', + 'Dominica', + 'Dominican Republic', + 'Ecuador', + 'Egypt', + 'El Salvador', + 'Equatorial Guinea', + 'Eritrea', + 'Estonia', + 'Eswatini (fmr. "Swaziland")', + 'Ethiopia', + 'Fiji', + 'Finland', + 'France', + 'Gabon', + 'Gambia', + 'Georgia', + 'Germany', + 'Ghana', + 'Greece', + 'Grenada', + 'Guatemala', + 'Guinea', + 'Guinea-Bissau', + 'Guyana', + 'Haiti', + 'Holy See', + 'Honduras', + 'Hungary', + 'Iceland', + 'India', + 'Indonesia', + 'Iran', + 'Iraq', + 'Ireland', + 'Israel', + 'Italy', + 'Jamaica', + 'Japan', + 'Jordan', + 'Kazakhstan', + 'Kenya', + 'Kiribati', + 'Kuwait', + 'Kyrgyzstan', + 'Laos', + 'Latvia', + 'Lebanon', + 'Lesotho', + 'Liberia', + 'Libya', + 'Liechtenstein', + 'Lithuania', + 'Luxembourg', + 'Madagascar', + 'Malawi', + 'Malaysia', + 'Maldives', + 'Mali', + 'Malta', + 'Marshall Islands', + 'Mauritania', + 'Mauritius', + 'Mexico', + 'Micronesia', + 'Moldova', + 'Monaco', + 'Mongolia', + 'Montenegro', + 'Morocco', + 'Mozambique', + 'Myanmar (formerly Burma)', + 'Namibia', + 'Nauru', + 'Nepal', + 'Netherlands', + 'New Zealand', + 'Nicaragua', + 'Niger', + 'Nigeria', + 'North Korea', + 'North Macedonia', + 'Norway', + 'Oman', + 'Pakistan', + 'Palau', + 'Palestine State', + 'Panama', + 'Papua New Guinea', + 'Paraguay', + 'Peru', + 'Philippines', + 'Poland', + 'Portugal', + 'Qatar', + 'Romania', + 'Russia', + 'Rwanda', + 'Saint Kitts and Nevis', + 'Saint Lucia', + 'Saint Vincent and the Grenadines', + 'Samoa', + 'San Marino', + 'Sao Tome and Principe', + 'Saudi Arabia', + 'Senegal', + 'Serbia', + 'Seychelles', + 'Sierra Leone', + 'Singapore', + 'Slovakia', + 'Slovenia', + 'Solomon Islands', + 'Somalia', + 'South Africa', + 'South Korea', + 'South Sudan', + 'Spain', + 'Sri Lanka', + 'Sudan', + 'Suriname', + 'Sweden', + 'Switzerland', + 'Syria', + 'Tajikistan', + 'Tanzania', + 'Thailand', + 'Timor-Leste', + 'Togo', + 'Tonga', + 'Trinidad and Tobago', + 'Tunisia', + 'Turkey', + 'Turkmenistan', + 'Tuvalu', + 'Uganda', + 'Ukraine', + 'United Arab Emirates', + 'United Kingdom', + 'United States of America', + 'Uruguay', + 'Uzbekistan', + 'Vanuatu', + 'Venezuela', + 'Vietnam', + 'Yemen', + 'Zambia', + 'Zimbabwe', +]; diff --git a/adev/src/content/examples/aria/autocomplete/src/highlight/material/app/app.css b/adev/src/content/examples/aria/autocomplete/src/highlight/material/app/app.css new file mode 100644 index 000000000000..00237755e978 --- /dev/null +++ b/adev/src/content/examples/aria/autocomplete/src/highlight/material/app/app.css @@ -0,0 +1,114 @@ +@import url('https://fonts.googleapis.com/icon?family=Material+Symbols+Outlined'); + +:host { + display: flex; + justify-content: center; + font-family: var(--inter-font); + --primary: var(--hot-pink); +} + +.autocomplete-container { + display: flex; + flex-direction: column; + position: relative; +} + +.material-autocomplete { + display: flex; + position: relative; + align-items: center; +} + +.material-symbols-outlined { + font-size: 1.25rem; + pointer-events: none; +} + +.search-icon { + left: 0.75rem; + position: absolute; + color: var(--quaternary-contrast); +} + +.autocomplete-input { + width: 13rem; + font-size: 1rem; + border-radius: 3rem; + padding: 0.75rem 0.5rem 0.75rem 2.5rem; + color: var(--primary-contrast); + outline: none; + border: 1px solid var(--quinary-contrast); + background-color: var(--page-background); +} + +.autocomplete-input:focus-visible { + border-color: var(--primary); + box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary) 20%, transparent); +} + +.autocomplete-input::placeholder { + color: var(--quaternary-contrast); +} + +.popup { + width: 100%; + margin-top: 8px; + padding: 0.5rem; + max-height: 11rem; + border-radius: 2rem; + background-color: var(--septenary-contrast); + font-size: 0.9rem; + box-shadow: + 0 4px 6px -1px rgba(0, 0, 0, 0.1), + 0 2px 4px -1px rgba(0, 0, 0, 0.06); +} + +.no-results { + padding: 1rem; +} + +.listbox { + gap: 2px; + height: 100%; + display: flex; + overflow: auto; + flex-direction: column; + outline: none; +} + +.option { + display: flex; + cursor: pointer; + align-items: center; + margin: 1px; + padding: 0 1rem; + min-height: 3rem; + border-radius: 3rem; + outline: none; +} + +.option:hover { + background-color: color-mix(in srgb, var(--primary-contrast) 5%, transparent); +} + +.option[data-active='true'] { + outline-offset: -2px; + outline: 2px solid var(--primary); +} + +.option[aria-selected='true'] { + color: var(--primary); + background-color: color-mix(in srgb, var(--primary) 10%, transparent); +} + +.option:not([aria-selected='true']) .check-icon { + display: none; +} + +.option-label { + flex: 1; +} + +.check-icon { + font-size: 0.9rem; +} diff --git a/adev/src/content/examples/aria/autocomplete/src/highlight/material/app/app.html b/adev/src/content/examples/aria/autocomplete/src/highlight/material/app/app.html new file mode 100644 index 000000000000..f307c227b01c --- /dev/null +++ b/adev/src/content/examples/aria/autocomplete/src/highlight/material/app/app.html @@ -0,0 +1,57 @@ +
    +
    + + +
    + +
    + {{ countries().length === 0 ? 'No results found for ' + query() : '' }} +
    + + + + + + +
    diff --git a/adev/src/content/examples/aria/autocomplete/src/highlight/material/app/app.ts b/adev/src/content/examples/aria/autocomplete/src/highlight/material/app/app.ts new file mode 100644 index 000000000000..20d93170f8e7 --- /dev/null +++ b/adev/src/content/examples/aria/autocomplete/src/highlight/material/app/app.ts @@ -0,0 +1,247 @@ +import {Combobox, ComboboxPopup, ComboboxWidget} from '@angular/aria/combobox'; +import {Listbox, Option} from '@angular/aria/listbox'; +import {OverlayModule} from '@angular/cdk/overlay'; +import {afterRenderEffect, Component, computed, effect, signal, viewChild} from '@angular/core'; +import {FormsModule} from '@angular/forms'; + +@Component({ + selector: 'app-root[theme="highlight-material"]', + templateUrl: 'app.html', + styleUrl: 'app.css', + imports: [Combobox, ComboboxPopup, ComboboxWidget, Listbox, Option, OverlayModule, FormsModule], +}) +export class App { + readonly listbox = viewChild(Listbox); + readonly combobox = viewChild(Combobox); + + popupExpanded = signal(false); + query = signal(''); + selectedOption = signal([]); + navigated = signal(false); + + countries = computed(() => + ALL_COUNTRIES.filter((country) => country.toLowerCase().startsWith(this.query().toLowerCase())), + ); + + constructor() { + afterRenderEffect(() => { + if (this.combobox()?.expanded() === true) { + this.listbox()?.scrollActiveItemIntoView(); + } + }); + + effect(() => { + if (!this.popupExpanded()) { + this.navigated.set(false); + } + }); + } + + onCommit() { + const selected = this.selectedOption(); + if (selected.length > 0) { + this.query.set(selected[0]); + } else { + this.query.set(''); + } + this.popupExpanded.set(false); + } +} + +const ALL_COUNTRIES = [ + 'Afghanistan', + 'Albania', + 'Algeria', + 'Andorra', + 'Angola', + 'Antigua and Barbuda', + 'Argentina', + 'Armenia', + 'Australia', + 'Austria', + 'Azerbaijan', + 'Bahamas', + 'Bahrain', + 'Bangladesh', + 'Barbados', + 'Belarus', + 'Belgium', + 'Belize', + 'Benin', + 'Bhutan', + 'Bolivia', + 'Bosnia and Herzegovina', + 'Botswana', + 'Brazil', + 'Brunei', + 'Bulgaria', + 'Burkina Faso', + 'Burundi', + 'Cabo Verde', + 'Cambodia', + 'Cameroon', + 'Canada', + 'Central African Republic', + 'Chad', + 'Chile', + 'China', + 'Colombia', + 'Comoros', + 'Congo (Congo-Brazzaville)', + 'Costa Rica', + "Côte d'Ivoire", + 'Croatia', + 'Cuba', + 'Cyprus', + 'Czechia (Czech Republic)', + 'Democratic Republic of the Congo', + 'Denmark', + 'Djibouti', + 'Dominica', + 'Dominican Republic', + 'Ecuador', + 'Egypt', + 'El Salvador', + 'Equatorial Guinea', + 'Eritrea', + 'Estonia', + 'Eswatini (fmr. "Swaziland")', + 'Ethiopia', + 'Fiji', + 'Finland', + 'France', + 'Gabon', + 'Gambia', + 'Georgia', + 'Germany', + 'Ghana', + 'Greece', + 'Grenada', + 'Guatemala', + 'Guinea', + 'Guinea-Bissau', + 'Guyana', + 'Haiti', + 'Holy See', + 'Honduras', + 'Hungary', + 'Iceland', + 'India', + 'Indonesia', + 'Iran', + 'Iraq', + 'Ireland', + 'Israel', + 'Italy', + 'Jamaica', + 'Japan', + 'Jordan', + 'Kazakhstan', + 'Kenya', + 'Kiribati', + 'Kuwait', + 'Kyrgyzstan', + 'Laos', + 'Latvia', + 'Lebanon', + 'Lesotho', + 'Liberia', + 'Libya', + 'Liechtenstein', + 'Lithuania', + 'Luxembourg', + 'Madagascar', + 'Malawi', + 'Malaysia', + 'Maldives', + 'Mali', + 'Malta', + 'Marshall Islands', + 'Mauritania', + 'Mauritius', + 'Mexico', + 'Micronesia', + 'Moldova', + 'Monaco', + 'Mongolia', + 'Montenegro', + 'Morocco', + 'Mozambique', + 'Myanmar (formerly Burma)', + 'Namibia', + 'Nauru', + 'Nepal', + 'Netherlands', + 'New Zealand', + 'Nicaragua', + 'Niger', + 'Nigeria', + 'North Korea', + 'North Macedonia', + 'Norway', + 'Oman', + 'Pakistan', + 'Palau', + 'Palestine State', + 'Panama', + 'Papua New Guinea', + 'Paraguay', + 'Peru', + 'Philippines', + 'Poland', + 'Portugal', + 'Qatar', + 'Romania', + 'Russia', + 'Rwanda', + 'Saint Kitts and Nevis', + 'Saint Lucia', + 'Saint Vincent and the Grenadines', + 'Samoa', + 'San Marino', + 'Sao Tome and Principe', + 'Saudi Arabia', + 'Senegal', + 'Serbia', + 'Seychelles', + 'Sierra Leone', + 'Singapore', + 'Slovakia', + 'Slovenia', + 'Solomon Islands', + 'Somalia', + 'South Africa', + 'South Korea', + 'South Sudan', + 'Spain', + 'Sri Lanka', + 'Sudan', + 'Suriname', + 'Sweden', + 'Switzerland', + 'Syria', + 'Tajikistan', + 'Tanzania', + 'Thailand', + 'Timor-Leste', + 'Togo', + 'Tonga', + 'Trinidad and Tobago', + 'Tunisia', + 'Turkey', + 'Turkmenistan', + 'Tuvalu', + 'Uganda', + 'Ukraine', + 'United Arab Emirates', + 'United Kingdom', + 'United States of America', + 'Uruguay', + 'Uzbekistan', + 'Vanuatu', + 'Venezuela', + 'Vietnam', + 'Yemen', + 'Zambia', + 'Zimbabwe', +]; diff --git a/adev/src/content/examples/aria/autocomplete/src/highlight/retro/app/app.css b/adev/src/content/examples/aria/autocomplete/src/highlight/retro/app/app.css new file mode 100644 index 000000000000..429091936775 --- /dev/null +++ b/adev/src/content/examples/aria/autocomplete/src/highlight/retro/app/app.css @@ -0,0 +1,135 @@ +@import url('https://fonts.googleapis.com/icon?family=Material+Symbols+Outlined'); +@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap'); + +:host { + display: flex; + justify-content: center; + font-size: 0.6rem; + font-family: 'Press Start 2P'; + + --retro-button-color: #fff; + --retro-shadow-light: color-mix(in srgb, var(--retro-button-color) 90%, #fff); + --retro-shadow-dark: color-mix(in srgb, var(--retro-button-color) 90%, #000); + --retro-elevated-shadow: + inset 4px 4px 0px 0px var(--retro-shadow-light), + inset -4px -4px 0px 0px var(--retro-shadow-dark), 4px 0px 0px 0px var(--tertiary-contrast), + 0px 4px 0px 0px var(--tertiary-contrast), -4px 0px 0px 0px var(--tertiary-contrast), + 0px -4px 0px 0px var(--tertiary-contrast); + --retro-flat-shadow: + 4px 0px 0px 0px var(--tertiary-contrast), 0px 4px 0px 0px var(--tertiary-contrast), + -4px 0px 0px 0px var(--tertiary-contrast), 0px -4px 0px 0px var(--tertiary-contrast); + --retro-pressed-shadow: + inset 4px 4px 0px 0px var(--retro-shadow-dark), + inset -4px -4px 0px 0px var(--retro-shadow-light), 4px 0px 0px 0px var(--tertiary-contrast), + 0px 4px 0px 0px var(--tertiary-contrast), -4px 0px 0px 0px var(--tertiary-contrast), + 0px -4px 0px 0px var(--tertiary-contrast), 0px 0px 0px 0px var(--tertiary-contrast); +} + +.autocomplete-container { + display: flex; + flex-direction: column; + position: relative; +} + +.retro-autocomplete { + display: flex; + position: relative; + align-items: center; +} + +.material-symbols-outlined { + font-size: 1.25rem; + pointer-events: none; +} + +.search-icon { + left: 0.75rem; + position: absolute; + color: #000; + z-index: 1; +} + +.autocomplete-input { + width: 15rem; + font-size: 0.6rem; + border-radius: 0; + font-family: 'Press Start 2P'; + word-spacing: -5px; + padding: 0.75rem 0.5rem 0.75rem 2.5rem; + color: #000; + border: none; + box-shadow: var(--retro-flat-shadow); + background-color: var(--retro-button-color); + outline: none; +} + +.autocomplete-input:focus-visible { + outline: none; + transform: translate(1px, 1px); + box-shadow: var(--retro-pressed-shadow); +} + +.autocomplete-input::placeholder { + color: #000; + opacity: 0.7; +} + +.popup { + width: 100%; + margin-top: 20px; + padding: 0.5rem; + max-height: 11rem; + border-radius: 0; + background-color: var(--septenary-contrast); + box-shadow: var(--retro-flat-shadow); +} + +.no-results { + padding: 1rem; +} + +.listbox { + gap: 2px; + height: 100%; + display: flex; + overflow: auto; + flex-direction: column; + outline: none; +} + +.option { + display: flex; + cursor: pointer; + align-items: center; + margin: 1px; + padding: 0 1rem; + min-height: 2.25rem; + border-radius: 0; + outline: none; +} + +.option:hover { + background-color: color-mix(in srgb, var(--primary-contrast) 5%, transparent); +} + +.option[data-active='true'] { + outline-offset: -2px; + outline: 2px dashed var(--hot-pink); +} + +.option[aria-selected='true'] { + color: var(--hot-pink); + background-color: color-mix(in srgb, var(--hot-pink) 5%, transparent); +} + +.option:not([aria-selected='true']) .check-icon { + display: none; +} + +.option-label { + flex: 1; +} + +.check-icon { + font-size: 0.9rem; +} diff --git a/adev/src/content/examples/aria/autocomplete/src/highlight/retro/app/app.html b/adev/src/content/examples/aria/autocomplete/src/highlight/retro/app/app.html new file mode 100644 index 000000000000..2ff04f86414c --- /dev/null +++ b/adev/src/content/examples/aria/autocomplete/src/highlight/retro/app/app.html @@ -0,0 +1,57 @@ +
    +
    + + +
    + +
    + {{ countries().length === 0 ? 'No results found for ' + query() : '' }} +
    + + + + + + +
    diff --git a/adev/src/content/examples/aria/autocomplete/src/highlight/retro/app/app.ts b/adev/src/content/examples/aria/autocomplete/src/highlight/retro/app/app.ts new file mode 100644 index 000000000000..4915fc80e11b --- /dev/null +++ b/adev/src/content/examples/aria/autocomplete/src/highlight/retro/app/app.ts @@ -0,0 +1,248 @@ +import {Combobox, ComboboxPopup, ComboboxWidget} from '@angular/aria/combobox'; +import {Listbox, Option} from '@angular/aria/listbox'; +import {OverlayModule} from '@angular/cdk/overlay'; +import {afterRenderEffect, Component, computed, effect, signal, viewChild} from '@angular/core'; +import {FormsModule} from '@angular/forms'; + +@Component({ + selector: 'app-root[theme="highlight-retro"]', + templateUrl: 'app.html', + styleUrl: 'app.css', + imports: [Combobox, ComboboxPopup, ComboboxWidget, Listbox, Option, OverlayModule, FormsModule], +}) +export class App { + readonly listbox = viewChild(Listbox); + readonly combobox = viewChild(Combobox); + + popupExpanded = signal(false); + query = signal(''); + selectedOption = signal([]); + navigated = signal(false); + + countries = computed(() => + ALL_COUNTRIES.filter((country) => country.toLowerCase().startsWith(this.query().toLowerCase())), + ); + + constructor() { + afterRenderEffect(() => { + if (this.combobox()?.expanded() === true) { + this.listbox()?.scrollActiveItemIntoView(); + } + }); + + effect(() => { + if (!this.popupExpanded()) { + this.navigated.set(false); + } + }); + } + + onCommit() { + const selected = this.selectedOption(); + if (selected.length > 0) { + this.query.set(selected[0]); + } else { + this.query.set(''); + } + this.popupExpanded.set(false); + } +} + +const ALL_COUNTRIES = [ + 'Afghanistan', + 'Albania', + 'Algeria', + 'Andorra', + 'Angola', + 'Antigua and Barbuda', + 'Argentina', + 'Armenia', + 'Australia', + 'Austria', + 'Azerbaijan', + 'Bahamas', + 'Bahrain', + 'Bangladesh', + 'Barbados', + 'Belarus', + 'Belgium', + 'Belize', + 'Benin', + 'Bhutan', + 'Bolivia', + 'Bosnia and Herzegovina', + 'Botswana', + 'Brazil', + 'Brunei', + 'Bulgaria', + 'Burkina Faso', + 'Burundi', + 'Cabo Verde', + 'Cambodia', + 'Cameroon', + 'Canada', + 'Central African Republic', + 'Chad', + 'Chile', + 'China', + 'Colombia', + 'Comoros', + 'Congo (Congo-Brazzaville)', + 'Costa Rica', + "Côte d'Ivoire", + 'Croatia', + 'Cuba', + 'Cyprus', + 'Czechia (Czech Republic)', + 'Democratic Republic of the Congo', + 'Denmark', + 'Djibouti', + 'Dominica', + 'Dominican Republic', + 'Ecuador', + 'Egypt', + 'El Salvador', + 'Equatorial Guinea', + 'Eritrea', + 'Estonia', + 'Eswatini (fmr. "Swaziland")', + 'Ethiopia', + 'Fiji', + 'Finland', + 'France', + 'Gabon', + 'Gambia', + 'Georgia', + 'Germany', + 'Ghana', + 'Greece', + 'Grenada', + 'Guatemala', + 'Imporant', + 'Guinea', + 'Guinea-Bissau', + 'Guyana', + 'Haiti', + 'Holy See', + 'Honduras', + 'Hungary', + 'Iceland', + 'India', + 'Indonesia', + 'Iran', + 'Iraq', + 'Ireland', + 'Israel', + 'Italy', + 'Jamaica', + 'Japan', + 'Jordan', + 'Kazakhstan', + 'Kenya', + 'Kiribati', + 'Kuwait', + 'Kyrgyzstan', + 'Laos', + 'Latvia', + 'Lebanon', + 'Lesotho', + 'Liberia', + 'Libya', + 'Liechtenstein', + 'Lithuania', + 'Luxembourg', + 'Madagascar', + 'Malawi', + 'Malaysia', + 'Maldives', + 'Mali', + 'Malta', + 'Marshall Islands', + 'Mauritania', + 'Mauritius', + 'Mexico', + 'Micronesia', + 'Moldova', + 'Monaco', + 'Mongolia', + 'Montenegro', + 'Morocco', + 'Mozambique', + 'Myanmar (formerly Burma)', + 'Namibia', + 'Nauru', + 'Nepal', + 'Netherlands', + 'New Zealand', + 'Nicaragua', + 'Niger', + 'Nigeria', + 'North Korea', + 'North Macedonia', + 'Norway', + 'Oman', + 'Pakistan', + 'Palau', + 'Palestine State', + 'Panama', + 'Papua New Guinea', + 'Paraguay', + 'Peru', + 'Philippines', + 'Poland', + 'Portugal', + 'Qatar', + 'Romania', + 'Russia', + 'Rwanda', + 'Saint Kitts and Nevis', + 'Saint Lucia', + 'Saint Vincent and the Grenadines', + 'Samoa', + 'San Marino', + 'Sao Tome and Principe', + 'Saudi Arabia', + 'Senegal', + 'Serbia', + 'Seychelles', + 'Sierra Leone', + 'Singapore', + 'Slovakia', + 'Slovenia', + 'Solomon Islands', + 'Somalia', + 'South Africa', + 'South Korea', + 'South Sudan', + 'Spain', + 'Sri Lanka', + 'Sudan', + 'Suriname', + 'Sweden', + 'Switzerland', + 'Syria', + 'Tajikistan', + 'Tanzania', + 'Thailand', + 'Timor-Leste', + 'Togo', + 'Tonga', + 'Trinidad and Tobago', + 'Tunisia', + 'Turkey', + 'Turkmenistan', + 'Tuvalu', + 'Uganda', + 'Ukraine', + 'United Arab Emirates', + 'United Kingdom', + 'United States of America', + 'Uruguay', + 'Uzbekistan', + 'Vanuatu', + 'Venezuela', + 'Vietnam', + 'Yemen', + 'Zambia', + 'Zimbabwe', +]; diff --git a/adev/src/content/examples/aria/autocomplete/src/manual/app/app.css b/adev/src/content/examples/aria/autocomplete/src/manual/app/app.css new file mode 100644 index 000000000000..5ba77d212657 --- /dev/null +++ b/adev/src/content/examples/aria/autocomplete/src/manual/app/app.css @@ -0,0 +1,113 @@ +@import url('https://fonts.googleapis.com/icon?family=Material+Symbols+Outlined'); + +:host { + display: flex; + justify-content: center; + font-family: var(--inter-font); +} + +.autocomplete-container { + display: flex; + flex-direction: column; + position: relative; +} + +.autocomplete-input-container { + display: flex; + position: relative; + align-items: center; +} + +.material-symbols-outlined { + font-size: 1.25rem; + pointer-events: none; +} + +.search-icon { + left: 0.75rem; + position: absolute; + color: var(--quaternary-contrast); +} + +.autocomplete-input { + width: 13rem; + font-size: 1rem; + border-radius: 0.25rem; + padding: 0.75rem 0.5rem 0.75rem 2.5rem; + color: var(--primary-contrast); + outline: none; + border: 1px solid var(--quinary-contrast); + background-color: var(--page-background); +} + +.autocomplete-input:focus-visible { + border-color: var(--hot-pink); + box-shadow: 0 0 0 2px color-mix(in srgb, var(--hot-pink) 20%, transparent); +} + +.autocomplete-input::placeholder { + color: var(--quaternary-contrast); +} + +.popup { + width: 100%; + margin-top: 8px; + padding: 0.5rem; + max-height: 11rem; + border-radius: 0.5rem; + background-color: var(--septenary-contrast); + font-size: 0.9rem; + box-shadow: + 0 4px 6px -1px rgba(0, 0, 0, 0.1), + 0 2px 4px -1px rgba(0, 0, 0, 0.06); +} + +.no-results { + padding: 1rem; +} + +.listbox { + gap: 2px; + height: 100%; + display: flex; + overflow: auto; + flex-direction: column; + outline: none; +} + +.option { + display: flex; + cursor: pointer; + align-items: center; + margin: 1px; + padding: 0 1rem; + min-height: 2.25rem; + border-radius: 0.5rem; + outline: none; +} + +.option:hover { + background-color: color-mix(in srgb, var(--primary-contrast) 5%, transparent); +} + +.option[data-active='true'] { + outline-offset: -2px; + outline: 2px solid var(--hot-pink); +} + +.option[aria-selected='true'] { + color: var(--hot-pink); + background-color: color-mix(in srgb, var(--hot-pink) 5%, transparent); +} + +.option:not([aria-selected='true']) .check-icon { + display: none; +} + +.option-label { + flex: 1; +} + +.check-icon { + font-size: 0.9rem; +} diff --git a/adev/src/content/examples/aria/autocomplete/src/manual/app/app.html b/adev/src/content/examples/aria/autocomplete/src/manual/app/app.html new file mode 100644 index 000000000000..8bbf29ff983f --- /dev/null +++ b/adev/src/content/examples/aria/autocomplete/src/manual/app/app.html @@ -0,0 +1,55 @@ +
    +
    + + +
    + +
    + {{ countries().length === 0 ? 'No results found for ' + query() : '' }} +
    + + + + + + +
    diff --git a/adev/src/content/examples/aria/autocomplete/src/manual/app/app.ts b/adev/src/content/examples/aria/autocomplete/src/manual/app/app.ts new file mode 100644 index 000000000000..cc4e7f72f2ca --- /dev/null +++ b/adev/src/content/examples/aria/autocomplete/src/manual/app/app.ts @@ -0,0 +1,238 @@ +import {Combobox, ComboboxPopup, ComboboxWidget} from '@angular/aria/combobox'; +import {Listbox, Option} from '@angular/aria/listbox'; +import {OverlayModule} from '@angular/cdk/overlay'; +import {afterRenderEffect, Component, computed, signal, viewChild} from '@angular/core'; +import {FormsModule} from '@angular/forms'; + +@Component({ + selector: 'app-root[theme="manual-basic"], app-root:not([theme])', + templateUrl: 'app.html', + styleUrl: 'app.css', + imports: [Combobox, ComboboxPopup, ComboboxWidget, Listbox, Option, OverlayModule, FormsModule], +}) +export class App { + readonly listbox = viewChild(Listbox); + readonly combobox = viewChild(Combobox); + + popupExpanded = signal(false); + query = signal(''); + selectedOption = signal([]); + + countries = computed(() => + ALL_COUNTRIES.filter((country) => country.toLowerCase().startsWith(this.query().toLowerCase())), + ); + + constructor() { + afterRenderEffect(() => { + if (this.combobox()?.expanded() === true) { + this.listbox()?.scrollActiveItemIntoView(); + } + }); + } + + onCommit() { + const selected = this.selectedOption(); + if (selected.length > 0) { + this.query.set(selected[0]); + } + this.popupExpanded.set(false); + } +} + +const ALL_COUNTRIES = [ + 'Afghanistan', + 'Albania', + 'Algeria', + 'Andorra', + 'Angola', + 'Antigua and Barbuda', + 'Argentina', + 'Armenia', + 'Australia', + 'Austria', + 'Azerbaijan', + 'Bahamas', + 'Bahrain', + 'Bangladesh', + 'Barbados', + 'Belarus', + 'Belgium', + 'Belize', + 'Benin', + 'Bhutan', + 'Bolivia', + 'Bosnia and Herzegovina', + 'Botswana', + 'Brazil', + 'Brunei', + 'Bulgaria', + 'Burkina Faso', + 'Burundi', + 'Cabo Verde', + 'Cambodia', + 'Cameroon', + 'Canada', + 'Central African Republic', + 'Chad', + 'Chile', + 'China', + 'Colombia', + 'Comoros', + 'Congo (Congo-Brazzaville)', + 'Costa Rica', + "Côte d'Ivoire", + 'Croatia', + 'Cuba', + 'Cyprus', + 'Czechia (Czech Republic)', + 'Democratic Republic of the Congo', + 'Denmark', + 'Djibouti', + 'Dominica', + 'Dominican Republic', + 'Ecuador', + 'Egypt', + 'El Salvador', + 'Equatorial Guinea', + 'Eritrea', + 'Estonia', + 'Eswatini (fmr. "Swaziland")', + 'Ethiopia', + 'Fiji', + 'Finland', + 'France', + 'Gabon', + 'Gambia', + 'Georgia', + 'Germany', + 'Ghana', + 'Greece', + 'Grenada', + 'Guatemala', + 'Guinea', + 'Guinea-Bissau', + 'Guyana', + 'Haiti', + 'Holy See', + 'Honduras', + 'Hungary', + 'Iceland', + 'India', + 'Indonesia', + 'Iran', + 'Iraq', + 'Ireland', + 'Israel', + 'Italy', + 'Jamaica', + 'Japan', + 'Jordan', + 'Kazakhstan', + 'Kenya', + 'Kiribati', + 'Kuwait', + 'Kyrgyzstan', + 'Laos', + 'Latvia', + 'Lebanon', + 'Lesotho', + 'Liberia', + 'Libya', + 'Liechtenstein', + 'Lithuania', + 'Luxembourg', + 'Madagascar', + 'Malawi', + 'Malaysia', + 'Maldives', + 'Mali', + 'Malta', + 'Marshall Islands', + 'Mauritania', + 'Mauritius', + 'Mexico', + 'Micronesia', + 'Moldova', + 'Monaco', + 'Mongolia', + 'Montenegro', + 'Morocco', + 'Mozambique', + 'Myanmar (formerly Burma)', + 'Namibia', + 'Nauru', + 'Nepal', + 'Netherlands', + 'New Zealand', + 'Nicaragua', + 'Niger', + 'Nigeria', + 'North Korea', + 'North Macedonia', + 'Norway', + 'Oman', + 'Pakistan', + 'Palau', + 'Palestine State', + 'Panama', + 'Papua New Guinea', + 'Paraguay', + 'Peru', + 'Philippines', + 'Poland', + 'Portugal', + 'Qatar', + 'Romania', + 'Russia', + 'Rwanda', + 'Saint Kitts and Nevis', + 'Saint Lucia', + 'Saint Vincent and the Grenadines', + 'Samoa', + 'San Marino', + 'Sao Tome and Principe', + 'Saudi Arabia', + 'Senegal', + 'Serbia', + 'Seychelles', + 'Sierra Leone', + 'Singapore', + 'Slovakia', + 'Slovenia', + 'Solomon Islands', + 'Somalia', + 'South Africa', + 'South Korea', + 'South Sudan', + 'Spain', + 'Sri Lanka', + 'Sudan', + 'Suriname', + 'Sweden', + 'Switzerland', + 'Syria', + 'Tajikistan', + 'Tanzania', + 'Thailand', + 'Timor-Leste', + 'Togo', + 'Tonga', + 'Trinidad and Tobago', + 'Tunisia', + 'Turkey', + 'Turkmenistan', + 'Tuvalu', + 'Uganda', + 'Ukraine', + 'United Arab Emirates', + 'United Kingdom', + 'United States of America', + 'Uruguay', + 'Uzbekistan', + 'Vanuatu', + 'Venezuela', + 'Vietnam', + 'Yemen', + 'Zambia', + 'Zimbabwe', +]; diff --git a/adev/src/content/examples/aria/autocomplete/src/manual/material/app/app.css b/adev/src/content/examples/aria/autocomplete/src/manual/material/app/app.css new file mode 100644 index 000000000000..00237755e978 --- /dev/null +++ b/adev/src/content/examples/aria/autocomplete/src/manual/material/app/app.css @@ -0,0 +1,114 @@ +@import url('https://fonts.googleapis.com/icon?family=Material+Symbols+Outlined'); + +:host { + display: flex; + justify-content: center; + font-family: var(--inter-font); + --primary: var(--hot-pink); +} + +.autocomplete-container { + display: flex; + flex-direction: column; + position: relative; +} + +.material-autocomplete { + display: flex; + position: relative; + align-items: center; +} + +.material-symbols-outlined { + font-size: 1.25rem; + pointer-events: none; +} + +.search-icon { + left: 0.75rem; + position: absolute; + color: var(--quaternary-contrast); +} + +.autocomplete-input { + width: 13rem; + font-size: 1rem; + border-radius: 3rem; + padding: 0.75rem 0.5rem 0.75rem 2.5rem; + color: var(--primary-contrast); + outline: none; + border: 1px solid var(--quinary-contrast); + background-color: var(--page-background); +} + +.autocomplete-input:focus-visible { + border-color: var(--primary); + box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary) 20%, transparent); +} + +.autocomplete-input::placeholder { + color: var(--quaternary-contrast); +} + +.popup { + width: 100%; + margin-top: 8px; + padding: 0.5rem; + max-height: 11rem; + border-radius: 2rem; + background-color: var(--septenary-contrast); + font-size: 0.9rem; + box-shadow: + 0 4px 6px -1px rgba(0, 0, 0, 0.1), + 0 2px 4px -1px rgba(0, 0, 0, 0.06); +} + +.no-results { + padding: 1rem; +} + +.listbox { + gap: 2px; + height: 100%; + display: flex; + overflow: auto; + flex-direction: column; + outline: none; +} + +.option { + display: flex; + cursor: pointer; + align-items: center; + margin: 1px; + padding: 0 1rem; + min-height: 3rem; + border-radius: 3rem; + outline: none; +} + +.option:hover { + background-color: color-mix(in srgb, var(--primary-contrast) 5%, transparent); +} + +.option[data-active='true'] { + outline-offset: -2px; + outline: 2px solid var(--primary); +} + +.option[aria-selected='true'] { + color: var(--primary); + background-color: color-mix(in srgb, var(--primary) 10%, transparent); +} + +.option:not([aria-selected='true']) .check-icon { + display: none; +} + +.option-label { + flex: 1; +} + +.check-icon { + font-size: 0.9rem; +} diff --git a/adev/src/content/examples/aria/autocomplete/src/manual/material/app/app.html b/adev/src/content/examples/aria/autocomplete/src/manual/material/app/app.html new file mode 100644 index 000000000000..bebc39187fc8 --- /dev/null +++ b/adev/src/content/examples/aria/autocomplete/src/manual/material/app/app.html @@ -0,0 +1,55 @@ +
    +
    + + +
    + +
    + {{ countries().length === 0 ? 'No results found for ' + query() : '' }} +
    + + + + + + +
    diff --git a/adev/src/content/examples/aria/autocomplete/src/manual/material/app/app.ts b/adev/src/content/examples/aria/autocomplete/src/manual/material/app/app.ts new file mode 100644 index 000000000000..79d043ae3a8b --- /dev/null +++ b/adev/src/content/examples/aria/autocomplete/src/manual/material/app/app.ts @@ -0,0 +1,238 @@ +import {Combobox, ComboboxPopup, ComboboxWidget} from '@angular/aria/combobox'; +import {Listbox, Option} from '@angular/aria/listbox'; +import {OverlayModule} from '@angular/cdk/overlay'; +import {afterRenderEffect, Component, computed, signal, viewChild} from '@angular/core'; +import {FormsModule} from '@angular/forms'; + +@Component({ + selector: 'app-root[theme="manual-material"]', + templateUrl: 'app.html', + styleUrl: 'app.css', + imports: [Combobox, ComboboxPopup, ComboboxWidget, Listbox, Option, OverlayModule, FormsModule], +}) +export class App { + readonly listbox = viewChild(Listbox); + readonly combobox = viewChild(Combobox); + + popupExpanded = signal(false); + query = signal(''); + selectedOption = signal([]); + + countries = computed(() => + ALL_COUNTRIES.filter((country) => country.toLowerCase().startsWith(this.query().toLowerCase())), + ); + + constructor() { + afterRenderEffect(() => { + if (this.combobox()?.expanded() === true) { + this.listbox()?.scrollActiveItemIntoView(); + } + }); + } + + onCommit() { + const selected = this.selectedOption(); + if (selected.length > 0) { + this.query.set(selected[0]); + } + this.popupExpanded.set(false); + } +} + +const ALL_COUNTRIES = [ + 'Afghanistan', + 'Albania', + 'Algeria', + 'Andorra', + 'Angola', + 'Antigua and Barbuda', + 'Argentina', + 'Armenia', + 'Australia', + 'Austria', + 'Azerbaijan', + 'Bahamas', + 'Bahrain', + 'Bangladesh', + 'Barbados', + 'Belarus', + 'Belgium', + 'Belize', + 'Benin', + 'Bhutan', + 'Bolivia', + 'Bosnia and Herzegovina', + 'Botswana', + 'Brazil', + 'Brunei', + 'Bulgaria', + 'Burkina Faso', + 'Burundi', + 'Cabo Verde', + 'Cambodia', + 'Cameroon', + 'Canada', + 'Central African Republic', + 'Chad', + 'Chile', + 'China', + 'Colombia', + 'Comoros', + 'Congo (Congo-Brazzaville)', + 'Costa Rica', + "Côte d'Ivoire", + 'Croatia', + 'Cuba', + 'Cyprus', + 'Czechia (Czech Republic)', + 'Democratic Republic of the Congo', + 'Denmark', + 'Djibouti', + 'Dominica', + 'Dominican Republic', + 'Ecuador', + 'Egypt', + 'El Salvador', + 'Equatorial Guinea', + 'Eritrea', + 'Estonia', + 'Eswatini (fmr. "Swaziland")', + 'Ethiopia', + 'Fiji', + 'Finland', + 'France', + 'Gabon', + 'Gambia', + 'Georgia', + 'Germany', + 'Ghana', + 'Greece', + 'Grenada', + 'Guatemala', + 'Guinea', + 'Guinea-Bissau', + 'Guyana', + 'Haiti', + 'Holy See', + 'Honduras', + 'Hungary', + 'Iceland', + 'India', + 'Indonesia', + 'Iran', + 'Iraq', + 'Ireland', + 'Israel', + 'Italy', + 'Jamaica', + 'Japan', + 'Jordan', + 'Kazakhstan', + 'Kenya', + 'Kiribati', + 'Kuwait', + 'Kyrgyzstan', + 'Laos', + 'Latvia', + 'Lebanon', + 'Lesotho', + 'Liberia', + 'Libya', + 'Liechtenstein', + 'Lithuania', + 'Luxembourg', + 'Madagascar', + 'Malawi', + 'Malaysia', + 'Maldives', + 'Mali', + 'Malta', + 'Marshall Islands', + 'Mauritania', + 'Mauritius', + 'Mexico', + 'Micronesia', + 'Moldova', + 'Monaco', + 'Mongolia', + 'Montenegro', + 'Morocco', + 'Mozambique', + 'Myanmar (formerly Burma)', + 'Namibia', + 'Nauru', + 'Nepal', + 'Netherlands', + 'New Zealand', + 'Nicaragua', + 'Niger', + 'Nigeria', + 'North Korea', + 'North Macedonia', + 'Norway', + 'Oman', + 'Pakistan', + 'Palau', + 'Palestine State', + 'Panama', + 'Papua New Guinea', + 'Paraguay', + 'Peru', + 'Philippines', + 'Poland', + 'Portugal', + 'Qatar', + 'Romania', + 'Russia', + 'Rwanda', + 'Saint Kitts and Nevis', + 'Saint Lucia', + 'Saint Vincent and the Grenadines', + 'Samoa', + 'San Marino', + 'Sao Tome and Principe', + 'Saudi Arabia', + 'Senegal', + 'Serbia', + 'Seychelles', + 'Sierra Leone', + 'Singapore', + 'Slovakia', + 'Slovenia', + 'Solomon Islands', + 'Somalia', + 'South Africa', + 'South Korea', + 'South Sudan', + 'Spain', + 'Sri Lanka', + 'Sudan', + 'Suriname', + 'Sweden', + 'Switzerland', + 'Syria', + 'Tajikistan', + 'Tanzania', + 'Thailand', + 'Timor-Leste', + 'Togo', + 'Tonga', + 'Trinidad and Tobago', + 'Tunisia', + 'Turkey', + 'Turkmenistan', + 'Tuvalu', + 'Uganda', + 'Ukraine', + 'United Arab Emirates', + 'United Kingdom', + 'United States of America', + 'Uruguay', + 'Uzbekistan', + 'Vanuatu', + 'Venezuela', + 'Vietnam', + 'Yemen', + 'Zambia', + 'Zimbabwe', +]; diff --git a/adev/src/content/examples/aria/autocomplete/src/manual/retro/app/app.css b/adev/src/content/examples/aria/autocomplete/src/manual/retro/app/app.css new file mode 100644 index 000000000000..429091936775 --- /dev/null +++ b/adev/src/content/examples/aria/autocomplete/src/manual/retro/app/app.css @@ -0,0 +1,135 @@ +@import url('https://fonts.googleapis.com/icon?family=Material+Symbols+Outlined'); +@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap'); + +:host { + display: flex; + justify-content: center; + font-size: 0.6rem; + font-family: 'Press Start 2P'; + + --retro-button-color: #fff; + --retro-shadow-light: color-mix(in srgb, var(--retro-button-color) 90%, #fff); + --retro-shadow-dark: color-mix(in srgb, var(--retro-button-color) 90%, #000); + --retro-elevated-shadow: + inset 4px 4px 0px 0px var(--retro-shadow-light), + inset -4px -4px 0px 0px var(--retro-shadow-dark), 4px 0px 0px 0px var(--tertiary-contrast), + 0px 4px 0px 0px var(--tertiary-contrast), -4px 0px 0px 0px var(--tertiary-contrast), + 0px -4px 0px 0px var(--tertiary-contrast); + --retro-flat-shadow: + 4px 0px 0px 0px var(--tertiary-contrast), 0px 4px 0px 0px var(--tertiary-contrast), + -4px 0px 0px 0px var(--tertiary-contrast), 0px -4px 0px 0px var(--tertiary-contrast); + --retro-pressed-shadow: + inset 4px 4px 0px 0px var(--retro-shadow-dark), + inset -4px -4px 0px 0px var(--retro-shadow-light), 4px 0px 0px 0px var(--tertiary-contrast), + 0px 4px 0px 0px var(--tertiary-contrast), -4px 0px 0px 0px var(--tertiary-contrast), + 0px -4px 0px 0px var(--tertiary-contrast), 0px 0px 0px 0px var(--tertiary-contrast); +} + +.autocomplete-container { + display: flex; + flex-direction: column; + position: relative; +} + +.retro-autocomplete { + display: flex; + position: relative; + align-items: center; +} + +.material-symbols-outlined { + font-size: 1.25rem; + pointer-events: none; +} + +.search-icon { + left: 0.75rem; + position: absolute; + color: #000; + z-index: 1; +} + +.autocomplete-input { + width: 15rem; + font-size: 0.6rem; + border-radius: 0; + font-family: 'Press Start 2P'; + word-spacing: -5px; + padding: 0.75rem 0.5rem 0.75rem 2.5rem; + color: #000; + border: none; + box-shadow: var(--retro-flat-shadow); + background-color: var(--retro-button-color); + outline: none; +} + +.autocomplete-input:focus-visible { + outline: none; + transform: translate(1px, 1px); + box-shadow: var(--retro-pressed-shadow); +} + +.autocomplete-input::placeholder { + color: #000; + opacity: 0.7; +} + +.popup { + width: 100%; + margin-top: 20px; + padding: 0.5rem; + max-height: 11rem; + border-radius: 0; + background-color: var(--septenary-contrast); + box-shadow: var(--retro-flat-shadow); +} + +.no-results { + padding: 1rem; +} + +.listbox { + gap: 2px; + height: 100%; + display: flex; + overflow: auto; + flex-direction: column; + outline: none; +} + +.option { + display: flex; + cursor: pointer; + align-items: center; + margin: 1px; + padding: 0 1rem; + min-height: 2.25rem; + border-radius: 0; + outline: none; +} + +.option:hover { + background-color: color-mix(in srgb, var(--primary-contrast) 5%, transparent); +} + +.option[data-active='true'] { + outline-offset: -2px; + outline: 2px dashed var(--hot-pink); +} + +.option[aria-selected='true'] { + color: var(--hot-pink); + background-color: color-mix(in srgb, var(--hot-pink) 5%, transparent); +} + +.option:not([aria-selected='true']) .check-icon { + display: none; +} + +.option-label { + flex: 1; +} + +.check-icon { + font-size: 0.9rem; +} diff --git a/adev/src/content/examples/aria/autocomplete/src/manual/retro/app/app.html b/adev/src/content/examples/aria/autocomplete/src/manual/retro/app/app.html new file mode 100644 index 000000000000..2db970ae6457 --- /dev/null +++ b/adev/src/content/examples/aria/autocomplete/src/manual/retro/app/app.html @@ -0,0 +1,55 @@ +
    +
    + + +
    + +
    + {{ countries().length === 0 ? 'No results found for ' + query() : '' }} +
    + + + + + + +
    diff --git a/adev/src/content/examples/aria/autocomplete/src/manual/retro/app/app.ts b/adev/src/content/examples/aria/autocomplete/src/manual/retro/app/app.ts new file mode 100644 index 000000000000..d766b47203ba --- /dev/null +++ b/adev/src/content/examples/aria/autocomplete/src/manual/retro/app/app.ts @@ -0,0 +1,238 @@ +import {Combobox, ComboboxPopup, ComboboxWidget} from '@angular/aria/combobox'; +import {Listbox, Option} from '@angular/aria/listbox'; +import {OverlayModule} from '@angular/cdk/overlay'; +import {afterRenderEffect, Component, computed, signal, viewChild} from '@angular/core'; +import {FormsModule} from '@angular/forms'; + +@Component({ + selector: 'app-root[theme="manual-retro"]', + templateUrl: 'app.html', + styleUrl: 'app.css', + imports: [Combobox, ComboboxPopup, ComboboxWidget, Listbox, Option, OverlayModule, FormsModule], +}) +export class App { + readonly listbox = viewChild(Listbox); + readonly combobox = viewChild(Combobox); + + popupExpanded = signal(false); + query = signal(''); + selectedOption = signal([]); + + countries = computed(() => + ALL_COUNTRIES.filter((country) => country.toLowerCase().startsWith(this.query().toLowerCase())), + ); + + constructor() { + afterRenderEffect(() => { + if (this.combobox()?.expanded() === true) { + this.listbox()?.scrollActiveItemIntoView(); + } + }); + } + + onCommit() { + const selected = this.selectedOption(); + if (selected.length > 0) { + this.query.set(selected[0]); + } + this.popupExpanded.set(false); + } +} + +const ALL_COUNTRIES = [ + 'Afghanistan', + 'Albania', + 'Algeria', + 'Andorra', + 'Angola', + 'Antigua and Barbuda', + 'Argentina', + 'Armenia', + 'Australia', + 'Austria', + 'Azerbaijan', + 'Bahamas', + 'Bahrain', + 'Bangladesh', + 'Barbados', + 'Belarus', + 'Belgium', + 'Belize', + 'Benin', + 'Bhutan', + 'Bolivia', + 'Bosnia and Herzegovina', + 'Botswana', + 'Brazil', + 'Brunei', + 'Bulgaria', + 'Burkina Faso', + 'Burundi', + 'Cabo Verde', + 'Cambodia', + 'Cameroon', + 'Canada', + 'Central African Republic', + 'Chad', + 'Chile', + 'China', + 'Colombia', + 'Comoros', + 'Congo (Congo-Brazzaville)', + 'Costa Rica', + "Côte d'Ivoire", + 'Croatia', + 'Cuba', + 'Cyprus', + 'Czechia (Czech Republic)', + 'Democratic Republic of the Congo', + 'Denmark', + 'Djibouti', + 'Dominica', + 'Dominican Republic', + 'Ecuador', + 'Egypt', + 'El Salvador', + 'Equatorial Guinea', + 'Eritrea', + 'Estonia', + 'Eswatini (fmr. "Swaziland")', + 'Ethiopia', + 'Fiji', + 'Finland', + 'France', + 'Gabon', + 'Gambia', + 'Georgia', + 'Germany', + 'Ghana', + 'Greece', + 'Grenada', + 'Guatemala', + 'Guinea', + 'Guinea-Bissau', + 'Guyana', + 'Haiti', + 'Holy See', + 'Honduras', + 'Hungary', + 'Iceland', + 'India', + 'Indonesia', + 'Iran', + 'Iraq', + 'Ireland', + 'Israel', + 'Italy', + 'Jamaica', + 'Japan', + 'Jordan', + 'Kazakhstan', + 'Kenya', + 'Kiribati', + 'Kuwait', + 'Kyrgyzstan', + 'Laos', + 'Latvia', + 'Lebanon', + 'Lesotho', + 'Liberia', + 'Libya', + 'Liechtenstein', + 'Lithuania', + 'Luxembourg', + 'Madagascar', + 'Malawi', + 'Malaysia', + 'Maldives', + 'Mali', + 'Malta', + 'Marshall Islands', + 'Mauritania', + 'Mauritius', + 'Mexico', + 'Micronesia', + 'Moldova', + 'Monaco', + 'Mongolia', + 'Montenegro', + 'Morocco', + 'Mozambique', + 'Myanmar (formerly Burma)', + 'Namibia', + 'Nauru', + 'Nepal', + 'Netherlands', + 'New Zealand', + 'Nicaragua', + 'Niger', + 'Nigeria', + 'North Korea', + 'North Macedonia', + 'Norway', + 'Oman', + 'Pakistan', + 'Palau', + 'Palestine State', + 'Panama', + 'Papua New Guinea', + 'Paraguay', + 'Peru', + 'Philippines', + 'Poland', + 'Portugal', + 'Qatar', + 'Romania', + 'Russia', + 'Rwanda', + 'Saint Kitts and Nevis', + 'Saint Lucia', + 'Saint Vincent and the Grenadines', + 'Samoa', + 'San Marino', + 'Sao Tome and Principe', + 'Saudi Arabia', + 'Senegal', + 'Serbia', + 'Seychelles', + 'Sierra Leone', + 'Singapore', + 'Slovakia', + 'Slovenia', + 'Solomon Islands', + 'Somalia', + 'South Africa', + 'South Korea', + 'South Sudan', + 'Spain', + 'Sri Lanka', + 'Sudan', + 'Suriname', + 'Sweden', + 'Switzerland', + 'Syria', + 'Tajikistan', + 'Tanzania', + 'Thailand', + 'Timor-Leste', + 'Togo', + 'Tonga', + 'Trinidad and Tobago', + 'Tunisia', + 'Turkey', + 'Turkmenistan', + 'Tuvalu', + 'Uganda', + 'Ukraine', + 'United Arab Emirates', + 'United Kingdom', + 'United States of America', + 'Uruguay', + 'Uzbekistan', + 'Vanuatu', + 'Venezuela', + 'Vietnam', + 'Yemen', + 'Zambia', + 'Zimbabwe', +]; From 159d33aa37a439ffcd2f0b1363ca7b464cf4d720 Mon Sep 17 00:00:00 2001 From: Matthieu Riegler Date: Thu, 21 May 2026 02:07:50 +0200 Subject: [PATCH 129/317] refactor(core): extend sanitization test coverage This ensures that #68576 actually fixed a sanitization issue on uppercase elements/attributes (cherry picked from commit e5f3b9def8b13944f0c9c70e55f87621c3f59968) --- .../core/test/render3/integration_spec.ts | 46 ++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/packages/core/test/render3/integration_spec.ts b/packages/core/test/render3/integration_spec.ts index 4ad749ab7a5f..2a405c55a2de 100644 --- a/packages/core/test/render3/integration_spec.ts +++ b/packages/core/test/render3/integration_spec.ts @@ -18,8 +18,8 @@ import {TestBed} from '../../testing'; import {getLContext, readPatchedData} from '../../src/render3/context_discovery'; import {CONTEXT, HEADER_OFFSET} from '../../src/render3/interfaces/view'; -import {Sanitizer} from '../../src/sanitization/sanitizer'; import {SecurityContext} from '../../src/sanitization/dom_security_schema'; +import {Sanitizer} from '../../src/sanitization/sanitizer'; describe('element discovery', () => { it('should only monkey-patch immediate child nodes in a component', () => { @@ -691,6 +691,50 @@ describe('sanitization', () => { const fixture = TestBed.createComponent(TestComp); expect(() => fixture.detectChanges()).not.toThrow(); }); + + it('should throw on uppercase iframe element', () => { + @Directive({ + selector: '[unsafeUrlHostBindingDir]', + host: { + '[attr.src]': '"http://src-dir-value"', + }, + }) + class UnsafeUrlHostBindingDir {} + + @Component({ + imports: [UnsafeUrlHostBindingDir], + template: ` `, + changeDetection: ChangeDetectionStrategy.Eager, + }) + class SimpleComp {} + + const fixture = TestBed.createComponent(SimpleComp); + expect(() => fixture.detectChanges()).toThrowError( + /NG0904: unsafe value used in a resource URL/, + ); + }); + + it('should throw on uppercase SRC attribute on iframe element', () => { + @Directive({ + selector: '[unsafeUrlHostBindingDir]', + host: { + '[attr.SRC]': '"http://src-dir-value"', + }, + }) + class UnsafeUrlHostBindingDir {} + + @Component({ + imports: [UnsafeUrlHostBindingDir], + template: ` `, + changeDetection: ChangeDetectionStrategy.Eager, + }) + class SimpleComp {} + + const fixture = TestBed.createComponent(SimpleComp); + expect(() => fixture.detectChanges()).toThrowError( + /NG0904: unsafe value used in a resource URL/, + ); + }); }); class LocalSanitizedValue { From a97d5ec22d8997665dc2de3d5a78f6e2bac67afd Mon Sep 17 00:00:00 2001 From: Alan Agius <17563226+alan-agius4@users.noreply.github.com> Date: Thu, 21 May 2026 14:30:39 +0000 Subject: [PATCH 130/317] build: update minimum supported Node.js versions Update the minimum supported Node.js versions for v22 and v24. Specifically, the minimum supported version for Node.js v22 is bumped to v22.22.3, and for v24 it is bumped to v24.15.0. This ensures compatibility with newer runtime versions and coordinates ranges across monorepo packages. (cherry picked from commit 861d37e6696c8fcdbf8f67900e009b1c66fd1f82) --- adev/src/content/reference/versions.md | 2 +- packages/animations/package.json | 2 +- packages/common/package.json | 2 +- packages/compiler-cli/package.json | 2 +- packages/compiler/package.json | 2 +- packages/core/package.json | 2 +- packages/elements/package.json | 2 +- packages/forms/package.json | 2 +- packages/language-service/package.json | 2 +- packages/localize/package.json | 2 +- packages/platform-browser-dynamic/package.json | 2 +- packages/platform-browser/package.json | 2 +- packages/platform-server/package.json | 2 +- packages/router/package.json | 2 +- packages/service-worker/package.json | 2 +- packages/upgrade/package.json | 2 +- vscode-ng-language-service/server/package.json | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/adev/src/content/reference/versions.md b/adev/src/content/reference/versions.md index 8cbb134002b5..1ae7ac8ba91c 100644 --- a/adev/src/content/reference/versions.md +++ b/adev/src/content/reference/versions.md @@ -9,7 +9,7 @@ This table covers [Angular versions under active support](reference/releases#act | Angular | Node.js | TypeScript | RxJS | | ------------------------------ | ----------------------------------- | -------------- | ------------------ | -| 22.0.x | ^22.22.0 \|\| ^24.13.1 \|\| ^26.0.0 | >=6.0.0 <6.1.0 | ^6.5.3 \|\| ^7.4.0 | +| 22.0.x | ^22.22.3 \|\| ^24.15.0 \|\| ^26.0.0 | >=6.0.0 <6.1.0 | ^6.5.3 \|\| ^7.4.0 | | 21.0.x \|\| 21.1.x \|\| 21.2.x | ^20.19.0 \|\| ^22.12.0 \|\| ^24.0.0 | >=5.9.0 <6.0.0 | ^6.5.3 \|\| ^7.4.0 | | 20.2.x \|\| 20.3.x | ^20.19.0 \|\| ^22.12.0 \|\| ^24.0.0 | >=5.8.0 <6.0.0 | ^6.5.3 \|\| ^7.4.0 | | 20.0.x \|\| 20.1.x | ^20.19.0 \|\| ^22.12.0 \|\| ^24.0.0 | >=5.8.0 <5.9.0 | ^6.5.3 \|\| ^7.4.0 | diff --git a/packages/animations/package.json b/packages/animations/package.json index 8cfcedb842a0..988370b3b985 100644 --- a/packages/animations/package.json +++ b/packages/animations/package.json @@ -5,7 +5,7 @@ "author": "angular", "license": "MIT", "engines": { - "node": "^22.22.0 || ^24.13.1 || >=26.0.0" + "node": "^22.22.3 || ^24.15.0 || >=26.0.0" }, "dependencies": { "tslib": "^2.3.0" diff --git a/packages/common/package.json b/packages/common/package.json index f308b1dbc36b..6f9ea73f93ac 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -5,7 +5,7 @@ "author": "angular", "license": "MIT", "engines": { - "node": "^22.22.0 || ^24.13.1 || >=26.0.0" + "node": "^22.22.3 || ^24.15.0 || >=26.0.0" }, "locales": "locales", "dependencies": { diff --git a/packages/compiler-cli/package.json b/packages/compiler-cli/package.json index fe4edc70d44f..b0955d8b71a4 100644 --- a/packages/compiler-cli/package.json +++ b/packages/compiler-cli/package.json @@ -63,7 +63,7 @@ ], "license": "MIT", "engines": { - "node": "^22.22.0 || ^24.13.1 || >=26.0.0" + "node": "^22.22.3 || ^24.15.0 || >=26.0.0" }, "bugs": { "url": "https://github.com/angular/angular/issues" diff --git a/packages/compiler/package.json b/packages/compiler/package.json index 5a97b762dc4a..b9e21733ed54 100644 --- a/packages/compiler/package.json +++ b/packages/compiler/package.json @@ -5,7 +5,7 @@ "author": "angular", "license": "MIT", "engines": { - "node": "^22.22.0 || ^24.13.1 || >=26.0.0" + "node": "^22.22.3 || ^24.15.0 || >=26.0.0" }, "dependencies": { "tslib": "^2.3.0" diff --git a/packages/core/package.json b/packages/core/package.json index 720828b065b4..d199e8fb3b15 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -5,7 +5,7 @@ "author": "angular", "license": "MIT", "engines": { - "node": "^22.22.0 || ^24.13.1 || >=26.0.0" + "node": "^22.22.3 || ^24.15.0 || >=26.0.0" }, "exports": { "./schematics/*": { diff --git a/packages/elements/package.json b/packages/elements/package.json index da43d3d41520..2e2a607a7cc3 100644 --- a/packages/elements/package.json +++ b/packages/elements/package.json @@ -5,7 +5,7 @@ "author": "angular", "license": "MIT", "engines": { - "node": "^22.22.0 || ^24.13.1 || >=26.0.0" + "node": "^22.22.3 || ^24.15.0 || >=26.0.0" }, "dependencies": { "tslib": "^2.3.0" diff --git a/packages/forms/package.json b/packages/forms/package.json index 8828429824dc..9e096f3ce583 100644 --- a/packages/forms/package.json +++ b/packages/forms/package.json @@ -5,7 +5,7 @@ "author": "angular", "license": "MIT", "engines": { - "node": "^22.22.0 || ^24.13.1 || >=26.0.0" + "node": "^22.22.3 || ^24.15.0 || >=26.0.0" }, "dependencies": { "tslib": "^2.3.0", diff --git a/packages/language-service/package.json b/packages/language-service/package.json index 343228c2b0d2..f0741bcb9243 100644 --- a/packages/language-service/package.json +++ b/packages/language-service/package.json @@ -7,7 +7,7 @@ "author": "angular", "license": "MIT", "engines": { - "node": "^22.22.0 || ^24.13.1 || >=26.0.0" + "node": "^22.22.3 || ^24.15.0 || >=26.0.0" }, "exports": { ".": { diff --git a/packages/localize/package.json b/packages/localize/package.json index b8f36cad6ba8..7f5a020713ee 100644 --- a/packages/localize/package.json +++ b/packages/localize/package.json @@ -16,7 +16,7 @@ "author": "angular", "license": "MIT", "engines": { - "node": "^22.22.0 || ^24.13.1 || >=26.0.0" + "node": "^22.22.3 || ^24.15.0 || >=26.0.0" }, "repository": { "type": "git", diff --git a/packages/platform-browser-dynamic/package.json b/packages/platform-browser-dynamic/package.json index 0b50e6099705..463a4df6c01d 100644 --- a/packages/platform-browser-dynamic/package.json +++ b/packages/platform-browser-dynamic/package.json @@ -5,7 +5,7 @@ "author": "angular", "license": "MIT", "engines": { - "node": "^22.22.0 || ^24.13.1 || >=26.0.0" + "node": "^22.22.3 || ^24.15.0 || >=26.0.0" }, "dependencies": { "tslib": "^2.3.0" diff --git a/packages/platform-browser/package.json b/packages/platform-browser/package.json index 04ab190c22c3..886ba5373863 100644 --- a/packages/platform-browser/package.json +++ b/packages/platform-browser/package.json @@ -5,7 +5,7 @@ "author": "angular", "license": "MIT", "engines": { - "node": "^22.22.0 || ^24.13.1 || >=26.0.0" + "node": "^22.22.3 || ^24.15.0 || >=26.0.0" }, "dependencies": { "tslib": "^2.3.0" diff --git a/packages/platform-server/package.json b/packages/platform-server/package.json index 0c8fe096ec8b..6c05cfcf1fe9 100644 --- a/packages/platform-server/package.json +++ b/packages/platform-server/package.json @@ -5,7 +5,7 @@ "author": "angular", "license": "MIT", "engines": { - "node": "^22.22.0 || ^24.13.1 || >=26.0.0" + "node": "^22.22.3 || ^24.15.0 || >=26.0.0" }, "peerDependencies": { "@angular/common": "0.0.0-PLACEHOLDER", diff --git a/packages/router/package.json b/packages/router/package.json index 39bad39f3b7a..1d0fce281eba 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -14,7 +14,7 @@ "author": "angular", "license": "MIT", "engines": { - "node": "^22.22.0 || ^24.13.1 || >=26.0.0" + "node": "^22.22.3 || ^24.15.0 || >=26.0.0" }, "bugs": { "url": "https://github.com/angular/angular/issues" diff --git a/packages/service-worker/package.json b/packages/service-worker/package.json index 6f040d220df3..ec608841fe2b 100644 --- a/packages/service-worker/package.json +++ b/packages/service-worker/package.json @@ -5,7 +5,7 @@ "author": "angular", "license": "MIT", "engines": { - "node": "^22.22.0 || ^24.13.1 || >=26.0.0" + "node": "^22.22.3 || ^24.15.0 || >=26.0.0" }, "exports": { "./ngsw-worker.js": { diff --git a/packages/upgrade/package.json b/packages/upgrade/package.json index 36c5458ccd8f..7a1ca28dd5c6 100644 --- a/packages/upgrade/package.json +++ b/packages/upgrade/package.json @@ -5,7 +5,7 @@ "author": "angular", "license": "MIT", "engines": { - "node": "^22.22.0 || ^24.13.1 || >=26.0.0" + "node": "^22.22.3 || ^24.15.0 || >=26.0.0" }, "dependencies": { "tslib": "^2.3.0" diff --git a/vscode-ng-language-service/server/package.json b/vscode-ng-language-service/server/package.json index 4a9fffe97bb3..d506a6efdd59 100644 --- a/vscode-ng-language-service/server/package.json +++ b/vscode-ng-language-service/server/package.json @@ -10,7 +10,7 @@ "author": "Angular", "license": "MIT", "engines": { - "node": "^22.22.0 || ^24.13.1 || >=26.0.0" + "node": "^22.22.3 || ^24.15.0 || >=26.0.0" }, "main": "../../dist/bin/vscode-ng-language-service/server/src/server.js", "bin": { From 6ff620a03364d6ab60cea47de942a04ec5a26c50 Mon Sep 17 00:00:00 2001 From: Alan Agius <17563226+alan-agius4@users.noreply.github.com> Date: Thu, 21 May 2026 18:49:56 +0000 Subject: [PATCH 131/317] fix(compiler): sanitize dynamic href and xlink:href bindings on SVG a elements (#68868) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Dynamic bindings to `href` and `xlink:href` attributes on SVG `` elements (``) were previously unmapped in the DOM security schema. As a result, they bypassed sanitization completely, creating a potential XSS vulnerability if bound to untrusted user inputs (e.g., `javascript:` URLs). This fix mitigates this risk by: 1. Registering `href` and `xlink:href` on `` elements under the `SecurityContext.URL` context in both the compiler and core DOM security schemas. 2. Enabling template compilation to output runtime URL sanitization checks (`ɵɵsanitizeUrl`) on these attributes. 3. Adding regression and verification test cases to ensure dynamic SVG link bindings are safely sanitized at runtime while static values are correctly allowed. PR Close #68868 --- .../src/schema/dom_security_schema.ts | 2 + .../dom_element_schema_registry_spec.ts | 6 +++ .../src/sanitization/dom_security_schema.ts | 2 + .../core/test/acceptance/security_spec.ts | 54 +++++++++++++++++++ 4 files changed, 64 insertions(+) diff --git a/packages/compiler/src/schema/dom_security_schema.ts b/packages/compiler/src/schema/dom_security_schema.ts index 12a674b7021f..1acc4ede7df7 100644 --- a/packages/compiler/src/schema/dom_security_schema.ts +++ b/packages/compiler/src/schema/dom_security_schema.ts @@ -115,6 +115,8 @@ export function SECURITY_SCHEMA(): {[k: string]: SecurityContext} { ['object', ['codebase', 'data']], ]); + registerContext(SecurityContext.URL, SVG_NAMESPACE, [['a', ['href', 'xlink:href']]]); + // Keep this in sync with SECURITY_SENSITIVE_ELEMENTS in packages/core/src/sanitization/sanitization.ts // The `unknown` elements refer to cases when we need to validate the input/binding in a directive (host bindings) // and the directive can be applied to multiple different elements (with different tag names). In this case we generate diff --git a/packages/compiler/test/schema/dom_element_schema_registry_spec.ts b/packages/compiler/test/schema/dom_element_schema_registry_spec.ts index d11760732d41..203b9f700d8f 100644 --- a/packages/compiler/test/schema/dom_element_schema_registry_spec.ts +++ b/packages/compiler/test/schema/dom_element_schema_registry_spec.ts @@ -168,6 +168,12 @@ If 'onAnything' is a directive input, make sure the directive is imported by the expect(registry.securityContext(':svg:set', 'to', false)).toBe( SecurityContext.ATTRIBUTE_NO_BINDING, ); + + // SVG link attributes + expect(registry.securityContext(':svg:a', 'href', false)).toBe(SecurityContext.URL); + expect(registry.securityContext(':svg:a', 'xlink:href', false)).toBe(SecurityContext.URL); + expect(registry.securityContext(':svg:a', 'href', true)).toBe(SecurityContext.URL); + expect(registry.securityContext(':svg:a', 'xlink:href', true)).toBe(SecurityContext.URL); }); it('should detect properties on namespaced elements', () => { diff --git a/packages/core/src/sanitization/dom_security_schema.ts b/packages/core/src/sanitization/dom_security_schema.ts index 12a674b7021f..1acc4ede7df7 100644 --- a/packages/core/src/sanitization/dom_security_schema.ts +++ b/packages/core/src/sanitization/dom_security_schema.ts @@ -115,6 +115,8 @@ export function SECURITY_SCHEMA(): {[k: string]: SecurityContext} { ['object', ['codebase', 'data']], ]); + registerContext(SecurityContext.URL, SVG_NAMESPACE, [['a', ['href', 'xlink:href']]]); + // Keep this in sync with SECURITY_SENSITIVE_ELEMENTS in packages/core/src/sanitization/sanitization.ts // The `unknown` elements refer to cases when we need to validate the input/binding in a directive (host bindings) // and the directive can be applied to multiple different elements (with different tag names). In this case we generate diff --git a/packages/core/test/acceptance/security_spec.ts b/packages/core/test/acceptance/security_spec.ts index 4122b9aa40a4..8722b4b9c555 100644 --- a/packages/core/test/acceptance/security_spec.ts +++ b/packages/core/test/acceptance/security_spec.ts @@ -916,3 +916,57 @@ describe('SVG a').toEqual([['Text', 'a']]); }); @@ -925,6 +925,14 @@ describe('R3 template transform', () => { it('should ignore a').toEqual([['Text', 'a']]); }); + + it('should not ignore namespaced SVG ').toEqual([ + ['Element', ':svg:svg'], + ['Element', ':svg:style'], + ['Text', '.a { fill: none; }'], + ]); + }); }); describe('', () => { From 8f625e77bd981c8b12ce81bf3cefca3ae9aacf43 Mon Sep 17 00:00:00 2001 From: Kam Date: Thu, 28 May 2026 00:08:00 +0300 Subject: [PATCH 164/317] refactor(docs-infra): extract magic 27 in navigation-list tooltip threshold The matTooltip on navigation list items was disabled when the label was shorter than the literal `27`, repeated across four bindings in the template. Lift the value to a protected readonly field so the threshold has a name and lives in one place. (cherry picked from commit 34d577f697aa974b71e7985801967eeef354b388) --- .../navigation-list/navigation-list.component.html | 8 ++++---- .../navigation-list/navigation-list.component.ts | 2 ++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/adev/shared-docs/components/navigation-list/navigation-list.component.html b/adev/shared-docs/components/navigation-list/navigation-list.component.html index e37ae38ebf96..7e33f4b628a4 100644 --- a/adev/shared-docs/components/navigation-list/navigation-list.component.html +++ b/adev/shared-docs/components/navigation-list/navigation-list.component.html @@ -27,7 +27,7 @@ [href]="item.path" target="_blank" [matTooltip]="item.label" - [matTooltipDisabled]="itemLabel.length < 27" + [matTooltipDisabled]="itemLabel.length < labelTruncationThreshold" matTooltipPosition="after" [attr.aria-label]="item.label" [matTooltipClass]="'API-tooltip'" @@ -55,7 +55,7 @@ }" (click)="emitClickOnLink(item)" [matTooltip]="item.label" - [matTooltipDisabled]="itemLabel.length < 27" + [matTooltipDisabled]="itemLabel.length < labelTruncationThreshold" matTooltipPosition="after" [attr.aria-label]="item.label" [matTooltipClass]="'API-tooltip'" @@ -76,7 +76,7 @@
    (); + protected readonly labelTruncationThreshold = 27; + private readonly navigationState = inject(NavigationState); private readonly crossCategoryOrigin = this.navigationState.crossCategoryOrigin; From c1cefe9928dc3090ba8fb28e8698b523e2092ae1 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Thu, 28 May 2026 06:48:36 +0000 Subject: [PATCH 165/317] build: update bazel dependencies See associated pull request for more information. --- MODULE.bazel | 4 ++-- MODULE.bazel.lock | 12 +++++++----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index a32c2e2c8b29..a597b232c34f 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -6,14 +6,14 @@ module( bazel_dep(name = "rules_pkg", version = "1.2.0") bazel_dep(name = "rules_nodejs", version = "6.7.4") -bazel_dep(name = "aspect_rules_ts", version = "3.8.9") +bazel_dep(name = "aspect_rules_ts", version = "3.8.10") bazel_dep(name = "aspect_rules_js", version = "3.1.2") bazel_dep(name = "aspect_rules_esbuild", version = "0.26.0") bazel_dep(name = "aspect_rules_jasmine", version = "2.0.4") bazel_dep(name = "aspect_rules_rollup", version = "2.0.1") bazel_dep(name = "bazel_skylib", version = "1.9.0") bazel_dep(name = "bazel_lib", version = "3.3.1") -bazel_dep(name = "tar.bzl", version = "0.10.4") +bazel_dep(name = "tar.bzl", version = "0.10.5") bazel_dep(name = "yq.bzl", version = "0.3.6") bazel_dep(name = "rules_angular") git_override( diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 62fa3172fc79..4cdc4443c1b3 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -29,8 +29,9 @@ "https://bcr.bazel.build/modules/aspect_rules_js/3.1.2/source.json": "a32ab71831452b945f3f83a1b1feb9402007e600bce55ac76e15ef0c1e08b520", "https://bcr.bazel.build/modules/aspect_rules_rollup/2.0.1/MODULE.bazel": "296e3a053658c2af989ba9bd62a205e6d1fa84bdd6dd5249196546e6b84770ec", "https://bcr.bazel.build/modules/aspect_rules_rollup/2.0.1/source.json": "2fe8ac1ccb4de74bf884761e070010280b272d94e3997205b361b91c75409726", + "https://bcr.bazel.build/modules/aspect_rules_ts/3.8.10/MODULE.bazel": "a17a49a21226fc90163a29b3d6eac56703697205530b8d5cc38b3c074dbac039", + "https://bcr.bazel.build/modules/aspect_rules_ts/3.8.10/source.json": "745c8dba237b4088409800143241bbb138e7ef37a359bd81a250c2c423f380ce", "https://bcr.bazel.build/modules/aspect_rules_ts/3.8.9/MODULE.bazel": "bd5f9ebf517cfcd377eaa7ce1cb16035d167f00774b77789909590c53bc6f20c", - "https://bcr.bazel.build/modules/aspect_rules_ts/3.8.9/source.json": "59e66656561571ed82ccff56c75c43d0bc79f0065ca8d17be2752d4f648d40c9", "https://bcr.bazel.build/modules/aspect_tools_telemetry/0.2.8/MODULE.bazel": "aa975a83e72bcaac62ee61ab12b788ea324a1d05c4aab28aadb202f647881679", "https://bcr.bazel.build/modules/aspect_tools_telemetry/0.3.3/MODULE.bazel": "37c764292861c2f70314efa9846bb6dbb44fc0308903b3285da6528305450183", "https://bcr.bazel.build/modules/aspect_tools_telemetry/0.3.3/source.json": "605086bbc197743a0d360f7ddc550a1d4dfa0441bc807236e17170f636153348", @@ -198,7 +199,8 @@ "https://bcr.bazel.build/modules/stardoc/0.7.2/MODULE.bazel": "fc152419aa2ea0f51c29583fab1e8c99ddefd5b3778421845606ee628629e0e5", "https://bcr.bazel.build/modules/stardoc/0.7.2/source.json": "58b029e5e901d6802967754adf0a9056747e8176f017cfe3607c0851f4d42216", "https://bcr.bazel.build/modules/tar.bzl/0.10.4/MODULE.bazel": "e8f9ff79199e8d9eaad7f1b0a77ad74b30bb82d794b87d8ca942bead5de83ae9", - "https://bcr.bazel.build/modules/tar.bzl/0.10.4/source.json": "20143442376c03426f6135292ba02d825cb75308aa47e6bf42dd4cc5a435c2ff", + "https://bcr.bazel.build/modules/tar.bzl/0.10.5/MODULE.bazel": "e964c1f07f7174478d43be7177f364640e24956d5994bd39d48548cc6a436e2c", + "https://bcr.bazel.build/modules/tar.bzl/0.10.5/source.json": "6703dc57a6c7118722ac452ffb0a05f6e205408b810c6aaf25741a635d5f4b89", "https://bcr.bazel.build/modules/tar.bzl/0.2.1/MODULE.bazel": "52d1c00a80a8cc67acbd01649e83d8dd6a9dc426a6c0b754a04fe8c219c76468", "https://bcr.bazel.build/modules/tar.bzl/0.5.1/MODULE.bazel": "7c2eb3dcfc53b0f3d6f9acdfd911ca803eaf92aadf54f8ca6e4c1f3aee288351", "https://bcr.bazel.build/modules/tar.bzl/0.6.0/MODULE.bazel": "a3584b4edcfafcabd9b0ef9819808f05b372957bbdff41601429d5fd0aac2e7c", @@ -433,7 +435,7 @@ }, "@@aspect_rules_ts+//ts:extensions.bzl%ext": { "general": { - "bzlTransitiveDigest": "oXZdaO5AFNj463wHR4NRAWU9XCc9wkl3rcZxqQoNWHQ=", + "bzlTransitiveDigest": "iSTT2Cf1ed8ku80yZFxvYxZB6Lpy6M8zJBz98hxdxcU=", "usagesDigest": "8mf2+xwO+CO397XBbbqOVFqyfTb2jWbfICPzgzPbSEk=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, @@ -497,7 +499,7 @@ "@@aspect_tools_telemetry+//:extension.bzl%telemetry": { "general": { "bzlTransitiveDigest": "cl5A2O84vDL6Tt+Qga8FCj1DUDGqn+e7ly5rZ+4xvcc=", - "usagesDigest": "2rkxV5oFhRJXyaR0vsDXw76O5QXGwQ9/y+nmRZZg990=", + "usagesDigest": "pj3cwNshzM+dsRffu+7TqYUGpy+3GQ1oMLmoxTS70zo=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, @@ -506,7 +508,7 @@ "repoRuleId": "@@aspect_tools_telemetry+//:extension.bzl%tel_repository", "attributes": { "deps": { - "aspect_rules_ts": "3.8.9", + "aspect_rules_ts": "3.8.10", "aspect_rules_js": "3.1.2", "aspect_rules_esbuild": "0.26.0", "aspect_rules_jasmine": "2.0.4", From ebd698b90f097bafb6a9696bc4f14f9ef1a7da05 Mon Sep 17 00:00:00 2001 From: Alex Rickabaugh Date: Thu, 28 May 2026 09:58:28 -0700 Subject: [PATCH 166/317] release: cut the v22.0.0-rc.2 release --- CHANGELOG.md | 44 ++++++++++++++++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 92f1b00b11f2..8ca9e5645e72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,47 @@ + +# 22.0.0-rc.2 (2026-05-28) +### common +| Commit | Type | Description | +| -- | -- | -- | +| [ae2cb00398](https://github.com/angular/angular/commit/ae2cb00398954d9332e9f1f5abecce902cfc7658) | fix | add upper bounds for digitsInfo | +| [7d1fbc170a](https://github.com/angular/angular/commit/7d1fbc170a90ca12a3c1b805645bc37d12ed744d) | fix | sanitize placeholder | +### compiler +| Commit | Type | Description | +| -- | -- | -- | +| [ab9154ab75](https://github.com/angular/angular/commit/ab9154ab75bdd36759c77917216b57285b243ea4) | fix | normalize tag names with custom namespaces in DomElementSchemaRegistry ([#68868](https://github.com/angular/angular/pull/68868)) | +| [94d520fb67](https://github.com/angular/angular/commit/94d520fb671fc7774341947b872ed0e387689db9) | fix | prevent namespaced SVG