Skip to content

Commit 7579b47

Browse files
committed
feat: replace "mkdirp" with "utils.mkdir"
1 parent 44eeb53 commit 7579b47

File tree

5 files changed

+11
-17
lines changed

5 files changed

+11
-17
lines changed

packages/mongodb-memory-server-core/src/util/MongoBinary.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
import os from 'os';
22
import path from 'path';
3-
import mkdirp from 'mkdirp';
43
import MongoBinaryDownload from './MongoBinaryDownload';
54
import resolveConfig, { envToBool, ResolveConfigVariables } from './resolveConfig';
65
import debug from 'debug';
76
import * as semver from 'semver';
8-
import { assertion, isNullOrUndefined } from './utils';
7+
import { assertion, isNullOrUndefined, mkdir } from './utils';
98
import { spawnSync } from 'child_process';
109
import { LockFile } from './lockfile';
1110
import { DryMongoBinary, BaseDryMongoBinaryOptions } from './DryMongoBinary';
@@ -30,7 +29,7 @@ export class MongoBinary {
3029
log('download');
3130
const { downloadDir, version } = options;
3231
// create downloadDir
33-
await mkdirp(downloadDir);
32+
await mkdir(downloadDir);
3433

3534
/** Lockfile path */
3635
const lockfile = path.resolve(downloadDir, `${version}.lock`);

packages/mongodb-memory-server-core/src/util/MongoBinaryDownload.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,8 @@ import MongoBinaryDownloadUrl from './MongoBinaryDownloadUrl';
1111
import { HttpsProxyAgent } from 'https-proxy-agent';
1212
import resolveConfig, { envToBool, ResolveConfigVariables } from './resolveConfig';
1313
import debug from 'debug';
14-
import { assertion, pathExists } from './utils';
14+
import { assertion, mkdir, pathExists } from './utils';
1515
import { DryMongoBinary } from './DryMongoBinary';
16-
import mkdirp from 'mkdirp';
1716
import { MongoBinaryOpts } from './MongoBinary';
1817
import { clearLine } from 'readline';
1918
import { Md5CheckFailedError } from './errors';
@@ -152,7 +151,7 @@ export class MongoBinaryDownload {
152151
log('startDownload');
153152
const mbdUrl = new MongoBinaryDownloadUrl(this.binaryOpts);
154153

155-
await mkdirp(this.downloadDir);
154+
await mkdir(this.downloadDir);
156155

157156
try {
158157
await fspromises.access(this.downloadDir, constants.X_OK | constants.W_OK); // check that this process has permissions to create files & modify file contents & read file contents
@@ -277,7 +276,7 @@ export class MongoBinaryDownload {
277276
const mongodbFullPath = await this.getPath();
278277
log(`extract: archive: "${mongoDBArchive}" final: "${mongodbFullPath}"`);
279278

280-
await mkdirp(path.dirname(mongodbFullPath));
279+
await mkdir(path.dirname(mongodbFullPath));
281280

282281
const filter = (file: string) => /(?:bin\/(?:mongod(?:\.exe)?)|(?:.*\.dll))$/i.test(file);
283282

packages/mongodb-memory-server-core/src/util/__tests__/MongoBinaryDownload.test.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { promises as fspromises } from 'fs';
22
import md5file from 'md5-file';
3-
import * as mkdirp from 'mkdirp';
43
import { assertIsError } from '../../__tests__/testUtils/test_utils';
54
import { DryMongoBinary } from '../DryMongoBinary';
65
import { Md5CheckFailedError } from '../errors';
@@ -11,7 +10,6 @@ import { envName, ResolveConfigVariables } from '../resolveConfig';
1110
import * as utils from '../utils';
1211

1312
jest.mock('md5-file');
14-
jest.mock('mkdirp');
1513

1614
describe('MongoBinaryDownload', () => {
1715
afterEach(() => {
@@ -248,7 +246,7 @@ describe('MongoBinaryDownload', () => {
248246
it('should return the mongodb archive path (startDownload)', async () => {
249247
const downloadUrl = 'https://fastdl.mongodb.org/linux/mongod-something-something.tgz';
250248
const archivePath = '/path/to/archive.tgz';
251-
jest.spyOn(mkdirp, 'default').mockResolvedValue(void 0);
249+
jest.spyOn(utils, 'mkdir').mockResolvedValue(void 0);
252250
jest.spyOn(fspromises, 'access').mockResolvedValue(void 0);
253251
jest.spyOn(MongoBinaryDownloadUrl.prototype, 'getDownloadUrl').mockResolvedValue(downloadUrl);
254252

@@ -264,7 +262,7 @@ describe('MongoBinaryDownload', () => {
264262

265263
it('should return the mongodb archive path (startDownload)', async () => {
266264
const customError = new Error('custom fs error');
267-
jest.spyOn(mkdirp, 'default').mockResolvedValue(void 0);
265+
jest.spyOn(utils, 'mkdir').mockResolvedValue(void 0);
268266
jest.spyOn(fspromises, 'access').mockRejectedValue(customError);
269267
jest.spyOn(console, 'error').mockImplementation(() => void 0);
270268

packages/mongodb-memory-server-core/src/util/__tests__/dryBinary.test.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import * as tmp from 'tmp';
44
import { constants, promises as fspromises } from 'fs';
55
import { envName, ResolveConfigVariables } from '../resolveConfig';
66
import * as utils from '../utils';
7-
import mkdirp from 'mkdirp';
87
import { LinuxOS, OtherOS } from '../getos';
98
import { NoRegexMatchError, NoSystemBinaryFoundError, ParseArchiveRegexError } from '../errors';
109
import { assertIsError } from '../../__tests__/testUtils/test_utils';
@@ -70,9 +69,9 @@ describe('DryBinary', () => {
7069

7170
// Create all directories
7271
{
73-
await mkdirp(path.resolve(tmpDir.name, 'node_modules/mongodb-memory-server')); // mock being in an postinstall directory path
74-
await mkdirp(path.resolve(tmpDir.name, 'node_modules/.cache')); // mock having an local modules cache
75-
await mkdirp(path.resolve(tmpDir.name, 'homedir/.cache/mongodb-binaries')); // mock having an "legacy" global directory
72+
await utils.mkdir(path.resolve(tmpDir.name, 'node_modules/mongodb-memory-server')); // mock being in an postinstall directory path
73+
await utils.mkdir(path.resolve(tmpDir.name, 'node_modules/.cache')); // mock having an local modules cache
74+
await utils.mkdir(path.resolve(tmpDir.name, 'homedir/.cache/mongodb-binaries')); // mock having an "legacy" global directory
7675
await fspromises.writeFile(path.resolve(tmpDir.name, 'package.json'), '');
7776
}
7877
});

packages/mongodb-memory-server-core/src/util/lockfile.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import { EventEmitter } from 'events';
22
import * as utils from './utils';
33
import debug from 'debug';
44
import * as path from 'path';
5-
import mkdirp from 'mkdirp';
65
import { promises as fspromises } from 'fs';
76
import { Mutex } from 'async-mutex';
87
import { v4 as uuidv4 } from 'uuid';
@@ -210,7 +209,7 @@ export class LockFile {
210209
throw new RepeatError(true);
211210
}
212211

213-
await mkdirp(path.dirname(file));
212+
await utils.mkdir(path.dirname(file));
214213

215214
await fspromises.writeFile(file, `${process.pid.toString()} ${uuid}`);
216215

0 commit comments

Comments
 (0)