@eslint-react/jsx 0.9.7-beta.0 → 0.9.7-beta.2
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.cjs +6 -6
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +6 -6
- package/dist/index.mjs +6 -6
- package/package.json +5 -5
package/dist/index.cjs
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var types = require('@typescript-eslint/types');
|
|
4
4
|
var ast = require('@eslint-react/ast');
|
|
5
5
|
var tools = require('@eslint-react/tools');
|
|
6
|
+
var shared = require('@eslint-react/shared');
|
|
6
7
|
var memo = require('micro-memoize');
|
|
7
8
|
|
|
8
9
|
function resolveMemberExpressions(object, property) {
|
|
@@ -37,20 +38,19 @@ const RE_JSX_ANNOTATION_REGEX = /@jsx\s+(\S+)/u;
|
|
|
37
38
|
// Does not check for reserved keywords or unicode characters
|
|
38
39
|
const RE_JS_IDENTIFIER_REGEX = /^[$A-Z_a-z][\w$]*$/u;
|
|
39
40
|
function getFragmentFromContext(context) {
|
|
40
|
-
|
|
41
|
-
const
|
|
42
|
-
const fragment = settings.react?.fragment;
|
|
41
|
+
const settings = shared.parse(shared.ESLintSettingsSchema, context.settings);
|
|
42
|
+
const fragment = settings.eslintReact?.jsx?.fragment;
|
|
43
43
|
if (tools.P.isString(fragment) && RE_JS_IDENTIFIER_REGEX.test(fragment)) {
|
|
44
44
|
return fragment;
|
|
45
45
|
}
|
|
46
46
|
return "Fragment";
|
|
47
47
|
}
|
|
48
48
|
const getPragmaFromContext = memo((context)=>{
|
|
49
|
-
|
|
50
|
-
const
|
|
49
|
+
const settings = shared.parse(shared.ESLintSettingsSchema, context.settings);
|
|
50
|
+
const pragma = settings.eslintReact?.jsx?.pragma;
|
|
51
51
|
const { sourceCode } = context;
|
|
52
52
|
const pragmaNode = sourceCode.getAllComments().find((node)=>RE_JSX_ANNOTATION_REGEX.test(node.value));
|
|
53
|
-
return tools.F.pipe(tools.O.orElse(tools.O.fromNullable(
|
|
53
|
+
return tools.F.pipe(tools.O.orElse(tools.O.fromNullable(pragma), ()=>tools.F.pipe(tools.O.fromNullable(pragmaNode), tools.O.map(({ value })=>RE_JSX_ANNOTATION_REGEX.exec(value)), tools.O.flatMapNullable((matches)=>matches?.[1]?.split(".")[0]))), tools.O.flatMap(tools.O.liftPredicate((x)=>RE_JS_IDENTIFIER_REGEX.test(x))), tools.O.getOrElse(tools.F.constant("React")));
|
|
54
54
|
});
|
|
55
55
|
|
|
56
56
|
function isInitializedFromPragma(variableName, context, initialScope, pragma = getPragmaFromContext(context)) {
|
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TSESTree } from '@typescript-eslint/types';
|
|
2
|
-
import { RuleContext } from '@eslint-react/
|
|
2
|
+
import { RuleContext } from '@eslint-react/types';
|
|
3
3
|
import { Scope } from '@typescript-eslint/scope-manager';
|
|
4
4
|
import { TSESTreeFunction } from '@eslint-react/ast';
|
|
5
5
|
import { O } from '@eslint-react/tools';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TSESTree } from '@typescript-eslint/types';
|
|
2
|
-
import { RuleContext } from '@eslint-react/
|
|
2
|
+
import { RuleContext } from '@eslint-react/types';
|
|
3
3
|
import { Scope } from '@typescript-eslint/scope-manager';
|
|
4
4
|
import { TSESTreeFunction } from '@eslint-react/ast';
|
|
5
5
|
import { O } from '@eslint-react/tools';
|
package/dist/index.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var types = require('@typescript-eslint/types');
|
|
4
4
|
var ast = require('@eslint-react/ast');
|
|
5
5
|
var tools = require('@eslint-react/tools');
|
|
6
|
+
var shared = require('@eslint-react/shared');
|
|
6
7
|
var memo = require('micro-memoize');
|
|
7
8
|
|
|
8
9
|
function resolveMemberExpressions(object, property) {
|
|
@@ -37,20 +38,19 @@ const RE_JSX_ANNOTATION_REGEX = /@jsx\s+(\S+)/u;
|
|
|
37
38
|
// Does not check for reserved keywords or unicode characters
|
|
38
39
|
const RE_JS_IDENTIFIER_REGEX = /^[$A-Z_a-z][\w$]*$/u;
|
|
39
40
|
function getFragmentFromContext(context) {
|
|
40
|
-
|
|
41
|
-
const
|
|
42
|
-
const fragment = settings.react?.fragment;
|
|
41
|
+
const settings = shared.parse(shared.ESLintSettingsSchema, context.settings);
|
|
42
|
+
const fragment = settings.eslintReact?.jsx?.fragment;
|
|
43
43
|
if (tools.P.isString(fragment) && RE_JS_IDENTIFIER_REGEX.test(fragment)) {
|
|
44
44
|
return fragment;
|
|
45
45
|
}
|
|
46
46
|
return "Fragment";
|
|
47
47
|
}
|
|
48
48
|
const getPragmaFromContext = memo((context)=>{
|
|
49
|
-
|
|
50
|
-
const
|
|
49
|
+
const settings = shared.parse(shared.ESLintSettingsSchema, context.settings);
|
|
50
|
+
const pragma = settings.eslintReact?.jsx?.pragma;
|
|
51
51
|
const { sourceCode } = context;
|
|
52
52
|
const pragmaNode = sourceCode.getAllComments().find((node)=>RE_JSX_ANNOTATION_REGEX.test(node.value));
|
|
53
|
-
return tools.F.pipe(tools.O.orElse(tools.O.fromNullable(
|
|
53
|
+
return tools.F.pipe(tools.O.orElse(tools.O.fromNullable(pragma), ()=>tools.F.pipe(tools.O.fromNullable(pragmaNode), tools.O.map(({ value })=>RE_JSX_ANNOTATION_REGEX.exec(value)), tools.O.flatMapNullable((matches)=>matches?.[1]?.split(".")[0]))), tools.O.flatMap(tools.O.liftPredicate((x)=>RE_JS_IDENTIFIER_REGEX.test(x))), tools.O.getOrElse(tools.F.constant("React")));
|
|
54
54
|
});
|
|
55
55
|
|
|
56
56
|
function isInitializedFromPragma(variableName, context, initialScope, pragma = getPragmaFromContext(context)) {
|
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AST_NODE_TYPES } from '@typescript-eslint/types';
|
|
2
2
|
import { getVariablesUpToGlobal, findVariableByName, NodeType, traverseUp, is, isOneOf, isJSXTagNameExpression, findVariableByNameUpToGlobal, getVariableInit, getNestedReturnStatements, getStaticValue, traverseUpGuard, isStringLiteral, isMultiLine } from '@eslint-react/ast';
|
|
3
3
|
import { F, O, P, M } from '@eslint-react/tools';
|
|
4
|
+
import { parse, ESLintSettingsSchema } from '@eslint-react/shared';
|
|
4
5
|
import memo from 'micro-memoize';
|
|
5
6
|
|
|
6
7
|
function resolveMemberExpressions(object, property) {
|
|
@@ -35,20 +36,19 @@ const RE_JSX_ANNOTATION_REGEX = /@jsx\s+(\S+)/u;
|
|
|
35
36
|
// Does not check for reserved keywords or unicode characters
|
|
36
37
|
const RE_JS_IDENTIFIER_REGEX = /^[$A-Z_a-z][\w$]*$/u;
|
|
37
38
|
function getFragmentFromContext(context) {
|
|
38
|
-
|
|
39
|
-
const
|
|
40
|
-
const fragment = settings.react?.fragment;
|
|
39
|
+
const settings = parse(ESLintSettingsSchema, context.settings);
|
|
40
|
+
const fragment = settings.eslintReact?.jsx?.fragment;
|
|
41
41
|
if (P.isString(fragment) && RE_JS_IDENTIFIER_REGEX.test(fragment)) {
|
|
42
42
|
return fragment;
|
|
43
43
|
}
|
|
44
44
|
return "Fragment";
|
|
45
45
|
}
|
|
46
46
|
const getPragmaFromContext = memo((context)=>{
|
|
47
|
-
|
|
48
|
-
const
|
|
47
|
+
const settings = parse(ESLintSettingsSchema, context.settings);
|
|
48
|
+
const pragma = settings.eslintReact?.jsx?.pragma;
|
|
49
49
|
const { sourceCode } = context;
|
|
50
50
|
const pragmaNode = sourceCode.getAllComments().find((node)=>RE_JSX_ANNOTATION_REGEX.test(node.value));
|
|
51
|
-
return F.pipe(O.orElse(O.fromNullable(
|
|
51
|
+
return F.pipe(O.orElse(O.fromNullable(pragma), ()=>F.pipe(O.fromNullable(pragmaNode), O.map(({ value })=>RE_JSX_ANNOTATION_REGEX.exec(value)), O.flatMapNullable((matches)=>matches?.[1]?.split(".")[0]))), O.flatMap(O.liftPredicate((x)=>RE_JS_IDENTIFIER_REGEX.test(x))), O.getOrElse(F.constant("React")));
|
|
52
52
|
});
|
|
53
53
|
|
|
54
54
|
function isInitializedFromPragma(variableName, context, initialScope, pragma = getPragmaFromContext(context)) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eslint-react/jsx",
|
|
3
|
-
"version": "0.9.7-beta.
|
|
3
|
+
"version": "0.9.7-beta.2",
|
|
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": "6.14.0",
|
|
40
40
|
"@typescript-eslint/utils": "6.14.0",
|
|
41
41
|
"micro-memoize": "4.1.2",
|
|
42
|
-
"@eslint-react/ast": "0.9.7-beta.
|
|
43
|
-
"@eslint-react/
|
|
44
|
-
"@eslint-react/
|
|
45
|
-
"@eslint-react/
|
|
42
|
+
"@eslint-react/ast": "0.9.7-beta.2",
|
|
43
|
+
"@eslint-react/shared": "0.9.7-beta.2",
|
|
44
|
+
"@eslint-react/types": "0.9.7-beta.2",
|
|
45
|
+
"@eslint-react/tools": "0.9.7-beta.2"
|
|
46
46
|
},
|
|
47
47
|
"scripts": {
|
|
48
48
|
"build": "rollup -c rollup.config.ts --configPlugin swc3 && cp dist/index.d.ts dist/index.d.mts",
|