Fork me on GitHub

2025-05-07のJS: koa v3.0.0、Node.js 24とNode.js 18 EOL、`//# allFunctionsCalledOnLoad`

Edit on GitHub 編集履歴を見る

JSer.info #734 - Koa v3.0.0がリリースされました。

Node.js 18未満のサポート終了、Generatorを使ったMiddlewareのサポートを終了など破壊的な変更が含まれています。新機能として、app.currentContextでAsyncLocalStorageを使用した現在のコンテキスト取得をサポート、Blob/ReadableStream/Responseのサポート、カスタムストリームのサポートなどが追加されています。


Node.jsのv24がリリースされました。

Node.js 24では、V8 13.6へアップデート、npm 11の同梱、AsyncLocalStorageのAsyncContextFrameのデフォルト化、URLPatternのグローバル追加などの変更が含まれています。また、パーミッションモデルが--permissionフラグで利用できるようになりました。

また、Node.js 18は2025年4月30日でEOL(End Of Support)となりました。


V8エンジンに新しいコンパイルヒントの仕組みが実装されています。

//# allFunctionsCalledOnLoadというコメントによって、JavaScriptファイルのeager compilationを指定できる仕組みが実装されています。これにより、ファイル内の関数のコンパイルタイミングを制御でき、起動時のパフォーマンス最適化が可能になります。
一方で、なんでもコンパイルすると時間とメモリを消費してしまう問題があることについても触れられています。


JSer.infoをサポートするには

JSer.info Sponsors

JSer.info SponsorsGitHub SponsorsとしてJSer.infoを支援してくれている方々です。


ヘッドライン


react-router/CHANGELOG.md at main · remix-run/react-router

github.com/remix-run/react-router/blob/main/CHANGELOG.md#v752

React library ReleaseNote

React Router v7.5.2リリース。
X-React-Router-Prerender-DataヘッダーとX-React-Router-SPA-Modeヘッダーに関する脆弱性を修正するセキュリティ修正


Release v0.25.3 · evanw/esbuild

github.com/evanw/esbuild/releases/tag/v0.25.3

esbuild ReleaseNote

esbuild v0.25.3リリース。
--serve=オプションでカスタムホストの指定を許可するように、CSS Nestingの制限を追加など


Firefox 138.0, See All New Features, Updates and Fixes

www.mozilla.org/en-US/firefox/138.0/releasenotes/

Firefox ReleaseNote

Firefox 138リリース。
importmapintegrityをサポート、Error.captureStackTrace()をサポート、ES Proposal Stage 3のError.isError()をサポート。
Import Attributesを使ったJSONのimportをサポート、Clear-Site-Datacacheディレクティブをサポート。
FedCM APIのLogin Status APIをサポート、Web Audio APIのMessage Portをサポート。
フラグ付きでMutationEventの削除、HTML Sanitizer APIのサポートなど


Release 3.42.0 - 2025.04.30 · zloirock/core-js

github.com/zloirock/core-js/releases/tag/v3.42.0

JavaScript polyfill ReleaseNote

core-js v3.42.0リリース。
Map upsert proposalの更新、Iterator HelpersをES2025の仕様に合わせた変更など


Deno 2.3: Improved deno compile, local npm packages, and more

deno.com/blog/v2.3

deno ReleaseNote

Deno v2.3リリース。
deno compileでFFIとNode.js Native Addonのサポート、ローカルのnpmパッケージを参照できるように、deno fmtのオプションを追加。
Windowsのdenoバイナリにコード署名をするように変更など


ESLint v9.26.0 released - ESLint - Pluggable JavaScript Linter

eslint.org/blog/2025/05/eslint-v9.26.0-released/

ESLint ReleaseNote

ESLint v9.26.0リリース。
eslint --mcpでMCPサーバとして起動できるように、no-unused-expressionsルールにignoreDirectivesオプションを追加など


Electron 36.0.0 | Electron

www.electronjs.org/blog/electron-36-0

Electron ReleaseNote

Electron 36.0.0リリース。

Chromium 136、V8 13.6、Node 22.14.0にアップグレード。

macOSのWriting ToolsやAutofill、Servicesメニューをサポートする新しいmenu.popupオプションを追加。

GTK 4がGNOMEでのデフォルトに変更。NativeImage.getBitmap()が非推奨に、session.loadExtensionなどが非推奨となりExtensionsオブジェクトに移動された。


Release v3.0.0 · koajs/koa

github.com/koajs/koa/releases/tag/v3.0.0

nodejs ReleaseNote

Koa v3.0.0リリース。
Node.js 18未満のサポート終了、Generatorを使ったMiddlewaのサポートを終了、res.redirect('back')を削除しctx.back()を追加。
app.currentContextでAsyncLocalStorageを使用した現在のコンテキスト取得をサポート。Blob/ReadableStream/Responseのサポート、カスタムストリームのサポートなど


Node.js — Node.js Releases

nodejs.org/en/about/previous-releases

nodejs news

Node.js 18は2025年4月30日でEOL(End Of Support)となった。


Release 21.0.0 · nrwl/nx

github.com/nrwl/nx/releases/tag/21.0.0

JavaScript Tools ReleaseNote

Nx 21.0.0リリース。
Node.js 20.19.0以上が必要となり、outputStyle=compactの削除、readWorkspaceConfigの廃止などの破壊的変更を含む。
continuous taskの追加、タスク用のTerminal UI機能の追加、GitLabリリースのサポートなど


Release v0.25.4 · evanw/esbuild

github.com/evanw/esbuild/releases/tag/v0.25.4

esbuild ReleaseNote

esbuild v0.25.4リリース。
開発サーバーにcorsオプションでAccess-Control-Allow-Originヘッダを設定できるように。


Node.js — Node v24.0.0 (Current)

nodejs.org/en/blog/release/v24.0.0

nodejs ReleaseNote

Node.js v24.0.0リリース。
V8 13.6へアップデート、npm 11を同梱、AsyncLocalStorageがAsyncContextFrameをデフォルトで使用するように。
URLPatternをグローバルに追加、パーミッションモデルが--permissionフラグで利用できるように、テストランナーの改善、Undici 7を同梱。
url.parse()を非推奨に変更など。
2025年10月にLTSとなる予定。


アーティクル


フロントエンド API コール時のエラーハンドリングを軽く整理(Fetch API・typescript-fetch・TanStack Query) - カミナシ エンジニアブログ

kaminashi-developer.hatenablog.jp/entry/2025/04/30/080000

Fetch TypeScript JavaScript article HTTP

Fetch API/Open APIのtypescript-fetch、TanStack QueryのFetchの例外処理について


Giving V8 a Heads-Up: Faster JavaScript Startup with Explicit Compile Hints · V8

v8.dev/blog/explicit-compile-hints

JavaScript V8 article

//# allFunctionsCalledOnLoad のコメントで、JavaScriptファイルをeager compilationをする仕組みをV8に実装している話。
JavaScriptは関数をコンパイルするにはファイルをパースをする必要があるため、コンパイルが必要かを判断するにも時間がかかってしまう。そのため、ファイルの先頭のコメントでコンパイルするべきかを判断できるようにするための仕組み


ソフトウェア、ツール、ライブラリ関係


Intent UI

intentui.com/

React UI library

React Aria Componentsベースのshadcnライクなコピーペースト可能なコンポーネントライブラリ


zumerlab/snapdom: snapDOM captures DOM nodes as images with exceptional speed and accuracy.

github.com/zumerlab/snapdom

JavaScript SVG Image library

SVGの<foreignObject>を使いDOM要素を画像にするライブラリ。
Shadow DOM、疑似要素、背景画像、フォントの埋め込みやdata属性での除外などに対応している


pulsar-edit/pulsar: A Community-led Hyper-Hackable Text Editor

github.com/pulsar-edit/pulsar

atom editor JavaScript

Atom EditorをForkしたエディタ。
Atom向けに作られたパッケージも動くようにしている


この記事へ修正リクエストをする
JSer.info Slackに参加する