---
title: "util.parseArgs arrives in Node 18.3"
publication: "Node Weekly"
issue: 440
published_at: "2022-06-02"
canonical_url: "https://nodeweekly.com/issues/440"
---

Plus Express 5 features to try, and could npm learn some lessons from Go? |        

#​440 — June 2, 2022 

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

![Node.js Weekly](https://res.cloudinary.com/cpress/image/upload/v1653576619/lgfqinzbdqttwmhvljxb.png) 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/flga2w9sleoesaulvfb5.jpg)](https://nodejs.org/en/blog/release/v18.3.0/)  

[Node v18.3.0 (Current) Released](https://nodejs.org/en/blog/release/v18.3.0/) — It’s not a _huge_ release but there are some solid dependency updates (npm 8.11.0, V8 10.2, Undici 5.4), Windows 32 binary releases are _back_, and one notable new (experimental) feature: the [`util.parseArgs` function](https://github.com/nodejs/node/pull/42675) for bringing an official command line argument parsing approach to Node core – here’s [a basic code example](https://gist.github.com/simonplend/704484069bd6ad32b66712ccfe5d2ec4) as well as [the docs.](https://nodejs.org/api/util.html#utilparseargsconfig) 

Bryan English   

💡 [Node 17.9.1](https://nodejs.org/en/blog/release/v17.9.1/) and [16.15.1](https://nodejs.org/en/blog/release/v16.15.1/) have been released too but are minor dependency-focused releases.  

[What npm Can Learn from Go](https://engineering.hardfin.com/2022/05/npm-mod/) — Go’s [approach to dependency management](https://go.dev/blog/supply-chain) mitigates some key supply chain issues, but could some of Go's ideas be brought into the world of npm? This post introduces an experiment to recreate the `go mod vendor` experience with `npm` as a way to provoke community discussion on ways forward. 

Danny Hermes   [![\](https://copm.s3.amazonaws.com/8b9a1151.png)](https://nanos.org?utm_source=cooperpress&utm_medium=cooperpress&utm_campaign=nodeweekly-primary) 

[Run Node Unikernels 2X as Fast on GCP and 3X as Fast on AWS](https://nanos.org?utm_source=cooperpress&utm_medium=cooperpress&utm_campaign=nodeweekly-primary) — Run your first open source Node.js unikernels in seconds. Node.js unikernels aren't just faster than docker - they are faster than Linux itself. Unikernels are easier to debug, deploy and safer too. Try it now. 

NanoVMs sponsor   

[Top 500 `npm` Package Maintainers Now Require 2FA](https://github.blog/changelog/2022-05-31-top-500-npm-package-maintainers-now-require-2fa/) — In response to numerous security issues with the npm ecosystem in recent years, GitHub has been keen to encourage package maintainers to use 2FA. The maintainers of many popular packages now _have_ to use 2FA, but if you maintain any packages at all, you can [learn more about how to join the 2FA gang here.](https://docs.npmjs.com/configuring-two-factor-authentication) 

GitHub   

[npm Security Update: What GitHub Learnt About April's Attack](https://github.blog/2022-05-26-npm-security-update-oauth-tokens/) — Back in April, GitHub [reported](https://github.blog/2022-04-15-security-alert-stolen-oauth-user-tokens/) that stolen OAuth user tokens were used to access some private repositories, private package manifests and metadata, as well as npm user account data, and they've shared the full story here. 

Greg Ose (GitHub)   

[How We Converted Our Node.js Library to Deno (using Deno)](https://www.edgedb.com/blog/how-we-converted-our-node-js-library-to-deno-using-deno) — _“We landed on a “runtime adapter” pattern that we think represents a general-purpose approach that may be useful to other library authors looking to support Deno.”_ 

James Clarke (EdgeDB)   

[You May Not Need a Bundler for Your NPM Package..](https://cmdcolin.github.io/posts/2022-05-27-youmaynotneedabundler) — Colin makes a good argument to run as cleanly as possible, but there are plenty of links to other options, if you prefer. 

Colin Diesh   

[HTTP Testing with Hurl in Node.js](https://blog.humphd.org/http-testing-with-hurl-in-node-js/) — Hurl is a (Rust-powered) command-line tool for running HTTP requests defined in simple text files and you can use it from within a Node project too. 

David Humphrey   

[How to Build a Group Chat App with Vanilla JS, Twilio and Node](https://www.smashingmagazine.com/2022/06/build-group-chat-app-vanillajs-twilio-nodejs/) — Chat apps have long been a popular bucket list project for Node developers. I did a webinar (or _livestream_ to the young'uns) 10 years ago(!) on building a chat app in Node myself but times have moved on and it’s possible to outsource much of the infrastructure now, as seen here. 

Zara Cooper   

[Node Transactional Notification Management System Saves Time and Money](https://www.courier.com/?utm_campaign=demand-gen&utm_source=email&utm_medium=node-weekly-6-2&utm_content=homepage) 

Courier sponsor   

[Using N|Solid Runtime from `npm`](https://nodesource.com/blog/nsolid-runtime-from-npm) — _N|Solid Runtime_ is a special Node.js distribution that includes N|Solid’s agent to extract live metrics and app behavior information from apps in production. 

Adrián Estrada (NodeSource)   

[New Express 5 Features to Try](https://fusebit.io/blog/new-express-5-features/) — Still in beta, though. 
Zara Cooper   

[How to Deploy a NestJS App on Google Cloud Run with GitHub Actions](https://www.tomray.dev/deploy-nestjs-cloud-run) 
Tom Ray   

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/xugkkmipf8n2vzyfvolb.jpg)](https://pkg.land/)  

[pkg.land: A Way to Find Alternative npm Packages](https://pkg.land/) — It’s quite a minimally designed site but it _attempts_ to give you suggestions for related or alternative packages to use. I’m not entirely convinced by the approach so far (consider [Express’s alternatives](https://pkg.land/express)) but it’s fast and shows promise (such as for [the colors package](https://pkg.land/colors).) 

pkgland   

[Jest Image Snapshot: A Jest Matcher for Image Comparisons](https://github.com/americanexpress/jest-image-snapshot) — Say hello to visual regression testing using this tool from American Express. Take image snapshots of your app within a test and compare them against a baseline. It can even handle tolerances if you want to ignore subtle changes and only throw on huge discrepancies. 

American Express   

[Vavite: Develop Server-Side Applications with Vite](https://github.com/cyco130/vavite) — [Vite](https://vitejs.dev/) is best known as a build tool closely associated with (but that doesn’t require) Vue.js but it supports transpiling server-side code too and Vavite takes advantage of this. 

Fatih Aygün   

[Try the CI/CD Tool Used by Shopify, Pinterest, and Lyft - Now Free](http://buildkite.com?utm_campaign=CPress&utm_source=ppc&utm_medium=CPress&utm_term=free-plan&utm_content=new-announcement-plan-details) 

Buildkite sponsor   

[waitehr: Waits for an HTTP Response and Retries Requests](https://github.com/gajus/waitehr) — Nice to see a CLI tool written in Node rather than Go or Rust for once. This tool makes and waits for an HTTP response (a la `curl`) but brings timeouts, retries, and redirects into the mix. The [usage examples](https://github.com/gajus/waitehr#usage) may convince you of its value. 

Gajus Kuizinas   

[Commander 9.3: Node Command-Line Interfaces Made Easy](https://github.com/tj/commander.js) — The long standing ‘batteries included’ system for building apps that interface with the command line. 

TJ Holowaychuk   

[cf-workers-telegram-bot: Run a Serverless Telegram Bot on CloudFlare Workers](https://github.com/codebam/cf-workers-telegram-bot) 
Sean Behan     

💻 Jobs  

[Web Academic Lead - US (Remote)](https://www.comeet.com/jobs/masterschool/57.005/web-academic-lead---usa/D9.D21) — Mentor aspiring developers seeking to build inspiring careers. Create and lead the online sessions, being the role model for our students. 
Masterschool   

[Find Tech Jobs with Hired](https://hired.com/join/?utm_source=newsletter&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-all%29%28cooper-nodeweekly%29&utm_content=find-your-next-job) — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers. 
Hired      

**Got a link for us?** Reply and tell us. We can't include everything but we'll look at anything you send. _Thanks!_ 

--- 

**Got a new address?** You can [change your email here](https://nodeweekly.com/edit_subscription/*|UID|*). 

--- 

**Want to stop this email?** [Click here to say goodbye.](https://nodeweekly.com/leave/*|UID|*). 

--- 

**Want even more newsletters?** Perhaps check out [JavaScript Weekly](https://javascriptweekly.com/), [React Status](https://react.statuscode.com/) or [Frontend Focus](https://frontendfoc.us) as well :-) 

--- 

**Want to sponsor?** Email `[kristina@cooperpress.com](mailto:kristina@cooperpress.com)` for details. 

--- 

Published by Cooper Press Ltd.
Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom 

[Stop getting this newsletter.](https://nodeweekly.com/leave/*|UID|*)
