正经文章的地方

ts eslint lint-staged 堆栈溢出问题

场景

  1. git commit时加入husky勾子
  2. 配置pre-commit: lint-staged
  3. lint-staged配置任务:*.{ts,tsx}: “eslint”
  4. 执行commit时报错
{
    "husky": {
        "hooks": {
            "pre-commit": "lint-staged"
        }
    },
    "lint-staged": {
        "*.{ts,tsx}": "eslint"
    }
}
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory

解决方案

修改lint-stage任务配置给eslint扩容

{
    "husky": {
        "hooks": {
            "pre-commit": "lint-staged"
        }
    },
    "lint-staged": {
        "*.{ts,tsx}": "node --max_old_space_size=4096 node_modules/eslint/bin/eslint.js"
    }
}

参考:https://github.com/nrwl/nx/issues/4743#issuecomment-808177931