module.exports = {
	env: {
		'browser': true,
		'worker': true,

	},
	parserOptions: {
		'parser': 'babel-eslint',
		'ecmaVersion': 8,
		'sourceType': 'module',
		'modules': true,
		'ecmaFeatures': {
			'jsx': true,
			'impliedStrict': true,
			'experimentalObjectRestSpread': true,
		},
	},
	extends: [
		'plugin:react/recommended',
		'plugin:flowtype/recommended',
	],
	plugins: [
		// lints for browser support (APIs and such)
		// uses browserslist tech
		'compat',
		// react
		'react',
		// flow type annotations
		'flowtype',
	],
	rules: {
		// tabs not spaces
		'indent': [
			'error',
			'tab',
			// indent for switch statements
			{
				'SwitchCase': 1,
				'MemberExpression': 0
			}
		],
		// we want tabs
		'no-tabs': 0,
		// only unix endings
		'linebreak-style': ['error', 'unix'],
		// single quotes & double quotes are the same,
		// but encourage single quotes cuz its one less
		// button press
		'quotes': ['error', 'single', { 'allowTemplateLiterals': true }],
		// always use semi-colons at end of statements
		'semi': ['error', 'always'],
		// errors from compat are real errors
		'compat/compat': 2,
		// always have spaces in template strings curly braces
		'template-curly-spacing': ['error', 'always'],
	}
};
