|
| 1 | +--- |
| 2 | +title: "2025-08-07: Node.js v22.18.0 (LTS), TypeScript 5.9, Panda CSS v1" |
| 3 | +author: "azu" |
| 4 | +translator: rewrite0w0 |
| 5 | +layout: post |
| 6 | +date: 2025-08-07T14:55:45.648Z |
| 7 | +category: JSer |
| 8 | +tags: |
| 9 | +- nodejs |
| 10 | +- npm |
| 11 | +- css |
| 12 | +- TypeScript |
| 13 | +- vlt |
| 14 | + |
| 15 | +--- |
| 16 | + |
| 17 | +JSer.info #744 - Node.js v22.18.0가 출시되었습니다. |
| 18 | + |
| 19 | +- [Node.js — Node.js v22.18.0 (LTS)](https://nodejs.org/en/blog/release/v22.18.0) |
| 20 | + |
| 21 | +이 출시에서는, `--experimental-strip-types` 플래그 없이, TypeScript 자료형을 제거하고 실행할 수 있습니다. 플래그 무효화하고 싶은 경우에는 `--no-experimental-strip-types`를 지정합니다. |
| 22 | + |
| 23 | +--- |
| 24 | + |
| 25 | +TypeScript 5.9가 출시되었습니다. |
| 26 | + |
| 27 | +- [Announcing TypeScript 5.9 - TypeScript](https://devblogs.microsoft.com/typescript/announcing-typescript-5-9/) |
| 28 | + |
| 29 | +`tsc --init` 생성하는 설정 변경, `import defer` 지원, `--module node20` 지원, DOM API 설명 추가도 있습니다. 또한, 새로운 Inference from Usage 기능으로, 자료형 추론이 더 정확해집니다. |
| 30 | + |
| 31 | +--- |
| 32 | + |
| 33 | +[Panda CSS](https://panda-css.com/) v1.0.0가 출시되었습니다. |
| 34 | + |
| 35 | +- [🐼 Panda v1 🎊 · chakra-ui/panda · Discussion #3321](https://github.com/chakra-ui/panda/discussions/3321) |
| 36 | + |
| 37 | +TypeScript로 스타일을 작성할 수 있는 CSS in JS 프레임워크, 빌드할 때 스타일 생성하기 위한 Runtime 없이 동작합니다. |
| 38 | + |
| 39 | +---- |
| 40 | + |
| 41 | +{% include inline-support.html %} |
| 42 | + |
| 43 | +---- |
| 44 | + |
| 45 | +<h1 class="site-genre">헤드라인</h1> |
| 46 | + |
| 47 | +---- |
| 48 | + |
| 49 | +## Node.js — Node.js v22.18.0 (LTS) |
| 50 | +[nodejs.org/en/blog/release/v22.18.0](https://nodejs.org/en/blog/release/v22.18.0 "Node.js — Node.js v22.18.0 (LTS)") |
| 51 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">ReleaseNote</span></p> |
| 52 | + |
| 53 | +Node.js v22.18.0 출시. |
| 54 | +`--experimental-strip-types` 플래그 없이, TypeScript 자료형을 제거해 실행 가능. |
| 55 | +플래그 무효화하고 싶다면 `--no--experimental-strip-types` 지정 |
| 56 | + |
| 57 | + |
| 58 | +---- |
| 59 | + |
| 60 | +## Node.js — Node.js v24.5.0 (Current) |
| 61 | +[nodejs.org/en/blog/release/v24.5.0](https://nodejs.org/en/blog/release/v24.5.0 "Node.js — Node.js v24.5.0 (Current)") |
| 62 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">ReleaseNote</span></p> |
| 63 | + |
| 64 | +Node.js v24.5.0 출시. |
| 65 | +OpenSSL 3.5으로 업그레이드, `--experimental-wasm-modules` 플래그 빼고도 Wasm 모듈 기본 지원. |
| 66 | +`NODE_USE_ENV_PROXY=1` 지정으로 `node:http`/`node:https`가 빌트인 프록시 지원, Web Locks API 구현 |
| 67 | + |
| 68 | +- [src: add web locks api by IlyasShabi · Pull Request #58666 · nodejs/node](https://github.com/nodejs/node/pull/58666 "src: add web locks api by IlyasShabi · Pull Request #58666 · nodejs/node") |
| 69 | + |
| 70 | +---- |
| 71 | + |
| 72 | +## Release v10.0.0 · kentcdodds/cross-env |
| 73 | +[github.com/kentcdodds/cross-env/releases/tag/v10.0.0](https://github.com/kentcdodds/cross-env/releases/tag/v10.0.0 "Release v10.0.0 · kentcdodds/cross-env") |
| 74 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p> |
| 75 | + |
| 76 | +cross-env 10.0.0 출시. |
| 77 | +Node.js 18 지원 종료, ESM으로 다시 작성한 관리버전 출시 |
| 78 | + |
| 79 | + |
| 80 | +---- |
| 81 | + |
| 82 | +## Release pnpm 10.14 · pnpm/pnpm |
| 83 | +[github.com/pnpm/pnpm/releases/tag/v10.14.0](https://github.com/pnpm/pnpm/releases/tag/v10.14.0 "Release pnpm 10.14 · pnpm/pnpm") |
| 84 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">pnpm</span> <span class="jser-tag">ReleaseNote</span></p> |
| 85 | + |
| 86 | +pnpm v10.14.0 출시. |
| 87 | +`devEngines.runtime` 지원 |
| 88 | + |
| 89 | + |
| 90 | +---- |
| 91 | + |
| 92 | +## Release 0.15.0 | StyleX |
| 93 | +[stylexjs.com/blog/v0.15.0](https://stylexjs.com/blog/v0.15.0 "Release 0.15.0 | StyleX") |
| 94 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">css</span> <span class="jser-tag">library</span></p> |
| 95 | + |
| 96 | +StyleX v0.15.0 출시. |
| 97 | +`enableMediaQueryOrder`으로 Media Query 정렬순 자동적으로 함, Dynamic styles 개선 |
| 98 | + |
| 99 | + |
| 100 | +---- |
| 101 | + |
| 102 | +## Announcing TypeScript 5.9 - TypeScript |
| 103 | +[devblogs.microsoft.com/typescript/announcing-typescript-5-9/](https://devblogs.microsoft.com/typescript/announcing-typescript-5-9/ "Announcing TypeScript 5.9 - TypeScript") |
| 104 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">TypeScript</span> <span class="jser-tag">ReleaseNote</span></p> |
| 105 | + |
| 106 | +TypeScript 5.9 출시. |
| 107 | +`tsc --init`으로 생성하는 설정 변경, `import defer` 지원, `--module node20` 지원, DOM API 설명 추가 |
| 108 | + |
| 109 | + |
| 110 | +---- |
| 111 | + |
| 112 | +## 🐼 Panda v1 🎊 · chakra-ui/panda · Discussion #3321 |
| 113 | +[github.com/chakra-ui/panda/discussions/3321](https://github.com/chakra-ui/panda/discussions/3321 "🐼 Panda v1 🎊 · chakra-ui/panda · Discussion #3321") |
| 114 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">css</span> <span class="jser-tag">TypeScript</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p> |
| 115 | + |
| 116 | +Panda CSS 1.0.0 출시. |
| 117 | +TypeScript로 스타일 작성하는 CSS in JS 프레임워크. 빌드할 때 스타일 생성하기 위한, Runtime없이 동작 |
| 118 | + |
| 119 | + |
| 120 | +---- |
| 121 | + |
| 122 | +## Release oxlint v1.10.0 · oxc-project/oxc |
| 123 | +[github.com/oxc-project/oxc/releases/tag/oxlint\_v1.10.0](https://github.com/oxc-project/oxc/releases/tag/oxlint_v1.10.0 "Release oxlint v1.10.0 · oxc-project/oxc") |
| 124 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">ReleaseNote</span> <span class="jser-tag">ESLint</span></p> |
| 125 | + |
| 126 | +oxlint 1.10.0 출시. |
| 127 | + |
| 128 | + |
| 129 | +---- |
| 130 | + |
| 131 | +## Release @sveltejs/kit@2.27.0 · sveltejs/kit |
| 132 | +[github.com/sveltejs/kit/releases/tag/%40sveltejs%2Fkit%402.27.0](https://github.com/sveltejs/kit/releases/tag/%40sveltejs%2Fkit%402.27.0 "Release @sveltejs/kit@2.27.0 · sveltejs/kit") |
| 133 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Svelte</span> <span class="jser-tag">ReleaseNote</span></p> |
| 134 | + |
| 135 | +svelte kit 2.27.0 출시. |
| 136 | +Remote Functions 추가 |
| 137 | + |
| 138 | +- [Remote Functions · sveltejs/kit · Discussion #13897](https://github.com/sveltejs/kit/discussions/13897 "Remote Functions · sveltejs/kit · Discussion #13897") |
| 139 | +- [Remote functions • Docs • Svelte](https://svelte.dev/docs/kit/remote-functions "Remote functions • Docs • Svelte") |
| 140 | + |
| 141 | +---- |
| 142 | +<h1 class="site-genre">읽을거리</h1> |
| 143 | + |
| 144 | +---- |
| 145 | + |
| 146 | +## Centralized Dependency Management Made Simple |
| 147 | +[blog.vlt.sh/blog/catalogs](https://blog.vlt.sh/blog/catalogs "Centralized Dependency Management Made Simple") |
| 148 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">vlt</span> <span class="jser-tag">npm</span> <span class="jser-tag">article</span></p> |
| 149 | + |
| 150 | +vlt가 catalog 지원. |
| 151 | +pnpm catalog처럼 `vlt.json` 파일에 의존 관계를 한 곳에서 관리 가능. |
| 152 | + |
| 153 | + |
| 154 | +---- |
| 155 | + |
| 156 | +## 명령형 스타일 ARIA live regions:ARIA Notify 소개 |
| 157 | +[zenn.dev/mehm8128/articles/aria-notify-introduction](https://zenn.dev/mehm8128/articles/aria-notify-introduction "명령형 스타일 ARIA live regions:ARIA Notify 소개") |
| 158 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">HTML</span> <span class="jser-tag">accessibility</span> <span class="jser-tag">article</span></p> |
| 159 | + |
| 160 | +ARIA Notify API 관련 |
| 161 | + |
| 162 | + |
| 163 | +---- |
| 164 | + |
| 165 | +## npm trusted publishing with OIDC is generally available - GitHub Changelog |
| 166 | +[github.blog/changelog/2025-07-31-npm-trusted-publishing-with-oidc-is-generally-available/](https://github.blog/changelog/2025-07-31-npm-trusted-publishing-with-oidc-is-generally-available/ "npm trusted publishing with OIDC is generally available - GitHub Changelog") |
| 167 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">npm</span> <span class="jser-tag">security</span> <span class="jser-tag">article</span></p> |
| 168 | + |
| 169 | +GitHub Actions이나 GitLab CI/CD에서 OIDC으로 npm publish가 가능. |
| 170 | +CI에 secrets으로 npm registry의 tokenを 넣지 않아도, npm 쪽 Trusted Publisher 설정에 의해 CI에서 publish가 가능. |
| 171 | +npm 11.5.1 이후 버전 필요 |
| 172 | + |
| 173 | + |
| 174 | +---- |
| 175 | + |
| 176 | +## How we made JSON.stringify more than twice as fast · V8 |
| 177 | +[v8.dev/blog/json-stringify](https://v8.dev/blog/json-stringify "How we made JSON.stringify more than twice as fast · V8") |
| 178 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">V8</span> <span class="jser-tag">article</span></p> |
| 179 | + |
| 180 | +V8의 `JSON.stringify` 고속화 관련하여. |
| 181 | +다음 조건을 달성할 때, stringify 고속 버스 가능 |
| 182 | + |
| 183 | +- `JSON.stringify` 옵션 사용 않는다 |
| 184 | +- `toJSON` 사용 않는다 |
| 185 | +- Array-like한 객체를 포함하지 않는다 |
| 186 | + |
| 187 | + |
| 188 | +---- |
| 189 | +<h1 class="site-genre">소프트웨어, 도구, 라이브러리</h1> |
| 190 | + |
| 191 | +---- |
| 192 | + |
| 193 | +## shuding/bidc: Bidirectional Channels for JavaScript |
| 194 | +[github.com/shuding/bidc](https://github.com/shuding/bidc "shuding/bidc: Bidirectional Channels for JavaScript") |
| 195 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">library</span></p> |
| 196 | + |
| 197 | +Comlink 같이 Web Worker나 iframe 같이 다른 컨텍스트와 통신하는 라이브러리. |
| 198 | +자동적으로 연결/재연결, devalue 사용한 다양한 데이터 송수신 가능 |
| 199 | + |
| 200 | + |
| 201 | +---- |
0 commit comments