Skip to content

Commit

Permalink
fix: replace deprecated typeParameters with typeArguments (#623)
Browse files Browse the repository at this point in the history
  • Loading branch information
ota-meshi committed Nov 21, 2023
1 parent e6d6c46 commit a8b4bd4
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 20 deletions.
5 changes: 5 additions & 0 deletions .changeset/small-fishes-sin.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"eslint-plugin-svelte": patch
---

fix: replace deprecated typeParameters with typeArguments
20 changes: 9 additions & 11 deletions src/rules/indent-helpers/es.ts
Original file line number Diff line number Diff line change
Expand Up @@ -183,19 +183,20 @@ export function defineVisitor(context: IndentContext): NodeListener {
visitor.BreakStatement(node);
},
CallExpression(node: TSESTree.CallExpression) {
const typeArguments = node.typeArguments ?? node.typeParameters;
const firstToken = sourceCode.getFirstToken(node);
const leftParenToken = sourceCode.getTokenAfter(node.typeParameters || node.callee, {
const leftParenToken = sourceCode.getTokenAfter(typeArguments || node.callee, {
filter: isOpeningParenToken,
includeComments: false
})!;
const rightParenToken = sourceCode.getLastToken(node);

if (node.typeParameters) {
offsets.setOffsetToken(sourceCode.getFirstToken(node.typeParameters), 1, firstToken);
if (typeArguments) {
offsets.setOffsetToken(sourceCode.getFirstToken(typeArguments), 1, firstToken);
}

for (const optionalToken of sourceCode.getTokensBetween(
sourceCode.getLastToken(node.typeParameters || node.callee),
sourceCode.getLastToken(typeArguments || node.callee),
leftParenToken,
{ filter: isOptionalToken, includeComments: false }
)) {
Expand Down Expand Up @@ -693,18 +694,15 @@ export function defineVisitor(context: IndentContext): NodeListener {
visitor.MethodDefinition(node);
},
NewExpression(node: TSESTree.NewExpression) {
const typeArguments = node.typeArguments ?? node.typeParameters;
const newToken = sourceCode.getFirstToken(node);
const calleeTokens = getFirstAndLastTokens(sourceCode, node.callee);
offsets.setOffsetToken(calleeTokens.firstToken, 1, newToken);

if (node.typeParameters) {
offsets.setOffsetToken(
sourceCode.getFirstToken(node.typeParameters),
1,
calleeTokens.firstToken
);
if (typeArguments) {
offsets.setOffsetToken(sourceCode.getFirstToken(typeArguments), 1, calleeTokens.firstToken);
}
const leftParenBefore = node.typeParameters || calleeTokens.lastToken;
const leftParenBefore = typeArguments || calleeTokens.lastToken;
if (node.arguments.length || leftParenBefore.range[1] < node.range[1]) {
const rightParenToken = sourceCode.getLastToken(node);
const leftParenToken = sourceCode.getTokenAfter(leftParenBefore)!;
Expand Down
20 changes: 12 additions & 8 deletions src/rules/indent-helpers/ts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -62,9 +62,10 @@ export function defineVisitor(context: IndentContext): NodeListener {
// or
// const ErrorMap = Map<string, Error>
// ^^^^^^^^^^^^^^^^^^
if (node.typeParameters) {
const typeArguments = node.typeArguments ?? node.typeParameters;
if (typeArguments) {
const firstToken = sourceCode.getFirstToken(node);
offsets.setOffsetToken(sourceCode.getFirstToken(node.typeParameters), 1, firstToken);
offsets.setOffsetToken(sourceCode.getFirstToken(typeArguments), 1, firstToken);
}
},
TSInstantiationExpression(node: TSESTree.TSInstantiationExpression) {
Expand Down Expand Up @@ -401,9 +402,10 @@ export function defineVisitor(context: IndentContext): NodeListener {
TSClassImplements(node: TSESTree.TSClassImplements | TSESTree.TSInterfaceHeritage) {
// class C implements T {}
// ^
if (node.typeParameters) {
const typeArguments = node.typeArguments ?? node.typeParameters;
if (typeArguments) {
offsets.setOffsetToken(
sourceCode.getFirstToken(node.typeParameters),
sourceCode.getFirstToken(typeArguments),
1,
sourceCode.getFirstToken(node)
);
Expand Down Expand Up @@ -675,6 +677,7 @@ export function defineVisitor(context: IndentContext): NodeListener {
},
TSImportType(node: TSESTree.TSImportType) {
// import('foo').B
const typeArguments = node.typeArguments ?? node.typeParameters;
const firstToken = sourceCode.getFirstToken(node);
const leftParenToken = sourceCode.getTokenAfter(firstToken, {
filter: isOpeningParenToken,
Expand All @@ -695,8 +698,8 @@ export function defineVisitor(context: IndentContext): NodeListener {
const propertyToken = sourceCode.getTokenAfter(dotToken);
offsets.setOffsetToken([dotToken, propertyToken], 1, firstToken);
}
if (node.typeParameters) {
offsets.setOffsetToken(sourceCode.getFirstToken(node.typeParameters), 1, firstToken);
if (typeArguments) {
offsets.setOffsetToken(sourceCode.getFirstToken(typeArguments), 1, firstToken);
}
},
TSParameterProperty(node: TSESTree.TSParameterProperty) {
Expand Down Expand Up @@ -1055,9 +1058,10 @@ export function defineVisitor(context: IndentContext): NodeListener {
sourceCode.getFirstToken(node.id || node)
);
}
if (node.superTypeParameters != null && node.superClass != null) {
const superTypeArguments = node.superTypeArguments ?? node.superTypeParameters;
if (superTypeArguments != null && node.superClass != null) {
offsets.setOffsetToken(
sourceCode.getFirstToken(node.superTypeParameters),
sourceCode.getFirstToken(superTypeArguments),
1,
sourceCode.getFirstToken(node.superClass)
);
Expand Down
2 changes: 1 addition & 1 deletion src/rules/require-event-dispatcher-types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ export default createRule('require-event-dispatcher-types', {
}
})) {
const node = n as TSESTree.CallExpression;
if (node.typeParameters === undefined) {
if ((node.typeArguments ?? node.typeParameters) === undefined) {
context.report({ node, messageId: 'missingTypeParameter' });
}
}
Expand Down

0 comments on commit a8b4bd4

Please sign in to comment.