diff --git a/src/utils/collection.ts b/src/utils/collection.ts index f8d397d7..8c54e85c 100644 --- a/src/utils/collection.ts +++ b/src/utils/collection.ts @@ -6,7 +6,7 @@ export function isCollection(data: unknown): data is Collection { return false } - return data.every(entry => typeof entry === 'object' && entry.path && entry.size) + return data.every(entry => typeof entry === 'object' && entry.path && entry.size !== undefined) } export function assertCollection(data: unknown): asserts data is Collection { diff --git a/src/utils/tar.browser.ts b/src/utils/tar.browser.ts index 680db160..d7c2d57e 100644 --- a/src/utils/tar.browser.ts +++ b/src/utils/tar.browser.ts @@ -25,6 +25,7 @@ export class TarStream { async endFile() { const padding = this.currentFileSize % 512 === 0 ? 0 : 512 - (this.currentFileSize % 512) + if (padding > 0) { this.pieces.push(new Uint8Array(padding)) } diff --git a/src/utils/tar.ts b/src/utils/tar.ts index 045a7c8e..4602b4cf 100644 --- a/src/utils/tar.ts +++ b/src/utils/tar.ts @@ -25,6 +25,7 @@ export class TarStream { async endFile() { const padding = this.currentFileSize % 512 === 0 ? 0 : 512 - (this.currentFileSize % 512) + if (padding > 0) { this.output.write(Buffer.alloc(padding, 0)) }