@jsse/eslint-config 0.4.11 → 0.4.14

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
@@ -1,5 +1,5 @@
1
- import { __commonJS, __export, __toESM } from "./chunk-CkHaCily.js";
2
- import { DEBUG, SLOW_RULES, VERSION } from "./version-Cmu7XVG1.js";
1
+ import { __commonJS, __export, __toESM } from "./chunk-Bb8Gnt67.js";
2
+ import { DEBUG, SLOW_RULES, VERSION } from "./version-Me0kOJKb.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";
@@ -10618,7 +10618,7 @@ async function findWorkspaceDir(id = process.cwd(), options = {}) {
10618
10618
  }
10619
10619
 
10620
10620
  //#endregion
10621
- //#region node_modules/.pnpm/mlly@1.7.4/node_modules/mlly/dist/index.mjs
10621
+ //#region node_modules/.pnpm/mlly@1.8.0/node_modules/mlly/dist/index.mjs
10622
10622
  const BUILTIN_MODULES = new Set(builtinModules);
10623
10623
  function normalizeSlash(path$1) {
10624
10624
  return path$1.replace(/\\/g, "/");
@@ -10640,12 +10640,12 @@ function matchAll(regex, string, addition) {
10640
10640
  return matches;
10641
10641
  }
10642
10642
  function clearImports(imports$1) {
10643
- return (imports$1 || "").replace(/(\/\/[^\n]*\n|\/\*.*\*\/)/g, "").replace(/\s+/g, " ");
10643
+ return (imports$1 || "").replace(/\/\/[^\n]*\n|\/\*.*\*\//g, "").replace(/\s+/g, " ");
10644
10644
  }
10645
10645
  function getImportNames(cleanedImports) {
10646
- const topLevelImports = cleanedImports.replace(/{([^}]*)}/, "");
10646
+ const topLevelImports = cleanedImports.replace(/{[^}]*}/, "");
10647
10647
  const namespacedImport = topLevelImports.match(/\* as \s*(\S*)/)?.[1];
10648
- const defaultImport = topLevelImports.split(",").find((index) => !/[*{}]/.test(index))?.trim() || undefined;
10648
+ const defaultImport = topLevelImports.split(",").find((index) => !/[*{}]/.test(index))?.trim() || void 0;
10649
10649
  return {
10650
10650
  namespacedImport,
10651
10651
  defaultImport
@@ -11222,7 +11222,7 @@ function defaultGetFormatWithoutErrors(url, context) {
11222
11222
  return protocolHandlers[protocol](url, context, true) || null;
11223
11223
  }
11224
11224
  const RegExpPrototypeSymbolReplace = RegExp.prototype[Symbol.replace];
11225
- const { ERR_NETWORK_IMPORT_DISALLOWED, ERR_INVALID_MODULE_SPECIFIER, ERR_INVALID_PACKAGE_CONFIG, ERR_INVALID_PACKAGE_TARGET, ERR_MODULE_NOT_FOUND, ERR_PACKAGE_IMPORT_NOT_DEFINED, ERR_PACKAGE_PATH_NOT_EXPORTED, ERR_UNSUPPORTED_DIR_IMPORT, ERR_UNSUPPORTED_RESOLVE_REQUEST } = codes;
11225
+ const { ERR_INVALID_MODULE_SPECIFIER, ERR_INVALID_PACKAGE_CONFIG, ERR_INVALID_PACKAGE_TARGET, ERR_MODULE_NOT_FOUND, ERR_PACKAGE_IMPORT_NOT_DEFINED, ERR_PACKAGE_PATH_NOT_EXPORTED, ERR_UNSUPPORTED_DIR_IMPORT, ERR_UNSUPPORTED_RESOLVE_REQUEST } = codes;
11226
11226
  const own = {}.hasOwnProperty;
11227
11227
  const invalidSegmentRegEx = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))?(\\|\/|$)/i;
11228
11228
  const deprecatedInvalidSegmentRegEx = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i;
@@ -11890,7 +11890,7 @@ function normalizeid(id) {
11890
11890
  if (typeof id !== "string") {
11891
11891
  id = id.toString();
11892
11892
  }
11893
- if (/(node|data|http|https|file):/.test(id)) {
11893
+ if (/(?:node|data|http|https|file):/.test(id)) {
11894
11894
  return id;
11895
11895
  }
11896
11896
  if (BUILTIN_MODULES.has(id)) {
@@ -11907,13 +11907,13 @@ function toDataURL(code) {
11907
11907
  return `data:text/javascript;base64,${base64}`;
11908
11908
  }
11909
11909
  function isNodeBuiltin(id = "") {
11910
- id = id.replace(/^node:/, "").split("/")[0];
11910
+ id = id.replace(/^node:/, "").split("/", 1)[0];
11911
11911
  return BUILTIN_MODULES.has(id);
11912
11912
  }
11913
11913
  const ProtocolRegex = /^(?<proto>.{2,}?):.+$/;
11914
11914
  function getProtocol(id) {
11915
11915
  const proto = id.match(ProtocolRegex);
11916
- return proto ? proto.groups?.proto : undefined;
11916
+ return proto ? proto.groups?.proto : void 0;
11917
11917
  }
11918
11918
  const DEFAULT_CONDITIONS_SET = /* @__PURE__ */ new Set(["node", "import"]);
11919
11919
  const DEFAULT_EXTENSIONS = [
@@ -11945,7 +11945,7 @@ function _resolve$1(id, options = {}) {
11945
11945
  throw new TypeError("input must be a `string` or `URL`");
11946
11946
  }
11947
11947
  }
11948
- if (/(node|data|http|https):/.test(id)) {
11948
+ if (/(?:node|data|http|https):/.test(id)) {
11949
11949
  return id;
11950
11950
  }
11951
11951
  if (BUILTIN_MODULES.has(id)) {
@@ -12047,7 +12047,7 @@ function parseNodeModulePath(path$1) {
12047
12047
  return {
12048
12048
  dir,
12049
12049
  name,
12050
- subpath: subpath ? `.${subpath}` : undefined
12050
+ subpath: subpath ? `.${subpath}` : void 0
12051
12051
  };
12052
12052
  }
12053
12053
  async function lookupNodeModuleSubpath(path$1) {
@@ -12079,7 +12079,7 @@ function _findSubpath(subpath, exports) {
12079
12079
  }
12080
12080
  function _flattenExports(exports = {}, parentSubpath = "./") {
12081
12081
  return Object.entries(exports).flatMap(([key, value]) => {
12082
- const [subpath, condition] = key.startsWith(".") ? [key.slice(1), undefined] : ["", key];
12082
+ const [subpath, condition] = key.startsWith(".") ? [key.slice(1), void 0] : ["", key];
12083
12083
  const _subPath = joinURL(parentSubpath, subpath);
12084
12084
  if (typeof value === "string") {
12085
12085
  return [{
@@ -12092,16 +12092,17 @@ function _flattenExports(exports = {}, parentSubpath = "./") {
12092
12092
  }
12093
12093
  });
12094
12094
  }
12095
- const ESM_STATIC_IMPORT_RE = /(?<=\s|^|;|\})import\s*([\s"']*(?<imports>[\p{L}\p{M}\w\t\n\r $*,/{}@.]+)from\s*)?["']\s*(?<specifier>(?<="\s*)[^"]*[^\s"](?=\s*")|(?<='\s*)[^']*[^\s'](?=\s*'))\s*["'][\s;]*/gmu;
12095
+ const ESM_STATIC_IMPORT_RE = /(?<=\s|^|;|\})import\s*(?:[\s"']*(?<imports>[\p{L}\p{M}\w\t\n\r $*,/{}@.]+)from\s*)?["']\s*(?<specifier>(?<="\s*)[^"]*[^\s"](?=\s*")|(?<='\s*)[^']*[^\s'](?=\s*'))\s*["'][\s;]*/gmu;
12096
12096
  const DYNAMIC_IMPORT_RE = /import\s*\((?<expression>(?:[^()]+|\((?:[^()]+|\([^()]*\))*\))*)\)/gm;
12097
- const IMPORT_NAMED_TYPE_RE = /(?<=\s|^|;|})import\s*type\s+([\s"']*(?<imports>[\w\t\n\r $*,/{}]+)from\s*)?["']\s*(?<specifier>(?<="\s*)[^"]*[^\s"](?=\s*")|(?<='\s*)[^']*[^\s'](?=\s*'))\s*["'][\s;]*/gm;
12098
- const EXPORT_DECAL_RE = /\bexport\s+(?<declaration>(async function\s*\*?|function\s*\*?|let|const enum|const|enum|var|class))\s+\*?(?<name>[\w$]+)(?<extraNames>.*,\s*[\s\w:[\]{}]*[\w$\]}]+)*/g;
12099
- const EXPORT_DECAL_TYPE_RE = /\bexport\s+(?<declaration>(interface|type|declare (async function|function|let|const enum|const|enum|var|class)))\s+(?<name>[\w$]+)/g;
12100
- const EXPORT_NAMED_RE = /\bexport\s*{(?<exports>[^}]+?)[\s,]*}(\s*from\s*["']\s*(?<specifier>(?<="\s*)[^"]*[^\s"](?=\s*")|(?<='\s*)[^']*[^\s'](?=\s*'))\s*["'][^\n;]*)?/g;
12101
- const EXPORT_NAMED_TYPE_RE = /\bexport\s+type\s*{(?<exports>[^}]+?)[\s,]*}(\s*from\s*["']\s*(?<specifier>(?<="\s*)[^"]*[^\s"](?=\s*")|(?<='\s*)[^']*[^\s'](?=\s*'))\s*["'][^\n;]*)?/g;
12102
- const EXPORT_NAMED_DESTRUCT = /\bexport\s+(let|var|const)\s+(?:{(?<exports1>[^}]+?)[\s,]*}|\[(?<exports2>[^\]]+?)[\s,]*])\s+=/gm;
12103
- const EXPORT_STAR_RE = /\bexport\s*(\*)(\s*as\s+(?<name>[\w$]+)\s+)?\s*(\s*from\s*["']\s*(?<specifier>(?<="\s*)[^"]*[^\s"](?=\s*")|(?<='\s*)[^']*[^\s'](?=\s*'))\s*["'][^\n;]*)?/g;
12097
+ const IMPORT_NAMED_TYPE_RE = /(?<=\s|^|;|})import\s*type\s+(?:[\s"']*(?<imports>[\w\t\n\r $*,/{}]+)from\s*)?["']\s*(?<specifier>(?<="\s*)[^"]*[^\s"](?=\s*")|(?<='\s*)[^']*[^\s'](?=\s*'))\s*["'][\s;]*/gm;
12098
+ const EXPORT_DECAL_RE = /\bexport\s+(?<declaration>(?:async function\s*\*?|function\s*\*?|let|const enum|const|enum|var|class))\s+\*?(?<name>[\w$]+)(?<extraNames>.*,\s*[\s\w:[\]{}]*[\w$\]}]+)*/g;
12099
+ const EXPORT_DECAL_TYPE_RE = /\bexport\s+(?<declaration>(?:interface|type|declare (?:async function|function|let|const enum|const|enum|var|class)))\s+(?<name>[\w$]+)/g;
12100
+ const EXPORT_NAMED_RE = /\bexport\s*{(?<exports>[^}]+?)[\s,]*}(?:\s*from\s*["']\s*(?<specifier>(?<="\s*)[^"]*[^\s"](?=\s*")|(?<='\s*)[^']*[^\s'](?=\s*'))\s*["'][^\n;]*)?/g;
12101
+ const EXPORT_NAMED_TYPE_RE = /\bexport\s+type\s*{(?<exports>[^}]+?)[\s,]*}(?:\s*from\s*["']\s*(?<specifier>(?<="\s*)[^"]*[^\s"](?=\s*")|(?<='\s*)[^']*[^\s'](?=\s*'))\s*["'][^\n;]*)?/g;
12102
+ const EXPORT_NAMED_DESTRUCT = /\bexport\s+(?:let|var|const)\s+(?:{(?<exports1>[^}]+?)[\s,]*}|\[(?<exports2>[^\]]+?)[\s,]*])\s+=/gm;
12103
+ const EXPORT_STAR_RE = /\bexport\s*\*(?:\s*as\s+(?<name>[\w$]+)\s+)?\s*(?:\s*from\s*["']\s*(?<specifier>(?<="\s*)[^"]*[^\s"](?=\s*")|(?<='\s*)[^']*[^\s'](?=\s*'))\s*["'][^\n;]*)?/g;
12104
12104
  const EXPORT_DEFAULT_RE = /\bexport\s+default\s+(async function|function|class|true|false|\W|\d)|\bexport\s+default\s+(?<defaultName>.*)/g;
12105
+ const EXPORT_DEFAULT_CLASS_RE = /\bexport\s+default\s+(?<declaration>class)\s+(?<name>[\w$]+)/g;
12105
12106
  const TYPE_RE = /^\s*?type\s/;
12106
12107
  function findStaticImports(code) {
12107
12108
  return _filterStatement(_tryGetLocations(code, "import"), matchAll(ESM_STATIC_IMPORT_RE, code, { type: "static" }));
@@ -12158,6 +12159,9 @@ function parseTypeImport(matched) {
12158
12159
  function findExports(code) {
12159
12160
  const declaredExports = matchAll(EXPORT_DECAL_RE, code, { type: "declaration" });
12160
12161
  for (const declaredExport of declaredExports) {
12162
+ if (/^export\s+(?:async\s+)?function/.test(declaredExport.code)) {
12163
+ continue;
12164
+ }
12161
12165
  const extraNamesStr = declaredExport.extraNames;
12162
12166
  if (extraNamesStr) {
12163
12167
  const extraNames = matchAll(/({.*?})|(\[.*?])|(,\s*(?<name>\w+))/g, extraNamesStr, {}).map((m$2) => m$2.name).filter(Boolean);
@@ -12175,12 +12179,14 @@ function findExports(code) {
12175
12179
  type: "default",
12176
12180
  name: "default"
12177
12181
  });
12182
+ const defaultClassExports = matchAll(EXPORT_DEFAULT_CLASS_RE, code, { type: "declaration" });
12178
12183
  const starExports = matchAll(EXPORT_STAR_RE, code, { type: "star" });
12179
12184
  const exports = normalizeExports([
12180
12185
  ...declaredExports,
12181
12186
  ...namedExports,
12182
12187
  ...destructuredExports,
12183
12188
  ...defaultExport,
12189
+ ...defaultClassExports,
12184
12190
  ...starExports
12185
12191
  ]);
12186
12192
  if (exports.length === 0) {
@@ -12315,7 +12321,7 @@ function interopDefault$1(sourceModule, opts = {}) {
12315
12321
  return sourceModule;
12316
12322
  }
12317
12323
  const defaultValue = sourceModule.default;
12318
- if (defaultValue === undefined || defaultValue === null) {
12324
+ if (defaultValue === void 0 || defaultValue === null) {
12319
12325
  return sourceModule;
12320
12326
  }
12321
12327
  const _defaultType = typeof defaultValue;
@@ -12337,7 +12343,7 @@ function interopDefault$1(sourceModule, opts = {}) {
12337
12343
  }
12338
12344
  return defaultValue;
12339
12345
  }
12340
- const EVAL_ESM_IMPORT_RE = /(?<=import .* from ["'])([^"']+)(?=["'])|(?<=export .* from ["'])([^"']+)(?=["'])|(?<=import\s*["'])([^"']+)(?=["'])|(?<=import\s*\(["'])([^"']+)(?=["']\))/g;
12346
+ const EVAL_ESM_IMPORT_RE = /(?<=import .* from ["'])[^"']+(?=["'])|(?<=export .* from ["'])[^"']+(?=["'])|(?<=import\s*["'])[^"']+(?=["'])|(?<=import\s*\(["'])[^"']+(?=["']\))/g;
12341
12347
  async function loadModule(id, options = {}) {
12342
12348
  const url = await resolve(id, options);
12343
12349
  const code = await loadURL(url);
@@ -12378,11 +12384,11 @@ async function resolveImports(code, options) {
12378
12384
  }
12379
12385
  resolved.set(id, url);
12380
12386
  }));
12381
- const re$2 = new RegExp(uniqueImports.map((index) => `(${index})`).join("|"), "g");
12387
+ const re$2 = new RegExp(uniqueImports.map((index) => `(?:${index})`).join("|"), "g");
12382
12388
  return code.replace(re$2, (id) => resolved.get(id));
12383
12389
  }
12384
- const ESM_RE = /([\s;]|^)(import[\s\w*,{}]*from|import\s*["'*{]|export\b\s*(?:[*{]|default|class|type|function|const|var|let|async function)|import\.meta\b)/m;
12385
- const CJS_RE = /([\s;]|^)(module.exports\b|exports\.\w|require\s*\(|global\.\w)/m;
12390
+ const ESM_RE = /(?:[\s;]|^)(?:import[\s\w*,{}]*from|import\s*["'*{]|export\b\s*(?:[*{]|default|class|type|function|const|var|let|async function)|import\.meta\b)/m;
12391
+ const CJS_RE = /(?:[\s;]|^)(?:module\.exports\b|exports\.\w|require\s*\(|global\.\w)/m;
12386
12392
  const COMMENT_RE = /\/\*.+?\*\/|\/\/.*(?=[nr])/g;
12387
12393
  const BUILTIN_EXTENSIONS = /* @__PURE__ */ new Set([
12388
12394
  ".mjs",
@@ -12446,7 +12452,7 @@ async function isValidNodeImport(id, _options = {}) {
12446
12452
  if (package_?.type === "module") {
12447
12453
  return true;
12448
12454
  }
12449
- if (/\.(\w+-)?esm?(-\w+)?\.js$|\/(esm?)\//.test(resolvedPath)) {
12455
+ if (/\.(?:\w+-)?esm?(?:-\w+)?\.js$|\/esm?\//.test(resolvedPath)) {
12450
12456
  return false;
12451
12457
  }
12452
12458
  const code = options.code || await promises.readFile(resolvedPath, "utf8").catch(() => {}) || "";
@@ -12957,8 +12963,7 @@ const eslintComments = async () => [{
12957
12963
 
12958
12964
  //#endregion
12959
12965
  //#region src/globs.ts
12960
- var globs_exports = {};
12961
- __export(globs_exports, {
12966
+ var globs_exports = /* @__PURE__ */ __export({
12962
12967
  GLOB_ALL_SRC: () => GLOB_ALL_SRC,
12963
12968
  GLOB_CSS: () => GLOB_CSS,
12964
12969
  GLOB_EXCLUDE: () => GLOB_EXCLUDE,
@@ -13090,8 +13095,8 @@ const imports = async (options) => {
13090
13095
  };
13091
13096
 
13092
13097
  //#endregion
13093
- //#region node_modules/.pnpm/globals@16.3.0/node_modules/globals/globals.json
13094
- var require_globals$1 = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/globals@16.3.0/node_modules/globals/globals.json": ((exports, module) => {
13098
+ //#region node_modules/.pnpm/globals@16.4.0/node_modules/globals/globals.json
13099
+ var require_globals$1 = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/globals@16.4.0/node_modules/globals/globals.json": ((exports, module) => {
13095
13100
  module.exports = {
13096
13101
  "amd": {
13097
13102
  "define": false,
@@ -13250,6 +13255,9 @@ var require_globals$1 = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/globals
13250
13255
  "CSSFontFaceRule": false,
13251
13256
  "CSSFontFeatureValuesRule": false,
13252
13257
  "CSSFontPaletteValuesRule": false,
13258
+ "CSSFunctionDeclarations": false,
13259
+ "CSSFunctionDescriptors": false,
13260
+ "CSSFunctionRule": false,
13253
13261
  "CSSGroupingRule": false,
13254
13262
  "CSSImageValue": false,
13255
13263
  "CSSImportRule": false,
@@ -13986,6 +13994,11 @@ var require_globals$1 = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/globals
13986
13994
  "SnapEvent": false,
13987
13995
  "SourceBuffer": false,
13988
13996
  "SourceBufferList": false,
13997
+ "SpeechGrammar": false,
13998
+ "SpeechGrammarList": false,
13999
+ "SpeechRecognition": false,
14000
+ "SpeechRecognitionErrorEvent": false,
14001
+ "SpeechRecognitionEvent": false,
13989
14002
  "speechSynthesis": false,
13990
14003
  "SpeechSynthesis": false,
13991
14004
  "SpeechSynthesisErrorEvent": false,
@@ -16389,8 +16402,8 @@ var require_globals$1 = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/globals
16389
16402
  }) });
16390
16403
 
16391
16404
  //#endregion
16392
- //#region node_modules/.pnpm/globals@16.3.0/node_modules/globals/index.js
16393
- var require_globals = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/globals@16.3.0/node_modules/globals/index.js": ((exports, module) => {
16405
+ //#region node_modules/.pnpm/globals@16.4.0/node_modules/globals/index.js
16406
+ var require_globals = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/globals@16.4.0/node_modules/globals/index.js": ((exports, module) => {
16394
16407
  module.exports = require_globals$1();
16395
16408
  }) });
16396
16409
 
@@ -33,7 +33,7 @@ const SLOW_RULES = [
33
33
 
34
34
  //#endregion
35
35
  //#region src/generated/version.ts
36
- const VERSION = "0.4.11";
36
+ const VERSION = "0.4.14";
37
37
 
38
38
  //#endregion
39
39
  export { DEBUG, SLOW_RULES, VERSION };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@jsse/eslint-config",
3
3
  "type": "module",
4
- "version": "0.4.11",
4
+ "version": "0.4.14",
5
5
  "description": "@jsse/eslint-config ~ WYSIWYG",
6
6
  "author": "jessekrubin <jessekrubin@gmail.com> (https://github.com/jessekrubin/)",
7
7
  "license": "MIT",
@@ -62,22 +62,22 @@
62
62
  "dependencies": {
63
63
  "@eslint-community/eslint-plugin-eslint-comments": "^4.5.0",
64
64
  "@eslint/compat": "^1.3.2",
65
- "@eslint/js": "~9.33.0",
66
- "@eslint/markdown": "^7.1.0",
67
- "@stylistic/eslint-plugin": "5.2.3",
68
- "@typescript-eslint/eslint-plugin": "^8.40.0",
69
- "@typescript-eslint/parser": "^8.40.0",
70
- "@vitest/eslint-plugin": "^1.3.4",
71
- "debug": "^4.4.1",
65
+ "@eslint/js": "~9.35.0",
66
+ "@eslint/markdown": "^7.2.0",
67
+ "@stylistic/eslint-plugin": "5.3.1",
68
+ "@typescript-eslint/eslint-plugin": "^8.44.0",
69
+ "@typescript-eslint/parser": "^8.44.0",
70
+ "@vitest/eslint-plugin": "^1.3.10",
71
+ "debug": "^4.4.3",
72
72
  "eslint-config-flat-gitignore": "^2.1.0",
73
73
  "eslint-merge-processors": "^2.0.0",
74
74
  "eslint-plugin-antfu": "^3.1.1",
75
75
  "eslint-plugin-command": "^3.3.1",
76
76
  "eslint-plugin-de-morgan": "^1.3.1",
77
77
  "eslint-plugin-import-lite": "^0.3.0",
78
- "eslint-plugin-jsdoc": "^54.1.1",
78
+ "eslint-plugin-jsdoc": "^58.1.0",
79
79
  "eslint-plugin-jsonc": "^2.20.1",
80
- "eslint-plugin-n": "^17.21.3",
80
+ "eslint-plugin-n": "^17.23.0",
81
81
  "eslint-plugin-no-only-tests": "^3.3.0",
82
82
  "eslint-plugin-perfectionist": "^4.15.0",
83
83
  "eslint-plugin-pnpm": "^1.1.1",
@@ -86,39 +86,39 @@
86
86
  "eslint-plugin-react-refresh": "~0.4.20",
87
87
  "eslint-plugin-toml": "^0.12.0",
88
88
  "eslint-plugin-tsdoc": "^0.4.0",
89
- "eslint-plugin-unicorn": "^60.0.0",
89
+ "eslint-plugin-unicorn": "^61.0.2",
90
90
  "eslint-plugin-unused-imports": "^4.2.0",
91
91
  "eslint-plugin-yml": "^1.18.0",
92
92
  "jsonc-eslint-parser": "^2.4.0",
93
93
  "toml-eslint-parser": "^0.10.0",
94
- "typescript-eslint": "^8.40.0",
94
+ "typescript-eslint": "^8.44.0",
95
95
  "yaml-eslint-parser": "^1.3.0"
96
96
  },
97
97
  "devDependencies": {
98
- "@biomejs/biome": "2.2.0",
99
- "@changesets/cli": "^2.29.6",
98
+ "@biomejs/biome": "2.2.4",
99
+ "@changesets/cli": "^2.29.7",
100
100
  "@jsse/prettier-config": "^1.0.0",
101
101
  "@jsse/tsconfig": "^0.3.0",
102
102
  "@types/debug": "^4.1.12",
103
103
  "@types/fs-extra": "^11.0.4",
104
- "@types/node": "^24.3.0",
104
+ "@types/node": "^24.5.0",
105
105
  "cac": "^6.7.14",
106
- "eslint": "^9.33.0",
106
+ "eslint": "^9.35.0",
107
107
  "eslint-flat-config-utils": "^2.1.1",
108
108
  "eslint-typegen": "^2.3.0",
109
109
  "execa": "~9.6.0",
110
110
  "fast-glob": "^3.3.3",
111
- "fs-extra": "^11.3.1",
112
- "globals": "^16.3.0",
111
+ "fs-extra": "^11.3.2",
112
+ "globals": "^16.4.0",
113
113
  "local-pkg": "^1.1.2",
114
- "oxlint": "^1.12.0",
114
+ "oxlint": "^1.15.0",
115
115
  "picocolors": "^1.1.1",
116
116
  "prettier": "^3.6.2",
117
117
  "react": "~19.1.1",
118
118
  "rimraf": "^6.0.1",
119
- "tsdown": "^0.14.1",
120
- "tsx": "^4.20.4",
121
- "typescript": "~5.8.3",
119
+ "tsdown": "^0.15.1",
120
+ "tsx": "^4.20.5",
121
+ "typescript": "~5.9.2",
122
122
  "vitest": "^3.2.4"
123
123
  },
124
124
  "prettier": "@jsse/prettier-config",