Skip to content

2025-01-23のJS: Vitest 3.0、Rspack 1.2(永続キャッシュ)、react-server #1256

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 18 commits into from
Jan 23, 2025
216 changes: 216 additions & 0 deletions _i18n/ja/_posts/2025/2025-01-23-vitest-3.0-rspack-1.2-react-server.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,216 @@
---
title: "2025-01-23のJS: Vitest 3.0、Rspack 1.2(永続キャッシュ)、react-server"
author: "azu"
layout: post
date: 2025-01-23T01:14:18.320Z
category: JSer
tags:
- React
- vite
- test
- Native
- nodejs

---

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

- [Vitest 3.0 is out! | Vitest](https://vitest.dev/blog/vitest-3)
- [Release v3.0.0 · vitest-dev/vitest](https://github.com/vitest-dev/vitest/releases/tag/v3.0.0)

Vitest 3.0では、Vite 6をサポート、`spy.mockReset`の変更、CLIのrepoterの書き直し、ワークスペースの設定を`vitest.config`ファイルに書けるように、`vitest/node`を公開などの変更が行われています。
また、`describe.for` APIの追加、`toBeOneOf`/`toSatisfy`/`toHaveBeenCalledAfter`/`toHaveBeenCalledOnceWith`の追加なども行われています。

----

Rspack 1.2がリリースされました。

- [Announcing Rspack 1.2 - Rspack](https://rspack.dev/blog/announcing-1-2)

実験的な機能として永続キャッシュのサポート、Code Splittingのマルチスレッドサポートが追加されています。
また、デフォルトで`node_modules`の変更を監視しないようになり、SWC minimizerの`passes`のデフォルト値を`2`に変更することで、デフォルトでの動作が最適化されています。

----

`@lazarv/react-server`というViteベースのReact Server ComponentやServer Actionに対応したReactフレームワークが公開されています。

- [@lazarv/react-server](https://react-server.dev/)
- [lazarv/react-server: The easiest way to build React apps with server-side rendering](https://github.com/lazarv/react-server)

`@lazarv/react-server`は、ファイルシステムベースのルーティング、Static generation、React Server Componentなどに対応しています。

----

{% include inline-support.html %}

----

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

----

## Announcing Nuxt Content version 3
[content.nuxt.com/blog/v3](https://content.nuxt.com/blog/v3 "Announcing Nuxt Content version 3")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Nuxt</span> <span class="jser-tag">ReleaseNote</span></p>

Nuxt Content v3リリース。
ファイルベースの代わりにPostgreSQL/Cloudflare D1/LibSQLなどのデータベースを利用できるように。
ブラウザでは、Wasm SQLiteをIn-Memory DBとして利用している。
`content.config.ts`にコレクションを定義できるように、`queryCollection` APIでコレクションを取得できるようになるなど


----

## Release v8.5.0 · storybookjs/storybook
[github.com/storybookjs/storybook/releases/tag/v8.5.0](https://github.com/storybookjs/storybook/releases/tag/v8.5.0 "Release v8.5.0 · storybookjs/storybook")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">storybook</span> <span class="jser-tag">ReleaseNote</span></p>

Storybook v8.5.0リリース。
`@storybook/addon-a11y`の改善、`@storybook/experimental-addon-test`の改善、React 19のサポート。
React Native Webをサポートなど


----

## Chrome 132  |  Release notes  |  Chrome for Developers
[developer.chrome.com/release-notes/132](https://developer.chrome.com/release-notes/132 "Chrome 132  |  Release notes  |  Chrome for Developers")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Chrome</span> <span class="jser-tag">ReleaseNote</span></p>

Chrome 132リリース。
`<dialog>`の`toggle`イベントをサポート、CSSの`writing-mode`が`sideways-{lr,lr}`(横書きモード)をサポート。
`Request.bytes()`/`Response.bytes()`をサポート、すべての画面をキャプチャする`getAllScreensMedia()`のサポート、Element captureのサポート。
Origin TrialとしてExplicit compile hints with magic comments、`Document-Isolation-Policy`のサポートなど

- [New in Chrome 132  |  Blog  |  Chrome for Developers](https://developer.chrome.com/blog/new-in-chrome-132?hl=en "New in Chrome 132  |  Blog  |  Chrome for Developers")

----

## Vitest 3.0 is out! | Vitest
[vitest.dev/blog/vitest-3](https://vitest.dev/blog/vitest-3 "Vitest 3.0 is out! | Vitest")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">vite</span> <span class="jser-tag">test</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p>

Vitest 3.0リリース。
Vite 6をサポート、`spy.mockReset`の変更、CLIのrepoterの書き直し、ワークスペースの設定を`vitest.config`ファイルに書けるように、`vitest/node`を公開。
`describe.for` APIの追加、`toBeOneOf`/`toSatisfy`/`toHaveBeenCalledAfter`/`toHaveBeenCalledOnceWith`の追加など

- [Release v3.0.0 · vitest-dev/vitest](https://github.com/vitest-dev/vitest/releases/tag/v3.0.0 "Release v3.0.0 · vitest-dev/vitest")

----

## Changelog: Cypress App | Cypress Documentation
[docs.cypress.io/app/references/changelog#14-0-0](https://docs.cypress.io/app/references/changelog#14-0-0 "Changelog: Cypress App | Cypress Documentation")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">browser</span> <span class="jser-tag">test</span> <span class="jser-tag">ReleaseNote</span></p>

Cypress 14.0.0リリース。
Node.js 16のサポート終了、`document.domain`をデフォルトで設定しないように変更、サブドメイン間を移動する時は`cy.origin`を利用するように変更など


----

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

Electron 34.0.0リリース。
Chromium 132/V8 13.2/Node 20.18.1へアップデート。`WebFrameMain.collectJavaScriptCallStack()` APIの追加、Brotli/ZStandardの共有辞書を管理するためのAPIを追加など


----

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

Rspack 1.2リリース。
実験的な機能として永続キャッシュのサポート、Code Splittingのマルチスレッドサポート、Yarn PnPのサポート。
デフォルトで`node_modules`の変更を監視しないように変更、SWC minimizerの`passes`のデフォルト値を`2`に変更など


----

## React Native 0.77 - New Styling Features, Android’s 16KB page support, Swift Template · React Native
[reactnative.dev/blog/2025/01/21/version-0.77](https://reactnative.dev/blog/2025/01/21/version-0.77 "React Native 0.77 - New Styling Features, Android’s 16KB page support, Swift Template · React Native")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">Native</span> <span class="jser-tag">ReleaseNote</span></p>

React Native 0.77リリース。
`display: contents`のサポート、`mixBlendMode`のサポート、outline propsのサポート。
Androidの16 KB page sizeのサポートなど


----

## Node.js — Tuesday, January 21, 2025 Security Releases
[nodejs.org/en/blog/vulnerability/january-2025-security-releases](https://nodejs.org/en/blog/vulnerability/january-2025-security-releases "Node.js — Tuesday, January 21, 2025 Security Releases")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">ReleaseNote</span> <span class="jser-tag">security</span></p>

Node.jsのセキュリティアップデートとして、それぞれのバージョンのアップデートが公開された。

- Node.js v18.20.6
- Node.js v20.18.2
- Node.js v22.13.1
- Node.js v23.6.1

すでにメンテナンスが終了(EOL)したNode.js 16.xにも影響する脆弱性であるため、EOLとなったバージョンにもCVEは発行されている。


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

----

## A checklist for your \`tsconfig.json\`
[2ality.com/2025/01/tsconfig-json.html](https://2ality.com/2025/01/tsconfig-json.html "A checklist for your \`tsconfig.json\`")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">TypeScript</span> <span class="jser-tag">article</span></p>

`tsconfig.json`の設定や動作について。
それぞれのオプションの意味や典型的な設定についての解説


----

## Five years of React Native at Shopify (2025) - Shopify
[shopify.engineering/five-years-of-react-native-at-shopify](https://shopify.engineering/five-years-of-react-native-at-shopify "Five years of React Native at Shopify (2025) - Shopify")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">Native</span> <span class="jser-tag">article</span></p>

ShopifyでのReact Nativeの利用について。


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

----

## ircam-ismm/node-web-audio-api: Web Audio API implementation for Node.js
[github.com/ircam-ismm/node-web-audio-api?tab&#x3D;readme-ov-file](https://github.com/ircam-ismm/node-web-audio-api?tab=readme-ov-file "ircam-ismm/node-web-audio-api: Web Audio API implementation for Node.js")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">Rust</span> <span class="jser-tag">audio</span> <span class="jser-tag">library</span></p>

Web Audio APIのRust実装を使ったNode.js向けのバインディング。
Web Audio API互換のAPIでAudioを扱える

- [orottier/web-audio-api-rs: A Rust implementation of the Web Audio API, for use in non-browser contexts](https://github.com/orottier/web-audio-api-rs/?tab=readme-ov-file "orottier/web-audio-api-rs: A Rust implementation of the Web Audio API, for use in non-browser contexts")

----
<h1 class="site-genre">ソフトウェア、ツール、ライブラリ関係</h1>

----

## desko27/react-call: ⚛️ 📡 Call your React components
[github.com/desko27/react-call](https://github.com/desko27/react-call "desko27/react-call: ⚛️ 📡 Call your React components")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">library</span></p>

Reactで`window.confirm`のように手続き的なモーダル表示などを管理できるライブラリ

- [React で Modal や Confirm の実装を簡単にする react-call というライブラリがアツい!!!](https://zenn.dev/ykicchan/articles/5415871c017b22 "React で Modal や Confirm の実装を簡単にする react-call というライブラリがアツい!!!")

----

## @lazarv/react-server
[react-server.dev/](https://react-server.dev/ "@lazarv/react-server")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">vite</span> <span class="jser-tag">server</span> <span class="jser-tag">library</span></p>

ViteベースのReact Server ComponentやServer Actionに対応したReactフレームワーク。
ファイルシステムベースのルーティング、Static generation、React Server Componentなどに対応している

- [lazarv/react-server: The easiest way to build React apps with server-side rendering](https://github.com/lazarv/react-server "lazarv/react-server: The easiest way to build React apps with server-side rendering")

----