O hirunewani blog

Frontend Weekly 2025-05-23

Created at

Baseline Netlify extension、Zod 4、ESLint v9.27.0、React Compiler RC、TypeScript Native Previewについて。

Zod 4リリース

日付:2025年5月19日

Zod 4が安定版としてリリース。Zod 3からの設計上の制約を解消し、パフォーマンスと型推論効率が大幅に向上。string/array/objectのパースが最大14倍高速化し、TypeScriptの型インスタンス生成も100分の1に削減。エラーカスタマイズAPIが統一され、discriminatedUnionやliteralの強化、refineやoverwriteの改善など多くの新機能が追加。

パッケージとしてのzod@4.0.0はリリースされておらず、zod@3.25.0以降からzod/v4をインポートして利用する。

import { z } from "zod/v4";
 
z.string().optional();
z.string().or(z.number());
z.object({ /* ... */ }).extend({ age: z.number() });

出展:Zod 4

Zod Mini

Zod 4からツリーシェイク可能な軽量版であるzod/v4-miniも提供される。いくつかのメソッドが利用出来ないことに加えて記法が変わる点には注意が必要。

import { z } from "zod/v4-mini";
 
z.optional(z.string());
z.union([z.string(), z.number()]);
z.extend(z.object({ /* ... */ }), { age: z.number() });

ESLint v9.27.0リリース

日付:2025年5月16日

ESLint v9.27.0がリリース。MCPサーバーが@eslint/mcpとして分離され、npx @eslint/mcp@latestで起動可能に。環境変数ESLINT_FLAGSによるフラグ設定、eslint-suppressions.jsonファイルのソート、TypeScript対応の強化などが行われた。新ルールno-unassigned-vars追加、no-useless-escapeにallowRegexCharactersオプション追加、no-array-constructorの自動修正対応なども含まれる。

出展:ESLint v9.27.0 released

ESLINT_FLAGSによるフラグ設定

Feature flagsを環境変数ESLINT_FLAGSで設定できるようになった。これは、CI/CDなどで同じフラグを利用したいケースなどで有益。

# .bashrc

export ESLINT_FLAGS="unstable_config_lookup_from_file,unstable_native_nodejs_ts_config"

React Compiler RC公開

日付:2025年4月21日

React Compilerのリリース候補(RC)が公開。自動メモ化によるパフォーマンス最適化をビルド時に実現。optional chainや配列インデックス依存の最適化、ref-in-render検証のデフォルト無効化、swc対応の強化、Next.js 15.3.1以降でのビルド高速化など。ESLint用のルールはeslint-plugin-react-hooksに統合。

出展:React Compiler RC

TypeScript Native Preview公開

日付:2025年5月22日

TypeScriptコンパイラのネイティブ実装(Project Corsa)のプレビューがnpmとVS Code拡張で公開。Go製で10倍高速化、並列処理や共有メモリ活用。tsgoコマンドで型チェックやビルドが可能。JSXやJSDoc型チェック、LSPベースのエディタ機能も順次対応中。将来的にTypeScript 7として正式リリース予定。

出展:TypeScript Native Previews

Baseline Netlify extension公開

日付:2025年5月23日

Netlify向けのBaseline拡張が公開。実際のユーザー環境でサポートされているBaselineターゲットを可視化できる。拡張はNetlifyのコントロールパネルからインストール可能で、数日間のデータ収集後、各Baselineターゲット(2015年以降やWidely/Newlyなど)のサポート状況を確認できる。BrowserslistやStylelint、ESLintなど他ツールとの連携も想定。

出展:Baseline Netlify extension