Skip to content

Commit 99477b9

Browse files
committed
feat(require-strict-events): reporting lint issue on script tag
1 parent 67486eb commit 99477b9

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

src/rules/experimental-require-strict-events.ts

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import type { AST } from "svelte-eslint-parser"
2+
13
import { createRule } from "../utils"
24
import { findAttribute, getLangValue } from "../utils/ast-utils"
35

@@ -18,11 +20,13 @@ export default createRule("experimental-require-strict-events", {
1820
let isTs = false
1921
let hasAttribute = false
2022
let hasInterface = false
23+
let scriptNode: AST.SvelteScriptElement
2124
return {
2225
SvelteScriptElement(node) {
2326
const lang = getLangValue(node)?.toLowerCase()
2427
isTs = lang === "ts" || lang === "typescript"
2528
hasAttribute = findAttribute(node, "strictEvents") !== null
29+
scriptNode = node
2630
},
2731
TSInterfaceDeclaration(node) {
2832
if (node.id.name === "$$Events") {
@@ -32,10 +36,7 @@ export default createRule("experimental-require-strict-events", {
3236
"Program:exit"() {
3337
if (isTs && !hasAttribute && !hasInterface) {
3438
context.report({
35-
loc: {
36-
line: 1,
37-
column: 1,
38-
},
39+
node: scriptNode,
3940
messageId: "missingStrictEvents",
4041
})
4142
}

tests/fixtures/rules/experimental-require-strict-events/invalid/no-strict-events01-errors.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
The component must have the strictEvents attribute on its <script> tag
33
or it must define the $$Events interface.
44
line: 1
5-
column: 2
5+
column: 1
66
suggestions: null

0 commit comments

Comments
 (0)