Use Cases

pnpm dengan Claude Code

Pelajari tentang pnpm menggunakan Claude Code. Dilengkapi tips praktis dan contoh kode.

pnpmworkspaceでmonorepoをpembangunan

pnpm 厳密な依存solusi dan ディスク効率 良さ 人気 packagemanager.workspace機能 使えば、penambahantoolsなし monorepo manajemen bisa dilakukan.Claude Code pemanfaatan 、pnpmworkspace 構成 efisien 進め.

初期pengaturan workspace

> pnpm workspaces dengan monorepo buatkan.
> 構成:
> - apps/web: React SPA
> - apps/admin: manajemen画面
> - packages/ui: 共通komponen
> - packages/config: 共通pengaturan
# 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"
  }
}

依存manajemen package間

> webaplikasi dari uipackage 参照するpengaturan して。
> TypeScript パスsolusi setup juga.
// 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:* プロトコル より、常 ローカル package 参照され.publikasi時 実際 versi番号 自動置換され.

filteringとscript実行

pnpm フィルタ機能 特定package み operasi bisa dilakukan.

# 特定パッケージの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でversimanajemen

> changesets penerapanして、package publikasiフロー 整備して。
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

optimasi .npmrc

> pnpm pengaturan optimalkan.strict-peer-deps dan 
> hoist pengaturan tepat.
# .npmrc
strict-peer-dependencies=false
auto-install-peers=true
shamefully-hoist=false
link-workspace-packages=true
prefer-workspace-packages=true

shamefully-hoist=false pnpm 厳密な依存solusi 維持 pentingなpengaturan.暗黙的な依存 コード dari 排除 bisa dilakukan.

Summary

pnpmworkspace 、シンプルな ら強力なmonorepomanajemen 実現.Claude Code 使えば、dependency pengaturanやCI構成 juga スムーズ 進められ.monorepomanajemen 実践panduan依存manajemen best practices juga 合わせて参考 .

Untuk pnpmの詳細, lihat pnpm公式ドキュメント.

#Claude Code #pnpm #workspace #monorepo #packagemanajemen