Taking Node to the JVM
#507 — October 24, 2023
Javet 3.0: Embed Node and V8 in Java Apps — Lets you spin up V8 interpreters or full Node.js runtimes within JVM-based apps. It’s cross platform, mature, and well maintained with support for Node 20 and V8 11. There’s a helpful slide presentation that fleshes out the idea and demonstrates how the integration works.
Yarn 4.0 Released — Yarn began life as an npm alternative that resolved several major pain points with npm at the time, particularly around performance. It remains a popular option and v4 introduces a new ‘hardened mode’ to protect you from certain security issues and boasts an improved constraints engine and performance almost on par with pnpm.
Monitor Your Node.js and Remix Application with AppSignal — With insights into the performance of Remix components like loaders and routing, AppSignal helps you refine your Remix application. This blog post will show you how to start monitoring your Remix application using AppSignal.
LTS vs Current: A Reminder about Node’s Different Release Lines — The big news last week was the release of Node v21 which becomes the new ‘current’ release line. On Mastodon, Emilia reminded me that the current release line is considered unstable, so v21 is not necessarily something every developer should rush to ‘upgrade’ to. She’s right, so I wanted to link to Node’s official Releases page which gives a more visual representation of how the releases relate.
The latest ▶️ Node.js Technical Steering Committee meeting is an eye opener if you’re reliant on Node.js on Windows. Skip to around 35 minutes in to hear about the problems the project could face if Node faced a sudden, significant vulnerability on Windows: “I don’t think the project will be able to fix it.”
You can now sponsor Yagiz Nizipli, creator of the Ada URL parser now used in Node, and support his Node.js performance work, among other things, on GitHub Sponsors.
It’s early days, but Backroad is an interesting attempt to create something like Python’s Streamlit, but for Node. The basic idea is you focus on building the backend of your app with the frontend mostly taken care of by the framework. GitHub repo.
Adding Search to an Eleventy Site Without Client-Side JS — 11ty (a.k.a. Eleventy) is a fantastic Node-based static site generator.
ES Module Imports in Node.js and the Browser — Just a quick example/handy recap of the basic setup.
🛠 Code & Tools
imgly/background-removal: Remove Backgrounds from Images — A system built by Imgly for removing backgrounds from images directly in Node or the browser (which means there’s a live demo) without relying on a third party service. It relies upon a trained model to do this, however, which ranges in size between 42MB and 168MB. Note: GPL licensed.
Wireit: Extends npm/Yarn Scripts to Make Them Smarter and More Efficient — Working with npm run and not replacing it, Wireit extends your scripts with a variety of features like result caching, parallelization, watching/re-running on changes, and there’s a VS Code extension to help you write such enhanced scripts too.
Accelerate Your Development with Catalyst—Get $250 in Credits + a Free Trial — Simplify your development workflow, harness the power of machine learning, effortlessly deploy apps, and automate like never before.
Catalyst by Zoho sponsor
npm-publish 3.0: GitHub Action to Publish to npm — Publish packages to npm automatically in GitHub Actions by updating the version number. v3.0 updates the action’s runtime to Node.js v20, now that GitHub Actions is transitioning from Node 16 to 20.
Official MongoDB Node.js Driver v6.2.0 — A small release, but BSON is now printed with color/syntax highlighting.
Serverless Offline 8.5: Local Emulation of AWS Lambda and API Gateway — An interesting Serverless Framework-oriented alternative to AWS SAM Local that supports Node, Python, Go and Ruby runtimes.
SQS Consumer 7.4 – Amazon Simple Queue Service (SQS) apps sans boilerplate.
Mercurius 13.2 – Implement GraphQL servers and gateways on Fastify.
Necord 6.2 – Framework for creating Discord bots atop NestJS.
express-rate-limit 7.1.2 – Basic rate-limiting middleware.
WhatsApp Bot 2.0 – Ready-to-roll WhatsApp bot.
http-fake-backend 5.0 – Build a ‘fake’ backend powered by JSON files. Now works with Node 18 but has gone into archived status.
“In programming, if someone tells you ‘you’re overcomplicating it,’ they’re either 10 steps behind you or 10 steps ahead of you.”