pnpm-catalog-updates 0.5.7 → 0.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/bin/pcu.js +1 -1
  2. package/dist/index.js +9559 -32
  3. package/dist/index.js.map +1 -1
  4. package/package.json +61 -103
  5. package/src/cli/commands/checkCommand.ts +227 -0
  6. package/src/cli/commands/initCommand.ts +394 -0
  7. package/src/cli/commands/securityCommand.ts +569 -0
  8. package/src/cli/commands/updateCommand.ts +245 -0
  9. package/src/cli/formatters/outputFormatter.ts +830 -0
  10. package/src/cli/formatters/progressBar.ts +700 -0
  11. package/src/cli/index.ts +565 -0
  12. package/src/cli/interactive/interactivePrompts.ts +517 -0
  13. package/src/cli/options/globalOptions.ts +380 -0
  14. package/src/cli/options/index.ts +5 -0
  15. package/src/cli/themes/colorTheme.ts +379 -0
  16. package/src/cli/validators/commandValidator.ts +395 -0
  17. package/src/cli/validators/index.ts +5 -0
  18. package/src/index.ts +4 -0
  19. package/LICENSE +0 -21
  20. package/README.ja.md +0 -587
  21. package/README.md +0 -694
  22. package/README.zh-CN.md +0 -634
  23. package/dist/application/services/CatalogUpdateService.d.ts +0 -209
  24. package/dist/application/services/CatalogUpdateService.d.ts.map +0 -1
  25. package/dist/application/services/CatalogUpdateService.js +0 -839
  26. package/dist/application/services/CatalogUpdateService.js.map +0 -1
  27. package/dist/application/services/WorkspaceService.d.ts +0 -139
  28. package/dist/application/services/WorkspaceService.d.ts.map +0 -1
  29. package/dist/application/services/WorkspaceService.js +0 -340
  30. package/dist/application/services/WorkspaceService.js.map +0 -1
  31. package/dist/cli/commands/CheckCommand.d.ts +0 -40
  32. package/dist/cli/commands/CheckCommand.d.ts.map +0 -1
  33. package/dist/cli/commands/CheckCommand.js +0 -177
  34. package/dist/cli/commands/CheckCommand.js.map +0 -1
  35. package/dist/cli/commands/InitCommand.d.ts +0 -53
  36. package/dist/cli/commands/InitCommand.d.ts.map +0 -1
  37. package/dist/cli/commands/InitCommand.js +0 -338
  38. package/dist/cli/commands/InitCommand.js.map +0 -1
  39. package/dist/cli/commands/SecurityCommand.d.ts +0 -113
  40. package/dist/cli/commands/SecurityCommand.d.ts.map +0 -1
  41. package/dist/cli/commands/SecurityCommand.js +0 -410
  42. package/dist/cli/commands/SecurityCommand.js.map +0 -1
  43. package/dist/cli/commands/UpdateCommand.d.ts +0 -44
  44. package/dist/cli/commands/UpdateCommand.d.ts.map +0 -1
  45. package/dist/cli/commands/UpdateCommand.js +0 -189
  46. package/dist/cli/commands/UpdateCommand.js.map +0 -1
  47. package/dist/cli/formatters/OutputFormatter.d.ts +0 -116
  48. package/dist/cli/formatters/OutputFormatter.d.ts.map +0 -1
  49. package/dist/cli/formatters/OutputFormatter.js +0 -664
  50. package/dist/cli/formatters/OutputFormatter.js.map +0 -1
  51. package/dist/cli/formatters/ProgressBar.d.ts +0 -195
  52. package/dist/cli/formatters/ProgressBar.d.ts.map +0 -1
  53. package/dist/cli/formatters/ProgressBar.js +0 -622
  54. package/dist/cli/formatters/ProgressBar.js.map +0 -1
  55. package/dist/cli/index.d.ts +0 -12
  56. package/dist/cli/index.d.ts.map +0 -1
  57. package/dist/cli/index.js +0 -492
  58. package/dist/cli/index.js.map +0 -1
  59. package/dist/cli/interactive/InteractivePrompts.d.ts +0 -85
  60. package/dist/cli/interactive/InteractivePrompts.d.ts.map +0 -1
  61. package/dist/cli/interactive/InteractivePrompts.js +0 -434
  62. package/dist/cli/interactive/InteractivePrompts.js.map +0 -1
  63. package/dist/cli/options/GlobalOptions.d.ts +0 -117
  64. package/dist/cli/options/GlobalOptions.d.ts.map +0 -1
  65. package/dist/cli/options/GlobalOptions.js +0 -278
  66. package/dist/cli/options/GlobalOptions.js.map +0 -1
  67. package/dist/cli/options/index.d.ts +0 -5
  68. package/dist/cli/options/index.d.ts.map +0 -1
  69. package/dist/cli/options/index.js +0 -5
  70. package/dist/cli/options/index.js.map +0 -1
  71. package/dist/cli/themes/ColorTheme.d.ts +0 -211
  72. package/dist/cli/themes/ColorTheme.d.ts.map +0 -1
  73. package/dist/cli/themes/ColorTheme.js +0 -267
  74. package/dist/cli/themes/ColorTheme.js.map +0 -1
  75. package/dist/cli/validators/CommandValidator.d.ts +0 -60
  76. package/dist/cli/validators/CommandValidator.d.ts.map +0 -1
  77. package/dist/cli/validators/CommandValidator.js +0 -319
  78. package/dist/cli/validators/CommandValidator.js.map +0 -1
  79. package/dist/cli/validators/index.d.ts +0 -5
  80. package/dist/cli/validators/index.d.ts.map +0 -1
  81. package/dist/cli/validators/index.js +0 -5
  82. package/dist/cli/validators/index.js.map +0 -1
  83. package/dist/common/config/Config.d.ts +0 -142
  84. package/dist/common/config/Config.d.ts.map +0 -1
  85. package/dist/common/config/Config.js +0 -382
  86. package/dist/common/config/Config.js.map +0 -1
  87. package/dist/common/config/ConfigLoader.d.ts +0 -49
  88. package/dist/common/config/ConfigLoader.d.ts.map +0 -1
  89. package/dist/common/config/ConfigLoader.js +0 -180
  90. package/dist/common/config/ConfigLoader.js.map +0 -1
  91. package/dist/common/config/PackageFilterConfig.d.ts +0 -56
  92. package/dist/common/config/PackageFilterConfig.d.ts.map +0 -1
  93. package/dist/common/config/PackageFilterConfig.js +0 -94
  94. package/dist/common/config/PackageFilterConfig.js.map +0 -1
  95. package/dist/common/config/index.d.ts +0 -8
  96. package/dist/common/config/index.d.ts.map +0 -1
  97. package/dist/common/config/index.js +0 -8
  98. package/dist/common/config/index.js.map +0 -1
  99. package/dist/common/error-handling/ErrorTracker.d.ts +0 -48
  100. package/dist/common/error-handling/ErrorTracker.d.ts.map +0 -1
  101. package/dist/common/error-handling/ErrorTracker.js +0 -93
  102. package/dist/common/error-handling/ErrorTracker.js.map +0 -1
  103. package/dist/common/error-handling/UserFriendlyErrorHandler.d.ts +0 -74
  104. package/dist/common/error-handling/UserFriendlyErrorHandler.d.ts.map +0 -1
  105. package/dist/common/error-handling/UserFriendlyErrorHandler.js +0 -703
  106. package/dist/common/error-handling/UserFriendlyErrorHandler.js.map +0 -1
  107. package/dist/common/error-handling/index.d.ts +0 -11
  108. package/dist/common/error-handling/index.d.ts.map +0 -1
  109. package/dist/common/error-handling/index.js +0 -9
  110. package/dist/common/error-handling/index.js.map +0 -1
  111. package/dist/common/logger/Logger.d.ts +0 -110
  112. package/dist/common/logger/Logger.d.ts.map +0 -1
  113. package/dist/common/logger/Logger.js +0 -289
  114. package/dist/common/logger/Logger.js.map +0 -1
  115. package/dist/common/logger/index.d.ts +0 -6
  116. package/dist/common/logger/index.d.ts.map +0 -1
  117. package/dist/common/logger/index.js +0 -6
  118. package/dist/common/logger/index.js.map +0 -1
  119. package/dist/common/types/cli.d.ts +0 -265
  120. package/dist/common/types/cli.d.ts.map +0 -1
  121. package/dist/common/types/cli.js +0 -5
  122. package/dist/common/types/cli.js.map +0 -1
  123. package/dist/common/types/core.d.ts +0 -270
  124. package/dist/common/types/core.d.ts.map +0 -1
  125. package/dist/common/types/core.js +0 -32
  126. package/dist/common/types/core.js.map +0 -1
  127. package/dist/common/types/index.d.ts +0 -8
  128. package/dist/common/types/index.d.ts.map +0 -1
  129. package/dist/common/types/index.js +0 -8
  130. package/dist/common/types/index.js.map +0 -1
  131. package/dist/common/utils/VersionChecker.d.ts +0 -54
  132. package/dist/common/utils/VersionChecker.d.ts.map +0 -1
  133. package/dist/common/utils/VersionChecker.js +0 -180
  134. package/dist/common/utils/VersionChecker.js.map +0 -1
  135. package/dist/common/utils/async.d.ts +0 -74
  136. package/dist/common/utils/async.d.ts.map +0 -1
  137. package/dist/common/utils/async.js +0 -228
  138. package/dist/common/utils/async.js.map +0 -1
  139. package/dist/common/utils/format.d.ts +0 -32
  140. package/dist/common/utils/format.d.ts.map +0 -1
  141. package/dist/common/utils/format.js +0 -121
  142. package/dist/common/utils/format.js.map +0 -1
  143. package/dist/common/utils/git.d.ts +0 -44
  144. package/dist/common/utils/git.d.ts.map +0 -1
  145. package/dist/common/utils/git.js +0 -147
  146. package/dist/common/utils/git.js.map +0 -1
  147. package/dist/common/utils/index.d.ts +0 -12
  148. package/dist/common/utils/index.d.ts.map +0 -1
  149. package/dist/common/utils/index.js +0 -12
  150. package/dist/common/utils/index.js.map +0 -1
  151. package/dist/common/utils/string.d.ts +0 -56
  152. package/dist/common/utils/string.d.ts.map +0 -1
  153. package/dist/common/utils/string.js +0 -134
  154. package/dist/common/utils/string.js.map +0 -1
  155. package/dist/common/utils/validation.d.ts +0 -88
  156. package/dist/common/utils/validation.d.ts.map +0 -1
  157. package/dist/common/utils/validation.js +0 -308
  158. package/dist/common/utils/validation.js.map +0 -1
  159. package/dist/domain/entities/Catalog.d.ts +0 -117
  160. package/dist/domain/entities/Catalog.d.ts.map +0 -1
  161. package/dist/domain/entities/Catalog.js +0 -240
  162. package/dist/domain/entities/Catalog.js.map +0 -1
  163. package/dist/domain/entities/Package.d.ts +0 -143
  164. package/dist/domain/entities/Package.d.ts.map +0 -1
  165. package/dist/domain/entities/Package.js +0 -272
  166. package/dist/domain/entities/Package.js.map +0 -1
  167. package/dist/domain/entities/Workspace.d.ts +0 -95
  168. package/dist/domain/entities/Workspace.d.ts.map +0 -1
  169. package/dist/domain/entities/Workspace.js +0 -173
  170. package/dist/domain/entities/Workspace.js.map +0 -1
  171. package/dist/domain/repositories/WorkspaceRepository.d.ts +0 -41
  172. package/dist/domain/repositories/WorkspaceRepository.d.ts.map +0 -1
  173. package/dist/domain/repositories/WorkspaceRepository.js +0 -8
  174. package/dist/domain/repositories/WorkspaceRepository.js.map +0 -1
  175. package/dist/domain/value-objects/CatalogCollection.d.ts +0 -106
  176. package/dist/domain/value-objects/CatalogCollection.d.ts.map +0 -1
  177. package/dist/domain/value-objects/CatalogCollection.js +0 -230
  178. package/dist/domain/value-objects/CatalogCollection.js.map +0 -1
  179. package/dist/domain/value-objects/PackageCollection.d.ts +0 -122
  180. package/dist/domain/value-objects/PackageCollection.d.ts.map +0 -1
  181. package/dist/domain/value-objects/PackageCollection.js +0 -263
  182. package/dist/domain/value-objects/PackageCollection.js.map +0 -1
  183. package/dist/domain/value-objects/Version.d.ts +0 -141
  184. package/dist/domain/value-objects/Version.d.ts.map +0 -1
  185. package/dist/domain/value-objects/Version.js +0 -268
  186. package/dist/domain/value-objects/Version.js.map +0 -1
  187. package/dist/domain/value-objects/WorkspaceConfig.d.ts +0 -144
  188. package/dist/domain/value-objects/WorkspaceConfig.d.ts.map +0 -1
  189. package/dist/domain/value-objects/WorkspaceConfig.js +0 -357
  190. package/dist/domain/value-objects/WorkspaceConfig.js.map +0 -1
  191. package/dist/domain/value-objects/WorkspaceId.d.ts +0 -51
  192. package/dist/domain/value-objects/WorkspaceId.d.ts.map +0 -1
  193. package/dist/domain/value-objects/WorkspaceId.js +0 -104
  194. package/dist/domain/value-objects/WorkspaceId.js.map +0 -1
  195. package/dist/domain/value-objects/WorkspacePath.d.ts +0 -75
  196. package/dist/domain/value-objects/WorkspacePath.d.ts.map +0 -1
  197. package/dist/domain/value-objects/WorkspacePath.js +0 -128
  198. package/dist/domain/value-objects/WorkspacePath.js.map +0 -1
  199. package/dist/index.d.ts +0 -25
  200. package/dist/index.d.ts.map +0 -1
  201. package/dist/infrastructure/cache/Cache.d.ts +0 -161
  202. package/dist/infrastructure/cache/Cache.d.ts.map +0 -1
  203. package/dist/infrastructure/cache/Cache.js +0 -398
  204. package/dist/infrastructure/cache/Cache.js.map +0 -1
  205. package/dist/infrastructure/cache/index.d.ts +0 -6
  206. package/dist/infrastructure/cache/index.d.ts.map +0 -1
  207. package/dist/infrastructure/cache/index.js +0 -6
  208. package/dist/infrastructure/cache/index.js.map +0 -1
  209. package/dist/infrastructure/external-services/NpmRegistryService.d.ts +0 -153
  210. package/dist/infrastructure/external-services/NpmRegistryService.d.ts.map +0 -1
  211. package/dist/infrastructure/external-services/NpmRegistryService.js +0 -511
  212. package/dist/infrastructure/external-services/NpmRegistryService.js.map +0 -1
  213. package/dist/infrastructure/file-system/FileSystemService.d.ts +0 -120
  214. package/dist/infrastructure/file-system/FileSystemService.d.ts.map +0 -1
  215. package/dist/infrastructure/file-system/FileSystemService.js +0 -663
  216. package/dist/infrastructure/file-system/FileSystemService.js.map +0 -1
  217. package/dist/infrastructure/repositories/FileWorkspaceRepository.d.ts +0 -57
  218. package/dist/infrastructure/repositories/FileWorkspaceRepository.d.ts.map +0 -1
  219. package/dist/infrastructure/repositories/FileWorkspaceRepository.js +0 -179
  220. package/dist/infrastructure/repositories/FileWorkspaceRepository.js.map +0 -1
  221. package/dist/infrastructure/utils/NpmrcParser.d.ts +0 -40
  222. package/dist/infrastructure/utils/NpmrcParser.d.ts.map +0 -1
  223. package/dist/infrastructure/utils/NpmrcParser.js +0 -157
  224. package/dist/infrastructure/utils/NpmrcParser.js.map +0 -1
package/README.ja.md DELETED
@@ -1,587 +0,0 @@
1
- # pnpm-catalog-updates
2
-
3
- pnpm ワークスペースカタログ依存関係をチェックおよび更新するための強力な CLI ツール。
4
- [npm-check-updates](https://github.com/raineorshine/npm-check-updates)にインスパイアされました。
5
-
6
- **📖 ドキュメント言語**: [English](README.md) | [中文](README.zh-CN.md) |
7
- [日本語](README.ja.md)
8
-
9
- [![CI](https://img.shields.io/github/actions/workflow/status/houko/pnpm-catalog-updates/ci.yml?label=CI&logo=github)](https://github.com/houko/pnpm-catalog-updates/actions)
10
- [![npm](https://img.shields.io/npm/v/pnpm-catalog-updates)](https://www.npmjs.com/package/pnpm-catalog-updates)
11
- [![Coverage](https://img.shields.io/coveralls/github/houko/pnpm-catalog-updates/main)](https://coveralls.io/github/houko/pnpm-catalog-updates)
12
-
13
- ## ✨ 特徴
14
-
15
- - 🏗️ **ワンコマンドセットアップ**: `pcu init`で完全なPNPMワークスペースを初期化
16
- - 🔍 **スマート検出**: pnpm ワークスペースとカタログ設定を自動的に検出
17
- - 🎯 **カタログ特化**: pnpm カタログ依存関係管理に特化
18
- - 🚀
19
- **インタラクティブモード**: 直感的なインターフェースで更新する依存関係を選択
20
- - 📊 **影響分析**: カタログの変更がどのパッケージに影響するかを理解
21
- - 🔒
22
- **安全な更新**: ドライラン モードとバックアップ オプションで安全な依存関係更新
23
- - ⚡ **高パフォーマンス**: 並列 API クエリとインテリジェントキャッシング
24
- - 🛡️ **セキュリティ対応**: 組み込みのセキュリティ脆弱性スキャン
25
- - 🎨
26
- **美しい UI**: 強化されたプログレスバー、6種類のビジュアルスタイル、カラーテーマ、インタラクティブプロンプト
27
- - 🌈
28
- **プログレスバースタイル**: グラデーション、ファンシー、ミニマル、レインボー、ネオン、ブロックスタイルから選択
29
- - 🎭
30
- **カスタマイズ可能なテーマ**: 複数のカラーテーマ(デフォルト、モダン、ミニマル、ネオン)
31
- - 📈
32
- **リアルタイムプログレス**: 速度インジケーターと時間推定付きのライブ進行状況追跡
33
- - 🔄 **スマートバージョンチェック**: --version コマンドによる自動更新通知
34
- - 🔧 **設定可能**: 柔軟な設定オプションと更新戦略
35
- - 🔐 **プライベートレジストリ対応**: `.npmrc` と `.pnpmrc`
36
- 設定ファイルを自動的に読み取り、スコープ付きレジストリと認証をサポート
37
- - 📦
38
- **マルチレジストリ対応**: 異なるパッケージスコープに異なるレジストリを使用(例:GitHub
39
- Packages、プライベート npm レジストリ)
40
-
41
- ## 🚀 クイックスタート
42
-
43
- ```bash
44
- # 新しいPNPMワークスペースとPCU設定を初期化
45
- pcu init
46
-
47
- # または既存のワークスペースで更新をチェック
48
- pcu -c
49
- ```
50
-
51
- ![画像](https://github.com/user-attachments/assets/f05a970e-c58c-44f1-b3f1-351ae30b4a35)
52
-
53
- ### インストール
54
-
55
- ```bash
56
- # グローバルインストール
57
- npm install -g pnpm-catalog-updates
58
- # または
59
- npm install -g pcu
60
-
61
- # または npx で使用
62
- npx pnpm-catalog-updates
63
- # または
64
- npx pcu
65
-
66
- # または短いエイリアスを使用
67
- pcu
68
- ```
69
-
70
- ### 基本的な使い方
71
-
72
- ```bash
73
- # PNPMワークスペースとPCU設定を初期化
74
- pcu init
75
-
76
- # 更新をクイックチェック
77
- pcu -c
78
-
79
- # クイック更新(インタラクティブ)
80
- pcu -i
81
-
82
- # クイック更新(ドライラン)
83
- pcu -u -d
84
-
85
- # ワークスペース情報を取得
86
- pcu -s
87
- ```
88
-
89
- ### よく使うコマンド
90
-
91
- | コマンド | 説明 | 例 |
92
- | ---------- | ---------------------------------- | ------------------------- |
93
- | `pcu init` | ワークスペースと設定を初期化 | `pcu init --verbose` |
94
- | `pcu -c` | 更新をチェック | `pcu -c --catalog node18` |
95
- | `pcu -i` | 依存関係を更新(インタラクティブ) | `pcu -i -b` |
96
- | `pcu -a` | 影響を分析 | `pcu -a default react` |
97
- | `pcu -s` | ワークスペース情報 | `pcu -s --validate` |
98
- | `pcu -t` | カラーテーマを設定 | `pcu -t --set modern` |
99
- | `pcu -h` | ヘルプを表示 | `pcu -h update` |
100
-
101
- ## 📖 完全な使用ガイド
102
-
103
- ### すべてのコマンドとショートカット
104
-
105
- | フルコマンド | ショートカット | 説明 |
106
- | --------------- | -------------- | ------------------------------------ |
107
- | `pcu init` | `pcu i` | PNPMワークスペースとPCU設定を初期化 |
108
- | `pcu check` | `pcu -c` | 期限切れのカタログ依存関係をチェック |
109
- | `pcu update` | `pcu -u` | カタログ依存関係を更新 |
110
- | `pcu analyze` | `pcu -a` | 依存関係更新の影響を分析 |
111
- | `pcu workspace` | `pcu -s` | ワークスペース情報と検証を表示 |
112
- | `pcu theme` | `pcu -t` | カラーテーマとUI設定を設定 |
113
- | `pcu help` | `pcu -h` | ヘルプ情報を表示 |
114
-
115
- ### コマンド
116
-
117
- #### `pcu init` / `pcu i`
118
-
119
- PCU設定でPNPMワークスペース環境を完全に初期化します。
120
-
121
- ```bash
122
- pcu init [オプション]
123
- pcu i [オプション]
124
-
125
- オプション:
126
- --force 既存の設定ファイルを上書き
127
- --create-workspace PNPMワークスペース構造が不足している場合に作成(デフォルト:true)
128
- --no-create-workspace PNPMワークスペース構造の作成をスキップ
129
- -w, --workspace <パス> ワークスペースディレクトリ(デフォルト:カレントディレクトリ)
130
- -v, --verbose 詳細情報を表示
131
- --no-color カラー出力を無効にする
132
-
133
- 説明:
134
- 次の内容で完全なPNPMワークスペース環境を作成します:
135
- - 適切なデフォルトを持つ基本の.pcurc.json設定ファイル
136
- - ワークスペースルートのpackage.json(存在しない場合)
137
- - pnpm-workspace.yaml設定(存在しない場合)
138
- - packages/ディレクトリ構造(存在しない場合)
139
-
140
- 設定には、React、TypeScript、ESLint、その他の
141
- 一般的な依存関係の適切なセキュリティ設定付きのパッケージ更新ルールが含まれます。
142
-
143
- 例:
144
- pcu init # カレントディレクトリで完全なワークスペースを初期化
145
- pcu init --workspace ./my-project # 特定のディレクトリで初期化
146
- pcu init --force # 既存の設定を上書き
147
- pcu init --no-create-workspace # .pcurc.json設定のみ作成
148
-
149
- 作成されるファイル:
150
- .pcurc.json パッケージルールと設定を含むPCU設定
151
- package.json ワークスペースルートのpackage.json(存在しない場合)
152
- pnpm-workspace.yaml PNPMワークスペース設定(存在しない場合)
153
- packages/ ワークスペースパッケージ用のディレクトリ(存在しない場合)
154
- ```
155
-
156
- #### `pcu check` / `pcu -c` / `pcu chk`
157
-
158
- pnpm ワークスペースカタログで期限切れの依存関係をチェックします。
159
-
160
- ```bash
161
- pcu check [オプション]
162
- pcu -c [オプション]
163
- pcu chk [オプション]
164
-
165
- オプション:
166
- --catalog <名前> 特定のカタログのみチェック
167
- -f, --format <タイプ> 出力形式:table、json、yaml、minimal(デフォルト:table)
168
- - table:色と詳細情報付きのリッチテーブル形式
169
- - minimal:シンプルな npm-check-updates スタイル(パッケージ → バージョン)
170
- - json:プログラム使用用の JSON 出力
171
- - yaml:設定ファイル用の YAML 出力
172
- -t, --target <タイプ> 更新対象:latest、greatest、minor、patch、newest(デフォルト:latest)
173
- --prerelease プレリリースバージョンを含める
174
- --include <パターン> パターンに一致するパッケージを含める
175
- --exclude <パターン> パターンに一致するパッケージを除外
176
- -w, --workspace <パス> ワークスペースディレクトリ(デフォルト:カレントディレクトリ)
177
- -v, --verbose 詳細情報を表示
178
- ```
179
-
180
- #### `pcu update` / `pcu -u`
181
-
182
- カタログ依存関係を新しいバージョンに更新します。
183
-
184
- ```bash
185
- pcu update [オプション]
186
- pcu -u [オプション]
187
- pcu u [オプション]
188
-
189
- オプション:
190
- -i, --interactive 更新を選択するインタラクティブモード
191
- -d, --dry-run ファイルに書き込まずに変更をプレビュー
192
- -t, --target <タイプ> 更新対象:latest、greatest、minor、patch、newest(デフォルト:latest)
193
- --catalog <名前> 特定のカタログのみ更新
194
- --include <パターン> パターンに一致するパッケージを含める
195
- --exclude <パターン> パターンに一致するパッケージを除外
196
- --force リスクがあっても更新を強制
197
- --prerelease プレリリースバージョンを含める
198
- -b, --create-backup 更新前にバックアップファイルを作成
199
- -f, --format <タイプ> 出力形式:table、json、yaml、minimal(デフォルト:table)
200
- - table:色と詳細情報付きのリッチテーブル形式
201
- - minimal:シンプルな npm-check-updates スタイル(パッケージ → バージョン)
202
- - json:プログラム使用用の JSON 出力
203
- - yaml:設定ファイル用の YAML 出力
204
- -w, --workspace <パス> ワークスペースディレクトリ(デフォルト:カレントディレクトリ)
205
- -v, --verbose 詳細情報を表示
206
- ```
207
-
208
- #### `pcu analyze` / `pcu -a`
209
-
210
- 特定の依存関係を更新する影響を分析します。
211
-
212
- ```bash
213
- pcu analyze <カタログ> <パッケージ> [バージョン]
214
- pcu -a <カタログ> <パッケージ> [バージョン]
215
- pcu a <カタログ> <パッケージ> [バージョン]
216
-
217
- 引数:
218
- カタログ カタログ名(例:'default'、'react17')
219
- パッケージ パッケージ名(例:'react'、'@types/node')
220
- バージョン 新しいバージョン(オプション、デフォルトは最新)
221
-
222
- オプション:
223
- -f, --format <タイプ> 出力形式:table、json、yaml、minimal(デフォルト:table)
224
- -w, --workspace <パス> ワークスペースディレクトリ(デフォルト:カレントディレクトリ)
225
- -v, --verbose 詳細情報を表示
226
-
227
- 例:
228
- pcu analyze default react
229
- pcu a default react 18.3.0
230
- pcu -a react17 @types/react
231
- ```
232
-
233
- #### `pcu workspace` / `pcu -s`
234
-
235
- ワークスペース情報と検証を表示します。
236
-
237
- ```bash
238
- pcu workspace [オプション]
239
- pcu -s [オプション]
240
- pcu w [オプション]
241
-
242
- オプション:
243
- --validate ワークスペース設定を検証
244
- -s, --stats ワークスペース統計を表示
245
- -f, --format <タイプ> 出力形式:table、json、yaml、minimal(デフォルト:table)
246
- -w, --workspace <パス> ワークスペースディレクトリ(デフォルト:カレントディレクトリ)
247
- -v, --verbose 詳細情報を表示
248
-
249
- 例:
250
- pcu workspace # 基本的なワークスペース情報を表示
251
- pcu -s --stats # 詳細な統計を表示
252
- pcu w --validate # ワークスペース設定を検証
253
- ```
254
-
255
- #### `pcu help` / `pcu -h`
256
-
257
- ヘルプ情報を表示します。
258
-
259
- ```bash
260
- pcu help [コマンド]
261
- pcu -h [コマンド]
262
-
263
- 例:
264
- pcu help # 一般的なヘルプを表示
265
- pcu help update # update コマンドのヘルプを表示
266
- pcu -h check # check コマンドのヘルプを表示
267
- ```
268
-
269
- #### `pcu theme` / `pcu -t`
270
-
271
- カラーテーマとUIの外観を設定します。
272
-
273
- ```bash
274
- pcu theme [オプション]
275
- pcu -t [オプション]
276
-
277
- オプション:
278
- -s, --set <テーマ> カラーテーマを設定:default、modern、minimal、neon
279
- -l, --list 利用可能なすべてのテーマを一覧表示
280
- -i, --interactive インタラクティブテーマ設定ウィザード
281
-
282
- 例:
283
- pcu theme # 現在のテーマ情報を表示
284
- pcu -t --list # 利用可能なすべてのテーマを一覧表示
285
- pcu theme --set modern # モダンテーマに設定
286
- pcu -t --interactive # テーマ設定ウィザードを起動
287
- ```
288
-
289
- **利用可能なテーマ:**
290
-
291
- - `default` - 一般的な使用に適したバランスの取れた色
292
- - `modern` - 開発環境に適した鮮やかな色
293
- - `minimal` - 本番環境に適したクリーンでシンプル
294
- - `neon` - プレゼンテーションに適した高コントラスト色
295
-
296
- ### グローバルオプション
297
-
298
- これらのオプションはすべてのコマンドで動作します:
299
-
300
- ```bash
301
- -w, --workspace <パス> ワークスペースディレクトリパス
302
- -v, --verbose 詳細ロギングを有効にする
303
- --no-color カラー出力を無効にする
304
- -V, --version バージョン番号を出力
305
- -h, --help コマンドのヘルプを表示
306
- ```
307
-
308
- ### 一般的な使用パターン
309
-
310
- ```bash
311
- # 新しいワークスペースを初期化
312
- pcu init # 完全なワークスペース構造を作成
313
- pcu init --no-create-workspace # .pcurc.json設定のみ作成
314
-
315
- # 更新をクイックチェック
316
- pcu -c
317
-
318
- # シンプルな出力でチェック(npm-check-updates ライク)
319
- pcu -c --format minimal
320
-
321
- # バックアップ付きのインタラクティブ更新
322
- pcu -i -b
323
-
324
- # マイナーおよびパッチバージョンのみ更新
325
- pcu -u --target minor
326
-
327
- # 特定のカタログをチェック
328
- pcu -c --catalog node18
329
-
330
- # 特定のパッケージを除外して更新
331
- pcu -u --exclude "eslint*"
332
-
333
- # 詳細出力付きドライラン
334
- pcu -u -d -v
335
-
336
- # シンプルな出力形式で更新
337
- pcu -u --format minimal
338
-
339
- # 更新前に影響を分析
340
- pcu -a default react
341
- pcu -u --catalog default --include react
342
-
343
- # ワークスペース設定を検証
344
- pcu -s --validate
345
-
346
- # テーマのカスタマイズ
347
- pcu -t --list # 利用可能なテーマを一覧表示
348
- pcu -t --set modern # モダンテーマに設定
349
- pcu -t --interactive # インタラクティブテーマ設定
350
- ```
351
-
352
- ### 設定
353
-
354
- プロジェクトルートに `.pcurc.json` ファイルを作成します:
355
-
356
- ```json
357
- {
358
- "defaults": {
359
- "target": "latest",
360
- "timeout": 30000,
361
- "parallel": 5
362
- },
363
- "workspace": {
364
- "autoDiscover": true,
365
- "catalogMode": "strict"
366
- },
367
- "update": {
368
- "interactive": true,
369
- "dryRunFirst": true,
370
- "skipPrereleases": false
371
- },
372
- "output": {
373
- "format": "table",
374
- "color": true,
375
- "verbose": false
376
- }
377
- }
378
- ```
379
-
380
- ## 📁 プロジェクト構造
381
-
382
- このプロジェクトはドメイン駆動設計 (DDD) の原則に従います:
383
-
384
- ```text
385
- src/
386
- ├── cli/ # CLI インターフェース層
387
- │ ├── commands/ # コマンドハンドラー
388
- │ ├── options/ # オプションパーサー
389
- │ ├── formatters/ # 出力フォーマッター
390
- │ └── validators/ # 入力検証
391
- ├── application/ # アプリケーションサービス
392
- │ ├── services/ # アプリケーションサービス
393
- │ ├── handlers/ # コマンドハンドラー
394
- │ └── mappers/ # データマッパー
395
- ├── domain/ # ドメインモデル
396
- │ ├── entities/ # ドメインエンティティ
397
- │ ├── value-objects/ # 値オブジェクト
398
- │ ├── aggregates/ # 集約ルート
399
- │ ├── services/ # ドメインサービス
400
- │ └── repositories/ # リポジトリインターフェース
401
- ├── infrastructure/ # インフラストラクチャ層
402
- │ ├── repositories/ # リポジトリ実装
403
- │ ├── external-services/ # 外部サービスクライアント
404
- │ └── file-system/ # ファイルシステム操作
405
- ├── adapters/ # アダプター層
406
- │ ├── registry/ # パッケージレジストリアダプター
407
- │ └── package-managers/ # パッケージマネージャーアダプター
408
- └── common/ # 共通ユーティリティ
409
- ├── types/ # 型定義
410
- ├── utils/ # ユーティリティ関数
411
- ├── config/ # 設定
412
- └── logger/ # ロギング
413
- ```
414
-
415
- ## 🧪 開発
416
-
417
- ### 前提条件
418
-
419
- - Node.js >= 18.0.0
420
- - pnpm >= 8.15.0
421
-
422
- ### セットアップ
423
-
424
- ```bash
425
- # リポジトリをクローン
426
- git clone https://github.com/houko/pnpm-catalog-updates.git
427
- cd pnpm-catalog-updates
428
-
429
- # 依存関係をインストール
430
- pnpm install
431
-
432
- # プロジェクトをビルド
433
- pnpm build
434
-
435
- # テストを実行
436
- pnpm test
437
-
438
- # 開発モードで実行
439
- pnpm dev --help
440
- ```
441
-
442
- ### スクリプト
443
-
444
- ```bash
445
- # 開発
446
- pnpm dev # 開発モードで実行
447
- pnpm build # プロジェクトをビルド
448
- pnpm build:watch # ウォッチモードでビルド
449
-
450
- # テスト
451
- pnpm test # ユニットテストを実行
452
- pnpm test:watch # ウォッチモードでテストを実行
453
- pnpm test:coverage # カバレッジ付きでテストを実行
454
- pnpm test:e2e # E2E テストを実行
455
-
456
- # コード品質
457
- pnpm lint # コードをリント
458
- pnpm lint:fix # リントの問題を修正
459
- pnpm format # コードをフォーマット
460
- pnpm typecheck # 型チェック
461
-
462
- # ユーティリティ
463
- pnpm clean # ビルド成果物をクリーン
464
- ```
465
-
466
- ### テスト
467
-
468
- プロジェクトは包括的なテスト戦略を使用します:
469
-
470
- - **ユニットテスト**:個々のコンポーネントを隔離してテスト
471
- - **インテグレーションテスト**:コンポーネント間の相互作用をテスト
472
- - **E2E テスト**:完全な CLI ワークフローをテスト
473
-
474
- ```bash
475
- # すべてのテストを実行
476
- pnpm test
477
-
478
- # カバレッジ付きでテストを実行
479
- pnpm test:coverage
480
-
481
- # E2E テストを実行
482
- pnpm test:e2e
483
-
484
- # ウォッチモードでテストを実行
485
- pnpm test:watch
486
- ```
487
-
488
- ## 📊 使用例
489
-
490
- ### 基本的なワークスペース
491
-
492
- ```yaml
493
- # pnpm-workspace.yaml
494
- packages:
495
- - 'packages/*'
496
-
497
- catalog:
498
- react: ^18.2.0
499
- lodash: ^4.17.21
500
- typescript: ^5.0.0
501
- ```
502
-
503
- ### マルチカタログ設定
504
-
505
- ```yaml
506
- # pnpm-workspace.yaml
507
- packages:
508
- - "apps/*"
509
- - "packages/*"
510
-
511
- catalog:
512
- # デフォルトカタログ
513
- react: ^18.2.0
514
- typescript: ^5.0.0
515
-
516
- catalogs:
517
- # レガシーバージョン
518
- react17:
519
- react: ^17.0.2
520
- @types/react: ^17.0.62
521
-
522
- # 最新バージョン
523
- latest:
524
- react: ^18.2.0
525
- typescript: ^5.2.0
526
- ```
527
-
528
- ### package.json での使用
529
-
530
- ```json
531
- {
532
- "dependencies": {
533
- "react": "catalog:",
534
- "lodash": "catalog:",
535
- "legacy-lib": "catalog:react17"
536
- }
537
- }
538
- ```
539
-
540
- ## 🤝 貢献
541
-
542
- 貢献を歓迎します!詳細については、[貢献ガイド](CONTRIBUTING.md)をご覧ください。
543
-
544
- ### 開発ワークフロー
545
-
546
- 1. リポジトリをフォーク
547
- 2. 機能ブランチを作成:`git checkout -b feature/amazing-feature`
548
- 3. 変更を加える
549
- 4. 変更に対するテストを追加
550
- 5. すべてのテストが通過することを確認:`pnpm test`
551
- 6. コードをリント:`pnpm lint:fix`
552
- 7. 変更をコミット:`git commit -m 'feat: add amazing feature'`
553
- 8. ブランチにプッシュ:`git push origin feature/amazing-feature`
554
- 9. プルリクエストを開く
555
-
556
- ### コミットメッセージ規約
557
-
558
- [Conventional Commits](https://conventionalcommits.org/)を使用します:
559
-
560
- - `feat`: 新機能
561
- - `fix`: バグ修正
562
- - `docs`: ドキュメントのみの変更
563
- - `style`: コードの意味に影響しない変更
564
- - `refactor`: バグを修正せず、機能を追加しないコード変更
565
- - `test`: 不足しているテストの追加または既存テストの修正
566
- - `chore`: ビルドプロセスまたは補助ツールへの変更
567
-
568
- ## 📄 ライセンス
569
-
570
- このプロジェクトは MIT ライセンスの下でライセンスされています - 詳細については、[LICENSE](LICENSE)ファイルをご覧ください。
571
-
572
- ## 🙏 謝辞
573
-
574
- - [npm-check-updates](https://github.com/raineorshine/npm-check-updates)にインスパイアされました
575
- - pnpm コミュニティへの愛を込めて構築されました
576
- - すべての貢献者とユーザーの皆様に感謝します
577
-
578
- ## 📞 サポート
579
-
580
- - 📖 [ドキュメント](https://github.com/houko/pnpm-catalog-updates#readme)
581
- - 🐛 [イシュートラッカー](https://github.com/houko/pnpm-catalog-updates/issues)
582
- - 💬
583
- [ディスカッション](https://github.com/houko/pnpm-catalog-updates/discussions)
584
-
585
- ---
586
-
587
- pnpm コミュニティへの愛を込めて ❤️