@@ -71,8 +71,7 @@ export async function buildAction(actionContext: BuildActionContext): Promise<Ex
7171 return result ;
7272 }
7373
74- let collectedAssetsPromise : CollectedAssets | Promise < CollectedAssets > | undefined =
75- actionContext . collectedAssets ;
74+ let collectedAssets = actionContext . collectedAssets ;
7675 const filesToEmit : OutputFile [ ] = [ ] ;
7776
7877 if ( shouldCompileEntryPoints ) {
@@ -101,17 +100,10 @@ export async function buildAction(actionContext: BuildActionContext): Promise<Ex
101100 return result ;
102101 }
103102
104- if ( ! collectedAssetsPromise ) {
105- const promise = buildState . collectAssets ( options , modifiedFiles ) ;
106- // Prevent unhandled promise rejections if bundling returns early.
107- promise . catch ( ( ) => { } ) ;
108- collectedAssetsPromise = promise ;
109- }
110-
111103 const itemsToBundle = collectEntryPointsToBundle ( options , buildState ) ;
112104 let bundleOutput : BundleEntryPointsOutput ;
113105 try {
114- [ bundleOutput ] = await Promise . all ( [
106+ [ bundleOutput , , collectedAssets ] = await Promise . all ( [
115107 bundleEntryPoints (
116108 itemsToBundle ,
117109 esmFiles ,
@@ -124,6 +116,7 @@ export async function buildAction(actionContext: BuildActionContext): Promise<Ex
124116 buildState . previousBundleResults ,
125117 ) ,
126118 diagnosePromise ,
119+ collectedAssets ?? buildState . collectAssets ( options , modifiedFiles ) ,
127120 ] ) ;
128121 } catch ( error ) {
129122 assertIsError ( error ) ;
@@ -160,26 +153,17 @@ export async function buildAction(actionContext: BuildActionContext): Promise<Ex
160153 filesToEmit . push ( ...manifestFiles ) ;
161154 }
162155
163- const collectedAssets = await ( collectedAssetsPromise ??
164- buildState . collectAssets ( options , modifiedFiles ) ) ;
156+ collectedAssets ??= await buildState . collectAssets ( options , modifiedFiles ) ;
165157 filesToEmit . push ( ...collectedAssets . filesToEmit ) ;
166158
167- const emitPromise = emitFilesToDisk ( filesToEmit , ( file ) =>
168- path . posix . join ( options . outputPath , file . path ) ,
169- ) ;
170-
171159 const filesToDelete = buildState . recordEmittedOutputs ( collectedAssets , manifestFiles ) ;
172-
173160 if ( filesToDelete . size ) {
174- await Promise . all ( [
175- emitPromise ,
176- deleteFilesFromDisk (
177- Array . from ( filesToDelete , ( file ) => path . posix . join ( options . outputPath , file ) ) ,
178- ) ,
179- ] ) ;
180- } else {
181- await emitPromise ;
161+ await deleteFilesFromDisk (
162+ Array . from ( filesToDelete , ( file ) => path . posix . join ( options . outputPath , file ) ) ,
163+ ) ;
182164 }
165+
166+ await emitFilesToDisk ( filesToEmit , ( file ) => path . posix . join ( options . outputPath , file . path ) ) ;
183167 } catch ( error ) {
184168 assertIsError ( error ) ;
185169 result . addError ( error . message ) ;
0 commit comments