Deno wants us to ditch CommonJS
#493 — July 4, 2023
RegExp’s v Flag with Set Notation and Properties of Strings — The capability of regexes in Node has been turned up a few notches, especially in the support for, and manipulation of, Unicode character sets (for example, you can now do things like ‘match all Greek symbols except π’). The post is from 2022 but we’ve been sitting on it as it’s taken till now for it to be supported.
Davis, Scherer. and Bynens
Setting Expectations for the Node.js Test Runner — An update on Node’s new test runner (stable since Node 20.0) from a TSC and core team member. He explains why an official test runner was introduced and how it tries to strike a balance between being powerful and minimal.
Colin J. Ihrig
Enterprise UI Development: Testing & Code Quality — Managing or migrating large apps and codebases? This video course covers what you need to know to scale efficiently whilst maintaining code quality. Covers unit testing, CI pipelines, mocking, code coverage, and more.
Frontend Masters sponsor
Andy Jiang (Deno)
Tangerine: DNS over HTTPS for Node.js — A drop-in replacement for dns.promises.Resolver that uses Undici to perform DNS requests over HTTPS, complete with built-in retries, timeouts, caching, and the ability to abort requests.
There’s a new release of alternative JS runtime, Bun: Bun 0.6.12. Guess what? Yes, more Node.js compatibility improvements!
A walkthrough of ways to run ‘cron’ style scheduled jobs in Node that ultimately promotes the author’s own company, but is a reasonable roundup nonetheless.
Liran Tal explains why to avoid Fastify’s reply.raw and reply.hijack and shares an alternative approach.
A Massive Bug at the Heart of the npm Ecosystem? — In short, package manifests and their actual contents aren’t necessarily aligned and this can be manipulated by bad actors into even catching out some security tools.
The Register covered the story too, if you prefer their punchy writeups.
🚨Node 16 Is Hitting EOL on Sep 11 🚨 Need to Upgrade Fast? — Let us help with your Node upgrade. Collaborate with the @JSUpgrade team and upgrade your dependencies now 🚀
🛠 Code & Tools
rrule.js: Work with Recurrence Rules for Calendar Dates — iCalendar is a data format for representing calendars and schedules, and RRULE is its way to define recurring events. rrule.js allows you to work with such rules, and has an amazing ‘playground’ style homepage to show it off.
Simple Statistics: Statistical Methods in Readable JS — A lot of the functions are quite simple, but the API is easily understood and covers areas like averages, deviations, correlation, and randomness.
Tuan Anh Tran
Ableton.js 3.2.5 – Control Ableton Live from Node.
NodeBB 3.2 – Node based forum software.
Wretch 2.6 – Popular fetch wrapper.
BullMQ 4.2 – Redis-backed message queue.
icc 3.0 – Parse ICC color profiles.
💻 Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.
🐦 If you have any tweets left in your quota, @codewisdom is an account we’ve been running for years featuring quotes from all the greats, like Grace Hopper and John Carmack.
📗 Domain-Driven Design with Go is a new Packt book from Matthew Boyle covering one of the industry’s most sought-after developer skills. (And if you are a Go developer, we have a Go newsletter for that, too.)
We’re experimenting, but Classifieds is a new way to share projects or services you may find useful or to promote your own, with a mix of free and paid options.
We’ll share more info about them soon.
🎁 A Bonus Item
NocoDB: An Open Source Airtable-a-Like — Airtable is a popular (though commercial) spreadsheet/database-hybrid service, but this is a good looking and mature open source pastiche (‘clone’ just doesn’t sound appropriate with something so well made).