@lwc/template-compiler 2.3.7 → 2.5.2-canary1
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/dist/commonjs/parser/attribute.js +20 -13
- package/dist/commonjs/parser/attribute.js.map +1 -1
- package/dist/commonjs/parser/expression.js +7 -45
- package/dist/commonjs/parser/expression.js.map +1 -1
- package/dist/commonjs/parser/index.js +57 -50
- package/dist/commonjs/parser/index.js.map +1 -1
- package/dist/commonjs/parser/parser.js +33 -12
- package/dist/commonjs/parser/parser.js.map +1 -1
- package/dist/types/parser/attribute.d.ts +2 -1
- package/dist/types/parser/expression.d.ts +5 -7
- package/dist/types/parser/parser.d.ts +16 -4
- package/package.json +7 -6
|
@@ -42,18 +42,22 @@ function isFragmentOnlyUrl(url) {
|
|
|
42
42
|
return /^#/.test(url);
|
|
43
43
|
}
|
|
44
44
|
exports.isFragmentOnlyUrl = isFragmentOnlyUrl;
|
|
45
|
-
function normalizeAttributeValue(
|
|
45
|
+
function normalizeAttributeValue(ctx, raw, tag, attr, location) {
|
|
46
46
|
const { name, value } = attr;
|
|
47
47
|
if (shared_1.isBooleanAttribute(name, tag)) {
|
|
48
48
|
if (value === 'true') {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
49
|
+
ctx.throwAtLocation(errors_1.ParserDiagnostics.BOOLEAN_ATTRIBUTE_TRUE, location, [
|
|
50
|
+
tag,
|
|
51
|
+
name,
|
|
52
|
+
value,
|
|
53
|
+
]);
|
|
52
54
|
}
|
|
53
55
|
else if (value === 'false') {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
56
|
+
ctx.throwAtLocation(errors_1.ParserDiagnostics.BOOLEAN_ATTRIBUTE_FALSE, location, [
|
|
57
|
+
tag,
|
|
58
|
+
name,
|
|
59
|
+
value,
|
|
60
|
+
]);
|
|
57
61
|
}
|
|
58
62
|
}
|
|
59
63
|
const isQuoted = isQuotedAttribute(raw);
|
|
@@ -64,9 +68,11 @@ function normalizeAttributeValue(attr, raw, tag) {
|
|
|
64
68
|
// -> ambiguity if the attribute value is a template identifier or a string literal.
|
|
65
69
|
const unquoted = raw.replace(/"/g, '');
|
|
66
70
|
const escaped = raw.replace('"{', '"\\{');
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
71
|
+
ctx.throwAtLocation(errors_1.ParserDiagnostics.AMBIGUOUS_ATTRIBUTE_VALUE, location, [
|
|
72
|
+
raw,
|
|
73
|
+
unquoted,
|
|
74
|
+
escaped,
|
|
75
|
+
]);
|
|
70
76
|
}
|
|
71
77
|
// <input value={myValue} />
|
|
72
78
|
// -> Valid identifier.
|
|
@@ -91,9 +97,10 @@ function normalizeAttributeValue(attr, raw, tag) {
|
|
|
91
97
|
let escaped = raw.replace(/="?/, '="\\');
|
|
92
98
|
escaped += escaped.endsWith('"') ? '' : '"';
|
|
93
99
|
// Throw if the attribute value looks like an expression, but it can't be resolved by the compiler.
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
100
|
+
ctx.throwAtLocation(errors_1.ParserDiagnostics.AMBIGUOUS_ATTRIBUTE_VALUE_STRING, location, [
|
|
101
|
+
raw,
|
|
102
|
+
escaped,
|
|
103
|
+
]);
|
|
97
104
|
}
|
|
98
105
|
// <input value="myValue"/>
|
|
99
106
|
// -> Valid string literal.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attribute.js","sourceRoot":"","sources":["../../../src/parser/attribute.ts"],"names":[],"mappings":";;;AAOA,
|
|
1
|
+
{"version":3,"file":"attribute.js","sourceRoot":"","sources":["../../../src/parser/attribute.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
19
19
|
return result;
|
|
20
20
|
};
|
|
21
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.
|
|
22
|
+
exports.parseIdentifier = exports.parseExpression = exports.isPotentialExpression = exports.isExpression = exports.EXPRESSION_SYMBOL_END = exports.EXPRESSION_SYMBOL_START = void 0;
|
|
23
23
|
/*
|
|
24
24
|
* Copyright (c) 2018, salesforce.com, inc.
|
|
25
25
|
* All rights reserved.
|
|
@@ -87,60 +87,22 @@ function validateSourceIsParsedExpression(source, parsedExpression) {
|
|
|
87
87
|
'Unexpected end of expression',
|
|
88
88
|
]);
|
|
89
89
|
}
|
|
90
|
-
function parseExpression(source,
|
|
91
|
-
|
|
90
|
+
function parseExpression(ctx, source, location) {
|
|
91
|
+
return ctx.withErrorWrapping(() => {
|
|
92
92
|
const parsed = acorn_1.parseExpressionAt(source, 1, { ecmaVersion: 2020 });
|
|
93
93
|
validateSourceIsParsedExpression(source, parsed);
|
|
94
|
-
validateExpression(parsed, config);
|
|
94
|
+
validateExpression(parsed, ctx.config);
|
|
95
95
|
return parsed;
|
|
96
|
-
}
|
|
97
|
-
catch (err) {
|
|
98
|
-
err.message = `Invalid expression ${source} - ${err.message}`;
|
|
99
|
-
throw err;
|
|
100
|
-
}
|
|
96
|
+
}, errors_1.ParserDiagnostics.TEMPLATE_EXPRESSION_PARSING_ERROR, location, (err) => `Invalid expression ${source} - ${err.message}`);
|
|
101
97
|
}
|
|
102
98
|
exports.parseExpression = parseExpression;
|
|
103
|
-
function parseIdentifier(source) {
|
|
99
|
+
function parseIdentifier(ctx, source, location) {
|
|
104
100
|
if (esutils.keyword.isIdentifierES6(source)) {
|
|
105
101
|
return t.identifier(source);
|
|
106
102
|
}
|
|
107
103
|
else {
|
|
108
|
-
|
|
109
|
-
messageArgs: [source],
|
|
110
|
-
});
|
|
104
|
+
ctx.throwAtLocation(errors_1.ParserDiagnostics.INVALID_IDENTIFIER, location, [source]);
|
|
111
105
|
}
|
|
112
106
|
}
|
|
113
107
|
exports.parseIdentifier = parseIdentifier;
|
|
114
|
-
// Returns the immediate iterator parent if it exists.
|
|
115
|
-
// Traverses up until it finds an element with forOf, or
|
|
116
|
-
// a non-template element without a forOf.
|
|
117
|
-
function getForOfParent(parentStack) {
|
|
118
|
-
let size = parentStack.length;
|
|
119
|
-
let parent = parentStack[--size];
|
|
120
|
-
while (parent) {
|
|
121
|
-
if (parent.forOf) {
|
|
122
|
-
return parent;
|
|
123
|
-
}
|
|
124
|
-
parent = parent.tag === 'template' ? parentStack[--size] : undefined;
|
|
125
|
-
}
|
|
126
|
-
return null;
|
|
127
|
-
}
|
|
128
|
-
exports.getForOfParent = getForOfParent;
|
|
129
|
-
function getForEachParent(element, parentStack) {
|
|
130
|
-
let current = element;
|
|
131
|
-
let size = parentStack.length;
|
|
132
|
-
while (current) {
|
|
133
|
-
if (current.forEach) {
|
|
134
|
-
return current;
|
|
135
|
-
}
|
|
136
|
-
const parent = parentStack[--size];
|
|
137
|
-
current = (parent === null || parent === void 0 ? void 0 : parent.tag) === 'template' ? parent : undefined;
|
|
138
|
-
}
|
|
139
|
-
return null;
|
|
140
|
-
}
|
|
141
|
-
exports.getForEachParent = getForEachParent;
|
|
142
|
-
function isIteratorElement(element, parentStack) {
|
|
143
|
-
return !!(getForOfParent(parentStack) || getForEachParent(element, parentStack));
|
|
144
|
-
}
|
|
145
|
-
exports.isIteratorElement = isIteratorElement;
|
|
146
108
|
//# sourceMappingURL=expression.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expression.js","sourceRoot":"","sources":["../../../src/parser/expression.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,iDAAmC;AACnC,iCAAgD;
|
|
1
|
+
{"version":3,"file":"expression.js","sourceRoot":"","sources":["../../../src/parser/expression.ts"],"names":[],"mappings":"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"}
|
|
@@ -130,7 +130,7 @@ function parseText(ctx, node) {
|
|
|
130
130
|
}
|
|
131
131
|
let value;
|
|
132
132
|
if (expression_1.isExpression(token)) {
|
|
133
|
-
value =
|
|
133
|
+
value = expression_1.parseExpression(ctx, token, location);
|
|
134
134
|
}
|
|
135
135
|
else {
|
|
136
136
|
value = html_1.decodeTextContent(token);
|
|
@@ -158,8 +158,8 @@ function getTemplateRoot(ctx, documentFragment) {
|
|
|
158
158
|
return root;
|
|
159
159
|
}
|
|
160
160
|
function applyHandlers(ctx, element, parsedAttr) {
|
|
161
|
-
let eventHandlerAttribute
|
|
162
|
-
while (eventHandlerAttribute) {
|
|
161
|
+
let eventHandlerAttribute;
|
|
162
|
+
while ((eventHandlerAttribute = parsedAttr.pick(constants_1.EVENT_HANDLER_RE))) {
|
|
163
163
|
const { name } = eventHandlerAttribute;
|
|
164
164
|
if (!ir_1.isIRExpressionAttribute(eventHandlerAttribute)) {
|
|
165
165
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.EVENT_HANDLER_SHOULD_BE_EXPRESSION, eventHandlerAttribute);
|
|
@@ -171,7 +171,6 @@ function applyHandlers(ctx, element, parsedAttr) {
|
|
|
171
171
|
const eventName = name.slice(2);
|
|
172
172
|
const on = element.on || (element.on = {});
|
|
173
173
|
on[eventName] = eventHandlerAttribute.value;
|
|
174
|
-
eventHandlerAttribute = parsedAttr.pick(constants_1.EVENT_HANDLER_RE);
|
|
175
174
|
}
|
|
176
175
|
}
|
|
177
176
|
function applyIf(ctx, element, parsedAttr) {
|
|
@@ -294,13 +293,13 @@ function applyForEach(ctx, element, parsedAttr) {
|
|
|
294
293
|
if (!ir_1.isIRStringAttribute(forItemAttribute)) {
|
|
295
294
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.FOR_ITEM_DIRECTIVE_SHOULD_BE_STRING, forItemAttribute);
|
|
296
295
|
}
|
|
297
|
-
const item =
|
|
296
|
+
const item = expression_1.parseIdentifier(ctx, forItemAttribute.value, forItemAttribute.location);
|
|
298
297
|
let index;
|
|
299
298
|
if (forIndex) {
|
|
300
299
|
if (!ir_1.isIRStringAttribute(forIndex)) {
|
|
301
300
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.FOR_INDEX_DIRECTIVE_SHOULD_BE_STRING, forIndex);
|
|
302
301
|
}
|
|
303
|
-
index =
|
|
302
|
+
index = expression_1.parseIdentifier(ctx, forIndex.value, forIndex.location);
|
|
304
303
|
}
|
|
305
304
|
element.forEach = {
|
|
306
305
|
expression: forEachAttribute.value,
|
|
@@ -329,7 +328,7 @@ function applyIterator(ctx, element, parsedAttr) {
|
|
|
329
328
|
iteratorExpression.name,
|
|
330
329
|
]);
|
|
331
330
|
}
|
|
332
|
-
const iterator =
|
|
331
|
+
const iterator = expression_1.parseIdentifier(ctx, iteratorName, iteratorExpression.location);
|
|
333
332
|
element.forOf = {
|
|
334
333
|
expression: iteratorExpression.value,
|
|
335
334
|
iterator,
|
|
@@ -342,8 +341,8 @@ function applyKey(ctx, element, parsedAttr) {
|
|
|
342
341
|
if (!ir_1.isIRExpressionAttribute(keyAttribute)) {
|
|
343
342
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.KEY_ATTRIBUTE_SHOULD_BE_EXPRESSION, keyAttribute);
|
|
344
343
|
}
|
|
345
|
-
const forOfParent =
|
|
346
|
-
const forEachParent =
|
|
344
|
+
const forOfParent = getForOfParent(ctx);
|
|
345
|
+
const forEachParent = getForEachParent(ctx, element);
|
|
347
346
|
if (forOfParent) {
|
|
348
347
|
if (attributeExpressionReferencesForOfIndex(keyAttribute, forOfParent.forOf)) {
|
|
349
348
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.KEY_SHOULDNT_REFERENCE_ITERATOR_INDEX, keyAttribute, [tag]);
|
|
@@ -357,7 +356,7 @@ function applyKey(ctx, element, parsedAttr) {
|
|
|
357
356
|
}
|
|
358
357
|
element.forKey = keyAttribute.value;
|
|
359
358
|
}
|
|
360
|
-
else if (
|
|
359
|
+
else if (isInIteratorElement(ctx, element) && !ir_1.isTemplate(element)) {
|
|
361
360
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.MISSING_KEY_IN_ITERATOR, element, [tag]);
|
|
362
361
|
}
|
|
363
362
|
}
|
|
@@ -475,7 +474,7 @@ function validateElement(ctx, element, node) {
|
|
|
475
474
|
const { tag, namespace, location } = element;
|
|
476
475
|
const isRoot = ctx.parentStack.length === 0;
|
|
477
476
|
if (isRoot) {
|
|
478
|
-
if (
|
|
477
|
+
if (!ir_1.isTemplate(element)) {
|
|
479
478
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.ROOT_TAG_SHOULD_BE_TEMPLATE, element, [tag]);
|
|
480
479
|
}
|
|
481
480
|
const rootHasUnknownAttributes = node.attrs.some(({ name }) => !constants_1.ROOT_TEMPLATE_DIRECTIVES_SET.has(name));
|
|
@@ -495,7 +494,7 @@ function validateElement(ctx, element, node) {
|
|
|
495
494
|
if (tag === 'style' && namespace === constants_1.HTML_NAMESPACE_URI) {
|
|
496
495
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.STYLE_TAG_NOT_ALLOWED_IN_TEMPLATE, element);
|
|
497
496
|
}
|
|
498
|
-
else if (
|
|
497
|
+
else if (ir_1.isTemplate(element)) {
|
|
499
498
|
// We check if the template element has some modifier applied to it. Directly checking if one of the
|
|
500
499
|
// IRElement property is impossible. For example when an error occurs during the parsing of the if
|
|
501
500
|
// expression, the `element.if` property remains undefined. It would results in 2 warnings instead of 1:
|
|
@@ -610,45 +609,53 @@ function getTemplateAttribute(ctx, element, attribute) {
|
|
|
610
609
|
tag,
|
|
611
610
|
]);
|
|
612
611
|
}
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
}
|
|
640
|
-
}, errors_1.ParserDiagnostics.GENERIC_PARSING_ERROR, location);
|
|
612
|
+
const isBooleanAttribute = !rawAttribute.includes('=');
|
|
613
|
+
const { value, escapedExpression } = attribute_1.normalizeAttributeValue(ctx, rawAttribute, tag, attribute, location);
|
|
614
|
+
if (expression_1.isExpression(value) && !escapedExpression) {
|
|
615
|
+
return {
|
|
616
|
+
name,
|
|
617
|
+
location,
|
|
618
|
+
type: types_1.IRAttributeType.Expression,
|
|
619
|
+
value: expression_1.parseExpression(ctx, value, location),
|
|
620
|
+
};
|
|
621
|
+
}
|
|
622
|
+
else if (isBooleanAttribute) {
|
|
623
|
+
return {
|
|
624
|
+
name,
|
|
625
|
+
location,
|
|
626
|
+
type: types_1.IRAttributeType.Boolean,
|
|
627
|
+
value: true,
|
|
628
|
+
};
|
|
629
|
+
}
|
|
630
|
+
else {
|
|
631
|
+
return {
|
|
632
|
+
name,
|
|
633
|
+
location,
|
|
634
|
+
type: types_1.IRAttributeType.String,
|
|
635
|
+
value,
|
|
636
|
+
};
|
|
637
|
+
}
|
|
641
638
|
}
|
|
642
639
|
function isInIteration(ctx, element) {
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
640
|
+
return ctx.findAncestor({
|
|
641
|
+
predicate: (element) => ir_1.isTemplate(element) && (element.forOf || element.forEach),
|
|
642
|
+
element,
|
|
643
|
+
});
|
|
644
|
+
}
|
|
645
|
+
function getForOfParent(ctx) {
|
|
646
|
+
return ctx.findAncestor({
|
|
647
|
+
predicate: (element) => element.forOf,
|
|
648
|
+
traversalCond: ({ current }) => ir_1.isTemplate(current),
|
|
649
|
+
});
|
|
650
|
+
}
|
|
651
|
+
function getForEachParent(ctx, element) {
|
|
652
|
+
return ctx.findAncestor({
|
|
653
|
+
element,
|
|
654
|
+
predicate: (element) => element.forEach,
|
|
655
|
+
traversalCond: ({ parent }) => parent && ir_1.isTemplate(parent),
|
|
656
|
+
});
|
|
657
|
+
}
|
|
658
|
+
function isInIteratorElement(ctx, element) {
|
|
659
|
+
return !!(getForOfParent(ctx) || getForEachParent(ctx, element));
|
|
653
660
|
}
|
|
654
661
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/parser/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/parser/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,24 @@ class ParserCtx {
|
|
|
28
28
|
getSource(start, end) {
|
|
29
29
|
return this.source.slice(start, end);
|
|
30
30
|
}
|
|
31
|
+
*ancestors(element) {
|
|
32
|
+
const ancestors = element ? [...this.parentStack, element] : this.parentStack;
|
|
33
|
+
for (let index = ancestors.length - 1; index > 0; index--) {
|
|
34
|
+
yield { current: ancestors[index], index };
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
findAncestor(args) {
|
|
38
|
+
const { element, predicate, traversalCond = () => true } = args;
|
|
39
|
+
for (const { current, index } of this.ancestors(element)) {
|
|
40
|
+
if (predicate(current)) {
|
|
41
|
+
return current;
|
|
42
|
+
}
|
|
43
|
+
if (!traversalCond({ current, parent: this.parentStack[index - 1] })) {
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
31
49
|
withErrorRecovery(fn) {
|
|
32
50
|
try {
|
|
33
51
|
return fn();
|
|
@@ -41,25 +59,17 @@ class ParserCtx {
|
|
|
41
59
|
}
|
|
42
60
|
}
|
|
43
61
|
}
|
|
44
|
-
withErrorWrapping(fn, errorInfo, location) {
|
|
62
|
+
withErrorWrapping(fn, errorInfo, location, msgFormatter) {
|
|
45
63
|
try {
|
|
46
64
|
return fn();
|
|
47
65
|
}
|
|
48
66
|
catch (error) {
|
|
67
|
+
if (msgFormatter) {
|
|
68
|
+
error.message = msgFormatter(error);
|
|
69
|
+
}
|
|
49
70
|
this.throwOnError(errorInfo, error, location);
|
|
50
71
|
}
|
|
51
72
|
}
|
|
52
|
-
warnOnIRNode(errorInfo, irNode, messageArgs) {
|
|
53
|
-
this.warnAtLocation(errorInfo, messageArgs, irNode.location);
|
|
54
|
-
}
|
|
55
|
-
warnAtLocation(errorInfo, messageArgs, location) {
|
|
56
|
-
this.addDiagnostic(errors_1.generateCompilerDiagnostic(errorInfo, {
|
|
57
|
-
messageArgs,
|
|
58
|
-
origin: {
|
|
59
|
-
location: normalizeLocation(location),
|
|
60
|
-
},
|
|
61
|
-
}));
|
|
62
|
-
}
|
|
63
73
|
throwOnError(errorInfo, error, location) {
|
|
64
74
|
const diagnostic = errors_1.normalizeToDiagnostic(errorInfo, error, {
|
|
65
75
|
location: normalizeLocation(location),
|
|
@@ -77,6 +87,17 @@ class ParserCtx {
|
|
|
77
87
|
},
|
|
78
88
|
});
|
|
79
89
|
}
|
|
90
|
+
warnOnIRNode(errorInfo, irNode, messageArgs) {
|
|
91
|
+
this.warnAtLocation(errorInfo, messageArgs, irNode.location);
|
|
92
|
+
}
|
|
93
|
+
warnAtLocation(errorInfo, messageArgs, location) {
|
|
94
|
+
this.addDiagnostic(errors_1.generateCompilerDiagnostic(errorInfo, {
|
|
95
|
+
messageArgs,
|
|
96
|
+
origin: {
|
|
97
|
+
location: normalizeLocation(location),
|
|
98
|
+
},
|
|
99
|
+
}));
|
|
100
|
+
}
|
|
80
101
|
addDiagnostic(diagnostic) {
|
|
81
102
|
this.warnings.push(diagnostic);
|
|
82
103
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/parser/parser.ts"],"names":[],"mappings":";;AAOA,wCAQqB;AACrB,2CAA6F;AAG7F,SAAS,iBAAiB,CAAC,QAA0B;IACjD,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,IAAI,QAAQ,EAAE;QACV,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;QAE5C,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC;QAC1B,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAC3B,KAAK,GAAG,WAAW,CAAC;QACpB,MAAM,GAAG,SAAS,GAAG,WAAW,CAAC;KACpC;IAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC3C,CAAC;AAED,MAAqB,SAAS;IAU1B,YAAY,MAAc,EAAE,MAAsB;QANzC,aAAQ,GAAyB,EAAE,CAAC;QACpC,YAAO,GAAgB,IAAI,GAAG,EAAE,CAAC;QACjC,cAAS,GAAgB,IAAI,GAAG,EAAE,CAAC;QAEnC,gBAAW,GAAgB,EAAE,CAAC;QAGnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,SAAS,CAAC,KAAa,EAAE,GAAW;QAChC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/parser/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import * as parse5 from 'parse5';
|
|
2
2
|
import { IRAttribute, IRElement } from '../shared/types';
|
|
3
|
+
import ParserCtx from './parser';
|
|
3
4
|
export declare function isIdReferencingAttribute(attrName: string): boolean;
|
|
4
5
|
export declare function isAllowedFragOnlyUrlsXHTML(tagName: string, attrName: string, namespaceURI: string): boolean;
|
|
5
6
|
export declare function isSvgUseHref(tagName: string, attrName: string, namespaceURI: string): boolean;
|
|
6
7
|
export declare function isFragmentOnlyUrl(url: string): boolean;
|
|
7
|
-
export declare function normalizeAttributeValue(
|
|
8
|
+
export declare function normalizeAttributeValue(ctx: ParserCtx, raw: string, tag: string, attr: parse5.Attribute, location: parse5.Location): {
|
|
8
9
|
value: string;
|
|
9
10
|
escapedExpression: boolean;
|
|
10
11
|
};
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { Location } from 'parse5';
|
|
2
|
+
import { TemplateExpression, TemplateIdentifier } from '../shared/types';
|
|
3
|
+
import ParserCtx from './parser';
|
|
3
4
|
export declare const EXPRESSION_SYMBOL_START = "{";
|
|
4
5
|
export declare const EXPRESSION_SYMBOL_END = "}";
|
|
5
6
|
export declare function isExpression(source: string): boolean;
|
|
6
7
|
export declare function isPotentialExpression(source: string): boolean;
|
|
7
|
-
export declare function parseExpression(source: string,
|
|
8
|
-
export declare function parseIdentifier(source: string): TemplateIdentifier
|
|
9
|
-
export declare function getForOfParent(parentStack: IRElement[]): IRElement | null;
|
|
10
|
-
export declare function getForEachParent(element: IRElement, parentStack: IRElement[]): IRElement | null;
|
|
11
|
-
export declare function isIteratorElement(element: IRElement, parentStack: IRElement[]): boolean;
|
|
8
|
+
export declare function parseExpression(ctx: ParserCtx, source: string, location: Location): TemplateExpression;
|
|
9
|
+
export declare function parseIdentifier(ctx: ParserCtx, source: string, location: Location): TemplateIdentifier;
|
|
@@ -11,14 +11,26 @@ export default class ParserCtx {
|
|
|
11
11
|
readonly parentStack: IRElement[];
|
|
12
12
|
constructor(source: String, config: ResolvedConfig);
|
|
13
13
|
getSource(start: number, end: number): string;
|
|
14
|
+
ancestors(element?: IRElement): Generator<{
|
|
15
|
+
current: IRElement;
|
|
16
|
+
index: number;
|
|
17
|
+
}, void, unknown>;
|
|
18
|
+
findAncestor(args: {
|
|
19
|
+
element?: IRElement;
|
|
20
|
+
predicate: (elm: IRElement) => unknown;
|
|
21
|
+
traversalCond?: (nodes: {
|
|
22
|
+
current: IRElement;
|
|
23
|
+
parent: IRElement | null;
|
|
24
|
+
}) => unknown;
|
|
25
|
+
}): IRElement | null;
|
|
14
26
|
withErrorRecovery<T>(fn: () => T): T | undefined;
|
|
15
|
-
withErrorWrapping<T>(fn: () => T, errorInfo: LWCErrorInfo, location: parse5.Location): T;
|
|
16
|
-
warnOnIRNode(errorInfo: LWCErrorInfo, irNode: IRNode | IRBaseAttribute, messageArgs?: any[]): void;
|
|
17
|
-
warnAtLocation(errorInfo: LWCErrorInfo, messageArgs?: any[], location?: parse5.Location): void;
|
|
27
|
+
withErrorWrapping<T>(fn: () => T, errorInfo: LWCErrorInfo, location: parse5.Location, msgFormatter?: (error: any) => string): T;
|
|
18
28
|
throwOnError(errorInfo: LWCErrorInfo, error: any, location?: parse5.Location): never;
|
|
19
29
|
throwOnIRNode(errorInfo: LWCErrorInfo, irNode: IRNode | IRBaseAttribute, messageArgs?: any[]): never;
|
|
20
30
|
throwAtLocation(errorInfo: LWCErrorInfo, location?: parse5.Location, messageArgs?: any[]): never;
|
|
21
|
-
|
|
31
|
+
warnOnIRNode(errorInfo: LWCErrorInfo, irNode: IRNode | IRBaseAttribute, messageArgs?: any[]): void;
|
|
32
|
+
warnAtLocation(errorInfo: LWCErrorInfo, messageArgs?: any[], location?: parse5.Location): void;
|
|
33
|
+
private addDiagnostic;
|
|
22
34
|
getRoot(element: IRElement): IRElement;
|
|
23
35
|
getRenderMode(element: IRElement): LWCDirectiveRenderMode;
|
|
24
36
|
getPreserveComments(element: IRElement): boolean;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lwc/template-compiler",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.5.2-canary1",
|
|
4
4
|
"description": "Template compiler package",
|
|
5
5
|
"homepage": "https://lwc.dev/",
|
|
6
6
|
"repository": {
|
|
@@ -19,14 +19,15 @@
|
|
|
19
19
|
"build": "tsc"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
|
-
"@types/estree": "0.0.
|
|
22
|
+
"@types/estree": "0.0.50",
|
|
23
23
|
"@types/he": "^1.1.1",
|
|
24
24
|
"@types/parse5": "^6.0.1"
|
|
25
25
|
},
|
|
26
|
+
"//": "Currently can't upgrade TypeScript to v4.4.2 because it breaks Rollup: https://git.io/JuCcs",
|
|
26
27
|
"dependencies": {
|
|
27
|
-
"@lwc/errors": "2.
|
|
28
|
-
"@lwc/shared": "2.
|
|
29
|
-
"acorn": "~8.
|
|
28
|
+
"@lwc/errors": "2.5.2-canary1",
|
|
29
|
+
"@lwc/shared": "2.5.2-canary1",
|
|
30
|
+
"acorn": "~8.5.0",
|
|
30
31
|
"astring": "~1.7.0",
|
|
31
32
|
"estree-walker": "~2.0.2",
|
|
32
33
|
"esutils": "~2.0.3",
|
|
@@ -39,5 +40,5 @@
|
|
|
39
40
|
"publishConfig": {
|
|
40
41
|
"access": "public"
|
|
41
42
|
},
|
|
42
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "9704f323be88e79bbffb964e4805e6cbf18556ec"
|
|
43
44
|
}
|