|
| 1 | +--- |
| 2 | +title: "2025-01-23: Vitest 3.0, Rspack 1.2(영속 캐시), react-server" |
| 3 | +author: "azu" |
| 4 | +translator: rewrite0w0 |
| 5 | +layout: post |
| 6 | +date: 2025-01-23T01:14:18.320Z |
| 7 | +category: JSer |
| 8 | +tags: |
| 9 | +- React |
| 10 | +- vite |
| 11 | +- test |
| 12 | +- Native |
| 13 | +- nodejs |
| 14 | + |
| 15 | +--- |
| 16 | + |
| 17 | +JSer.info #723 - Vitest 3.0가 출시되었습니다. |
| 18 | + |
| 19 | +- [Vitest 3.0 is out! | Vitest](https://vitest.dev/blog/vitest-3) |
| 20 | +- [Release v3.0.0 · vitest-dev/vitest](https://github.com/vitest-dev/vitest/releases/tag/v3.0.0) |
| 21 | + |
| 22 | +Vitest 3.0에서는, Vite 6 지원, `spy.mockReset` 변경, CLI의 repoter 재작성, 워크스페이스 설정 `vitest.config` 파일에 작성하도록, `vitest/node` 공개 등의 변경이 있습니다. |
| 23 | +또한, `describe.for` API 추가, `toBeOneOf`/`toSatisfy`/`toHaveBeenCalledAfter`/`toHaveBeenCalledOnceWith` 추가도 있습니다. |
| 24 | + |
| 25 | +---- |
| 26 | + |
| 27 | +Rspack 1.2가 출시되었습니다. |
| 28 | + |
| 29 | +- [Announcing Rspack 1.2 - Rspack](https://rspack.dev/blog/announcing-1-2) |
| 30 | + |
| 31 | +실험적 기능으로 영속 캐시 지원, Code Splitting 멀티스레드 지원도 추가되었습니다. |
| 32 | +또한, 기본적으로 `node_modules` 변경을 감시하지 않도록, SWC minimizer의 `passes` 기본 값을 `2`로 변경, 기본 동작 최적화가 되었습니다. |
| 33 | + |
| 34 | +---- |
| 35 | + |
| 36 | +`@lazarv/react-server` Vite 기반의 React Server Component나 Server Action에 대응한 React 프레임워크가 공개되었습니다. |
| 37 | + |
| 38 | +- [@lazarv/react-server](https://react-server.dev/) |
| 39 | +- [lazarv/react-server: The easiest way to build React apps with server-side rendering](https://github.com/lazarv/react-server) |
| 40 | + |
| 41 | +`@lazarv/react-server`은, 파일 시스템 기반 라우팅, Static generation, React Server Component 대응이 있습니다. |
| 42 | + |
| 43 | +---- |
| 44 | + |
| 45 | +{% include inline-support.html %} |
| 46 | + |
| 47 | +---- |
| 48 | + |
| 49 | +<h1 class="site-genre">헤드라인</h1> |
| 50 | + |
| 51 | +---- |
| 52 | + |
| 53 | +## Announcing Nuxt Content version 3 |
| 54 | +[content.nuxt.com/blog/v3](https://content.nuxt.com/blog/v3 "Announcing Nuxt Content version 3") |
| 55 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Nuxt</span> <span class="jser-tag">ReleaseNote</span></p> |
| 56 | + |
| 57 | +Nuxt Content v3 출시. |
| 58 | +파일 기반 대신에 PostgreSQL/Cloudflare D1/LibSQL 데이터 베이스 이용하도록. |
| 59 | +브라우저에서는, Wasm SQLite를 In-Memory DB로 이용하도록. |
| 60 | +`content.config.ts`으로 콜렉션 정의 가능하도록, `queryCollection` API로 콜렉션 취득 가능하도록 |
| 61 | + |
| 62 | + |
| 63 | +---- |
| 64 | + |
| 65 | +## Release v8.5.0 · storybookjs/storybook |
| 66 | +[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") |
| 67 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">storybook</span> <span class="jser-tag">ReleaseNote</span></p> |
| 68 | + |
| 69 | +Storybook v8.5.0 출시. |
| 70 | +`@storybook/addon-a11y` 개선, `@storybook/experimental-addon-test` 개선, React 19 지원. |
| 71 | +React Native Web 지원 |
| 72 | + |
| 73 | + |
| 74 | +---- |
| 75 | + |
| 76 | +## Chrome 132 | Release notes | Chrome for Developers |
| 77 | +[developer.chrome.com/release-notes/132](https://developer.chrome.com/release-notes/132 "Chrome 132 | Release notes | Chrome for Developers") |
| 78 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Chrome</span> <span class="jser-tag">ReleaseNote</span></p> |
| 79 | + |
| 80 | +Chrome 132 출시. |
| 81 | +`<dialog>`의 `toggle` 이벤트 지원, CSS의 `writing-mode`가 `sideways-{lr,lr}` 지원. |
| 82 | +`Request.bytes()`/`Response.bytes()` 지원, 모든 화면 캡쳐하는 `getAllScreensMedia()` 지원, Element capture 지원. |
| 83 | +Origin Trial로 Explicit compile hints with magic comments, `Document-Isolation-Policy` 지원 |
| 84 | + |
| 85 | +- [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") |
| 86 | + |
| 87 | +---- |
| 88 | + |
| 89 | +## Vitest 3.0 is out! | Vitest |
| 90 | +[vitest.dev/blog/vitest-3](https://vitest.dev/blog/vitest-3 "Vitest 3.0 is out! | Vitest") |
| 91 | +<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> |
| 92 | + |
| 93 | +Vitest 3.0 출시. |
| 94 | +Vite 6 지원, `spy.mockReset` 변경, CLI의 repoter 재작성, 워크스페이스 설정을 `vitest.config` 파일로 작성, `vitest/node` 공개. |
| 95 | +`describe.for` API 추가, `toBeOneOf`/`toSatisfy`/`toHaveBeenCalledAfter`/`toHaveBeenCalledOnceWith` 추가 |
| 96 | + |
| 97 | +- [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") |
| 98 | + |
| 99 | +---- |
| 100 | + |
| 101 | +## Changelog: Cypress App | Cypress Documentation |
| 102 | +[docs.cypress.io/app/references/changelog#14-0-0](https://docs.cypress.io/app/references/changelog#14-0-0 "Changelog: Cypress App | Cypress Documentation") |
| 103 | +<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> |
| 104 | + |
| 105 | +Cypress 14.0.0 출시. |
| 106 | +Node.js 16 지원 종료, `document.domain` 기본적으로 설정하지 않도록 변경, 서브도메인 이동 할 때는 `cy.origin` 사용하도록 변경 |
| 107 | + |
| 108 | + |
| 109 | +---- |
| 110 | + |
| 111 | +## Electron 34.0.0 | Electron |
| 112 | +[www.electronjs.org/blog/electron-34-0](https://www.electronjs.org/blog/electron-34-0 "Electron 34.0.0 | Electron") |
| 113 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Electron</span> <span class="jser-tag">ReleaseNote</span></p> |
| 114 | + |
| 115 | +Electron 34.0.0 출시. |
| 116 | +Chromium 132/V8 13.2/Node 20.18.1으로 업데이트. `WebFrameMain.collectJavaScriptCallStack()` API 추가, Brotli/ZStandard 공유사전 관리하기 위한 API 추가 |
| 117 | + |
| 118 | + |
| 119 | +---- |
| 120 | + |
| 121 | +## Announcing Rspack 1.2 - Rspack |
| 122 | +[rspack.dev/blog/announcing-1-2](https://rspack.dev/blog/announcing-1-2 "Announcing Rspack 1.2 - Rspack") |
| 123 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">rspack</span> <span class="jser-tag">ReleaseNote</span></p> |
| 124 | + |
| 125 | +Rspack 1.2 출시. |
| 126 | +실험적 기능으로 영속 캐시 지원, Code Splitting 멀티 스레드 지원, Yarn PnP 지원. |
| 127 | +기본적으로 `node_modules` 변경 감시하지 않도록 변경, SWC minimizer의 `passes` 기본값 `2`로 변경 |
| 128 | + |
| 129 | + |
| 130 | +---- |
| 131 | + |
| 132 | +## React Native 0.77 - New Styling Features, Android’s 16KB page support, Swift Template · React Native |
| 133 | +[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") |
| 134 | +<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> |
| 135 | + |
| 136 | +React Native 0.77 출시. |
| 137 | +`display: contents` 지원, `mixBlendMode` 지원, outline props 지원. |
| 138 | +Android의 16 KB page size 지원 |
| 139 | + |
| 140 | + |
| 141 | +---- |
| 142 | + |
| 143 | +## Node.js — Tuesday, January 21, 2025 Security Releases |
| 144 | +[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") |
| 145 | +<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> |
| 146 | + |
| 147 | +Node.js 보안 업데이트로, 각각 버전 업데이트 공개. |
| 148 | + |
| 149 | +- Node.js v18.20.6 |
| 150 | +- Node.js v20.18.2 |
| 151 | +- Node.js v22.13.1 |
| 152 | +- Node.js v23.6.1 |
| 153 | + |
| 154 | +이미 관리 종료(EOL)된 Node.js 16.x에도 영향 있는 취약성이 있기에, EOL이 된 버전에도 CVE는 발행 됨. |
| 155 | + |
| 156 | + |
| 157 | +---- |
| 158 | +<h1 class="site-genre">읽을거리</h1> |
| 159 | + |
| 160 | +---- |
| 161 | + |
| 162 | +## A checklist for your \`tsconfig.json\` |
| 163 | +[2ality.com/2025/01/tsconfig-json.html](https://2ality.com/2025/01/tsconfig-json.html "A checklist for your \`tsconfig.json\`") |
| 164 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">TypeScript</span> <span class="jser-tag">article</span></p> |
| 165 | + |
| 166 | +`tsconfig.json` 설정이나 동작에 대해. |
| 167 | +각각 옵션이나 전형적인 설정에 대해 해설 |
| 168 | + |
| 169 | + |
| 170 | +---- |
| 171 | + |
| 172 | +## Five years of React Native at Shopify (2025) - Shopify |
| 173 | +[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") |
| 174 | +<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> |
| 175 | + |
| 176 | +Shopify에서 React Native 이용에 관련하여. |
| 177 | + |
| 178 | + |
| 179 | +---- |
| 180 | +<h1 class="site-genre">웹사이트, 서비스, 문서</h1> |
| 181 | + |
| 182 | +---- |
| 183 | + |
| 184 | +## ircam-ismm/node-web-audio-api: Web Audio API implementation for Node.js |
| 185 | +[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") |
| 186 | +<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> |
| 187 | + |
| 188 | +Web Audio API의 Rust 구현을 사용한 Node.js 대상 바인딩. |
| 189 | +Web Audio API 호환 API로 Audio 다루기 |
| 190 | + |
| 191 | +- [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") |
| 192 | + |
| 193 | +---- |
| 194 | +<h1 class="site-genre">소프트웨어, 도구, 라이브러리</h1> |
| 195 | + |
| 196 | +---- |
| 197 | + |
| 198 | +## desko27/react-call: ⚛️ 📡 Call your React components |
| 199 | +[github.com/desko27/react-call](https://github.com/desko27/react-call "desko27/react-call: ⚛️ 📡 Call your React components") |
| 200 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">library</span></p> |
| 201 | + |
| 202 | +React에서 `window.confirm` 같이 절차적인 모달 관리 가능한 라이브러리 |
| 203 | + |
| 204 | +- [React에서 Modal 이나 Confirm 구현을 간단하게 하는 react-call 라이브러가 굉장해!!!](https://zenn.dev/ykicchan/articles/5415871c017b22 "React에서 Modal 이나 Confirm 구현을 간단하게 하는 react-call 라이브러가 굉장해!!!") |
| 205 | + |
| 206 | +---- |
| 207 | + |
| 208 | +## @lazarv/react-server |
| 209 | +[react-server.dev/](https://react-server.dev/ "@lazarv/react-server") |
| 210 | +<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> |
| 211 | + |
| 212 | +Vite 기반 React Server Component이나 Server Action 대응한 React 프레임워크. |
| 213 | +파일 시스템 기반 라우팅, Static generation, React Server Component 대응 |
| 214 | + |
| 215 | +- [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") |
| 216 | + |
| 217 | +---- |
0 commit comments