Plus making an appeal to Oracle and Larry Ellison over JavaScript's future. |

#​705 — September 19, 2024

Read on the Web

Together with  QA Wolf

JavaScript™? Weekly

'Oracle, It’s Time to Free JavaScript.' — It’s long been a bone of contention that Oracle owns the trademark for ‘JavaScript’ (we put out a call two years ago) but this marks the first serious effort to try and change that, including petitioning the USPTO, if necessary. You can support the effort by signing this open letter, joining a vast array of JavaScript luminaries.

The JavaScript Community

Now You Can Compile and Run C in JavaScript — Well, if you’re using Bun, at least. Bun v1.1.28 lands experimental support for compiling and native C code and then running its functions from JavaScript. It's easier than it sounds..

Jarred Sumner (Bun)

😅 Bun's creator said this is "an unplanned feature I worked on mostly a month ago on a Saturday for fun" – that's our kinda fun!

✂️ Cut Your QA Cycles Down from Hours to Minutes with QA Wolf — If slow QA processes bottleneck your software engineering team and you’re releasing slower because of it, you must check out QA Wolf. QA Wolf gets engineering teams to 80% automated end-to-end test coverage and helps them ship 2x faster by reducing QA cycles from hours to minutes. Learn more.

QA Wolf sponsor

ts-blank-space: Fast Type-Stripping TypeScript to JS Compiler — It’s job is simple: be the fastest TS to JS compiler written in JS (it’s 5.6x faster than tsc.) Types are simply replaced with whitespace preserving the coordinates of the JS code which eliminates the need for sourcemaps entirely.

Ashley Claymore / Bloomberg

IN BRIEF:

RELEASES:

  • Fastify v5Fastify is a popular, perf-focused web framework for Node.js, inspired by Express (which recently reached v5.0 too!)

  • Astro 5 Beta – Astro helps keep the run of v5.0 releases going..

  • Node.js v22.9 (Current) – Adds a util.getCallSite function to obtain the stacktrace of the current execution. V8's Maglev JIT is also disabled for reliability reasons due to outstanding issues in V8.

  • Hono 4.6 – The nifty 'any runtime' webapp framework gains context storage middleware.

ViteConf is October 3rd! — StackBlitz is r(ai)sing the bar in the ViteConf '24 keynote. You won’t want to miss it 👀.

StackBlitz sponsor

📒 Articles & Tutorials

Mathematical Symbols and JavaScript Equivalents — We’re not just talking the obvious like + and - but things like ⁿ√, Σ, Π, ∃, and set notation.

Joshua Nussbaum

A React 19 Cheat Sheet — From Kent C Dodds, of Epic React fame, comes this part cheat sheet, part succinct reminder of some of the new things you can do in React 19, along with (very) brief code examples.

Kent C. Dodds

[Workshop] Fix Your Front-End 101: JavaScript Edition — Learn practical tips to debug JavaScript end to end. Join our JavaScript team live on Sept 24.

Sentry sponsor

From Parcel to Vite: A Short Story of a 100K LOC Migration“We’ve migrated our frontend projects from Parcel to Vite, and the process was… smooth.”

Gao / Logto

How to Create a Chrome Extension with React, TypeScript, Tailwind CSS and Vite — Covers everything you need to know right through to publishing in the Chrome Web Store.

Lokman Musliu

📺 Building a React-Powered TODO App in 9 Steps – A 54 second video showing off the key stages, all without any libraries except React. Danny Thompson

📄 12 Ways to Better Vue Components with TypeScript Fotis Adamakis

📄 Why We Switched from Cypress to Playwright S Varun (BigBinary)

📄 Bitwise Operators in JavaScript and When to Use Them 8 Hobbies

📄 An Introduction to TanStack Router Adam Rackis

🛠 Code & Tools

date-fns v4.0 Released with First-Class Time Zones Supportdate-fns is a hugely popular and comprehensive suite of 200+ functions for working with dates in JavaScript, and now there’s first-class time zone support too.

Sasha Koss

ts-remove-unused: Remove Unused Code from TypeScript Projects — A tool that can auto-fix unused exports (removing export from the declaration or the whole declaration based on its usage) and delete modules that have no referenced exports. Knip is another mature tool in this space, though focused more on detecting the things you can remove.

LINE

Amplify the Benefits of JWTs and Session Tokens — Learn how leveraging the benefits of both session token authentication and JWTs results in the best of both approaches.

Clerk sponsor

Next.js SaaS Starter: A Next.js Template for SaaS Webapps — A starter template for building a SaaS-style webapp using Next.js with authentication, Stripe integration, and a dashboard for users. It uses Postgres and Drizzle for the database and UI elements based on shadcn/ui and Tailwind.

Lee Robinson (Vercel)

nano-spawn: Tiny Execa-Inspired Process Execution for Node.js — If you’re familiar with Sindre’s Execa for running commands from a Node app in a reliable manner, nano-spawn offers its core functionality in a smaller package.

Sindre Sorhus and ehmicky

DECK.GL: GPU-Powered Large-Scale Data Visualization Framework — Well suited to geospatial data visualization use cases that go beyond typical 2D views. There are plenty of examples to show it off. Can be used through both vanilla JS and React interfaces.

OpenJS Foundation

Vue-Multiselect 3.1: A Complete 'Selecting Solution' for Vue.js — There’s a lot on offer here, complete with SSR support, Vuex support, strong test coverage, and with no dependencies.

Damian Dulisz et al.

Chokidar 4.0: Efficient Cross-Platform File Watching Node.js Library — Wraps around fs.watch / fs.watchFile and normalizes the events received, applies best practices, and presents an API that works the same across platforms.

Paul Miller

n