mirror of
https://github.com/idanoo/GoScrobble
synced 2025-07-22 23:49:15 +00:00
0.2.0 - Mid migration
This commit is contained in:
parent
139e6a915e
commit
7e38fdbd7d
42393 changed files with 5358157 additions and 62 deletions
82
web/node_modules/@svgr/webpack/lib/index.js
generated
vendored
Normal file
82
web/node_modules/@svgr/webpack/lib/index.js
generated
vendored
Normal file
|
@ -0,0 +1,82 @@
|
|||
"use strict";
|
||||
|
||||
exports.__esModule = true;
|
||||
exports.default = void 0;
|
||||
|
||||
var _loaderUtils = require("loader-utils");
|
||||
|
||||
var _core = require("@babel/core");
|
||||
|
||||
var _core2 = _interopRequireDefault(require("@svgr/core"));
|
||||
|
||||
var _pluginSvgo = _interopRequireDefault(require("@svgr/plugin-svgo"));
|
||||
|
||||
var _pluginJsx = _interopRequireDefault(require("@svgr/plugin-jsx"));
|
||||
|
||||
var _presetReact = _interopRequireDefault(require("@babel/preset-react"));
|
||||
|
||||
var _presetEnv = _interopRequireDefault(require("@babel/preset-env"));
|
||||
|
||||
var _pluginTransformReactConstantElements = _interopRequireDefault(require("@babel/plugin-transform-react-constant-elements"));
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
const babelOptions = {
|
||||
babelrc: false,
|
||||
configFile: false,
|
||||
presets: [(0, _core.createConfigItem)(_presetReact.default, {
|
||||
type: 'preset'
|
||||
}), (0, _core.createConfigItem)([_presetEnv.default, {
|
||||
modules: false
|
||||
}], {
|
||||
type: 'preset'
|
||||
})],
|
||||
plugins: [(0, _core.createConfigItem)(_pluginTransformReactConstantElements.default)]
|
||||
};
|
||||
|
||||
function svgrLoader(source) {
|
||||
const callback = this.async();
|
||||
const {
|
||||
babel = true,
|
||||
...options
|
||||
} = (0, _loaderUtils.getOptions)(this) || {};
|
||||
|
||||
const readSvg = () => new Promise((resolve, reject) => {
|
||||
this.fs.readFile(this.resourcePath, (err, result) => {
|
||||
if (err) reject(err);
|
||||
resolve(result);
|
||||
});
|
||||
});
|
||||
|
||||
const previousExport = (() => {
|
||||
if (source.toString('utf-8').startsWith('export ')) {
|
||||
return source;
|
||||
}
|
||||
|
||||
const exportMatches = source.toString('utf-8').match(/^module.exports\s*=\s*(.*)/);
|
||||
return exportMatches ? `export default ${exportMatches[1]}` : null;
|
||||
})();
|
||||
|
||||
const tranformSvg = svg => (0, _core2.default)(svg, options, {
|
||||
caller: {
|
||||
name: '@svgr/webpack',
|
||||
previousExport,
|
||||
defaultPlugins: [_pluginSvgo.default, _pluginJsx.default]
|
||||
},
|
||||
filePath: this.resourcePath
|
||||
}).then(jsCode => {
|
||||
if (!babel) return jsCode;
|
||||
return (0, _core.transformAsync)(jsCode, babelOptions).then(({
|
||||
code
|
||||
}) => code);
|
||||
}).then(result => callback(null, result)).catch(err => callback(err));
|
||||
|
||||
if (previousExport) {
|
||||
readSvg().then(tranformSvg);
|
||||
} else {
|
||||
tranformSvg(source);
|
||||
}
|
||||
}
|
||||
|
||||
var _default = svgrLoader;
|
||||
exports.default = _default;
|
Loading…
Add table
Add a link
Reference in a new issue