buildAllGroupBundles(groupConfigs: Config[]): Promise<void>
Builds all concurrent group bundles with a single esbuild invocation.
The key win over N separate buildTestBundle() calls: esbuild constructs the module graph once for all entry points. Shared dependencies — qunitx (~270 KB), node_modules packages, common test utilities — are parsed, resolved, and tree-shaken exactly once regardless of group count, rather than N times in parallel.
Each group gets a virtual entry point via an esbuild plugin. Outputs land in memory (write:false), then are written to each group's output directory in parallel.
import type { Config } from '../../types.ts'; // Defined, not invoked: one esbuild invocation shared by every concurrent group. async function bundleGroups(groupConfigs: Config[]) { await buildAllGroupBundles(groupConfigs); // each group's build.allTestCode populated }
groupConfigs: Config[]