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

Sponsors

@womcauliff @charpeni @rcourtie
@notchris @mysticatea @fdjones
@darcyclarke @richchurcher @wgolledge @samsonjs @kuwaitbinary

Sponsoring

@zkat @nzakas @gr2m @mjackson @hzoo @sdras @PeterDaveHello @lynncyrin @eslint @vaidehijoshi @nicolo-ribaudo @tatianamac @Vets-Who-Code

Achievements

Achievements

Highlights

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.

Report abuse

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

Report abuse
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 109k 21k

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

    Shell 48.7k 4.9k

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

    JavaScript 7k 951

  4. A querystring parser with nesting support

    JavaScript 6.2k 591

  5. Tracking ECMAScript Proposals

    13.2k 549

  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

May 2021

Created a pull request in ljharb/global-cache that received 1 comment

[Tests] migrate tests to Github Actions

Per ljharb/object.assign#81 travis-ci's new pricing plan, and its defaults, have caused all my ljharb repos to have zero CI whatsoever until Decem…

+228 −22 1 comment
Opened 3 other pull requests in 3 repositories
openjs-foundation/cross-project-council
1 open
tc39/proposal-intl-enumeration
1 merged
ljharb/make-async-generator-function
1 merged
Reviewed 48 pull requests in 22 repositories
benmosher/eslint-plugin-import 8 pull requests
airbnb/javascript 5 pull requests
yannickcr/eslint-plugin-react 5 pull requests
coinbase/rest-hooks 4 pull requests
openjs-foundation/cross-project-council 3 pull requests
tc39/ecma262 3 pull requests
tc39/agendas 2 pull requests
tc39/proposals 2 pull requests
tc39/proposal-intl-enumeration 2 pull requests
airbnb/react-dates 2 pull requests
tc39/proposal-decorators 1 pull request
eslint/rfcs 1 pull request
kangax/compat-table 1 pull request
substack/tape 1 pull request
browserify/browserify 1 pull request
tc39/notes 1 pull request
tc39/ecmarkup 1 pull request
enzymejs/enzyme-matchers 1 pull request
npm/rfcs 1 pull request
nvm-sh/nvm 1 pull request
tc39/proposal-temporal 1 pull request
brigand/jellobot 1 pull request

Created an issue in zloirock/core-js that received 5 comments

v3.9.0+ breaks on node v0.12

require('core-js') breaks in node v0.12 with: TypeError: Cannot convert a Symbol value to a string at String (native) at Object.<anonymous> ($PWD/n…

5 comments
Opened 2 other issues in 2 repositories
benmosher/eslint-plugin-import
1 open
timonwong/vscode-shellcheck
1 open
Answered 2 discussions in 1 repository

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