| 
									
										
										
										
											2018-08-26 09:35:53 +00:00
										 |  |  | module.exports = { | 
					
						
							| 
									
										
										
										
											2018-10-26 08:33:27 +00:00
										 |  |  | 	root: true, | 
					
						
							|  |  |  | 	env: { | 
					
						
							|  |  |  | 		browser: true, | 
					
						
							|  |  |  | 		es6: true, | 
					
						
							|  |  |  | 		node: true, | 
					
						
							|  |  |  | 		jest: true | 
					
						
							|  |  |  | 	}, | 
					
						
							|  |  |  | 	globals: { | 
					
						
							|  |  |  | 		t: true, | 
					
						
							|  |  |  | 		n: true, | 
					
						
							|  |  |  | 		OC: true, | 
					
						
							|  |  |  | 		OCA: true, | 
					
						
							|  |  |  | 		Vue: true, | 
					
						
							|  |  |  | 		VueRouter: true | 
					
						
							|  |  |  | 	}, | 
					
						
							|  |  |  | 	parserOptions: { | 
					
						
							|  |  |  | 		parser: 'babel-eslint', | 
					
						
							|  |  |  | 		ecmaVersion: 6 | 
					
						
							|  |  |  | 	}, | 
					
						
							|  |  |  | 	extends: [ | 
					
						
							|  |  |  | 		'eslint:recommended', | 
					
						
							|  |  |  | 		'plugin:node/recommended', | 
					
						
							|  |  |  | 		'plugin:vue/essential', | 
					
						
							|  |  |  | 		'plugin:vue/recommended', | 
					
						
							|  |  |  | 		'standard' | 
					
						
							|  |  |  | 	], | 
					
						
							|  |  |  | 	plugins: ['vue', 'node'], | 
					
						
							|  |  |  | 	rules: { | 
					
						
							|  |  |  | 		// space before function ()
 | 
					
						
							|  |  |  | 		'space-before-function-paren': ['error', 'never'], | 
					
						
							|  |  |  | 		// curly braces always space
 | 
					
						
							|  |  |  | 		'object-curly-spacing': ['error', 'always'], | 
					
						
							|  |  |  | 		// stay consistent with array brackets
 | 
					
						
							|  |  |  | 		'array-bracket-newline': ['error', 'consistent'], | 
					
						
							|  |  |  | 		// 1tbs brace style
 | 
					
						
							|  |  |  | 		'brace-style': 'error', | 
					
						
							|  |  |  | 		// tabs only
 | 
					
						
							|  |  |  | 		indent: ['error', 'tab'], | 
					
						
							|  |  |  | 		'no-tabs': 0, | 
					
						
							|  |  |  | 		'vue/html-indent': ['error', 'tab'], | 
					
						
							|  |  |  | 		// only debug console
 | 
					
						
							|  |  |  | 		'no-console': ['error', { allow: ['error', 'warn', 'debug'] }], | 
					
						
							|  |  |  | 		// classes blocks
 | 
					
						
							|  |  |  | 		'padded-blocks': ['error', { classes: 'always' }], | 
					
						
							|  |  |  | 		// always have the operator in front
 | 
					
						
							|  |  |  | 		'operator-linebreak': ['error', 'before'], | 
					
						
							|  |  |  | 		// ternary on multiline
 | 
					
						
							|  |  |  | 		'multiline-ternary': ['error', 'always-multiline'], | 
					
						
							|  |  |  | 		// es6 import/export and require
 | 
					
						
							|  |  |  | 		'node/no-unpublished-require': ['off'], | 
					
						
							|  |  |  | 		'node/no-unsupported-features/es-syntax': ['off'], | 
					
						
							| 
									
										
										
										
											2019-01-02 23:25:44 +00:00
										 |  |  | 		// kebab case components for vuejs
 | 
					
						
							| 
									
										
										
										
											2019-01-09 14:59:59 +00:00
										 |  |  | 		'vue/component-name-in-template-casing': ['error', 'kebab-case'], | 
					
						
							| 
									
										
										
										
											2018-10-26 08:33:27 +00:00
										 |  |  | 		// space before self-closing elements
 | 
					
						
							|  |  |  | 		'vue/html-closing-bracket-spacing': 'error', | 
					
						
							| 
									
										
										
										
											2019-01-09 14:59:59 +00:00
										 |  |  | 		// newline before closing bracket
 | 
					
						
							|  |  |  | 		'vue/html-closing-bracket-newline': ["error", { | 
					
						
							|  |  |  | 			"singleline": "never", | 
					
						
							|  |  |  | 			"multiline": "never" | 
					
						
							|  |  |  | 		}], | 
					
						
							| 
									
										
										
										
											2018-10-26 08:33:27 +00:00
										 |  |  | 		// code spacing with attributes
 | 
					
						
							|  |  |  | 		'vue/max-attributes-per-line': [ | 
					
						
							|  |  |  | 			'error', | 
					
						
							|  |  |  | 			{ | 
					
						
							|  |  |  | 				singleline: 3, | 
					
						
							|  |  |  | 				multiline: { | 
					
						
							|  |  |  | 					max: 3, | 
					
						
							|  |  |  | 					allowFirstLine: true | 
					
						
							|  |  |  | 				} | 
					
						
							|  |  |  | 			} | 
					
						
							|  |  |  | 		] | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | } |