react-svg-core
Version:
Core for react-svg-loader
36 lines (27 loc) • 980 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.optimize = optimize;
exports.transform = transform;
var _svgo = _interopRequireDefault(require("svgo"));
var _core = require("@babel/core");
var _babelPluginReactSvg = _interopRequireDefault(require("babel-plugin-react-svg"));
var _svgo2 = require("./svgo");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// SVGO Optimize
function optimize(opts = {}) {
opts = (0, _svgo2.validateAndFix)(opts);
const svgo = new _svgo.default(opts);
return content => svgo.optimize(content).then(data => data.data);
} // Babel Transform
function transform({
jsx = false
} = {}) {
return content => (0, _core.transformSync)(content, {
babelrc: false,
configFile: false,
presets: [jsx ? void 0 : "@babel/preset-react"].filter(Boolean),
plugins: [require.resolve("@babel/plugin-syntax-jsx"), _babelPluginReactSvg.default]
});
}