3.3.4 • Published 7 years ago

babel-plugin-lodash v3.3.4

Weekly downloads
949,429
License
MIT
Repository
github
Last release
7 years ago

babel-plugin-lodash

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

Combine with lodash-webpack-plugin for even smaller cherry-picked builds!

Install

$ npm i --save lodash
$ npm i --save-dev babel-plugin-lodash @babel/cli @babel/preset-env

Example

Transforms

import _ from 'lodash'
import { add } from 'lodash/fp'

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

roughly to

import _add from 'lodash/fp/add'
import _map from 'lodash/map'

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

Usage

.babelrc
{
  "plugins": ["lodash"],
  "presets": [["@babel/env", { "targets": { "node": 6 } }]]
}

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

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

The options.id can be an array of ids.

{
  "plugins": [["lodash", { "id": ["async", "lodash-bound"] }]],
  "presets": [["@babel/env", { "targets": { "node": 6 } }]]
}
Babel CLI
$ babel --plugins lodash --presets @babel/es2015 script.js
Babel API
require('babel-core').transform('code', {
  'plugins': ['lodash'],
  'presets': [['@babel/env', { 'targets': { 'node': 6 } }]]
})
webpack.config.js
'module': {
  'loaders': [{
    'loader': 'babel-loader',
    'test': /\.js$/,
    'exclude': /node_modules/,
    'query': {
      'plugins': ['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 plugin, which is included in the @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 for alternatives.
  • Modularized method packages aren’t supported
xdf-ntshared-react-scaffolding@quantumblack/carbon-chartsdiode-inspr-testdiode-testttoev-test-plugindiode-inspr-test-test-testdiode-inspr-testtdiode-testdiode-test-test-diodeinspr-test-diode-testdiode-test-insprinspr-diode-testbabel-preset-contour@sitearcade/babel-preset-arcade@cfchase/interactive-landscapekelex-clikelex-plugin-app@workrails/wr-catalog-baseorbit-widget@jkyu/monet-clicazetto-pawjs@thebespokepixel/cordialbabel-preset-cordialedui@lite-v3/babel-config-vanillareact-scripts-rawrmonstarhzero-boothzero-boot-purehzero-front-runtimechoerodon-hap-front-boot@memoryai/frontend-config@cvpcasada/nwb@gravityforms/webpack-config@kununu/electrode-archetype-react-app@kununu/electrode-archetype-react-app-devreact-application-basekununu-electrode-archetype-react-appkununu-electrode-archetype-react-app-devpackx@futurelearn/webpack-configbabel-preset-qcolatereclutalia-atomic-web-designskedulo-custom-forms@infinitebrahmanuniverse/nolb-babel-plugin-l@jadefortune/szga-component@cyca/babel-preset@cyca/babel-presets@wumijs/cliad-data-fakerrc-build-min@everything-registry/sub-chunk-1203front-affilatecherry-scriptssnbc-paas-bootsnbc-paas-webpacksnbc-paas-webpack-scriptscpaas-bootcpaas-webpack-scriptsmember-easy-mobile-v1tempsenterriajstest-core-antdtest-ehome-template1widgets-constantswieler-electrode-archetype-react-appwa.builder3wa.component.builderwagcontentwease-cliweauthweb-component-envvue-hervue-cli-plugin-xmwebcubeweiler-electrode-archetype-react-appworona-packageswpkfgwheelhouse-packagerxix-clixm-uixm-webpack-configxhcwxapprnjs-webappshazamjssewing-kit-of-lemonssewing-kittensewing-kitsewing-web-testsails-service-stripesample-hoosarsaparillascot4shopmonkey-react-scriptsreskriptreact_wrap_pluginremote-load-comprevolut-react-scriptsreaction-basereaction-build
3.3.4

7 years ago

3.3.3

7 years ago

3.3.2

7 years ago

3.3.1

7 years ago

3.3.0

7 years ago

3.2.11

8 years ago

3.2.10

8 years ago

3.2.9

8 years ago

3.2.8

8 years ago

3.2.7

8 years ago

3.2.6

8 years ago

3.2.5

8 years ago

3.2.4

8 years ago

3.2.3

8 years ago

3.2.2

8 years ago

3.2.1

8 years ago

3.2.0

9 years ago

3.1.5

9 years ago

3.1.4

9 years ago

3.1.3

9 years ago

3.1.2

9 years ago

3.1.1

9 years ago

3.1.0

9 years ago

3.0.0

9 years ago

2.3.0

9 years ago

2.2.3

9 years ago

2.2.2

9 years ago

2.2.1

9 years ago

2.2.0

9 years ago

0.3.0

9 years ago

2.1.0

9 years ago

2.0.1

9 years ago

2.0.0

9 years ago

1.1.0

9 years ago

1.0.2

9 years ago

1.0.1

9 years ago

1.0.0

9 years ago

0.2.0

9 years ago

0.1.5

9 years ago

0.1.4

9 years ago

0.1.3

9 years ago

0.1.2

9 years ago

0.1.1

9 years ago

0.1.0

9 years ago