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