[Expo] metro + stylis のエラーを解決する

2023年10月14日

Expo の web 版バンドラーを metro に変更しようとしたらエラーが発生したので備忘録。

Unable to resolve "stylis" from "node_modules/@emotion/cache
/dist/emotion-cache.browser.esm.js"

https://github.com/emotion-js/emotion/issues/1986 を参考に 'mjs'形式も読めるように修正する。 (cjs も念のため追加しておく)

metro.config.js

const { getDefaultConfig } = require('@expo/metro-config');
const { resolver: { sourceExts } } = getDefaultConfig(__dirname);
module.exports = {
  resolver: {
    sourceExts: [...sourceExts, 'cjs', 'mjs']
  }
}