pangu-vis-cli 1.0.4 → 1.2.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.
Files changed (44) hide show
  1. package/README.md +60 -253
  2. package/dist/index.js +2215 -1
  3. package/{template → dist/template}/chart/example/App.vue +1 -3
  4. package/dist/template/chart/example/main.js +4 -0
  5. package/{template → dist/template}/chart/index.js +6 -6
  6. package/dist/template/chart/jsconfig.json +14 -0
  7. package/dist/template/chart/package.json +15 -0
  8. package/{template → dist/template}/chart/render.js +8 -8
  9. package/{template → dist/template}/chart/src/style.js +2 -2
  10. package/dist/template/ts/tsconfig.app.json +13 -0
  11. package/dist/template/ts/tsconfig.json +11 -0
  12. package/dist/template/ts/tsconfig.node.json +17 -0
  13. package/package.json +74 -66
  14. package/bin/index.js +0 -3
  15. package/dist/action.js +0 -1
  16. package/dist/auth/index.js +0 -1
  17. package/dist/auth/select.js +0 -1
  18. package/dist/build/index.js +0 -1
  19. package/dist/config/index.js +0 -1
  20. package/dist/create/chart/index.js +0 -1
  21. package/dist/create/index.js +0 -1
  22. package/dist/dev/index.js +0 -1
  23. package/dist/pack/index.js +0 -1
  24. package/dist/renew/index.js +0 -1
  25. package/dist/tar/index.js +0 -1
  26. package/dist/tidier/index.js +0 -1
  27. package/dist/update/index.js +0 -1
  28. package/dist/upload/index.js +0 -1
  29. package/dist/utils.js +0 -1
  30. package/dist/vpack/index.js +0 -1
  31. package/dist/vpack/menu.js +0 -1
  32. package/template/chart/example/main.js +0 -4
  33. package/template/chart/jsconfig.json +0 -14
  34. package/template/chart/package.json +0 -15
  35. package/template/ts/tsconfig.app.json +0 -13
  36. package/template/ts/tsconfig.json +0 -11
  37. package/template/ts/tsconfig.node.json +0 -19
  38. /package/{template → dist/template}/chart/README.md +0 -0
  39. /package/{template → dist/template}/chart/index.html +0 -0
  40. /package/{template → dist/template}/chart/public/images/index.png +0 -0
  41. /package/{template → dist/template}/chart/src/config.js +0 -0
  42. /package/{template → dist/template}/chart/src/data.js +0 -0
  43. /package/{template → dist/template}/chart/src/index.vue +0 -0
  44. /package/{template → dist/template}/ts/env.d.ts +0 -0
package/README.md CHANGED
@@ -1,28 +1,25 @@
1
1
  # pangu-vis-cli
2
2
 
3
- > 盘古可视化图表开发工具链 - 一站式图表创建、开发、打包、上传解决方案
3
+ > 盘古可视化平台的图表包脚手架与开发辅助工具
4
4
 
5
5
  ## 简介
6
6
 
7
- `pangu-vis-cli` 是一个专为盘古可视化平台设计的命令行工具,提供图表包的创建、开发调试、打包构建、上传发布等完整工作流支持。通过简洁的命令,开发者可以快速创建标准化的图表项目,进行本地开发调试,并一键打包上传至泰合社区。
7
+ `pangu-vis-cli` 是一个专为盘古可视化平台设计的图表包脚手架与开发辅助工具,覆盖图表包创建、本地开发调试与打包构建。通过简洁的命令,开发者可以快速创建标准化的图表项目,进行本地开发调试,并一键打包为 tar.gz 发布产物。1.1.0 起本工具聚焦脚手架与开发辅助,tar.gz 发布产物面向盘古可视化平台使用。
8
8
 
9
9
  **核心价值**:
10
10
 
11
11
  - 🚀 **快速初始化** - 一键创建标准化图表项目模板
12
- - 🔧 **开发友好** - 本地开发环境自动配置
13
- - 📦 **智能打包** - 版本管理、自动压缩、依赖优化
14
- - 📤 **便捷发布** - 认证上传至图表社区
12
+ - 🔧 **开发友好** - 一键启动图表包本地开发调试
13
+ - 📦 **智能打包** - 版本同步、自动压缩、一键生成 tar.gz 发布产物
15
14
  - ⚙️ **灵活配置** - 自动化行为可自定义
16
15
 
17
16
  ## 特性
18
17
 
19
- - ✅ 支持 8 种图表类型(折线图、柱状图、饼图、表格、地图、文本、指标、交互)
18
+ - ✅ 支持 9 种图表类型(折线图、柱状图、饼图、表格、地图、文本、指标、交互、其他)
20
19
  - ✅ 可选 TypeScript 支持
21
20
  - ✅ 交互式命令行提示
22
- - ✅ 自动版本同步(base.json ↔ package.json)
23
- - ✅ 并发打包优化
24
- - ✅ tar.gz 压缩包生成
25
- - ✅ 用户认证与 token 管理
21
+ - ✅ 自动版本同步(public/base.json ↔ package.json)
22
+ - ✅ 单图表一键打包为 tar.gz
26
23
  - ✅ 自动更新检测
27
24
  - ✅ 跨平台支持(macOS / Windows / Linux)
28
25
 
@@ -88,18 +85,14 @@ pnpm dev
88
85
  # 1. 创建图表包
89
86
  pv create my-chart
90
87
 
91
- # 2. 开发调试
88
+ # 2. 进入图表包目录
92
89
  cd packages/components/my-chart
90
+
91
+ # 3. 启动开发环境
93
92
  pnpm dev
94
93
 
95
- # 3. 打包构建(在图表包目录)
94
+ # 4. 打包构建(在图表包目录)
96
95
  pv build
97
-
98
- # 4. 用户认证
99
- pv auth
100
-
101
- # 5. 上传发布
102
- pv upload my-chart_v1.0.0.tar.gz
103
96
  ```
104
97
 
105
98
  ## 命令详解
@@ -128,7 +121,7 @@ pv c <project-name>
128
121
  - `text` - 文本
129
122
  - `indicator` - 指标
130
123
  - `interaction` - 交互
131
- - `other` - 其他
124
+ - `other` - 其他(默认选中,推荐)
132
125
 
133
126
  2. **TypeScript 支持**:
134
127
  - `yes` - 启用 TypeScript
@@ -137,6 +130,7 @@ pv c <project-name>
137
130
  3. **图表命名规则**:
138
131
  - 必须以小写字母开头
139
132
  - 仅允许小写字母、数字、下划线
133
+ - 长度 1-100 字符
140
134
  - 推荐添加自定义前缀防止冲突
141
135
 
142
136
  **示例**:
@@ -152,8 +146,14 @@ pv create custom_bar_chart
152
146
 
153
147
  **创建目录结构**:
154
148
 
155
- - 在图表库根目录下:`packages/components/<project-name>/`
156
- - 在 tailored 目录下:`packages/tailored/<project-name>/`
149
+ 图表创建位置取决于当前工作目录:
150
+
151
+ - **当前目录或其上级目录(最多向上 10 层)具备图表库特征**(`package.json` 包名含 `pangu` + `packages/components` + `packages/tailored`):
152
+ - 在特征目录下归位:`packages/components/<project-name>/`
153
+ - 运行路径包含 "tailored" 时:`packages/tailored/<project-name>/`
154
+
155
+ - **其他目录**:
156
+ - 当前目录下创建:`./<project-name>/`
157
157
 
158
158
  **自动执行**:
159
159
 
@@ -165,7 +165,7 @@ pv create custom_bar_chart
165
165
 
166
166
  ### pv build - 单个图表打包
167
167
 
168
- 打包单个图表组件为 tar.gz 压缩包,准备上传。
168
+ 打包单个图表组件为 tar.gz 压缩包。
169
169
 
170
170
  **别名**:`pv b`
171
171
 
@@ -193,14 +193,13 @@ pv build packages/components/my-chart
193
193
 
194
194
  **打包流程**:
195
195
 
196
- 1. 版本同步(`base.json` ↔ `package.json`)
196
+ 1. 版本同步(`public/base.json` ↔ `package.json`)
197
197
  2. 执行 `pnpm build`
198
198
  3. 生成产物目录:`<chart-name>_v<version>/`
199
199
  4. 可选删除 `es/` 目录(根据配置)
200
- 5. 过滤无用文件(`.git`, `.vscode`, `.DS_Store`)
200
+ 5. 过滤无用文件(`.git`, `.vscode`, `.DS_Store`, `.idea`)
201
201
  6. 打包为 tar.gz:`<chart-name>_v<version>.tar.gz`
202
202
  7. 可选删除打包目录(根据配置 `autoRemove`)
203
- 8. 可选自动上传(根据配置 `autoUpload`)
204
203
 
205
204
  **产物文件**:
206
205
 
@@ -220,12 +219,9 @@ my-chart_v1.0.0.tar.gz
220
219
 
221
220
  ```bash
222
221
  pv dev # 启动当前目录开发环境
223
- pv dev <path> # 启动指定路径开发环境
224
222
  ```
225
223
 
226
- **参数**:
227
-
228
- - `<path>` - 图表包路径
224
+ 需先 cd 到图表包目录再执行。
229
225
 
230
226
  **示例**:
231
227
 
@@ -233,146 +229,16 @@ pv dev <path> # 启动指定路径开发环境
233
229
  # 在图表包目录下执行
234
230
  cd packages/components/my-chart
235
231
  pv dev
236
-
237
- # 指定路径启动
238
- pv dev packages/components/my-chart
239
232
  ```
240
233
 
241
234
  **自动检测**:
242
235
 
243
- - 查找 `package.json` 中的 `dev` 或 `serve` 脚本
244
- - 执行 `pnpm dev` 或 `pnpm serve`
236
+ - 查找 `package.json` 中的 `dev` 脚本
237
+ - 执行 `<探测到的包管理器> run dev`
245
238
  - 实时预览图表开发效果
246
239
 
247
240
  ---
248
241
 
249
- ### pv upload - 上传图表包
250
-
251
- 上传打包后的 tar.gz 文件至泰合社区服务器。
252
-
253
- **别名**:`pv u`
254
-
255
- **前置条件**:需先通过 `pv auth` 进行用户认证。
256
-
257
- **用法**:
258
-
259
- ```bash
260
- pv upload # 上传当前目录所有 .tar.gz 文件
261
- pv upload <file.tar.gz> # 上传指定 tar.gz 文件
262
- pv upload <path> # 上传指定目录下的所有 .tar.gz 文件
263
- ```
264
-
265
- **参数**:
266
-
267
- - `<file.tar.gz>` - tar.gz 文件路径
268
- - `<path>` - 目录路径
269
-
270
- **示例**:
271
-
272
- ```bash
273
- # 用户认证(首次)
274
- pv auth
275
-
276
- # 上传当前目录所有 tar.gz
277
- pv upload
278
-
279
- # 上传指定文件
280
- pv upload my-chart_v1.0.0.tar.gz
281
-
282
- # 上传指定目录下的所有 tar.gz
283
- pv upload dist/
284
- ```
285
-
286
- **认证要求**:
287
-
288
- - 未登录时自动触发认证流程
289
- - 需输入泰合社区用户名和密码
290
- - token 自动保存,后续无需重复登录
291
-
292
- ---
293
-
294
- ### pv auth - 用户认证
295
-
296
- 登录泰合社区,获取上传权限。
297
-
298
- **别名**:`pv a`
299
-
300
- **用法**:
301
-
302
- ```bash
303
- pv auth # 交互式登录
304
- pv auth <user> <password> # 命令行登录
305
- ```
306
-
307
- **参数**:
308
-
309
- - `<user>` - 泰合社区用户名
310
- - `<password>` - 泰合社区密码
311
-
312
- **示例**:
313
-
314
- ```bash
315
- # 交互式登录(推荐)
316
- pv auth
317
- # 按提示输入用户名和密码
318
-
319
- # 命令行登录
320
- pv auth myuser mypassword
321
- ```
322
-
323
- **认证流程**:
324
-
325
- 1. 输入用户名和密码(密码经 MD5 加密)
326
- 2. 请求服务器 token
327
- 3. 保存认证信息至本地配置文件
328
-
329
- **认证信息存储位置**:
330
-
331
- ```
332
- ~/.pangu-vis-store/.cli_store
333
- ```
334
-
335
- **认证失败处理**:
336
-
337
- - 失败后可重试(最多 3 次)
338
- - 失败 3 次后提示稍后尝试
339
-
340
- ---
341
-
342
- ### pv tar - tar 打包工具
343
-
344
- 通用的 tar.gz 打包命令,可打包任意目录或文件。
345
-
346
- **别名**:`pv t`
347
-
348
- **用法**:
349
-
350
- ```bash
351
- pv tar <targetDir> <name> [distDir] [distName]
352
- ```
353
-
354
- **参数**:
355
-
356
- - `<targetDir>` - 目标目录(必需)
357
- - `<name>` - 打包文件名(必需)
358
- - `<distDir>` - 输出目录(可选,默认为 targetDir)
359
- - `<distName>` - 输出文件名(可选,默认为 name)
360
-
361
- **示例**:
362
-
363
- ```bash
364
- # 打包当前目录下的 dist 为 dist.tar.gz
365
- pv tar ./dist dist
366
-
367
- # 打包并指定输出目录
368
- pv tar ./dist dist ./output
369
-
370
- # 打包并指定输出文件名
371
- pv tar ./dist dist ./output my-dist
372
- ```
373
-
374
- ---
375
-
376
242
  ### pv config - 配置管理
377
243
 
378
244
  配置 CLI 工具的自动化行为。
@@ -389,7 +255,6 @@ pv config
389
255
 
390
256
  | 配置项 | 说明 | 默认值 |
391
257
  | -------------- | ------------------------------ | ------------ |
392
- | `autoUpload` | 图表打包后是否自动上传泰合社区 | `no` (false) |
393
258
  | `autoRemove` | 打包后是否自动删除打包目录 | `yes` (true) |
394
259
  | `autoRemoveEs` | 打包后是否移除 es 目录 | `yes` (true) |
395
260
 
@@ -410,12 +275,10 @@ pv config
410
275
 
411
276
  ```json
412
277
  {
413
- "user": "your-username",
414
- "password": "your-password",
415
- "token": "your-token",
416
- "autoUpload": false,
417
- "autoRemove": true,
418
- "autoRemoveEs": true
278
+ "autoRemove": true,
279
+ "autoRemoveEs": true,
280
+ "lastUpdateCheck": 1788480000000,
281
+ "privateRegistry": "http://192.168.12.88:10000"
419
282
  }
420
283
  ```
421
284
 
@@ -435,10 +298,9 @@ pv update
435
298
 
436
299
  **更新流程**:
437
300
 
438
- 1. 检查 npm 是否有新版本
439
- 2. 提示是否更新
440
- 3. 执行全局安装:`npm i -g pangu-vis-cli`
441
- 4. macOS/Linux 自动启用 sudo(如需)
301
+ 1. 检查 npm 源最新版本
302
+ 2. 安装前确认提示「是否安装 <版本>?」(默认 yes,可跳过;跳过后提示稍后可再运行 `pvis update`)
303
+ 3. 优先用探测到的 pnpm(不可用时回退 npm)执行 `install -g pangu-vis-cli@latest`
442
304
 
443
305
  **示例**:
444
306
 
@@ -447,10 +309,11 @@ pv update
447
309
  pv update
448
310
 
449
311
  # 已是最新版本提示
450
- 当前版本已是最新!
312
+ 当前已是最新版本 1.1.0
451
313
 
452
314
  # 有新版本时提示
453
- 是否更新Cli工具? yes/no
315
+ 发现新版本 1.2.0,当前版本 1.1.0
316
+ 是否安装 1.2.0?
454
317
  ```
455
318
 
456
319
  **自动检查**:
@@ -470,16 +333,16 @@ CLI 配置信息存储在用户主目录:
470
333
  ~/.pangu-vis-store/.cli_store
471
334
  ```
472
335
 
336
+ 可通过环境变量 `PANGU_CONFIG_DIR` 覆盖配置目录位置。
337
+
473
338
  ### 配置项说明
474
339
 
475
- | 配置项 | 类型 | 说明 | 默认值 |
476
- | -------------- | ------- | ----------------------- | ------- |
477
- | `user` | string | 泰合社区用户名 | `''` |
478
- | `password` | string | 泰合社区密码(MD5加密) | `''` |
479
- | `token` | string | 认证 token | `''` |
480
- | `autoUpload` | boolean | 打包后自动上传 | `false` |
481
- | `autoRemove` | boolean | 打包后删除打包目录 | `true` |
482
- | `autoRemoveEs` | boolean | 打包后删除 es 目录 | `true` |
340
+ | 配置项 | 类型 | 说明 | 默认值 |
341
+ | ----------------- | ------- | ------------------------------------------------------------ | ---------- |
342
+ | `autoRemove` | boolean | 打包后是否自动删除打包目录 | `true` |
343
+ | `autoRemoveEs` | boolean | 打包后是否自动删除 es 目录 | `true` |
344
+ | `lastUpdateCheck` | number | 更新检查节流时间戳(可选) | |
345
+ | `privateRegistry` | string | 私有 npm 源(可选,优先级:`PANGU_REGISTRY` 环境变量 > 配置文件 > 内网默认源) | 内网默认源 |
483
346
 
484
347
  ### 修改配置
485
348
 
@@ -492,21 +355,9 @@ pv config
492
355
  **方法 2:手动编辑**
493
356
  编辑 `~/.pangu-vis-store/.cli_store` 文件。
494
357
 
495
- ### 清除认证
496
-
497
- 如需重新登录,删除配置文件中的 `token` 字段:
498
-
499
- ```bash
500
- # 编辑配置文件
501
- vi ~/.pangu-vis-store/.cli_store
502
-
503
- # 删除 token 行后重新认证
504
- pv auth
505
- ```
506
-
507
358
  ## 使用示例
508
359
 
509
- ### 示例 1:创建并发布折线图
360
+ ### 示例:创建并打包折线图
510
361
 
511
362
  完整流程演示:
512
363
 
@@ -525,43 +376,17 @@ pnpm dev
525
376
  # 4. 开发完成后,打包图表
526
377
  pv build
527
378
  # 生成:custom_line_chart_v1.0.0.tar.gz
528
-
529
- # 5. 用户认证
530
- pv auth
531
- # 输入泰合社区用户名和密码
532
-
533
- # 6. 上传发布
534
- pv upload custom_line_chart_v1.0.0.tar.gz
535
- # 上传成功提示
536
- ```
537
-
538
- ### 示例 2:自动化配置
539
-
540
- 配置打包后自动上传:
541
-
542
- ```bash
543
- # 配置自动上传
544
- pv config
545
- # 选择:autoUpload = yes
546
-
547
- # 以后打包会自动上传
548
- pv build my-chart
549
- # 打包完成后自动上传,无需手动执行 pv upload
550
379
  ```
551
380
 
552
381
  ## 命令速查表
553
382
 
554
- | 命令 | 别名 | 说明 | 是否需要认证 |
555
- | ----------- | -------- | ------------ | ------------------------ |
556
- | `pv create` | `pv c` | 创建图表包 | 可选(登录可注册图表ID) |
557
- | `pv pack` | `pv pk` | 图表库打包 | |
558
- | `pv build` | `pv b` | 单个图表打包 | ❌ |
559
- | `pv dev` | `pv d` | 启动开发环境 | |
560
- | `pv upload` | `pv u` | 上传图表包 | |
561
- | `pv auth` | `pv a` | 用户认证 | ❌ |
562
- | `pv tar` | `pv t` | tar 打包工具 | ❌ |
563
- | `pv config` | `pv set` | 配置管理 | ❌ |
564
- | `pv update` | `pv up` | CLI 更新 | ❌ |
383
+ | 命令 | 别名 | 说明 |
384
+ | ----------- | -------- | ------------ |
385
+ | `pv create` | `pv c` | 创建图表包 |
386
+ | `pv build` | `pv b` | 单个图表打包 |
387
+ | `pv dev` | `pv d` | 启动开发环境 |
388
+ | `pv config` | `pv set` | 配置管理 |
389
+ | `pv update` | `pv up` | CLI 更新 |
565
390
 
566
391
  ## 常见问题
567
392
 
@@ -576,39 +401,26 @@ sudo npm install -g pangu-vis-cli
576
401
  **Windows**:
577
402
  以管理员身份运行终端,再执行安装命令。
578
403
 
579
- ### 2. 登录认证失败
580
-
581
- - 检查用户名和密码是否正确
582
- - 确认泰合社区账号已激活
583
- - 失败 3 次后需稍后再试
584
-
585
- ### 3. 图表包名称重复
404
+ ### 2. 图表包名称重复
586
405
 
587
406
  - 使用自定义前缀避免冲突
588
- - 遵循命名规则:小写字母开头,仅允许字母、数字、下划线
407
+ - 遵循命名规则:小写字母开头,仅允许小写字母、数字、下划线
589
408
 
590
- ### 4. 打包产物找不到
409
+ ### 3. 打包产物找不到
591
410
 
592
411
  - 检查配置 `autoRemove` 是否为 `yes`
593
412
  - 打包产物默认在图表包目录下
594
- - 使用 `pv tar` 手动指定输出目录
595
-
596
- ### 5. 上传失败
597
-
598
- - 确认已通过 `pv auth` 认证
599
- - 检查网络连接(泰合社区服务器)
600
- - 确认 tar.gz 文件格式正确
601
413
 
602
- ### 6. 版本号不同步
414
+ ### 4. 版本号不同步
603
415
 
604
- - CLI 自动同步 `base.json` 和 `package.json` 版本
416
+ - CLI 自动同步 `public/base.json` 和 `package.json` 版本
605
417
  - 手动修改版本时需同时更新两个文件
606
418
  - 或使用 `pv build` 自动同步
607
419
 
608
- ### 7. 开发环境启动失败
420
+ ### 5. 开发环境启动失败
609
421
 
610
422
  - 确认已安装 `pnpm`
611
- - 检查 `package.json` 中是否有 `dev` 或 `serve` 脚本
423
+ - 检查 `package.json` 中是否有 `dev` 脚本
612
424
  - 安装依赖:`pnpm install`
613
425
 
614
426
  ## 许可证
@@ -622,8 +434,3 @@ Copyright (c) 2023 Jaxon
622
434
  **Jaxon**
623
435
 
624
436
  如有问题或建议,请联系作者或在项目仓库提交 Issue。
625
-
626
- ---
627
-
628
- **最后更新**:2026-06-17
629
- **版本**:1.0.0