---
title: "Oracle engages its lawyers and JavaScript turns 29"
publication: "JavaScript Weekly"
issue: 715
published_at: "2024-12-05"
canonical_url: "https://javascriptweekly.com/issues/715"
---

Plus Astro 5.0, TypeScript 5.7, TC39 updates, and a tiny JS runtime for microcontrollers. |        

#​715 — December 5, 2024 

[Read on the Web](https://javascriptweekly.com/issues/715)   

🗓️ 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_ 

Together with [![Mescius\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_454,h_111/e_make_transparent/co_white,e_outline:7/iwtw1igi5mjsbp1jqfn5.png)](https://developer.mescius.com/spreadjs?utm_source=CooperPress&utm_medium=JavaScript-Weekly&utm_campaign=SpreadJS-JS-Weekly-Primary-Sponsor-December-2024)   

JavaScript™ Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/vvltd7jpvusr8kxbku0s.jpg)](https://deno.com/blog/deno-v-oracle)  

[Deno v. Oracle: Cancelling the JavaScript Trademark](https://deno.com/blog/deno-v-oracle) — 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\]**.](https://deno.com/blog/deno-v-oracle/20241204-notice-of-appearance.pdf)  

🎂 [JavaScript Turns 29 Years Old](https://web.archive.org/web/20070916144913/http://wp.netscape.com/newsref/pr/newsrelease67.html) — If you’re wondering _why_ Oracle has the JavaScript trademark, it's because Sun owned the name and [Oracle acquired Sun](https://en.wikipedia.org/wiki/Acquisition_of_Sun_Microsystems_by_Oracle_Corporation) (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   [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/19ff8fd9.png)](https://developer.mescius.com/spreadjs?utm_source=CooperPress&utm_medium=JavaScript-Weekly&utm_campaign=SpreadJS-JS-Weekly-Primary-Sponsor-December-2024) 

[Add Excel-like Spreadsheet Functionality to Your JavaScript Apps](https://developer.mescius.com/spreadjs?utm_source=CooperPress&utm_medium=JavaScript-Weekly&utm_campaign=SpreadJS-JS-Weekly-Primary-Sponsor-December-2024) — 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](https://astro.build/blog/astro-5/) — 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](https://vite.dev/blog/announcing-vite6) is along for the ride too. You can play with Astro 5 using [the `astro.new` site.](https://astro.new/latest/) 

The Astro Team   

[Take the _State of JavaScript 2024_ Survey](https://survey.devographics.com/en-US/survey/state-of-js/2024?source=js_weekly) — 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](https://2023.stateofjs.com/en-US)). It’s open for a few more days, despite what the page says. (Or [▶️ watch someone else taking it?](https://www.youtube.com/watch?v=U3cEZmJRHE4)) 

Devographics   

**IN BRIEF:** 

- [npmjs.com has a 'new, streamlined search experience](https://socket.dev/blog/npm-updates-search-experience). It's mostly a tweaking of the 'sort' options – so take [a search like this one for 'svg'](https://www.npmjs.com/search?q=svg), you can now sort by recent download counts and dependency levels.
- **TC39 News:** [Import Sync](https://github.com/guybedford/proposal-import-sync) ([explained here](https://docs.google.com/presentation/d/1GW_OCoVjd6OJi9BKSlQzQKqxrB0GUKHKFof4s3rn9yk/edit#slide=id.g305421a9f36_0_11)) is being promoted to stage 1, [Error.isError](https://github.com/tc39/proposal-is-error) moves to stage 3, and [Intl.DurationFormat](https://github.com/tc39/proposal-intl-duration-format) moves to stage 4.
- 🎄 Adrian Roselli has [a roundup of development-themed advent calendars](https://adrianroselli.com/2024/12/development-advent-calendars-for-2024.html) for you to enjoy this month, including [Advent of TypeScript](https://www.adventofts.com/). 'Tis the season!
- [Porffor](https://porffor.dev/) is an interesting ahead-of-time JavaScript compiler, now complete with a snazzy new homepage.
- [test262.fyi](https://test262.fyi/) presents a technical view of how different JS engines fare on the official ECMAScript conformance suite.   

**RELEASES:** 

- [TypeScript 5.7](https://devblogs.microsoft.com/typescript/announcing-typescript-5-7/) – The final release of the typed JavaScript superset.
- [Node.js v22.12.0 (LTS)](https://nodejs.org/en/blog/release/v22.12.0) – A noteworthy release as it's the first Node LTS release with `require(esm)` enabled by default.
- [Radon IDE 1.0](https://ide.swmansion.com/) – Turn VS Code or Cursor into a fully-fledged React Native IDE.
- [Prisma 6](https://www.prisma.io/blog/prisma-6-better-performance-more-flexibility-and-type-safe-sql) – Powerful Node.js + TypeScript ORM.
- [Vite 6.0](https://vite.dev/blog/announcing-vite6.html), [React Router 7.0](https://remix.run/blog/react-router-v7), [Undici 7](https://blog.platformatic.dev/undici-v7-is-here), [ESLint v9.16.0](https://eslint.org/blog/2024/11/eslint-v9.16.0-released/), [Meteor.js 3.1](https://blog.meteor.com/meteor-js-3-1-a-new-dawn-for-full-stack-javascript-development-fe54c372c314), [Relay 18.2](https://github.com/facebook/relay/releases/tag/v18.2.0), [Tailwind CSS v4.0 Beta](https://tailwindcss.com/blog/tailwindcss-v4-beta), [Redux Toolkit 2.4](https://github.com/reduxjs/redux-toolkit/releases/tag/v2.4.0), [Bun 1.1.38](https://bun.sh/blog/bun-v1.1.38), [NeutralinoJS 5.5](https://neutralino.js.org/docs/release-notes/framework/#v550)  

📒 Articles & Tutorials  

🤖 [Using Transformers.js for AI in the Browser](https://www.raymondcamden.com/2024/12/03/using-transformersjs-for-ai-in-the-browser) — [Transformers.js](https://huggingface.co/docs/transformers.js/en/index) 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](https://www.trevorlasn.com/blog/javascript-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](https://wallabyjs.com/blog/quokka-2.html?utm_source=cooperpress&utm_medium=javascriptweekly&utm_content=javascriptweekly) — 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 Apps](https://kurtextrem.de/posts/improve-inp-react) — [Interaction to Next Paint (INP)](https://web.dev/articles/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](https://medium.com/airtable-eng/a-leap-in-the-evolution-of-airtables-codebase-scaling-typescript-to-thousands-of-projects-734326c3a553) — _“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](https://www.youtube.com/watch?v=PbqYgK1xpms) — 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](https://bolt.new/?utm_source=js_weekly&utm_medium=secondary) — Create, run, edit, and deploy full-stack web apps with Bolt. 

StackBlitz sponsor   

📺 [Four Talks from the London TypeScript Meetup](https://www.youtube.com/playlist?list=PLnZuxOufsXntTFmTgNKoS4zMWG-MltoYS#typescriptlondon) – All top notch talks. Bloomberg 

📄 [Optimize JS Module Loading with `link rel='modulepreload'`](https://www.trevorlasn.com/blog/module-preload) Trevor I. Lasn 

📄 [Running Your Next.js SSR App on Deno Deploy](https://deno.com/blog/nextjs-on-deno-deploy) Orriols and Jiang (Deno) 

📄 [From Jekyll to Astro: An AI-Assisted Migration](https://www.kevinlondon.com/2024/11/27/ai-blog-rewrite/) Kevin London  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/zqe6jaiisx38tybovkgx.jpg)](https://linkify.js.org/)  

[Linkify 4.2: Link Up URLs, Emails, and More in Plain Text](https://linkify.js.org/) — 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.](https://github.com/Hypercontext/linkifyjs) 

Hypercontext   

[Skia Canvas 2.0: A 'Browserless' Canvas Environment for Node.js](https://skia-canvas.org/) — Based on Google’s [Skia engine](https://skia.org) 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.](https://github.com/samizdatco/skia-canvas) 

Christian Swinehart   

[Introducing <`Waitlist/`> Mode - A Virtual Queue for Your App](https://go.clerk.com/FQmKORc) — 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](https://mathjs.org/) — Work with complex numbers, fractions, units, matrices, symbolic computation, etc. A long standing library continuing to get frequent updates. [GitHub repo.](https://github.com/josdejong/mathjs) 

Jos de Jong   

[Onlook: 'Figma'-Like Design App for React](https://onlook.dev/) — 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.](https://github.com/onlook-dev/onlook) 

On Off Inc.   

🕒 [SpaceTime 7.7: A Lightweight Timezone Library](http://spacetime.how/) — Use this to calculate times in other timezones. Has a Moment-like API but is immutable. No dependencies. Now updated for 2025. [GitHub repo.](https://github.com/spencermountain/spacetime) 

Spencer Kelly   

[BunBuster: A Fast Web and TCP Fuzzer for Brute Forcing Servers](https://github.com/tiagorangel1/bunbuster) — 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](https://kalumajs.org/) — 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](https://todoctor.azat.io/) — A CLI tool designed to collect and monitor TODO/FIXME-style comments in JavaScript and TypeScript projects. [GitHub repo.](https://github.com/azat-io/todoctor) 

Azat S      

📰 Classifieds   

🪝 [Hookdeck](https://hookdeck.com/?ref=jsweekly-715): A serverless queue to reliably send, receive, transform, filter, and route events across your event-driven apps. 

--- 

[Meticulous automatically creates & maintains E2E UI tests](https://www.meticulous.ai?utm_source=javascript_weekly&utm_campaign=november29th). Zero flakes. Used by Lattice, Bilt Rewards and others.      

- 🐍 [PythonMonkey 1.1](https://github.com/Distributive-Network/PythonMonkey) – Embed the SpiderMonkey JS engine into Python's VM.
- [nrm 1.5](https://github.com/Pana/nrm) – Fast switching between registries: npm, cnpm, nj, taobao.
- [LogTape 0.8](https://github.com/dahlia/logtape) – Simple logging library for all major JS runtimes.
- [Faker 9.3](https://github.com/faker-js/faker) – Generate fabricated data to your heart's content.
- [np 10.1](https://github.com/sindresorhus/np) – A better `npm publish`. Now supports Bun too.
- [DOCX 9.1](https://github.com/dolanmiu/docx) – Generate .docx / Word files from JavaScript.
- [Preact 10.25](https://github.com/preactjs/preact/releases/tag/10.25.0) – The 3KB React-compatible alternative.         

Published by [Cooperpress](https://cooperpress.com/) and edited by [Peter Cooper](https://twitter.com/cooperx86) 

'JavaScript' is a trademark of Oracle Corporation in the US
We are not endorsed by or affiliated with Oracle. 

[Change your email address](https://javascriptweekly.com/edit_subscription/*|UID|*) or [stop getting this newsletter](https://javascriptweekly.com/leave/*|UID|*). 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
