From 888cb3eec4a89a15f671d4034abb3b60e0a505a3 Mon Sep 17 00:00:00 2001 From: Josh Gavant Date: Wed, 8 Feb 2017 12:53:48 -0800 Subject: [PATCH] docs: CTC meeting minutes 2017-02-08 PR-URL: https://github.com/nodejs/CTC/pull/69 Reviewed-By: Rich Trott Reviewed-By: Ben Noordhuis Reviewed-By: Sakthipriyan Vairamani --- meetings/2017-02-08.md | 213 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 213 insertions(+) create mode 100644 meetings/2017-02-08.md diff --git a/meetings/2017-02-08.md b/meetings/2017-02-08.md new file mode 100644 index 0000000..dbd0c42 --- /dev/null +++ b/meetings/2017-02-08.md @@ -0,0 +1,213 @@ +# Node Foundation CTC Meeting 2017-02-08 + +## Links + +* **Audio Recording**: +* **GitHub Issue**: [CTC#68](https://github.com/nodejs/CTC/issues/68) +* **Minutes Google Doc**: + +* _Previous Minutes Google Doc: + _ +## Present + +* Сковорода Никита Андреевич @ChALkeR (CTC) +* Evan Lucas @evanlucas (CTC) +* Franziska Hinkelmann @fhinkel (observer/Google) +* Jeremiah Senkpiel @Fishrock123 (CTC) +* Josh Gavant @joshgav (observer/Microsoft) +* Brian White @mscdex (CTC) +* Myles Borins @MylesBorins (CTC) +* Ali Ijaz Sheikh @ofrobots (CTC) +* Rod Vagg @rvagg (CTC) +* Sakthipriyan Vairamani @thefourtheye (CTC) +* Rich Trott @Trott (CTC) + +## Standup + +* Сковорода Никита Андреевич @ChALkeR (CTC) + * Not much, some comments. +* Evan Lucas @evanlucas (CTC) + * Worked on a few PRs + * General issue/PR review. +* Franziska Hinkelmann @fhinkel (observer/Google) + * Fixed vm module related issue (#10223). + * Mentored Outreachy student on vm module fixes. +* Jeremiah Senkpiel @Fishrock123 (CTC) + * working through my issues backlog + * es modules +* Josh Gavant @joshgav (observer/Microsoft) + * diagnostics PRs and issues +* Michael Dawson @mhdawson (CTC) + * Worked to get nightly release jobs for smart os working again, + needed due to v8 upgrade in master as we needed to run on new + Builder. + * Added CI testing for node-report + * Set up CI job shells for team working on ABI stable module API + * Continued testing of updates to “make coverage” for + runs in the ci + * Ongoing work with team working on ABI stable module API + * scheduled/moderated benchmarking meeting on intel benchmark + * General issue review/comment/land +* Brian White @mscdex (CTC) + * Reviewing PRs, commenting on issues +* Myles Borins @MylesBorins (CTC) + * Talking with everyone about Modules + * ABI Smoking V8 5.5 + * Update v4 RC to include custom certs + * Worked with Mentee on node serial related stuff +* Ali Ijaz Sheikh @ofrobots (CTC) + * Not much to report this week. +* Rod Vagg @rvagg (CTC) + * Moved ARM cluster, set up temporary connection for release nodes, preparing + to bring the rest back online tomorrow. +* Sakthipriyan Vairamani @thefourtheye (CTC) + * code review + * backporting +* Trevor Norris @trevnorris (CTC) + * RV: New baby, taking some time off +* Rich Trott @Trott (CTC) + * Standard boilerplate stuff: PRs, issues, reviewing, CI infra gardening, etc. + * Oh, yeah, I too have been working with an Outreachy mentee +* James M Snell @jasnell (CTC) + * More HTTP/2 + * PR triage/landing + * License issue + +## Agenda + +* Updating the Copyright [TSC#174](https://github.com/nodejs/TSC/issues/174) +* ES Modules: Module Loader + [node-eps#39](https://github.com/nodejs/node-eps/pull/39) + + +## Previous Meeting Review + +* ES Modules: Module Loader + [node-eps#39](https://github.com/nodejs/node-eps/pull/39) + * Vote next week on async vs sync loader. +* assert: enforce type check in deepStrictEqual + [node#10282](https://github.com/nodejs/node/pull/10282) + * @Trott to draft proposal based on this discussion as PR + [node#11200](https://github.com/nodejs/node/issues/11200) +* deps: Add node-inspect [node#10187](https://github.com/nodejs/node/pull/10187) +* lib: be robust when process global is clobbered + [node#10135](https://github.com/nodejs/node/pull/10135) +* http: support environment-defined proxy + [node#8381](https://github.com/nodejs/node/issues/8381) + +--- + +## Minutes + +### Updating the Copyright [TSC#174](https://github.com/nodejs/TSC/issues/174) + +Discussed in Legal Committee meeting this week which James attended. + +Board will review in next meeting (Feb 13). Will first review reversion to +original headers, then the update James proposed with more concise language. + +First PR [node#10155](https://github.com/nodejs/node/issues/10155) is ready to +land. +Second PR [node#10599](https://github.com/nodejs/node/pull/10599) needs some +updates: 1) add general linting rule to check for valid headers; 2) add docs +about how to add correct headers for the future. + +@MylesBorins: Some files are licensed with WTFPL in npm and eslint. + +@rvagg: See also +https://github.com/nodejs/node/blob/master/tools/license-builder.sh. + +James will audit all files and take needed action. + +**Next steps:** + +* James to continue work on + [node#10599](https://github.com/nodejs/node/pull/10599). +* Keep on agenda for next week to review Board’s action. + +--- + +### ES Modules: Module Loader [node-eps#39](https://github.com/nodejs/node-eps/pull/39) + +Async or sync for `require()`? Support mixed ES and CJS trees in `require()`? + +@MylesBorins has talked with many in Google and other stakeholders, sentiment is +that some compromise must be made, and best to keep difference between Node.js +and browsers as small as possible. So `import` keyword should be asynchronous. + +In V8 loader, path resolution of modules is asynchronous, but evaluation of +modules is deterministic and same as synchronous `require()`. + +Could still have a synchronous loader through another function, e.g. some +evolution of `require(...)`. + +@jasnell: Cannot synchronously `require(‘esm’)`, and probably cannot +asynchronously `import cjs`. + +@mylesborins: `import` keyword must be top of file, `import()` function can be +used later. `import()` function can be treated as synchronous by `await +import()`. + +@Fishrock123: still problematic for deps tree that includes ES and CJS modules +[Editor: because of Temporal Dead Zone]. + +@jasnell: and even more complex if there are circular deps. + +@jasnell: Easiest thing to do is use asynchronous `import/import()` for ES and +synchronous `require` for CJS. + +Next step should be to begin implementation and adjust if needed. + +@Fishrock123: If we want a sync loader we need a second type of ModuleRecord (in +ECMA-262) to avoid the Temporal Dead Zone between parse and eval time for ES +modules. + +@rvagg: We need to guard Node’s interests even if they’re not the same as +browsers. But in this case not necessarily in Node’s interest to go sync. + +@mylesborins: Many JS developers work in both browser and non-browser +environments, and compatibility between them is one of the reasons for the +success of Node. + +@evanlucas: you can’t exactly jump between them now, e.g. `fs` is only in Node. + +@jasnell: We try to differ only when we have to, like `fs`. If it’s reasonable +to match browsers with an async loader we should do that. + +Those who have opinions on CTC and @bmeck are leaning toward async. + +Begin implementation and learn and adjust as needed. Begin with async since if +successful it brings us closer to browsers; if unsuccessful fall back to the +easier path with a sync loader. + +@mylesborins suggested a meeting with CTC and TC39 in May: +[CTC#67](https://github.com/nodejs/CTC/issues/67). + +@Trott will open [an issue][node#11233] specifically to track implementation of an async +module loader and keep that on ctc-agenda. + +[node#11233]: https://github.com/nodejs/node/issues/11233 + +**Next steps:** + +* Begin implementation of an async loader and learn and adjust as needed. +* @Trott will open an issue to track. + +--- + +## Q&A, Other + +@jasnell will cut 8.x branch in second week of March, so any semver-majors +should be landed by early March. + +@jasnell opened a new PR to add actual deprecation codes. + +--- + +## Upcoming Meetings + +Node.js Foundation Calendar: +https://calendar.google.com/calendar/embed?src=kap.co_i17i575te0aes6kaanfjr2e4hs%40group.calendar.google.com + +* CTC: 2017-02-15, 1600 UTC (Wednesday 0800 US Pacific) +* TSC: 2017-02-09, 2000 UTC (Thursday 1200 US Pacific)