|
| 1 | +# Node Foundation CTC Meeting 2016-08-10 |
| 2 | + |
| 3 | +## Links |
| 4 | + |
| 5 | +* **Audio Recording**: TBP |
| 6 | +* **GitHub Issue**: [#8030](https://github.com/nodejs/node/issues/8030) |
| 7 | +* **Minutes Google Doc**: <https://docs.google.com/document/d/1L65L7qhX5MrGeFwrub4-Z8klrwxJym-Q8CIEZsedohE> |
| 8 | +* _Previous Minutes Google Doc: <https://docs.google.com/document/d/1ufR5dNuN3JLmFPvCvLYGRa98_-eqy5yY3zJuTnT60K8>_ |
| 9 | + |
| 10 | + |
| 11 | + |
| 12 | +## Present |
| 13 | + |
| 14 | +* Anna Henningsen @addaleax (CTC) |
| 15 | +* Bradley Meck @bmeck (observer/GoDaddy/TC39) |
| 16 | +* Ben Noordhuis @bnoordhuis (CTC) |
| 17 | +* Сковорода Никита Андреевич @ChALkeR (CTC) |
| 18 | +* Colin Ihrig @cjihrig (CTC) |
| 19 | +* Evan Lucas @evanlucas (CTC) |
| 20 | +* Jeremiah Senkpiel @Fishrock123 (CTC) |
| 21 | +* Tracy Hinds @hackygolucky (observer/Node.js Foundation) |
| 22 | +* James M Snell @jasnell (CTC) |
| 23 | +* Josh Gavant @joshgav (observer/Microsoft) |
| 24 | +* Michael Dawson @mhdawson (CTC) |
| 25 | +* Brian White @mscdex (CTC) |
| 26 | +* Ali Ijaz Sheikh @ofrobots (CTC) |
| 27 | +* Myles Borins @TheAlphaNerd (observer/IBM) |
| 28 | +* Trevor Norris @trevnorris (CTC) |
| 29 | +* Rich Trott @Trott (CTC) |
| 30 | + |
| 31 | + |
| 32 | +## Standup |
| 33 | + |
| 34 | +* Anna Henningsen @addaleax (CTC) |
| 35 | + * Issues/PR review |
| 36 | +* Bradley Meck @bmeck (observer/GoDaddy/TC39) |
| 37 | + * Came up with overhauled plan for Module moving forward |
| 38 | +* Сковорода Никита Андреевич @ChALkeR (CTC) |
| 39 | + * A bit more work on the ecosystem detection tool |
| 40 | + * Mostly comments, nothing significant |
| 41 | + * Will file a docs linting PR soon — needs some final cleanup |
| 42 | +* Colin Ihrig @cjihrig (CTC) |
| 43 | + * Reviewing issues and PRs |
| 44 | + * Working on the v6.4.0 release |
| 45 | +* Evan Lucas @evanlucas (CTC) |
| 46 | + * some more commit validation work |
| 47 | + * backport pr for worker.exitedAfterDisconnect to v4.x |
| 48 | +* Jeremiah Senkpiel @Fishrock123 (CTC) |
| 49 | + * Nothing in particular |
| 50 | +* Tracy Hinds @hackygolucky (observer/Node.js Foundation) |
| 51 | +* James M Snell @jasnell (CTC) |
| 52 | + * Going through PRs/Issues |
| 53 | + * More exploration of possibility of HTTP/2 impl in core |
| 54 | + * Other miscellaneous things |
| 55 | +* Josh Gavant @joshgav (observer/Microsoft) |
| 56 | + * meetings notes |
| 57 | + * review some issues |
| 58 | +* Michael Dawson @mhdawson (CTC) |
| 59 | + * adding linxuOne release machine to the release CI, and getting linuxOne added to release job so that we get nightlies for that platform |
| 60 | + * 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. |
| 61 | + * Working on build wg, FIPs and post-mortem presentations for Node interactive Europe |
| 62 | + * Landing a few PRs |
| 63 | + * Reading/commenting on issues |
| 64 | + * Participation in LTS and Build WGs |
| 65 | + * ABI stable API PoC |
| 66 | +* Brian White @mscdex (CTC) |
| 67 | + * Reviewing PRs, commenting on issues |
| 68 | +* Ali Ijaz Sheikh @ofrobots (CTC) |
| 69 | + * v8_inspector updates, V8 backports, writing up a doc on maintaining V8 |
| 70 | +* Myles Borins @TheAlphaNerd (observer/IBM) |
| 71 | + * v4.5.0 testing (potential regression) |
| 72 | + * ABI Smoke Testing Job |
| 73 | + * Landing V8 5.1 on v6.x |
| 74 | + * junit reporters for CI with Johann |
| 75 | +* Trevor Norris @trevnorris (CTC) |
| 76 | + * PR reviews |
| 77 | + * Vacation most of the week |
| 78 | +* Rich Trott @Trott (CTC) |
| 79 | + * onboarded @fhinkel |
| 80 | + * minor work on tests |
| 81 | + * ESLint update, minor indentation rule update |
| 82 | +* Steven Loomis (Observer) |
| 83 | + * Asked me to pass on his regrets as he’s on vacation. |
| 84 | + * He’s been working on more Intl related items. |
| 85 | + |
| 86 | + |
| 87 | +## Agenda |
| 88 | + |
| 89 | +Extracted from **ctc-agenda** labelled issues and pull requests from the **nodejs org** prior to the meeting. |
| 90 | + |
| 91 | +### nodejs/node |
| 92 | + |
| 93 | +* v4.5.0 proposal [#7688](https://github.com/nodejs/node/pull/7688) |
| 94 | +* buffer: hard-deprecate Buffer constructor [#7152](https://github.com/nodejs/node/pull/7152) |
| 95 | +* Revert "fs: add a temporary fix for re-evaluation support" [#6413](https://github.com/nodejs/node/pull/6413) |
| 96 | +* errors: add internal/errors module [#6573](https://github.com/nodejs/node/pull/6573) |
| 97 | +* Introduce staging branch for stable release streams [#6306](https://github.com/nodejs/node/issues/6306) |
| 98 | + |
| 99 | +### nodejs/node-eps |
| 100 | + |
| 101 | +* proposal: WHATWG URL standard implementation [#28](https://github.com/nodejs/node-eps/pull/28) |
| 102 | + |
| 103 | +### general |
| 104 | + |
| 105 | +* discussion: CommonJS and ES6 modules interoperability (<https://gist.github.com/bmeck/52ee45e7c34d1eac44ce8c5fe436d753>) |
| 106 | + |
| 107 | + |
| 108 | +## Previous Meeting |
| 109 | + |
| 110 | +### nodejs/node |
| 111 | + |
| 112 | +* CTC membership nomination: @addaleax [#7607](https://github.com/nodejs/node/issues/7607) |
| 113 | +* Revert fs changes [#7846](https://github.com/nodejs/node/pull/7846) |
| 114 | +* [meta] realpath issues in v6 [#7726](https://github.com/nodejs/node/issues/7726) |
| 115 | +* v4.5.0 proposal [#7688](https://github.com/nodejs/node/pull/7688) |
| 116 | +* build: drop support for VS 2013 in v7 [#7484](https://github.com/nodejs/node/issues/7484) |
| 117 | + * New issue specifically for v6: [#7989](https://github.com/nodejs/node/issues/7989) |
| 118 | +* http: don't inherit from Object.prototype [#6102](https://github.com/nodejs/node/pull/6102) |
| 119 | + |
| 120 | +### nodejs/node-eps |
| 121 | + |
| 122 | +* proposal: WHATWG URL standard implementation [#28](https://github.com/nodejs/node-eps/pull/28) |
| 123 | + |
| 124 | +## Minutes |
| 125 | + |
| 126 | +### v4.5.0 proposal [#7688](https://github.com/nodejs/node/pull/7688) |
| 127 | + |
| 128 | +@thealphanerd: investigating problem with Bower, may delay release, if so will notify everyone. |
| 129 | + |
| 130 | +**Next steps**: |
| 131 | + |
| 132 | +* As above. |
| 133 | + |
| 134 | +--- |
| 135 | + |
| 136 | +### buffer: hard-deprecate Buffer constructor [#7152](https://github.com/nodejs/node/pull/7152) |
| 137 | + |
| 138 | +@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. |
| 139 | + |
| 140 | +Enabling inheritance forces the use of `new`. Thus it will break anyone who uses `Buffer` without the `new` keyword. |
| 141 | + |
| 142 | +@evanlucas: Wasn’t there a way around that? |
| 143 | +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. |
| 144 | + |
| 145 | +@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>). |
| 146 | + |
| 147 | +@evanlucas: Can we do that and just soft-deprecate not using `new`? |
| 148 | + |
| 149 | +@jasnell: We should absolutely *not* deprecate `new Buffer(...)`. |
| 150 | + |
| 151 | +@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. |
| 152 | + |
| 153 | +**Next steps**: |
| 154 | + |
| 155 | +* Continue discussion in GitHub. |
| 156 | +* Finalize decision next week. |
| 157 | + |
| 158 | +--- |
| 159 | + |
| 160 | +### Revert "fs: add a temporary fix for re-evaluation support" [#6413](https://github.com/nodejs/node/pull/6413) |
| 161 | + |
| 162 | +Do we land the revert? |
| 163 | + |
| 164 | +@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. |
| 165 | + |
| 166 | +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. |
| 167 | + |
| 168 | +@jasnell: If we keep it as is I don’t think the modules are going to get fixed. |
| 169 | + |
| 170 | +@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? |
| 171 | + |
| 172 | +@thealphanerd will follow up with gulp project leads about updating `graceful-fs` in Gulp v3. |
| 173 | + |
| 174 | +@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. |
| 175 | + |
| 176 | +**Next steps**: |
| 177 | + |
| 178 | +* Myles to follow up with Gulp about changes in v3, notify CTC as appropriate. |
| 179 | +* Finalize decision next week. |
| 180 | + |
| 181 | +--- |
| 182 | + |
| 183 | +### proposal: WHATWG URL standard implementation [#28](https://github.com/nodejs/node-eps/pull/28) |
| 184 | + |
| 185 | +Should `url` be a global or not? |
| 186 | +@jasnell: To start let’s just not make it a global. |
| 187 | + |
| 188 | +@jasnell: No need to include this in v6; include in master and in v7. |
| 189 | + |
| 190 | +First step is to decide to land this as an EP in Node-EPs. Then, consider implementation. |
| 191 | + |
| 192 | +@evanlucas: Will the similarity of these cause confusion? |
| 193 | +`require(‘url’).Url` and `require(‘url’).URL`. |
| 194 | + |
| 195 | +@jasnell: best answer is I’m not sure yet. |
| 196 | + |
| 197 | +@jasnell: We’ll move forward on the EP without the global. |
| 198 | + |
| 199 | +**Next steps**: |
| 200 | + |
| 201 | +* Remove global then land EP. |
| 202 | +* Continue work/review on impl. |
| 203 | + |
| 204 | +--- |
| 205 | + |
| 206 | +### errors: add internal/errors module [#6573](https://github.com/nodejs/node/pull/6573) |
| 207 | + |
| 208 | +@jasnell: This begins the process of changing errors implementation so that changes to their text are not semver-major. |
| 209 | + |
| 210 | +Do we want this to land in v7? If we do, it needs to be complete by the end of August. |
| 211 | + |
| 212 | +@Fishrock123: think about whether we can keep the syntax similar between js and c++. |
| 213 | + |
| 214 | +@jasnell: if additional work is needed for C errors we should not rush it. |
| 215 | + |
| 216 | +**Next steps**: |
| 217 | + |
| 218 | +* Review in GitHub. |
| 219 | +* Finalize next week. |
| 220 | + |
| 221 | +--- |
| 222 | + |
| 223 | +### Introduce staging branch for stable release streams [#6306](https://github.com/nodejs/node/issues/6306) |
| 224 | + |
| 225 | +@thealphanerd: If we had a staging branch we’d avoid blocking releases due to problematic commits. |
| 226 | + |
| 227 | +@Fishrock123: You can already stage to `v6.x` but usually people don’t do that. |
| 228 | + |
| 229 | +@thealphanerd: Since it has the same function as `staging` it would be good to name them similarly. |
| 230 | + |
| 231 | +@bnoordhuis: it’s confusing that there are different ways to get PRs backported in different branches. |
| 232 | + |
| 233 | +@Fishrock123: Actual practices are not likely to change. |
| 234 | + |
| 235 | +**Next steps**: |
| 236 | + |
| 237 | +* Continue discussion in GH. |
| 238 | +* Keep on agenda. |
| 239 | + |
| 240 | +--- |
| 241 | + |
| 242 | +### discussion: CommonJS and ES6 modules interoperability (see <https://gist.github.com/bmeck/52ee45e7c34d1eac44ce8c5fe436d753>) |
| 243 | + |
| 244 | +@bmeck: |
| 245 | + |
| 246 | +* Cannot match babel’s semantics. |
| 247 | +* Cannot support named imports from CJS modules. |
| 248 | + |
| 249 | +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. |
| 250 | + |
| 251 | +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`. |
| 252 | + |
| 253 | +Those 2 breakages mean we have to rethink this. First route was to match babel. |
| 254 | + |
| 255 | +@bmeck proposes Node does a hard break. Remove most of Node’s magic names. |
| 256 | + |
| 257 | +We’ll need a separate WHATWG `registry` object |
| 258 | + |
| 259 | +@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. |
| 260 | + |
| 261 | +**Next steps**: |
| 262 | + |
| 263 | +* Schedule a session specifically on modules. |
| 264 | + |
| 265 | +--- |
| 266 | + |
| 267 | +## Q/A on public fora |
| 268 | + |
| 269 | +Q: Regarding WHATWG URL, how will updates be handled - major, minor, bug fix? |
| 270 | + |
| 271 | +@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. |
| 272 | + |
| 273 | +## Upcoming Meetings |
| 274 | + |
| 275 | +* CTC: 2016-08-17 |
| 276 | +* TSC: 2016-08-11 |
| 277 | +* Build: Sept |
| 278 | +* LTS: Sept |
| 279 | +* Diagnostics: Sept |
| 280 | +* Post-Mortem: Sept |
| 281 | +* API: Sept |
0 commit comments