josteph / esbuild-plugin-lodash

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

License:MIT License


Languages

Language:JavaScript 100.0%