Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
個人的に嬉しかったpnpmの新機能・3選
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Atsushi Matsuo
April 11, 2026
Programming
300
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
PHP 8.5へのバージョンアップ時にも役立つAST(抽象構文木)
matsuo_atsushi
0
55
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
850
20年以上続くプロダクトでも使い続けられる静的解析ツールを求めて
matsuo_atsushi
0
240
PHPのバージョンアップ時にも役立ったAST(2026年版)
matsuo_atsushi
0
770
テストやOSS開発に役立つSetup PHP Action
matsuo_atsushi
0
400
PHPライセンス変更の議論を通じて学ぶOSSライセンスの基礎
matsuo_atsushi
0
340
Windows版PHPのビルド手順とPHP 8.4における変更点
matsuo_atsushi
0
2k
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
650
OSSの開発や貢献時に役立つRFC
matsuo_atsushi
0
290
Other Decks in Programming
See All in Programming
FastAPI の並行処理モデルを完全に理解する
hoto17296
9
3.8k
Seeing Through Serverless: Observability for AWS Lambda with ADOT and CloudWatch Application Signals
seike460
PRO
1
130
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
130
Foundry Localでエージェント開発
seosoft
0
160
WebMCP Challenge に星空観察アプリで参加した話
okajun35
0
120
GKE アップグレード前に知っておきたい Blue/Green と PDB の関係
stkk
0
160
スマート反転とウェブアクセシビリティ
camiha
0
170
MIZARU@SPAJAM2026 第二回予選
1901drama
0
110
Snowflakeで業務アプリを作ろう。 Snowflakeのアプリ機能解説&実践ガイド
ayumu_yamaguchi
1
190
初心者DevRelとして参加者だった私が、DevRel Talks!#2に登壇するまでにしてきたこと
sokohirai
0
360
GraphRAGのKnowledge Graphを 直接!見る/View-GraphRAG's-KnowledgeGraph-directly!
tyumugi1113
1
270
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
760
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
135
10k
The SEO identity crisis: Don't let AI make you average
varn
0
550
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Designing for humans not robots
tammielis
254
26k
Technical Leadership for Architectural Decision Making
baasie
3
560
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Amusing Abliteration
ianozsvald
1
290
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