You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
870 B

// Native
const os = require('os');
const path = require('path');
const checkPath = async dir => {
if (!dir) {
return;
}
const home = os.homedir();
let location;
const paths = {
home,
desktop: path.join(home, 'Desktop'),
downloads: path.join(home, 'Downloads')
};
for (const locationPath in paths) {
if (!{}.hasOwnProperty.call(paths, locationPath)) {
continue;
}
if (dir === paths[locationPath]) {
location = locationPath;
}
}
if (!location) {
return;
}
let locationName;
switch (location) {
case 'home':
locationName = 'user directory';
break;
case 'downloads':
locationName = 'downloads directory';
break;
default:
locationName = location;
}
throw new Error(`You're trying to deploy your ${locationName}.`);
};
module.exports = checkPath;