Skip to content
View ljharb's full-sized avatar
working on that thing you asked about
working on that thing you asked about



Block or Report

Block or report ljharb

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse

Hi‼ My name's Jordan, and I've gradually mutated over the last decade into being super obsessed with open source, backwards compatibility, and finding ways to balance what I feel are ethical obligations to all users of projects I interact with, with the very real problem of time management, burnout, and work/life balance.

I've been a part of TC39 (the committee that writes the specification for JavaScript) since 2014, and I was an editor of the specification from 2018-2021. I've been heavily involved in the node community for as many years, and I've gradually created (but mostly inherited or been gifted) a decent number of open source projects. I persist in trying to maintain them all with maximal back compat, the strictest adherence to semver, and the greatest respect for users.

Projects I Maintain

qs qs downloads resolve resolve downloads tape tape downloads
prop-types prop-types downloads compat-table es-abstract es-abstract downloads
airbnb javascript styleguide/eslint configs eslint-config-airbnb-base downloads
enzyme organization enzyme enzyme downloads
es-shims organization es5-shim es5-shim downloads es6-shim es6-shim downloads object.assign object.assign downloads
inspect-js organization object-inspect object-inspect downloads deep-equal deep-equal downloads which-collection which-collection downloads
jsx-eslint organization eslint-plugin-react eslint-plugin-react downloads eslint-plugin-jsx-a11y eslint-plugin-jsx-a11y downloads
import-js organization eslint-plugin-import eslint-plugin-import downloads
minimistjs organization minimist minimist downloads

… and many more on npm

Standards/Communities I Contribute To

this includes participation in working groups, committees, meetings, general issue triage, etc

How Sponsorship Helps

Although open source is a huge part of my life, it's not the most important part - I have a spouse, kids, and a dog; bills to pay; and I also try to give back to the wider community.

Sponsorship helps fund domains, travel, but also other sponsorships

Github Stats

GitHub stats


  1. airbnb/javascript airbnb/javascript Public

    JavaScript Style Guide

    JavaScript 143k 26.3k

  2. nvm-sh/nvm nvm-sh/nvm Public

    Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions

    Shell 76.9k 7.7k

  3. es-shims/es5-shim es-shims/es5-shim Public

    ECMAScript 5 compatibility shims for legacy (and modern) JavaScript engines

    JavaScript 7.1k 901

  4. qs qs Public

    A querystring parser with nesting support

    JavaScript 8.4k 716

  5. tc39/proposals tc39/proposals Public

    Tracking ECMAScript Proposals

    17.9k 710

  6. Array iteration methods summarized Array iteration methods summarized
    # Array Iteration
    While attempting to explain JavaScript's `reduce` method on arrays, conceptually, I came up with the following - hopefully it's helpful; happy to tweak it if anyone has suggestions.