Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
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

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 12

AltStyle によって変換されたページ (->オリジナル) /