diff --git a/.changeset/loud-emus-look.md b/.changeset/loud-emus-look.md new file mode 100644 index 000000000000..ec07dec9c157 --- /dev/null +++ b/.changeset/loud-emus-look.md @@ -0,0 +1,5 @@ +--- +'astro': patch +--- + +Remove all assets created from the server build diff --git a/.changeset/tame-spoons-shop.md b/.changeset/tame-spoons-shop.md new file mode 100644 index 000000000000..e0d80ecdb92c --- /dev/null +++ b/.changeset/tame-spoons-shop.md @@ -0,0 +1,5 @@ +--- +'astro': patch +--- + +Clean server sourcemaps from static output diff --git a/packages/astro/src/core/build/index.ts b/packages/astro/src/core/build/index.ts index 4253b8802f5a..e6e4bac66fcd 100644 --- a/packages/astro/src/core/build/index.ts +++ b/packages/astro/src/core/build/index.ts @@ -204,8 +204,8 @@ class AstroBuilder { key: keyPromise, }; - const { internals, ssrOutputChunkNames, contentFileNames } = await viteBuild(opts); - await staticBuild(opts, internals, ssrOutputChunkNames, contentFileNames); + const { internals, ssrOutputChunkNames } = await viteBuild(opts); + await staticBuild(opts, internals, ssrOutputChunkNames); // Write any additionally generated assets to disk. this.timer.assetsStart = performance.now(); diff --git a/packages/astro/src/core/build/static-build.ts b/packages/astro/src/core/build/static-build.ts index 7bb73d5e5de9..afd878f8107e 100644 --- a/packages/astro/src/core/build/static-build.ts +++ b/packages/astro/src/core/build/static-build.ts @@ -111,10 +111,6 @@ export async function viteBuild(opts: StaticBuildOptions) { const ssrOutputs = viteBuildReturnToRollupOutputs(ssrOutput); const clientOutputs = viteBuildReturnToRollupOutputs(clientOutput ?? []); await runPostBuildHooks(container, ssrOutputs, clientOutputs); - let contentFileNames: string[] | undefined = undefined; - if (opts.settings.config.experimental.contentCollectionCache) { - contentFileNames = await copyContentToCache(opts); - } settings.timer.end('Client build'); // Free up memory @@ -134,26 +130,24 @@ export async function viteBuild(opts: StaticBuildOptions) { } } - return { internals, ssrOutputChunkNames, contentFileNames }; + return { internals, ssrOutputChunkNames }; } export async function staticBuild( opts: StaticBuildOptions, internals: BuildInternals, ssrOutputChunkNames: string[], - contentFileNames?: string[], ) { const { settings } = opts; if (settings.config.output === 'static') { settings.timer.start('Static generate'); await generatePages(opts, internals); - await cleanServerOutput(opts, ssrOutputChunkNames, contentFileNames, internals); + await cleanServerOutput(opts, ssrOutputChunkNames, internals); settings.timer.end('Static generate'); } else if (isServerLikeOutput(settings.config)) { settings.timer.start('Server generate'); await generatePages(opts, internals); await cleanStaticOutput(opts, internals); - opts.logger.info(null, `\n${bgMagenta(black(' finalizing server assets '))}\n`); await ssrMoveAssets(opts); settings.timer.end('Server generate'); } @@ -412,14 +406,11 @@ async function cleanStaticOutput(opts: StaticBuildOptions, internals: BuildInter async function cleanServerOutput( opts: StaticBuildOptions, ssrOutputChunkNames: string[], - contentFileNames: string[] | undefined, internals: BuildInternals, ) { const out = getOutDirWithinCwd(opts.settings.config.outDir); // The SSR output chunks for Astro are all .mjs files - const files = ssrOutputChunkNames - .filter((f) => f.endsWith('.mjs')) - .concat(contentFileNames ?? []); + const files = ssrOutputChunkNames.filter((f) => f.endsWith('.mjs')); if (internals.manifestFileName) { files.push(internals.manifestFileName); } @@ -428,7 +419,8 @@ async function cleanServerOutput( await Promise.all( files.map(async (filename) => { const url = new URL(filename, out); - await fs.promises.rm(url); + const map = new URL(url + '.map'); + await Promise.all([fs.promises.rm(url), fs.promises.rm(new URL(map)).catch(() => {})]); }), ); diff --git a/packages/astro/test/astro-basic.test.js b/packages/astro/test/astro-basic.test.js index 0fc87dd6068e..dc88a1694982 100644 --- a/packages/astro/test/astro-basic.test.js +++ b/packages/astro/test/astro-basic.test.js @@ -172,6 +172,14 @@ describe('Astro basic build', () => { assert.doesNotMatch(otherHtml, /