来自 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;