@oxlint/migrate 1.61.0 → 1.63.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.
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { a as nurseryRules, i as buildUnsupportedRuleExplanations, n as preFixForJsPlugins, o as rules_exports, r as isOffValue, s as normalizeRuleToCanonical, t as main } from "../src-C6PykABn.mjs";
2
+ import { a as nurseryRules, i as buildUnsupportedRuleExplanations, n as preFixForJsPlugins, o as rules_exports, r as isOffValue, s as normalizeRuleToCanonical, t as main } from "../src-B_Nt7OeT.mjs";
3
3
  import { program } from "commander";
4
4
  import { existsSync, readFileSync, renameSync, writeFileSync } from "node:fs";
5
5
  import path from "node:path";
@@ -30,7 +30,7 @@ const loadESLintConfig = async (filePath) => {
30
30
  };
31
31
  //#endregion
32
32
  //#region package.json
33
- var version = "1.61.0";
33
+ var version = "1.63.0";
34
34
  //#endregion
35
35
  //#region src/walker/comments/replaceRuleDirectiveComment.ts
36
36
  const allRulesSet = new Set(Object.values(rules_exports).flat());
@@ -1,4 +1,4 @@
1
- //#region node_modules/.pnpm/oxlint@1.61.0_oxlint-tsgolint@0.19.0/node_modules/oxlint/dist/index.d.ts
1
+ //#region node_modules/.pnpm/oxlint@1.63.0_oxlint-tsgolint@0.22.1/node_modules/oxlint/dist/index.d.ts
2
2
  //#region src-js/package/config.generated.d.ts
3
3
  type AllowWarnDeny = ("allow" | "off" | "warn" | "error" | "deny") | number;
4
4
  type GlobalValue = "readonly" | "writable" | "off";
@@ -39,6 +39,7 @@ type LintPluginOptionsSchema = "eslint" | "react" | "unicorn" | "typescript" | "
39
39
  type LintPlugins = LintPluginOptionsSchema[];
40
40
  type DummyRule = AllowWarnDeny | [AllowWarnDeny, ...unknown[]];
41
41
  type OxlintOverrides = OxlintOverride[];
42
+ type JestVersionSchema = number | string;
42
43
  type TagNamePreference = string | {
43
44
  message: string;
44
45
  replacement: string;
@@ -197,6 +198,26 @@ interface Oxlintrc$1 {
197
198
  * }
198
199
  * ```
199
200
  *
201
+ * Basic usage with a TypeScript plugin and a local plugin path.
202
+ *
203
+ * TypeScript plugin files are supported in the following environments:
204
+ * - Deno and Bun: TypeScript files are supported natively.
205
+ * - Node.js >=22.18.0 and Node.js ^20.19.0: TypeScript files are supported natively with built-in
206
+ * type-stripping enabled by default.
207
+ *
208
+ * For older Node.js versions, TypeScript plugins are not supported. Please use JavaScript plugins or upgrade your Node version.
209
+ *
210
+ * ```json
211
+ * {
212
+ * "jsPlugins": [
213
+ * "./custom-plugin.ts"
214
+ * ],
215
+ * "rules": {
216
+ * "custom/rule-name": "warn"
217
+ * }
218
+ * }
219
+ * ```
220
+ *
200
221
  * Using a built-in Rust plugin alongside a JS plugin with the same name
201
222
  * by giving the JS plugin an alias.
202
223
  *
@@ -299,8 +320,50 @@ interface RuleCategories {
299
320
  * Predefine global variables.
300
321
  *
301
322
  * Environments specify what global variables are predefined.
302
- * See [ESLint's list of environments](https://eslint.org/docs/v8.x/use/configure/language-options#specifying-environments)
303
- * for what environments are available and what each one provides.
323
+ * Available environments:
324
+ * - amd - require() and define() globals.
325
+ * - applescript - AppleScript globals.
326
+ * - astro - Astro globals.
327
+ * - atomtest - Atom test globals.
328
+ * - audioworklet - AudioWorklet globals.
329
+ * - browser - browser globals.
330
+ * - builtin - Latest ECMAScript globals, equivalent to es2026.
331
+ * - commonjs - CommonJS globals and scoping.
332
+ * - embertest - Ember test globals.
333
+ * - es2015 - ECMAScript 2015 globals.
334
+ * - es2016 - ECMAScript 2016 globals.
335
+ * - es2017 - ECMAScript 2017 globals.
336
+ * - es2018 - ECMAScript 2018 globals.
337
+ * - es2019 - ECMAScript 2019 globals.
338
+ * - es2020 - ECMAScript 2020 globals.
339
+ * - es2021 - ECMAScript 2021 globals.
340
+ * - es2022 - ECMAScript 2022 globals.
341
+ * - es2023 - ECMAScript 2023 globals.
342
+ * - es2024 - ECMAScript 2024 globals.
343
+ * - es2025 - ECMAScript 2025 globals.
344
+ * - es2026 - ECMAScript 2026 globals.
345
+ * - es6 - ECMAScript 6 globals except modules.
346
+ * - greasemonkey - GreaseMonkey globals.
347
+ * - jasmine - Jasmine globals.
348
+ * - jest - Jest globals.
349
+ * - jquery - jQuery globals.
350
+ * - meteor - Meteor globals.
351
+ * - mocha - Mocha globals.
352
+ * - mongo - MongoDB globals.
353
+ * - nashorn - Java 8 Nashorn globals.
354
+ * - node - Node.js globals and scoping.
355
+ * - phantomjs - PhantomJS globals.
356
+ * - prototypejs - Prototype.js globals.
357
+ * - protractor - Protractor globals.
358
+ * - qunit - QUnit globals.
359
+ * - serviceworker - Service Worker globals.
360
+ * - shared-node-browser - Node.js and Browser common globals.
361
+ * - shelljs - ShellJS globals.
362
+ * - svelte - Svelte globals.
363
+ * - vitest - Vitest globals.
364
+ * - vue - Vue globals.
365
+ * - webextensions - WebExtensions globals.
366
+ * - worker - Web Workers globals.
304
367
  */
305
368
  interface OxlintEnv {
306
369
  [k: string]: boolean;
@@ -357,6 +420,14 @@ interface OxlintOptions {
357
420
  * Only supported in the root configuration file.
358
421
  */
359
422
  reportUnusedDisableDirectives?: AllowWarnDeny;
423
+ /**
424
+ * Whether oxlint should respect `eslint-disable*` and `eslint-enable*`
425
+ * directives in addition to its native `oxlint-*` directives.
426
+ *
427
+ * Defaults to `true`.
428
+ * Only supported in the root configuration file.
429
+ */
430
+ respectEslintDisableDirectives?: boolean;
360
431
  /**
361
432
  * Enable rules that require type information.
362
433
  *
@@ -442,6 +513,7 @@ interface DummyRuleMap {
442
513
  * ```
443
514
  */
444
515
  interface OxlintPluginSettings {
516
+ jest?: JestPluginSettings;
445
517
  jsdoc?: JSDocPluginSettings;
446
518
  "jsx-a11y"?: JSXA11YPluginSettings;
447
519
  next?: NextPluginSettings;
@@ -449,6 +521,23 @@ interface OxlintPluginSettings {
449
521
  vitest?: VitestPluginSettings;
450
522
  [k: string]: unknown;
451
523
  }
524
+ /**
525
+ * Configure Jest plugin rules.
526
+ *
527
+ * See [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest)'s
528
+ * configuration for a full reference.
529
+ */
530
+ interface JestPluginSettings {
531
+ /**
532
+ * Jest version — accepts a number (`29`) or a semver string (`"29.1.0"` or `"v29.1.0"`),
533
+ * storing only the major version.
534
+ * ::: warning
535
+ * Using this config will override the `no-deprecated-functions` config set.
536
+ * :::
537
+ */
538
+ version?: JestVersionSchema;
539
+ [k: string]: unknown;
540
+ }
452
541
  interface JSDocPluginSettings {
453
542
  /**
454
543
  * Only for `require-(yields|returns|description|example|param|throws)` rule
@@ -1,2 +1,2 @@
1
- import { t as main } from "../src-C6PykABn.mjs";
1
+ import { t as main } from "../src-B_Nt7OeT.mjs";
2
2
  export { main as default };
@@ -431,6 +431,7 @@ const pedanticRules = [
431
431
  "no-warning-comments",
432
432
  "radix",
433
433
  "require-await",
434
+ "require-unicode-regexp",
434
435
  "sort-vars",
435
436
  "symbol-description",
436
437
  "import/max-dependencies",
@@ -484,6 +485,7 @@ const pedanticRules = [
484
485
  "unicorn/no-immediate-mutation",
485
486
  "unicorn/no-instanceof-array",
486
487
  "unicorn/no-lonely-if",
488
+ "unicorn/no-negated-condition",
487
489
  "unicorn/no-negation-in-equality-check",
488
490
  "unicorn/no-new-buffer",
489
491
  "unicorn/no-object-as-default-parameter",
@@ -519,11 +521,10 @@ const pedanticRules = [
519
521
  "unicorn/prefer-top-level-await",
520
522
  "unicorn/prefer-type-error",
521
523
  "unicorn/require-number-to-fixed-digits-argument",
524
+ "vitest/no-conditional-in-test",
522
525
  "typescript/no-array-constructor",
523
526
  "typescript/no-loop-func",
524
- "unicorn/no-negated-condition",
525
- "typescript/no-redeclare",
526
- "vitest/no-conditional-in-test"
527
+ "typescript/no-redeclare"
527
528
  ];
528
529
  const styleRules = [
529
530
  "arrow-body-style",
@@ -531,12 +532,14 @@ const styleRules = [
531
532
  "curly",
532
533
  "default-case-last",
533
534
  "default-param-last",
535
+ "func-name-matching",
534
536
  "func-names",
535
537
  "func-style",
536
538
  "grouped-accessor-pairs",
537
539
  "guard-for-in",
538
540
  "id-length",
539
541
  "init-declarations",
542
+ "logical-assignment-operators",
540
543
  "max-params",
541
544
  "max-statements",
542
545
  "new-cap",
@@ -612,6 +615,7 @@ const styleRules = [
612
615
  "jest/prefer-each",
613
616
  "jest/prefer-ending-with-an-expect",
614
617
  "jest/prefer-equality-matcher",
618
+ "jest/prefer-expect-assertions",
615
619
  "jest/prefer-expect-resolves",
616
620
  "jest/prefer-hooks-in-order",
617
621
  "jest/prefer-hooks-on-top",
@@ -723,62 +727,63 @@ const styleRules = [
723
727
  "unicorn/text-encoding-identifier-case",
724
728
  "unicorn/throw-new-error",
725
729
  "vitest/consistent-test-filename",
726
- "vitest/consistent-vitest-vi",
727
- "vitest/no-import-node-test",
728
- "vitest/no-importing-vitest-globals",
729
- "vitest/prefer-called-exactly-once-with",
730
- "vitest/prefer-called-once",
731
- "vitest/prefer-called-times",
732
- "vitest/prefer-describe-function-title",
733
- "vitest/prefer-expect-type-of",
734
- "vitest/prefer-import-in-mock",
735
- "vitest/prefer-importing-vitest-globals",
736
- "vitest/prefer-strict-boolean-matchers",
737
- "vitest/prefer-to-be-falsy",
738
- "vitest/prefer-to-be-object",
739
- "vitest/prefer-to-be-truthy",
740
- "vue/define-emits-declaration",
741
- "vue/define-props-declaration",
742
- "vue/define-props-destructuring",
743
- "vue/require-typed-ref",
744
- "typescript/default-param-last",
745
- "typescript/init-declarations",
746
- "typescript/max-params",
747
- "typescript/no-magic-numbers",
748
730
  "vitest/consistent-test-it",
731
+ "vitest/consistent-vitest-vi",
749
732
  "vitest/max-expects",
750
733
  "vitest/max-nested-describe",
751
734
  "vitest/no-alias-methods",
752
735
  "vitest/no-duplicate-hooks",
753
736
  "vitest/no-hooks",
754
737
  "vitest/no-identical-title",
738
+ "vitest/no-import-node-test",
739
+ "vitest/no-importing-vitest-globals",
755
740
  "vitest/no-interpolation-in-snapshots",
756
741
  "vitest/no-large-snapshots",
757
742
  "vitest/no-mocks-import",
758
- "vitest/no-restricted-jest-methods",
759
743
  "vitest/no-restricted-matchers",
744
+ "vitest/no-restricted-vi-methods",
760
745
  "vitest/no-test-prefixes",
761
746
  "vitest/no-test-return-statement",
762
747
  "vitest/no-unneeded-async-expect-function",
748
+ "vitest/prefer-called-exactly-once-with",
749
+ "vitest/prefer-called-once",
750
+ "vitest/prefer-called-times",
763
751
  "vitest/prefer-called-with",
764
752
  "vitest/prefer-comparison-matcher",
753
+ "vitest/prefer-describe-function-title",
765
754
  "vitest/prefer-each",
766
755
  "vitest/prefer-equality-matcher",
756
+ "vitest/prefer-expect-assertions",
767
757
  "vitest/prefer-expect-resolves",
758
+ "vitest/prefer-expect-type-of",
768
759
  "vitest/prefer-hooks-in-order",
769
760
  "vitest/prefer-hooks-on-top",
761
+ "vitest/prefer-import-in-mock",
762
+ "vitest/prefer-importing-vitest-globals",
770
763
  "vitest/prefer-lowercase-title",
771
764
  "vitest/prefer-mock-promise-shorthand",
772
765
  "vitest/prefer-mock-return-shorthand",
773
766
  "vitest/prefer-spy-on",
767
+ "vitest/prefer-strict-boolean-matchers",
774
768
  "vitest/prefer-strict-equal",
775
769
  "vitest/prefer-to-be",
770
+ "vitest/prefer-to-be-falsy",
771
+ "vitest/prefer-to-be-object",
772
+ "vitest/prefer-to-be-truthy",
776
773
  "vitest/prefer-to-contain",
777
774
  "vitest/prefer-to-have-been-called-times",
778
775
  "vitest/prefer-to-have-length",
779
776
  "vitest/prefer-todo",
780
777
  "vitest/require-hook",
781
- "vitest/require-top-level-describe"
778
+ "vitest/require-top-level-describe",
779
+ "vue/define-emits-declaration",
780
+ "vue/define-props-declaration",
781
+ "vue/define-props-destructuring",
782
+ "vue/require-typed-ref",
783
+ "typescript/default-param-last",
784
+ "typescript/init-declarations",
785
+ "typescript/max-params",
786
+ "typescript/no-magic-numbers"
782
787
  ];
783
788
  const suspiciousRules = [
784
789
  "block-scoped-var",
@@ -786,6 +791,7 @@ const suspiciousRules = [
786
791
  "no-extra-bind",
787
792
  "no-new",
788
793
  "no-shadow",
794
+ "no-underscore-dangle",
789
795
  "no-unexpected-multiline",
790
796
  "no-unmodified-loop-condition",
791
797
  "no-unneeded-ternary",
@@ -828,11 +834,11 @@ const suspiciousRules = [
828
834
  "unicorn/prefer-add-event-listener",
829
835
  "unicorn/require-module-specifiers",
830
836
  "unicorn/require-post-message-target-origin",
837
+ "vitest/no-commented-out-tests",
831
838
  "vue/no-required-prop-with-default",
832
839
  "vue/require-default-export",
833
840
  "typescript/no-shadow",
834
- "typescript/no-useless-constructor",
835
- "vitest/no-commented-out-tests"
841
+ "typescript/no-useless-constructor"
836
842
  ];
837
843
  const restrictionRules = [
838
844
  "class-methods-use-this",
@@ -851,6 +857,7 @@ const restrictionRules = [
851
857
  "no-regex-spaces",
852
858
  "no-restricted-globals",
853
859
  "no-restricted-imports",
860
+ "no-restricted-properties",
854
861
  "no-sequences",
855
862
  "no-undefined",
856
863
  "no-use-before-define",
@@ -876,6 +883,7 @@ const restrictionRules = [
876
883
  "promise/catch-or-return",
877
884
  "promise/spec-only",
878
885
  "react/button-has-type",
886
+ "react/forbid-component-props",
879
887
  "react/forbid-dom-props",
880
888
  "react/forbid-elements",
881
889
  "react/jsx-filename-extension",
@@ -929,6 +937,7 @@ const restrictionRules = [
929
937
  const correctnessRules = [
930
938
  "constructor-super",
931
939
  "for-direction",
940
+ "getter-return",
932
941
  "no-async-promise-executor",
933
942
  "no-caller",
934
943
  "no-class-assign",
@@ -967,6 +976,7 @@ const correctnessRules = [
967
976
  "no-sparse-arrays",
968
977
  "no-this-before-super",
969
978
  "no-unassigned-vars",
979
+ "no-unreachable",
970
980
  "no-unsafe-finally",
971
981
  "no-unsafe-negation",
972
982
  "no-unsafe-optional-chaining",
@@ -1019,6 +1029,7 @@ const correctnessRules = [
1019
1029
  "jsx-a11y/html-has-lang",
1020
1030
  "jsx-a11y/iframe-has-title",
1021
1031
  "jsx-a11y/img-redundant-alt",
1032
+ "jsx-a11y/interactive-supports-focus",
1022
1033
  "jsx-a11y/label-has-associated-control",
1023
1034
  "jsx-a11y/lang",
1024
1035
  "jsx-a11y/media-has-caption",
@@ -1068,6 +1079,7 @@ const correctnessRules = [
1068
1079
  "react/no-children-prop",
1069
1080
  "react/no-danger-with-children",
1070
1081
  "react/no-did-mount-set-state",
1082
+ "react/no-did-update-set-state",
1071
1083
  "react/no-direct-mutation-state",
1072
1084
  "react/no-find-dom-node",
1073
1085
  "react/no-is-mounted",
@@ -1118,49 +1130,41 @@ const correctnessRules = [
1118
1130
  "unicorn/prefer-set-size",
1119
1131
  "unicorn/prefer-string-starts-ends-with",
1120
1132
  "vitest/consistent-each-for",
1133
+ "vitest/expect-expect",
1121
1134
  "vitest/hoisted-apis-on-top",
1135
+ "vitest/no-conditional-expect",
1122
1136
  "vitest/no-conditional-tests",
1137
+ "vitest/no-disabled-tests",
1138
+ "vitest/no-focused-tests",
1139
+ "vitest/no-standalone-expect",
1140
+ "vitest/prefer-snapshot-hint",
1123
1141
  "vitest/require-awaited-expect-poll",
1124
1142
  "vitest/require-local-test-context-for-concurrent-snapshots",
1125
1143
  "vitest/require-mock-type-parameters",
1144
+ "vitest/require-to-throw-message",
1145
+ "vitest/valid-describe-callback",
1146
+ "vitest/valid-expect",
1147
+ "vitest/valid-expect-in-promise",
1148
+ "vitest/valid-title",
1126
1149
  "vitest/warn-todo",
1127
1150
  "vue/no-arrow-functions-in-watch",
1151
+ "vue/no-deprecated-data-object-declaration",
1152
+ "vue/no-deprecated-delete-set",
1128
1153
  "vue/no-deprecated-destroyed-lifecycle",
1154
+ "vue/no-deprecated-events-api",
1155
+ "vue/no-deprecated-model-definition",
1156
+ "vue/no-deprecated-vue-config-keycodes",
1129
1157
  "vue/no-export-in-script-setup",
1130
1158
  "vue/no-lifecycle-after-await",
1131
1159
  "vue/no-this-in-before-route-enter",
1132
1160
  "vue/prefer-import-from-vue",
1161
+ "vue/return-in-computed-property",
1133
1162
  "vue/valid-define-emits",
1134
1163
  "vue/valid-define-props",
1135
1164
  "typescript/no-dupe-class-members",
1136
1165
  "typescript/no-loss-of-precision",
1137
1166
  "typescript/no-unused-expressions",
1138
- "typescript/no-unused-vars",
1139
- "vitest/expect-expect",
1140
- "vitest/no-conditional-expect",
1141
- "vitest/no-disabled-tests",
1142
- "vitest/no-focused-tests",
1143
- "vitest/no-standalone-expect",
1144
- "vitest/prefer-snapshot-hint",
1145
- "vitest/require-to-throw-message",
1146
- "vitest/valid-describe-callback",
1147
- "vitest/valid-expect",
1148
- "vitest/valid-expect-in-promise",
1149
- "vitest/valid-title"
1150
- ];
1151
- const nurseryRules = [
1152
- "getter-return",
1153
- "no-restricted-exports",
1154
- "no-undef",
1155
- "no-unreachable",
1156
- "no-useless-assignment",
1157
- "import/export",
1158
- "import/named",
1159
- "promise/no-return-in-finally",
1160
- "react/require-render-return",
1161
- "typescript/no-unnecessary-condition",
1162
- "typescript/prefer-optional-chain",
1163
- "unicorn/no-useless-iterator-to-array"
1167
+ "typescript/no-unused-vars"
1164
1168
  ];
1165
1169
  const perfRules = [
1166
1170
  "no-await-in-loop",
@@ -1175,6 +1179,18 @@ const perfRules = [
1175
1179
  "unicorn/prefer-array-flat-map",
1176
1180
  "unicorn/prefer-set-has"
1177
1181
  ];
1182
+ const nurseryRules = [
1183
+ "no-restricted-exports",
1184
+ "no-undef",
1185
+ "no-useless-assignment",
1186
+ "import/export",
1187
+ "import/named",
1188
+ "promise/no-return-in-finally",
1189
+ "react/require-render-return",
1190
+ "typescript/no-unnecessary-condition",
1191
+ "typescript/prefer-optional-chain",
1192
+ "unicorn/no-useless-iterator-to-array"
1193
+ ];
1178
1194
  const typeAwareRules = [
1179
1195
  "typescript/await-thenable",
1180
1196
  "typescript/consistent-return",
@@ -1358,6 +1374,7 @@ var unsupportedRules = {
1358
1374
  "react/static-property-placement": "This rule only applies to legacy class components, which are not widely used in modern React.",
1359
1375
  "react/require-optimization": "This rule only applies to legacy class components, which are not widely used in modern React.",
1360
1376
  "react/prefer-read-only-props": "This rule is niche and primarily applies to legacy class components, which are not widely used in modern React.",
1377
+ "react/prop-types": "PropTypes are ignored in React 19, and TypeScript + the `no-unsafe-xxx` rules already catches unsafe props in most cases.",
1361
1378
  "typescript/sort-type-constituents": "Deprecated, replaced by `perfectionist/sort-intersection-types` and `perfectionist/sort-union-types` rules.",
1362
1379
  "typescript/no-type-alias": "Deprecated, replaced by `typescript-eslint/consistent-type-definitions` rule.",
1363
1380
  "typescript/typedef": "Deprecated.",
@@ -1736,11 +1753,11 @@ const transformRuleEntry = (eslintConfig, targetConfig, baseConfig, options, ove
1736
1753
  const canonicalRule = normalizeRuleToCanonical(rule);
1737
1754
  if (allRules.includes(canonicalRule)) {
1738
1755
  if (!options?.withNursery && nurseryRules.includes(canonicalRule)) {
1739
- options?.reporter?.markSkipped(rule, "nursery");
1756
+ if (!isOffValue(normalizedConfig)) options?.reporter?.markSkipped(rule, "nursery");
1740
1757
  continue;
1741
1758
  }
1742
1759
  if (!options?.typeAware && typeAwareRules.includes(canonicalRule)) {
1743
- options?.reporter?.markSkipped(rule, "type-aware");
1760
+ if (!isOffValue(normalizedConfig)) options?.reporter?.markSkipped(rule, "type-aware");
1744
1761
  continue;
1745
1762
  }
1746
1763
  if (options?.merge) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxlint/migrate",
3
- "version": "1.61.0",
3
+ "version": "1.63.0",
4
4
  "description": "Generates a `.oxlintrc.json` from a existing eslint flat config",
5
5
  "keywords": [
6
6
  "eslint",
@@ -29,9 +29,8 @@
29
29
  "scripts": {
30
30
  "prepare": "husky",
31
31
  "generate": "node --import @oxc-node/core/register ./scripts/generate.ts",
32
- "generate:vitest": "node --import @oxc-node/core/register ./scripts/generate-vitest-rules.ts",
33
32
  "generate:unsupported": "node --import @oxc-node/core/register ./scripts/fetch-unsupported-rules.ts",
34
- "generate:all": "pnpm generate:vitest && pnpm generate && pnpm generate:unsupported && pnpm format",
33
+ "generate:all": "pnpm generate && pnpm generate:unsupported && pnpm format",
35
34
  "format": "oxfmt",
36
35
  "lint": "oxlint",
37
36
  "test": "vitest",
@@ -41,13 +40,13 @@
41
40
  "dependencies": {
42
41
  "commander": "^14.0.0",
43
42
  "globals": "^17.0.0",
44
- "oxc-parser": "^0.123.0",
43
+ "oxc-parser": "^0.128.0",
45
44
  "tinyglobby": "^0.2.14"
46
45
  },
47
46
  "devDependencies": {
48
47
  "@antfu/eslint-config": "^8.0.0",
49
48
  "@babel/eslint-plugin": "^7.27.1",
50
- "@e18e/eslint-plugin": "^0.3.0",
49
+ "@e18e/eslint-plugin": "^0.4.0",
51
50
  "@eslint-react/eslint-plugin": "^4.0.0",
52
51
  "@eslint/js": "^10.0.0",
53
52
  "@logux/eslint-config": "^57.0.0",
@@ -84,9 +83,9 @@
84
83
  "husky": "^9.1.7",
85
84
  "lint-staged": "^16.1.2",
86
85
  "next": "^16.0.0",
87
- "oxfmt": "^0.43.0",
88
- "oxlint": "^1.61.0",
89
- "oxlint-tsgolint": "^0.19.0",
86
+ "oxfmt": "^0.47.0",
87
+ "oxlint": "^1.63.0",
88
+ "oxlint-tsgolint": "^0.22.0",
90
89
  "tsdown": "^0.21.0",
91
90
  "typescript": "^6.0.0",
92
91
  "typescript-eslint": "^8.35.0",
@@ -95,5 +94,5 @@
95
94
  "lint-staged": {
96
95
  "*": "oxfmt --no-error-on-unmatched-pattern"
97
96
  },
98
- "packageManager": "pnpm@10.33.0"
97
+ "packageManager": "pnpm@10.33.2"
99
98
  }