@angular/core 20.0.0-next.7 → 20.0.0-next.8
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-KjtSQajV.d.ts +1 -1
- package/chrome_dev_tools_performance.d-qv7drdAl.d.ts +1 -1
- package/{discovery.d-D6xf1HH-.d.ts → discovery.d-vJaEafe4.d.ts} +3 -3
- package/event_dispatcher.d-DlbccpYq.d.ts +1 -1
- package/fesm2022/attribute-BWp59EjE.mjs +1 -1
- package/fesm2022/core.mjs +10 -10
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/{debug_node-B3CixwNH.mjs → debug_node-DEfPCixm.mjs} +70 -19
- package/fesm2022/debug_node-DEfPCixm.mjs.map +1 -0
- package/fesm2022/primitives/di.mjs +1 -1
- package/fesm2022/primitives/event-dispatch.mjs +1 -1
- package/fesm2022/primitives/signals.mjs +1 -1
- package/fesm2022/{resource-DtpS_sTw.mjs → resource-DhKtse7l.mjs} +3 -3
- package/fesm2022/{resource-DtpS_sTw.mjs.map → resource-DhKtse7l.mjs.map} +1 -1
- package/fesm2022/{root_effect_scheduler-BK3l7wIO.mjs → root_effect_scheduler-BZMWiScf.mjs} +17 -5
- package/fesm2022/root_effect_scheduler-BZMWiScf.mjs.map +1 -0
- package/fesm2022/rxjs-interop.mjs +4 -4
- package/fesm2022/rxjs-interop.mjs.map +1 -1
- package/fesm2022/signal-B6pMq7KS.mjs +1 -1
- package/fesm2022/testing.mjs +15 -4
- package/fesm2022/testing.mjs.map +1 -1
- package/fesm2022/untracked-Bz5WMeU1.mjs +1 -1
- package/fesm2022/weak_ref-BaIq-pgY.mjs +1 -1
- package/graph.d-BcIOep_B.d.ts +1 -1
- package/index.d.ts +60 -18
- package/package.json +2 -2
- package/primitives/di/index.d.ts +1 -1
- package/primitives/event-dispatch/index.d.ts +1 -1
- package/primitives/signals/index.d.ts +1 -1
- package/rxjs-interop/index.d.ts +2 -2
- package/schematics/bundles/{apply_import_manager-DczRKpTm.js → apply_import_manager-CaG-_cEq.js} +3 -3
- package/schematics/bundles/{change_tracker-CWLh-wes.js → change_tracker-ISzWfEHN.js} +3 -3
- package/schematics/bundles/{checker-_f5wM7PH.js → checker-DV96LHWz.js} +6 -3
- package/schematics/bundles/cleanup-unused-imports.js +6 -6
- package/schematics/bundles/{compiler-BaCbbux6.js → compiler-BEZ6sUQS.js} +193 -83
- package/schematics/bundles/compiler_host-CAfDJO3W.js +1 -1
- package/schematics/bundles/control-flow-migration.js +2 -2
- package/schematics/bundles/document-core.js +6 -6
- package/schematics/bundles/imports-CIX-JgAN.js +1 -1
- package/schematics/bundles/{index--W6S49uu.js → index-6wv04ZFQ.js} +5 -5
- package/schematics/bundles/{index-rsJ8I_hu.js → index-B1R5GL-k.js} +55 -23
- package/schematics/bundles/inject-flags.js +6 -6
- package/schematics/bundles/inject-migration.js +14 -11
- package/schematics/bundles/leading_space-D9nQ8UQC.js +1 -1
- package/schematics/bundles/{migrate_ts_type_references-C4D_SzJk.js → migrate_ts_type_references-Dh9TZgTr.js} +7 -6
- package/schematics/bundles/ng_decorators-DznZ5jMl.js +1 -1
- package/schematics/bundles/nodes-B16H9JUd.js +1 -1
- package/schematics/bundles/output-migration.js +7 -7
- package/schematics/bundles/{project_paths-Ce0O2u-M.js → project_paths-B-Nevd-p.js} +4 -4
- 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 +5 -5
- package/schematics/bundles/signal-input-migration.js +8 -8
- package/schematics/bundles/signal-queries-migration.js +8 -8
- 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 +5 -5
- package/signal.d-E0e5nW1p.d.ts +1 -1
- package/testing/index.d.ts +9 -3
- package/weak_ref.d-eGOEP9S1.d.ts +1 -1
- package/fesm2022/debug_node-B3CixwNH.mjs.map +0 -1
- package/fesm2022/root_effect_scheduler-BK3l7wIO.mjs.map +0 -1
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
/**
|
|
3
|
-
* @license Angular v20.0.0-next.
|
|
3
|
+
* @license Angular v20.0.0-next.8
|
|
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-BEZ6sUQS.js');
|
|
10
10
|
var ts = require('typescript');
|
|
11
11
|
var p = require('path');
|
|
12
|
-
var checker = require('./checker-
|
|
12
|
+
var checker = require('./checker-DV96LHWz.js');
|
|
13
13
|
require('os');
|
|
14
14
|
|
|
15
15
|
function _interopNamespaceDefault(e) {
|
|
@@ -892,7 +892,7 @@ const MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION = '18.0.0';
|
|
|
892
892
|
function compileDeclareClassMetadata(metadata) {
|
|
893
893
|
const definitionMap = new compiler.DefinitionMap();
|
|
894
894
|
definitionMap.set('minVersion', compiler.literal(MINIMUM_PARTIAL_LINKER_VERSION$5));
|
|
895
|
-
definitionMap.set('version', compiler.literal('20.0.0-next.
|
|
895
|
+
definitionMap.set('version', compiler.literal('20.0.0-next.8'));
|
|
896
896
|
definitionMap.set('ngImport', compiler.importExpr(compiler.Identifiers.core));
|
|
897
897
|
definitionMap.set('type', metadata.type);
|
|
898
898
|
definitionMap.set('decorators', metadata.decorators);
|
|
@@ -910,7 +910,7 @@ function compileComponentDeclareClassMetadata(metadata, dependencies) {
|
|
|
910
910
|
callbackReturnDefinitionMap.set('ctorParameters', metadata.ctorParameters ?? compiler.literal(null));
|
|
911
911
|
callbackReturnDefinitionMap.set('propDecorators', metadata.propDecorators ?? compiler.literal(null));
|
|
912
912
|
definitionMap.set('minVersion', compiler.literal(MINIMUM_PARTIAL_LINKER_DEFER_SUPPORT_VERSION));
|
|
913
|
-
definitionMap.set('version', compiler.literal('20.0.0-next.
|
|
913
|
+
definitionMap.set('version', compiler.literal('20.0.0-next.8'));
|
|
914
914
|
definitionMap.set('ngImport', compiler.importExpr(compiler.Identifiers.core));
|
|
915
915
|
definitionMap.set('type', metadata.type);
|
|
916
916
|
definitionMap.set('resolveDeferredDeps', compileComponentMetadataAsyncResolver(dependencies));
|
|
@@ -1005,7 +1005,7 @@ function createDirectiveDefinitionMap(meta) {
|
|
|
1005
1005
|
const definitionMap = new compiler.DefinitionMap();
|
|
1006
1006
|
const minVersion = getMinimumVersionForPartialOutput(meta);
|
|
1007
1007
|
definitionMap.set('minVersion', compiler.literal(minVersion));
|
|
1008
|
-
definitionMap.set('version', compiler.literal('20.0.0-next.
|
|
1008
|
+
definitionMap.set('version', compiler.literal('20.0.0-next.8'));
|
|
1009
1009
|
// e.g. `type: MyDirective`
|
|
1010
1010
|
definitionMap.set('type', meta.type.value);
|
|
1011
1011
|
if (meta.isStandalone !== undefined) {
|
|
@@ -1421,7 +1421,7 @@ const MINIMUM_PARTIAL_LINKER_VERSION$4 = '12.0.0';
|
|
|
1421
1421
|
function compileDeclareFactoryFunction(meta) {
|
|
1422
1422
|
const definitionMap = new compiler.DefinitionMap();
|
|
1423
1423
|
definitionMap.set('minVersion', compiler.literal(MINIMUM_PARTIAL_LINKER_VERSION$4));
|
|
1424
|
-
definitionMap.set('version', compiler.literal('20.0.0-next.
|
|
1424
|
+
definitionMap.set('version', compiler.literal('20.0.0-next.8'));
|
|
1425
1425
|
definitionMap.set('ngImport', compiler.importExpr(compiler.Identifiers.core));
|
|
1426
1426
|
definitionMap.set('type', meta.type.value);
|
|
1427
1427
|
definitionMap.set('deps', compileDependencies(meta.deps));
|
|
@@ -1456,7 +1456,7 @@ function compileDeclareInjectableFromMetadata(meta) {
|
|
|
1456
1456
|
function createInjectableDefinitionMap(meta) {
|
|
1457
1457
|
const definitionMap = new compiler.DefinitionMap();
|
|
1458
1458
|
definitionMap.set('minVersion', compiler.literal(MINIMUM_PARTIAL_LINKER_VERSION$3));
|
|
1459
|
-
definitionMap.set('version', compiler.literal('20.0.0-next.
|
|
1459
|
+
definitionMap.set('version', compiler.literal('20.0.0-next.8'));
|
|
1460
1460
|
definitionMap.set('ngImport', compiler.importExpr(compiler.Identifiers.core));
|
|
1461
1461
|
definitionMap.set('type', meta.type.value);
|
|
1462
1462
|
// Only generate providedIn property if it has a non-null value
|
|
@@ -1507,7 +1507,7 @@ function compileDeclareInjectorFromMetadata(meta) {
|
|
|
1507
1507
|
function createInjectorDefinitionMap(meta) {
|
|
1508
1508
|
const definitionMap = new compiler.DefinitionMap();
|
|
1509
1509
|
definitionMap.set('minVersion', compiler.literal(MINIMUM_PARTIAL_LINKER_VERSION$2));
|
|
1510
|
-
definitionMap.set('version', compiler.literal('20.0.0-next.
|
|
1510
|
+
definitionMap.set('version', compiler.literal('20.0.0-next.8'));
|
|
1511
1511
|
definitionMap.set('ngImport', compiler.importExpr(compiler.Identifiers.core));
|
|
1512
1512
|
definitionMap.set('type', meta.type.value);
|
|
1513
1513
|
definitionMap.set('providers', meta.providers);
|
|
@@ -1540,7 +1540,7 @@ function createNgModuleDefinitionMap(meta) {
|
|
|
1540
1540
|
throw new Error('Invalid path! Local compilation mode should not get into the partial compilation path');
|
|
1541
1541
|
}
|
|
1542
1542
|
definitionMap.set('minVersion', compiler.literal(MINIMUM_PARTIAL_LINKER_VERSION$1));
|
|
1543
|
-
definitionMap.set('version', compiler.literal('20.0.0-next.
|
|
1543
|
+
definitionMap.set('version', compiler.literal('20.0.0-next.8'));
|
|
1544
1544
|
definitionMap.set('ngImport', compiler.importExpr(compiler.Identifiers.core));
|
|
1545
1545
|
definitionMap.set('type', meta.type.value);
|
|
1546
1546
|
// We only generate the keys in the metadata if the arrays contain values.
|
|
@@ -1591,7 +1591,7 @@ function compileDeclarePipeFromMetadata(meta) {
|
|
|
1591
1591
|
function createPipeDefinitionMap(meta) {
|
|
1592
1592
|
const definitionMap = new compiler.DefinitionMap();
|
|
1593
1593
|
definitionMap.set('minVersion', compiler.literal(MINIMUM_PARTIAL_LINKER_VERSION));
|
|
1594
|
-
definitionMap.set('version', compiler.literal('20.0.0-next.
|
|
1594
|
+
definitionMap.set('version', compiler.literal('20.0.0-next.8'));
|
|
1595
1595
|
definitionMap.set('ngImport', compiler.importExpr(compiler.Identifiers.core));
|
|
1596
1596
|
// e.g. `type: MyPipe`
|
|
1597
1597
|
definitionMap.set('type', meta.type.value);
|
|
@@ -2582,6 +2582,7 @@ class DtsMetadataReader {
|
|
|
2582
2582
|
name,
|
|
2583
2583
|
nameExpr: null,
|
|
2584
2584
|
isStandalone,
|
|
2585
|
+
isPure: null, // The DTS has no idea about that
|
|
2585
2586
|
decorator: null,
|
|
2586
2587
|
isExplicitlyDeferred: false,
|
|
2587
2588
|
};
|
|
@@ -9471,6 +9472,7 @@ class ComponentDecoratorHandler {
|
|
|
9471
9472
|
}
|
|
9472
9473
|
}
|
|
9473
9474
|
}
|
|
9475
|
+
// TODO(crisbeto): implement for selectorless.
|
|
9474
9476
|
const binder = new compiler.R3TargetBinder(matcher);
|
|
9475
9477
|
const boundTemplate = binder.bind({ template: analysis.template.diagNodes });
|
|
9476
9478
|
context.addComponent({
|
|
@@ -9493,6 +9495,7 @@ class ComponentDecoratorHandler {
|
|
|
9493
9495
|
// Don't type-check components that had errors in their scopes, unless requested.
|
|
9494
9496
|
return;
|
|
9495
9497
|
}
|
|
9498
|
+
// TODO(crisbeto): implement for selectorless.
|
|
9496
9499
|
const binder = new compiler.R3TargetBinder(scope.matcher);
|
|
9497
9500
|
const templateContext = {
|
|
9498
9501
|
nodes: meta.template.diagNodes,
|
|
@@ -10295,6 +10298,7 @@ function createTargetBinder(dependencies) {
|
|
|
10295
10298
|
matcher.addSelectables(compiler.CssSelector.parse(dep.selector), [dep]);
|
|
10296
10299
|
}
|
|
10297
10300
|
}
|
|
10301
|
+
// TODO(crisbeto): implement for selectorless.
|
|
10298
10302
|
return new compiler.R3TargetBinder(matcher);
|
|
10299
10303
|
}
|
|
10300
10304
|
/**
|
|
@@ -10821,6 +10825,7 @@ class PipeDecoratorHandler {
|
|
|
10821
10825
|
isStandalone: analysis.meta.isStandalone,
|
|
10822
10826
|
decorator: analysis.decorator,
|
|
10823
10827
|
isExplicitlyDeferred: false,
|
|
10828
|
+
isPure: analysis.meta.pure,
|
|
10824
10829
|
});
|
|
10825
10830
|
this.injectableRegistry.registerInjectable(node, {
|
|
10826
10831
|
ctorDeps: analysis.meta.deps,
|
|
@@ -10870,7 +10875,7 @@ class PipeDecoratorHandler {
|
|
|
10870
10875
|
* @description
|
|
10871
10876
|
* Entry point for all public APIs of the compiler-cli package.
|
|
10872
10877
|
*/
|
|
10873
|
-
new compiler.Version('20.0.0-next.
|
|
10878
|
+
new compiler.Version('20.0.0-next.8');
|
|
10874
10879
|
|
|
10875
10880
|
/**
|
|
10876
10881
|
* Whether a given decorator should be treated as an Angular decorator.
|
|
@@ -12159,11 +12164,7 @@ class FunctionExtractor {
|
|
|
12159
12164
|
// TODO: is there any real situation in which the signature would not be available here?
|
|
12160
12165
|
// Is void a better type?
|
|
12161
12166
|
const signature = this.typeChecker.getSignatureFromDeclaration(this.exportDeclaration);
|
|
12162
|
-
const returnType = signature
|
|
12163
|
-
? this.typeChecker.typeToString(this.typeChecker.getReturnTypeOfSignature(signature), undefined,
|
|
12164
|
-
// This ensures that e.g. `T | undefined` is not reduced to `T`.
|
|
12165
|
-
ts.TypeFormatFlags.NoTypeReduction | ts.TypeFormatFlags.NoTruncation)
|
|
12166
|
-
: 'unknown';
|
|
12167
|
+
const returnType = signature ? extractReturnType(signature, this.typeChecker) : 'unknown';
|
|
12167
12168
|
const implementation = findImplementationOfFunction(this.exportDeclaration, this.typeChecker) ??
|
|
12168
12169
|
this.exportDeclaration;
|
|
12169
12170
|
const type = this.typeChecker.getTypeAtLocation(this.exportDeclaration);
|
|
@@ -12247,11 +12248,18 @@ function extractCallSignatures(name, typeChecker, type) {
|
|
|
12247
12248
|
jsdocTags: extractJsDocTags(decl),
|
|
12248
12249
|
params: extractAllParams(decl.parameters, typeChecker),
|
|
12249
12250
|
rawComment: extractRawJsDoc(decl),
|
|
12250
|
-
returnType:
|
|
12251
|
-
// This ensures that e.g. `T | undefined` is not reduced to `T`.
|
|
12252
|
-
ts.TypeFormatFlags.NoTypeReduction | ts.TypeFormatFlags.NoTruncation),
|
|
12251
|
+
returnType: extractReturnType(signature, typeChecker),
|
|
12253
12252
|
}));
|
|
12254
12253
|
}
|
|
12254
|
+
function extractReturnType(signature, typeChecker) {
|
|
12255
|
+
// Handling Type Predicates
|
|
12256
|
+
if (signature?.declaration?.type && ts.isTypePredicateNode(signature.declaration.type)) {
|
|
12257
|
+
return signature.declaration.type.getText();
|
|
12258
|
+
}
|
|
12259
|
+
return typeChecker.typeToString(typeChecker.getReturnTypeOfSignature(signature), undefined,
|
|
12260
|
+
// This ensures that e.g. `T | undefined` is not reduced to `T`.
|
|
12261
|
+
ts.TypeFormatFlags.NoTypeReduction | ts.TypeFormatFlags.NoTruncation);
|
|
12262
|
+
}
|
|
12255
12263
|
/** Finds the implementation of the given function declaration overload signature. */
|
|
12256
12264
|
function findImplementationOfFunction(node, typeChecker) {
|
|
12257
12265
|
if (node.body !== undefined || node.name === undefined) {
|
|
@@ -12331,7 +12339,8 @@ class ClassExtractor {
|
|
|
12331
12339
|
else if (ts.isAccessor(memberDeclaration)) {
|
|
12332
12340
|
return this.extractGetterSetter(memberDeclaration);
|
|
12333
12341
|
}
|
|
12334
|
-
else if (ts.isConstructorDeclaration(memberDeclaration)
|
|
12342
|
+
else if (ts.isConstructorDeclaration(memberDeclaration) &&
|
|
12343
|
+
memberDeclaration.parameters.length > 0) {
|
|
12335
12344
|
return this.extractConstructor(memberDeclaration);
|
|
12336
12345
|
}
|
|
12337
12346
|
// We only expect methods, properties, and accessors. If we encounter something else,
|
|
@@ -12633,6 +12642,8 @@ class PipeExtractor extends ClassExtractor {
|
|
|
12633
12642
|
pipeName: this.metadata.name,
|
|
12634
12643
|
entryType: EntryType.Pipe,
|
|
12635
12644
|
isStandalone: this.metadata.isStandalone,
|
|
12645
|
+
usage: extractPipeSyntax(this.metadata, this.declaration),
|
|
12646
|
+
isPure: this.metadata.isPure,
|
|
12636
12647
|
};
|
|
12637
12648
|
}
|
|
12638
12649
|
}
|
|
@@ -12678,6 +12689,21 @@ function extractInterface(declaration, typeChecker) {
|
|
|
12678
12689
|
const extractor = new ClassExtractor(declaration, typeChecker);
|
|
12679
12690
|
return extractor.extract();
|
|
12680
12691
|
}
|
|
12692
|
+
function extractPipeSyntax(metadata, classDeclaration) {
|
|
12693
|
+
const transformParams = classDeclaration.members.find((member) => {
|
|
12694
|
+
return (ts.isMethodDeclaration(member) &&
|
|
12695
|
+
member.name &&
|
|
12696
|
+
ts.isIdentifier(member.name) &&
|
|
12697
|
+
member.name.getText() === 'transform');
|
|
12698
|
+
});
|
|
12699
|
+
let paramNames = transformParams.parameters
|
|
12700
|
+
// value is the first argument, it's already referenced before the pipe
|
|
12701
|
+
.slice(1)
|
|
12702
|
+
.map((param) => {
|
|
12703
|
+
return param.name.getText();
|
|
12704
|
+
});
|
|
12705
|
+
return `{{ value_expression | ${metadata.name}${paramNames.length ? ':' + paramNames.join(':') : ''} }}`;
|
|
12706
|
+
}
|
|
12681
12707
|
|
|
12682
12708
|
/** Name of the tag indicating that an object literal should be shown as an enum in docs. */
|
|
12683
12709
|
const LITERAL_AS_ENUM_TAG = 'object-literal-as-enum';
|
|
@@ -14183,6 +14209,9 @@ let TemplateVisitor$1 = class TemplateVisitor extends compiler.RecursiveVisitor
|
|
|
14183
14209
|
}
|
|
14184
14210
|
/** Creates an identifier for a template element or template node. */
|
|
14185
14211
|
elementOrTemplateToIdentifier(node) {
|
|
14212
|
+
if (node instanceof compiler.Component || node instanceof compiler.Directive) {
|
|
14213
|
+
throw new Error('TODO');
|
|
14214
|
+
}
|
|
14186
14215
|
// If this node has already been seen, return the cached result.
|
|
14187
14216
|
if (this.elementAndTemplateIdentifierCache.has(node)) {
|
|
14188
14217
|
return this.elementAndTemplateIdentifierCache.get(node);
|
|
@@ -14260,7 +14289,10 @@ let TemplateVisitor$1 = class TemplateVisitor extends compiler.RecursiveVisitor
|
|
|
14260
14289
|
if (refTarget) {
|
|
14261
14290
|
let node = null;
|
|
14262
14291
|
let directive = null;
|
|
14263
|
-
if (refTarget instanceof compiler.Element ||
|
|
14292
|
+
if (refTarget instanceof compiler.Element ||
|
|
14293
|
+
refTarget instanceof compiler.Template ||
|
|
14294
|
+
refTarget instanceof compiler.Component ||
|
|
14295
|
+
refTarget instanceof compiler.Directive) {
|
|
14264
14296
|
node = this.elementOrTemplateToIdentifier(refTarget);
|
|
14265
14297
|
}
|
|
14266
14298
|
else {
|
|
@@ -18779,7 +18811,7 @@ var semver = /*@__PURE__*/getDefaultExportFromCjs(semverExports);
|
|
|
18779
18811
|
* @param minVersion Minimum required version for the feature.
|
|
18780
18812
|
*/
|
|
18781
18813
|
function coreVersionSupportsFeature(coreVersion, minVersion) {
|
|
18782
|
-
// A version of `20.0.0-next.
|
|
18814
|
+
// A version of `20.0.0-next.8` usually means that core is at head so it supports
|
|
18783
18815
|
// all features. Use string interpolation prevent the placeholder from being replaced
|
|
18784
18816
|
// with the current version during build time.
|
|
18785
18817
|
if (coreVersion === `0.0.0-${'PLACEHOLDER'}`) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
/**
|
|
3
|
-
* @license Angular v20.0.0-next.
|
|
3
|
+
* @license Angular v20.0.0-next.8
|
|
4
4
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
5
5
|
* License: MIT
|
|
6
6
|
*/
|
|
@@ -8,12 +8,12 @@
|
|
|
8
8
|
|
|
9
9
|
var ts = require('typescript');
|
|
10
10
|
require('os');
|
|
11
|
-
var checker = require('./checker-
|
|
12
|
-
require('./compiler-
|
|
13
|
-
require('./index-
|
|
11
|
+
var checker = require('./checker-DV96LHWz.js');
|
|
12
|
+
require('./compiler-BEZ6sUQS.js');
|
|
13
|
+
require('./index-B1R5GL-k.js');
|
|
14
14
|
require('path');
|
|
15
|
-
var project_paths = require('./project_paths-
|
|
16
|
-
var apply_import_manager = require('./apply_import_manager-
|
|
15
|
+
var project_paths = require('./project_paths-B-Nevd-p.js');
|
|
16
|
+
var apply_import_manager = require('./apply_import_manager-CaG-_cEq.js');
|
|
17
17
|
var imports = require('./imports-CIX-JgAN.js');
|
|
18
18
|
require('@angular-devkit/core');
|
|
19
19
|
require('node:path/posix');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
/**
|
|
3
|
-
* @license Angular v20.0.0-next.
|
|
3
|
+
* @license Angular v20.0.0-next.8
|
|
4
4
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
5
5
|
* License: MIT
|
|
6
6
|
*/
|
|
@@ -8,15 +8,15 @@
|
|
|
8
8
|
|
|
9
9
|
var schematics = require('@angular-devkit/schematics');
|
|
10
10
|
var p = require('path');
|
|
11
|
-
var change_tracker = require('./change_tracker-
|
|
11
|
+
var change_tracker = require('./change_tracker-ISzWfEHN.js');
|
|
12
12
|
var compiler_host = require('./compiler_host-CAfDJO3W.js');
|
|
13
13
|
var ts = require('typescript');
|
|
14
14
|
var ng_decorators = require('./ng_decorators-DznZ5jMl.js');
|
|
15
15
|
var imports = require('./imports-CIX-JgAN.js');
|
|
16
16
|
var nodes = require('./nodes-B16H9JUd.js');
|
|
17
17
|
var leading_space = require('./leading_space-D9nQ8UQC.js');
|
|
18
|
-
require('./compiler-
|
|
19
|
-
require('./checker-
|
|
18
|
+
require('./compiler-BEZ6sUQS.js');
|
|
19
|
+
require('./checker-DV96LHWz.js');
|
|
20
20
|
require('os');
|
|
21
21
|
require('fs');
|
|
22
22
|
require('module');
|
|
@@ -894,7 +894,7 @@ function createInjectReplacementCall(param, options, localTypeChecker, printer,
|
|
|
894
894
|
const moduleName = '@angular/core';
|
|
895
895
|
const sourceFile = param.getSourceFile();
|
|
896
896
|
const decorators = ng_decorators.getAngularDecorators(localTypeChecker, ts.getDecorators(param) || []);
|
|
897
|
-
const literalProps =
|
|
897
|
+
const literalProps = new Set();
|
|
898
898
|
const type = param.type;
|
|
899
899
|
let injectedType = '';
|
|
900
900
|
let typeArguments = type && hasGenerics(type) ? [type] : undefined;
|
|
@@ -933,20 +933,23 @@ function createInjectReplacementCall(param, options, localTypeChecker, printer,
|
|
|
933
933
|
const expression = ts.factory.createNewExpression(constructorRef, undefined, [firstArg]);
|
|
934
934
|
injectedType = printer.printNode(ts.EmitHint.Unspecified, expression, sourceFile);
|
|
935
935
|
typeArguments = undefined;
|
|
936
|
+
// @Attribute is implicitly optional.
|
|
937
|
+
hasOptionalDecorator = true;
|
|
938
|
+
literalProps.add('optional');
|
|
936
939
|
}
|
|
937
940
|
break;
|
|
938
941
|
case 'Optional':
|
|
939
942
|
hasOptionalDecorator = true;
|
|
940
|
-
literalProps.
|
|
943
|
+
literalProps.add('optional');
|
|
941
944
|
break;
|
|
942
945
|
case 'SkipSelf':
|
|
943
|
-
literalProps.
|
|
946
|
+
literalProps.add('skipSelf');
|
|
944
947
|
break;
|
|
945
948
|
case 'Self':
|
|
946
|
-
literalProps.
|
|
949
|
+
literalProps.add('self');
|
|
947
950
|
break;
|
|
948
951
|
case 'Host':
|
|
949
|
-
literalProps.
|
|
952
|
+
literalProps.add('host');
|
|
950
953
|
break;
|
|
951
954
|
}
|
|
952
955
|
}
|
|
@@ -955,8 +958,8 @@ function createInjectReplacementCall(param, options, localTypeChecker, printer,
|
|
|
955
958
|
// which we then replace with the raw text of the `TypeNode`.
|
|
956
959
|
const injectRef = tracker.addImport(param.getSourceFile(), 'inject', moduleName);
|
|
957
960
|
const args = [ts.factory.createIdentifier(PLACEHOLDER)];
|
|
958
|
-
if (literalProps.
|
|
959
|
-
args.push(ts.factory.createObjectLiteralExpression(literalProps));
|
|
961
|
+
if (literalProps.size > 0) {
|
|
962
|
+
args.push(ts.factory.createObjectLiteralExpression(Array.from(literalProps, (prop) => ts.factory.createPropertyAssignment(prop, ts.factory.createTrue()))));
|
|
960
963
|
}
|
|
961
964
|
let expression = ts.factory.createCallExpression(injectRef, typeArguments, args);
|
|
962
965
|
if (hasOptionalDecorator && options.nonNullableOptional) {
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
/**
|
|
3
|
-
* @license Angular v20.0.0-next.
|
|
3
|
+
* @license Angular v20.0.0-next.8
|
|
4
4
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
5
5
|
* License: MIT
|
|
6
6
|
*/
|
|
7
7
|
'use strict';
|
|
8
8
|
|
|
9
|
-
require('./compiler-
|
|
9
|
+
require('./compiler-BEZ6sUQS.js');
|
|
10
10
|
var ts = require('typescript');
|
|
11
|
-
var checker = require('./checker-
|
|
11
|
+
var checker = require('./checker-DV96LHWz.js');
|
|
12
12
|
require('os');
|
|
13
13
|
var assert = require('assert');
|
|
14
|
-
var index = require('./index
|
|
15
|
-
var project_paths = require('./project_paths-
|
|
14
|
+
var index = require('./index-6wv04ZFQ.js');
|
|
15
|
+
var project_paths = require('./project_paths-B-Nevd-p.js');
|
|
16
16
|
var leading_space = require('./leading_space-D9nQ8UQC.js');
|
|
17
|
-
require('./index-
|
|
17
|
+
require('./index-B1R5GL-k.js');
|
|
18
18
|
require('path');
|
|
19
19
|
|
|
20
20
|
/**
|
|
@@ -158,6 +158,7 @@ var BinaryOperator;
|
|
|
158
158
|
BinaryOperator[BinaryOperator["BiggerEquals"] = 16] = "BiggerEquals";
|
|
159
159
|
BinaryOperator[BinaryOperator["NullishCoalesce"] = 17] = "NullishCoalesce";
|
|
160
160
|
BinaryOperator[BinaryOperator["Exponentiation"] = 18] = "Exponentiation";
|
|
161
|
+
BinaryOperator[BinaryOperator["In"] = 19] = "In";
|
|
161
162
|
})(BinaryOperator || (BinaryOperator = {}));
|
|
162
163
|
function nullSafeIsEquivalent(base, other) {
|
|
163
164
|
if (base == null || other == null) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
/**
|
|
3
|
-
* @license Angular v20.0.0-next.
|
|
3
|
+
* @license Angular v20.0.0-next.8
|
|
4
4
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
5
5
|
* License: MIT
|
|
6
6
|
*/
|
|
@@ -8,13 +8,13 @@
|
|
|
8
8
|
|
|
9
9
|
var ts = require('typescript');
|
|
10
10
|
require('os');
|
|
11
|
-
var checker = require('./checker-
|
|
12
|
-
var compiler = require('./compiler-
|
|
13
|
-
var index$1 = require('./index-
|
|
11
|
+
var checker = require('./checker-DV96LHWz.js');
|
|
12
|
+
var compiler = require('./compiler-BEZ6sUQS.js');
|
|
13
|
+
var index$1 = require('./index-B1R5GL-k.js');
|
|
14
14
|
require('path');
|
|
15
|
-
var project_paths = require('./project_paths-
|
|
16
|
-
var apply_import_manager = require('./apply_import_manager-
|
|
17
|
-
var index = require('./index
|
|
15
|
+
var project_paths = require('./project_paths-B-Nevd-p.js');
|
|
16
|
+
var apply_import_manager = require('./apply_import_manager-CaG-_cEq.js');
|
|
17
|
+
var index = require('./index-6wv04ZFQ.js');
|
|
18
18
|
require('@angular-devkit/core');
|
|
19
19
|
require('node:path/posix');
|
|
20
20
|
require('fs');
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
/**
|
|
3
|
-
* @license Angular v20.0.0-next.
|
|
3
|
+
* @license Angular v20.0.0-next.8
|
|
4
4
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
5
5
|
* License: MIT
|
|
6
6
|
*/
|
|
7
7
|
'use strict';
|
|
8
8
|
|
|
9
|
-
var index = require('./index-
|
|
9
|
+
var index = require('./index-B1R5GL-k.js');
|
|
10
10
|
var schematics = require('@angular-devkit/schematics');
|
|
11
11
|
var core = require('@angular-devkit/core');
|
|
12
12
|
var posixPath = require('node:path/posix');
|
|
13
13
|
var os = require('os');
|
|
14
14
|
var ts = require('typescript');
|
|
15
|
-
var checker = require('./checker-
|
|
16
|
-
require('./compiler-
|
|
15
|
+
var checker = require('./checker-DV96LHWz.js');
|
|
16
|
+
require('./compiler-BEZ6sUQS.js');
|
|
17
17
|
require('path');
|
|
18
18
|
var project_tsconfig_paths = require('./project_tsconfig_paths-CDVxT6Ov.js');
|
|
19
19
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
/**
|
|
3
|
-
* @license Angular v20.0.0-next.
|
|
3
|
+
* @license Angular v20.0.0-next.8
|
|
4
4
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
5
5
|
* License: MIT
|
|
6
6
|
*/
|
|
@@ -9,13 +9,13 @@
|
|
|
9
9
|
var schematics = require('@angular-devkit/schematics');
|
|
10
10
|
var fs = require('fs');
|
|
11
11
|
var p = require('path');
|
|
12
|
-
var change_tracker = require('./change_tracker-
|
|
12
|
+
var change_tracker = require('./change_tracker-ISzWfEHN.js');
|
|
13
13
|
var project_tsconfig_paths = require('./project_tsconfig_paths-CDVxT6Ov.js');
|
|
14
14
|
var compiler_host = require('./compiler_host-CAfDJO3W.js');
|
|
15
15
|
var ts = require('typescript');
|
|
16
|
-
var checker = require('./checker-
|
|
16
|
+
var checker = require('./checker-DV96LHWz.js');
|
|
17
17
|
var property_name = require('./property_name-BBwFuqMe.js');
|
|
18
|
-
require('./compiler-
|
|
18
|
+
require('./compiler-BEZ6sUQS.js');
|
|
19
19
|
require('os');
|
|
20
20
|
require('@angular-devkit/core');
|
|
21
21
|
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.8
|
|
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-DV96LHWz.js');
|
|
12
|
+
var compiler = require('./compiler-BEZ6sUQS.js');
|
|
13
|
+
require('./index-B1R5GL-k.js');
|
|
14
14
|
require('path');
|
|
15
|
-
var project_paths = require('./project_paths-
|
|
15
|
+
var project_paths = require('./project_paths-B-Nevd-p.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');
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
/**
|
|
3
|
-
* @license Angular v20.0.0-next.
|
|
3
|
+
* @license Angular v20.0.0-next.8
|
|
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-Dh9TZgTr.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-DV96LHWz.js');
|
|
13
|
+
require('./compiler-BEZ6sUQS.js');
|
|
14
|
+
var index$1 = require('./index-B1R5GL-k.js');
|
|
15
15
|
require('path');
|
|
16
|
-
var project_paths = require('./project_paths-
|
|
17
|
-
var index = require('./index
|
|
16
|
+
var project_paths = require('./project_paths-B-Nevd-p.js');
|
|
17
|
+
var index = require('./index-6wv04ZFQ.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-CaG-_cEq.js');
|
|
20
20
|
require('@angular-devkit/core');
|
|
21
21
|
require('node:path/posix');
|
|
22
22
|
require('./leading_space-D9nQ8UQC.js');
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
/**
|
|
3
|
-
* @license Angular v20.0.0-next.
|
|
3
|
+
* @license Angular v20.0.0-next.8
|
|
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-BEZ6sUQS.js');
|
|
10
10
|
var ts = require('typescript');
|
|
11
|
-
var checker = require('./checker-
|
|
11
|
+
var checker = require('./checker-DV96LHWz.js');
|
|
12
12
|
require('os');
|
|
13
|
-
var index$1 = require('./index-
|
|
13
|
+
var index$1 = require('./index-B1R5GL-k.js');
|
|
14
14
|
require('path');
|
|
15
|
-
var project_paths = require('./project_paths-
|
|
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-B-Nevd-p.js');
|
|
16
|
+
var apply_import_manager = require('./apply_import_manager-CaG-_cEq.js');
|
|
17
|
+
var migrate_ts_type_references = require('./migrate_ts_type_references-Dh9TZgTr.js');
|
|
18
18
|
var assert = require('assert');
|
|
19
|
-
var index = require('./index
|
|
19
|
+
var index = require('./index-6wv04ZFQ.js');
|
|
20
20
|
require('@angular-devkit/core');
|
|
21
21
|
require('node:path/posix');
|
|
22
22
|
require('fs');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
/**
|
|
3
|
-
* @license Angular v20.0.0-next.
|
|
3
|
+
* @license Angular v20.0.0-next.8
|
|
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-BEZ6sUQS.js');
|
|
14
14
|
require('typescript');
|
|
15
|
-
require('./checker-
|
|
15
|
+
require('./checker-DV96LHWz.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('./project_paths-
|
|
21
|
+
require('./index-B1R5GL-k.js');
|
|
22
|
+
require('./project_paths-B-Nevd-p.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-CaG-_cEq.js');
|
|
27
|
+
require('./migrate_ts_type_references-Dh9TZgTr.js');
|
|
28
28
|
require('assert');
|
|
29
|
-
require('./index
|
|
29
|
+
require('./index-6wv04ZFQ.js');
|
|
30
30
|
require('./leading_space-D9nQ8UQC.js');
|
|
31
31
|
|
|
32
32
|
function migrate(options) {
|