Skip to content
This repository has been archived by the owner on Sep 2, 2023. It is now read-only.

doc: 2019-04-24 notes #321

Merged
merged 1 commit into from
May 8, 2019
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 74 additions & 0 deletions doc/meetings/2019-04-24.md
Original file line number Diff line number Diff line change
@@ -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