diff options
author | 2022-08-22 11:46:02 -0400 | |
---|---|---|
committer | 2022-08-22 11:46:02 -0400 | |
commit | 7820096e1ba29ecc58aa7e13311a255acd2fe977 (patch) | |
tree | e5d1e4e64dbc2d68869c8d90fcf3d6ad342894a6 | |
parent | 39088e11db2ab69b370616d7cb369952cd9fd266 (diff) | |
download | astro-7820096e1ba29ecc58aa7e13311a255acd2fe977.tar.gz astro-7820096e1ba29ecc58aa7e13311a255acd2fe977.tar.zst astro-7820096e1ba29ecc58aa7e13311a255acd2fe977.zip |
fix: correctly add `react-dom` alias to Vercel edge (#4421)
* fix: correctly add react-dom alias to vercel edge
* chore: changeset
-rw-r--r-- | .changeset/heavy-pants-change.md | 5 | ||||
-rw-r--r-- | packages/integrations/vercel/src/edge/adapter.ts | 13 |
2 files changed, 16 insertions, 2 deletions
diff --git a/.changeset/heavy-pants-change.md b/.changeset/heavy-pants-change.md new file mode 100644 index 000000000..32c7b30ef --- /dev/null +++ b/.changeset/heavy-pants-change.md @@ -0,0 +1,5 @@ +--- +'@astrojs/vercel': patch +--- + +Fix react-dom on Vercel edge diff --git a/packages/integrations/vercel/src/edge/adapter.ts b/packages/integrations/vercel/src/edge/adapter.ts index 84ecd7395..14dac655d 100644 --- a/packages/integrations/vercel/src/edge/adapter.ts +++ b/packages/integrations/vercel/src/edge/adapter.ts @@ -32,8 +32,17 @@ export default function vercelEdge(): AstroIntegration { if (target === 'server') { vite.resolve ||= {}; vite.resolve.alias ||= {}; - const alias = vite.resolve.alias as Record<string, string>; - alias['react-dom/server'] = 'react-dom/server.browser'; + + const aliases = [{ find: 'react-dom/server', replacement: 'react-dom/server.browser' }]; + + if (Array.isArray(vite.resolve.alias)) { + vite.resolve.alias = [...vite.resolve.alias, ...aliases]; + } else { + for (const alias of aliases) { + (vite.resolve.alias as Record<string, string>)[alias.find] = alias.replacement; + } + } + vite.ssr = { noExternal: true, }; |