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 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,