Skip to content

Commit c498e22

Browse files
committed
fix(MongoMemoryServer): resolve nodejs warning "DEP0147"
1 parent cbdf138 commit c498e22

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

packages/mongodb-memory-server-core/src/MongoMemoryServer.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -539,16 +539,22 @@ export class MongoMemoryServer extends EventEmitter implements ManagerAdvanced {
539539
} else {
540540
assertion(res.isDirectory(), new Error('Defined dbPath is not an directory'));
541541

542+
// exclusive semver versions are used here (yes "lt" not "lte")
542543
if (lt(process.version, '12.10.0')) {
544+
// this has to be used for below 12.10 (exclusive), because nodejs did not have an recursive delete
543545
try {
544546
const rimraf = (await import('rimraf')).sync;
545547
rimraf(dbPath);
546548
} catch (err) {
547549
console.warn('When using NodeJS below 12.10 package "rimraf" is needed');
548550
throw err;
549551
}
550-
} else {
552+
} else if (lt(process.version, '14.14.0')) {
553+
// this has to be used for 12.10 - 14.13 (inclusive) because ".rm" did not exist yet
551554
await fspromises.rmdir(dbPath, { recursive: true, maxRetries: 1 });
555+
} else {
556+
// this has to be used for 14.14+ (inclusive) because ".rmdir" and "recursive" got deprecated (DEP0147)
557+
await fspromises.rm(dbPath, { recursive: true, maxRetries: 1 });
552558
}
553559
}
554560
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -502,7 +502,7 @@ describe('MongoMemoryServer', () => {
502502
await mongoServer.stop(false);
503503
await mongoServer.cleanup(true);
504504
expect(utils.statPath).toHaveBeenCalledTimes(1);
505-
expect(semver.lt).toHaveBeenCalledTimes(1);
505+
expect(semver.lt).toHaveBeenCalled(); // not testing on how many, because it would change with nodejs version
506506
expect(await utils.statPath(dbPath)).toBeUndefined();
507507
expect(mongoServer.state).toEqual(MongoMemoryServerStates.new);
508508
expect(mongoServer.instanceInfo).toBeUndefined();

0 commit comments

Comments
 (0)