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
Atsushi Matsuo
April 11, 2026
Programming
170
0
Share
個人的に嬉しかった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
20年以上続くプロダクトでも使い続けられる静的解析ツールを求めて
matsuo_atsushi
0
150
PHPのバージョンアップ時にも役立ったAST(2026年版)
matsuo_atsushi
0
340
テストやOSS開発に役立つSetup PHP Action
matsuo_atsushi
0
310
PHPライセンス変更の議論を通じて学ぶOSSライセンスの基礎
matsuo_atsushi
0
290
Windows版PHPのビルド手順とPHP 8.4における変更点
matsuo_atsushi
0
1.7k
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
590
OSSの開発や貢献時に役立つRFC
matsuo_atsushi
0
260
PHPの開発に貢献する4つの方法
matsuo_atsushi
0
490
Other Decks in Programming
See All in Programming
過去のレビュー知見をSkillsで資産化した話
pkshadeck
PRO
1
2k
関係性から理解する"同一性"の型用語たち
pvcresin
1
220
Back to the roots of date
jinroq
0
890
How We Practice Exploratory Testing in Iterative Development( #scrumniigata ) / 反復開発の中で、探索的テストをどう実施しているか
teyamagu
PRO
3
870
Agentic UI beyond Chats Architecture Patterns & Open Standards @ngMunich 05/2026
manfredsteyer
PRO
0
110
cloudnative conference 2026 flyle
azihsoyn
1
190
SkillsをS3 Filesに置く時のあれこれ
watany
3
1.6k
〜バイブコーディングを超えて〜 チームで実験し続けたAI駆動開発
tigertora7571
0
210
ECR拡張スキャンでSBOMを収集して サプライチェーン攻撃の影響調査を 爆速で終わらせてみた
akihisaikeda
1
150
Agentic UI in the Frontend: Architectures with Open Standards @JAX 2026 in Mainz
manfredsteyer
PRO
0
120
【ディップ|26年新卒研修資料】OpenAPI/Swagger REST API研修
dip_tech
PRO
0
170
Oxlintはいかにしてtsgolintのlint ruleを呼び出しているのか
syumai
0
270
Featured
See All Featured
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Google's AI Overviews - The New Search
badams
0
1k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Practical Orchestrator
shlominoach
191
11k
From π to Pie charts
rasagy
0
180
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
550
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
120
Designing Experiences People Love
moore
143
24k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
190
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.6k
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