@jsse/eslint-config 0.4.17 → 0.4.19

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.19
4
+
5
+ ### Patch Changes
6
+
7
+ - update deps
8
+
9
+ ## 0.4.18
10
+
11
+ ### Patch Changes
12
+
13
+ - cabc516: updated deps
14
+
15
+ ```diff
16
+ diff --git i/package.json w/package.json
17
+ index 030da5b..cee7cf8 100644
18
+ --- i/package.json
19
+ +++ w/package.json
20
+ @@ -85,9 +85,9 @@
21
+ "@eslint/js": "~9.37.0",
22
+ "@eslint/markdown": "^7.4.0",
23
+ "@stylistic/eslint-plugin": "5.4.0",
24
+ - "@typescript-eslint/eslint-plugin": "^8.46.0",
25
+ - "@typescript-eslint/parser": "^8.46.0",
26
+ - "@vitest/eslint-plugin": "^1.3.16",
27
+ + "@typescript-eslint/eslint-plugin": "^8.46.1",
28
+ + "@typescript-eslint/parser": "^8.46.1",
29
+ + "@vitest/eslint-plugin": "^1.3.20",
30
+ "debug": "^4.4.3",
31
+ "eslint-config-flat-gitignore": "^2.1.0",
32
+ "eslint-merge-processors": "^2.0.0",
33
+ @@ -95,14 +95,14 @@
34
+ "eslint-plugin-command": "^3.3.1",
35
+ "eslint-plugin-de-morgan": "^2.0.0",
36
+ "eslint-plugin-import-lite": "^0.3.0",
37
+ - "eslint-plugin-jsdoc": "^60.8.3",
38
+ + "eslint-plugin-jsdoc": "^61.1.2",
39
+ "eslint-plugin-jsonc": "^2.21.0",
40
+ "eslint-plugin-n": "^17.23.1",
41
+ "eslint-plugin-no-only-tests": "^3.3.0",
42
+ "eslint-plugin-perfectionist": "^4.15.1",
43
+ "eslint-plugin-pnpm": "^1.2.0",
44
+ "eslint-plugin-react": "~7.37.5",
45
+ - "eslint-plugin-react-hooks": "~6.1.1",
46
+ + "eslint-plugin-react-hooks": "~7.0.0",
47
+ "eslint-plugin-react-refresh": "~0.4.23",
48
+ "eslint-plugin-toml": "^0.12.0",
49
+ "eslint-plugin-tsdoc": "^0.4.0",
50
+ @@ -111,7 +111,7 @@
51
+ "eslint-plugin-yml": "^1.19.0",
52
+ "jsonc-eslint-parser": "^2.4.1",
53
+ "toml-eslint-parser": "^0.10.0",
54
+ - "typescript-eslint": "^8.46.0",
55
+ + "typescript-eslint": "^8.46.1",
56
+ "yaml-eslint-parser": "^1.3.0"
57
+ },
58
+ "devDependencies": {
59
+ @@ -120,7 +120,7 @@
60
+ "@jsse/tsconfig": "^0.4.0",
61
+ "@types/debug": "^4.1.12",
62
+ "@types/fs-extra": "^11.0.4",
63
+ - "@types/node": "^24.7.0",
64
+ + "@types/node": "^24.7.2",
65
+ "cac": "^6.7.14",
66
+ "eslint": "^9.37.0",
67
+ "eslint-flat-config-utils": "^2.1.4",
68
+ @@ -130,12 +130,12 @@
69
+ "fs-extra": "^11.3.2",
70
+ "globals": "^16.4.0",
71
+ "local-pkg": "^1.1.2",
72
+ - "oxlint": "^1.20.0",
73
+ + "oxlint": "^1.23.0",
74
+ "picocolors": "^1.1.1",
75
+ "prettier": "^3.6.2",
76
+ "react": "~19.2.0",
77
+ "rimraf": "^6.0.1",
78
+ - "tsdown": "^0.15.6",
79
+ + "tsdown": "^0.15.7",
80
+ "tsx": "^4.20.6",
81
+ "typescript": "~5.9.3",
82
+ "vitest": "^3.2.4"
83
+ ```
84
+
3
85
  ## 0.4.17
4
86
 
5
87
  ### Patch Changes
@@ -34,4 +34,4 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
34
34
  }) : target, mod));
35
35
 
36
36
  //#endregion
37
- export { __commonJS, __export, __toESM };
37
+ export { __export as n, __toESM as r, __commonJS as t };
package/dist/cli.js CHANGED
@@ -1,4 +1,4 @@
1
- import { DEBUG, VERSION } from "./version-1ItwvVSU.js";
1
+ import { n as DEBUG, t as VERSION } from "./version-Cp29RKMJ.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
@@ -1,3 +1,4 @@
1
+ import { n as __export } from "./chunk-kxGw7zjC.js";
1
2
  import pluginEslintComments from "@eslint-community/eslint-plugin-eslint-comments";
2
3
  import pluginTs from "@typescript-eslint/eslint-plugin";
3
4
  import * as parserTs from "@typescript-eslint/parser";
@@ -13,7 +14,6 @@ import pluginUnusedImports from "eslint-plugin-unused-imports";
13
14
  import * as _eslint_markdown0 from "@eslint/markdown";
14
15
  import * as _stylistic_eslint_plugin0 from "@stylistic/eslint-plugin";
15
16
  import { FlatGitignoreOptions } from "eslint-config-flat-gitignore";
16
- import * as eslint_plugin_jsdoc0 from "eslint-plugin-jsdoc";
17
17
  import * as eslint_plugin_react0 from "eslint-plugin-react";
18
18
  import * as eslint_plugin_react_hooks0 from "eslint-plugin-react-hooks";
19
19
  import * as jsonc_eslint_parser0 from "jsonc-eslint-parser";
@@ -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;
@@ -7231,6 +7279,7 @@ type PnpmJsonValidCatalog = [] | [{
7231
7279
  // ----- pnpm/yaml-no-duplicate-catalog-item -----
7232
7280
  type PnpmYamlNoDuplicateCatalogItem = [] | [{
7233
7281
  allow?: string[];
7282
+ checkDuplicates?: "name-only" | "exact-version";
7234
7283
  }];
7235
7284
  //#endregion
7236
7285
  //#region src/generated/dts/prettier.d.ts
@@ -7352,6 +7401,10 @@ interface ReactRuleOptions {
7352
7401
  * Validates usage of the useMemo() hook against common mistakes. See [`useMemo()` docs](https://react.dev/reference/react/useMemo) for more information.
7353
7402
  */
7354
7403
  "react-hooks/use-memo"?: Linter.RuleEntry<ReactHooksUseMemo$1>;
7404
+ /**
7405
+ * Validates that useMemos always return a value. See [`useMemo()` docs](https://react.dev/reference/react/useMemo) for more information.
7406
+ */
7407
+ "react-hooks/void-use-memo"?: Linter.RuleEntry<ReactHooksVoidUseMemo$1>;
7355
7408
  "react-refresh/only-export-components"?: Linter.RuleEntry<ReactRefreshOnlyExportComponents>;
7356
7409
  /**
7357
7410
  * Enforces consistent naming for boolean props
@@ -7987,6 +8040,10 @@ type ReactHooksUnsupportedSyntax$1 = [] | [{
7987
8040
  type ReactHooksUseMemo$1 = [] | [{
7988
8041
  [k: string]: unknown | undefined;
7989
8042
  }];
8043
+ // ----- react-hooks/void-use-memo -----
8044
+ type ReactHooksVoidUseMemo$1 = [] | [{
8045
+ [k: string]: unknown | undefined;
8046
+ }];
7990
8047
  // ----- react-refresh/only-export-components -----
7991
8048
  type ReactRefreshOnlyExportComponents = [] | [{
7992
8049
  allowExportNames?: string[];
@@ -8572,6 +8629,10 @@ interface ReactHooksRuleOptions {
8572
8629
  * Validates usage of the useMemo() hook against common mistakes. See [`useMemo()` docs](https://react.dev/reference/react/useMemo) for more information.
8573
8630
  */
8574
8631
  "react-hooks/use-memo"?: Linter.RuleEntry<ReactHooksUseMemo>;
8632
+ /**
8633
+ * Validates that useMemos always return a value. See [`useMemo()` docs](https://react.dev/reference/react/useMemo) for more information.
8634
+ */
8635
+ "react-hooks/void-use-memo"?: Linter.RuleEntry<ReactHooksVoidUseMemo>;
8575
8636
  }
8576
8637
  /* ======= Declarations ======= */
8577
8638
  // ----- react-hooks/automatic-effect-dependencies -----
@@ -8689,6 +8750,10 @@ type ReactHooksUnsupportedSyntax = [] | [{
8689
8750
  type ReactHooksUseMemo = [] | [{
8690
8751
  [k: string]: unknown | undefined;
8691
8752
  }];
8753
+ // ----- react-hooks/void-use-memo -----
8754
+ type ReactHooksVoidUseMemo = [] | [{
8755
+ [k: string]: unknown | undefined;
8756
+ }];
8692
8757
  //#endregion
8693
8758
  //#region src/generated/dts/sort-package-json.d.ts
8694
8759
  interface SortPackageJsonRuleOptions {}
@@ -8768,6 +8833,11 @@ interface StylisticRuleOptions {
8768
8833
  * @see https://eslint.style/rules/eol-last
8769
8834
  */
8770
8835
  "@stylistic/eol-last"?: Linter.RuleEntry<StylisticEolLast>;
8836
+ /**
8837
+ * Enforce consistent spacing and line break styles inside brackets.
8838
+ * @see https://eslint.style/rules/list-style
8839
+ */
8840
+ "@stylistic/exp-list-style"?: Linter.RuleEntry<StylisticExpListStyle>;
8771
8841
  /**
8772
8842
  * Enforce line breaks between arguments of a function call
8773
8843
  * @see https://eslint.style/rules/function-call-argument-newline
@@ -9358,6 +9428,50 @@ type StylisticCurlyNewline = [] | [("always" | "never") | {
9358
9428
  type StylisticDotLocation = [] | ["object" | "property"];
9359
9429
  // ----- @stylistic/eol-last -----
9360
9430
  type StylisticEolLast = [] | ["always" | "never" | "unix" | "windows"];
9431
+ // ----- @stylistic/exp-list-style -----
9432
+ type StylisticExpListStyle = [] | [{
9433
+ singleLine?: _StylisticExpListStyle_SingleLineConfig;
9434
+ multiLine?: _StylisticExpListStyle_MultiLineConfig;
9435
+ overrides?: {
9436
+ "[]"?: _StylisticExpListStyle_BaseConfig;
9437
+ "{}"?: _StylisticExpListStyle_BaseConfig;
9438
+ "<>"?: _StylisticExpListStyle_BaseConfig;
9439
+ "()"?: _StylisticExpListStyle_BaseConfig;
9440
+ ArrayExpression?: _StylisticExpListStyle_BaseConfig;
9441
+ ArrayPattern?: _StylisticExpListStyle_BaseConfig;
9442
+ ArrowFunctionExpression?: _StylisticExpListStyle_BaseConfig;
9443
+ CallExpression?: _StylisticExpListStyle_BaseConfig;
9444
+ ExportNamedDeclaration?: _StylisticExpListStyle_BaseConfig;
9445
+ FunctionDeclaration?: _StylisticExpListStyle_BaseConfig;
9446
+ FunctionExpression?: _StylisticExpListStyle_BaseConfig;
9447
+ ImportDeclaration?: _StylisticExpListStyle_BaseConfig;
9448
+ ImportAttributes?: _StylisticExpListStyle_BaseConfig;
9449
+ NewExpression?: _StylisticExpListStyle_BaseConfig;
9450
+ ObjectExpression?: _StylisticExpListStyle_BaseConfig;
9451
+ ObjectPattern?: _StylisticExpListStyle_BaseConfig;
9452
+ TSDeclareFunction?: _StylisticExpListStyle_BaseConfig;
9453
+ TSFunctionType?: _StylisticExpListStyle_BaseConfig;
9454
+ TSInterfaceBody?: _StylisticExpListStyle_BaseConfig;
9455
+ TSEnumBody?: _StylisticExpListStyle_BaseConfig;
9456
+ TSTupleType?: _StylisticExpListStyle_BaseConfig;
9457
+ TSTypeLiteral?: _StylisticExpListStyle_BaseConfig;
9458
+ TSTypeParameterDeclaration?: _StylisticExpListStyle_BaseConfig;
9459
+ TSTypeParameterInstantiation?: _StylisticExpListStyle_BaseConfig;
9460
+ JSONArrayExpression?: _StylisticExpListStyle_BaseConfig;
9461
+ JSONObjectExpression?: _StylisticExpListStyle_BaseConfig;
9462
+ };
9463
+ }];
9464
+ interface _StylisticExpListStyle_SingleLineConfig {
9465
+ spacing?: "always" | "never";
9466
+ maxItems?: number;
9467
+ }
9468
+ interface _StylisticExpListStyle_MultiLineConfig {
9469
+ minItems?: number;
9470
+ }
9471
+ interface _StylisticExpListStyle_BaseConfig {
9472
+ singleLine?: _StylisticExpListStyle_SingleLineConfig;
9473
+ multiline?: _StylisticExpListStyle_MultiLineConfig;
9474
+ }
9361
9475
  // ----- @stylistic/function-call-argument-newline -----
9362
9476
  type StylisticFunctionCallArgumentNewline = [] | ["always" | "never" | "consistent"];
9363
9477
  // ----- @stylistic/function-call-spacing -----
@@ -9427,7 +9541,11 @@ type StylisticIndent = [] | ["tab" | number] | ["tab" | number, {
9427
9541
  ObjectExpression?: number | ("first" | "off");
9428
9542
  ImportDeclaration?: number | ("first" | "off");
9429
9543
  flatTernaryExpressions?: boolean;
9430
- offsetTernaryExpressions?: boolean;
9544
+ offsetTernaryExpressions?: boolean | {
9545
+ CallExpression?: boolean;
9546
+ AwaitExpression?: boolean;
9547
+ NewExpression?: boolean;
9548
+ };
9431
9549
  offsetTernaryExpressionsOffsetCallExpressions?: boolean;
9432
9550
  ignoredNodes?: string[];
9433
9551
  ignoreComments?: boolean;
@@ -10228,6 +10346,7 @@ type StylisticObjectCurlySpacing = [] | ["always" | "never"] | ["always" | "neve
10228
10346
  TSInterfaceBody?: "always" | "never";
10229
10347
  TSEnumBody?: "always" | "never";
10230
10348
  };
10349
+ emptyObjects?: "ignore" | "always" | "never";
10231
10350
  }];
10232
10351
  // ----- @stylistic/object-property-newline -----
10233
10352
  type StylisticObjectPropertyNewline = [] | [{
@@ -13219,7 +13338,7 @@ type UnicornTemplateIndent = [] | [{
13219
13338
  //#region src/generated/dts/vitest.d.ts
13220
13339
  interface VitestRuleOptions {
13221
13340
  /**
13222
- * require .spec test file pattern
13341
+ * require test file pattern
13223
13342
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-filename.md
13224
13343
  */
13225
13344
  "vitest/consistent-test-filename"?: Linter.RuleEntry<VitestConsistentTestFilename>;
@@ -14085,7 +14204,6 @@ type RuleOptionsMap = {
14085
14204
  type Config = Omit<Linter.Config<Linter.RulesRecord & RuleOptionsUnion>, "plugins"> & {
14086
14205
  /**
14087
14206
  * 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
14207
  * @see [Using plugins in your configuration](https://eslint.org/docs/latest/user-guide/configuring/configuration-files-new#using-plugins-in-your-configuration)
14090
14208
  */
14091
14209
  plugins?: Record<string, any>;
@@ -14100,14 +14218,12 @@ type TypedFlatConfigItemWithId = Config & {
14100
14218
  type OptionsCommon = {
14101
14219
  debug?: boolean;
14102
14220
  /**
14103
- * The prefix for the name of the config item.
14104
- *
14221
+ The prefix for the name of the config item.
14105
14222
  * @default "jsse"
14106
14223
  */
14107
14224
  rootName?: string;
14108
14225
  /**
14109
14226
  * Type of the project. `lib` will enable more strict rules for libraries.
14110
- *
14111
14227
  * @default 'lib'
14112
14228
  */
14113
14229
  type?: "app" | "lib";
@@ -14115,7 +14231,6 @@ type OptionsCommon = {
14115
14231
  type OptionsComponentExts = {
14116
14232
  /**
14117
14233
  * Additional extensions for components.
14118
- *
14119
14234
  * @example ['vue']
14120
14235
  * @default []
14121
14236
  */
@@ -14225,7 +14340,6 @@ type OptionsConfig = {
14225
14340
  debug?: boolean;
14226
14341
  /**
14227
14342
  * Enable reporting of unused disable directives.
14228
- *
14229
14343
  * @default true
14230
14344
  */
14231
14345
  reportUnusedDisableDirectives?: boolean;
@@ -14235,7 +14349,6 @@ type OptionsConfig = {
14235
14349
  off?: string[];
14236
14350
  /**
14237
14351
  * Enable `eslint-plugin-command`
14238
- *
14239
14352
  * @default true
14240
14353
  */
14241
14354
  command?: boolean;
@@ -14255,7 +14368,6 @@ type OptionsConfig = {
14255
14368
  prettier?: boolean;
14256
14369
  /**
14257
14370
  * Enable eslint-plugin-pnpm.
14258
- *
14259
14371
  * @default false
14260
14372
  */
14261
14373
  pnpm?: boolean;
@@ -14263,7 +14375,6 @@ type OptionsConfig = {
14263
14375
  * Enable Tailwind CSS support.
14264
14376
  *
14265
14377
  * Passing an object to configure the options.
14266
- *
14267
14378
  * @default true
14268
14379
  */
14269
14380
  tailwind?: TailwindOptions;
@@ -14280,7 +14391,6 @@ type OptionsConfig = {
14280
14391
  * Enable gitignore support.
14281
14392
  *
14282
14393
  * Passing an object to configure the options.
14283
- *
14284
14394
  * @see https://github.com/antfu/eslint-config-flat-gitignore
14285
14395
  * @default true
14286
14396
  */
@@ -14297,7 +14407,6 @@ type OptionsConfig = {
14297
14407
  * Enable TypeScript support.
14298
14408
  *
14299
14409
  * Passing an object to enable TypeScript Language Server support.
14300
- *
14301
14410
  * @default auto-detect based on the dependencies
14302
14411
  */
14303
14412
  typescript?: boolean | OptionsTypeScriptWithTypes;
@@ -14311,37 +14420,31 @@ type OptionsConfig = {
14311
14420
  * Enable JSX related rules.
14312
14421
  *
14313
14422
  * Currently only stylistic rules are included.
14314
- *
14315
14423
  * @default true
14316
14424
  */
14317
14425
  jsx?: boolean;
14318
14426
  /**
14319
14427
  * Enable test support.
14320
- *
14321
14428
  * @default true
14322
14429
  */
14323
14430
  test?: boolean;
14324
14431
  /**
14325
14432
  * Enable JSONC support.
14326
- *
14327
14433
  * @default true
14328
14434
  */
14329
14435
  jsonc?: boolean;
14330
14436
  /**
14331
14437
  * Enable YAML support.
14332
- *
14333
14438
  * @default true
14334
14439
  */
14335
14440
  yaml?: boolean;
14336
14441
  /**
14337
14442
  * Enable Markdown support.
14338
- *
14339
14443
  * @default true
14340
14444
  */
14341
14445
  markdown?: boolean;
14342
14446
  /**
14343
14447
  * Enable stylistic rules.
14344
- *
14345
14448
  * @default true
14346
14449
  */
14347
14450
  stylistic?: boolean | StylisticConfig;
@@ -14371,18 +14474,22 @@ declare const SLOW_RULES: RuleName[];
14371
14474
  //#region src/define-config.d.ts
14372
14475
  /**
14373
14476
  * Construct an array of ESLint flat config items.
14477
+ * @param options Configuration options `@jsse/eslint-config` & ESLint Flat Config
14478
+ * @param userConfigs Additional user eslint configs to merge in
14479
+ * @returns Array of ESLint flat config items
14374
14480
  */
14375
14481
  declare function jsse(options?: OptionsConfig & Config, ...userConfigs: (Config | Config[])[]): Promise<Config[]>;
14376
14482
  declare function defineConfig(options?: OptionsConfig & Config, ...userConfigs: (Config | Config[])[]): Promise<Config[]>;
14377
14483
  type DefineConfig = typeof defineConfig;
14378
14484
  //#endregion
14379
14485
  //#region src/generated/version.d.ts
14380
- declare const VERSION = "0.4.17";
14486
+ declare const VERSION = "0.4.19";
14381
14487
  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 };
14488
+ 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
14489
  }
14384
14490
  declare const GLOB_SRC_EXT = "?([cm])[jt]s?(x)";
14385
14491
  declare const GLOB_JS_SRC_EXT = "?([cm])js?(x)";
14492
+ declare const GLOB_TS_SRC_EXT = "?([cm])ts?(x)";
14386
14493
  declare const GLOB_SRC = "**/*.?([cm])[jt]s?(x)";
14387
14494
  declare const GLOB_JS = "**/*.?([cm])js";
14388
14495
  declare const GLOB_JSX = "**/*.?([cm])jsx";
@@ -14408,17 +14515,6 @@ declare const GLOB_ALL_SRC: string[];
14408
14515
  declare const GLOB_EXCLUDE: string[];
14409
14516
  //#endregion
14410
14517
  //#region src/plugins.d.ts
14411
- declare function importPluginUnicorn(): Promise<{
14412
- pluginUnicorn: eslint0.ESLint.Plugin & {
14413
- configs: {
14414
- recommended: eslint0.Linter.FlatConfig;
14415
- unopinionated: eslint0.Linter.FlatConfig;
14416
- all: eslint0.Linter.FlatConfig;
14417
- "flat/all": eslint0.Linter.FlatConfig;
14418
- "flat/recommended": eslint0.Linter.FlatConfig;
14419
- };
14420
- };
14421
- }>;
14422
14518
  declare function importPluginReact(): Promise<{
14423
14519
  pluginReact: {
14424
14520
  deprecatedRules: Partial<{
@@ -15965,11 +16061,6 @@ declare function importYmlLibs(): Promise<{
15965
16061
  declare function importPluginMarkdown(): Promise<{
15966
16062
  pluginMarkdown: typeof _eslint_markdown0.default;
15967
16063
  }>;
15968
- declare function importPluginJsdoc(): Promise<{
15969
- pluginJsdoc: eslint0.ESLint.Plugin & {
15970
- configs: Record<`flat/${eslint_plugin_jsdoc0.ConfigGroups}${eslint_plugin_jsdoc0.ConfigVariants}${eslint_plugin_jsdoc0.ErrorLevelVariants}`, eslint0.Linter.Config> & Record<"examples" | "default-expressions" | "examples-and-default-expressions", eslint0.Linter.Config[]> & Record<"flat/recommended-mixed", eslint0.Linter.Config[]>;
15971
- };
15972
- }>;
15973
16064
  declare function importPluginTsdoc(): Promise<{
15974
16065
  pluginTsdoc: {
15975
16066
  rules: {
@@ -16005,10 +16096,14 @@ declare const presetAll: () => Promise<Config[]>;
16005
16096
  //#region src/utils.d.ts
16006
16097
  /**
16007
16098
  * Combine array and non-array configs into a single array.
16099
+ * @param configs configs to combine
16100
+ * @returns combined configs as an array
16008
16101
  */
16009
16102
  declare function combine(...configs: Awaitable<Config | Config[]>[]): Promise<Config[]>;
16010
16103
  /**
16011
16104
  * Combine array and non-array configs into a single array.
16105
+ * @param configs configs to combine and flatten
16106
+ * @returns combined configs as a flattened array
16012
16107
  */
16013
16108
  declare function combineAsync<T>(...configs: Awaitable<T | T[]>[]): Promise<T[]>;
16014
16109
  declare function renameRules<TRule = unknown>(rules: Record<string, TRule>, from: string, to: string): Record<string, TRule>;
@@ -16053,4 +16148,4 @@ declare function changeRuleEntrySeverity(ruleConfig: Linter.RuleEntry<any>, leve
16053
16148
  declare function error2warn<T extends Config>(configs: T[]): T[];
16054
16149
  declare function warn2error<T extends Config>(configs: T[]): T[];
16055
16150
  //#endregion
16056
- export { Awaitable, Config, EslintConfigFn, LanguageOptions, OptionsCommon, OptionsComponentExts, OptionsConfig, OptionsFiles, OptionsHasTypeScript, OptionsIsInEditor, OptionsOverrides, OptionsPrefix, OptionsReact, OptionsStylistic, OptionsTypeScriptParserOptions, OptionsTypeScriptWithTypes, OptionsTypescript, RenamePefix, RuleName, SLOW_RULES, StylisticConfig, TailwindEslintSettings, TailwindOptions, TypedFlatConfigItemWithId, UnPromise, VERSION, changeRuleEntrySeverity, combine, combineAsync, jsse as default, defineConfig, error2warn, globs_d_exports as globs, importJsoncLibs, importParserJsonc, importPluginJsdoc, importPluginJsonc, importPluginMarkdown, importPluginReact, importPluginReactHooks, importPluginReactRefresh, importPluginStylistic, importPluginTsdoc, importPluginUnicorn, importReactPlugins, importYmlLibs, interopDefault, isCI, isInEditor, jsse, jsseReact, parserPlain, parserTs, pluginAntfu, pluginDeMorgan, pluginEslintComments, pluginImportLite, pluginN, pluginPerfectionist, pluginPnpm, pluginTs, pluginUnicorn, pluginUnusedImports, renameRules, turnOffRules, uniqueStrings, warn2error };
16151
+ export { Awaitable, Config, EslintConfigFn, LanguageOptions, OptionsCommon, OptionsComponentExts, OptionsConfig, OptionsFiles, OptionsHasTypeScript, OptionsIsInEditor, OptionsOverrides, OptionsPrefix, OptionsReact, OptionsStylistic, OptionsTypeScriptParserOptions, OptionsTypeScriptWithTypes, OptionsTypescript, RenamePefix, RuleName, SLOW_RULES, StylisticConfig, TailwindEslintSettings, TailwindOptions, TypedFlatConfigItemWithId, UnPromise, VERSION, changeRuleEntrySeverity, combine, combineAsync, jsse as default, jsse, defineConfig, error2warn, globs_d_exports as globs, importJsoncLibs, importParserJsonc, importPluginJsonc, importPluginMarkdown, importPluginReact, importPluginReactHooks, importPluginReactRefresh, importPluginStylistic, importPluginTsdoc, importReactPlugins, importYmlLibs, interopDefault, isCI, isInEditor, jsseReact, parserPlain, parserTs, pluginAntfu, pluginDeMorgan, pluginEslintComments, pluginImportLite, pluginN, pluginPerfectionist, pluginPnpm, pluginTs, pluginUnicorn, pluginUnusedImports, renameRules, turnOffRules, uniqueStrings, warn2error };
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { __commonJS, __export, __toESM } from "./chunk-Bb8Gnt67.js";
2
- import { DEBUG, SLOW_RULES, VERSION } from "./version-1ItwvVSU.js";
1
+ import { n as __export, r as __toESM, t as __commonJS } from "./chunk-kxGw7zjC.js";
2
+ import { n as DEBUG, r as SLOW_RULES, t as VERSION } from "./version-Cp29RKMJ.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);
@@ -12845,10 +12848,6 @@ function warn2error(configs) {
12845
12848
 
12846
12849
  //#endregion
12847
12850
  //#region src/plugins.ts
12848
- async function importPluginUnicorn() {
12849
- const pluginUnicorn$1 = await interopDefault(import("eslint-plugin-unicorn"));
12850
- return { pluginUnicorn: pluginUnicorn$1 };
12851
- }
12852
12851
  async function importPluginReact() {
12853
12852
  const pluginReact = await interopDefault(import("eslint-plugin-react"));
12854
12853
  return { pluginReact };
@@ -12899,10 +12898,6 @@ async function importPluginMarkdown() {
12899
12898
  const pluginMarkdown = await interopDefault(import("@eslint/markdown"));
12900
12899
  return { pluginMarkdown };
12901
12900
  }
12902
- async function importPluginJsdoc() {
12903
- const pluginJsdoc = await interopDefault(import("eslint-plugin-jsdoc"));
12904
- return { pluginJsdoc };
12905
- }
12906
12901
  async function importPluginTsdoc() {
12907
12902
  const pluginTsdoc = await interopDefault(import("eslint-plugin-tsdoc"));
12908
12903
  return { pluginTsdoc };
@@ -12929,7 +12924,6 @@ const antfu = async (options) => {
12929
12924
  *
12930
12925
  * Repo: https://github.com/antfu/eslint-plugin-command
12931
12926
  * Docs: https://eslint-plugin-command.antfu.me/guide/
12932
- *
12933
12927
  * @returns Typed config arr
12934
12928
  */
12935
12929
  const command = async () => {
@@ -12988,10 +12982,12 @@ var globs_exports = /* @__PURE__ */ __export({
12988
12982
  GLOB_TS: () => GLOB_TS,
12989
12983
  GLOB_TSCONFIG: () => GLOB_TSCONFIG,
12990
12984
  GLOB_TSX: () => GLOB_TSX,
12985
+ GLOB_TS_SRC_EXT: () => GLOB_TS_SRC_EXT,
12991
12986
  GLOB_YAML: () => GLOB_YAML
12992
12987
  });
12993
12988
  const GLOB_SRC_EXT = "?([cm])[jt]s?(x)";
12994
12989
  const GLOB_JS_SRC_EXT = "?([cm])js?(x)";
12990
+ const GLOB_TS_SRC_EXT = "?([cm])ts?(x)";
12995
12991
  const GLOB_SRC = "**/*.?([cm])[jt]s?(x)";
12996
12992
  const GLOB_JS = "**/*.?([cm])js";
12997
12993
  const GLOB_JSX = "**/*.?([cm])jsx";
@@ -16647,7 +16643,7 @@ const javascript = async (options) => {
16647
16643
  //#endregion
16648
16644
  //#region src/configs/jsdoc.ts
16649
16645
  const jsdoc = async () => {
16650
- const { pluginJsdoc } = await importPluginJsdoc();
16646
+ const pluginJsdoc = await interopDefault(import("eslint-plugin-jsdoc"));
16651
16647
  return [{
16652
16648
  name: "jsse/jsdoc",
16653
16649
  plugins: { jsdoc: pluginJsdoc },
@@ -16668,7 +16664,8 @@ const jsdoc = async () => {
16668
16664
  "jsdoc/require-property-name": "warn",
16669
16665
  "jsdoc/require-returns-check": "warn",
16670
16666
  "jsdoc/require-returns-description": "warn",
16671
- "jsdoc/require-yields-check": "warn"
16667
+ "jsdoc/require-yields-check": "warn",
16668
+ "jsdoc/tag-lines": "warn"
16672
16669
  }
16673
16670
  }];
16674
16671
  };
@@ -17175,7 +17172,7 @@ const noOnlyTests = async (options = {}) => {
17175
17172
  //#region src/configs/perfectionist.ts
17176
17173
  /**
17177
17174
  * Optional perfectionist plugin for props and items sorting.
17178
- *
17175
+ * @returns ESLint config with perfectionist rules
17179
17176
  * @see https://github.com/azat-io/eslint-plugin-perfectionist
17180
17177
  */
17181
17178
  const perfectionist = async () => {
@@ -17267,6 +17264,7 @@ const pnpm = async () => {
17267
17264
  /**
17268
17265
  * Copied from https://raw.githubusercontent.com/prettier/eslint-config-prettier/main/index.js
17269
17266
  * Main difference is we exclude rules we don't care about.... (flow/babel/etc)
17267
+ * @returns ESLint rules to disable when using Prettier
17270
17268
  */
17271
17269
  function eslintConfigPrettierRules() {
17272
17270
  return {
@@ -17537,6 +17535,7 @@ async function reactHooks() {
17537
17535
  }
17538
17536
  /**
17539
17537
  * Stupid prop types causes test error
17538
+ * @returns React recommended rules
17540
17539
  */
17541
17540
  function reactRecomendedRules() {
17542
17541
  return {
@@ -17579,7 +17578,7 @@ const react = async (options) => {
17579
17578
  name: "jsse/react/setup",
17580
17579
  plugins: {
17581
17580
  react: pluginReact,
17582
- "react-hooks": fixupPluginRules(pluginReactHooks),
17581
+ "react-hooks": pluginReactHooks,
17583
17582
  "react-refresh": pluginReactRefresh
17584
17583
  }
17585
17584
  },
@@ -17628,6 +17627,7 @@ const react = async (options) => {
17628
17627
  * Sort package.json
17629
17628
  *
17630
17629
  * Requires `jsonc` config
17630
+ * @returns ESLint config to sort package.json files
17631
17631
  */
17632
17632
  const sortPackageJson = async () => {
17633
17633
  return [{
@@ -18413,6 +18413,9 @@ function normalizeOptions(options = {}) {
18413
18413
  }
18414
18414
  /**
18415
18415
  * Construct an array of ESLint flat config items.
18416
+ * @param options Configuration options `@jsse/eslint-config` & ESLint Flat Config
18417
+ * @param userConfigs Additional user eslint configs to merge in
18418
+ * @returns Array of ESLint flat config items
18416
18419
  */
18417
18420
  async function jsse(options = {}, ...userConfigs) {
18418
18421
  const normalizedOptions = normalizeOptions(options);
@@ -18650,4 +18653,4 @@ const presetAll = makePresetFn([
18650
18653
  ]);
18651
18654
 
18652
18655
  //#endregion
18653
- export { SLOW_RULES, VERSION, changeRuleEntrySeverity, combine, combineAsync, jsse as default, defineConfig, error2warn, globs_exports as globs, importJsoncLibs, importParserJsonc, importPluginJsdoc, importPluginJsonc, importPluginMarkdown, importPluginReact, importPluginReactHooks, importPluginReactRefresh, importPluginStylistic, importPluginTsdoc, importPluginUnicorn, importReactPlugins, importYmlLibs, interopDefault, isCI, isInEditor, jsse, jsseReact, parserPlain, parserTs, pluginAntfu, pluginDeMorgan, pluginEslintComments, pluginImportLite, pluginN, pluginPerfectionist, pluginPnpm, pluginTs, pluginUnicorn, pluginUnusedImports, renameRules, turnOffRules, uniqueStrings, warn2error };
18656
+ export { SLOW_RULES, VERSION, changeRuleEntrySeverity, combine, combineAsync, jsse as default, jsse, defineConfig, error2warn, globs_exports as globs, importJsoncLibs, importParserJsonc, importPluginJsonc, importPluginMarkdown, importPluginReact, importPluginReactHooks, importPluginReactRefresh, importPluginStylistic, importPluginTsdoc, importReactPlugins, importYmlLibs, interopDefault, isCI, isInEditor, jsseReact, parserPlain, parserTs, pluginAntfu, pluginDeMorgan, pluginEslintComments, pluginImportLite, pluginN, pluginPerfectionist, pluginPnpm, pluginTs, pluginUnicorn, pluginUnusedImports, renameRules, turnOffRules, uniqueStrings, warn2error };
@@ -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.19";
37
37
 
38
38
  //#endregion
39
- export { DEBUG, SLOW_RULES, VERSION };
39
+ export { DEBUG as n, SLOW_RULES as r, VERSION as t };
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.19",
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": {
@@ -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.37.0",
66
- "@eslint/markdown": "^7.4.0",
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",
65
+ "@eslint/js": "~9.38.0",
66
+ "@eslint/markdown": "^7.5.0",
67
+ "@stylistic/eslint-plugin": "5.5.0",
68
+ "@typescript-eslint/eslint-plugin": "^8.46.2",
69
+ "@typescript-eslint/parser": "^8.46.2",
70
+ "@vitest/eslint-plugin": "^1.3.23",
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.8.3",
78
+ "eslint-plugin-jsdoc": "^61.1.5",
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
- "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",
83
+ "eslint-plugin-pnpm": "^1.3.0",
84
+ "eslint-plugin-react": "^7.37.5",
85
+ "eslint-plugin-react-hooks": "^7.0.0",
86
+ "eslint-plugin-react-refresh": "^0.4.24",
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
- "eslint-plugin-unused-imports": "^4.2.0",
90
+ "eslint-plugin-unused-imports": "^4.3.0",
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.2",
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.7.0",
103
+ "@types/node": "^24.9.1",
104
104
  "cac": "^6.7.14",
105
- "eslint": "^9.37.0",
105
+ "eslint": "^9.38.0",
106
106
  "eslint-flat-config-utils": "^2.1.4",
107
107
  "eslint-typegen": "^2.3.0",
108
108
  "execa": "~9.6.0",
@@ -110,15 +110,15 @@
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.24.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.9",
119
119
  "tsx": "^4.20.6",
120
120
  "typescript": "~5.9.3",
121
- "vitest": "^3.2.4"
121
+ "vitest": "^4.0.1"
122
122
  },
123
123
  "prettier": "@jsse/prettier-config",
124
124
  "scripts": {