diff options
author | 2025-01-23 11:13:45 +0000 | |
---|---|---|
committer | 2025-01-23 11:13:45 +0000 | |
commit | ef430a4238c26dfd4b354397c50fb1fac69eea1c (patch) | |
tree | 971bb9312031396da3202c6c99a3b3048cdae86e | |
parent | a369ecc9ce5ee227266096a1f730348605c031c3 (diff) | |
download | astro-ef430a4238c26dfd4b354397c50fb1fac69eea1c.tar.gz astro-ef430a4238c26dfd4b354397c50fb1fac69eea1c.tar.zst astro-ef430a4238c26dfd4b354397c50fb1fac69eea1c.zip |
fix(vercel): handle integration static assets in non-static sites (#516)
* fix: arrange assets for server output too
* Changeset
* Format
-rw-r--r-- | packages/integrations/vercel/src/index.ts | 14 | ||||
-rw-r--r-- | packages/integrations/vercel/test/integration-assets.test.js | 16 |
2 files changed, 16 insertions, 14 deletions
diff --git a/packages/integrations/vercel/src/index.ts b/packages/integrations/vercel/src/index.ts index af2ede2f2..6b46512ec 100644 --- a/packages/integrations/vercel/src/index.ts +++ b/packages/integrations/vercel/src/index.ts @@ -220,11 +220,12 @@ export default function vercelAdapter({ 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, - }); - } + logger.info('Copying static files to .vercel/output/static'); + const staticDir = + _buildOutput === 'static' ? _config.outDir : _config.build.client; + cpSync(staticDir, new URL('./.vercel/output/static/', _config.root), { + recursive: true, + }); }, }, }, @@ -329,9 +330,6 @@ export default function vercelAdapter({ mkdirSync(new URL('./.vercel/output/server/', _config.root)); if (_buildOutput !== 'static') { - cpSync(_config.build.client, new URL('./.vercel/output/static/', _config.root), { - recursive: true, - }); cpSync(_config.build.server, new URL('./.vercel/output/_functions/', _config.root), { recursive: true, }); diff --git a/packages/integrations/vercel/test/integration-assets.test.js b/packages/integrations/vercel/test/integration-assets.test.js index 76489974c..6bf8edc4e 100644 --- a/packages/integrations/vercel/test/integration-assets.test.js +++ b/packages/integrations/vercel/test/integration-assets.test.js @@ -3,17 +3,21 @@ import { before, describe, it } from 'node:test'; import { loadFixture } from './test-utils.js'; describe('Assets generated by integrations', () => { - /** @type {import('./test-utils.js').Fixture} */ - let fixture; - - before(async () => { - fixture = await loadFixture({ + it('moves static assets generated by integrations to the correct location: static output', async () => { + const fixture = await loadFixture({ root: './fixtures/integration-assets/', }); await fixture.build(); + const sitemap = await fixture.readFile('../.vercel/output/static/sitemap-index.xml'); + assert(sitemap.includes('<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">')); }); - it('moves static assets generated by integrations to the correct location', async () => { + it('moves static assets generated by integrations to the correct location: server output', async () => { + const fixture = await loadFixture({ + root: './fixtures/integration-assets/', + output: 'server', + }); + await fixture.build(); const sitemap = await fixture.readFile('../.vercel/output/static/sitemap-index.xml'); assert(sitemap.includes('<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">')); }); |