File tree 5 files changed +62
-14
lines changed
5 files changed +62
-14
lines changed Original file line number Diff line number Diff line change @@ -32,11 +32,7 @@ Then configure the rules you want to use under the rules section.
32
32
33
33
``` json
34
34
{
35
- "rules" : {
36
- "jest-dom/prefer-checked" : " error" ,
37
- "jest-dom/prefer-enabled-disabled" : " error" ,
38
- "jest-dom/prefer-required" : " error"
39
- }
35
+ "rules" : {}
40
36
}
41
37
```
42
38
Original file line number Diff line number Diff line change @@ -17,13 +17,17 @@ let requireIndex = require('requireindex');
17
17
// import all rules in lib/rules
18
18
module . exports . rules = requireIndex ( __dirname + '/rules' ) ;
19
19
20
+ module . exports . generateRecommendedConfig = rules => {
21
+ return Object . entries ( rules ) . reduce (
22
+ ( memo , [ name , rule ] ) =>
23
+ rule . meta . docs . recommended ? { ...memo , [ name ] : 'error' } : memo ,
24
+ { }
25
+ ) ;
26
+ } ;
27
+
20
28
module . exports . configs = {
21
29
recommended : {
22
30
plugins : [ 'jest-dom' ] ,
23
- rules : {
24
- 'jest-dom/prefer-checked' : 'error' ,
25
- 'jest-dom/prefer-enabled-disabled' : 'error' ,
26
- 'jest-dom/prefer-required' : 'error' ,
27
- } ,
31
+ rules : module . exports . generateRecommendedConfig ( module . exports . rules ) ,
28
32
} ,
29
33
} ;
Original file line number Diff line number Diff line change 15
15
"generate-readme-table" : " node build/generate-readme-table.js"
16
16
},
17
17
"dependencies" : {
18
- "requireindex" : " ~1.1 .0"
18
+ "requireindex" : " ~1.2 .0"
19
19
},
20
20
"devDependencies" : {
21
21
"eslint" : " ^6.6.0" ,
30
30
"node" : " >=0.10.0"
31
31
},
32
32
"license" : " ISC"
33
- }
33
+ }
Original file line number Diff line number Diff line change 1
1
// Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
3
- exports [` should have all the rules 1` ] = ` Object { } ` ;
3
+ exports [` should have all the rules 1` ] = `
4
+ Object {
5
+ " prefer-checked" : Object {
6
+ " create" : [Function ],
7
+ " meta" : Object {
8
+ " docs" : Object {
9
+ " category" : " jest-dom" ,
10
+ " description" : " prefer toBeChecked over checking attributes" ,
11
+ " recommended" : true ,
12
+ " url" : " prefer-checked" ,
13
+ },
14
+ " fixable" : " code" ,
15
+ },
16
+ },
17
+ " prefer-enabled-disabled" : Object {
18
+ " create" : [Function ],
19
+ " meta" : Object {
20
+ " docs" : Object {
21
+ " category" : " jest-dom" ,
22
+ " description" : " prefer toBeDisabled or toBeEnabled over checking attributes" ,
23
+ " recommended" : true ,
24
+ " url" : " prefer-enabled-disabled" ,
25
+ },
26
+ " fixable" : " code" ,
27
+ },
28
+ },
29
+ " prefer-required" : Object {
30
+ " create" : [Function ],
31
+ " meta" : Object {
32
+ " docs" : Object {
33
+ " category" : " jest-dom" ,
34
+ " description" : " prefer toBeRequired over checking properties" ,
35
+ " recommended" : true ,
36
+ " url" : " prefer-required" ,
37
+ },
38
+ " fixable" : " code" ,
39
+ },
40
+ },
41
+ }
42
+ ` ;
Original file line number Diff line number Diff line change 1
- const { rules } = require ( '../lib/index' ) ;
1
+ const { rules, generateRecommendedConfig , configs } = require ( '../lib/index' ) ;
2
2
3
3
it ( 'should have all the rules' , ( ) => {
4
4
expect ( rules ) . toMatchSnapshot ( ) ;
5
5
} ) ;
6
+
7
+ it ( 'should have a recommended config with recommended rules' , ( ) => {
8
+ expect (
9
+ generateRecommendedConfig ( {
10
+ good : { meta : { docs : { recommended : true } } } ,
11
+ bad : { meta : { docs : { recommended : false } } } ,
12
+ } )
13
+ ) . toEqual ( { good : 'error' } ) ;
14
+ } ) ;
You can’t perform that action at this time.
0 commit comments