@angular/core 19.2.9 → 19.2.11
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.
- package/{event_dispatcher.d-DlbccpYq.d.ts → event_dispatcher.d-K56StcHr.d.ts} +50 -1
- package/fesm2022/core.mjs +32 -24
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/primitives/di.mjs +1 -1
- package/fesm2022/primitives/event-dispatch.mjs +3 -2
- package/fesm2022/primitives/event-dispatch.mjs.map +1 -1
- package/fesm2022/primitives/signals.mjs +1 -1
- package/fesm2022/primitives/signals.mjs.map +1 -1
- package/fesm2022/rxjs-interop.mjs +1 -1
- package/fesm2022/testing.mjs +37 -37
- package/fesm2022/testing.mjs.map +1 -1
- package/fesm2022/untracked-BKcld_ew.mjs +1 -1
- package/fesm2022/untracked-BKcld_ew.mjs.map +1 -1
- package/index.d.ts +3 -52
- package/navigation_types.d-fAxd92YV.d.ts +1 -1
- package/package.json +1 -1
- package/primitives/di/index.d.ts +1 -1
- package/primitives/event-dispatch/index.d.ts +3 -3
- package/primitives/signals/index.d.ts +1 -1
- package/rxjs-interop/index.d.ts +1 -1
- package/schematics/bundles/{apply_import_manager-COqnCltX.js → apply_import_manager-DdHXpkne.js} +3 -3
- package/schematics/bundles/{checker-BNmiXJIJ.js → checker-CGGdizaF.js} +12 -14
- package/schematics/bundles/cleanup-unused-imports.js +5 -5
- package/schematics/bundles/{compiler_host-BafHjBMK.js → compiler_host-BmQrIxJT.js} +2 -2
- package/schematics/bundles/control-flow-migration.js +3 -3
- package/schematics/bundles/explicit-standalone-flag.js +3 -3
- package/schematics/bundles/imports-CIX-JgAN.js +1 -1
- package/schematics/bundles/{index-CAJ-Rm56.js → index-BF06LaCS.js} +12 -12
- package/schematics/bundles/{index-rvZ5aROS.js → index-DGcgCgNa.js} +4 -4
- package/schematics/bundles/inject-migration.js +3 -3
- package/schematics/bundles/leading_space-D9nQ8UQC.js +1 -1
- package/schematics/bundles/{migrate_ts_type_references-BIV-FPWl.js → migrate_ts_type_references-CE_V0IM9.js} +5 -5
- package/schematics/bundles/ng_decorators-DznZ5jMl.js +1 -1
- package/schematics/bundles/nodes-B16H9JUd.js +1 -1
- package/schematics/bundles/output-migration.js +6 -6
- package/schematics/bundles/pending-tasks.js +3 -3
- package/schematics/bundles/{project_paths-A9I0g_ID.js → project_paths-CmS2U6KE.js} +3 -3
- package/schematics/bundles/project_tsconfig_paths-CDVxT6Ov.js +1 -1
- package/schematics/bundles/property_name-BBwFuqMe.js +1 -1
- package/schematics/bundles/provide-initializer.js +3 -3
- package/schematics/bundles/route-lazy-loading.js +3 -3
- package/schematics/bundles/self-closing-tags-migration.js +4 -4
- package/schematics/bundles/signal-input-migration.js +7 -7
- package/schematics/bundles/signal-queries-migration.js +7 -7
- package/schematics/bundles/signals.js +7 -7
- package/schematics/bundles/standalone-migration.js +4 -4
- package/testing/index.d.ts +3 -3
- package/weak_ref.d-DWHPG08n.d.ts +1 -1
|
@@ -1,9 +1,58 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v19.2.
|
|
2
|
+
* @license Angular v19.2.11
|
|
3
3
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
+
declare global {
|
|
8
|
+
/**
|
|
9
|
+
* Values of ngDevMode
|
|
10
|
+
* Depending on the current state of the application, ngDevMode may have one of several values.
|
|
11
|
+
*
|
|
12
|
+
* For convenience, the “truthy” value which enables dev mode is also an object which contains
|
|
13
|
+
* Angular’s performance counters. This is not necessary, but cuts down on boilerplate for the
|
|
14
|
+
* perf counters.
|
|
15
|
+
*
|
|
16
|
+
* ngDevMode may also be set to false. This can happen in one of a few ways:
|
|
17
|
+
* - The user explicitly sets `window.ngDevMode = false` somewhere in their app.
|
|
18
|
+
* - The user calls `enableProdMode()`.
|
|
19
|
+
* - The URL contains a `ngDevMode=false` text.
|
|
20
|
+
* Finally, ngDevMode may not have been defined at all.
|
|
21
|
+
*/
|
|
22
|
+
const ngDevMode: null | NgDevModePerfCounters;
|
|
23
|
+
interface NgDevModePerfCounters {
|
|
24
|
+
namedConstructors: boolean;
|
|
25
|
+
firstCreatePass: number;
|
|
26
|
+
tNode: number;
|
|
27
|
+
tView: number;
|
|
28
|
+
rendererCreateTextNode: number;
|
|
29
|
+
rendererSetText: number;
|
|
30
|
+
rendererCreateElement: number;
|
|
31
|
+
rendererAddEventListener: number;
|
|
32
|
+
rendererSetAttribute: number;
|
|
33
|
+
rendererRemoveAttribute: number;
|
|
34
|
+
rendererSetProperty: number;
|
|
35
|
+
rendererSetClassName: number;
|
|
36
|
+
rendererAddClass: number;
|
|
37
|
+
rendererRemoveClass: number;
|
|
38
|
+
rendererSetStyle: number;
|
|
39
|
+
rendererRemoveStyle: number;
|
|
40
|
+
rendererDestroy: number;
|
|
41
|
+
rendererDestroyNode: number;
|
|
42
|
+
rendererMoveNode: number;
|
|
43
|
+
rendererRemoveNode: number;
|
|
44
|
+
rendererAppendChild: number;
|
|
45
|
+
rendererInsertBefore: number;
|
|
46
|
+
rendererCreateComment: number;
|
|
47
|
+
hydratedNodes: number;
|
|
48
|
+
hydratedComponents: number;
|
|
49
|
+
dehydratedViewsRemoved: number;
|
|
50
|
+
dehydratedViewsCleanupRuns: number;
|
|
51
|
+
componentsSkippedHydration: number;
|
|
52
|
+
deferBlocksWithIncrementalHydration: number;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
7
56
|
/**
|
|
8
57
|
* Records information about the action that should handle a given `Event`.
|
|
9
58
|
*/
|
package/fesm2022/core.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v19.2.
|
|
2
|
+
* @license Angular v19.2.11
|
|
3
3
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -674,8 +674,12 @@ function getInjectorDef(type) {
|
|
|
674
674
|
const NG_PROV_DEF = getClosureSafeProperty({ ɵprov: getClosureSafeProperty });
|
|
675
675
|
const NG_INJ_DEF = getClosureSafeProperty({ ɵinj: getClosureSafeProperty });
|
|
676
676
|
// We need to keep these around so we can read off old defs if new defs are unavailable
|
|
677
|
-
const NG_INJECTABLE_DEF = getClosureSafeProperty({
|
|
678
|
-
|
|
677
|
+
const NG_INJECTABLE_DEF = getClosureSafeProperty({
|
|
678
|
+
ngInjectableDef: getClosureSafeProperty,
|
|
679
|
+
});
|
|
680
|
+
const NG_INJECTOR_DEF = getClosureSafeProperty({
|
|
681
|
+
ngInjectorDef: getClosureSafeProperty,
|
|
682
|
+
});
|
|
679
683
|
|
|
680
684
|
/**
|
|
681
685
|
* Creates a token that can be used in a DI Provider.
|
|
@@ -899,7 +903,9 @@ const NG_FACTORY_DEF = getClosureSafeProperty({ ɵfac: getClosureSafeProperty })
|
|
|
899
903
|
* bloom filter bit for DI.
|
|
900
904
|
*/
|
|
901
905
|
// TODO(misko): This is wrong. The NG_ELEMENT_ID should never be minified.
|
|
902
|
-
const NG_ELEMENT_ID = getClosureSafeProperty({
|
|
906
|
+
const NG_ELEMENT_ID = getClosureSafeProperty({
|
|
907
|
+
__NG_ELEMENT_ID__: getClosureSafeProperty,
|
|
908
|
+
});
|
|
903
909
|
/**
|
|
904
910
|
* The `NG_ENV_ID` field on a DI token indicates special processing in the `EnvironmentInjector`:
|
|
905
911
|
* getting such tokens from the `EnvironmentInjector` will bypass the standard DI resolution
|
|
@@ -2140,7 +2146,7 @@ class R3Injector extends EnvironmentInjector {
|
|
|
2140
2146
|
}
|
|
2141
2147
|
// If a record was found, get the instance for it and return it.
|
|
2142
2148
|
if (record != null /* NOT null || undefined */) {
|
|
2143
|
-
return this.hydrate(token, record);
|
|
2149
|
+
return this.hydrate(token, record, flags);
|
|
2144
2150
|
}
|
|
2145
2151
|
}
|
|
2146
2152
|
// Select the next injector based on the Self flag - if self is set, the next injector is
|
|
@@ -2263,7 +2269,7 @@ class R3Injector extends EnvironmentInjector {
|
|
|
2263
2269
|
}
|
|
2264
2270
|
this.records.set(token, record);
|
|
2265
2271
|
}
|
|
2266
|
-
hydrate(token, record) {
|
|
2272
|
+
hydrate(token, record, flags) {
|
|
2267
2273
|
const prevConsumer = setActiveConsumer(null);
|
|
2268
2274
|
try {
|
|
2269
2275
|
if (record.value === CIRCULAR) {
|
|
@@ -2273,12 +2279,12 @@ class R3Injector extends EnvironmentInjector {
|
|
|
2273
2279
|
record.value = CIRCULAR;
|
|
2274
2280
|
if (ngDevMode) {
|
|
2275
2281
|
runInInjectorProfilerContext(this, token, () => {
|
|
2276
|
-
record.value = record.factory();
|
|
2282
|
+
record.value = record.factory(undefined, flags);
|
|
2277
2283
|
emitInstanceCreatedByInjectorEvent(record.value);
|
|
2278
2284
|
});
|
|
2279
2285
|
}
|
|
2280
2286
|
else {
|
|
2281
|
-
record.value = record.factory();
|
|
2287
|
+
record.value = record.factory(undefined, flags);
|
|
2282
2288
|
}
|
|
2283
2289
|
}
|
|
2284
2290
|
if (typeof record.value === 'object' && record.value && hasOnDestroy(record.value)) {
|
|
@@ -2379,7 +2385,7 @@ function providerToFactory(provider, ngModuleType, providers) {
|
|
|
2379
2385
|
factory = () => provider.useFactory(...injectArgs(provider.deps || []));
|
|
2380
2386
|
}
|
|
2381
2387
|
else if (isExistingProvider(provider)) {
|
|
2382
|
-
factory = () => ɵɵinject(resolveForwardRef(provider.useExisting));
|
|
2388
|
+
factory = (_, flags) => ɵɵinject(resolveForwardRef(provider.useExisting), flags !== undefined && flags & InjectFlags.Optional ? InjectFlags.Optional : undefined);
|
|
2383
2389
|
}
|
|
2384
2390
|
else {
|
|
2385
2391
|
const classRef = resolveForwardRef(provider &&
|
|
@@ -5245,7 +5251,7 @@ function searchTokensOnInjector(injectorIndex, lView, token, previousTView, flag
|
|
|
5245
5251
|
const isHostSpecialCase = flags & InjectFlags.Host && hostTElementNode === tNode;
|
|
5246
5252
|
const injectableIdx = locateDirectiveOrProvider(tNode, currentTView, token, canAccessViewProviders, isHostSpecialCase);
|
|
5247
5253
|
if (injectableIdx !== null) {
|
|
5248
|
-
return getNodeInjectable(lView, currentTView, injectableIdx, tNode);
|
|
5254
|
+
return getNodeInjectable(lView, currentTView, injectableIdx, tNode, flags);
|
|
5249
5255
|
}
|
|
5250
5256
|
else {
|
|
5251
5257
|
return NOT_FOUND;
|
|
@@ -5295,7 +5301,7 @@ function locateDirectiveOrProvider(tNode, tView, token, canAccessViewProviders,
|
|
|
5295
5301
|
* cached `injectable`. Otherwise if it detects that the value is still a factory it
|
|
5296
5302
|
* instantiates the `injectable` and caches the value.
|
|
5297
5303
|
*/
|
|
5298
|
-
function getNodeInjectable(lView, tView, index, tNode) {
|
|
5304
|
+
function getNodeInjectable(lView, tView, index, tNode, flags) {
|
|
5299
5305
|
let value = lView[index];
|
|
5300
5306
|
const tData = tView.data;
|
|
5301
5307
|
if (value instanceof NodeInjectorFactory) {
|
|
@@ -5322,7 +5328,7 @@ function getNodeInjectable(lView, tView, index, tNode) {
|
|
|
5322
5328
|
ngDevMode &&
|
|
5323
5329
|
assertEqual(success, true, "Because flags do not contain `SkipSelf' we expect this to always succeed.");
|
|
5324
5330
|
try {
|
|
5325
|
-
value = lView[index] = factory.factory(undefined, tData, lView, tNode);
|
|
5331
|
+
value = lView[index] = factory.factory(undefined, flags, tData, lView, tNode);
|
|
5326
5332
|
ngDevMode && emitInstanceCreatedByInjectorEvent(value);
|
|
5327
5333
|
// This code path is hit for both directives and providers.
|
|
5328
5334
|
// For perf reasons, we want to avoid searching for hooks on providers.
|
|
@@ -17944,7 +17950,7 @@ class ComponentFactory extends ComponentFactory$1 {
|
|
|
17944
17950
|
const cmpDef = this.componentDef;
|
|
17945
17951
|
ngDevMode && verifyNotAnOrphanComponent(cmpDef);
|
|
17946
17952
|
const tAttributes = rootSelectorOrNode
|
|
17947
|
-
? ['ng-version', '19.2.
|
|
17953
|
+
? ['ng-version', '19.2.11']
|
|
17948
17954
|
: // Extract attributes and classes from the first selector only to match VE behavior.
|
|
17949
17955
|
extractAttrsAndClassesFromSelector(this.componentDef.selectors[0]);
|
|
17950
17956
|
// Create the root view. Uses empty TView and ContentTemplate.
|
|
@@ -22561,6 +22567,7 @@ function getSignalGraph(injector) {
|
|
|
22561
22567
|
return getNodesAndEdgesFromSignalMap(signalDependenciesMap);
|
|
22562
22568
|
}
|
|
22563
22569
|
|
|
22570
|
+
/// <reference path="../../../../goog.d.ts" />
|
|
22564
22571
|
/**
|
|
22565
22572
|
* This file introduces series of globally accessible debug tools
|
|
22566
22573
|
* to allow for the Angular debugging story to function.
|
|
@@ -23912,8 +23919,7 @@ function triggerResourceLoading(tDetails, lView, tNode) {
|
|
|
23912
23919
|
}
|
|
23913
23920
|
}
|
|
23914
23921
|
// Indicate that an application is not stable and has a pending task.
|
|
23915
|
-
const
|
|
23916
|
-
const taskId = pendingTasks.add();
|
|
23922
|
+
const removeTask = injector.get(PendingTasks).add();
|
|
23917
23923
|
// The `dependenciesFn` might be `null` when all dependencies within
|
|
23918
23924
|
// a given defer block were eagerly referenced elsewhere in a file,
|
|
23919
23925
|
// thus no dynamic `import()`s were produced.
|
|
@@ -23921,7 +23927,7 @@ function triggerResourceLoading(tDetails, lView, tNode) {
|
|
|
23921
23927
|
tDetails.loadingPromise = Promise.resolve().then(() => {
|
|
23922
23928
|
tDetails.loadingPromise = null;
|
|
23923
23929
|
tDetails.loadingState = DeferDependenciesLoadingState.COMPLETE;
|
|
23924
|
-
|
|
23930
|
+
removeTask();
|
|
23925
23931
|
});
|
|
23926
23932
|
return tDetails.loadingPromise;
|
|
23927
23933
|
}
|
|
@@ -23949,10 +23955,6 @@ function triggerResourceLoading(tDetails, lView, tNode) {
|
|
|
23949
23955
|
break;
|
|
23950
23956
|
}
|
|
23951
23957
|
}
|
|
23952
|
-
// Loading is completed, we no longer need the loading Promise
|
|
23953
|
-
// and a pending task should also be removed.
|
|
23954
|
-
tDetails.loadingPromise = null;
|
|
23955
|
-
pendingTasks.remove(taskId);
|
|
23956
23958
|
if (failed) {
|
|
23957
23959
|
tDetails.loadingState = DeferDependenciesLoadingState.FAILED;
|
|
23958
23960
|
if (tDetails.errorTmplIndex === null) {
|
|
@@ -23981,7 +23983,12 @@ function triggerResourceLoading(tDetails, lView, tNode) {
|
|
|
23981
23983
|
}
|
|
23982
23984
|
}
|
|
23983
23985
|
});
|
|
23984
|
-
return tDetails.loadingPromise
|
|
23986
|
+
return tDetails.loadingPromise.finally(() => {
|
|
23987
|
+
// Loading is completed, we no longer need the loading Promise
|
|
23988
|
+
// and a pending task should also be removed.
|
|
23989
|
+
tDetails.loadingPromise = null;
|
|
23990
|
+
removeTask();
|
|
23991
|
+
});
|
|
23985
23992
|
}
|
|
23986
23993
|
/**
|
|
23987
23994
|
* Defines whether we should proceed with triggering a given defer block.
|
|
@@ -32422,7 +32429,7 @@ function indexOf(item, arr, begin, end) {
|
|
|
32422
32429
|
/**
|
|
32423
32430
|
* Use this with `multi` `providers`.
|
|
32424
32431
|
*/
|
|
32425
|
-
function multiProvidersFactoryResolver(_, tData, lData, tNode) {
|
|
32432
|
+
function multiProvidersFactoryResolver(_, flags, tData, lData, tNode) {
|
|
32426
32433
|
return multiResolve(this.multi, []);
|
|
32427
32434
|
}
|
|
32428
32435
|
/**
|
|
@@ -32430,7 +32437,7 @@ function multiProvidersFactoryResolver(_, tData, lData, tNode) {
|
|
|
32430
32437
|
*
|
|
32431
32438
|
* This factory knows how to concatenate itself with the existing `multi` `providers`.
|
|
32432
32439
|
*/
|
|
32433
|
-
function multiViewProvidersFactoryResolver(_,
|
|
32440
|
+
function multiViewProvidersFactoryResolver(_, _flags, _tData, lView, tNode) {
|
|
32434
32441
|
const factories = this.multi;
|
|
32435
32442
|
let result;
|
|
32436
32443
|
if (this.providerFactory) {
|
|
@@ -34683,7 +34690,7 @@ class Version {
|
|
|
34683
34690
|
/**
|
|
34684
34691
|
* @publicApi
|
|
34685
34692
|
*/
|
|
34686
|
-
const VERSION = new Version('19.2.
|
|
34693
|
+
const VERSION = new Version('19.2.11');
|
|
34687
34694
|
|
|
34688
34695
|
/**
|
|
34689
34696
|
* Combination of NgModuleFactory and ComponentFactories.
|
|
@@ -35332,6 +35339,7 @@ function provideExperimentalZonelessChangeDetection() {
|
|
|
35332
35339
|
]);
|
|
35333
35340
|
}
|
|
35334
35341
|
|
|
35342
|
+
/// <reference path="../../../goog.d.ts" />
|
|
35335
35343
|
/**
|
|
35336
35344
|
* Work out the locale from the potential global properties.
|
|
35337
35345
|
*
|