XYOracleNetwork/sdk-archivist-nodejs

View on GitHub
.eslintrc

Summary

Maintainability
Test Coverage
{
  "root": true,
  "parser": "@typescript-eslint/parser",
  "ignorePatterns": ["node_modules/", "build/"],
  "plugins": [
    "@typescript-eslint",
    "prettier",
    "sort-keys-fix",
    "typescript-sort-keys",
    "json",
    "workspaces",
    "import",
    "simple-import-sort",
    "no-secrets"
  ],
  "extends": [
    "eslint:recommended",
    "plugin:import/errors",
    "plugin:import/warnings",
    "plugin:import/typescript",
    "plugin:@typescript-eslint/recommended",
    "plugin:json/recommended",
    "plugin:prettier/recommended",
    "plugin:workspaces/recommended"
  ],
  "settings": {
    "import/parsers": {
      "@typescript-eslint/parser": [".ts", ".tsx"]
    }
  },
  "rules": {
    "no-secrets/no-secrets": ["off"],
    "workspaces/require-dependency": ["off"],
    "prettier/prettier": "warn",
    "semi": ["warn", "never"],
    "@typescript-eslint/semi": ["warn", "never"],

    "no-tabs": ["error"],
    "@typescript-eslint/member-delimiter-style": [
      "error",
      {
        "multiline": {
          "delimiter": "none",
          "requireLast": true
        },
        "singleline": {
          "delimiter": "semi",
          "requireLast": false
        }
      }
    ],
    "require-await": "error",
    "sort-keys": ["warn", "asc", { "caseSensitive": true, "natural": false, "minKeys": 2 }],
    "typescript-sort-keys/interface": "warn",
    "typescript-sort-keys/string-enum": "warn",
    "sort-keys-fix/sort-keys-fix": "warn",
    "no-unused-vars": "off",
    "@typescript-eslint/no-unused-vars": ["warn", { "argsIgnorePattern": "^_" }],
    "@typescript-eslint/no-explicit-any": "off",
    "@typescript-eslint/explicit-module-boundary-types": "off",
    "quotes": [2, "single", "avoid-escape"],
    "max-statements": ["error", 32],
    "max-depth": ["error", 6],
    "complexity": ["error", 20],
    "max-lines": ["error", { "max": 512, "skipBlankLines": true }],
    "max-nested-callbacks": ["error", 6],
    "import/no-named-as-default": ["off"],
    "import/no-self-import": ["warn"],
    "import/no-absolute-path": ["warn"],
    "import/no-internal-modules": [ "off", {
      "allow": [
        "react-icons/*",
        "*/img/**",
        "source-map-support/*",
        "lodash/*",
        "@material-ui/**",
        "aws-sdk/**",
        "firebase/**",
        "@ethersproject/**",
        "aos/**",
        "filepond*/**",
        "pure-react-carousel/**",
        "mapbox-gl/**",
        "react-share/**",
        "sdk-xyoworld-typechain/**",
        "react-git-info/**",
        "react-player/**"
      ]
    } ],
    "import/no-restricted-paths": ["warn"],
    "import/namespace": ["warn"],
    "import/no-cycle": ["warn"],
    "import/no-useless-path-segments": ["warn"],
    "simple-import-sort/imports": ["warn"],
    "simple-import-sort/exports": ["warn"],
    "workspaces/no-relative-imports": ["off"],
    "workspaces/no-absolute-imports": ["off"]
  }
}