Calculate the set of unique abbreviations for a given set of strings.
Get reference time using Akamai's time reference service.
Returns an array with only the unique values from the first array, by excluding all values from additional arrays using strict equality for comparisons.
Recursively flatten an array or arrays.
Get the first element or first n elements of an array.
Return the last element in an array.
Creates a new array with given range.
Swap position of two items in an array.
Split array/TypedArray to chunks of given size.
Compose a new function from smaller functions `f(g(x))`.
A very tiny and fast compose function.
writable stream that concatenates strings or data and calls a callback with the result.
Copy text from browser to clipboard...natively!
Get the number of days in a given month.
A curry function without anything too clever.
Convert a camelized string into a lowercased one with a custom separator: unicornRainbow → unicorn_rainbow.
Remove duplicates from an array.
Recursive Object.assign().
Bind a context to all functions in an object, including deeply nested functions.
Node's assert.deepEqual() algorithm as a standalone module.
Deep diff two JavaScript Objects while preserving the data structure. Including nested structures of Arrays and Objects.
Lightweight event delegation.
Document ready listener for modern browsers.
DOM element value getter/setter.
A simple JavaScript implementation of du -sb.
A tiny easy math library including addition, multiplication, subtraction, and division.
Fast cartesian product.
Javascript Date formatting and parsing.
Lightweight filesize to human-readable / proportions w/o dependencies.
Returns an array filled with the specified input
Filter object keys and values into a new object.
Flatten object key hierarchies into a list of strings using a custom separator.
Converts an object literal with deeply nested nodes to a simple key/value object.
Node fs methods as Promise/A+ (optional fs-extra, graceful-fs).
A tiny math library to get gcd of two numbers using Euclidean algorithm
Get the original size of any `img`/`video`/`svg`/`canvas` tags or canvas context.
Use property paths (a.b.c) to get a nested value from an object.
Glob functionality for node.js.
Group array of objects into lists.
Deep-search objects for keys. Keys can be searched by providing an array of keys, or using a dot-notiation.
Check if an object has a local property.
Returns true if a value exists, false if empty. Works with deeply nested values using dot notation (`'a.b.c'`) paths.
Easily handle --help and --version arguments in your CLI application
A wrapper around the built-in high resolution timer which simplifies the calculation of timestamps.
Always return the input argument.
Load one or more ``s in a Promise.
Return true if any of passed values exists in array - faster than using indexOf.
Insert a string of css into the head
Check if an object is empty.
A good way to tell if a number is even or not (avoids type issues). Uses `is-odd` and `is-number` under the hood.
Check if a string represent a fully qualified domain name.
Check whether a given value is a generator function.
Returns `true` if the value is a number.
A good way to tell if a number is odd or not (avoids type issues). Uses `is-number` under the hood.
Test whether an object looks like a promises-a+ promise.
A small module to check if an Array is sorted.
Check if something is a Node.js stream.
streaming JSON.parse and stringify
Pluck without the madness.
Map object keys and values into an array.
Map object keys and values into a new object.
An optimization technique used to speed up consecutive function calls by caching the result of calls with identical input.
Deep-merge two objects. Arrays that are values of the same object key get concatenated.
Get the MIME type of a file by its extension.
Parse argument options.
Creates a keymirror object from an array of valid keys.
Returns an array of keys from first object that are missing in second.
Recursively mkdir, like mkdir -p.
A good way to tell if a number is prime or not.
A tiny (130 bytes), secure, URL-friendly, unique string ID generator for JavaScript
Comprehensive MIME type mapping API based on mime-db module.
slugifies even utf-8 chars.
Normalize values in package.json to improve compatibility, programmatic readability and usefulness with third party libs.
Checks if foo is not defined, i.e. undefined, null, an empty string, array or object.
Check for deprecated packages and recommend alternative packages.
Turn an object into list of [key, value] pairs for mapping, iterating or other purposes.
Get the values of an object.
Run a function exactly one time.
Left pad a string with zeros or a specified string.
Parse next JSON value from string allowing extraneous characters after value.
Defined time-periods constants for Javascript, in milliseconds.
Promisify a callback-style function.
Get namespaced config from the closest package.json.
A very tiny library to pluralize words
Convert png to windows ico format.
Convert milliseconds to a human readable string: 1337000000 → 15d 11h 23m 20s.
Like `Promise.all` but for object properties.
pipe streams together and close all of them if one of them closes.
Just the cutest and tiniest queue/deque implementation!
Reads the username and email from `.gitconfig` :wrench: and returns it as json object.
A deep deletion module for node (like rm -rf).
Strip whitespace - or other characters - from the end of a string.
The semantic version parser used by npm.
Find minimum in an array of version that satisfies a semver range.
Find maximum (or minimum) version according to semver.
Create nested values and any intermediaries dot notation (`'a.b.c'`) paths.
Parses URLs from user input (with potential typos in protocols, bad copy+paste, etc.) and returns a proper URL.
Resolves a promise after a specified delay.
Javascript library to enhance String.substring / Array.slice with python slice style.
Returns a copy of an object with its keys sorted.
Break up a stream and reassemble it so that each line is a chunk.
Defines static object attributes using `Object.defineProperties`
A readable stream generator, useful for testing or converting simple functions into Readable streams.
Stringify an object/array like JSON.stringify just without all the double-quotes.
Strip ANSI escape codes.
An implementation of PHP's strip_tags in Node.js.
Transform your data as it pass by, synchronously.
Throttle/debounce your functions.
Tiny wrapper around Node streams2 Transform to avoid explicit subclassing noise.
A through2 to create an Array.prototype.filter analog for streams.
A through2 to create an Array.prototype.map analog for streams.
A small promise-based wrapper for through2.
Get a formatted timestamp.
A tiny(~1.7kb) library used to format date with `*** time ago` statement.
Temporary file and directory creator for node.js.
Convert a string to a camel case.
Convert a string to a capital case.
Convert a string to a constant case.
Convert a string to a dot case.
Remove an existing case from a string.
Convert a string to a pascal case.
Convert a string to a sentence case.
Convert a string to a snake case.
Convert a string to a space case.
Convert a string to a title case.
Generate a relative time string (Example: "3 seconds ago")
Efficiently remove an element from an unordered array without doing a splice.
Get the username of the current user.
Generate RFC-compliant UUIDs in JavaScript.
Returns a map with the keys mapped to the corresponding vals. zipmap also accepts a single value of objects or pairs.