来自 node_modules 的 tsc 在存在类型检查问题时不会抛出控制台异常
tsc from node_modules doesn't throw console exception when there are typecheck issues
我在 ci 期间向 运行 添加了小 typecheck
命令,以确保没有类型错误。它使用来自节点模块的 tsc,即
./node_modules/.bin/tsc --noEmit;
这 运行 很好,控制台记录了正确的错误,但是命令本身通过了成功的退出代码。理想情况下,我希望它抛出异常并退出并显示错误代码。
我是否缺少允许此操作的标志或某些 tsconfig 选项?
好的,在摆弄了一段时间后我发现了一个问题,我在 bash 脚本中调用 ./node_modules/.bin/tsc --noEmit;
,所以我的完整设置如下所示
typecheck.sh
#!/bin/sh
./node_modules/.bin/tsc --noEmit;
package.json
{
"scripts": {
"typecheck": "typecheck.sh"
}
}
并且因为它在那个脚本中,所以它没有抛出错误,经过一些研究我能够通过改变我的脚本以包含 set -e
使其正确抛出,所以最后这确实技巧
#!/bin/sh
set -e
./node_modules/.bin/tsc --noEmit;
我在 ci 期间向 运行 添加了小 typecheck
命令,以确保没有类型错误。它使用来自节点模块的 tsc,即
./node_modules/.bin/tsc --noEmit;
这 运行 很好,控制台记录了正确的错误,但是命令本身通过了成功的退出代码。理想情况下,我希望它抛出异常并退出并显示错误代码。
我是否缺少允许此操作的标志或某些 tsconfig 选项?
好的,在摆弄了一段时间后我发现了一个问题,我在 bash 脚本中调用 ./node_modules/.bin/tsc --noEmit;
,所以我的完整设置如下所示
typecheck.sh
#!/bin/sh
./node_modules/.bin/tsc --noEmit;
package.json
{
"scripts": {
"typecheck": "typecheck.sh"
}
}
并且因为它在那个脚本中,所以它没有抛出错误,经过一些研究我能够通过改变我的脚本以包含 set -e
使其正确抛出,所以最后这确实技巧
#!/bin/sh
set -e
./node_modules/.bin/tsc --noEmit;