#​496 — July 25, 2023

Read on the Web

Together with  Dynaboard logo
Node.js Weekly

The Node.js Best Practices List: 2023 Edition — A valuable, long standing resource has been “modernized to 2023 standards” (complete with recommendations of more modern libraries) with lots of work by creator Yoni and an ever growing team of contributors. The topics remain the same, however, covering areas like code style, project architecture, and taking apps into production. (If you’re already familiar with this list, you can skim through the #new and #updated hashtags on the page.)

Yoni Goldberg et al.

Microsoft TypeChat: An Approach for Type-Safe LLM Responses — It’s interesting to see a new project from Microsoft with so many prominent names attached to it, but demonstrates the huge excitement within MS for ML and large language models (LLMs). TypeChat’s goal is to work around the issue of LLMs outputting unstructured natural language and instead to direct such output into a predictable, typed form.

Hejlsberg, Lucco, Rosenwasser et al.

How To Build a Web App in 60 Seconds Using AI — Dynaboard's low-code IDE offers 40+ built-in UI components & easy DB connections. Use AI to generate any SQL, JS & CSS.

Dynaboard sponsor

Node v18.17.0 (LTS) Released — Not a huge update of the LTS release, more a ‘keeping up to date’ release, but Node 18 gains Ada 2.0 (the WHATWG-compliant URL parser), as well as improvements to Web Crypto API support.

Danielle Adams

📣 Node v20.5.0 (Current) has also been released, but without any significant changes or new features.

pkg-size: Find the True Size of an npm Package — A well designed tool that can quickly show you the true size of an npm package (including dependencies) using the actual packages by npm installing them in a WebContainer-powered virtual environment, all in your browser. Hiroki has a Twitter thread where he explains more about how it works.

Hiroki Osame

ASIDES:

  • Bun is an alternative JavaScript runtime built atop WebKit's JavaScriptCore, as opposed to Deno which uses V8, like Node. Like Deno, however, Node compatibility is important to Bun and Bun 0.7 improves Node compatibility, Vite support, implements Web Workers, and has a new --smol option to run in memory-constrained environments (it uses 1/6th as much memory in one benchmark).

  • The idea for Node to natively support .env files was first floated last year, but now there's a pull request making progress on the matter.

  • If you're a VS Code and TypeScript user who's tired of lengthy, hard to decipher error messages, Pretty TypeScript Errors is a VS Code extension worth checking out.

  • North Korea's newest export: malicious npm packages?

The 2023 State of the API Report is Here — The State of the API is the world's largest survey and report on APIs, with findings from over 40K developers and API professionals.

Postman sponsor

Generating JS and Python SDKs from a Canonical Rust SDKPostgresML is an extension that adds machine learning functions into Postgres. Its team loves and prefers Rust but most of its users are using JavaScript or Python. What to do? Simultaneously write multi-language libraries using Rust..

Silas Marvin (PostgresML)

Content-Security-Policy (CSP) Testing Using Cypress
Gleb Bahmutov

Using npm Workspaces with Docker
Nathan Fries

🛠 Code & Tools

Ink 4.3: Build Interactive CLI Apps using React — A terminal-based React renderer so you can build command line apps using React-style components. It's mature and used by all sorts of folks.

Vadim Demedes

Necord: A Framework for Creating Discord Bots — It uses Nest and Discord.js under the hood. Some example apps show how easy it is to deploy bot functions. GitHub repo.

Necord

MailDev: SMTP Server and Web Interface for Testing Emails — If your app needs to send email, rather than sending it to a live account, you could send it to this app which lets you get a local preview without having to think about spam filters, etc.

Dan Farrelly

📰 Classifieds

💻 Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.


📧 Did you know we have a Postgres newsletter too? We cover everything from SQL through to the latest in vector storage, GIS, hosted platforms, and Postgres extensions.

Classifieds is a new way to share projects, events or services you may find useful, with a mix of free and paid options.

fast-png 6.2: Pure JS PNG Image Decoder and Encoder — Pass it a PNG to decode via a TypedArray or Buffer, or a Canvas ImageData (or compatible object) to encode into PNG.

Michaël Zasso

brotli-wasm 2.0: A Brotli Compressor and Decompressor — Covers both Node and the browser by means of WebAssembly.

HTTP Toolkit