eslint-config-interfaced
Version:
ESLint config for the approaches adopted by Interfaced company
80 lines (79 loc) • 2.53 kB
YAML
accessor-pairs: "off"
array-callback-return: "error" # Works not only with arrays, but with every find/filter/etc... method
block-scoped-var: "error"
complexity: "off"
class-methods-use-this: "off"
consistent-return: "off" # Introduces a headache with Promise callbacks, also a little redundant with static typing
curly: "error"
default-case: "off"
default-case-last: "error"
default-param-last: "error"
dot-notation: "off" # GCC has its own rules regarding property access types
dot-location: ["error", "property"]
eqeqeq: "error"
grouped-accessor-pairs: "error"
guard-for-in: "error"
max-classes-per-file: "off"
no-alert: "error"
no-caller: "error"
no-case-declarations: "off"
no-constructor-return: "error"
no-div-regex: "off"
no-else-return: "error"
no-empty-function: ["error", { allow: ["methods"] }]
no-empty-pattern: "error"
no-eq-null: "off" # Redundant with eqeqeq
no-eval: "error"
no-extend-native: "error"
no-extra-bind: "error"
no-extra-label: "error"
no-fallthrough: "error"
no-floating-decimal: "error"
no-global-assign: "error"
no-implicit-coercion: "off"
no-implicit-globals: "off"
no-implied-eval: "error"
no-invalid-this: "error"
no-iterator: "error"
no-labels: "off"
no-lone-blocks: "error"
no-loop-func: "error"
no-magic-numbers: "off"
no-multi-spaces: "error"
no-multi-str: "error"
no-new: "off"
no-new-func: "error"
no-new-wrappers: "error"
no-octal: "error"
no-octal-escape: "error"
no-param-reassign: "off" # Redefined by interfaced/no-param-reassign to allow type casting
no-proto: "error"
no-redeclare: "error"
no-restricted-properties: "off"
no-return-assign: "error"
no-return-await: "error"
no-script-url: "error"
no-self-assign: "off" # Not suitable for typecasting (foo = / ** @type {T} * / (foo))
no-self-compare: "error"
no-sequences: "error"
no-throw-literal: "error"
no-unmodified-loop-condition: "off" # Introduces false positive reports
no-unused-expressions: "off" # Redefined by interfaced/no-unused-expressions to allow class property declaration
no-unused-labels: "error"
no-useless-catch: "error"
no-useless-call: "off"
no-useless-concat: "off"
no-useless-escape: "error"
no-useless-return: "error"
no-void: "error"
no-warning-comments: ["warn", { terms: ["todo"], location: "anywhere" }]
no-with: "error"
prefer-named-capture-group: "off" # TODO: discuss
prefer-promise-reject-errors: ["error", { allowEmptyReject: true }]
prefer-regex-literals: "error"
radix: "error"
require-await: "off"
require-unicode-regexp: "off"
vars-on-top: "off"
wrap-iife: ["error", "inside"]
yoda: "off"