#​504 — October 3, 2023

Read on the Web

Together with  Frontend Masters logo
Node.js Weekly

Honey, I Shrunk the npm Package! — Compression sits under the hood of everything on the modern Web, including npm packages (distributed as gzipped tarballs). Could the standard gzip approach be showing its age in both speed and effectiveness? Jamie runs a package through a few alternatives and gives an update on efforts to modernize npm’s compression defaults.

Jamie Magee

New Introduction to Node.js Course — Take your JavaScript skills to the server and gain all the skills you need to develop professional Node apps. The course covers CLIs, modules, CRUD operations, async code, testing, and more.

Frontend Masters sponsor

Node v20.8.0 (Current) Released — With only three more weeks to go until v20 becomes the active LTS version (don't worry – we'll remind you), a lot of work has been going into making Node faster. v20.8 gains some key performance improvements with regards to streams.

Ruy Adorno and the Node.js Team

ASIDES:

Integrating Slonik with Express.jsSlonik is a type-safety focused Postgres client library for Node and its author gives a basic introduction to integrating it with an Express app. Useful snippets if you’re just getting going.

Gajus Kuizinas

Towards a Socket API That Works Across JS Runtimes — Certain JS runtimes have long had limitations that make creating TCP sockets impossible. Earlier this year, Cloudflare introduced the connect() API for establishing TCP connections from Cloudflare Workers and now engineers from both Cloudflare and Vercel have created a spec around this API, along with a Node-compatible implementation you can use now to create universal experiences.

Picheta, Snell and Arrowood

🚨Node 16 Has Hit EOL! 🚨Need to Catch Up? — Let us help you gradually pay off your JavaScript technical debt. Collaborate with the @JSUpgrade team and upgrade your dependencies now 🚀

UpgradeJS | JavaScript Services sponsor

Best Practices for Securing Node Apps in Production — A list of fifteen straightforward and fundamental best practices for keeping your apps safe(r).

Zanini and Fernandez (Semaphore)

Working with a TypeScript Monorepo with NPM Workspaces — npm’s workspaces feature makes it easier to manage multiple packages within a single top-level package/monorepo.

Dmitry Kudryavtsev

🛠 Code & Tools

Instant.dev: A New Postgres-Focused ORM for JavaScript — We teased it last week, but Instant now has an official homepage. Joining a pretty busy ORM ecosystem, Instant is a new option (spun out of the Autocode platform) providing a more Ruby on Rails/ActiveRecord-like experience.

instant․dev

dotenv-flow 4.0: Loads Environment Variables From Multiple .env Files — The latest versions of Node (v20.6+) have built-in .env file support but if it’s still a bit too new for you or you need extended functionality, dotenv-flow is for you. It extends dotenv into loading different .env files, such as in different scenarios like production, testing, etc.

Dan Kerimdzhanov

📰 Classifieds

📑 Learn how Temporal OSS delivers durable execution for your services and applications in this TypeScript SDK developer’s guide.


🎟️ Join Astro core team member Elian Van Cutsem to see what is new in Astro 4 at CityJS Berlin, Nov 1-3. Use discount code COMMUNITY to save 25% off.


📆 Debugging Node.js Errors Faster with Distributed Tracing - Join Sentry on October 17, to learn how to connect frontend and backend.

Tesseract.js 5.0: Pure JS OCR for 100+ Languages — A port of the C++-based Tesseract library commonly used for extract text from images. v5.0 is a big deal with huge file size reductions resulting in a 50% decrease in runtime size and similar reductions in memory use. GitHub repo.

Tesseract Team

Gluegun: A Toolkit for Building Node-Powered CLIs — For when you want to build a CLI app and want a lot of features available ‘out of the box’. Areas covered include templating, sub-command support, colorful output, argument parsing, etc.

Infinite Red, Inc.

node-osc 9.0: Open Sound Control Protocol LibraryOSC is a protocol used to communicate between media devices.

Myles Borins

Vavite 3.0: Develop Server-Side Applications with ViteVite is best known as a build tool associated with (but that doesn’t require) Vue.js but it supports transpiling server-side code too which Vavite takes advantage of.

Fatih Aygün

Glob: Match Files Using Shell-Style Patterns“The most correct and second fastest glob implementation in JavaScript.”

Isaac Z. Schlueter