You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

67 lines
10 KiB

4 years ago
"use strict";
var _object = _interopRequireDefault(require("object.omit"));
var _deepmerge = _interopRequireDefault(require("deepmerge"));
var _core = require("@babel/core");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function arrayMerge(source = [], overrides = []) {
return [...new Set([...source, ...overrides])];
}
function mergeArray(source = [], overrides = [], resolve, deepmergeOpts) {
return [...source, ...overrides].reduce((reduction, override) => {
const overrideName = resolve(Array.isArray(override) ? override[0] : override);
const overrideOptions = Array.isArray(override) ? override[1] : {};
const base = reduction.find(base => {
const baseName = resolve(Array.isArray(base) ? base[0] : base);
return baseName === overrideName || baseName.includes(overrideName);
});
const index = reduction.includes(base) ? reduction.indexOf(base) : reduction.length;
const baseName = base ? resolve(Array.isArray(base) ? base[0] : base) : overrideName;
const baseOptions = Array.isArray(base) ? base[1] : {};
const options = (0, _deepmerge.default)(baseOptions, overrideOptions, _objectSpread({
arrayMerge,
isMergeableObject: value => Array.isArray(value)
}, deepmergeOpts));
reduction[index] = Object.keys(options).length ? [baseName, options] : baseName;
return reduction;
}, []);
}
function babelMerge(source = {}, overrides = {}, deepmergeOpts) {
const plugins = mergeArray(source.plugins, overrides.plugins, _core.resolvePlugin, deepmergeOpts);
const presets = mergeArray(source.presets, overrides.presets, _core.resolvePreset, deepmergeOpts);
const sourceEnv = source.env || {};
const overridesEnv = overrides.env || {};
return Object.assign(presets.length ? {
presets
} : {}, plugins.length ? {
plugins
} : {}, _deepmerge.default.all([(0, _object.default)(source, ['plugins', 'presets', 'env']), (0, _object.default)(overrides, ['plugins', 'presets', 'env']), ...[...new Set([...Object.keys(sourceEnv), ...Object.keys(overridesEnv)])].map(name => ({
env: {
[name]: babelMerge(sourceEnv[name], overridesEnv[name], deepmergeOpts)
}
}))], _objectSpread({
arrayMerge
}, deepmergeOpts)));
}
Object.defineProperty(babelMerge, 'all', {
value: (values = [], deepmergeOpts) => values.reduce((acc, value) => {
if (value) {
Object.assign(acc, babelMerge(acc, value, deepmergeOpts));
}
return acc;
}, {})
});
module.exports = babelMerge;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJhcnJheU1lcmdlIiwic291cmNlIiwib3ZlcnJpZGVzIiwiU2V0IiwibWVyZ2VBcnJheSIsInJlc29sdmUiLCJkZWVwbWVyZ2VPcHRzIiwicmVkdWNlIiwicmVkdWN0aW9uIiwib3ZlcnJpZGUiLCJvdmVycmlkZU5hbWUiLCJBcnJheSIsImlzQXJyYXkiLCJvdmVycmlkZU9wdGlvbnMiLCJiYXNlIiwiZmluZCIsImJhc2VOYW1lIiwiaW5jbHVkZXMiLCJpbmRleCIsImluZGV4T2YiLCJsZW5ndGgiLCJiYXNlT3B0aW9ucyIsIm9wdGlvbnMiLCJpc01lcmdlYWJsZU9iamVjdCIsInZhbHVlIiwiT2JqZWN0Iiwia2V5cyIsImJhYmVsTWVyZ2UiLCJwbHVnaW5zIiwicmVzb2x2ZVBsdWdpbiIsInByZXNldHMiLCJyZXNvbHZlUHJlc2V0Iiwic291cmNlRW52IiwiZW52Iiwib3ZlcnJpZGVzRW52IiwiYXNzaWduIiwibWVyZ2UiLCJhbGwiLCJtYXAiLCJuYW1lIiwiZGVmaW5lUHJvcGVydHkiLCJ2YWx1ZXMiLCJhY2MiLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOztBQUFBOztBQUNBOztBQUNBOzs7Ozs7OztBQUVBLFNBQVNBLFVBQVQsQ0FBb0JDLFNBQVMsRUFBN0IsRUFBaUNDLFlBQVksRUFBN0MsRUFBaUQ7QUFDL0MsU0FBTyxDQUFDLEdBQUcsSUFBSUMsR0FBSixDQUFRLENBQUMsR0FBR0YsTUFBSixFQUFZLEdBQUdDLFNBQWYsQ0FBUixDQUFKLENBQVA7QUFDRDs7QUFFRCxTQUFTRSxVQUFULENBQW9CSCxTQUFTLEVBQTdCLEVBQWlDQyxZQUFZLEVBQTdDLEVBQWlERyxPQUFqRCxFQUEwREMsYUFBMUQsRUFBeUU7QUFDdkUsU0FBTyxDQUFDLEdBQUdMLE1BQUosRUFBWSxHQUFHQyxTQUFmLEVBQTBCSyxNQUExQixDQUFpQyxDQUFDQyxTQUFELEVBQVlDLFFBQVosS0FBeUI7QUFDL0QsVUFB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