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.
|
|
"use strict";
exports.__esModule = true; exports.getFilePath = getFilePath; exports.getBaseSvgoConfig = getBaseSvgoConfig; exports.getPlugins = getPlugins; exports.mergeSvgoConfig = mergeSvgoConfig;
var _deepmerge = _interopRequireDefault(require("deepmerge"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function getFilePath(state) { return state.filePath || process.cwd(); }
function getBaseSvgoConfig(config) { const baseSvgoConfig = { plugins: [{ prefixIds: true }] };
if (config.icon || config.dimensions === false) { baseSvgoConfig.plugins.push({ removeViewBox: false }); }
return baseSvgoConfig; }
function getPlugins(config) { if (!config || !config.plugins) { return []; }
if (!Array.isArray(config.plugins)) { throw Error('`svgoConfig.plugins` must be an array'); }
return config.plugins; }
function extractPlugins(config) { if (!config) return []; if (!config.plugins) return []; if (!Array.isArray(config.plugins)) return [config.plugins]; return config.plugins; }
function mergePlugins(configs) { const plugins = configs.reduce((merged, config) => _deepmerge.default.all([merged, ...extractPlugins(config)]), {}); return Object.keys(plugins).reduce((array, key) => { array.push({ [key]: plugins[key] }); return array; }, []); }
function mergeSvgoConfig(...configs) { const plugins = mergePlugins(configs); return { ..._deepmerge.default.all(configs.filter(Boolean)), plugins }; }
|