@nocobase/cli 2.1.0-alpha.40 → 2.1.0-alpha.46
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 +20 -8
- package/README.zh-CN.md +20 -8
- package/bin/run.js +9 -37
- package/dist/commands/app/destroy.js +225 -0
- package/dist/commands/app/down.js +24 -254
- package/dist/commands/app/restart.js +12 -5
- package/dist/commands/app/shared.js +122 -0
- package/dist/commands/app/start.js +41 -59
- package/dist/commands/app/stop.js +72 -26
- package/dist/commands/app/upgrade.js +312 -429
- package/dist/commands/config/delete.js +8 -1
- package/dist/commands/config/get.js +5 -0
- package/dist/commands/config/set.js +10 -1
- package/dist/commands/db/ps.js +5 -18
- package/dist/commands/db/start.js +23 -8
- package/dist/commands/env/add.js +66 -6
- package/dist/commands/env/auth.js +86 -27
- package/dist/commands/env/info.js +52 -8
- package/dist/commands/env/list.js +6 -7
- package/dist/commands/env/shared.js +41 -3
- package/dist/commands/env/status.js +10 -7
- package/dist/commands/init.js +214 -136
- package/dist/commands/install.js +364 -294
- package/dist/commands/license/plugins/shared.js +9 -3
- package/dist/commands/license/plugins/sync.js +54 -25
- package/dist/commands/self/update.js +58 -1
- package/dist/commands/source/dev.js +5 -5
- package/dist/commands/source/download.js +29 -25
- package/dist/generated/command-registry.js +3 -2
- package/dist/lib/api-client.js +6 -0
- package/dist/lib/api-command-compat.js +641 -0
- package/dist/lib/app-health.js +31 -18
- package/dist/lib/app-managed-resources.js +1 -1
- package/dist/lib/app-runtime.js +2 -2
- package/dist/lib/auth-store.js +56 -19
- package/dist/lib/backup.js +3 -3
- package/dist/lib/bootstrap.js +14 -8
- package/dist/lib/cli-config.js +137 -4
- package/dist/lib/cli-entry-error.js +44 -0
- package/dist/lib/cli-locale.js +19 -7
- package/dist/lib/db-connection-check.js +61 -0
- package/dist/lib/docker-log-stream.js +45 -0
- package/dist/lib/env-auth.js +98 -11
- package/dist/lib/env-config.js +3 -2
- package/dist/lib/env-guard.js +1 -1
- package/dist/lib/generated-command.js +17 -0
- package/dist/lib/prompt-validators.js +23 -5
- package/dist/lib/prompt-web-ui.js +143 -19
- package/dist/lib/run-npm.js +133 -23
- package/dist/lib/skills-manager.js +80 -4
- package/dist/lib/source-publish.js +4 -1
- package/dist/lib/startup-update.js +74 -50
- package/dist/lib/ui.js +4 -1
- package/dist/locale/en-US.json +92 -5
- package/dist/locale/zh-CN.json +92 -5
- package/package.json +34 -2
package/dist/locale/zh-CN.json
CHANGED
|
@@ -34,6 +34,8 @@
|
|
|
34
34
|
"back": "上一步",
|
|
35
35
|
"next": "下一步",
|
|
36
36
|
"submit": "提交并回到终端继续",
|
|
37
|
+
"showPassword": "显示密码",
|
|
38
|
+
"hidePassword": "隐藏密码",
|
|
37
39
|
"checking": "检查中...",
|
|
38
40
|
"sending": "提交中...",
|
|
39
41
|
"successTitle": "成功",
|
|
@@ -73,7 +75,8 @@
|
|
|
73
75
|
"timeout": "连接数据库 {{host}}:{{port}} 超时,约 {{seconds}} 秒内未成功建立连接。",
|
|
74
76
|
"authenticationFailed": "无法使用用户 \"{{user}}\" 登录数据库 \"{{database}}\"。请检查用户名和密码。",
|
|
75
77
|
"databaseNotFound": "数据库 \"{{database}}\" 不存在,或当前连接配置无权访问该数据库。",
|
|
76
|
-
"connectionFailed": "数据库连接检查失败。详情:{{details}}"
|
|
78
|
+
"connectionFailed": "数据库连接检查失败。详情:{{details}}",
|
|
79
|
+
"lowerCaseTableNamesRequiresUnderscored": "当 MySQL 的 lower_case_table_names=1 时,必须设置 DB_UNDERSCORED=true。"
|
|
77
80
|
}
|
|
78
81
|
},
|
|
79
82
|
"commands": {
|
|
@@ -94,16 +97,28 @@
|
|
|
94
97
|
},
|
|
95
98
|
"authType": {
|
|
96
99
|
"message": "你想使用哪种登录方式?",
|
|
100
|
+
"basicLabel": "Basic 登录(用户名 + 密码)",
|
|
101
|
+
"basicHint": "保存后会用用户名和密码换取 Token",
|
|
97
102
|
"oauthLabel": "OAuth(浏览器登录)",
|
|
98
103
|
"oauthHint": "保存后会自动执行 nb env auth",
|
|
99
104
|
"tokenLabel": "API Token / API Key"
|
|
100
105
|
},
|
|
106
|
+
"username": {
|
|
107
|
+
"message": "请输入 Basic 登录用户名",
|
|
108
|
+
"placeholder": "admin"
|
|
109
|
+
},
|
|
110
|
+
"password": {
|
|
111
|
+
"message": "请输入 Basic 登录密码"
|
|
112
|
+
},
|
|
101
113
|
"accessToken": {
|
|
102
114
|
"message": "请输入 API Token 或 API Key",
|
|
103
115
|
"placeholder": "请输入你的 API Token / API Key"
|
|
104
116
|
}
|
|
105
117
|
}
|
|
106
118
|
},
|
|
119
|
+
"shared": {
|
|
120
|
+
"missingCommand": "无法执行 `{{action}}`,因为找不到 {{displayName}} 可执行文件。请先安装 {{displayName}},或更新 `nb config set {{configKey}} <path>` 后重试。"
|
|
121
|
+
},
|
|
107
122
|
"download": {
|
|
108
123
|
"failures": {
|
|
109
124
|
"dependencyInstall": {
|
|
@@ -206,6 +221,10 @@
|
|
|
206
221
|
}
|
|
207
222
|
},
|
|
208
223
|
"install": {
|
|
224
|
+
"messages": {
|
|
225
|
+
"skipDownloadDockerImageMissing": "无法继续执行 `--skip-download`,因为本地不存在 Docker 镜像 \"{{imageRef}}\"。请先手动加载或拉取这个镜像,或者去掉 `--skip-download` 后重试。",
|
|
226
|
+
"skipDownloadLocalAppMissing": "无法继续执行 `--skip-download`,因为 \"{{projectRoot}}\" 不存在,或者其中缺少 package.json。请把 `--app-root-path` 指向一个现有的 NocoBase 应用目录,或者去掉 `--skip-download` 后重试。"
|
|
227
|
+
},
|
|
209
228
|
"validation": {
|
|
210
229
|
"builtinDbUnsupported": "内置数据库暂不支持 \"{{dialect}}\"。请选择 PostgreSQL、MySQL 或 MariaDB,或者关闭内置数据库。"
|
|
211
230
|
},
|
|
@@ -229,9 +248,6 @@
|
|
|
229
248
|
"message": "上传文件和本地存储目录要放到哪里?",
|
|
230
249
|
"placeholder": "./<env>/storage/"
|
|
231
250
|
},
|
|
232
|
-
"fetchSource": {
|
|
233
|
-
"message": "如果应用目录为空,是否自动下载 NocoBase?"
|
|
234
|
-
},
|
|
235
251
|
"dbDialect": {
|
|
236
252
|
"message": "你想使用哪种数据库?"
|
|
237
253
|
},
|
|
@@ -259,6 +275,17 @@
|
|
|
259
275
|
"dbPassword": {
|
|
260
276
|
"message": "数据库密码是什么?"
|
|
261
277
|
},
|
|
278
|
+
"dbSchema": {
|
|
279
|
+
"message": "数据库 schema 是什么?(仅 PostgreSQL,可选)",
|
|
280
|
+
"placeholder": "留空则使用默认 schema"
|
|
281
|
+
},
|
|
282
|
+
"dbTablePrefix": {
|
|
283
|
+
"message": "要使用什么数据表前缀?(可选)",
|
|
284
|
+
"placeholder": "例如:nb_"
|
|
285
|
+
},
|
|
286
|
+
"dbUnderscored": {
|
|
287
|
+
"message": "数据库表名和字段名是否使用下划线风格?"
|
|
288
|
+
},
|
|
262
289
|
"rootUsername": {
|
|
263
290
|
"message": "设置初始管理员用户名",
|
|
264
291
|
"placeholder": "nocobase"
|
|
@@ -290,7 +317,8 @@
|
|
|
290
317
|
"uiOpening": "本地 setup 表单即将在浏览器中打开。这个表单需要等待人工填写。如果你正在使用 AI agent,请不要停止当前进程,CLI 会继续等待表单提交结果。",
|
|
291
318
|
"uiReady": "本地 setup 表单已就绪。",
|
|
292
319
|
"uiReadyHelp": "如果没有自动打开浏览器,请复制下面的地址到浏览器中继续。CLI 会继续等待表单提交,请保持当前终端会话继续运行。",
|
|
293
|
-
"uiOpenBrowserFallback": "无法自动打开浏览器。请复制上面的地址到浏览器中继续 setup,并保持当前终端会话继续运行。如果你正在使用 AI agent,请不要停止当前进程。"
|
|
320
|
+
"uiOpenBrowserFallback": "无法自动打开浏览器。请复制上面的地址到浏览器中继续 setup,并保持当前终端会话继续运行。如果你正在使用 AI agent,请不要停止当前进程。",
|
|
321
|
+
"skillsSyncRegistryUnavailable": "无法访问 npm registry 来同步 NocoBase AI coding skills。将跳过 skills 安装并继续执行 init。等 registry 可访问后,再运行 `nb skills install` 即可。"
|
|
294
322
|
},
|
|
295
323
|
"prompts": {
|
|
296
324
|
"appName": {
|
|
@@ -308,6 +336,9 @@
|
|
|
308
336
|
"apiBaseUrl": {
|
|
309
337
|
"message": "API 基础地址",
|
|
310
338
|
"placeholder": "https://demo.example.com/api 或 https://demo.example.com/api/__app/<subapp>"
|
|
339
|
+
},
|
|
340
|
+
"skipDownload": {
|
|
341
|
+
"message": "跳过下载 NocoBase,直接复用已有的本地应用文件或 Docker 镜像"
|
|
311
342
|
}
|
|
312
343
|
},
|
|
313
344
|
"webUi": {
|
|
@@ -339,6 +370,62 @@
|
|
|
339
370
|
"description": "设置第一个管理员账号。"
|
|
340
371
|
}
|
|
341
372
|
}
|
|
373
|
+
},
|
|
374
|
+
"env": {
|
|
375
|
+
"messages": {
|
|
376
|
+
"noEnvsConfigured": "尚未配置任何 env。",
|
|
377
|
+
"noEnvsConfiguredHelp": "请先运行 `nb init --ui` 创建一个。"
|
|
378
|
+
}
|
|
342
379
|
}
|
|
380
|
+
},
|
|
381
|
+
"apiCommandCompat": {
|
|
382
|
+
"refusalTitle": "拒绝执行 `nb api {{commandId}}`,因为当前 CLI 版本为 {{cliVersion}},目标应用版本为 {{appVersion}}。",
|
|
383
|
+
"refusalTitleMissingVersion": "拒绝执行 `nb api {{commandId}}`,因为 {{versionLabel}} 不可用。",
|
|
384
|
+
"refusalTitleGeneric": "拒绝执行 `nb api {{commandId}}`,因为当前版本组合不兼容。",
|
|
385
|
+
"currentVersionsLine": "当前版本:{{versions}}。",
|
|
386
|
+
"refusalBodyWithRequirements": "当 {{requirements}} 时,这个 API 命令会被拦截。",
|
|
387
|
+
"refusalBody": "这个 API 命令在当前 CLI 与应用版本组合下可能不兼容。",
|
|
388
|
+
"channel": {
|
|
389
|
+
"stable": "正式版",
|
|
390
|
+
"beta": "beta",
|
|
391
|
+
"alpha": "alpha",
|
|
392
|
+
"rc": "rc",
|
|
393
|
+
"unknownPrerelease": "不受支持的预发布"
|
|
394
|
+
},
|
|
395
|
+
"requirement": {
|
|
396
|
+
"cli": "CLI 版本 {{condition}}",
|
|
397
|
+
"app": "应用版本 {{condition}}",
|
|
398
|
+
"skills": "NocoBase AI skills 版本 {{condition}}",
|
|
399
|
+
"appChannel": "{{channelLabel}}应用版本 {{condition}}",
|
|
400
|
+
"appUnknownPrereleaseBlocked": "{{channelLabel}}应用版本会被拦截"
|
|
401
|
+
},
|
|
402
|
+
"currentVersion": {
|
|
403
|
+
"cli": "CLI {{version}}",
|
|
404
|
+
"app": "应用 {{version}}",
|
|
405
|
+
"appUnavailable": "应用版本不可用",
|
|
406
|
+
"skills": "NocoBase AI skills {{version}}",
|
|
407
|
+
"skillsUnavailable": "NocoBase AI skills 不可用"
|
|
408
|
+
},
|
|
409
|
+
"versionLabel": {
|
|
410
|
+
"cli": "CLI 版本",
|
|
411
|
+
"app": "目标应用版本",
|
|
412
|
+
"skills": "已安装的 NocoBase AI skills 版本"
|
|
413
|
+
},
|
|
414
|
+
"join": {
|
|
415
|
+
"two": "{{left}} 和 {{right}}",
|
|
416
|
+
"many": "{{head}},以及 {{tail}}"
|
|
417
|
+
},
|
|
418
|
+
"continueTitle": "如需继续:",
|
|
419
|
+
"continueUpgradeApp": "- 请将应用升级到兼容版本",
|
|
420
|
+
"continueUpgradeAppToVersion": "- 请将应用升级到 {{suggestedUpgradeTarget}}",
|
|
421
|
+
"continueUseSupportedAppVersion": "- 请使用受支持的应用版本:{{supportedTargets}}",
|
|
422
|
+
"continueRefreshAppVersion": "- 请先刷新目标 env runtime,让当前应用版本可被识别后再重试",
|
|
423
|
+
"continueUseCompatibleCli": "- 或使用兼容的 CLI 版本",
|
|
424
|
+
"continueUseCompatibleCliVersion": "- 或使用 {{suggestedCliTarget}} 的 CLI 版本",
|
|
425
|
+
"continueUpdateSkillsToVersion": "- 请安装或更新 NocoBase AI coding skills 到 {{suggestedSkillsUpgradeTarget}}。可运行 `nb skills update --yes` 刷新受管理的 skills。",
|
|
426
|
+
"continueUseCompatibleSkillsVersion": "- 或使用 {{suggestedSkillsTarget}} 的 NocoBase AI skills 版本",
|
|
427
|
+
"continueInstallOrUpdateSkillsToVersion": "- 请运行 `nb skills install --yes` 或 `nb skills update --yes`,并确保受管理的 skills 版本为 {{suggestedSkillsUpgradeTarget}} 后再重试",
|
|
428
|
+
"continueInstallOrUpdateSkills": "- 请运行 `nb skills install --yes` 或 `nb skills update --yes`,待受管理的 skills 版本可用后再重试",
|
|
429
|
+
"supportedAppTarget": "{{channelLabel}} {{target}}"
|
|
343
430
|
}
|
|
344
431
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nocobase/cli",
|
|
3
|
-
"version": "2.1.0-alpha.
|
|
3
|
+
"version": "2.1.0-alpha.46",
|
|
4
4
|
"description": "NocoBase Command Line Tool",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/generated/command-registry.js",
|
|
@@ -82,6 +82,38 @@
|
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
},
|
|
85
|
+
"nocobase": {
|
|
86
|
+
"apiCommandCompat": {
|
|
87
|
+
"rules": [
|
|
88
|
+
{
|
|
89
|
+
"code": "FLOW_SURFACES_OLD_APP_NEW_SKILLS_UNSUPPORTED",
|
|
90
|
+
"target": {
|
|
91
|
+
"commandPrefix": "flow-surfaces"
|
|
92
|
+
},
|
|
93
|
+
"when": {
|
|
94
|
+
"appByChannel": {
|
|
95
|
+
"stable": {
|
|
96
|
+
"lt": "2.1.0"
|
|
97
|
+
},
|
|
98
|
+
"beta": {
|
|
99
|
+
"lt": "2.1.0-beta.36"
|
|
100
|
+
},
|
|
101
|
+
"alpha": {
|
|
102
|
+
"lt": "2.1.0-alpha.40"
|
|
103
|
+
},
|
|
104
|
+
"rc": {
|
|
105
|
+
"lt": "2.1.0"
|
|
106
|
+
},
|
|
107
|
+
"unknownPrerelease": "block"
|
|
108
|
+
},
|
|
109
|
+
"skills": {
|
|
110
|
+
"gt": "1.0.20"
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
]
|
|
115
|
+
}
|
|
116
|
+
},
|
|
85
117
|
"dependencies": {
|
|
86
118
|
"@inquirer/ansi": "^2.0.5",
|
|
87
119
|
"@inquirer/confirm": "^6.0.13",
|
|
@@ -108,5 +140,5 @@
|
|
|
108
140
|
"type": "git",
|
|
109
141
|
"url": "git+https://github.com/nocobase/nocobase.git"
|
|
110
142
|
},
|
|
111
|
-
"gitHead": "
|
|
143
|
+
"gitHead": "42b269944cdd1908d7a848c0af4936fe94c03bb7"
|
|
112
144
|
}
|