UNPKG

2.24 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.default = void 0;
7
8var _helperPluginUtils = require("@babel/helper-plugin-utils");
9
10var _pluginTransformReactJsx = _interopRequireDefault(require("@babel/plugin-transform-react-jsx"));
11
12var _pluginTransformReactJsxDevelopment = _interopRequireDefault(require("@babel/plugin-transform-react-jsx-development"));
13
14var _pluginTransformReactDisplayName = _interopRequireDefault(require("@babel/plugin-transform-react-display-name"));
15
16var _pluginTransformReactJsxSource = _interopRequireDefault(require("@babel/plugin-transform-react-jsx-source"));
17
18var _pluginTransformReactJsxSelf = _interopRequireDefault(require("@babel/plugin-transform-react-jsx-self"));
19
20var _pluginTransformReactPureAnnotations = _interopRequireDefault(require("@babel/plugin-transform-react-pure-annotations"));
21
22function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
24var _default = (0, _helperPluginUtils.declare)((api, opts) => {
25 api.assertVersion(7);
26 let {
27 pragma,
28 pragmaFrag
29 } = opts;
30 const {
31 pure,
32 throwIfNamespace = true,
33 useSpread,
34 runtime = "classic",
35 importSource
36 } = opts;
37
38 if (runtime === "classic") {
39 pragma = pragma || "React.createElement";
40 pragmaFrag = pragmaFrag || "React.Fragment";
41 }
42
43 const development = !!opts.development;
44 const useBuiltIns = !!opts.useBuiltIns;
45
46 if (typeof development !== "boolean") {
47 throw new Error("@babel/preset-react 'development' option must be a boolean.");
48 }
49
50 const transformReactJSXPlugin = runtime === "automatic" && development ? _pluginTransformReactJsxDevelopment.default : _pluginTransformReactJsx.default;
51 return {
52 plugins: [[transformReactJSXPlugin, {
53 importSource,
54 pragma,
55 pragmaFrag,
56 runtime,
57 throwIfNamespace,
58 useBuiltIns,
59 useSpread,
60 pure
61 }], _pluginTransformReactDisplayName.default, pure !== false && _pluginTransformReactPureAnnotations.default, development && runtime === "classic" && _pluginTransformReactJsxSource.default, development && runtime === "classic" && _pluginTransformReactJsxSelf.default].filter(Boolean)
62 };
63});
64
65exports.default = _default;
\No newline at end of file