UNPKG

2.41 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 _extends__default = /*#__PURE__*/_interopDefault(_extends);
14var _objectWithoutPropertiesLoose__default = /*#__PURE__*/_interopDefault(_objectWithoutPropertiesLoose);
15var jsx__default = /*#__PURE__*/_interopDefault(jsx);
16var pragmatic__default = /*#__PURE__*/_interopDefault(pragmatic);
17var emotion__default = /*#__PURE__*/_interopDefault(emotion);
18
19var pragmaName = '___EmotionJSX'; // pull out the emotion options and pass everything else to the jsx transformer
20// this means if @babel/plugin-transform-react-jsx adds more options, it'll just work
21// and if @emotion/babel-plugin adds more options we can add them since this lives in
22// the same repo as @emotion/babel-plugin
23
24var index = (function (api, _temp) {
25 var _ref = _temp === void 0 ? {} : _temp,
26 pragma = _ref.pragma,
27 sourceMap = _ref.sourceMap,
28 autoLabel = _ref.autoLabel,
29 labelFormat = _ref.labelFormat,
30 importMap = _ref.importMap,
31 options = _objectWithoutPropertiesLoose__default['default'](_ref, ["pragma", "sourceMap", "autoLabel", "labelFormat", "importMap"]);
32
33 if (options.runtime) {
34 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');
35 }
36
37 return {
38 plugins: [[pragmatic__default['default'], {
39 "export": 'jsx',
40 module: '@emotion/react',
41 "import": pragmaName
42 }], [jsx__default['default'], _extends__default['default']({
43 pragma: pragmaName,
44 pragmaFrag: 'React.Fragment'
45 }, options)], [emotion__default['default'], {
46 sourceMap: sourceMap,
47 autoLabel: autoLabel,
48 labelFormat: labelFormat,
49 cssPropOptimization: true,
50 importMap: importMap
51 }]]
52 };
53});
54
55exports.default = index;