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
-
- Airbnb
- Charity
- Cub
- dreamerslab
- ECMAScript Shims
- Ecma TC39
- Forked
- TAP in JavaScript
- The Ministry of GIFs
- ?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
Repository | Most Recent Commit | # Commits |