test: collect bundle sizes in parallel

This commit is contained in:
Daniel Roe 2024-09-13 11:50:36 +01:00
parent 944635182a
commit 2fde562946
No known key found for this signature in database
GPG Key ID: 3714AB03996F442B

View File

@ -16,17 +16,22 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM
}, 120 * 1000) }, 120 * 1000)
// Identical behaviour between inline/external vue options as this should only affect the server build // Identical behaviour between inline/external vue options as this should only affect the server build
for (const outputDir of ['.output', '.output-inline']) {
it('default client bundle size', async () => { it('default client bundle size', async () => {
const clientStats = await analyzeSizes(['**/*.js'], join(rootDir, outputDir, 'public')) const [clientStats, clientStatsInlined] = await Promise.all(['.output', '.output-inline']
.map(outputDir => analyzeSizes(['**/*.js'], join(rootDir, outputDir, 'public'))))
expect.soft(roundToKilobytes(clientStats.totalBytes)).toMatchInlineSnapshot(`"114k"`) expect.soft(roundToKilobytes(clientStats.totalBytes)).toMatchInlineSnapshot(`"114k"`)
expect(clientStats.files.map(f => f.replace(/\..*\.js/, '.js'))).toMatchInlineSnapshot(` expect.soft(roundToKilobytes(clientStatsInlined.totalBytes)).toMatchInlineSnapshot(`"114k"`)
const files = new Set([...clientStats.files, ...clientStatsInlined.files].map(f => f.replace(/\..*\.js/, '.js')))
expect(files).toMatchInlineSnapshot(`
[ [
"_nuxt/entry.js", "_nuxt/entry.js",
] ]
`) `)
}) })
}
it('default server bundle size', async () => { it('default server bundle size', async () => {
const serverDir = join(rootDir, '.output/server') const serverDir = join(rootDir, '.output/server')