UNPKG

2.22 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, '__esModule', { value: true });
4
5var _extends = require('@babel/runtime/helpers/extends');
6var _objectWithoutPropertiesLoose = require('@babel/runtime/helpers/objectWithoutPropertiesLoose');
7var jsx = require('@babel/plugin-transform-react-jsx');
8var pragmatic = require('@emotion/babel-plugin-jsx-pragmatic');
9var emotion = require('@emotion/babel-plugin');
10
11function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
12
13var jsx__default = /*#__PURE__*/_interopDefault(jsx);
14var pragmatic__default = /*#__PURE__*/_interopDefault(pragmatic);
15var emotion__default = /*#__PURE__*/_interopDefault(emotion);
16
17var _excluded = ["pragma", "sourceMap", "autoLabel", "labelFormat", "importMap"];
18var pragmaName = '___EmotionJSX'; // pull out the emotion options and pass everything else to the jsx transformer
19// this means if @babel/plugin-transform-react-jsx adds more options, it'll just work
20// and if @emotion/babel-plugin adds more options we can add them since this lives in
21// the same repo as @emotion/babel-plugin
22
23var index = (function (api, _temp) {
24 var _ref = _temp === void 0 ? {} : _temp;
25 _ref.pragma;
26 var sourceMap = _ref.sourceMap,
27 autoLabel = _ref.autoLabel,
28 labelFormat = _ref.labelFormat,
29 importMap = _ref.importMap,
30 options = _objectWithoutPropertiesLoose(_ref, _excluded);
31
32 if (options.runtime) {
33 throw new Error('The `runtime` option has been removed. If you want to configure `runtime: "automatic"`, replace `@emotion/babel-preset-css-prop` with `@babel/preset-react` and `@emotion/babel-plugin`. You can find out how to configure things properly here: https://emotion.sh/docs/css-prop#babel-preset');
34 }
35
36 return {
37 plugins: [[pragmatic__default["default"], {
38 "export": 'jsx',
39 module: '@emotion/react',
40 "import": pragmaName
41 }], [jsx__default["default"], _extends({
42 pragma: pragmaName,
43 pragmaFrag: 'React.Fragment'
44 }, options)], [emotion__default["default"], {
45 sourceMap: sourceMap,
46 autoLabel: autoLabel,
47 labelFormat: labelFormat,
48 cssPropOptimization: true,
49 importMap: importMap
50 }]]
51 };
52});
53
54exports["default"] = index;