diff --git a/.eslintrc.yml b/.eslintrc.yml new file mode 100644 index 0000000..b932975 --- /dev/null +++ b/.eslintrc.yml @@ -0,0 +1,252 @@ +env: + node: true, + commonjs: true + es2021: true + browser: false + +extends: eslint:recommended +parserOptions: + ecmaVersion: 13 +rules: + accessor-pairs: error + array-bracket-newline: error + array-bracket-spacing: 'off' + array-callback-return: 'off' + array-element-newline: 'off' + arrow-body-style: error + arrow-parens: error + arrow-spacing: error + block-scoped-var: 'off' + block-spacing: + - error + - always + brace-style: 'off' + camelcase: 'off' + capitalized-comments: 'off' + class-methods-use-this: error + comma-dangle: 'off' + comma-spacing: 'off' + comma-style: + - error + - last + complexity: 'off' + computed-property-spacing: 'off' + consistent-return: 'off' + consistent-this: 'off' + curly: 'off' + default-case: error + default-case-last: error + default-param-last: error + dot-location: + - error + - property + dot-notation: 'off' + eol-last: error + eqeqeq: 'off' + func-call-spacing: error + func-name-matching: error + func-names: 'off' + func-style: 'off' + function-call-argument-newline: + - error + - consistent + function-paren-newline: 'off' + generator-star-spacing: error + grouped-accessor-pairs: error + guard-for-in: 'off' + id-denylist: error + id-length: 'off' + id-match: error + implicit-arrow-linebreak: error + indent: 'off' + init-declarations: 'off' + jsx-quotes: error + key-spacing: 'off' + keyword-spacing: 'off' + line-comment-position: 'off' + linebreak-style: + - error + - unix + lines-around-comment: error + lines-between-class-members: error + max-classes-per-file: error + max-depth: error + max-len: 'off' + max-lines: 'off' + max-lines-per-function: 'off' + max-nested-callbacks: error + max-params: error + max-statements: 'off' + max-statements-per-line: 'off' + multiline-comment-style: + - error + - separate-lines + multiline-ternary: + - error + - always-multiline + new-cap: error + new-parens: error + newline-per-chained-call: 'off' + no-alert: error + no-array-constructor: error + no-await-in-loop: error + no-bitwise: error + no-caller: error + no-cond-assign: + - error + - except-parens + no-confusing-arrow: error + no-console: 'off' + no-constructor-return: error + no-continue: error + no-div-regex: error + no-duplicate-imports: error + no-else-return: error + no-empty: + - error + - allowEmptyCatch: true + no-empty-function: error + no-eq-null: error + no-eval: error + no-extend-native: error + no-extra-bind: error + no-extra-label: error + no-extra-parens: 'off' + no-floating-decimal: error + no-implicit-coercion: error + no-implicit-globals: error + no-implied-eval: error + no-inline-comments: 'off' + no-inner-declarations: + - error + - functions + no-invalid-this: + - error + - capIsConstructor: true + no-iterator: error + no-label-var: error + no-labels: error + no-lone-blocks: error + no-lonely-if: error + no-loop-func: error + no-magic-numbers: 'off' + no-mixed-operators: error + no-multi-assign: error + no-multi-spaces: 'off' + no-multi-str: error + no-multiple-empty-lines: 'off' + no-negated-condition: error + 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: 'off' + no-plusplus: 'off' + no-promise-executor-return: error + no-proto: error + no-restricted-exports: error + no-restricted-globals: error + no-restricted-imports: error + no-restricted-properties: error + no-restricted-syntax: error + no-return-assign: 'off' + no-return-await: error + no-script-url: error + no-self-compare: error + no-sequences: error + no-shadow: 'off' + no-tabs: 'off' + no-template-curly-in-string: error + no-ternary: 'off' + no-throw-literal: error + no-trailing-spaces: error + no-undef-init: error + no-undefined: error + no-underscore-dangle: 'off' + no-unmodified-loop-condition: error + no-unneeded-ternary: error + no-unreachable-loop: error + no-unused-expressions: error + no-unused-private-class-members: error + no-use-before-define: 'off' + no-useless-call: error + no-useless-computed-key: error + no-useless-concat: error + no-useless-constructor: error + no-useless-rename: error + no-useless-return: 'off' + no-var: 'off' + no-void: 'off' + no-warning-comments: + - error + - location: start + no-whitespace-before-property: error + nonblock-statement-body-position: + - error + - any + object-curly-newline: error + object-curly-spacing: 'off' + object-shorthand: 'off' + one-var: 'off' + one-var-declaration-per-line: 'off' + operator-assignment: + - error + - always + operator-linebreak: + - error + - null + padded-blocks: 'off' + padding-line-between-statements: error + prefer-arrow-callback: 'off' + prefer-const: error + prefer-destructuring: 'off' + prefer-exponentiation-operator: error + prefer-named-capture-group: 'off' + prefer-numeric-literals: error + prefer-object-spread: error + prefer-promise-reject-errors: error + prefer-regex-literals: error + prefer-rest-params: 'off' + prefer-spread: 'off' + prefer-template: 'off' + quote-props: 'off' + quotes: 'off' + radix: error + require-atomic-updates: error + require-await: error + require-unicode-regexp: 'off' + rest-spread-spacing: error + semi: 'off' + semi-spacing: + - error + - after: true + before: false + semi-style: + - error + - last + sort-imports: error + sort-keys: 'off' + sort-vars: 'off' + space-before-blocks: error + space-before-function-paren: 'off' + space-in-parens: 'off' + space-infix-ops: 'off' + space-unary-ops: error + spaced-comment: 'off' + strict: 'off' + switch-colon-spacing: error + symbol-description: error + template-curly-spacing: error + template-tag-spacing: error + unicode-bom: + - error + - never + vars-on-top: 'off' + wrap-iife: error + wrap-regex: 'off' + yield-star-spacing: error + yoda: + - error + - never diff --git a/package.json b/package.json index 24c744e..c81875b 100644 --- a/package.json +++ b/package.json @@ -31,9 +31,11 @@ "commander": "^3.0.2" }, "devDependencies": { + "eslint": "^8.2.0", "mocha": "5.2.0" }, "scripts": { - "test": "mocha --timeout 100000 -S -R spec --exit" + "test": "mocha --timeout 100000 -S -R spec --exit", + "lint": "eslint lib" } }