eslint-plugin-templ 0.0.2 → 0.0.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"templ-ast-to-eslint-ast.d.ts","sourceRoot":"","sources":["../src/templ-ast-to-eslint-ast.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAUV,YAAY,EAab,MAAM,gBAAgB,CAAC;AAGxB,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EAEd,UAAU,EASX,MAAM,gBAAgB,CAAC;AAExB;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,YAAY,CAoDnE;AAwmBD,qBAAa,uBAAwB,SAAQ,WAAW;IAC7C,IAAI,SAA6B;IAE1C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,UAAU,GAAG,cAAc,CAAC;gBAGhC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,UAAU,GAAG,cAAc,EACjC,OAAO,CAAC,EAAE,YAAY;CAezB"}
1
+ {"version":3,"file":"templ-ast-to-eslint-ast.d.ts","sourceRoot":"","sources":["../src/templ-ast-to-eslint-ast.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAUV,YAAY,EAab,MAAM,gBAAgB,CAAC;AAGxB,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EAGd,UAAU,EAUX,MAAM,gBAAgB,CAAC;AAExB;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,YAAY,CAoDnE;AAqwBD,qBAAa,uBAAwB,SAAQ,WAAW;IAC7C,IAAI,SAA6B;IAE1C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,UAAU,GAAG,cAAc,CAAC;gBAGhC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,UAAU,GAAG,cAAc,EACjC,OAAO,CAAC,EAAE,YAAY;CAezB"}
@@ -81,6 +81,8 @@ function convertChild(child) {
81
81
  loc: convertLoc(child.Expression.Range),
82
82
  parts: [],
83
83
  };
84
+ case "Fallthrough":
85
+ return null;
84
86
  default:
85
87
  // Ignore Go expressions, call expressions, control flow, etc.
86
88
  return null;
@@ -124,7 +126,7 @@ function createTrailingSpaceNode(node) {
124
126
  };
125
127
  }
126
128
  function getElementEndPosition(node) {
127
- return node.CloseTagRange ? node.CloseTagRange.To : node.OpenTagEndRange.To;
129
+ return node.CloseTagRange ? node.CloseTagRange.To : node.OpenTagRange.To;
128
130
  }
129
131
  function getElementRange(node) {
130
132
  return {
@@ -132,6 +134,18 @@ function getElementRange(node) {
132
134
  To: getElementEndPosition(node),
133
135
  };
134
136
  }
137
+ function getOpenTagEndRange(node) {
138
+ const end = node.OpenTagRange.To;
139
+ const startOffset = node.SelfClosing ? -2 : -1;
140
+ return {
141
+ From: {
142
+ Index: end.Index + startOffset,
143
+ Line: end.Line,
144
+ Col: end.Col + startOffset,
145
+ },
146
+ To: end,
147
+ };
148
+ }
135
149
  function convertDocType(node) {
136
150
  // templ fmt always writes uppercase <!DOCTYPE, so we hardcode it here.
137
151
  // The html/lowercase rule is disabled in the recommended config to match.
@@ -182,11 +196,12 @@ function convertElement(node) {
182
196
  To: node.NameRange.To,
183
197
  }),
184
198
  };
199
+ const openTagEndRange = getOpenTagEndRange(node);
185
200
  const openEnd = {
186
201
  type: NodeTypes.OpenTagEnd,
187
202
  value: node.SelfClosing ? "/>" : ">",
188
- range: convertRange(node.OpenTagEndRange),
189
- loc: convertLoc(node.OpenTagEndRange),
203
+ range: convertRange(openTagEndRange),
204
+ loc: convertLoc(openTagEndRange),
190
205
  };
191
206
  let closeRange;
192
207
  let closeLoc;
@@ -258,9 +273,9 @@ function convertElement(node) {
258
273
  loc,
259
274
  };
260
275
  }
261
- function getContentRange(openTagEndRange, closeTagRange) {
276
+ function getContentRange(openTagRange, closeTagRange) {
262
277
  return {
263
- From: openTagEndRange.To,
278
+ From: openTagRange.To,
264
279
  To: closeTagRange.From,
265
280
  };
266
281
  }
@@ -268,7 +283,7 @@ function convertScriptElement(node) {
268
283
  const range = convertRange(node.Range);
269
284
  const loc = convertLoc(node.Range);
270
285
  const scriptOpenStartRange = getLiteralRange(node.OpenTagRange.From, "<script");
271
- const contentRange = getContentRange(node.OpenTagEndRange, node.CloseTagRange);
286
+ const contentRange = getContentRange(node.OpenTagRange, node.CloseTagRange);
272
287
  // Extract text content from script element
273
288
  const scriptContents = node.Contents ?? [];
274
289
  const textContent = scriptContents
@@ -280,11 +295,12 @@ function convertScriptElement(node) {
280
295
  range: convertRange(scriptOpenStartRange),
281
296
  loc: convertLoc(scriptOpenStartRange),
282
297
  };
298
+ const openTagEndRange = getOpenTagEndRange(node);
283
299
  const openEnd = {
284
300
  type: NodeTypes.OpenScriptTagEnd,
285
301
  value: ">",
286
- range: convertRange(node.OpenTagEndRange),
287
- loc: convertLoc(node.OpenTagEndRange),
302
+ range: convertRange(openTagEndRange),
303
+ loc: convertLoc(openTagEndRange),
288
304
  };
289
305
  const close = {
290
306
  type: NodeTypes.CloseScriptTag,
@@ -317,7 +333,8 @@ function convertRawElement(node) {
317
333
  const range = convertRange(node.Range);
318
334
  const loc = convertLoc(node.Range);
319
335
  const lowerName = node.Name.toLowerCase();
320
- const contentRange = getContentRange(node.OpenTagEndRange, node.CloseTagRange);
336
+ const contentRange = getContentRange(node.OpenTagRange, node.CloseTagRange);
337
+ const openTagEndRange = getOpenTagEndRange(node);
321
338
  if (lowerName === "style") {
322
339
  const openStart = {
323
340
  type: NodeTypes.OpenStyleTagStart,
@@ -334,8 +351,8 @@ function convertRawElement(node) {
334
351
  const openEnd = {
335
352
  type: NodeTypes.OpenStyleTagEnd,
336
353
  value: ">",
337
- range: convertRange(node.OpenTagEndRange),
338
- loc: convertLoc(node.OpenTagEndRange),
354
+ range: convertRange(openTagEndRange),
355
+ loc: convertLoc(openTagEndRange),
339
356
  };
340
357
  const close = {
341
358
  type: NodeTypes.CloseStyleTag,
@@ -379,8 +396,8 @@ function convertRawElement(node) {
379
396
  const openEnd = {
380
397
  type: NodeTypes.OpenTagEnd,
381
398
  value: ">",
382
- range: convertRange(node.OpenTagEndRange),
383
- loc: convertLoc(node.OpenTagEndRange),
399
+ range: convertRange(openTagEndRange),
400
+ loc: convertLoc(openTagEndRange),
384
401
  };
385
402
  const close = {
386
403
  type: NodeTypes.CloseTag,
@@ -409,16 +426,26 @@ function convertAttributes(attrs) {
409
426
  const converted = [];
410
427
  for (const attr of attrs) {
411
428
  switch (attr.type) {
412
- case "ConditionalAttribute":
413
- converted.push(...convertAttributes(attr.Then));
429
+ case "ConditionalAttribute": {
430
+ // Branches are mutually exclusive at render. Emit all of Then plus any Else key not already present, so unique
431
+ // attrs stay visible to rules without triggering duplicate-key false positives.
432
+ const thenAttrs = convertAttributes(attr.Then);
433
+ converted.push(...thenAttrs);
414
434
  if (attr.Else) {
415
- converted.push(...convertAttributes(attr.Else));
435
+ const thenKeys = new Set(thenAttrs.map((a) => a.key.value.toLowerCase()));
436
+ for (const elseAttr of convertAttributes(attr.Else)) {
437
+ if (!thenKeys.has(elseAttr.key.value.toLowerCase())) {
438
+ converted.push(elseAttr);
439
+ }
440
+ }
416
441
  }
417
442
  break;
443
+ }
418
444
  case "SpreadAttributes":
419
445
  // Spread attributes cannot be represented in the ESLint HTML AST.
420
446
  break;
421
447
  case "BoolConstantAttribute":
448
+ case "BoolExpressionAttribute":
422
449
  case "ConstantAttribute":
423
450
  case "ExpressionAttribute":
424
451
  if (attr.Key.type !== "ConstantAttributeKey") {
@@ -441,11 +468,22 @@ function convertAttribute(attr) {
441
468
  if (attr.Key.type !== "ConstantAttributeKey") {
442
469
  throw new Error("Expression-based attribute keys are not supported in ESLint conversion");
443
470
  }
444
- const keyRange = convertRange(attr.Key.NameRange);
445
- const keyLoc = convertLoc(attr.Key.NameRange);
471
+ // Bake the trailing `?` into the key so html-eslint's open-tag reconstruction (which hardcodes `=`) emits
472
+ // `key?={ expr }` rather than stripping the marker. Other rules then see `key?` as distinct from `key`,
473
+ // matching templ semantics — a boolean-expression attribute is a different construct from a plain bool.
474
+ const isBoolExpr = attr.type === "BoolExpressionAttribute";
475
+ const keyNameRange = isBoolExpr
476
+ ? {
477
+ From: attr.Key.NameRange.From,
478
+ To: offsetPosition(attr.Key.NameRange.To, 1),
479
+ }
480
+ : attr.Key.NameRange;
481
+ const keyRange = convertRange(keyNameRange);
482
+ const keyLoc = convertLoc(keyNameRange);
483
+ const keyValue = isBoolExpr ? `${attr.Key.Name}?` : attr.Key.Name;
446
484
  const key = {
447
485
  type: NodeTypes.AttributeKey,
448
- value: attr.Key.Name,
486
+ value: keyValue,
449
487
  range: keyRange,
450
488
  loc: keyLoc,
451
489
  parts: [],
@@ -465,13 +503,13 @@ function convertAttribute(attr) {
465
503
  ({ startWrapper, endWrapper } = createAttributeValueWrappers(attr));
466
504
  break;
467
505
  case "ExpressionAttribute":
468
- value = {
469
- type: NodeTypes.AttributeValue,
470
- value: "",
471
- range: convertRange(attr.InitializerRange),
472
- loc: convertLoc(attr.InitializerRange),
473
- parts: [],
474
- };
506
+ value = createDynamicAttributeValue(attr.AttributeStartRange, attr.Expression);
507
+ ({ startWrapper, endWrapper } = createExpressionAttributeWrappers(attr.AttributeStartRange, attr.Expression.Range));
508
+ break;
509
+ case "BoolExpressionAttribute":
510
+ value = createDynamicAttributeValue(getBoolExpressionAttributeValueRange(attr), attr.Expression);
511
+ ({ startWrapper, endWrapper } =
512
+ createBoolExpressionAttributeWrappers(attr));
475
513
  break;
476
514
  case "BoolConstantAttribute":
477
515
  // Boolean attributes have no value
@@ -491,6 +529,62 @@ function convertAttribute(attr) {
491
529
  loc: hasValue ? convertLoc(attr.Range) : keyLoc,
492
530
  };
493
531
  }
532
+ // Wrappers expose the braces around an expression-attribute value so rules that reconstruct the open tag
533
+ // from key + wrappers + value keep the braces instead of stripping them.
534
+ function createExpressionAttributeWrappers(attributeStartRange, expressionRange) {
535
+ // Skip the leading `=` because html-eslint's reconstruction supplies it between key and startWrapper.
536
+ const startRange = {
537
+ From: offsetPosition(attributeStartRange.From, 1),
538
+ To: expressionRange.From,
539
+ };
540
+ const endRange = {
541
+ From: expressionRange.To,
542
+ To: attributeStartRange.To,
543
+ };
544
+ return {
545
+ startWrapper: {
546
+ type: NodeTypes.AttributeValueWrapperStart,
547
+ value: "{ ",
548
+ range: convertRange(startRange),
549
+ loc: convertLoc(startRange),
550
+ },
551
+ endWrapper: {
552
+ type: NodeTypes.AttributeValueWrapperEnd,
553
+ value: " }",
554
+ range: convertRange(endRange),
555
+ loc: convertLoc(endRange),
556
+ },
557
+ };
558
+ }
559
+ // Wrappers cover only `{ ` and ` }` — the `?` lives in the key (see convertAttribute) and the `=` is rule-supplied,
560
+ // so reconstruction yields `key?={ expr }`.
561
+ function createBoolExpressionAttributeWrappers(attr) {
562
+ if (attr.Key.type !== "ConstantAttributeKey") {
563
+ throw new Error("Expression-based attribute keys are not supported in ESLint conversion");
564
+ }
565
+ const startRange = {
566
+ From: offsetPosition(attr.Expression.Range.From, -2),
567
+ To: attr.Expression.Range.From,
568
+ };
569
+ const endRange = {
570
+ From: attr.Expression.Range.To,
571
+ To: attr.Range.To,
572
+ };
573
+ return {
574
+ startWrapper: {
575
+ type: NodeTypes.AttributeValueWrapperStart,
576
+ value: "{ ",
577
+ range: convertRange(startRange),
578
+ loc: convertLoc(startRange),
579
+ },
580
+ endWrapper: {
581
+ type: NodeTypes.AttributeValueWrapperEnd,
582
+ value: " }",
583
+ range: convertRange(endRange),
584
+ loc: convertLoc(endRange),
585
+ },
586
+ };
587
+ }
494
588
  function createAttributeValueWrappers(attr) {
495
589
  const attrRange = convertRange(attr.Range);
496
590
  const valueRange = convertRange(attr.ValueRange);
@@ -521,6 +615,31 @@ function createAttributeValueWrappers(attr) {
521
615
  },
522
616
  };
523
617
  }
618
+ function createDynamicAttributeValue(range, expression) {
619
+ const templatePart = {
620
+ type: NodeTypes.Template,
621
+ partOf: NodeTypes.AttributeValue,
622
+ value: expression.Value,
623
+ range: convertRange(expression.Range),
624
+ loc: convertLoc(expression.Range),
625
+ };
626
+ return {
627
+ type: NodeTypes.AttributeValue,
628
+ value: expression.Value,
629
+ range: convertRange(range),
630
+ loc: convertLoc(range),
631
+ parts: [templatePart],
632
+ };
633
+ }
634
+ function getBoolExpressionAttributeValueRange(attr) {
635
+ if (attr.Key.type !== "ConstantAttributeKey") {
636
+ throw new Error("Expression-based attribute keys are not supported in ESLint conversion");
637
+ }
638
+ return {
639
+ From: attr.Key.NameRange.To,
640
+ To: attr.Range.To,
641
+ };
642
+ }
524
643
  function convertLoc(range) {
525
644
  return {
526
645
  start: convertPosition(range.From),
@@ -1 +1 @@
1
- {"version":3,"file":"templ-ast-to-eslint-ast.js","sourceRoot":"","sources":["../src/templ-ast-to-eslint-ast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templ-ast-to-eslint-ast.js","sourceRoot":"","sources":["../src/templ-ast-to-eslint-ast.ts"],"names":[],"mappings":"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"}