source: frontend/node_modules/@svgr/webpack/lib/index.js

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

Fix frontend appearance

  • Property mode set to 100644
File size: 2.3 KB
Line 
1"use strict";
2
3exports.__esModule = true;
4exports.default = void 0;
5
6var _loaderUtils = require("loader-utils");
7
8var _core = require("@babel/core");
9
10var _core2 = _interopRequireDefault(require("@svgr/core"));
11
12var _pluginSvgo = _interopRequireDefault(require("@svgr/plugin-svgo"));
13
14var _pluginJsx = _interopRequireDefault(require("@svgr/plugin-jsx"));
15
16var _presetReact = _interopRequireDefault(require("@babel/preset-react"));
17
18var _presetEnv = _interopRequireDefault(require("@babel/preset-env"));
19
20var _pluginTransformReactConstantElements = _interopRequireDefault(require("@babel/plugin-transform-react-constant-elements"));
21
22function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
24const babelOptions = {
25 babelrc: false,
26 configFile: false,
27 presets: [(0, _core.createConfigItem)(_presetReact.default, {
28 type: 'preset'
29 }), (0, _core.createConfigItem)([_presetEnv.default, {
30 modules: false
31 }], {
32 type: 'preset'
33 })],
34 plugins: [(0, _core.createConfigItem)(_pluginTransformReactConstantElements.default)]
35};
36
37function svgrLoader(source) {
38 const callback = this.async();
39 const {
40 babel = true,
41 ...options
42 } = (0, _loaderUtils.getOptions)(this) || {};
43
44 const readSvg = () => new Promise((resolve, reject) => {
45 this.fs.readFile(this.resourcePath, (err, result) => {
46 if (err) reject(err);
47 resolve(result);
48 });
49 });
50
51 const previousExport = (() => {
52 if (source.toString('utf-8').startsWith('export ')) {
53 return source;
54 }
55
56 const exportMatches = source.toString('utf-8').match(/^module.exports\s*=\s*(.*)/);
57 return exportMatches ? `export default ${exportMatches[1]}` : null;
58 })();
59
60 const tranformSvg = svg => (0, _core2.default)(svg, options, {
61 caller: {
62 name: '@svgr/webpack',
63 previousExport,
64 defaultPlugins: [_pluginSvgo.default, _pluginJsx.default]
65 },
66 filePath: this.resourcePath
67 }).then(jsCode => {
68 if (!babel) return jsCode;
69 return (0, _core.transformAsync)(jsCode, babelOptions).then(({
70 code
71 }) => code);
72 }).then(result => callback(null, result)).catch(err => callback(err));
73
74 if (previousExport) {
75 readSvg().then(tranformSvg);
76 } else {
77 tranformSvg(source);
78 }
79}
80
81var _default = svgrLoader;
82exports.default = _default;
Note: See TracBrowser for help on using the repository browser.