{
  "plugins": [
    "babel",
  ],
  "rules": {
    "array-bracket-spacing": [
      "error",
      "never",
    ],
    "block-spacing": [
      "error",
      "never",
    ],
    "brace-style": [
      "error",
      "1tbs",
      {"allowSingleLine": true},
    ],
    "capitalized-comments": [
      "error",
      "always",
      {
        "ignoreConsecutiveComments": true,
      },
    ],
    "comma-style": [
      "error",
      "last",
    ],
    "computed-property-spacing": [
      "error",
      "never",
    ],
    "dot-location": [
      "error",
      "property",
    ],
    "func-call-spacing": "error",
    "lines-around-comment": [
      "error",
      {
        "allowArrayStart": true,
        "allowBlockStart": true,
        "allowObjectStart": true,
        "beforeBlockComment": true,
        "beforeLineComment": true,
      },
    ],
    "lines-around-directive": [
      "error",
      {
        "before": "never",
        "after": "always",
      },
    ],
    "max-len": [
      "error",
      {
        "code": 80,
        "ignoreRegExpLiterals": true,
        "ignoreUrls": true,
        "tabWidth": 2,
      },
    ],
    "newline-per-chained-call": "error",
    "no-floating-decimal": "error",
    "no-inline-comments": "error",

    // Prevents named function to be declared outside the root of a function.
    "no-inner-declarations": "error",
    "no-multiple-empty-lines": [
      "error",
      {
        "max": 2,
        "maxEOF": 1,
      },
    ],
    "no-nested-ternary": "error",

    // FIXME: Reactivate once https://github.com/eslint/eslint/issues/6488 is
    // integrated in ESLint.
    // "object-curly-newline": [
    //   "error",
    //   {
    //     "ObjectExpression": {
    //       "minProperties": 0,
    //       "multiline": true,
    //     },
    //     "ObjectPattern": {
    //       "minProperties": 0,
    //       "multiline": true,
    //     },
    //   },
    // ],
    "babel/object-curly-spacing": [
      "error",
      "never",
    ],
    "operator-linebreak": [
      "error",
      "after",
      {
        "overrides": {
          "?": "after",
          ":": "before",
        },
      },
    ],
    "padded-blocks": [
      "error",
      "never",
    ],
    "prefer-numeric-literals": "error",
    "radix": [
      "error",
      "as-needed",
    ],
    "sort-keys": [
      "error",
      "asc",
      {
        "caseSensitive": true,
        "natural": true,
      },
    ],
    "space-before-blocks": [
      "error",
      "always",
    ],
    "space-before-function-paren": [
      "error",
      "never",
    ],
    "space-in-parens": [
      "error",
      "never",
    ],
    "space-infix-ops": "error",
    "spaced-comment": [
      "error",
      "always",
      {"exceptions": ["/"]},
    ],
  },
}
