From fc52e451e0ff5f0fb9048352914b2e97bfbdc538 Mon Sep 17 00:00:00 2001 From: levithomason Date: Fri, 2 Oct 2015 16:25:53 -0500 Subject: [PATCH 1/2] use ta-webapp eslint --- .eslintrc | 229 +------------------------------------------------ package.json | 1 + test/.eslintrc | 15 +--- 3 files changed, 3 insertions(+), 242 deletions(-) diff --git a/.eslintrc b/.eslintrc index 401fc10ba1..f224882c48 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,230 +1,3 @@ -/*eslint-env node, mocha */ { - "parser": "babel-eslint", - "env": { - "node": true, - "mocha": true, - "browser": true - }, - "plugins": [ - "mocha", - "react" - ], - "ecmaFeatures": { - "arrowFunctions": true, - "blockBindings": true, - "classes": true, - "defaultParams": true, - "destructuring": true, - "forOf": true, - "generators": true, - "modules": true, - "objectLiteralComputedProperties": true, - "objectLiteralDuplicateProperties": true, - "objectLiteralShorthandMethods": true, - "objectLiteralShorthandProperties": true, - "spread": true, - "superInFunctions": true, - "templateStrings": true, - "jsx": true, - }, - "rules": { - /** - * Mocha Plugin - * https://github.com/lo1tuma/eslint-plugin-mocha - */ - "mocha/no-exclusive-tests": 1, // disallow exclusive mocha tests (fixable) - "mocha/handle-done-callback": 0, // enforces handling of callbacks for async tests - "mocha/no-synchronous-tests": 0, // disallow synchronous tests - - /** - * React Plugin - * https://github.com/yannickcr/eslint-plugin-react/tree/master/docs/rules - */ - "react/display-name": 0, // Prevent missing displayName in a React component definition - "react/jsx-boolean-value": 0, // Enforce boolean attributes notation in JSX - "react/jsx-closing-bracket-location": 2, // Validate closing bracket location in JSX - "react/jsx-curly-spacing": 2, // Enforce or disallow spaces inside of curly braces in JSX attributes. - "react/jsx-indent-props": [2, 2], // Validate props indentation in JSX - "react/jsx-max-props-per-line": 0, // Limit maximum of props on a single line in JSX - "react/jsx-no-duplicate-props": 2, // Prevent duplicate properties in JSX - "react/jsx-no-literals": 0, // Prevent usage of unwrapped JSX strings - "react/jsx-no-undef": 0, // Disallow undeclared variables in JSX - "react/jsx-sort-prop-types": 2, // Enforce propTypes declarations alphabetical sorting - "react/jsx-sort-props": 0, // Enforce props alphabetical sorting - "react/jsx-uses-react": 2, // Prevent React to be incorrectly marked as unused - "react/jsx-uses-vars": 2, // Prevent variables used in JSX to be incorrectly marked as unused - "react/no-danger": 1, // Prevent usage of dangerous JSX properties - "react/no-did-mount-set-state": 1, // Prevent usage of setState in componentDidMount - "react/no-did-update-set-state": 1, // Prevent usage of setState in componentDidUpdate - "react/no-multi-comp": 1, // Prevent multiple component definition per file - "react/no-set-state": 1, // Prevent usage of setState - "react/no-unknown-property": 1, // Prevent usage of unknown DOM property - "react/prop-types": 2, // Prevent missing props validation in a React component definition - "react/react-in-jsx-scope": 2, // Prevent missing React when using JSX - "react/require-extension": [1, { // Restrict file extensions that may be required - "extensions": [".js"] - }], - "react/self-closing-comp": 2, // Prevent extra closing tags for components without children - "react/sort-comp": 2, // Enforce component methods order - "react/wrap-multilines": 1, // Prevent missing parentheses around multiline JSX - - /** - * Strict mode - */ - "strict": [2, "never"], - - /** - * JSDoc - */ - "valid-jsdoc": [2, { // http://eslint.org/docs/rules/valid-jsdoc - "requireParamDescription": true, - "requireReturn": false - }], - "require-jsdoc": 0, // http://eslint.org/docs/rules/require-jsdoc - - /** - * ES6 - */ - "no-var": 0, // http://eslint.org/docs/rules/no-var - - /** - * Variables - */ - "no-shadow": 0, // http://eslint.org/docs/rules/no-shadow - "no-shadow-restricted-names": 2, // http://eslint.org/docs/rules/no-shadow-restricted-names - "no-unused-vars": [2, { // http://eslint.org/docs/rules/no-unused-vars - "vars": "local", - "args": "none" - }], - "no-use-before-define": 2, // http://eslint.org/docs/rules/no-use-before-define - - /** - * Possible errors - */ - "comma-dangle": [0, "never"], // http://eslint.org/docs/rules/comma-dangle - "no-cond-assign": [2, "always"], // http://eslint.org/docs/rules/no-cond-assign - "no-console": 1, // http://eslint.org/docs/rules/no-console - "no-debugger": 1, // http://eslint.org/docs/rules/no-debugger - "no-alert": 1, // http://eslint.org/docs/rules/no-alert - "no-constant-condition": 1, // http://eslint.org/docs/rules/no-constant-condition - "no-dupe-keys": 2, // http://eslint.org/docs/rules/no-dupe-keys - "no-duplicate-case": 2, // http://eslint.org/docs/rules/no-duplicate-case - "no-empty": 2, // http://eslint.org/docs/rules/no-empty - "no-ex-assign": 2, // http://eslint.org/docs/rules/no-ex-assign - "no-extra-boolean-cast": 0, // http://eslint.org/docs/rules/no-extra-boolean-cast - "no-extra-semi": 2, // http://eslint.org/docs/rules/no-extra-semi - "no-func-assign": 2, // http://eslint.org/docs/rules/no-func-assign - "no-inner-declarations": 2, // http://eslint.org/docs/rules/no-inner-declarations - "no-invalid-regexp": 2, // http://eslint.org/docs/rules/no-invalid-regexp - "no-irregular-whitespace": 2, // http://eslint.org/docs/rules/no-irregular-whitespace - "no-obj-calls": 2, // http://eslint.org/docs/rules/no-obj-calls - "no-reserved-keys": 0, // http://eslint.org/docs/rules/no-reserved-keys - "no-sparse-arrays": 2, // http://eslint.org/docs/rules/no-sparse-arrays - "no-unreachable": 2, // http://eslint.org/docs/rules/no-unreachable - "use-isnan": 2, // http://eslint.org/docs/rules/use-isnan - "block-scoped-var": 2, // http://eslint.org/docs/rules/block-scoped-var - "no-path-concat": 0, // http://eslint.org/docs/rules/no-path-concat - - /** - * Best practices - */ - "consistent-return": 2, // http://eslint.org/docs/rules/consistent-return - "curly": [2, "multi-line"], // http://eslint.org/docs/rules/curly - "default-case": 2, // http://eslint.org/docs/rules/default-case - "dot-notation": [2, { // http://eslint.org/docs/rules/dot-notation - "allowKeywords": true - }], - "eqeqeq": 2, // http://eslint.org/docs/rules/eqeqeq - "guard-for-in": 2, // http://eslint.org/docs/rules/guard-for-in - "no-caller": 2, // http://eslint.org/docs/rules/no-caller - "no-else-return": 2, // http://eslint.org/docs/rules/no-else-return - "no-eq-null": 2, // http://eslint.org/docs/rules/no-eq-null - "no-eval": 2, // http://eslint.org/docs/rules/no-eval - "no-extend-native": 2, // http://eslint.org/docs/rules/no-extend-native - "no-extra-bind": 2, // http://eslint.org/docs/rules/no-extra-bind - "no-fallthrough": 2, // http://eslint.org/docs/rules/no-fallthrough - "no-floating-decimal": 2, // http://eslint.org/docs/rules/no-floating-decimal - "no-implied-eval": 2, // http://eslint.org/docs/rules/no-implied-eval - "no-lone-blocks": 2, // http://eslint.org/docs/rules/no-lone-blocks - "no-loop-func": 2, // http://eslint.org/docs/rules/no-loop-func - "no-multi-str": 2, // http://eslint.org/docs/rules/no-multi-str - "no-native-reassign": 2, // http://eslint.org/docs/rules/no-native-reassign - "no-new": 2, // http://eslint.org/docs/rules/no-new - "no-new-func": 2, // http://eslint.org/docs/rules/no-new-func - "no-new-wrappers": 2, // http://eslint.org/docs/rules/no-new-wrappers - "no-octal": 2, // http://eslint.org/docs/rules/no-octal - "no-octal-escape": 2, // http://eslint.org/docs/rules/no-octal-escape - "no-param-reassign": 2, // http://eslint.org/docs/rules/no-param-reassign - "no-proto": 2, // http://eslint.org/docs/rules/no-proto - "no-redeclare": 2, // http://eslint.org/docs/rules/no-redeclare - "no-return-assign": 2, // http://eslint.org/docs/rules/no-return-assign - "no-script-url": 2, // http://eslint.org/docs/rules/no-script-url - "no-self-compare": 2, // http://eslint.org/docs/rules/no-self-compare - "no-sequences": 2, // http://eslint.org/docs/rules/no-sequences - "no-throw-literal": 2, // http://eslint.org/docs/rules/no-throw-literal - "no-with": 2, // http://eslint.org/docs/rules/no-with - "radix": 2, // http://eslint.org/docs/rules/radix - "vars-on-top": 0, // http://eslint.org/docs/rules/vars-on-top - "wrap-iife": [2, "any"], // http://eslint.org/docs/rules/wrap-iife - "yoda": 2, // http://eslint.org/docs/rules/yoda - - /** - * Style - */ - "max-len": [2, 120, 4], // http://eslint.org/docs/rules/max-len - "max-depth": [2, 3], // http://eslint.org/docs/rules/max-depth - "max-nested-callbacks": [2, 2], // http://eslint.org/docs/rules/max-nested-callbacks - "indent": [2, 2, {"SwitchCase": 1}], // http://eslint.org/docs/rules/indent - "brace-style": [2, // http://eslint.org/docs/rules/brace-style - "1tbs", { - "allowSingleLine": true - }], - "quotes": [ - 2, "single", "avoid-escape" // http://eslint.org/docs/rules/quotes - ], - "jsx-quotes": [2, "prefer-single"], // http://eslint.org/docs/rules/jsx-quotes - "camelcase": [2, { // http://eslint.org/docs/rules/camelcase - "properties": "never" - }], - "comma-spacing": [2, { // http://eslint.org/docs/rules/comma-spacing - "before": false, - "after": true - }], - "comma-style": [2, "last"], // http://eslint.org/docs/rules/comma-style - "eol-last": 2, // http://eslint.org/docs/rules/eol-last - "func-names": 0, // http://eslint.org/docs/rules/func-names - "key-spacing": [2, { // http://eslint.org/docs/rules/key-spacing - "beforeColon": false, - "afterColon": true - }], - "new-cap": [2, { // http://eslint.org/docs/rules/new-cap - "newIsCap": true - }], - "no-multiple-empty-lines": [2, { // http://eslint.org/docs/rules/no-multiple-empty-lines - "max": 2 - }], - "no-nested-ternary": 2, // http://eslint.org/docs/rules/no-nested-ternary - "no-new-object": 2, // http://eslint.org/docs/rules/no-new-object - "no-spaced-func": 2, // http://eslint.org/docs/rules/no-spaced-func - "no-trailing-spaces": 2, // http://eslint.org/docs/rules/no-trailing-spaces - "no-extra-parens": 0, // http://eslint.org/docs/rules/no-extra-parens - "no-underscore-dangle": 0, // http://eslint.org/docs/rules/no-underscore-dangle - "one-var": [2, "never"], // http://eslint.org/docs/rules/one-var - "padded-blocks": [2, "never"], // http://eslint.org/docs/rules/padded-blocks - "semi": [2, "always"], // http://eslint.org/docs/rules/semi - "semi-spacing": [2, { // http://eslint.org/docs/rules/semi-spacing - "before": false, - "after": true - }], - "space-after-keywords": 2, // http://eslint.org/docs/rules/space-after-keywords - "space-before-blocks": 2, // http://eslint.org/docs/rules/space-before-blocks - "space-before-function-paren": [2, "never"], // http://eslint.org/docs/rules/space-before-function-paren - "space-infix-ops": 2, // http://eslint.org/docs/rules/space-infix-ops - "object-curly-spacing": [ 2, "never"], // http://eslint.org/docs/rules/object-curly-spacing - "array-bracket-spacing": [ 2, "never"], // http://eslint.org/docs/rules/array-bracket-spacing - "computed-property-spacing": [ 2, "never"], // http://eslint.org/docs/rules/computed-property-spacing - "space-return-throw-case": 2, // http://eslint.org/docs/rules/space-return-throw-case - "spaced-comment": 2 // http://eslint.org/docs/rules/spaced-comment - } + "extends": "ta-webapp" } diff --git a/package.json b/package.json index b4aad6d73d..a174a57209 100644 --- a/package.json +++ b/package.json @@ -35,6 +35,7 @@ "chai": "^3.3.0", "del": "^2.0.2", "eslint": "^1.5.1", + "eslint-config-ta-webapp": "^1.1.0", "eslint-friendly-formatter": "^1.2.2", "eslint-loader": "^1.0.0", "eslint-plugin-mocha": "^1.0.0", diff --git a/test/.eslintrc b/test/.eslintrc index bc767b1a3d..12fca9d4f2 100644 --- a/test/.eslintrc +++ b/test/.eslintrc @@ -1,16 +1,3 @@ { - "env": { - "node": true, - "mocha": true - }, - "globals": { - "sinon": false, - "chai": false, - "sinonChai": false, - "expect": false, - "should": false - }, - "rules": { - "max-nested-callbacks": [2, 4] - } + "extends": "ta-webapp/lib/tests" } From e2fd0edf85795cff967480939699797a00156089 Mon Sep 17 00:00:00 2001 From: levithomason Date: Fri, 2 Oct 2015 16:50:42 -0500 Subject: [PATCH 2/2] remove eslint plugin deps --- package.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/package.json b/package.json index a174a57209..3776f4da4f 100644 --- a/package.json +++ b/package.json @@ -35,11 +35,9 @@ "chai": "^3.3.0", "del": "^2.0.2", "eslint": "^1.5.1", - "eslint-config-ta-webapp": "^1.1.0", + "eslint-config-ta-webapp": "^1.2.0", "eslint-friendly-formatter": "^1.2.2", "eslint-loader": "^1.0.0", - "eslint-plugin-mocha": "^1.0.0", - "eslint-plugin-react": "^3.5.1", "faker": "^3.0.1", "gulp": "^3.9.0", "imports-loader": "^0.6.4",