5 个版本
0.1.1 | 2024 年 6 月 2 日 |
---|---|
0.1.0 | 2024 年 5 月 8 日 |
0.1.0-beta.1 | 2024 年 3 月 4 日 |
0.0.1 | 2024 年 1 月 10 日 |
在 命令行工具 中排名 823
每月下载 41 次
29KB
634 行
重要 已废弃:请使用 arun
这个库已被废弃。新的库是 arun。
arun 是维护版本。它提供了可以嵌入代码中的 lib arun
,或者使用该库的 CLI arun-cli
。
仅用于历史参考(请勿使用,使用 arun)
免责声明:版本
0.1.x
仍在开发中,可能会有一些变化。Awesome-cli 将从版本0.2.x
开始更加严格地遵循 semver。
Awesome-cli 允许您将一组命令描述为组或单个命令,并相应地运行它们。
配置文件名为 Awesome.toml
,应位于与此文件相同的目录中。
Runner
是可以被 awesome-cli 执行的命令描述。
有两种类型的 "Runner":
-
分组运行器
- 使用每个组名的
[[runners._group_name_]]
TOML 表数组进行描述(例如,[[runners.dev]]
)。 - 分组执行:当调用
awesome _group_name_
(例如,awesome dev
)时,该组中的所有运行器将按文件中列出的顺序执行。 - 单独执行:可以使用点符号使用
awesome _group_name_._runner_name
(例如,awesome dev.cargo_build
)来执行组中的一个运行器。 - 限制:组中的运行器名称必须在该组内唯一。
- 使用每个组名的
-
独立运行器
- 使用具有
[[runner]]
TOML 表数组进行描述,其中每个运行器都有一个name
或ref
属性。 - 这些可以通过
awesome _runner_name
调用(例如,awesome list_files
)。 - 约束:独立运行者的名称必须是唯一的,且不能与组名称冲突。
- 使用具有
示例
# Solo Runner
[[runner]]
name = "list_files"
cmd = "ls"
args = ["-ll"]
[[runner]]
name = "list_files_human"
cmd = "ls"
args = ["-llh"]
[[runners.build]]
name = "tauri_icons"
working_dir = "crates/app-desktop/"
when.no_file_at = "icons/32x32.png"
cmd = "cargo"
args = ["tauri", "icon", "icons/app-icon.png"]
[[runners.build]]
name = "cargo_build"
working_dir = "crates/app-desktop/"
cmd = "cargo"
args = ["build"]
[[runners.build]]
name = "pcss"
working_dir = "frontend/"
cmd = "npm"
args = ["run", "pcss"]
# Now: runners, can ref other runner (only one hop for now)
[[runners.dev]]
ref = "build.tauri_icons"
[[runners.dev]]
ref = "build.pcss"
# The args from the target will be extended with the args_add items
args_add = ["--", "-w"]
# will run concurrently
concurrent = true
# if this process exit, end the dev session
end_all_on_exit = true
然后我们可以这样运行
awesome build
- 将按顺序运行所有runners.build
awesome dev
- 将按顺序运行所有runnders.dev
awesome build.tauri_icons
- 将仅运行 tauri 图标命令awesome list_files
- 将执行名为list_files
的独立运行者
依赖项
~7–33MB
~494K SLoC