@eslint-react/jsx 1.6.1-next.1 → 1.6.1-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 +9 -13
- package/dist/index.mjs +9 -13
- package/package.json +5 -5
package/dist/index.js
CHANGED
|
@@ -1,32 +1,31 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var types = require('@typescript-eslint/types');
|
|
4
|
-
var tools = require('@eslint-react/tools');
|
|
5
3
|
var ast = require('@eslint-react/ast');
|
|
4
|
+
var tools = require('@eslint-react/tools');
|
|
6
5
|
var _var = require('@eslint-react/var');
|
|
7
6
|
var astUtils = require('@typescript-eslint/utils/ast-utils');
|
|
8
7
|
var tsPattern = require('ts-pattern');
|
|
9
8
|
|
|
10
9
|
// src/element-name.ts
|
|
11
10
|
function resolveMemberExpressions(object, property) {
|
|
12
|
-
if (object.type ===
|
|
11
|
+
if (object.type === ast.NodeType.JSXMemberExpression) {
|
|
13
12
|
return `${resolveMemberExpressions(object.object, object.property)}.${property.name}`;
|
|
14
13
|
}
|
|
15
|
-
if (object.type ===
|
|
14
|
+
if (object.type === ast.NodeType.JSXNamespacedName) {
|
|
16
15
|
return `${object.namespace.name}:${object.name.name}.${property.name}`;
|
|
17
16
|
}
|
|
18
17
|
return `${object.name}.${property.name}`;
|
|
19
18
|
}
|
|
20
19
|
function elementName(node) {
|
|
21
|
-
if (node.type ===
|
|
20
|
+
if (node.type === ast.NodeType.JSXOpeningFragment) {
|
|
22
21
|
return "<>";
|
|
23
22
|
}
|
|
24
23
|
const { name } = node;
|
|
25
|
-
if (name.type ===
|
|
24
|
+
if (name.type === ast.NodeType.JSXMemberExpression) {
|
|
26
25
|
const { object, property } = name;
|
|
27
26
|
return resolveMemberExpressions(object, property);
|
|
28
27
|
}
|
|
29
|
-
if (name.type ===
|
|
28
|
+
if (name.type === ast.NodeType.JSXNamespacedName) {
|
|
30
29
|
return `${name.namespace.name}:${name.name.name}`;
|
|
31
30
|
}
|
|
32
31
|
return name.name;
|
|
@@ -129,16 +128,13 @@ function hasEveryProp(attributes, propNames, context, initialScope) {
|
|
|
129
128
|
return propNames.every((propName) => hasProp(attributes, propName, context, initialScope));
|
|
130
129
|
}
|
|
131
130
|
function isKeyedElement(node, context) {
|
|
132
|
-
|
|
133
|
-
return hasProp(node.openingElement.attributes, "key", context, context.sourceCode.getScope(node));
|
|
131
|
+
return node.type === ast.NodeType.JSXElement && hasProp(node.openingElement.attributes, "key", context, context.sourceCode.getScope(node));
|
|
134
132
|
}
|
|
135
133
|
function isUserDefinedElement(node) {
|
|
136
|
-
|
|
137
|
-
return node.openingElement.name.type === ast.NodeType.JSXIdentifier && /^[A-Z]/u.test(node.openingElement.name.name);
|
|
134
|
+
return node.type === ast.NodeType.JSXElement && node.openingElement.name.type === ast.NodeType.JSXIdentifier && /^[A-Z]/u.test(node.openingElement.name.name);
|
|
138
135
|
}
|
|
139
136
|
function isBuiltInElement(node) {
|
|
140
|
-
|
|
141
|
-
return node.openingElement.name.type === ast.NodeType.JSXIdentifier && node.openingElement.name.name.toLowerCase() === node.openingElement.name.name && /^[a-z]/u.test(node.openingElement.name.name);
|
|
137
|
+
return node.type === ast.NodeType.JSXElement && node.openingElement.name.type === ast.NodeType.JSXIdentifier && node.openingElement.name.name.toLowerCase() === node.openingElement.name.name && /^[a-z]/u.test(node.openingElement.name.name);
|
|
142
138
|
}
|
|
143
139
|
var JSXValueHint = {
|
|
144
140
|
None: 0n,
|
package/dist/index.mjs
CHANGED
|
@@ -1,30 +1,29 @@
|
|
|
1
|
-
import { AST_NODE_TYPES } from '@typescript-eslint/types';
|
|
2
|
-
import { F, O, Pred } from '@eslint-react/tools';
|
|
3
1
|
import { isOneOf, NodeType, is, isJSXTagNameExpression, isMultiLine, traverseUpGuard } from '@eslint-react/ast';
|
|
2
|
+
import { F, O, Pred } from '@eslint-react/tools';
|
|
4
3
|
import { findVariable, getVariableNode } from '@eslint-react/var';
|
|
5
4
|
import { getStaticValue } from '@typescript-eslint/utils/ast-utils';
|
|
6
5
|
import { match, P } from 'ts-pattern';
|
|
7
6
|
|
|
8
7
|
// src/element-name.ts
|
|
9
8
|
function resolveMemberExpressions(object, property) {
|
|
10
|
-
if (object.type ===
|
|
9
|
+
if (object.type === NodeType.JSXMemberExpression) {
|
|
11
10
|
return `${resolveMemberExpressions(object.object, object.property)}.${property.name}`;
|
|
12
11
|
}
|
|
13
|
-
if (object.type ===
|
|
12
|
+
if (object.type === NodeType.JSXNamespacedName) {
|
|
14
13
|
return `${object.namespace.name}:${object.name.name}.${property.name}`;
|
|
15
14
|
}
|
|
16
15
|
return `${object.name}.${property.name}`;
|
|
17
16
|
}
|
|
18
17
|
function elementName(node) {
|
|
19
|
-
if (node.type ===
|
|
18
|
+
if (node.type === NodeType.JSXOpeningFragment) {
|
|
20
19
|
return "<>";
|
|
21
20
|
}
|
|
22
21
|
const { name } = node;
|
|
23
|
-
if (name.type ===
|
|
22
|
+
if (name.type === NodeType.JSXMemberExpression) {
|
|
24
23
|
const { object, property } = name;
|
|
25
24
|
return resolveMemberExpressions(object, property);
|
|
26
25
|
}
|
|
27
|
-
if (name.type ===
|
|
26
|
+
if (name.type === NodeType.JSXNamespacedName) {
|
|
28
27
|
return `${name.namespace.name}:${name.name.name}`;
|
|
29
28
|
}
|
|
30
29
|
return name.name;
|
|
@@ -127,16 +126,13 @@ function hasEveryProp(attributes, propNames, context, initialScope) {
|
|
|
127
126
|
return propNames.every((propName) => hasProp(attributes, propName, context, initialScope));
|
|
128
127
|
}
|
|
129
128
|
function isKeyedElement(node, context) {
|
|
130
|
-
|
|
131
|
-
return hasProp(node.openingElement.attributes, "key", context, context.sourceCode.getScope(node));
|
|
129
|
+
return node.type === NodeType.JSXElement && hasProp(node.openingElement.attributes, "key", context, context.sourceCode.getScope(node));
|
|
132
130
|
}
|
|
133
131
|
function isUserDefinedElement(node) {
|
|
134
|
-
|
|
135
|
-
return node.openingElement.name.type === NodeType.JSXIdentifier && /^[A-Z]/u.test(node.openingElement.name.name);
|
|
132
|
+
return node.type === NodeType.JSXElement && node.openingElement.name.type === NodeType.JSXIdentifier && /^[A-Z]/u.test(node.openingElement.name.name);
|
|
136
133
|
}
|
|
137
134
|
function isBuiltInElement(node) {
|
|
138
|
-
|
|
139
|
-
return node.openingElement.name.type === NodeType.JSXIdentifier && node.openingElement.name.name.toLowerCase() === node.openingElement.name.name && /^[a-z]/u.test(node.openingElement.name.name);
|
|
135
|
+
return node.type === NodeType.JSXElement && node.openingElement.name.type === NodeType.JSXIdentifier && node.openingElement.name.name.toLowerCase() === node.openingElement.name.name && /^[a-z]/u.test(node.openingElement.name.name);
|
|
140
136
|
}
|
|
141
137
|
var JSXValueHint = {
|
|
142
138
|
None: 0n,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eslint-react/jsx",
|
|
3
|
-
"version": "1.6.1-next.
|
|
3
|
+
"version": "1.6.1-next.3",
|
|
4
4
|
"description": "ESLint React's TSESTree AST utility module for static analysis of JSX.",
|
|
5
5
|
"homepage": "https://github.com/rel1cx/eslint-react",
|
|
6
6
|
"bugs": {
|
|
@@ -39,10 +39,10 @@
|
|
|
39
39
|
"@typescript-eslint/types": "^7.17.0",
|
|
40
40
|
"@typescript-eslint/utils": "^7.17.0",
|
|
41
41
|
"ts-pattern": "^5.2.0",
|
|
42
|
-
"@eslint-react/ast": "1.6.1-next.
|
|
43
|
-
"@eslint-react/tools": "1.6.1-next.
|
|
44
|
-
"@eslint-react/types": "1.6.1-next.
|
|
45
|
-
"@eslint-react/var": "1.6.1-next.
|
|
42
|
+
"@eslint-react/ast": "1.6.1-next.3",
|
|
43
|
+
"@eslint-react/tools": "1.6.1-next.3",
|
|
44
|
+
"@eslint-react/types": "1.6.1-next.3",
|
|
45
|
+
"@eslint-react/var": "1.6.1-next.3"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"tsup": "8.2.3"
|