@angular/core 21.1.0-next.0 → 21.1.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.
- package/fesm2022/_attribute-chunk.mjs +1 -1
- package/fesm2022/_attribute-chunk.mjs.map +1 -1
- package/fesm2022/_debug_node-chunk.mjs +308 -239
- package/fesm2022/_debug_node-chunk.mjs.map +1 -1
- package/fesm2022/_effect-chunk.mjs +1 -1
- package/fesm2022/_effect-chunk.mjs.map +1 -1
- package/fesm2022/_linked_signal-chunk.mjs +1 -1
- package/fesm2022/_linked_signal-chunk.mjs.map +1 -1
- package/fesm2022/_not_found-chunk.mjs +1 -1
- package/fesm2022/_not_found-chunk.mjs.map +1 -1
- package/fesm2022/_resource-chunk.mjs +5 -2
- package/fesm2022/_resource-chunk.mjs.map +1 -1
- package/fesm2022/_untracked-chunk.mjs +40 -40
- package/fesm2022/_untracked-chunk.mjs.map +1 -1
- package/fesm2022/_weak_ref-chunk.mjs +1 -1
- package/fesm2022/_weak_ref-chunk.mjs.map +1 -1
- package/fesm2022/core.mjs +5 -5
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/primitives-di.mjs +1 -1
- package/fesm2022/primitives-di.mjs.map +1 -1
- package/fesm2022/primitives-event-dispatch.mjs +1 -1
- package/fesm2022/primitives-event-dispatch.mjs.map +1 -1
- package/fesm2022/primitives-signals.mjs +3 -3
- package/fesm2022/primitives-signals.mjs.map +1 -1
- package/fesm2022/rxjs-interop.mjs +1 -1
- package/fesm2022/rxjs-interop.mjs.map +1 -1
- package/fesm2022/testing.mjs +19 -10
- package/fesm2022/testing.mjs.map +1 -1
- package/package.json +2 -2
- package/schematics/bundles/add-bootstrap-context-to-server-main.cjs +1 -1
- package/schematics/bundles/application-config-core.cjs +1 -1
- package/schematics/bundles/apply_import_manager-1Zs_gpB6.cjs +1 -1
- package/schematics/bundles/bootstrap-options-migration.cjs +52 -7
- package/schematics/bundles/cleanup-unused-imports.cjs +1 -1
- package/schematics/bundles/common-to-standalone-migration.cjs +1 -1
- package/schematics/bundles/compiler_host-DBwYMlTo.cjs +1 -1
- package/schematics/bundles/control-flow-migration.cjs +1 -1
- package/schematics/bundles/imports-DP72APSx.cjs +1 -1
- package/schematics/bundles/index-B7I9sIUx.cjs +1 -1
- package/schematics/bundles/inject-migration.cjs +1 -1
- package/schematics/bundles/leading_space-D9nQ8UQC.cjs +1 -1
- package/schematics/bundles/migrate_ts_type_references-UGIUl7En.cjs +1 -1
- package/schematics/bundles/ng_component_template-Dsuq1Lw7.cjs +1 -1
- package/schematics/bundles/ng_decorators-DSFlWYQY.cjs +1 -1
- package/schematics/bundles/ngclass-to-class-migration.cjs +1 -1
- package/schematics/bundles/ngstyle-to-style-migration.cjs +1 -1
- package/schematics/bundles/nodes-B16H9JUd.cjs +1 -1
- package/schematics/bundles/output-migration.cjs +1 -1
- package/schematics/bundles/parse_html-8VLCL37B.cjs +1 -1
- package/schematics/bundles/project_paths-DvD50ouC.cjs +1 -1
- package/schematics/bundles/project_tsconfig_paths-CDVxT6Ov.cjs +1 -1
- package/schematics/bundles/property_name-BBwFuqMe.cjs +1 -1
- package/schematics/bundles/route-lazy-loading.cjs +1 -1
- package/schematics/bundles/router-current-navigation.cjs +1 -1
- package/schematics/bundles/router-last-successful-navigation.cjs +1 -1
- package/schematics/bundles/router-testing-module-migration.cjs +1 -1
- package/schematics/bundles/self-closing-tags-migration.cjs +1 -1
- package/schematics/bundles/signal-input-migration.cjs +1 -1
- package/schematics/bundles/signal-queries-migration.cjs +1 -1
- package/schematics/bundles/signals.cjs +1 -1
- package/schematics/bundles/standalone-migration.cjs +1 -1
- package/schematics/bundles/symbol-BObKoqes.cjs +1 -1
- package/types/_api-chunk.d.ts +1 -1
- package/types/_chrome_dev_tools_performance-chunk.d.ts +9 -2
- package/types/_discovery-chunk.d.ts +17 -7
- package/types/_effect-chunk.d.ts +1 -1
- package/types/_event_dispatcher-chunk.d.ts +1 -1
- package/types/_formatter-chunk.d.ts +1 -1
- package/types/_weak_ref-chunk.d.ts +1 -1
- package/types/core.d.ts +70 -28
- package/types/primitives-di.d.ts +1 -1
- package/types/primitives-event-dispatch.d.ts +1 -1
- package/types/primitives-signals.d.ts +1 -1
- package/types/rxjs-interop.d.ts +1 -1
- package/types/testing.d.ts +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@angular/core",
|
|
3
|
-
"version": "21.1.0-next.
|
|
3
|
+
"version": "21.1.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.1.0-next.
|
|
49
|
+
"@angular/compiler": "21.1.0-next.2",
|
|
50
50
|
"rxjs": "^6.5.3 || ^7.4.0",
|
|
51
51
|
"zone.js": "~0.15.0 || ~0.16.0"
|
|
52
52
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
/**
|
|
3
|
-
* @license Angular v21.1.0-next.
|
|
3
|
+
* @license Angular v21.1.0-next.2
|
|
4
4
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
5
5
|
* License: MIT
|
|
6
6
|
*/
|
|
@@ -118,13 +118,11 @@ class BootstrapOptionsMigration extends project_paths.TsurgeFunnelMigration {
|
|
|
118
118
|
optionLiteral = optionsNode;
|
|
119
119
|
addProvidersToBootstrapOption(optionProjectFile, optionLiteral, providerFn, replacements);
|
|
120
120
|
}
|
|
121
|
+
else if (this.isServerConfigZoneless(optionsNode, typeChecker)) {
|
|
122
|
+
// Nothing to migrate for the SSR bootstrap
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
121
125
|
else if (ts.isIdentifier(optionsNode)) {
|
|
122
|
-
// This case handled both `bootstrapApplication(App, appConfig)` and the server () => bootstrapApplication(App, appConfig)
|
|
123
|
-
// where appConfig is the result of a `mergeApplicationConfig` call.
|
|
124
|
-
// This is tricky case to handle, in G3 we're might not be able to resolve the identifier's value
|
|
125
|
-
// Our best alternative is to assume there is not CD providers set and add the ZoneChangeDetection provider
|
|
126
|
-
// In the cases where it is, we'll just override the zone provider we just set by re-used inthe appConfig providers
|
|
127
|
-
// TODO: Should we insert a TODO to clean this up ?
|
|
128
126
|
const text = `{...${optionsNode.getText()}, providers: [${providerFn}, ...${optionsNode.getText()}.providers]}`;
|
|
129
127
|
replacements.push(new project_paths.Replacement(currentProjectFile, new project_paths.TextUpdate({
|
|
130
128
|
position: optionsNode.getStart(),
|
|
@@ -148,6 +146,53 @@ class BootstrapOptionsMigration extends project_paths.TsurgeFunnelMigration {
|
|
|
148
146
|
requestedFile: sourceFile,
|
|
149
147
|
});
|
|
150
148
|
}
|
|
149
|
+
/**
|
|
150
|
+
* The optionsNode can be a appConfig built with mergeApplicationConfig
|
|
151
|
+
* In this case we need to analyze if the base config uses provideZonelessChangeDetection
|
|
152
|
+
*/
|
|
153
|
+
isServerConfigZoneless(optionsNode, typeChecker) {
|
|
154
|
+
// Check if optionsNode is a result of mergeApplicationConfig
|
|
155
|
+
let symbol = typeChecker.getSymbolAtLocation(optionsNode);
|
|
156
|
+
if (symbol && (symbol.flags & ts.SymbolFlags.Alias) !== 0) {
|
|
157
|
+
symbol = typeChecker.getAliasedSymbol(symbol);
|
|
158
|
+
}
|
|
159
|
+
const optionDeclaration = symbol?.getDeclarations()?.[0];
|
|
160
|
+
if (!optionDeclaration) {
|
|
161
|
+
return false;
|
|
162
|
+
}
|
|
163
|
+
if (!ts.isVariableDeclaration(optionDeclaration) ||
|
|
164
|
+
!optionDeclaration.initializer ||
|
|
165
|
+
!ts.isCallExpression(optionDeclaration.initializer) ||
|
|
166
|
+
!ts.isIdentifier(optionDeclaration.initializer.expression) ||
|
|
167
|
+
optionDeclaration.initializer.expression.text !== 'mergeApplicationConfig') {
|
|
168
|
+
// We didn't find a mergeApplicationConfig call, this isn't a server config
|
|
169
|
+
return false;
|
|
170
|
+
}
|
|
171
|
+
let maybeAppConfig = optionDeclaration.initializer.arguments[0];
|
|
172
|
+
if (ts.isIdentifier(maybeAppConfig)) {
|
|
173
|
+
const resolved = getObjectLiteralFromIdentifier(maybeAppConfig, typeChecker);
|
|
174
|
+
if (resolved) {
|
|
175
|
+
maybeAppConfig = resolved;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
if (maybeAppConfig && ts.isObjectLiteralExpression(maybeAppConfig)) {
|
|
179
|
+
for (const prop of maybeAppConfig.properties) {
|
|
180
|
+
if (ts.isPropertyAssignment(prop) &&
|
|
181
|
+
ts.isIdentifier(prop.name) &&
|
|
182
|
+
prop.name.text === 'providers' &&
|
|
183
|
+
ts.isArrayLiteralExpression(prop.initializer)) {
|
|
184
|
+
for (const el of prop.initializer.elements) {
|
|
185
|
+
if (ts.isCallExpression(el) &&
|
|
186
|
+
ts.isIdentifier(el.expression) &&
|
|
187
|
+
el.expression.text === 'provideZonelessChangeDetection') {
|
|
188
|
+
return true;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
return false;
|
|
195
|
+
}
|
|
151
196
|
analyzeCreateApplication(node, sourceFile, info, typeChecker, importManager, replacements) {
|
|
152
197
|
const hasExistingChangeDetectionProvider = hasChangeDetectionProvider(node, typeChecker);
|
|
153
198
|
if (hasExistingChangeDetectionProvider)
|
package/types/_api-chunk.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v21.1.0-next.
|
|
2
|
+
* @license Angular v21.1.0-next.2
|
|
3
3
|
* (c) 2010-2025 Google LLC. https://angular.dev/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -237,6 +237,13 @@ type Writable<T> = {
|
|
|
237
237
|
declare class InjectionToken<T> {
|
|
238
238
|
protected _desc: string;
|
|
239
239
|
readonly ɵprov: unknown;
|
|
240
|
+
/**
|
|
241
|
+
* @deprecated The `providedIn: NgModule` or `providedIn:'any'` options are deprecated. Please use the other signature.
|
|
242
|
+
*/
|
|
243
|
+
constructor(_desc: string, options: {
|
|
244
|
+
providedIn?: Type<any> | 'any';
|
|
245
|
+
factory: () => T;
|
|
246
|
+
});
|
|
240
247
|
/**
|
|
241
248
|
* @param _desc Description for the token,
|
|
242
249
|
* used only for debugging purposes,
|
|
@@ -843,7 +850,7 @@ declare global {
|
|
|
843
850
|
* Start listening to the Angular's internal performance-related events and route those to the Chrome DevTools performance panel.
|
|
844
851
|
* This enables Angular-specific data visualization when recording a performance profile directly in the Chrome DevTools.
|
|
845
852
|
*
|
|
846
|
-
*
|
|
853
|
+
* NOTE: Integration is enabled in the development mode only, this operation is noop in the production mode.
|
|
847
854
|
*
|
|
848
855
|
* @publicApi v21.0
|
|
849
856
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v21.1.0-next.
|
|
2
|
+
* @license Angular v21.1.0-next.2
|
|
3
3
|
* (c) 2010-2025 Google LLC. https://angular.dev/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -2319,6 +2319,8 @@ type ComponentTemplate<T> = {
|
|
|
2319
2319
|
* Definition of what a view queries function should look like.
|
|
2320
2320
|
*/
|
|
2321
2321
|
type ViewQueriesFunction<T> = <U extends T>(rf: RenderFlags, ctx: U) => void;
|
|
2322
|
+
/** Function that resolves providers and publishes them to the DI system. */
|
|
2323
|
+
type ProvidersResolver = (def: DirectiveDef<unknown>, processProvidersFn?: ProcessProvidersFunction) => void;
|
|
2322
2324
|
/**
|
|
2323
2325
|
* Definition of what a content queries function should look like.
|
|
2324
2326
|
*/
|
|
@@ -2459,8 +2461,10 @@ interface DirectiveDef<T> {
|
|
|
2459
2461
|
readonly hostAttrs: TAttributes | null;
|
|
2460
2462
|
/** Token representing the directive. Used by DI. */
|
|
2461
2463
|
readonly type: Type<T>;
|
|
2462
|
-
/** Function that resolves providers and publishes them into the DI system. */
|
|
2463
|
-
providersResolver:
|
|
2464
|
+
/** Function that resolves `providers` and publishes them into the DI system. */
|
|
2465
|
+
providersResolver: ProvidersResolver | null;
|
|
2466
|
+
/** Function that resolves `viewProviders` and publishes them into the DI system. */
|
|
2467
|
+
viewProvidersResolver: ProvidersResolver | null;
|
|
2464
2468
|
/** The selectors that will be used to match nodes to this directive. */
|
|
2465
2469
|
readonly selectors: CssSelectorList;
|
|
2466
2470
|
/**
|
|
@@ -5607,6 +5611,9 @@ interface HostListenerDecorator {
|
|
|
5607
5611
|
*
|
|
5608
5612
|
* @usageNotes
|
|
5609
5613
|
*
|
|
5614
|
+
* NOTE: **Always** prefer using the `host` property over `@HostListener`.
|
|
5615
|
+
* This decorator exist exclusively for backwards compatibility.
|
|
5616
|
+
*
|
|
5610
5617
|
* The following example declares a directive
|
|
5611
5618
|
* that attaches a click listener to a button and counts clicks.
|
|
5612
5619
|
*
|
|
@@ -5630,13 +5637,15 @@ interface HostListenerDecorator {
|
|
|
5630
5637
|
*
|
|
5631
5638
|
* The following example registers another DOM event handler that listens for `Enter` key-press
|
|
5632
5639
|
* events on the global `window`.
|
|
5633
|
-
* ```ts
|
|
5640
|
+
* ```angular-ts
|
|
5634
5641
|
* import { HostListener, Component } from "@angular/core";
|
|
5635
5642
|
*
|
|
5636
5643
|
* @Component({
|
|
5637
5644
|
* selector: 'app',
|
|
5638
|
-
* template:
|
|
5639
|
-
*
|
|
5645
|
+
* template: `
|
|
5646
|
+
* <h1>Hello, you have pressed enter {{counter}} number of times!</h1>
|
|
5647
|
+
* Press enter key to increment the counter.
|
|
5648
|
+
* <button (click)="resetCounter()">Reset Counter</button>`
|
|
5640
5649
|
* })
|
|
5641
5650
|
* class AppComponent {
|
|
5642
5651
|
* counter = 0;
|
|
@@ -5653,7 +5662,7 @@ interface HostListenerDecorator {
|
|
|
5653
5662
|
* can be found here:
|
|
5654
5663
|
* https://www.w3.org/TR/DOM-Level-3-Events-key/#named-key-attribute-values
|
|
5655
5664
|
*
|
|
5656
|
-
*
|
|
5665
|
+
* NOTE: that keys can also be combined, e.g. `@HostListener('keydown.shift.a')`.
|
|
5657
5666
|
*
|
|
5658
5667
|
* The global target names that can be used to prefix an event name are
|
|
5659
5668
|
* `document:`, `window:` and `body:`.
|
|
@@ -7406,6 +7415,7 @@ declare class Navigation extends EventTarget {
|
|
|
7406
7415
|
declare class NavigationTransition {
|
|
7407
7416
|
readonly navigationType: NavigationTypeString;
|
|
7408
7417
|
readonly from: NavigationHistoryEntry;
|
|
7418
|
+
readonly to: NavigationDestination;
|
|
7409
7419
|
readonly finished: Promise<void>;
|
|
7410
7420
|
readonly committed: Promise<void>;
|
|
7411
7421
|
}
|
package/types/_effect-chunk.d.ts
CHANGED