美文网首页
react-native/expo 添加eslint、prett

react-native/expo 添加eslint、prett

作者: 朱传武 | 来源:发表于2022-01-18 17:54 被阅读0次
    npx install-peerdeps --dev eslint-config-airbnb
    npm i --save-dev @typescript-eslint/parser @typescript-eslint/eslint-plugin
    npm i --save-dev prettier eslint-config-prettier eslint-plugin-prettier
    

    .eslintrc修改

    {
      "extends": [
        "airbnb",
        "airbnb/hooks",
        "plugin:@typescript-eslint/recommended",
        "prettier",
        "plugin:prettier/recommended"
      ],
      "plugins": ["@typescript-eslint", "react", "prettier"],
      "parser": "@typescript-eslint/parser",
      "parserOptions": {
        "ecmaFeatures": {
          "jsx": true
        },
        "ecmaVersion": 2018,
        "sourceType": "module",
        "project": "./tsconfig.json"
      },
      "rules": {
        "import/no-unresolved": 0,
        "react/jsx-filename-extension": [
          1,
          {
            "extensions": [".ts", ".tsx"]
          }
        ],
        "prettier/prettier": [
          "error",
          {
            "singleQuote": true,
            "trailingComma": "all",
            "arrowParens": "avoid",
            "endOfLine": "auto"
          }
        ],
        "no-use-before-define": "off",
        "@typescript-eslint/no-use-before-define": ["error"],
        "import/extensions": ["error", "never"],
        "react/prop-types": 0,
        "no-shadow": "off",
        "@typescript-eslint/no-shadow": ["error"]
      }
    }
    
    

    阻止不合规范的代码提交:

    npx mrm@2 lint-staged
    
    {
      "private": true,
      "husky": {
        "hooks": {
          "pre-commit": "lint-staged"
        }
      },
      "lint-staged": {
        "*.{ts,tsx}": "eslint"
      }
    }
    

    相关文章

      网友评论

          本文标题:react-native/expo 添加eslint、prett

          本文链接:https://www.haomeiwen.com/subject/feokhrtx.html