diff --git a/doc/meetings/2019-04-24.md b/doc/meetings/2019-04-24.md new file mode 100644 index 0000000..9ca1a99 --- /dev/null +++ b/doc/meetings/2019-04-24.md @@ -0,0 +1,74 @@ +# Node.js Foundation Modules Team Meeting 2019-04-24 + +* **Recording**: N/A due to technical problems 😭 +* **GitHub Issue**: https://github.com/nodejs/modules/issues/317 +* **Minutes Google Doc**: https://docs.google.com/document/d/12hKVk4C9PNkHHZoOQA6I2Y_oUlAPteDTnEIyyp9Odqc/edit + +## Present + +- Myles Borins (@MylesBorins) +- Wesley Wigham (@weswigham) +- Daniel Rosenwasser (@DanielRosenwasser) +- Jeremiah Senkpiel (@Fishrock123) +- Rob Palmer (@robpalme) +- Saleh Abdel Motaal (@SMotaal) +- Gus Caplan (@devsnek) +- Michael Zasso (@targos) +- Guy Bedford (@guybedford) +- Jan Krems (@jkrems) +- Jordan Harband (@ljharb) +- Hassan Sani (@inidaname) +- John-David (@jdalton) +- Geoffrey Booth (@GeoffreyBooth) + +## Agenda + +Extracted from **modules-agenda** labelled issues and pull requests from the **nodejs org** prior to the meeting. + +### Approve PR (5 Minutes) + +* Governance: "Pull Requests" post Phase 2 upstream [#311](https://github.com/nodejs/modules/pull/311) + - CONCLUSION: NO OBJECTIONS + +### Discussion (50 minutes) + +* Review Phase 3 [#316](https://github.com/nodejs/modules/issues/316) + - 10 minute timebox + - MB: Want to identify objections to break out into separate issues. + - Loader solution: no objections. Guy, Saleh, Gus volunteer as co-champions. Maybe form a group? + - Dual-mode packages: to be (two approaches) or not to be. Geoffrey, Jordan as co-champions. + - createRequire: + - MB: discovered `makeRequireFunction(".")`. Maybe make dot the default. + - JH: Maybe this is not necessary if we get dual-mode packages + - SM: Needs to be detectable in non-Node, e.g. prefer global over `import.meta` + - JS: If no dual-mode, this needs to be very simple. Current is not good enough. + - Champion: Myles +- import map equivalent + - JH: This is important. Want to have it for both CJS and ESM. Depends on outcome of dual-mode packages. + - WW: No reason for this to be format-specific. Agree with Jordan. + - GB: This is itself a dual-mode proposal, due to lack of full backporting. + - WW: Dual-mode to allow packages to work in old Node is not "dual mode" that we are talking about here. + - Champion: Jan Krems + - Participants: Saleh +- Auto-detection of entrypoints + - Champion: Geoffrey (if we even do this) + - Participants: Saleh + +* To Dual Mode or Not to Dual Mode + - 30 minute timebox + - Refs: + - Exports main [#41](https://github.com/nodejs/ecmascript-modules/pull/41) + - Proposal for dual ESM/CommonJS packages [#273](https://github.com/nodejs/modules/issues/273) + - Proposal for single-mode packages with optional fallbacks for older versions of node [#299](https://github.com/nodejs/modules/issues/299) + +- Jordan: Gist is that starting to use ESM as soon as it's unflagged is that it's a breaking change for all consumers and that they'll have to swap from `require` to `import`. That's pretty unnecessary and it can cause a fork in the ecosystem. + - At one time there was a hope that you could just `require` an ESM, there was an idea about extension resolution (cjs/mjs), there were lots of things here. + - Two singletons in graph. + - First thing we need to decide on is whether switching to ESM is the "right thing" or if we do want to improve the incremental migration story. +- Geoffrey: Talking about bare specifiers (when require/import "package") + - One question to allow bare specifier to be mapped to another + +* Proposal: Support loading package by own "name" [#306](https://github.com/nodejs/modules/issues/306) + - 5 minute timebox +* Moving forward with Dynamic Modules? [#252](https://github.com/nodejs/modules/issues/252) + - 5 minute timebox