@fluidframework/eslint-config-fluid
Version:
Shareable ESLint config for the Fluid Framework
2,559 lines (2,558 loc) • 42.8 kB
JSON
{
"language": "@/js",
"languageOptions": {
"ecmaVersion": 2026,
"parser": "typescript-eslint/parser@8.54.0",
"parserOptions": {
"project": null,
"projectService": true
},
"sourceType": "module"
},
"linterOptions": {
"reportUnusedDisableDirectives": 1
},
"plugins": [
"@",
"@typescript-eslint:@typescript-eslint/eslint-plugin@8.54.0",
"import-x:eslint-plugin-import-x@4.16.1",
"@eslint-community/eslint-comments",
"@fluid-internal/fluid",
"@rushstack",
"jsdoc",
"promise",
"tsdoc",
"unicorn:eslint-plugin-unicorn@54.0.0",
"unused-imports:unused-imports",
"depend:eslint-plugin-depend@1.4.0",
"no-only-tests"
],
"rules": {
"@babel/object-curly-spacing": [
"off"
],
"@babel/semi": [
"off"
],
"@eslint-community/eslint-comments/disable-enable-pair": [
"error",
{
"allowWholeFile": true
}
],
"@eslint-community/eslint-comments/no-aggregating-enable": [
"error"
],
"@eslint-community/eslint-comments/no-duplicate-disable": [
"error"
],
"@eslint-community/eslint-comments/no-unlimited-disable": [
"error"
],
"@eslint-community/eslint-comments/no-unused-enable": [
"error"
],
"@eslint-community/eslint-comments/require-description": [
"warn"
],
"@fluid-internal/fluid/no-file-path-links-in-jsdoc": [
"error"
],
"@fluid-internal/fluid/no-hyphen-after-jsdoc-tag": [
"error"
],
"@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": [
"error"
],
"@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": [
"off"
],
"@stylistic/js/max-len": [
"off"
],
"@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": [
"off"
],
"@stylistic/js/no-extra-parens": [
"off"
],
"@stylistic/js/no-extra-semi": [
"off"
],
"@stylistic/js/no-floating-decimal": [
"off"
],
"@stylistic/js/no-mixed-operators": [
"off"
],
"@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": [
"off"
],
"@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": [
"off"
],
"@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": [
"off"
],
"@stylistic/max-len": [
"off"
],
"@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": [
"off"
],
"@stylistic/no-extra-parens": [
"off"
],
"@stylistic/no-extra-semi": [
"off"
],
"@stylistic/no-floating-decimal": [
"off"
],
"@stylistic/no-mixed-operators": [
"off"
],
"@stylistic/no-mixed-spaces-and-tabs": [
"off"
],
"@stylistic/no-multi-spaces": [
"off"
],
"@stylistic/no-multiple-empty-lines": [
"off"
],
"@stylistic/no-tabs": [
"off"
],
"@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": [
"off"
],
"@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": [
"off"
],
"@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": [
"off"
],
"@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/block-spacing": [
"off"
],
"@typescript-eslint/brace-style": [
"off"
],
"@typescript-eslint/class-literal-property-style": [
"error"
],
"@typescript-eslint/comma-dangle": [
"off"
],
"@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",
{
"fixMixedExportsWithInlineTypeSpecifier": true
}
],
"@typescript-eslint/consistent-type-imports": [
"off",
{
"fixStyle": "separate-type-imports"
}
],
"@typescript-eslint/dot-notation": [
"error",
{
"allowIndexSignaturePropertyAccess": false,
"allowKeywords": true,
"allowPattern": "",
"allowPrivateClassPropertyAccess": false,
"allowProtectedClassPropertyAccess": false
}
],
"@typescript-eslint/explicit-function-return-type": [
"error",
{
"allowExpressions": true,
"allowTypedFunctionExpressions": true,
"allowHigherOrderFunctions": true,
"allowDirectConstAssertionInArrowFunctions": true,
"allowConciseArrowFunctionExpressionsStartingWithVoid": false
}
],
"@typescript-eslint/explicit-member-accessibility": [
"off"
],
"@typescript-eslint/explicit-module-boundary-types": [
"error"
],
"@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": [
"off"
],
"@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-array-delete": [
"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",
{
"allow": []
}
],
"@typescript-eslint/no-empty-object-type": [
"error",
{
"allowInterfaces": "with-single-extends"
}
],
"@typescript-eslint/no-explicit-any": [
"error",
{
"ignoreRestArgs": true
}
],
"@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-import-type-side-effects": [
"error"
],
"@typescript-eslint/no-inferrable-types": [
"off"
],
"@typescript-eslint/no-invalid-this": [
"off",
{
"capIsConstructor": true
}
],
"@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\";`"
}
]
}
],
"@typescript-eslint/no-shadow": [
"error",
{
"hoist": "all",
"ignoreTypeValueShadow": true
}
],
"@typescript-eslint/no-this-alias": [
"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": [
"error"
],
"@typescript-eslint/no-unsafe-assignment": [
"error"
],
"@typescript-eslint/no-unsafe-call": [
"error"
],
"@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": [
"error"
],
"@typescript-eslint/no-unsafe-return": [
"error"
],
"@typescript-eslint/no-unsafe-unary-minus": [
"error"
],
"@typescript-eslint/no-unused-expressions": [
"error",
{
"allowShortCircuit": false,
"allowTaggedTemplates": false,
"allowTernary": false
}
],
"@typescript-eslint/no-unused-vars": [
"off"
],
"@typescript-eslint/no-use-before-define": [
"off"
],
"@typescript-eslint/no-wrapper-object-types": [
"error"
],
"@typescript-eslint/non-nullable-type-assertion-style": [
"off"
],
"@typescript-eslint/object-curly-spacing": [
"off"
],
"@typescript-eslint/only-throw-error": [
"error"
],
"@typescript-eslint/prefer-as-const": [
"error"
],
"@typescript-eslint/prefer-find": [
"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-promise-reject-errors": [
"error"
],
"@typescript-eslint/prefer-readonly": [
"error"
],
"@typescript-eslint/prefer-regexp-exec": [
"error"
],
"@typescript-eslint/prefer-string-starts-ends-with": [
"error"
],
"@typescript-eslint/promise-function-async": [
"error"
],
"@typescript-eslint/quotes": [
"off"
],
"@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"
],
"@typescript-eslint/space-before-blocks": [
"off"
],
"@typescript-eslint/space-before-function-paren": [
"off"
],
"@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": [
"off",
{
"ignoreStatic": true
}
],
"@typescript-eslint/unified-signatures": [
"off"
],
"array-bracket-newline": [
"off"
],
"array-bracket-spacing": [
"off"
],
"array-element-newline": [
"off"
],
"arrow-body-style": [
"off",
"as-needed"
],
"arrow-parens": [
"off",
"always"
],
"arrow-spacing": [
"off"
],
"babel/object-curly-spacing": [
"off"
],
"babel/quotes": [
"off"
],
"babel/semi": [
"off"
],
"block-spacing": [
"off"
],
"brace-style": [
"off"
],
"camelcase": [
"off",
{
"allow": [],
"ignoreDestructuring": false,
"ignoreGlobals": false,
"ignoreImports": false,
"properties": "always"
}
],
"capitalized-comments": [
"off"
],
"comma-dangle": [
"off"
],
"comma-spacing": [
"off"
],
"comma-style": [
"off"
],
"complexity": [
"off",
20
],
"computed-property-spacing": [
"off"
],
"constructor-super": [
"error"
],
"curly": [
"off",
"all"
],
"default-case": [
"error",
{}
],
"depend/ban-dependencies": [
"error",
{
"allowed": [
"axios",
"fs-extra"
]
}
],
"dot-location": [
"off"
],
"dot-notation": [
"off",
{
"allowKeywords": true,
"allowPattern": ""
}
],
"eol-last": [
"off"
],
"eqeqeq": [
"error",
"smart"
],
"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",
{
"allowImplicit": false
}
],
"guard-for-in": [
"error"
],
"id-match": [
"error",
"^.+$",
{
"classFields": false,
"ignoreDestructuring": false,
"onlyDeclarations": false,
"properties": false
}
],
"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": [
"off"
],
"import-x/no-duplicates": [
"warn"
],
"import-x/no-extraneous-dependencies": [
"error",
{
"devDependencies": true
}
],
"import-x/no-internal-modules": [
"error",
{
"allow": [
"@fluid*/**",
"@fluidframework/*/internal{,/**}",
"@fluid-experimental/**",
"@fluid-internal/**",
"*/index.js"
]
}
],
"import-x/no-named-as-default": [
"warn"
],
"import-x/no-named-as-default-member": [
"warn"
],
"import-x/no-nodejs-modules": [
"off"
],
"import-x/no-unassigned-import": [
"error"
],
"import-x/no-unresolved": [
"error",
{
"caseSensitive": true
}
],
"import-x/no-unused-modules": [
"error"
],
"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/multiline-blocks": [
"error"
],
"jsdoc/no-bad-blocks": [
"error"
],
"jsdoc/require-asterisk-prefix": [
"error"
],
"jsdoc/require-description": [
"error",
{
"checkConstructors": false,
"checkGetters": true,
"checkSetters": true
}
],
"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": [
"off"
],
"max-classes-per-file": [
"off"
],
"max-len": [
"off",
{
"ignoreRegExpLiterals": false,
"ignoreStrings": false,
"code": 120
}
],
"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",
{
"allow": [],
"int32Hint": false
}
],
"no-caller": [
"error"
],
"no-case-declarations": [
"error"
],
"no-class-assign": [
"off"
],
"no-comma-dangle": [
"off"
],
"no-compare-neg-zero": [
"error"
],
"no-cond-assign": [
"error",
"except-parens"
],
"no-confusing-arrow": [
"off"
],
"no-const-assign": [
"off"
],
"no-constant-binary-expression": [
"error"
],
"no-constant-condition": [
"error",
{
"checkLoops": "allExceptWhileTrue"
}
],
"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",
{
"includeExports": false,
"allowSeparateTypeImports": false
}
],
"no-empty": [
"error",
{
"allowEmptyCatch": false
}
],
"no-empty-character-class": [
"error"
],
"no-empty-function": [
"off",
{
"allow": []
}
],
"no-empty-pattern": [
"error",
{
"allowObjectPatternsAsParameters": false
}
],
"no-empty-static-block": [
"error"
],
"no-eval": [
"error",
{
"allowIndirect": false
}
],
"no-ex-assign": [
"error"
],
"no-extra-boolean-cast": [
"error",
{}
],
"no-extra-parens": [
"off"
],
"no-extra-semi": [
"off"
],
"no-fallthrough": [
"off",
{
"allowEmptyCase": false,
"reportUnusedFallthroughComment": false
}
],
"no-floating-decimal": [
"off"
],
"no-func-assign": [
"off"
],
"no-global-assign": [
"error",
{
"exceptions": []
}
],
"no-implied-eval": [
"off"
],
"no-import-assign": [
"off"
],
"no-invalid-regexp": [
"error",
{}
],
"no-invalid-this": [
"off",
{
"capIsConstructor": true
}
],
"no-irregular-whitespace": [
"error",
{
"skipComments": false,
"skipJSXText": false,
"skipRegExps": false,
"skipStrings": true,
"skipTemplates": false
}
],
"no-loss-of-precision": [
"error"
],
"no-magic-numbers": [
"off"
],
"no-misleading-character-class": [
"error",
{
"allowEscape": false
}
],
"no-mixed-operators": [
"off"
],
"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-negated-condition": [
"off"
],
"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-only-tests/no-only-tests": [
"error"
],
"no-param-reassign": [
"error"
],
"no-prototype-builtins": [
"error"
],
"no-redeclare": [
"off",
{
"builtinGlobals": true
}
],
"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",
{
"props": true
}
],
"no-sequences": [
"error",
{
"allowInParentheses": true
}
],
"no-setter-return": [
"off"
],
"no-shadow": [
"off",
{
"allow": [],
"builtinGlobals": false,
"hoist": "functions",
"ignoreOnInitialization": false,
"ignoreTypeValueShadow": true,
"ignoreFunctionTypeParameterNameValueShadow": true
}
],
"no-shadow-restricted-names": [
"error",
{
"reportGlobalThis": false
}
],
"no-space-before-semi": [
"off"
],
"no-spaced-func": [
"off"
],
"no-sparse-arrays": [
"error"
],
"no-tabs": [
"off"
],
"no-template-curly-in-string": [
"error"
],
"no-this-before-super": [
"off"
],
"no-throw-literal": [
"off"
],
"no-trailing-spaces": [
"off"
],
"no-undef": [
"off",
{
"typeof": false
}
],
"no-undef-init": [
"error"
],
"no-underscore-dangle": [
"off",
{
"allow": [],
"allowAfterSuper": false,
"allowAfterThis": false,
"allowAfterThisConstructor": false,
"allowFunctionParams": true,
"allowInArrayDestructuring": true,
"allowInObjectDestructuring": true,
"enforceInClassFields": false,
"enforceInMethodNames": false
}
],
"no-unexpected-multiline": [
"off"
],
"no-unreachable": [
"off"
],
"no-unsafe-finally": [
"error"
],
"no-unsafe-negation": [
"off",
{
"enforceForOrderingRelations": false
}
],
"no-unsafe-optional-chaining": [
"error",
{
"disallowArithmeticOperators": false
}
],
"no-unused-expressions": [
"off",
{
"allowShortCircuit": false,
"allowTernary": false,
"allowTaggedTemplates": false,
"enforceForJSX": false,
"ignoreDirectives": false
}
],
"no-unused-labels": [
"error"
],
"no-unused-private-class-members": [
"error"
],
"no-unused-vars": [
"off"
],
"no-useless-backreference": [
"error"
],
"no-useless-catch": [
"error"
],
"no-useless-escape": [
"error",
{
"allowRegexCharacters": []
}
],
"no-var": [
"error"
],
"no-void": [
"error",
{
"allowAsStatement": false
}
],
"no-whitespace-before-property": [
"off"
],
"no-with": [
"off"
],
"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",
{
"allowNamedFunctions": false,
"allowUnboundThis": true
}
],
"prefer-const": [
"error",
{
"destructuring": "any",
"ignoreReadBeforeAssign": false
}
],
"prefer-object-spread": [
"error"
],
"prefer-promise-reject-errors": [
"error",
{
"allowEmptyReject": false
}
],
"prefer-rest-params": [
"error"
],
"prefer-spread": [
"error"
],
"prefer-template": [
"error"
],
"promise/param-names": [
"warn"
],
"quote-props": [
"off",
"consistent-as-needed"
],
"quotes": [
"off"
],
"radix": [
"error",
"always"
],
"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": [
"error",
{
"allowProperties": false
}
],
"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/catch-error-name": [
"error"
],
"unicorn/consistent-destructuring": [
"off"
],
"unicorn/consistent-empty-array-spread": [
"error"
],
"unicorn/consistent-function-scoping": [
"off"
],
"unicorn/custom-error-definition": [
"off"
],
"unicorn/empty-brace-spaces": [
"off"
],
"unicorn/error-message": [
"error"
],
"unicorn/escape-case": [
"error"
],
"unicorn/expiring-todo-comments": [
"off"
],
"unicorn/explicit-length-check": [
"error"
],
"unicorn/filename-case": [
"error",
{
"cases": {
"camelCase": true,
"pascalCase": true
}
}
],
"unicorn/import-style": [
"off"
],
"unicorn/new-for-builtins": [
"error"
],
"unicorn/no-abusive-eslint-disable": [
"error"
],
"unicorn/no-anonymous-default-export": [
"error"
],
"unicorn/no-array-callback-reference": [
"off"
],
"unicorn/no-array-for-each": [
"error"
],
"unicorn/no-array-method-this-argument": [
"error"
],
"unicorn/no-array-push-push": [
"off"
],
"unicorn/no-array-reduce": [
"error"
],
"unicorn/no-await-expression-member": [
"error"
],
"unicorn/no-await-in-promise-methods": [
"error"
],
"unicorn/no-console-spaces": [
"error"
],
"unicorn/no-document-cookie": [
"error"
],
"unicorn/no-empty-file": [
"error"
],
"unicorn/no-for-loop": [
"off"
],
"unicorn/no-hex-escape": [
"error"
],
"unicorn/no-instanceof-array": [
"error"
],
"unicorn/no-invalid-fetch-options": [
"error"
],
"unicorn/no-invalid-remove-event-listener": [
"error"
],
"unicorn/no-keyword-prefix": [
"off"
],
"unicorn/no-lonely-if": [
"error"
],
"unicorn/no-magic-array-flat-depth": [
"error"
],
"unicorn/no-negated-condition": [
"error"
],
"unicorn/no-negation-in-equality-check": [
"error"
],
"unicorn/no-nested-ternary": [
"off"
],
"unicorn/no-new-array": [
"error"
],
"unicorn/no-new-buffer": [
"error"
],
"unicorn/no-null": [
"error"
],
"unicorn/no-object-as-default-parameter": [
"error"
],
"unicorn/no-process-exit": [
"error"
],
"unicorn/no-single-promise-in-promise-methods": [
"error"
],
"unicorn/no-static-only-class": [
"error"
],
"unicorn/no-thenable": [
"error"
],
"unicorn/no-this-assignment": [
"error"
],
"unicorn/no-typeof-undefined": [
"error"
],
"unicorn/no-unnecessary-await": [
"error"
],
"unicorn/no-unnecessary-polyfills": [
"error"
],
"unicorn/no-unreadable-array-destructuring": [
"error"
],
"unicorn/no-unreadable-iife": [
"error"
],
"unicorn/no-unused-properties": [
"off"
],
"unicorn/no-useless-fallback-in-spread": [
"error"
],
"unicorn/no-useless-length-check": [
"error"
],
"unicorn/no-useless-promise-resolve-reject": [
"error"
],
"unicorn/no-useless-spread": [
"off"
],
"unicorn/no-useless-switch-case": [
"error"
],
"unicorn/no-useless-undefined": [
"off"
],
"unicorn/no-zero-fractions": [
"error"
],
"unicorn/number-literal-case": [
"off"
],
"unicorn/numeric-separators-style": [
"error",
{
"onlyIfContainsSeparator": true
}
],
"unicorn/prefer-add-event-listener": [
"error"
],
"unicorn/prefer-array-find": [
"error"
],
"unicorn/prefer-array-flat": [
"error"
],
"unicorn/prefer-array-flat-map": [
"error"
],
"unicorn/prefer-array-index-of": [
"error"
],
"unicorn/prefer-array-some": [
"error"
],
"unicorn/prefer-at": [
"warn"
],
"unicorn/prefer-blob-reading-methods": [
"error"
],
"unicorn/prefer-code-point": [
"error"
],
"unicorn/prefer-date-now": [
"error"
],
"unicorn/prefer-default-parameters": [
"error"
],
"unicorn/prefer-dom-node-append": [
"error"
],
"unicorn/prefer-dom-node-dataset": [
"error"
],
"unicorn/prefer-dom-node-remove": [
"error"
],
"unicorn/prefer-dom-node-text-content": [
"error"
],
"unicorn/prefer-event-target": [
"off"
],
"unicorn/prefer-export-from": [
"error"
],
"unicorn/prefer-includes": [
"error"
],
"unicorn/prefer-json-parse-buffer": [
"off"
],
"unicorn/prefer-keyboard-event-key": [
"error"
],
"unicorn/prefer-logical-operator-over-ternary": [
"error"
],
"unicorn/prefer-math-trunc": [
"error"
],
"unicorn/prefer-modern-dom-apis": [
"error"
],
"unicorn/prefer-modern-math-apis": [
"error"
],
"unicorn/prefer-module": [
"off"
],
"unicorn/prefer-native-coercion-functions": [
"error"
],
"unicorn/prefer-negative-index": [
"error"
],
"unicorn/prefer-node-protocol": [
"error"
],
"unicorn/prefer-number-properties": [
"error"
],
"unicorn/prefer-object-from-entries": [
"error"
],
"unicorn/prefer-optional-catch-binding": [
"error"
],
"unicorn/prefer-prototype-methods": [
"error"
],
"unicorn/prefer-query-selector": [
"error"
],
"unicorn/prefer-reflect-apply": [
"error"
],
"unicorn/prefer-regexp-test": [
"error"
],
"unicorn/prefer-set-has": [
"error"
],
"unicorn/prefer-set-size": [
"error"
],
"unicorn/prefer-spread": [
"error"
],
"unicorn/prefer-string-raw": [
"warn"
],
"unicorn/prefer-string-replace-all": [
"warn"
],
"unicorn/prefer-string-slice": [
"error"
],
"unicorn/prefer-string-starts-ends-with": [
"error"
],
"unicorn/prefer-string-trim-start-end": [
"error"
],
"unicorn/prefer-structured-clone": [
"warn"
],
"unicorn/prefer-switch": [
"error"
],
"unicorn/prefer-ternary": [
"error"
],
"unicorn/prefer-top-level-await": [
"error"
],
"unicorn/prefer-type-error": [
"error"
],
"unicorn/prevent-abbreviations": [
"off"
],
"unicorn/relative-url-style": [
"error"
],
"unicorn/require-array-join-separator": [
"error"
],
"unicorn/require-number-to-fixed-digits-argument": [
"error"
],
"unicorn/require-post-message-target-origin": [
"off"
],
"unicorn/string-content": [
"off"
],
"unicorn/switch-case-braces": [
"error"
],
"unicorn/template-indent": [
"off"
],
"unicorn/text-encoding-identifier-case": [
"error"
],
"unicorn/throw-new-error": [
"error"
],
"unused-imports/no-unused-imports": [
"error"
],
"use-isnan": [
"error",
{
"enforceForIndexOf": false,
"enforceForSwitchCase": true
}
],
"valid-typeof": [
"error",
{
"requireStringLiterals": false
}
],
"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": [
"off"
],
"vue/key-spacing": [
"off"
],
"vue/keyword-spacing": [
"off"
],
"vue/max-attributes-per-line": [
"off"
],
"vue/max-len": [
"off"
],
"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",
"never",
{
"exceptRange": false,
"onlyEquality": false
}
]
},
"settings": {
"import-x/extensions": [
".ts",
".tsx",
".d.ts",
".js",
".jsx"
],
"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": {
"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"
}
},
"mode": "typescript"
}
}
}