UNPKG

@fluidframework/eslint-config-fluid

Version:

Shareable ESLint config for the Fluid Framework

2,060 lines (2,059 loc) 49 kB
{ "env": { "browser": true, "es2024": false, "es6": true, "node": true }, "globals": { "Atomics": "readonly", "SharedArrayBuffer": "readonly" }, "ignorePatterns": [ "**/packageVersion.ts" ], "parserOptions": { "ecmaFeatures": { "jsx": true }, "ecmaVersion": 2018, "project": "./tsconfig.json", "sourceType": "module" }, "plugins": [ "import-x", "eslint-comments", "@fluid-internal/fluid", "unicorn", "unused-imports", "tsdoc", "promise", "jsdoc", "@typescript-eslint", "@rushstack/security", "@rushstack" ], "reportUnusedDisableDirectives": true, "rules": { "@babel/object-curly-spacing": [ "off" ], "@babel/semi": [ "off" ], "@fluid-internal/fluid/no-file-path-links-in-jsdoc": [ "error" ], "@fluid-internal/fluid/no-hyphen-after-jsdoc-tag": [ "off" ], "@fluid-internal/fluid/no-markdown-links-in-jsdoc": [ "error" ], "@fluid-internal/fluid/no-member-release-tags": [ "error" ], "@fluid-internal/fluid/no-unchecked-record-access": [ "error" ], "@rushstack/no-new-null": [ "warn" ], "@rushstack/typedef-var": [ "off" ], "@stylistic/array-bracket-newline": [ "off" ], "@stylistic/array-bracket-spacing": [ "off" ], "@stylistic/array-element-newline": [ "off" ], "@stylistic/arrow-parens": [ "off" ], "@stylistic/arrow-spacing": [ "off" ], "@stylistic/block-spacing": [ "off" ], "@stylistic/brace-style": [ "off" ], "@stylistic/comma-dangle": [ "off" ], "@stylistic/comma-spacing": [ "off" ], "@stylistic/comma-style": [ "off" ], "@stylistic/computed-property-spacing": [ "off" ], "@stylistic/dot-location": [ "off" ], "@stylistic/eol-last": [ "off" ], "@stylistic/func-call-spacing": [ "off" ], "@stylistic/function-call-argument-newline": [ "off" ], "@stylistic/function-call-spacing": [ "off" ], "@stylistic/function-paren-newline": [ "off" ], "@stylistic/generator-star-spacing": [ "off" ], "@stylistic/implicit-arrow-linebreak": [ "off" ], "@stylistic/indent": [ "off" ], "@stylistic/indent-binary-ops": [ "off" ], "@stylistic/js/array-bracket-newline": [ "off" ], "@stylistic/js/array-bracket-spacing": [ "off" ], "@stylistic/js/array-element-newline": [ "off" ], "@stylistic/js/arrow-parens": [ "off" ], "@stylistic/js/arrow-spacing": [ "off" ], "@stylistic/js/block-spacing": [ "off" ], "@stylistic/js/brace-style": [ "off" ], "@stylistic/js/comma-dangle": [ "off" ], "@stylistic/js/comma-spacing": [ "off" ], "@stylistic/js/comma-style": [ "off" ], "@stylistic/js/computed-property-spacing": [ "off" ], "@stylistic/js/dot-location": [ "off" ], "@stylistic/js/eol-last": [ "off" ], "@stylistic/js/func-call-spacing": [ "off" ], "@stylistic/js/function-call-argument-newline": [ "off" ], "@stylistic/js/function-call-spacing": [ "off" ], "@stylistic/js/function-paren-newline": [ "off" ], "@stylistic/js/generator-star-spacing": [ "off" ], "@stylistic/js/implicit-arrow-linebreak": [ "off" ], "@stylistic/js/indent": [ "off" ], "@stylistic/js/jsx-quotes": [ "off" ], "@stylistic/js/key-spacing": [ "off" ], "@stylistic/js/keyword-spacing": [ "off" ], "@stylistic/js/linebreak-style": [ "off" ], "@stylistic/js/lines-around-comment": [ 0 ], "@stylistic/js/max-len": [ 0 ], "@stylistic/js/max-statements-per-line": [ "off" ], "@stylistic/js/multiline-ternary": [ "off" ], "@stylistic/js/new-parens": [ "off" ], "@stylistic/js/newline-per-chained-call": [ "off" ], "@stylistic/js/no-confusing-arrow": [ 0 ], "@stylistic/js/no-extra-parens": [ "off" ], "@stylistic/js/no-extra-semi": [ "off" ], "@stylistic/js/no-floating-decimal": [ "off" ], "@stylistic/js/no-mixed-operators": [ 0 ], "@stylistic/js/no-mixed-spaces-and-tabs": [ "off" ], "@stylistic/js/no-multi-spaces": [ "off" ], "@stylistic/js/no-multiple-empty-lines": [ "off" ], "@stylistic/js/no-tabs": [ 0 ], "@stylistic/js/no-trailing-spaces": [ "off" ], "@stylistic/js/no-whitespace-before-property": [ "off" ], "@stylistic/js/nonblock-statement-body-position": [ "off" ], "@stylistic/js/object-curly-newline": [ "off" ], "@stylistic/js/object-curly-spacing": [ "off" ], "@stylistic/js/object-property-newline": [ "off" ], "@stylistic/js/one-var-declaration-per-line": [ "off" ], "@stylistic/js/operator-linebreak": [ "off" ], "@stylistic/js/padded-blocks": [ "off" ], "@stylistic/js/quote-props": [ "off" ], "@stylistic/js/quotes": [ 0 ], "@stylistic/js/rest-spread-spacing": [ "off" ], "@stylistic/js/semi": [ "off" ], "@stylistic/js/semi-spacing": [ "off" ], "@stylistic/js/semi-style": [ "off" ], "@stylistic/js/space-before-blocks": [ "off" ], "@stylistic/js/space-before-function-paren": [ "off" ], "@stylistic/js/space-in-parens": [ "off" ], "@stylistic/js/space-infix-ops": [ "off" ], "@stylistic/js/space-unary-ops": [ "off" ], "@stylistic/js/switch-colon-spacing": [ "off" ], "@stylistic/js/template-curly-spacing": [ "off" ], "@stylistic/js/template-tag-spacing": [ "off" ], "@stylistic/js/wrap-iife": [ "off" ], "@stylistic/js/wrap-regex": [ "off" ], "@stylistic/js/yield-star-spacing": [ "off" ], "@stylistic/jsx-child-element-spacing": [ "off" ], "@stylistic/jsx-closing-bracket-location": [ "off" ], "@stylistic/jsx-closing-tag-location": [ "off" ], "@stylistic/jsx-curly-newline": [ "off" ], "@stylistic/jsx-curly-spacing": [ "off" ], "@stylistic/jsx-equals-spacing": [ "off" ], "@stylistic/jsx-first-prop-new-line": [ "off" ], "@stylistic/jsx-indent": [ "off" ], "@stylistic/jsx-indent-props": [ "off" ], "@stylistic/jsx-max-props-per-line": [ "off" ], "@stylistic/jsx-newline": [ "off" ], "@stylistic/jsx-one-expression-per-line": [ "off" ], "@stylistic/jsx-props-no-multi-spaces": [ "off" ], "@stylistic/jsx-quotes": [ "off" ], "@stylistic/jsx-tag-spacing": [ "off" ], "@stylistic/jsx-wrap-multilines": [ "off" ], "@stylistic/jsx/jsx-child-element-spacing": [ "off" ], "@stylistic/jsx/jsx-closing-bracket-location": [ "off" ], "@stylistic/jsx/jsx-closing-tag-location": [ "off" ], "@stylistic/jsx/jsx-curly-newline": [ "off" ], "@stylistic/jsx/jsx-curly-spacing": [ "off" ], "@stylistic/jsx/jsx-equals-spacing": [ "off" ], "@stylistic/jsx/jsx-first-prop-new-line": [ "off" ], "@stylistic/jsx/jsx-indent": [ "off" ], "@stylistic/jsx/jsx-indent-props": [ "off" ], "@stylistic/jsx/jsx-max-props-per-line": [ "off" ], "@stylistic/key-spacing": [ "off" ], "@stylistic/keyword-spacing": [ "off" ], "@stylistic/linebreak-style": [ "off" ], "@stylistic/lines-around-comment": [ 0 ], "@stylistic/max-len": [ 0 ], "@stylistic/max-statements-per-line": [ "off" ], "@stylistic/member-delimiter-style": [ "off" ], "@stylistic/multiline-ternary": [ "off" ], "@stylistic/new-parens": [ "off" ], "@stylistic/newline-per-chained-call": [ "off" ], "@stylistic/no-confusing-arrow": [ 0 ], "@stylistic/no-extra-parens": [ "off" ], "@stylistic/no-extra-semi": [ "off" ], "@stylistic/no-floating-decimal": [ "off" ], "@stylistic/no-mixed-operators": [ 0 ], "@stylistic/no-mixed-spaces-and-tabs": [ "off" ], "@stylistic/no-multi-spaces": [ "off" ], "@stylistic/no-multiple-empty-lines": [ "off" ], "@stylistic/no-tabs": [ 0 ], "@stylistic/no-trailing-spaces": [ "off" ], "@stylistic/no-whitespace-before-property": [ "off" ], "@stylistic/nonblock-statement-body-position": [ "off" ], "@stylistic/object-curly-newline": [ "off" ], "@stylistic/object-curly-spacing": [ "off" ], "@stylistic/object-property-newline": [ "off" ], "@stylistic/one-var-declaration-per-line": [ "off" ], "@stylistic/operator-linebreak": [ "off" ], "@stylistic/padded-blocks": [ "off" ], "@stylistic/quote-props": [ "off" ], "@stylistic/quotes": [ 0 ], "@stylistic/rest-spread-spacing": [ "off" ], "@stylistic/semi": [ "off" ], "@stylistic/semi-spacing": [ "off" ], "@stylistic/semi-style": [ "off" ], "@stylistic/space-before-blocks": [ "off" ], "@stylistic/space-before-function-paren": [ "off" ], "@stylistic/space-in-parens": [ "off" ], "@stylistic/space-infix-ops": [ "off" ], "@stylistic/space-unary-ops": [ "off" ], "@stylistic/switch-colon-spacing": [ "off" ], "@stylistic/template-curly-spacing": [ "off" ], "@stylistic/template-tag-spacing": [ "off" ], "@stylistic/ts/block-spacing": [ "off" ], "@stylistic/ts/brace-style": [ "off" ], "@stylistic/ts/comma-dangle": [ "off" ], "@stylistic/ts/comma-spacing": [ "off" ], "@stylistic/ts/func-call-spacing": [ "off" ], "@stylistic/ts/function-call-spacing": [ "off" ], "@stylistic/ts/indent": [ "off" ], "@stylistic/ts/key-spacing": [ "off" ], "@stylistic/ts/keyword-spacing": [ "off" ], "@stylistic/ts/lines-around-comment": [ 0 ], "@stylistic/ts/member-delimiter-style": [ "off" ], "@stylistic/ts/no-extra-parens": [ "off" ], "@stylistic/ts/no-extra-semi": [ "off" ], "@stylistic/ts/object-curly-spacing": [ "off" ], "@stylistic/ts/quotes": [ 0 ], "@stylistic/ts/semi": [ "off" ], "@stylistic/ts/space-before-blocks": [ "off" ], "@stylistic/ts/space-before-function-paren": [ "off" ], "@stylistic/ts/space-infix-ops": [ "off" ], "@stylistic/ts/type-annotation-spacing": [ "off" ], "@stylistic/type-annotation-spacing": [ "off" ], "@stylistic/type-generic-spacing": [ "off" ], "@stylistic/type-named-tuple-spacing": [ "off" ], "@stylistic/wrap-iife": [ "off" ], "@stylistic/wrap-regex": [ "off" ], "@stylistic/yield-star-spacing": [ "off" ], "@typescript-eslint/adjacent-overload-signatures": [ "error" ], "@typescript-eslint/array-type": [ "error" ], "@typescript-eslint/await-thenable": [ "error" ], "@typescript-eslint/ban-ts-comment": [ "error" ], "@typescript-eslint/ban-tslint-comment": [ "error" ], "@typescript-eslint/ban-types": [ "off" ], "@typescript-eslint/block-spacing": [ "off" ], "@typescript-eslint/brace-style": [ "off" ], "@typescript-eslint/class-literal-property-style": [ "error" ], "@typescript-eslint/comma-dangle": [ "off", "always-multiline" ], "@typescript-eslint/comma-spacing": [ "off" ], "@typescript-eslint/consistent-generic-constructors": [ "off" ], "@typescript-eslint/consistent-indexed-object-style": [ "off" ], "@typescript-eslint/consistent-type-assertions": [ "error", { "assertionStyle": "as", "objectLiteralTypeAssertions": "never" } ], "@typescript-eslint/consistent-type-definitions": [ "error" ], "@typescript-eslint/consistent-type-exports": [ "off" ], "@typescript-eslint/consistent-type-imports": [ "off" ], "@typescript-eslint/dot-notation": [ "error" ], "@typescript-eslint/explicit-function-return-type": [ "off" ], "@typescript-eslint/explicit-member-accessibility": [ "off" ], "@typescript-eslint/explicit-module-boundary-types": [ "off" ], "@typescript-eslint/func-call-spacing": [ "off" ], "@typescript-eslint/indent": [ "off" ], "@typescript-eslint/key-spacing": [ "off" ], "@typescript-eslint/keyword-spacing": [ "off" ], "@typescript-eslint/lines-around-comment": [ 0 ], "@typescript-eslint/member-delimiter-style": [ "off" ], "@typescript-eslint/member-ordering": [ "off" ], "@typescript-eslint/naming-convention": [ "error", { "selector": "accessor", "modifiers": [ "private" ], "format": [ "camelCase" ], "leadingUnderscore": "allow" } ], "@typescript-eslint/no-array-constructor": [ "error" ], "@typescript-eslint/no-base-to-string": [ "error" ], "@typescript-eslint/no-confusing-non-null-assertion": [ "error" ], "@typescript-eslint/no-duplicate-enum-values": [ "error" ], "@typescript-eslint/no-duplicate-type-constituents": [ "off" ], "@typescript-eslint/no-dynamic-delete": [ "error" ], "@typescript-eslint/no-empty-function": [ "off" ], "@typescript-eslint/no-empty-interface": [ "off" ], "@typescript-eslint/no-empty-object-type": [ "error" ], "@typescript-eslint/no-explicit-any": [ "off" ], "@typescript-eslint/no-extra-non-null-assertion": [ "error" ], "@typescript-eslint/no-extra-parens": [ "off" ], "@typescript-eslint/no-extra-semi": [ "off" ], "@typescript-eslint/no-extraneous-class": [ "error" ], "@typescript-eslint/no-floating-promises": [ "error" ], "@typescript-eslint/no-for-in-array": [ "error" ], "@typescript-eslint/no-implied-eval": [ "error" ], "@typescript-eslint/no-inferrable-types": [ "off" ], "@typescript-eslint/no-invalid-this": [ "off" ], "@typescript-eslint/no-loss-of-precision": [ "error" ], "@typescript-eslint/no-magic-numbers": [ "off" ], "@typescript-eslint/no-misused-new": [ "error" ], "@typescript-eslint/no-misused-promises": [ "error" ], "@typescript-eslint/no-namespace": [ "error" ], "@typescript-eslint/no-non-null-asserted-optional-chain": [ "error" ], "@typescript-eslint/no-non-null-assertion": [ "error" ], "@typescript-eslint/no-redundant-type-constituents": [ "off" ], "@typescript-eslint/no-require-imports": [ "error" ], "@typescript-eslint/no-restricted-imports": [ "error", { "paths": [ { "name": "assert", "importNames": [ "default" ], "message": "Use `strict` instead. E.g. `import { strict as assert } from \"node:assert\";`" }, { "name": "node:assert", "importNames": [ "default" ], "message": "Use `strict` instead. E.g. `import { strict as assert } from \"node:assert\";`" } ], "patterns": [ { "group": [ "./index.js", "**/../index.js" ], "message": "Importing from a parent index file tends to cause cyclic dependencies. Import from a more specific sibling file instead." } ] } ], "@typescript-eslint/no-shadow": [ "error", { "hoist": "all", "ignoreTypeValueShadow": true } ], "@typescript-eslint/no-this-alias": [ "error" ], "@typescript-eslint/no-throw-literal": [ "error" ], "@typescript-eslint/no-unnecessary-qualifier": [ "error" ], "@typescript-eslint/no-unnecessary-type-arguments": [ "error" ], "@typescript-eslint/no-unnecessary-type-assertion": [ "error" ], "@typescript-eslint/no-unnecessary-type-constraint": [ "error" ], "@typescript-eslint/no-unsafe-argument": [ "off" ], "@typescript-eslint/no-unsafe-assignment": [ "off" ], "@typescript-eslint/no-unsafe-call": [ "off" ], "@typescript-eslint/no-unsafe-declaration-merging": [ "error" ], "@typescript-eslint/no-unsafe-enum-comparison": [ "off" ], "@typescript-eslint/no-unsafe-function-type": [ "error" ], "@typescript-eslint/no-unsafe-member-access": [ "off" ], "@typescript-eslint/no-unsafe-return": [ "error" ], "@typescript-eslint/no-unused-expressions": [ "error" ], "@typescript-eslint/no-unused-vars": [ "off" ], "@typescript-eslint/no-use-before-define": [ "off" ], "@typescript-eslint/no-var-requires": [ "error" ], "@typescript-eslint/no-wrapper-object-types": [ "error" ], "@typescript-eslint/non-nullable-type-assertion-style": [ "off" ], "@typescript-eslint/object-curly-spacing": [ "off" ], "@typescript-eslint/prefer-as-const": [ "error" ], "@typescript-eslint/prefer-for-of": [ "error" ], "@typescript-eslint/prefer-function-type": [ "error" ], "@typescript-eslint/prefer-includes": [ "error" ], "@typescript-eslint/prefer-namespace-keyword": [ "error" ], "@typescript-eslint/prefer-nullish-coalescing": [ "error" ], "@typescript-eslint/prefer-optional-chain": [ "error" ], "@typescript-eslint/prefer-readonly": [ "error" ], "@typescript-eslint/prefer-string-starts-ends-with": [ "error" ], "@typescript-eslint/promise-function-async": [ "error" ], "@typescript-eslint/quotes": [ 0, "double", { "allowTemplateLiterals": true, "avoidEscape": true } ], "@typescript-eslint/require-await": [ "off" ], "@typescript-eslint/restrict-plus-operands": [ "error" ], "@typescript-eslint/restrict-template-expressions": [ "off" ], "@typescript-eslint/return-await": [ "error" ], "@typescript-eslint/semi": [ "off", "always" ], "@typescript-eslint/space-before-blocks": [ "off" ], "@typescript-eslint/space-before-function-paren": [ "off", { "anonymous": "never", "asyncArrow": "always", "named": "never" } ], "@typescript-eslint/space-infix-ops": [ "off" ], "@typescript-eslint/strict-boolean-expressions": [ "error" ], "@typescript-eslint/triple-slash-reference": [ "error" ], "@typescript-eslint/type-annotation-spacing": [ "off" ], "@typescript-eslint/typedef": [ "off" ], "@typescript-eslint/unbound-method": [ "error", { "ignoreStatic": true } ], "@typescript-eslint/unified-signatures": [ "off" ], "array-bracket-newline": [ "off" ], "array-bracket-spacing": [ "off" ], "array-element-newline": [ "off" ], "arrow-body-style": [ "off" ], "arrow-parens": [ "off", "always" ], "arrow-spacing": [ "off" ], "babel/object-curly-spacing": [ "off" ], "babel/quotes": [ 0 ], "babel/semi": [ "off" ], "block-spacing": [ "off" ], "brace-style": [ "off" ], "camelcase": [ "off" ], "capitalized-comments": [ "off" ], "comma-dangle": [ "off" ], "comma-spacing": [ "off" ], "comma-style": [ "off" ], "complexity": [ "off" ], "computed-property-spacing": [ "off" ], "constructor-super": [ "error" ], "curly": [ 0 ], "default-case": [ "error" ], "dot-location": [ "off" ], "dot-notation": [ "off" ], "eol-last": [ "off" ], "eqeqeq": [ "error", "smart" ], "eslint-comments/disable-enable-pair": [ "error", { "allowWholeFile": true } ], "eslint-comments/no-aggregating-enable": [ "error" ], "eslint-comments/no-duplicate-disable": [ "error" ], "eslint-comments/no-unlimited-disable": [ "error" ], "eslint-comments/no-unused-enable": [ "error" ], "flowtype/boolean-style": [ "off" ], "flowtype/delimiter-dangle": [ "off" ], "flowtype/generic-spacing": [ "off" ], "flowtype/object-type-curly-spacing": [ "off" ], "flowtype/object-type-delimiter": [ "off" ], "flowtype/quotes": [ "off" ], "flowtype/semi": [ "off" ], "flowtype/space-after-type-colon": [ "off" ], "flowtype/space-before-generic-bracket": [ "off" ], "flowtype/space-before-type-colon": [ "off" ], "flowtype/union-intersection-spacing": [ "off" ], "for-direction": [ "error" ], "func-call-spacing": [ "off" ], "function-call-argument-newline": [ "off" ], "function-paren-newline": [ "off" ], "generator-star": [ "off" ], "generator-star-spacing": [ "off" ], "getter-return": [ "off" ], "guard-for-in": [ "error" ], "id-match": [ "error" ], "implicit-arrow-linebreak": [ "off" ], "import-x/default": [ "error" ], "import-x/export": [ "error" ], "import-x/named": [ "off" ], "import-x/namespace": [ "error" ], "import-x/no-default-export": [ "error" ], "import-x/no-deprecated": [ "error" ], "import-x/no-duplicates": [ "warn" ], "import-x/no-extraneous-dependencies": [ "error" ], "import-x/no-internal-modules": [ "error", { "allow": [ "@fluid-example/*/internal", "@fluid-experimental/*/internal", "@fluid-internal/*/internal", "@fluid-private/*/internal", "@fluid-tools/*/internal", "@fluidframework/*/internal", "@fluid-experimental/**", "*/index.js" ] } ], "import-x/no-named-as-default": [ "warn" ], "import-x/no-named-as-default-member": [ "warn" ], "import-x/no-nodejs-modules": [ "error" ], "import-x/no-unassigned-import": [ "error" ], "import-x/no-unresolved": [ "error", { "caseSensitive": true } ], "import-x/no-unused-modules": [ "error" ], "import-x/order": [ "error", { "newlines-between": "ignore", "groups": [ [ "builtin", "external", "internal", "parent", "sibling", "index" ] ], "distinctGroup": true, "sortTypesGroup": false, "named": false, "warnOnUnassignedImports": false } ], "indent": [ "off" ], "indent-legacy": [ "off" ], "jsdoc/check-access": [ "error" ], "jsdoc/check-examples": [ "off" ], "jsdoc/check-indentation": [ "error" ], "jsdoc/check-line-alignment": [ "warn" ], "jsdoc/check-tag-names": [ "off" ], "jsdoc/empty-tags": [ "error" ], "jsdoc/no-bad-blocks": [ "error" ], "jsdoc/require-asterisk-prefix": [ "error" ], "jsdoc/require-hyphen-before-param-description": [ "error" ], "jsdoc/require-param-description": [ "error" ], "jsdoc/require-returns-description": [ "error" ], "jsx-quotes": [ "off" ], "key-spacing": [ "off" ], "keyword-spacing": [ "off" ], "linebreak-style": [ "off" ], "lines-around-comment": [ 0 ], "max-classes-per-file": [ "off" ], "max-len": [ "error", { "code": 120, "ignoreTrailingComments": true, "ignoreUrls": true, "ignoreStrings": true, "ignoreTemplateLiterals": true, "ignoreRegExpLiterals": true } ], "max-lines": [ "off" ], "max-statements-per-line": [ "off" ], "multiline-ternary": [ "off" ], "new-parens": [ "off" ], "newline-per-chained-call": [ "off" ], "no-array-constructor": [ "off" ], "no-arrow-condition": [ "off" ], "no-async-promise-executor": [ "error" ], "no-bitwise": [ "error" ], "no-caller": [ "error" ], "no-case-declarations": [ "error" ], "no-class-assign": [ "error" ], "no-comma-dangle": [ "off" ], "no-compare-neg-zero": [ "error" ], "no-cond-assign": [ "error" ], "no-confusing-arrow": [ 0 ], "no-const-assign": [ "off" ], "no-constant-condition": [ "error" ], "no-control-regex": [ "error" ], "no-debugger": [ "off" ], "no-delete-var": [ "error" ], "no-dupe-args": [ "off" ], "no-dupe-class-members": [ "off" ], "no-dupe-else-if": [ "error" ], "no-dupe-keys": [ "off" ], "no-duplicate-case": [ "error" ], "no-duplicate-imports": [ "off" ], "no-empty": [ "off" ], "no-empty-character-class": [ "error" ], "no-empty-function": [ "off" ], "no-empty-pattern": [ "error" ], "no-eval": [ "error" ], "no-ex-assign": [ "error" ], "no-extra-boolean-cast": [ "error" ], "no-extra-parens": [ "off" ], "no-extra-semi": [ "off" ], "no-fallthrough": [ "off" ], "no-floating-decimal": [ "off" ], "no-func-assign": [ "off" ], "no-global-assign": [ "error" ], "no-implied-eval": [ "off" ], "no-import-assign": [ "off" ], "no-inner-declarations": [ "error" ], "no-invalid-regexp": [ "error" ], "no-invalid-this": [ "off" ], "no-irregular-whitespace": [ "error" ], "no-loss-of-precision": [ "off" ], "no-magic-numbers": [ "off" ], "no-misleading-character-class": [ "error" ], "no-mixed-operators": [ 0 ], "no-mixed-spaces-and-tabs": [ "off" ], "no-multi-spaces": [ "error", { "ignoreEOLComments": true } ], "no-multi-str": [ "off" ], "no-multiple-empty-lines": [ "off", { "max": 1, "maxBOF": 0, "maxEOF": 0 } ], "no-nested-ternary": [ "off" ], "no-new-func": [ "error" ], "no-new-native-nonconstructor": [ "off" ], "no-new-symbol": [ "off" ], "no-new-wrappers": [ "error" ], "no-nonoctal-decimal-escape": [ "error" ], "no-obj-calls": [ "off" ], "no-octal": [ "error" ], "no-octal-escape": [ "error" ], "no-param-reassign": [ "error" ], "no-prototype-builtins": [ "error" ], "no-redeclare": [ "off" ], "no-regex-spaces": [ "error" ], "no-reserved-keys": [ "off" ], "no-restricted-syntax": [ "error", { "selector": "ExportAllDeclaration", "message": "Exporting * is not permitted. You should export only named items you intend to export." }, "ForInStatement" ], "no-self-assign": [ "error" ], "no-sequences": [ "error" ], "no-setter-return": [ "off" ], "no-shadow": [ "off" ], "no-shadow-restricted-names": [ "error" ], "no-space-before-semi": [ "off" ], "no-spaced-func": [ "off" ], "no-sparse-arrays": [ "error" ], "no-tabs": [ 0 ], "no-template-curly-in-string": [ "error" ], "no-this-before-super": [ "off" ], "no-throw-literal": [ "off" ], "no-trailing-spaces": [ "off" ], "no-undef": [ "off" ], "no-undef-init": [ "error" ], "no-underscore-dangle": [ "off" ], "no-unexpected-multiline": [ 0 ], "no-unreachable": [ "off" ], "no-unsafe-finally": [ "error" ], "no-unsafe-negation": [ "off" ], "no-unsafe-optional-chaining": [ "error" ], "no-unused-expressions": [ "off" ], "no-unused-labels": [ "error" ], "no-unused-vars": [ "off" ], "no-useless-backreference": [ "error" ], "no-useless-catch": [ "error" ], "no-useless-escape": [ "error" ], "no-var": [ "error" ], "no-void": [ "off" ], "no-whitespace-before-property": [ "off" ], "no-with": [ "error" ], "no-wrap-func": [ "off" ], "nonblock-statement-body-position": [ "off" ], "object-curly-newline": [ "off" ], "object-curly-spacing": [ "off" ], "object-property-newline": [ "off" ], "object-shorthand": [ "error" ], "one-var": [ "error", "never" ], "one-var-declaration-per-line": [ "off" ], "operator-linebreak": [ "off" ], "padded-blocks": [ "off", "never" ], "padding-line-between-statements": [ "off", { "blankLine": "always", "prev": "*", "next": "return" } ], "prefer-arrow-callback": [ "error" ], "prefer-const": [ "error" ], "prefer-object-spread": [ "error" ], "prefer-promise-reject-errors": [ "error" ], "prefer-rest-params": [ "error" ], "prefer-spread": [ "error" ], "prefer-template": [ "error" ], "promise/param-names": [ "warn" ], "quote-props": [ "off", "consistent-as-needed" ], "quotes": [ 0 ], "radix": [ "error" ], "react/jsx-child-element-spacing": [ "off" ], "react/jsx-closing-bracket-location": [ "off" ], "react/jsx-closing-tag-location": [ "off" ], "react/jsx-curly-newline": [ "off" ], "react/jsx-curly-spacing": [ "off" ], "react/jsx-equals-spacing": [ "off" ], "react/jsx-first-prop-new-line": [ "off" ], "react/jsx-indent": [ "off" ], "react/jsx-indent-props": [ "off" ], "react/jsx-max-props-per-line": [ "off" ], "react/jsx-newline": [ "off" ], "react/jsx-one-expression-per-line": [ "off" ], "react/jsx-props-no-multi-spaces": [ "off" ], "react/jsx-space-before-closing": [ "off" ], "react/jsx-tag-spacing": [ "off" ], "react/jsx-wrap-multilines": [ "off" ], "require-atomic-updates": [ "off" ], "require-await": [ "off" ], "require-yield": [ "error" ], "rest-spread-spacing": [ "off" ], "semi": [ "off" ], "semi-spacing": [ "off" ], "semi-style": [ "off" ], "space-after-function-name": [ "off" ], "space-after-keywords": [ "off" ], "space-before-blocks": [ "off" ], "space-before-function-paren": [ "off" ], "space-before-function-parentheses": [ "off" ], "space-before-keywords": [ "off" ], "space-in-brackets": [ "off" ], "space-in-parens": [ "off", "never" ], "space-infix-ops": [ "off" ], "space-return-throw-case": [ "off" ], "space-unary-ops": [ "off" ], "space-unary-word-ops": [ "off" ], "spaced-comment": [ "error", "always", { "block": { "markers": [ "!" ], "balanced": true } } ], "standard/array-bracket-even-spacing": [ "off" ], "standard/computed-property-even-spacing": [ "off" ], "standard/object-curly-even-spacing": [ "off" ], "switch-colon-spacing": [ "off" ], "template-curly-spacing": [ "off" ], "template-tag-spacing": [ "off" ], "tsdoc/syntax": [ "error" ], "unicorn/better-regex": [ "error" ], "unicorn/empty-brace-spaces": [ "off" ], "unicorn/expiring-todo-comments": [ "off" ], "unicorn/filename-case": [ "error", { "cases": { "camelCase": true, "pascalCase": true } } ], "unicorn/no-for-loop": [ "off" ], "unicorn/no-nested-ternary": [ "off" ], "unicorn/no-new-buffer": [ "error" ], "unicorn/number-literal-case": [ "off" ], "unicorn/prefer-switch": [ "error" ], "unicorn/prefer-ternary": [ "error" ], "unicorn/prefer-type-error": [ "error" ], "unicorn/template-indent": [ 0 ], "unused-imports/no-unused-imports": [ "error" ], "use-isnan": [ "error" ], "valid-typeof": [ "error" ], "vue/array-bracket-newline": [ "off" ], "vue/array-bracket-spacing": [ "off" ], "vue/array-element-newline": [ "off" ], "vue/arrow-spacing": [ "off" ], "vue/block-spacing": [ "off" ], "vue/block-tag-newline": [ "off" ], "vue/brace-style": [ "off" ], "vue/comma-dangle": [ "off" ], "vue/comma-spacing": [ "off" ], "vue/comma-style": [ "off" ], "vue/dot-location": [ "off" ], "vue/func-call-spacing": [ "off" ], "vue/html-closing-bracket-newline": [ "off" ], "vue/html-closing-bracket-spacing": [ "off" ], "vue/html-end-tags": [ "off" ], "vue/html-indent": [ "off" ], "vue/html-quotes": [ "off" ], "vue/html-self-closing": [ 0 ], "vue/key-spacing": [ "off" ], "vue/keyword-spacing": [ "off" ], "vue/max-attributes-per-line": [ "off" ], "vue/max-len": [ 0 ], "vue/multiline-html-element-content-newline": [ "off" ], "vue/multiline-ternary": [ "off" ], "vue/mustache-interpolation-spacing": [ "off" ], "vue/no-extra-parens": [ "off" ], "vue/no-multi-spaces": [ "off" ], "vue/no-spaces-around-equal-signs-in-attribute": [ "off" ], "vue/object-curly-newline": [ "off" ], "vue/object-curly-spacing": [ "off" ], "vue/object-property-newline": [ "off" ], "vue/operator-linebreak": [ "off" ], "vue/quote-props": [ "off" ], "vue/script-indent": [ "off" ], "vue/singleline-html-element-content-newline": [ "off" ], "vue/space-in-parens": [ "off" ], "vue/space-infix-ops": [ "off" ], "vue/space-unary-ops": [ "off" ], "vue/template-curly-spacing": [ "off" ], "wrap-iife": [ "off" ], "wrap-regex": [ "off" ], "yield-star-spacing": [ "off" ], "yoda": [ "off" ] }, "settings": { "import-x/extensions": [ ".ts", ".tsx", ".d.ts", ".js", ".jsx", ".jsx", ".cjs", ".mjs" ], "import-x/external-module-folders": [ "node_modules", "node_modules/@types" ], "import-x/parsers": { "@typescript-eslint/parser": [ ".ts", ".tsx", ".d.ts", ".cts", ".mts" ] }, "import-x/resolver": { "typescript": { "extensions": [ ".ts", ".tsx", ".d.ts", ".js", ".jsx" ], "conditionNames": [ "allow-ff-test-exports", "types", "import", "esm2020", "es2020", "es2015", "require", "node", "node-addons", "browser", "default" ] } }, "jsdoc": { "mode": "typescript", "tagNamePreference": { "arg": { "message": "Please use @param instead of @arg.", "replacement": "param" }, "argument": { "message": "Please use @param instead of @argument.", "replacement": "param" }, "return": { "message": "Please use @returns instead of @return.", "replacement": "returns" } } } } }