| 'use strict'; |
| |
| const normalizeRuleSettings = require('./normalizeRuleSettings'); |
| const rules = require('./rules'); |
| |
| /** @typedef {import('stylelint').ConfigRules} StylelintConfigRules */ |
| /** @typedef {import('stylelint').Config} StylelintConfig */ |
| |
| /** |
| * @param {StylelintConfig} config |
| * @return {StylelintConfig} |
| */ |
| function normalizeAllRuleSettings(config) { |
| if (!config.rules) return config; |
| |
| /** @type {StylelintConfigRules} */ |
| const normalizedRules = {}; |
| |
| for (const [ruleName, rawRuleSettings] of Object.entries(config.rules)) { |
| const rule = rules[ruleName] || (config.pluginFunctions && config.pluginFunctions[ruleName]); |
| |
| if (rule) { |
| normalizedRules[ruleName] = normalizeRuleSettings( |
| rawRuleSettings, |
| ruleName, |
| rule.primaryOptionArray, |
| ); |
| } else { |
| normalizedRules[ruleName] = []; |
| } |
| } |
| |
| config.rules = normalizedRules; |
| |
| return config; |
| } |
| |
| module.exports = normalizeAllRuleSettings; |