@lwc/template-compiler 2.5.6 → 2.5.10-alpha1
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/codegen/codegen.js +4 -20
- package/dist/commonjs/codegen/codegen.js.map +1 -1
- package/dist/commonjs/codegen/formatters/function.js +2 -2
- package/dist/commonjs/codegen/formatters/function.js.map +1 -1
- package/dist/commonjs/codegen/formatters/module.js +3 -3
- package/dist/commonjs/codegen/formatters/module.js.map +1 -1
- package/dist/commonjs/codegen/helpers.js +5 -5
- package/dist/commonjs/codegen/helpers.js.map +1 -1
- package/dist/commonjs/codegen/index.js +44 -50
- package/dist/commonjs/codegen/index.js.map +1 -1
- package/dist/commonjs/codegen/scope.js +3 -3
- package/dist/commonjs/codegen/scope.js.map +1 -1
- package/dist/commonjs/config.js +2 -2
- package/dist/commonjs/config.js.map +1 -1
- package/dist/commonjs/index.js +10 -10
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/parser/attribute.js +7 -7
- package/dist/commonjs/parser/attribute.js.map +1 -1
- package/dist/commonjs/parser/expression.js +6 -6
- package/dist/commonjs/parser/expression.js.map +1 -1
- package/dist/commonjs/parser/html.js +2 -7
- package/dist/commonjs/parser/html.js.map +1 -1
- package/dist/commonjs/parser/index.js +117 -80
- package/dist/commonjs/parser/index.js.map +1 -1
- package/dist/commonjs/parser/parser.js +39 -7
- package/dist/commonjs/parser/parser.js.map +1 -1
- package/dist/commonjs/parser/style.js +41 -0
- package/dist/commonjs/parser/style.js.map +1 -0
- package/dist/commonjs/shared/estree.js +1 -19
- package/dist/commonjs/shared/estree.js.map +1 -1
- package/dist/commonjs/shared/ir.js +5 -47
- package/dist/commonjs/shared/ir.js.map +1 -1
- package/dist/commonjs/shared/parse5.js +15 -1
- package/dist/commonjs/shared/parse5.js.map +1 -1
- package/dist/types/codegen/codegen.d.ts +0 -5
- package/dist/types/parser/html.d.ts +0 -1
- package/dist/types/parser/parser.d.ts +28 -2
- package/dist/types/parser/style.d.ts +8 -0
- package/dist/types/shared/estree.d.ts +0 -2
- package/dist/types/shared/ir.d.ts +3 -3
- package/dist/types/shared/parse5.d.ts +1 -0
- package/package.json +6 -6
|
@@ -59,7 +59,7 @@ function attributeExpressionReferencesForEachIndex(attribute, forEach) {
|
|
|
59
59
|
}
|
|
60
60
|
function parse(source, state) {
|
|
61
61
|
const ctx = new parser_1.default(source, state.config);
|
|
62
|
-
const fragment =
|
|
62
|
+
const fragment = html_1.parseHTML(ctx, source);
|
|
63
63
|
if (ctx.warnings.length) {
|
|
64
64
|
return { warnings: ctx.warnings };
|
|
65
65
|
}
|
|
@@ -70,9 +70,10 @@ function parse(source, state) {
|
|
|
70
70
|
return { root, warnings: ctx.warnings };
|
|
71
71
|
}
|
|
72
72
|
exports.default = parse;
|
|
73
|
-
function parseElement(ctx,
|
|
74
|
-
const
|
|
75
|
-
const
|
|
73
|
+
function parseElement(ctx, parse5Elm, parentIRElement) {
|
|
74
|
+
const location = parseElementLocation(ctx, parse5Elm, parentIRElement);
|
|
75
|
+
const element = ir_1.createElement(parse5Elm, location);
|
|
76
|
+
const parsedAttr = parseAttributes(ctx, element, parse5Elm);
|
|
76
77
|
applyForEach(ctx, element, parsedAttr);
|
|
77
78
|
applyIterator(ctx, element, parsedAttr);
|
|
78
79
|
applyIf(ctx, element, parsedAttr);
|
|
@@ -82,22 +83,46 @@ function parseElement(ctx, elementNode) {
|
|
|
82
83
|
applyKey(ctx, element, parsedAttr);
|
|
83
84
|
applyLwcDirectives(ctx, element, parsedAttr);
|
|
84
85
|
applyAttributes(ctx, element, parsedAttr);
|
|
85
|
-
validateElement(ctx, element,
|
|
86
|
+
validateElement(ctx, element, parse5Elm);
|
|
86
87
|
validateAttributes(ctx, element, parsedAttr);
|
|
87
88
|
validateProperties(ctx, element);
|
|
88
|
-
parseChildren(ctx,
|
|
89
|
+
parseChildren(ctx, parse5Elm, element);
|
|
89
90
|
validateChildren(ctx, element);
|
|
90
91
|
return element;
|
|
91
92
|
}
|
|
92
|
-
function
|
|
93
|
+
function parseElementLocation(ctx, parse5Elm, parentIRElement) {
|
|
94
|
+
var _a;
|
|
95
|
+
let location = parse5Elm.sourceCodeLocation;
|
|
96
|
+
if (!location) {
|
|
97
|
+
// Parse5 will recover from invalid HTML. When this happens the element's sourceCodeLocation will be undefined.
|
|
98
|
+
// https://github.com/inikulin/parse5/blob/master/packages/parse5/docs/options/parser-options.md#sourcecodelocationinfo
|
|
99
|
+
ctx.warn(errors_1.ParserDiagnostics.INVALID_HTML_RECOVERY, [
|
|
100
|
+
parse5Elm.tagName,
|
|
101
|
+
parentIRElement === null || parentIRElement === void 0 ? void 0 : parentIRElement.tag,
|
|
102
|
+
]);
|
|
103
|
+
}
|
|
104
|
+
// With parse5 automatically recovering from invalid HTML, some AST nodes might not have
|
|
105
|
+
// location information. For example when a <table> element has a <tr> child element, parse5
|
|
106
|
+
// creates a <tbody> element in the middle without location information. In this case, we
|
|
107
|
+
// can safely skip the closing tag validation.
|
|
108
|
+
let current = parse5Elm;
|
|
109
|
+
while (!location && parse5Utils.isElementNode(current.parentNode)) {
|
|
110
|
+
current = current.parentNode;
|
|
111
|
+
location = current.sourceCodeLocation;
|
|
112
|
+
}
|
|
113
|
+
// Parent's location is used as the fallback in case the current node's location cannot be found.
|
|
114
|
+
// If there is no parent, use an empty parse5.ElementLocation instead.
|
|
115
|
+
return (_a = location !== null && location !== void 0 ? location : parentIRElement === null || parentIRElement === void 0 ? void 0 : parentIRElement.location) !== null && _a !== void 0 ? _a : parse5Utils.createEmptyElementLocation();
|
|
116
|
+
}
|
|
117
|
+
function parseChildren(ctx, parse5Parent, parentIRElement) {
|
|
93
118
|
var _a;
|
|
94
119
|
const parsedChildren = [];
|
|
95
120
|
const children = ((_a = parse5Utils.getTemplateContent(parse5Parent)) !== null && _a !== void 0 ? _a : parse5Parent).childNodes;
|
|
96
|
-
ctx.parentStack.push(
|
|
121
|
+
ctx.parentStack.push(parentIRElement);
|
|
97
122
|
for (const child of children) {
|
|
98
123
|
ctx.withErrorRecovery(() => {
|
|
99
124
|
if (parse5Utils.isElementNode(child)) {
|
|
100
|
-
const elmNode = parseElement(ctx, child);
|
|
125
|
+
const elmNode = parseElement(ctx, child, parentIRElement);
|
|
101
126
|
parsedChildren.push(elmNode);
|
|
102
127
|
}
|
|
103
128
|
else if (parse5Utils.isTextNode(child)) {
|
|
@@ -111,13 +136,19 @@ function parseChildren(ctx, parent, parse5Parent) {
|
|
|
111
136
|
});
|
|
112
137
|
}
|
|
113
138
|
ctx.parentStack.pop();
|
|
114
|
-
|
|
139
|
+
parentIRElement.children = parsedChildren;
|
|
115
140
|
}
|
|
116
|
-
function parseText(ctx,
|
|
141
|
+
function parseText(ctx, parse5Text) {
|
|
117
142
|
const parsedTextNodes = [];
|
|
143
|
+
const location = parse5Text.sourceCodeLocation;
|
|
144
|
+
if (!location) {
|
|
145
|
+
// Parse5 will recover from invalid HTML. When this happens the node's sourceCodeLocation will be undefined.
|
|
146
|
+
// https://github.com/inikulin/parse5/blob/master/packages/parse5/docs/options/parser-options.md#sourcecodelocationinfo
|
|
147
|
+
// This is a defensive check as this should never happen for TextNode.
|
|
148
|
+
throw new Error(`An internal parsing error occurred during node creation; a text node was found without a sourceCodeLocation.`);
|
|
149
|
+
}
|
|
118
150
|
// Extract the raw source to avoid HTML entity decoding done by parse5
|
|
119
|
-
const
|
|
120
|
-
const rawText = (0, html_1.cleanTextNode)(ctx.getSource(location.startOffset, location.endOffset));
|
|
151
|
+
const rawText = html_1.cleanTextNode(ctx.getSource(location.startOffset, location.endOffset));
|
|
121
152
|
if (!rawText.trim().length) {
|
|
122
153
|
return parsedTextNodes;
|
|
123
154
|
}
|
|
@@ -129,19 +160,25 @@ function parseText(ctx, node) {
|
|
|
129
160
|
continue;
|
|
130
161
|
}
|
|
131
162
|
let value;
|
|
132
|
-
if (
|
|
133
|
-
value =
|
|
163
|
+
if (expression_1.isExpression(token)) {
|
|
164
|
+
value = expression_1.parseExpression(ctx, token, location);
|
|
134
165
|
}
|
|
135
166
|
else {
|
|
136
|
-
value =
|
|
167
|
+
value = html_1.decodeTextContent(token);
|
|
137
168
|
}
|
|
138
|
-
parsedTextNodes.push(
|
|
169
|
+
parsedTextNodes.push(ir_1.createText(value, location));
|
|
139
170
|
}
|
|
140
171
|
return parsedTextNodes;
|
|
141
172
|
}
|
|
142
|
-
function parseComment(
|
|
143
|
-
const
|
|
144
|
-
|
|
173
|
+
function parseComment(parse5Comment) {
|
|
174
|
+
const location = parse5Comment.sourceCodeLocation;
|
|
175
|
+
if (!location) {
|
|
176
|
+
// Parse5 will recover from invalid HTML. When this happens the node's sourceCodeLocation will be undefined.
|
|
177
|
+
// https://github.com/inikulin/parse5/blob/master/packages/parse5/docs/options/parser-options.md#sourcecodelocationinfo
|
|
178
|
+
// This is a defensive check as this should never happen for CommentNode.
|
|
179
|
+
throw new Error(`An internal parsing error occurred during node creation; a comment node was found without a sourceCodeLocation.`);
|
|
180
|
+
}
|
|
181
|
+
return ir_1.createComment(html_1.decodeTextContent(parse5Comment.data), location);
|
|
145
182
|
}
|
|
146
183
|
function getTemplateRoot(ctx, documentFragment) {
|
|
147
184
|
// Filter all the empty text nodes
|
|
@@ -153,7 +190,7 @@ function getTemplateRoot(ctx, documentFragment) {
|
|
|
153
190
|
}
|
|
154
191
|
const [root] = validRoots;
|
|
155
192
|
if (!root || !parse5Utils.isElementNode(root)) {
|
|
156
|
-
ctx.
|
|
193
|
+
ctx.throw(errors_1.ParserDiagnostics.MISSING_ROOT_TEMPLATE_TAG);
|
|
157
194
|
}
|
|
158
195
|
return root;
|
|
159
196
|
}
|
|
@@ -161,7 +198,7 @@ function applyHandlers(ctx, element, parsedAttr) {
|
|
|
161
198
|
let eventHandlerAttribute;
|
|
162
199
|
while ((eventHandlerAttribute = parsedAttr.pick(constants_1.EVENT_HANDLER_RE))) {
|
|
163
200
|
const { name } = eventHandlerAttribute;
|
|
164
|
-
if (!
|
|
201
|
+
if (!ir_1.isIRExpressionAttribute(eventHandlerAttribute)) {
|
|
165
202
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.EVENT_HANDLER_SHOULD_BE_EXPRESSION, eventHandlerAttribute);
|
|
166
203
|
}
|
|
167
204
|
if (!name.match(constants_1.EVENT_HANDLER_NAME_RE)) {
|
|
@@ -184,7 +221,7 @@ function applyIf(ctx, element, parsedAttr) {
|
|
|
184
221
|
if (!ifAttribute) {
|
|
185
222
|
return;
|
|
186
223
|
}
|
|
187
|
-
if (!
|
|
224
|
+
if (!ir_1.isIRExpressionAttribute(ifAttribute)) {
|
|
188
225
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.IF_DIRECTIVE_SHOULD_BE_EXPRESSION, ifAttribute);
|
|
189
226
|
}
|
|
190
227
|
const [, modifier] = ifAttribute.name.split(':');
|
|
@@ -219,7 +256,7 @@ function applyLwcRenderModeDirective(ctx, element, parsedAttr, lwcOpts) {
|
|
|
219
256
|
if (!lwcRenderModeAttribute) {
|
|
220
257
|
return;
|
|
221
258
|
}
|
|
222
|
-
if (!
|
|
259
|
+
if (!ir_1.isIRStringAttribute(lwcRenderModeAttribute) ||
|
|
223
260
|
(lwcRenderModeAttribute.value !== 'shadow' && lwcRenderModeAttribute.value !== 'light')) {
|
|
224
261
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.LWC_RENDER_MODE_INVALID_VALUE, element);
|
|
225
262
|
}
|
|
@@ -236,12 +273,15 @@ function applyLwcPreserveCommentsDirective(ctx, element, parsedAttr, lwcOpts) {
|
|
|
236
273
|
if (!lwcPreserveCommentAttribute) {
|
|
237
274
|
return;
|
|
238
275
|
}
|
|
239
|
-
if (ctx.parentStack.length
|
|
276
|
+
if (ctx.parentStack.length) {
|
|
240
277
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.UNKNOWN_LWC_DIRECTIVE, element, [
|
|
241
|
-
constants_1.ROOT_TEMPLATE_DIRECTIVES.
|
|
278
|
+
constants_1.ROOT_TEMPLATE_DIRECTIVES.PRESERVE_COMMENTS,
|
|
242
279
|
`<${element.tag}>`,
|
|
243
280
|
]);
|
|
244
281
|
}
|
|
282
|
+
else if (!ir_1.isIRBooleanAttribute(lwcPreserveCommentAttribute)) {
|
|
283
|
+
ctx.throwOnIRNode(errors_1.ParserDiagnostics.PRESERVE_COMMENTS_MUST_BE_BOOLEAN, element);
|
|
284
|
+
}
|
|
245
285
|
lwcOpts.preserveComments = lwcPreserveCommentAttribute;
|
|
246
286
|
}
|
|
247
287
|
function applyLwcInnerHtmlDirective(ctx, element, parsedAttr, lwcOpts) {
|
|
@@ -249,7 +289,7 @@ function applyLwcInnerHtmlDirective(ctx, element, parsedAttr, lwcOpts) {
|
|
|
249
289
|
if (!lwcInnerHtmlDirective) {
|
|
250
290
|
return;
|
|
251
291
|
}
|
|
252
|
-
if (
|
|
292
|
+
if (ir_1.isCustomElement(element)) {
|
|
253
293
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.LWC_INNER_HTML_INVALID_CUSTOM_ELEMENT, element, [
|
|
254
294
|
`<${element.tag}>`,
|
|
255
295
|
]);
|
|
@@ -273,14 +313,14 @@ function applyLwcDynamicDirective(ctx, element, parsedAttr, lwcOpts) {
|
|
|
273
313
|
return;
|
|
274
314
|
}
|
|
275
315
|
if (!ctx.config.experimentalDynamicDirective) {
|
|
276
|
-
ctx.throwOnIRNode(errors_1.ParserDiagnostics.INVALID_OPTS_LWC_DYNAMIC, element
|
|
316
|
+
ctx.throwOnIRNode(errors_1.ParserDiagnostics.INVALID_OPTS_LWC_DYNAMIC, element);
|
|
277
317
|
}
|
|
278
|
-
if (!
|
|
318
|
+
if (!ir_1.isCustomElement(element)) {
|
|
279
319
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.INVALID_LWC_DYNAMIC_ON_NATIVE_ELEMENT, element, [
|
|
280
320
|
`<${tag}>`,
|
|
281
321
|
]);
|
|
282
322
|
}
|
|
283
|
-
if (!
|
|
323
|
+
if (!ir_1.isIRExpressionAttribute(lwcDynamicAttribute)) {
|
|
284
324
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.INVALID_LWC_DYNAMIC_LITERAL_PROP, element, [
|
|
285
325
|
`<${tag}>`,
|
|
286
326
|
]);
|
|
@@ -296,13 +336,13 @@ function applyLwcDomDirective(ctx, element, parsedAttr, lwcOpts) {
|
|
|
296
336
|
if (ctx.getRenderMode(element) === types_1.LWCDirectiveRenderMode.light) {
|
|
297
337
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.LWC_DOM_INVALID_IN_LIGHT_DOM, element, [`<${tag}>`]);
|
|
298
338
|
}
|
|
299
|
-
if (
|
|
339
|
+
if (ir_1.isCustomElement(element)) {
|
|
300
340
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.LWC_DOM_INVALID_CUSTOM_ELEMENT, element, [`<${tag}>`]);
|
|
301
341
|
}
|
|
302
342
|
if (tag === 'slot') {
|
|
303
343
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.LWC_DOM_INVALID_SLOT_ELEMENT, element);
|
|
304
344
|
}
|
|
305
|
-
if (!
|
|
345
|
+
if (!ir_1.isIRStringAttribute(lwcDomAttribute) ||
|
|
306
346
|
shared_1.hasOwnProperty.call(types_1.LWCDirectiveDomMode, lwcDomAttribute.value) === false) {
|
|
307
347
|
const possibleValues = Object.keys(types_1.LWCDirectiveDomMode)
|
|
308
348
|
.map((value) => `"${value}"`)
|
|
@@ -316,19 +356,19 @@ function applyForEach(ctx, element, parsedAttr) {
|
|
|
316
356
|
const forItemAttribute = parsedAttr.pick(constants_1.FOR_DIRECTIVES.FOR_ITEM);
|
|
317
357
|
const forIndex = parsedAttr.pick(constants_1.FOR_DIRECTIVES.FOR_INDEX);
|
|
318
358
|
if (forEachAttribute && forItemAttribute) {
|
|
319
|
-
if (!
|
|
359
|
+
if (!ir_1.isIRExpressionAttribute(forEachAttribute)) {
|
|
320
360
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.FOR_EACH_DIRECTIVE_SHOULD_BE_EXPRESSION, forEachAttribute);
|
|
321
361
|
}
|
|
322
|
-
if (!
|
|
362
|
+
if (!ir_1.isIRStringAttribute(forItemAttribute)) {
|
|
323
363
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.FOR_ITEM_DIRECTIVE_SHOULD_BE_STRING, forItemAttribute);
|
|
324
364
|
}
|
|
325
|
-
const item =
|
|
365
|
+
const item = expression_1.parseIdentifier(ctx, forItemAttribute.value, forItemAttribute.location);
|
|
326
366
|
let index;
|
|
327
367
|
if (forIndex) {
|
|
328
|
-
if (!
|
|
368
|
+
if (!ir_1.isIRStringAttribute(forIndex)) {
|
|
329
369
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.FOR_INDEX_DIRECTIVE_SHOULD_BE_STRING, forIndex);
|
|
330
370
|
}
|
|
331
|
-
index =
|
|
371
|
+
index = expression_1.parseIdentifier(ctx, forIndex.value, forIndex.location);
|
|
332
372
|
}
|
|
333
373
|
element.forEach = {
|
|
334
374
|
expression: forEachAttribute.value,
|
|
@@ -352,12 +392,12 @@ function applyIterator(ctx, element, parsedAttr) {
|
|
|
352
392
|
}
|
|
353
393
|
const iteratorAttributeName = iteratorExpression.name;
|
|
354
394
|
const [, iteratorName] = iteratorAttributeName.split(':');
|
|
355
|
-
if (!
|
|
395
|
+
if (!ir_1.isIRExpressionAttribute(iteratorExpression)) {
|
|
356
396
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.DIRECTIVE_SHOULD_BE_EXPRESSION, iteratorExpression, [
|
|
357
397
|
iteratorExpression.name,
|
|
358
398
|
]);
|
|
359
399
|
}
|
|
360
|
-
const iterator =
|
|
400
|
+
const iterator = expression_1.parseIdentifier(ctx, iteratorName, iteratorExpression.location);
|
|
361
401
|
element.forOf = {
|
|
362
402
|
expression: iteratorExpression.value,
|
|
363
403
|
iterator,
|
|
@@ -367,7 +407,7 @@ function applyKey(ctx, element, parsedAttr) {
|
|
|
367
407
|
const { tag } = element;
|
|
368
408
|
const keyAttribute = parsedAttr.pick('key');
|
|
369
409
|
if (keyAttribute) {
|
|
370
|
-
if (!
|
|
410
|
+
if (!ir_1.isIRExpressionAttribute(keyAttribute)) {
|
|
371
411
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.KEY_ATTRIBUTE_SHOULD_BE_EXPRESSION, keyAttribute);
|
|
372
412
|
}
|
|
373
413
|
const forOfParent = getForOfParent(ctx);
|
|
@@ -385,7 +425,7 @@ function applyKey(ctx, element, parsedAttr) {
|
|
|
385
425
|
}
|
|
386
426
|
element.forKey = keyAttribute.value;
|
|
387
427
|
}
|
|
388
|
-
else if (isInIteratorElement(ctx, element) && !
|
|
428
|
+
else if (isInIteratorElement(ctx, element) && !ir_1.isTemplate(element)) {
|
|
389
429
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.MISSING_KEY_IN_ITERATOR, element, [tag]);
|
|
390
430
|
}
|
|
391
431
|
}
|
|
@@ -422,10 +462,10 @@ function applySlot(ctx, element, parsedAttr) {
|
|
|
422
462
|
let name = '';
|
|
423
463
|
const nameAttribute = parsedAttr.get('name');
|
|
424
464
|
if (nameAttribute) {
|
|
425
|
-
if (
|
|
465
|
+
if (ir_1.isIRExpressionAttribute(nameAttribute)) {
|
|
426
466
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.NAME_ON_SLOT_CANNOT_BE_EXPRESSION, nameAttribute);
|
|
427
467
|
}
|
|
428
|
-
else if (
|
|
468
|
+
else if (ir_1.isIRStringAttribute(nameAttribute)) {
|
|
429
469
|
name = nameAttribute.value;
|
|
430
470
|
}
|
|
431
471
|
}
|
|
@@ -448,7 +488,7 @@ function applyAttributes(ctx, element, parsedAttr) {
|
|
|
448
488
|
const attributes = parsedAttr.getAttributes();
|
|
449
489
|
for (const attr of attributes) {
|
|
450
490
|
const { name } = attr;
|
|
451
|
-
if (!
|
|
491
|
+
if (!attribute_1.isValidHTMLAttribute(tag, name)) {
|
|
452
492
|
ctx.warnOnIRNode(errors_1.ParserDiagnostics.INVALID_HTML_ATTRIBUTE, attr, [name, tag]);
|
|
453
493
|
}
|
|
454
494
|
if (name.match(/[^a-z0-9]$/)) {
|
|
@@ -462,16 +502,14 @@ function applyAttributes(ctx, element, parsedAttr) {
|
|
|
462
502
|
if (name.match(/_[^a-z0-9]|[^a-z0-9]_/)) {
|
|
463
503
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.ATTRIBUTE_NAME_CANNOT_COMBINE_UNDERSCORE_WITH_SPECIAL_CHARS, attr, [name, tag]);
|
|
464
504
|
}
|
|
465
|
-
if (
|
|
505
|
+
if (ir_1.isIRStringAttribute(attr)) {
|
|
466
506
|
if (name === 'id') {
|
|
467
507
|
const { value } = attr;
|
|
468
508
|
if (/\s+/.test(value)) {
|
|
469
509
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.INVALID_ID_ATTRIBUTE, attr, [value]);
|
|
470
510
|
}
|
|
471
511
|
if (isInIteration(ctx, element)) {
|
|
472
|
-
ctx.throwOnIRNode(errors_1.ParserDiagnostics.INVALID_STATIC_ID_IN_ITERATION, attr
|
|
473
|
-
value,
|
|
474
|
-
]);
|
|
512
|
+
ctx.throwOnIRNode(errors_1.ParserDiagnostics.INVALID_STATIC_ID_IN_ITERATION, attr);
|
|
475
513
|
}
|
|
476
514
|
if (ctx.seenIds.has(value)) {
|
|
477
515
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.DUPLICATE_ID_FOUND, attr, [value]);
|
|
@@ -482,19 +520,19 @@ function applyAttributes(ctx, element, parsedAttr) {
|
|
|
482
520
|
}
|
|
483
521
|
}
|
|
484
522
|
// Prevent usage of the slot attribute with expression.
|
|
485
|
-
if (name === 'slot' &&
|
|
523
|
+
if (name === 'slot' && ir_1.isIRExpressionAttribute(attr)) {
|
|
486
524
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.SLOT_ATTRIBUTE_CANNOT_BE_EXPRESSION, attr);
|
|
487
525
|
}
|
|
488
526
|
// the if branch handles
|
|
489
527
|
// 1. All attributes for standard elements except 1 case are handled as attributes
|
|
490
528
|
// 2. For custom elements, only key, slot and data are handled as attributes, rest as properties
|
|
491
|
-
if (
|
|
529
|
+
if (attribute_1.isAttribute(element, name)) {
|
|
492
530
|
const attrs = element.attrs || (element.attrs = {});
|
|
493
531
|
attrs[name] = attr;
|
|
494
532
|
}
|
|
495
533
|
else {
|
|
496
534
|
const props = element.props || (element.props = {});
|
|
497
|
-
props[
|
|
535
|
+
props[attribute_1.attributeToPropertyName(name)] = attr;
|
|
498
536
|
parsedAttr.pick(name);
|
|
499
537
|
}
|
|
500
538
|
}
|
|
@@ -503,7 +541,7 @@ function validateElement(ctx, element, node) {
|
|
|
503
541
|
const { tag, namespace, location } = element;
|
|
504
542
|
const isRoot = ctx.parentStack.length === 0;
|
|
505
543
|
if (isRoot) {
|
|
506
|
-
if (!
|
|
544
|
+
if (!ir_1.isTemplate(element)) {
|
|
507
545
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.ROOT_TAG_SHOULD_BE_TEMPLATE, element, [tag]);
|
|
508
546
|
}
|
|
509
547
|
const rootHasUnknownAttributes = node.attrs.some(({ name }) => !constants_1.ROOT_TEMPLATE_DIRECTIVES_SET.has(name));
|
|
@@ -523,7 +561,7 @@ function validateElement(ctx, element, node) {
|
|
|
523
561
|
if (tag === 'style' && namespace === constants_1.HTML_NAMESPACE_URI) {
|
|
524
562
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.STYLE_TAG_NOT_ALLOWED_IN_TEMPLATE, element);
|
|
525
563
|
}
|
|
526
|
-
else if (
|
|
564
|
+
else if (ir_1.isTemplate(element)) {
|
|
527
565
|
// We check if the template element has some modifier applied to it. Directly checking if one of the
|
|
528
566
|
// IRElement property is impossible. For example when an error occurs during the parsing of the if
|
|
529
567
|
// expression, the `element.if` property remains undefined. It would results in 2 warnings instead of 1:
|
|
@@ -531,9 +569,14 @@ function validateElement(ctx, element, node) {
|
|
|
531
569
|
// - Unexpected template element
|
|
532
570
|
//
|
|
533
571
|
// Checking if the original HTMLElement has some attributes applied is a good enough for now.
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
572
|
+
if (!isRoot) {
|
|
573
|
+
if (!node.attrs.length) {
|
|
574
|
+
ctx.throwOnIRNode(errors_1.ParserDiagnostics.NO_DIRECTIVE_FOUND_ON_TEMPLATE, element);
|
|
575
|
+
}
|
|
576
|
+
// Non root templates only support for:each, iterator and if directives
|
|
577
|
+
if (element.on || element.attrs || element.props || element.forKey || element.lwc) {
|
|
578
|
+
ctx.warnOnIRNode(errors_1.ParserDiagnostics.UNKNOWN_TEMPLATE_ATTRIBUTE, element);
|
|
579
|
+
}
|
|
537
580
|
}
|
|
538
581
|
}
|
|
539
582
|
else {
|
|
@@ -553,7 +596,7 @@ function validateElement(ctx, element, node) {
|
|
|
553
596
|
tag,
|
|
554
597
|
]);
|
|
555
598
|
}
|
|
556
|
-
const isKnownTag =
|
|
599
|
+
const isKnownTag = ir_1.isCustomElement(element) ||
|
|
557
600
|
constants_1.KNOWN_HTML_ELEMENTS.has(tag) ||
|
|
558
601
|
constants_1.SUPPORTED_SVG_TAGS.has(tag) ||
|
|
559
602
|
constants_1.DASHED_TAGNAME_ELEMENT_SET.has(tag);
|
|
@@ -582,14 +625,11 @@ function validateAttributes(ctx, element, parsedAttr) {
|
|
|
582
625
|
const attributes = parsedAttr.getAttributes();
|
|
583
626
|
for (const attr of attributes) {
|
|
584
627
|
const { name: attrName } = attr;
|
|
585
|
-
if (
|
|
586
|
-
ctx.throwOnIRNode(errors_1.ParserDiagnostics.IS_ATTRIBUTE_NOT_SUPPORTED, element
|
|
587
|
-
attrName,
|
|
588
|
-
tag,
|
|
589
|
-
]);
|
|
628
|
+
if (attribute_1.isProhibitedIsAttribute(attrName)) {
|
|
629
|
+
ctx.throwOnIRNode(errors_1.ParserDiagnostics.IS_ATTRIBUTE_NOT_SUPPORTED, element);
|
|
590
630
|
}
|
|
591
|
-
if (
|
|
592
|
-
if (!
|
|
631
|
+
if (attribute_1.isTabIndexAttribute(attrName)) {
|
|
632
|
+
if (!ir_1.isIRExpressionAttribute(attr) && !attribute_1.isValidTabIndexAttributeValue(attr.value)) {
|
|
593
633
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.INVALID_TABINDEX_ATTRIBUTE, element);
|
|
594
634
|
}
|
|
595
635
|
}
|
|
@@ -602,20 +642,17 @@ function validateAttributes(ctx, element, parsedAttr) {
|
|
|
602
642
|
}
|
|
603
643
|
}
|
|
604
644
|
function validateProperties(ctx, element) {
|
|
605
|
-
const {
|
|
645
|
+
const { props } = element;
|
|
606
646
|
if (props !== undefined) {
|
|
607
647
|
for (const propName in props) {
|
|
608
648
|
const propAttr = props[propName];
|
|
609
649
|
const { name: attrName, value } = propAttr;
|
|
610
|
-
if (
|
|
611
|
-
ctx.throwOnIRNode(errors_1.ParserDiagnostics.IS_ATTRIBUTE_NOT_SUPPORTED, element
|
|
612
|
-
attrName,
|
|
613
|
-
tag,
|
|
614
|
-
]);
|
|
650
|
+
if (attribute_1.isProhibitedIsAttribute(attrName)) {
|
|
651
|
+
ctx.throwOnIRNode(errors_1.ParserDiagnostics.IS_ATTRIBUTE_NOT_SUPPORTED, element);
|
|
615
652
|
}
|
|
616
|
-
if (
|
|
617
|
-
!
|
|
618
|
-
!
|
|
653
|
+
if (attribute_1.isTabIndexAttribute(attrName) &&
|
|
654
|
+
!ir_1.isIRExpressionAttribute(propAttr) &&
|
|
655
|
+
!attribute_1.isValidTabIndexAttributeValue(value)) {
|
|
619
656
|
ctx.throwOnIRNode(errors_1.ParserDiagnostics.INVALID_TABINDEX_ATTRIBUTE, element);
|
|
620
657
|
}
|
|
621
658
|
}
|
|
@@ -630,7 +667,7 @@ function parseAttributes(ctx, element, node) {
|
|
|
630
667
|
return parsedAttrs;
|
|
631
668
|
}
|
|
632
669
|
function getTemplateAttribute(ctx, element, attribute) {
|
|
633
|
-
const name =
|
|
670
|
+
const name = attribute_1.attributeName(attribute);
|
|
634
671
|
// Convert attribute name to lowercase because the location map keys follow the algorithm defined in the spec
|
|
635
672
|
// https://wicg.github.io/controls-list/html-output/multipage/syntax.html#attribute-name-state
|
|
636
673
|
const location = element.location.attrs[name.toLowerCase()];
|
|
@@ -645,13 +682,13 @@ function getTemplateAttribute(ctx, element, attribute) {
|
|
|
645
682
|
]);
|
|
646
683
|
}
|
|
647
684
|
const isBooleanAttribute = !rawAttribute.includes('=');
|
|
648
|
-
const { value, escapedExpression } =
|
|
649
|
-
if (
|
|
685
|
+
const { value, escapedExpression } = attribute_1.normalizeAttributeValue(ctx, rawAttribute, tag, attribute, location);
|
|
686
|
+
if (expression_1.isExpression(value) && !escapedExpression) {
|
|
650
687
|
return {
|
|
651
688
|
name,
|
|
652
689
|
location,
|
|
653
690
|
type: types_1.IRAttributeType.Expression,
|
|
654
|
-
value:
|
|
691
|
+
value: expression_1.parseExpression(ctx, value, location),
|
|
655
692
|
};
|
|
656
693
|
}
|
|
657
694
|
else if (isBooleanAttribute) {
|
|
@@ -673,21 +710,21 @@ function getTemplateAttribute(ctx, element, attribute) {
|
|
|
673
710
|
}
|
|
674
711
|
function isInIteration(ctx, element) {
|
|
675
712
|
return ctx.findAncestor({
|
|
676
|
-
predicate: (element) =>
|
|
713
|
+
predicate: (element) => ir_1.isTemplate(element) && (element.forOf || element.forEach),
|
|
677
714
|
element,
|
|
678
715
|
});
|
|
679
716
|
}
|
|
680
717
|
function getForOfParent(ctx) {
|
|
681
718
|
return ctx.findAncestor({
|
|
682
719
|
predicate: (element) => element.forOf,
|
|
683
|
-
traversalCond: ({ current }) =>
|
|
720
|
+
traversalCond: ({ current }) => ir_1.isTemplate(current),
|
|
684
721
|
});
|
|
685
722
|
}
|
|
686
723
|
function getForEachParent(ctx, element) {
|
|
687
724
|
return ctx.findAncestor({
|
|
688
725
|
element,
|
|
689
726
|
predicate: (element) => element.forEach,
|
|
690
|
-
traversalCond: ({ parent }) => parent &&
|
|
727
|
+
traversalCond: ({ parent }) => parent && ir_1.isTemplate(parent),
|
|
691
728
|
});
|
|
692
729
|
}
|
|
693
730
|
function isInIteratorElement(ctx, element) {
|
|
@@ -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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"}
|