Skip to content

Commit

Permalink
Fix JSX pragma anywhere in comment (#14012)
Browse files Browse the repository at this point in the history
* Fix JSX pragma anywhere in comment

* jsx regex patterns support jsx docs

* removed extra spaces from regex patterns
  • Loading branch information
The-x-Theorist committed Dec 2, 2021
1 parent 36a5ac4 commit 029cd15
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 4 deletions.
Expand Up @@ -31,11 +31,12 @@ const DEFAULT = {
pragmaFrag: "React.Fragment",
};

const JSX_SOURCE_ANNOTATION_REGEX = /\*?\s*@jsxImportSource\s+([^\s]+)/;
const JSX_RUNTIME_ANNOTATION_REGEX = /\*?\s*@jsxRuntime\s+([^\s]+)/;
const JSX_SOURCE_ANNOTATION_REGEX =
/^\s*\*?\s*@jsxImportSource\s+([^\s]+)\s*$/m;
const JSX_RUNTIME_ANNOTATION_REGEX = /^\s*\*?\s*@jsxRuntime\s+([^\s]+)\s*$/m;

const JSX_ANNOTATION_REGEX = /\*?\s*@jsx\s+([^\s]+)/;
const JSX_FRAG_ANNOTATION_REGEX = /\*?\s*@jsxFrag\s+([^\s]+)/;
const JSX_ANNOTATION_REGEX = /^\s*\*?\s*@jsx\s+([^\s]+)\s*$/m;
const JSX_FRAG_ANNOTATION_REGEX = /^\s*\*?\s*@jsxFrag\s+([^\s]+)\s*$/m;

const get = (pass: PluginPass, name: string) =>
pass.get(`@babel/plugin-react-jsx/${name}`);
Expand Down
@@ -0,0 +1,5 @@
/**
* @jsx jsx
*/

<foo />
@@ -0,0 +1,4 @@
/**
* @jsx jsx
*/
jsx("foo", null);
@@ -0,0 +1,2 @@
// Make sure not to use a jsx pragma here (like "@jsx Something"), we need this to be React.createElement!
<blah/>
@@ -0,0 +1,4 @@
// Make sure not to use a jsx pragma here (like "@jsx Something"), we need this to be React.createElement!

/*#__PURE__*/
React.createElement("blah", null);

0 comments on commit 029cd15

Please sign in to comment.