zack
feat: πŸš€ Update Chat-nFace configurations
a053984
raw
history blame
3.91 kB
'use strict';
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