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-configxhcwxappstormragestoke-react-scriptstestdata-to-apipost-jsonsx-configthis-is-a-uithunderballvalour-formvue-cli-plugin-lodashvue-form-designervue-custom-google-maps@djforth/webpacksetup-middleman@dongnl/pawjs@dosomething/babel-config@dosomething/babel-preset@doctorwork/h5@dish/babel-preset@djkloop/chaos-ui
3.3.4

7 years ago

3.3.3

7 years ago

3.3.2

8 years ago

3.3.1

8 years ago

3.3.0

8 years ago

3.2.11

8 years ago

3.2.10

9 years ago

3.2.9

9 years ago

3.2.8

9 years ago

3.2.7

9 years ago

3.2.6

9 years ago

3.2.5

9 years ago

3.2.4

9 years ago

3.2.3

9 years ago

3.2.2

9 years ago

3.2.1

9 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

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago

0.2.0

10 years ago

0.1.5

10 years ago

0.1.4

10 years ago

0.1.3

10 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago