eslint-plugin-zillow
Version:
Zillow's ESLint config bundled into a "zero-conf" plugin
699 lines • 18.3 kB
JSON
{
"overrides": [
{
"files": [
"**/*.ts?(x)"
],
"env": {},
"globals": {},
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 2018,
"sourceType": "module",
"project": [
"./tsconfig.json"
]
},
"plugins": [
"zillow"
],
"rules": {
"spaced-comment": [
"error",
"always",
{
"line": {
"markers": [
"/"
]
}
}
],
"zillow/import/first": [
"off"
],
"zillow/react/jsx-filename-extension": [
"error",
{
"extensions": [
".js",
".jsx",
".tsx"
]
}
],
"zillow/react/prop-types": [
"off"
],
"zillow/react/sort-comp": [
"off"
],
"zillow/@typescript-eslint/array-type": [
"error"
],
"zillow/@typescript-eslint/ban-tslint-comment": [
"error"
],
"zillow/@typescript-eslint/class-literal-property-style": [
"error"
],
"zillow/@typescript-eslint/consistent-type-assertions": [
"error"
],
"zillow/@typescript-eslint/consistent-type-definitions": [
"error"
],
"zillow/@typescript-eslint/consistent-type-imports": [
"error",
{
"prefer": "type-imports",
"disallowTypeAnnotations": true
}
],
"default-param-last": [
"off"
],
"zillow/@typescript-eslint/default-param-last": [
"off"
],
"dot-notation": [
"off"
],
"zillow/@typescript-eslint/dot-notation": [
"error",
{
"allowKeywords": true,
"allowPrivateClassPropertyAccess": false,
"allowPattern": ""
}
],
"zillow/@typescript-eslint/explicit-function-return-type": [
"off"
],
"zillow/@typescript-eslint/explicit-member-accessibility": [
"error",
{
"accessibility": "no-public"
}
],
"init-declarations": [
"off"
],
"zillow/@typescript-eslint/init-declarations": [
"error",
"never",
{
"ignoreForLoopInit": true
}
],
"lines-between-class-members": [
"off"
],
"zillow/@typescript-eslint/lines-between-class-members": [
"error",
"always",
{
"exceptAfterSingleLine": false,
"exceptAfterOverload": true
}
],
"zillow/@typescript-eslint/member-ordering": [
"error"
],
"zillow/@typescript-eslint/method-signature-style": [
"error"
],
"camelcase": [
"off"
],
"zillow/@typescript-eslint/naming-convention": [
"error",
{
"selector": "default",
"format": [
"camelCase"
]
},
{
"selector": "variable",
"format": [
"camelCase",
"UPPER_CASE"
]
},
{
"selector": "variable",
"types": [
"function"
],
"format": [
"camelCase",
"PascalCase"
]
},
{
"selector": "function",
"format": [
"camelCase",
"PascalCase"
]
},
{
"selector": "parameter",
"format": [
"camelCase"
],
"leadingUnderscore": "allow"
},
{
"selector": "memberLike",
"format": [
"camelCase"
],
"modifiers": [
"private"
],
"leadingUnderscore": "require"
},
{
"selector": "memberLike",
"filter": "^TODO$",
"format": null
},
{
"selector": "property",
"filter": "^(Component|AppTree)$",
"format": null
},
{
"selector": "typeLike",
"format": [
"PascalCase"
]
},
{
"selector": "interface",
"custom": {
"regex": "^I[A-Z](?![A-Z])",
"match": false
},
"format": [
"PascalCase"
]
},
{
"selector": "method",
"filter": "^UNSAFE_",
"format": null
}
],
"zillow/@typescript-eslint/no-base-to-string": [
"error"
],
"zillow/@typescript-eslint/no-confusing-non-null-assertion": [
"error"
],
"zillow/@typescript-eslint/no-dupe-class-members": [
"off"
],
"zillow/@typescript-eslint/no-dynamic-delete": [
"error"
],
"zillow/@typescript-eslint/no-extra-non-null-assertion": [
"error"
],
"zillow/@typescript-eslint/no-extraneous-class": [
"error"
],
"zillow/@typescript-eslint/no-implicit-any-catch": [
"off",
{
"allowExplicitAny": false
}
],
"no-invalid-this": [
"off"
],
"zillow/@typescript-eslint/no-invalid-this": [
"error"
],
"zillow/@typescript-eslint/no-invalid-void-type": [
"error",
{
"allowInGenericTypeArguments": true
}
],
"no-loop-func": [
"off"
],
"zillow/@typescript-eslint/no-loop-func": [
"error"
],
"no-loss-of-precision": [
"off"
],
"zillow/@typescript-eslint/no-loss-of-precision": [
"error"
],
"no-magic-numbers": [
"off"
],
"zillow/@typescript-eslint/no-magic-numbers": [
"off",
{
"ignore": [],
"ignoreArrayIndexes": true,
"enforceConst": true,
"detectObjects": false,
"ignoreNumericLiteralTypes": true,
"ignoreReadonlyClassProperties": true
}
],
"zillow/@typescript-eslint/no-non-null-asserted-optional-chain": [
"error"
],
"zillow/@typescript-eslint/no-parameter-properties": [
"error"
],
"no-redeclare": [
"off"
],
"zillow/@typescript-eslint/no-redeclare": [
"error",
{
"builtinGlobals": true,
"ignoreDeclarationMerge": true
}
],
"no-shadow": [
"off"
],
"zillow/@typescript-eslint/no-shadow": [
"error",
{
"builtinGlobals": false,
"hoist": "functions",
"allow": [
"fetch",
"global"
],
"ignoreTypeValueShadow": true,
"ignoreFunctionTypeParameterNameValueShadow": true
}
],
"zillow/@typescript-eslint/no-require-imports": [
"error"
],
"zillow/@typescript-eslint/no-throw-literal": [
"error"
],
"zillow/@typescript-eslint/no-type-alias": [
"error",
{
"allowAliases": "always",
"allowCallbacks": "always",
"allowConditionalTypes": "never",
"allowConstructors": "never",
"allowLiterals": "in-intersections",
"allowMappedTypes": "never",
"allowTupleTypes": "never"
}
],
"zillow/@typescript-eslint/no-unnecessary-boolean-literal-compare": [
"error"
],
"zillow/@typescript-eslint/no-unnecessary-condition": [
"error"
],
"zillow/@typescript-eslint/no-unnecessary-qualifier": [
"error"
],
"zillow/@typescript-eslint/no-unnecessary-type-arguments": [
"error"
],
"no-unused-expressions": [
"off"
],
"zillow/@typescript-eslint/no-unused-expressions": [
"error"
],
"zillow/@typescript-eslint/no-unused-vars-experimental": [
"off"
],
"no-useless-constructor": [
"off"
],
"zillow/@typescript-eslint/no-useless-constructor": [
"error"
],
"zillow/@typescript-eslint/prefer-enum-initializers": [
"error"
],
"zillow/@typescript-eslint/prefer-for-of": [
"error"
],
"zillow/@typescript-eslint/prefer-function-type": [
"error"
],
"zillow/@typescript-eslint/prefer-includes": [
"error"
],
"zillow/@typescript-eslint/prefer-literal-enum-member": [
"error"
],
"zillow/@typescript-eslint/prefer-nullish-coalescing": [
"error"
],
"zillow/@typescript-eslint/prefer-optional-chain": [
"error"
],
"zillow/@typescript-eslint/prefer-readonly": [
"error"
],
"zillow/@typescript-eslint/prefer-readonly-parameter-types": [
"off"
],
"zillow/@typescript-eslint/prefer-reduce-type-parameter": [
"error"
],
"zillow/@typescript-eslint/prefer-string-starts-ends-with": [
"error"
],
"zillow/@typescript-eslint/prefer-ts-expect-error": [
"error"
],
"zillow/@typescript-eslint/promise-function-async": [
"error"
],
"zillow/@typescript-eslint/require-array-sort-compare": [
"error"
],
"no-return-await": [
"off"
],
"zillow/@typescript-eslint/return-await": [
"error"
],
"zillow/@typescript-eslint/strict-boolean-expressions": [
"off"
],
"zillow/@typescript-eslint/switch-exhaustiveness-check": [
"error"
],
"zillow/@typescript-eslint/typedef": [
"off"
],
"zillow/@typescript-eslint/unified-signatures": [
"error"
],
"zillow/@typescript-eslint/await-thenable": [
"error"
],
"zillow/@typescript-eslint/no-floating-promises": [
"error"
],
"zillow/@typescript-eslint/no-for-in-array": [
"error"
],
"zillow/@typescript-eslint/no-implied-eval": [
"error"
],
"zillow/@typescript-eslint/no-misused-promises": [
"error"
],
"zillow/@typescript-eslint/no-unnecessary-type-assertion": [
"error"
],
"zillow/@typescript-eslint/no-unsafe-assignment": [
"error"
],
"zillow/@typescript-eslint/no-unsafe-call": [
"error"
],
"zillow/@typescript-eslint/no-unsafe-member-access": [
"error"
],
"zillow/@typescript-eslint/no-unsafe-return": [
"error"
],
"zillow/@typescript-eslint/prefer-regexp-exec": [
"error"
],
"require-await": [
"off"
],
"zillow/@typescript-eslint/require-await": [
"error"
],
"zillow/@typescript-eslint/restrict-plus-operands": [
"error"
],
"zillow/@typescript-eslint/restrict-template-expressions": [
"error"
],
"zillow/@typescript-eslint/unbound-method": [
"error"
],
"zillow/@typescript-eslint/adjacent-overload-signatures": [
"error"
],
"zillow/@typescript-eslint/ban-ts-comment": [
"error",
{
"ts-expect-error": "allow-with-description",
"ts-ignore": true,
"ts-nocheck": true,
"ts-check": false,
"minimumDescriptionLength": 3
}
],
"zillow/@typescript-eslint/ban-types": [
"error",
{
"extendDefaults": true,
"types": {
"object": {
"fixWith": "Record<string, unknown>",
"message": "The `object` type is currently hard to use ([see this issue](https://github.com/microsoft/TypeScript/issues/21732)).\nConsider using `Record<string, unknown>` instead, as it allows you to more easily inspect and use the keys."
}
}
}
],
"zillow/@typescript-eslint/explicit-module-boundary-types": [
"off",
{
"allowArgumentsExplicitlyTypedAsAny": false,
"allowDirectConstAssertionInArrowFunctions": true,
"allowedNames": [],
"allowHigherOrderFunctions": true,
"allowTypedFunctionExpressions": true
}
],
"no-array-constructor": [
"off"
],
"zillow/@typescript-eslint/no-array-constructor": [
"error"
],
"no-empty-function": [
"off"
],
"zillow/@typescript-eslint/no-empty-function": [
"error",
{
"allow": [
"arrowFunctions",
"functions",
"methods"
]
}
],
"zillow/@typescript-eslint/no-empty-interface": [
"error"
],
"zillow/@typescript-eslint/no-explicit-any": [
"warn"
],
"zillow/@typescript-eslint/no-inferrable-types": [
"error"
],
"zillow/@typescript-eslint/no-misused-new": [
"error"
],
"zillow/@typescript-eslint/no-namespace": [
"error"
],
"zillow/@typescript-eslint/no-non-null-assertion": [
"warn"
],
"zillow/@typescript-eslint/no-this-alias": [
"error"
],
"no-unused-vars": [
"off"
],
"zillow/@typescript-eslint/no-unused-vars": [
"error",
{
"argsIgnorePattern": "^_",
"varsIgnorePattern": "^ignored",
"args": "after-used",
"ignoreRestSiblings": true
}
],
"no-use-before-define": [
"off"
],
"zillow/@typescript-eslint/no-use-before-define": [
"error",
{
"functions": false,
"typedefs": false
}
],
"zillow/@typescript-eslint/no-var-requires": [
"error"
],
"zillow/@typescript-eslint/prefer-as-const": [
"error"
],
"zillow/@typescript-eslint/prefer-namespace-keyword": [
"error"
],
"zillow/@typescript-eslint/triple-slash-reference": [
"error",
{
"lib": "never",
"path": "never",
"types": "prefer-import"
}
],
"constructor-super": [
"off"
],
"getter-return": [
"off"
],
"no-const-assign": [
"off"
],
"no-dupe-args": [
"off"
],
"no-dupe-class-members": [
"off"
],
"no-dupe-keys": [
"off"
],
"no-func-assign": [
"off"
],
"no-import-assign": [
"off"
],
"no-new-symbol": [
"off"
],
"no-obj-calls": [
"off"
],
"no-setter-return": [
"off"
],
"no-this-before-super": [
"off"
],
"no-undef": [
"off"
],
"no-unreachable": [
"off"
],
"no-unsafe-negation": [
"off"
],
"no-var": [
"error"
],
"prefer-const": [
"error"
],
"prefer-rest-params": [
"error"
],
"prefer-spread": [
"error"
],
"valid-typeof": [
"off"
],
"zillow/prettier/prettier": [
"error",
{
"$schema": "http://json.schemastore.org/prettierrc",
"arrowParens": "always",
"bracketSpacing": true,
"embeddedLanguageFormatting": "auto",
"jsxBracketSameLine": false,
"htmlWhitespaceSensitivity": "css",
"requirePragma": false,
"insertPragma": false,
"proseWrap": "preserve",
"semi": true,
"useTabs": false,
"endOfLine": "lf",
"printWidth": 100,
"singleQuote": true,
"tabWidth": 4,
"trailingComma": "es5",
"quoteProps": "consistent"
},
{
"usePrettierrc": false
}
],
"zillow/@typescript-eslint/quotes": [
"off"
],
"zillow/@typescript-eslint/brace-style": [
"off"
],
"zillow/@typescript-eslint/comma-spacing": [
"off"
],
"zillow/@typescript-eslint/func-call-spacing": [
"off"
],
"zillow/@typescript-eslint/indent": [
"off"
],
"zillow/@typescript-eslint/keyword-spacing": [
"off"
],
"zillow/@typescript-eslint/member-delimiter-style": [
"off"
],
"zillow/@typescript-eslint/no-extra-parens": [
"off"
],
"zillow/@typescript-eslint/no-extra-semi": [
"off"
],
"zillow/@typescript-eslint/semi": [
"off"
],
"zillow/@typescript-eslint/space-before-function-paren": [
"off"
],
"zillow/@typescript-eslint/type-annotation-spacing": [
"off"
],
"zillow/@typescript-eslint/comma-dangle": [
"off"
]
},
"settings": {}
}
]
}