pnpm:Claude Code 实战指南
了解pnpm:Claude Code 实战. 包含实用技巧和代码示例。
pnpmワークスペースでモノレポを构建する
pnpmは厳密な依存解決とディスク効率の良さで人気の包マネージャーです。ワークスペース機能を使えば、添加ツールなしでモノレポを管理可以。Claude Codeを活用して、pnpmワークスペースの结构を高效地進めましょう。
ワークスペースの初期配置
> pnpm workspacesでモノレポ创建。
> 结构:
> - apps/web: React SPA
> - apps/admin: 管理画面
> - packages/ui: 共通组件
> - packages/config: 共通配置
# pnpm-workspace.yaml
packages:
- 'apps/*'
- 'packages/*'
// package.json (ルート)
{
"name": "my-monorepo",
"private": true,
"scripts": {
"dev": "pnpm -r --parallel dev",
"build": "pnpm -r build",
"lint": "pnpm -r lint",
"test": "pnpm -r test"
},
"devDependencies": {
"typescript": "^5.5.0"
}
}
包間の依存管理
> web应用からui包を参照する配置をして。
> TypeScriptのパス解決もセットアップして。
// apps/web/package.json
{
"name": "@myapp/web",
"dependencies": {
"@myapp/ui": "workspace:*",
"@myapp/config": "workspace:*"
}
}
// packages/ui/package.json
{
"name": "@myapp/ui",
"main": "./src/index.ts",
"types": "./src/index.ts",
"exports": {
".": {
"import": "./src/index.ts",
"types": "./src/index.ts"
}
}
}
workspace:* プロトコルにより、常にローカルの包が参照されます。公開時には実際のバージョン番号に自動置換されます。
フィルタリングとスクリプト実行
pnpmのフィルタ機能で特定包のみを操作可以。
# 特定パッケージのdev実行
pnpm --filter @myapp/web dev
# 依存パッケージも含めてビルド
pnpm --filter @myapp/web... build
# 変更があったパッケージのみテスト
pnpm --filter "...[origin/main]" test
# 複数パッケージの指定
pnpm --filter "@myapp/web" --filter "@myapp/admin" build
Changesetsでバージョン管理
> changesetsを引入して、包の公開フローを整備して。
pnpm add -Dw @changesets/cli
pnpm changeset init
// .changeset/config.json
{
"$schema": "https://unpkg.com/@changesets/[email protected]/schema.json",
"changelog": "@changesets/cli/changelog",
"commit": false,
"fixed": [],
"linked": [["@myapp/ui", "@myapp/config"]],
"access": "restricted",
"baseBranch": "main",
"updateInternalDependencies": "patch"
}
# 変更セットの作成
pnpm changeset
# バージョンの更新
pnpm changeset version
# 公開
pnpm -r publish --access public
.npmrcの优化
> pnpmの配置を优化して。strict-peer-depsと
> hoistの配置を适当地して。
# .npmrc
strict-peer-dependencies=false
auto-install-peers=true
shamefully-hoist=false
link-workspace-packages=true
prefer-workspace-packages=true
shamefully-hoist=false はpnpmの厳密な依存解決を維持する重要な配置です。暗黙的な依存をコードから排除可以。
总结
pnpmワークスペースは、シンプルながら強力なモノレポ管理を実現します。借助 Claude Code,依存関係の配置やCI结构もスムーズに進められます。モノレポ管理の実践指南や依存管理の最佳实践也建议一并参考。
pnpm的详细信息请参阅pnpm官方文档。
#Claude Code
#pnpm
#ワークスペース
#monorepo
#パッケージ管理
Related Posts
Use Cases
Use Cases
用 Claude Code 加速个人项目开发【附实战案例】
详解如何用 Claude Code 大幅提升个人项目的开发速度。包含从创意到上线的完整实战案例和工作流。
Use Cases
Use Cases
如何用 Claude Code 自动化代码重构
详解如何利用 Claude Code 高效完成代码重构自动化。包含实用提示词和真实项目中的重构模式。
Use Cases
Use Cases
Complete CORS Configuration Guide:Claude Code 实战指南
了解complete cors configuration guide:Claude Code 实战. 包含实用技巧和代码示例。