Skip to content
This repository has been archived by the owner on Nov 9, 2017. It is now read-only.

docs: CTC meeting minutes 2017-02-08 #69

Merged
merged 1 commit into from
Feb 22, 2017
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
213 changes: 213 additions & 0 deletions meetings/2017-02-08.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,213 @@
# Node Foundation CTC Meeting 2017-02-08

## Links

* **Audio Recording**: <https://youtu.be/YkIYl1nvdXw>
* **GitHub Issue**: [CTC#68](https://github.com/nodejs/CTC/issues/68)
* **Minutes Google Doc**:
<https://docs.google.com/document/d/1SpZLv7htYUWEFyNp0-8FGlyyBVCbboRWzOfkRG8UteM>
* _Previous Minutes Google Doc:
<https://docs.google.com/document/d/1AQWL7iqMtnlhE3ylrc1d55lxVrisl-pjKKwIqP1al10>_
## 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
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@trevnorris Congratulations! :-)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Congratulations @trevnorris :-)

* 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.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nodejs/node#11233 although I wonder if it would have been better to open it in CTC repo. More visibility there though, so ¯\(ツ)


---

## 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)