@node-minify/babel-minify
Version:
babel-minify plugin for @node-minify
56 lines (55 loc) • 1.73 kB
JavaScript
var __getOwnPropNames = Object.getOwnPropertyNames;
var __commonJS = (cb, mod) => function __require() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
// src/index.ts
import { utils } from "@node-minify/utils";
import { transform } from "babel-core";
import minify from "babel-preset-minify";
var require_src = __commonJS({
"src/index.ts"(exports, module) {
var minifyBabel = ({
settings,
content,
callback,
index
}) => {
let babelOptions = {
presets: []
};
if (settings?.options?.babelrc) {
babelOptions = JSON.parse(utils.readFile(settings.options.babelrc));
}
if (settings?.options?.presets) {
const babelrcPresets = babelOptions.presets || [];
babelOptions.presets = babelrcPresets.concat(
Array.isArray(settings.options.presets) ? settings.options.presets : []
);
}
if (babelOptions.presets.indexOf("minify") === -1) {
babelOptions.presets = babelOptions.presets.concat([minify]);
}
const contentMinified = transform(content ?? "", babelOptions);
if (settings && !settings.content && settings.output) {
settings.output && utils.writeFile({
file: settings.output,
content: contentMinified.code,
index
});
}
if (callback) {
return callback(null, contentMinified.code);
}
return contentMinified.code;
};
minifyBabel.default = minifyBabel;
module.exports = minifyBabel;
}
});
export default require_src();
/*!
* node-minify
* Copyright(c) 2011-2024 Rodolphe Stoclin
* MIT Licensed
*/
//# sourceMappingURL=index.mjs.map