@angular/core 21.0.0-next.5 → 21.0.0-next.6
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.mjs → _attribute-chunk.mjs} +2 -2
- package/fesm2022/_attribute-chunk.mjs.map +1 -0
- package/fesm2022/{debug_node.mjs → _debug_node-chunk.mjs} +17 -7
- package/fesm2022/_debug_node-chunk.mjs.map +1 -0
- package/fesm2022/{effect.mjs → _effect-chunk.mjs} +3 -3
- package/fesm2022/_effect-chunk.mjs.map +1 -0
- package/fesm2022/{not_found.mjs → _not_found-chunk.mjs} +2 -2
- package/fesm2022/_not_found-chunk.mjs.map +1 -0
- package/fesm2022/{resource.mjs → _resource-chunk.mjs} +5 -5
- package/fesm2022/_resource-chunk.mjs.map +1 -0
- package/fesm2022/{root_effect_scheduler.mjs → _root_effect_scheduler-chunk.mjs} +5 -5
- package/fesm2022/_root_effect_scheduler-chunk.mjs.map +1 -0
- package/fesm2022/{signal.mjs → _signal-chunk.mjs} +9 -9
- package/fesm2022/_signal-chunk.mjs.map +1 -0
- package/fesm2022/{weak_ref.mjs → _weak_ref-chunk.mjs} +2 -2
- package/fesm2022/_weak_ref-chunk.mjs.map +1 -0
- package/fesm2022/core.mjs +13 -13
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/{primitives/di.mjs → primitives-di.mjs} +3 -3
- package/fesm2022/primitives-di.mjs.map +1 -0
- package/fesm2022/{primitives/event-dispatch.mjs → primitives-event-dispatch.mjs} +3 -3
- package/fesm2022/primitives-event-dispatch.mjs.map +1 -0
- package/fesm2022/primitives-signals.mjs +221 -0
- package/fesm2022/primitives-signals.mjs.map +1 -0
- package/fesm2022/rxjs-interop.mjs +6 -6
- package/fesm2022/rxjs-interop.mjs.map +1 -1
- package/fesm2022/testing.mjs +6 -6
- package/fesm2022/testing.mjs.map +1 -1
- package/package.json +12 -12
- package/schematics/bundles/add-bootstrap-context-to-server-main.cjs +5 -5
- package/schematics/bundles/application-config-core.cjs +5 -5
- package/schematics/bundles/{apply_import_manager-Bx60Uquz.cjs → apply_import_manager-pLtndDki.cjs} +3 -3
- package/schematics/bundles/bootstrap-options-migration.cjs +5 -5
- package/schematics/bundles/cleanup-unused-imports.cjs +5 -5
- package/schematics/bundles/{compiler_host-Aouk-n4F.cjs → compiler_host-BJEh7-L1.cjs} +2 -2
- package/schematics/bundles/control-flow-migration.cjs +4 -4
- package/schematics/bundles/imports-DwPXlGFl.cjs +1 -1
- package/schematics/bundles/{index-Bb6iejCd.cjs → index-DCfgOEYE.cjs} +32 -36
- package/schematics/bundles/{index-BZQb51Qf.cjs → index-bqpULzLD.cjs} +4 -6
- package/schematics/bundles/inject-migration.cjs +3 -3
- package/schematics/bundles/leading_space-D9nQ8UQC.cjs +1 -1
- package/schematics/bundles/{migrate_ts_type_references-By2ZtKls.cjs → migrate_ts_type_references-COE6BA7E.cjs} +5 -5
- package/schematics/bundles/{ng_component_template-B4M8mTyv.cjs → ng_component_template-pDoKlgPP.cjs} +2 -2
- package/schematics/bundles/ng_decorators-BI0uV7KI.cjs +1 -1
- package/schematics/bundles/ngclass-to-class-migration.cjs +7 -7
- package/schematics/bundles/ngstyle-to-style-migration.cjs +7 -7
- package/schematics/bundles/nodes-B16H9JUd.cjs +1 -1
- package/schematics/bundles/output-migration.cjs +6 -6
- package/schematics/bundles/{parse_html-7Wl_HDnw.cjs → parse_html-B6fblY_V.cjs} +2 -2
- package/schematics/bundles/{project_paths-Dr2s3Pq3.cjs → project_paths-i0Wjiiq1.cjs} +3 -3
- package/schematics/bundles/{project_tsconfig_paths-DX9KHLn9.cjs → project_tsconfig_paths-sFatqIE5.cjs} +75 -132
- package/schematics/bundles/property_name-BBwFuqMe.cjs +1 -1
- package/schematics/bundles/route-lazy-loading.cjs +3 -3
- package/schematics/bundles/router-current-navigation.cjs +4 -4
- package/schematics/bundles/router-last-successful-navigation.cjs +4 -4
- package/schematics/bundles/self-closing-tags-migration.cjs +6 -6
- package/schematics/bundles/signal-input-migration.cjs +67 -8
- package/schematics/bundles/signal-queries-migration.cjs +7 -7
- package/schematics/bundles/signals.cjs +7 -7
- package/schematics/bundles/standalone-migration.cjs +60 -40
- package/schematics/bundles/symbol-BObKoqes.cjs +1 -1
- package/schematics/migrations.json +1 -2
- package/{api.d.d.ts → types/_api-chunk.d.ts} +2 -2
- package/{chrome_dev_tools_performance.d.d.ts → types/_chrome_dev_tools_performance-chunk.d.ts} +3 -3
- package/{discovery.d.d.ts → types/_discovery-chunk.d.ts} +5 -5
- package/{effect.d.d.ts → types/_effect-chunk.d.ts} +2 -2
- package/{event_dispatcher.d.d.ts → types/_event_dispatcher-chunk.d.ts} +1 -1
- package/{graph.d.d.ts → types/_formatter-chunk.d.ts} +14 -2
- package/{weak_ref.d.d.ts → types/_weak_ref-chunk.d.ts} +1 -1
- package/{index.d.ts → types/core.d.ts} +13 -13
- package/{primitives/di/index.d.ts → types/primitives-di.d.ts} +1 -1
- package/{primitives/event-dispatch/index.d.ts → types/primitives-event-dispatch.d.ts} +3 -3
- package/{primitives/signals/index.d.ts → types/primitives-signals.d.ts} +6 -6
- package/{rxjs-interop/index.d.ts → types/rxjs-interop.d.ts} +5 -5
- package/{testing/index.d.ts → types/testing.d.ts} +6 -6
- package/fesm2022/attribute.mjs.map +0 -1
- package/fesm2022/debug_node.mjs.map +0 -1
- package/fesm2022/effect.mjs.map +0 -1
- package/fesm2022/not_found.mjs.map +0 -1
- package/fesm2022/primitives/di.mjs.map +0 -1
- package/fesm2022/primitives/event-dispatch.mjs.map +0 -1
- package/fesm2022/primitives/signals.mjs +0 -88
- package/fesm2022/primitives/signals.mjs.map +0 -1
- package/fesm2022/resource.mjs.map +0 -1
- package/fesm2022/root_effect_scheduler.mjs.map +0 -1
- package/fesm2022/signal.mjs.map +0 -1
- package/fesm2022/weak_ref.mjs.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
/**
|
|
3
|
-
* @license Angular v21.0.0-next.
|
|
3
|
+
* @license Angular v21.0.0-next.6
|
|
4
4
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
5
5
|
* License: MIT
|
|
6
6
|
*/
|
|
@@ -6304,48 +6304,6 @@ function createFactoryFunction(type) {
|
|
|
6304
6304
|
return arrowFn([t], type.prop('ɵfac').callFn([variable(t.name)]));
|
|
6305
6305
|
}
|
|
6306
6306
|
|
|
6307
|
-
const UNUSABLE_INTERPOLATION_REGEXPS = [
|
|
6308
|
-
/@/, // control flow reserved symbol
|
|
6309
|
-
/^\s*$/, // empty
|
|
6310
|
-
/[<>]/, // html tag
|
|
6311
|
-
/^[{}]$/, // i18n expansion
|
|
6312
|
-
/&(#|[a-z])/i, // character reference,
|
|
6313
|
-
/^\/\//, // comment
|
|
6314
|
-
];
|
|
6315
|
-
function assertInterpolationSymbols(identifier, value) {
|
|
6316
|
-
if (value != null && !(Array.isArray(value) && value.length == 2)) {
|
|
6317
|
-
throw new Error(`Expected '${identifier}' to be an array, [start, end].`);
|
|
6318
|
-
}
|
|
6319
|
-
else if (value != null) {
|
|
6320
|
-
const start = value[0];
|
|
6321
|
-
const end = value[1];
|
|
6322
|
-
// Check for unusable interpolation symbols
|
|
6323
|
-
UNUSABLE_INTERPOLATION_REGEXPS.forEach((regexp) => {
|
|
6324
|
-
if (regexp.test(start) || regexp.test(end)) {
|
|
6325
|
-
throw new Error(`['${start}', '${end}'] contains unusable interpolation symbol.`);
|
|
6326
|
-
}
|
|
6327
|
-
});
|
|
6328
|
-
}
|
|
6329
|
-
}
|
|
6330
|
-
|
|
6331
|
-
class InterpolationConfig {
|
|
6332
|
-
start;
|
|
6333
|
-
end;
|
|
6334
|
-
static fromArray(markers) {
|
|
6335
|
-
if (!markers) {
|
|
6336
|
-
return DEFAULT_INTERPOLATION_CONFIG;
|
|
6337
|
-
}
|
|
6338
|
-
assertInterpolationSymbols('interpolation', markers);
|
|
6339
|
-
return new InterpolationConfig(markers[0], markers[1]);
|
|
6340
|
-
}
|
|
6341
|
-
constructor(start, end) {
|
|
6342
|
-
this.start = start;
|
|
6343
|
-
this.end = end;
|
|
6344
|
-
}
|
|
6345
|
-
}
|
|
6346
|
-
const DEFAULT_INTERPOLATION_CONFIG = new InterpolationConfig('{{', '}}');
|
|
6347
|
-
const DEFAULT_CONTAINER_BLOCKS = new Set(['switch']);
|
|
6348
|
-
|
|
6349
6307
|
const $EOF = 0;
|
|
6350
6308
|
const $BSPACE = 8;
|
|
6351
6309
|
const $TAB = 9;
|
|
@@ -15936,12 +15894,15 @@ const SUPPORTED_BLOCKS = [
|
|
|
15936
15894
|
'@loading',
|
|
15937
15895
|
'@error',
|
|
15938
15896
|
];
|
|
15897
|
+
const INTERPOLATION = {
|
|
15898
|
+
start: '{{',
|
|
15899
|
+
end: '}}',
|
|
15900
|
+
};
|
|
15939
15901
|
// See https://www.w3.org/TR/html51/syntax.html#writing-html-documents
|
|
15940
15902
|
class _Tokenizer {
|
|
15941
15903
|
_getTagDefinition;
|
|
15942
15904
|
_cursor;
|
|
15943
15905
|
_tokenizeIcu;
|
|
15944
|
-
_interpolationConfig;
|
|
15945
15906
|
_leadingTriviaCodePoints;
|
|
15946
15907
|
_currentTokenStart = null;
|
|
15947
15908
|
_currentTokenType = null;
|
|
@@ -15964,7 +15925,6 @@ class _Tokenizer {
|
|
|
15964
15925
|
constructor(_file, _getTagDefinition, options) {
|
|
15965
15926
|
this._getTagDefinition = _getTagDefinition;
|
|
15966
15927
|
this._tokenizeIcu = options.tokenizeExpansionForms || false;
|
|
15967
|
-
this._interpolationConfig = options.interpolationConfig || DEFAULT_INTERPOLATION_CONFIG;
|
|
15968
15928
|
this._leadingTriviaCodePoints =
|
|
15969
15929
|
options.leadingTriviaChars && options.leadingTriviaChars.map((c) => c.codePointAt(0) || 0);
|
|
15970
15930
|
const range = options.range || {
|
|
@@ -16795,7 +16755,7 @@ class _Tokenizer {
|
|
|
16795
16755
|
const parts = [];
|
|
16796
16756
|
while (!endPredicate()) {
|
|
16797
16757
|
const current = this._cursor.clone();
|
|
16798
|
-
if (this.
|
|
16758
|
+
if (this._attemptStr(INTERPOLATION.start)) {
|
|
16799
16759
|
this._endToken([this._processCarriageReturns(parts.join(''))], current);
|
|
16800
16760
|
parts.length = 0;
|
|
16801
16761
|
this._consumeInterpolation(interpolationTokenType, current, endInterpolation);
|
|
@@ -16827,7 +16787,7 @@ class _Tokenizer {
|
|
|
16827
16787
|
_consumeInterpolation(interpolationTokenType, interpolationStart, prematureEndPredicate) {
|
|
16828
16788
|
const parts = [];
|
|
16829
16789
|
this._beginToken(interpolationTokenType, interpolationStart);
|
|
16830
|
-
parts.push(
|
|
16790
|
+
parts.push(INTERPOLATION.start);
|
|
16831
16791
|
// Find the end of the interpolation, ignoring content inside quotes.
|
|
16832
16792
|
const expressionStart = this._cursor.clone();
|
|
16833
16793
|
let inQuote = null;
|
|
@@ -16845,10 +16805,10 @@ class _Tokenizer {
|
|
|
16845
16805
|
return;
|
|
16846
16806
|
}
|
|
16847
16807
|
if (inQuote === null) {
|
|
16848
|
-
if (this._attemptStr(
|
|
16808
|
+
if (this._attemptStr(INTERPOLATION.end)) {
|
|
16849
16809
|
// We are not in a string, and we hit the end interpolation marker
|
|
16850
16810
|
parts.push(this._getProcessedChars(expressionStart, current));
|
|
16851
|
-
parts.push(
|
|
16811
|
+
parts.push(INTERPOLATION.end);
|
|
16852
16812
|
this._endToken(parts);
|
|
16853
16813
|
return;
|
|
16854
16814
|
}
|
|
@@ -16987,13 +16947,10 @@ class _Tokenizer {
|
|
|
16987
16947
|
if (this._cursor.peek() !== $LBRACE) {
|
|
16988
16948
|
return false;
|
|
16989
16949
|
}
|
|
16990
|
-
|
|
16991
|
-
|
|
16992
|
-
|
|
16993
|
-
|
|
16994
|
-
return !isInterpolation;
|
|
16995
|
-
}
|
|
16996
|
-
return true;
|
|
16950
|
+
const start = this._cursor.clone();
|
|
16951
|
+
const isInterpolation = this._attemptStr(INTERPOLATION.start);
|
|
16952
|
+
this._cursor = start;
|
|
16953
|
+
return !isInterpolation;
|
|
16997
16954
|
}
|
|
16998
16955
|
}
|
|
16999
16956
|
function isNotWhitespace(code) {
|
|
@@ -18313,9 +18270,6 @@ class Token {
|
|
|
18313
18270
|
isTemplateLiteralInterpolationStart() {
|
|
18314
18271
|
return this.isOperator('${');
|
|
18315
18272
|
}
|
|
18316
|
-
isTemplateLiteralInterpolationEnd() {
|
|
18317
|
-
return this.isOperator('}');
|
|
18318
|
-
}
|
|
18319
18273
|
toString() {
|
|
18320
18274
|
switch (this.type) {
|
|
18321
18275
|
case TokenType.Character:
|
|
@@ -18498,7 +18452,7 @@ class _Scanner {
|
|
|
18498
18452
|
this.advance();
|
|
18499
18453
|
const currentBrace = this.braceStack.pop();
|
|
18500
18454
|
if (currentBrace === 'interpolation') {
|
|
18501
|
-
this.tokens.push(
|
|
18455
|
+
this.tokens.push(newCharacterToken(start, this.index, $RBRACE));
|
|
18502
18456
|
return this.scanTemplateLiteralPart(this.index);
|
|
18503
18457
|
}
|
|
18504
18458
|
return newCharacterToken(start, this.index, code);
|
|
@@ -18862,17 +18816,17 @@ class Parser {
|
|
|
18862
18816
|
this._lexer = _lexer;
|
|
18863
18817
|
this._supportsDirectPipeReferences = _supportsDirectPipeReferences;
|
|
18864
18818
|
}
|
|
18865
|
-
parseAction(input, parseSourceSpan, absoluteOffset
|
|
18819
|
+
parseAction(input, parseSourceSpan, absoluteOffset) {
|
|
18866
18820
|
const errors = [];
|
|
18867
|
-
this._checkNoInterpolation(errors, input, parseSourceSpan
|
|
18821
|
+
this._checkNoInterpolation(errors, input, parseSourceSpan);
|
|
18868
18822
|
const { stripped: sourceToLex } = this._stripComments(input);
|
|
18869
18823
|
const tokens = this._lexer.tokenize(sourceToLex);
|
|
18870
18824
|
const ast = new _ParseAST(input, parseSourceSpan, absoluteOffset, tokens, 1 /* ParseFlags.Action */, errors, 0, this._supportsDirectPipeReferences).parseChain();
|
|
18871
18825
|
return new ASTWithSource(ast, input, getLocation(parseSourceSpan), absoluteOffset, errors);
|
|
18872
18826
|
}
|
|
18873
|
-
parseBinding(input, parseSourceSpan, absoluteOffset
|
|
18827
|
+
parseBinding(input, parseSourceSpan, absoluteOffset) {
|
|
18874
18828
|
const errors = [];
|
|
18875
|
-
const ast = this._parseBindingAst(input, parseSourceSpan, absoluteOffset,
|
|
18829
|
+
const ast = this._parseBindingAst(input, parseSourceSpan, absoluteOffset, errors);
|
|
18876
18830
|
return new ASTWithSource(ast, input, getLocation(parseSourceSpan), absoluteOffset, errors);
|
|
18877
18831
|
}
|
|
18878
18832
|
checkSimpleExpression(ast) {
|
|
@@ -18881,17 +18835,17 @@ class Parser {
|
|
|
18881
18835
|
return checker.errors;
|
|
18882
18836
|
}
|
|
18883
18837
|
// Host bindings parsed here
|
|
18884
|
-
parseSimpleBinding(input, parseSourceSpan, absoluteOffset
|
|
18838
|
+
parseSimpleBinding(input, parseSourceSpan, absoluteOffset) {
|
|
18885
18839
|
const errors = [];
|
|
18886
|
-
const ast = this._parseBindingAst(input, parseSourceSpan, absoluteOffset,
|
|
18840
|
+
const ast = this._parseBindingAst(input, parseSourceSpan, absoluteOffset, errors);
|
|
18887
18841
|
const simplExpressionErrors = this.checkSimpleExpression(ast);
|
|
18888
18842
|
if (simplExpressionErrors.length > 0) {
|
|
18889
18843
|
errors.push(getParseError(`Host binding expression cannot contain ${simplExpressionErrors.join(' ')}`, input, '', parseSourceSpan));
|
|
18890
18844
|
}
|
|
18891
18845
|
return new ASTWithSource(ast, input, getLocation(parseSourceSpan), absoluteOffset, errors);
|
|
18892
18846
|
}
|
|
18893
|
-
_parseBindingAst(input, parseSourceSpan, absoluteOffset,
|
|
18894
|
-
this._checkNoInterpolation(errors, input, parseSourceSpan
|
|
18847
|
+
_parseBindingAst(input, parseSourceSpan, absoluteOffset, errors) {
|
|
18848
|
+
this._checkNoInterpolation(errors, input, parseSourceSpan);
|
|
18895
18849
|
const { stripped: sourceToLex } = this._stripComments(input);
|
|
18896
18850
|
const tokens = this._lexer.tokenize(sourceToLex);
|
|
18897
18851
|
return new _ParseAST(input, parseSourceSpan, absoluteOffset, tokens, 0 /* ParseFlags.None */, errors, 0, this._supportsDirectPipeReferences).parseChain();
|
|
@@ -18931,9 +18885,9 @@ class Parser {
|
|
|
18931
18885
|
span: new AbsoluteSourceSpan(absoluteKeyOffset, absoluteKeyOffset + templateKey.length),
|
|
18932
18886
|
});
|
|
18933
18887
|
}
|
|
18934
|
-
parseInterpolation(input, parseSourceSpan, absoluteOffset, interpolatedTokens
|
|
18888
|
+
parseInterpolation(input, parseSourceSpan, absoluteOffset, interpolatedTokens) {
|
|
18935
18889
|
const errors = [];
|
|
18936
|
-
const { strings, expressions, offsets } = this.splitInterpolation(input, parseSourceSpan, errors, interpolatedTokens
|
|
18890
|
+
const { strings, expressions, offsets } = this.splitInterpolation(input, parseSourceSpan, errors, interpolatedTokens);
|
|
18937
18891
|
if (expressions.length === 0)
|
|
18938
18892
|
return null;
|
|
18939
18893
|
const expressionNodes = [];
|
|
@@ -18980,7 +18934,7 @@ class Parser {
|
|
|
18980
18934
|
* `SplitInterpolation` with splits that look like
|
|
18981
18935
|
* <raw text> <expression> <raw text> ... <raw text> <expression> <raw text>
|
|
18982
18936
|
*/
|
|
18983
|
-
splitInterpolation(input, parseSourceSpan, errors, interpolatedTokens
|
|
18937
|
+
splitInterpolation(input, parseSourceSpan, errors, interpolatedTokens) {
|
|
18984
18938
|
const strings = [];
|
|
18985
18939
|
const expressions = [];
|
|
18986
18940
|
const offsets = [];
|
|
@@ -18990,7 +18944,8 @@ class Parser {
|
|
|
18990
18944
|
let i = 0;
|
|
18991
18945
|
let atInterpolation = false;
|
|
18992
18946
|
let extendLastString = false;
|
|
18993
|
-
|
|
18947
|
+
const interpStart = '{{';
|
|
18948
|
+
const interpEnd = '}}';
|
|
18994
18949
|
while (i < input.length) {
|
|
18995
18950
|
if (!atInterpolation) {
|
|
18996
18951
|
// parse until starting {{
|
|
@@ -19069,24 +19024,24 @@ class Parser {
|
|
|
19069
19024
|
}
|
|
19070
19025
|
return null;
|
|
19071
19026
|
}
|
|
19072
|
-
_checkNoInterpolation(errors, input, parseSourceSpan
|
|
19027
|
+
_checkNoInterpolation(errors, input, parseSourceSpan) {
|
|
19073
19028
|
let startIndex = -1;
|
|
19074
19029
|
let endIndex = -1;
|
|
19075
19030
|
for (const charIndex of this._forEachUnquotedChar(input, 0)) {
|
|
19076
19031
|
if (startIndex === -1) {
|
|
19077
|
-
if (input.startsWith(
|
|
19032
|
+
if (input.startsWith('{{')) {
|
|
19078
19033
|
startIndex = charIndex;
|
|
19079
19034
|
}
|
|
19080
19035
|
}
|
|
19081
19036
|
else {
|
|
19082
|
-
endIndex = this._getInterpolationEndIndex(input,
|
|
19037
|
+
endIndex = this._getInterpolationEndIndex(input, '}}', charIndex);
|
|
19083
19038
|
if (endIndex > -1) {
|
|
19084
19039
|
break;
|
|
19085
19040
|
}
|
|
19086
19041
|
}
|
|
19087
19042
|
}
|
|
19088
19043
|
if (startIndex > -1 && endIndex > -1) {
|
|
19089
|
-
errors.push(getParseError(`Got interpolation (
|
|
19044
|
+
errors.push(getParseError(`Got interpolation ({{}}) where expression was expected`, input, `at column ${startIndex} in`, parseSourceSpan));
|
|
19090
19045
|
}
|
|
19091
19046
|
}
|
|
19092
19047
|
/**
|
|
@@ -20072,6 +20027,7 @@ class _ParseAST {
|
|
|
20072
20027
|
}
|
|
20073
20028
|
else if (token.isTemplateLiteralInterpolationStart()) {
|
|
20074
20029
|
this.advance();
|
|
20030
|
+
this.rbracesExpected++;
|
|
20075
20031
|
const expression = this.parsePipe();
|
|
20076
20032
|
if (expression instanceof EmptyExpr$1) {
|
|
20077
20033
|
this.error('Template literal interpolation cannot be empty');
|
|
@@ -20079,6 +20035,7 @@ class _ParseAST {
|
|
|
20079
20035
|
else {
|
|
20080
20036
|
expressions.push(expression);
|
|
20081
20037
|
}
|
|
20038
|
+
this.rbracesExpected--;
|
|
20082
20039
|
}
|
|
20083
20040
|
else {
|
|
20084
20041
|
this.advance();
|
|
@@ -21252,10 +21209,10 @@ class PlaceholderRegistry {
|
|
|
21252
21209
|
|
|
21253
21210
|
const _expParser = new Parser(new Lexer());
|
|
21254
21211
|
/**
|
|
21255
|
-
* Returns a function converting html nodes to an i18n Message
|
|
21212
|
+
* Returns a function converting html nodes to an i18n Message
|
|
21256
21213
|
*/
|
|
21257
|
-
function createI18nMessageFactory(
|
|
21258
|
-
const visitor = new _I18nVisitor(_expParser,
|
|
21214
|
+
function createI18nMessageFactory(containerBlocks, retainEmptyTokens, preserveExpressionWhitespace) {
|
|
21215
|
+
const visitor = new _I18nVisitor(_expParser, containerBlocks, retainEmptyTokens, preserveExpressionWhitespace);
|
|
21259
21216
|
return (nodes, meaning, description, customId, visitNodeFn) => visitor.toI18nMessage(nodes, meaning, description, customId, visitNodeFn);
|
|
21260
21217
|
}
|
|
21261
21218
|
function noopVisitNodeFn(_html, i18n) {
|
|
@@ -21263,13 +21220,11 @@ function noopVisitNodeFn(_html, i18n) {
|
|
|
21263
21220
|
}
|
|
21264
21221
|
class _I18nVisitor {
|
|
21265
21222
|
_expressionParser;
|
|
21266
|
-
_interpolationConfig;
|
|
21267
21223
|
_containerBlocks;
|
|
21268
21224
|
_retainEmptyTokens;
|
|
21269
21225
|
_preserveExpressionWhitespace;
|
|
21270
|
-
constructor(_expressionParser,
|
|
21226
|
+
constructor(_expressionParser, _containerBlocks, _retainEmptyTokens, _preserveExpressionWhitespace) {
|
|
21271
21227
|
this._expressionParser = _expressionParser;
|
|
21272
|
-
this._interpolationConfig = _interpolationConfig;
|
|
21273
21228
|
this._containerBlocks = _containerBlocks;
|
|
21274
21229
|
this._retainEmptyTokens = _retainEmptyTokens;
|
|
21275
21230
|
this._preserveExpressionWhitespace = _preserveExpressionWhitespace;
|
|
@@ -21491,7 +21446,7 @@ class _I18nVisitor {
|
|
|
21491
21446
|
const expression = token.parts[1];
|
|
21492
21447
|
const expr = this._expressionParser.parseBinding(expression,
|
|
21493
21448
|
/* location */ token.sourceSpan,
|
|
21494
|
-
/* absoluteOffset */ token.sourceSpan.start.offset
|
|
21449
|
+
/* absoluteOffset */ token.sourceSpan.start.offset);
|
|
21495
21450
|
return serialize(expr);
|
|
21496
21451
|
}
|
|
21497
21452
|
}
|
|
@@ -21556,6 +21511,8 @@ function extractPlaceholderName(input) {
|
|
|
21556
21511
|
return input.split(_CUSTOM_PH_EXP)[2];
|
|
21557
21512
|
}
|
|
21558
21513
|
|
|
21514
|
+
const DEFAULT_CONTAINER_BLOCKS = new Set(['switch']);
|
|
21515
|
+
|
|
21559
21516
|
/**
|
|
21560
21517
|
* Set of tagName|propertyName corresponding to Trusted Types sinks. Properties applying to all
|
|
21561
21518
|
* tags use '*'.
|
|
@@ -21617,7 +21574,6 @@ const setI18nRefs = (originalNodeMap) => {
|
|
|
21617
21574
|
* stored with other element's and attribute's information.
|
|
21618
21575
|
*/
|
|
21619
21576
|
class I18nMetaVisitor {
|
|
21620
|
-
interpolationConfig;
|
|
21621
21577
|
keepI18nAttrs;
|
|
21622
21578
|
enableI18nLegacyMessageIdFormat;
|
|
21623
21579
|
containerBlocks;
|
|
@@ -21626,7 +21582,7 @@ class I18nMetaVisitor {
|
|
|
21626
21582
|
// whether visited nodes contain i18n information
|
|
21627
21583
|
hasI18nMeta = false;
|
|
21628
21584
|
_errors = [];
|
|
21629
|
-
constructor(
|
|
21585
|
+
constructor(keepI18nAttrs = false, enableI18nLegacyMessageIdFormat = false, containerBlocks = DEFAULT_CONTAINER_BLOCKS, preserveSignificantWhitespace = true,
|
|
21630
21586
|
// When dropping significant whitespace we need to retain empty tokens or
|
|
21631
21587
|
// else we won't be able to reuse source spans because empty tokens would be
|
|
21632
21588
|
// removed and cause a mismatch. Unfortunately this still needs to be
|
|
@@ -21634,7 +21590,6 @@ class I18nMetaVisitor {
|
|
|
21634
21590
|
// sure the number of nodes don't change between parses, even when
|
|
21635
21591
|
// `preserveSignificantWhitespace` changes.
|
|
21636
21592
|
retainEmptyTokens = !preserveSignificantWhitespace) {
|
|
21637
|
-
this.interpolationConfig = interpolationConfig;
|
|
21638
21593
|
this.keepI18nAttrs = keepI18nAttrs;
|
|
21639
21594
|
this.enableI18nLegacyMessageIdFormat = enableI18nLegacyMessageIdFormat;
|
|
21640
21595
|
this.containerBlocks = containerBlocks;
|
|
@@ -21643,7 +21598,7 @@ class I18nMetaVisitor {
|
|
|
21643
21598
|
}
|
|
21644
21599
|
_generateI18nMessage(nodes, meta = '', visitNodeFn) {
|
|
21645
21600
|
const { meaning, description, customId } = this._parseMetadata(meta);
|
|
21646
|
-
const createI18nMessage = createI18nMessageFactory(this.
|
|
21601
|
+
const createI18nMessage = createI18nMessageFactory(this.containerBlocks, this.retainEmptyTokens,
|
|
21647
21602
|
/* preserveExpressionWhitespace */ this.preserveSignificantWhitespace);
|
|
21648
21603
|
const message = createI18nMessage(nodes, meaning, description, customId, visitNodeFn);
|
|
21649
21604
|
this._setMessageId(message, meta);
|
|
@@ -27964,18 +27919,13 @@ const LEGACY_ANIMATE_PROP_PREFIX = 'animate-';
|
|
|
27964
27919
|
*/
|
|
27965
27920
|
class BindingParser {
|
|
27966
27921
|
_exprParser;
|
|
27967
|
-
_interpolationConfig;
|
|
27968
27922
|
_schemaRegistry;
|
|
27969
27923
|
errors;
|
|
27970
|
-
constructor(_exprParser,
|
|
27924
|
+
constructor(_exprParser, _schemaRegistry, errors) {
|
|
27971
27925
|
this._exprParser = _exprParser;
|
|
27972
|
-
this._interpolationConfig = _interpolationConfig;
|
|
27973
27926
|
this._schemaRegistry = _schemaRegistry;
|
|
27974
27927
|
this.errors = errors;
|
|
27975
27928
|
}
|
|
27976
|
-
get interpolationConfig() {
|
|
27977
|
-
return this._interpolationConfig;
|
|
27978
|
-
}
|
|
27979
27929
|
createBoundHostProperties(properties, sourceSpan) {
|
|
27980
27930
|
const boundProps = [];
|
|
27981
27931
|
for (const propName of Object.keys(properties)) {
|
|
@@ -28019,7 +27969,7 @@ class BindingParser {
|
|
|
28019
27969
|
parseInterpolation(value, sourceSpan, interpolatedTokens) {
|
|
28020
27970
|
const absoluteOffset = sourceSpan.fullStart.offset;
|
|
28021
27971
|
try {
|
|
28022
|
-
const ast = this._exprParser.parseInterpolation(value, sourceSpan, absoluteOffset, interpolatedTokens
|
|
27972
|
+
const ast = this._exprParser.parseInterpolation(value, sourceSpan, absoluteOffset, interpolatedTokens);
|
|
28023
27973
|
if (ast) {
|
|
28024
27974
|
this.errors.push(...ast.errors);
|
|
28025
27975
|
}
|
|
@@ -28191,8 +28141,8 @@ class BindingParser {
|
|
|
28191
28141
|
parseBinding(value, isHostBinding, sourceSpan, absoluteOffset) {
|
|
28192
28142
|
try {
|
|
28193
28143
|
const ast = isHostBinding
|
|
28194
|
-
? this._exprParser.parseSimpleBinding(value, sourceSpan, absoluteOffset
|
|
28195
|
-
: this._exprParser.parseBinding(value, sourceSpan, absoluteOffset
|
|
28144
|
+
? this._exprParser.parseSimpleBinding(value, sourceSpan, absoluteOffset)
|
|
28145
|
+
: this._exprParser.parseBinding(value, sourceSpan, absoluteOffset);
|
|
28196
28146
|
if (ast) {
|
|
28197
28147
|
this.errors.push(...ast.errors);
|
|
28198
28148
|
}
|
|
@@ -28327,7 +28277,7 @@ class BindingParser {
|
|
|
28327
28277
|
_parseAction(value, sourceSpan) {
|
|
28328
28278
|
const absoluteOffset = sourceSpan && sourceSpan.start ? sourceSpan.start.offset : 0;
|
|
28329
28279
|
try {
|
|
28330
|
-
const ast = this._exprParser.parseAction(value, sourceSpan, absoluteOffset
|
|
28280
|
+
const ast = this._exprParser.parseAction(value, sourceSpan, absoluteOffset);
|
|
28331
28281
|
if (ast) {
|
|
28332
28282
|
this.errors.push(...ast.errors);
|
|
28333
28283
|
}
|
|
@@ -29593,6 +29543,13 @@ class HtmlAstToIvyAst {
|
|
|
29593
29543
|
}
|
|
29594
29544
|
else {
|
|
29595
29545
|
const attrs = this.categorizePropertyAttributes(element.name, parsedProperties, i18nAttrsMeta);
|
|
29546
|
+
if (element.name === 'ng-container') {
|
|
29547
|
+
for (const bound of attrs.bound) {
|
|
29548
|
+
if (bound.type === exports.BindingType.Attribute) {
|
|
29549
|
+
this.reportError(`Attribute bindings are not supported on ng-container. Use property bindings instead.`, bound.sourceSpan);
|
|
29550
|
+
}
|
|
29551
|
+
}
|
|
29552
|
+
}
|
|
29596
29553
|
parsedElement = new Element$1(element.name, attributes, attrs.bound, boundEvents, directives, children, references, element.isSelfClosing, element.sourceSpan, element.startSourceSpan, element.endSourceSpan, element.isVoid, element.i18n);
|
|
29597
29554
|
}
|
|
29598
29555
|
if (elementHasInlineTemplate) {
|
|
@@ -30177,9 +30134,9 @@ const LEADING_TRIVIA_CHARS = [' ', '\n', '\r', '\t'];
|
|
|
30177
30134
|
* @param options options to modify how the template is parsed
|
|
30178
30135
|
*/
|
|
30179
30136
|
function parseTemplate(template, templateUrl, options = {}) {
|
|
30180
|
-
const {
|
|
30137
|
+
const { preserveWhitespaces, enableI18nLegacyMessageIdFormat } = options;
|
|
30181
30138
|
const selectorlessEnabled = options.enableSelectorless ?? false;
|
|
30182
|
-
const bindingParser = makeBindingParser(
|
|
30139
|
+
const bindingParser = makeBindingParser(selectorlessEnabled);
|
|
30183
30140
|
const htmlParser = new HtmlParser();
|
|
30184
30141
|
const parseResult = htmlParser.parse(template, templateUrl, {
|
|
30185
30142
|
leadingTriviaChars: LEADING_TRIVIA_CHARS,
|
|
@@ -30193,7 +30150,6 @@ function parseTemplate(template, templateUrl, options = {}) {
|
|
|
30193
30150
|
parseResult.errors &&
|
|
30194
30151
|
parseResult.errors.length > 0) {
|
|
30195
30152
|
const parsedTemplate = {
|
|
30196
|
-
interpolationConfig,
|
|
30197
30153
|
preserveWhitespaces,
|
|
30198
30154
|
errors: parseResult.errors,
|
|
30199
30155
|
nodes: [],
|
|
@@ -30216,7 +30172,7 @@ function parseTemplate(template, templateUrl, options = {}) {
|
|
|
30216
30172
|
// before we run whitespace removal process, because existing i18n
|
|
30217
30173
|
// extraction process (ng extract-i18n) relies on a raw content to generate
|
|
30218
30174
|
// message ids
|
|
30219
|
-
const i18nMetaVisitor = new I18nMetaVisitor(
|
|
30175
|
+
const i18nMetaVisitor = new I18nMetaVisitor(
|
|
30220
30176
|
/* keepI18nAttrs */ !preserveWhitespaces, enableI18nLegacyMessageIdFormat,
|
|
30221
30177
|
/* containerBlocks */ undefined, options.preserveSignificantWhitespace, retainEmptyTokens);
|
|
30222
30178
|
const i18nMetaResult = i18nMetaVisitor.visitAllWithErrors(rootNodes);
|
|
@@ -30224,7 +30180,6 @@ function parseTemplate(template, templateUrl, options = {}) {
|
|
|
30224
30180
|
i18nMetaResult.errors &&
|
|
30225
30181
|
i18nMetaResult.errors.length > 0) {
|
|
30226
30182
|
const parsedTemplate = {
|
|
30227
|
-
interpolationConfig,
|
|
30228
30183
|
preserveWhitespaces,
|
|
30229
30184
|
errors: i18nMetaResult.errors,
|
|
30230
30185
|
nodes: [],
|
|
@@ -30259,7 +30214,7 @@ function parseTemplate(template, templateUrl, options = {}) {
|
|
|
30259
30214
|
// template. During this pass i18n IDs generated at the first pass will be preserved, so we can
|
|
30260
30215
|
// mimic existing extraction process (ng extract-i18n)
|
|
30261
30216
|
if (i18nMetaVisitor.hasI18nMeta) {
|
|
30262
|
-
rootNodes = visitAll(new I18nMetaVisitor(
|
|
30217
|
+
rootNodes = visitAll(new I18nMetaVisitor(
|
|
30263
30218
|
/* keepI18nAttrs */ false,
|
|
30264
30219
|
/* enableI18nLegacyMessageIdFormat */ undefined,
|
|
30265
30220
|
/* containerBlocks */ undefined,
|
|
@@ -30269,7 +30224,6 @@ function parseTemplate(template, templateUrl, options = {}) {
|
|
|
30269
30224
|
const { nodes, errors, styleUrls, styles, ngContentSelectors, commentNodes } = htmlAstToRender3Ast(rootNodes, bindingParser, { collectCommentNodes: !!options.collectCommentNodes });
|
|
30270
30225
|
errors.push(...parseResult.errors, ...i18nMetaResult.errors);
|
|
30271
30226
|
const parsedTemplate = {
|
|
30272
|
-
interpolationConfig,
|
|
30273
30227
|
preserveWhitespaces,
|
|
30274
30228
|
errors: errors.length > 0 ? errors : null,
|
|
30275
30229
|
nodes,
|
|
@@ -30286,8 +30240,8 @@ const elementRegistry = new DomElementSchemaRegistry();
|
|
|
30286
30240
|
/**
|
|
30287
30241
|
* Construct a `BindingParser` with a default configuration.
|
|
30288
30242
|
*/
|
|
30289
|
-
function makeBindingParser(
|
|
30290
|
-
return new BindingParser(new Parser(new Lexer(), selectorlessEnabled),
|
|
30243
|
+
function makeBindingParser(selectorlessEnabled = false) {
|
|
30244
|
+
return new BindingParser(new Parser(new Lexer(), selectorlessEnabled), elementRegistry, []);
|
|
30291
30245
|
}
|
|
30292
30246
|
|
|
30293
30247
|
const COMPONENT_VARIABLE = '%COMP%';
|
|
@@ -31927,7 +31881,7 @@ class CompilerFacadeImpl {
|
|
|
31927
31881
|
}
|
|
31928
31882
|
compileComponent(angularCoreEnv, sourceMapUrl, facade) {
|
|
31929
31883
|
// Parse the template and check for errors.
|
|
31930
|
-
const { template,
|
|
31884
|
+
const { template, defer } = parseJitTemplate(facade.template, facade.name, sourceMapUrl, facade.preserveWhitespaces, undefined);
|
|
31931
31885
|
// Compile the component metadata, including template, into an expression.
|
|
31932
31886
|
const meta = {
|
|
31933
31887
|
...facade,
|
|
@@ -31939,7 +31893,6 @@ class CompilerFacadeImpl {
|
|
|
31939
31893
|
defer,
|
|
31940
31894
|
styles: [...facade.styles, ...template.styles],
|
|
31941
31895
|
encapsulation: facade.encapsulation,
|
|
31942
|
-
interpolation,
|
|
31943
31896
|
changeDetection: facade.changeDetection ?? null,
|
|
31944
31897
|
animations: facade.animations != null ? new WrappedNodeExpr(facade.animations) : null,
|
|
31945
31898
|
viewProviders: facade.viewProviders != null ? new WrappedNodeExpr(facade.viewProviders) : null,
|
|
@@ -31957,7 +31910,7 @@ class CompilerFacadeImpl {
|
|
|
31957
31910
|
}
|
|
31958
31911
|
compileComponentFromMeta(angularCoreEnv, sourceMapUrl, meta) {
|
|
31959
31912
|
const constantPool = new ConstantPool();
|
|
31960
|
-
const bindingParser = makeBindingParser(
|
|
31913
|
+
const bindingParser = makeBindingParser();
|
|
31961
31914
|
const res = compileComponentFromMetadata(meta, constantPool, bindingParser);
|
|
31962
31915
|
return this.jitExpression(res.expression, angularCoreEnv, sourceMapUrl, constantPool.statements);
|
|
31963
31916
|
}
|
|
@@ -32163,7 +32116,7 @@ function convertOpaqueValuesToExpressions(obj) {
|
|
|
32163
32116
|
return result;
|
|
32164
32117
|
}
|
|
32165
32118
|
function convertDeclareComponentFacadeToMetadata(decl, typeSourceSpan, sourceMapUrl) {
|
|
32166
|
-
const { template,
|
|
32119
|
+
const { template, defer } = parseJitTemplate(decl.template, decl.type.name, sourceMapUrl, decl.preserveWhitespaces ?? false, decl.deferBlockDependencies);
|
|
32167
32120
|
const declarations = [];
|
|
32168
32121
|
if (decl.dependencies) {
|
|
32169
32122
|
for (const innerDep of decl.dependencies) {
|
|
@@ -32198,7 +32151,6 @@ function convertDeclareComponentFacadeToMetadata(decl, typeSourceSpan, sourceMap
|
|
|
32198
32151
|
defer,
|
|
32199
32152
|
changeDetection: decl.changeDetection ?? exports.ChangeDetectionStrategy.Default,
|
|
32200
32153
|
encapsulation: decl.encapsulation ?? exports.ViewEncapsulation.Emulated,
|
|
32201
|
-
interpolation,
|
|
32202
32154
|
declarationListEmitMode: 2 /* DeclarationListEmitMode.ClosureResolved */,
|
|
32203
32155
|
relativeContextFilePath: '',
|
|
32204
32156
|
i18nUseExternalIds: true,
|
|
@@ -32242,15 +32194,9 @@ function convertPipeDeclarationToMetadata(pipe) {
|
|
|
32242
32194
|
type: new WrappedNodeExpr(pipe.type),
|
|
32243
32195
|
};
|
|
32244
32196
|
}
|
|
32245
|
-
function parseJitTemplate(template, typeName, sourceMapUrl, preserveWhitespaces,
|
|
32246
|
-
const interpolationConfig = interpolation
|
|
32247
|
-
? InterpolationConfig.fromArray(interpolation)
|
|
32248
|
-
: DEFAULT_INTERPOLATION_CONFIG;
|
|
32197
|
+
function parseJitTemplate(template, typeName, sourceMapUrl, preserveWhitespaces, deferBlockDependencies) {
|
|
32249
32198
|
// Parse the template and check for errors.
|
|
32250
|
-
const parsed = parseTemplate(template, sourceMapUrl, {
|
|
32251
|
-
preserveWhitespaces,
|
|
32252
|
-
interpolationConfig,
|
|
32253
|
-
});
|
|
32199
|
+
const parsed = parseTemplate(template, sourceMapUrl, { preserveWhitespaces });
|
|
32254
32200
|
if (parsed.errors !== null) {
|
|
32255
32201
|
const errors = parsed.errors.map((err) => err.toString()).join(', ');
|
|
32256
32202
|
throw new Error(`Errors during JIT compilation of template for ${typeName}: ${errors}`);
|
|
@@ -32259,7 +32205,6 @@ function parseJitTemplate(template, typeName, sourceMapUrl, preserveWhitespaces,
|
|
|
32259
32205
|
const boundTarget = binder.bind({ template: parsed.nodes });
|
|
32260
32206
|
return {
|
|
32261
32207
|
template: parsed,
|
|
32262
|
-
interpolation: interpolationConfig,
|
|
32263
32208
|
defer: createR3ComponentDeferMetadata(boundTarget, deferBlockDependencies),
|
|
32264
32209
|
};
|
|
32265
32210
|
}
|
|
@@ -32483,9 +32428,9 @@ let i18nCommentsWarned = false;
|
|
|
32483
32428
|
/**
|
|
32484
32429
|
* Extract translatable messages from an html AST
|
|
32485
32430
|
*/
|
|
32486
|
-
function extractMessages(nodes,
|
|
32431
|
+
function extractMessages(nodes, implicitTags, implicitAttrs, preserveSignificantWhitespace) {
|
|
32487
32432
|
const visitor = new _Visitor(implicitTags, implicitAttrs, preserveSignificantWhitespace);
|
|
32488
|
-
return visitor.extract(nodes
|
|
32433
|
+
return visitor.extract(nodes);
|
|
32489
32434
|
}
|
|
32490
32435
|
class ExtractionResult {
|
|
32491
32436
|
messages;
|
|
@@ -32540,8 +32485,8 @@ class _Visitor {
|
|
|
32540
32485
|
/**
|
|
32541
32486
|
* Extracts the messages from the tree
|
|
32542
32487
|
*/
|
|
32543
|
-
extract(nodes
|
|
32544
|
-
this._init(_VisitorMode.Extract
|
|
32488
|
+
extract(nodes) {
|
|
32489
|
+
this._init(_VisitorMode.Extract);
|
|
32545
32490
|
nodes.forEach((node) => node.visit(this, null));
|
|
32546
32491
|
if (this._inI18nBlock) {
|
|
32547
32492
|
this._reportError(nodes[nodes.length - 1], 'Unclosed block');
|
|
@@ -32551,8 +32496,8 @@ class _Visitor {
|
|
|
32551
32496
|
/**
|
|
32552
32497
|
* Returns a tree where all translatable nodes are translated
|
|
32553
32498
|
*/
|
|
32554
|
-
merge(nodes, translations
|
|
32555
|
-
this._init(_VisitorMode.Merge
|
|
32499
|
+
merge(nodes, translations) {
|
|
32500
|
+
this._init(_VisitorMode.Merge);
|
|
32556
32501
|
this._translations = translations;
|
|
32557
32502
|
// Construct a single fake root element
|
|
32558
32503
|
const wrapper = new Element('wrapper', [], [], nodes, false, undefined, undefined, undefined, false);
|
|
@@ -32657,7 +32602,7 @@ class _Visitor {
|
|
|
32657
32602
|
visitDirective(directive, context) {
|
|
32658
32603
|
throw new Error('unreachable code');
|
|
32659
32604
|
}
|
|
32660
|
-
_init(mode
|
|
32605
|
+
_init(mode) {
|
|
32661
32606
|
this._mode = mode;
|
|
32662
32607
|
this._inI18nBlock = false;
|
|
32663
32608
|
this._inI18nNode = false;
|
|
@@ -32667,7 +32612,7 @@ class _Visitor {
|
|
|
32667
32612
|
this._errors = [];
|
|
32668
32613
|
this._messages = [];
|
|
32669
32614
|
this._inImplicitNode = false;
|
|
32670
|
-
this._createI18nMessage = createI18nMessageFactory(
|
|
32615
|
+
this._createI18nMessage = createI18nMessageFactory(DEFAULT_CONTAINER_BLOCKS,
|
|
32671
32616
|
// When dropping significant whitespace we need to retain whitespace tokens or
|
|
32672
32617
|
// else we won't be able to reuse source spans because empty tokens would be
|
|
32673
32618
|
// removed and cause a mismatch.
|
|
@@ -32964,7 +32909,7 @@ function isAttrNode(ast) {
|
|
|
32964
32909
|
* @description
|
|
32965
32910
|
* Entry point for all public APIs of the compiler package.
|
|
32966
32911
|
*/
|
|
32967
|
-
const VERSION = new Version('21.0.0-next.
|
|
32912
|
+
const VERSION = new Version('21.0.0-next.6');
|
|
32968
32913
|
|
|
32969
32914
|
//////////////////////////////////////
|
|
32970
32915
|
// THIS FILE HAS GLOBAL SIDE EFFECT //
|
|
@@ -34027,7 +33972,7 @@ class NodeJSPathManipulation {
|
|
|
34027
33972
|
// G3-ESM-MARKER: G3 uses CommonJS, but externally everything in ESM.
|
|
34028
33973
|
// CommonJS/ESM interop for determining the current file name and containing dir.
|
|
34029
33974
|
const isCommonJS = typeof __filename !== 'undefined';
|
|
34030
|
-
const currentFileUrl = isCommonJS ? null : (typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('project_tsconfig_paths-
|
|
33975
|
+
const currentFileUrl = isCommonJS ? null : (typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('project_tsconfig_paths-sFatqIE5.cjs', document.baseURI).href));
|
|
34031
33976
|
// Note, when this code loads in the browser, `url` may be an empty `{}` due to the Closure shims.
|
|
34032
33977
|
const currentFileName = isCommonJS
|
|
34033
33978
|
? __filename
|
|
@@ -51042,7 +50987,6 @@ exports.Conditional = Conditional;
|
|
|
51042
50987
|
exports.ConstantPool = ConstantPool;
|
|
51043
50988
|
exports.Container = Container;
|
|
51044
50989
|
exports.CssSelector = CssSelector;
|
|
51045
|
-
exports.DEFAULT_INTERPOLATION_CONFIG = DEFAULT_INTERPOLATION_CONFIG;
|
|
51046
50990
|
exports.DYNAMIC_TYPE = DYNAMIC_TYPE;
|
|
51047
50991
|
exports.Declaration = Declaration;
|
|
51048
50992
|
exports.DeclareFunctionStmt = DeclareFunctionStmt;
|
|
@@ -51071,7 +51015,6 @@ exports.IfBlock = IfBlock;
|
|
|
51071
51015
|
exports.ImplicitReceiver = ImplicitReceiver;
|
|
51072
51016
|
exports.ImportManager = ImportManager;
|
|
51073
51017
|
exports.Interpolation = Interpolation$1;
|
|
51074
|
-
exports.InterpolationConfig = InterpolationConfig;
|
|
51075
51018
|
exports.InvokeFunctionExpr = InvokeFunctionExpr;
|
|
51076
51019
|
exports.KeyedRead = KeyedRead;
|
|
51077
51020
|
exports.KnownFn = KnownFn;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
/**
|
|
3
|
-
* @license Angular v21.0.0-next.
|
|
3
|
+
* @license Angular v21.0.0-next.6
|
|
4
4
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
5
5
|
* License: MIT
|
|
6
6
|
*/
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
var schematics = require('@angular-devkit/schematics');
|
|
10
10
|
var fs = require('fs');
|
|
11
11
|
var p = require('path');
|
|
12
|
-
var compiler_host = require('./compiler_host-
|
|
13
|
-
var project_tsconfig_paths = require('./project_tsconfig_paths-
|
|
12
|
+
var compiler_host = require('./compiler_host-BJEh7-L1.cjs');
|
|
13
|
+
var project_tsconfig_paths = require('./project_tsconfig_paths-sFatqIE5.cjs');
|
|
14
14
|
var ts = require('typescript');
|
|
15
15
|
var property_name = require('./property_name-BBwFuqMe.cjs');
|
|
16
16
|
require('os');
|