@jsse/eslint-config 0.2.20 → 0.2.22

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.
Files changed (136) hide show
  1. package/dist/cli.cjs +1 -1
  2. package/dist/cli.js +1 -1
  3. package/dist/esm/cli.d.ts +1 -0
  4. package/dist/esm/cli.js +96 -0
  5. package/dist/esm/cli.js.map +1 -0
  6. package/dist/esm/config-fns.d.ts +56 -0
  7. package/dist/esm/config-fns.js +76 -0
  8. package/dist/esm/config-fns.js.map +1 -0
  9. package/dist/esm/configs/antfu.d.ts +4 -0
  10. package/dist/esm/configs/antfu.js +31 -0
  11. package/dist/esm/configs/antfu.js.map +1 -0
  12. package/dist/esm/configs/comments.d.ts +2 -0
  13. package/dist/esm/configs/comments.js +17 -0
  14. package/dist/esm/configs/comments.js.map +1 -0
  15. package/dist/esm/configs/gql.d.ts +2 -0
  16. package/dist/esm/configs/gql.js +5 -0
  17. package/dist/esm/configs/gql.js.map +1 -0
  18. package/dist/esm/configs/ignores.d.ts +2 -0
  19. package/dist/esm/configs/ignores.js +10 -0
  20. package/dist/esm/configs/ignores.js.map +1 -0
  21. package/dist/esm/configs/imports.d.ts +2 -0
  22. package/dist/esm/configs/imports.js +30 -0
  23. package/dist/esm/configs/imports.js.map +1 -0
  24. package/dist/esm/configs/javascript.d.ts +6 -0
  25. package/dist/esm/configs/javascript.js +263 -0
  26. package/dist/esm/configs/javascript.js.map +1 -0
  27. package/dist/esm/configs/jsdoc.d.ts +2 -0
  28. package/dist/esm/configs/jsdoc.js +32 -0
  29. package/dist/esm/configs/jsdoc.js.map +1 -0
  30. package/dist/esm/configs/jsonc.d.ts +4 -0
  31. package/dist/esm/configs/jsonc.js +77 -0
  32. package/dist/esm/configs/jsonc.js.map +1 -0
  33. package/dist/esm/configs/markdown.d.ts +4 -0
  34. package/dist/esm/configs/markdown.js +123 -0
  35. package/dist/esm/configs/markdown.js.map +1 -0
  36. package/dist/esm/configs/n.d.ts +2 -0
  37. package/dist/esm/configs/n.js +22 -0
  38. package/dist/esm/configs/n.js.map +1 -0
  39. package/dist/esm/configs/no-only-tests.d.ts +4 -0
  40. package/dist/esm/configs/no-only-tests.js +32 -0
  41. package/dist/esm/configs/no-only-tests.js.map +1 -0
  42. package/dist/esm/configs/perfectionist.d.ts +7 -0
  43. package/dist/esm/configs/perfectionist.js +61 -0
  44. package/dist/esm/configs/perfectionist.js.map +1 -0
  45. package/dist/esm/configs/prettier.d.ts +7 -0
  46. package/dist/esm/configs/prettier.js +127 -0
  47. package/dist/esm/configs/prettier.js.map +1 -0
  48. package/dist/esm/configs/react.d.ts +6 -0
  49. package/dist/esm/configs/react.js +302 -0
  50. package/dist/esm/configs/react.js.map +1 -0
  51. package/dist/esm/configs/sort-package-json.d.ts +7 -0
  52. package/dist/esm/configs/sort-package-json.js +90 -0
  53. package/dist/esm/configs/sort-package-json.js.map +1 -0
  54. package/dist/esm/configs/sort-tsconfig.d.ts +14 -0
  55. package/dist/esm/configs/sort-tsconfig.js +134 -0
  56. package/dist/esm/configs/sort-tsconfig.js.map +1 -0
  57. package/dist/esm/configs/stylistic.d.ts +2 -0
  58. package/dist/esm/configs/stylistic.js +38 -0
  59. package/dist/esm/configs/stylistic.js.map +1 -0
  60. package/dist/esm/configs/tailwind.d.ts +2 -0
  61. package/dist/esm/configs/tailwind.js +49 -0
  62. package/dist/esm/configs/tailwind.js.map +1 -0
  63. package/dist/esm/configs/toml.d.ts +2 -0
  64. package/dist/esm/configs/toml.js +51 -0
  65. package/dist/esm/configs/toml.js.map +1 -0
  66. package/dist/esm/configs/ts/parser.d.ts +7 -0
  67. package/dist/esm/configs/ts/parser.js +66 -0
  68. package/dist/esm/configs/ts/parser.js.map +1 -0
  69. package/dist/esm/configs/ts/requires-type-checking.d.ts +1 -0
  70. package/dist/esm/configs/ts/requires-type-checking.js +58 -0
  71. package/dist/esm/configs/ts/requires-type-checking.js.map +1 -0
  72. package/dist/esm/configs/ts/typescript-language-options.d.ts +2 -0
  73. package/dist/esm/configs/ts/typescript-language-options.js +23 -0
  74. package/dist/esm/configs/ts/typescript-language-options.js.map +1 -0
  75. package/dist/esm/configs/ts/typescript-rules.d.ts +6 -0
  76. package/dist/esm/configs/ts/typescript-rules.js +416 -0
  77. package/dist/esm/configs/ts/typescript-rules.js.map +1 -0
  78. package/dist/esm/configs/ts/typescript.d.ts +4 -0
  79. package/dist/esm/configs/ts/typescript.js +110 -0
  80. package/dist/esm/configs/ts/typescript.js.map +1 -0
  81. package/dist/esm/configs/tsdoc.d.ts +2 -0
  82. package/dist/esm/configs/tsdoc.js +17 -0
  83. package/dist/esm/configs/tsdoc.js.map +1 -0
  84. package/dist/esm/configs/unicorn.d.ts +2 -0
  85. package/dist/esm/configs/unicorn.js +116 -0
  86. package/dist/esm/configs/unicorn.js.map +1 -0
  87. package/dist/esm/configs/vitest.d.ts +4 -0
  88. package/dist/esm/configs/vitest.js +30 -0
  89. package/dist/esm/configs/vitest.js.map +1 -0
  90. package/dist/esm/configs/yml.d.ts +4 -0
  91. package/dist/esm/configs/yml.js +52 -0
  92. package/dist/esm/configs/yml.js.map +1 -0
  93. package/dist/esm/const.d.ts +5 -0
  94. package/dist/esm/const.js +12 -0
  95. package/dist/esm/const.js.map +1 -0
  96. package/dist/esm/define-config.d.ts +7 -0
  97. package/dist/esm/define-config.js +234 -0
  98. package/dist/esm/define-config.js.map +1 -0
  99. package/dist/esm/dev.d.ts +4 -0
  100. package/dist/esm/dev.js +26 -0
  101. package/dist/esm/dev.js.map +1 -0
  102. package/dist/esm/fixable.d.ts +1 -0
  103. package/dist/esm/fixable.js +390 -0
  104. package/dist/esm/fixable.js.map +1 -0
  105. package/dist/esm/globs.d.ts +25 -0
  106. package/dist/esm/globs.js +74 -0
  107. package/dist/esm/globs.js.map +1 -0
  108. package/dist/esm/index.d.ts +8 -0
  109. package/dist/esm/index.js +9 -0
  110. package/dist/esm/index.js.map +1 -0
  111. package/dist/esm/lager.d.ts +31 -0
  112. package/dist/esm/lager.js +87 -0
  113. package/dist/esm/lager.js.map +1 -0
  114. package/dist/esm/plugindex.d.ts +7 -0
  115. package/dist/esm/plugindex.js +61 -0
  116. package/dist/esm/plugindex.js.map +1 -0
  117. package/dist/esm/plugins-all.d.ts +23 -0
  118. package/dist/esm/plugins-all.js +27 -0
  119. package/dist/esm/plugins-all.js.map +1 -0
  120. package/dist/esm/plugins.d.ts +983 -0
  121. package/dist/esm/plugins.js +113 -0
  122. package/dist/esm/plugins.js.map +1 -0
  123. package/dist/esm/presets.d.ts +2 -0
  124. package/dist/esm/presets.js +13 -0
  125. package/dist/esm/presets.js.map +1 -0
  126. package/dist/esm/types.d.ts +255 -0
  127. package/dist/esm/types.js +2 -0
  128. package/dist/esm/types.js.map +1 -0
  129. package/dist/esm/utils.d.ts +51 -0
  130. package/dist/esm/utils.js +157 -0
  131. package/dist/esm/utils.js.map +1 -0
  132. package/dist/index.cjs +188 -143
  133. package/dist/index.d.cts +204 -206
  134. package/dist/index.d.ts +204 -206
  135. package/dist/index.js +193 -151
  136. package/package.json +25 -18
package/dist/index.js CHANGED
@@ -3018,7 +3018,7 @@ var SLOW_RULES = [
3018
3018
  "unicorn/no-unnecessary-polyfills"
3019
3019
  ];
3020
3020
 
3021
- // src/factory.ts
3021
+ // src/define-config.ts
3022
3022
  import fs2 from "node:fs";
3023
3023
  import process6 from "node:process";
3024
3024
 
@@ -9879,81 +9879,6 @@ function resolvePackage(name, options = {}) {
9879
9879
  }
9880
9880
  }
9881
9881
 
9882
- // src/globs.ts
9883
- var GLOB_SRC_EXT = "?([cm])[jt]s?(x)";
9884
- var GLOB_JS_SRC_EXT = "?([cm])js?(x)";
9885
- var GLOB_SRC = "**/*.?([cm])[jt]s?(x)";
9886
- var GLOB_JS = "**/*.?([cm])js";
9887
- var GLOB_JSX = "**/*.?([cm])jsx";
9888
- var GLOB_TS = "**/*.?([cm])ts";
9889
- var GLOB_TSX = "**/*.?([cm])tsx";
9890
- var GLOB_STYLE = "**/*.{c,le,sc}ss";
9891
- var GLOB_CSS = "**/*.css";
9892
- var GLOB_LESS = "**/*.less";
9893
- var GLOB_SCSS = "**/*.scss";
9894
- var GLOB_JSON = "**/*.json";
9895
- var GLOB_JSON5 = "**/*.json5";
9896
- var GLOB_JSONC = "**/*.jsonc";
9897
- var GLOB_TOML = "**/*.toml";
9898
- var GLOB_MARKDOWN = "**/*.md";
9899
- var GLOB_MARKDOWN_IN_MARKDOWN = "**/*.md/*.md";
9900
- var GLOB_GRAPHQL = ["**/*.graphql", "**/*.gql"];
9901
- var GLOB_YAML = "**/*.y?(a)ml";
9902
- var GLOB_HTML = "**/*.htm?(l)";
9903
- var GLOB_TSCONFIG = ["**/tsconfig.json", "**/tsconfig.*.json"];
9904
- var GLOB_MARKDOWN_CODE = `${GLOB_MARKDOWN}/${GLOB_SRC}`;
9905
- var GLOB_TESTS = [
9906
- `**/__tests__/**/*.${GLOB_SRC_EXT}`,
9907
- `**/*.spec.${GLOB_SRC_EXT}`,
9908
- `**/*.test.${GLOB_SRC_EXT}`,
9909
- `**/*.bench.${GLOB_SRC_EXT}`,
9910
- `**/*.benchmark.${GLOB_SRC_EXT}`
9911
- ];
9912
- var GLOB_ALL_SRC = [
9913
- GLOB_SRC,
9914
- GLOB_STYLE,
9915
- GLOB_JSON,
9916
- GLOB_JSON5,
9917
- GLOB_MARKDOWN,
9918
- GLOB_YAML,
9919
- GLOB_HTML
9920
- ];
9921
- var GLOB_EXCLUDE = [
9922
- "**/__snapshots__",
9923
- "**/.cache",
9924
- "**/.changeset",
9925
- "**/.history",
9926
- "**/.idea",
9927
- "**/.next",
9928
- "**/.nuxt",
9929
- "**/.output",
9930
- "**/.temp",
9931
- "**/.tmp",
9932
- "**/.vercel",
9933
- "**/.vite-inspect",
9934
- "**/.vitepress/cache",
9935
- "**/*.bak",
9936
- "**/*.min.*",
9937
- "**/.yarn",
9938
- "**/.pnp.*",
9939
- "**/auto-import?(s).d.ts",
9940
- "**/bun.lockb",
9941
- "**/CHANGELOG*.md",
9942
- "**/components.d.ts",
9943
- "**/coverage",
9944
- "**/dist",
9945
- "**/LICENSE*",
9946
- "**/node_modules",
9947
- "**/out",
9948
- "**/output",
9949
- "**/package-lock.json",
9950
- "**/pnpm-lock.yaml",
9951
- "**/scratch",
9952
- "**/temp",
9953
- "**/tmp",
9954
- "**/yarn.lock"
9955
- ];
9956
-
9957
9882
  // node_modules/.pnpm/neverthrow@8.0.0/node_modules/neverthrow/dist/index.es.js
9958
9883
  var defaultErrorConfig = {
9959
9884
  withStackTrace: false
@@ -10373,7 +10298,7 @@ var fromThrowable = Result.fromThrowable;
10373
10298
  import process3 from "node:process";
10374
10299
 
10375
10300
  // src/lager.ts
10376
- var levels = {
10301
+ var LAGER_LEVELS = {
10377
10302
  trace: 10,
10378
10303
  debug: 20,
10379
10304
  info: 30,
@@ -10387,7 +10312,7 @@ function isLagerLevel(level) {
10387
10312
  var Lager = class {
10388
10313
  _level = "info";
10389
10314
  id = "lager";
10390
- levelNo = levels[this._level];
10315
+ levelNo = LAGER_LEVELS[this._level];
10391
10316
  prefix = "";
10392
10317
  constructor(options) {
10393
10318
  const { level, id, prefix } = {
@@ -10398,7 +10323,7 @@ var Lager = class {
10398
10323
  };
10399
10324
  this.id = id;
10400
10325
  this._level = isLagerLevel(level) ? level : "info";
10401
- this.levelNo = levels[this._level];
10326
+ this.levelNo = LAGER_LEVELS[this._level];
10402
10327
  this.prefix = prefix;
10403
10328
  this.log = this.log.bind(this);
10404
10329
  this.debug = this.debug.bind(this);
@@ -10408,46 +10333,41 @@ var Lager = class {
10408
10333
  }
10409
10334
  set level(level) {
10410
10335
  this._level = level;
10411
- this.levelNo = levels[level];
10336
+ this.levelNo = LAGER_LEVELS[level];
10412
10337
  }
10413
10338
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
10414
10339
  log(...args) {
10415
- console.log(...args);
10340
+ console.log(this.prefix, ...args);
10416
10341
  }
10417
10342
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
10418
10343
  trace(...args) {
10419
- if (this.levelNo > levels.trace) {
10420
- return;
10344
+ if (this.levelNo <= LAGER_LEVELS.trace) {
10345
+ console.trace(this.prefix, ...args);
10421
10346
  }
10422
- console.trace(...args);
10423
10347
  }
10424
10348
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
10425
10349
  debug(...args) {
10426
- if (this.levelNo > levels.debug) {
10427
- return;
10350
+ if (this.levelNo <= LAGER_LEVELS.debug) {
10351
+ console.debug(this.prefix, ...args);
10428
10352
  }
10429
- console.debug(...args);
10430
10353
  }
10431
10354
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
10432
10355
  info(...args) {
10433
- if (this.levelNo > levels.info) {
10434
- return;
10356
+ if (this.levelNo <= LAGER_LEVELS.info) {
10357
+ console.info(this.prefix, ...args);
10435
10358
  }
10436
- console.info("[@jsse/eslint-config]", ...args);
10437
10359
  }
10438
10360
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
10439
10361
  warn(...args) {
10440
- if (this.levelNo > levels.warn) {
10441
- return;
10362
+ if (this.levelNo <= LAGER_LEVELS.warn) {
10363
+ console.warn(this.prefix, ...args);
10442
10364
  }
10443
- console.warn(...args);
10444
10365
  }
10445
10366
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
10446
10367
  error(...args) {
10447
- if (this.levelNo > levels.error) {
10448
- return;
10368
+ if (this.levelNo <= LAGER_LEVELS.error) {
10369
+ console.error(this.prefix, ...args);
10449
10370
  }
10450
- console.error(...args);
10451
10371
  }
10452
10372
  };
10453
10373
  var log = new Lager();
@@ -10537,12 +10457,11 @@ function turnOffRules(configs, off) {
10537
10457
  }
10538
10458
  }
10539
10459
  for (const config of configs) {
10540
- for (const cfgRules of [config.rules, config.plugins]) {
10541
- if (cfgRules) {
10542
- for (const rule of off) {
10543
- if (cfgRules[rule] !== void 0 && cfgRules[rule] !== "off" && cfgRules[rule] !== 0) {
10544
- cfgRules[rule] = "off";
10545
- }
10460
+ const cfgRules = config.rules;
10461
+ if (cfgRules) {
10462
+ for (const rule of off) {
10463
+ if (cfgRules[rule] !== void 0 && cfgRules[rule] !== "off" && cfgRules[rule] !== 0) {
10464
+ cfgRules[rule] = "off";
10546
10465
  }
10547
10466
  }
10548
10467
  }
@@ -10550,12 +10469,57 @@ function turnOffRules(configs, off) {
10550
10469
  }
10551
10470
  return configs;
10552
10471
  }
10472
+ function changeRuleEntrySeverity(ruleConfig, level) {
10473
+ if (Array.isArray(ruleConfig)) {
10474
+ if (ruleConfig[0] !== level) {
10475
+ ruleConfig[0] = level;
10476
+ }
10477
+ return ruleConfig;
10478
+ }
10479
+ return level;
10480
+ }
10481
+ function error2warn(configs) {
10482
+ for (const config of configs) {
10483
+ if (config.rules) {
10484
+ config.rules = Object.fromEntries(
10485
+ Object.entries(config.rules).map(([key, value]) => {
10486
+ if (value === "error" || value === 2) {
10487
+ return [key, changeRuleEntrySeverity(value, "warn")];
10488
+ }
10489
+ if (Array.isArray(value) && (value[0] === "error" || value[0] === 2)) {
10490
+ return [key, changeRuleEntrySeverity(value, "warn")];
10491
+ }
10492
+ return [key, value];
10493
+ })
10494
+ );
10495
+ }
10496
+ }
10497
+ return configs;
10498
+ }
10499
+ function warn2error(configs) {
10500
+ for (const config of configs) {
10501
+ if (config.rules) {
10502
+ config.rules = Object.fromEntries(
10503
+ Object.entries(config.rules).map(([key, value]) => {
10504
+ if (value === "warn" || value === 1) {
10505
+ return [key, changeRuleEntrySeverity(value, "error")];
10506
+ }
10507
+ if (Array.isArray(value) && (value[0] === "warn" || value[0] === 1)) {
10508
+ return [key, changeRuleEntrySeverity(value, "error")];
10509
+ }
10510
+ return [key, value];
10511
+ })
10512
+ );
10513
+ }
10514
+ }
10515
+ return configs;
10516
+ }
10553
10517
 
10554
10518
  // src/plugins.ts
10555
- import { default as default2 } from "@typescript-eslint/eslint-plugin";
10519
+ import { default as default2 } from "@eslint-community/eslint-plugin-eslint-comments";
10520
+ import { default as default3 } from "@typescript-eslint/eslint-plugin";
10556
10521
  import * as parserTs from "@typescript-eslint/parser";
10557
- import { default as default3 } from "eslint-plugin-antfu";
10558
- import { default as default4 } from "eslint-plugin-eslint-comments";
10522
+ import { default as default4 } from "eslint-plugin-antfu";
10559
10523
  import * as pluginImport from "eslint-plugin-import-x";
10560
10524
  import { default as default5 } from "eslint-plugin-n";
10561
10525
  import { default as default6 } from "eslint-plugin-perfectionist";
@@ -10668,35 +10632,33 @@ async function safeImportPluginTailwind() {
10668
10632
  }
10669
10633
 
10670
10634
  // src/configs/antfu.ts
10671
- var antfu = async () => {
10635
+ var antfu = async (options) => {
10672
10636
  return [
10673
10637
  {
10674
10638
  name: "jsse/antfu",
10675
10639
  plugins: {
10676
- antfu: default3
10640
+ antfu: default4
10677
10641
  },
10678
- // @ts-expect-error - antfu plugin types err
10679
10642
  rules: {
10680
- "antfu/no-import-node-modules-by-path": "error",
10681
- "antfu/top-level-function": "error"
10682
- }
10683
- },
10684
- {
10685
- files: ["**/src/**/*"],
10686
- name: "jsse/antfu/src",
10687
- // @ts-expect-error - antfu plugin types err
10688
- rules: {
10689
- "antfu/no-import-dist": "error"
10690
- }
10691
- },
10692
- {
10693
- files: ["**/bin/**/*", `**/bin.${GLOB_SRC_EXT}`],
10694
- name: "jsse/antfu/bin",
10695
- rules: {
10696
- "antfu/no-import-dist": "off",
10697
- "antfu/no-import-node-modules-by-path": "off"
10643
+ // used to like the following rule, but now find it annoying
10644
+ "antfu/top-level-function": options?.topLevelFunction ?? "off"
10698
10645
  }
10699
10646
  }
10647
+ // {
10648
+ // files: ["**/src/**/*"],
10649
+ // name: "jsse/antfu/src",
10650
+ // rules: {
10651
+ // "antfu/no-import-dist": "error",
10652
+ // },
10653
+ // },
10654
+ // {
10655
+ // files: ["**/bin/**/*", `**/bin.${GLOB_SRC_EXT}`],
10656
+ // name: "jsse/antfu/bin",
10657
+ // rules: {
10658
+ // "antfu/no-import-dist": "off",
10659
+ // "antfu/no-import-node-modules-by-path": "off",
10660
+ // },
10661
+ // },
10700
10662
  ];
10701
10663
  };
10702
10664
 
@@ -10706,7 +10668,7 @@ var comments = async () => [
10706
10668
  name: "jsse/eslint-comments",
10707
10669
  plugins: {
10708
10670
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
10709
- "eslint-comments": default4
10671
+ "eslint-comments": default2
10710
10672
  },
10711
10673
  rules: {
10712
10674
  "eslint-comments/no-aggregating-enable": "error",
@@ -10717,6 +10679,81 @@ var comments = async () => [
10717
10679
  }
10718
10680
  ];
10719
10681
 
10682
+ // src/globs.ts
10683
+ var GLOB_SRC_EXT = "?([cm])[jt]s?(x)";
10684
+ var GLOB_JS_SRC_EXT = "?([cm])js?(x)";
10685
+ var GLOB_SRC = "**/*.?([cm])[jt]s?(x)";
10686
+ var GLOB_JS = "**/*.?([cm])js";
10687
+ var GLOB_JSX = "**/*.?([cm])jsx";
10688
+ var GLOB_TS = "**/*.?([cm])ts";
10689
+ var GLOB_TSX = "**/*.?([cm])tsx";
10690
+ var GLOB_STYLE = "**/*.{c,le,sc}ss";
10691
+ var GLOB_CSS = "**/*.css";
10692
+ var GLOB_LESS = "**/*.less";
10693
+ var GLOB_SCSS = "**/*.scss";
10694
+ var GLOB_JSON = "**/*.json";
10695
+ var GLOB_JSON5 = "**/*.json5";
10696
+ var GLOB_JSONC = "**/*.jsonc";
10697
+ var GLOB_TOML = "**/*.toml";
10698
+ var GLOB_MARKDOWN = "**/*.md";
10699
+ var GLOB_MARKDOWN_IN_MARKDOWN = "**/*.md/*.md";
10700
+ var GLOB_GRAPHQL = ["**/*.graphql", "**/*.gql"];
10701
+ var GLOB_YAML = "**/*.y?(a)ml";
10702
+ var GLOB_HTML = "**/*.htm?(l)";
10703
+ var GLOB_TSCONFIG = ["**/tsconfig.json", "**/tsconfig.*.json"];
10704
+ var GLOB_MARKDOWN_CODE = `${GLOB_MARKDOWN}/${GLOB_SRC}`;
10705
+ var GLOB_TESTS = [
10706
+ `**/__tests__/**/*.${GLOB_SRC_EXT}`,
10707
+ `**/*.spec.${GLOB_SRC_EXT}`,
10708
+ `**/*.test.${GLOB_SRC_EXT}`,
10709
+ `**/*.bench.${GLOB_SRC_EXT}`,
10710
+ `**/*.benchmark.${GLOB_SRC_EXT}`
10711
+ ];
10712
+ var GLOB_ALL_SRC = [
10713
+ GLOB_SRC,
10714
+ GLOB_STYLE,
10715
+ GLOB_JSON,
10716
+ GLOB_JSON5,
10717
+ GLOB_MARKDOWN,
10718
+ GLOB_YAML,
10719
+ GLOB_HTML
10720
+ ];
10721
+ var GLOB_EXCLUDE = [
10722
+ "**/__snapshots__",
10723
+ "**/.cache",
10724
+ "**/.changeset",
10725
+ "**/.history",
10726
+ "**/.idea",
10727
+ "**/.next",
10728
+ "**/.nuxt",
10729
+ "**/.output",
10730
+ "**/.temp",
10731
+ "**/.tmp",
10732
+ "**/.vercel",
10733
+ "**/.vite-inspect",
10734
+ "**/.vitepress/cache",
10735
+ "**/*.bak",
10736
+ "**/*.min.*",
10737
+ "**/.yarn",
10738
+ "**/.pnp.*",
10739
+ "**/auto-import?(s).d.ts",
10740
+ "**/bun.lockb",
10741
+ "**/CHANGELOG*.md",
10742
+ "**/components.d.ts",
10743
+ "**/coverage",
10744
+ "**/dist",
10745
+ "**/LICENSE*",
10746
+ "**/node_modules",
10747
+ "**/out",
10748
+ "**/output",
10749
+ "**/package-lock.json",
10750
+ "**/pnpm-lock.yaml",
10751
+ "**/scratch",
10752
+ "**/temp",
10753
+ "**/tmp",
10754
+ "**/yarn.lock"
10755
+ ];
10756
+
10720
10757
  // src/configs/ignores.ts
10721
10758
  var ignores = async () => {
10722
10759
  return [
@@ -12632,9 +12669,9 @@ var typescript = async (options) => {
12632
12669
  const tsPrefixTo = prefix?.to ?? "@typescript-eslint";
12633
12670
  const tsRules = {
12634
12671
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
12635
- ...(default2.configs["eslint-recommended"]?.overrides ?? [])[0]?.rules,
12672
+ ...(default3.configs["eslint-recommended"]?.overrides ?? [])[0]?.rules,
12636
12673
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
12637
- ...default2.configs.strict?.rules,
12674
+ ...default3.configs.strict?.rules,
12638
12675
  "no-invalid-this": "off",
12639
12676
  ...typescriptRules({
12640
12677
  typeAware: false
@@ -12647,7 +12684,7 @@ var typescript = async (options) => {
12647
12684
  name: "jsse/typescript/setup",
12648
12685
  plugins: {
12649
12686
  import: pluginImport,
12650
- [tsPrefixTo]: default2
12687
+ [tsPrefixTo]: default3
12651
12688
  }
12652
12689
  },
12653
12690
  ...parserConfigs,
@@ -12919,7 +12956,7 @@ var yml = async (options) => {
12919
12956
  ];
12920
12957
  };
12921
12958
 
12922
- // src/factory.ts
12959
+ // src/define-config.ts
12923
12960
  var flatConfigProps = [
12924
12961
  "files",
12925
12962
  "ignores",
@@ -13170,23 +13207,25 @@ async function jsse(options = {}, ...userConfigs) {
13170
13207
  }
13171
13208
  return combinedConfigs;
13172
13209
  }
13210
+ async function defineConfig(options = {}, ...userConfigs) {
13211
+ return jsse(options, ...userConfigs);
13212
+ }
13173
13213
 
13174
13214
  // src/presets.ts
13175
- function jssestd() {
13176
- return jsse({
13177
- typescript: {
13178
- tsconfig: ["./tsconfig.json", "./tsconfig.eslint.json"]
13179
- }
13180
- });
13181
- }
13182
- function jsseReact() {
13183
- return jsse({
13184
- react: true,
13185
- typescript: {
13186
- tsconfig: ["./tsconfig.json", "./tsconfig.eslint.json"]
13187
- }
13188
- });
13189
- }
13215
+ var jsseReact = (options, ...configs) => {
13216
+ return jsse(
13217
+ {
13218
+ react: true,
13219
+ reactRefresh: true,
13220
+ tailwind: true,
13221
+ typescript: {
13222
+ tsconfig: ["./tsconfig.json", "./tsconfig.eslint.json"]
13223
+ },
13224
+ ...options
13225
+ },
13226
+ ...configs
13227
+ );
13228
+ };
13190
13229
  export {
13191
13230
  GLOB_ALL_SRC,
13192
13231
  GLOB_CSS,
@@ -13214,9 +13253,12 @@ export {
13214
13253
  GLOB_TSX,
13215
13254
  GLOB_YAML,
13216
13255
  SLOW_RULES,
13256
+ changeRuleEntrySeverity,
13217
13257
  combine,
13218
13258
  combineAsync,
13219
13259
  jsse as default,
13260
+ defineConfig,
13261
+ error2warn,
13220
13262
  importJsoncLibs,
13221
13263
  importParserJsonc,
13222
13264
  importPluginJsdoc,
@@ -13235,19 +13277,19 @@ export {
13235
13277
  isInEditor,
13236
13278
  jsse,
13237
13279
  jsseReact,
13238
- jssestd,
13239
13280
  parserPlain,
13240
13281
  parserTs,
13241
- default3 as pluginAntfu,
13242
- default4 as pluginEslintComments,
13282
+ default4 as pluginAntfu,
13283
+ default2 as pluginEslintComments,
13243
13284
  pluginImport,
13244
13285
  default5 as pluginN,
13245
13286
  default6 as pluginPerfectionist,
13246
- default2 as pluginTs,
13287
+ default3 as pluginTs,
13247
13288
  default7 as pluginUnicorn,
13248
13289
  default8 as pluginUnusedImports,
13249
13290
  renameRules,
13250
13291
  safeImportPluginTailwind,
13251
13292
  turnOffRules,
13252
- uniqueStrings
13293
+ uniqueStrings,
13294
+ warn2error
13253
13295
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@jsse/eslint-config",
3
3
  "type": "module",
4
- "version": "0.2.20",
4
+ "version": "0.2.22",
5
5
  "description": "@jsse/eslint-config ~ WYSIWYG",
6
6
  "author": "jessekrubin <jessekrubin@gmail.com> (https://github.com/jessekrubin/)",
7
7
  "license": "MIT",
@@ -19,7 +19,10 @@
19
19
  "types": "./dist/index.d.ts",
20
20
  "import": "./dist/index.js",
21
21
  "require": "./dist/index.cjs"
22
- }
22
+ },
23
+ "./package.json": "./package.json",
24
+ "./dist/*": "./dist/*",
25
+ "./lib/*": "./dist/esm/*"
23
26
  },
24
27
  "main": "./dist/index.js",
25
28
  "types": "./dist/index.d.ts",
@@ -27,15 +30,18 @@
27
30
  "jsselint": "dist/cli.cjs"
28
31
  },
29
32
  "files": [
33
+ "!**/*.test.*",
34
+ "!**/*.tsbuildinfo",
35
+ "README.md",
30
36
  "dist"
31
37
  ],
32
38
  "peerDependencies": {
33
39
  "@eslint-react/eslint-plugin": "^1.5.8",
34
40
  "eslint": "^9.10.0",
35
- "eslint-plugin-react": "^7.33.2",
36
- "eslint-plugin-react-hooks": "^4.6.0",
37
- "eslint-plugin-react-refresh": "^0.4.4",
38
- "eslint-plugin-tailwindcss": "^3.15.1",
41
+ "eslint-plugin-react": "~7.37.1",
42
+ "eslint-plugin-react-hooks": "^5.0.0",
43
+ "eslint-plugin-react-refresh": "~0.4.12",
44
+ "eslint-plugin-tailwindcss": "^3.17.5",
39
45
  "tailwindcss": "^3.4.10"
40
46
  },
41
47
  "peerDependenciesMeta": {
@@ -59,26 +65,26 @@
59
65
  }
60
66
  },
61
67
  "dependencies": {
68
+ "@eslint-community/eslint-plugin-eslint-comments": "^4.4.0",
62
69
  "@eslint/compat": "^1.2.0",
63
70
  "@eslint/js": "~9.12.0",
64
71
  "@eslint/markdown": "^6.2.0",
65
72
  "@stylistic/eslint-plugin": "2.9.0",
66
- "@typescript-eslint/eslint-plugin": "^8.8.1",
67
- "@typescript-eslint/parser": "^8.8.1",
73
+ "@typescript-eslint/eslint-plugin": "^8.9.0",
74
+ "@typescript-eslint/parser": "^8.9.0",
68
75
  "@vitest/eslint-plugin": "^1.1.7",
69
76
  "eslint-config-flat-gitignore": "^0.3.0",
70
77
  "eslint-define-config": "^2.1.0",
71
78
  "eslint-merge-processors": "^0.1.0",
72
79
  "eslint-plugin-antfu": "^2.7.0",
73
- "eslint-plugin-eslint-comments": "^3.2.0",
74
80
  "eslint-plugin-import-x": "^4.3.1",
75
- "eslint-plugin-jsdoc": "^50.3.1",
81
+ "eslint-plugin-jsdoc": "^50.4.1",
76
82
  "eslint-plugin-jsonc": "^2.16.0",
77
83
  "eslint-plugin-n": "^17.11.1",
78
84
  "eslint-plugin-no-only-tests": "^3.3.0",
79
85
  "eslint-plugin-perfectionist": "^3.8.0",
80
86
  "eslint-plugin-react": "~7.37.1",
81
- "eslint-plugin-react-hooks": "~4.6.2",
87
+ "eslint-plugin-react-hooks": "~5.0.0",
82
88
  "eslint-plugin-react-refresh": "~0.4.12",
83
89
  "eslint-plugin-toml": "^0.11.1",
84
90
  "eslint-plugin-tsdoc": "^0.3.0",
@@ -86,16 +92,15 @@
86
92
  "eslint-plugin-unused-imports": "^4.1.4",
87
93
  "eslint-plugin-yml": "^1.14.0",
88
94
  "jsonc-eslint-parser": "^2.4.0",
89
- "picocolors": "^1.1.0",
90
95
  "toml-eslint-parser": "^0.10.0",
91
- "typescript-eslint": "^8.8.1",
96
+ "typescript-eslint": "^8.9.0",
92
97
  "yaml-eslint-parser": "^1.2.3"
93
98
  },
94
99
  "devDependencies": {
95
100
  "@biomejs/biome": "1.9.3",
96
101
  "@changesets/cli": "^2.27.9",
97
102
  "@jsse/prettier-config": "^0.1.0",
98
- "@jsse/tsconfig": "^0.2.1",
103
+ "@jsse/tsconfig": "^0.2.2",
99
104
  "@stylistic/eslint-plugin-jsx": "^2.9.0",
100
105
  "@types/eslint": "^9.6.1",
101
106
  "@types/eslint__js": "~8.42.3",
@@ -104,7 +109,7 @@
104
109
  "cac": "^6.7.14",
105
110
  "eslint": "^9.12.0",
106
111
  "eslint-flat-config-utils": "^0.4.0",
107
- "eslint-plugin-tailwindcss": "^3.17.4",
112
+ "eslint-plugin-tailwindcss": "^3.17.5",
108
113
  "eslint-typegen": "^0.3.2",
109
114
  "execa": "~9.4.0",
110
115
  "fast-glob": "^3.3.2",
@@ -112,18 +117,20 @@
112
117
  "globals": "^15.11.0",
113
118
  "local-pkg": "^0.5.0",
114
119
  "neverthrow": "^8.0.0",
120
+ "picocolors": "^1.1.0",
115
121
  "prettier": "^3.3.3",
116
122
  "react": "~18.3.1",
117
123
  "rimraf": "^6.0.1",
118
- "tailwindcss": "^3.4.13",
124
+ "tailwindcss": "^3.4.14",
119
125
  "tsup": "^8.3.0",
120
126
  "tsx": "^4.19.1",
121
127
  "typescript": "5.6.3",
122
- "vitest": "^2.1.2"
128
+ "vitest": "^2.1.3"
123
129
  },
124
130
  "prettier": "@jsse/prettier-config",
125
131
  "scripts": {
126
- "build": "pnpm gen && pnpm build-fast --dts && pnpm typecheck && eslint .",
132
+ "build": "pnpm gen && pnpm build-fast --dts && pnpm build:tsc && eslint .",
133
+ "build:tsc": "tsc -b tsconfig.build.json",
127
134
  "build-fast": "tsup src/index.ts src/cli.ts --format esm,cjs --clean",
128
135
  "gen": "tsx scripts/gen.ts && prettier -w src",
129
136
  "dev": "tsup src/index.ts --format esm,cjs --watch",