mirror of
https://github.com/Didericis/bare-bundle-transform-plugin-babel.git
synced 2026-06-26 09:55:21 -04:00
20 lines
532 B
JavaScript
20 lines
532 B
JavaScript
const babel = require("@babel/core");
|
|
|
|
async function plugin(bundle, { name, data, mode }) {
|
|
return new Promise((resolve, reject) => {
|
|
// only transform javascript files
|
|
if (name.match(/\.js$|\.cjs$|\.mjs$/)) {
|
|
babel.transform(data.toString(), (err, result) => {
|
|
if (err) reject(err);
|
|
// overwrite the old code with the transpiled code in the bundle
|
|
bundle.write(name, result.code, { mode });
|
|
resolve();
|
|
});
|
|
} else {
|
|
resolve();
|
|
}
|
|
});
|
|
}
|
|
|
|
module.exports = plugin;
|