.eslintrc.json
{
"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"
}
}
]
}