@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 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
- // eslint-disable-next-line prefer-destructuring, no-restricted-syntax
41
- const settings = context.settings;
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
- // eslint-disable-next-line prefer-destructuring, no-restricted-syntax
50
- const settings = context.settings;
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(settings.react?.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")));
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/shared';
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/shared';
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
- // eslint-disable-next-line prefer-destructuring, no-restricted-syntax
41
- const settings = context.settings;
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
- // eslint-disable-next-line prefer-destructuring, no-restricted-syntax
50
- const settings = context.settings;
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(settings.react?.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")));
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
- // eslint-disable-next-line prefer-destructuring, no-restricted-syntax
39
- const settings = context.settings;
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
- // eslint-disable-next-line prefer-destructuring, no-restricted-syntax
48
- const settings = context.settings;
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(settings.react?.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")));
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.0",
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.0",
43
- "@eslint-react/tools": "0.9.7-beta.0",
44
- "@eslint-react/shared": "0.9.7-beta.0",
45
- "@eslint-react/types": "0.9.7-beta.0"
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",