This repository has been archived on 2020-11-02. You can view files and clone it, but cannot push or open issues or pull requests.
TripSit_Suite/node_modules/stylelint/lib/normalizeAllRuleSettings.js
2020-11-01 22:46:04 +00:00

42 lines
1011 B
JavaScript

'use strict';
const _ = require('lodash');
const normalizeRuleSettings = require('./normalizeRuleSettings');
const rules = require('./rules');
/** @typedef {import('stylelint').StylelintConfigRules} StylelintConfigRules */
/** @typedef {import('stylelint').StylelintConfig} StylelintConfig */
/**
* @param {StylelintConfig} config
* @return {StylelintConfig}
*/
function normalizeAllRuleSettings(config) {
/** @type {StylelintConfigRules} */
const normalizedRules = {};
if (!config.rules) return config;
Object.keys(config.rules).forEach((ruleName) => {
const rawRuleSettings = _.get(config, ['rules', ruleName]);
const rule = rules[ruleName] || _.get(config, ['pluginFunctions', ruleName]);
if (!rule) {
normalizedRules[ruleName] = [];
} else {
normalizedRules[ruleName] = normalizeRuleSettings(
rawRuleSettings,
ruleName,
_.get(rule, 'primaryOptionArray'),
);
}
});
config.rules = normalizedRules;
return config;
}
module.exports = normalizeAllRuleSettings;