From 41d0b1ed7e785227f272c747d6489bdac4480719 Mon Sep 17 00:00:00 2001 From: Guy Bedford Date: Wed, 18 Jul 2018 10:27:45 +0200 Subject: [PATCH 01/12] Feature terminology adjustments --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 9815681..c072fbe 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,6 @@ Based on [these use cases](https://docs.google.com/document/d/10BBsIqdAXB9JR2KUz - No refactoring ([#87](https://github.com/nodejs/modules/issues/87)) - Pluggable Loaders to support multiple use cases ([#82](https://github.com/nodejs/modules/issues/82)) - Named exports when importing CJS ([#81](https://github.com/nodejs/modules/issues/81)) -- Dual-goal packages ([#93](https://github.com/nodejs/modules/issues/93)) - Multi-mode packages ([#94](https://github.com/nodejs/modules/issues/94)) - Code coverage/instrumentation ([#95](https://github.com/nodejs/modules/issues/95)) - Runtime loaders, transpilation at import time ([#96](https://github.com/nodejs/modules/issues/96)) @@ -34,7 +33,7 @@ Based on [these use cases](https://docs.google.com/document/d/10BBsIqdAXB9JR2KUz - Tree shaking ([#102](https://github.com/nodejs/modules/issues/102)) - File / path / URL resolving ([#103](https://github.com/nodejs/modules/issues/103)) - Retrievable module metadata ([#104](https://github.com/nodejs/modules/issues/104)) -- Transparent migration ([#105](https://github.com/nodejs/modules/issues/105)) +- Consumer-agnostic imports ([#105](https://github.com/nodejs/modules/issues/105)) - WASM modules ([#106](https://github.com/nodejs/modules/issues/106)) - Browser and Node compatibility without building ([#107](https://github.com/nodejs/modules/issues/107)) - Browser-compatible build that includes CommonJS ([#108](https://github.com/nodejs/modules/issues/108)) From e7bf235aa86a6ee745380ea03e17642377b75962 Mon Sep 17 00:00:00 2001 From: Guy Bedford Date: Wed, 18 Jul 2018 10:37:56 +0200 Subject: [PATCH 02/12] Update README.md --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index c072fbe..bb6ea12 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,6 @@ Based on [these use cases](https://docs.google.com/document/d/10BBsIqdAXB9JR2KUz - Package encapsulation ([#111](https://github.com/nodejs/modules/issues/111)) - Don’t break CommonJS ([#112](https://github.com/nodejs/modules/issues/112)) - Conditional imports ([#113](https://github.com/nodejs/modules/issues/113)) -- Import JSON without needing asynchronous syntax ([#114](https://github.com/nodejs/modules/issues/114)) - Importing non-JavaScript files ([#115](https://github.com/nodejs/modules/issues/115)) - Import CommonJS without needing asynchronous syntax ([#116](https://github.com/nodejs/modules/issues/116)) - NodeJS contextual pathing use cases ([#121](https://github.com/nodejs/modules/issues/121)) From 14844ee21eefe1b751419c1ef23099519a037938 Mon Sep 17 00:00:00 2001 From: Guy Bedford Date: Wed, 18 Jul 2018 10:41:36 +0200 Subject: [PATCH 03/12] add recent feature proposals --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index bb6ea12..72ee6ee 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,8 @@ Based on [these use cases](https://docs.google.com/document/d/10BBsIqdAXB9JR2KUz - Importing non-JavaScript files ([#115](https://github.com/nodejs/modules/issues/115)) - Import CommonJS without needing asynchronous syntax ([#116](https://github.com/nodejs/modules/issues/116)) - NodeJS contextual pathing use cases ([#121](https://github.com/nodejs/modules/issues/121)) +- ESM in executable files ([#152](https://github.com/nodejs/modules/issues/152)) +- ESM in .js files ([#151](https://github.com/nodejs/modules/151)) ## Members From fcc9b3c164beb1d5792f689f0a87a77aeb39f771 Mon Sep 17 00:00:00 2001 From: Guy Bedford Date: Wed, 18 Jul 2018 10:44:28 +0200 Subject: [PATCH 04/12] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 72ee6ee..1fb28ed 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,7 @@ Based on [these use cases](https://docs.google.com/document/d/10BBsIqdAXB9JR2KUz - NodeJS contextual pathing use cases ([#121](https://github.com/nodejs/modules/issues/121)) - ESM in executable files ([#152](https://github.com/nodejs/modules/issues/152)) - ESM in .js files ([#151](https://github.com/nodejs/modules/151)) +- Callable resolver ([#157](https://github.com/nodejs/modules/issues/157)) ## Members From ced0c83aa7a0abc0a54e9ae22b094ef73b297dac Mon Sep 17 00:00:00 2001 From: Guy Bedford Date: Wed, 18 Jul 2018 10:51:50 +0200 Subject: [PATCH 05/12] remove duplicate --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 1fb28ed..58d0408 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,6 @@ Based on [these use cases](https://docs.google.com/document/d/10BBsIqdAXB9JR2KUz - Polyfillability ([#101](https://github.com/nodejs/modules/issues/101)) - Tree shaking ([#102](https://github.com/nodejs/modules/issues/102)) - File / path / URL resolving ([#103](https://github.com/nodejs/modules/issues/103)) -- Retrievable module metadata ([#104](https://github.com/nodejs/modules/issues/104)) - Consumer-agnostic imports ([#105](https://github.com/nodejs/modules/issues/105)) - WASM modules ([#106](https://github.com/nodejs/modules/issues/106)) - Browser and Node compatibility without building ([#107](https://github.com/nodejs/modules/issues/107)) From 2c7e2dc2623ef87c0c3ab2d0e2fe5721217196ef Mon Sep 17 00:00:00 2001 From: Guy Bedford Date: Wed, 18 Jul 2018 11:36:34 +0200 Subject: [PATCH 06/12] transparent interop -> import interop --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 58d0408..a778ccd 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ Based on [these use cases](https://docs.google.com/document/d/10BBsIqdAXB9JR2KUz - Arbitrary sources for module source text ([#97](https://github.com/nodejs/modules/issues/97)) - Mock modules (injection) ([#98](https://github.com/nodejs/modules/issues/98)) - Mixed module types within app/module; gradual migration from CommonJS to ESM ([#99](https://github.com/nodejs/modules/issues/99)) -- Transparent interoperability for ESM importing CommonJS ([#100](https://github.com/nodejs/modules/issues/100)) +- Import interoperability for ESM importing CommonJS ([#100](https://github.com/nodejs/modules/issues/100)) - Polyfillability ([#101](https://github.com/nodejs/modules/issues/101)) - Tree shaking ([#102](https://github.com/nodejs/modules/issues/102)) - File / path / URL resolving ([#103](https://github.com/nodejs/modules/issues/103)) From 6619b9a828efe8c60a080998654ab416f1b0e2a8 Mon Sep 17 00:00:00 2001 From: Guy Bedford Date: Wed, 18 Jul 2018 13:34:22 +0200 Subject: [PATCH 07/12] consumer-agnostic -> agnostic consumer --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a778ccd..8086f24 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ Based on [these use cases](https://docs.google.com/document/d/10BBsIqdAXB9JR2KUz - Polyfillability ([#101](https://github.com/nodejs/modules/issues/101)) - Tree shaking ([#102](https://github.com/nodejs/modules/issues/102)) - File / path / URL resolving ([#103](https://github.com/nodejs/modules/issues/103)) -- Consumer-agnostic imports ([#105](https://github.com/nodejs/modules/issues/105)) +- Agnostic consumer imports ([#105](https://github.com/nodejs/modules/issues/105)) - WASM modules ([#106](https://github.com/nodejs/modules/issues/106)) - Browser and Node compatibility without building ([#107](https://github.com/nodejs/modules/issues/107)) - Browser-compatible build that includes CommonJS ([#108](https://github.com/nodejs/modules/issues/108)) From db468c3ebdb659466fc1cf2d872dfb19c410b69c Mon Sep 17 00:00:00 2001 From: Guy Bedford Date: Wed, 18 Jul 2018 22:05:51 +0200 Subject: [PATCH 08/12] divide features into feature sections --- README.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/README.md b/README.md index 8086f24..0d78597 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,56 @@ Work includes: ## Features +Based on these use cases (#55), our implementation aims to support the following features (subject to change): + +### Baseline Modules Implementation Features: +* Spec compliance (#132) +* Browser equivalence (#133) +* Don’t break CommonJS (#112) +* No refactoring (#87) + +#### Browser Interop: +* Browser and Node compatibility without building (#107) +* Browser-compatible specifier resolution (#109) +* Browser-compatible builds for ESM and CommonJS (#108) + +#### CommonJS Interop: +* Named exports when importing CJS (#81) +* Multi-mode packages (#94) +* Transparent interoperability for ESM importing CommonJS (#100) +* Consumer-agnostic imports (#105) +* Mixed module types within app/module; gradual migration from CommonJS to ESM (#99) +* ESM in .js files (#151) + +### Existing Node.js Features: + +* Importing non-JavaScript files (#115) +* NodeJS contextual pathing use cases (#121) +* ESM in executable files (#152) +* Callable resolver (#157) + +### Loader Features + +* Code coverage/instrumentation (#95) +* Pluggable Loaders to support multiple use cases (#82) +* Runtime loaders, transpilation at import time (#96) +* Arbitrary sources for module source text (#97) +* Mock modules (injection) (#98) +* Specifier resolution customization (#110) +* Package encapsulation (#111) +* Conditional imports (#113) + +### WASM Features: + +* WASM modules (#106) + +### Developer and Tooling Features: + +* File / path / URL resolving (#103) +* Import CommonJS without needing asynchronous syntax (#116) +* Tree shaking (#102) +* Polyfillability (#101) + Based on [these use cases](https://docs.google.com/document/d/10BBsIqdAXB9JR2KUzQGYbCiVugYBnxE4REBakX29yyo/edit) ([#55](https://github.com/nodejs/modules/issues/55)), our implementation aims to support the following features (subject to change): - Spec compliance ([#132](https://github.com/nodejs/modules/issues/132)) From b350cdaf953569251c638c4f4c92c0c80d292a73 Mon Sep 17 00:00:00 2001 From: Guy Bedford Date: Wed, 18 Jul 2018 22:06:13 +0200 Subject: [PATCH 09/12] update listing --- README.md | 31 ------------------------------- 1 file changed, 31 deletions(-) diff --git a/README.md b/README.md index 0d78597..8f494db 100644 --- a/README.md +++ b/README.md @@ -67,37 +67,6 @@ Based on these use cases (#55), our implementation aims to support the following Based on [these use cases](https://docs.google.com/document/d/10BBsIqdAXB9JR2KUzQGYbCiVugYBnxE4REBakX29yyo/edit) ([#55](https://github.com/nodejs/modules/issues/55)), our implementation aims to support the following features (subject to change): -- Spec compliance ([#132](https://github.com/nodejs/modules/issues/132)) -- Browser equivalence ([#133](https://github.com/nodejs/modules/issues/133)) -- No refactoring ([#87](https://github.com/nodejs/modules/issues/87)) -- Pluggable Loaders to support multiple use cases ([#82](https://github.com/nodejs/modules/issues/82)) -- Named exports when importing CJS ([#81](https://github.com/nodejs/modules/issues/81)) -- Multi-mode packages ([#94](https://github.com/nodejs/modules/issues/94)) -- Code coverage/instrumentation ([#95](https://github.com/nodejs/modules/issues/95)) -- Runtime loaders, transpilation at import time ([#96](https://github.com/nodejs/modules/issues/96)) -- Arbitrary sources for module source text ([#97](https://github.com/nodejs/modules/issues/97)) -- Mock modules (injection) ([#98](https://github.com/nodejs/modules/issues/98)) -- Mixed module types within app/module; gradual migration from CommonJS to ESM ([#99](https://github.com/nodejs/modules/issues/99)) -- Import interoperability for ESM importing CommonJS ([#100](https://github.com/nodejs/modules/issues/100)) -- Polyfillability ([#101](https://github.com/nodejs/modules/issues/101)) -- Tree shaking ([#102](https://github.com/nodejs/modules/issues/102)) -- File / path / URL resolving ([#103](https://github.com/nodejs/modules/issues/103)) -- Agnostic consumer imports ([#105](https://github.com/nodejs/modules/issues/105)) -- WASM modules ([#106](https://github.com/nodejs/modules/issues/106)) -- Browser and Node compatibility without building ([#107](https://github.com/nodejs/modules/issues/107)) -- Browser-compatible build that includes CommonJS ([#108](https://github.com/nodejs/modules/issues/108)) -- Browser-compatible specifier resolution ([#109](https://github.com/nodejs/modules/issues/109)) -- Specifier resolution customization ([#110](https://github.com/nodejs/modules/issues/110)) -- Package encapsulation ([#111](https://github.com/nodejs/modules/issues/111)) -- Don’t break CommonJS ([#112](https://github.com/nodejs/modules/issues/112)) -- Conditional imports ([#113](https://github.com/nodejs/modules/issues/113)) -- Importing non-JavaScript files ([#115](https://github.com/nodejs/modules/issues/115)) -- Import CommonJS without needing asynchronous syntax ([#116](https://github.com/nodejs/modules/issues/116)) -- NodeJS contextual pathing use cases ([#121](https://github.com/nodejs/modules/issues/121)) -- ESM in executable files ([#152](https://github.com/nodejs/modules/issues/152)) -- ESM in .js files ([#151](https://github.com/nodejs/modules/151)) -- Callable resolver ([#157](https://github.com/nodejs/modules/issues/157)) - ## Members From 59320bad48fd6e6af3448d531459204cdecbac71 Mon Sep 17 00:00:00 2001 From: Guy Bedford Date: Wed, 18 Jul 2018 22:07:24 +0200 Subject: [PATCH 10/12] Node.js Features -> Node.js Utility Features --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8f494db..1b1738b 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ Based on these use cases (#55), our implementation aims to support the following * Mixed module types within app/module; gradual migration from CommonJS to ESM (#99) * ESM in .js files (#151) -### Existing Node.js Features: +### Existing Node.js Utility Features: * Importing non-JavaScript files (#115) * NodeJS contextual pathing use cases (#121) From 54cc4af7dd413559a01e67889929c8bbf33a41b5 Mon Sep 17 00:00:00 2001 From: Guy Bedford Date: Wed, 18 Jul 2018 22:16:09 +0200 Subject: [PATCH 11/12] update links --- README.md | 60 +++++++++++++++++++++++++++---------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index 1b1738b..0e3a38a 100644 --- a/README.md +++ b/README.md @@ -18,52 +18,52 @@ Work includes: Based on these use cases (#55), our implementation aims to support the following features (subject to change): ### Baseline Modules Implementation Features: -* Spec compliance (#132) -* Browser equivalence (#133) -* Don’t break CommonJS (#112) -* No refactoring (#87) +* Spec compliance ([#132](https://github.com/nodejs/modules/issues/132)) +* Browser equivalence ([#133](https://github.com/nodejs/modules/issues/133)) +* Don’t break CommonJS ([#112](https://github.com/nodejs/modules/issues/112)) +* No refactoring ([#87](https://github.com/nodejs/modules/issues/87)) #### Browser Interop: -* Browser and Node compatibility without building (#107) -* Browser-compatible specifier resolution (#109) -* Browser-compatible builds for ESM and CommonJS (#108) +* Browser and Node compatibility without building ([#107](https://github.com/nodejs/modules/issues/107)) +* Browser-compatible specifier resolution ([#109](https://github.com/nodejs/modules/issues/109)) +* Browser-compatible builds for ESM and CommonJS ([#108](https://github.com/nodejs/modules/issues/108)) #### CommonJS Interop: -* Named exports when importing CJS (#81) -* Multi-mode packages (#94) -* Transparent interoperability for ESM importing CommonJS (#100) -* Consumer-agnostic imports (#105) -* Mixed module types within app/module; gradual migration from CommonJS to ESM (#99) -* ESM in .js files (#151) +* Named exports when importing CJS ([#81](https://github.com/nodejs/modules/issues/81)) +* Multi-mode packages ([#94](https://github.com/nodejs/modules/issues/94)) +* Transparent interoperability for ESM importing CommonJS ([#100](https://github.com/nodejs/modules/issues/100)) +* Consumer-agnostic imports ([#105](https://github.com/nodejs/modules/issues/105)) +* Mixed module types within app/module; gradual migration from CommonJS to ESM ([#99](https://github.com/nodejs/modules/issues/99)) +* ESM in .js files ([#151](https://github.com/nodejs/modules/issues/151)) ### Existing Node.js Utility Features: -* Importing non-JavaScript files (#115) -* NodeJS contextual pathing use cases (#121) -* ESM in executable files (#152) -* Callable resolver (#157) +* Importing non-JavaScript files ([#115](https://github.com/nodejs/modules/issues/115)) +* NodeJS contextual pathing use cases ([#121](https://github.com/nodejs/modules/issues/121)) +* ESM in executable files ([#152](https://github.com/nodejs/modules/issues/152)) +* Callable resolver ([#157](https://github.com/nodejs/modules/issues/157)) ### Loader Features -* Code coverage/instrumentation (#95) -* Pluggable Loaders to support multiple use cases (#82) -* Runtime loaders, transpilation at import time (#96) -* Arbitrary sources for module source text (#97) -* Mock modules (injection) (#98) -* Specifier resolution customization (#110) -* Package encapsulation (#111) -* Conditional imports (#113) +* Code coverage/instrumentation ([#95](https://github.com/nodejs/modules/issues/95)) +* Pluggable Loaders to support multiple use cases ([#82](https://github.com/nodejs/modules/issues/82)) +* Runtime loaders, transpilation at import time ([#96](https://github.com/nodejs/modules/issues/96)) +* Arbitrary sources for module source text ([#97](https://github.com/nodejs/modules/issues/97)) +* Mock modules (injection) ([#98](https://github.com/nodejs/modules/issues/98)) +* Specifier resolution customization ([#110](https://github.com/nodejs/modules/issues/110)) +* Package encapsulation ([#111](https://github.com/nodejs/modules/issues/111)) +* Conditional imports ([#113](https://github.com/nodejs/modules/issues/113)) ### WASM Features: -* WASM modules (#106) +* WASM modules (#[106](https://github.com/nodejs/modules/issues/106)) ### Developer and Tooling Features: -* File / path / URL resolving (#103) -* Import CommonJS without needing asynchronous syntax (#116) -* Tree shaking (#102) -* Polyfillability (#101) +* File / path / URL resolving (#[103](https://github.com/nodejs/modules/issues/103)) +* Import CommonJS without needing asynchronous syntax (#[116](https://github.com/nodejs/modules/issues/116)) +* Tree shaking (#[102](https://github.com/nodejs/modules/issues/102)) +* Polyfillability (#[101](https://github.com/nodejs/modules/issues/101)) Based on [these use cases](https://docs.google.com/document/d/10BBsIqdAXB9JR2KUzQGYbCiVugYBnxE4REBakX29yyo/edit) ([#55](https://github.com/nodejs/modules/issues/55)), our implementation aims to support the following features (subject to change): From e985f8fea6e2dc52de3b5c85c058e234b0695045 Mon Sep 17 00:00:00 2001 From: Guy Bedford Date: Wed, 18 Jul 2018 22:16:47 +0200 Subject: [PATCH 12/12] fixup --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 0e3a38a..cb04683 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Work includes: ## Features -Based on these use cases (#55), our implementation aims to support the following features (subject to change): +Based on [these use cases](https://docs.google.com/document/d/10BBsIqdAXB9JR2KUzQGYbCiVugYBnxE4REBakX29yyo/edit) ([#55](https://github.com/nodejs/modules/issues/55)), our implementation aims to support the following features (subject to change): ### Baseline Modules Implementation Features: * Spec compliance ([#132](https://github.com/nodejs/modules/issues/132)) @@ -65,8 +65,6 @@ Based on these use cases (#55), our implementation aims to support the following * Tree shaking (#[102](https://github.com/nodejs/modules/issues/102)) * Polyfillability (#[101](https://github.com/nodejs/modules/issues/101)) -Based on [these use cases](https://docs.google.com/document/d/10BBsIqdAXB9JR2KUzQGYbCiVugYBnxE4REBakX29yyo/edit) ([#55](https://github.com/nodejs/modules/issues/55)), our implementation aims to support the following features (subject to change): - ## Members