esr provides two different ways to transpile your code:
bundling(default): this transpiles the script and all its dependencies in typically one invocation of esbuild. Dependencies defined in package.json or node_modules will never be transpiled. Running esr will always transpile the code. No caching is used.
transform(--cache): this method will invoke esbuild for every source file, but will cache the result. This means that the initial run will be slower, but after that, only changed source files will be transpiled.
$ bin/esr.js --help
Usage: esr [options] <source-file> [file-options]
--cache Transform on a file per file basis and cache code
--clearCache Clear transform cache
--help|-h Display this help message
To customize the options passed to esbuild, you can create an esbuild-runner.config.js file in the current directory or one of the ancestor directories.
// example esbuild-runner.config.js
module.exports = {
type: "bundle", // bundle or transform (see description above)
esbuild: {
// Any esbuild build or transform options go here
target: "esnext",
},
}
📦 Installation
Simply install the esbuild-runner npm package using your favorite package manager.
globally ...
$ npm install -g esbuild-runner
... or locally in your project
$ npm add --dev esbuild-runner
👋 Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.