{
  "singleQuote": true,
  "jsxSingleQuote": true,
  "semi": true,
  "printWidth": 100,
  "tabWidth": 2,
  "useTabs": false,
  "arrowParens": "always",
  "endOfLine": "lf",
  "trailingComma": "all",
  "quoteProps": "as-needed",
  "bracketSpacing": true
}
{
  "env": {
    "es2021": true,
    "node": true
  },
  "extends": [
    "airbnb-base",
    "prettier",
    "eslint:recommended",
    "plugin:@typescript-eslint/eslint-recommended",
    "plugin:@typescript-eslint/recommended"
  ],
  "parser": "@typescript-eslint/parser",
  "parserOptions": {
    "ecmaVersion": 12,
    "sourceType": "module"
  },
  "plugins": ["@typescript-eslint", "prettier"],
  "rules": {
    "prettier/prettier": ["error", { "endOfLine": "auto" }],
    "import/extensions": [
      "error",
      "ignorePackages",
      {
        "js": "never",
        "ts": "never"
      }
    ],
    "no-underscore-dangle": ["error", { "allow": ["_id", "_json"] }],
    "@typescript-eslint/no-non-null-assertion": "off",
    "class-methods-use-this": "off"
  },
  "settings": {
    "import/resolver": {
      "typescript": {}
    }
  }
}
{
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "editor.formatOnSave": true,
  "editor.tabSize": 2
}