diff --git a/packages/core/core/src/RequestTracker.js b/packages/core/core/src/RequestTracker.js index 4be5114b359..4a7f73ac66f 100644 --- a/packages/core/core/src/RequestTracker.js +++ b/packages/core/core/src/RequestTracker.js @@ -150,7 +150,7 @@ export type RunAPI = {| runRequest: ( subRequest: Request, opts?: RunRequestOpts, - ) => Async, + ) => Promise, |}; type RunRequestOpts = {| @@ -885,7 +885,7 @@ export default class RequestTracker { async getRequestResult( contentKey: ContentKey, ifMatch?: string, - ): Async { + ): Promise { let node = nullthrows(this.graph.getNodeByContentKey(contentKey)); invariant(node.type === 'request'); @@ -958,7 +958,7 @@ export default class RequestTracker { async runRequest( request: Request, opts?: ?RunRequestOpts, - ): Async { + ): Promise { let requestId = this.graph.hasContentKey(request.id) ? this.graph.getNodeIdByContentKey(request.id) : undefined; @@ -1068,7 +1068,7 @@ export default class RequestTracker { runRequest: ( subRequest: Request, opts?: RunRequestOpts, - ): Async => { + ): Promise => { subRequestContentKeys.add(subRequest.id); return this.runRequest(subRequest, opts); }, diff --git a/packages/core/core/src/requests/WriteBundlesRequest.js b/packages/core/core/src/requests/WriteBundlesRequest.js index f527c0cb41e..4f12a6cbc62 100644 --- a/packages/core/core/src/requests/WriteBundlesRequest.js +++ b/packages/core/core/src/requests/WriteBundlesRequest.js @@ -113,7 +113,10 @@ async function run({input, api, farm, options}: RunInput) { hashRefToNameHash, bundleGraph, }); - writeEarlyPromises[bundle.id] = api.runRequest(writeBundleRequest); + let promise = api.runRequest(writeBundleRequest); + // If the promise rejects before we await it (below), we don't want to crash the build. + promise.catch(() => {}); + writeEarlyPromises[bundle.id] = promise; } }), );