Oracle engages its lawyers and JavaScript turns 29

#​715 — December 5, 2024

Read on the Web

🗓️ If you missed last week’s issue, don’t worry, it didn’t exist – we took a week off for Thanksgiving! We’re now back all the way through to the Christmas break 🙂
__
Your editor, Peter Cooper

JavaScript™ Weekly

Deno v. Oracle: Cancelling the JavaScript Trademark — Did you know Oracle formally owns the ‘JavaScript’ trademark? There have been a few efforts to change this over the years but Oracle isn’t listening, so the Deno team formally filed a petition to cancel the trademark.

Deno

⚖️ And, as of this week, it looks like Oracle is lawyering up to defend it [PDF].

🎂 JavaScript Turns 29 Years Old — If you’re wondering why Oracle has the JavaScript trademark, it’s because Sun owned the name and Oracle acquired Sun (which is also why it owns Java). As someone who was posting inane questions in comp.lang.javascript in 1996, this news makes me feel old – no-one could have anticipated what JavaScript would be today.

Netscape and Sun Microsystems

Add Excel-like Spreadsheet Functionality to Your JavaScript Apps — SpreadJS is the industry-leading JavaScript spreadsheet for adding advanced spreadsheet features to your enterprise apps. Build finance, analysis, budget, and other apps. Excel I/O, 500+ calc functions, tables, charts, and more. View demos now.

SpreadJS from MESCIUS inc sponsor

Astro 5.0: The Web Framework for Content-Driven Sites — Astro has taken the front-end world by storm and v5.0 keeps up its rapid pace of development. Content Layer makes it easy to load content from any source and Server Islands can combine cached, static content with dynamic content. There’s now a type-safe way to manage environment variables and Vite 6 is along for the ride too. You can play with Astro 5 using the astro.new site.

The Astro Team

Take the State of JavaScript 2024 Survey — Each year, Devographics runs a popular survey to see what JS features and tools you know about, use, and love/hate. It’s structured such that you can learn something just from taking it and the results are always interesting (see 2023’s). It’s open for a few more days, despite what the page says. (Or ▶️ watch someone else taking it?)

Devographics

IN BRIEF:

npmjs.com has a ‘new, streamlined search experience. It’s mostly a tweaking of the ‘sort’ options – so take a search like this one for ‘svg’, you can now sort by recent download counts and dependency levels.

TC39 News: Import Sync (explained here) is being promoted to stage 1, Error.isError moves to stage 3, and Intl.DurationFormat moves to stage 4.

🎄 Adrian Roselli has a roundup of development-themed advent calendars for you to enjoy this month, including Advent of TypeScript. ‘Tis the season!

Porffor is an interesting ahead-of-time JavaScript compiler, now complete with a snazzy new homepage.

test262.fyi presents a technical view of how different JS engines fare on the official ECMAScript conformance suite.

RELEASES:

TypeScript 5.7 – The final release of the typed JavaScript superset.

Node.js v22.12.0 (LTS) – A noteworthy release as it’s the first Node LTS release with require(esm) enabled by default.

Radon IDE 1.0 – Turn VS Code or Cursor into a fully-fledged React Native IDE.

Prisma 6 – Powerful Node.js + TypeScript ORM.

Vite 6.0, React Router 7.0, Undici 7, ESLint v9.16.0, Meteor.js 3.1, Relay 18.2, Tailwind CSS v4.0 Beta, Redux Toolkit 2.4, Bun 1.1.38, NeutralinoJS 5.5

📒 Articles & Tutorials

🤖 Using Transformers.js for AI in the BrowserTransformers.js is a seriously impressive project we link from time to time that lets you run pretrained machine learning models in the browser. Here’s a practical look at actually playing with it yourself right now.

Raymond Camden

Working with JavaScript’s Scheduler API — A look at an API only available in Chromium/Edge for now, but that promises a way to prioritize and control task execution in a more refined way than was possible till now.

Trevor I. Lasn

Quokka V2: Deeper Code Insights & Interactive Timeline with New UI — The #1 JavaScript scratchpad just got better! Quokka v2 brings a new UI, interactive timeline, and tools for faster prototyping.

Wallaby Team sponsor

📉 How To Improve ‘Interaction to Next Paint’ in React AppsInteraction to Next Paint (INP) is a Web performance metric based on the responsiveness of an app to user interactions – Google uses it as part of its ranking mechanism. Jacob offers up advice and resources for improving your INP scores in React apps.

Jacob ‘Kurt’ Groß

How Airtable Scaled TypeScript to Thousands of Projects“Today we have nearly 3000 TypeScript projects. That’s why we’re sharing our journey to so many projects, and how it reduced our typechecking time by 65%.”

Michael Mitchell (Airtable)

▶  Building a Teleprompter App in 30 Minutes with AI — Building apps with AI powered tools isn’t unusual nowadays, but if you’ve never been through the process, this is a good look at how it works all the way through to deployment.

Kilian Ekamp

Build Fully Functional Apps in Minutes, Not Months — Create, run, edit, and deploy full-stack web apps with Bolt.

StackBlitz sponsor

📺 Four Talks from the London TypeScript Meetup – All top notch talks. Bloomberg

📄 Optimize JS Module Loading with link rel=’modulepreload’ Trevor I. Lasn

📄 Running Your Next.js SSR App on Deno Deploy Orriols and Jiang (Deno)

📄 From Jekyll to Astro: An AI-Assisted Migration Kevin London

🛠 Code & Tools

Linkify 4.2: Link Up URLs, Emails, and More in Plain Text — Given plain text containing things like links, hashtags, IP addresses, and email addresses, this will generate the correct code to display it on the Web. GitHub repo.

Hypercontext

Skia Canvas 2.0: A ‘Browserless’ Canvas Environment for Node.js — Based on Google’s Skia engine and offers end results similar to Chrome’s own canvas system. GPU accelerated and can render images, paths, fonts, shapes, etc. v2.0 adds support for WOFF/WOFF2 fonts, WEBP, and more. GitHub repo.

Christian Swinehart

Introducing <Waitlist/> Mode – A Virtual Queue for Your App — Launching a new product but not ready to open it up to everyone yet? Waitlist Sign-up mode is your solution.

Clerk sponsor

Math.js 14.0: An Extensive Math Library — Work with complex numbers, fractions, units, matrices, symbolic computation, etc. A long standing library continuing to get frequent updates. GitHub repo.

Jos de Jong

Onlook: ‘Figma’-Like Design App for React — A new open source, local-first design app (for Windows, Linux & macOS) targeting React apps. Design layouts directly on a live page and instantly write your changes to code. GitHub repo.

On Off Inc.

🕒 SpaceTime 7.7: A Lightweight Timezone Library — Use this to calculate times in other timezones. Has a Moment-like API but is immutable. No dependencies. Now updated for 2025. GitHub repo.

Spencer Kelly

BunBuster: A Fast Web and TCP Fuzzer for Brute Forcing Servers — As always, use these sorts of things in a responsible way, but it’s interesting to see tools like this now being built in JavaScript, thanks to Bun’s speed and ease of distributing binaries.

Tiago Rangel

Kaluma: A Tiny JS Runtime for the Raspberry Pi Pico — Can a JS runtime squeeze into 64KB to run on the RP2040-based Raspberry Pi Pico? Kaluma can, even while offering Node.js-style niceties.

Kaluma Project

Todoctor: A Tool to Analyze and Track TODO Comments — A CLI tool designed to collect and monitor TODO/FIXME-style comments in JavaScript and TypeScript projects. GitHub repo.

Azat S

📰 Classifieds

🪝 Hookdeck: A serverless queue to reliably send, receive, transform, filter, and route events across your event-driven apps.

Meticulous automatically creates & maintains E2E UI tests. Zero flakes. Used by Lattice, Bilt Rewards and others.

🐍 PythonMonkey 1.1 – Embed the SpiderMonkey JS engine into Python’s VM.

nrm 1.5 – Fast switching between registries: npm, cnpm, nj, taobao.

LogTape 0.8 – Simple logging library for all major JS runtimes.

Faker 9.3 – Generate fabricated data to your heart’s content.

np 10.1 – A better npm publish. Now supports Bun too.

DOCX 9.1 – Generate .docx / Word files from JavaScript.

Preact 10.25 – The 3KB React-compatible alternative.

Leave a Reply

Your email address will not be published. Required fields are marked *