From d3f282a164e44f54678cdb45aad7a09c8a92b89e Mon Sep 17 00:00:00 2001 From: Ruben Beltran del Rio Date: Fri, 9 Dec 2022 22:18:26 +0100 Subject: Remove force rms and dependency on ncp --- lib/utils.js | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 lib/utils.js (limited to 'lib/utils.js') diff --git a/lib/utils.js b/lib/utils.js new file mode 100644 index 0000000..24b9407 --- /dev/null +++ b/lib/utils.js @@ -0,0 +1,36 @@ +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; + } + } +}; -- cgit