esbuild-plugin-lodash
This plugin is for esbuild, similar to how babel-plugin-lodash works for babel.
Thoughts
The non-es lodash
package is not tree-shakeable, this plugin is only for direct import workaround.
For better coding practices, you can use instead lodash-es
directly or strictly import the required lodash function manually.
Installation
npm install --save-dev esbuild-plugin-lodash
Usage
Define plugin in the plugins
section of esbuild config like this:
const esbuild = require('esbuild');
const lodashTransformer = require('esbuild-plugin-lodash');
esbuild.build({
plugins: [
lodashTransformer(),
],
})
Result
Having this input file:
import { get, isEmpty } from 'lodash';
const something = {};
get(something);
isEmpty(something);
It will output this following file content:
import get from 'lodash/get';
import isEmpty from 'lodash/isEmpty';
const something = {};
get(something);
isEmpty(something);
Options
You can specify your own filter
as per according to esbuild docs here.
You can specify outLodashPackage
which by default is lodash
. An example
of this would be specifying calls to be rewritten to use lodash-es
.