@fluidframework/eslint-config-fluid
Version:
Shareable ESLint config for the Fluid Framework
2,058 lines • 58.8 kB
JSON
{
"env": {
"browser": true,
"es2024": false,
"es6": true,
"node": true
},
"globals": {
"Atomics": "readonly",
"SharedArrayBuffer": "readonly"
},
"ignorePatterns": [
"**/packageVersion.ts"
],
"parserOptions": {
"ecmaFeatures": {
"jsx": true
},
"ecmaVersion": "latest",
"project": "./tsconfig.json",
"sourceType": "module"
},
"plugins": [
"import-x",
"eslint-comments",
"@fluid-internal/fluid",
"unused-imports",
"promise",
"jsdoc",
"@typescript-eslint",
"@rushstack/security",
"@rushstack",
"unicorn",
"tsdoc"
],
"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": [
"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": [
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": [
"error"
],
"@typescript-eslint/consistent-indexed-object-style": [
"error"
],
"@typescript-eslint/consistent-type-assertions": [
"error",
{
"assertionStyle": "as",
"objectLiteralTypeAssertions": "never"
}
],
"@typescript-eslint/consistent-type-definitions": [
"error"
],
"@typescript-eslint/consistent-type-exports": [
"error",
{
"fixMixedExportsWithInlineTypeSpecifier": true
}
],
"@typescript-eslint/consistent-type-imports": [
"error",
{
"fixStyle": "separate-type-imports"
}
],
"@typescript-eslint/dot-notation": [
"error"
],
"@typescript-eslint/explicit-function-return-type": [
"error",
{
"allowExpressions": true,
"allowTypedFunctionExpressions": true,
"allowHigherOrderFunctions": true,
"allowDirectConstAssertionInArrowFunctions": true,
"allowConciseArrowFunctionExpressionsStartingWithVoid": false
}
],
"@typescript-eslint/explicit-member-accessibility": [
"error",
{
"accessibility": "explicit",
"overrides": {
"accessors": "explicit",
"constructors": "explicit",
"methods": "explicit",
"properties": "explicit",
"parameterProperties": "explicit"
}
}
],
"@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": [
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": [
"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"
],
"@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": [
"error"
],
"@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": [
"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": [
"error"
],
"@typescript-eslint/no-unsafe-function-type": [
"error"
],
"@typescript-eslint/no-unsafe-member-access": [
"error"
],
"@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/multiline-blocks": [
"error",
{
"noSingleLineBlocks": true
}
],
"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-jsdoc": [
"error",
{
"publicOnly": true,
"enableFixer": false,
"require": {
"ArrowFunctionExpression": true,
"ClassDeclaration": true,
"ClassExpression": true,
"FunctionDeclaration": true,
"FunctionExpression": true,
"MethodDefinition": false
},
"contexts": [
"TSEnumDeclaration",
"TSInterfaceDeclaration",
"TSTypeAliasDeclaration",
"ExportNamedDeclaration > VariableDeclaration"
],
"skipInterveningOverloadedDeclarations": false,
"exemptOverloadedImplementations": true,
"checkConstructors": true,
"checkGetters": true,
"checkSetters": true,
"exemptEmptyConstructors": false,
"exemptEmptyFunctions": false,
"fixerMessage": ""
}
],
"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": [
"error"
],
"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-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-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": [
"error"
],
"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": [
"error"
],
"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": [
"error"
],
"unicorn/consistent-function-scoping": [
"error"
],
"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": [
"error"
],
"unicorn/new-for-builtins": [
"error"
],
"unicorn/no-abusive-eslint-disable": [
"error"
],
"unicorn/no-array-callback-reference": [
"error"
],
"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-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-remove-event-listener": [
"error"
],
"unicorn/no-keyword-prefix": [
"off"
],
"unicorn/no-lonely-if": [
"error"
],
"unicorn/no-negated-condition": [
"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-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-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