From dcc98ddf098411fc1d0d3bfeed5bb4fb8378c959 Mon Sep 17 00:00:00 2001 From: mitchellhamilton Date: Fri, 8 Nov 2019 20:56:09 +1000 Subject: [PATCH] Fix a bug --- packages/babel-plugin-emotion/src/index.js | 1 + .../__tests__/__fixtures__/array-css-prop.js | 3 +++ .../__tests__/__snapshots__/index.js.snap | 24 +++++++++++++++++++ .../__snapshots__/options-are-used.js.snap | 24 +++++++++++++++++++ 4 files changed, 52 insertions(+) create mode 100644 packages/babel-preset-css-prop/__tests__/__fixtures__/array-css-prop.js diff --git a/packages/babel-plugin-emotion/src/index.js b/packages/babel-plugin-emotion/src/index.js index b89125b84..55aa255ad 100644 --- a/packages/babel-plugin-emotion/src/index.js +++ b/packages/babel-plugin-emotion/src/index.js @@ -148,6 +148,7 @@ export default function(babel: *) { export: string, cssExport: string | null }> = [{ specifier: '@emotion/core', export: 'jsx', cssExport: 'css' }] + state.jsxCoreImport = jsxCoreImports[0] Object.keys(state.opts.importMap || {}).forEach(specifierName => { let value = state.opts.importMap[specifierName] let transformers = {} diff --git a/packages/babel-preset-css-prop/__tests__/__fixtures__/array-css-prop.js b/packages/babel-preset-css-prop/__tests__/__fixtures__/array-css-prop.js new file mode 100644 index 000000000..54a8dff97 --- /dev/null +++ b/packages/babel-preset-css-prop/__tests__/__fixtures__/array-css-prop.js @@ -0,0 +1,3 @@ +import * as React from 'react' + +const Component = props =>
diff --git a/packages/babel-preset-css-prop/__tests__/__snapshots__/index.js.snap b/packages/babel-preset-css-prop/__tests__/__snapshots__/index.js.snap index 385243dd8..d4fee21ac 100644 --- a/packages/babel-preset-css-prop/__tests__/__snapshots__/index.js.snap +++ b/packages/babel-preset-css-prop/__tests__/__snapshots__/index.js.snap @@ -1,5 +1,29 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`@emotion/babel-preset-css-prop array-css-prop 1`] = ` +"import * as React from 'react' + +const Component = props =>
+ + + ↓ ↓ ↓ ↓ ↓ ↓ + +import { css as _css } from \\"@emotion/core\\"; + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +import * as React from 'react'; +import { jsx as ___EmotionJSX } from \\"@emotion/core\\"; + +const Component = props => ___EmotionJSX(\\"div\\", _extends({ + css: + /*#__PURE__*/ + _css([{ + color: 'green' + }], \\";label:Component;\\" + (process.env.NODE_ENV === \\"production\\" ? \\"\\" : \\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFycmF5LWNzcy1wcm9wLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVnQyIsImZpbGUiOiJhcnJheS1jc3MtcHJvcC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0J1xuXG5jb25zdCBDb21wb25lbnQgPSBwcm9wcyA9PiA8ZGl2IGNzcz17W3sgY29sb3I6ICdncmVlbicgfV19IHsuLi5wcm9wc30gLz5cbiJdfQ== */\\")) +}, props));" +`; + exports[`@emotion/babel-preset-css-prop index 1`] = ` "import * as React from 'react' diff --git a/packages/babel-preset-css-prop/__tests__/__snapshots__/options-are-used.js.snap b/packages/babel-preset-css-prop/__tests__/__snapshots__/options-are-used.js.snap index 3b783f381..1dafebc8a 100644 --- a/packages/babel-preset-css-prop/__tests__/__snapshots__/options-are-used.js.snap +++ b/packages/babel-preset-css-prop/__tests__/__snapshots__/options-are-used.js.snap @@ -1,5 +1,29 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`options are used array-css-prop 1`] = ` +"import * as React from 'react' + +const Component = props =>
+ + + ↓ ↓ ↓ ↓ ↓ ↓ + +import { css as _css } from \\"@emotion/core\\"; + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +import * as React from 'react'; +import { jsx as ___EmotionJSX } from \\"@emotion/core\\"; + +const Component = props => ___EmotionJSX(\\"div\\", _extends({ + css: + /*#__PURE__*/ + _css([{ + color: 'green' + }], \\";label:__fixtures__--array-css-prop--Component;\\") +}, props));" +`; + exports[`options are used index 1`] = ` "import * as React from 'react'