| { |
| "root": true, |
| "plugins": [ |
| "jsdoc", |
| "node", |
| "promise", |
| "requirejs", |
| "sonarjs", |
| "unicorn" |
| ], |
| "extends": [ |
| "eslint:recommended", |
| "plugin:requirejs/recommended", |
| "plugin:node/recommended", |
| "plugin:unicorn/recommended" |
| ], |
| "env": { |
| "mocha": true, |
| "node": true, |
| "es6": true |
| }, |
| "rules": { |
| "comma-dangle": ["error", "always-multiline"], |
| "eol-last": ["error", "always"], |
| "eqeqeq": ["error", "smart"], |
| "indent": ["error", 4, {"SwitchCase": 1}], |
| "max-len": ["error", 120, {"ignoreRegExpLiterals": true}], |
| "max-statements": ["error", 50], |
| "no-control-regex": 0, |
| "no-useless-call": "error", |
| "no-useless-computed-key": "error", |
| "no-useless-concat": "error", |
| "no-useless-constructor": "error", |
| "no-useless-escape": "error", |
| "no-useless-rename": "error", |
| "no-useless-return": "error", |
| "quote-props": ["error", "as-needed"], |
| "quotes": ["error", "single", {"allowTemplateLiterals": true, "avoidEscape": true}], |
| "semi": ["error", "always"], |
| "space-before-function-paren": ["error", {"anonymous": "always", "asyncArrow": "always", "named": "never"}], |
| "yoda": ["error", "never", {"onlyEquality": true}], |
| "jsdoc/check-alignment": "warn", |
| "jsdoc/check-param-names": "warn", |
| "jsdoc/check-syntax": "warn", |
| "jsdoc/check-tag-names": "warn", |
| "jsdoc/check-types": "warn", |
| "jsdoc/empty-tags": "warn", |
| "jsdoc/newline-after-description": "warn", |
| "jsdoc/require-hyphen-before-param-description": "warn", |
| "jsdoc/valid-types": "warn", |
| "no-process-exit": "off", |
| "node/no-unpublished-require": "off", |
| "node/shebang": "off", |
| "promise/catch-or-return": "error", |
| "promise/no-new-statics": "error", |
| "promise/no-return-wrap": "error", |
| "promise/param-names": "error", |
| "promise/valid-params": "error", |
| "sonarjs/no-collection-size-mischeck": "error", |
| "sonarjs/no-redundant-boolean": "error", |
| "sonarjs/no-unused-collection": "error", |
| "sonarjs/prefer-immediate-return": "error", |
| "sonarjs/prefer-object-literal": "error", |
| "sonarjs/prefer-single-boolean-return": "error", |
| "unicorn/catch-error-name": "off", |
| "unicorn/consistent-function-scoping": "off", |
| "unicorn/no-fn-reference-in-iterator": "off", |
| "unicorn/no-hex-escape": "off", |
| "unicorn/no-null": "off", |
| "unicorn/no-reduce": "off", |
| "unicorn/prefer-add-event-listener": "off", |
| "unicorn/prefer-flat-map": "error", |
| "unicorn/prefer-optional-catch-binding": "off", |
| "unicorn/prefer-number-properties": "off", |
| "unicorn/prefer-string-slice": "off", |
| "unicorn/prevent-abbreviations": "off" |
| }, |
| "parserOptions": { |
| "ecmaVersion": 2018 |
| }, |
| "globals": { |
| "BigInt": true |
| } |
| } |