Fork me on GitHub

2025-09-15のJS: pnpm 10.16(サプライチェーン攻撃対策)、Deno 2.5、bun installの裏側

Edit on GitHub 編集履歴を見る

JSer.info #748 - pnpm 10.16がリリースされました。

新しい機能としてパッケージがリリースされてから最低限の日数が経過するまでインストールを待機するminimumReleaseAgeオプションが追加されています。これにより、悪意のあるパッケージが即座にインストールされることを防ぎ、サプライチェーン攻撃のリスクを軽減できます。
また、pnpm why --find-by=<pkg>オプションでより柔軟な依存関係の検索が可能になり、Node.js 24のサポートも改善されています。

同様のオプションはrenovatebotやdependabotにも存在しており、パッケージを追加やアップデートする際にマルウェアが混入するリスクを下げるために利用されています。


Deno 2.5がリリースされました。

パーミッションを設定ファイルで管理して、コマンド実行時に利用するパーミッションセットを指定する--permission-setフラグが追加されています。
また、Deno.test.{before,after}{Each,All}メソッドが追加、DENO_AUDIT_PERMISSIONS環境変数でパーミッション使用の監査ログを出力に対応しています。


次の記事では、bun installの内部実装とパフォーマンス最適化について詳しく解説されています。

パッケージインストールのボトルネックはI/Oではなく、System Call数にあるという視点の話が書かれています。ユーザーモードとカーネルモードの切り替えコストがパッケージインストール時のオーバーヘッドの主要因であり、Bunではこのメトリクスを重視してパフォーマンス改善しているとのことです。


JSer.infoをサポートするには

JSer.info Sponsors

JSer.info SponsorsGitHub SponsorsとしてJSer.infoを支援してくれている方々です。


ヘッドライン


Group Note: CSS Snapshot 2025 | 2025 | News | W3C

www.w3.org/news/2025/group-note-css-snapshot-2025/

css spec rlee

CSS Snapshot 2025のリリース


Electron 38.0.0 | Electron

www.electronjs.org/blog/electron-38-0

Electron ReleaseNote

Electron 38.0.0リリース。
Chromium 140/Node.js 22.18/V8 14へアップグレード。
macOS 11(Big Sur)サポート終了/ELECTRON_OZONE_PLATFORM_HINT環境変数/plugin-crashedイベント削除。
webFrame.routingIdプロパティ/webFrame.findFrameByRoutingId()は非推奨。
WindowsでaccentColorのカスタマイズの対応、macOSのメモリ情報/Tray APIの拡張など


Release pnpm 10.16 · pnpm/pnpm

github.com/pnpm/pnpm/releases/tag/v10.16.0

pnpm ReleaseNote

pnpm v10.16.0リリース。
サプライチェーン攻撃対策としてminimumReleaseAgeオプションを追加、pnpm why --find-by=<pkg>オプションを追加、Node.js 24の対応改善など


Release Version 27.0.0 · jsdom/jsdom

github.com/jsdom/jsdom/releases/tag/27.0.0

JavaScript DOM library ReleaseNote

jsdom 27.0.0リリース。
Npde.js 18のサポート終了、イベントコンストラクタのサポートの追加、CSSセレクタエンジンを@asamuzakjp/dom-selectorに変更など


Deno 2.5: Permissions in the config file | Deno

deno.com/blog/v2.5

deno ReleaseNote

Deno v2.5リリース。
--permissin-setフラグのサポート、Deno.test.{before,after}{Each,All}の追加、DENO_AUDIT_PERMISSIONSで監査ログの出力に対応など


ESLint v9.35.0 released - ESLint - Pluggable JavaScript Linter

eslint.org/blog/2025/09/eslint-v9.35.0-released/

ESLint reel

ESLint v9.35.0リリース。
try...catchでError Causeを使ってre-throwしてるかをチェックするpreserve-caught-errorルールの追加など


アーティクル


How modern browsers work - by Addy Osmani - Elevate

addyo.substack.com/p/how-modern-browsers-work

browser article

ブラウザのアーキテクチャの変遷について。
Chromium/Blink/V8について、ネットワーク/HTML・CSS・JSパース/レイアウト/ペイント/コンポジット/マルチプロセス/サイト分離/サンドボックス化などの変遷について。
それぞれのブラウザエンジンの実装の違いについてなど


Behind The Scenes of Bun Install | Bun Blog

bun.com/blog/behind-the-scenes-of-bun-install

Bun article performance

パッケージインストールのボトルネックはI/OではなくSystem Call数にあるという話。
user modeとkernel modeの切り替えにはコストがかかりパッケージインストール時はオーバヘッドが多く発生する。
bun installではこのSystem Call数をメトリクスとして使ってパフォーマンスを改善していっているという話


React Nativeの新アーキテクチャへの移行(2025年) - Shopify

shopify.engineering/react-native-new-architecture

React Native article

ShopifyのReact NativeのNew Architectureへの移行について。
最小のコード変更で移行を優先し、デュアルアーキテクチャでRollback可能に、App StoreとPlay Storeでのロールアウト戦略について


The Basics of Anchor Positioning

ishadeed.com/article/anchor-positioning/

css article

CSS Anchor Positioningについて。
anchor-name/position-anchor/anchor()/position-area/position-try-fallbacksなどの動作について。


styled-components maintenance mode: A 40% faster fork | Sanity

www.sanity.io/blog/cut-styled-components-into-pieces-this-is-our-last-resort

React css article

styled-componentsのメンテナンスが停止したので、パフォーマンスの改善とReact 19の対応したforkを作成しながら、別のCSSフレームワークに移行しているという話


ソフトウェア、ツール、ライブラリ関係


krasimir/forket: Forket is a tool that splits your code to client and server so you have RSC (React Server Components) working without a framework.

github.com/krasimir/forket

React library

コードをクライアントとサーバに分割して、React Server Componentを扱うツール


panphora/overtype: The markdown editor that's just a textarea https://overtype.dev

github.com/panphora/overtype

Markdown library editor

WYSIWYGなMarkdownエディタライブラリ


embedpdf/embed-pdf-viewer: A PDF viewer that seamlessly integrates with any JavaScript project

github.com/embedpdf/embed-pdf-viewer

JavaScript PDF library

PDFビューアーを埋め込めるライブラリ


この記事へ修正リクエストをする
JSer.info Slackに参加する