@oyster-lib/cli 2.0.0
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.md +107 -0
- package/dist/index.js +25507 -0
- package/jest.config.ts +23 -0
- package/package.json +33 -0
- package/src/__tests__/templates.test.ts +283 -0
- package/src/commands/deploy.ts +109 -0
- package/src/commands/init.ts +154 -0
- package/src/commands/login.ts +78 -0
- package/src/commands/migrate.ts +81 -0
- package/src/config.ts +86 -0
- package/src/index.ts +22 -0
- package/src/templates/backend.ts +119 -0
- package/src/templates/frontend.ts +139 -0
- package/src/templates/index.ts +149 -0
- package/src/utils/http.ts +131 -0
- package/src/utils/input.ts +89 -0
- package/tsconfig.json +16 -0
package/README.md
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# Oyster CLI v2
|
|
2
|
+
|
|
3
|
+
Oyster アプリケーションの **ログイン**・**デプロイ**・**マイグレーション** を行う CLI ツール。
|
|
4
|
+
|
|
5
|
+
## セットアップ
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
cd oyster-cli
|
|
9
|
+
pnpm install
|
|
10
|
+
|
|
11
|
+
# v2 のみビルド(bun が必要)
|
|
12
|
+
pnpm build:v2
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## コマンド
|
|
16
|
+
|
|
17
|
+
### `oyster login`
|
|
18
|
+
|
|
19
|
+
Oyster サーバーに認証して API キーを取得・保存する。
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
oyster login
|
|
23
|
+
oyster login --server https://your-server.example.com
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
認証情報は `~/.config/oyster/config.json` に保存される(ファイル権限 600)。
|
|
27
|
+
|
|
28
|
+
環境変数でも指定可能:
|
|
29
|
+
- `OYSTER_API_KEY` - API キー
|
|
30
|
+
- `OYSTER_SERVER_URL` - サーバー URL
|
|
31
|
+
|
|
32
|
+
### `oyster deploy`
|
|
33
|
+
|
|
34
|
+
フロントエンド・バックエンドをデプロイする。
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
# 両方デプロイ(対話でドメイン・アプリを選択)
|
|
38
|
+
oyster deploy
|
|
39
|
+
|
|
40
|
+
# フロントエンドのみ
|
|
41
|
+
oyster deploy --frontend
|
|
42
|
+
|
|
43
|
+
# バックエンドのみ
|
|
44
|
+
oyster deploy --backend
|
|
45
|
+
|
|
46
|
+
# ステージング環境にデプロイ
|
|
47
|
+
oyster deploy --staging
|
|
48
|
+
|
|
49
|
+
# ドメイン・アプリを直接指定
|
|
50
|
+
oyster deploy -d craif -a CRM
|
|
51
|
+
|
|
52
|
+
# 組み合わせ例: craif ドメインの CRM のフロントエンドだけ staging にデプロイ
|
|
53
|
+
oyster deploy -d craif -a CRM -f -s
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
| オプション | 短縮 | 説明 |
|
|
57
|
+
|---|---|---|
|
|
58
|
+
| `--frontend` | `-f` | フロントエンドのみ |
|
|
59
|
+
| `--backend` | `-b` | バックエンドのみ |
|
|
60
|
+
| `--staging` | `-s` | ステージング環境 |
|
|
61
|
+
| `--domain <name>` | `-d` | ドメイン名を直接指定 |
|
|
62
|
+
| `--app <name>` | `-a` | アプリ名を直接指定 |
|
|
63
|
+
|
|
64
|
+
### `oyster migrate`
|
|
65
|
+
|
|
66
|
+
データベースマイグレーション(`prisma migrate deploy`)を実行する。
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
oyster migrate
|
|
70
|
+
oyster migrate -d craif -a CRM
|
|
71
|
+
oyster migrate --staging
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
| オプション | 短縮 | 説明 |
|
|
75
|
+
|---|---|---|
|
|
76
|
+
| `--staging` | `-s` | ステージング環境 |
|
|
77
|
+
| `--domain <name>` | `-d` | ドメイン名を直接指定 |
|
|
78
|
+
| `--app <name>` | `-a` | アプリ名を直接指定 |
|
|
79
|
+
|
|
80
|
+
## アーキテクチャ
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
oyster-cli/packages/v2/
|
|
84
|
+
├── src/
|
|
85
|
+
│ ├── index.ts # エントリポイント
|
|
86
|
+
│ ├── config.ts # 設定ファイル管理 (~/.config/oyster/config.json)
|
|
87
|
+
│ ├── commands/
|
|
88
|
+
│ │ ├── login.ts # oyster login
|
|
89
|
+
│ │ ├── deploy.ts # oyster deploy
|
|
90
|
+
│ │ └── migrate.ts # oyster migrate
|
|
91
|
+
│ └── utils/
|
|
92
|
+
│ ├── http.ts # 認証付き HTTP クライアント
|
|
93
|
+
│ └── input.ts # 対話的なドメイン・アプリ選択
|
|
94
|
+
├── package.json
|
|
95
|
+
├── tsconfig.json
|
|
96
|
+
└── README.md
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### サーバー側 API エンドポイント
|
|
100
|
+
|
|
101
|
+
| CLI コマンド | API エンドポイント | メソッド |
|
|
102
|
+
|---|---|---|
|
|
103
|
+
| `oyster login` | `/api/v1/cli/login` | POST |
|
|
104
|
+
| `oyster deploy` | `/api/v1/cli/deploy` | POST |
|
|
105
|
+
| `oyster migrate` | `/api/v1/cli/migrate` | POST |
|
|
106
|
+
| (ドメイン一覧) | `/api/v1/cli/domains` | GET |
|
|
107
|
+
| (アプリ一覧) | `/api/v1/cli/apps` | GET |
|