class: center, middle # One Week in the Life of Node.js --- # Who is this person? - Anna Henningsen - Node.js TSC - Node core contributor since December 2015 - (Master’s degree in Math) --- name: how-did-i # How did I get into Node core? ```js setTimeout(1000, 1000, function() { console.log('hi!'); }); ``` --- template: how-did-i (don’t ask me why) ``` > TypeError: callback.call is not a function at ontimeout [as _onTimeout] (timers.js:195:34) at Timer.listOnTimeout (timers.js:92:15) ``` --- template: how-did-i ```diff @@ -177,6 +177,10 @@ exports.enroll = function(item, msecs) { exports.setTimeout = function(callback, after) { + if (typeof callback !== 'function') { + throw new TypeError('"callback" argument must be a function'); + } + after *= 1; // coalesce to number or NaN if (!(after >= 1 && after <= TIMEOUT_MAX)) { ``` --- # Why am I talking about this? - I didn’t know much about what was happening inside Node.js - A lot of people in the community don’t -- - There’s a hidden world here --- # Is this a bad thing? - It’s good: - Node.js is stable - Node.js works as an abstraction -- - It’s bad: - Core maintainers need empathy with developer community - Everyone should be able to have a voice - “Knowledge Silo” --- # What happens under https://github.com/nodejs? - A lot of things - “all technical development within the Node.js Foundation” - Big stuff: - ChakraCore, N-API -- - Many individual issues/PRs - ESM (200+ comments) - Async Stack Traces for the inspector (170+ comments) - HTTP2 (150+ comments) --- # Less big stuff - V8 updates - Smaller features (`dlopen` flags: 170+ comments!) - `util.inspect` performance - Promise support in N-API --- # Out of scope for this talk (but still there) - Internationalization working groups - Adjacent projects (http parser lib, llnode, node-report, node-gyp) --- # In the last 90 days: Over 37.000 mails!
--- # Smaller repos - N-API C++ Wrapper, Admin, Board, Code + Learn, Docs, Security (WG), … - Stalling/Stalled efforts: Installer, Intl WG, … --- # nodejs/node What do we talk about? - Small bugs (usually really odd edge cases) - Small optimizations - CI trouble - Platform support - Test improvements - Many small help requests - Security issues - Release proposals - (LTS) Backports - Long term projects: async_hooks, fixing vm global, errors --- # Top labels by comment count (excluding release management – all time)
--- # Who has a voice? (last 90 days)
--- # What can we do better? - Amount of notifications is overwhelming - → Notification teams help! - Let’s talk even more about what we’re doing - …