Skip to content

Latest commit

 

History

History
68 lines (42 loc) · 1.47 KB

README.md

File metadata and controls

68 lines (42 loc) · 1.47 KB

esbuild-plugin-lodash

npm

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.