2021年9月

当项目不在vscode打开的根目录时,eslint可能会报这个错误: Cannot read file 'tsconfig.json' .eslint
因为eslint默认在根目录寻找 tsconfig.json
可配置 .eslint.js 解决问题

module.exports = {
  parserOptions: {
    project: 'tsconfig.json',
    sourceType: 'module',
    tsconfigRootDir: __dirname,
    createDefaultProgram: true,
  },
};

当项目中项目中导入第三方模块(node_modules)是esm时,会报SyntaxError: Unexpected token 'export'错误。
默认情况下,Jest 不会转换 node_modules,因为一般来说 node_modules 中的js是被转换为cjs兼容的。
所以要解决这个问题需要配置 jest,可以在package.json中进行配置

{
  "name": "test-demo",
  "jest": {
    "transformIgnorePatterns": [
      "node_modules/(?!(package-name1|package-name2))"
    ]
  }
}

还有一点需要注意,transformIgnorePatterns 不适用于.babelrc,仅适用于babel.config.js。