diff --git a/packages/lit-analyzer/src/lib/analyze/parse/tagged-template/find-tagged-templates.ts b/packages/lit-analyzer/src/lib/analyze/parse/tagged-template/find-tagged-templates.ts index d3f9ec5f..dd9d99c2 100644 --- a/packages/lit-analyzer/src/lib/analyze/parse/tagged-template/find-tagged-templates.ts +++ b/packages/lit-analyzer/src/lib/analyze/parse/tagged-template/find-tagged-templates.ts @@ -1,6 +1,7 @@ import { Node, SourceFile, TaggedTemplateExpression } from "typescript"; import { tsModule } from "../../ts-module.js"; -import { findParent, getNodeAtPosition } from "../../util/ast-util.js"; +import { findParent, getNodeAtPosition, leadingCommentsIncludes } from "../../util/ast-util.js"; +import { TS_IGNORE_FLAG } from "../../constants.js"; /** * Returns all virtual documents in a given file. @@ -51,9 +52,10 @@ export function visitTaggedTemplateNodes(astNode: Node, context: TaggedTemplateV const newContext = { ...context }; if (tsModule.ts.isTaggedTemplateExpression(astNode) && context.shouldCheckTemplateTag(astNode.tag.getText())) { // Only visit the template expression if the leading comments does not include the ts-ignore flag. - //if (!leadingCommentsIncludes(astNode.getSourceFile().getText(), astNode.getFullStart(), TS_IGNORE_FLAG)) { - newContext.parent = astNode; - context.emitTaggedTemplateNode(astNode); + if (!leadingCommentsIncludes(astNode.getSourceFile().getText(), astNode.getFullStart(), TS_IGNORE_FLAG)) { + newContext.parent = astNode; + context.emitTaggedTemplateNode(astNode); + } } astNode.forEachChild(child => visitTaggedTemplateNodes(child, context)); diff --git a/packages/lit-analyzer/src/test/rules/no-unclosed-tag.ts b/packages/lit-analyzer/src/test/rules/no-unclosed-tag.ts index b6fa0ed8..685ca952 100644 --- a/packages/lit-analyzer/src/test/rules/no-unclosed-tag.ts +++ b/packages/lit-analyzer/src/test/rules/no-unclosed-tag.ts @@ -11,3 +11,8 @@ tsTest("Don't report self closed tags", t => { const { diagnostics } = getDiagnostics("html``", { rules: { "no-unclosed-tag": true } }); hasNoDiagnostics(t, diagnostics); }); + +tsTest("Don't report unclosed tags when it's been ignored", t => { + const { diagnostics } = getDiagnostics("// @ts-ignore\nhtml`
`", { rules: { "no-unclosed-tag": true } }); + hasNoDiagnostics(t, diagnostics); +});