对TypeScript做代码检查

安装依赖

源码

  1. yarn add --dev eslint typescript @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint-config-prettier eslint-plugin-prettier

IDE (vsCode)

  • 安装插件 Prettier
  • .vscode/settings.json
    1. {
    2. "git.ignoreLimitWarning": true,
    3. "cSpell.words": ["eqeqeq", "parens", "proto", "quotemark"],
    4. "files.eol": "\n",
    5. "editor.tabSize": 4,
    6. "editor.defaultFormatter": "esbenp.prettier-vscode",
    7. "typescript.tsdk": "node_modules/typescript/lib",
    8. "eslint.autoFixOnSave": true,
    9. "eslint.validate": [
    10. "javascript",
    11. "javascriptreact",
    12. { "language": "typescript", "autoFix": true },
    13. { "language": "typescriptreact", "autoFix": true }
    14. ],
    15. "editor.formatOnSave": true,
    16. "[javascript]": {
    17. "editor.formatOnSave": false
    18. },
    19. "[javascriptreact]": {
    20. "editor.formatOnSave": false
    21. },
    22. "[typescript]": {
    23. "editor.formatOnSave": false
    24. },
    25. "[typescriptreact]": {
    26. "editor.formatOnSave": false
    27. }
    28. }

配置文件

.eslintrc.json

  1. {
  2. "env": {
  3. "node": true
  4. },
  5. "parser": "@typescript-eslint/parser",
  6. "parserOptions": {
  7. // Allows for the parsing of modern ECMAScript features
  8. "ecmaVersion": 2018,
  9. // Allows for the use of imports
  10. "sourceType": "module"
  11. },
  12. "extends": [
  13. // 使用插件@typescript-eslint/eslint-plugin的推荐规则
  14. "plugin:@typescript-eslint/recommended",
  15. // 使用eslint-config-prettier来禁用插件@typescript-eslint/eslint-plugin和 prettier 冲突的规则。
  16. "prettier/@typescript-eslint",
  17. // 启用 eslint-plugin-prettier 和 eslint-config-prettier.
  18. // This will display prettier errors as ESLint errors.
  19. // 确认此配置是 extends 的最后一项
  20. "plugin:prettier/recommended"
  21. ],
  22. "plugins": ["@typescript-eslint"],
  23. "rules": {
  24. "prettier": true
  25. }
  26. }

执行检查

package.json文件的scripts下添加:

  1. "lint": "tsc --noEmit && eslint '*/**/*.{js,ts,tsx}' --quiet --fix"

执行:

  1. npm run lint
  2. yarn lint
文档更新时间: 2019-11-28 05:40   作者:admin