@lwc/template-compiler 2.23.6 → 2.25.0
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/README.md +1 -0
- package/dist/commonjs/codegen/codegen.js +2 -0
- package/dist/commonjs/codegen/codegen.js.map +1 -1
- package/dist/commonjs/codegen/helpers.js +20 -17
- package/dist/commonjs/codegen/helpers.js.map +1 -1
- package/dist/commonjs/codegen/index.js +32 -1
- package/dist/commonjs/codegen/index.js.map +1 -1
- package/dist/commonjs/config.js +2 -0
- package/dist/commonjs/config.js.map +1 -1
- package/dist/commonjs/parser/constants.js +3 -11
- package/dist/commonjs/parser/constants.js.map +1 -1
- package/dist/commonjs/parser/index.js +177 -27
- package/dist/commonjs/parser/index.js.map +1 -1
- package/dist/commonjs/parser/parser.js +111 -20
- package/dist/commonjs/parser/parser.js.map +1 -1
- package/dist/commonjs/shared/ast.js +81 -1
- package/dist/commonjs/shared/ast.js.map +1 -1
- package/dist/commonjs/shared/renderer-hooks.js +2 -0
- package/dist/commonjs/shared/renderer-hooks.js.map +1 -1
- package/dist/commonjs/shared/types.js +15 -1
- package/dist/commonjs/shared/types.js.map +1 -1
- package/dist/types/codegen/codegen.d.ts +2 -0
- package/dist/types/codegen/helpers.d.ts +2 -3
- package/dist/types/config.d.ts +4 -0
- package/dist/types/parser/constants.d.ts +0 -9
- package/dist/types/parser/parser.d.ts +30 -12
- package/dist/types/shared/ast.d.ts +20 -7
- package/dist/types/shared/types.d.ts +55 -18
- package/package.json +3 -3
|
@@ -168,13 +168,18 @@ function parseElementLocation(ctx, parse5Elm, parse5ParentLocation) {
|
|
|
168
168
|
}
|
|
169
169
|
function parseElementDirectives(ctx, parsedAttr, parent, parse5ElmLocation) {
|
|
170
170
|
let current;
|
|
171
|
-
const parsers = [
|
|
171
|
+
const parsers = [
|
|
172
|
+
parseIfBlock,
|
|
173
|
+
parseElseifBlock,
|
|
174
|
+
parseElseBlock,
|
|
175
|
+
parseForEach,
|
|
176
|
+
parseForOf,
|
|
177
|
+
parseIf,
|
|
178
|
+
];
|
|
172
179
|
for (const parser of parsers) {
|
|
173
180
|
const prev = current || parent;
|
|
174
|
-
const node = parser(ctx, parsedAttr, parse5ElmLocation);
|
|
181
|
+
const node = parser(ctx, parsedAttr, parse5ElmLocation, prev);
|
|
175
182
|
if (node) {
|
|
176
|
-
ctx.addNodeCurrentScope(node);
|
|
177
|
-
prev.children.push(node);
|
|
178
183
|
current = node;
|
|
179
184
|
}
|
|
180
185
|
}
|
|
@@ -198,7 +203,7 @@ function parseBaseElement(ctx, parsedAttr, parse5Elm, parent, parse5ElmLocation)
|
|
|
198
203
|
}
|
|
199
204
|
}
|
|
200
205
|
if (element) {
|
|
201
|
-
ctx.
|
|
206
|
+
ctx.addNodeCurrentElementScope(element);
|
|
202
207
|
parent.children.push(element);
|
|
203
208
|
}
|
|
204
209
|
return element;
|
|
@@ -206,23 +211,42 @@ function parseBaseElement(ctx, parsedAttr, parse5Elm, parent, parse5ElmLocation)
|
|
|
206
211
|
function parseChildren(ctx, parse5Parent, parent, parse5ParentLocation) {
|
|
207
212
|
var _a;
|
|
208
213
|
const children = ((_a = parse5Utils.getTemplateContent(parse5Parent)) !== null && _a !== void 0 ? _a : parse5Parent).childNodes;
|
|
214
|
+
ctx.beginSiblingScope();
|
|
209
215
|
for (const child of children) {
|
|
210
216
|
ctx.withErrorRecovery(() => {
|
|
211
217
|
if (parse5Utils.isElementNode(child)) {
|
|
212
|
-
ctx.
|
|
218
|
+
ctx.beginElementScope();
|
|
213
219
|
parseElement(ctx, child, parent, parse5ParentLocation);
|
|
214
|
-
|
|
220
|
+
// If we're parsing a chain of if/elseif/else nodes, any node other than
|
|
221
|
+
// an else-if node ends the chain.
|
|
222
|
+
const node = ctx.endElementScope();
|
|
223
|
+
if (node &&
|
|
224
|
+
ctx.isParsingSiblingIfBlock() &&
|
|
225
|
+
!ast.isIfBlock(node) &&
|
|
226
|
+
!ast.isElseifBlock(node)) {
|
|
227
|
+
ctx.endIfChain();
|
|
228
|
+
}
|
|
215
229
|
}
|
|
216
230
|
else if (parse5Utils.isTextNode(child)) {
|
|
217
231
|
const textNodes = parseText(ctx, child);
|
|
218
232
|
parent.children.push(...textNodes);
|
|
233
|
+
// Non whitespace text nodes end any if chain we may be parsing
|
|
234
|
+
if (ctx.isParsingSiblingIfBlock() && textNodes.length > 0) {
|
|
235
|
+
ctx.endIfChain();
|
|
236
|
+
}
|
|
219
237
|
}
|
|
220
238
|
else if (parse5Utils.isCommentNode(child)) {
|
|
221
239
|
const commentNode = parseComment(child);
|
|
222
240
|
parent.children.push(commentNode);
|
|
241
|
+
// If preserveComments is enabled, comments become syntactically meaningful and
|
|
242
|
+
// end any if chain we may be parsing
|
|
243
|
+
if (ctx.isParsingSiblingIfBlock() && ctx.preserveComments) {
|
|
244
|
+
ctx.endIfChain();
|
|
245
|
+
}
|
|
223
246
|
}
|
|
224
247
|
});
|
|
225
248
|
}
|
|
249
|
+
ctx.endSiblingScope();
|
|
226
250
|
}
|
|
227
251
|
function parseText(ctx, parse5Text) {
|
|
228
252
|
const parsedTextNodes = [];
|
|
@@ -298,11 +322,16 @@ function applyHandlers(ctx, parsedAttr, element) {
|
|
|
298
322
|
element.listeners.push(listener);
|
|
299
323
|
}
|
|
300
324
|
}
|
|
301
|
-
function parseIf(ctx, parsedAttr, parse5ElmLocation) {
|
|
325
|
+
function parseIf(ctx, parsedAttr, parse5ElmLocation, parent) {
|
|
302
326
|
const ifAttribute = parsedAttr.pick(constants_2.IF_RE);
|
|
303
327
|
if (!ifAttribute) {
|
|
304
328
|
return;
|
|
305
329
|
}
|
|
330
|
+
// if:true cannot be used with lwc:if, lwc:elseif, lwc:else
|
|
331
|
+
const incompatibleDirective = ctx.findInCurrentElementScope(ast.isConditionalBlock);
|
|
332
|
+
if (incompatibleDirective) {
|
|
333
|
+
ctx.throwAtLocation(errors_1.ParserDiagnostics.LWC_IF_CANNOT_BE_USED_WITH_IF_DIRECTIVE, ast.sourceLocation(parse5ElmLocation), [ifAttribute.name]);
|
|
334
|
+
}
|
|
306
335
|
if (!ast.isExpression(ifAttribute.value)) {
|
|
307
336
|
ctx.throwOnNode(errors_1.ParserDiagnostics.IF_DIRECTIVE_SHOULD_BE_EXPRESSION, ifAttribute);
|
|
308
337
|
}
|
|
@@ -310,7 +339,83 @@ function parseIf(ctx, parsedAttr, parse5ElmLocation) {
|
|
|
310
339
|
if (!constants_2.VALID_IF_MODIFIER.has(modifier)) {
|
|
311
340
|
ctx.throwOnNode(errors_1.ParserDiagnostics.UNEXPECTED_IF_MODIFIER, ifAttribute, [modifier]);
|
|
312
341
|
}
|
|
313
|
-
|
|
342
|
+
const node = ast.ifNode(modifier, ifAttribute.value, ast.sourceLocation(parse5ElmLocation), ifAttribute.location);
|
|
343
|
+
ctx.addNodeCurrentElementScope(node);
|
|
344
|
+
parent.children.push(node);
|
|
345
|
+
return node;
|
|
346
|
+
}
|
|
347
|
+
function parseIfBlock(ctx, parsedAttr, parse5ElmLocation, parent) {
|
|
348
|
+
const ifBlockAttribute = parsedAttr.pick('lwc:if');
|
|
349
|
+
if (!ifBlockAttribute) {
|
|
350
|
+
return;
|
|
351
|
+
}
|
|
352
|
+
if (!ast.isExpression(ifBlockAttribute.value)) {
|
|
353
|
+
ctx.throwOnNode(errors_1.ParserDiagnostics.IF_BLOCK_DIRECTIVE_SHOULD_BE_EXPRESSION, ifBlockAttribute);
|
|
354
|
+
}
|
|
355
|
+
// An if block always starts a new chain.
|
|
356
|
+
if (ctx.isParsingSiblingIfBlock()) {
|
|
357
|
+
ctx.endIfChain();
|
|
358
|
+
}
|
|
359
|
+
const ifNode = ast.ifBlockNode(ifBlockAttribute.value, ast.sourceLocation(parse5ElmLocation), ifBlockAttribute.location);
|
|
360
|
+
ctx.addNodeCurrentElementScope(ifNode);
|
|
361
|
+
ctx.beginIfChain(ifNode);
|
|
362
|
+
parent.children.push(ifNode);
|
|
363
|
+
return ifNode;
|
|
364
|
+
}
|
|
365
|
+
function parseElseifBlock(ctx, parsedAttr, parse5ElmLocation, _) {
|
|
366
|
+
const elseifBlockAttribute = parsedAttr.pick('lwc:elseif');
|
|
367
|
+
if (!elseifBlockAttribute) {
|
|
368
|
+
return;
|
|
369
|
+
}
|
|
370
|
+
const hasIfBlock = ctx.findInCurrentElementScope(ast.isIfBlock);
|
|
371
|
+
if (hasIfBlock) {
|
|
372
|
+
ctx.throwAtLocation(errors_1.ParserDiagnostics.INVALID_IF_BLOCK_DIRECTIVE_WITH_CONDITIONAL, ast.sourceLocation(parse5ElmLocation), [elseifBlockAttribute.name]);
|
|
373
|
+
}
|
|
374
|
+
if (!ast.isExpression(elseifBlockAttribute.value)) {
|
|
375
|
+
ctx.throwOnNode(errors_1.ParserDiagnostics.ELSEIF_BLOCK_DIRECTIVE_SHOULD_BE_EXPRESSION, elseifBlockAttribute);
|
|
376
|
+
}
|
|
377
|
+
const conditionalParent = ctx.getSiblingIfNode();
|
|
378
|
+
if (!conditionalParent || !ast.isConditionalParentBlock(conditionalParent)) {
|
|
379
|
+
ctx.throwAtLocation(errors_1.ParserDiagnostics.LWC_IF_SCOPE_NOT_FOUND, ast.sourceLocation(parse5ElmLocation), [elseifBlockAttribute.name]);
|
|
380
|
+
}
|
|
381
|
+
const elseifNode = ast.elseifBlockNode(elseifBlockAttribute.value, ast.sourceLocation(parse5ElmLocation), elseifBlockAttribute.location);
|
|
382
|
+
// Attach the node as a child of the preceding IfBlock
|
|
383
|
+
ctx.addNodeCurrentElementScope(elseifNode);
|
|
384
|
+
ctx.appendToIfChain(elseifNode);
|
|
385
|
+
conditionalParent.else = elseifNode;
|
|
386
|
+
return elseifNode;
|
|
387
|
+
}
|
|
388
|
+
function parseElseBlock(ctx, parsedAttr, parse5ElmLocation, _) {
|
|
389
|
+
const elseBlockAttribute = parsedAttr.pick('lwc:else');
|
|
390
|
+
if (!elseBlockAttribute) {
|
|
391
|
+
return;
|
|
392
|
+
}
|
|
393
|
+
// Cannot be used with lwc:if on the same element
|
|
394
|
+
const hasIfBlock = ctx.findInCurrentElementScope(ast.isIfBlock);
|
|
395
|
+
if (hasIfBlock) {
|
|
396
|
+
ctx.throwAtLocation(errors_1.ParserDiagnostics.INVALID_IF_BLOCK_DIRECTIVE_WITH_CONDITIONAL, ast.sourceLocation(parse5ElmLocation), [elseBlockAttribute.name]);
|
|
397
|
+
}
|
|
398
|
+
// Cannot be used with lwc:elseif on the same element
|
|
399
|
+
const hasElseifBlock = ctx.findInCurrentElementScope(ast.isElseifBlock);
|
|
400
|
+
if (hasElseifBlock) {
|
|
401
|
+
ctx.throwAtLocation(errors_1.ParserDiagnostics.INVALID_ELSEIF_BLOCK_DIRECTIVE_WITH_CONDITIONAL, ast.sourceLocation(parse5ElmLocation), [elseBlockAttribute.name]);
|
|
402
|
+
}
|
|
403
|
+
// Must be used immediately after an lwc:if or lwc:elseif
|
|
404
|
+
const conditionalParent = ctx.getSiblingIfNode();
|
|
405
|
+
if (!conditionalParent || !ast.isConditionalParentBlock(conditionalParent)) {
|
|
406
|
+
ctx.throwAtLocation(errors_1.ParserDiagnostics.LWC_IF_SCOPE_NOT_FOUND, ast.sourceLocation(parse5ElmLocation), [elseBlockAttribute.name]);
|
|
407
|
+
}
|
|
408
|
+
// Must not have a value
|
|
409
|
+
if (!ast.isBooleanLiteral(elseBlockAttribute.value)) {
|
|
410
|
+
ctx.throwAtLocation(errors_1.ParserDiagnostics.ELSE_BLOCK_DIRECTIVE_CANNOT_HAVE_VALUE, ast.sourceLocation(parse5ElmLocation));
|
|
411
|
+
}
|
|
412
|
+
const elseNode = ast.elseBlockNode(ast.sourceLocation(parse5ElmLocation), elseBlockAttribute.location);
|
|
413
|
+
// Attach the node as a child of the preceding IfBlock
|
|
414
|
+
ctx.addNodeCurrentElementScope(elseNode);
|
|
415
|
+
// Avoid ending the if-chain until we finish parsing all children
|
|
416
|
+
ctx.appendToIfChain(elseNode);
|
|
417
|
+
conditionalParent.else = elseNode;
|
|
418
|
+
return elseNode;
|
|
314
419
|
}
|
|
315
420
|
function applyRootLwcDirectives(ctx, parsedAttr, root) {
|
|
316
421
|
const lwcAttribute = parsedAttr.get(constants_2.LWC_RE);
|
|
@@ -321,7 +426,7 @@ function applyRootLwcDirectives(ctx, parsedAttr, root) {
|
|
|
321
426
|
applyLwcPreserveCommentsDirective(ctx, parsedAttr, root);
|
|
322
427
|
}
|
|
323
428
|
function applyLwcRenderModeDirective(ctx, parsedAttr, root) {
|
|
324
|
-
const lwcRenderModeAttribute = parsedAttr.pick(
|
|
429
|
+
const lwcRenderModeAttribute = parsedAttr.pick(types_1.RootDirectiveName.RenderMode);
|
|
325
430
|
if (!lwcRenderModeAttribute) {
|
|
326
431
|
return;
|
|
327
432
|
}
|
|
@@ -334,7 +439,7 @@ function applyLwcRenderModeDirective(ctx, parsedAttr, root) {
|
|
|
334
439
|
root.directives.push(ast.renderModeDirective(renderDomAttr.value, lwcRenderModeAttribute.location));
|
|
335
440
|
}
|
|
336
441
|
function applyLwcPreserveCommentsDirective(ctx, parsedAttr, root) {
|
|
337
|
-
const lwcPreserveCommentAttribute = parsedAttr.pick(
|
|
442
|
+
const lwcPreserveCommentAttribute = parsedAttr.pick(types_1.RootDirectiveName.PreserveComments);
|
|
338
443
|
if (!lwcPreserveCommentAttribute) {
|
|
339
444
|
return;
|
|
340
445
|
}
|
|
@@ -356,25 +461,42 @@ function applyLwcDirectives(ctx, parsedAttr, element) {
|
|
|
356
461
|
]);
|
|
357
462
|
}
|
|
358
463
|
// Should not allow render mode or preserve comments on non root nodes
|
|
359
|
-
if (parsedAttr.get(
|
|
464
|
+
if (parsedAttr.get(types_1.RootDirectiveName.RenderMode)) {
|
|
360
465
|
ctx.throwOnNode(errors_1.ParserDiagnostics.UNKNOWN_LWC_DIRECTIVE, element, [
|
|
361
|
-
|
|
466
|
+
types_1.RootDirectiveName.RenderMode,
|
|
362
467
|
`<${element.name}>`,
|
|
363
468
|
]);
|
|
364
469
|
}
|
|
365
|
-
if (parsedAttr.get(
|
|
470
|
+
if (parsedAttr.get(types_1.RootDirectiveName.PreserveComments)) {
|
|
366
471
|
ctx.throwOnNode(errors_1.ParserDiagnostics.UNKNOWN_LWC_DIRECTIVE, element, [
|
|
367
|
-
|
|
472
|
+
types_1.RootDirectiveName.PreserveComments,
|
|
368
473
|
`<${element.name}>`,
|
|
369
474
|
]);
|
|
370
475
|
}
|
|
371
476
|
applyLwcDynamicDirective(ctx, parsedAttr, element);
|
|
372
477
|
applyLwcDomDirective(ctx, parsedAttr, element);
|
|
373
478
|
applyLwcInnerHtmlDirective(ctx, parsedAttr, element);
|
|
479
|
+
applyRefDirective(ctx, parsedAttr, element);
|
|
480
|
+
applyLwcSpreadDirective(ctx, parsedAttr, element);
|
|
481
|
+
}
|
|
482
|
+
function applyLwcSpreadDirective(ctx, parsedAttr, element) {
|
|
483
|
+
const { name: tag } = element;
|
|
484
|
+
const lwcSpread = parsedAttr.pick(types_1.ElementDirectiveName.Spread);
|
|
485
|
+
if (!lwcSpread) {
|
|
486
|
+
return;
|
|
487
|
+
}
|
|
488
|
+
if (!ctx.config.enableLwcSpread) {
|
|
489
|
+
ctx.throwOnNode(errors_1.ParserDiagnostics.INVALID_OPTS_LWC_SPREAD, element);
|
|
490
|
+
}
|
|
491
|
+
const { value: lwcSpreadAttr } = lwcSpread;
|
|
492
|
+
if (!ast.isExpression(lwcSpreadAttr)) {
|
|
493
|
+
ctx.throwOnNode(errors_1.ParserDiagnostics.INVALID_LWC_SPREAD_LITERAL_PROP, element, [`<${tag}>`]);
|
|
494
|
+
}
|
|
495
|
+
element.directives.push(ast.spreadDirective(lwcSpreadAttr, lwcSpreadAttr.location));
|
|
374
496
|
}
|
|
375
497
|
function applyLwcDynamicDirective(ctx, parsedAttr, element) {
|
|
376
498
|
const { name: tag } = element;
|
|
377
|
-
const lwcDynamicAttribute = parsedAttr.pick(
|
|
499
|
+
const lwcDynamicAttribute = parsedAttr.pick(types_1.ElementDirectiveName.Dynamic);
|
|
378
500
|
if (!lwcDynamicAttribute) {
|
|
379
501
|
return;
|
|
380
502
|
}
|
|
@@ -417,7 +539,7 @@ function applyLwcDomDirective(ctx, parsedAttr, element) {
|
|
|
417
539
|
element.directives.push(ast.domDirective(lwcDomAttr.value, lwcDomAttribute.location));
|
|
418
540
|
}
|
|
419
541
|
function applyLwcInnerHtmlDirective(ctx, parsedAttr, element) {
|
|
420
|
-
const lwcInnerHtmlDirective = parsedAttr.pick(
|
|
542
|
+
const lwcInnerHtmlDirective = parsedAttr.pick(types_1.ElementDirectiveName.InnerHTML);
|
|
421
543
|
if (!lwcInnerHtmlDirective) {
|
|
422
544
|
return;
|
|
423
545
|
}
|
|
@@ -439,7 +561,26 @@ function applyLwcInnerHtmlDirective(ctx, parsedAttr, element) {
|
|
|
439
561
|
}
|
|
440
562
|
element.directives.push(ast.innerHTMLDirective(innerHTMLVal, lwcInnerHtmlDirective.location));
|
|
441
563
|
}
|
|
442
|
-
function
|
|
564
|
+
function applyRefDirective(ctx, parsedAttr, element) {
|
|
565
|
+
const lwcRefDirective = parsedAttr.pick(types_1.ElementDirectiveName.Ref);
|
|
566
|
+
if (!lwcRefDirective) {
|
|
567
|
+
return;
|
|
568
|
+
}
|
|
569
|
+
if (ast.isSlot(element)) {
|
|
570
|
+
ctx.throwOnNode(errors_1.ParserDiagnostics.LWC_REF_INVALID_ELEMENT, element, [`<${element.name}>`]);
|
|
571
|
+
}
|
|
572
|
+
if (isInIteration(ctx)) {
|
|
573
|
+
ctx.throwOnNode(errors_1.ParserDiagnostics.LWC_REF_INVALID_LOCATION_INSIDE_ITERATION, element, [
|
|
574
|
+
`<${element.name}>`,
|
|
575
|
+
]);
|
|
576
|
+
}
|
|
577
|
+
const { value: refName } = lwcRefDirective;
|
|
578
|
+
if (!ast.isStringLiteral(refName) || refName.value.length === 0) {
|
|
579
|
+
ctx.throwOnNode(errors_1.ParserDiagnostics.LWC_REF_INVALID_VALUE, element, [`<${element.name}>`]);
|
|
580
|
+
}
|
|
581
|
+
element.directives.push(ast.refDirective(refName, lwcRefDirective.location));
|
|
582
|
+
}
|
|
583
|
+
function parseForEach(ctx, parsedAttr, parse5ElmLocation, parent) {
|
|
443
584
|
const forEachAttribute = parsedAttr.pick('for:each');
|
|
444
585
|
const forItemAttribute = parsedAttr.pick('for:item');
|
|
445
586
|
const forIndex = parsedAttr.pick('for:index');
|
|
@@ -460,18 +601,21 @@ function parseForEach(ctx, parsedAttr, parse5ElmLocation) {
|
|
|
460
601
|
}
|
|
461
602
|
index = (0, expression_1.parseIdentifier)(ctx, forIndexValue.value, forIndex.location);
|
|
462
603
|
}
|
|
463
|
-
|
|
604
|
+
const node = ast.forEach(forEachAttribute.value, ast.sourceLocation(parse5ElmLocation), forEachAttribute.location, item, index);
|
|
605
|
+
ctx.addNodeCurrentElementScope(node);
|
|
606
|
+
parent.children.push(node);
|
|
607
|
+
return node;
|
|
464
608
|
}
|
|
465
609
|
else if (forEachAttribute || forItemAttribute) {
|
|
466
610
|
ctx.throwAtLocation(errors_1.ParserDiagnostics.FOR_EACH_AND_FOR_ITEM_DIRECTIVES_SHOULD_BE_TOGETHER, ast.sourceLocation(parse5ElmLocation));
|
|
467
611
|
}
|
|
468
612
|
}
|
|
469
|
-
function parseForOf(ctx, parsedAttr, parse5ElmLocation) {
|
|
613
|
+
function parseForOf(ctx, parsedAttr, parse5ElmLocation, parent) {
|
|
470
614
|
const iteratorExpression = parsedAttr.pick(constants_2.ITERATOR_RE);
|
|
471
615
|
if (!iteratorExpression) {
|
|
472
616
|
return;
|
|
473
617
|
}
|
|
474
|
-
const hasForEach = ctx.
|
|
618
|
+
const hasForEach = ctx.findInCurrentElementScope(ast.isForEach);
|
|
475
619
|
if (hasForEach) {
|
|
476
620
|
ctx.throwAtLocation(errors_1.ParserDiagnostics.INVALID_FOR_EACH_WITH_ITERATOR, ast.sourceLocation(parse5ElmLocation), [iteratorExpression.name]);
|
|
477
621
|
}
|
|
@@ -483,11 +627,14 @@ function parseForOf(ctx, parsedAttr, parse5ElmLocation) {
|
|
|
483
627
|
]);
|
|
484
628
|
}
|
|
485
629
|
const iterator = (0, expression_1.parseIdentifier)(ctx, iteratorName, iteratorExpression.location);
|
|
486
|
-
|
|
630
|
+
const node = ast.forOf(iteratorExpression.value, iterator, ast.sourceLocation(parse5ElmLocation), iteratorExpression.location);
|
|
631
|
+
ctx.addNodeCurrentElementScope(node);
|
|
632
|
+
parent.children.push(node);
|
|
633
|
+
return node;
|
|
487
634
|
}
|
|
488
635
|
function applyKey(ctx, parsedAttr, element) {
|
|
489
636
|
const { name: tag } = element;
|
|
490
|
-
const keyAttribute = parsedAttr.pick(
|
|
637
|
+
const keyAttribute = parsedAttr.pick(types_1.ElementDirectiveName.Key);
|
|
491
638
|
if (keyAttribute) {
|
|
492
639
|
if (!ast.isExpression(keyAttribute.value)) {
|
|
493
640
|
ctx.throwOnNode(errors_1.ParserDiagnostics.KEY_ATTRIBUTE_SHOULD_BE_EXPRESSION, keyAttribute);
|
|
@@ -518,7 +665,7 @@ function applyKey(ctx, parsedAttr, element) {
|
|
|
518
665
|
}
|
|
519
666
|
function parseSlot(ctx, parsedAttr, parse5ElmLocation) {
|
|
520
667
|
const location = ast.sourceLocation(parse5ElmLocation);
|
|
521
|
-
const hasDirectives = ctx.
|
|
668
|
+
const hasDirectives = ctx.findInCurrentElementScope(ast.isElementDirective);
|
|
522
669
|
if (hasDirectives) {
|
|
523
670
|
ctx.throwAtLocation(errors_1.ParserDiagnostics.SLOT_TAG_CANNOT_HAVE_DIRECTIVES, location);
|
|
524
671
|
}
|
|
@@ -550,8 +697,8 @@ function parseSlot(ctx, parsedAttr, parse5ElmLocation) {
|
|
|
550
697
|
name = nameAttribute.value.value;
|
|
551
698
|
}
|
|
552
699
|
}
|
|
553
|
-
const alreadySeen = ctx.
|
|
554
|
-
ctx.
|
|
700
|
+
const alreadySeen = ctx.hasSeenSlot(name);
|
|
701
|
+
ctx.addSeenSlot(name);
|
|
555
702
|
if (alreadySeen) {
|
|
556
703
|
ctx.warnAtLocation(errors_1.ParserDiagnostics.NO_DUPLICATE_SLOTS, location, [
|
|
557
704
|
name === '' ? 'default' : `name="${name}"`,
|
|
@@ -681,11 +828,14 @@ function validateTemplate(ctx, parsedAttr, template, parse5ElmLocation) {
|
|
|
681
828
|
if (!template.attrs.length) {
|
|
682
829
|
ctx.throwAtLocation(errors_1.ParserDiagnostics.NO_DIRECTIVE_FOUND_ON_TEMPLATE, location);
|
|
683
830
|
}
|
|
684
|
-
if (parsedAttr.get(
|
|
831
|
+
if (parsedAttr.get(types_1.ElementDirectiveName.InnerHTML)) {
|
|
685
832
|
ctx.throwAtLocation(errors_1.ParserDiagnostics.LWC_INNER_HTML_INVALID_ELEMENT, location, [
|
|
686
833
|
'<template>',
|
|
687
834
|
]);
|
|
688
835
|
}
|
|
836
|
+
if (parsedAttr.get(types_1.ElementDirectiveName.Ref)) {
|
|
837
|
+
ctx.throwAtLocation(errors_1.ParserDiagnostics.LWC_REF_INVALID_ELEMENT, location, ['<template>']);
|
|
838
|
+
}
|
|
689
839
|
// At this point in the parsing all supported attributes from a non root template element
|
|
690
840
|
// should have been removed from ParsedAttribute and all other attributes will be ignored.
|
|
691
841
|
const invalidTemplateAttributes = parsedAttr.getAttributes();
|
|
@@ -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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"}
|