在使用 NextJS 项目的时候, 使用默认的模板运行 npm run lint, 可以检测出项目中的 ESLint 错误,但是如果项目中存在 Typescript 类型错误时,如下

function add(a: number) {
  console.log(a + 1)
}
 
add()

add 没有传入任何参数,这在 TypeScript 中是类型错误的,但是执行 next lint 是无法检测出来的. 因为这个错误不是 ESLint 错误,而是 TypeScript 错误。

正确的方式:

  "lint": "pnpm run check-types && next lint",
  "check-types": "tsc --noemit",