Skip to content

Commit

Permalink
stop using deprecated methods
Browse files Browse the repository at this point in the history
  • Loading branch information
bradzacher committed Feb 5, 2024
1 parent e5db5a3 commit 838cadd
Show file tree
Hide file tree
Showing 132 changed files with 665 additions and 1,156 deletions.
Expand Up @@ -2,7 +2,6 @@ import prettier from '@prettier/sync';
import { getContextualType } from '@typescript-eslint/type-utils';
import type { TSESTree } from '@typescript-eslint/utils';
import { AST_NODE_TYPES, ESLintUtils } from '@typescript-eslint/utils';
import { getSourceCode } from '@typescript-eslint/utils/eslint-utils';

import { createRule } from '../util';

Expand Down Expand Up @@ -148,7 +147,6 @@ export default createRule<Options, MessageIds>({
},
],
create(context, [{ formatWithPrettier }]) {
const sourceCode = getSourceCode(context);
const services = ESLintUtils.getParserServices(context);
const checker = services.program.getTypeChecker();

Expand Down Expand Up @@ -326,7 +324,10 @@ export default createRule<Options, MessageIds>({
});
}

const parentIndent = getExpectedIndentForNode(literal, sourceCode.lines);
const parentIndent = getExpectedIndentForNode(
literal,
context.sourceCode.lines,
);
if (lastLine.length !== parentIndent) {
return context.report({
node: literal,
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-plugin-tslint/package.json
Expand Up @@ -49,7 +49,7 @@
"@typescript-eslint/utils": "6.20.0"
},
"peerDependencies": {
"eslint": "^7.0.0 || ^8.0.0",
"eslint": "^8.56.0",
"tslint": "^5.0.0 || ^6.0.0",
"typescript": "*"
},
Expand Down
10 changes: 2 additions & 8 deletions packages/eslint-plugin-tslint/src/rules/config.ts
@@ -1,9 +1,4 @@
import { ESLintUtils } from '@typescript-eslint/utils';
import {
getCwd,
getFilename,
getSourceCode,
} from '@typescript-eslint/utils/eslint-utils';
import path from 'path';
import type { RuleSeverity } from 'tslint';
import { Configuration } from 'tslint';
Expand Down Expand Up @@ -124,8 +119,7 @@ export default createRule<Options, MessageIds>({
context,
[{ rules: tslintRules, rulesDirectory: tslintRulesDirectory, lintFile }],
) {
const fileName = path.resolve(getCwd(context), getFilename(context));
const sourceCode = getSourceCode(context).text;
const fileName = path.resolve(context.cwd, context.filename);
const services = ESLintUtils.getParserServices(context);
const program = services.program;

Expand All @@ -144,7 +138,7 @@ export default createRule<Options, MessageIds>({
tslintRules,
tslintRulesDirectory,
);
tslint.lint(fileName, sourceCode, configuration);
tslint.lint(fileName, context.sourceCode.text, configuration);

const result = tslint.getResult();

Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-plugin/package.json
Expand Up @@ -92,7 +92,7 @@
},
"peerDependencies": {
"@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha",
"eslint": "^7.0.0 || ^8.0.0"
"eslint": "^8.56.0"
},
"peerDependenciesMeta": {
"typescript": {
Expand Down
@@ -1,6 +1,5 @@
import type { TSESTree } from '@typescript-eslint/utils';
import { AST_NODE_TYPES } from '@typescript-eslint/utils';
import { getSourceCode } from '@typescript-eslint/utils/eslint-utils';

import { createRule, getNameFromMember, MemberNameType } from '../util';

Expand Down Expand Up @@ -31,8 +30,6 @@ export default createRule({
},
defaultOptions: [],
create(context) {
const sourceCode = getSourceCode(context);

interface Method {
name: string;
static: boolean;
Expand Down Expand Up @@ -74,7 +71,7 @@ export default createRule({
}
case AST_NODE_TYPES.TSMethodSignature:
return {
...getNameFromMember(member, sourceCode),
...getNameFromMember(member, context.sourceCode),
static: isStatic,
callSignature: false,
};
Expand All @@ -94,7 +91,7 @@ export default createRule({
};
case AST_NODE_TYPES.MethodDefinition:
return {
...getNameFromMember(member, sourceCode),
...getNameFromMember(member, context.sourceCode),
static: isStatic,
callSignature: false,
};
Expand Down
7 changes: 2 additions & 5 deletions packages/eslint-plugin/src/rules/array-type.ts
@@ -1,6 +1,5 @@
import type { TSESTree } from '@typescript-eslint/utils';
import { AST_NODE_TYPES } from '@typescript-eslint/utils';
import { getSourceCode } from '@typescript-eslint/utils/eslint-utils';

import { createRule, isParenthesized } from '../util';

Expand Down Expand Up @@ -135,8 +134,6 @@ export default createRule<Options, MessageIds>({
},
],
create(context, [options]) {
const sourceCode = getSourceCode(context);

const defaultOption = options.default;
const readonlyOption = options.readonly ?? defaultOption;

Expand All @@ -145,7 +142,7 @@ export default createRule<Options, MessageIds>({
*/
function getMessageType(node: TSESTree.Node): string {
if (isSimpleType(node)) {
return sourceCode.getText(node);
return context.sourceCode.getText(node);
}
return 'T';
}
Expand Down Expand Up @@ -254,7 +251,7 @@ export default createRule<Options, MessageIds>({
const parentParens =
readonlyPrefix &&
node.parent.type === AST_NODE_TYPES.TSArrayType &&
!isParenthesized(node.parent.elementType, sourceCode);
!isParenthesized(node.parent.elementType, context.sourceCode);

const start = `${parentParens ? '(' : ''}${readonlyPrefix}${
typeParens ? '(' : ''
Expand Down
4 changes: 1 addition & 3 deletions packages/eslint-plugin/src/rules/await-thenable.ts
@@ -1,5 +1,4 @@
import type { TSESLint } from '@typescript-eslint/utils';
import { getSourceCode } from '@typescript-eslint/utils/eslint-utils';
import * as tsutils from 'ts-api-utils';

import {
Expand Down Expand Up @@ -51,9 +50,8 @@ export default createRule({
{
messageId: 'removeAwait',
fix(fixer): TSESLint.RuleFix {
const sourceCode = getSourceCode(context);
const awaitKeyword = nullThrows(
sourceCode.getFirstToken(node, isAwaitKeyword),
context.sourceCode.getFirstToken(node, isAwaitKeyword),
NullThrowsReasons.MissingToken('await', 'await expression'),
);

Expand Down
4 changes: 1 addition & 3 deletions packages/eslint-plugin/src/rules/ban-ts-comment.ts
@@ -1,5 +1,4 @@
import { AST_TOKEN_TYPES, type TSESLint } from '@typescript-eslint/utils';
import { getSourceCode } from '@typescript-eslint/utils/eslint-utils';

import { createRule, getStringLength } from '../util';

Expand Down Expand Up @@ -103,7 +102,6 @@ export default createRule<[Options], MessageIds>({
/^\/*\s*@ts-(?<directive>expect-error|ignore|check|nocheck)(?<description>.*)/;
const commentDirectiveRegExMultiLine =
/^\s*(?:\/|\*)*\s*@ts-(?<directive>expect-error|ignore|check|nocheck)(?<description>.*)/;
const sourceCode = getSourceCode(context);

const descriptionFormats = new Map<string, RegExp>();
for (const directive of [
Expand All @@ -120,7 +118,7 @@ export default createRule<[Options], MessageIds>({

return {
Program(): void {
const comments = sourceCode.getAllComments();
const comments = context.sourceCode.getAllComments();

comments.forEach(comment => {
const regExp =
Expand Down
8 changes: 3 additions & 5 deletions packages/eslint-plugin/src/rules/ban-tslint-comment.ts
@@ -1,5 +1,4 @@
import { AST_TOKEN_TYPES } from '@typescript-eslint/utils';
import { getSourceCode } from '@typescript-eslint/utils/eslint-utils';

import { createRule } from '../util';

Expand Down Expand Up @@ -32,22 +31,21 @@ export default createRule({
},
defaultOptions: [],
create: context => {
const sourceCode = getSourceCode(context);
return {
Program(): void {
const comments = sourceCode.getAllComments();
const comments = context.sourceCode.getAllComments();
comments.forEach(c => {
if (ENABLE_DISABLE_REGEX.test(c.value)) {
context.report({
data: { text: toText(c.value, c.type) },
node: c,
messageId: 'commentDetected',
fix(fixer) {
const rangeStart = sourceCode.getIndexFromLoc({
const rangeStart = context.sourceCode.getIndexFromLoc({
column: c.loc.start.column > 0 ? c.loc.start.column - 1 : 0,
line: c.loc.start.line,
});
const rangeEnd = sourceCode.getIndexFromLoc({
const rangeEnd = context.sourceCode.getIndexFromLoc({
column: c.loc.end.column,
line: c.loc.end.line,
});
Expand Down
3 changes: 1 addition & 2 deletions packages/eslint-plugin/src/rules/ban-types.ts
@@ -1,6 +1,5 @@
import type { TSESLint, TSESTree } from '@typescript-eslint/utils';
import { AST_NODE_TYPES } from '@typescript-eslint/utils';
import { getSourceCode } from '@typescript-eslint/utils/eslint-utils';

import { createRule, objectReduceKey } from '../util';

Expand Down Expand Up @@ -219,7 +218,7 @@ export default createRule<Options, MessageIds>({

function checkBannedTypes(
typeNode: TSESTree.Node,
name = stringifyNode(typeNode, getSourceCode(context)),
name = stringifyNode(typeNode, context.sourceCode),
): void {
const bannedType = bannedTypes.get(name);

Expand Down
12 changes: 5 additions & 7 deletions packages/eslint-plugin/src/rules/block-spacing.ts
@@ -1,6 +1,5 @@
import type { TSESTree } from '@typescript-eslint/utils';
import { AST_TOKEN_TYPES } from '@typescript-eslint/utils';
import { getSourceCode } from '@typescript-eslint/utils/eslint-utils';

import type {
InferMessageIdsTypeFromRule,
Expand Down Expand Up @@ -33,7 +32,6 @@ export default createRule<Options, MessageIds>({
defaultOptions: ['always'],

create(context, [whenToApplyOption]) {
const sourceCode = getSourceCode(context);
const baseRules = baseRule.create(context);
const always = whenToApplyOption !== 'never';
const messageId = always ? 'missing' : 'extra';
Expand All @@ -46,7 +44,7 @@ export default createRule<Options, MessageIds>({
): TSESTree.PunctuatorToken {
// guaranteed for enums
// This is the only change made here from the base rule
return sourceCode.getFirstToken(node, {
return context.sourceCode.getFirstToken(node, {
filter: token =>
token.type === AST_TOKEN_TYPES.Punctuator && token.value === '{',
}) as TSESTree.PunctuatorToken;
Expand All @@ -66,7 +64,7 @@ export default createRule<Options, MessageIds>({
function isValid(left: TSESTree.Token, right: TSESTree.Token): boolean {
return (
!isTokenOnSameLine(left, right) ||
sourceCode.isSpaceBetween(left, right) === always
context.sourceCode.isSpaceBetween(left, right) === always
);
}

Expand All @@ -76,11 +74,11 @@ export default createRule<Options, MessageIds>({
function checkSpacingInsideBraces(node: TSESTree.TSEnumDeclaration): void {
// Gets braces and the first/last token of content.
const openBrace = getOpenBrace(node);
const closeBrace = sourceCode.getLastToken(node)!;
const firstToken = sourceCode.getTokenAfter(openBrace, {
const closeBrace = context.sourceCode.getLastToken(node)!;
const firstToken = context.sourceCode.getTokenAfter(openBrace, {
includeComments: true,
})!;
const lastToken = sourceCode.getTokenBefore(closeBrace, {
const lastToken = context.sourceCode.getTokenBefore(closeBrace, {
includeComments: true,
})!;

Expand Down
19 changes: 9 additions & 10 deletions packages/eslint-plugin/src/rules/brace-style.ts
@@ -1,5 +1,4 @@
import type { TSESTree } from '@typescript-eslint/utils';
import { getSourceCode } from '@typescript-eslint/utils/eslint-utils';

import type {
InferMessageIdsTypeFromRule,
Expand Down Expand Up @@ -35,7 +34,7 @@ export default createRule<Options, MessageIds>({
context.options;

const isAllmanStyle = style === 'allman';
const sourceCode = getSourceCode(context);

const rules = baseRule.create(context);

/**
Expand All @@ -53,11 +52,11 @@ export default createRule<Options, MessageIds>({
}

const tokenBeforeOpeningCurly =
sourceCode.getTokenBefore(openingCurlyToken)!;
context.sourceCode.getTokenBefore(openingCurlyToken)!;
const tokenBeforeClosingCurly =
sourceCode.getTokenBefore(closingCurlyToken)!;
context.sourceCode.getTokenBefore(closingCurlyToken)!;
const tokenAfterOpeningCurly =
sourceCode.getTokenAfter(openingCurlyToken)!;
context.sourceCode.getTokenAfter(openingCurlyToken)!;

if (
!isAllmanStyle &&
Expand All @@ -71,7 +70,7 @@ export default createRule<Options, MessageIds>({
tokenBeforeOpeningCurly.range[1],
openingCurlyToken.range[0],
];
const textBetween = sourceCode.text.slice(
const textBetween = context.sourceCode.text.slice(
textRange[0],
textRange[1],
);
Expand Down Expand Up @@ -124,14 +123,14 @@ export default createRule<Options, MessageIds>({
'TSInterfaceBody, TSModuleBlock'(
node: TSESTree.TSInterfaceBody | TSESTree.TSModuleBlock,
): void {
const openingCurly = sourceCode.getFirstToken(node)!;
const closingCurly = sourceCode.getLastToken(node)!;
const openingCurly = context.sourceCode.getFirstToken(node)!;
const closingCurly = context.sourceCode.getLastToken(node)!;

validateCurlyPair(openingCurly, closingCurly);
},
TSEnumDeclaration(node): void {
const closingCurly = sourceCode.getLastToken(node)!;
const openingCurly = sourceCode.getTokenBefore(
const closingCurly = context.sourceCode.getLastToken(node)!;
const openingCurly = context.sourceCode.getTokenBefore(
node.members.length ? node.members[0] : closingCurly,
)!;

Expand Down
16 changes: 7 additions & 9 deletions packages/eslint-plugin/src/rules/class-literal-property-style.ts
@@ -1,6 +1,5 @@
import type { TSESLint, TSESTree } from '@typescript-eslint/utils';
import { AST_NODE_TYPES } from '@typescript-eslint/utils';
import { getSourceCode } from '@typescript-eslint/utils/eslint-utils';

import { createRule, getStaticStringValue } from '../util';

Expand Down Expand Up @@ -66,10 +65,10 @@ export default createRule<Options, MessageIds>({
},
defaultOptions: ['fields'],
create(context, [style]) {
const sourceCode = getSourceCode(context);

function getMethodName(node: TSESTree.MethodDefinition): string {
return getStaticStringValue(node.key) ?? sourceCode.getText(node.key);
return (
getStaticStringValue(node.key) ?? context.sourceCode.getText(node.key)
);
}

return {
Expand Down Expand Up @@ -117,13 +116,13 @@ export default createRule<Options, MessageIds>({
{
messageId: 'preferFieldStyleSuggestion',
fix(fixer): TSESLint.RuleFix {
const name = sourceCode.getText(node.key);
const name = context.sourceCode.getText(node.key);

let text = '';

text += printNodeModifiers(node, 'readonly');
text += node.computed ? `[${name}]` : name;
text += ` = ${sourceCode.getText(argument)};`;
text += ` = ${context.sourceCode.getText(argument)};`;

return fixer.replaceText(node, text);
},
Expand Down Expand Up @@ -151,14 +150,13 @@ export default createRule<Options, MessageIds>({
{
messageId: 'preferGetterStyleSuggestion',
fix(fixer): TSESLint.RuleFix {
const sourceCode = getSourceCode(context);
const name = sourceCode.getText(node.key);
const name = context.sourceCode.getText(node.key);

let text = '';

text += printNodeModifiers(node, 'get');
text += node.computed ? `[${name}]` : name;
text += `() { return ${sourceCode.getText(value)}; }`;
text += `() { return ${context.sourceCode.getText(value)}; }`;

return fixer.replaceText(node, text);
},
Expand Down

0 comments on commit 838cadd

Please sign in to comment.