Git Product home page Git Product logo

lodash's Introduction

Lo-Dash v1.1.1

A low-level utility library delivering consistency, customization, performance, and extra features.

Download

Dive in

We’ve got API docs, benchmarks, and unit tests.

For a list of upcoming features, check out our roadmap.

Resources

For more information check out these articles, screencasts, and other videos over Lo-Dash:

  • Posts
  • Videos

Features

Support

Lo-Dash has been tested in at least Chrome 525, Firefox 219, IE 6-10, Opera 9.25-12, Safari 3-6, Node.js 0.4.8-0.10.1, Narwhal 0.3.2, PhantomJS 1.8.1, RingoJS 0.9, and Rhino 1.7RC5.

Custom builds

Custom builds make it easy to create lightweight versions of Lo-Dash containing only the methods you need. To top it off, we handle all method dependency and alias mapping for you.

  • Backbone builds, with only methods required by Backbone, may be created using the backbone modifier argument.
lodash backbone
  • CSP builds, supporting default Content Security Policy restrictions, may be created using the csp modifier argument. The csp modifier is an alias of the mobile modifier. Lo-Dash may be used in Chrome extensions by using either the csp, mobile, or underscore build and using precompiled templates, or loading Lo-Dash in a sandbox.
lodash csp
  • Legacy builds, tailored for older environments without ES5 support, may be created using the legacy modifier argument.
lodash legacy
  • Modern builds, tailored for newer environments with ES5 support, may be created using the modern modifier argument.
lodash modern
  • Mobile builds, without method compilation and most bug fixes for old browsers, may be created using the mobile modifier argument.
lodash mobile
  • Strict builds, with _.bindAll, _.defaults, and _.extend in strict mode, may be created using the strict modifier argument.
lodash strict
  • Underscore builds, tailored for projects already using Underscore, may be created using the underscore modifier argument.
lodash underscore

Custom builds may be created using the following commands:

  • Use the category argument to pass comma separated categories of methods to include in the build.
    Valid categories (case-insensitive) are “arrays”, “chaining”, “collections”, “functions”, “objects”, and “utilities”.
lodash category=collections,functions
lodash category="collections, functions"
  • Use the exports argument to pass comma separated names of ways to export the LoDash function.
    Valid exports are “amd”, “commonjs”, “global”, “node”, and “none”.
lodash exports=amd,commonjs,node
lodash exports="amd, commonjs, node"
  • Use the iife argument to specify code to replace the immediately-invoked function expression that wraps Lo-Dash.
lodash iife="!function(window,undefined){%output%}(this)"
  • Use the include argument to pass comma separated method/category names to include in the build.
lodash include=each,filter,map
lodash include="each, filter, map"
  • Use the minus argument to pass comma separated method/category names to remove from those included in the build.
lodash underscore minus=result,shuffle
lodash underscore minus="result, shuffle"
  • Use the plus argument to pass comma separated method/category names to add to those included in the build.
lodash backbone plus=random,template
lodash backbone plus="random, template"
  • Use the template argument to pass the file path pattern used to match template files to precompile.
lodash template="./*.jst"
  • Use the settings argument to pass the template settings used when precompiling templates.
lodash settings="{interpolate:/\{\{([\s\S]+?)\}\}/g}"
  • Use the moduleId argument to specify the AMD module ID of Lo-Dash, which defaults to “lodash”, used by precompiled templates.
lodash moduleId="underscore"

All arguments, except legacy with csp, mobile, modern, or underscore, may be combined.
Unless specified by -o or --output, all files created are saved to the current working directory.

The following options are also supported:

  • -c, --stdout ......... Write output to standard output
  • -d, --debug ........... Write only the non-minified development output
  • -h, --help ............. Display help information
  • -m, --minify ......... Write only the minified production output
  • -o, --output ......... Write output to a given path/filename
  • -p, --source-map .. Generate a source map for the minified output, using an optional source map URL
  • -s, --silent ......... Skip status updates normally logged to the console
  • -V, --version ....... Output current version of Lo-Dash

The lodash command-line utility is available when Lo-Dash is installed as a global package (i.e. npm install -g lodash).

Installation and usage

In browsers:

<script src="lodash.js"></script>

Using npm:

npm install lodash

npm install -g lodash
npm link lodash

To avoid potential issues, update npm before installing Lo-Dash:

npm install npm -g

In Node.js and RingoJS ≥ v0.8.0:

var _ = require('lodash');

// or as a drop-in replacement for Underscore
var _ = require('lodash/dist/lodash.underscore');

Note: If Lo-Dash is installed globally, run npm link lodash in your project’s root directory before requiring it.

In RingoJS ≤ v0.7.0:

var _ = require('lodash')._;

In Rhino:

load('lodash.js');

In an AMD loader like RequireJS:

require({
  'paths': {
    'underscore': 'path/to/lodash'
  }
},
['underscore'], function(_) {
  console.log(_.VERSION);
});

Release Notes

v1.1.1

  • Ensured the underscore build version of _.forEach accepts a thisArg argument
  • Updated vendor/tar to work with Node v0.10.x

v1.1.0

  • Added rhino -require support
  • Added _.createCallback, _findIndex, _.findKey, _.parseInt, _.runInContext, and _.support
  • Added support for callback and thisArg arguments to _.flatten
  • Added CommonJS/Node support to precompiled templates
  • Ensured the exports object is not a DOM element
  • Ensured _.isPlainObject returns false for objects without a [[Class]] of “Object”
  • Made _.cloneDeep’s callback support more closely follow its documentation
  • Made the template precompiler create nonexistent directories of --output paths
  • Made _.object an alias of _.zipObject
  • Optimized method chaining, object iteration, _.find, and _.pluck (an average of 18% overall better performance)
  • Updated backbone build Lo-Dash method dependencies

The full changelog is available here.

BestieJS

Lo-Dash is part of the BestieJS “Best in Class” module collection. This means we promote solid browser/environment support, ES5+ precedents, unit testing, and plenty of documentation.

Author

Contributors

lodash's People

Contributors

adamcraven avatar alanhogan avatar braddunbar avatar brianhaveri avatar chaoflow avatar danheberden avatar iamnoah avatar jashkenas avatar jasondavies avatar jdalton avatar jeffamcgee avatar jrburke avatar kishanov avatar kriskowal avatar lifesinger avatar malclocke avatar mark-rushakoff avatar mathiasbynens avatar maw avatar mcmire avatar michaelficarra avatar octatone avatar ratbeard avatar rfletcher avatar ryantenney avatar samuelclay avatar stuk avatar terinjokes avatar tombyrer avatar yuchi avatar

Watchers

 avatar

Forkers

fitzchak

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.