Skip to content

Commit 8640811

Browse files
fix: handle type alias for $$Events
1 parent b8437cc commit 8640811

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

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

+11-4
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ import type { AST } from "svelte-eslint-parser"
33
import { createRule } from "../utils"
44
import { findAttribute, getLangValue } from "../utils/ast-utils"
55

6+
const EVENTS_TYPE_NAME = "$$Events"
7+
68
export default createRule("experimental-require-strict-events", {
79
meta: {
810
docs: {
@@ -19,7 +21,7 @@ export default createRule("experimental-require-strict-events", {
1921
create(context) {
2022
let isTs = false
2123
let hasAttribute = false
22-
let hasInterface = false
24+
let hasDeclaredEvents = false
2325
let scriptNode: AST.SvelteScriptElement
2426
return {
2527
SvelteScriptElement(node) {
@@ -29,12 +31,17 @@ export default createRule("experimental-require-strict-events", {
2931
scriptNode = node
3032
},
3133
TSInterfaceDeclaration(node) {
32-
if (node.id.name === "$$Events") {
33-
hasInterface = true
34+
if (node.id.name === EVENTS_TYPE_NAME) {
35+
hasDeclaredEvents = true
36+
}
37+
},
38+
TSTypeAliasDeclaration(node) {
39+
if (node.id.name === EVENTS_TYPE_NAME) {
40+
hasDeclaredEvents = true
3441
}
3542
},
3643
"Program:exit"() {
37-
if (isTs && !hasAttribute && !hasInterface) {
44+
if (isTs && !hasAttribute && !hasDeclaredEvents) {
3845
context.report({
3946
node: scriptNode,
4047
messageId: "missingStrictEvents",

0 commit comments

Comments
 (0)