Skip to content

Commit 7a74d85

Browse files
committed
fix: bug
1 parent 14283bd commit 7a74d85

File tree

1 file changed

+18
-14
lines changed

1 file changed

+18
-14
lines changed

src/rules/no-not-data-props-in-kit-pages.ts

+18-14
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import type { AST } from "svelte-eslint-parser"
12
import type * as ESTree from "estree"
23
import { createRule } from "../utils"
34
import { isKitPageComponent } from "../utils/svelte-kit"
@@ -21,29 +22,32 @@ export default createRule("no-not-data-props-in-kit-pages", {
2122
},
2223
create(context) {
2324
if (!isKitPageComponent(context)) return {}
24-
let isModule = false
25+
let isScript = false
2526
return {
26-
// <script context="module">
27-
[`Program > SvelteScriptElement > SvelteStartTag > SvelteAttribute[key.name="context"] > SvelteLiteral[value="module"]`]:
28-
() => {
29-
isModule = true
30-
},
31-
3227
// <script>
33-
[`Program > SvelteScriptElement > SvelteStartTag > SvelteAttribute[key.name="context"] > SvelteLiteral[value!="module"]`]:
34-
() => {
35-
isModule = false
36-
},
28+
[`Program > SvelteScriptElement > SvelteStartTag`]: (
29+
node: AST.SvelteStartTag,
30+
) => {
31+
// except for <script context="module">
32+
isScript = !node.attributes.some(
33+
(a) =>
34+
a.type === "SvelteAttribute" &&
35+
a.key.name === "context" &&
36+
a.value.some(
37+
(v) => v.type === "SvelteLiteral" && v.value === "module",
38+
),
39+
)
40+
},
3741

3842
// </script>
39-
["SvelteEndTag"]: () => {
40-
isModule = false
43+
"Program > SvelteScriptElement:exit": () => {
44+
isScript = false
4145
},
4246

4347
// export let xxx
4448
[`ExportNamedDeclaration > VariableDeclaration > VariableDeclarator > Identifier`]:
4549
(node: ESTree.Identifier) => {
46-
if (isModule) return {}
50+
if (!isScript) return {}
4751
const { name } = node
4852
if (EXPECTED_PROP_NAMES.includes(name)) return {}
4953
return context.report({

0 commit comments

Comments
 (0)