Skip to content

Commit d119b6d

Browse files
committed
feat: bump node engines, remove mkdirp
1 parent 0e8b7e5 commit d119b6d

10 files changed

Lines changed: 49 additions & 66 deletions

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ function onEntry(header, stream, next) => {
193193
if (header.type === 'file') {
194194
stream.pipe(fs.createWriteStream(path.join(destDir, header.name)));
195195
} else { // directory
196-
mkdirp(path.join(destDir, header.name), err => {
196+
fs.mkdir(path.join(destDir, header.name), { recursive: true }, err => {
197197
if (err) return handleError(err);
198198
stream.resume();
199199
});

lib/utils.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
const fs = require('fs');
44
const path = require('path');
5-
const mkdirp = require('mkdirp');
65
const { pipeline: pump } = require('stream');
76

87
// file/fileBuffer/stream
@@ -90,7 +89,7 @@ exports.makeUncompressFn = StreamClass => {
9089
}
9190

9291
return new Promise((resolve, reject) => {
93-
mkdirp(destDir, err => {
92+
fs.mkdir(destDir, { recursive: true }, err => {
9493
if (err) return reject(err);
9594

9695
let entryCount = 0;
@@ -113,7 +112,7 @@ exports.makeUncompressFn = StreamClass => {
113112

114113
if (header.type === 'file') {
115114
const dir = path.dirname(destFilePath);
116-
mkdirp(dir, err => {
115+
fs.mkdir(dir, { recursive: true }, err => {
117116
if (err) return reject(err);
118117

119118
entryCount++;
@@ -128,7 +127,7 @@ exports.makeUncompressFn = StreamClass => {
128127
const target = path.resolve(dir, header.linkname);
129128
entryCount++;
130129

131-
mkdirp(dir, err => {
130+
fs.mkdir(dir, { recursive: true }, err => {
132131
if (err) return reject(err);
133132

134133
const relativeTarget = path.relative(dir, target);
@@ -139,7 +138,7 @@ exports.makeUncompressFn = StreamClass => {
139138
});
140139
});
141140
} else { // directory
142-
mkdirp(destFilePath, err => {
141+
fs.mkdir(destFilePath, { recursive: true }, err => {
143142
if (err) return reject(err);
144143
stream.resume();
145144
});

package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@
4343
"flushwritable": "^1.0.0",
4444
"get-ready": "^1.0.0",
4545
"iconv-lite": "^0.5.0",
46-
"mkdirp": "^0.5.1",
4746
"streamifier": "^0.1.1",
4847
"tar-stream": "^1.5.2",
4948
"yazl": "^2.4.2"
@@ -61,6 +60,6 @@
6160
"uuid": "^3.0.1"
6261
},
6362
"engines": {
64-
"node": ">= 10.0.0"
63+
"node": ">= 18.0.0"
6564
}
6665
}

test/tar/index.test.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ const uuid = require('uuid');
88
const compressing = require('../..');
99
const assert = require('assert');
1010
const dircompare = require('dir-compare');
11-
const mkdirp = require('mz-modules/mkdirp');
1211

1312
describe('test/tar/index.test.js', () => {
1413
afterEach(mm.restore);
@@ -108,7 +107,7 @@ describe('test/tar/index.test.js', () => {
108107
assert(fs.existsSync(destFile));
109108

110109
const destDir = path.join(os.tmpdir(), uuid.v4());
111-
await mkdirp(destDir);
110+
await fs.promises.mkdir(destDir, { recursive: true });
112111
await compressing.tar.uncompress(destFile, destDir);
113112
const stat = fs.statSync(path.join(destDir, 'bin'));
114113
assert(stat.mode === originStat.mode);

test/tar/uncompress_stream.test.js

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ const os = require('os');
44
const path = require('path');
55
const uuid = require('uuid');
66
const assert = require('assert');
7-
const mkdirp = require('mkdirp');
87
const { pipeline: pump } = require('stream');
98
const dircompare = require('dir-compare');
109
const streamifier = require('streamifier');
@@ -22,7 +21,7 @@ describe('test/tar/uncompress_stream.test.js', () => {
2221
const destDir = path.join(os.tmpdir(), uuid.v4());
2322

2423
const uncompressStream = new compressing.tar.UncompressStream();
25-
mkdirp.sync(destDir);
24+
fs.mkdirSync(destDir, { recursive: true });
2625
pump(sourceStream, uncompressStream, err => {
2726
assert(!err);
2827
const res = dircompare.compareSync(originalDir, path.join(destDir, 'xxx'));
@@ -39,7 +38,7 @@ describe('test/tar/uncompress_stream.test.js', () => {
3938
.then(next)
4039
.catch(done);
4140
} else { // directory
42-
mkdirp(path.join(destDir, header.name), err => {
41+
fs.mkdir(path.join(destDir, header.name), { recursive: true }, err => {
4342
if (err) return done(err);
4443
stream.resume();
4544
});
@@ -52,7 +51,7 @@ describe('test/tar/uncompress_stream.test.js', () => {
5251
const destDir = path.join(os.tmpdir(), uuid.v4());
5352

5453
const uncompressStream = new compressing.tar.UncompressStream({ source: sourceFile });
55-
mkdirp.sync(destDir);
54+
fs.mkdirSync(destDir, { recursive: true });
5655

5756
uncompressStream.on('finish', () => {
5857
const res = dircompare.compareSync(originalDir, path.join(destDir, 'xxx'));
@@ -69,7 +68,7 @@ describe('test/tar/uncompress_stream.test.js', () => {
6968
.then(next)
7069
.catch(done);
7170
} else { // directory
72-
mkdirp(path.join(destDir, header.name), err => {
71+
fs.mkdir(path.join(destDir, header.name), { recursive: true }, err => {
7372
if (err) return done(err);
7473
stream.resume();
7574
});
@@ -83,7 +82,7 @@ describe('test/tar/uncompress_stream.test.js', () => {
8382
const destDir = path.join(os.tmpdir(), uuid.v4());
8483

8584
const uncompressStream = new compressing.tar.UncompressStream({ source: sourceBuffer });
86-
mkdirp.sync(destDir);
85+
fs.mkdirSync(destDir, { recursive: true });
8786

8887
uncompressStream.on('finish', () => {
8988
const res = dircompare.compareSync(originalDir, path.join(destDir, 'xxx'));
@@ -103,7 +102,7 @@ describe('test/tar/uncompress_stream.test.js', () => {
103102
.then(next)
104103
.catch(done);
105104
} else { // directory
106-
mkdirp(path.join(destDir, header.name), err => {
105+
fs.mkdir(path.join(destDir, header.name), err => {
107106
if (err) return done(err);
108107
stream.resume();
109108
});
@@ -117,7 +116,7 @@ describe('test/tar/uncompress_stream.test.js', () => {
117116
const destDir = path.join(os.tmpdir(), uuid.v4());
118117

119118
const uncompressStream = new compressing.tar.UncompressStream({ source: sourceStream });
120-
mkdirp.sync(destDir);
119+
fs.mkdirSync(destDir, { recursive: true });
121120

122121
uncompressStream.on('finish', () => {
123122
const res = dircompare.compareSync(originalDir, path.join(destDir, 'xxx'));
@@ -134,7 +133,7 @@ describe('test/tar/uncompress_stream.test.js', () => {
134133
.then(next)
135134
.catch(done);
136135
} else { // directory
137-
mkdirp(path.join(destDir, header.name), err => {
136+
fs.mkdir(path.join(destDir, header.name), { recursive: true }, err => {
138137
if (err) return done(err);
139138
stream.resume();
140139
});

test/tgz/index.test.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ const path = require('path');
44
const uuid = require('uuid');
55
const assert = require('assert');
66
const dircompare = require('dir-compare');
7-
const mkdirp = require('mz-modules/mkdirp');
87
const compressing = require('../..');
98

109
const isWindows = os.platform() === 'win32';
@@ -68,7 +67,7 @@ describe('test/tgz/index.test.js', () => {
6867
assert(fs.existsSync(destFile));
6968

7069
const destDir = path.join(os.tmpdir(), uuid.v4());
71-
await mkdirp(destDir);
70+
await fs.promises.mkdir(destDir, { recursive: true });
7271
await compressing.tgz.uncompress(destFile, destDir);
7372
const stat = fs.statSync(path.join(destDir, 'bin'));
7473
assert(stat.mode);

test/tgz/uncompress_stream.test.js

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ const os = require('os');
44
const path = require('path');
55
const uuid = require('uuid');
66
const assert = require('assert');
7-
const mkdirp = require('mkdirp');
87
const { pipeline: pump } = require('stream');
98
const dircompare = require('dir-compare');
109
const { pipelinePromise } = require('../util');
@@ -21,7 +20,7 @@ describe('test/tgz/uncompress_stream.test.js', () => {
2120
const destDir = path.join(os.tmpdir(), uuid.v4());
2221

2322
const uncompressStream = new compressing.tgz.UncompressStream();
24-
mkdirp.sync(destDir);
23+
fs.mkdirSync(destDir, { recursive: true });
2524
pump(sourceStream, uncompressStream, err => {
2625
console.error(err);
2726
assert(!err);
@@ -39,7 +38,7 @@ describe('test/tgz/uncompress_stream.test.js', () => {
3938
.then(next)
4039
.catch(done);
4140
} else { // directory
42-
mkdirp(path.join(destDir, header.name), err => {
41+
fs.mkdir(path.join(destDir, header.name), { recursive: true }, err => {
4342
if (err) return done(err);
4443
stream.resume();
4544
});
@@ -52,7 +51,7 @@ describe('test/tgz/uncompress_stream.test.js', () => {
5251
const destDir = path.join(os.tmpdir(), uuid.v4());
5352

5453
const uncompressStream = new compressing.tgz.UncompressStream({ source: sourceFile });
55-
mkdirp.sync(destDir);
54+
fs.mkdirSync(destDir, { recursive: true });
5655

5756
uncompressStream.on('finish', () => {
5857
const res = dircompare.compareSync(originalDir, path.join(destDir, 'xxx'));
@@ -70,7 +69,7 @@ describe('test/tgz/uncompress_stream.test.js', () => {
7069
.then(next)
7170
.catch(done);
7271
} else { // directory
73-
mkdirp(path.join(destDir, header.name), err => {
72+
fs.mkdir(path.join(destDir, header.name), { recursive: true }, err => {
7473
if (err) return done(err);
7574
stream.resume();
7675
});
@@ -84,7 +83,7 @@ describe('test/tgz/uncompress_stream.test.js', () => {
8483
const destDir = path.join(os.tmpdir(), uuid.v4());
8584

8685
const uncompressStream = new compressing.tgz.UncompressStream({ source: sourceBuffer });
87-
mkdirp.sync(destDir);
86+
fs.mkdirSync(destDir, { recursive: true });
8887

8988
uncompressStream.on('finish', () => {
9089
const res = dircompare.compareSync(originalDir, path.join(destDir, 'xxx'));
@@ -101,7 +100,7 @@ describe('test/tgz/uncompress_stream.test.js', () => {
101100
.then(next)
102101
.catch(done);
103102
} else { // directory
104-
mkdirp(path.join(destDir, header.name), err => {
103+
fs.mkdir(path.join(destDir, header.name), { recursive: true }, err => {
105104
if (err) return done(err);
106105
stream.resume();
107106
});
@@ -115,7 +114,7 @@ describe('test/tgz/uncompress_stream.test.js', () => {
115114
const destDir = path.join(os.tmpdir(), uuid.v4());
116115

117116
const uncompressStream = new compressing.tgz.UncompressStream({ source: sourceStream });
118-
mkdirp.sync(destDir);
117+
fs.mkdirSync(destDir, { recursive: true });
119118

120119
uncompressStream.on('finish', () => {
121120
const res = dircompare.compareSync(originalDir, path.join(destDir, 'xxx'));
@@ -135,7 +134,7 @@ describe('test/tgz/uncompress_stream.test.js', () => {
135134
.then(next)
136135
.catch(done);
137136
} else { // directory
138-
mkdirp(path.join(destDir, header.name), err => {
137+
fs.mkdir(path.join(destDir, header.name), { recursive: true }, err => {
139138
if (err) return done(err);
140139
stream.resume();
141140
});

test/util.js

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,5 @@
11
const stream = require('stream');
2-
const { pipeline: pump } = require('stream');
32

4-
// impl promise pipeline on Node.js 14
5-
const pipelinePromise = stream.promises?.pipeline ?? function pipeline(...args) {
6-
return new Promise((resolve, reject) => {
7-
pump(...args, err => {
8-
if (err) return reject(err);
9-
resolve();
10-
});
11-
});
12-
};
3+
const pipelinePromise = stream.promises.pipeline;
134

14-
exports.pipelinePromise = pipelinePromise;
5+
module.exports = { pipelinePromise };

test/zip/index.test.js

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ const fs = require('fs');
22
const os = require('os');
33
const path = require('path');
44
const uuid = require('uuid');
5-
const mkdirp = require('mkdirp');
65
const assert = require('assert');
76
const dircompare = require('dir-compare');
87
const compressing = require('../..');
@@ -25,7 +24,7 @@ describe('test/zip/index.test.js', () => {
2524
it('zip.compressFile(file, stream)', async () => {
2625
const sourceFile = path.join(__dirname, '..', 'fixtures', 'xx.log');
2726
destDir = path.join(os.tmpdir(), uuid.v4());
28-
mkdirp.sync(destDir);
27+
fs.mkdirSync(destDir, { recursive: true });
2928
const destFile = path.join(destDir, uuid.v4() + '.zip');
3029
console.log('dest', destFile);
3130
const fileStream = fs.createWriteStream(destFile);
@@ -36,7 +35,7 @@ describe('test/zip/index.test.js', () => {
3635
it('zip.compressFile(file, stream) should handle error if file not exist', async () => {
3736
const sourceFile = path.join(__dirname, '..', 'fixtures', 'xx.log', 'not_exist');
3837
destDir = path.join(os.tmpdir(), uuid.v4());
39-
mkdirp.sync(destDir);
38+
fs.mkdirSync(destDir, { recursive: true });
4039
const destFile = path.join(destDir, uuid.v4() + '.zip');
4140
console.log('dest', destFile);
4241
const fileStream = fs.createWriteStream(destFile);
@@ -52,7 +51,7 @@ describe('test/zip/index.test.js', () => {
5251
it('zip.compressFile(file, destStream) should error if destStream emit error', async () => {
5352
const sourceFile = path.join(__dirname, '..', 'fixtures', 'xx.log');
5453
destDir = path.join(os.tmpdir(), uuid.v4());
55-
mkdirp.sync(destDir);
54+
fs.mkdirSync(destDir, { recursive: true });
5655
const destFile = path.join(destDir, uuid.v4() + '.zip');
5756
const fileStream = fs.createWriteStream(destFile);
5857
setImmediate(() => fileStream.emit('error', new Error('xx')));
@@ -69,7 +68,7 @@ describe('test/zip/index.test.js', () => {
6968
const sourceFile = path.join(__dirname, '..', 'fixtures', 'xx.log');
7069
const sourceBuffer = fs.readFileSync(sourceFile);
7170
destDir = path.join(os.tmpdir(), uuid.v4());
72-
mkdirp.sync(destDir);
71+
fs.mkdirSync(destDir, { recursive: true });
7372
const destFile = path.join(destDir, uuid.v4() + '.zip');
7473
console.log('dest', destFile);
7574
const fileStream = fs.createWriteStream(destFile);
@@ -81,7 +80,7 @@ describe('test/zip/index.test.js', () => {
8180
const sourceFile = path.join(__dirname, '..', 'fixtures', 'xx.log');
8281
const sourceStream = fs.createReadStream(sourceFile);
8382
destDir = path.join(os.tmpdir(), uuid.v4());
84-
mkdirp.sync(destDir);
83+
fs.mkdirSync(destDir, { recursive: true });
8584
const destFile = path.join(destDir, uuid.v4() + '.zip');
8685
console.log('dest', destFile);
8786
const fileStream = fs.createWriteStream(destFile);
@@ -94,7 +93,7 @@ describe('test/zip/index.test.js', () => {
9493
it('zip.compressDir(dir, destFile)', async () => {
9594
const sourceDir = path.join(__dirname, '..', 'fixtures');
9695
destDir = path.join(os.tmpdir(), uuid.v4());
97-
mkdirp.sync(destDir);
96+
fs.mkdirSync(destDir, { recursive: true });
9897
const destFile = path.join(destDir, uuid.v4() + '.zip');
9998
console.log('dest', destFile);
10099
await compressing.zip.compressDir(sourceDir, destFile);
@@ -104,7 +103,7 @@ describe('test/zip/index.test.js', () => {
104103
it('zip.compressDir(dir, destStream)', async () => {
105104
const sourceDir = path.join(__dirname, '..', 'fixtures');
106105
destDir = path.join(os.tmpdir(), uuid.v4());
107-
mkdirp.sync(destDir);
106+
fs.mkdirSync(destDir, { recursive: true });
108107
const destFile = path.join(destDir, uuid.v4() + '.zip');
109108
const destStream = fs.createWriteStream(destFile);
110109
console.log('dest', destFile);
@@ -115,7 +114,7 @@ describe('test/zip/index.test.js', () => {
115114
it('zip.compressDir(dir, destStream, { ignoreBase: true })', async () => {
116115
const sourceDir = path.join(__dirname, '..', 'fixtures');
117116
destDir = path.join(os.tmpdir(), uuid.v4());
118-
mkdirp.sync(destDir);
117+
fs.mkdirSync(destDir, { recursive: true });
119118
const destFile = path.join(destDir, uuid.v4() + '.zip');
120119
const destStream = fs.createWriteStream(destFile);
121120
console.log('dest', destFile);
@@ -126,7 +125,7 @@ describe('test/zip/index.test.js', () => {
126125
it('zip.compressDir(dir, destStream) should return promise', async () => {
127126
const sourceDir = path.join(__dirname, '..', 'fixtures');
128127
destDir = path.join(os.tmpdir(), uuid.v4());
129-
mkdirp.sync(destDir);
128+
fs.mkdirSync(destDir, { recursive: true });
130129
const destFile = path.join(destDir, uuid.v4() + '.zip');
131130
console.log('dest', destFile);
132131
await compressing.zip.compressDir(sourceDir, destFile);
@@ -136,7 +135,7 @@ describe('test/zip/index.test.js', () => {
136135
it('zip.compressDir(dir, destStream) should reject when destStream emit error', async () => {
137136
const sourceDir = path.join(__dirname, '..', 'fixtures');
138137
destDir = path.join(os.tmpdir(), uuid.v4());
139-
mkdirp.sync(destDir);
138+
fs.mkdirSync(destDir, { recursive: true });
140139
const destFile = path.join(destDir, uuid.v4() + '.zip');
141140
const destStream = fs.createWriteStream(destFile);
142141
setImmediate(() => {
@@ -286,7 +285,7 @@ describe('test/zip/index.test.js', () => {
286285
assert(fs.existsSync(destFile));
287286

288287
destDir = path.join(os.tmpdir(), uuid.v4());
289-
mkdirp.sync(destDir);
288+
fs.mkdirSync(destDir, { recursive: true });
290289
await compressing.zip.uncompress(destFile, destDir);
291290
const stat = fs.statSync(path.join(destDir, 'bin'));
292291
assert(stat.mode === originStat.mode);

0 commit comments

Comments
 (0)