Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,248 @@
---
title: "2026-09-10のJS: Vitest 5.0、Zod 4.5、ShopifyがTailwind Labsを買収"
author: "azu"
layout: post
date: 2026-09-10T13:24:54.443Z
category: JSer
tags:
- Vitest
- vite
- testing
- Zod
- TypeScript
- TailwindCSS
- css

---

JSer.info #779 - Vitest 5.0がリリースされました。

- [Vitest 5.0 is out! | Vitest](https://vitest.dev/blog/vitest-5.html)

`clearMocks`がデフォルトで有効になり、locatorが完全一致で検索するように変更されています。
Benchmarking APIが書き直され、Browser Modeの`browser.traceView`、`vi.when`が追加されています。
また、`vitest doctor`、`--repeats`、`coverage.autoAttachSubprocess`なども追加されています。

---

Zod 4.5がリリースされました。

- [Zod 4.5](https://zod.dev/blog/zod-4-5)

`z.compile()`によるスキーマの事前コンパイル、`z.creditCard()`、`z.properties()`が追加されています。
`z.deepPartial()`、`.exactPartial()`、`z.validate()`、`z.input()`/`z.output()`、`z.toZod<T>()`も追加されています。
そのほか、`z.iso.datetime()`で秒を必須とする変更、文字列の長さをCode Pointで数える変更、`__proto__`を常に取り除く変更などが含まれます。

---

ShopifyによるTailwind Labsの買収が発表されました。

- [Tailwind Labs is joining Shopify - Tailwind CSS](https://tailwindcss.com/blog/tailwind-is-joining-shopify)

Tailwind CSSなどのオープンソースプロジェクトはMITライセンスを維持し、Tailwind LabsのチームがShopifyの支援を受けて開発を継続するとしています。
Tailwind Plusとui.shは既存顧客のアクセスを維持し、新規登録は終了する予定です。

----

<h1 class="site-genre">ヘッドライン</h1>

----

## Release v4.0.0 · plotly/plotly.js
[github.com/plotly/plotly.js/releases/tag/v4.0.0](https://github.com/plotly/plotly.js/releases/tag/v4.0.0 "Release v4.0.0 · plotly/plotly.js")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">chart</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p>

plotly.js 4.0.0リリース。
Node.js 22未満のサポート終了、`scattermapbox`/`choroplethmapbox`/`densitymapbox`を削除。
`mapboxAccessToken`の削除、MathJax v2サポート終了しv3/v4をサポート、色処理ライブラリをculoriへ変更など


----

## htmx 4.0.0 has been released! ~ htmx
[four.htmx.org/announcements/2026-08-28-htmx-4.0.0-is-released](https://four.htmx.org/announcements/2026-08-28-htmx-4.0.0-is-released "htmx 4.0.0 has been released! ~ htmx")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">HTML</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p>

htmx 4.0.0リリース。
属性の継承を`:inherited`で明示するように変更、イベント名を`htmx:phase:action`形式へ変更
履歴キャッシュは`localStorage`を使わずに再取得する形へ変更。
XHRから`fetch()`ベースの実装へ移行し、Morph Swap、`<hx-partial>`、`hx-preload`/`hx-download`の追加など


----

## Zod 4.5
[zod.dev/blog/zod-4-5](https://zod.dev/blog/zod-4-5 "Zod 4.5")
<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">ReleaseNote</span></p>

Zod 4.5リリース。
`z.compile()`によるスキーマの事前コンパイル、`z.creditCard()`/`z.properties()`の追加。
`z.deepPartial()`/`.exactPartial()`、`z.validate()`、`z.input()`/`z.output()`、`z.toZod<T>()`の追加。
`z.iso.datetime()`で秒を必須に変更、文字列の長さをCode Pointでカウントするように変更、`__proto__`を常に取り除くように変更など

- [Reducing Zod&#039;s memory footprint by an order of magnitude with method memoization](https://zod.dev/blog/reducing-memory-footprint "Reducing Zod&amp;#039;s memory footprint by an order of magnitude with method memoization")

----

## Announcing Rspack 2.2 - Rspack
[rspack.rs/blog/announcing-2-2](https://rspack.rs/blog/announcing-2-2 "Announcing Rspack 2.2 - Rspack")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">rspack</span> <span class="jser-tag">ReleaseNote</span></p>

Rspack 2.2リリース。
HMRの改善、Browserslistのベースラインクエリをサポート。Rspack固有のモジュール変数を`import.meta`で公開するように変更。
Rsbuildでは、Node.jsビルドでsplit chunksをデフォルトで有効化、Solid v2をサポート。
RslibがTypeScript 7をサポートなど


----

## Node.js — Node.js 24.20.0 (LTS)
[nodejs.org/en/blog/release/v24.20.0](https://nodejs.org/en/blog/release/v24.20.0 "Node.js — Node.js 24.20.0 (LTS)")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">ReleaseNote</span></p>

Node.js v24.20.0(LTS)リリース。
`AsyncLocalStorage`への`using` scopeの追加、`Buffer`に`end`パラメータの追加。
`permission.drop()`/`--permission-audit`、package maps、`node:stream/iter`を追加など


----

## Remix 3 Release Candidate | Remix
[remix.run/blog/remix-3-release-candidate](https://remix.run/blog/remix-3-release-candidate "Remix 3 Release Candidate | Remix")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Remix</span> <span class="jser-tag">JavaScript</span> <span class="jser-tag">ReleaseNote</span></p>

Remix 3.0.0-rc.1リリース。


----

## Electron 44 | Electron
[www.electronjs.org/blog/electron-44-0](https://www.electronjs.org/blog/electron-44-0 "Electron 44 | Electron")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Electron</span> <span class="jser-tag">ReleaseNote</span></p>

Electron 44リリース。
Chromium 152.0.7977.54、Node.js v24.18.1、V8 15.2へアップデート。
macOS 12/Windows 32-bit/Linux ARM 32-bitのサポート終了、rendererからの`clipboard`直接利用を削除。
`clipboard`の非同期API化、`windowStatePersistence`、`net.WebSocket`を追加。
`webContents.setZoomMode()`、`webFrameMain.printToPDF()`、Linuxの`win.setOpacity()`などを追加。


----

## Vitest 5.0 is out! | Vitest
[vitest.dev/blog/vitest-5.html](https://vitest.dev/blog/vitest-5.html "Vitest 5.0 is out! | Vitest")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">vite</span> <span class="jser-tag">testing</span> <span class="jser-tag">ReleaseNote</span></p>

Vitest 5.0リリース。
デフォルトの挙動の変更として`clearMocks`の有効化、ネストしたプロジェクトで設定をデフォルトで継承するように変更、locatorがstrict matchするように変更。
Benchmarking APIの書き直し、Browser Modeの`browser.traceView`追加、`vi.when`の追加。
`vitest doctor`、`--repeats`、`coverage.autoAttachSubprocess`の追加など。

- [Migration Guide | Guide | Vitest](https://vitest.dev/guide/migration/ "Migration Guide | Guide | Vitest")

----

## Release v1.63.0 · microsoft/playwright
[github.com/microsoft/playwright/releases/tag/v1.63.0](https://github.com/microsoft/playwright/releases/tag/v1.63.0 "Release v1.63.0 · microsoft/playwright")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">playwright</span> <span class="jser-tag">testing</span> <span class="jser-tag">ReleaseNote</span></p>

Playwright v1.63.0リリース。
共有リソースを使うテストの排他実行を扱う`lock`、表示要素だけに絞る`locator.visible()`を追加。
`page.frameLocator()`でフレームをまたいだLocator検索に対応。
`trace`に`snapshots`オプションを追加、`locator.ariaSnapshotJSON()`を追加など


----

## Firefox 155.0, See All New Features, Updates and Fixes
[www.firefox.com/en-US/firefox/155.0/releasenotes/](https://www.firefox.com/en-US/firefox/155.0/releasenotes/ "Firefox 155.0, See All New Features, Updates and Fixes")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Firefox</span> <span class="jser-tag">browser</span> <span class="jser-tag">ReleaseNote</span> <span class="jser-tag">css</span> <span class="jser-tag">WebAssembly</span> <span class="jser-tag">HTTP3</span> <span class="jser-tag">WebRTC</span></p>

Firefox 155.0リリース。
CSSの`attr()`/`progress()`/`alpha()`、HTTP/3でのQUIC v2をサポート。
WebAssembly Compact Import Section/Wide Arithmeticをサポート。
開発者ツールでは`prefers-reduced-motion`のエミュレーション、JSON Lines表示、ブレークポイント切り替えショートカットを追加。
`mailto:`リンクはユーザー操作時のみ開くように変更など

- [Firefox 155 release notes for developers (Stable) - Mozilla | MDN](https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/155 "Firefox 155 release notes for developers (Stable) - Mozilla | MDN")

----

## Tailwind Labs is joining Shopify - Tailwind CSS
[tailwindcss.com/blog/tailwind-is-joining-shopify](https://tailwindcss.com/blog/tailwind-is-joining-shopify "Tailwind Labs is joining Shopify - Tailwind CSS")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">css</span> <span class="jser-tag">OpenSource</span> <span class="jser-tag">news</span></p>

ShopifyがTailwind Labsを買収した。
Tailwind CSSなどのOSSはMITライセンスのまま、Tailwind LabsのチームがShopifyの支援で開発を継続する。
Tailwind Plusとui.shは既存顧客のアクセスを維持し、新規サインアップは終了する予定。


----
<h1 class="site-genre">アーティクル</h1>

----

## How Turbopack chunks your JavaScript | Next.js
[nextjs.org/blog/turbopack-chunking](https://nextjs.org/blog/turbopack-chunking "How Turbopack chunks your JavaScript | Next.js")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Next.js</span> <span class="jser-tag">JavaScript</span> <span class="jser-tag">article</span> <span class="jser-tag">performance</span></p>

TurbopackのChunk分割アルゴリズムについて。
Chunkのマージによるリクエスト数と転送量のトレードオフについて解説されている。
Next.js 16.3の`generateComponentChunks`では、ビルド時にマージ済みのChunkと個別のChunkを生成する。
画面遷移時には、読み込み済みのコードを踏まえて、まとめて取得するか、足りないChunkだけを取得するかを判断する。
また`firstPageLoadPriority`/`priorityRoutes`/`clusters`による調整やCommonJSの対応についてなど。


----

## Fixing Top-Level Await in Safari | WebKit
[webkit.org/blog/18227/fixing-top-level-await-in-safari/](https://webkit.org/blog/18227/fixing-top-level-await-in-safari/ "Fixing Top-Level Await in Safari | WebKit")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">safari</span> <span class="jser-tag">JavaScript</span> <span class="jser-tag">article</span></p>

Safari 27/Safari Technology Preview 251でのTop-Level Awaitの修正について。
SafariのModule LoaderをJavaScript実装からC++実装へ書き直し、ECMAScript仕様に沿って、Top-Level Awaitに対応した


----
<h1 class="site-genre">サイト、サービス、ドキュメント</h1>

----

## Release v2.0.1: Aube&#039;s own global home, leaner resolver, and dramatically lower install memory · jdx/aube
[github.com/jdx/aube/releases/tag/v2.0.1](https://github.com/jdx/aube/releases/tag/v2.0.1 "Release v2.0.1: Aube&#039;s own global home, leaner resolver, and dramatically lower install memory · jdx/aube")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">package</span> <span class="jser-tag">Rust</span> <span class="jser-tag">Tools</span></p>

Aube v2リリース。
`aube add -g`のインストール先をpnpmのディレクトリからAubeのdata rootへ変更。
`lowest-direct`を`ResolutionMode::LowestDirect`として公開APIに追加、`aube store prune --dry-run --json`の構造化出力を追加。
`aube pack`/`aube publish`での`catalog:`解決など。


----

## davideast/pyric: Firebase tooling for the agent era
[github.com/davideast/pyric](https://github.com/davideast/pyric "davideast/pyric: Firebase tooling for the agent era")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">Tools</span> <span class="jser-tag">vite</span> <span class="jser-tag">MCP</span></p>

Firebaseアプリをローカルで動かすための開発フレームワーク/エミュレータ。
Viteプラグインで`firebase/*`のimportをブラウザ内のローカルバックエンドへ差し替える。
Auth/Firestore/Security Rulesを扱い、Pyric StudioやMCP bridgeで状態の確認や操作ができる。

- [Rules standard library reference · Pyric Studio](https://pyric.dev/docs/trust/rules-standard-library/ "Rules standard library reference · Pyric Studio")

----
<h1 class="site-genre">書籍関係</h1>

----

## minitype – TypeScript ライブラリとして動作するヘッドレス組版エンジン
[typeset.jp/](https://typeset.jp/ "minitype – TypeScript ライブラリとして動作するヘッドレス組版エンジン")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">TypeScript</span> <span class="jser-tag">JavaScript</span> <span class="jser-tag">library</span> <span class="jser-tag">PDF</span> <span class="jser-tag">japanese</span></p>

TypeScriptライブラリとして動作するヘッドレス組版エンジン。
TypeScriptのコードで文書構造とスタイルを定義し、PDFやPNGを生成できる。
禁則処理、縦組み、ルビ、ハイフネーション、段組み、フロート配置などを扱える。

- [minitype – TypeScript ライブラリとして動作するヘッドレス組版エンジン](https://typeset.jp/ "minitype – TypeScript ライブラリとして動作するヘッドレス組版エンジン")

----