|
| 1 | +--- |
| 2 | +title: "2025-02-01: Bun 1.2, Tailwind CSS v4.0, TypeScript 5.8 Beta" |
| 3 | +author: "azu" |
| 4 | +translator: rewrite0w0 |
| 5 | +layout: post |
| 6 | +date: 2025-02-01T05:55:22.854Z |
| 7 | +category: JSer |
| 8 | +tags: |
| 9 | +- Bun |
| 10 | +- ESLint |
| 11 | +- pnpm |
| 12 | +- TypeScript |
| 13 | +- npm |
| 14 | + |
| 15 | +--- |
| 16 | + |
| 17 | +JSer.info #724 - Bun 1.2가 출시되었어요. |
| 18 | + |
| 19 | +- [Bun 1.2 | Bun Blog](https://bun.sh/blog/bun-v1.2) |
| 20 | + |
| 21 | +Bun 1.2은 Node.js와 호환성 향상으로 `node:http2`/`node:dgram`/`node:cluster` 지원 추가되었습니다. |
| 22 | +또한, `Bun.s3`의 S3 API 추가, `Bun.sql` Postgres 지원, 텍스트 기반 `bun.lock` 파일 지원됩니다. |
| 23 | +그 외로는, `package.json`에서 주석 작성할 수 있도록, `.npmrc` 파일 지원.`bun run --filter`, `bun publish` 명령어 지원, `bun patch` 지원 추가되었습니다. |
| 24 | + |
| 25 | +--- |
| 26 | + |
| 27 | +Tailwind CSS v4.0가 출시되었어요. |
| 28 | + |
| 29 | +- [Tailwind CSS v4.0 - Tailwind CSS](https://tailwindcss.com/blog/tailwindcss-v4) |
| 30 | + |
| 31 | +Lightning CSS 사용한 새로운 엔진으로 변경, PostCSS 외부 플러그인에 의존하지 않도록 변경, Vite 플러그인 추가되었습니다. |
| 32 | +또한, `@source` directive 추가, CSS-first configuration 지원, `@container`/`starting` variant/`not-*` variants 추가가 있습니다. |
| 33 | + |
| 34 | +--- |
| 35 | + |
| 36 | +TypeScript 5.8 Beta가 출시되었어요. |
| 37 | + |
| 38 | +- [Announcing TypeScript 5.8 Beta - TypeScript](https://devblogs.microsoft.com/typescript/announcing-typescript-5-8-beta/) |
| 39 | + |
| 40 | +conditional return type 개선, `require(esm)` 대응, `--module node18` 추가되었습니다. |
| 41 | +Node.js의 `--experimental-strip-types` 조합해서 설정하는 `--erasableSyntaxOnly` 플래그 추가, `--libReplacement` 플래그 추가도 있습니다. |
| 42 | + |
| 43 | +---- |
| 44 | + |
| 45 | +{% include inline-support.html %} |
| 46 | + |
| 47 | +---- |
| 48 | + |
| 49 | +<h1 class="site-genre">헤드라인</h1> |
| 50 | + |
| 51 | +---- |
| 52 | + |
| 53 | +## Bun 1.2 | Bun Blog |
| 54 | +[bun.sh/blog/bun-v1.2](https://bun.sh/blog/bun-v1.2 "Bun 1.2 | Bun Blog") |
| 55 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Bun</span> <span class="jser-tag">ReleaseNote</span></p> |
| 56 | + |
| 57 | +Bun v1.2 출시. |
| 58 | +Node.js와 호환성 향상, `node:http2`/`node:dgram`/`node:cluster` 지원. |
| 59 | +`Bun.s3` S3 API 추가, `Bun.sql` Postgres 지원, 텍스트 기반 `bun.lock` 파일 지원. |
| 60 | +`package.json`에 주석 남기기 가능, `.npmrc` 파일 지원. |
| 61 | +`bun run --filter`, `bun publish` 명령어 지원, `bun patch` 지원 |
| 62 | + |
| 63 | + |
| 64 | +---- |
| 65 | + |
| 66 | +## Release v1.50.0 · microsoft/playwright |
| 67 | +[github.com/microsoft/playwright/releases/tag/v1.50.0](https://github.com/microsoft/playwright/releases/tag/v1.50.0 "Release v1.50.0 · microsoft/playwright") |
| 68 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">playwright</span> <span class="jser-tag">ReleaseNote</span></p> |
| 69 | + |
| 70 | +playwright v1.50.0 출시. |
| 71 | +`test.step`에 `timeout` 옵션 추가, `test.step.skip()` 추가, `toMatchAriaSnapshot()`의 결과를 YAML 파일로 저장 가능. |
| 72 | +`toHaveAccessibleErrorMessage()` 추가, `testConfig.webServer`에 `gracefulShutdown` 옵션 추가 |
| 73 | + |
| 74 | + |
| 75 | +---- |
| 76 | + |
| 77 | +## Tailwind CSS v4.0 - Tailwind CSS |
| 78 | +[tailwindcss.com/blog/tailwindcss-v4](https://tailwindcss.com/blog/tailwindcss-v4 "Tailwind CSS v4.0 - Tailwind CSS") |
| 79 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">css </span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p> |
| 80 | + |
| 81 | +Tailwind CSS v4 출시. |
| 82 | +Lightning CSS 사용한 새로운 엔진으로 변경, PostCSS 외부 플러그인에 의존하지 않도록 변경, Vite 플러그인 추가. |
| 83 | +`@source` directive 추가, CSS-first configuration 지원. |
| 84 | +`@container`/`starting` variant/`not-*` variants 추가 |
| 85 | + |
| 86 | + |
| 87 | +---- |
| 88 | + |
| 89 | +## ESLint v9.19.0 released - ESLint - Pluggable JavaScript Linter |
| 90 | +[eslint.org/blog/2025/01/eslint-v9.19.0-released/](https://eslint.org/blog/2025/01/eslint-v9.19.0-released/ "ESLint v9.19.0 released - ESLint - Pluggable JavaScript Linter") |
| 91 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">ESLint</span> <span class="jser-tag">ReleaseNote</span></p> |
| 92 | + |
| 93 | +ESLint v9.19.0 출시. |
| 94 | +`linterOptions.reportUnusedInlineConfigs` 옵션 추가 |
| 95 | + |
| 96 | + |
| 97 | +---- |
| 98 | + |
| 99 | +## Release pnpm 10.1 · pnpm/pnpm |
| 100 | +[github.com/pnpm/pnpm/releases/tag/v10.1.0](https://github.com/pnpm/pnpm/releases/tag/v10.1.0 "Release pnpm 10.1 · pnpm/pnpm") |
| 101 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">pnpm</span> <span class="jser-tag">ReleaseNote</span></p> |
| 102 | + |
| 103 | +pnpm v10.1.0 출시. |
| 104 | +무시된 빌드 스크립트 의존 게시하는 `pnpm ignored-builds` 명령어/승인하는 `pnpm approve-builds` 명령어 추가. |
| 105 | +빌드 스크립트를 무시하는 의존을 정의하는 `pnpm.ignoredBuiltDependencies` 옵션 추가. |
| 106 | +reinstall 최적화를 유효화하는 `optimistic-repeat-install` 설정 추가 |
| 107 | + |
| 108 | + |
| 109 | +---- |
| 110 | + |
| 111 | +## Bun v1.2.1 | Bun Blog |
| 112 | +[bun.sh/blog/bun-v1.2.1](https://bun.sh/blog/bun-v1.2.1 "Bun v1.2.1 | Bun Blog") |
| 113 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Bun</span> <span class="jser-tag">ReleaseNote</span></p> |
| 114 | + |
| 115 | +Bun v1.2.1 출시. |
| 116 | +S3 `storageClass` 지원, `crypto.generateKeyPair`으로 X25519 지원, `toMatchInlineSnapshot()` 지원. |
| 117 | +Buffer 기본적으로 zero fill하는 `--zero-fill-buffers` 지원 |
| 118 | + |
| 119 | + |
| 120 | +---- |
| 121 | + |
| 122 | +## Announcing TypeScript 5.8 Beta - TypeScript |
| 123 | +[devblogs.microsoft.com/typescript/announcing-typescript-5-8-beta/](https://devblogs.microsoft.com/typescript/announcing-typescript-5-8-beta/ "Announcing TypeScript 5.8 Beta - TypeScript") |
| 124 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">TypeScript</span> <span class="jser-tag">ReleaseNote</span></p> |
| 125 | + |
| 126 | +TypeScript 5.8 Beta 출시. |
| 127 | +conditional return type 개선, `require(esm)` 대응, `--module node18` 추가. |
| 128 | +Node.js `--experimental-strip-types`와 조합해서 설정하는 `--erasableSyntaxOnly` 플래그 추가, `--libReplacement` 플래그 추가 |
| 129 | + |
| 130 | + |
| 131 | +---- |
| 132 | + |
| 133 | +## Release v11.1.0 · npm/cli |
| 134 | +[github.com/npm/cli/releases/tag/v11.1.0](https://github.com/npm/cli/releases/tag/v11.1.0 "Release v11.1.0 · npm/cli") |
| 135 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">npm</span> <span class="jser-tag">ReleaseNote</span></p> |
| 136 | + |
| 137 | +npm v11.1.0 출시. |
| 138 | +비권장 해제하는 `npm unprecate` 명령어 추가 |
| 139 | + |
| 140 | + |
| 141 | +---- |
| 142 | + |
| 143 | +## Node.js — Node v23.7.0 (Current) |
| 144 | +[nodejs.org/en/blog/release/v23.7.0](https://nodejs.org/en/blog/release/v23.7.0 "Node.js — Node v23.7.0 (Current)") |
| 145 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">ReleaseNote</span></p> |
| 146 | + |
| 147 | +Node.js v23.7.0 출시. |
| 148 | +`fs.glob`가 `exclude` 옵션 지원. |
| 149 | +TextContext에 `waitFor()` 추가, `assert.fileSnapshot()`으로 스냅샷 테스트 지원, `assert.register()`으로 독자적 assertion 지원. |
| 150 | + |
| 151 | + |
| 152 | +---- |
| 153 | + |
| 154 | +## Release v0.31.0 · nodejs/corepack |
| 155 | +[github.com/nodejs/corepack/releases/tag/v0.31.0](https://github.com/nodejs/corepack/releases/tag/v0.31.0 "Release v0.31.0 · nodejs/corepack") |
| 156 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">npm</span> <span class="jser-tag">pnpm</span> <span class="jser-tag">ReleaseNote</span></p> |
| 157 | + |
| 158 | +corepack v0.31.0 출시. |
| 159 | +npm registry으로 signatures가 여럿있는 경우에 실패하는 문제를 수정(`corepack use pnpm`으로 설치할 수 없는 문제 수정) |
| 160 | + |
| 161 | +- [\`[email protected]\` / \`[email protected]\` cannot be installed due to key id mismatch · Issue #612 · nodejs/corepack ](https://github.com/nodejs/corepack/issues/612 "\`[email protected]\` / \`[email protected]\` cannot be installed due to key id mismatch · Issue #612 · nodejs/corepack") |
| 162 | + |
| 163 | +---- |
| 164 | +<h1 class="site-genre">읽을거리</h1> |
| 165 | + |
| 166 | +---- |
| 167 | + |
| 168 | +## eslint-plugin-no-barrel-files 도입한 Barrel files를 그만둔 이야기 | PR TIMES 개발자 블로그 |
| 169 | +[developers.prtimes.jp/2025/01/28/avoid-barrel-files-in-prtimes/](https://developers.prtimes.jp/2025/01/28/avoid-barrel-files-in-prtimes/ "eslint-plugin-no-barrel-files 도입한 Barrel files를 그만둔 이야기 | PR TIMES 개발자 블로그") |
| 170 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">ESLint</span> <span class="jser-tag">article</span></p> |
| 171 | + |
| 172 | +복수 모듈을 하나의 index 파일에 모아 export하는 Barrel files를 ESLint로 체크해서 변경하는 방법에 대하여 |
| 173 | + |
| 174 | + |
| 175 | +---- |
| 176 | + |
| 177 | +## Accessibility essentials every front-end developer should know by Martijn Hols |
| 178 | +[martijnhols.nl/blog/accessibility-essentials-every-front-end-developer-should-know](https://martijnhols.nl/blog/accessibility-essentials-every-front-end-developer-should-know "Accessibility essentials every front-end developer should know by Martijn Hols") |
| 179 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">accessibility</span> <span class="jser-tag">article</span></p> |
| 180 | + |
| 181 | +웹 접근성 기본에 대한 해설 |
| 182 | + |
| 183 | + |
| 184 | +---- |
| 185 | +<h1 class="site-genre">소프트웨어, 도구, 라이브러리</h1> |
| 186 | + |
| 187 | +---- |
| 188 | + |
| 189 | +## irsyadadl/justd: Justd is a chill set of React components, built on top of React Aria Components and Tailwind CSS. Easy to customize and just copy & paste into your React projects. |
| 190 | +[github.com/irsyadadl/justd](https://github.com/irsyadadl/justd "irsyadadl/justd: Justd is a chill set of React components, built on top of React Aria Components and Tailwind CSS. Easy to customize and just copy & paste into your React projects.") |
| 191 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">UI</span> <span class="jser-tag">library</span></p> |
| 192 | + |
| 193 | +React Aria + Tailwind로 복붙 가능한 컴포넌트 생성 도구킷 |
| 194 | + |
| 195 | + |
| 196 | +---- |
| 197 | + |
| 198 | +## Standard Schema |
| 199 | +[standardschema.dev/](https://standardschema.dev/ "Standard Schema") |
| 200 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">TypeScript</span> <span class="jser-tag">spec</span> <span class="jser-tag">library</span></p> |
| 201 | + |
| 202 | +TypeScript 스킴 검증 라이브러리 공통 인터페이스 정의. 검증 라이브러리를 이용하는 라이브러리가, 외부에서 공통 인터페이스 구현을 받아들임으로 특정 라이브러리에 의존하지 않는 구조. |
| 203 | +zod/Valibot/Arktype 등이 대응, 각 라이브러리 대응 상황도 정리되어있음. |
| 204 | + |
| 205 | + |
| 206 | +---- |
| 207 | +<h1 class="site-genre">도서</h1> |
| 208 | + |
| 209 | +---- |
| 210 | + |
| 211 | +## 갑자기 프로그래밍 JavaScript | 타카오카 유스케 | 책 | 통판 | Amazon |
| 212 | +[www.amazon.co.jp/dp/479818439X/](https://www.amazon.co.jp/dp/479818439X/ "갑자기 프로그래밍 JavaScript | 타카오카 유스케 | 책 | 통판 | Amazon") |
| 213 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">book</span></p> |
| 214 | + |
| 215 | +JavaScript 입문서 |
| 216 | + |
| 217 | + |
| 218 | +---- |
0 commit comments