@jsse/eslint-config 0.4.17 → 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,81 @@
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
+
3
79
  ## 0.4.17
4
80
 
5
81
  ### Patch Changes
package/dist/cli.js CHANGED
@@ -1,4 +1,4 @@
1
- import { DEBUG, VERSION } from "./version-1ItwvVSU.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
@@ -3686,6 +3686,26 @@ interface JsdocRuleOptions {
3686
3686
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/text-escaping.md#repos-sticky-header
3687
3687
  */
3688
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>;
3689
3709
  /**
3690
3710
  * Formats JSDoc type values.
3691
3711
  * @see https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/type-formatting.md#repos-sticky-header
@@ -4185,16 +4205,44 @@ type JsdocTextEscaping = [] | [{
4185
4205
  escapeHTML?: boolean;
4186
4206
  escapeMarkdown?: boolean;
4187
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
+ }];
4188
4220
  // ----- jsdoc/type-formatting -----
4189
4221
  type JsdocTypeFormatting = [] | [{
4190
4222
  arrayBrackets?: "angle" | "square";
4223
+ arrowFunctionPostReturnMarkerSpacing?: string;
4224
+ arrowFunctionPreReturnMarkerSpacing?: string;
4191
4225
  enableFixer?: boolean;
4226
+ functionOrClassParameterSpacing?: string;
4227
+ functionOrClassPostGenericSpacing?: string;
4228
+ functionOrClassPostReturnMarkerSpacing?: string;
4229
+ functionOrClassPreReturnMarkerSpacing?: string;
4230
+ functionOrClassTypeParameterSpacing?: string;
4231
+ genericAndTupleElementSpacing?: string;
4192
4232
  genericDot?: boolean;
4233
+ keyValuePostColonSpacing?: string;
4234
+ keyValuePostKeySpacing?: string;
4235
+ keyValuePostOptionalSpacing?: string;
4236
+ keyValuePostVariadicSpacing?: string;
4237
+ methodQuotes?: "double" | "single";
4193
4238
  objectFieldIndent?: string;
4194
4239
  objectFieldQuote?: "double" | "single" | null;
4195
4240
  objectFieldSeparator?: "comma" | "comma-and-linebreak" | "linebreak" | "semicolon" | "semicolon-and-linebreak";
4196
4241
  objectFieldSeparatorOptionalLinebreak?: boolean;
4197
4242
  objectFieldSeparatorTrailingPunctuation?: boolean;
4243
+ parameterDefaultValueSpacing?: string;
4244
+ postMethodNameSpacing?: string;
4245
+ postNewSpacing?: string;
4198
4246
  separatorForSingleObjectField?: boolean;
4199
4247
  stringQuotes?: "double" | "single";
4200
4248
  typeBracketSpacing?: string;
@@ -7352,6 +7400,10 @@ interface ReactRuleOptions {
7352
7400
  * Validates usage of the useMemo() hook against common mistakes. See [`useMemo()` docs](https://react.dev/reference/react/useMemo) for more information.
7353
7401
  */
7354
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>;
7355
7407
  "react-refresh/only-export-components"?: Linter.RuleEntry<ReactRefreshOnlyExportComponents>;
7356
7408
  /**
7357
7409
  * Enforces consistent naming for boolean props
@@ -7987,6 +8039,10 @@ type ReactHooksUnsupportedSyntax$1 = [] | [{
7987
8039
  type ReactHooksUseMemo$1 = [] | [{
7988
8040
  [k: string]: unknown | undefined;
7989
8041
  }];
8042
+ // ----- react-hooks/void-use-memo -----
8043
+ type ReactHooksVoidUseMemo$1 = [] | [{
8044
+ [k: string]: unknown | undefined;
8045
+ }];
7990
8046
  // ----- react-refresh/only-export-components -----
7991
8047
  type ReactRefreshOnlyExportComponents = [] | [{
7992
8048
  allowExportNames?: string[];
@@ -8572,6 +8628,10 @@ interface ReactHooksRuleOptions {
8572
8628
  * Validates usage of the useMemo() hook against common mistakes. See [`useMemo()` docs](https://react.dev/reference/react/useMemo) for more information.
8573
8629
  */
8574
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>;
8575
8635
  }
8576
8636
  /* ======= Declarations ======= */
8577
8637
  // ----- react-hooks/automatic-effect-dependencies -----
@@ -8689,6 +8749,10 @@ type ReactHooksUnsupportedSyntax = [] | [{
8689
8749
  type ReactHooksUseMemo = [] | [{
8690
8750
  [k: string]: unknown | undefined;
8691
8751
  }];
8752
+ // ----- react-hooks/void-use-memo -----
8753
+ type ReactHooksVoidUseMemo = [] | [{
8754
+ [k: string]: unknown | undefined;
8755
+ }];
8692
8756
  //#endregion
8693
8757
  //#region src/generated/dts/sort-package-json.d.ts
8694
8758
  interface SortPackageJsonRuleOptions {}
@@ -13219,7 +13283,7 @@ type UnicornTemplateIndent = [] | [{
13219
13283
  //#region src/generated/dts/vitest.d.ts
13220
13284
  interface VitestRuleOptions {
13221
13285
  /**
13222
- * require .spec test file pattern
13286
+ * require test file pattern
13223
13287
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-filename.md
13224
13288
  */
13225
13289
  "vitest/consistent-test-filename"?: Linter.RuleEntry<VitestConsistentTestFilename>;
@@ -14085,7 +14149,6 @@ type RuleOptionsMap = {
14085
14149
  type Config = Omit<Linter.Config<Linter.RulesRecord & RuleOptionsUnion>, "plugins"> & {
14086
14150
  /**
14087
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.
14088
- *
14089
14152
  * @see [Using plugins in your configuration](https://eslint.org/docs/latest/user-guide/configuring/configuration-files-new#using-plugins-in-your-configuration)
14090
14153
  */
14091
14154
  plugins?: Record<string, any>;
@@ -14100,14 +14163,12 @@ type TypedFlatConfigItemWithId = Config & {
14100
14163
  type OptionsCommon = {
14101
14164
  debug?: boolean;
14102
14165
  /**
14103
- * The prefix for the name of the config item.
14104
- *
14166
+ The prefix for the name of the config item.
14105
14167
  * @default "jsse"
14106
14168
  */
14107
14169
  rootName?: string;
14108
14170
  /**
14109
14171
  * Type of the project. `lib` will enable more strict rules for libraries.
14110
- *
14111
14172
  * @default 'lib'
14112
14173
  */
14113
14174
  type?: "app" | "lib";
@@ -14115,7 +14176,6 @@ type OptionsCommon = {
14115
14176
  type OptionsComponentExts = {
14116
14177
  /**
14117
14178
  * Additional extensions for components.
14118
- *
14119
14179
  * @example ['vue']
14120
14180
  * @default []
14121
14181
  */
@@ -14225,7 +14285,6 @@ type OptionsConfig = {
14225
14285
  debug?: boolean;
14226
14286
  /**
14227
14287
  * Enable reporting of unused disable directives.
14228
- *
14229
14288
  * @default true
14230
14289
  */
14231
14290
  reportUnusedDisableDirectives?: boolean;
@@ -14235,7 +14294,6 @@ type OptionsConfig = {
14235
14294
  off?: string[];
14236
14295
  /**
14237
14296
  * Enable `eslint-plugin-command`
14238
- *
14239
14297
  * @default true
14240
14298
  */
14241
14299
  command?: boolean;
@@ -14255,7 +14313,6 @@ type OptionsConfig = {
14255
14313
  prettier?: boolean;
14256
14314
  /**
14257
14315
  * Enable eslint-plugin-pnpm.
14258
- *
14259
14316
  * @default false
14260
14317
  */
14261
14318
  pnpm?: boolean;
@@ -14263,7 +14320,6 @@ type OptionsConfig = {
14263
14320
  * Enable Tailwind CSS support.
14264
14321
  *
14265
14322
  * Passing an object to configure the options.
14266
- *
14267
14323
  * @default true
14268
14324
  */
14269
14325
  tailwind?: TailwindOptions;
@@ -14280,7 +14336,6 @@ type OptionsConfig = {
14280
14336
  * Enable gitignore support.
14281
14337
  *
14282
14338
  * Passing an object to configure the options.
14283
- *
14284
14339
  * @see https://github.com/antfu/eslint-config-flat-gitignore
14285
14340
  * @default true
14286
14341
  */
@@ -14297,7 +14352,6 @@ type OptionsConfig = {
14297
14352
  * Enable TypeScript support.
14298
14353
  *
14299
14354
  * Passing an object to enable TypeScript Language Server support.
14300
- *
14301
14355
  * @default auto-detect based on the dependencies
14302
14356
  */
14303
14357
  typescript?: boolean | OptionsTypeScriptWithTypes;
@@ -14311,37 +14365,31 @@ type OptionsConfig = {
14311
14365
  * Enable JSX related rules.
14312
14366
  *
14313
14367
  * Currently only stylistic rules are included.
14314
- *
14315
14368
  * @default true
14316
14369
  */
14317
14370
  jsx?: boolean;
14318
14371
  /**
14319
14372
  * Enable test support.
14320
- *
14321
14373
  * @default true
14322
14374
  */
14323
14375
  test?: boolean;
14324
14376
  /**
14325
14377
  * Enable JSONC support.
14326
- *
14327
14378
  * @default true
14328
14379
  */
14329
14380
  jsonc?: boolean;
14330
14381
  /**
14331
14382
  * Enable YAML support.
14332
- *
14333
14383
  * @default true
14334
14384
  */
14335
14385
  yaml?: boolean;
14336
14386
  /**
14337
14387
  * Enable Markdown support.
14338
- *
14339
14388
  * @default true
14340
14389
  */
14341
14390
  markdown?: boolean;
14342
14391
  /**
14343
14392
  * Enable stylistic rules.
14344
- *
14345
14393
  * @default true
14346
14394
  */
14347
14395
  stylistic?: boolean | StylisticConfig;
@@ -14371,18 +14419,22 @@ declare const SLOW_RULES: RuleName[];
14371
14419
  //#region src/define-config.d.ts
14372
14420
  /**
14373
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
14374
14425
  */
14375
14426
  declare function jsse(options?: OptionsConfig & Config, ...userConfigs: (Config | Config[])[]): Promise<Config[]>;
14376
14427
  declare function defineConfig(options?: OptionsConfig & Config, ...userConfigs: (Config | Config[])[]): Promise<Config[]>;
14377
14428
  type DefineConfig = typeof defineConfig;
14378
14429
  //#endregion
14379
14430
  //#region src/generated/version.d.ts
14380
- declare const VERSION = "0.4.17";
14431
+ declare const VERSION = "0.4.18";
14381
14432
  declare namespace globs_d_exports {
14382
- 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 };
14383
14434
  }
14384
14435
  declare const GLOB_SRC_EXT = "?([cm])[jt]s?(x)";
14385
14436
  declare const GLOB_JS_SRC_EXT = "?([cm])js?(x)";
14437
+ declare const GLOB_TS_SRC_EXT = "?([cm])ts?(x)";
14386
14438
  declare const GLOB_SRC = "**/*.?([cm])[jt]s?(x)";
14387
14439
  declare const GLOB_JS = "**/*.?([cm])js";
14388
14440
  declare const GLOB_JSX = "**/*.?([cm])jsx";
@@ -16005,10 +16057,14 @@ declare const presetAll: () => Promise<Config[]>;
16005
16057
  //#region src/utils.d.ts
16006
16058
  /**
16007
16059
  * Combine array and non-array configs into a single array.
16060
+ * @param configs configs to combine
16061
+ * @returns combined configs as an array
16008
16062
  */
16009
16063
  declare function combine(...configs: Awaitable<Config | Config[]>[]): Promise<Config[]>;
16010
16064
  /**
16011
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
16012
16068
  */
16013
16069
  declare function combineAsync<T>(...configs: Awaitable<T | T[]>[]): Promise<T[]>;
16014
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-1ItwvVSU.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.17";
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.17",
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",
@@ -39,7 +39,7 @@
39
39
  "@eslint-react/eslint-plugin": "^2.0.4",
40
40
  "eslint": "^9.10.0",
41
41
  "eslint-plugin-react": "^7.37.5",
42
- "eslint-plugin-react-hooks": "^6.1.1",
42
+ "eslint-plugin-react-hooks": "^7.0.0",
43
43
  "eslint-plugin-react-refresh": "^0.4.23"
44
44
  },
45
45
  "peerDependenciesMeta": {
@@ -65,9 +65,9 @@
65
65
  "@eslint/js": "~9.37.0",
66
66
  "@eslint/markdown": "^7.4.0",
67
67
  "@stylistic/eslint-plugin": "5.4.0",
68
- "@typescript-eslint/eslint-plugin": "^8.46.0",
69
- "@typescript-eslint/parser": "^8.46.0",
70
- "@vitest/eslint-plugin": "^1.3.16",
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,15 +75,15 @@
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.8.3",
78
+ "eslint-plugin-jsdoc": "^61.1.2",
79
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
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.1",
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",
@@ -91,7 +91,7 @@
91
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.46.0",
94
+ "typescript-eslint": "^8.46.1",
95
95
  "yaml-eslint-parser": "^1.3.0"
96
96
  },
97
97
  "devDependencies": {
@@ -100,7 +100,7 @@
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.7.0",
103
+ "@types/node": "^24.7.2",
104
104
  "cac": "^6.7.14",
105
105
  "eslint": "^9.37.0",
106
106
  "eslint-flat-config-utils": "^2.1.4",
@@ -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.20.0",
113
+ "oxlint": "^1.23.0",
114
114
  "picocolors": "^1.1.1",
115
115
  "prettier": "^3.6.2",
116
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"