1- /* eslint class-methods-use-this: 'off', max-statements: 'off', guard-for-in: 'off', no-restricted-syntax: 'off' */
1+ /* eslint class-methods-use-this: 'off', max-statements: 'off', prefer-destructuring: 'off', guard-for-in: 'off', no-restricted-syntax: 'off' */
22
33const Rules = require ( './Rules' ) ;
44const pkg = require ( './../package.json' ) ;
@@ -25,28 +25,29 @@ class NpmPackageJsonLint {
2525
2626 for ( const rule in configObj ) {
2727 const ruleModule = this . rules . get ( rule ) ;
28+ let severity = 'off' ;
29+ let ruleConfig = { } ;
2830
2931 if ( ruleModule . ruleType === 'array' || ruleModule . ruleType === 'object' ) {
30- const severity =
31- typeof configObj [ rule ] === 'string' && configObj [ rule ] === 'off' ? configObj [ rule ] : configObj [ rule ] [ 0 ] ;
32- const ruleConfig = configObj [ rule ] [ 1 ] ;
33-
34- if ( severity !== 'off' ) {
35- const lintResult = ruleModule . lint ( packageJsonData , severity , ruleConfig ) ;
36-
37- if ( typeof lintResult === 'object' ) {
38- lintIssues . push ( lintResult ) ;
39- }
32+ severity = typeof configObj [ rule ] === 'string' && configObj [ rule ] === 'off' ? configObj [ rule ] : configObj [ rule ] [ 0 ] ;
33+ ruleConfig = typeof configObj [ rule ] === 'string' ? { } : configObj [ rule ] [ 1 ] ;
34+ } else if ( ruleModule . ruleType === 'optionalObject' ) {
35+ if ( typeof configObj [ rule ] === 'string' ) {
36+ severity = configObj [ rule ] ;
37+ ruleConfig = { } ;
38+ } else {
39+ severity = configObj [ rule ] [ 0 ] ;
40+ ruleConfig = configObj [ rule ] [ 1 ] ;
4041 }
4142 } else {
42- const severity = configObj [ rule ] ;
43+ severity = configObj [ rule ] ;
44+ }
4345
44- if ( severity !== 'off' ) {
45- const lintResult = ruleModule . lint ( packageJsonData , severity ) ;
46+ if ( severity !== 'off' ) {
47+ const lintResult = ruleModule . lint ( packageJsonData , severity , ruleConfig ) ;
4648
47- if ( typeof lintResult === 'object' ) {
48- lintIssues . push ( lintResult ) ;
49- }
49+ if ( typeof lintResult === 'object' ) {
50+ lintIssues . push ( lintResult ) ;
5051 }
5152 }
5253 }
0 commit comments