diff --git a/.changeset/great-hornets-fold.md b/.changeset/great-hornets-fold.md new file mode 100644 index 000000000..6df01f314 --- /dev/null +++ b/.changeset/great-hornets-fold.md @@ -0,0 +1,5 @@ +--- +"eslint-plugin-svelte": patch +--- + +fix: broken import when not using typescript-eslint diff --git a/src/rules/no-reactive-reassign.ts b/src/rules/no-reactive-reassign.ts index 214a6e60f..63cf9ee0e 100644 --- a/src/rules/no-reactive-reassign.ts +++ b/src/rules/no-reactive-reassign.ts @@ -1,4 +1,4 @@ -import { TSESTree } from "@typescript-eslint/types" +import type { TSESTree } from "@typescript-eslint/types" import type { AST } from "svelte-eslint-parser" import { createRule } from "../utils" import { getPropertyName } from "@eslint-community/eslint-utils" @@ -65,19 +65,17 @@ export default createRule("no-reactive-reassign", { pathNodes?: TSESTree.MemberExpression[] } } = { - [TSESTree.AST_NODE_TYPES.UpdateExpression]: + UpdateExpression: // e.g. foo ++, foo -- ({ parent }) => ({ type: "reassign", node: parent }), - [TSESTree.AST_NODE_TYPES.UnaryExpression]: ({ - parent, - }: CheckContext) => { + UnaryExpression: ({ parent }: CheckContext) => { if (parent.operator === "delete") { // e.g. delete foo.prop return { type: "reassign", node: parent } } return null }, - [TSESTree.AST_NODE_TYPES.AssignmentExpression]: ({ + AssignmentExpression: ({ node, parent, }: CheckContext) => { @@ -87,7 +85,7 @@ export default createRule("no-reactive-reassign", { } return null }, - [TSESTree.AST_NODE_TYPES.ForInStatement]: ({ + ForInStatement: ({ node, parent, }: CheckContext) => { @@ -97,7 +95,7 @@ export default createRule("no-reactive-reassign", { } return null }, - [TSESTree.AST_NODE_TYPES.ForOfStatement]: ({ + ForOfStatement: ({ node, parent, }: CheckContext) => { @@ -107,7 +105,7 @@ export default createRule("no-reactive-reassign", { } return null }, - [TSESTree.AST_NODE_TYPES.CallExpression]: ({ + CallExpression: ({ node, parent, pathNodes, @@ -131,7 +129,7 @@ export default createRule("no-reactive-reassign", { } return null }, - [TSESTree.AST_NODE_TYPES.MemberExpression]: ({ + MemberExpression: ({ node, parent, pathNodes, @@ -146,14 +144,12 @@ export default createRule("no-reactive-reassign", { } return null }, - [TSESTree.AST_NODE_TYPES.ChainExpression]: ({ - parent, - }: CheckContext) => { + ChainExpression: ({ parent }: CheckContext) => { // e.g. `foo?.prop` // The context to check next. return { type: "check", node: parent } }, - [TSESTree.AST_NODE_TYPES.ConditionalExpression]: ({ + ConditionalExpression: ({ node, parent, }: CheckContext) => { @@ -163,10 +159,7 @@ export default createRule("no-reactive-reassign", { // The context to check next for `(test ? foo : bar).prop`. return { type: "check", node: parent } }, - [TSESTree.AST_NODE_TYPES.Property]: ({ - node, - parent, - }: CheckContext) => { + Property: ({ node, parent }: CheckContext) => { if ( parent.value === node && parent.parent && @@ -177,20 +170,14 @@ export default createRule("no-reactive-reassign", { } return null }, - [TSESTree.AST_NODE_TYPES.ArrayPattern]: ({ - node, - parent, - }: CheckContext) => { + ArrayPattern: ({ node, parent }: CheckContext) => { if (parent.elements.includes(node as TSESTree.DestructuringPattern)) { // The context to check next for `([foo] = obj)`. return { type: "check", node: parent } } return null }, - [TSESTree.AST_NODE_TYPES.RestElement]: ({ - node, - parent, - }: CheckContext) => { + RestElement: ({ node, parent }: CheckContext) => { if (parent.argument === node && parent.parent) { // The context to check next for `({...foo} = obj)`. return {