summaryrefslogtreecommitdiff
path: root/packages/integrations/vercel/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/integrations/vercel/src')
-rw-r--r--packages/integrations/vercel/src/index.ts26
1 files changed, 20 insertions, 6 deletions
diff --git a/packages/integrations/vercel/src/index.ts b/packages/integrations/vercel/src/index.ts
index 2360de5e1..af2ede2f2 100644
--- a/packages/integrations/vercel/src/index.ts
+++ b/packages/integrations/vercel/src/index.ts
@@ -215,6 +215,20 @@ export default function vercelAdapter({
format: 'directory',
redirects: false,
},
+ integrations: [
+ {
+ name: 'astro:copy-vercel-output',
+ hooks: {
+ 'astro:build:done': async () => {
+ if (_buildOutput === 'static') {
+ cpSync(_config.outDir, new URL('./.vercel/output/static/', _config.root), {
+ recursive: true,
+ });
+ }
+ },
+ },
+ },
+ ],
vite: {
ssr: {
external: ['@vercel/nft'],
@@ -308,13 +322,13 @@ export default function vercelAdapter({
if (existsSync(staticDir)) {
emptyDir(staticDir);
}
- mkdirSync(new URL('./.vercel/output/static/', _config.root), { recursive: true });
+ mkdirSync(new URL('./.vercel/output/static/', _config.root), {
+ recursive: true,
+ });
- if (_buildOutput === 'static' && staticDir) {
- cpSync(_config.outDir, new URL('./.vercel/output/static/', _config.root), {
- recursive: true,
- });
- } else {
+ mkdirSync(new URL('./.vercel/output/server/', _config.root));
+
+ if (_buildOutput !== 'static') {
cpSync(_config.build.client, new URL('./.vercel/output/static/', _config.root), {
recursive: true,
});