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をおすすめする
- ❤️ GitHub Sponsorsで@azuのスポンサーになる
- 🐦 X(Twitter)で@jser_infoをフォローする
JSer.info Sponsors
JSer.info SponsorsはGitHub SponsorsとしてJSer.infoを支援してくれている方々です。
ヘッドライン
Group Note: CSS Snapshot 2025 | 2025 | News | W3C
www.w3.org/news/2025/group-note-css-snapshot-2025/
CSS Snapshot 2025のリリース
Electron 38.0.0 | Electron
www.electronjs.org/blog/electron-38-0
Electron 38.0.0リリース。
Chromium 140/Node.js 22.18/V8 14へアップグレード。
macOS 11(Big Sur)サポート終了/ELECTRON_OZONE_PLATFORM_HINT
環境変数/plugin-crashed
イベント削除。
webFrame.routingId
プロパティ/webFrame.findFrameByRoutingId()
は非推奨。
WindowsでaccentColorのカスタマイズの対応、macOSのメモリ情報/Tray APIの拡張など
Release pnpm 10.16 · pnpm/pnpm
github.com/pnpm/pnpm/releases/tag/v10.16.0
pnpm v10.16.0リリース。
サプライチェーン攻撃対策としてminimumReleaseAge
オプションを追加、pnpm why --find-by=<pkg>
オプションを追加、Node.js 24の対応改善など
Release Version 27.0.0 · jsdom/jsdom
github.com/jsdom/jsdom/releases/tag/27.0.0
jsdom 27.0.0リリース。
Npde.js 18のサポート終了、イベントコンストラクタのサポートの追加、CSSセレクタエンジンを@asamuzakjp/dom-selector
に変更など
Deno 2.5: Permissions in the config file | Deno
Deno v2.5リリース。
--permissin-set
フラグのサポート、Deno.test.{before,after}{Each,All}
の追加、DENO_AUDIT_PERMISSIONS
で監査ログの出力に対応など
ESLint v9.35.0 released - ESLint - Pluggable JavaScript Linter
eslint.org/blog/2025/09/eslint-v9.35.0-released/
ESLint v9.35.0リリース。
try...catchでError Causeを使ってre-throwしてるかをチェックするpreserve-caught-error
ルールの追加など
アーティクル
How modern browsers work - by Addy Osmani - Elevate
addyo.substack.com/p/how-modern-browsers-work
ブラウザのアーキテクチャの変遷について。
Chromium/Blink/V8について、ネットワーク/HTML・CSS・JSパース/レイアウト/ペイント/コンポジット/マルチプロセス/サイト分離/サンドボックス化などの変遷について。
それぞれのブラウザエンジンの実装の違いについてなど
Behind The Scenes of Bun Install | Bun Blog
bun.com/blog/behind-the-scenes-of-bun-install
パッケージインストールのボトルネックはI/OではなくSystem Call数にあるという話。
user modeとkernel modeの切り替えにはコストがかかりパッケージインストール時はオーバヘッドが多く発生する。
bun install
ではこのSystem Call数をメトリクスとして使ってパフォーマンスを改善していっているという話
React Nativeの新アーキテクチャへの移行(2025年) - Shopify
shopify.engineering/react-native-new-architecture
ShopifyのReact NativeのNew Architectureへの移行について。
最小のコード変更で移行を優先し、デュアルアーキテクチャでRollback可能に、App StoreとPlay Storeでのロールアウト戦略について
The Basics of Anchor Positioning
ishadeed.com/article/anchor-positioning/
CSS Anchor Positioningについて。
anchor-name
/position-anchor
/anchor()
/position-area
/position-try-fallbacks
などの動作について。
styled-components maintenance mode: A 40% faster fork | Sanity
www.sanity.io/blog/cut-styled-components-into-pieces-this-is-our-last-resort
styled-componentsのメンテナンスが停止したので、パフォーマンスの改善とReact 19の対応したforkを作成しながら、別のCSSフレームワークに移行しているという話
ソフトウェア、ツール、ライブラリ関係
krasimir/forket: Forket is a tool that splits your code to client and server so you have RSC (React Server Components) working without a framework.
コードをクライアントとサーバに分割して、React Server Componentを扱うツール
panphora/overtype: The markdown editor that's just a textarea https://overtype.dev
WYSIWYGなMarkdownエディタライブラリ
embedpdf/embed-pdf-viewer: A PDF viewer that seamlessly integrates with any JavaScript project
github.com/embedpdf/embed-pdf-viewer
PDFビューアーを埋め込めるライブラリ