@kitschpatrol/eslint-config 5.4.4 → 5.6.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
@@ -21,6 +21,8 @@ var GLOB_JSONC = "**/*.jsonc";
21
21
  var GLOB_MARKDOWN = "**/*.md";
22
22
  var GLOB_MDX = "**/*.mdx";
23
23
  var GLOB_SVELTE = "**/*.svelte";
24
+ var GLOB_SVELTE_TS = "**/*.svelte.ts";
25
+ var GLOB_SVELTE_JS = "**/*.svelte.js";
24
26
  var GLOB_YAML = "**/*.y?(a)ml";
25
27
  var GLOB_TOML = "**/*.toml";
26
28
  var GLOB_XML = "**/*.xml";
@@ -47,6 +49,8 @@ var GLOB_ALL_SRC = [
47
49
  GLOB_MARKDOWN,
48
50
  GLOB_MDX,
49
51
  GLOB_SVELTE,
52
+ GLOB_SVELTE_JS,
53
+ GLOB_SVELTE_TS,
50
54
  GLOB_YAML,
51
55
  GLOB_XML,
52
56
  GLOB_HTML
@@ -358,6 +362,7 @@ var eslintTypescriptStrictTypeCheckedRules = {
358
362
  "ts/no-unnecessary-type-arguments": "error",
359
363
  "ts/no-unnecessary-type-assertion": "error",
360
364
  "ts/no-unnecessary-type-constraint": "error",
365
+ "ts/no-unnecessary-type-conversion": "error",
361
366
  "ts/no-unnecessary-type-parameters": "error",
362
367
  "ts/no-unsafe-argument": "error",
363
368
  "ts/no-unsafe-assignment": "error",
@@ -408,7 +413,7 @@ var eslintTypescriptStrictTypeCheckedRules = {
408
413
  allowRegExp: false
409
414
  }
410
415
  ],
411
- "no-return-await": "off",
416
+ // "no-return-await":"off",
412
417
  "ts/return-await": ["error", "error-handling-correctness-only"],
413
418
  "ts/triple-slash-reference": "error",
414
419
  "ts/unbound-method": "error",
@@ -767,6 +772,7 @@ var jsonPrettierRules = {
767
772
  var jsonPackageRecommendedRules = {
768
773
  // Begin expansion 'eslint-plugin-package-json' 'configs.recommended.rules'
769
774
  "json-package/no-empty-fields": "error",
775
+ "json-package/no-redundant-files": "error",
770
776
  "json-package/order-properties": "error",
771
777
  "json-package/require-description": "error",
772
778
  "json-package/require-name": "error",
@@ -775,9 +781,47 @@ var jsonPackageRecommendedRules = {
775
781
  "json-package/repository-shorthand": "error",
776
782
  "json-package/sort-collections": "error",
777
783
  "json-package/unique-dependencies": "error",
778
- "json-package/valid-local-dependency": "error",
784
+ "json-package/valid-author": "error",
785
+ "json-package/valid-bundleDependencies": "error",
786
+ "json-package/valid-config": "error",
787
+ "json-package/valid-cpu": "error",
788
+ "json-package/valid-dependencies": "error",
789
+ "json-package/valid-description": "error",
790
+ "json-package/valid-devDependencies": "error",
791
+ "json-package/valid-directories": "error",
792
+ "json-package/valid-exports": "error",
793
+ "json-package/valid-license": "error",
794
+ "json-package/valid-optionalDependencies": "error",
795
+ "json-package/valid-peerDependencies": "error",
796
+ "json-package/valid-scripts": "error",
797
+ "json-package/valid-type": "error",
798
+ "json-package/valid-bin": "error",
779
799
  "json-package/valid-name": "error",
780
- "json-package/valid-package-definition": "error",
800
+ "json-package/valid-package-definition": [
801
+ "error",
802
+ {
803
+ ignoreProperties: [
804
+ "author",
805
+ "bundleDependencies",
806
+ "config",
807
+ "cpu",
808
+ "dependencies",
809
+ "description",
810
+ "devDependencies",
811
+ "directories",
812
+ "exports",
813
+ "license",
814
+ "optionalDependencies",
815
+ "peerDependencies",
816
+ "scripts",
817
+ "type",
818
+ "bin",
819
+ "name",
820
+ "repository-directory",
821
+ "version"
822
+ ]
823
+ }
824
+ ],
781
825
  "json-package/valid-repository-directory": "error",
782
826
  "json-package/valid-version": "error"
783
827
  // End expansion
@@ -889,9 +933,9 @@ var jsxA11yRecommendedRules = {
889
933
  var nodeRecommendedRules = {
890
934
  // Begin expansion 'eslint-plugin-n' 'flat/recommended'
891
935
  "node/no-deprecated-api": "error",
936
+ "node/no-exports-assign": "error",
892
937
  "node/no-extraneous-import": "error",
893
938
  "node/no-extraneous-require": "error",
894
- "node/no-exports-assign": "error",
895
939
  "node/no-missing-import": "error",
896
940
  "node/no-missing-require": "error",
897
941
  "node/no-process-exit": "error",
@@ -1480,6 +1524,7 @@ var svelteRecommendedRules = {
1480
1524
  "svelte/no-unused-svelte-ignore": "error",
1481
1525
  "svelte/no-useless-children-snippet": "error",
1482
1526
  "svelte/no-useless-mustaches": "error",
1527
+ "svelte/prefer-svelte-reactivity": "error",
1483
1528
  "svelte/prefer-writable-derived": "error",
1484
1529
  "svelte/require-each-key": "error",
1485
1530
  "svelte/require-event-dispatcher-types": "error",
@@ -1543,6 +1588,7 @@ var unicornRecommendedRules = {
1543
1588
  "unicorn/no-array-for-each": "error",
1544
1589
  "unicorn/no-array-method-this-argument": "error",
1545
1590
  "unicorn/no-array-reduce": "error",
1591
+ "unicorn/no-array-reverse": "error",
1546
1592
  "unicorn/no-await-expression-member": "error",
1547
1593
  "unicorn/no-await-in-promise-methods": "error",
1548
1594
  "unicorn/no-console-spaces": "error",
@@ -1578,6 +1624,7 @@ var unicornRecommendedRules = {
1578
1624
  "unicorn/no-unreadable-array-destructuring": "error",
1579
1625
  "unicorn/no-unreadable-iife": "error",
1580
1626
  "unicorn/no-unused-properties": "off",
1627
+ "unicorn/no-useless-error-capture-stack-trace": "error",
1581
1628
  "unicorn/no-useless-fallback-in-spread": "error",
1582
1629
  "unicorn/no-useless-length-check": "error",
1583
1630
  "unicorn/no-useless-promise-resolve-reject": "error",
@@ -1589,12 +1636,13 @@ var unicornRecommendedRules = {
1589
1636
  "unicorn/numeric-separators-style": "error",
1590
1637
  "unicorn/prefer-add-event-listener": "error",
1591
1638
  "unicorn/prefer-array-find": "error",
1592
- "unicorn/prefer-array-flat-map": "error",
1593
1639
  "unicorn/prefer-array-flat": "error",
1640
+ "unicorn/prefer-array-flat-map": "error",
1594
1641
  "unicorn/prefer-array-index-of": "error",
1595
1642
  "unicorn/prefer-array-some": "error",
1596
1643
  "unicorn/prefer-at": "error",
1597
1644
  "unicorn/prefer-blob-reading-methods": "error",
1645
+ "unicorn/prefer-class-fields": "error",
1598
1646
  "unicorn/prefer-code-point": "error",
1599
1647
  "unicorn/prefer-date-now": "error",
1600
1648
  "unicorn/prefer-default-parameters": "error",
@@ -1642,6 +1690,7 @@ var unicornRecommendedRules = {
1642
1690
  "unicorn/prevent-abbreviations": "error",
1643
1691
  "unicorn/relative-url-style": "error",
1644
1692
  "unicorn/require-array-join-separator": "error",
1693
+ "unicorn/require-module-specifiers": "error",
1645
1694
  "unicorn/require-number-to-fixed-digits-argument": "error",
1646
1695
  "unicorn/require-post-message-target-origin": "off",
1647
1696
  "unicorn/string-content": "off",
@@ -1694,6 +1743,7 @@ var xoJavascriptRules = {
1694
1743
  "no-unsafe-finally": "error",
1695
1744
  "no-unsafe-negation": ["error", { enforceForOrderingRelations: true }],
1696
1745
  "no-unsafe-optional-chaining": ["error", { disallowArithmeticOperators: true }],
1746
+ "no-unused-private-class-members": "error",
1697
1747
  "no-useless-backreference": "error",
1698
1748
  "use-isnan": "error",
1699
1749
  "valid-typeof": ["error", { requireStringLiterals: false }],
@@ -1743,7 +1793,7 @@ var xoJavascriptRules = {
1743
1793
  "no-proto": "error",
1744
1794
  "no-redeclare": "error",
1745
1795
  "no-return-assign": ["error", "always"],
1746
- "no-return-await": "error",
1796
+ // "no-return-await":"error",
1747
1797
  "no-script-url": "error",
1748
1798
  "no-self-assign": ["error", { props: true }],
1749
1799
  "no-self-compare": "error",
@@ -1769,14 +1819,19 @@ var xoJavascriptRules = {
1769
1819
  "no-label-var": "error",
1770
1820
  "no-restricted-globals": [
1771
1821
  "error",
1772
- "event",
1773
- {
1774
- name: "atob",
1775
- message: "This API is deprecated. Use https://github.com/sindresorhus/uint8array-extras instead."
1776
- },
1777
1822
  {
1778
- name: "btoa",
1779
- message: "This API is deprecated. Use https://github.com/sindresorhus/uint8array-extras instead."
1823
+ globals: [
1824
+ "event",
1825
+ {
1826
+ name: "atob",
1827
+ message: "This API is deprecated. Use https://github.com/sindresorhus/uint8array-extras instead."
1828
+ },
1829
+ {
1830
+ name: "btoa",
1831
+ message: "This API is deprecated. Use https://github.com/sindresorhus/uint8array-extras instead."
1832
+ }
1833
+ ],
1834
+ checkGlobalObject: true
1780
1835
  }
1781
1836
  ],
1782
1837
  "no-shadow-restricted-names": "error",
@@ -1794,7 +1849,7 @@ var xoJavascriptRules = {
1794
1849
  caughtErrorsIgnorePattern: "^_$"
1795
1850
  }
1796
1851
  ],
1797
- "no-buffer-constructor": "error",
1852
+ // "no-buffer-constructor":"error",
1798
1853
  "no-restricted-imports": [
1799
1854
  "error",
1800
1855
  "domain",
@@ -1814,7 +1869,7 @@ var xoJavascriptRules = {
1814
1869
  "error",
1815
1870
  "always",
1816
1871
  {
1817
- ignorePattern: String.raw`pragma|ignore|prettier-ignore|biome-ignore|webpack\w+:|c8|v8|type-coverage:`,
1872
+ ignorePattern: String.raw`pragma|ignore|prettier-ignore|biome-ignore|codespell:ignore|webpack\w+:|c8|v8|type-coverage:`,
1818
1873
  ignoreInlineComments: true,
1819
1874
  ignoreConsecutiveComments: true
1820
1875
  }
@@ -1891,6 +1946,7 @@ var xoJavascriptRules = {
1891
1946
  "no-dupe-class-members": "error",
1892
1947
  "no-new-native-nonconstructor": "error",
1893
1948
  "no-this-before-super": "error",
1949
+ "no-unassigned-vars": "error",
1894
1950
  "no-useless-computed-key": ["error", { enforceForClassMembers: true }],
1895
1951
  "no-useless-constructor": "error",
1896
1952
  "no-useless-rename": "error",
@@ -1973,7 +2029,7 @@ var xoTypescriptRules = {
1973
2029
  "ts/consistent-type-exports": ["error", { fixMixedExportsWithInlineTypeSpecifier: true }],
1974
2030
  "ts/consistent-type-imports": ["error", { fixStyle: "inline-type-imports" }],
1975
2031
  "func-call-spacing": "off",
1976
- // "@stylistic/func-call-spacing":["error","never"],
2032
+ // "@stylistic/function-call-spacing":["error","never"],
1977
2033
  indent: "off",
1978
2034
  // "@stylistic/indent":["error","tab",{"SwitchCase":1}],
1979
2035
  "keyword-spacing": "off",
@@ -2079,7 +2135,7 @@ var xoTypescriptRules = {
2079
2135
  "ts/no-dynamic-delete": "error",
2080
2136
  "no-empty-function": "off",
2081
2137
  "ts/no-empty-function": "error",
2082
- "ts/no-empty-interface": ["error", { allowSingleExtends: true }],
2138
+ // "ts/no-empty-interface":["error",{"allowSingleExtends":true}],
2083
2139
  "ts/no-empty-object-type": "error",
2084
2140
  "ts/no-extra-non-null-assertion": "error",
2085
2141
  "no-extra-parens": "off",
@@ -2124,7 +2180,6 @@ var xoTypescriptRules = {
2124
2180
  "ts/only-throw-error": ["error", { allowThrowingUnknown: true, allowThrowingAny: false }],
2125
2181
  "ts/no-unnecessary-boolean-literal-compare": "error",
2126
2182
  "no-constant-condition": "error",
2127
- "ts/no-unnecessary-parameter-property-assignment": "error",
2128
2183
  "ts/no-unnecessary-qualifier": "error",
2129
2184
  "ts/no-unnecessary-type-arguments": "error",
2130
2185
  "ts/no-unnecessary-type-assertion": "error",
@@ -2150,7 +2205,6 @@ var xoTypescriptRules = {
2150
2205
  // "@stylistic/padding-line-between-statements":["error",{"blankLine":"always","prev":"multiline-block-like","next":"*"}],
2151
2206
  "ts/no-wrapper-object-types": "error",
2152
2207
  "ts/non-nullable-type-assertion-style": "error",
2153
- "ts/parameter-properties": ["error", { prefer: "parameter-property" }],
2154
2208
  "ts/prefer-as-const": "error",
2155
2209
  "ts/prefer-find": "error",
2156
2210
  "ts/prefer-for-of": "error",
@@ -2447,6 +2501,14 @@ var sharedScriptConfig = {
2447
2501
  }
2448
2502
  ],
2449
2503
  "max-params": ["warn", { max: 8 }],
2504
+ "new-cap": [
2505
+ "error",
2506
+ {
2507
+ capIsNew: true,
2508
+ capIsNewExceptionPattern: String.raw`^Intl\..`,
2509
+ newIsCap: true
2510
+ }
2511
+ ],
2450
2512
  "no-await-in-loop": "off",
2451
2513
  // TSConfig must have allowUnreachableCode: false, this is preferable because it will flag but not spontaneously delete unreachable code
2452
2514
  "no-unreachable": "warn",
@@ -2463,6 +2525,8 @@ var sharedScriptConfig = {
2463
2525
  "perfectionist/sort-imports": [
2464
2526
  "error",
2465
2527
  {
2528
+ // Also treat $ prefix as internal
2529
+ internalPattern: ["^~/.+", "^@/.+", String.raw`^\$.+`],
2466
2530
  newlinesBetween: "never",
2467
2531
  partitionByComment: {
2468
2532
  block: false,
@@ -2496,6 +2560,9 @@ var sharedScriptConfig = {
2496
2560
  generatePerfectionistSortConfig(["Red", "Green", "Blue", "Alpha"], "trailing"),
2497
2561
  generatePerfectionistSortConfig(["x", "y", "z", "w"]),
2498
2562
  generatePerfectionistSortConfig(["X", "Y", "Z", "W"], "trailing"),
2563
+ generatePerfectionistSortConfig(["open", "close"]),
2564
+ generatePerfectionistSortConfig(["open", "close"], "leading"),
2565
+ generatePerfectionistSortConfig(["Open", "Close"], "trailing"),
2499
2566
  generatePerfectionistSortConfig(["start", "end"]),
2500
2567
  generatePerfectionistSortConfig(["start", "end"], "leading"),
2501
2568
  generatePerfectionistSortConfig(["Start", "End"], "trailing"),
@@ -2547,8 +2614,11 @@ var sharedScriptConfig = {
2547
2614
  },
2548
2615
  {
2549
2616
  format: ["UPPER_CASE", "camelCase"],
2550
- modifiers: ["const", "exported"],
2551
- // Allow UPPER_CASE const exports
2617
+ modifiers: [
2618
+ "const"
2619
+ // 'exported'
2620
+ ],
2621
+ // Allow UPPER_CASE constants, even if not exported
2552
2622
  selector: "variable"
2553
2623
  // Not objects...
2554
2624
  // types: ['boolean', 'string', 'number', 'array'],
@@ -2877,7 +2947,8 @@ var htmlRecommendedRules = {
2877
2947
  "html/no-obsolete-tags": "error",
2878
2948
  "html/require-closing-tags": "error",
2879
2949
  "html/no-duplicate-attrs": "error",
2880
- "html/use-baseline": "error"
2950
+ "html/use-baseline": "error",
2951
+ "html/no-duplicate-in-head": "error"
2881
2952
  // End expansion
2882
2953
  };
2883
2954
 
@@ -3761,9 +3832,11 @@ async function react(options = {}) {
3761
3832
  }
3762
3833
 
3763
3834
  // src/configs/svelte.ts
3835
+ import path2 from "path";
3836
+ import process4 from "process";
3764
3837
  async function svelte(options = {}) {
3765
3838
  const { overrides = {} } = options;
3766
- const files = [GLOB_SVELTE];
3839
+ const files = [GLOB_SVELTE, GLOB_SVELTE_JS, GLOB_SVELTE_TS];
3767
3840
  const [pluginSvelte, parserSvelte] = await Promise.all([
3768
3841
  interopDefault(import("eslint-plugin-svelte")),
3769
3842
  interopDefault(import("svelte-eslint-parser"))
@@ -3783,13 +3856,17 @@ async function svelte(options = {}) {
3783
3856
  parser: parserSvelte,
3784
3857
  parserOptions: {
3785
3858
  extraFileExtensions: [".svelte"],
3786
- parser: tsParser
3859
+ parser: tsParser,
3787
3860
  // TODO js version?
3861
+ project: path2.join(process4.cwd(), "tsconfig.json"),
3862
+ // Not sure why this isn't inherited
3863
+ svelteConfig: path2.join(process4.cwd(), "svelte.config.js")
3788
3864
  }
3789
3865
  },
3790
3866
  name: "kp/svelte/rules",
3791
3867
  processor: pluginSvelte.processors[".svelte"],
3792
3868
  rules: {
3869
+ ...sharedScriptConfig.rules,
3793
3870
  ...svelteRecommendedRules,
3794
3871
  "import/no-mutable-exports": "off",
3795
3872
  // Allow prop export
@@ -3838,6 +3915,20 @@ async function svelte(options = {}) {
3838
3915
  "html/no-non-scalable-viewport": "off",
3839
3916
  "html/require-title": "off"
3840
3917
  }
3918
+ },
3919
+ {
3920
+ // Special case for \.svelte\.[jt]s$ files.
3921
+ files: [GLOB_SVELTE_JS, GLOB_SVELTE_TS],
3922
+ rules: {
3923
+ "unicorn/filename-case": [
3924
+ "error",
3925
+ {
3926
+ cases: {
3927
+ camelCase: true
3928
+ }
3929
+ }
3930
+ ]
3931
+ }
3841
3932
  }
3842
3933
  ];
3843
3934
  }
@@ -4046,6 +4137,8 @@ export {
4046
4137
  GLOB_SRC_EXT,
4047
4138
  GLOB_STYLE,
4048
4139
  GLOB_SVELTE,
4140
+ GLOB_SVELTE_JS,
4141
+ GLOB_SVELTE_TS,
4049
4142
  GLOB_SVG,
4050
4143
  GLOB_TESTS,
4051
4144
  GLOB_TOML,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kitschpatrol/eslint-config",
3
- "version": "5.4.4",
3
+ "version": "5.6.0",
4
4
  "description": "ESLint configuration for @kitschpatrol/shared-config.",
5
5
  "keywords": [
6
6
  "shared-config",
@@ -42,45 +42,45 @@
42
42
  ],
43
43
  "dependencies": {
44
44
  "@eslint-community/eslint-plugin-eslint-comments": "^4.5.0",
45
- "@eslint-react/eslint-plugin": "^1.51.2",
46
- "@html-eslint/eslint-plugin": "^0.41.0",
47
- "@html-eslint/parser": "^0.41.0",
45
+ "@eslint-react/eslint-plugin": "^1.52.9",
46
+ "@html-eslint/eslint-plugin": "^0.46.1",
47
+ "@html-eslint/parser": "^0.46.0",
48
48
  "@pinojs/json-colorizer": "^4.0.0",
49
- "@typescript-eslint/eslint-plugin": "^8.33.1",
50
- "@typescript-eslint/parser": "^8.33.1",
51
- "@vitest/eslint-plugin": "^1.2.1",
49
+ "@typescript-eslint/eslint-plugin": "^8.41.0",
50
+ "@typescript-eslint/parser": "^8.41.0",
51
+ "@vitest/eslint-plugin": "^1.3.5",
52
52
  "astro-eslint-parser": "^1.2.2",
53
- "eslint": "^9.28.0",
53
+ "eslint": "^9.34.0",
54
54
  "eslint-config-flat-gitignore": "^2.1.0",
55
- "eslint-flat-config-utils": "^2.1.0",
56
- "eslint-import-resolver-typescript": "^4.4.3",
57
- "eslint-mdx": "^3.4.2",
55
+ "eslint-flat-config-utils": "^2.1.1",
56
+ "eslint-import-resolver-typescript": "^4.4.4",
57
+ "eslint-mdx": "^3.6.2",
58
58
  "eslint-plugin-astro": "^1.3.1",
59
59
  "eslint-plugin-depend": "^1.2.0",
60
60
  "eslint-plugin-html": "^8.1.3",
61
- "eslint-plugin-import-x": "^4.15.1",
62
- "eslint-plugin-jsdoc": "^50.7.1",
61
+ "eslint-plugin-import-x": "^4.16.1",
62
+ "eslint-plugin-jsdoc": "^54.1.1",
63
63
  "eslint-plugin-jsonc": "^2.20.1",
64
64
  "eslint-plugin-jsx-a11y": "^6.10.2",
65
- "eslint-plugin-mdx": "^3.4.2",
66
- "eslint-plugin-n": "^17.19.0",
65
+ "eslint-plugin-mdx": "^3.6.2",
66
+ "eslint-plugin-n": "^17.21.3",
67
67
  "eslint-plugin-no-only-tests": "^3.3.0",
68
- "eslint-plugin-package-json": "^0.33.2",
69
- "eslint-plugin-perfectionist": "^4.14.0",
70
- "eslint-plugin-regexp": "^2.9.0",
71
- "eslint-plugin-svelte": "^3.9.1",
68
+ "eslint-plugin-package-json": "^0.56.1",
69
+ "eslint-plugin-perfectionist": "^4.15.0",
70
+ "eslint-plugin-regexp": "^2.10.0",
71
+ "eslint-plugin-svelte": "^3.11.0",
72
72
  "eslint-plugin-toml": "^0.12.0",
73
- "eslint-plugin-unicorn": "^59.0.1",
73
+ "eslint-plugin-unicorn": "^60.0.0",
74
74
  "eslint-plugin-yml": "^1.18.0",
75
75
  "execa": "^9.6.0",
76
76
  "find-workspaces": "^0.3.1",
77
- "fs-extra": "^11.3.0",
78
- "globals": "^16.2.0",
77
+ "fs-extra": "^11.3.1",
78
+ "globals": "^16.3.0",
79
79
  "jsonc-eslint-parser": "^2.4.0",
80
- "local-pkg": "^1.1.1",
81
- "prettier": "^3.5.3",
82
- "sort-package-json": "^3.2.1",
83
- "svelte-eslint-parser": "^1.2.0",
80
+ "local-pkg": "^1.1.2",
81
+ "prettier": "^3.6.2",
82
+ "sort-package-json": "^3.4.0",
83
+ "svelte-eslint-parser": "^1.3.1",
84
84
  "toml-eslint-parser": "^0.10.0",
85
85
  "yaml-eslint-parser": "^1.3.0"
86
86
  },
@@ -88,15 +88,15 @@
88
88
  "@types/eslint-config-prettier": "^6.11.3",
89
89
  "@types/eslint-plugin-jsx-a11y": "^6.10.0",
90
90
  "dot-prop": "^9.0.0",
91
- "eslint-config-prettier": "^10.1.5",
92
- "eslint-config-xo-typescript": "^8.0.1",
93
- "eslint-typegen": "^2.2.0",
91
+ "eslint-config-prettier": "^10.1.8",
92
+ "eslint-config-xo-typescript": "^9.0.0",
93
+ "eslint-typegen": "^2.3.0",
94
94
  "globby": "^14.1.0",
95
- "svelte": "^5.33.18",
95
+ "svelte": "^5.38.6",
96
96
  "tsup": "^8.5.0"
97
97
  },
98
98
  "engines": {
99
- "node": ">=20.9.0"
99
+ "node": ">=20.19.0"
100
100
  },
101
101
  "publishConfig": {
102
102
  "access": "public"