neet/masto.js

View on GitHub
.eslintrc.json

Summary

Maintainability
Test Coverage
{
  "parser": "@typescript-eslint/parser",
  "extends": [
    "eslint:recommended",
    "plugin:import/recommended",
    "plugin:unicorn/recommended",
    "plugin:prettier/recommended"
  ],
  "plugins": ["import", "simple-import-sort"],
  "env": {
    "browser": true,
    "node": true
  },
  "rules": {
    "no-console": "error",
    "no-unused-vars": "off",
    "import/no-cycle": "error",
    "simple-import-sort/imports": "error",
    "unicorn/prevent-abbreviations": "off",
    "unicorn/no-array-reduce": "off"
  },
  "overrides": [
    {
      "files": "**/*.ts",
      "extends": [
        "plugin:@typescript-eslint/strict",
        "plugin:import/typescript",
        "plugin:prettier/recommended"
      ],
      "parserOptions": {
        "ecmaVersion": 9,
        "sourceType": "module",
        "project": "./tsconfig.json"
      },
      "rules": {
        "@typescript-eslint/explicit-module-boundary-types": "error",
        "@typescript-eslint/explicit-member-accessibility": [
          "error",
          { "accessibility": "no-public" }
        ],
        "@typescript-eslint/camelcase": "off",
        "@typescript-eslint/no-unused-vars": [
          "error",
          {
            "argsIgnorePattern": "^_",
            "varsIgnorePattern": "^_"
          }
        ],
        "@typescript-eslint/consistent-type-imports": [
          "error",
          { "prefer": "type-imports", "fixStyle": "inline-type-imports" }
        ],
        "no-restricted-imports": [
          "error",
          {
            "paths": [
              {
                "name": "ws",
                "message": "Use `isomophic-ws` instead."
              }
            ]
          }
        ]
      }
    },
    {
      "files": "examples/**",
      "parserOptions": {
        "project": "./examples/tsconfig.json"
      },
      "rules": {
        "no-console": "off",
        "import/no-unresolved": "off",
        "unicorn/prefer-top-level-await": "off",
        "unicorn/no-process-exit": "off"
      }
    },
    {
      "files": ["tests/**/*.ts", "test-utils/**/*.ts", "**/*.spec.ts"],
      "env": {
        "jest": true
      },
      "rules": {
        "no-constant-condition": "off"
      }
    }
  ]
}