@herb-tools/linter 0.6.0 → 0.7.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 +60 -16
- package/dist/herb-lint.js +1684 -295
- package/dist/herb-lint.js.map +1 -1
- package/dist/index.cjs +1226 -158
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1188 -160
- package/dist/index.js.map +1 -1
- package/dist/package.json +11 -4
- package/dist/src/cli/argument-parser.js +11 -6
- package/dist/src/cli/argument-parser.js.map +1 -1
- package/dist/src/cli/file-processor.js +5 -6
- package/dist/src/cli/file-processor.js.map +1 -1
- package/dist/src/cli/formatters/detailed-formatter.js +3 -5
- package/dist/src/cli/formatters/detailed-formatter.js.map +1 -1
- package/dist/src/cli/formatters/github-actions-formatter.js +55 -11
- package/dist/src/cli/formatters/github-actions-formatter.js.map +1 -1
- package/dist/src/cli/index.js +1 -0
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/cli/output-manager.js +23 -5
- package/dist/src/cli/output-manager.js.map +1 -1
- package/dist/src/cli/summary-reporter.js +2 -11
- package/dist/src/cli/summary-reporter.js.map +1 -1
- package/dist/src/cli.js +88 -4
- package/dist/src/cli.js.map +1 -1
- package/dist/src/default-rules.js +8 -4
- package/dist/src/default-rules.js.map +1 -1
- package/dist/src/linter.js.map +1 -1
- package/dist/src/rules/erb-prefer-image-tag-helper.js +50 -60
- package/dist/src/rules/erb-prefer-image-tag-helper.js.map +1 -1
- package/dist/src/rules/html-boolean-attributes-no-value.js +8 -8
- package/dist/src/rules/html-boolean-attributes-no-value.js.map +1 -1
- package/dist/src/rules/html-no-duplicate-ids.js +134 -9
- package/dist/src/rules/html-no-duplicate-ids.js.map +1 -1
- package/dist/src/rules/html-no-empty-attributes.js +56 -0
- package/dist/src/rules/html-no-empty-attributes.js.map +1 -0
- package/dist/src/rules/html-no-positive-tab-index.js +1 -1
- package/dist/src/rules/html-no-positive-tab-index.js.map +1 -1
- package/dist/src/rules/html-no-self-closing.js +12 -5
- package/dist/src/rules/html-no-self-closing.js.map +1 -1
- package/dist/src/rules/html-no-underscores-in-attribute-names.js +36 -0
- package/dist/src/rules/html-no-underscores-in-attribute-names.js.map +1 -0
- package/dist/src/rules/index.js +3 -0
- package/dist/src/rules/index.js.map +1 -1
- package/dist/src/rules/rule-utils.js +80 -7
- package/dist/src/rules/rule-utils.js.map +1 -1
- package/dist/src/rules/svg-tag-name-capitalization.js +2 -2
- package/dist/src/rules/svg-tag-name-capitalization.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/cli/argument-parser.d.ts +2 -1
- package/dist/types/cli/file-processor.d.ts +6 -1
- package/dist/types/cli/formatters/github-actions-formatter.d.ts +6 -1
- package/dist/types/cli/index.d.ts +1 -0
- package/dist/types/cli/output-manager.d.ts +1 -0
- package/dist/types/cli.d.ts +20 -5
- package/dist/types/linter.d.ts +7 -7
- package/dist/types/rules/html-no-empty-attributes.d.ts +7 -0
- package/dist/types/rules/html-no-underscores-in-attribute-names.d.ts +7 -0
- package/dist/types/rules/index.d.ts +3 -0
- package/dist/types/rules/rule-utils.d.ts +46 -5
- package/dist/types/src/cli/argument-parser.d.ts +2 -1
- package/dist/types/src/cli/file-processor.d.ts +6 -1
- package/dist/types/src/cli/formatters/github-actions-formatter.d.ts +6 -1
- package/dist/types/src/cli/index.d.ts +1 -0
- package/dist/types/src/cli/output-manager.d.ts +1 -0
- package/dist/types/src/cli.d.ts +20 -5
- package/dist/types/src/linter.d.ts +7 -7
- package/dist/types/src/rules/html-no-empty-attributes.d.ts +7 -0
- package/dist/types/src/rules/html-no-underscores-in-attribute-names.d.ts +7 -0
- package/dist/types/src/rules/index.d.ts +3 -0
- package/dist/types/src/rules/rule-utils.d.ts +46 -5
- package/docs/rules/README.md +2 -0
- package/docs/rules/html-img-require-alt.md +0 -2
- package/docs/rules/html-no-empty-attributes.md +77 -0
- package/docs/rules/html-no-underscores-in-attribute-names.md +45 -0
- package/package.json +11 -4
- package/src/cli/argument-parser.ts +15 -7
- package/src/cli/file-processor.ts +11 -7
- package/src/cli/formatters/detailed-formatter.ts +5 -7
- package/src/cli/formatters/github-actions-formatter.ts +64 -11
- package/src/cli/index.ts +2 -0
- package/src/cli/output-manager.ts +27 -5
- package/src/cli/summary-reporter.ts +3 -11
- package/src/cli.ts +125 -20
- package/src/default-rules.ts +8 -4
- package/src/linter.ts +6 -6
- package/src/rules/erb-no-silent-tag-in-attribute-name.ts +1 -1
- package/src/rules/erb-prefer-image-tag-helper.ts +53 -71
- package/src/rules/erb-require-whitespace-inside-tags.ts +2 -2
- package/src/rules/html-attribute-double-quotes.ts +1 -1
- package/src/rules/html-boolean-attributes-no-value.ts +9 -11
- package/src/rules/html-no-duplicate-ids.ts +188 -14
- package/src/rules/html-no-empty-attributes.ts +75 -0
- package/src/rules/html-no-positive-tab-index.ts +1 -1
- package/src/rules/html-no-self-closing.ts +13 -8
- package/src/rules/html-no-underscores-in-attribute-names.ts +58 -0
- package/src/rules/html-tag-name-lowercase.ts +1 -1
- package/src/rules/index.ts +3 -0
- package/src/rules/rule-utils.ts +110 -9
- package/src/rules/svg-tag-name-capitalization.ts +2 -2
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { Visitor, Position, Location, getStaticAttributeName, hasDynamicAttributeName as hasNodeDynamicAttributeName, getCombinedAttributeName, hasERBOutput, getStaticContentFromNodes, hasStaticContent, isEffectivelyStatic, getValidatableStaticContent } from "@herb-tools/core";
|
|
2
2
|
import { DEFAULT_LINT_CONTEXT } from "../types.js";
|
|
3
|
+
export var ControlFlowType;
|
|
4
|
+
(function (ControlFlowType) {
|
|
5
|
+
ControlFlowType[ControlFlowType["CONDITIONAL"] = 0] = "CONDITIONAL";
|
|
6
|
+
ControlFlowType[ControlFlowType["LOOP"] = 1] = "LOOP";
|
|
7
|
+
})(ControlFlowType || (ControlFlowType = {}));
|
|
3
8
|
/**
|
|
4
9
|
* Base visitor class that provides common functionality for rule visitors
|
|
5
10
|
*/
|
|
@@ -32,6 +37,70 @@ export class BaseRuleVisitor extends Visitor {
|
|
|
32
37
|
this.offenses.push(this.createOffense(message, location, severity));
|
|
33
38
|
}
|
|
34
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Mixin that adds control flow tracking capabilities to rule visitors
|
|
42
|
+
* This allows rules to track state across different control flow structures
|
|
43
|
+
* like if/else branches, loops, etc.
|
|
44
|
+
*
|
|
45
|
+
* @template TControlFlowState - Type for state passed between onEnterControlFlow and onExitControlFlow
|
|
46
|
+
* @template TBranchState - Type for state passed between onEnterBranch and onExitBranch
|
|
47
|
+
*/
|
|
48
|
+
export class ControlFlowTrackingVisitor extends BaseRuleVisitor {
|
|
49
|
+
isInControlFlow = false;
|
|
50
|
+
currentControlFlowType = null;
|
|
51
|
+
/**
|
|
52
|
+
* Handle visiting a control flow node with proper scope management
|
|
53
|
+
*/
|
|
54
|
+
handleControlFlowNode(node, controlFlowType, visitChildren) {
|
|
55
|
+
const wasInControlFlow = this.isInControlFlow;
|
|
56
|
+
const previousControlFlowType = this.currentControlFlowType;
|
|
57
|
+
this.isInControlFlow = true;
|
|
58
|
+
this.currentControlFlowType = controlFlowType;
|
|
59
|
+
const stateToRestore = this.onEnterControlFlow(controlFlowType, wasInControlFlow);
|
|
60
|
+
visitChildren();
|
|
61
|
+
this.onExitControlFlow(controlFlowType, wasInControlFlow, stateToRestore);
|
|
62
|
+
this.isInControlFlow = wasInControlFlow;
|
|
63
|
+
this.currentControlFlowType = previousControlFlowType;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Handle visiting a branch node (like else, when) with proper scope management
|
|
67
|
+
*/
|
|
68
|
+
startNewBranch(visitChildren) {
|
|
69
|
+
const stateToRestore = this.onEnterBranch();
|
|
70
|
+
visitChildren();
|
|
71
|
+
this.onExitBranch(stateToRestore);
|
|
72
|
+
}
|
|
73
|
+
visitERBIfNode(node) {
|
|
74
|
+
this.handleControlFlowNode(node, ControlFlowType.CONDITIONAL, () => super.visitERBIfNode(node));
|
|
75
|
+
}
|
|
76
|
+
visitERBUnlessNode(node) {
|
|
77
|
+
this.handleControlFlowNode(node, ControlFlowType.CONDITIONAL, () => super.visitERBUnlessNode(node));
|
|
78
|
+
}
|
|
79
|
+
visitERBCaseNode(node) {
|
|
80
|
+
this.handleControlFlowNode(node, ControlFlowType.CONDITIONAL, () => super.visitERBCaseNode(node));
|
|
81
|
+
}
|
|
82
|
+
visitERBCaseMatchNode(node) {
|
|
83
|
+
this.handleControlFlowNode(node, ControlFlowType.CONDITIONAL, () => super.visitERBCaseMatchNode(node));
|
|
84
|
+
}
|
|
85
|
+
visitERBWhileNode(node) {
|
|
86
|
+
this.handleControlFlowNode(node, ControlFlowType.LOOP, () => super.visitERBWhileNode(node));
|
|
87
|
+
}
|
|
88
|
+
visitERBForNode(node) {
|
|
89
|
+
this.handleControlFlowNode(node, ControlFlowType.LOOP, () => super.visitERBForNode(node));
|
|
90
|
+
}
|
|
91
|
+
visitERBUntilNode(node) {
|
|
92
|
+
this.handleControlFlowNode(node, ControlFlowType.LOOP, () => super.visitERBUntilNode(node));
|
|
93
|
+
}
|
|
94
|
+
visitERBBlockNode(node) {
|
|
95
|
+
this.handleControlFlowNode(node, ControlFlowType.CONDITIONAL, () => super.visitERBBlockNode(node));
|
|
96
|
+
}
|
|
97
|
+
visitERBElseNode(node) {
|
|
98
|
+
this.startNewBranch(() => super.visitERBElseNode(node));
|
|
99
|
+
}
|
|
100
|
+
visitERBWhenNode(node) {
|
|
101
|
+
this.startNewBranch(() => super.visitERBWhenNode(node));
|
|
102
|
+
}
|
|
103
|
+
}
|
|
35
104
|
/**
|
|
36
105
|
* Gets attributes from an HTMLOpenTagNode
|
|
37
106
|
*/
|
|
@@ -48,10 +117,12 @@ export function getTagName(node) {
|
|
|
48
117
|
* Gets the attribute name from an HTMLAttributeNode (lowercased)
|
|
49
118
|
* Returns null if the attribute name contains dynamic content (ERB)
|
|
50
119
|
*/
|
|
51
|
-
export function getAttributeName(attributeNode) {
|
|
120
|
+
export function getAttributeName(attributeNode, lowercase = true) {
|
|
52
121
|
if (attributeNode.name?.type === "AST_HTML_ATTRIBUTE_NAME_NODE") {
|
|
53
122
|
const nameNode = attributeNode.name;
|
|
54
123
|
const staticName = getStaticAttributeName(nameNode);
|
|
124
|
+
if (!lowercase)
|
|
125
|
+
return staticName;
|
|
55
126
|
return staticName ? staticName.toLowerCase() : null;
|
|
56
127
|
}
|
|
57
128
|
return null;
|
|
@@ -404,6 +475,7 @@ export class AttributeVisitorMixin extends BaseRuleVisitor {
|
|
|
404
475
|
checkAttributesOnNode(node) {
|
|
405
476
|
forEachAttribute(node, (attributeNode) => {
|
|
406
477
|
const staticAttributeName = getAttributeName(attributeNode);
|
|
478
|
+
const originalAttributeName = getAttributeName(attributeNode, false) || "";
|
|
407
479
|
const isDynamicName = hasDynamicAttributeName(attributeNode);
|
|
408
480
|
const staticAttributeValue = getStaticAttributeValue(attributeNode);
|
|
409
481
|
const valueNodes = getAttributeValueNodes(attributeNode);
|
|
@@ -414,16 +486,17 @@ export class AttributeVisitorMixin extends BaseRuleVisitor {
|
|
|
414
486
|
attributeName: staticAttributeName,
|
|
415
487
|
attributeValue: staticAttributeValue,
|
|
416
488
|
attributeNode,
|
|
489
|
+
originalAttributeName,
|
|
417
490
|
parentNode: node
|
|
418
491
|
});
|
|
419
492
|
}
|
|
420
493
|
else if (staticAttributeName && isEffectivelyStaticValue && !hasOutputERB) {
|
|
421
494
|
const validatableContent = getValidatableStaticContent(valueNodes) || "";
|
|
422
|
-
this.checkStaticAttributeStaticValue({ attributeName: staticAttributeName, attributeValue: validatableContent, attributeNode, parentNode: node });
|
|
495
|
+
this.checkStaticAttributeStaticValue({ attributeName: staticAttributeName, attributeValue: validatableContent, attributeNode, originalAttributeName, parentNode: node });
|
|
423
496
|
}
|
|
424
497
|
else if (staticAttributeName && hasOutputERB) {
|
|
425
498
|
const combinedValue = getAttributeValue(attributeNode);
|
|
426
|
-
this.checkStaticAttributeDynamicValue({ attributeName: staticAttributeName, valueNodes, attributeNode, parentNode: node, combinedValue });
|
|
499
|
+
this.checkStaticAttributeDynamicValue({ attributeName: staticAttributeName, valueNodes, attributeNode, parentNode: node, originalAttributeName, combinedValue });
|
|
427
500
|
}
|
|
428
501
|
else if (isDynamicName && staticAttributeValue !== null) {
|
|
429
502
|
const nameNode = attributeNode.name;
|
|
@@ -443,25 +516,25 @@ export class AttributeVisitorMixin extends BaseRuleVisitor {
|
|
|
443
516
|
/**
|
|
444
517
|
* Static attribute name with static value: class="container"
|
|
445
518
|
*/
|
|
446
|
-
checkStaticAttributeStaticValue(
|
|
519
|
+
checkStaticAttributeStaticValue(_params) {
|
|
447
520
|
// Default implementation does nothing
|
|
448
521
|
}
|
|
449
522
|
/**
|
|
450
523
|
* Static attribute name with dynamic value: class="<%= css_class %>"
|
|
451
524
|
*/
|
|
452
|
-
checkStaticAttributeDynamicValue(
|
|
525
|
+
checkStaticAttributeDynamicValue(_params) {
|
|
453
526
|
// Default implementation does nothing
|
|
454
527
|
}
|
|
455
528
|
/**
|
|
456
529
|
* Dynamic attribute name with static value: data-<%= key %>="foo"
|
|
457
530
|
*/
|
|
458
|
-
checkDynamicAttributeStaticValue(
|
|
531
|
+
checkDynamicAttributeStaticValue(_params) {
|
|
459
532
|
// Default implementation does nothing
|
|
460
533
|
}
|
|
461
534
|
/**
|
|
462
535
|
* Dynamic attribute name with dynamic value: data-<%= key %>="<%= value %>"
|
|
463
536
|
*/
|
|
464
|
-
checkDynamicAttributeDynamicValue(
|
|
537
|
+
checkDynamicAttributeDynamicValue(_params) {
|
|
465
538
|
// Default implementation does nothing
|
|
466
539
|
}
|
|
467
540
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-utils.js","sourceRoot":"","sources":["../../../src/rules/rule-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,sBAAsB,EACtB,uBAAuB,IAAI,2BAA2B,EACtD,wBAAwB,EACxB,YAAY,EACZ,yBAAyB,EACzB,gBAAgB,EAChB,mBAAmB,EACnB,2BAA2B,EAC5B,MAAM,kBAAkB,CAAA;AAczB,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAIlD;;GAEG;AACH,MAAM,OAAgB,eAAgB,SAAQ,OAAO;IACnC,QAAQ,GAAkB,EAAE,CAAA;IAClC,QAAQ,CAAQ;IAChB,OAAO,CAAa;IAE9B,YAAY,QAAgB,EAAE,OAA8B;QAC1D,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,oBAAoB,EAAE,GAAG,OAAO,EAAE,CAAA;IACxD,CAAC;IAED;;OAEG;IACO,aAAa,CAAC,OAAe,EAAE,QAAkB,EAAE,WAAyB,OAAO;QAC3F,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,MAAM,EAAE,aAAa;YACrB,OAAO;YACP,QAAQ;YACR,QAAQ;SACT,CAAA;IACH,CAAC;IAED;;OAEG;IACO,UAAU,CAAC,OAAe,EAAE,QAAkB,EAAE,WAAyB,OAAO;QACxF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;IACrE,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAqB;IACjD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,yBAAyB,CAAwB,CAAA;AACrG,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,IAAqB;IAC9C,OAAO,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,IAAI,CAAA;AACnD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,aAAgC;IAC/D,IAAI,aAAa,CAAC,IAAI,EAAE,IAAI,KAAK,8BAA8B,EAAE,CAAC;QAChE,MAAM,QAAQ,GAAG,aAAa,CAAC,IAA6B,CAAA;QAC5D,MAAM,UAAU,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAA;QAEnD,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IACrD,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,aAAgC;IACtE,IAAI,aAAa,CAAC,IAAI,EAAE,IAAI,KAAK,8BAA8B,EAAE,CAAC;QAChE,MAAM,QAAQ,GAAG,aAAa,CAAC,IAA6B,CAAA;QAC5D,OAAO,2BAA2B,CAAC,QAAQ,CAAC,CAAA;IAC9C,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAAC,aAAgC;IAC7E,IAAI,aAAa,CAAC,IAAI,EAAE,IAAI,KAAK,8BAA8B,EAAE,CAAC;QAChE,MAAM,QAAQ,GAAG,aAAa,CAAC,IAA6B,CAAA;QAE5D,OAAO,wBAAwB,CAAC,QAAQ,CAAC,CAAA;IAC3C,CAAC;IAED,OAAO,EAAE,CAAA;AACX,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,aAAgC;IACtE,MAAM,SAAS,GAAG,aAAa,CAAC,KAAsC,CAAA;IAEtE,IAAI,CAAC,SAAS,EAAE,QAAQ;QAAE,OAAO,KAAK,CAAA;IAEtC,OAAO,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAA;AAC7E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,aAAgC;IACvE,MAAM,SAAS,GAAG,aAAa,CAAC,KAAsC,CAAA;IAEtE,IAAI,CAAC,SAAS,EAAE,QAAQ;QAAE,OAAO,KAAK,CAAA;IAEtC,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,sBAAsB,CAAC,CAAA;AAChF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,aAAgC;IACtE,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC;QAAE,OAAO,IAAI,CAAA;IAExD,MAAM,SAAS,GAAG,aAAa,CAAC,KAA+B,CAAA;IAE/D,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ;QAC/B,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,kBAAkB,CAAC;SACnD,GAAG,CAAC,KAAK,CAAC,EAAE,CAAE,KAAqB,CAAC,OAAO,CAAC;SAC5C,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAA;IAEjB,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,aAAgC;IACrE,MAAM,SAAS,GAAG,aAAa,CAAC,KAAsC,CAAA;IAEtE,OAAO,SAAS,EAAE,QAAQ,IAAI,EAAE,CAAA;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAAC,aAAgC;IAC7E,MAAM,UAAU,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAA;IAExD,OAAO,gBAAgB,CAAC,UAAU,CAAC,CAAA;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAAC,aAAgC;IAC7E,MAAM,UAAU,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAA;IAExD,OAAO,yBAAyB,CAAC,UAAU,CAAC,CAAA;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,aAAgC;IAChE,MAAM,SAAS,GAAkC,aAAa,CAAC,KAA+B,CAAA;IAE9F,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAEnC,IAAI,SAAS,CAAC,IAAI,KAAK,+BAA+B,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;QACtF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,MAAM,GAAG,EAAE,CAAA;IAEf,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACvC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,sBAAsB,CAAC,CAAC,CAAC;gBAC5B,MAAM,OAAO,GAAG,KAAgB,CAAA;gBAEhC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,CAAA;gBAChG,CAAC;gBAED,MAAK;YACP,CAAC;YAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,IAAK,KAAqB,CAAC,OAAO,CAAA;gBACxC,MAAK;YACP,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,aAAgC;IAChE,OAAO,aAAa,CAAC,KAAK,EAAE,IAAI,KAAK,+BAA+B,CAAA;AACtE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,eAA2D;IACpG,IAAI,SAA6C,CAAA;IAEjD,IAAI,eAAe,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;QACvD,MAAM,aAAa,GAAG,eAAoC,CAAA;QAE1D,IAAI,aAAa,CAAC,KAAK,EAAE,IAAI,KAAK,+BAA+B,EAAE,CAAC;YAClE,SAAS,GAAG,aAAa,CAAC,KAA+B,CAAA;QAC3D,CAAC;IACH,CAAC;SAAM,IAAI,eAAe,CAAC,IAAI,KAAK,+BAA+B,EAAE,CAAC;QACpE,SAAS,GAAG,eAAyC,CAAA;IACvD,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;YAC7C,OAAO,SAAS,CAAC,UAAU,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAA;QACjE,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB,EAAE,aAAqB;IAC3E,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;YAC7C,MAAM,aAAa,GAAG,KAA0B,CAAA;YAChD,MAAM,IAAI,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAA;YAE5C,IAAI,IAAI,KAAK,aAAa,CAAC,WAAW,EAAE,EAAE,CAAC;gBACzC,OAAO,aAAa,CAAA;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAqB,EAAE,aAAqB;IACvE,OAAO,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,KAAK,IAAI,CAAA;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAqB,EAAE,aAAqB;IACvE,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;IAEtC,OAAO,mBAAmB,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;AACvD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IAC1C,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM;IACzE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ;IAC3E,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK;IACxE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK;CAChC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IACzC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI;IACxE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI;IACtE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU;IACvE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO;CAC7D,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACxC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAC1E,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK;CAClC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC;IAC7C,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ;IAC7E,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;IAC3E,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ;IACxE,UAAU,EAAE,iBAAiB,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ;IACtE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe;CAC1E,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;AAEzE;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC;IAC7C,eAAe;IACf,kBAAkB;IAClB,UAAU;IACV,SAAS;IACT,eAAe;IACf,qBAAqB;IACrB,aAAa;IACb,kBAAkB;IAClB,mBAAmB;IACnB,mBAAmB;IACnB,gBAAgB;IAChB,cAAc;IACd,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,gBAAgB;IAChB,SAAS;IACT,SAAS;IACT,aAAa;IACb,cAAc;IACd,UAAU;IACV,cAAc;IACd,oBAAoB;IACpB,aAAa;IACb,QAAQ;IACR,cAAc;IACd,eAAe;IACf,UAAU;IACV,gBAAgB;IAChB,gBAAgB;IAChB,UAAU;CACX,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAC/C,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,CAAC,CACrF,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IACtC,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ;IAC1F,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ;IAC1F,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc;IACrF,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS;IACvE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAC9F,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,kBAAkB,EAAE,eAAe,EAAE,QAAQ;IACvF,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY;IACtF,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM;IACvF,UAAU,EAAE,UAAU;IACtB,KAAK,EAAE,SAAS;CACjB,CAAC,CAAC;AAqCH,MAAM,CAAC,MAAM,eAAe,GAAI,IAAI,GAAG,CAAC;IACtC,uBAAuB;IACvB,aAAa;IACb,mBAAmB;IACnB,WAAW;IACX,cAAc;IACd,eAAe;IACf,eAAe;IACf,cAAc;IACd,eAAe;IACf,cAAc;IACd,kBAAkB;IAClB,cAAc;IACd,eAAe;IACf,iBAAiB;IACjB,mBAAmB;IACnB,eAAe;IACf,aAAa;IACb,cAAc;IACd,eAAe;IACf,aAAa;IACb,cAAc;IACd,mBAAmB;IACnB,YAAY;IACZ,iBAAiB;IACjB,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,gBAAgB;IAChB,sBAAsB;IACtB,kBAAkB;IAClB,WAAW;IACX,kBAAkB;IAClB,eAAe;IACf,cAAc;IACd,eAAe;IACf,eAAe;IACf,eAAe;IACf,sBAAsB;IACtB,eAAe;IACf,eAAe;IACf,cAAc;IACd,eAAe;IACf,cAAc;IACd,WAAW;IACX,eAAe;IACf,eAAe;IACf,eAAe;IACf,gBAAgB;CACjB,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAc;IACpD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAChC,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAA;IACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACxC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAA;IAExC,MAAM,WAAW,GAAG,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACnE,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,CAAA;IACvD,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAA;IAE1D,OAAO,IAAI,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,OAAO,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,OAAO,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;AACvD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,OAAO,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;AACtD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,aAAqB;IACtD,OAAO,uBAAuB,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAA;AACjE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,OAAgB,qBAAsB,SAAQ,eAAe;IACjE,YAAY,QAAgB,EAAE,OAA8B;QAC1D,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1B,CAAC;IAED,oBAAoB,CAAC,IAAqB;QACxC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAA;QAChC,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;IAClC,CAAC;IAEO,qBAAqB,CAAC,IAAqB;QACjD,gBAAgB,CAAC,IAAI,EAAE,CAAC,aAAa,EAAE,EAAE;YACvC,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAA;YAC3D,MAAM,aAAa,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAA;YAC5D,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAA;YACnE,MAAM,UAAU,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAA;YACxD,MAAM,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA;YAC7C,MAAM,wBAAwB,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAA;YAEhE,IAAI,mBAAmB,IAAI,oBAAoB,KAAK,IAAI,EAAE,CAAC;gBACzD,IAAI,CAAC,+BAA+B,CAAC;oBACnC,aAAa,EAAE,mBAAmB;oBAClC,cAAc,EAAE,oBAAoB;oBACpC,aAAa;oBACb,UAAU,EAAE,IAAI;iBACjB,CAAC,CAAA;YACJ,CAAC;iBAAM,IAAI,mBAAmB,IAAI,wBAAwB,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC5E,MAAM,kBAAkB,GAAG,2BAA2B,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;gBAExE,IAAI,CAAC,+BAA+B,CAAC,EAAE,aAAa,EAAE,mBAAmB,EAAE,cAAc,EAAE,kBAAkB,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;YACnJ,CAAC;iBAAM,IAAI,mBAAmB,IAAI,YAAY,EAAE,CAAC;gBAC/C,MAAM,aAAa,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAA;gBAEtD,IAAI,CAAC,gCAAgC,CAAC,EAAE,aAAa,EAAE,mBAAmB,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAA;YAC3I,CAAC;iBAAM,IAAI,aAAa,IAAI,oBAAoB,KAAK,IAAI,EAAE,CAAC;gBAC1D,MAAM,QAAQ,GAAG,aAAa,CAAC,IAA6B,CAAA;gBAC5D,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAA;gBACzC,MAAM,YAAY,GAAG,8BAA8B,CAAC,aAAa,CAAC,CAAA;gBAElE,IAAI,CAAC,gCAAgC,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,oBAAoB,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAA;YAC3I,CAAC;iBAAM,IAAI,aAAa,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,aAAa,CAAC,IAA6B,CAAA;gBAC5D,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAA;gBACzC,MAAM,YAAY,GAAG,8BAA8B,CAAC,aAAa,CAAC,CAAA;gBAClE,MAAM,aAAa,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAA;gBAEtD,IAAI,CAAC,iCAAiC,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,CAAA;YACjI,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACO,+BAA+B,CAAC,MAAwC;QAChF,sCAAsC;IACxC,CAAC;IAED;;OAEG;IACO,gCAAgC,CAAC,MAAyC;QAClF,sCAAsC;IACxC,CAAC;IAED;;OAEG;IACO,gCAAgC,CAAC,MAAyC;QAClF,sCAAsC;IACxC,CAAC;IAED;;OAEG;IACO,iCAAiC,CAAC,MAA0C;QACpF,sCAAsC;IACxC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,aAAgC;IACrE,IAAI,aAAa,CAAC,KAAK,EAAE,IAAI,KAAK,+BAA+B,EAAE,CAAC;QAClE,MAAM,SAAS,GAAG,aAAa,CAAC,KAA+B,CAAA;QAE/D,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAA;IAC3B,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAqB,EACrB,QAAoD;IAEpD,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;IAEtC,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;YAC7C,QAAQ,CAAC,KAA0B,CAAC,CAAA;QACtC,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,OAAgB,oBAAoB;IACxB,QAAQ,GAAkB,EAAE,CAAA;IAClC,QAAQ,CAAQ;IAChB,OAAO,CAAa;IAE9B,YAAY,QAAgB,EAAE,OAA8B;QAC1D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,oBAAoB,EAAE,GAAG,OAAO,EAAE,CAAA;IACxD,CAAC;IAED;;OAEG;IACO,aAAa,CAAC,OAAe,EAAE,QAAkB,EAAE,WAAyB,OAAO;QAC3F,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,MAAM,EAAE,aAAa;YACrB,OAAO;YACP,QAAQ;YACR,QAAQ;SACT,CAAA;IACH,CAAC;IAED;;OAEG;IACO,UAAU,CAAC,OAAe,EAAE,QAAkB,EAAE,WAAyB,OAAO;QACxF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;IACrE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAoB;QACxB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC;IAED;;;OAGG;IACO,WAAW,CAAC,MAAe;QACnC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC;IACH,CAAC;IAED;;;OAGG;IACO,UAAU,CAAC,MAAa;QAChC,sCAAsC;IACxC,CAAC;CAEF;AAED;;GAEG;AACH,MAAM,OAAgB,qBAAqB;IACzB,QAAQ,GAAkB,EAAE,CAAA;IAClC,QAAQ,CAAQ;IAChB,OAAO,CAAa;IAE9B,YAAY,QAAgB,EAAE,OAA8B;QAC1D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,oBAAoB,EAAE,GAAG,OAAO,EAAE,CAAA;IACxD,CAAC;IAED;;OAEG;IACO,aAAa,CAAC,OAAe,EAAE,QAAkB,EAAE,WAAyB,OAAO;QAC3F,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,MAAM,EAAE,aAAa;YACrB,OAAO;YACP,QAAQ;YACR,QAAQ;SACT,CAAA;IACH,CAAC;IAED;;OAEG;IACO,UAAU,CAAC,OAAe,EAAE,QAAkB,EAAE,WAAyB,OAAO;QACxF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;IACrE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAc;QAClB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1B,CAAC;IAQD;;OAEG;IACO,gBAAgB,CAAC,MAAc,EAAE,QAAgB;QACzD,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;QACpD,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACxC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAA;QACzB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;QAEjD,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACxC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAEtC,OAAO,IAAI,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IACjC,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"rule-utils.js","sourceRoot":"","sources":["../../../src/rules/rule-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,9 +31,9 @@ class SVGTagNameCapitalizationVisitor extends BaseRuleVisitor {
|
|
|
31
31
|
const correctCamelCase = SVG_LOWERCASE_TO_CAMELCASE.get(lowercaseTagName);
|
|
32
32
|
if (correctCamelCase && tagName !== correctCamelCase) {
|
|
33
33
|
let type = node.type;
|
|
34
|
-
if (node.type
|
|
34
|
+
if (node.type === "AST_HTML_OPEN_TAG_NODE")
|
|
35
35
|
type = "Opening";
|
|
36
|
-
if (node.type
|
|
36
|
+
if (node.type === "AST_HTML_CLOSE_TAG_NODE")
|
|
37
37
|
type = "Closing";
|
|
38
38
|
this.addOffense(`${type} SVG tag name \`${tagName}\` should use proper capitalization. Use \`${correctCamelCase}\` instead.`, node.tag_name.location, "error");
|
|
39
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svg-tag-name-capitalization.js","sourceRoot":"","sources":["../../../src/rules/svg-tag-name-capitalization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AAEtG,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAIxC,MAAM,+BAAgC,SAAQ,eAAe;IACnD,SAAS,GAAG,KAAK,CAAA;IAEzB,oBAAoB,CAAC,IAAqB;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAA;QAEpC,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YACvD,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAA;YACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;YACrB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;YAC1B,IAAI,CAAC,SAAS,GAAG,YAAY,CAAA;YAC7B,OAAM;QACR,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAA2B,CAAC,CAAA;YACrD,CAAC;YACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAA6B,CAAC,CAAA;YACvD,CAAC;QACH,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;IAGO,YAAY,CAAC,IAAwC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAA;QAEpC,IAAI,CAAC,OAAO;YAAE,OAAM;QAEpB,IAAI,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAM;QAEhD,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;QAC9C,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;QAEzE,IAAI,gBAAgB,IAAI,OAAO,KAAK,gBAAgB,EAAE,CAAC;YACrD,IAAI,IAAI,GAAW,IAAI,CAAC,IAAI,CAAA;YAE5B,IAAI,IAAI,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"svg-tag-name-capitalization.js","sourceRoot":"","sources":["../../../src/rules/svg-tag-name-capitalization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AAEtG,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAIxC,MAAM,+BAAgC,SAAQ,eAAe;IACnD,SAAS,GAAG,KAAK,CAAA;IAEzB,oBAAoB,CAAC,IAAqB;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAA;QAEpC,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YACvD,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAA;YACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;YACrB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;YAC1B,IAAI,CAAC,SAAS,GAAG,YAAY,CAAA;YAC7B,OAAM;QACR,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAA2B,CAAC,CAAA;YACrD,CAAC;YACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAA6B,CAAC,CAAA;YACvD,CAAC;QACH,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;IAGO,YAAY,CAAC,IAAwC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAA;QAEpC,IAAI,CAAC,OAAO;YAAE,OAAM;QAEpB,IAAI,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAM;QAEhD,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;QAC9C,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;QAEzE,IAAI,gBAAgB,IAAI,OAAO,KAAK,gBAAgB,EAAE,CAAC;YACrD,IAAI,IAAI,GAAW,IAAI,CAAC,IAAI,CAAA;YAE5B,IAAI,IAAI,CAAC,IAAI,KAAK,wBAAwB;gBAAE,IAAI,GAAG,SAAS,CAAA;YAC5D,IAAI,IAAI,CAAC,IAAI,KAAK,yBAAyB;gBAAE,IAAI,GAAG,SAAS,CAAA;YAE7D,IAAI,CAAC,UAAU,CACb,GAAG,IAAI,mBAAmB,OAAO,8CAA8C,gBAAgB,aAAa,EAC5G,IAAI,CAAC,QAAS,CAAC,QAAQ,EACvB,OAAO,CACR,CAAA;QACH,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,4BAA6B,SAAQ,UAAU;IAC1D,IAAI,GAAG,6BAA6B,CAAA;IAEpC,KAAK,CAAC,MAAmB,EAAE,OAA8B;QACvD,MAAM,OAAO,GAAG,IAAI,+BAA+B,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACvE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC3B,OAAO,OAAO,CAAC,QAAQ,CAAA;IACzB,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/cli.ts","../src/default-rules.ts","../src/herb-lint.ts","../src/index.ts","../src/linter.ts","../src/types.ts","../src/cli/argument-parser.ts","../src/cli/file-processor.ts","../src/cli/index.ts","../src/cli/output-manager.ts","../src/cli/summary-reporter.ts","../src/cli/formatters/base-formatter.ts","../src/cli/formatters/detailed-formatter.ts","../src/cli/formatters/github-actions-formatter.ts","../src/cli/formatters/index.ts","../src/cli/formatters/json-formatter.ts","../src/cli/formatters/simple-formatter.ts","../src/rules/erb-no-empty-tags.ts","../src/rules/erb-no-output-control-flow.ts","../src/rules/erb-no-silent-tag-in-attribute-name.ts","../src/rules/erb-prefer-image-tag-helper.ts","../src/rules/erb-require-whitespace-inside-tags.ts","../src/rules/erb-requires-trailing-newline.ts","../src/rules/html-anchor-require-href.ts","../src/rules/html-aria-attribute-must-be-valid.ts","../src/rules/html-aria-label-is-well-formatted.ts","../src/rules/html-aria-level-must-be-valid.ts","../src/rules/html-aria-role-heading-requires-level.ts","../src/rules/html-aria-role-must-be-valid.ts","../src/rules/html-attribute-double-quotes.ts","../src/rules/html-attribute-equals-spacing.ts","../src/rules/html-attribute-values-require-quotes.ts","../src/rules/html-avoid-both-disabled-and-aria-disabled.ts","../src/rules/html-boolean-attributes-no-value.ts","../src/rules/html-iframe-has-title.ts","../src/rules/html-img-require-alt.ts","../src/rules/html-navigation-has-label.ts","../src/rules/html-no-aria-hidden-on-focusable.ts","../src/rules/html-no-block-inside-inline.ts","../src/rules/html-no-duplicate-attributes.ts","../src/rules/html-no-duplicate-ids.ts","../src/rules/html-no-empty-headings.ts","../src/rules/html-no-nested-links.ts","../src/rules/html-no-positive-tab-index.ts","../src/rules/html-no-self-closing.ts","../src/rules/html-no-title-attribute.ts","../src/rules/html-tag-name-lowercase.ts","../src/rules/index.ts","../src/rules/parser-no-errors.ts","../src/rules/rule-utils.ts","../src/rules/svg-tag-name-capitalization.ts"],"version":"5.9.2"}
|
|
1
|
+
{"root":["../src/cli.ts","../src/default-rules.ts","../src/herb-lint.ts","../src/index.ts","../src/linter.ts","../src/types.ts","../src/cli/argument-parser.ts","../src/cli/file-processor.ts","../src/cli/index.ts","../src/cli/output-manager.ts","../src/cli/summary-reporter.ts","../src/cli/formatters/base-formatter.ts","../src/cli/formatters/detailed-formatter.ts","../src/cli/formatters/github-actions-formatter.ts","../src/cli/formatters/index.ts","../src/cli/formatters/json-formatter.ts","../src/cli/formatters/simple-formatter.ts","../src/rules/erb-no-empty-tags.ts","../src/rules/erb-no-output-control-flow.ts","../src/rules/erb-no-silent-tag-in-attribute-name.ts","../src/rules/erb-prefer-image-tag-helper.ts","../src/rules/erb-require-whitespace-inside-tags.ts","../src/rules/erb-requires-trailing-newline.ts","../src/rules/html-anchor-require-href.ts","../src/rules/html-aria-attribute-must-be-valid.ts","../src/rules/html-aria-label-is-well-formatted.ts","../src/rules/html-aria-level-must-be-valid.ts","../src/rules/html-aria-role-heading-requires-level.ts","../src/rules/html-aria-role-must-be-valid.ts","../src/rules/html-attribute-double-quotes.ts","../src/rules/html-attribute-equals-spacing.ts","../src/rules/html-attribute-values-require-quotes.ts","../src/rules/html-avoid-both-disabled-and-aria-disabled.ts","../src/rules/html-boolean-attributes-no-value.ts","../src/rules/html-iframe-has-title.ts","../src/rules/html-img-require-alt.ts","../src/rules/html-navigation-has-label.ts","../src/rules/html-no-aria-hidden-on-focusable.ts","../src/rules/html-no-block-inside-inline.ts","../src/rules/html-no-duplicate-attributes.ts","../src/rules/html-no-duplicate-ids.ts","../src/rules/html-no-empty-attributes.ts","../src/rules/html-no-empty-headings.ts","../src/rules/html-no-nested-links.ts","../src/rules/html-no-positive-tab-index.ts","../src/rules/html-no-self-closing.ts","../src/rules/html-no-title-attribute.ts","../src/rules/html-no-underscores-in-attribute-names.ts","../src/rules/html-tag-name-lowercase.ts","../src/rules/index.ts","../src/rules/parser-no-errors.ts","../src/rules/rule-utils.ts","../src/rules/svg-tag-name-capitalization.ts"],"version":"5.9.2"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ThemeInput } from "@herb-tools/highlighter";
|
|
2
|
-
export type FormatOption = "simple" | "detailed" | "json"
|
|
2
|
+
export type FormatOption = "simple" | "detailed" | "json";
|
|
3
3
|
export interface ParsedArguments {
|
|
4
4
|
pattern: string;
|
|
5
5
|
formatOption: FormatOption;
|
|
@@ -7,6 +7,7 @@ export interface ParsedArguments {
|
|
|
7
7
|
theme: ThemeInput;
|
|
8
8
|
wrapLines: boolean;
|
|
9
9
|
truncateLines: boolean;
|
|
10
|
+
useGitHubActions: boolean;
|
|
10
11
|
}
|
|
11
12
|
export declare class ArgumentParser {
|
|
12
13
|
private readonly usage;
|
|
@@ -5,6 +5,10 @@ export interface ProcessedFile {
|
|
|
5
5
|
offense: Diagnostic;
|
|
6
6
|
content: string;
|
|
7
7
|
}
|
|
8
|
+
export interface ProcessingContext {
|
|
9
|
+
projectPath?: string;
|
|
10
|
+
pattern?: string;
|
|
11
|
+
}
|
|
8
12
|
export interface ProcessingResult {
|
|
9
13
|
totalErrors: number;
|
|
10
14
|
totalWarnings: number;
|
|
@@ -15,8 +19,9 @@ export interface ProcessingResult {
|
|
|
15
19
|
count: number;
|
|
16
20
|
files: Set<string>;
|
|
17
21
|
}>;
|
|
22
|
+
context?: ProcessingContext;
|
|
18
23
|
}
|
|
19
24
|
export declare class FileProcessor {
|
|
20
25
|
private linter;
|
|
21
|
-
processFiles(files: string[], formatOption?: FormatOption): Promise<ProcessingResult>;
|
|
26
|
+
processFiles(files: string[], formatOption?: FormatOption, context?: ProcessingContext): Promise<ProcessingResult>;
|
|
22
27
|
}
|
|
@@ -2,9 +2,14 @@ import { BaseFormatter } from "./base-formatter.js";
|
|
|
2
2
|
import type { Diagnostic } from "@herb-tools/core";
|
|
3
3
|
import type { ProcessedFile } from "../file-processor.js";
|
|
4
4
|
export declare class GitHubActionsFormatter extends BaseFormatter {
|
|
5
|
+
private highlighter;
|
|
6
|
+
private wrapLines;
|
|
7
|
+
private truncateLines;
|
|
8
|
+
constructor(wrapLines?: boolean, truncateLines?: boolean);
|
|
5
9
|
private static readonly MESSAGE_ESCAPE_MAP;
|
|
6
10
|
private static readonly PARAM_ESCAPE_MAP;
|
|
7
|
-
format(allDiagnostics: ProcessedFile[]): Promise<void>;
|
|
11
|
+
format(allDiagnostics: ProcessedFile[], _isSingleFile?: boolean): Promise<void>;
|
|
12
|
+
formatAnnotations(allDiagnostics: ProcessedFile[]): Promise<void>;
|
|
8
13
|
formatFile(filename: string, diagnostics: Diagnostic[]): void;
|
|
9
14
|
private formatDiagnostic;
|
|
10
15
|
private escapeMessage;
|
package/dist/types/cli.d.ts
CHANGED
|
@@ -1,8 +1,23 @@
|
|
|
1
|
+
import { ArgumentParser, type FormatOption } from "./cli/argument-parser.js";
|
|
2
|
+
import { FileProcessor } from "./cli/file-processor.js";
|
|
3
|
+
import { OutputManager } from "./cli/output-manager.js";
|
|
4
|
+
export * from "./cli/index.js";
|
|
1
5
|
export declare class CLI {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
protected argumentParser: ArgumentParser;
|
|
7
|
+
protected fileProcessor: FileProcessor;
|
|
8
|
+
protected outputManager: OutputManager;
|
|
9
|
+
protected projectPath: string;
|
|
10
|
+
getProjectPath(): string;
|
|
11
|
+
protected findProjectRoot(startPath: string): string;
|
|
12
|
+
protected exitWithError(message: string, formatOption: FormatOption, exitCode?: number): void;
|
|
13
|
+
protected exitWithInfo(message: string, formatOption: FormatOption, exitCode?: number, timingData?: {
|
|
14
|
+
startTime: number;
|
|
15
|
+
startDate: Date;
|
|
16
|
+
showTiming: boolean;
|
|
17
|
+
}): void;
|
|
18
|
+
protected determineProjectPath(pattern: string | undefined): void;
|
|
19
|
+
protected adjustPattern(pattern: string | undefined): string;
|
|
20
|
+
protected beforeProcess(): Promise<void>;
|
|
21
|
+
protected afterProcess(_results: any, _outputOptions: any): Promise<void>;
|
|
7
22
|
run(): Promise<void>;
|
|
8
23
|
}
|
package/dist/types/linter.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { RuleClass, LintResult, LintContext } from "./types.js";
|
|
1
|
+
import type { RuleClass, Rule, LexerRule, SourceRule, LintResult, LintOffense, LintContext } from "./types.js";
|
|
2
2
|
import type { HerbBackend } from "@herb-tools/core";
|
|
3
3
|
export declare class Linter {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
protected rules: RuleClass[];
|
|
5
|
+
protected herb: HerbBackend;
|
|
6
|
+
protected offenses: LintOffense[];
|
|
7
7
|
/**
|
|
8
8
|
* Creates a new Linter instance.
|
|
9
9
|
* @param herb - The Herb backend instance for parsing and lexing
|
|
@@ -14,16 +14,16 @@ export declare class Linter {
|
|
|
14
14
|
* Returns the default set of rule classes used by the linter.
|
|
15
15
|
* @returns Array of rule classes
|
|
16
16
|
*/
|
|
17
|
-
|
|
17
|
+
protected getDefaultRules(): RuleClass[];
|
|
18
18
|
getRuleCount(): number;
|
|
19
19
|
/**
|
|
20
20
|
* Type guard to check if a rule is a LexerRule
|
|
21
21
|
*/
|
|
22
|
-
|
|
22
|
+
protected isLexerRule(rule: Rule): rule is LexerRule;
|
|
23
23
|
/**
|
|
24
24
|
* Type guard to check if a rule is a SourceRule
|
|
25
25
|
*/
|
|
26
|
-
|
|
26
|
+
protected isSourceRule(rule: Rule): rule is SourceRule;
|
|
27
27
|
/**
|
|
28
28
|
* Lint source code using Parser/AST, Lexer, and Source rules.
|
|
29
29
|
* @param source - The source code to lint
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ParserRule } from "../types.js";
|
|
2
|
+
import type { LintOffense, LintContext } from "../types.js";
|
|
3
|
+
import type { ParseResult } from "@herb-tools/core";
|
|
4
|
+
export declare class HTMLNoEmptyAttributesRule extends ParserRule {
|
|
5
|
+
name: string;
|
|
6
|
+
check(result: ParseResult, context?: Partial<LintContext>): LintOffense[];
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ParserRule } from "../types.js";
|
|
2
|
+
import type { LintContext, LintOffense } from "../types.js";
|
|
3
|
+
import type { ParseResult } from "@herb-tools/core";
|
|
4
|
+
export declare class HTMLNoUnderscoresInAttributeNamesRule extends ParserRule {
|
|
5
|
+
name: string;
|
|
6
|
+
check(result: ParseResult, context?: Partial<LintContext>): LintOffense[];
|
|
7
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export * from "./rule-utils.js";
|
|
1
2
|
export * from "./erb-no-empty-tags.js";
|
|
2
3
|
export * from "./erb-no-output-control-flow.js";
|
|
3
4
|
export * from "./erb-no-silent-tag-in-attribute-name.js";
|
|
@@ -20,6 +21,7 @@ export * from "./html-no-aria-hidden-on-focusable.js";
|
|
|
20
21
|
export * from "./html-no-block-inside-inline.js";
|
|
21
22
|
export * from "./html-no-duplicate-attributes.js";
|
|
22
23
|
export * from "./html-no-duplicate-ids.js";
|
|
24
|
+
export * from "./html-no-empty-attributes.js";
|
|
23
25
|
export * from "./html-no-empty-headings.js";
|
|
24
26
|
export * from "./html-no-nested-links.js";
|
|
25
27
|
export * from "./html-no-positive-tab-index.js";
|
|
@@ -27,3 +29,4 @@ export * from "./html-no-self-closing.js";
|
|
|
27
29
|
export * from "./html-no-title-attribute.js";
|
|
28
30
|
export * from "./html-tag-name-lowercase.js";
|
|
29
31
|
export * from "./svg-tag-name-capitalization.js";
|
|
32
|
+
export * from "./html-no-underscores-in-attribute-names.js";
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { Visitor, Location } from "@herb-tools/core";
|
|
2
2
|
import type { HTMLAttributeNode, HTMLAttributeValueNode, HTMLOpenTagNode, LexResult, Token, Node } from "@herb-tools/core";
|
|
3
|
+
import type * as Nodes from "@herb-tools/core";
|
|
3
4
|
import type { LintOffense, LintSeverity, LintContext } from "../types.js";
|
|
5
|
+
export declare enum ControlFlowType {
|
|
6
|
+
CONDITIONAL = 0,
|
|
7
|
+
LOOP = 1
|
|
8
|
+
}
|
|
4
9
|
/**
|
|
5
10
|
* Base visitor class that provides common functionality for rule visitors
|
|
6
11
|
*/
|
|
@@ -18,6 +23,40 @@ export declare abstract class BaseRuleVisitor extends Visitor {
|
|
|
18
23
|
*/
|
|
19
24
|
protected addOffense(message: string, location: Location, severity?: LintSeverity): void;
|
|
20
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Mixin that adds control flow tracking capabilities to rule visitors
|
|
28
|
+
* This allows rules to track state across different control flow structures
|
|
29
|
+
* like if/else branches, loops, etc.
|
|
30
|
+
*
|
|
31
|
+
* @template TControlFlowState - Type for state passed between onEnterControlFlow and onExitControlFlow
|
|
32
|
+
* @template TBranchState - Type for state passed between onEnterBranch and onExitBranch
|
|
33
|
+
*/
|
|
34
|
+
export declare abstract class ControlFlowTrackingVisitor<TControlFlowState = any, TBranchState = any> extends BaseRuleVisitor {
|
|
35
|
+
protected isInControlFlow: boolean;
|
|
36
|
+
protected currentControlFlowType: ControlFlowType | null;
|
|
37
|
+
/**
|
|
38
|
+
* Handle visiting a control flow node with proper scope management
|
|
39
|
+
*/
|
|
40
|
+
protected handleControlFlowNode(node: Node, controlFlowType: ControlFlowType, visitChildren: () => void): void;
|
|
41
|
+
/**
|
|
42
|
+
* Handle visiting a branch node (like else, when) with proper scope management
|
|
43
|
+
*/
|
|
44
|
+
protected startNewBranch(visitChildren: () => void): void;
|
|
45
|
+
visitERBIfNode(node: Nodes.ERBIfNode): void;
|
|
46
|
+
visitERBUnlessNode(node: Nodes.ERBUnlessNode): void;
|
|
47
|
+
visitERBCaseNode(node: Nodes.ERBCaseNode): void;
|
|
48
|
+
visitERBCaseMatchNode(node: Nodes.ERBCaseMatchNode): void;
|
|
49
|
+
visitERBWhileNode(node: Nodes.ERBWhileNode): void;
|
|
50
|
+
visitERBForNode(node: Nodes.ERBForNode): void;
|
|
51
|
+
visitERBUntilNode(node: Nodes.ERBUntilNode): void;
|
|
52
|
+
visitERBBlockNode(node: Nodes.ERBBlockNode): void;
|
|
53
|
+
visitERBElseNode(node: Nodes.ERBElseNode): void;
|
|
54
|
+
visitERBWhenNode(node: Nodes.ERBWhenNode): void;
|
|
55
|
+
protected abstract onEnterControlFlow(controlFlowType: ControlFlowType, wasAlreadyInControlFlow: boolean): TControlFlowState;
|
|
56
|
+
protected abstract onExitControlFlow(controlFlowType: ControlFlowType, wasAlreadyInControlFlow: boolean, stateToRestore: TControlFlowState): void;
|
|
57
|
+
protected abstract onEnterBranch(): TBranchState;
|
|
58
|
+
protected abstract onExitBranch(stateToRestore: TBranchState): void;
|
|
59
|
+
}
|
|
21
60
|
/**
|
|
22
61
|
* Gets attributes from an HTMLOpenTagNode
|
|
23
62
|
*/
|
|
@@ -30,7 +69,7 @@ export declare function getTagName(node: HTMLOpenTagNode): string | null;
|
|
|
30
69
|
* Gets the attribute name from an HTMLAttributeNode (lowercased)
|
|
31
70
|
* Returns null if the attribute name contains dynamic content (ERB)
|
|
32
71
|
*/
|
|
33
|
-
export declare function getAttributeName(attributeNode: HTMLAttributeNode): string | null;
|
|
72
|
+
export declare function getAttributeName(attributeNode: HTMLAttributeNode, lowercase?: boolean): string | null;
|
|
34
73
|
/**
|
|
35
74
|
* Checks if an attribute has a dynamic (ERB-containing) name
|
|
36
75
|
*/
|
|
@@ -114,12 +153,14 @@ export interface StaticAttributeStaticValueParams {
|
|
|
114
153
|
attributeName: string;
|
|
115
154
|
attributeValue: string;
|
|
116
155
|
attributeNode: HTMLAttributeNode;
|
|
156
|
+
originalAttributeName: string;
|
|
117
157
|
parentNode: HTMLOpenTagNode;
|
|
118
158
|
}
|
|
119
159
|
export interface StaticAttributeDynamicValueParams {
|
|
120
160
|
attributeName: string;
|
|
121
161
|
valueNodes: Node[];
|
|
122
162
|
attributeNode: HTMLAttributeNode;
|
|
163
|
+
originalAttributeName: string;
|
|
123
164
|
parentNode: HTMLOpenTagNode;
|
|
124
165
|
combinedValue?: string | null;
|
|
125
166
|
}
|
|
@@ -176,19 +217,19 @@ export declare abstract class AttributeVisitorMixin extends BaseRuleVisitor {
|
|
|
176
217
|
/**
|
|
177
218
|
* Static attribute name with static value: class="container"
|
|
178
219
|
*/
|
|
179
|
-
protected checkStaticAttributeStaticValue(
|
|
220
|
+
protected checkStaticAttributeStaticValue(_params: StaticAttributeStaticValueParams): void;
|
|
180
221
|
/**
|
|
181
222
|
* Static attribute name with dynamic value: class="<%= css_class %>"
|
|
182
223
|
*/
|
|
183
|
-
protected checkStaticAttributeDynamicValue(
|
|
224
|
+
protected checkStaticAttributeDynamicValue(_params: StaticAttributeDynamicValueParams): void;
|
|
184
225
|
/**
|
|
185
226
|
* Dynamic attribute name with static value: data-<%= key %>="foo"
|
|
186
227
|
*/
|
|
187
|
-
protected checkDynamicAttributeStaticValue(
|
|
228
|
+
protected checkDynamicAttributeStaticValue(_params: DynamicAttributeStaticValueParams): void;
|
|
188
229
|
/**
|
|
189
230
|
* Dynamic attribute name with dynamic value: data-<%= key %>="<%= value %>"
|
|
190
231
|
*/
|
|
191
|
-
protected checkDynamicAttributeDynamicValue(
|
|
232
|
+
protected checkDynamicAttributeDynamicValue(_params: DynamicAttributeDynamicValueParams): void;
|
|
192
233
|
}
|
|
193
234
|
/**
|
|
194
235
|
* Checks if an attribute value is quoted
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ThemeInput } from "@herb-tools/highlighter";
|
|
2
|
-
export type FormatOption = "simple" | "detailed" | "json"
|
|
2
|
+
export type FormatOption = "simple" | "detailed" | "json";
|
|
3
3
|
export interface ParsedArguments {
|
|
4
4
|
pattern: string;
|
|
5
5
|
formatOption: FormatOption;
|
|
@@ -7,6 +7,7 @@ export interface ParsedArguments {
|
|
|
7
7
|
theme: ThemeInput;
|
|
8
8
|
wrapLines: boolean;
|
|
9
9
|
truncateLines: boolean;
|
|
10
|
+
useGitHubActions: boolean;
|
|
10
11
|
}
|
|
11
12
|
export declare class ArgumentParser {
|
|
12
13
|
private readonly usage;
|
|
@@ -5,6 +5,10 @@ export interface ProcessedFile {
|
|
|
5
5
|
offense: Diagnostic;
|
|
6
6
|
content: string;
|
|
7
7
|
}
|
|
8
|
+
export interface ProcessingContext {
|
|
9
|
+
projectPath?: string;
|
|
10
|
+
pattern?: string;
|
|
11
|
+
}
|
|
8
12
|
export interface ProcessingResult {
|
|
9
13
|
totalErrors: number;
|
|
10
14
|
totalWarnings: number;
|
|
@@ -15,8 +19,9 @@ export interface ProcessingResult {
|
|
|
15
19
|
count: number;
|
|
16
20
|
files: Set<string>;
|
|
17
21
|
}>;
|
|
22
|
+
context?: ProcessingContext;
|
|
18
23
|
}
|
|
19
24
|
export declare class FileProcessor {
|
|
20
25
|
private linter;
|
|
21
|
-
processFiles(files: string[], formatOption?: FormatOption): Promise<ProcessingResult>;
|
|
26
|
+
processFiles(files: string[], formatOption?: FormatOption, context?: ProcessingContext): Promise<ProcessingResult>;
|
|
22
27
|
}
|
|
@@ -2,9 +2,14 @@ import { BaseFormatter } from "./base-formatter.js";
|
|
|
2
2
|
import type { Diagnostic } from "@herb-tools/core";
|
|
3
3
|
import type { ProcessedFile } from "../file-processor.js";
|
|
4
4
|
export declare class GitHubActionsFormatter extends BaseFormatter {
|
|
5
|
+
private highlighter;
|
|
6
|
+
private wrapLines;
|
|
7
|
+
private truncateLines;
|
|
8
|
+
constructor(wrapLines?: boolean, truncateLines?: boolean);
|
|
5
9
|
private static readonly MESSAGE_ESCAPE_MAP;
|
|
6
10
|
private static readonly PARAM_ESCAPE_MAP;
|
|
7
|
-
format(allDiagnostics: ProcessedFile[]): Promise<void>;
|
|
11
|
+
format(allDiagnostics: ProcessedFile[], _isSingleFile?: boolean): Promise<void>;
|
|
12
|
+
formatAnnotations(allDiagnostics: ProcessedFile[]): Promise<void>;
|
|
8
13
|
formatFile(filename: string, diagnostics: Diagnostic[]): void;
|
|
9
14
|
private formatDiagnostic;
|
|
10
15
|
private escapeMessage;
|