7 个版本
0.3.1 | 2023 年 3 月 5 日 |
---|---|
0.3.0 | 2023 年 2 月 25 日 |
0.2.3 | 2023 年 2 月 24 日 |
0.1.0 | 2023 年 2 月 22 日 |
#463 in 并发
用于 2 crates
14KB
238 行
Hammer
Hammer 是一个无需配置的 CLI 工具,支持使用 monorepo 运行并发任务。Monorepo 工具应该尽可能简单。不幸的是,当前的工具过于复杂,可能导致花费大量时间在配置和调试上,而应该关注编写代码。
您可以将 Hammer 视为 turborepo 的轻量级替代品。目前,它仅支持 JS/TS 项目。将来它可能扩展并支持更多语言。
hammer
二进制文件
hammer
二进制文件是 hammer 的 CLI。它的目标是尽可能简单。
语法
hammer <SCRIPT> [OPTS]
示例
hammer dev
运行所有工作区项目的 "hammer:dev" 脚本。
禁用前缀
默认情况下,hammer 会查找包含前缀 hammer:
的所有脚本,这使得逐渐采用该工具并仅运行您想要使用的脚本变得容易。如果您不想这样做,只需使用 --no-prefix
标志,hammer 将直接查找 dev
脚本。
hammer dev --no-prefix
运行所有工作区项目的 "dev" 脚本。
别名: -n
筛选
您可以选择 hammer 应针对哪些项目
hammer dev --filter web
仅运行包含具有 "name" 为 "web" 的 package.json 的项目的 "dev" 脚本
别名: -f
环境变量
默认情况下,hammer 将加载根目录下的 .env 文件,并将其所有变量注入到它启动的每个子进程中。您还可以通过命令行传递变量,并将覆盖系统变量或根目录下的 .env 变量。这对于在测试脚本中更改某些环境非常有用,例如
hammer test --env NODE_ENV:TESTING
运行所有工作区的 "hammer:test" 脚本,并注入环境变量 NODE_ENV=TESTING
别名: -e
我建议在根 package.json 中设置一些脚本,以便轻松拥有这些单独的环境
{
...
"scripts": {
"dev": "hammer dev",
"test": "hammer test -e NODE_ENV:TESTING"
},
...
}
使用 pnpm dev
、pnpm test
等于轻松运行
依赖项
~4–16MB
~160K SLoC