This repository has been archived by the owner on Nov 9, 2017. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 27
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: CTC meeting minutes 2017-02-01
PR-URL: #66 Reviewed-By: Rich Trott <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: Evan Lucas <[email protected]>
- Loading branch information
Showing
1 changed file
with
262 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,262 @@ | ||
# Node Foundation CTC Meeting 2017-02-01 | ||
|
||
## Links | ||
|
||
* **Audio Recording**: <https://www.youtube.com/watch?v=8RIHCe3sFLU> | ||
* **GitHub Issue**: [CTC#65](https://github.com/nodejs/CTC/issues/65) | ||
* **Minutes Google Doc**: | ||
<https://docs.google.com/document/d/1AQWL7iqMtnlhE3ylrc1d55lxVrisl-pjKKwIqP1al10> | ||
* _Previous Minutes Google Doc: | ||
<https://docs.google.com/document/d/15CWMkzOEeXEGqqt6S7j9cTk787azjMX2sozAdYEXm0g>_ | ||
## Present | ||
|
||
* Anna Henningsen @addaleax (CTC) | ||
* Bradley Meck @bmeck (observer/GoDaddy/TC39) | ||
* Evan Lucas @evanlucas (CTC) | ||
* Jeremiah Senkpiel @Fishrock123 (CTC) | ||
* James M Snell @jasnell (CTC) | ||
* Josh Gavant @joshgav (observer/Microsoft) | ||
* Michael Dawson @mhdawson (CTC) | ||
* Myles Borins @MylesBorins (CTC) | ||
* Ali Ijaz Sheikh @ofrobots (CTC) | ||
* Jenn Turner @renrutnnej (observer/Node.js Foundation) | ||
* Rod Vagg @rvagg (CTC) | ||
* Michaël Zasso @targos (CTC) | ||
* Sakthipriyan Vairamani @thefourtheye (CTC) | ||
* Rich Trott @Trott (CTC) | ||
* Brian White @mscdex (CTC) | ||
|
||
## Standup | ||
|
||
* Anna Henningsen @addaleax (CTC) | ||
* TC39 last week | ||
* Onboarded @abouthiroppy | ||
* Issue & PR review | ||
* Bradley Meck @bmeck (observer/GoDaddy/TC39) | ||
* TC39 | ||
* Evan Lucas @evanlucas (CTC) | ||
* Cut v7.5.0 release | ||
* Submitted PR for guide on backporting PRs | ||
* Jeremiah Senkpiel @Fishrock123 (CTC) | ||
* ES Modules Call with people with experience teaching programming to new | ||
learners | ||
* Misc stuff in my backlog | ||
* James M Snell @jasnell (CTC) | ||
* Some progress on HTTP2 | ||
* Some PRs landed incl. deprecation policy | ||
* Josh Gavant @joshgav (observer/Microsoft) | ||
* bit of diagnostic stuff | ||
* Michael Dawson @mhdawson (CTC) | ||
* updates to smartos build test job to allow new V8 to land | ||
* updates to benchmarking chart gen (dropping 0.12.x + misc) | ||
* reviewing/testing make coverage in ci. | ||
* setting up special benchmarking meetings this week | ||
* ongoing work with team working on ABI stable module API | ||
* general review/comments/lands | ||
* Brian White @mscdex (CTC) | ||
* Reviewing PRs, commenting on issues | ||
* Myles Borins @MylesBorins (CTC) | ||
* Security release for v4 and v6 | ||
* Getting up to speed with new gig | ||
* Review of PRs / Issues | ||
* CITGM minor release | ||
* TC39 last week | ||
* Ali Ijaz Sheikh @ofrobots (CTC) | ||
* Mostly internal stuff. | ||
* Some work on the V8 lkgr + node integration build. | ||
* Jenn Turner @renrutnnej (observer/Node.js Foundation) | ||
* Observing | ||
* Michaël Zasso @targos (CTC) | ||
* PR and issue review | ||
* Open PR to backport V8 5.5 in v7.x | ||
* Rich Trott @Trott (CTC) | ||
* Usual bunch of small things (fix a flaky test here, review a PR | ||
there), hey, we have a full agenda, let’s just get right to it. | ||
|
||
## Agenda | ||
|
||
### ctc-review | ||
|
||
* Updating the Copyright [TSC#174](https://github.com/nodejs/TSC/issues/174) | ||
* [WIP] meta: update copyright statements | ||
[node#10599](https://github.com/nodejs/node/pull/10599) | ||
* [WIP] Restore copyright attribution | ||
[node#10155](https://github.com/nodejs/node/pull/10155) | ||
* meta: deprecation policy [node#7964](https://github.com/nodejs/node/pull/7964) | ||
* lib: deprecate node --debug at runtime | ||
[node#10970](https://github.com/nodejs/node/pull/10970) | ||
* fs: runtime deprecation for fs.SyncWriteStream | ||
[node#10467](https://github.com/nodejs/node/pull/10467) | ||
* tty: remove NODE_TTY_UNSAFE_ASYNC | ||
[node#10393](https://github.com/nodejs/node/pull/10393) | ||
|
||
### ctc-agenda | ||
|
||
* Rewrite 002 - esm [node-eps#39](https://github.com/nodejs/node-eps/pull/39) | ||
* assert: enforce type check in deepStrictEqual | ||
[node#10282](https://github.com/nodejs/node/pull/10282) | ||
* 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) | ||
|
||
|
||
## Previous Meeting Review | ||
|
||
* Updating the Copyright [TSC#174](https://github.com/nodejs/TSC/issues/174) | ||
* [WIP] Restore copyright attribution | ||
[node#10155](https://github.com/nodejs/node/pull/10155) | ||
* [WIP] meta: update copyright statements | ||
[node#10599](https://github.com/nodejs/node/pull/10599) | ||
* lib: be robust when process global is clobbered | ||
[node#10135](https://github.com/nodejs/node/pull/10135) | ||
* process: Add code to warnings, assign codes to deprecations | ||
[node#10116](https://github.com/nodejs/node/pull/10116) | ||
* meta: deprecation policy [node#7964](https://github.com/nodejs/node/pull/7964) | ||
* assert: enforce type check in deepStrictEqual | ||
[node#10282](https://github.com/nodejs/node/pull/10282) | ||
* http: support environment-defined proxy | ||
[node#8381](https://github.com/nodejs/node/issues/8381) | ||
* deps: Add node-inspect [node#10187](https://github.com/nodejs/node/pull/10187) | ||
* Rewrite 002 - esm [node-eps#39](https://github.com/nodejs/node-eps/pull/39) | ||
|
||
--- | ||
|
||
## Minutes | ||
|
||
### ES Modules [node-eps#39](https://github.com/nodejs/node-eps/pull/39) | ||
|
||
See | ||
<https://docs.google.com/presentation/d/1xZILfv5WeUBKyQ9s1w8zArNgzTMGRFQXyRseSskjcjw> | ||
|
||
Does Node.js want to ship a synchronous or asynchronous module loader? That is, | ||
should `require` return a Promise or an Object, i.e. a module namespace object? | ||
|
||
Temporal Dead Zone when returning module namespace object for an ES module; when | ||
returning a Promise a TDZ exists but is past by the time the Promise is | ||
fulfilled. But this isn’t how Babel does it. | ||
|
||
@bmeck looking for specific direction from CTC, asked for vote. | ||
|
||
@jasnell: should be a clear separation between require/CJS and import/ESM, | ||
perhaps support async for import but not require. | ||
|
||
@mylesborins: modules written for web will expect an async loader, and would be | ||
best for Node.js to match browser behavior as much as possible. | ||
|
||
@bmeck: browsers will move more and more to async loading. | ||
|
||
@addaleax: having an async loader matches expected behavior in other places, | ||
like top-level `await`. | ||
|
||
@bmeck: synchronous loader and top-level `await` are mutually exclusive, can’t | ||
do both. | ||
|
||
@ofrobots: if we go async in Node we will disturb ecosystem which expects all to | ||
be sync. Yet if we go sync we will lose compat with browsers and web. | ||
|
||
@bmeck: browsers don’t have the option to ship an async loader. | ||
|
||
@addaleax: an async loader wouldn’t effect CJS modules so concerns can be | ||
addressed as authors move to ES modules. So wouldn’t be so disruptive. | ||
|
||
@Fishrock123: Getting opinions from trainers of new users if this will make | ||
learning curve steeper. Would be best if `require` is only sync. Async loader | ||
could handle circular deps better, so that’s good. | ||
|
||
Suggest using require for CJS and import for ES. | ||
|
||
@Trott: We're voting on an EP not landing an implementation, which means that we | ||
can change course later if necessary. | ||
|
||
Are we debating changing `require` or just `import`? | ||
|
||
`import(‘es’)` will always return a Promise, `require(‘cjs’)` will always return | ||
an object. Question is `require(‘es’)` and `import(‘cjs’)`. | ||
|
||
@jasnell: supporting both async and sync will be difficult. | ||
|
||
@evanlucas: biggest concern is breaking ecosystem in order to support future | ||
browsers. | ||
|
||
@bmeck: but we’re breaking them anyway cause we can’t support named imports | ||
(which break Babel transpilation of ES). | ||
|
||
How will a sync loader affect future module usage and development in JS/TC39? | ||
* Would disallow top-level await. | ||
* Circular dependencies with asynchronously loaded ES modules. | ||
|
||
Q: Why does Node.js want to have synchronous imports? | ||
A: So that you can require an ES module and have it behave in the same way as a | ||
CJS module. | ||
|
||
@jasnell called for a vote next week, @Fishrock123 seconded. | ||
|
||
**Next steps** | ||
|
||
* Vote by next week. | ||
|
||
--- | ||
|
||
### assert: enforce type check in deepStrictEqual [node#10282](https://github.com/nodejs/node/pull/10282) | ||
|
||
@Trott: Suggest allowing internal changes as long as they don’t change API | ||
surface. | ||
|
||
@Fishrock123: Current policy is not to change unless needed by core. | ||
|
||
Should we unlock `assert` for API changes? | ||
|
||
Perhaps not, but we should still support new ES constructs within existing API. | ||
|
||
@mylesborins will open an issue to re-evaluate what “locked” policy means, | ||
becuase JS language changes happen more frequently now. | ||
|
||
**Next steps** | ||
|
||
* @Trott to draft proposal based on this discussion as PR | ||
(see [node#11113](https://github.com/nodejs/node/pull/11113)). | ||
|
||
--- | ||
|
||
### deps: Add node-inspect [node#10187](https://github.com/nodejs/node/pull/10187) | ||
|
||
* Land node-inspect in deps? | ||
* Integrate as `node inspect` or `node debug`. | ||
|
||
If we leave in deps and vendor out we could integrate more directly in the | ||
future. In the meantime, this is a good experiment for vendoring out modules. | ||
|
||
--- | ||
|
||
### lib: be robust when process global is clobbered [node#10135](https://github.com/nodejs/node/pull/10135) | ||
|
||
PR has not yet been updated to remove non-writable aspect. | ||
|
||
### http: support environment-defined proxy [node#8381](https://github.com/nodejs/node/issues/8381) | ||
|
||
Nothing new. | ||
|
||
### Symbol key props visible in inspection by default [node#9726](https://github.com/nodejs/node/pull/9726) | ||
|
||
3 CTC members are reviewing. | ||
|
||
--- | ||
|
||
## Q/A on public channels | ||
|
||
Q: How to get more people involved in ES module discussion? | ||
A: Comment on the [node-eps#39](https://github.com/nodejs/node-eps/pull/39) | ||
issue. | ||
|
||
--- | ||
|
||
## Upcoming Meetings | ||
|
||
Node.js Foundation Calendar: | ||
https://calendar.google.com/calendar/embed?src=kap.co_i17i575te0aes6kaanfjr2e4hs%40group.calendar.google.com | ||
|
||
* CTC: 2017-02-08, 0500 UTC (Tuesday 0900 US Pacific) | ||
* TSC: 2017-02-09, 2000 UTC (Thursday 1200 US Pacific) | ||
|