|
| 1 | +--- |
| 2 | +title: "2026-03-22のJS: Vite 8.0, Temporal Stage 4, Next.js" |
| 3 | +author: "azu" |
| 4 | +layout: post |
| 5 | +date: 2026-03-22T13:12:53.259Z |
| 6 | +category: JSer |
| 7 | +tags: |
| 8 | +- Rust |
| 9 | +- vite |
| 10 | +- bundler |
| 11 | +- ECMAScript |
| 12 | +- Next.js |
| 13 | + |
| 14 | +--- |
| 15 | + |
| 16 | +JSer.info #767 - Vite 8.0がリリースされました。 |
| 17 | + |
| 18 | +- [Vite 8.0 is out! | Vite (main branch)](https://main.vite.dev/blog/announcing-vite8) |
| 19 | +- [Vitest 4.1 is out! | Vitest](https://vitest.dev/blog/vitest-4-1.html) |
| 20 | + |
| 21 | +esbuild + Rollupの二重バンドラー構成をRustベースの統合バンドラーであるRolldownに置き換えています。lightningcssがpeerDependencyから直接的な依存関係へ変更され、ビルトインのDevtools、TypeScriptのパスエイリアス解決(`resolve.tsconfigPaths`)のサポートが追加されています。WebAssemblyのSSRサポート、ブラウザのコンソールログをdevサーバーのターミナルに転送する`server.forwardConsole`の追加なども含まれています。同じタイミングでVitest 4.1もリリースされており、Vite 8のサポート、Test Tags機能の追加、`aroundEach`/`aroundAll`フックの追加なども含まれています。 |
| 22 | + |
| 23 | +--- |
| 24 | + |
| 25 | +TC39 2026年3月ミーティングの結果として、TemporalがStage 4となりES2026に含まれることが決定しました。 |
| 26 | + |
| 27 | +- [ECMAScript proposal updates @ 2026-03 | ECMAScript Daily](https://ecmascript-daily.github.io/ecmascript/2026/03/16/ecmascript-proposal-update) |
| 28 | + |
| 29 | +Import TextがStage 3へ、Error Stack AccessorがStage 2.7へ、Curtailing the Power of ThenablesがStage 2へ進みました。 |
| 30 | + |
| 31 | +--- |
| 32 | + |
| 33 | +Next.js 16.2がリリースされました。 |
| 34 | + |
| 35 | +- [Next.js 16.2 | Next.js](https://nextjs.org/blog/next-16-2) |
| 36 | +- [Next.js 16.2: AI Improvements | Next.js](https://nextjs.org/blog/next-16-2-ai) |
| 37 | + |
| 38 | +`next dev`の起動速度の改善、Server Componentsペイロードのデシリアライズの改善によるレンダリングの高速化が行われています。`next/link`に`transitionTypes`の追加、ブラウザのコンソールログをターミナルへ転送する機能がデフォルトで有効化され、Hydrationエラーのデバッグ表示の改善、Adapters APIがStableへ変更されています。また、`create-next-app`がデフォルトで`AGENTS.md`を生成するようになりました。 |
| 39 | + |
| 40 | +---- |
| 41 | + |
| 42 | +{% include inline-support.html %} |
| 43 | + |
| 44 | +---- |
| 45 | + |
| 46 | +<h1 class="site-genre">ヘッドライン</h1> |
| 47 | + |
| 48 | +---- |
| 49 | + |
| 50 | +## Vite 8.0 is out! | Vite (main branch) |
| 51 | +[main.vite.dev/blog/announcing-vite8](https://main.vite.dev/blog/announcing-vite8 "Vite 8.0 is out! | Vite (main branch)") |
| 52 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Vite</span> <span class="jser-tag">Rust</span> <span class="jser-tag">ReleaseNote</span> <span class="jser-tag">bundler</span></p> |
| 53 | + |
| 54 | +Vite 8.0リリース。 |
| 55 | +esbuild + Rollupの二重バンドラー構成をRustベースの統合バンドラーであるRolldownに置き換え。 |
| 56 | +lightningcssがpeerDependencyから直接的な依存関係へ変更。 |
| 57 | +ビルトインのDevtools、TypeScriptのパスエイリアス解決(`resolve.tsconfigPaths`)のサポート。 |
| 58 | +WebAssemblyのSSRサポート、ブラウザのコンソールログをdevサーバーのターミナルに転送する`server.forwardConsole`の追加など。 |
| 59 | + |
| 60 | + |
| 61 | +---- |
| 62 | + |
| 63 | +## Vitest 4.1 is out! | Vitest |
| 64 | +[vitest.dev/blog/vitest-4-1.html](https://vitest.dev/blog/vitest-4-1.html "Vitest 4.1 is out! | Vitest") |
| 65 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">vite</span> <span class="jser-tag">ReleaseNote</span> <span class="jser-tag">test</span></p> |
| 66 | + |
| 67 | +Vitest 4.1リリース。 |
| 68 | +Vite 8のサポート、テストケースにタグを付けてフィルタリングできるTest Tags機能の追加。 |
| 69 | +`test.extend`での型推論の改善、`aroundEach`/`aroundAll`フックの追加。 |
| 70 | +`vi.defineHelper()`でスタックトレースからヘルパー関数の内部を除外できるように。 |
| 71 | +`--detect-async-leaks`フラグで非同期リソースのリーク検出をサポート。 |
| 72 | +`mockThrow()`/`mockThrowOnce()`の追加、Chai形式のmockアサーションのサポート。 |
| 73 | +GitHub Actionsレポーターがジョブサマリーを自動生成するように、AIエージェント向けのAgentレポーターの追加など |
| 74 | + |
| 75 | + |
| 76 | +---- |
| 77 | + |
| 78 | +## Announcing Vite+ Alpha | VoidZero |
| 79 | +[voidzero.dev/posts/announcing-vite-plus-alpha](https://voidzero.dev/posts/announcing-vite-plus-alpha "Announcing Vite+ Alpha | VoidZero") |
| 80 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">vite</span> <span class="jser-tag">Rust</span> <span class="jser-tag">CLI</span> <span class="jser-tag">Tools</span> <span class="jser-tag">ReleaseNote</span></p> |
| 81 | + |
| 82 | +Vite+ Alphaリリース。 |
| 83 | +Vite、Vitest、Rolldown、Oxlint、Oxfmtなどを統合したCLIツール。 |
| 84 | +`vp dev`/`vp build`/`vp test`/`vp check`などのコマンドで、開発サーバ、ビルド、テスト、Lint、フォーマットを1つのツールで実行できる。 |
| 85 | +`vp env`でのNode.jsバージョン管理、`vp run`でのmonorepoタスク実行とキャッシュ機能も提供する。 |
| 86 | +当初は商用版として検討されていたが、MITライセンスでオープンソースとして公開された。 |
| 87 | + |
| 88 | +- [voidzero-dev/vite-plus: Vite+ is the unified toolchain and entry point for web development. It manages your runtime, package manager, and frontend toolchain in one place.](https://github.com/voidzero-dev/vite-plus/tree/main "voidzero-dev/vite-plus: Vite+ is the unified toolchain and entry point for web development. It manages your runtime, package manager, and frontend toolchain in one place.") |
| 89 | + |
| 90 | +---- |
| 91 | + |
| 92 | +## Nuxt 4.4 · Nuxt Blog |
| 93 | +[nuxt.com/blog/v4-4](https://nuxt.com/blog/v4-4 "Nuxt 4.4 · Nuxt Blog") |
| 94 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Vue</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p> |
| 95 | + |
| 96 | +Nuxt v4.4リリース。 |
| 97 | +Vue Router v5へのアップグレード、`createUseFetch`/`createUseAsyncData`を追加。 |
| 98 | +レイアウトに型付きPropsを渡せるように、`useAnnouncer` composableと`<NuxtAnnouncer>`コンポーネントによるアクセシビリティの改善。 |
| 99 | +ルート生成にtrieデータ構造ベースの`unrouting`ライブラリを採用しパフォーマンスを改善。 |
| 100 | +`useCookie`の`refresh`オプションの追加、`nuxt build --profile`でのビルドプロファイリングのサポートなど。 |
| 101 | + |
| 102 | + |
| 103 | +---- |
| 104 | + |
| 105 | +## ECMAScript proposal updates @ 2026-03 | ECMAScript Daily |
| 106 | +[ecmascript-daily.github.io/ecmascript/2026/03/16/ecmascript-proposal-update](https://ecmascript-daily.github.io/ecmascript/2026/03/16/ecmascript-proposal-update "ECMAScript proposal updates @ 2026-03 | ECMAScript Daily") |
| 107 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">ECMAScript</span> <span class="jser-tag">proposal</span> <span class="jser-tag">news</span> <span class="jser-tag">TC39</span></p> |
| 108 | + |
| 109 | +TC39 113th meetingでのECMAScript Proposalのステージの変更まとめ。 |
| 110 | +TemporalがStage 4となりES2026に含まれる。 |
| 111 | +Import TextがStage 3へ、Error Stack AccessorがStage 2.7へ。 |
| 112 | +Curtailing the Power of ThenablesがStage 2へ。 |
| 113 | + |
| 114 | + |
| 115 | +---- |
| 116 | + |
| 117 | +## Nova 1.0 · Nova |
| 118 | +[trynova.dev/blog/nova-1.0](https://trynova.dev/blog/nova-1.0 "Nova 1.0 · Nova") |
| 119 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Rust</span> <span class="jser-tag">JavaScript</span> <span class="jser-tag">ReleaseNote</span></p> |
| 120 | + |
| 121 | +Nova 1.0リリース。 |
| 122 | +Rustで書かれた軽量な組み込み向けデータ指向アーキテクチャなJavaScriptエンジン。 |
| 123 | +ECMAScript仕様の完全な準拠にはまだ課題があり、RegExpのUnicodeサポートやPromiseのサブクラス化などに制限がある。 |
| 124 | +セマンティックバージョニングを採用しアップデートを行なっていく予定。 |
| 125 | + |
| 126 | + |
| 127 | +---- |
| 128 | + |
| 129 | +## Electron 41.0 | Electron |
| 130 | +[www.electronjs.org/blog/electron-41-0](https://www.electronjs.org/blog/electron-41-0 "Electron 41.0 | Electron") |
| 131 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Electron</span> <span class="jser-tag">ReleaseNote</span></p> |
| 132 | + |
| 133 | +Electron 41.0リリース。 |
| 134 | +Chromium 146、Node.js v24.14.0、V8 14.6へアップグレード。 |
| 135 | +PDFの描画がout-of-process iframeを使った同一WebContents内での描画に変更。 |
| 136 | +Cookieの`changed`イベントに`inserted`などの変更理由を追加。 |
| 137 | +ASARの整合性チェックでダイジェストのサポート、Waylandでのフレームレスウィンドウのドロップシャドウとリサイズ境界の改善。 |
| 138 | +MSIX auto updaterの互換性を追加、macOS向け`--disable-geolocation`フラグの追加。 |
| 139 | +WebSocket認証を`login`イベントで処理できるように、`webPreferences.focusOnNavigation`オプションの追加など。 |
| 140 | + |
| 141 | + |
| 142 | +---- |
| 143 | + |
| 144 | +## Bun v1.3.11 | Bun Blog |
| 145 | +[bun.com/blog/bun-v1.3.11](https://bun.com/blog/bun-v1.3.11 "Bun v1.3.11 | Bun Blog") |
| 146 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Bun</span> <span class="jser-tag">ReleaseNote</span></p> |
| 147 | + |
| 148 | +Bun v1.3.11リリース。 |
| 149 | +OSのスケジューラを使ったcronジョブを登録する`Bun.cron` APIの追加、ANSIエスケープコードを考慮した文字列スライスを行う`Bun.sliceAnsi`の追加。 |
| 150 | +`bun test`に`--path-ignore-patterns`フラグの追加など |
| 151 | + |
| 152 | + |
| 153 | +---- |
| 154 | + |
| 155 | +## Release pnpm 11 Beta 0 · pnpm/pnpm |
| 156 | +[github.com/pnpm/pnpm/releases/tag/v11.0.0-beta.0](https://github.com/pnpm/pnpm/releases/tag/v11.0.0-beta.0 "Release pnpm 11 Beta 0 · pnpm/pnpm") |
| 157 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">pnpm</span> <span class="jser-tag">ReleaseNote</span></p> |
| 158 | + |
| 159 | +pnpm v11.0.0-beta.0リリース。 |
| 160 | +Pure ESMパッケージへの移行、Node.js 18-21のサポートを終了。 |
| 161 | +`package.json`の`pnpm`フィールドの設定を`pnpm-workspace.yaml`へ移行、`pnpm server`コマンドの削除、`pnpm link`コマンドの変更など多くの破壊的変更を含む。 |
| 162 | +パッケージメタデータの保存にSQLiteを使用するように変更、ストアバージョンの更新。 |
| 163 | +`pnpm clean`コマンドで`node_modules`の削除、`pnpm audit --fix=update`でlockfileの更新による脆弱性の修正に対応。 |
| 164 | +`config.yaml`のサポート、PnpmfileでESMフォーマット(`.pnpmfile.mjs`)をサポートなど。 |
| 165 | + |
| 166 | + |
| 167 | +---- |
| 168 | + |
| 169 | +## Next.js 16.2 | Next.js |
| 170 | +[nextjs.org/blog/next-16-2](https://nextjs.org/blog/next-16-2 "Next.js 16.2 | Next.js") |
| 171 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Next.js</span> <span class="jser-tag">React</span> <span class="jser-tag">ReleaseNote</span></p> |
| 172 | + |
| 173 | +Next.js 16.2リリース。 |
| 174 | +`next dev`の起動速度の改善、Server Componentsペイロードのデシリアライズの改善によるレンダリングの高速化。 |
| 175 | +`next/link`に`transitionTypes`を追加、Server Functionの実行ログをターミナルに表示する機能の追加、ブラウザログをターミナルに表示する機能をデフォルトで有効化。 |
| 176 | +Hydrationエラーのデバッグ表示の改善、`next start`で`--inspect`フラグのサポート。 |
| 177 | +Adapters APIがStableに変更。 |
| 178 | +`create-next-app`がデフォルトで`AGENTS.md`を生成するように変更、`node_modules/next/dist/docs/`にドキュメントをバンドルするように変更など |
| 179 | + |
| 180 | +- [Next.js 16.2: AI Improvements | Next.js](https://nextjs.org/blog/next-16-2-ai "Next.js 16.2: AI Improvements | Next.js") |
| 181 | +- [Turbopack: What's New in Next.js 16.2 | Next.js](https://nextjs.org/blog/next-16-2-turbopack "Turbopack: What&#039;s New in Next.js 16.2 | Next.js") |
| 182 | + |
| 183 | +---- |
| 184 | +<h1 class="site-genre">アーティクル</h1> |
| 185 | + |
| 186 | +---- |
| 187 | + |
| 188 | +## TC39 Advances Temporal to Stage 4 Alongside Several ECMAScri... |
| 189 | +[socket.dev/blog/tc39-advances-temporal-to-stage-4?utm\_medium=feed](https://socket.dev/blog/tc39-advances-temporal-to-stage-4?utm_medium=feed "TC39 Advances Temporal to Stage 4 Alongside Several ECMAScri...") |
| 190 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">TC39</span> <span class="jser-tag">ECMAScript</span> <span class="jser-tag">proposal</span> <span class="jser-tag">article</span></p> |
| 191 | + |
| 192 | +TC39 2026年3月ミーティングの結果について。 |
| 193 | +TemporalがStage 4となりES2026に含まれることが決定した。 |
| 194 | + |
| 195 | + |
| 196 | +---- |
| 197 | + |
| 198 | +## External import maps, today! • Lea Verou |
| 199 | +[lea.verou.me/blog/2026/external-import-maps-today/](https://lea.verou.me/blog/2026/external-import-maps-today/ "External import maps, today! • Lea Verou") |
| 200 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">module</span> <span class="jser-tag">article</span></p> |
| 201 | + |
| 202 | +External Import Mapsをビルドツールなしで利用する方法について。 |
| 203 | +`<script type="importmap">`をDOMで動的に注入することで、外部ファイルとしてImport Mapを管理できる。`document.currentScript.after()`を使い`<script type="importmap">`要素を挿入する。 |
| 204 | +Chrome 89+/Safari 16.4+/Firefox 108+で動作する。 |
| 205 | + |
| 206 | +- [JSPM - JSPM 4.0 Release](https://jspm.org/jspm-4.0-release "JSPM - JSPM 4.0 Release") |
| 207 | + |
| 208 | +---- |
| 209 | + |
| 210 | +## Edge.js: Running Node apps inside a WebAssembly Sandbox · Blog · Wasmer |
| 211 | +[wasmer.io/posts/edgejs-safe-nodejs-using-wasm-sandbox](https://wasmer.io/posts/edgejs-safe-nodejs-using-wasm-sandbox "Edge.js: Running Node apps inside a WebAssembly Sandbox · Blog · Wasmer") |
| 212 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">WebAssembly</span> <span class="jser-tag">nodejs</span> <span class="jser-tag">article</span></p> |
| 213 | + |
| 214 | +WebAssemblyのSandboxでNode.js互換のアプリケーションを実行できるRuntime。 |
| 215 | +Node.js v24互換で、Next.jsやAstroなどのフレームワークを動作させることができる。 |
| 216 | +OSシステムコールとネイティブコードのみをWASIX経由でサンドボックス化し、JavaScriptエンジン自体はネイティブで実行するアーキテクチャとなっている。 |
| 217 | +V8、JavaScriptCore、QuickJSなど複数のJSエンジンに対応している。 |
| 218 | + |
| 219 | + |
| 220 | +---- |
| 221 | +<h1 class="site-genre">サイト、サービス、ドキュメント</h1> |
| 222 | + |
| 223 | +---- |
| 224 | + |
| 225 | +## unjs/impound: Builder-agnostic plugin to allow restricting import patterns in certain parts of your code-base. |
| 226 | +[github.com/unjs/impound?tab=readme-ov-file](https://github.com/unjs/impound?tab=readme-ov-file "unjs/impound: Builder-agnostic plugin to allow restricting import patterns in certain parts of your code-base.") |
| 227 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">TypeScript</span> <span class="jser-tag">Tools</span> <span class="jser-tag">module</span> <span class="jser-tag">bundler</span> <span class="jser-tag">plugin</span></p> |
| 228 | + |
| 229 | +特定のディレクトリからのimportを禁止するなどのパターンを定義できるunpluginプラグイン。 |
| 230 | +正規表現、文字列、関数によるパターンマッチでimportの制限ルールを定義できる。 |
| 231 | +`trace`オプションを有効にすると、ルールで禁止された結果をわかりやすく表示できる |
| 232 | + |
| 233 | + |
| 234 | +---- |
| 235 | + |
| 236 | +## BrowserPod — Sandboxed Dev Environments in any Browser |
| 237 | +[browserpod.io/](https://browserpod.io/ "BrowserPod — Sandboxed Dev Environments in any Browser") |
| 238 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">WebAssembly</span> <span class="jser-tag">nodejs</span> <span class="jser-tag">browser</span> <span class="jser-tag">webservice</span></p> |
| 239 | + |
| 240 | +ブラウザ内でNode.jsなどのコードをサンドボックス実行できるプラットフォーム。 |
| 241 | +WebAssemblyベースのランタイムエンジンを使い、WebWorkerによるマルチプロセス実行、仮想ファイルシステム、制御されたネットワークアクセスなどの機能を持つ。 |
| 242 | + |
| 243 | + |
| 244 | +---- |
| 245 | +<h1 class="site-genre">ソフトウェア、ツール、ライブラリ関係</h1> |
| 246 | + |
| 247 | +---- |
| 248 | + |
| 249 | +## sam247/openredaction: Open Source PII detection and redaction for JavaScript/Typescript. Achieve enterprise compliance and unparalleled, lightning fast performance, all 100% local. |
| 250 | +[github.com/sam247/openredaction](https://github.com/sam247/openredaction "sam247/openredaction: Open Source PII detection and redaction for JavaScript/Typescript. Achieve enterprise compliance and unparalleled, lightning fast performance, all 100% local.") |
| 251 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">TypeScript</span> <span class="jser-tag">library</span> <span class="jser-tag">privacy</span> <span class="jser-tag">RegExp</span></p> |
| 252 | + |
| 253 | +JavaScript/TypeScript向けのPII(個人識別情報)の検出とマスキングを行うライブラリ。 |
| 254 | +正規表現パターンを使い、メールアドレス、電話番号、クレジットカード番号、政府発行IDなど50カ国以上のPIIパターンをサポートしている。 |
| 255 | + |
| 256 | + |
| 257 | +---- |
0 commit comments