eslint-flat-config-airbnb
Version:
A mostly reasonable approach to JavaScript and React using Airbnb's ESLint config, updated for ESLint 9+
1,475 lines • 77.7 kB
TypeScript
export default baseConfig;
declare const baseConfig: ({
plugins: {
'@stylistic': {
rules: import("@stylistic/eslint-plugin").Rules;
configs: import("eslint").ESLint.Plugin["configs"] & import("@stylistic/eslint-plugin").Configs;
};
};
rules: {
'accessor-pairs': string;
'array-callback-return': (string | {
allowImplicit: boolean;
})[];
'block-scoped-var': string;
complexity: (string | number)[];
'class-methods-use-this': (string | {
exceptMethods: never[];
})[];
'consistent-return': string;
curly: string[];
'default-case': (string | {
commentPattern: string;
})[];
'default-case-last': string;
'default-param-last': string;
'dot-notation': (string | {
allowKeywords: boolean;
})[];
'@stylistic/dot-location': string[];
eqeqeq: (string | {
null: string;
})[];
'grouped-accessor-pairs': string;
'guard-for-in': string;
'max-classes-per-file': (string | number)[];
'no-alert': string;
'no-caller': string;
'no-case-declarations': string;
'no-constructor-return': string;
'no-div-regex': string;
'no-else-return': (string | {
allowElseIf: boolean;
})[];
'no-empty-function': (string | {
allow: string[];
})[];
'no-empty-pattern': string;
'no-empty-static-block': string;
'no-eq-null': string;
'no-eval': string;
'no-extend-native': string;
'no-extra-bind': string;
'no-extra-label': string;
'no-fallthrough': string;
'@stylistic/no-floating-decimal': string;
'no-global-assign': (string | {
exceptions: never[];
})[];
'@stylistic/no-native-reassign': string;
'no-implicit-coercion': (string | {
boolean: boolean;
number: boolean;
string: boolean;
allow: never[];
})[];
'no-implicit-globals': string;
'no-implied-eval': string;
'no-invalid-this': string;
'no-iterator': string;
'no-labels': (string | {
allowLoop: boolean;
allowSwitch: boolean;
})[];
'no-lone-blocks': string;
'no-loop-func': string;
'no-magic-numbers': (string | {
ignore: never[];
ignoreArrayIndexes: boolean;
enforceConst: boolean;
detectObjects: boolean;
})[];
'@stylistic/no-multi-spaces': (string | {
ignoreEOLComments: boolean;
})[];
'no-multi-str': string;
'no-new': string;
'no-new-func': string;
'no-new-wrappers': string;
'no-nonoctal-decimal-escape': string;
'no-object-constructor': string;
'no-octal': string;
'no-octal-escape': string;
'no-param-reassign': (string | {
props: boolean;
ignorePropertyModificationsFor: string[];
})[];
'no-proto': string;
'no-redeclare': string;
'no-restricted-properties': (string | {
object: string;
property: string;
message: string;
} | {
property: string;
message: string;
object?: undefined;
})[];
'no-return-assign': string[];
'no-script-url': string;
'no-self-assign': (string | {
props: boolean;
})[];
'no-self-compare': string;
'no-sequences': string;
'no-throw-literal': string;
'no-unmodified-loop-condition': string;
'no-unused-expressions': (string | {
allowShortCircuit: boolean;
allowTernary: boolean;
allowTaggedTemplates: boolean;
})[];
'no-unused-labels': string;
'no-useless-call': string;
'no-useless-catch': string;
'no-useless-concat': string;
'no-useless-escape': string;
'no-useless-return': string;
'no-void': string;
'no-warning-comments': (string | {
terms: string[];
location: string;
})[];
'no-with': string;
'prefer-promise-reject-errors': (string | {
allowEmptyReject: boolean;
})[];
'prefer-named-capture-group': string;
'prefer-object-has-own': string;
'prefer-regex-literals': (string | {
disallowRedundantWrapping: boolean;
})[];
radix: string;
'require-await': string;
'require-unicode-regexp': string;
'vars-on-top': string;
'@stylistic/wrap-iife': (string | {
functionPrototypeMethods: boolean;
})[];
yoda: string;
};
} | {
plugins: {
'@stylistic': {
rules: import("@stylistic/eslint-plugin").Rules;
configs: import("eslint").ESLint.Plugin["configs"] & import("@stylistic/eslint-plugin").Configs;
};
};
rules: {
'for-direction': string;
'getter-return': (string | {
allowImplicit: boolean;
})[];
'no-async-promise-executor': string;
'no-await-in-loop': string;
'no-compare-neg-zero': string;
'no-cond-assign': string[];
'no-console': string;
'no-constant-binary-expression': string;
'no-constant-condition': string;
'no-control-regex': string;
'no-debugger': string;
'no-dupe-args': string;
'no-dupe-else-if': string;
'no-dupe-keys': string;
'no-duplicate-case': string;
'no-empty': string;
'no-empty-character-class': string;
'no-ex-assign': string;
'no-extra-boolean-cast': string;
'@stylistic/no-extra-parens': (string | {
conditionalAssign: boolean;
nestedBinaryExpressions: boolean;
returnAssign: boolean;
ignoreJSX: string;
enforceForArrowConditionals: boolean;
})[];
'@stylistic/no-extra-semi': string;
'no-func-assign': string;
'no-import-assign': string;
'no-inner-declarations': string;
'no-invalid-regexp': string;
'no-irregular-whitespace': string;
'no-loss-of-precision': string;
'no-misleading-character-class': string;
'no-obj-calls': string;
'no-new-native-nonconstructor': string;
'no-promise-executor-return': string;
'no-prototype-builtins': string;
'no-regex-spaces': string;
'no-setter-return': string;
'no-sparse-arrays': string;
'no-template-curly-in-string': string;
'no-unexpected-multiline': string;
'no-unreachable': string;
'no-unreachable-loop': (string | {
ignore: never[];
})[];
'no-unsafe-finally': string;
'no-unsafe-negation': string;
'no-unsafe-optional-chaining': (string | {
disallowArithmeticOperators: boolean;
})[];
'no-unused-private-class-members': string;
'no-useless-backreference': string;
'require-atomic-updates': string;
'use-isnan': string;
'valid-typeof': (string | {
requireStringLiterals: boolean;
})[];
};
} | {
languageOptions: {
globals: {
Array: false;
ArrayBuffer: false;
Boolean: false;
DataView: false;
Date: false;
decodeURI: false;
decodeURIComponent: false;
encodeURI: false;
encodeURIComponent: false;
Error: false;
escape: false;
eval: false;
EvalError: false;
Float32Array: false;
Float64Array: false;
Function: false;
Infinity: false;
Int16Array: false;
Int32Array: false;
Int8Array: false;
Intl: false;
isFinite: false;
isNaN: false;
JSON: false;
Map: false;
Math: false;
NaN: false;
Number: false;
Object: false;
parseFloat: false;
parseInt: false;
Promise: false;
Proxy: false;
RangeError: false;
ReferenceError: false;
Reflect: false;
RegExp: false;
Set: false;
String: false;
Symbol: false;
SyntaxError: false;
TypeError: false;
Uint16Array: false;
Uint32Array: false;
Uint8Array: false;
Uint8ClampedArray: false;
undefined: false;
unescape: false;
URIError: false;
WeakMap: false;
WeakSet: false;
};
parserOptions: {
ecmaVersion: number;
sourceType: string;
ecmaFeatures: {
generators: boolean;
objectLiteralDuplicateProperties: boolean;
};
};
};
plugins: {
'@stylistic': {
rules: import("@stylistic/eslint-plugin").Rules;
configs: import("eslint").ESLint.Plugin["configs"] & import("@stylistic/eslint-plugin").Configs;
};
};
rules: {
'arrow-body-style': (string | {
requireReturnForObjectLiteral: boolean;
})[];
'@stylistic/arrow-parens': string[];
'@stylistic/arrow-spacing': (string | {
before: boolean;
after: boolean;
})[];
'constructor-super': string;
'@stylistic/generator-star-spacing': (string | {
before: boolean;
after: boolean;
})[];
'no-class-assign': string;
'@stylistic/no-confusing-arrow': (string | {
allowParens: boolean;
})[];
'no-const-assign': string;
'no-dupe-class-members': string;
'no-duplicate-imports': string;
'no-new-native-nonconstructor': string;
'no-restricted-exports': (string | {
restrictedNamedExports: string[];
})[];
'no-restricted-imports': (string | {
paths: never[];
patterns: never[];
})[];
'no-this-before-super': string;
'no-useless-computed-key': string;
'no-useless-constructor': string;
'no-useless-rename': (string | {
ignoreDestructuring: boolean;
ignoreImport: boolean;
ignoreExport: boolean;
})[];
'no-var': string;
'object-shorthand': (string | {
ignoreConstructors: boolean;
avoidQuotes: boolean;
})[];
'prefer-arrow-callback': (string | {
allowNamedFunctions: boolean;
allowUnboundThis: boolean;
})[];
'prefer-const': (string | {
destructuring: string;
ignoreReadBeforeAssign: boolean;
})[];
'prefer-destructuring': (string | {
VariableDeclarator: {
array: boolean;
object: boolean;
};
AssignmentExpression: {
array: boolean;
object: boolean;
};
enforceForRenamedProperties?: undefined;
} | {
enforceForRenamedProperties: boolean;
VariableDeclarator?: undefined;
AssignmentExpression?: undefined;
})[];
'prefer-numeric-literals': string;
'@stylistic/prefer-reflect': string;
'prefer-rest-params': string;
'prefer-spread': string;
'prefer-template': string;
'require-yield': string;
'@stylistic/rest-spread-spacing': string[];
'sort-imports': (string | {
ignoreCase: boolean;
ignoreDeclarationSort: boolean;
ignoreMemberSort: boolean;
memberSyntaxSortOrder: string[];
})[];
'symbol-description': string;
'@stylistic/template-curly-spacing': string;
'@stylistic/yield-star-spacing': string[];
};
} | {
languageOptions: {
globals: {
Array: false;
ArrayBuffer: false;
Boolean: false;
DataView: false;
Date: false;
decodeURI: false;
decodeURIComponent: false;
encodeURI: false;
encodeURIComponent: false;
Error: false;
escape: false;
eval: false;
EvalError: false;
Float32Array: false;
Float64Array: false;
Function: false;
Infinity: false;
Int16Array: false;
Int32Array: false;
Int8Array: false;
Intl: false;
isFinite: false;
isNaN: false;
JSON: false;
Map: false;
Math: false;
NaN: false;
Number: false;
Object: false;
parseFloat: false;
parseInt: false;
Promise: false;
Proxy: false;
RangeError: false;
ReferenceError: false;
Reflect: false;
RegExp: false;
Set: false;
String: false;
Symbol: false;
SyntaxError: false;
TypeError: false;
Uint16Array: false;
Uint32Array: false;
Uint8Array: false;
Uint8ClampedArray: false;
undefined: false;
unescape: false;
URIError: false;
WeakMap: false;
WeakSet: false;
};
parserOptions: {
ecmaVersion: number;
sourceType: string;
};
};
plugins: {
import: import("@eslint/core", { with: { "resolution-mode": "require" } }).Plugin & {
meta: {
name: string;
version: string;
};
configs: {
"recommended": import("eslint").Linter.LegacyConfig;
"errors": import("eslint").Linter.LegacyConfig;
"warnings": import("eslint").Linter.LegacyConfig;
"stage-0": import("eslint").Linter.LegacyConfig;
"react": import("eslint").Linter.LegacyConfig;
"react-native": import("eslint").Linter.LegacyConfig;
"electron": import("eslint").Linter.LegacyConfig;
"typescript": import("eslint").Linter.LegacyConfig;
};
flatConfigs: {
"recommended": import("eslint").Linter.FlatConfig;
"errors": import("eslint").Linter.FlatConfig;
"warnings": import("eslint").Linter.FlatConfig;
"stage-0": import("eslint").Linter.FlatConfig;
"react": import("eslint").Linter.FlatConfig;
"react-native": import("eslint").Linter.FlatConfig;
"electron": import("eslint").Linter.FlatConfig;
"typescript": import("eslint").Linter.FlatConfig;
};
rules: {
[key: string]: import("eslint").Rule.RuleModule;
};
};
};
settings: {
'import/resolver': {
node: {
extensions: string[];
};
};
'import/extensions': string[];
'import/ignore': string[];
};
rules: {
'import/no-unresolved': (string | {
commonjs: boolean;
caseSensitive: boolean;
})[];
'import/named': string;
'import/default': string;
'import/namespace': string;
'import/export': string;
'import/no-named-as-default': string;
'import/no-named-as-default-member': string;
'import/no-deprecated': string;
'import/no-extraneous-dependencies': (string | {
devDependencies: string[];
optionalDependencies: boolean;
})[];
'import/no-mutable-exports': string;
'import/no-commonjs': string;
'import/no-amd': string;
'import/no-nodejs-modules': string;
'import/first': string;
'import/no-duplicates': string;
'import/no-namespace': string;
'import/extensions': (string | {
js: string;
mjs: string;
jsx: string;
})[];
'import/order': (string | {
groups: string[][];
})[];
'import/newline-after-import': string;
'import/prefer-default-export': string;
'import/no-restricted-paths': string;
'import/max-dependencies': (string | {
max: number;
})[];
'import/no-absolute-path': string;
'import/no-dynamic-require': string;
'import/no-internal-modules': (string | {
allow: never[];
})[];
'import/unambiguous': string;
'import/no-webpack-loader-syntax': string;
'import/no-unassigned-import': string;
'import/no-named-default': string;
'import/no-anonymous-default-export': (string | {
allowArray: boolean;
allowArrowFunction: boolean;
allowAnonymousClass: boolean;
allowAnonymousFunction: boolean;
allowLiteral: boolean;
allowObject: boolean;
})[];
'import/exports-last': string;
'import/group-exports': string;
'import/no-default-export': string;
'import/no-named-export': string;
'import/no-self-import': string;
'import/no-cycle': (string | {
maxDepth: string;
})[];
'import/no-useless-path-segments': (string | {
commonjs: boolean;
})[];
'import/dynamic-import-chunkname': (string | {
importFunctions: never[];
webpackChunknameFormat: string;
})[];
'import/no-relative-parent-imports': string;
'import/no-unused-modules': (string | {
ignoreExports: never[];
missingExports: boolean;
unusedExports: boolean;
})[];
'import/no-import-module-exports': (string | {
exceptions: never[];
})[];
'import/no-relative-packages': string;
'import/consistent-type-specifier-style': string[];
'import/no-empty-named-blocks': string;
};
} | {
languageOptions: {
globals: {
__dirname: false;
__filename: false;
AbortController: false;
AbortSignal: false;
AsyncDisposableStack: false;
atob: false;
Blob: false;
BroadcastChannel: false;
btoa: false;
Buffer: false;
ByteLengthQueuingStrategy: false;
clearImmediate: false;
clearInterval: false;
clearTimeout: false;
CloseEvent: false;
CompressionStream: false;
console: false;
CountQueuingStrategy: false;
crypto: false;
Crypto: false;
CryptoKey: false;
CustomEvent: false;
DecompressionStream: false;
DisposableStack: false;
DOMException: false;
ErrorEvent: false;
Event: false;
EventTarget: false;
exports: true;
fetch: false;
File: false;
FormData: false;
global: false;
Headers: false;
localStorage: false;
MessageChannel: false;
MessageEvent: false;
MessagePort: false;
module: false;
navigator: false;
Navigator: false;
performance: false;
Performance: false;
PerformanceEntry: false;
PerformanceMark: false;
PerformanceMeasure: false;
PerformanceObserver: false;
PerformanceObserverEntryList: false;
PerformanceResourceTiming: false;
process: false;
queueMicrotask: false;
ReadableByteStreamController: false;
ReadableStream: false;
ReadableStreamBYOBReader: false;
ReadableStreamBYOBRequest: false;
ReadableStreamDefaultController: false;
ReadableStreamDefaultReader: false;
Request: false;
require: false;
Response: false;
sessionStorage: false;
setImmediate: false;
setInterval: false;
setTimeout: false;
Storage: false;
structuredClone: false;
SubtleCrypto: false;
SuppressedError: false;
TextDecoder: false;
TextDecoderStream: false;
TextEncoder: false;
TextEncoderStream: false;
TransformStream: false;
TransformStreamDefaultController: false;
URL: false;
URLPattern: false;
URLSearchParams: false;
WebAssembly: false;
WebSocket: false;
WritableStream: false;
WritableStreamDefaultController: false;
WritableStreamDefaultWriter: false;
};
};
plugins: {
n: import("@eslint/core", { with: { "resolution-mode": "require" } }).Plugin & {
configs: import("eslint-plugin-n").Configs;
};
};
rules: {
'n/callback-return': string;
'n/global-require': string;
'n/handle-callback-err': string;
'n/no-deprecated-api': string;
'n/no-mixed-requires': (string | boolean)[];
'n/no-new-require': string;
'n/no-path-concat': string;
'n/no-process-env': string;
'n/no-process-exit': string;
'n/no-restricted-require': string;
'n/no-sync': string;
};
} | {
rules: {
strict: string[];
};
} | {
plugins: {
'@stylistic': {
rules: import("@stylistic/eslint-plugin").Rules;
configs: import("eslint").ESLint.Plugin["configs"] & import("@stylistic/eslint-plugin").Configs;
};
};
rules: {
'@stylistic/array-bracket-newline': string[];
'@stylistic/array-element-newline': (string | {
multiline: boolean;
minItems: number;
})[];
'@stylistic/array-bracket-spacing': string[];
'@stylistic/block-spacing': string[];
'@stylistic/brace-style': (string | {
allowSingleLine: boolean;
})[];
camelcase: (string | {
properties: string;
ignoreDestructuring: boolean;
})[];
'capitalized-comments': (string | {
line: {
ignorePattern: string;
ignoreInlineComments: boolean;
ignoreConsecutiveComments: boolean;
};
block: {
ignorePattern: string;
ignoreInlineComments: boolean;
ignoreConsecutiveComments: boolean;
};
})[];
'@stylistic/comma-dangle': (string | {
arrays: string;
objects: string;
imports: string;
exports: string;
functions: string;
})[];
'@stylistic/comma-spacing': (string | {
before: boolean;
after: boolean;
})[];
'@stylistic/comma-style': (string | {
exceptions: {
ArrayExpression: boolean;
ArrayPattern: boolean;
ArrowFunctionExpression: boolean;
CallExpression: boolean;
FunctionDeclaration: boolean;
FunctionExpression: boolean;
ImportDeclaration: boolean;
ObjectExpression: boolean;
ObjectPattern: boolean;
VariableDeclaration: boolean;
NewExpression: boolean;
};
})[];
'@stylistic/computed-property-spacing': string[];
'consistent-this': string;
'@stylistic/eol-last': string[];
'@stylistic/function-call-argument-newline': string[];
'@stylistic/function-call-spacing': string[];
'func-name-matching': (string | {
includeCommonJSModuleExports: boolean;
considerPropertyDescriptor: boolean;
})[];
'func-names': string;
'func-style': string[];
'@stylistic/function-paren-newline': string[];
'id-denylist': string;
'id-length': string;
'id-match': string;
'@stylistic/implicit-arrow-linebreak': string[];
'@stylistic/indent': (string | number | {
SwitchCase: number;
VariableDeclarator: number;
outerIIFEBody: number;
FunctionDeclaration: {
parameters: number;
body: number;
};
FunctionExpression: {
parameters: number;
body: number;
};
CallExpression: {
arguments: number;
};
ArrayExpression: number;
ObjectExpression: number;
ImportDeclaration: number;
flatTernaryExpressions: boolean;
ignoredNodes: string[];
ignoreComments: boolean;
})[];
'@stylistic/jsx-quotes': string[];
'@stylistic/key-spacing': (string | {
beforeColon: boolean;
afterColon: boolean;
})[];
'@stylistic/keyword-spacing': (string | {
before: boolean;
after: boolean;
overrides: {
return: {
after: boolean;
};
throw: {
after: boolean;
};
case: {
after: boolean;
};
};
})[];
'@stylistic/line-comment-position': (string | {
position: string;
ignorePattern: string;
applyDefaultPatterns: boolean;
})[];
'@stylistic/linebreak-style': string[];
'@stylistic/lines-between-class-members': (string | {
exceptAfterSingleLine: boolean;
})[];
'@stylistic/lines-around-comment': string;
'logical-assignment-operators': (string | {
enforceForIfStatements: boolean;
})[];
'max-depth': (string | {
max: number;
})[];
'@stylistic/max-len': (string | number | {
ignoreUrls: boolean;
ignoreComments: boolean;
ignoreRegExpLiterals: boolean;
ignoreStrings: boolean;
ignoreTemplateLiterals: boolean;
})[];
'max-lines': (string | {
max: number;
skipBlankLines: boolean;
skipComments: boolean;
})[];
'max-lines-per-function': (string | {
max: number;
skipBlankLines: boolean;
skipComments: boolean;
IIFEs: boolean;
})[];
'max-nested-callbacks': string;
'max-params': (string | number)[];
'max-statements': (string | number)[];
'@stylistic/max-statements-per-line': (string | {
max: number;
})[];
'@stylistic/multiline-comment-style': string[];
'new-cap': (string | {
newIsCap: boolean;
newIsCapExceptions: never[];
capIsNew: boolean;
capIsNewExceptions: string[];
})[];
'@stylistic/new-parens': string;
'@stylistic/newline-per-chained-call': (string | {
ignoreChainWithDepth: number;
})[];
'no-array-constructor': string;
'no-bitwise': string;
'no-continue': string;
'no-inline-comments': string;
'no-lonely-if': string;
'@stylistic/no-mixed-operators': (string | {
groups: string[][];
allowSamePrecedence: boolean;
})[];
'@stylistic/no-mixed-spaces-and-tabs': string;
'no-multi-assign': string[];
'@stylistic/no-multiple-empty-lines': (string | {
max: number;
maxBOF: number;
maxEOF: number;
})[];
'no-negated-condition': string;
'no-nested-ternary': string;
'no-object-constructor': string;
'no-plusplus': string;
'no-restricted-syntax': (string | {
selector: string;
message: string;
})[];
'@stylistic/no-tabs': string;
'no-ternary': string;
'@stylistic/no-trailing-spaces': (string | {
skipBlankLines: boolean;
ignoreComments: boolean;
})[];
'no-underscore-dangle': (string | {
allow: never[];
allowAfterThis: boolean;
allowAfterSuper: boolean;
enforceInMethodNames: boolean;
})[];
'no-unneeded-ternary': (string | {
defaultAssignment: boolean;
})[];
'@stylistic/no-whitespace-before-property': string;
'@stylistic/nonblock-statement-body-position': (string | {
overrides: {};
})[];
'@stylistic/object-curly-spacing': string[];
'@stylistic/object-curly-newline': (string | {
ObjectExpression: {
minProperties: number;
multiline: boolean;
consistent: boolean;
};
ObjectPattern: {
minProperties: number;
multiline: boolean;
consistent: boolean;
};
ImportDeclaration: {
minProperties: number;
multiline: boolean;
consistent: boolean;
};
ExportDeclaration: {
minProperties: number;
multiline: boolean;
consistent: boolean;
};
})[];
'@stylistic/object-property-newline': (string | {
allowAllPropertiesOnSameLine: boolean;
})[];
'one-var': string[];
'@stylistic/one-var-declaration-per-line': string[];
'operator-assignment': string[];
'@stylistic/operator-linebreak': (string | {
overrides: {
'=': string;
};
})[];
'@stylistic/padded-blocks': (string | {
blocks: string;
classes: string;
switches: string;
allowSingleLineBlocks?: undefined;
} | {
allowSingleLineBlocks: boolean;
blocks?: undefined;
classes?: undefined;
switches?: undefined;
})[];
'@stylistic/padding-line-between-statements': string;
'prefer-exponentiation-operator': string;
'prefer-object-spread': string;
'@stylistic/quote-props': (string | {
keywords: boolean;
unnecessary: boolean;
numbers: boolean;
})[];
'@stylistic/quotes': (string | {
avoidEscape: boolean;
})[];
'@stylistic/semi': string[];
'@stylistic/semi-spacing': (string | {
before: boolean;
after: boolean;
})[];
'@stylistic/semi-style': string[];
'sort-keys': (string | {
caseSensitive: boolean;
natural: boolean;
})[];
'sort-vars': string;
'@stylistic/space-before-blocks': string;
'@stylistic/space-before-function-paren': (string | {
anonymous: string;
named: string;
asyncArrow: string;
})[];
'@stylistic/space-in-parens': string[];
'@stylistic/space-infix-ops': string;
'@stylistic/space-unary-ops': (string | {
words: boolean;
nonwords: boolean;
overrides: {};
})[];
'@stylistic/spaced-comment': (string | {
line: {
exceptions: string[];
markers: string[];
};
block: {
exceptions: string[];
markers: string[];
balanced: boolean;
};
})[];
'@stylistic/switch-colon-spacing': (string | {
after: boolean;
before: boolean;
})[];
'@stylistic/template-tag-spacing': string[];
'unicode-bom': string[];
'@stylistic/wrap-regex': string;
};
} | {
rules: {
'init-declarations': string;
'no-catch-shadow': string;
'no-delete-var': string;
'no-label-var': string;
'no-restricted-globals': (string | {
name: string;
message: string;
})[];
'no-shadow': string;
'no-shadow-restricted-names': string;
'no-undef': string;
'no-undef-init': string;
'no-undefined': string;
'no-unused-vars': (string | {
vars: string;
args: string;
ignoreRestSiblings: boolean;
})[];
'no-use-before-define': (string | {
functions: boolean;
classes: boolean;
variables: boolean;
})[];
};
} | {
languageOptions: {
globals: {
AggregateError: false;
Array: false;
ArrayBuffer: false;
Atomics: false;
BigInt: false;
BigInt64Array: false;
BigUint64Array: false;
Boolean: false;
DataView: false;
Date: false;
decodeURI: false;
decodeURIComponent: false;
encodeURI: false;
encodeURIComponent: false;
Error: false;
escape: false;
eval: false;
EvalError: false;
FinalizationRegistry: false;
Float16Array: false;
Float32Array: false;
Float64Array: false;
Function: false;
globalThis: false;
Infinity: false;
Int16Array: false;
Int32Array: false;
Int8Array: false;
Intl: false;
isFinite: false;
isNaN: false;
Iterator: false;
JSON: false;
Map: false;
Math: false;
NaN: false;
Number: false;
Object: false;
parseFloat: false;
parseInt: false;
Promise: false;
Proxy: false;
RangeError: false;
ReferenceError: false;
Reflect: false;
RegExp: false;
Set: false;
SharedArrayBuffer: false;
String: false;
Symbol: false;
SyntaxError: false;
TypeError: false;
Uint16Array: false;
Uint32Array: false;
Uint8Array: false;
Uint8ClampedArray: false;
undefined: false;
unescape: false;
URIError: false;
WeakMap: false;
WeakRef: false;
WeakSet: false;
AbortController: false;
AbortSignal: false;
AbsoluteOrientationSensor: false;
AbstractRange: false;
Accelerometer: false;
addEventListener: false;
ai: false;
AI: false;
AICreateMonitor: false;
AITextSession: false;
alert: false;
AnalyserNode: false;
Animation: false;
AnimationEffect: false;
AnimationEvent: false;
AnimationPlaybackEvent: false;
AnimationTimeline: false;
AsyncDisposableStack: false;
atob: false;
Attr: false;
Audio: false;
AudioBuffer: false;
AudioBufferSourceNode: false;
AudioContext: false;
AudioData: false;
AudioDecoder: false;
AudioDestinationNode: false;
AudioEncoder: false;
AudioListener: false;
AudioNode: false;
AudioParam: false;
AudioParamMap: false;
AudioProcessingEvent: false;
AudioScheduledSourceNode: false;
AudioSinkInfo: false;
AudioWorklet: false;
AudioWorkletGlobalScope: false;
AudioWorkletNode: false;
AudioWorkletProcessor: false;
AuthenticatorAssertionResponse: false;
AuthenticatorAttestationResponse: false;
AuthenticatorResponse: false;
BackgroundFetchManager: false;
BackgroundFetchRecord: false;
BackgroundFetchRegistration: false;
BarcodeDetector: false;
BarProp: false;
BaseAudioContext: false;
BatteryManager: false;
BeforeUnloadEvent: false;
BiquadFilterNode: false;
Blob: false;
BlobEvent: false;
Bluetooth: false;
BluetoothCharacteristicProperties: false;
BluetoothDevice: false;
BluetoothRemoteGATTCharacteristic: false;
BluetoothRemoteGATTDescriptor: false;
BluetoothRemoteGATTServer: false;
BluetoothRemoteGATTService: false;
BluetoothUUID: false;
blur: false;
BroadcastChannel: false;
BrowserCaptureMediaStreamTrack: false;
btoa: false;
ByteLengthQueuingStrategy: false;
Cache: false;
caches: false;
CacheStorage: false;
cancelAnimationFrame: false;
cancelIdleCallback: false;
CanvasCaptureMediaStream: false;
CanvasCaptureMediaStreamTrack: false;
CanvasGradient: false;
CanvasPattern: false;
CanvasRenderingContext2D: false;
CaptureController: false;
CaretPosition: false;
CDATASection: false;
ChannelMergerNode: false;
ChannelSplitterNode: false;
ChapterInformation: false;
CharacterBoundsUpdateEvent: false;
CharacterData: false;
clearInterval: false;
clearTimeout: false;
clientInformation: false;
Clipboard: false;
ClipboardChangeEvent: false;
ClipboardEvent: false;
ClipboardItem: false;
close: false;
closed: false;
CloseEvent: false;
CloseWatcher: false;
CommandEvent: false;
Comment: false;
CompositionEvent: false;
CompressionStream: false;
confirm: false;
console: false;
ConstantSourceNode: false;
ContentVisibilityAutoStateChangeEvent: false;
ConvolverNode: false;
CookieChangeEvent: false;
CookieDeprecationLabel: false;
cookieStore: false;
CookieStore: false;
CookieStoreManager: false;
CountQueuingStrategy: false;
createImageBitmap: false;
CreateMonitor: false;
Credential: false;
credentialless: false;
CredentialsContainer: false;
CropTarget: false;
crossOriginIsolated: false;
crypto: false;
Crypto: false;
CryptoKey: false;
CSPViolationReportBody: false;
CSS: false;
CSSAnimation: false;
CSSConditionRule: false;
CSSContainerRule: false;
CSSCounterStyleRule: false;
CSSFontFaceRule: false;
CSSFontFeatureValuesRule: false;
CSSFontPaletteValuesRule: false;
CSSFunctionDeclarations: false;
CSSFunctionDescriptors: false;
CSSFunctionRule: false;
CSSGroupingRule: false;
CSSImageValue: false;
CSSImportRule: false;
CSSKeyframeRule: false;
CSSKeyframesRule: false;
CSSKeywordValue: false;
CSSLayerBlockRule: false;
CSSLayerStatementRule: false;
CSSMarginRule: false;
CSSMathClamp: false;
CSSMathInvert: false;
CSSMathMax: false;
CSSMathMin: false;
CSSMathNegate: false;
CSSMathProduct: false;
CSSMathSum: false;
CSSMathValue: false;
CSSMatrixComponent: false;
CSSMediaRule: false;
CSSNamespaceRule: false;
CSSNestedDeclarations: false;
CSSNumericArray: false;
CSSNumericValue: false;
CSSPageDescriptors: false;
CSSPageRule: false;
CSSPerspective: false;
CSSPositionTryDescriptors: false;
CSSPositionTryRule: false;
CSSPositionValue: false;
CSSPropertyRule: false;
CSSRotate: false;
CSSRule: false;
CSSRuleList: false;
CSSScale: false;
CSSScopeRule: false;
CSSSkew: false;
CSSSkewX: false;
CSSSkewY: false;
CSSStartingStyleRule: false;
CSSStyleDeclaration: false;
CSSStyleRule: false;
CSSStyleSheet: false;
CSSStyleValue: false;
CSSSupportsRule: false;
CSSTransformComponent: false;
CSSTransformValue: false;
CSSTransition: false;
CSSTranslate: false;
CSSUnitValue: false;
CSSUnparsedValue: false;
CSSVariableReferenceValue: false;
CSSViewTransitionRule: false;
currentFrame: false;
currentTime: false;
CustomElementRegistry: false;
customElements: false;
CustomEvent: false;
CustomStateSet: false;
DataTransfer: false;
DataTransferItem: false;
DataTransferItemList: false;
DecompressionStream: false;
DelayNode: false;
DelegatedInkTrailPresenter: false;
DeviceMotionEvent: false;
DeviceMotionEventAcceleration: false;
DeviceMotionEventRotationRate: false;
DeviceOrientationEvent: false;
devicePixelRatio: false;
DevicePosture: false;
DigitalCredential: false;
dispatchEvent: false;
DisposableStack: false;
document: false;
Document: false;
DocumentFragment: false;
documentPictureInPicture: false;
DocumentPictureInPicture: false;
DocumentPictureInPictureEvent: false;
DocumentTimeline: false;
DocumentType: false;
DOMError: false;
DOMException: false;
DOMImplementation: false;
DOMMatrix: false;
DOMMatrixReadOnly: false;
DOMParser: false;
DOMPoint: false;
DOMPointReadOnly: false;
DOMQuad: false;
DOMRect: false;
DOMRectList: false;
DOMRectReadOnly: false;
DOMStringList: false;
DOMStringMap: false;
DOMTokenList: false;
DragEvent: false;
DynamicsCompressorNode: false;
EditContext: false;
Element: false;
ElementInternals: false;
EncodedAudioChunk: false;
EncodedVideoChunk: false;
ErrorEvent: false;
event: false;
Event: false;
EventCounts: false;
EventSource: false;
EventTarget: false;
external: false;
External: false;
EyeDropper: false;
FeaturePolicy: false;
FederatedCredential: false;
fence: false;
Fence: false;
FencedFrameConfig: false;
fetch: false;
fetchLater: false;
FetchLaterResult: false;
File: false;
FileList: false;
FileReader: false;
FileSystem: false;
FileSystemDirectoryEntry: false;
FileSystemDirectoryHandle: false;
FileSystemDirectoryReader: false;
FileSystemEntry: false;
FileSystemFileEntry: false;
FileSystemFileHandle: false;
FileSystemHandle: false;
FileSystemObserver: false;
FileSystemWritableFileStream: false;
find: false;
focus: false;
FocusEvent: false;
FontData: false;
FontFace: false;
FontFaceSet: false;
FontFaceSetLoadEvent: false;
FormData: false;
FormDataEvent: false;
FragmentDirective: false;
frameElement: false;
frames: false;
GainNode: false;
Gamepad: false;
GamepadAxisMoveEvent: false;
GamepadButton: false;
GamepadButtonEvent: false;
GamepadEvent: false;
GamepadHapticActuator: false;
GamepadPose: false;
Geolocation: false;
GeolocationCoordinates: false;
GeolocationPosition: false;
GeolocationPositionError: false;
getComputedStyle: false;
getScreenDetails: false;
getSelection: false;
GPU: false;
GPUAdapter: false;
GPUAdapterInfo: false;
GPUBindGroup: false;
GPUBindGroupLayout: false;
GPUBuffer: false;
GPUBufferUsage: false;
GPUCanvasContext: false;
GPUColorWrite: false;
GPUCommandBuffer: false;
GPUCommandEncoder: false;
GPUCompilationInfo: false;
GPUCompilationMessage: false;
GPUComputePassEncoder: false;
GPUComputePipeline: false;
GPUDevice: false;
GPUDeviceLostInfo: false;
GPUError: false;
GPUExternalTexture: false;
GPUInternalError: false;
GPUMapMode: false;
GPUOutOfMemoryError: false;
GPUPipelineError: false;
GPUPipelineLayout: false;
GPUQuerySet: false;
GPUQueue: false;
GPURenderBundle: false;
GPURenderBundleEncoder: false;
GPURenderPassEncoder: false;
GPURenderPipeline: false;
GPUSampler: false;
GPUShaderModule: false;
GPUShaderStage: false;
GPUSupportedFeatures: false;
GPUSupportedLimits: false;
GPUTexture: false;
GPUTextureUsage: false;
GPUTextureView: false;
GPUUncapturedErrorEvent: false;
GPUValidationError: false;
GravitySensor: false;
Gyroscope: false;
HashChangeEvent: false;
Headers: false;
HID: false;
HIDConnectionEvent: false;
HIDDevice: false;
HIDInputReportEvent: false;
Highlight: false;
HighlightRegistry: false;
history: false;
History: false;
HTMLAllCollection: false;
HTMLAnchorElement: false;
HTMLAreaElement: false;
HTMLAudioElement: false;
HTMLBaseElement: false;
HTMLBodyElement: false;
HTMLBRElement: false;
HTMLButtonElement: false;
HTMLCanvasElement: false;
HTMLCollection: false;
HTMLDataElement: false;
HTMLDataListElement: false;
HTMLDetailsElement: false;
HTMLDialogElement: false;
HTMLDirectoryElement: false;
HTMLDivElement: false;
HTMLDListElement: false;
HTMLDocument: false;
HTMLElement: false;
HTMLEmbedElement: false;
HTMLFencedFrameElement: false;
HTMLFieldSetElement: false;
HTMLFontElement: false;
HTMLFormControlsCollection: false;
HTMLFormElement: false;
HTMLFrameElement: false;
HTMLFrameSetElement: false;
HTMLHeadElement: false;
HTMLHeadingElement: false;
HTMLHRElement: false;
HTMLHtmlElement: false;
HTMLIFrameElement: false;
HTMLImageElement: false;
HTMLInputElement: false;
HTMLLabelElement: false;
HTMLLegendElement: false;
HTMLLIElement: false;
HTMLLinkElement: false;
HTMLMapElement: false;
HTMLMarqueeElement: false;
HTMLMediaElement: false;
HTMLMenuElement: false;
HTMLMetaElement: false;
HTMLMeterElement: false;
HTMLModElement: false;
HTMLObjectElement: false;
HTMLOListElement: false;
HTMLOptGroupElement: false;
HTMLOptionElement: false;
HTMLOptionsCollection: false;
HTMLOutputElement: false;
HTMLParagraphElement: false;
HTMLParamElement: false;
HTMLPictureElement: false;
HTMLPreElement: false;
HTMLProgressElement: false;
HTMLQuoteElement: false;
HTMLScriptElement: false;
HTMLSelectedContentElement: false;
HTMLSelectElement: false;
HTMLSlotElement: false;
HTMLSourceElement: false;
HTMLSpanElement: false;
HTMLStyleElement: false;
HTMLTableCaptionElement: false;
HTMLTab