@eslint-react/core
Advanced tools
+21
-4
@@ -647,2 +647,6 @@ import * as ast from "@eslint-react/ast"; | ||
| type JsxAttributeValue = { | ||
| kind: "missing"; | ||
| node: TSESTree.JSXEmptyExpression; | ||
| toStatic(): "{}"; | ||
| } | { | ||
| kind: "boolean"; | ||
@@ -665,3 +669,4 @@ toStatic(): true; | ||
| node: TSESTree.JSXSpreadAttribute["argument"]; | ||
| toStatic(name?: string): unknown; | ||
| toStatic(): unknown; | ||
| getProperty(name: string): unknown; | ||
| } | { | ||
@@ -671,2 +676,3 @@ kind: "spreadChild"; | ||
| toStatic(): unknown; | ||
| getChildren(at: number): unknown; | ||
| }; | ||
@@ -684,2 +690,3 @@ /** | ||
| readonly node?: never; | ||
| readonly getChildren?: never; | ||
| } | { | ||
@@ -689,6 +696,13 @@ readonly kind: "literal"; | ||
| readonly toStatic: () => string | number | bigint | boolean | RegExp | null; | ||
| readonly getChildren?: never; | ||
| } | { | ||
| readonly kind: "missing"; | ||
| readonly node: TSESTree.JSXEmptyExpression; | ||
| readonly toStatic: () => "{}"; | ||
| readonly getChildren?: never; | ||
| } | { | ||
| readonly kind: "expression"; | ||
| readonly node: TSESTree.JSXEmptyExpression | TSESTree.Expression; | ||
| readonly node: TSESTree.Expression; | ||
| readonly toStatic: () => unknown; | ||
| readonly getChildren?: never; | ||
| } | { | ||
@@ -698,10 +712,13 @@ readonly kind: "element"; | ||
| readonly toStatic: () => null; | ||
| readonly getChildren?: never; | ||
| } | { | ||
| readonly kind: "spreadChild"; | ||
| readonly node: TSESTree.JSXEmptyExpression | TSESTree.Expression; | ||
| readonly toStatic: () => null; | ||
| readonly toStatic: () => unknown; | ||
| readonly getChildren: (at: number) => null; | ||
| } | { | ||
| readonly kind: "spreadProps"; | ||
| readonly node: TSESTree.Expression; | ||
| readonly toStatic: (name?: string) => unknown; | ||
| readonly toStatic: () => unknown; | ||
| readonly getProperty: (name: string) => unknown; | ||
| }; | ||
@@ -708,0 +725,0 @@ //#endregion |
+24
-9
@@ -461,2 +461,9 @@ import * as ast from "@eslint-react/ast"; | ||
| const expr = node.value.expression; | ||
| if (expr.type === AST_NODE_TYPES.JSXEmptyExpression) return { | ||
| kind: "missing", | ||
| node: expr, | ||
| toStatic() { | ||
| return "{}"; | ||
| } | ||
| }; | ||
| return { | ||
@@ -477,9 +484,15 @@ kind: "expression", | ||
| }; | ||
| case AST_NODE_TYPES.JSXSpreadChild: return { | ||
| kind: "spreadChild", | ||
| node: node.value.expression, | ||
| toStatic() { | ||
| return null; | ||
| } | ||
| }; | ||
| case AST_NODE_TYPES.JSXSpreadChild: { | ||
| const expr = node.value.expression; | ||
| return { | ||
| kind: "spreadChild", | ||
| node: node.value.expression, | ||
| toStatic() { | ||
| return getStaticValue(expr, initialScope)?.value; | ||
| }, | ||
| getChildren(at) { | ||
| return null; | ||
| } | ||
| }; | ||
| } | ||
| } | ||
@@ -495,4 +508,6 @@ } | ||
| node: node.argument, | ||
| toStatic(name) { | ||
| if (name == null) return null; | ||
| toStatic() { | ||
| return getStaticValue(node.argument, initialScope)?.value; | ||
| }, | ||
| getProperty(name) { | ||
| return match(getStaticValue(node.argument, initialScope)?.value).with({ [name]: P.select(P.any) }, identity).otherwise(() => null); | ||
@@ -499,0 +514,0 @@ } |
+5
-5
| { | ||
| "name": "@eslint-react/core", | ||
| "version": "3.0.0-beta.66", | ||
| "version": "3.0.0-beta.67", | ||
| "description": "ESLint React's ESLint utility module for static analysis of React core APIs and patterns.", | ||
@@ -37,6 +37,6 @@ "homepage": "https://github.com/Rel1cx/eslint-react", | ||
| "ts-pattern": "^5.9.0", | ||
| "@eslint-react/ast": "3.0.0-beta.66", | ||
| "@eslint-react/shared": "3.0.0-beta.66", | ||
| "@eslint-react/var": "3.0.0-beta.66", | ||
| "@eslint-react/eff": "3.0.0-beta.66" | ||
| "@eslint-react/ast": "3.0.0-beta.67", | ||
| "@eslint-react/eff": "3.0.0-beta.67", | ||
| "@eslint-react/shared": "3.0.0-beta.67", | ||
| "@eslint-react/var": "3.0.0-beta.67" | ||
| }, | ||
@@ -43,0 +43,0 @@ "devDependencies": { |
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
91093
0.92%2074
1.57%+ Added
+ Added
+ Added
+ Added
- Removed
- Removed
- Removed
- Removed