Simple tests for dark scenarios
#494 — July 11, 2023
Node v20.4.0 Introduces Mock Timers — The latest release of Node includes a new MockTimers API that can make any tests involving time-dependent functionality more reliable and deterministic by mocking setTimeout, setInterval, node:timers, and more.
Rafael Gonzaga
Testing the Dark Scenarios of Your Node App — An interesting look at some examples of easily overlooked but nonetheless important tests to have in your app or package. What happens when a service times out, code is mutating things it shouldn’t, or you have zombie processes milling around? These are some of the ‘dark scenarios’ you can easily be prepared for.
Yoni Goldberg and Raz Luvaton
Memetria: Secure, Scalable Redis 7 Hosting — High performance Redis hosting with large key tracking, detailed metrics, and a superior uptime record.
Memetria sponsor
Getting Started with Vector Databases in Node — Storing and manipulating vectors has become a popular topic recently because of the advent of large language models, such as those used by systems like ChatGPT. “Embeddings” are vectors that can represent semantic concepts and be stored and compared against each other. Valeri quickly shows us how to create a basic topic classification tool using Node and the Chroma vector database.
Valeri Karpov
TypeScript and ECMAScript Modules in Node.js — An official docs page focusing on the use of ESM with Node.js in TypeScript projects. We’ve linked to this before, but it’s a handy document that continues to be updated.
Microsoft
ASIDES:
The folks at Sandworm have shared a look at the state of the npm registry including lots of trivia, a little history, and stats on how many packages there are, how big the packages are, and the most commonly used package keywords.
Deno 1.35 has been released with yet more Node and npm compatibility improvements. Node packages including Astro, Axios, Discord.js, Parcel, Redis and the AWS SDK are now confirmed to work with the alternative JS runtime.
Multithreading with Worker Threads in Node — A basic introduction to the idea of working with multiple threads.
Camilo Reyes
Using Insecure npm Defaults to Steal macOS Keyboard Shortcuts — Don’t try this at home, folks.
Yagiz Nizipli
🛠 Code & Tools
threads-api: Unofficial Client API for Meta’s Threads — A way to use Meta’s Twitter-a-like from Node? This seems like the sort of thing that won’t work in a month or two, but who knows.. many Instagram libraries have done very well despite a lack of official support.
Junho Yeo
🎵 Spotify Unveils a TypeScript SDK for its Web API — Now this is officially supported. The popular music streaming service has long had a Web API for getting information about songs, managing playlists, controlling playback, etc. and now there’s an officially supported TypeScript SDK for it. This post includes some handy examples.
Jo Franchetti (Spotify)
Late to the AI Bandwagon? Transition to Top AI/ML Roles with Interview Kickstart — Join FREE webinar to learn more. Train with FAANG+ AI/ML engineers. Capstone project for hands-on experience. Up to 15 mock interviews.
Interview Kickstart sponsor
Hakk: An Auto Updating In-Context Node REPL — You’re already familiar with Node’s REPL, but this goes a step further by hot reloading your app’s code (that you’re working on in your usual editor) and maintaining a REPL for tinkering within the app’s context at the same time.
Arthur Edelstein
Tinypool 0.7: An Even Smaller Node.js Worker Pool Library — A fork of the powerful Piscina that aims for fewer depdencies and a smaller footprint overall.
Tinylibs
📰 Classifieds
💻 Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.
☑️ SurveyJS is a dual open source/commercial form and survey management system that lets you create dynamic surveys using JSON or a form builder. You can try a demo of the SurveyJS form builder here.
📧 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 are a new way to share projects or services you may find useful, with a mix of free and paid options.
More details to follow.
Article Extractor 7.3
↳ Fetches a URL, extracts the main content. Now supports AbortSignal.
Expresso TS 1.5
↳ Lightweight server-side app framework.
Zip It and Ship It 9.13
↳ Package Node Lambda functions for deployment.
pnpm 8.6.7 – Alternative package manager.
fnm 1.35.0
↳ Fast Node.js version manager.
Official MongoDB Node.js Driver 5.7