{
  "plugins": [ "prettier" ],
  "extends": [ "airbnb", "react-app", "react-app/jest", "prettier" ],
  "rules": {
    "prettier/prettier": ["warn", {
      "trailingComma": "all",
      "singleQuote": true,
      "jsxSingleQuote": true,
      "printWidth": 120,
      "arrowParens": "avoid", // Allow single argument without parentheses in arrow functions
      "semi": false,
      "endOfLine": "auto"
    }],
    "import/no-anonymous-default-export": 0, // Allow "export default"
    "import/prefer-default-export": 0,
    "import/no-extraneous-dependencies": ["error", {"devDependencies": ["**/*.test.js", "**/*.spec.js"]}],
    "react/jsx-one-expression-per-line": 0,
    "import/order": ["warn", {
      "groups": [
        "external", // node_modules
        "internal", // src folder
        ["parent", "sibling"]
      ],
      "newlines-between": "always" // Separate all groups with new line
    }],
    "no-plusplus": 0,
    "consistent-return": 0, // returning value is not required in arrow functions
    "no-nested-ternary": 0,
    "react/require-default-props": 0,
    "indent": 0,
    "comma-dangle": 0,
    "no-shadow": 0, // Allow using same variable name in outer and function scopes
    "no-unused-vars": ["warn", {
      "vars": "local",
      "args": "after-used",
      "ignoreRestSiblings": true
    }],
    "react/prop-types": 0,
    "react/react-in-jsx-scope": 0,
    "react/jsx-uses-react": 0,
    "import/no-unresolved": 0, // used to allow relative paths from "src" folder
    "react/jsx-props-no-spreading": 0
  }
}