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
79
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
PHPのバージョンアップ時にも役立ったAST(2026年版)
matsuo_atsushi
0
310
テストやOSS開発に役立つSetup PHP Action
matsuo_atsushi
0
280
PHPライセンス変更の議論を通じて学ぶOSSライセンスの基礎
matsuo_atsushi
0
270
Windows版PHPのビルド手順とPHP 8.4における変更点
matsuo_atsushi
0
1.6k
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
580
OSSの開発や貢献時に役立つRFC
matsuo_atsushi
0
260
PHPの開発に貢献する4つの方法
matsuo_atsushi
0
480
Other Decks in Programming
See All in Programming
NakouPAY説明用
annouim0
0
250
iOS機能開発のAI環境と起きた変化
ryunakayama
0
190
YJITとZJITにはイカなる違いがあるのか?
nakiym
0
230
PDI: Como Alavancar Sua Carreira e Seu Negócio
marcelgsantos
0
130
AIベース静的検査器の偽陽性率を抑える工夫3選
orgachem
PRO
3
340
UIの境界線をデザインする | React Tokyo #15 メイントーク
sasagar
2
370
Don't Prompt Harder, Structure Better
kitasuke
0
780
PCOVから学ぶコードカバレッジ #phpcon_odawara
o0h
PRO
0
280
Road to RubyKaigi: Play Hard(ware)
makicamel
1
340
🦞OpenClaw works with AWS
licux
1
180
Coding as Prompting Since 2025
ragingwind
0
840
一度始めたらやめられない開発効率向上術 / Findy あなたのdotfilesを教えて!
k0kubun
4
3k
Featured
See All Featured
The Mindset for Success: Future Career Progression
greggifford
PRO
0
310
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
530
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
370
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
A Tale of Four Properties
chriscoyier
163
24k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
890
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.6k
Testing 201, or: Great Expectations
jmmastey
46
8.1k
Designing for Performance
lara
611
70k
The agentic SEO stack - context over prompts
schlessera
0
750
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