UNPKG

928 BJavaScriptView Raw
1'use strict';
2
3const normalizeRuleSettings = require('./normalizeRuleSettings');
4const rules = require('./rules');
5
6/** @typedef {import('stylelint').ConfigRules} StylelintConfigRules */
7/** @typedef {import('stylelint').Config} StylelintConfig */
8
9/**
10 * @param {StylelintConfig} config
11 * @return {StylelintConfig}
12 */
13function normalizeAllRuleSettings(config) {
14 if (!config.rules) return config;
15
16 /** @type {StylelintConfigRules} */
17 const normalizedRules = {};
18
19 for (const [ruleName, rawRuleSettings] of Object.entries(config.rules)) {
20 const rule = rules[ruleName] || (config.pluginFunctions && config.pluginFunctions[ruleName]);
21
22 if (rule) {
23 normalizedRules[ruleName] = normalizeRuleSettings(
24 rawRuleSettings,
25 ruleName,
26 rule.primaryOptionArray,
27 );
28 } else {
29 normalizedRules[ruleName] = [];
30 }
31 }
32
33 config.rules = normalizedRules;
34
35 return config;
36}
37
38module.exports = normalizeAllRuleSettings;