esbuild-plugin-extract-helpers
Version:
Esbuild plugin to extract cjs helpers (like tslib)
35 lines (27 loc) • 1.37 kB
Markdown
> Esbuild plugin to extract cjs helpers (like tslib)
[](https://github.com/antongolub/misc/releases/download/lcov/lcov.info)
[](https://www.npmjs.com/package/esbuild-plugin-extract-helpers)
## Status
PoC
## Problem
By default, esbuild injects helpers [into each cjs module](https://github.com/evanw/esbuild/issues/1230). It's _fine_, when you have just a few, but definitely not when there are many. This plugin extracts helpers into a separate file.
## Usage
```ts
import { build, BuildOptions } from 'esbuild'
import { extractHelpersPlugin } from 'esbuild-plugin-extract-helpers'
const plugin = extractHelpersPlugin({
cwd: 'build', // Optional. Defaults to BuildOptions.outdir || BuildOptions.absWorkingDir
include: /\.cjs/, // Optional. Defaults to /./
helper: 'esblib.cjs' // Optional. Default value is esblib.cjs
})
const config: BuildOptions = {
entryPoints: ['index.ts'],
outdir: 'target/cjs',
plugins: [plugin],
format: 'cjs'
}
await build(config)
```
[](./LICENSE)