Fork me on GitHub

2026-05-24: pnpm 11.1 ~ 11.3, npm CLI v11.15.0, Deno 2.8

Translator: rewrite0w0 Edit on GitHub See Revisions

JSer.info #772 - pnpm 11.1부터 11.3까지, 공급망 보안 관련 기능이 다수 추가되었다.

pnpm 11.1에는 레지스트리 서명 검증하는 pnpm audit signatures 명령어가 추가되고, 11.1.3에는 설치할 때 lockfile의 엔트리를 minimumReleaseAge으로 재검증하는 구조로 minimumReleaseAgeStrict 모드 도입된다. 11.3에는 Staged Publishing용 pnpm stage 명령어와, 신뢰된 lockfile 검증 스킵하는 trustLockfile 설정이 추가된다.


npm CLI v11.15.0가 출시되었다.

Staged Publishing위한 npm stage 명령어 추가된다. Staged Publishing은, 패키지 공개 전에 승인 단계를 추가하는 구조로, 스테이징으로 송신한 후에 관리자가 2FA로 승인하고 레지스트리 공개된다. 또한, 설치할 때 행동을 제어하는 allow-git/allow-file/allow-directory/allow-remote 설정이 추가된다.


Deno 2.8가 출시되었다.

deno audit fix, deno bump-version, deno ci, deno pack, deno transpile, deno why 같은 새로운 서브명령어가 추가된다. Node.js 호환성 테스트스위트 합격률이 42%에서 76.4%으로 개선, Stage 3의 import defer를 구현했다. 또한, CLI으로 npm: 프레픽스가 필요없어지고, catalog: 프로토콜에서 모노레포 의존 버전을 일원화 관리한다.


To support JSer.info


헤드라인


Release v1.60.0 · microsoft/playwright

github.com/microsoft/playwright/releases/tag/v1.60.0

playwright ReleaseNote

playwright v1.60.0 출시.
파괴적 변경으로, Locator.ariaRef(), bindings의 handle 옵션, videosPath/videoSize 같은 deprecated한 API 삭제.
tracing.startHar()/tracing.stopHar()으로 HAR 기록 지원, 외부에서 드랙&드롭을 시뮬레이터 하는 locator.drop() 추가.
expect(page).toMatchAriaSnapshot()를 Page에서 이용 가능, boxes 옵션으로 경계 박스 정보 포함.
테스트를 중단하는 test.abort(), browser.on('context') 이벤트와 BrowserContext 라이프사이클 이벤트 추가


Release pnpm 11.1 · pnpm/pnpm

github.com/pnpm/pnpm/releases/tag/v11.1.0

pnpm ReleaseNote

pnpm v11.1.0 출시.
레지스트리 서명을 검증하는 pnpm audit signatures 명령어, namedRegistries에 의한 레지스트리 프레픽스 지정(gh:@acme/private 등등) 지원.
pnpm bugs/pnpm owner 명령어 추가.
SBOM 사양 버전을 지정하는 --sbom-spec-version, 런타임 설치할 때 스킵하는 --no-runtime 플래그 추가.


Release vite-plus v0.1.21 — Create, Migrate & Local CLI Power-Up · voidzero-dev/vite-plus

github.com/voidzero-dev/vite-plus/releases/tag/v0.1.21

vite CLI Tools ReleaseNote

vite-plus v0.1.21 출시.
vp pm 명령어가 로컬 CLI으로 동작하고, vp migrate은 named catalogs 갈아 끼우기나tsdown/client의 import 자료형 설정 이행에 대응.
vp create@org 형식 스코프 조건 템플릿 지원.
Nushell 대응, vp pm plugin의 yarn 지원, --provenance 플래그, Windows의 .cmd 심경유의 PowerShell 실행 추가.
pnpm v11+에서 --ignore-scripts 자동 부여, vite-plus/pack/client 추가


Bun v1.3.14 | Bun Blog

bun.com/blog/bun-v1.3.14

Bun ReleaseNote

Bun v1.3.14 출시.
이미지 리사이즈/회전/포맷 변환에 대응한 이미지 처리 API Bun.Image 추가.
Bun.serve()가 HTTP/3 over QUIC에 대응, fetch()가 실험적으로 HTTP/2와 HTTP/3 프로토콜 지원.
isolated linker의 globalStore 옵션 추가, 부모 프로세스 종료할 때 Bun 프로세스 트리 종료하는 --no-orphans 플래그 추가.
Node.js v24 호환의 process.execve(), Windows에서 Bun.Terminal(ConPTY), FreeBSD/Android 공식 빌드 제공


Release pnpm 11.1.3 · pnpm/pnpm

github.com/pnpm/pnpm/releases/tag/v11.1.3

pnpm ReleaseNote

pnpm v11.1.3 출시.
설치할 때 pnpm-lock.yaml의 엔트리를 minimumReleaseAgetrustPolicy으로 재검증하도록 변경 minimumReleaseAgeStrict 모드 추가.
pnpm self-updateminimumReleaseAge를 존중하도록 변경, NODE_AUTH_TOKEN 미설정할 때 OIDC 인증 실패를 수정.


Node.js — Node.js 26.2.0 (Current)

nodejs.org/en/blog/release/v26.2.0

nodejs ReleaseNote

Node.js 26.2.0 출시.
fs.StatsBigIntStatsTemporal.Instant 지원, HTTP의 writeInformation 메서드로 임의의 1xx 상태 코드를 송신하도록.
stream.compose가 Stable으로 변경, Web Cryptography API로 ML-DSA/ML-KEM/ChaCha20-Poly1305 알고리즘 추가


Release v11.15.0 · npm/cli

github.com/npm/cli/releases/tag/v11.15.0

npm CLI ReleaseNote

npm CLI v11.15.0 출시.
Staged Publishing 위한 npm stage 명령어 추가, trust 명령어로 permissions 지원 추가.
설치할 때 행동을 제어하는 allow-git/allow-file/allow-directory/allow-remote 설정 추가.


Release @apollo/[email protected] · apollographql/apollo-client

github.com/apollographql/apollo-client/releases/tag/%40apollo%2Fclient%404.2.0

JavaScript library ReleaseNote GraphQL

Apollo Client 4.2.0 출시.
hook이나 메서드의 시그니처에, defaultOptions 반영하는 "modern" 스타일 추가.
RefetchEventManager 클래스 추가, window의 focus이나 네트워크 재연결같은 이벤트에 대응한 쿼리 자동재취득을 지원.
client.query/client.mutate/useMutation/preloadQuery 반환값을 자료형에 defaultOptions을 반영하도록 개선.


pnpm 11.3 | pnpm

pnpm.io/blog/releases/11.3

pnpm ReleaseNote

pnpm 11.3 출시.
Staged Publishing용으로 pnpm stage 명령어, 신뢰된 lockfile 검증을 스킵하는 trustLockfile 설정 추가.
pnpm pkg/pnpm repo/pnpm set-script를 네이티브 구현으로 변경, pnpm publish으로 --skip-manifest-obfuscation 플래그 추가


Deno 2.8 | Deno

deno.com/blog/v2.8

deno ReleaseNote

Deno 2.8 출시.
deno audit fix/deno bump-version/deno ci/deno pack/deno transpile/deno why 새로운 서브 명령어 추가.
Node.js 호환성 테스트 스위츠 합격률이 42%에서 76.4%으로 개선, Stage 3의 import defer 구현.
CLI으로 npm: 프레픽스 필요없도록, catalog: 지원, --os/--arch 플래그로 크로스 플랫폼 설치에 대응.
OffscreenCanvas이나 DOMPoint 같은 Web API 추가, Chrome DevTools에서 네트워크 디버그나 CPU 프로파일링을 지원.


읽읅거리


Postmortem: TanStack npm supply-chain compromise | TanStack Blog

tanstack.com/blog/npm-supply-chain-compromise-postmortem

TanStack npm security Actions article

2026년 5월 11일에 발생한 TanStack의 npm 패키지 공급망 공격 포스트모템.
pull_request_target 워크 플로우 설정 부족, GitHub Actions 캐쉬 포이즈닝을 얹은 공격 수법에 대하여.
포크에서 PR을 실행한 코드가 pnpm 캐시를 오염시키고, 후에 출시 워크 플로우에 악의 있는 바이너리 복원시킴.
/proc/ 경유로 런너 프로세스 메모리에서 OIDC 토큰 추출해 npm publish에 이용됨.
대책으로 pull_request_target 사용한 워크 플로우 감시, 서드파티 Action 커밋 해쉬 고정하는 방법 등 들고 있음.


9 Times the Web Platform Was Influenced by Libraries | Jad Joubran

jadjoubran.io/blog/web-platform-influenced-by-libraries

WebPlatformAPI JavaScript library history article

Web 플랫폼 네이티브 API가 라이브러리에 받은 영향 9가지 사례 소개하는 글.
jQuery/Sizzle의 CSS 셀렉터가 querySelector, Bootstrap의 data-togglepopovertarget/command 속성.
jQuery의 .addClass()classList, Lodash/Underscore 메서드가 String/Array 메서드로.
추가로 structuredClone, Promises/A+ 표준화, ES Modules 설계.
Moment.js 과제에서 Temporal API, jQuery의 .closest()에서 Element.closest().


Node.js — Axios to WHATWG Fetch

nodejs.org/en/blog/migrations/axios-to-fetch

nodejs Fetch HTTP article

Axios에서 Node.js Fetch API으로 이행 가이드.
Node.js v18.0.0 이후 전제, axios.get()/axios.post()/axios.put()/axios.delete()이나 폼 송신 같은 코드 변환 예시로 설명.
인터셉터나 캔슬 토큰 등 일부 기능은 미대응인 점에 대해서도 설명


Introducing Secure Registry: install-time defense for the npm supply chain - StepSecurity

www.stepsecurity.io/blog/introducing-secure-registry-install-time-defense-for-the-npm-supply-chain

npm security article

StepSecurity에 의한 npm 공급망 공격에 대한 설치 방어하는 Proxy 타입 레지스트리 서비스.
레지스트리 패키지 취득 요구를 프록시로 평가, 신규 공개에서 일정 시간 블록하는 쿨타임 기한, 위험한 패키지를 블록, typosquatting 대책 기능 제공.
로컬 개발 환경, CI/CD 파이프라인에서 이용을 상정.


nkzw-tech/fate: fate is a modern data client for React.

github.com/nkzw-tech/fate

React library TypeScript GraphQL

React 데이터 클라이언트 라이브러리.
Relay/GraphQL 설계에서 영향을 받아, 컴포넌트째로 view 데이터 선언, 정규화 캐시와 데이터 마스킹 제공.
Async React(Actions/Suspense/use) 대응, 페이지네이션, Optimistic Updates, Server-Sent Events 갱신 지원.
백엔드로 GraphQL/tRPC/Prisma/Drizzle 대응.


Announcing Web Serial Support in Firefox - Mozilla Hacks - the Web developer blog

hacks.mozilla.org/2026/05/web-serial-support-in-firefox/

Firefox browser WebAPI Mozilla

Firefox 151에서 Web Serial API 지원.
Web Serial API은 JavaScript에서 시리얼라이즈 디바이스 읽는 API로, USB나 Bluetooth에서 접속한 마이콘, 3D 프린터, 스마트 메타 등 직접 접근 가능.
유저가 명시적으로 허용하는 포트만 접근 가능, 사이트and포트 마다 권한 관리.


소프트웨어, 도구, 라이브러리


tmikov/hermes-node: Node.js built-in module compatibility layer for the Hermes JS engine

github.com/tmikov/hermes-node

nodejs JavaScript TypeScript library

Hermes를 기반으로 한 Node.js 호환 JavaScript/TypeScript 런타임.
TypeScript 파일을 직접 실행, Chrome DevTools 프로토콜 대응한 디버그를 내장.
fs/http/net/path/stream 같은 Node.js 코어 모듈은, Node.js 내부 JS 구현을 그대로 이용.


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