Skip to content

Commit

Permalink
Move function normalizeAllRuleSettings() out to a separate module (#4810
Browse files Browse the repository at this point in the history
)
  • Loading branch information
m-allanson committed Jun 1, 2020
1 parent 651b43c commit 037338d
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 33 deletions.
34 changes: 1 addition & 33 deletions lib/augmentConfig.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,8 @@ const _ = require('lodash');
const configurationError = require('./utils/configurationError');
const getModulePath = require('./utils/getModulePath');
const globjoin = require('globjoin');
const normalizeRuleSettings = require('./normalizeRuleSettings');
const normalizeAllRuleSettings = require('./normalizeAllRuleSettings');
const path = require('path');
const rules = require('./rules');

/** @typedef {import('stylelint').StylelintConfigPlugins} StylelintConfigPlugins */
/** @typedef {import('stylelint').StylelintConfigProcessor} StylelintConfigProcessor */
Expand Down Expand Up @@ -294,37 +293,6 @@ function addPluginFunctions(config) {
return config;
}

/**
* @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;
}

/**
* Given an array of processors strings, we want to add two
* properties to the augmented config:
Expand Down
41 changes: 41 additions & 0 deletions lib/normalizeAllRuleSettings.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
'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;

0 comments on commit 037338d

Please sign in to comment.