Hey, how many C’s are there in JavaScript?
#705 — September 19, 2024
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:
🏆 Developer analyst firm RedMonk has put out a Q3 2024 ranking of programming languages with JavaScript happily in first place.
📺 Honeypot has released a nine minute documentary where Ryan Dahl (the original creator of Node.js) and Bert Belder ▶️ tell the story of how Deno began.
Talking of Deno, Deno 2.0 is expected to be released tomorrow.
🧭 Alongside new releases of macOS, iOS, and iPadOS, Safari 18 has been released. Alongside numerous Web API enhancements, its JS regex support has been enhanced when it comes to Unicode.
🔥 David Bushell tried JSR – he didn’t like it.
RELEASES:
Fastify v5 – Fastify 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 Support — date-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
Express.js 4.21 – We featured Express.js 5.0 last week, but the widely deployed 4.x branch continues to get updates.
⭐ Starlight 0.28 – Astro’s official, all-in-one docs site builder.
Material UI 6.1 – Independent React components using Material Design.
Varlet 3.5 – Material Design-inspired component library for Vue 3.
Preact 10.24 – The 3KB React-compatible alternative.
NodeBB 3.9 – Node.js based forum system.