{
    "parser": "babel-eslint",
    "ecmaFeatures": {
        "arrowFunctions": true,
        "jsx": true,
    },
    "env": {
        "browser": true,
        "es6": true,
    },
    "rules": {
        "comma-dangle": 0, // disallow or enforce trailing commas
        "no-cond-assign": 1, // disallow assignment in conditional expressions
        "no-console": 0, // disallow use of console (off by default in the node environment)
        "no-constant-condition": 1, // disallow use of constant expressions in conditions
        "no-control-regex": 1, // disallow control characters in regular expressions
        "no-debugger": 1, // disallow use of debugger
        "no-dupe-args": 1, // disallow duplicate arguments in functions
        "no-dupe-keys": 1, // disallow duplicate keys when creating object literals
        "no-duplicate-case": 1, // disallow a duplicate case label.
        "no-empty-character-class": 1, // disallow the use of empty character classes in regular expressions
        "no-empty": 1, // disallow empty statements
        "no-ex-assign": 1, // disallow assigning to the exception in a catch block
        "no-extra-boolean-cast": 1, // disallow double-negation boolean casts in a boolean context
        "no-extra-semi": 1, // disallow unnecessary semicolons
        "no-func-assign": 1, // disallow overwriting functions written as function declarations
        "no-inner-declarations": 1, // disallow function or variable declarations in nested blocks
        "no-invalid-regexp": 1, // disallow invalid regular expression strings in the RegExp constructor
        "no-irregular-whitespace": 1, // disallow irregular whitespace outside of strings and comments
        "no-negated-in-lhs": 1, // disallow negation of the left operand of an in expression
        "no-obj-calls": 1, // disallow the use of object properties of the global object (Math and JSON) as functions
        "no-regex-spaces": 1, // disallow multiple spaces in a regular expression literal
        "no-sparse-arrays": 1, // disallow sparse arrays
        "no-unreachable": 1, // disallow unreachable statements after a return, throw, continue, or break statement
        "use-isnan": 1, // disallow comparisons with the value NaN
        "valid-typeof": 1, // Ensure that the results of typeof are compared against a valid string
        "consistent-return": 1, // require return statements to either always or never specify values
        "curly": 1, // specify curly brace conventions for all control statements
        "dot-notation": 0, // encourages use of dot notation whenever possible
        "eqeqeq": 0, // require the use of === and !==
        "no-alert": 0, // disallow the use of alert, confirm, and prompt
        "no-caller": 1, // disallow use of arguments.caller or arguments.callee
        "no-eval": 1, // disallow use of eval()
        "no-extend-native": 1, // disallow adding to native types
        "no-extra-bind": 1, // disallow unnecessary function binding
        "no-fallthrough": 1, // disallow fallthrough of case statements
        "no-implied-eval": 1, // disallow use of eval()-like methods
        "no-iterator": 1, // disallow usage of __iterator__ property
        "no-labels": 1, // disallow use of labeled statements
        "no-lone-blocks": 1, // disallow unnecessary nested blocks
        "no-loop-func": 1, // disallow creation of functions within loops
        "no-multi-spaces": 0, // disallow use of multiple spaces
        "no-multi-str": 1, // disallow use of multiline strings
        "no-native-reassign": 1, // disallow reassignments of native objects
        "no-new-func": 1, // disallow use of new operator for Function object
        "no-new-wrappers": 1, // disallows creating new instances of String,Number, and Boolean
        "no-new": 1, // disallow use of new operator when not part of the assignment or comparison
        "no-octal-escape": 1, // disallow use of octal escape sequences in string literals, such as var foo = "Copyright \151";
        "no-octal": 1, // disallow use of octal literals
        "no-proto": 1, // disallow usage of __proto__ property
        "no-redeclare": 1, // disallow declaring the same variable more than once
        "no-return-assign": 1, // disallow use of assignment in return statement
        "no-script-url": 1, // disallow use of javascript: urls.
        "no-sequences": 1, // disallow use of comma operator
        "no-unused-expressions": 1, // disallow usage of expressions in statement position
        "no-with": 1, // disallow use of the with statement
        "yoda": 1, // require or disallow Yoda conditions
        "strict": 0, // controls location of Use Strict Directives
        "no-catch-shadow": 1, // disallow the catch clause parameter name being the same as a variable in the outer scope (off by default in the node environment)
        "no-delete-var": 1, // disallow deletion of variables
        "no-label-var": 1, // disallow labels that share a name with a variable
        "no-shadow-restricted-names": 1, // disallow shadowing of names such as arguments
        "no-shadow": 1, // disallow declaration of variables already declared in the outer scope
        "no-undef-init": 1, // disallow use of undefined when initializing variables
        "no-undef": 0, // disallow use of undeclared variables unless mentioned in a /*global */ block
        "no-unused-vars": 0, // disallow declaration of variables that are not used in the code
        "no-use-before-define": 0, // disallow use of variables before they are defined
        "handle-callback-err": 1, // enforces error handling in callbacks (off by default) (on by default in the node environment)
        "no-mixed-requires": 1, // disallow mixing regular variable and require declarations (off by default) (on by default in the node environment)
        "no-new-require": 1, // disallow use of new operator with the require function (off by default) (on by default in the node environment)
        "no-path-concat": 1, // disallow string concatenation with __dirname and __filename (off by default) (on by default in the node environment)
        "no-process-exit": 1, // disallow process.exit() (on by default in the node environment)
        "camelcase": 0, // require camel case names
        "comma-spacing": 1, // enforce spacing before and after comma
        "eol-last": 0, // enforce newline at the end of file, with no multiple empty lines
        "key-spacing": 0, // enforces spacing between keys and values in object literal properties
        "new-cap": 1, // require a capital letter for constructors
        "new-parens": 1, // disallow the omission of parentheses when invoking a constructor with no arguments
        "no-array-constructor": 1, // disallow use of the Array constructor
        "no-mixed-spaces-and-tabs": 1, // disallow mixed spaces and tabs for indentation
        "no-new-object": 1, // disallow use of the Object constructor
        "no-spaced-func": 1, // disallow space between function identifier and application
        "no-trailing-spaces": 0, // disallow trailing whitespace at the end of lines
        "no-underscore-dangle": 0, // disallow dangling underscores in identifiers
        "quotes": 0, // specify whether backticks, double or single quotes should be used
        "semi-spacing": 1, // enforce spacing before and after semicolons
        "semi": 1, // require or disallow use of semicolons instead of ASI
        "space-infix-ops": 1, // require spaces around operators
        "keyword-spacing": 1, // require a space after return, throw, and case
        "space-unary-ops": 1, // Require or disallow spaces before/after unary operators (words on by default, nonwords off by default)
        "no-plusplus": 0, // disallow use of unary operators, ++ and -- (off by default)
    }
}