@angular/core 20.0.0-next.5 → 20.0.0-next.7
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/{api.d-mxcXqDpA.d.ts → api.d-KjtSQajV.d.ts} +4 -4
- package/{ng_i18n_closure_mode.d-DLxSUiDr.d.ts → chrome_dev_tools_performance.d-qv7drdAl.d.ts} +20 -5
- package/{discovery.d-CyYpOJ7j.d.ts → discovery.d-D6xf1HH-.d.ts} +8 -79
- package/{event_dispatcher.d-PWnbqZDx.d.ts → event_dispatcher.d-DlbccpYq.d.ts} +3 -3
- package/fesm2022/{attribute-B17mgaqe.mjs → attribute-BWp59EjE.mjs} +3 -3
- package/fesm2022/{attribute-B17mgaqe.mjs.map → attribute-BWp59EjE.mjs.map} +1 -1
- package/fesm2022/core.mjs +22 -31
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/{debug_node-xKpCIZm-.mjs → debug_node-B3CixwNH.mjs} +218 -141
- package/fesm2022/debug_node-B3CixwNH.mjs.map +1 -0
- package/fesm2022/primitives/di.mjs +1 -1
- package/fesm2022/primitives/event-dispatch.mjs +2 -2
- package/fesm2022/primitives/signals.mjs +5 -5
- package/fesm2022/{resource-BPpYEDic.mjs → resource-DtpS_sTw.mjs} +6 -8
- package/fesm2022/resource-DtpS_sTw.mjs.map +1 -0
- package/fesm2022/{root_effect_scheduler-D0_b1cf_.mjs → root_effect_scheduler-BK3l7wIO.mjs} +144 -68
- package/fesm2022/root_effect_scheduler-BK3l7wIO.mjs.map +1 -0
- package/fesm2022/rxjs-interop.mjs +7 -84
- package/fesm2022/rxjs-interop.mjs.map +1 -1
- package/fesm2022/{signal-DhRAAi7R.mjs → signal-B6pMq7KS.mjs} +3 -3
- package/fesm2022/{signal-DhRAAi7R.mjs.map → signal-B6pMq7KS.mjs.map} +1 -1
- package/fesm2022/testing.mjs +167 -103
- package/fesm2022/testing.mjs.map +1 -1
- package/fesm2022/{untracked-DaaW3JJm.mjs → untracked-Bz5WMeU1.mjs} +4 -4
- package/fesm2022/{untracked-DaaW3JJm.mjs.map → untracked-Bz5WMeU1.mjs.map} +1 -1
- package/fesm2022/{weak_ref-DrMdAIDh.mjs → weak_ref-BaIq-pgY.mjs} +3 -3
- package/fesm2022/{weak_ref-DrMdAIDh.mjs.map → weak_ref-BaIq-pgY.mjs.map} +1 -1
- package/{graph.d-StYigYp1.d.ts → graph.d-BcIOep_B.d.ts} +3 -3
- package/index.d.ts +34 -41
- package/package.json +2 -2
- package/primitives/di/index.d.ts +1 -1
- package/primitives/event-dispatch/index.d.ts +3 -3
- package/primitives/signals/index.d.ts +6 -6
- package/rxjs-interop/index.d.ts +8 -17
- package/schematics/bundles/{apply_import_manager-C-ysxahq.js → apply_import_manager-DczRKpTm.js} +6 -6
- package/schematics/bundles/{change_tracker-0Ktek5Xl.js → change_tracker-CWLh-wes.js} +3 -3
- package/schematics/bundles/{checker-DqUKCGda.js → checker-_f5wM7PH.js} +20 -3
- package/schematics/bundles/cleanup-unused-imports.js +25 -20
- package/schematics/bundles/{compiler-CuoiHqkc.js → compiler-BaCbbux6.js} +964 -298
- package/schematics/bundles/compiler_host-CAfDJO3W.js +1 -1
- package/schematics/bundles/control-flow-migration.js +2 -2
- package/schematics/bundles/document-core.js +12 -12
- package/schematics/bundles/imports-CIX-JgAN.js +1 -1
- package/schematics/bundles/{index-CwFQSYXZ.js → index--W6S49uu.js} +10 -10
- package/schematics/bundles/{index-WFXCe5Q0.js → index-rsJ8I_hu.js} +131 -64
- package/schematics/bundles/inject-flags.js +14 -14
- package/schematics/bundles/inject-migration.js +108 -19
- package/schematics/bundles/leading_space-D9nQ8UQC.js +1 -1
- package/schematics/bundles/{migrate_ts_type_references-BNuHufqZ.js → migrate_ts_type_references-C4D_SzJk.js} +21 -21
- package/schematics/bundles/ng_decorators-DznZ5jMl.js +1 -1
- package/schematics/bundles/nodes-B16H9JUd.js +1 -1
- package/schematics/bundles/output-migration.js +80 -22
- package/schematics/bundles/{run_in_devkit-CmHxABFr.js → project_paths-Ce0O2u-M.js} +254 -244
- package/schematics/bundles/project_tsconfig_paths-CDVxT6Ov.js +1 -1
- package/schematics/bundles/property_name-BBwFuqMe.js +1 -1
- package/schematics/bundles/route-lazy-loading.js +4 -4
- package/schematics/bundles/self-closing-tags-migration.js +20 -15
- package/schematics/bundles/signal-input-migration.js +26 -21
- package/schematics/bundles/signal-queries-migration.js +32 -27
- package/schematics/bundles/signals.js +8 -8
- package/schematics/bundles/standalone-migration.js +5 -5
- package/schematics/bundles/symbol-VPWguRxr.js +1 -1
- package/schematics/bundles/test-bed-get.js +13 -13
- package/{signal.d-BeaTIeOE.d.ts → signal.d-E0e5nW1p.d.ts} +4 -4
- package/testing/index.d.ts +9 -25
- package/{weak_ref.d-ttyj86RV.d.ts → weak_ref.d-eGOEP9S1.d.ts} +2 -2
- package/fesm2022/debug_node-xKpCIZm-.mjs.map +0 -1
- package/fesm2022/resource-BPpYEDic.mjs.map +0 -1
- package/fesm2022/root_effect_scheduler-D0_b1cf_.mjs.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
/**
|
|
3
|
-
* @license Angular v20.0.0-next.
|
|
3
|
+
* @license Angular v20.0.0-next.7
|
|
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 checker = require('./checker-
|
|
12
|
-
var compiler = require('./compiler-
|
|
13
|
-
require('./index-
|
|
11
|
+
var checker = require('./checker-_f5wM7PH.js');
|
|
12
|
+
var compiler = require('./compiler-BaCbbux6.js');
|
|
13
|
+
require('./index-rsJ8I_hu.js');
|
|
14
14
|
require('path');
|
|
15
|
-
var
|
|
15
|
+
var project_paths = require('./project_paths-Ce0O2u-M.js');
|
|
16
16
|
var ng_decorators = require('./ng_decorators-DznZ5jMl.js');
|
|
17
17
|
var property_name = require('./property_name-BBwFuqMe.js');
|
|
18
18
|
require('@angular-devkit/core');
|
|
@@ -298,7 +298,7 @@ class AngularElementCollector extends compiler.RecursiveVisitor$1 {
|
|
|
298
298
|
}
|
|
299
299
|
}
|
|
300
300
|
|
|
301
|
-
class SelfClosingTagsMigration extends
|
|
301
|
+
class SelfClosingTagsMigration extends project_paths.TsurgeFunnelMigration {
|
|
302
302
|
config;
|
|
303
303
|
constructor(config = {}) {
|
|
304
304
|
super();
|
|
@@ -314,7 +314,7 @@ class SelfClosingTagsMigration extends run_in_devkit.TsurgeFunnelMigration {
|
|
|
314
314
|
if (!ts.isClassDeclaration(node)) {
|
|
315
315
|
return;
|
|
316
316
|
}
|
|
317
|
-
const file =
|
|
317
|
+
const file = project_paths.projectFile(node.getSourceFile(), info);
|
|
318
318
|
if (this.config.shouldMigrate && this.config.shouldMigrate(file) === false) {
|
|
319
319
|
return;
|
|
320
320
|
}
|
|
@@ -327,7 +327,7 @@ class SelfClosingTagsMigration extends run_in_devkit.TsurgeFunnelMigration {
|
|
|
327
327
|
}
|
|
328
328
|
const fileToMigrate = template.inline
|
|
329
329
|
? file
|
|
330
|
-
:
|
|
330
|
+
: project_paths.projectFile(template.filePath, info);
|
|
331
331
|
const end = template.start + template.content.length;
|
|
332
332
|
const replacements = [
|
|
333
333
|
prepareTextReplacement(fileToMigrate, migrated, template.start, end),
|
|
@@ -343,20 +343,20 @@ class SelfClosingTagsMigration extends run_in_devkit.TsurgeFunnelMigration {
|
|
|
343
343
|
});
|
|
344
344
|
});
|
|
345
345
|
}
|
|
346
|
-
return
|
|
346
|
+
return project_paths.confirmAsSerializable({ tagReplacements });
|
|
347
347
|
}
|
|
348
348
|
async combine(unitA, unitB) {
|
|
349
349
|
const uniqueReplacements = removeDuplicateReplacements([
|
|
350
350
|
...unitA.tagReplacements,
|
|
351
351
|
...unitB.tagReplacements,
|
|
352
352
|
]);
|
|
353
|
-
return
|
|
353
|
+
return project_paths.confirmAsSerializable({ tagReplacements: uniqueReplacements });
|
|
354
354
|
}
|
|
355
355
|
async globalMeta(combinedData) {
|
|
356
356
|
const globalMeta = {
|
|
357
357
|
tagReplacements: combinedData.tagReplacements,
|
|
358
358
|
};
|
|
359
|
-
return
|
|
359
|
+
return project_paths.confirmAsSerializable(globalMeta);
|
|
360
360
|
}
|
|
361
361
|
async stats(globalMetadata) {
|
|
362
362
|
const touchedFilesCount = globalMetadata.tagReplacements.length;
|
|
@@ -373,7 +373,7 @@ class SelfClosingTagsMigration extends run_in_devkit.TsurgeFunnelMigration {
|
|
|
373
373
|
}
|
|
374
374
|
}
|
|
375
375
|
function prepareTextReplacement(file, replacement, start, end) {
|
|
376
|
-
return new
|
|
376
|
+
return new project_paths.Replacement(file, new project_paths.TextUpdate({
|
|
377
377
|
position: start,
|
|
378
378
|
end: end,
|
|
379
379
|
toInsert: replacement,
|
|
@@ -394,7 +394,7 @@ function removeDuplicateReplacements(replacements) {
|
|
|
394
394
|
|
|
395
395
|
function migrate(options) {
|
|
396
396
|
return async (tree, context) => {
|
|
397
|
-
await
|
|
397
|
+
await project_paths.runMigrationInDevkit({
|
|
398
398
|
tree,
|
|
399
399
|
getMigration: (fs) => new SelfClosingTagsMigration({
|
|
400
400
|
shouldMigrate: (file) => {
|
|
@@ -402,8 +402,13 @@ function migrate(options) {
|
|
|
402
402
|
!/(^|\/)node_modules\//.test(file.rootRelativePath));
|
|
403
403
|
},
|
|
404
404
|
}),
|
|
405
|
-
beforeProgramCreation: (tsconfigPath) => {
|
|
406
|
-
|
|
405
|
+
beforeProgramCreation: (tsconfigPath, stage) => {
|
|
406
|
+
if (stage === project_paths.MigrationStage.Analysis) {
|
|
407
|
+
context.logger.info(`Preparing analysis for: ${tsconfigPath}...`);
|
|
408
|
+
}
|
|
409
|
+
else {
|
|
410
|
+
context.logger.info(`Running migration for: ${tsconfigPath}...`);
|
|
411
|
+
}
|
|
407
412
|
},
|
|
408
413
|
beforeUnitAnalysis: (tsconfigPath) => {
|
|
409
414
|
context.logger.info(`Scanning for component tags: ${tsconfigPath}...`);
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
/**
|
|
3
|
-
* @license Angular v20.0.0-next.
|
|
3
|
+
* @license Angular v20.0.0-next.7
|
|
4
4
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
5
5
|
* License: MIT
|
|
6
6
|
*/
|
|
7
7
|
'use strict';
|
|
8
8
|
|
|
9
|
-
var migrate_ts_type_references = require('./migrate_ts_type_references-
|
|
9
|
+
var migrate_ts_type_references = require('./migrate_ts_type_references-C4D_SzJk.js');
|
|
10
10
|
var ts = require('typescript');
|
|
11
11
|
require('os');
|
|
12
|
-
var checker = require('./checker-
|
|
13
|
-
require('./compiler-
|
|
14
|
-
var index$1 = require('./index-
|
|
12
|
+
var checker = require('./checker-_f5wM7PH.js');
|
|
13
|
+
require('./compiler-BaCbbux6.js');
|
|
14
|
+
var index$1 = require('./index-rsJ8I_hu.js');
|
|
15
15
|
require('path');
|
|
16
|
-
var
|
|
17
|
-
var index = require('./index
|
|
16
|
+
var project_paths = require('./project_paths-Ce0O2u-M.js');
|
|
17
|
+
var index = require('./index--W6S49uu.js');
|
|
18
18
|
var assert = require('assert');
|
|
19
|
-
var apply_import_manager = require('./apply_import_manager-
|
|
19
|
+
var apply_import_manager = require('./apply_import_manager-DczRKpTm.js');
|
|
20
20
|
require('@angular-devkit/core');
|
|
21
21
|
require('node:path/posix');
|
|
22
22
|
require('./leading_space-D9nQ8UQC.js');
|
|
@@ -103,7 +103,7 @@ function getInputDescriptor(hostOrInfo, node) {
|
|
|
103
103
|
className = node.parent.name?.text ?? '<anonymous>';
|
|
104
104
|
}
|
|
105
105
|
const info = hostOrInfo instanceof MigrationHost ? hostOrInfo.programInfo : hostOrInfo;
|
|
106
|
-
const file =
|
|
106
|
+
const file = project_paths.projectFile(node.getSourceFile(), info);
|
|
107
107
|
// Inputs may be detected in `.d.ts` files. Ensure that if the file IDs
|
|
108
108
|
// match regardless of extension. E.g. `/google3/blaze-out/bin/my_file.ts` should
|
|
109
109
|
// have the same ID as `/google3/my_file.ts`.
|
|
@@ -182,7 +182,7 @@ class KnownInputs {
|
|
|
182
182
|
}
|
|
183
183
|
const directiveInfo = this._classToDirectiveInfo.get(data.node.parent);
|
|
184
184
|
const inputInfo = {
|
|
185
|
-
file:
|
|
185
|
+
file: project_paths.projectFile(data.node.getSourceFile(), this.programInfo),
|
|
186
186
|
metadata: data.metadata,
|
|
187
187
|
descriptor: data.descriptor,
|
|
188
188
|
container: directiveInfo,
|
|
@@ -1036,7 +1036,7 @@ function convertToSignalInput(node, { resolvedMetadata: metadata, resolvedType,
|
|
|
1036
1036
|
if (leadingTodoText !== null) {
|
|
1037
1037
|
replacements.push(migrate_ts_type_references.insertPrecedingLine(node, info, '// TODO: Notes from signal input migration:'), ...migrate_ts_type_references.cutStringToLineLimit(leadingTodoText, 70).map((line) => migrate_ts_type_references.insertPrecedingLine(node, info, `// ${line}`)));
|
|
1038
1038
|
}
|
|
1039
|
-
replacements.push(new
|
|
1039
|
+
replacements.push(new project_paths.Replacement(project_paths.projectFile(node.getSourceFile(), info), new project_paths.TextUpdate({
|
|
1040
1040
|
position: node.getStart(),
|
|
1041
1041
|
end: node.getEnd(),
|
|
1042
1042
|
toInsert: newPropertyText,
|
|
@@ -1154,7 +1154,7 @@ function pass7__migrateTemplateReferences(host, references) {
|
|
|
1154
1154
|
const appendText = reference.from.isObjectShorthandExpression
|
|
1155
1155
|
? `: ${reference.from.read.name}()`
|
|
1156
1156
|
: `()`;
|
|
1157
|
-
host.replacements.push(new
|
|
1157
|
+
host.replacements.push(new project_paths.Replacement(reference.from.templateFile, new project_paths.TextUpdate({
|
|
1158
1158
|
position: reference.from.read.sourceSpan.end,
|
|
1159
1159
|
end: reference.from.read.sourceSpan.end,
|
|
1160
1160
|
toInsert: appendText,
|
|
@@ -1194,7 +1194,7 @@ function pass8__migrateHostBindings(host, references, info) {
|
|
|
1194
1194
|
const appendText = reference.from.isObjectShorthandExpression
|
|
1195
1195
|
? `: ${reference.from.read.name}()`
|
|
1196
1196
|
: `()`;
|
|
1197
|
-
host.replacements.push(new
|
|
1197
|
+
host.replacements.push(new project_paths.Replacement(project_paths.projectFile(bindingField.getSourceFile(), info), new project_paths.TextUpdate({ position: readEndPos, end: readEndPos, toInsert: appendText })));
|
|
1198
1198
|
}
|
|
1199
1199
|
}
|
|
1200
1200
|
|
|
@@ -1257,7 +1257,7 @@ function filterIncompatibilitiesForBestEffortMode(knownInputs) {
|
|
|
1257
1257
|
* Tsurge migration for migrating Angular `@Input()` declarations to
|
|
1258
1258
|
* signal inputs, with support for batch execution.
|
|
1259
1259
|
*/
|
|
1260
|
-
class SignalInputMigration extends
|
|
1260
|
+
class SignalInputMigration extends project_paths.TsurgeComplexMigration {
|
|
1261
1261
|
config;
|
|
1262
1262
|
upgradedAnalysisPhaseResults = null;
|
|
1263
1263
|
constructor(config = {}) {
|
|
@@ -1266,7 +1266,7 @@ class SignalInputMigration extends run_in_devkit.TsurgeComplexMigration {
|
|
|
1266
1266
|
}
|
|
1267
1267
|
// Override the default program creation, to add extra flags.
|
|
1268
1268
|
createProgram(tsconfigAbsPath, fs) {
|
|
1269
|
-
return
|
|
1269
|
+
return project_paths.createBaseProgramInfo(tsconfigAbsPath, fs, {
|
|
1270
1270
|
_compilePoisonedComponents: true,
|
|
1271
1271
|
// We want to migrate non-exported classes too.
|
|
1272
1272
|
compileNonExportedClasses: true,
|
|
@@ -1338,13 +1338,13 @@ class SignalInputMigration extends run_in_devkit.TsurgeComplexMigration {
|
|
|
1338
1338
|
knownInputs,
|
|
1339
1339
|
};
|
|
1340
1340
|
}
|
|
1341
|
-
return
|
|
1341
|
+
return project_paths.confirmAsSerializable(unitData);
|
|
1342
1342
|
}
|
|
1343
1343
|
async combine(unitA, unitB) {
|
|
1344
|
-
return
|
|
1344
|
+
return project_paths.confirmAsSerializable(combineCompilationUnitData(unitA, unitB));
|
|
1345
1345
|
}
|
|
1346
1346
|
async globalMeta(combinedData) {
|
|
1347
|
-
return
|
|
1347
|
+
return project_paths.confirmAsSerializable(convertToGlobalMeta(combinedData));
|
|
1348
1348
|
}
|
|
1349
1349
|
async migrate(globalMetadata, info, nonBatchData) {
|
|
1350
1350
|
const knownInputs = nonBatchData?.knownInputs ?? new KnownInputs(info, this.config);
|
|
@@ -1434,7 +1434,7 @@ function createMigrationHost(info, config) {
|
|
|
1434
1434
|
|
|
1435
1435
|
function migrate(options) {
|
|
1436
1436
|
return async (tree, context) => {
|
|
1437
|
-
await
|
|
1437
|
+
await project_paths.runMigrationInDevkit({
|
|
1438
1438
|
tree,
|
|
1439
1439
|
getMigration: (fs) => new SignalInputMigration({
|
|
1440
1440
|
bestEffortMode: options.bestEffortMode,
|
|
@@ -1444,8 +1444,13 @@ function migrate(options) {
|
|
|
1444
1444
|
!/(^|\/)node_modules\//.test(input.file.rootRelativePath));
|
|
1445
1445
|
},
|
|
1446
1446
|
}),
|
|
1447
|
-
beforeProgramCreation: (tsconfigPath) => {
|
|
1448
|
-
|
|
1447
|
+
beforeProgramCreation: (tsconfigPath, stage) => {
|
|
1448
|
+
if (stage === project_paths.MigrationStage.Analysis) {
|
|
1449
|
+
context.logger.info(`Preparing analysis for: ${tsconfigPath}...`);
|
|
1450
|
+
}
|
|
1451
|
+
else {
|
|
1452
|
+
context.logger.info(`Running migration for: ${tsconfigPath}...`);
|
|
1453
|
+
}
|
|
1449
1454
|
},
|
|
1450
1455
|
afterProgramCreation: (info, fs) => {
|
|
1451
1456
|
const analysisPath = fs.resolve(options.analysisDir);
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
/**
|
|
3
|
-
* @license Angular v20.0.0-next.
|
|
3
|
+
* @license Angular v20.0.0-next.7
|
|
4
4
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
5
5
|
* License: MIT
|
|
6
6
|
*/
|
|
7
7
|
'use strict';
|
|
8
8
|
|
|
9
|
-
var compiler = require('./compiler-
|
|
9
|
+
var compiler = require('./compiler-BaCbbux6.js');
|
|
10
10
|
var ts = require('typescript');
|
|
11
|
-
var checker = require('./checker-
|
|
11
|
+
var checker = require('./checker-_f5wM7PH.js');
|
|
12
12
|
require('os');
|
|
13
|
-
var index$1 = require('./index-
|
|
13
|
+
var index$1 = require('./index-rsJ8I_hu.js');
|
|
14
14
|
require('path');
|
|
15
|
-
var
|
|
16
|
-
var apply_import_manager = require('./apply_import_manager-
|
|
17
|
-
var migrate_ts_type_references = require('./migrate_ts_type_references-
|
|
15
|
+
var project_paths = require('./project_paths-Ce0O2u-M.js');
|
|
16
|
+
var apply_import_manager = require('./apply_import_manager-DczRKpTm.js');
|
|
17
|
+
var migrate_ts_type_references = require('./migrate_ts_type_references-C4D_SzJk.js');
|
|
18
18
|
var assert = require('assert');
|
|
19
|
-
var index = require('./index
|
|
19
|
+
var index = require('./index--W6S49uu.js');
|
|
20
20
|
require('@angular-devkit/core');
|
|
21
21
|
require('node:path/posix');
|
|
22
22
|
require('fs');
|
|
@@ -58,7 +58,7 @@ function migrateHostBindings(host, references, info) {
|
|
|
58
58
|
const appendText = reference.from.isObjectShorthandExpression
|
|
59
59
|
? `: ${reference.from.read.name}()`
|
|
60
60
|
: `()`;
|
|
61
|
-
host.replacements.push(new
|
|
61
|
+
host.replacements.push(new project_paths.Replacement(project_paths.projectFile(bindingField.getSourceFile(), info), new project_paths.TextUpdate({ position: readEndPos, end: readEndPos, toInsert: appendText })));
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
|
|
@@ -87,7 +87,7 @@ function migrateTemplateReferences(host, references) {
|
|
|
87
87
|
const appendText = reference.from.isObjectShorthandExpression
|
|
88
88
|
? `: ${reference.from.read.name}()`
|
|
89
89
|
: `()`;
|
|
90
|
-
host.replacements.push(new
|
|
90
|
+
host.replacements.push(new project_paths.Replacement(reference.from.templateFile, new project_paths.TextUpdate({
|
|
91
91
|
position: reference.from.read.sourceSpan.end,
|
|
92
92
|
end: reference.from.read.sourceSpan.end,
|
|
93
93
|
toInsert: appendText,
|
|
@@ -225,7 +225,7 @@ function computeReplacementsToMigrateQuery(node, metadata, importManager, info,
|
|
|
225
225
|
}
|
|
226
226
|
const updated = ts.factory.createPropertyDeclaration(modifiers, node.name, undefined, undefined, call);
|
|
227
227
|
return [
|
|
228
|
-
new
|
|
228
|
+
new project_paths.Replacement(project_paths.projectFile(node.getSourceFile(), info), new project_paths.TextUpdate({
|
|
229
229
|
position: node.getStart(),
|
|
230
230
|
end: node.getEnd(),
|
|
231
231
|
toInsert: printer.printNode(ts.EmitHint.Unspecified, updated, sf),
|
|
@@ -271,7 +271,7 @@ function getUniqueIDForClassProperty(property, info) {
|
|
|
271
271
|
if (property.name === undefined) {
|
|
272
272
|
return null;
|
|
273
273
|
}
|
|
274
|
-
const id =
|
|
274
|
+
const id = project_paths.projectFile(property.getSourceFile(), info).id.replace(/\.d\.ts$/, '.ts');
|
|
275
275
|
// Note: If a class is nested, there could be an ID clash.
|
|
276
276
|
// This is highly unlikely though, and this is not a problem because
|
|
277
277
|
// in such cases, there is even less chance there are any references to
|
|
@@ -395,7 +395,7 @@ class KnownQueries {
|
|
|
395
395
|
});
|
|
396
396
|
this.knownQueryIDs.set(id, { key: id, node: queryField });
|
|
397
397
|
const descriptor = { key: id, node: queryField };
|
|
398
|
-
const file =
|
|
398
|
+
const file = project_paths.projectFile(queryField.getSourceFile(), this.info);
|
|
399
399
|
if (this.config.shouldMigrateQuery !== undefined &&
|
|
400
400
|
!this.config.shouldMigrateQuery(descriptor, file)) {
|
|
401
401
|
this.markFieldIncompatible(descriptor, {
|
|
@@ -594,7 +594,7 @@ function removeQueryListToArrayCall(ref, info, globalMetadata, knownQueries, rep
|
|
|
594
594
|
return;
|
|
595
595
|
}
|
|
596
596
|
const toArrayExpr = toArrayCallExpr.expression;
|
|
597
|
-
replacements.push(new
|
|
597
|
+
replacements.push(new project_paths.Replacement(project_paths.projectFile(toArrayExpr.getSourceFile(), info), new project_paths.TextUpdate({
|
|
598
598
|
// Delete from expression end to call end. E.g. `.toArray(<..>)`.
|
|
599
599
|
position: toArrayExpr.expression.getEnd(),
|
|
600
600
|
end: toArrayCallExpr.getEnd(),
|
|
@@ -609,7 +609,7 @@ function removeQueryListToArrayCall(ref, info, globalMetadata, knownQueries, rep
|
|
|
609
609
|
}
|
|
610
610
|
const file = index.isHostBindingReference(ref) ? ref.from.file : ref.from.templateFile;
|
|
611
611
|
const offset = index.isHostBindingReference(ref) ? ref.from.hostPropertyNode.getStart() + 1 : 0;
|
|
612
|
-
replacements.push(new
|
|
612
|
+
replacements.push(new project_paths.Replacement(file, new project_paths.TextUpdate({
|
|
613
613
|
// Delete from expression end to call end. E.g. `.toArray(<..>)`.
|
|
614
614
|
position: offset + callExpr.receiver.receiver.sourceSpan.end,
|
|
615
615
|
end: offset + callExpr.sourceSpan.end,
|
|
@@ -633,7 +633,7 @@ function replaceQueryListGetCall(ref, info, globalMetadata, knownQueries, replac
|
|
|
633
633
|
return;
|
|
634
634
|
}
|
|
635
635
|
const getExpr = getCallExpr.expression;
|
|
636
|
-
replacements.push(new
|
|
636
|
+
replacements.push(new project_paths.Replacement(project_paths.projectFile(getExpr.getSourceFile(), info), new project_paths.TextUpdate({
|
|
637
637
|
position: getExpr.name.getStart(),
|
|
638
638
|
end: getExpr.name.getEnd(),
|
|
639
639
|
toInsert: 'at',
|
|
@@ -647,7 +647,7 @@ function replaceQueryListGetCall(ref, info, globalMetadata, knownQueries, replac
|
|
|
647
647
|
}
|
|
648
648
|
const file = index.isHostBindingReference(ref) ? ref.from.file : ref.from.templateFile;
|
|
649
649
|
const offset = index.isHostBindingReference(ref) ? ref.from.hostPropertyNode.getStart() + 1 : 0;
|
|
650
|
-
replacements.push(new
|
|
650
|
+
replacements.push(new project_paths.Replacement(file, new project_paths.TextUpdate({
|
|
651
651
|
position: offset + callExpr.receiver.nameSpan.start,
|
|
652
652
|
end: offset + callExpr.receiver.nameSpan.end,
|
|
653
653
|
toInsert: 'at',
|
|
@@ -702,7 +702,7 @@ function replaceQueryListFirstAndLastReferences(ref, info, globalMetadata, known
|
|
|
702
702
|
if (expr === null) {
|
|
703
703
|
return;
|
|
704
704
|
}
|
|
705
|
-
replacements.push(new
|
|
705
|
+
replacements.push(new project_paths.Replacement(project_paths.projectFile(expr.getSourceFile(), info), new project_paths.TextUpdate({
|
|
706
706
|
position: expr.name.getStart(),
|
|
707
707
|
end: expr.name.getEnd(),
|
|
708
708
|
toInsert: mapping.get(expr.name.text),
|
|
@@ -716,14 +716,14 @@ function replaceQueryListFirstAndLastReferences(ref, info, globalMetadata, known
|
|
|
716
716
|
}
|
|
717
717
|
const file = index.isHostBindingReference(ref) ? ref.from.file : ref.from.templateFile;
|
|
718
718
|
const offset = index.isHostBindingReference(ref) ? ref.from.hostPropertyNode.getStart() + 1 : 0;
|
|
719
|
-
replacements.push(new
|
|
719
|
+
replacements.push(new project_paths.Replacement(file, new project_paths.TextUpdate({
|
|
720
720
|
position: offset + expr.nameSpan.start,
|
|
721
721
|
end: offset + expr.nameSpan.end,
|
|
722
722
|
toInsert: mapping.get(expr.name),
|
|
723
723
|
})));
|
|
724
724
|
}
|
|
725
725
|
|
|
726
|
-
class SignalQueriesMigration extends
|
|
726
|
+
class SignalQueriesMigration extends project_paths.TsurgeComplexMigration {
|
|
727
727
|
config;
|
|
728
728
|
constructor(config = {}) {
|
|
729
729
|
super();
|
|
@@ -761,7 +761,7 @@ class SignalQueriesMigration extends run_in_devkit.TsurgeComplexMigration {
|
|
|
761
761
|
key: extractedQuery.id,
|
|
762
762
|
node: queryNode,
|
|
763
763
|
};
|
|
764
|
-
const containingFile =
|
|
764
|
+
const containingFile = project_paths.projectFile(queryNode.getSourceFile(), info);
|
|
765
765
|
// If we have a config filter function, use it here for later
|
|
766
766
|
// perf-boosted reference lookups. Useful in non-batch mode.
|
|
767
767
|
if (this.config.shouldMigrateQuery === undefined ||
|
|
@@ -865,7 +865,7 @@ class SignalQueriesMigration extends run_in_devkit.TsurgeComplexMigration {
|
|
|
865
865
|
if (this.config.assumeNonBatch) {
|
|
866
866
|
res.reusableAnalysisReferences = referenceResult.references;
|
|
867
867
|
}
|
|
868
|
-
return
|
|
868
|
+
return project_paths.confirmAsSerializable(res);
|
|
869
869
|
}
|
|
870
870
|
async combine(unitA, unitB) {
|
|
871
871
|
const combined = {
|
|
@@ -905,7 +905,7 @@ class SignalQueriesMigration extends run_in_devkit.TsurgeComplexMigration {
|
|
|
905
905
|
}
|
|
906
906
|
}
|
|
907
907
|
}
|
|
908
|
-
return
|
|
908
|
+
return project_paths.confirmAsSerializable(combined);
|
|
909
909
|
}
|
|
910
910
|
async globalMeta(combinedData) {
|
|
911
911
|
const globalUnitData = {
|
|
@@ -918,7 +918,7 @@ class SignalQueriesMigration extends run_in_devkit.TsurgeComplexMigration {
|
|
|
918
918
|
markFieldIncompatibleInMetadata(globalUnitData.problematicQueries, id, migrate_ts_type_references.FieldIncompatibilityReason.SignalQueries__QueryListProblematicFieldAccessed);
|
|
919
919
|
}
|
|
920
920
|
}
|
|
921
|
-
return
|
|
921
|
+
return project_paths.confirmAsSerializable(globalUnitData);
|
|
922
922
|
}
|
|
923
923
|
async migrate(globalMetadata, info) {
|
|
924
924
|
// Pre-Analyze the program and get access to the template type checker.
|
|
@@ -1119,7 +1119,7 @@ function updateFileState(stateMap, node, queryType) {
|
|
|
1119
1119
|
|
|
1120
1120
|
function migrate(options) {
|
|
1121
1121
|
return async (tree, context) => {
|
|
1122
|
-
await
|
|
1122
|
+
await project_paths.runMigrationInDevkit({
|
|
1123
1123
|
tree,
|
|
1124
1124
|
getMigration: (fs) => new SignalQueriesMigration({
|
|
1125
1125
|
bestEffortMode: options.bestEffortMode,
|
|
@@ -1129,8 +1129,13 @@ function migrate(options) {
|
|
|
1129
1129
|
!/(^|\/)node_modules\//.test(file.rootRelativePath));
|
|
1130
1130
|
},
|
|
1131
1131
|
}),
|
|
1132
|
-
beforeProgramCreation: (tsconfigPath) => {
|
|
1133
|
-
|
|
1132
|
+
beforeProgramCreation: (tsconfigPath, stage) => {
|
|
1133
|
+
if (stage === project_paths.MigrationStage.Analysis) {
|
|
1134
|
+
context.logger.info(`Preparing analysis for: ${tsconfigPath}...`);
|
|
1135
|
+
}
|
|
1136
|
+
else {
|
|
1137
|
+
context.logger.info(`Running migration for: ${tsconfigPath}...`);
|
|
1138
|
+
}
|
|
1134
1139
|
},
|
|
1135
1140
|
afterProgramCreation: (info, fs) => {
|
|
1136
1141
|
const analysisPath = fs.resolve(options.analysisDir);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
/**
|
|
3
|
-
* @license Angular v20.0.0-next.
|
|
3
|
+
* @license Angular v20.0.0-next.7
|
|
4
4
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
5
5
|
* License: MIT
|
|
6
6
|
*/
|
|
@@ -10,23 +10,23 @@ var schematics = require('@angular-devkit/schematics');
|
|
|
10
10
|
var signalQueriesMigration = require('./signal-queries-migration.js');
|
|
11
11
|
var signalInputMigration = require('./signal-input-migration.js');
|
|
12
12
|
var outputMigration = require('./output-migration.js');
|
|
13
|
-
require('./compiler-
|
|
13
|
+
require('./compiler-BaCbbux6.js');
|
|
14
14
|
require('typescript');
|
|
15
|
-
require('./checker-
|
|
15
|
+
require('./checker-_f5wM7PH.js');
|
|
16
16
|
require('os');
|
|
17
17
|
require('fs');
|
|
18
18
|
require('module');
|
|
19
19
|
require('path');
|
|
20
20
|
require('url');
|
|
21
|
-
require('./index-
|
|
22
|
-
require('./
|
|
21
|
+
require('./index-rsJ8I_hu.js');
|
|
22
|
+
require('./project_paths-Ce0O2u-M.js');
|
|
23
23
|
require('@angular-devkit/core');
|
|
24
24
|
require('node:path/posix');
|
|
25
25
|
require('./project_tsconfig_paths-CDVxT6Ov.js');
|
|
26
|
-
require('./apply_import_manager-
|
|
27
|
-
require('./migrate_ts_type_references-
|
|
26
|
+
require('./apply_import_manager-DczRKpTm.js');
|
|
27
|
+
require('./migrate_ts_type_references-C4D_SzJk.js');
|
|
28
28
|
require('assert');
|
|
29
|
-
require('./index
|
|
29
|
+
require('./index--W6S49uu.js');
|
|
30
30
|
require('./leading_space-D9nQ8UQC.js');
|
|
31
31
|
|
|
32
32
|
function migrate(options) {
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
/**
|
|
3
|
-
* @license Angular v20.0.0-next.
|
|
3
|
+
* @license Angular v20.0.0-next.7
|
|
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 schematics = require('@angular-devkit/schematics');
|
|
10
|
-
var index = require('./index-
|
|
10
|
+
var index = require('./index-rsJ8I_hu.js');
|
|
11
11
|
var fs = require('fs');
|
|
12
12
|
var p = require('path');
|
|
13
13
|
var ts = require('typescript');
|
|
14
|
-
var change_tracker = require('./change_tracker-
|
|
14
|
+
var change_tracker = require('./change_tracker-CWLh-wes.js');
|
|
15
15
|
var project_tsconfig_paths = require('./project_tsconfig_paths-CDVxT6Ov.js');
|
|
16
16
|
var compiler_host = require('./compiler_host-CAfDJO3W.js');
|
|
17
17
|
var ng_decorators = require('./ng_decorators-DznZ5jMl.js');
|
|
18
18
|
var nodes = require('./nodes-B16H9JUd.js');
|
|
19
19
|
var symbol = require('./symbol-VPWguRxr.js');
|
|
20
20
|
var imports = require('./imports-CIX-JgAN.js');
|
|
21
|
-
require('./compiler-
|
|
22
|
-
var checker = require('./checker-
|
|
21
|
+
require('./compiler-BaCbbux6.js');
|
|
22
|
+
var checker = require('./checker-_f5wM7PH.js');
|
|
23
23
|
require('os');
|
|
24
24
|
require('@angular-devkit/core');
|
|
25
25
|
require('module');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
/**
|
|
3
|
-
* @license Angular v20.0.0-next.
|
|
3
|
+
* @license Angular v20.0.0-next.7
|
|
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
|
-
require('./checker-
|
|
12
|
-
require('./compiler-
|
|
13
|
-
require('./index-
|
|
11
|
+
require('./checker-_f5wM7PH.js');
|
|
12
|
+
require('./compiler-BaCbbux6.js');
|
|
13
|
+
require('./index-rsJ8I_hu.js');
|
|
14
14
|
require('path');
|
|
15
|
-
var
|
|
15
|
+
var project_paths = require('./project_paths-Ce0O2u-M.js');
|
|
16
16
|
var imports = require('./imports-CIX-JgAN.js');
|
|
17
17
|
var symbol = require('./symbol-VPWguRxr.js');
|
|
18
18
|
require('@angular-devkit/core');
|
|
@@ -26,7 +26,7 @@ require('./project_tsconfig_paths-CDVxT6Ov.js');
|
|
|
26
26
|
/** Name of the method being replaced. */
|
|
27
27
|
const METHOD_NAME = 'get';
|
|
28
28
|
/** Migration that replaces `TestBed.get` usages with `TestBed.inject`. */
|
|
29
|
-
class TestBedGetMigration extends
|
|
29
|
+
class TestBedGetMigration extends project_paths.TsurgeFunnelMigration {
|
|
30
30
|
async analyze(info) {
|
|
31
31
|
const locations = [];
|
|
32
32
|
for (const sourceFile of info.sourceFiles) {
|
|
@@ -40,24 +40,24 @@ class TestBedGetMigration extends run_in_devkit.TsurgeFunnelMigration {
|
|
|
40
40
|
node.name.text === METHOD_NAME &&
|
|
41
41
|
ts.isIdentifier(node.expression) &&
|
|
42
42
|
symbol.isReferenceToImport(typeChecker, node.expression, specifier)) {
|
|
43
|
-
locations.push({ file:
|
|
43
|
+
locations.push({ file: project_paths.projectFile(sourceFile, info), position: node.name.getStart() });
|
|
44
44
|
}
|
|
45
45
|
else {
|
|
46
46
|
node.forEachChild(walk);
|
|
47
47
|
}
|
|
48
48
|
});
|
|
49
49
|
}
|
|
50
|
-
return
|
|
50
|
+
return project_paths.confirmAsSerializable({ locations });
|
|
51
51
|
}
|
|
52
52
|
async migrate(globalData) {
|
|
53
53
|
const replacements = globalData.locations.map(({ file, position }) => {
|
|
54
|
-
return new
|
|
54
|
+
return new project_paths.Replacement(file, new project_paths.TextUpdate({
|
|
55
55
|
position: position,
|
|
56
56
|
end: position + METHOD_NAME.length,
|
|
57
57
|
toInsert: 'inject',
|
|
58
58
|
}));
|
|
59
59
|
});
|
|
60
|
-
return
|
|
60
|
+
return project_paths.confirmAsSerializable({ replacements });
|
|
61
61
|
}
|
|
62
62
|
async combine(unitA, unitB) {
|
|
63
63
|
const seen = new Set();
|
|
@@ -70,10 +70,10 @@ class TestBedGetMigration extends run_in_devkit.TsurgeFunnelMigration {
|
|
|
70
70
|
locations.push(location);
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
-
return
|
|
73
|
+
return project_paths.confirmAsSerializable({ locations });
|
|
74
74
|
}
|
|
75
75
|
async globalMeta(combinedData) {
|
|
76
|
-
return
|
|
76
|
+
return project_paths.confirmAsSerializable(combinedData);
|
|
77
77
|
}
|
|
78
78
|
async stats() {
|
|
79
79
|
return { counters: {} };
|
|
@@ -89,7 +89,7 @@ class TestBedGetMigration extends run_in_devkit.TsurgeFunnelMigration {
|
|
|
89
89
|
*/
|
|
90
90
|
function migrate() {
|
|
91
91
|
return async (tree) => {
|
|
92
|
-
await
|
|
92
|
+
await project_paths.runMigrationInDevkit({
|
|
93
93
|
tree,
|
|
94
94
|
getMigration: () => new TestBedGetMigration(),
|
|
95
95
|
});
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v20.0.0-next.
|
|
2
|
+
* @license Angular v20.0.0-next.7
|
|
3
3
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import {
|
|
7
|
+
import { ReactiveNode, ValueEqualityFn, SIGNAL, ReactiveHookFn } from './graph.d-BcIOep_B.js';
|
|
8
8
|
|
|
9
9
|
interface SignalNode<T> extends ReactiveNode {
|
|
10
10
|
value: T;
|
|
@@ -27,5 +27,5 @@ declare function signalUpdateFn<T>(node: SignalNode<T>, updater: (value: T) => T
|
|
|
27
27
|
declare function runPostSignalSetFn<T>(node: SignalNode<T>): void;
|
|
28
28
|
declare const SIGNAL_NODE: SignalNode<unknown>;
|
|
29
29
|
|
|
30
|
-
export { SIGNAL_NODE
|
|
31
|
-
export type {
|
|
30
|
+
export { SIGNAL_NODE, createSignal, runPostSignalSetFn, setPostSignalSetFn, signalGetFn, signalSetFn, signalUpdateFn };
|
|
31
|
+
export type { SignalGetter, SignalNode };
|