This is the fork of original esbuild-plugin-babel. The main difference is that this fork supports ES modules config.
First, check if esbuild supports the transform you need (it's faster).
If not, you can add the Babel plugin you need with this plugin.
npm install esbuild-plugin-babel-next -D
esbuild.config.js
import esbuild from 'esbuild';
import babel from 'esbuild-plugin-babel-next';
esbuild
.build({
entryPoints: ['index.js'],
bundle: true,
outfile: 'main.js',
plugins: [babel()],
// target: ['es5'] // if you target es5 with babel, add this option
})
.catch(() => process.exit(1));
package.json
{
"type": "module",
"scripts": {
"start": "node esbuild.config.js"
}
}
esbuild.config.js
babel({
filter: /.*/,
namespace: '',
config: {} // babel config here or in babel.config.json
});
{
"sourceMaps": "inline",
"presets": [...],
"plugins": [...]
}
esbuild-serve → Serve with live reload for esbuild.
esbuild-plugin-pipe → Pipe esbuild plugins output.
esbuild-plugin-svg → Svg files import plugin for esbuild.
esbuild-plugin-postcss-literal → PostCSS tagged template literals plugin for esbuild.