@jsse/eslint-config 0.4.16 → 0.4.18

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/CHANGELOG.md CHANGED
@@ -1,5 +1,87 @@
1
1
  # @jsse/eslint-config
2
2
 
3
+ ## 0.4.18
4
+
5
+ ### Patch Changes
6
+
7
+ - cabc516: updated deps
8
+
9
+ ```diff
10
+ diff --git i/package.json w/package.json
11
+ index 030da5b..cee7cf8 100644
12
+ --- i/package.json
13
+ +++ w/package.json
14
+ @@ -85,9 +85,9 @@
15
+ "@eslint/js": "~9.37.0",
16
+ "@eslint/markdown": "^7.4.0",
17
+ "@stylistic/eslint-plugin": "5.4.0",
18
+ - "@typescript-eslint/eslint-plugin": "^8.46.0",
19
+ - "@typescript-eslint/parser": "^8.46.0",
20
+ - "@vitest/eslint-plugin": "^1.3.16",
21
+ + "@typescript-eslint/eslint-plugin": "^8.46.1",
22
+ + "@typescript-eslint/parser": "^8.46.1",
23
+ + "@vitest/eslint-plugin": "^1.3.20",
24
+ "debug": "^4.4.3",
25
+ "eslint-config-flat-gitignore": "^2.1.0",
26
+ "eslint-merge-processors": "^2.0.0",
27
+ @@ -95,14 +95,14 @@
28
+ "eslint-plugin-command": "^3.3.1",
29
+ "eslint-plugin-de-morgan": "^2.0.0",
30
+ "eslint-plugin-import-lite": "^0.3.0",
31
+ - "eslint-plugin-jsdoc": "^60.8.3",
32
+ + "eslint-plugin-jsdoc": "^61.1.2",
33
+ "eslint-plugin-jsonc": "^2.21.0",
34
+ "eslint-plugin-n": "^17.23.1",
35
+ "eslint-plugin-no-only-tests": "^3.3.0",
36
+ "eslint-plugin-perfectionist": "^4.15.1",
37
+ "eslint-plugin-pnpm": "^1.2.0",
38
+ "eslint-plugin-react": "~7.37.5",
39
+ - "eslint-plugin-react-hooks": "~6.1.1",
40
+ + "eslint-plugin-react-hooks": "~7.0.0",
41
+ "eslint-plugin-react-refresh": "~0.4.23",
42
+ "eslint-plugin-toml": "^0.12.0",
43
+ "eslint-plugin-tsdoc": "^0.4.0",
44
+ @@ -111,7 +111,7 @@
45
+ "eslint-plugin-yml": "^1.19.0",
46
+ "jsonc-eslint-parser": "^2.4.1",
47
+ "toml-eslint-parser": "^0.10.0",
48
+ - "typescript-eslint": "^8.46.0",
49
+ + "typescript-eslint": "^8.46.1",
50
+ "yaml-eslint-parser": "^1.3.0"
51
+ },
52
+ "devDependencies": {
53
+ @@ -120,7 +120,7 @@
54
+ "@jsse/tsconfig": "^0.4.0",
55
+ "@types/debug": "^4.1.12",
56
+ "@types/fs-extra": "^11.0.4",
57
+ - "@types/node": "^24.7.0",
58
+ + "@types/node": "^24.7.2",
59
+ "cac": "^6.7.14",
60
+ "eslint": "^9.37.0",
61
+ "eslint-flat-config-utils": "^2.1.4",
62
+ @@ -130,12 +130,12 @@
63
+ "fs-extra": "^11.3.2",
64
+ "globals": "^16.4.0",
65
+ "local-pkg": "^1.1.2",
66
+ - "oxlint": "^1.20.0",
67
+ + "oxlint": "^1.23.0",
68
+ "picocolors": "^1.1.1",
69
+ "prettier": "^3.6.2",
70
+ "react": "~19.2.0",
71
+ "rimraf": "^6.0.1",
72
+ - "tsdown": "^0.15.6",
73
+ + "tsdown": "^0.15.7",
74
+ "tsx": "^4.20.6",
75
+ "typescript": "~5.9.3",
76
+ "vitest": "^3.2.4"
77
+ ```
78
+
79
+ ## 0.4.17
80
+
81
+ ### Patch Changes
82
+
83
+ - deps updates
84
+
3
85
  ## 0.4.16
4
86
 
5
87
  ### Patch Changes
package/dist/cli.js CHANGED
@@ -1,4 +1,4 @@
1
- import { DEBUG, VERSION } from "./version-CmwNgY9_.js";
1
+ import { DEBUG, VERSION } from "./version-DUk8d3C_.js";
2
2
  import fs from "node:fs";
3
3
  import process$1 from "node:process";
4
4
  import { EventEmitter } from "events";
package/dist/index.d.ts CHANGED
@@ -2616,12 +2616,14 @@ type NoRestrictedImports = (string | {
2616
2616
  message?: string;
2617
2617
  importNames?: string[];
2618
2618
  allowImportNames?: string[];
2619
+ allowTypeImports?: boolean;
2619
2620
  })[] | [] | [{
2620
2621
  paths?: (string | {
2621
2622
  name: string;
2622
2623
  message?: string;
2623
2624
  importNames?: string[];
2624
2625
  allowImportNames?: string[];
2626
+ allowTypeImports?: boolean;
2625
2627
  })[];
2626
2628
  patterns?: string[] | ({
2627
2629
  [k: string]: unknown | undefined;
@@ -3322,6 +3324,7 @@ type UnusedImportsNoUnusedImports = [] | [("all" | "local") | {
3322
3324
  destructuredArrayIgnorePattern?: string;
3323
3325
  ignoreClassWithStaticInitBlock?: boolean;
3324
3326
  ignoreRestSiblings?: boolean;
3327
+ ignoreUsingDeclarations?: boolean;
3325
3328
  reportUsedIgnorePattern?: boolean;
3326
3329
  vars?: "all" | "local";
3327
3330
  varsIgnorePattern?: string;
@@ -3335,6 +3338,7 @@ type UnusedImportsNoUnusedVars = [] | [("all" | "local") | {
3335
3338
  destructuredArrayIgnorePattern?: string;
3336
3339
  ignoreClassWithStaticInitBlock?: boolean;
3337
3340
  ignoreRestSiblings?: boolean;
3341
+ ignoreUsingDeclarations?: boolean;
3338
3342
  reportUsedIgnorePattern?: boolean;
3339
3343
  vars?: "all" | "local";
3340
3344
  varsIgnorePattern?: string;
@@ -3412,6 +3416,11 @@ interface JsdocRuleOptions {
3412
3416
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/empty-tags.md#repos-sticky-header
3413
3417
  */
3414
3418
  "jsdoc/empty-tags"?: Linter.RuleEntry<JsdocEmptyTags>;
3419
+ /**
3420
+ * Reports use of JSDoc tags in non-tag positions (in the default "typescript" mode).
3421
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/escape-inline-tags.md#repos-sticky-header
3422
+ */
3423
+ "jsdoc/escape-inline-tags"?: Linter.RuleEntry<JsdocEscapeInlineTags>;
3415
3424
  /**
3416
3425
  * Prohibits use of `@implements` on non-constructor functions (to enforce the tag only being used on classes/constructors).
3417
3426
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/implements-on-classes.md#repos-sticky-header
@@ -3677,6 +3686,26 @@ interface JsdocRuleOptions {
3677
3686
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/text-escaping.md#repos-sticky-header
3678
3687
  */
3679
3688
  "jsdoc/text-escaping"?: Linter.RuleEntry<JsdocTextEscaping>;
3689
+ /**
3690
+ * Prefers either function properties or method signatures
3691
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-method-signature-style.md#repos-sticky-header
3692
+ */
3693
+ "jsdoc/ts-method-signature-style"?: Linter.RuleEntry<JsdocTsMethodSignatureStyle>;
3694
+ /**
3695
+ * Warns against use of the empty object type
3696
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-no-empty-object-type.md#repos-sticky-header
3697
+ */
3698
+ "jsdoc/ts-no-empty-object-type"?: Linter.RuleEntry<[]>;
3699
+ /**
3700
+ * Catches unnecessary template expressions such as string expressions within a template literal.
3701
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-no-unnecessary-template-expression.md#repos-sticky-header
3702
+ */
3703
+ "jsdoc/ts-no-unnecessary-template-expression"?: Linter.RuleEntry<JsdocTsNoUnnecessaryTemplateExpression>;
3704
+ /**
3705
+ * Prefers function types over call signatures when there are no other properties.
3706
+ * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-prefer-function-type.md#repos-sticky-header
3707
+ */
3708
+ "jsdoc/ts-prefer-function-type"?: Linter.RuleEntry<JsdocTsPreferFunctionType>;
3680
3709
  /**
3681
3710
  * Formats JSDoc type values.
3682
3711
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/type-formatting.md#repos-sticky-header
@@ -3795,6 +3824,12 @@ type JsdocConvertToJsdocComments = [] | [{
3795
3824
  type JsdocEmptyTags = [] | [{
3796
3825
  tags?: string[];
3797
3826
  }];
3827
+ // ----- jsdoc/escape-inline-tags -----
3828
+ type JsdocEscapeInlineTags = [] | [{
3829
+ allowedInlineTags?: string[];
3830
+ enableFixer?: boolean;
3831
+ fixType?: "backticks" | "backslash";
3832
+ }];
3798
3833
  // ----- jsdoc/implements-on-classes -----
3799
3834
  type JsdocImplementsOnClasses = [] | [{
3800
3835
  contexts?: (string | {
@@ -4081,6 +4116,7 @@ type JsdocRequireReturns = [] | [{
4081
4116
  type JsdocRequireReturnsCheck = [] | [{
4082
4117
  exemptAsync?: boolean;
4083
4118
  exemptGenerators?: boolean;
4119
+ noNativeTypes?: boolean;
4084
4120
  reportMissingReturnForUndefinedTypes?: boolean;
4085
4121
  }];
4086
4122
  // ----- jsdoc/require-returns-description -----
@@ -4169,16 +4205,44 @@ type JsdocTextEscaping = [] | [{
4169
4205
  escapeHTML?: boolean;
4170
4206
  escapeMarkdown?: boolean;
4171
4207
  }];
4208
+ // ----- jsdoc/ts-method-signature-style -----
4209
+ type JsdocTsMethodSignatureStyle = [] | ["method" | "property"] | ["method" | "property", {
4210
+ enableFixer?: boolean;
4211
+ }];
4212
+ // ----- jsdoc/ts-no-unnecessary-template-expression -----
4213
+ type JsdocTsNoUnnecessaryTemplateExpression = [] | [{
4214
+ enableFixer?: boolean;
4215
+ }];
4216
+ // ----- jsdoc/ts-prefer-function-type -----
4217
+ type JsdocTsPreferFunctionType = [] | [{
4218
+ enableFixer?: boolean;
4219
+ }];
4172
4220
  // ----- jsdoc/type-formatting -----
4173
4221
  type JsdocTypeFormatting = [] | [{
4174
4222
  arrayBrackets?: "angle" | "square";
4223
+ arrowFunctionPostReturnMarkerSpacing?: string;
4224
+ arrowFunctionPreReturnMarkerSpacing?: string;
4175
4225
  enableFixer?: boolean;
4226
+ functionOrClassParameterSpacing?: string;
4227
+ functionOrClassPostGenericSpacing?: string;
4228
+ functionOrClassPostReturnMarkerSpacing?: string;
4229
+ functionOrClassPreReturnMarkerSpacing?: string;
4230
+ functionOrClassTypeParameterSpacing?: string;
4231
+ genericAndTupleElementSpacing?: string;
4176
4232
  genericDot?: boolean;
4233
+ keyValuePostColonSpacing?: string;
4234
+ keyValuePostKeySpacing?: string;
4235
+ keyValuePostOptionalSpacing?: string;
4236
+ keyValuePostVariadicSpacing?: string;
4237
+ methodQuotes?: "double" | "single";
4177
4238
  objectFieldIndent?: string;
4178
4239
  objectFieldQuote?: "double" | "single" | null;
4179
4240
  objectFieldSeparator?: "comma" | "comma-and-linebreak" | "linebreak" | "semicolon" | "semicolon-and-linebreak";
4180
4241
  objectFieldSeparatorOptionalLinebreak?: boolean;
4181
4242
  objectFieldSeparatorTrailingPunctuation?: boolean;
4243
+ parameterDefaultValueSpacing?: string;
4244
+ postMethodNameSpacing?: string;
4245
+ postNewSpacing?: string;
4182
4246
  separatorForSingleObjectField?: boolean;
4183
4247
  stringQuotes?: "double" | "single";
4184
4248
  typeBracketSpacing?: string;
@@ -7183,6 +7247,11 @@ interface PnpmRuleOptions {
7183
7247
  * @see https://github.com/antfu/pnpm-workspace-utils/tree/main/packages/eslint-plugin-pnpm/src/rules/yaml/yaml-no-unused-catalog-item.test.ts
7184
7248
  */
7185
7249
  "pnpm/yaml-no-unused-catalog-item"?: Linter.RuleEntry<[]>;
7250
+ /**
7251
+ * Ensure all package patterns in `pnpm-workspace.yaml` match at least one directory
7252
+ * @see https://github.com/antfu/pnpm-workspace-utils/tree/main/packages/eslint-plugin-pnpm/src/rules/yaml/yaml-valid-packages.test.ts
7253
+ */
7254
+ "pnpm/yaml-valid-packages"?: Linter.RuleEntry<[]>;
7186
7255
  }
7187
7256
  /* ======= Declarations ======= */
7188
7257
  // ----- pnpm/json-enforce-catalog -----
@@ -7217,16 +7286,124 @@ interface PrettierRuleOptions {}
7217
7286
  //#endregion
7218
7287
  //#region src/generated/dts/react.d.ts
7219
7288
  interface ReactRuleOptions {
7289
+ /**
7290
+ * Verifies that automatic effect dependencies are compiled if opted-in
7291
+ */
7292
+ "react-hooks/automatic-effect-dependencies"?: Linter.RuleEntry<ReactHooksAutomaticEffectDependencies$1>;
7293
+ /**
7294
+ * Validates against calling capitalized functions/methods instead of using JSX
7295
+ */
7296
+ "react-hooks/capitalized-calls"?: Linter.RuleEntry<ReactHooksCapitalizedCalls$1>;
7297
+ /**
7298
+ * Validates against higher order functions defining nested components or hooks. Components and hooks should be defined at the module level
7299
+ */
7300
+ "react-hooks/component-hook-factories"?: Linter.RuleEntry<ReactHooksComponentHookFactories$1>;
7301
+ /**
7302
+ * Validates the compiler configuration options
7303
+ */
7304
+ "react-hooks/config"?: Linter.RuleEntry<ReactHooksConfig$1>;
7305
+ /**
7306
+ * Validates usage of error boundaries instead of try/catch for errors in child components
7307
+ */
7308
+ "react-hooks/error-boundaries"?: Linter.RuleEntry<ReactHooksErrorBoundaries$1>;
7220
7309
  /**
7221
7310
  * verifies the list of dependencies for Hooks like useEffect and similar
7222
7311
  * @see https://github.com/facebook/react/issues/14920
7223
7312
  */
7224
7313
  "react-hooks/exhaustive-deps"?: Linter.RuleEntry<ReactHooksExhaustiveDeps$1>;
7314
+ /**
7315
+ * Validates usage of fbt
7316
+ */
7317
+ "react-hooks/fbt"?: Linter.RuleEntry<ReactHooksFbt$1>;
7318
+ /**
7319
+ * Validates usage of `fire`
7320
+ */
7321
+ "react-hooks/fire"?: Linter.RuleEntry<ReactHooksFire$1>;
7322
+ /**
7323
+ * Validates configuration of [gating mode](https://react.dev/reference/react-compiler/gating)
7324
+ */
7325
+ "react-hooks/gating"?: Linter.RuleEntry<ReactHooksGating$1>;
7326
+ /**
7327
+ * Validates against assignment/mutation of globals during render, part of ensuring that [side effects must render outside of render](https://react.dev/reference/rules/components-and-hooks-must-be-pure#side-effects-must-run-outside-of-render)
7328
+ */
7329
+ "react-hooks/globals"?: Linter.RuleEntry<ReactHooksGlobals$1>;
7330
+ /**
7331
+ * Validates the rules of hooks
7332
+ */
7333
+ "react-hooks/hooks"?: Linter.RuleEntry<ReactHooksHooks$1>;
7334
+ /**
7335
+ * Validates against mutating props, state, and other values that [are immutable](https://react.dev/reference/rules/components-and-hooks-must-be-pure#props-and-state-are-immutable)
7336
+ */
7337
+ "react-hooks/immutability"?: Linter.RuleEntry<ReactHooksImmutability$1>;
7338
+ /**
7339
+ * Validates against usage of libraries which are incompatible with memoization (manual or automatic)
7340
+ */
7341
+ "react-hooks/incompatible-library"?: Linter.RuleEntry<ReactHooksIncompatibleLibrary$1>;
7342
+ /**
7343
+ * Internal invariants
7344
+ */
7345
+ "react-hooks/invariant"?: Linter.RuleEntry<ReactHooksInvariant$1>;
7346
+ /**
7347
+ * Validates that effect dependencies are memoized
7348
+ */
7349
+ "react-hooks/memoized-effect-dependencies"?: Linter.RuleEntry<ReactHooksMemoizedEffectDependencies$1>;
7350
+ /**
7351
+ * Validates against deriving values from state in an effect
7352
+ */
7353
+ "react-hooks/no-deriving-state-in-effects"?: Linter.RuleEntry<ReactHooksNoDerivingStateInEffects$1>;
7354
+ /**
7355
+ * Validates that existing manual memoized is preserved by the compiler. React Compiler will only compile components and hooks if its inference [matches or exceeds the existing manual memoization](https://react.dev/learn/react-compiler/introduction#what-should-i-do-about-usememo-usecallback-and-reactmemo)
7356
+ */
7357
+ "react-hooks/preserve-manual-memoization"?: Linter.RuleEntry<ReactHooksPreserveManualMemoization$1>;
7358
+ /**
7359
+ * Validates that [components/hooks are pure](https://react.dev/reference/rules/components-and-hooks-must-be-pure) by checking that they do not call known-impure functions
7360
+ */
7361
+ "react-hooks/purity"?: Linter.RuleEntry<ReactHooksPurity$1>;
7362
+ /**
7363
+ * Validates correct usage of refs, not reading/writing during render. See the "pitfalls" section in [`useRef()` usage](https://react.dev/reference/react/useRef#usage)
7364
+ */
7365
+ "react-hooks/refs"?: Linter.RuleEntry<ReactHooksRefs$1>;
7366
+ /**
7367
+ * Validates against suppression of other rules
7368
+ */
7369
+ "react-hooks/rule-suppression"?: Linter.RuleEntry<ReactHooksRuleSuppression$1>;
7225
7370
  /**
7226
7371
  * enforces the Rules of Hooks
7227
- * @see https://reactjs.org/docs/hooks-rules.html
7372
+ * @see https://react.dev/reference/rules/rules-of-hooks
7373
+ */
7374
+ "react-hooks/rules-of-hooks"?: Linter.RuleEntry<ReactHooksRulesOfHooks$1>;
7375
+ /**
7376
+ * Validates against calling setState synchronously in an effect, which can lead to re-renders that degrade performance
7377
+ */
7378
+ "react-hooks/set-state-in-effect"?: Linter.RuleEntry<ReactHooksSetStateInEffect$1>;
7379
+ /**
7380
+ * Validates against setting state during render, which can trigger additional renders and potential infinite render loops
7381
+ */
7382
+ "react-hooks/set-state-in-render"?: Linter.RuleEntry<ReactHooksSetStateInRender$1>;
7383
+ /**
7384
+ * Validates that components are static, not recreated every render. Components that are recreated dynamically can reset state and trigger excessive re-rendering
7385
+ */
7386
+ "react-hooks/static-components"?: Linter.RuleEntry<ReactHooksStaticComponents$1>;
7387
+ /**
7388
+ * Validates against invalid syntax
7389
+ */
7390
+ "react-hooks/syntax"?: Linter.RuleEntry<ReactHooksSyntax$1>;
7391
+ /**
7392
+ * Unimplemented features
7393
+ */
7394
+ "react-hooks/todo"?: Linter.RuleEntry<ReactHooksTodo$1>;
7395
+ /**
7396
+ * Validates against syntax that we do not plan to support in React Compiler
7397
+ */
7398
+ "react-hooks/unsupported-syntax"?: Linter.RuleEntry<ReactHooksUnsupportedSyntax$1>;
7399
+ /**
7400
+ * Validates usage of the useMemo() hook against common mistakes. See [`useMemo()` docs](https://react.dev/reference/react/useMemo) for more information.
7228
7401
  */
7229
- "react-hooks/rules-of-hooks"?: Linter.RuleEntry<[]>;
7402
+ "react-hooks/use-memo"?: Linter.RuleEntry<ReactHooksUseMemo$1>;
7403
+ /**
7404
+ * Validates that useMemos always return a value. See [`useMemo()` docs](https://react.dev/reference/react/useMemo) for more information.
7405
+ */
7406
+ "react-hooks/void-use-memo"?: Linter.RuleEntry<ReactHooksVoidUseMemo$1>;
7230
7407
  "react-refresh/only-export-components"?: Linter.RuleEntry<ReactRefreshOnlyExportComponents>;
7231
7408
  /**
7232
7409
  * Enforces consistent naming for boolean props
@@ -7747,10 +7924,124 @@ interface ReactRuleOptions {
7747
7924
  "react/void-dom-elements-no-children"?: Linter.RuleEntry<[]>;
7748
7925
  }
7749
7926
  /* ======= Declarations ======= */
7927
+ // ----- react-hooks/automatic-effect-dependencies -----
7928
+ type ReactHooksAutomaticEffectDependencies$1 = [] | [{
7929
+ [k: string]: unknown | undefined;
7930
+ }];
7931
+ // ----- react-hooks/capitalized-calls -----
7932
+ type ReactHooksCapitalizedCalls$1 = [] | [{
7933
+ [k: string]: unknown | undefined;
7934
+ }];
7935
+ // ----- react-hooks/component-hook-factories -----
7936
+ type ReactHooksComponentHookFactories$1 = [] | [{
7937
+ [k: string]: unknown | undefined;
7938
+ }];
7939
+ // ----- react-hooks/config -----
7940
+ type ReactHooksConfig$1 = [] | [{
7941
+ [k: string]: unknown | undefined;
7942
+ }];
7943
+ // ----- react-hooks/error-boundaries -----
7944
+ type ReactHooksErrorBoundaries$1 = [] | [{
7945
+ [k: string]: unknown | undefined;
7946
+ }];
7750
7947
  // ----- react-hooks/exhaustive-deps -----
7751
7948
  type ReactHooksExhaustiveDeps$1 = [] | [{
7752
7949
  additionalHooks?: string;
7753
7950
  enableDangerousAutofixThisMayCauseInfiniteLoops?: boolean;
7951
+ experimental_autoDependenciesHooks?: string[];
7952
+ requireExplicitEffectDeps?: boolean;
7953
+ }];
7954
+ // ----- react-hooks/fbt -----
7955
+ type ReactHooksFbt$1 = [] | [{
7956
+ [k: string]: unknown | undefined;
7957
+ }];
7958
+ // ----- react-hooks/fire -----
7959
+ type ReactHooksFire$1 = [] | [{
7960
+ [k: string]: unknown | undefined;
7961
+ }];
7962
+ // ----- react-hooks/gating -----
7963
+ type ReactHooksGating$1 = [] | [{
7964
+ [k: string]: unknown | undefined;
7965
+ }];
7966
+ // ----- react-hooks/globals -----
7967
+ type ReactHooksGlobals$1 = [] | [{
7968
+ [k: string]: unknown | undefined;
7969
+ }];
7970
+ // ----- react-hooks/hooks -----
7971
+ type ReactHooksHooks$1 = [] | [{
7972
+ [k: string]: unknown | undefined;
7973
+ }];
7974
+ // ----- react-hooks/immutability -----
7975
+ type ReactHooksImmutability$1 = [] | [{
7976
+ [k: string]: unknown | undefined;
7977
+ }];
7978
+ // ----- react-hooks/incompatible-library -----
7979
+ type ReactHooksIncompatibleLibrary$1 = [] | [{
7980
+ [k: string]: unknown | undefined;
7981
+ }];
7982
+ // ----- react-hooks/invariant -----
7983
+ type ReactHooksInvariant$1 = [] | [{
7984
+ [k: string]: unknown | undefined;
7985
+ }];
7986
+ // ----- react-hooks/memoized-effect-dependencies -----
7987
+ type ReactHooksMemoizedEffectDependencies$1 = [] | [{
7988
+ [k: string]: unknown | undefined;
7989
+ }];
7990
+ // ----- react-hooks/no-deriving-state-in-effects -----
7991
+ type ReactHooksNoDerivingStateInEffects$1 = [] | [{
7992
+ [k: string]: unknown | undefined;
7993
+ }];
7994
+ // ----- react-hooks/preserve-manual-memoization -----
7995
+ type ReactHooksPreserveManualMemoization$1 = [] | [{
7996
+ [k: string]: unknown | undefined;
7997
+ }];
7998
+ // ----- react-hooks/purity -----
7999
+ type ReactHooksPurity$1 = [] | [{
8000
+ [k: string]: unknown | undefined;
8001
+ }];
8002
+ // ----- react-hooks/refs -----
8003
+ type ReactHooksRefs$1 = [] | [{
8004
+ [k: string]: unknown | undefined;
8005
+ }];
8006
+ // ----- react-hooks/rule-suppression -----
8007
+ type ReactHooksRuleSuppression$1 = [] | [{
8008
+ [k: string]: unknown | undefined;
8009
+ }];
8010
+ // ----- react-hooks/rules-of-hooks -----
8011
+ type ReactHooksRulesOfHooks$1 = [] | [{
8012
+ additionalHooks?: string;
8013
+ }];
8014
+ // ----- react-hooks/set-state-in-effect -----
8015
+ type ReactHooksSetStateInEffect$1 = [] | [{
8016
+ [k: string]: unknown | undefined;
8017
+ }];
8018
+ // ----- react-hooks/set-state-in-render -----
8019
+ type ReactHooksSetStateInRender$1 = [] | [{
8020
+ [k: string]: unknown | undefined;
8021
+ }];
8022
+ // ----- react-hooks/static-components -----
8023
+ type ReactHooksStaticComponents$1 = [] | [{
8024
+ [k: string]: unknown | undefined;
8025
+ }];
8026
+ // ----- react-hooks/syntax -----
8027
+ type ReactHooksSyntax$1 = [] | [{
8028
+ [k: string]: unknown | undefined;
8029
+ }];
8030
+ // ----- react-hooks/todo -----
8031
+ type ReactHooksTodo$1 = [] | [{
8032
+ [k: string]: unknown | undefined;
8033
+ }];
8034
+ // ----- react-hooks/unsupported-syntax -----
8035
+ type ReactHooksUnsupportedSyntax$1 = [] | [{
8036
+ [k: string]: unknown | undefined;
8037
+ }];
8038
+ // ----- react-hooks/use-memo -----
8039
+ type ReactHooksUseMemo$1 = [] | [{
8040
+ [k: string]: unknown | undefined;
8041
+ }];
8042
+ // ----- react-hooks/void-use-memo -----
8043
+ type ReactHooksVoidUseMemo$1 = [] | [{
8044
+ [k: string]: unknown | undefined;
7754
8045
  }];
7755
8046
  // ----- react-refresh/only-export-components -----
7756
8047
  type ReactRefreshOnlyExportComponents = [] | [{
@@ -8223,22 +8514,244 @@ type ReactStylePropObject = [] | [{
8223
8514
  //#endregion
8224
8515
  //#region src/generated/dts/react-hooks.d.ts
8225
8516
  interface ReactHooksRuleOptions {
8517
+ /**
8518
+ * Verifies that automatic effect dependencies are compiled if opted-in
8519
+ */
8520
+ "react-hooks/automatic-effect-dependencies"?: Linter.RuleEntry<ReactHooksAutomaticEffectDependencies>;
8521
+ /**
8522
+ * Validates against calling capitalized functions/methods instead of using JSX
8523
+ */
8524
+ "react-hooks/capitalized-calls"?: Linter.RuleEntry<ReactHooksCapitalizedCalls>;
8525
+ /**
8526
+ * Validates against higher order functions defining nested components or hooks. Components and hooks should be defined at the module level
8527
+ */
8528
+ "react-hooks/component-hook-factories"?: Linter.RuleEntry<ReactHooksComponentHookFactories>;
8529
+ /**
8530
+ * Validates the compiler configuration options
8531
+ */
8532
+ "react-hooks/config"?: Linter.RuleEntry<ReactHooksConfig>;
8533
+ /**
8534
+ * Validates usage of error boundaries instead of try/catch for errors in child components
8535
+ */
8536
+ "react-hooks/error-boundaries"?: Linter.RuleEntry<ReactHooksErrorBoundaries>;
8226
8537
  /**
8227
8538
  * verifies the list of dependencies for Hooks like useEffect and similar
8228
8539
  * @see https://github.com/facebook/react/issues/14920
8229
8540
  */
8230
8541
  "react-hooks/exhaustive-deps"?: Linter.RuleEntry<ReactHooksExhaustiveDeps>;
8542
+ /**
8543
+ * Validates usage of fbt
8544
+ */
8545
+ "react-hooks/fbt"?: Linter.RuleEntry<ReactHooksFbt>;
8546
+ /**
8547
+ * Validates usage of `fire`
8548
+ */
8549
+ "react-hooks/fire"?: Linter.RuleEntry<ReactHooksFire>;
8550
+ /**
8551
+ * Validates configuration of [gating mode](https://react.dev/reference/react-compiler/gating)
8552
+ */
8553
+ "react-hooks/gating"?: Linter.RuleEntry<ReactHooksGating>;
8554
+ /**
8555
+ * Validates against assignment/mutation of globals during render, part of ensuring that [side effects must render outside of render](https://react.dev/reference/rules/components-and-hooks-must-be-pure#side-effects-must-run-outside-of-render)
8556
+ */
8557
+ "react-hooks/globals"?: Linter.RuleEntry<ReactHooksGlobals>;
8558
+ /**
8559
+ * Validates the rules of hooks
8560
+ */
8561
+ "react-hooks/hooks"?: Linter.RuleEntry<ReactHooksHooks>;
8562
+ /**
8563
+ * Validates against mutating props, state, and other values that [are immutable](https://react.dev/reference/rules/components-and-hooks-must-be-pure#props-and-state-are-immutable)
8564
+ */
8565
+ "react-hooks/immutability"?: Linter.RuleEntry<ReactHooksImmutability>;
8566
+ /**
8567
+ * Validates against usage of libraries which are incompatible with memoization (manual or automatic)
8568
+ */
8569
+ "react-hooks/incompatible-library"?: Linter.RuleEntry<ReactHooksIncompatibleLibrary>;
8570
+ /**
8571
+ * Internal invariants
8572
+ */
8573
+ "react-hooks/invariant"?: Linter.RuleEntry<ReactHooksInvariant>;
8574
+ /**
8575
+ * Validates that effect dependencies are memoized
8576
+ */
8577
+ "react-hooks/memoized-effect-dependencies"?: Linter.RuleEntry<ReactHooksMemoizedEffectDependencies>;
8578
+ /**
8579
+ * Validates against deriving values from state in an effect
8580
+ */
8581
+ "react-hooks/no-deriving-state-in-effects"?: Linter.RuleEntry<ReactHooksNoDerivingStateInEffects>;
8582
+ /**
8583
+ * Validates that existing manual memoized is preserved by the compiler. React Compiler will only compile components and hooks if its inference [matches or exceeds the existing manual memoization](https://react.dev/learn/react-compiler/introduction#what-should-i-do-about-usememo-usecallback-and-reactmemo)
8584
+ */
8585
+ "react-hooks/preserve-manual-memoization"?: Linter.RuleEntry<ReactHooksPreserveManualMemoization>;
8586
+ /**
8587
+ * Validates that [components/hooks are pure](https://react.dev/reference/rules/components-and-hooks-must-be-pure) by checking that they do not call known-impure functions
8588
+ */
8589
+ "react-hooks/purity"?: Linter.RuleEntry<ReactHooksPurity>;
8590
+ /**
8591
+ * Validates correct usage of refs, not reading/writing during render. See the "pitfalls" section in [`useRef()` usage](https://react.dev/reference/react/useRef#usage)
8592
+ */
8593
+ "react-hooks/refs"?: Linter.RuleEntry<ReactHooksRefs>;
8594
+ /**
8595
+ * Validates against suppression of other rules
8596
+ */
8597
+ "react-hooks/rule-suppression"?: Linter.RuleEntry<ReactHooksRuleSuppression>;
8231
8598
  /**
8232
8599
  * enforces the Rules of Hooks
8233
- * @see https://reactjs.org/docs/hooks-rules.html
8600
+ * @see https://react.dev/reference/rules/rules-of-hooks
8234
8601
  */
8235
- "react-hooks/rules-of-hooks"?: Linter.RuleEntry<[]>;
8602
+ "react-hooks/rules-of-hooks"?: Linter.RuleEntry<ReactHooksRulesOfHooks>;
8603
+ /**
8604
+ * Validates against calling setState synchronously in an effect, which can lead to re-renders that degrade performance
8605
+ */
8606
+ "react-hooks/set-state-in-effect"?: Linter.RuleEntry<ReactHooksSetStateInEffect>;
8607
+ /**
8608
+ * Validates against setting state during render, which can trigger additional renders and potential infinite render loops
8609
+ */
8610
+ "react-hooks/set-state-in-render"?: Linter.RuleEntry<ReactHooksSetStateInRender>;
8611
+ /**
8612
+ * Validates that components are static, not recreated every render. Components that are recreated dynamically can reset state and trigger excessive re-rendering
8613
+ */
8614
+ "react-hooks/static-components"?: Linter.RuleEntry<ReactHooksStaticComponents>;
8615
+ /**
8616
+ * Validates against invalid syntax
8617
+ */
8618
+ "react-hooks/syntax"?: Linter.RuleEntry<ReactHooksSyntax>;
8619
+ /**
8620
+ * Unimplemented features
8621
+ */
8622
+ "react-hooks/todo"?: Linter.RuleEntry<ReactHooksTodo>;
8623
+ /**
8624
+ * Validates against syntax that we do not plan to support in React Compiler
8625
+ */
8626
+ "react-hooks/unsupported-syntax"?: Linter.RuleEntry<ReactHooksUnsupportedSyntax>;
8627
+ /**
8628
+ * Validates usage of the useMemo() hook against common mistakes. See [`useMemo()` docs](https://react.dev/reference/react/useMemo) for more information.
8629
+ */
8630
+ "react-hooks/use-memo"?: Linter.RuleEntry<ReactHooksUseMemo>;
8631
+ /**
8632
+ * Validates that useMemos always return a value. See [`useMemo()` docs](https://react.dev/reference/react/useMemo) for more information.
8633
+ */
8634
+ "react-hooks/void-use-memo"?: Linter.RuleEntry<ReactHooksVoidUseMemo>;
8236
8635
  }
8237
8636
  /* ======= Declarations ======= */
8637
+ // ----- react-hooks/automatic-effect-dependencies -----
8638
+ type ReactHooksAutomaticEffectDependencies = [] | [{
8639
+ [k: string]: unknown | undefined;
8640
+ }];
8641
+ // ----- react-hooks/capitalized-calls -----
8642
+ type ReactHooksCapitalizedCalls = [] | [{
8643
+ [k: string]: unknown | undefined;
8644
+ }];
8645
+ // ----- react-hooks/component-hook-factories -----
8646
+ type ReactHooksComponentHookFactories = [] | [{
8647
+ [k: string]: unknown | undefined;
8648
+ }];
8649
+ // ----- react-hooks/config -----
8650
+ type ReactHooksConfig = [] | [{
8651
+ [k: string]: unknown | undefined;
8652
+ }];
8653
+ // ----- react-hooks/error-boundaries -----
8654
+ type ReactHooksErrorBoundaries = [] | [{
8655
+ [k: string]: unknown | undefined;
8656
+ }];
8238
8657
  // ----- react-hooks/exhaustive-deps -----
8239
8658
  type ReactHooksExhaustiveDeps = [] | [{
8240
8659
  additionalHooks?: string;
8241
8660
  enableDangerousAutofixThisMayCauseInfiniteLoops?: boolean;
8661
+ experimental_autoDependenciesHooks?: string[];
8662
+ requireExplicitEffectDeps?: boolean;
8663
+ }];
8664
+ // ----- react-hooks/fbt -----
8665
+ type ReactHooksFbt = [] | [{
8666
+ [k: string]: unknown | undefined;
8667
+ }];
8668
+ // ----- react-hooks/fire -----
8669
+ type ReactHooksFire = [] | [{
8670
+ [k: string]: unknown | undefined;
8671
+ }];
8672
+ // ----- react-hooks/gating -----
8673
+ type ReactHooksGating = [] | [{
8674
+ [k: string]: unknown | undefined;
8675
+ }];
8676
+ // ----- react-hooks/globals -----
8677
+ type ReactHooksGlobals = [] | [{
8678
+ [k: string]: unknown | undefined;
8679
+ }];
8680
+ // ----- react-hooks/hooks -----
8681
+ type ReactHooksHooks = [] | [{
8682
+ [k: string]: unknown | undefined;
8683
+ }];
8684
+ // ----- react-hooks/immutability -----
8685
+ type ReactHooksImmutability = [] | [{
8686
+ [k: string]: unknown | undefined;
8687
+ }];
8688
+ // ----- react-hooks/incompatible-library -----
8689
+ type ReactHooksIncompatibleLibrary = [] | [{
8690
+ [k: string]: unknown | undefined;
8691
+ }];
8692
+ // ----- react-hooks/invariant -----
8693
+ type ReactHooksInvariant = [] | [{
8694
+ [k: string]: unknown | undefined;
8695
+ }];
8696
+ // ----- react-hooks/memoized-effect-dependencies -----
8697
+ type ReactHooksMemoizedEffectDependencies = [] | [{
8698
+ [k: string]: unknown | undefined;
8699
+ }];
8700
+ // ----- react-hooks/no-deriving-state-in-effects -----
8701
+ type ReactHooksNoDerivingStateInEffects = [] | [{
8702
+ [k: string]: unknown | undefined;
8703
+ }];
8704
+ // ----- react-hooks/preserve-manual-memoization -----
8705
+ type ReactHooksPreserveManualMemoization = [] | [{
8706
+ [k: string]: unknown | undefined;
8707
+ }];
8708
+ // ----- react-hooks/purity -----
8709
+ type ReactHooksPurity = [] | [{
8710
+ [k: string]: unknown | undefined;
8711
+ }];
8712
+ // ----- react-hooks/refs -----
8713
+ type ReactHooksRefs = [] | [{
8714
+ [k: string]: unknown | undefined;
8715
+ }];
8716
+ // ----- react-hooks/rule-suppression -----
8717
+ type ReactHooksRuleSuppression = [] | [{
8718
+ [k: string]: unknown | undefined;
8719
+ }];
8720
+ // ----- react-hooks/rules-of-hooks -----
8721
+ type ReactHooksRulesOfHooks = [] | [{
8722
+ additionalHooks?: string;
8723
+ }];
8724
+ // ----- react-hooks/set-state-in-effect -----
8725
+ type ReactHooksSetStateInEffect = [] | [{
8726
+ [k: string]: unknown | undefined;
8727
+ }];
8728
+ // ----- react-hooks/set-state-in-render -----
8729
+ type ReactHooksSetStateInRender = [] | [{
8730
+ [k: string]: unknown | undefined;
8731
+ }];
8732
+ // ----- react-hooks/static-components -----
8733
+ type ReactHooksStaticComponents = [] | [{
8734
+ [k: string]: unknown | undefined;
8735
+ }];
8736
+ // ----- react-hooks/syntax -----
8737
+ type ReactHooksSyntax = [] | [{
8738
+ [k: string]: unknown | undefined;
8739
+ }];
8740
+ // ----- react-hooks/todo -----
8741
+ type ReactHooksTodo = [] | [{
8742
+ [k: string]: unknown | undefined;
8743
+ }];
8744
+ // ----- react-hooks/unsupported-syntax -----
8745
+ type ReactHooksUnsupportedSyntax = [] | [{
8746
+ [k: string]: unknown | undefined;
8747
+ }];
8748
+ // ----- react-hooks/use-memo -----
8749
+ type ReactHooksUseMemo = [] | [{
8750
+ [k: string]: unknown | undefined;
8751
+ }];
8752
+ // ----- react-hooks/void-use-memo -----
8753
+ type ReactHooksVoidUseMemo = [] | [{
8754
+ [k: string]: unknown | undefined;
8242
8755
  }];
8243
8756
  //#endregion
8244
8757
  //#region src/generated/dts/sort-package-json.d.ts
@@ -10595,7 +11108,7 @@ interface TypescriptRuleOptions {
10595
11108
  * Disallow member access on a value with type `any`
10596
11109
  * @see https://typescript-eslint.io/rules/no-unsafe-member-access
10597
11110
  */
10598
- "@typescript-eslint/no-unsafe-member-access"?: Linter.RuleEntry<[]>;
11111
+ "@typescript-eslint/no-unsafe-member-access"?: Linter.RuleEntry<TypescriptEslintNoUnsafeMemberAccess>;
10599
11112
  /**
10600
11113
  * Disallow returning a value with type `any` from a function
10601
11114
  * @see https://typescript-eslint.io/rules/no-unsafe-return
@@ -11569,6 +12082,10 @@ type TypescriptEslintNoUnnecessaryTypeAssertion = [] | [{
11569
12082
  checkLiteralConstAssertions?: boolean;
11570
12083
  typesToIgnore?: string[];
11571
12084
  }];
12085
+ // ----- @typescript-eslint/no-unsafe-member-access -----
12086
+ type TypescriptEslintNoUnsafeMemberAccess = [] | [{
12087
+ allowOptionalChaining?: boolean;
12088
+ }];
11572
12089
  // ----- @typescript-eslint/no-unused-expressions -----
11573
12090
  type TypescriptEslintNoUnusedExpressions = [] | [{
11574
12091
  allowShortCircuit?: boolean;
@@ -11586,6 +12103,7 @@ type TypescriptEslintNoUnusedVars = [] | [("all" | "local") | {
11586
12103
  destructuredArrayIgnorePattern?: string;
11587
12104
  ignoreClassWithStaticInitBlock?: boolean;
11588
12105
  ignoreRestSiblings?: boolean;
12106
+ ignoreUsingDeclarations?: boolean;
11589
12107
  reportUsedIgnorePattern?: boolean;
11590
12108
  vars?: "all" | "local";
11591
12109
  varsIgnorePattern?: string;
@@ -12765,7 +13283,7 @@ type UnicornTemplateIndent = [] | [{
12765
13283
  //#region src/generated/dts/vitest.d.ts
12766
13284
  interface VitestRuleOptions {
12767
13285
  /**
12768
- * require .spec test file pattern
13286
+ * require test file pattern
12769
13287
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-filename.md
12770
13288
  */
12771
13289
  "vitest/consistent-test-filename"?: Linter.RuleEntry<VitestConsistentTestFilename>;
@@ -12945,6 +13463,11 @@ interface VitestRuleOptions {
12945
13463
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-test-blocks.md
12946
13464
  */
12947
13465
  "vitest/padding-around-test-blocks"?: Linter.RuleEntry<[]>;
13466
+ /**
13467
+ * Prefer `toHaveBeenCalledExactlyOnceWith` over `toHaveBeenCalledOnce` and `toHaveBeenCalledWith`
13468
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-exactly-once-with.md
13469
+ */
13470
+ "vitest/prefer-called-exactly-once-with"?: Linter.RuleEntry<[]>;
12948
13471
  /**
12949
13472
  * enforce using `toBeCalledOnce()` or `toHaveBeenCalledOnce()`
12950
13473
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-once.md
@@ -13005,6 +13528,11 @@ interface VitestRuleOptions {
13005
13528
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-on-top.md
13006
13529
  */
13007
13530
  "vitest/prefer-hooks-on-top"?: Linter.RuleEntry<[]>;
13531
+ /**
13532
+ * prefer dynamic import in mock
13533
+ * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-import-in-mock.md
13534
+ */
13535
+ "vitest/prefer-import-in-mock"?: Linter.RuleEntry<[]>;
13008
13536
  /**
13009
13537
  * enforce importing Vitest globals
13010
13538
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-importing-vitest-globals.md
@@ -13621,7 +14149,6 @@ type RuleOptionsMap = {
13621
14149
  type Config = Omit<Linter.Config<Linter.RulesRecord & RuleOptionsUnion>, "plugins"> & {
13622
14150
  /**
13623
14151
  * An object containing a name-value mapping of plugin names to plugin objects. When `files` is specified, these plugins are only available to the matching files.
13624
- *
13625
14152
  * @see [Using plugins in your configuration](https://eslint.org/docs/latest/user-guide/configuring/configuration-files-new#using-plugins-in-your-configuration)
13626
14153
  */
13627
14154
  plugins?: Record<string, any>;
@@ -13636,14 +14163,12 @@ type TypedFlatConfigItemWithId = Config & {
13636
14163
  type OptionsCommon = {
13637
14164
  debug?: boolean;
13638
14165
  /**
13639
- * The prefix for the name of the config item.
13640
- *
14166
+ The prefix for the name of the config item.
13641
14167
  * @default "jsse"
13642
14168
  */
13643
14169
  rootName?: string;
13644
14170
  /**
13645
14171
  * Type of the project. `lib` will enable more strict rules for libraries.
13646
- *
13647
14172
  * @default 'lib'
13648
14173
  */
13649
14174
  type?: "app" | "lib";
@@ -13651,7 +14176,6 @@ type OptionsCommon = {
13651
14176
  type OptionsComponentExts = {
13652
14177
  /**
13653
14178
  * Additional extensions for components.
13654
- *
13655
14179
  * @example ['vue']
13656
14180
  * @default []
13657
14181
  */
@@ -13761,7 +14285,6 @@ type OptionsConfig = {
13761
14285
  debug?: boolean;
13762
14286
  /**
13763
14287
  * Enable reporting of unused disable directives.
13764
- *
13765
14288
  * @default true
13766
14289
  */
13767
14290
  reportUnusedDisableDirectives?: boolean;
@@ -13771,7 +14294,6 @@ type OptionsConfig = {
13771
14294
  off?: string[];
13772
14295
  /**
13773
14296
  * Enable `eslint-plugin-command`
13774
- *
13775
14297
  * @default true
13776
14298
  */
13777
14299
  command?: boolean;
@@ -13791,7 +14313,6 @@ type OptionsConfig = {
13791
14313
  prettier?: boolean;
13792
14314
  /**
13793
14315
  * Enable eslint-plugin-pnpm.
13794
- *
13795
14316
  * @default false
13796
14317
  */
13797
14318
  pnpm?: boolean;
@@ -13799,7 +14320,6 @@ type OptionsConfig = {
13799
14320
  * Enable Tailwind CSS support.
13800
14321
  *
13801
14322
  * Passing an object to configure the options.
13802
- *
13803
14323
  * @default true
13804
14324
  */
13805
14325
  tailwind?: TailwindOptions;
@@ -13816,7 +14336,6 @@ type OptionsConfig = {
13816
14336
  * Enable gitignore support.
13817
14337
  *
13818
14338
  * Passing an object to configure the options.
13819
- *
13820
14339
  * @see https://github.com/antfu/eslint-config-flat-gitignore
13821
14340
  * @default true
13822
14341
  */
@@ -13833,7 +14352,6 @@ type OptionsConfig = {
13833
14352
  * Enable TypeScript support.
13834
14353
  *
13835
14354
  * Passing an object to enable TypeScript Language Server support.
13836
- *
13837
14355
  * @default auto-detect based on the dependencies
13838
14356
  */
13839
14357
  typescript?: boolean | OptionsTypeScriptWithTypes;
@@ -13847,37 +14365,31 @@ type OptionsConfig = {
13847
14365
  * Enable JSX related rules.
13848
14366
  *
13849
14367
  * Currently only stylistic rules are included.
13850
- *
13851
14368
  * @default true
13852
14369
  */
13853
14370
  jsx?: boolean;
13854
14371
  /**
13855
14372
  * Enable test support.
13856
- *
13857
14373
  * @default true
13858
14374
  */
13859
14375
  test?: boolean;
13860
14376
  /**
13861
14377
  * Enable JSONC support.
13862
- *
13863
14378
  * @default true
13864
14379
  */
13865
14380
  jsonc?: boolean;
13866
14381
  /**
13867
14382
  * Enable YAML support.
13868
- *
13869
14383
  * @default true
13870
14384
  */
13871
14385
  yaml?: boolean;
13872
14386
  /**
13873
14387
  * Enable Markdown support.
13874
- *
13875
14388
  * @default true
13876
14389
  */
13877
14390
  markdown?: boolean;
13878
14391
  /**
13879
14392
  * Enable stylistic rules.
13880
- *
13881
14393
  * @default true
13882
14394
  */
13883
14395
  stylistic?: boolean | StylisticConfig;
@@ -13907,18 +14419,22 @@ declare const SLOW_RULES: RuleName[];
13907
14419
  //#region src/define-config.d.ts
13908
14420
  /**
13909
14421
  * Construct an array of ESLint flat config items.
14422
+ * @param options Configuration options `@jsse/eslint-config` & ESLint Flat Config
14423
+ * @param userConfigs Additional user eslint configs to merge in
14424
+ * @returns Array of ESLint flat config items
13910
14425
  */
13911
14426
  declare function jsse(options?: OptionsConfig & Config, ...userConfigs: (Config | Config[])[]): Promise<Config[]>;
13912
14427
  declare function defineConfig(options?: OptionsConfig & Config, ...userConfigs: (Config | Config[])[]): Promise<Config[]>;
13913
14428
  type DefineConfig = typeof defineConfig;
13914
14429
  //#endregion
13915
14430
  //#region src/generated/version.d.ts
13916
- declare const VERSION = "0.4.16";
14431
+ declare const VERSION = "0.4.18";
13917
14432
  declare namespace globs_d_exports {
13918
- export { GLOB_ALL_SRC, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_JS_SRC_EXT, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSCONFIG, GLOB_TSX, GLOB_YAML };
14433
+ export { GLOB_ALL_SRC, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_JS_SRC_EXT, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSCONFIG, GLOB_TSX, GLOB_TS_SRC_EXT, GLOB_YAML };
13919
14434
  }
13920
14435
  declare const GLOB_SRC_EXT = "?([cm])[jt]s?(x)";
13921
14436
  declare const GLOB_JS_SRC_EXT = "?([cm])js?(x)";
14437
+ declare const GLOB_TS_SRC_EXT = "?([cm])ts?(x)";
13922
14438
  declare const GLOB_SRC = "**/*.?([cm])[jt]s?(x)";
13923
14439
  declare const GLOB_JS = "**/*.?([cm])js";
13924
14440
  declare const GLOB_JSX = "**/*.?([cm])jsx";
@@ -15541,10 +16057,14 @@ declare const presetAll: () => Promise<Config[]>;
15541
16057
  //#region src/utils.d.ts
15542
16058
  /**
15543
16059
  * Combine array and non-array configs into a single array.
16060
+ * @param configs configs to combine
16061
+ * @returns combined configs as an array
15544
16062
  */
15545
16063
  declare function combine(...configs: Awaitable<Config | Config[]>[]): Promise<Config[]>;
15546
16064
  /**
15547
16065
  * Combine array and non-array configs into a single array.
16066
+ * @param configs configs to combine and flatten
16067
+ * @returns combined configs as a flattened array
15548
16068
  */
15549
16069
  declare function combineAsync<T>(...configs: Awaitable<T | T[]>[]): Promise<T[]>;
15550
16070
  declare function renameRules<TRule = unknown>(rules: Record<string, TRule>, from: string, to: string): Record<string, TRule>;
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { __commonJS, __export, __toESM } from "./chunk-Bb8Gnt67.js";
2
- import { DEBUG, SLOW_RULES, VERSION } from "./version-CmwNgY9_.js";
2
+ import { DEBUG, SLOW_RULES, VERSION } from "./version-DUk8d3C_.js";
3
3
  import { builtinModules, createRequire } from "node:module";
4
4
  import fs, { promises, realpathSync, statSync } from "node:fs";
5
5
  import process$1 from "node:process";
@@ -25,7 +25,6 @@ import createCommand from "eslint-plugin-command/config";
25
25
  import eslintjs from "@eslint/js";
26
26
  import { mergeProcessors, processorPassThrough } from "eslint-merge-processors";
27
27
  import tseslint from "typescript-eslint";
28
- import { fixupPluginRules } from "@eslint/compat";
29
28
 
30
29
  //#region node_modules/.pnpm/acorn@8.15.0/node_modules/acorn/dist/acorn.mjs
31
30
  var astralIdentifierCodes = [
@@ -12702,6 +12701,8 @@ function enableDbg() {
12702
12701
  //#region src/utils.ts
12703
12702
  /**
12704
12703
  * Combine array and non-array configs into a single array.
12704
+ * @param configs configs to combine
12705
+ * @returns combined configs as an array
12705
12706
  */
12706
12707
  async function combine(...configs) {
12707
12708
  const resolved = await Promise.all(configs);
@@ -12709,6 +12710,8 @@ async function combine(...configs) {
12709
12710
  }
12710
12711
  /**
12711
12712
  * Combine array and non-array configs into a single array.
12713
+ * @param configs configs to combine and flatten
12714
+ * @returns combined configs as a flattened array
12712
12715
  */
12713
12716
  async function combineAsync(...configs) {
12714
12717
  const resolved = await Promise.all(configs);
@@ -12929,7 +12932,6 @@ const antfu = async (options) => {
12929
12932
  *
12930
12933
  * Repo: https://github.com/antfu/eslint-plugin-command
12931
12934
  * Docs: https://eslint-plugin-command.antfu.me/guide/
12932
- *
12933
12935
  * @returns Typed config arr
12934
12936
  */
12935
12937
  const command = async () => {
@@ -12988,10 +12990,12 @@ var globs_exports = /* @__PURE__ */ __export({
12988
12990
  GLOB_TS: () => GLOB_TS,
12989
12991
  GLOB_TSCONFIG: () => GLOB_TSCONFIG,
12990
12992
  GLOB_TSX: () => GLOB_TSX,
12993
+ GLOB_TS_SRC_EXT: () => GLOB_TS_SRC_EXT,
12991
12994
  GLOB_YAML: () => GLOB_YAML
12992
12995
  });
12993
12996
  const GLOB_SRC_EXT = "?([cm])[jt]s?(x)";
12994
12997
  const GLOB_JS_SRC_EXT = "?([cm])js?(x)";
12998
+ const GLOB_TS_SRC_EXT = "?([cm])ts?(x)";
12995
12999
  const GLOB_SRC = "**/*.?([cm])[jt]s?(x)";
12996
13000
  const GLOB_JS = "**/*.?([cm])js";
12997
13001
  const GLOB_JSX = "**/*.?([cm])jsx";
@@ -16668,7 +16672,8 @@ const jsdoc = async () => {
16668
16672
  "jsdoc/require-property-name": "warn",
16669
16673
  "jsdoc/require-returns-check": "warn",
16670
16674
  "jsdoc/require-returns-description": "warn",
16671
- "jsdoc/require-yields-check": "warn"
16675
+ "jsdoc/require-yields-check": "warn",
16676
+ "jsdoc/tag-lines": "warn"
16672
16677
  }
16673
16678
  }];
16674
16679
  };
@@ -17175,7 +17180,7 @@ const noOnlyTests = async (options = {}) => {
17175
17180
  //#region src/configs/perfectionist.ts
17176
17181
  /**
17177
17182
  * Optional perfectionist plugin for props and items sorting.
17178
- *
17183
+ * @returns ESLint config with perfectionist rules
17179
17184
  * @see https://github.com/azat-io/eslint-plugin-perfectionist
17180
17185
  */
17181
17186
  const perfectionist = async () => {
@@ -17267,6 +17272,7 @@ const pnpm = async () => {
17267
17272
  /**
17268
17273
  * Copied from https://raw.githubusercontent.com/prettier/eslint-config-prettier/main/index.js
17269
17274
  * Main difference is we exclude rules we don't care about.... (flow/babel/etc)
17275
+ * @returns ESLint rules to disable when using Prettier
17270
17276
  */
17271
17277
  function eslintConfigPrettierRules() {
17272
17278
  return {
@@ -17537,6 +17543,7 @@ async function reactHooks() {
17537
17543
  }
17538
17544
  /**
17539
17545
  * Stupid prop types causes test error
17546
+ * @returns React recommended rules
17540
17547
  */
17541
17548
  function reactRecomendedRules() {
17542
17549
  return {
@@ -17579,7 +17586,7 @@ const react = async (options) => {
17579
17586
  name: "jsse/react/setup",
17580
17587
  plugins: {
17581
17588
  react: pluginReact,
17582
- "react-hooks": fixupPluginRules(pluginReactHooks),
17589
+ "react-hooks": pluginReactHooks,
17583
17590
  "react-refresh": pluginReactRefresh
17584
17591
  }
17585
17592
  },
@@ -17628,6 +17635,7 @@ const react = async (options) => {
17628
17635
  * Sort package.json
17629
17636
  *
17630
17637
  * Requires `jsonc` config
17638
+ * @returns ESLint config to sort package.json files
17631
17639
  */
17632
17640
  const sortPackageJson = async () => {
17633
17641
  return [{
@@ -18413,6 +18421,9 @@ function normalizeOptions(options = {}) {
18413
18421
  }
18414
18422
  /**
18415
18423
  * Construct an array of ESLint flat config items.
18424
+ * @param options Configuration options `@jsse/eslint-config` & ESLint Flat Config
18425
+ * @param userConfigs Additional user eslint configs to merge in
18426
+ * @returns Array of ESLint flat config items
18416
18427
  */
18417
18428
  async function jsse(options = {}, ...userConfigs) {
18418
18429
  const normalizedOptions = normalizeOptions(options);
@@ -33,7 +33,7 @@ const SLOW_RULES = [
33
33
 
34
34
  //#endregion
35
35
  //#region src/generated/version.ts
36
- const VERSION = "0.4.16";
36
+ const VERSION = "0.4.18";
37
37
 
38
38
  //#endregion
39
39
  export { DEBUG, SLOW_RULES, VERSION };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@jsse/eslint-config",
3
3
  "type": "module",
4
- "version": "0.4.16",
4
+ "version": "0.4.18",
5
5
  "description": "@jsse/eslint-config ~ WYSIWYG",
6
6
  "author": "jessekrubin <jessekrubin@gmail.com> (https://github.com/jessekrubin/)",
7
7
  "license": "MIT",
@@ -38,9 +38,9 @@
38
38
  "peerDependencies": {
39
39
  "@eslint-react/eslint-plugin": "^2.0.4",
40
40
  "eslint": "^9.10.0",
41
- "eslint-plugin-react": "~7.37.1",
42
- "eslint-plugin-react-hooks": "^6.1.0",
43
- "eslint-plugin-react-refresh": "^0.4.19"
41
+ "eslint-plugin-react": "^7.37.5",
42
+ "eslint-plugin-react-hooks": "^7.0.0",
43
+ "eslint-plugin-react-refresh": "^0.4.23"
44
44
  },
45
45
  "peerDependenciesMeta": {
46
46
  "@eslint-react/eslint-plugin": {
@@ -62,12 +62,12 @@
62
62
  "dependencies": {
63
63
  "@eslint-community/eslint-plugin-eslint-comments": "^4.5.0",
64
64
  "@eslint/compat": "^1.4.0",
65
- "@eslint/js": "~9.36.0",
66
- "@eslint/markdown": "^7.3.0",
65
+ "@eslint/js": "~9.37.0",
66
+ "@eslint/markdown": "^7.4.0",
67
67
  "@stylistic/eslint-plugin": "5.4.0",
68
- "@typescript-eslint/eslint-plugin": "^8.45.0",
69
- "@typescript-eslint/parser": "^8.45.0",
70
- "@vitest/eslint-plugin": "^1.3.13",
68
+ "@typescript-eslint/eslint-plugin": "^8.46.1",
69
+ "@typescript-eslint/parser": "^8.46.1",
70
+ "@vitest/eslint-plugin": "^1.3.20",
71
71
  "debug": "^4.4.3",
72
72
  "eslint-config-flat-gitignore": "^2.1.0",
73
73
  "eslint-merge-processors": "^2.0.0",
@@ -75,23 +75,23 @@
75
75
  "eslint-plugin-command": "^3.3.1",
76
76
  "eslint-plugin-de-morgan": "^2.0.0",
77
77
  "eslint-plugin-import-lite": "^0.3.0",
78
- "eslint-plugin-jsdoc": "^60.7.0",
79
- "eslint-plugin-jsonc": "^2.20.1",
78
+ "eslint-plugin-jsdoc": "^61.1.2",
79
+ "eslint-plugin-jsonc": "^2.21.0",
80
80
  "eslint-plugin-n": "^17.23.1",
81
81
  "eslint-plugin-no-only-tests": "^3.3.0",
82
- "eslint-plugin-perfectionist": "^4.15.0",
82
+ "eslint-plugin-perfectionist": "^4.15.1",
83
83
  "eslint-plugin-pnpm": "^1.2.0",
84
- "eslint-plugin-react": "~7.37.5",
85
- "eslint-plugin-react-hooks": "~6.1.0",
86
- "eslint-plugin-react-refresh": "~0.4.23",
84
+ "eslint-plugin-react": "^7.37.5",
85
+ "eslint-plugin-react-hooks": "^7.0.0",
86
+ "eslint-plugin-react-refresh": "^0.4.23",
87
87
  "eslint-plugin-toml": "^0.12.0",
88
88
  "eslint-plugin-tsdoc": "^0.4.0",
89
89
  "eslint-plugin-unicorn": "^61.0.2",
90
90
  "eslint-plugin-unused-imports": "^4.2.0",
91
- "eslint-plugin-yml": "^1.18.0",
91
+ "eslint-plugin-yml": "^1.19.0",
92
92
  "jsonc-eslint-parser": "^2.4.1",
93
93
  "toml-eslint-parser": "^0.10.0",
94
- "typescript-eslint": "^8.45.0",
94
+ "typescript-eslint": "^8.46.1",
95
95
  "yaml-eslint-parser": "^1.3.0"
96
96
  },
97
97
  "devDependencies": {
@@ -100,9 +100,9 @@
100
100
  "@jsse/tsconfig": "^0.4.0",
101
101
  "@types/debug": "^4.1.12",
102
102
  "@types/fs-extra": "^11.0.4",
103
- "@types/node": "^24.6.1",
103
+ "@types/node": "^24.7.2",
104
104
  "cac": "^6.7.14",
105
- "eslint": "^9.36.0",
105
+ "eslint": "^9.37.0",
106
106
  "eslint-flat-config-utils": "^2.1.4",
107
107
  "eslint-typegen": "^2.3.0",
108
108
  "execa": "~9.6.0",
@@ -110,12 +110,12 @@
110
110
  "fs-extra": "^11.3.2",
111
111
  "globals": "^16.4.0",
112
112
  "local-pkg": "^1.1.2",
113
- "oxlint": "^1.19.0",
113
+ "oxlint": "^1.23.0",
114
114
  "picocolors": "^1.1.1",
115
115
  "prettier": "^3.6.2",
116
- "react": "~19.1.1",
116
+ "react": "~19.2.0",
117
117
  "rimraf": "^6.0.1",
118
- "tsdown": "^0.15.6",
118
+ "tsdown": "^0.15.7",
119
119
  "tsx": "^4.20.6",
120
120
  "typescript": "~5.9.3",
121
121
  "vitest": "^3.2.4"