diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 0000000..1ae9ef8 --- /dev/null +++ b/.eslintrc @@ -0,0 +1,38 @@ +{ + // 基于 airbnb 规则 + "extends": "airbnb", + // 使用 babel 解析器,支持一些还没有进入 ES6+ 标准的特性。比如 class property + "parser": "babel-eslint", + // 解析 webpack alias 中的模块名 + "settings": { + "import/resolver": "webpack" + }, + "env": { + "browser": true + }, + "rules": { + "no-plusplus": [ + "error", + { + // 允许 for 循环中的 i++ + "allowForLoopAfterthoughts": true + } + ], + "no-param-reassign": [ + "error", + { + // 允许修改参数的属性 + "props": false + } + ], + // 允许在循环里使用 await + "no-await-in-loop": 0, + // 允许在一个表达式里使用多种操作符,否则与 prettier 冲突 + // see https://github.com/prettier/eslint-config-prettier#no-mixed-operators + "no-mixed-operators": 0, + // 允许在 jsx 中使用 bind + "react/jsx-no-bind": 0, + // 允许所有类型的 proptype + "react/forbid-prop-types": 0 + } +} \ No newline at end of file diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..dcb7279 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,4 @@ +{ + "singleQuote": true, + "trailingComma": "all" +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..d563084 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "eslint.enable": true, + "eslint.packageManager": "yarn", + "prettier.eslintIntegration": true +} \ No newline at end of file