/** * 规则中数字意思 * 0 ok * 1 warning * 2 error */ { "env": { "browser": true, "node": true }, "plugins": [ "react" // https://github.com/yannickcr/eslint-plugin-react ], "ecmaFeatures": { "jsx": true }, // 全局变量 "globals": { "KISSY": true, "TB": true, "JSTracker": true, "JSTracker2": true, // kimi 全局 "$": true, "require": true, "module": true }, "rules": { "strict": [1, "global"], // http://eslint.org/docs/rules/global-strict // deprecated rule, 忽略,采用上面规则限制 "global-strict": [0, "always"], /** * 最佳实践 */ // http://eslint.org/docs/rules/no-shadow // 警告局部变量和外层变量重名 "no-shadow": 1, // http://eslint.org/docs/rules/no-unused-vars // 警告局部变量未使用 "no-unused-vars": [2, { "vars": "local", "args": "after-used" }], // http://eslint.org/docs/rules/no-unused-expressions // 未使用的表达式 "no-unused-expressions": 1, // http://eslint.org/docs/rules/no-use-before-define // 允许定义前使用 "no-use-before-define": 0, // http://eslint.org/docs/rules/yoda "yoda": 0, // http://eslint.org/docs/rules/eqeqeq "eqeqeq": 1, // http://eslint.org/docs/rules/no-new // 允许 new 创建的对象没有被引用 "no-new": 0, // http://eslint.org/docs/rules/consistent-return // 允许没有 return "consistent-return": 0, // http://eslint.org/docs/rules/dot-notation "dot-notation": [2, { "allowKeywords": true }], // http://eslint.org/docs/rules/no-native-reassign // 不允许 native 变量被重置 "no-native-reassign": 1, // http://eslint.org/docs/rules/no-return-assign // 是否允许 return 返回表达式 "no-return-assign": 1, // http://eslint.org/docs/rules/no-constant-condition "no-constant-condition": 1, // 覆盖 node 环境下的配置 "no-console": 2, "no-catch-shadow": 2, "no-new-require": 0, "no-mixed-requires": [0, false], // "no-new-require": 0, "no-path-concat": 0, "handle-callback-err": 0, /** * 代码风格 */ // http://eslint.org/docs/rules/no-empty // 允许空 block 语句 "no-empty": 0, // http://eslint.org/docs/rules/indent "indent": [2, 2/*, { "indentSwitchCase": true }*/], // http://eslint.org/docs/rules/camelcase "camelcase": [1, { "properties": "never" }], // http://eslint.org/docs/rules/quotes // 引号,强制使用单引号 "quotes": [2, "single", "avoid-escape"], // http://eslint.org/docs/rules/brace-style "brace-style": [2, "1tbs", { "allowSingleLine": false }], // http://eslint.org/docs/rules/comma-spacing "comma-spacing": [2, { "before": false, "after": true }], // http://eslint.org/docs/rules/comma-style "comma-style": [2, "last"], // http://eslint.org/docs/rules/eol-last "eol-last": 0, // http://eslint.org/docs/rules/func-names "func-names": 0, // http://eslint.org/docs/rules/new-cap "new-cap": [2, { "newIsCap": true }], // http://eslint.org/docs/rules/key-spacing // object 的 key value 见空格 "key-spacing": [1, { "beforeColon": false, "afterColon": true }], // http://eslint.org/docs/rules/no-multi-spaces // 表达式中是否允许多个空格 "no-multi-spaces": 1, // http://eslint.org/docs/rules/no-multiple-empty-lines "no-multiple-empty-lines": 0, // http://eslint.org/docs/rules/no-nested-ternary "no-nested-ternary": 0, // http://eslint.org/docs/rules/no-new-object "no-new-object": 2, // http://eslint.org/docs/rules/no-spaced-func "no-spaced-func": 2, // http://eslint.org/docs/rules/no-trailing-spaces // 是否允许末尾有空格 "no-trailing-spaces": 0, // http://eslint.org/docs/rules/no-wrap-func "no-wrap-func": 1, // http://eslint.org/docs/rules/no-underscore-dangle "no-underscore-dangle": 0, // http://eslint.org/docs/rules/one-var "one-var": [1, "never"], // http://eslint.org/docs/rules/padded-blocks "padded-blocks": [0, "never"], // http://eslint.org/docs/rules/semi "semi": 2, // http://eslint.org/docs/rules/semi-spacing "semi-spacing": 1, // http://eslint.org/docs/rules/space-after-keywords "space-after-keywords": 2, // http://eslint.org/docs/rules/space-before-blocks "space-before-blocks": 2, // http://eslint.org/docs/rules/space-before-function-paren "space-before-function-paren": [2, "never"], // http://eslint.org/docs/rules/space-infix-ops "space-infix-ops": 2, // http://eslint.org/docs/rules/space-return-throw-case "space-return-throw-case": 2, // http://eslint.org/docs/rules/spaced-line-comment // 注释斜线后面是否需要空格 "spaced-line-comment": 1, /** * JSX style */ "react/display-name": 0, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/display-name.md "react/jsx-boolean-value": 0, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-boolean-value.md "react/jsx-quotes": [0, "double"], // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-quotes.md "react/jsx-no-undef": 0, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-no-undef.md "react/jsx-sort-props": 0, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-sort-props.md "react/jsx-sort-prop-types": 0, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-sort-prop-types.md "react/jsx-uses-react": 0, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-uses-react.md "react/jsx-uses-vars": 1, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-uses-vars.md "react/no-did-mount-set-state": [0, "allow-in-func"], // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-did-mount-set-state.md "react/no-did-update-set-state": 0, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-did-update-set-state.md "react/no-multi-comp": 0, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-multi-comp.md "react/no-unknown-property": 0, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-unknown-property.md "react/prop-types": 0, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/prop-types.md "react/react-in-jsx-scope": 0, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/react-in-jsx-scope.md "react/self-closing-comp": 0, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/self-closing-comp.md "react/wrap-multilines": 0, // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/wrap-multilines.md "react/sort-comp": [0, { // https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/sort-comp.md "order": [ "lifecycle", "/^on.+$/", "/^(get|set)(?!(InitialState$|DefaultProps$|ChildContext$)).+$/", "everything-else", "/^render.+$/", "render" ] }] } }