ask-cli
Version:
Alexa Skills Kit (ASK) Command Line Interfaces
45 lines (44 loc) • 1.67 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getProjectFolderName = void 0;
const fs_1 = require("fs");
const inquirer_1 = __importDefault(require("inquirer"));
const string_utils_1 = require("../utils/string-utils");
/**
* To get user's input project folder name
* @param {string} defaultName a default project name
* @param {uiCallback} callback { error, response }
*/
function getProjectFolderName(defaultName, callback) {
inquirer_1.default
.prompt([
{
message: "Please type in your folder name for the skill project (alphanumeric): ",
type: "input",
default: defaultName,
name: "projectFolderName",
validate: (input) => {
if (!input || (0, string_utils_1.filterNonAlphanumeric)(input) === "") {
return 'Project folder name should consist of alphanumeric character(s) plus "-" only.';
}
try {
(0, fs_1.accessSync)(process.cwd(), fs_1.constants.W_OK);
}
catch (error) {
return `No write access inside of the folder: ${process.cwd()}.`;
}
return true;
},
},
])
.then((answer) => {
callback(null, (0, string_utils_1.filterNonAlphanumeric)(answer.projectFolderName));
})
.catch((error) => {
callback(error);
});
}
exports.getProjectFolderName = getProjectFolderName;