Skip to content
Avatar
🔜
working on that thing you asked about
🔜
working on that thing you asked about

Highlights

Sponsors

@projectdiscovery @laidrivm @coderkevin @substackinc @RaiderIO @SpringRole @fboeller @jsutton @instantish @lukyth @orta @skyboyer @denisix

Sponsoring

@ari-os310 @cadence09 @TaLeaMonet @gitburd @naomiquinones @karolina-benitez @mjackson @Vets-Who-Code @eslint @PeterDaveHello @tatianamac @sdras @vaidehijoshi
ljharb/README.md

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've been an editor of the specification since 2018. 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

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

Pinned

  1. JavaScript Style Guide

    JavaScript 106k 20.4k

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

    Shell 47k 4.7k

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

    JavaScript 7k 948

  4. A querystring parser with nesting support

    JavaScript 6k 578

  5. Tracking ECMAScript Proposals

    12.7k 521

  6. 1
    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.
    2
    
                  
    3
    ## Intro
    4
    JavaScript Arrays have lots of built in methods on their prototype. Some of them *mutate* - ie, they change the underlying array in-place. Luckily, most of them do not - they instead return an entirely distinct array. Since arrays are conceptually a contiguous list of items, it helps code clarity and maintainability a lot to be able to operate on them in a "functional" way. (I'll also insist on referring to an array as a "list" - although in some languages, `List` is a native data type, in JS and this post, I'm referring to the concept. Everywhere I use the word "list" you can assume I'm talking about a JS Array) This means, to perform a single operation on the list as a whole ("atomically"), and to return a *new* list - thus making it much simpler to think about both the old list and the new one, what they contain, and what happened during the operation.
    5
    
                  

Contribution activity

February 2021

Created 3 repositories

Created a pull request in npm/cli that received 42 comments

[fix] node v10.0 lacks `fs.promises`

In this node version, fall back to util.promisify of the callback version. Maybe fixes #2623. Maybe fixes #2652. Maybe fixes #2625. Updated the tes…

+24 −4 42 comments
Opened 22 other pull requests in 13 repositories
tc39/ecma262
5 merged
npm/cli
3 merged 1 closed
ricokahler/color2k
1 open 1 merged 1 closed
tc39/ecma402
1 closed
gajus/table
1 open
ljharb/ls-engines
1 merged
ljharb/npm-deprecations
1 merged
airbnb/babel-plugin-inline-react-svg
1 merged
npm/run-script
1 merged
npm/node-gyp
1 closed
ljharb/es-value-fixtures
1 merged
ljharb/publishers
1 merged
tc39/proposal-json-modules
1 merged
Reviewed 172 pull requests in 59 repositories
coinbase/rest-hooks 24 pull requests
tc39/ecma262 15 pull requests
tc39/agendas 9 pull requests
tc39/ecmarkup 9 pull requests
nvm-sh/nvm 7 pull requests
benmosher/eslint-plugin-import 7 pull requests
airbnb/react-dates 7 pull requests
yannickcr/eslint-plugin-react 6 pull requests
npm/cli 5 pull requests
tc39/proposal-error-stacks 5 pull requests
openjs-foundation/cross-project-council 4 pull requests
kangax/compat-table 4 pull requests
tc39/proposal-temporal 4 pull requests
substack/tape 3 pull requests
npm/arborist 3 pull requests
jsx-eslint/eslint-plugin-jsx-a11y 3 pull requests
nodejs/node 3 pull requests
npm/rfcs 3 pull requests
tc39/notes 2 pull requests
airbnb/javascript 2 pull requests
airbnb/babel-plugin-inline-react-svg 2 pull requests
DefinitelyTyped/DefinitelyTyped 2 pull requests
tc39/proposals 2 pull requests
ntucker/anansi 2 pull requests
js-reporters/js-reporters 2 pull requests
34 repositories not shown
Answered 1 discussion in 1 repository

Seeing something unexpected? Take a look at the GitHub profile guide.