@angular/core 21.0.0-next.1 → 21.0.0-next.2

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 (73) hide show
  1. package/api.d.d.ts +1 -1
  2. package/chrome_dev_tools_performance.d.d.ts +1 -1
  3. package/discovery.d.d.ts +11 -36
  4. package/effect.d.d.ts +1 -1
  5. package/event_dispatcher.d.d.ts +1 -1
  6. package/fesm2022/attribute.mjs +1 -1
  7. package/fesm2022/attribute.mjs.map +1 -1
  8. package/fesm2022/core.mjs +14 -18
  9. package/fesm2022/core.mjs.map +1 -1
  10. package/fesm2022/debug_node.mjs +29 -669
  11. package/fesm2022/debug_node.mjs.map +1 -1
  12. package/fesm2022/effect.mjs +1 -1
  13. package/fesm2022/effect.mjs.map +1 -1
  14. package/fesm2022/not_found.mjs +1 -1
  15. package/fesm2022/not_found.mjs.map +1 -1
  16. package/fesm2022/primitives/di.mjs +1 -1
  17. package/fesm2022/primitives/di.mjs.map +1 -1
  18. package/fesm2022/primitives/event-dispatch.mjs +1 -1
  19. package/fesm2022/primitives/event-dispatch.mjs.map +1 -1
  20. package/fesm2022/primitives/signals.mjs +1 -1
  21. package/fesm2022/primitives/signals.mjs.map +1 -1
  22. package/fesm2022/resource.mjs +1 -1
  23. package/fesm2022/resource.mjs.map +1 -1
  24. package/fesm2022/root_effect_scheduler.mjs +689 -81
  25. package/fesm2022/root_effect_scheduler.mjs.map +1 -1
  26. package/fesm2022/rxjs-interop.mjs +3 -3
  27. package/fesm2022/rxjs-interop.mjs.map +1 -1
  28. package/fesm2022/signal.mjs +1 -1
  29. package/fesm2022/signal.mjs.map +1 -1
  30. package/fesm2022/testing.mjs +6 -8
  31. package/fesm2022/testing.mjs.map +1 -1
  32. package/fesm2022/weak_ref.mjs +1 -1
  33. package/fesm2022/weak_ref.mjs.map +1 -1
  34. package/graph.d.d.ts +1 -1
  35. package/index.d.ts +31 -47
  36. package/package.json +2 -2
  37. package/primitives/di/index.d.ts +1 -1
  38. package/primitives/event-dispatch/index.d.ts +1 -1
  39. package/primitives/signals/index.d.ts +1 -1
  40. package/rxjs-interop/index.d.ts +1 -1
  41. package/schematics/bundles/application-config-core.cjs +95 -0
  42. package/schematics/bundles/{apply_import_manager-yycO3l8f.cjs → apply_import_manager-B3czqUhF.cjs} +3 -3
  43. package/schematics/bundles/cleanup-unused-imports.cjs +5 -5
  44. package/schematics/bundles/{compiler_host-DrXTGf_7.cjs → compiler_host-B9qvCnmC.cjs} +2 -2
  45. package/schematics/bundles/control-flow-migration.cjs +4 -4
  46. package/schematics/bundles/imports-26VeX8i-.cjs +1 -1
  47. package/schematics/bundles/{index-jjHOgYYs.cjs → index-B6-f9bil.cjs} +12 -12
  48. package/schematics/bundles/{index-BdH2rlWJ.cjs → index-DN8W1c8n.cjs} +4 -4
  49. package/schematics/bundles/inject-migration.cjs +142 -47
  50. package/schematics/bundles/leading_space-D9nQ8UQC.cjs +1 -1
  51. package/schematics/bundles/{migrate_ts_type_references-BVSg43hf.cjs → migrate_ts_type_references-DawXRJzI.cjs} +5 -5
  52. package/schematics/bundles/{ng_component_template-DjLc4mdL.cjs → ng_component_template-DUAg-x1h.cjs} +2 -2
  53. package/schematics/bundles/ng_decorators-CtYwz9Lw.cjs +1 -1
  54. package/schematics/bundles/ngclass-to-class-migration.cjs +8 -8
  55. package/schematics/bundles/nodes-B16H9JUd.cjs +1 -1
  56. package/schematics/bundles/output-migration.cjs +6 -6
  57. package/schematics/bundles/{parse_html-CXR8hziE.cjs → parse_html-C8TYlOyu.cjs} +2 -2
  58. package/schematics/bundles/{project_paths-T_M15e2g.cjs → project_paths-D64fJzoa.cjs} +3 -3
  59. package/schematics/bundles/{project_tsconfig_paths-D7xzGqRi.cjs → project_tsconfig_paths-DZ17BWwk.cjs} +11 -5
  60. package/schematics/bundles/property_name-BBwFuqMe.cjs +1 -1
  61. package/schematics/bundles/route-lazy-loading.cjs +3 -3
  62. package/schematics/bundles/router-current-navigation.cjs +4 -4
  63. package/schematics/bundles/router-last-successful-navigation.cjs +4 -4
  64. package/schematics/bundles/self-closing-tags-migration.cjs +6 -6
  65. package/schematics/bundles/signal-input-migration.cjs +7 -7
  66. package/schematics/bundles/signal-queries-migration.cjs +7 -7
  67. package/schematics/bundles/signals.cjs +7 -7
  68. package/schematics/bundles/standalone-migration.cjs +4 -4
  69. package/schematics/bundles/symbol-VPWguRxr.cjs +1 -1
  70. package/schematics/migrations/ngclass-to-class-migration/schema.json +1 -1
  71. package/schematics/migrations.json +5 -0
  72. package/testing/index.d.ts +1 -1
  73. package/weak_ref.d.d.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v21.0.0-next.1
2
+ * @license Angular v21.0.0-next.2
3
3
  * (c) 2010-2025 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -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;;;;"}
package/graph.d.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v21.0.0-next.1
2
+ * @license Angular v21.0.0-next.2
3
3
  * (c) 2010-2025 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v21.0.0-next.1
2
+ * @license Angular v21.0.0-next.2
3
3
  * (c) 2010-2025 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -8,7 +8,7 @@ import { SIGNAL, ValueEqualityFn as ValueEqualityFn$1 } from './graph.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, 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, LocalRefExtractor, OpaqueViewState, GlobalTargetResolver, ProjectionSlots, QueryFlags, QueryList, RElement, RawScopeInfoFromDecorator, ClassDebugInfo, Directive, NgModule, Pipe, TrustedScriptURL, TrustedScript, PipeType, DirectiveType } from './discovery.d.js';
11
- export { APP_BOOTSTRAP_LISTENER, BootstrapOptions, COMPILER_OPTIONS, CUSTOM_ELEMENTS_SCHEMA, Compiler, CompilerFactory, ComponentDecorator, CreateEffectOptions, DebugElement, DebugEventListener, DebugNode, DirectiveDecorator, EffectCleanupFn, EffectRef, EventEmitter, HostBinding, HostBindingDecorator, HostListener, HostListenerDecorator, InjectableType, InjectorType, Input, InputDecorator, ListenerOptions, ModuleWithComponentFactories, NO_ERRORS_SCHEMA, NgModuleDecorator, Output, OutputDecorator, PipeDecorator, Predicate, Renderer2, RendererFactory2, RendererStyleFlags2, RendererType2, Sanitizer, SecurityContext, asNativeElements, effect, getDebugNode, inputBinding, outputBinding, twoWayBinding, AfterRenderManager as ɵAfterRenderManager, AnimationRendererType as ɵAnimationRendererType, AttributeMarker as ɵAttributeMarker, CONTAINER_HEADER_OFFSET as ɵCONTAINER_HEADER_OFFSET, DeferBlockBehavior as ɵDeferBlockBehavior, DeferBlockDetails as ɵDeferBlockDetails, EffectScheduler as ɵEffectScheduler, INJECTOR_SCOPE as ɵINJECTOR_SCOPE, NG_INJ_DEF as ɵNG_INJ_DEF, NG_PROV_DEF as ɵNG_PROV_DEF, NavigateEvent as ɵNavigateEvent, Navigation as ɵNavigation, NavigationCurrentEntryChangeEvent as ɵNavigationCurrentEntryChangeEvent, NavigationDestination as ɵNavigationDestination, NavigationHistoryEntry as ɵNavigationHistoryEntry, NavigationInterceptOptions as ɵNavigationInterceptOptions, NavigationNavigateOptions as ɵNavigationNavigateOptions, NavigationOptions as ɵNavigationOptions, NavigationReloadOptions as ɵNavigationReloadOptions, NavigationResult as ɵNavigationResult, NavigationTransition as ɵNavigationTransition, NavigationTypeString as ɵNavigationTypeString, NavigationUpdateCurrentEntryOptions as ɵNavigationUpdateCurrentEntryOptions, NoopNgZone as ɵNoopNgZone, PipeDef as ɵPipeDef, R3Injector as ɵR3Injector, RenderFlags as ɵRenderFlags, TracingAction as ɵTracingAction, TracingService as ɵTracingService, TracingSnapshot as ɵTracingSnapshot, ZONELESS_ENABLED as ɵZONELESS_ENABLED, getDebugNode as ɵgetDebugNode, getDeferBlocks as ɵgetDeferBlocks, getInjectableDef as ɵgetInjectableDef, injectChangeDetectorRef as ɵinjectChangeDetectorRef, isBoundToModule as ɵisBoundToModule, isInjectable as ɵisInjectable, ɵɵComponentDeclaration, ɵɵDirectiveDeclaration, ɵɵInjectorDef, ɵɵPipeDeclaration, ɵɵdefineInjectable, ɵɵdefineInjector } from './discovery.d.js';
11
+ export { APP_BOOTSTRAP_LISTENER, BootstrapOptions, COMPILER_OPTIONS, CUSTOM_ELEMENTS_SCHEMA, Compiler, CompilerFactory, ComponentDecorator, CreateEffectOptions, DebugElement, DebugEventListener, DebugNode, DirectiveDecorator, EffectCleanupFn, EffectRef, EventEmitter, HostBinding, HostBindingDecorator, HostListener, HostListenerDecorator, InjectableType, InjectorType, Input, InputDecorator, ListenerOptions, ModuleWithComponentFactories, NO_ERRORS_SCHEMA, NgModuleDecorator, Output, OutputDecorator, PipeDecorator, Predicate, Renderer2, RendererFactory2, RendererStyleFlags2, RendererType2, Sanitizer, SecurityContext, asNativeElements, effect, getDebugNode, inputBinding, outputBinding, twoWayBinding, AfterRenderManager as ɵAfterRenderManager, AnimationRendererType as ɵAnimationRendererType, AttributeMarker as ɵAttributeMarker, CONTAINER_HEADER_OFFSET as ɵCONTAINER_HEADER_OFFSET, DeferBlockBehavior as ɵDeferBlockBehavior, DeferBlockDetails as ɵDeferBlockDetails, EffectScheduler as ɵEffectScheduler, INJECTOR_SCOPE as ɵINJECTOR_SCOPE, NG_INJ_DEF as ɵNG_INJ_DEF, NG_PROV_DEF as ɵNG_PROV_DEF, NavigateEvent as ɵNavigateEvent, Navigation as ɵNavigation, NavigationCurrentEntryChangeEvent as ɵNavigationCurrentEntryChangeEvent, NavigationDestination as ɵNavigationDestination, NavigationHistoryEntry as ɵNavigationHistoryEntry, NavigationInterceptOptions as ɵNavigationInterceptOptions, NavigationNavigateOptions as ɵNavigationNavigateOptions, NavigationOptions as ɵNavigationOptions, NavigationReloadOptions as ɵNavigationReloadOptions, NavigationResult as ɵNavigationResult, NavigationTransition as ɵNavigationTransition, NavigationTypeString as ɵNavigationTypeString, NavigationUpdateCurrentEntryOptions as ɵNavigationUpdateCurrentEntryOptions, NoopNgZone as ɵNoopNgZone, PROVIDED_ZONELESS as ɵPROVIDED_ZONELESS, PipeDef as ɵPipeDef, R3Injector as ɵR3Injector, RenderFlags as ɵRenderFlags, TracingAction as ɵTracingAction, TracingService as ɵTracingService, TracingSnapshot as ɵTracingSnapshot, ZONELESS_ENABLED as ɵZONELESS_ENABLED, getDebugNode as ɵgetDebugNode, getDeferBlocks as ɵgetDeferBlocks, getInjectableDef as ɵgetInjectableDef, injectChangeDetectorRef as ɵinjectChangeDetectorRef, isBoundToModule as ɵisBoundToModule, isInjectable as ɵisInjectable, ɵɵComponentDeclaration, ɵɵDirectiveDeclaration, ɵɵInjectorDef, ɵɵPipeDeclaration, ɵɵdefineInjectable, ɵɵdefineInjector } from './discovery.d.js';
12
12
  import { ResourceOptions, ResourceRef, ResourceStreamingLoader, ResourceStatus, WritableResource, Resource } from './api.d.js';
13
13
  export { BaseResourceOptions, OutputEmitterRef, OutputOptions, PromiseResourceOptions, ResourceLoader, ResourceLoaderParams, ResourceStreamItem, StreamingResourceOptions, output, getOutputDestroyRef as ɵgetOutputDestroyRef } from './api.d.js';
14
14
  import './event_dispatcher.d.js';
@@ -3777,9 +3777,8 @@ declare function providePlatformInitializer(initializerFn: () => void): Environm
3777
3777
  * with the bootstrapModule API.
3778
3778
  */
3779
3779
  declare const PROVIDED_NG_ZONE: InjectionToken<boolean>;
3780
- declare function internalProvideZoneChangeDetection({ ngZoneFactory, ignoreChangesOutsideZone, scheduleInRootZone, }: {
3780
+ declare function internalProvideZoneChangeDetection({ ngZoneFactory, scheduleInRootZone, }: {
3781
3781
  ngZoneFactory?: () => NgZone;
3782
- ignoreChangesOutsideZone?: boolean;
3783
3782
  scheduleInRootZone?: boolean;
3784
3783
  }): StaticProvider[];
3785
3784
  /**
@@ -3851,24 +3850,6 @@ interface NgZoneOptions {
3851
3850
  *
3852
3851
  */
3853
3852
  runCoalescing?: boolean;
3854
- /**
3855
- * When false, change detection is scheduled when Angular receives
3856
- * a clear indication that templates need to be refreshed. This includes:
3857
- *
3858
- * - calling `ChangeDetectorRef.markForCheck`
3859
- * - calling `ComponentRef.setInput`
3860
- * - updating a signal that is read in a template
3861
- * - attaching a view that is marked dirty
3862
- * - removing a view
3863
- * - registering a render hook (templates are only refreshed if render hooks do one of the above)
3864
- *
3865
- * @deprecated This option was introduced out of caution as a way for developers to opt out of the
3866
- * new behavior in v18 which schedule change detection for the above events when they occur
3867
- * outside the Zone. After monitoring the results post-release, we have determined that this
3868
- * feature is working as desired and do not believe it should ever be disabled by setting
3869
- * this option to `true`.
3870
- */
3871
- ignoreChangesOutsideZone?: boolean;
3872
3853
  }
3873
3854
 
3874
3855
  declare class ChangeDetectionSchedulerImpl implements ChangeDetectionScheduler {
@@ -3943,27 +3924,6 @@ declare class ChangeDetectionSchedulerImpl implements ChangeDetectionScheduler {
3943
3924
  */
3944
3925
  declare function provideZonelessChangeDetection(): EnvironmentProviders;
3945
3926
 
3946
- /**
3947
- * Internal implementation of the pending tasks service.
3948
- */
3949
- declare class PendingTasksInternal implements OnDestroy {
3950
- private taskId;
3951
- private pendingTasks;
3952
- private destroyed;
3953
- private pendingTask;
3954
- get hasPendingTasks(): boolean;
3955
- /**
3956
- * In case the service is about to be destroyed, return a self-completing observable.
3957
- * Otherwise, return the observable that emits the current state of pending tasks.
3958
- */
3959
- get hasPendingTasksObservable(): Observable<boolean>;
3960
- add(): number;
3961
- has(taskId: number): boolean;
3962
- remove(taskId: number): void;
3963
- ngOnDestroy(): void;
3964
- /** @nocollapse */
3965
- static ɵprov: unknown;
3966
- }
3967
3927
  /**
3968
3928
  * Service that keeps track of pending tasks contributing to the stableness of Angular
3969
3929
  * application. While several existing Angular services (ex.: `HttpClient`) will internally manage
@@ -5249,6 +5209,28 @@ declare function isComponentDefPendingResolution(type: Type$1<any>): boolean;
5249
5209
  declare function clearResolutionOfComponentResourcesQueue(): Map<Type$1<any>, Component>;
5250
5210
  declare function restoreComponentResolutionQueue(queue: Map<Type$1<any>, Component>): void;
5251
5211
 
5212
+ /**
5213
+ * Internal implementation of the pending tasks service.
5214
+ */
5215
+ declare class PendingTasksInternal implements OnDestroy {
5216
+ private taskId;
5217
+ private pendingTasks;
5218
+ private destroyed;
5219
+ private pendingTask;
5220
+ get hasPendingTasks(): boolean;
5221
+ /**
5222
+ * In case the service is about to be destroyed, return a self-completing observable.
5223
+ * Otherwise, return the observable that emits the current state of pending tasks.
5224
+ */
5225
+ get hasPendingTasksObservable(): Observable<boolean>;
5226
+ add(): number;
5227
+ has(taskId: number): boolean;
5228
+ remove(taskId: number): void;
5229
+ ngOnDestroy(): void;
5230
+ /** @nocollapse */
5231
+ static ɵprov: unknown;
5232
+ }
5233
+
5252
5234
  /**
5253
5235
  * InjectionToken to control root component bootstrap behavior.
5254
5236
  *
@@ -5799,6 +5781,7 @@ interface AnimationDetails {
5799
5781
  classes: Set<string> | null;
5800
5782
  classFns?: Function[];
5801
5783
  animateFn: AnimationRemoveFunction;
5784
+ isEventBinding: boolean;
5802
5785
  }
5803
5786
 
5804
5787
  interface AnimationRemovalRegistry {
@@ -8904,8 +8887,10 @@ declare function getTransferState(injector: Injector): Record<string, unknown>;
8904
8887
  * tools are patched (window.ng).
8905
8888
  * */
8906
8889
  declare const GLOBAL_PUBLISH_EXPANDO_KEY = "ng";
8907
- interface NgGlobalPublishUtils {
8890
+ interface ExternalGlobalUtils {
8908
8891
  ɵgetLoadedRoutes(route: any): any;
8892
+ ɵnavigateByUrl(router: any, url: string): any;
8893
+ ɵgetRouterInstance(injector: any): any;
8909
8894
  }
8910
8895
  declare const globalUtilsFunctions: {
8911
8896
  /**
@@ -8934,7 +8919,6 @@ declare const globalUtilsFunctions: {
8934
8919
  isSignal: typeof isSignal;
8935
8920
  enableProfiling: typeof enableProfiling$1;
8936
8921
  };
8937
- type ExternalGlobalUtilsFunctions = keyof NgGlobalPublishUtils;
8938
8922
  /**
8939
8923
  * Default debug tools available under `window.ng`.
8940
8924
  */
@@ -8951,12 +8935,12 @@ type GlobalDevModeUtils = {
8951
8935
  */
8952
8936
  type FrameworkAgnosticGlobalUtils = Omit<typeof globalUtilsFunctions, 'getDirectiveMetadata'> & {
8953
8937
  getDirectiveMetadata(directiveOrComponentInstance: any): DirectiveDebugMetadata | null;
8954
- };
8938
+ } & ExternalGlobalUtils;
8955
8939
  /**
8956
8940
  * Publishes the given function to `window.ng` from package other than @angular/core
8957
8941
  * So that it can be used from the browser console when an application is not in production.
8958
8942
  */
8959
- declare function publishExternalGlobalUtil<K extends ExternalGlobalUtilsFunctions>(name: K, fn: NgGlobalPublishUtils[K]): void;
8943
+ declare function publishExternalGlobalUtil<K extends keyof ExternalGlobalUtils>(name: K, fn: ExternalGlobalUtils[K]): void;
8960
8944
 
8961
8945
  /**
8962
8946
  * An `html` sanitizer which converts untrusted `html` **string** into trusted string by removing
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/core",
3
- "version": "21.0.0-next.1",
3
+ "version": "21.0.0-next.2",
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": "21.0.0-next.1",
49
+ "@angular/compiler": "21.0.0-next.2",
50
50
  "rxjs": "^6.5.3 || ^7.4.0",
51
51
  "zone.js": "~0.15.0"
52
52
  },
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v21.0.0-next.1
2
+ * @license Angular v21.0.0-next.2
3
3
  * (c) 2010-2025 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v21.0.0-next.1
2
+ * @license Angular v21.0.0-next.2
3
3
  * (c) 2010-2025 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v21.0.0-next.1
2
+ * @license Angular v21.0.0-next.2
3
3
  * (c) 2010-2025 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v21.0.0-next.1
2
+ * @license Angular v21.0.0-next.2
3
3
  * (c) 2010-2025 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -0,0 +1,95 @@
1
+ 'use strict';
2
+ /**
3
+ * @license Angular v21.0.0-next.2
4
+ * (c) 2010-2025 Google LLC. https://angular.io/
5
+ * License: MIT
6
+ */
7
+ 'use strict';
8
+
9
+ var project_tsconfig_paths = require('./project_tsconfig_paths-DZ17BWwk.cjs');
10
+ require('typescript');
11
+ require('os');
12
+ var apply_import_manager = require('./apply_import_manager-B3czqUhF.cjs');
13
+ require('./index-B6-f9bil.cjs');
14
+ require('path');
15
+ require('node:path');
16
+ var project_paths = require('./project_paths-D64fJzoa.cjs');
17
+ var imports = require('./imports-26VeX8i-.cjs');
18
+ require('@angular-devkit/core');
19
+ require('node:path/posix');
20
+ require('fs');
21
+ require('module');
22
+ require('url');
23
+ require('@angular-devkit/schematics');
24
+
25
+ /** Migration that moves the import of `ApplicationConfig` from `platform-browser` to `core`. */
26
+ class ApplicationConfigCoreMigration extends project_paths.TsurgeFunnelMigration {
27
+ async analyze(info) {
28
+ const replacements = [];
29
+ let importManager = null;
30
+ for (const sourceFile of info.sourceFiles) {
31
+ const specifier = imports.getImportSpecifier(sourceFile, '@angular/platform-browser', 'ApplicationConfig');
32
+ if (!specifier) {
33
+ continue;
34
+ }
35
+ importManager ??= new project_tsconfig_paths.ImportManager({
36
+ // Prevent the manager from trying to generate a non-conflicting import.
37
+ generateUniqueIdentifier: () => null,
38
+ shouldUseSingleQuotes: () => true,
39
+ });
40
+ importManager.removeImport(sourceFile, 'ApplicationConfig', '@angular/platform-browser');
41
+ importManager.addImport({
42
+ exportSymbolName: 'ApplicationConfig',
43
+ exportModuleSpecifier: '@angular/core',
44
+ requestedFile: sourceFile,
45
+ unsafeAliasOverride: specifier.propertyName ? specifier.name.text : undefined,
46
+ });
47
+ }
48
+ if (importManager !== null) {
49
+ apply_import_manager.applyImportManagerChanges(importManager, replacements, info.sourceFiles, info);
50
+ }
51
+ return project_paths.confirmAsSerializable({ replacements });
52
+ }
53
+ async migrate(globalData) {
54
+ return project_paths.confirmAsSerializable(globalData);
55
+ }
56
+ async combine(unitA, unitB) {
57
+ const seen = new Set();
58
+ const combined = [];
59
+ [unitA.replacements, unitB.replacements].forEach((replacements) => {
60
+ replacements.forEach((current) => {
61
+ const { position, end, toInsert } = current.update.data;
62
+ const key = current.projectFile.id + '/' + position + '/' + end + '/' + toInsert;
63
+ if (!seen.has(key)) {
64
+ seen.add(key);
65
+ combined.push(current);
66
+ }
67
+ });
68
+ });
69
+ return project_paths.confirmAsSerializable({ replacements: combined });
70
+ }
71
+ async globalMeta(combinedData) {
72
+ return project_paths.confirmAsSerializable(combinedData);
73
+ }
74
+ async stats() {
75
+ return project_paths.confirmAsSerializable({});
76
+ }
77
+ }
78
+
79
+ /*!
80
+ * @license
81
+ * Copyright Google LLC All Rights Reserved.
82
+ *
83
+ * Use of this source code is governed by an MIT-style license that can be
84
+ * found in the LICENSE file at https://angular.dev/license
85
+ */
86
+ function migrate() {
87
+ return async (tree) => {
88
+ await project_paths.runMigrationInDevkit({
89
+ tree,
90
+ getMigration: () => new ApplicationConfigCoreMigration(),
91
+ });
92
+ };
93
+ }
94
+
95
+ exports.migrate = migrate;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v21.0.0-next.1
3
+ * @license Angular v21.0.0-next.2
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-D7xzGqRi.cjs');
12
- var project_paths = require('./project_paths-T_M15e2g.cjs');
11
+ var project_tsconfig_paths = require('./project_tsconfig_paths-DZ17BWwk.cjs');
12
+ var project_paths = require('./project_paths-D64fJzoa.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 v21.0.0-next.1
3
+ * @license Angular v21.0.0-next.2
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-T_M15e2g.cjs');
11
+ var project_paths = require('./project_paths-D64fJzoa.cjs');
12
12
  var ts = require('typescript');
13
13
  require('os');
14
- var project_tsconfig_paths = require('./project_tsconfig_paths-D7xzGqRi.cjs');
15
- var index = require('./index-jjHOgYYs.cjs');
14
+ var project_tsconfig_paths = require('./project_tsconfig_paths-DZ17BWwk.cjs');
15
+ var index = require('./index-B6-f9bil.cjs');
16
16
  require('path');
17
17
  require('node:path');
18
- var apply_import_manager = require('./apply_import_manager-yycO3l8f.cjs');
18
+ var apply_import_manager = require('./apply_import_manager-B3czqUhF.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 v21.0.0-next.1
3
+ * @license Angular v21.0.0-next.2
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-D7xzGqRi.cjs');
10
+ var project_tsconfig_paths = require('./project_tsconfig_paths-DZ17BWwk.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 v21.0.0-next.1
3
+ * @license Angular v21.0.0-next.2
4
4
  * (c) 2010-2025 Google LLC. https://angular.io/
5
5
  * License: MIT
6
6
  */
@@ -8,10 +8,10 @@
8
8
 
9
9
  var schematics = require('@angular-devkit/schematics');
10
10
  var p = require('path');
11
- var compiler_host = require('./compiler_host-DrXTGf_7.cjs');
12
- var project_tsconfig_paths = require('./project_tsconfig_paths-D7xzGqRi.cjs');
11
+ var compiler_host = require('./compiler_host-B9qvCnmC.cjs');
12
+ var project_tsconfig_paths = require('./project_tsconfig_paths-DZ17BWwk.cjs');
13
13
  var ts = require('typescript');
14
- var parse_html = require('./parse_html-CXR8hziE.cjs');
14
+ var parse_html = require('./parse_html-C8TYlOyu.cjs');
15
15
  require('os');
16
16
  require('fs');
17
17
  require('module');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v21.0.0-next.1
3
+ * @license Angular v21.0.0-next.2
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 v21.0.0-next.1
3
+ * @license Angular v21.0.0-next.2
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-D7xzGqRi.cjs');
9
+ var project_tsconfig_paths = require('./project_tsconfig_paths-DZ17BWwk.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('21.0.0-next.1'));
894
+ definitionMap.set('version', project_tsconfig_paths.literal('21.0.0-next.2'));
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('21.0.0-next.1'));
912
+ definitionMap.set('version', project_tsconfig_paths.literal('21.0.0-next.2'));
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('21.0.0-next.1'));
1007
+ definitionMap.set('version', project_tsconfig_paths.literal('21.0.0-next.2'));
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('21.0.0-next.1'));
1423
+ definitionMap.set('version', project_tsconfig_paths.literal('21.0.0-next.2'));
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('21.0.0-next.1'));
1458
+ definitionMap.set('version', project_tsconfig_paths.literal('21.0.0-next.2'));
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('21.0.0-next.1'));
1509
+ definitionMap.set('version', project_tsconfig_paths.literal('21.0.0-next.2'));
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('21.0.0-next.1'));
1542
+ definitionMap.set('version', project_tsconfig_paths.literal('21.0.0-next.2'));
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('21.0.0-next.1'));
1593
+ definitionMap.set('version', project_tsconfig_paths.literal('21.0.0-next.2'));
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);
@@ -12332,7 +12332,7 @@ class PipeDecoratorHandler {
12332
12332
  * @description
12333
12333
  * Entry point for all public APIs of the compiler-cli package.
12334
12334
  */
12335
- new project_tsconfig_paths.Version('21.0.0-next.1');
12335
+ new project_tsconfig_paths.Version('21.0.0-next.2');
12336
12336
 
12337
12337
  /**
12338
12338
  * Whether a given decorator should be treated as an Angular decorator.
@@ -20322,7 +20322,7 @@ var semver = /*@__PURE__*/getDefaultExportFromCjs(semverExports);
20322
20322
  * @param minVersion Minimum required version for the feature.
20323
20323
  */
20324
20324
  function coreVersionSupportsFeature(coreVersion, minVersion) {
20325
- // A version of `21.0.0-next.1` usually means that core is at head so it supports
20325
+ // A version of `21.0.0-next.2` usually means that core is at head so it supports
20326
20326
  // all features. Use string interpolation prevent the placeholder from being replaced
20327
20327
  // with the current version during build time.
20328
20328
  if (coreVersion === `0.0.0-${'PLACEHOLDER'}`) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
  /**
3
- * @license Angular v21.0.0-next.1
3
+ * @license Angular v21.0.0-next.2
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-D7xzGqRi.cjs');
12
- var index = require('./index-jjHOgYYs.cjs');
11
+ var project_tsconfig_paths = require('./project_tsconfig_paths-DZ17BWwk.cjs');
12
+ var index = require('./index-B6-f9bil.cjs');
13
13
  require('path');
14
14
  require('node:path');
15
- var project_paths = require('./project_paths-T_M15e2g.cjs');
15
+ var project_paths = require('./project_paths-D64fJzoa.cjs');
16
16
 
17
17
  function getMemberName(member) {
18
18
  if (member.name === undefined) {