1 | 'use strict';
|
2 |
|
3 | const _ = require('lodash');
|
4 | const normalizeRuleSettings = require('./normalizeRuleSettings');
|
5 | const rules = require('./rules');
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 | function normalizeAllRuleSettings(config) {
|
15 |
|
16 | const normalizedRules = {};
|
17 |
|
18 | if (!config.rules) return config;
|
19 |
|
20 | Object.keys(config.rules).forEach((ruleName) => {
|
21 | const rawRuleSettings = _.get(config, ['rules', ruleName]);
|
22 |
|
23 | const rule = rules[ruleName] || _.get(config, ['pluginFunctions', ruleName]);
|
24 |
|
25 | if (!rule) {
|
26 | normalizedRules[ruleName] = [];
|
27 | } else {
|
28 | normalizedRules[ruleName] = normalizeRuleSettings(
|
29 | rawRuleSettings,
|
30 | ruleName,
|
31 | _.get(rule, 'primaryOptionArray'),
|
32 | );
|
33 | }
|
34 | });
|
35 |
|
36 | config.rules = normalizedRules;
|
37 |
|
38 | return config;
|
39 | }
|
40 |
|
41 | module.exports = normalizeAllRuleSettings;
|