{
  "root": true,
  "ignorePatterns": ["**/*"],
  "plugins": ["@nrwl/nx"],
  "overrides": [
    {
      "files": ["*.ts", "*.tsx", "*.js", "*.jsx"],
      "rules": {
        "padding-line-between-statements": [
          "error",
          {
            "blankLine": "any",
            "prev": "import",
            "next": "import"
          },
          {
            "blankLine": "always",
            "prev": "*",
            "next": "return"
          },
          {
            "blankLine": "always",
            "prev": "*",
            "next": "for"
          },
          {
            "blankLine": "always",
            "prev": "*",
            "next": "function"
          },
          {
            "blankLine": "always",
            "prev": "*",
            "next": "if"
          },
          {
            "blankLine": "always",
            "prev": "*",
            "next": "class"
          },
          {
            "blankLine": "always",
            "prev": "*",
            "next": "switch"
          },
          {
            "blankLine": "always",
            "prev": "*",
            "next": "while"
          },
          {
            "blankLine": "always",
            "prev": "*",
            "next": "throw"
          },
          {
            "blankLine": "always",
            "prev": "try",
            "next": "*"
          },
          {
            "blankLine": "always",
            "prev": "*",
            "next": "export"
          },
          {
            "blankLine": "any",
            "prev": "export",
            "next": "export"
          },
          {
            "blankLine": "always",
            "prev": ["const", "let", "var"],
            "next": "*"
          },
          {
            "blankLine": "any",
            "prev": ["const", "let", "var"],
            "next": ["const", "let", "var"]
          }
        ],
        "max-len": [
          "error",
          {
            "code": 120,
            "comments": 150
          }
        ],
        "semi": "error",
        "arrow-spacing": "error",
        "arrow-parens": "error",
        "brace-style": "error",
        "camelcase": "error",
        "eol-last": "error",
        "jsx-quotes": "error",
        "no-console": "error",
        "no-duplicate-imports": "error",
        "no-else-return": "error",
        "no-inline-comments": "warn",
        "no-lonely-if": "error",
        "no-trailing-spaces": "error",
        "no-var": "error",
        "object-curly-spacing": "error",
        "prefer-arrow-callback": "warn",
        "prefer-const": "error",
        "prefer-destructuring": "warn",
        "quotes": ["error", "single"],
        "spaced-comment": "error",
        "use-isnan": "error",
        "@nrwl/nx/enforce-module-boundaries": [
          "error",
          {
            "enforceBuildableLibDependency": true,
            "allow": [],
            "depConstraints": [
              {
                "sourceTag": "*",
                "onlyDependOnLibsWithTags": ["*"]
              }
            ]
          }
        ]
      }
    },
    {
      "files": ["*.ts", "*.tsx"],
      "extends": ["plugin:@nrwl/nx/typescript"],
      "rules": {}
    },
    {
      "files": ["*.js", "*.jsx"],
      "extends": ["plugin:@nrwl/nx/javascript"],
      "rules": {}
    }
  ]
}
