@jsse/eslint-config 0.1.21 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -24,9 +24,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
24
24
  mod
25
25
  ));
26
26
 
27
- // node_modules/.pnpm/globals@15.8.0/node_modules/globals/globals.json
27
+ // node_modules/.pnpm/globals@15.9.0/node_modules/globals/globals.json
28
28
  var require_globals = __commonJS({
29
- "node_modules/.pnpm/globals@15.8.0/node_modules/globals/globals.json"(exports, module) {
29
+ "node_modules/.pnpm/globals@15.9.0/node_modules/globals/globals.json"(exports, module) {
30
30
  module.exports = {
31
31
  amd: {
32
32
  define: false,
@@ -62,6 +62,9 @@ var require_globals = __commonJS({
62
62
  AbstractRange: false,
63
63
  Accelerometer: false,
64
64
  addEventListener: false,
65
+ ai: false,
66
+ AI: false,
67
+ AITextSession: false,
65
68
  alert: false,
66
69
  AnalyserNode: false,
67
70
  Animation: false,
@@ -131,6 +134,7 @@ var require_globals = __commonJS({
131
134
  CDATASection: false,
132
135
  ChannelMergerNode: false,
133
136
  ChannelSplitterNode: false,
137
+ ChapterInformation: false,
134
138
  CharacterBoundsUpdateEvent: false,
135
139
  CharacterData: false,
136
140
  clearInterval: false,
@@ -195,6 +199,7 @@ var require_globals = __commonJS({
195
199
  CSSNamespaceRule: false,
196
200
  CSSNumericArray: false,
197
201
  CSSNumericValue: false,
202
+ CSSPageDescriptors: false,
198
203
  CSSPageRule: false,
199
204
  CSSPerspective: false,
200
205
  CSSPositionTryDescriptors: false,
@@ -2647,6 +2652,7 @@ var require_globals = __commonJS({
2647
2652
  AbortController: false,
2648
2653
  AbortSignal: false,
2649
2654
  addEventListener: false,
2655
+ ai: false,
2650
2656
  atob: false,
2651
2657
  AudioData: false,
2652
2658
  AudioDecoder: false,
@@ -2957,9 +2963,9 @@ var require_globals = __commonJS({
2957
2963
  }
2958
2964
  });
2959
2965
 
2960
- // node_modules/.pnpm/globals@15.8.0/node_modules/globals/index.js
2966
+ // node_modules/.pnpm/globals@15.9.0/node_modules/globals/index.js
2961
2967
  var require_globals2 = __commonJS({
2962
- "node_modules/.pnpm/globals@15.8.0/node_modules/globals/index.js"(exports, module) {
2968
+ "node_modules/.pnpm/globals@15.9.0/node_modules/globals/index.js"(exports, module) {
2963
2969
  "use strict";
2964
2970
  module.exports = require_globals();
2965
2971
  }
@@ -9813,10 +9819,10 @@ function isLagerLevel(level) {
9813
9819
  return level === "trace" || level === "debug" || level === "info" || level === "warn" || level === "error" || level === "fatal";
9814
9820
  }
9815
9821
  var Lager = class {
9822
+ _level = "info";
9823
+ id = "lager";
9824
+ levelNo = levels[this._level];
9816
9825
  constructor(options) {
9817
- this._level = "info";
9818
- this.id = "lager";
9819
- this.levelNo = levels[this._level];
9820
9826
  const { level, id } = {
9821
9827
  level: "info",
9822
9828
  id: "lager",
@@ -9928,6 +9934,8 @@ var GLOB_EXCLUDE = [
9928
9934
  "**/.vitepress/cache",
9929
9935
  "**/*.bak",
9930
9936
  "**/*.min.*",
9937
+ "**/.yarn",
9938
+ "**/.pnp.*",
9931
9939
  "**/auto-import?(s).d.ts",
9932
9940
  "**/bun.lockb",
9933
9941
  "**/CHANGELOG*.md",
@@ -10462,23 +10470,6 @@ var jsdoc = async () => {
10462
10470
  ];
10463
10471
  };
10464
10472
 
10465
- // src/configs/tsdoc.ts
10466
- var tsdoc = async () => {
10467
- const { pluginTsdoc } = await importPluginTsdoc();
10468
- return [
10469
- {
10470
- files: ["*.ts", "*.tsx"],
10471
- name: "jsse/tsdoc",
10472
- plugins: {
10473
- tsdoc: pluginTsdoc
10474
- },
10475
- rules: {
10476
- "tsdoc/syntax": "warn"
10477
- }
10478
- }
10479
- ];
10480
- };
10481
-
10482
10473
  // src/configs/jsonc.ts
10483
10474
  var jsonc = async (options) => {
10484
10475
  const { overrides = {}, stylistic: stylistic2 = true } = options ?? {};
@@ -10578,7 +10569,7 @@ function typescriptRulesTypeAware() {
10578
10569
  "@typescript-eslint/no-unnecessary-qualifier": "error",
10579
10570
  "@typescript-eslint/no-unnecessary-type-arguments": "off",
10580
10571
  "@typescript-eslint/no-unnecessary-type-assertion": "error",
10581
- "@typescript-eslint/no-useless-template-literals": "error",
10572
+ // "@typescript-eslint/no-useless-template-literals": "error",
10582
10573
  "no-throw-literal": "off",
10583
10574
  "@typescript-eslint/only-throw-error": "error",
10584
10575
  "@typescript-eslint/no-unsafe-argument": "error",
@@ -10721,56 +10712,61 @@ function typescriptRulesTypeOblivious() {
10721
10712
  }
10722
10713
  ],
10723
10714
  "@typescript-eslint/adjacent-overload-signatures": "error",
10724
- "@typescript-eslint/ban-types": [
10725
- "warn",
10726
- {
10727
- extendDefaults: false,
10728
- types: {
10729
- String: {
10730
- message: 'Use "string" instead',
10731
- fixWith: "string"
10732
- },
10733
- Boolean: {
10734
- message: 'Use "boolean" instead',
10735
- fixWith: "boolean"
10736
- },
10737
- Number: {
10738
- message: 'Use "number" instead',
10739
- fixWith: "number"
10740
- },
10741
- BigInt: {
10742
- message: "Use `bigint` instead.",
10743
- fixWith: "bigint"
10744
- },
10745
- Object: {
10746
- message: "The `Object` type is mostly the same as `unknown`. You probably want `Record<string, unknown>` instead. See https://github.com/typescript-eslint/typescript-eslint/pull/848",
10747
- fixWith: "Record<string, unknown>"
10748
- },
10749
- object: {
10750
- message: "The `object` type is hard to use. Use `Record<string, unknown>` instead. See: https://github.com/typescript-eslint/typescript-eslint/pull/848",
10751
- fixWith: "Record<string, unknown>"
10752
- },
10753
- Symbol: {
10754
- message: 'Use "symbol" instead',
10755
- fixWith: "symbol"
10756
- },
10757
- Function: {
10758
- message: 'The "Function" type accepts any function-like value.\nIt provides no type safety when calling the function, which can be a common source of bugs.\nIt also accepts things like class declarations, which will throw at runtime as they will not be called with "new".\nIf you are expecting the function to accept certain arguments, you should explicitly define the function shape.'
10759
- },
10760
- // eslint-disable-next-line @typescript-eslint/naming-convention
10761
- "{}": {
10762
- message: "The `{}` type is mostly the same as `unknown`. You probably want `Record<string, unknown>` instead.",
10763
- fixWith: "Record<string, unknown>"
10764
- },
10765
- // eslint-disable-next-line @typescript-eslint/naming-convention
10766
- "[]": "Don't use the empty array type `[]`. It only allows empty arrays. Use `SomeType[]` instead.",
10767
- // eslint-disable-next-line @typescript-eslint/naming-convention
10768
- "[[]]": "Don't use `[[]]`. It only allows an array with a single element which is an empty array. Use `SomeType[][]` instead.",
10769
- // eslint-disable-next-line @typescript-eslint/naming-convention
10770
- "[[[]]]": "Don't use `[[[]]]`. Use `SomeType[][][]` instead."
10771
- }
10772
- }
10773
- ],
10715
+ // "@typescript-eslint/ban-types": [
10716
+ // "warn",
10717
+ // {
10718
+ // extendDefaults: false,
10719
+ // types: {
10720
+ // String: {
10721
+ // message: 'Use "string" instead',
10722
+ // fixWith: "string",
10723
+ // },
10724
+ // Boolean: {
10725
+ // message: 'Use "boolean" instead',
10726
+ // fixWith: "boolean",
10727
+ // },
10728
+ // Number: {
10729
+ // message: 'Use "number" instead',
10730
+ // fixWith: "number",
10731
+ // },
10732
+ // BigInt: {
10733
+ // message: "Use `bigint` instead.",
10734
+ // fixWith: "bigint",
10735
+ // },
10736
+ // Object: {
10737
+ // message:
10738
+ // "The `Object` type is mostly the same as `unknown`. You probably want `Record<string, unknown>` instead. See https://github.com/typescript-eslint/typescript-eslint/pull/848",
10739
+ // fixWith: "Record<string, unknown>",
10740
+ // },
10741
+ // object: {
10742
+ // message:
10743
+ // "The `object` type is hard to use. Use `Record<string, unknown>` instead. See: https://github.com/typescript-eslint/typescript-eslint/pull/848",
10744
+ // fixWith: "Record<string, unknown>",
10745
+ // },
10746
+ // Symbol: {
10747
+ // message: 'Use "symbol" instead',
10748
+ // fixWith: "symbol",
10749
+ // },
10750
+ // Function: {
10751
+ // message:
10752
+ // 'The "Function" type accepts any function-like value.\nIt provides no type safety when calling the function, which can be a common source of bugs.\nIt also accepts things like class declarations, which will throw at runtime as they will not be called with "new".\nIf you are expecting the function to accept certain arguments, you should explicitly define the function shape.',
10753
+ // },
10754
+ // // eslint-disable-next-line @typescript-eslint/naming-convention
10755
+ // "{}": {
10756
+ // message:
10757
+ // "The `{}` type is mostly the same as `unknown`. You probably want `Record<string, unknown>` instead.",
10758
+ // fixWith: "Record<string, unknown>",
10759
+ // },
10760
+ // // eslint-disable-next-line @typescript-eslint/naming-convention
10761
+ // "[]": "Don't use the empty array type `[]`. It only allows empty arrays. Use `SomeType[]` instead.",
10762
+ // // eslint-disable-next-line @typescript-eslint/naming-convention
10763
+ // "[[]]":
10764
+ // "Don't use `[[]]`. It only allows an array with a single element which is an empty array. Use `SomeType[][]` instead.",
10765
+ // // eslint-disable-next-line @typescript-eslint/naming-convention
10766
+ // "[[[]]]": "Don't use `[[[]]]`. Use `SomeType[][][]` instead.",
10767
+ // },
10768
+ // },
10769
+ // ],
10774
10770
  "@typescript-eslint/consistent-type-assertions": "error",
10775
10771
  "@typescript-eslint/consistent-type-definitions": ["error", "type"],
10776
10772
  "@typescript-eslint/member-ordering": [
@@ -10920,29 +10916,28 @@ function typescriptRulesTypeOblivious() {
10920
10916
  ],
10921
10917
  "default-param-last": "off",
10922
10918
  "@typescript-eslint/default-param-last": "error",
10923
- "func-call-spacing": "off",
10919
+ // "func-call-spacing": "off",
10924
10920
  "@typescript-eslint/func-call-spacing": ["error", "never"],
10925
- "keyword-spacing": "off",
10921
+ // "keyword-spacing": "off",
10926
10922
  "@typescript-eslint/keyword-spacing": "error",
10927
- "lines-between-class-members": "off",
10928
- "@typescript-eslint/lines-between-class-members": [
10929
- "error",
10930
- "always",
10931
- {
10932
- exceptAfterSingleLine: true
10933
- }
10934
- ],
10923
+ // "lines-between-class-members": "off",
10924
+ // "@typescript-eslint/lines-between-class-members": [
10925
+ // "error",
10926
+ // "always",
10927
+ // {
10928
+ // exceptAfterSingleLine: true,
10929
+ // },
10930
+ // ],
10935
10931
  "no-dupe-class-members": "off",
10936
10932
  "@typescript-eslint/no-dupe-class-members": "error",
10937
10933
  "no-empty-function": "off",
10938
10934
  "@typescript-eslint/no-empty-function": "error",
10939
- "no-extra-parens": "off",
10940
- "no-extra-semi": "off",
10935
+ // "no-extra-parens": "off",
10936
+ // "no-extra-semi": "off",
10941
10937
  "@typescript-eslint/no-extra-semi": "error",
10942
10938
  "no-loop-func": "off",
10943
10939
  "@typescript-eslint/no-loop-func": "error",
10944
10940
  "no-loss-of-precision": "off",
10945
- "@typescript-eslint/no-loss-of-precision": "error",
10946
10941
  "no-redeclare": "off",
10947
10942
  "@typescript-eslint/no-redeclare": "error",
10948
10943
  "no-restricted-imports": "off",
@@ -10961,17 +10956,17 @@ function typescriptRulesTypeOblivious() {
10961
10956
  ]
10962
10957
  }
10963
10958
  ],
10964
- "padding-line-between-statements": "off",
10959
+ // "padding-line-between-statements": "off",
10965
10960
  "@typescript-eslint/padding-line-between-statements": "off",
10966
- quotes: "off",
10961
+ // quotes: "off",
10967
10962
  "@typescript-eslint/quotes": "off",
10968
- "space-before-function-paren": "off",
10963
+ // "space-before-function-paren": "off",
10969
10964
  "@typescript-eslint/space-before-function-paren": "off",
10970
- "space-infix-ops": "off",
10965
+ // "space-infix-ops": "off",
10971
10966
  "@typescript-eslint/space-infix-ops": "error",
10972
- semi: "off",
10967
+ // semi: "off",
10973
10968
  "@typescript-eslint/semi": ["error", "always"],
10974
- "space-before-blocks": "off",
10969
+ // "space-before-blocks": "off",
10975
10970
  "@typescript-eslint/space-before-blocks": ["error", "always"],
10976
10971
  "no-undef": "off",
10977
10972
  "no-duplicate-imports": "off",
@@ -11099,6 +11094,33 @@ var n = async () => {
11099
11094
  ];
11100
11095
  };
11101
11096
 
11097
+ // src/configs/no-only-tests.ts
11098
+ var noOnlyTests = async (options = {}) => {
11099
+ const { isInEditor: isInEditor2 = false, overrides = {} } = options;
11100
+ const pluginNoOnlyTests = await interopDefault2(
11101
+ // @ts-expect-error - types are incorrect/missing
11102
+ import("eslint-plugin-no-only-tests")
11103
+ );
11104
+ return [
11105
+ {
11106
+ name: "jsse/no-only-tests/setup",
11107
+ plugins: {
11108
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
11109
+ "no-only-tests": pluginNoOnlyTests
11110
+ }
11111
+ },
11112
+ {
11113
+ files: GLOB_TESTS,
11114
+ name: "jsse/no-only-tests/rules",
11115
+ rules: {
11116
+ "no-only-tests/no-only-tests": isInEditor2 ? "off" : isCI() ? "error" : "warn",
11117
+ "unicorn/no-null": "off",
11118
+ ...overrides
11119
+ }
11120
+ }
11121
+ ];
11122
+ };
11123
+
11102
11124
  // src/configs/perfectionist.ts
11103
11125
  var perfectionist = async () => {
11104
11126
  return [
@@ -11246,7 +11268,16 @@ function typescriptLanguageOptions(options) {
11246
11268
  tsconfig
11247
11269
  } = options || {};
11248
11270
  const tsOptions = tsconfig ? {
11249
- project: Array.isArray(tsconfig) ? tsconfig : [tsconfig],
11271
+ // project: Array.isArray(tsconfig) ? tsconfig : [tsconfig],
11272
+ projectService: {
11273
+ allowDefaultProject: [
11274
+ "*.js",
11275
+ "tsconfig.json",
11276
+ "*.ts",
11277
+ "scripts/*.ts"
11278
+ ],
11279
+ defaultProject: tsconfig
11280
+ },
11250
11281
  tsconfigRootDir: process4.cwd()
11251
11282
  } : {};
11252
11283
  const parserOptions = {
@@ -11829,33 +11860,6 @@ var tailwind = async (options) => {
11829
11860
  ];
11830
11861
  };
11831
11862
 
11832
- // src/configs/no-only-tests.ts
11833
- var noOnlyTests = async (options = {}) => {
11834
- const { isInEditor: isInEditor2 = false, overrides = {} } = options;
11835
- const pluginNoOnlyTests = await interopDefault2(
11836
- // @ts-expect-error - types are incorrect/missing
11837
- import("eslint-plugin-no-only-tests")
11838
- );
11839
- return [
11840
- {
11841
- name: "jsse/no-only-tests/setup",
11842
- plugins: {
11843
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
11844
- "no-only-tests": pluginNoOnlyTests
11845
- }
11846
- },
11847
- {
11848
- files: GLOB_TESTS,
11849
- name: "jsse/no-only-tests/rules",
11850
- rules: {
11851
- "no-only-tests/no-only-tests": isInEditor2 ? "off" : isCI() ? "error" : "warn",
11852
- "unicorn/no-null": "off",
11853
- ...overrides
11854
- }
11855
- }
11856
- ];
11857
- };
11858
-
11859
11863
  // src/configs/ts/typescript.ts
11860
11864
  var typescript = async (options) => {
11861
11865
  const {
@@ -11871,9 +11875,9 @@ var typescript = async (options) => {
11871
11875
  const tsPrefixTo = prefix?.to ?? "@typescript-eslint";
11872
11876
  const tsrules = {
11873
11877
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
11874
- ...default8.configs["eslint-recommended"].overrides[0].rules,
11878
+ ...(default8.configs["eslint-recommended"]?.overrides ?? [])[0]?.rules,
11875
11879
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
11876
- ...default8.configs.strict.rules,
11880
+ ...default8.configs.strict?.rules,
11877
11881
  "no-invalid-this": "off",
11878
11882
  ...typescriptRules(
11879
11883
  typeAware !== false && tsconfigPath ? { typeAware: true } : { typeAware: false }
@@ -11904,6 +11908,7 @@ var typescript = async (options) => {
11904
11908
  // only apply ts rules to ts files!
11905
11909
  files: [GLOB_TS, GLOB_TSX, ...componentExts.map((ext) => `**/*.${ext}`)],
11906
11910
  name: "jsse/typescript/rules",
11911
+ // may not need to rename all rules here........
11907
11912
  rules: renameRules(tsrules || {}, tsPrefix, tsPrefixTo)
11908
11913
  },
11909
11914
  {
@@ -11935,12 +11940,29 @@ var typescript = async (options) => {
11935
11940
  ];
11936
11941
  };
11937
11942
 
11943
+ // src/configs/tsdoc.ts
11944
+ var tsdoc = async () => {
11945
+ const { pluginTsdoc } = await importPluginTsdoc();
11946
+ return [
11947
+ {
11948
+ files: ["*.ts", "*.tsx"],
11949
+ name: "jsse/tsdoc",
11950
+ plugins: {
11951
+ tsdoc: pluginTsdoc
11952
+ },
11953
+ rules: {
11954
+ "tsdoc/syntax": "warn"
11955
+ }
11956
+ }
11957
+ ];
11958
+ };
11959
+
11938
11960
  // src/configs/unicorn.ts
11939
11961
  function unicornOff() {
11940
11962
  return {
11941
11963
  "unicorn/catch-error-name": "off",
11942
11964
  "unicorn/consistent-destructuring": "off",
11943
- "unicorn/no-array-for-each": "off",
11965
+ // "unicorn/no-array-for-each": "off",
11944
11966
  "unicorn/no-array-reduce": "off",
11945
11967
  "unicorn/no-nested-ternary": "off",
11946
11968
  // conflicts with prettier
@@ -11953,7 +11975,11 @@ function unicornOff() {
11953
11975
  };
11954
11976
  }
11955
11977
  function unicornRecommended() {
11956
- return default6.configs.recommended.rules;
11978
+ const rules = default6.configs.recommended.rules;
11979
+ if (rules === void 0) {
11980
+ throw new Error("Expected rules to be defined in unicorn plugin");
11981
+ }
11982
+ return rules;
11957
11983
  }
11958
11984
  var unicorn = async () => {
11959
11985
  return [
@@ -12337,35 +12363,34 @@ async function jsse(options = {}, ...userConfigs) {
12337
12363
  if (off && off.length > 0) {
12338
12364
  log.debug("Turning off rules", off);
12339
12365
  const currentlyActiveRules = /* @__PURE__ */ new Set();
12340
- combinedConfigs.forEach((config) => {
12341
- Object.keys(config.rules ?? {}).forEach(
12342
- (rule) => currentlyActiveRules.add(rule)
12343
- );
12344
- });
12345
- off.forEach((rule) => {
12366
+ for (const config of combinedConfigs) {
12367
+ for (const rule of Object.keys(config.rules ?? {}))
12368
+ currentlyActiveRules.add(rule);
12369
+ }
12370
+ for (const rule of off) {
12346
12371
  if (!currentlyActiveRules.has(rule)) {
12347
12372
  log.info(
12348
12373
  `Rule \`${rule}\` is not active in the current config, you can remove it from the off list`
12349
12374
  );
12350
12375
  }
12351
- });
12352
- combinedConfigs.forEach((config) => {
12353
- Object.keys(config.rules ?? {}).forEach((rule) => {
12376
+ }
12377
+ for (const config of combinedConfigs) {
12378
+ for (const rule of Object.keys(config.rules ?? {})) {
12354
12379
  if (off.includes(rule) && config.rules) {
12355
12380
  config.rules[rule] = "off";
12356
12381
  }
12357
- });
12358
- });
12382
+ }
12383
+ }
12359
12384
  }
12360
12385
  if (normalizedOptions.rootId !== "jsse") {
12361
- combinedConfigs.forEach((config) => {
12386
+ for (const config of combinedConfigs) {
12362
12387
  if (config.name && config.name.startsWith("jsse/")) {
12363
12388
  config.name = config.name.replace(
12364
12389
  "jsse/",
12365
12390
  `${normalizedOptions.rootId}:`
12366
12391
  );
12367
12392
  }
12368
- });
12393
+ }
12369
12394
  }
12370
12395
  if (normalizedOptions.preReturn) {
12371
12396
  log.debug("Running preReturn");
@@ -12382,6 +12407,24 @@ async function jsse(options = {}, ...userConfigs) {
12382
12407
  return res;
12383
12408
  }
12384
12409
  }
12410
+ for (const config of combinedConfigs) {
12411
+ if (config.plugins) {
12412
+ for (const [key, value] of Object.entries(config.plugins)) {
12413
+ if (key.startsWith("@typescript-eslint/")) {
12414
+ delete config.plugins[key];
12415
+ config.plugins[`${tsPrefix}/${key.slice("@typescript-eslint/".length)}`] = value;
12416
+ }
12417
+ }
12418
+ }
12419
+ if (config.rules) {
12420
+ for (const [key, value] of Object.entries(config.rules)) {
12421
+ if (key.startsWith("@typescript-eslint/")) {
12422
+ delete config.rules[key];
12423
+ config.rules[`${tsPrefix}/${key.slice("@typescript-eslint/".length)}`] = value;
12424
+ }
12425
+ }
12426
+ }
12427
+ }
12385
12428
  return combinedConfigs;
12386
12429
  }
12387
12430
 
package/package.json CHANGED
@@ -1,9 +1,8 @@
1
1
  {
2
2
  "name": "@jsse/eslint-config",
3
3
  "type": "module",
4
- "version": "0.1.21",
5
- "packageManager": "pnpm@8.15.4",
6
- "description": "jsse eslint config",
4
+ "version": "0.2.0",
5
+ "description": "@jsse/eslint-config ~ WYSIWYG",
7
6
  "author": "jessekrubin <jessekrubin@gmail.com> (https://github.com/jessekrubin/)",
8
7
  "license": "MIT",
9
8
  "homepage": "https://github.com/jessekrubin/eslint-config",
@@ -12,7 +11,7 @@
12
11
  "eslint",
13
12
  "eslint-config",
14
13
  "eslint-flat-config",
15
- "jawa-script",
14
+ "jawascript",
16
15
  "interface-script"
17
16
  ],
18
17
  "exports": {
@@ -25,8 +24,7 @@
25
24
  "main": "./dist/index.js",
26
25
  "types": "./dist/index.d.ts",
27
26
  "bin": {
28
- "jsselint": "dist/cli.cjs",
29
- "jsseslint": "dist/cli.cjs"
27
+ "jsselint": "dist/cli.cjs"
30
28
  },
31
29
  "files": [
32
30
  "dist"
@@ -60,63 +58,64 @@
60
58
  }
61
59
  },
62
60
  "dependencies": {
63
- "@eslint/js": "~8.57.0",
64
- "@stylistic/eslint-plugin": "2.3.0",
65
- "@typescript-eslint/eslint-plugin": "^7.16.1",
66
- "@typescript-eslint/parser": "^7.16.1",
61
+ "@eslint/js": "~9.8.0",
62
+ "@stylistic/eslint-plugin": "2.6.1",
63
+ "@typescript-eslint/eslint-plugin": "^8.0.1",
64
+ "@typescript-eslint/parser": "^8.0.1",
67
65
  "eslint-config-flat-gitignore": "^0.1.8",
68
66
  "eslint-define-config": "^2.1.0",
69
67
  "eslint-plugin-antfu": "^2.3.4",
70
68
  "eslint-plugin-eslint-comments": "^3.2.0",
71
- "eslint-plugin-import-x": "^0.5.3",
72
- "eslint-plugin-jsdoc": "^48.7.0",
69
+ "eslint-plugin-import-x": "^3.1.0",
70
+ "eslint-plugin-jsdoc": "^48.11.0",
73
71
  "eslint-plugin-jsonc": "^2.16.0",
74
72
  "eslint-plugin-markdown": "^5.1.0",
75
- "eslint-plugin-n": "^17.9.0",
73
+ "eslint-plugin-n": "^17.10.2",
76
74
  "eslint-plugin-no-only-tests": "^3.1.0",
77
- "eslint-plugin-perfectionist": "^2.11.0",
78
- "eslint-plugin-react": "~7.34.4",
75
+ "eslint-plugin-perfectionist": "^3.1.2",
76
+ "eslint-plugin-react": "~7.35.0",
79
77
  "eslint-plugin-react-hooks": "~4.6.2",
80
- "eslint-plugin-react-refresh": "~0.4.8",
78
+ "eslint-plugin-react-refresh": "~0.4.9",
81
79
  "eslint-plugin-toml": "^0.11.1",
82
80
  "eslint-plugin-tsdoc": "^0.3.0",
83
- "eslint-plugin-unicorn": "^54.0.0",
84
- "eslint-plugin-unused-imports": "^3.2.0",
81
+ "eslint-plugin-unicorn": "^55.0.0",
82
+ "eslint-plugin-unused-imports": "^4.0.1",
85
83
  "eslint-plugin-vitest": "0.5.4",
86
84
  "eslint-plugin-yml": "^1.14.0",
87
85
  "jsonc-eslint-parser": "^2.4.0",
88
86
  "toml-eslint-parser": "^0.10.0",
89
- "typescript-eslint": "^7.16.1",
87
+ "typescript-eslint": "^8.0.1",
90
88
  "yaml-eslint-parser": "^1.2.3"
91
89
  },
92
90
  "optionalDependencies": {
93
91
  "eslint-plugin-tailwindcss": "^3.17.4",
94
- "tailwindcss": "^3.4.5"
92
+ "tailwindcss": "^3.4.7"
95
93
  },
96
94
  "devDependencies": {
97
95
  "@antfu/ni": "^0.22.0",
96
+ "@biomejs/biome": "1.8.3",
98
97
  "@changesets/cli": "^2.27.7",
99
98
  "@jsse/prettier-config": "^0.1.0",
100
- "@types/eslint": "^8.56.10",
99
+ "@types/eslint": "^9.6.0",
101
100
  "@types/eslint__js": "~8.42.3",
102
101
  "@types/fs-extra": "^11.0.4",
103
- "@types/node": "^20.14.10",
102
+ "@types/node": "^20.14.13",
104
103
  "cac": "^6.7.14",
105
- "eslint": "^8.57.0",
106
- "eslint-flat-config-utils": "^0.2.5",
107
- "eslint-typegen": "^0.2.4",
104
+ "eslint": "^9.8.0",
105
+ "eslint-flat-config-utils": "^0.3.0",
106
+ "eslint-typegen": "^0.3.0",
108
107
  "execa": "~9.3.0",
109
108
  "fast-glob": "^3.3.2",
110
109
  "fs-extra": "^11.2.0",
111
- "globals": "^15.8.0",
110
+ "globals": "^15.9.0",
112
111
  "local-pkg": "^0.5.0",
113
112
  "prettier": "^3.3.3",
114
113
  "react": "~18.3.1",
115
114
  "rimraf": "^6.0.1",
116
- "tsup": "^8.1.0",
117
- "tsx": "^4.16.2",
118
- "typescript": "~5.5.3",
119
- "vitest": "^2.0.3"
115
+ "tsup": "^8.2.4",
116
+ "tsx": "^4.16.5",
117
+ "typescript": "~5.5.4",
118
+ "vitest": "^2.0.5"
120
119
  },
121
120
  "prettier": "@jsse/prettier-config",
122
121
  "scripts": {