1.2.1 • Published 2 years ago
@kbeaver/cli-command-launch v1.2.1
@kbeaver/cli-command-launch
Usage
命令需要项目已配置 kb.json 里的 launch 属性
# 在项目可以直接运行次命令
# 可用 command 需要在项目根目录下配置 kb.json 文件里的 launch 属性
$ kb lc <command> [arguments...]
# 可指定项目位置
$ kb lc -rp [project path] <command> [arguments...]
launch 配置
kb.json
schema : https://config.kbeaver.cn/files/kb.schema.json
{
// 项目使用的管理工具
"packageManage": "pnpm",
// 启动器配置
"launchs": {
// 脚本命令名称
// 如果 type 为 package,脚本命令名称必须和 package.json 里的命令名称对应
"dev": {
// 脚本命令作用说明
"description": "说明",
// 命令类型,可选类型 exec, package
// exec: 执行配置 command 里的命令,输入的参数会替换对应的模板字符串
// package: 执行package.json 里的对应命令,只能设置 env 环境变量,launch 下的命令名称必须对应 package 里的命令
"type": "exec",
// 命令模板(type值是exec时生效)
// 可使用模板字符串:${packageManage}、${options}、${arguments}
// 模板字符串可不用,
"command": "${packageManage} ${options} run ${arguments}",
// 线程配置,如果需要拆分多个独立线程并行执行的,需要配置次项
"thread": {
// 拆分目标,从提取的 options 拆分
// 可选值:'options' | 'env' | 'arguments'
"split": "options",
// 剩余参数匹配规则
// key:从哪里配置,可选值 'options' | 'env' | 'arguments',
// pattern:* 表示匹配所有,& 表示匹配一个参数
"match": [{ "key": "env", "pattern": "*" }]
},
// 参数转换规则
"rules": {
// 环境变量配置
"env": {
// 属性 key 必须是0-9的数字字符或*,不可配置其它值
// 数字key表示对应索引的输入 env 值,
// * 表示对应所有输入的 env 值,只有在匹配不到索引的配置时匹配
// eg:
// 如数 -e aa bb cc
// 匹配为 [{ENV_000: aa}, {ENV_XXX: bb}, {ENV_XXX: cc}]
"*": "ENV_XXX",
"0": "ENV_000"
},
// 命令 options 配置
// 规则同上
"options": {
"*": "--filter"
},
// 命令 arguments 配置
// key 规则同上
// @符号开头的是映射指示符,可选值 @env, @options,@arguments
// @env和@options 可使用反斜杠(/)来指定使用那个对应的规则
// @arguments 是为了显示的指示对应索引 argument 映射为 argument
"arguments": {
// 第一个 argument 使用 env 里 key 是 0 的规则转换
"0": "@env/0",
// 第二个 argument 使用 @options 里的 * 规则转换
"1": "@options/*",
// 映射为 argument 参数
"*": "@arguments"
}
}
}
}
}