Frontend Weekly 2025-04-11
Express v5.1.0 LTS リリース
日付:2025 年 3 月 31 日
Express 5.1.0 がリリースされた。Uint8Array
のres.send()
サポート、依存関係のバージョンロック解除、ETag オプション追加、パフォーマンス改善を含む。
LTS 戦略が更新され、メジャーバージョンのサポートフェーズを 3 段階(CURRENT、ACTIVE、MAINTENANCE)に定義。v4.x は 2025 年 4 月 1 日から MAINTENANCE フェーズに移行し、2026 年 10 月 1 日以降に EOL。v5.x は 2025 年 3 月 31 日から ACTIVE フェーズに移行。v6.x の開発は 2026 年 1 月 1 日以降のリリースを予定。
出展:Express.js v5.1.0: Now the Default on npm with LTS Timeline
ESLint v9.24.0 リリース
日付:2025 年 4 月 4 日
ESLint v9.24.0 がリリースされた。バルクサプレッション機能を追加。新しいルールを"error"
として有効化する際に、既存の違反を一度に抑制可能。TypeScript の構文サポートが 4 つのコアルールに追加。Node.js 22.10.0 以上で--experimental-strip-types
フラグを使用して TypeScript 設定ファイルをネイティブに読み込み可能。
バルクサプレッションの仕組み
バルクサプレッションはeslint-suppressions.json
ファイルに違反を記録。各ファイルごとのルール違反数を記録する。
{ "src/file1.js": { "no-undef": { "count": 1 } }, "src/file2.js": { "no-unused-expressions": { "count": 2 } }}
以下のコマンドで使用可能:
# すべての自動修正可能な違反を修正し、残りを抑制eslint --suppress-all --fix
# 特定のルールの違反のみを抑制eslint --suppress-rule <rule-name> --fix
Next.js 15.3 リリース
日付:2025 年 4 月 9 日
Next.js 15.3 がリリースされた。Turbopack の next build でのサポート。実験的な機能として Rspack のサポート。Client Instrumentation hook と Navigation hooks を追加。TypeScript plugin の改善により大規模な codebase でのサポートを向上など。
出展:Next.js 15.3
Client Instrumentation hook
instrumentation-client.js|ts
ファイルでフロントエンドコード実行前に monitoring や analytics コードを追加可能。
performance.mark("app-init");console.log("Analytics initialized");window.addEventListener("error", (event) => { reportError(event.error);});
Navigation hooks
onNavigate
はLink
コンポーネントの新しいプロパティ。client-side navigation 中に実行される。
<Link href="/about" onNavigate={(e) => { startTransitionAnimation(); if (shouldCancelNavigation) { e.preventDefault(); } }}> About</Link>
useLinkStatus
は Client Component hook。navigation の進行状況を監視可能。
function LoadingIndicator() { const { pending } = useLinkStatus(); return pending ? <div>Loading...</div> : null;}
<Link href="/about"> About <LoadingIndicator /></Link>;
Bun v1.2.9 リリース
日付:2025 年 4 月 9 日
Bun v1.2.9 がリリースされた。組み込みの Redis クライアントを追加。Bun.redis
はioredis
と比較して最大 85%高速。1000 件のバッチ処理でioredis
が 10.095 秒、Bun.redis
が 4.22 秒。
import { redis, RedisClient } from "bun";await redis.set("foo", "bar");const value = await redis.get("foo");console.log(value); // "bar"const custom = new RedisClient("redis://localhost:6379");
Bun.S3Client
にListObjectsV2
のサポートを追加。libuv
のシンボル追加、require.extensions
の互換性改善、node:http
やAsyncLocalStorage
のバグ修正を含む。
出展:Bun v1.2.9