UNPKG

1.2 kBJavaScriptView Raw
1"use strict";
2
3exports.__esModule = true;
4exports.default = void 0;
5
6var _pluginTransformReactJsx = _interopRequireDefault(require("@babel/plugin-transform-react-jsx"));
7
8var _plugin = _interopRequireDefault(require("./plugin"));
9
10var _addPragma = _interopRequireDefault(require("./utils/addPragma"));
11
12function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
14const pragma = '__AstroturfJSX';
15
16function pragmaPlugin() {
17 return {
18 visitor: {
19 Program: {
20 exit(path, state) {
21 if (!state.file.get('jsxDetected')) return;
22 (0, _addPragma.default)(path, state.opts.import, false);
23 }
24
25 },
26
27 JSXElement(_, state) {
28 state.file.set('jsxDetected', true);
29 },
30
31 JSXFragment(_, state) {
32 state.file.set('jsxDetected', true);
33 }
34
35 }
36 };
37}
38
39var _default = (_, {
40 jsxOptions,
41 ...options
42} = {}) => {
43 return {
44 plugins: [[pragmaPlugin, {
45 import: pragma
46 }], [_pluginTransformReactJsx.default, { ...jsxOptions,
47 pragma,
48 pragmaFrag: `React.Fragment`
49 }], [_plugin.default, { ...options,
50 jsxPragma: false
51 }]]
52 };
53};
54
55exports.default = _default;
\No newline at end of file