【发布时间】:2021-02-05 11:35:42
【问题描述】:
我的项目有一个简单的 CLI 工具,我通过 NPM/Yarn 脚本运行:
"scripts": {
"cli": "dotenv ts-node -r tsconfig-paths/register src/cli/index.ts --",
...
}
我想在脚本运行时将 NPM/Yarn 自动写入标准输出的日志信息静音。
默认输出为:
$~/foo> yarn cli --help
yarn run v1.22.5
$ dotenv ts-node -r tsconfig-paths/register src/cli/index.ts -- --help
cli <command>
Foo bar baz bat
Options:
--help Show help [boolean]
✨ Done in 2.42s.
我想去掉它写出命令本身的部分,以及“在xs 中完成”部分。
我知道我可以使用 yarn --silent cli 或 npm run --quiet cli 手动完成,或者我可以在 npmrc 中设置 loglevel=quiet,但两者都不可取。
我不想使用 npmrc,因为我想为其他脚本零售输出,并且我不想要求用户自己使用 --silent 标志运行它。
CLI 工具会生成 JSON 并将其馈入其他脚本,因此如果它是干净的输出,可以在没有 NPM/Yarn 的情况下重定向或管道传输,这是理想的选择。
我尝试将--silent 添加到命令的开头,但这不起作用。我尝试将npm_config_loglevel=quiet 设置为环境变量,但这不起作用。
还有什么我可以尝试的,还是不支持?
【问题讨论】: