Fix JSX pragma anywhere in comment (#14012)
* Fix JSX pragma anywhere in comment * jsx regex patterns support jsx docs * removed extra spaces from regex patterns
This commit is contained in:
parent
36a5ac4145
commit
029cd15bd9
@ -31,11 +31,12 @@ const DEFAULT = {
|
|||||||
pragmaFrag: "React.Fragment",
|
pragmaFrag: "React.Fragment",
|
||||||
};
|
};
|
||||||
|
|
||||||
const JSX_SOURCE_ANNOTATION_REGEX = /\*?\s*@jsxImportSource\s+([^\s]+)/;
|
const JSX_SOURCE_ANNOTATION_REGEX =
|
||||||
const JSX_RUNTIME_ANNOTATION_REGEX = /\*?\s*@jsxRuntime\s+([^\s]+)/;
|
/^\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_ANNOTATION_REGEX = /^\s*\*?\s*@jsx\s+([^\s]+)\s*$/m;
|
||||||
const JSX_FRAG_ANNOTATION_REGEX = /\*?\s*@jsxFrag\s+([^\s]+)/;
|
const JSX_FRAG_ANNOTATION_REGEX = /^\s*\*?\s*@jsxFrag\s+([^\s]+)\s*$/m;
|
||||||
|
|
||||||
const get = (pass: PluginPass, name: string) =>
|
const get = (pass: PluginPass, name: string) =>
|
||||||
pass.get(`@babel/plugin-react-jsx/${name}`);
|
pass.get(`@babel/plugin-react-jsx/${name}`);
|
||||||
|
|||||||
@ -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);
|
||||||
Loading…
x
Reference in New Issue
Block a user