Restore default pragmas in preset-react for classic runtime (#11324)
This commit is contained in:
parent
9b976b2164
commit
6a728a05a8
@ -41,7 +41,7 @@ export default declare((api, options) => {
|
||||
|
||||
post(state, pass) {
|
||||
state.callee = pass.get("jsxIdentifier")();
|
||||
state.pure = PURE_ANNOTATION ?? !pass.get("pragmaSet");
|
||||
state.pure = PURE_ANNOTATION ?? pass.get("pragma") === DEFAULT.pragma;
|
||||
},
|
||||
|
||||
throwIfNamespace: THROW_IF_NAMESPACE,
|
||||
@ -74,6 +74,7 @@ export default declare((api, options) => {
|
||||
state.set("jsxIdentifier", createIdentifierParser(pragma));
|
||||
state.set("jsxFragIdentifier", createIdentifierParser(pragmaFrag));
|
||||
state.set("usedFragment", false);
|
||||
state.set("pragma", pragma);
|
||||
state.set("pragmaSet", pragmaSet);
|
||||
state.set("pragmaFragSet", pragmaFragSet);
|
||||
},
|
||||
|
||||
@ -8,9 +8,9 @@ import transformReactJSXSelf from "@babel/plugin-transform-react-jsx-self";
|
||||
export default declare((api, opts) => {
|
||||
api.assertVersion(7);
|
||||
|
||||
let { pragma, pragmaFrag } = opts;
|
||||
|
||||
const {
|
||||
pragma,
|
||||
pragmaFrag,
|
||||
pure,
|
||||
throwIfNamespace = true,
|
||||
useSpread,
|
||||
@ -18,6 +18,12 @@ export default declare((api, opts) => {
|
||||
importSource,
|
||||
} = opts;
|
||||
|
||||
// TODO: (Babel 8) Remove setting these defaults
|
||||
if (runtime === "classic") {
|
||||
pragma = pragma || "React.createElement";
|
||||
pragmaFrag = pragmaFrag || "React.Fragment";
|
||||
}
|
||||
|
||||
// TODO: (Babel 8) Don't cast these options but validate it
|
||||
const development = !!opts.development;
|
||||
const useBuiltIns = !!opts.useBuiltIns;
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
/** @jsx jsx */
|
||||
|
||||
const Foo = <></>;
|
||||
@ -0,0 +1,3 @@
|
||||
{
|
||||
"presets": ["react"]
|
||||
}
|
||||
@ -0,0 +1,2 @@
|
||||
/** @jsx jsx */
|
||||
const Foo = jsx(React.Fragment, null);
|
||||
Loading…
x
Reference in New Issue
Block a user