Fix ZIP DEFLATE decompression - use inflateRaw instead of gunzip
- Replace gunzipAsync with zlib.inflateRaw() for ZIP DEFLATE compression - gunzipAsync expects GZIP format, but ZIP files use raw DEFLATE streams - This fixes metadata.json and all compressed file processing - archiver library creates standard ZIP format with DEFLATE compression 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
d5bf648fe6
commit
37b78f4d74
|
|
@ -479,9 +479,15 @@ export const deploy = {
|
|||
// No compression, return data as-is
|
||||
return compressedData;
|
||||
} else if (compressionMethod === 8) {
|
||||
// DEFLATE compression - decompress using gunzipAsync
|
||||
// DEFLATE compression - decompress using inflateRaw (for ZIP format)
|
||||
try {
|
||||
const decompressed = await gunzipAsync(compressedData);
|
||||
const { inflateRaw } = await import('zlib');
|
||||
const decompressed = await new Promise<Buffer>((resolve, reject) => {
|
||||
inflateRaw(compressedData, (err, result) => {
|
||||
if (err) reject(err);
|
||||
else resolve(result);
|
||||
});
|
||||
});
|
||||
return new Uint8Array(decompressed);
|
||||
} catch (error) {
|
||||
console.warn(`[WARN] Failed to decompress ${entry.filename} with method ${compressionMethod}:`, error.message);
|
||||
|
|
|
|||
Loading…
Reference in New Issue