qs
A querystring parser with nesting supporttape
tap-producing test harness for node and browsersprop-types-tools
Custom React PropType validatorsfaucet
human-readable TAP summarizertestling
unit tests in all the browsersprop-types-exact
For use with React PropTypes. Will error on any prop not explicitly specified.util.promisify
Polyfill/shim for util.promisify in node versions < v8object.assign
ES6 spec-compliant Object.assign shim. From https://github.com/es-shims/es6-shimes-abstract
ECMAScript spec abstract operations.json-stable-stringify
ls-engines
Determine if your dependency graph's stated "engines" criteria is met.js-traverse
json-file-plus
Read from and write to a JSON file, minimizing diffs and preserving formatting.object-keys
Object.keys shimistanbul-merge
Merge multiple istanbul coverage reports into one.npmignore
Command line tool for creating or updating a .npmignore file based on .gitignore.aud
Use `npx aud` instead of `npm audit`, whether you have a lockfile or not!shell-quote
get-intrinsic
Get and robustly cache all JS language-level intrinsics at first require time.listify
Turn an array into a list of comma-separated values, appropriate for use in an English sentence.simd
ES7 (proposed) SIMD numeric type shim/polyfillrepo-report
CLI to list all repos a user has access to, and report on their configuration in aggregate.publishers
Provide a package name, get a list of every version, and who published it.es-to-primitive
ECMAScript "ToPrimitive" algorithm. Provides ES5 and ES6/ES2015 versions.safe-publish-latest
Ensure that when you `npm publish`, the "latest" tag is only set for the truly latest version.define-properties
Define multiple non-enumerable properties at once. Uses `Object.defineProperty` when available; falls back to standard assignment in older engines.global-cache
Sometimes you have to do horrible things, like use the global object to share a singleton. Abstract that away, with this!promise-deferred
A lightweight Deferred implementation, on top of Promises/A+eslint-config
My shareable `eslint` config.ljharb
camelize
require-allow-edits
A GitHub action to require "allow edits" to be checked on a PR.can-merge
get-dep-tree
Use npm's Arborist to get a dependency tree for a package.side-channel
Store information about any JS value in a side channel. Uses WeakMap if available.es-get-iterator
Get an iterator for any JS language value. Works robustly across all environments, all versions.list-exports
Given a package name and a version number, or a path to a package.json, what specifiers does it expose?get-nans
Get an array of all distinct NaN values supported by the engine. There can be only one!tsconfig
My personal tsconfig(s), so my open source projects can share them.actions
GitHub actions I use for CI.uglify-register
The require hook will bind itself to node's require and automatically uglify files on the fly.promiseback
Accept an optional node-style callback, and also return a spec-compliant Promise!html-element-map
Look up HTML tag names via HTML Element constructors, and vice versa.es-errors
A simple cache for a few of the JS Error constructors.call-bind
Robustly `.call.bind()` a function.scorecard-cli
A CLI for OpenSSF Scorecard data.ls-publishers
List your dependency graph, grouped by publishers.proposal-is-error
ECMAScript Proposal, specs, and reference implementation for Error.isErrorsafe-regex-test
Give a regex, get a robust predicate function that tests it against a string.unused-files
List unused files in your package.mock-property
Given an object and a property, replaces a property descriptor (or deletes it), and returns a thunk to restore it.private-fields
What private fields does this object have?set-function-length
Set a function's length propertyunbox-primitive
Unbox a boxed JS primitive value.document.contains
Polyfill/shim for `document.contains`npm-lockfile
Safely generate an npm lockfile and output it to the filename of your choice.make-generator-function
Returns an arbitrary generator function, or undefined if generator syntax is unsupported.internal-slot
ES spec-like internal slots.safe-array-concat
`Array.prototype.concat`, but made safe by ignoring Symbol.isConcatSpreadablenpm-deprecations
Given an npm module name, get a map of npm version numbers to deprecation messages.find-value-locations
Given an object, and a value, return a tuple of the property name, and the object on which it is an own property.set-function-name
Set a function's name propertystop-iteration-iterator
Firefox 17-26 iterators throw a StopIteration object to indicate "done". This normalizes it.intl-fallback-symbol
ECMA-402 Intl spec's internal `FallbackSymbol`make-async-function
Function that returns an arbitrary `async function`, or undefined if `async function` syntax is unsupported.define-data-property
Define a data property on an object. Will fall back to assignment in an engine without descriptors.jsonify
.github
tc39-ci
Begin appes-define-property
`Object.defineProperty`, but not IE 8's broken one.iterate-value
Iterate any iterable JS value. Works robustly in all environments, all versions.daytime
npm module to combine two Date objects, "day" and "time"iterate-iterator
Iterate any JS iterator. Works robustly in all environments, all versions.concat-map
es-value-fixtures
Fixtures of ES values, for testing purposes.big-integer-max
Given two valid integers in string form, return the larger of the two.node-comments
Transform comments in JS files between multiple styles - single-line, multi-line, both, and more to come!make-arrow-function
Function that returns an arbitrary arrow function, or undefined if arrow function syntax is unsupported.define-accessor-property
Define an accessor property on an object. Will either throw, or fall back to assignment in loose mode, in an engine without descriptors.es-object-atoms
ES Object-related atoms: Object, ToObject, RequireObjectCoerciblegfm-footnotes
Prune unused footnote references in GitHub-flavored Markdownrenovate
Shared renovate config.big-integer-min
Given two valid integers in string form, return the smaller of the two.lockfile-info
Info about an npm project - which lockfile version, which lockfile(s) are present, etc.gopd
`Object.getOwnPropertyDescriptor`, but accounts for IE's broken implementation.resumer
a through stream that starts paused and resumes on the next tickAsyncIterator.prototype
`AsyncIterator.prototype`, or a shared object to use.TcoExpand
Expands t.co short links on twitter.com when possible. This only works because Twitter provides the full URL as a data attribute on most shortened links - it's quick and dirty, it may break at any time, and it depends on jQuery to work.es-shim-unscopables
Helper package to shim a method into `Array.prototype[Symbol.unscopables]`primordials
node core's "primordials" module, but robust for use in a published packagesafe-bigint
Safely create a BigInt from a numerical string, even one larger than MAX_SAFE_INTEGER.coauthors
A cli to generate a complete git co-authors list, including existing co-authors, for use in a commit message.open-sauced-goals
es-array-method-boxes-properly
Utility package to determine if an `Array.prototype` method properly boxes the callback's receiver and third argument.Iterator.prototype
`Iterator.prototype`, or a shared object to use.array-map
keytween
Encode and decode a string using the "look between X and Y on your keyboard" meme formatrepo-report-cache
make-async-generator-function
Function that returns an arbitrary async generator function, or undefined if async generator syntax is unsupported.validate-exports-object
Validate an object in the "exports" field.Love Open Source and this site? Check out how you can help us