Jordan Harband

Login: ljharb

Company: @airbnb

Location: San Mateo, CA

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

Blog: https://twitter.com/ljharb

Blog: https://twitter.com/ljharb

Member of

  1. Airbnb
  2. Charity
  3. Cub
  4. dreamerslab
  5. ECMAScript Shims
  6. Ecma TC39
  7. Forked
  8. TAP in JavaScript
  9. The Ministry of GIFs
  10. ?F:? OSWG

Repositories

agendas
TC39 meeting agendas
amp-letter.github.io
null
AnySearch-safari-extension
Use a custom search engine in the Safari 6 address bar, or disable searches completely.
Array.from
A robust & optimized ES3-compatible polyfill for the `Array.from` method in ECMAScript 6.
array-includes
Array.prototype.includes spec-compliant polyfill
Array.of
A robust & optimized ES3-compatible polyfill for the `Array.of` method in ECMAScript 6.
Array.prototype.every
Array.prototype.every spec-compliant polyfill
Array.prototype.find
Simple ES6 Array.prototype.find polyfill for older environments.
Array.prototype.findIndex
Simple ES6 Array.prototype.findIndex polyfill for older environments.
Array.prototype.flat
An ESnext spec-compliant `Array.prototype.flat` shim/polyfill/replacement that works as far down as ES3.
Array.prototype.flatMap
ESnext spec-compliant shim for Array.prototype.flatMap
Array.prototype.some
Array.prototype.some spec-compliant polyfill
async-json
Asynchronous JSON methods for JavaScript
babel.github.io
:globe_with_meridians: The Babel documentation website
babel-preset-node6
Babel preset for Node 6.x (ES6 / ES2015)
big-integer-max
Given two valid integers in string form, return the larger of the two.
big-integer-min
Given two valid integers in string form, return the smaller of the two.
blue-tape
substack's tape test runner with promise support
boilerplate
I didn't like all the boilerplate node apps out there, so I made my own.
bootstrap
HTML, CSS, and JS toolkit from Twitter
brightkite-wordpress
Brightkite Wordpress Plugin : Has a Place widget and a Person widget that shows you details, and can show you the most recent items posted by that person or at that place.
browserify
browser-side require() the node.js way
casual
Fake data generator for javascript
cdnjs
Our goal is to operate this CDN in a peer reviewed fashion.
chai
BDD / TDD assertion framework for node.js and the browser that can be paired with any testing framework.
coffeefilter
Prevent sneaky little CoffeeScript module from ruining your day!
compat-table
ECMAScript 5/6 compatibility tables
consolidated-events
Manage multiple event handlers using few event listeners
covert
code coverage command
CuteTime
CuteTime is a customizable jQuery plugin that automatically converts timestamps to formats much cuter. Also has the ability to dynamically re-update and/or automatically update timestamps on a controlled interval.
david
Nodejs module that tells you when your package NPM dependencies are out of date.
daytime
npm module to combine two Date objects, "day" and "time"
define-properties
Define multiple non-enumerable properties at once. Uses `Object.defineProperty` when available; falls back to standard assignment in older engines.
demo-nodecopter-ardrone-browser-remote
2014.03.08 NodeCopter demo - remote control + video stream a Parrot AR drone via the browser
deps-walk
recursively walk the dependencies of files
detective
Find all calls to require() no matter how deeply nested using a proper walk of the AST
ecma262
Status, process, and documents for ECMA262
ecmascript-string-left-right-trim
A proposal to the ECMAScript standard for including left and right trim of whitespace to strings
email-tags-api
Tiny API to organize email addresses by tags.
emojis
Custom emojis supported by Buildkite which you can use in your build pipelines and terminal output.
enzyme
JavaScript Testing utilities for React
es5-shim
ECMAScript 5 compatibility shims for legacy JavaScript engines
es6modules-nodejs
A summary of the discussion of ES6 modules in Node.js
es6-promise
A polyfill for ES6-style Promises
es6-shim
ECMAScript 6 (Harmony) compatibility shims for legacy JavaScript engines
es7-shim
ECMAScript 7 compatibility shims for legacy JavaScript engines
es-abstract
ECMAScript spec abstract operations.
eslint
A fully pluggable tool for identifying and reporting on patterns in JavaScript.
eslint-config
My shareable `eslint` config.
eslint-plugin-import
ESLint plugin with rules that help validate proper imports.
eslint-plugin-jsx-a11y
Static AST checker for a11y rules on JSX elements.
eslint-plugin-react
React specific linting rules for ESLint
es-shim-api
API contract, and rudimentary tests, for modules that conform to the *es-shim API*
es-to-primitive
ECMAScript "ToPrimitive" algorithm. Provides ES5 and ES6 versions.
evalmd
:fishing_pole_and_fish: Evaluates javascript code blocks from markdown files.
events
Home of information about Maintainerati events.
expect
Write better assertions
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.
foreach
Foreach component + npm package
for-each
A better forEach
forms
An easy way to create, parse and validate forms in node.js
function-bind
null
function.prototype.name
ES6 spec-compliant Function.prototype.name shim.
get-nans
Get an array of all distinct NaN values supported by the engine. There can be only one!
global-cache
Sometimes you have to do horrible things, like use the global object to share a singleton. Abstract that away, with this!
greaterjs
Comparison operators for JavaScript
has
Object.prototype.hasOwnProperty
has-symbols
Determine if the JS environment has Symbol support. Supports spec, or shams.
has-template-literals
Determine if the JS environment has template literal support
hook.io
Open-Source Microservice Hosting Platform
In-Field-Labels-jQuery-Plugin
This is a simple plugin that turns properly formatted HTML forms into forms with in-field label support. Labels fade when the field is focussed and disappear when text entry begins. Clearing a field and leaving brings back the label.
is
The definitive JavaScript type testing library
is-arguments
Is this an arguments object? It's a harder question than you think.
is-arrow-function
Determine if a function is an ES6 arrow function or not.
is-boolean-object
Is this value a JS Boolean? This module works cross-realm/iframe, and despite ES6 @@toStringTag.
is-callable
Is this JS value callable? Works with Functions and GeneratorFunctions, despite ES6 @@toStringTag.
is-date-object
Is this value a JS Date object? This module works cross-realm/iframe, and despite ES6 @@toStringTag.
is-equal
Are these two values conceptually equal?
is-extended
is-extended is a Javascript library for type detection that can be used standalone or incorporated into extended
is-generator-function
Is this an ES6 generator function?
is-http
returns whether or not a url speaks http(s)
is-nan
ES6-compliant shim for Number.isNaN - the global isNaN returns false positives.
is-negative-zero
Is this value negative zero? === will lie to you.
is-number-object
Is this value a JS Number object? This module works cross-realm/iframe, and despite ES6 @@toStringTag.
is-object
Checks whether a value is an object, because typeof is a troll
is-primitive
Is the typeof value a javascript primitive?
is-regex
Is this value a JS regex?
is-string
Is this value a JS String object or primitive? This module works cross-realm/iframe, and despite ES6 @@toStringTag.
is-symbol
Is this an ES6 Symbol value?
istanbul-merge
Merge multiple istanbul coverage reports into one.
is-typed-array
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.
is-whitespace
Returns true if the value passed is all whitespace
javascript
JavaScript Style Guide
jest
? Delightful JavaScript Testing.
jira-ruby
A Ruby gem for the JIRA 5 REST API
jquery
jQuery JavaScript Library
jshint
JSHint is a community-driven tool to detect errors in JavaScript code and enforce your team's coding conventions.
JSLint
The JavaScript Code Quality Tool
json-file-plus
Read from and write to a JSON file, minimizing diffs and preserving formatting.
jsonify
json for node and the browser without mutating any globals
json-preserve-indent
read from, write to and return a JSON string, minimizing diffs and preserving indents/fileending
just
A library of dependency-free utilities that do just do one thing.
listify
Turn an array into a list of comma-separated values, appropriate for use in an English sentence.
ljharb.github.com
null
make-arrow-function
Function that returns an arbitrary arrow function, or undefined if arrow function syntax is unsupported.
make-async-function
Function that returns an arbitrary `async function`, or undefined if `async function` syntax is unsupported.
make-generator-function
Returns an arbitrary generator function, or undefined if generator syntax is unsupported.
Map-Set.prototype.toJSON
An ECMAScript proposal
map-tojson
ES7 Proposal: Map#toJSON
Modernizr
Feature detect HTML5 and CSS3 features, with handy css and javascript hooks so you can progressively enhance to your heart's content.
module-deps
walk the dependency graph to generate a stream of json output
nconf
Hierarchical node.js configuration with files, environment variables, command-line arguments, and atomic object merging.
node
Node.js JavaScript runtime :sparkles::turtle::rocket::sparkles:
node-comments
Transform comments in JS files between multiple styles - single-line, multi-line, both, and more to come!
node-deep-equal
node's assert.deepEqual algorithm
node-extend
Simple function to extend objects
node.extend
A port of jQuery.extend that actually works on node.js
node-http-error
Expose HTTP error codes as Error objects
node-semver
The semver parser for node (the one npm uses)
node-spritesheet
Sprite sheet generator for node.js and task for grunt.js
node-twitter-contributors
Node script to share Twitter account access
npm
a package manager for node
npm-deprecations
Given an npm module name, get a map of npm version numbers to deprecation messages.
npm-path
Get a PATH containing locally installed module executables.
npm-shrinkwrap
A consistent shrinkwrap tool
npm-version-badge
Add a small SVG badge to your Readme showing your package's latest NPM version!
nvm
Node Version Manager - Simple bash script to manage multiple active node.js versions
nyc
the Istanbul command line interface
object.assign
ES6 spec-compliant Object.assign shim. From https://github.com/es-shims/es6-shim
Object.entries
ES2017 spec-compliant shim for Object.entries
Object.fromEntries
Official ES proposal-compliant polyfill for Object.fromEntries
Object.getOwnPropertyDescriptors
Spec-compliant shim for `Object.getOwnPropertyDescriptors` that works in ES5.
object-inspect
string representations of objects in node and the browser
object-is
ES6-compliant shim for Object.is - differentiates between -0 and +0, and can compare to NaN.
object-keys
Object.keys shim
Object.values
ES2017 spec-compliant shim for Object.values
oftn-bot
State-of-the-art IRC bot library & bot for Node.js
polyglot.js
Give your JavaScript the ability to speak many languages.
process-document
Document describing the process for making changes to ES262
promise
Bare bones Promises/A+ implementation
promiseback
Accept an optional node-style callback, and also return a spec-compliant Promise!
promise-deferred
A lightweight Deferred implementation, on top of Promises/A+
Promise.prototype.finally
ES Proposal spec-compliant shim for Promise.prototype.finally
Promise.try
ES Proposal spec-compliant shim for Promise.try
proposal-decorators
Decorators for ES6 classes
proposal-es-empty-builtins
Proposal for ECMAScript empty builtin values
proposal-flatMap
Proposal for flatten and flatMap
proposal-is-error
ECMAScript Proposal, specs, and reference implementation for Error.isError
proposal-pattern-matching
Pattern matching syntax for ECMAScript
proposal-Symbol-description
proposal to add Symbol.prototype.description to ECMAScript
prop-types
Runtime type checking for React props and similar objects
qs
A querystring parser with nesting support
raf
requestAnimationFrame polyfill library
rc
null
react-validators
Enhanced React Shape PropType Validators
react-with-styles
Use CSS-in-JavaScript with themes for React without being tightly coupled to one implementation
read-package-json
The thing npm uses to read package.json files with semantics and defaults and validation and stuff
recurly-client-php
Recurly PHP Client
reduce
A better [].reduce
regexp.escape
Polyfill for `RegExp.escape` ES7 proposal
regexp-make-js
ES6 string template tag for creating dynamic regular expressions
RegExp.prototype.flags
ES6 spec-compliant RegExp.prototype.flags shim.
resolve
Implements the node.js require.resolve() algorithm
rotten
find & delete empty branches in your git repository; find unmerged branches with tons of code that needs to get into production!
runsync
Polyfill of spawnSync and execSync for Node-0.10.x
safe-publish-latest
Ensure that when you `npm publish`, the "latest" tag is only set for the truly latest version.
salita
Automatically upgrade all NPM dependencies.
set-tojson
ES7 Proposal: Set#toJSON
shellfish
curmudgeonly, grudgingly bilingual fish shell and POSIX sh/bash
simd
ES7 (proposed) SIMD numeric type shim/polyfill
sinon
Test spies, stubs and mocks for JavaScript.
sliced
A faster Node.js alternative to [].slice.call(arguments)
sprockets-commonjs
Adds CommonJS support to Sprockets
string-at
A robust & optimized ES3-compatible polyfill for the `String.prototype.at` proposal for ECMAScript - based on https://mths.be/at
String.prototype.matchAll
Spec-compliant polyfill for String.prototype.matchAll ESnext proposal.
String.prototype.padEnd
ES spec-compliant shim for String.prototype.padEnd
String.prototype.padStart
ES spec-compliant shim for String.prototype.padStart
String.prototype.trim
ES5 spec-compliant shim for String.prototype.trim
String.prototype.trimLeft
ES7 spec-compliant shim for String.prototype.trimLeft.
String.prototype.trimRight
ES7 spec-compliant shim for String.prototype.trimRight.
System.global
ECMAScript spec-compliant polyfill/shim for `System.global`.
tape
tap-producing test harness for node and browsers
tc39-notes
These are the notes I take at TC39 Meetings, with Markdown formatting
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.
template-for-proposals
A template for ECMAScript proposals
test262
Official ECMAScript Conformance Test Suite
testling
unit tests in all the browsers
travis-build
Encapsulates a build, used by travis-worker
travis-cookbooks
Chef cookbooks collection used for Travis CI environment/VMs, worker machines and so on
uglify-node
uglify-node is a CLI that works exactly the same as the Node.js CLI, with the added benefit of compiling with uglify settings before running it
uglify-register
The require hook will bind itself to node's require and automatically uglify files on the fly.
util.promisify
Polyfill/shim for util.promisify in node versions < v8
video.js
Video.js - open source HTML5 & Flash video player
which-typed-array
Which kind of Typed Array is this JavaScript value? Works cross-realm, without `instanceof`, and despite Symbol.toStringTag.
xtend
extend like a boss
yargs
yargs the modern, pirate-themed successor to optimist.
You-Dont-Know-JS
A book series on JavaScript. @YDKJS on twitter.

Commits To

RepositoryMost Recent Commit# Commits


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.