<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>JSer.info</title>
    <description>JavaScriptの最新情報を紹介する週刊ブログ</description>
    <link>https://jser.info/ko/</link>
    <atom:link href="https://jser.info/ko/feed.xml" rel="self" type="application/rss+xml" />
    <pubDate>Wed, 05 Aug 2026 12:38:15 +0900</pubDate>
    <lastBuildDate>Wed, 05 Aug 2026 12:38:15 +0900</lastBuildDate>
    <generator>Jekyll v3.9.0</generator>
    
      <item>
        <title>2026-08-05: Next.js 16.3, npm에서 publish할 때 멀웨어 스캔, vlt 1.0</title>
        <description>&lt;p&gt;JSer.info #777 - Next.js 16.3가 출시되었다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://nextjs.org/blog/next-16-3&quot;&gt;Next.js 16.3 | Next.js&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/vercel/next.js/releases/tag/v16.3.0&quot;&gt;Release v16.3.0 · vercel/next.js&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;옵트인 Instant Navigations으로, &lt;code&gt;cacheComponents&lt;/code&gt;와 &lt;code&gt;partialPrefetching&lt;/code&gt; 사용한 네비게이션 개선이 추가된다.&lt;br&gt;
&lt;code&gt;import.meta.glob&lt;/code&gt; 지원, App Router의 SSR 내부를 Web Streams에서 Node.js Streams으로 이행하여 성능 개선이 있다.&lt;br&gt;
실험적 기능으로, Turbopack의 파일시스템 캐시와 메모리 해방 설정, Rust 기반 React Compiler, &lt;code&gt;useOffline&lt;/code&gt;가 추가된다.&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;npm에서, publish할 때 멀웨어 스캔이 도입되었다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.blog/changelog/2026-07-28-npm-publish-time-malware-scanning-and-dual-use-metadata/&quot;&gt;npm publish-time malware scanning and dual-use metadata - GitHub Changelog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;글에는, npm의 publish할 때 멀웨어스캔과 dual-use content 대상 메타데이터에 대해 다뤄진다.&lt;br&gt;
새롭게 publish된 패키지는, 설치 가능하기 전에 스캔된다. 그 결과에 따라 통상적인 공개, 수동 리뷰, 블록처리가 된다.&lt;br&gt;
또한, 멀웨어로 오인될 가능성이 있는 패키지에 &lt;code&gt;package.json&lt;/code&gt;의 &lt;code&gt;contentPolicy&lt;/code&gt;와 &lt;code&gt;DISCLOSURE&lt;/code&gt; 파일로 dual-use content 선언하는 구조가 추가된다.&lt;br&gt;
선언한 패키지는 2FA를 강제하는 trusted publishing, 대화적 publish, staged publishing에서 공개할 필요가 있다.&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;vlt 1.0가 출시되어, Hosted Package Registries와 ecosystem mirrors가 일반 공개되었다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.vlt.io/blog/1-0&quot;&gt;vlt 1.0 &amp;amp; Hosted Package Registries | vlt /vōlt/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;의존 패키지의 라이프사이클 스크립트를 &lt;code&gt;vlt install&lt;/code&gt;와 &lt;code&gt;vlt build&lt;/code&gt;로 나눠서 처리하는 Phased Installations, npm 공개 레지스트리로의 OIDC Trusted Publishing에 대응한다.&lt;br&gt;
Hosted Package Registries는 npm Registry API와 호환성이 있고, npm, pnpm, Yarn, Bun, Deno에서 이용 가능하며, 이미 알려진 멀웨어를 블록하는 구조를 갖고있다.&lt;/p&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;헤드라인&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;pnpm-11-11-11-14-pnpm&quot;&gt;pnpm 11.11-11.14 | pnpm&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://pnpm.io/blog/releases/11.11-11.14&quot; title=&quot;pnpm 11.11-11.14 | pnpm&quot;&gt;pnpm.io/blog/releases/11.11-11.14&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;pnpm&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;pnpm 11.11-11.14 변경점에 대하여.&lt;br&gt;
&lt;code&gt;pnpm change&lt;/code&gt;/&lt;code&gt;pnpm lane&lt;/code&gt;/&lt;code&gt;pnpm version -r&lt;/code&gt;에 의한 workspace 출시 관리 추가.&lt;br&gt;
&lt;code&gt;pnpm doctor&lt;/code&gt;, &lt;code&gt;pnpm access&lt;/code&gt;, &lt;code&gt;pnpm team&lt;/code&gt; 명령어 추가.&lt;br&gt;
&lt;code&gt;overrides&lt;/code&gt;의 &lt;code&gt;&amp;quot;pkg@&amp;quot;&lt;/code&gt; 형식을 지원, &lt;code&gt;pnpm run --sequential&lt;/code&gt; 추가.&lt;br&gt;
&lt;code&gt;pnpm install&lt;/code&gt;의 path traversal 취약점, peer dependency 해결 deadlock, cold-cache 해결할 때 메모리 사용량 수정.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;nuxt-4-5-nuxt-blog&quot;&gt;Nuxt 4.5 · Nuxt Blog&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://nuxt.com/blog/v4-5&quot; title=&quot;Nuxt 4.5 · Nuxt Blog&quot;&gt;nuxt.com/blog/v4-5&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;Vue&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;vite&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;rspack&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Nuxt v4.5.0 출시.&lt;br&gt;
Vite 8/Rspack 2/Rsbuild 으로 업데이트, 실험적인 SSR Streaming, Stable Error Codes 추가.&lt;br&gt;
&lt;code&gt;useLayout&lt;/code&gt;, Named Views, &lt;code&gt;useFetch&lt;/code&gt;/&lt;code&gt;useAsyncData&lt;/code&gt;에 &lt;code&gt;enabled&lt;/code&gt; 옵션 추가.&lt;br&gt;
&lt;code&gt;import.meta.envName&lt;/code&gt;, &lt;code&gt;tracingChannel&lt;/code&gt; 추가.&lt;br&gt;
더불어 2026년 7월 31일 지원 종료된 Nuxt 3의, 마지막 출시인 v3.21.9도 공개됨.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;type-aware-linting-stable-the-javascript-oxidation-compiler&quot;&gt;Type-Aware Linting Stable | The JavaScript Oxidation Compiler&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://oxc.rs/blog/2026-07-22-type-aware-linting-stable&quot; title=&quot;Type-Aware Linting Stable | The JavaScript Oxidation Compiler&quot;&gt;oxc.rs/blog/2026-07-22-type-aware-linting-stable&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;TypeScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ESLint&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Oxlint의 Type-Aware Linting Stable 출시.&lt;br&gt;
tsgolint v7.0.2000은 TypeScript v7.0.2 대응하는 형태로 버전을 TypeScript와 맞춤.&lt;br&gt;
&lt;code&gt;options.typeAware&lt;/code&gt;/&lt;code&gt;options.typeCheck&lt;/code&gt;, &lt;code&gt;--type-check&lt;/code&gt;, &lt;code&gt;--debug timings&lt;/code&gt; 대응&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;webpack-5-109-webpack&quot;&gt;Webpack 5.109 | webpack&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://webpack.js.org/blog/2026-07-24-webpack-5-109/&quot; title=&quot;Webpack 5.109 | webpack&quot;&gt;webpack.js.org/blog/2026-07-24-webpack-5-109/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;webpack&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;webpack 5.109 출시.&lt;br&gt;
CSS, HTML, TypeScript, 비동기 WebAssembly 내장 지원은, 대응하는 loader가 설정되지 않은 경우 유효인 &lt;code&gt;auto&lt;/code&gt;가 기본으로.&lt;br&gt;
실험적으로 &lt;code&gt;output.html&lt;/code&gt;에서 &lt;code&gt;title&lt;/code&gt;/&lt;code&gt;meta&lt;/code&gt;/&lt;code&gt;base&lt;/code&gt;, &lt;code&gt;output.resourceHints&lt;/code&gt; 지원.&lt;br&gt;
&lt;code&gt;import.meta.glob&lt;/code&gt;/&lt;code&gt;import.meta.resolve&lt;/code&gt;, CommonJS의 Module Concatenation 지원.&lt;br&gt;
&lt;code&gt;infrastructureLogging.progress&lt;/code&gt;, Worklet의 bundle, CSS의 &lt;code&gt;@custom-media&lt;/code&gt; 지원도 추가.&lt;br&gt;
webpack-dev-server 6.0.0도 동시에 공개, Express 5으로 업데이트, Node.js 22.15.0 이상이 필요함.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;nuxt-security-patch-releases-nuxt-blog&quot;&gt;Nuxt Security Patch Releases · Nuxt Blog&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://nuxt.com/blog/v4-5-security&quot; title=&quot;Nuxt Security Patch Releases · Nuxt Blog&quot;&gt;nuxt.com/blog/v4-5-security&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;Vue&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;security&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Nuxt v4.5.1とv3.21.10 출시.&lt;br&gt;
&lt;code&gt;vue.runtimeCompiler&lt;/code&gt;를 유효한 Server Islands에서의 RCE, &lt;code&gt;routeRules&lt;/code&gt; 허가 바이패스, Server Components의 DoS 수정.&lt;br&gt;
&lt;code&gt;cache&lt;/code&gt;/&lt;code&gt;swr&lt;/code&gt;/&lt;code&gt;isr&lt;/code&gt;를 사용하는 Nuxt 4에서의 &lt;code&gt;_payload.json&lt;/code&gt; 캐시 데이터 유출, 개발할 때만 영향 주는 Nuxt DevTools의 RCE 수정.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;release-v1-62-0-microsoft-playwright&quot;&gt;Release v1.62.0 · microsoft/playwright&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/microsoft/playwright/releases/tag/v1.62.0&quot; title=&quot;Release v1.62.0 · microsoft/playwright&quot;&gt;github.com/microsoft/playwright/releases/tag/v1.62.0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;playwright&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;testing&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Playwright v1.62.0 출시.&lt;br&gt;
Component Testing가 Story/Gallery 모델로 변경.&lt;br&gt;
&lt;code&gt;AbortSignal&lt;/code&gt;에 의한 조작 캔슬, &lt;code&gt;.webp&lt;/code&gt; 스크린샷 지원, &lt;code&gt;Reporter.preprocess()&lt;/code&gt; 추가.&lt;br&gt;
&lt;code&gt;retryStrategy: &amp;quot;isolated&amp;quot;&lt;/code&gt;, &lt;code&gt;apiResponse.timing()&lt;/code&gt;, Playwright MCP를 CLI에 포함하도록 변경&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;ember-7-1-released&quot;&gt;Ember 7.1 Released&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://blog.emberjs.com/ember-released-7-1/&quot; title=&quot;Ember 7.1 Released&quot;&gt;blog.emberjs.com/ember-released-7-1/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;Ember&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Ember.js 7.1 출시.&lt;br&gt;
&lt;code&gt;/&lt;/code&gt;/&lt;code&gt;/&lt;/code&gt;의 빌트인 헬퍼 추가.&lt;br&gt;
strict template으로 &lt;code&gt;/&lt;/code&gt;/&lt;code&gt;/&lt;/code&gt; 자동 import 대응&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;pnpm-11-15-11-19-pnpm&quot;&gt;pnpm 11.15-11.19 | pnpm&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://pnpm.io/blog/releases/11.15-11.19&quot; title=&quot;pnpm 11.15-11.19 | pnpm&quot;&gt;pnpm.io/blog/releases/11.15-11.19&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;pnpm&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;pnpm 11.15에서 11.19까지 변경점에 대하여.&lt;br&gt;
&lt;code&gt;pnpm update&lt;/code&gt;/&lt;code&gt;pnpm outdated&lt;/code&gt;의 GitHub Actions 업데이트 대응, &lt;code&gt;pnpm update --changeset&lt;/code&gt; 추가.&lt;br&gt;
&lt;code&gt;update&lt;/code&gt;/&lt;code&gt;audit&lt;/code&gt; 설정, &lt;code&gt;publishConfig.name&lt;/code&gt;, &lt;code&gt;save-prefix&lt;/code&gt;의 &lt;code&gt;=&lt;/code&gt; 지원 추가.&lt;br&gt;
&lt;code&gt;pnpm self-update&lt;/code&gt;가 객체 설정을 참조하지 않도록 변경, TTY없는 &lt;code&gt;pnpm login&lt;/code&gt; 대응&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;v1-20-0-react-aria&quot;&gt;v1.20.0 | React Aria&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://react-aria.adobe.com/releases/v1-20-0&quot; title=&quot;v1.20.0 | React Aria&quot;&gt;react-aria.adobe.com/releases/v1-20-0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;React&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;React Aria Components v1.20.0 출시.&lt;br&gt;
Popover를 hover/focus/long press로 보이는 &lt;code&gt;PreviewTrigger&lt;/code&gt;, 텍스트 입력 중에 보완을 다루는 &lt;code&gt;TokenField&lt;/code&gt; alpha 추가.&lt;br&gt;
&lt;code&gt;MenuTrigger&lt;/code&gt;에 &lt;code&gt;trigger=&amp;quot;contextMenu&amp;quot;&lt;/code&gt; 추가, &lt;code&gt;useKeyboard&lt;/code&gt; 단축키 API 개선.&lt;br&gt;
Table내에 TextField 대화적 컴포넌트 지원&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;next-js-16-3-next-js&quot;&gt;Next.js 16.3 | Next.js&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://nextjs.org/blog/next-16-3&quot; title=&quot;Next.js 16.3 | Next.js&quot;&gt;nextjs.org/blog/next-16-3&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;Next.js&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;React&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Next.js 16.3 출시.&lt;br&gt;
옵트인 Instant Navigations으로, &lt;code&gt;cacheComponents&lt;/code&gt;와 &lt;code&gt;partialPrefetching&lt;/code&gt;에 의한 네비게이션 개선 추가.&lt;br&gt;
&lt;code&gt;import.meta.glob&lt;/code&gt; 지원, App Router의 SSR 내부를 Web Streams에서 Node.js Streams으로 이행함으로 성능 개선.&lt;br&gt;
실험적 기능으로 Turbopack 파일시스템 캐시와 메모리 해방 설정, Rust 기반 React Compiler, &lt;code&gt;useOffline&lt;/code&gt; 추가.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/vercel/next.js/releases/tag/v16.3.0&quot; title=&quot;Release v16.3.0 · vercel/next.js&quot;&gt;Release v16.3.0 · vercel/next.js&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2 id=&quot;node-js-node-js-26-6-0-current&quot;&gt;Node.js — Node.js 26.6.0 (Current)&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://nodejs.org/en/blog/release/v26.6.0&quot; title=&quot;Node.js — Node.js 26.6.0 (Current)&quot;&gt;nodejs.org/en/blog/release/v26.6.0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;nodejs&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Node.js v26.6.0 출시.&lt;br&gt;
&lt;code&gt;ffi.getCurrentEventLoop()&lt;/code&gt; 추가, &lt;code&gt;node:test&lt;/code&gt;에 &lt;code&gt;context.log()&lt;/code&gt;와 &lt;code&gt;test:log&lt;/code&gt; 이벤트 추가.&lt;br&gt;
&lt;code&gt;TestStream&lt;/code&gt;イベントに&lt;code&gt;entryFile&lt;/code&gt; 추가, npm 11.18.0으로 업데이트.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;node-js-node-js-24-19-0-lts&quot;&gt;Node.js — Node.js 24.19.0 (LTS)&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://nodejs.org/en/blog/release/v24.19.0&quot; title=&quot;Node.js — Node.js 24.19.0 (LTS)&quot;&gt;nodejs.org/en/blog/release/v24.19.0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;nodejs&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Node.js v24.19.0(LTS) 출시.&lt;br&gt;
&lt;code&gt;Blob.prototype.textStream()&lt;/code&gt;, &lt;code&gt;--experimental-import-text&lt;/code&gt;, &lt;code&gt;fs.readFile()&lt;/code&gt;에서의 &lt;code&gt;buffer&lt;/code&gt; 옵션 지원.&lt;br&gt;
&lt;code&gt;stream.compose&lt;/code&gt;의 Stable화, TLS의 &lt;code&gt;certificateCompression&lt;/code&gt; 옵션 추가.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;vlt-1-0-hosted-package-registries-vlt-v-lt&quot;&gt;vlt 1.0 &amp;amp; Hosted Package Registries | vlt /vōlt/&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://www.vlt.io/blog/1-0&quot; title=&quot;vlt 1.0 &amp;amp;amp; Hosted Package Registries | vlt /vōlt/&quot;&gt;www.vlt.io/blog/1-0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;vlt&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;npm&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;package&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;security&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;vlt 1.0 출시.&lt;br&gt;
Hosted Package Registries와 ecosystem mirrors 일반 공개.&lt;br&gt;
Graph Modifiers와 Catalogs 준비.&lt;br&gt;
의존 패키지의 라이프사이클 스크립트를 &lt;code&gt;vlt install&lt;/code&gt;와 &lt;code&gt;vlt build&lt;/code&gt;로 나눠 다루는 Phased Installations, npm 공개 레지스트리 OIDC Trusted Publishing에 대응.&lt;br&gt;
Hosted Package Registries은 npm Registry API와 호환성이 있어, npm, pnpm, Yarn, Bun, Deno에서 이용 가능, 알려진 멀웨러를 블록하는 구조임.&lt;/p&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;읽을거리&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;errors-worth-reading-nostics&quot;&gt;Errors worth reading - nostics&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://nostics.dev/&quot; title=&quot;Errors worth reading - nostics&quot;&gt;nostics.dev/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;TypeScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;라이브러리 에러 코드를 관리하는 TypeScript 라이브러리.&lt;br&gt;
에러 코드 대응하는 이유/수정 방법 정의, 소스 위치, 문서 URL를 갖는 &lt;code&gt;Diagnostic&lt;/code&gt; 옵션을 정의 가능.&lt;br&gt;
Nuxt에서 이용&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;npm-publish-time-malware-scanning-and-dual-use-metadata-github-changelog&quot;&gt;npm publish-time malware scanning and dual-use metadata - GitHub Changelog&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.blog/changelog/2026-07-28-npm-publish-time-malware-scanning-and-dual-use-metadata/&quot; title=&quot;npm publish-time malware scanning and dual-use metadata - GitHub Changelog&quot;&gt;github.blog/changelog/2026-07-28-npm-publish-time-malware-scanning-and-dual-use-metadata/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;npm&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;security&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;article&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;npm의 publish할 때 멀웨어 스캔과 dual-use content 대상 메타 데이터에 대하여.&lt;br&gt;
새롭게 publish된 패키지는, 설치 가능하기 전에 스캔 됨.&lt;br&gt;
결과에 대해 통상적인 공개, 수동 리뷰, 블록처리 중 하나가 됨.&lt;br&gt;
멀웨어로 오인될 가능성이 있는 패키지는 &lt;code&gt;package.json&lt;/code&gt;의 &lt;code&gt;contentPolicy&lt;/code&gt;와 &lt;code&gt;DISCLOSURE&lt;/code&gt; 파일에서 dual-use content를 선언하는 구조 추가.&lt;br&gt;
선언된 패키지는 2FA를 강제하는 trusted publishing, 대화적 publish, staged publishing에서 공개 필요함.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;cloudflare-workers-and-containers-now-support-inbound-tcp-connections-and-grpc-the-cloudflare-blog&quot;&gt;Cloudflare Workers and Containers now support inbound TCP connections and gRPC | The Cloudflare Blog&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://blog.cloudflare.com/grpc-workers/&quot; title=&quot;Cloudflare Workers and Containers now support inbound TCP connections and gRPC | The Cloudflare Blog&quot;&gt;blog.cloudflare.com/grpc-workers/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;cloudflare&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;server&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;article&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Cloudflare Workers와 Containers의 Inbound TCP/gRPC 대응에 대하여.&lt;br&gt;
Workers Runtime에 &lt;code&gt;connect(socket)&lt;/code&gt; 핸들러 추가, Spectrum 경유 TCP 소켓를 Workerで에서 처리.&lt;br&gt;
Durable Objects에서 Containers의 TCP포트로 전송하고, Container 상의 gRPC 서버를 양방향 스트리밍을 다룸.&lt;br&gt;
&lt;code&gt;@connectrpc/connect&lt;/code&gt;와 gRPC-web 변환에 의해, Worker만으로 Unary/Server Streaming의 gRPC API를 다룰 수 있음.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;web-streams-api&quot;&gt;Web Streams API 입문 ― 기본개념부터 실전까지&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://zenn.dev/cybozu_frontend/articles/web-streams-api-guide&quot; title=&quot;Web Streams API 입문 ― 기본개념부터 실전까지&quot;&gt;zenn.dev/cybozu_frontend/articles/web-streams-api-guide&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;article&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;nodejs&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;stream&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Web Streams API 기본 개념부터 사용 방법에 대하여.&lt;br&gt;
&lt;code&gt;ReadableStream&lt;/code&gt;/&lt;code&gt;TransformStream&lt;/code&gt;/&lt;code&gt;WritableStream&lt;/code&gt; 역할에 대한 설명. tee나 Backpressure, Node.js Stream와 차이도 다룸.&lt;/p&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;소프트웨어, 도구, 라이브러리&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;octanejs-octane-octane-is-an-incredibly-efficient-react-replacement-ui-library-with-improved-developer-ergonomics&quot;&gt;octanejs/octane: Octane is an incredibly efficient React replacement UI library with improved developer ergonomics&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/octanejs/octane&quot; title=&quot;octanejs/octane: Octane is an incredibly efficient React replacement UI library with improved developer ergonomics&quot;&gt;github.com/octanejs/octane&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;React&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Inferno 후속 React의 Hooks이나 Suspense에 가까운 모델을 컴파일해서 동작하는 UI 라이브러리.&lt;br&gt;
Virtual DOM 사용하지 않고, TSX/TSRX 지원, Vite/Rspack/Rsbuild 대상 플러그인 제공.&lt;br&gt;
조건적으로 Hooks이나 의존 배열업싱 &lt;code&gt;useEffect&lt;/code&gt;, SSR/Streaming SSR 대응.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;vercel-labs-scriptc-typescript-to-native-compiler&quot;&gt;vercel-labs/scriptc: TypeScript-to-Native Compiler&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/vercel-labs/scriptc&quot; title=&quot;vercel-labs/scriptc: TypeScript-to-Native Compiler&quot;&gt;github.com/vercel-labs/scriptc&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;TypeScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;compiler&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Tools&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;TypeScript를 네이티브 실행파일로 컴파일하는 컴파일러.&lt;br&gt;
TypeScript Compiler API로 자료형 체크하고, Typed IR의 LLVM/C백엔드에서 네이티브 코드로 컴파일함.&lt;br&gt;
quickjs-ng를 사용해서 동적 JS 라이브러리를 다루는 구조를 가지고 있음.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://scriptc.dev/limitations&quot; title=&quot;Limitations | scriptc&quot;&gt;Limitations | scriptc&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2 id=&quot;tanstack-charts-a-tiny-typescript-visualization-grammar-for-responsive-accessible-server-rendered-charts-powered-by-granular-d3-primitives&quot;&gt;TanStack/charts: A tiny TypeScript visualization grammar for responsive, accessible, server-rendered charts—powered by granular D3 primitives.&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/TanStack/charts&quot; title=&quot;TanStack/charts: A tiny TypeScript visualization grammar for responsive, accessible, server-rendered charts—powered by granular D3 primitives.&quot;&gt;github.com/TanStack/charts&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;SVG&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;graphic&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;D3 기반 차트 라이브러리.&lt;br&gt;
&lt;code&gt;defineChart&lt;/code&gt;으로 프레임워크 비의존 차트 정의를 작성, React/Vue/Solid/Svelte의 어댑터로 렌더링 가능.&lt;br&gt;
SVG SSR, Canvas 렌더러, 접근성, 반응형 레이아웃 다루는 런타임도 포함.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://tanstack.com/charts/latest&quot; title=&quot;TanStack Charts&quot;&gt;TanStack Charts&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
</description>
        <pubDate>Wed, 05 Aug 2026 09:23:21 +0900</pubDate>
        <link>https://jser.info/ko/2026/08/05/next16.3-npm-scan-vlt1.0/</link>
        <guid isPermaLink="true">https://jser.info/ko/2026/08/05/next16.3-npm-scan-vlt1.0/</guid>
        
        <category>Next.js</category>
        
        <category>React</category>
        
        <category>npm</category>
        
        <category>security</category>
        
        <category>vlt</category>
        
        
        <category>JSer</category>
        
      </item>
    
      <item>
        <title>2026-07-17: TypeScript 7.0, npm 12, Next.js 보안 출시 방침</title>
        <description>&lt;p&gt;JSer.info #776 - TypeScript 7.0가 출시되었다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://devblogs.microsoft.com/typescript/announcing-typescript-7-0/&quot;&gt;Announcing TypeScript 7.0 - TypeScript&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Go으로 이식된 네이티브 &lt;code&gt;tsc&lt;/code&gt;가, npm의 &lt;code&gt;typescript&lt;/code&gt; 패키지로 공개된다.&lt;br&gt;
TypeScript 6.0에서는 비권장이 된 &lt;code&gt;target: es5&lt;/code&gt;이나 &lt;code&gt;baseUrl&lt;/code&gt; 같은 설정이 에러가 된다.&lt;br&gt;
또한, 병렬처리 제어하는 &lt;code&gt;--checkers&lt;/code&gt;/&lt;code&gt;--builders&lt;/code&gt;/&lt;code&gt;--singleThreaded&lt;/code&gt; 옵션, 재작성된 &lt;code&gt;--watch&lt;/code&gt;, LSP를 사용한 데이터 대응도 포함된다.&lt;br&gt;
한 편으로는, 프로그램 대상 API는 아직 공개되어 있지 않아, Vue 같은 TypeScript API 이용하는 도구는 TypeScript 7.0를 이용할 수 없는 경우도 있다.&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;npm 12가 출시되었다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.blog/changelog/2026-07-08-npm-install-time-security-and-gat-bypass2fa-deprecation/&quot;&gt;npm install-time security and GAT bypass2fa deprecation - GitHub Changelog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/npm/cli/releases/tag/v12.0.0&quot;&gt;Release v12.0.0 · npm/cli&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;npm 12에는, 의존 패키지 라이프사이클 스크립트를 제어하는 &lt;code&gt;allowScripts&lt;/code&gt;가 기본적으로 무효화된다.&lt;br&gt;
또한, Git이나 리모트 URL에서 의존 패키지를 제어하는 &lt;code&gt;--allow-git&lt;/code&gt;/&lt;code&gt;--allow-remote&lt;/code&gt;도 기본적으로 &lt;code&gt;none&lt;/code&gt;이 된다.&lt;br&gt;
2026년 8월 초부터, 2FA를 회피하는 Granular Access Token은 계정이나 패키지 관리 조작에서 2FA를 생략할 수 없으며, 2027년 1월부터는 같은 토큰을 사용해 직접 publish도 할 수없게 할 예정.&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;Next.js가 보안 출시의 새로운 방침을 발표했다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://nextjs.org/blog/next-security-release-program&quot;&gt;Next.js Security Release and Our Next Patch Release | Next.js&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;앞으로는 월 1회 정도, 대상 버전과 취약성 최대심각도를 사전 고지하고, 보안 출시 공개할 방침이다.&lt;br&gt;
시급성이 높거나 실제 악용되고 있는 취약성은, 이전처럼 임시 패치로 공개한다.&lt;br&gt;
2026년 7월 20일 공개를 목표로하고, Next.js 16.2와 15.5 대상 패치가 될 예정이다.&lt;/p&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;헤드라인&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;release-pnpm-11-10-pnpm-pnpm&quot;&gt;Release pnpm 11.10 · pnpm/pnpm&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/pnpm/pnpm/releases/tag/v11.10.0&quot; title=&quot;Release pnpm 11.10 · pnpm/pnpm&quot;&gt;github.com/pnpm/pnpm/releases/tag/v11.10.0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;pnpm&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;pnpm v11.10.0 출시.&lt;br&gt;
&lt;code&gt;pnpm issues&lt;/code&gt;/&lt;code&gt;pnpm prefix&lt;/code&gt; 명령어 추가, &lt;code&gt;pnpm_config__auth&lt;/code&gt; 환경 변수에서 &lt;code&gt;_auth&lt;/code&gt; 설정 지원.&lt;br&gt;
&lt;code&gt;pnpm self-update&lt;/code&gt;의 pnpm v12 대응.&lt;br&gt;
&lt;code&gt;pnpm up -r &amp;lt;pkg&amp;gt;&lt;/code&gt;가 관계없는 패키지를 업데이트하는 문제, &lt;code&gt;pnpm pack-app&lt;/code&gt; 경로 검증 수정.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;chrome-150-release-notes-chrome-for-developers&quot;&gt;Chrome 150  |  Release notes  |  Chrome for Developers&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://developer.chrome.com/release-notes/150&quot; title=&quot;Chrome 150  |  Release notes  |  Chrome for Developers&quot;&gt;developer.chrome.com/release-notes/150&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;Chrome&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;browser&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;css&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;DOM&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;WebGPU&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Chrome 150 출시.&lt;br&gt;
CSS &lt;code&gt;AccentColor&lt;/code&gt;/&lt;code&gt;AccentColorText&lt;/code&gt;, &lt;code&gt;polygon()&lt;/code&gt; 둥금 지정, &lt;code&gt;text-fit&lt;/code&gt; 지원.&lt;br&gt;
CSS &lt;code&gt;url()&lt;/code&gt;의 &lt;code&gt;cross-origin()&lt;/code&gt;/&lt;code&gt;integrity()&lt;/code&gt;/&lt;code&gt;referrer-policy()&lt;/code&gt; 수식자 지원.&lt;br&gt;
DOM에는 &lt;code&gt;focusgroup&lt;/code&gt; 속성, &lt;code&gt;popover=hint&lt;/code&gt; 동작 변경.&lt;br&gt;
&lt;code&gt;Element&lt;/code&gt;/&lt;code&gt;Window&lt;/code&gt; 스크롤 메서드가 Promise를 반환하도록 변경.&lt;br&gt;
WebGPU의 &lt;code&gt;setImmediateData()&lt;/code&gt;, PWA의 origin migration.&lt;br&gt;
Origin Trial으로 &lt;code&gt;performance.getSpeculations()&lt;/code&gt; 추가&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.chrome.com/blog/new-in-chrome-150?hl=en&quot; title=&quot;New in Chrome 150  |  Blog  |  Chrome for Developers&quot;&gt;New in Chrome 150  |  Blog  |  Chrome for Developers&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2 id=&quot;electron-43-electron&quot;&gt;Electron 43 | Electron&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://www.electronjs.org/blog/electron-43-0&quot; title=&quot;Electron 43 | Electron&quot;&gt;www.electronjs.org/blog/electron-43-0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;Electron&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Electron 43 출시.&lt;br&gt;
Chromium 150.0.7871.46, Node.js v24.17.0, V8 15.0으로 업데이트.&lt;br&gt;
파일 다운로드할 때 파일 다이얼로그가, 기존에 Downloads 폴더를 열도록 변경.&lt;br&gt;
&lt;code&gt;WebContents&lt;/code&gt; 인스턴스의 &lt;code&gt;clone()&lt;/code&gt;, macOS의 &lt;code&gt;Notification.remove()&lt;/code&gt;/&lt;code&gt;Notification.removeAll()&lt;/code&gt; 추가.&lt;br&gt;
&lt;code&gt;globalShortcut.setSuspended()&lt;/code&gt; 추가, startup snapshot이나 V8 bytecode cache에 의한 기동 성능 개선&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;announcing-typescript-7-0-typescript&quot;&gt;Announcing TypeScript 7.0 - TypeScript&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://devblogs.microsoft.com/typescript/announcing-typescript-7-0/&quot; title=&quot;Announcing TypeScript 7.0 - TypeScript&quot;&gt;devblogs.microsoft.com/typescript/announcing-typescript-7-0/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;TypeScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;TypeScript 7.0 출시.&lt;br&gt;
Go로 이식된 네이티브 &lt;code&gt;tsc&lt;/code&gt;를 npm의 &lt;code&gt;typescript&lt;/code&gt; 패키지로 공개.&lt;br&gt;
TypeScript 6.0에서 비권장이 된 &lt;code&gt;target: es5&lt;/code&gt;/&lt;code&gt;baseUrl&lt;/code&gt;는 에러가 된다.&lt;br&gt;
&lt;code&gt;--checkers&lt;/code&gt;/&lt;code&gt;--builders&lt;/code&gt;/&lt;code&gt;--singleThreaded&lt;/code&gt;에 의한 병렬 처리 제어 추가.&lt;br&gt;
&lt;code&gt;--watch&lt;/code&gt;를 Parcel의 file watcher를 본래대로 돌림, LSP 대응 포함.&lt;br&gt;
한 편으로 프로그램 대상 API는 공개되지 않아, Vue 같이 TypeScript API를 사용하는 도구로 아직 동작하지 경우도 있음.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;better-auth-is-joining-vercel&quot;&gt;Better Auth is joining Vercel&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://better-auth.com/blog/better-auth-joins-vercel&quot; title=&quot;Better Auth is joining Vercel&quot;&gt;better-auth.com/blog/better-auth-joins-vercel&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;TypeScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;vercel&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;news&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;nodejs&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Vercel가 Better Auth 매수 발표.&lt;br&gt;
Better Auth는 TypeScript로 만든 인증 라이브러리, MIT 라이센스 개발 체제 유지할 예정.&lt;br&gt;
Agent Auth Protocol 개발을 지속하고, Vercel Connect나 Eve으로 에이전트 ID 관리를 포함할 예정.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://vercel.com/blog/vercel-acquires-better-auth&quot; title=&quot;Vercel acquires Better Auth to accelerate open source auth - Vercel&quot;&gt;Vercel acquires Better Auth to accelerate open source auth - Vercel&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2 id=&quot;npm-install-time-security-and-gat-bypass2fa-deprecation-github-changelog&quot;&gt;npm install-time security and GAT bypass2fa deprecation - GitHub Changelog&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.blog/changelog/2026-07-08-npm-install-time-security-and-gat-bypass2fa-deprecation/&quot; title=&quot;npm install-time security and GAT bypass2fa deprecation - GitHub Changelog&quot;&gt;github.blog/changelog/2026-07-08-npm-install-time-security-and-gat-bypass2fa-deprecation/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;npm&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;security&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;npm v12 출시.&lt;br&gt;
&lt;code&gt;allowScripts&lt;/code&gt;가 기본적으로 무효화되어, &lt;code&gt;--allow-git&lt;/code&gt;/&lt;code&gt;--allow-remote&lt;/code&gt;은 기본적으로 &lt;code&gt;none&lt;/code&gt;가 됨.&lt;br&gt;
2FA를 회피하는 Granular Access Token은, 2026년 8월부터 계정이나 패키지 관리 조작에 2FA를 생략할 수 없음.&lt;br&gt;
2027년 1월부터는 2FA를 회피하는 Granular Access Token를 사용해 직접 publish도 할 수없게 될 예정.&lt;br&gt;
자동 공개에는 Trusted Publishing, 또한 사람에 의한 2FA 인증하는 Staged Publishing 으로 이행을 권장&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/npm/cli/releases/tag/v12.0.0&quot; title=&quot;Release v12.0.0 · npm/cli&quot;&gt;Release v12.0.0 · npm/cli&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2 id=&quot;node-js-node-js-26-5-0-current&quot;&gt;Node.js — Node.js 26.5.0 (Current)&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://nodejs.org/en/blog/release/v26.5.0&quot; title=&quot;Node.js — Node.js 26.5.0 (Current)&quot;&gt;nodejs.org/en/blog/release/v26.5.0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;nodejs&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Node.js v26.5.0 출시.&lt;br&gt;
&lt;code&gt;Blob.prototype.textStream()&lt;/code&gt;, &lt;code&gt;--experimental-import-text&lt;/code&gt;, &lt;code&gt;ReadableStreamTee&lt;/code&gt; 추가.&lt;br&gt;
&lt;code&gt;perf_hooks.monitorEventLoopDelay&lt;/code&gt;에 &lt;code&gt;samplePerIteration&lt;/code&gt; 옵션 추가&lt;/p&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;읽을거리&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;your-worker-can-now-have-its-own-cache-in-front-of-it&quot;&gt;Your Worker can now have its own cache in front of it&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://blog.cloudflare.com/workers-cache/&quot; title=&quot;Your Worker can now have its own cache in front of it&quot;&gt;blog.cloudflare.com/workers-cache/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;cloudflare&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;article&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Cloudflare Workers Cache에 대하여.&lt;br&gt;
Worker 사전 캐시를, &lt;code&gt;wrangler.jsonc&lt;/code&gt;의 &lt;code&gt;cache.enabled&lt;/code&gt;에서 유효화 가능.&lt;br&gt;
&lt;code&gt;Cache-Control&lt;/code&gt;/&lt;code&gt;Vary&lt;/code&gt;에 대응, &lt;code&gt;ctx.cache.purge()&lt;/code&gt;에서 태그나 경로에 의한 삭제가 가능.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;next-js-security-release-and-our-next-patch-release-next-js&quot;&gt;Next.js Security Release and Our Next Patch Release | Next.js&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://nextjs.org/blog/next-security-release-program&quot; title=&quot;Next.js Security Release and Our Next Patch Release | Next.js&quot;&gt;nextjs.org/blog/next-security-release-program&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;Next.js&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;security&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;article&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Next.js 보안 출시 방침에 대하여.&lt;br&gt;
앞으로는 월 1회 정도 사전 고지하고 출시를 공개, 긴급할 때는 기존처럼 임시 패치를 공개할 예정.&lt;br&gt;
2026년 7월 20일 공개를 목표하고, Next.js 16.2와 15.5 대상 패치 예정됨.&lt;/p&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;웹사이트, 서비스, 문서&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;blume-fast-ai-ready-markdown-first-docs&quot;&gt;Blume — fast, AI-ready, markdown-first docs&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://useblume.dev/&quot; title=&quot;Blume — fast, AI-ready, markdown-first docs&quot;&gt;useblume.dev/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;Tools&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Markdown&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;document&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;AI&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Markdown/MDX에서 문서 사이트를 생성하는 도구.&lt;br&gt;
&lt;code&gt;blume init&lt;/code&gt;/&lt;code&gt;blume dev&lt;/code&gt;/&lt;code&gt;blume build&lt;/code&gt; 같은 CLI 제공, Astro와 Vite를 사용해 정적 HTML를 생성.&lt;br&gt;
검색, OpenAPI/AsyncAPI에서 생성된 API 레퍼런스, &lt;code&gt;llms.txt&lt;/code&gt;, MCP 서버, Ask AI 기능을 갖음.&lt;/p&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;소프트웨어, 도구, 라이브러리&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;samchon-ttsc-a-typescript-go-toolchain-for-compiler-powered-plugins-and-type-safe-execution-500x-faster-lint-integrated-into-compiler&quot;&gt;samchon/ttsc: A `typescript-go` toolchain for compiler-powered plugins and type-safe execution + 500x faster lint integrated into compiler&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/samchon/ttsc&quot; title=&quot;samchon/ttsc: A \`typescript-go\` toolchain for compiler-powered plugins and type-safe execution + 500x faster lint integrated into compiler&quot;&gt;github.com/samchon/ttsc&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;TypeScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Tools&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;nodejs&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;lint&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;typescript-go&lt;/code&gt;를 사용한 TypeScript 대상 툴체인.&lt;br&gt;
빌드, 자료형 체크 실행, Lint, Format 도구를 제공.&lt;br&gt;
Vite/Rollup/esbuild/webpack/Rspack/Next.js 대상 플러그인도 제공.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;themackabu-ant-javascript-for-s-a-tiny-runtime-with-big-ambitions&quot;&gt;theMackabu/ant: javascript for 🐜&amp;#039;s, a tiny runtime with big ambitions&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/theMackabu/ant&quot; title=&quot;theMackabu/ant: javascript for 🐜&amp;amp;#039;s, a tiny runtime with big ambitions&quot;&gt;github.com/theMackabu/ant&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;C&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;TypeScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Tools&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;C로 구현된 작은 JavaScript Runtime.&lt;br&gt;
WinterTC Minimum Common API 호환 구현을 목표로 하고 있음.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;wordgard&quot;&gt;Wordgard&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://wordgard.net/&quot; title=&quot;Wordgard&quot;&gt;wordgard.net/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;TypeScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;editor&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;리치 텍스트 에디터 대상 JavaScript 라이브러리.&lt;br&gt;
ProseMirror/CodeMirror 제작자가 개발, 스키마 기반 문서 구조와, CodeMirror 스러운 확장 기능을 갖음.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://marijnhaverbeke.nl/blog/wordgard-0.1.html&quot; title=&quot;Wordgard Release 0.1&quot;&gt;Wordgard Release 0.1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2 id=&quot;inokawa-virtua-a-zero-config-fast-and-small-3kb-virtual-list-and-grid-component-for-react-vue-solid-and-svelte&quot;&gt;inokawa/virtua: A zero-config, fast and small (~3kB) virtual list (and grid) component for React, Vue, Solid and Svelte.&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/inokawa/virtua/&quot; title=&quot;inokawa/virtua: A zero-config, fast and small (~3kB) virtual list (and grid) component for React, Vue, Solid and Svelte.&quot;&gt;github.com/inokawa/virtua/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;React&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Vue&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Solid&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Svelte&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;React/Vue/Solid/Svelte 대상 Virtual Scroll 컴포넌트 라이브러리.&lt;br&gt;
&lt;code&gt;VList&lt;/code&gt;/&lt;code&gt;Virtualizer&lt;/code&gt;/&lt;code&gt;WindowVirtualizer&lt;/code&gt;/&lt;code&gt;experimental_VGrid&lt;/code&gt;를 제공, 가변 크기, 횡 스크롤, Window 스크롤, 그리드 게시에 대응.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;unjs-httpxy-a-full-featured-http-and-websocket-proxy-for-node-js&quot;&gt;unjs/httpxy: 🔀 A Full-Featured HTTP and WebSocket Proxy for Node.js&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/unjs/httpxy&quot; title=&quot;unjs/httpxy: 🔀 A Full-Featured HTTP and WebSocket Proxy for Node.js&quot;&gt;github.com/unjs/httpxy&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;nodejs&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;HTTP&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;WebSocket&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Node.js 대상 HTTP/WebSocket 프록시 라이브러리.&lt;br&gt;
Fetch API 호환 &lt;code&gt;proxyFetch&lt;/code&gt;, WebSocket Upgrade 대상 &lt;code&gt;proxyUpgrade&lt;/code&gt;, &lt;code&gt;createProxyServer&lt;/code&gt; 제공.&lt;br&gt;
Unix Socket, &lt;code&gt;changeOrigin&lt;/code&gt;, &lt;code&gt;xfwd&lt;/code&gt;, 리다이렉트나 Cookie 갈아 끼우기에도 대응.&lt;/p&gt;

&lt;hr&gt;
</description>
        <pubDate>Fri, 17 Jul 2026 00:07:18 +0900</pubDate>
        <link>https://jser.info/ko/2026/07/17/typescript-7.0-npm-12-next.js/</link>
        <guid isPermaLink="true">https://jser.info/ko/2026/07/17/typescript-7.0-npm-12-next.js/</guid>
        
        <category>TypeScript</category>
        
        <category>nodejs</category>
        
        <category>npm</category>
        
        <category>Next.js</category>
        
        <category>security</category>
        
        
        <category>JSer</category>
        
      </item>
    
      <item>
        <title>2026-07-05: Deno 2.9, Vite 8.1, ES2026</title>
        <description>&lt;p&gt;JSer.info #775 - Deno 2.9가 출시되었다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://deno.com/blog/v2.9&quot;&gt;Deno 2.9 | Deno&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;실험적 기능으로, Web 기술을 사용한 데스크탑 애플리케이션을 작성하는 &lt;code&gt;deno desktop&lt;/code&gt;가 추가되었다.&lt;br&gt;
&lt;code&gt;deno install&lt;/code&gt;은, npm/pnpm/yarn/Bun의 lockfile를 읽어 &lt;code&gt;deno.lock&lt;/code&gt;를 작성할 수 있도록 한다.&lt;br&gt;
또한, npm 패키지가 새로운 버전을 바로 설치하지 않는 &lt;code&gt;min-release-age=24h&lt;/code&gt;가 기본 유효화되었다.&lt;br&gt;
그 외로는, &lt;code&gt;deno test&lt;/code&gt;의 &lt;code&gt;--changed&lt;/code&gt;/&lt;code&gt;--retry&lt;/code&gt;/&lt;code&gt;--shard&lt;/code&gt;, &lt;code&gt;deno compile&lt;/code&gt;의 &lt;code&gt;--include-as-is&lt;/code&gt;/&lt;code&gt;--bundle&lt;/code&gt;/&lt;code&gt;--watch&lt;/code&gt;, &lt;code&gt;deno fmt&lt;/code&gt;의 설정 항목이 추가되었다.&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;Vite 8.1가 출시되었다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://vite.dev/blog/announcing-vite8-1&quot;&gt;Vite 8.1 is out! | Vite&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;실험적 기능으로, 개발할 때 번들한 파일 배포하는 &lt;code&gt;--experimental-bundle&lt;/code&gt;가 추가되었다.&lt;br&gt;
또한, 출력 청크의 해시 변경이 연쇄적 문제를 피하기 위한 Chunk Import Map가 추가되었다.&lt;br&gt;
Wasm ESM integration 지원, &lt;code&gt;import.meta.glob&lt;/code&gt;의 &lt;code&gt;caseSensitive&lt;/code&gt; 옵션, &lt;code&gt;html.additionalAssetSources&lt;/code&gt;에 의한 HTML 내 에셋 검출 설정도 추가되었다.&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;ECMAScript 2026가 출시되었다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/tc39/ecma262/releases/tag/es2026&quot;&gt;Release ES2026 · tc39/ecma262&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;2026년 6월 30일에 Ecma에서 승인된 정식 출시.&lt;br&gt;
&lt;code&gt;Array.fromAsync&lt;/code&gt;, &lt;code&gt;Uint8Array.prototype.toBase64()&lt;/code&gt;/&lt;code&gt;Uint8Array.fromBase64()&lt;/code&gt;, &lt;code&gt;Iterator.concat()&lt;/code&gt;가 추가되었다.&lt;br&gt;
또한, &lt;code&gt;Math.sumPrecise()&lt;/code&gt;, &lt;code&gt;Error.isError()&lt;/code&gt;, &lt;code&gt;Map.prototype.getOrInsert()&lt;/code&gt;도 추가되었다.&lt;/p&gt;

&lt;hr&gt;

&lt;h3 class=&quot;inline-support&quot;&gt;To support JSer.info&lt;/h3&gt;

&lt;ul&gt;
    &lt;li&gt;😘 Recommend JSer.info to your friends!&lt;/li&gt;
    &lt;li&gt;❤️ Support &lt;a href=&quot;https://github.com/sponsors/azu&quot;&gt;@azu on GitHub Sponsors&lt;/a&gt;/&lt;a
            href=&quot;https://jser.info/sponsor/&quot;&gt;JSer.info Sponsors&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;🐦 Follow &lt;a href=&quot;https://twitter.com/jser_info&quot;&gt;@jser_info on X(Twitter)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;헤드라인&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;node-js-node-js-24-18-0-lts&quot;&gt;Node.js — Node.js 24.18.0 (LTS)&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://nodejs.org/en/blog/release/v24.18.0&quot; title=&quot;Node.js — Node.js 24.18.0 (LTS)&quot;&gt;nodejs.org/en/blog/release/v24.18.0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;nodejs&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Node.js v24.18.0 (LTS) 출시.&lt;br&gt;
&lt;code&gt;Buffer.poolSize&lt;/code&gt; 기본값을 64 KiB으로 변경, Web Crypto에 TurboSHAKE/KangarooTwelve 추가.&lt;br&gt;
&lt;code&gt;http.writeInformation()&lt;/code&gt; 출시, &lt;code&gt;crypto.diffieHellman()&lt;/code&gt;으로 키 데이터를 받을 수 있도록 변경&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;pnpm-11-9-pnpm&quot;&gt;pnpm 11.9 | pnpm&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://pnpm.io/blog/releases/11.9&quot; title=&quot;pnpm 11.9 | pnpm&quot;&gt;pnpm.io/blog/releases/11.9&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;pnpm&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;pnpm 11.9 출시.&lt;br&gt;
registry가 checksum를 제공하지 않는 tarball의 &lt;code&gt;integrity&lt;/code&gt;를 계산해 lockfile으로 기록할 수 있도록 변경.&lt;br&gt;
&lt;code&gt;pnpm sbom --exclude-peers&lt;/code&gt; 출시, &lt;code&gt;pnpm audit --fix&lt;/code&gt;의 &lt;code&gt;minimumReleaseAgeExclude&lt;/code&gt; 출력 형식을 수정&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;announcing-rspack-2-1-rspack&quot;&gt;Announcing Rspack 2.1 - Rspack&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://rspack.rs/blog/announcing-2-1&quot; title=&quot;Announcing Rspack 2.1 - Rspack&quot;&gt;rspack.rs/blog/announcing-2-1&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;rspack&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Rspack 2.1 출시.&lt;br&gt;
&lt;code&gt;builtin:swc-loader&lt;/code&gt;에서의 React Compiler 지원, &lt;code&gt;import.meta.glob&lt;/code&gt; 지원 추가.&lt;br&gt;
&lt;code&gt;CircularCheckRspackPlugin&lt;/code&gt; 출시, TypeScript 7를 사용한 자료형 체크 지원.&lt;br&gt;
&lt;code&gt;module.parser.javascript.createRequire&lt;/code&gt;, &lt;code&gt;css/global&lt;/code&gt;, &lt;code&gt;experiments.sourceImport&lt;/code&gt; 추가.&lt;br&gt;
&lt;code&gt;cache.maxAge&lt;/code&gt;/&lt;code&gt;cache.maxVersions&lt;/code&gt;으로 영속성 캐시 자동 삭제 추가.&lt;br&gt;
&lt;code&gt;experiments.pureFunctions&lt;/code&gt;를 production mode으로 기본 유효화, 의존 관계의 Tree Shaking 개선&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;deno-2-9-deno&quot;&gt;Deno 2.9 | Deno&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://deno.com/blog/v2.9&quot; title=&quot;Deno 2.9 | Deno&quot;&gt;deno.com/blog/v2.9&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;deno&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Deno v2.9 출시.&lt;br&gt;
실험적 기능으로 &lt;code&gt;deno desktop&lt;/code&gt; 출시, &lt;code&gt;deno install&lt;/code&gt;의 npm/pnpm/yarn/Bun lockfile 읽기 대응.&lt;br&gt;
&lt;code&gt;deno list&lt;/code&gt;/&lt;code&gt;deno link&lt;/code&gt;/&lt;code&gt;deno unlink&lt;/code&gt; 출시.&lt;br&gt;
&lt;code&gt;min-release-age=24h&lt;/code&gt; 기본적으로 유효화, &lt;code&gt;trust-policy=no-downgrade&lt;/code&gt; 출시.&lt;br&gt;
&lt;code&gt;deno test&lt;/code&gt;に&lt;code&gt;--changed&lt;/code&gt;/&lt;code&gt;--retry&lt;/code&gt;/&lt;code&gt;--shard&lt;/code&gt; 플래그 추가.&lt;br&gt;
&lt;code&gt;deno compile&lt;/code&gt;に&lt;code&gt;--include-as-is&lt;/code&gt;/&lt;code&gt;--bundle&lt;/code&gt;/&lt;code&gt;--watch&lt;/code&gt; 추가.&lt;br&gt;
&lt;code&gt;deno fmt&lt;/code&gt;に&lt;code&gt;sortNamedImports&lt;/code&gt;/&lt;code&gt;json.trailingCommas&lt;/code&gt;/&lt;code&gt;.editorconfig&lt;/code&gt; 대응 추가.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;prettier-3-9-major-parser-upgrades-and-formatting-improvements-prettier&quot;&gt;Prettier 3.9: Major parser upgrades and Formatting improvements · Prettier&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://prettier.io/blog/2026/06/27/3.9.0&quot; title=&quot;Prettier 3.9: Major parser upgrades and Formatting improvements · Prettier&quot;&gt;prettier.io/blog/2026/06/27/3.9.0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Tools&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;TypeScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;css&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Prettier 3.9 출시.&lt;br&gt;
Markdown 파서를 &lt;code&gt;micromark&lt;/code&gt; v4, YAML 파서를 &lt;code&gt;yaml&lt;/code&gt; v2으로 변경.&lt;br&gt;
GraphQL.js v17의 구문과 Rust 기반의 Flow 파서를 지원.&lt;br&gt;
&lt;code&gt;import ... assert&lt;/code&gt; 구문 지원를 삭제, &lt;code&gt;--no-semi&lt;/code&gt;에서의 주석 처리 개선&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;vite-8-1-is-out-vite&quot;&gt;Vite 8.1 is out! | Vite&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://vite.dev/blog/announcing-vite8-1&quot; title=&quot;Vite 8.1 is out! | Vite&quot;&gt;vite.dev/blog/announcing-vite8-1&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;vite&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Vite 8.1 출시.&lt;br&gt;
실험적 기능으로 &lt;code&gt;--experimental-bundle&lt;/code&gt; 추가, 개발할 때 번들도 배포 대응, Chunk Import Map 출시.&lt;br&gt;
Wasm ESM integration, &lt;code&gt;import.meta.glob&lt;/code&gt;의 &lt;code&gt;caseSensitive&lt;/code&gt; 옵션 추가.&lt;br&gt;
&lt;code&gt;html.additionalAssetSources&lt;/code&gt;에서 HTML 내의 독자 요소나 속성에서 에셋 검출을 설정하도록.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;release-1-0-0-hunvreus-basecoat&quot;&gt;Release 1.0.0 🎉 · hunvreus/basecoat&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/hunvreus/basecoat/releases/tag/1.0.0&quot; title=&quot;Release 1.0.0 🎉 · hunvreus/basecoat&quot;&gt;github.com/hunvreus/basecoat/releases/tag/1.0.0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;css&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;HTML&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Basecoat 1.0.0 출시.&lt;br&gt;
Tailwind CSS와 HTML/CSS/JavaScript으로 구현한 shadcn/ui 호환의 컴포넌트 라이브러리.&lt;br&gt;
React나 Radix 실행할 때 의존없이, CDN/npm/템플릿에서 이용 가능.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;next-js-16-3-instant-navigations-next-js&quot;&gt;Next.js 16.3: Instant Navigations | Next.js&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://nextjs.org/blog/next-16-3-instant-navigations&quot; title=&quot;Next.js 16.3: Instant Navigations | Next.js&quot;&gt;nextjs.org/blog/next-16-3-instant-navigations&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;Next.js&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;React&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Next.js 16.3 Preview 출시.&lt;br&gt;
Next.js 16.3으로 실험적 기능으로 추가되는 Instant Navigations에 대하여.&lt;br&gt;
&lt;code&gt;cacheComponents&lt;/code&gt;와 &lt;code&gt;partialPrefetching&lt;/code&gt; 옵션에 의해, Instant route 째로 한 번 캐시가 만들어지고, 페이지네이션이 즉각적으로 게시되는 구조에 대하여&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;release-es2026-tc39-ecma262&quot;&gt;Release ES2026 · tc39/ecma262&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/tc39/ecma262/releases/tag/es2026&quot; title=&quot;Release ES2026 · tc39/ecma262&quot;&gt;github.com/tc39/ecma262/releases/tag/es2026&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;ECMAScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;ECMAScript 2026 출시.&lt;br&gt;
2026년 6월 30일 Ecma에서 승인된 정식 출시.&lt;br&gt;
&lt;code&gt;Array.fromAsync&lt;/code&gt;, &lt;code&gt;Uint8Array.prototype.toBase64()&lt;/code&gt;/&lt;code&gt;Uint8Array.fromBase64()&lt;/code&gt; 추가.&lt;br&gt;
&lt;code&gt;Iterator.concat()&lt;/code&gt;, &lt;code&gt;Math.sumPrecise()&lt;/code&gt;, &lt;code&gt;Error.isError()&lt;/code&gt;, &lt;code&gt;Map.prototype.getOrInsert()&lt;/code&gt; 출시.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;announcing-vite-beta-voidzero&quot;&gt;Announcing Vite+ Beta | VoidZero&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://voidzero.dev/posts/announcing-vite-plus-beta&quot; title=&quot;Announcing Vite+ Beta | VoidZero&quot;&gt;voidzero.dev/posts/announcing-vite-plus-beta&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;vite&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;CLI&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Tools&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Vite+ Beta 출시.&lt;br&gt;
&lt;code&gt;vp run&lt;/code&gt; 캐시 개선, &lt;code&gt;vp migrate&lt;/code&gt; 대응 범위 개선, proxy와 커스텀 CA에 대응한 HTTP 처리 출시.&lt;/p&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;읽을거리&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;flow-has-been-ported-to-rust-flow&quot;&gt;Flow has been ported to Rust | Flow&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://medium.com/flow-type/flows-ocaml-to-rust-port-78b95bcf49e9&quot; title=&quot;Flow has been ported to Rust | Flow&quot;&gt;medium.com/flow-type/flows-ocaml-to-rust-port-78b95bcf49e9&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;flowtype&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Rust&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;article&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Flow를 OCaml에서 Rust으로 이식한 이야기.&lt;br&gt;
AI를 사용해 행 째로 이식, OCaml와 Rust 차이, 이식 후의 빌드나 테스트에 대해 작성되어 있음. 코드 프리즈없이 이식함.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;introducing-the-safari-mcp-server-for-web-developers-webkit&quot;&gt;Introducing the Safari MCP server for web developers | WebKit&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://webkit.org/blog/18136/introducing-the-safari-mcp-server-for-web-developers/&quot; title=&quot;Introducing the Safari MCP server for web developers | WebKit&quot;&gt;webkit.org/blog/18136/introducing-the-safari-mcp-server-for-web-developers/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;safari&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;browser&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;MCP&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Tools&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;article&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Safari Technology Preview 247에 추가된 Safari MCP server에 대하여.&lt;br&gt;
AI Agent에서 Safari 탭을 조작, DOM/네트워크/콘솔/스크린샷을 참조 가능.&lt;br&gt;
&lt;code&gt;safaridriver --mcp&lt;/code&gt;으로 기동, &lt;code&gt;navigate_to_url&lt;/code&gt;/&lt;code&gt;evaluate_javascript&lt;/code&gt;/&lt;code&gt;screenshot&lt;/code&gt; 도구를 제공.&lt;/p&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;웹사이트, 서비스, 문서&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;introduction-pnpm&quot;&gt;Introduction | pnpm&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://pnpm.io/pnpr/&quot; title=&quot;Introduction | pnpm&quot;&gt;pnpm.io/pnpr/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;pnpm&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Rust&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;npm&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;server&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;document&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;npm registry server인 pnpr에 대하여.&lt;br&gt;
Rust으로 작성되어, npm registry protocol에 대응하기 위해 pnpm/npm/yarn에서 이용 가능.&lt;br&gt;
lockfile의 resolve를 서버 측에서 일어나고 round trip를 적게함.&lt;br&gt;
PolyForm Shield License으로 공개됨.&lt;/p&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;소프트웨어, 도구, 라이브러리&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;facebook-astryx-an-open-source-design-system-thats-fully-customizable-and-agent-ready&quot;&gt;facebook/astryx: An open source design system that&amp;#039;s fully customizable and agent ready&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/facebook/astryx&quot; title=&quot;facebook/astryx: An open source design system that&amp;amp;#039;s fully customizable and agent ready&quot;&gt;github.com/facebook/astryx&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;React&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Design&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Tools&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;React와 StyleX에서 구현된 Meta 디자인 시스템.&lt;br&gt;
&lt;code&gt;@astryxdesign/core&lt;/code&gt;으로 컴포넌트와 테마를 제공, &lt;code&gt;@astryxdesign/cli&lt;/code&gt;으로 템플릿/scaffolding/테마/codemod를 다룸.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;jayu-rev-dep-dependency-analysis-and-optimization-toolkit-for-modern-javascript-and-typescript-codebases-enforce-dependency-graph-hygiene-and-remove-unused-code-with-a-very-fast-cli&quot;&gt;jayu/rev-dep: Dependency analysis and optimization toolkit for modern JavaScript and TypeScript codebases. Enforce dependency graph hygiene and remove unused code with a very fast CLI.&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/jayu/rev-dep&quot; title=&quot;jayu/rev-dep: Dependency analysis and optimization toolkit for modern JavaScript and TypeScript codebases. Enforce dependency graph hygiene and remove unused code with a very fast CLI.&quot;&gt;github.com/jayu/rev-dep&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;TypeScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;CLI&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Tools&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;JavaScript/TypeScript 대상 의존관계 해석 CLI 도구.&lt;br&gt;
&lt;code&gt;rev-dep config run&lt;/code&gt;으로 모듈의 의존관계의 순환참조나 데드코드 등 체크할 수 있음.&lt;/p&gt;

&lt;hr&gt;
</description>
        <pubDate>Sun, 05 Jul 2026 12:58:38 +0900</pubDate>
        <link>https://jser.info/ko/2026/07/05/deno-2.9-vite-8.1-es2026/</link>
        <guid isPermaLink="true">https://jser.info/ko/2026/07/05/deno-2.9-vite-8.1-es2026/</guid>
        
        <category>Tools</category>
        
        <category>pnpm</category>
        
        <category>Rust</category>
        
        <category>React</category>
        
        <category>TypeScript</category>
        
        
        <category>JSer</category>
        
      </item>
    
      <item>
        <title>2026-06-22: TypeScript 7.0 RC, Babel 8.0.0, React Router v8</title>
        <description>&lt;p&gt;JSer.info #774 - TypeScript 7.0 RC가 출시되었다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://devblogs.microsoft.com/typescript/announcing-typescript-7-0-rc/&quot;&gt;Announcing TypeScript 7.0 RC - TypeScript&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Go언어로 이식된 컴파일이 &lt;code&gt;typescript@rc&lt;/code&gt;으로 공개되어, 기존 &lt;code&gt;@typescript/typescript6&lt;/code&gt;와 병용할 수 있도록 되었다.&lt;br&gt;
&lt;code&gt;--checkers&lt;/code&gt;/&lt;code&gt;--builders&lt;/code&gt;/&lt;code&gt;--singleThreaded&lt;/code&gt; 옵션이나, &lt;code&gt;--watch&lt;/code&gt; 개선 추가가 있다.&lt;br&gt;
또한, &lt;code&gt;strict&lt;/code&gt;/&lt;code&gt;module&lt;/code&gt;/&lt;code&gt;target&lt;/code&gt; 기본값 변경 및 &lt;code&gt;target: es5&lt;/code&gt;이나 &lt;code&gt;baseUrl&lt;/code&gt; 옵션 삭제도 있다.&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;Babel 8.0.0가 출시되었다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://babeljs.io/blog/2026/06/16/8.0.0/&quot;&gt;Releasing Babel 8 today: ESM-only, drop ES5 default, and a smooth migration path · Babel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://babeljs.io/docs/v8-migration-api/&quot;&gt;Upgrade to Babel 8 (API) · Babel&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ESM만 배포하도록 되어, Node.js 24 이후 버전이 필수가 되는 파괴적 변경도 포함된다.&lt;br&gt;
&lt;code&gt;@babel/preset-env&lt;/code&gt;는 기본적으로 ES5으로 컴파일하지 않게 되었으며, Browserslist 기본 설정（ES2023）를 타겟하도록 변경되었다.&lt;br&gt;
&lt;code&gt;loose&lt;/code&gt;/&lt;code&gt;spec&lt;/code&gt; 옵션은 삭제되고, &lt;code&gt;assumptions&lt;/code&gt;으로 이행이 권장된다.&lt;br&gt;
&lt;code&gt;corejs&lt;/code&gt;/&lt;code&gt;useBuiltIns&lt;/code&gt; 옵션도 삭제되어, 대신 &lt;code&gt;babel-plugin-polyfill-corejs3&lt;/code&gt; 플러그인 이용이 권장된다.&lt;br&gt;
Babel 7은 2027년 6월까지 보안 지원이 계속된다.&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;React Router v8가 출시되었다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://remix.run/blog/react-router-v8&quot;&gt;React Router v8 | Remix&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Node.js 22.22.0 이상 / React 19.2.7 이상 / Vite 7 이상이 최소 지원 버전이 되어, ESM만 배포하도록 변경되었다.&lt;br&gt;
&lt;code&gt;future.v8_middleware&lt;/code&gt;/&lt;code&gt;future.v8_viteEnvironmentApi&lt;/code&gt;의 Future Flag가 기본적으로 유효화되었다.&lt;br&gt;
&lt;code&gt;react-router-dom&lt;/code&gt;, meta API의 &lt;code&gt;data&lt;/code&gt; 인수, &lt;code&gt;@react-router/dev/vite/cloudflare&lt;/code&gt; 삭제되었다.&lt;br&gt;
React Router v6와 Remix v2는 EOL가 되어, 이후는 React Router v7에 보안 업데이트 갱신만 제공된다.&lt;/p&gt;

&lt;hr&gt;

&lt;h3 class=&quot;inline-support&quot;&gt;To support JSer.info&lt;/h3&gt;

&lt;ul&gt;
    &lt;li&gt;😘 Recommend JSer.info to your friends!&lt;/li&gt;
    &lt;li&gt;❤️ Support &lt;a href=&quot;https://github.com/sponsors/azu&quot;&gt;@azu on GitHub Sponsors&lt;/a&gt;/&lt;a
            href=&quot;https://jser.info/sponsor/&quot;&gt;JSer.info Sponsors&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;🐦 Follow &lt;a href=&quot;https://twitter.com/jser_info&quot;&gt;@jser_info on X(Twitter)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;헤드라인&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;dependabot-version-updates-now-support-the-deno-ecosystem-github-changelog&quot;&gt;Dependabot version updates now support the Deno ecosystem - GitHub Changelog&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.blog/changelog/2026-06-09-dependabot-version-updates-now-support-the-deno-ecosystem/&quot; title=&quot;Dependabot version updates now support the Deno ecosystem - GitHub Changelog&quot;&gt;github.blog/changelog/2026-06-09-dependabot-version-updates-now-support-the-deno-ecosystem/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;GitHub&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;deno&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;npm&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;package&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Actions&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;news&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Dependabot의 version updates가 Deno 에코시스템에 대응함.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;bytecode-alliance-wasi-0-3-launched&quot;&gt;Bytecode Alliance — WASI 0.3 Launched&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://bytecodealliance.org/articles/WASI-0.3&quot; title=&quot;Bytecode Alliance — WASI 0.3 Launched&quot;&gt;bytecodealliance.org/articles/WASI-0.3&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;WebAssembly&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;WASI 0.3 출시.&lt;br&gt;
WebAssembly Component Model 네이티브 기능으로 비동기처리가 내장되어, &lt;code&gt;stream&amp;lt;T&amp;gt;&lt;/code&gt;/&lt;code&gt;future&amp;lt;T&amp;gt;&lt;/code&gt;/&lt;code&gt;async&lt;/code&gt;가 Canonical ABI에 추가됨.&lt;br&gt;
WASI 0.2에는 각 컴퓨넌트 독자 이벤트 루프를 갖을 필요가 있었지만, 호스트가 공유 이벤트 루프를 관리하는 설계로 변경했다.&lt;br&gt;
앞으로 &lt;code&gt;start-foo&lt;/code&gt;/&lt;code&gt;finish-foo&lt;/code&gt;/&lt;code&gt;subscribe&lt;/code&gt; 패턴이 &lt;code&gt;async func&lt;/code&gt;으로 변환되고, 스트리밍 에러 핸들링도 독립된 &lt;code&gt;future&lt;/code&gt;로 다루도록 되었다.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;biome-v2-5-500-lint-rules-plugin-code-fix-and-cross-file-linting-biome&quot;&gt;Biome v2.5—500 Lint Rules, Plugin Code Fix, and Cross-File Linting | Biome&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://biomejs.dev/blog/biome-v2-5/&quot; title=&quot;Biome v2.5—500 Lint Rules, Plugin Code Fix, and Cross-File Linting | Biome&quot;&gt;biomejs.dev/blog/biome-v2-5/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;biome&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ESLint&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;css&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Biome v2.5 출시.&lt;br&gt;
CSS 클래스를 파일 횡단으로 해석하는 Lint 규칙 &lt;code&gt;noUndeclaredClasses&lt;/code&gt;/&lt;code&gt;noUnusedClasses&lt;/code&gt; 추가.&lt;br&gt;
GritQL 플러그인이 파일 경로째로 적용 및&lt;code&gt;=&amp;gt;&lt;/code&gt;로 인한 코드픽스를 지원.&lt;br&gt;
Formatter에 &lt;code&gt;delimiterSpacing&lt;/code&gt; 옵션 추가, &lt;code&gt;lint&lt;/code&gt;/&lt;code&gt;format&lt;/code&gt;/&lt;code&gt;check&lt;/code&gt;에서 &lt;code&gt;--watch&lt;/code&gt; 지원.&lt;br&gt;
Language Server의 go-to-definition 대응, AI Agent 대상 &lt;code&gt;concise&lt;/code&gt; 레포트 추가.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;releasing-babel-8-today-esm-only-drop-es5-default-and-a-smooth-migration-path-babel&quot;&gt;Releasing Babel 8 today: ESM-only, drop ES5 default, and a smooth migration path · Babel&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://babeljs.io/blog/2026/06/16/8.0.0/&quot; title=&quot;Releasing Babel 8 today: ESM-only, drop ES5 default, and a smooth migration path · Babel&quot;&gt;babeljs.io/blog/2026/06/16/8.0.0/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;babel&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ECMAScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;nodejs&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;polyfill&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Babel 8.0.0 출시.&lt;br&gt;
ESM만 배포하도록 되어, Node.js 24 이후 버전이 필수가 되는 파괴적 변경도 포함.&lt;br&gt;
&lt;code&gt;@babel/preset-env&lt;/code&gt;가 기본적으로 ES5으로 컴파일하지 않게 되었고, Browserslist 기본적 설정이（ES2023）를 타겟하도록 변경.&lt;br&gt;
&lt;code&gt;loose&lt;/code&gt;/&lt;code&gt;spec&lt;/code&gt; 옵션을 삭제, &lt;code&gt;assumptions&lt;/code&gt;으로 이행을 권장.&lt;br&gt;
&lt;code&gt;corejs&lt;/code&gt;/&lt;code&gt;useBuiltIns&lt;/code&gt; 옵션 삭제, &lt;code&gt;babel-plugin-polyfill-corejs3&lt;/code&gt; 플러그인 이용을 권장.&lt;br&gt;
모든 패키지에서 TypeScript 자료형 정의를 추가. 많은 AST 변경을 포함.&lt;br&gt;
Babel 7은 2027년 6월까지 보안 지원를 지속.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://babeljs.io/docs/v8-migration-api/&quot; title=&quot;Upgrade to Babel 8 (API) · Babel&quot;&gt;Upgrade to Babel 8 (API) · Babel&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2 id=&quot;pnpm-11-7-pnpm&quot;&gt;pnpm 11.7 | pnpm&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://pnpm.io/blog/releases/11.7&quot; title=&quot;pnpm 11.7 | pnpm&quot;&gt;pnpm.io/blog/releases/11.7&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;pnpm&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;pnpm 11.7 출시.&lt;br&gt;
읽기 전용 파일 시스템 상에 스토어에 대응하는 &lt;code&gt;frozenStore&lt;/code&gt; 설정, 동일 레지스트리 URL 하에 스코프별 인증 토큰 지정에 대응.&lt;br&gt;
의존 관계 해결을 Rust 구현 Pacquet 사용&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;release-v1-61-0-microsoft-playwright&quot;&gt;Release v1.61.0 · microsoft/playwright&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/microsoft/playwright/releases/tag/v1.61.0&quot; title=&quot;Release v1.61.0 · microsoft/playwright&quot;&gt;github.com/microsoft/playwright/releases/tag/v1.61.0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;playwright&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;testing&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;playwright v1.61.0 출시.&lt;br&gt;
&lt;code&gt;browserContext.credentials&lt;/code&gt;에서 WebAuthn의 passkey 다루도록.&lt;br&gt;
&lt;code&gt;page.localStorage&lt;/code&gt;/&lt;code&gt;page.sessionStorage&lt;/code&gt;으로 Web Storage를 읽는 API 추가.&lt;br&gt;
&lt;code&gt;apiResponse.securityDetails()&lt;/code&gt;/&lt;code&gt;apiResponse.serverAddr()&lt;/code&gt;, &lt;code&gt;artifactsDir&lt;/code&gt; 옵션, &lt;code&gt;-G&lt;/code&gt; 옵션 추가.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;react-router-v8-remix&quot;&gt;React Router v8 | Remix&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://remix.run/blog/react-router-v8&quot; title=&quot;React Router v8 | Remix&quot;&gt;remix.run/blog/react-router-v8&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;React&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;React Router v8 출시.&lt;br&gt;
Node.js 22.22.0+/React 19.2.7+/Vite 7+가 최소 지원 버전이 되어, ESM으로만 배포하도록 변경.&lt;br&gt;
&lt;code&gt;future.v8_middleware&lt;/code&gt;/&lt;code&gt;future.v8_viteEnvironmentApi&lt;/code&gt; Future Flag 기본값으로.&lt;br&gt;
&lt;code&gt;react-router-dom&lt;/code&gt;, meta API의 &lt;code&gt;data&lt;/code&gt; 인수, &lt;code&gt;@react-router/dev/vite/cloudflare&lt;/code&gt;를 삭제.&lt;br&gt;
React Router v6와 Remix v2는 EOL가 되어, 앞으로는 React Router v7으로 보안 갱신만 제공.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;news-from-wwdc26-webkit-in-safari-27-beta-webkit&quot;&gt;News from WWDC26: WebKit in Safari 27 beta | WebKit&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://webkit.org/blog/17967/news-from-wwdc26-webkit-in-safari-27-beta/&quot; title=&quot;News from WWDC26: WebKit in Safari 27 beta | WebKit&quot;&gt;webkit.org/blog/17967/news-from-wwdc26-webkit-in-safari-27-beta/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;safari&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;browser&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;css&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Safari 27 beta 출시.&lt;br&gt;
CSS의 &lt;code&gt;appearance: base-select&lt;/code&gt;로 &lt;code&gt;&amp;lt;select&amp;gt;&lt;/code&gt; 커스터마이즈, Scroll Anchoring, &lt;code&gt;position-anchor: normal&lt;/code&gt; 추가.&lt;br&gt;
JavaScript는 Top-Level Await 문제를 수정, WebAssembly JSPI를 지원.&lt;br&gt;
Web API는 Service Worker Static Routing API, &lt;code&gt;ReadableStream.from()&lt;/code&gt;, Stream의 &lt;code&gt;postMessage()&lt;/code&gt; 전송 지원.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;announcing-typescript-7-0-rc-typescript&quot;&gt;Announcing TypeScript 7.0 RC - TypeScript&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://devblogs.microsoft.com/typescript/announcing-typescript-7-0-rc/&quot; title=&quot;Announcing TypeScript 7.0 RC - TypeScript&quot;&gt;devblogs.microsoft.com/typescript/announcing-typescript-7-0-rc/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;TypeScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;go&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;TypeScript 7.0 RC 출시.&lt;br&gt;
Go로 이식된 컴파일러 &lt;code&gt;typescript@rc&lt;/code&gt; 공개, &lt;code&gt;@typescript/typescript6&lt;/code&gt;와 병용에 대응.&lt;br&gt;
&lt;code&gt;--checkers&lt;/code&gt;/&lt;code&gt;--builders&lt;/code&gt;/&lt;code&gt;--singleThreaded&lt;/code&gt;, &lt;code&gt;--watch&lt;/code&gt; 개선을 추가.&lt;br&gt;
&lt;code&gt;strict&lt;/code&gt;/&lt;code&gt;module&lt;/code&gt;/&lt;code&gt;target&lt;/code&gt; 기본값으로 변경, &lt;code&gt;target: es5&lt;/code&gt;/&lt;code&gt;baseUrl&lt;/code&gt; 삭제 포함&lt;/p&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;읽을거리&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;upcoming-breaking-changes-for-npm-v12-github-changelog&quot;&gt;Upcoming breaking changes for npm v12 - GitHub Changelog&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.blog/changelog/2026-06-09-upcoming-breaking-changes-for-npm-v12/&quot; title=&quot;Upcoming breaking changes for npm v12 - GitHub Changelog&quot;&gt;github.blog/changelog/2026-06-09-upcoming-breaking-changes-for-npm-v12/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;npm&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;security&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;CLI&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;article&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;npm v12 예정된 파괴적 변경 해설. 2026년 7월 출시 예정 npm v12에는, 공급망 공격 대책으로, 라이프사이클 스크립트 실행이 변경됨.&lt;br&gt;
preinstall/install/postinstall 스크립트가 기본적으로 실행되지 않으며, &lt;code&gt;npm approve-scripts&lt;/code&gt;로 인증된 패키지만이 실행함.&lt;br&gt;
&lt;code&gt;--allow-git&lt;/code&gt;/&lt;code&gt;--allow-remote&lt;/code&gt; 기본값이 &lt;code&gt;none&lt;/code&gt;이 되어, Git 의존이나 원격 URL에서 의존 해결이 명시적으로 허용되지 않게 됨.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;why-pnpm-no-longer-expands-environment-variables-in-a-repositorys-npmrc-pnpm&quot;&gt;Why pnpm no longer expands environment variables in a repository&amp;#039;s .npmrc | pnpm&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://pnpm.io/blog/2026/06/11/env-variables-in-repository-npmrc&quot; title=&quot;Why pnpm no longer expands environment variables in a repository&amp;amp;#039;s .npmrc | pnpm&quot;&gt;pnpm.io/blog/2026/06/11/env-variables-in-repository-npmrc&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;pnpm&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;security&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;npm&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;article&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;악의적인 레포지토리에서 &lt;code&gt;.npmrc&lt;/code&gt;를 사용해 환경 변수를 훔치는 문제의 대책으로, pnpm가 레포지토리 관리 &lt;code&gt;.npmrc&lt;/code&gt;으로 환경 변수 전개하지 않도록한 경위 해설.&lt;br&gt;
v10.34.2/v11.5.3 이후, 레포지토리 내의 &lt;code&gt;.npmrc&lt;/code&gt;나 &lt;code&gt;pnpm-workspace.yaml&lt;/code&gt; 인증 정보 레포지토리 URL에 포함하는 &lt;code&gt;${...}&lt;/code&gt;는 전개되지 않도록 됨.&lt;br&gt;
유저 레벨 &lt;code&gt;~/.npmrc&lt;/code&gt;이나  &lt;code&gt;PNPM_CONFIG_NPMRC_AUTH_FILE&lt;/code&gt;으로 지정되는 &lt;code&gt;.npmrc&lt;/code&gt;에는 계속해서 전개 가능.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pnpm/pnpm/security/advisories/GHSA-3qhv-2rgh-x77r&quot; title=&quot;CAND-PNPM-122: Repository config can expand victim environment secrets into registry requests before scripts run · Advisory · pnpm/pnpm&quot;&gt;CAND-PNPM-122: Repository config can expand victim environment secrets into registry requests before scripts run · Advisory · pnpm/pnpm&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2 id=&quot;introducing-the-mdn-mcp-server&quot;&gt;Introducing the MDN MCP server&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://developer.mozilla.org/en-US/blog/introducing-mdn-mcp-server/&quot; title=&quot;Introducing the MDN MCP server&quot;&gt;developer.mozilla.org/en-US/blog/introducing-mdn-mcp-server/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;mdn&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;MCP&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;document&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;browser&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;AI&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;article&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;MDN MCP server에 대하여&lt;br&gt;
MCP 경유로 MDN 검색, 문서, 브라우저 호환성 데이터를 LLM이나 에디터에서 참조 가능.&lt;br&gt;
실험적인 서버로, 이용할 떄 쿼리 데이터를 보존하는 것에 대해 해설됨.&lt;/p&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;웹사이트, 서비스, 문서&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;introducing-eve-vercel&quot;&gt;Introducing eve - Vercel&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://vercel.com/blog/introducing-eve&quot; title=&quot;Introducing eve - Vercel&quot;&gt;vercel.com/blog/introducing-eve&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;AI&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;TypeScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Vercel에 의한 AI 에이전트 프레임워크 Eve에 대하여.&lt;br&gt;
&lt;code&gt;instructions.md&lt;/code&gt;/&lt;code&gt;agent.ts&lt;/code&gt;/&lt;code&gt;tools/&lt;/code&gt; 디렉토리 구성으로 에이전트를 정의하는 프레임워크.&lt;br&gt;
Durable execution, Sandbox, Human-in-the-loop approvals, Subagents, Evals 다룸&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/vercel/eve&quot; title=&quot;vercel/eve: The Framework for Building Agents&quot;&gt;vercel/eve: The Framework for Building Agents&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2 id=&quot;rust-roadmap-issue-11633-pnpm-pnpm&quot;&gt;Rust Roadmap · Issue #11633 · pnpm/pnpm&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/pnpm/pnpm/issues/11633&quot; title=&quot;Rust Roadmap · Issue #11633 · pnpm/pnpm&quot;&gt;github.com/pnpm/pnpm/issues/11633&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;pnpm&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Rust&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;issue&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;pnpm의 Rust 구현 Pacquet 로드맵 Issue.&lt;br&gt;
resolve를 필요로 하지않는 &lt;code&gt;pacquet install --frozen-lockfile&lt;/code&gt;에서 대응, resolveの 대응 진행.&lt;br&gt;
또한 &lt;code&gt;pnpm&lt;/code&gt;에는 &lt;code&gt;install-backend=pacquet&lt;/code&gt; 설정 통합해 갈 예정.&lt;/p&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;소프트웨어, 도구, 라이브러리&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;nubjs-nub-the-all-in-one-node-js-toolkit&quot;&gt;nubjs/nub: The all-in-one Node.js toolkit&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/nubjs/nub&quot; title=&quot;nubjs/nub: The all-in-one Node.js toolkit&quot;&gt;github.com/nubjs/nub&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;nodejs&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Rust&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Tools&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Node.js 대상 Rust제 툴킷.&lt;br&gt;
TypeScript 파일이나 &lt;code&gt;package.json&lt;/code&gt; 스크립트 실행, &lt;code&gt;nub install&lt;/code&gt;로 의존관계 설치나 패키지 관리, &lt;code&gt;nub node&lt;/code&gt;로 Node.js 버전 관리 가능.&lt;br&gt;
Runtime으로 Polyfill 포함하는 Node.js를 이용, 내부적으로 Rust로 작성된 패키지 매니저 aube와 OXC를 이용.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://nubjs.com/&quot; title=&quot;Nub — an all-in-one toolkit for Node.js&quot;&gt;Nub — an all-in-one toolkit for Node.js&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
</description>
        <pubDate>Mon, 22 Jun 2026 22:14:54 +0900</pubDate>
        <link>https://jser.info/ko/2026/06/22/typescript-7.0-rc-babel-8.0.0-react-router-v8/</link>
        <guid isPermaLink="true">https://jser.info/ko/2026/06/22/typescript-7.0-rc-babel-8.0.0-react-router-v8/</guid>
        
        <category>TypeScript</category>
        
        <category>babel</category>
        
        <category>React</category>
        
        <category>ECMAScript</category>
        
        <category>nodejs</category>
        
        
        <category>JSer</category>
        
      </item>
    
      <item>
        <title>2026-06-09: pnpm 11.5, Node.js 26.3.0, Cloudflare가 VoidZero 매수</title>
        <description>&lt;p&gt;JSer.info #773 - pnpm 11.5 출시되었다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pnpm/pnpm/releases/tag/v11.5.0&quot;&gt;Release pnpm 11.5 · pnpm/pnpm&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;새로운 기능으로, &lt;code&gt;nodeLinker: hoisted&lt;/code&gt; 대상 hoist 범위 제한하는 &lt;code&gt;hoistingLimits&lt;/code&gt; 설정이 추가되었다.&lt;br&gt;
또한, 대화 프롬프트 개선과 Staged publishing 대응 개선이 포함된다.&lt;br&gt;
수정으로, 얼라이어스 설치할 때 peer 문제 해결, &lt;code&gt;pnpm dist-tag&lt;/code&gt;에서 2FA 대응, &lt;code&gt;minimumReleaseAgeExclude&lt;/code&gt; 다루기, 리모트 HTTPS tarball 의존의 &lt;code&gt;integrity&lt;/code&gt; 필드 보존이 포함된다.&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;Node.js v26.3.0 (Current) 출시되었다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://nodejs.org/en/blog/release/v26.3.0&quot;&gt;Node.js — Node.js 26.3.0 (Current)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;Buffer.poolSize&lt;/code&gt; 기본 값이 64 KiB으로 변경되었다.&lt;br&gt;
새로운 기능으로, HTTP 헤더 값 검증을 커스터마이즈하는 &lt;code&gt;httpValidation&lt;/code&gt; 옵션, 권한 파기하는 &lt;code&gt;permission.drop&lt;/code&gt;이 추가된다.&lt;br&gt;
또한, Staged Publishing를 지원하는 npm 11.16.0으로 업데이트 된다.&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;Cloudflare가 Vite나 Oxc 개발하는 VoidZero 매수를 발표했다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.cloudflare.com/voidzero-joins-cloudflare/&quot;&gt;VoidZero is joining Cloudflare&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://voidzero.dev/posts/voidzero-cloudflare&quot;&gt;VoidZero is Joining Cloudflare | VoidZero&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Vite, Vitest, Rolldown, Oxc, Vite+ 각 프로젝트는 MIT 라이센스 오픈소스인 채로 개발 지속할 예정이다.&lt;br&gt;
VoidZero가 개발하고 있는 Vite 배포 플랫폼 &lt;a href=&quot;https://void.cloud/&quot;&gt;Void&lt;/a&gt;은, 오픈소스인로 공개될 예정.&lt;/p&gt;

&lt;hr&gt;

&lt;h3 class=&quot;inline-support&quot;&gt;To support JSer.info&lt;/h3&gt;

&lt;ul&gt;
    &lt;li&gt;😘 Recommend JSer.info to your friends!&lt;/li&gt;
    &lt;li&gt;❤️ Support &lt;a href=&quot;https://github.com/sponsors/azu&quot;&gt;@azu on GitHub Sponsors&lt;/a&gt;/&lt;a
            href=&quot;https://jser.info/sponsor/&quot;&gt;JSer.info Sponsors&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;🐦 Follow &lt;a href=&quot;https://twitter.com/jser_info&quot;&gt;@jser_info on X(Twitter)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;헤드라인&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;release-pnpm-11-5-pnpm-pnpm&quot;&gt;Release pnpm 11.5 · pnpm/pnpm&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/pnpm/pnpm/releases/tag/v11.5.0&quot; title=&quot;Release pnpm 11.5 · pnpm/pnpm&quot;&gt;github.com/pnpm/pnpm/releases/tag/v11.5.0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;pnpm&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;pnpm 11.5 출시.&lt;br&gt;
&lt;code&gt;nodeLinker: hoisted&lt;/code&gt; 대상으로 hoist 범위 제한하는 &lt;code&gt;hoistingLimits&lt;/code&gt; 설정 추가.&lt;br&gt;
대화 프롬프트 개선, Staged publishing 대응 개선.&lt;br&gt;
얼라이어스 설치할 때 peer 문제 해결, &lt;code&gt;pnpm dist-tag&lt;/code&gt; 2FA 대응 수정.&lt;br&gt;
&lt;code&gt;minimumReleaseAgeExclude&lt;/code&gt; 다룸, 리모트 HTTPS tarball 의존의 &lt;code&gt;integrity&lt;/code&gt; 필드 보존 수정.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;node-js-node-js-26-3-0-current&quot;&gt;Node.js — Node.js 26.3.0 (Current)&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://nodejs.org/en/blog/release/v26.3.0&quot; title=&quot;Node.js — Node.js 26.3.0 (Current)&quot;&gt;nodejs.org/en/blog/release/v26.3.0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;nodejs&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Node.js v26.3.0 (Current) 출시.&lt;br&gt;
&lt;code&gt;Buffer.poolSize&lt;/code&gt; 기본 64 KiB으로 변경.&lt;br&gt;
HTTP 헤더 값을 검증하는 커스터마이즈하는 &lt;code&gt;httpValidation&lt;/code&gt; 옵션, 권한을 파기하는 &lt;code&gt;permission.drop&lt;/code&gt; 추가.&lt;br&gt;
Staged Publishing 지원하는 npm 11.16.0으로 업데이트&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;node-js-node-js-24-16-0-lts&quot;&gt;Node.js — Node.js 24.16.0 (LTS)&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://nodejs.org/en/blog/release/v24.16.0&quot; title=&quot;Node.js — Node.js 24.16.0 (LTS)&quot;&gt;nodejs.org/en/blog/release/v24.16.0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;nodejs&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Node.js v24.16.0 (LTS) 출시.&lt;br&gt;
&lt;code&gt;crypto.randomUUIDv7()&lt;/code&gt;으로 UUID v7 생성, &lt;code&gt;fs.stat()&lt;/code&gt;으로 &lt;code&gt;signal&lt;/code&gt; 옵션, &lt;code&gt;util.styleText()&lt;/code&gt;의 16진수 컬러 대응 추가.&lt;br&gt;
Test Runner에 테스트 실행 순서 랜덤화 맟 &lt;code&gt;AbortSignal.timeout&lt;/code&gt; 대상 목 타이머 추가, &lt;code&gt;IncomingMessage&lt;/code&gt;에 &lt;code&gt;req.signal&lt;/code&gt; 추가&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;chrome-150-beta-blog-chrome-for-developers&quot;&gt;Chrome 150 beta  |  Blog  |  Chrome for Developers&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://developer.chrome.com/blog/chrome-150-beta?hl=en&quot; title=&quot;Chrome 150 beta  |  Blog  |  Chrome for Developers&quot;&gt;developer.chrome.com/blog/chrome-150-beta?hl&amp;#x3D;en&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;Chrome&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;browser&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;css&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Chrome 150 beta 출시.&lt;br&gt;
CSS의 &lt;code&gt;text-fit&lt;/code&gt; 프로퍼티, &lt;code&gt;background-clip: border-area&lt;/code&gt;에 의한 그라데이션 보더, &lt;code&gt;polygon()&lt;/code&gt; 둥근 모서리 지원, &lt;code&gt;focusgroup&lt;/code&gt; 속성 지원.&lt;br&gt;
IndexedDB 구현이 LevelDB에서 SQLite으로 변경, &lt;code&gt;data:&lt;/code&gt; URL의 Worker에 고유한 opaque origin 할당하도록 변경.&lt;br&gt;
&lt;code&gt;SpeechRecognition&lt;/code&gt;에 &lt;code&gt;quality&lt;/code&gt; 옵션 추가&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;voidzero-is-joining-cloudflare&quot;&gt;VoidZero is joining Cloudflare&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://blog.cloudflare.com/voidzero-joins-cloudflare/&quot; title=&quot;VoidZero is joining Cloudflare&quot;&gt;blog.cloudflare.com/voidzero-joins-cloudflare/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;cloudflare&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;vite&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;news&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Cloudflare가 Vite나 Oxc 등을 개발하는 VoidZero 매수.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://voidzero.dev/posts/voidzero-cloudflare&quot; title=&quot;VoidZero is Joining Cloudflare | VoidZero&quot;&gt;VoidZero is Joining Cloudflare | VoidZero&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;읽을거리&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;declarative-partial-updates-blog-chrome-for-developers&quot;&gt;Declarative partial updates  |  Blog  |  Chrome for Developers&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://developer.chrome.com/blog/declarative-partial-updates&quot; title=&quot;Declarative partial updates  |  Blog  |  Chrome for Developers&quot;&gt;developer.chrome.com/blog/declarative-partial-updates&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;Chrome&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;HTML&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;WebAPI&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;DOM&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;stream&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;article&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;HTMLを宣言的に部分更新するためのAPIとして提案中の&lt;code&gt;&amp;lt;template for&amp;gt;&lt;/code&gt;について.&lt;br&gt;
&lt;code&gt;&amp;lt;template&amp;gt;&lt;/code&gt;要素と&lt;code&gt;&amp;lt;?marker&amp;gt;&lt;/code&gt;などの処理命令プレースホルダーを使い, ドキュメント内の順序に依存せずコンテンツを配信するOut-of-order streamingについて.&lt;br&gt;
合わせて利用する&lt;code&gt;setHTML()&lt;/code&gt;/&lt;code&gt;replaceWithHTML()&lt;/code&gt;/&lt;code&gt;streamHTML()&lt;/code&gt;などのJavaScript APIについても解説している.&lt;br&gt;
Chrome 148以降のフラグで利用でき, polyfillも実装されている.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;on-rendering-diffs-pierre-computer-company&quot;&gt;On Rendering Diffs :: Pierre Computer Company&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://pierre.computer/writing/on-rendering-diffs&quot; title=&quot;On Rendering Diffs :: Pierre Computer Company&quot;&gt;pierre.computer/writing/on-rendering-diffs&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;performance&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;diff&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;article&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Pierre가 개발한 diff 렌더링 라이브러리 &lt;code&gt;@pierre/diffs&lt;/code&gt; 구현 해설.&lt;br&gt;
거대한 코드 차분을 브라우저에서 효율적으로 렌더링 하기 위해서, 가상화나 메모리 최적화 수법 작성.&lt;br&gt;
sticky positioning을 반전하여 스크롤 중 공백 게시를 막는 방법, 행 범위 렌더링에서 이진 탐색, DOM 요소를 재이용함으로 GC를 피하도록 제작.&lt;br&gt;
또한, Shiki에 의한 구문 하이라이트 Worker 쓰레드화와 LRU 캐시에 대해서도 다뤄짐.&lt;/p&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;슬라이드, 영상&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;tskaigi-2026&quot;&gt;TSKaigi 2026 발표 자료 모음&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://zenn.dev/yasse/articles/a7240304af804c&quot; title=&quot;TSKaigi 2026 발표 자료 모음&quot;&gt;zenn.dev/yasse/articles/a7240304af804c&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;TypeScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Conference&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;slide&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;TSKaigi 2026 스라이드 자료 모음.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://2026.tskaigi.org/&quot; title=&quot;TSKaigi 2026&quot;&gt;TSKaigi 2026&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2 id=&quot;oxlint-speaker-deck&quot;&gt;Oxlint 커스텀 규칙 현황 - Speaker Deck&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://speakerdeck.com/syumai/oxlint-custom-rule&quot; title=&quot;Oxlint 커스텀 규칙 현황 - Speaker Deck&quot;&gt;speakerdeck.com/syumai/oxlint-custom-rule&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;ESLint&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Rust&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;slide&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Oxlint 커스텀 규칙에 대한 슬라이드.&lt;br&gt;
Rust로 만든 Linter인 Oxlint에서, ESLint 호환 커스텀 규칙을 추가 가능한 JS Plugin（알파판）기능과 성능에 대해 소개.&lt;br&gt;
기존의 ESLint 플러그인 동작이나 tsgolint, corsa-bind에 대해서도 다룸&lt;/p&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;웹사이트, 서비스, 문서&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;sorakumo001-satoru&quot;&gt;SoraKumo001/satoru&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/SoraKumo001/satoru&quot; title=&quot;SoraKumo001/satoru&quot;&gt;github.com/SoraKumo001/satoru&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;WebAssembly&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;HTML&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;css&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;SVG&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;PDF&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Image&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;WebAssembly에서 동작하는 HTML를 SVG/PNG/WebP/PDF으로 변환하는 렌더링 엔진.&lt;br&gt;
렌더링에 Skia, 레이아웃에 litehtml 이용, CSS를 포함한 HTML을 이미지로 변환.&lt;br&gt;
TTF/OTF/WOFF2 포맷이나 Google Fonts 해결, PNG/JPEG/WebP/AVIF 이미지를 지원.&lt;br&gt;
Node.js/브라우저/Cloudflare Workers에서 실행 가능.&lt;/p&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;소프트웨어, 도구, 라이브러리&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;microsoft-webwright-a-simple-swe-style-browser-agent-framework-that-achieves-sota-results-on-long-horizon-web-tasks&quot;&gt;microsoft/Webwright: A simple SWE style browser agent framework that achieves SOTA results on long horizon web tasks.&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/microsoft/Webwright&quot; title=&quot;microsoft/Webwright: A simple SWE style browser agent framework that achieves SOTA results on long horizon web tasks.&quot;&gt;github.com/microsoft/Webwright&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;AI&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;browser&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;automation&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;playwright&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Microsoft에서 만든 브라우저 에이전트 프레임워크.&lt;br&gt;
에이전트가 개별 브라우저 조작을 예측하는 것이 아닌 Playwright를 사용해 Python 코드 생성하고 실행.&lt;br&gt;
반복적인 에이전트 규칙과 디렉토리를 workspace으로 다뤄 매번 사용하고 버리면서 세션을 진행하는 방식&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;pionxzh-wakaru-javascript-decompiler-for-modern-frontend&quot;&gt;pionxzh/wakaru: 🔪📦 Javascript decompiler for modern frontend&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/pionxzh/wakaru&quot; title=&quot;pionxzh/wakaru: 🔪📦 Javascript decompiler for modern frontend&quot;&gt;github.com/pionxzh/wakaru&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Tools&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;webpack&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;bundler&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;esbuild&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;minify이나 bundle된 JavaScript를 읽기 쉬운 코드로 복원하는 컴파일러.&lt;br&gt;
webpack/esbuild/Bun/Browserify 같은 bundle을 모듈 단위로 분해하는 unpacker 제공.&lt;br&gt;
Terser/Babel/SWC 트랜스파일/압축된 코드를 복원하는 unminify나, 소스맵을 지원.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;shakya47-pip-it-up-pop-any-ui-component-into-a-floating-picture-in-picture-window-zero-config-auto-sizing-framework-agnostic-core&quot;&gt;Shakya47/pip-it-up: Pop any UI component into a floating Picture-in-Picture window. Zero config. Auto-sizing. Framework-agnostic core.&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/Shakya47/pip-it-up&quot; title=&quot;Shakya47/pip-it-up: Pop any UI component into a floating Picture-in-Picture window. Zero config. Auto-sizing. Framework-agnostic core.&quot;&gt;github.com/Shakya47/pip-it-up&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;React&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Document Picture-in-Picture API를 다루는 React 컴포넌트 라이브러리.&lt;br&gt;
리사이즈나 스타일 동기에 대응.&lt;/p&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;도서&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;part-4a58ea7c7ae20ff7&quot;&gt;기본부터 탄탄히 배우는 프론트엔드 테스트 입문 | 기술평론사&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://gihyo.jp/book/2026/978-4-297-15704-3&quot; title=&quot;기본부터 탄탄히 배우는 프론트엔드 테스트 입문 | 기술평론사&quot;&gt;gihyo.jp/book/2026/978-4-297-15704-3&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;test&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;book&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;2026년 6월 26일 발매.&lt;br&gt;
프론트엔드 테스트에 대한 도서&lt;/p&gt;

&lt;hr&gt;
</description>
        <pubDate>Tue, 09 Jun 2026 12:06:21 +0900</pubDate>
        <link>https://jser.info/ko/2026/06/09/pnpm11.5-node.js26.3.0-cloudflare-void0/</link>
        <guid isPermaLink="true">https://jser.info/ko/2026/06/09/pnpm11.5-node.js26.3.0-cloudflare-void0/</guid>
        
        <category>pnpm</category>
        
        <category>nodejs</category>
        
        <category>cloudflare</category>
        
        <category>vite</category>
        
        <category>news</category>
        
        
        <category>JSer</category>
        
      </item>
    
      <item>
        <title>2026-05-24: pnpm 11.1 ~ 11.3, npm CLI v11.15.0, Deno 2.8</title>
        <description>&lt;p&gt;JSer.info #772 - pnpm 11.1부터 11.3까지, 공급망 보안 관련 기능이 다수 추가되었다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pnpm/pnpm/releases/tag/v11.1.0&quot;&gt;Release pnpm 11.1 · pnpm/pnpm&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pnpm/pnpm/releases/tag/v11.1.3&quot;&gt;Release pnpm 11.1.3 · pnpm/pnpm&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pnpm.io/blog/releases/11.3&quot;&gt;pnpm 11.3 | pnpm&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;hr&gt;

&lt;p&gt;npm CLI v11.15.0가 출시되었다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/npm/cli/releases/tag/v11.15.0&quot;&gt;Release v11.15.0 · npm/cli&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.npmjs.com/staged-publishing&quot;&gt;Staged publishing for npm packages&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;Deno 2.8가 출시되었다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://deno.com/blog/v2.8&quot;&gt;Deno 2.8 | Deno&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

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

&lt;hr&gt;

&lt;h3 class=&quot;inline-support&quot;&gt;To support JSer.info&lt;/h3&gt;

&lt;ul&gt;
    &lt;li&gt;😘 Recommend JSer.info to your friends!&lt;/li&gt;
    &lt;li&gt;❤️ Support &lt;a href=&quot;https://github.com/sponsors/azu&quot;&gt;@azu on GitHub Sponsors&lt;/a&gt;/&lt;a
            href=&quot;https://jser.info/sponsor/&quot;&gt;JSer.info Sponsors&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;🐦 Follow &lt;a href=&quot;https://twitter.com/jser_info&quot;&gt;@jser_info on X(Twitter)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;헤드라인&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;release-v1-60-0-microsoft-playwright&quot;&gt;Release v1.60.0 · microsoft/playwright&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/microsoft/playwright/releases/tag/v1.60.0&quot; title=&quot;Release v1.60.0 · microsoft/playwright&quot;&gt;github.com/microsoft/playwright/releases/tag/v1.60.0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;playwright&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

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

&lt;hr&gt;

&lt;h2 id=&quot;release-pnpm-11-1-pnpm-pnpm&quot;&gt;Release pnpm 11.1 · pnpm/pnpm&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/pnpm/pnpm/releases/tag/v11.1.0&quot; title=&quot;Release pnpm 11.1 · pnpm/pnpm&quot;&gt;github.com/pnpm/pnpm/releases/tag/v11.1.0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;pnpm&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

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

&lt;hr&gt;

&lt;h2 id=&quot;release-vite-plus-v0-1-21-create-migrate-local-cli-power-up-voidzero-dev-vite-plus&quot;&gt;Release vite-plus v0.1.21 — Create, Migrate &amp;amp; Local CLI Power-Up · voidzero-dev/vite-plus&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/voidzero-dev/vite-plus/releases/tag/v0.1.21&quot; title=&quot;Release vite-plus v0.1.21 — Create, Migrate &amp;amp;amp; Local CLI Power-Up · voidzero-dev/vite-plus&quot;&gt;github.com/voidzero-dev/vite-plus/releases/tag/v0.1.21&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;vite&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;CLI&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Tools&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

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

&lt;hr&gt;

&lt;h2 id=&quot;bun-v1-3-14-bun-blog&quot;&gt;Bun v1.3.14 | Bun Blog&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://bun.com/blog/bun-v1.3.14&quot; title=&quot;Bun v1.3.14 | Bun Blog&quot;&gt;bun.com/blog/bun-v1.3.14&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;Bun&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

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

&lt;hr&gt;

&lt;h2 id=&quot;release-pnpm-11-1-3-pnpm-pnpm&quot;&gt;Release pnpm 11.1.3 · pnpm/pnpm&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/pnpm/pnpm/releases/tag/v11.1.3&quot; title=&quot;Release pnpm 11.1.3 · pnpm/pnpm&quot;&gt;github.com/pnpm/pnpm/releases/tag/v11.1.3&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;pnpm&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;pnpm v11.1.3 출시.&lt;br&gt;
설치할 때 &lt;code&gt;pnpm-lock.yaml&lt;/code&gt;의 엔트리를 &lt;code&gt;minimumReleaseAge&lt;/code&gt;와 &lt;code&gt;trustPolicy&lt;/code&gt;으로 재검증하도록 변경 &lt;code&gt;minimumReleaseAgeStrict&lt;/code&gt; 모드 추가.&lt;br&gt;
&lt;code&gt;pnpm self-update&lt;/code&gt;가 &lt;code&gt;minimumReleaseAge&lt;/code&gt;를 존중하도록 변경, &lt;code&gt;NODE_AUTH_TOKEN&lt;/code&gt; 미설정할 때 OIDC 인증 실패를 수정.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;node-js-node-js-26-2-0-current&quot;&gt;Node.js — Node.js 26.2.0 (Current)&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://nodejs.org/en/blog/release/v26.2.0&quot; title=&quot;Node.js — Node.js 26.2.0 (Current)&quot;&gt;nodejs.org/en/blog/release/v26.2.0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;nodejs&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

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

&lt;hr&gt;

&lt;h2 id=&quot;release-v11-15-0-npm-cli&quot;&gt;Release v11.15.0 · npm/cli&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/npm/cli/releases/tag/v11.15.0&quot; title=&quot;Release v11.15.0 · npm/cli&quot;&gt;github.com/npm/cli/releases/tag/v11.15.0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;npm&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;CLI&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.npmjs.com/staged-publishing&quot; title=&quot;Staged publishing for npm packages&quot;&gt;Staged publishing for npm packages&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2 id=&quot;release-apollo-client-4-2-0-apollographql-apollo-client&quot;&gt;Release @apollo/&lt;a href=&quot;mailto:client@4.2.0&quot;&gt;client@4.2.0&lt;/a&gt; · apollographql/apollo-client&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/apollographql/apollo-client/releases/tag/%40apollo%2Fclient%404.2.0&quot; title=&quot;Release @apollo/client@4.2.0 · apollographql/apollo-client&quot;&gt;github.com/apollographql/apollo-client/releases/tag/%40apollo%2Fclient%404.2.0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;GraphQL&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

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

&lt;hr&gt;

&lt;h2 id=&quot;pnpm-11-3-pnpm&quot;&gt;pnpm 11.3 | pnpm&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://pnpm.io/blog/releases/11.3&quot; title=&quot;pnpm 11.3 | pnpm&quot;&gt;pnpm.io/blog/releases/11.3&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;pnpm&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

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

&lt;hr&gt;

&lt;h2 id=&quot;deno-2-8-deno&quot;&gt;Deno 2.8 | Deno&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://deno.com/blog/v2.8&quot; title=&quot;Deno 2.8 | Deno&quot;&gt;deno.com/blog/v2.8&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;deno&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

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

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;읽읅거리&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;postmortem-tanstack-npm-supply-chain-compromise-tanstack-blog&quot;&gt;Postmortem: TanStack npm supply-chain compromise | TanStack Blog&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://tanstack.com/blog/npm-supply-chain-compromise-postmortem&quot; title=&quot;Postmortem: TanStack npm supply-chain compromise | TanStack Blog&quot;&gt;tanstack.com/blog/npm-supply-chain-compromise-postmortem&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;TanStack&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;npm&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;security&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Actions&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;article&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

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

&lt;hr&gt;

&lt;h2 id=&quot;9-times-the-web-platform-was-influenced-by-libraries-jad-joubran&quot;&gt;9 Times the Web Platform Was Influenced by Libraries | Jad Joubran&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://jadjoubran.io/blog/web-platform-influenced-by-libraries&quot; title=&quot;9 Times the Web Platform Was Influenced by Libraries | Jad Joubran&quot;&gt;jadjoubran.io/blog/web-platform-influenced-by-libraries&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;WebPlatformAPI&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;history&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;article&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

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

&lt;hr&gt;

&lt;h2 id=&quot;node-js-axios-to-whatwg-fetch&quot;&gt;Node.js — Axios to WHATWG Fetch&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://nodejs.org/en/blog/migrations/axios-to-fetch&quot; title=&quot;Node.js — Axios to WHATWG Fetch&quot;&gt;nodejs.org/en/blog/migrations/axios-to-fetch&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;nodejs&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Fetch&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;HTTP&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;article&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

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

&lt;hr&gt;

&lt;h2 id=&quot;introducing-secure-registry-install-time-defense-for-the-npm-supply-chain-stepsecurity&quot;&gt;Introducing Secure Registry: install-time defense for the npm supply chain - StepSecurity&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://www.stepsecurity.io/blog/introducing-secure-registry-install-time-defense-for-the-npm-supply-chain&quot; title=&quot;Introducing Secure Registry: install-time defense for the npm supply chain - StepSecurity&quot;&gt;www.stepsecurity.io/blog/introducing-secure-registry-install-time-defense-for-the-npm-supply-chain&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;npm&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;security&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;article&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

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

&lt;hr&gt;

&lt;h2 id=&quot;nkzw-tech-fate-fate-is-a-modern-data-client-for-react&quot;&gt;nkzw-tech/fate: fate is a modern data client for React.&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/nkzw-tech/fate&quot; title=&quot;nkzw-tech/fate: fate is a modern data client for React.&quot;&gt;github.com/nkzw-tech/fate&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;React&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;TypeScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;GraphQL&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

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

&lt;hr&gt;

&lt;h2 id=&quot;announcing-web-serial-support-in-firefox-mozilla-hacks-the-web-developer-blog&quot;&gt;Announcing Web Serial Support in Firefox - Mozilla Hacks - the Web developer blog&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://hacks.mozilla.org/2026/05/web-serial-support-in-firefox/&quot; title=&quot;Announcing Web Serial Support in Firefox - Mozilla Hacks - the Web developer blog&quot;&gt;hacks.mozilla.org/2026/05/web-serial-support-in-firefox/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;Firefox&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;browser&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;WebAPI&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Mozilla&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

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

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;소프트웨어, 도구, 라이브러리&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;tmikov-hermes-node-node-js-built-in-module-compatibility-layer-for-the-hermes-js-engine&quot;&gt;tmikov/hermes-node: Node.js built-in module compatibility layer for the Hermes JS engine&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/tmikov/hermes-node&quot; title=&quot;tmikov/hermes-node: Node.js built-in module compatibility layer for the Hermes JS engine&quot;&gt;github.com/tmikov/hermes-node&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;nodejs&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;TypeScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

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

&lt;hr&gt;
</description>
        <pubDate>Mon, 25 May 2026 10:03:40 +0900</pubDate>
        <link>https://jser.info/ko/2026/05/25/pnpm-11.111.3-npm-cli-v11.15.0-deno-2.8/</link>
        <guid isPermaLink="true">https://jser.info/ko/2026/05/25/pnpm-11.111.3-npm-cli-v11.15.0-deno-2.8/</guid>
        
        <category>pnpm</category>
        
        <category>npm</category>
        
        <category>nodejs</category>
        
        <category>security</category>
        
        <category>CLI</category>
        
        
        <category>JSer</category>
        
      </item>
    
      <item>
        <title>2026-05-11: Node.js 26.0.0, Rolldown 1.0, Jest v30.4.0</title>
        <description>&lt;p&gt;JSer.info #771 - Node.js 26.0.0가 출시되었다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://nodejs.org/en/blog/release/v26.0.0&quot;&gt;Node.js — Node.js 26.0.0 (Current)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Temporal API가 기본적으로 유효화, V8 14.6으로 업데이트로 인해 &lt;code&gt;Map&lt;/code&gt;/&lt;code&gt;WeakMap&lt;/code&gt;의 &lt;code&gt;getOrInsert()&lt;/code&gt;/&lt;code&gt;getOrInsertComputed()&lt;/code&gt;나 Iterator의 &lt;code&gt;concat()&lt;/code&gt; 메서드가 추가된다.&lt;code&gt;--experimental-transform-types&lt;/code&gt; 플래그 삭제 및 &lt;code&gt;module.register()&lt;/code&gt;의 runtime-deprecate 같은 파괴적 변경도 있다.&lt;/p&gt;

&lt;p&gt;Node.js 26는, 현재 LTS 출시 스케쥴에 따른 마지막 메이저 출시이다. Node.js 27부터는 연 1회 출시로 변경되고, 모든 출시가 LTS가 되는 새로운 스케쥴로 변경된다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://nodejs.org/en/blog/announcements/evolving-the-nodejs-release-schedule&quot;&gt;Evolving the Node.js Release Schedule&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;또한, Node.js 20.x가 EOL가 되어 보안 패치를 포함한 업데이트가 제공되지 않는다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://nodejs.org/en/about/eol&quot;&gt;Node.js — End-Of-Life&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;Rolldown 1.0가 출시되었다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://voidzero.dev/posts/announcing-rolldown-1-0&quot;&gt;Announcing Rolldown 1.0 | VoidZero&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Rolldown은 Rust로 작성된 JavaScript/TypeScript 번들러다.&lt;br&gt;
Rollup 호환 플러그인 API를 갖고, Rollup와 비교해 빠르게 빌드하는 것이 목표.&lt;br&gt;
Vite 8에는 기본적 번들러로 채용되었다.&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;Jest v30.4.0가 출시되었다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/jestjs/jest/releases/tag/v30.4.0&quot;&gt;Release v30.4.0 · jestjs/jest&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Node v24.9+에서 ES Modules 대해 &lt;code&gt;require()&lt;/code&gt; 지원, Node v26의 Temporal API 대응하는 fake timers가 추가되었다. 또한, &lt;code&gt;jest.config.mts&lt;/code&gt; 지원, 프로젝트 단위 &lt;code&gt;verbose&lt;/code&gt;/&lt;code&gt;silent&lt;/code&gt; 설정 추가, React 19의 &lt;code&gt;pretty-format&lt;/code&gt; 지원 포함된다.&lt;/p&gt;

&lt;hr&gt;

&lt;h3 class=&quot;inline-support&quot;&gt;To support JSer.info&lt;/h3&gt;

&lt;ul&gt;
    &lt;li&gt;😘 Recommend JSer.info to your friends!&lt;/li&gt;
    &lt;li&gt;❤️ Support &lt;a href=&quot;https://github.com/sponsors/azu&quot;&gt;@azu on GitHub Sponsors&lt;/a&gt;/&lt;a
            href=&quot;https://jser.info/sponsor/&quot;&gt;JSer.info Sponsors&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;🐦 Follow &lt;a href=&quot;https://twitter.com/jser_info&quot;&gt;@jser_info on X(Twitter)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;헤드라인&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;release-v8-0-0-avajs-ava&quot;&gt;Release v8.0.0 · avajs/ava&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/avajs/ava/releases/tag/v8.0.0&quot; title=&quot;Release v8.0.0 · avajs/ava&quot;&gt;github.com/avajs/ava/releases/tag/v8.0.0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;testing&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;nodejs&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;AVA v8.0.0 출시.&lt;br&gt;
Node.js v22.20/v24.12 이후가 필수 조건, 내부 구현을 ESM화.&lt;br&gt;
CommonJS로 이용하는 경우는 &lt;code&gt;const {default: test} = require(&amp;#39;ava&amp;#39;)&lt;/code&gt;으로 변경이 필요.&lt;br&gt;
기본적으로 테스트 파일 확장자가 &lt;code&gt;js&lt;/code&gt;/&lt;code&gt;mjs&lt;/code&gt;으로 변경되어, 테스트 파일은 &lt;code&gt;import()&lt;/code&gt;로 읽도록 변경.&lt;br&gt;
실행 조건에서 테스트를 스킵/실행하는 &lt;code&gt;test.skipIf()&lt;/code&gt;/&lt;code&gt;test.runIf()&lt;/code&gt; 추가.&lt;br&gt;
&lt;code&gt;*.tsbuildinfo&lt;/code&gt; 파일 변경을 Watch 모드에서 무시, TAP 레포트 에러명 복원 처리 개선.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;node-js-node-js-26-0-0-current&quot;&gt;Node.js — Node.js 26.0.0 (Current)&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://nodejs.org/en/blog/release/v26.0.0&quot; title=&quot;Node.js — Node.js 26.0.0 (Current)&quot;&gt;nodejs.org/en/blog/release/v26.0.0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;nodejs&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Node.js 26.0.0(Current) 출시.&lt;br&gt;
Temporal API가 기본 유효화.&lt;br&gt;
V8 14.6 업데이트로 인해, Weak/Map의 &lt;code&gt;getOrInsert()&lt;/code&gt;/&lt;code&gt;getOrInsertComputed()&lt;/code&gt;나 Iterator의 &lt;code&gt;concat()&lt;/code&gt; 메서드가 추가.&lt;br&gt;
Undici 8.0.2으로 업데이트.&lt;br&gt;
&lt;code&gt;http.Server.prototype.writeHeader()&lt;/code&gt; 삭제, 레거시 스트림 모듈(&lt;code&gt;_stream_wrap&lt;/code&gt;) 삭제.&lt;br&gt;
&lt;code&gt;--experimental-transform-types&lt;/code&gt; 플래그 삭제, &lt;code&gt;module.register()&lt;/code&gt;를 runtime-deprecate&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;release-0-18-stylex&quot;&gt;Release 0.18 | StyleX&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://stylexjs.com/blog/v0.18&quot; title=&quot;Release 0.18 | StyleX&quot;&gt;stylexjs.com/blog/v0.18&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;React&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;css&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;StyleX v0.18 출시.&lt;br&gt;
컴파일할 때 값을 설정할 수 있는 &lt;code&gt;stylex.env&lt;/code&gt; API 추가, 프로젝트 모형을 작성하는 &lt;code&gt;create-stylex-app&lt;/code&gt; CLI 추가.&lt;br&gt;
&lt;code&gt;stylex.attrs&lt;/code&gt; API 부활, Chrome DevTools 확장 제공.&lt;br&gt;
JSX에서 &lt;code&gt;sx={}&lt;/code&gt; 구문 지원, &lt;code&gt;defineVars&lt;/code&gt; 자기 참조 변수 지원, &lt;code&gt;stylex.when&lt;/code&gt; 속성 셀렉터도 지원, CSS Layers 제어 개선, ESLint 플러그인 수정.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;node-js-end-of-life&quot;&gt;Node.js — End-Of-Life&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://nodejs.org/en/about/eol&quot; title=&quot;Node.js — End-Of-Life&quot;&gt;nodejs.org/en/about/eol&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;nodejs&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;news&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Node.js 20.x가 EOL가 되어 보안 패치를 포함한 모든 업데이트 제공하지 않음.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;chrome-148-release-notes-chrome-for-developers&quot;&gt;Chrome 148  |  Release notes  |  Chrome for Developers&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://developer.chrome.com/release-notes/148&quot; title=&quot;Chrome 148  |  Release notes  |  Chrome for Developers&quot;&gt;developer.chrome.com/release-notes/148&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;Chrome&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;browser&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Chrome 148 출시.&lt;br&gt;
CSS의 &lt;code&gt;container-name&lt;/code&gt; 단독 컨테이너 쿼리, &lt;code&gt;@supports&lt;/code&gt;의 &lt;code&gt;at-rule()&lt;/code&gt; 지원, &lt;code&gt;revert-rule&lt;/code&gt; 키워드 추가.&lt;br&gt;
&lt;code&gt;text-decoration-skip-ink: all&lt;/code&gt;, &lt;code&gt;&amp;lt;video&amp;gt;&lt;/code&gt;/&lt;code&gt;&amp;lt;audio&amp;gt;&lt;/code&gt; 요소의 &lt;code&gt;loading=&amp;quot;lazy&amp;quot;&lt;/code&gt; 속성 지원.&lt;br&gt;
Prompt API, Web Authentication의 Immediate UI 모드 지원.&lt;br&gt;
Android 대상 SharedWorker 다시 유효화, Web Serial API 지원, Resource Timing에 &lt;code&gt;contentType&lt;/code&gt; 추가.&lt;br&gt;
Origin Trial로 Declarative CSS module scripts, HTML-in-canvas, Connection Allowlists, OpaqueRange 추가&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.chrome.com/blog/new-in-chrome-148?hl=en&quot; title=&quot;New in Chrome 148  |  Blog  |  Chrome for Developers&quot;&gt;New in Chrome 148  |  Blog  |  Chrome for Developers&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2 id=&quot;node-js-node-js-26-1-0-current&quot;&gt;Node.js — Node.js 26.1.0 (Current)&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://nodejs.org/en/blog/release/v26.1.0&quot; title=&quot;Node.js — Node.js 26.1.0 (Current)&quot;&gt;nodejs.org/en/blog/release/v26.1.0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;nodejs&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Node.js 26.1.0 출시.&lt;br&gt;
실험적인 &lt;code&gt;node:ffi&lt;/code&gt; 모듈 추가, &lt;code&gt;--experimental-ffi&lt;/code&gt; 플래그로 동적 라이브러리 읽기와 네이티브 심볼 호출에 대응.&lt;br&gt;
&lt;code&gt;crypto.randomUUIDv7()&lt;/code&gt; 추가, &lt;code&gt;crypto.diffieHellman()&lt;/code&gt;가 키 데이터를 받도록 변경.&lt;br&gt;
&lt;code&gt;fs.stat()&lt;/code&gt;로 &lt;code&gt;signal&lt;/code&gt; 옵션 추가, &lt;code&gt;statfs&lt;/code&gt;가 &lt;code&gt;frsize&lt;/code&gt; 필드 공개.&lt;br&gt;
HTTP의 &lt;code&gt;IncomingMessage&lt;/code&gt;에 &lt;code&gt;req.signal&lt;/code&gt; 추가, &lt;code&gt;Buffer&lt;/code&gt;의 &lt;code&gt;indexOf()&lt;/code&gt;/&lt;code&gt;lastIndexOf()&lt;/code&gt;에 &lt;code&gt;end&lt;/code&gt; 파라메터 추가.&lt;br&gt;
테스트 러너에 테스트 순서 랜덤화 및 &lt;code&gt;AbortSignal.timeout&lt;/code&gt; 목 타이머 대응 추가, &lt;code&gt;util.styleText()&lt;/code&gt;가 16진수 컬러 지원&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;release-v30-4-0-jestjs-jest&quot;&gt;Release v30.4.0 · jestjs/jest&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/jestjs/jest/releases/tag/v30.4.0&quot; title=&quot;Release v30.4.0 · jestjs/jest&quot;&gt;github.com/jestjs/jest/releases/tag/v30.4.0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;jest&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;test&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Jest v30.4.0 출시.&lt;br&gt;
Node v24.9+에서 ES Modules 대해 &lt;code&gt;require()&lt;/code&gt; 지원, Node v26의 Temporal API에 대응 fake timers 추가.&lt;br&gt;
&lt;code&gt;jest.config.mts&lt;/code&gt; 지원, &lt;code&gt;--collect-tests&lt;/code&gt; 플래그 추가, &lt;code&gt;workerGracefulExitTimeout&lt;/code&gt; 옵션 추가.&lt;br&gt;
프로젝트 단위 &lt;code&gt;verbose&lt;/code&gt;/&lt;code&gt;silent&lt;/code&gt; 설정 추가, React 19의 &lt;code&gt;pretty-format&lt;/code&gt; 지원.&lt;br&gt;
&lt;code&gt;projects&lt;/code&gt; 설정에서 커버리지 레포트 수정, &lt;code&gt;structuredClone&lt;/code&gt;에서 &lt;code&gt;toStrictEqual&lt;/code&gt; 수정, ESM와 WebAssembly의 import 할 때 데드록 수정.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;electron-42-electron&quot;&gt;Electron 42 | Electron&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://www.electronjs.org/blog/electron-42-0&quot; title=&quot;Electron 42 | Electron&quot;&gt;www.electronjs.org/blog/electron-42-0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;Electron&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Electron 42 출시.&lt;br&gt;
Chromium 148/Node.js 24.15.0/V8 14.8 업데이트.&lt;br&gt;
macOS 통지 API가 &lt;code&gt;UNNotification&lt;/code&gt; API로 변경되어 코드 서명이 필수, &lt;code&gt;postinstall&lt;/code&gt;로 Electron 바이너리를 다운로드하는 동작 삭제. &lt;code&gt;Session.clearStorageData()&lt;/code&gt;으로 &lt;code&gt;quotas&lt;/code&gt; 오브젝트를 삭제.&lt;br&gt;
&lt;code&gt;view.setBounds()&lt;/code&gt; 애니메이션 대응, &lt;code&gt;view.setBackgroundBlur()&lt;/code&gt;에 네이티브 배경 blur 지원.&lt;br&gt;
macOS에서 &lt;code&gt;Notification.getHistory()&lt;/code&gt;, &lt;code&gt;globalShortcut.setSuspended()&lt;/code&gt;, 힙 프로파일링 지원.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;release-v1-16-0-axios-axios&quot;&gt;Release v1.16.0 · axios/axios&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/axios/axios/releases/tag/v1.16.0&quot; title=&quot;Release v1.16.0 · axios/axios&quot;&gt;github.com/axios/axios/releases/tag/v1.16.0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;HTTP&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;axios v1.16.0 출시.&lt;br&gt;
fetch adapter에서의 &lt;code&gt;maxBodyLength&lt;/code&gt;/&lt;code&gt;maxContentLength&lt;/code&gt; 제한 강제, proxy 리퀘스트할 때 유저 설정 &lt;code&gt;Host&lt;/code&gt; 헤더 보존 같은 파괴적 변경 포함.&lt;br&gt;
또한, Basic 인증으로 percent-encoded된 인증 정보 디코드, &lt;code&gt;parseProtocol&lt;/code&gt;가 콜론으로 자르고 엄밀성을 요구하도록 변경.&lt;br&gt;
QUERY HTTP 메서드 지원, &lt;code&gt;AxiosError.ECONNREFUSED&lt;/code&gt; 추가, &lt;code&gt;encode&lt;/code&gt; 헬퍼 export.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;announcing-rolldown-1-0-voidzero&quot;&gt;Announcing Rolldown 1.0 | VoidZero&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://voidzero.dev/posts/announcing-rolldown-1-0&quot; title=&quot;Announcing Rolldown 1.0 | VoidZero&quot;&gt;voidzero.dev/posts/announcing-rolldown-1-0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;Rust&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;rollup&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;bundler&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;vite&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Rolldown 1.0 출시.&lt;br&gt;
Rust으로 작성된 Rollup 호환성 플러그인과 호환성 갖은 JavaScript/TypeScript 번들러.&lt;br&gt;
Vite 8에서 기본 번들러 이용.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;chrome-149-beta-blog-chrome-for-developers&quot;&gt;Chrome 149 beta  |  Blog  |  Chrome for Developers&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://developer.chrome.com/blog/chrome-149-beta?hl=en&quot; title=&quot;Chrome 149 beta  |  Blog  |  Chrome for Developers&quot;&gt;developer.chrome.com/blog/chrome-149-beta?hl&amp;#x3D;en&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;Chrome&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;browser&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Chrome 149 beta 출시.&lt;br&gt;
CSS의 &lt;code&gt;shape-outside&lt;/code&gt; 프로퍼티에서 &lt;code&gt;path()&lt;/code&gt;/&lt;code&gt;shape()&lt;/code&gt;/&lt;code&gt;rect()&lt;/code&gt;/&lt;code&gt;xywh()&lt;/code&gt; 함수 지원.&lt;br&gt;
SVG의 &lt;code&gt;pathLength&lt;/code&gt; 속성 CSS 프로퍼티화, &lt;code&gt;image-rendering: crisp-edges&lt;/code&gt; 지원.&lt;br&gt;
&lt;code&gt;Intl.Locale.prototype.variants&lt;/code&gt; 추가, 프로그램에 의한 스크롤 메서드가 Promise을 반환하도록 변경.&lt;br&gt;
Service Worker의 &lt;code&gt;Request&lt;/code&gt;에 &lt;code&gt;isReloadNavigation&lt;/code&gt; 속성 추가, WebSocket 연결중에도 bfcache 이용 가능하도록.&lt;br&gt;
Origin Trial으로 Permissions Policy의 &lt;code&gt;focus-without-user-activation&lt;/code&gt;, &lt;code&gt;rawgamepadinputchange&lt;/code&gt; 이벤트 추가.&lt;/p&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;소프트웨어, 도구, 라이브러리&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;sqlfu&quot;&gt;sqlfu&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://sqlfu.dev/&quot; title=&quot;sqlfu&quot;&gt;sqlfu.dev/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;SQL&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;TypeScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;tool&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;database&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;cloudflare&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;SQL 파일을 중심으로 한 TypeScript용 SQLite 데이터베이스 개발 툴킷.&lt;br&gt;
&lt;code&gt;definitions.sql&lt;/code&gt;에서 스키마 정의 &lt;code&gt;sqlfu draft&lt;/code&gt;으로 마이그레이션 생성, SQL 쿼리에서 자료형 안전한 TypeScript 랩퍼 생성.&lt;br&gt;
Cloudflare Durable Object/D1/Node.js/Bun/better-sqlite3/libsql 대응.&lt;br&gt;
ESLint 플러그인, SQL 포맷터, Admin UI, OpenTelemetry의 트레이싱에 대응.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;fabon-f-temporal-polyfill-lite-lightweight-temporal-polyfill&quot;&gt;fabon-f/temporal-polyfill-lite: Lightweight Temporal polyfill&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/fabon-f/temporal-polyfill-lite&quot; title=&quot;fabon-f/temporal-polyfill-lite: Lightweight Temporal polyfill&quot;&gt;github.com/fabon-f/temporal-polyfill-lite&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;polyfill&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ECMAScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;TypeScript&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Temporal API polyfill 라이브러리.&lt;br&gt;
최신 Temporal 사양 대응, ponyfill로 global를 갈아 끼우는 shim으로 이용 가능.&lt;br&gt;
TypeScript으로 작성되었고, 내부적으로 BigInt에 의존하지 않는 구현.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;open-circle-formisch-the-lightweight-schema-first-and-fully-type-safe-form-library-for-react-solid-vue-svelte-and-more&quot;&gt;open-circle/formisch: The lightweight, schema-first, and fully type-safe form library for React, Solid, Vue, Svelte and more.&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/open-circle/formisch&quot; title=&quot;open-circle/formisch: The lightweight, schema-first, and fully type-safe form library for React, Solid, Vue, Svelte and more.&quot;&gt;github.com/open-circle/formisch&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;React&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Vue&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Svelte&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Solid&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;TypeScript&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;React/Solid/Vue/Svelte/Preact/Qwik에 대응한 스키마 퍼스트 폼 라이브러리.&lt;br&gt;
Valibot를 이용한 스키마 기반 검증 지원, &lt;code&gt;createForm&lt;/code&gt;이나 &lt;code&gt;&amp;lt;Form /&amp;gt;&lt;/code&gt;/&lt;code&gt;&amp;lt;Field /&amp;gt;&lt;/code&gt;의 API로 폼 상태 관리.&lt;/p&gt;

&lt;hr&gt;
</description>
        <pubDate>Mon, 11 May 2026 20:36:52 +0900</pubDate>
        <link>https://jser.info/ko/2026/05/11/node.js-26.0.0-rolldown-1.0-jest-v30.4.0/</link>
        <guid isPermaLink="true">https://jser.info/ko/2026/05/11/node.js-26.0.0-rolldown-1.0-jest-v30.4.0/</guid>
        
        <category>nodejs</category>
        
        <category>TypeScript</category>
        
        <category>React</category>
        
        <category>Chrome</category>
        
        <category>browser</category>
        
        
        <category>JSer</category>
        
      </item>
    
      <item>
        <title>2026-04-29: Node.js 24.15.0(LTS), Rspack 2.0, pnpm 11</title>
        <description>&lt;p&gt;JSer.info #770 - Node.js 24.15.0(LTS) 출시되었습니다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://nodejs.org/en/blog/release/v24.15.0&quot;&gt;Node.js — Node.js 24.15.0 (LTS)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;require(esm)&lt;/code&gt;와 모듈 컴파일 캐시가 안정판(Stable)으로 승격했습니다. 또한, SQLite가 출시 후보(Release Candidate) 단계로 승격했습니다. 그 외로는, &lt;code&gt;--max-heap-size&lt;/code&gt; 옵션 추가, Socket의 &lt;code&gt;setTOS&lt;/code&gt;/&lt;code&gt;getTOS&lt;/code&gt; 메서드 추가, &lt;code&gt;fs.stat&lt;/code&gt;의 &lt;code&gt;throwIfNoEntry&lt;/code&gt; 옵션 추가가 포함됩니다.&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;Rspack 2.0 출시되었습니다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://rspack.rs/blog/announcing-2-0&quot;&gt;Announcing Rspack 2.0 - Rspack&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;@rspack/core&lt;/code&gt; 코어 패키지를 Pure ESM 패키지로 이행, CommonJS 빌드가 삭제됩니다. 빌드 성능 개선, CommonJS의 &lt;code&gt;require&lt;/code&gt; 분할대입이나 프로퍼티 접근의 Tree Shaking 개선이 포함됩니다. 또한, &lt;code&gt;/*#__NO_SIDE_EFFECTS__*/&lt;/code&gt; 어노테이션 지원, &lt;code&gt;library.type&lt;/code&gt;에 &lt;code&gt;modern-module&lt;/code&gt; 추가, React Server Components 실험적 지원도 추가됩니다.&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;pnpm v11.0.0 출시되었습니다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pnpm/pnpm/releases/tag/v11.0.0&quot;&gt;Release pnpm 11 · pnpm/pnpm&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pure ESM 패키지로 이행, Node.js 18-21 지원이 종료됩니다. &lt;code&gt;.npmrc&lt;/code&gt;은 인증/레지스트리 설정만 한정하고, 그 외 설정은 &lt;code&gt;pnpm-workspace.yaml&lt;/code&gt;으로 이행됩니다. npm CLI와의 의존을 배제하고 &lt;code&gt;pnpm publish&lt;/code&gt;/&lt;code&gt;pnpm login&lt;/code&gt;/&lt;code&gt;pnpm audit&lt;/code&gt;가 네이티브 구현으로 변경되며, &lt;code&gt;pnpm ci&lt;/code&gt;/&lt;code&gt;pnpm sbom&lt;/code&gt;/&lt;code&gt;pnpm clean&lt;/code&gt;/&lt;code&gt;pnpm pack-app&lt;/code&gt; 명령어가 추가됩니다.&lt;/p&gt;

&lt;hr&gt;

&lt;h3 class=&quot;inline-support&quot;&gt;To support JSer.info&lt;/h3&gt;

&lt;ul&gt;
    &lt;li&gt;😘 Recommend JSer.info to your friends!&lt;/li&gt;
    &lt;li&gt;❤️ Support &lt;a href=&quot;https://github.com/sponsors/azu&quot;&gt;@azu on GitHub Sponsors&lt;/a&gt;/&lt;a
            href=&quot;https://jser.info/sponsor/&quot;&gt;JSer.info Sponsors&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;🐦 Follow &lt;a href=&quot;https://twitter.com/jser_info&quot;&gt;@jser_info on X(Twitter)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;헤드라인&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;v1-17-0-react-aria&quot;&gt;v1.17.0 | React Aria&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://react-aria.adobe.com/releases/v1-17-0&quot; title=&quot;v1.17.0 | React Aria&quot;&gt;react-aria.adobe.com/releases/v1-17-0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;React&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;React Aria v1.17.0 출시.&lt;br&gt;
Table 전개 가능한 행 지원, Virtualizer 윈도우 스크롤 대응, 수평 방향 Virtualize 대응.&lt;br&gt;
개별 hook 패키지를 &lt;code&gt;react-aria&lt;/code&gt;와 &lt;code&gt;react-stately&lt;/code&gt;에 통합해서, 의존 패키지 수 절감.&lt;br&gt;
sub-path imports(&lt;code&gt;react-aria-components/Button&lt;/code&gt;) 지원, 마이그레이션용 codemod도 제공.&lt;br&gt;
ComboBox 제네릭 타입 파라메타 지원, NumberField에 &lt;code&gt;commitBehavior&lt;/code&gt; prop 추가, Select에 &lt;code&gt;shouldCloseOnSelect&lt;/code&gt; 옵션 추가.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;node-js-node-js-24-15-0-lts&quot;&gt;Node.js — Node.js 24.15.0 (LTS)&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://nodejs.org/en/blog/release/v24.15.0&quot; title=&quot;Node.js — Node.js 24.15.0 (LTS)&quot;&gt;nodejs.org/en/blog/release/v24.15.0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;nodejs&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Node.js 24.15.0 출시.&lt;br&gt;
&lt;code&gt;require(esm)&lt;/code&gt;와 모듈 컴파일 캐시 안정판으로 승격, SQLite가 출시 후보 단계로 승격.&lt;br&gt;
&lt;code&gt;--max-heap-size&lt;/code&gt; 옵션 추가, Socket의 &lt;code&gt;setTOS&lt;/code&gt;/&lt;code&gt;getTOS&lt;/code&gt; 메서드 추가, &lt;code&gt;fs.stat&lt;/code&gt;의 &lt;code&gt;throwIfNoEntry&lt;/code&gt; 옵션 추가.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;bun-v1-3-13-bun-blog&quot;&gt;Bun v1.3.13 | Bun Blog&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://bun.com/blog/bun-v1.3.13&quot; title=&quot;Bun v1.3.13 | Bun Blog&quot;&gt;bun.com/blog/bun-v1.3.13&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;Bun&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Bun v1.3.13 출시.&lt;br&gt;
&lt;code&gt;bun test&lt;/code&gt;에 각 테스트 파일을 독립된 글로벌 환경으로 실행하는 &lt;code&gt;--isolate&lt;/code&gt; 플래그 추가.&lt;br&gt;
테스트를 worker 프로세스 병렬 실행하는 &lt;code&gt;--parallel&lt;/code&gt;, CI 작업 간에 테스트 분리하는 &lt;code&gt;--shard&lt;/code&gt;, git의 변경에 영향을 받은 것만 테스트하는 &lt;code&gt;--changed&lt;/code&gt; 플래그 추가.&lt;br&gt;
&lt;code&gt;bun install&lt;/code&gt;으로 tarball 전개를 스트리밍화하여 메모리 사용량 절감, Isolated linker에 의해 monorepo 설치 속도 개선.&lt;br&gt;
SHA3-224/256/384/512의 WebCrypto와 &lt;code&gt;node:crypto&lt;/code&gt; 대응, &lt;code&gt;SubtleCrypto&lt;/code&gt;에 X25519 키 유출 대응.&lt;br&gt;
WebSocket 클라이언트가 &lt;code&gt;ws+unix://&lt;/code&gt;/&lt;code&gt;wss+unix://&lt;/code&gt;의 Unix 도메인 소켓 접속을 지원.&lt;br&gt;
&lt;code&gt;Bun.serve()&lt;/code&gt;으로 Range 리퀘스트 레포트, zlib-ng를 사용해 gzip 압축 성능 개선&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;announcing-rspack-2-0-rspack&quot;&gt;Announcing Rspack 2.0 - Rspack&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://rspack.rs/blog/announcing-2-0&quot; title=&quot;Announcing Rspack 2.0 - Rspack&quot;&gt;rspack.rs/blog/announcing-2-0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;rspack&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Rspack 2.0 출시.&lt;br&gt;
&lt;code&gt;@rspack/core&lt;/code&gt; 코어 패키지를 Pure ESM 패키지로 이행, CommonJS 빌드를 삭제.&lt;br&gt;
&lt;code&gt;@rspack/dev-server&lt;/code&gt; 의존 숫자 삭감, 톱레벨 &lt;code&gt;target&lt;/code&gt; 옵션이 Loader나 Minimizer Plugin에 자동 계승되도록 변경.&lt;br&gt;
빌드 성능 개선, CommonJS의 &lt;code&gt;require&lt;/code&gt; 분리대입과 프로퍼티 접근의 Tree Shaking 개선.&lt;br&gt;
&lt;code&gt;/*#__NO_SIDE_EFFECTS__*/&lt;/code&gt; 어노테이션, Module Federation 공유 의존 Export 레벨에서의 Tree Shaking 대응.&lt;br&gt;
&lt;code&gt;import.meta&lt;/code&gt;/&lt;code&gt;import defer&lt;/code&gt; 그대로 출력 가능 하도록, &lt;code&gt;library.type&lt;/code&gt;에 &lt;code&gt;modern-module&lt;/code&gt; 추가.&lt;br&gt;
React Server Components 실험적 지원, &lt;code&gt;#/&lt;/code&gt; 서브패스 얼라이어스를 지원, &lt;code&gt;swc-loader&lt;/code&gt;의 &lt;code&gt;detectSyntax&lt;/code&gt; 옵션 추가&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;fresh-2-3-zero-js-by-default-view-transitions-and-temporal-support-deno&quot;&gt;Fresh 2.3: Zero JS by default, View Transitions, and Temporal support | Deno&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://deno.com/blog/fresh-2.3&quot; title=&quot;Fresh 2.3: Zero JS by default, View Transitions, and Temporal support | Deno&quot;&gt;deno.com/blog/fresh-2.3&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;deno&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;vite&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Fresh 프레임워크 v2.3 출시.&lt;br&gt;
정적 페이지에서 기본적으로 JavaScript 출력되지 않도록 변경, View Transitions API 지원, &lt;code&gt;app.ws()&lt;/code&gt;에 의한 WebSocket 지원, Vite 통합 개선.&lt;br&gt;
CSP nonce 자동 생성, CIDR 형식에 의한 IP 필터링, Server to Client의 OpenTelemetry 트레이스 전파, Temporal API 지원.&lt;br&gt;
복수 정적 디렉토리 지원, 폼 전송할 때 로딩 게선, 리버스 프록시 대응(&lt;code&gt;trustProxy&lt;/code&gt; 옵션) 추가.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;release-pnpm-11-pnpm-pnpm&quot;&gt;Release pnpm 11 · pnpm/pnpm&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/pnpm/pnpm/releases/tag/v11.0.0&quot; title=&quot;Release pnpm 11 · pnpm/pnpm&quot;&gt;github.com/pnpm/pnpm/releases/tag/v11.0.0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;pnpm&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;pnpm v11.0.0 출시.&lt;br&gt;
Pure ESM 패키지로 이행, Node.js 18-21 지원 종료.&lt;br&gt;
&lt;code&gt;.npmrc&lt;/code&gt;은 인증/레지스트리 설정만을 한정, 그 외 설정은 &lt;code&gt;pnpm-workspace.yaml&lt;/code&gt;으로 이행.&lt;br&gt;
&lt;code&gt;minimumReleaseAge&lt;/code&gt;를 기본적으로 1일로 변경, &lt;code&gt;allowBuilds&lt;/code&gt; 설정을 통일, 스토어 인덱스에 SQLite를 사용하도록 변경.&lt;br&gt;
npm CLI에서 의존 배제해 &lt;code&gt;pnpm publish&lt;/code&gt;/&lt;code&gt;pnpm login&lt;/code&gt;/&lt;code&gt;pnpm audit&lt;/code&gt;를 네이티브 구현으로 변경.&lt;br&gt;
&lt;code&gt;pnpm ci&lt;/code&gt;/&lt;code&gt;pnpm sbom&lt;/code&gt;/&lt;code&gt;pnpm clean&lt;/code&gt;/&lt;code&gt;pnpm pack-app&lt;/code&gt; 명령어 추가.&lt;/p&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;읽을거리&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;manage-agent-skills-with-github-cli-github-changelog&quot;&gt;Manage agent skills with GitHub CLI - GitHub Changelog&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.blog/changelog/2026-04-16-manage-agent-skills-with-github-cli/&quot; title=&quot;Manage agent skills with GitHub CLI - GitHub Changelog&quot;&gt;github.blog/changelog/2026-04-16-manage-agent-skills-with-github-cli/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;GitHub&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;CLI&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;AI&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Tools&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;GitHub CLI에 &lt;code&gt;gh skill&lt;/code&gt; 명령어가 추가되어, Agent Skills 검색/설치/관리/공개 가능함.&lt;br&gt;
GitHub CLI v2.90.0 이후부터 이용 가능.&lt;br&gt;
태그나 commit SHA 버전 고정, git tree SHA에 의한 내용 변경 검지, provenance 정보 포함을 지원.&lt;br&gt;
immutable releases를 사용해 publish 이용함으로, 스킬을 같은 태그로 덮어쓰여지지 않도록 공개 가능&lt;/p&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;웹사이트, 서비스, 문서&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;vercel-labs-wterm-a-terminal-emulator-for-the-web&quot;&gt;vercel-labs/wterm: A terminal emulator for the web&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/vercel-labs/wterm&quot; title=&quot;vercel-labs/wterm: A terminal emulator for the web&quot;&gt;github.com/vercel-labs/wterm&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;WebAssembly&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;terminal&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;browser&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Web 브라우저 대상 터미널 에뮬레이터 라이브러리.&lt;br&gt;
코어가 Zig로 작성되어, WebAssembly(약 12KB)로 컴파일됨.&lt;br&gt;
DOM 요소와 렌더링함으로, 네이티브한 텍스트 선택/복사 &amp;amp; 붙여넣기/검색/접근성 지원.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;introducing-claude-design-by-anthropic-labs-anthropic&quot;&gt;Introducing Claude Design by Anthropic Labs \ Anthropic&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://www.anthropic.com/news/claude-design-anthropic-labs&quot; title=&quot;Introducing Claude Design by Anthropic Labs \\ Anthropic&quot;&gt;www.anthropic.com/news/claude-design-anthropic-labs&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;AI&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Design&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Tools&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Anthropic Labs가 공개한 디자인 도구.&lt;br&gt;
텍스트 프롬프트, 이미지, 문서（DOCX/PPTX/XLSX）, 코드베이스, Web 캡챠부터 Web사이트 디자인이나 프로토타입, 슬라이드 자료를 작성 가능.&lt;br&gt;
팀 코드 기반이나 디자인 파일에서 디자인 시스템을 기반으로 작성 가능.&lt;br&gt;
Canva, PDF, PPTX, 스탠드얼론 HTML 형식의 Export를 Claude Code에 읽혀서 코드로 변경 가능.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;trees-from-pierre&quot;&gt;Trees, from Pierre&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://trees.software/&quot; title=&quot;Trees, from Pierre&quot;&gt;trees.software/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;React&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;UI&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;accessibility&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;파일 트리를 렌더링하는 React 라이브러리.&lt;br&gt;
git status 게시, 드래그&amp;amp;드롭 파일 이동, 검색 필터, 컨텍스트 메뉴에 대응.&lt;br&gt;
Virtualiza에 의한 수천 파일 규모에도 렌더링 가능.&lt;br&gt;
키보드 네비게이션이나 WCAG 2.1에 준거한 접근성, CSS 변수에 의한 커스터마이즈 가능&lt;/p&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;소프트웨어, 도구, 라이브러리&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;perryts-perry-a-native-typescript-compiler-written-in-rust-compiles-typescript-directly-to-executables-using-swc-and-llvm&quot;&gt;PerryTS/perry: A native TypeScript compiler written in Rust. Compiles TypeScript directly to executables using SWC and LLVM.&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/PerryTS/perry&quot; title=&quot;PerryTS/perry: A native TypeScript compiler written in Rust. Compiles TypeScript directly to executables using SWC and LLVM.&quot;&gt;github.com/PerryTS/perry&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;TypeScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Rust&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;compiler&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Tools&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Rust로 작성된 TypeScript 네이티브 컴파일러.&lt;br&gt;
SWC으로 TypeScript 파싱하고, LLVM에서 실행 파일로 컴파일.&lt;br&gt;
macOS/Windows/Linux/iOS/Android 대상 크로스 컴파일에 대응, 네이티브 UI를 다루는 패키지가 준비되어 있음.&lt;br&gt;
저명한 npm 패키지는 Rust 구현인 것으로 넣었고, 다른 것은 V8 Runtime를 사용해 fallback에 대응.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;endevco-aube-a-fast-node-js-package-manager&quot;&gt;endevco/aube: A fast Node.js package manager&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/endevco/aube&quot; title=&quot;endevco/aube: A fast Node.js package manager&quot;&gt;github.com/endevco/aube&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;nodejs&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;package&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Rust&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Tools&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Rust으로 작성된 Node.js 대상 패키지 매니저.&lt;br&gt;
&lt;code&gt;pnpm-lock.yaml&lt;/code&gt;/&lt;code&gt;package-lock.json&lt;/code&gt;/&lt;code&gt;npm-shrinkwrap.json&lt;/code&gt;/&lt;code&gt;yarn.lock&lt;/code&gt;/&lt;code&gt;bun.lock&lt;/code&gt; 의존 록파일 형식을 읽고 쓰는 것에 대응.&lt;br&gt;
글로벌한 content-addressable store에 의한 패키지 파일 공유, 최소 출시 기간이나 라이프사이클 스크립트 승인 제어 시큐리티 기능을 갖음.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;tsrx-typescript-language-extension-for-declarative-ui&quot;&gt;TSRX | TypeScript Language Extension for Declarative UI&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://tsrx.dev/&quot; title=&quot;TSRX | TypeScript Language Extension for Declarative UI&quot;&gt;tsrx.dev/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;TypeScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;UI&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;compiler&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;React&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Solid&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;선언적 UI를 위한 TSX 확장 언어.&lt;br&gt;
구조, 제어 흐름, 스타일을 같은 파일에 공유하면서, TypeScript 호환성을 갖는 설계.&lt;br&gt;
React/Ripple/Solid로 컴파일 가능.&lt;br&gt;
VS Code/Zed/Neovim/IntelliJ/Sublime의 IDE 지원, LSP/Prettier/ESLint 플러그인도 제공.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;rstackjs-connect-next-an-actively-maintained-fork-of-connect&quot;&gt;rstackjs/connect-next: An actively maintained fork of Connect.&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/rstackjs/connect-next&quot; title=&quot;rstackjs/connect-next: An actively maintained fork of Connect.&quot;&gt;github.com/rstackjs/connect-next&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;nodejs&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;TypeScript&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Node.js의 HTTP middleware framework &lt;code&gt;connect&lt;/code&gt; 관리하는 fork.&lt;br&gt;
TypeScript로 재작성되어, ES 모듈로 이름 붙인 export으로 제공됨. 의존 관계의 갱신이나 삭제가 이뤄짐&lt;/p&gt;

&lt;hr&gt;
</description>
        <pubDate>Wed, 29 Apr 2026 10:03:52 +0900</pubDate>
        <link>https://jser.info/ko/2026/04/29/node.js-24.15.0lts-rspack-2.0-pnpm-11/</link>
        <guid isPermaLink="true">https://jser.info/ko/2026/04/29/node.js-24.15.0lts-rspack-2.0-pnpm-11/</guid>
        
        <category>Tools</category>
        
        <category>React</category>
        
        <category>TypeScript</category>
        
        <category>nodejs</category>
        
        <category>AI</category>
        
        
        <category>JSer</category>
        
      </item>
    
      <item>
        <title>2026-04-15: pnpm 11 RC 0, webpack 5.106, Servo v0.1.0</title>
        <description>&lt;p&gt;JSer.info #769 - pnpm v11.0.0 RC 0가 출시되었다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/pnpm/pnpm/releases/tag/v11.0.0-rc.0&quot;&gt;Release pnpm 11 RC 0 · pnpm/pnpm&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pure ESM 패키지로 이행, Node.js 18부터 21까지 지원 종료했다.&lt;br&gt;
&lt;code&gt;.npmrc&lt;/code&gt;은 인증/레지스트리 설정만 한정했으며, 그 외 설정은 &lt;code&gt;pnpm-workspace.yaml&lt;/code&gt;으로 이행, &lt;code&gt;pnpm server&lt;/code&gt; 명령어 삭제 같은 많은 파괴적 변경이 포함된다.&lt;br&gt;
또한, &lt;code&gt;pnpm ci&lt;/code&gt; 명령어 추가, &lt;code&gt;pnpm sbom&lt;/code&gt;으로 SBOM 생성 가능하다.&lt;br&gt;
&lt;code&gt;minimumReleaseAge&lt;/code&gt; 기본적으로 1일 설정, &lt;code&gt;blockExoticSubdeps&lt;/code&gt; 기본값을 &lt;code&gt;true&lt;/code&gt;로 변경, 공급망 보안 강화도 있다.&lt;br&gt;
그 외로는, 스토어 인덱스에 SQLite 사용하도록 변경, &lt;code&gt;undici&lt;/code&gt; 사용에 의한 HTTP 리퀘스트 개선도 있다.&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;webpack 5.106가 출시되었다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://webpack.js.org/blog/2026-04-08-webpack-5-106/&quot;&gt;Webpack 5.106 | webpack&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Plugin Validation Hook(&lt;code&gt;compiler.hooks.validate&lt;/code&gt;) 추가, CSS Modules 런타임 스타일 주입(&lt;code&gt;exportType: &amp;quot;style&amp;quot;&lt;/code&gt;) 지원도 포함된다.&lt;br&gt;
장차 css-loader/style-loader/mini-css-extract-plugin 폐지가 예정되어 있다.&lt;br&gt;
그 외로도, CommonJS의 Tree Shaking 개선, &lt;code&gt;create-webpack-app&lt;/code&gt; 도구 추가, 실험적 기능으로 ES Stage 3의 Source Phase Imports에 의한 WebAssembly 지원, oxc-parser 지원이 추가된다.&lt;br&gt;
또한, webpack-cli 7.0.0에는 Node.js 20.9.0 이상이 필요하며, 네이티브 TypeScript 지원도 추가된다.&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;Rust로 작성된 임베디드에 사용 가능한 Web 렌더링 엔진 Servo의 &lt;code&gt;servo&lt;/code&gt;가 crates.io에 공개되었다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://servo.org/blog/2026/04/13/servo-0.1.0-release/&quot;&gt;Servo is now available on crates.io&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;애플리케이션에 Web 렌더링 기능을 내장하기 위해 Embedding API를 제공한다.&lt;br&gt;
또한, LTS 버전도 도입하여, 반 년마다 메이저 업그레이드와 보안 업데이트를 제공한다.&lt;/p&gt;

&lt;hr&gt;

&lt;h3 class=&quot;inline-support&quot;&gt;To support JSer.info&lt;/h3&gt;

&lt;ul&gt;
    &lt;li&gt;😘 Recommend JSer.info to your friends!&lt;/li&gt;
    &lt;li&gt;❤️ Support &lt;a href=&quot;https://github.com/sponsors/azu&quot;&gt;@azu on GitHub Sponsors&lt;/a&gt;/&lt;a
            href=&quot;https://jser.info/sponsor/&quot;&gt;JSer.info Sponsors&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;🐦 Follow &lt;a href=&quot;https://twitter.com/jser_info&quot;&gt;@jser_info on X(Twitter)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;헤드라인&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;release-v1-5-0-pagefind-pagefind&quot;&gt;Release v1.5.0 · Pagefind/pagefind&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/Pagefind/pagefind/releases/tag/v1.5.0&quot; title=&quot;Release v1.5.0 · Pagefind/pagefind&quot;&gt;github.com/Pagefind/pagefind/releases/tag/v1.5.0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;Rust&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;search&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Pagefind v1.5.0 출시.&lt;br&gt;
Web Components 기반 새로운 UI 시스템 추가, 메타데이터 필드의 기본 인덱스화에 의한 검색 정밀도 향상, 발음 구별 기호 대응을 추가.&lt;br&gt;
CJK(중국어/일본어/한국어) 쿼리 자동 세그멘테이션, Web Worker에서 검색 실행, 인덱스 청크 크기 절감 같은 성능 개선.&lt;br&gt;
Windows ARM64 지원 추가&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;webpack-5-106-webpack&quot;&gt;Webpack 5.106 | webpack&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://webpack.js.org/blog/2026-04-08-webpack-5-106/&quot; title=&quot;Webpack 5.106 | webpack&quot;&gt;webpack.js.org/blog/2026-04-08-webpack-5-106/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;webpack&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;webpack 5.106 출시.&lt;br&gt;
Plugin Validation Hook(&lt;code&gt;compiler.hooks.validate&lt;/code&gt;) 추가.&lt;br&gt;
CSS Modules 런타임 스타일 주입(&lt;code&gt;exportType: &amp;quot;style&amp;quot;&lt;/code&gt;) 지원.&lt;br&gt;
장차 css-loader/style-loader/mini-css-extract-plugin 폐지 예정.&lt;br&gt;
CommonJS의 Tree Shaking 개선, &lt;code&gt;create-webpack-app&lt;/code&gt; 도구 추가.&lt;br&gt;
실험적 기능으로, ES Stage 3의 Source Phase Imports에 따른 실험적인 WebAssembly 지원, oxc-parser 지원.&lt;br&gt;
webpack-cli 7.0.0에는 Node.js 20.9.0+가 필요하며, 네이티브 TypeScript 지원이 추가됨.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;release-pnpm-11-rc-0-pnpm-pnpm&quot;&gt;Release pnpm 11 RC 0 · pnpm/pnpm&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/pnpm/pnpm/releases/tag/v11.0.0-rc.0&quot; title=&quot;Release pnpm 11 RC 0 · pnpm/pnpm&quot;&gt;github.com/pnpm/pnpm/releases/tag/v11.0.0-rc.0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;pnpm&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;pnpm v11.0.0 rc.0 출시.&lt;br&gt;
Pure ESM 패키지 이행, Node.js 18-21 지원 종료.&lt;br&gt;
&lt;code&gt;.npmrc&lt;/code&gt;는 인증/레지스트리 설정만 한정, 그 외 설정은 &lt;code&gt;pnpm-workspace.yaml&lt;/code&gt;으로 이행, &lt;code&gt;pnpm server&lt;/code&gt; 명령어 삭제 같은 많은 파괴적 변경 있음.&lt;br&gt;
&lt;code&gt;pnpm ci&lt;/code&gt; 명령어 추가, &lt;code&gt;pnpm sbom&lt;/code&gt;으로 SBOM 생성.&lt;br&gt;
&lt;code&gt;minimumReleaseAge&lt;/code&gt; 기본적으로 1일 설정, &lt;code&gt;blockExoticSubdeps&lt;/code&gt; 기본값을 &lt;code&gt;true&lt;/code&gt;으로 변경 같은 공급망 보안 강화.&lt;br&gt;
스토어 인덱스에 SQLite를 사용하도록 변경, &lt;code&gt;undici&lt;/code&gt; 선택에 따른 HTTP 리퀘스트 개선.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;bun-v1-3-12-bun-blog&quot;&gt;Bun v1.3.12 | Bun Blog&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://bun.com/blog/bun-v1.3.12&quot; title=&quot;Bun v1.3.12 | Bun Blog&quot;&gt;bun.com/blog/bun-v1.3.12&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;Bun&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Bun v1.3.12 출시.&lt;br&gt;
&lt;code&gt;Bun.WebView&lt;/code&gt; 추가, Markdown 파일을 터미널에서 직접 실행 가능한 &lt;code&gt;bun ./file.md&lt;/code&gt; 지원.&lt;br&gt;
인프로세스로 동작하는 콜백 기반 cron 스케쥴러 &lt;code&gt;Bun.cron()&lt;/code&gt; 추가.&lt;br&gt;
JavaScriptCore 업그레이드로 인해, ES Proposal Stage 3의 Explicit Resource Management(&lt;code&gt;using&lt;/code&gt;/&lt;code&gt;await using&lt;/code&gt;) 지원.&lt;br&gt;
cgroup의 CPU 제한을 고려하도록 변경&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;servo-is-now-available-on-crates-io-servo-aims-to-empower-developers-with-a-lightweight-high-performance-alternative-for-embedding-web-technologies-in-applications&quot;&gt;Servo is now available on crates.io - Servo aims to empower developers with a lightweight, high-performance alternative for embedding web technologies in applications.&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://servo.org/blog/2026/04/13/servo-0.1.0-release/&quot; title=&quot;Servo is now available on crates.io - Servo aims to empower developers with a lightweight, high-performance alternative for embedding web technologies in applications.&quot;&gt;servo.org/blog/2026/04/13/servo-0.1.0-release/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;servo&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Rust&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;browser&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Servo v0.1.0 출시.&lt;br&gt;
Rust으로 작성된 임베디드 가능한 Web 렌더링 엔진 Servo의 &lt;code&gt;servo&lt;/code&gt;가 crates.io에 공개됨.&lt;br&gt;
애플리케이션에 Web 렌더링 기능을 내장하기 위해 Embedding API 제공.&lt;br&gt;
LTS 버전도 도입되어, 반 년마다 메이저 업그레이드와 보안 업그레이드 제공.&lt;/p&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;읽을거리&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;summary-of-cve-2026-23869-vercel&quot;&gt;Summary of CVE-2026-23869 - Vercel&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://vercel.com/changelog/summary-of-cve-2026-23869&quot; title=&quot;Summary of CVE-2026-23869 - Vercel&quot;&gt;vercel.com/changelog/summary-of-cve-2026-23869&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;Next.js&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;React&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;security&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;vercel&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;React Server Components(RSC)의 DoS 취약성 수정으로 Next.js 15.5.15/16.2.3과 React 19.2.5가 출시.&lt;br&gt;
App Router의 Server Function 엔드포인트에 대해, 세공된 HTTP 리퀘스트를 보냄으로 과도한 CPU 비용을 일으키는 취약성.&lt;br&gt;
Next.js 13.x〜16.x가 영향을 받음.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/facebook/react/releases/tag/v19.2.5&quot; title=&quot;Release 19.2.5 (April 8th, 2026) · facebook/react&quot;&gt;Release 19.2.5 (April 8th, 2026) · facebook/react&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2 id=&quot;the-uphill-climb-of-making-diff-lines-performant-the-github-blog&quot;&gt;The uphill climb of making diff lines performant - The GitHub Blog&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.blog/engineering/architecture-optimization/the-uphill-climb-of-making-diff-lines-performant/&quot; title=&quot;The uphill climb of making diff lines performant - The GitHub Blog&quot;&gt;github.blog/engineering/architecture-optimization/the-uphill-climb-of-making-diff-lines-performant/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;GitHub&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;React&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;performance&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;article&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;GitHub의 Files changed 탭의 React 기반 구현 diff행 성능 최적화.&lt;br&gt;
1행에 10〜15개 DOM 요소와 8〜13개 React 컴포넌트가 필요한 구조로 최적화.&lt;br&gt;
컴포넌트 수를 2개로 삭제, 이벤트 핸들러를 data 속성을 활용해 단일 핸들러에 집약하도록 변경.&lt;br&gt;
TanStack Virtual에 의한 가상화 도입, 무거운 CSS 셀렉터 삭제, 드래그/리사이즈 처리 재구현 등으로 성능 개선.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;react-server-components-your-way-tanstack-blog&quot;&gt;React Server Components Your Way | TanStack Blog&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://tanstack.com/blog/react-server-components&quot; title=&quot;React Server Components Your Way | TanStack Blog&quot;&gt;tanstack.com/blog/react-server-components&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;React&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;RSC&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;TanStack&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;article&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;TanStack으로 React Server Components(RSC) 어프로치하는 방법에 대하여.&lt;br&gt;
RSC를 데이터 스트림으로 다루고, 단방향 데이터 흐름으로 클라이언트 측에 서버 렌더링 된 UI 얻기나 캐시 제어 가능한 설계.&lt;br&gt;
서버가 슬롯을 준비해뒀다가 클라이언트가 채우는 Composite Components 구조, &lt;code&gt;createServerFn&lt;/code&gt;에 의한 명시적 서버 함수 정의 기능을 제공.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;the-intl-api-the-best-browser-api-youre-not-using-polypane&quot;&gt;The Intl API: The best browser API you&amp;#039;re not using | Polypane&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://polypane.app/blog/the-intl-api-the-best-browser-api-youre-not-using/&quot; title=&quot;The Intl API: The best browser API you&amp;amp;#039;re not using | Polypane&quot;&gt;polypane.app/blog/the-intl-api-the-best-browser-api-youre-not-using/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;i18n&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;article&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Intl API에 대한 해설 글.&lt;br&gt;
&lt;code&gt;Intl.DateTimeFormat&lt;/code&gt;/&lt;code&gt;Intl.RelativeTimeFormat&lt;/code&gt;/&lt;code&gt;Intl.NumberFormat&lt;/code&gt; 날짜나 수치 포맷 API를 소개.&lt;br&gt;
&lt;code&gt;Intl.ListFormat&lt;/code&gt;/&lt;code&gt;Intl.PluralRules&lt;/code&gt;/&lt;code&gt;Intl.Segmenter&lt;/code&gt;/&lt;code&gt;Intl.Collator&lt;/code&gt; 사용 방법&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;under-the-hood-of-mdns-new-frontend&quot;&gt;Under the hood of MDN&amp;#039;s new frontend&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://developer.mozilla.org/en-US/blog/mdn-front-end-deep-dive/&quot; title=&quot;Under the hood of MDN&amp;amp;#039;s new frontend&quot;&gt;developer.mozilla.org/en-US/blog/mdn-front-end-deep-dive/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;mdn&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;WebComponents&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;architecture&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;article&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;MDN 프론트엔드 아키텍처 업데이트 글.&lt;br&gt;
옛 프론트엔드(Yari)는 Create React App 기반, eject 후에 webpack 설정 복잡 같은 기술부채가 있었음.&lt;br&gt;
Sass와 최신 CSS 혼재, &lt;code&gt;dangerouslySetInnerHTML&lt;/code&gt;에 의한 정적 컨텐츠 담기 문제도 있었음.&lt;br&gt;
새 아키텍처에서는 Lit 기반 Web Components 선택, 독자 Server Components 구조에서 SPA 문제를 해결.&lt;br&gt;
빌트인을 webpack에서 Rspack으로 이행, Declarative Shadow DOM나 Baseline 프로젝트를 활용한 브라우저 호환성 관리도 언급.&lt;/p&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;소프트웨어, 도구, 라이브러리&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;yuku-toolchain-yuku-high-performance-javascript-typescript-compiler-and-toolchain-in-pure-zig&quot;&gt;yuku-toolchain/yuku: High-performance JavaScript/TypeScript compiler and toolchain in pure Zig 🦎&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/yuku-toolchain/yuku&quot; title=&quot;yuku-toolchain/yuku: High-performance JavaScript/TypeScript compiler and toolchain in pure Zig 🦎&quot;&gt;github.com/yuku-toolchain/yuku&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;Zig&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;TypeScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;compiler&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Tools&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Zig로 작성된 JavaScript/TypeScript 컴파일 및 툴체인.&lt;br&gt;
Test262에서 테스트되었고, Pure Zig 같은 곳에서 크로스 컴파일 가능.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;diffs-from-pierre&quot;&gt;Diffs, from Pierre&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://diffs.com/&quot; title=&quot;Diffs, from Pierre&quot;&gt;diffs.com/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;CSS&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;diff&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;diff 렌더링 코드 게시 라이브러리.&lt;br&gt;
CSS Grid와 Shadow DOM를 활용해 DOM 노트 수를 삭제하며 렌더링 고속화나 Virtualization에 대응.&lt;br&gt;
Stack 형(통합게시)과 Split 형(좌우 병렬 게시) 2가지 레이아웃, Shiki 기반 구문 하이라이트/주석/머지 충돌 해결 UI 기능 갖음.&lt;/p&gt;

&lt;hr&gt;
</description>
        <pubDate>Wed, 15 Apr 2026 20:20:00 +0900</pubDate>
        <link>https://jser.info/ko/2026/04/15/pnpm-11-rc-0-webpack-5.106-servo-v0.1.0/</link>
        <guid isPermaLink="true">https://jser.info/ko/2026/04/15/pnpm-11-rc-0-webpack-5.106-servo-v0.1.0/</guid>
        
        <category>React</category>
        
        <category>Rust</category>
        
        <category>search</category>
        
        <category>Next.js</category>
        
        <category>security</category>
        
        
        <category>JSer</category>
        
      </item>
    
      <item>
        <title>2026-04-06: TypeScript 6.0, ES2026 RC, axios 공급망 공격</title>
        <description>&lt;p&gt;JSer.info #768 - TypeScript 6.0가 출시되었다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/&quot;&gt;Announcing TypeScript 6.0 - TypeScript&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;현재 JavaScript 코드 기반 마지막 출시, Go로 재작성된 TypeScript 7.0 이행 준비를 위한 출시이다. &lt;code&gt;strict&lt;/code&gt;가 기본적으로 &lt;code&gt;true&lt;/code&gt;, &lt;code&gt;target&lt;/code&gt; 기본값이 &lt;code&gt;es2025&lt;/code&gt;, &lt;code&gt;module&lt;/code&gt; 기본값이 &lt;code&gt;esnext&lt;/code&gt;으로 변경됨. &lt;code&gt;target: es5&lt;/code&gt;이나 &lt;code&gt;--moduleResolution node&lt;/code&gt;(node10), &lt;code&gt;--outFile&lt;/code&gt; 비권장이 되어 에러로 변경됨. 새로운 기능으로, &lt;code&gt;es2025&lt;/code&gt; 타겟 추가, Temporal API 자료형 정의, Map/WeakMap의 &lt;code&gt;getOrInsert()&lt;/code&gt;/&lt;code&gt;getOrInsertComputed()&lt;/code&gt; 메서드 추가, TypeScript 7.0 자료형 순서 합치는 &lt;code&gt;--stableTypeOrdering&lt;/code&gt; 플래그 추가 포함.&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;ECMAScript 2026의 Release Candidate가 공개되었다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/tc39/ecma262/releases/tag/es2026-candidate-2026-03-31&quot;&gt;Release ES2026 Candidate March 31st 2026 · tc39/ecma262&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;TC39에 의해 2026년 3월에 승인, 2026년 6월 Ecma General Assembly에서 승인을 거쳐 정식 출시할 예정. ES2026에는, &lt;code&gt;Array.fromAsync&lt;/code&gt;, JSON.parse source text access, Iterator Sequencing, &lt;code&gt;Uint8Array&lt;/code&gt;의 Base64 변환, &lt;code&gt;Math.sumPrecise&lt;/code&gt;, &lt;code&gt;Error.isError&lt;/code&gt;, Upsert(&lt;code&gt;Map.prototype.getOrInsert&lt;/code&gt;) 포함될 예정이다.&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;axios의 npm 패키지 공급망 공격이 발생했다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.stepsecurity.io/blog/axios-compromised-on-npm-malicious-versions-drop-remote-access-trojan&quot;&gt;axios Compromised on npm - Malicious Versions Drop Remote Access Trojan - StepSecurity&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://socket.dev/blog/attackers-hunting-high-impact-nodejs-maintainers&quot;&gt;Attackers Are Hunting High-Impact Node.js Maintainers in a C...&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://socket.dev/blog/hidden-blast-radius-of-the-axios-compromise&quot;&gt;The Hidden Blast Radius of the Axios Compromise - Socket&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;소셜 엔지니어링으로 관리자 계정을 탈취, 악의있는 &lt;code&gt;axios@1.14.1&lt;/code&gt;와 &lt;code&gt;axios@0.30.4&lt;/code&gt;가 공개됨. 이 버전에는 &lt;code&gt;plain-crypto-js&lt;/code&gt; 멀웨어가 의존관계로 추가되어, postinstall 훅을 통해 macOS/Windows/Linux 대상 Remote Access Trojan(RAT)을 설치하는 구조다.&lt;/p&gt;

&lt;p&gt;영향을 받았는지 확인하는 방법은 다음 페이지에 정리되어 있다.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.stepsecurity.io/blog/axios-compromised-on-npm-malicious-versions-drop-remote-access-trojan#am-i-affected&quot;&gt;Am I affected? - StepSecurity&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3 class=&quot;inline-support&quot;&gt;To support JSer.info&lt;/h3&gt;

&lt;ul&gt;
    &lt;li&gt;😘 Recommend JSer.info to your friends!&lt;/li&gt;
    &lt;li&gt;❤️ Support &lt;a href=&quot;https://github.com/sponsors/azu&quot;&gt;@azu on GitHub Sponsors&lt;/a&gt;/&lt;a
            href=&quot;https://jser.info/sponsor/&quot;&gt;JSer.info Sponsors&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;🐦 Follow &lt;a href=&quot;https://twitter.com/jser_info&quot;&gt;@jser_info on X(Twitter)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;헤드라인&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;announcing-typescript-6-0-typescript&quot;&gt;Announcing TypeScript 6.0 - TypeScript&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/&quot; title=&quot;Announcing TypeScript 6.0 - TypeScript&quot;&gt;devblogs.microsoft.com/typescript/announcing-typescript-6-0/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;TypeScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;TypeScript 6.0 출시.&lt;br&gt;
현재 JavaScript 코드 기반 마지막 출시, Go로 재작성된 TypeScript 7.0으로 이행 준비하는 출시이다.&lt;br&gt;
&lt;code&gt;strict&lt;/code&gt;가 기본 &lt;code&gt;true&lt;/code&gt;, &lt;code&gt;target&lt;/code&gt; 기본값이 &lt;code&gt;es2025&lt;/code&gt;, &lt;code&gt;module&lt;/code&gt; 기본값이 &lt;code&gt;esnext&lt;/code&gt;으로 변경.&lt;br&gt;
&lt;code&gt;target: es5&lt;/code&gt;, &lt;code&gt;--moduleResolution node&lt;/code&gt;(node10), &lt;code&gt;--outFile&lt;/code&gt;, &lt;code&gt;--esModuleInterop false&lt;/code&gt; 비권장이 되어 에러로 변경.&lt;br&gt;
&lt;code&gt;es2025&lt;/code&gt; 타겟 추가, Temporal API 자료형 정의 추가, Map/WeakMap의 &lt;code&gt;getOrInsert()&lt;/code&gt;/&lt;code&gt;getOrInsertComputed()&lt;/code&gt; 메서드 추가.&lt;br&gt;
Node.js의 Subpath Imports의 &lt;code&gt;#/&lt;/code&gt; 지원, &lt;code&gt;--moduleResolution bundler&lt;/code&gt;와 &lt;code&gt;--module commonjs&lt;/code&gt; 구조 조합 지원.&lt;br&gt;
TypeScript 7.0 자료형 순서 합치는 &lt;code&gt;--stableTypeOrdering&lt;/code&gt; 플래그 추가&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;webkit-features-for-safari-26-4-webkit&quot;&gt;WebKit Features for Safari 26.4 | WebKit&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://webkit.org/blog/17862/webkit-features-for-safari-26-4/&quot; title=&quot;WebKit Features for Safari 26.4 | WebKit&quot;&gt;webkit.org/blog/17862/webkit-features-for-safari-26-4/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;safari&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;browser&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;CSS&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;WebTransport&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;WebAuthentication&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Safari 26.4 출시.&lt;br&gt;
CSS Grid Lanes에 의한 masonry/워터폴 스타일 레이아웃 지원, 이름 뿐이었던 &lt;code&gt;@container&lt;/code&gt; 쿼리 지원.&lt;br&gt;
&lt;code&gt;font-size: math&lt;/code&gt;와 &lt;code&gt;math-depth&lt;/code&gt; 프로퍼티 지원.&lt;br&gt;
CSS Zoom 수정, Scroll-driven Animations 성능 개선.&lt;br&gt;
WebTransport 지원, Keyboard Lock API 지원, ReadableByteStream 지원.&lt;br&gt;
Scoped Custom Element Registries 개선, &lt;code&gt;Iterator.concat()&lt;/code&gt; 지원.&lt;br&gt;
&lt;code&gt;&amp;lt;img&amp;gt;&lt;/code&gt;의 &lt;code&gt;sizes&lt;/code&gt; 속성에서 math 함수 (&lt;code&gt;min()&lt;/code&gt;/&lt;code&gt;max()&lt;/code&gt;/&lt;code&gt;clamp()&lt;/code&gt;) 지원, SVG의 &lt;code&gt;lighter&lt;/code&gt; 합성연산자 지원.&lt;br&gt;
WebAuthn의 PRF 확장 지원.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;release-v20-0-0-raineorshine-npm-check-updates&quot;&gt;Release v20.0.0 · raineorshine/npm-check-updates&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/raineorshine/npm-check-updates/releases/tag/v20.0.0&quot; title=&quot;Release v20.0.0 · raineorshine/npm-check-updates&quot;&gt;github.com/raineorshine/npm-check-updates/releases/tag/v20.0.0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;npm&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Tools&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;npm-check-updates v20.0.0 출시.&lt;br&gt;
npm/yarn/pnpm의 설정인 minimum release age 설정을 자동적으로 읽어, cooldown 옵션으로 적용할 수 있음.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;release-es2026-candidate-march-31st-2026-tc39-ecma262&quot;&gt;Release ES2026 Candidate March 31st 2026 · tc39/ecma262&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/tc39/ecma262/releases/tag/es2026-candidate-2026-03-31&quot; title=&quot;Release ES2026 Candidate March 31st 2026 · tc39/ecma262&quot;&gt;github.com/tc39/ecma262/releases/tag/es2026-candidate-2026-03-31&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;ECMAScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;spec&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;ECMAScript 2026のRelease Candidate가 공개됨.&lt;br&gt;
TC39에 2026년 3월 승인되어, 2026년 6월 Ecma GA에서 승인을 거쳐 정식 출시될 예정.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;release-v15-0-0-sindresorhus-got&quot;&gt;Release v15.0.0 · sindresorhus/got&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/sindresorhus/got/releases/tag/v15.0.0&quot; title=&quot;Release v15.0.0 · sindresorhus/got&quot;&gt;github.com/sindresorhus/got/releases/tag/v15.0.0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;nodejs&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;HTTP&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Got v15.0.0 출시.&lt;br&gt;
Node.js 22 미만 지원 삭제, &lt;br&gt;
&lt;code&gt;promise.cancel()&lt;/code&gt; 삭제하고 AbortController의 &lt;code&gt;signal&lt;/code&gt; 옵션으로 이행, &lt;code&gt;isStream&lt;/code&gt; 옵션 삭제.&lt;br&gt;
&lt;code&gt;responseType: &amp;#39;buffer&amp;#39;&lt;/code&gt;가 &lt;code&gt;Buffer&lt;/code&gt; 대신에 &lt;code&gt;Uint8Array&lt;/code&gt; 반환하도록 변경.&lt;br&gt;
네이티브 FormData API 이용하도록 변경, &lt;code&gt;strictContentLength&lt;/code&gt; 기본적으로 &lt;code&gt;true&lt;/code&gt;으로 변경.&lt;br&gt;
RFC 9110에 표준으로 300/304 리스폰스 자동 리다이렉트 폐지&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;release-4-18-0-lodash-lodash&quot;&gt;Release 4.18.0 · lodash/lodash&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/lodash/lodash/releases/tag/4.18.0&quot; title=&quot;Release 4.18.0 · lodash/lodash&quot;&gt;github.com/lodash/lodash/releases/tag/4.18.0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;lodash&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;security&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;lodash 4.18.0 출시.&lt;br&gt;
&lt;code&gt;_.unset&lt;/code&gt;과 &lt;code&gt;_.omit&lt;/code&gt;의 Prototype Pollution 취약성 수정, &lt;code&gt;_.template&lt;/code&gt; 코드 인젝션 수정.&lt;br&gt;
&lt;code&gt;lodash.unset&lt;/code&gt;나 &lt;code&gt;lodash.template&lt;/code&gt; 개별 패키지가 낡아서 수정하고 재공개.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;node-js-node-js-25-9-0-current&quot;&gt;Node.js — Node.js 25.9.0 (Current)&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://nodejs.org/en/blog/release/v25.9.0&quot; title=&quot;Node.js — Node.js 25.9.0 (Current)&quot;&gt;nodejs.org/en/blog/release/v25.9.0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;nodejs&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Node.js v25.9.0 출시.&lt;br&gt;
테스너 런너 목 모듈 API에 &lt;code&gt;defaultExport&lt;/code&gt;와 &lt;code&gt;namedExports&lt;/code&gt; 옵션을 &lt;code&gt;exports&lt;/code&gt; 옵션에 통합.&lt;br&gt;
&lt;code&gt;--max-heap-size&lt;/code&gt; 플래그, Web Crypto으로 TurboSHAKE와 KangarooTwelve 알고리즘 지원.&lt;br&gt;
SEA(Single Executable Applications)에 ESM 엔트리포인트 코드 캐시 지원, 실험적 &lt;code&gt;stream/iter&lt;/code&gt; 모듈 추가.&lt;br&gt;
&lt;code&gt;AsyncLocalStorage&lt;/code&gt;에 &lt;code&gt;using&lt;/code&gt; 스코프 추가, REPL에서 커스텀 에러 번들링 지원.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;release-v5-0-0-lerna-lite-lerna-lite&quot;&gt;Release v5.0.0 · lerna-lite/lerna-lite&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/lerna-lite/lerna-lite/releases/tag/v5.0.0&quot; title=&quot;Release v5.0.0 · lerna-lite/lerna-lite&quot;&gt;github.com/lerna-lite/lerna-lite/releases/tag/v5.0.0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;monorepo&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Tools&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;ReleaseNote&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;lerna-lite v5.0.0 출시.&lt;br&gt;
Node.js 20 지원 종료, Conventional Changelog 레거시 설정 파일 읽기 삭제, &lt;code&gt;--remove-package-fields&lt;/code&gt; 옵션 삭제.&lt;br&gt;
내부 의존을 자체 구현으로 크기 절감&lt;/p&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;읽을거리&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;storybook-mcp-for-react&quot;&gt;Storybook MCP for React&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://storybook.js.org/blog/storybook-mcp-for-react/&quot; title=&quot;Storybook MCP for React&quot;&gt;storybook.js.org/blog/storybook-mcp-for-react/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;storybook&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;MCP&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;React&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;article&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Storybook MCP 서버에 대하여.&lt;br&gt;
AI 에이언트에 의존 UI 컴포넌트 메타데이터(스토리, API, 문서) 제공하는 MCP 서버.&lt;br&gt;
복수 Storybook를 조합함으로 사용하는 Composition에도 대응.&lt;br&gt;
MCP Apps에 대응해서, 챗의 리스폰스에 직접 Story를 포함.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;node-js-security-bug-bounty-program-paused-due-to-loss-of-funding&quot;&gt;Node.js — Security Bug Bounty Program Paused Due to Loss of Funding&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://nodejs.org/en/blog/announcements/discontinuing-security-bug-bounties&quot; title=&quot;Node.js — Security Bug Bounty Program Paused Due to Loss of Funding&quot;&gt;nodejs.org/en/blog/announcements/discontinuing-security-bug-bounties&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;nodejs&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;security&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;article&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Node.js 시큐리티 버그 바운티 프로그램 일시정지에 대하여.&lt;br&gt;
2016년부터 HackerOne의 Internet Bug Bounty(IBB) 프로그램을 운용하고 있었지만, IBB 프로그램이 종료 되어 자금 고갈로 인해 일시정지됨.&lt;br&gt;
자금 80%을 발견, 20%을 수정에 부여했지만, AI에 의한 발견이 확대됨에 밸런스가 변경됨.&lt;br&gt;
취약성 보고자체는 HackerOne 통해서 지속해서 받지만, 보고자에 금전적 제공은 없어짐. 전용 자금 확보될 경우 프로그램 재개가 검토될 예정&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;signals-the-push-pull-based-algorithm-willy-brauner&quot;&gt;Signals, the push-pull based algorithm — Willy Brauner&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://willybrauner.com/journal/signal-the-push-pull-based-algorithm&quot; title=&quot;Signals, the push-pull based algorithm — Willy Brauner&quot;&gt;willybrauner.com/journal/signal-the-push-pull-based-algorithm&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;article&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Signal에 의한 push-pull 기반 리엑티브 알고리즘 해설 글.&lt;br&gt;
Signal 기본적인 구조를 보고, 값의 변경 시에 구독으로 알림하는 Push형과, 계신값을 실제로 접근할 때까지 지연평가하는 Pull형 구조에 대해 설명한다.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;core-javascript-and-typescript-features-become-free-in-intellij-idea-the-intellij-idea-blog&quot;&gt;Core JavaScript and TypeScript Features Become Free in IntelliJ IDEA | The IntelliJ IDEA Blog&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://blog.jetbrains.com/idea/2026/03/js-ts-free-support/&quot; title=&quot;Core JavaScript and TypeScript Features Become Free in IntelliJ IDEA | The IntelliJ IDEA Blog&quot;&gt;blog.jetbrains.com/idea/2026/03/js-ts-free-support/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;JetBrains&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;IDE&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;TypeScript&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;IntelliJ IDEA v2026.1로, JavaScript/TypeScript/HTML/CSS 코어 기능이 무료로 이용 가능.&lt;br&gt;
지금까지는 Ultimate 버전에서는 제공하고 있던 Web 개발 대상 기능이, Community Edition에서도 이용 가능해짐.&lt;br&gt;
JS/TS 코드 보완이나 리팩토링, ESLint/Prettier 통합, Vite로 프로젝트 구성, npm 스크립트 실행, 의존관계 취약성 검출도 함.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;axios-compromised-on-npm-malicious-versions-drop-remote-access-trojan-stepsecurity&quot;&gt;axios Compromised on npm - Malicious Versions Drop Remote Access Trojan - StepSecurity&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://www.stepsecurity.io/blog/axios-compromised-on-npm-malicious-versions-drop-remote-access-trojan&quot; title=&quot;axios Compromised on npm - Malicious Versions Drop Remote Access Trojan - StepSecurity&quot;&gt;www.stepsecurity.io/blog/axios-compromised-on-npm-malicious-versions-drop-remote-access-trojan&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;npm&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;security&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;article&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;axios의 npm 패키지에 공급망 공격 관련해서.&lt;br&gt;
소셜 엔지니어링으로 관리자 계정 탈취당함, 악의있는 &lt;code&gt;axios@1.14.1&lt;/code&gt;와 &lt;code&gt;axios@0.30.4&lt;/code&gt;가 공개됨.&lt;br&gt;
&lt;code&gt;plain-crypto-js&lt;/code&gt; 멀웨어가 의존관계에 추가됨.&lt;br&gt;
postinstall 훅을 통해 macOS/Windows/Linux 대상 Remote Access Trojan(RAT)을 설치하는 구조.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://socket.dev/blog/attackers-hunting-high-impact-nodejs-maintainers&quot; title=&quot;Attackers Are Hunting High-Impact Node.js Maintainers in a C...&quot;&gt;Attackers Are Hunting High-Impact Node.js Maintainers in a C...&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://socket.dev/blog/hidden-blast-radius-of-the-axios-compromise&quot; title=&quot;The Hidden Blast Radius of the Axios Compromise - Socket&quot;&gt;The Hidden Blast Radius of the Axios Compromise - Socket&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;웹사이트, 서비스, 문서&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;introducing-emdash-the-spiritual-successor-to-wordpress-that-solves-plugin-security&quot;&gt;Introducing EmDash — the spiritual successor to WordPress that solves plugin security&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://blog.cloudflare.com/emdash-wordpress/&quot; title=&quot;Introducing EmDash — the spiritual successor to WordPress that solves plugin security&quot;&gt;blog.cloudflare.com/emdash-wordpress/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;cloudflare&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;CMS&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;TypeScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;astro&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;security&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;OpenSource&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;wordpress&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Cloudflare의 서버리스 CMS.&lt;br&gt;
TypeScript로 작성, Astro 6.0을 기반으로 한 오픈소스 (MIT 라이센스) CMS.&lt;br&gt;
플러그인을 독립해 샌드박스 환경 (Dynamic Workers)으로 실행, 플러그인 기원의 보안 문제 해결하는 아키텍처 채용.&lt;br&gt;
MCP이나 CLI에 의한 AI에이전트 연계, x402 프로토콜에 의한 결제 통합 기능도 있음.&lt;/p&gt;

&lt;hr&gt;

&lt;h2 id=&quot;vercel-labs-emulate-local-api-emulation-for-ci-and-no-network-sandboxes&quot;&gt;vercel-labs/emulate: Local API emulation for CI and no-network sandboxes&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/vercel-labs/emulate&quot; title=&quot;vercel-labs/emulate: Local API emulation for CI and no-network sandboxes&quot;&gt;github.com/vercel-labs/emulate&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;vercel&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;API&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;testing&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;CI&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;Tools&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;nodejs&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;server&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;Vercel/GitHub/Google/Slack/AWS(S3/SQS)의 API를 로컬에서 에뮬레이트하는 도구.&lt;br&gt;
외부 API의 목 서버에서 이용 가능.&lt;br&gt;
각 서비스는 스테이풀한 데이터를 저장하고, OAuth 2.0 플로우나 Webhook에도 대응하고 있음.&lt;/p&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;소프트웨어, 도구, 라이브러리&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;arrowjs-the-first-ui-framework-for-the-agentic-era&quot;&gt;ArrowJS — The first UI framework for the agentic era&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://arrow-js.com/&quot; title=&quot;ArrowJS — The first UI framework for the agentic era&quot;&gt;arrow-js.com/&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;JavaScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;TypeScript&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;WebAssembly&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;library&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;빌드 단계없이 동작하는 경량 UI 프레임워크. &lt;code&gt;reactive&lt;/code&gt;, &lt;code&gt;html&lt;/code&gt;, &lt;code&gt;component&lt;/code&gt; 3개 함수로 구성.&lt;br&gt;
AI 대상 WebAssembly 샌드박스 안에서 컴포넌트 로직을 분리해 실행하는 기능 갖고 있음.&lt;/p&gt;

&lt;hr&gt;

&lt;h1 class=&quot;site-genre&quot;&gt;도서&lt;/h1&gt;

&lt;hr&gt;

&lt;h2 id=&quot;react&quot;&gt;React 본격 입문 | 기술평론사&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://gihyo.jp/book/2026/978-4-297-15523-0&quot; title=&quot;React 본격 입문 | 기술평론사&quot;&gt;gihyo.jp/book/2026/978-4-297-15523-0&lt;/a&gt;&lt;br&gt;
&lt;p class=&quot;jser-tags jser-tag-icon&quot;&gt;&lt;span class=&quot;jser-tag&quot;&gt;React&lt;/span&gt; &lt;span class=&quot;jser-tag&quot;&gt;book&lt;/span&gt;&lt;/p&gt;&lt;/p&gt;

&lt;p&gt;2026년 4월 15일 발매.&lt;br&gt;
React 19 기반 입문서.&lt;/p&gt;

&lt;hr&gt;
</description>
        <pubDate>Mon, 06 Apr 2026 10:32:51 +0900</pubDate>
        <link>https://jser.info/ko/2026/04/06/typescript-6.0-es2026-rc-axios/</link>
        <guid isPermaLink="true">https://jser.info/ko/2026/04/06/typescript-6.0-es2026-rc-axios/</guid>
        
        <category>TypeScript</category>
        
        <category>nodejs</category>
        
        <category>security</category>
        
        <category>Tools</category>
        
        <category>React</category>
        
        
        <category>JSer</category>
        
      </item>
    
  </channel>
</rss>
