extends: - "eslint:recommended" # - "plugin:node/recommended" # - "plugin:jsdoc/recommended" # - "plugin:eslint-comments/recommended" reportUnusedDisableDirectives: true parserOptions: ecmaVersion: 12 sourceType: module ecmaFeatures: jsx: true env: browser: true rules: array-bracket-spacing: error array-callback-return: error arrow-body-style: - error - as-needed arrow-parens: - error - as-needed arrow-spacing: error block-spacing: error brace-style: - error - 1tbs camelcase: error class-methods-use-this: error comma-dangle: error comma-spacing: error comma-style: - error - last computed-property-spacing: error consistent-return: error curly: - error - all default-case: error default-case-last: error default-param-last: error dot-location: - error - property dot-notation: - error - allowKeywords: true eol-last: error eqeqeq: error # eslint-comments/disable-enable-pair: # - error # eslint-comments/no-unused-disable: error # eslint-comments/require-description: error func-call-spacing: error func-style: - error - declaration function-call-argument-newline: - error - consistent function-paren-newline: - error - consistent generator-star-spacing: error grouped-accessor-pairs: error guard-for-in: error indent: - error - 4 - SwitchCase: 1 # jsdoc/check-access: error # jsdoc/check-alignment: error # jsdoc/check-line-alignment: # - error # - never # jsdoc/check-param-names: error # jsdoc/check-property-names: error # jsdoc/check-syntax: error # jsdoc/check-tag-names: error # jsdoc/check-types: error # jsdoc/check-values: # - error # - # allowedLicenses: true # jsdoc/empty-tags: error # jsdoc/implements-on-classes: error # jsdoc/multiline-blocks: error # jsdoc/newline-after-description: # - error # - never # jsdoc/no-bad-blocks: error # jsdoc/no-multi-asterisks: error # jsdoc/no-undefined-types: "off" # jsdoc/require-asterisk-prefix: error # jsdoc/require-description: # - error # - # checkConstructors: false # jsdoc/require-hyphen-before-param-description: # - error # - never # jsdoc/require-jsdoc: # - error # - # require: # ClassDeclaration: true # jsdoc/require-param: error # jsdoc/require-param-description: error # jsdoc/require-param-name: error # jsdoc/require-param-type: error # jsdoc/require-property: error # jsdoc/require-property-description: error # jsdoc/require-property-name: error # jsdoc/require-property-type: error # jsdoc/require-returns: # - error # - # forceRequireReturn: true # forceReturnsWithAsync: true # jsdoc/require-returns-check: error # jsdoc/require-returns-description: error # jsdoc/require-returns-type: error # jsdoc/require-throws: error # jsdoc/require-yields: "off" # jsdoc/require-yields-check: error # jsdoc/tag-lines: # - error # - never # - # tags: # example: # lines: always # fileoverview: # lines: any # jsdoc/valid-types: error key-spacing: - error - afterColon: true beforeColon: false keyword-spacing: error lines-around-comment: - error - afterBlockComment: false afterLineComment: false beforeBlockComment: true beforeLineComment: true max-len: - error - 160 - ignoreComments: true ignoreRegExpLiterals: true ignoreStrings: true ignoreTemplateLiterals: true ignoreUrls: true max-statements-per-line: error new-cap: error new-parens: error no-alert: error no-array-constructor: error no-caller: error no-confusing-arrow: error no-console: error no-constructor-return: error no-else-return: - error - allowElseIf: false no-eval: error no-extend-native: error no-extra-bind: error no-floating-decimal: error no-implied-eval: error no-invalid-this: error no-iterator: error no-label-var: error no-labels: error no-lone-blocks: error no-loop-func: error no-mixed-spaces-and-tabs: - error - false no-multi-spaces: error no-multi-str: error no-multiple-empty-lines: - error - max: 2 maxBOF: 0 maxEOF: 0 no-nested-ternary: error no-new: error no-new-func: error no-new-object: error no-new-wrappers: error no-octal-escape: error no-param-reassign: error no-process-exit: "off" no-proto: error no-restricted-properties: - error - message: "Use .slice instead of .substring." property: substring - message: "Use .slice instead of .substr." property: substr - message: "Use assert.strictEqual instead of assert.equal." object: assert property: equal - message: "Use assert.notStrictEqual instead of assert.notEqual." object: assert property: notEqual - message: "Use assert.deepStrictEqual instead of assert.deepEqual." object: assert property: deepEqual - message: "Use assert.notDeepStrictEqual instead of assert.notDeepEqual." object: assert property: notDeepEqual no-return-assign: error no-script-url: error no-self-compare: error no-sequences: error no-shadow: error no-tabs: error no-throw-literal: error no-trailing-spaces: error no-undef: - error - typeof: true no-undef-init: error no-undefined: error no-underscore-dangle: - error - allowAfterThis: true no-unmodified-loop-condition: error no-unneeded-ternary: error no-unreachable-loop: error no-unused-expressions: error no-unused-vars: - error - args: after-used caughtErrors: all vars: all no-use-before-define: error no-useless-call: error no-useless-computed-key: error no-useless-concat: error no-useless-constructor: error no-useless-rename: error no-useless-return: error no-var: error no-whitespace-before-property: error # node/callback-return: # - error # - # - cb # - callback # - next # node/handle-callback-err: # - error # - err # node/no-deprecated-api: error # node/no-mixed-requires: error # node/no-new-require: error # node/no-path-concat: error object-curly-newline: - error - consistent: true multiline: true object-curly-spacing: - error - always object-property-newline: - error - allowAllPropertiesOnSameLine: true object-shorthand: error one-var-declaration-per-line: error operator-assignment: error operator-linebreak: error padding-line-between-statements: - error - blankLine: always next: "*" prev: - const - let - var - blankLine: any next: - const - let - var prev: - const - let - var prefer-arrow-callback: error prefer-const: error prefer-exponentiation-operator: error prefer-numeric-literals: error prefer-promise-reject-errors: error prefer-regex-literals: error prefer-rest-params: error prefer-spread: error prefer-template: error quote-props: - error - as-needed quotes: - error - double - avoidEscape: true radix: error require-unicode-regexp: error rest-spread-spacing: error semi: error semi-spacing: - error - after: true before: false semi-style: error space-before-blocks: error space-before-function-paren: - error - anonymous: never asyncArrow: always named: never space-in-parens: error space-infix-ops: error space-unary-ops: - error - nonwords: false words: true spaced-comment: - error - always - exceptions: - "-" strict: - error - global switch-colon-spacing: error symbol-description: error template-curly-spacing: - error - never template-tag-spacing: error unicode-bom: error wrap-iife: error yield-star-spacing: error yoda: - error - never - exceptRange: true settings: jsdoc: preferredTypes: ? "*" : message: "Use a more precise type or if necessary use `any` or `ArbitraryCallbackResult`" replacement: any .<>: message: "Prefer type form without dot" replacement: <> Any: message: "Use a more precise type or if necessary use `any` or `ArbitraryCallbackResult`" replacement: any Promise: message: "Specify the specific Promise type, including, if necessary, the type `any`" array: Array function: message: "Point to a `@callback` namepath or `Function` if truly arbitrary in form" replacement: Function object: message: "Use the specific object type or `Object` if truly arbitrary" replacement: Object tagNamePreference: augments: extends class: constructor file: fileoverview