@will-stone/eslint-config 21.3.0 → 22.0.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/README.md CHANGED
@@ -12,8 +12,8 @@ pnpm add -D eslint @will-stone/eslint-config
12
12
 
13
13
  ### Optional Peer Dependencies
14
14
 
15
- If you are using any of the following packages, you will also need to install
16
- the corresponding plugin.
15
+ If you are using any of the following packages, you will also need to install the corresponding
16
+ plugin.
17
17
 
18
18
  | Package | Plugin |
19
19
  | ------------- | ----------------------------------------------- |
@@ -45,8 +45,8 @@ For example:
45
45
 
46
46
  ### Lint Staged
47
47
 
48
- If you would like to apply lint and auto-fix before every commit, you can add
49
- the following to your `package.json`:
48
+ If you would like to apply lint and auto-fix before every commit, you can add the following to your
49
+ `package.json`:
50
50
 
51
51
  ```json
52
52
  {
@@ -66,6 +66,5 @@ echo "lint-staged" > .husky/pre-commit
66
66
 
67
67
  ## Credits
68
68
 
69
- Inspired by the excellent
70
- [Flat eslint-config](https://github.com/antfu/eslint-config) by
69
+ Inspired by the excellent [Flat eslint-config](https://github.com/antfu/eslint-config) by
71
70
  [Anthony Fu](https://github.com/antfu).
package/dist/index.d.ts CHANGED
@@ -12,9 +12,7 @@ type Options = {
12
12
  config?: string;
13
13
  cssFiles?: string[];
14
14
  } | boolean;
15
- typescript?: boolean | {
16
- tsconfigPath?: string;
17
- };
15
+ typescript?: boolean;
18
16
  vitest?: boolean;
19
17
  };
20
18
  //#endregion
package/dist/index.js CHANGED
@@ -90,6 +90,7 @@ async function astro(_configContext) {
90
90
  "astro/no-deprecated-astro-resolve": "error",
91
91
  "astro/no-deprecated-getentrybyslug": "error",
92
92
  "astro/no-exports-from-components": "error",
93
+ "astro/no-unsafe-inline-scripts": "error",
93
94
  "astro/no-unused-define-vars-in-style": "error",
94
95
  "astro/semi": "off",
95
96
  "astro/sort-attributes": "warn",
@@ -604,7 +605,7 @@ function perfectionist() {
604
605
  "perfectionist/sort-imports": ["warn", { type: "natural" }],
605
606
  "perfectionist/sort-interfaces": "off",
606
607
  "perfectionist/sort-intersection-types": "off",
607
- "perfectionist/sort-jsx-props": "off",
608
+ "perfectionist/sort-jsx-props": ["warn", { type: "natural" }],
608
609
  "perfectionist/sort-maps": "off",
609
610
  "perfectionist/sort-modules": "off",
610
611
  "perfectionist/sort-named-exports": ["warn", { type: "natural" }],
@@ -906,6 +907,7 @@ function style() {
906
907
  "@stylistic/curly-newline": "off",
907
908
  "@stylistic/dot-location": "off",
908
909
  "@stylistic/eol-last": "off",
910
+ "@stylistic/exp-list-style": "off",
909
911
  "@stylistic/function-call-argument-newline": "off",
910
912
  "@stylistic/function-call-spacing": "off",
911
913
  "@stylistic/function-paren-newline": "off",
@@ -929,7 +931,6 @@ function style() {
929
931
  "@stylistic/jsx-pascal-case": "off",
930
932
  "@stylistic/jsx-quotes": "off",
931
933
  "@stylistic/jsx-self-closing-comp": "off",
932
- "@stylistic/jsx-sort-props": "off",
933
934
  "@stylistic/jsx-tag-spacing": "off",
934
935
  "@stylistic/jsx-wrap-multilines": "off",
935
936
  "@stylistic/key-spacing": "off",
@@ -1029,8 +1030,7 @@ async function tailwind({ options: { tailwind: rawOptions } }) {
1029
1030
 
1030
1031
  //#endregion
1031
1032
  //#region src/configs/typescript.ts
1032
- function typescript({ options: { typescript: rawOptions } }) {
1033
- const options = !rawOptions || typeof rawOptions === "boolean" ? {} : rawOptions;
1033
+ function typescript() {
1034
1034
  return [{
1035
1035
  files: [
1036
1036
  GLOB_ASTRO_TS,
@@ -1039,13 +1039,7 @@ function typescript({ options: { typescript: rawOptions } }) {
1039
1039
  ],
1040
1040
  languageOptions: {
1041
1041
  parser: parserTypescript,
1042
- parserOptions: { ...options.tsconfigPath ? {
1043
- projectService: {
1044
- allowDefaultProject: ["./*.js"],
1045
- defaultProject: options.tsconfigPath
1046
- },
1047
- tsconfigRootDir: process.cwd()
1048
- } : {} }
1042
+ parserOptions: { projectService: true }
1049
1043
  },
1050
1044
  name: "will-stone/typescript",
1051
1045
  plugins: { "@typescript-eslint": pluginTypescript },
@@ -1089,67 +1083,67 @@ function typescript({ options: { typescript: rawOptions } }) {
1089
1083
  "@typescript-eslint/triple-slash-reference": "error",
1090
1084
  "no-array-constructor": "off",
1091
1085
  "no-empty-function": "off",
1092
- ...options?.tsconfigPath ? {
1093
- "@typescript-eslint/await-thenable": "off",
1094
- "@typescript-eslint/consistent-return": "off",
1095
- "@typescript-eslint/consistent-type-exports": "warn",
1096
- "@typescript-eslint/dot-notation": "off",
1097
- "@typescript-eslint/naming-convention": "off",
1098
- "@typescript-eslint/no-array-delete": "off",
1099
- "@typescript-eslint/no-base-to-string": "off",
1100
- "@typescript-eslint/no-confusing-void-expression": "off",
1101
- "@typescript-eslint/no-deprecated": "off",
1102
- "@typescript-eslint/no-duplicate-type-constituents": "off",
1103
- "@typescript-eslint/no-floating-promises": "off",
1104
- "@typescript-eslint/no-for-in-array": "off",
1105
- "@typescript-eslint/no-implied-eval": "off",
1106
- "@typescript-eslint/no-meaningless-void-operator": "off",
1107
- "@typescript-eslint/no-misused-promises": "off",
1108
- "@typescript-eslint/no-misused-spread": "off",
1109
- "@typescript-eslint/no-mixed-enums": "off",
1110
- "@typescript-eslint/no-redundant-type-constituents": "off",
1111
- "@typescript-eslint/no-unnecessary-boolean-literal-compare": "off",
1112
- "@typescript-eslint/no-unnecessary-condition": "off",
1113
- "@typescript-eslint/no-unnecessary-qualifier": "off",
1114
- "@typescript-eslint/no-unnecessary-template-expression": "error",
1115
- "@typescript-eslint/no-unnecessary-type-arguments": "off",
1116
- "@typescript-eslint/no-unnecessary-type-assertion": "off",
1117
- "@typescript-eslint/no-unnecessary-type-conversion": "off",
1118
- "@typescript-eslint/no-unnecessary-type-parameters": "error",
1119
- "@typescript-eslint/no-unsafe-argument": "off",
1120
- "@typescript-eslint/no-unsafe-assignment": "off",
1121
- "@typescript-eslint/no-unsafe-call": "off",
1122
- "@typescript-eslint/no-unsafe-enum-comparison": "off",
1123
- "@typescript-eslint/no-unsafe-member-access": "off",
1124
- "@typescript-eslint/no-unsafe-return": "off",
1125
- "@typescript-eslint/no-unsafe-type-assertion": "off",
1126
- "@typescript-eslint/no-unsafe-unary-minus": "off",
1127
- "@typescript-eslint/non-nullable-type-assertion-style": "off",
1128
- "@typescript-eslint/only-throw-error": "off",
1129
- "@typescript-eslint/prefer-destructuring": "off",
1130
- "@typescript-eslint/prefer-find": "off",
1131
- "@typescript-eslint/prefer-includes": "off",
1132
- "@typescript-eslint/prefer-nullish-coalescing": "off",
1133
- "@typescript-eslint/prefer-optional-chain": "off",
1134
- "@typescript-eslint/prefer-promise-reject-errors": "off",
1135
- "@typescript-eslint/prefer-readonly": "off",
1136
- "@typescript-eslint/prefer-readonly-parameter-types": "off",
1137
- "@typescript-eslint/prefer-reduce-type-parameter": "off",
1138
- "@typescript-eslint/prefer-regexp-exec": "off",
1139
- "@typescript-eslint/prefer-return-this-type": "off",
1140
- "@typescript-eslint/prefer-string-starts-ends-with": "off",
1141
- "@typescript-eslint/promise-function-async": "off",
1142
- "@typescript-eslint/related-getter-setter-pairs": "off",
1143
- "@typescript-eslint/require-array-sort-compare": "off",
1144
- "@typescript-eslint/require-await": "off",
1145
- "@typescript-eslint/restrict-plus-operands": "off",
1146
- "@typescript-eslint/restrict-template-expressions": "off",
1147
- "@typescript-eslint/return-await": "off",
1148
- "@typescript-eslint/strict-boolean-expressions": "off",
1149
- "@typescript-eslint/switch-exhaustiveness-check": "off",
1150
- "@typescript-eslint/unbound-method": "off",
1151
- "@typescript-eslint/use-unknown-in-catch-callback-variable": "off"
1152
- } : {},
1086
+ "@typescript-eslint/await-thenable": "off",
1087
+ "@typescript-eslint/consistent-return": "off",
1088
+ "@typescript-eslint/consistent-type-exports": "warn",
1089
+ "@typescript-eslint/dot-notation": "off",
1090
+ "@typescript-eslint/naming-convention": "off",
1091
+ "@typescript-eslint/no-array-delete": "off",
1092
+ "@typescript-eslint/no-base-to-string": "off",
1093
+ "@typescript-eslint/no-confusing-void-expression": "off",
1094
+ "@typescript-eslint/no-deprecated": "off",
1095
+ "@typescript-eslint/no-duplicate-type-constituents": "off",
1096
+ "@typescript-eslint/no-floating-promises": "off",
1097
+ "@typescript-eslint/no-for-in-array": "off",
1098
+ "@typescript-eslint/no-implied-eval": "off",
1099
+ "@typescript-eslint/no-meaningless-void-operator": "warn",
1100
+ "@typescript-eslint/no-misused-promises": "off",
1101
+ "@typescript-eslint/no-misused-spread": "off",
1102
+ "@typescript-eslint/no-mixed-enums": "off",
1103
+ "@typescript-eslint/no-redundant-type-constituents": "off",
1104
+ "@typescript-eslint/no-unnecessary-boolean-literal-compare": "off",
1105
+ "@typescript-eslint/no-unnecessary-condition": "off",
1106
+ "@typescript-eslint/no-unnecessary-qualifier": "off",
1107
+ "@typescript-eslint/no-unnecessary-template-expression": "error",
1108
+ "@typescript-eslint/no-unnecessary-type-arguments": "off",
1109
+ "@typescript-eslint/no-unnecessary-type-assertion": "off",
1110
+ "@typescript-eslint/no-unnecessary-type-conversion": "off",
1111
+ "@typescript-eslint/no-unnecessary-type-parameters": "error",
1112
+ "@typescript-eslint/no-unsafe-argument": "off",
1113
+ "@typescript-eslint/no-unsafe-assignment": "off",
1114
+ "@typescript-eslint/no-unsafe-call": "off",
1115
+ "@typescript-eslint/no-unsafe-enum-comparison": "off",
1116
+ "@typescript-eslint/no-unsafe-member-access": "off",
1117
+ "@typescript-eslint/no-unsafe-return": "off",
1118
+ "@typescript-eslint/no-unsafe-type-assertion": "off",
1119
+ "@typescript-eslint/no-unsafe-unary-minus": "off",
1120
+ "@typescript-eslint/no-useless-default-assignment": "off",
1121
+ "@typescript-eslint/non-nullable-type-assertion-style": "off",
1122
+ "@typescript-eslint/only-throw-error": "off",
1123
+ "@typescript-eslint/prefer-destructuring": "off",
1124
+ "@typescript-eslint/prefer-find": "off",
1125
+ "@typescript-eslint/prefer-includes": "off",
1126
+ "@typescript-eslint/prefer-nullish-coalescing": "off",
1127
+ "@typescript-eslint/prefer-optional-chain": "off",
1128
+ "@typescript-eslint/prefer-promise-reject-errors": "off",
1129
+ "@typescript-eslint/prefer-readonly": "off",
1130
+ "@typescript-eslint/prefer-readonly-parameter-types": "off",
1131
+ "@typescript-eslint/prefer-reduce-type-parameter": "off",
1132
+ "@typescript-eslint/prefer-regexp-exec": "off",
1133
+ "@typescript-eslint/prefer-return-this-type": "off",
1134
+ "@typescript-eslint/prefer-string-starts-ends-with": "off",
1135
+ "@typescript-eslint/promise-function-async": "off",
1136
+ "@typescript-eslint/related-getter-setter-pairs": "off",
1137
+ "@typescript-eslint/require-array-sort-compare": "off",
1138
+ "@typescript-eslint/require-await": "off",
1139
+ "@typescript-eslint/restrict-plus-operands": "off",
1140
+ "@typescript-eslint/restrict-template-expressions": "off",
1141
+ "@typescript-eslint/return-await": "off",
1142
+ "@typescript-eslint/strict-boolean-expressions": "off",
1143
+ "@typescript-eslint/strict-void-return": "off",
1144
+ "@typescript-eslint/switch-exhaustiveness-check": "off",
1145
+ "@typescript-eslint/unbound-method": "off",
1146
+ "@typescript-eslint/use-unknown-in-catch-callback-variable": "off",
1153
1147
  "class-methods-use-this": "off",
1154
1148
  "default-param-last": "off",
1155
1149
  "no-duplicate-imports": "off",
@@ -1159,6 +1153,7 @@ function typescript({ options: { typescript: rawOptions } }) {
1159
1153
  "no-restricted-imports": "off",
1160
1154
  "no-shadow": "off",
1161
1155
  "no-unused-expressions": "off",
1156
+ "no-unused-private-class-members": "off",
1162
1157
  "no-unused-vars": "off",
1163
1158
  "no-use-before-define": "off",
1164
1159
  "no-useless-constructor": "off",
@@ -1202,6 +1197,7 @@ function typescript({ options: { typescript: rawOptions } }) {
1202
1197
  "@typescript-eslint/no-unnecessary-type-constraint": "warn",
1203
1198
  "@typescript-eslint/no-unsafe-declaration-merging": "error",
1204
1199
  "@typescript-eslint/no-unused-expressions": ["error"],
1200
+ "@typescript-eslint/no-unused-private-class-members": "error",
1205
1201
  "@typescript-eslint/no-unused-vars": ["error", {
1206
1202
  argsIgnorePattern: "^_",
1207
1203
  varsIgnorePattern: "[iI]gnored"
@@ -1375,12 +1371,12 @@ function unicorn() {
1375
1371
  //#endregion
1376
1372
  //#region src/configs/vitest.ts
1377
1373
  async function vitest(_configContext) {
1378
- const pluginVitest = await interopDefault(import("@vitest/eslint-plugin"));
1379
1374
  return [{
1380
1375
  files: GLOB_TESTS,
1381
1376
  name: "will-stone/vitest",
1382
- plugins: { vitest: pluginVitest },
1377
+ plugins: { vitest: await interopDefault(import("@vitest/eslint-plugin")) },
1383
1378
  rules: {
1379
+ "vitest/consistent-each-for": "off",
1384
1380
  "vitest/consistent-test-filename": "warn",
1385
1381
  "vitest/consistent-test-it": "warn",
1386
1382
  "vitest/consistent-vitest-vi": "warn",
@@ -1408,6 +1404,7 @@ async function vitest(_configContext) {
1408
1404
  "vitest/no-standalone-expect": "warn",
1409
1405
  "vitest/no-test-prefixes": "warn",
1410
1406
  "vitest/no-test-return-statement": "warn",
1407
+ "vitest/no-unneeded-async-expect-function": "warn",
1411
1408
  "vitest/padding-around-after-all-blocks": "warn",
1412
1409
  "vitest/padding-around-after-each-blocks": "warn",
1413
1410
  "vitest/padding-around-all": "off",
@@ -1416,6 +1413,7 @@ async function vitest(_configContext) {
1416
1413
  "vitest/padding-around-describe-blocks": "warn",
1417
1414
  "vitest/padding-around-expect-groups": "off",
1418
1415
  "vitest/padding-around-test-blocks": "warn",
1416
+ "vitest/prefer-called-exactly-once-with": "warn",
1419
1417
  "vitest/prefer-called-once": "warn",
1420
1418
  "vitest/prefer-called-times": "off",
1421
1419
  "vitest/prefer-called-with": "warn",
@@ -1428,9 +1426,11 @@ async function vitest(_configContext) {
1428
1426
  "vitest/prefer-expect-type-of": "warn",
1429
1427
  "vitest/prefer-hooks-in-order": "warn",
1430
1428
  "vitest/prefer-hooks-on-top": "warn",
1429
+ "vitest/prefer-import-in-mock": "warn",
1431
1430
  "vitest/prefer-importing-vitest-globals": "warn",
1432
1431
  "vitest/prefer-lowercase-title": "warn",
1433
1432
  "vitest/prefer-mock-promise-shorthand": "warn",
1433
+ "vitest/prefer-mock-return-shorthand": "warn",
1434
1434
  "vitest/prefer-snapshot-hint": "warn",
1435
1435
  "vitest/prefer-spy-on": "warn",
1436
1436
  "vitest/prefer-strict-boolean-matchers": "warn",
@@ -1440,12 +1440,15 @@ async function vitest(_configContext) {
1440
1440
  "vitest/prefer-to-be-object": "warn",
1441
1441
  "vitest/prefer-to-be-truthy": "off",
1442
1442
  "vitest/prefer-to-contain": "warn",
1443
+ "vitest/prefer-to-have-been-called-times": "warn",
1443
1444
  "vitest/prefer-to-have-length": "warn",
1444
1445
  "vitest/prefer-todo": "warn",
1445
1446
  "vitest/prefer-vi-mocked": "warn",
1447
+ "vitest/require-awaited-expect-poll": "error",
1446
1448
  "vitest/require-hook": "warn",
1447
1449
  "vitest/require-local-test-context-for-concurrent-snapshots": "error",
1448
1450
  "vitest/require-mock-type-parameters": "warn",
1451
+ "vitest/require-test-timeout": "off",
1449
1452
  "vitest/require-to-throw-message": "warn",
1450
1453
  "vitest/require-top-level-describe": "off",
1451
1454
  "vitest/valid-describe-callback": "error",
@@ -1532,28 +1535,26 @@ const autoConfigs = [
1532
1535
  * devDependencies field.
1533
1536
  */
1534
1537
  function checkDepsExist(depNames) {
1535
- const depCount = depNames.length;
1536
1538
  const allPackageJsonPaths = globbySync(["**/package.json", "!**/node_modules/**"]);
1537
1539
  const hasPackageMap = {};
1540
+ const checkAllFound = () => Object.values(hasPackageMap).every(Boolean);
1538
1541
  for (const depName of depNames) hasPackageMap[depName] = false;
1539
- let foundCount = 0;
1540
1542
  for (const packageJsonPath of allPackageJsonPaths) {
1541
1543
  const buffer = readFileSync(packageJsonPath);
1542
1544
  const data = new TextDecoder().decode(buffer);
1543
1545
  const package_ = JSON.parse(data);
1544
1546
  for (const depName of depNames) if (package_ && (package_.dependencies?.[depName] || package_.devDependencies?.[depName])) {
1545
1547
  hasPackageMap[depName] = true;
1546
- foundCount = foundCount + 1;
1547
- if (foundCount === depCount) break;
1548
+ if (checkAllFound()) break;
1548
1549
  }
1549
- if (foundCount === depCount) break;
1550
+ if (checkAllFound()) break;
1550
1551
  }
1551
1552
  return hasPackageMap;
1552
1553
  }
1553
1554
 
1554
1555
  //#endregion
1555
1556
  //#region src/utils/log.ts
1556
- const log = debug("ws");
1557
+ const log = debug("eslint:ws");
1557
1558
 
1558
1559
  //#endregion
1559
1560
  //#region src/index.ts
@@ -1563,8 +1564,7 @@ const defaultOptions = {};
1563
1564
  */
1564
1565
  async function configImpl(options = defaultOptions) {
1565
1566
  const configs = [];
1566
- const autoConfigDeps = Object.values(autoConfigs).map(({ dep }) => dep);
1567
- const existingAutoConfigDeps = checkDepsExist(autoConfigDeps);
1567
+ const existingAutoConfigDeps = checkDepsExist(Object.values(autoConfigs).map(({ dep }) => dep));
1568
1568
  const enabledAutoConfigs = autoConfigs.filter(({ dep, optionName }) => {
1569
1569
  return options?.[optionName] || existingAutoConfigDeps[dep] && options?.[optionName] !== false;
1570
1570
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@will-stone/eslint-config",
3
- "version": "21.3.0",
3
+ "version": "22.0.0",
4
4
  "description": "Will Stone's ESLint config",
5
5
  "keywords": [
6
6
  "eslint-config"
@@ -30,47 +30,48 @@
30
30
  "typecheck": "tsc --noEmit"
31
31
  },
32
32
  "dependencies": {
33
- "@stylistic/eslint-plugin": "^5.4.0",
33
+ "@stylistic/eslint-plugin": "^5.7.1",
34
34
  "@types/confusing-browser-globals": "^1.0.3",
35
35
  "@types/debug": "^4.1.12",
36
- "@typescript-eslint/eslint-plugin": "^8.44.0",
37
- "@typescript-eslint/parser": "^8.44.0",
36
+ "@typescript-eslint/eslint-plugin": "^8.54.0",
37
+ "@typescript-eslint/parser": "^8.54.0",
38
38
  "confusing-browser-globals": "^1.0.11",
39
39
  "debug": "^4.4.3",
40
40
  "eslint-config-flat-gitignore": "^2.1.0",
41
41
  "eslint-plugin-jsdoc": "^59.1.0",
42
42
  "eslint-plugin-jsx-a11y": "^6.10.2",
43
- "eslint-plugin-n": "^17.23.1",
44
- "eslint-plugin-package-json": "^0.56.3",
45
- "eslint-plugin-perfectionist": "^4.15.0",
43
+ "eslint-plugin-n": "^17.23.2",
44
+ "eslint-plugin-package-json": "^0.56.4",
45
+ "eslint-plugin-perfectionist": "^4.15.1",
46
46
  "eslint-plugin-unicorn": "^61.0.2",
47
- "globals": "^16.4.0",
47
+ "globals": "^16.5.0",
48
48
  "globby": "^14.1.0",
49
- "type-fest": "^5.0.1",
50
- "typescript-eslint": "^8.44.0"
49
+ "type-fest": "^5.4.3",
50
+ "typescript-eslint": "^8.54.0"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@commits-with-character/conventional-changelog-preset": "^5.1.1",
54
- "@eslint/config-inspector": "^1.3.0",
55
- "@release-it/conventional-changelog": "^10.0.1",
56
- "@types/node": "^22.15.29",
57
- "@typescript-eslint/utils": "^8.44.0",
58
- "@vitest/eslint-plugin": "^1.3.12",
59
- "@will-stone/prettier-config": "^11.0.1",
54
+ "@eslint/config-inspector": "^1.4.2",
55
+ "@release-it/conventional-changelog": "^10.0.5",
56
+ "@types/node": "^22.19.9",
57
+ "@typescript-eslint/utils": "^8.54.0",
58
+ "@vitest/eslint-plugin": "^1.6.6",
59
+ "@will-stone/prettier-config": "^12.0.0",
60
60
  "astro-eslint-parser": "^1.2.2",
61
- "eslint": "^9.36.0",
62
- "eslint-plugin-astro": "^1.3.1",
61
+ "baseline-browser-mapping": "^2.9.19",
62
+ "eslint": "^9.39.2",
63
+ "eslint-plugin-astro": "^1.5.0",
63
64
  "eslint-plugin-react": "^7.37.5",
64
65
  "eslint-plugin-react-hooks": "^5.2.0",
65
66
  "eslint-plugin-tailwindcss": "^3.18.2",
66
67
  "husky": "^9.1.7",
67
- "jiti": "^2.5.1",
68
- "lint-staged": "^16.1.6",
69
- "memfs": "^4.42.0",
70
- "prettier": "^3.6.2",
71
- "release-it": "^19.0.5",
72
- "tsdown": "^0.15.3",
73
- "typescript": "^5.9.2",
68
+ "jiti": "^2.6.1",
69
+ "lint-staged": "^16.2.7",
70
+ "memfs": "^4.56.10",
71
+ "prettier": "^3.8.1",
72
+ "release-it": "^19.2.4",
73
+ "tsdown": "^0.15.12",
74
+ "typescript": "^5.9.3",
74
75
  "vitest": "^3.2.4"
75
76
  },
76
77
  "peerDependencies": {
@@ -102,7 +103,7 @@
102
103
  "optional": true
103
104
  }
104
105
  },
105
- "packageManager": "pnpm@10.17.0",
106
+ "packageManager": "pnpm@10.28.2",
106
107
  "engines": {
107
108
  "node": ">=22"
108
109
  },