Skip to content

Commit f594c9c

Browse files
committed
chore(no-unused-class-name): updated the rule to use the StyleContext parser services
1 parent 0aeff3e commit f594c9c

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

src/rules/no-unused-class-name.ts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ export default createRule("no-unused-class-name", {
2828
},
2929
create(context) {
3030
const classesUsedInTemplate: Record<string, SourceLocation> = {}
31-
let hasStyleNode = false
3231

3332
return {
3433
SvelteElement(node) {
@@ -40,16 +39,19 @@ export default createRule("no-unused-class-name", {
4039
classesUsedInTemplate[className] = node.startTag.loc
4140
}
4241
},
43-
SvelteStyleElement() {
44-
hasStyleNode = true
45-
},
4642
"Program:exit"() {
47-
const styleAst = context.parserServices.getStyleSourceAst()
48-
if (hasStyleNode && styleAst === null) {
43+
const styleContext = context.parserServices.getStyleContext()
44+
if (
45+
// There is a style element, but it couldn't be parsed
46+
styleContext.sourceLang !== null &&
47+
styleContext.sourceAst === null
48+
) {
4949
return
5050
}
5151
const classesUsedInStyle =
52-
styleAst != null ? findClassesInPostCSSNode(styleAst) : []
52+
styleContext.sourceAst != null
53+
? findClassesInPostCSSNode(styleContext.sourceAst)
54+
: []
5355
for (const className in classesUsedInTemplate) {
5456
if (!classesUsedInStyle.includes(className)) {
5557
context.report({

0 commit comments

Comments
 (0)