aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Matt Kane <m@mk.gg> 2025-01-23 11:13:45 +0000
committerGravatar GitHub <noreply@github.com> 2025-01-23 11:13:45 +0000
commitef430a4238c26dfd4b354397c50fb1fac69eea1c (patch)
tree971bb9312031396da3202c6c99a3b3048cdae86e
parenta369ecc9ce5ee227266096a1f730348605c031c3 (diff)
downloadastro-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.ts14
-rw-r--r--packages/integrations/vercel/test/integration-assets.test.js16
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">'));
});