@bmatei/eslint-config
v1.2.0
Published
Configurations for ESLint.
Downloads
155
Maintainers
Readme
ESLint Configuration
This package aims at creating universal configurations for ESLint that restricts the coding standards as much as possible. It is inspired but various rules packages but compiles everything into only one, dependency-free package.
Versions
@typescript-eslint/eslint-plugin
- 3.7.1@typescript-eslint/eslint-plugin-tslint
- 3.7.1@typescript-eslint/parser
- 3.7.1codelyzer
- 5.2.3eslint
- 7.6.0eslint-plugin-node
- not implemented yetprettier
- 2.0.5tslint
- 6.1.3
Rules Details
Possible Errors
getter-return
- disabled - TypeScriptno-dupe-args
- disabled - TypeScriptno-dupe-keys
- disabled - TypeScriptno-extra-parens
- disabled - Prettier, TypeScriptno-extra-semi
- disabled - Prettier, TypeScriptno-func-assign
- disabled - TypeScriptno-import-assign
- disabled - TypeScriptno-loss-of-precision
- disabled - TypeScriptno-obj-calls
- disabled - TypeScriptno-setter-return
- disabled - TypeScriptno-unexpected-multiline
- disabled - Prettierno-unreachable
- disabled - TypeScriptno-unsafe-negation
- disabled - TypeScriptvalid-typeof
- disabled - TypeScript
Best Practices
block-scoped-var
- disabled -no-var
class-methods-use-this
- disabled since we don't want to enforce static members in classescurly
- disabled - Prettierdefault-param-last
- disabled - TypeScriptdefault-case
- can be omitted locally with// No Default
dot-location
- disabled - Prettierdot-notation
- disabled - TypeScriptno-empty-function
- disabled - TypeScriptno-eq-null
- disabled -eqeqeq
no-extra-label
- disabled -no-labels
no-floating-decimal
- disabled - Prettierno-implicit-globals
- disabled -no-var
and using ES6 modulesno-invalid-this
- disabled - Angularno-magic-numbers
- disabled - TypeScriptno-multi-spaces
- disabled - Prettierno-redeclare
- disabled -no-var
and TypeScriptno-return-await
- disabled - TypeScriptno-restricted-properties
- disabled since we don't have anything to restrictno-unused-expressions
- disabled - TypeScriptno-unused-labels
- disabled -no-labels
no-throw-literal
- disabled - TypeScryptno-warning-comments
-FIXME
comments will fail buildsno-with
- disabled -strict
and TypeScriptrequire-await
- disabled - TypeScriptrequire-unicode-regexp
- disabled since we don't want to enforce unicode flag in RegExvars-on-top
- disabled -no-var
wrap-iife
- disabled - Prettier
Strict Mode
strict
- Strict mode is implied by default but disabled in TypeScript since we usealwaysStrict
flag intsconfig.json
Variables
init-declarations
- disabled since we don't want to enforce variables initialization, TypeScriptno-label-var
- disabled -no-labels
no-restricted-globals
- disabled since we don't have anything to restrictno-undef
- disabled - TypeScriptno-unused-vars
- disabled -no-var
, ES6 and TypeScriptno-use-before-define
- disabled -no-var
, ES6 and TypeScript
Stylistic Issues
array-bracket-newline
- disabled - Prettierarray-bracket-spacing
- disabled - Prettierarray-element-newline
- disabled - Prettierblock-spacing
- disabled - Prettierbrace-style
- disabled - Prettier, TypeScriptcamelcase
- disabled - TypeScriptcomma-dangle
- disabled - Prettiercomma-spacing
- disabled - Prettier, TypeScriptcomma-style
- disabled - Prettiercomputed-property-spacing
- disabled - Prettierconsistent-this
- disabled since we use target clean contextseol-last
- disabled - Prettierfunc-call-spacing
: disabled - Prettier, TypeScriptfunc-name-matching
: disabled -func-names
function-call-argument-newline
- disabled - Prettierfunction-paren-newline
- disabled - Prettierid-blacklist
- disabled since we don't have anything to blacklistid-match
- this should be enabledimplicit-arrow-linebreak
- disabled - Prettierindent
- disabled - Prettier, TypeScriptjsx-quotes
- disabled - Prettierkey-spacing
- disabled - Prettierkeyword-spacing
- disabled - Prettier, TypeScriptline-comment-position
- disabled since we allow line comments everywherelinebreak-style
- disabled - Prettierlines-around-comment
- disabled - Prettierlines-between-class-members
- disabled - TypeScriptmax-len
- disabled - Prettiermultiline-comment-style
- disabled since we allow both types of multiline commentsmultiline-ternary
- disabled - Prettiernewline-per-chained-call
- disabled - Prettiernew-parens
- disabled - Prettierno-array-constructor
- disabled - TypeScriptno-inline-comments
- disabled since we allow inline commentsno-mixed-operators
- disabled since we don't want to enforce unnecessary parens and Prettierno-mixed-spaces-and-tabs
- disabled -no-tabs
and Prettierno-multiple-empty-lines
- disabled - Prettierno-negated-condition
- disabled since we allow negated conditionsno-restricted-syntax
- disabled since we don't have anything to restrictno-tabs
- disabled - Prettierno-ternary
- disabled since we allow ternary operatorsno-trailing-spaces
- disabled - Prettierno-whitespace-before-property
- disabled - Prettiernonblock-statement-body-position
- disabled -curly
and Prettierobject-curly-newline
- disabled - Prettierobject-curly-spacing
- disabled - Prettierobject-property-newline
- disabled - Prettierone-var-declaration-per-line
- disabled - Prettieroperator-linebreak
- disabled - Prettierpadded-blocks
- disabled - Prettierpadding-line-between-statements
- might need adjustmentsquote-props
- disabled - Prettierquotes
- disabled - Prettier, TypeScriptsemi
- disabled - Prettiersemi-spacing
- disabled - Prettiersemi-style
- disabled - Prettiersort-keys
- disabled since we don't want to sort object keyssort-vars
- disabled since we don't want to sort variablesspace-before-blocks
- disabled - Prettierspace-before-function-paren
- disabled - Prettierspace-in-parens
- disabled - Prettierspace-infix-ops
- disabled - Prettierspace-unary-ops
- disabled - Prettierswitch-colon-spacing
- disabled - Prettiertemplate-tag-spacing
- disabled - Prettierunicode-bom
- disabled - Prettierwrap-regex
- disabled since we don't want to wrap RegEx expressions and Prettier
ECMAScript 6
arrow-body-style
- disabled - Prettierarrow-parens
- disabled - Prettierarrow-spacing
- disabled - Prettierconstructor-super
- disabled - TypeScriptgenerator-star-spacing
- disabled - Prettierno-confusing-arrow
- disabled - Prettierno-const-assign
- disabled - TypeScriptno-duple-class-members
- disabled - TypeScriptno-new-symbol
- disabled - TypeScriptno-restricted-exports
- disabled since there's nothing to restrictno-this-before-super
- disabled - TypeScriptno-useless-constructor
- disabled since we use dependency injection and TypeScriptprefer-arrow-callback
- disabled - Prettierrest-spread-spacing
- disabled - Prettiersort-imports
- this needs to be adjusted in the future as for the moment the rule can't separate imports via blank linestemplate-curly-spacing
- disabled - Prettieryield-star-spacing
- disabled - Prettier
TypeScript
@typescript-eslint/brace-style
- disabled - Prettier@typescript-eslint/class-literal-property-style
- disabled since we don't want to enforce a particular style@typescript-eslint/comma-spacing
- disabled - Prettier@typescript-eslint/explicit-module-boundary-types
- disabled since types are enforced on a global level@typescript-eslint/func-call-spacing
- disabled - Prettier@typescript-eslint/indent
- disabled - Prettier@typescript-eslint/init-declarations
- disabled since we don't want to enforce variables initialization@typescript-eslint/keyword-spacing
- disabled - Prettier@typescript-eslint/member-delimiter-style
- disabled - Prettier@typescript-eslint/member-ordering
- this can be improved drastically@typescript-eslint/no-explicit-any
- disabled since we allow any@typescript-eslint/no-extra-parens
- disabled - Prettier@typescript-eslint/no-extra-semi
- disabled - Prettier@typescript-eslint/no-floating-promises
- disabled - Angular@typescript-eslint/no-magic-numbers
- disabled as there are multiple edge cases where this can't be avoided and the code becomes extremely verbose@typescript-eslint/no-unnecessary-condition
- disabled for regular mode, but enabled for strict mode@typescript-eslint/no-unsafe-assignment
- disabled since we allow any@typescript-eslint/no-unsafe-call
- disabled as it is too strict@typescript-eslint/no-unsafe-member-access
- disabled as it is too strict@typescript-eslint/no-unsafe-return
- disabled as it is too strict@typescript-eslint/no-unused-vars
- disabled since this is reported by compiler@typescript-eslint/no-unused-vars-experimental
- disabled since this is reported by compiler@typescript-eslint/no-use-before-define
- disabled since this is reported by compiler@typescript-eslint/no-useless-constructor
- disabled since we use dependency injection@typescript-eslint/prefer-namespace-keyword
- disabled since we don't use namespace@typescript-eslint/prefer-readonly-parameter-types
- disabled since it is very verbose@typescript-eslint/prefer-ts-expect-error
- disabled -ban-ts-comment
@typescript-eslint/promise-function-async
- disabled - Angular@typescript-eslint/quotes
- disabled - Prettier@typescript-eslint/return-await
- disabled - NestJS@typescript-eslint/semi
- disabled - Prettier@typescript-eslint/space-before-function-paren
- disabled - Prettier@typescript-eslint/type-annotation-spacing
- disabled - Prettier@typescript-eslint/strict-boolean-expressions
- disabled since we want to allow short checks@typescript-eslint/typedef
- this should be updated accordingly