Leaky timeouts
#535 — June 11, 2024
Node is Leaking Memory? setTimeout Could Be The Reason — The folks at Sentry were running into problems with how Node handles timeouts created with setTimeout or, more specifically, problems caused by hanging on to the Timeout objects setTimeout returns..
Armin Ronacher
Using Node.js’s Test Runner: The Official Guide — A useful new guide on the official Node site to the fundamentals of setting up and using Node’s new test runner functionality, along with snapshot tests (as supported by Node 22.3+).
Jacob Smith
Memetria: Efficient Redis Hosting — Optimize your Redis with Memetria’s efficient hosting. Track keys, view detailed metrics, and maintain consistent uptime for better performance.
Memetria sponsor
Exchanging Messages Between Node Processes with Execa 9.2 — The latest version of the execa process execution library introduces IPC methods to communicate between processes. Maintainer ehmicky shows us the elegant API that makes it all come together here.
ehmicky
QUICK BITS:
The first release candidate of TypeScript 5.5 has been released. Over on YouTube, Theo calls it ▶️ ‘the biggest TypeScript update in years’.
TEO is a new schema-driven web API framework that targets, unusually, Rust, Python and Node.js. You supply the schemas, TEO generates the code.
📄 JSR: The JavaScript Package Registry We’ve Been Waiting For? Lev Gelfenbuim
📄 Top 12 Git Commands Every Developer Must Know Kedasha Kerr (GitHub)
🛠 Code & Tools
uuid v10: Generate RFC-Compliant UUIDs in JavaScript — Covers UUID v1, v3, v4, v5, v6, v7, and v8. Works across all major browsers and Node 18 and up. v10.0 drops Node 12 and 14 support and adds support for further types of RFC9562 UUIDs (namely v6, v7 and v8).
Robert Kieffer and contributors
Lambda API 1.1: A Lightweight Web Framework for Serverless Apps — A stripped down framework that takes an Express-esque approach to putting together serverless JavaScript apps to run on AWS Lambda behind API Gateway.
Jeremy Daly
[Webinar] Saga Pattern: Compensating Transactions at Will Bank — Hear Will Bank discuss financial transaction challenges and how Temporal’s durable execution ensures reliable consistency.
Temporal Technologies sponsor
Merge Anything 6.0: Merge Objects and Other Types Recursively — If you’re looking for something that goes a bit deeper than Object.assign(), say.
Luca Ban
GraphQL Query Complexity Analysis for GraphQL.js — Provides GraphQL query analysis and validation to reject complex queries to your GraphQL server to help protect against resource exhaustion and certain DoS attacks.
Ivo Meißner
Unleash 6.0: An Open Source Node-Powered ‘Feature Toggle’ Service — The sort of system you’d use if you want to remotely toggle features on and off within an app. Built in JavaScript but has clients for Java, Go, Ruby, Python, PHP, Rust, and .NET Core as well.
Unleash
CodeFlattener: Condense Your Node Code into a Single JS File for Analysis — This isn’t your typical build tool, however. The aim is to crush your code down enough such that it can be fed into LLMs and other AI tools for easier analysis.
Bill Christo
📰 Classifieds
📊 SupaPoll: An event-driven open-source real-time voting application built with Supabase, Twilio, Hookdeck, and Next.js. Learn more.
🗣️”Compared to our previous experiences in the security/auth space, Userfront is an order of magnitude simpler to use.”
c8 10.0 – Code-coverage reports using Node’s built in functionality.
YouTube.js 10.0 – An unofficial way to use YouTube’s internal API.
pnpm 9.3 – The fast, efficiency-focused package manager.
npm-package-json-lint 8.0 – A package.json linter for Node projects.
Ottoman 2.5 – ODM for Couchbase, now with transactions support.
Electron Packager 31.0 – Customize and package Electron apps.
ExpressoTS 2.12 – TypeScript framework for server-side apps.
rpc-websockets 9.0 – JSON-RPC 2.0 over WebSockets.
strong-soap 4.1 – Full-featured SOAP driver.
Javet 3.1.3 – Java + V8. Embed JS into Java.