Generic JavaScript helpers that can be used with any template engine. Handlebars, Lo-Dash, Underscore, or any engine that supports helper functions.
Recursively omit empty properties from an object. Omits empty objects, arrays, strings, and optionally zero. Similar results to what you would expect with `compact` for arrays.
Parse JavaScript code comments. Works with block and line comments, and should work with CSS, LESS, SASS, or any language with the same comment formats.
Parse `.git/config` into a JavaScript object. sync or async.
Safely evaluate JavaScript (estree) expressions, sync and async.
Recursively flatten an array or arrays. This is the fastest implementation of array flatten.
Split a string on a given character or characters, with support for escaping.
System for creating and managing view collections, rendering, engines, routes and more. See the "dev" branch for most recent updates.
Simple, opinionated node.js interface for creating basic apps with the GitHub API.
Parse a gitignore file into an array of patterns. Comments and empty lines are stripped.
Cache requires to be lazy-loaded when needed. Uses node's own require system with tried and true, plain-vanilla JavaScript getters.
Calculate an exponential moving average from an array of numbers.
Returns true if the platform is Windows (and Cygwin or MSYS/MinGW for unit tests)
Returns an array with only the unique values from all given arrays using strict equality for comparisons.
Convert a windows file path to a unix-style file path.
Capture screenshots programmatically. Cross-platform, with support for MacOS (Darwin), Windows, and Linux.
Basic node.js utility for converting JSON to YAML and writing formatting YAML files to disk.
Regex to validate that a URL is a git URL.
Returns the directory used by NPM for globally installed NPM packages.
Wrap, align and justify the words in a string.
Basic API for yarn.
Get the npm global path prefix. Same code used internally by npm.
Very thin wrapper around js-yaml for directly reading in YAML files.
Easily add plugin support to your node.js application.
Basic logging utils: colors, symbols and timestamp.
Faster, bash-like range expansion. Expand a range of numbers or letters, uppercase or lowercase. See the benchmarks.
Set an array of unique values as the property of an object. Supports setting deeply nested properties using using object-paths/dot notation. Node.js/JavaScript util.
Thin wrapper around resolve-dep for loading plugins from node_modules or local directories. Like load-gulp-plugins, match dep, etc, but works for gulp, grunt, assemble, verb or anything other task runner or build system that uses plugins.
Empower your text editor or prompt with full-featured code snippets! JavaScript library and API for parsing, compiling, and rendering code snippets, with complete support for VS Code-style tabstops. Supports variables, placeholders, transforms, unlimited nesting, and all of the "snippet" features offered by popular text editors like VSCode, Atom, TextMate and Sublime Text.
Create a matching function from a glob pattern, regex, string, array or function.