From 96e6b0e7e08dc6a7be2766e8fdcbca0d8600089c Mon Sep 17 00:00:00 2001 From: Andrew Watkins Date: Tue, 20 Mar 2018 10:04:17 -0700 Subject: [PATCH] Change .eslintrc to proper json --- ui/.eslintrc | 666 +++++++++++++++++++++++++++++++-------------------- 1 file changed, 407 insertions(+), 259 deletions(-) diff --git a/ui/.eslintrc b/ui/.eslintrc index 687c9683ff..7060d3388b 100644 --- a/ui/.eslintrc +++ b/ui/.eslintrc @@ -1,260 +1,408 @@ { - "parser": "babel-eslint", - plugins: [ - 'react', - 'prettier', - 'babel', - 'jest', - ], - extends: [ - "prettier", - "prettier/react" - ], - env: { - browser: true, - mocha: true, - "jest": true, - node: true, - es6: true, - }, - globals: { - expect: true, - }, - parserOptions: { - ecmaFeatures: { - arrowFunctions: true, - binaryLiterals: true, - blockBindings: true, - classes: true, - defaultParams: false, - destructuring: true, - forOf: false, - generators: false, - modules: true, - objectLiteralComputedProperties: true, - objectLiteralDuplicateProperties: false, - objectLiteralShorthandMethods: true, - objectLiteralShorthandProperties: true, - octalLiterals: false, - regexUFlag: false, - regexYFlag: false, - restParams: true, - spread: true, - superInFunctions: false, - templateStrings: true, - unicodeCodePointEscapes: false, - globalReturn: false, - jsx: true, - }, - }, - rules: { - 'quotes': [1, 'single'], - 'func-style': 0, - 'func-names': 0, - 'arrow-parens': 0, - 'comma-dangle': [2, 'always-multiline'], - 'no-cond-assign': 2, - 'no-console': ['error', {allow: ['error', 'warn']}], - 'no-constant-condition': 2, - 'no-control-regex': 2, - 'no-debugger': 2, - 'no-dupe-args': 2, - 'no-dupe-keys': 2, - 'no-duplicate-case': 2, - 'no-empty-character-class': 2, - 'no-empty': 2, - 'no-ex-assign': 2, - 'no-extra-boolean-cast': 2, - 'no-extra-parens': 0, - 'no-extra-semi': 2, - 'no-func-assign': 2, - 'no-inner-declarations': [2, 'both'], - 'no-invalid-regexp': 2, - 'no-irregular-whitespace': 2, - 'no-negated-in-lhs': 2, - 'no-obj-calls': 2, - 'no-regex-spaces': 2, - 'no-sparse-arrays': 2, - 'no-unexpected-multiline': 2, - 'no-unreachable': 2, - 'use-isnan': 2, - 'valid-jsdoc': 0, - 'valid-typeof': 2, - - 'accessor-pairs': 2, - 'block-scoped-var': 2, - 'complexity': 0, // TODO: revisit - 'consistent-return': 0, - 'curly': 2, - 'default-case': 0, // TODO: revisit - 'dot-location': [2, 'property'], - 'dot-notation': 2, - 'eqeqeq': 2, - 'no-alert': 2, - 'no-caller': 2, - 'no-case-declarations': 2, - 'no-div-regex': 2, - 'no-else-return': 2, - 'no-labels': 2, - 'no-empty-pattern': 2, - 'no-eq-null': 2, - 'no-eval': 2, - 'no-extend-native': 2, - 'no-extra-bind': 2, - 'no-fallthrough': 2, - 'no-floating-decimal': 2, - 'no-implicit-coercion': 0, - 'no-implied-eval': 2, - 'no-iterator': 2, - 'no-lone-blocks': 2, - 'no-loop-func': 2, - 'no-magic-numbers': [0, {ignore: [-1, 0, 1, 2]}], - 'no-multi-spaces': 2, - 'no-multi-str': 2, - 'no-native-reassign': 2, - 'no-new-func': 2, - 'no-new-wrappers': 2, - 'no-new': 2, - 'no-octal-escape': 2, - 'no-octal': 2, - 'no-proto': 2, - 'no-redeclare': 2, - 'no-script-url': 2, - 'no-self-compare': 2, - 'no-sequences': 2, - 'no-throw-literal': 2, - 'no-unused-expressions': 2, - 'no-useless-call': 2, - 'no-useless-concat': 2, - 'no-void': 2, - 'no-warning-comments': 0, - 'no-with': 2, - 'radix': 2, - 'vars-on-top': 2, - - 'strict': [2, 'never'], - - 'init-declarations': 0, - 'no-catch-shadow': 2, - 'no-delete-var': 2, - 'no-label-var': 2, - 'no-shadow-restricted-names': 2, - 'no-shadow': 2, - 'no-undef-init': 2, - 'no-undef': 2, - 'no-unused-vars': [2, {args: 'after-used', 'argsIgnorePattern': '^_'}], - 'no-use-before-define': [2, 'nofunc'], - - 'array-bracket-spacing': [2, 'never'], - 'block-spacing': [2, 'always'], - 'brace-style': [2, '1tbs'], - 'camelcase': [2, {properties: 'never'}], - 'comma-spacing': [2, {before: false, after: true}], - 'comma-style': [2, 'last'], - 'computed-property-spacing': [2, 'never'], - 'consistent-this': [2, 'self'], - 'eol-last': 0, // TODO: revisit - 'id-length': 0, - 'id-match': 0, - 'indent': [0, 2, {SwitchCase: 1}], - 'key-spacing': [2, {beforeColon: false, afterColon: true}], - 'linebreak-style': [2, 'unix'], - 'lines-around-comment': 0, - 'max-depth': 0, - 'max-len': 0, - 'max-nested-callbacks': 0, - 'max-params': 0, - 'max-statements': 0, - 'new-cap': 0, - 'new-parens': 2, - 'newline-after-var': 0, - 'no-array-constructor': 2, - 'no-negated-condition': 2, - 'no-inline-comments': 0, - 'no-lonely-if': 2, - 'no-mixed-spaces-and-tabs': 2, - 'no-multiple-empty-lines': 2, - 'no-nested-ternary': 2, - 'no-new-object': 2, - 'no-plusplus': [2, {allowForLoopAfterthoughts: true}], - 'no-spaced-func': 2, - 'no-ternary': 0, - 'no-trailing-spaces': 2, - 'no-underscore-dangle': 0, - 'no-unneeded-ternary': 2, - 'object-curly-spacing': [2, 'never'], - 'one-var': 0, - 'operator-assignment': [2, 'always'], - 'padded-blocks': [2, 'never'], - 'quote-props': [2, 'as-needed', {keywords: false, numbers: false }], - 'require-jsdoc': 0, - 'semi-spacing': [2, {before: false, after: true}], - 'semi': [2, 'never'], - 'sort-vars': 0, - 'keyword-spacing': 'error', - 'space-before-blocks': [2, 'always'], - 'space-before-function-paren': [2, 'never'], - 'space-in-parens': [2, 'never'], - 'space-infix-ops': 2, - 'space-unary-ops': 2, - 'spaced-comment': [2, 'always'], - 'wrap-regex': 0, - 'arrow-body-style': 0, - 'arrow-spacing': [2, {before: true, after: true}], - 'no-confusing-arrow': 0, - 'no-class-assign': 2, - 'no-const-assign': 2, - 'no-dupe-class-members': 2, - 'no-this-before-super': 2, - 'no-var': 2, - 'object-shorthand': [2, 'always'], - 'prefer-arrow-callback': 0, - 'prefer-const': 2, - 'prefer-template': 2, - - // React - 'jsx-quotes': [1, "prefer-double"], - 'react/display-name': 0, - 'react/jsx-no-bind': [2, {ignoreRefs: true}], - 'react/jsx-boolean-value': [2, 'always'], - 'react/jsx-curly-spacing': [2, 'never'], - 'react/jsx-equals-spacing': [2, 'never'], - 'react/jsx-key': 2, - 'react/jsx-no-duplicate-props': 2, - 'react/jsx-no-undef': 2, - 'react/jsx-sort-props': 0, - 'react/jsx-sort-prop-types': 0, - 'react/jsx-uses-react': 2, - 'react/jsx-uses-vars': 2, - 'react/no-danger': 2, - 'react/no-did-mount-set-state': 0, - 'react/no-did-update-set-state': 2, - 'react/no-direct-mutation-state': 2, - 'react/no-is-mounted': 2, - 'react/no-multi-comp': 0, - 'react/no-set-state': 0, - 'react/no-string-refs': 0, // TODO: 2 - 'react/no-unknown-property': 2, - 'react/prop-types': 2, - 'react/prefer-es6-class': [0, 'never'], - 'react/react-in-jsx-scope': 2, - 'react/require-extension': 0, - 'react/self-closing-comp': 0, // TODO: we can re-enable this if some brave soul wants to update the code (mostly spans acting as icons) - 'react/sort-comp': 0, // TODO: 2 - - // Prettier - 'prettier/prettier': ['error', { - 'singleQuote': true, - 'trailingComma': 'es5', - 'bracketSpacing': false, - 'semi': false, - }], - - // jest - 'jest/no-disabled-tests': "warn", - 'jest/no-focused-tests': "error", - - // Babel - 'babel/no-invalid-this': 1 - }, -} + "parser": "babel-eslint", + "plugins": [ + "react", + "prettier", + "babel", + "jest" + ], + "extends": [ + "prettier", + "prettier/react" + ], + "env": { + "browser": true, + "mocha": true, + "jest": true, + "node": true, + "es6": true + }, + "globals": { + "expect": true + }, + "parserOptions": { + "ecmaFeatures": { + "arrowFunctions": true, + "binaryLiterals": true, + "blockBindings": true, + "classes": true, + "defaultParams": false, + "destructuring": true, + "forOf": false, + "generators": false, + "modules": true, + "objectLiteralComputedProperties": true, + "objectLiteralDuplicateProperties": false, + "objectLiteralShorthandMethods": true, + "objectLiteralShorthandProperties": true, + "octalLiterals": false, + "regexUFlag": false, + "regexYFlag": false, + "restParams": true, + "spread": true, + "superInFunctions": false, + "templateStrings": true, + "unicodeCodePointEscapes": false, + "globalReturn": false, + "jsx": true + } + }, + "rules": { + "quotes": [ + 1, + "single" + ], + "func-style": 0, + "func-names": 0, + "arrow-parens": 0, + "comma-dangle": [ + 2, + "always-multiline" + ], + "no-cond-assign": 2, + "no-console": [ + "error", + { + "allow": [ + "error", + "warn" + ] + } + ], + "no-constant-condition": 2, + "no-control-regex": 2, + "no-debugger": 2, + "no-dupe-args": 2, + "no-dupe-keys": 2, + "no-duplicate-case": 2, + "no-empty-character-class": 2, + "no-empty": 2, + "no-ex-assign": 2, + "no-extra-boolean-cast": 2, + "no-extra-parens": 0, + "no-extra-semi": 2, + "no-func-assign": 2, + "no-inner-declarations": [ + 2, + "both" + ], + "no-invalid-regexp": 2, + "no-irregular-whitespace": 2, + "no-negated-in-lhs": 2, + "no-obj-calls": 2, + "no-regex-spaces": 2, + "no-sparse-arrays": 2, + "no-unexpected-multiline": 2, + "no-unreachable": 2, + "use-isnan": 2, + "valid-jsdoc": 0, + "valid-typeof": 2, + "accessor-pairs": 2, + "block-scoped-var": 2, + "complexity": 0, + "consistent-return": 0, + "curly": 2, + "default-case": 0, + "dot-location": [ + 2, + "property" + ], + "dot-notation": 2, + "eqeqeq": 2, + "no-alert": 2, + "no-caller": 2, + "no-case-declarations": 2, + "no-div-regex": 2, + "no-else-return": 2, + "no-labels": 2, + "no-empty-pattern": 2, + "no-eq-null": 2, + "no-eval": 2, + "no-extend-native": 2, + "no-extra-bind": 2, + "no-fallthrough": 2, + "no-floating-decimal": 2, + "no-implicit-coercion": 0, + "no-implied-eval": 2, + "no-iterator": 2, + "no-lone-blocks": 2, + "no-loop-func": 2, + "no-magic-numbers": [ + 0, + { + "ignore": [ + -1, + 0, + 1, + 2 + ] + } + ], + "no-multi-spaces": 2, + "no-multi-str": 2, + "no-native-reassign": 2, + "no-new-func": 2, + "no-new-wrappers": 2, + "no-new": 2, + "no-octal-escape": 2, + "no-octal": 2, + "no-proto": 2, + "no-redeclare": 2, + "no-script-url": 2, + "no-self-compare": 2, + "no-sequences": 2, + "no-throw-literal": 2, + "no-unused-expressions": 2, + "no-useless-call": 2, + "no-useless-concat": 2, + "no-void": 2, + "no-warning-comments": 0, + "no-with": 2, + "radix": 2, + "vars-on-top": 2, + "strict": [ + 2, + "never" + ], + "init-declarations": 0, + "no-catch-shadow": 2, + "no-delete-var": 2, + "no-label-var": 2, + "no-shadow-restricted-names": 2, + "no-shadow": 2, + "no-undef-init": 2, + "no-undef": 2, + "no-unused-vars": [ + 2, + { + "args": "after-used", + "argsIgnorePattern": "^_" + } + ], + "no-use-before-define": [ + 2, + "nofunc" + ], + "array-bracket-spacing": [ + 2, + "never" + ], + "block-spacing": [ + 2, + "always" + ], + "brace-style": [ + 2, + "1tbs" + ], + "camelcase": [ + 2, + { + "properties": "never" + } + ], + "comma-spacing": [ + 2, + { + "before": false, + "after": true + } + ], + "comma-style": [ + 2, + "last" + ], + "computed-property-spacing": [ + 2, + "never" + ], + "consistent-this": [ + 2, + "self" + ], + "eol-last": 0, + "id-length": 0, + "id-match": 0, + "indent": [ + 0, + 2, + { + "SwitchCase": 1 + } + ], + "key-spacing": [ + 2, + { + "beforeColon": false, + "afterColon": true + } + ], + "linebreak-style": [ + 2, + "unix" + ], + "lines-around-comment": 0, + "max-depth": 0, + "max-len": 0, + "max-nested-callbacks": 0, + "max-params": 0, + "max-statements": 0, + "new-cap": 0, + "new-parens": 2, + "newline-after-var": 0, + "no-array-constructor": 2, + "no-negated-condition": 2, + "no-inline-comments": 0, + "no-lonely-if": 2, + "no-mixed-spaces-and-tabs": 2, + "no-multiple-empty-lines": 2, + "no-nested-ternary": 2, + "no-new-object": 2, + "no-plusplus": [ + 2, + { + "allowForLoopAfterthoughts": true + } + ], + "no-spaced-func": 2, + "no-ternary": 0, + "no-trailing-spaces": 2, + "no-underscore-dangle": 0, + "no-unneeded-ternary": 2, + "object-curly-spacing": [ + 2, + "never" + ], + "one-var": 0, + "operator-assignment": [ + 2, + "always" + ], + "padded-blocks": [ + 2, + "never" + ], + "quote-props": [ + 2, + "as-needed", + { + "keywords": false, + "numbers": false + } + ], + "require-jsdoc": 0, + "semi-spacing": [ + 2, + { + "before": false, + "after": true + } + ], + "semi": [ + 2, + "never" + ], + "sort-vars": 0, + "keyword-spacing": "error", + "space-before-blocks": [ + 2, + "always" + ], + "space-before-function-paren": [ + 2, + "never" + ], + "space-in-parens": [ + 2, + "never" + ], + "space-infix-ops": 2, + "space-unary-ops": 2, + "spaced-comment": [ + 2, + "always" + ], + "wrap-regex": 0, + "arrow-body-style": 0, + "arrow-spacing": [ + 2, + { + "before": true, + "after": true + } + ], + "no-confusing-arrow": 0, + "no-class-assign": 2, + "no-const-assign": 2, + "no-dupe-class-members": 2, + "no-this-before-super": 2, + "no-var": 2, + "object-shorthand": [ + 2, + "always" + ], + "prefer-arrow-callback": 0, + "prefer-const": 2, + "prefer-template": 2, + "jsx-quotes": [ + 1, + "prefer-double" + ], + "react/display-name": 0, + "react/jsx-no-bind": [ + 2, + { + "ignoreRefs": true + } + ], + "react/jsx-boolean-value": [ + 2, + "always" + ], + "react/jsx-curly-spacing": [ + 2, + "never" + ], + "react/jsx-equals-spacing": [ + 2, + "never" + ], + "react/jsx-key": 2, + "react/jsx-no-duplicate-props": 2, + "react/jsx-no-undef": 2, + "react/jsx-sort-props": 0, + "react/jsx-sort-prop-types": 0, + "react/jsx-uses-react": 2, + "react/jsx-uses-vars": 2, + "react/no-danger": 2, + "react/no-did-mount-set-state": 0, + "react/no-did-update-set-state": 2, + "react/no-direct-mutation-state": 2, + "react/no-is-mounted": 2, + "react/no-multi-comp": 0, + "react/no-set-state": 0, + "react/no-string-refs": 0, + "react/no-unknown-property": 2, + "react/prop-types": 2, + "react/prefer-es6-class": [ + 0, + "never" + ], + "react/react-in-jsx-scope": 2, + "react/require-extension": 0, + "react/self-closing-comp": 0, + "react/sort-comp": 0, + "prettier/prettier": [ + "error", + { + "singleQuote": true, + "trailingComma": "es5", + "bracketSpacing": false, + "semi": false + } + ], + "jest/no-disabled-tests": "warn", + "jest/no-focused-tests": "error", + "babel/no-invalid-this": 1 + } +} \ No newline at end of file