source: frontend/node_modules/@svgr/plugin-svgo/lib/config.js

Last change on this file was 9af201e, checked in by MBK <marija.karapandzova@…>, 12 days ago

Fix frontend appearance

  • Property mode set to 100644
File size: 1.5 KB
Line 
1"use strict";
2
3exports.__esModule = true;
4exports.getFilePath = getFilePath;
5exports.getBaseSvgoConfig = getBaseSvgoConfig;
6exports.getPlugins = getPlugins;
7exports.mergeSvgoConfig = mergeSvgoConfig;
8
9var _deepmerge = _interopRequireDefault(require("deepmerge"));
10
11function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
13function getFilePath(state) {
14 return state.filePath || process.cwd();
15}
16
17function getBaseSvgoConfig(config) {
18 const baseSvgoConfig = {
19 plugins: [{
20 prefixIds: true
21 }]
22 };
23
24 if (config.icon || config.dimensions === false) {
25 baseSvgoConfig.plugins.push({
26 removeViewBox: false
27 });
28 }
29
30 return baseSvgoConfig;
31}
32
33function getPlugins(config) {
34 if (!config || !config.plugins) {
35 return [];
36 }
37
38 if (!Array.isArray(config.plugins)) {
39 throw Error('`svgoConfig.plugins` must be an array');
40 }
41
42 return config.plugins;
43}
44
45function extractPlugins(config) {
46 if (!config) return [];
47 if (!config.plugins) return [];
48 if (!Array.isArray(config.plugins)) return [config.plugins];
49 return config.plugins;
50}
51
52function mergePlugins(configs) {
53 const plugins = configs.reduce((merged, config) => _deepmerge.default.all([merged, ...extractPlugins(config)]), {});
54 return Object.keys(plugins).reduce((array, key) => {
55 array.push({
56 [key]: plugins[key]
57 });
58 return array;
59 }, []);
60}
61
62function mergeSvgoConfig(...configs) {
63 const plugins = mergePlugins(configs);
64 return { ..._deepmerge.default.all(configs.filter(Boolean)),
65 plugins
66 };
67}
Note: See TracBrowser for help on using the repository browser.