From df3f1b965a7beee1c7fd26c9861929b21cb1f12b Mon Sep 17 00:00:00 2001 From: Simon Knott Date: Thu, 12 Dec 2024 12:12:26 +0100 Subject: [PATCH] add comment about queueing --- packages/playwright-core/src/utils/tar.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/playwright-core/src/utils/tar.ts b/packages/playwright-core/src/utils/tar.ts index c373253e9f..ecb0b13b74 100644 --- a/packages/playwright-core/src/utils/tar.ts +++ b/packages/playwright-core/src/utils/tar.ts @@ -96,7 +96,10 @@ export class TarExtractor extends Writable { super(); } - override async _write(chunk: Buffer, _encoding: string, callback: (err?: Error) => void) { + override _write(chunk: Buffer, _encoding: string, callback: (err?: Error) => void) { + // we queue parsing because some operations need to be sequential, + // e.g. a directory entry needs to be created on disk + // before we can create the file entry in that directory. this.queue = this.queue.then(() => this._writeImpl(chunk)).then(callback).catch(callback); }