Frontend Weekly 2025-11-21

#Bun v1.3.3リリース

日付:2025年11月21日

Bun v1.3.3がリリースされた。

主な新機能:

  • CompressionStreamDecompressionStreamを実装。標準Web APIでストリーミング圧縮・展開が可能。gzipdeflatedeflate-rawに加えてbrotlizstdをサポート
  • standalone実行ファイルで.envbunfig.tomlの読み込みを制御可能。--no-compile-autoload-dotenv--no-compile-autoload-bunfigフラグで無効化可能
  • bun:testretryrepeatsオプションを追加。retryは指定回数まで再試行し、1回でも成功すればテストがパス。repeatsは指定回数まで実行し、1回でも失敗すればテストが失敗。不安定なテストの処理に有用
  • --no-env-fileフラグで自動.envファイル読み込みを無効化可能。bunfig.tomlでもenv = falseで設定可能
  • SQLite 3.51.0に更新
  • Zig 0.15.2にアップグレードし、バイナリサイズを0.8MB削減。

主な修正として、bundlerでのdev serverのpanic、bun installでのクラッシュ、Windowsでのprocess.stdoutresizeイベントとSIGWINCHシグナル対応、Node.js互換性の改善(_handle.fdの実装、N-APIバグ修正)、Web APIsでのクラッシュとメモリリーク修正、Bun.serveでのUnicode文字処理、Networkingでのメモリリーク修正、YAMLのシリアライズ問題とパフォーマンス改善、TypeScript定義の改善、セキュリティ更新(ルート証明書をMozilla NSS 3.117に更新)、bun upgradeでのダウンロードサイズ表示改善が含まれる。

出展:Bun v1.3.3

#GitHub Actionsのキャッシュサイズが10GBを超えられるように

日付:2025年11月20日

GitHub Actionsのキャッシュストレージが拡張され、リポジトリあたり10GBを超えるキャッシュを保存できるようになった。10GBまでは無料で提供され、それ以上は従量課金モデルで利用可能。Pro、Team、Enterpriseアカウントが必要。

キャッシュ管理ポリシーとして、キャッシュサイズの上限(GB)と保持期間(日数)を設定できる。デフォルトは10GBのサイズ制限と7日間の保持期間。上限を超えた場合、最も使用頻度の低いキャッシュエントリが自動的に削除される。

Enterprise、Organization、Repository管理者がActions設定またはPoliciesで管理可能。ポリシーは階層的に適用される(Enterpriseの設定がOrganizationに継承される)。

出展:GitHub Actions cache size can now exceed 10 GB per repository

#webpack v5.103.0リリース

日付:2025年11月18日

webpack v5.103.0がリリースされた。

主な新機能:

  • DotenvPluginとトップレベルのdotenvオプションを追加
  • WebpackManifestPluginを追加
  • devtoolプラグインでignoreListオプションをサポート
  • カスタムJavaScriptパース関数の使用が可能
  • import.meta.envで環境変数をサポート
  • import.meta.dirnameimport.meta.filenameをサポート
  • import.defer()をサポート
  • import.meta.mainを処理
  • JSONモジュールのnamed exportsを設定可能
  • import file from "./file.json" with { type: "json" }でのnamed exportの使用を無効化可能
  • universal targetで__dirname/__filename/import.meta.dirname/import.meta.filenameをサポート
  • CSSのexportTypeオプションを追加(デフォルトはlinktextcss-style-sheetも利用可能)
  • CSSのcomposesプロパティをサポート

出展:webpack v5.103.0

#vltのPhased Package Installations

日付:2025年11月19日

vlt v1.0.0-rc.1でPhased Package Installationsを導入。パッケージのインストールとビルドを2つのフェーズに分離し、セキュリティを向上。

従来のパッケージマネージャーはインストール時に自動的にライフサイクルスクリプト(preinstallpostinstallなど)を実行。これにより、インストール前にスクリプトの内容を確認できず、悪意のある依存関係が即座にコードを実行するリスクがあった。

vltではvlt installvlt buildを分離。vlt installはパッケージの解決・ダウンロード・展開のみを実行し、デフォルトで全てのinstall scriptsをブロック(--allow-scriptsのデフォルト値は:not(*))。vlt buildでライフサイクルスクリプトを実行。デフォルトのvlt build:scripts:not(:built):not(:malware)をターゲットとし、スクリプトを持つパッケージのうち、未ビルドかつマルウェアフラグが立っていないもののみをビルド。

Dependency Selector Syntaxで細かく制御可能。特定のスコープやパッケージのみにスクリプト実行を許可、直接依存関係のみに制限、マルウェアフラグが立ったパッケージを除外などが可能。設定はvlt.jsonに保存してチーム全体で共有可能。

Terminal window
# Phase 1: パッケージのダウンロード・展開のみ(スクリプトは実行されない)
$ vlt install
# Phase 2: ライフサイクルスクリプトの実行
$ vlt build

vlt queryで依存関係を確認可能。:scriptsでスクリプトを持つパッケージを一覧、:malwareでマルウェアフラグが立ったパッケージを確認、:builtでビルド済みパッケージを確認できる。

出展:Introducing Phased Package Installations