UNPKG

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
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