O hirunewani blog

Frontend Weekly 2025-07-04

Created at

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の制限(デフォルト型インポートと名前付き型インポートを単一の宣言で組み合わせることができない)に対応できるようになった。

出展:ESLint v9.30.1 released

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オプションを設定できるようになった。

出展:Announcing Rspack 1.4