@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 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 === types.AST_NODE_TYPES.JSXMemberExpression) {
11
+ if (object.type === ast.NodeType.JSXMemberExpression) {
13
12
  return `${resolveMemberExpressions(object.object, object.property)}.${property.name}`;
14
13
  }
15
- if (object.type === types.AST_NODE_TYPES.JSXNamespacedName) {
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 === types.AST_NODE_TYPES.JSXOpeningFragment) {
20
+ if (node.type === ast.NodeType.JSXOpeningFragment) {
22
21
  return "<>";
23
22
  }
24
23
  const { name } = node;
25
- if (name.type === types.AST_NODE_TYPES.JSXMemberExpression) {
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 === types.AST_NODE_TYPES.JSXNamespacedName) {
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
- if (node.type !== ast.NodeType.JSXElement) return false;
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
- if (node.type !== ast.NodeType.JSXElement) return false;
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
- if (node.type !== ast.NodeType.JSXElement) return false;
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 === AST_NODE_TYPES.JSXMemberExpression) {
9
+ if (object.type === NodeType.JSXMemberExpression) {
11
10
  return `${resolveMemberExpressions(object.object, object.property)}.${property.name}`;
12
11
  }
13
- if (object.type === AST_NODE_TYPES.JSXNamespacedName) {
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 === AST_NODE_TYPES.JSXOpeningFragment) {
18
+ if (node.type === NodeType.JSXOpeningFragment) {
20
19
  return "<>";
21
20
  }
22
21
  const { name } = node;
23
- if (name.type === AST_NODE_TYPES.JSXMemberExpression) {
22
+ if (name.type === NodeType.JSXMemberExpression) {
24
23
  const { object, property } = name;
25
24
  return resolveMemberExpressions(object, property);
26
25
  }
27
- if (name.type === AST_NODE_TYPES.JSXNamespacedName) {
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
- if (node.type !== NodeType.JSXElement) return false;
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
- if (node.type !== NodeType.JSXElement) return false;
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
- if (node.type !== NodeType.JSXElement) return false;
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.1",
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.1",
43
- "@eslint-react/tools": "1.6.1-next.1",
44
- "@eslint-react/types": "1.6.1-next.1",
45
- "@eslint-react/var": "1.6.1-next.1"
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"