Skip to content

This plugin is for esbuild, similar to how babel-plugin-lodash works for babel.

License

Notifications You must be signed in to change notification settings

pankod/esbuild-plugin-lodash

 
 

Repository files navigation

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.

About

This plugin is for esbuild, similar to how babel-plugin-lodash works for babel.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%