# Node.js Tooling Group Meeting 2020-04-03 ## Links * **Recording**: * **GitHub Issue**: $GITHUB_ISSUE$ * **Minutes Google Doc**: $MINUTES_DOC$ ## Present * Tooling team: @nodejs/tooling ## Agenda ## Announcements Extracted from **tooling-agenda** labelled issues and pull requests from the **nodejs org** prior to the meeting. ### nodejs/tooling * minimist CVE * recommended Node.js version support for libraries? * 30-month schedule? * Darcy: communication is a challenge * package-maintenance working group would be good to work with; promoting best practices * Corey: we don't have time to maintain backports (nyc) * Mocha doesn't either! * `fs` hooks [#63](https://github.com/nodejs/tooling/issues/63) * **chmod -R [#59](https://github.com/nodejs/tooling/issues/59)** * Darcy is totally going to do this * **tracking "hot module reloading" for ESM in core [#51](https://github.com/nodejs/tooling/issues/51)** * Corey wrote [@istanbuljs/esm-loader-hook](https://github.com/istanbuljs/esm-loader-hook) that allows you to instrument ESM modules. * Support for hooking spawn / spawnSync without patching. [#48](https://github.com/nodejs/tooling/issues/48) * A better way to detect a process is exiting [#42](https://github.com/nodejs/tooling/issues/42) * **Source Map V3 Support in Node.js [#40](https://github.com/nodejs/tooling/issues/40)** * [Blog post on source maps in Node.js](https://medium.com/the-node-js-collection/source-maps-in-node-js-5d0abe6ac34b) * **argument parsing [#19](https://github.com/nodejs/tooling/issues/19)** ```javascript= // no args const args = process.parseArgs() // node foo.js // { _: [] } // node foo.js something // { _: ['something'] } // flags are default, strings can be specified: // node foo.js --foo hello --bar // {_: [], foo: 'hello', bar: true} const args = process.parseArgs({ strings: ['foo', 'a'] }) // Better property name? requiresValue? wantsValue? prefersValue? takesValue? // without strings option: // {_:['hello'], foo: true, bar: true} // node foo.js --bar // then result: {_: [], bar: ''} const args = process.parseArgs({ strings: ['bar'] }) // or // maybe, this might be V2: const args = process.parseArgs(someOtherArrayOfArgs, { strings: ['foo', 'a'] }) // Negative numbers are kind of annoying and we're // trying to think it through: // add -- -9 -1 // -9, -8 // grep -r -99999 ./foo // result: { _: ['-9', '-1'] } // Stop parsing, e.g., npm test -- --grep="some suite" // foo.js --foo -- --bar --apple ``` ## Q&A, Other ## Upcoming Meetings * **Node.js Foundation Calendar**: https://nodejs.org/calendar Click `+GoogleCalendar` at the bottom right to add to your own Google calendar.