@angular/core 20.3.2 → 20.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/api.d.d.ts +2 -2
  2. package/chrome_dev_tools_performance.d.d.ts +3 -3
  3. package/discovery.d.d.ts +12 -5
  4. package/effect.d.d.ts +3 -3
  5. package/event_dispatcher.d.d.ts +2 -2
  6. package/fesm2022/attribute.mjs +2 -2
  7. package/fesm2022/attribute.mjs.map +1 -1
  8. package/fesm2022/core.mjs +2 -2
  9. package/fesm2022/core.mjs.map +1 -1
  10. package/fesm2022/debug_node.mjs +209 -113
  11. package/fesm2022/debug_node.mjs.map +1 -1
  12. package/fesm2022/effect.mjs +2 -2
  13. package/fesm2022/effect.mjs.map +1 -1
  14. package/fesm2022/not_found.mjs +2 -2
  15. package/fesm2022/not_found.mjs.map +1 -1
  16. package/fesm2022/primitives/di.mjs +2 -2
  17. package/fesm2022/primitives/di.mjs.map +1 -1
  18. package/fesm2022/primitives/event-dispatch.mjs +2 -2
  19. package/fesm2022/primitives/event-dispatch.mjs.map +1 -1
  20. package/fesm2022/primitives/signals.mjs +137 -4
  21. package/fesm2022/primitives/signals.mjs.map +1 -1
  22. package/fesm2022/resource.mjs +2 -2
  23. package/fesm2022/resource.mjs.map +1 -1
  24. package/fesm2022/root_effect_scheduler.mjs +3 -3
  25. package/fesm2022/root_effect_scheduler.mjs.map +1 -1
  26. package/fesm2022/rxjs-interop.mjs +2 -2
  27. package/fesm2022/rxjs-interop.mjs.map +1 -1
  28. package/fesm2022/signal.mjs +9 -9
  29. package/fesm2022/signal.mjs.map +1 -1
  30. package/fesm2022/testing.mjs +2 -2
  31. package/fesm2022/testing.mjs.map +1 -1
  32. package/fesm2022/weak_ref.mjs +2 -2
  33. package/fesm2022/weak_ref.mjs.map +1 -1
  34. package/{graph.d.d.ts → formatter.d.d.ts} +15 -3
  35. package/index.d.ts +8 -7
  36. package/package.json +2 -2
  37. package/primitives/di/index.d.ts +2 -2
  38. package/primitives/event-dispatch/index.d.ts +2 -2
  39. package/primitives/signals/index.d.ts +4 -4
  40. package/rxjs-interop/index.d.ts +3 -3
  41. package/schematics/bundles/add-bootstrap-context-to-server-main.cjs +5 -5
  42. package/schematics/bundles/{apply_import_manager-Ch2ALAC9.cjs → apply_import_manager-CUBvPp_2.cjs} +3 -3
  43. package/schematics/bundles/cleanup-unused-imports.cjs +5 -5
  44. package/schematics/bundles/{compiler_host-Jw4hNUf8.cjs → compiler_host-DJHZ7M9N.cjs} +2 -2
  45. package/schematics/bundles/control-flow-migration.cjs +3 -3
  46. package/schematics/bundles/document-core.cjs +5 -5
  47. package/schematics/bundles/imports-CIX-JgAN.cjs +1 -1
  48. package/schematics/bundles/{index-Gg0PI_fh.cjs → index-BZJ8bv9v.cjs} +27 -17
  49. package/schematics/bundles/{index-DWTTHy-7.cjs → index-DU_evmAi.cjs} +4 -4
  50. package/schematics/bundles/inject-flags.cjs +5 -5
  51. package/schematics/bundles/inject-migration.cjs +3 -3
  52. package/schematics/bundles/leading_space-D9nQ8UQC.cjs +1 -1
  53. package/schematics/bundles/{migrate_ts_type_references-D_xIwAQ5.cjs → migrate_ts_type_references-58gA72Ti.cjs} +5 -5
  54. package/schematics/bundles/ng_decorators-B5HCqr20.cjs +1 -1
  55. package/schematics/bundles/nodes-B16H9JUd.cjs +1 -1
  56. package/schematics/bundles/output-migration.cjs +6 -6
  57. package/schematics/bundles/{project_paths-CfXVBYVk.cjs → project_paths-DcM18127.cjs} +3 -3
  58. package/schematics/bundles/{project_tsconfig_paths-C11WBTJF.cjs → project_tsconfig_paths-Dqd0J7st.cjs} +34 -40
  59. package/schematics/bundles/property_name-BBwFuqMe.cjs +1 -1
  60. package/schematics/bundles/route-lazy-loading.cjs +3 -3
  61. package/schematics/bundles/router-current-navigation.cjs +4 -4
  62. package/schematics/bundles/self-closing-tags-migration.cjs +4 -4
  63. package/schematics/bundles/signal-input-migration.cjs +67 -8
  64. package/schematics/bundles/signal-queries-migration.cjs +7 -7
  65. package/schematics/bundles/signals.cjs +7 -7
  66. package/schematics/bundles/standalone-migration.cjs +106 -46
  67. package/schematics/bundles/symbol-VPWguRxr.cjs +1 -1
  68. package/schematics/bundles/test-bed-get.cjs +4 -4
  69. package/testing/index.d.ts +3 -3
  70. package/weak_ref.d.d.ts +2 -2
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @license Angular v20.3.2
3
- * (c) 2010-2025 Google LLC. https://angular.io/
2
+ * @license Angular v20.3.4
3
+ * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
6
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"weak_ref.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/packages/core/primitives/signals/src/weak_ref.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nexport function setAlternateWeakRefImpl(impl: unknown) {\n // TODO: remove this function\n}\n"],"names":[],"mappings":";;;;;;AAQM,SAAU,uBAAuB,CAAC,IAAa,EAAA;;AAErD;;;;"}
1
+ {"version":3,"file":"weak_ref.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/packages/core/primitives/signals/src/weak_ref.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nexport function setAlternateWeakRefImpl(impl: unknown) {\n // TODO: remove this function\n}\n"],"names":[],"mappings":";;;;;;AAQM,SAAU,uBAAuB,CAAC,IAAa,EAAA;;AAErD;;;;"}
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @license Angular v20.3.2
3
- * (c) 2010-2025 Google LLC. https://angular.io/
2
+ * @license Angular v20.3.4
3
+ * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
6
6
 
@@ -198,5 +198,17 @@ declare function consumerDestroy(node: ReactiveNode): void;
198
198
  declare function runPostProducerCreatedFn(node: ReactiveNode): void;
199
199
  declare function setPostProducerCreatedFn(fn: ReactiveHookFn | null): ReactiveHookFn | null;
200
200
 
201
- export { REACTIVE_NODE, SIGNAL, consumerAfterComputation, consumerBeforeComputation, consumerDestroy, consumerMarkDirty, consumerPollProducersForChange, defaultEquals, finalizeConsumerAfterComputation, getActiveConsumer, isInNotificationPhase, isReactive, producerAccessed, producerIncrementEpoch, producerMarkClean, producerNotifyConsumers, producerUpdateValueVersion, producerUpdatesAllowed, resetConsumerBeforeComputation, runPostProducerCreatedFn, setActiveConsumer, setPostProducerCreatedFn };
201
+ declare global {
202
+ var devtoolsFormatters: any[];
203
+ }
204
+ /**
205
+ * Installs the custom formatter into custom formatting on Signals in the devtools.
206
+ *
207
+ * Supported by both Chrome and Firefox.
208
+ *
209
+ * @see https://firefox-source-docs.mozilla.org/devtools-user/custom_formatters/index.html
210
+ */
211
+ declare function installDevToolsSignalFormatter(): void;
212
+
213
+ export { REACTIVE_NODE, SIGNAL, consumerAfterComputation, consumerBeforeComputation, consumerDestroy, consumerMarkDirty, consumerPollProducersForChange, defaultEquals, finalizeConsumerAfterComputation, getActiveConsumer, installDevToolsSignalFormatter, isInNotificationPhase, isReactive, producerAccessed, producerIncrementEpoch, producerMarkClean, producerNotifyConsumers, producerUpdateValueVersion, producerUpdatesAllowed, resetConsumerBeforeComputation, runPostProducerCreatedFn, setActiveConsumer, setPostProducerCreatedFn };
202
214
  export type { Reactive, ReactiveHookFn, ReactiveNode, ValueEqualityFn };
package/index.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  /**
2
- * @license Angular v20.3.2
3
- * (c) 2010-2025 Google LLC. https://angular.io/
2
+ * @license Angular v20.3.4
3
+ * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
6
6
 
7
- import { SIGNAL, ValueEqualityFn as ValueEqualityFn$1 } from './graph.d.js';
7
+ import { SIGNAL, ValueEqualityFn as ValueEqualityFn$1 } from './formatter.d.js';
8
8
  import { Signal, WritableSignal, OutputRef, Provider, EnvironmentProviders, Type as Type$1, ModuleWithProviders, TypeProvider, ValueProvider, ClassProvider, ConstructorProvider, ExistingProvider, FactoryProvider, StaticClassProvider, ProviderToken, StaticProvider, Injector, ValueSansProvider, ExistingSansProvider, StaticClassSansProvider, ConstructorSansProvider, FactorySansProvider, ClassSansProvider, InjectionToken, InternalInjectFlags, InjectOptions, ValueEqualityFn, EventCallback, isSignal, enableProfiling as enableProfiling$1 } from './chrome_dev_tools_performance.d.js';
9
9
  export { AbstractType, CreateSignalOptions, DestroyRef, DestroyableInjector, ImportedNgModuleProviders, OutputRefSubscription, signal, InternalEnvironmentProviders as ɵInternalEnvironmentProviders, JSACTION_EVENT_CONTRACT as ɵJSACTION_EVENT_CONTRACT, Writable as ɵWritable, isEnvironmentProviders as ɵisEnvironmentProviders, ɵunwrapWritableSignal } from './chrome_dev_tools_performance.d.js';
10
10
  import { InputSignalNode, TypeDecorator, AfterRenderRef, EffectCleanupRegisterFn, SchemaMetadata, ComponentDef, DirectiveDef, CssSelectorList, DirectiveDefFeature, HostBindingsFunction, TAttributes, ContentQueriesFunction, ViewQueriesFunction, ComponentTemplate, TConstantsOrFactory, ComponentDefFeature, ViewEncapsulation as ViewEncapsulation$1, ChangeDetectionStrategy as ChangeDetectionStrategy$1, TypeOrFactory, DependencyTypeList, InputFlags, InputTransformFunction, EmbeddedViewRef, LView, ApplicationRef, ChangeDetectorRef, ComponentFactory as ComponentFactory$1, NgModuleRef as NgModuleRef$1, EnvironmentInjector, DirectiveWithBindings, Binding, ComponentRef as ComponentRef$1, ElementRef, ComponentFactoryResolver as ComponentFactoryResolver$1, InternalNgModuleRef, NgModuleFactory as NgModuleFactory$1, ViewRef as ViewRef$1, PlatformRef, NgZone, ChangeDetectionScheduler, NotificationSource, ɵɵFactoryDeclaration as __FactoryDeclaration, ɵɵInjectableDeclaration as __InjectableDeclaration, ɵɵNgModuleDeclaration as __NgModuleDeclaration, ɵɵInjectorDeclaration as __InjectorDeclaration, DeferBlockDependencyInterceptor, DeferBlockConfig, DeferBlockState, TNode, LContainer, TView, TDeferBlockDetails, RNode, Component, TrustedHTML, DehydratedDeferBlock, CompilerOptions, HostDirectiveConfig, ComponentType, NgModuleScopeInfoFromDecorator, DependencyResolverFn, TDeferDetailsFlags, SanitizerFn, AnimationFunction, LocalRefExtractor, OpaqueViewState, GlobalTargetResolver, ProjectionSlots, QueryFlags, QueryList, RElement, RawScopeInfoFromDecorator, ClassDebugInfo, Directive, NgModule, Pipe, TrustedScriptURL, TrustedScript, PipeType, DirectiveType } from './discovery.d.js';
@@ -2178,6 +2178,7 @@ declare function computed<T>(computation: () => T, options?: CreateComputedOptio
2178
2178
  */
2179
2179
  declare function linkedSignal<D>(computation: () => D, options?: {
2180
2180
  equal?: ValueEqualityFn<NoInfer<D>>;
2181
+ debugName?: string;
2181
2182
  }): WritableSignal<D>;
2182
2183
  /**
2183
2184
  * Creates a writable signal whose value is initialized and reset by the linked, reactive computation.
@@ -6443,12 +6444,12 @@ declare function ɵɵdeferHydrateOnViewport(): void;
6443
6444
  declare function ɵɵadvance(delta?: number): void;
6444
6445
 
6445
6446
  /**
6446
- * Update an ARIA attribute by either its attribute or property name on a selected element.
6447
+ * Update an ARIA attribute on a selected element.
6447
6448
  *
6448
- * If the property name also exists as an input property on any of the element's directives, those
6449
- * inputs will be set instead of the element property.
6449
+ * If the attribute name also exists as an input property on any of the element's directives, those
6450
+ * inputs will be set instead of the element attribute.
6450
6451
  *
6451
- * @param name Name of the ARIA attribute or property (beginning with `aria`).
6452
+ * @param name Name of the ARIA attribute (beginning with `aria-`).
6452
6453
  * @param value New value to write.
6453
6454
  * @returns This function returns itself so that it may be chained.
6454
6455
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/core",
3
- "version": "20.3.2",
3
+ "version": "20.3.4",
4
4
  "description": "Angular - the core framework",
5
5
  "author": "angular",
6
6
  "license": "MIT",
@@ -46,7 +46,7 @@
46
46
  "tslib": "^2.3.0"
47
47
  },
48
48
  "peerDependencies": {
49
- "@angular/compiler": "20.3.2",
49
+ "@angular/compiler": "20.3.4",
50
50
  "rxjs": "^6.5.3 || ^7.4.0",
51
51
  "zone.js": "~0.15.0"
52
52
  },
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @license Angular v20.3.2
3
- * (c) 2010-2025 Google LLC. https://angular.io/
2
+ * @license Angular v20.3.4
3
+ * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @license Angular v20.3.2
3
- * (c) 2010-2025 Google LLC. https://angular.io/
2
+ * @license Angular v20.3.4
3
+ * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
6
6
 
@@ -1,11 +1,11 @@
1
1
  /**
2
- * @license Angular v20.3.2
3
- * (c) 2010-2025 Google LLC. https://angular.io/
2
+ * @license Angular v20.3.4
3
+ * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
6
6
 
7
- import { ReactiveNode, ValueEqualityFn, SIGNAL } from '../../graph.d.js';
8
- export { REACTIVE_NODE, Reactive, ReactiveHookFn, consumerAfterComputation, consumerBeforeComputation, consumerDestroy, consumerMarkDirty, consumerPollProducersForChange, defaultEquals, finalizeConsumerAfterComputation, getActiveConsumer, isInNotificationPhase, isReactive, producerAccessed, producerIncrementEpoch, producerMarkClean, producerNotifyConsumers, producerUpdateValueVersion, producerUpdatesAllowed, resetConsumerBeforeComputation, runPostProducerCreatedFn, setActiveConsumer, setPostProducerCreatedFn } from '../../graph.d.js';
7
+ import { ReactiveNode, ValueEqualityFn, SIGNAL } from '../../formatter.d.js';
8
+ export { REACTIVE_NODE, Reactive, ReactiveHookFn, consumerAfterComputation, consumerBeforeComputation, consumerDestroy, consumerMarkDirty, consumerPollProducersForChange, defaultEquals, finalizeConsumerAfterComputation, getActiveConsumer, installDevToolsSignalFormatter, isInNotificationPhase, isReactive, producerAccessed, producerIncrementEpoch, producerMarkClean, producerNotifyConsumers, producerUpdateValueVersion, producerUpdatesAllowed, resetConsumerBeforeComputation, runPostProducerCreatedFn, setActiveConsumer, setPostProducerCreatedFn } from '../../formatter.d.js';
9
9
  import { SignalNode } from '../../effect.d.js';
10
10
  export { BASE_EFFECT_NODE, BaseEffectNode, SIGNAL_NODE, SignalGetter, createSignal, runEffect, runPostSignalSetFn, setPostSignalSetFn, signalGetFn, signalSetFn, signalUpdateFn } from '../../effect.d.js';
11
11
  export { setAlternateWeakRefImpl } from '../../weak_ref.d.js';
@@ -1,14 +1,14 @@
1
1
  /**
2
- * @license Angular v20.3.2
3
- * (c) 2010-2025 Google LLC. https://angular.io/
2
+ * @license Angular v20.3.4
3
+ * (c) 2010-2025 Google LLC. https://angular.dev/
4
4
  * License: MIT
5
5
  */
6
6
 
7
+ import { ValueEqualityFn } from '../formatter.d.js';
7
8
  import { OutputRef, DestroyRef, Injector, Signal } from '../chrome_dev_tools_performance.d.js';
8
9
  import { OutputOptions, BaseResourceOptions, ResourceLoaderParams, ResourceRef } from '../api.d.js';
9
10
  import '../event_dispatcher.d.js';
10
11
  import { Observable, MonoTypeOperatorFunction, Subscribable } from 'rxjs';
11
- import { ValueEqualityFn } from '../graph.d.js';
12
12
 
13
13
  /**
14
14
  * Declares an Angular output that is using an RxJS observable as a source
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.3.2
3
+ * @license Angular v20.3.4
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -8,12 +8,12 @@
8
8
 
9
9
  require('@angular-devkit/core');
10
10
  require('node:path/posix');
11
- var project_paths = require('./project_paths-CfXVBYVk.cjs');
12
- var project_tsconfig_paths = require('./project_tsconfig_paths-C11WBTJF.cjs');
11
+ var project_paths = require('./project_paths-DcM18127.cjs');
12
+ var project_tsconfig_paths = require('./project_tsconfig_paths-Dqd0J7st.cjs');
13
13
  var ts = require('typescript');
14
14
  require('os');
15
- var apply_import_manager = require('./apply_import_manager-Ch2ALAC9.cjs');
16
- require('./index-Gg0PI_fh.cjs');
15
+ var apply_import_manager = require('./apply_import_manager-CUBvPp_2.cjs');
16
+ require('./index-BZJ8bv9v.cjs');
17
17
  require('path');
18
18
  require('node:path');
19
19
  require('@angular-devkit/schematics');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.3.2
3
+ * @license Angular v20.3.4
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -8,8 +8,8 @@
8
8
 
9
9
  var ts = require('typescript');
10
10
  require('os');
11
- var project_tsconfig_paths = require('./project_tsconfig_paths-C11WBTJF.cjs');
12
- var project_paths = require('./project_paths-CfXVBYVk.cjs');
11
+ var project_tsconfig_paths = require('./project_tsconfig_paths-Dqd0J7st.cjs');
12
+ var project_paths = require('./project_paths-DcM18127.cjs');
13
13
 
14
14
  /**
15
15
  * Applies import manager changes, and writes them as replacements the
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.3.2
3
+ * @license Angular v20.3.4
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -8,14 +8,14 @@
8
8
 
9
9
  require('@angular-devkit/core');
10
10
  require('node:path/posix');
11
- var project_paths = require('./project_paths-CfXVBYVk.cjs');
11
+ var project_paths = require('./project_paths-DcM18127.cjs');
12
12
  var ts = require('typescript');
13
13
  require('os');
14
- var project_tsconfig_paths = require('./project_tsconfig_paths-C11WBTJF.cjs');
15
- var index = require('./index-Gg0PI_fh.cjs');
14
+ var project_tsconfig_paths = require('./project_tsconfig_paths-Dqd0J7st.cjs');
15
+ var index = require('./index-BZJ8bv9v.cjs');
16
16
  require('path');
17
17
  require('node:path');
18
- var apply_import_manager = require('./apply_import_manager-Ch2ALAC9.cjs');
18
+ var apply_import_manager = require('./apply_import_manager-CUBvPp_2.cjs');
19
19
  require('@angular-devkit/schematics');
20
20
  require('fs');
21
21
  require('module');
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.3.2
3
+ * @license Angular v20.3.4
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
7
7
  'use strict';
8
8
 
9
9
  var ts = require('typescript');
10
- var project_tsconfig_paths = require('./project_tsconfig_paths-C11WBTJF.cjs');
10
+ var project_tsconfig_paths = require('./project_tsconfig_paths-Dqd0J7st.cjs');
11
11
  require('os');
12
12
  var p = require('path');
13
13
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.3.2
3
+ * @license Angular v20.3.4
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -8,8 +8,8 @@
8
8
 
9
9
  var schematics = require('@angular-devkit/schematics');
10
10
  var path = require('node:path');
11
- var compiler_host = require('./compiler_host-Jw4hNUf8.cjs');
12
- var project_tsconfig_paths = require('./project_tsconfig_paths-C11WBTJF.cjs');
11
+ var compiler_host = require('./compiler_host-DJHZ7M9N.cjs');
12
+ var project_tsconfig_paths = require('./project_tsconfig_paths-Dqd0J7st.cjs');
13
13
  var ts = require('typescript');
14
14
  var p = require('path');
15
15
  require('os');
@@ -1,19 +1,19 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.3.2
3
+ * @license Angular v20.3.4
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
7
7
  'use strict';
8
8
 
9
- var project_tsconfig_paths = require('./project_tsconfig_paths-C11WBTJF.cjs');
9
+ var project_tsconfig_paths = require('./project_tsconfig_paths-Dqd0J7st.cjs');
10
10
  require('typescript');
11
11
  require('os');
12
- var apply_import_manager = require('./apply_import_manager-Ch2ALAC9.cjs');
13
- require('./index-Gg0PI_fh.cjs');
12
+ var apply_import_manager = require('./apply_import_manager-CUBvPp_2.cjs');
13
+ require('./index-BZJ8bv9v.cjs');
14
14
  require('path');
15
15
  require('node:path');
16
- var project_paths = require('./project_paths-CfXVBYVk.cjs');
16
+ var project_paths = require('./project_paths-DcM18127.cjs');
17
17
  var imports = require('./imports-CIX-JgAN.cjs');
18
18
  require('@angular-devkit/core');
19
19
  require('node:path/posix');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.3.2
3
+ * @license Angular v20.3.4
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.3.2
3
+ * @license Angular v20.3.4
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
7
7
  'use strict';
8
8
 
9
- var project_tsconfig_paths = require('./project_tsconfig_paths-C11WBTJF.cjs');
9
+ var project_tsconfig_paths = require('./project_tsconfig_paths-Dqd0J7st.cjs');
10
10
  var ts = require('typescript');
11
11
  var p = require('path');
12
12
  require('os');
@@ -891,7 +891,7 @@ const MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION = '18.0.0';
891
891
  function compileDeclareClassMetadata(metadata) {
892
892
  const definitionMap = new project_tsconfig_paths.DefinitionMap();
893
893
  definitionMap.set('minVersion', project_tsconfig_paths.literal(MINIMUM_PARTIAL_LINKER_VERSION$5));
894
- definitionMap.set('version', project_tsconfig_paths.literal('20.3.2'));
894
+ definitionMap.set('version', project_tsconfig_paths.literal('20.3.4'));
895
895
  definitionMap.set('ngImport', project_tsconfig_paths.importExpr(project_tsconfig_paths.Identifiers.core));
896
896
  definitionMap.set('type', metadata.type);
897
897
  definitionMap.set('decorators', metadata.decorators);
@@ -909,7 +909,7 @@ function compileComponentDeclareClassMetadata(metadata, dependencies) {
909
909
  callbackReturnDefinitionMap.set('ctorParameters', metadata.ctorParameters ?? project_tsconfig_paths.literal(null));
910
910
  callbackReturnDefinitionMap.set('propDecorators', metadata.propDecorators ?? project_tsconfig_paths.literal(null));
911
911
  definitionMap.set('minVersion', project_tsconfig_paths.literal(MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION));
912
- definitionMap.set('version', project_tsconfig_paths.literal('20.3.2'));
912
+ definitionMap.set('version', project_tsconfig_paths.literal('20.3.4'));
913
913
  definitionMap.set('ngImport', project_tsconfig_paths.importExpr(project_tsconfig_paths.Identifiers.core));
914
914
  definitionMap.set('type', metadata.type);
915
915
  definitionMap.set('resolveDeferredDeps', compileComponentMetadataAsyncResolver(dependencies));
@@ -1004,7 +1004,7 @@ function createDirectiveDefinitionMap(meta) {
1004
1004
  const definitionMap = new project_tsconfig_paths.DefinitionMap();
1005
1005
  const minVersion = getMinimumVersionForPartialOutput(meta);
1006
1006
  definitionMap.set('minVersion', project_tsconfig_paths.literal(minVersion));
1007
- definitionMap.set('version', project_tsconfig_paths.literal('20.3.2'));
1007
+ definitionMap.set('version', project_tsconfig_paths.literal('20.3.4'));
1008
1008
  // e.g. `type: MyDirective`
1009
1009
  definitionMap.set('type', meta.type.value);
1010
1010
  if (meta.isStandalone !== undefined) {
@@ -1420,7 +1420,7 @@ const MINIMUM_PARTIAL_LINKER_VERSION$4 = '12.0.0';
1420
1420
  function compileDeclareFactoryFunction(meta) {
1421
1421
  const definitionMap = new project_tsconfig_paths.DefinitionMap();
1422
1422
  definitionMap.set('minVersion', project_tsconfig_paths.literal(MINIMUM_PARTIAL_LINKER_VERSION$4));
1423
- definitionMap.set('version', project_tsconfig_paths.literal('20.3.2'));
1423
+ definitionMap.set('version', project_tsconfig_paths.literal('20.3.4'));
1424
1424
  definitionMap.set('ngImport', project_tsconfig_paths.importExpr(project_tsconfig_paths.Identifiers.core));
1425
1425
  definitionMap.set('type', meta.type.value);
1426
1426
  definitionMap.set('deps', compileDependencies(meta.deps));
@@ -1455,7 +1455,7 @@ function compileDeclareInjectableFromMetadata(meta) {
1455
1455
  function createInjectableDefinitionMap(meta) {
1456
1456
  const definitionMap = new project_tsconfig_paths.DefinitionMap();
1457
1457
  definitionMap.set('minVersion', project_tsconfig_paths.literal(MINIMUM_PARTIAL_LINKER_VERSION$3));
1458
- definitionMap.set('version', project_tsconfig_paths.literal('20.3.2'));
1458
+ definitionMap.set('version', project_tsconfig_paths.literal('20.3.4'));
1459
1459
  definitionMap.set('ngImport', project_tsconfig_paths.importExpr(project_tsconfig_paths.Identifiers.core));
1460
1460
  definitionMap.set('type', meta.type.value);
1461
1461
  // Only generate providedIn property if it has a non-null value
@@ -1506,7 +1506,7 @@ function compileDeclareInjectorFromMetadata(meta) {
1506
1506
  function createInjectorDefinitionMap(meta) {
1507
1507
  const definitionMap = new project_tsconfig_paths.DefinitionMap();
1508
1508
  definitionMap.set('minVersion', project_tsconfig_paths.literal(MINIMUM_PARTIAL_LINKER_VERSION$2));
1509
- definitionMap.set('version', project_tsconfig_paths.literal('20.3.2'));
1509
+ definitionMap.set('version', project_tsconfig_paths.literal('20.3.4'));
1510
1510
  definitionMap.set('ngImport', project_tsconfig_paths.importExpr(project_tsconfig_paths.Identifiers.core));
1511
1511
  definitionMap.set('type', meta.type.value);
1512
1512
  definitionMap.set('providers', meta.providers);
@@ -1539,7 +1539,7 @@ function createNgModuleDefinitionMap(meta) {
1539
1539
  throw new Error('Invalid path! Local compilation mode should not get into the partial compilation path');
1540
1540
  }
1541
1541
  definitionMap.set('minVersion', project_tsconfig_paths.literal(MINIMUM_PARTIAL_LINKER_VERSION$1));
1542
- definitionMap.set('version', project_tsconfig_paths.literal('20.3.2'));
1542
+ definitionMap.set('version', project_tsconfig_paths.literal('20.3.4'));
1543
1543
  definitionMap.set('ngImport', project_tsconfig_paths.importExpr(project_tsconfig_paths.Identifiers.core));
1544
1544
  definitionMap.set('type', meta.type.value);
1545
1545
  // We only generate the keys in the metadata if the arrays contain values.
@@ -1590,7 +1590,7 @@ function compileDeclarePipeFromMetadata(meta) {
1590
1590
  function createPipeDefinitionMap(meta) {
1591
1591
  const definitionMap = new project_tsconfig_paths.DefinitionMap();
1592
1592
  definitionMap.set('minVersion', project_tsconfig_paths.literal(MINIMUM_PARTIAL_LINKER_VERSION));
1593
- definitionMap.set('version', project_tsconfig_paths.literal('20.3.2'));
1593
+ definitionMap.set('version', project_tsconfig_paths.literal('20.3.4'));
1594
1594
  definitionMap.set('ngImport', project_tsconfig_paths.importExpr(project_tsconfig_paths.Identifiers.core));
1595
1595
  // e.g. `type: MyPipe`
1596
1596
  definitionMap.set('type', meta.type.value);
@@ -5128,16 +5128,22 @@ function nodeArrayFromDecoratorsArray(decorators) {
5128
5128
  }
5129
5129
 
5130
5130
  function insertDebugNameIntoCallExpression(callExpression, debugName) {
5131
- const signalExpressionHasNoArguments = callExpression.arguments.length === 0;
5132
5131
  const signalExpressionIsRequired = isRequiredSignalFunction(callExpression.expression);
5133
5132
  let configPosition = signalExpressionIsRequired ? 0 : 1;
5134
- // If the call expression has no arguments, we pretend that the config object is at position 0.
5133
+ const nodeArgs = Array.from(callExpression.arguments);
5134
+ // 1. If the call expression has no arguments, we pretend that the config object is at position 0.
5135
5135
  // We do this so that we can insert a spread element at the start of the args list in a way where
5136
5136
  // undefined can be the first argument but still get tree-shaken out in production builds.
5137
- if (signalExpressionHasNoArguments) {
5137
+ // or
5138
+ // 2. Since `linkedSignal` with computation uses a single object for both computation logic
5139
+ // and options (unlike other signal-based primitives), we set the argument position to 0, i.e.
5140
+ // reusing the computation logic object.
5141
+ const signalExpressionHasNoArguments = callExpression.arguments.length === 0;
5142
+ const isLinkedSignal = callExpression.expression.getText() === 'linkedSignal';
5143
+ const isComputationLinkedSignal = isLinkedSignal && nodeArgs[0].kind === ts.SyntaxKind.ObjectLiteralExpression;
5144
+ if (signalExpressionHasNoArguments || isComputationLinkedSignal) {
5138
5145
  configPosition = 0;
5139
5146
  }
5140
- const nodeArgs = Array.from(callExpression.arguments);
5141
5147
  let existingArgument = nodeArgs[configPosition];
5142
5148
  if (existingArgument === undefined) {
5143
5149
  existingArgument = ts.factory.createObjectLiteralExpression([]);
@@ -5186,12 +5192,15 @@ function insertDebugNameIntoCallExpression(callExpression, debugName) {
5186
5192
  /* question token */ undefined, devModeCase,
5187
5193
  /* colon token */ undefined, nonDevModeCase)));
5188
5194
  let transformedSignalArgs;
5189
- if (signalExpressionIsRequired || signalExpressionHasNoArguments) {
5195
+ if (signalExpressionIsRequired || signalExpressionHasNoArguments || isComputationLinkedSignal) {
5190
5196
  // 1. If the call expression is a required signal function, there is no args other than the config object.
5191
5197
  // So we just use the spread element as the only argument.
5192
5198
  // or
5193
5199
  // 2. If the call expression has no arguments (ex. input(), model(), etc), we already added the undefined
5194
5200
  // identifier in the spread element above. So we use that spread Element as is.
5201
+ // or
5202
+ // 3. We are transforming a `linkedSignal` with computation (i.e. we have a single object for both
5203
+ // logic and options).
5195
5204
  transformedSignalArgs = ts.factory.createNodeArray([spreadElementContainingUpdatedOptions]);
5196
5205
  }
5197
5206
  else {
@@ -5329,6 +5338,7 @@ function expressionIsUsingAngularCoreImportedSymbol(program, expression) {
5329
5338
  const signalFunctions = new Set([
5330
5339
  'signal',
5331
5340
  'computed',
5341
+ 'linkedSignal',
5332
5342
  'input',
5333
5343
  'model',
5334
5344
  'viewChild',
@@ -12323,7 +12333,7 @@ class PipeDecoratorHandler {
12323
12333
  * @description
12324
12334
  * Entry point for all public APIs of the compiler-cli package.
12325
12335
  */
12326
- new project_tsconfig_paths.Version('20.3.2');
12336
+ new project_tsconfig_paths.Version('20.3.4');
12327
12337
 
12328
12338
  /**
12329
12339
  * Whether a given decorator should be treated as an Angular decorator.
@@ -20427,7 +20437,7 @@ var semver = /*@__PURE__*/getDefaultExportFromCjs(semverExports);
20427
20437
  * @param minVersion Minimum required version for the feature.
20428
20438
  */
20429
20439
  function coreVersionSupportsFeature(coreVersion, minVersion) {
20430
- // A version of `20.3.2` usually means that core is at head so it supports
20440
+ // A version of `20.3.4` usually means that core is at head so it supports
20431
20441
  // all features. Use string interpolation prevent the placeholder from being replaced
20432
20442
  // with the current version during build time.
20433
20443
  if (coreVersion === `0.0.0-${'PLACEHOLDER'}`) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.3.2
3
+ * @license Angular v20.3.4
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -8,11 +8,11 @@
8
8
 
9
9
  var ts = require('typescript');
10
10
  require('os');
11
- var project_tsconfig_paths = require('./project_tsconfig_paths-C11WBTJF.cjs');
12
- var index = require('./index-Gg0PI_fh.cjs');
11
+ var project_tsconfig_paths = require('./project_tsconfig_paths-Dqd0J7st.cjs');
12
+ var index = require('./index-BZJ8bv9v.cjs');
13
13
  require('path');
14
14
  require('node:path');
15
- var project_paths = require('./project_paths-CfXVBYVk.cjs');
15
+ var project_paths = require('./project_paths-DcM18127.cjs');
16
16
 
17
17
  function getMemberName(member) {
18
18
  if (member.name === undefined) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.3.2
3
+ * @license Angular v20.3.4
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -8,12 +8,12 @@
8
8
 
9
9
  var ts = require('typescript');
10
10
  require('os');
11
- var project_tsconfig_paths = require('./project_tsconfig_paths-C11WBTJF.cjs');
12
- require('./index-Gg0PI_fh.cjs');
11
+ var project_tsconfig_paths = require('./project_tsconfig_paths-Dqd0J7st.cjs');
12
+ require('./index-BZJ8bv9v.cjs');
13
13
  require('path');
14
14
  require('node:path');
15
- var project_paths = require('./project_paths-CfXVBYVk.cjs');
16
- var apply_import_manager = require('./apply_import_manager-Ch2ALAC9.cjs');
15
+ var project_paths = require('./project_paths-DcM18127.cjs');
16
+ var apply_import_manager = require('./apply_import_manager-CUBvPp_2.cjs');
17
17
  var imports = require('./imports-CIX-JgAN.cjs');
18
18
  require('@angular-devkit/core');
19
19
  require('node:path/posix');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.3.2
3
+ * @license Angular v20.3.4
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -8,13 +8,13 @@
8
8
 
9
9
  var schematics = require('@angular-devkit/schematics');
10
10
  var p = require('path');
11
- var compiler_host = require('./compiler_host-Jw4hNUf8.cjs');
11
+ var compiler_host = require('./compiler_host-DJHZ7M9N.cjs');
12
12
  var ts = require('typescript');
13
13
  var ng_decorators = require('./ng_decorators-B5HCqr20.cjs');
14
14
  var imports = require('./imports-CIX-JgAN.cjs');
15
15
  var nodes = require('./nodes-B16H9JUd.cjs');
16
16
  var leading_space = require('./leading_space-D9nQ8UQC.cjs');
17
- var project_tsconfig_paths = require('./project_tsconfig_paths-C11WBTJF.cjs');
17
+ var project_tsconfig_paths = require('./project_tsconfig_paths-Dqd0J7st.cjs');
18
18
  require('os');
19
19
  require('fs');
20
20
  require('module');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.3.2
3
+ * @license Angular v20.3.4
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -1,19 +1,19 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.3.2
3
+ * @license Angular v20.3.4
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
7
7
  'use strict';
8
8
 
9
- var project_tsconfig_paths = require('./project_tsconfig_paths-C11WBTJF.cjs');
9
+ var project_tsconfig_paths = require('./project_tsconfig_paths-Dqd0J7st.cjs');
10
10
  var ts = require('typescript');
11
11
  require('os');
12
12
  var assert = require('assert');
13
- var index = require('./index-DWTTHy-7.cjs');
14
- var project_paths = require('./project_paths-CfXVBYVk.cjs');
13
+ var index = require('./index-DU_evmAi.cjs');
14
+ var project_paths = require('./project_paths-DcM18127.cjs');
15
15
  var leading_space = require('./leading_space-D9nQ8UQC.cjs');
16
- require('./index-Gg0PI_fh.cjs');
16
+ require('./index-BZJ8bv9v.cjs');
17
17
  require('path');
18
18
  require('node:path');
19
19
  var assert$1 = require('node:assert');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.3.2
3
+ * @license Angular v20.3.4
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.3.2
3
+ * @license Angular v20.3.4
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.3.2
3
+ * @license Angular v20.3.4
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -8,13 +8,13 @@
8
8
 
9
9
  var ts = require('typescript');
10
10
  require('os');
11
- var project_tsconfig_paths = require('./project_tsconfig_paths-C11WBTJF.cjs');
12
- var index$1 = require('./index-Gg0PI_fh.cjs');
11
+ var project_tsconfig_paths = require('./project_tsconfig_paths-Dqd0J7st.cjs');
12
+ var index$1 = require('./index-BZJ8bv9v.cjs');
13
13
  require('path');
14
14
  require('node:path');
15
- var project_paths = require('./project_paths-CfXVBYVk.cjs');
16
- var apply_import_manager = require('./apply_import_manager-Ch2ALAC9.cjs');
17
- var index = require('./index-DWTTHy-7.cjs');
15
+ var project_paths = require('./project_paths-DcM18127.cjs');
16
+ var apply_import_manager = require('./apply_import_manager-CUBvPp_2.cjs');
17
+ var index = require('./index-DU_evmAi.cjs');
18
18
  require('@angular-devkit/core');
19
19
  require('node:path/posix');
20
20
  require('fs');
@@ -1,18 +1,18 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v20.3.2
3
+ * @license Angular v20.3.4
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
7
7
  'use strict';
8
8
 
9
- var index = require('./index-Gg0PI_fh.cjs');
9
+ var index = require('./index-BZJ8bv9v.cjs');
10
10
  var schematics = require('@angular-devkit/schematics');
11
11
  var core = require('@angular-devkit/core');
12
12
  var posixPath = require('node:path/posix');
13
13
  var os = require('os');
14
14
  var ts = require('typescript');
15
- var project_tsconfig_paths = require('./project_tsconfig_paths-C11WBTJF.cjs');
15
+ var project_tsconfig_paths = require('./project_tsconfig_paths-Dqd0J7st.cjs');
16
16
  require('path');
17
17
  var path = require('node:path');
18
18