
Emotionを10系から11系にアップグレード
2022/08/13背景
ブログで利用しているnode_modulesをアップグレードしており, 以下のようにアップグレードした.
- @emotion/core 10.0.22 -> 11.0.0
- @emotion/styled 10.0.23 -> 11.10.0
他にも変更があったようだが, 自分のブログでは上記の2つのみ利用していた.
@emotion/react
アップデート後にとりあえずbuildしてみると, 以下のようなエラーが出た.
WebpackError: The `@emotion/core` package has been renamed to `@emotion/react`. Please import it like this `import { jsx } from '@emotion/react'`.パッケージ名が @emotion/core から @emotion/react に変わったようなので, それに対応していく.
まずはインストールする.
$ yarn add @emotion/reactそしてインポート文を書き換えていく.
import { css, SerializedStyles } from '@emotion/core'
↓
import { css, SerializedStyles } from '@emotion/react'build error
再度, yarn gatsby build してみると以下の2つのエラーが出るようになった.
Property 'css' does not exist on type 'DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>'.Cannot find namespace 'NodeJS'解決策
@emotion/core 11.0.0 のダウングレード.
$ yarn add @emotion/core@10.1.1tsconfig.json のcompilerOptionsに以下を追加する.
{
"compilerOptions": {
"types": ["@emotion/react/types/css-prop", "node"]
}
}Twitterフォロー待ってます!