From b1804c19cf66714906c46994562bdfe8973e8ce4 Mon Sep 17 00:00:00 2001 From: ota-meshi Date: Thu, 27 Apr 2023 20:20:51 +0900 Subject: [PATCH 1/2] fix: broken import when not using typescript-eslint --- src/rules/no-reactive-reassign.ts | 39 +++++++++++-------------------- 1 file changed, 13 insertions(+), 26 deletions(-) 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 { From 364f3ba58f57834303385d0ecd1eae878e89fc35 Mon Sep 17 00:00:00 2001 From: Yosuke Ota Date: Thu, 27 Apr 2023 20:21:51 +0900 Subject: [PATCH 2/2] Create great-hornets-fold.md --- .changeset/great-hornets-fold.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/great-hornets-fold.md 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