Esbuild Plugin Transform • Pipe transformation plugin for esbuild.
Install
$ npm i @chialab/esbuild-plugin-transform -D
$ yarn add @chialab/esbuild-plugin-transform -D
Usage
import esbuild from 'esbuild';
import { start, end } from '@chialab/esbuild-plugin-transform';
await esbuild.build({
plugins: [
start(),
end(),
],
});
Create a plugin
First of all, install Esbuild Plugin Transform:
npm i @chialab/esbuild-plugin-transform
Then, use module helpers to retrieve contents and mappings:
import { getTransformOptions } from '@chialab/esbuild-plugin-transform';
async function transform(code, map) {
...
}
export default {
name: '...',
setup(build) {
const { filter, running, getEntry, buildEntry } = getTransformOptions(build);
build.onLoad({ filter: /\./, namespace: 'file' }, async (args) => {
const entry = await getEntry(args.path);
const { code, map } = await transform(entry.code);
entry.code = code;
entry.mappings.push(map);
return buildEntry(entry, {
loader: 'js',
});
});
},
};
License
Esbuild Plugin Transform is released under the MIT license.