@freelog-cli/cli2 0.5.2 → 0.5.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/dist/bin/index.js +1956 -923
- package/dist/bin/index.js.map +1 -1
- package/dist/docs/01-/345/277/253/351/200/237/344/270/212/346/211/213.md +10 -8
- package/dist/docs/02-/346/227/245/345/270/270/350/267/257/345/276/204.md +5 -5
- package/dist/docs/03-/344/270/273/351/242/230/344/270/216/346/217/222/344/273/266.md +28 -17
- package/dist/docs/04-/347/211/210/346/234/254/345/267/245/344/275/234/347/250/277.md +25 -10
- package/dist/docs/05-/350/265/204/346/272/220/347/256/241/347/220/206.md +30 -12
- package/dist/docs/06-/345/270/270/350/247/201/346/203/205/345/206/265/344/270/216/346/212/245/351/224/231.md +5 -5
- package/dist/docs/08-/346/234/254/345/234/260/346/226/207/344/273/266/345/217/202/350/200/203.md +22 -17
- package/dist/docs/09-/346/214/211/345/234/272/346/231/257/346/223/215/344/275/234.md +33 -16
- package/dist/docs/10-/345/221/275/344/273/244/345/217/202/350/200/203.md +61 -40
- package/dist/docs/README.md +5 -5
- package/package.json +1 -1
|
@@ -2,7 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
本页是发布包内的命令索引:列出当前 CLI 的全部公开命令、何时使用以及它会不会改变线上资源或本地文件。首次完成任务请优先看[按场景操作](./09-按场景操作.md);执行已知命令、编写脚本或排查影响时以本页为准。
|
|
4
4
|
|
|
5
|
-
所有示例省略 `freelog-cli` 前缀后的公共参数。推荐每次显式传 `--env dev` 或 `--env test
|
|
5
|
+
所有示例省略 `freelog-cli` 前缀后的公共参数。推荐每次显式传 `--env dev` 或 `--env test`。除 `login`、`logout`、`init`、`template`、`type`、新增/接续生命周期的 `create` / `bind`、批量 `resource sync` 与由未决记录固定目标的 `resource recover` 外,**本页每一条命令都接受并在多资源工程中需要** `--resource <selector>`。`--yes` 只跳过交互确认,不会放宽校验。详细选择规则见[首页](./README.md#多资源工程先选身份再给产物)。
|
|
6
|
+
|
|
7
|
+
## 公共资源匹配参数
|
|
8
|
+
|
|
9
|
+
一个目录可有多个视频、图片或其它资源;用户不需要记住 `.freelog/2.json`。对任何常规单资源命令使用同一个参数:
|
|
10
|
+
|
|
11
|
+
```powershell
|
|
12
|
+
--resource id:<资源ID> # 最稳定,推荐
|
|
13
|
+
--resource name:<username/name> # 完整不可变标识,推荐
|
|
14
|
+
--resource artifact:<相对文件或目录> # 例如 artifact:video.mp4
|
|
15
|
+
--resource file:N.json # AI、脚本、恢复时的精确状态文件
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
`--resource artifact:video.mp4` 是**选择**已记录为 `video.mp4` 的资源;发行命令中的 `--artifact video-v2.mp4` 才是本次上传新文件。二者可以同时出现。单份状态自动选择;多份状态在 TTY 展示标题、标识符、ID、产物和工作稿供选择,非交互则列出上述可复制候选并停止。标题重复时使用 `id:`、`name:`、`artifact:` 或 `file:`。
|
|
6
19
|
|
|
7
20
|
## 发现命令与获得帮助
|
|
8
21
|
|
|
@@ -21,75 +34,83 @@ freelog-cli --cli-version
|
|
|
21
34
|
|---|---|---|
|
|
22
35
|
| `login [--global]` | 登录当前工作区;脚本可用 `--login-name`、`--password-stdin --yes`。 | 将秘密写入系统凭据库,并写入工作区或全局选择器。 |
|
|
23
36
|
| `logout [--global]` | 切换账号或清除本地登录选择。 | 只清选择器及明确孤立的凭据;不删除工程或线上资源。 |
|
|
24
|
-
| `init [dir] [--type <叶子类型>]
|
|
37
|
+
| `init [dir] [--type <叶子类型>] --artifact <路径>` | 用已存在的普通文件,或主题/插件的文件/目录,创建未绑定本地身份。 | 新建未绑定 `N.json`,不创建线上资源;不会扫描或猜测产物。 |
|
|
25
38
|
| `init theme <dir> [--template <id>]` | 从主题模板创建新工程。 | 固定主题类型 `RT001` 与默认构建目录 `dist`。 |
|
|
26
39
|
| `init widget <dir> [--template <id>]` | 从插件模板创建新工程。 | 固定插件类型 `RT002` 与默认构建目录 `dist`。 |
|
|
27
40
|
| `template list` | 查看可用于主题/插件初始化的模板。 | 只读。 |
|
|
28
41
|
| `type list` | 列出全部可用最终叶子类型。 | 只读,需要登录。 |
|
|
29
42
|
| `type search [关键词]` | 按名称筛选最终叶子类型。 | 只读,需要登录。 |
|
|
30
|
-
| `type info <类型编号>` |
|
|
43
|
+
| `type info <类型编号>` | 确认某个类型编号、名称链和可选配置能力。只有详情显示“可选配置:支持”时,版本工作稿才允许 add/set 配置。 | 只读,需要登录。 |
|
|
31
44
|
| `type pick [--type <类型编号>]` | 以命令方式列出或确认一个最终叶子类型。通常 `init` 的交互选择已足够。 | 只读,需要登录。 |
|
|
32
45
|
|
|
33
46
|
## 建立或接入资源身份
|
|
34
47
|
|
|
35
48
|
| 命令 | 何时使用 | 影响 |
|
|
36
49
|
|---|---|---|
|
|
37
|
-
| `create --title <标题> --name <短标识> [--type <叶子类型>] [--artifact <路径>]` |
|
|
38
|
-
| `bind <资源ID或username/name> [--artifact <路径>] [--force --yes]` | 线上已有且属于当前账号的资源,需要接入本地工程。 | 从平台读取身份,写入或接续一份 `N.json`;不拉版本、不上传。 |
|
|
39
|
-
| `status` | 想同时确认选中资源的本地身份、工作稿和线上状态。 | 只读。 |
|
|
40
|
-
| `resource sync [--resource <selector>]` | 网页或其它机器改过标题,需要刷新本地标题。 | 不传选择器时批量按资源 ID 同步当前环境全部绑定身份的 `title`;传选择器时只同步一份。 |
|
|
41
|
-
| `
|
|
50
|
+
| `create --title <标题> --name <短标识> [--type <叶子类型>] [--artifact <路径>] [--resource <selector>]` | 线上还没有该资源壳时创建它。已有唯一未绑定身份时会接续它;没有未绑定身份时新增一份本地状态。多份未绑定身份时用选择器指定要接续的那份。 | 创建线上资源壳并写入 `resourceId`;只记录产物路径,不上传、不发版、不上架。 |
|
|
51
|
+
| `bind <资源ID或username/name> [--artifact <路径>] [--resource <selector>] [--force --yes]` | 线上已有且属于当前账号的资源,需要接入本地工程。 | 从平台读取身份,写入或接续一份 `N.json`;不拉版本、不上传。 |
|
|
52
|
+
| `status [--resource <selector>]` | 想同时确认选中资源的本地身份、工作稿和线上状态。 | 只读。 |
|
|
53
|
+
| `resource sync [--resource <selector>]` | 网页或其它机器改过标题,需要刷新本地标题。 | 不传选择器时批量按资源 ID 同步当前环境全部绑定身份的 `title`;传选择器时只同步一份。 |
|
|
54
|
+
| `resource recover` | 上次版本提交因网络或中断留下未决记录。 | `prepared` 显示尚未发送;`sending` 只读核验目标版本与文件 SHA;不重发。 |
|
|
55
|
+
| `resource recover --apply --yes` | `resource recover` 显示“尚未发送”或“已确认”。 | 前者仅清未决记录并保留工作稿;后者原子清理工作稿和未决记录;未确认或 SHA 不同会拒绝。 |
|
|
56
|
+
| `version set --artifact <路径> [--resource <selector>]` | 文件改名、构建目录从 `dist` 变成 `build`,只想更新默认路径。 | 只改选中 `N.json.filePath`;不上传、不提交。 |
|
|
42
57
|
|
|
43
58
|
`--name` 是当前账号命名空间中不可重复、创建后不可改的短标识;`--title` 是可修改且可重复的展示名称。创建后的标题用 `update --title` 修改;本地标题用 `resource sync` 对齐。
|
|
44
59
|
|
|
45
60
|
## 版本:查看、工作稿与提交
|
|
46
61
|
|
|
62
|
+
本节每条命令均可加 `[--resource <selector>]`;多资源工程中不传时按上文公共规则选择或停止。
|
|
63
|
+
|
|
47
64
|
| 命令 | 何时使用 | 影响 |
|
|
48
65
|
|---|---|---|
|
|
49
|
-
| `version show [--version <已发号>]` | 查看线上 latest 或指定已发行版本。 | 只读,不覆盖本地工作稿。 |
|
|
50
|
-
| `version show --local` | 查看未提交工作稿。 | 只读;没有工作稿会提示失败。 |
|
|
51
|
-
| `version draft pull [--version <已发号>]` | 已有线上版本,基于 latest 或指定版本建立更新稿。 | 写入 `N.version.json
|
|
52
|
-
| `version draft pull --yes` | 明确放弃当前工作稿,重新拉取版本。 |
|
|
53
|
-
| `version draft discard` | 明确放弃当前工作稿。 |
|
|
54
|
-
| `version draft description --description
|
|
55
|
-
| `version description --version <已发号> --description
|
|
56
|
-
| `version attr add|set|rm|list` | 维护工作稿的自定义属性。 | 写操作只改工作稿;`list` 只读。 |
|
|
57
|
-
| `version
|
|
58
|
-
| `version
|
|
59
|
-
| `
|
|
60
|
-
| `
|
|
61
|
-
| `create-version --
|
|
62
|
-
| `
|
|
63
|
-
| `
|
|
64
|
-
| `update-version --
|
|
65
|
-
| `update-version --
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
| `version show [--version <已发号>] [--resource <selector>]` | 查看线上 latest 或指定已发行版本。 | 只读,不覆盖本地工作稿。 |
|
|
67
|
+
| `version show --local [--resource <selector>]` | 查看未提交工作稿。 | 只读;没有工作稿会提示失败。 |
|
|
68
|
+
| `version draft pull [--version <已发号>] [--resource <selector>]` | 已有线上版本,基于 latest 或指定版本建立更新稿。 | 写入 `N.version.json`;有旧稿时 TTY 默认不覆盖并确认,脚本须 `--yes`。 |
|
|
69
|
+
| `version draft pull --yes [--resource <selector>]` | 明确放弃当前工作稿,重新拉取版本。 | 校验目标线上版本后覆盖工作稿;先打印即将丢失的摘要。 |
|
|
70
|
+
| `version draft discard [--yes] [--resource <selector>]` | 明确放弃当前工作稿。 | TTY 显示摘要并默认不删;脚本须 `--yes`。确认后删除选中 `N.version.json`;没有稿时安全退出。 |
|
|
71
|
+
| `version draft description --description <文本> [--resource <selector>]` | 修改**更新工作稿**的版本说明。 | 只写工作稿;不发新版本。 |
|
|
72
|
+
| `version description --version <已发号> --description <文本> [--resource <selector>]` | 修改一个**已发布版本**的说明,而不创建新版本。 | 唯一直接更新线上版本信息的命令;不写工作稿。 |
|
|
73
|
+
| `version attr add|set|rm|list [--resource <selector>]` | 维护工作稿的自定义属性。 | 写操作只改工作稿;`list` 只读。 |
|
|
74
|
+
| `version attr review [--resource <selector>]` | 查看文件分析变化后待复核的系统附加属性。 | 只读;有待复核项时不能提交。 |
|
|
75
|
+
| `version attr review discard <key> [--yes] [--resource <selector>]` | 确认丢弃一项待复核系统附加属性。 | 仅影响该工作稿;同 key 后续重新出现会自动恢复,无需丢弃。 |
|
|
76
|
+
| `version option add|set|rm|list [--resource <selector>]` | 维护工作稿的可选配置。 | add / set 只在资源类型允许时可用;rm 可清理遗留项;提交前再核类型。 |
|
|
77
|
+
| `version dep add|range|rm|list [--resource <selector>]` | 维护工作稿中的依赖及版本范围。 | 写操作只改工作稿;首次签约可能产生独立平台授权动作。 |
|
|
78
|
+
| `create-version --prepare [--artifact <路径>] [--resource <selector>]` | 尚无已发版本时上传分析并建立首版工作稿。 | 写工作稿,不提交线上版本。 |
|
|
79
|
+
| `create-version --yes [--artifact <路径>] [--resource <selector>]` | 尚无已发版本时提交固定的 `1.0.0`。 | 上传并提交首版;确认成功后删除工作稿并回写有效产物路径。结果未知则保留稿并改走 `resource recover`。 |
|
|
80
|
+
| `create-version --reset ... [--resource <selector>]` | 首版工作稿确认不要了,直接从空表重新走本次命令。 | 先校验路由和产物;有稿时确认后才丢弃。确认后的后续失败不会恢复旧稿。 |
|
|
81
|
+
| `update-version --version <新号> --yes [--artifact <路径>] [--resource <selector>]` | 已有线上版本,指定后续版本号并提交。 | 上传并提交新版本;确认成功后删除工作稿。结果未知则保留稿并改走 `resource recover`。 |
|
|
82
|
+
| `update-version --bump patch|minor|major --yes [--resource <selector>]` | 已有线上版本,按 latest 自动计算新版本号。 | 与上条相同;不能和 `--version` 同用。 |
|
|
83
|
+
| `update-version --reuse-version <已发号> ... [--resource <selector>]` | 工作稿的底不是当前 latest,且明确以该已发号为底提交。 | 只改变本次提交认可的底;工作稿来源必须匹配。 |
|
|
84
|
+
| `update-version --reset ... [--resource <selector>]` | 当前更新稿确认不要了,要丢掉并按本次指定底重新拉取后继续。 | 先校验路由、新号和产物;有稿时确认后才删除。确认后的后续失败不会恢复旧稿。 |
|
|
85
|
+
|
|
86
|
+
首版只能使用 `create-version`,已有版本只能使用 `update-version`。`--artifact` 在发行命令中是本次上传的真实文件/构建目录;普通资源必须是文件,主题/插件可以是文件或非空构建目录:目录临时压缩,文件(包括 zip)直接上传。不要把 `version draft description` 与 `version description` 混用:前者改未提交更新稿,后者改已发布版本。
|
|
68
87
|
|
|
69
88
|
属性、配置和依赖的子命令都以工作稿为目标。没有工作稿时,已有线上版本先 `version draft pull`;首版要先 `create-version --prepare`。依赖在非交互模式还须明确 `--policy-id <策略ID> --yes`,CLI 不会代选对方策略。
|
|
70
89
|
|
|
71
90
|
## 展示信息、策略与上下架
|
|
72
91
|
|
|
92
|
+
本节每条命令均可加 `[--resource <selector>]`;多资源工程中不传时按上文公共规则选择或停止。
|
|
93
|
+
|
|
73
94
|
| 命令 | 何时使用 | 影响 |
|
|
74
95
|
|---|---|---|
|
|
75
|
-
| `update [--title] [--intro] [--cover] [--tags] --yes` | 只修改资源展示信息。 | 更新线上 listing
|
|
76
|
-
| `policy list` | 查看当前资源的授权策略。 | 只读。 |
|
|
77
|
-
| `policy template list [--page <n> --page-size <n>]` |
|
|
78
|
-
| `policy template apply [templateId] [--name]` | 套用一条平台模板并启用。交互可选择;脚本必须给 `<templateId> --yes`。 | 新增并启用一条策略;不付款、不上架。 |
|
|
79
|
-
| `policy apply --from-file <路径> [--name] --yes` | 从策略文本或 JSON 文件新增策略。 | 新增并启用一条策略;策略语义由平台校验。 |
|
|
80
|
-
| `policy set --id <策略ID> --on|--off` | 启用或停用某条策略。 | 更新线上策略状态;已上架资源不能停用到零条启用策略。 |
|
|
81
|
-
| `validate --for online` | 上架前预检版本和策略条件。 | 只读。 |
|
|
82
|
-
| `online` | 资源有已发版本和至少一条启用策略后上架。 | 更新线上可用状态。 |
|
|
83
|
-
| `offline` | 暂停线上可用状态。 | 只下架,不删除版本、策略、资源或本地文件。 |
|
|
96
|
+
| `update [--title] [--intro] [--cover] [--tags] --yes [--resource <selector>]` | 只修改资源展示信息。 | 更新线上 listing;不发版、不改标识、不上下架。未传字段不改;`--intro ""`、`--tags ""` 清空对应字段;`--cover` 只能给工程内 JPG/PNG/静态 GIF(≤5MB),CLI 上传后写 URL,暂不支持清空封面。 |
|
|
97
|
+
| `policy list [--resource <selector>]` | 查看当前资源的授权策略。 | 只读。 |
|
|
98
|
+
| `policy template list [--page <n> --page-size <n>] [--resource <selector>]` | 查看当前取得的策略模板列表。当前临时请求全量模板,待后端修复按类型筛选契约后再恢复类型参数。 | 只读。 |
|
|
99
|
+
| `policy template apply [templateId] [--name] [--resource <selector>]` | 套用一条平台模板并启用。交互可选择;脚本必须给 `<templateId> --yes`。 | 新增并启用一条策略;不付款、不上架。 |
|
|
100
|
+
| `policy apply --from-file <路径> [--name] --yes [--resource <selector>]` | 从策略文本或 JSON 文件新增策略。 | 新增并启用一条策略;策略语义由平台校验。 |
|
|
101
|
+
| `policy set --id <策略ID> --on|--off [--resource <selector>]` | 启用或停用某条策略。 | 更新线上策略状态;已上架资源不能停用到零条启用策略。 |
|
|
102
|
+
| `validate --for online [--resource <selector>]` | 上架前预检版本和策略条件。 | 只读。 |
|
|
103
|
+
| `online [--resource <selector>]` | 资源有已发版本和至少一条启用策略后上架。 | 更新线上可用状态。 |
|
|
104
|
+
| `offline [--resource <selector>]` | 暂停线上可用状态。 | 只下架,不删除版本、策略、资源或本地文件。 |
|
|
84
105
|
|
|
85
106
|
## 脚本最小安全模板
|
|
86
107
|
|
|
87
108
|
脚本必须显式选择环境;工程有多份状态时也必须显式选择资源。先做只读检查,再执行写操作:
|
|
88
109
|
|
|
89
110
|
```powershell
|
|
90
|
-
freelog-cli status --cwd <工程> --resource
|
|
91
|
-
freelog-cli version show --cwd <工程> --resource
|
|
92
|
-
freelog-cli update-version --cwd <工程> --resource
|
|
111
|
+
freelog-cli status --cwd <工程> --resource id:<资源ID> --env dev
|
|
112
|
+
freelog-cli version show --cwd <工程> --resource name:<username/短标识> --env dev
|
|
113
|
+
freelog-cli update-version --cwd <工程> --resource artifact:video.mp4 --artifact video-v2.mp4 --bump patch --yes --env dev
|
|
93
114
|
```
|
|
94
115
|
|
|
95
|
-
需要机器可读错误时追加 `--json
|
|
116
|
+
需要机器可读错误时追加 `--json`。脚本优先用 `id:`、完整 `name:` 或 `file:N.json`;标题只作展示,不能作为选择器,也不要依赖交互式选择。
|
package/dist/docs/README.md
CHANGED
|
@@ -52,7 +52,7 @@ freelog-cli --help
|
|
|
52
52
|
## 先判断你处于哪一条路径
|
|
53
53
|
|
|
54
54
|
```text
|
|
55
|
-
普通文件:login → init . → create → create-version --prepare → create-version --yes
|
|
55
|
+
普通文件:login → init . --type <最终叶子> --artifact <文件> → create → create-version --prepare → create-version --yes
|
|
56
56
|
主题/插件:login → init theme|widget . --template <id> → create → 构建产物 → create-version --yes
|
|
57
57
|
已有资源:login → bind →(无线上版本则 create-version;有线上版本则 version draft pull → update-version)
|
|
58
58
|
```
|
|
@@ -65,7 +65,7 @@ freelog-cli --help
|
|
|
65
65
|
|---|---|
|
|
66
66
|
| `--env dev|test` | 选择联调环境。推荐每次显式传入。 |
|
|
67
67
|
| `--cwd <dir>` | 工程目录;决定 `.freelog/` 与工作区账号选择器的位置。 |
|
|
68
|
-
| `--resource <selector>` | 为常规单资源命令选择某一份本地身份:`
|
|
68
|
+
| `--resource <selector>` | 为常规单资源命令选择某一份本地身份:`id:<资源ID>`、完整 `name:<username/name>`、`artifact:<相对文件或构建目录>` 或 `file:N.json`。单份可省略;多份交互选择,非交互必须明确指定。标题只展示,不能选择身份。`create` / `bind` 的新增或接续规则见下文。 |
|
|
69
69
|
| `--artifact <path>` | 当前选中资源的产物路径:`create` / `bind` 可记录默认路径;发版时表示本次上传路径;`version set` 只更新默认路径,绝不选择身份。 |
|
|
70
70
|
| `--yes` | 跳过交互确认;不会放宽校验。仅当命令明确支持时(如覆盖工作稿)才允许覆盖相应状态,绝不覆盖工程目录。 |
|
|
71
71
|
| `--json` | 将 CLI 错误输出为 `{ "code", "message" }`。 |
|
|
@@ -77,7 +77,7 @@ freelog-cli --help
|
|
|
77
77
|
1. `init` 只创建本地身份,`create` 只创建线上资源壳,`bind` 只接入已有线上资源;三者都不会上传或发布版本。
|
|
78
78
|
2. 无线上版本时只能用 `create-version` 发布固定的 `1.0.0`;已有线上版本时只能用 `update-version --version ...` 或 `--bump ...`。
|
|
79
79
|
3. 每次真实发版都会从当前文件或构建目录重新上传、分析;工作稿里的旧 SHA1 不能替代已丢失的产物。
|
|
80
|
-
4.
|
|
80
|
+
4. 主题/插件传构建目录时,CLI 临时压缩目录内容;传单个文件(包括 zip)时直接上传。普通资源传单个文件;只有普通资源不能传目录。
|
|
81
81
|
|
|
82
82
|
## 多资源工程:先选身份,再给产物
|
|
83
83
|
|
|
@@ -88,6 +88,6 @@ freelog-cli --help
|
|
|
88
88
|
| 0 | 停止并提示先 `init`、`create` 或 `bind`。 |
|
|
89
89
|
| 1 | 自动选择,无需传 `--resource`。 |
|
|
90
90
|
| 多份,交互终端 | 显示文件名、标题、短标识、资源 ID、类型、产物路径和工作稿状态,选择后继续。 |
|
|
91
|
-
| 多份,脚本/`--yes` |
|
|
91
|
+
| 多份,脚本/`--yes` | 停止并逐份列出可复制的 `id:`、`name:`、`artifact:` 和 `file:N.json`;传 `--resource` 后重试。 |
|
|
92
92
|
|
|
93
|
-
|
|
93
|
+
人工操作优先使用 `id:<资源ID>`、完整 `name:<username/name>`,或在同一素材目录中直接使用 `artifact:video.mp4`。标题可改、可重复、可与线上不同,只用于列表展示;不会触发隐式同步,也不能作为选择器。`file:N.json` 是本地状态文件的精确选择器,保留给 AI、脚本和故障恢复,不要求人工记住编号。`resource sync` 是唯一不传选择器就批量同步当前环境所有本地标题的资源命令。
|