oxlint 1.70.0 → 1.71.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -6,7 +6,7 @@
6
6
  */
7
7
  //#region src-js/package/config.generated.d.ts
8
8
  type AllowWarnDeny = ("allow" | "off" | "warn" | "error" | "deny") | number;
9
- type GlobalValue = "readonly" | "writable" | "off";
9
+ type GlobalValue = ("readonly" | "writable" | "off") | undefined;
10
10
  type ExternalPluginEntry = string | {
11
11
  /**
12
12
  * Custom name/alias for the plugin.
@@ -51,6 +51,7 @@ type OptionsJsonEnum = CommentConfigJson | {
51
51
  line?: CommentConfigJson;
52
52
  };
53
53
  type IgnoreClassWithImplements = "all" | "public-fields";
54
+ type ComplexityConfigEnum = number | ComplexityConfig;
54
55
  type Variant = "classic" | "modified";
55
56
  /**
56
57
  * The enforcement type for the curly rule.
@@ -63,22 +64,44 @@ type CurlyType = "all" | "multi" | "multi-line" | "multi-or-nest";
63
64
  type CurlyConsistent = "consistent";
64
65
  type CompareType = "always" | "smart";
65
66
  type NullType = "always" | "never" | "ignore";
66
- type DummyRule = AllowWarnDeny | [AllowWarnDeny, ...unknown[]];
67
+ type FuncNameMatchingMode = "always" | "never";
67
68
  type FuncNamesConfigType = "always" | "as-needed" | "never";
68
69
  type Style = "expression" | "declaration";
69
70
  type NamedExports = "ignore" | "expression" | "declaration";
70
71
  type PairOrder = "anyOrder" | "getBeforeSet" | "setBeforeGet";
71
72
  type Mode = "prefer-top-level" | "prefer-inline";
73
+ /**
74
+ * Extension rule configuration; Copy to avoid extra indirection.
75
+ */
76
+ type ExtensionRule = "always" | "never" | "ignorePackages";
77
+ type ImportExtensionsObject = ImportExtensionsConfig | {
78
+ [k: string]: ExtensionRule;
79
+ };
80
+ /**
81
+ * Action to take for path group overrides.
82
+ *
83
+ * Determines how import extensions are validated for matching bespoke import specifiers.
84
+ */
85
+ type PathGroupAction = "enforce" | "ignore";
72
86
  type AbsoluteFirst = "absolute-first" | "disable-absolute-first";
73
87
  type MaxDependenciesConfigJson = number | MaxDependenciesConfig;
74
88
  type Target = "single" | "any";
75
89
  type TestCaseName = "it" | "test";
76
90
  type JestFnType = "hook" | "describe" | "test" | "expect" | "jest" | "unknown";
91
+ type DummyRule = AllowWarnDeny | [AllowWarnDeny, ...unknown[]];
77
92
  type SnapshotHintMode = "always" | "multi";
78
93
  type AltTextElements = "img" | "object" | "area" | 'input[type="image"]';
94
+ type AnchorIsValidAspect = "noHref" | "invalidHref" | "preferButton";
79
95
  type Assert = "htmlFor" | "nesting" | "both" | "either";
80
96
  type DistractingElement = "marquee" | "blink";
97
+ type MaxClassesPerFileConfigEnum = number | MaxClassesPerFileConfig;
98
+ type MaxDepthConfigEnum = number | MaxDepth;
99
+ type MaxLinesConfigEnum = number | MaxLinesConfig;
100
+ type MaxLinesPerFunctionConfigEnum = number | MaxLinesPerFunctionConfig;
101
+ type MaxNestedCallbacksConfigEnum = number | MaxNestedCallbacks;
102
+ type MaxParamsConfigEnum = number | MaxParamsConfig;
81
103
  type CountThis = "always" | "never" | "except-void";
104
+ type MaxStatementsConfigEnum = number | MaxStatementsConfig;
82
105
  type NoCondAssignConfig = "except-parens" | "always";
83
106
  type CheckLoopsConfig = boolean | CheckLoops;
84
107
  type CheckLoops = "all" | "allExceptWhileTrue" | "none";
@@ -106,6 +129,10 @@ type NoUnusedVarsFixMode = "off" | "suggestion" | "fix" | "safe-fix";
106
129
  type NoUseBeforeDefineConfigJson = Nofunc | NoUseBeforeDefineConfig;
107
130
  type Nofunc = "nofunc";
108
131
  type Location = "start" | "anywhere";
132
+ /**
133
+ * 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`.
134
+ */
135
+ type CallbackReturn = string[];
109
136
  /**
110
137
  * The rule takes a single string option: the name of the error parameter.
111
138
  *
@@ -118,8 +145,10 @@ type Location = "start" | "anywhere";
118
145
  * Default: `"err"`.
119
146
  */
120
147
  type HandleCallbackErrConfig = string;
148
+ type NoMixedRequiresConfig = boolean | NoMixedRequiresOptions;
121
149
  type ShorthandType = "always" | "methods" | "properties" | "consistent" | "consistent-as-needed" | "never";
122
150
  type Destructuring = "any" | "all";
151
+ type PreferDestructuringOption = PreferDestructuringTargetOption | PreferDestructuringAssignmentConfig;
123
152
  type TerminationMethod = string | string[];
124
153
  type RadixType = "always" | "as-needed";
125
154
  type NativeAllowList = AllKeyword | string[];
@@ -224,7 +253,7 @@ type ChecksVoidReturn = boolean | ChecksVoidReturnOptions;
224
253
  * - A string - ban with custom message
225
254
  * - An object with `message` and optional `fixWith` and `suggest`
226
255
  */
227
- type BanConfigValue = True | string | {
256
+ type BanConfigValue = (True | string | {
228
257
  /**
229
258
  * Replacement type for automatic fixing. Applied directly with `--fix`.
230
259
  */
@@ -237,7 +266,7 @@ type BanConfigValue = True | string | {
237
266
  * Suggested replacement types for manual review. Shown as editor suggestions.
238
267
  */
239
268
  suggest?: string[];
240
- };
269
+ }) | undefined;
241
270
  type True = true;
242
271
  /**
243
272
  * Represents the different ways `allowConstantLoopConditions` can be specified in JSON.
@@ -262,7 +291,7 @@ type PathOption = "always" | "never";
262
291
  type TypesOption = "always" | "never" | "prefer-import";
263
292
  type BomOptionType = "always" | "never";
264
293
  type NonZero = "greater-than" | "not-equal";
265
- type ModuleStylesOverride = false | {
294
+ type ModuleStylesOverride = (false | {
266
295
  /**
267
296
  * Whether default imports or whole-module `require()` assignments are allowed for this module.
268
297
  *
@@ -299,7 +328,7 @@ type ModuleStylesOverride = false | {
299
328
  * ```
300
329
  */
301
330
  unassigned?: boolean;
302
- };
331
+ }) | undefined;
303
332
  type NoInstanceofBuiltinsStrategy = "strict" | "loose";
304
333
  type PreferTernaryOption = "always" | "only-single-line";
305
334
  type RelativeUrlStyleConfig = "never" | "always";
@@ -315,23 +344,23 @@ type CaseType2 = "camelCase" | "snake_case";
315
344
  type AllowYoda = "never" | "always";
316
345
  type OxlintOverrides = OxlintOverride[];
317
346
  type JestVersionSchema = number | string;
318
- type TagNamePreference = string | {
347
+ type TagNamePreference = (string | {
319
348
  message: string;
320
349
  replacement: string;
321
- [k: string]: unknown;
350
+ [k: string]: unknown | undefined;
322
351
  } | {
323
352
  message: string;
324
- [k: string]: unknown;
325
- } | boolean;
353
+ [k: string]: unknown | undefined;
354
+ } | boolean) | undefined;
326
355
  type OneOrManyFor_String = string | string[];
327
356
  type CustomComponent = string | {
328
357
  attribute: string;
329
358
  name: string;
330
- [k: string]: unknown;
359
+ [k: string]: unknown | undefined;
331
360
  } | {
332
361
  attributes: string[];
333
362
  name: string;
334
- [k: string]: unknown;
363
+ [k: string]: unknown | undefined;
335
364
  };
336
365
  /**
337
366
  * Oxlint Configuration File
@@ -641,7 +670,7 @@ interface RuleCategories {
641
670
  * - worker - Web Workers globals.
642
671
  */
643
672
  interface OxlintEnv {
644
- [k: string]: boolean;
673
+ [k: string]: boolean | undefined;
645
674
  }
646
675
  /**
647
676
  * Add or remove global variables.
@@ -669,7 +698,7 @@ interface OxlintEnv {
669
698
  * `"writeable"` or `true` to represent `"writable"`.
670
699
  */
671
700
  interface OxlintGlobals {
672
- [k: string]: GlobalValue;
701
+ [k: string]: GlobalValue | undefined;
673
702
  }
674
703
  /**
675
704
  * Options for the linter.
@@ -772,7 +801,7 @@ interface DummyRuleMap {
772
801
  "block-scoped-var"?: RuleNoConfig;
773
802
  "capitalized-comments"?: RuleNoConfig | [AllowWarnDeny, AlwaysNever] | [AllowWarnDeny, AlwaysNever, OptionsJsonEnum];
774
803
  "class-methods-use-this"?: RuleNoConfig | [AllowWarnDeny, ClassMethodsUseThisConfig];
775
- complexity?: RuleNoConfig | [AllowWarnDeny, number | ComplexityConfig];
804
+ complexity?: RuleNoConfig | [AllowWarnDeny, ComplexityConfigEnum];
776
805
  "constructor-super"?: RuleNoConfig;
777
806
  curly?: RuleNoConfig | [AllowWarnDeny, CurlyType] | [AllowWarnDeny, CurlyType, CurlyConsistent];
778
807
  "default-case"?: RuleNoConfig | [AllowWarnDeny, DefaultCaseConfig];
@@ -780,7 +809,7 @@ interface DummyRuleMap {
780
809
  "default-param-last"?: RuleNoConfig;
781
810
  eqeqeq?: RuleNoConfig | [AllowWarnDeny, CompareType] | [AllowWarnDeny, CompareType, EqeqeqOptions];
782
811
  "for-direction"?: RuleNoConfig;
783
- "func-name-matching"?: DummyRule;
812
+ "func-name-matching"?: RuleNoConfig | ([AllowWarnDeny, FuncNameMatchingMode] | [AllowWarnDeny, FuncNameMatchingMode, FuncNameMatchingConfig] | [AllowWarnDeny, FuncNameMatchingMode] | [AllowWarnDeny, FuncNameMatchingConfig]);
784
813
  "func-names"?: RuleNoConfig | [AllowWarnDeny, FuncNamesConfigType] | [AllowWarnDeny, FuncNamesConfigType, FuncNamesGeneratorsConfig];
785
814
  "func-style"?: RuleNoConfig | [AllowWarnDeny, Style] | [AllowWarnDeny, Style, FuncStyleConfig];
786
815
  "getter-return"?: RuleNoConfig | [AllowWarnDeny, GetterReturn];
@@ -792,7 +821,7 @@ interface DummyRuleMap {
792
821
  "import/default"?: RuleNoConfig;
793
822
  "import/export"?: RuleNoConfig;
794
823
  "import/exports-last"?: RuleNoConfig;
795
- "import/extensions"?: DummyRule;
824
+ "import/extensions"?: RuleNoConfig | ([AllowWarnDeny, ExtensionRule] | [AllowWarnDeny, ExtensionRule, ImportExtensionsObject] | [AllowWarnDeny, ExtensionRule] | [AllowWarnDeny, ImportExtensionsObject]);
796
825
  "import/first"?: RuleNoConfig | [AllowWarnDeny, AbsoluteFirst];
797
826
  "import/group-exports"?: RuleNoConfig;
798
827
  "import/max-dependencies"?: RuleNoConfig | [AllowWarnDeny, MaxDependenciesConfigJson];
@@ -889,9 +918,9 @@ interface DummyRuleMap {
889
918
  "jsdoc/implements-on-classes"?: RuleNoConfig;
890
919
  "jsdoc/no-defaults"?: RuleNoConfig | [AllowWarnDeny, NoDefaultsConfig];
891
920
  "jsdoc/require-param"?: DummyRule;
892
- "jsdoc/require-param-description"?: RuleNoConfig;
921
+ "jsdoc/require-param-description"?: RuleNoConfig | [AllowWarnDeny, RequireParamDescriptionConfig];
893
922
  "jsdoc/require-param-name"?: RuleNoConfig;
894
- "jsdoc/require-param-type"?: RuleNoConfig;
923
+ "jsdoc/require-param-type"?: RuleNoConfig | [AllowWarnDeny, RequireParamTypeConfig];
895
924
  "jsdoc/require-property"?: RuleNoConfig;
896
925
  "jsdoc/require-property-description"?: RuleNoConfig;
897
926
  "jsdoc/require-property-name"?: RuleNoConfig;
@@ -907,7 +936,7 @@ interface DummyRuleMap {
907
936
  "jsx-a11y/alt-text"?: RuleNoConfig | [AllowWarnDeny, AltTextConfigSchema];
908
937
  "jsx-a11y/anchor-ambiguous-text"?: RuleNoConfig | [AllowWarnDeny, AnchorAmbiguousTextConfig];
909
938
  "jsx-a11y/anchor-has-content"?: RuleNoConfig;
910
- "jsx-a11y/anchor-is-valid"?: DummyRule;
939
+ "jsx-a11y/anchor-is-valid"?: RuleNoConfig | [AllowWarnDeny, AnchorIsValidConfig];
911
940
  "jsx-a11y/aria-activedescendant-has-tabindex"?: RuleNoConfig;
912
941
  "jsx-a11y/aria-props"?: RuleNoConfig;
913
942
  "jsx-a11y/aria-proptypes"?: RuleNoConfig;
@@ -930,7 +959,7 @@ interface DummyRuleMap {
930
959
  "jsx-a11y/no-autofocus"?: RuleNoConfig | [AllowWarnDeny, NoAutofocus];
931
960
  "jsx-a11y/no-distracting-elements"?: RuleNoConfig | [AllowWarnDeny, NoDistractingElementsConfig];
932
961
  "jsx-a11y/no-interactive-element-to-noninteractive-role"?: RuleNoConfig | [AllowWarnDeny, NoInteractiveElementToNoninteractiveRoleConfig];
933
- "jsx-a11y/no-noninteractive-element-interactions"?: DummyRule;
962
+ "jsx-a11y/no-noninteractive-element-interactions"?: RuleNoConfig | [AllowWarnDeny, NoNoninteractiveElementInteractionsConfig];
934
963
  "jsx-a11y/no-noninteractive-element-to-interactive-role"?: RuleNoConfig | [AllowWarnDeny, NoNoninteractiveElementToInteractiveRoleConfig];
935
964
  "jsx-a11y/no-noninteractive-tabindex"?: RuleNoConfig | [AllowWarnDeny, NoNoninteractiveTabindexConfig];
936
965
  "jsx-a11y/no-redundant-roles"?: RuleNoConfig | [AllowWarnDeny, NoRedundantRolesConfig];
@@ -941,13 +970,13 @@ interface DummyRuleMap {
941
970
  "jsx-a11y/scope"?: RuleNoConfig;
942
971
  "jsx-a11y/tabindex-no-positive"?: RuleNoConfig;
943
972
  "logical-assignment-operators"?: RuleNoConfig | [AllowWarnDeny, AlwaysNever] | [AllowWarnDeny, AlwaysNever, LogicalAssignmentOperatorsConfig];
944
- "max-classes-per-file"?: RuleNoConfig | [AllowWarnDeny, number | MaxClassesPerFileConfig];
945
- "max-depth"?: RuleNoConfig | [AllowWarnDeny, number | MaxDepth];
946
- "max-lines"?: RuleNoConfig | [AllowWarnDeny, number | MaxLinesConfig];
947
- "max-lines-per-function"?: RuleNoConfig | [AllowWarnDeny, number | MaxLinesPerFunctionConfig];
948
- "max-nested-callbacks"?: RuleNoConfig | [AllowWarnDeny, number | MaxNestedCallbacks];
949
- "max-params"?: RuleNoConfig | [AllowWarnDeny, number | MaxParamsConfig];
950
- "max-statements"?: RuleNoConfig | [AllowWarnDeny, number | MaxStatementsConfig];
973
+ "max-classes-per-file"?: RuleNoConfig | [AllowWarnDeny, MaxClassesPerFileConfigEnum];
974
+ "max-depth"?: RuleNoConfig | [AllowWarnDeny, MaxDepthConfigEnum];
975
+ "max-lines"?: RuleNoConfig | [AllowWarnDeny, MaxLinesConfigEnum];
976
+ "max-lines-per-function"?: RuleNoConfig | [AllowWarnDeny, MaxLinesPerFunctionConfigEnum];
977
+ "max-nested-callbacks"?: RuleNoConfig | [AllowWarnDeny, MaxNestedCallbacksConfigEnum];
978
+ "max-params"?: RuleNoConfig | [AllowWarnDeny, MaxParamsConfigEnum];
979
+ "max-statements"?: RuleNoConfig | [AllowWarnDeny, MaxStatementsConfigEnum];
951
980
  "new-cap"?: RuleNoConfig | [AllowWarnDeny, NewCapConfig];
952
981
  "nextjs/google-font-display"?: RuleNoConfig;
953
982
  "nextjs/google-font-preconnect"?: RuleNoConfig;
@@ -1049,7 +1078,7 @@ interface DummyRuleMap {
1049
1078
  "no-restricted-exports"?: RuleNoConfig | [AllowWarnDeny, NoRestrictedExportsConfig];
1050
1079
  "no-restricted-globals"?: DummyRule;
1051
1080
  "no-restricted-imports"?: DummyRule;
1052
- "no-restricted-properties"?: DummyRule;
1081
+ "no-restricted-properties"?: RuleNoConfig | [AllowWarnDeny, PropertyDetails, ...PropertyDetails[]];
1053
1082
  "no-return-assign"?: RuleNoConfig | [AllowWarnDeny, NoReturnAssignMode];
1054
1083
  "no-script-url"?: RuleNoConfig;
1055
1084
  "no-self-assign"?: RuleNoConfig | [AllowWarnDeny, NoSelfAssign];
@@ -1093,13 +1122,15 @@ interface DummyRuleMap {
1093
1122
  "no-void"?: RuleNoConfig | [AllowWarnDeny, NoVoid];
1094
1123
  "no-warning-comments"?: RuleNoConfig | [AllowWarnDeny, NoWarningCommentsConfigJson];
1095
1124
  "no-with"?: RuleNoConfig;
1096
- "node/callback-return"?: DummyRule;
1125
+ "node/callback-return"?: RuleNoConfig | [AllowWarnDeny, CallbackReturn];
1097
1126
  "node/global-require"?: RuleNoConfig;
1098
1127
  "node/handle-callback-err"?: RuleNoConfig | [AllowWarnDeny, HandleCallbackErrConfig];
1099
1128
  "node/no-exports-assign"?: RuleNoConfig;
1129
+ "node/no-mixed-requires"?: RuleNoConfig | [AllowWarnDeny, NoMixedRequiresConfig];
1100
1130
  "node/no-new-require"?: RuleNoConfig;
1101
1131
  "node/no-path-concat"?: RuleNoConfig;
1102
1132
  "node/no-process-env"?: RuleNoConfig | [AllowWarnDeny, NoProcessEnvConfig];
1133
+ "node/no-sync"?: RuleNoConfig | [AllowWarnDeny, NoSyncConfig];
1103
1134
  "object-shorthand"?: RuleNoConfig | [AllowWarnDeny, ShorthandType] | [AllowWarnDeny, ShorthandType, ObjectShorthandOptions];
1104
1135
  "operator-assignment"?: RuleNoConfig | [AllowWarnDeny, AlwaysNever];
1105
1136
  "oxc/approx-constant"?: RuleNoConfig;
@@ -1130,7 +1161,7 @@ interface DummyRuleMap {
1130
1161
  "oxc/uninvoked-array-callback"?: RuleNoConfig;
1131
1162
  "prefer-arrow-callback"?: RuleNoConfig | [AllowWarnDeny, PreferArrowCallbackConfig];
1132
1163
  "prefer-const"?: RuleNoConfig | [AllowWarnDeny, PreferConstConfig];
1133
- "prefer-destructuring"?: DummyRule;
1164
+ "prefer-destructuring"?: RuleNoConfig | [AllowWarnDeny, PreferDestructuringOption] | [AllowWarnDeny, PreferDestructuringOption, PreferDestructuringRenamedPropertiesConfig];
1134
1165
  "prefer-exponentiation-operator"?: RuleNoConfig;
1135
1166
  "prefer-named-capture-group"?: RuleNoConfig;
1136
1167
  "prefer-numeric-literals"?: RuleNoConfig;
@@ -1184,7 +1215,7 @@ interface DummyRuleMap {
1184
1215
  "react/jsx-no-constructed-context-values"?: RuleNoConfig;
1185
1216
  "react/jsx-no-duplicate-props"?: RuleNoConfig;
1186
1217
  "react/jsx-no-literals"?: RuleNoConfig | [AllowWarnDeny, JsxNoLiteralsConfig];
1187
- "react/jsx-no-script-url"?: DummyRule;
1218
+ "react/jsx-no-script-url"?: RuleNoConfig | ([AllowWarnDeny, JsxNoScriptUrlComponent[]] | [AllowWarnDeny, JsxNoScriptUrlComponent[], JsxNoScriptUrlOptions] | [AllowWarnDeny, JsxNoScriptUrlOptions]);
1188
1219
  "react/jsx-no-target-blank"?: RuleNoConfig | [AllowWarnDeny, JsxNoTargetBlank];
1189
1220
  "react/jsx-no-undef"?: RuleNoConfig;
1190
1221
  "react/jsx-no-useless-fragment"?: RuleNoConfig | [AllowWarnDeny, JsxNoUselessFragment];
@@ -1358,6 +1389,7 @@ interface DummyRuleMap {
1358
1389
  "unicorn/explicit-length-check"?: RuleNoConfig | [AllowWarnDeny, ExplicitLengthCheck];
1359
1390
  "unicorn/filename-case"?: DummyRule;
1360
1391
  "unicorn/import-style"?: RuleNoConfig | [AllowWarnDeny, ImportStyleConfig];
1392
+ "unicorn/max-nested-calls"?: RuleNoConfig | [AllowWarnDeny, MaxNestedCalls];
1361
1393
  "unicorn/new-for-builtins"?: RuleNoConfig;
1362
1394
  "unicorn/no-abusive-eslint-disable"?: RuleNoConfig;
1363
1395
  "unicorn/no-accessor-recursion"?: RuleNoConfig;
@@ -1413,7 +1445,7 @@ interface DummyRuleMap {
1413
1445
  "unicorn/no-useless-undefined"?: RuleNoConfig | [AllowWarnDeny, NoUselessUndefined];
1414
1446
  "unicorn/no-zero-fractions"?: RuleNoConfig;
1415
1447
  "unicorn/number-literal-case"?: RuleNoConfig;
1416
- "unicorn/numeric-separators-style"?: DummyRule;
1448
+ "unicorn/numeric-separators-style"?: RuleNoConfig | [AllowWarnDeny, NumericSeparatorsStyleConfig];
1417
1449
  "unicorn/prefer-add-event-listener"?: RuleNoConfig;
1418
1450
  "unicorn/prefer-array-find"?: RuleNoConfig;
1419
1451
  "unicorn/prefer-array-flat"?: RuleNoConfig;
@@ -1447,6 +1479,7 @@ interface DummyRuleMap {
1447
1479
  "unicorn/prefer-native-coercion-functions"?: RuleNoConfig;
1448
1480
  "unicorn/prefer-negative-index"?: RuleNoConfig;
1449
1481
  "unicorn/prefer-node-protocol"?: RuleNoConfig;
1482
+ "unicorn/prefer-number-coercion"?: RuleNoConfig;
1450
1483
  "unicorn/prefer-number-properties"?: RuleNoConfig | [AllowWarnDeny, PreferNumberPropertiesConfig];
1451
1484
  "unicorn/prefer-object-from-entries"?: RuleNoConfig | [AllowWarnDeny, PreferObjectFromEntriesConfig];
1452
1485
  "unicorn/prefer-optional-catch-binding"?: RuleNoConfig;
@@ -1560,6 +1593,7 @@ interface DummyRuleMap {
1560
1593
  "vue/max-props"?: RuleNoConfig | [AllowWarnDeny, MaxProps];
1561
1594
  "vue/next-tick-style"?: RuleNoConfig | [AllowWarnDeny, NextTickOption];
1562
1595
  "vue/no-arrow-functions-in-watch"?: RuleNoConfig;
1596
+ "vue/no-async-in-computed-properties"?: RuleNoConfig | [AllowWarnDeny, NoAsyncInComputedPropertiesConfig];
1563
1597
  "vue/no-computed-properties-in-data"?: RuleNoConfig;
1564
1598
  "vue/no-deprecated-data-object-declaration"?: RuleNoConfig;
1565
1599
  "vue/no-deprecated-delete-set"?: RuleNoConfig;
@@ -1636,6 +1670,10 @@ interface ArrayCallbackReturn {
1636
1670
  checkForEach?: boolean;
1637
1671
  }
1638
1672
  interface ArrowBodyStyleConfig {
1673
+ /**
1674
+ * Requires braces and an explicit return for object literals. This option only applies when
1675
+ * the first option is `"as-needed"`.
1676
+ */
1639
1677
  requireReturnForObjectLiteral?: boolean;
1640
1678
  }
1641
1679
  interface CommentConfigJson {
@@ -1715,6 +1753,16 @@ interface EqeqeqOptions {
1715
1753
  */
1716
1754
  null?: NullType;
1717
1755
  }
1756
+ interface FuncNameMatchingConfig {
1757
+ /**
1758
+ * If `considerPropertyDescriptor` is set to `true`, the check will take into account the use of `Object.create`, `Object.defineProperty`, `Object.defineProperties`, and `Reflect.defineProperty`.
1759
+ */
1760
+ considerPropertyDescriptor?: boolean;
1761
+ /**
1762
+ * If `includeCommonJSModuleExports` is set to `true`, `module.exports` and `module["exports"]` will be checked by this rule.
1763
+ */
1764
+ includeCommonJSModuleExports?: boolean;
1765
+ }
1718
1766
  interface FuncNamesGeneratorsConfig {
1719
1767
  /**
1720
1768
  * Configuration for generator function expressions. If not specified, uses the
@@ -1847,6 +1895,36 @@ interface IdMatchOptions {
1847
1895
  */
1848
1896
  properties?: boolean;
1849
1897
  }
1898
+ interface ImportExtensionsConfig {
1899
+ /**
1900
+ * Whether to check type imports when enforcing extension rules.
1901
+ */
1902
+ checkTypeImports?: boolean;
1903
+ /**
1904
+ * Whether to ignore package imports when enforcing extension rules.
1905
+ */
1906
+ ignorePackages?: boolean;
1907
+ /**
1908
+ * Path group overrides for bespoke import specifiers.
1909
+ */
1910
+ pathGroupOverrides?: PathGroupOverrideConfig[];
1911
+ /**
1912
+ * Per-extension rules.
1913
+ */
1914
+ pattern?: {
1915
+ [k: string]: ExtensionRule;
1916
+ };
1917
+ }
1918
+ interface PathGroupOverrideConfig {
1919
+ /**
1920
+ * Action to take when pattern matches.
1921
+ */
1922
+ action: PathGroupAction;
1923
+ /**
1924
+ * Glob pattern to match import specifiers.
1925
+ */
1926
+ pattern: string;
1927
+ }
1850
1928
  interface MaxDependenciesConfig {
1851
1929
  /**
1852
1930
  * Whether to ignore type imports when counting dependencies.
@@ -2156,7 +2234,7 @@ interface NoLargeSnapshotsConfig {
2156
2234
  * Snapshot names can be specified as regular expressions.
2157
2235
  */
2158
2236
  allowedSnapshots?: {
2159
- [k: string]: string[];
2237
+ [k: string]: string[] | undefined;
2160
2238
  };
2161
2239
  /**
2162
2240
  * Maximum number of lines allowed for inline snapshots.
@@ -2168,10 +2246,10 @@ interface NoLargeSnapshotsConfig {
2168
2246
  maxSize?: number;
2169
2247
  }
2170
2248
  interface NoRestrictedTestMethodsConfig {
2171
- [k: string]: string | null;
2249
+ [k: string]: (string | null) | undefined;
2172
2250
  }
2173
2251
  interface NoRestrictedMatchersConfig {
2174
- [k: string]: string | null;
2252
+ [k: string]: (string | null) | undefined;
2175
2253
  }
2176
2254
  interface NoStandaloneExpectConfig {
2177
2255
  /**
@@ -2260,6 +2338,28 @@ interface NoDefaultsConfig {
2260
2338
  */
2261
2339
  noOptionalParamNames?: boolean;
2262
2340
  }
2341
+ interface RequireParamDescriptionConfig {
2342
+ /**
2343
+ * The description string to set by default for destructured roots. Defaults to "The root object".
2344
+ */
2345
+ defaultDestructuredRootDescription?: string;
2346
+ /**
2347
+ * Whether to set a default destructured root description.
2348
+ * For example, you may wish to avoid manually having to set the description for a @param corresponding to a destructured root object as it should always be the same type of object.
2349
+ * Uses `defaultDestructuredRootDescription` for the description string. Defaults to `false`.
2350
+ */
2351
+ setDefaultDestructuredRootDescription?: boolean;
2352
+ }
2353
+ interface RequireParamTypeConfig {
2354
+ /**
2355
+ * The type string to set by default for destructured roots. Defaults to "object".
2356
+ */
2357
+ defaultDestructuredRootType?: string;
2358
+ /**
2359
+ * Whether to set a default destructured root type. For example, you may wish to avoid manually having to set the type for a `@param` corresponding to a destructured root object as it is always going to be an object. Uses `defaultDestructuredRootType` for the type string. Defaults to `false`.
2360
+ */
2361
+ setDefaultDestructuredRootType?: boolean;
2362
+ }
2263
2363
  interface RequireReturnsConfig {
2264
2364
  /**
2265
2365
  * Whether to check constructor methods.
@@ -2324,6 +2424,20 @@ interface AnchorAmbiguousTextConfig {
2324
2424
  */
2325
2425
  words?: string[];
2326
2426
  }
2427
+ interface AnchorIsValidConfig {
2428
+ /**
2429
+ * Sub-rule aspects to run.
2430
+ */
2431
+ aspects?: AnchorIsValidAspect[];
2432
+ /**
2433
+ * Custom components to treat as anchor elements.
2434
+ */
2435
+ components?: string[];
2436
+ /**
2437
+ * Custom prop names to treat as link destinations.
2438
+ */
2439
+ specialLink?: string[];
2440
+ }
2327
2441
  interface AriaRoleConfig {
2328
2442
  /**
2329
2443
  * Custom roles that should be allowed in addition to the ARIA spec.
@@ -2450,10 +2564,17 @@ interface NoDistractingElementsConfig {
2450
2564
  elements?: DistractingElement[];
2451
2565
  }
2452
2566
  interface NoInteractiveElementToNoninteractiveRoleConfig {
2453
- [k: string]: string[];
2567
+ [k: string]: string[] | undefined;
2568
+ }
2569
+ interface NoNoninteractiveElementInteractionsConfig {
2570
+ /**
2571
+ * An array of event handler names that should trigger this rule.
2572
+ */
2573
+ handlers?: string[];
2574
+ [k: string]: string[] | undefined;
2454
2575
  }
2455
2576
  interface NoNoninteractiveElementToInteractiveRoleConfig {
2456
- [k: string]: string[];
2577
+ [k: string]: string[] | undefined;
2457
2578
  }
2458
2579
  interface NoNoninteractiveTabindexConfig {
2459
2580
  /**
@@ -2470,7 +2591,7 @@ interface NoNoninteractiveTabindexConfig {
2470
2591
  tags?: string[];
2471
2592
  }
2472
2593
  interface NoRedundantRolesConfig {
2473
- [k: string]: string[];
2594
+ [k: string]: string[] | undefined;
2474
2595
  }
2475
2596
  interface NoStaticElementInteractionsConfig {
2476
2597
  /**
@@ -3183,6 +3304,31 @@ interface RestrictDefaultExports {
3183
3304
  */
3184
3305
  namespaceFrom?: boolean;
3185
3306
  }
3307
+ interface PropertyDetails {
3308
+ /**
3309
+ * Objects where property access should be allowed. This must be used with `property` and
3310
+ * cannot be used with `object`.
3311
+ */
3312
+ allowObjects?: string[];
3313
+ /**
3314
+ * Properties where property access should be allowed. This must be used with `object` and
3315
+ * cannot be used with `property`.
3316
+ */
3317
+ allowProperties?: string[];
3318
+ /**
3319
+ * A custom message to display.
3320
+ */
3321
+ message?: string;
3322
+ /**
3323
+ * The object on which the property is being accessed.
3324
+ */
3325
+ object?: string;
3326
+ /**
3327
+ * The property being accessed. If `object` is not specified, this applies to the named
3328
+ * property on all objects.
3329
+ */
3330
+ property?: string;
3331
+ }
3186
3332
  interface NoSelfAssign {
3187
3333
  /**
3188
3334
  * The `props` option when set to `false`, disables the checking of properties.
@@ -3676,12 +3822,26 @@ interface NoWarningCommentsConfigJson {
3676
3822
  location?: Location;
3677
3823
  terms?: string[];
3678
3824
  }
3825
+ interface NoMixedRequiresOptions {
3826
+ allowCall?: boolean;
3827
+ grouping?: boolean;
3828
+ }
3679
3829
  interface NoProcessEnvConfig {
3680
3830
  /**
3681
3831
  * Variable names which are allowed to be accessed on `process.env`.
3682
3832
  */
3683
3833
  allowedVariables?: string[];
3684
3834
  }
3835
+ interface NoSyncConfig {
3836
+ /**
3837
+ * Whether synchronous methods should be allowed at the top level of a file.
3838
+ */
3839
+ allowAtRootLevel?: boolean;
3840
+ /**
3841
+ * Function names to ignore.
3842
+ */
3843
+ ignores?: string[];
3844
+ }
3685
3845
  interface ObjectShorthandOptions {
3686
3846
  avoidExplicitReturnArrows?: boolean;
3687
3847
  avoidQuotes?: boolean;
@@ -3776,6 +3936,17 @@ interface PreferConstConfig {
3776
3936
  */
3777
3937
  ignoreReadBeforeAssign?: boolean;
3778
3938
  }
3939
+ interface PreferDestructuringTargetOption {
3940
+ array?: boolean;
3941
+ object?: boolean;
3942
+ }
3943
+ interface PreferDestructuringAssignmentConfig {
3944
+ AssignmentExpression?: PreferDestructuringTargetOption;
3945
+ VariableDeclarator?: PreferDestructuringTargetOption;
3946
+ }
3947
+ interface PreferDestructuringRenamedPropertiesConfig {
3948
+ enforceForRenamedProperties?: boolean;
3949
+ }
3779
3950
  interface PreferPromiseRejectErrors {
3780
3951
  /**
3781
3952
  * Whether to allow calls to `Promise.reject()` with no arguments.
@@ -4263,7 +4434,7 @@ interface JsxNoLiteralsConfig {
4263
4434
  * An object where the keys are the element names and the values are objects with the same options as above. This allows you to specify different options for different elements.
4264
4435
  */
4265
4436
  elementOverrides?: {
4266
- [k: string]: ElementOverrideOptions;
4437
+ [k: string]: ElementOverrideOptions | undefined;
4267
4438
  };
4268
4439
  /**
4269
4440
  * (default: false) - When true the rule ignores literals used in props, wrapped or unwrapped.
@@ -4315,6 +4486,22 @@ interface ElementOverrideOptions {
4315
4486
  */
4316
4487
  restrictedAttributes?: string[];
4317
4488
  }
4489
+ interface JsxNoScriptUrlComponent {
4490
+ /**
4491
+ * Component name.
4492
+ */
4493
+ name: string;
4494
+ /**
4495
+ * List of properties that should be validated.
4496
+ */
4497
+ props: string[];
4498
+ }
4499
+ interface JsxNoScriptUrlOptions {
4500
+ /**
4501
+ * Whether to include components from settings.
4502
+ */
4503
+ includeFromSettings?: boolean;
4504
+ }
4318
4505
  interface JsxNoTargetBlank {
4319
4506
  /**
4320
4507
  * Whether to allow referrers.
@@ -5170,7 +5357,7 @@ interface NoRestrictedTypesConfig {
5170
5357
  * A mapping of type names to ban configurations.
5171
5358
  */
5172
5359
  types?: {
5173
- [k: string]: BanConfigValue;
5360
+ [k: string]: BanConfigValue | undefined;
5174
5361
  };
5175
5362
  }
5176
5363
  interface NoThisAliasConfig {
@@ -5718,9 +5905,15 @@ interface ImportStyleConfig {
5718
5905
  * ```
5719
5906
  */
5720
5907
  styles?: {
5721
- [k: string]: ModuleStylesOverride;
5908
+ [k: string]: ModuleStylesOverride | undefined;
5722
5909
  };
5723
5910
  }
5911
+ interface MaxNestedCalls {
5912
+ /**
5913
+ * The maximum allowed nested call depth.
5914
+ */
5915
+ max?: number;
5916
+ }
5724
5917
  interface NoArrayReduce {
5725
5918
  /**
5726
5919
  * When set to `true`, allows simple operations (like summing numbers) in `reduce` and `reduceRight` calls.
@@ -5805,6 +5998,77 @@ interface NoUselessUndefined {
5805
5998
  */
5806
5999
  checkArrowFunctionBody?: boolean;
5807
6000
  }
6001
+ interface NumericSeparatorsStyleConfig {
6002
+ /**
6003
+ * Configuration for binary literals (e.g. `0b1010_0001` and bigint variants).
6004
+ * Controls how digits are grouped and when separators are applied.
6005
+ */
6006
+ binary?: NumericBaseConfig;
6007
+ /**
6008
+ * Configuration for hexadecimal literals (e.g. `0xAB_CD`, `0Xab_cd`, and bigint variants).
6009
+ * Controls how digits are grouped and when separators are applied.
6010
+ */
6011
+ hexadecimal?: NumericBaseConfig;
6012
+ /**
6013
+ * Configuration for decimal numbers (integers, fraction parts, and exponents).
6014
+ * Controls how digits are grouped and when separators are applied.
6015
+ */
6016
+ number?: NumericNumberConfig;
6017
+ /**
6018
+ * Configuration for octal literals (e.g. `0o1234_5670` and bigint variants).
6019
+ * Controls how digits are grouped and when separators are applied.
6020
+ */
6021
+ octal?: NumericBaseConfig;
6022
+ /**
6023
+ * Only enforce the rule when the numeric literal already contains a separator (`_`).
6024
+ *
6025
+ * When `true`, numbers without separators are left as-is; when `false` (default),
6026
+ * grouping will be enforced for eligible numbers even if they don't include separators yet.
6027
+ */
6028
+ onlyIfContainsSeparator?: boolean;
6029
+ }
6030
+ interface NumericBaseConfig {
6031
+ /**
6032
+ * The number of digits per group when inserting numeric separators.
6033
+ * For example, a `groupLength` of 3 formats `1234567` as `1_234_567`.
6034
+ */
6035
+ groupLength?: number;
6036
+ /**
6037
+ * The minimum number of digits required before grouping is applied.
6038
+ * Values with fewer digits than this threshold will not be grouped.
6039
+ */
6040
+ minimumDigits?: number;
6041
+ /**
6042
+ * Only enforce the rule when the numeric literal already contains a separator (`_`).
6043
+ *
6044
+ * When `true`, numbers without separators are left as-is; when `false` (default),
6045
+ * grouping will be enforced for eligible numbers even if they don't include separators yet.
6046
+ */
6047
+ onlyIfContainsSeparator?: boolean;
6048
+ }
6049
+ interface NumericNumberConfig {
6050
+ /**
6051
+ * The size a group of digits in the fractional part (after the decimal point) should be.
6052
+ */
6053
+ fractionGroupLength?: number;
6054
+ /**
6055
+ * The number of digits per group when inserting numeric separators.
6056
+ * For example, a `groupLength` of 3 formats `1234567` as `1_234_567`.
6057
+ */
6058
+ groupLength?: number;
6059
+ /**
6060
+ * The minimum number of digits required before grouping is applied.
6061
+ * Values with fewer digits than this threshold will not be grouped.
6062
+ */
6063
+ minimumDigits?: number;
6064
+ /**
6065
+ * Only enforce the rule when the numeric literal already contains a separator (`_`).
6066
+ *
6067
+ * When `true`, numbers without separators are left as-is; when `false` (default),
6068
+ * grouping will be enforced for eligible numbers even if they don't include separators yet.
6069
+ */
6070
+ onlyIfContainsSeparator?: boolean;
6071
+ }
5808
6072
  interface PreferAtConfig {
5809
6073
  /**
5810
6074
  * Check all index access, not just special patterns like `array.length - 1`.
@@ -5953,6 +6217,14 @@ interface MaxProps {
5953
6217
  */
5954
6218
  maxProps?: number;
5955
6219
  }
6220
+ interface NoAsyncInComputedPropertiesConfig {
6221
+ /**
6222
+ * Names of identifiers whose member-call chains (`.then` / `.catch` / `.finally`)
6223
+ * should be ignored. Useful for libraries like Zod where `.catch(default)` is
6224
+ * a builder API, not a Promise method.
6225
+ */
6226
+ ignoredObjectNames?: string[];
6227
+ }
5956
6228
  interface NoDeprecatedModelDefinitionConfig {
5957
6229
  /**
5958
6230
  * Allow `model: { prop: 'modelValue', event: 'update:modelValue' }` (or
@@ -6071,7 +6343,7 @@ interface OxlintPluginSettings {
6071
6343
  next?: NextPluginSettings;
6072
6344
  react?: ReactPluginSettings;
6073
6345
  vitest?: VitestPluginSettings;
6074
- [k: string]: unknown;
6346
+ [k: string]: unknown | undefined;
6075
6347
  }
6076
6348
  /**
6077
6349
  * Configure Jest plugin rules.
@@ -6088,7 +6360,7 @@ interface JestPluginSettings {
6088
6360
  * :::
6089
6361
  */
6090
6362
  version?: JestVersionSchema;
6091
- [k: string]: unknown;
6363
+ [k: string]: unknown | undefined;
6092
6364
  }
6093
6365
  interface JSDocPluginSettings {
6094
6366
  /**
@@ -6120,9 +6392,9 @@ interface JSDocPluginSettings {
6120
6392
  */
6121
6393
  overrideReplacesDocs?: boolean;
6122
6394
  tagNamePreference?: {
6123
- [k: string]: TagNamePreference;
6395
+ [k: string]: TagNamePreference | undefined;
6124
6396
  };
6125
- [k: string]: unknown;
6397
+ [k: string]: unknown | undefined;
6126
6398
  }
6127
6399
  /**
6128
6400
  * Configure JSX A11y plugin rules.
@@ -6154,7 +6426,7 @@ interface JSXA11YPluginSettings {
6154
6426
  * ```
6155
6427
  */
6156
6428
  attributes?: {
6157
- [k: string]: string[];
6429
+ [k: string]: string[] | undefined;
6158
6430
  };
6159
6431
  /**
6160
6432
  * To have your custom components be checked as DOM elements, you can
@@ -6176,7 +6448,7 @@ interface JSXA11YPluginSettings {
6176
6448
  * ```
6177
6449
  */
6178
6450
  components?: {
6179
- [k: string]: string;
6451
+ [k: string]: string | undefined;
6180
6452
  };
6181
6453
  /**
6182
6454
  * An optional setting that define the prop your code uses to create polymorphic components.
@@ -6193,7 +6465,7 @@ interface JSXA11YPluginSettings {
6193
6465
  * as a `Box`.
6194
6466
  */
6195
6467
  polymorphicPropName?: string;
6196
- [k: string]: unknown;
6468
+ [k: string]: unknown | undefined;
6197
6469
  }
6198
6470
  /**
6199
6471
  * Configure Next.js plugin rules.
@@ -6218,7 +6490,7 @@ interface NextPluginSettings {
6218
6490
  * ```
6219
6491
  */
6220
6492
  rootDir?: OneOrManyFor_String;
6221
- [k: string]: unknown;
6493
+ [k: string]: unknown | undefined;
6222
6494
  }
6223
6495
  /**
6224
6496
  * Configure React plugin rules.
@@ -6305,7 +6577,7 @@ interface ReactPluginSettings {
6305
6577
  * ```
6306
6578
  */
6307
6579
  version?: string;
6308
- [k: string]: unknown;
6580
+ [k: string]: unknown | undefined;
6309
6581
  }
6310
6582
  /**
6311
6583
  * Configure Vitest plugin rules.
@@ -6320,7 +6592,7 @@ interface VitestPluginSettings {
6320
6592
  * to accommodate TypeScript type checking scenarios.
6321
6593
  */
6322
6594
  typecheck?: boolean;
6323
- [k: string]: unknown;
6595
+ [k: string]: unknown | undefined;
6324
6596
  }
6325
6597
  //#endregion
6326
6598
  //#region src-js/package/config.d.ts