|
| 1 | +# 2018-03-30 Public User Feedback Meeting - Node.js Tooling |
| 2 | + |
| 3 | +## Links |
| 4 | + |
| 5 | +* **Recording**: https://www.youtube.com/watch?v=g5efRv1Wat0 |
| 6 | +* **GitHub Issue:** https://github.com/nodejs/user-feedback/issues/45 |
| 7 | +* **Previous Minutes:** https://docs.google.com/document/d/1NXH7qzaLGJcgNaswAcHVfwqluwaZPjp7iXtyRa4JZZA/edit |
| 8 | +* https://github.com/orgs/nodejs/teams/user-feedback/members |
| 9 | +* Issue [#45](https://github.com/nodejs/user-feedback/issues/45) in User feedback repo |
| 10 | +* [2 files](https://gist.github.com/bnb/ff9d8e95876737f88f8874e36169df6b) captured in Gist-by Tierney |
| 11 | + |
| 12 | +## Agenda |
| 13 | +Extracted from neuf-agenda labelled issues and pull requests from the user-feedback repo prior to the meeting. |
| 14 | +* Introduction to the Node.js Tooling with @boneskull |
| 15 | +* Topics (ref: #38): |
| 16 | + - Describe how your Tooling leverages Node.js. |
| 17 | + - Why do you use Node.js for Tooling? |
| 18 | + - What's working in the Node.js tooling ecosystem? |
| 19 | + - What isn't working in the Node.js tooling ecosystem? |
| 20 | + - What's new that could impact Node.js? |
| 21 | +* Open feedback forum |
| 22 | +* Present |
| 23 | + * Dan Shaw (@dshaw - User Feedback Champion, Mentorship, CommComm) |
| 24 | + * Mihai Ene-Pietrosanu (@mihaiep, User Feedback) |
| 25 | + * Michael Dawson (@mhdawson - User Feedback, CommComm, TSC Chair) |
| 26 | + * Tierney Cyren (@bnb - User Feedback, CommComm Chair) |
| 27 | + * Chris Hiller(@boneskull.com) |
| 28 | + * Rebecca Turner (@iarna) |
| 29 | + * Gleb Bahmutov (@bahmutov - Cypress.io) |
| 30 | + * Uttam Pawar (@uttampawar - Intel) |
| 31 | + * Ben Newman (@benjamn - Meteor) |
| 32 | + * Kent C. Dodds (@kentcdodds - PayPal) |
| 33 | + * Sean Larkin |
| 34 | + * John David-Dalton (@jdalton) |
| 35 | + * Gus Caplan (@devsnek) |
| 36 | + * Kelly Selden (@kellyselden - @ember-cli) |
| 37 | + |
| 38 | +**TOPIC** |
| 39 | +## Notes |
| 40 | +**Thank you all for participating.** |
| 41 | +* Introduction to the Node.js Tooling with @boneskull |
| 42 | + * Developers of tooling have different needs from those active in core, for example user |
| 43 | + experience may be more important than performance. |
| 44 | + * Good to have more discussion/connection so that we can keep the needs of tooling |
| 45 | + developers in mind. |
| 46 | + * Topics (ref: #38): |
| 47 | + - Describe how your Tooling leverages Node.js. |
| 48 | + * Rebecca |
| 49 | + * npm perspective are that most users are tooling users as opposed to server users. |
| 50 | + * most command line tooling writing in Node.js (previously perl) as it is most familiar. |
| 51 | + * Kent |
| 52 | + * Almost all tooling is in node and used to build websites |
| 53 | + * Also tooling to build/deploy up web servers (Java used to package manifests) |
| 54 | + * As Rebecca mentioned, even though may not be ideal scripting language, we like node because everyone can contribute easily. |
| 55 | + * Also use for servers and deploying servers. |
| 56 | + * Dan, used to build legacy Java?, Kent not as far as I’m aware. But Java is used to package build archives of node services. |
| 57 | + * Gleb |
| 58 | + * Everything they do now runs on node, all shell js, don’t want to install anything else |
| 59 | + * Biggest challenge is slight differences in how child process/streams across platforms (ex linux, |
| 60 | + windows etc) |
| 61 | + |
| 62 | + * Uttam (Intel) |
| 63 | + * don’t have tooling leveraging Node.js. Focus on performance for node.js. Have Vtune tool for |
| 64 | + Performance measurement |
| 65 | + * Contributed node-dc-eis which uses a number of the tooling |
| 66 | + * What is the hook from VTune to Node.js. There is support in V8 and that is the link. Run |
| 67 | + Vtune from command line and it captures hardware data and gives micr |
| 68 | + * Ben (Meteor) |
| 69 | + * Fully embrace npm even though they have their own package system |
| 70 | + * They ship a specific version of Node.js in each release |
| 71 | + * Very nice as they don’t have to test a matrix of versions. Also means that they can ship |
| 72 | + new Node.js versions and count on them being there with the new features. |
| 73 | + * Michael what version do you use? Ben on 0.10.X way to long, then jumped to version 4.X, latest |
| 74 | + Version jumped to Node 8.x, plan to keep up to date. |
| 75 | + * Tierney, what is transition path, what have the blockers beein. Ben, despite |
| 76 | + moving in large jumps has been relatively smooth. Have not had to hold too |
| 77 | + many peoples hands for upgrades either. |
| 78 | + * Dan, do Meteor users consider themselves Node.js users? Ben -> yes. Expectation is that they |
| 79 | + can drop large portion of Node app into Meteor. |
| 80 | + |
| 81 | + |
| 82 | + |
| 83 | + - Why do you use Node.js for Tooling? |
| 84 | + * Christopher (Moca) |
| 85 | + * Testing framework for JavaScript. Node.js launcher for testing Node.js, can also be used in the |
| 86 | + Browser. |
| 87 | + * John David Dalton (lodash) |
| 88 | + * used node and node more and more over time to generate various builds of Node.js |
| 89 | + * also works on module loader which is all node, adds es syntax to Node.js |
| 90 | + * Kelly Selden (work on ember CLI) |
| 91 | + * build tool for ember projects |
| 92 | + * They have an LTS system which is tied to the Node.js LTS versions. Try to avoid transpiler so |
| 93 | + end up writing code for older versions for which a while. |
| 94 | + * Community is interested in whole monorepo |
| 95 | + * Ember.js runtime (6 or 8 week lifetime), build current release supports LTS releases. They |
| 96 | + support the LTS versions as opposed to having LTS for their modules. |
| 97 | + * Gus Caplan (from node modules group, participating to see what the module owners are doing) |
| 98 | + - What's working in the Node.js tooling ecosystem? |
| 99 | + - What isn't working in the Node.js tooling ecosystem? |
| 100 | + - What's new that could impact Node.js? |
| 101 | +* Open feedback forum |
| 102 | + * What is not working |
| 103 | + * John David Dalton |
| 104 | + * Try to work across different versions(6 and 8). Need to juggle when |
| 105 | + new APIs are added to newer versions |
| 106 | + * Some handy features which are not public, but if you ask |
| 107 | + tendency is to try to remove/lock down so hesitant to ask. |
| 108 | + * Attitude in node core that userland is less than. Sometimes |
| 109 | + will see userland option as not viable. |
| 110 | + * ex Node fetch, Node should be more open to pulling in |
| 111 | + external packages (bundle more as opposed to integrate) |
| 112 | + |
| 113 | + * Rebecca (npm) |
| 114 | + * libuv does a relatively good job of hiding platforms, except |
| 115 | + for error codes where it just forwards on OS error. You don’t |
| 116 | + even have doc on what error codes you might get. |
| 117 | + * Historically have had some stdio juggling, but that is solid |
| 118 | + now |
| 119 | + * Tierney Question for everybody |
| 120 | + * please respond in the issue -> What would you like out of this |
| 121 | + Meeting |
| 122 | + * Kelly - no additional issues beyond what was mentioned earlier |
| 123 | + * Chris(Moca) - frustrations from technical standpoint are cross |
| 124 | + platform issues (for example fs.watch). Why are there things |
| 125 | + like cross-env, graceful-fs. Cross platform gotcha’s. Much more |
| 126 | + Of a problem for tooling/tooling modules as they tend to run |
| 127 | + across more platforms. Deployment is more likely just linux |
| 128 | + * Kent - concur that biggest problem are cross-platform issues. If |
| 129 | + we could make it so fs-extra,rimraf etc does not need to exist. |
| 130 | + Good thing that they do exist though as it makes things much |
| 131 | + easier than it used to be and |
| 132 | + * debugging could still use more work. Inspector is good, what |
| 133 | + is needed is education story as well as people understanding |
| 134 | + That node-modules just contains a bunch of JavaScript. |
| 135 | + * Gleb - linux - terminal support and progress bars are a problem |
| 136 | + for them. Would like to see better support in node core. We already used wrappers around progress bars, but there is great amount of how it works and how it looks like from Windows to Linux (docker). |
| 137 | + |
| 138 | + * Ben - v8 has intimate relationship with Node.js. Source of |
| 139 | + bugs is backporting process for bringing changes into Node.js |
| 140 | + Segmentation faults due to partial gc backport. Wonders if |
| 141 | + Node.js being more up to date with v8 versions would help. They |
| 142 | + use fibers which. The one thing that keeps him up at night |
| 143 | + is what they have to do in order to support threading. Dan |
| 144 | + suggestion to look at N-API and share what you still need that |
| 145 | + is not there. |
| 146 | + |
| 147 | +**Closing Thoughts** |
| 148 | + |
| 149 | +* potential topics for later session. |
| 150 | + * How to handle LTS for modules and relationship |
| 151 | + to Node.js LTS cycles. |
| 152 | + * Benchmarking to provide coverage for tooling concerns, does this |
| 153 | + Matter? |
| 154 | + |
| 155 | + |
| 156 | + |
| 157 | +## Upcoming Meetings |
| 158 | +* The next meeting is scheduled for Friday, 2018-04-13 at 17:00 UTC / noon ET / 11am CT / 9am PT. |
| 159 | +* **Node.js Foundation Calendar**: https://nodejs.org/calendar |
| 160 | + - Click `+GoogleCalendar` at the bottom right to add to your own calendar. |
0 commit comments