Spaces:
Sleeping
Sleeping
; | |
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 | |
}; | |
} |