{ "root": true, "globals": { "AggregateError": false, "ArrayBuffer": false, "Atomics": false, "BigInt": false, "BigInt64Array": false, "BigUint64Array": false, "FinalizationRegistry": false, "globalThis": false, "Promise": false, "Proxy": false, "Map": false, "Reflect": false, "Set": false, "SharedArrayBuffer": false, "Symbol": false, "WeakMap": false, "WeakRef": false, "WeakSet": false }, "env": { "es6": false, "browser": false, "node": true, "amd": false, "mocha": false, "jasmine": false }, "reportUnusedDisableDirectives": true, "ignorePatterns": [ "coverage/", ".nyc_output/" ], "parserOptions": { "ecmaVersion": 3, "allowReserved": true, "sourceType": "script" }, "rules": { "accessor-pairs": [2, { "getWithoutSet": false, "setWithoutGet": true, "enforceForClassMembers": true }], "array-bracket-newline": [2, { "multiline": true, "minItems": 3 }], "array-bracket-spacing": [2, "never", { "singleValue": false, "objectsInArrays": false, "arraysInArrays": false }], "array-callback-return": [2], "array-element-newline": [2, "consistent"], "arrow-body-style": [2, "as-needed"], "arrow-parens": [2, "always"], "arrow-spacing": [2, { "before": true, "after": true }], "block-scoped-var": [0], "block-spacing": [2, "always"], "brace-style": [2, "1tbs", { "allowSingleLine": true }], "callback-return": [2, ["callback"]], "camelcase": [2, { "properties": "always", "ignoreDestructuring": false, "ignoreImports": false, "allow": [] }], "capitalized-comments": [0], "class-methods-use-this": [2, { "exceptMethods": [] }], "comma-dangle": [2, "never"], "comma-spacing": [2, { "before": false, "after": true }], "comma-style": [2, "last"], "complexity": [2, 20], "computed-property-spacing": [2, "never"], "consistent-return": [2], "consistent-this": [0, "that"], "constructor-super": [2], "curly": [2, "all"], "default-case": [2, { "commentPattern": "(?:)" }], "default-case-last": [2], "default-param-last": [2], "dot-location": [2, "property"], "dot-notation": [2, { "allowKeywords": false, "allowPattern": "throws" }], "eol-last": [2, "always"], "eqeqeq": [2], "for-direction": [2], "function-call-argument-newline": [2, "consistent"], "func-call-spacing": [2, "never"], "func-names": [0, "always", { "generators": "always" }], "func-name-matching": [2, "never", { "includeCommonJSModuleExports": false, "considerPropertyDescriptor": true }], "func-style": [2, "expression"], "function-paren-newline": [2, "multiline"], "generator-star-spacing": [2, { "before": false, "after": true, "anonymous": { "before": false, "after": true }, "method": { "before": false, "after": true }, "named": { "before": false, "after": true } }], "getter-return": [2, { "allowImplicit": true }], "global-require": [2], "grouped-accessor-pairs": [2, "getBeforeSet"], "guard-for-in": [0], "handle-callback-err": [0], "id-blacklist": [0], "id-denylist": [2, "native"], "id-length": [2, { "min": 1, "max": 20, "properties": "never" }], "id-match": [0], "implicit-arrow-linebreak": [2, "beside"], "indent": [2, "tab", { "SwitchCase": 1, "VariableDeclarator": 1, "outerIIFEBody": 1, "FunctionDeclaration": { "parameters": 1, "body": 1 }, "FunctionExpression": { "parameters": 1, "body": 1 }, "CallExpression": { "arguments": 1 }, "ArrayExpression": 1, "ObjectExpression": 1, "ImportDeclaration": 1, "flatTernaryExpressions": false, "ignoredNodes": [ "JSXElement", "JSXElement > *", "JSXAttribute", "JSXIdentifier", "JSXNamespacedName", "JSXMemberExpression", "JSXSpreadAttribute", "JSXExpressionContainer", "JSXOpeningElement", "JSXClosingElement", "JSXText", "JSXEmptyExpression", "JSXSpreadChild", "JSXFragment", "JSXOpeningFragment", "JSXClosingFragment" ] }], "init-declarations": [0, "always"], "jsx-quotes": [2, "prefer-double"], "key-spacing": [2, { "beforeColon": false, "afterColon": true, "mode": "strict" }], "keyword-spacing": [2, { "before": true, "after": true, "overrides": { "return": { "after": true }, "throw": { "after": true }, "case": { "after": true } } }], "linebreak-style": [2, "unix"], "line-comment-position": [0, { "position": "beside", "ignorePattern": "", "applyDefaultPatterns": true }], "lines-around-comment": [2, { "beforeBlockComment": false, "afterBlockComment": false, "beforeLineComment": false, "allowBlockStart": true, "allowBlockEnd": true }], "lines-around-directive": [2, { "before": "always", "after": "always" }], "lines-between-class-members": [2, "always", { "exceptAfterSingleLine": false }], "max-classes-per-file": [0, 1], "max-depth": [2, 4], "max-len": [2, 120, 4, { "ignoreUrls": true, "ignoreComments": true, "ignoreRegExpLiterals": true, "ignoreStrings": true, "ignoreTemplateLiterals": true }], "max-lines-per-function": [2, { "max": 50, "skipBlankLines": true, "skipComments": true, "IIFEs": true }], "max-lines": [2, { "max": 300, "skipBlankLines": true, "skipComments": true }], "max-nested-callbacks": [2, 2], "max-params": [2, 3], "max-statements": [2, 30], "max-statements-per-line": [2, { "max": 1 }], "multiline-comment-style": [2, "starred-block"], "multiline-ternary": [0, "always-multiline"], "new-parens": [2], "new-cap": [2, { "capIsNewExceptions": ["Symbol", "BigInt"] }], "newline-after-var": [0], "newline-before-return": [0], "newline-per-chained-call": [2, { "ignoreChainWithDepth": 6 }], "no-alert": [2], "no-array-constructor": [2], "no-async-promise-executor": [2], "no-await-in-loop": [2], "no-compare-neg-zero": [2], "no-confusing-arrow": [2], "no-bitwise": [0], "no-buffer-constructor": [2], "no-caller": [2], "no-case-declarations": [2], "no-catch-shadow": [2], "no-class-assign": [2], "no-cond-assign": [2], "no-console": [2], "no-const-assign": [2], "no-constant-condition": [2], "no-constructor-return": [2], "no-continue": [2], "no-control-regex": [2], "no-debugger": [2], "no-delete-var": [2], "no-div-regex": [2], "no-dupe-args": [2], "no-dupe-class-members": [2], "no-dupe-else-if": [2], "no-dupe-keys": [2], "no-duplicate-case": [2], "no-duplicate-imports": [2, { "includeExports": false }], "no-else-return": [2], "no-empty": [2, { "allowEmptyCatch": true }], "no-empty-character-class": [2], "no-empty-function": [2, { "allow": ["arrowFunctions", "functions"] }], "no-empty-pattern": [2], "no-eq-null": [0], "no-eval": [2], "no-ex-assign": [2], "no-extend-native": [2], "no-extra-bind": [2], "no-extra-boolean-cast": [2], "no-extra-label": [2], "no-extra-parens": [2, "all", { "conditionalAssign": false, "nestedBinaryExpressions": false, "returnAssign": false, "ignoreJSX": "all", "enforceForArrowConditionals": false, "enforceForSequenceExpressions": true, "enforceForNewInMemberExpressions": false }], "no-extra-semi": [2], "no-fallthrough": [2], "no-floating-decimal": [2], "no-func-assign": [2], "no-implied-eval": [2], "no-implicit-coercion": [2, { "boolean": false, "number": true, "string": true, "disallowTemplateShorthand": false, "allow": [] }], "no-implicit-globals": [2], "no-import-assign": [2], "no-inline-comments": [0], "no-inner-declarations": [2, "functions"], "no-invalid-regexp": [2, { "allowConstructorFlags": ["u", "y"] }], "no-invalid-this": [2], "no-irregular-whitespace": [2], "no-iterator": [2], "no-label-var": [2], "no-labels": [2, { "allowLoop": false, "allowSwitch": false }], "no-lone-blocks": [2], "no-lonely-if": [2], "no-loop-func": [2], "no-loss-of-precision": [2], "no-magic-numbers": [1, { "ignore": [], "enforceConst": false, "detectObjects": true }], "no-misleading-character-class": [2], "no-mixed-operators": [2, { "groups": [ ["+", "-", "*", "/", "%", "**"], ["&", "|", "^", "~", "<<", ">>", ">>>"], ["==", "!=", "===", "!==", ">", ">=", "<", "<="], ["&&", "||"], ["in", "instanceof"] ], "allowSamePrecedence": true }], "no-mixed-requires": [0, false], "no-mixed-spaces-and-tabs": [2, false], "no-multi-assign": [2, { "ignoreNonDeclaration": false }], "no-multi-spaces": [2, { "ignoreEOLComments": false }], "no-multi-str": [2], "no-multiple-empty-lines": [2, { "max": 1, "maxEOF": 1 }], "no-global-assign": [2, { "exceptions": [] }], "no-native-reassign": [2], "no-negated-condition": [2], "no-negated-in-lhs": [2], "no-nested-ternary": [0], "no-new": [2], "no-new-func": [2], "no-new-object": [2], "no-new-require": [0], "no-new-symbol": [2], "no-new-wrappers": [2], "no-nonoctal-decimal-escape": [2], "no-obj-calls": [2], "no-octal": [2], "no-octal-escape": [2], "no-param-reassign": [2, { "props": true, "ignorePropertyModificationsFor": [], "ignorePropertyModificationsForRegex": [] }], "no-path-concat": [0], "no-plusplus": [2, { "allowForLoopAfterthoughts": true }], "no-process-env": [0], "no-process-exit": [2], "no-promise-executor-return": [2], "no-proto": [2], "no-prototype-builtins": [2], "no-redeclare": [2], "prefer-regex-literals": [2], "no-regex-spaces": [2], "no-restricted-globals": [0], "no-restricted-exports": [2, { "restrictedNamedExports": ["then"] }], "no-restricted-imports": [0], "no-restricted-modules": [0], "no-restricted-properties": [2, { "object": "Symbol", "property": "for", "message": "Symbol.for is unshimmable" }, { "object": "arguments", "property": "callee", "message": "arguments.callee is deprecated" }, { "property": "__defineGetter__", "message": "Please use Object.defineProperty instead." }, { "property": "__defineSetter__", "message": "Please use Object.defineProperty instead." }], "no-restricted-syntax": [2, "BreakStatement", "ContinueStatement", "DebuggerStatement", "ForInStatement", "LabeledStatement", "WithStatement"], "no-return-assign": [2, "always"], "no-return-await": [2], "no-script-url": [2], "no-self-assign": [2, { "props": true }], "no-self-compare": [0], "no-setter-return": [2], "no-sequences": [2, { "allowInParentheses": false }], "no-shadow": [2, { "builtinGlobals": false, "hoist": "functions", "allow": [] }], "no-shadow-restricted-names": [2], "no-spaced-func": [2], "no-sparse-arrays": [2], "no-sync": [0], "no-tabs": [0], "no-template-curly-in-string": [2], "no-ternary": [0], "no-this-before-super": [2], "no-throw-literal": [2], "no-trailing-spaces": [2, { "skipBlankLines": false, "ignoreComments": false }], "no-undef": [2, { "typeof": true }], "no-undef-init": [2], "no-undefined": [0], "no-underscore-dangle": [2, { "allow": [], "allowAfterThis": false, "allowAfterSuper": false, "allowAfterThisConstructor": false, "enforceInMethodNames": true }], "no-unexpected-multiline": [2], "no-unmodified-loop-condition": [2], "no-unneeded-ternary": [2], "no-unreachable": [2], "no-unreachable-loop": [2], "no-unsafe-finally": [2], "no-unsafe-negation": [2, { "enforceForOrderingRelations": true }], "no-unsafe-optional-chaining": [2], "no-unused-expressions": [2, { "allowShortCircuit": false, "allowTernary": false, "allowTaggedTemplates": true, "enforceForJSX": true }], "no-unused-labels": [2], "no-unused-private-class-members": [2], "no-unused-vars": [2, { "vars": "all", "args": "after-used" }], "no-use-before-define": [2], "no-useless-backreference": [2], "no-useless-call": [2], "no-useless-catch": [2], "no-useless-computed-key": [2, { "enforceForClassMembers": true }], "no-useless-concat": [2], "no-useless-constructor": [2], "no-useless-escape": [2], "no-useless-rename": [2, { "ignoreDestructuring": false, "ignoreImport": false, "ignoreExport": false }], "no-useless-return": [2], "no-var": [0], "no-void": [0], "no-warning-comments": [0, { "terms": ["todo", "fixme", "xxx"], "location": "start" }], "no-whitespace-before-property": [2], "no-with": [2], "nonblock-statement-body-position": [2, "beside"], "object-curly-newline": [2, { "ObjectExpression": { "multiline": true, "consistent": true, "minProperties": 3 }, "ObjectPattern": { "multiline": true, "consistent": true, "minProperties": 3 } }], "object-curly-spacing": [2, "always"], "object-property-newline": [0, { "allowMultiplePropertiesPerLine": true }], "object-shorthand": [2, "never"], "one-var": [0], "one-var-declaration-per-line": [2, "initializations"], "operator-assignment": [0, "always"], "operator-linebreak": [2, "none", { "overrides": { "?": "before", ":": "before", "&&": "before", "||": "before" } }], "padded-blocks": [0], "padding-line-between-statements": [0], "prefer-arrow-callback": [0, { "allowNamedFunctions": true, "allowUnboundThis": true }], "prefer-const": [0, { "destructuring": "any", "ignoreReadBeforeAssign": true }], "prefer-destructuring": [0, { "VariableDeclarator": { "array": false, "object": true }, "AssignmentExpression": { "array": true, "object": true } }, { "enforceForRenamedProperties": false }], "prefer-exponentiation-operator": [0], "prefer-named-capture-group": [0], "prefer-numeric-literals": [0], "prefer-object-has-own": [0], "prefer-object-spread": [0], "prefer-promise-reject-errors": [2, { "allowEmptyReject": true }], "prefer-reflect": [0], "prefer-rest-params": [0], "prefer-spread": [0], "prefer-template": [0], "quote-props": [2, "as-needed", { "keywords": true }], "quotes": [2, "single", "avoid-escape"], "radix": [2], "require-atomic-updates": [2, { "allowProperties": true }], "require-await": [0], "require-jsdoc": [0], "require-unicode-regexp": [0], "require-yield": [2], "rest-spread-spacing": [2, "never"], "semi": [2], "semi-spacing": [2, { "before": false, "after": true }], "semi-style": [2, "last"], "sort-imports": [0], "sort-keys": [2, "asc", { "caseSensitive": false, "natural": true }], "sort-vars": [0], "space-before-blocks": [2, { "functions": "always", "keywords": "always", "classes": "always" }], "space-before-function-paren": [2, { "anonymous": "always", "named": "never", "asyncArrow": "always" }], "space-in-brackets": [0, "never", { "singleValue": true, "arraysInArrays": false, "arraysInObjects": false, "objectsInArrays": true, "objectsInObjects": true, "propertyName": false }], "space-in-parens": [2, "never"], "space-infix-ops": [2], "space-unary-ops": [2, { "words": true, "nonwords": false }], "spaced-comment": [2, "always", { "markers": ["!"] }], "spaced-line-comment": [0, "always"], "strict": [2, "global"], "switch-colon-spacing": [2, { "after": true, "before": false }], "symbol-description": [2], "template-curly-spacing": [2, "never"], "template-tag-spacing": [2, "never"], "unicode-bom": [2, "never"], "use-isnan": [2, { "enforceForSwitchCase": true }], "valid-jsdoc": [0], "valid-typeof": [2], "vars-on-top": [0], "wrap-iife": [2, "outside", { "functionPrototypeMethods": true }], "wrap-regex": [2], "yield-star-spacing": [2, { "before": false, "after": true }], "yoda": [2, "never", { "exceptRange": true, "onlyEquality": false }] }, "overrides": [ { "files": "test/**", "extends": "./tests" }, { "files": "bin/**", "rules": { "no-console": [0], "no-process-env": [0], "no-process-exit": [2] } }, { "files": "**/*.mjs", "extends": "./esm" } ] }