Fork me on GitHub

2025-01-09: pnpm 10, Node v23.6.0(` --experimental-strip-types` 기본 유효화), e18e

Translator: rewrite0w0 Edit on GitHub See Revisions

JSer.info #721 - pnpm 10가 출시되었습니다.

pnpm v10.0.0, 설치할 패키지의 lifecycle script를 기본적으로 실행하지 않도록 변경되었습니다.
pnpm.onlyBuiltDependencies 허용 리스트에 정의한 패키지만 postinstall의 lifecycle script가 실행됩니다.

또한, pnpm link 동작 변경, packageManager 참조해서 pnpm 버전 확인하도록, 해시 알고리즘을 SHA256으로 변경, store 버전 갱신이 있습니다.
그 외로는, pnpm 관련해서 설정 공유 가능한 configDependencies 추가. verifyDepsBeforeRun 옵션으로 lock과 node_modules/ 상태 비교해서 자동 설치하는 동작을 선택할 수 있게 되었습니다.


Node.js v23.6.0 출시되었습니다.

Node.js v23.6.0, --experimental-strip-types 플래그가 기본적으로 유효화 되었습니다.
이로 인해, TypeScript 파일에서 자료형 정보를 삭제한 것을 실행할 수 있습니다.

$ echo "const add = (a: number, b: number) => a + b; console.log(add(1, 2));" > index.ts
$ node index.ts
3

단, enum이나 namespace 변환이 필요한 TypeScript 기능은 계속해서 --experimental-transform-types 플래그가 필요합니다.


The journey so far | e18e에서는, e18e (Ecosystem Performance) 이니셔티브는 JavaScript 에코시스템 정리가 어떻게 되고 있는지 다뤄지고 있습니다.

여러 도구나 라이브러리 필요없는 의존을 걷어내는 활동에 대해서도 정리되어 있습니다


To support JSer.info


헤드라인 ---- ## Release v12.3.0 · vueuse/vueuse [github.com/vueuse/vueuse/releases/tag/v12.3.0](https://github.com/vueuse/vueuse/releases/tag/v12.3.0 "Release v12.3.0 · vueuse/vueuse")

Vue library ReleaseNote

vueuse v12.3.0 출시. ---- ## Release @pandacss/[email protected] · chakra-ui/panda [github.com/chakra-ui/panda/releases/tag/%40pandacss%2Fdev%400.50.0](https://github.com/chakra-ui/panda/releases/tag/%40pandacss%2Fdev%400.50.0 "Release @pandacss/[email protected] · chakra-ui/panda")

pandacs library ReleaseNote

Panda CSS 0.50.0 출시. `panda analyze`으로 Design Token이나 하드코딩된 값 비율 보이도록 ---- ## Release 0.10.0 | StyleX [stylexjs.com/blog/v0.10.0](https://stylexjs.com/blog/v0.10.0 "Release 0.10.0 | StyleX")

React css PostCSS library ReleaseNote

StyleX v0.10.0 출시. PostCSS 플러그인 업데이트, `@stylexjs/nextjs-plugin` 비권장으로 변경. `debug` 옵션 추가, `inherit: false`의 `@property` 사용해 동적으로 CSS Custom Property 관리해서 성능 개선 ---- ## Release v3.11.0 · lerna-lite/lerna-lite [github.com/lerna-lite/lerna-lite/releases/tag/v3.11.0](https://github.com/lerna-lite/lerna-lite/releases/tag/v3.11.0 "Release v3.11.0 · lerna-lite/lerna-lite")

npm monorepo Tools ReleaseNote

lerna-lite v3.11.0 출시. pnpm `catalog:` protocol 한정적 지원 추가 ---- ## facebookexperimental/Recoil: Recoil is an experimental state management library for React apps. It provides several capabilities that are difficult to achieve with React alone, while being compatible with the newest features of React. [github.com/facebookexperimental/Recoil](https://github.com/facebookexperimental/Recoil "facebookexperimental/Recoil: Recoil is an experimental state management library for React apps. It provides several capabilities that are difficult to achieve with React alone, while being compatible with the newest features of React.")

React library news

Recoil 레포지토리 아카이브 됨 ---- ## Release pnpm 10 · pnpm/pnpm [github.com/pnpm/pnpm/releases/tag/v10.0.0](https://github.com/pnpm/pnpm/releases/tag/v10.0.0 "Release pnpm 10 · pnpm/pnpm")

pnpm ReleaseNote

pnpm v10.0.0 출시. 설치하는 패키지 lifecycle script을 기본적으로 실행하지 않도록 변경. `pnpm link` 동작 변경, `packageManager` 참조해서 pnpm 버전 확인하도록, 해시 알고리즘 SHA256으로 변경, store 버전 업데이트. pnpm 관련한 설정 공유하는 `configDependencies` 추가. `verifyDepsBeforeRun` 옵션 추가되었고, lock과 `node_modules/` 상태를 비교해 자동 설치 동작 선택 가능해짐. ---- ## Firefox 134.0, See All New Features, Updates and Fixes [www.mozilla.org/en-US/firefox/134.0/releasenotes/](https://www.mozilla.org/en-US/firefox/134.0/releasenotes/ "Firefox 134.0, See All New Features, Updates and Fixes")

Firefox ReleaseNote

Firefox 134 출시. Stage 3 `RegExp.escape()`, Stage 4 `Promise.try()` 지원 - [Firefox 134 for developers - Mozilla | MDN](https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/134 "Firefox 134 for developers - Mozilla | MDN") ---- ## Release v26.0 Reactime · open-source-labs/Reactime [github.com/open-source-labs/Reactime/releases/tag/v26.0](https://github.com/open-source-labs/Reactime/releases/tag/v26.0 "Release v26.0 Reactime · open-source-labs/Reactime")

React performance Tools ReleaseNote

React 디버그 확장 도구 Reactime 26.0 출시. UI 업데이트, useContext 상태 가시화, 타임트레블 디버그 기능 개선 ---- ## Node.js — Node v22.13.0 (LTS) [nodejs.org/en/blog/release/v22.13.0](https://nodejs.org/en/blog/release/v22.13.0 "Node.js — Node v22.13.0 (LTS)")

nodejs ReleaseNote

Node.js v22.13.0 출시. Permission Model를 Stable으로 변경 ---- ## Node.js — Node v23.6.0 (Current) [nodejs.org/en/blog/release/v23.6.0](https://nodejs.org/en/blog/release/v23.6.0 "Node.js — Node v23.6.0 (Current)")

nodejs TypeScript ReleaseNote

Node.js v23.6.0 출시. `--experimental-strip-types`를 기본적으로 유효화해서, TypeScript 파일을 플래그 없이 실행 가능하도록 변경. ----

읽을거리


Composable Caching with Next.js | Next.js

nextjs.org/blog/composable-caching

Next.js article

Next.js의 "use cache" directive에 대해.
"use cache" 붙인 함수는 server function에 변환되고, 메모화된 결과 반환.
클로저는 캐시 동작이나 cache() 함수 관련 됨


The journey so far | e18e

e18e.dev/blog/journey-so-far.html

performance nodejs JavaScript article

e18e에서의 JavaScript 에코시스템 정리하는 노력에 대하여.


1인 Intl Advent Calendar 2024 - Adventar

adventar.org/calendars/10555

JavaScript i18n article

Intl API 연재 글


웹사이트, 서비스, 문서


CodSpeed: Optimize Performance, Eliminate Regressions

codspeed.io/

webservice benchmark python Rust nodejs

CI로 벤치마크 얻어서 Regressions 검지하는 서비스.
Python/Rust/Node.js 대응.


Pull Request to this article
JSer.info Slackに参加する