Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@sigmacomputing/babel-plugin-lodash

Package Overview
Dependencies
Maintainers
137
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@sigmacomputing/babel-plugin-lodash

Modular Lodash builds without the hassle.

  • 3.3.5
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
75K
decreased by-23.93%
Maintainers
137
Weekly downloads
 
Created
Source

@sigmacomputing/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!

@sigmacomputing/babel-plugin-lodash is forked from babel-plugin-lodash which has since been abandoned.

Install

NPM

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

Yarn

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

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": ["@sigmacomputing/babel-plugin-lodash"],
  "presets": [["@babel/env", { "targets": { "node": 6 } }]]
}

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

{
  "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.

{
  "plugins": [
    ["@sigmacomputing/babel-plugin-lodash", { "id": ["async", "lodash-bound"] }]
  ],
  "presets": [["@babel/env", { "targets": { "node": 6 } }]]
}
Babel CLI
$ babel --plugins @sigmacomputing/babel-plugin-lodash --presets @babel/es2015 script.js
Babel API
require('babel-core').transform('code', {
  plugins: ['@sigmacomputing/babel-plugin-lodash'],
  presets: [['@babel/env', { targets: { node: 6 } }]],
});
webpack.config.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 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

Keywords

FAQs

Package last updated on 22 Jun 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc