Skip to content

Commit

Permalink
fix(deps): update emotion monorepo to v11 (major) (#1876)
Browse files Browse the repository at this point in the history
* fix(deps): update emotion monorepo to v11

* fix: emotion css prop support for TS

* fix: reference emotion css types in each package

* chore: rebase leftover

* docs: changeset

* docs: adjust comment

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Nicola Molinari <nicola.molinari@commercetools.de>
  • Loading branch information
3 people authored Nov 23, 2020
1 parent e2d519f commit d832bd4
Show file tree
Hide file tree
Showing 44 changed files with 222 additions and 73 deletions.
8 changes: 8 additions & 0 deletions .changeset/large-taxis-deny.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"@commercetools-frontend/application-components": patch
"@commercetools-frontend/application-shell": patch
"@commercetools-frontend/babel-preset-mc-app": patch
"@commercetools-frontend/react-notifications": patch
---

Migrate to emotion v11. https://emotion.sh/docs/emotion-11
13 changes: 13 additions & 0 deletions @types-extensions/emotion.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/**
* https://emotion.sh/docs/emotion-11#css-prop-types
*
* However, if you are stuck with older version of TypeScript or using the
* classic runtime implicitly by using our `@emotion/babel-preset-css-prop`
* then it’s not possible to leverage `css` prop support being added conditionally
* based on a type of rendered component.
* For those cases we have added a special file that can be imported once
* to add support for the `css` prop globally, for all components.
*
* TODO: remove this once we switch to automatic jsx runtime
*/
/// <reference types="@emotion/react/types/css-prop" />
4 changes: 2 additions & 2 deletions packages/application-components/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@
"@commercetools-uikit/secondary-icon-button": "^10.40.0",
"@commercetools-uikit/spacings": "^10.40.0",
"@commercetools-uikit/text": "10.40.0",
"@emotion/core": "10.1.1",
"@emotion/styled": "10.0.27",
"@emotion/react": "11.1.1",
"@emotion/styled": "11.0.0",
"@types/lodash": "^4.14.155",
"@types/prop-types": "^15.7.3",
"@types/react-modal": "^3.10.4",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React from 'react';
import Modal from 'react-modal';
import { css, ClassNames } from '@emotion/core';
import { css, ClassNames } from '@emotion/react';
import styled from '@emotion/styled';
import { PORTALS_CONTAINER_ID } from '@commercetools-frontend/constants';
import { customProperties } from '@commercetools-uikit/design-system';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React from 'react';
import { css } from '@emotion/core';
import { css } from '@emotion/react';
import { CloseIcon } from '@commercetools-uikit/icons';
import SecondaryIconButton from '@commercetools-uikit/secondary-icon-button';
import Text from '@commercetools-uikit/text';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { css } from '@emotion/core';
import { css } from '@emotion/react';
import { customProperties } from '@commercetools-uikit/design-system';

type StyleProps = {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React from 'react';
import PropTypes from 'prop-types';
import { css } from '@emotion/core';
import { css } from '@emotion/react';
import Constraints from '@commercetools-uikit/constraints';
import Text from '@commercetools-uikit/text';
import Spacings from '@commercetools-uikit/spacings';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import React from 'react';
import { customProperties } from '@commercetools-uikit/design-system';
import Text from '@commercetools-uikit/text';
import { css } from '@emotion/core';
import { css } from '@emotion/react';
import styled from '@emotion/styled';

type Props = {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React from 'react';
import { customProperties } from '@commercetools-uikit/design-system';
import { css } from '@emotion/core';
import { css } from '@emotion/react';
import ModalPageHeaderTitle from './modal-page-header-title';

type Props = {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React from 'react';
import { css } from '@emotion/core';
import { css } from '@emotion/react';
import styled from '@emotion/styled';
import { useIntl } from 'react-intl';
import { CloseIcon, AngleLeftIcon } from '@commercetools-uikit/icons';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { css } from '@emotion/core';
import { css } from '@emotion/react';
import styled from '@emotion/styled';
import { customProperties } from '@commercetools-uikit/design-system';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React from 'react';
import Modal from 'react-modal';
import { ClassNames } from '@emotion/core';
import { ClassNames } from '@emotion/react';
import { PORTALS_CONTAINER_ID } from '@commercetools-frontend/constants';
import {
TRANSITION_DURATION,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React from 'react';
import { css } from '@emotion/core';
import { css } from '@emotion/react';
import { customProperties } from '@commercetools-uikit/design-system';
import Spacings from '@commercetools-uikit/spacings';
import { sharedMessages } from '@commercetools-frontend/i18n';
Expand Down
14 changes: 14 additions & 0 deletions packages/application-components/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
/**
* https://emotion.sh/docs/emotion-11#css-prop-types
*
* However, if you are stuck with older version of TypeScript or using the
* classic runtime implicitly by using our `@emotion/babel-preset-css-prop`
* then it’s not possible to leverage `css` prop support being added conditionally
* based on a type of rendered component.
* For those cases we have added a special file that can be imported once
* to add support for the `css` prop globally, for all components.
*
* TODO: remove this once we switch to automatic jsx runtime
*/
/// <reference types="@emotion/react/types/css-prop" />

export { default as version } from './version';

// Maintenance pages
Expand Down
4 changes: 2 additions & 2 deletions packages/application-shell/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,8 @@
"@commercetools-uikit/select-input": "^10.40.1",
"@commercetools-uikit/spacings": "^10.40.0",
"@commercetools-uikit/text": "^10.40.0",
"@emotion/core": "10.1.1",
"@emotion/styled": "10.0.27",
"@emotion/react": "11.1.1",
"@emotion/styled": "11.0.0",
"@flopflip/launchdarkly-adapter": "2.15.7",
"@flopflip/types": "2.5.10",
"@flopflip/memory-adapter": "1.9.7",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import type { TApplicationsMenu } from '../../types/generated/proxy';

import React from 'react';
import { Link } from 'react-router-dom';
import { css } from '@emotion/core';
import { css } from '@emotion/react';
import Spacings from '@commercetools-uikit/spacings';
import { customProperties } from '@commercetools-uikit/design-system';
import LogoSVG from '@commercetools-frontend/assets/images/logo.svg';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React from 'react';
import { css } from '@emotion/core';
import { css } from '@emotion/react';
import LoadingSpinner from '@commercetools-uikit/loading-spinner';
import { customProperties } from '@commercetools-uikit/design-system';
import CTLogoSVG from '@commercetools-frontend/assets/images/ct-logo.svg';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import type { TrackingList } from '../../utils/gtm';
import React from 'react';
import { Redirect, Route, Switch, useLocation } from 'react-router-dom';
import { ApolloClient } from '@apollo/client';
import { Global, css } from '@emotion/core';
import { Global, css } from '@emotion/react';
import styled from '@emotion/styled';
import {
joinPaths,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { keyframes } from '@emotion/core';
import { keyframes } from '@emotion/react';
import styled from '@emotion/styled';
import { customProperties } from '@commercetools-uikit/design-system';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import type { SingleValueProps } from 'react-select';

import React from 'react';
import PropTypes from 'prop-types';
import { css } from '@emotion/core';
import { css } from '@emotion/react';
import SelectInput from '@commercetools-uikit/select-input';
import { WorldIcon } from '@commercetools-uikit/icons';
import { customProperties } from '@commercetools-uikit/design-system';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React from 'react';
import { css } from '@emotion/core';
import { css } from '@emotion/react';
import { PORTALS_CONTAINER_ID } from '@commercetools-frontend/constants';

// This is used so we can render all overlays inside here
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import type {
import React from 'react';
import memoize from 'memoize-one';
import { FormattedMessage, useIntl } from 'react-intl';
import { css } from '@emotion/core';
import { css } from '@emotion/react';
import { GRAPHQL_TARGETS } from '@commercetools-frontend/constants';
import { reportErrorToSentry } from '@commercetools-frontend/sentry';
import SelectInput from '@commercetools-uikit/select-input';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import type { Command } from '../types';

import React from 'react';
import PropTypes from 'prop-types';
import { css } from '@emotion/core';
import { css } from '@emotion/react';
import { AngleThinRightIcon } from '@commercetools-uikit/icons';
import { customProperties } from '@commercetools-uikit/design-system';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import React from 'react';
import Fuse from 'fuse.js';
import { FormattedMessage, useIntl } from 'react-intl';
import last from 'lodash/last';
import { css, keyframes, ClassNames } from '@emotion/core';
import { css, keyframes, ClassNames } from '@emotion/react';
import LoadingSpinner from '@commercetools-uikit/loading-spinner';
import { SearchIcon } from '@commercetools-uikit/icons';
import { customProperties } from '@commercetools-uikit/design-system';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React from 'react';
import { css } from '@emotion/core';
import { css } from '@emotion/react';
import Spacings from '@commercetools-uikit/spacings';
import { ContentNotification } from '@commercetools-uikit/notifications';
import Text from '@commercetools-uikit/text';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import type {
import React from 'react';
import { Link } from 'react-router-dom';
import { useIntl, FormattedMessage } from 'react-intl';
import { css } from '@emotion/core';
import { css } from '@emotion/react';
import styled from '@emotion/styled';
import Downshift from 'downshift';
import { ToggleFeature } from '@flopflip/react-broadcast';
Expand Down
13 changes: 12 additions & 1 deletion packages/application-shell/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
/**
* THIS IS THE MODULE ENTRY POINT!
* https://emotion.sh/docs/emotion-11#css-prop-types
*
* However, if you are stuck with older version of TypeScript or using the
* classic runtime implicitly by using our `@emotion/babel-preset-css-prop`
* then it’s not possible to leverage `css` prop support being added conditionally
* based on a type of rendered component.
* For those cases we have added a special file that can be imported once
* to add support for the `css` prop globally, for all components.
*
* TODO: remove this once we switch to automatic jsx runtime
*/
/// <reference types="@emotion/react/types/css-prop" />

export { default as ApplicationShell } from './components/application-shell';
export { default as ApplicationShellProvider } from './components/application-shell-provider';
export { default as createApolloClient } from './configure-apollo';
Expand Down
2 changes: 1 addition & 1 deletion packages/babel-preset-mc-app/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ module.exports = function getBabePresetConfigForMcApp(api, opts = {}) {
// behavior for any plugins that require one.
...(opts.runtime === 'automatic'
? // https://emotion.sh/docs/css-prop#babel-preset
{ importSource: '@emotion/core' }
{ importSource: '@emotion/react' }
: { useBuiltIns: true }),
runtime: opts.runtime || 'classic',
},
Expand Down
4 changes: 2 additions & 2 deletions packages/babel-preset-mc-app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@
"@babel/preset-typescript": "7.12.1",
"@babel/runtime": "7.12.5",
"@babel/runtime-corejs3": "7.12.5",
"@emotion/babel-preset-css-prop": "10.2.1",
"babel-plugin-emotion": "10.0.33",
"@emotion/babel-preset-css-prop": "11.0.0",
"babel-plugin-emotion": "11.0.0",
"babel-plugin-dev-expression": "0.2.2",
"babel-plugin-macros": "2.8.0",
"babel-plugin-transform-react-remove-prop-types": "0.4.24",
Expand Down
4 changes: 2 additions & 2 deletions packages/react-notifications/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@
"@commercetools-uikit/icon-button": "^10.40.0",
"@commercetools-uikit/icons": "^10.40.1",
"@commercetools-uikit/spacings": "^10.40.0",
"@emotion/core": "10.1.1",
"@emotion/styled": "10.0.27",
"@emotion/react": "11.1.1",
"@emotion/styled": "11.0.0",
"@types/history": "^4.7.6",
"@types/lodash": "^4.14.155",
"@types/prop-types": "^15.7.3",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import type {
TAppNotificationDomain,
} from '@commercetools-frontend/constants';

import { css, keyframes } from '@emotion/core';
import { css, keyframes } from '@emotion/react';
import { customProperties } from '@commercetools-uikit/design-system';
import {
NOTIFICATION_DOMAINS,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import type { TAppNotificationDomain } from '@commercetools-frontend/constants';

import { css } from '@emotion/core';
import { css } from '@emotion/react';
import { customProperties } from '@commercetools-uikit/design-system';
import { NOTIFICATION_DOMAINS } from '@commercetools-frontend/constants';

Expand Down
14 changes: 14 additions & 0 deletions packages/react-notifications/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
/**
* https://emotion.sh/docs/emotion-11#css-prop-types
*
* However, if you are stuck with older version of TypeScript or using the
* classic runtime implicitly by using our `@emotion/babel-preset-css-prop`
* then it’s not possible to leverage `css` prop support being added conditionally
* based on a type of rendered component.
* For those cases we have added a special file that can be imported once
* to add support for the `css` prop globally, for all components.
*
* TODO: remove this once we switch to automatic jsx runtime
*/
/// <reference types="@emotion/react/types/css-prop" />

import type { TProps as MapNotificationToComponentProps } from './components/map-notification-to-component';

// Re-export type for convenience
Expand Down
22 changes: 5 additions & 17 deletions tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,7 @@
// See https://devblogs.microsoft.com/typescript/typescript-and-babel-7/
"isolatedModules": true,
"jsx": "react",
"lib": [
"ESNext",
"DOM"
],
"lib": ["ESNext", "DOM"],
"module": "ESNext",
"moduleResolution": "Node",
"noFallthroughCasesInSwitch": true,
Expand All @@ -33,24 +30,15 @@
"baseUrl": ".",
// https://stackoverflow.com/a/40326719
"paths": {
"*": [
"@types/*",
"*"
]
"*": ["@types/*", "*"]
},
"typeRoots": [
"@types",
"node_modules/@types"
]
"typeRoots": ["@types", "node_modules/@types"]
},
"include": [
"jest.d.ts",
"@types-extensions/*",
"**/*.spec.ts",
"**/*.spec.tsx"
],
"exclude": [
"**/node_modules",
"**/dist/**/*"
]
}
"exclude": ["**/node_modules", "**/dist/**/*"]
}
4 changes: 2 additions & 2 deletions visual-testing-app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
"@commercetools-uikit/text": "10.40.0",
"@commercetools-uikit/text-field": "10.40.1",
"@commercetools-uikit/text-input": "10.40.1",
"@emotion/core": "10.1.1",
"@emotion/styled": "10.0.27",
"@emotion/react": "11.1.1",
"@emotion/styled": "11.0.0",
"formik": "2.2.5",
"react": "16.14.0",
"react-dom": "16.14.0",
Expand Down
2 changes: 1 addition & 1 deletion visual-testing-app/src/index.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React from 'react';
import ReactDOM from 'react-dom';
import { css, Global } from '@emotion/core';
import { css, Global } from '@emotion/react';
import Application from './application';

ReactDOM.render(
Expand Down
4 changes: 2 additions & 2 deletions website-components-playground/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@
"@commercetools-uikit/text": "10.40.0",
"@commercetools-uikit/text-field": "10.40.1",
"@commercetools-uikit/text-input": "10.40.1",
"@emotion/core": "10.1.1",
"@emotion/styled": "10.0.27",
"@emotion/react": "11.1.1",
"@emotion/styled": "11.0.0",
"core-js": "3.7.0",
"fontsource-open-sans": "3.0.9",
"formik": "2.2.5",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React from 'react';
import PropTypes from 'prop-types';
import { css } from '@emotion/core';
import { css } from '@emotion/react';
import styled from '@emotion/styled';
import Spacings from '@commercetools-uikit/spacings';
import Text from '@commercetools-uikit/text';
Expand Down
Loading

1 comment on commit d832bd4

@vercel
Copy link

@vercel vercel bot commented on d832bd4 Nov 23, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.