pnpm-catalog-updates 0.3.2 → 0.3.4

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.
package/README.ja.md ADDED
@@ -0,0 +1,488 @@
1
+ # pnpm-catalog-updates
2
+
3
+ pnpm ワークスペースカタログ依存関係をチェックおよび更新するための強力な CLI ツール。
4
+ [npm-check-updates](https://github.com/raineorshine/npm-check-updates)にインスパイアされました。
5
+
6
+ [![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)
7
+ [![npm](https://img.shields.io/npm/v/pnpm-catalog-updates)](https://www.npmjs.com/package/pnpm-catalog-updates)
8
+ [![Coverage](https://img.shields.io/coveralls/github/houko/pnpm-catalog-updates/main)](https://coveralls.io/github/houko/pnpm-catalog-updates)
9
+
10
+ ## ✨ 特徴
11
+
12
+ - 🔍 **スマート検出**: pnpm ワークスペースとカタログ設定を自動的に検出
13
+ - 🎯 **カタログ特化**: pnpm カタログ依存関係管理に特化
14
+ - 🚀
15
+ **インタラクティブモード**: 直感的なインターフェースで更新する依存関係を選択
16
+ - 📊 **影響分析**: カタログの変更がどのパッケージに影響するかを理解
17
+ - 🔒
18
+ **安全な更新**: ドライラン モードとバックアップ オプションで安全な依存関係更新
19
+ - ⚡ **高パフォーマンス**: 並列 API クエリとインテリジェントキャッシング
20
+ - 🛡️ **セキュリティ対応**: 組み込みのセキュリティ脆弱性スキャン
21
+ - 🎨
22
+ **美しい UI**: 強化されたプログレスバー、カラーテーマ、インタラクティブプロンプト
23
+ - 🎭
24
+ **カスタマイズ可能なテーマ**: 複数のカラーテーマ(デフォルト、モダン、ミニマル、ネオン)
25
+ - 📈 **プログレス追跡**: すべての操作のリアルタイム進行状況インジケーター
26
+ - 🔧 **設定可能**: 柔軟な設定オプションと更新戦略
27
+
28
+ ## 🚀 クイックスタート
29
+
30
+ ```bash
31
+ pcu -c
32
+ ```
33
+
34
+ ![画像](https://github.com/user-attachments/assets/f05a970e-c58c-44f1-b3f1-351ae30b4a35)
35
+
36
+ ### インストール
37
+
38
+ ```bash
39
+ # グローバルインストール
40
+ npm install -g pnpm-catalog-updates
41
+ # または
42
+ npm install -g pcu
43
+
44
+ # または npx で使用
45
+ npx pnpm-catalog-updates
46
+ # または
47
+ npx pcu
48
+
49
+ # または短いエイリアスを使用
50
+ pcu
51
+ ```
52
+
53
+ ### 基本的な使い方
54
+
55
+ ```bash
56
+ # 更新をクイックチェック
57
+ pcu -c
58
+
59
+ # クイック更新(インタラクティブ)
60
+ pcu -i
61
+
62
+ # クイック更新(ドライラン)
63
+ pcu -u -d
64
+
65
+ # ワークスペース情報を取得
66
+ pcu -s
67
+ ```
68
+
69
+ ### よく使うコマンド
70
+
71
+ | コマンド | 説明 | 例 |
72
+ | -------- | ---------------------------------- | ------------------------- |
73
+ | `pcu -c` | 更新をチェック | `pcu -c --catalog node18` |
74
+ | `pcu -i` | 依存関係を更新(インタラクティブ) | `pcu -i -b` |
75
+ | `pcu -a` | 影響を分析 | `pcu -a default react` |
76
+ | `pcu -s` | ワークスペース情報 | `pcu -s --validate` |
77
+ | `pcu -h` | ヘルプを表示 | `pcu -h update` |
78
+
79
+ ## 📖 完全な使用ガイド
80
+
81
+ ### すべてのコマンドとショートカット
82
+
83
+ | フルコマンド | ショートカット | 説明 |
84
+ | --------------- | -------------- | ------------------------------------ |
85
+ | `pcu check` | `pcu -c` | 期限切れのカタログ依存関係をチェック |
86
+ | `pcu update` | `pcu -u` | カタログ依存関係を更新 |
87
+ | `pcu analyze` | `pcu -a` | 依存関係更新の影響を分析 |
88
+ | `pcu workspace` | `pcu -s` | ワークスペース情報と検証を表示 |
89
+ | `pcu help` | `pcu -h` | ヘルプ情報を表示 |
90
+
91
+ ### コマンド
92
+
93
+ #### `pcu check` / `pcu -c` / `pcu chk`
94
+
95
+ pnpm ワークスペースカタログで期限切れの依存関係をチェックします。
96
+
97
+ ```bash
98
+ pcu check [オプション]
99
+ pcu -c [オプション]
100
+ pcu chk [オプション]
101
+
102
+ オプション:
103
+ --catalog <名前> 特定のカタログのみチェック
104
+ -f, --format <タイプ> 出力形式:table、json、yaml、minimal(デフォルト:table)
105
+ - table:色と詳細情報付きのリッチテーブル形式
106
+ - minimal:シンプルな npm-check-updates スタイル(パッケージ → バージョン)
107
+ - json:プログラム使用用の JSON 出力
108
+ - yaml:設定ファイル用の YAML 出力
109
+ -t, --target <タイプ> 更新対象:latest、greatest、minor、patch、newest(デフォルト:latest)
110
+ --prerelease プレリリースバージョンを含める
111
+ --include <パターン> パターンに一致するパッケージを含める
112
+ --exclude <パターン> パターンに一致するパッケージを除外
113
+ -w, --workspace <パス> ワークスペースディレクトリ(デフォルト:カレントディレクトリ)
114
+ -v, --verbose 詳細情報を表示
115
+ ```
116
+
117
+ #### `pcu update` / `pcu -u`
118
+
119
+ カタログ依存関係を新しいバージョンに更新します。
120
+
121
+ ```bash
122
+ pcu update [オプション]
123
+ pcu -u [オプション]
124
+ pcu u [オプション]
125
+
126
+ オプション:
127
+ -i, --interactive 更新を選択するインタラクティブモード
128
+ -d, --dry-run ファイルに書き込まずに変更をプレビュー
129
+ -t, --target <タイプ> 更新対象:latest、greatest、minor、patch、newest(デフォルト:latest)
130
+ --catalog <名前> 特定のカタログのみ更新
131
+ --include <パターン> パターンに一致するパッケージを含める
132
+ --exclude <パターン> パターンに一致するパッケージを除外
133
+ --force リスクがあっても更新を強制
134
+ --prerelease プレリリースバージョンを含める
135
+ -b, --create-backup 更新前にバックアップファイルを作成
136
+ -f, --format <タイプ> 出力形式:table、json、yaml、minimal(デフォルト:table)
137
+ - table:色と詳細情報付きのリッチテーブル形式
138
+ - minimal:シンプルな npm-check-updates スタイル(パッケージ → バージョン)
139
+ - json:プログラム使用用の JSON 出力
140
+ - yaml:設定ファイル用の YAML 出力
141
+ -w, --workspace <パス> ワークスペースディレクトリ(デフォルト:カレントディレクトリ)
142
+ -v, --verbose 詳細情報を表示
143
+ ```
144
+
145
+ #### `pcu analyze` / `pcu -a`
146
+
147
+ 特定の依存関係を更新する影響を分析します。
148
+
149
+ ```bash
150
+ pcu analyze <カタログ> <パッケージ> [バージョン]
151
+ pcu -a <カタログ> <パッケージ> [バージョン]
152
+ pcu a <カタログ> <パッケージ> [バージョン]
153
+
154
+ 引数:
155
+ カタログ カタログ名(例:'default'、'react17')
156
+ パッケージ パッケージ名(例:'react'、'@types/node')
157
+ バージョン 新しいバージョン(オプション、デフォルトは最新)
158
+
159
+ オプション:
160
+ -f, --format <タイプ> 出力形式:table、json、yaml、minimal(デフォルト:table)
161
+ -w, --workspace <パス> ワークスペースディレクトリ(デフォルト:カレントディレクトリ)
162
+ -v, --verbose 詳細情報を表示
163
+
164
+ 例:
165
+ pcu analyze default react
166
+ pcu a default react 18.3.0
167
+ pcu -a react17 @types/react
168
+ ```
169
+
170
+ #### `pcu workspace` / `pcu -s`
171
+
172
+ ワークスペース情報と検証を表示します。
173
+
174
+ ```bash
175
+ pcu workspace [オプション]
176
+ pcu -s [オプション]
177
+ pcu w [オプション]
178
+
179
+ オプション:
180
+ --validate ワークスペース設定を検証
181
+ -s, --stats ワークスペース統計を表示
182
+ -f, --format <タイプ> 出力形式:table、json、yaml、minimal(デフォルト:table)
183
+ -w, --workspace <パス> ワークスペースディレクトリ(デフォルト:カレントディレクトリ)
184
+ -v, --verbose 詳細情報を表示
185
+
186
+ 例:
187
+ pcu workspace # 基本的なワークスペース情報を表示
188
+ pcu -s --stats # 詳細な統計を表示
189
+ pcu w --validate # ワークスペース設定を検証
190
+ ```
191
+
192
+ #### `pcu help` / `pcu -h`
193
+
194
+ ヘルプ情報を表示します。
195
+
196
+ ```bash
197
+ pcu help [コマンド]
198
+ pcu -h [コマンド]
199
+
200
+ 例:
201
+ pcu help # 一般的なヘルプを表示
202
+ pcu help update # update コマンドのヘルプを表示
203
+ pcu -h check # check コマンドのヘルプを表示
204
+ ```
205
+
206
+ ### グローバルオプション
207
+
208
+ これらのオプションはすべてのコマンドで動作します:
209
+
210
+ ```bash
211
+ -w, --workspace <パス> ワークスペースディレクトリパス
212
+ -v, --verbose 詳細ロギングを有効にする
213
+ --no-color カラー出力を無効にする
214
+ -V, --version バージョン番号を出力
215
+ -h, --help コマンドのヘルプを表示
216
+ ```
217
+
218
+ ### 一般的な使用パターン
219
+
220
+ ```bash
221
+ # 更新をクイックチェック
222
+ pcu -c
223
+
224
+ # シンプルな出力でチェック(npm-check-updates ライク)
225
+ pcu -c --format minimal
226
+
227
+ # バックアップ付きのインタラクティブ更新
228
+ pcu -i -b
229
+
230
+ # マイナーおよびパッチバージョンのみ更新
231
+ pcu -u --target minor
232
+
233
+ # 特定のカタログをチェック
234
+ pcu -c --catalog node18
235
+
236
+ # 特定のパッケージを除外して更新
237
+ pcu -u --exclude "eslint*"
238
+
239
+ # 詳細出力付きドライラン
240
+ pcu -u -d -v
241
+
242
+ # シンプルな出力形式で更新
243
+ pcu -u --format minimal
244
+
245
+ # 更新前に影響を分析
246
+ pcu -a default react
247
+ pcu -u --catalog default --include react
248
+
249
+ # ワークスペース設定を検証
250
+ pcu -s --validate
251
+ ```
252
+
253
+ ### 設定
254
+
255
+ プロジェクトルートに `.pcurc.json` ファイルを作成します:
256
+
257
+ ```json
258
+ {
259
+ "defaults": {
260
+ "target": "latest",
261
+ "timeout": 30000,
262
+ "parallel": 5
263
+ },
264
+ "workspace": {
265
+ "autoDiscover": true,
266
+ "catalogMode": "strict"
267
+ },
268
+ "update": {
269
+ "interactive": true,
270
+ "dryRunFirst": true,
271
+ "skipPrereleases": false
272
+ },
273
+ "output": {
274
+ "format": "table",
275
+ "color": true,
276
+ "verbose": false
277
+ }
278
+ }
279
+ ```
280
+
281
+ ## 📁 プロジェクト構造
282
+
283
+ このプロジェクトはドメイン駆動設計 (DDD) の原則に従います:
284
+
285
+ ```text
286
+ src/
287
+ ├── cli/ # CLI インターフェース層
288
+ │ ├── commands/ # コマンドハンドラー
289
+ │ ├── options/ # オプションパーサー
290
+ │ ├── formatters/ # 出力フォーマッター
291
+ │ └── validators/ # 入力検証
292
+ ├── application/ # アプリケーションサービス
293
+ │ ├── services/ # アプリケーションサービス
294
+ │ ├── handlers/ # コマンドハンドラー
295
+ │ └── mappers/ # データマッパー
296
+ ├── domain/ # ドメインモデル
297
+ │ ├── entities/ # ドメインエンティティ
298
+ │ ├── value-objects/ # 値オブジェクト
299
+ │ ├── aggregates/ # 集約ルート
300
+ │ ├── services/ # ドメインサービス
301
+ │ └── repositories/ # リポジトリインターフェース
302
+ ├── infrastructure/ # インフラストラクチャ層
303
+ │ ├── repositories/ # リポジトリ実装
304
+ │ ├── external-services/ # 外部サービスクライアント
305
+ │ └── file-system/ # ファイルシステム操作
306
+ ├── adapters/ # アダプター層
307
+ │ ├── registry/ # パッケージレジストリアダプター
308
+ │ └── package-managers/ # パッケージマネージャーアダプター
309
+ └── common/ # 共通ユーティリティ
310
+ ├── types/ # 型定義
311
+ ├── utils/ # ユーティリティ関数
312
+ ├── config/ # 設定
313
+ └── logger/ # ロギング
314
+ ```
315
+
316
+ ## 🧪 開発
317
+
318
+ ### 前提条件
319
+
320
+ - Node.js >= 18.0.0
321
+ - pnpm >= 8.15.0
322
+
323
+ ### セットアップ
324
+
325
+ ```bash
326
+ # リポジトリをクローン
327
+ git clone https://github.com/houko/pnpm-catalog-updates.git
328
+ cd pnpm-catalog-updates
329
+
330
+ # 依存関係をインストール
331
+ pnpm install
332
+
333
+ # プロジェクトをビルド
334
+ pnpm build
335
+
336
+ # テストを実行
337
+ pnpm test
338
+
339
+ # 開発モードで実行
340
+ pnpm dev --help
341
+ ```
342
+
343
+ ### スクリプト
344
+
345
+ ```bash
346
+ # 開発
347
+ pnpm dev # 開発モードで実行
348
+ pnpm build # プロジェクトをビルド
349
+ pnpm build:watch # ウォッチモードでビルド
350
+
351
+ # テスト
352
+ pnpm test # ユニットテストを実行
353
+ pnpm test:watch # ウォッチモードでテストを実行
354
+ pnpm test:coverage # カバレッジ付きでテストを実行
355
+ pnpm test:e2e # E2E テストを実行
356
+
357
+ # コード品質
358
+ pnpm lint # コードをリント
359
+ pnpm lint:fix # リントの問題を修正
360
+ pnpm format # コードをフォーマット
361
+ pnpm typecheck # 型チェック
362
+
363
+ # ユーティリティ
364
+ pnpm clean # ビルド成果物をクリーン
365
+ ```
366
+
367
+ ### テスト
368
+
369
+ プロジェクトは包括的なテスト戦略を使用します:
370
+
371
+ - **ユニットテスト**:個々のコンポーネントを隔離してテスト
372
+ - **インテグレーションテスト**:コンポーネント間の相互作用をテスト
373
+ - **E2E テスト**:完全な CLI ワークフローをテスト
374
+
375
+ ```bash
376
+ # すべてのテストを実行
377
+ pnpm test
378
+
379
+ # カバレッジ付きでテストを実行
380
+ pnpm test:coverage
381
+
382
+ # E2E テストを実行
383
+ pnpm test:e2e
384
+
385
+ # ウォッチモードでテストを実行
386
+ pnpm test:watch
387
+ ```
388
+
389
+ ## 📊 使用例
390
+
391
+ ### 基本的なワークスペース
392
+
393
+ ```yaml
394
+ # pnpm-workspace.yaml
395
+ packages:
396
+ - 'packages/*'
397
+
398
+ catalog:
399
+ react: ^18.2.0
400
+ lodash: ^4.17.21
401
+ typescript: ^5.0.0
402
+ ```
403
+
404
+ ### マルチカタログ設定
405
+
406
+ ```yaml
407
+ # pnpm-workspace.yaml
408
+ packages:
409
+ - "apps/*"
410
+ - "packages/*"
411
+
412
+ catalog:
413
+ # デフォルトカタログ
414
+ react: ^18.2.0
415
+ typescript: ^5.0.0
416
+
417
+ catalogs:
418
+ # レガシーバージョン
419
+ react17:
420
+ react: ^17.0.2
421
+ @types/react: ^17.0.62
422
+
423
+ # 最新バージョン
424
+ latest:
425
+ react: ^18.2.0
426
+ typescript: ^5.2.0
427
+ ```
428
+
429
+ ### package.json での使用
430
+
431
+ ```json
432
+ {
433
+ "dependencies": {
434
+ "react": "catalog:",
435
+ "lodash": "catalog:",
436
+ "legacy-lib": "catalog:react17"
437
+ }
438
+ }
439
+ ```
440
+
441
+ ## 🤝 貢献
442
+
443
+ 貢献を歓迎します!詳細については、[貢献ガイド](CONTRIBUTING.md)をご覧ください。
444
+
445
+ ### 開発ワークフロー
446
+
447
+ 1. リポジトリをフォーク
448
+ 2. 機能ブランチを作成:`git checkout -b feature/amazing-feature`
449
+ 3. 変更を加える
450
+ 4. 変更に対するテストを追加
451
+ 5. すべてのテストが通過することを確認:`pnpm test`
452
+ 6. コードをリント:`pnpm lint:fix`
453
+ 7. 変更をコミット:`git commit -m 'feat: add amazing feature'`
454
+ 8. ブランチにプッシュ:`git push origin feature/amazing-feature`
455
+ 9. プルリクエストを開く
456
+
457
+ ### コミットメッセージ規約
458
+
459
+ [Conventional Commits](https://conventionalcommits.org/)を使用します:
460
+
461
+ - `feat`: 新機能
462
+ - `fix`: バグ修正
463
+ - `docs`: ドキュメントのみの変更
464
+ - `style`: コードの意味に影響しない変更
465
+ - `refactor`: バグを修正せず、機能を追加しないコード変更
466
+ - `test`: 不足しているテストの追加または既存テストの修正
467
+ - `chore`: ビルドプロセスまたは補助ツールへの変更
468
+
469
+ ## 📄 ライセンス
470
+
471
+ このプロジェクトは MIT ライセンスの下でライセンスされています - 詳細については、[LICENSE](LICENSE)ファイルをご覧ください。
472
+
473
+ ## 🙏 謝辞
474
+
475
+ - [npm-check-updates](https://github.com/raineorshine/npm-check-updates)にインスパイアされました
476
+ - pnpm コミュニティへの愛を込めて構築されました
477
+ - すべての貢献者とユーザーの皆様に感謝します
478
+
479
+ ## 📞 サポート
480
+
481
+ - 📖 [ドキュメント](https://github.com/houko/pnpm-catalog-updates#readme)
482
+ - 🐛 [イシュートラッカー](https://github.com/houko/pnpm-catalog-updates/issues)
483
+ - 💬
484
+ [ディスカッション](https://github.com/houko/pnpm-catalog-updates/discussions)
485
+
486
+ ---
487
+
488
+ pnpm コミュニティへの愛を込めて ❤️
package/README.md CHANGED
@@ -21,10 +21,21 @@ inspired by
21
21
  updates
22
22
  - ⚡ **High Performance**: Parallel API queries and intelligent caching
23
23
  - 🛡️ **Security Aware**: Built-in security vulnerability scanning
24
+ - 🎨 **Beautiful UI**: Enhanced progress bars, color themes, and interactive
25
+ prompts
26
+ - 🎭 **Customizable Themes**: Multiple color themes (default, modern, minimal,
27
+ neon)
28
+ - 📈 **Progress Tracking**: Real-time progress indicators for all operations
24
29
  - 🔧 **Configurable**: Flexible configuration options and update strategies
25
30
 
26
31
  ## 🚀 Quick Start
27
32
 
33
+ ```bash
34
+ pcu -c
35
+ ```
36
+
37
+ ![Image](https://github.com/user-attachments/assets/f05a970e-c58c-44f1-b3f1-351ae30b4a35)
38
+
28
39
  ### Installation
29
40
 
30
41
  ```bash
@@ -66,6 +77,7 @@ pcu -s
66
77
  | `pcu -i` | Update dependencies (interactive) | `pcu -i -b` |
67
78
  | `pcu -a` | Analyze impact | `pcu -a default react` |
68
79
  | `pcu -s` | Workspace info | `pcu -s --validate` |
80
+ | `pcu -t` | Configure color theme | `pcu -t --set modern` |
69
81
  | `pcu -h` | Show help | `pcu -h update` |
70
82
 
71
83
  ## 📖 Complete Usage Guide
@@ -78,6 +90,7 @@ pcu -s
78
90
  | `pcu update` | `pcu -u` | Update catalog dependencies |
79
91
  | `pcu analyze` | `pcu -a` | Analyze impact of dependency updates |
80
92
  | `pcu workspace` | `pcu -s` | Show workspace information and validation |
93
+ | `pcu theme` | `pcu -t` | Configure color themes and UI settings |
81
94
  | `pcu help` | `pcu -h` | Display help information |
82
95
 
83
96
  ### Commands
@@ -195,6 +208,33 @@ Examples:
195
208
  pcu -h check # Show help for check command
196
209
  ```
197
210
 
211
+ #### `pcu theme` / `pcu -t`
212
+
213
+ Configure color themes and UI appearance.
214
+
215
+ ```bash
216
+ pcu theme [options]
217
+ pcu -t [options]
218
+
219
+ Options:
220
+ -s, --set <theme> Set color theme: default, modern, minimal, neon
221
+ -l, --list List all available themes
222
+ -i, --interactive Interactive theme configuration wizard
223
+
224
+ Examples:
225
+ pcu theme # Show current theme info
226
+ pcu -t --list # List all available themes
227
+ pcu theme --set modern # Set to modern theme
228
+ pcu -t --interactive # Launch theme configuration wizard
229
+ ```
230
+
231
+ **Available Themes:**
232
+
233
+ - `default` - Balanced colors for general use
234
+ - `modern` - Vibrant colors for development environments
235
+ - `minimal` - Clean and simple for production environments
236
+ - `neon` - High contrast colors for presentations
237
+
198
238
  ### Global Options
199
239
 
200
240
  These options work with all commands:
@@ -240,6 +280,11 @@ pcu -u --catalog default --include react
240
280
 
241
281
  # Validate workspace configuration
242
282
  pcu -s --validate
283
+
284
+ # Theme customization
285
+ pcu -t --list # List available themes
286
+ pcu -t --set modern # Set modern theme
287
+ pcu -t --interactive # Interactive theme setup
243
288
  ```
244
289
 
245
290
  ### Configuration
@@ -266,6 +311,11 @@ Create a `.pcurc.json` file in your project root:
266
311
  "format": "table",
267
312
  "color": true,
268
313
  "verbose": false
314
+ },
315
+ "ui": {
316
+ "theme": "default",
317
+ "progressBars": true,
318
+ "animations": true
269
319
  }
270
320
  }
271
321
  ```
@@ -274,12 +324,14 @@ Create a `.pcurc.json` file in your project root:
274
324
 
275
325
  This project follows Domain-Driven Design (DDD) principles:
276
326
 
277
- ```
327
+ ```text
278
328
  src/
279
329
  ├── cli/ # CLI interface layer
280
330
  │ ├── commands/ # Command handlers
281
331
  │ ├── options/ # Option parsers
282
- │ ├── formatters/ # Output formatters
332
+ │ ├── formatters/ # Output formatters & progress bars
333
+ │ ├── interactive/ # Interactive prompts & UI
334
+ │ ├── themes/ # Color themes & styling
283
335
  │ └── validators/ # Input validation
284
336
  ├── application/ # Application services
285
337
  │ ├── services/ # Application services