@zygapp/kintone-plugin-devtool 0.1.0 → 0.1.1
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 +325 -0
- package/bin/darwin-arm64/kpdev +0 -0
- package/bin/darwin-x64/kpdev +0 -0
- package/bin/linux-arm64/kpdev +0 -0
- package/bin/linux-x64/kpdev +0 -0
- package/bin/win32-arm64/kpdev.exe +0 -0
- package/bin/win32-x64/kpdev.exe +0 -0
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
# @zygapp/kintone-plugin-devtool
|
|
4
|
+
|
|
5
|
+
**kintone プラグイン開発を超簡単に**
|
|
6
|
+
|
|
7
|
+
[](https://www.npmjs.com/package/@zygapp/kintone-plugin-devtool)
|
|
8
|
+
[](https://opensource.org/licenses/MIT)
|
|
9
|
+
[](https://go.dev/)
|
|
10
|
+
[](https://nodejs.org/)
|
|
11
|
+
|
|
12
|
+
<br />
|
|
13
|
+
|
|
14
|
+
Vite + HMR で kintone プラグイン開発を快適に。<br />
|
|
15
|
+
コードを保存すれば、即座に kintone 画面に反映されます。
|
|
16
|
+
|
|
17
|
+
</div>
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Features
|
|
22
|
+
|
|
23
|
+
| | |
|
|
24
|
+
|---|---|
|
|
25
|
+
| **Hot Module Replacement** | コード変更が即座に kintone 画面に反映。ページリロード不要。 |
|
|
26
|
+
| **モダンフレームワーク対応** | React / Vue / Svelte / Vanilla に対応 |
|
|
27
|
+
| **TypeScript サポート** | 型安全な開発環境を標準提供 |
|
|
28
|
+
| **プラグイン署名** | RSA 署名付きプラグイン ZIP を自動生成 |
|
|
29
|
+
| **複数環境デプロイ** | 開発・本番環境を分離、複数の本番環境への一括デプロイ |
|
|
30
|
+
| **シンプルなワークフロー** | `init` → `dev` → `build` → `deploy` の 4 ステップ |
|
|
31
|
+
| **クロスプラットフォーム** | macOS / Linux / Windows(Intel & ARM) |
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Quick Start
|
|
36
|
+
|
|
37
|
+
### 1. インストール
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
npm install -g @zygapp/kintone-plugin-devtool
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### 2. プロジェクト作成
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
kpdev init my-plugin
|
|
47
|
+
cd my-plugin
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
対話形式で以下を設定します:
|
|
51
|
+
- プラグイン名
|
|
52
|
+
- kintone ドメイン(例:`example.cybozu.com`)
|
|
53
|
+
- フレームワーク(React / Vue / Svelte / Vanilla)
|
|
54
|
+
- 言語(TypeScript / JavaScript)
|
|
55
|
+
- カスタマイズ対象(デスクトップ / モバイル)
|
|
56
|
+
- 認証情報
|
|
57
|
+
|
|
58
|
+
### 3. 開発開始
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
kpdev dev
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
ブラウザが自動で開きます。`https://localhost:3000` の SSL 証明書を許可すると、kintone にリダイレクトされます。
|
|
65
|
+
|
|
66
|
+
### 4. 本番デプロイ
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
kpdev build
|
|
70
|
+
kpdev deploy
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Commands
|
|
76
|
+
|
|
77
|
+
### `kpdev init [project-name]`
|
|
78
|
+
|
|
79
|
+
新しいプラグインプロジェクトを初期化します。
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
kpdev init my-plugin
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
**生成されるもの:**
|
|
86
|
+
- ソースコード(`src/main/`, `src/config/`)
|
|
87
|
+
- 開発用ローダープラグイン
|
|
88
|
+
- 開発用・本番用 RSA 秘密鍵
|
|
89
|
+
- SSL 証明書
|
|
90
|
+
- Vite 設定
|
|
91
|
+
|
|
92
|
+
### `kpdev dev`
|
|
93
|
+
|
|
94
|
+
開発用ローダープラグインを kintone にデプロイし、Vite dev server を起動します。
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
kpdev dev
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
**オプション:**
|
|
101
|
+
|
|
102
|
+
| オプション | 説明 |
|
|
103
|
+
|-----------|------|
|
|
104
|
+
| `--skip-deploy` | ローダープラグインのデプロイをスキップ(2回目以降の起動時に便利) |
|
|
105
|
+
| `--no-browser` | ブラウザを自動で開かない |
|
|
106
|
+
|
|
107
|
+
### `kpdev build`
|
|
108
|
+
|
|
109
|
+
本番用プラグイン ZIP を生成します。
|
|
110
|
+
|
|
111
|
+
ビルド前にバージョン更新を対話形式で選択できます(現状維持 / パッチ / マイナー / メジャー / カスタム)。
|
|
112
|
+
|
|
113
|
+
`console.error` 以外の `console.*` と `debugger` は自動的に削除されます。
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
kpdev build
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
**オプション:**
|
|
120
|
+
|
|
121
|
+
| オプション | 説明 |
|
|
122
|
+
|-----------|------|
|
|
123
|
+
| `--no-minify` | minify を無効化 |
|
|
124
|
+
| `--remove-console` | console.* を削除(デフォルト有効) |
|
|
125
|
+
|
|
126
|
+
**出力ファイル:**
|
|
127
|
+
- `dist/plugin-prod-v{version}.zip`
|
|
128
|
+
|
|
129
|
+
### `kpdev deploy`
|
|
130
|
+
|
|
131
|
+
本番用プラグイン ZIP を kintone にデプロイします。
|
|
132
|
+
|
|
133
|
+
複数の本番環境への一括デプロイに対応。デプロイ先選択時に新規環境を追加することもできます。
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
kpdev deploy
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
**オプション:**
|
|
140
|
+
|
|
141
|
+
| オプション | 説明 |
|
|
142
|
+
|-----------|------|
|
|
143
|
+
| `--file` | 指定した ZIP ファイルをデプロイ |
|
|
144
|
+
| `--all` | 全環境にデプロイ(対話スキップ) |
|
|
145
|
+
|
|
146
|
+
### `kpdev config`
|
|
147
|
+
|
|
148
|
+
プロジェクト設定を対話形式で変更します。
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
kpdev config
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
**設定可能な項目:**
|
|
155
|
+
- プラグイン情報(名前、説明、バージョン)
|
|
156
|
+
- 開発環境(ドメイン、認証情報)
|
|
157
|
+
- 本番環境の管理(追加 / 編集 / 削除)
|
|
158
|
+
- ターゲット(デスクトップ / モバイル)
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## Project Structure
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
my-plugin/
|
|
166
|
+
├── src/
|
|
167
|
+
│ ├── main/ # desktop/mobile 共通コード
|
|
168
|
+
│ │ ├── main.tsx
|
|
169
|
+
│ │ ├── App.tsx
|
|
170
|
+
│ │ └── style.css
|
|
171
|
+
│ └── config/ # プラグイン設定画面
|
|
172
|
+
│ ├── main.tsx
|
|
173
|
+
│ ├── App.tsx
|
|
174
|
+
│ └── style.css
|
|
175
|
+
├── .kpdev/
|
|
176
|
+
│ ├── config.json # プロジェクト設定
|
|
177
|
+
│ ├── manifest.json # プラグインマニフェスト
|
|
178
|
+
│ ├── vite.config.ts # Vite 設定(自動生成)
|
|
179
|
+
│ ├── certs/ # SSL 証明書
|
|
180
|
+
│ ├── keys/ # RSA 秘密鍵
|
|
181
|
+
│ │ ├── private.dev.ppk # 開発用
|
|
182
|
+
│ │ └── private.prod.ppk # 本番用
|
|
183
|
+
│ └── managed/ # ローダープラグイン(自動生成)
|
|
184
|
+
├── dist/ # ビルド出力
|
|
185
|
+
├── icon.png # プラグインアイコン(56x56)
|
|
186
|
+
├── package.json
|
|
187
|
+
├── .env # 認証情報
|
|
188
|
+
└── .gitignore
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## Authentication
|
|
194
|
+
|
|
195
|
+
認証情報は以下の優先順位で取得されます:
|
|
196
|
+
|
|
197
|
+
### 1. `.env` ファイル(推奨)
|
|
198
|
+
|
|
199
|
+
```env
|
|
200
|
+
# 開発環境
|
|
201
|
+
KPDEV_USERNAME=your-username
|
|
202
|
+
KPDEV_PASSWORD=your-password
|
|
203
|
+
|
|
204
|
+
# 本番環境(複数対応)
|
|
205
|
+
KPDEV_PROD_A_USERNAME=admin-a
|
|
206
|
+
KPDEV_PROD_A_PASSWORD=pass-a
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### 2. `.kpdev/config.json`
|
|
210
|
+
|
|
211
|
+
```json
|
|
212
|
+
{
|
|
213
|
+
"kintone": {
|
|
214
|
+
"dev": {
|
|
215
|
+
"domain": "example.cybozu.com",
|
|
216
|
+
"auth": {
|
|
217
|
+
"username": "your-username",
|
|
218
|
+
"password": "your-password"
|
|
219
|
+
}
|
|
220
|
+
},
|
|
221
|
+
"prod": [
|
|
222
|
+
{
|
|
223
|
+
"name": "production",
|
|
224
|
+
"domain": "prod.cybozu.com",
|
|
225
|
+
"auth": {
|
|
226
|
+
"username": "admin",
|
|
227
|
+
"password": "pass"
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
]
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
> **Note:** `.env` と `.kpdev/config.json` は `.gitignore` に追加されます。認証情報をリポジトリにコミットしないでください。
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
## SSL Certificate
|
|
240
|
+
|
|
241
|
+
開発サーバーは HTTPS で起動します。初回アクセス時に自己署名証明書の警告が表示されます。
|
|
242
|
+
|
|
243
|
+
### 証明書を信頼する方法
|
|
244
|
+
|
|
245
|
+
1. `https://localhost:3000` にアクセス
|
|
246
|
+
2. ブラウザの警告画面で「詳細設定」→「安全でないサイトへ進む」を選択
|
|
247
|
+
3. または、OS の証明書ストアに `.kpdev/certs/localhost.pem` を登録
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
## How It Works
|
|
252
|
+
|
|
253
|
+
```
|
|
254
|
+
kintone
|
|
255
|
+
↓ classic script
|
|
256
|
+
kintone-dev-loader.js(開発用プラグインとしてインストール)
|
|
257
|
+
↓ dynamic import
|
|
258
|
+
Vite dev server (ESM + HMR)
|
|
259
|
+
↓
|
|
260
|
+
src/main/main.* # desktop/mobile 用
|
|
261
|
+
src/config/main.* # プラグイン設定画面用
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
kintone プラグインは classic script のみ対応ですが、kpdev は開発時に Vite の ESM + HMR を活用できるようローダープラグインを自動生成・デプロイします。
|
|
265
|
+
|
|
266
|
+
**開発者が意識するのは `src/` 以下のコードだけ。** ローダーや設定ファイルは kpdev が管理します。
|
|
267
|
+
|
|
268
|
+
### 開発用と本番用の分離
|
|
269
|
+
|
|
270
|
+
- **開発用**(`private.dev.ppk`): ローダープラグイン用。プラグイン名に `[DEV]` プレフィックスが付きます。
|
|
271
|
+
- **本番用**(`private.prod.ppk`): 本番ビルド用。
|
|
272
|
+
|
|
273
|
+
秘密鍵ごとにプラグイン ID が異なるため、開発用プラグインが本番環境に混入することを防ぎます。
|
|
274
|
+
|
|
275
|
+
### CLI について
|
|
276
|
+
|
|
277
|
+
kpdev は Go で実装されたネイティブバイナリです。npm 経由でインストールすると、OS・アーキテクチャに応じた実行ファイルが自動選択されます。高速な起動と安定した動作を実現しています。
|
|
278
|
+
|
|
279
|
+
---
|
|
280
|
+
|
|
281
|
+
## Requirements
|
|
282
|
+
|
|
283
|
+
- **Node.js** 18 以上
|
|
284
|
+
- **kintone** 環境(cybozu.com)
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
## Supported Platforms
|
|
289
|
+
|
|
290
|
+
| OS | Architecture |
|
|
291
|
+
|----|--------------|
|
|
292
|
+
| macOS | Intel (x64) / Apple Silicon (arm64) |
|
|
293
|
+
| Linux | x64 / arm64 |
|
|
294
|
+
| Windows | x64 / arm64 |
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
## Troubleshooting
|
|
299
|
+
|
|
300
|
+
### HMR が動作しない
|
|
301
|
+
|
|
302
|
+
- `https://localhost:3000` の SSL 証明書を許可しているか確認してください
|
|
303
|
+
- ブラウザの開発者ツールでコンソールエラーを確認してください
|
|
304
|
+
|
|
305
|
+
### ローダープラグインのデプロイに失敗する
|
|
306
|
+
|
|
307
|
+
- `.env` または `.kpdev/config.json` の認証情報を確認してください
|
|
308
|
+
- kintone のシステム管理権限があるか確認してください
|
|
309
|
+
|
|
310
|
+
### プラグイン ID が変わった
|
|
311
|
+
|
|
312
|
+
- 秘密鍵(`.kpdev/keys/`)が変更または削除された可能性があります
|
|
313
|
+
- 秘密鍵は一度生成したら変更しないでください
|
|
314
|
+
- チーム開発では `.kpdev/keys/` を Git で追跡し、全員が同じ秘密鍵を使用してください
|
|
315
|
+
|
|
316
|
+
### Windows で証明書エラーが出る
|
|
317
|
+
|
|
318
|
+
- PowerShell を管理者権限で実行し、証明書をインポートしてください
|
|
319
|
+
- または、ブラウザで `https://localhost:3000` にアクセスして手動で許可してください
|
|
320
|
+
|
|
321
|
+
---
|
|
322
|
+
|
|
323
|
+
## License
|
|
324
|
+
|
|
325
|
+
MIT
|
package/bin/darwin-arm64/kpdev
CHANGED
|
Binary file
|
package/bin/darwin-x64/kpdev
CHANGED
|
Binary file
|
package/bin/linux-arm64/kpdev
CHANGED
|
Binary file
|
package/bin/linux-x64/kpdev
CHANGED
|
Binary file
|
|
Binary file
|
package/bin/win32-x64/kpdev.exe
CHANGED
|
Binary file
|