JSer.info #748 - pnpm 10.16가 출시됐다.
새로운 기능과 패키지 출시되고서 최저한 일수 경과할 때까지 설치를 대기하는 minimumReleaseAge 옵션이 추가되었다. 이것으로, 악의 있는 패키지가 즉시 설치되는 것을 막고, 공급망 공격 위험한 경감.
또한, pnpm why --find-by=<pkg> 옵션보다 유연한 의존관계 검색이 가능해지고, Node.js 24  지원도 개선됨.
비슷한 옵션은 renovatebot나 dependabo에도 존재해서, 패키지 추가나 업데이트할 때 멀웨어가 혼입되는 위험성을 낮출 때 이용된다.
Deno 2.5가 출시됐다.
권한 설정 파일 관리해서, 명령어 실행할 때 이용하는 권한세트를 지정하는 --permission-set 플래그가 추가됐다.
또한, Deno.test.{before,after}{Each,All} 메서드 추가, DENO_AUDIT_PERMISSIONS 환경 변수에서 권한 이용 감시 로그를 출력한다.
다음 글에는, bun install 내부 구조와 성능 최적화에 대해 자세히 설명되어있다.
패키지 설치의 보틀넥은 I/O가 아니라, System Call 수에 있다는 시점으로 이야기가 작성되어 있다. 유저 모드와 커널 모드 전환하는 코스트가 패키지 설치할 때 오버헤드 주 요인이므로, Bun으로는 이 매트릭스를 중시해 성능 개선한다.
To support JSer.info
- 😘 Recommend JSer.info to your friends!
- ❤️ Support @azu on GitHub Sponsors/JSer.info Sponsors
- 🐦 Follow @jser_info on X(Twitter)
헤드라인
Group Note: CSS Snapshot 2025 | 2025 | News | W3C
www.w3.org/news/2025/group-note-css-snapshot-2025/
CSS Snapshot 2025 출시
Electron 38.0.0 | Electron
www.electronjs.org/blog/electron-38-0
Electron 38.0.0 출시.
Chromium 140/Node.js 22.18/V8 14으로 업그레이드.
macOS 11(Big Sur) 지원 종료/ELECTRON_OZONE_PLATFORM_HINT 환경 변수/plugin-crashed 이벤트 삭제.
webFrame.routingId 프로퍼티/webFrame.findFrameByRoutingId()는 비권장.
Windows에서 accentColor 커스터마이즈 대응, macOS 메모리 정보/Tray API 확장
Release pnpm 10.16 · pnpm/pnpm
github.com/pnpm/pnpm/releases/tag/v10.16.0
pnpm v10.16.0 출시.
공급망 공격 대책으로 minimumReleaseAge 옵션 추가, pnpm why --find-by=<pkg> 옵션 추가, Node.js 24 대응 개선
Release Version 27.0.0 · jsdom/jsdom
github.com/jsdom/jsdom/releases/tag/27.0.0
jsdom 27.0.0 출시.
Npde.js 18 지원 종료, 이벤트 컨스트럭터 지원 추가, CSS 셀렉트엔진을 @asamuzakjp/dom-selector으로 변경
Deno 2.5: Permissions in the config file | Deno
Deno v2.5 출시.
--permissin-set 플래그 지원, Deno.test.{before,after}{Each,All} 추가, DENO_AUDIT_PERMISSIONS으로 감시 로그 출력 대응
ESLint v9.35.0 released - ESLint - Pluggable JavaScript Linter
eslint.org/blog/2025/09/eslint-v9.35.0-released/
ESLint v9.35.0 출시.
try...catch으로 Error Cause 사용해 re-throw할까 확인하는 preserve-caught-error 규칙 추가
읽을거리
How modern browsers work - by Addy Osmani - Elevate
addyo.substack.com/p/how-modern-browsers-work
브라우저 아키텍처 트랜지션 관련.
Chromium/Blink/V8 관련하여, 네트워크/HTML・CSS・JS파서/레이아웃/이벤트/composite/멀티프로세스/웹사이트 분리/샌드박스화 트랜지션에 대하여.
각 브라우저 엔진 구현의 차이에 대하여
Behind The Scenes of Bun Install | Bun Blog
bun.com/blog/behind-the-scenes-of-bun-install
패키지 설치 보틀넥은 I/O이 아닌 System Call수로하는 이야기.
user mode와 kernel mode 전환에 코스트가 들어 패키지 설치할 때 오버헤드가 많이 발생.
bun install에는 System Call 숫자를 메트릭트로 사용해 성능 개선함
React Native 새 아키텍처로 이행(2025) - Shopify
shopify.engineering/react-native-new-architecture
Shopify의 React Native의 New Architecture으로 이행에 대하여.
최소 코드 변환으로 이행을 우선, 듀얼 아키텍처로 Rollback 가능하도록, App Store와 Play Store 롤아웃 전략에 관하여
The Basics of Anchor Positioning
ishadeed.com/article/anchor-positioning/
CSS Anchor Positioning에 대하여.
anchor-name/position-anchor/anchor()/position-area/position-try-fallbacks 동작에 대하여.
styled-components maintenance mode: A 40% faster fork | Sanity
www.sanity.io/blog/cut-styled-components-into-pieces-this-is-our-last-resort
styled-components가 관리 정지되었으므로, 성능 개선과 React 19 대응한 fork를 작성하면서, 다른 CSS 프레임워크로 이행하는 이야기
소프트웨어, 도구, 라이브러리
krasimir/forket: Forket is a tool that splits your code to client and server so you have RSC (React Server Components) working without a framework.
코드를 클아이언트와 서버로 분리, React Server Component를 다루는 도구
panphora/overtype: The markdown editor that's just a textarea https://overtype.dev
WYSIWYG한 Markdown 에디터 라이브러리
embedpdf/embed-pdf-viewer: A PDF viewer that seamlessly integrates with any JavaScript project
github.com/embedpdf/embed-pdf-viewer
PDF 뷰어를 담는 라이브러리
 
    
    