env: es6: true node: true parserOptions: ecmaVersion: 2022 overrides: - files: [ '*.mjs' ] parserOptions: sourceType: module rules: no-restricted-globals: [ 2, require, __dirname ] ignorePatterns: - coverage/ - demo/ - dist/ - node_modules - support/demo_template/sample.js - benchmark/extra/ - rollup.config.js rules: accessor-pairs: 2 array-bracket-spacing: [ 2, "always", { "singleValue": true, "objectsInArrays": true, "arraysInArrays": true } ] block-scoped-var: 2 block-spacing: 2 brace-style: [ 2, '1tbs', { allowSingleLine: true } ] # Postponed #callback-return: 2 comma-dangle: 2 comma-spacing: 2 comma-style: 2 computed-property-spacing: [ 2, never ] consistent-this: [ 2, self ] consistent-return: 2 # ? change to multi curly: [ 2, 'multi-line' ] dot-notation: 2 eol-last: 2 eqeqeq: 2 func-style: [ 2, declaration ] # Postponed #global-require: 2 guard-for-in: 2 handle-callback-err: 2 indent: [ 2, 2, { VariableDeclarator: { var: 2, let: 2, const: 3 }, SwitchCase: 1, ignoreComments: true } ] # key-spacing: [ 2, { "align": "value" } ] keyword-spacing: 2 linebreak-style: 2 max-depth: [ 1, 6 ] max-nested-callbacks: [ 1, 4 ] # string can exceed 80 chars, but should not overflow github website :) max-len: [ 2, 120, 1000 ] new-cap: 2 new-parens: 2 # Postponed #newline-after-var: 2 no-alert: 2 no-array-constructor: 2 no-bitwise: 2 no-caller: 2 #no-case-declarations: 2 no-catch-shadow: 2 no-cond-assign: 2 no-console: 1 no-constant-condition: 2 #no-control-regex: 2 no-debugger: 2 no-delete-var: 2 no-div-regex: 2 no-dupe-args: 2 no-dupe-keys: 2 no-duplicate-case: 2 no-else-return: 2 # Tend to drop # no-empty: 1 no-empty-character-class: 2 no-empty-pattern: 2 no-eq-null: 2 no-eval: 2 no-ex-assign: 2 no-extend-native: 2 no-extra-bind: 2 no-extra-boolean-cast: 2 no-extra-semi: 2 no-fallthrough: 2 no-floating-decimal: 2 no-func-assign: 2 # Postponed #no-implicit-coercion: [2, { "boolean": true, "number": true, "string": true } ] no-implied-eval: 2 no-inner-declarations: 2 no-invalid-regexp: 2 no-irregular-whitespace: 2 no-iterator: 2 no-label-var: 2 no-labels: 2 no-lone-blocks: 2 no-lonely-if: 2 no-loop-func: 2 no-mixed-requires: 2 no-mixed-spaces-and-tabs: 2 # Postponed #no-native-reassign: 2 no-negated-in-lhs: 2 # Postponed #no-nested-ternary: 2 no-new: 2 no-new-func: 2 no-new-object: 2 no-new-require: 2 no-new-wrappers: 2 no-obj-calls: 2 no-octal: 2 no-octal-escape: 2 no-path-concat: 2 no-proto: 2 no-redeclare: 2 # Postponed #no-regex-spaces: 2 no-return-assign: 2 no-self-compare: 2 no-sequences: 2 no-shadow: 2 no-shadow-restricted-names: 2 no-sparse-arrays: 2 no-trailing-spaces: 2 no-undef: 2 no-undef-init: 2 no-undefined: 2 no-unexpected-multiline: 2 no-unreachable: 2 no-unused-expressions: 2 no-unused-vars: 2 no-use-before-define: 2 no-void: 2 no-with: 2 object-curly-spacing: [ 2, always, { "objectsInObjects": true, "arraysInObjects": true } ] operator-assignment: 1 # Postponed #operator-linebreak: [ 2, after ] semi: 2 semi-spacing: 2 space-before-function-paren: [ 2, { "anonymous": "always", "named": "never" } ] space-in-parens: [ 2, never ] space-infix-ops: 2 space-unary-ops: 2 # Postponed #spaced-comment: [ 1, always, { exceptions: [ '/', '=' ] } ] strict: [ 2, global ] quotes: [ 2, single, avoid-escape ] quote-props: [ 1, 'as-needed' ] radix: 2 use-isnan: 2 valid-typeof: 2 yoda: [ 2, never, { "exceptRange": true } ]