Skip to content
This repository was archived by the owner on Sep 16, 2023. It is now read-only.

lodash/lodash-webpack-plugin

Repository files navigation

lodash-webpack-plugin

Create smaller Lodash builds by replacing feature sets of modules with noop, identity, or simpler alternatives.

This plugin complements babel-plugin-lodash by shrinking its cherry-picked builds even further!

DISCLAIMER: Using this plugin without enabling the proper feature sets may cause lodash functions to behave in unexpected ways. Methods may appear to work, however they might return incorrect results.

Install

$ npm i --save lodash
$ npm i --save-dev lodash-webpack-plugin babel-core babel-loader babel-plugin-lodash babel-preset-env webpack

Example

demo

Usage

webpack.config.js
var LodashModuleReplacementPlugin = require('lodash-webpack-plugin');
var webpack = require('webpack');

module.exports = {
  'module': {
    'rules': [{
      'use': 'babel-loader',
      'test': /\.js$/,
      'exclude': /node_modules/,
      'options': {
        'plugins': ['lodash'],
        'presets': [['env', { 'modules': false, 'targets': { 'node': 4 } }]]
      }
    }]
  },
  'plugins': [
    new LodashModuleReplacementPlugin,
    new webpack.optimize.UglifyJsPlugin
  ]
};

Opt-in to features with an options object:

new LodashModuleReplacementPlugin({
  'collections': true,
  'paths': true
});

Feature Sets

The following features are removed by default (biggest savings first):

Feature Description
shorthands Iteratee shorthands for _.property, _.matches, & _.matchesProperty.
cloning Support “clone” methods & cloning source objects.
currying Support “curry” methods.
caching Caches for methods like _.cloneDeep, _.isEqual, & _.uniq.
collections Support objects in “Collection” methods.
exotics Support objects like buffers, maps, sets, symbols, typed arrays, etc.
guards Guards for host objects, sparse arrays, & other edge cases.
metadata Metadata to reduce wrapping of bound, curried, & partially applied functions.
(requires currying)
deburring Support deburring letters.
unicode Support Unicode symbols.
chaining Components to support chain sequences.
memoizing Support _.memoize & memoization.
coercions Support for coercing values to integers, numbers, & strings.
flattening Support “flatten” methods & flattening rest arguments.
paths Deep property path support for methods like _.get, _.has, & _.set.
placeholders Argument placeholder support for “bind”, “curry”, & “partial” methods.
(requires currying)

About

Smaller modular Lodash builds.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 12

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy