Packages by ljharb
safe-publish-latest
Ensure that when you `npm publish`, the "latest" tag is only set for the truly latest version.
babel-plugin-dynamic-import-webpack
Babel plugin to transpile import() to require.ensure, for Webpack
babel-plugin-dynamic-import-node
Babel plugin to transpile import() to a deferred require(), for node
array.prototype.every
An ES5 spec-compliant `Array.prototype.every` shim/polyfill/replacement that works as far down as ES3.
array.prototype.some
An ES5 spec-compliant `Array.prototype.some` shim/polyfill/replacement that works as far down as ES3.
babel-plugin-transform-react-infer-display-name
A Babel preset for adding `displayName` to React components (descendants of `React.Component` and SFCs).
util.promisify-all
[](https://travis-ci.org/SimenB/util.promisify-all) [](https://www.npmjs.com/package/util.promisify-all)
make-async-function
Function that returns an arbitrary `async function`, or undefined if `async function` syntax is unsupported.
array.prototype.flatmap
An ES2019 spec-compliant `Array.prototype.flatMap` shim/polyfill/replacement that works as far down as ES3.
array.prototype.flatten
An ESnext spec-compliant `Array.prototype.flatten` shim/polyfill/replacement that works as far down as ES3.
listify
Turn an array into a list of comma-separated values, appropriate for use in an English sentence.
json-file-plus
[![github actions][actions-image]][actions-url] [![coverage][codecov-image]][codecov-url] [![dependency status][deps-svg]][deps-url] [![dev dependency status][dev-deps-svg]][dev-deps-url] [![License][license-image]][license-url] [![Downloads][downloads-im
make-arrow-function
Function that returns an arbitrary arrow function, or undefined if arrow function syntax is unsupported.
make-generator-function
Returns an arbitrary generator function, or undefined if generator syntax is unsupported.
object-keys
An Object.keys replacement, in case Object.keys is not available. From https://github.com/es-shims/es5-shim
define-properties
Define multiple non-enumerable properties at once. Uses `Object.defineProperty` when available; falls back to standard assignment in older engines.
is-date-object
Is this value a JS Date object? This module works cross-realm/iframe, and despite ES6 @@toStringTag.
is-string
Is this value a JS String object or primitive? This module works cross-realm/iframe, and despite ES6 @@toStringTag.
is-number-object
Is this value a JS Number object? This module works cross-realm/iframe, and despite ES6 @@toStringTag.
is-callable
Is this JS value callable? Works with Functions and GeneratorFunctions, despite ES6 @@toStringTag.
object.getownpropertydescriptors
ES2017 spec-compliant shim for `Object.getOwnPropertyDescriptors` that works in ES5.
array-includes
An ES7/ES2016 spec-compliant `Array.prototype.includes` shim/polyfill/replacement that works as far down as ES3.
string-at
A robust & optimized ES3-compatible polyfill for the `String.prototype.at` proposal for ECMAScript 6/7 - based on https://mths.be/at
is-boolean-object
Is this value a JS Boolean? This module works cross-realm/iframe, and despite ES6 @@toStringTag.
is-typed-array
Is this value a JS Typed Array? This module works cross-realm/iframe, does not depend on `instanceof` or mutable properties, and despite ES6 Symbol.toStringTag.
regexp.escape
A robust ES3-compatible polyfill for the `RegExp.escape` proposal - see https://github.com/tc39/proposal-regex-escaping
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.
global-cache
Sometimes you have to do horrible things, like use the global object to share a singleton. Abstract that away, with this!
react-with-styles-interface-css-compiler
Build step package for generating a static css file to support a react-with-styles project built with the react-with-styles CSS interface
which-typed-array
Which kind of Typed Array is this JavaScript value? Works cross-realm, without `instanceof`, and despite Symbol.toStringTag.
eslint-import-resolver-node
Node default behavior import resolution plugin for eslint-plugin-import.
eslint-import-resolver-webpack
Resolve paths to dependencies, given a webpack.config.js. Plugin for eslint-plugin-import.
mocha-wrap
Fluent pluggable interface for easily wrapping `describe` and `it` blocks in Mocha tests.
eslint-module-utils
Core utilities to support eslint-plugin-import and other module-related plugins.
redux-injectable-store
Redux store with injectable reducers for use with bundle splitting, large apps, and SPAs.
react-with-styles-interface-amp-aphrodite
An Aphrodite interface for react-with-styles that supports pages rendered using Google's AMP.
array.prototype.flat
An ES2019 spec-compliant `Array.prototype.flat` shim/polyfill/replacement that works as far down as ES3.
babel-plugin-inline-react-svg
A babel plugin that optimizes and inlines SVGs for your react components.
promise-all-settled
See the `test` directory (or run `npm install && npm test`) to see more complete examples.
has-strict-mode
Does the current JS environment have strict mode? ES5+ should; but let's not assume.
@pkgjs/support
Package support information (see: https://github.com/nodejs/package-maintenance/pull/220)
@rest-hooks/normalizr
Normalizes and denormalizes JSON according to schema for Redux and Flux applications
@pkgjs/create
[](https://npmjs.org/package/@pkgjs/create) [](https://npmjs.org/package/@pkgjs/create) [ is this JavaScript value? Works cross-realm, without `instanceof`, and despite Symbol.toStringTag.
es-get-iterator
Get an iterator for any JS language value. Works robustly across all environments, all versions.
has-package-exports
Does the current node version have support for the "exports" field in package.json?
ecmarkup
Custom element definitions and core utilities for markup that specifies ECMAScript and related technologies.
array.prototype.indexof
An ES2015 spec-compliant `Array.prototype.indexOf` shim/polyfill/replacement that works as far down as ES3.
getprototypeof
An ES5 mostly-spec-compliant `Object.getPrototypeOf` sham/polyfill/replacement that works in as many engines as possible
array.prototype.keys
An ES2015 spec-compliant `Array.prototype.keys` shim/polyfill/replacement that works as far down as ES3.
array.prototype.values
An ES2015 spec-compliant `Array.prototype.values` shim/polyfill/replacement that works as far down as ES3.
array.prototype.entries
An ES2015 spec-compliant `Array.prototype.entries` shim/polyfill/replacement that works as far down as ES3.
array.prototype.lastindexof
An ES2015 spec-compliant `Array.prototype.lastIndexOf` shim/polyfill/replacement that works as far down as ES3.
available-typed-arrays
Returns an array of Typed Array names that are available in the current environment
has-package-self-reference
Does the current node version have support for requiring/importing its own name?
list-exports
Given a package name and a version number, or a path to a package.json, what specifiers does it expose?
ls-exports
CLI for `list-exports`: Given a package name and a version number, or a path to a package.json, what specifiers does it expose?
make-async-generator-function
Function that returns an arbitrary async generator function, or undefined if async generator syntax is unsupported.
is-weakref
Is this value a JS WeakRef? This module works cross-realm/iframe, and despite ES6 @@toStringTag.
is-finalizationregistry
Is this value a JS FinalizationRegistry? This module works cross-realm/iframe, and despite ES6 @@toStringTag.
array.prototype.item
An ES-spec-compliant (proposed) Array.prototype.item shim/polyfill/replacement that works as far down as ES3
string.prototype.item
An ES-spec-compliant (proposed) String.prototype.item shim/polyfill/replacement that works as far down as ES3
string.prototype.split
An ES spec-compliant `String.prototype.split` shim/polyfill/replacement that works as far down as ES3
create-pkg
See the corresponding issue in the **Package Maintenance WG**: https://github.com/nodejs/package-maintenance/issues/404
has-package-imports
Does the current node version have support for the "imports" field in package.json?
string.prototype.at
An ES-spec-compliant (proposed) String.prototype.at shim/polyfill/replacement that works as far down as ES3
array.prototype.at
An ES-spec-compliant (proposed) Array.prototype.at shim/polyfill/replacement that works as far down as ES3
math.fround
An ES-spec-compliant Math.fround shim/polyfill/replacement that works as far down as ES3
array.prototype.copywithin
An ES2015 spec-compliant `Array.prototype.copyWithin` shim/polyfill/replacement that works as far down as ES3.
object.getprototypeof
An ES5 mostly-spec-compliant `Object.getPrototypeOf` sham/polyfill/replacement that works in as many engines as possible
reflect.getprototypeof
An ES2015 mostly-spec-compliant `Reflect.getPrototypeOf` sham/polyfill/replacement that works in as many engines as possible
reflect.apply
An ES-spec-compliant Reflect.apply shim/polyfill/replacement that works as far down as ES3
number.parseint
An ES-spec-compliant Number.parseInt shim/polyfill/replacement that works as far down as ES3
number.parsefloat
An ES-spec-compliant Number.parseFloat shim/polyfill/replacement that works as far down as ES3
number.issafeinteger
An ES-spec-compliant Number.isSafeInteger shim/polyfill/replacement that works as far down as ES3
number.isfinite
An ES-spec-compliant Number.isFinite shim/polyfill/replacement that works as far down as ES3
array.prototype.filter
An ES5 spec-compliant `Array.prototype.filter` shim/polyfill/replacement that works as far down as ES3.
number.isinteger
An ES-spec-compliant Number.isInteger shim/polyfill/replacement that works as far down as ES3
array.prototype.findlast
An ESnext spec-compliant `Array.prototype.findLast` shim/polyfill/replacement that works as far down as ES3.
array.prototype.findlastindex
An ESnext spec-compliant `Array.prototype.findLastIndex` shim/polyfill/replacement that works as far down as ES3.
has-tostringtag
Determine if the JS environment has `Symbol.toStringTag` support. Supports spec, or shams.
array.prototype.foreach
An ES spec-compliant `Array.prototype.forEach` shim/polyfill/replacement that works as far down as ES3.
get-symbol-description
Gets the description of a Symbol. Handles `Symbol()` vs `Symbol('')` properly when possible.
number.prototype.toexponential
An ES-spec-compliant Number.prototype.toExponential shim/polyfill/replacement that works as far down as ES3
es-string-html-methods
An ES-spec-compliant shim/polyfill/replacement for the Annex B String.prototype HTML methods that works as far down as ES3
error-cause
An ES-spec-compliant shim/polyfill/replacement for the `.cause` property on all Error types that works as far down as ES3
string.prototype.lastindexof
An ES-spec-compliant `String.prototype.lastIndexOf`shim/polyfill/replacement that works as far down as ES3.
repo-report
CLI to list all repos a user has access to, and report on their configuration in aggregate.
lockfile-info
Info about an npm project - which lockfile version, which lockfile(s) are present, etc.
array.prototype.groupby
An ESnext spec-compliant `Array.prototype.groupBy` shim/polyfill/replacement that works as far down as ES3.
array.prototype.groupbytomap
An ESnext spec-compliant `Array.prototype.groupByToMap` shim/polyfill/replacement that works as far down as ES3.
supports-preserve-symlinks-flag
Determine if the current node version supports the `--preserve-symlinks` flag.
array.prototype.with
An ESnext spec-compliant `Array.prototype.with` shim/polyfill/replacement that works as far down as ES3.
array.prototype.tospliced
An ESnext spec-compliant `Array.prototype.toSpliced` shim/polyfill/replacement that works as far down as ES3.
array.prototype.tosorted
An ESnext spec-compliant `Array.prototype.toSorted` shim/polyfill/replacement that works as far down as ES3.
array.prototype.toreversed
An ESnext spec-compliant `Array.prototype.toReversed` shim/polyfill/replacement that works as far down as ES3.
can-merge
[![github actions][actions-image]][actions-url] [![coverage][codecov-image]][codecov-url] [![dependency status][deps-svg]][deps-url] [![dev dependency status][dev-deps-svg]][dev-deps-url] [![License][license-image]][license-url] [![Downloads][downloads-im
array.prototype.splice
An ES5 spec-compliant `Array.prototype.splice` shim/polyfill/replacement that works as far down as ES3.
has-property-descriptors
Does the environment have full property descriptor support? Handles IE 8's broken defineProperty/gOPD.
mock-property
Given an object and a property, replaces a property descriptor (or deletes it), and returns a thunk to restore it.
array.prototype.push
An ES spec-compliant `Array.prototype.push` shim/polyfill/replacement that works as far down as ES3.
array.prototype.concat
ES spec-compliant `Array.prototype.concat` shim/polyfill/replacement that works as far down as ES3.
object.defineproperties
ES spec-compliant `Object.defineProperties` shim/polyfill/replacement that works as far down as ES3
array.prototype.unshift
ES spec-compliant `Array.prototype.unshift` shim/polyfill/replacement that works as far down as ES3.
string.prototype.substr
ES spec-compliant `String.prototype.substr` shim/polyfill/replacement that works as far down as ES3
array.prototype.join
ES spec-compliant `Array.prototype.join` shim/polyfill/replacement that works as far down as ES3.
array.prototype.slice
ES spec-compliant `Array.prototype.slice` shim/polyfill/replacement that works as far down as ES3
array.prototype.group
An ESnext spec-compliant `Array.prototype.group` shim/polyfill/replacement that works as far down as ES3.
array.prototype.grouptomap
An ESnext spec-compliant `Array.prototype.groupToMap` shim/polyfill/replacement that works as far down as ES3.
array-from-async
An implementation for Array.fromAsync, which dumps an async iterator into an array.
json-stable-stringify
deterministic JSON.stringify() with custom sorting to get deterministic hashes from stringified results
string.prototype.towellformed
An ESnext spec-compliant `String.prototype.toWellFormed` shim/polyfill/replacement that works as far down as ES3.
string.prototype.iswellformed
An ESnext spec-compliant `String.prototype.isWellFormed` shim/polyfill/replacement that works as far down as ES3.
set.prototype.union
An ESnext spec-compliant `Set.prototype.union` shim/polyfill/replacement that works as far down as ES3
set.prototype.difference
An ESnext spec-compliant `Set.prototype.difference` shim/polyfill/replacement that works as far down as ES3
set.prototype.intersection
An ESnext spec-compliant `Set.prototype.intersection` shim/polyfill/replacement that works as far down as ES3
set.prototype.symmetricdifference
An ESnext spec-compliant `Set.prototype.symmetricDifference` shim/polyfill/replacement that works as far down as ES3
set.prototype.issubsetof
An ESnext spec-compliant `Set.prototype.isSubsetOf` shim/polyfill/replacement that works as far down as ES3
set.prototype.issupersetof
An ESnext spec-compliant `Set.prototype.isSupersetOf` shim/polyfill/replacement that works as far down as ES3
set.prototype.isdisjointfrom
An ESnext spec-compliant `Set.prototype.isDisjointFrom` shim/polyfill/replacement that works as far down as ES3
has-proto
Does this environment have the ability to get the [[Prototype]] of an object on creation with `__proto__`?
stop-iteration-iterator
Firefox 17-26 iterators throw a StopIteration object to indicate "done". This normalizes it.
es-iterator-helpers
An ESnext spec-compliant iterator helpers shim/polyfill/replacement that works as far down as ES3.
arraybuffer.prototype.transfertofixedlength
ES Proposal spec-compliant shim for ArrayBuffer.prototype.transferToFixedLength
is-data-descriptor
Returns true if a value has the characteristics of a valid JavaScript data descriptor.
is-accessor-descriptor
Returns true if a value has the characteristics of a valid JavaScript accessor descriptor.
is-descriptor
Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.
disposablestack
An ESnext spec-compliant `DisposableStack`, `AsyncDisposableStack`, `Symbol.dispose`, and `Symbol.asyncDispose` shim/polyfill/replacement that works as far down as ES3.
structured-clone
Implements the structured clone algorithm. Clone JSON types, RegExp, Buffers, and Dates, returning a cloned object or a buffer that can be deserialized into a structured clone.
array-buffer-byte-length
Get the byte length of an ArrayBuffer, even in engines without a `.byteLength` method.
well-known-symbols
An ESnext spec-compliant shim/polyfill/replacement for all Well-Known Symbols that works in any environment with Symbols.
pbkdf2
This library provides the functionality of PBKDF2 with the ability to use any supported hashing algorithm returned from crypto.getHashes()
has-override-mistake
Determine whether the environment has the so-called "override mistake" - [[Set]]ing a property whose ancestor is nonwritable throws.
math.f16round
An ES-spec-compliant Math.f16round shim/polyfill/replacement that works as far down as ES3
es-constants
An ES-spec-compliant shim/polyfill/replacement for JS language Math and Number constant values that works as far down as ES3
object.groupby
An ESnext spec-compliant `Object.groupBy` shim/polyfill/replacement that works as far down as ES3.
map.groupby
An ESnext spec-compliant `Map.groupBy` shim/polyfill/replacement that works as far down as ES3.
@tapjs/asserts
Tap plugin that adds a heaping pile of assertion methods. Pretty much all of the "test" methods other than `t.pass`, `t.fail`, and [snapshot methods](https://tapjs.github.io/tapjs/modules/_tapjs_snapshot.html) come from this plugin.
@tapjs/esbuild-kit
Alternative to @tapjs/typescript. Load typescript using @esbuild-kit/cjs-loader and @esbuild-kit/esm-loader instead of ts-node.
@tapjs/mocha-globals
An optional plugin adding Mocha-like BDD and TDD interfaces to the global environment when tap is loaded.
define-data-property
Define a data property on an object. Will fall back to assignment in an engine without descriptors.
is-data-view
Is this value a JS DataView? This module works cross-realm/iframe, does not depend on `instanceof` or mutable properties, and despite ES6 Symbol.toStringTag.
es-arraybuffer-base64
An ES-spec-compliant shim/polyfill/replacement for ArrayBuffer base64 methods that works as far down as ES3
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.
math.sumprecise
An ES-spec-compliant Math.sumPrecise shim/polyfill/replacement that works as far down as ES3
@ljharb/coauthors
A cli to generate a complete git co-authors list, including existing co-authors, for use in a commit message.
form-data
A library to create readable "multipart/form-data" streams. Can be used to submit forms and file uploads to other web applications.
error.iserror
An ESnext spec-compliant `Error.isError` shim/polyfill/replacement that works as far down as ES3
side-channel-weakmap
Store information about any JS value in a side channel. Uses WeakMap if available.
safe-push-apply
Push an array of items into an array, while being robust against prototype modification
own-keys
Robustly get an object's own property keys (strings and symbols), including non-enumerables when possible
async-generator-function
A function that returns the normally hidden `AsyncGeneratorFunction` constructor
validate-npm-package-name-cli
CLI for npmjs.com/validate-npm-package-name - give me a string and I'll tell you if it's a valid npm package name
array.prototype.reverse
An ES5 spec-compliant `Array.prototype.reverse` shim/polyfill/replacement that works as far down as ES3.
array.isarray
An ES5 spec-compliant `Array.isArray` shim/polyfill/replacement that works as far down as ES3.
date.prototype.getyear
An ES5 spec-compliant `Date.prototype.getYear` shim/polyfill/replacement that works as far down as ES3.
typedarray.prototype.at
An ES5 spec-compliant `%TypedArray%.prototype.at` shim/polyfill/replacement that works as far down as ES3.
map.prototype.getorinsertcomputed
ES Proposal spec-compliant shim for Map.prototype.getOrInsertComputed
weakmap.prototype.getorinsertcomputed
ES Proposal spec-compliant shim for WeakMap.prototype.getOrInsertComputed