From 8f1b08247362753538aaca2bfaf1f2e9f20407ee Mon Sep 17 00:00:00 2001 From: ota-meshi Date: Wed, 8 Mar 2023 20:03:13 +0900 Subject: [PATCH 1/2] fix: `ReferenceTracker` usage --- src/rules/infinite-reactive-loop.ts | 8 ++++++-- src/rules/reference-helpers/svelte-store.ts | 4 +++- src/rules/require-event-dispatcher-types.ts | 4 +++- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/rules/infinite-reactive-loop.ts b/src/rules/infinite-reactive-loop.ts index 83586ac77..63eec0137 100644 --- a/src/rules/infinite-reactive-loop.ts +++ b/src/rules/infinite-reactive-loop.ts @@ -12,7 +12,9 @@ import { traverseNodes } from "svelte-eslint-parser" function extractTickReferences( context: RuleContext, ): { node: TSESTree.CallExpression; name: string }[] { - const referenceTracker = new ReferenceTracker(context.getScope()) + const referenceTracker = new ReferenceTracker( + context.getSourceCode().scopeManager.globalScope!, + ) const a = referenceTracker.iterateEsmReferences({ svelte: { [ReferenceTracker.ESM]: true, @@ -35,7 +37,9 @@ function extractTickReferences( function extractTaskReferences( context: RuleContext, ): { node: TSESTree.CallExpression; name: string }[] { - const referenceTracker = new ReferenceTracker(context.getScope()) + const referenceTracker = new ReferenceTracker( + context.getSourceCode().scopeManager.globalScope!, + ) const a = referenceTracker.iterateGlobalReferences({ setTimeout: { [ReferenceTracker.CALL]: true }, setInterval: { [ReferenceTracker.CALL]: true }, diff --git a/src/rules/reference-helpers/svelte-store.ts b/src/rules/reference-helpers/svelte-store.ts index 4d15626ac..b4dfbaf36 100644 --- a/src/rules/reference-helpers/svelte-store.ts +++ b/src/rules/reference-helpers/svelte-store.ts @@ -13,7 +13,9 @@ export function* extractStoreReferences( context: RuleContext, storeNames: StoreName[] = ["writable", "readable", "derived"], ): Generator<{ node: TSESTree.CallExpression; name: string }, void> { - const referenceTracker = new ReferenceTracker(context.getScope()) + const referenceTracker = new ReferenceTracker( + context.getSourceCode().scopeManager.globalScope!, + ) for (const { node, path } of referenceTracker.iterateEsmReferences({ "svelte/store": { [ReferenceTracker.ESM]: true, diff --git a/src/rules/require-event-dispatcher-types.ts b/src/rules/require-event-dispatcher-types.ts index 2067aa18b..ee3ac2c12 100644 --- a/src/rules/require-event-dispatcher-types.ts +++ b/src/rules/require-event-dispatcher-types.ts @@ -29,7 +29,9 @@ export default createRule("require-event-dispatcher-types", { if (!isTs) { return } - const referenceTracker = new ReferenceTracker(context.getScope()) + const referenceTracker = new ReferenceTracker( + context.getSourceCode().scopeManager.globalScope!, + ) for (const { node: n } of referenceTracker.iterateEsmReferences({ svelte: { [ReferenceTracker.ESM]: true, From fbe2e66793c8d656c581491c61d8fdb4df2885ba Mon Sep 17 00:00:00 2001 From: Yosuke Ota Date: Wed, 8 Mar 2023 20:06:43 +0900 Subject: [PATCH 2/2] Create .changeset/wet-books-travel.md --- .changeset/wet-books-travel.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/wet-books-travel.md diff --git a/.changeset/wet-books-travel.md b/.changeset/wet-books-travel.md new file mode 100644 index 000000000..0e2a37848 --- /dev/null +++ b/.changeset/wet-books-travel.md @@ -0,0 +1,5 @@ +--- +"eslint-plugin-svelte": patch +--- + +fix: `ReferenceTracker` usage