The Node testing framework we were sleeping on

#​455 — September 22, 2022

Read on the Web

📗  Shell Scripting with Node.js — 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 and/or just read it online for free. A new resource to bookmark for sure.

Dr. Axel Rauschmayer

🧈 ButterCMS Melts into Your Node App. #1 Rated Headless CMS — 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 pkgpkg 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’ — 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. 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 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 inside WSL, opening up another way to start your Node apps on Windows.

Troubleshooting When a Child Process’s 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

Courier sponsor

🛠 Code & Tools

Japa: An Alternative Testing Framework for Node — 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 (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 — 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

GraphQL Hive sponsor

DOCX 7.5: Generate Word .docx Files from Node or Browser — 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.GitHub repo.

Dolan Miu

 Cheatbeads: A Library for.. Cheating at Chess? — 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

💻 Jobs

Senior JavaScript/TypeScript Developer (Remote or Warsaw) 🇵🇱 — 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 — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It’s free for job-seekers.
Hired

Related Post

Anyone know Larry Ellison?Anyone know Larry Ellison?

<table border=0 cellpadding=0 cellspacing=0 align="center" border="0"> <tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; "> <div> <table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr> <td align="left" style="padding-left: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height:

Popular Node.js practices to reconsiderPopular Node.js practices to reconsider

<table border=0 cellpadding=0 cellspacing=0 align="center" border="0"> <tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; "> <div> <table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr> <td align="left" style="padding-left: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height:

Genius misuse of WOFF 2 and Brotli to win a JavaScript contest.Genius misuse of WOFF 2 and Brotli to win a JavaScript contest.

<table border=0 cellpadding=0 cellspacing=0 align="center" border="0"> <tr><td style="font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: 1.55em; "> <div> <table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0><tr> <td align="left" style="padding-left: 4px; font-family: -apple-system,BlinkMacSystemFont,Helvetica,sans-serif; font-size: 15px; line-height: