# @sigmacomputing/babel-plugin-lodash

> Modular Lodash builds without the hassle.

Latest version **3.3.5** (published 2023-06-22) · MIT license · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install @sigmacomputing/babel-plugin-lodash
pnpm add @sigmacomputing/babel-plugin-lodash
yarn add @sigmacomputing/babel-plugin-lodash
bun add @sigmacomputing/babel-plugin-lodash
```

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 3.3.5 |
| Published | 2023-06-22 |
| First published | 2023-06-22 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 5 |
| Unpacked size | 25.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1946 |
| Author | Graeme Yeates |
| Maintainers | arjun0502, matei_the_sigmanaut, dmadelyn, shikha_a, daisywang, sivadheeraj2, weiranw, nathansigma, gsharoya, sigliu-chris, protichi, hiranmaya, angelafan, montefern, ardaakmann, tristansigma, justineyuan, chukamattah, tunguyen106, purvilmehta, rgdutta, robarnold, wolf-at-sigma, mjones-sigma, miguelsigma, s-nawal, williamblaskosigma, glensigma, kevin-ye225, sureshmula, liz425, rohan-sigma, tifn, samirapatel, ryankwong, grantshih, rajsigma, zyzhu525, rounaksalim95, wenxuan5, ayman-sigma, wessigma, stephon, raharsha, charlesnelson-sigma, haoxu-sigma, lunagantonio_sigma, aradhakrishnan, reitmr, vjeyaram, dmitriykharchenko, aaron-sigma, yusufsigma, mwong-sigma, diego-sigma, kristijan-sigma, borissigma, garysigma, alexbiba, jhu_sigma, mdevsigma, feinstatsigma, kanghua-sigma, jacobkalinowski, brett_b_at_sigma, hannahsigma, jaredspickard, nicholaschandler, muralisigma, moonero, vikas-rp, cynthiashen, sinanunan, mansa_pabbaraju, pizzaoracle, ezimanyi-sigma, yuchristina, vladislavboboshko, sharviln, aarshinova, munteanuic, slequar, rebekahkim, cgreybosh, antonlunev, thorakks, jareddoor, jamesflorencio, yi-sigma, olegatsigma, lilchang, pearce-sigma, ankita.shankar, junpeng-sigma, rohinipatilsigma, terence.wils, phillipwhite99, kevinpham, sigma-deepak, sam_sigma, snehagathani, madisonchamberlain, rwoollen, jlgale, jfranty, sigmaci, ktruong, donhcd, maxseiden, sierralsigma, jmhain, greg-at-sigma, turese, anton-bulyenov, wtgjxj, alexisjohnson, adityasigmacomputing, benjixd, jack-bens, duci9y, dbronnik, ericbannatyne-sigma, neil-sigma, anandnarayanan, sigmacomputingluke, mtoader, eranatsigma, dyoung_ncc, czhang_sigmacomputing, rudysigma, jacksigmacomputing, messerc, rjsigma, sigmoid-mogab, iangardner, yifeng-sigma, xyin96 |
| Keywords | babel-plugin, cherry-pick, lodash, modules |

## Links

- npm: https://www.npmjs.com/package/@sigmacomputing/babel-plugin-lodash
- Repository: https://github.com/lodash/babel-plugin-lodash
- Homepage: https://github.com/lodash/babel-plugin-lodash#readme
- Issues: https://github.com/lodash/babel-plugin-lodash/issues
- npm.io page: https://npm.io/package/@sigmacomputing/babel-plugin-lodash

## Dependencies (5)

- [glob](https://npm.io/package/glob.md) ^7.1.1
- [lodash](https://npm.io/package/lodash.md) ^4.17.10
- [@babel/types](https://npm.io/package/@babel/types.md) ^7.0.0
- [require-package-name](https://npm.io/package/require-package-name.md) ^2.0.1
- [@babel/helper-module-imports](https://npm.io/package/@babel/helper-module-imports.md) ^7.0.0

## Alternatives

- [@openai/codex-sdk](https://npm.io/package/@openai/codex-sdk.md) — 731.4K weekly downloads
- [babel-plugin-transform-react-jsx](https://npm.io/package/babel-plugin-transform-react-jsx.md) — 565.0K weekly downloads
- [babel-helper-remove-or-void](https://npm.io/package/babel-helper-remove-or-void.md) — 508.5K weekly downloads
- [@pnpm/store-controller-types](https://npm.io/package/@pnpm/store-controller-types.md) — 186.9K weekly downloads
- [react-native-signature-canvas](https://npm.io/package/react-native-signature-canvas.md) — 155.6K weekly downloads

## Recent versions

- 3.3.5 (latest) — 2023-06-22

## README

# @sigmacomputing/babel-plugin-lodash

A simple transform to cherry-pick Lodash modules so you don’t have to.

Combine with [lodash-webpack-plugin](https://www.npmjs.com/package/lodash-webpack-plugin)
for even smaller cherry-picked builds!

@sigmacomputing/babel-plugin-lodash is forked from
[babel-plugin-lodash](https://github.com/lodash/babel-plugin-lodash) which has
since been abandoned.

## Install

NPM

```shell
$ npm install --save lodash
$ npm install --save-dev babel-plugin-lodash @babel/cli @babel/preset-env
```

Yarn

```shell
$ yarn add lodash
$ yarn add @sigmacomputing/babel-plugin-lodash @babel/cli @babel/preset-env -D
```

## Example

Transforms

```js
import _ from 'lodash';
import { add } from 'lodash/fp';

const addOne = add(1);
_.map([1, 2, 3], addOne);
```

roughly to

```js
import _add from 'lodash/fp/add';
import _map from 'lodash/map';

const addOne = _add(1);
_map([1, 2, 3], addOne);
```

## Usage

###### .babelrc

```json
{
  "plugins": ["@sigmacomputing/babel-plugin-lodash"],
  "presets": [["@babel/env", { "targets": { "node": 6 } }]]
}
```

Set plugin options using an array of `[pluginName, optionsObject]`.

```json
{
  "plugins": [
    [
      "@sigmacomputing/babel-plugin-lodash",
      { "id": "lodash-compat", "cwd": "some/path" }
    ]
  ],
  "presets": [["@babel/env", { "targets": { "node": 6 } }]]
}
```

The `options.id` can be an array of ids.

```json
{
  "plugins": [
    ["@sigmacomputing/babel-plugin-lodash", { "id": ["async", "lodash-bound"] }]
  ],
  "presets": [["@babel/env", { "targets": { "node": 6 } }]]
}
```

###### Babel CLI

```sh
$ babel --plugins @sigmacomputing/babel-plugin-lodash --presets @babel/es2015 script.js
```

###### Babel API

```js
require('babel-core').transform('code', {
  plugins: ['@sigmacomputing/babel-plugin-lodash'],
  presets: [['@babel/env', { targets: { node: 6 } }]],
});
```

###### webpack.config.js

```js
'module': {
  'loaders': [{
    'loader': 'babel-loader',
    'test': /\.js$/,
    'exclude': /node_modules/,
    'query': {
      'plugins': ['@sigmacomputing/babel-plugin-lodash'],
      'presets': [['@babel/env', { 'targets': { 'node': 6 } }]]
    }
  }]
}
```

## FAQ

> Can this plugin produce ES2015 imports rather than CommonJS imports?

This plugin produces ES2015 imports by default. The
[`@babel/plugin-transform-modules-commonjs`](https://www.npmjs.com/package/@babel/plugin-transform-modules-commonjs)
plugin, which is included in the [`@babel/preset-es2015`](https://www.npmjs.com/package/@babel/preset-es2015)
preset, transforms ES2015 `import` statements to CommonJS. Omit it from your
preset to preserve ES2015 style imports.

## Limitations

- You must use ES2015 imports to load Lodash
- Babel < 6 & Node.js < 4 aren’t supported
- Chain sequences aren’t supported. See [this blog post](https://medium.com/making-internets/why-using-chain-is-a-mistake-9bc1f80d51ba) for alternatives.
- Modularized [method packages](https://www.npmjs.com/browse/keyword/lodash-modularized) aren’t supported

---
_Source: https://npm.io/package/@sigmacomputing/babel-plugin-lodash · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
