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をおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub 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 Router v7.5.2リリース。
X-React-Router-Prerender-DataヘッダーとX-React-Router-SPA-Modeヘッダーに関する脆弱性を修正するセキュリティ修正
- URL manipulation via Host / X-Forwarded-Host headers · Advisory · remix-run/react-router
- React Router and the Remix’ed path - zhero_web_security
Release v0.25.3 · evanw/esbuild
github.com/evanw/esbuild/releases/tag/v0.25.3
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 138リリース。
importmapのintegrityをサポート、Error.captureStackTrace()をサポート、ES Proposal Stage 3のError.isError()をサポート。
Import Attributesを使ったJSONのimportをサポート、Clear-Site-Dataでcacheディレクティブをサポート。
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
core-js v3.42.0リリース。
Map upsert proposalの更新、Iterator HelpersをES2025の仕様に合わせた変更など
Deno 2.3: Improved deno compile, local npm packages, and more
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 v9.26.0リリース。
eslint --mcpでMCPサーバとして起動できるように、no-unused-expressionsルールにignoreDirectivesオプションを追加など
Electron 36.0.0 | Electron
www.electronjs.org/blog/electron-36-0
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
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
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
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 v0.25.4リリース。
開発サーバーにcorsオプションでAccess-Control-Allow-Originヘッダを設定できるように。
Node.js — Node v24.0.0 (Current)
nodejs.org/en/blog/release/v24.0.0
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 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
//# allFunctionsCalledOnLoad のコメントで、JavaScriptファイルをeager compilationをする仕組みをV8に実装している話。
JavaScriptは関数をコンパイルするにはファイルをパースをする必要があるため、コンパイルが必要かを判断するにも時間がかかってしまう。そのため、ファイルの先頭のコメントでコンパイルするべきかを判断できるようにするための仕組み
ソフトウェア、ツール、ライブラリ関係
Intent UI
React Aria Componentsベースのshadcnライクなコピーペースト可能なコンポーネントライブラリ
zumerlab/snapdom: snapDOM captures DOM nodes as images with exceptional speed and accuracy.
SVGの<foreignObject>を使いDOM要素を画像にするライブラリ。
Shadow DOM、疑似要素、背景画像、フォントの埋め込みやdata属性での除外などに対応している
pulsar-edit/pulsar: A Community-led Hyper-Hackable Text Editor
Atom EditorをForkしたエディタ。
Atom向けに作られたパッケージも動くようにしている
