Build edge/worker runtime with webworker ssr target (#7101)

This commit is contained in:
Bjorn Lu 2023-05-17 15:44:20 +08:00 committed by GitHub
parent 4516d7b22c
commit 2994bc52d3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 21 additions and 6 deletions

View file

@ -0,0 +1,5 @@
---
'@astrojs/vercel': patch
---
Add missing esbuild dependency

View file

@ -0,0 +1,7 @@
---
'@astrojs/cloudflare': patch
'@astrojs/vercel': patch
'@astrojs/solid-js': patch
---
Always build edge/worker runtime with Vite `webworker` SSR target

View file

@ -72,8 +72,8 @@ export default function createIntegration(args?: Options): AstroIntegration {
},
'astro:build:setup': ({ vite, target }) => {
if (target === 'server') {
vite.resolve = vite.resolve || {};
vite.resolve.alias = vite.resolve.alias || {};
vite.resolve ||= {};
vite.resolve.alias ||= {};
const aliases = [{ find: 'react-dom/server', replacement: 'react-dom/server.browser' }];
@ -84,8 +84,8 @@ export default function createIntegration(args?: Options): AstroIntegration {
(vite.resolve.alias as Record<string, string>)[alias.find] = alias.replacement;
}
}
vite.ssr = vite.ssr || {};
vite.ssr.target = vite.ssr.target || 'webworker';
vite.ssr ||= {};
vite.ssr.target = 'webworker';
}
},
'astro:build:done': async ({ pages }) => {

View file

@ -45,7 +45,6 @@ async function getViteConfiguration(isDev: boolean, astroConfig: AstroConfig) {
exclude: ['@astrojs/solid-js/server.js', ...solidPkgsConfig.optimizeDeps.exclude],
},
ssr: {
target: 'node',
external: ['babel-preset-solid', ...solidPkgsConfig.ssr.external],
noExternal: [...solidPkgsConfig.ssr.noExternal],
},

View file

@ -50,6 +50,7 @@
"@astrojs/webapi": "^2.1.1",
"@vercel/analytics": "^0.1.8",
"@vercel/nft": "^0.22.1",
"esbuild": "^0.17.12",
"fast-glob": "^3.2.11",
"set-cookie-parser": "^2.5.1",
"web-vitals": "^3.1.1"

View file

@ -101,7 +101,7 @@ export default function vercelEdge({
}
vite.ssr ||= {};
vite.ssr.target ||= 'webworker';
vite.ssr.target = 'webworker';
// Vercel edge runtime is a special webworker-ish environment that supports process.env,
// but Vite would replace away `process.env` in webworkers, so we set a define here to prevent it

View file

@ -4713,6 +4713,9 @@ importers:
'@vercel/nft':
specifier: ^0.22.1
version: 0.22.1
esbuild:
specifier: ^0.17.12
version: 0.17.12
fast-glob:
specifier: ^3.2.11
version: 3.2.11