pcu 0.5.6 → 0.6.3

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 (219) 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 +36 -84
  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/README.ja.md +0 -582
  20. package/README.md +0 -690
  21. package/README.zh-CN.md +0 -630
  22. package/dist/application/services/CatalogUpdateService.d.ts +0 -209
  23. package/dist/application/services/CatalogUpdateService.d.ts.map +0 -1
  24. package/dist/application/services/CatalogUpdateService.js +0 -836
  25. package/dist/application/services/CatalogUpdateService.js.map +0 -1
  26. package/dist/application/services/WorkspaceService.d.ts +0 -139
  27. package/dist/application/services/WorkspaceService.d.ts.map +0 -1
  28. package/dist/application/services/WorkspaceService.js +0 -340
  29. package/dist/application/services/WorkspaceService.js.map +0 -1
  30. package/dist/cli/commands/CheckCommand.d.ts +0 -40
  31. package/dist/cli/commands/CheckCommand.d.ts.map +0 -1
  32. package/dist/cli/commands/CheckCommand.js +0 -177
  33. package/dist/cli/commands/CheckCommand.js.map +0 -1
  34. package/dist/cli/commands/InitCommand.d.ts +0 -53
  35. package/dist/cli/commands/InitCommand.d.ts.map +0 -1
  36. package/dist/cli/commands/InitCommand.js +0 -338
  37. package/dist/cli/commands/InitCommand.js.map +0 -1
  38. package/dist/cli/commands/SecurityCommand.d.ts +0 -113
  39. package/dist/cli/commands/SecurityCommand.d.ts.map +0 -1
  40. package/dist/cli/commands/SecurityCommand.js +0 -410
  41. package/dist/cli/commands/SecurityCommand.js.map +0 -1
  42. package/dist/cli/commands/UpdateCommand.d.ts +0 -44
  43. package/dist/cli/commands/UpdateCommand.d.ts.map +0 -1
  44. package/dist/cli/commands/UpdateCommand.js +0 -189
  45. package/dist/cli/commands/UpdateCommand.js.map +0 -1
  46. package/dist/cli/formatters/OutputFormatter.d.ts +0 -116
  47. package/dist/cli/formatters/OutputFormatter.d.ts.map +0 -1
  48. package/dist/cli/formatters/OutputFormatter.js +0 -664
  49. package/dist/cli/formatters/OutputFormatter.js.map +0 -1
  50. package/dist/cli/formatters/ProgressBar.d.ts +0 -195
  51. package/dist/cli/formatters/ProgressBar.d.ts.map +0 -1
  52. package/dist/cli/formatters/ProgressBar.js +0 -622
  53. package/dist/cli/formatters/ProgressBar.js.map +0 -1
  54. package/dist/cli/index.d.ts +0 -12
  55. package/dist/cli/index.d.ts.map +0 -1
  56. package/dist/cli/index.js +0 -492
  57. package/dist/cli/index.js.map +0 -1
  58. package/dist/cli/interactive/InteractivePrompts.d.ts +0 -85
  59. package/dist/cli/interactive/InteractivePrompts.d.ts.map +0 -1
  60. package/dist/cli/interactive/InteractivePrompts.js +0 -434
  61. package/dist/cli/interactive/InteractivePrompts.js.map +0 -1
  62. package/dist/cli/options/GlobalOptions.d.ts +0 -117
  63. package/dist/cli/options/GlobalOptions.d.ts.map +0 -1
  64. package/dist/cli/options/GlobalOptions.js +0 -278
  65. package/dist/cli/options/GlobalOptions.js.map +0 -1
  66. package/dist/cli/options/index.d.ts +0 -5
  67. package/dist/cli/options/index.d.ts.map +0 -1
  68. package/dist/cli/options/index.js +0 -5
  69. package/dist/cli/options/index.js.map +0 -1
  70. package/dist/cli/themes/ColorTheme.d.ts +0 -211
  71. package/dist/cli/themes/ColorTheme.d.ts.map +0 -1
  72. package/dist/cli/themes/ColorTheme.js +0 -267
  73. package/dist/cli/themes/ColorTheme.js.map +0 -1
  74. package/dist/cli/validators/CommandValidator.d.ts +0 -60
  75. package/dist/cli/validators/CommandValidator.d.ts.map +0 -1
  76. package/dist/cli/validators/CommandValidator.js +0 -319
  77. package/dist/cli/validators/CommandValidator.js.map +0 -1
  78. package/dist/cli/validators/index.d.ts +0 -5
  79. package/dist/cli/validators/index.d.ts.map +0 -1
  80. package/dist/cli/validators/index.js +0 -5
  81. package/dist/cli/validators/index.js.map +0 -1
  82. package/dist/common/config/Config.d.ts +0 -142
  83. package/dist/common/config/Config.d.ts.map +0 -1
  84. package/dist/common/config/Config.js +0 -382
  85. package/dist/common/config/Config.js.map +0 -1
  86. package/dist/common/config/ConfigLoader.d.ts +0 -49
  87. package/dist/common/config/ConfigLoader.d.ts.map +0 -1
  88. package/dist/common/config/ConfigLoader.js +0 -180
  89. package/dist/common/config/ConfigLoader.js.map +0 -1
  90. package/dist/common/config/PackageFilterConfig.d.ts +0 -56
  91. package/dist/common/config/PackageFilterConfig.d.ts.map +0 -1
  92. package/dist/common/config/PackageFilterConfig.js +0 -94
  93. package/dist/common/config/PackageFilterConfig.js.map +0 -1
  94. package/dist/common/config/index.d.ts +0 -8
  95. package/dist/common/config/index.d.ts.map +0 -1
  96. package/dist/common/config/index.js +0 -8
  97. package/dist/common/config/index.js.map +0 -1
  98. package/dist/common/error-handling/ErrorTracker.d.ts +0 -48
  99. package/dist/common/error-handling/ErrorTracker.d.ts.map +0 -1
  100. package/dist/common/error-handling/ErrorTracker.js +0 -93
  101. package/dist/common/error-handling/ErrorTracker.js.map +0 -1
  102. package/dist/common/error-handling/UserFriendlyErrorHandler.d.ts +0 -74
  103. package/dist/common/error-handling/UserFriendlyErrorHandler.d.ts.map +0 -1
  104. package/dist/common/error-handling/UserFriendlyErrorHandler.js +0 -703
  105. package/dist/common/error-handling/UserFriendlyErrorHandler.js.map +0 -1
  106. package/dist/common/error-handling/index.d.ts +0 -11
  107. package/dist/common/error-handling/index.d.ts.map +0 -1
  108. package/dist/common/error-handling/index.js +0 -9
  109. package/dist/common/error-handling/index.js.map +0 -1
  110. package/dist/common/logger/Logger.d.ts +0 -110
  111. package/dist/common/logger/Logger.d.ts.map +0 -1
  112. package/dist/common/logger/Logger.js +0 -289
  113. package/dist/common/logger/Logger.js.map +0 -1
  114. package/dist/common/logger/index.d.ts +0 -6
  115. package/dist/common/logger/index.d.ts.map +0 -1
  116. package/dist/common/logger/index.js +0 -6
  117. package/dist/common/logger/index.js.map +0 -1
  118. package/dist/common/types/cli.d.ts +0 -265
  119. package/dist/common/types/cli.d.ts.map +0 -1
  120. package/dist/common/types/cli.js +0 -5
  121. package/dist/common/types/cli.js.map +0 -1
  122. package/dist/common/types/core.d.ts +0 -270
  123. package/dist/common/types/core.d.ts.map +0 -1
  124. package/dist/common/types/core.js +0 -32
  125. package/dist/common/types/core.js.map +0 -1
  126. package/dist/common/types/index.d.ts +0 -8
  127. package/dist/common/types/index.d.ts.map +0 -1
  128. package/dist/common/types/index.js +0 -8
  129. package/dist/common/types/index.js.map +0 -1
  130. package/dist/common/utils/VersionChecker.d.ts +0 -54
  131. package/dist/common/utils/VersionChecker.d.ts.map +0 -1
  132. package/dist/common/utils/VersionChecker.js +0 -180
  133. package/dist/common/utils/VersionChecker.js.map +0 -1
  134. package/dist/common/utils/async.d.ts +0 -74
  135. package/dist/common/utils/async.d.ts.map +0 -1
  136. package/dist/common/utils/async.js +0 -228
  137. package/dist/common/utils/async.js.map +0 -1
  138. package/dist/common/utils/format.d.ts +0 -32
  139. package/dist/common/utils/format.d.ts.map +0 -1
  140. package/dist/common/utils/format.js +0 -121
  141. package/dist/common/utils/format.js.map +0 -1
  142. package/dist/common/utils/git.d.ts +0 -44
  143. package/dist/common/utils/git.d.ts.map +0 -1
  144. package/dist/common/utils/git.js +0 -147
  145. package/dist/common/utils/git.js.map +0 -1
  146. package/dist/common/utils/index.d.ts +0 -12
  147. package/dist/common/utils/index.d.ts.map +0 -1
  148. package/dist/common/utils/index.js +0 -12
  149. package/dist/common/utils/index.js.map +0 -1
  150. package/dist/common/utils/string.d.ts +0 -56
  151. package/dist/common/utils/string.d.ts.map +0 -1
  152. package/dist/common/utils/string.js +0 -134
  153. package/dist/common/utils/string.js.map +0 -1
  154. package/dist/common/utils/validation.d.ts +0 -88
  155. package/dist/common/utils/validation.d.ts.map +0 -1
  156. package/dist/common/utils/validation.js +0 -308
  157. package/dist/common/utils/validation.js.map +0 -1
  158. package/dist/domain/entities/Catalog.d.ts +0 -117
  159. package/dist/domain/entities/Catalog.d.ts.map +0 -1
  160. package/dist/domain/entities/Catalog.js +0 -240
  161. package/dist/domain/entities/Catalog.js.map +0 -1
  162. package/dist/domain/entities/Package.d.ts +0 -143
  163. package/dist/domain/entities/Package.d.ts.map +0 -1
  164. package/dist/domain/entities/Package.js +0 -272
  165. package/dist/domain/entities/Package.js.map +0 -1
  166. package/dist/domain/entities/Workspace.d.ts +0 -95
  167. package/dist/domain/entities/Workspace.d.ts.map +0 -1
  168. package/dist/domain/entities/Workspace.js +0 -173
  169. package/dist/domain/entities/Workspace.js.map +0 -1
  170. package/dist/domain/repositories/WorkspaceRepository.d.ts +0 -41
  171. package/dist/domain/repositories/WorkspaceRepository.d.ts.map +0 -1
  172. package/dist/domain/repositories/WorkspaceRepository.js +0 -8
  173. package/dist/domain/repositories/WorkspaceRepository.js.map +0 -1
  174. package/dist/domain/value-objects/CatalogCollection.d.ts +0 -106
  175. package/dist/domain/value-objects/CatalogCollection.d.ts.map +0 -1
  176. package/dist/domain/value-objects/CatalogCollection.js +0 -230
  177. package/dist/domain/value-objects/CatalogCollection.js.map +0 -1
  178. package/dist/domain/value-objects/PackageCollection.d.ts +0 -122
  179. package/dist/domain/value-objects/PackageCollection.d.ts.map +0 -1
  180. package/dist/domain/value-objects/PackageCollection.js +0 -263
  181. package/dist/domain/value-objects/PackageCollection.js.map +0 -1
  182. package/dist/domain/value-objects/Version.d.ts +0 -141
  183. package/dist/domain/value-objects/Version.d.ts.map +0 -1
  184. package/dist/domain/value-objects/Version.js +0 -268
  185. package/dist/domain/value-objects/Version.js.map +0 -1
  186. package/dist/domain/value-objects/WorkspaceConfig.d.ts +0 -144
  187. package/dist/domain/value-objects/WorkspaceConfig.d.ts.map +0 -1
  188. package/dist/domain/value-objects/WorkspaceConfig.js +0 -357
  189. package/dist/domain/value-objects/WorkspaceConfig.js.map +0 -1
  190. package/dist/domain/value-objects/WorkspaceId.d.ts +0 -51
  191. package/dist/domain/value-objects/WorkspaceId.d.ts.map +0 -1
  192. package/dist/domain/value-objects/WorkspaceId.js +0 -104
  193. package/dist/domain/value-objects/WorkspaceId.js.map +0 -1
  194. package/dist/domain/value-objects/WorkspacePath.d.ts +0 -75
  195. package/dist/domain/value-objects/WorkspacePath.d.ts.map +0 -1
  196. package/dist/domain/value-objects/WorkspacePath.js +0 -128
  197. package/dist/domain/value-objects/WorkspacePath.js.map +0 -1
  198. package/dist/index.d.ts +0 -25
  199. package/dist/index.d.ts.map +0 -1
  200. package/dist/infrastructure/cache/Cache.d.ts +0 -161
  201. package/dist/infrastructure/cache/Cache.d.ts.map +0 -1
  202. package/dist/infrastructure/cache/Cache.js +0 -398
  203. package/dist/infrastructure/cache/Cache.js.map +0 -1
  204. package/dist/infrastructure/cache/index.d.ts +0 -6
  205. package/dist/infrastructure/cache/index.d.ts.map +0 -1
  206. package/dist/infrastructure/cache/index.js +0 -6
  207. package/dist/infrastructure/cache/index.js.map +0 -1
  208. package/dist/infrastructure/external-services/NpmRegistryService.d.ts +0 -145
  209. package/dist/infrastructure/external-services/NpmRegistryService.d.ts.map +0 -1
  210. package/dist/infrastructure/external-services/NpmRegistryService.js +0 -466
  211. package/dist/infrastructure/external-services/NpmRegistryService.js.map +0 -1
  212. package/dist/infrastructure/file-system/FileSystemService.d.ts +0 -120
  213. package/dist/infrastructure/file-system/FileSystemService.d.ts.map +0 -1
  214. package/dist/infrastructure/file-system/FileSystemService.js +0 -663
  215. package/dist/infrastructure/file-system/FileSystemService.js.map +0 -1
  216. package/dist/infrastructure/repositories/FileWorkspaceRepository.d.ts +0 -57
  217. package/dist/infrastructure/repositories/FileWorkspaceRepository.d.ts.map +0 -1
  218. package/dist/infrastructure/repositories/FileWorkspaceRepository.js +0 -179
  219. 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 コミュニティへの愛を込めて ❤️