This plugin is for esbuild, similar to how babel-plugin-lodash works for babel.
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.
npm install --save-dev esbuild-plugin-lodashDefine plugin in the plugins section of esbuild config like this:
const esbuild = require('esbuild');
const lodashTransformer = require('esbuild-plugin-lodash');
esbuild.build({
// ...
plugins: [
lodashTransformer(),
],
})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);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.