Jordan Harband (@ljharb)
  • Stars
    star
    17,040
  • Global Rank 1,024 (Top 0.04 %)
  • Followers 7,111
  • Following 391
  • Registered almost 16 years ago
  • Most used languages
    JavaScript
    98.9 %
    CSS
    1.1 %
  • Location πŸ‡ΊπŸ‡Έ United States
  • Country Total Rank 630
  • Country Ranking
    CSS
    5,259

Top repositories

1

qs

A querystring parser with nesting support
JavaScript
8,010
star
2

tape

tap-producing test harness for node and browsers
JavaScript
5,740
star
3

prop-types-tools

Custom React PropType validators
JavaScript
671
star
4

faucet

human-readable TAP summarizer
JavaScript
547
star
5

testling

unit tests in all the browsers
JavaScript
353
star
6

prop-types-exact

For use with React PropTypes. Will error on any prop not explicitly specified.
JavaScript
236
star
7

util.promisify

Polyfill/shim for util.promisify in node versions < v8
JavaScript
120
star
8

object.assign

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

es-abstract

ECMAScript spec abstract operations.
JavaScript
98
star
10

json-stable-stringify

JavaScript
55
star
11

ls-engines

Determine if your dependency graph's stated "engines" criteria is met.
JavaScript
49
star
12

js-traverse

JavaScript
46
star
13

json-file-plus

Read from and write to a JSON file, minimizing diffs and preserving formatting.
JavaScript
43
star
14

object-keys

Object.keys shim
JavaScript
43
star
15

istanbul-merge

Merge multiple istanbul coverage reports into one.
JavaScript
42
star
16

npmignore

Command line tool for creating or updating a .npmignore file based on .gitignore.
JavaScript
27
star
17

aud

Use `npx aud` instead of `npm audit`, whether you have a lockfile or not!
JavaScript
26
star
18

shell-quote

JavaScript
26
star
19

get-intrinsic

Get and robustly cache all JS language-level intrinsics at first require time.
JavaScript
25
star
20

listify

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

simd

ES7 (proposed) SIMD numeric type shim/polyfill
JavaScript
24
star
22

repo-report

CLI to list all repos a user has access to, and report on their configuration in aggregate.
JavaScript
24
star
23

publishers

Provide a package name, get a list of every version, and who published it.
JavaScript
24
star
24

es-to-primitive

ECMAScript "ToPrimitive" algorithm. Provides ES5 and ES6/ES2015 versions.
JavaScript
22
star
25

safe-publish-latest

Ensure that when you `npm publish`, the "latest" tag is only set for the truly latest version.
JavaScript
21
star
26

define-properties

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

global-cache

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

promise-deferred

A lightweight Deferred implementation, on top of Promises/A+
JavaScript
19
star
29

eslint-config

My shareable `eslint` config.
JavaScript
19
star
30

ljharb

19
star
31

camelize

JavaScript
16
star
32

require-allow-edits

A GitHub action to require "allow edits" to be checked on a PR.
JavaScript
16
star
33

can-merge

JavaScript
15
star
34

get-dep-tree

Use npm's Arborist to get a dependency tree for a package.
JavaScript
14
star
35

side-channel

Store information about any JS value in a side channel. Uses WeakMap if available.
JavaScript
14
star
36

es-get-iterator

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

list-exports

Given a package name and a version number, or a path to a package.json, what specifiers does it expose?
JavaScript
13
star
38

get-nans

Get an array of all distinct NaN values supported by the engine. There can be only one!
JavaScript
12
star
39

tsconfig

My personal tsconfig(s), so my open source projects can share them.
12
star
40

actions

GitHub actions I use for CI.
JavaScript
11
star
41

uglify-register

The require hook will bind itself to node's require and automatically uglify files on the fly.
JavaScript
11
star
42

promiseback

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

html-element-map

Look up HTML tag names via HTML Element constructors, and vice versa.
JavaScript
10
star
44

es-errors

A simple cache for a few of the JS Error constructors.
JavaScript
10
star
45

call-bind

Robustly `.call.bind()` a function.
JavaScript
9
star
46

scorecard-cli

A CLI for OpenSSF Scorecard data.
JavaScript
9
star
47

ls-publishers

List your dependency graph, grouped by publishers.
JavaScript
8
star
48

proposal-is-error

ECMAScript Proposal, specs, and reference implementation for Error.isError
CSS
8
star
49

safe-regex-test

Give a regex, get a robust predicate function that tests it against a string.
JavaScript
8
star
50

unused-files

List unused files in your package.
JavaScript
8
star
51

mock-property

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

private-fields

What private fields does this object have?
JavaScript
6
star
53

set-function-length

Set a function's length property
JavaScript
6
star
54

unbox-primitive

Unbox a boxed JS primitive value.
JavaScript
6
star
55

document.contains

Polyfill/shim for `document.contains`
JavaScript
5
star
56

npm-lockfile

Safely generate an npm lockfile and output it to the filename of your choice.
JavaScript
5
star
57

make-generator-function

Returns an arbitrary generator function, or undefined if generator syntax is unsupported.
JavaScript
5
star
58

internal-slot

ES spec-like internal slots.
JavaScript
5
star
59

safe-array-concat

`Array.prototype.concat`, but made safe by ignoring Symbol.isConcatSpreadable
JavaScript
5
star
60

npm-deprecations

Given an npm module name, get a map of npm version numbers to deprecation messages.
JavaScript
5
star
61

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.
JavaScript
5
star
62

set-function-name

Set a function's name property
JavaScript
4
star
63

stop-iteration-iterator

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

intl-fallback-symbol

ECMA-402 Intl spec's internal `FallbackSymbol`
JavaScript
4
star
65

make-async-function

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

define-data-property

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

jsonify

JavaScript
4
star
68

.github

4
star
69

tc39-ci

Begin app
JavaScript
4
star
70

es-define-property

`Object.defineProperty`, but not IE 8's broken one.
JavaScript
4
star
71

iterate-value

Iterate any iterable JS value. Works robustly in all environments, all versions.
JavaScript
3
star
72

daytime

npm module to combine two Date objects, "day" and "time"
JavaScript
3
star
73

iterate-iterator

Iterate any JS iterator. Works robustly in all environments, all versions.
JavaScript
3
star
74

concat-map

JavaScript
3
star
75

es-value-fixtures

Fixtures of ES values, for testing purposes.
JavaScript
3
star
76

big-integer-max

Given two valid integers in string form, return the larger of the two.
JavaScript
3
star
77

node-comments

Transform comments in JS files between multiple styles - single-line, multi-line, both, and more to come!
JavaScript
3
star
78

make-arrow-function

Function that returns an arbitrary arrow function, or undefined if arrow function syntax is unsupported.
JavaScript
3
star
79

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.
JavaScript
3
star
80

es-object-atoms

ES Object-related atoms: Object, ToObject, RequireObjectCoercible
JavaScript
3
star
81

gfm-footnotes

Prune unused footnote references in GitHub-flavored Markdown
JavaScript
2
star
82

renovate

Shared renovate config.
2
star
83

big-integer-min

Given two valid integers in string form, return the smaller of the two.
JavaScript
2
star
84

lockfile-info

Info about an npm project - which lockfile version, which lockfile(s) are present, etc.
JavaScript
2
star
85

gopd

`Object.getOwnPropertyDescriptor`, but accounts for IE's broken implementation.
JavaScript
2
star
86

resumer

a through stream that starts paused and resumes on the next tick
JavaScript
2
star
87

AsyncIterator.prototype

`AsyncIterator.prototype`, or a shared object to use.
JavaScript
2
star
88

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.
JavaScript
2
star
89

es-shim-unscopables

Helper package to shim a method into `Array.prototype[Symbol.unscopables]`
JavaScript
2
star
90

primordials

node core's "primordials" module, but robust for use in a published package
2
star
91

safe-bigint

Safely create a BigInt from a numerical string, even one larger than MAX_SAFE_INTEGER.
JavaScript
2
star
92

coauthors

A cli to generate a complete git co-authors list, including existing co-authors, for use in a commit message.
JavaScript
2
star
93

open-sauced-goals

1
star
94

es-array-method-boxes-properly

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

Iterator.prototype

`Iterator.prototype`, or a shared object to use.
JavaScript
1
star
96

array-map

JavaScript
1
star
97

keytween

Encode and decode a string using the "look between X and Y on your keyboard" meme format
JavaScript
1
star
98

repo-report-cache

JavaScript
1
star
99

make-async-generator-function

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

validate-exports-object

Validate an object in the "exports" field.
JavaScript
1
star