Skip to content

Instantly share code, notes, and snippets.

@jhony2488
Forked from hybrist/es-module-history.md
Created April 2, 2021 00:46
Show Gist options
  • Select an option

  • Save jhony2488/3339ff35e2953815cbbf9f6f96b5da89 to your computer and use it in GitHub Desktop.

Select an option

Save jhony2488/3339ff35e2953815cbbf9f6f96b5da89 to your computer and use it in GitHub Desktop.

Revisions

  1. @hybrist hybrist revised this gist Jan 8, 2018. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion es-module-history.md
    Original file line number Diff line number Diff line change
    @@ -67,7 +67,7 @@
    * Loader hooks: none
    - Edge 16
    * Basic support for relative and absolute URLs
    * Dynamic import: [maybe](https://github.com/Microsoft/ChakraCore/commit/2277186a9e018f4e4c167803ba7f050972a27277)
    * Dynamic import: [in progress](https://github.com/Microsoft/ChakraCore/commit/2277186a9e018f4e4c167803ba7f050972a27277)
    * `import.meta` properties: not implemented
    * Bare imports: nope
    * Loader hooks: none
  2. @hybrist hybrist revised this gist Jan 8, 2018. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion es-module-history.md
    Original file line number Diff line number Diff line change
    @@ -74,7 +74,7 @@
    - Firefox Developer Edition w/ `dom.moduleScripts.enabled=true`
    * Basic support for relative and absolute URLs
    * Dynamic import: [not implemented](https://bugzilla.mozilla.org/show_bug.cgi?id=1342012)
    * `import.meta` properties: not implemented
    * `import.meta` properties: [not implemented](https://bugzilla.mozilla.org/show_bug.cgi?id=1427610)
    * Bare imports: nope
    * Loader hooks: none
    - node 8 w/ `--experimental-modules`
  3. @hybrist hybrist revised this gist Jan 8, 2018. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion es-module-history.md
    Original file line number Diff line number Diff line change
    @@ -73,7 +73,7 @@
    * Loader hooks: none
    - Firefox Developer Edition w/ `dom.moduleScripts.enabled=true`
    * Basic support for relative and absolute URLs
    * Dynamic import: not implemented
    * Dynamic import: [not implemented](https://bugzilla.mozilla.org/show_bug.cgi?id=1342012)
    * `import.meta` properties: not implemented
    * Bare imports: nope
    * Loader hooks: none
  4. @hybrist hybrist revised this gist Jan 8, 2018. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion es-module-history.md
    Original file line number Diff line number Diff line change
    @@ -67,7 +67,7 @@
    * Loader hooks: none
    - Edge 16
    * Basic support for relative and absolute URLs
    * Dynamic import: not implemented
    * Dynamic import: [maybe](https://github.com/Microsoft/ChakraCore/commit/2277186a9e018f4e4c167803ba7f050972a27277)
    * `import.meta` properties: not implemented
    * Bare imports: nope
    * Loader hooks: none
  5. @hybrist hybrist revised this gist Jan 8, 2018. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions es-module-history.md
    Original file line number Diff line number Diff line change
    @@ -128,9 +128,11 @@ People who provided links & resources (alphabetical order):
    * [Proposal: Dynamic Import][dynamic-import]
    * [Proposal: `import.meta`][import-meta]
    * [Node.js: Modules][node-modules]
    * [ECMAScript modules in browsers][modules-in-browsers]

    [tc39-esm]: https://tc39.github.io/ecma262/#sec-imports
    [html-esm]: https://html.spec.whatwg.org/#integration-with-the-javascript-module-system
    [dynamic-import]: https://github.com/tc39/proposal-dynamic-import
    [import-meta]: https://github.com/tc39/proposal-import-meta
    [node-modules]: https://nodejs.org/api/modules.html
    [modules-in-browsers]: https://jakearchibald.com/2017/es-modules-in-browsers/
  6. @hybrist hybrist revised this gist Jan 8, 2018. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions es-module-history.md
    Original file line number Diff line number Diff line change
    @@ -107,6 +107,8 @@
    * More generic request data -> request hook: https://github.com/whatwg/html/issues/2640
    - Webpack 4 most likely supports a "real" module mode, e.g. dynamic import reliably returns a namespace object
    * https://github.com/webpack/webpack/issues/5686
    - Integration with WebAssembly
    * https://github.com/WebAssembly/design/issues/1087

    ## Acknowledgments

  7. @hybrist hybrist revised this gist Dec 26, 2017. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions es-module-history.md
    Original file line number Diff line number Diff line change
    @@ -110,14 +110,14 @@

    ## Acknowledgments

    People who provided links & resources:
    People who provided links & resources (alphabetical order):

    * [@bradleymeck](https://twitter.com/bradleymeck)
    * [@wycats](https://twitter.com/wycats)
    * [@domenic](https://twitter.com/domenic)
    * [@guybedford](https://twitter.com/guybedford)
    * [@kriskowal](https://twitter.com/kriskowal)
    * [@TheLarkInn](https://twitter.com/TheLarkInn)
    * [@wycats](https://twitter.com/wycats)

    ## References

  8. @hybrist hybrist revised this gist Dec 26, 2017. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions es-module-history.md
    Original file line number Diff line number Diff line change
    @@ -112,6 +112,7 @@

    People who provided links & resources:

    * [@bradleymeck](https://twitter.com/bradleymeck)
    * [@wycats](https://twitter.com/wycats)
    * [@domenic](https://twitter.com/domenic)
    * [@guybedford](https://twitter.com/guybedford)
  9. @hybrist hybrist revised this gist Dec 26, 2017. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions es-module-history.md
    Original file line number Diff line number Diff line change
    @@ -124,8 +124,10 @@ People who provided links & resources:
    * [HTML: Integration with the JavaScript Module System][html-esm]
    * [Proposal: Dynamic Import][dynamic-import]
    * [Proposal: `import.meta`][import-meta]
    * [Node.js: Modules][node-modules]

    [tc39-esm]: https://tc39.github.io/ecma262/#sec-imports
    [html-esm]: https://html.spec.whatwg.org/#integration-with-the-javascript-module-system
    [dynamic-import]: https://github.com/tc39/proposal-dynamic-import
    [import-meta]: https://github.com/tc39/proposal-import-meta
    [node-modules]: https://nodejs.org/api/modules.html
  10. @hybrist hybrist revised this gist Dec 26, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion es-module-history.md
    Original file line number Diff line number Diff line change
    @@ -120,7 +120,7 @@ People who provided links & resources:

    ## References

    * [ECMA262 (JS spec): Imports][tc39-esm]
    * [ECMAScript® Language Specification: Imports][tc39-esm]
    * [HTML: Integration with the JavaScript Module System][html-esm]
    * [Proposal: Dynamic Import][dynamic-import]
    * [Proposal: `import.meta`][import-meta]
  11. @hybrist hybrist revised this gist Dec 26, 2017. 1 changed file with 6 additions and 1 deletion.
    7 changes: 6 additions & 1 deletion es-module-history.md
    Original file line number Diff line number Diff line change
    @@ -120,7 +120,12 @@ People who provided links & resources:

    ## References

    [es2015-esm]: https://tc39.github.io/ecma262/#sec-imports
    * [ECMA262 (JS spec): Imports][tc39-esm]
    * [HTML: Integration with the JavaScript Module System][html-esm]
    * [Proposal: Dynamic Import][dynamic-import]
    * [Proposal: `import.meta`][import-meta]

    [tc39-esm]: https://tc39.github.io/ecma262/#sec-imports
    [html-esm]: https://html.spec.whatwg.org/#integration-with-the-javascript-module-system
    [dynamic-import]: https://github.com/tc39/proposal-dynamic-import
    [import-meta]: https://github.com/tc39/proposal-import-meta
  12. @hybrist hybrist revised this gist Dec 21, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion es-module-history.md
    Original file line number Diff line number Diff line change
    @@ -110,7 +110,7 @@

    ## Acknowledgments

    Thanks to some of the people who provided additional links & resources:
    People who provided links & resources:

    * [@wycats](https://twitter.com/wycats)
    * [@domenic](https://twitter.com/domenic)
  13. @hybrist hybrist revised this gist Dec 21, 2017. 1 changed file with 10 additions and 0 deletions.
    10 changes: 10 additions & 0 deletions es-module-history.md
    Original file line number Diff line number Diff line change
    @@ -107,6 +107,16 @@
    * More generic request data -> request hook: https://github.com/whatwg/html/issues/2640
    - Webpack 4 most likely supports a "real" module mode, e.g. dynamic import reliably returns a namespace object
    * https://github.com/webpack/webpack/issues/5686

    ## Acknowledgments

    Thanks to some of the people who provided additional links & resources:

    * [@wycats](https://twitter.com/wycats)
    * [@domenic](https://twitter.com/domenic)
    * [@guybedford](https://twitter.com/guybedford)
    * [@kriskowal](https://twitter.com/kriskowal)
    * [@TheLarkInn](https://twitter.com/TheLarkInn)

    ## References

  14. @hybrist hybrist revised this gist Dec 21, 2017. 1 changed file with 3 additions and 1 deletion.
    4 changes: 3 additions & 1 deletion es-module-history.md
    Original file line number Diff line number Diff line change
    @@ -14,7 +14,9 @@
    * http://web.archive.org/web/20110926232801/http://wiki.ecmascript.org:80/doku.php?id=harmony:module_loaders
    - 2012-02: V8 implements original module spec (inline module blocks!)
    * https://github.com/v8/v8/commits/701c6e747569926c13160d668035ac05d363e5dc/test/mjsunit/harmony/module-parsing.js
    - 2013-02: Questions arise about how `module.exports = x` would translate
    - 2012-11: A variant that's more closely aligned with node's `module.exports` object is suggested
    * https://gist.github.com/domenic/1ab3f0daa7b37859ce43
    - 2013-02: The discussion on how `module.exports = x` ("single export") would translate becomes more prominent
    * https://gist.github.com/domenic/4748675
    - 2013-03: Yehuda Katz assembles a more general gap list against existing module usage
    * https://gist.github.com/wycats/51c96e3adcdb3a68cbc3/revisions
  15. @hybrist hybrist revised this gist Dec 21, 2017. 1 changed file with 4 additions and 2 deletions.
    6 changes: 4 additions & 2 deletions es-module-history.md
    Original file line number Diff line number Diff line change
    @@ -8,7 +8,7 @@
    - 2009-09: 2nd draft of module strawman, still very close to "closures as modules", `export x = 42`
    * https://esdiscuss.org/topic/hermetic-evaluation-modules-strawman
    * https://docs.google.com/document/u/1/pub?id=1hNv1SHh_v_6nD1QBd6pySUJ2U5roAELzW5cqD2tt_WM
    - 2010-10: Simple modules, module blocks, `module M { export var x = 42; }`
    - 2010-10: Simple modules, lexical modules (`module M { export var x = 42; }`)
    * http://web.archive.org/web/20101003071847/http://wiki.ecmascript.org:80/doku.php?id=strawman:simple_modules
    - 2011-09: TC39 side of an ES6 loader spec
    * http://web.archive.org/web/20110926232801/http://wiki.ecmascript.org:80/doku.php?id=harmony:module_loaders
    @@ -18,8 +18,10 @@
    * https://gist.github.com/domenic/4748675
    - 2013-03: Yehuda Katz assembles a more general gap list against existing module usage
    * https://gist.github.com/wycats/51c96e3adcdb3a68cbc3/revisions
    - 2013-05: `export default` is presented at TC39
    - 2013-05: `export default` is presented at TC39 and lexical modules are no more
    * https://github.com/rwaldron/tc39-notes/blob/9a10ede05296c1270e4ab2cd4b1698ec32c55950/es6/2013-05/may-22.md#410-modules
    - 2013-11: Module becomes a clean parse goal
    * https://github.com/rwaldron/tc39-notes/blob/9a10ede05296c1270e4ab2cd4b1698ec32c55950/es6/2013-11/nov-21.md#45-modules
    - 2013-12: ES6 spec still includes a loader
    * https://github.com/jorendorff/js-loaders/blob/e60d3651/specs/es6-modules-2013-12-02.pdf
    - 2014-07: jsmodules.io starts on the long and hard road to get ecosystem buy-in
  16. @hybrist hybrist revised this gist Dec 21, 2017. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions es-module-history.md
    Original file line number Diff line number Diff line change
    @@ -22,6 +22,8 @@
    * https://github.com/rwaldron/tc39-notes/blob/9a10ede05296c1270e4ab2cd4b1698ec32c55950/es6/2013-05/may-22.md#410-modules
    - 2013-12: ES6 spec still includes a loader
    * https://github.com/jorendorff/js-loaders/blob/e60d3651/specs/es6-modules-2013-12-02.pdf
    - 2014-07: jsmodules.io starts on the long and hard road to get ecosystem buy-in
    * http://jsmodules.io/
    - 2014-09: WHATWG officially takes over working on an ES6 loader spec
    * https://github.com/whatwg/loader/commit/44874362552f3c605a92f5895fbb8f3a015d7c06
    - 2015-01: V8 starts implementing the revised module spec ("modules as a different top-level parse goal")
  17. @hybrist hybrist revised this gist Dec 21, 2017. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions es-module-history.md
    Original file line number Diff line number Diff line change
    @@ -16,6 +16,8 @@
    * https://github.com/v8/v8/commits/701c6e747569926c13160d668035ac05d363e5dc/test/mjsunit/harmony/module-parsing.js
    - 2013-02: Questions arise about how `module.exports = x` would translate
    * https://gist.github.com/domenic/4748675
    - 2013-03: Yehuda Katz assembles a more general gap list against existing module usage
    * https://gist.github.com/wycats/51c96e3adcdb3a68cbc3/revisions
    - 2013-05: `export default` is presented at TC39
    * https://github.com/rwaldron/tc39-notes/blob/9a10ede05296c1270e4ab2cd4b1698ec32c55950/es6/2013-05/may-22.md#410-modules
    - 2013-12: ES6 spec still includes a loader
  18. @hybrist hybrist revised this gist Dec 21, 2017. 1 changed file with 4 additions and 0 deletions.
    4 changes: 4 additions & 0 deletions es-module-history.md
    Original file line number Diff line number Diff line change
    @@ -14,6 +14,10 @@
    * http://web.archive.org/web/20110926232801/http://wiki.ecmascript.org:80/doku.php?id=harmony:module_loaders
    - 2012-02: V8 implements original module spec (inline module blocks!)
    * https://github.com/v8/v8/commits/701c6e747569926c13160d668035ac05d363e5dc/test/mjsunit/harmony/module-parsing.js
    - 2013-02: Questions arise about how `module.exports = x` would translate
    * https://gist.github.com/domenic/4748675
    - 2013-05: `export default` is presented at TC39
    * https://github.com/rwaldron/tc39-notes/blob/9a10ede05296c1270e4ab2cd4b1698ec32c55950/es6/2013-05/may-22.md#410-modules
    - 2013-12: ES6 spec still includes a loader
    * https://github.com/jorendorff/js-loaders/blob/e60d3651/specs/es6-modules-2013-12-02.pdf
    - 2014-09: WHATWG officially takes over working on an ES6 loader spec
  19. @hybrist hybrist revised this gist Dec 21, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion es-module-history.md
    Original file line number Diff line number Diff line change
    @@ -93,7 +93,7 @@
    - Official loader hooks (e.g. "bare" imports) on web (?)
    * Named/mapped base URLs: https://github.com/whatwg/html/issues/3161
    * More generic request data -> request hook: https://github.com/whatwg/html/issues/2640
    - Webpack 4 most likely supports a "real" module mode, e.g. dynamic import actually returns a namespace object
    - Webpack 4 most likely supports a "real" module mode, e.g. dynamic import reliably returns a namespace object
    * https://github.com/webpack/webpack/issues/5686

    ## References
  20. @hybrist hybrist revised this gist Dec 20, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion es-module-history.md
    Original file line number Diff line number Diff line change
    @@ -28,7 +28,7 @@
    * https://github.com/whatwg/html/pull/443
    - 2016-09: Dynamic `import()` is born (ability to dynamically load modules)
    * https://github.com/tc39/proposal-dynamic-import/commit/19770ccc176de032d87d2510bb1a7a47674e247f
    - 2016-12: Webpack 2 ships and includes *an* implementation of modules
    - 2016-12: Webpack 2 ships and includes *an* implementation of modules (mostly just using module syntax w/ custom semantics for bundling)
    * https://medium.com/webpack/webpack-2-2-the-release-candidate-2e614d05d75f
    - 2017-01: WHATWG officially marks the loader spec as "not likely in its current form"
    * https://github.com/whatwg/loader/commit/40696b37f70bee0ad3269b4ebd75023919ff9e01
  21. @hybrist hybrist revised this gist Dec 20, 2017. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions es-module-history.md
    Original file line number Diff line number Diff line change
    @@ -93,6 +93,8 @@
    - Official loader hooks (e.g. "bare" imports) on web (?)
    * Named/mapped base URLs: https://github.com/whatwg/html/issues/3161
    * More generic request data -> request hook: https://github.com/whatwg/html/issues/2640
    - Webpack 4 most likely supports a "real" module mode, e.g. dynamic import actually returns a namespace object
    * https://github.com/webpack/webpack/issues/5686

    ## References

  22. @hybrist hybrist revised this gist Dec 20, 2017. 1 changed file with 4 additions and 0 deletions.
    4 changes: 4 additions & 0 deletions es-module-history.md
    Original file line number Diff line number Diff line change
    @@ -20,12 +20,16 @@
    * https://github.com/whatwg/loader/commit/44874362552f3c605a92f5895fbb8f3a015d7c06
    - 2015-01: V8 starts implementing the revised module spec ("modules as a different top-level parse goal")
    * https://chromium.googlesource.com/v8/v8/+/aeb3a7174050e67267a4e2c123469f040400008e
    - 2015-05: First rollup.js release
    * https://github.com/rollup/rollup/releases?after=v0.4.0
    - 2015-06: ES2015 brings static `import`/`exports` but actual loading left open to hosts
    * http://www.ecma-international.org/ecma-262/6.0/#sec-imports
    - 2016-01: WHATWG specs loading of relative and absolute paths as part of `<script type="module">`
    * https://github.com/whatwg/html/pull/443
    - 2016-09: Dynamic `import()` is born (ability to dynamically load modules)
    * https://github.com/tc39/proposal-dynamic-import/commit/19770ccc176de032d87d2510bb1a7a47674e247f
    - 2016-12: Webpack 2 ships and includes *an* implementation of modules
    * https://medium.com/webpack/webpack-2-2-the-release-candidate-2e614d05d75f
    - 2017-01: WHATWG officially marks the loader spec as "not likely in its current form"
    * https://github.com/whatwg/loader/commit/40696b37f70bee0ad3269b4ebd75023919ff9e01
    - 2017-05: `import.meta` is born (access to module-specific meta data)
  23. @hybrist hybrist revised this gist Dec 20, 2017. 1 changed file with 6 additions and 0 deletions.
    6 changes: 6 additions & 0 deletions es-module-history.md
    Original file line number Diff line number Diff line change
    @@ -49,6 +49,12 @@
    * `import.meta` properties: `url`
    * Bare imports: nope
    * Loader hooks: none
    - Edge 16
    * Basic support for relative and absolute URLs
    * Dynamic import: not implemented
    * `import.meta` properties: not implemented
    * Bare imports: nope
    * Loader hooks: none
    - Firefox Developer Edition w/ `dom.moduleScripts.enabled=true`
    * Basic support for relative and absolute URLs
    * Dynamic import: not implemented
  24. @hybrist hybrist revised this gist Dec 20, 2017. 1 changed file with 11 additions and 5 deletions.
    16 changes: 11 additions & 5 deletions es-module-history.md
    Original file line number Diff line number Diff line change
    @@ -45,24 +45,30 @@
    * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import
    - Chrome 64
    * Basic support for relative and absolute URLs
    * Dynamic import
    * Dynamic import: both scripts and modules
    * `import.meta` properties: `url`
    * Bare imports: nope
    * Loader hooks: none
    - Safari Technology Preview
    - Firefox Developer Edition w/ `dom.moduleScripts.enabled=true`
    * Basic support for relative and absolute URLs
    * Dynamic import
    * `import.meta` properties: `url`
    * Dynamic import: not implemented
    * `import.meta` properties: not implemented
    * Bare imports: nope
    * Loader hooks: none
    - node 8 w/ `--experimental-modules`
    * Basic support for relative and absolute URLs (`file://` protocol only)
    * Dynamic import: on master, requires additional `--harmony-dynamic-import` flag
    * Dynamic import: both scripts and modules on node 10.x nightly, requires additional `--harmony-dynamic-import` flag
    * `import.meta` properties: none, blocked on stable V8 6.4 in Jan 2018
    * Bare imports: using `node_modules/` rules
    * Loader hooks: Via `--loader <impl>`
    - PR: https://github.com/nodejs/node/pull/15445
    - Example: https://github.com/nodejs/node/blob/d21a11dc23d6104b1d03fa2ddc1c808dcaf89c31/test/fixtures/es-module-loaders/example-loader.mjs
    - Safari Technology Preview 45
    * Basic support for relative and absolute URLs
    * Dynamic import: both scripts and modules
    * `import.meta` properties: `url`
    * Bare imports: nope
    * Loader hooks: none

    ## Future

  25. @hybrist hybrist revised this gist Dec 20, 2017. 1 changed file with 6 additions and 0 deletions.
    6 changes: 6 additions & 0 deletions es-module-history.md
    Original file line number Diff line number Diff line change
    @@ -49,6 +49,12 @@
    * `import.meta` properties: `url`
    * Bare imports: nope
    * Loader hooks: none
    - Safari Technology Preview
    * Basic support for relative and absolute URLs
    * Dynamic import
    * `import.meta` properties: `url`
    * Bare imports: nope
    * Loader hooks: none
    - node 8 w/ `--experimental-modules`
    * Basic support for relative and absolute URLs (`file://` protocol only)
    * Dynamic import: on master, requires additional `--harmony-dynamic-import` flag
  26. @hybrist hybrist revised this gist Dec 20, 2017. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions es-module-history.md
    Original file line number Diff line number Diff line change
    @@ -14,6 +14,8 @@
    * http://web.archive.org/web/20110926232801/http://wiki.ecmascript.org:80/doku.php?id=harmony:module_loaders
    - 2012-02: V8 implements original module spec (inline module blocks!)
    * https://github.com/v8/v8/commits/701c6e747569926c13160d668035ac05d363e5dc/test/mjsunit/harmony/module-parsing.js
    - 2013-12: ES6 spec still includes a loader
    * https://github.com/jorendorff/js-loaders/blob/e60d3651/specs/es6-modules-2013-12-02.pdf
    - 2014-09: WHATWG officially takes over working on an ES6 loader spec
    * https://github.com/whatwg/loader/commit/44874362552f3c605a92f5895fbb8f3a015d7c06
    - 2015-01: V8 starts implementing the revised module spec ("modules as a different top-level parse goal")
  27. @hybrist hybrist revised this gist Dec 20, 2017. 1 changed file with 3 additions and 1 deletion.
    4 changes: 3 additions & 1 deletion es-module-history.md
    Original file line number Diff line number Diff line change
    @@ -10,9 +10,11 @@
    * https://docs.google.com/document/u/1/pub?id=1hNv1SHh_v_6nD1QBd6pySUJ2U5roAELzW5cqD2tt_WM
    - 2010-10: Simple modules, module blocks, `module M { export var x = 42; }`
    * http://web.archive.org/web/20101003071847/http://wiki.ecmascript.org:80/doku.php?id=strawman:simple_modules
    - 2011-09: TC39 side of an ES6 loader spec
    * http://web.archive.org/web/20110926232801/http://wiki.ecmascript.org:80/doku.php?id=harmony:module_loaders
    - 2012-02: V8 implements original module spec (inline module blocks!)
    * https://github.com/v8/v8/commits/701c6e747569926c13160d668035ac05d363e5dc/test/mjsunit/harmony/module-parsing.js
    - 2014-09: WHATWG officially starts an ES6 loader spec
    - 2014-09: WHATWG officially takes over working on an ES6 loader spec
    * https://github.com/whatwg/loader/commit/44874362552f3c605a92f5895fbb8f3a015d7c06
    - 2015-01: V8 starts implementing the revised module spec ("modules as a different top-level parse goal")
    * https://chromium.googlesource.com/v8/v8/+/aeb3a7174050e67267a4e2c123469f040400008e
  28. @hybrist hybrist revised this gist Dec 20, 2017. 1 changed file with 14 additions and 1 deletion.
    15 changes: 14 additions & 1 deletion es-module-history.md
    Original file line number Diff line number Diff line change
    @@ -39,7 +39,20 @@

    - Basic support in some browsers
    * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import
    - `--experimental-modules` in latest node 8
    - Chrome 64
    * Basic support for relative and absolute URLs
    * Dynamic import
    * `import.meta` properties: `url`
    * Bare imports: nope
    * Loader hooks: none
    - node 8 w/ `--experimental-modules`
    * Basic support for relative and absolute URLs (`file://` protocol only)
    * Dynamic import: on master, requires additional `--harmony-dynamic-import` flag
    * `import.meta` properties: none, blocked on stable V8 6.4 in Jan 2018
    * Bare imports: using `node_modules/` rules
    * Loader hooks: Via `--loader <impl>`
    - PR: https://github.com/nodejs/node/pull/15445
    - Example: https://github.com/nodejs/node/blob/d21a11dc23d6104b1d03fa2ddc1c808dcaf89c31/test/fixtures/es-module-loaders/example-loader.mjs

    ## Future

  29. @hybrist hybrist revised this gist Dec 20, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion es-module-history.md
    Original file line number Diff line number Diff line change
    @@ -43,7 +43,7 @@

    ## Future

    - 2018-04 (projected): Mostly complete implementation in node.js, although likely still requiring some flags at launch
    - 2018-04 (projected): Complete implementation in node.js, although likely still requiring some flags at launch
    - Standardization of `.mjs` for JavaScript module files
    * https://datatracker.ietf.org/doc/draft-ietf-dispatch-javascript-mjs/
    - Unbundled execution for development (?)
  30. @hybrist hybrist revised this gist Dec 20, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion es-module-history.md
    Original file line number Diff line number Diff line change
    @@ -43,7 +43,7 @@

    ## Future

    - 2018-04 (likely): Mostly complete implementation in node.js, although still with some flags
    - 2018-04 (projected): Mostly complete implementation in node.js, although likely still requiring some flags at launch
    - Standardization of `.mjs` for JavaScript module files
    * https://datatracker.ietf.org/doc/draft-ietf-dispatch-javascript-mjs/
    - Unbundled execution for development (?)