Skip to content

Commit 81e443c

Browse files
fix(eslint-plugin-query): ignore all non-identifier properties in rule infinite-query-property-order (#8158)
fixes #8156
1 parent dcffe89 commit 81e443c

File tree

2 files changed

+5
-12
lines changed

2 files changed

+5
-12
lines changed

packages/eslint-plugin-query/src/__tests__/infinite-query-property-order.rule.test.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ const orderIndependentProps = [
2424
'queryKey',
2525
'...objectExpressionSpread',
2626
'...callExpressionSpread',
27+
'...memberCallExpressionSpread',
2728
] as const
2829
type OrderIndependentProps = (typeof orderIndependentProps)[number]
2930

@@ -147,6 +148,8 @@ function getCode({
147148
return `...objectExpressionSpread`
148149
case '...callExpressionSpread':
149150
return callExpressionSpread
151+
case '...memberCallExpressionSpread':
152+
return '...myOptions.infiniteQueryOptions()'
150153
case 'queryKey':
151154
return `queryKey: ['projects']`
152155
case 'queryFn':

packages/eslint-plugin-query/src/rules/infinite-query-property-order/infinite-query-property-order.rule.ts

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -56,23 +56,13 @@ export const rule = createRule({
5656
return
5757
}
5858

59-
const properties = allProperties.flatMap((p) => {
59+
const properties = allProperties.flatMap((p, index) => {
6060
if (
6161
p.type === AST_NODE_TYPES.Property &&
6262
p.key.type === AST_NODE_TYPES.Identifier
6363
) {
6464
return { name: p.key.name, property: p }
65-
} else if (p.type === AST_NODE_TYPES.SpreadElement) {
66-
if (p.argument.type === AST_NODE_TYPES.Identifier) {
67-
return { name: p.argument.name, property: p }
68-
} else if (p.argument.type === AST_NODE_TYPES.CallExpression) {
69-
if (p.argument.callee.type === AST_NODE_TYPES.Identifier) {
70-
return { name: p.argument.callee.name, property: p }
71-
}
72-
}
73-
throw new Error('Unsupported spread element')
74-
}
75-
return []
65+
} else return { name: `_property_${index}`, property: p }
7666
})
7767

7868
const sortedProperties = sortDataByOrder(properties, sortRules, 'name')

0 commit comments

Comments
 (0)