diff --git a/packages/utils/src/eslint-utils/context.ts b/packages/utils/src/eslint-utils/context.ts new file mode 100644 index 000000000000..1229d72dbaf4 --- /dev/null +++ b/packages/utils/src/eslint-utils/context.ts @@ -0,0 +1,48 @@ +// Wrappers around ESLint's deprecation of existing methods +/* eslint-disable deprecation/deprecation -- TODO - delete in the next major (v8) */ +import type { Scope, SourceCode } from '../ts-eslint'; +import type { RuleContext } from '../ts-eslint/Rule'; +import type { TSESTree } from '../ts-estree'; + +/** @deprecated use `context.sourceCode.getAncestors(node)` */ +export function getAncestors( + context: Readonly>, +): TSESTree.Node[] { + return context.getAncestors(); +} + +/** @deprecated use `context.sourceCode.getCwd()` */ +export function getCwd( + context: Readonly>, +): string { + return context.getCwd(); +} + +/** @deprecated use `context.sourceCode.getDeclaredVariables(node)` */ +export function getDeclaredVariables( + context: Readonly>, + node: TSESTree.Node, +): readonly Scope.Variable[] { + return context.sourceCode.getDeclaredVariables(node); +} + +/** @deprecated use `context.filename` */ +export function getFilename( + context: Readonly>, +): string { + return context.filename; +} + +/** @deprecated use `context.sourceCode.getScope(node) */ +export function getScope( + context: Readonly>, +): Scope.Scope { + return context.getScope(); +} + +/** @deprecated use `context.sourceCode` */ +export function getSourceCode( + context: Readonly>, +): Readonly { + return context.sourceCode; +}