stylelint
Version:
A mighty CSS linter that helps you avoid errors and enforce conventions.
30 lines (22 loc) • 772 B
JavaScript
import getStylelintRule from './utils/getStylelintRule.mjs';
import normalizeRuleSettings from './normalizeRuleSettings.mjs';
/** @import {Config as StylelintConfig} from 'stylelint' */
/**
* @param {StylelintConfig} config
* @returns {Promise<StylelintConfig>}
*/
export default async function normalizeAllRuleSettings(config) {
if (!config.rules) return config;
/** @type {StylelintConfig['rules']} */
const normalizedRules = {};
for (const [ruleName, rawRuleSettings] of Object.entries(config.rules)) {
const rule = await getStylelintRule(ruleName, config);
if (rule) {
normalizedRules[ruleName] = normalizeRuleSettings(rawRuleSettings, rule);
} else {
normalizedRules[ruleName] = [];
}
}
config.rules = normalizedRules;
return config;
}