@oxlint/migrate
Version:
Generates a `.oxlintrc.json` from a existing eslint flat config
1,193 lines • 230 kB
text/typescript
/**
* What to enforce for `/// <reference path="..." />` references.
*/
/**
* What to enforce for `/// <reference types="..." />` references.
*/
//#region node_modules/.pnpm/oxlint@1.73.0_oxlint-tsgolint@0.24.0/node_modules/oxlint/dist/index.d.ts
//#region src-js/package/config.generated.d.ts
type AllowWarnDeny = ("allow" | "off" | "warn" | "error" | "deny") | number;
type GlobalValue = ("readonly" | "writable" | "off") | undefined;
type ExternalPluginEntry = string | {
/**
* Custom name/alias for the plugin.
*
* Note: The following plugin names are reserved because they are implemented natively in Rust within oxlint and cannot be used for JS plugins:
* - react (includes react-hooks)
* - unicorn
* - typescript (includes @typescript-eslint)
* - oxc
* - import (includes import-x)
* - jsdoc
* - jest
* - vitest
* - jsx-a11y (includes jsx-a11y-x)
* - nextjs
* - react-perf
* - promise
* - node
* - vue
* - eslint
*
* If you need to use the JavaScript version of any of these plugins, provide a custom alias to avoid conflicts.
*/
name: string;
/**
* Path or package name of the plugin
*/
specifier: string;
};
/**
* A set of glob patterns.
* Patterns are matched against paths relative to the configuration file's directory.
*/
type GlobSet = string[];
type LintPluginOptionsSchema = "eslint" | "react" | "unicorn" | "typescript" | "oxc" | "import" | "jsdoc" | "jest" | "vitest" | "jsx-a11y" | "nextjs" | "react-perf" | "promise" | "node" | "vue";
type LintPlugins = LintPluginOptionsSchema[];
type RuleNoConfig = AllowWarnDeny | [AllowWarnDeny];
type Mode2 = "as-needed" | "always" | "never";
type AlwaysNever = "always" | "never";
type OptionsJsonEnum = CommentConfigJson | {
block?: CommentConfigJson;
line?: CommentConfigJson;
};
type IgnoreClassWithImplements = "all" | "public-fields";
type ComplexityConfigEnum = number | ComplexityConfig;
type Variant = "classic" | "modified";
/**
* The enforcement type for the curly rule.
*/
type CurlyType = "all" | "multi" | "multi-line" | "multi-or-nest";
/**
* The optional second element of the curly config array.
* When set to `"consistent"`, enforces consistent brace usage within if-else chains.
*/
type CurlyConsistent = "consistent";
type CompareType = "always" | "smart";
type NullType = "always" | "never" | "ignore";
type FuncNameMatchingMode = "always" | "never";
type FuncNamesConfigType = "always" | "as-needed" | "never";
type Style = "expression" | "declaration";
type NamedExports = "ignore" | "expression" | "declaration";
type PairOrder = "anyOrder" | "getBeforeSet" | "setBeforeGet";
type Mode = "prefer-top-level" | "prefer-inline";
/**
* Extension rule configuration; Copy to avoid extra indirection.
*/
type ExtensionRule = "always" | "never" | "ignorePackages";
type ImportExtensionsObject = ImportExtensionsConfig | {
[k: string]: ExtensionRule;
};
/**
* Action to take for path group overrides.
*
* Determines how import extensions are validated for matching bespoke import specifiers.
*/
type PathGroupAction = "enforce" | "ignore";
type AbsoluteFirst = "absolute-first" | "disable-absolute-first";
type MaxDependenciesConfigJson = number | MaxDependenciesConfig;
type Target = "single" | "any";
type TestCaseName = "it" | "test";
type JestFnType = "hook" | "describe" | "test" | "expect" | "jest" | "unknown";
type DummyRule = AllowWarnDeny | [AllowWarnDeny, ...unknown[]];
type SnapshotHintMode = "always" | "multi";
type AltTextElements = "img" | "object" | "area" | 'input[type="image"]';
type AnchorIsValidAspect = "noHref" | "invalidHref" | "preferButton";
type Assert = "htmlFor" | "nesting" | "both" | "either";
type DistractingElement = "marquee" | "blink";
type MaxClassesPerFileConfigEnum = number | MaxClassesPerFileConfig;
type MaxDepthConfigEnum = number | MaxDepth;
type MaxLinesConfigEnum = number | MaxLinesConfig;
type MaxLinesPerFunctionConfigEnum = number | MaxLinesPerFunctionConfig;
type MaxNestedCallbacksConfigEnum = number | MaxNestedCallbacks;
type MaxParamsConfigEnum = number | MaxParamsConfig;
type CountThis = "always" | "never" | "except-void";
type MaxStatementsConfigEnum = number | MaxStatementsConfig;
type NoCondAssignConfig = "except-parens" | "always";
type CheckLoopsConfig = boolean | CheckLoops;
type CheckLoops = "all" | "allExceptWhileTrue" | "none";
/**
* Kinds of functions that can be allowed to be empty.
*/
type AllowKind = "functions" | "arrowFunctions" | "generatorFunctions" | "methods" | "generatorMethods" | "getters" | "setters" | "constructors" | "asyncFunctions" | "asyncMethods" | "privateConstructors" | "protectedConstructors" | "decoratedFunctions" | "overrideMethods";
/**
* Determines what type of declarations to check.
*/
type NoInnerDeclarationsConfig = "functions" | "both";
type BlockScopedFunctions = "allow" | "disallow";
type NoMagicNumbersNumber = number | string;
type NoRestrictedImportsConfigEnum = string | RestrictedPath | NoRestrictedImportsConfig;
type PossiblePaths = string | RestrictedPath;
type PossiblePatterns = string | RestrictedPattern;
type NoReturnAssignMode = "always" | "except-parens";
/**
* Controls how hoisting is handled when checking for shadowing.
*/
type HoistOption = "all" | "functions" | "functions-and-types" | "never" | "types";
type LoopType = "WhileStatement" | "DoWhileStatement" | "ForStatement" | "ForInStatement" | "ForOfStatement";
type NoUnusedVarsConfig = VarsOption | NoUnusedVarsOptions;
type VarsOption = "all" | "local";
type ArgsOption = "after-used" | "all" | "none";
type IgnorePatternFor_String = null | string;
type CaughtErrorsJson = "all" | "none";
type NoUnusedVarsFixMode = "off" | "suggestion" | "fix" | "safe-fix";
type NoUseBeforeDefineConfigJson = Nofunc | NoUseBeforeDefineConfig;
type Nofunc = "nofunc";
type Location = "start" | "anywhere";
/**
* The rule takes a single option - an array of possible callback names - which may include object methods. The default callback names are `callback`, `cb`, `next`.
*/
type CallbackReturn = string[];
/**
* The rule takes a single string option: the name of the error parameter.
*
* This can be either:
* - an exact name (e.g. `"err"`, `"error"`)
* - a regexp pattern (e.g. `"^(err|error)$"`)
*
* If the configured name of the error variable begins with a `^` it is considered to be a regexp pattern.
* Invalid regexp patterns are rejected during configuration parsing.
*
* Default: `"err"`.
*/
type HandleCallbackErrConfig = string;
type NoMixedRequiresConfig = boolean | NoMixedRequiresOptions;
type ShorthandType = "always" | "methods" | "properties" | "consistent" | "consistent-as-needed" | "never";
type Destructuring = "any" | "all";
type PreferDestructuringOption = PreferDestructuringTargetOption | PreferDestructuringAssignmentConfig;
type TerminationMethod = string | string[];
type RadixType = "always" | "as-needed";
type NativeAllowList = AllKeyword | string[];
type AllKeyword = "all";
/**
* A forbidden prop, either as a plain prop name string or with options.
*/
type ForbidItem = string | ForbidItemObject;
/**
* A forbidden prop, either as a plain prop name string or with options.
*/
type ForbidDomPropsItem = string | PropWithOptions;
/**
* A forbidden element, either as a plain element name or with a custom message.
*/
type ForbidItem2 = string | {
/**
* The element name to forbid.
*/
element: string;
/**
* The message to display when this element is found
*/
message?: string;
};
type EnforceBooleanAttribute = "always" | "never";
type JsxCurlyBracePresenceConfig = JsxCurlyBracePresenceMode | JsxCurlyBracePresence;
type JsxCurlyBracePresenceMode = "always" | "never" | "ignore";
type JsxFilenameExtensionAllowMode = "always" | "as-needed";
type FragmentMode = "syntax" | "element";
type EnforceDynamicLinksEnum = "always" | "never";
type IgnoreEnforceOption = "ignore" | "enforce";
type AllowedOrDisallowInFunc = "allowed" | "disallow-in-func";
type RequireFlag = "u" | "v";
type ImportKind = "none" | "all" | "multiple" | "single";
/**
* Sorting order for keys. Accepts "asc" for ascending or "desc" for descending.
*/
type SortOrder = "desc" | "asc";
type ArrayOption = "array" | "array-simple" | "generic";
type ReadonlyArrayOption = "array" | "array-simple" | "generic";
type DirectiveConfigSchema = boolean | RequireDescription | {
descriptionFormat?: string;
};
type RequireDescription = "allow-with-description";
type ClassLiteralPropertyStyleOption = "fields" | "getters";
type PreferGenericType = "constructor" | "type-annotation";
type ConsistentIndexedObjectStyleConfig = "record" | "index-signature";
type ArrayLiteralTypeAssertions = "allow" | "allow-as-parameter" | "never";
type AssertionStyle = "as" | "angle-bracket" | "never";
type ObjectLiteralTypeAssertions = "allow" | "allow-as-parameter" | "never";
type ConsistentTypeDefinitionsConfig = "interface" | "type";
type FixStyle = "separate-type-imports" | "inline-type-imports";
type Prefer = "type-imports" | "no-type-imports";
type AccessibilityLevel = "explicit" | "no-public" | "off";
type MethodSignatureStyleConfig = "property" | "method";
/**
* Type or value specifier for matching specific declarations
*
* Supports four types of specifiers:
*
* 1. **String specifier** (deprecated): Universal match by name
* ```json
* "Promise"
* ```
*
* 2. **File specifier**: Match types/values declared in local files
* ```json
* { "from": "file", "name": "MyType" }
* { "from": "file", "name": ["Type1", "Type2"] }
* { "from": "file", "name": "MyType", "path": "./types.ts" }
* ```
*
* 3. **Lib specifier**: Match TypeScript built-in lib types
* ```json
* { "from": "lib", "name": "Promise" }
* { "from": "lib", "name": ["Promise", "PromiseLike"] }
* ```
*
* 4. **Package specifier**: Match types/values from npm packages
* ```json
* { "from": "package", "name": "Observable", "package": "rxjs" }
* { "from": "package", "name": ["Observable", "Subject"], "package": "rxjs" }
* ```
*/
type TypeOrValueSpecifier = string | FileSpecifier | LibSpecifier | PackageSpecifier;
type FileFrom = "file";
/**
* Name specifier that can be a single string or array of strings
*/
type NameSpecifier = string | string[];
type LibFrom = "lib";
type PackageFrom = "package";
type AllowInterfaces = "never" | "always" | "with-single-extends";
type AllowObjectTypes = "never" | "always";
type AllowInGenericTypeArguments = boolean | string[];
type ChecksVoidReturn = boolean | ChecksVoidReturnOptions;
/**
* Represents the different ways a ban config can be specified in JSON.
* Can be:
* - `true` - ban with default message
* - A string - ban with custom message
* - An object with `message` and optional `fixWith` and `suggest`
*/
type BanConfigValue = (True | string | {
/**
* Replacement type for automatic fixing. Applied directly with `--fix`.
*/
fixWith?: string;
/**
* Custom message explaining why the type is banned.
*/
message?: string;
/**
* Suggested replacement types for manual review. Shown as editor suggestions.
*/
suggest?: string[];
}) | undefined;
type True = true;
/**
* Represents the different ways `allowConstantLoopConditions` can be specified in JSON.
* Can be:
* - `true` or `false`
* - A string enum (`"never"`, `"always"`, `"only-allowed-literals"`)
*/
type AllowConstantLoopConditions = boolean | AllowConstantLoopConditionsMode;
type AllowConstantLoopConditionsMode = "never" | "always" | "only-allowed-literals";
type Modifier = "private" | "private readonly" | "protected" | "protected readonly" | "public" | "public readonly" | "readonly";
type Prefer2 = "class-property" | "parameter-property";
/**
* Represents the different ways `ignorePrimitives` can be specified in JSON.
* Can be:
* - `true` - ignore all primitive types
* - An object specifying which primitives to ignore
*/
type IgnorePrimitives = boolean | IgnorePrimitivesOptions;
type AllowSingleElementEquality = "always" | "never";
type ReturnAwaitOption = "in-try-catch" | "always" | "error-handling-correctness-only" | "never";
type PathOption = "always" | "never";
type TypesOption = "always" | "never" | "prefer-import";
type BomOptionType = "always" | "never";
type NonZero = "greater-than" | "not-equal";
type ExplicitTimerDelayMode = "always" | "never";
type ModuleStylesOverride = (false | {
/**
* Whether default imports or whole-module `require()` assignments are allowed for this module.
*
* With `{ "styles": { "chalk": { "default": true } } }`, this is valid:
* ```js
* import chalk from "chalk";
* ```
*/
default?: boolean;
/**
* Whether named imports or destructured `require()` calls are allowed for this module.
*
* With `{ "styles": { "node:util": { "named": true } } }`, this is valid:
* ```js
* import {promisify} from "node:util";
* ```
*/
named?: boolean;
/**
* Whether namespace imports or whole-module `require()` assignments are allowed for this module.
*
* With `{ "styles": { "node:fs": { "namespace": true } } }`, this is valid:
* ```js
* import * as fs from "node:fs";
* ```
*/
namespace?: boolean;
/**
* Whether side-effect imports or unassigned dynamic imports/requires are allowed for this module.
*
* With `{ "styles": { "polyfill": { "unassigned": true } } }`, this is valid:
* ```js
* import "polyfill";
* ```
*/
unassigned?: boolean;
}) | undefined;
type NoInstanceofBuiltinsStrategy = "strict" | "loose";
type PreferTernaryOption = "always" | "only-single-line";
type RelativeUrlStyleConfig = "never" | "always";
type SwitchCaseBracesConfig = "always" | "avoid";
type MemberNames = "for" | "each";
type VitestFnName = "vi" | "vitest";
type CaseType = "PascalCase" | "kebab-case";
type DeclarationStyle = "type-based" | "type-literal" | "runtime";
type DeclarationStyle2 = "type-based" | "runtime";
type Destructure = "only-when-assigned" | "always" | "never";
type NextTickOption = "promise" | "callback";
type CaseType2 = "camelCase" | "snake_case";
type AllowYoda = "never" | "always";
type OxlintOverrides = OxlintOverride[];
type JestVersionSchema = number | string;
type TagNamePreference = (string | {
message: string;
replacement: string;
[k: string]: unknown | undefined;
} | {
message: string;
[k: string]: unknown | undefined;
} | boolean) | undefined;
type OneOrManyFor_String = string | string[];
type CustomComponent = string | {
attribute: string;
name: string;
[k: string]: unknown | undefined;
} | {
attributes: string[];
name: string;
[k: string]: unknown | undefined;
};
/**
* Oxlint Configuration File
*
* This configuration is aligned with ESLint v8's configuration schema (`eslintrc.json`).
*
* Usage: `oxlint -c oxlintrc.json`
*
* Example
*
* `.oxlintrc.json`
*
* ```json
* {
* "$schema": "./node_modules/oxlint/configuration_schema.json",
* "plugins": [
* "import",
* "typescript",
* "unicorn"
* ],
* "env": {
* "browser": true
* },
* "globals": {
* "foo": "readonly"
* },
* "settings": {
* "react": {
* "version": "18.2.0"
* },
* "custom": {
* "option": true
* }
* },
* "rules": {
* "eqeqeq": "warn",
* "import/no-cycle": "error",
* "react/self-closing-comp": [
* "error",
* {
* "html": false
* }
* ]
* },
* "overrides": [
* {
* "files": [
* "*.test.ts",
* "*.spec.ts"
* ],
* "rules": {
* "@typescript-eslint/no-explicit-any": "off"
* }
* }
* ]
* }
* ```
*
* `oxlint.config.ts`
*
* ```ts
* import { defineConfig } from "oxlint";
*
* export default defineConfig({
* plugins: ["import", "typescript", "unicorn"],
* env: {
* "browser": true
* },
* globals: {
* "foo": "readonly"
* },
* settings: {
* react: {
* version: "18.2.0"
* },
* custom: { option: true }
* },
* rules: {
* "eqeqeq": "warn",
* "import/no-cycle": "error",
* "react/self-closing-comp": ["error", { "html": false }]
* },
* overrides: [
* {
* files: ["*.test.ts", "*.spec.ts"],
* rules: {
* "@typescript-eslint/no-explicit-any": "off"
* }
* }
* ]
* });
* ```
*/
interface Oxlintrc$1 {
/**
* Schema URI for editor tooling.
*/
$schema?: string;
categories?: RuleCategories;
/**
* Environments enable and disable collections of global variables.
*/
env?: OxlintEnv;
/**
* Paths of configuration files that this configuration file extends (inherits from). The files
* are resolved relative to the location of the configuration file that contains the `extends`
* property. The configuration files are merged from the first to the last, with the last file
* overriding the previous ones.
*/
extends?: string[];
/**
* Enabled or disabled specific global variables.
*/
globals?: OxlintGlobals;
/**
* Globs to ignore during linting. These are resolved from the configuration file path.
*/
ignorePatterns?: string[];
/**
* JS plugins, allows usage of ESLint plugins with Oxlint.
*
* Read more about JS plugins in
* [the docs](https://oxc.rs/docs/guide/usage/linter/js-plugins.html).
*
* Note: JS plugins are in alpha and not subject to semver.
*
* Examples:
*
* Basic usage with a local plugin path.
*
* ```json
* {
* "jsPlugins": [
* "./custom-plugin.js"
* ],
* "rules": {
* "custom/rule-name": "warn"
* }
* }
* ```
*
* Basic usage with a TypeScript plugin and a local plugin path.
*
* TypeScript plugin files are supported in the following environments:
* - Deno and Bun: TypeScript files are supported natively.
* - Node.js >=22.18.0 and Node.js ^20.19.0: TypeScript files are supported natively with built-in
* type-stripping enabled by default.
*
* For older Node.js versions, TypeScript plugins are not supported. Please use JavaScript plugins or upgrade your Node version.
*
* ```json
* {
* "jsPlugins": [
* "./custom-plugin.ts"
* ],
* "rules": {
* "custom/rule-name": "warn"
* }
* }
* ```
*
* Using a built-in Rust plugin alongside a JS plugin with the same name
* by giving the JS plugin an alias.
*
* ```json
* {
* "plugins": [
* "import"
* ],
* "jsPlugins": [
* {
* "name": "import-js",
* "specifier": "eslint-plugin-import"
* }
* ],
* "rules": {
* "import/no-cycle": "error",
* "import-js/no-unresolved": "warn"
* }
* }
* ```
*/
jsPlugins?: null | ExternalPluginEntry[];
/**
* Oxlint config options.
*/
options?: OxlintOptions;
/**
* Add, remove, or otherwise reconfigure rules for specific files or groups of files.
*/
overrides?: OxlintOverrides;
/**
* Enabled built-in plugins for Oxlint.
* You can view the list of available plugins on
* [the website](https://oxc.rs/docs/guide/usage/linter/plugins.html#supported-plugins).
*
* NOTE: Setting the `plugins` field will overwrite the base set of plugins.
* The `plugins` array should reflect all of the plugins you want to use.
*/
plugins?: LintPlugins;
/**
* Example
*
* `.oxlintrc.json`
*
* ```json
* {
* "$schema": "./node_modules/oxlint/configuration_schema.json",
* "rules": {
* "eqeqeq": "warn",
* "import/no-cycle": "error",
* "prefer-const": [
* "error",
* {
* "ignoreReadBeforeAssign": true
* }
* ]
* }
* }
* ```
*
* See [Oxlint Rules](https://oxc.rs/docs/guide/usage/linter/rules.html) for the list of
* rules.
*/
rules?: DummyRuleMap;
/**
* Plugin-specific configuration for both built-in and custom plugins.
* This includes settings for built-in plugins such as `react` and `jsdoc`
* as well as configuring settings for JS custom plugins loaded via `jsPlugins`.
*/
settings?: OxlintPluginSettings;
}
/**
* Configure an entire category of rules all at once.
*
* Rules enabled or disabled this way will be overwritten by individual rules in the `rules` field.
*
* Example
* ```json
* {
* "$schema": "./node_modules/oxlint/configuration_schema.json",
* "categories": {
* "correctness": "warn"
* },
* "rules": {
* "eslint/no-unused-vars": "error"
* }
* }
* ```
*/
interface RuleCategories {
correctness?: AllowWarnDeny;
nursery?: AllowWarnDeny;
pedantic?: AllowWarnDeny;
perf?: AllowWarnDeny;
restriction?: AllowWarnDeny;
style?: AllowWarnDeny;
suspicious?: AllowWarnDeny;
}
/**
* Predefine global variables.
*
* Environments specify what global variables are predefined.
* Available environments:
* - amd - require() and define() globals.
* - applescript - AppleScript globals.
* - astro - Astro globals.
* - atomtest - Atom test globals.
* - audioworklet - AudioWorklet globals.
* - browser - browser globals.
* - builtin - Latest ECMAScript globals, equivalent to es2026.
* - commonjs - CommonJS globals and scoping.
* - embertest - Ember test globals.
* - es2015 - ECMAScript 2015 globals.
* - es2016 - ECMAScript 2016 globals.
* - es2017 - ECMAScript 2017 globals.
* - es2018 - ECMAScript 2018 globals.
* - es2019 - ECMAScript 2019 globals.
* - es2020 - ECMAScript 2020 globals.
* - es2021 - ECMAScript 2021 globals.
* - es2022 - ECMAScript 2022 globals.
* - es2023 - ECMAScript 2023 globals.
* - es2024 - ECMAScript 2024 globals.
* - es2025 - ECMAScript 2025 globals.
* - es2026 - ECMAScript 2026 globals.
* - es6 - ECMAScript 6 globals except modules.
* - greasemonkey - GreaseMonkey globals.
* - jasmine - Jasmine globals.
* - jest - Jest globals.
* - jquery - jQuery globals.
* - meteor - Meteor globals.
* - mocha - Mocha globals.
* - mongo - MongoDB globals.
* - nashorn - Java 8 Nashorn globals.
* - node - Node.js globals and scoping.
* - phantomjs - PhantomJS globals.
* - prototypejs - Prototype.js globals.
* - protractor - Protractor globals.
* - qunit - QUnit globals.
* - serviceworker - Service Worker globals.
* - shared-node-browser - Node.js and Browser common globals.
* - shelljs - ShellJS globals.
* - svelte - Svelte globals.
* - vitest - Vitest globals.
* - vue - Vue globals.
* - webextensions - WebExtensions globals.
* - worker - Web Workers globals.
*/
interface OxlintEnv {
[k: string]: boolean | undefined;
}
/**
* Add or remove global variables.
*
* For each global variable, set the corresponding value equal to `"writable"`
* to allow the variable to be overwritten or `"readonly"` to disallow overwriting.
*
* Globals can be disabled by setting their value to `"off"`. For example, in
* an environment where most Es2015 globals are available but `Promise` is unavailable,
* you might use this config:
*
* ```json
* {
* "$schema": "./node_modules/oxlint/configuration_schema.json",
* "env": {
* "es6": true
* },
* "globals": {
* "Promise": "off"
* }
* }
* ```
*
* You may also use `"readable"` or `false` to represent `"readonly"`, and
* `"writeable"` or `true` to represent `"writable"`.
*/
interface OxlintGlobals {
[k: string]: GlobalValue | undefined;
}
/**
* Options for the linter.
*/
interface OxlintOptions {
/**
* Ensure warnings produce a non-zero exit code.
*
* Equivalent to passing `--deny-warnings` on the CLI.
*/
denyWarnings?: boolean;
/**
* Specify a warning threshold. Exits with an error status if warnings exceed this value.
*
* Equivalent to passing `--max-warnings` on the CLI.
*/
maxWarnings?: number;
/**
* Report unused disable directives (e.g. `// oxlint-disable-line` or `// eslint-disable-line`).
*
* Equivalent to passing `--report-unused-disable-directives-severity` on the CLI.
* CLI flags take precedence over this value when both are set.
* Only supported in the root configuration file.
*/
reportUnusedDisableDirectives?: AllowWarnDeny;
/**
* Whether oxlint should respect `eslint-disable*` and `eslint-enable*`
* directives in addition to its native `oxlint-*` directives.
*
* Defaults to `true`.
* Only supported in the root configuration file.
*/
respectEslintDisableDirectives?: boolean;
/**
* Enable rules that require type information.
*
* Equivalent to passing `--type-aware` on the CLI.
*
* Note that this requires the `oxlint-tsgolint` package to be installed.
*/
typeAware?: boolean;
/**
* Enable experimental type checking (includes TypeScript compiler diagnostics).
*
* Equivalent to passing `--type-check` on the CLI.
*
* Note that this requires the `oxlint-tsgolint` package to be installed.
*/
typeCheck?: boolean;
}
interface OxlintOverride {
/**
* Environments enable and disable collections of global variables.
*/
env?: OxlintEnv;
/**
* A list of glob patterns to exclude from this override.
*
* Files matching these patterns are not globally ignored; this override
* simply does not apply to them.
*
* ## Example
* `[ "*.generated.ts", "fixtures/**" ]`
*/
excludeFiles?: GlobSet;
/**
* A list of glob patterns to override.
*
* ## Example
* `[ "*.test.ts", "*.spec.ts" ]`
*/
files: GlobSet;
/**
* Enabled or disabled specific global variables.
*/
globals?: OxlintGlobals;
/**
* JS plugins for this override, allows usage of ESLint plugins with Oxlint.
*
* Read more about JS plugins in
* [the docs](https://oxc.rs/docs/guide/usage/linter/js-plugins.html).
*
* Note: JS plugins are in alpha and not subject to semver.
*/
jsPlugins?: null | ExternalPluginEntry[];
/**
* Optionally change what plugins are enabled for this override. When
* omitted, the base config's plugins are used.
*/
plugins?: LintPlugins;
rules?: DummyRuleMap;
}
/**
* See [Oxlint Rules](https://oxc.rs/docs/guide/usage/linter/rules.html)
*/
interface DummyRuleMap {
"accessor-pairs"?: RuleNoConfig | [AllowWarnDeny, AccessorPairsConfig];
"array-callback-return"?: RuleNoConfig | [AllowWarnDeny, ArrayCallbackReturn];
"arrow-body-style"?: RuleNoConfig | [AllowWarnDeny, Mode2] | [AllowWarnDeny, Mode2, ArrowBodyStyleConfig];
"block-scoped-var"?: RuleNoConfig;
"capitalized-comments"?: RuleNoConfig | [AllowWarnDeny, AlwaysNever] | [AllowWarnDeny, AlwaysNever, OptionsJsonEnum];
"class-methods-use-this"?: RuleNoConfig | [AllowWarnDeny, ClassMethodsUseThisConfig];
complexity?: RuleNoConfig | [AllowWarnDeny, ComplexityConfigEnum];
"constructor-super"?: RuleNoConfig;
curly?: RuleNoConfig | [AllowWarnDeny, CurlyType] | [AllowWarnDeny, CurlyType, CurlyConsistent];
"default-case"?: RuleNoConfig | [AllowWarnDeny, DefaultCaseConfig];
"default-case-last"?: RuleNoConfig;
"default-param-last"?: RuleNoConfig;
eqeqeq?: RuleNoConfig | [AllowWarnDeny, CompareType] | [AllowWarnDeny, CompareType, EqeqeqOptions];
"for-direction"?: RuleNoConfig;
"func-name-matching"?: RuleNoConfig | ([AllowWarnDeny, FuncNameMatchingMode] | [AllowWarnDeny, FuncNameMatchingMode, FuncNameMatchingConfig] | [AllowWarnDeny, FuncNameMatchingMode] | [AllowWarnDeny, FuncNameMatchingConfig]);
"func-names"?: RuleNoConfig | [AllowWarnDeny, FuncNamesConfigType] | [AllowWarnDeny, FuncNamesConfigType, FuncNamesGeneratorsConfig];
"func-style"?: RuleNoConfig | [AllowWarnDeny, Style] | [AllowWarnDeny, Style, FuncStyleConfig];
"getter-return"?: RuleNoConfig | [AllowWarnDeny, GetterReturn];
"grouped-accessor-pairs"?: RuleNoConfig | [AllowWarnDeny, PairOrder] | [AllowWarnDeny, PairOrder, GroupedAccessorPairsConfig];
"guard-for-in"?: RuleNoConfig;
"id-length"?: RuleNoConfig | [AllowWarnDeny, IdLengthConfig];
"id-match"?: RuleNoConfig | [AllowWarnDeny, string] | [AllowWarnDeny, string, IdMatchOptions];
"import/consistent-type-specifier-style"?: RuleNoConfig | [AllowWarnDeny, Mode];
"import/default"?: RuleNoConfig;
"import/export"?: RuleNoConfig;
"import/exports-last"?: RuleNoConfig;
"import/extensions"?: RuleNoConfig | ([AllowWarnDeny, ExtensionRule] | [AllowWarnDeny, ExtensionRule, ImportExtensionsObject] | [AllowWarnDeny, ExtensionRule] | [AllowWarnDeny, ImportExtensionsObject]);
"import/first"?: RuleNoConfig | [AllowWarnDeny, AbsoluteFirst];
"import/group-exports"?: RuleNoConfig;
"import/max-dependencies"?: RuleNoConfig | [AllowWarnDeny, MaxDependenciesConfigJson];
"import/named"?: RuleNoConfig;
"import/namespace"?: RuleNoConfig | [AllowWarnDeny, Namespace];
"import/newline-after-import"?: RuleNoConfig | [AllowWarnDeny, NewlineAfterImport];
"import/no-absolute-path"?: RuleNoConfig | [AllowWarnDeny, NoAbsolutePath];
"import/no-amd"?: RuleNoConfig;
"import/no-anonymous-default-export"?: RuleNoConfig | [AllowWarnDeny, NoAnonymousDefaultExport];
"import/no-commonjs"?: RuleNoConfig | [AllowWarnDeny, NoCommonjs];
"import/no-cycle"?: RuleNoConfig | [AllowWarnDeny, NoCycle];
"import/no-default-export"?: RuleNoConfig;
"import/no-duplicates"?: RuleNoConfig | [AllowWarnDeny, NoDuplicates];
"import/no-dynamic-require"?: RuleNoConfig | [AllowWarnDeny, NoDynamicRequire];
"import/no-empty-named-blocks"?: RuleNoConfig;
"import/no-mutable-exports"?: RuleNoConfig;
"import/no-named-as-default"?: RuleNoConfig;
"import/no-named-as-default-member"?: RuleNoConfig;
"import/no-named-default"?: RuleNoConfig;
"import/no-named-export"?: RuleNoConfig;
"import/no-namespace"?: RuleNoConfig | [AllowWarnDeny, NoNamespaceConfig];
"import/no-nodejs-modules"?: RuleNoConfig | [AllowWarnDeny, NoNodejsModulesConfig];
"import/no-relative-parent-imports"?: RuleNoConfig;
"import/no-self-import"?: RuleNoConfig;
"import/no-unassigned-import"?: RuleNoConfig | [AllowWarnDeny, NoUnassignedImportConfig];
"import/no-webpack-loader-syntax"?: RuleNoConfig;
"import/prefer-default-export"?: RuleNoConfig | [AllowWarnDeny, PreferDefaultExport];
"import/unambiguous"?: RuleNoConfig;
"init-declarations"?: RuleNoConfig | [AllowWarnDeny, AlwaysNever] | [AllowWarnDeny, AlwaysNever, InitDeclarationsConfig];
"jest/consistent-test-it"?: RuleNoConfig | [AllowWarnDeny, ConsistentTestItConfig];
"jest/expect-expect"?: RuleNoConfig | [AllowWarnDeny, ExpectExpectConfig];
"jest/max-expects"?: RuleNoConfig | [AllowWarnDeny, MaxExpectsConfig];
"jest/max-nested-describe"?: RuleNoConfig | [AllowWarnDeny, MaxNestedDescribeConfig];
"jest/no-alias-methods"?: RuleNoConfig;
"jest/no-commented-out-tests"?: RuleNoConfig;
"jest/no-conditional-expect"?: RuleNoConfig;
"jest/no-conditional-in-test"?: RuleNoConfig;
"jest/no-confusing-set-timeout"?: RuleNoConfig;
"jest/no-deprecated-functions"?: RuleNoConfig | [AllowWarnDeny, NoDeprecatedFunctionsConfig];
"jest/no-disabled-tests"?: RuleNoConfig;
"jest/no-done-callback"?: RuleNoConfig;
"jest/no-duplicate-hooks"?: RuleNoConfig;
"jest/no-export"?: RuleNoConfig;
"jest/no-focused-tests"?: RuleNoConfig;
"jest/no-hooks"?: RuleNoConfig | [AllowWarnDeny, NoHooksConfig];
"jest/no-identical-title"?: RuleNoConfig;
"jest/no-interpolation-in-snapshots"?: RuleNoConfig;
"jest/no-jasmine-globals"?: RuleNoConfig;
"jest/no-large-snapshots"?: RuleNoConfig | [AllowWarnDeny, NoLargeSnapshotsConfig];
"jest/no-mocks-import"?: RuleNoConfig;
"jest/no-restricted-jest-methods"?: RuleNoConfig | [AllowWarnDeny, NoRestrictedTestMethodsConfig];
"jest/no-restricted-matchers"?: RuleNoConfig | [AllowWarnDeny, NoRestrictedMatchersConfig];
"jest/no-standalone-expect"?: RuleNoConfig | [AllowWarnDeny, NoStandaloneExpectConfig];
"jest/no-test-prefixes"?: RuleNoConfig;
"jest/no-test-return-statement"?: RuleNoConfig;
"jest/no-unneeded-async-expect-function"?: RuleNoConfig;
"jest/no-untyped-mock-factory"?: RuleNoConfig;
"jest/padding-around-after-all-blocks"?: RuleNoConfig;
"jest/padding-around-test-blocks"?: RuleNoConfig;
"jest/prefer-called-with"?: RuleNoConfig;
"jest/prefer-comparison-matcher"?: RuleNoConfig;
"jest/prefer-each"?: RuleNoConfig;
"jest/prefer-ending-with-an-expect"?: RuleNoConfig | [AllowWarnDeny, PreferEndingWithAnExpectConfig];
"jest/prefer-equality-matcher"?: RuleNoConfig;
"jest/prefer-expect-assertions"?: RuleNoConfig | [AllowWarnDeny, PreferExpectAssertionsConfig];
"jest/prefer-expect-resolves"?: RuleNoConfig;
"jest/prefer-hooks-in-order"?: RuleNoConfig;
"jest/prefer-hooks-on-top"?: RuleNoConfig;
"jest/prefer-importing-jest-globals"?: RuleNoConfig | [AllowWarnDeny, PreferImportingJestGlobalsConfig];
"jest/prefer-jest-mocked"?: RuleNoConfig;
"jest/prefer-lowercase-title"?: DummyRule;
"jest/prefer-mock-promise-shorthand"?: RuleNoConfig;
"jest/prefer-mock-return-shorthand"?: RuleNoConfig;
"jest/prefer-snapshot-hint"?: RuleNoConfig | [AllowWarnDeny, SnapshotHintMode];
"jest/prefer-spy-on"?: RuleNoConfig;
"jest/prefer-strict-equal"?: RuleNoConfig;
"jest/prefer-to-be"?: RuleNoConfig;
"jest/prefer-to-contain"?: RuleNoConfig;
"jest/prefer-to-have-been-called"?: RuleNoConfig;
"jest/prefer-to-have-been-called-times"?: RuleNoConfig;
"jest/prefer-to-have-length"?: RuleNoConfig;
"jest/prefer-todo"?: RuleNoConfig;
"jest/require-hook"?: RuleNoConfig | [AllowWarnDeny, RequireHookConfig];
"jest/require-to-throw-message"?: RuleNoConfig;
"jest/require-top-level-describe"?: RuleNoConfig | [AllowWarnDeny, RequireTopLevelDescribeConfig];
"jest/valid-describe-callback"?: RuleNoConfig;
"jest/valid-expect"?: RuleNoConfig | [AllowWarnDeny, ValidExpectConfig];
"jest/valid-expect-in-promise"?: RuleNoConfig;
"jest/valid-title"?: DummyRule;
"jsdoc/check-access"?: RuleNoConfig;
"jsdoc/check-property-names"?: RuleNoConfig;
"jsdoc/check-tag-names"?: RuleNoConfig | [AllowWarnDeny, CheckTagNamesConfig];
"jsdoc/empty-tags"?: RuleNoConfig | [AllowWarnDeny, EmptyTagsConfig];
"jsdoc/implements-on-classes"?: RuleNoConfig;
"jsdoc/no-defaults"?: RuleNoConfig | [AllowWarnDeny, NoDefaultsConfig];
"jsdoc/require-param"?: DummyRule;
"jsdoc/require-param-description"?: RuleNoConfig | [AllowWarnDeny, RequireParamDescriptionConfig];
"jsdoc/require-param-name"?: RuleNoConfig;
"jsdoc/require-param-type"?: RuleNoConfig | [AllowWarnDeny, RequireParamTypeConfig];
"jsdoc/require-property"?: RuleNoConfig;
"jsdoc/require-property-description"?: RuleNoConfig;
"jsdoc/require-property-name"?: RuleNoConfig;
"jsdoc/require-property-type"?: RuleNoConfig;
"jsdoc/require-returns"?: RuleNoConfig | [AllowWarnDeny, RequireReturnsConfig];
"jsdoc/require-returns-description"?: RuleNoConfig;
"jsdoc/require-returns-type"?: RuleNoConfig;
"jsdoc/require-throws-description"?: RuleNoConfig;
"jsdoc/require-throws-type"?: RuleNoConfig;
"jsdoc/require-yields"?: RuleNoConfig | [AllowWarnDeny, RequireYieldsConfig];
"jsdoc/require-yields-description"?: RuleNoConfig;
"jsdoc/require-yields-type"?: RuleNoConfig;
"jsx-a11y/alt-text"?: RuleNoConfig | [AllowWarnDeny, AltTextConfigSchema];
"jsx-a11y/anchor-ambiguous-text"?: RuleNoConfig | [AllowWarnDeny, AnchorAmbiguousTextConfig];
"jsx-a11y/anchor-has-content"?: RuleNoConfig;
"jsx-a11y/anchor-is-valid"?: RuleNoConfig | [AllowWarnDeny, AnchorIsValidConfig];
"jsx-a11y/aria-activedescendant-has-tabindex"?: RuleNoConfig;
"jsx-a11y/aria-props"?: RuleNoConfig;
"jsx-a11y/aria-proptypes"?: RuleNoConfig;
"jsx-a11y/aria-role"?: RuleNoConfig | [AllowWarnDeny, AriaRoleConfig];
"jsx-a11y/aria-unsupported-elements"?: RuleNoConfig;
"jsx-a11y/autocomplete-valid"?: RuleNoConfig | [AllowWarnDeny, AutocompleteValidConfig];
"jsx-a11y/click-events-have-key-events"?: RuleNoConfig;
"jsx-a11y/control-has-associated-label"?: RuleNoConfig | [AllowWarnDeny, ControlHasAssociatedLabelConfig];
"jsx-a11y/heading-has-content"?: RuleNoConfig | [AllowWarnDeny, HeadingHasContentConfig];
"jsx-a11y/html-has-lang"?: RuleNoConfig;
"jsx-a11y/iframe-has-title"?: RuleNoConfig;
"jsx-a11y/img-redundant-alt"?: RuleNoConfig | [AllowWarnDeny, ImgRedundantAltConfig];
"jsx-a11y/interactive-supports-focus"?: RuleNoConfig | [AllowWarnDeny, InteractiveSupportsFocusConfig];
"jsx-a11y/label-has-associated-control"?: RuleNoConfig | [AllowWarnDeny, LabelHasAssociatedControlConfig];
"jsx-a11y/lang"?: RuleNoConfig;
"jsx-a11y/media-has-caption"?: RuleNoConfig | [AllowWarnDeny, MediaHasCaptionConfig];
"jsx-a11y/mouse-events-have-key-events"?: RuleNoConfig | [AllowWarnDeny, MouseEventsHaveKeyEventsConfig];
"jsx-a11y/no-access-key"?: RuleNoConfig;
"jsx-a11y/no-aria-hidden-on-focusable"?: RuleNoConfig;
"jsx-a11y/no-autofocus"?: RuleNoConfig | [AllowWarnDeny, NoAutofocus];
"jsx-a11y/no-distracting-elements"?: RuleNoConfig | [AllowWarnDeny, NoDistractingElementsConfig];
"jsx-a11y/no-interactive-element-to-noninteractive-role"?: RuleNoConfig | [AllowWarnDeny, NoInteractiveElementToNoninteractiveRoleConfig];
"jsx-a11y/no-noninteractive-element-interactions"?: RuleNoConfig | [AllowWarnDeny, NoNoninteractiveElementInteractionsConfig];
"jsx-a11y/no-noninteractive-element-to-interactive-role"?: RuleNoConfig | [AllowWarnDeny, NoNoninteractiveElementToInteractiveRoleConfig];
"jsx-a11y/no-noninteractive-tabindex"?: RuleNoConfig | [AllowWarnDeny, NoNoninteractiveTabindexConfig];
"jsx-a11y/no-redundant-roles"?: RuleNoConfig | [AllowWarnDeny, NoRedundantRolesConfig];
"jsx-a11y/no-static-element-interactions"?: RuleNoConfig | [AllowWarnDeny, NoStaticElementInteractionsConfig];
"jsx-a11y/prefer-tag-over-role"?: RuleNoConfig;
"jsx-a11y/role-has-required-aria-props"?: RuleNoConfig;
"jsx-a11y/role-supports-aria-props"?: RuleNoConfig;
"jsx-a11y/scope"?: RuleNoConfig;
"jsx-a11y/tabindex-no-positive"?: RuleNoConfig;
"logical-assignment-operators"?: RuleNoConfig | [AllowWarnDeny, AlwaysNever] | [AllowWarnDeny, AlwaysNever, LogicalAssignmentOperatorsConfig];
"max-classes-per-file"?: RuleNoConfig | [AllowWarnDeny, MaxClassesPerFileConfigEnum];
"max-depth"?: RuleNoConfig | [AllowWarnDeny, MaxDepthConfigEnum];
"max-lines"?: RuleNoConfig | [AllowWarnDeny, MaxLinesConfigEnum];
"max-lines-per-function"?: RuleNoConfig | [AllowWarnDeny, MaxLinesPerFunctionConfigEnum];
"max-nested-callbacks"?: RuleNoConfig | [AllowWarnDeny, MaxNestedCallbacksConfigEnum];
"max-params"?: RuleNoConfig | [AllowWarnDeny, MaxParamsConfigEnum];
"max-statements"?: RuleNoConfig | [AllowWarnDeny, MaxStatementsConfigEnum];
"new-cap"?: RuleNoConfig | [AllowWarnDeny, NewCapConfig];
"nextjs/google-font-display"?: RuleNoConfig;
"nextjs/google-font-preconnect"?: RuleNoConfig;
"nextjs/inline-script-id"?: RuleNoConfig;
"nextjs/next-script-for-ga"?: RuleNoConfig;
"nextjs/no-assign-module-variable"?: RuleNoConfig;
"nextjs/no-async-client-component"?: RuleNoConfig;
"nextjs/no-before-interactive-script-outside-document"?: RuleNoConfig;
"nextjs/no-css-tags"?: RuleNoConfig;
"nextjs/no-document-import-in-page"?: RuleNoConfig;
"nextjs/no-duplicate-head"?: RuleNoConfig;
"nextjs/no-head-element"?: RuleNoConfig;
"nextjs/no-head-import-in-document"?: RuleNoConfig;
"nextjs/no-html-link-for-pages"?: RuleNoConfig;
"nextjs/no-img-element"?: RuleNoConfig;
"nextjs/no-page-custom-font"?: RuleNoConfig;
"nextjs/no-script-component-in-head"?: RuleNoConfig;
"nextjs/no-styled-jsx-in-document"?: RuleNoConfig;
"nextjs/no-sync-scripts"?: RuleNoConfig;
"nextjs/no-title-in-document-head"?: RuleNoConfig;
"nextjs/no-typos"?: RuleNoConfig;
"nextjs/no-unwanted-polyfillio"?: RuleNoConfig;
"no-alert"?: RuleNoConfig;
"no-array-constructor"?: RuleNoConfig;
"no-async-promise-executor"?: RuleNoConfig;
"no-await-in-loop"?: RuleNoConfig;
"no-bitwise"?: RuleNoConfig | [AllowWarnDeny, NoBitwiseConfig];
"no-caller"?: RuleNoConfig;
"no-case-declarations"?: RuleNoConfig;
"no-class-assign"?: RuleNoConfig;
"no-compare-neg-zero"?: RuleNoConfig;
"no-cond-assign"?: RuleNoConfig | [AllowWarnDeny, NoCondAssignConfig];
"no-console"?: RuleNoConfig | [AllowWarnDeny, NoConsoleConfig];
"no-const-assign"?: RuleNoConfig;
"no-constant-binary-expression"?: RuleNoConfig | [AllowWarnDeny, NoConstantBinaryExpressionConfig];
"no-constant-condition"?: RuleNoConfig | [AllowWarnDeny, NoConstantCondition];
"no-constructor-return"?: RuleNoConfig;
"no-continue"?: RuleNoConfig;
"no-control-regex"?: RuleNoConfig;
"no-debugger"?: RuleNoConfig;
"no-delete-var"?: RuleNoConfig;
"no-div-regex"?: RuleNoConfig;
"no-dupe-class-members"?: RuleNoConfig;
"no-dupe-else-if"?: RuleNoConfig;
"no-dupe-keys"?: RuleNoConfig;
"no-duplicate-case"?: RuleNoConfig;
"no-duplicate-imports"?: RuleNoConfig | [AllowWarnDeny, NoDuplicateImports];
"no-else-return"?: RuleNoConfig | [AllowWarnDeny, NoElseReturn];
"no-empty"?: RuleNoConfig | [AllowWarnDeny, NoEmpty];
"no-empty-character-class"?: RuleNoConfig;
"no-empty-function"?: RuleNoConfig | [AllowWarnDeny, NoEmptyFunctionConfig];
"no-empty-pattern"?: RuleNoConfig | [AllowWarnDeny, NoEmptyPattern];
"no-empty-static-block"?: RuleNoConfig;
"no-eq-null"?: RuleNoConfig;
"no-eval"?: RuleNoConfig | [AllowWarnDeny, NoEval];
"no-ex-assign"?: RuleNoConfig;
"no-extend-native"?: RuleNoConfig | [AllowWarnDeny, NoExtendNativeConfig];
"no-extra-bind"?: RuleNoConfig;
"no-extra-boolean-cast"?: RuleNoConfig | [AllowWarnDeny, NoExtraBooleanCast];
"no-extra-label"?: RuleNoConfig;
"no-fallthrough"?: RuleNoConfig | [AllowWarnDeny, NoFallthroughConfig];
"no-func-assign"?: RuleNoConfig;
"no-global-assign"?: RuleNoConfig | [AllowWarnDeny, NoGlobalAssignConfig];
"no-implicit-coercion"?: RuleNoConfig | [AllowWarnDeny, NoImplicitCoercionConfig];
"no-implicit-globals"?: RuleNoConfig | [AllowWarnDeny, NoImplicitGlobalsConfig];
"no-implied-eval"?: RuleNoConfig;
"no-import-assign"?: RuleNoConfig;
"no-inline-comments"?: RuleNoConfig | [AllowWarnDeny, NoInlineCommentsConfig];
"no-inner-declarations"?: RuleNoConfig | [AllowWarnDeny, NoInnerDeclarationsConfig] | [AllowWarnDeny, NoInnerDeclarationsConfig, NoInnerDeclarationsOptions];
"no-invalid-regexp"?: RuleNoConfig | [AllowWarnDeny, NoInvalidRegexpConfig];
"no-irregular-whitespace"?: RuleNoConfig | [AllowWarnDeny, NoIrregularWhitespaceConfig];
"no-iterator"?: RuleNoConfig;
"no-label-var"?: RuleNoConfig;
"no-labels"?: RuleNoConfig | [AllowWarnDeny, NoLabels];
"no-lone-blocks"?: RuleNoConfig;
"no-lonely-if"?: RuleNoConfig;
"no-loop-func"?: RuleNoConfig;
"no-loss-of-precision"?: RuleNoConfig;
"no-magic-numbers"?: RuleNoConfig | [AllowWarnDeny, NoMagicNumbersConfig];
"no-misleading-character-class"?: RuleNoConfig | [AllowWarnDeny, NoMisleadingCharacterClass];
"no-multi-assign"?: RuleNoConfig | [AllowWarnDeny, NoMultiAssign];
"no-multi-str"?: RuleNoConfig;
"no-negated-condition"?: RuleNoConfig;
"no-nested-ternary"?: RuleNoConfig;
"no-new"?: RuleNoConfig;
"no-new-func"?: RuleNoConfig;
"no-new-native-nonconstructor"?: RuleNoConfig;
"no-new-wrappers"?: RuleNoConfig;
"no-nonoctal-decimal-escape"?: RuleNoConfig;
"no-obj-calls"?: RuleNoConfig;
"no-object-constructor"?: RuleNoConfig;
"no-param-reassign"?: RuleNoConfig | [AllowWarnDeny, NoParamReassignConfig];
"no-plusplus"?: RuleNoConfig | [AllowWarnDeny, NoPlusplus];
"no-promise-executor-return"?: RuleNoConfig | [AllowWarnDeny, NoPromiseExecutorReturnConfig];
"no-proto"?: RuleNoConfig;
"no-prototype-builtins"?: RuleNoConfig;
"no-redeclare"?: RuleNoConfig | [AllowWarnDeny, NoRedeclare];
"no-regex-spaces"?: RuleNoConfig;
"no-restricted-exports"?: RuleNoConfig | [AllowWarnDeny, NoRestrictedExportsConfig];
"no-restricted-globals"?: DummyRule;
"no-restricted-imports"?: RuleNoConfig | [AllowWarnDeny, NoRestrictedImportsConfigEnum, ...NoRestrictedImportsConfigEnum[]];
"no-restricted-properties"?: RuleNoConfig | [AllowWarnDeny, PropertyDetails, ...PropertyDetails[]];
"no-return-assign"?: RuleNoConfig | [AllowWarnDeny, NoReturnAssignMode];
"no-script-url"?: RuleNoConfig;
"no-self-assign"?: RuleNoConfig | [AllowWarnDeny, NoSelfAssign];
"no-self-compare"?: RuleNoConfig;
"no-sequences"?: RuleNoConfig | [AllowWarnDeny, NoSequences];
"no-setter-return"?: RuleNoConfig;
"no-shadow"?: RuleNoConfig | [AllowWarnDeny, NoShadowConfig];
"no-shadow-restricted-names"?: RuleNoConfig | [AllowWarnDeny, NoShadowRestrictedNamesConfig];
"no-sparse-arrays"?: RuleNoConfig;
"no-template-curly-in-string"?: RuleNoConfig;
"no-ternary"?: RuleNoConfig;
"no-this-before-super"?: RuleNoConfig;
"no-throw-literal"?: RuleNoConfig;
"no-unassigned-vars"?: RuleNoConfig;
"no-undef"?: RuleNoConfig | [AllowWarnDeny, NoUndef];
"no-undefined"?: RuleNoConfig;
"no-underscore-dangle"?: RuleNoConfig | [AllowWarnDeny, NoUnderscoreDangleConfig];
"no-unexpected-multiline"?: RuleNoConfig;
"no-unmodified-loop-condition"?: RuleNoConfig;
"no-unneeded-ternary"?: RuleNoConfig | [AllowWarnDeny, NoUnneededTernary];
"no-unreachable"?: RuleNoConfig;
"no-unreachable-loop"?: RuleNoConfig | [AllowWarnDeny, NoUnreachableLoopConfig];
"no-unsafe-finally"?: RuleNoConfig;
"no-unsafe-negation"?: RuleNoConfig | [AllowWarnDeny, NoUnsafeNegation];
"no-unsafe-optional-chaining"?: RuleNoConfig | [AllowWarnDeny, NoUnsafeOptionalChaining];
"no-unused-expressions"?: RuleNoConfig | [AllowWarnDeny, NoUnusedExpressionsConfig];
"no-unused-labels"?: RuleNoConfig;
"no-unused-private-class-members"?: RuleNoConfig;
"no-unused-vars"?: RuleNoConfig | [AllowWarnDeny, NoUnusedVarsConfig];
"no-use-before-define"?: RuleNoConfig | [AllowWarnDeny, NoUseBeforeDefineConfigJson];
"no-useless-assignment"?: RuleNoConfig;
"no-useless-backreference"?: RuleNoConfig;
"no-useless-call"?: RuleNoConfig;
"no-useless-catch"?: RuleNoConfig;
"no-useless-computed-key"?: RuleNoConfig | [AllowWarnDeny, NoUselessComputedKey];
"no-useless-concat"?: RuleNoConfig;
"no-useless-constructor"?: RuleNoConfig;
"no-useless-escape"?: RuleNoConfig | [AllowWarnDeny, NoUselessEscapeConfig];
"no-useless-rename"?: RuleNoConfig | [AllowWarnDeny, NoUselessRenameConfig];
"no-useless-return"?: RuleNoConfig;
"no-var"?: RuleNoConfig;
"no-void"?: RuleNoConfig | [AllowWarnDeny, NoVoid];
"no-warning-comments"?: RuleNoConfig | [AllowWarnDeny, NoWarningCommentsConfigJson];
"no-with"?: RuleNoConfig;
"node/callback-return"?: RuleNoConfig | [AllowWarnDeny, CallbackReturn];
"node/global-require"?: RuleNoConfig;
"node/handle-callback-err"?: RuleNoConfig | [AllowWarnDeny, HandleCallbackErrConfig];
"node/no-exports-assign"?: RuleNoConfig;
"node/no-mixed-requires"?: RuleNoConfig | [AllowWarnDeny, NoMixedRequiresConfig];
"node/no-new-require"?: RuleNoConfig;
"node/no-path-concat"?: RuleNoConfig;
"node/no-process-env"?: RuleNoConfig | [AllowWarnDeny, NoProcessEnvConfig];
"node/no-sync"?: RuleNoConfig | [AllowWarnDeny, NoSyncConfig];
"object-shorthand"?: RuleNoConfig | [AllowWarnDeny, ShorthandType] | [AllowWarnDeny, ShorthandType, ObjectShorthandOptions];
"operator-assignment"?: RuleNoConfig | [AllowWarnDeny, AlwaysNever];
"oxc/approx-constant"?: RuleNoConfig;
"oxc/bad-array-method-on-arguments"?: RuleNoConfig;
"oxc/bad-bitwise-operator"?: RuleNoConfig;
"oxc/bad-char-at-comparison"?: RuleNoConfig;
"oxc/bad-comparison-sequence"?: RuleNoConfig;
"oxc/bad-min-max-func"?: RuleNoConfig;
"oxc/bad-object-literal-comparison"?: RuleNoConfig;
"oxc/bad-replace-all-arg"?: RuleNoConfig;
"oxc/branches-sharing-code"?: RuleNoConfig;
"oxc/const-comparisons"?: RuleNoConfig;
"oxc/double-comparisons"?: RuleNoConfig;
"oxc/erasing-op"?: RuleNoConfig;
"oxc/misrefactored-assign-op"?: RuleNoConfig;
"oxc/missing-throw"?: RuleNoConfig;
"oxc/no-accumulating-spread"?: RuleNoConfig;
"oxc/no-async-await"?: RuleNoConfig;
"oxc/no-async-endpoint-handlers"?: RuleNoConfig | [AllowWarnDeny, NoAsyncEndpointHandlersConfig];
"oxc/no-barrel-file"?: RuleNoConfig | [AllowWarnDeny, NoBarrelFile];
"oxc/no-const-enum"?: RuleNoConfig;
"oxc/no-map-spread"?: RuleNoConfig | [AllowWarnDeny, NoMapSpreadConfig];
"oxc/no-optional-chaining"?: RuleNoConfig | [AllowWarnDeny, NoOptionalChainingConfig];
"oxc/no-rest-spread-properties"?: RuleNoConfig | [AllowWarnDeny, NoRestSpreadPropertiesOptions];
"oxc/no-this-in-exported-function"?: RuleNoConfig;
"oxc/number-arg-out-of-range"?: RuleNoConfig;
"oxc/only-used-in-recursion"?: RuleNoConfig;
"oxc/uninvoked-array-callback"?: RuleNoConfig;
"prefer-arrow-callback"?: RuleNoConfig | [AllowWarnDeny, PreferArrowCallbackConfig];
"prefer-const"?: RuleNoConfig | [AllowWarnDeny, PreferConstConfig];
"prefer-destructuring"?: RuleNoConfig | [AllowWarnDeny, PreferDestructuringOption] | [AllowWarnDeny, PreferDestructuringOption, PreferDestructuringRenamedPropertiesConfig];
"prefer-exponentiation-operator"?: RuleNoConfig;
"prefer-named-capture-group"?: RuleNoConfig;
"prefer-numeric-literals"?: RuleNoConfig;
"prefer-object-has-own"?: RuleNoConfig;
"prefer-object-spread"?: RuleNoConfig;
"prefer-promise-reject-errors"?: RuleNoConfig | [AllowWarnDeny, PreferPromiseRejectErrors];
"prefer-regex-literals"?: RuleNoConfig | [AllowWarnDeny, PreferRegexLiteralsConfig];
"prefer-rest-params"?: RuleNoConfig;
"prefer-spread"?: RuleNoConfig;
"prefer-template"?: RuleNoConfig;
"preserve-caught-error"?: RuleNoConfig | [AllowWarnDeny, PreserveCaughtErrorOptions];
"promise/always-return"?: RuleNoConfig | [AllowWarnDeny, AlwaysReturnConfig];
"promise/avoid-new"?: RuleNoConfig;
"promise/catch-or-return"?: RuleNoConfig | [AllowWarnDeny, CatchOrReturnConfig];
"promise/no-callback-in-promise"?: RuleNoConfig | [AllowWarnDeny, NoCallbackInPromiseConfig];
"promise/no-multiple-resolved"?: RuleNoConfig;
"promise/no-nesting"?: RuleNoConfig;
"promise/no-new-statics"?: RuleNoConfig;
"promise/no-promise-in-callback"?: RuleNoConfig | [AllowWarnDeny, NoPromiseInCallbackConfig];
"promise/no-return-in-finally"?: RuleNoConfig;
"promise/no-return-wrap"?: RuleNoConfig | [AllowWarnDeny, NoReturnWrap];