normalizeAllRuleSettings.mjs 772 B

1234567891011121314151617181920212223242526272829
  1. import getStylelintRule from './utils/getStylelintRule.mjs';
  2. import normalizeRuleSettings from './normalizeRuleSettings.mjs';
  3. /** @import {Config as StylelintConfig} from 'stylelint' */
  4. /**
  5. * @param {StylelintConfig} config
  6. * @returns {Promise<StylelintConfig>}
  7. */
  8. export default async function normalizeAllRuleSettings(config) {
  9. if (!config.rules) return config;
  10. /** @type {StylelintConfig['rules']} */
  11. const normalizedRules = {};
  12. for (const [ruleName, rawRuleSettings] of Object.entries(config.rules)) {
  13. const rule = await getStylelintRule(ruleName, config);
  14. if (rule) {
  15. normalizedRules[ruleName] = normalizeRuleSettings(rawRuleSettings, rule);
  16. } else {
  17. normalizedRules[ruleName] = [];
  18. }
  19. }
  20. config.rules = normalizedRules;
  21. return config;
  22. }