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