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

Commit 0e15269

Browse files
authored
doc: add missing meeting notes (#560)
Closes: #532 Closes: #543 Closes: #548 Closes: #552
1 parent 5670164 commit 0e15269

File tree

4 files changed

+238
-0
lines changed

4 files changed

+238
-0
lines changed

doc/meetings/2020-07-15.md

+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Node.js Modules Team Meeting 2020-07-15
2+
3+
## Links
4+
5+
* **Recording**: http://www.youtube.com/watch?v=LOHDJGs_FNs
6+
* **GitHub Issue**: https://github.com/nodejs/modules/issues/532
7+
* **Minutes Google Doc**: https://docs.google.com/document/d/1iEMdSLFXIpEwtAzogOOcGQZgS87fZDerdRVnCSldjUM/edit
8+
9+
## Present
10+
11+
* Myles Borins (@MylesBorins)
12+
* Guy Bedford (@guybedford)
13+
* Wesley Wigham (@weswigham)
14+
* Darcy Clarke (@darcyclarke)
15+
* Bruce MacNaughton (@bmacnaughton)
16+
* Julian Londono (@julian-londono)
17+
* Jordan Harband (@ljharb)
18+
19+
## Agenda
20+
21+
## Announcements
22+
23+
*Extracted from **modules-agenda** labelled issues and pull requests from the **nodejs org** prior to the meeting.
24+
25+
### nodejs/node
26+
27+
* esm: Modify getFormat and getSource loader hooks [#34144](https://github.com/nodejs/node/pull/34144)
28+
29+
Crux of the issue, example: an https loader having to make a request in `getFormat` to get the resource format, then again in `getSource` to get the resource
30+
Having state throughout the 4 loader hooks may be able to solve this
31+
Pushing a tricky GC issue to loader hooks that may not be able to rely on getSource always being called after getFormat (especially once chaining exists).
32+
PR should delve more into edge cases and document exploration further, covering possible alternatives.
33+
Make sure PR works with Gus’s compositional loader PR [#33812](https://github.com/nodejs/node/pull/33812)
34+
35+
36+
* Special treatment for package.json resolution and exports? [#33460](https://github.com/nodejs/node/issues/33460)
37+
- Refs:
38+
- add API for "package dir" [#516](https://github.com/nodejs/modules/issues/516)
39+
- up for debate on the placement (ex. `module`, `require`, `import.meta`)
40+
- proposed interface/method name: `resolvePackageRoot`
41+
- ex. usage, `.resolvePackageRoot(import.meta.url)` & `.resolvePackageRoot(process.cwd())`, `.resolvePackageRoot(__dirname)` (?)
42+
43+
* module: CJS exports detection [#33416](https://github.com/nodejs/node/pull/33416)
44+
PR has been updated to use a flag. Should we let the PR work stall at this point? - no active interest in pursuing any escalation for the block.
45+
- Concerns raised based on heuristic not being fully accurate.
46+
- Discussed alternatives briefly.
47+
- Suggestion to use a loader to provide the feature to users for further feedback.
48+
- Snapshotting of CJS modules does not support loader interception - agreement that a PR to disable snapshotting and allow CJS mutation to allow a loader would be preferable to not being able to support CJS named exports.
49+
- Discussion to open meta issue related to group handling of these types of consensus issues.

doc/meetings/2020-08-12.md

+83
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# Node.js Modules Team Meeting 2020-08-12
2+
3+
## Links
4+
5+
* **Recording**: http://www.youtube.com/watch?v=PDFFQnbFEcM
6+
* **GitHub Issue**: https://github.com/nodejs/modules/issues/543
7+
* **Minutes Google Doc**: https://docs.google.com/document/d/1zjqjv8G9fDnpGG01yBS39-tRRZPQ5E8N5aset38FKKk/edit
8+
9+
## Present
10+
11+
* Myles Borins (@MylesBorins)
12+
* Bradley Farias (@bmeck)
13+
* Guy Bedford (@guybedford)
14+
* Doron Tsur (@qballer)
15+
* Julian Londono (@julian-londono)
16+
* Jordan Harband (@ljharb)
17+
* Jan Krems (@jkrems)
18+
19+
## Agenda
20+
21+
## Announcements
22+
23+
*Extracted from **modules-agenda** labelled issues and pull requests from the **nodejs org** prior to the meeting.
24+
25+
We unflagged Top-Level Await in Node.js 14.8.0. There is an open pull-request to unflag Top-Level Await in the REPL, but it needs to be reviewed on it’s own merit as it uses a completely different implementation from TLA in ESM. There is also an open discussion about support static import in the REPL, as it could share similar infrastructure to TLA.
26+
27+
### nodejs/node
28+
29+
* Policy conditions [#34414](https://github.com/nodejs/node/pull/34414)
30+
31+
32+
33+
* Special treatment for package.json resolution and exports? [#33460](https://github.com/nodejs/node/issues/33460)
34+
35+
JHB: lots of tools need access to package.json, with "exports" there is no reliable way to get it in every situation. 3 paths forward:
36+
1. do nothing, packages must explicitly expose package.json
37+
2. automatically/implicitly expose package.json
38+
3. Add API to resolve a package root
39+
40+
No PR yet, but it seems like 3 is a likely route (module.getPackageRoot()?). Seems sufficient to have the ecosystem to use that without relying on require/import.
41+
42+
MBS: We don't have a way of loading JSON in ESM right now. It is being worked on/standardized. I could see value in some API that loads the meta-data without all the boilerplate. This is separate from when "exports" cannot resolve a thing. I recognize people are used to having the ability to load `package.json` without opting into anything. Perhaps a opt-out via setting it to "undefined" in the JSON would work. Tools that need to get what is / is not exposed package.json is the static source of what is /is not available and they have to do this.
43+
44+
JKS: If we state that tools can use X to get the package.json, it would be surprising if there is a way to opt out. It would be surprising if you were allowed to opt-out.
45+
46+
MBS: A lot of these tools are expecting more than just package.json at the root and are relying on our loaders to get them. It can be a slippery slope for all the assets.
47+
48+
BFS: the semantics of any API are complex / the data may not exist
49+
50+
JKS: concern is around publishing a popular package, which then opts-out and then breaks the npm ecosystem.
51+
52+
BFS: yes, we saw this with is-promise, but the breakage was due to implicit not explicit choice to prevent access to package.json
53+
54+
JKS: Making an API to get the package root is useful one way or another. The only way for a coffeescript loader to determine the type of the package is that the loader needs to replicate behavior or make a fake filename and call the hook. Such an API would allow a loader to reuse a lot of the builtin machinery to do these tasks.
55+
56+
JHB: Will proceed making PR for API.
57+
58+
* module: CJS exports detection [#33416](https://github.com/nodejs/node/pull/33416)
59+
60+
GBD: Geoffrey did analysis/numbers based upon specific success criteria based upon name exports intent from readmes. The block on the PR landing is from Gus on criteria must be for exact output rather than the analysis. Unclear if we can get consensus on this. Suggestion to only have criteria to detect transpiled modules to get 90+% case needed. Are we still defining the criteria about what users expect / esModules check. 81% for esModule currently 90+% for readme.
61+
MBS: Geoffreys last comment for esModule > 99% success rate for esModule compared to docs. Accuracy seems to be an acceptable level. Any small work we can do to improve this would be good.
62+
63+
GBD: *lack of clarity on if it is 99% or 81% accuracy*. If it is in the readme 99% accurate.
64+
65+
MBS: maybe we can ignore all modules lacking esModule.
66+
67+
JKS: numbers may be biased for a high percentage rather than package author expectation.
68+
69+
### nodejs/modules
70+
71+
* Subpath extension patterns and wildcard expansions [#535](https://github.com/nodejs/modules/issues/535)
72+
73+
MBS: maybe we should look at stuff, dynamism is concerning. Perhaps things like an extension map in the package JSON as a separate feature.
74+
75+
JHB: prioritized static in loading, we should re-evaluate usability vs static.
76+
77+
* import assertions RFC [#427](https://github.com/nodejs/modules/issues/427)
78+
79+
* Import Maps and Node.js [#544](https://github.com/nodejs/modules/issues/544)
80+
81+
* Removing `getFormat` hook [#34114](https://github.com/nodejs/node/pull/34144/#issuecomment-666716738)
82+
83+
Issue for this created [here](https://github.com/nodejs/node/issues/34753)

doc/meetings/2020-08-26.md

+64
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
2+
# Node.js Modules Team Meeting 2020-08-26
3+
4+
## Links
5+
6+
* **Recording**: http://www.youtube.com/watch?v=9PU3XLIlzw0
7+
* **GitHub Issue**: https://github.com/nodejs/modules/issues/548
8+
* **Minutes Google Doc**: https://docs.google.com/document/d/1h-lxJGyzmBAKhiweg3hesXZ1j5PLcGFEQPZJl4rpkKc/
9+
10+
## Present
11+
12+
* Myles Borins (@Myles Borins)
13+
* Christopher Hiller (@boneskull)
14+
* Doron Tsur (@qballer)
15+
* Wesley Wigham (@weswigham)
16+
* Guy Bedford (@guybedford)
17+
* Jordan Harband (@ljharb)
18+
19+
## Agenda
20+
21+
## Announcements
22+
23+
* Discussion about proxyquire
24+
25+
- Christopher:
26+
- Module level mocking in tests is an issue with ESM
27+
- With common.js and requires and the cache you can do this fairly easily
28+
- There are various modules you can use such a proxyquire
29+
- It is nice to be able to just mock a module
30+
- ESM makes this difficult
31+
- I’ve seen some loader implementations out there that allow you to do this sort of thing, although I haven’t been able to play with them to figure out how sufficient they are.
32+
- One challenge, the requirement of using the loader flag at all. We don’t necessarily know if / when we are going to start mocking things. As it’s implemented right now you can only have one loader. If you want to use a loader for something like typescript you are in a tough position
33+
- Even with chaining loaders it puts a lot of responsibility on the user / test runner to manage this such as spawning a subprocess for every test even if the loader isn’t being used. Not very ergonomic
34+
35+
### nodejs/node
36+
37+
* esm: Modify ESM Experimental Loader Hooks [#34753](https://github.com/nodejs/node/issues/34753)
38+
39+
Skipped
40+
41+
* Special treatment for package.json resolution and exports? [#33460](https://github.com/nodejs/node/issues/33460)
42+
43+
Tabled for now will come back if we have time
44+
45+
* module: CJS exports detection [#33416](https://github.com/nodejs/node/pull/33416)
46+
47+
48+
49+
### nodejs/modules
50+
51+
* Import Maps and Node.js [#544](https://github.com/nodejs/modules/issues/544)
52+
53+
54+
55+
* Add Doron Tsur as observer [#542](https://github.com/nodejs/modules/pull/542)
56+
57+
Done added
58+
59+
* Subpath extension patterns and wildcard expansions [#535](https://github.com/nodejs/modules/issues/535)
60+
61+
* import assertions RFC [#427](https://github.com/nodejs/modules/issues/427)
62+
63+
64+

doc/meetings/2020-09-09.md

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Node.js Modules Team Meeting 2020-09-09
2+
3+
## Links
4+
5+
* **Recording**: http://www.youtube.com/watch?v=hh76jaYtrTE
6+
* **GitHub Issue**: https://github.com/nodejs/modules/issues/552
7+
* **Minutes Google Doc**: https://docs.google.com/document/d/1EgBV_oRONelVM4nLWuzWJJEyDUqmqFF5FR0OwpqCKQU/
8+
9+
## Present
10+
11+
* Modules team: @nodejs/modules
12+
* Geoffrey Booth (@GeoffreyBooth)
13+
* Myles Borins (@MylesBorins)
14+
* Doron Tsur (@qballer)
15+
* Guy Bedford (@guybedford)
16+
* Jordan Harband (@ljharb)
17+
* Bradley Farias (@bmeck)
18+
19+
## Agenda
20+
21+
## Announcements
22+
23+
*Extracted from **modules-agenda** labelled issues and pull requests from the **nodejs org** prior to the meeting.
24+
25+
### nodejs/node
26+
27+
* module: exports patterns [#34718](https://github.com/nodejs/node/pull/34718)
28+
29+
- Is the complexity worth it? Maybe!
30+
31+
* Special treatment for package.json resolution and exports? [#33460](https://github.com/nodejs/node/issues/33460)
32+
33+
* module: CJS exports detection [#33416](https://github.com/nodejs/node/pull/33416)
34+
35+
* esm: Modify ESM Experimental Loader Hooks [#34753](https://github.com/nodejs/node/issues/34753)
36+
37+
### nodejs/modules
38+
39+
* Enabling import meta resolve by default? [#550](https://github.com/nodejs/modules/issues/550)
40+
* import assertions RFC [#427](https://github.com/nodejs/modules/issues/427)
41+
* Mocking use cases [#549](https://github.com/nodejs/modules/issues/549)
42+
* hot reload modules w/ es6 modules [#459](https://github.com/nodejs/modules/issues/459)

0 commit comments

Comments
 (0)