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 a gitignore file into an array of patterns. Comments and empty lines are stripped.
Safely evaluate JavaScript (estree) expressions, sync and async.
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.
Split a string on a given character or characters, with support for escaping.
Recursively flatten an array or arrays. This is the fastest implementation of array flatten.
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.
Cache requires to be lazy-loaded when needed. Uses node's own require system with tried and true, plain-vanilla JavaScript getters.
Add context awareness to your apps and frameworks by safely evaluating user-defined conditional expressions. Useful for evaluating expressions in config files, prompts, key bindings, completions, templates, and many other user cases.
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)
Capture screenshots programmatically. Cross-platform, with support for MacOS (Darwin), Windows, and Linux.
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.
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.
Faster, bash-like range expansion. Expand a range of numbers or letters, uppercase or lowercase. See the benchmarks.
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.
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.
Basic logging utils: colors, symbols and timestamp.
Convert liquid templates to handlebars templates!