Spaces:
Configuration error
Configuration error
; | |
var util = require('util'); | |
var core = require('@babel/core'); | |
var core$1 = require('@svgr/core'); | |
var path = require('path'); | |
var svgo = require('@svgr/plugin-svgo'); | |
var jsx = require('@svgr/plugin-jsx'); | |
var presetReact = require('@babel/preset-react'); | |
var presetEnv = require('@babel/preset-env'); | |
var presetTS = require('@babel/preset-typescript'); | |
var pluginTransformReactConstantElements = require('@babel/plugin-transform-react-constant-elements'); | |
var __defProp = Object.defineProperty; | |
var __defProps = Object.defineProperties; | |
var __getOwnPropDescs = Object.getOwnPropertyDescriptors; | |
var __getOwnPropSymbols = Object.getOwnPropertySymbols; | |
var __hasOwnProp = Object.prototype.hasOwnProperty; | |
var __propIsEnum = Object.prototype.propertyIsEnumerable; | |
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; | |
var __spreadValues = (a, b) => { | |
for (var prop in b || (b = {})) | |
if (__hasOwnProp.call(b, prop)) | |
__defNormalProp(a, prop, b[prop]); | |
if (__getOwnPropSymbols) | |
for (var prop of __getOwnPropSymbols(b)) { | |
if (__propIsEnum.call(b, prop)) | |
__defNormalProp(a, prop, b[prop]); | |
} | |
return a; | |
}; | |
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); | |
var __objRest = (source, exclude) => { | |
var target = {}; | |
for (var prop in source) | |
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0) | |
target[prop] = source[prop]; | |
if (source != null && __getOwnPropSymbols) | |
for (var prop of __getOwnPropSymbols(source)) { | |
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop)) | |
target[prop] = source[prop]; | |
} | |
return target; | |
}; | |
const babelOptions = { | |
babelrc: false, | |
configFile: false, | |
presets: [ | |
core.createConfigItem(presetReact, { type: "preset" }), | |
core.createConfigItem([presetEnv, { modules: false }], { type: "preset" }) | |
], | |
plugins: [core.createConfigItem(pluginTransformReactConstantElements)] | |
}; | |
const typeScriptBabelOptions = __spreadProps(__spreadValues({}, babelOptions), { | |
presets: [ | |
...babelOptions.presets, | |
core.createConfigItem( | |
[presetTS, { allowNamespaces: true, allExtensions: true, isTSX: true }], | |
{ type: "preset" } | |
) | |
] | |
}); | |
const tranformSvg = util.callbackify( | |
async (contents, options, state) => { | |
const _a = options, { babel = true } = _a, config = __objRest(_a, ["babel"]); | |
const jsCode = await core$1.transform(contents, config, state); | |
if (!babel) | |
return jsCode; | |
const result = await core.transformAsync( | |
jsCode, | |
options.typescript ? typeScriptBabelOptions : babelOptions | |
); | |
if (!(result == null ? void 0 : result.code)) { | |
throw new Error(`Error while transforming using Babel`); | |
} | |
return result.code; | |
} | |
); | |
function svgrLoader(contents) { | |
this.cacheable && this.cacheable(); | |
const callback = this.async(); | |
const options = this.getOptions(); | |
const previousExport = (() => { | |
if (contents.startsWith("export ")) | |
return contents; | |
const exportMatches = contents.match(/^module.exports\s*=\s*(.*)/); | |
return exportMatches ? `export default ${exportMatches[1]}` : null; | |
})(); | |
const state = { | |
caller: { | |
name: "@svgr/webpack", | |
previousExport, | |
defaultPlugins: [svgo, jsx] | |
}, | |
filePath: path.normalize(this.resourcePath) | |
}; | |
if (!previousExport) { | |
tranformSvg(contents, options, state, callback); | |
} else { | |
this.fs.readFile(this.resourcePath, (err, result) => { | |
if (err) { | |
callback(err); | |
return; | |
} | |
tranformSvg(String(result), options, state, (err2, content) => { | |
if (err2) { | |
callback(err2); | |
return; | |
} | |
callback(null, content); | |
}); | |
}); | |
} | |
} | |
module.exports = svgrLoader; | |
//# sourceMappingURL=index.js.map | |