---
title: "The Node testing framework we were sleeping on"
publication: "Node Weekly"
issue: 455
published_at: "2022-09-22"
canonical_url: "https://nodeweekly.com/issues/455"
---

Plus Dr. Axel's new Node book, compiling Node apps with pkg, and let's all head to Val Town. |        

#​455 — September 22, 2022 

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

![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,q_auto/ulrt62hqlgttfpalf68b.jpg)](https://exploringjs.com/nodejs-shell-scripting/)  

📗 [Shell Scripting with Node.js](https://exploringjs.com/nodejs-shell-scripting/) — Axel is too humble to call this an ‘Ultimate Guide’ or the like, but it is. After months digging into the guts of Node, npm, and the technicalities of shell scripting, he’s released a complete book. You can support him by buying it in various useful formats and/or [read it online for free](https://exploringjs.com/nodejs-shell-scripting/toc.html). A new resource to bookmark for sure. 

Dr. Axel Rauschmayer   [![\](https://copm.s3.amazonaws.com/d06f4ffd.png)](https://buttercms.com/nodejs-cms/?utm_source=nodeweekly&utm_medium=email&utm_campaign=numberone) 

[🧈 ButterCMS Melts into Your Node App. #1 Rated Headless CMS](https://buttercms.com/nodejs-cms/?utm_source=nodeweekly&utm_medium=email&utm_campaign=numberone) — ButterCMS is your content backend. Enable your marketing team to update website + app content without needing you. Try the #1 rated Headless CMS for Node today. Free for 30 days. 

🧈 ButterCMS sponsor   

[Real World Node.js Native Binary Compilation with `pkg`](https://www.pulumi.com/blog/nodejs-binaries-with-pkg/) — [pkg](https://github.com/vercel/pkg) is a long standing tool for packaging up complete Node apps into distributable executables. Your JavaScript can be compiled into V8 bytecode, making it harder to reverse engineer, too. The author explains how Pulumi uses it, and some issues they encountered. 

Daniel Bradley   

[Amplication 1.0: Create Node Applications Without 'Repetitive Coding'](https://github.com/amplication/amplication) — First unveiled two years ago with a bold promise to be able to build a ‘fully functional Node server-side app’ in under five minutes, Amplication hits 1.0 and now tackles the front-end too. More on [their homepage.](https://amplication.com/) It’s Apache licensed but has a business model around providing hosting for such apps. 

Yuval Hazaz   

**IN BRIEF:** 

- There are likely to be new versions of Node 14.x, 16.x, and 18.x [later today or tomorrow](https://nodejs.org/en/blog/vulnerability/september-2022-security-releases/) to fix a handful of security issues.
- In case you _aren't_ getting emails about it from AWS, **AWS Lambda is dropping Node.js 12 support,** so you might need to get upgrading. Existing functions will continue to run but as of December 14, you will not be able to update them while remaining on the 12.x runtime.
- WSL users rejoice: [You can now run `systemd`](https://devblogs.microsoft.com/commandline/systemd-support-is-now-available-in-wsl/) inside WSL, opening up [another way to start](https://nodesource.com/blog/running-your-node-js-app-with-systemd-part-1/) your Node apps on Windows.   

[Troubleshooting When a Child Process's Spawn Output Is (Sometimes) Empty](https://upstart.chrishic.com/node-js-troubleshooting-child-process-spawn-output-is-sometimes-empty/) — If you use `child_process.spawn()` to invoke external scripts or tools, you might find, like the author, that it begins to fail in unusual ways. Join Chris as he tracks down an (easily resolved) bug that could trip you up.. 

Chris Hickman   

[Send Email, Push, & SMS Notifications Straight from Your Node App](https://www.courier.com/blog/hackathon-courier-api-nodejs/?utm_campaign=demand-gen&utm_source=email&utm_medium=node-weekly-9-22&utm_content=secret-message-blog) 

Courier sponsor   

- [How to Build AWS Lambdas with TypeScript](https://blog.appsignal.com/2022/09/21/how-to-build-aws-lambdas-with-typescript)
- [Why You Shouldn't Mix `Promise.then()` with `async`/`await` Syntax](https://maximorlov.com/why-you-shouldnt-mix-promise-then-with-async-await/)    

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/iicasmsqtbnbxucqgpae.jpg)](https://japa.dev/docs)  

[Japa: An Alternative Testing Framework for Node](https://japa.dev/docs) — Somehow this skipped our radar recently, so we’re grateful for the team pointing it out to us! Coming from the same team as [AdonisJS](https://adonisjs.com/) (a Node Web framework), Japa slides into your existing workflows and has no build tool requirements. You get first-class support for OpenAPI schema driven testing of endpoints, dataset driven tests, and even an official VS Code extension. 

AdonisJS Team   

[js2xmlparser 5.0: Turn JavaScript Objects into XML](https://github.com/michaelkourlas/node-js2xmlparser) — Much as you might turn an object into JSON, this does the same going to XML. 

Michael Kourlas   

[GraphQL Hive: Powerful and Open-Source GraphQL APIs Registry](https://graphql-hive.com?utm_source=newsletter&utm_medium=email&utm_campaign=nodeweekly&utm_content=sept_16_2022) 

GraphQL Hive sponsor   

[DOCX 7.5: Generate Word `.docx` Files from Node or Browser](https://docx.js.org/) — The code to lay out your documents is quite verbose, but there’s a _lot_ of functionality baked in. Here’s a [basic CodePen-based example.](https://codepen.io/dolanmiu/pen/RwNeObg) – [GitHub repo.](https://github.com/dolanmiu/docx) 

Dolan Miu   

⠇ [Cheatbeads: A Library for.. Cheating at Chess?](https://www.npmjs.com/package/@alleyio/cheatbeads) — I never thought we’d be supporting cheating at the noblest of games, but Cheatbeads' can be used for more than that. It converts text into a Morse-esque notation that could be used to, say, deliver a message surreptitiously to a vibrating device. 

Alley / Josho   

- [article-parser 7.2.1](https://github.com/ndaidong/article-parser)
 ↳ Extract main article copy for a given URL.
- [Quagga2 1.7.3](https://github.com/ericblade/quagga2)
 ↳ Advanced barcode scanner for Node and browser.
- [Got 12.5](https://github.com/sindresorhus/got)
 ↳ Human-friendly and powerful HTTP request library.
- [lmdb-js 2.6](https://github.com/kriszyp/lmdb-js)
 ↳ Fast, simple data store wrapper for LMDB.
- [Nativefier 50.0](https://github.com/nativefier/nativefier)
 ↳ Make any web page a desktop app with Electron.
- [Discord.js 14.4](https://github.com/discordjs/discord.js) – Interact with Discord's API.
- [Pino 8.6](https://github.com/pinojs/pino) – The JSON logger.
- [Electron 20.2](https://github.com/electron/electron/releases/tag/v20.2.0)    

💻 Jobs  

[Senior JavaScript/TypeScript Developer (Remote or Warsaw) 🇵🇱](https://cksource.com/careers/?utm_source=jsweekly&utm_medium=email&utm_campaign=sep9#senior-javascript-typescript-developer) — Join CKEditor team to develop an Open Source project used by millions of users around the world 🚀and realize your true potential. 
CKEditor   

[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|*)
