|
| 1 | +--- |
| 2 | +title: "2024-07-11: esbuild v0.22/0.23, Node.js 22.4.0, pnpm 9.5 Catalogs" |
| 3 | +author: "azu" |
| 4 | +translator: rewrite0w0 |
| 5 | +layout: post |
| 6 | +date: 2024-07-11T00:56:49.385Z |
| 7 | +category: JSer |
| 8 | +tags: |
| 9 | +- nodejs |
| 10 | +- TypeScript |
| 11 | +- pnpm |
| 12 | +- esbuild |
| 13 | +- Bun |
| 14 | + |
| 15 | +--- |
| 16 | + |
| 17 | +JSer.info #699 - esbuild v0.22.0 가 출시되었어요. |
| 18 | + |
| 19 | +- [Release v0.22.0 · evanw/esbuild](https://github.com/evanw/esbuild/releases/tag/v0.22.0) |
| 20 | +- [Release v0.23.0 · evanw/esbuild](https://github.com/evanw/esbuild/releases/tag/v0.23.0) |
| 21 | + |
| 22 | +v0.22 버전은 `--platform=node` 지정할 때 `--package=external`를 기본값으로 하는 변경이 있었습니다만, AWS CDK 등이 `0.x` 같이 최신 버전을 설치하는 구조로 되어 있어 문제를 일으켰기에 0.23.0 버전에서 본래 동작으로 revert 했어요.([AWS CDK도 수정](https://github.com/aws/aws-cdk/pull/30726)되었어요) |
| 23 | +또한, Windows7,8 같은 오래된 OS 지원 종료, `es2024` 지원, `@esbuild/wasi-preview1` 패키지 공개가 있어요 |
| 24 | + |
| 25 | +--- |
| 26 | + |
| 27 | +Node.js v22.4.0가 출시되었어요. |
| 28 | + |
| 29 | +- [Release 2024-07-02, Version 22.4.0 (Current), @targos · nodejs/node](https://github.com/nodejs/node/releases/tag/v22.4.0) |
| 30 | + |
| 31 | +실험적으로 Web Storage API(`localStorage`/`sessionStorage`) 지원, WebSocket API를 Stable으로 변경했어요. |
| 32 | + |
| 33 | +--- |
| 34 | + |
| 35 | +pnpm v9.5.0 가 출시되었어요. |
| 36 | + |
| 37 | +- [Release pnpm 9.5 · pnpm/pnpm](https://github.com/pnpm/pnpm/releases/tag/v9.5.0) |
| 38 | + |
| 39 | +pnpm 9.5 버전은 Catalogs 기능이 추가되었어요. |
| 40 | +이는 복수 패키지 버전을 지정할 때 이름을 붙여서 카탈로그처럼 관리할 수 있는 기능으로, monorepo 내에 패키지 버전을 통일할 때 사용하기 위한 목적으로 도입되었어요. |
| 41 | +정의한 카탈로그 버전 참조하기 위한 `catalog:`도 추가되었어요. |
| 42 | + |
| 43 | +상세한 구조와 사용 방법은, 다음 페이지에 공개되어 있어요. |
| 44 | + |
| 45 | +- [Catalogs | pnpm](https://pnpm.io/catalogs) |
| 46 | +- [pnpm 9.5 Introduces Catalogs: Shareable Dependency Version Specifiers - Socket](https://socket.dev/blog/pnpm-9-5-introduces-catalogs-shareable-dependency-version-specifiers) |
| 47 | + |
| 48 | + |
| 49 | +---- |
| 50 | + |
| 51 | +{% include inline-support.html %} |
| 52 | + |
| 53 | +---- |
| 54 | + |
| 55 | +<h1 class="site-genre">헤드라인</h1> |
| 56 | + |
| 57 | +---- |
| 58 | + |
| 59 | +## Release v0.22.0 · evanw/esbuild |
| 60 | +[github.com/evanw/esbuild/releases/tag/v0.22.0](https://github.com/evanw/esbuild/releases/tag/v0.22.0 "Release v0.22.0 · evanw/esbuild") |
| 61 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">esbuild</span> <span class="jser-tag">ReleaseNote</span></p> |
| 62 | + |
| 63 | +esbuild v0.22.0 출시. |
| 64 | +`--platform=node` 지정할 때 `--package=external` 기본값으로 했지만, AWS CDK 등에서 문제를 일어켜 0.23.0에서는 본래 동작으로 revert. |
| 65 | +Windows7,8 등 오래된 OS 지원 종료, `es2024` 지원, `@esbuild/wasi-preview1` 패키지 공개 |
| 66 | + |
| 67 | +- [Release v0.23.0 · evanw/esbuild](https://github.com/evanw/esbuild/releases/tag/v0.23.0 "Release v0.23.0 · evanw/esbuild") |
| 68 | + |
| 69 | +---- |
| 70 | + |
| 71 | +## Bun v1.1.18 | Bun Blog |
| 72 | +[bun.sh/blog/bun-v1.1.18](https://bun.sh/blog/bun-v1.1.18 "Bun v1.1.18 | Bun Blog") |
| 73 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Bun</span> <span class="jser-tag">ReleaseNote</span></p> |
| 74 | + |
| 75 | +Bun v1.1.18 출시. |
| 76 | +`.npmrc` 지원, `enum`의 inlining 대응, 정수 folding 개선 |
| 77 | + |
| 78 | + |
| 79 | +---- |
| 80 | + |
| 81 | +## Release 2024-07-02, Version 22.4.0 (Current), @targos · nodejs/node |
| 82 | +[github.com/nodejs/node/releases/tag/v22.4.0](https://github.com/nodejs/node/releases/tag/v22.4.0 "Release 2024-07-02, Version 22.4.0 (Current), @targos · nodejs/node") |
| 83 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">ReleaseNote</span></p> |
| 84 | + |
| 85 | +Node.js 22.4.0 출시. |
| 86 | +실험적으로 Web Storage API(`localStorage`/`sessionStorage`) 지원, WebSocket API를 Stable으로 변경 |
| 87 | + |
| 88 | + |
| 89 | +---- |
| 90 | + |
| 91 | +## Support typescript with --experimental-strip-types · Issue #208 · nodejs/loaders |
| 92 | +[github.com/nodejs/loaders/issues/208](https://github.com/nodejs/loaders/issues/208 "Support typescript with --experimental-strip-types · Issue #208 · nodejs/loaders") |
| 93 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">TypeScript</span> <span class="jser-tag">issue</span></p> |
| 94 | + |
| 95 | +Node.js에서 TypeScript 코드 실행 지원 관련한 논의 Issue |
| 96 | + |
| 97 | + |
| 98 | +---- |
| 99 | + |
| 100 | +## Release pnpm 9.5 · pnpm/pnpm |
| 101 | +[github.com/pnpm/pnpm/releases/tag/v9.5.0](https://github.com/pnpm/pnpm/releases/tag/v9.5.0 "Release pnpm 9.5 · pnpm/pnpm") |
| 102 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">pnpm</span> <span class="jser-tag">ReleaseNote</span></p> |
| 103 | + |
| 104 | +pnpm v9.5.0 출시. |
| 105 | +복수 패키지 버전을 정리해 관리할 수 있는 catalogs 기능 추가 |
| 106 | + |
| 107 | + |
| 108 | +---- |
| 109 | + |
| 110 | +## Node.js — Monday, July 8, 2024 Security Releases |
| 111 | +[nodejs.org/en/blog/vulnerability/july-2024-security-releases](https://nodejs.org/en/blog/vulnerability/july-2024-security-releases "Node.js — Monday, July 8, 2024 Security Releases") |
| 112 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">security</span> <span class="jser-tag">ReleaseNote</span></p> |
| 113 | + |
| 114 | +Node.js 보안 업데이트 |
| 115 | + |
| 116 | +- Node v22.4.1 (Current) |
| 117 | +- Node v20.15.1 (LTS) |
| 118 | +- Node v18.20.4 (LTS) |
| 119 | + |
| 120 | +출시됨. |
| 121 | + |
| 122 | + |
| 123 | +---- |
| 124 | +<h1 class="site-genre">읽을거리</h1> |
| 125 | + |
| 126 | +---- |
| 127 | + |
| 128 | +## What's coming next for ESLint - ESLint - Pluggable JavaScript Linter |
| 129 | +[eslint.org/blog/2024/07/whats-coming-next-for-eslint/](https://eslint.org/blog/2024/07/whats-coming-next-for-eslint/ "What's coming next for ESLint - ESLint - Pluggable JavaScript Linter") |
| 130 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">ESLint</span> <span class="jser-tag">article</span></p> |
| 131 | + |
| 132 | +ESLint 미래에 대해. |
| 133 | +지금까지는 JavaScript만을 대상했지만, language plugins으로 인해 js 이외의 언어도 대응할 수 있다는 이야기 |
| 134 | + |
| 135 | + |
| 136 | +---- |
| 137 | + |
| 138 | +## Ladybird |
| 139 | +[ladybird.org/announcement/](https://ladybird.org/announcement/ "Ladybird") |
| 140 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">browser</span> <span class="jser-tag">article</span></p> |
| 141 | + |
| 142 | +SerenityOS 프로제긑 내부에서 개발되던 Ladybird 브라우저가 독립. |
| 143 | +Chromium이나 WebKit 같은 기존의 엔진을 사용않고 1부터 작성하는 브라우저 프로젝트 |
| 144 | + |
| 145 | +- [SerenityOS](https://serenityos.org/ "SerenityOS") |
| 146 | + |
| 147 | +---- |
| 148 | + |
| 149 | +## pnpm 9.5 Introduces Catalogs: Shareable Dependency Version Specifiers - Socket |
| 150 | +[socket.dev/blog/pnpm-9-5-introduces-catalogs-shareable-dependency-version-specifiers](https://socket.dev/blog/pnpm-9-5-introduces-catalogs-shareable-dependency-version-specifiers "pnpm 9.5 Introduces Catalogs: Shareable Dependency Version Specifiers - Socket") |
| 151 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">pnpm</span> <span class="jser-tag">article</span></p> |
| 152 | + |
| 153 | +pnpm 9.5 도입된 카탈로그 기능에 대해. |
| 154 | +monorepo에서 같은 패키지 버전을 참조하는 패키지 카탈로그를 정의 가능 |
| 155 | + |
| 156 | + |
| 157 | +---- |
| 158 | + |
| 159 | +## ESModules 플랫폼과 에코시스템 사이에서 | poteboy |
| 160 | +[poteboy.dev/posts/20240708-esm-platform-and-ecosystem](https://poteboy.dev/posts/20240708-esm-platform-and-ecosystem "ESModules 플랫폼과 에코시스템 사이에서 | poteboy") |
| 161 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">ECMAScript</span> <span class="jser-tag">module</span> <span class="jser-tag">article</span></p> |
| 162 | + |
| 163 | +모듈 평가 그래프와 Bundler에서 Top-Level await 다루기에 대해서 |
| 164 | + |
| 165 | + |
| 166 | +---- |
| 167 | + |
| 168 | +## How to use container queries now | Blog | web.dev |
| 169 | +[web.dev/blog/how-to-use-container-queries-now?hl=en](https://web.dev/blog/how-to-use-container-queries-now?hl=en "How to use container queries now | Blog | web.dev") |
| 170 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">CSS</span> <span class="jser-tag">article</span></p> |
| 171 | + |
| 172 | +CSS의 container query에 관련하여 |
| 173 | + |
| 174 | + |
| 175 | +---- |
| 176 | + |
| 177 | +## Understanding React Compiler | Tony Alicea |
| 178 | +[tonyalicea.dev/blog/understanding-react-compiler/](https://tonyalicea.dev/blog/understanding-react-compiler/ "Understanding React Compiler | Tony Alicea") |
| 179 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">article</span></p> |
| 180 | + |
| 181 | +React Compiler에 대하여 |
| 182 | + |
| 183 | + |
| 184 | +---- |
| 185 | +<h1 class="site-genre">웹사이트, 서비스, 문서</h1> |
| 186 | + |
| 187 | +---- |
| 188 | + |
| 189 | +## Web Performance Guide | SpeedCurve |
| 190 | +[www.speedcurve.com/web-performance-guide/](https://www.speedcurve.com/web-performance-guide/ "Web Performance Guide | SpeedCurve") |
| 191 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">performance</span> <span class="jser-tag">document</span></p> |
| 192 | + |
| 193 | +웹 퍼포먼스 관련 웹사이트. |
| 194 | +비즈니스의 메타크릭스 퍼포먼스, WebVitals, 최적화 기법에 대하여 |
| 195 | + |
| 196 | + |
| 197 | +---- |
| 198 | +<h1 class="site-genre">소프트웨어, 도구, 라이브러리</h1> |
| 199 | + |
| 200 | +---- |
| 201 | + |
| 202 | +## OpenAPI TypeScript |
| 203 | +[openapi-ts.dev/](https://openapi-ts.dev/ "OpenAPI TypeScript") |
| 204 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">TypeScript</span> <span class="jser-tag">OpenAPI</span> <span class="jser-tag">Tools</span> <span class="jser-tag">library</span></p> |
| 205 | + |
| 206 | +OpenAPI 스키마에서 TypeScript 자료형 정의나 Fetch하는 클라이언트를 다루는 도구/라이브러리 |
| 207 | + |
| 208 | + |
| 209 | +---- |
0 commit comments