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

Commit

Permalink
doc: add notes for 2018-11-07
Browse files Browse the repository at this point in the history
  • Loading branch information
MylesBorins committed Nov 20, 2018
1 parent 814bb7b commit 7a8df46
Showing 1 changed file with 112 additions and 0 deletions.
112 changes: 112 additions & 0 deletions doc/meetings/2018-11-07.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
# Node.js Foundation Modules Team Meeting 2018-11-07

* **Recording**: https://www.youtube.com/watch?v=b8wLboT_A_0
* **GitHub Issue**: https://github.com/nodejs/modules/issues/217
* **Minutes Google Doc**: https://docs.google.com/document/d/1PdkHSzthrjBHx3OzUaEL5Vqa2L4WtAs8WdJl_L6HT6E/edit

## Present

- Matt DuLeone (@mduleone)
- Gus Caplan (@devsnek)
- Daniel Rosenwasser (@DanielRosenwasser)
- Wesley Wigham (@weswigham)
- Geoffrey Booth (@GeoffreyBooth)
- Myles Borins (@MylesBorins)
- Guy Bedford (@guybedford)
- Ujjwal Sharma (@ryzokuken)
- Michael Zasso (@targos)
- Jordan Harband (@ljharb)
- Jan Krems (@jkrems)
- Gil Tayar (@giltayar)

## Agenda

Extracted from **modules-agenda** labelled issues and pull requests from the **nodejs org** prior to the meeting.

### Approving PRs (12 minute timebox)

* Add @ryzokuken as Observer [#213](https://github.com/nodejs/modules/issues/213)
- 1 minute timbox
- No objections.
* @bmacnaughton requesting membership/observer [#211](https://github.com/nodejs/modules/issues/211)
- 1 minute timbox
- No objections.
* esm: refactor dynamic modules [#9](https://github.com/nodejs/ecmascript-modules/pull/9)
- 5 minute timebox
- Gus: Was able to avoid a double module wrap - no behavioral change, just an optimization.
- Awkward silence?
- Myles has dropped out of the call - Brad is the host now!
- Any objections?
- Nope.
- Action item: Gus, can you land this and upstream it?
* Add format distinction to phase 2 [#215](https://github.com/nodejs/modules/pull/215)
- 5 minute timebox
- Guy: at the moment we only have support for top-level execution of ES Modules and you can only import ES modules.
- Trying to provide a distinction for formats in which a module can be imported - want to move this into the phase 2 discussions.
- Action item: Guy can you land the PR and lead the discussions?

### Update on Progress (1 minute timebox)

* Surveys: Members formally taking ownership (leadership) is the next step [#209](https://github.com/nodejs/modules/issues/209)
- 1 minute timebox
- Saleh: As a group we must decide how we want to proceed with the survey.
- Must find a way to distribute work in the group for this.
- Jan: is there a list of things that still need to be done?
- Saleh: just simply need people to drive questions they want answered.

### Discussion (40 Minute Timebox)

* keeping ecmascript-modules up to date [#197](https://github.com/nodejs/modules/issues/197)
- 10 minute timebox
- Myles: this repository hasn't been actively rebased against `master`
- Silence
- Myles: as a suggestion, let's rebase and allow force rebases on the fork
- Guy: force rebase is kind of hard to review; can we do a 2-branch master for reviews?
- Jordan: ideally these things should be fast-forward rebased so that we can stay as close as possible to the original history.
- Action item: Ryzo will write up a proposal for the process in mind.
* Dynamic Modules Status [#188](https://github.com/nodejs/modules/issues/188)
- 10 minute timebox
- Guy: Gus originally wrote a PR to support importing from CJS
- It was blocked because in the spec it appeared that you need to know the named exports ahead of time.
- But CJS modules don't have statically analyzable imports; you need to run the module to know what's available.
- TC39 is open to allowing exports to be specified during the execution phase.
- Technical changes involve applying TDZ to uninitialized exports.
- Implementation seems to be going well in V8.
- Jordan: got the chance to raise it with TC39 editors group
- Gil: what were the changes in the spec that were needed?
- Guy: Two changes: (1) need to be able to throw during the instantiation phase (in the GetExportedNames function). (2) being able to track namespace records from dynamic modules
* esm resolver spec and implementation refinements [#12](https://github.com/nodejs/ecmascript-modules/pull/12)
- 15 minute timebox
- Guy: want a public resolver spec as a "source of truth" for ESM resolution
- Today
- Error messages aren't that great
- no context on which module caused the error
- no single quotes around the specifier
- doesn't tell you when you try to use an import like a `require()`
- Proposal: provide that information!
- Scoped package resolution:
- Gil: Seems like a potential problem that we'd now be parsing our paths.
- Package resolution keeps walking up the spine, doesn't tell you where you imported from
- Proposal: keep the first node_module path you hit for a deep import, then stop.
- Brad: when we looked through who was using it, we found exactly one hard dependency.
* Explicit package exports proposal (https://github.com/jkrems/proposal-pkg-exports)
- 5 minute timebox (if there is time)
- Jan
- Bare imports behavior is very, well, bare.
- People don't typically use extensions.
- Multiple independent APIs in a single package.
- First draft of a proposal.
- Declare what the public interface is via an `"exports"` field in `package.json`.

```json5
"exports": {
"": "./src/moment.mjs",
"/": "./src/util/",
"/timezones/": "./data/timezones/",
"/timezones/utc": "./data/timezones/utc/index.mjs"
}
```

- Brad: I would like to see how to deal with multiple "modes" (e.g. GraphQL).
- GraphQL introduced multiple modes and ended up eventually splitting into two different packages.

0 comments on commit 7a8df46

Please sign in to comment.