{
  "parserOptions": {
    "ecmaVersion": 8
  },
  "env": {
    "es6": true,
    "node": true
  },
  "extends": "airbnb-base",
  "rules": {
    "no-console": "off",
    "object-curly-newline": "off",
    "function-paren-newline": "off",
    "indent": ["error", 2, { "SwitchCase": 1 }],
    "linebreak-style": "off",
    "quotes": ["warn", "double"],
    "semi": ["warn", "always"],
    "no-param-reassign": "off",
    "no-shadow": "warn",
    "no-plusplus": "off",
    "no-continue": "off",
    "radix": ["error", "as-needed"],
    "import/no-extraneous-dependencies": "off",
    "import/no-unresolved": "off",
    "import/no-dynamic-require": "warn",
    "no-prototype-builtins": "warn",
    "no-restricted-syntax": "warn",
    "no-throw-literal": "off",
    "guard-for-in": "warn",
    "consistent-return": ["warn", { "treatUndefinedAsUnspecified": true }],
    "no-use-before-define": ["warn", { "functions": true, "classes": true }],
    "no-eval": "warn",
    "max-len": "off",
    "no-underscore-dangle": ["error", { "allow": ["_events"] }],
    "global-require": "off",
    "no-nested-ternary": "warn",
    "padded-blocks": ["error", { "classes": "always", "blocks": "never", "switches": "never" }],
    "valid-jsdoc": ["warn", {
      "requireReturn": false,
      "requireReturnDescription": false,
      "preferType": {
        "String": "string",
        "Number": "number",
        "Boolean": "boolean",
        "Symbol": "symbol",
        "function": "Function",
        "object": "Object",
        "date": "Date",
        "error": "Error"
      }
    }]
  }
}
