Skip to content

Commit 8ba6d9a

Browse files
authored
fix: replace typeParameters with typeArguments (#2292)
1 parent 791a60d commit 8ba6d9a

12 files changed

+57
-54
lines changed

lib/rules/define-emits-declaration.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,8 @@ module.exports = {
4747
}
4848

4949
case 'runtime': {
50-
if (node.typeParameters && node.typeParameters.params.length > 0) {
50+
const typeArguments = node.typeArguments || node.typeParameters
51+
if (typeArguments && typeArguments.params.length > 0) {
5152
context.report({
5253
node,
5354
messageId: 'hasTypeArg'

lib/rules/define-props-declaration.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,8 @@ module.exports = {
4747
}
4848

4949
case 'runtime': {
50-
if (node.typeParameters && node.typeParameters.params.length > 0) {
50+
const typeArguments = node.typeArguments || node.typeParameters
51+
if (typeArguments && typeArguments.params.length > 0) {
5152
context.report({
5253
node,
5354
messageId: 'hasTypeArg'

lib/rules/require-typed-ref.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,9 @@ module.exports = {
8383
continue
8484
}
8585

86-
if (ref.node.typeParameters == null) {
86+
const typeArguments =
87+
ref.node.typeArguments || ref.node.typeParameters
88+
if (typeArguments == null) {
8789
if (
8890
ref.node.parent.type === 'VariableDeclarator' &&
8991
ref.node.parent.id.type === 'Identifier'

lib/rules/valid-define-emits.js

+3-5
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,9 @@ module.exports = {
4747
onDefineEmitsEnter(node) {
4848
defineEmitsNodes.push(node)
4949

50+
const typeArguments = node.typeArguments || node.typeParameters
5051
if (node.arguments.length > 0) {
51-
if (node.typeParameters && node.typeParameters.params.length > 0) {
52+
if (typeArguments && typeArguments.params.length > 0) {
5253
// `defineEmits` has both a literal type and an argument.
5354
context.report({
5455
node,
@@ -59,10 +60,7 @@ module.exports = {
5960

6061
emitsDefExpressions.add(node.arguments[0])
6162
} else {
62-
if (
63-
!node.typeParameters ||
64-
node.typeParameters.params.length === 0
65-
) {
63+
if (!typeArguments || typeArguments.params.length === 0) {
6664
emptyDefineEmits = node
6765
}
6866
}

lib/rules/valid-define-options.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,10 @@ module.exports = {
7474
})
7575
}
7676

77-
if (node.typeParameters) {
77+
const typeArguments = node.typeArguments || node.typeParameters
78+
if (typeArguments) {
7879
context.report({
79-
node: node.typeParameters,
80+
node: typeArguments,
8081
messageId: 'typeArgs'
8182
})
8283
}

lib/rules/valid-define-props.js

+3-5
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,9 @@ module.exports = {
4848
onDefinePropsEnter(node) {
4949
definePropsNodes.push(node)
5050

51+
const typeArguments = node.typeArguments || node.typeParameters
5152
if (node.arguments.length > 0) {
52-
if (node.typeParameters && node.typeParameters.params.length > 0) {
53+
if (typeArguments && typeArguments.params.length > 0) {
5354
// `defineProps` has both a literal type and an argument.
5455
context.report({
5556
node,
@@ -60,10 +61,7 @@ module.exports = {
6061

6162
propsDefExpressions.add(node.arguments[0])
6263
} else {
63-
if (
64-
!node.typeParameters ||
65-
node.typeParameters.params.length === 0
66-
) {
64+
if (!typeArguments || typeArguments.params.length === 0) {
6765
emptyDefineProps = node
6866
}
6967
}

lib/utils/indent-common.js

+9-7
Original file line numberDiff line numberDiff line change
@@ -1168,21 +1168,22 @@ module.exports.defineVisitor = function create(
11681168
},
11691169
/** @param {CallExpression} node */
11701170
CallExpression(node) {
1171+
const typeArguments = node.typeArguments || node.typeParameters
11711172
const firstToken = tokenStore.getFirstToken(node)
11721173
const rightToken = tokenStore.getLastToken(node)
11731174
const leftToken = /** @type {Token} */ (
11741175
tokenStore.getTokenAfter(
1175-
node.typeParameters || node.callee,
1176+
typeArguments || node.callee,
11761177
isOpeningParenToken
11771178
)
11781179
)
11791180

1180-
if (node.typeParameters) {
1181-
setOffset(tokenStore.getFirstToken(node.typeParameters), 1, firstToken)
1181+
if (typeArguments) {
1182+
setOffset(tokenStore.getFirstToken(typeArguments), 1, firstToken)
11821183
}
11831184

11841185
for (const optionalToken of tokenStore.getTokensBetween(
1185-
tokenStore.getLastToken(node.typeParameters || node.callee),
1186+
tokenStore.getLastToken(typeArguments || node.callee),
11861187
leftToken,
11871188
isOptionalToken
11881189
)) {
@@ -1694,19 +1695,20 @@ module.exports.defineVisitor = function create(
16941695
},
16951696
/** @param {NewExpression} node */
16961697
NewExpression(node) {
1698+
const typeArguments = node.typeArguments || node.typeParameters
16971699
const newToken = tokenStore.getFirstToken(node)
16981700
const calleeToken = tokenStore.getTokenAfter(newToken)
16991701
const rightToken = tokenStore.getLastToken(node)
17001702
const leftToken = isClosingParenToken(rightToken)
17011703
? tokenStore.getFirstTokenBetween(
1702-
node.typeParameters || node.callee,
1704+
typeArguments || node.callee,
17031705
rightToken,
17041706
isOpeningParenToken
17051707
)
17061708
: null
17071709

1708-
if (node.typeParameters) {
1709-
setOffset(tokenStore.getFirstToken(node.typeParameters), 1, calleeToken)
1710+
if (typeArguments) {
1711+
setOffset(tokenStore.getFirstToken(typeArguments), 1, calleeToken)
17101712
}
17111713

17121714
setOffset(calleeToken, 1, newToken)

lib/utils/indent-ts.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -332,9 +332,10 @@ function defineVisitor({
332332
* @param {TSTypeReference | TSInstantiationExpression} node
333333
*/
334334
'TSTypeReference, TSInstantiationExpression'(node) {
335-
if (node.typeParameters) {
335+
const typeArguments = node.typeArguments || node.typeParameters
336+
if (typeArguments) {
336337
const firstToken = tokenStore.getFirstToken(node)
337-
setOffset(tokenStore.getFirstToken(node.typeParameters), 1, firstToken)
338+
setOffset(tokenStore.getFirstToken(typeArguments), 1, firstToken)
338339
}
339340
},
340341
/**

lib/utils/index.js

+6-10
Original file line numberDiff line numberDiff line change
@@ -2990,11 +2990,9 @@ function getComponentPropsFromDefineProps(context, node) {
29902990
}
29912991
]
29922992
}
2993-
if (node.typeParameters && node.typeParameters.params.length > 0) {
2994-
return getComponentPropsFromTypeDefine(
2995-
context,
2996-
node.typeParameters.params[0]
2997-
)
2993+
const typeArguments = node.typeArguments || node.typeParameters
2994+
if (typeArguments && typeArguments.params.length > 0) {
2995+
return getComponentPropsFromTypeDefine(context, typeArguments.params[0])
29982996
}
29992997
return [
30002998
{
@@ -3025,11 +3023,9 @@ function getComponentEmitsFromDefineEmits(context, node) {
30253023
}
30263024
]
30273025
}
3028-
if (node.typeParameters && node.typeParameters.params.length > 0) {
3029-
return getComponentEmitsFromTypeDefine(
3030-
context,
3031-
node.typeParameters.params[0]
3032-
)
3026+
const typeArguments = node.typeArguments || node.typeParameters
3027+
if (typeArguments && typeArguments.params.length > 0) {
3028+
return getComponentEmitsFromTypeDefine(context, typeArguments.params[0])
30333029
}
30343030
return [
30353031
{

lib/utils/ts-utils/ts-ast.js

+9-14
Original file line numberDiff line numberDiff line change
@@ -430,33 +430,28 @@ function inferRuntimeType(context, node, checked = new Set()) {
430430
return ['Array']
431431
}
432432
case 'NonNullable': {
433-
if (node.typeParameters && node.typeParameters.params[0]) {
433+
const typeArguments = node.typeArguments || node.typeParameters
434+
if (typeArguments && typeArguments.params[0]) {
434435
return inferRuntimeType(
435436
context,
436-
node.typeParameters.params[0],
437+
typeArguments.params[0],
437438
checked
438439
).filter((t) => t !== 'null')
439440
}
440441
break
441442
}
442443
case 'Extract': {
443-
if (node.typeParameters && node.typeParameters.params[1]) {
444-
return inferRuntimeType(
445-
context,
446-
node.typeParameters.params[1],
447-
checked
448-
)
444+
const typeArguments = node.typeArguments || node.typeParameters
445+
if (typeArguments && typeArguments.params[1]) {
446+
return inferRuntimeType(context, typeArguments.params[1], checked)
449447
}
450448
break
451449
}
452450
case 'Exclude':
453451
case 'OmitThisParameter': {
454-
if (node.typeParameters && node.typeParameters.params[0]) {
455-
return inferRuntimeType(
456-
context,
457-
node.typeParameters.params[0],
458-
checked
459-
)
452+
const typeArguments = node.typeArguments || node.typeParameters
453+
if (typeArguments && typeArguments.params[0]) {
454+
return inferRuntimeType(context, typeArguments.params[0], checked)
460455
}
461456
break
462457
}

tests/integrations/eslint-plugin-import.js

+6-4
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,12 @@ describe('Integration with eslint-plugin-import', () => {
3030
if (
3131
!semver.satisfies(
3232
process.version,
33-
require(path.join(
34-
__dirname,
35-
'eslint-plugin-import/node_modules/eslint/package.json'
36-
)).engines.node
33+
require(
34+
path.join(
35+
__dirname,
36+
'eslint-plugin-import/node_modules/eslint/package.json'
37+
)
38+
).engines.node
3739
)
3840
) {
3941
return

typings/eslint-plugin-vue/util-types/ast/es-ast.ts

+8-2
Original file line numberDiff line numberDiff line change
@@ -519,7 +519,10 @@ export interface CallExpression extends HasParentNode {
519519
callee: Expression | Super
520520
arguments: (Expression | SpreadElement)[]
521521
optional: boolean
522-
typeParameters?: TS.TSTypeParameterInstantiation
522+
typeArguments?: TS.TSTypeParameterInstantiation
523+
524+
/* @deprecated */
525+
typeParameters: never
523526
}
524527
export interface Super extends HasParentNode {
525528
type: 'Super'
@@ -528,7 +531,10 @@ export interface NewExpression extends HasParentNode {
528531
type: 'NewExpression'
529532
callee: Expression
530533
arguments: (Expression | SpreadElement)[]
531-
typeParameters?: TSTypeParameterInstantiation
534+
typeArguments?: TSTypeParameterInstantiation
535+
536+
/* @deprecated */
537+
typeParameters: never
532538
}
533539
interface BaseMemberExpression extends HasParentNode {
534540
type: 'MemberExpression'

0 commit comments

Comments
 (0)