1
- import rules from '@typescript-eslint/eslint-plugin/use-at-your-own-risk/rules' ;
2
1
import type {
3
2
FlatConfig ,
4
3
RuleRecommendation ,
5
4
} from '@typescript-eslint/utils/ts-eslint' ;
6
5
6
+ import rules from '@typescript-eslint/eslint-plugin/use-at-your-own-risk/rules' ;
7
+
7
8
import plugin from '../src/index' ;
8
9
9
10
const RULE_NAME_PREFIX = '@typescript-eslint/' ;
@@ -37,14 +38,14 @@ function filterRules(
37
38
38
39
interface FilterAndMapRuleConfigsSettings {
39
40
excludeDeprecated ?: boolean ;
40
- typeChecked ?: 'exclude' | 'include-only' ;
41
41
recommendations ?: ( RuleRecommendation | undefined ) [ ] ;
42
+ typeChecked ?: 'exclude' | 'include-only' ;
42
43
}
43
44
44
45
function filterAndMapRuleConfigs ( {
45
46
excludeDeprecated,
46
- typeChecked,
47
47
recommendations,
48
+ typeChecked,
48
49
} : FilterAndMapRuleConfigsSettings = { } ) : [ string , unknown ] [ ] {
49
50
let result = Object . entries ( rules ) ;
50
51
@@ -149,8 +150,8 @@ describe('recommended.ts', () => {
149
150
const configRules = filterRules ( unfilteredConfigRules ) ;
150
151
// note: include deprecated rules so that the config doesn't change between major bumps
151
152
const ruleConfigs = filterAndMapRuleConfigs ( {
152
- typeChecked : 'exclude' ,
153
153
recommendations : [ 'recommended' ] ,
154
+ typeChecked : 'exclude' ,
154
155
} ) ;
155
156
156
157
expect ( entriesToObject ( ruleConfigs ) ) . toEqual ( entriesToObject ( configRules ) ) ;
@@ -183,8 +184,8 @@ describe('recommended-type-checked-only.ts', () => {
183
184
const configRules = filterRules ( unfilteredConfigRules ) ;
184
185
// note: include deprecated rules so that the config doesn't change between major bumps
185
186
const ruleConfigs = filterAndMapRuleConfigs ( {
186
- typeChecked : 'include-only' ,
187
187
recommendations : [ 'recommended' ] ,
188
+ typeChecked : 'include-only' ,
188
189
} ) . filter ( ( [ ruleName ] ) => ruleName ) ;
189
190
190
191
expect ( entriesToObject ( ruleConfigs ) ) . toEqual ( entriesToObject ( configRules ) ) ;
@@ -201,8 +202,8 @@ describe('strict.ts', () => {
201
202
// note: exclude deprecated rules, this config is allowed to change between minor versions
202
203
const ruleConfigs = filterAndMapRuleConfigs ( {
203
204
excludeDeprecated : true ,
204
- typeChecked : 'exclude' ,
205
205
recommendations : [ 'recommended' , 'strict' ] ,
206
+ typeChecked : 'exclude' ,
206
207
} ) ;
207
208
208
209
expect ( entriesToObject ( ruleConfigs ) ) . toEqual ( entriesToObject ( configRules ) ) ;
@@ -235,8 +236,8 @@ describe('strict-type-checked-only.ts', () => {
235
236
// note: exclude deprecated rules, this config is allowed to change between minor versions
236
237
const ruleConfigs = filterAndMapRuleConfigs ( {
237
238
excludeDeprecated : true ,
238
- typeChecked : 'include-only' ,
239
239
recommendations : [ 'recommended' , 'strict' ] ,
240
+ typeChecked : 'include-only' ,
240
241
} ) . filter ( ( [ ruleName ] ) => ruleName ) ;
241
242
242
243
expect ( entriesToObject ( ruleConfigs ) ) . toEqual ( entriesToObject ( configRules ) ) ;
@@ -252,8 +253,8 @@ describe('stylistic.ts', () => {
252
253
const configRules = filterRules ( unfilteredConfigRules ) ;
253
254
// note: include deprecated rules so that the config doesn't change between major bumps
254
255
const ruleConfigs = filterAndMapRuleConfigs ( {
255
- typeChecked : 'exclude' ,
256
256
recommendations : [ 'stylistic' ] ,
257
+ typeChecked : 'exclude' ,
257
258
} ) ;
258
259
259
260
expect ( entriesToObject ( ruleConfigs ) ) . toEqual ( entriesToObject ( configRules ) ) ;
@@ -285,8 +286,8 @@ describe('stylistic-type-checked-only.ts', () => {
285
286
const configRules = filterRules ( unfilteredConfigRules ) ;
286
287
// note: include deprecated rules so that the config doesn't change between major bumps
287
288
const ruleConfigs = filterAndMapRuleConfigs ( {
288
- typeChecked : 'include-only' ,
289
289
recommendations : [ 'stylistic' ] ,
290
+ typeChecked : 'include-only' ,
290
291
} ) . filter ( ( [ ruleName ] ) => ruleName ) ;
291
292
292
293
expect ( entriesToObject ( ruleConfigs ) ) . toEqual ( entriesToObject ( configRules ) ) ;
@@ -300,23 +301,23 @@ describe('config helper', () => {
300
301
expect (
301
302
plugin . config ( {
302
303
files : [ 'file' ] ,
303
- rules : { rule : 'error' } ,
304
304
ignores : [ 'ignored' ] ,
305
+ rules : { rule : 'error' } ,
305
306
} ) ,
306
307
) . toEqual ( [
307
308
{
308
309
files : [ 'file' ] ,
309
- rules : { rule : 'error' } ,
310
310
ignores : [ 'ignored' ] ,
311
+ rules : { rule : 'error' } ,
311
312
} ,
312
313
] ) ;
313
314
} ) ;
314
315
315
316
it ( 'flattens extended configs' , ( ) => {
316
317
expect (
317
318
plugin . config ( {
318
- rules : { rule : 'error' } ,
319
319
extends : [ { rules : { rule1 : 'error' } } , { rules : { rule2 : 'error' } } ] ,
320
+ rules : { rule : 'error' } ,
320
321
} ) ,
321
322
) . toEqual ( [
322
323
{ rules : { rule1 : 'error' } } ,
@@ -328,10 +329,10 @@ describe('config helper', () => {
328
329
it ( 'flattens extended configs with files and ignores' , ( ) => {
329
330
expect (
330
331
plugin . config ( {
332
+ extends : [ { rules : { rule1 : 'error' } } , { rules : { rule2 : 'error' } } ] ,
331
333
files : [ 'common-file' ] ,
332
334
ignores : [ 'common-ignored' ] ,
333
335
rules : { rule : 'error' } ,
334
- extends : [ { rules : { rule1 : 'error' } } , { rules : { rule2 : 'error' } } ] ,
335
336
} ) ,
336
337
) . toEqual ( [
337
338
{
0 commit comments