|
| 1 | +--- |
| 2 | +title: "2025-01-23のJS: Vitest 3.0、Rspack 1.2(永続キャッシュ)、react-server" |
| 3 | +author: "azu" |
| 4 | +layout: post |
| 5 | +date: 2025-01-23T01:14:18.320Z |
| 6 | +category: JSer |
| 7 | +tags: |
| 8 | +- React |
| 9 | +- vite |
| 10 | +- test |
| 11 | +- Native |
| 12 | +- nodejs |
| 13 | + |
| 14 | +--- |
| 15 | + |
| 16 | +JSer.info #723 - Vitest 3.0がリリースされました。 |
| 17 | + |
| 18 | +- [Vitest 3.0 is out! | Vitest](https://vitest.dev/blog/vitest-3) |
| 19 | +- [Release v3.0.0 · vitest-dev/vitest](https://github.com/vitest-dev/vitest/releases/tag/v3.0.0) |
| 20 | + |
| 21 | +Vitest 3.0では、Vite 6をサポート、`spy.mockReset`の変更、CLIのrepoterの書き直し、ワークスペースの設定を`vitest.config`ファイルに書けるように、`vitest/node`を公開などの変更が行われています。 |
| 22 | +また、`describe.for` APIの追加、`toBeOneOf`/`toSatisfy`/`toHaveBeenCalledAfter`/`toHaveBeenCalledOnceWith`の追加なども行われています。 |
| 23 | + |
| 24 | +---- |
| 25 | + |
| 26 | +Rspack 1.2がリリースされました。 |
| 27 | + |
| 28 | +- [Announcing Rspack 1.2 - Rspack](https://rspack.dev/blog/announcing-1-2) |
| 29 | + |
| 30 | +実験的な機能として永続キャッシュのサポート、Code Splittingのマルチスレッドサポートが追加されています。 |
| 31 | +また、デフォルトで`node_modules`の変更を監視しないようになり、SWC minimizerの`passes`のデフォルト値を`2`に変更することで、デフォルトでの動作が最適化されています。 |
| 32 | + |
| 33 | +---- |
| 34 | + |
| 35 | +`@lazarv/react-server`というViteベースのReact Server ComponentやServer Actionに対応したReactフレームワークが公開されています。 |
| 36 | + |
| 37 | +- [@lazarv/react-server](https://react-server.dev/) |
| 38 | +- [lazarv/react-server: The easiest way to build React apps with server-side rendering](https://github.com/lazarv/react-server) |
| 39 | + |
| 40 | +`@lazarv/react-server`は、ファイルシステムベースのルーティング、Static generation、React Server Componentなどに対応しています。 |
| 41 | + |
| 42 | +---- |
| 43 | + |
| 44 | +{% include inline-support.html %} |
| 45 | + |
| 46 | +---- |
| 47 | + |
| 48 | +<h1 class="site-genre">ヘッドライン</h1> |
| 49 | + |
| 50 | +---- |
| 51 | + |
| 52 | +## Announcing Nuxt Content version 3 |
| 53 | +[content.nuxt.com/blog/v3](https://content.nuxt.com/blog/v3 "Announcing Nuxt Content version 3") |
| 54 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Nuxt</span> <span class="jser-tag">ReleaseNote</span></p> |
| 55 | + |
| 56 | +Nuxt Content v3リリース。 |
| 57 | +ファイルベースの代わりにPostgreSQL/Cloudflare D1/LibSQLなどのデータベースを利用できるように。 |
| 58 | +ブラウザでは、Wasm SQLiteをIn-Memory DBとして利用している。 |
| 59 | +`content.config.ts`にコレクションを定義できるように、`queryCollection` APIでコレクションを取得できるようになるなど |
| 60 | + |
| 61 | + |
| 62 | +---- |
| 63 | + |
| 64 | +## Release v8.5.0 · storybookjs/storybook |
| 65 | +[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") |
| 66 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">storybook</span> <span class="jser-tag">ReleaseNote</span></p> |
| 67 | + |
| 68 | +Storybook v8.5.0リリース。 |
| 69 | +`@storybook/addon-a11y`の改善、`@storybook/experimental-addon-test`の改善、React 19のサポート。 |
| 70 | +React Native Webをサポートなど |
| 71 | + |
| 72 | + |
| 73 | +---- |
| 74 | + |
| 75 | +## Chrome 132 | Release notes | Chrome for Developers |
| 76 | +[developer.chrome.com/release-notes/132](https://developer.chrome.com/release-notes/132 "Chrome 132 | Release notes | Chrome for Developers") |
| 77 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Chrome</span> <span class="jser-tag">ReleaseNote</span></p> |
| 78 | + |
| 79 | +Chrome 132リリース。 |
| 80 | +`<dialog>`の`toggle`イベントをサポート、CSSの`writing-mode`が`sideways-{lr,lr}`(横書きモード)をサポート。 |
| 81 | +`Request.bytes()`/`Response.bytes()`をサポート、すべての画面をキャプチャする`getAllScreensMedia()`のサポート、Element captureのサポート。 |
| 82 | +Origin TrialとしてExplicit compile hints with magic comments、`Document-Isolation-Policy`のサポートなど |
| 83 | + |
| 84 | +- [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") |
| 85 | + |
| 86 | +---- |
| 87 | + |
| 88 | +## Vitest 3.0 is out! | Vitest |
| 89 | +[vitest.dev/blog/vitest-3](https://vitest.dev/blog/vitest-3 "Vitest 3.0 is out! | Vitest") |
| 90 | +<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> |
| 91 | + |
| 92 | +Vitest 3.0リリース。 |
| 93 | +Vite 6をサポート、`spy.mockReset`の変更、CLIのrepoterの書き直し、ワークスペースの設定を`vitest.config`ファイルに書けるように、`vitest/node`を公開。 |
| 94 | +`describe.for` APIの追加、`toBeOneOf`/`toSatisfy`/`toHaveBeenCalledAfter`/`toHaveBeenCalledOnceWith`の追加など |
| 95 | + |
| 96 | +- [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") |
| 97 | + |
| 98 | +---- |
| 99 | + |
| 100 | +## Changelog: Cypress App | Cypress Documentation |
| 101 | +[docs.cypress.io/app/references/changelog#14-0-0](https://docs.cypress.io/app/references/changelog#14-0-0 "Changelog: Cypress App | Cypress Documentation") |
| 102 | +<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> |
| 103 | + |
| 104 | +Cypress 14.0.0リリース。 |
| 105 | +Node.js 16のサポート終了、`document.domain`をデフォルトで設定しないように変更、サブドメイン間を移動する時は`cy.origin`を利用するように変更など |
| 106 | + |
| 107 | + |
| 108 | +---- |
| 109 | + |
| 110 | +## Electron 34.0.0 | Electron |
| 111 | +[www.electronjs.org/blog/electron-34-0](https://www.electronjs.org/blog/electron-34-0 "Electron 34.0.0 | Electron") |
| 112 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Electron</span> <span class="jser-tag">ReleaseNote</span></p> |
| 113 | + |
| 114 | +Electron 34.0.0リリース。 |
| 115 | +Chromium 132/V8 13.2/Node 20.18.1へアップデート。`WebFrameMain.collectJavaScriptCallStack()` APIの追加、Brotli/ZStandardの共有辞書を管理するためのAPIを追加など |
| 116 | + |
| 117 | + |
| 118 | +---- |
| 119 | + |
| 120 | +## Announcing Rspack 1.2 - Rspack |
| 121 | +[rspack.dev/blog/announcing-1-2](https://rspack.dev/blog/announcing-1-2 "Announcing Rspack 1.2 - Rspack") |
| 122 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">rspack</span> <span class="jser-tag">ReleaseNote</span></p> |
| 123 | + |
| 124 | +Rspack 1.2リリース。 |
| 125 | +実験的な機能として永続キャッシュのサポート、Code Splittingのマルチスレッドサポート、Yarn PnPのサポート。 |
| 126 | +デフォルトで`node_modules`の変更を監視しないように変更、SWC minimizerの`passes`のデフォルト値を`2`に変更など |
| 127 | + |
| 128 | + |
| 129 | +---- |
| 130 | + |
| 131 | +## React Native 0.77 - New Styling Features, Android’s 16KB page support, Swift Template · React Native |
| 132 | +[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") |
| 133 | +<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> |
| 134 | + |
| 135 | +React Native 0.77リリース。 |
| 136 | +`display: contents`のサポート、`mixBlendMode`のサポート、outline propsのサポート。 |
| 137 | +Androidの16 KB page sizeのサポートなど |
| 138 | + |
| 139 | + |
| 140 | +---- |
| 141 | + |
| 142 | +## Node.js — Tuesday, January 21, 2025 Security Releases |
| 143 | +[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") |
| 144 | +<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> |
| 145 | + |
| 146 | +Node.jsのセキュリティアップデートとして、それぞれのバージョンのアップデートが公開された。 |
| 147 | + |
| 148 | +- Node.js v18.20.6 |
| 149 | +- Node.js v20.18.2 |
| 150 | +- Node.js v22.13.1 |
| 151 | +- Node.js v23.6.1 |
| 152 | + |
| 153 | +すでにメンテナンスが終了(EOL)したNode.js 16.xにも影響する脆弱性であるため、EOLとなったバージョンにもCVEは発行されている。 |
| 154 | + |
| 155 | + |
| 156 | +---- |
| 157 | +<h1 class="site-genre">アーティクル</h1> |
| 158 | + |
| 159 | +---- |
| 160 | + |
| 161 | +## A checklist for your \`tsconfig.json\` |
| 162 | +[2ality.com/2025/01/tsconfig-json.html](https://2ality.com/2025/01/tsconfig-json.html "A checklist for your \`tsconfig.json\`") |
| 163 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">TypeScript</span> <span class="jser-tag">article</span></p> |
| 164 | + |
| 165 | +`tsconfig.json`の設定や動作について。 |
| 166 | +それぞれのオプションの意味や典型的な設定についての解説 |
| 167 | + |
| 168 | + |
| 169 | +---- |
| 170 | + |
| 171 | +## Five years of React Native at Shopify (2025) - Shopify |
| 172 | +[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") |
| 173 | +<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> |
| 174 | + |
| 175 | +ShopifyでのReact Nativeの利用について。 |
| 176 | + |
| 177 | + |
| 178 | +---- |
| 179 | +<h1 class="site-genre">サイト、サービス、ドキュメント</h1> |
| 180 | + |
| 181 | +---- |
| 182 | + |
| 183 | +## ircam-ismm/node-web-audio-api: Web Audio API implementation for Node.js |
| 184 | +[github.com/ircam-ismm/node-web-audio-api?tab=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") |
| 185 | +<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> |
| 186 | + |
| 187 | +Web Audio APIのRust実装を使ったNode.js向けのバインディング。 |
| 188 | +Web Audio API互換のAPIでAudioを扱える |
| 189 | + |
| 190 | +- [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") |
| 191 | + |
| 192 | +---- |
| 193 | +<h1 class="site-genre">ソフトウェア、ツール、ライブラリ関係</h1> |
| 194 | + |
| 195 | +---- |
| 196 | + |
| 197 | +## desko27/react-call: ⚛️ 📡 Call your React components |
| 198 | +[github.com/desko27/react-call](https://github.com/desko27/react-call "desko27/react-call: ⚛️ 📡 Call your React components") |
| 199 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">library</span></p> |
| 200 | + |
| 201 | +Reactで`window.confirm`のように手続き的なモーダル表示などを管理できるライブラリ |
| 202 | + |
| 203 | +- [React で Modal や Confirm の実装を簡単にする react-call というライブラリがアツい!!!](https://zenn.dev/ykicchan/articles/5415871c017b22 "React で Modal や Confirm の実装を簡単にする react-call というライブラリがアツい!!!") |
| 204 | + |
| 205 | +---- |
| 206 | + |
| 207 | +## @lazarv/react-server |
| 208 | +[react-server.dev/](https://react-server.dev/ "@lazarv/react-server") |
| 209 | +<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> |
| 210 | + |
| 211 | +ViteベースのReact Server ComponentやServer Actionに対応したReactフレームワーク。 |
| 212 | +ファイルシステムベースのルーティング、Static generation、React Server Componentなどに対応している |
| 213 | + |
| 214 | +- [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") |
| 215 | + |
| 216 | +---- |
0 commit comments