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.