mirror of
https://github.com/Didericis/bare-bundle-transform-plugin-babel.git
synced 2026-06-25 17:45:18 -04:00
20 lines
524 B
JavaScript
20 lines
524 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
|