12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- "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
- };
- }
|