"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = generateModuleAsync;
function _path() {
const data = _interopRequireDefault(require("path"));
_path = function () {
return data;
};
return data;
}
function _fsExtra() {
const data = _interopRequireDefault(require("fs-extra"));
_fsExtra = function () {
return data;
};
return data;
}
function _CommandError() {
const data = _interopRequireDefault(require("../../CommandError"));
_CommandError = function () {
return data;
};
return data;
}
function _promptQuestionsAsync() {
const data = _interopRequireDefault(require("./promptQuestionsAsync"));
_promptQuestionsAsync = function () {
return data;
};
return data;
}
function _configureModule() {
const data = _interopRequireDefault(require("./configureModule"));
_configureModule = function () {
return data;
};
return data;
}
function _fetchTemplate() {
const data = _interopRequireDefault(require("./fetchTemplate"));
_fetchTemplate = function () {
return data;
};
return data;
}
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
async function generateModuleAsync(newModuleProjectDir, options) {
const newModulePathFromArgv = newModuleProjectDir && _path().default.resolve(newModuleProjectDir);
const newModuleName = newModulePathFromArgv && _path().default.basename(newModulePathFromArgv);
const newModuleParentPath = newModulePathFromArgv ? _path().default.dirname(newModulePathFromArgv) : process.cwd();
const configuration = await (0, _promptQuestionsAsync().default)(newModuleName);
const newModulePath = _path().default.resolve(newModuleParentPath, configuration.npmModuleName);
if (await _fsExtra().default.exists(newModulePath)) {
throw new (_CommandError().default)('MODULE_ALREADY_EXISTS', `Module '${newModulePath}' already exists!`);
}
await (0, _fetchTemplate().default)(newModulePath, options.template);
await (0, _configureModule().default)(newModulePath, configuration);
}
//# sourceMappingURL=../../__sourcemaps__/commands/generate-module/generateModuleAsync.js.map