>_Skillful
Need help with advanced AI agent engineering?Contact FirmAdapt
Jordan Harband

Jordan Harband

@ljharb

software engineer/nerd/teacher/will try anything once; surgeon with git rebase. @TC39 ex @Coinbase @Airbnb @Twitter @MobBase. Fav punctuation ⸮, scent petrichor

@socketdev @tc39 Hillsborough, CA linkedin.com/in/ljharb@LJHarb On GitHub since January 2009

240

Published Tools

245,792

Total Stars

113,012,270

Weekly Downloads

7,998

GitHub Followers

275

Public Repos

100/100

Avg Security

Published Tools

240 Skillsacross 1 category

eslint-config-airbnb

ljharb

Airbnb's ESLint config, following our styleguide

SkillAI Tool
148K1 dir

enzyme

ljharb

JavaScript Testing utilities for React

SkillAI Tool
20K1 dir

enzyme-adapter-utils

ljharb

JavaScript Testing utilities for React

SkillAI Tool
20K1 dir

eslint-plugin-react

ljharb

React specific linting rules for ESLint

SkillAI Tool
9.3K1 dir

qs

ljharb

A querystring parser that supports nesting and arrays, with a depth limit

SkillAI Tool
8.9K1 dir

es5-shim

ljharb

ECMAScript 5 compatibility shims for legacy JavaScript engines

SkillAI Tool
7.1K1 dir

eslint-plugin-import

ljharb

Import with sanity.

SkillAI Tool
5.9K1 dir

prop-types

ljharb

Runtime type checking for React props and similar objects.

SkillAI Tool
4.5K1 dir

node-polyglot

ljharb

Give your JavaScript the ability to speak many languages.

SkillAI Tool
3.7K1 dir

eslint-plugin-jsx-a11y

ljharb

Static AST checker for accessibility rules on JSX elements.

SkillAI Tool
3.6K1 dir

es6-shim

ljharb

ECMAScript 6 (Harmony) compatibility shims for legacy JavaScript engines

SkillAI Tool
3.1K1 dir

form-data

ljharb

A library to create readable "multipart/form-data" streams. Can be used to submit forms and file uploads to other web applications.

...more
SkillAI Tool
2.4K1 dir

forms

ljharb

An easy way to create, parse, and validate forms

SkillAI Tool
1K1 dir

resolve

ljharb

resolve like require.resolve() on behalf of files asynchronously and synchronously

SkillAI Tool
7951 dir

babel-plugin-add-module-exports

ljharb

Fix babel/babel#2212

SkillAI Tool
7231 dir

react-outside-click-handler

ljharb

A React component for dealing with clicks outside its subtree

SkillAI Tool
6161 dir

babel-plugin-dynamic-import-node

ljharb

Babel plugin to transpile import() to a deferred require(), for node

SkillAI Tool
5741 dir

babel-plugin-inline-react-svg

ljharb

A babel plugin that optimizes and inlines SVGs for your react components.

SkillAI Tool
4741 dir

url

ljharb

The core `url` packaged standalone for use with Browserify.

SkillAI Tool
3791 dir

assert

ljharb

The assert module from Node.js, for the browser.

SkillAI Tool
3021 dir

aria-query

ljharb

Programmatic access to the ARIA specification

SkillAI Tool
3011 dir

sha.js

ljharb

Streamable SHA hashes in pure javascript

SkillAI Tool
3001 dir

prop-types-exact

ljharb

For use with React PropTypes. Will error on any prop not explicitly specified.

SkillAI Tool
2381 dir

eslint-find-rules

ljharb

Find built-in ESLint rules you don't have in your custom config.

SkillAI Tool
2121 dir

pbkdf2

ljharb

This library provides the functionality of PBKDF2 with the ability to use any supported hashing algorithm returned from crypto.getHashes()

...more
SkillAI Tool
2021 dir

es7-shim

ljharb

ECMAScript 7 compatibility shims for legacy JavaScript engines

SkillAI Tool
1731 dir

jsx-ast-utils

ljharb

AST utility module for statically analyzing JSX

SkillAI Tool
1621 dir

object-inspect

ljharb

string representations of objects in node and the browser

SkillAI Tool
16092.8M/wk1 dir

globalthis

ljharb

ECMAScript spec-compliant polyfill/shim for `globalThis`

SkillAI Tool
1561 dir

function-bind

ljharb

Implementation of Function.prototype.bind

SkillAI Tool
1391 dir

promise.prototype.finally

ljharb

ES Proposal spec-compliant shim for Promise.prototype.finally

SkillAI Tool
1381 dir

node.extend

ljharb

A port of jQuery.extend that actually works on node.js

SkillAI Tool
1281 dir

es-abstract

ljharb

ECMAScript spec abstract operations.

SkillAI Tool
1231 dir

object.assign

ljharb

ES6 spec-compliant Object.assign shim. From https://github.com/es-shims/es6-shim

SkillAI Tool
1061 dir

promise.allsettled

ljharb

ES Proposal spec-compliant shim for Promise.allSettled

SkillAI Tool
971 dir

is-touch-device

ljharb

Is the current JS environment a touch device?

SkillAI Tool
911 dir

object.values

ljharb

ES2017 spec-compliant Object.values shim.

SkillAI Tool
721 dir

deline

ljharb

Template tag that takes out unwanted newlines

SkillAI Tool
651 dir

object.entries

ljharb

ES2017 spec-compliant Object.entries shim.

SkillAI Tool
581 dir

ls-engines

ljharb

Determine if your dependency graph's stated "engines" criteria is met.

SkillAI Tool
561 dir

is-generator-function

ljharb

Determine if a function is a native generator function.

SkillAI Tool
491 dir

browserify-sign

ljharb

adds node crypto signing for browsers

SkillAI Tool
491 dir

object-keys

ljharb

An Object.keys replacement, in case Object.keys is not available. From https://github.com/es-shims/es5-shim

SkillAI Tool
461 dir

array-includes

ljharb

An ES7/ES2016 spec-compliant `Array.prototype.includes` shim/polyfill/replacement that works as far down as ES3.

SkillAI Tool
431 dir

is-callable

ljharb

Is this JS value callable? Works with Functions and GeneratorFunctions, despite ES6 @@toStringTag.

SkillAI Tool
421 dir

array.prototype.find

ljharb

Array.prototype.find ES6 polyfill.

SkillAI Tool
381 dir

disposablestack

ljharb

An ESnext spec-compliant `DisposableStack`, `AsyncDisposableStack`, `Symbol.dispose`, and `Symbol.asyncDispose` shim/polyfill/replacement that works as far down as ES3.

...more
SkillAI Tool
381 dir

string.prototype.replaceall

ljharb

Spec-compliant polyfill for String.prototype.replaceAll ESnext proposal

SkillAI Tool
361 dir

get-intrinsic

ljharb

Get and robustly cache all JS language-level intrinsics at first require time

SkillAI Tool
351 dir

ripemd160

ljharb

Compute ripemd160 of bytes or strings.

SkillAI Tool
341 dir

axobject-query

ljharb

Programmatic access to information about the AXObject Model

SkillAI Tool
331 dir

array.prototype.flatmap

ljharb

An ES2019 spec-compliant `Array.prototype.flatMap` shim/polyfill/replacement that works as far down as ES3.

SkillAI Tool
321 dir

object.fromentries

ljharb

ES proposal-spec-compliant Object.fromEntries shim.

SkillAI Tool
321 dir

array.prototype.flat

ljharb

An ES2019 spec-compliant `Array.prototype.flat` shim/polyfill/replacement that works as far down as ES3.

SkillAI Tool
311 dir

array.prototype.at

ljharb

An ES-spec-compliant (proposed) Array.prototype.at shim/polyfill/replacement that works as far down as ES3

SkillAI Tool
311 dir

to-buffer

ljharb

Pass in a string, array, Buffer, Data View, or Uint8Array, and get a Buffer back.

SkillAI Tool
311 dir

npmignore

ljharb

Command line tool for creating or updating a .npmignore file based on .gitignore.

SkillAI Tool
291 dir

array.prototype.findindex

ljharb

Array.prototype.findIndex ES2015 polyfill.

SkillAI Tool
281 dir

is-core-module

ljharb

Is this specifier a node.js core module?

SkillAI Tool
261 dir

object-is

ljharb

ES2015-compliant shim for Object.is - differentiates between -0 and +0

SkillAI Tool
2520.2M/wk1 dir

is-regex

ljharb

Is this value a JS regex? Works cross-realm/iframe, and despite ES6 @@toStringTag

SkillAI Tool
241 dir

is-arrow-function

ljharb

Determine if a function is an ES6 arrow function or not.

SkillAI Tool
241 dir

for-each

ljharb

A better forEach

SkillAI Tool
241 dir

string.prototype.padstart

ljharb

ES2017 spec-compliant String.prototype.padStart shim.

SkillAI Tool
231 dir

cipher-base

ljharb

abstract base class for crypto-streams

SkillAI Tool
221 dir

es-to-primitive

ljharb

ECMAScript “ToPrimitive” algorithm. Provides ES5 and ES2015 versions.

SkillAI Tool
221 dir

is-string

ljharb

Is this value a JS String object or primitive? This module works cross-realm/iframe, and despite ES6 @@toStringTag.

SkillAI Tool
221 dir

is-object

ljharb

Checks whether a value is an object

SkillAI Tool
221 dir

is-data-descriptor

ljharb

Returns true if a value has the characteristics of a valid JavaScript data descriptor.

SkillAI Tool
211 dir

define-properties

ljharb

Define multiple non-enumerable properties at once. Uses `Object.defineProperty` when available; falls back to standard assignment in older engines.

...more
SkillAI Tool
211 dir

@ljharb/eslint-config

ljharb

My shareable eslint config

SkillAI Tool
211 dir

es-iterator-helpers

ljharb

An ESnext spec-compliant iterator helpers shim/polyfill/replacement that works as far down as ES3.

SkillAI Tool
201 dir

object.getownpropertydescriptors

ljharb

ES2017 spec-compliant shim for `Object.getOwnPropertyDescriptors` that works in ES5.

SkillAI Tool
201 dir

browserify-rsa

ljharb

RSA for browserify

SkillAI Tool
191 dir

is-symbol

ljharb

Determine if a value is an ES6 Symbol or not.

SkillAI Tool
191 dir

has-symbols

ljharb

Determine if the JS environment has Symbol support. Supports spec, or shams.

SkillAI Tool
181 dir

is-negative-zero

ljharb

Is this value negative zero? === will lie to you

SkillAI Tool
181 dir

is-async-function

ljharb

Determine if a function is a native async function.

SkillAI Tool
181 dir

is-arguments

ljharb

Is this an arguments object? It's a harder question than you think.

SkillAI Tool
171 dir

string.prototype.matchall

ljharb

Spec-compliant polyfill for String.prototype.matchAll

SkillAI Tool
171 dir

object.hasown

ljharb

ES spec-compliant shim for Object.hasOwn

SkillAI Tool
161 dir

is-date-object

ljharb

Is this value a JS Date object? This module works cross-realm/iframe, and despite ES6 @@toStringTag.

SkillAI Tool
161 dir

is-accessor-descriptor

ljharb

Returns true if a value has the characteristics of a valid JavaScript accessor descriptor.

SkillAI Tool
151 dir

promise.any

ljharb

ES 2021 spec-compliant shim for Promise.any

SkillAI Tool
151 dir

es-aggregate-error

ljharb

ES Proposal spec-compliant shim for AggregateError

SkillAI Tool
141 dir

string.prototype.trim

ljharb

ES5 spec-compliant shim for String.prototype.trim

SkillAI Tool
131 dir

es-get-iterator

ljharb

Get an iterator for any JS language value. Works robustly across all environments, all versions.

SkillAI Tool
131 dir

is-array-buffer

ljharb

Is this value a JS ArrayBuffer?

SkillAI Tool
131 dir

reduce

ljharb

A better [].reduce

SkillAI Tool
131 dir

is-descriptor

ljharb

Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.

...more
SkillAI Tool
121 dir

function.prototype.name

ljharb

An ES2015 spec-compliant `Function.prototype.name` shim

SkillAI Tool
121 dir

is-nan

ljharb

ES2015-compliant shim for Number.isNaN - the global isNaN returns false positives.

SkillAI Tool
121 dir

is-typed-array

ljharb

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.

...more
SkillAI Tool
121 dir

get-json

ljharb

Cross-platform library for getting JSON docs

SkillAI Tool
121 dir

uglify-register

ljharb

uglify require hook

SkillAI Tool
111 dir

hash-base

ljharb

abstract base class for hash-streams

SkillAI Tool
111 dir

array.prototype.tosorted

ljharb

An ESnext spec-compliant `Array.prototype.toSorted` shim/polyfill/replacement that works as far down as ES3.

SkillAI Tool
101 dir

string.prototype.padend

ljharb

ES2017 spec-compliant String.prototype.padEnd shim.

SkillAI Tool
101 dir

es-errors

ljharb

A simple cache for a few of the JS Error constructors.

SkillAI Tool
101 dir

promiseback

ljharb

Accept an optional node-style callback, and also return a spec-compliant Promise!

SkillAI Tool
101 dir

functions-have-names

ljharb

Does this JS environment support the `name` property on functions?

SkillAI Tool
91 dir

is-map

ljharb

Is this value a JS Map? This module works cross-realm/iframe, and despite ES6 @@toStringTag.

SkillAI Tool
91 dir

internal-slot

ljharb

ES spec-like internal slots

SkillAI Tool
81 dir

regexp.prototype.flags

ljharb

ES6 spec-compliant RegExp.prototype.flags shim.

SkillAI Tool
81 dir

string.prototype.trimleft

ljharb

ES2019 spec-compliant String.prototype.trimLeft shim.

SkillAI Tool
81 dir

string.prototype.trimright

ljharb

ES2019 spec-compliant String.prototype.trimLeft shim.

SkillAI Tool
81 dir

is-number-object

ljharb

Is this value a JS Number object? This module works cross-realm/iframe, and despite ES6 @@toStringTag.

SkillAI Tool
81 dir

has-bigints

ljharb

Determine if the JS environment has BigInt support.

SkillAI Tool
81 dir

is-boolean-object

ljharb

Is this value a JS Boolean? This module works cross-realm/iframe, and despite ES6 @@toStringTag.

SkillAI Tool
81 dir

safe-regex-test

ljharb

Give a regex, get a robust predicate function that tests it against a string.

SkillAI Tool
81 dir

has-package-exports

ljharb

Does the current node version have support for the "exports" field in package.json?

SkillAI Tool
81 dir

has-template-literals

ljharb

Determine if the JS environment has template literal support.

SkillAI Tool
71 dir

array.prototype.every

ljharb

An ES5 spec-compliant `Array.prototype.every` shim/polyfill/replacement that works as far down as ES3.

SkillAI Tool
71 dir

is-bigint

ljharb

Is this value an ES BigInt?

SkillAI Tool
71 dir

mock-property

ljharb

Given an object and a property, replaces a property descriptor (or deletes it), and returns a thunk to restore it.

SkillAI Tool
71 dir

pargs

ljharb

A useful wrapper for `util.parseArgs`

SkillAI Tool
61 dir

reflect.ownkeys

ljharb

ES2015 spec-compliant shim for Reflect.ownKeys

SkillAI Tool
61 dir

has-proto

ljharb

Does this environment have the ability to get the [[Prototype]] of an object on creation with `__proto__`?

SkillAI Tool
61 dir

async-function

ljharb

A function that returns the normally hidden `AsyncFunction` constructor

SkillAI Tool
61 dir

call-bind-apply-helpers

ljharb

Helper functions around Function call/apply/bind, for use in `call-bind`

SkillAI Tool
51 dir

has-tostringtag

ljharb

Determine if the JS environment has `Symbol.toStringTag` support. Supports spec, or shams.

SkillAI Tool
51 dir

string.prototype.trimend

ljharb

ES2019 spec-compliant String.prototype.trimEnd shim.

SkillAI Tool
51 dir

es-object-atoms

ljharb

ES Object-related atoms: Object, ToObject, RequireObjectCoercible

SkillAI Tool
51 dir

typed-array-buffer

ljharb

Get the ArrayBuffer out of a TypedArray, robustly.

SkillAI Tool
51 dir

array.prototype.findlast

ljharb

An ESnext spec-compliant `Array.prototype.findLast` shim/polyfill/replacement that works as far down as ES3.

SkillAI Tool
41 dir

object.groupby

ljharb

An ESnext spec-compliant `Object.groupBy` shim/polyfill/replacement that works as far down as ES3.

SkillAI Tool
41 dir

array.prototype.reduce

ljharb

An ES5 spec-compliant `Array.prototype.reduce` shim/polyfill/replacement that works as far down as ES3.

SkillAI Tool
41 dir

array.prototype.map

ljharb

An ES5 spec-compliant `Array.prototype.map` shim/polyfill/replacement that works as far down as ES3.

SkillAI Tool
41 dir

array.prototype.filter

ljharb

An ES5 spec-compliant `Array.prototype.filter` shim/polyfill/replacement that works as far down as ES3.

SkillAI Tool
41 dir

string.prototype.trimstart

ljharb

ES2019 spec-compliant String.prototype.trimStart shim.

SkillAI Tool
41 dir

stop-iteration-iterator

ljharb

Firefox 17-26 iterators throw a StopIteration object to indicate "done". This normalizes it.

SkillAI Tool
41 dir

well-known-symbols

ljharb

An ESnext spec-compliant shim/polyfill/replacement for all Well-Known Symbols that works in any environment with Symbols.

...more
SkillAI Tool
41 dir

make-async-function

ljharb

Function that returns an arbitrary `async function`, or undefined if `async function` syntax is unsupported.

SkillAI Tool
41 dir

define-data-property

ljharb

Define a data property on an object. Will fall back to assignment in an engine without descriptors.

SkillAI Tool
31 dir

reflect.getprototypeof

ljharb

An ES2015 mostly-spec-compliant `Reflect.getPrototypeOf` sham/polyfill/replacement that works in as many engines as possible

...more
SkillAI Tool
31 dir

array.prototype.findlastindex

ljharb

An ESnext spec-compliant `Array.prototype.findLastIndex` shim/polyfill/replacement that works as far down as ES3.

SkillAI Tool
31 dir

typedarray.prototype.slice

ljharb

ES spec-compliant shim for TypedArray.prototype.slice

SkillAI Tool
31 dir

jsonify

ljharb

JSON without touching any globals

SkillAI Tool
31 dir

es-value-fixtures

ljharb

Fixtures of ES values, for testing purposes

SkillAI Tool
31 dir

has-property-descriptors

ljharb

Does the environment have full property descriptor support? Handles IE 8's broken defineProperty/gOPD.

SkillAI Tool
31 dir

get-symbol-description

ljharb

Gets the description of a Symbol. Handles `Symbol()` vs `Symbol('')` properly when possible.

SkillAI Tool
31 dir

is-weakref

ljharb

Is this value a JS WeakRef? This module works cross-realm/iframe, and despite ES6 @@toStringTag.

SkillAI Tool
31 dir

is-shared-array-buffer

ljharb

Is this value a JS SharedArrayBuffer?

SkillAI Tool
31 dir

is-set

ljharb

Is this value a JS Set? This module works cross-realm/iframe, and despite ES6 @@toStringTag.

SkillAI Tool
31 dir

is-weakmap

ljharb

Is this value a JS WeakMap? This module works cross-realm/iframe, and despite ES6 @@toStringTag.

SkillAI Tool
31 dir

is-weakset

ljharb

Is this value a JS WeakSet? This module works cross-realm/iframe, and despite ES6 @@toStringTag.

SkillAI Tool
31 dir

has-dynamic-import

ljharb

Does the current environment have `import()` support?

SkillAI Tool
31 dir

object.getprototypeof

ljharb

An ES5 mostly-spec-compliant `Object.getPrototypeOf` sham/polyfill/replacement that works in as many engines as possible

SkillAI Tool
31 dir

suppressed-error

ljharb

ES Proposal spec-compliant shim for SuppressedError

SkillAI Tool
31 dir

make-arrow-function

ljharb

Function that returns an arbitrary arrow function, or undefined if arrow function syntax is unsupported.

SkillAI Tool
31 dir

iterate-value

ljharb

Iterate any iterable JS value. Works robustly in all environments, all versions.

SkillAI Tool
31 dir

data-view-byte-length

ljharb

Get the byteLength out of a DataView, robustly.

SkillAI Tool
21 dir

data-view-byte-offset

ljharb

Get the byteOffset out of a DataView, robustly.

SkillAI Tool
21 dir

is-data-view

ljharb

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.

...more
SkillAI Tool
21 dir

data-view-buffer

ljharb

Get the ArrayBuffer out of a DataView, robustly.

SkillAI Tool
21 dir

math-intrinsics

ljharb

ES Math-related intrinsics and helpers, robustly cached.

SkillAI Tool
21 dir

is-finalizationregistry

ljharb

Is this value a JS FinalizationRegistry? This module works cross-realm/iframe, and despite ES6 @@toStringTag.

SkillAI Tool
21 dir

es-shim-unscopables

ljharb

Helper package to shim a method into `Array.prototype[Symbol.unscopables]`

SkillAI Tool
21 dir

es-set-tostringtag

ljharb

A helper to optimistically set Symbol.toStringTag, when possible.

SkillAI Tool
21 dir

hasown

ljharb

A robust, ES3 compatible, "has own property" predicate.

SkillAI Tool
21 dir

array-buffer-byte-length

ljharb

Get the byte length of an ArrayBuffer, even in engines without a `.byteLength` method.

SkillAI Tool
21 dir

define-accessor-property

ljharb

Define an accessor property on an object. Will either throw, or fall back to assignment in loose mode, in an engine without descriptors.

...more
SkillAI Tool
21 dir

generator-function

ljharb

A function that returns the normally hidden `GeneratorFunction` constructor

SkillAI Tool
21 dir

ent

ljharb

Encode and decode HTML entities

SkillAI Tool
21 dir

iterate-iterator

ljharb

Iterate any JS iterator. Works robustly in all environments, all versions.

SkillAI Tool
21 dir

array.prototype.foreach

ljharb

An ES spec-compliant `Array.prototype.forEach` shim/polyfill/replacement that works as far down as ES3.

SkillAI Tool
21 dir

array.prototype.some

ljharb

An ES5 spec-compliant `Array.prototype.some` shim/polyfill/replacement that works as far down as ES3.

SkillAI Tool
21 dir

supports-preserve-symlinks-flag

ljharb

Determine if the current node version supports the `--preserve-symlinks` flag.

SkillAI Tool
11 dir

node-exports-info

ljharb

Info about node `exports` field support: version ranges, categories, etc.

SkillAI Tool
11 dir

dunder-proto

ljharb

If available, the `Object.prototype.__proto__` accessor and mutator, call-bound

SkillAI Tool
11 dir

possible-typed-array-names

ljharb

A simple list of possible Typed Array names.

SkillAI Tool
11 dir

make-async-generator-function

ljharb

Function that returns an arbitrary async generator function, or undefined if async generator syntax is unsupported.

SkillAI Tool
11 dir

arraybuffer.prototype.slice

ljharb

ES spec-compliant shim for ArrayBuffer.prototype.slice

SkillAI Tool
1 dir

array.prototype.toreversed

ljharb

An ESnext spec-compliant `Array.prototype.toReversed` shim/polyfill/replacement that works as far down as ES3.

SkillAI Tool
1 dir

async-generator-function

ljharb

A function that returns the normally hidden `AsyncGeneratorFunction` constructor

SkillAI Tool
1 dir

@minimistjs/subarg

ljharb

parse arguments with recursive contexts

SkillAI Tool
1 dir

typed-array-byte-offset

ljharb

Robustly get the byte offset of a Typed Array

SkillAI Tool
1 dir

typed-array-byte-length

ljharb

Robustly get the byte length of a Typed Array

SkillAI Tool
1 dir

typed-array-length

ljharb

Robustly get the length of a Typed Array

SkillAI Tool
1 dir

covert

ljharb

code coverage command con coverify

SkillAI Tool
1 dir

extend

ljharb

Port of jQuery.extend for node.js and the browser

SkillAI Tool
1 dir

set-function-length

ljharb

Set a function's length property

SkillAI Tool
1 dir

set-function-name

ljharb

Set a function's name property

SkillAI Tool
1 dir

tape

ljharb

tap-producing test harness for node and browsers

SkillAI Tool
1 dir

is

ljharb

the definitive JavaScript type testing library

SkillAI Tool
1 dir

side-channel-map

ljharb

Store information about any JS value in a side channel, using a Map

SkillAI Tool
1 dir

side-channel-weakmap

ljharb

Store information about any JS value in a side channel. Uses WeakMap if available.

SkillAI Tool
1 dir

side-channel-list

ljharb

Store information about any JS value in a side channel, using a linked list

SkillAI Tool
1 dir

side-channel

ljharb

Store information about any JS value in a side channel. Uses WeakMap if available.

SkillAI Tool
1 dir

crypto-browserify

ljharb

implementation of crypto for the browser

SkillAI Tool
1 dir

call-bound

ljharb

Robust call-bound JavaScript intrinsics, using `call-bind` and `get-intrinsic`.

SkillAI Tool
1 dir

available-typed-arrays

ljharb

Returns an array of Typed Array names that are available in the current environment

SkillAI Tool
1 dir

which-typed-array

ljharb

Which kind of Typed Array is this JavaScript value? Works cross-realm, without `instanceof`, and despite Symbol.toStringTag.

...more
SkillAI Tool
1 dir

call-bind

ljharb

Robustly `.call.bind()` a function

SkillAI Tool
1 dir

unbox-primitive

ljharb

Unbox a boxed JS primitive value.

SkillAI Tool
1 dir

which-collection

ljharb

Which kind of Collection (Map, Set, WeakMap, WeakSet) is this JavaScript value? Works cross-realm, without `instanceof`, and despite Symbol.toStringTag.

...more
SkillAI Tool
1 dir

minimist

ljharb

parse argument options

SkillAI Tool
1 dir

es-define-property

ljharb

`Object.defineProperty`, but not IE 8's broken one.

SkillAI Tool
1 dir

gopd

ljharb

`Object.getOwnPropertyDescriptor`, but accounts for IE's broken implementation.

SkillAI Tool
1 dir

get-proto

ljharb

Robustly get the [[Prototype]] of an object

SkillAI Tool
1 dir

typedarray

ljharb

TypedArray polyfill for old browsers

SkillAI Tool
1 dir

concat-map

ljharb

concatenative mapdashery

SkillAI Tool
1 dir

which-boxed-primitive

ljharb

Which kind of boxed JS primitive is this?

SkillAI Tool
1 dir

safe-array-concat

ljharb

`Array.prototype.concat`, but made safe by ignoring Symbol.isConcatSpreadable

SkillAI Tool
1 dir

iterator.prototype

ljharb

`Iterator.prototype`, or a shared object to use.

SkillAI Tool
1 dir

which-builtin-type

ljharb

What is the type of this builtin JS value?

SkillAI Tool
1 dir

safe-push-apply

ljharb

Push an array of items into an array, while being robust against prototype modification

SkillAI Tool
1 dir

shell-quote

ljharb

quote and parse shell commands

SkillAI Tool
1 dir

set-proto

ljharb

Robustly set the [[Prototype]] of an object

SkillAI Tool
1 dir

own-keys

ljharb

Robustly get an object's own property keys (strings and symbols), including non-enumerables when possible

SkillAI Tool
1 dir

parse-asn1

ljharb

utility library for parsing asn1 files for use with browserify-sign.

SkillAI Tool
1 dir

deep-equal

ljharb

node's assert.deepEqual algorithm

SkillAI Tool
1 dir

@ljharb/through

ljharb

simplified stream construction

SkillAI Tool
1 dir

json-stable-stringify

ljharb

deterministic JSON.stringify() with custom sorting to get deterministic hashes from stringified results

SkillAI Tool
1 dir

traverse

ljharb

traverse and transform objects by visiting every node on a recursive walk

SkillAI Tool
1 dir

camelize

ljharb

recursively transform key strings to camel-case

SkillAI Tool
1 dir

defined

ljharb

return the first argument that is `!== undefined`

SkillAI Tool
1 dir

buffer-equal

ljharb

return whether two buffers are equal

SkillAI Tool
1 dir

html-element-map

ljharb

Look up HTML tag names via HTML Element constructors, and vice versa.

SkillAI Tool
1 dir

asynciterator.prototype

ljharb

`AsyncIterator.prototype`, or a shared object to use.

SkillAI Tool
1 dir

parse-github-url

ljharb

Parse a github URL into an object.

SkillAI Tool
1 dir

symbol.prototype.description

ljharb

Spec-compliant shim for Symbol.prototype.description proposal.

SkillAI Tool
1 dir

faucet

ljharb

human-readable TAP summarizer

SkillAI Tool
1 dir

@es-shims/api

ljharb

Loosely test a package's compliance with the es-shim API

SkillAI Tool
1 dir

purl

ljharb

a PURL ( https://tc54.org/purl/ ) parser and serializer

SkillAI Tool
1 dir

make-generator-function

ljharb

Returns an arbitrary generator function, or undefined if generator syntax is unsupported.

SkillAI Tool
1 dir

listify

ljharb

Turn an array into a list of comma-separated values, appropriate for use in an English sentence.

SkillAI Tool
1 dir

global-cache

ljharb

Sometimes you have to do horrible things, like use the global object to share a singleton. Abstract that away, with this!

...more
SkillAI Tool
1 dir

coverify

ljharb

code coverage browserify transform

SkillAI Tool
1 dir

es-array-method-boxes-properly

ljharb

Utility package to determine if an `Array.prototype` method properly boxes the callback's receiver and third argument.

SkillAI Tool
1 dir

deep-equal-json

ljharb

`deep-equal`, but only for JSON-supported values.

SkillAI Tool
1 dir

dotignore

ljharb

ignorefile/includefile matching .gitignore spec

SkillAI Tool
1 dir

document.contains

ljharb

Polyfill/shim for `document.contains`

SkillAI Tool
1 dir

util.promisify

ljharb

Polyfill/shim for util.promisify in node versions < v8

SkillAI Tool
1 dir

json-file-plus

ljharb

[![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

...more
SkillAI Tool
1 dir

available-regexp-flags

ljharb

Which regular expression flags does the current environment support?

SkillAI Tool
1 dir

daytime

ljharb

combine two Date objects, "day" and "time", into a new Date object

SkillAI Tool
1 dir

nvmrc

ljharb

command-line tool to validate a `.nvmrc` file

SkillAI Tool
1 dir

testling

ljharb

write tests for browser code

SkillAI Tool
1 dir

travis-ci

ljharb

node library to access the Travis-CI API

SkillAI Tool
1 dir