+const { access, constants, mkdir, rm } = require('fs/promises');
+const { kFileNotFoundError } = require('./constants');
+
+// File system utilities
+
+module.exports = {
+ async rmIfExists(location) {
+
+ try {
+ await access(location, constants.F_OK);
+ await rm(location, { recursive: true });
+ }
+ catch (error) {
+ if (error.code === kFileNotFoundError) {
+ return;
+ }
+
+ throw error;
+ }
+ },
+
+ async ensureDirectoryExists(directory) {
+
+ try {
+ await access(directory);
+ }
+ catch (error) {
+ if (error.code === kFileNotFoundError) {
+ await mkdir(directory, { recursive: true });
+ return;
+ }
+
+ throw error;
+ }
+ }
+};