1 | "use strict";
|
2 |
|
3 | exports.__esModule = true;
|
4 | exports.default = void 0;
|
5 |
|
6 | var _pluginTransformReactJsx = _interopRequireDefault(require("@babel/plugin-transform-react-jsx"));
|
7 |
|
8 | var _plugin = _interopRequireDefault(require("./plugin"));
|
9 |
|
10 | var _addPragma = _interopRequireDefault(require("./utils/addPragma"));
|
11 |
|
12 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
13 |
|
14 | const pragma = '__AstroturfJSX';
|
15 |
|
16 | function 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 |
|
39 | var _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 |
|
55 | exports.default = _default; |
\ | No newline at end of file |