Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
個人的に嬉しかったpnpmの新機能・3選
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Atsushi Matsuo
April 11, 2026
Programming
200
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
個人的に嬉しかったpnpmの新機能・3選
2026-04-11 PHPカンファレンス小田原2026 LT資料
https://fortee.jp/phpconodawara-2026
Atsushi Matsuo
April 11, 2026
More Decks by Atsushi Matsuo
See All by Atsushi Matsuo
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
200
20年以上続くプロダクトでも使い続けられる静的解析ツールを求めて
matsuo_atsushi
0
180
PHPのバージョンアップ時にも役立ったAST(2026年版)
matsuo_atsushi
0
370
テストやOSS開発に役立つSetup PHP Action
matsuo_atsushi
0
330
PHPライセンス変更の議論を通じて学ぶOSSライセンスの基礎
matsuo_atsushi
0
300
Windows版PHPのビルド手順とPHP 8.4における変更点
matsuo_atsushi
0
1.8k
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
600
OSSの開発や貢献時に役立つRFC
matsuo_atsushi
0
270
PHPの開発に貢献する4つの方法
matsuo_atsushi
0
500
Other Decks in Programming
See All in Programming
ローカルLLMを使ってB2Bサービスを作っていての学び
yaotti
0
150
Spec Driven Development | AI Summit Lisbon
danielsogl
PRO
0
170
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.2k
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
240
Modding RubyKaigi for Myself
yui_knk
0
900
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
6
850
These Five Tricks Can Make Your Apps Greener, Cheaper, & Nicer
hollycummins
0
280
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
13
3.5k
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
250
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
160
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.6k
TAKTでAI駆動開発の品質を設計する
j5ik2o
6
1.1k
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Scaling GitHub
holman
464
140k
Crafting Experiences
bethany
1
170
Balancing Empowerment & Direction
lara
6
1.1k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
140
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
WENDY [Excerpt]
tessaabrams
11
38k
Thoughts on Productivity
jonyablonski
76
5.2k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
140
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.9k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.7k
Transcript
個人的に嬉しかった pnpmの新機能・3選 2026年4月11日 PHPカンファレンス小田原2026 サイボウズ株式会社 松尾篤 1
個人的に嬉しかったpnpmの新機能・3選 今回の話題 はじめに • なぜnpmからpnpmに移行したのか • 個人的に嬉しかったpnpmの新機能・3選 • npmサプライチェーン攻撃に対する緩和策 2
個人的に嬉しかったpnpmの新機能・3選 自己紹介 はじめに 松尾篤 • PHP使用歴:約21年 • PHPを使った開発歴は約18年 • 2023年4月にGaroon開発チームに加入
• これまでの登壇実績(PHP関連) • PHPカンファレンス名古屋2025「PHPのバージョンアップ時にも役立ったAST」 • PHPerKaigi 2025「Windows版PHPのビルド手順とPHP 8.4における変更点」 • PHPカンファレンス福岡2025「PHPライセンス変更の議論を通じて学ぶOSSライセンスの基礎」 • PHPカンファレンス香川2025「テストやOSS開発に役立つSetup PHP Action」 • PHPerKaigi 2026「PHPのバージョンアップ時にも役立ったAST(2026年版)」 • pnpm使用歴:約7ヶ月 3
なぜnpmからpnpmに移行したのか 4
個人的に嬉しかったpnpmの新機能・3選 pnpmの概要 なぜnpmからpnpmに移行したのか • Node.js標準のパッケージマネージャーであるnpmより高速でディスクの 使用効率も優れる • フロントエンドのパッケージ管理ツールとして採用例が増えてきている • PHPを使う開発者もnpmパッケージのインストールや管理は必要
5
個人的に嬉しかったpnpmの新機能・3選 npmサプライチェーン攻撃に対する緩和策の1つとして なぜnpmからpnpmに移行したのか • 2025年9月前後からnpmサプライチェーン攻撃が加速 • pnpmは依存ライブラリインストール時の安全性を高めやすい • pnpm 10では依存関係のライフサイクルスクリプトがデフォルトで実行され
ない • pnpm 10.16で追加されたminimumReleaseAgeオプションにより悪性マル ウェアを含むパッケージが混入するリスクを低減できる 6
個人的に嬉しかったpnpmの新機能・3選 7
個人的に嬉しかったpnpmの新機能・3選 個人的に嬉しかったpnpmの新機能・3選 個人的に嬉しかったpnpmの新機能・3選 • pnpm 10.16で追加されたminimumReleaseAge • pnpm 10.21で追加されたtrustPolicy •
pnpm 10.23で追加されたpnpm listの--lockfile-onlyオプション 8
個人的に嬉しかったpnpmの新機能・3選 pnpm 10.16で追加されたminimumReleaseAge 個人的に嬉しかったpnpmの新機能・3選 • 公開直後のnpmパッケージのインストールを一定時間避ける機能 • pnpm-workspace.yamlにおける設定例 • minimumReleaseAge:
20160 • 悪性マルウェアを含むバージョンのパッケージが混入するリスクを低減 9
個人的に嬉しかったpnpmの新機能・3選 pnpm 10.21で追加されたtrustPolicy 個人的に嬉しかったpnpmの新機能・3選 • no-downgradeに設定している場合に以前より信頼レベルの下がったパッ ケージのインストールを回避できる • 侵害されている可能性のあるバージョンや信頼性の低いバージョンのイン ストールを回避できる
• npm provenance付きで公開されるパッケージが増えることに期待 10
個人的に嬉しかったpnpmの新機能・3選 pnpm 10.23で追加されたpnpm listの--lockfile-onlyオプション 個人的に嬉しかったpnpmの新機能・3選 • 実際のnode_modulesディレクトリを確認する代わりにロックファイル (pnpm-lock.yaml)からパッケージ情報を読み取るオプション • node_modulesディレクトリがなくてもパッケージの一覧を確認できる
例)OSSライセンスの情報表示用に一覧を取得した時に作業ディレクトリの状態 に左右されなくなる 11
npmサプライチェーン攻撃に対する緩和策 12
個人的に嬉しかったpnpmの新機能・3選 npmサプライチェーン攻撃に対する緩和策 npmサプライチェーン攻撃に対する緩和策 • https://pnpm.io/en/supply-chain-security より抜粋 • 危険なpostinstallスクリプトの実行を阻止 • ロックファイルを使う
• pnpm-lock.yaml(npmでは「package-lock.json」に相当) • pnpm install --frozen-lockfile(npmでは「npm ci」に相当) • 依存ライブラリをアップデートする際にはクールダウン期間を設ける • pnpmならminimumReleaseAge • trustPolicyを使用して信頼レベルの下がったパッケージのインストールを回避 13
©️ Cybozu, Inc. 14