Skip to content

Commit 87f9bcb

Browse files
committed
chore: migrate tests
1 parent df806aa commit 87f9bcb

25 files changed

+415
-583
lines changed

packages/eslint-plugin-coderwyd/build.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ export default defineBuildConfig({
44
entries: [
55
'src/index',
66
],
7-
declaration: true,
7+
declaration: false,
88
clean: true,
99
rollup: {
1010
emitCJS: true,

packages/eslint-plugin-coderwyd/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
"homepage": "https://github.com/coderwyd/eslint-config",
77
"main": "./dist/index.cjs",
88
"module": "./dist/index.mjs",
9-
"types": "./dist/index.d.ts",
109
"files": [
1110
"eslint",
1211
"plugin",
@@ -23,6 +22,7 @@
2322
},
2423
"devDependencies": {
2524
"@types/node": "^20.4.5",
25+
"@typescript-eslint/rule-tester": "^6.3.0",
2626
"unbuild": "^1.2.1",
2727
"vitest": "^0.34.1"
2828
}

packages/eslint-plugin-coderwyd/src/rules/generic-spacing.test.ts

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import { RuleTester } from '@typescript-eslint/utils/dist/ts-eslint'
2-
import { it } from 'vitest'
1+
import { RuleTester } from '@typescript-eslint/rule-tester'
32
import rule, { RULE_NAME } from './generic-spacing'
43

54
const valids = [
@@ -36,17 +35,15 @@ const invalids = [
3635
}`],
3736
] as const
3837

39-
it('runs', () => {
40-
const ruleTester: RuleTester = new RuleTester({
41-
parser: require.resolve('@typescript-eslint/parser'),
42-
})
38+
const ruleTester: RuleTester = new RuleTester({
39+
parser: require.resolve('@typescript-eslint/parser'),
40+
})
4341

44-
ruleTester.run(RULE_NAME, rule, {
45-
valid: valids,
46-
invalid: invalids.map(i => ({
47-
code: i[0],
48-
output: i[1].trim(),
49-
errors: Array.from({ length: i[2] || 1 }, () => ({ messageId: 'genericSpacingMismatch' })),
50-
})),
51-
})
42+
ruleTester.run(RULE_NAME, rule as any, {
43+
valid: valids,
44+
invalid: invalids.map(i => ({
45+
code: i[0],
46+
output: i[1].trim(),
47+
errors: Array.from({ length: i[2] || 1 }, () => ({ messageId: 'genericSpacingMismatch' })),
48+
})),
5249
})

packages/eslint-plugin-coderwyd/src/rules/generic-spacing.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ export default createEslintRule<Options, MessageIds>({
1010
type: 'suggestion',
1111
docs: {
1212
description: 'Spaces around generic type parameters',
13-
recommended: 'error',
13+
recommended: 'stylistic',
1414
},
1515
fixable: 'code',
1616
schema: [],
Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import { RuleTester } from '@typescript-eslint/utils/dist/ts-eslint'
2-
import { it } from 'vitest'
1+
import { RuleTester } from '@typescript-eslint/rule-tester'
32
import rule, { RULE_NAME } from './if-newline'
43

54
const valids = [
@@ -14,17 +13,15 @@ const invalids = [
1413
['if (true) console.log(\'hello\')', 'if (true) \nconsole.log(\'hello\')'],
1514
]
1615

17-
it('runs', () => {
18-
const ruleTester: RuleTester = new RuleTester({
19-
parser: require.resolve('@typescript-eslint/parser'),
20-
})
16+
const ruleTester: RuleTester = new RuleTester({
17+
parser: require.resolve('@typescript-eslint/parser'),
18+
})
2119

22-
ruleTester.run(RULE_NAME, rule, {
23-
valid: valids,
24-
invalid: invalids.map(i => ({
25-
code: i[0],
26-
output: i[1],
27-
errors: [{ messageId: 'missingIfNewline' }],
28-
})),
29-
})
20+
ruleTester.run(RULE_NAME, rule as any, {
21+
valid: valids,
22+
invalid: invalids.map(i => ({
23+
code: i[0],
24+
output: i[1],
25+
errors: [{ messageId: 'missingIfNewline' }],
26+
})),
3027
})

packages/eslint-plugin-coderwyd/src/rules/if-newline.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ export default createEslintRule<Options, MessageIds>({
1010
type: 'problem',
1111
docs: {
1212
description: 'Newline after if',
13-
recommended: 'error',
13+
recommended: 'stylistic',
1414
},
1515
fixable: 'code',
1616
schema: [],
Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import { RuleTester } from '@typescript-eslint/utils/dist/ts-eslint'
2-
import { it } from 'vitest'
1+
import { RuleTester } from '@typescript-eslint/rule-tester'
32
import rule, { RULE_NAME } from './import-dedupe'
43

54
const valids = [
@@ -12,17 +11,15 @@ const invalids = [
1211
],
1312
]
1413

15-
it('runs', () => {
16-
const ruleTester: RuleTester = new RuleTester({
17-
parser: require.resolve('@typescript-eslint/parser'),
18-
})
14+
const ruleTester: RuleTester = new RuleTester({
15+
parser: require.resolve('@typescript-eslint/parser'),
16+
})
1917

20-
ruleTester.run(RULE_NAME, rule, {
21-
valid: valids,
22-
invalid: invalids.map(i => ({
23-
code: i[0],
24-
output: i[1],
25-
errors: [{ messageId: 'importDedupe' }, { messageId: 'importDedupe' }, { messageId: 'importDedupe' }],
26-
})),
27-
})
18+
ruleTester.run(RULE_NAME, rule as any, {
19+
valid: valids,
20+
invalid: invalids.map(i => ({
21+
code: i[0],
22+
output: i[1],
23+
errors: [{ messageId: 'importDedupe' }, { messageId: 'importDedupe' }, { messageId: 'importDedupe' }],
24+
})),
2825
})

packages/eslint-plugin-coderwyd/src/rules/import-dedupe.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ export default createEslintRule<Options, MessageIds>({
1010
type: 'problem',
1111
docs: {
1212
description: 'Fix duplication in imports',
13-
recommended: 'error',
13+
recommended: 'strict',
1414
},
1515
fixable: 'code',
1616
schema: [],
Lines changed: 64 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,95 +1,98 @@
1-
import { RuleTester } from '@typescript-eslint/utils/dist/ts-eslint'
2-
import { it } from 'vitest'
1+
import { RuleTester } from '@typescript-eslint/rule-tester'
32
import rule, { RULE_NAME } from './named-tuple-spacing'
43

54
const valids = [
65
'type T = [i: number]',
76
'type T = [i?: number]',
87
'type T = [i: number, j: number]',
8+
'type T = [i: number, j: () => string]',
99
`const emit = defineEmits<{
1010
change: [id: number]
1111
update: [value: string]
1212
}>()`,
1313
]
1414

15-
it('runs', () => {
16-
const ruleTester: RuleTester = new RuleTester({
17-
parser: require.resolve('@typescript-eslint/parser'),
18-
})
15+
const ruleTester: RuleTester = new RuleTester({
16+
parser: require.resolve('@typescript-eslint/parser'),
17+
})
1918

20-
ruleTester.run(RULE_NAME, rule, {
21-
valid: valids,
22-
invalid: [
23-
{
24-
code: 'type T = [i:number]',
25-
output: 'type T = [i: number]',
26-
errors: [{ messageId: 'expectedSpaceAfter' }],
27-
},
28-
{
29-
code: 'type T = [i: number]',
30-
output: 'type T = [i: number]',
31-
errors: [{ messageId: 'expectedSpaceAfter' }],
32-
},
33-
{
34-
code: 'type T = [i?:number]',
35-
output: 'type T = [i?: number]',
36-
errors: [{ messageId: 'expectedSpaceAfter' }],
37-
},
38-
{
39-
code: 'type T = [i? :number]',
40-
output: 'type T = [i?: number]',
41-
errors: [{ messageId: 'unexpectedSpaceBetween' }, { messageId: 'expectedSpaceAfter' }],
42-
},
43-
{
44-
code: 'type T = [i : number]',
45-
output: 'type T = [i: number]',
46-
errors: [{ messageId: 'unexpectedSpaceBefore' }],
47-
},
48-
{
49-
code: 'type T = [i : number]',
50-
output: 'type T = [i: number]',
51-
errors: [{ messageId: 'unexpectedSpaceBefore' }],
52-
},
53-
{
54-
code: 'type T = [i ? : number]',
55-
output: 'type T = [i?: number]',
56-
errors: [{ messageId: 'unexpectedSpaceBetween' }, { messageId: 'unexpectedSpaceBefore' }],
57-
},
58-
{
59-
code: 'type T = [i:number, j:number]',
60-
output: 'type T = [i: number, j: number]',
61-
errors: [{ messageId: 'expectedSpaceAfter' }, { messageId: 'expectedSpaceAfter' }],
62-
},
63-
{
64-
code: `
19+
ruleTester.run(RULE_NAME, rule as any, {
20+
valid: valids,
21+
invalid: [
22+
{
23+
code: 'type T = [i:number]',
24+
output: 'type T = [i: number]',
25+
errors: [{ messageId: 'expectedSpaceAfter' }],
26+
},
27+
{
28+
code: 'type T = [i: number]',
29+
output: 'type T = [i: number]',
30+
errors: [{ messageId: 'expectedSpaceAfter' }],
31+
},
32+
{
33+
code: 'type T = [i?:number]',
34+
output: 'type T = [i?: number]',
35+
errors: [{ messageId: 'expectedSpaceAfter' }],
36+
},
37+
{
38+
code: 'type T = [i? :number]',
39+
output: 'type T = [i?: number]',
40+
errors: [{ messageId: 'unexpectedSpaceBetween' }, { messageId: 'expectedSpaceAfter' }],
41+
},
42+
{
43+
code: 'type T = [i : number]',
44+
output: 'type T = [i: number]',
45+
errors: [{ messageId: 'unexpectedSpaceBefore' }],
46+
},
47+
{
48+
code: 'type T = [i : number]',
49+
output: 'type T = [i: number]',
50+
errors: [{ messageId: 'unexpectedSpaceBefore' }],
51+
},
52+
{
53+
code: 'type T = [i ? : number]',
54+
output: 'type T = [i?: number]',
55+
errors: [{ messageId: 'unexpectedSpaceBetween' }, { messageId: 'unexpectedSpaceBefore' }],
56+
},
57+
{
58+
code: 'type T = [i:number, j:number]',
59+
output: 'type T = [i: number, j: number]',
60+
errors: [{ messageId: 'expectedSpaceAfter' }, { messageId: 'expectedSpaceAfter' }],
61+
},
62+
{
63+
code: 'type T = [i:()=>void, j:number]',
64+
output: 'type T = [i: ()=>void, j: number]',
65+
errors: [{ messageId: 'expectedSpaceAfter' }, { messageId: 'expectedSpaceAfter' }],
66+
},
67+
{
68+
code: `
6569
const emit = defineEmits<{
6670
change: [id:number]
6771
update: [value:string]
6872
}>()
6973
`,
70-
output: `
74+
output: `
7175
const emit = defineEmits<{
7276
change: [id: number]
7377
update: [value: string]
7478
}>()
7579
`,
76-
errors: [{ messageId: 'expectedSpaceAfter' }, { messageId: 'expectedSpaceAfter' }],
77-
},
78-
{
79-
code: `
80+
errors: [{ messageId: 'expectedSpaceAfter' }, { messageId: 'expectedSpaceAfter' }],
81+
},
82+
{
83+
code: `
8084
const emit = defineEmits<{
8185
change: [id? :number]
8286
update: [value:string]
8387
}>()
8488
`,
85-
output: `
89+
output: `
8690
const emit = defineEmits<{
8791
change: [id?: number]
8892
update: [value: string]
8993
}>()
9094
`,
91-
errors: [{ messageId: 'unexpectedSpaceBetween' }, { messageId: 'expectedSpaceAfter' }, { messageId: 'expectedSpaceAfter' }],
92-
},
93-
],
94-
})
95+
errors: [{ messageId: 'unexpectedSpaceBetween' }, { messageId: 'expectedSpaceAfter' }, { messageId: 'expectedSpaceAfter' }],
96+
},
97+
],
9598
})

packages/eslint-plugin-coderwyd/src/rules/named-tuple-spacing.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ export const RULE_NAME = 'named-tuple-spacing'
44
export type MessageIds = 'expectedSpaceAfter' | 'unexpectedSpaceBetween' | 'unexpectedSpaceBefore'
55
export type Options = []
66

7-
const REG = /^([\w_$]+)(\s*)(\?\s*)?:(\s*)(.*)$/
7+
const RE = /^([\w_$]+)(\s*)(\?\s*)?:(\s*)(.*)$/
88

99
export default createEslintRule<Options, MessageIds>({
1010
name: RULE_NAME,
@@ -26,10 +26,10 @@ export default createEslintRule<Options, MessageIds>({
2626
create: (context) => {
2727
const sourceCode = context.getSourceCode()
2828
return {
29-
TSNamedTupleMember: (node) => {
29+
TSNamedTupleMember: (node: any) => {
3030
const code = sourceCode.text.slice(node.range[0], node.range[1])
3131

32-
const match = code.match(REG)
32+
const match = code.match(RE)
3333
if (!match)
3434
return
3535

@@ -53,7 +53,7 @@ export default createEslintRule<Options, MessageIds>({
5353
node,
5454
messageId: 'unexpectedSpaceBetween',
5555
*fix(fixer) {
56-
yield fixer.replaceTextRange(node.range, code.replace(REG, getReplaceValue()))
56+
yield fixer.replaceTextRange(node.range, code.replace(RE, getReplaceValue()))
5757
},
5858
})
5959
}
@@ -63,7 +63,7 @@ export default createEslintRule<Options, MessageIds>({
6363
node,
6464
messageId: 'unexpectedSpaceBefore',
6565
*fix(fixer) {
66-
yield fixer.replaceTextRange(node.range, code.replace(REG, getReplaceValue()))
66+
yield fixer.replaceTextRange(node.range, code.replace(RE, getReplaceValue()))
6767
},
6868
})
6969
}
@@ -73,7 +73,7 @@ export default createEslintRule<Options, MessageIds>({
7373
node,
7474
messageId: 'expectedSpaceAfter',
7575
*fix(fixer) {
76-
yield fixer.replaceTextRange(node.range, code.replace(REG, getReplaceValue()))
76+
yield fixer.replaceTextRange(node.range, code.replace(RE, getReplaceValue()))
7777
},
7878
})
7979
}

0 commit comments

Comments
 (0)