---
title: "A collection of Node CLI development best practices"
publication: "Node Weekly"
issue: 325
published_at: "2020-02-12"
canonical_url: "https://nodeweekly.com/issues/325"
---

This week's Node news, links, and releases.       

#325 — February 12, 2020 

[Read on the Web](https://nodeweekly.com/issues/325)   

Node Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/lmhjdp7wmvrplvba6g1q.jpg)](https://github.com/lirantal/nodejs-cli-apps-best-practices)   

[19 (And Counting) Node CLI App Best Practices](https://github.com/lirantal/nodejs-cli-apps-best-practices) — From the creator of several Node-based CLI tools comes a curated collection of best practices for building _“successful, empathic and user-friendly”_ CLI tools using Node. Help is sought regarding translations and contributions, if you have any ideas. 

Liran Tal   

[Node v12.16.0 (LTS) Released](https://nodejs.org/en/blog/release/v12.16.0/) — The LTS releases gets a backported feature from Node 13 (`assert.match()` and `assert.doesNotMatch()`), more customizable serialization for `child_process` and `cluster`, plus a `--trace-exit` CLI option to print a stack trace whenever the Node environment is exited ‘proactively’ (e.g. Ctrl+C). The ES modules implementation has also [been overhauled](https://twitter.com/i/web/status/1227314183387197441) to get up to 13.x standards. 

Michaël Zasso   [![\](https://copm.s3.amazonaws.com/46c53b91.png)](https://www.datadoghq.com/dg/apm/node-troubleshooting/?utm_source=Advertisement&utm_medium=CooperPress&utm_campaign=CooperPress-NodeWeeklyTroubleshootingP) 

[Visualize and Optimize Your Node.js Performance with Datadog](https://www.datadoghq.com/dg/apm/node-troubleshooting/?utm_source=Advertisement&utm_medium=CooperPress&utm_campaign=CooperPress-NodeWeeklyTroubleshootingP) — Datadog’s APM generates detailed flame graphs that will help your teams identify bottlenecks and latency, and can easily pivot to related logs and metrics in seconds to troubleshoot the error. Visualize Node.js metrics end-to-end with a free trial. 

Datadog APM sponsor   

[A Day in the Life of npm Security](https://blog.npmjs.org/post/190665497245/a-day-in-the-life-of-npm-security) — André Eleuterio is the ‘vulnerability coordinator of that npm security inbox’ which means he gets to analyze all of the various vulnerability reports coming in regarding npm packages. 

André Eleuterio   

[Node.js and JavaScript Conferences Worth Attending in 2020](https://nodesource.com/blog/nodejs-js-conferences-2020) — A thorough list of various Node conferences and events to attend this year. _(Note: We also include events in the newsletter from time to time, such as at the bottom of this issue.)_ 

Liz Parody   

[The 'Request' Package is Now 'Fully Deprecated'](https://github.com/request/request#deprecated) — Mikeal Rogers began to [steer users away last year](https://github.com/request/request/issues/3142) but now the once popular `request` package is truly dead. If you’re using it, [seek alternatives](https://github.com/request/request/issues/3143). 

request  

💻 **Jobs**  

[Find a Dev Job Through Vettery](https://www.vettery.com/tech?utm_source=newsletter&utm_medium=cooper-nodeweekly&utm_term=tech&utm_content=grouped&utm_campaign=ad-88879) — Vettery is completely free for job seekers. Make a profile, name your salary, and connect with hiring managers from top employers. 

Vettery   

[Node.js Developer at X-Team (Remote)](https://x-team.com/remote-nodejs-developer-jobs/?utm_source=cooperpress&utm_medium=email-ad&utm_campaign=node) — Work with the world's leading brands, from anywhere. Travel the world while being part of the most energizing community of developers. 

X-Team  

📚 **Tutorials**  

[Building a Continuous Integration and Deployment Pipeline Using Docker](https://www.taniarascia.com/continuous-integration-pipeline-docker/) — A really sweet, well paced tutorial that almost anyone would be able to follow to set up a basic CI/CD process for a Node app. 

Tania Rascia   

[How to Publish an Updated Version of an npm Package](https://cloudfour.com/thinks/how-to-publish-an-updated-version-of-an-npm-package/) — If you release your own npm packages, or if you’ve inherited packages from your team, this is a nice guide that covers many of the challenges with getting a new version out. 

Scott Vandehey   

[The Node.js Security Handbook](https://link.sqreen.com/t_bK49xj) — Improve the security of your Node.js app with the Node.js security handbook made for developers. 

Sqreen sponsor   

[Node Async Best Practices and Avoiding 'Callback Hell'](https://blog.risingstack.com/node-js-async-best-practices-avoiding-callback-hell-node-js-at-scale/) — A look at the tools and techniques at your disposal when handling asynchronous operations. 

Tamas Hodi and János Kubisch   

[How To Read An Excel File in Node](https://t.co/mhIydwlDKH) 

gravity well   

[Understanding the Node.js Event Loop Phases](https://dev.to/lunaticmonk/understanding-the-node-js-event-loop-phases-and-how-it-executes-the-javascript-code-1j9) 

Sumedh Nimkarde  

🛠 **Tools, Resources and Libraries** 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/v1581613409/btdz7iafmpia0nra3his.png)](https://belugajs.com/)  

[Beluga: Create Node-Powered E-Commerce Sites](https://belugajs.com/) — Brings React, Stripe and Node together so you can create your own e-commerce site. [GitHub repo.](https://github.com/binx/beluga/) 

Rachel Binx   

[Baretest: An 'Extremely Minimalistic' Alternative to Jest](https://volument.com/baretest) — A fast and simple JavaScript test runner that boasts a ‘brainless’ API. The motivation? Runniing tests as fast as possible. 

volument   

[Vendure: A Headless GraphQL E-commerce Backend Framework](https://github.com/vendure-ecommerce/vendure) — Built on Node, Nest and TypeScript. The idea is you’d use this for the _backend_, then implement the front-end of your store however you prefer (in contrast to Beluga, above). 

Vendure   

[Faster CI/CD for All Your Software Projects Using Buildkite](https://buildkite.com/?pk_campaign=nodeweekly-070220&pk_source=cp-nodeweekly&pk_medium=newsletter) 

Buildkite sponsor   

[Release It: A CLI Tool to Automate Package Publishing Tasks](https://github.com/release-it/release-it) — Think things like bumping versions, tagging, creating releases at GitHub or GitLab, changelog generation, etc. 

Lars Kappert   

[Agenda 3.0: Lightweight Job Scheduling for Node](https://github.com/agenda/agenda) — Uses a MongoDB-backed persistence layer. First linked a year ago but v3.0 dropped just today. 

Ryan Schmukler   

🗓 **Upcoming Events**  

[Node.TLV, March 3 — Tel Aviv, Israel](https://www.nodetlv.com/) — Said to be the "the first-ever 100% Node.js focused confrence in Israel".   

[CityJS, March 25-27 — London, UK](https://cityjsconf.org/) — A "JavaScript festival across London", organised in part by London's [Node User Group](https://www.meetup.com/london-nodejs/).   

[React Summit, April 17 — Amsterdam, The Netherlands](https://reactsummit.com/) — A full-day, two-track conference on all things React and boasts being the biggest React specific conference in the world.   

[International JavaScript Conference, April 20-22 — London, UK](https://javascript-conference.com/london/) — This three day event has a dedicated Node track.   

[OpenJS World, June 23-24 – Austin, Texas](https://events.linuxfoundation.org/openjs-conference/) — OpenJS Foundation’s annual event (_rocking a new name_) brings together the JavaScript and web ecosystem including Node.js, Electron, AMP and more.           

Curated by [Cooperpress](https://cooperpress.com/) and [Peter Cooper](https://twitter.com/peterc). 

[Change your email address](https://nodeweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://nodeweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
