From 497e611b75aed80966901946b85a30e5a2af1434 Mon Sep 17 00:00:00 2001 From: Myles Borins Date: Wed, 13 Feb 2019 01:15:26 -0800 Subject: [PATCH 1/2] doc: 2019-01-30 notes Refs: https://github.com/nodejs/modules/issues/258 --- doc/meetings/2019-01-30.md | 105 +++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 doc/meetings/2019-01-30.md diff --git a/doc/meetings/2019-01-30.md b/doc/meetings/2019-01-30.md new file mode 100644 index 0000000..6d019c6 --- /dev/null +++ b/doc/meetings/2019-01-30.md @@ -0,0 +1,105 @@ +# Node.js Foundation Modules Team Meeting 2019-01-30 + +* **Recording**: https://www.youtube.com/watch?v=a1YraH8GoHk +* **GitHub Issue**: https://github.com/nodejs/modules/issues/258 +* **Minutes Google Doc**: https://docs.google.com/document/d/1yx4k1syLuMU_98sa2ASu3mgXSJ4-9Lac8uWzqIlEoYc/edit + +## Present + +- Saleh Abdel Motaal (@smotaal) +- Myles Borins (@MylesBorins) +- Geoffrey Booth (@GeoffreyBooth) +- Matt DuLeone (@mduleone) +- Wesley Wigham (@weswigham) +- Jan Krems (@jkrems) +- Guy Bedford (@guybedford) +- Michael Zasso (@targos) +- John-David Dalton (@jdalton) +- Gus Caplan (@devsnek) +- Hassan Sani (@inidaname) +- Daniel Rosenwasser (@DanielRosenwasser) +- Ahmad Abdul-Aziz (@devamaz) + +## Agenda + +Extracted from **modules-agenda** labelled issues and pull requests from the **nodejs org** prior to the meeting. + +### Announcements + +* --eval, STDIN, and extensionless files [#251](https://github.com/nodejs/modules/pull/251) + +Please express interest in the thread + +### Discussion + +* Slack channel [#249](https://github.com/nodejs/modules/pull/249) + - 5 minute timebox +* Dynamic Modules Development in Node.js [#24894](https://github.com/nodejs/node/issues/24894) + - 15 minute timebox + - Guy: briefly went through the change + - Was some resistance from Till + - Some concern about whether dynamic modules loosen certain invariants + - Have been promises from TC39 over the years that these issues would be worked on, but there's not necessarily any implementation feedback except that there could potentially be a spec exception to "here's how this is allowed to work" + - Brad + - Domenic Denicola and AWB were not able to attend, so they weren't present to object, but they have raised concerns over GitHub. + - The "forbids" clause over other implementations seems like it could alleviate certain concerns. + - AWB is concerned around existing invariants, Domenic wants to have a separate web standard and a specific behavior for Node. + - Myles: This probably won't happen today. It probably won't happen quickly if it does. + It feels like it may not happen. + - JDD: I have a sunnier disposition. Sounds like there might be a path here. + - Daniel: Same. Really sounded like Till's concern was about browsers taking on the "exceptional' behavior. + - Brad: Ben Newman from Meteor sounded like the current design was incomplete. + - Myles: May need to come up with a come up with something by the March meeting + - Saleh: need to have a parallel approach that can defer to a JS polyfill. + - Myles: I don't think the concern is implementation, just about consensus and staying conformant with the spec + - Guy: Node doesn't generally add its own functionality to V8, and keeping any sort of implementation synced with V8 might be a pain. + - Jeff: Can't have interop without planning for it. + - Brad: Saying "no ESM interop" could keep things open and work towards it, and use a loader otherwise. + - JDD: What's the future look like if it doesn't happen? + - Myles: fill this in + - Jordan: Trying to lock down a design in the next 2 months out of a sense of urgency is probably not the right way to go about this. +* Minimum to release? [#253](https://github.com/nodejs/modules/issues/253) + - 15 minute timebox + - Myles: Cut Node 12 in April - any semantically versioned changes need to go in by mid-March + - the only thing that would need to go in is the new "package fields" proposals + - but the longer it sits and stuff touches it, the harder it is to modify/remove + - Myles: We need to ship something. We have decision paralysis. + - Joke - we wanted to avoid a Python 2/Python 3 decision, but in the time it took to decide all this, Python has fixed their ecosystem + - Provide named exports in April if we can; if not, don't provide transparent interop. + - Figuring out file extensions and IRP proposals seem like they could be done, but must be done. + - Saleh: shouldn't take away experimental features that would otherwise be useful due to issues around risk + - JDD: We give people explicit warranties not to use experimental stuff! + - Jordan: people have to learn their lesson with breaking changes - they shouldn't be relied on. + - Guy: Having the capability with an experimental loader hook, you'd be able to generally address the broader concerns including interop. + - Myles: things we need to tackle + - \[\[Fill this in]] + - file specifier resolution + - Missing features + - loaders & VM + - If we copied over the minimal kernel as it exists today, we'd lose functionality for putting ES modules in VM. Is that a blocker? + - Gus: they're a separate feature, it should be fine to merge in both + - Jans: At least from what I remember, the VM module leaked a lot of information about how modules work. Keeping the VM module in the minimal kernel would actually restrict our design space. + - Jeff: adding a list to the required features, there's things like entry points. + - Myles: Realms are probably coming eventually - the truly perfect solution to VM modules would be realms. + - Brad: Realms don't let you create new modules. The APIs are *very* different as well. + - Myles: but can the same things achievable in Realms? + - Brad: largely, yes + - Myles: so what if we ship vm as deprecated the same way domains are? Would that be fine? + - Jans: it's always a known unknown. + - Myles: can you work on this between now and when we want to ship? + - Jans: sure + - Myles: can we just flag vm module support? seems like it's not blocking + - Action item: Myles to come up with a list of blocking and non-blocking issues + - Saleh: could imagine an experimental module loader that tries to achieve the same things as vm. + +* WIP \[Do not merge\] - Irp type modules [#29](https://github.com/nodejs/ecmascript-modules/pull/28) + - 15 minute timebox + - Refs: + - Mode: esm proposal [#247](https://github.com/nodejs/modules/issues/247) + + + +* Import file specifier proposal implementation [#256](https://github.com/nodejs/modules/issues/256) + - 5 minute timebox + +Can land if we have consensus by next wednesday From f80f8defd8d6ca805d32407b1e7c7b072f60b248 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Wed, 13 Feb 2019 13:33:44 -0800 Subject: [PATCH 2/2] Update doc/meetings/2019-01-30.md Co-Authored-By: MylesBorins --- doc/meetings/2019-01-30.md | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/meetings/2019-01-30.md b/doc/meetings/2019-01-30.md index 6d019c6..fea7348 100644 --- a/doc/meetings/2019-01-30.md +++ b/doc/meetings/2019-01-30.md @@ -19,6 +19,7 @@ - Hassan Sani (@inidaname) - Daniel Rosenwasser (@DanielRosenwasser) - Ahmad Abdul-Aziz (@devamaz) +- Jordan Harband (@ljharb) ## Agenda