|
1 | 1 | const baseConfig = require('.');
|
| 2 | +const assign = require('object.assign'); |
2 | 3 | const entries = require('object.entries');
|
3 |
| -const { CLIEngine } = require('eslint'); |
| 4 | +const CLIEngine = require('eslint').CLIEngine; |
4 | 5 |
|
5 | 6 | function onlyErrorOnRules(rulesToError, config) {
|
6 |
| - const errorsOnly = { ...config }; |
| 7 | + const errorsOnly = assign({}, config); |
7 | 8 | const cli = new CLIEngine({ baseConfig: config, useEslintrc: false });
|
8 | 9 | const baseRules = cli.getConfigForFile('./').rules;
|
9 | 10 |
|
10 |
| - entries(baseRules).forEach(([key, value]) => { |
11 |
| - if (rulesToError.indexOf(key) === -1) { |
12 |
| - if (Array.isArray(value)) { |
13 |
| - errorsOnly.rules[key] = ['warn'].concat(value.slice(1)); |
14 |
| - } else if (typeof value === 'number') { |
15 |
| - errorsOnly.rules[key] = 1; |
| 11 | + entries(baseRules).forEach((rule) => { |
| 12 | + const ruleName = rule[0]; |
| 13 | + const ruleConfig = rule[1]; |
| 14 | + |
| 15 | + if (rulesToError.indexOf(ruleName) === -1) { |
| 16 | + if (Array.isArray(ruleConfig)) { |
| 17 | + errorsOnly.rules[ruleName] = ['warn'].concat(ruleConfig.slice(1)); |
| 18 | + } else if (typeof ruleConfig === 'number') { |
| 19 | + errorsOnly.rules[ruleName] = 1; |
16 | 20 | } else {
|
17 |
| - errorsOnly.rules[key] = 'warn'; |
| 21 | + errorsOnly.rules[ruleName] = 'warn'; |
18 | 22 | }
|
19 | 23 | }
|
20 | 24 | });
|
|
0 commit comments