JavaScript Makefile

This repository hosts the JavaScript Loader Standard.

Code of conduct

We are committed to providing a friendly, safe and welcoming environment for all. Please read and respect the WHATWG Code of Conduct.


Section 15.2 of the ES2015 specification describes the syntax for the new import and export declarations, but does not specify how modules are to be loaded. This repository consolidates work on the ECMAScript module loading semantics with the integration points of Web browsers, as well as Node.js.

The main spec is available at, generated from the file.

Building the spec

Building the spec is a two-step process. First, the majority of the conversion work is done via Bikeshed. Second, we run a custom portion of the Ecmarkup pipeline to convert the algorithms from Ecmarkdown syntax into HTML, and to automatically add cross-references. This second step requires io.js to be installed.


To run Bikeshed locally, install Bikeshed and then run bikeshed spec in the working directory.

Alternately, you can use the command

curl -F > index.tmp.html

to use Bikeshed's web interface without installing anything.


To run the Ecmarkup step, be sure you've done npm install in the root directory, then run

npm run ecmarkupify index.tmp.html index.html

Local Watch

If you have Bikeshed installed locally, and have run npm install, you can try running

npm run local-watch

to start a watcher on that will update index.html as you edit.

Implementation status

This spec will be implemented in several stages/milestones. See the roadmap for more details.

As the various milestones of the roadmap are completed, browsers will be able to implement them. See the following trackers for the current status of the main browsers:


Please feel free to open a new issue, or send a pull request!