@herb-tools/linter 0.6.1 → 0.7.1

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.
Files changed (93) hide show
  1. package/README.md +60 -16
  2. package/dist/herb-lint.js +364 -181
  3. package/dist/herb-lint.js.map +1 -1
  4. package/dist/index.cjs +321 -100
  5. package/dist/index.cjs.map +1 -1
  6. package/dist/index.js +270 -89
  7. package/dist/index.js.map +1 -1
  8. package/dist/package.json +11 -5
  9. package/dist/src/cli/argument-parser.js +11 -6
  10. package/dist/src/cli/argument-parser.js.map +1 -1
  11. package/dist/src/cli/file-processor.js +5 -6
  12. package/dist/src/cli/file-processor.js.map +1 -1
  13. package/dist/src/cli/formatters/detailed-formatter.js +3 -5
  14. package/dist/src/cli/formatters/detailed-formatter.js.map +1 -1
  15. package/dist/src/cli/formatters/github-actions-formatter.js +55 -11
  16. package/dist/src/cli/formatters/github-actions-formatter.js.map +1 -1
  17. package/dist/src/cli/index.js +1 -0
  18. package/dist/src/cli/index.js.map +1 -1
  19. package/dist/src/cli/output-manager.js +23 -5
  20. package/dist/src/cli/output-manager.js.map +1 -1
  21. package/dist/src/cli/summary-reporter.js +2 -11
  22. package/dist/src/cli/summary-reporter.js.map +1 -1
  23. package/dist/src/cli.js +88 -4
  24. package/dist/src/cli.js.map +1 -1
  25. package/dist/src/default-rules.js +8 -4
  26. package/dist/src/default-rules.js.map +1 -1
  27. package/dist/src/linter.js.map +1 -1
  28. package/dist/src/rules/erb-prefer-image-tag-helper.js +1 -1
  29. package/dist/src/rules/erb-prefer-image-tag-helper.js.map +1 -1
  30. package/dist/src/rules/html-boolean-attributes-no-value.js +8 -8
  31. package/dist/src/rules/html-boolean-attributes-no-value.js.map +1 -1
  32. package/dist/src/rules/html-no-empty-attributes.js +56 -0
  33. package/dist/src/rules/html-no-empty-attributes.js.map +1 -0
  34. package/dist/src/rules/html-no-positive-tab-index.js +1 -1
  35. package/dist/src/rules/html-no-positive-tab-index.js.map +1 -1
  36. package/dist/src/rules/html-no-underscores-in-attribute-names.js +36 -0
  37. package/dist/src/rules/html-no-underscores-in-attribute-names.js.map +1 -0
  38. package/dist/src/rules/index.js +3 -0
  39. package/dist/src/rules/index.js.map +1 -1
  40. package/dist/src/rules/rule-utils.js +11 -7
  41. package/dist/src/rules/rule-utils.js.map +1 -1
  42. package/dist/src/rules/svg-tag-name-capitalization.js +2 -2
  43. package/dist/src/rules/svg-tag-name-capitalization.js.map +1 -1
  44. package/dist/tsconfig.tsbuildinfo +1 -1
  45. package/dist/types/cli/argument-parser.d.ts +2 -1
  46. package/dist/types/cli/file-processor.d.ts +6 -1
  47. package/dist/types/cli/formatters/github-actions-formatter.d.ts +6 -1
  48. package/dist/types/cli/index.d.ts +1 -0
  49. package/dist/types/cli/output-manager.d.ts +1 -0
  50. package/dist/types/cli.d.ts +20 -5
  51. package/dist/types/linter.d.ts +7 -7
  52. package/dist/types/rules/html-no-empty-attributes.d.ts +7 -0
  53. package/dist/types/rules/html-no-underscores-in-attribute-names.d.ts +7 -0
  54. package/dist/types/rules/index.d.ts +3 -0
  55. package/dist/types/rules/rule-utils.d.ts +7 -5
  56. package/dist/types/src/cli/argument-parser.d.ts +2 -1
  57. package/dist/types/src/cli/file-processor.d.ts +6 -1
  58. package/dist/types/src/cli/formatters/github-actions-formatter.d.ts +6 -1
  59. package/dist/types/src/cli/index.d.ts +1 -0
  60. package/dist/types/src/cli/output-manager.d.ts +1 -0
  61. package/dist/types/src/cli.d.ts +20 -5
  62. package/dist/types/src/linter.d.ts +7 -7
  63. package/dist/types/src/rules/html-no-empty-attributes.d.ts +7 -0
  64. package/dist/types/src/rules/html-no-underscores-in-attribute-names.d.ts +7 -0
  65. package/dist/types/src/rules/index.d.ts +3 -0
  66. package/dist/types/src/rules/rule-utils.d.ts +7 -5
  67. package/docs/rules/README.md +2 -0
  68. package/docs/rules/html-img-require-alt.md +0 -2
  69. package/docs/rules/html-no-empty-attributes.md +77 -0
  70. package/docs/rules/html-no-underscores-in-attribute-names.md +45 -0
  71. package/package.json +11 -5
  72. package/src/cli/argument-parser.ts +15 -7
  73. package/src/cli/file-processor.ts +11 -7
  74. package/src/cli/formatters/detailed-formatter.ts +5 -7
  75. package/src/cli/formatters/github-actions-formatter.ts +64 -11
  76. package/src/cli/index.ts +2 -0
  77. package/src/cli/output-manager.ts +27 -5
  78. package/src/cli/summary-reporter.ts +3 -11
  79. package/src/cli.ts +125 -20
  80. package/src/default-rules.ts +8 -4
  81. package/src/linter.ts +6 -6
  82. package/src/rules/erb-no-silent-tag-in-attribute-name.ts +1 -1
  83. package/src/rules/erb-prefer-image-tag-helper.ts +2 -2
  84. package/src/rules/erb-require-whitespace-inside-tags.ts +2 -2
  85. package/src/rules/html-attribute-double-quotes.ts +1 -1
  86. package/src/rules/html-boolean-attributes-no-value.ts +9 -11
  87. package/src/rules/html-no-empty-attributes.ts +75 -0
  88. package/src/rules/html-no-positive-tab-index.ts +1 -1
  89. package/src/rules/html-no-underscores-in-attribute-names.ts +58 -0
  90. package/src/rules/html-tag-name-lowercase.ts +1 -1
  91. package/src/rules/index.ts +3 -0
  92. package/src/rules/rule-utils.ts +15 -11
  93. package/src/rules/svg-tag-name-capitalization.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/types.ts","../src/rules/rule-utils.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","../../printer/dist/index.js","../src/rules/erb-prefer-image-tag-helper.ts","../src/rules/erb-requires-trailing-newline.ts","../src/rules/erb-require-whitespace-inside-tags.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-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/parser-no-errors.ts","../src/rules/svg-tag-name-capitalization.ts","../src/default-rules.ts","../src/linter.ts","../src/rules/html-no-block-inside-inline.ts"],"sourcesContent":[null,null,null,null,null,"import { Visitor, isToken, isParseResult, getNodesBeforePosition, getNodesAfterPosition, filterNodes, ERBContentNode, isERBOutputNode } from '@herb-tools/core';\n\nclass PrintContext {\n output = \"\";\n indentLevel = 0;\n currentColumn = 0;\n preserveStack = [];\n /**\n * Write text to the output\n */\n write(text) {\n this.output += text;\n this.currentColumn += text.length;\n }\n /**\n * Write text and update column tracking for newlines\n */\n writeWithColumnTracking(text) {\n this.output += text;\n const lines = text.split('\\n');\n if (lines.length > 1) {\n this.currentColumn = lines[lines.length - 1].length;\n }\n else {\n this.currentColumn += text.length;\n }\n }\n /**\n * Increase indentation level\n */\n indent() {\n this.indentLevel++;\n }\n /**\n * Decrease indentation level\n */\n dedent() {\n if (this.indentLevel > 0) {\n this.indentLevel--;\n }\n }\n /**\n * Enter a tag that may preserve whitespace\n */\n enterTag(tagName) {\n this.preserveStack.push(tagName.toLowerCase());\n }\n /**\n * Exit the current tag\n */\n exitTag() {\n this.preserveStack.pop();\n }\n /**\n * Check if we're at the start of a line\n */\n isAtStartOfLine() {\n return this.currentColumn === 0;\n }\n /**\n * Get current indentation level\n */\n getCurrentIndentLevel() {\n return this.indentLevel;\n }\n /**\n * Get current column position\n */\n getCurrentColumn() {\n return this.currentColumn;\n }\n /**\n * Get the current tag stack (for debugging)\n */\n getTagStack() {\n return [...this.preserveStack];\n }\n /**\n * Get the complete output string\n */\n getOutput() {\n return this.output;\n }\n /**\n * Reset the context for reuse\n */\n reset() {\n this.output = \"\";\n this.indentLevel = 0;\n this.currentColumn = 0;\n this.preserveStack = [];\n }\n}\n\n/**\n * Default print options used when none are provided\n */\nconst DEFAULT_PRINT_OPTIONS = {\n ignoreErrors: false\n};\nclass Printer extends Visitor {\n context = new PrintContext();\n /**\n * Static method to print a node without creating an instance\n *\n * @param input - The AST Node, Token, or ParseResult to print\n * @param options - Print options to control behavior\n * @returns The printed string representation of the input\n * @throws {Error} When node has parse errors and ignoreErrors is false\n */\n static print(input, options = DEFAULT_PRINT_OPTIONS) {\n const printer = new this();\n return printer.print(input, options);\n }\n /**\n * Print a node, token, or parse result to a string\n *\n * @param input - The AST Node, Token, or ParseResult to print\n * @param options - Print options to control behavior\n * @returns The printed string representation of the input\n * @throws {Error} When node has parse errors and ignoreErrors is false\n */\n print(input, options = DEFAULT_PRINT_OPTIONS) {\n if (isToken(input)) {\n return input.value;\n }\n if (Array.isArray(input)) {\n this.context.reset();\n input.forEach(node => this.visit(node));\n return this.context.getOutput();\n }\n const node = isParseResult(input) ? input.value : input;\n if (options.ignoreErrors === false && node.recursiveErrors().length > 0) {\n throw new Error(`Cannot print the node (${node.type}) since it or any of its children has parse errors. Either pass in a valid Node or call \\`print()\\` using \\`print(node, { ignoreErrors: true })\\``);\n }\n this.context.reset();\n this.visit(node);\n return this.context.getOutput();\n }\n write(content) {\n this.context.write(content);\n }\n}\n\n/**\n * IdentityPrinter - Provides lossless reconstruction of the original source\n *\n * This printer aims to reconstruct the original input as faithfully as possible,\n * preserving all whitespace, formatting, and structure. It's useful for:\n * - Testing parser accuracy (input should equal output)\n * - Baseline printing before applying transformations\n * - Verifying AST round-trip fidelity\n */\nclass IdentityPrinter extends Printer {\n visitLiteralNode(node) {\n this.write(node.content);\n }\n visitHTMLTextNode(node) {\n this.write(node.content);\n }\n visitWhitespaceNode(node) {\n if (node.value) {\n this.write(node.value.value);\n }\n }\n visitHTMLOpenTagNode(node) {\n if (node.tag_opening) {\n this.write(node.tag_opening.value);\n }\n if (node.tag_name) {\n this.write(node.tag_name.value);\n }\n this.visitChildNodes(node);\n if (node.tag_closing) {\n this.write(node.tag_closing.value);\n }\n }\n visitHTMLCloseTagNode(node) {\n if (node.tag_opening) {\n this.write(node.tag_opening.value);\n }\n if (node.tag_name) {\n const before = getNodesBeforePosition(node.children, node.tag_name.location.start, true);\n const after = getNodesAfterPosition(node.children, node.tag_name.location.end);\n this.visitAll(before);\n this.write(node.tag_name.value);\n this.visitAll(after);\n }\n else {\n this.visitAll(node.children);\n }\n if (node.tag_closing) {\n this.write(node.tag_closing.value);\n }\n }\n visitHTMLElementNode(node) {\n const tagName = node.tag_name?.value;\n if (tagName) {\n this.context.enterTag(tagName);\n }\n if (node.open_tag) {\n this.visit(node.open_tag);\n }\n if (node.body) {\n node.body.forEach(child => this.visit(child));\n }\n if (node.close_tag) {\n this.visit(node.close_tag);\n }\n if (tagName) {\n this.context.exitTag();\n }\n }\n visitHTMLAttributeNode(node) {\n if (node.name) {\n this.visit(node.name);\n }\n if (node.equals) {\n this.write(node.equals.value);\n }\n if (node.equals && node.value) {\n this.visit(node.value);\n }\n }\n visitHTMLAttributeNameNode(node) {\n this.visitChildNodes(node);\n }\n visitHTMLAttributeValueNode(node) {\n if (node.quoted && node.open_quote) {\n this.write(node.open_quote.value);\n }\n this.visitChildNodes(node);\n if (node.quoted && node.close_quote) {\n this.write(node.close_quote.value);\n }\n }\n visitHTMLCommentNode(node) {\n if (node.comment_start) {\n this.write(node.comment_start.value);\n }\n this.visitChildNodes(node);\n if (node.comment_end) {\n this.write(node.comment_end.value);\n }\n }\n visitHTMLDoctypeNode(node) {\n if (node.tag_opening) {\n this.write(node.tag_opening.value);\n }\n this.visitChildNodes(node);\n if (node.tag_closing) {\n this.write(node.tag_closing.value);\n }\n }\n visitXMLDeclarationNode(node) {\n if (node.tag_opening) {\n this.write(node.tag_opening.value);\n }\n this.visitChildNodes(node);\n if (node.tag_closing) {\n this.write(node.tag_closing.value);\n }\n }\n visitCDATANode(node) {\n if (node.tag_opening) {\n this.write(node.tag_opening.value);\n }\n this.visitChildNodes(node);\n if (node.tag_closing) {\n this.write(node.tag_closing.value);\n }\n }\n visitERBContentNode(node) {\n this.printERBNode(node);\n }\n visitERBIfNode(node) {\n this.printERBNode(node);\n if (node.statements) {\n node.statements.forEach(statement => this.visit(statement));\n }\n if (node.subsequent) {\n this.visit(node.subsequent);\n }\n if (node.end_node) {\n this.visit(node.end_node);\n }\n }\n visitERBElseNode(node) {\n this.printERBNode(node);\n if (node.statements) {\n node.statements.forEach(statement => this.visit(statement));\n }\n }\n visitERBEndNode(node) {\n this.printERBNode(node);\n }\n visitERBBlockNode(node) {\n this.printERBNode(node);\n if (node.body) {\n node.body.forEach(child => this.visit(child));\n }\n if (node.end_node) {\n this.visit(node.end_node);\n }\n }\n visitERBCaseNode(node) {\n this.printERBNode(node);\n if (node.children) {\n node.children.forEach(child => this.visit(child));\n }\n if (node.conditions) {\n node.conditions.forEach(condition => this.visit(condition));\n }\n if (node.else_clause) {\n this.visit(node.else_clause);\n }\n if (node.end_node) {\n this.visit(node.end_node);\n }\n }\n visitERBWhenNode(node) {\n this.printERBNode(node);\n if (node.statements) {\n node.statements.forEach(statement => this.visit(statement));\n }\n }\n visitERBWhileNode(node) {\n this.printERBNode(node);\n if (node.statements) {\n node.statements.forEach(statement => this.visit(statement));\n }\n if (node.end_node) {\n this.visit(node.end_node);\n }\n }\n visitERBUntilNode(node) {\n this.printERBNode(node);\n if (node.statements) {\n node.statements.forEach(statement => this.visit(statement));\n }\n if (node.end_node) {\n this.visit(node.end_node);\n }\n }\n visitERBForNode(node) {\n this.printERBNode(node);\n if (node.statements) {\n node.statements.forEach(statement => this.visit(statement));\n }\n if (node.end_node) {\n this.visit(node.end_node);\n }\n }\n visitERBBeginNode(node) {\n this.printERBNode(node);\n if (node.statements) {\n node.statements.forEach(statement => this.visit(statement));\n }\n if (node.rescue_clause) {\n this.visit(node.rescue_clause);\n }\n if (node.else_clause) {\n this.visit(node.else_clause);\n }\n if (node.ensure_clause) {\n this.visit(node.ensure_clause);\n }\n if (node.end_node) {\n this.visit(node.end_node);\n }\n }\n visitERBRescueNode(node) {\n this.printERBNode(node);\n if (node.statements) {\n node.statements.forEach(statement => this.visit(statement));\n }\n if (node.subsequent) {\n this.visit(node.subsequent);\n }\n }\n visitERBEnsureNode(node) {\n this.printERBNode(node);\n if (node.statements) {\n node.statements.forEach(statement => this.visit(statement));\n }\n }\n visitERBUnlessNode(node) {\n this.printERBNode(node);\n if (node.statements) {\n node.statements.forEach(statement => this.visit(statement));\n }\n if (node.else_clause) {\n this.visit(node.else_clause);\n }\n if (node.end_node) {\n this.visit(node.end_node);\n }\n }\n visitERBYieldNode(node) {\n this.printERBNode(node);\n }\n visitERBInNode(node) {\n this.printERBNode(node);\n if (node.statements) {\n node.statements.forEach(statement => this.visit(statement));\n }\n }\n visitERBCaseMatchNode(node) {\n this.printERBNode(node);\n if (node.children) {\n node.children.forEach(child => this.visit(child));\n }\n if (node.conditions) {\n node.conditions.forEach(condition => this.visit(condition));\n }\n if (node.else_clause) {\n this.visit(node.else_clause);\n }\n if (node.end_node) {\n this.visit(node.end_node);\n }\n }\n /**\n * Print ERB node tags and content\n */\n printERBNode(node) {\n if (node.tag_opening) {\n this.write(node.tag_opening.value);\n }\n if (node.content) {\n this.write(node.content.value);\n }\n if (node.tag_closing) {\n this.write(node.tag_closing.value);\n }\n }\n}\n\nconst DEFAULT_ERB_TO_RUBY_STRING_OPTIONS = {\n ...DEFAULT_PRINT_OPTIONS,\n forceQuotes: false\n};\n/**\n * ERBToRubyStringPrinter - Converts ERB snippets to Ruby strings with interpolation\n *\n * This printer transforms ERB templates into Ruby strings by:\n * - Converting literal text to string content\n * - Converting <%= %> tags to #{} interpolation\n * - Converting simple if/else blocks to ternary operators\n * - Ignoring <% %> tags (they don't produce output)\n *\n * Examples:\n * - `hello world <%= hello %>` => `\"hello world #{hello}\"`\n * - `hello world <% hello %>` => `\"hello world \"`\n * - `Welcome <%= user.name %>!` => `\"Welcome #{user.name}!\"`\n * - `<% if logged_in? %>Welcome<% else %>Login<% end %>` => `\"logged_in? ? \"Welcome\" : \"Login\"`\n * - `<% if logged_in? %>Welcome<% else %>Login<% end %>!` => `\"#{logged_in? ? \"Welcome\" : \"Login\"}!\"`\n */\nclass ERBToRubyStringPrinter extends IdentityPrinter {\n // TODO: cleanup `.type === \"AST_*\" checks`\n static print(node, options = DEFAULT_ERB_TO_RUBY_STRING_OPTIONS) {\n const erbNodes = filterNodes([node], ERBContentNode);\n if (erbNodes.length === 1 && isERBOutputNode(erbNodes[0]) && !options.forceQuotes) {\n return (erbNodes[0].content?.value || \"\").trim();\n }\n if ('children' in node && Array.isArray(node.children)) {\n const childErbNodes = filterNodes(node.children, ERBContentNode);\n const hasOnlyERBContent = node.children.length > 0 && node.children.length === childErbNodes.length;\n if (hasOnlyERBContent && childErbNodes.length === 1 && isERBOutputNode(childErbNodes[0]) && !options.forceQuotes) {\n return (childErbNodes[0].content?.value || \"\").trim();\n }\n if (node.children.length === 1 && node.children[0].type === \"AST_ERB_IF_NODE\" && !options.forceQuotes) {\n const ifNode = node.children[0];\n const printer = new ERBToRubyStringPrinter();\n if (printer.canConvertToTernary(ifNode)) {\n printer.convertToTernaryWithoutWrapper(ifNode);\n return printer.context.getOutput();\n }\n }\n if (node.children.length === 1 && node.children[0].type === \"AST_ERB_UNLESS_NODE\" && !options.forceQuotes) {\n const unlessNode = node.children[0];\n const printer = new ERBToRubyStringPrinter();\n if (printer.canConvertUnlessToTernary(unlessNode)) {\n printer.convertUnlessToTernaryWithoutWrapper(unlessNode);\n return printer.context.getOutput();\n }\n }\n }\n const printer = new ERBToRubyStringPrinter();\n printer.context.write('\"');\n printer.visit(node);\n printer.context.write('\"');\n return printer.context.getOutput();\n }\n visitHTMLTextNode(node) {\n if (node.content) {\n const escapedContent = node.content.replace(/\\\\/g, '\\\\\\\\').replace(/\"/g, '\\\\\"');\n this.context.write(escapedContent);\n }\n }\n visitERBContentNode(node) {\n if (isERBOutputNode(node)) {\n this.context.write(\"#{\");\n if (node.content?.value) {\n this.context.write(node.content.value.trim());\n }\n this.context.write(\"}\");\n }\n }\n visitERBIfNode(node) {\n if (this.canConvertToTernary(node)) {\n this.convertToTernary(node);\n }\n }\n visitERBUnlessNode(node) {\n if (this.canConvertUnlessToTernary(node)) {\n this.convertUnlessToTernary(node);\n }\n }\n visitHTMLAttributeValueNode(node) {\n this.visitChildNodes(node);\n }\n canConvertToTernary(node) {\n if (node.subsequent && node.subsequent.type !== \"AST_ERB_ELSE_NODE\") {\n return false;\n }\n const ifOnlyText = node.statements ? node.statements.every(statement => statement.type === \"AST_HTML_TEXT_NODE\") : true;\n if (!ifOnlyText)\n return false;\n if (node.subsequent && node.subsequent.type === \"AST_ERB_ELSE_NODE\") {\n return node.subsequent.statements\n ? node.subsequent.statements.every(statement => statement.type === \"AST_HTML_TEXT_NODE\")\n : true;\n }\n return true;\n }\n convertToTernary(node) {\n this.context.write(\"#{\");\n if (node.content?.value) {\n const condition = node.content.value.trim();\n const cleanCondition = condition.replace(/^if\\s+/, '');\n const needsParentheses = cleanCondition.includes(' ');\n if (needsParentheses) {\n this.context.write(\"(\");\n }\n this.context.write(cleanCondition);\n if (needsParentheses) {\n this.context.write(\")\");\n }\n }\n this.context.write(\" ? \");\n this.context.write('\"');\n if (node.statements) {\n node.statements.forEach(statement => this.visit(statement));\n }\n this.context.write('\"');\n this.context.write(\" : \");\n this.context.write('\"');\n if (node.subsequent && node.subsequent.type === \"AST_ERB_ELSE_NODE\" && node.subsequent.statements) {\n node.subsequent.statements.forEach(statement => this.visit(statement));\n }\n this.context.write('\"');\n this.context.write(\"}\");\n }\n convertToTernaryWithoutWrapper(node) {\n if (node.subsequent && node.subsequent.type !== \"AST_ERB_ELSE_NODE\") {\n return false;\n }\n if (node.content?.value) {\n const condition = node.content.value.trim();\n const cleanCondition = condition.replace(/^if\\s+/, '');\n const needsParentheses = cleanCondition.includes(' ');\n if (needsParentheses) {\n this.context.write(\"(\");\n }\n this.context.write(cleanCondition);\n if (needsParentheses) {\n this.context.write(\")\");\n }\n }\n this.context.write(\" ? \");\n this.context.write('\"');\n if (node.statements) {\n node.statements.forEach(statement => this.visit(statement));\n }\n this.context.write('\"');\n this.context.write(\" : \");\n this.context.write('\"');\n if (node.subsequent && node.subsequent.type === \"AST_ERB_ELSE_NODE\" && node.subsequent.statements) {\n node.subsequent.statements.forEach(statement => this.visit(statement));\n }\n this.context.write('\"');\n }\n canConvertUnlessToTernary(node) {\n const unlessOnlyText = node.statements ? node.statements.every(statement => statement.type === \"AST_HTML_TEXT_NODE\") : true;\n if (!unlessOnlyText)\n return false;\n if (node.else_clause && node.else_clause.type === \"AST_ERB_ELSE_NODE\") {\n return node.else_clause.statements\n ? node.else_clause.statements.every(statement => statement.type === \"AST_HTML_TEXT_NODE\")\n : true;\n }\n return true;\n }\n convertUnlessToTernary(node) {\n this.context.write(\"#{\");\n if (node.content?.value) {\n const condition = node.content.value.trim();\n const cleanCondition = condition.replace(/^unless\\s+/, '');\n const needsParentheses = cleanCondition.includes(' ');\n this.context.write(\"!(\");\n if (needsParentheses) {\n this.context.write(\"(\");\n }\n this.context.write(cleanCondition);\n if (needsParentheses) {\n this.context.write(\")\");\n }\n this.context.write(\")\");\n }\n this.context.write(\" ? \");\n this.context.write('\"');\n if (node.statements) {\n node.statements.forEach(statement => this.visit(statement));\n }\n this.context.write('\"');\n this.context.write(\" : \");\n this.context.write('\"');\n if (node.else_clause && node.else_clause.type === \"AST_ERB_ELSE_NODE\") {\n node.else_clause.statements.forEach(statement => this.visit(statement));\n }\n this.context.write('\"');\n this.context.write(\"}\");\n }\n convertUnlessToTernaryWithoutWrapper(node) {\n if (node.content?.value) {\n const condition = node.content.value.trim();\n const cleanCondition = condition.replace(/^unless\\s+/, '');\n const needsParentheses = cleanCondition.includes(' ');\n this.context.write(\"!(\");\n if (needsParentheses) {\n this.context.write(\"(\");\n }\n this.context.write(cleanCondition);\n if (needsParentheses) {\n this.context.write(\")\");\n }\n this.context.write(\")\");\n }\n this.context.write(\" ? \");\n this.context.write('\"');\n if (node.statements) {\n node.statements.forEach(statement => this.visit(statement));\n }\n this.context.write('\"');\n this.context.write(\" : \");\n this.context.write('\"');\n if (node.else_clause && node.else_clause.type === \"AST_ERB_ELSE_NODE\") {\n node.else_clause.statements.forEach(statement => this.visit(statement));\n }\n this.context.write('\"');\n }\n}\n\nexport { DEFAULT_PRINT_OPTIONS, ERBToRubyStringPrinter, IdentityPrinter, PrintContext, Printer };\n//# sourceMappingURL=index.js.map\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["Visitor","getStaticAttributeName","hasNodeDynamicAttributeName","getCombinedAttributeName","Position","Location","hasERBOutput","isEffectivelyStatic","getValidatableStaticContent","filterERBContentNodes","isToken","isParseResult","getNodesBeforePosition","getNodesAfterPosition","filterNodes","ERBContentNode","isERBOutputNode","isNode","LiteralNode","isERBNode","filterLiteralNodes","getTagName","HTMLOpenTagNode"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/types.ts","../src/rules/rule-utils.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","../../printer/dist/index.js","../src/rules/erb-prefer-image-tag-helper.ts","../src/rules/erb-requires-trailing-newline.ts","../src/rules/erb-require-whitespace-inside-tags.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-no-aria-hidden-on-focusable.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-tag-name-lowercase.ts","../src/rules/parser-no-errors.ts","../src/rules/svg-tag-name-capitalization.ts","../src/rules/html-no-underscores-in-attribute-names.ts","../src/default-rules.ts","../src/linter.ts","../src/rules/html-navigation-has-label.ts","../src/rules/html-no-block-inside-inline.ts","../src/rules/html-no-title-attribute.ts"],"sourcesContent":[null,null,null,null,null,"import { Visitor, isToken, isParseResult, getNodesBeforePosition, getNodesAfterPosition, filterNodes, ERBContentNode, isERBOutputNode } from '@herb-tools/core';\n\nclass PrintContext {\n output = \"\";\n indentLevel = 0;\n currentColumn = 0;\n preserveStack = [];\n /**\n * Write text to the output\n */\n write(text) {\n this.output += text;\n this.currentColumn += text.length;\n }\n /**\n * Write text and update column tracking for newlines\n */\n writeWithColumnTracking(text) {\n this.output += text;\n const lines = text.split('\\n');\n if (lines.length > 1) {\n this.currentColumn = lines[lines.length - 1].length;\n }\n else {\n this.currentColumn += text.length;\n }\n }\n /**\n * Increase indentation level\n */\n indent() {\n this.indentLevel++;\n }\n /**\n * Decrease indentation level\n */\n dedent() {\n if (this.indentLevel > 0) {\n this.indentLevel--;\n }\n }\n /**\n * Enter a tag that may preserve whitespace\n */\n enterTag(tagName) {\n this.preserveStack.push(tagName.toLowerCase());\n }\n /**\n * Exit the current tag\n */\n exitTag() {\n this.preserveStack.pop();\n }\n /**\n * Check if we're at the start of a line\n */\n isAtStartOfLine() {\n return this.currentColumn === 0;\n }\n /**\n * Get current indentation level\n */\n getCurrentIndentLevel() {\n return this.indentLevel;\n }\n /**\n * Get current column position\n */\n getCurrentColumn() {\n return this.currentColumn;\n }\n /**\n * Get the current tag stack (for debugging)\n */\n getTagStack() {\n return [...this.preserveStack];\n }\n /**\n * Get the complete output string\n */\n getOutput() {\n return this.output;\n }\n /**\n * Reset the context for reuse\n */\n reset() {\n this.output = \"\";\n this.indentLevel = 0;\n this.currentColumn = 0;\n this.preserveStack = [];\n }\n}\n\n/**\n * Default print options used when none are provided\n */\nconst DEFAULT_PRINT_OPTIONS = {\n ignoreErrors: false\n};\nclass Printer extends Visitor {\n context = new PrintContext();\n /**\n * Static method to print a node without creating an instance\n *\n * @param input - The AST Node, Token, or ParseResult to print\n * @param options - Print options to control behavior\n * @returns The printed string representation of the input\n * @throws {Error} When node has parse errors and ignoreErrors is false\n */\n static print(input, options = DEFAULT_PRINT_OPTIONS) {\n const printer = new this();\n return printer.print(input, options);\n }\n /**\n * Print a node, token, or parse result to a string\n *\n * @param input - The AST Node, Token, or ParseResult to print\n * @param options - Print options to control behavior\n * @returns The printed string representation of the input\n * @throws {Error} When node has parse errors and ignoreErrors is false\n */\n print(input, options = DEFAULT_PRINT_OPTIONS) {\n if (!input)\n return \"\";\n if (isToken(input)) {\n return input.value;\n }\n if (Array.isArray(input)) {\n this.context.reset();\n input.forEach(node => this.visit(node));\n return this.context.getOutput();\n }\n const node = isParseResult(input) ? input.value : input;\n if (options.ignoreErrors === false && node.recursiveErrors().length > 0) {\n throw new Error(`Cannot print the node (${node.type}) since it or any of its children has parse errors. Either pass in a valid Node or call \\`print()\\` using \\`print(node, { ignoreErrors: true })\\``);\n }\n this.context.reset();\n this.visit(node);\n return this.context.getOutput();\n }\n write(content) {\n this.context.write(content);\n }\n}\n\n/**\n * IdentityPrinter - Provides lossless reconstruction of the original source\n *\n * This printer aims to reconstruct the original input as faithfully as possible,\n * preserving all whitespace, formatting, and structure. It's useful for:\n * - Testing parser accuracy (input should equal output)\n * - Baseline printing before applying transformations\n * - Verifying AST round-trip fidelity\n */\nclass IdentityPrinter extends Printer {\n visitLiteralNode(node) {\n this.write(node.content);\n }\n visitHTMLTextNode(node) {\n this.write(node.content);\n }\n visitWhitespaceNode(node) {\n if (node.value) {\n this.write(node.value.value);\n }\n }\n visitHTMLOpenTagNode(node) {\n if (node.tag_opening) {\n this.write(node.tag_opening.value);\n }\n if (node.tag_name) {\n this.write(node.tag_name.value);\n }\n this.visitChildNodes(node);\n if (node.tag_closing) {\n this.write(node.tag_closing.value);\n }\n }\n visitHTMLCloseTagNode(node) {\n if (node.tag_opening) {\n this.write(node.tag_opening.value);\n }\n if (node.tag_name) {\n const before = getNodesBeforePosition(node.children, node.tag_name.location.start, true);\n const after = getNodesAfterPosition(node.children, node.tag_name.location.end);\n this.visitAll(before);\n this.write(node.tag_name.value);\n this.visitAll(after);\n }\n else {\n this.visitAll(node.children);\n }\n if (node.tag_closing) {\n this.write(node.tag_closing.value);\n }\n }\n visitHTMLElementNode(node) {\n const tagName = node.tag_name?.value;\n if (tagName) {\n this.context.enterTag(tagName);\n }\n if (node.open_tag) {\n this.visit(node.open_tag);\n }\n if (node.body) {\n node.body.forEach(child => this.visit(child));\n }\n if (node.close_tag) {\n this.visit(node.close_tag);\n }\n if (tagName) {\n this.context.exitTag();\n }\n }\n visitHTMLAttributeNode(node) {\n if (node.name) {\n this.visit(node.name);\n }\n if (node.equals) {\n this.write(node.equals.value);\n }\n if (node.equals && node.value) {\n this.visit(node.value);\n }\n }\n visitHTMLAttributeNameNode(node) {\n this.visitChildNodes(node);\n }\n visitHTMLAttributeValueNode(node) {\n if (node.quoted && node.open_quote) {\n this.write(node.open_quote.value);\n }\n this.visitChildNodes(node);\n if (node.quoted && node.close_quote) {\n this.write(node.close_quote.value);\n }\n }\n visitHTMLCommentNode(node) {\n if (node.comment_start) {\n this.write(node.comment_start.value);\n }\n this.visitChildNodes(node);\n if (node.comment_end) {\n this.write(node.comment_end.value);\n }\n }\n visitHTMLDoctypeNode(node) {\n if (node.tag_opening) {\n this.write(node.tag_opening.value);\n }\n this.visitChildNodes(node);\n if (node.tag_closing) {\n this.write(node.tag_closing.value);\n }\n }\n visitXMLDeclarationNode(node) {\n if (node.tag_opening) {\n this.write(node.tag_opening.value);\n }\n this.visitChildNodes(node);\n if (node.tag_closing) {\n this.write(node.tag_closing.value);\n }\n }\n visitCDATANode(node) {\n if (node.tag_opening) {\n this.write(node.tag_opening.value);\n }\n this.visitChildNodes(node);\n if (node.tag_closing) {\n this.write(node.tag_closing.value);\n }\n }\n visitERBContentNode(node) {\n this.printERBNode(node);\n }\n visitERBIfNode(node) {\n this.printERBNode(node);\n if (node.statements) {\n node.statements.forEach(statement => this.visit(statement));\n }\n if (node.subsequent) {\n this.visit(node.subsequent);\n }\n if (node.end_node) {\n this.visit(node.end_node);\n }\n }\n visitERBElseNode(node) {\n this.printERBNode(node);\n if (node.statements) {\n node.statements.forEach(statement => this.visit(statement));\n }\n }\n visitERBEndNode(node) {\n this.printERBNode(node);\n }\n visitERBBlockNode(node) {\n this.printERBNode(node);\n if (node.body) {\n node.body.forEach(child => this.visit(child));\n }\n if (node.end_node) {\n this.visit(node.end_node);\n }\n }\n visitERBCaseNode(node) {\n this.printERBNode(node);\n if (node.children) {\n node.children.forEach(child => this.visit(child));\n }\n if (node.conditions) {\n node.conditions.forEach(condition => this.visit(condition));\n }\n if (node.else_clause) {\n this.visit(node.else_clause);\n }\n if (node.end_node) {\n this.visit(node.end_node);\n }\n }\n visitERBWhenNode(node) {\n this.printERBNode(node);\n if (node.statements) {\n node.statements.forEach(statement => this.visit(statement));\n }\n }\n visitERBWhileNode(node) {\n this.printERBNode(node);\n if (node.statements) {\n node.statements.forEach(statement => this.visit(statement));\n }\n if (node.end_node) {\n this.visit(node.end_node);\n }\n }\n visitERBUntilNode(node) {\n this.printERBNode(node);\n if (node.statements) {\n node.statements.forEach(statement => this.visit(statement));\n }\n if (node.end_node) {\n this.visit(node.end_node);\n }\n }\n visitERBForNode(node) {\n this.printERBNode(node);\n if (node.statements) {\n node.statements.forEach(statement => this.visit(statement));\n }\n if (node.end_node) {\n this.visit(node.end_node);\n }\n }\n visitERBBeginNode(node) {\n this.printERBNode(node);\n if (node.statements) {\n node.statements.forEach(statement => this.visit(statement));\n }\n if (node.rescue_clause) {\n this.visit(node.rescue_clause);\n }\n if (node.else_clause) {\n this.visit(node.else_clause);\n }\n if (node.ensure_clause) {\n this.visit(node.ensure_clause);\n }\n if (node.end_node) {\n this.visit(node.end_node);\n }\n }\n visitERBRescueNode(node) {\n this.printERBNode(node);\n if (node.statements) {\n node.statements.forEach(statement => this.visit(statement));\n }\n if (node.subsequent) {\n this.visit(node.subsequent);\n }\n }\n visitERBEnsureNode(node) {\n this.printERBNode(node);\n if (node.statements) {\n node.statements.forEach(statement => this.visit(statement));\n }\n }\n visitERBUnlessNode(node) {\n this.printERBNode(node);\n if (node.statements) {\n node.statements.forEach(statement => this.visit(statement));\n }\n if (node.else_clause) {\n this.visit(node.else_clause);\n }\n if (node.end_node) {\n this.visit(node.end_node);\n }\n }\n visitERBYieldNode(node) {\n this.printERBNode(node);\n }\n visitERBInNode(node) {\n this.printERBNode(node);\n if (node.statements) {\n node.statements.forEach(statement => this.visit(statement));\n }\n }\n visitERBCaseMatchNode(node) {\n this.printERBNode(node);\n if (node.children) {\n node.children.forEach(child => this.visit(child));\n }\n if (node.conditions) {\n node.conditions.forEach(condition => this.visit(condition));\n }\n if (node.else_clause) {\n this.visit(node.else_clause);\n }\n if (node.end_node) {\n this.visit(node.end_node);\n }\n }\n /**\n * Print ERB node tags and content\n */\n printERBNode(node) {\n if (node.tag_opening) {\n this.write(node.tag_opening.value);\n }\n if (node.content) {\n this.write(node.content.value);\n }\n if (node.tag_closing) {\n this.write(node.tag_closing.value);\n }\n }\n}\n\nconst DEFAULT_ERB_TO_RUBY_STRING_OPTIONS = {\n ...DEFAULT_PRINT_OPTIONS,\n forceQuotes: false\n};\n/**\n * ERBToRubyStringPrinter - Converts ERB snippets to Ruby strings with interpolation\n *\n * This printer transforms ERB templates into Ruby strings by:\n * - Converting literal text to string content\n * - Converting <%= %> tags to #{} interpolation\n * - Converting simple if/else blocks to ternary operators\n * - Ignoring <% %> tags (they don't produce output)\n *\n * Examples:\n * - `hello world <%= hello %>` => `\"hello world #{hello}\"`\n * - `hello world <% hello %>` => `\"hello world \"`\n * - `Welcome <%= user.name %>!` => `\"Welcome #{user.name}!\"`\n * - `<% if logged_in? %>Welcome<% else %>Login<% end %>` => `\"logged_in? ? \"Welcome\" : \"Login\"`\n * - `<% if logged_in? %>Welcome<% else %>Login<% end %>!` => `\"#{logged_in? ? \"Welcome\" : \"Login\"}!\"`\n */\nclass ERBToRubyStringPrinter extends IdentityPrinter {\n // TODO: cleanup `.type === \"AST_*\" checks`\n static print(node, options = DEFAULT_ERB_TO_RUBY_STRING_OPTIONS) {\n const erbNodes = filterNodes([node], ERBContentNode);\n if (erbNodes.length === 1 && isERBOutputNode(erbNodes[0]) && !options.forceQuotes) {\n return (erbNodes[0].content?.value || \"\").trim();\n }\n if ('children' in node && Array.isArray(node.children)) {\n const childErbNodes = filterNodes(node.children, ERBContentNode);\n const hasOnlyERBContent = node.children.length > 0 && node.children.length === childErbNodes.length;\n if (hasOnlyERBContent && childErbNodes.length === 1 && isERBOutputNode(childErbNodes[0]) && !options.forceQuotes) {\n return (childErbNodes[0].content?.value || \"\").trim();\n }\n if (node.children.length === 1 && node.children[0].type === \"AST_ERB_IF_NODE\" && !options.forceQuotes) {\n const ifNode = node.children[0];\n const printer = new ERBToRubyStringPrinter();\n if (printer.canConvertToTernary(ifNode)) {\n printer.convertToTernaryWithoutWrapper(ifNode);\n return printer.context.getOutput();\n }\n }\n if (node.children.length === 1 && node.children[0].type === \"AST_ERB_UNLESS_NODE\" && !options.forceQuotes) {\n const unlessNode = node.children[0];\n const printer = new ERBToRubyStringPrinter();\n if (printer.canConvertUnlessToTernary(unlessNode)) {\n printer.convertUnlessToTernaryWithoutWrapper(unlessNode);\n return printer.context.getOutput();\n }\n }\n }\n const printer = new ERBToRubyStringPrinter();\n printer.context.write('\"');\n printer.visit(node);\n printer.context.write('\"');\n return printer.context.getOutput();\n }\n visitHTMLTextNode(node) {\n if (node.content) {\n const escapedContent = node.content.replace(/\\\\/g, '\\\\\\\\').replace(/\"/g, '\\\\\"');\n this.context.write(escapedContent);\n }\n }\n visitERBContentNode(node) {\n if (isERBOutputNode(node)) {\n this.context.write(\"#{\");\n if (node.content?.value) {\n this.context.write(node.content.value.trim());\n }\n this.context.write(\"}\");\n }\n }\n visitERBIfNode(node) {\n if (this.canConvertToTernary(node)) {\n this.convertToTernary(node);\n }\n }\n visitERBUnlessNode(node) {\n if (this.canConvertUnlessToTernary(node)) {\n this.convertUnlessToTernary(node);\n }\n }\n visitHTMLAttributeValueNode(node) {\n this.visitChildNodes(node);\n }\n canConvertToTernary(node) {\n if (node.subsequent && node.subsequent.type !== \"AST_ERB_ELSE_NODE\") {\n return false;\n }\n const ifOnlyText = node.statements ? node.statements.every(statement => statement.type === \"AST_HTML_TEXT_NODE\") : true;\n if (!ifOnlyText)\n return false;\n if (node.subsequent && node.subsequent.type === \"AST_ERB_ELSE_NODE\") {\n return node.subsequent.statements\n ? node.subsequent.statements.every(statement => statement.type === \"AST_HTML_TEXT_NODE\")\n : true;\n }\n return true;\n }\n convertToTernary(node) {\n this.context.write(\"#{\");\n if (node.content?.value) {\n const condition = node.content.value.trim();\n const cleanCondition = condition.replace(/^if\\s+/, '');\n const needsParentheses = cleanCondition.includes(' ');\n if (needsParentheses) {\n this.context.write(\"(\");\n }\n this.context.write(cleanCondition);\n if (needsParentheses) {\n this.context.write(\")\");\n }\n }\n this.context.write(\" ? \");\n this.context.write('\"');\n if (node.statements) {\n node.statements.forEach(statement => this.visit(statement));\n }\n this.context.write('\"');\n this.context.write(\" : \");\n this.context.write('\"');\n if (node.subsequent && node.subsequent.type === \"AST_ERB_ELSE_NODE\" && node.subsequent.statements) {\n node.subsequent.statements.forEach(statement => this.visit(statement));\n }\n this.context.write('\"');\n this.context.write(\"}\");\n }\n convertToTernaryWithoutWrapper(node) {\n if (node.subsequent && node.subsequent.type !== \"AST_ERB_ELSE_NODE\") {\n return false;\n }\n if (node.content?.value) {\n const condition = node.content.value.trim();\n const cleanCondition = condition.replace(/^if\\s+/, '');\n const needsParentheses = cleanCondition.includes(' ');\n if (needsParentheses) {\n this.context.write(\"(\");\n }\n this.context.write(cleanCondition);\n if (needsParentheses) {\n this.context.write(\")\");\n }\n }\n this.context.write(\" ? \");\n this.context.write('\"');\n if (node.statements) {\n node.statements.forEach(statement => this.visit(statement));\n }\n this.context.write('\"');\n this.context.write(\" : \");\n this.context.write('\"');\n if (node.subsequent && node.subsequent.type === \"AST_ERB_ELSE_NODE\" && node.subsequent.statements) {\n node.subsequent.statements.forEach(statement => this.visit(statement));\n }\n this.context.write('\"');\n }\n canConvertUnlessToTernary(node) {\n const unlessOnlyText = node.statements ? node.statements.every(statement => statement.type === \"AST_HTML_TEXT_NODE\") : true;\n if (!unlessOnlyText)\n return false;\n if (node.else_clause && node.else_clause.type === \"AST_ERB_ELSE_NODE\") {\n return node.else_clause.statements\n ? node.else_clause.statements.every(statement => statement.type === \"AST_HTML_TEXT_NODE\")\n : true;\n }\n return true;\n }\n convertUnlessToTernary(node) {\n this.context.write(\"#{\");\n if (node.content?.value) {\n const condition = node.content.value.trim();\n const cleanCondition = condition.replace(/^unless\\s+/, '');\n const needsParentheses = cleanCondition.includes(' ');\n this.context.write(\"!(\");\n if (needsParentheses) {\n this.context.write(\"(\");\n }\n this.context.write(cleanCondition);\n if (needsParentheses) {\n this.context.write(\")\");\n }\n this.context.write(\")\");\n }\n this.context.write(\" ? \");\n this.context.write('\"');\n if (node.statements) {\n node.statements.forEach(statement => this.visit(statement));\n }\n this.context.write('\"');\n this.context.write(\" : \");\n this.context.write('\"');\n if (node.else_clause && node.else_clause.type === \"AST_ERB_ELSE_NODE\") {\n node.else_clause.statements.forEach(statement => this.visit(statement));\n }\n this.context.write('\"');\n this.context.write(\"}\");\n }\n convertUnlessToTernaryWithoutWrapper(node) {\n if (node.content?.value) {\n const condition = node.content.value.trim();\n const cleanCondition = condition.replace(/^unless\\s+/, '');\n const needsParentheses = cleanCondition.includes(' ');\n this.context.write(\"!(\");\n if (needsParentheses) {\n this.context.write(\"(\");\n }\n this.context.write(cleanCondition);\n if (needsParentheses) {\n this.context.write(\")\");\n }\n this.context.write(\")\");\n }\n this.context.write(\" ? \");\n this.context.write('\"');\n if (node.statements) {\n node.statements.forEach(statement => this.visit(statement));\n }\n this.context.write('\"');\n this.context.write(\" : \");\n this.context.write('\"');\n if (node.else_clause && node.else_clause.type === \"AST_ERB_ELSE_NODE\") {\n node.else_clause.statements.forEach(statement => this.visit(statement));\n }\n this.context.write('\"');\n }\n}\n\nexport { DEFAULT_PRINT_OPTIONS, ERBToRubyStringPrinter, IdentityPrinter, PrintContext, Printer };\n//# sourceMappingURL=index.js.map\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["ControlFlowType","Visitor","getStaticAttributeName","hasNodeDynamicAttributeName","getCombinedAttributeName","hasStaticContent","getStaticContentFromNodes","Position","Location","hasERBOutput","isEffectivelyStatic","getValidatableStaticContent","filterERBContentNodes","isToken","isParseResult","getNodesBeforePosition","getNodesAfterPosition","filterNodes","ERBContentNode","isERBOutputNode","isNode","LiteralNode","isERBNode","filterLiteralNodes","getTagName","HTMLOpenTagNode"],"mappings":"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"}