{
	"parser": "esprima",
    "parserOptions": {
        "ecmaVersion": 6,
        "sourceType": "module",
        "ecmaFeatures": {
            "jsx": true
        }
    },
	"env": {
        "browser": true,
        "commonjs": true,
		"es6": true,
		"amd": true
    },
    "globals": {
        "angular": true
    },
    "rules": {
        "no-cond-assign": "error",
		"no-console": ["warn", { "allow": ["error", "warn"] }],
		"no-constant-condition": "error",
		"no-control-regex": "error",
		"no-debugger": "error",
		"no-dupe-args": "error",
		"no-dupe-keys": "error",
		"no-duplicate-case": "error",
		"no-empty-character-class": "error",
		"no-empty": "error",
		"no-ex-assign": "error",
		"no-extra-boolean-cast": "error",
		"no-extra-parens": "warn",
		"no-extra-semi": "error",
		"no-func-assign": "error",
		"no-inner-declarations": "error",
		"no-invalid-regexp": "error",
		"no-irregular-whitespace": "error",
		"no-obj-calls": "error",
		"no-regex-spaces": "error",
		"no-sparse-arrays": "error",
		"no-template-curly-in-string": "error",
		"no-unexpected-multiline": "error",
		"no-unreachable": "error",
		"no-unsafe-finally": "error",
		"no-unsafe-negation": "error",
		"use-isnan": "error",
		"valid-typeof": "error",
		// Best Practices
		"accessor-pairs": "warn",
		"array-callback-return": "error",
		"block-scoped-var": "error",
		"class-methods-use-this": "error",
		"consistent-return": "error",
		"curly": "error",
		"default-case": "error",
		"dot-notation": "error",
		"eqeqeq": "error",
		"guard-for-in": "error",
		"no-alert": "error",
		"no-caller": "error",
		"no-case-declarations": "error",
		"no-div-regex": "error",
		"no-else-return": "error",
		"no-empty-function": "error",
		"no-empty-pattern": "error",
		"no-eq-null": "error",
		"no-eval": "error",
		"no-extend-native": "error",
		"no-extra-bind": "error",
		"no-extra-label": "error",
		"no-fallthrough": "error",
		"no-floating-decimal": "error",
		"no-global-assign": "error",
		"no-implicit-coercion": "error",
		"no-implicit-globals": "error",
		"no-implied-eval": "error",
		"no-invalid-this": "error",
		"no-iterator": "error",
		"no-labels": "error",
		"no-lone-blocks": "error",
		"no-loop-func": "error",
		"no-multi-spaces": "error",
		"no-multi-str": "error",
		"no-new-func": "error",
		"no-new-wrappers": "error",
		"no-new": "error",
		"no-octal-escape": "error",
		"no-octal": "error",
		"no-param-reassign": "error",
		"no-proto": "error",
		"no-redeclare": "error",
		"no-restricted-properties": "error",
		"no-return-assign": "error",
		"no-script-url": "error",
		"no-self-assign": "error",
		"no-self-compare": "error",
		"no-sequences": "error",
		"no-throw-literal": "error",
		"no-unmodified-loop-condition": "error",
		"no-unused-expressions": "error",
		"no-unused-labels": "error",
		"no-useless-call": "error",
		"no-useless-concat": "error",
		"no-useless-escape": "error",
		"no-useless-return": "error",
		"no-void": "error",
		"no-warning-comments": "error",
		"no-with": "error",
		"radix": "error",
		"vars-on-top": "error",
		"wrap-iife": "error",
		"yoda": ["error", "never"],
		// Strict Mode
		"strict": "error",
		"no-undef": "error",
		"no-undefined": "error",
		"no-unused-vars": "error",
		"no-use-before-define": "error",
		// Style
		"array-bracket-spacing": "error",
		"block-spacing": "error",
		"brace-style": "error",
		"camelcase": "error",
		"comma-dangle": "error",
		"comma-spacing": "error",
		"comma-style": "error",
		"computed-property-spacing": "error",
		"consistent-this": "error",
		"eol-last": "error",
		"func-call-spacing": "error",
		"indent": ["error", 4, {"SwitchCase": 1}],
		"key-spacing": "error",
		"keyword-spacing": "error",
		"line-comment-position": "error",
		"linebreak-style": "error",
		"lines-around-comment": ["error", { "beforeBlockComment": false }],
		"lines-around-directive": "error",
		"new-cap": "error",
		"new-parens": "error",
		"no-array-constructor": "error",
		"no-bitwise": "error",
		"no-continue": "error",
		"no-lonely-if": "error",
		"no-mixed-spaces-and-tabs": "error",
		"no-multiple-empty-lines": "error",
		"no-negated-condition": "error",
		"no-new-object": "error",
		"no-trailing-spaces": "error",
		"no-unneeded-ternary": "error",
		"no-whitespace-before-property": "error",
		"one-var-declaration-per-line": "error",
		"one-var": ["error", "never"],
		"quotes": ["error", "single"],
		"semi-spacing": "error",
		"spaced-comment": "error",
		"unicode-bom": "error",
		// ES6
		"arrow-body-style": ["error", "as-needed"],
		"arrow-parens": "error",
		"arrow-spacing": "error",
		"constructor-super": "error",
		"generator-star-spacing": "error",
		"no-class-assign": "error",
		"no-const-assign": "error",
		"no-dupe-class-members": "error",
		"no-duplicate-imports": "error",
		"no-new-symbol": "error",
		"no-this-before-super": "error",
		"no-useless-computed-key": "error",
		"no-useless-constructor": "error",
		"no-var": "error",
		"object-shorthand": "error",
		"prefer-arrow-callback": "error",
		"prefer-const": "error",
		"prefer-numeric-literals": "error",
		"prefer-rest-params": "error",
		"prefer-template": "warn",
		"require-yield": "error",
		"rest-spread-spacing": "error"
    }
}
