react-app-rewire-wolox
Version:
Add CSS Modules + SASS and Babel config Webpack config to a [`react-app-rewired`](https://github.com/timarney/react-app-rewired) config.
50 lines (38 loc) • 1.67 kB
JavaScript
;
var _path = require("path");
var _path2 = _interopRequireDefault(_path);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var ruleChildren = function ruleChildren(loader) {
return loader.use || loader.oneOf || Array.isArray(loader.loader) && loader.loader || [];
};
var findIndexAndRules = function findIndexAndRules(rulesSource, ruleMatcher) {
var result = void 0;
var rules = Array.isArray(rulesSource) ? rulesSource : ruleChildren(rulesSource);
rules.some(function (rule, index) {
return result = ruleMatcher(rule) ? { index: index, rules: rules } : findIndexAndRules(ruleChildren(rule), ruleMatcher);
});
return result;
};
exports.findRule = function (rulesSource, ruleMatcher) {
var _findIndexAndRules = findIndexAndRules(rulesSource, ruleMatcher),
index = _findIndexAndRules.index,
rules = _findIndexAndRules.rules;
return rules[index];
};
exports.createLoaderMatcher = function (loader) {
return function (rule) {
return rule.loader && rule.loader.indexOf("" + _path2.default.sep + loader + _path2.default.sep) !== -1;
};
};
exports.addAfterRule = function (rulesSource, ruleMatcher, value) {
var _findIndexAndRules2 = findIndexAndRules(rulesSource, ruleMatcher),
index = _findIndexAndRules2.index,
rules = _findIndexAndRules2.rules;
rules.splice(index + 1, 0, value);
};
exports.addBeforeRule = function (rulesSource, ruleMatcher, value) {
var _findIndexAndRules3 = findIndexAndRules(rulesSource, ruleMatcher),
index = _findIndexAndRules3.index,
rules = _findIndexAndRules3.rules;
rules.splice(index, 0, value);
};