You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

10 KiB

Node Foundation CTC Meeting 2016-08-10

Present

Standup

  • Anna Henningsen @addaleax (CTC)
    • Issues/PR review
  • Bradley Meck @bmeck (observer/GoDaddy/TC39)
    • Came up with overhauled plan for Module moving forward
  • Сковорода Никита Андреевич @ChALkeR (CTC)
    • A bit more work on the ecosystem detection tool
    • Mostly comments, nothing significant
    • Will file a docs linting PR soon — needs some final cleanup
  • Colin Ihrig @cjihrig (CTC)
    • Reviewing issues and PRs
    • Working on the v6.4.0 release
  • Evan Lucas @evanlucas (CTC)
    • some more commit validation work
    • backport pr for worker.exitedAfterDisconnect to v4.x
  • Jeremiah Senkpiel @Fishrock123 (CTC)
    • Nothing in particular
  • Tracy Hinds @hackygolucky (observer/Node.js Foundation)
  • James M Snell @jasnell (CTC)
    • Going through PRs/Issues
    • More exploration of possibility of HTTP/2 impl in core
    • Other miscellaneous things
  • Josh Gavant @joshgav (observer/Microsoft)
    • meetings notes
    • review some issues
  • Michael Dawson @mhdawson (CTC)
    • adding linxuOne release machine to the release CI, and getting linuxOne added to release job so that we get nightlies for that platform
    • configuring new AIX machines from osuosl, adding to CI and validating with AIX build jobs that they look good. Working to get added to regular regression jobs.
    • Working on build wg, FIPs and post-mortem presentations for Node interactive Europe
    • Landing a few PRs
    • Reading/commenting on issues
    • Participation in LTS and Build WGs
    • ABI stable API PoC
  • Brian White @mscdex (CTC)
    • Reviewing PRs, commenting on issues
  • Ali Ijaz Sheikh @ofrobots (CTC)
    • v8_inspector updates, V8 backports, writing up a doc on maintaining V8
  • Myles Borins @TheAlphaNerd (observer/IBM)
    • v4.5.0 testing (potential regression)
    • ABI Smoke Testing Job
    • Landing V8 5.1 on v6.x
    • junit reporters for CI with Johann
  • Trevor Norris @trevnorris (CTC)
    • PR reviews
    • Vacation most of the week
  • Rich Trott @Trott (CTC)
    • onboarded @fhinkel
    • minor work on tests
    • ESLint update, minor indentation rule update
  • Steven Loomis (Observer)
    • Asked me to pass on his regrets as he’s on vacation.
    • He’s been working on more Intl related items.

Agenda

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

nodejs/node

  • v4.5.0 proposal #7688
  • buffer: hard-deprecate Buffer constructor #7152
  • Revert "fs: add a temporary fix for re-evaluation support" #6413
  • errors: add internal/errors module #6573
  • Introduce staging branch for stable release streams #6306

nodejs/node-eps

  • proposal: WHATWG URL standard implementation #28

general

Previous Meeting

nodejs/node

  • CTC membership nomination: @addaleax #7607
  • Revert fs changes #7846
  • [meta] realpath issues in v6 #7726
  • v4.5.0 proposal #7688
  • build: drop support for VS 2013 in v7 #7484
    • New issue specifically for v6: #7989
  • http: don't inherit from Object.prototype #6102

nodejs/node-eps

  • proposal: WHATWG URL standard implementation #28

Minutes

v4.5.0 proposal #7688

@thealphanerd: investigating problem with Bower, may delay release, if so will notify everyone.

Next steps:

  • As above.

buffer: hard-deprecate Buffer constructor #7152

@trevnorris: In the future the Buffer function will need to be a proper class so that iterate can return a buffer and so that users can inherit from Buffer.

Enabling inheritance forces the use of new. Thus it will break anyone who uses Buffer without the new keyword.

@evanlucas: Wasn’t there a way around that? Perhaps with use of @@species symbol, but still doesn’t remove the fact that we’ll need to remove the new keyword at some point.

@addaleax: We could work around using Reflect API and check if call was made with new or not. There were perf concerns, @RReverser worked on something (see https://github.com/nodejs/node/pull/7152#discussion_r74932064).

@evanlucas: Can we do that and just soft-deprecate not using new?

@jasnell: We should absolutely not deprecate new Buffer(...).

@chalker: [Deprecating new Buffer() will force libraries to work around this in 0.10, 0.12, and LTS <4.4, doesn’t sound like a good thing to do now.

Next steps:

  • Continue discussion in GitHub.
  • Finalize decision next week.

Revert "fs: add a temporary fix for re-evaluation support" #6413

Do we land the revert?

@chalker: This is going to break modules, notably those which depend on graceful-fs, including gulp and unzip (there’s another unzip module people use, unzip is not updated for a long time and its usage is rapidly decreasing), other inactive modules.

gulp will update graceful-fs Gulp v4. Gulp accounts for 42% of usage of graceful-fs. Gulp doesn’t want to update graceful-fs in v3 because it's a semver-major change, wants to wait for semver-major update till v4.

@jasnell: If we keep it as is I don’t think the modules are going to get fixed.

@thealphanerd: if gulp v3 isn’t updated then it will continue to cause problems for people through v7 lifetime. Can gulp do something to make this easier on the community?

@thealphanerd will follow up with gulp project leads about updating graceful-fs in Gulp v3.

@chalker: Old version of graceful-fs now includes its own message that it will be broken in Node v7. Would be best to live up to our commitment.

Next steps:

  • Myles to follow up with Gulp about changes in v3, notify CTC as appropriate.
  • Finalize decision next week.

proposal: WHATWG URL standard implementation #28

Should url be a global or not? @jasnell: To start let’s just not make it a global.

@jasnell: No need to include this in v6; include in master and in v7.

First step is to decide to land this as an EP in Node-EPs. Then, consider implementation.

@evanlucas: Will the similarity of these cause confusion? require(‘url’).Url and require(‘url’).URL.

@jasnell: best answer is I’m not sure yet.

@jasnell: We’ll move forward on the EP without the global.

Next steps:

  • Remove global then land EP.
  • Continue work/review on impl.

errors: add internal/errors module #6573

@jasnell: This begins the process of changing errors implementation so that changes to their text are not semver-major.

Do we want this to land in v7? If we do, it needs to be complete by the end of August.

@Fishrock123: think about whether we can keep the syntax similar between js and c++.

@jasnell: if additional work is needed for C errors we should not rush it.

Next steps:

  • Review in GitHub.
  • Finalize next week.

Introduce staging branch for stable release streams #6306

@thealphanerd: If we had a staging branch we’d avoid blocking releases due to problematic commits.

@Fishrock123: You can already stage to v6.x but usually people don’t do that.

@thealphanerd: Since it has the same function as staging it would be good to name them similarly.

@bnoordhuis: it’s confusing that there are different ways to get PRs backported in different branches.

@Fishrock123: Actual practices are not likely to change.

Next steps:

  • Continue discussion in GH.
  • Keep on agenda.

discussion: CommonJS and ES6 modules interoperability (see https://gist.github.com/bmeck/52ee45e7c34d1eac44ce8c5fe436d753)

@bmeck:

  • Cannot match babel’s semantics.
  • Cannot support named imports from CJS modules.

We cannot match babel’s semantics so whatever happens in the future, at a minimum people who use babel to compile will have to change to use whatever Node is using for ES modules.

There’s no real way for us to support named imports from CJS modules, so these will be imported as the default property only, so people will not be able to use just readFile from fs.

Those 2 breakages mean we have to rethink this. First route was to match babel.

@bmeck proposes Node does a hard break. Remove most of Node’s magic names.

We’ll need a separate WHATWG registry object

@bmeck: New features are going to be targeting the module grammar exclusively. For example, await is not a keyword in the script grammar and if it’s treated that way it’s a language extension. TC39 considers script somewhat legacy.

Next steps:

  • Schedule a session specifically on modules.

Q/A on public fora

Q: Regarding WHATWG URL, how will updates be handled - major, minor, bug fix?

@jasnell: Still need to figure out process. Currently monitoring WHATWG to get a sense of their process. If their change is semver-major ours would presumably also be.

Upcoming Meetings

  • CTC: 2016-08-17
  • TSC: 2016-08-11
  • Build: Sept
  • LTS: Sept
  • Diagnostics: Sept
  • Post-Mortem: Sept
  • API: Sept