@oxlint/migrate 1.78.0 → 1.79.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
|
@@ -73,7 +73,7 @@ Not all `settings` options are supported by oxlint, and so rule behavior in cert
|
|
|
73
73
|
|
|
74
74
|
**Local ESLint Plugins imported via path are not migrated**
|
|
75
75
|
|
|
76
|
-
JS plugin migration cannot migrate ESLint plugins from file paths in the same repo currently (e.g. if you have `../eslint-plugin-myplugin` in your `eslint.config.mjs`). You will need to copy them over into the `jsPlugins` manually. See [the JS Plugins docs]() for more info.
|
|
76
|
+
JS plugin migration cannot migrate ESLint plugins from file paths in the same repo currently (e.g. if you have `../eslint-plugin-myplugin` in your `eslint.config.mjs`). You will need to copy them over into the `jsPlugins` manually. See [the JS Plugins docs](<>) for more info.
|
|
77
77
|
|
|
78
78
|
**`globals` field with large number of values**
|
|
79
79
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export {}
|
|
@@ -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-
|
|
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-NHsLuNLs.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.
|
|
33
|
+
var version = "1.79.0";
|
|
34
34
|
//#endregion
|
|
35
35
|
//#region src/walker/comments/replaceRuleDirectiveComment.ts
|
|
36
36
|
const allRulesSet = new Set(Object.values(rules_exports).flat());
|
|
@@ -114,11 +114,13 @@ function extractScriptBlocks(sourceText, offset, maxBlocks, parseLangAttribute)
|
|
|
114
114
|
if (c === inQuote) inQuote = null;
|
|
115
115
|
} else if (c === "\"" || c === "'") inQuote = c;
|
|
116
116
|
else if (c === "<") genericDepth++;
|
|
117
|
-
else if (c === ">")
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
117
|
+
else if (c === ">") {
|
|
118
|
+
if (genericDepth > 0) genericDepth--;
|
|
119
|
+
else {
|
|
120
|
+
if (i > idx && sourceText[i - 1] === "/") selfClosing = true;
|
|
121
|
+
i++;
|
|
122
|
+
break;
|
|
123
|
+
}
|
|
122
124
|
}
|
|
123
125
|
i++;
|
|
124
126
|
}
|
package/dist/src/index.d.mts
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
/**
|
|
11
11
|
* What to enforce for `/// <reference types="..." />` references.
|
|
12
12
|
*/
|
|
13
|
-
//#region node_modules/.pnpm/oxlint@1.
|
|
13
|
+
//#region node_modules/.pnpm/oxlint@1.79.0_oxlint-tsgolint@0.25.0/node_modules/oxlint/dist/index.d.ts
|
|
14
14
|
//#region src-js/package/config.generated.d.ts
|
|
15
15
|
type AllowWarnDeny = ("allow" | "off" | "warn" | "error" | "deny") | number;
|
|
16
16
|
type GlobalValue = ("readonly" | "writable" | "off") | undefined;
|
|
@@ -863,7 +863,7 @@ interface DummyRuleMap {
|
|
|
863
863
|
"getter-return"?: RuleNoConfig | [AllowWarnDeny, GetterReturn];
|
|
864
864
|
"grouped-accessor-pairs"?: RuleNoConfig | [AllowWarnDeny, PairOrder] | [AllowWarnDeny, PairOrder, GroupedAccessorPairsConfig];
|
|
865
865
|
"guard-for-in"?: RuleNoConfig;
|
|
866
|
-
"id-denylist"?: RuleNoConfig | [AllowWarnDeny,
|
|
866
|
+
"id-denylist"?: RuleNoConfig | [AllowWarnDeny, ...string[]];
|
|
867
867
|
"id-length"?: RuleNoConfig | [AllowWarnDeny, IdLengthConfig];
|
|
868
868
|
"id-match"?: RuleNoConfig | [AllowWarnDeny, string] | [AllowWarnDeny, string, IdMatchOptions];
|
|
869
869
|
"import/consistent-type-specifier-style"?: RuleNoConfig | [AllowWarnDeny, Mode];
|
|
@@ -1126,9 +1126,9 @@ interface DummyRuleMap {
|
|
|
1126
1126
|
"no-redeclare"?: RuleNoConfig | [AllowWarnDeny, NoRedeclare];
|
|
1127
1127
|
"no-regex-spaces"?: RuleNoConfig;
|
|
1128
1128
|
"no-restricted-exports"?: RuleNoConfig | [AllowWarnDeny, NoRestrictedExportsConfig];
|
|
1129
|
-
"no-restricted-globals"?: RuleNoConfig | [AllowWarnDeny,
|
|
1130
|
-
"no-restricted-imports"?: RuleNoConfig | [AllowWarnDeny,
|
|
1131
|
-
"no-restricted-properties"?: RuleNoConfig | [AllowWarnDeny,
|
|
1129
|
+
"no-restricted-globals"?: RuleNoConfig | [AllowWarnDeny, ...NoRestrictedGlobalsConfigEnum[]];
|
|
1130
|
+
"no-restricted-imports"?: RuleNoConfig | [AllowWarnDeny, ...NoRestrictedImportsConfigEnum[]];
|
|
1131
|
+
"no-restricted-properties"?: RuleNoConfig | [AllowWarnDeny, ...PropertyDetails[]];
|
|
1132
1132
|
"no-return-assign"?: RuleNoConfig | [AllowWarnDeny, NoReturnAssignMode];
|
|
1133
1133
|
"no-script-url"?: RuleNoConfig;
|
|
1134
1134
|
"no-self-assign"?: RuleNoConfig | [AllowWarnDeny, NoSelfAssign];
|
|
@@ -1250,16 +1250,24 @@ interface DummyRuleMap {
|
|
|
1250
1250
|
"react-perf/jsx-no-new-function-as-prop"?: RuleNoConfig | [AllowWarnDeny, ReactPerfConfig];
|
|
1251
1251
|
"react-perf/jsx-no-new-object-as-prop"?: RuleNoConfig | [AllowWarnDeny, ReactPerfConfig];
|
|
1252
1252
|
"react/button-has-type"?: RuleNoConfig | [AllowWarnDeny, ButtonHasType];
|
|
1253
|
+
"react/capitalized-calls"?: RuleNoConfig;
|
|
1253
1254
|
"react/checked-requires-onchange-or-readonly"?: RuleNoConfig | [AllowWarnDeny, CheckedRequiresOnchangeOrReadonly];
|
|
1254
1255
|
"react/display-name"?: RuleNoConfig | [AllowWarnDeny, DisplayNameConfig];
|
|
1256
|
+
"react/error-boundaries"?: RuleNoConfig;
|
|
1255
1257
|
"react/exhaustive-deps"?: RuleNoConfig | [AllowWarnDeny, ExhaustiveDepsConfig];
|
|
1258
|
+
"react/exhaustive-effect-dependencies"?: RuleNoConfig;
|
|
1256
1259
|
"react/forbid-component-props"?: RuleNoConfig | [AllowWarnDeny, ForbidComponentPropsConfig];
|
|
1257
1260
|
"react/forbid-dom-props"?: RuleNoConfig | [AllowWarnDeny, ForbidDomPropsConfig];
|
|
1258
1261
|
"react/forbid-elements"?: RuleNoConfig | [AllowWarnDeny, ForbidElementsConfig];
|
|
1259
1262
|
"react/forward-ref-uses-ref"?: RuleNoConfig;
|
|
1260
1263
|
"react/function-component-definition"?: RuleNoConfig | [AllowWarnDeny, FunctionComponentDefinitionConfig];
|
|
1264
|
+
"react/globals"?: RuleNoConfig;
|
|
1261
1265
|
"react/hook-use-state"?: RuleNoConfig | [AllowWarnDeny, HookUseStateConfig];
|
|
1266
|
+
"react/hooks"?: RuleNoConfig;
|
|
1262
1267
|
"react/iframe-missing-sandbox"?: RuleNoConfig;
|
|
1268
|
+
"react/immutability"?: RuleNoConfig;
|
|
1269
|
+
"react/incompatible-library"?: RuleNoConfig;
|
|
1270
|
+
"react/invariant"?: RuleNoConfig;
|
|
1263
1271
|
"react/jsx-boolean-value"?: RuleNoConfig | [AllowWarnDeny, EnforceBooleanAttribute] | [AllowWarnDeny, EnforceBooleanAttribute, JsxBooleanValueOptions];
|
|
1264
1272
|
"react/jsx-curly-brace-presence"?: RuleNoConfig | [AllowWarnDeny, JsxCurlyBracePresenceConfig];
|
|
1265
1273
|
"react/jsx-filename-extension"?: RuleNoConfig | [AllowWarnDeny, JsxFilenameExtensionConfig];
|
|
@@ -1278,11 +1286,13 @@ interface DummyRuleMap {
|
|
|
1278
1286
|
"react/jsx-pascal-case"?: RuleNoConfig | [AllowWarnDeny, JsxPascalCaseConfig];
|
|
1279
1287
|
"react/jsx-props-no-spread-multi"?: RuleNoConfig;
|
|
1280
1288
|
"react/jsx-props-no-spreading"?: RuleNoConfig | [AllowWarnDeny, JsxPropsNoSpreadingConfig];
|
|
1289
|
+
"react/memo-dependencies"?: RuleNoConfig;
|
|
1281
1290
|
"react/no-array-index-key"?: RuleNoConfig;
|
|
1282
1291
|
"react/no-children-prop"?: RuleNoConfig;
|
|
1283
1292
|
"react/no-clone-element"?: RuleNoConfig;
|
|
1284
1293
|
"react/no-danger"?: RuleNoConfig;
|
|
1285
1294
|
"react/no-danger-with-children"?: RuleNoConfig;
|
|
1295
|
+
"react/no-deriving-state-in-effects"?: RuleNoConfig;
|
|
1286
1296
|
"react/no-did-mount-set-state"?: RuleNoConfig | [AllowWarnDeny, AllowedOrDisallowInFunc];
|
|
1287
1297
|
"react/no-did-update-set-state"?: RuleNoConfig | [AllowWarnDeny, AllowedOrDisallowInFunc];
|
|
1288
1298
|
"react/no-direct-mutation-state"?: RuleNoConfig;
|
|
@@ -1305,14 +1315,25 @@ interface DummyRuleMap {
|
|
|
1305
1315
|
"react/only-export-components"?: RuleNoConfig | [AllowWarnDeny, OnlyExportComponentsConfig];
|
|
1306
1316
|
"react/prefer-es6-class"?: RuleNoConfig | [AllowWarnDeny, AlwaysNever];
|
|
1307
1317
|
"react/prefer-function-component"?: RuleNoConfig | [AllowWarnDeny, PreferFunctionComponent];
|
|
1308
|
-
"react/
|
|
1318
|
+
"react/preserve-manual-memoization"?: RuleNoConfig;
|
|
1319
|
+
"react/purity"?: RuleNoConfig;
|
|
1309
1320
|
"react/react-in-jsx-scope"?: RuleNoConfig;
|
|
1321
|
+
"react/refs"?: RuleNoConfig;
|
|
1310
1322
|
"react/require-render-return"?: RuleNoConfig;
|
|
1323
|
+
"react/rule-suppression"?: RuleNoConfig;
|
|
1311
1324
|
"react/rules-of-hooks"?: RuleNoConfig;
|
|
1312
1325
|
"react/self-closing-comp"?: RuleNoConfig | [AllowWarnDeny, SelfClosingComp];
|
|
1326
|
+
"react/set-state-in-effect"?: RuleNoConfig;
|
|
1327
|
+
"react/set-state-in-render"?: RuleNoConfig;
|
|
1313
1328
|
"react/state-in-constructor"?: RuleNoConfig | [AllowWarnDeny, AlwaysNever];
|
|
1329
|
+
"react/static-components"?: RuleNoConfig;
|
|
1314
1330
|
"react/style-prop-object"?: RuleNoConfig | [AllowWarnDeny, StylePropObjectConfig];
|
|
1331
|
+
"react/syntax"?: RuleNoConfig;
|
|
1332
|
+
"react/todo"?: RuleNoConfig;
|
|
1333
|
+
"react/unsupported-syntax"?: RuleNoConfig;
|
|
1334
|
+
"react/use-memo"?: RuleNoConfig;
|
|
1315
1335
|
"react/void-dom-elements-no-children"?: RuleNoConfig;
|
|
1336
|
+
"react/void-use-memo"?: RuleNoConfig;
|
|
1316
1337
|
"require-await"?: RuleNoConfig;
|
|
1317
1338
|
"require-unicode-regexp"?: RuleNoConfig | [AllowWarnDeny, RequireUnicodeRegexpConfig];
|
|
1318
1339
|
"require-yield"?: RuleNoConfig;
|
|
@@ -2290,7 +2311,8 @@ interface NoHooksConfig {
|
|
|
2290
2311
|
interface NoLargeSnapshotsConfig {
|
|
2291
2312
|
/**
|
|
2292
2313
|
* A map of snapshot file paths to arrays of snapshot names that are allowed to exceed the size limit.
|
|
2293
|
-
*
|
|
2314
|
+
* Each snapshot name is interpreted as a Rust regular expression. If it is not a valid regular
|
|
2315
|
+
* expression, it is matched as an exact literal string instead.
|
|
2294
2316
|
*/
|
|
2295
2317
|
allowedSnapshots?: {
|
|
2296
2318
|
[k: string]: string[] | undefined;
|
|
@@ -3766,10 +3788,10 @@ interface NoUnusedVarsOptions {
|
|
|
3766
3788
|
* Specifies exceptions to this rule for unused arguments. Arguments whose
|
|
3767
3789
|
* names match this pattern will be ignored.
|
|
3768
3790
|
*
|
|
3769
|
-
* By default,
|
|
3770
|
-
*
|
|
3771
|
-
* behavior deviates from both ESLint and
|
|
3772
|
-
* provide a default pattern.
|
|
3791
|
+
* By default, names starting with `_` are ignored, except for the bare `_`
|
|
3792
|
+
* parameter. If options are configured with an object, this will default
|
|
3793
|
+
* to [`None`]. Note that this behavior deviates from both ESLint and
|
|
3794
|
+
* TypeScript-ESLint, which never provide a default pattern.
|
|
3773
3795
|
*
|
|
3774
3796
|
* #### Example
|
|
3775
3797
|
*
|
|
@@ -5021,15 +5043,6 @@ interface PreferFunctionComponent {
|
|
|
5021
5043
|
*/
|
|
5022
5044
|
allowJsxUtilityClass?: boolean;
|
|
5023
5045
|
}
|
|
5024
|
-
interface ReactCompilerConfig {
|
|
5025
|
-
/**
|
|
5026
|
-
* Also report compiler bail-outs — places where React Compiler skipped a
|
|
5027
|
-
* component or hook (for example because of unsupported syntax) without
|
|
5028
|
-
* finding a rule violation. These do not indicate incorrect code, only
|
|
5029
|
-
* code that the compiler declined to optimize.
|
|
5030
|
-
*/
|
|
5031
|
-
reportAllBailouts?: boolean;
|
|
5032
|
-
}
|
|
5033
5046
|
interface SelfClosingComp {
|
|
5034
5047
|
/**
|
|
5035
5048
|
* Whether to enforce self-closing for custom components.
|
package/dist/src/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as main } from "../src-
|
|
1
|
+
import { t as main } from "../src-NHsLuNLs.mjs";
|
|
2
2
|
export { main as default };
|
|
@@ -846,9 +846,13 @@ const suspiciousRules = [
|
|
|
846
846
|
"promise/always-return",
|
|
847
847
|
"promise/no-multiple-resolved",
|
|
848
848
|
"promise/no-promise-in-callback",
|
|
849
|
+
"react/capitalized-calls",
|
|
850
|
+
"react/exhaustive-effect-dependencies",
|
|
851
|
+
"react/hooks",
|
|
849
852
|
"react/iframe-missing-sandbox",
|
|
850
853
|
"react/jsx-no-comment-textnodes",
|
|
851
854
|
"react/jsx-no-script-url",
|
|
855
|
+
"react/memo-dependencies",
|
|
852
856
|
"react/no-namespace",
|
|
853
857
|
"react/no-unstable-nested-components",
|
|
854
858
|
"react/react-in-jsx-scope",
|
|
@@ -929,6 +933,7 @@ const restrictionRules = [
|
|
|
929
933
|
"react/forbid-component-props",
|
|
930
934
|
"react/forbid-dom-props",
|
|
931
935
|
"react/forbid-elements",
|
|
936
|
+
"react/invariant",
|
|
932
937
|
"react/jsx-filename-extension",
|
|
933
938
|
"react/jsx-no-literals",
|
|
934
939
|
"react/no-clone-element",
|
|
@@ -938,6 +943,10 @@ const restrictionRules = [
|
|
|
938
943
|
"react/no-unknown-property",
|
|
939
944
|
"react/only-export-components",
|
|
940
945
|
"react/prefer-function-component",
|
|
946
|
+
"react/rule-suppression",
|
|
947
|
+
"react/syntax",
|
|
948
|
+
"react/todo",
|
|
949
|
+
"react/unsupported-syntax",
|
|
941
950
|
"typescript/explicit-function-return-type",
|
|
942
951
|
"typescript/explicit-member-accessibility",
|
|
943
952
|
"typescript/explicit-module-boundary-types",
|
|
@@ -1119,8 +1128,12 @@ const correctnessRules = [
|
|
|
1119
1128
|
"promise/no-callback-in-promise",
|
|
1120
1129
|
"promise/no-new-statics",
|
|
1121
1130
|
"promise/valid-params",
|
|
1131
|
+
"react/error-boundaries",
|
|
1122
1132
|
"react/exhaustive-deps",
|
|
1123
1133
|
"react/forward-ref-uses-ref",
|
|
1134
|
+
"react/globals",
|
|
1135
|
+
"react/immutability",
|
|
1136
|
+
"react/incompatible-library",
|
|
1124
1137
|
"react/jsx-key",
|
|
1125
1138
|
"react/jsx-no-duplicate-props",
|
|
1126
1139
|
"react/jsx-no-undef",
|
|
@@ -1137,7 +1150,15 @@ const correctnessRules = [
|
|
|
1137
1150
|
"react/no-this-in-sfc",
|
|
1138
1151
|
"react/no-unsafe",
|
|
1139
1152
|
"react/no-will-update-set-state",
|
|
1153
|
+
"react/preserve-manual-memoization",
|
|
1154
|
+
"react/purity",
|
|
1155
|
+
"react/refs",
|
|
1156
|
+
"react/set-state-in-effect",
|
|
1157
|
+
"react/set-state-in-render",
|
|
1158
|
+
"react/static-components",
|
|
1159
|
+
"react/use-memo",
|
|
1140
1160
|
"react/void-dom-elements-no-children",
|
|
1161
|
+
"react/void-use-memo",
|
|
1141
1162
|
"typescript/await-thenable",
|
|
1142
1163
|
"typescript/no-array-delete",
|
|
1143
1164
|
"typescript/no-base-to-string",
|
|
@@ -1236,6 +1257,7 @@ const perfRules = [
|
|
|
1236
1257
|
"no-useless-call",
|
|
1237
1258
|
"react/jsx-no-constructed-context-values",
|
|
1238
1259
|
"react/no-array-index-key",
|
|
1260
|
+
"react/no-deriving-state-in-effects",
|
|
1239
1261
|
"react/no-object-type-as-default-prop",
|
|
1240
1262
|
"react-perf/jsx-no-jsx-as-prop",
|
|
1241
1263
|
"react-perf/jsx-no-new-array-as-prop",
|
|
@@ -1253,7 +1275,6 @@ const nurseryRules = [
|
|
|
1253
1275
|
"import/export",
|
|
1254
1276
|
"import/named",
|
|
1255
1277
|
"promise/no-return-in-finally",
|
|
1256
|
-
"react/react-compiler",
|
|
1257
1278
|
"react/require-render-return",
|
|
1258
1279
|
"typescript/no-unnecessary-condition",
|
|
1259
1280
|
"typescript/prefer-optional-chain",
|
|
@@ -1440,35 +1461,13 @@ var unsupportedRules = {
|
|
|
1440
1461
|
"react/jsx-sort-props": "Stylistic rule from eslint-plugin-react. Should use Oxfmt for stylistic rules, or use JS Plugins to enable this rule.",
|
|
1441
1462
|
"react/no-adjacent-inline-elements": "Stylistic rule from eslint-plugin-react. Should use Oxfmt for stylistic rules, or use JS Plugins to enable this rule.",
|
|
1442
1463
|
"react/no-deprecated": "No need to implement, already implemented by `typescript/no-deprecated` via tsgolint.",
|
|
1443
|
-
"react/config": "
|
|
1444
|
-
"react/
|
|
1445
|
-
"react/component-hook-factories": "
|
|
1446
|
-
"react/
|
|
1447
|
-
"react/
|
|
1448
|
-
"react/
|
|
1449
|
-
"react/
|
|
1450
|
-
"react/purity": "React Compiler rules are implemented experimentally as `react/react-compiler`. We will split them into separate rules once they stabilize.",
|
|
1451
|
-
"react/refs": "React Compiler rules are implemented experimentally as `react/react-compiler`. We will split them into separate rules once they stabilize.",
|
|
1452
|
-
"react/set-state-in-effect": "React Compiler rules are implemented experimentally as `react/react-compiler`. We will split them into separate rules once they stabilize.",
|
|
1453
|
-
"react/set-state-in-render": "React Compiler rules are implemented experimentally as `react/react-compiler`. We will split them into separate rules once they stabilize.",
|
|
1454
|
-
"react/static-components": "React Compiler rules are implemented experimentally as `react/react-compiler`. We will split them into separate rules once they stabilize.",
|
|
1455
|
-
"react/unsupported-syntax": "React Compiler rules are implemented experimentally as `react/react-compiler`. We will split them into separate rules once they stabilize.",
|
|
1456
|
-
"react/use-memo": "React Compiler rules are implemented experimentally as `react/react-compiler`. We will split them into separate rules once they stabilize.",
|
|
1457
|
-
"react/incompatible-library": "React Compiler rules are implemented experimentally as `react/react-compiler`. We will split them into separate rules once they stabilize.",
|
|
1458
|
-
"react/automatic-effect-dependencies": "React Compiler rules are implemented experimentally as `react/react-compiler`. We will split them into separate rules once they stabilize.",
|
|
1459
|
-
"react/memo-dependencies": "React Compiler rules are implemented experimentally as `react/react-compiler`. We will split them into separate rules once they stabilize.",
|
|
1460
|
-
"react/exhaustive-effect-dependencies": "React Compiler rules are implemented experimentally as `react/react-compiler`. We will split them into separate rules once they stabilize.",
|
|
1461
|
-
"react/capitalized-calls": "React Compiler rules are implemented experimentally as `react/react-compiler`. We will split them into separate rules once they stabilize.",
|
|
1462
|
-
"react/fbt": "React Compiler rules are implemented experimentally as `react/react-compiler`. We will split them into separate rules once they stabilize.",
|
|
1463
|
-
"react/fire": "React Compiler rules are implemented experimentally as `react/react-compiler`. We will split them into separate rules once they stabilize.",
|
|
1464
|
-
"react/invariant": "React Compiler rules are implemented experimentally as `react/react-compiler`. We will split them into separate rules once they stabilize.",
|
|
1465
|
-
"react/hooks": "React Compiler rules are implemented experimentally as `react/react-compiler`. We will split them into separate rules once they stabilize.",
|
|
1466
|
-
"react/memoized-effect-dependencies": "React Compiler rules are implemented experimentally as `react/react-compiler`. We will split them into separate rules once they stabilize.",
|
|
1467
|
-
"react/no-deriving-state-in-effects": "React Compiler rules are implemented experimentally as `react/react-compiler`. We will split them into separate rules once they stabilize.",
|
|
1468
|
-
"react/rule-suppression": "React Compiler rules are implemented experimentally as `react/react-compiler`. We will split them into separate rules once they stabilize.",
|
|
1469
|
-
"react/syntax": "React Compiler rules are implemented experimentally as `react/react-compiler`. We will split them into separate rules once they stabilize.",
|
|
1470
|
-
"react/todo": "React Compiler rules are implemented experimentally as `react/react-compiler`. We will split them into separate rules once they stabilize.",
|
|
1471
|
-
"react/void-use-memo": "React Compiler rules are implemented experimentally as `react/react-compiler`. We will split them into separate rules once they stabilize.",
|
|
1464
|
+
"react/config": "Oxlint uses fixed, valid React Compiler options; add this rule when compiler options become configurable.",
|
|
1465
|
+
"react/gating": "Oxlint does not expose React Compiler gating options; add this rule when compiler options become configurable.",
|
|
1466
|
+
"react/component-hook-factories": "Deprecated upstream in eslint-plugin-react-hooks 7.1; its checks were folded into `react/static-components`.",
|
|
1467
|
+
"react/automatic-effect-dependencies": "Removed upstream before eslint-plugin-react-hooks 7.1 (feature-flag cleanup).",
|
|
1468
|
+
"react/fire": "Removed upstream before eslint-plugin-react-hooks 7.1 (feature-flag cleanup).",
|
|
1469
|
+
"react/fbt": "Meta-internal FBT category; not implemented in oxc's Rust React Compiler port.",
|
|
1470
|
+
"react/memoized-effect-dependencies": "Upstream `EffectDependencies` category is not implemented in oxc's Rust React Compiler port.",
|
|
1472
1471
|
"react/default-props-match-prop-types": "This rule only applies to legacy class components, which are not widely used in modern React. Also stylistic.",
|
|
1473
1472
|
"react/forbid-foreign-prop-types": "PropTypes are ignored in React 19, and this rule is only relevant for very specific use-cases involving it.",
|
|
1474
1473
|
"react/forbid-prop-types": "PropTypes are ignored in React 19, and this rule is only relevant if you use the PropTypes package.",
|
|
@@ -2376,20 +2375,22 @@ const KEY_ORDER = [
|
|
|
2376
2375
|
"overrides"
|
|
2377
2376
|
];
|
|
2378
2377
|
const buildConfig = (configs, oxlintConfig, options) => {
|
|
2379
|
-
if (oxlintConfig === void 0)
|
|
2380
|
-
|
|
2381
|
-
|
|
2382
|
-
|
|
2383
|
-
|
|
2384
|
-
|
|
2385
|
-
|
|
2386
|
-
|
|
2387
|
-
|
|
2388
|
-
|
|
2389
|
-
|
|
2390
|
-
|
|
2391
|
-
|
|
2392
|
-
|
|
2378
|
+
if (oxlintConfig === void 0) {
|
|
2379
|
+
if (options?.merge) oxlintConfig = {
|
|
2380
|
+
plugins: [
|
|
2381
|
+
"oxc",
|
|
2382
|
+
"typescript",
|
|
2383
|
+
"unicorn",
|
|
2384
|
+
"react"
|
|
2385
|
+
],
|
|
2386
|
+
categories: { correctness: "warn" }
|
|
2387
|
+
};
|
|
2388
|
+
else oxlintConfig = {
|
|
2389
|
+
$schema: "./node_modules/oxlint/configuration_schema.json",
|
|
2390
|
+
plugins: [],
|
|
2391
|
+
categories: { correctness: "off" }
|
|
2392
|
+
};
|
|
2393
|
+
}
|
|
2393
2394
|
if (oxlintConfig.$schema === void 0 && options?.merge) oxlintConfig.$schema = "./node_modules/oxlint/configuration_schema.json";
|
|
2394
2395
|
if (oxlintConfig.env?.builtin === void 0) {
|
|
2395
2396
|
if (oxlintConfig.env === void 0) oxlintConfig.env = {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oxlint/migrate",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.79.0",
|
|
4
4
|
"description": "Generates a `.oxlintrc.json` from a existing eslint flat config",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"eslint",
|
|
@@ -29,13 +29,13 @@
|
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"commander": "^15.0.0",
|
|
31
31
|
"globals": "^17.0.0",
|
|
32
|
-
"oxc-parser": "^0.
|
|
32
|
+
"oxc-parser": "^0.144.0",
|
|
33
33
|
"tinyglobby": "^0.2.14"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@antfu/eslint-config": "^9.0.0",
|
|
37
37
|
"@babel/eslint-plugin": "^8.0.0",
|
|
38
|
-
"@e18e/eslint-plugin": "^0.
|
|
38
|
+
"@e18e/eslint-plugin": "^0.8.0",
|
|
39
39
|
"@eslint-react/eslint-plugin": "^5.0.0",
|
|
40
40
|
"@eslint/js": "^10.0.0",
|
|
41
41
|
"@logux/eslint-config": "^57.0.0",
|
|
@@ -72,9 +72,9 @@
|
|
|
72
72
|
"husky": "^9.1.7",
|
|
73
73
|
"lint-staged": "^17.0.0",
|
|
74
74
|
"next": "^16.0.0",
|
|
75
|
-
"oxfmt": "^0.
|
|
76
|
-
"oxlint": "^1.
|
|
77
|
-
"oxlint-tsgolint": "^0.
|
|
75
|
+
"oxfmt": "^0.63.0",
|
|
76
|
+
"oxlint": "^1.79.0",
|
|
77
|
+
"oxlint-tsgolint": "^0.25.0",
|
|
78
78
|
"tsdown": "^0.22.0",
|
|
79
79
|
"typescript": "^6.0.0",
|
|
80
80
|
"typescript-eslint": "^8.35.0",
|