eslint-plugin-react-x 2.7.3-next.2 → 2.7.3-next.3
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 +35 -35
- package/package.json +6 -6
package/dist/index.js
CHANGED
|
@@ -68,7 +68,7 @@ const rules$7 = {
|
|
|
68
68
|
//#endregion
|
|
69
69
|
//#region package.json
|
|
70
70
|
var name$6 = "eslint-plugin-react-x";
|
|
71
|
-
var version = "2.7.3-next.
|
|
71
|
+
var version = "2.7.3-next.3";
|
|
72
72
|
|
|
73
73
|
//#endregion
|
|
74
74
|
//#region src/utils/create-rule.ts
|
|
@@ -937,8 +937,8 @@ var no_class_component_default = createRule({
|
|
|
937
937
|
});
|
|
938
938
|
function create$45(context) {
|
|
939
939
|
if (!context.sourceCode.text.includes("Component")) return {};
|
|
940
|
-
const { ctx,
|
|
941
|
-
return defineRuleListener(
|
|
940
|
+
const { ctx, visitor } = useComponentCollectorLegacy(context);
|
|
941
|
+
return defineRuleListener(visitor, { "Program:exit"(program) {
|
|
942
942
|
for (const { name: name$9 = "anonymous", node: component } of ctx.getAllComponents(program)) {
|
|
943
943
|
if (component.body.body.some((m) => isComponentDidCatch(m) || isGetDerivedStateFromError(m))) continue;
|
|
944
944
|
context.report({
|
|
@@ -990,8 +990,8 @@ var no_component_will_mount_default = createRule({
|
|
|
990
990
|
});
|
|
991
991
|
function create$43(context) {
|
|
992
992
|
if (!context.sourceCode.text.includes("componentWillMount")) return {};
|
|
993
|
-
const { ctx,
|
|
994
|
-
return defineRuleListener(
|
|
993
|
+
const { ctx, visitor } = useComponentCollectorLegacy(context);
|
|
994
|
+
return defineRuleListener(visitor, { "Program:exit"(program) {
|
|
995
995
|
for (const { node: component } of ctx.getAllComponents(program)) {
|
|
996
996
|
const { body } = component.body;
|
|
997
997
|
for (const member of body) if (isComponentWillMount(member)) context.report({
|
|
@@ -1023,8 +1023,8 @@ var no_component_will_receive_props_default = createRule({
|
|
|
1023
1023
|
});
|
|
1024
1024
|
function create$42(context) {
|
|
1025
1025
|
if (!context.sourceCode.text.includes("componentWillReceiveProps")) return {};
|
|
1026
|
-
const { ctx,
|
|
1027
|
-
return defineRuleListener(
|
|
1026
|
+
const { ctx, visitor } = useComponentCollectorLegacy(context);
|
|
1027
|
+
return defineRuleListener(visitor, { "Program:exit"(program) {
|
|
1028
1028
|
for (const { node: component } of ctx.getAllComponents(program)) {
|
|
1029
1029
|
const { body } = component.body;
|
|
1030
1030
|
for (const member of body) if (isComponentWillReceiveProps(member)) context.report({
|
|
@@ -1056,8 +1056,8 @@ var no_component_will_update_default = createRule({
|
|
|
1056
1056
|
});
|
|
1057
1057
|
function create$41(context) {
|
|
1058
1058
|
if (!context.sourceCode.text.includes("componentWillUpdate")) return {};
|
|
1059
|
-
const { ctx,
|
|
1060
|
-
return defineRuleListener(
|
|
1059
|
+
const { ctx, visitor } = useComponentCollectorLegacy(context);
|
|
1060
|
+
return defineRuleListener(visitor, { "Program:exit"(program) {
|
|
1061
1061
|
for (const { node: component } of ctx.getAllComponents(program)) {
|
|
1062
1062
|
const { body } = component.body;
|
|
1063
1063
|
for (const member of body) if (isComponentWillUpdate(member)) context.report({
|
|
@@ -1480,12 +1480,12 @@ var no_missing_component_display_name_default = createRule({
|
|
|
1480
1480
|
});
|
|
1481
1481
|
function create$32(context) {
|
|
1482
1482
|
if (!context.sourceCode.text.includes("memo") && !context.sourceCode.text.includes("forwardRef")) return {};
|
|
1483
|
-
const { ctx,
|
|
1483
|
+
const { ctx, visitor } = useComponentCollector(context, {
|
|
1484
1484
|
collectDisplayName: true,
|
|
1485
1485
|
collectHookCalls: false,
|
|
1486
1486
|
hint: DEFAULT_COMPONENT_DETECTION_HINT
|
|
1487
1487
|
});
|
|
1488
|
-
return defineRuleListener(
|
|
1488
|
+
return defineRuleListener(visitor, { "Program:exit"(program) {
|
|
1489
1489
|
for (const { node, displayName, flag } of ctx.getAllComponents(program)) {
|
|
1490
1490
|
const id = AST.getFunctionId(node);
|
|
1491
1491
|
const isMemoOrForwardRef = (flag & (ComponentFlag.ForwardRef | ComponentFlag.Memo)) > 0n;
|
|
@@ -1706,7 +1706,7 @@ var no_nested_component_definitions_default = createRule({
|
|
|
1706
1706
|
function create$28(context) {
|
|
1707
1707
|
const fCollector = useComponentCollector(context, { hint: ComponentDetectionHint.SkipArrayMapCallback | ComponentDetectionHint.SkipNullLiteral | ComponentDetectionHint.SkipUndefined | ComponentDetectionHint.SkipBooleanLiteral | ComponentDetectionHint.SkipStringLiteral | ComponentDetectionHint.SkipNumberLiteral | ComponentDetectionHint.StrictLogical | ComponentDetectionHint.StrictConditional });
|
|
1708
1708
|
const cCollector = useComponentCollectorLegacy(context);
|
|
1709
|
-
return defineRuleListener(fCollector.
|
|
1709
|
+
return defineRuleListener(fCollector.visitor, cCollector.visitor, { "Program:exit"(program) {
|
|
1710
1710
|
const fComponents = [...fCollector.ctx.getAllComponents(program)];
|
|
1711
1711
|
const cComponents = [...cCollector.ctx.getAllComponents(program)];
|
|
1712
1712
|
const isFunctionComponent = (node) => {
|
|
@@ -1824,7 +1824,7 @@ function create$27(context) {
|
|
|
1824
1824
|
const collector = useComponentCollector(context, { hint });
|
|
1825
1825
|
const collectorLegacy = useComponentCollectorLegacy(context);
|
|
1826
1826
|
const lazyComponentDeclarations = /* @__PURE__ */ new Set();
|
|
1827
|
-
return defineRuleListener(collector.
|
|
1827
|
+
return defineRuleListener(collector.visitor, collectorLegacy.visitor, {
|
|
1828
1828
|
ImportExpression(node) {
|
|
1829
1829
|
const lazyCall = AST.findParentNode(node, (n) => isLazyCall(context, n));
|
|
1830
1830
|
if (lazyCall != null) lazyComponentDeclarations.add(lazyCall);
|
|
@@ -1905,8 +1905,8 @@ var no_redundant_should_component_update_default = createRule({
|
|
|
1905
1905
|
});
|
|
1906
1906
|
function create$25(context) {
|
|
1907
1907
|
if (!context.sourceCode.text.includes("shouldComponentUpdate")) return {};
|
|
1908
|
-
const { ctx,
|
|
1909
|
-
return defineRuleListener(
|
|
1908
|
+
const { ctx, visitor } = useComponentCollectorLegacy(context);
|
|
1909
|
+
return defineRuleListener(visitor, { "Program:exit"(program) {
|
|
1910
1910
|
for (const { name: name$9 = "PureComponent", node: component, flag } of ctx.getAllComponents(program)) {
|
|
1911
1911
|
if ((flag & ComponentFlag.PureComponent) === 0n) continue;
|
|
1912
1912
|
const { body } = component.body;
|
|
@@ -2087,9 +2087,9 @@ function create$20(context) {
|
|
|
2087
2087
|
...getJsxConfigFromContext(context),
|
|
2088
2088
|
...getJsxConfigFromAnnotation(context)
|
|
2089
2089
|
};
|
|
2090
|
-
const { ctx,
|
|
2090
|
+
const { ctx, visitor } = useComponentCollector(context);
|
|
2091
2091
|
const constantKeys = /* @__PURE__ */ new Set();
|
|
2092
|
-
return defineRuleListener(
|
|
2092
|
+
return defineRuleListener(visitor, {
|
|
2093
2093
|
JSXAttribute(node) {
|
|
2094
2094
|
if (node.name.name !== "key") return;
|
|
2095
2095
|
const jsxElement = node.parent.parent;
|
|
@@ -2323,8 +2323,8 @@ var no_unnecessary_use_prefix_default = createRule({
|
|
|
2323
2323
|
defaultOptions: []
|
|
2324
2324
|
});
|
|
2325
2325
|
function create$17(context) {
|
|
2326
|
-
const { ctx,
|
|
2327
|
-
return defineRuleListener(
|
|
2326
|
+
const { ctx, visitor } = useHookCollector(context);
|
|
2327
|
+
return defineRuleListener(visitor, { "Program:exit"(program) {
|
|
2328
2328
|
for (const { id, name: name$9, node, hookCalls } of ctx.getAllHooks(program)) {
|
|
2329
2329
|
if (hookCalls.length > 0) continue;
|
|
2330
2330
|
if (AST.isFunctionEmpty(node)) continue;
|
|
@@ -2394,8 +2394,8 @@ var no_unsafe_component_will_mount_default = createRule({
|
|
|
2394
2394
|
});
|
|
2395
2395
|
function create$15(context) {
|
|
2396
2396
|
if (!context.sourceCode.text.includes("UNSAFE_componentWillMount")) return {};
|
|
2397
|
-
const { ctx,
|
|
2398
|
-
return defineRuleListener(
|
|
2397
|
+
const { ctx, visitor } = useComponentCollectorLegacy(context);
|
|
2398
|
+
return defineRuleListener(visitor, { "Program:exit"(program) {
|
|
2399
2399
|
for (const { node: component } of ctx.getAllComponents(program)) {
|
|
2400
2400
|
const { body } = component.body;
|
|
2401
2401
|
for (const member of body) if (isUnsafeComponentWillMount(member)) context.report({
|
|
@@ -2422,8 +2422,8 @@ var no_unsafe_component_will_receive_props_default = createRule({
|
|
|
2422
2422
|
});
|
|
2423
2423
|
function create$14(context) {
|
|
2424
2424
|
if (!context.sourceCode.text.includes("UNSAFE_componentWillReceiveProps")) return {};
|
|
2425
|
-
const { ctx,
|
|
2426
|
-
return defineRuleListener(
|
|
2425
|
+
const { ctx, visitor } = useComponentCollectorLegacy(context);
|
|
2426
|
+
return defineRuleListener(visitor, { "Program:exit"(program) {
|
|
2427
2427
|
for (const { node: component } of ctx.getAllComponents(program)) {
|
|
2428
2428
|
const { body } = component.body;
|
|
2429
2429
|
for (const member of body) if (isUnsafeComponentWillReceiveProps(member)) context.report({
|
|
@@ -2450,8 +2450,8 @@ var no_unsafe_component_will_update_default = createRule({
|
|
|
2450
2450
|
});
|
|
2451
2451
|
function create$13(context) {
|
|
2452
2452
|
if (!context.sourceCode.text.includes("UNSAFE_componentWillUpdate")) return {};
|
|
2453
|
-
const { ctx,
|
|
2454
|
-
return defineRuleListener(
|
|
2453
|
+
const { ctx, visitor } = useComponentCollectorLegacy(context);
|
|
2454
|
+
return defineRuleListener(visitor, { "Program:exit"(program) {
|
|
2455
2455
|
for (const { node: component } of ctx.getAllComponents(program)) {
|
|
2456
2456
|
const { body } = component.body;
|
|
2457
2457
|
for (const member of body) if (isUnsafeComponentWillUpdate(member)) context.report({
|
|
@@ -2479,9 +2479,9 @@ var no_unstable_context_value_default = createRule({
|
|
|
2479
2479
|
function create$12(context) {
|
|
2480
2480
|
const { version: version$1 } = getSettingsFromContext(context);
|
|
2481
2481
|
const isReact18OrBelow = compare(version$1, "19.0.0", "<");
|
|
2482
|
-
const { ctx,
|
|
2482
|
+
const { ctx, visitor } = useComponentCollector(context);
|
|
2483
2483
|
const constructions = /* @__PURE__ */ new WeakMap();
|
|
2484
|
-
return defineRuleListener(
|
|
2484
|
+
return defineRuleListener(visitor, {
|
|
2485
2485
|
JSXOpeningElement(node) {
|
|
2486
2486
|
const selfName = getJsxElementType(context, node.parent).split(".").at(-1);
|
|
2487
2487
|
if (selfName == null) return;
|
|
@@ -2552,11 +2552,11 @@ function extractIdentifier(node) {
|
|
|
2552
2552
|
return null;
|
|
2553
2553
|
}
|
|
2554
2554
|
function create$11(context, [options]) {
|
|
2555
|
-
const { ctx,
|
|
2555
|
+
const { ctx, visitor } = useComponentCollector(context);
|
|
2556
2556
|
const declarators = /* @__PURE__ */ new WeakMap();
|
|
2557
2557
|
const { safeDefaultProps = [] } = options;
|
|
2558
2558
|
const safePatterns = safeDefaultProps.map((s) => toRegExp(s));
|
|
2559
|
-
return defineRuleListener(
|
|
2559
|
+
return defineRuleListener(visitor, {
|
|
2560
2560
|
[AST.SEL_OBJECT_DESTRUCTURING_VARIABLE_DECLARATOR](node) {
|
|
2561
2561
|
const functionEntry = ctx.getCurrentEntry();
|
|
2562
2562
|
if (functionEntry == null) return;
|
|
@@ -2725,8 +2725,8 @@ var no_unused_props_default = createRule({
|
|
|
2725
2725
|
});
|
|
2726
2726
|
function create$9(context) {
|
|
2727
2727
|
const services = ESLintUtils.getParserServices(context, false);
|
|
2728
|
-
const { ctx,
|
|
2729
|
-
return defineRuleListener(
|
|
2728
|
+
const { ctx, visitor } = useComponentCollector(context);
|
|
2729
|
+
return defineRuleListener(visitor, { "Program:exit"(program) {
|
|
2730
2730
|
const checker = services.program.getTypeChecker();
|
|
2731
2731
|
const totalDeclaredProps = /* @__PURE__ */ new Set();
|
|
2732
2732
|
const totalUsedProps = /* @__PURE__ */ new Set();
|
|
@@ -3206,8 +3206,8 @@ var prefer_destructuring_assignment_default = createRule({
|
|
|
3206
3206
|
defaultOptions: []
|
|
3207
3207
|
});
|
|
3208
3208
|
function create$4(context) {
|
|
3209
|
-
const { ctx,
|
|
3210
|
-
return defineRuleListener(
|
|
3209
|
+
const { ctx, visitor } = useComponentCollector(context);
|
|
3210
|
+
return defineRuleListener(visitor, { "Program:exit"(program) {
|
|
3211
3211
|
for (const component of ctx.getAllComponents(program)) {
|
|
3212
3212
|
if (component.name == null && component.isExportDefaultDeclaration) continue;
|
|
3213
3213
|
const [props] = component.node.params;
|
|
@@ -3281,8 +3281,8 @@ var prefer_read_only_props_default = createRule({
|
|
|
3281
3281
|
function create$2(context) {
|
|
3282
3282
|
const services = ESLintUtils.getParserServices(context, false);
|
|
3283
3283
|
const checker = services.program.getTypeChecker();
|
|
3284
|
-
const { ctx,
|
|
3285
|
-
return defineRuleListener(
|
|
3284
|
+
const { ctx, visitor } = useComponentCollector(context);
|
|
3285
|
+
return defineRuleListener(visitor, { "Program:exit"(program) {
|
|
3286
3286
|
for (const component of ctx.getAllComponents(program)) {
|
|
3287
3287
|
const [props] = component.node.params;
|
|
3288
3288
|
if (component.id == null || component.name == null) continue;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eslint-plugin-react-x",
|
|
3
|
-
"version": "2.7.3-next.
|
|
3
|
+
"version": "2.7.3-next.3",
|
|
4
4
|
"description": "A set of composable ESLint rules for for libraries and frameworks that use React as a UI runtime.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -46,11 +46,11 @@
|
|
|
46
46
|
"string-ts": "^2.3.1",
|
|
47
47
|
"ts-api-utils": "^2.4.0",
|
|
48
48
|
"ts-pattern": "^5.9.0",
|
|
49
|
-
"@eslint-react/
|
|
50
|
-
"@eslint-react/
|
|
51
|
-
"@eslint-react/
|
|
52
|
-
"@eslint-react/
|
|
53
|
-
"@eslint-react/
|
|
49
|
+
"@eslint-react/ast": "2.7.3-next.3",
|
|
50
|
+
"@eslint-react/eff": "2.7.3-next.3",
|
|
51
|
+
"@eslint-react/shared": "2.7.3-next.3",
|
|
52
|
+
"@eslint-react/var": "2.7.3-next.3",
|
|
53
|
+
"@eslint-react/core": "2.7.3-next.3"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"@types/react": "^19.2.8",
|