118 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			118 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
| {
 | |
|   "parser": "babel-eslint",
 | |
|   "plugins": [
 | |
|     "react",
 | |
|     "flowtype"
 | |
|   ],
 | |
|   "parserOptions": {
 | |
|     "ecmaVersion": 6,
 | |
|     "sourceType": "module",
 | |
|     "ecmaFeatures": {
 | |
|       "jsx": true,
 | |
|       "impliedStrict": true
 | |
|     }
 | |
|   },
 | |
|   "env": {
 | |
|     "browser": true,
 | |
|     "amd": true,
 | |
|     "es6": true,
 | |
|     "node": true,
 | |
|     "mocha": true
 | |
|   },
 | |
|   "extends": ["eslint:recommended", "plugin:react/recommended"],
 | |
|   "rules": {
 | |
|     "no-undef": ["warn"],
 | |
|     "global-strict": ["off"],
 | |
|     "no-extra-semi": ["warn"],
 | |
|     "no-underscore-dangle": ["off"],
 | |
|     "no-console": ["off"],
 | |
|     "no-unused-vars": ["off"],
 | |
|     "no-trailing-spaces": ["warn", {
 | |
|       "skipBlankLines": true
 | |
|     }],
 | |
|     "no-unreachable": ["warn"],
 | |
|     "no-spaced-func": ["warn"],
 | |
|     "no-new-func": ["error"],
 | |
|     "no-new-wrappers": ["error"],
 | |
|     "no-invalid-regexp": ["error"],
 | |
|     "no-extra-bind": ["error"],
 | |
|     "no-magic-numbers": ["error", {
 | |
|       "ignore": [-1, 0, 1], // usually used in array/string indexing
 | |
|       "ignoreArrayIndexes": true,
 | |
|       "enforceConst": true,
 | |
|       "detectObjects": true
 | |
|     }],
 | |
|     "consistent-return": ["error"],
 | |
|     "valid-jsdoc": ["error"],
 | |
|     "no-use-before-define": ["error"],
 | |
|     "camelcase": ["warn"],
 | |
|     "array-callback-return": ["error"],
 | |
|     "dot-location": ["warn", "property"],
 | |
|     "guard-for-in": ["error"],
 | |
|     "no-useless-call": ["warn"],
 | |
|     "no-useless-escape": ["warn"],
 | |
|     "no-useless-concat": ["warn"],
 | |
|     "brace-style": ["warn", "1tbs"],
 | |
|     "comma-style": ["warn", "last"],
 | |
|     "space-before-function-paren": ["warn", "never"],
 | |
|     "space-before-blocks": ["warn", "always"],
 | |
|     "keyword-spacing": ["warn", {
 | |
|       "before": true,
 | |
|       "after": true
 | |
|     }],
 | |
| 
 | |
|     // dangling commas required, but only for multiline objects/arrays
 | |
|     "comma-dangle": ["warn", "always-multiline"],
 | |
|     // always === instead of ==, unless dealing with null/undefined
 | |
|     "eqeqeq": ["error", "smart"],
 | |
|     // always use curly braces, even with single statements
 | |
|     "curly": ["error", "all"],
 | |
|     // phasing out var in favour of let/const is a good idea
 | |
|     "no-var": ["warn"],
 | |
|     // always require semicolons
 | |
|     "semi": ["error", "always"],
 | |
|     // prefer rest and spread over the Old Ways
 | |
|     "prefer-spread": ["warn"],
 | |
|     "prefer-rest-params": ["warn"],
 | |
| 
 | |
|     /** react **/
 | |
| 
 | |
|     // bind or arrow function in props causes performance issues
 | |
|     "react/jsx-no-bind": ["error", {
 | |
|       "ignoreRefs": true
 | |
|     }],
 | |
|     "react/jsx-key": ["error"],
 | |
|     "react/prefer-stateless-function": ["warn"],
 | |
| 
 | |
|     /** flowtype **/
 | |
|     "flowtype/require-parameter-type": [
 | |
|       1,
 | |
|       {
 | |
|         "excludeArrowFunctions": true
 | |
|       }
 | |
|     ],
 | |
|     "flowtype/define-flow-type": 1,
 | |
|     "flowtype/require-return-type": [
 | |
|       1,
 | |
|       "always",
 | |
|       {
 | |
|         "annotateUndefined": "never",
 | |
|         "excludeArrowFunctions": true
 | |
|       }
 | |
|     ],
 | |
|     "flowtype/space-after-type-colon": [
 | |
|       1,
 | |
|       "always"
 | |
|     ],
 | |
|     "flowtype/space-before-type-colon": [
 | |
|       1,
 | |
|       "never"
 | |
|     ]
 | |
|   },
 | |
|   "settings": {
 | |
|     "flowtype": {
 | |
|       "onlyFilesWithFlowAnnotation": true
 | |
|     }
 | |
|   }
 | |
| }
 |