Frontend Weekly 2025-07-04
ESLint v9.30.1のTypeScript型インポート改善、Deno v2.4のdeno bundle復活とテキスト・バイトインポート、Rspack v1.4のブラウザ実行と高速化など
ESLint v9.30.1リリース、TypeScript型インポートの改善
日付:2025年7月1日
ESLint v9.30.1がリリース。TypeScriptの型インポートに関する改善が行われた。no-duplicate-imports
ルールで、同じモジュールからのデフォルト型インポートと名前付き型インポートを別々の宣言で許可するようになった。
import type A from "some-module";
import type { B, C } from "some-module";
この変更により、TypeScriptの制限(デフォルト型インポートと名前付き型インポートを単一の宣言で組み合わせることができない)に対応できるようになった。
Deno v2.4リリース、deno bundle復活とテキスト・バイトインポート
日付:2025年7月2日
Deno v2.4がリリース。deno bundle
サブコマンドが復活し、JavaScriptやTypeScriptから単一ファイルのJavaScriptバンドルを作成できるようになった。npmやJSRの依存関係をサポートし、esbuildによる自動的なTree Shakingとminificationを含む。
# minification付きでバンドル
$ deno bundle --minify main.ts
# ブラウザプラットフォーム用に設定
$ deno bundle --platform browser --output bundle.js app.jsx
テキストとバイトファイルのインポート機能が追加され、--unstable-raw-imports
フラグを使用してデータファイルをJavaScriptモジュールグラフにリンクできる。
import message from "./hello.txt" with { type: "text" };
import bytes from "./hello.txt" with { type: "bytes" };
import imageBytes from "./image.png" with { type: "bytes" };
組み込みOpenTelemetryが安定版になり、--unstable-otel
フラグが不要になった。OTEL_DENO=1
環境変数を設定することで、ログ、メトリクス、トレースの自動収集が可能。
出展:Deno 2.4: deno bundle is back
Rspack v1.4リリース、ブラウザ実行と高速化
日付:2025年6月26日
Rspack v1.4がリリース。Wasmターゲットサポートが追加され、ブラウザ環境(StackBlitzのWebContainersなど)で実行できるようになった。これにより、ローカル環境の設定なしにプロトタイプの作成やコード例の共有が可能になった。
SWCの最適化により、JavaScriptパーサーが30%-35%高速化、JavaScript minifierが10%高速化された。SWCのデッドコード除去(DCE)機能が強化され、Rspackの強力なTree Shaking機能と組み合わせることで、より小さなバンドルを生成できるようになった。
インクリメンタルビルドがデフォルトで有効になり、HMRパフォーマンスが30%-40%向上した。新しいCssChunkingPlugin
が追加され、CSSコード分割の処理が改善された。また、MultiCompiler
での遅延コンパイル機能が強化され、各コンパイラーインスタンスで独立してlazyCompilation
オプションを設定できるようになった。