Skip to content

Commit eb54820

Browse files
committed
Add support for .tar.zst
1 parent 84a8c10 commit eb54820

File tree

4 files changed

+10
-0
lines changed

4 files changed

+10
-0
lines changed

fixtures/file.tar.zst

2.1 KB
Binary file not shown.

index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ const fs = require('graceful-fs');
44
const decompressTar = require('decompress-tar');
55
const decompressTarbz2 = require('decompress-tarbz2');
66
const decompressTargz = require('decompress-targz');
7+
const decompressTarzst = require('@xingrz/decompress-tarzst').default;
78
const decompressUnzip = require('decompress-unzip');
89
const makeDir = require('make-dir');
910
const pify = require('pify');
@@ -142,6 +143,7 @@ module.exports = (input, output, opts) => {
142143
decompressTar(),
143144
decompressTarbz2(),
144145
decompressTargz(),
146+
decompressTarzst(),
145147
decompressUnzip()
146148
]}, opts);
147149

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,12 @@
2626
"tar",
2727
"tar.bz",
2828
"tar.gz",
29+
"tar.zst",
2930
"zip",
3031
"unzip"
3132
],
3233
"dependencies": {
34+
"@xingrz/decompress-tarzst": "^1.2.0",
3335
"decompress-tar": "^4.0.0",
3436
"decompress-tarbz2": "^4.0.0",
3537
"decompress-targz": "^4.0.0",

test.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ test('extract file', async t => {
2424
const tarFiles = await m(path.join(__dirname, 'fixtures', 'file.tar'));
2525
const tarbzFiles = await m(path.join(__dirname, 'fixtures', 'file.tar.bz2'));
2626
const targzFiles = await m(path.join(__dirname, 'fixtures', 'file.tar.gz'));
27+
const tarzstFiles = await m(path.join(__dirname, 'fixtures', 'file.tar.zst'));
2728
const zipFiles = await m(path.join(__dirname, 'fixtures', 'file.zip'));
2829

2930
t.is(tarFiles[0].path, 'test.jpg');
@@ -32,6 +33,8 @@ test('extract file', async t => {
3233
t.true(isJpg(tarbzFiles[0].data));
3334
t.is(targzFiles[0].path, 'test.jpg');
3435
t.true(isJpg(targzFiles[0].data));
36+
t.is(tarzstFiles[0].path, 'test.jpg');
37+
t.true(isJpg(tarzstFiles[0].data));
3538
t.is(zipFiles[0].path, 'test.jpg');
3639
t.true(isJpg(zipFiles[0].data));
3740
});
@@ -43,12 +46,15 @@ test('extract file using buffer', async t => {
4346
const tarbzFiles = await m(tarbzBuf);
4447
const targzBuf = await fsP.readFile(path.join(__dirname, 'fixtures', 'file.tar.gz'));
4548
const targzFiles = await m(targzBuf);
49+
const tarzstBuf = await fsP.readFile(path.join(__dirname, 'fixtures', 'file.tar.zst'));
50+
const tarzstFiles = await m(tarzstBuf);
4651
const zipBuf = await fsP.readFile(path.join(__dirname, 'fixtures', 'file.zip'));
4752
const zipFiles = await m(zipBuf);
4853

4954
t.is(tarFiles[0].path, 'test.jpg');
5055
t.is(tarbzFiles[0].path, 'test.jpg');
5156
t.is(targzFiles[0].path, 'test.jpg');
57+
t.is(tarzstFiles[0].path, 'test.jpg');
5258
t.is(zipFiles[0].path, 'test.jpg');
5359
});
5460

0 commit comments

Comments
 (0)