ask-cli-x
Version:
Alexa Skills Kit (ASK) Command Line Interfaces
65 lines (64 loc) • 2.49 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createCommand = void 0;
const abstract_command_1 = require("../abstract-command");
const messenger_1 = __importDefault(require("../../view/messenger"));
const option_model_json_1 = __importDefault(require("../option-model.json"));
const compiler_1 = __importDefault(require("./compiler"));
const cli_error_1 = __importDefault(require("../../exceptions/cli-error"));
const cli_file_not_found_error_1 = __importDefault(require("../../exceptions/cli-file-not-found-error"));
const cli_warn_1 = __importDefault(require("../../exceptions/cli-warn"));
const profile_helper_1 = __importDefault(require("../../utils/profile-helper"));
/**
* ASK Project compile command.
* Compiles the project into raw artifacts.
* Current scope: Alexa Conversations artifacts.
*/
class CompileCommand extends abstract_command_1.AbstractCommand {
name() {
return "compile";
}
description() {
return "compile the skill-package (alexa conversations only).";
}
requiredOptions() {
return [];
}
optionalOptions() {
return ["profile", "skip-validation"];
}
async handle(cmd) {
let profile;
try {
profile = profile_helper_1.default.runtimeProfile(cmd.profile);
}
catch (err) {
messenger_1.default.getInstance().error(err);
throw err;
}
const askCompiler = new compiler_1.default({ profile });
try {
await askCompiler.compile({ rootDir: process.cwd(), skipValidation: cmd.skipValidation });
}
catch (err) {
if (err instanceof cli_warn_1.default) {
messenger_1.default.getInstance().warn(err.message);
}
else if (err instanceof cli_file_not_found_error_1.default) {
messenger_1.default.getInstance().warn(err.message);
}
else if (err instanceof cli_error_1.default) {
messenger_1.default.getInstance().error(err.message);
}
else {
messenger_1.default.getInstance().error(err);
}
throw err;
}
}
}
exports.default = CompileCommand;
exports.createCommand = new CompileCommand(option_model_json_1.default).createCommand();